之前的一期中,Dr.M講到在1984年,AdiShamir為了解決PKI中公鑰難以管理的問題,提出了基于標識的密碼系統的概念-----IBC。他提出了應直接使用用戶的既有標識作為公鑰。這樣做的好處是什么呢?在IBC里,Alic和Bob的通訊過程變成這樣的了:
我們看到這個圖簡化了很多吧?!
Alic和Bob直接使用對方的標識作為公鑰,沒有了證書申請、查詢、驗證的環節,所以加密通訊變得非常容易。
But….
密碼學都要講數學原理,Shamir提出了這個想法之后,很多年過去了,一直沒有找到數學方式來證明這個是可以安全的實現的。
一直到了2001年左右,密碼學界才找到了安全性可證明的加密算法。在接下來的幾年內,標準化的過程不斷加快,產品和方案紛紛面世。基于標識的密碼技術在過去幾年中得到快速發展。研究人員設計了大量的新密碼系統。隨著應用的逐漸廣泛,相應算法的標準化工作也在逐步展開。IEEEP1363.3的基于標識的密碼技術工作組正在進行相關算法的標準化工作。ISO/IC已經標準化了兩個基于標識的簽名算法。以上都是國際上的情況,國內咱們也沒閑著……
我國政府也非常重視標識密碼技術的推廣應用。2006到2007年,在國家密碼局組織下,我公司參與了國家標識密碼體系IBC標準規范的編寫工作。2007年12月國家IBC標準正式通過了評審。2008年IBC算法正式獲得國家密碼管理局頒發的SM9算法型號,2 016年3月,中國標識SM9密碼算法正式對外發布。
目前,在國家密碼局發布的系列算法中,基于公鑰體系算法有SM2和SM9,分別代表了基于PKI/CA數字證書體系和IBC標識密碼體系,二者在功能上是相同的,都能夠進行加解密、簽名驗證和密鑰交換等密碼操作。但因其技術特點,適應場景不同:
在PKI技術中用戶公鑰是一串沒有意義的數字。為了綁定用戶公鑰和系統中用戶的身份標識,需要引入數字證書。在某些應用場景,如系統數量龐大的用戶之間需要點對點通信的情況,繁瑣的數字證書管理就極大地限制了PKI技術的應用推廣。但因為其使用第三方管理思路,特別適合于第三方公正時的強簽名認證。
這個就是PKI的公鑰的范例:
在IBC技術中基于用戶的唯一身份標識(如手機號、郵箱地址、設備編碼等等),作為公鑰,然后通過用戶公鑰計算出用戶私鑰,這使得IBC技術成為一種輕量級管理中心的公鑰密碼技術,避免了繁瑣的數字證書管理問題,特別適合于云計算、物聯網、電子郵件加密、加密通話等點對點通訊、數據加密的應用。
這個是IBC公鑰的范例: