官术网_书友最值得收藏!

1.11 PKI體系

公開密鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI),又稱公開密鑰基礎(chǔ)架構(gòu)、公鑰基礎(chǔ)設(shè)施或公鑰基礎(chǔ)架構(gòu)。PKI是軟件和硬件及管理政策與流程組成的基礎(chǔ)架構(gòu),其目的在于有效地對數(shù)字證書進行創(chuàng)造、分配、使用、存儲和撤銷。PKI能夠為所有的網(wǎng)絡(luò)應(yīng)用提供加密和數(shù)字簽名等密碼服務(wù)需要的密鑰和證書。簡單來說,PKI的主要任務(wù)是在開放環(huán)境中為開放性業(yè)務(wù)提供基于非對稱密鑰密碼技術(shù)的一系列安全服務(wù)。

PKI體系是一種安全體系,通過一系列的手段來保證通信雙方的安全可靠,PKI體系建立在公私鑰基礎(chǔ)之上,是實現(xiàn)安全可靠傳遞消息和身份確認的一個通用框架,并不代表某個特定的密碼學(xué)技術(shù)和流程。實現(xiàn)了PKI體系的平臺可以安全可靠地管理網(wǎng)絡(luò)中用戶的密鑰和證書。目前PKI體系包括多個具體規(guī)范和實現(xiàn),知名的有RSA公司的PKCS(Public Key Cryptography Standards)規(guī)范和OpenSSL開源實現(xiàn)。

PKI體系對于區(qū)塊鏈來說并不是必要的。對于公有鏈來說,CA顯然過于中心化,并不符合公有鏈的設(shè)計思想。但是對于聯(lián)盟鏈或私有鏈來說,多個機構(gòu)可以自建CA或接入現(xiàn)有成熟CA,大大提高了區(qū)塊鏈系統(tǒng)的安全性,也易于對鏈上數(shù)據(jù)進行審計和監(jiān)管。基于這些優(yōu)勢,聯(lián)盟鏈大多都采用PKI體系,其中典型的例子是超級賬本(Hyperledger Fabric)。

PKI體系通過CA將用戶的個人身份與公鑰鏈接在一起,對于每個證書中心來說,用戶的身份必須是唯一的。鏈接關(guān)系由注冊和發(fā)布過程確定,鏈接關(guān)系可以由CA的各種軟件或在人為監(jiān)督下完成。PKI體系如圖1-6所示。

節(jié)點1:被稱為訂閱人或最終實體,是指那些需要證書來提供安全服務(wù)的團體或服務(wù)端節(jié)點。

登記機構(gòu)(Registration Authority,RA):主要完成一些證書簽發(fā)的相關(guān)管理工作。例如,RA首先會對用戶進行必要的身份驗證,然后才會去找CA簽發(fā)證書。在某些情況下,當CA希望在用戶附近建立一個分支機構(gòu)時(如在不同的國家建立當?shù)氐怯浿行模覀円卜QRA為本地登記機構(gòu)(Local Registration Authority,LRA)。實際上,很多CA也執(zhí)行RA的職責。RA確保公鑰和個人身份鏈接,可以防止抵賴。

圖1-6 PKI體系

證書簽名申請(Certificate Signing Request,CSR):一種包含證書簽發(fā)時所需的公鑰、組織信息、個人信息(域名)等資料的文件,需要特別說明的是CRS不含私鑰信息。

證書頒發(fā)機構(gòu)(Certification Authority,CA):是指雙方都信任的證書頒發(fā)機構(gòu)。CA通過線上、線下等多種手段驗證申請者提供信息的真實性,如組織是否存在、企業(yè)是否合法、是否擁有域名的所有權(quán)等,待確認申請者的身份之后再簽發(fā)證書。同時,CA會在線提供其所簽發(fā)證書的最新吊銷信息,這樣信賴方就可以驗證證書是否仍然有效。

