密碼學與網絡安全分流的關係(網絡安全與密碼學)
2023-10-26 03:18:26 1
1、網絡安全威脅
破壞網絡安全的一些理論方式:
竊聽:竊聽信息,在網路通信雙方直接進行竊聽。
插入:主動在網絡連接中插入信息(可以在message中插入惡意信息)
假冒:偽造(spoof)分組中的源地址,假冒客戶端或伺服器。
劫持:通過移除/取代發送方發或接收方「接管」(take over)連接
拒絕服務(DOS):阻止伺服器為其他用戶提供服務。
破壞網絡安全的一些實踐方式:
映射(mapping):①探路。②ping命令獲取主機地址。③埠掃描(nmap www.insecure.org/nmap/)
嗅探(sniffing):在廣播介質(共享的乙太網或無線網絡中),混雜(promiscuous)模式的網絡接口卡,可以接受所有經過的分組。(wireshark就是一個分組嗅探軟體)
ip欺騙(spoofing)發送分組的源ip地址可以任意改寫。網絡攻擊中大量使用ip欺騙。(應對策略,入口過濾:路由器不轉發源ip地址不屬於此網絡的分組)
DOS拒絕服務攻擊:向接受方惡意泛洪(flood)分組,淹沒(swamp)接受方(即耗盡接受方的資源)。
DDOS分布式拒絕服務攻擊:入侵網絡中的主機,構建殭屍網絡(肉雞),發動殭屍網絡同時攻擊目標伺服器。
反射式DDOS攻擊:控制殭屍網絡,選擇反射伺服器,運用ip欺騙將請求發向反射伺服器,反射伺服器將服務響應發送給要攻擊的伺服器。
DOS應對策略:過濾泛洪分組,追溯攻擊源,SYN cookie(測試第三次握手的確認序列號)
2、密碼學(cryptography)
密碼學基本概念:
明文(plaintext)--->加密算法(已知) 秘鑰KA(未知)---->密文(ciphertext)---->解密算法 秘鑰KB ---->明文。 m = KB(KA(m))
對稱秘鑰加密:KA == KB。 明文m = KS(KS(m))
非對稱秘鑰加密(公開秘鑰加密):KA ,KA-;KB ,KB-;m = KB-(KB (m))
破解加密方法:暴力破解;統計分析(對傳統加密方法很有效);
傳統加密方式:
替代密碼:利用一種東西替代另一種東西
凱撒密碼(Casesar cipher):利用字母表中後面的第k個字母替換當前字母;如果k=3,則a->d;b->e,c->f...........x->a;y->b;z->c。
單字母替代:每一個字母都有一個固定的替代值。
多字母替代:明文不同位置的字母使用不同的單碼替代密碼。
換位密碼:
置換法:將明文劃分為固定長度(d)的分組,每個分組內的字母按置換規則(f)變換位置,秘鑰(d,f)
現代加密技術:
不在針對一個個字母處理,而是針對二進位位操作
對稱秘鑰加密:(存在秘鑰分發問題,如何讓對方知道加密秘鑰)
流密碼:秘鑰流z = z0z1z2z3....;明文流(串)x = x0x1x2x3.....;加密y = y0y1y2...... = Ez0(x0)Ez1(x1)Ez2(x2).....。解密時,使用相同的秘鑰流與密文做異或運算(XOR)
分組密碼:將明文劃分長度為m的明文組(m = 64bit,128bit,256bit等);各明文組在長為i的秘鑰組的控制下變成長為n的密文組。通常m == n。
Feistel分組密碼結構(思想):DES(Date Encryption Standard)加密算法(IBM公司研製,1998年12不在成為加密標準)。分組長度64bit(左32bit,右32bit),56bit初始秘鑰,16次迭代加密。
AES(Advanced Encryption Standard)加密算法(Rijndael加密算法):不屬於Feistel結構,數據塊長度(128/192/256bit),秘鑰(128/192/256bit),10輪加密,安全性更高,如果1秒破解DES,則需要149萬億年破解AES。
非對稱秘鑰加密(公開秘鑰加密):
RAS加密算法,前提條件:
秘鑰生成:
確實有點難。。。先到這裡
3、身份認證
身份認證過程中存在:假冒身份,ip欺騙,回放攻擊。
提出一種機制:一次性隨機數(nonce)
存在問題:在傳輸過程開始時必須知道本次通信的秘鑰KA-B(對稱秘鑰)。
存在問題:中間人攻擊
4、消息完整性和數字籤名
message integrity:確定來自聲稱的發送發,傳輸過程中沒有被篡改(內容,時間,順序),持有期被修改,抵賴(發送方抵賴,接收方抵賴)。
密碼散列函數:H(m) ,m為message。
特性:散列算法公開;H(m)足夠快;對於任意長度message均生成定長的輸出;不同message不能產生相同散列值,根據散列值不能倒推出message。
MD5算法:通過4個步驟,對任意長度的message輸出128bit的散列值。不是足夠安全,1996曾被找到兩個不同的512bit塊在MD5算法下產生兩個相同的散列值。
SHA-1:消息長度不超過2的64次方bit,散列值固定160bit,速度慢於MD5,安全性高於MD5。
message digests(消息摘要):H(m) 可以作為m的數字指紋。
message認證:將message 和 message digests組成新的message發送。(m,H(m))。存在問題:偽造m
message認證碼(MAC):m s認證秘鑰 H數列函數 ---->(m,H(m s))。如果s為對稱秘鑰,存在接受方和發送方抵賴問題。
數字籤名(Digital signatures):
要求:可驗證性,不可偽造性,不可抵賴性。
採用私鑰加密技術,將私鑰加密的密文和message一起發送給接收方。(m,KB-(m))。缺點:message過大,因此加密後的KB-(m)太大,導致速度慢
採用籤名消息摘要:(m,KB-(H(m)))。解決數字籤名問題。
5、秘鑰分發:
在身份認證中,對稱秘鑰如何分發?
機制:秘鑰分發中心(KDC):在網絡上是一個伺服器的存在,這是一個可信任機構。
在KDC上註冊自己的秘鑰(對稱秘鑰,此秘鑰只有用戶和KDC知道)。
機制:認證中心(CA):在網絡上是一個伺服器的存在,這是一個可信任機構。
在CA上註冊公鑰 ---->生成公鑰證書
6、總結:
①如何建立安全的傳輸:秘鑰分發中心和認證中心,有了這兩個可以說在用戶之間建立連接時是安全的,意味著不會和第三方(惡意中間方)建立連接。在認證中心中用到了私鑰和公鑰技術,但這是為了解決身份問題(在建立連接時的身份問題)
②如何在傳輸中保持數據安全:對稱加密中隨機的R1(對稱秘鑰)加密數據。非對稱加密中使用私鑰加密和公鑰解密。
③如何保證傳輸的數據不會讓對方抵賴。對明文進行hasn算法得到固定的消息摘要H(m),再對消息摘要進行私鑰加密KB-(H(m)),最後得到新消息(m,KB-(H(m)))。傳輸過程可以為:密文 = KA ((m,KB-(H(m)))),即可保證傳輸安全性,又可保證不可抵賴性。
④有一個很重要的概念:私鑰加密的數據公鑰解密,公鑰加密的數據私鑰解密。
,