朱留富 李繼國,2 賴建昌 黃欣沂 張亦辰,2
1(福建師范大學計算機與網絡空間安全學院 福州 350117)
2(福建省網絡安全與密碼技術重點實驗室(福建師范大學)福州 350007)
3(東南大學網絡空間安全學院 南京 211189)
4(香港科技大學(廣州)信息樞紐 廣州 511458)
物聯網技術的發展和普及使得現代生活環境更加友好和便捷,對人們的生活方式產生了重要影響.物聯網將電子設備與互聯網連接,能夠使互聯網連接對象使用嵌入式傳感器、射頻識別、激光掃描器等信息傳感設備進行數據的采集和交換.通過網絡接入,實現物與物、物與人的連接,從而達到智能化感知、識別和管理.由于采用無線網絡通信,使得物聯網更容易遭受各種攻擊.身份認證技術能避免非授權用戶非法訪問數據,為物聯網數據提供了可靠的安全保障.數字簽名能提供數據的完整性和真實性,并且可以實現簽名者身份認證功能.在簽名時通常涉及橢圓曲線群中的指數運算或配對運算,這些運算往往計算代價高昂,使得輕量級設備無法承受.在線/離線簽名(online/offline signature,OOS)[1]方案將簽名過程分為在線和離線部分,在未知消息之前,通過將高昂的計算分配給離線階段而僅保留一些輕量級計算給在線階段的方式,使得原本無法部署在輕量級設備的簽名方案也能適用于物聯網環境.傳統的公鑰密碼體制不具有細粒度訪問控制功能.為了解決這一問題,2005 年,Sahai 等人[2]提出模糊身份加密方案,定義了屬性基密碼概念.在屬性基加密方案[3-5]中,用戶的身份由一個屬性集表示,密文或者密鑰與一個訪問策略相關聯,當用戶的屬性滿足指定的訪問策略時,用戶可以成功解密密文.屬性基加密體制不僅實現了細粒度訪問控制而且具有一對多加密功能,可以很好地解決云計算中的訪問控制、數據安全和隱私保護等關鍵技術問題,得到了國內外學術界和工業界的高度重視.過去,國內商用密碼方案大都是基于國外的密碼技術標準,不符合國家網絡空間安全自主可控的發展戰略.SM9[6]是中國商用標識密碼標準,包含數字簽名、加密、密鑰交換和密鑰封裝.2018 年,SM9 標識簽名算法已被采納為國際標準ISO/IEC 的一部分,并于2020 年成為中國國家標準GM/T 38 635.2—2020.2020 年,SM9標識算法成為國際標準.由于SM9 標識密碼算法是通過橢圓曲線上的配對運算實現的,因此高昂的計算代價成為了其在輕量級設備中應用的瓶頸.同時,原始的SM9 標識密碼算法無法高效地實現1 對多的數據共享和訪問控制功能.綜上所述,如何將SM9 標識密碼算法應用于輕量級設備和實現1 對多的數據共享和訪問控制是亟待解決并具有挑戰的研究方向.
屬性基密碼主要包括屬性基加密和屬性基簽名.在屬性基加密方案中,根據訪問策略部署的位置不同可分為密文策略[7-9]和密鑰策略[10]的屬性基加密.密文策略的屬性基加密方案中,訪問策略與密文關聯,屬性集與密鑰關聯.當屬性集滿足密文中的訪問策略時,用戶可以正確解密.在密鑰策略的屬性基加密方案中,訪問策略與密鑰關聯,屬性集嵌入在密文中,當且僅當密文中的屬性集滿足密鑰中的訪問策略時,用戶可以正確解密.
屬性基加密方案提供了數據的細粒度訪問控制功能并且實現了保密性,但無法提供數據完整性和認證性.2011 年,Maji 等人[11]提出了屬性基簽名方案,實現了細粒度訪問控制并能夠確保數據的完整性和認證性,在一般群模型中證明了方案的安全性.2012 年,Okamoto 等人[12]提出支持非單調訪問策略的高效屬性 基簽名(attribute-based signature,ABS)方案,并在標準模型下給出了方案的安全性證明.在文獻[11?12]中,簽名過程需要使用群中的指數運算和配對運算,這些計算代價高昂,使得方案無法適用于輕量級設備.為了降低簽名算法中高昂的計算代價,1989 年,Even 等人[1]提出在線/離線簽名方案,在線/離線簽名通過將簽名算法分為在線、離線階段,在知道簽名消息之前,將高昂的計算在離線階段完成.而在在線階段運行一些輕量級計算.2010 年,Liu 等人[13]提出基于身份的在線/離線簽名方案,并給出了方案的安全性證明.為了解決文獻[13]中密鑰托管問題,2017 年,Liu 等人[14]基于無證書思想提出無密鑰托管的身份基在線/離線簽名方案.基于身份的在線/離線簽名方案雖然降低了在線簽名的計算代價,但無法實現訪問控制和用戶身份隱私保護.為了解決上述問題,Rao[15]在2017 年提出了屬性基在線/離線簽密方案,利用屬性集代替用戶身份,只有當用戶屬性集滿足訪問策略時才能產生有效簽名.為了降低簽名客戶端的計算代價,張應輝等人[16]提出可驗證的服務器輔 助屬性 基簽名方案.2021 年,Li 等 人[17-18]利用服務器輔助技術,提出了具有服務器輔助的屬性基簽名方案,將大量計算外包給服務器從而降低了計算開銷.為了解決屬性基簽名方案中的用戶身份追蹤和敏感消息隱藏問題,2021 年,李繼國等人[19]提出可追蹤的屬性基凈化簽名方案,實現了惡意簽名者身份追蹤和數據脫敏.目前,大多數密碼方案基于國外密碼技術標準設計,不符合國家網絡空間安全自主可控的發展戰略.SM9[6]是中國商用標識密碼標準,包含數字簽名、加密和密鑰交換.2018 年,Cheng 等人[20]分析了SM9 加密算法和密鑰協商協議的安全性,并給出了安全性證明.由于SM9 標識密碼算法是通過橢圓曲線上的指數運算和配對運算實現,因此計算代價高昂,無法在輕量級設備上使用.為了提高SM9 標識簽名計算性能,王松等人[21]提出了SM9 標識簽名及其驗證算法快速實現方案,但無法降低簽名過程中的計算代價.2021 年,Lai 等人[22]利用在線/離線簽名技術,提出了基于商密SM9 的在線/離線簽名方案,在知道簽名消息之前,它將指數運算和配對運算在離線階段完成,而在線階段只運行Hash 運算或乘法運算,從而有效降低了在線階段的計算代價.為了實現1 對多的數據通信,2021 年,文獻[23]提出了基于商密SM9 的高效標識廣播加密方案.文獻[17?23]僅實現簽名或加密功能,為了同時實現數字簽名和數據加密,文獻[24]提出了基于商密SM9 的高效標識簽密,僅執行1 次操作就能完成簽名和加密計算,有效降低了計算開銷.
本文貢獻主要有:
本文首次提出基于商密SM9 的屬性基在線/離線簽名方案(attribute-based online/offline signature,ABOOS),提出的方案不僅可以獲得細粒度訪問控制功能,并且通過將指數運算和配對運算在離線階段完成,降低了在線階段的計算代價,能夠適用于物聯網等應用環境.本文在隨機諭言機模型下證明了ABOOS 的安全性,安全性可規約到q-SDH 困難問題假設.通過Charm 平臺,實例化提出的方案并給出性能分析.
本節介紹文中用到的相關知識,包括雙線性映射、分叉引理、q-SDH 困難問題.
給定安全參數κ,生成1 個雙線性元組BP=(G1,G2,GT,e,p).其 中G1,G2,GT是素數p階的 循環群.令P是G1的1 個生成元,Q是G2的1 個生成元,1 個雙線性映射e:G1×G2→GT具有3 個性質.
1)雙線性.對任意P∈G1,Q∈G2和任意a,b∈Z?p,有e(aP,bQ)=e(P,Q)ab.
2)非退化性.對任意P∈G1,Q∈G2,有e(P,Q)≠1.
3)可計算性.對任意P∈G1,Q∈G2,e(P,Q)可以被有效計算.
此外,在G1和G2之間存在1 個有效且能公開計算的同構映射ψ:G2→G1,即ψ(Q)=P,其中P,Q分別是G1,G2的生成元.
q-SDH 困難問題.令P,Q分別為G1,G2的生成元,在(G1,G2)群上的q-SDH 問題可表述為:給定q+2個元素的元組(P,Q,aQ,a2Q,…,aqQ),找到1 對元素
(t,ε)?q-SDH 困難問題假設:若不存在概率多項式時間t的算法至少以不可忽略的概率 ε解決(G1,G2)上的q-SDH 問題,則稱q-SDH 問題在(G1,G2)是(t,ε)困難的.
本文使用分叉引理[25]證明方案的安全性.為了便于描述,簡單回顧如下.令 T為一個輸入僅包含公共信息的概率多項式時間的圖靈機,在進行qs次簽名詢問和qh次隨機諭言機詢問后,敵手A可以在概率多項式時間t內,以ε ≥10(qs+1)(qs+qh)/2κ的概率產生1個有效消息簽名元組(M,σ1,h,σ2),其中M表示消息,h是關于元組(M,σ1)的Hash 值,σ2表示僅與M,σ1,h相關的值.若元組(σ1,h,σ2)能夠在不知道簽名密鑰的情況下以不可區分的分布概率進行模擬,那么就存在另一臺概率多項式時間的圖靈機 T′能夠在理想時間t′≤120686qht/ε時,通過控制敵手A模擬替換與簽名者的交互并產生2 個有效消息簽名元組(M,σ1,h,σ2)和使得h≠h′.
本節給出ABOOS 方案的形式化定義和安全模型.圖1 給出了方案的系統框架,其中包括3 個實體:屬性授權機構、輕量級簽名設備和驗證設備.屬性授權機構為簽名設備產生密鑰skωj,簽名設備在未知消息之前先通過離線階段進行預計算產生離線簽名σoff,然后再通過在線階段產生在線簽名 σon,最終將在線簽名σon和消息M發送給驗證設備.若簽名有效,驗證設備返回accept;否則,返回reject.
在線/離線屬性基簽名方案由4 個階段構成.
1)設置.該算法輸入安全參數 κ,輸出公開參數params和主密鑰msk.屬性授權機構保留主密鑰msk.
2)密鑰生成.算法輸入公開參數params、主密鑰msk和訪問策略 A,輸出簽名密鑰
3)簽名.該階段分為離線簽名和在線簽名2 個階段.具體算法為:
①離線簽名.算法輸入公開參數params和簽名者密鑰輸出離線簽名σoff;
②在線簽名.算法輸入公開參數params、簽名者屬性集ωj、離線簽名σoff、簽名者密鑰和消息M,輸出在線簽名 σon.
4)驗證.算法輸入公開參數params,消息M和在線簽名 σon.若簽名有效,則輸出accept;否則,輸出reject.
借鑒文獻[22]的思想,本節定義在選擇消息和選擇策略下的存在不可偽造游戲,算法B和敵手A的具體交互為:
初始化.A首先聲明將要挑戰的訪問策略 A?和A?中的一個屬性集發送給B.
設置.B執行設置算法,輸入安全參數 κ,輸出公開參數params和主密鑰msk,將公開參數params發送給A,自己保留主密鑰msk.
密鑰詢問.A詢問關于訪問策略 A和屬性集 ωj的密鑰,其中ωj?A?.B執行密鑰生成算法生成密鑰并發送給A.
簽名詢問.A詢問關于屬性集 ωj和消息M的簽名,B首先執行離線簽名算法生成離線簽名σoff,再執行在線簽名算法生成在線簽名 σon.最后,將在線簽名σon發送給A.

