区块链系统之《基于区块链的PKI数字证书系统》
摘要 本文提出了一種基于區(qū)塊鏈技術(shù)構(gòu)建PKI數(shù)字證書系統(tǒng)的方法,利用區(qū)塊鏈去中心化、不可篡改等特點(diǎn),解決了傳統(tǒng)PKI技術(shù)中存在的單點(diǎn)失敗問題以及多CA互信難等問題,可降低傳統(tǒng)PKI技術(shù)中CA中心建設(shè)、運(yùn)營(yíng)及維護(hù)成本,提高證書申請(qǐng)及配置的效率,提升用戶使用體驗(yàn)。該系統(tǒng)作為安全基礎(chǔ)設(shè)施可以應(yīng)用于多個(gè)領(lǐng)域,如4G小基站設(shè)備認(rèn)證、網(wǎng)絡(luò)切片認(rèn)證、多CA互信等。
1. 背景
單點(diǎn)失敗問題 :處于核心的 CA 極易遭受攻擊,一旦被控制,CA 根證書以及該 CA 已經(jīng)簽發(fā)的證書都不再可信。
多 CA 互信難問題 :用戶證書只能由所屬 CA 的根證書進(jìn)行驗(yàn)證,不同 CA 之間不能相互驗(yàn)證,現(xiàn)有 CA互信解決方案適用性受限。
在現(xiàn)有的 PKI 實(shí)踐中,解決 CA 互信問題的方法:
- 權(quán)威 CA 列表
對(duì)依賴方有較高要求,且權(quán)威列表本身的維護(hù)代價(jià)較高。 - CA 交叉認(rèn)證
當(dāng) CA 數(shù)量較少時(shí)可以很好地解決CA 互信問題,但大量 CA 兩兩進(jìn)行交叉認(rèn)證時(shí),就會(huì)形成復(fù)雜的網(wǎng)狀結(jié)構(gòu),且證書策略經(jīng)過多次映射之后會(huì)使證書用途大大受限。 - 橋 CA
該方案類似現(xiàn)實(shí)生活中行業(yè)協(xié)會(huì)中介的信任關(guān)系,CA 數(shù)量較多時(shí)可以避免兩兩交叉認(rèn)證的弊端,但橋 CA 運(yùn)營(yíng)方的選擇是個(gè)難題,它的可信程度直接決定了互信關(guān)系的可靠程度
2. 系統(tǒng)架構(gòu)
數(shù)據(jù)存儲(chǔ):區(qū)塊體中包含若干條記錄,每一條記錄包括數(shù)字證書以及該證書相應(yīng)操作執(zhí)行后的證書狀態(tài)。
2.1 流程
證書申請(qǐng)、證書簽發(fā)、證書更新、證書吊銷、證書驗(yàn)證流程。
2.1.1 證書申請(qǐng)流程
證書用戶自己生成一份數(shù)字證書,該證書可采用國(guó)際標(biāo)準(zhǔn)的 X.509 格式,且在擴(kuò)展項(xiàng)中增加一個(gè)標(biāo)識(shí),用于標(biāo)識(shí)該證書所屬的區(qū)塊鏈網(wǎng)絡(luò) ;與證書相應(yīng)的私鑰存儲(chǔ)于用戶側(cè)。
證書用戶向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起證書申請(qǐng)請(qǐng)求,該請(qǐng)求中包括用戶的數(shù)字證書,以及驗(yàn)證證書所需的信息。如果證書實(shí)體用戶申請(qǐng)的是個(gè)人匿名證書,則無需提交其他信息 ;如果證書實(shí)體用戶申請(qǐng)的是個(gè)人實(shí)名證書,則需提交用于證實(shí)其身份的信息。
2.1.2 證書簽發(fā)流程
驗(yàn)證節(jié)點(diǎn)收集用戶的證書申請(qǐng)請(qǐng)求,根據(jù)用戶提交的信息驗(yàn)證證書的合法性 ;
驗(yàn)證節(jié)點(diǎn)將當(dāng)前所有未納入?yún)^(qū)塊的合法證書信息以及證書狀態(tài)作為區(qū)塊鏈中的記錄,使用區(qū)塊鏈中的共識(shí)機(jī)制生成一個(gè)新區(qū)塊 ;
驗(yàn)證節(jié)點(diǎn)向區(qū)塊鏈網(wǎng)絡(luò)發(fā)布該新區(qū)塊并同步到其他節(jié)點(diǎn)。
2.1.3 證書吊銷流程
證書實(shí)體用戶提交證書吊銷請(qǐng)求,該請(qǐng)求中包括用戶的證書信息,以及證實(shí)用戶身份的信息(例如用戶的簽名信息);
驗(yàn)證節(jié)點(diǎn)收集用戶的證書吊銷請(qǐng)求,根據(jù)用戶提交的信息驗(yàn)證用戶身份 ;
驗(yàn)證節(jié)點(diǎn)將當(dāng)前所有未納入?yún)^(qū)塊的合法證書信息以及證書狀態(tài)作為區(qū)塊鏈中的記錄,生成一個(gè)新區(qū)塊并同步。
2.1.4 證書更新流程
a. 當(dāng)用戶需要更新證書時(shí),用戶需要產(chǎn)生一份新的數(shù)字證書,該新產(chǎn)生的證書與原有證書具有相同的DN(Distinguished Name)項(xiàng)。
b. 證書用戶向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起證書更新請(qǐng)求,該請(qǐng)求中包括用戶待更新的數(shù)字證書,新產(chǎn)生的數(shù)字證書,以及驗(yàn)證證書所需的信息。
2.1.5 證書使用流程
在證書使用過程中(例如現(xiàn)有的 TLS、IPSec 等安全協(xié)議),證書用戶需要將證書提交給依賴方,依賴方接收到證書后,需要檢查證書的合法性和有效性。
a. 如果依賴方存儲(chǔ)有完整的區(qū)塊鏈信息,那么可以在區(qū)塊鏈中查找證書以及證書的狀態(tài) :若證書最新的狀態(tài)顯示為證書正常,則證書合法。
b. 如果依賴方本地?zé)o區(qū)塊鏈信息,那么可以向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起證書查詢請(qǐng)求,請(qǐng)求中包含待查詢的證書信息 ;區(qū)塊鏈中的節(jié)點(diǎn)向依賴方反饋查詢結(jié)果,查詢結(jié)果中包含待查證書的最新狀態(tài)信息
3 應(yīng)用案例
4G小基站證書申請(qǐng)流程
基于區(qū)塊鏈PKI系統(tǒng)的4G小基站認(rèn)證流程
4. 擴(kuò)展功能
如果將驗(yàn)證節(jié)點(diǎn)限定為特定CA 機(jī)構(gòu),即以聯(lián)盟鏈的方式,由 CA 通過共識(shí)完成用戶證書的驗(yàn)證工作。經(jīng)過共識(shí)的證書將記錄到區(qū)塊鏈當(dāng)中,那么這些證書就被區(qū)塊鏈中得所有 CA 認(rèn)為是可信的證書。
4.1 多CA互信方案示意圖
4.2 網(wǎng)絡(luò)切片認(rèn)證
切片間通信需要進(jìn)行安全保護(hù),安全信道的建立可采用數(shù)字證書技術(shù)實(shí)現(xiàn),但不同運(yùn)營(yíng)商的切片通常使用不同 CA簽發(fā)的證書,在建立 CA 互信之后可以實(shí)現(xiàn)相互認(rèn)證。
參考
【1】“電信工程技術(shù)與標(biāo)準(zhǔn)化” Telecom Engineering Technics and Standardization 11-4017.
總結(jié)
以上是生活随笔為你收集整理的区块链系统之《基于区块链的PKI数字证书系统》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PKI/CA (4)其他信任模型
- 下一篇: 区块链系统之《一种基于区块链的云数据共享