HTTPS TLS握手中客戶(hù)端驗(yàn)證證書(shū)

數(shù)字證書(shū)和?CA?機(jī)構(gòu)

在說(shuō)校驗(yàn)數(shù)字證書(shū)是否可信的過(guò)程前寡壮,我們先來(lái)看看數(shù)字證書(shū)是什么巾钉,?個(gè)數(shù)字證書(shū)通常包含了:

? ??公鑰惭笑;

? ??持有者信息汞斧;

? ??證書(shū)認(rèn)證機(jī)構(gòu)(CA)的信息滔驶;

? ??CA?對(duì)這份?件的數(shù)字簽名及使?的算法蔽挠;

? ??證書(shū)有效期;

還有?些其他額外信息瓜浸;

那數(shù)字證書(shū)的作?澳淑,是?來(lái)認(rèn)證公鑰持有者的身份,以防?第三?進(jìn)?冒充插佛。說(shuō)簡(jiǎn)單些杠巡,證書(shū)就是?來(lái)告訴客戶(hù)端,該服務(wù)端是否是合法的雇寇,因?yàn)橹挥凶C書(shū)合法氢拥,才代表服務(wù)端身份是可信的。我們?證書(shū)來(lái)認(rèn)證公鑰持有者的身份(服務(wù)端的身份)锨侯,那證書(shū)?是怎么來(lái)的嫩海??該怎么認(rèn)證證書(shū)呢?為了讓服務(wù)端的公鑰被?家信任囚痴,服務(wù)端的證書(shū)都是由?CA?(Certificate Authority叁怪,證書(shū)認(rèn)證機(jī)構(gòu))簽名的,CA就是?絡(luò)世界?的公安局深滚、公證中?奕谭,具有極?的可信度涣觉,所以由它來(lái)給各個(gè)公鑰簽名,信任的??簽發(fā)的證書(shū)血柳,那必然證書(shū)也是被信任的官册。之所以要簽名,是因?yàn)楹灻淖?可以避免中間?在獲取證書(shū)時(shí)對(duì)證書(shū)內(nèi)容的篡改难捌。

如下圖圖所示膝宁,為數(shù)字證書(shū)簽發(fā)和驗(yàn)證流程:

數(shù)字證書(shū)簽發(fā)和驗(yàn)證流

CA?簽發(fā)證書(shū)的過(guò)程,如上圖左邊部分:

?先?CA?會(huì)把持有者的公鑰根吁、?途员淫、頒發(fā)者、有效時(shí)間等信息打成?個(gè)包婴栽,然后對(duì)這些信息進(jìn)??Hash?計(jì)算满粗,得到?個(gè)?Hash?值辈末;然后?CA?會(huì)使???的私鑰將該?Hash?值加密愚争,?成?Certificate Signature,也就是?CA?對(duì)證書(shū)做了簽名挤聘;最后將?Certificate Signature?添加在?件證書(shū)上轰枝,形成數(shù)字證書(shū);

客戶(hù)端校驗(yàn)服務(wù)端的數(shù)字證書(shū)的過(guò)程组去,如上圖右邊部分:

?先客戶(hù)端會(huì)使?同樣的?Hash?算法獲取該證書(shū)的?Hash?值?H1鞍陨;通常瀏覽器和操作系統(tǒng)中集成了?CA?的公鑰信息,瀏覽器收到證書(shū)后可以使??CA?的公鑰解密?CertificateSignature?內(nèi)容从隆,得到?個(gè)?Hash?值?H2?诚撵;最后?較?H1?和?H2,如果值相同键闺,則為可信賴(lài)的證書(shū)寿烟,否則則認(rèn)為證書(shū)不可信。

證書(shū)鏈


但事實(shí)上辛燥,證書(shū)的驗(yàn)證過(guò)程中還存在?個(gè)證書(shū)信任鏈的問(wèn)題筛武,因?yàn)槲覀兿?CA?申請(qǐng)的證書(shū)?般不是根證書(shū)簽發(fā)的,?是由中間證書(shū)簽發(fā)的挎塌,?如百度的證書(shū)徘六,從下圖你可以看到,證書(shū)的層級(jí)有三級(jí):

對(duì)于這種三級(jí)層級(jí)關(guān)系的證書(shū)的驗(yàn)證過(guò)程如下:

