国产亚洲欧美人成在线,免费视频爱爱太爽了无码,日本免费一区二区三区高清视频 ,国产真实伦对白精彩视频

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標(biāo) 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴

HTTPS協(xié)議的SSL握手過(guò)程

發(fā)表日期:2018-04 文章編輯:小燈 瀏覽次數(shù):2610

HTTPS常被定義為為HTTP over SSL,超文本傳輸安全協(xié)議。
以往HTTP通訊直接使用的明文傳輸,容易被人抓包,破解數(shù)據(jù)包,而HTTPS經(jīng)由HTTP進(jìn)行通信,但利用SSL/TLS來(lái)加密數(shù)據(jù)包。

HTTP的URL由“http://”起始且默認(rèn)使用端口80,
HTTPS的URL由“https://”起始且默認(rèn)使用端口443。

注意:

  • SSL(Secure Socket Layer)是netscape公司設(shè)計(jì)的主要用于web的安全傳輸協(xié)議。這種協(xié)議在WEB上獲得了廣泛的應(yīng)用。
  • IETF機(jī)構(gòu)將SSL作了標(biāo)準(zhǔn)化,即RFC2246,并將其稱為TLS(Transport Layer Security),從技術(shù)上講,TLS1.0與SSL3.0的差別非常微小。

SSL 定義

SSL是一個(gè)介于HTTP協(xié)議與TCP之間的一個(gè)可選層,為數(shù)據(jù)通訊提供安全支持。SSL協(xié)議可分為兩層:

  • SSL記錄協(xié)議(SSL Record Protocol):它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。
  • SSL握手協(xié)議(SSL Handshake Protocol):它建立在SSL記錄協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。

如果用右邊的TCP/IP協(xié)議來(lái)劃分,SSL是屬于應(yīng)用層與傳輸層之間的協(xié)議,如果還是用OSI七層協(xié)議劃分,SSL是屬于表示層與會(huì)話層的。

image.png

SSL握手過(guò)程

SSL協(xié)議的大概原理就是通過(guò)公鑰加密法,也就是說(shuō),客戶端先向服務(wù)器端索要公鑰,然后用公鑰加密信息,服務(wù)器收到密文后,用自己的私鑰解密。

以下是SSL協(xié)議握手的一個(gè)主要過(guò)程,主要分為4個(gè)階段。

  • SSL客戶端(也是TCP的客戶端)在TCP鏈接建立之后,發(fā)出一個(gè)ClientHello來(lái)發(fā)起握手,這個(gè)消息里面包含了
    -- Client支持的SSL協(xié)議版本;
    -- Client生成的隨機(jī)數(shù)c1,稍后用于生成"對(duì)話密鑰";
    -- Client支持的加密方法;
    -- Client支持的壓縮方法;

  • SSL的服務(wù)器端會(huì)回應(yīng)一個(gè)ServerHello,這個(gè)消息里面包含了以下內(nèi)容
    -- Server確認(rèn)使用的加密通信協(xié)議版本;
    --Server生成的隨機(jī)數(shù)s1,稍后用于生成"對(duì)話密鑰";
    -- Server確認(rèn)使用的加密方法;
    -- Server 的SSL證書。

  • Client收到服務(wù)器回應(yīng)以后,首先驗(yàn)證Server的證書是否有效,如果沒問(wèn)題,從證書里面取出Server的公鑰,然后發(fā)送消息給Server,包含以下內(nèi)容
    -- Client生成的隨機(jī)數(shù)c2,需要注意的是,這個(gè)隨機(jī)數(shù)c2是經(jīng)過(guò)Server公鑰加密過(guò)的;
    -- 告知Server 握手結(jié)束

  • Server收到Client消息后,使用私鑰解密Client發(fā)過(guò)來(lái)的第二個(gè)隨機(jī)數(shù),同時(shí)也會(huì)發(fā)送握手結(jié)束的消息給Client。

此時(shí),client和server都持有3個(gè)隨機(jī)數(shù),客戶端和服務(wù)端用商定的算法利用3個(gè)隨機(jī)數(shù)生成一個(gè)對(duì)話秘鑰(session key),隨后的通信就用這個(gè)秘鑰進(jìn)行加密解密。之所以用3個(gè)隨機(jī)數(shù),因?yàn)樽C書是靜態(tài)的,增加隨機(jī)數(shù)可以使得密鑰更加有隨機(jī)性。SSL協(xié)議傳輸過(guò)程中,使用的是由相同的3個(gè)隨機(jī)數(shù)生成的對(duì)話秘鑰(session key),而生成的規(guī)則是client與server商議好的算法,所以這個(gè)對(duì)話秘鑰(session key)是相同的,這個(gè)加密方法稱為對(duì)稱加密。

中間人攻擊

HTTPS通訊也不一定是絕對(duì)安全的,有可能會(huì)被人劫持,通常是中間人攻擊。

服務(wù)器向客戶端發(fā)送公鑰。
攻擊者截獲公鑰,保留在自己手上。
然后攻擊者自己生成一個(gè)【偽造的】公鑰,發(fā)給客戶端。
客戶端收到偽造的公鑰后,生成加密hash值發(fā)給服務(wù)器。
攻擊者獲得加密hash值,用自己的私鑰解密獲得真秘鑰。
同時(shí)生成假的加密hash值,發(fā)給服務(wù)器。
服務(wù)器用私鑰解密獲得假秘鑰。

中間人攻擊一般發(fā)生在SSL握手協(xié)議中,協(xié)商密鑰的時(shí)候(非對(duì)稱加密階段),而且發(fā)生中間人攻擊,也就是代表攻擊方拿到了證書的公鑰和私鑰。一旦會(huì)話初始化完成,開始進(jìn)行數(shù)據(jù)通訊(對(duì)稱加密階段),想要完成中間人攻擊是非常困難的。

防御中間人攻擊的手段是做好證書的校驗(yàn)

參考

http://www.nsfocus.net/index.php?act=magazine&do=view&mid=841
https://www.jianshu.com/p/9c52693a09dc


本頁(yè)內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過(guò)網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學(xué)習(xí)參考,本站不擁有所有權(quán),如您認(rèn)為本網(wǎng)頁(yè)中由涉嫌抄襲的內(nèi)容,請(qǐng)及時(shí)與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會(huì)在5工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://jstctz.cn/20420.html
相關(guān)開發(fā)語(yǔ)言