袁 科 程自偉 楊龍威 閆永航 賈春福*③ 何 源
①(河南大學計算機與信息工程學院 開封 475004)
②(河南省空間信息處理工程研究中心 開封 475004)
③(南開大學網絡空間安全學院 天津 300350)
④(河南大學國際教育學院 鄭州 450046)
現實生活中,存在著許多類似的應用場景:發送方完成消息的加密操作,并提前發送給接收方,但接收方只能在未來指定的時間解密,比如密封投標、影視作品定期上映等。如何為這些具有時間特性的應用場景提供安全解決方案?具有“向未來發送消息”特性的密碼原語,即時控性加密[1](Timed-Release Encryption, TRE)技術可以解決這一問題。TRE是一種融入時間因素的密碼學技術,密文只能在未來時間被解密,并且能夠與已有應用問題的密碼學方案進行結合,為其提供時間特性。
最新研究表明,盡管目前TRE構造已經擴展到物理方法[2,3]和區塊鏈技術[4–6],但TRE構造方案大多數仍然都是基于數學問題[1,7–16],比如基于雙線性迪菲·赫爾曼(Bilinear Diffie-Hellman, BDH)問題、基于雙線性迪菲·赫爾曼可逆(Bilinear Diffie-Hellman Inversion, BDHI)問題、基于雙線性迪菲·赫爾曼指數(Bilinear Diffie-Hellman Exponent,BDHE)問題。TRE技術最早由May[6]提出,早期的TRE方案通過解決某些特定規模的非并行計算問題,比如基于因式分解困難問題[1,17],但暴露的無法準時解密問題亟需研究者解決。為了解決接收方能夠準時解密的問題,研究者的重點主要集中在代理方法上。即在TRE方案中考慮引入一個第三方實體,也稱為時間服務器[11],可以為接收方提供一個精確的公開時間參考。時間服務器方式分為交互式和非交互式兩種。在交互式時間服務器方式中,當TRE系統用戶增多時,時間服務器可能會面臨遭受拒絕服務攻擊[18]的安全風險。此外,基于交互式時間服務器方式構造的TRE方案解密工作需要和時間服務器完成雙向交互通信過程,可能會泄露發送方[1]、接收方[11]或消息相關的隱私信息。
為了解決交互式時間服務器方式的隱私泄露問題,非交互式時間服務器方式為進一步研究的目標。非交互式時間服務器方案初始基于2次剩余問題[19]構造,消息的安全性依賴于時間服務器,該方案抵抗攻擊能力較弱。后續的基于非交互式時間服務器TRE方案,解密工作需要具備時間陷門(時間服務器對解密時間進行“類似加密”操作所得[20])和私鑰(接收方擁有)才能完成。但是TRE方案均依賴單一時間服務器發布的時間陷門進行解密,假設時間服務器遭到攻擊者/不誠實的接收方的腐敗,提前非法獲取時間陷門解密,那么就無法確保消息的機密性,而容易凸現一定的安全隱患。
針對上述問題,本文重新審視基于非交互式時間服務器方式構造的TRE模型,將時間服務器數量由1個增加到N個,并構造一種簡單高效的基于BDH問題的可證明安全的多時間服務器(Multiple Time Servers TRE, MTSTRE)方案。在多時間服務器的場景下,對不誠實的接收方而言,需要腐敗全部的時間服務器,而不是僅僅只需腐敗一個時間服務器就可以解密。類似地,對攻擊者而言,本文不考慮其是否已經獲取到合法接收方的私鑰情況,主要考慮獲取時間陷門方面。如果適當設置時間服務器數量N值,N值越大,不誠實的接收方/攻擊者所需考慮的賄賂成本也越大。
因此,相對于單時間服務器TRE方案來說,MTSTRE方案的安全性更強。但已有多時間服務器Chan等人[9]、Hristu-Varsakelis等人[10]的TRE方案既沒有給出安全性分析,也沒有給出相關的可證明安全的證明。為此,本文將給出所提方案是抗不可區分、發布時間可選、自適應選擇明文攻擊(INDistinguishable, selective release Time, adaptive Chosen-Plaintext Attack, IND-sT-CPA)的安全性證明。
定義1有限域上的離散對數問題(Discrete Logarithm Problem, DLP)。假設p,q為兩個素數,G2={gk:0≤k ≤q ?1}為 素 域Zp上 階 為q的 循 環乘法群,g為G2中的一個生成元。如果給定元素y ∈G2, 求解整數x∈Zq使得y=gx的問題,稱為有限域上的離散對數問題。
定義2有限域橢圓曲線上的離散對數問題(Elliptic Curve Discrete Logarithm Problem,ECDLP)。假設p,q為兩個素數,G1={nα:0≤n ≤q ?1}為橢圓曲線群
定義3 雙線性對。假設G1為有限域橢圓曲線上的循環加法群,G2為有限域上的循環乘法群,G1,G2群 階均為素數q。使用雙線性對技術,可以將有限域橢圓曲線上的循環加法群的困難問題規約為有限域上的循環乘法群的困難問題。雙線性映射為e:G1×G1→G2,滿足:
(1)雙線性性質。對于任意P,Q,R ∈G1,有:e(P+Q,R)=e(P,R)e(Q,R),e(P,Q+R) =e(P,Q)e(P,R)。
(2)非退化性。如果g是G1的生成元,則e(g,g)是G2的生成元。
(3)可計算性。對于任意的P,Q ∈G1,存在有效計算e(P,Q)的算法。

