龐天意 武傳勝
基于微信息的業(yè)務(wù)從現(xiàn)有的娛樂應(yīng)用已進入到商務(wù)應(yīng)用、電子政務(wù)和社會服務(wù)等領(lǐng)域。然而在美好景象的背后,存在著不可小視的安全問題。虛假與不良微信息的傳播;侵犯個人隱私;手機病毒的傳播以及垃圾微信的泛濫等。這些都涉及到信息的加密與解密,通信雙方身份的相互認證,信息的完整性鑒別等安全方面的問題。
數(shù)字簽名是通信雙方進行身份認證和防止抵賴必不可少的技術(shù),現(xiàn)有的大多數(shù)數(shù)字簽名方案都是基于離散對數(shù)問題,但這類簽名方案中都普遍存在著“生日攻擊”問題。由于微信息通信有著自己獨特的特點,以及Tate配對的計算量要比Weil配對幾乎少一半的性質(zhì),我們選擇了利用橢圓曲線上的Tate配對構(gòu)造了一種新的簽名加密算法,將數(shù)字簽名和加密技術(shù)融為一體,不僅能夠識別發(fā)送信息者的身份和對微信息的保密,還能有效地抵抗“生日攻擊”。在該加密算法中加入了時間標志,可以抵抗重發(fā)密文的攻擊。
一、微信息加密方案
(一)系統(tǒng)參數(shù)的建立(由一個可信中心執(zhí)行)
(二)用戶密鑰的生成
假設(shè)ID表示用戶Alice的身份,可信中心對Alice進行物理鑒定以確信ID具有唯一性后,計算QID=F(ID),dID=sQID,通過安全信道將密鑰dID發(fā)送給Alice,QID為公鑰。
二、微信息加密
手機用戶之間的微信息通信,通常以微信息業(yè)務(wù)服務(wù)商作為媒介。設(shè)手機用戶A和微信息業(yè)務(wù)服務(wù)商B的密鑰對是(dA,QA)和(dB,QB),A將微信息m發(fā)送給B,則手機用戶A依次執(zhí)行如下的加密算法:
三、微信息解密
微信業(yè)務(wù)服務(wù)商B收到(c,y1,t)后,執(zhí)行如下的解密算法:計算△t=tb-t,tb是微信業(yè)務(wù)服務(wù)商B收到微信息的時間,如果△t大于規(guī)定的時間,則拒絕解密,否則進行如下處理:
計算等式T=H(m,S,t)是否成立。當且僅當(3)和(4)兩個等式同時成立時,接受m為手機用戶A發(fā)送的有效微信息。
四、簽名加密算法的安全性分析
(一)雙層加密
該方案采用雙層加密模型,其安全性主要基于橢圓曲線加法群的離散對數(shù)問題。用橢圓曲線加密體制ECC生成對稱密碼體制AES的隨機會話密鑰K,再用AES加密明文m和(r1,r2,S,T)。選擇128比特以上的AES和256比特的ECC;為了更好的掩蓋明文m,使用AES的CFB模式來加密信息。如果攻擊者選擇攻擊密文c,則在現(xiàn)有的技術(shù)條件下直接攻擊128比特的AES是極其困難的;若選擇攻擊密鑰K,則面臨棘手的ECDLP數(shù)學難題;且密鑰K是一次性的密鑰,只使用一次此后不再有效,即使得到密鑰K也沒有多大的實用價值。Hash函數(shù)的多次使用,增強了加密解密的單向性,進一步提高了算法的安全性。
(二)密鑰交換
在該方案中,AES的隨機會話密鑰K只使用一次,以后不再使用。通信雙方可以動態(tài)的交換密鑰K,只有接收方B收到發(fā)送方A的y1后才能恢復(fù)出密鑰K。
由于dBy1=dB(k1G)=k1(dBG)=k1QB=(c1,c2),所以K=L(c1modn)。
(三)簽名驗證
該方案中數(shù)字簽名算法的安全性主要基于有限域上橢圓曲線加法群的ECDLP問題和Tate配對的BDH問題。整個簽名過程是不可偽造的,因為根據(jù)公鑰Q求私鑰d是非常困難的ECDLP問題;根據(jù)ri求隨機數(shù)Pi(i=1,2)是難度很大的BDH問題。
(四)生日攻擊
通過最后兩個等式能解出dA+P1和dA+P2,兩個式子中有三個變量dA,P1和P2,所以無法確定dA,P1和P2中的任何一個。如果使用該方案中的簽名算法簽名m次,則P1,P2重復(fù)出現(xiàn)的概率是p=[1-(Pqm//qm)]2,只有m大約等于q時,概率p才會大于0.5[1],而q是一個很大的素數(shù),所以這種情況不可能能存在。兩個隨機數(shù)P1和P2的引入,減少了兩次簽名選用相同隨機數(shù)的概率,增加了生日攻擊的難度,所以本方案可以有效的抵抗生日攻擊。