关于数字证书链的一点认知
顧名思義,證書(shū)鏈?zhǔn)怯梢淮當(dāng)?shù)字證書(shū)鏈接而成,為了弄清楚這個(gè)概念,先看看什么是數(shù)字證書(shū)。
一、數(shù)字證書(shū)的基礎(chǔ)知識(shí)
數(shù)字證書(shū)是用來(lái)認(rèn)證公鑰持有者身份合法性的電子文檔,以防止第三方冒充行為。數(shù)字證書(shū)由 CA(Certifacate Authority) 負(fù)責(zé)簽發(fā),關(guān)鍵內(nèi)容包括 頒發(fā)s者、證書(shū)有效期、使用者組織、使用者公鑰 等信息。數(shù)字證書(shū)涉及到一個(gè)名為 PKI(Public Key Infrastructure) 的規(guī)范體系,包含了數(shù)字證書(shū)格式定義、密鑰生命周期管理、數(shù)字簽名及驗(yàn)證等多項(xiàng)技術(shù)說(shuō)明,不在這篇筆記中詳細(xì)展開(kāi)。
我們借助下面的流程,看看 CA 是如何簽發(fā)一張證書(shū),使用者又是如何驗(yàn)證這樣證書(shū)的。這又涉及到了數(shù)字簽名技術(shù),數(shù)字簽名技術(shù)又是基于公鑰密碼技術(shù)。
現(xiàn)實(shí)世界中,簽名是針對(duì)承諾的一種表現(xiàn)形式,手手段可以通過(guò)手寫(xiě)簽字或蓋扣印章;而在數(shù)字世界中,簽名仍然是為了表示承諾,只是手段變成了二進(jìn)制。
好,我們來(lái)看看 CA 數(shù)字簽名包括兩個(gè)過(guò)程:簽發(fā)證書(shū)(Signing) 和 驗(yàn)證證書(shū)(Verification)
簽發(fā)證書(shū)的過(guò)程
驗(yàn)證證書(shū)的過(guò)程
上述是對(duì)數(shù)字證書(shū)的簽名和驗(yàn)證過(guò)程,對(duì)普通數(shù)據(jù)的數(shù)字簽名和驗(yàn)證也是利用了同樣的方法。
我們?cè)賮?lái)總結(jié)一下“簽發(fā)證書(shū)”與“驗(yàn)證證書(shū)”兩個(gè)過(guò)程,Issuer(CA)使用 Issuer 的私鑰 對(duì)簽發(fā)的證書(shū)進(jìn)行數(shù)字簽名,證書(shū)使用者使用 Issuser 的公鑰 對(duì)證書(shū)進(jìn)行校驗(yàn),如果校驗(yàn)通過(guò),說(shuō)明該證書(shū)可信。
由此看出,校驗(yàn)的關(guān)鍵是 Issuer 的公鑰,使用者獲取不到 Issuer 的私鑰,只能獲取到 Issuer 的公鑰,如果 Issuer 是一個(gè)壞家伙,誰(shuí)來(lái)證明 Issuer 的身份 是可信的?
這就涉及到一個(gè)信任鏈條了,也是這篇筆記本身要講述的事情,證書(shū)鏈。
二、證書(shū)鏈?zhǔn)鞘裁?/h3>
還是以百度為例,在瀏覽器上訪問(wèn) “www.baidu.com” 域名,地址連左側(cè)有一個(gè)小鎖的標(biāo)志,點(diǎn)擊就能查看百度的數(shù)字證書(shū),如下圖所示(使用的是Edge瀏覽器)
在圖片的頂部,我們看到這樣一個(gè)層次關(guān)系:
GlobalSign Root CA -> GlobalSign Organization Validation CA -> baidu.com
這個(gè)層次可以抽象為三個(gè)級(jí)別:
這其實(shí)代表了一個(gè)信任鏈條,最終的目的就是為了保證 end-user 證書(shū)是可信的,該證書(shū)的公鑰也就是可信的。
結(jié)合實(shí)際的使用場(chǎng)景對(duì)證書(shū)鏈進(jìn)行一個(gè)歸納:
說(shuō)到無(wú)條件信任,也不用奇怪,尤瓦爾赫拉里在《人類簡(jiǎn)史》中已經(jīng)闡述過(guò),基于虛構(gòu)故事所建立的信任,最終將人類待到了今天。
還有一個(gè)小問(wèn)題,Root 根證書(shū)從何而來(lái)呢?除了自行下載安裝之外,瀏覽器、操作系統(tǒng)等都會(huì)內(nèi)置一些 Root 根證書(shū),稱之為 Rrusted Root Certificates。比如 Apple MacOS 官網(wǎng)就記錄了操作系統(tǒng)中內(nèi)置的可信任根證書(shū)列表。
macOS High Sierra 中可用的受信任根證書(shū)列表
證書(shū)鏈的基本原理就是這些,有一篇E文專門(mén)講述證書(shū)鏈可供學(xué)習(xí)參考,鏈接如下:What is the SSL Certificate Chain?
數(shù)字證書(shū)是一種普遍使用的身份認(rèn)證方式,而另外一種認(rèn)證方式,基于身份標(biāo)識(shí),也就是和PKI競(jìng)爭(zhēng)的IBC(Identity-Based Cryptography)體系正在興起,學(xué)習(xí)了解中,敬請(qǐng)期待。
持續(xù)學(xué)習(xí),青春永駐!
總結(jié)
以上是生活随笔為你收集整理的关于数字证书链的一点认知的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux 看usb 存储设备,找到哪个
- 下一篇: 实验部分小结:数据集处理部分