亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種改進的基于SM2的代理簽名方案

        2019-04-12 06:38:28宋靖文張大偉孟吳同劉曉東
        鄭州大學學報(理學版) 2019年2期
        關鍵詞:簽名者公鑰密鑰

        宋靖文,張大偉,孟吳同,高 凡,劉曉東

        (1.北京交通大學 計算機與信息技術學院 北京 100044;2.山東大學 網(wǎng)絡信息安全研究所 山東 濟南 250000)

        0 引言

        1996年,Mambo等[1-2]針對現(xiàn)實生活中數(shù)字簽名權力的委托問題提出了代理簽名的概念.代理簽名可以看作是數(shù)字簽名的擴展形式.RSA算法[3]、Elgamal算法[4]、Schnorr算法[5]是常用的可用于數(shù)字簽名的算法,這些算法主要依賴于離散對數(shù)問題或大數(shù)因子分解問題.1985年,Koblitz和Miller[6-7]分別提出將橢圓曲線應用到公鑰密碼系統(tǒng).橢圓曲線公鑰密碼體制依賴的橢圓曲線離散對數(shù)問題相較于前兩類難題,更加難以求解.2003年白國強等[8]設計出基于橢圓曲線的代理數(shù)字簽名;2005年張寧等[9]指出文獻[8]中原始簽名者也能生成有效的代理簽名,對此進行了改進;2007年高勝[10]對文獻[9]進一步改進,提高了方案效率.此外,其他基于橢圓曲線的代理簽名的研究也在進行.2004年紀家慧等[11]改進了ECDSA,并提出新的代理簽名體制;2007年左為平等[12]指出文獻[11]存在原始簽名者能偽造代理簽名者的普通簽名的情況,并提出避免此攻擊的方案;2010年胡蘭蘭等[13]指出文獻[12]中原始簽名者仍可偽造代理簽名,并進行改進;2017年郭青霄等[14]基于SM2算法[15]提出一種新的代理簽名方案.一般來說,不采用授權書的代理簽名方案存在一些固有的局限性[16].文獻[14]中的方案也是如此,其安全性要由證書來保證,如果沒有公開證書將代理簽名者的身份和授權信息綁定,則方案不滿足可識別性和不可否認性.

        本文借鑒文獻[17]中的授權信息的構造方法,在文獻[14]方案的基礎上加以改進,改進的方案將原方案中證書的信息加入到授權信息生成過程中,使得驗證代理簽名的同時也是在驗證證書中的內(nèi)容,從而無須額外生成和驗證證書,提高效率的同時保證了代理簽名的安全性.

        1 代理簽名

        代理簽名是指在代理簽名方案中,被指定的代理簽名者可以代表原始簽名者生成有效的簽名.

        文獻[1-2]指出代理簽名應滿足可驗證性、可區(qū)分性、不可偽造性、可識別性和不可否認性等性質(zhì).之后,文獻[18-19]在一定程度上加強了不可偽造性、可識別性、不可否認性的定義.

        可以認為代理簽名分為4大類:完全代理簽名、部分代理簽名、具有證書的代理簽名[1-2]以及具有證書的部分代理簽名[17].本文僅對后3類進行介紹.

        部分代理簽名中的代理簽名密鑰是由原始簽名者的私鑰計算生成的.代理簽名者使用代理簽名密鑰進行簽名,驗證者仍使用原始簽名者公鑰進行驗證,以確保簽名消息得到了原始簽名者的認可.

        具有證書的代理簽名方案需要借助證書來實現(xiàn)簽名權力的委托.原始簽名者需要使用私鑰對同意授權某人的文件進行簽名,生成授權證書.之后,代理簽名者使用自己的私鑰或原始簽名者為其生成的代理簽名密鑰進行簽名.驗證者不僅要對代理簽名進行驗證,還要對證書進行驗證.

        具有證書的部分代理簽名是部分代理簽名和具有證書的代理簽名的結(jié)合.原始簽名者首先對授權文件簽名,但不同于具有證書的方案,代理簽名者會結(jié)合授權文件的簽名和私有信息計算代理簽名密鑰,利用此密鑰對消息簽名.這樣,代理密鑰還是由原始簽名者私鑰計算出來的,驗證者仍使用原始簽名者公鑰驗證代理簽名,但無需再驗證授權文件的簽名,既保證了安全性,又提高了效率.

        文獻[14]的方案雖然是部分代理簽名,但可識別性和不可否認性仍需證書的保證,而證書的生成和驗證會影響方案的效率,因此,本文將設計一種更加高效的具有證書的部分代理簽名方案.

        2 文獻[14]的方案

        2.1 初始化參數(shù)

        選取SM2公鑰密碼算法[15]中推薦的橢圓曲線參數(shù),G是橢圓曲線中階為n的基點.假設Alice是原始簽名者,私鑰為dA∈[1,n-2],公鑰為PA=dAG,私鑰保密,公鑰公開;假設Bob是代理簽名者,代表原始簽名者Alice 簽名;驗證者Carol 對生成的代理簽名進行驗證.

        2.2 代理授權

        首先,Bob進行如下操作.

        B1:用隨機數(shù)生成器生成隨機數(shù)kb∈[1,n-1],計算橢圓曲線上的點Gb=kbG;

        B2:Bob將Gb發(fā)送給Alice.

        Alice收到來自Bob的信息后,進行下面的步驟:

        A1:用隨機數(shù)生成器生成隨機數(shù)ka∈[1,n-1],計算橢圓曲線上的點Ga=kaG;

        A2:計算橢圓曲線上的另一個點Gab=(x1,y1)=kaGb;

        A3:計算rab=x1modn,若rab=0則返回步驟A1;

        A5:Alice將(Ga,Gab,sA)作為授權信息發(fā)送給Bob.

        其中:Ga和Gab需要公開并在證書中與Bob的身份綁定,而sA需秘密發(fā)送給Bob.

        2.3 授權驗證及代理密鑰的生成

        Bob收到授權信息后,對授權信息進行驗證,驗證過程如下.

        2.4 代理簽名的生成

        當Bob代替Alice對消息M進行簽名時,Bob使用的簽名密鑰是dP,簽名過程如下.

        B8:用隨機數(shù)生成器生成隨機數(shù)k∈[1,n-1],計算(x3,y3)=kGab;

        B9:令r=(e+x3)modn,若r=0或r+k=n則返回步驟B8;

        B10:計算代理簽名s=((1+dP)-1(k-rdP))modn,若s=0則返回步驟B8;

        B11:此時消息M的代理簽名是(Ga,Gab,r,s).

        2.5 代理簽名的驗證

        為了驗證收到的消息M′及其代理簽名(Ga,Gab,r′,s′),驗證者Carol進行以下驗證步驟.

        C1:檢驗r′∈[1,n-1]和s′∈[1,n-1]是否成立,若不成立則驗證不通過;

        C3:計算rab=x1modn;

        C4:計算t=(r′+s′)modn,若t=0,則驗證不通過;

        2.6 方案存在的不足

        文獻[14]方案的某些性質(zhì)依賴授權證書的存在.若沒有證書,則驗證者不能識別出代理簽名生成者的身份;若一個原始簽名者授權了多個代理簽名者,則代理簽名者可以對自己生成的有效代理簽名進行否認,方案不滿足不可否認性.此外,代理簽名者可以利用已知信息偽造其他授權信息和代理簽名密鑰,進而偽造代理簽名.雖然偽造的代理簽名仍是由代理簽名者生成的,看似對方案的安全性威脅不大,但若代理簽名者為逃避責任每次都用偽造的代理簽名密鑰進行簽名,而驗證者在不知情的情況下接受了偽造的代理簽名,那么當需要確定代理簽名者身份時,即使原始簽名者記錄了授權信息與代理簽名者身份的對應關系,也無法找出代理簽名的真正生成者.

        3 改進的方案

        3.1 初始化參數(shù)

        mW:授權證書信息,可以包含原始簽名者及代理簽名者的身份信息、代理簽名者的權限等.

        其他參數(shù)與文獻[14]相同.

        3.2 代理授權

        此階段的步驟B1~B2及步驟A1~A3與2.2節(jié)相同,其他步驟為

        A4: 計算e0=H(mW‖rab);

        A6: Alice將(mW,Ga,Gab,sA)作為代理簽名的授權信息發(fā)送給Bob.

        其中:mW、Ga和Gab需要對外公開,而sA需秘密發(fā)送給Bob.

        3.3 授權驗證及代理密鑰的生成

        Bob驗證授權信息.

        B4: 計算e0=H(mW‖rab);

        3.4 代理簽名的生成

        Bob使用密鑰dP對消息M進行簽名,簽名過程同文獻[14],代理簽名的形式變?yōu)?mW,Ga,Gab,r,s).

        3.5 代理簽名的驗證

        為了驗證收到的消息M′及其數(shù)字簽名(mW,Ga,Gab,r′,s′),驗證者Carol應執(zhí)行以下操作.

        C1: 檢驗r′∈[1,n-1]和s′∈[1,n-1]是否成立,若不成立則驗證不通過;

        C3: 計算rab=x1modn;

        C5: 計算t=(r′+s′)modn,若t=0,則驗證不通過;

        3.6 正確性驗證

        3.6.2代理簽名驗證的正確性 當Carol收到正確的簽名(mW,Ga,Gab,r′,s′)時,應有R=r′.

        即k=(s′+dPt)modn,得

        3.7 安全性分析

        改進方案的安全性仍然是基于哈希函數(shù)的單向性和橢圓曲線離散對數(shù)問題的困難性.

        3.7.1不可偽造性 1) 原始簽名者的普通簽名的不可偽造性

        2) 授權信息的不可偽造性

        i) 未被授權的攻擊者偽造授權信息.偽造有效的授權信息等價于求(mW,Ga,Gab,sA),使得sAGa=rabPA+e0G成立,e0=H(mW‖rab).e0是哈希函數(shù)值,哈希函數(shù)具有單向性,因此,攻擊者必須先確定mW和rab的值.rab=x1modn,x1是Gab的橫坐標,故也要確定Gab的值,由此,rabPA+e0G的值確定.

        3) 代理簽名的不可偽造性

        如果通過構造k來確定(r,s)的值,因為(x3,y3)=kGab,r=(e+x3)modn,根據(jù)k、e和Gab的值可以進一步計算出r.由kGab=sGab+trabPA+te0G和t=(r+s)modn,可以得到kGab-r(rabPA+e0G)=s(Gab+rabPA+e0G),此時求解s意味著求解橢圓曲線離散對數(shù)問題.

        如果通過構造(r,s)來確定k的值,無論是根據(jù)kGab=sGab+trabPA+te0G對k進行求解,還是根據(jù)r=(e+x3)modn和(x3,y3)=kGab進行求解,都是求解橢圓曲線離散對數(shù)問題.

        3.7.2可區(qū)分性 1) 代理簽名(mW,Ga,Gab,r,s)的形式與普通簽名(r,s)的形式不同.2) 即使對同一代理簽名者進行多次授權,也可以對不同授權情況下生成的代理簽名加以區(qū)分.這是因為,原始簽名者和代理簽名者在每次授權過程中,生成的授權信息不同.3)mW中有代理簽名者的身份信息,所以不同代理簽名者生成的代理簽名之間也可以區(qū)分.

        3.7.3可識別性和不可否認性 有效代理簽名(mW,Ga,Gab,r,s)中的mW不能被包括代理簽名者在內(nèi)的任何人篡改.因此,一旦有效的代理簽名被生成,就可以通過mW識別出代理簽名者的身份,使得代理簽名者無法進行否認.

        4 方案實現(xiàn)

        實驗主機配置為1.80 GHz、i5-3337U CPU、4 GB RAM,系統(tǒng)為Ubuntu16.10,編程語言為Golang1.7.6.

        4.1 初始化參數(shù)

        4.1.1橢圓曲線參數(shù) 采用SM2橢圓曲線公鑰密碼算法標準[15]推薦的素數(shù)域256位橢圓曲線,即y2=x3+ax+b.對于曲線參數(shù),同樣采用SM2橢圓曲線公鑰密碼算法標準[15]中的推薦,如表1所示.

        表1 SM2公鑰密碼算法橢圓曲線參數(shù)[15]Tab.1 Elliptic curve parameters of SM2 public key cryptography algorithms[15]

        4.1.2原始簽名者公私鑰 原始簽名者的公私鑰如圖1所示.

        圖1 原始簽名者的公私鑰信息Fig.1 The public key and private key of the original signer

        4.2 方案各階段實驗結(jié)果

        代理授權的生成、代理授權的驗證及代理密鑰的生成、代理簽名的生成和代理簽名的驗證的實驗結(jié)果分別如圖2~5所示.

        4.3 方案復雜性

        文獻[14]中的方案除授權信息的生成外還有授權證書的生成.此外,驗證者驗證代理簽名時需要進行兩次驗證:一次是證書上簽名的驗證,另一次是代理簽名的驗證.假設文獻[14]中證書上的簽名為標準SM2數(shù)字簽名,表2是對標準SM2數(shù)字簽名、文獻[14]中的代理簽名方案與改進的SM2代理簽名方案的復雜性比較,由于Hash運算速度很快,橢圓曲線上的加法運算也很高效[20].故本文主要對點乘次數(shù)TM、表示模乘次數(shù)TMM、表示模逆次數(shù)TINV進行比較.實驗對3種方案的簽名和驗證時間進行了多次測試,計算得到的平均時間如表3所示.

        圖2 代理授權生成階段結(jié)果Fig.2 The results of proxy generation

        圖3 代理授權驗證及代理密鑰生成階段結(jié)果Fig.3 The results of proxy verification and proxy key generation

        圖4 代理簽名生成階段結(jié)果Fig.4 The results of proxy signature generation

        圖5 代理簽名驗證階段結(jié)果Fig.5 The results of proxy signature verification

        表2 三種方案的復雜性比較Tab.2 Comparison of the complexity of three schemes

        表3 三種方案的簽名和驗證速度比較Tab.3 Comparison of signing and verification speeds of three schemes ms

        由表3可見,標準SM2數(shù)字簽名、原SM2代理簽名方案和改進的代理簽名方案的簽名生成時間相差不大,這是因為兩種代理簽名方案中的簽名算法與標準SM2簽名算法所需運算次數(shù)相同;原SM2代理簽名方案中,總驗證時間約是標準驗證時間的2.03倍,原因是總驗證時間等于證書驗證時間與代理簽名的驗證時間之和;改進后的代理簽名方案的驗證時間接近標準SM2驗證時間的1.5倍,這是由于代理簽名驗證過程比標準簽名驗證過程多了兩次數(shù)乘運算和一次點乘運算.從總體上來說,改進方案的代理簽名生成效率與文獻[14]中的方案相近,驗證效率提高了約26%.

        5 總結(jié)

        本文分析并指出了文獻[14]方案的不足,并進行了改進.改進的方案無需可信任方生成證書,但仍能滿足可驗證性、不可偽造性、可區(qū)分性、可識別性和不可否認性.與原方案相比,雖然改進的方案中增加了部分運算,但減少了原方案中證書的生成和驗證過程.總體來說,改進方案的效率比原方案有所提高.

        猜你喜歡
        簽名者公鑰密鑰
        探索企業(yè)創(chuàng)新密鑰
        基于離散對數(shù)新的多重代理多重盲簽名方案
        密碼系統(tǒng)中密鑰的狀態(tài)與保護*
        勞動者代簽名 用人單位應否支付雙倍工資
        一種基于混沌的公鑰加密方案
        一種對稱密鑰的密鑰管理方法及系統(tǒng)
        基于ECC的智能家居密鑰管理機制的實現(xiàn)
        電信科學(2017年6期)2017-07-01 15:45:06
        基于變形ElGamal簽名體制的強盲簽名方案
        商情(2016年45期)2017-01-17 21:04:39
        HES:一種更小公鑰的同態(tài)加密算法
        SM2橢圓曲線公鑰密碼算法綜述
        青春草在线视频精品| 蜜桃视频网址在线观看| 精品黄色一区二区三区| av免费在线免费观看| 香港三日本三级少妇三级视频| 一本一道av无码中文字幕﹣百度| 国产人成精品综合欧美成人 | 中文字幕日本人妻久久久免费| 成人做爰69片免费看网站| a午夜国产一级黄片| 国产一区二区熟女精品免费| 精品人妻大屁股白浆无码| 成人午夜性a级毛片免费| 精品人妻无码视频中文字幕一区二区三区 | 三级日韩视频在线观看| 中文字幕日韩人妻少妇毛片| 亚洲女初尝黑人巨高清| 亚洲熟妇一区无码| 蜜臀av中文人妻系列| 人妻少妇精品专区性色anvn| 97午夜理论片影院在线播放| 色欲av亚洲一区无码少妇| 五月天综合网站| 日韩av他人妻中文字幕| 国产成人综合久久久久久| 亚洲啪av永久无码精品放毛片| 欧美mv日韩mv国产网站| 国产精品久久这里只有精品| av天堂在线免费播放| 亚洲伊人av天堂有码在线| 亚洲人成网站色7799| 乱子伦视频在线看| 水蜜桃一二二视频在线观看免费 | 亚洲精品中文字幕码专区| 色与欲影视天天看综合网| 99精品国产兔费观看久久99| 中文字幕第一页在线无码一区二区| 很黄很色的女同视频一区二区 | 亚洲av高清在线一区二区三区 | 色偷偷女人的天堂亚洲网| 人妻少妇精品专区性色anvn |