?

RSA型基于證書簽名方案

2023-06-03 03:20郭亞峰陳紅英
關鍵詞:公鑰密鑰證書

郭亞峰, 黃 慧, 陳紅英

(1.漳州城市職業學院 電子信息工程系,福建 漳州 363000; 2.閩南師范大學 計算機學院,福建 漳州 363000)

密碼學家Gentry[1]在2003年歐密會上首次提出基于證書公鑰密碼(certificate-based public key cryptog-raphy,CB-PKC)的概念.在CB-PKC系統中,公鑰的證書直接被用作解密或簽名密鑰的一部分,解決了傳統公鑰基礎設施(public key infrastructure, PKI)證書管理問題;另一方面,由于證書只是密鑰的一部分,還有另一部分密鑰只有用戶才知道,也解決了基于身份公鑰密碼[2](identity-based cryptography, IBC)的密鑰托管問題,證書的分發也不需要保密信道.2004年Kang等[3]將基于證書概念平移到數字簽名,研究基于證書簽名(certificate-based signature,CBS), 文獻[3]給出CBS的安全模型和第一個可證明安全的CBS方案.Wu等[4]對CBS與無證書簽名方案[5](certificateless signature,CLS)之間的關系進行了研究,提出一種從CLS到CBS的通用轉換方法,并證明該方案是安全的.2012年Li等[6]提出只有一個群元素的短CBS,其方案的簽名只是一個群元素,但方案在簽名過程、驗證過程都需要3個雙線對運算,效率并不高.為了提高CBS簽名方案的效率.Hung等[7]基于CDH假設提出了一種短CBS方案,然而,Kumar等[8]指出Hung等[7]方案不能抵抗無證書用戶的攻擊.Lu等[9]提出了一種改進的不需要隨機預言機假設的CBS方案.在標準模型下,Zhou等[10]與Wang等[11]分別提出了基于雙線性對的CBS方案.基于格和短整數解(SIS)假設,Tseng等[12]提出了一個新的高效CBS方案.Wu等[13]提出了抗泄漏CBS,可以防止側信道攻擊.左黎明等[14]也提出了一個短CBS方案. 2022年Khan等[15]將基于證書簽名方案應用于工業物聯網系統,為其提供安全保障.上述方案都使用雙線對,因此計算開銷比較大.榮維堅等[16]基于整數分解問題提出了一個可證明安全的基于證書數字簽名方案.本文主要目的是基于RSA困難性假設,提出一個新的基于證書簽名方案.提高基于證書簽名方案的效率,與已有的方案比較表明,所提出的方案在證書生成、簽名生成和簽名驗證、簽名長度方面都有明顯的優勢,可用于對帶寬需求較小的系統中.

1 預備知識

定義2(RSA困難性假設)不存在能以不可忽略的概率解RSA問題的概率多項式算法.

2 基于證書簽名

2.1 基于證書簽名的定義

基于證書簽名方案由下列5個算法組成:

建立算法:該算法通常由權威機構 (certificate authority, CA)進行,用以產生系統主密鑰對及公開參數.

用戶密鑰生成:該算法通常由用戶進行,用以產生系統用戶的主密鑰對.

證書生成:該算法通常由CA進行,用以產生用戶簽名密鑰的組成部分的證書.

簽名生成:該算法通常由用戶進行,用以產生用戶待簽名消息的簽名.

簽名驗證:該算法通常由第三方進行,對消息簽名對進行驗證,判定消息簽名對是否有效.

2.2 基于證書簽名的安全定義

2.2.1游戲1

2.2.2游戲2

3 本文方案

本文方案的算法組成如下.

建立算法(Setup):輸入系統安全參數1k,證書機構選取隨機安全大素數{pCA,qCA},然后計算NCA=pCAqCA.選取隨機eCA滿足gcd(eCAφ(NCA))=1.計算dCA滿足eCAdCA=1(modNCA).秘密保存{pCA,qCA,dCA}作為系統主私鑰SKCA, 公開{NCA,eCA}作為系統主公鑰PKCA.

用戶密鑰生成(Userkeygen):輸入系統安全參數1k,用戶ID選取隨機安全大素數{pID,qID},然后計算NID=pIDqID.選取隨機eID滿足gcd(eID,φ(NID))=1,及dID滿足eIDdID=1(modNID).設置用戶私鑰SKID={pID,qID,dID},用戶公鑰PKID={NID,eID}.

(ⅰ)計算R=reCA(modNCA).

σ2=rVh1(modNCA).

消息m的簽名為σ={σ1,σ2}.

