Chapter 8 Network Security 第8章 ネットワークセキュリティ A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. All material copyright 1996-2004 J.F Kurose and K.W. Ross, All Rights Reserved 8: Network Security 8-1 邦訳版 インターネット技術のすべて:ト ップダウンアプローチによる実 践ネットワーク技法 第2版 ジェームズ・F・クロセ (著), キ ース・W・ロス (著), 岡田 博美 (翻訳) 出版社: ピアソン・エデュケーシ ョン (2003/12/25) ASIN: 4894714949 8: Network Security 8-2 Chapter 8: Network Security 第8章: ネットワークセキュリティ Chapter goals: この章の目標 understand principles of network security: ネットワークセキュリティの原理を理解すること: cryptography and its many uses beyond “confidentiality” authentication message integrity key distribution security in practice: 実践でのセキュリティ firewalls security in application, transport, network, link layers 8: Network Security 8-3 Chapter 8 roadmap 8.1 What is network security? ネットワークセキュリティとは? 8.2 Principles of cryptography 8.3 Authentication 8.4 Integrity 8.5 Key Distribution and certification 8.6 Access control: firewalls 8.7 Attacks and counter measures 8.8 Security in many layers 8: Network Security 8-4 What is network security? ネットワークセキュリティとは? Confidentiality: 機密性: only sender, intended receiver should “understand” message contents sender encrypts message receiver decrypts message Authentication: 認証: sender, receiver want to confirm identity of each other Message Integrity: メッセージ保全: sender, receiver want to ensure message not altered (in transit, or afterwards) without detection Access and Availability: アクセスと有効性: services must be accessible and available to users 8: Network Security 8-5 Friends and enemies: Alice, Bob, Trudy 友達と敵: Alice, Bob, Trudy well-known in network security world Bob, Alice (lovers!) want to communicate “securely” Trudy (intruder) may intercept, delete, add messages Alice data channel secure sender Bob data, control messages secure receiver data Trudy 8: Network Security 8-6 Who might Bob, Alice be? 誰がBob,Aliceであってよいか? … well, real-life Bobs and Alices! Web browser/server for electronic transactions (e.g., on-line purchases) on-line banking client/server DNS servers routers exchanging routing table updates other examples? 8: Network Security 8-7 There are bad guys (and girls) out there! そこには悪い連中もいる! Q: What can a “bad guy” do? “悪い奴”ができることは何か? A: a lot! たくさん! eavesdrop: 盗聴: intercept messages actively insert messages into connection impersonation: 偽装: can fake (spoof) source address in packet (or any field in packet) hijacking: ハイジャック: “take over” ongoing connection by removing sender or receiver, inserting himself in place denial of service: サービス不能: prevent service from being used by others (e.g., by overloading resources) more on this later …… 8: Network Security 8-8 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 暗号の原理 8.3 Authentication 8.4 Integrity 8.5 Key Distribution and certification 8.6 Access control: firewalls 8.7 Attacks and counter measures 8.8 Security in many layers 8: Network Security 8-9 The language of cryptography 暗号の言語 Alice’s K encryption A key plaintext encryption algorithm ciphertext Bob’s K decryption B key decryption plaintext algorithm symmetric key crypto: sender, receiver keys identical 対称鍵暗号: 送信者、受信者の鍵は同一 public-key crypto: encryption key public, decryption key secret (private) 公開鍵暗号: 暗号鍵は公開、復号鍵は秘密(プライベート) 8: Network Security 8-10 Symmetric key cryptography 対称鍵暗号方式 substitution cipher: substituting one thing for another 置換式暗号: あるものを他のもので置換 monoalphabetic cipher: substitute one letter for another plaintext: abcdefghijklmnopqrstuvwxyz ciphertext: mnbvcxzasdfghjklpoiuytrewq E.g.: Plaintext: bob. i love you. alice ciphertext: nkn. s gktc wky. mgsbc Q: How hard to break this simple cipher?: brute force (how hard?) other? 8: Network Security 8-11 Symmetric key cryptography 対称鍵暗号方式 KA-B KA-B plaintext message, m encryption ciphertext algorithm K (m) A-B decryption plaintext algorithm m = K ( KA-B(m) ) A-B symmetric key crypto: Bob and Alice share know same (symmetric) key: KA-B 対称鍵暗号: ボブとアリスは同じ(対称の)鍵を共有 e.g., key is knowing substitution pattern in mono alphabetic substitution cipher Q: how do Bob and Alice agree on key value? 8: Network Security 8-12 Symmetric key crypto: DES 対称鍵暗号: DES DES: Data Encryption Standard US encryption standard [NIST 1993] 56-bit symmetric key, 64-bit plaintext input How secure is DES? DES Challenge: 56-bit-key-encrypted phrase (“Strong cryptography makes the world a safer place”) decrypted (brute force) in 4 months no known “backdoor” decryption approach making DES more secure: use three keys sequentially (3-DES) on each datum use cipher-block chaining 8: Network Security 8-13 Symmetric key crypto: DES 対称鍵暗号: DES DES operation initial permutation 16 identical “rounds” of function application, each using different 48 bits of key final permutation 8: Network Security 8-14 AES: Advanced Encryption Standard new (Nov. 2001) symmetric-key NIST standard, replacing DES processes data in 128 bit blocks 128, 192, or 256 bit keys brute force decryption (try each key) taking 1 sec on DES, takes 149 trillion years for AES 8: Network Security 8-15 Public Key Cryptography 公開鍵暗号方式 symmetric key crypto public key cryptography 対称鍵暗号 requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if never “met”)? 公開鍵暗号方式 radically different approach [DiffieHellman76, RSA78] sender, receiver do not share secret key public encryption key known to all private decryption key known only to receiver 8: Network Security 8-16 Public key cryptography 公開鍵暗号方式 + Bob’s public B key K K plaintext message, m encryption ciphertext algorithm + K (m) B - Bob’s private B key decryption plaintext algorithm message + m = K B(K (m)) B 8: Network Security 8-17 Public key encryption algorithms 公開鍵暗号アルゴリズム Requirements: 1 2 + need K ( ) and K - ( ) such that B B - + K (K (m)) = m B B . . + given public key KB , it should be impossible to compute private key KB RSA: Rivest, Shamir, Adelson algorithm 8: Network Security 8-18 RSA: Choosing keys RSA: 鍵の選択 1. Choose two large prime numbers p, q. (e.g., 1024 bits each) 2. Compute n = pq, z = (p-1)(q-1) 3. Choose e (with e<n) that has no common factors with z. (e, z are “relatively prime”). 4. Choose d such that ed-1 is exactly divisible by z. (in other words: ed mod z = 1 ). 5. Public key is (n,e). Private key is (n,d). + KB - KB 8: Network Security 8-19 RSA: Encryption, decryption RSA: 暗号化、復号化 0. Given (n,e) and (n,d) as computed above 1. To encrypt bit pattern, m, compute e e c = m mod n (i.e., remainder when m is divided by n) 2. To decrypt received bit pattern, c, compute d m = c d mod n (i.e., remainder when c is divided by n) Magic m = (m e mod n) d mod n happens! c 8: Network Security 8-20 RSA example: RSA例: Bob chooses p=5, q=7. Then n=35, z=24. e=5 (so e, z relatively prime). d=29 (so ed-1 exactly divisible by z. encrypt: decrypt: letter m me l 12 1524832 c 17 d c 481968572106750915091411825223071697 c = me mod n 17 m = cd mod n letter 12 l 8: Network Security 8-21 なぜそうなるのか RSA: Why is that m = (m e mod n) d mod n Useful number theory result: If p,q prime and n = pq, then: y y mod (p-1)(q-1) x mod n = x mod n e (m mod n) d mod n = medmod n = m ed mod (p-1)(q-1) mod n (using number theory result above) 1 = m mod n (since we chose ed to be divisible by (p-1)(q-1) with remainder 1 ) = m 8: Network Security 8-22 RSA: another important property RSA: もう1つの重要な特性 The following property will be very useful later: 以下の特性は後々非常に奴に立つ: - + + K (K (m)) = m = K (K (m)) B B B B use public key first, followed by private key use private key first, followed by public key Result is the same! 8: Network Security 8-23 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Authentication 認証 8.4 Integrity 8.5 Key Distribution and certification 8.6 Access control: firewalls 8.7 Attacks and counter measures 8.8 Security in many layers 8: Network Security 8-24 Authentication 認証 Goal: Bob wants Alice to “prove” her identity to him 目標: ボブはアリスに彼女がアリスであることを“証明”して欲しい Protocol ap1.0: Alice says “I am Alice” アリスが“私はアリスです”と言う “I am Alice” Failure scenario?? 8: Network Security 8-25 Authentication 認証 Goal: Bob wants Alice to “prove” her identity to him 目標: ボブはアリスに彼女がアリスであることを“証明”して欲しい Protocol ap1.0: Alice says “I am Alice” アリスが“私はアリスです”と言う “I am Alice” in a network, Bob can not “see” Alice, so Trudy simply declares herself to be Alice 8: Network Security 8-26 Authentication: another try 認証: もう1つの試み Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address アリスが彼女のホストのIPアドレスを含む IPパケットの中で“私はアリスです”と言う Alice’s IP address “I am Alice” Failure scenario?? 8: Network Security 8-27 Authentication: another try 認証: もう1つの試み Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address アリスが彼女のホストのIPアドレスを含む IPパケットの中で“私はアリスです”と言う Alice’s IP address Trudy can create a packet “spoofing” “I am Alice” Alice’s address 8: Network Security 8-28 Authentication: another try 認証: 他の試み Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. アリスが“私はアリスです”と言い、さらに それを証明する秘密のパスワードを送る Alice’s Alice’s “I’m Alice” IP addr password Alice’s IP addr OK Failure scenario?? 8: Network Security 8-29 Authentication: another try 認証: 他の試み Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. アリスが“私はアリスです”と言い、さらに それを証明する秘密のパスワードを送る Alice’s Alice’s “I’m Alice” IP addr password Alice’s IP addr OK playback attack: Trudy records Alice’s packet and later plays it back to Bob Alice’s Alice’s “I’m Alice” IP addr password 8: Network Security 8-30 Authentication: yet another try 認証: さらに他の試み Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. アリスが“私はアリスです”と言い、さらにそれを証 明する暗号化された秘密のパスワードを送る Alice’s encrypted “I’m Alice” IP addr password Alice’s IP addr OK Failure scenario?? 8: Network Security 8-31 Authentication: another try 認証: さらに他の試み Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. アリスが“私はアリスです”と言い、さらにそれを証 明する暗号化された秘密のパスワードを送る Alice’s encrypted “I’m Alice” IP addr password Alice’s IP addr OK record and playback still works! Alice’s encrypted “I’m Alice” IP addr password 8: Network Security 8-32 Authentication: yet another try 認証: さらに他の試み Goal: avoid playback attack Nonce: number (R) used only once –in-a-lifetime ap4.0: to prove Alice “live”, Bob sends Alice nonce, R. Alice must return R, encrypted with shared secret key アリスが本物であることを証明するため、ボブはアリスにナンス(1回 限りの乱数)Rを送り、アリスはRを共有秘密鍵で暗号化して返信する “I am Alice” R KA-B(R) Failures, drawbacks? Alice is live, and only Alice knows key to encrypt nonce, so it must be Alice! 8: Network Security 8-33 Authentication: ap5.0 認証: ap5.0 ap4.0 requires shared symmetric key can we authenticate using public key techniques? ap5.0: use nonce, public key cryptography ナンスと公開鍵暗号方式を使用 “I am Alice” R Bob computes + - - K A (R) “send me your public key” + KA KA(KA (R)) = R and knows only Alice could have the private key, that encrypted R such that + K (K (R)) = R A A 8: Network Security 8-34 ap5.0: security hole セキュリティホール Man (woman) in the middle attack: 中間で攻撃するもの: Trudy poses as Alice (to Bob) and as Bob (to Alice) I am Alice R I am Alice R K (R) T K (R) A Send me your public key + K T Send me your public key + K A - + m = K (K (m)) A A + K (m) A Trudy gets - + m = K (K (m)) T Alice sends T m to + K (m) T encrypted with Alice’s public key 8: Network Security 8-35 ap5.0: security hole セキュリティホール Man (woman) in the middle attack:中間で攻撃するもの: Trudy poses as Alice (to Bob) and as Bob (to Alice) Difficult to detect: 見つけにくい: Bob receives everything that Alice sends, and vice versa. (e.g., so Bob, Alice can meet one week later and recall conversation) problem is that Trudy receives all messages as well! 8: Network Security 8-36 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Authentication 8.4 Message integrity メッセージ保全 8.5 Key Distribution and certification 8.6 Access control: firewalls 8.7 Attacks and counter measures 8.8 Security in many layers 8: Network Security 8-37 Digital Signatures デジタル署名 Cryptographic technique analogous to handwritten signatures. 手で書かれた署名(サイン)と類似した暗号手法 sender (Bob) digitally signs document, establishing he is document owner/creator. verifiable, nonforgeable: recipient (Alice) can prove to someone that Bob, and no one else (including Alice), must have signed document 8: Network Security 8-38 Digital Signatures デジタル署名 Simple digital signature for message m: メッセージmのための単純なデジタル署名: - private key - signs m by encrypting with his Bob KB, creating “signed” message, KB(m) Bob’s message, m Dear Alice Oh, how I have missed you. I think of you all the time! …(blah blah blah) Bob K B Bob’s private key Public key encryption algorithm - K B(m) Bob’s message, m, signed (encrypted) with his private key 8: Network Security 8-39 Digital Signatures (more) デジタル署名(さらに) - Suppose Alice receives msg m, digital signature KB(m) Alice verifies m signed by Bob by applying Bob’s + - + - public key KB to KB(m) then checks KB(KB(m) ) = m. + - If KB(KB(m) ) = m, whoever signed m must have used Bob’s private key. Alice thus verifies that: Bob signed m. No one else signed m. Bob signed m and not m’. Non-repudiation: Alice can take m, and signature KB(m) to court and prove that Bob signed m. 8: Network Security 8-40 Message Digests メッセージ・ダイジェスト Computationally expensive to public-key-encrypt long messages 長いメッセージの公開鍵暗号化は 計算機的コストが高くつく Goal: fixed-length, easyto-compute digital “fingerprint” 目標: 固定長で計算が容易なデジ タル“指紋” apply hash function H to m, get fixed size message digest, H(m). large message m H: Hash Function H(m) Hash function properties: ハッシュ関数特性: many-to-1 produces fixed-size msg digest (fingerprint) given message digest x, computationally infeasible to find m such that x = H(m) 8: Network Security 8-41 Internet checksum: poor crypto hash function インターネット・チェックサム:貧弱な暗号ハッシュ関数 Internet checksum has some properties of hash function: produces fixed length digest (16-bit sum) of message is many-to-one But given message with given hash value, it is easy to find another message with same hash value: message I O U 1 0 0 . 9 9 B O B ASCII format 49 4F 55 31 30 30 2E 39 39 42 D2 42 B2 C1 D2 AC message I O U 9 0 0 . 1 9 B O B ASCII format 49 4F 55 39 30 30 2E 31 39 42 D2 42 B2 C1 D2 AC different messages but identical checksums! 8: Network Security 8-42 Digital signature = signed message digest デジタル署名=署名されたメッセージダイジェスト Alice verifies signature and integrity of digitally signed message: Bob sends digitally signed message: large message m H: Hash function Bob’s private key + - KB encrypted msg digest H(m) digital signature (encrypt) encrypted msg digest KB(H(m)) large message m H: Hash function KB(H(m)) Bob’s public key + KB digital signature (decrypt) H(m) H(m) equal ? 8: Network Security 8-43 Hash Function Algorithms ハッシュ関数アルゴリズム MD5 hash function widely used (RFC 1321) computes 128-bit message digest in 4-step process. arbitrary 128-bit string x, appears difficult to construct msg m whose MD5 hash is equal to x. SHA-1 is also used. US standard [NIST, FIPS PUB 180-1] 160-bit message digest 8: Network Security 8-44 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Authentication 8.4 Integrity 8.5 Key distribution and certification 鍵配送と認証 8.6 Access control: firewalls 8.7 Attacks and counter measures 8.8 Security in many layers 8: Network Security 8-45 Trusted Intermediaries 信頼された仲介者 Symmetric key problem: 対称鍵の問題: Public key problem: 公開鍵の問題: How do two entities When Alice obtains establish shared secret key over network? Solution: trusted key distribution center (KDC) acting as intermediary between entities Bob’s public key (from web site, e-mail, diskette), how does she know it is Bob’s public key, not Trudy’s? Solution: trusted certification authority (CA) 8: Network Security 8-46 Key Distribution Center (KDC) 鍵配送センター(KDC) Alice, Bob need shared symmetric key. KDC: server shares different secret key with each registered user (many users) Alice, Bob know own symmetric keys, KA-KDC KB-KDC , for communicating with KDC. KDC KA-KDC KP-KDC KP-KDC KB-KDC KA-KDC KX-KDC KY-KDC KB-KDC KZ-KDC 8: Network Security 8-47 Key Distribution Center (KDC) 鍵配送センター(KDC) Q: How does KDC allow Bob, Alice to determine shared symmetric secret key to communicate with each other? Q: KDCはどのようにボブとアリスに相互に通信するための共有された対 称鍵の決定を許可するか? KDC generates KA-KDC(A,B) R1 Alice knows R1 KA-KDC(R1, KB-KDC(A,R1) ) KB-KDC(A,R1) Bob knows to use R1 to communicate with Alice Alice and Bob communicate: using R1 as session key for shared symmetric encryption 8: Network Security 8-48 Certification Authorities 認証局 Certification authority (CA): 公開鍵認証(CA): binds public key to particular entity, E. E (person, router) registers its public key with CA. E provides “proof of identity” to CA. CA creates certificate binding E to its public key. certificate containing E’s public key digitally signed by CA – CA says “this is E’s public key” Bob’s public key Bob’s identifying information + KB digital signature (encrypt) CA private key K- CA + KB certificate for Bob’s public key, signed by CA 8: Network Security 8-49 Certification Authorities 認証局 When Alice wants Bob’s public key: アリスがボブの公開鍵を必要としたとき: gets Bob’s certificate (Bob or elsewhere). ボブの証明書を取得 apply CA’s public key to Bob’s certificate, get Bob’s public key 認証局の公開鍵をボブの証明書に適用、ボブの公開鍵を取得 + KB digital signature (decrypt) CA public key Bob’s public + key KB + K CA 8: Network Security 8-50 A certificate contains: 証明書は以下を含む: Serial number (unique to issuer) info about certificate owner, including algorithm and key value itself (not shown) info about certificate issuer valid dates digital signature by issuer 8: Network Security 8-51 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Authentication 8.4 Integrity 8.5 Key Distribution and certification 8.6 Access control: firewalls アクセス制御: ファイアウォール 8.7 Attacks and counter measures 8.8 Security in many layers 8: Network Security 8-52 Firewalls ファイアウォール firewall isolates organization’s internal net from larger Internet, allowing some packets to pass, blocking others. あるパケットには通過を許可し、あるパケットはブロックして、より 大きなインターネットから組織の内部ネットを分離 public Internet administered network firewall 8: Network Security 8-53 Firewalls: Why ファイアウォール:なぜ必要 prevent denial of service attacks: サービス強制停止攻撃を防ぐ: SYN flooding: attacker establishes many bogus TCP connections, no resources left for “real” connections. prevent illegal modification/access of internal data. 内部データの不法な修正/アクセスを防ぐ e.g., attacker replaces CIA’s homepage with something else allow only authorized access to inside network (set of authenticated users/hosts) 内部のネットワーク(確証されたユーザ/ホストのセット)への認可されたア クセスのみを許可 two types of firewalls: application-level packet-filtering 8: Network Security 8-54 Packet Filtering パケットフィルタリング Should arriving packet be allowed in? Departing packet let out? internal network connected to Internet via router firewall 内部ネットワークはルータのファイアウォールを通してインターネットに繋 がれる router filters packet-by-packet(パケットごとにフィルタをかける) , decision to forward/drop packet based on: source IP address, destination IP address TCP/UDP source and destination port numbers ICMP message type TCP SYN and ACK bits 8: Network Security 8-55 Packet Filtering パケットフィルタリング Example 1: block incoming and outgoing datagrams with IP protocol field = 17 and with either source or dest port = 23. All incoming and outgoing UDP flows and telnet connections are blocked. Example 2: Block inbound TCP segments with ACK=0. Prevents external clients from making TCP connections with internal clients, but allows internal clients to connect to outside. 8: Network Security 8-56 Application gateways アプリケーションゲートウェイ Filters packets on application data as well as on IP/TCP/UDP fields. host-to-gateway telnet session application gateway gateway-to-remote host telnet session router and filter IP/TCP/UDPフィールドと同様に アプリケーションデータ上でのパ ケットのフィルタリング Example: allow select internal users to telnet outside. 1. Require all telnet users to telnet through gateway. 2. For authorized users, gateway sets up telnet connection to dest host. Gateway relays data between 2 connections 3. Router filter blocks all telnet connections not originating from gateway. 8: Network Security 8-57 Limitations of firewalls and gateways ファイアウォールとゲートウェイの制限 IP spoofing(IP偽装): router can’t know if data “really” comes from claimed source if multiple app’s. need special treatment, each has own app. gateway. client software must know how to contact gateway. e.g., must set IP address of proxy in Web browser filters often use all or nothing policy for UDP. tradeoff: degree of communication with outside world, level of security トレードオフ: 外部との通信程 度とセキュリティのレベル many highly protected sites still suffer from attacks. 8: Network Security 8-58 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Authentication 8.4 Integrity 8.5 Key Distribution and certification 8.6 Access control: firewalls 8.7 Attacks and counter measures 攻撃と対策 8.8 Security in many layers 8: Network Security 8-59 Internet security threats インタネットセキュリティの脅威 Mapping: マッピング(情報収集) before attacking: “case the joint” – find out what services are implemented on network Use ping to determine what hosts have addresses on network Port-scanning: try to establish TCP connection to each port in sequence (see what happens) nmap (http://www.insecure.org/nmap/) mapper: “network exploration and security auditing” Countermeasures? 8: Network Security 8-60 Internet security threats インタネットセキュリティの脅威 Mapping: countermeasures マッピング: 対策 record traffic entering network look for suspicious activity (IP addresses, pots being scanned sequentially) 8: Network Security 8-61 Internet security threats インタネットセキュリティの脅威 Packet sniffing: パケットスニフィング(読み取り) broadcast media promiscuous NIC reads all packets passing by can read all unencrypted data (e.g. passwords) e.g.: C sniffs B’s packets C A src:B dest:A payload B Countermeasures? 8: Network Security 8-62 Internet security threats インタネットセキュリティの脅威 Packet sniffing: countermeasures パケットスニフィング: 対策 all hosts in organization run software that checks periodically if host interface in promiscuous mode. one host per segment of broadcast media (switched Ethernet at hub) C A src:B dest:A payload B 8: Network Security 8-63 Internet security threats インタネットセキュリティの脅威 IP Spoofing: IPスプーフィング(IP偽装) can generate “raw” IP packets directly from application, putting any value into IP source address field receiver can’t tell if source is spoofed e.g.: C pretends to be B C A src:B dest:A Countermeasures? payload B 8: Network Security 8-64 Internet security threats インタネットセキュリティの脅威 IP Spoofing: ingress filtering IPスプーフィング: 進入フィルタリング routers should not forward outgoing packets with invalid source addresses (e.g., datagram source address not in router’s network) great, but ingress filtering can not be mandated for all networks C A src:B dest:A payload B 8: Network Security 8-65 Internet security threats インタネットセキュリティの脅威 Denial of service (DOS): サービス不能攻撃(DOS): flood of maliciously generated packets “swamp” receiver Distributed DOS (DDOS): multiple coordinated sources swamp receiver e.g., C and remote host SYN-attack A C A SYN SYN SYN SYN SYN B Countermeasures? SYN SYN 8: Network Security 8-66 Internet security threats インタネットセキュリティの脅威 Denial of service (DOS): countermeasures サービス不能攻撃(DOS): 対策 filter out flooded packets (e.g., SYN) before reaching host: throw out good with bad traceback to source of floods (most likely an innocent, compromised machine) C A SYN SYN SYN SYN SYN B SYN SYN 8: Network Security 8-67 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Authentication 8.4 Integrity 8.5 Key Distribution and certification 8.6 Access control: firewalls 8.7 Attacks and counter measures 8.8 Security in many layers 各レイヤにおけるセキュリティ 8.8.1. Secure email セキュアEメール 8.8.2. Secure sockets セキュアソケット 8.8.3. IPsec ネットワーク層セキュリティ 8.8.4. Security in 802.11 無線LANのセキュリティ 8: Network Security 8-68 Secure e-mail セキュアEメール Alice wants to send confidential e-mail, m, to Bob. アリスはボブへ、機密の電子メール(m)を送りたい KS m K (.) S + KS + . K B( ) + KS(m ) KS(m ) + KB(KS ) . KS( ) - Internet + KB(KS ) KB m KS - . K B( ) - KB Alice: generates random symmetric private key, KS. encrypts message with KS (for efficiency) also encrypts KS with Bob’s public key. sends both KS(m) and KB(KS) to Bob. 8: Network Security 8-69 Secure e-mail セキュアEメール Alice wants to send confidential e-mail, m, to Bob. KS m K (.) S + KS + . K B( ) + KS(m ) KS(m ) + KB(KS ) . KS( ) - Internet + KB(KS ) KB m KS - . K B( ) - KB Bob: uses his private key to decrypt and recover KS uses KS to decrypt KS(m) to recover m 8: Network Security 8-70 Secure e-mail (continued) セキュアEメール(続き) • Alice wants to provide sender authentication message integrity. + - KA m H(.) - . KA( ) - - KA(H(m)) KA(H(m)) + Internet m KA + . KA( ) m H(m ) compare . H( ) H(m ) • Alice digitally signs message. • sends both message (in the clear) and digital signature. 8: Network Security 8-71 Secure e-mail (continued) セキュアEメール(続き) • Alice wants to provide secrecy, sender authentication, message integrity. - KA m . H( ) - . KA( ) - KA(H(m)) + KS . KS( ) + m KS + . K B( ) + Internet + KB(KS ) KB Alice uses three keys: her private key, Bob’s public key, newly created symmetric key 8: Network Security 8-72 Pretty good privacy (PGP) Internet e-mail encryption scheme, de-facto standard. uses symmetric key cryptography, public key cryptography, hash function, and digital signature as described. provides secrecy, sender authentication, integrity. inventor, Phil Zimmerman, was target of 3-year federal investigation. A PGP signed message: ---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+lo8gE4vB3mqJ hFEvZP9t6n7G6m5Gw2 ---END PGP SIGNATURE--- 8: Network Security 8-73 Secure sockets layer (SSL) セキュアソケットレイヤ(SSL) transport layer security to any TCPbased app using SSL services. SSLサービスを使うTCPベース のアプリへのトランスポート層 のセキュリティ used between Web browsers, servers for e-commerce (shttp). security services: server authentication data encryption client authentication (optional) server authentication: サーバ認証: SSL-enabled browser includes public keys for trusted CAs. Browser requests server certificate, issued by trusted CA. Browser uses CA’s public key to extract server’s public key from certificate. check your browser’s security menu to see its trusted CAs. 8: Network Security 8-74 SSL (continued) SSL(続き) Encrypted SSL session: 暗号化SSLセッション: Browser generates symmetric session key, encrypts it with server’s public key, sends encrypted key to server. Using private key, server decrypts session key. Browser, server know session key All data sent into TCP socket (by client or server) encrypted with session key. SSL: basis of IETF Transport Layer Security (TLS). SSL can be used for non-Web applications, e.g., IMAP. Client authentication can be done with client certificates. 8: Network Security 8-75 IPsec: Network Layer Security IPsec: ネットワーク層セキュリティ Network-layer secrecy: ネットワーク層セキュリティ: sending host encrypts the data in IP datagram TCP and UDP segments; ICMP and SNMP messages. Network-layer authentication ネットワーク層認証 destination host can authenticate source IP address Two principle protocols: 2つの基本プロトコル authentication header (AH) protocol encapsulation security payload (ESP) protocol For both AH and ESP, source, destination handshake: AHとESPはともに、始点・終点間 のハンドシェイクを行う create network-layer logical channel called a security association (SA) Each SA unidirectional. それぞれSAは単方向 Uniquely determined by: 以下によって一意的に識別され る security protocol (AH or ESP) source IP address 32-bit connection ID 8: Network Security 8-76 Authentication Header (AH) Protocol AH(認証ヘッダ)プロトコル provides source authentication, data integrity, no confidentiality 始点認証およびデータ保全性( 機密性なし)を提供 AH header inserted between IP header, data field. protocol field: 51 intermediate routers process datagrams as usual IP header AH header AH header includes: AHヘッダは以下を含む: connection identifier authentication data: source- signed message digest calculated over original IP datagram. next header field: specifies type of data (e.g., TCP, UDP, ICMP) data (e.g., TCP, UDP segment) 8: Network Security 8-77 ESP Protocol ESP(暗号ペイロード)プロトコル provides secrecy, host authentication, data integrity. セキュリティ、ホスト認証、データ保 全性を提供 ESP authentication field is similar to AH authentication field. Protocol = 50. data, ESP trailer encrypted. next header field is in ESP trailer. authenticated encrypted IP header ESP ESP ESP TCP/UDP segment header trailer authent. 8: Network Security 8-78 IEEE 802.11 security IEEE 802.11セキュリティ War-driving: drive around Bay area, see what 802.11 networks available? ウォー・ドライブ: ベイエリアの周りをドライブした際、どんな802.11ネット ワークが利用できるか? More than 9000 accessible from public roadways 85% use no encryption/authentication packet-sniffing and various attacks easy! Securing 802.11 encryption, authentication first attempt at 802.11 security: Wired Equivalent Privacy (WEP): a failure current attempt: 802.11i 8: Network Security 8-79 Wired Equivalent Privacy (WEP): ap4.0 プロトコルap4.0の中でのような認証 authentication as in protocol host requests authentication from access point access point sends 128 bit nonce host encrypts nonce using shared symmetric key access point decrypts nonce, authenticates host no key distribution mechanism authentication: knowing the shared key is enough 8: Network Security 8-80 WEP data encryption WEPデータ暗号化 Host/AP share 40 bit symmetric key (semi permanent) Host appends 24-bit initialization vector (IV) to create 64-bit key 64 bit key used to generate stream of keys, kiIV kiIV used to encrypt ith byte, di, in frame: ci = di XOR kiIV IV and encrypted bytes, ci sent in frame 8: Network Security 8-81 802.11 WEP encryption 802.11 WEP暗号化 IV (per frame) KS: 40-bit secret symmetric key plaintext frame data plus CRC key sequence generator ( for given KS, IV) k1IV k2IV k3IV … kNIV kN+1IV… kN+1IV d1 d2 d3 … dN CRC1 … CRC4 c1 c2 c3 … cN cN+1 … cN+4 802.11 IV header WEP-encrypted data plus CRC Figure 7.8-new1: 802.11encryption WEP protocol Sender-side WEP 8: Network Security 8-82 Breaking 802.11 WEP encryption 802.11 WEP暗号化を突破(破壊) Security hole: セキュリティホール: 24-bit IV, one IV per frame, -> IV’s eventually reused IV transmitted in plaintext -> IV reuse detected Attack: 攻撃: Trudy causes Alice to encrypt known plaintext d1 d2 d3 d4 … IV Trudy sees: ci = di XOR ki Trudy knows ci di, so can compute kiIV IV IV IV Trudy knows encrypting key sequence k1 k2 k3 … Next time IV is used, Trudy can decrypt! 8: Network Security 8-83 802.11i: improved security 802.11i: 改善されたセキュリティ numerous (stronger) forms of encryption possible provides key distribution uses authentication server separate from access point 8: Network Security 8-84 802.11i: four phases of operation 802.11i: オペレーションの4つの段階 STA: client station AP: access point AS: Authentication server wired network 1 Discovery of security capabilities 2 STA and AS mutually authenticate, together generate Master Key (MK). AP servers as “pass through” 3 STA derives Pairwise Master Key (PMK) 4 STA, AP use PMK to derive Temporal Key (TK) used for message encryption, integrity 3 AS derives same PMK, sends to AP 8: Network Security 8-85 EAP: extensible authentication protocol EAP: end-end client (mobile) to authentication server protocol EAP sent over separate “links” mobile-to-AP (EAP over LAN) AP to authentication server (RADIUS over UDP) wired network EAP TLS EAP EAP over LAN (EAPoL) IEEE 802.11 RADIUS UDP/IP 8: Network Security 8-86 Network Security (summary) ネットワークセキュリティ(まとめ) Basic techniques…... 基本テクニック cryptography (symmetric and public) 暗号化 authentication 認証 message integrity メッセージ保全 key distribution 鍵の配送 …. used in many different security scenarios さまざまなセキュリティシナリオで使用 secure email セキュアEメール secure transport (SSL) セキュア転送 IP sec 802.11 8: Network Security 8-87
© Copyright 2024 ExpyDoc