1 / 85

第八章 : 電腦網路的安全性

章節目標 : 了解網路安全的原則 : 密碼學以及機密上的應用 認證 訊息完整性 金鑰分送 實際的安全性 : 防火牆 應用程式、傳輸層、網路層、連結層的安全性. 第八章 : 電腦網路的安全性. 第八章 電腦網路的安全性. 8.1 何謂網路安全 ? 8.2 密碼學的原理 8.3 認證 8.4 完整性 8.5 金鑰分送和認證 8.6 存取控制:防火牆 8.7 攻擊和反制 8.8 各層的安全. 何謂網路安全 ?. 機密 : 只有傳送端和所希望的接收端才能夠了解傳送訊息的內容 傳送端將訊息加密 接收端將訊息解密

eshe
Download Presentation

第八章 : 電腦網路的安全性

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 (入侵者) 可能想介入或者對訊息作增減 Alice Bob 資料, 控制訊息 通道 安全的 傳送端 安全的 接收端 資料 資料 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 A B 密碼學的語言 Alice的加密金鑰 Bob的解密金鑰 對稱式金鑰密碼: 傳送端和接收端的金鑰相同 公開金鑰密碼: 加密金鑰是公開的,解密金鑰是秘密(私人的) 加密演算法 解密演算法 密文 明文 明文 8: Network Security

  9. 對稱金鑰密碼學 替代祕文:由另一文字替代原本文字 • 單字母加密法:由另一字母替代原來字母 明文: abcdefghijklmnopqrstuvwxyz 密文: mnbvcxzasdfghjklpoiuytrewq 範例: 明文: bob. i love you. alice 密文: nkn. s gktc wky. mgsbc • Q:這個簡單加密法的破解難度?: • 暴力法 (有多難?) • 其他的? 8: Network Security

  10. K K A-B A-B K (m) m = K ( ) A-B A-B 對稱金鑰密碼學 對秤金鑰密碼學: Bob 和 Alice 共同知道同樣的金鑰 (對稱) : K • 例如,在單字母加密法中,金鑰為取代樣式 • Q: Bob和Alice要如何同意金鑰值? 加密 演算法 解密 演算法 密文 明文 明文訊息,m K (m) A-B 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 (m) B - + m = K (K (m)) B B 公開金鑰密碼學 + Bob的公開金鑰 K B - Bob的私密金鑰 K B 加密 演算法 解密 演算法 明文訊息 明文訊息,m 密文 8: Network Security

  16. K (K (m)) = m B B - + 2 1 公開金鑰密碼演算法 需求: 需要 K ( ) 和 K ( ) 使得 . . + - B B + 給定 公開金鑰 K , 應該不可能計算私密金鑰 K B - B RSA: Rivest, Shamir, Adelson algorithm 8: Network Security

  17. + - K K B B 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). 8: Network Security

  18. d e m = c mod n c = m mod n d e m = (m mod n) mod n RSA:加密, 解密 0.經由先前的計算得到 (n,e) 和(n,d) 1.欲加密位元樣式 m,計算 e (例如,以 n 除以 m 的餘數) 2.欲解密所接收到的位元樣式 c,計算 d (例如,以 n 除以 c 的餘數) 神奇的事 發生了! c 8: Network Security

  19. d e m = c mod n c = m mod n d c RSA 範例: Bob 選擇 p=5, q=7. 則 n=35, z=24. e=5 (因此 e, z互質). d=29 (因此 ed-1正好可被 z整除) e m m 字母 加密: l 17 1524832 12 c 字母 解密: 17 12 l 481968572106750915091411825223071697 8: Network Security

  20. e d ed (m mod n) mod n = m mod n ed mod (p-1)(q-1) 1 = m = m mod n = m mod n y y mod (p-1)(q-1) d e x mod n = x mod n m = (m mod n) mod n RSA: 為 什 麼 使用數論的結果:假如 p,q為質數且 n = pq, 則: (使用上面的數論結果) (既然我們選擇ed可除以 (p-1)(q-1)餘 1 ) 8: Network Security

  21. K (K (m)) = m - B B + K (K (m)) - + = B B RSA: 一個重要的特質 下面的特質在接下來非常實用: 先使用私密金鑰,然後是公開金鑰 先使用公開金鑰,然後是私密金鑰 結果是相同的! 8: Network Security

  22. 第八章 電腦網路的安全性 • 8.1 何謂網路安全? • 8.2 密碼學的原理 • 8.3 認證 • 8.4 完整性 • 8.5 金鑰分送和認證 • 8.6 存取控制:防火牆 • 8.7 攻擊和反制 • 8.8 各層的安全 8: Network Security

  23. 認證 目標: 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. Alice的 IP 位址 “我是Alice” 認證: 另一種嘗試 協定 ap2.0:Alice 在一個包含她的來源 IP 位址的 IP封包中說 “我是 Alice” 失敗的情況?? 8: Network Security

  26. Alice的 IP 位址 “我是Alice” 認證: 另一種嘗試 協定 ap2.0: Alice 在一個包含她的來源 IP 位址的 IP封包中說 “我是 Alice” Trudy 可以製造一個封包「假扮」Alice的位址 8: Network Security

  27. Alice的 密碼 Alice的 IP 位址 “我是Alice” Alice的 IP 位址 OK 認證: 另一種嘗試 協定 ap3.0:Alice 說 “我是Alice” 並傳送她的密碼以證明 失敗的情況?? 8: Network Security

  28. Alice的 密碼 Alice的 IP 位址 “我是Alice” Alice的 IP 位址 OK 認證: 另一種嘗試 協定 ap3.0:Alice 說 “我是Alice” 並傳送她的密碼以證明 Alice的 密碼 Alice的 IP 位址 “我是Alice” 重播攻擊法: Trudy 記錄Alice的封包,稍後將它重播給 Bob 8: Network Security

  29. 加密 密碼 Alice的 IP 位址 “我是Alice” Alice的 IP 位址 OK 認證: 再另一種嘗試 協定 ap3.1:Alice 說 “我是Alice” 並傳送她的加密密碼以證明 失敗的情況?? 8: Network Security

  30. 加密 密碼 Alice的 IP 位址 “我是Alice” Alice的 IP 位址 OK 認證: 再另一種嘗試 協定 ap3.1: Alice 說 “我是Alice” 並傳送她的加密密碼以證明 加密 密碼 Alice的 IP 位址 “我是Alice” 記錄並重播 還是可行! 8: Network Security

  31. K (R) A-B 認證: 再另一種嘗試 目標:避免重播攻擊 Nonce:編號 (R) 在生命週期中只使用一次 ap4.0:為了要證明Alice的存在,Bob傳送nonce, R 給Alice。Alice必須回傳 R,以分享的私密金鑰加密 “我是Alice” R Alice 是存在的,只有Alice知道用來加密nonce的金鑰,因此她一定是Alice! 失敗,缺點? 8: Network Security

  32. - K (R) A + + K K A A - - + (K (R)) = R K (K (R)) = R A A A 認證: ap5.0 ap4.0 需要共享對稱金鑰 • 我們可以使用公開金鑰技巧來認證嗎? ap5.0:使用 nonce, 公開金鑰加密法 “I am Alice” Bob 計算 R 並知道只有Alice擁有私密金鑰,可以加密 R使得 “將你的公開金鑰傳給我” 8: Network Security

  33. - - K (R) K (R) A T + + K K A T - - + + m = K (K (m)) m = K (K (m)) + + A T A T K (m) K (m) A T ap5.0: 安全漏洞 有人在中間攻擊: Trudy 假扮成Alice (對 Bob) ,假扮成Bob (對 Alice) 我是Alice 我是Alice R R 將你的公開金鑰傳給我 將你的公開金鑰傳給我 Trudy 得到 傳送 m 給Alice,以Alice的公開金鑰加密 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. 訊息 m 的簡單數位簽章 : Bob 使用他的公開金鑰 KB 加密來簽署 m,產生簽署過的訊息 KB(m) - - K K B B 數位簽章 - - Bob的私密金鑰 Bob的訊息, m (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 將 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. 以公開金鑰來加密很長的訊息在計算上成本過高。以公開金鑰來加密很長的訊息在計算上成本過高。 目標:固定長度,容易計算的數位 “指紋” 使用雜湊函數 H 應用在m, 得到固定長度的訊息摘要, H(m) 雜湊函式特質: 多對一 產生固定長度的訊息摘要 (指紋) 給予訊息摘要 x, 無法以計算的方式找到另一訊息摘要m,使得 x = H(m) 訊息摘要 長訊息 m H: 雜湊 函式 H(m) 8: Network Security

  40. 網際網路檢查和: 較差的密碼雜湊函數 網際網路檢查和具有雜湊函數的某些特質: • 產生固定長度的訊息摘要 (16-位元和) • 是多對一的 但是對某個給定雜湊值的給定訊息來說,很容易找到另一個具有相同雜湊值訊息: ASCII format message ASCII format message I O U 9 0 0 . 1 9 B O B 49 4F 55 39 30 30 2E 31 39 42 D2 42 I O U 1 0 0 . 9 9 B O B 49 4F 55 31 30 30 2E 39 39 42 D2 42 B2 C1 D2 AC B2 C1 D2 AC 不同的訊息 但是相同的檢查和! 8: Network Security

  41. 數位簽章 = 簽章的訊息摘要 H: 雜湊 函式 H: 雜湊 函式 長訊息 m 長訊息 m + - 數位簽章 (加密的) 數位簽章 (解密) K K B B 加密的訊息 摘要 加密的 訊息摘要 + - - KB(H(m)) KB(H(m)) H(m) H(m) Bob 傳送數位簽章訊息: Alice 驗證簽章並整合數位簽章訊息: H(m) Bob的私密金鑰 Bob的公開金鑰 相等 ? 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. KB-KDC KX-KDC KY-KDC KZ-KDC KP-KDC KB-KDC KA-KDC KA-KDC KP-KDC 金鑰分送中心 (KDC) • Alice, Bob 需要分享對稱金鑰 • KDC:對每個註冊的使用者 (許多使用者) 分享不同的私密金鑰的伺服器。 • Alice, Bob 各自知道自己和KDC之間溝通用的對稱金鑰 KA-KDC KB-KDC。 KDC 8: Network Security

  46. 金鑰分送中心 (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. + + 數位簽章 (加密的) K K B B K CA 憑證管理機構 • 憑證管理機構 (CA):將公開金鑰跟特定的實體 E 做對應 • E (人,路由器) 以他的公開金鑰向CA註冊 • E 提供 “身分證明” 給 CA. • CA 建立實體 E 與公開金鑰間的認證關係. • 認證包含了由 CA 數位簽署的 E 的公開金鑰,CA說「這是 E 的公開金鑰」 Bob的公開金鑰 CA 私密金鑰 Bob的公開金鑰認證,由CA簽署 - Bob的身分資訊 8: Network Security

  48. + + 數位簽章 (解密) K K B B K CA 憑證管理機構 • 當 Alice 欲取得 Bob的公開金鑰: • 取得Bob的憑證 (Bob 或其他地方) • 將 CA 的公開金鑰應用到Bob的認證,取得Bob的公開金鑰 Bob的公開金鑰 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

More Related