前言:本站為你精心整理了可信網(wǎng)絡(luò)通信與防破解范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
1相關(guān)工作
以RSA為代表的非對稱加密體系,本質(zhì)都是利用具備單向性質(zhì)的數(shù)論原理。目前流行的非對稱加密算法主要有兩大類:一是基于大素數(shù)因子分解問題,其中最典型的就是RSA;二是基于離散對數(shù)問題,較常見的有ECC和ELGamal。利用這些數(shù)學(xué)原理,再篩選足夠長度的密鑰,黑客想要通過計算機(jī)進(jìn)行暴力破解,需要花費(fèi)難以想象的時間。RSA加密算法自1977年提出以來,已經(jīng)承受了黑客30多年的暴力破解攻擊,計算機(jī)的計算能力的愈強(qiáng),RSA算法則愈不安全。在現(xiàn)在計算能力如此發(fā)達(dá)的今天,GPU計算,云協(xié)同計算,量子計算,無一不在質(zhì)疑著RSA的安全性。1999年,RSA-155(512bits)被成功分解。2002年,RSA-158也被成功因數(shù)分解。2009年12月12日,編號為RSA-768也被成功分解。目前,銀行業(yè)所使用到的RSA加密算法,至少也為RSA-2048,甚至是RSA-4096級別。
2簡化的RSA可信網(wǎng)絡(luò)通信系統(tǒng)
為了介紹基于RSA體系的可信網(wǎng)絡(luò)通信模型,我們需要引入Alice和Bob這兩個人來進(jìn)行解釋。
2.1RSA公鑰與私鑰的產(chǎn)生
假設(shè)Alice想要通過一個不可靠的網(wǎng)絡(luò)(如公眾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)藏起來。
2.2加密消息
假設(shè)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并不復(fù)雜。Bob算出c后就可以將它傳遞給Alice。3.3解密消息Alice得到Bob的消息c后就可以利用她的密鑰d來解碼。她可以用以下這個公式來將c轉(zhuǎn)換為n:cd≡n(modN)得到n后,她可以將原來的信息m重新復(fù)原。
2.4解碼的原理
cd≡ne-d(modN)以及ed≡1(modp-1)和ed≡1(modq-1)。由費(fèi)馬小定理可證明(因為p和q是質(zhì)數(shù))ne-d≡n(modp)和ne-d≡n(modq)這說明(因為p和q是不同的質(zhì)數(shù),所以p和q互質(zhì))ne-d≡n(modpq)。
3具備防御暴力破解能力的可信通信系統(tǒng)設(shè)計
為了使上文提及的可信網(wǎng)絡(luò)通信系統(tǒng)在實際生產(chǎn)系統(tǒng)中安全應(yīng)用,我們需要進(jìn)行一些改進(jìn)。
3.1非對稱加密
協(xié)商密鑰,對稱加密傳輸內(nèi)容眾所周知,非對稱加密算法的速度遠(yuǎn)遠(yuǎn)慢于對稱加密算法。在實際的網(wǎng)絡(luò)生產(chǎn)系統(tǒng)中,所有通訊內(nèi)容全部使用非對稱加密,會帶來可觀的性能開銷,對于計算能力珍貴的設(shè)備(如智能手機(jī))完全不可接受,但是對稱加密算法(如AES)卻有極其優(yōu)秀的性能表現(xiàn)。因此,我們可以僅使用RSA算法來協(xié)商后續(xù)對稱加密是所使用的完全隨機(jī)的密鑰。協(xié)商完成后,將后續(xù)的安全性交給AES加密算法。同時,珍貴的計算能力也決定了我們不能使用太高級別的RSA加密算法。目前實際的網(wǎng)絡(luò)生產(chǎn)系統(tǒng)中,絕大多數(shù)使用的是RSA-1024甚至更低級別的加密,少部分使用到了RSA-2048級別。
3.2防御暴力破解
本節(jié)所述的防御暴力破解,主要包括兩部分的防御。首先是RSA協(xié)商的AES密鑰,應(yīng)具備與加密算法要求完全等同的值域。拿AES256舉例,實際應(yīng)用過程中,常常會出現(xiàn)直接使用密碼明文,MD5哈希值作為AES密鑰的情況。在密碼明文低于8位的情況下,值域z1為264,即使使用MD5哈希值,其值域z2也僅為2128。而實際上,AES256密鑰的值域要求z3為2256。可以看到,z1或者z2遠(yuǎn)遠(yuǎn)小于z3,減小值域會大大降低AES加密算法的安全性。在本系統(tǒng)中,我們采用256位的全隨機(jī)數(shù)產(chǎn)生器作為AES密鑰,將AES加密算法的暴力破解難度提升至最高水平。其次是RSA協(xié)商過程中使用到的公鑰私鑰對,應(yīng)具備持久抵御暴力破解攻擊的能力。在考慮了實際生產(chǎn)系統(tǒng)計算能力有限的情況下,本系統(tǒng)引入了RSA公鑰私鑰對更新機(jī)制。具體來說,通過更新機(jī)制定期更新RSA公鑰私鑰隊,確保更新時間t1短于當(dāng)前最強(qiáng)計算力破解當(dāng)前RSA需要的時間t2。只要t1小于t2,就能保證整個通信系統(tǒng)的安全。當(dāng)t2隨著計算能力的一步步提高而逐步變短時,本系統(tǒng)只需要相應(yīng)的縮小更新時間t1的值,即可保證持久的防暴力破解能力。
3.3流程綜述
同樣假設(shè)Alice想要通過一個不可靠的網(wǎng)絡(luò)同Bob收發(fā)大量私人訊息。本系統(tǒng)的流程如下所述:
(1)Alice首先需要生成一個公鑰pub1和私鑰pri1,并將公鑰pub1通過不可靠網(wǎng)絡(luò)發(fā)送給Bob,自己保存好私鑰pri1;
(2)然后Alice通過256位隨機(jī)數(shù)產(chǎn)生器得到一個256位的AES密鑰pas1;
(3)緊接著,Alice使用RSA私鑰pri1加密AES密鑰pas1,pri1生成的時間t0,當(dāng)前可知的最強(qiáng)計算能力t2這三個數(shù)據(jù),發(fā)送給Bob進(jìn)行通訊協(xié)商;
(4)Bob收到Alice的協(xié)商請求后,使用先前獲得的RSA公鑰pub1解開數(shù)據(jù),得到pas1,t0和t2;
(5)Bob接著驗證當(dāng)前時間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)絡(luò)傳輸;
(7)接收方在接收到加密訊息后,也只需要簡單的使用pasn解密訊息即可。從上面的流程中可以看到,通過全隨機(jī)的AES密鑰和RSA公鑰私鑰對更新機(jī)制,即使不使用性能要求非常苛刻的高強(qiáng)度RSA,依然能夠保證本系統(tǒng)具備持續(xù)的防御暴力破解能力。
4結(jié)束語
本文提出的系統(tǒng)結(jié)合了RSA算法和對稱加密算法的優(yōu)點(diǎn),使得該系統(tǒng)既能發(fā)揮對稱加密算法速度快的優(yōu)點(diǎn),又能發(fā)揮公鑰算法的優(yōu)勢,能夠在智能設(shè)備上快速,高效的建立可信的通訊通道。同時在這個系統(tǒng)里,引入了RSA公鑰私鑰對更新機(jī)制,大大提升了了本系統(tǒng)安全性,也使本系統(tǒng)具備持續(xù)的防御暴力破解能力。
作者:黃劭瓊薛質(zhì)金瑋斌單位:上海交通大學(xué)信息安全學(xué)院