430 likes | 684 Views
基本架構 : 何謂網路安全 ? 密碼學 認證 訊息完整性 金鑰分布與確認 網路安全的實作 : 應用層 : secure e-mail 傳輸層 : Internet commerce, SSL, SET 網路層 : IP security. 第七章 : 網路安全. 朋友與敵人 : Alice, Bob, Trudy. 網路安全的普遍情形。 Bob, Alice (lovers!) 想要 ” 安全地 ” 交談。 入侵者 Trudy 可能想介入或者對訊息作增減。. Figure 7.1 goes here. 何謂網路安全 ?.
E N D
基本架構: 何謂網路安全? 密碼學 認證 訊息完整性 金鑰分布與確認 網路安全的實作: 應用層: secure e-mail 傳輸層: Internet commerce, SSL, SET 網路層: IP security 第七章: 網路安全 7: Network Security
朋友與敵人: Alice, Bob, Trudy • 網路安全的普遍情形。 • Bob, Alice (lovers!) 想要”安全地”交談。 • 入侵者Trudy可能想介入或者對訊息作增減。 Figure 7.1 goes here 7: Network Security
何謂網路安全? 秘密(Secrecy):只有傳送者(sender)以及預期接收者(intended receiver)可知道訊息內容 • 傳送者對訊息加密 • 接收者對訊息解密 認證(Authentication):傳送者和接收者欲確認彼此的特性(identity) 訊息完整性(Message Integrity):傳送者和接收者欲確保訊息(在傳送或轉送中)不會被更改而沒有察覺 7: Network Security
src:B dest:A payload 網路安全的威脅 封包竊聽(Packet sniffing): • 廣播媒體。 • 錯綜複雜的網路介面卡(NIC) 讀取所有經過的封包。 • 可以讀取所有未加密的資料 (例如:密碼)。 • 例如: C 竊聽 B的封包。 C A B 7: Network Security
src:B dest:A payload 網路安全的威脅 假冒IP(IP Spoofing): • 可以直接從應用層產生 “破皮” 的IP 封包, 並塞入任意值到IP來源位址的欄位中。 • 接收端無法判斷來源是否有欺騙的行為。 • 例如: C 假裝成 B。 C A B 7: Network Security
SYN SYN SYN SYN SYN SYN SYN 網路安全的威脅 拒絕提供服務 (Denial of Service)(DOS): • 惡意地產生大量的封包會讓接收端有掛點的現象。 • 分散式的 DOS (DDOS): 多方來源使接收端掛點。 • 例如: C 和遠端終端機同步地攻擊 A。 C A B 7: Network Security
K K A B 語言密碼學 plaintext plaintext 對稱金鑰(symmetric key) crypto: 傳送端和接收端使用相同的金鑰。 公開金鑰(public-key) crypto: 使用公開金鑰加密,私人金鑰解密。 ciphertext Figure 7.3 goes here 7: Network Security
對稱金鑰密碼學 替代祕文(substitution cipher):由另一文字替代原本文字 • monoalphabetic cipher: 由另一字母替代原來字母 明文: abcdefghijklmnopqrstuvwxyz 祕文: mnbvcxzasdfghjklpoiuytrewq E.g.: 明文: bob. i love you. alice 祕文: nkn. s gktc wky. mgsbc • Q:破解簡單密碼的難易度: • 硬幹法 (有多難?) • 其他? 7: Network Security
對稱金鑰密碼學: DES DES: 資料加密標準(Data Encryption Standard) • 美國加密標準(US encryption standard[NIST 1993]) • 56位元對稱金鑰, 64位元明文輸入 • DES的安全性? • DES 的挑戰: 破解56位元金鑰加密 (“堅固的密碼學讓世界更安全”) 用硬幹的需要4個月。 • 嘗試解密沒有後門走。 • DES更安全化 • 每一筆資料使用三個連續的(循序的)金鑰。 • 使用密碼區塊鍊鎖。 7: Network Security
DES operation 對稱金鑰密碼學: DES 初始排列交換: 16 個相同“回合(round)”的 應用函式,每一個回合使用不同的48位元金鑰。 最終排列交換: 7: Network Security
公開金鑰密碼學 對稱金鑰密碼學 • 需要傳送端與接收端都知道共享私人金鑰。 • Q: 如何在第一次使用共享私人金鑰時達到共識 (尤其是”如果從來沒遇過”) 公開金鑰密碼學 • 完全不同的兩個作法[Diffie-Hellman76, RSA78] 。 • 傳送端和接收端不需要分享私人金鑰。 • 以公開金鑰做加密。(普遍地為人所認知 ) • 私人的解密金鑰 (只有接收端知道) 7: Network Security
公開金鑰密碼學 Figure 7.7 goes here 7: Network Security
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
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
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
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
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
認證(Authentication) 目的: Bob 要求 Alice 證明她的身份。 Protocol ap1.0:Alice 說“ I am Alice” Failure scenario?? 7: Network Security
認證: another try Protocol ap2.0:Alice 說 “I am Alice” and sends her IP address along to “prove” it. Failure scenario?? 7: Network Security
認證: another try Protocol ap3.0:Alice 說 “I am Alice” and sends her secret password to “prove” it. Failure scenario? 7: Network Security
認證: 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
認證: 另一個嘗試 目的:避免錄音攻擊playback 臨時編號Nonce:每個編號 (R) 在生命週期(lifetime)中只使用一次 ap4.0:為了證明 Alice “存在”, Bob 傳送臨時編號 R 給 Alice Alice 則必須回傳R , 並以共享私人金鑰加密 Figure 7.11 goes here Failures, drawbacks? 7: Network Security
認證: ap5.0 ap4.0 需要共享對稱金鑰 • 問題: Bob, Alice 如何認同金鑰? • 可以用公開金鑰的方式來認證嗎? ap5.0:使用臨時編號,公開金鑰加密。 Figure 7.12 goes here 7: Network Security
ap5.0: 網路安全漏洞 不明人士在中間做攻擊: Trudy 假扮成 Alice (對 Bob) 以及假扮成Bob ( 對 Alice) Figure 7.14 goes here 需要被認同的公開金鑰 (more later …) 7: Network Security
加密技巧 比擬成手些簽章: 傳送者(Bob) 在文件上做數位形式的簽署, 表示他為該文件的所有人。 可證實的,不可偽造的:接收者 Alice可以確認 傳送者Bob, 簽署該文件且沒有其他人簽署。 訊息m的簡單數為簽章: Bob 使用他的公開金鑰dB來對m做加密,產生數位簽章 dB(m)。 Bob 傳送 m 和 dB(m) 給 Alice. 數位簽章(Digital Signatures ) 7: Network Security
假設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
以公開金鑰來加密很長的訊息在計算上成本過高。以公開金鑰來加密很長的訊息在計算上成本過高。 目的:固定長度,容易計算數位簽章, “指紋”。 使用雜湊函數 H , m當作參數,得到固定長度的訊息區塊,H(m)。 雜湊函數特性: 多對一。 產生固定長度的訊息區塊 (指紋) 給予訊息區塊 x, 無法以計算的方式找到另一訊息區塊m,使得 x = H(m) 無法以計算的方式找到任何兩個訊息區塊m 和 m’,使得 H(m) = H(m’). 訊息區塊(Message Digests) 7: Network Security
Bob 傳送數位簽章訊息: Alice 確認簽章並且整合數位簽章訊息 : 數位簽章 = 簽章訊息區塊 7: Network Security
網際網路檢查碼的使用會使得訊息區塊的方法 有缺失。 要找出兩個擁有相同檢查碼的訊息的太過容易。 MD5 雜湊函數廣泛地使用: 以4個步驟的過程計算 128位元的訊息區塊 。 任意128位元的字串 x,欲建立一訊息m,使得該訊息經由MD5雜湊出的值等於x 是很困難的。 SHA-1 同樣被使用. 美國標準。 160位元的訊息區塊。 雜湊函數演算法 7: Network Security
問題: 在網路上兩個人如何建立共享私人金鑰 解決方法: 信任金鑰分佈中心(trusted key distribution center) (KDC) 在兩人之間扮演中間者的角色。 問題: 當 Alice取得 Bob的公開金鑰時 (從 web site, e-mail, diskette),她如何知道這是Bob的而不是Trudy的公開金鑰 解決方法: 信任的憑證機構 (trusted certification authority) (CA) 信任的中間者 7: Network Security
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
憑證機構 (CA) 將公開金鑰跟個體做對應關係. 個體 (人, 路由器…等等.) 以他的公開金鑰向CA註冊. 個體必須提供身分證明給憑證機構. 憑證機構建立個體與公開金鑰間的認證關係. 由憑證機構負責數位簽署認證. 當 Alice 欲取得 Bob的公開金鑰: 取得Bob的憑證 (Bob or elsewhere). 申請CA中Bob憑證的公開金鑰並取得Bob的公開金鑰 憑證機構 7: Network Security
安全電子郵件(Secure e-mail ) • Alice 欲送安全電子郵件 m 給Bob. • 任意產生對稱私人金鑰, KS. • 以 KS 將訊息加密 • 並將 KS以Bob的公開金鑰加密 • 同時送 KS(m) 和 eB(KS) 給Bob. 7: Network Security
安全電子郵件 (continued) • Alice 像要提供傳送者認證訊息完整性. • Alice 數位簽署訊息. • 同時傳送訊息 (明碼) 與數位簽章. 7: Network Security
安全電子郵件 (continued) • Alice 想要提供安全, 傳送者認證,訊息完整性. Note: Alice 同時使用她的私人金鑰和Bob的公開金鑰 7: Network Security
網際網路電子郵件加密法, 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
PGP 提供特殊網路應用程式的安全性. SSL 使用在傳輸層. 提供所有以TCP為基礎的應用程式使用SSL服務的安全性 SSL: 用於 WWW browsers, servers for I-commerce (shttp)之間. SSL 安全服務: 伺服器認證 資料加密 用戶端認證 (optional) 伺服器認證: 使用SSL的瀏覽器包含有信任的憑證機構的公開金鑰 瀏覽器要求由信任的憑證機構所發布的伺服器憑證. 瀏覽器使用 CA的公開金鑰來解開憑證內伺服器的公開金鑰. 參照瀏覽器的網路安全清單可以看到所使用的信任憑證機構 Secure sockets layer (SSL) 7: Network Security
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
設計用來作網際網路上的簽帳卡交易. 在以下三者之間提供安全服務: 顧客 商人 商務銀行 皆須有憑證. SET 將憑證的法律意義具體化. 分配交易的傾向 在商人無需過目的情形下,顧客的卡號明碼可以通過商務銀行檢視 避免商人盜用或竊取簽帳卡號. 三個軟體元件: Browser wallet Merchant server Acquirer gateway 請參照SET transaction的描述. Secure electronic transactions (SET) 7: Network Security
網路層秘密: 傳送端以 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
提供安全性、用戶認證和資料完整性. 資料, ESP末欄位加密. 次標頭欄位接於ESP末欄位後. ESP 認證欄位如同AH 認證欄位. 協定值 = 50. ESP Protocol 7: Network Security
提供來源端認證, 資料完整性, 但無加密保護. AH 表頭插入於 IP標頭 和 IP 資料欄位之間 協定欄位值= 51. 中間路由器一般性地處理datagram. AH 標頭包含以下: 連線ID 認證資料: 由原始IP datagram計算出簽署訊息區塊, 以提供來源認證與資料完整性 次標頭欄位: 明確定義資料型態 (TCP, UDP, ICMP, etc.) Authentication Header (AH) Protocol 7: Network Security
網路安全 (summary) 基本技術…... • 密碼學 (對稱加密與公開加密) • 認證 • 資料完整性 …. 使用於多種不同的網路安全情況 • 安全電子郵件 • 安全傳輸 (SSL) • IP sec 同時參考: firewalls , in network management 7: Network Security