簽名驗證(Verify):當接收者想判定σ={σ1,σ2}是否為消息m在公鑰PKCA和PKID下的有效簽名時,按下列方式進行簽名驗證.

4 安全性證明

4.1 正確性

通過下列簡單驗算可知方案生成的簽名可以通過驗證:

reCA(modNCA)=R(modNCA).

4.2 不可偽造性

本文方案的安全性基于RSA困難性假設,即若存在攻擊者A可以攻破上述基于證書簽名方案,則挑戰者C可以解RSA問題.

式中E為一次冪指數運算的時間,k為安全參數.

若coin=1,則令

由此可得RSA問題的解

概率分析:根據以上交互模擬可知,當且僅當以下事件都發生時,C可以解RSA問題.

ξ′=Pr[E1∧E2∧E3]=

Pr[E1]·Pr[E2/E1]·Pr[E3/E1∧E2].

若E1發生,則表明在簽名詢問交互過程中C的應答沒有中止,其概率至少為

此外有

式中:E為一次冪指數運算的時間,k為安全參數.

當IDj≠IDt時,令

當IDj=IDt時,C隨機選取coin∈{0,1}使得概率Pr(coin=0)=δ.若coin=0,則C令

若coin=1,則C令

無論哪種情形,若H1j=0(modeCA),則重新選擇σ,重新計算H1j.

當coin=0時, 簽名失敗,終止交互.當coin=1時,令

概率分析:根據以上交互模擬可知,當且僅當以下事件都發生時C可以解RSA問題.

因此C的優勢為

ξ′=Pr[E1∧E2∧E3]=

Pr[E1]·Pr[E2/E1]·Pr[E3/E1∧E2].

若E1發生,則表明在私鑰詢問交互過程中C沒有中止.在簽名詢問交互過程中C的應答沒有中止,故

此外

交互模擬所用時間為

由引理1和引理2直接可得下列結論.

定理1在RSA困難性假設和隨機預言機模型下,上述方案是能夠抵抗敵手適應性存在性不可偽造的.

5 性能分析

5.1 效率比較

雙線性對是公認的計算開銷比較大的運算,本文方案基于RSA困難問題,不需要雙線性對,因此效率較高.表1是本文新方案與近年來提出的已知效率較高方案的比較,其中, P、M、E分別用于標識雙線性對運算、標量乘法運算、指數運算.

表1 效率比較

比較結果顯示:本文方案在證書生成和簽名驗證方面是所有方案中最優的.雖然在簽名生成方面略差于文獻[14]的短簽名方案,但通常情況下簽名只進行一次,而簽名驗證可能會由不同人在不同時間進行多次,因此簽名驗證的效率更有意義.

5.2 實驗仿真

我們對本方案進行了實驗仿真測試,運行環境如下:操作系統: Windows 10 專業版 64位;主板: 華碩 TUF GAMING B550M-PLUS (WI-FI);處理器: AMD Ryzen 5 3500X 6-Core六核;內存:16 GB(威剛 DDR4 3 200 MHz). 采用Python語言實現本文簽名方案.

實驗結果見圖1.結果表明,本文方案在證書生成、簽名生成、簽名驗證方面非常高效.當選取安全參數1 024位時,對方案進行100次實驗測試,證書生成時間平均僅為0.023 s,簽名生成時間平均僅為0.051 s,簽名驗證時間平均僅為0.029 s. 當選取安全參數2 048位時,對方案進行100次測試,方案證書生成時間平均僅為0.163 s,簽名生成時間平均僅為0.344 s,簽名驗證時間平均僅為0.184 s.

圖1 不同安全參數方案生成時間

實驗結果表明:安全參數1 024位方案是非常高效的,非常適用于帶寬較小的設備系統;安全參數2 048位的方案非常適用于對安全要求較高的系統.

6 結語

本文基于RSA困難性假設構造了一種全新的基于證書簽名方案,與已有的方案相比,該方案具有明顯的效率優勢.下一步將研究將本簽名方案運用到云計算、物聯網、區塊鏈等實際的應用系統中,為數字信息系統提供安全性保障.

猜你喜歡
公鑰密鑰證書
WJCI 收錄證書
CSCD收錄證書
收錄證書
密碼系統中密鑰的狀態與保護*
收錄證書
一種基于混沌的公鑰加密方案
一種對稱密鑰的密鑰管理方法及系統
基于ECC的智能家居密鑰管理機制的實現
HES:一種更小公鑰的同態加密算法
SM2橢圓曲線公鑰密碼算法綜述
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合