1 / 43

第七章 : 網路安全

基本架構 : 何謂網路安全 ? 密碼學 認證 訊息完整性 金鑰分布與確認 網路安全的實作 : 應用層 : secure e-mail 傳輸層 : Internet commerce, SSL, SET 網路層 : IP security. 第七章 : 網路安全. 朋友與敵人 : Alice, Bob, Trudy. 網路安全的普遍情形。 Bob, Alice (lovers!) 想要 ” 安全地 ” 交談。 入侵者 Trudy 可能想介入或者對訊息作增減。. Figure 7.1 goes here. 何謂網路安全 ?.

oshin
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. 基本架構: 何謂網路安全? 密碼學 認證 訊息完整性 金鑰分布與確認 網路安全的實作: 應用層: secure e-mail 傳輸層: Internet commerce, SSL, SET 網路層: IP security 第七章: 網路安全 7: Network Security

  2. 朋友與敵人: Alice, Bob, Trudy • 網路安全的普遍情形。 • Bob, Alice (lovers!) 想要”安全地”交談。 • 入侵者Trudy可能想介入或者對訊息作增減。 Figure 7.1 goes here 7: Network Security

  3. 何謂網路安全? 秘密(Secrecy):只有傳送者(sender)以及預期接收者(intended receiver)可知道訊息內容 • 傳送者對訊息加密 • 接收者對訊息解密 認證(Authentication):傳送者和接收者欲確認彼此的特性(identity) 訊息完整性(Message Integrity):傳送者和接收者欲確保訊息(在傳送或轉送中)不會被更改而沒有察覺 7: Network Security

  4. src:B dest:A payload 網路安全的威脅 封包竊聽(Packet sniffing): • 廣播媒體。 • 錯綜複雜的網路介面卡(NIC) 讀取所有經過的封包。 • 可以讀取所有未加密的資料 (例如:密碼)。 • 例如: C 竊聽 B的封包。 C A B 7: Network Security

  5. src:B dest:A payload 網路安全的威脅 假冒IP(IP Spoofing): • 可以直接從應用層產生 “破皮” 的IP 封包, 並塞入任意值到IP來源位址的欄位中。 • 接收端無法判斷來源是否有欺騙的行為。 • 例如: C 假裝成 B。 C A B 7: Network Security

  6. SYN SYN SYN SYN SYN SYN SYN 網路安全的威脅 拒絕提供服務 (Denial of Service)(DOS): • 惡意地產生大量的封包會讓接收端有掛點的現象。 • 分散式的 DOS (DDOS): 多方來源使接收端掛點。 • 例如: C 和遠端終端機同步地攻擊 A。 C A B 7: Network Security

  7. K K A B 語言密碼學 plaintext plaintext 對稱金鑰(symmetric key) crypto: 傳送端和接收端使用相同的金鑰。 公開金鑰(public-key) crypto: 使用公開金鑰加密,私人金鑰解密。 ciphertext Figure 7.3 goes here 7: Network Security

  8. 對稱金鑰密碼學 替代祕文(substitution cipher):由另一文字替代原本文字 • monoalphabetic cipher: 由另一字母替代原來字母 明文: abcdefghijklmnopqrstuvwxyz 祕文: mnbvcxzasdfghjklpoiuytrewq E.g.: 明文: bob. i love you. alice 祕文: nkn. s gktc wky. mgsbc • Q:破解簡單密碼的難易度: • 硬幹法 (有多難?) • 其他? 7: Network Security

  9. 對稱金鑰密碼學: DES DES: 資料加密標準(Data Encryption Standard) • 美國加密標準(US encryption standard[NIST 1993]) • 56位元對稱金鑰, 64位元明文輸入 • DES的安全性? • DES 的挑戰: 破解56位元金鑰加密 (“堅固的密碼學讓世界更安全”) 用硬幹的需要4個月。 • 嘗試解密沒有後門走。 • DES更安全化 • 每一筆資料使用三個連續的(循序的)金鑰。 • 使用密碼區塊鍊鎖。 7: Network Security

  10. DES operation 對稱金鑰密碼學: DES 初始排列交換: 16 個相同“回合(round)”的 應用函式,每一個回合使用不同的48位元金鑰。 最終排列交換: 7: Network Security

  11. 公開金鑰密碼學 對稱金鑰密碼學 • 需要傳送端與接收端都知道共享私人金鑰。 • Q: 如何在第一次使用共享私人金鑰時達到共識 (尤其是”如果從來沒遇過”) 公開金鑰密碼學 • 完全不同的兩個作法[Diffie-Hellman76, RSA78] 。 • 傳送端和接收端不需要分享私人金鑰。 • 以公開金鑰做加密。(普遍地為人所認知 ) • 私人的解密金鑰 (只有接收端知道) 7: Network Security

  12. 公開金鑰密碼學 Figure 7.7 goes here 7: Network Security

  13. d (e (m)) = m B B 1 2 需要公開的和私人的金鑰 for d ( ) and e ( ) . . B B 公開金鑰密碼學演算法 2個相關連的需求: 需要 d ( ) 和 e ( ) 使得 . . B B RSA: Rivest, Shamir, Adelson algorithm 7: Network Security

  14. RSA: 選擇金鑰 1.選出兩個大質數 p, q. (e.g., 1024 bits each) 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). 7: Network Security

  15. 1.欲加密位元區塊m, 計算 d e c = m mod n m = c mod n e (i.e., remainder when m is divided by n) 神奇的事發生了 d e m = (m mod n) mod n RSA: 加密, 解密 0.經由先前的計算得到 (n,e) 和(n,d) 2.欲解密所接收到的位元區塊 d (i.e., remainder when c is divided by n) 7: Network Security

  16. d e m = c mod n c = m mod n d c RSA example: Bob 選擇 p=5, q=7. Then n=35, z=24. e=5 (e, z互質). d=29 (ed-1可被z整除) e m m letter 加密: l 17 1524832 12 c letter 解密: 17 12 l 481968572106750915091411825223072000 7: Network Security

  17. 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 根據數論的結果: If p,q prime, n = pq, then y y mod (p-1)(q-1) d e x mod n = x mod n m = (m mod n) mod n RSA: Why: (使用上述的數論結果) (since we choseed to be divisible by (p-1)(q-1) with remainder 1 ) 7: Network Security

  18. 認證(Authentication) 目的: Bob 要求 Alice 證明她的身份。 Protocol ap1.0:Alice 說“ I am Alice” Failure scenario?? 7: Network Security

  19. 認證: another try Protocol ap2.0:Alice 說 “I am Alice” and sends her IP address along to “prove” it. Failure scenario?? 7: Network Security

  20. 認證: another try Protocol ap3.0:Alice 說 “I am Alice” and sends her secret password to “prove” it. Failure scenario? 7: Network Security

  21. 認證: yet another try Protocol ap3.1:Alice 說 “I am Alice” and sends her encrypted secret password to “prove” it. I am Alice encrypt(password) Failure scenario? 7: Network Security

  22. 認證: 另一個嘗試 目的:避免錄音攻擊playback 臨時編號Nonce:每個編號 (R) 在生命週期(lifetime)中只使用一次 ap4.0:為了證明 Alice “存在”, Bob 傳送臨時編號 R 給 Alice Alice 則必須回傳R , 並以共享私人金鑰加密 Figure 7.11 goes here Failures, drawbacks? 7: Network Security

  23. 認證: ap5.0 ap4.0 需要共享對稱金鑰 • 問題: Bob, Alice 如何認同金鑰? • 可以用公開金鑰的方式來認證嗎? ap5.0:使用臨時編號,公開金鑰加密。 Figure 7.12 goes here 7: Network Security

  24. ap5.0: 網路安全漏洞 不明人士在中間做攻擊: Trudy 假扮成 Alice (對 Bob) 以及假扮成Bob ( 對 Alice) Figure 7.14 goes here 需要被認同的公開金鑰 (more later …) 7: Network Security

  25. 加密技巧 比擬成手些簽章: 傳送者(Bob) 在文件上做數位形式的簽署, 表示他為該文件的所有人。 可證實的,不可偽造的:接收者 Alice可以確認 傳送者Bob, 簽署該文件且沒有其他人簽署。 訊息m的簡單數為簽章: Bob 使用他的公開金鑰dB來對m做加密,產生數位簽章 dB(m)。 Bob 傳送 m 和 dB(m) 給 Alice. 數位簽章(Digital Signatures ) 7: Network Security

  26. 假設Alice接收到訊息m和數位簽章dB(m)。 Alice給予Bob一個 Bob的公開金鑰eB給 dB(m) 並檢查eB(dB(m) ) = m,確認 m為Bob所簽署。 如果 eB(dB(m) ) = m,簽署過m的人我們可以確認他已經使用過Bob的私人金鑰。 如此Alice可確認以下資訊 : Bob 簽署 m。 沒有其他人簽署 m. Bob 簽署m 而不是 m’. 不可否認(Non-repudiation): Alice 可以拿取 m, 並簽署 dB(m)來證實Bob簽署m。 數位簽章 (more) 7: Network Security

  27. 以公開金鑰來加密很長的訊息在計算上成本過高。以公開金鑰來加密很長的訊息在計算上成本過高。 目的:固定長度,容易計算數位簽章, “指紋”。 使用雜湊函數 H , m當作參數,得到固定長度的訊息區塊,H(m)。 雜湊函數特性: 多對一。 產生固定長度的訊息區塊 (指紋) 給予訊息區塊 x, 無法以計算的方式找到另一訊息區塊m,使得 x = H(m) 無法以計算的方式找到任何兩個訊息區塊m 和 m’,使得 H(m) = H(m’). 訊息區塊(Message Digests) 7: Network Security

  28. Bob 傳送數位簽章訊息: Alice 確認簽章並且整合數位簽章訊息 : 數位簽章 = 簽章訊息區塊 7: Network Security

  29. 網際網路檢查碼的使用會使得訊息區塊的方法 有缺失。 要找出兩個擁有相同檢查碼的訊息的太過容易。 MD5 雜湊函數廣泛地使用: 以4個步驟的過程計算 128位元的訊息區塊 。 任意128位元的字串 x,欲建立一訊息m,使得該訊息經由MD5雜湊出的值等於x 是很困難的。 SHA-1 同樣被使用. 美國標準。 160位元的訊息區塊。 雜湊函數演算法 7: Network Security

  30. 問題: 在網路上兩個人如何建立共享私人金鑰 解決方法: 信任金鑰分佈中心(trusted key distribution center) (KDC) 在兩人之間扮演中間者的角色。 問題: 當 Alice取得 Bob的公開金鑰時 (從 web site, e-mail, diskette),她如何知道這是Bob的而不是Trudy的公開金鑰 解決方法: 信任的憑證機構 (trusted certification authority) (CA) 信任的中間者 7: Network Security

  31. Alice,Bob 需要分享對稱金鑰. KDC:對每個註冊的使用者分享不同私人金鑰的伺服器. Alice, Bob 各自知道自己和KDC之間溝通用的對稱金鑰 KA-KDC KB-KDC . 金鑰散佈中心 (KDC) • Alice 與KDC交談,取得 session key R1和 KB-KDC(A,R1) • Alice 送出 KB-KDC(A,R1)給Bob, Bob 取得 R1 • Alice, Bob 現在便已分享對稱金鑰R1. 7: Network Security

  32. 憑證機構 (CA) 將公開金鑰跟個體做對應關係. 個體 (人, 路由器…等等.) 以他的公開金鑰向CA註冊. 個體必須提供身分證明給憑證機構. 憑證機構建立個體與公開金鑰間的認證關係. 由憑證機構負責數位簽署認證. 當 Alice 欲取得 Bob的公開金鑰: 取得Bob的憑證 (Bob or elsewhere). 申請CA中Bob憑證的公開金鑰並取得Bob的公開金鑰 憑證機構 7: Network Security

  33. 安全電子郵件(Secure e-mail ) • Alice 欲送安全電子郵件 m 給Bob. • 任意產生對稱私人金鑰, KS. • 以 KS 將訊息加密 • 並將 KS以Bob的公開金鑰加密 • 同時送 KS(m) 和 eB(KS) 給Bob. 7: Network Security

  34. 安全電子郵件 (continued) • Alice 像要提供傳送者認證訊息完整性. • Alice 數位簽署訊息. • 同時傳送訊息 (明碼) 與數位簽章. 7: Network Security

  35. 安全電子郵件 (continued) • Alice 想要提供安全, 傳送者認證,訊息完整性. Note: Alice 同時使用她的私人金鑰和Bob的公開金鑰 7: Network Security

  36. 網際網路電子郵件加密法, a de-facto standard. 使用對稱金鑰加密, 公開金鑰加密, 雜湊函數, 和數位簽章. 提供安全性,傳送者認證和訊息完整性. Inventor, Phil Zimmerman, was target of 3-year federal investigation. ---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--- Pretty good privacy (PGP) A PGP signed message: 7: Network Security

  37. PGP 提供特殊網路應用程式的安全性. SSL 使用在傳輸層. 提供所有以TCP為基礎的應用程式使用SSL服務的安全性 SSL: 用於 WWW browsers, servers for I-commerce (shttp)之間. SSL 安全服務: 伺服器認證 資料加密 用戶端認證 (optional) 伺服器認證: 使用SSL的瀏覽器包含有信任的憑證機構的公開金鑰 瀏覽器要求由信任的憑證機構所發布的伺服器憑證. 瀏覽器使用 CA的公開金鑰來解開憑證內伺服器的公開金鑰. 參照瀏覽器的網路安全清單可以看到所使用的信任憑證機構 Secure sockets layer (SSL) 7: Network Security

  38. Encrypted SSL session: 瀏覽器產生對稱 session key, 並以伺服器的公開金鑰對其加密, 再將此加密過的金鑰送給伺服器. 伺服器使用私人金鑰解密出 session key. 瀏覽器和伺服器同意接下來的訊息將被加密. 所有送進 TCP socket的資料 (由用戶端或伺服端發送) 以 session key加密. SSL: IETF 中傳送層安全機制(Transport Layer Security) (TLS)的基礎. SSL 可用於非Web的應用, 例如: IMAP. 用戶端認證可由用戶端憑證來完成. SSL (continued) 7: Network Security

  39. 設計用來作網際網路上的簽帳卡交易. 在以下三者之間提供安全服務: 顧客 商人 商務銀行 皆須有憑證. SET 將憑證的法律意義具體化. 分配交易的傾向 在商人無需過目的情形下,顧客的卡號明碼可以通過商務銀行檢視 避免商人盜用或竊取簽帳卡號. 三個軟體元件: Browser wallet Merchant server Acquirer gateway 請參照SET transaction的描述. Secure electronic transactions (SET) 7: Network Security

  40. 網路層秘密: 傳送端以 IP datagram的形式對資料加密 TCP 和 UDP 區塊; ICMP 和 SNMP 訊息. 網路層認證 目的端可以認證來源IP位址 兩個主要協定: 認證檔頭協定[authentication header (AH) protocol] 封裝安全給付協定[encapsulation security payload (ESP) protocol] 當使用AH和ESP協定時, 目的與來源交握: 電路網路層邏輯頻道-服務許可[ service agreement (SA)] 每個SA都是單一方向性的. 僅由以下欄位決定: 網路安全協定[security protocol (AH or ESP)] 來源IP位址[source IP address] 32位元連線帳號[32-bit connection ID] Ipsec: Network Layer Security 7: Network Security

  41. 提供安全性、用戶認證和資料完整性. 資料, ESP末欄位加密. 次標頭欄位接於ESP末欄位後. ESP 認證欄位如同AH 認證欄位. 協定值 = 50. ESP Protocol 7: Network Security

  42. 提供來源端認證, 資料完整性, 但無加密保護. AH 表頭插入於 IP標頭 和 IP 資料欄位之間 協定欄位值= 51. 中間路由器一般性地處理datagram. AH 標頭包含以下: 連線ID 認證資料: 由原始IP datagram計算出簽署訊息區塊, 以提供來源認證與資料完整性 次標頭欄位: 明確定義資料型態 (TCP, UDP, ICMP, etc.) Authentication Header (AH) Protocol 7: Network Security

  43. 網路安全 (summary) 基本技術…... • 密碼學 (對稱加密與公開加密) • 認證 • 資料完整性 …. 使用於多種不同的網路安全情況 • 安全電子郵件 • 安全傳輸 (SSL) • IP sec 同時參考: firewalls , in network management 7: Network Security

More Related