15-441 Computer Networking Lecture 4 – Applications DNS, SSL.

Slides:



Advertisements
Similar presentations
Chapter 8 Network Security
Advertisements

Network Security7-1 Chapter 7 Network Security Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
Cryptography. 8: Network Security8-2 The language of cryptography symmetric key crypto: sender, receiver keys identical public-key crypto: encryption.
Network Security Hwajung Lee. What is Computer Networks? A collection of autonomous computers interconnected by a single technology –Interconnected via:
1 Counter-measures Threat Monitoring Cryptography as a security tool Encryption Authentication Digital Signature Key distribution.
1 Network Security What is network security? Principles of cryptography Authentication Access control: firewalls Attacks and counter measures.
8: Network Security Security. 8: Network Security8-2 Chapter 8 Network Security A note on the use of these ppt slides: We’re making these slides.
1 Key Establishment Symmetric key problem: How do two entities establish shared secret key in the first place? Solutions: Deffie-Hellman trusted key distribution.
Chapter 8 Network Security Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
1 ITC242 – Introduction to Data Communications Week 11 Topic 17 Chapter 18 Network Security.
CSE401n:Computer Networks
Network Security understand principles of network security:
1 Key Establishment Symmetric key problem: How do two entities establish shared secret key over network? Solution: trusted key distribution center (KDC)
8: Network Security8-1 Chapter 8 Network Security A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students,
Network Security7-1 Network Security 1. What is network security 2. Principles of cryptography 3. Authentication 4. Integrity 5. Key Distribution and certification.
Review and Announcement r Ethernet m Ethernet CSMA/CD algorithm r Hubs, bridges, and switches m Hub: physical layer Can’t interconnect 10BaseT & 100BaseT.
Lecture 24 Cryptography CPE 401 / 601 Computer Network Systems slides are modified from Jim Kurose and Keith Ross and Dave Hollinger.
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
CS640: Computer Networks Aditya Akella Lecture 17 Naming and the DNS.
Lecture 23 Cryptography CPE 401 / 601 Computer Network Systems Slides are modified from Jim Kurose & Keith Ross.
Chapter 31 Network Security
7: Network Security1 Chapter 7: Network security Foundations: r what is security? r cryptography r authentication r message integrity r key distribution.
Internet and Intranet Protocols and Applications Lecture 10 Network (Internet) Security April 3, 2002 Joseph Conron Computer Science Department New York.
1-1 1DT066 Distributed Information System Chapter 8 Network Security.
8-1Network Security Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message integrity, authentication.
22-1 Last time □ SMTP ( ) □ DNS This time □ P2P □ Security.
ICT 6621 : Advanced NetworkingKhaled Mahbub, IICT, BUET, 2008 Lecture 12 Network Security (2)
8: Network Security8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents  sender encrypts.
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 part 1: Principles of cryptography.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Prof. Younghee Lee 1 1 Computer Networks u Lecture 13: Network Security Prof. Younghee Lee * Some part of this teaching materials are prepared referencing.
ICT 6621 : Advanced NetworkingKhaled Mahbub, IICT, BUET, 2008 Lecture 11 Network Security (1)
Network Security7-1 CIS3360: Chapter 8: Cryptography Application of Public Cryptography Cliff Zou Spring 2012 TexPoint fonts used in EMF. Read the TexPoint.
Network Security Introduction Light stuff – examples with Alice, Bob and Trudy Serious stuff - Security attacks, mechanisms and services.
1-1 1DT066 Distributed Information System Chapter 8 Network Security.
Secure Sockets Layer (SSL) and Transport layer security (TLS)
1 Security and Cryptography: basic aspects Ortal Arazi College of Engineering Dept. of Electrical & Computer Engineering The University of Tennessee.
Network Security Understand principles of network security:
Upper OSI Layers Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
Introduction1-1 Data Communications and Computer Networks Chapter 6 CS 3830 Lecture 28 Omar Meqdadi Department of Computer Science and Software Engineering.
1 Network Security Basics. 2 Network Security Foundations: r what is security? r cryptography r authentication r message integrity r key distribution.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Network Security7-1 Today r Reminders m Ch6 Homework due Wed Nov 12 m 2 nd exams have been corrected; contact me to see them r Start Chapter 7 (Security)
+ Security. + What is network security? confidentiality: only sender, intended receiver should “understand” message contents sender encrypts message receiver.
Computer and Network Security - Message Digests, Kerberos, PKI –
Chapter 10: Network Security Chapter goals: r understand principles of network security: m cryptography and its many uses beyond “confidentiality” m authentication.
Network Security7-1 Chapter 7: Network Security Chapter goals: r understand principles of network security: m cryptography and its many uses beyond “confidentiality”
 Last Class  Chapter 7 on Data Presentation Formatting and Compression  This Class  Chapter 8.1. and 8.2.
