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