資源描述:
《可信網(wǎng)絡通信與防破解》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、<> 1、相關工作 以RSA為代表的非對稱加密體系,本質(zhì)都是利用具備單向性質(zhì)的數(shù)論原理。目前流行的非對稱加密算法主要有兩大類:一是基于大素數(shù)因子分解問題,其中最典型的就是RSA;二是基于離散對數(shù)問題,較常見的有ECC和ELGamal。利用這些數(shù)學原理,再篩選足夠長度的密鑰,黑客想要通過計算機進行暴力破解,需要花費難以想象的時間。RSA加密算法自1977年提出以來,已經(jīng)承受了黑客30多年的暴力破解攻擊,計算機的計算能力的愈強,RSA算法則愈不安全。在現(xiàn)在計算能力如此發(fā)達的今天,GPU計算,云協(xié)同計算,量子計算,無一不在質(zhì)疑著RSA的安全性。
2、1999年,RSA-155(512bits)被成功分解。2002年,RSA-158也被成功因數(shù)分解。2009年12月12日,編號為RSA-768也被成功分解。目前,銀行業(yè)所使用到的RSA加密算法,至少也為RSA-2048,甚至是RSA-4096級別?! ?、簡化的RSA可信網(wǎng)絡通信系統(tǒng) 為了介紹基于RSA體系的可信網(wǎng)絡通信模型,我們需要引入Alice和Bob這兩個人來進行解釋?! ?.1RSA公鑰與私鑰的產(chǎn)生 假設Alice想要通過一個不可靠的網(wǎng)絡(如公眾WiFi)接收Bob的一條私人訊息。她可以用以下的方式來產(chǎn)生一個公鑰和一個私鑰:
3、(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關于模r的模反元素,命名為d; (4)將p和q的記錄銷毀。至此,(N,e)是公鑰,(N,d)是私鑰。Alice將她的公鑰(N,e)傳給Bob,而將她的私鑰(N,d)藏起來?! ?.2加密消息 假設Bob想給Alice送一個消息m,他知道Alice產(chǎn)生的N和e。他使用起先與Alice約好的格式將m轉換為一個小于N的整數(shù)n,比如他可以將每一
4、個字轉換為這個字的Unicode碼,然后將這些數(shù)字連在一起組成一個數(shù)字。假如他的信息非常長的話,他可以將這個信息分為幾段,然后將每一段轉換為n。用下面這個公式他可以將n加密為c:ne≡c(modN)計算c并不復雜。Bob算出c后就可以將它傳遞給Alice。3.3解密消息Alice得到Bob的消息c后就可以利用她的密鑰d來解碼。她可以用以下這個公式來將c轉換為n:cd≡n(modN)得到n后,她可以將原來的信息m重新復原?! ?.4解碼的原理 cd≡ne-d(modN)以及ed≡1(modp-1)和ed≡1(modq-1)。由費馬小定理可證明
5、(因為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)設計 為了使上文提及的可信網(wǎng)絡通信系統(tǒng)在實際生產(chǎn)系統(tǒng)中安全應用,我們需要進行一些改進?! ?.1非對稱加密 協(xié)商密鑰,對稱加密傳輸內(nèi)容眾所周知,非對稱加密算法的速度遠遠慢于對稱加密算法。在實際的網(wǎng)絡生產(chǎn)系統(tǒng)中,所有通訊內(nèi)容全部使用非對稱加密,會帶來可觀的性能開銷,對于計算能力珍貴的設備(如智能手機)完全不可接受,但是對稱加密算法(如AES)卻有極其優(yōu)秀的
6、性能表現(xiàn)。因此,我們可以僅使用RSA算法來協(xié)商后續(xù)對稱加密是所使用的完全隨機的密鑰。協(xié)商完成后,將后續(xù)的安全性交給AES加密算法。同時,珍貴的計算能力也決定了我們不能使用太高級別的RSA加密算法。目前實際的網(wǎng)絡生產(chǎn)系統(tǒng)中,絕大多數(shù)使用的是RSA-1024甚至更低級別的加密,少部分使用到了RSA-2048級別?! ?.2防御暴力破解 本節(jié)所述的防御暴力破解,主要包括兩部分的防御。首先是RSA協(xié)商的AES密鑰,應具備與加密算法要求完全等同的值域。拿AES256舉例,實際應用過程中,常常會出現(xiàn)直接使用密碼明文,MD5哈希值作為AES密鑰的情況。在
7、密碼明文低于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
8、短于當前最強計算力破解當前RSA需要的時間t2。只要t1小于t2,就能保證整個通信系統(tǒng)的安全。當t2隨著計算能力的一步步提高而逐步變短時,本系統(tǒng)只需要相應的縮小更新