Cryptography services Lecturer: Dr. Peter Soreanu Students: Raed Awad Ahmad Abdalhalim
8: Network Security8-1 Chapter 8 Network Security A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students,
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
What is network security?
Network Security Primitives
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Network Security Basics
1DT057 Distributed Information System Chapter 8 Network Security
Review and Announcement
Protocol ap1.0: Alice says “I am Alice”
Protocol ap1.0: Alice says “I am Alice”
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Basic Network Encryption
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Chapter 8 roadmap 8.1 What is network security?
Presentation transcript:

Computer Networking Lecture 4 – Applications DNS, SSL

Lecture 4: Outline Security: Cryptography Introduction Security: Authentication Security: Key Distribution DNS

Lecture 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

Lecture 4: Friends and Enemies: Alice, Bob, Trudy Well-known in network security world Bob & Alice want to communicate “securely” Trudy (intruder) may intercept, delete, add messages secure sender secure receiver channel data, control messages data Alice Bob Trudy

Lecture 4: Who might Bob, Alice be? … 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?

Lecture 4: 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 ……

Lecture 4: The Language of Cryptography Symmetric key crypto: sender, receiver keys identical Public-key crypto: encryption key public, decryption key secret (private) plaintext ciphertext KAKA encryption algorithm decryption algorithm Alice’s encryption key Bob’s decryption key KBKB

Lecture 4: Symmetric Key Cryptography Substitution cipher: substituting one thing for another monoalphabetic cipher: substitute one letter for another plaintext: abcdefghijklmnopqrstuvwxyz ciphertext: mnbvcxzasdfghjklpoiuytrewq Plaintext: bob. i love you. alice ciphertext: nkn. s gktc wky. mgsbc E.g.: Q: How hard to break this simple cipher?:  Brute force (how hard?)  Other?

Lecture 4: Symmetric Key Cryptography Symmetric key crypto: Bob and Alice both know same (symmetric) key: K A-B e.g., key is knowing substitution pattern in mono alphabetic substitution cipher Q: How do Bob and Alice agree on key value? plaintext ciphertext encryption algorithm decryption algorithm plaintext message, m K A-B K A-B (m)m = K A-B (K A-B (m))

Lecture 4: Public Key Cryptography Symmetric Key Crypto Requires sender, receiver know shared secret key Q: How to agree on key in first place (particularly if never “met”)? Public Key Cryptography Radically different approach [Diffie- Hellman76, RSA78] Sender, receiver do not share secret key Public encryption key known to all Private decryption key known only to receiver

Lecture 4: Public Key Cryptography plaintext message, m ciphertext encryption algorithm decryption algorithm Bob’s public key plaintext message K B (m) + + Bob’s private key - m = K B ( K B (m) ) + - KBKB KBKB

Lecture 4: Public Key Encryption Algorithms Need K B ( ) and K B ( ) such that Given public key K B, it should be impossible to compute private key K B Requirements: 1 2 RSA: Rivest, Shamir, Adelson algorithm + - K B (K B (m)) = m

Lecture 4: RSA: Another Important Property The following property will be very useful later: K B ( K B (m) ) = m - + = K B ( K B (m) ) + - Use public key first, followed by private key Use private key first, followed by public key Result is the same!

Lecture 4: Outline Security: Cryptography Introduction Security: Authentication Security: Key Distribution DNS

Lecture 4: Authentication “The Doors of Durin, Lord of Moria. Speak, friend, and enter.” - Words on the gate to Moria Password?  Mellon (Elvish for friend) “Too simple for a learned lore master in these suspicious days. Those were happier times.” - Gandalf

Lecture 4: Authentication Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” In a network, Bob can not “see” Alice, so Trudy simply declares herself to be Alice “I am Alice”

Lecture 4: Authentication: Another Try Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address Failure scenario?? “I am Alice” Alice’s IP address

Lecture 4: Authentication: Another Try Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address Trudy can create a packet “spoofing” Alice’s address “I am Alice” Alice’s IP address

Lecture 4: Authentication: Another Try Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. Failure scenario?? “I’m Alice” Alice’s IP addr Alice’s password OK Alice’s IP addr

Lecture 4: Authentication: Another Try Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. Playback attack: Trudy records Alice’s packet and later plays it back to Bob “I’m Alice” Alice’s IP addr Alice’s password OK Alice’s IP addr “I’m Alice” Alice’s IP addr Alice’s password

Lecture 4: Authentication: Yet Another Try Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. Failure scenario?? “I’m Alice” Alice’s IP addr encrypted password OK Alice’s IP addr

Lecture 4: Authentication: Another Try Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. Record and playback still works! “I’m Alice” Alice’s IP addr encrypted password OK Alice’s IP addr “I’m Alice” Alice’s IP addr encrypted password

Lecture 4: Authentication: Yet Another Try Goal: avoid playback attack Failures, drawbacks? 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 “I am Alice” R K A-B (R) Alice is live, and only Alice knows key to encrypt nonce, so it must be Alice!

Lecture 4: Authentication: 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 - “send me your public key” + and knows only Alice could have the private key, that encrypted R such that - + KAKA K A (R) K A (K A (R)) = R - +

