1、網(wǎng)絡(luò)安全威脅
破壞網(wǎng)絡(luò)安全的一些理論方式:
竊聽:竊聽信息,在網(wǎng)路通信雙方直接進(jìn)行竊聽。
插入:主動(dòng)在網(wǎng)絡(luò)連接中插入信息(可以在message中插入惡意信息)
假冒:偽造(spoof)分組中的源地址,假冒客戶端或服務(wù)器。
劫持:通過移除/取代發(fā)送方發(fā)或接收方“接管”(take over)連接
拒絕服務(wù)(dos):阻止服務(wù)器為其他用戶提供服務(wù)。
破壞網(wǎng)絡(luò)安全的一些實(shí)踐方式:
映射(mApping):①探路。②ping命令獲取主機(jī)地址。③端口掃描(nmap www.insecure.org/nmap/)
嗅探(sniffing):在廣播介質(zhì)(共享的以太網(wǎng)或無線網(wǎng)絡(luò)中),混雜(promiscuous)模式的網(wǎng)絡(luò)接口卡,可以接受所有經(jīng)過的分組。(wireshark就是一個(gè)分組嗅探軟件)
ip欺騙(spoofing)發(fā)送分組的源ip地址可以任意改寫。網(wǎng)絡(luò)攻擊中大量使用ip欺騙。(應(yīng)對(duì)策略,入口過濾:路由器不轉(zhuǎn)發(fā)源ip地址不屬于此網(wǎng)絡(luò)的分組)
DOS拒絕服務(wù)攻擊:向接受方惡意泛洪(flood)分組,淹沒(swamp)接受方(即耗盡接受方的資源)。
DDoS分布式拒絕服務(wù)攻擊:入侵網(wǎng)絡(luò)中的主機(jī),構(gòu)建僵尸網(wǎng)絡(luò)(肉雞),發(fā)動(dòng)僵尸網(wǎng)絡(luò)同時(shí)攻擊目標(biāo)服務(wù)器。
反射式DDOS攻擊:控制僵尸網(wǎng)絡(luò),選擇反射服務(wù)器,運(yùn)用ip欺騙將請(qǐng)求發(fā)向反射服務(wù)器,反射服務(wù)器將服務(wù)響應(yīng)發(fā)送給要攻擊的服務(wù)器。

DOS應(yīng)對(duì)策略:過濾泛洪分組,追溯攻擊源,SYN cookie(測(cè)試第三次握手的確認(rèn)序列號(hào))

2、密碼學(xué)(cryptography)
密碼學(xué)基本概念:
明文(plaintext)--->加密算法(已知) + 秘鑰KA(未知)---->密文(ciphertext)---->解密算法 + 秘鑰KB ---->明文。 m = KB(KA(m))
對(duì)稱秘鑰加密:KA == KB。 明文m = KS(KS(m))
非對(duì)稱秘鑰加密(公開秘鑰加密):KA+,KA-;KB+,KB-;m = KB-(KB+(m))
破解加密方法:暴力破解;統(tǒng)計(jì)分析(對(duì)傳統(tǒng)加密方法很有效);
傳統(tǒng)加密方式:
替代密碼:利用一種東西替代另一種東西
凱撒密碼(Casesar cipher):利用字母表中后面的第k個(gè)字母替換當(dāng)前字母;如果k=3,則a->d;b->e,c->f...........x->a;y->b;z->c。
單字母替代:每一個(gè)字母都有一個(gè)固定的替代值。
多字母替代:明文不同位置的字母使用不同的單碼替代密碼。

換位密碼:
置換法:將明文劃分為固定長(zhǎng)度(d)的分組,每個(gè)分組內(nèi)的字母按置換規(guī)則(f)變換位置,秘鑰(d,f)

現(xiàn)代加密技術(shù):
不在針對(duì)一個(gè)個(gè)字母處理,而是針對(duì)二進(jìn)制位操作
對(duì)稱秘鑰加密:(存在秘鑰分發(fā)問題,如何讓對(duì)方知道加密秘鑰)
流密碼:秘鑰流z = z0z1z2z3....;明文流(串)x = x0x1x2x3.....;加密y = y0y1y2...... = Ez0(x0)Ez1(x1)Ez2(x2).....。解密時(shí),使用相同的秘鑰流與密文做異或運(yùn)算(XOR)

分組密碼:將明文劃分長(zhǎng)度為m的明文組(m = 64bit,128bit,256bit等);各明文組在長(zhǎng)為i的秘鑰組的控制下變成長(zhǎng)為n的密文組。通常m == n。
Feistel分組密碼結(jié)構(gòu)(思想):DES(Date Encryption Standard)加密算法(IBM公司研制,1998年12不在成為加密標(biāo)準(zhǔn))。分組長(zhǎng)度64bit(左32bit,右32bit),56bit初始秘鑰,16次迭代加密。
AES(Advanced Encryption Standard)加密算法(Rijndael加密算法):不屬于Feistel結(jié)構(gòu),數(shù)據(jù)塊長(zhǎng)度(128/192/256bit),秘鑰(128/192/256bit),10輪加密,安全性更高,如果1秒破解DES,則需要149萬億年破解AES。
非對(duì)稱秘鑰加密(公開秘鑰加密):
RAS加密算法,前提條件:

秘鑰生成:

確實(shí)有點(diǎn)難。。。先到這里
3、身份認(rèn)證
身份認(rèn)證過程中存在:假冒身份,ip欺騙,回放攻擊。
提出一種機(jī)制:一次性隨機(jī)數(shù)(nonce)

存在問題:在傳輸過程開始時(shí)必須知道本次通信的秘鑰KA-B(對(duì)稱秘鑰)。

存在問題:中間人攻擊

4、消息完整性和數(shù)字簽名
message integrity:確定來自聲稱的發(fā)送發(fā),傳輸過程中沒有被篡改(內(nèi)容,時(shí)間,順序),持有期被修改,抵賴(發(fā)送方抵賴,接收方抵賴)。
密碼散列函數(shù):H(m) ,m為message。
特性:散列算法公開;H(m)足夠快;對(duì)于任意長(zhǎng)度message均生成定長(zhǎng)的輸出;不同message不能產(chǎn)生相同散列值,根據(jù)散列值不能倒推出message。

MD5算法:通過4個(gè)步驟,對(duì)任意長(zhǎng)度的message輸出128bit的散列值。不是足夠安全,1996曾被找到兩個(gè)不同的512bit塊在MD5算法下產(chǎn)生兩個(gè)相同的散列值。
SHA-1:消息長(zhǎng)度不超過2的64次方bit,散列值固定160bit,速度慢于MD5,安全性高于MD5。
message digests(消息摘要):H(m) 可以作為m的數(shù)字指紋。
message認(rèn)證:將message 和 message digests組成新的message發(fā)送。(m,H(m))。存在問題:偽造m
message認(rèn)證碼(mac):m + s認(rèn)證秘鑰 + H數(shù)列函數(shù) ---->(m,H(m+s))。如果s為對(duì)稱秘鑰,存在接受方和發(fā)送方抵賴問題。
數(shù)字簽名(Digital signatures):
要求:可驗(yàn)證性,不可偽造性,不可抵賴性。
采用私鑰加密技術(shù),將私鑰加密的密文和message一起發(fā)送給接收方。(m,KB-(m))。缺點(diǎn):message過大,因此加密后的KB-(m)太大,導(dǎo)致速度慢
采用簽名消息摘要:(m,KB-(H(m)))。解決數(shù)字簽名問題。
5、秘鑰分發(fā):
在身份認(rèn)證中,對(duì)稱秘鑰如何分發(fā)?
機(jī)制:秘鑰分發(fā)中心(KDC):在網(wǎng)絡(luò)上是一個(gè)服務(wù)器的存在,這是一個(gè)可信任機(jī)構(gòu)。
在KDC上注冊(cè)自己的秘鑰(對(duì)稱秘鑰,此秘鑰只有用戶和KDC知道)。

機(jī)制:認(rèn)證中心(CA):在網(wǎng)絡(luò)上是一個(gè)服務(wù)器的存在,這是一個(gè)可信任機(jī)構(gòu)。
在CA上注冊(cè)公鑰 ---->生成公鑰證書


6、總結(jié):
①如何建立安全的傳輸:秘鑰分發(fā)中心和認(rèn)證中心,有了這兩個(gè)可以說在用戶之間建立連接時(shí)是安全的,意味著不會(huì)和第三方(惡意中間方)建立連接。在認(rèn)證中心中用到了私鑰和公鑰技術(shù),但這是為了解決身份問題(在建立連接時(shí)的身份問題)
②如何在傳輸中保持?jǐn)?shù)據(jù)安全:對(duì)稱加密中隨機(jī)的R1(對(duì)稱秘鑰)加密數(shù)據(jù)。非對(duì)稱加密中使用私鑰加密和公鑰解密。
③如何保證傳輸?shù)臄?shù)據(jù)不會(huì)讓對(duì)方抵賴。對(duì)明文進(jìn)行hasn算法得到固定的消息摘要H(m),再對(duì)消息摘要進(jìn)行私鑰加密KB-(H(m)),最后得到新消息(m,KB-(H(m)))。傳輸過程可以為:密文 = KA+((m,KB-(H(m)))),即可保證傳輸安全性,又可保證不可抵賴性。
④有一個(gè)很重要的概念:私鑰加密的數(shù)據(jù)公鑰解密,公鑰加密的數(shù)據(jù)私鑰解密。