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