? ??客戶(hù)端收到?baidu.com?的證書(shū)后榴都,發(fā)現(xiàn)這個(gè)證書(shū)的簽發(fā)者不是根證書(shū)待锈,就?法根據(jù)本地已有的根證書(shū)中的公鑰去驗(yàn)證?baidu.com?證書(shū)是否可信。于是嘴高,客戶(hù)端根據(jù)?baidu.com?證書(shū)中的簽發(fā)者炉擅,找到該證書(shū)的頒發(fā)機(jī)構(gòu)是?“GlobalSign Organization Validation CA - SHA256 - G2”辉懒,然后向?CA?請(qǐng)求該中間證書(shū)。

? ??請(qǐng)求到證書(shū)后發(fā)現(xiàn)?“GlobalSign Organization Validation CA - SHA256 - G2”?證書(shū)是由?“GlobalSign Root CA”簽發(fā)的谍失,由于?“GlobalSign Root CA”?沒(méi)有再上級(jí)簽發(fā)機(jī)構(gòu)眶俩,說(shuō)明它是根證書(shū),也就是?簽證書(shū)快鱼。應(yīng)?軟件會(huì)檢查此證書(shū)有否已預(yù)載于根證書(shū)清單上颠印,如果有,則可以利?根證書(shū)中的公鑰去驗(yàn)證?“GlobalSignOrganization Validation CA - SHA256 - G2”?證書(shū)抹竹,如果發(fā)現(xiàn)驗(yàn)證通過(guò)线罕,就認(rèn)為該中間證書(shū)是可信的。

? ??“GlobalSign Organization Validation CA - SHA256 - G2”?證書(shū)被信任后窃判,可以使??“GlobalSign OrganizationValidation CA - SHA256 - G2”?證書(shū)中的公鑰去驗(yàn)證?baidu.com?證書(shū)的可信性钞楼,如果驗(yàn)證通過(guò),就可以信任baidu.com?證書(shū)袄琳。

在這四個(gè)步驟中询件,最開(kāi)始客戶(hù)端只信任根證書(shū)?GlobalSign Root CA?證書(shū)的,然后?“GlobalSign Root CA”?證書(shū)信任“GlobalSign Organization Validation CA - SHA256 - G2”?證書(shū)唆樊,??“GlobalSign Organization Validation CA -SHA256 - G2”?證書(shū)?信任?baidu.com?證書(shū)宛琅,于是客戶(hù)端也信任?baidu.com?證書(shū)。

總括來(lái)說(shuō)逗旁,由于?戶(hù)信任?GlobalSign嘿辟,所以由?GlobalSign?所擔(dān)保的?baidu.com?可以被信任,另外由于?戶(hù)信任操作系統(tǒng)或?yàn)g覽器的軟件商片效,所以由軟件商預(yù)載了根證書(shū)的?GlobalSign?都可被信任红伦。


這樣的?層層地驗(yàn)證就構(gòu)成了?條信任鏈路,整個(gè)證書(shū)信任鏈驗(yàn)證流程如下圖所示:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末淀衣,一起剝皮案震驚了整個(gè)濱河市昙读,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舌缤,老刑警劉巖箕戳,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異国撵,居然都是意外死亡陵吸,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)介牙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)壮虫,“玉大人,你說(shuō)我怎么就攤上這事∏羲疲” “怎么了剩拢?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)饶唤。 經(jīng)常有香客問(wèn)我徐伐,道長(zhǎng),這世上最難降的妖魔是什么募狂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任办素,我火速辦了婚禮,結(jié)果婚禮上祸穷,老公的妹妹穿的比我還像新娘性穿。我一直安慰自己,他們只是感情好雷滚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布需曾。 她就那樣靜靜地躺著,像睡著了一般祈远。 火紅的嫁衣襯著肌膚如雪呆万。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,245評(píng)論 1 299
  • 那天绊含,我揣著相機(jī)與錄音桑嘶,去河邊找鬼炊汹。 笑死躬充,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讨便。 我是一名探鬼主播充甚,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼霸褒!你這毒婦竟也來(lái)了伴找?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤废菱,失蹤者是張志新(化名)和其女友劉穎技矮,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體殊轴,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衰倦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旁理。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片樊零。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖孽文,靈堂內(nèi)的尸體忽然破棺而出驻襟,到底是詐尸還是另有隱情夺艰,我是刑警寧澤,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布沉衣,位于F島的核電站郁副,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏豌习。R本人自食惡果不足惜霞势,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斑鸦。 院中可真熱鬧愕贡,春花似錦、人聲如沸巷屿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嘱巾。三九已至憨琳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旬昭,已是汗流浹背篙螟。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留问拘,地道東北人遍略。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像骤坐,于是被迫代替她去往敵國(guó)和親绪杏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容