證書(shū)將標(biāo)識(shí)符與公鑰安全地綁定在一起。當(dāng)計(jì)算機(jī)請(qǐng)求訪問(wèn)網(wǎng)絡(luò)資源時(shí),將根據(jù)計(jì)算機(jī)的標(biāo)識(shí)授予訪問(wèn)權(quán)限。借助證書(shū),訪問(wèn)控制代理可以通過(guò)驗(yàn)證證書(shū)的簽名來(lái)檢測(cè)請(qǐng)求計(jì)算機(jī)的身份是否被偽造或篡改。但是,僅提供有效的證書(shū)是不夠的,因?yàn)槠渌撕苋菀撞东@并使用它。訪問(wèn)控制代理還必須通過(guò)質(zhì)詢-響應(yīng)身份驗(yàn)證控制請(qǐng)求計(jì)算機(jī)是否真正知道與播發(fā)證書(shū)中的公鑰匹配的私鑰。該過(guò)程完全證明了計(jì)算機(jī)的身份,因?yàn)樗借€永遠(yuǎn)不會(huì)透露給其他計(jì)算機(jī)。
現(xiàn)在,讓我們解決證書(shū)信任的啟用問(wèn)題。證書(shū)頒發(fā)機(jī)構(gòu)是相互信任的第三方,可實(shí)現(xiàn)這種信任。證書(shū)頒發(fā)機(jī)構(gòu) (CA) 有兩種類型:封閉網(wǎng)絡(luò)上的私有 CA 和互聯(lián)網(wǎng)上的公共 CA。公共 CA 通過(guò)在互聯(lián)網(wǎng)上建立信任來(lái)開(kāi)展業(yè)務(wù)。如果他們碰巧錯(cuò)誤地頒發(fā)證書(shū),他們將不信任并被排除在業(yè)務(wù)之外,因此他們往往會(huì)做得很好。私有 CA 由公司的IT 部門(mén)維護(hù)。他們的作用是為公司資產(chǎn)頒發(fā)證書(shū)。根據(jù)定義,這些 CA 必然是受信任的。
CA 正在頒發(fā)證書(shū)。證書(shū)頒發(fā)是計(jì)算機(jī)注冊(cè)過(guò)程的一部分,其工作原理如下:
請(qǐng)求者(要注冊(cè)的計(jì)算機(jī))已經(jīng)擁有公鑰和相應(yīng)的私鑰,如博客 1 中所述
證書(shū)申請(qǐng)者生成“CSR”,又名證書(shū)簽名請(qǐng)求。CSR 包含請(qǐng)求者的聲明身份(計(jì)算機(jī)名稱、IP 地址、服務(wù)器 URL)及其公鑰。CSR 是使用請(qǐng)求者的私鑰“自簽名”的。
CA 確保請(qǐng)求者的身份(此過(guò)程取決于頒發(fā)策略)
CA 從 CSR 創(chuàng)建證書(shū)(與 CSR 的內(nèi)容基本相同,具有 CA 標(biāo)識(shí)和其他技術(shù)信息等附加屬性,以幫助解釋證書(shū)本身)
CA 使用 CA 的私有簽名密鑰對(duì)證書(shū)進(jìn)行簽名,并將簽名附加到證書(shū)
證書(shū)的使用者現(xiàn)在可以使用 CA 證書(shū)中找到的 CA 公鑰來(lái)驗(yàn)證其有效性。如果數(shù)字簽名有效,則表示身份和公鑰已由受信任的 CA 正式驗(yàn)證。
下圖 [2] 描述了 x.509 證書(shū)的外觀。它是包含技術(shù)數(shù)據(jù)的一系列字段。我們可以清楚地看到頒發(fā)者的身份、證書(shū)持有者的身份以及 CA 頒發(fā)的數(shù)字簽名。
相同的證書(shū) [2],以二進(jìn)制 (DER) 格式編碼:
現(xiàn)在,讓我們看一個(gè) Web 服務(wù)器的證書(shū)頒發(fā)策略示例。當(dāng)公司需要為其 Web 服務(wù)器“www.server.com”提供證書(shū)時(shí),他們可以通過(guò)向 CA 發(fā)送 CSR 從公共 CA 請(qǐng)求證書(shū)。CA 將要求 Web 服務(wù)器所有者在服務(wù)器的根目錄下存放一次性使用令牌(包含隨機(jī)值的文件)。服務(wù)器的合法所有者可以通過(guò)使用文件傳輸協(xié)議(FTP)等方式對(duì)Web服務(wù)器的內(nèi)容進(jìn)行特權(quán)訪問(wèn)來(lái)做到這一點(diǎn)。假設(shè)流氓玩家不能這樣做。然后,CA 嘗試從“www.server.com”獲取此特殊文件。如果成功,則證明CSR來(lái)自服務(wù)器的合法所有者,并頒發(fā)證書(shū)。否則,不會(huì)頒發(fā)證書(shū)。因此,沒(méi)有其他人可以聲稱“www.server.com”身份。
顯然,如果網(wǎng)絡(luò)中的所有計(jì)算機(jī)希望在相互通信時(shí)能夠相互驗(yàn)證其證書(shū),則必須信任相同的 CA。這意味著他們必須使用相同的 CA 證書(shū)來(lái)驗(yàn)證彼此的證書(shū)。事實(shí)上,CA 證書(shū)是自簽名的(實(shí)際的 PKI 可能是相互認(rèn)證的 CA 級(jí)聯(lián),但讓我們暫時(shí)跳過(guò)它)。因此,CA 證書(shū)本質(zhì)上必須是受信任的,因?yàn)樗鼈儧](méi)有經(jīng)過(guò)父 CA 的認(rèn)證(這將是一個(gè)永無(wú)止境的問(wèn)題:誰(shuí)在認(rèn)證父 CA?因此,CA 證書(shū)必須安全地安裝到計(jì)算機(jī)中,使其不能被任意修改。在 Windows 等操作系統(tǒng)上,CA 證書(shū)存儲(chǔ)是一個(gè)安全組件,需要特殊權(quán)限才能修改。同樣,在嵌入式設(shè)備中,CA 證書(shū)必須存儲(chǔ)在具有嚴(yán)格寫(xiě)入訪問(wèn)控制的內(nèi)存中。大多數(shù)情況下,CA 證書(shū)是預(yù)裝的,不容易修改。并且存儲(chǔ)必須不受惡意軟件的影響。如果惡意 CA 可以將其 CA 證書(shū)注入計(jì)算機(jī),則還可以頒發(fā)惡意標(biāo)識(shí)。受惡意 CA 證書(shū)感染的計(jì)算機(jī)將信任這些惡意身份。對(duì)于簡(jiǎn)單的嵌入式設(shè)備,大多數(shù)情況下,將為受控制造環(huán)境中的每個(gè)設(shè)備生成證書(shū),并與CA證書(shū)一起存儲(chǔ)在設(shè)備中。部署后,所有這些設(shè)備將相互接受,因?yàn)樗鼈児蚕硐嗤?CA 并擁有該 CA 頒發(fā)的證書(shū)。
總之,相互信任的 CA 與相互接受的證書(shū)頒發(fā)策略相結(jié)合,允許相互不受信任的各方相互進(jìn)行身份驗(yàn)證。
審核編輯:郭婷
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7654瀏覽量
90654 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9777瀏覽量
87801 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3611瀏覽量
91315
發(fā)布評(píng)論請(qǐng)先 登錄
企業(yè)鴻蒙原生應(yīng)用元服務(wù)備案實(shí)操包名公鑰簽名信息
基于神經(jīng)網(wǎng)絡(luò)混沌吸引子公鑰加密算法的FPGA實(shí)現(xiàn)
松下新推出的基于NTRU公鑰算法的加密芯片
git公鑰、私鑰使用經(jīng)驗(yàn)
mbedTLS設(shè)置已知公鑰根本不驗(yàn)證或使用證書(shū)信息咋辦?
mbedTLS設(shè)置已知公鑰的問(wèn)題求解
基于Chebyshev多項(xiàng)式的公鑰密碼系統(tǒng)算法
基于橢圓曲線的EIGamal加密體制的組合公鑰分析及應(yīng)用
用JAVA語(yǔ)言實(shí)現(xiàn)RSA公鑰密碼算法
常見(jiàn)公鑰加密算法有哪些
公鑰密碼分析簡(jiǎn)介
如何使用生成的公鑰加密數(shù)據(jù)和私鑰解密數(shù)據(jù)
加密貨幣的錢包、公鑰和私鑰你都了解清楚了嗎
EE-385:用公鑰加速器實(shí)現(xiàn)RSA密碼系統(tǒng)

評(píng)論