本方案的系統模型如圖1所示,包含的參與實體有發送方、N個時間服務器和接收方。發送方設置指定的解密時間T,對機密文件M加密并提前將對應的密文C發送給接收方。在指定的解密時間T到來時,N個時間服務器會周期性地發布各自的時間陷門。在指定的解密時間T時,接收方獲得N個時間服務器的時間陷門,再結合自己私鑰生成的時間陷門來解密密文C。

圖1 系統模型







本節給出上述基于隨機預言機模型的MTSTRE方案是抗自適應選擇明文攻擊的語義安全證明。







如果系統用戶(接收方)無法正常解密時,可以通過計算各個雙線性對運算值e(siP,H1(T))和相應的e(P,siH1(T)) 是 否相等,其中1≤i ≤N,來驗證哪一個時間服務器的時間陷門出現問題。而Chan等人[9]方案設計不同,在解密時都必須首先驗證時間服務器的時間陷門真實性,因此,效率較低。MTSTRE方案與Chan等人[9]方案和Hristu-Varsakelis等人[10]方案進行效率對比,如表2所示。
由表2可以看出,在Chan等人[9]方案中,完成整個加解密過程的計算成本相對較高。相比之下,MTSTRE方案比Hristu-Varsakelis等人[10]方案的計算效率略有提高。

表2 多時間服務器TRE方案相對耗時表
以TRE典型應用場景–密封投標為例說明實際應用場景中的效率情況。假設招標方A對某一項目進行招標,規定在“2023年1月1日上午8點整”開標,5個投標方(B1,B2,B3,B4,B5)參與投標,并設置時間服務器的數目為10個。為確保本次參與競標的公平性以及5個投標方標書的安全性,招標方A采用本文所提的MTSTRE方案。同樣采用表1中相對耗時的統計方法,那么,在Enc階段,總計算成本為31.304。在TS_Rel階段,總計算成本為1.3214。在Dec階段,總計算成本為19.697,如表3所示。

表1 其他基本運算相對于PMec運算的相對耗時統計表

表3 密封投標應用場景相對耗時統計表(PMT)
本節將通用公鑰加密GPKE方案[20]與MTSTRE方案進行結合,并且給出如下定義7通用多時間服務器時控性加密(Generic MTSTRE, GMTSTRE)方案的形式化定義。
定義7 GMTSTRE方案由發送方、接收方和N個時間服務器組成,涉及的算法6元組表示為ζGMTSTRE={Setup,TS_KeyGen,User_KeyGen,En c,TS_Rel,Dec},具體如下:
Setup(1λ)是一種初始化的概率算法。輸入安全參數λ,生成系統通用的公共參數p arams。

在GMTSTRE方案形式化定義的基礎上,給出相應的構造方法,過程如下:


為了解決目前基于非交互式時間服務器方式構造的TRE方案依賴于單時間服務器進行解密的安全問題,本文提出一種簡單高效的多時間服務器TRE方案MTSTRE。在指定解密時間時,多個時間服務器計算并發布時間陷門,用戶使用所有的時間陷門來完成解密工作。效率分析表明,與已有最有效的多時間服務器TRE方案相比,所提具體方案效率略高,且本文給出了嚴格抗自適應選擇明文攻擊的安全性證明。
本文所提方案還存在一些問題有待解決,比如如何確保多時間服務器TRE模型的實用性更強,避免少量時間服務器出現宕機等故障而拒絕發布時間陷門。因此,后續工作將繼續探索TRE和其他密碼技術的組合使用,構造用戶身份信息對時間服務器匿名和具有魯棒性的多時間服務器TRE模型。