證書和證書鏈
最近一直在研究的東東,這東西說到底,也是依賴於乙個前提
root 證書,所以說很多安全說最終也是個偽命題;只是搞理論的人喜歡
把東西搞複雜,亂扯概念,不講本質。
1. 簡單來說,end-user證書上面幾級證書都是為了保證end-user證書未被篡改,
保證是ca簽發的合法證書,進而保證end-user證書中的公鑰未被篡改。
2. 除了end-user之外,證書被分為root certificates和intermediates certificates。
相應地,ca也分了兩種型別:root cas 和intermediates cas。
首先,ca的組織結構是乙個樹結構,乙個root cas下面包含多個intermediates cas,
而intermediates又可以包含多個intermediates cas。root cas 和 intermediates cas
都可以頒發證書給使用者,頒發的證書分別是rootcertificates和intermediates certificates,
終端使用者用來認證公鑰的證書則被稱為end-user certificates。
3. 我們使用
end-user certificates
來確保加密傳輸資料的公鑰
(public key)
不被篡改,
而又如何確保
end-user certificates
的合法性呢?這個認證過程跟公鑰的認證過程類似,
首先獲取頒布
end-user certificates的ca
的證書,然後驗證
end-user certificates
的signature
。一般來說,
root cas
不會直接頒布
end-user certificates
的,而是授權給多個二級
ca,而二級
ca又可以授權給多個**
ca,這些中間的
ca就是
intermediates cas
,它們才會頒布
拆封證書
所謂證書的拆封,是驗證發行者
ca的公鑰
能否正確解開客戶實體證書中的「發行者的數字簽名」。
兩個證書在交換傳遞之後,要進行拆封,看是否能夠拆封。乙個證書或證書鏈的拆封操作,是為了
從中獲得乙個公鑰。可示為x1p?x1<>,這為乙個中綴操作,其左運算元為乙個認證機構的公鑰,
右運算元則為該認證機構所頒發的乙個證書。如果能正確解開,輸出結果為使用者的公鑰
。從證書內容列表中可以看出,證書結構的
最後內容
是認證機構
ca的數字簽名
,即乙個可信任的ca
已經在證書上用自己的私鑰做了簽名。如果用該ca的公鑰就可以拆封乙個使用者實體的證書,那麼,
這個簽名被驗證是正確的。因為它證明了這個證書是由權威的、可信任的認證機構所簽發。因此,
這個實體證書是真實可信的。
5..證書鏈的驗證
所謂證書鏈的驗證,是想通過
證書鏈追溯到可信賴的ca的根(root)。換句話說,要驗證簽發使用者
實體證書的
ca是否是
權威可信
的ca,如cfca。證書鏈驗證的要求是,路徑中每個證書從最終實體到根證書
都是有效的,並且每個證書都要正確地對應發行該證書的權威可信任性ca。操作表示式為 ap?a<>b<>,
指出該操作使用a的公鑰,從b的證書中獲得b的公鑰bp,然後再通過 bp來解封c的證書。操作的最終結果
得到了c的公鑰cp。這就是乙個證書鏈的認證拆封過程。
(1)證書鏈的定義。證書鏈也稱認證鏈,它是最終實體到根證書的一系列證書組成,這個證書鏈的處
理過程是所有根的前輩指向最開始的根證書,即子輩連向父輩。如圖1所示。
(2)從使用者實體證書到root ca的證書鏈確認,其具體的做法如下頁圖2所示。
從以上對比中可以看出:使用者實體證書中的authoritykey identifier擴充套件項certissuer
,即證書簽發者的
甄別名,應當與
ca證書中簽發此證書的ca名稱相匹配,如圖中箭頭所指。即ca證書中的subject name
是使用者實體證書中issuer name的父名
,對上級ca來說又成為子名,ca證書中issuer name
是上一級ca的
名字,成為可信任的鏈狀結構。這樣通過各級實體證書的驗證,逐漸上溯到鏈的終止點——可信任的根ca,
如cfca。
證書鏈 證書校驗
回到證書鏈,在證書認證過程中,由於校驗方,通常為瀏覽器中,繼承的是權威ca機構的根證書,因此對於一些經授權的中間證書,瀏覽器卻識別不了 當然也有部分中間證書可以被識別 因此仔部署https 時,需要構建正確的證書鏈,告訴驗證方,該伺服器證書和它的簽署機構,以及根證書 權威ca機構 之間的關係。在證書...
證書鏈合併
123 4567 891011 1213 combined certificates begin certificate sca end certificate begin certificate mca lower end certificate begin certificate mca upp...
什麼是證書鏈?
證書鏈是什麼鏈麼,能發幣麼?不要懵,證書鏈通常都是公開,不需要保密!此時你是不是感到疑惑,通常我們的證書不都是存在u盾中的麼,怎麼能輕易交給別人?為了說明這些問題,我要講一些概念。本著越基礎,越不好講的原則,我從公鑰演算法講起,還有數字簽名 pki,還要介紹一下區塊鏈 電子證照 密碼機 簽名驗籤伺服...