TLS1.3抓包分析(2)——ServerHello


繼續(xù)上次的報文分析,這次主要內容是TLS握手中的ServerHello消息领突。

SververHello

首先是記錄層(Record Layer)內容荐健,Content Type表示內容類型為握手(Handshake)酱畅,Version表示版本為TLS1.2,接下來是長度(Length)江场。
后面是握手協議部分的內容圣贸,我將逐個解釋(其實大部分都和ClientHello的內容類似):
Handshake Type:ServerHello,表示握手消息類型扛稽,此處是ServerHello吁峻。
Length:118,表示ServerHello的長度。
Version:TLS1.2(0x0303)在张,表示版本號為1.2用含。在TLS1.3的草案當中規(guī)定此處必須置為0x0303,即TLS1.2帮匾,起到向后兼容的作用啄骇。1.3版本用來協商版本號的部分在擴展當中,而之前的版本就在此處進行瘟斜。
Random缸夹,隨機數,由服務器生成螺句,必須獨立于ClientHello.random的生成(即客戶端和服務器的隨機數是分別獨立生成的)虽惭。
Session ID Length:會話ID的長度。
Session ID蛇尚,會話ID芽唇,TLS 1.3之前的版本支持“會話恢復”功能,該功能已與1.3版本中的預共享密鑰合并取劫。為了兼容以前的版本匆笤,該字段必須是非空的研侣,因此不提供TLS 1.3之前會話的客戶端必須生成一個新的32字節(jié)值。該值不必是隨機的炮捧,但應該是不可預測的庶诡,以避免實現固定在特定值。
Cipher Suites Length,即下面Cipher Suites的長度咆课。
Cipher Suites:密碼套件,此處為TLS_AES_128_GCM_SHA256,服務器從ClientHello.cipher_suites的列表中選擇的單個密碼套件末誓。
Compression Methods:壓縮方法,TLS1.3中未涉及,所以固定長度為1傀蚌,內容為空基显。
后面是擴展(Extensions)的內容,ServerHello的擴展只包括了兩個內容,共享密鑰和所支持的版本:
key_share:共享密鑰,如圖
key_share

這里的類型跟長度不再解釋,Key Share Entry中只包含了一個曲線組x25519(從ClientHello.key_share選擇的結果),在Key Exchange中包含的就是相關參數蘸吓。
supported_versions:服務器所支持的TLS版本號,進行版本號的協商善炫,如圖:
supported_versions

此處是服務器在ClientHello.Versions上的選擇,此處服務器選擇了1.3版本库继。
當使用帶有(EC)DHE密鑰建立的PSK時,當前的ServerHello消息需包含 “pre_shared_key”和“key_share”擴展,其他擴展將在EncryptedExtensions消息中單獨發(fā)送箩艺。
TLS 1.3具有嵌入在服務器隨機值中的降級保護機制,響應ClientHello并協商TLS 1.2或更低版本的TLS時宪萄,服務器必須專門設置其Random值的最后8個字節(jié)艺谆。
如果協商TLS 1.2,TLS 1.3服務器必須將其Random值的最后八個字節(jié)設置為字節(jié):
44 4F 57 4E 47 52 44 01
如果協商TLS 1.1或更低版本拜英,TLS 1.3服務器必須和TLS 1.2服務器應該將其Random值的最后8個字節(jié)設置為字節(jié):
44 4F 57 4E 47 52 44 00
客戶端接收到ServerHello之后也將對隨機數中的這8個字節(jié)進行檢查静汤,如果不匹配將會利用警報協議停止握手。
這里在ServerHello后面還有一點內容居凶,即Change Cipher Spec虫给,如圖:
Change Cipher Spec

Change Cipher Spec的目的是為了告知客戶端,之后的消息將會加密傳輸侠碧;在1.2及之前的版本中都包含Change Cipher Spec抹估,所以在TLS1.3中為了保證兼容性,也保留了這一部分弄兜。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末药蜻,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子替饿,更是在濱河造成了極大的恐慌语泽,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件视卢,死亡現場離奇詭異湿弦,居然都是意外死亡,警方通過查閱死者的電腦和手機腾夯,發(fā)現死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門颊埃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蔬充,“玉大人,你說我怎么就攤上這事班利〖⒙” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵罗标,是天一觀的道長庸队。 經常有香客問我,道長闯割,這世上最難降的妖魔是什么彻消? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮宙拉,結果婚禮上宾尚,老公的妹妹穿的比我還像新娘。我一直安慰自己谢澈,他們只是感情好煌贴,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锥忿,像睡著了一般牛郑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上敬鬓,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天淹朋,我揣著相機與錄音,去河邊找鬼钉答。 笑死础芍,一個胖子當著我的面吹牛,可吹牛的內容都是我干的希痴。 我是一名探鬼主播者甲,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼砌创!你這毒婦竟也來了虏缸?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤嫩实,失蹤者是張志新(化名)和其女友劉穎刽辙,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體甲献,經...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡宰缤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慨灭。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡朦乏,死狀恐怖,靈堂內的尸體忽然破棺而出氧骤,到底是詐尸還是另有隱情呻疹,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布筹陵,位于F島的核電站刽锤,受9級特大地震影響,放射性物質發(fā)生泄漏朦佩。R本人自食惡果不足惜并思,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望语稠。 院中可真熱鬧宋彼,春花似錦、人聲如沸颅筋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽议泵。三九已至,卻和暖如春桃熄,著一層夾襖步出監(jiān)牢的瞬間先口,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工瞳收, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留碉京,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓螟深,卻偏偏與公主長得像谐宙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子界弧,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內容