Download presentation
Presentation is loading. Please wait.
1
第八章:電腦網路的安全性 章節目標: 了解網路安全的原則: 實際的安全性: 密碼學以及機密上的應用 認證 訊息完整性 金鑰分送 防火牆
應用程式、傳輸層、網路層、連結層的安全性 8: Network Security
2
第八章 電腦網路的安全性 8.1 何謂網路安全? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證
8.6 存取控制:防火牆 8.7 攻擊和反制 8.8 各層的安全 8: Network Security
3
何謂網路安全? 機密: 只有傳送端和所希望的接收端才能夠了解傳送訊息的內容 傳送端將訊息加密 接收端將訊息解密
認證: 傳送端和接收端希望能確認彼此的身分 訊息完整性: 傳送端和接收端希望能確認訊息不會被更改而沒有察覺 (傳輸中或之後) 可利用性和存取控制: 服務必須是使用者可利用及存取的 8: Network Security
4
朋友與敵人: Alice, Bob, Trudy 網路安全的世界中的常見情況 Bob, Alice (情人!) 想要”安全地”交談
通道 資料, 控制訊息 安全的 傳送端 安全的 接收端 資料 資料 Trudy 8: Network Security
5
誰是 Bob 與 Alice? … 嗯, 真實生活裡他們是 Bob 和 Alice! 電子交易的Web 瀏覽器/伺服器 (例如, 線上購物)
線上銀行用戶端/伺服器 DNS 伺服器 互相交換路由表更新的路由器 其它的例子? 8: Network Security
6
這裡是一些壞人 (以及壞女孩)! Q: 壞人可以做什麼? A: 很多! 竊聽: 攔截訊息 主動插入訊息到連接中
扮演: 可以假扮 (欺騙) 封包中的來源位址 (或封包中的任何欄位) 劫持: “接管” 前進的連結,移除傳送端或接收端,將他自己插入到適當的地方 阻斷服務: 妨礙其他人使用服務 (例如,使資源超出負荷) 還有更多 …… 8: Network Security
7
第八章 電腦網路的安全性 8.1 何謂網路安全? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證
8.6 存取控制:防火牆 8.7 攻擊和反制 8.8 各層的安全 8: Network Security
8
密碼學的語言 K K 對稱式金鑰密碼: 傳送端和接收端的金鑰相同 公開金鑰密碼: 加密金鑰是公開的,解密金鑰是秘密(私人的)
Alice的加密金鑰 Bob的解密金鑰 K A K B 加密演算法 明文 密文 解密演算法 明文 對稱式金鑰密碼: 傳送端和接收端的金鑰相同 公開金鑰密碼: 加密金鑰是公開的,解密金鑰是秘密(私人的) 8: Network Security
9
明文: abcdefghijklmnopqrstuvwxyz 密文: mnbvcxzasdfghjklpoiuytrewq
對稱金鑰密碼學 替代祕文:由另一文字替代原本文字 單字母加密法:由另一字母替代原來字母 明文: abcdefghijklmnopqrstuvwxyz 密文: mnbvcxzasdfghjklpoiuytrewq 範例: 明文: bob. i love you. alice 密文: nkn. s gktc wky. mgsbc Q: 這個簡單加密法的破解難度?: 暴力法 (有多難?) 其他的? 8: Network Security
10
對稱金鑰密碼學 對秤金鑰密碼學: Bob 和 Alice 共同知道同樣的金鑰 (對稱) : K 例如,在單字母加密法中,金鑰為取代樣式
A-B K A-B 加密 演算法 明文訊息,m 密文 解密 演算法 明文 K (m) K (m) A-B m = K ( ) A-B 對秤金鑰密碼學: Bob 和 Alice 共同知道同樣的金鑰 (對稱) : K 例如,在單字母加密法中,金鑰為取代樣式 Q: Bob和Alice要如何同意金鑰值? A-B 8: Network Security
11
對稱金鑰密碼學: DES DES: 資料加密標準(Data Encryption Standard) US 加密標準 [NIST 1993]
56-位元的對稱金鑰,64位元的明文輸入 DES有多安全? DES 的挑戰: 56位元金鑰加密的片語 (“Strong cryptography makes the world a safer place”) 需要4個月來解密 (暴力法) 嘗試解密沒有後門可走 讓 DES 更安全: 每一筆資料使用連續的(3-DES)金鑰 使用密碼區塊鏈 8: Network Security
12
對稱金鑰密碼學: DES DES 運作 初始排列 16 次相同的函式應用, 每一次使用不同的48位元金鑰最終排列
8: Network Security
13
AES: 進階加密標準 新的 (2001年11越) 對稱金鑰 NIST 標準,替代 DES 以 128 位元區塊處理資料
128, 192, 或 256 位元金鑰 暴力法解密 (嘗試每一個金鑰) ,DES 需要 1 秒時,AES 需要 149 兆年 8: Network Security
14
公開金鑰密碼學 對稱金鑰密碼學 公開金鑰密碼學 需要傳送端與接收端都知道共享私密金鑰。
Q:如何在第一次使用金鑰時達到共識 (尤其是”如果從來沒遇過”)? 公開金鑰密碼學 完全不同的兩個方法[Diffie-Hellman76, RSA78] 傳送端和接收端不需要分享私密金鑰 公開的加密金鑰。 (大家都知道 ) 私人的解密金鑰(只有接收端知道 8: Network Security
15
公開金鑰密碼學 K K 明文訊息,m 加密 演算法 密文 解密 演算法 明文訊息 K (m) m = K (K (m)) Bob的公開金鑰
+ Bob的公開金鑰 K B - Bob的私密金鑰 K B 明文訊息,m 加密 演算法 密文 解密 演算法 明文訊息 K (m) B + m = K (K (m)) B + - 8: Network Security
16
RSA: Rivest, Shamir, Adelson algorithm
公開金鑰密碼演算法 需求: . . + - 1 需要 K ( ) 和 K ( ) 使得 B B K (K (m)) = m B - + + 2 給定 公開金鑰 K , 應該不可能計算私密金鑰 K B - B RSA: Rivest, Shamir, Adelson algorithm 8: Network Security
17
RSA:選擇金鑰 1.選出兩個大質數 p, q (例如,每個 1024 位元 2. 計算 n = pq, z = (p-1)(q-1)
3.選擇一個 e (e < n) 且e和z沒有相同的因數 (即e, z 互質) 4.選擇一個 d 滿足 ed-1 能被 z 整除. (換言之: ed mod z = 1 ) 5.公開金鑰為 (n,e). 私密金鑰為 (n,d). K B + K B - 8: Network Security
18
RSA:加密, 解密 0.經由先前的計算得到 (n,e) 和(n,d) 1.欲加密位元樣式 m,計算 c = m mod n e e
(例如,以 n 除以 m 的餘數) 2.欲解密所接收到的位元樣式 c,計算 m = c mod n d d (例如,以 n 除以 c 的餘數) 神奇的事 發生了! m = (m mod n) e mod n d c 8: Network Security
19
RSA 範例: Bob 選擇 p=5, q=7. 則 n=35, z=24. e=5 (因此 e, z 互質).
d=29 (因此 ed-1 正好可被 z整除) e c = m mod n e 字母 m m 加密: l 12 17 c d m = c mod n d c 字母 解密: 17 12 l 8: Network Security
20
RSA: 為 什 麼 m = (m mod n) e mod n d 使用數論的結果: 假如 p,q 為質數且 n = pq, 則:
x mod n = x mod n y y mod (p-1)(q-1) (m mod n) e mod n = m mod n d ed = m mod n ed mod (p-1)(q-1) (使用上面的數論結果) = m mod n 1 (既然我們選擇 ed 可除以 (p-1)(q-1) 餘 1 ) = m 8: Network Security
21
RSA: 一個重要的特質 下面的特質在接下來非常實用: K (K (m)) = m K (K (m)) 先使用公開金鑰,然後是私密金鑰
B - + K (K (m)) = 先使用公開金鑰,然後是私密金鑰 先使用私密金鑰,然後是公開金鑰 結果是相同的! 8: Network Security
22
第八章 電腦網路的安全性 8.1 何謂網路安全? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證
8.6 存取控制:防火牆 8.7 攻擊和反制 8.8 各層的安全 8: Network Security
23
協定 ap1.0: Alice 說“ 我是Alice”
認證 目標: Bob 要求 Alice 證明她的身份 協定 ap1.0: Alice 說“ 我是Alice” “我是Alice” 失敗的情況?? 8: Network Security
24
認證 Goal: Bob 要求 Alice 證明她的身份 協定 ap1.0: Alice 說“ 我是Alice”
在網路中,Bob無法「看見」Alice,因此Trudy只要簡單地宣稱她自己是Alice “我是Alice” 8: Network Security
25
認證: 另一種嘗試 協定 ap2.0: Alice 在一個包含她的來源 IP 位址的 IP封包中說 “我是 Alice” 失敗的情況??
8: Network Security
26
Trudy 可以製造一個封包「假扮」Alice的位址
認證: 另一種嘗試 協定 ap2.0: Alice 在一個包含她的來源 IP 位址的 IP封包中說 “我是 Alice” Trudy 可以製造一個封包「假扮」Alice的位址 “我是Alice” Alice的 IP 位址 8: Network Security
27
認證: 另一種嘗試 協定 ap3.0: Alice 說 “我是Alice” 並傳送她的密碼以證明 失敗的情況?? “我是Alice” OK
IP 位址 密碼 失敗的情況?? OK Alice的 IP 位址 8: Network Security
28
重播攻擊法: Trudy 記錄Alice的封包,稍後將它重播給 Bob
認證: 另一種嘗試 協定 ap3.0: Alice 說 “我是Alice” 並傳送她的密碼以證明 Alice的 IP 位址 Alice的 密碼 “我是Alice” 重播攻擊法: Trudy 記錄Alice的封包,稍後將它重播給 Bob OK Alice的 IP 位址 “我是Alice” Alice的 IP 位址 密碼 8: Network Security
29
認證: 再另一種嘗試 協定 ap3.1: Alice 說 “我是Alice” 並傳送她的加密密碼以證明 失敗的情況?? “我是Alice”
IP 位址 加密 密碼 失敗的情況?? OK Alice的 IP 位址 8: Network Security
30
認證: 再另一種嘗試 協定 ap3.1: Alice 說 “我是Alice” 並傳送她的加密密碼以證明 記錄並重播 還是可行!
IP 位址 加密 密碼 “我是Alice” 記錄並重播 還是可行! OK Alice的 IP 位址 “我是Alice” Alice的 IP 位址 加密 密碼 8: Network Security
31
Alice 是存在的,只有Alice知道用來加密nonce的金鑰,因此她一定是Alice!
認證: 再另一種嘗試 目標: 避免重播攻擊 Nonce: 編號 (R) 在生命週期中只使用一次 ap4.0:為了要證明Alice的存在,Bob傳送 nonce, R 給Alice。Alice必須回傳 R,以分享的私密金鑰加密 “我是Alice” R K (R) A-B Alice 是存在的,只有Alice知道用來加密nonce的金鑰,因此她一定是Alice! 失敗,缺點? 8: Network Security
32
並知道只有Alice擁有私密金鑰,可以加密 R使得
認證: ap5.0 ap4.0 需要共享對稱金鑰 我們可以使用公開金鑰技巧來認證嗎? ap5.0: 使用 nonce, 公開金鑰加密法 “I am Alice” Bob 計算 R (K (R)) = R A - K + K (R) A - 並知道只有Alice擁有私密金鑰,可以加密 R使得 “將你的公開金鑰傳給我” K A + (K (R)) = R A - K + 8: Network Security
33
傳送 m 給Alice,以Alice的公開金鑰加密
ap5.0: 安全漏洞 有人在中間攻擊: Trudy 假扮成Alice (對 Bob) ,假扮成Bob (對 Alice) 我是Alice 我是Alice R T K (R) - R 將你的公開金鑰傳給我 A K (R) - T K + 將你的公開金鑰傳給我 A K + T K (m) + Trudy 得到 T m = K (K (m)) + - A K (m) + 傳送 m 給Alice,以Alice的公開金鑰加密 A m = K (K (m)) + - 8: Network Security
34
ap5.0:安全漏洞 有人在中間攻擊: Trudy 假扮成Alice (對 Bob) ,假扮成Bob (對 Alice) 很難察覺:
Bob 收到 Alice 傳送的所有訊息, 反之亦然 (例如,因此Bob和Alice可能在一週後見面並回想對話) 問題是 Trudy 也收到了所有的訊息! 8: Network Security
35
第八章 電腦網路的安全性 8.1 何謂網路安全? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證
8.6 存取控制:防火牆 8.7 攻擊和反制 8.8 各層的安全 8: Network Security
36
數位簽章 密碼技術可類比於手寫簽章 傳送者 (Bob) 數位化簽署某份文件,表示他是文件的擁有者/製造者。
可證實的,不可偽造的:接收者 (Alice) 可以確認某個人為 Bob,簽署該文件且沒有其他人(包括Alice) 簽署 8: Network Security
37
Bob的訊息 m,以他自己的私密金鑰簽署過的 (加密的)
數位簽章 訊息 m 的簡單數位簽章 : Bob 使用他的公開金鑰 KB 加密來簽署 m,產生簽署過的訊息 KB(m) - - K B - Bob的訊息, m Bob的私密金鑰 K B - (m) Dear Alice Oh, how I have missed you. I think of you all the time! …(blah blah blah) Bob Bob的訊息 m,以他自己的私密金鑰簽署過的 (加密的) 公開金鑰 加密演算法 8: Network Security
38
數位簽章 (更多) 假設Alice接收到訊息m和數位簽章 KB(m)
- 假設Alice接收到訊息m和數位簽章 KB(m) Alice 將 Bob 的公開金鑰 KB 應用到 KB(m) 並確認 KB(KB(m) ) = m ,因此驗證 Bob 簽署了 m。 假如 KB(KB(m) ) = m,任何簽署 m 的人一定使用了 Bob 的私密金鑰 + - + - + - Alice因此驗證: Bob 簽署了 m. 沒有其他人簽署 m. Bob 簽署了 m 而非 m’. 不否認: Alice 可以拿到 m, 並簽署 KB(m) 給法庭並證明 Bob 簽署了 m。 - 8: Network Security
39
訊息摘要 以公開金鑰來加密很長的訊息在計算上成本過高。 目標:固定長度,容易計算的數位 “指紋”
長訊息 m H: 雜湊 函式 以公開金鑰來加密很長的訊息在計算上成本過高。 目標:固定長度,容易計算的數位 “指紋” 使用雜湊函數 H 應用在m, 得到固定長度的訊息摘要, H(m) H(m) 雜湊函式特質: 多對一 產生固定長度的訊息摘要 (指紋) 給予訊息摘要 x, 無法以計算的方式找到另一訊息摘要m,使得 x = H(m) 8: Network Security
40
網際網路檢查和: 較差的密碼雜湊函數 網際網路檢查和具有雜湊函數的某些特質: 產生固定長度的訊息摘要 (16-位元和) 是多對一的
但是對某個給定雜湊值的給定訊息來說,很容易找到另一個具有相同雜湊值訊息: message ASCII format message ASCII format I O U 1 9 B O B 49 4F 55 31 E 39 39 42 D2 42 I O U 9 9 B O B 49 4F 55 39 E 31 39 42 D2 42 B2 C1 D2 AC B2 C1 D2 AC 不同的訊息 但是相同的檢查和! 8: Network Security
41
數位簽章 = 簽章的訊息摘要 + Alice 驗證簽章並整合數位簽章訊息: 相等 ? Bob 傳送數位簽章訊息: 長訊息 m H(m) -
函式 KB(H(m)) - 加密的 訊息摘要 H(m) 數位簽章 (加密的) Bob的私密金鑰 長訊息 m K B - Bob的公開金鑰 數位簽章 (解密) K B + KB(H(m)) - 加密的訊息 摘要 H: 雜湊 函式 + H(m) H(m) 相等 ? 8: Network Security
42
雜湊函數演算法 MD5 雜湊函數廣泛地使用 (RFC 1321) 以4個步驟的過程計算 128位元的訊息區塊
任意128位元的字串 x,顯示欲建立一訊息m,使得經由MD5雜湊出的值等於x 是很困難的。 SHA-1同樣被使用 美國標準 [NIST, FIPS PUB 180-1] 160 位元訊息摘要 8: Network Security
43
第八章 電腦網路的安全性 8.1 何謂網路安全? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證
8.6 存取控制:防火牆 8.7 攻擊和反制 8.8 各層的安全 8: Network Security
44
可信任的中間者 對稱金鑰問題: 解決方法: 公開金鑰問題: 解決方法: 在網路上兩個實體如何建立共享私密金鑰
信任的金鑰分送中心 (KDC) 做為實體的中間者 公開金鑰問題: 當Alice取得 Bob的公開金鑰 (從網站, 電子郵件,磁片), 她怎麼知道這是Bob的公開金鑰,不是Trudy的? 解決方法: 信任的憑證管理機構 (CA) 8: Network Security
45
金鑰分送中心 (KDC) Alice, Bob 需要分享對稱金鑰 KDC:對每個註冊的使用者 (許多使用者) 分享不同的私密金鑰的伺服器。
Alice, Bob 各自知道自己和KDC之間溝通用的對稱金鑰 KA-KDC KB-KDC。 KDC KB-KDC KP-KDC KA-KDC KX-KDC KP-KDC KY-KDC KZ-KDC KA-KDC KB-KDC 8: Network Security
46
Alice 和 Bob 通訊: 使用 R1 做為共享對稱加密的
金鑰分送中心 (KDC) Q: KDC 如何允許 Bob 和 Alice 決定分享對稱私密金鑰與對方通訊? KDC 產生 R1 KA-KDC(A,B) KA-KDC(R1, KB-KDC(A,R1) ) Alice 知道 R1 Bob 知道使用 R1 與 Alice通訊 KB-KDC(A,R1) Alice 和 Bob 通訊: 使用 R1 做為共享對稱加密的 會談金鑰 8: Network Security
47
憑證管理機構 憑證管理機構 (CA):將公開金鑰跟特定的實體 E 做對應 E (人,路由器) 以他的公開金鑰向CA註冊 -
認證包含了由 CA 數位簽署的 E 的公開金鑰,CA說「這是 E 的公開金鑰」 數位簽章 (加密的) K B + Bob的公開金鑰 K B + CA 私密金鑰 Bob的公開金鑰認證,由CA簽署 - Bob的身分資訊 K CA 8: Network Security
48
憑證管理機構 當 Alice 欲取得 Bob的公開金鑰: 取得Bob的憑證 (Bob 或其他地方)
將 CA 的公開金鑰應用到Bob的認證,取得Bob的公開金鑰 K B + 數位簽章 (解密) Bob的公開金鑰 K B + CA 公開金鑰 + K CA 8: Network Security
49
認證包含了: 序號 (對簽署者是唯一的) 關於認證擁有者的資訊,包括演算法以及金鑰值本身 (沒有顯示) 認證擁有者的資訊 有效日期
認證擁有者的數位簽章 8: Network Security
50
第八章 電腦網路的安全性 8.1 何謂網路安全? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證
8.6 存取控制:防火牆 8.7 攻擊和反制 8.8 各層的安全 8: Network Security
51
防火牆 防火牆 將組織的內部網路與較大的網際網路隔離,允許某些封包傳送,封鎖其他的 公眾 受管理的 網際網路 網路 防火牆
8: Network Security
52
防火牆: 為什麼 防止阻斷服務攻擊: SYN 洪流法: 攻擊者製造許多假的 TCP 連結,沒有資源留給「真的」連結
防止內部資料的非法更改/存取 例如,攻擊者更換 CIA 的網頁變成別的東西 只允許經過認證的存取進入網路 (一組經過認證的使用者/主機) 兩種型態的防火牆: 應用層級 封包過濾 8: Network Security
53
應該允許抵達的封包進入嗎? 應該讓出發的封包出去嗎?
封包過濾 應該允許抵達的封包進入嗎? 應該讓出發的封包出去嗎? 內部網路經由路由器防火牆連接到網際網路 路由器將封包一個一個地過濾, 是否要轉送/丟棄封包的決定是基於: 來源 IP 位址, 目的 IP 位址 TCP/UDP 來源和目的埠號 ICMP 訊息類型 TCP SYN 以及 ACK 位元 8: Network Security
54
封包過濾 範例 1: 將 IP 協定欄位 = 17 以及來源或目的端埠號 = 23 的進入或外出資料段封鎖
所有進入和出去的 UDP 資料流以及 telnet 連結會被封鎖 範例 2: 封鎖ACK = 0 的向內TCP資料分段 防止外部的用戶端與內部的用戶端建立TCP連線,但是允許內部的用戶端連線出去 8: Network Security
55
應用閘道器 過濾應用程式的資料封包,如同 IP/TCP/UDP的欄位 範例: 允許選擇內部使用者telnet 到外部
閘道器到遠端主機的 telnet會談 主機到閘道器的 telnet會談 過濾應用程式的資料封包,如同 IP/TCP/UDP的欄位 範例: 允許選擇內部使用者telnet 到外部 應用閘道器 路由器和過濾 1. 要求所有的telnet使用者經由閘道器telnet 2. 對認證的使用者,閘道器會設定telnet連線到目的主機。閘道器會在兩個連線間轉送資料 3. 路由器過濾封鎖所有不是來自閘道器的telnet連線 8: Network Security
56
防火牆和閘道的限制 IP 假扮: 路由器不知道資料是否「真的」來自宣稱的來源端 過濾通常對UDP使用非全有即全無的政策
假如多個應用程式有特殊需求,每個要擁有自己的應用閘道器 用戶端軟體必須知道怎麼聯繫閘道器 例如,必須在Web瀏覽器中設定代理器的 IP 位址 過濾通常對UDP使用非全有即全無的政策 取捨: 與外界通訊的程度,安全層級 許多高度保護的網站仍然被攻擊所苦 8: Network Security
57
第八章 電腦網路的安全性 8.1 何謂網路安全? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證
8.6 存取控制:防火牆 8.7 攻擊和反制 8.8 各層的安全 8: Network Security
58
網際網路安全攻擊 對應: 反制? 在攻擊之前: “勘查地形” – 尋找網路中實作的服務 使用 ping 決定哪一個主機擁有網路上的位址
埠號掃描: 依序對每一個埠號嘗試建立 TCP 連線 (看看什麼會發生) nmap ( 勘查者: “網路探索和安全審核” 反制? 8: Network Security
59
網路安全攻擊 勘查: 反制 紀錄進入網路的流量 尋找可疑的活動 (依序掃描 IP 位址、埠號) 8: Network Security
60
網路安全攻擊 封包竊聽: 廣播媒體 任意的 NIC 閱讀經過的所有封包 可以閱讀所有未經加密的資料 (例如:密碼)
例如: C 竊聽 B 的封包 A C src:B dest:A payload B 反制? 8: Network Security
61
網路安全攻擊 封包竊聽: 反制 組織內的所有主機執行軟體,定期確認是否有主機的介面為任意模式
廣播媒體( Hub 的交換乙太網路)的每個區段需要一台主機 A C src:B dest:A payload B 8: Network Security
62
網際網路攻擊 IP 偽裝: 可以直接由應用程式產生原始的 IP 封包,將任何值放入 IP 來源端位址欄 接收端無法分辨來源端是否為偽裝的
例如: C 假裝是 B A C src:B dest:A payload B 反制? 8: Network Security
63
網際網路攻擊 IP 偽裝: 入口過濾 路由器不應該轉送具有不正確來源端位址的外出封包 (例如,不在路由器網路內部的資料段來源位址)
很好,但是入口過濾無法部署在全部的網路中 A C src:B dest:A payload B 8: Network Security
64
網際網路攻擊 阻斷服務 (DOS): 惡意的洪流會產生封包將接收端淹沒 分散式 DOS (DDOS): 多個方向的來源端將接收端淹沒
例如, C 以及遠端主機 SYN-攻擊 A A C SYN SYN SYN SYN SYN B SYN 反制? SYN 8: Network Security
65
網際網路攻擊 阻斷服務 (DOS): 反制 在抵達主機前過濾出洪流的封包 (例如, SYN) : 好的跟壞的一起丟
追蹤洪流的來源 (大多數時候是無辜的,被連累的機器) A C SYN SYN SYN SYN SYN B SYN SYN 8: Network Security
66
第八章 電腦網路的安全性 8.1 何謂網路安全? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證
8.6 存取控制:防火牆 8.7 攻擊和反制 8.8各層的安全 安全的電子郵件 安全的 socket IPsec 的安全性 8: Network Security
67
. 安全電子郵件 - Alice: Alice想要傳送機密電子郵件 m 給Bob m KS + 產生隨機的對稱私密金鑰,KS
KB( ) + - KS(m ) KB(KS ) m KS KB 網際網路 Alice: 產生隨機的對稱私密金鑰,KS 以 KS將訊息加密(為了效率) 以 Bob 的公開金鑰將 KS 加密 將 KS(m) 和 KB(KS) 兩個都傳送給Bob 8: Network Security
68
. 安全電子郵件 - Bob: Alice想要傳送機密電子郵件 m 給Bob m KS + 使用他的私密金鑰解密並回復 KS
KB( ) + - KS(m ) KB(KS ) m KS KB 網際網路 Bob: 使用他的私密金鑰解密並回復 KS 使用 KS 將 KS(m) 解密,以回復 m 8: Network Security
69
. 安全電子郵件 (續) + 傳送訊息 (未加密的) 和數位簽章 Alice 想要提供傳送端的認證訊息完整性 - m
H( ) . KA( ) - + H(m ) KA(H(m)) m KA 網際網路 比較 Alice 數位簽署訊息 傳送訊息 (未加密的) 和數位簽章 8: Network Security
70
. 安全電子郵件 (續) + Alice 使用三個金鑰: 她的私密金鑰,Bob的公開金鑰,新產生的對稱金鑰
H( ) . KA( ) - + KA(H(m)) m KA KS( ) KB( ) KB(KS ) KS KB 網際網路 Alice 使用三個金鑰: 她的私密金鑰,Bob的公開金鑰,新產生的對稱金鑰 8: Network Security
71
Pretty good privacy (PGP)
網際網路電子郵件加密法,目前的標準 使用對稱金鑰加密法, 公開金鑰加密法, 雜湊函數, 以及數位簽章 提供機密、傳送端認證,完整性 創見者, Phil Zimmerman, 為三年刑期犯罪的調查對象 PGP 簽署的訊息: ---BEGIN PGP SIGNED MESSAGE--- Hash: SHA1 Bob:My husband is out of town tonight.Passionately yours, Alice ---BEGIN PGP SIGNATURE--- Version: PGP 5.0 Charset: noconv yhHJRHhGJGhgg/12EpJ+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2 ---END PGP SIGNATURE--- 8: Network Security
72
安全通訊層 (SSL) 伺服器認證: 傳輸層安全性,提供給使用SSL服務的TCP基礎的應用程式.
瀏覽器要求由信任的憑證機構所發布的伺服器憑證 瀏覽器使用 CA的公開金鑰 來解開憑證內伺服器的公開金鑰. 確認你的瀏覽器安全選單,可以見到信任憑證機構 傳輸層安全性,提供給使用SSL服務的TCP基礎的應用程式. 在Web瀏覽器與電子商務伺服器(shttp)之間使用 安全服務: 伺服器認證 資料加密 用戶端認證 (選擇性) 8: Network Security
73
SSL (續) 加密SSL會談: SSL: IETF 傳送層安全 (TLS) 的基礎
瀏覽器產生對稱的會談金鑰, 並以伺服器的公開金鑰其加密, 再將加密過的金鑰送給伺服器 伺服器使用私人金鑰解密出 會談金鑰 瀏覽器和伺服器知道會談金鑰 傳送到 TCP socket 的所有資料 (由用戶端或伺服器) 以會談金鑰加密 SSL: IETF 傳送層安全 (TLS) 的基礎 SSL 可以用在非Web的應用程式,例如, IMAP 用戶端認證能夠以用戶端憑證來完成 8: Network Security
74
IPsec: 網路層安全 網路層安全: 傳送端主機將 IP 資料中的資料加密 對 AH 和 ESP 兩者來說,來源端和目的端交握:
TCP 和UDP 資料分段; ICMP 和 SNMP 訊息 網路層認證 目的端主機可以認證來源端主機的 IP 位址 兩個主要協定: 認證標頭 (AH) 協定 封裝安全性承載 (ESP) 協定 對 AH 和 ESP 兩者來說,來源端和目的端交握: 產生網路層邏輯通道,稱為安全結合 (SA) 每個 SA 為單向的 唯一辨識: 安全協定 (AH 或 ESP) 來源端 IP 位址 32 位元的連線 ID 8: Network Security
75
認證標頭 (AH) 協定 提供來源端認證、資料完整性、沒有機密性 AH 標頭包括: 連結辨識碼 AH 標頭插入在 IP 標頭與資料欄位中間
協定欄位: 51 中間路由器如常地處理資料段 AH 標頭包括: 連結辨識碼 認證資料: 以原始的 IP 資料段計算的來源端簽署訊息摘要 下一個標頭欄位: 指定資料型態 (例如, TCP, UDP, ICMP) IP 標頭 資料 (例如, TCP, UDP 資料分段) AH 標頭 8: Network Security
76
ESP 協定 提供機密、主機認證、資料完整性 ESP 認證欄位類似 AH 認證欄位 資料, ESP 標尾加密 協定值 = 50.
認證的 加密的 ESP 標頭 ESP 標尾 ESP 認證 IP 標頭 TCP/UDP 資料分段 8: Network Security
77
IEEE 802.11 安全性 駕駛攻擊: 開車環繞舊金山灣地區, 看看有多少可連結上的 802.11 網路?
在公眾道路上,有超過 9000 個可存取的網路 85% 的使用沒有加密/認證 封包偽裝以及各種攻擊是很容易的! 安全的 加密, 認證 首先嘗試的 安全性: 有線等效機密 (WEP): 失敗 目前嘗試: i 8: Network Security
78
有線等效機密 (WEP): 如同協定 ap4.0 的認證 主機從存取點要求認證 存取點傳送128位元的 nonce
沒有金鑰分送機制 認證: 知道分享金鑰就足夠了 8: Network Security
79
WEP 資料加密 主機/AP 分享 40 位元的對稱金鑰 (半永久的) 主機會附加24位元的初始向量 (IV) 以建立 64 位元的金鑰
64 位元的金鑰用來產生金鑰串流, kiIV kiIV 用來加密訊框中的第 i 個位元組, di, : ci = di XOR kiIV IV 和加密的位元組, ci 都以訊框傳送 8: Network Security
80
WEP 加密 傳送端 WEP 加密 8: Network Security
81
破解 802.11 WEP 加密 安全漏洞: 攻擊: 24-bit IV, 每個訊框一個IV, -> IV 最後會重複使用
Trudy 讓 Alice 加密已知的明文 d1 d2 d3 d4 … Trudy 看到: ci = di XOR kiIV Trudy 知道 ci di, 因此可以計算 kiIV Trudy 知道加密金鑰序列 k1IV k2IV k3IV … 下次 IV 使用的時候, Trudy 可以解密! 8: Network Security
82
802.11i: 改良的安全性 很多 (更強大的) 加密形式 提供金鑰散佈機制 使用與存取點分離的認證伺服器
8: Network Security
83
STA和 AS 互相認證,並一起產生金鑰。AP扮演「轉達」的角色。
802.11i: 運作的四個階段 STA: 用戶端 AP: 存取點 AS: 認證伺服器 有線網路 1 發覺具安全能力 2 STA和 AS 互相認證,並一起產生金鑰。AP扮演「轉達」的角色。 3 STA 推導出成對主金鑰 (PMK) 3 AS 推導出同樣的 PMK, 並將結果傳送給 AP 4 STA, AP 使用 PMK 推導出 一個用來加密並維持訊息 完整度的暫時金鑰 8: Network Security
84
EAP: 擴展的認證協定 EAP: 端點-端點用戶端 (行動的) 的認證伺服器協定 EAP 透過分離的「連結」傳送
行動裝置到AP (LAN上的EAP) AP 到認證伺服器 (UDP 上的 RADIUS) 有線網路 EAP TLS EAP EAP over LAN (EAPoL) RADIUS IEEE UDP/IP 8: Network Security
85
網路安全 (總結) 基本技術…... …. 使用在許多不同的安全情況下 密碼學 (對稱和公開) 認證 訊息完整性 金鑰分送
安全的 安全的傳輸 (SSL) IP sec 802.11 8: Network Security
Similar presentations