網(wǎng)絡剛剛興起時,接入網(wǎng)絡的設備之間的通信只要能夠正常完成就已符合需求。但在WiFi廣泛普及,移動互聯(lián)網(wǎng)深入人們?nèi)粘I畹慕裉,終端程序通信的安全性顯得尤為重要。安全從業(yè)者開始嘗試使用各種加密技術(shù)來保障通訊過程的信息安全,F(xiàn)在,基于RSA固定密鑰的經(jīng)典可信通信系統(tǒng)已經(jīng)廣泛應用于各種終端設備中。但這套經(jīng)典的通信模型并不是完美無瑕的,它面臨著諸多安全問題,從移動互聯(lián)網(wǎng)現(xiàn)狀來看,最顯著的安全問題來自暴力破解攻擊。
【摘要】本文提出了一種具備持久性防御暴力破解能力的RSA體系可信網(wǎng)絡通信系統(tǒng),其在經(jīng)典的RSA可信通信系統(tǒng)基礎上改進了通信性能,并且具備RSA層面和AES層面的防暴力破解能力,尤其適用于移動智能終端。
【關(guān)鍵詞】RSA算法,密鑰,暴力破解,可信通信
1引言
為了滿足智能設備可信網(wǎng)絡通信的要求,本文提出了一種具備持久防止暴力破解能力的RSA可信網(wǎng)絡通信系統(tǒng)。本系統(tǒng)通過安全可控的RSA公鑰私鑰對更新機制,并且考慮了智能設備實際生產(chǎn)系統(tǒng)中計算能力等問題,保證可信網(wǎng)絡通信具備實際可實施能力,并可持久抵御黑客的暴力破解,以保障智能終端設備中的各類通信系統(tǒng)的信息安全。
2相關(guān)工作
2.1RSA非對稱加密算法
RSA加密算法是一種非對稱加密算法,在公開密鑰加密和電子商業(yè)中RSA被廣泛使用,RSA算法的理論基礎是一種特殊的可逆模指數(shù)運算,它的安全性是基于分解大素數(shù)的困難程度上的。
2.2AES對稱加密算法
密碼學中的高級加密標準(AdvancedEncryptionStandard,AES),又稱Rijndael加密法,是美國聯(lián)邦政府采用的一種區(qū)塊加密標準。這個標準用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。AES現(xiàn)已成為對稱密鑰加密中最流行的算法之一。
2.3已知的針對RSA加密算法的攻擊
以RSA為代表的非對稱加密體系,本質(zhì)都是利用具備單向性質(zhì)的數(shù)論原理。目前流行的非對稱加密算法主要有兩大類:一是基于大素數(shù)因子分解問題,其中最典型的就是RSA;二是基于離散對數(shù)問題,較常見的有ECC和ELGamal。
利用這些數(shù)學原理,再篩選足夠長度的密鑰,黑客想要通過計算機進行暴力破解,需要花費難以想象的時間。RSA加密算法自1977年提出以來,已經(jīng)承受了黑客30多年的暴力破解攻擊,計算機的計算能力的愈強,RSA算法則愈不安全。在現(xiàn)在計算能力如此發(fā)達的今天,GPU計算,云協(xié)同計算,量子計算,無一不在質(zhì)疑著RSA的安全性。
1999年,RSA-155(512bits)被成功分解。2002年,RSA-158也被成功因數(shù)分解。2009年12月12日,編號為RSA-768也被成功分解。
目前,銀行業(yè)所使用到的RSA加密算法,至少也為RSA-2048,甚至是RSA-4096級別。
3簡化的RSA可信網(wǎng)絡通信系統(tǒng)
為了介紹基于RSA體系的可信網(wǎng)絡通信模型,我們需要引入Alice和Bob這兩個人來進行解釋。
3.1RSA公鑰與私鑰的產(chǎn)生
假設Alice想要通過一個不可靠的網(wǎng)絡(如公眾WiFi)接收Bob的一條私人訊息。她可以用以下的方式來產(chǎn)生一個公鑰和一個私鑰:
(1)隨意選擇兩個大的質(zhì)數(shù)p和q,p不等于q,計算N=pq;
(2)根據(jù)歐拉函數(shù),求得r=?漬(N)=?漬(p)?漬(q)=(p-1)(q-1);
。3)選擇一個小于r的整數(shù)e,求得e關(guān)于模r的模反元素,命名為d;
。4)將p和q的記錄銷毀。
至此,(N,e)是公鑰,(N,d)是私鑰。Alice將她的公鑰(N,e)傳給Bob,而將她的私鑰(N,d)藏起來。
3.2加密消息
假設Bob想給Alice送一個消息m,他知道Alice產(chǎn)生的N和e。他使用起先與Alice約好的格式將m轉(zhuǎn)換為一個小于N的整數(shù)n,比如他可以將每一個字轉(zhuǎn)換為這個字的Unicode碼,然后將這些數(shù)字連在一起組成一個數(shù)字。假如他的信息非常長的話,他可以將這個信息分為幾段,然后將每一段轉(zhuǎn)換為n。用下面這個公式他可以將n加密為c:ne≡c(modN)
計算c并不復雜。Bob算出c后就可以將它傳遞給Alice。
3.3解密消息
Alice得到Bob的消息c后就可以利用她的密鑰d來解碼。她可以用以下這個公式來將c轉(zhuǎn)換為n:
cd≡n(modN)
得到n后,她可以將原來的信息m重新復原。
3.4解碼的原理
cd≡ne-d(modN)
以及ed≡1(modp-1)和ed≡1(modq-1)。由費馬小定理可證明(因為p和q是質(zhì)數(shù))
ne-d≡n(modp)和ne-d≡n(modq)
這說明(因為p和q是不同的質(zhì)數(shù),所以p和q互質(zhì))
ne-d≡n(modpq)。
4具備防御暴力破解能力的可信通信系統(tǒng)設計
為了使上文提及的可信網(wǎng)絡通信系統(tǒng)在實際生產(chǎn)系統(tǒng)中安全應用,我們需要進行一些改進。
4.1非對稱加密協(xié)商密鑰,對稱加密傳輸內(nèi)容
眾所周知,非對稱加密算法的速度遠遠慢于對稱加密算法。在實際的網(wǎng)絡生產(chǎn)系統(tǒng)中,所有通訊內(nèi)容全部使用非對稱加密,會帶來可觀的性能開銷,對于計算能力珍貴的設備(如智能手機)完全不可接受,但是對稱加密算法(如AES)卻有極其優(yōu)秀的性能表現(xiàn)。因此,我們可以僅使用RSA算法來協(xié)商后續(xù)對稱加密是所使用的完全隨機的密鑰。協(xié)商完成后,將后續(xù)的安全性交給AES加密算法。
同時,珍貴的計算能力也決定了我們不能使用太高級別的RSA加密算法。目前實際的網(wǎng)絡生產(chǎn)系統(tǒng)中,絕大多數(shù)使用的是RSA-1024甚至更低級別的加密,少部分使用到了RSA-2048級別。
4.2防御暴力破解
本節(jié)所述的防御暴力破解,主要包括兩部分的防御。
首先是RSA協(xié)商的AES密鑰,應具備與加密算法要求完全等同的值域。拿AES256舉例,實際應用過程中,常常會出現(xiàn)直接使用密碼明文,MD5哈希值作為AES密鑰的情況。在密碼明文低于8位的情況下,值域z1為264,即使使用MD5哈希值,其值域z2也僅為2128。而實際上,AES256密鑰的值域要求z3為2256?梢钥吹,z1或者z2遠遠小于z3,減小值域會大大降低AES加密算法的安全性。
在本系統(tǒng)中,我們采用256位的全隨機數(shù)產(chǎn)生器作為AES密鑰,將AES加密算法的暴力破解難度提升至最高水平。
其次是RSA協(xié)商過程中使用到的公鑰私鑰對,應具備持久抵御暴力破解攻擊的能力。在考慮了實際生產(chǎn)系統(tǒng)計算能力有限的情況下,本系統(tǒng)引入了RSA公鑰私鑰對更新機制。具體來說,通過更新機制定期更新RSA公鑰私鑰隊,確保更新時間t1短于當前最強計算力破解當前RSA需要的時間t2。只要t1小于t2,就能保證整個通信系統(tǒng)的安全。當t2隨著計算能力的一步步提高而逐步變短時,本系統(tǒng)只需要相應的縮小更新時間t1的值,即可保證持久的防暴力破解能力。
4.3流程綜述
同樣假設Alice想要通過一個不可靠的網(wǎng)絡同Bob收發(fā)大量私人訊息。本系統(tǒng)的流程如下所述:
。1)Alice首先需要生成一個公鑰pub1和私鑰pri1,并將公鑰pub1通過不可靠網(wǎng)絡發(fā)送給Bob,自己保存好私鑰pri1;
。2)然后Alice通過256位隨機數(shù)產(chǎn)生器得到一個256位的AES密鑰pas1;
。3)緊接著,Alice使用RSA私鑰pri1加密AES密鑰pas1,pri1生成的時間t0,當前可知的最強計算能力t2這三個數(shù)據(jù),發(fā)送給Bob進行通訊協(xié)商;
。4)Bob收到Alice的協(xié)商請求后,使用先前獲得的RSA公鑰pub1解開數(shù)據(jù),得到pas1,t0和t2;
(5)Bob接著驗證當前時間t-t0是否小于t2,如果不符合要求,則打回通訊協(xié)商,要求Alice重新生成新的公鑰私鑰對,并將公鑰pub2再次提供給Bob,接著重新開始協(xié)商。直到協(xié)商成功完成,Bob通知Alice協(xié)商完成;
。6)協(xié)商完成后,Alice或者Bob想給對方發(fā)送私人訊息,只需要選取他們之前協(xié)商好的AES密鑰pasn,使用AES加密算法加密訊息內(nèi)容,通過不可靠網(wǎng)絡傳輸;
。7)接收方在接收到加密訊息后,也只需要簡單的使用pasn解密訊息即可。
從上面的流程中可以看到,通過全隨機的AES密鑰和RSA公鑰私鑰對更新機制,即使不使用性能要求非常苛刻的高強度RSA,依然能夠保證本系統(tǒng)具備持續(xù)的防御暴力破解能力。
5結(jié)束語
本文提出的系統(tǒng)結(jié)合了RSA算法和對稱加密算法的優(yōu)點,使得該系統(tǒng)既能發(fā)揮對稱加密算法速度快的優(yōu)點,又能發(fā)揮公鑰算法的優(yōu)勢,能夠在智能設備上快速,高效的建立可信的通訊通道。同時在這個系統(tǒng)里,引入了RSA公鑰私鑰對更新機制,大大提升了了本系統(tǒng)安全性,也使本系統(tǒng)具備持續(xù)的防御暴力破解能力。
參考文獻
[1]張海燕,RSA算法安全性分析,計算機安全2008.07:44-48.
[2]RSALabortories.PKCS#1v2.1:RSAEncryptionStandard.June2002.
[3]BRIANGLADMAN.ImplementationsofAES(Rijndael)inC/C++andAssembler[M].NIST,2002:1-6.
[4]WilliamStallings.CryptographyandNetworkSecurity:PrinciplesandPractice.SecondEdition[M].北京:清華大學出版社,2002.
轉(zhuǎn)載請注明來自:http://www.jinnzone.com/tongxinlw/29902.html
上一篇:數(shù)字通信雜志