證書(Certificate)包含申請者公鑰、申請者的組織信息和個人信息、CA的信息、有效期、證書序列號等信息的明文,同時包含一個簽名(使用散列函數(shù)計算公開的明文信息的信息摘要,然后采用CA的私鑰對信息摘要進行加密,此密文即簽名)。簡單來說,證書=公鑰+申請者與頒發(fā)者信息+簽名。

節(jié)點2:也被稱為證書的信賴方(Relying Party),是指證書的使用者,一般是指那些需要證書驗證的網(wǎng)頁瀏覽器、其他程序及操作系統(tǒng)。信賴方通過維護可信自簽名證書庫來執(zhí)行驗證,這些證書庫中包含某些CA的最終可信證書(信任密鑰)。更廣泛地說,信賴方是指那些需要通過證書在互聯(lián)網(wǎng)上進行安全通信的最終用戶。用戶接收到證書后,讀取證書中的相關(guān)明文信息,采用相同的散列函數(shù)計算得到信息摘要,然后利用對應(yīng)CA的公鑰解密簽名數(shù)據(jù),對比證書的信息摘要,如果一致,則可以確認證書的合法性。驗證證書合法后,還要去查詢證書的吊銷情況。證書超出有效期后會作廢,或者用戶可以主動向CA申請吊銷某證書文件。由于CA無法強制收回已經(jīng)頒發(fā)出去的證書,因此,為了實現(xiàn)證書的作廢,往往還需要維護一個吊銷證書列表(Certificate Revocation List,CRL),用于記錄已經(jīng)吊銷的證書序列號。

證書吊銷列表:一個單獨的文件。該文件包含CA已經(jīng)吊銷的證書序列號(唯一)與吊銷日期,同時該文件包含生效日期和下次更新該文件的時間,當然該文件必然包含CA私鑰的簽名以驗證文件的合法性。證書中一般會包含一個URL地址,通知使用者去哪里下載對應(yīng)的CRL以校驗證書是否吊銷。這種吊銷方式的優(yōu)點是不需要頻繁更新,但是不能及時吊銷證書。因為CRL更新時間一般是幾天,這期間可能已經(jīng)造成了極大損失。

為了方便同步CRL信息,IETF提出了在線證書狀態(tài)協(xié)議(Online Certificate Status Protocol,OCSP):一個實時查詢證書是否吊銷的方式。請求者發(fā)送證書的信息并請求查詢,服務(wù)器返回正常、吊銷或未知中的任何一個狀態(tài)。證書中一般也會包含一個OCSP的URL地址,要求查詢服務(wù)器是否具有良好的性能。部分CA或大部分的CA自簽名證書都是未提供CRL地址或OCSP的,這對于吊銷證書會是一件非常麻煩的事情。

在一個依賴PKI體系的區(qū)塊鏈中,每個節(jié)點既作為數(shù)字證書的訂閱人,又作為數(shù)字證書的信賴方,為其他節(jié)點提供安全服務(wù)的同時信賴其他節(jié)點。

在以超級賬本為代表的聯(lián)盟鏈中依賴PKI體系實現(xiàn)區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點證書的管理,以此來達到對網(wǎng)絡(luò)節(jié)點進行準入的目的。在超級賬本項目中,既允許啟動超級賬本項目提供的Fabric CA,又允許和用戶已有的CA系統(tǒng)進行結(jié)合。

主站蜘蛛池模板: 休宁县| 沙雅县| 改则县| 古交市| 鄄城县| 尖扎县| 亳州市| 津市市| 二连浩特市| 东丰县| 娄底市| 老河口市| 仁布县| 皋兰县| 华亭县| 石嘴山市| 赤城县| 家居| 镇巴县| 雷山县| 平南县| 苏州市| 历史| 于田县| 南乐县| 汝南县| 正镶白旗| 门源| 集安市| 绥阳县| 浮梁县| 峨山| 黄石市| 社会| 永川市| 新安县| 皮山县| 五台县| 延长县| 石泉县| 神池县|