Lecture 4: ap5.0: Security Hole ap5.0 only as “secure” as the distribution of public keys “I am Alice” R Bob computes and authenticates Trudy K T (R) - “send me your public key” KTKT K T (K T (R)) = R

Lecture 4: Outline Security: Cryptography Introduction Security: Authentication Security: Key Distribution DNS

Lecture 4: Trusted Intermediaries Symmetric key problem: How do two entities establish shared secret key over network? Solution: Trusted key distribution center (KDC) acting as intermediary between entities Public key problem: When Alice obtains Bob’s public key (from web site, , diskette), how does she know it is Bob’s public key, not Trudy’s? Solution: Trusted certification authority (CA)

Lecture 4: Key Distribution Center (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, K A-KDC K B-KDC, for communicating with KDC. K B-KDC K X-KDC K Y-KDC K Z-KDC K P-KDC K B-KDC K A-KDC K P-KDC KDC

Lecture 4: Key Distribution Center (KDC) Alice knows R1 Bob knows to use R1 to communicate with Alice Alice and Bob communicate: using R1 as session key for shared symmetric encryption Q: How does KDC allow Bob, Alice to determine shared symmetric secret key to communicate with each other? KDC generates R1 K B-KDC (A,R1) K A-KDC (A,B) K A-KDC (R1, K B-KDC (A,R1) )

Lecture 4: Certification Authorities Certification authority (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 digital signature (encrypt) CA private key certificate for Bob’s public key, signed by CA KBKB + K CA - KBKB +

Lecture 4: 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 Bob’s public key KBKB + digital signature (decrypt) CA public key K CA + KBKB +

Lecture 4: Certificate Contents 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

Lecture 4: Secure Sockets Layer (SSL) Transport layer security to any TCP-based app using SSL services. 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.

Lecture 4: SSL (continued) Encrypted SSL session: 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.

Lecture 4: Network Security (Summary) Cryptography (symmetric and public) Basic techniques & tradeoffs Authentication Common styles of attack Key distribution Why needed …. used in many different security scenarios secure , secure transport (SSL), IP sec, WEP

Lecture 4: Outline Security: Cryptography Introduction Security: Authentication Security: Key Distribution DNS

Lecture 4: Naming How do we efficiently locate resources? DNS: name  IP address Service location: description  host Other issues How do we scale these to the wide area? How to choose among similar services?

Lecture 4: Obvious Solutions (1) Why not centralize DNS? Single point of failure Traffic volume Distant centralized database Single point of update Doesn’t scale!

Lecture 4: Obvious Solutions (2) Why not use /etc/hosts? Original Name to Address Mapping Flat namespace /etc/hosts SRI kept main copy Downloaded regularly Count of hosts was increasing: machine per domain  machine per user Many more downloads Many more updates

Lecture 4: Domain Name System Goals Basically building a wide area distributed database Scalability Decentralized maintenance Robustness Global scope Names mean the same thing everywhere Don’t need Atomicity Strong consistency

Lecture 4: DNS Records RR format: (class, name, value, type, ttl) DB contains tuples called resource records (RRs) Classes = Internet (IN), Chaosnet (CH), etc. Each class defines value associated with type FOR IN class: Type=A name is hostname value is IP address Type=NS name is domain (e.g. foo.com) value is name of authoritative name server for this domain Type=CNAME name is an alias name for some “canonical” (the real) name value is canonical name Type=MX value is hostname of mailserver associated with name

Lecture 4: Hierarchical Name Space barracuda.cmcl.cs.cmu.edu root edunet org ukcom ca gwuucbcmubu mit cs ece cmcl barracuda Administrative hierarchy “.” as separator Host name to address section Top-level domains  edu, gov, ca, us, etc. Sub-domains = subtrees Human readable name = leaf  root path

Lecture 4: DNS Design: Zone Definitions root edunet org ukcom ca gwuucbcmubu mit cs ece cmcl barracuda Single node Subtree Complete Tree Zone = contiguous section of name space E.g., Complete tree, single node or subtree A zone has an associated set of name servers

Lecture 4: DNS Design: Cont. Zones are created by convincing owner node to create/delegate a subzone Records within zone stored multiple redundant name servers Primary/master name server updated manually Secondary/redundant servers updated by zone transfer of name space Zone transfer is a bulk transfer of the “configuration” of a DNS server – uses TCP to ensure reliability Example: CS.CMU.EDU created by CMU.EDU administrators

Lecture 4: Servers/Resolvers Each host has a resolver Typically a library that applications can link to Local name servers hand-configured (e.g. /etc/resolv.conf) Name servers Either responsible for some zone or… Local servers Do lookup of distant host names for local hosts Typically answer queries about local zone

Lecture 4: DNS: Root Name Servers Responsible for “root” zone Approx. dozen root name servers worldwide Currently {a- m}.root-servers.net Local name servers contact root servers when they cannot resolve a name Configured with well-known root servers

Lecture 4: Next Lecture How DNS resolves names How well does DNS work today HTTP intro and details