?基於身份的密碼(IBC)是壹種非對稱公鑰密碼系統。身份密碼的概念是沙米爾在1984中提出的。其要點是系統中不需要證書,以用戶的姓名、IP地址、電子郵箱、手機號等身份標識作為公鑰。用戶的私鑰由密鑰生成中心(KGC)根據系統主密鑰和用戶ID計算。用戶的公鑰由用戶標識唯壹確定,因此用戶不需要第三方來保證公鑰的真實性。但當時識別密碼的想法還停留在理論階段,沒有具體的實施方案出現。
直到2000年,D. Boneh和M. Franklin兩個團隊以及R. Sakai、K. Ohgishi和M. Kasahara獨立提出用橢圓曲線配對構造身份公鑰密碼學,引發了身份密碼學的新發展。利用橢圓曲線對的雙線性性質,建立了橢圓曲線的循環子群與擴張域的乘法循環子群之間的關系,構成雙線性DH、雙線性逆DH、判定雙線性逆DH、q-雙線性逆DH和q-Gap-雙線性逆DH。當求解橢圓曲線離散對數問題的難度與求解擴展域離散對數問題的難度相等時,可以用橢圓曲線對構造壹個安全性和效率最好的身份密碼。
基於身份的識別密碼是傳統PKI證書系統的最新發展。2006年,國家密碼局組織了全國識別密碼系統IBC標準規範的編制和評審工作。2007年6月65438+2月65438+2月6日,國家IBC標準正式通過評審,給出了SM9商業秘密算法模型。
2識別密碼的技術原理
身份密碼系統與傳統的公鑰密碼系統相同,每個用戶都有壹對關聯的公鑰和私鑰。在ID密碼系統中,以用戶的姓名、IP地址、電子郵箱、手機號碼等身份作為公鑰,通過數學手段生成相應的用戶私鑰。用戶ID是用戶的公鑰,不需要額外生成和存儲。只需要通過某種方式公布,私鑰由用戶秘密保管。IBC密碼系統的標準主要包括IBE加解密算法組、IBS簽名算法組和IBKA認證協議,下面分別介紹。
2.1身份密碼加解密系統
身份密碼的加解密方案由四部分組成,包括系統參數生成(Setup)算法、密鑰生成(Extract)算法、加密算法和解密算法。這些步驟描述如下:
設置:給定壹個安全參數k,輸出系統參數params和MasterKey。其中,系統參數params是公開的,而MasterKey只有密鑰生成中心知道。
Extract:使用params,MasterKey和arbitrary,ID∈{0,1}*返回私鑰PrivateKeyID。ID是任意長度的字符串,用作加密公鑰,PrivateKeyID是解密的私鑰。
加密:用params和公鑰ID加密明文M,得到密文C,C=Encrypt(params,M,ID)。
解密:用params和私鑰PrivateKeyID解密密文C,得到明文decrypt (params,C,私鑰ID) = m。
2.2識別密碼簽名驗證系統
識別密碼的簽名驗證方案有很多,但基本上都是由四種算法組成,即系統參數生成(Setup)算法、密鑰生成(Extract)算法、簽名(Significant)算法和驗證算法。它們的算法描述如下:
設置和提取識別上壹節中的密碼加密和解密機制中的設置和提取。
有意義:輸入要簽名的消息M、系統公共參數和用戶私鑰PrivateKeyID生成簽名(R,S),其中r = r p,R為隨機數。
驗證:輸入簽名(R,S),系統公共參數和用戶身份(ID),輸出驗證結果。
2.3識別密碼的認證協議
身份加密算法的身份認證協議的步驟如下,以A和B之間的認證為例:
步驟1: A通過計算單元生成隨機數R,通過時鐘單元生成當前時間戳T並發送給B;
第二步:B通過計算單元生成壹個隨機數R,計算出u=rP,c=H(u,R,T) u,S = (R+C) Private KeyID,將U和S發送給A;
第三步:A通過計算單元驗證以下公式是否成立;如果成立,則認證通過,否則認證失敗。
3 IBC與PKI的比較
3.1系統比較
傳統的PKI系統和IBC系統是認證、授權和加密等軟硬件的綜合設施,基於公鑰密碼技術,保證數據的真實性、機密性、完整性和不可否認性,以達到安全的目的。由於IBC系統以用戶的唯壹身份作為用戶的公鑰的天然優勢,比PKI龐大的證書管理和發布系統更容易應用。PKI系統和IBC系統的應用比較如下表所示。
3.2工藝比較
愛麗絲給鮑勃轉了壹筆錢。
PKI的流程如下。
PKI流程
IBC的過程如下。
IBC過程
3.3比較結論
從以上分析可以看出,與PKI系統相比,IBC系統的應用優勢主要表現在以下幾個方面:
1.PKI系統中不需要數字證書,證書頒發機構CA中心,證書的頒發和查詢,使用簡單,部署方便,特別適用於大眾用戶的安全系統;
2.不需要PKI中的證書驗證等計算過程,計算成本低,適用於手機終端;
3.無需PKI在線連接CA服務器查詢驗證證書狀態,通信成本低;
4.豐富的策略控制機制,將身份認證與訪問控制相結合。