釋義
IBC,Identity-Based Cryptograph的縮寫,就是基於標識的密碼體系。
IBC標識密碼的發展
IBC是在傳統的PKI(公開密鑰基礎設施)基礎上發展而來,除了保有PKI的技術優點外,主要解決了在具體安全套用中PKI需要大量交換數字證書的問題,使安全套用更加易於部署和使用。IBC密碼技術使用的是非對稱密碼體系,加密與解密使用兩套不同的密鑰,每個人的公鑰就是他的身份標識,比如email地址,密鑰管理簡單,那么給別人傳送加密的電子郵件就非常方便了。
下面,讓我們將IBC技術與傳統的公開密碼系統(PKI系統)進行一下對比。
IBC標識密碼的組成
在公開密碼系統 (傳統的PKI系統),一個實體具有一對鑰匙:一個是公開為大家所知的,稱為公鑰;另一個只為該實體所知,稱為私鑰。在這樣的系統中,信息傳送方需要正確獲取接收方的公鑰,否則惡意攻擊方可通過提供虛假的接收方公鑰(攻擊方知道對應的私鑰)成功獲取信息。傳統的公鑰系統,如基於RSA算法或ECC算法的系統,需要一個受信任的第三方來綁定實體與其擁有的密碼對。受信任的第三方(即認證中心,CA:Certificate Authority)在確認一個實體確實知道其公鑰對應的私鑰後,將為該實體頒發一個證書。證書中包含實體的名稱(或標識)和實體的公鑰以及認證中心對該綁定的電子簽名。信息傳送方在傳送信息前需要獲取接收方的證書。在驗證證書的有效性後,傳送方使用證書中的公鑰加密。這就是所謂的PKI(Public Key Infrastructure)系統。基於證書的公鑰系統有幾個問題影響其使用:
1) 傳送方在傳送信息前總需要先獲取接收方的證書。
2) 在每收到一個證書後,實體都需要驗證證書的有效性。
3) 證書頒發和管理系統(PKI)非常複雜,難以部署。
為了解決公鑰難以管理的問題,在1984年以色列科學家Shamir提出了基於標識的密碼系統的概念(IBC)。在基於標識的密碼系統中,每個實體具有一個標識。該標識可以是任何有意義的字元串。但和傳統公鑰系統最大的不同是,在基於標識的系統中,實體的標識本身就用作實體的公開密鑰,這樣系統就不再依賴證書和證書管理系統,從而極大地簡化了管理密碼系統的複雜性。在提出IBC概念的同時,Shamir提出了一個採用RSA算法的基於標識的簽名算法(IBS)。但是基於標識的加密算法(IBE)長時期未能找到有效解決方法。
在2000年,三位日本密碼學家R. Sakai, K. Ohgishi 和 M. Kasahara提出了使用橢圓曲線上的pairing設計基於標識的密碼系統的思路。在該論文中他們提出了一種無互動的基於標識的密鑰生成協定. 在該系統中,他們設計了一種可用於基於標識的密碼系統中的系統初始化方法和密碼生成算法。
在2001年,D. Boneh和M. Franklin, R. Sakai、K. Ohgishi 和 M. Kasahara,以及C. Cocks分別提出了三個基於標識的加密算法。前兩個都是採用橢圓曲線上pairing的算法。第三種算法利用平方剩餘難問題。由於D. Boneh和M. Franklin提出的IBC (BF-IBC)的安全性可以證明並且有較好的效率,所以引起了極大的反響。
基於標識的密碼技術在過去幾年中得到快速發展。研究人員設計了大量的新密碼系統。隨著套用的逐漸廣泛,相應算法的標準化工作也在逐步展開。IEEE P1363.3的基於標識的密碼技術工作組正在進行相關算法的標準化工作。ISO/IEC已經標準化了兩個基於標識的簽名算法。
IBC的公鑰實例
IBC允許用戶選擇具有唯一性的身份標識(如Email地址或網路帳號)作為公鑰,並通過可信的中央伺服器接受到自己的私鑰,在安全通信過程不採用數字證書的概念,而直接將安全方案與加密或驗證方法聯繫起來。
下面舉例說明了PKI系統的公鑰和IBC系統的公鑰,圖1給出了RSA算法公鑰的一個實例。由於這樣的密鑰是1024位的二進制比特的大數,所以它不具有身份的概念,需要數字證書將公鑰和用戶身份聯繫起來。為了進行安全的數據通信,傳送者必須擁有所有這些信息,再通過數字證書綁定接受方身份和密鑰對。
圖1 RSA算法的公鑰實例
公共指數:0x10001
模數:
35066410865995227349603216279805969938921475605667027524485 143851526510604 859543833940287150571909 45179820728216447153137 3680497039641917430464965892742562393410208643832021103729587257 623565096431105640735015091875106235946292055636855294752135 1595287 9163773285339061097505443342198111500 569772368909 27563
作為對照,圖2給出了IBC技術公鑰的一個實例:
圖2 IBC技術公鑰的一個實例
Name= alice @ network. com此郵件地址受spam bots保護,需要使用 Javascript 功能來查閱。
這種簡便,易於理解的密鑰顯示了IBC極大的優越性,使得不需數字證書,IBC技術就可實現加密簽名方法。
套用方案示例
企業可以使用IBC進行安全數據通信,包括終端到終端,終端到套用,套用到套用的情況。
在實際的IBC系統中,不僅僅使用用戶的身份標識作為公鑰,而是使用包含用戶身份的策略信息來做公鑰,如下的標識就是結合著狀態作為公鑰:
“Name= bob @net work .com "此郵件地址受spam bots保護,需要使用 Javascript 功能來查閱。,status=成功完成工作1
例如,Alice想傳送信息給Bob,只有Bob完成工作1才可以解密閱讀訊息,實際上當Bob和密鑰伺服器連線以獲取自己的私鑰時,只有他正確的證明自己的身份,並且狀態為完成工作1,密鑰伺服器才為他分發私鑰。
IBC標識密碼的套用
首先,IBC簡化了管理。如果用PKI,擁有1000個用戶的一家組織要創建及維護1000個證書。與這些證書相關的密鑰要不斷更新,舊密鑰還要保存起來。持有證書的用戶離開組織後,就要撤銷相關證書。因此,撤銷列表也要維護、發布及不斷更新PKI的證書管理還會因為存檔郵件而變得複雜。證書管理的最佳策略建議:最好每年撤銷證書,為每個用戶創建新證書。但現在許多公司需要把郵件保存一年,有些是因為證券交易委員會規定的,還有些是因為電子郵件通常作為訴訟的一部分被要求上交。如果你要將加密郵件保存三年,同樣也得將相應的密鑰保存三年。
相比之下,管理員使用IBC,只需要管理用來為每個員工創建公鑰和私鑰的主密碼和一組公共參數。IBC用一組信息取代了一千個證書。這些信息結合每個用戶的電子郵件地址,就可以創建惟一的密鑰。如果對加密電子郵件進行解密,管理員只需要該用戶的電子郵件地址、公共參數和主密碼。
IBC的第二個改進就是能夠傳送加密信息給沒有數字證書的接收方。這樣一來,如果需要,企業可以與客戶和合作夥伴進行安全通信。通過在智慧卡、UKey上部署IBC,開發人員能夠開發更安全、更適用、更具性價比的線上和離線企業通訊套用軟體。這一技術適用的領域包括電子政府、電子和移動商務、安全文檔的無線管理、訪問控制、個人認證令牌等。
IBC標識密碼的相關產品
百密郵
百密櫃
百密盾
安全接入系統安全中間件
IBC密鑰管理平台