Fig.1 The framework of ABOOS scheme圖1 ABOOS 方案框架
定義 1.如果對于所有概率多項式時間t的敵手進行至多qk次密鑰生成詢問和至多qs次簽名詢問它贏得上述不可偽造性游戲的概率是可忽略的,那么提出的方案在選擇消息和策略下具有存在性不可偽造.,
借鑒文獻[26]的思想,可以從基于身份(identity based signature,IBS)方案構造ABS 方案,再利用原始的SM9 標識簽名方案構造基于商密SM9 的屬性基在線/離線簽名方案.在方案中,令系統屬性域為U={att1,att2,…,attu},訪問策略A={A1,A2,…,An}表示1 組授權屬性集,其中Ai=ωj={attj1,attj2,…,attjd}表示簽名者屬性集,其中u=|U| ,n=|A|,1 ≤si≤u且1 ≤d≤u.若ωj∈A,稱屬性集 ωj滿足訪問策略 A.設置算法?(ω,U)將屬性集 ω轉換為1 個二進制標識IDω,?(ω,U)定義為:首先輸入屬性集 ω,系統屬性域U,令IDω[i]表示IDω的第i位,若atti∈ω,令IDω[i]=1;否則,令IDω[i]=0.其 中1 ≤i≤u,u=|U|.然后算法輸出IDω.最后調用算法?(ω,U)將訪問策略A={A1,A2,…,An}轉換成一個二進制標識集合I=
ABOOS 方案包含5 個算法:設置、密鑰生成、在線簽名、離線簽名和驗證.
5)驗證.當驗證者獲得消息簽名對(M,σon)=(M,(h,τ,y,S)),可以通過執行算法驗證簽名.1)計算t=gh;2)計算P=yP2+Ppub;3)計算β=e(τ·S,P);4)計算w′=β·t;5)計算h2=H2(M||w′,p).檢查等式h2=h是否成立.若成立,則簽名有效,輸出accept;否則,輸出reject.
若簽名者產生1 個有效簽名,那么該簽名可以通過驗證算法.正確性分析為:
因此h2=H2(M||w′,p)=H2(M||w,p)=h.所以提出的方案滿足正確性要求.
本節給出ABOOS 方案的安全性證明,基于q-SDH 困難問題假設提出的方案在選擇消息和選擇策略下具有存在性不可偽造.
為了解決物聯網環境中輕量級設備計算受限而無法執行高昂的計算和用戶隱私保護問題,本文提出了基于商密SM9 的屬性基在線/離線簽名方案(ABOOS),提出的方案同時具有細粒度訪問控制功能.通過與已有工作[12,17,27-28]相比,分析本文方案優勢.文獻[12]給出了支持非單調訪問策略的屬性基簽名方案,方案具有匿名性并且實現了細粒度訪問控制,但簽名和驗證階段需要大量的指數運算和配對運算,計算開銷大.為了提高簽名和驗證算法的效率,文獻[27?28]提出了高效的屬性基簽名方案,它通過減少運算中使用的配對運算提高了算法的效率,但仍無法高效地適用于輕量級設備.為進一步降低驗證過程的計算開銷,文獻[17]提出了具有服務器輔助驗證的屬性基簽名方案,它通過將大量計算外包給云服務器降低了本地的計算開銷.文獻[12,17,27?28]的方案是基于國外密碼技術標準設計的,不符合國家網絡空間安全自主可控的發展戰略.本文提出的基于商密SM9 的屬性基在線/離線簽名方案,不僅具有簽名者匿名性和細粒度訪問控制,并且有效降低了輕量級設備的簽名計算代價.而且方案是在商密SM9 標識簽名算法標準下設計的,符合國家核心技術自主創新的發展戰略.方案性能對比如表1 所示.

