簡述無證書公鑰密碼體制

基于PKI的傳統(tǒng)公私鑰基礎(chǔ)設(shè)施的核心問題是需要信任一個(gè)中心化的信任根,并由此可能引出相關(guān)的安全和效率問題。而DPKI(分布式公鑰基礎(chǔ)設(shè)施)的出現(xiàn)為這一問題提供了解決方案。下面我們就來了解一下無證書公鑰密碼體制。

無證書公鑰密碼體制

無證書公鑰密碼體制(CL-PKI)是在已有公鑰密碼體制基礎(chǔ)上,將用戶的私鑰由兩部分組成,包括KGC(密鑰生成中心)提供的部分私鑰和用戶選擇的秘密值組成,這樣KGC和用戶都不可能獨(dú)立生成完全的私鑰,從而解決了基于身份密碼體制中的密鑰托管問題。

無證書公鑰密碼體制

無證書公鑰密碼體制中的算法過程

無證書公鑰密碼體制的形式化模型需要包含額外的算法,一般包括系統(tǒng)初始化設(shè)置、提取部分私鑰、設(shè)定秘密值、設(shè)定私鑰值、設(shè)定公鑰、加密和解密。

系統(tǒng)初始化設(shè)置算法

此算法通常由密鑰生成中心(KGC)運(yùn)行。該算法輸入一個(gè)安全參數(shù)k,輸出系統(tǒng)參數(shù)params和主密鑰master-key。系統(tǒng)參數(shù)包括消息空間M和密文空間C。系統(tǒng)參數(shù)公開,主密鑰只有KGC知道。

提取部分私鑰算法

此算法通常由密鑰生成中心(KGC)運(yùn)行。該算法輸入?yún)?shù)params,主密鑰master-key以及用戶身份ID∈{0,1}*,返回部分私鑰DID。

設(shè)置秘密值算法

此算法輸入?yún)?shù)params和用戶身份ID,輸出秘密值x。

無證書公鑰密碼體制

設(shè)置私鑰算法

該算法輸入?yún)?shù)params,用戶身份ID,用戶的部分私鑰DID和秘密值x,輸出用戶的完整私鑰SKID。

設(shè)置公鑰算法

輸入?yún)?shù)params,用戶身份ID,用戶秘密值x,輸出用戶的完整公鑰PKID。

加密算法

此算法是概率性算法。加密方輸入?yún)?shù)params,用戶身份ID,用戶公鑰PKID和明文消息m∈M(M是明文空間),輸出密文c∈C(C是密文空間)。

解密算法

此算法是確定性算法。解密方輸入?yún)?shù)params,用戶私鑰SKID,密文c,輸出明文m或錯(cuò)誤標(biāo)識(shí)⊥,⊥表示解密失敗。

無證書公鑰密碼體制

無證書公鑰密碼體制的應(yīng)用

無證書公鑰密碼的相關(guān)理論技術(shù)在2003年就已經(jīng)完善,但真正為這一技術(shù)提供產(chǎn)品化基礎(chǔ)的是區(qū)塊鏈技術(shù)的發(fā)展與DPKI的落地實(shí)踐。

在標(biāo)準(zhǔn)的CL-PKI形式化定義中,KGC依然承擔(dān)了部分中心化的信任根的功能。基于分布式賬本的DPKI充分發(fā)揮了區(qū)塊鏈作為信任機(jī)器的作用,消除了傳統(tǒng)PKI系統(tǒng)的中心化風(fēng)險(xiǎn)。

DPKI與CL-PKI的結(jié)合,并非對(duì)PKI或傳統(tǒng)CA系統(tǒng)的全盤拋棄和替代,更多是在原有認(rèn)證體系基礎(chǔ)之上的一種改進(jìn)和補(bǔ)充,通過構(gòu)建一種分布式的認(rèn)證體系來解決中心化認(rèn)證體系存在的問題,是未來網(wǎng)絡(luò)信任生態(tài)的基礎(chǔ)設(shè)施。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪稿。