石典佑
(國防科技大學 計算機學院,長沙 410073)
隨著信息技術的蓬勃發展,人們對信息安全愈發關注,而密碼學則為信息的安全可靠提供了強有力的保障。根據通信雙方是否使用相同的密鑰,現代密碼學可以大致分為對稱密碼學和非對稱密碼學2 大類。在對稱密碼學中,通信雙方使用相同的密鑰對消息進行加解密,運行效率高,且安全性不依賴于任何假設,因此具有統計學上的安全性。但是由于通信雙方需要共享同一密鑰,故其不可避免地需要解決對稱密鑰的分發問題。非對稱密碼通過設計2 種完全不同的密鑰:私鑰和公鑰,避免了密鑰分發帶來的安全隱患。在加密方案中,加密方利用公鑰對消息進行加密,而只有擁有對應私鑰的解密方才能正確解密;而在簽名方案中,簽名方利用私鑰進行簽名,其他所有實體都可以利用公鑰對簽名的正確性進行驗證。
然而在傳統的公鑰密碼體制中,公鑰的可靠性需要由可信的證書認證中心(Certificate Authority,CA)頒發數字證書作為安全憑證進行驗證[1]。在大規模系統進行部署時,需要對海量的證書進行管理,頻繁的證書交換與認證會降低系統的運行效率[2]。為避免數字證書頒發和驗證引起的效率問題,Shamir[3]于1984 年首次提出了標識密碼學(Identity-Based Cryptography,IBC)理念,將用戶的郵箱、地址等身份標識直接作為用戶公鑰,無須數字證書即可確保公鑰的可靠性,讓密碼方案更加輕便高效。
隨著我國自主設計的商用標識密碼SM9 成為行業標準,標識密碼得到了更為廣泛的應用,許多研究者更是進一步為標識密碼引入更為豐富的功能與安全屬性[4-6]。本文主要圍繞標識密碼學領域,結合當下的研究熱點,對標識密碼學的相關基礎和研究現狀進行梳理,最后對發展前景進行歸納總結。
本章主要對標識密碼學領域涉及的基本知識進行簡要回顧,主要包括橢圓曲線、雙線性對及其困難問題。
橢圓曲線(elliptic curve)在標識密碼領域具有重要意義,橢圓曲線上的點群(the group of points of an elliptic curve)構成了標識密碼基本的計算空間,其基本形式如圖1 所示。

圖1 橢圓曲線


式中:-R 為R 的逆元,2 者關于x 軸對稱;R 為P,Q 連線與的交點。
雙線性對(paring)是實現標識密碼的重要工具,基于雙線性對的困難問題是標識密碼學安全性的基石。記G1,G2是q 階加法群,Gr為q 階乘法群,雙線性對為滿足如下條件的映射。
(1)雙線性性(bilinearity):對于所有P∈G1,Q∈G2和成立。
標識密碼的安全性依賴于底層的困難問題假設,這些問題的困難性體現在不存在多項式時間算法能夠對其進行求解。以下為常見的雙線性對上的困難問題,其中,分別為q 階循環群的生成元。

標識加密(Identity-Based Encryption,IBE)和標識簽名(Identity-Based Signature,IBS)方案是標識密碼學的2 個基本研究領域,其他諸如標識簽密算法[5]、層次式標識密碼[12]等密碼原語則為其引入新的功能需求與安全定義。
在傳統公鑰加密環境下,發送方需要從公開渠道獲取接收方的公鑰及數字證書對其進行驗證。經過多次數據傳輸和計算驗證后,發送方才能正式用該公鑰向接收方發送第一條加密消息。在標識加密算法中,這一繁雜的過程將不復存在,發送方可以直接將接收方的標識(例如地址、郵箱等)作為公鑰信息對數據進行加密發送給接收方。在標識加密算法中,存在一個可信任的密鑰生成機構(Private Key Generator,PKG),接收方的私鑰由PKG 進行計算。
標識加密方案IBE 包含以下4 個概率多項式時間算法:系統構建算法S,密鑰生成算法G,加密算法E和解密算法D。
系統構建算法S(λ)由PKG 運行,輸入安全參數λ,輸出系統主公私鑰對(mak,msk)。
密鑰生成算法G(msk,id)由PKG 運行,輸入主公鑰mpk 和用戶身份標識id,輸出用戶私鑰skid。
加密算法E(mpk,id,m)由加密方運行,輸入主公鑰mpk、接收方身份標識id 和明文m,輸出密文c。
解密算法D(skid,c)由解密方運行,輸入用戶私鑰skid和密文c,輸出明文m(若密文不正確,則返回一個特殊值⊥)。
對于標識加密算法而言,其正確性表現為對于同一個主公私鑰對,正確加密的密文總能被對應的接收方正確解密,即

式中:ID 為有限標識空間;M 為有限消息空間;C 為有限密文空間。
標識加密算法保護數據的機密性,標識簽名算法關注的是數據的完整性。標識簽名算法利用私鑰對消息進行簽名,數據的接收方可以利用發送方的標識對簽名和消息的一致性進行驗證,一旦消息遭到篡改,接收方可以通過簽名及時發現。同時,由于只有擁有私鑰的一方才可以生成可以利用標識進行驗證的合法簽名,因此也實現了消息發送方的不可抵賴性。
標識簽名方案IBS 由以下4 個概率多項式時間算法構成:系統構建算法S,密鑰生成算法G,簽名算法I和驗簽算法V。
系統構建算法S(λ)為PKG 運行的概率性算法,輸入安全參數λ,輸出系統主公私鑰對(mak,msk)。
密鑰生成算法G(msk,id)為PKG 運行的概率性算法,輸入主公鑰mpk 和用戶身份標識id,輸出用戶私鑰skid。
簽名算法I(skid,m)為簽名方運行的概率性算法,輸入私鑰skid和消息m,輸出簽名σ。
驗簽算法V(mpk,id,m,σ)為驗簽方運行的確定性算法,輸入主公鑰mpk、簽名方的標識id 和簽名σ,輸出accept 或reject。
標識簽名算法的正確性表現為在相同的主公私鑰對(mak,msk)下,簽名方運行算法I 得到的簽名σ 總能被以其標識id 為輸入的算法V 所接受,即

