使用Wireshark連接SSL調(diào)試

來源:www-01.ibm.com/support/docview.wss?uid=swg27050151&aid=1

一、總覽

注:(1)*表示可選或情境相關(guān)的消息

?????? (2)[Change Cipher Spec]不是TLS握手消息但是是獨立的,是一種TLS協(xié)議內(nèi)容類型,用于幫助第三方避免流程停頓。

1、TLS Client Hello

(1)可能是SSL3.0,TLS1.0,TLS1.1,TLS1.2

(2)包含能夠使用的密碼套件列表

(3)包含擴(kuò)展

(4)可能包含SSL會話ID(如果恢復(fù))

2、TLS Server Hello

(1)包含證書公共密鑰

(2)包含期望的密鑰套件

(3)包含密鑰交換

(4)可能請求證書(相互的SSL)

TLS客戶端和服務(wù)器根據(jù)客戶端呈現(xiàn)的密碼套件列表和服務(wù)器端的密碼套件偏好協(xié)商密碼套件。

客戶端和服務(wù)器將協(xié)商加密密鑰,并且客戶端將接受一個SSL會話。

二、完整的TLS握手

1)套接字使用TCP握手進(jìn)行初始化

2)客戶端發(fā)送"client hello"消息

3)服務(wù)器使用"server hello"消息進(jìn)行響應(yīng),并附帶"certificate"和"server hello done"消息

4)客戶端使用"client key exchange",“change cipher spec”和"Encrypted message"消息進(jìn)行響應(yīng)

5)服務(wù)器端使用“change cipher spec”和“encrypted handshakemessage”進(jìn)行響應(yīng)

6)TLS握手完成,并且服務(wù)使用加密數(shù)據(jù)發(fā)送“應(yīng)用層數(shù)據(jù)”

三、TLS客戶端Hello消息-版本信息

TLS Client Hello包含兩個版本信息:

1、記錄層自己的版本信息

2、客戶端 hello自己的版本信息(handshake type中版本信息)

版本信息的不匹配通常不會引起問題(NIST/FIPS服務(wù)器會引起問題)。請記住有效的版本信息是handshake type中版本信息

四、TLS客戶端Hello-密碼套件

以上是客戶端發(fā)送給服務(wù)器端的部分密碼套件列表。在RFC5246的7.4.1.2節(jié)中描述:這是一個由客戶端支持的加密選項,客戶端的首要偏好優(yōu)先(排在第一位)。

五、TLS客戶端HELLO-擴(kuò)展

最后,Client Hello能夠發(fā)送擴(kuò)展。

下面有一些擴(kuò)展將影響服務(wù)器如何進(jìn)行響應(yīng):

1、簽名算法(signature algorithms):將幫助確定客戶端可以接受的證書類型;

2、服務(wù)器名稱指示(server name indiction):如果存在多個可用的證書,用于確定那個證書可用

六、TLS服務(wù)器端Hello-握手協(xié)議

TLS服務(wù)器Hello常常是一個包含多個handshake消息的記錄層,通常被表示為“TLSv1.2 Record layer”

TLS服務(wù)器Hello握手協(xié)議"server hello "通常包含:

1)期望的SSL會話ID

2)期望的密碼套件

3)允許的簽名算法(如果使用客戶端證書認(rèn)證)

七、TLS服務(wù)器Hello消息-證書

TLS服務(wù)器Hello消息將包含一個用于加密的證書公共密鑰

證書記錄包含了客戶端進(jìn)行驗證所需要的所有數(shù)據(jù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容