谷錚
摘 要
網(wǎng)絡已經(jīng)普及,在給整個社會帶來巨大變革的同時,網(wǎng)絡安全形勢日益復雜和嚴峻,通過對網(wǎng)絡的攻擊能夠獲取到有價值的信息或者偽造信息進而實施欺騙能夠造成重大信息泄露和損失,并且通過網(wǎng)絡攻擊造成網(wǎng)絡癱瘓,這使得我們不禁去思考怎樣才能提高網(wǎng)絡安全性,避免造成重大損失。
【關鍵詞】網(wǎng)絡應用層 安全 HTTPS攻擊
隨著越來越多的人開始使用網(wǎng)絡,網(wǎng)絡的安全可靠就變得尤為重要,隨著網(wǎng)絡基礎協(xié)議的逐漸完善,網(wǎng)絡攻擊向應用層發(fā)展的趨勢越來越明顯,諸如應用層的DDOS攻擊、HTTPS攻擊以及DNS劫持發(fā)生的次數(shù)越來越多,特別是HTTPS由于已經(jīng)被電子商務、互聯(lián)網(wǎng)金融、政務系統(tǒng)等廣泛使用,如果遭受攻擊造成的損失和影響非常大,面對這些網(wǎng)絡應用層安全事件,應該仔細分析目前的形勢,探究發(fā)生這些事件的緣由,據(jù)此提出自己的建議。
1 應用層安全分析
網(wǎng)絡OSI模型分七層,通過示意圖我們可以看到應用層位于最頂端,目前仍然活躍并被廣泛使用的應用層協(xié)議主要有:HTTP、HTTPS、SMTP、POP3、DNS、DHCP、NTP等,常見攻擊主要利用http/https協(xié)議以及DNS協(xié)議進行。下面將就目前逐漸被廣泛應用的https進行一些分析與研究。
HTTPS原理:
1.1 內(nèi)容加密
加密算法一般分為兩種,對稱加密和非對稱加密。對稱加密就是指加密和解密使用的是相同的密鑰。而非對稱加密是指加密和解密使用了不同的密鑰。如圖1、圖2所示。
對稱加密的加密強度是挺高的,但是問題在于無法安全保存生成的密鑰。
非對稱加密則能夠很好地解決這個問題。瀏覽器和服務器每次新建會話時都使用非對稱密鑰交換算法生成對稱密鑰,使用這些對稱密鑰完成應用數(shù)據(jù)的加解密和驗證,會話在內(nèi)存中生成密鑰,并且每個對話的密鑰也是不相同的,這在很大程度上避免了被竊取的問題,但是非對稱加密在提高安全性的同時也會對https連接速度產(chǎn)生影響,下面將會探究一下非對稱加密算法,以便為下一步分析安全風險做準備
1.1.1 非對稱密鑰交換
非對稱加密出現(xiàn)主要是為了解決對稱密鑰保存的安全性不足問題,密鑰交換算法本身非常復雜,密鑰交換過程涉及到隨機數(shù)生成,模指數(shù)運算,空白補齊,加密,簽名等操作。常見的密鑰交換算法有RSA,ECDHE,DH,DHE等算法。它們的特性如下:
RSA:算法實現(xiàn)簡單,誕生于1977年,歷史悠久,經(jīng)過了長時間的破解測試,安全性高。缺點就是需要比較大的素數(shù)(目前常用的是2048位)來保證安全強度,很消耗CPU運算資源。RSA是目前唯一一個既能用于密鑰交換又能用于證書簽名的算法。
DH:diffie-hellman密鑰交換算法,誕生時間比較早(1977年),但是1999年才公開。缺點是比較消耗CPU性能。
ECDHE:使用橢圓曲線(ECC)的DH算法,優(yōu)點是能用較小的素數(shù)(256位)實現(xiàn)RSA相同的安全等級。缺點是算法實現(xiàn)復雜,用于密鑰交換的歷史不長,沒有經(jīng)過長時間的安全攻擊測試。
ECDH:不支持PFS,安全性低,同時無法實現(xiàn)false start。
建議優(yōu)先使用RSA加密,這也是目前最普及的非對稱加密算法,應用十分廣泛
非對稱密鑰交換算法是整個HTTPS得以安全的基石,充分理解非對稱密鑰交換算法是理解HTTPS協(xié)議和功能的非常關鍵的一步,下面重點探究一下RSA在密鑰交換過程中的應用。
1.1.1.1 RSA密鑰協(xié)商
(1)RSA算法介紹。RSA算法的安全性是建立在乘法不可逆或者大數(shù)因子很難分解的基礎上。RSA的推導和實現(xiàn)涉及到了歐拉函數(shù)和費馬定理及模反元素的概念。從目前來看,RSA也是HTTPS體系中最重要的算法,沒有之一。RSA的計算步驟如下:
1.隨機挑選兩個質(zhì)數(shù)p, q,假設p = 13, q = 19。 n = p * q = 13 * 19 = 247。
2.?(n)表示與整數(shù)n互質(zhì)數(shù)的個數(shù)。如果n 等于兩個質(zhì)數(shù)的積,則?(n)=(p-1)*(q-1) 挑選一個數(shù)e,滿足1< e