式中:ID 為有限標識空間;M 為限消息空間;Σ 為有限簽名空間。
自Shamir[3]于1984 年首次提出標識密碼學以來,標識密碼學領域的相關研究工作已經愈發完善。標識密碼學的研究范圍在不斷擴展,標識簽密、層次式標識密碼等不同概念的相繼提出,滿足了不同的應用場景與安全需求。就在2020 年,我國自主設計的SM9 標識系列密碼成為了我國國家標準,圍繞SM9 的應用拓展和安全分析進一步成為了當前學術界的研究熱點。本章分別從標識密碼的相關研究和國密SM9 的相關研究2 個方面來闡述標識密碼學的研究現狀。
1984 年,Shamir[3]首次提出了標識密碼的概念,用戶可以直接利用郵箱、地址等字符串作為用戶標識,用于加密和簽名的操作,消除了傳統公鑰密碼體系對數字證書的依賴,標識密碼自此受到學術界的廣泛關注。但是,直到2000 年,盡管許多學者針對標識密碼的理念提出了不同的方案構造,卻均缺乏實用性。直到2001年,Dan 等[7]利用雙線性對,成功構造出了第一個具有實用價值的標識加密方案。于是,雙線性對被廣泛應用于標識密碼的構造中,許多高效的方案被相繼提出。
標識密碼算法需要一個密鑰生成機構(Private Key Generator,PKG)負責所有節點的私鑰生成,在大規模的系統部署中,PKG 需要承擔高額的計算和通信開銷。為緩解單一PKG 的壓力,Jeremy 等[13]提出了層次式標識加密(Hierarchical Identity-Based Encryption,HIBE)的概念,將系統節點部署為樹形結構,各級PKG均有為其子節點生成密鑰的能力,從而緩解了單一PKG 進行密鑰分發的負擔。同年,Craig 等[14]設計了首個層次式標識簽名算法(Hierarchical Identity-Based Encryption,HIBS),但是沒有給出具體的安全分析。在2005 年,Sherman 等[15]在隨機預言機模型下提出了第一個可證明安全的HIBS 方案。Li 等[16]在2006 年提出了標準模型可證明安全的HIBE 方案,同時文章也給出了一個HIBS 的新構造,具有比Sherman 等[15]的方案更高的運行效率。在上述的HIBE 和HIBS 方案中,節點的密鑰長度和簽名長度隨著節點的深度而不斷增長,在大規模的系統部署時,位于底層的節點運行時需要使用更多的計算資源與傳輸帶寬。
為解決層次式標識密碼計算通信開銷隨節點深度增長而增加的問題,DAN 等[17]提出了密文定長的HIBE算法。同年,Yu 等[18]在密鑰生成階段,增加了各層參數的運算過程,從而避免了公鑰參數隨節點層級增加的問題。2013 年,Wu 等[19]進一步對算法進行了改進,提出了具有更短密鑰的HIBS 方案。
在安全性方面,標識密碼的前向安全屬性也是學者廣泛研究的一個熱點問題。傳統的加密和簽名方案中,一旦私鑰遭到泄露,那么敵手可以解密過去任意時間點的密文,偽造過去任意時間點的簽名。滿足前向安全性的方案可以保證即使某一時刻的密鑰遭到泄露,過去時間產生的密文和簽名依然能夠保證安全。2008年,Liu 等[20]基于雙線性對,提出了首個前向安全的標識簽名算法(Forward-Secure IBS,FSIBS)。不過遺憾的是,文章僅對方案的安全性進行簡要的分析,未給出形式化的安全證明。Yu 等[21]在給出了FSIBS 正式的算法定義和安全模型后,給出了第一個具有可證明安全的FSIBS 方案。Hyunok 等[22]和Hankyung 等[23]分別提出了主密鑰泄露情況下的FSIBS 方案。Wei 等[24]進一步考慮到標識密碼算法中可撤銷的安全屬性,利用二叉樹對所有節點進行管理,實現了可撤銷的FSIBS 方案。
SM9 是我國自主研發的標識密碼算法,具體包括數字簽名算法、密鑰交換算法、密鑰封裝機制和公鑰加密算法,具有可證明的安全性[25]。如今不但成為了我國國家標準,而且也納入了國際標準之中[1],在物聯網安全[26]、智能變電站安全防護[27]、區塊鏈隱私保護[28]和移動互聯網身份認證[29]等領域均取得了廣泛的應用。
甘植旺等[30]考慮到SM9 密碼體制運行效率問題,通過對SM9 中重要的R-ate 雙線性對進行分析,提出了一種快速計算的算法,顯著提升了算法的運行效率。王明東等[31]進一步針對R-ate 雙線性對中模冪運算進行優化,與傳統實現方式相比,性能提高近3 倍。王松等[32]通過參數預計算的方式,提高了SM9 簽名和驗簽的速度,同時對指數和乘法運算進行優化,提高了SM9簽名驗簽算法的運算性能。楊國強等[33]將基于固定基的快速模冪算法應用于SM9 的FPGA 實現中,將SM9簽名算法提升2.3 倍。
基于SM9 標識系列密碼,學者們提出了各種擴展方案。張超等[4]利用SM9 標識加密算法,設計了具有可證明安全的可搜索加密方案,將安全性歸約到DBDH問題的困難性假設上。賴建昌等[5]對SM9 標識加密算法進行改進,提出了加密與簽名相結合的標識簽名算法,并通過嚴格的安全證明,將方案的安全性歸約到了底層q-SDH 和q-BDHI 問題的困難性假設上。盲簽名是數字簽名領域的一種重要技術,其允許簽名者在對消息未知的情況下進行簽名,張雪鋒等[34]基于SM9 標識簽名算法提出了具有比傳統RSA 機制下更高效率的盲簽名方案。另外,張雪鋒等[35]進一步設計了基于SM9 的環簽名方案。但是他們的方案僅給出了簡單的安全說明,并未給出嚴格的安全分析。彭聰等[36]在隨機預言機模型下,給出了可證明安全的基于SM9 的環簽名方案,與相關工作相比,方案在簽名和驗簽效率上均有提升。安濤等[37]基于SM9 標識密碼算法提出了聚合簽名方案,大大提升了認證效率。
綜合考慮學術界標識密碼學的現有研究成果,未來對標識密碼學的研究可以主要集中于以下3 個方面。
現有的標識密碼算法廣泛使用橢圓曲線上的雙線性對進行構造,因此如何加速雙線性對的運算速度是提升算法整體運行效率的關鍵。此外,根據所選擇的橢圓曲線不同,對算法的實現也有不同程度的影響。因此,未來可以考慮從底層算法優化的角度出發,考慮尋找、選取更合適的配對友好橢圓曲線,優化橢圓曲線點群中加法的運算效率,結合雙線性對的結構特點,降低其計算開銷。此外,可以進一步結合硬件實現,設計雙線性對的硬件電路,從底層實現雙線性對運算的加速優化。在另一方面,可以進一步尋找合適的數據結構,在標識密碼算法的設計中,降低橢圓曲線點群和雙線性對的運算次數,減少生成與傳輸的參數規模,從而提高標識密碼算法的計算和通信效率。此外,可以進一步結合云計算,將橢圓曲線點群和雙線對的運算,以及其他諸如大整數模冪等需要占用大量計算和存儲資源的操作外包給云服務器,從而降低單個節點的運算負擔。
層次式標識密碼算法的提出,將傳統標識密碼中單個PKG 的負載逐級下放,減輕單個PKG 的密鑰分發負擔。但是各級PKG 為下層節點分發的私鑰使用的是其自主產生的隨機數,此隨機數的來源無法認證,子節點無法對得到的私鑰進行驗證,可能存在中間人攻擊的風險。因此,可以為私鑰的產生提供進一步的驗證機制,將私鑰和PKG 的標識進行綁定,使子節點可以通過公開參數對私鑰來源進行驗證。在標識密碼學的前向安全性上,目前學術界廣泛采用的實現方式是基于二叉樹或基于強RSA 難題假設[38-39]?;诙鏄涞姆桨腹濣c需要保存大量的私鑰用于實現節點的密鑰自更新,而基于強RSA 難題假設的方案涉及大量的模冪運算。因此,可以考慮尋找新的工具對標識密碼學的前向安全性進行實現,提升其運行效率。此外,當量子計算機來臨時,公鑰密碼學的基本難題假設大整數分解和離散對數問題將不再困難,對標識密碼學的經典算法會造成嚴重威脅。因此,設計后量子安全的標識密碼算法也是當前的一個研究熱點。
標識密碼學在電子郵箱等網絡通信領域可以降低通信輪次,提升通信效率;在物聯網系統中,可以避免數字證書的引入,減小物聯網節點的資源占用。未來在隱私保護領域,可以考慮進一步實現標識的匿名化,即考慮加密方和簽名方在通信過程中保持標識的隱蔽性,防止敵手通過密文或簽名對消息的來源進行溯源。在同態加密領域,可以考慮具有同態操作的標識加密算法或標識簽名算法,使得加密方或簽名方直接在密文或簽名上進行數據的添加,減少頻繁加密和簽名帶來的開銷。對于其他密碼原語,諸如盲簽名、環簽名和閾值簽名,可以進一步考慮使用國密SM9 標識密碼算法進行實現,進一步豐富國產密鑰的應用場景,設計更多自主可控的密碼方案。
本文圍繞標識密碼的相關背景、算法定義和研究現狀對標識密碼的研究進展進行了較為詳細的總結與回顧。標識密碼學經過將近40 年的不斷豐富完善,成為了備受關注的研究熱點。標識密碼不但可以消除對傳統數字證書的依賴,而且還可以進一步構造更具實用性和安全性的算法協議。未來在針對新的應用場景和后量子領域,可以通過引入新的功能需求和安全屬性,從而進一步完善標識密碼的相關研究。國密SM9 作為我國自主研發的標識密碼算法,具有安全、靈活和易拓展等特點,對SM9 標識密碼算法展開研究,既可以提出安全高效的算法協議,還可以加強國家安全領域的自主可控,無論是在理論方面還是實踐方面均有重大意義。