Table 1 Performance Comparison of Schemes表1 方案性能比較
本方案與文獻[27?28]的計算開銷和通信開銷比較如表2 和 表3 所 示.基于Ubuntu 18.4,本文在Charm0.5 框架下實現了所提的方案.使用Intel(R)Core(TM) i5-3230M CPU @2.60GHz,4GB RAM 性能計算機,利用Charm 庫中的超奇異橢圓曲線(SS512)測試方案.實驗中群的階p為512b 的大素數.在計算機上測試主要密碼學操作開銷,經過1 000 次測量取平均值后得到實驗中配對運算所需時間為12.58 ms,在群G1和G2中執行指數運算所需時間分別為4.97 ms和5.02 ms,在群GT執行指數運算的時間為8.37 ms,在群中執行乘法運算的時間為0.24 ms,執行Hash運算的時間為0.02 ms.實驗結果如圖2 所示.

Table 2 Comparison of Computation Cost of Schemes表2 方案計算開銷比較

Table 3 Comparison of Communication Cost of Schemes表3 方案通信開銷比較

Fig.2 Computation cost comparison of schemes in different phases圖2 方案在各階段的計算開銷比較
實驗仿真分析結果表明提出的ABOOS 方案采用在線/離線簽名技術使得簽名過程的各計算開銷均低于文獻[27?28]提出的高效屬性基簽名方案的.在簽名驗證過程中,本文提出的方案使用固定數量的配對運算和指數運算驗證計算開銷也遠小于文獻[27?28] .
本文在SM9 標識簽名方案的基礎上首次提出基于商密SM9 的屬性基在線/離線簽名方案(ABOOS).該方案不僅適用于物聯網環境,同時還實現了細粒度訪問控制功能.基于q-SDH 困難問題,本文在隨機諭言機模型下證明了該方案的安全性.通過與現有屬性基簽名方案的對比分析可知,提出的方案更適用于物聯網環境.
作者貢獻聲明:朱留富負責提出初步方案,實驗設計、論文初稿撰寫和修改;李繼國負責論文思路構建、理論指導、方案分析和論文修改;賴建昌、黃欣沂和張亦辰負責論文方案分析、論文潤色和修改.