security
play

Security Public key (e.g., RSA) Message digest (e.g., MD5) - PowerPoint PPT Presentation

Overview Cryptography functions Secret key (e.g., DES) Security Public key (e.g., RSA) Message digest (e.g., MD5) Security services Privacy: preventing unauthorized release of information Outline Authentication:


  1. Overview • Cryptography functions – Secret key (e.g., DES) Security – Public key (e.g., RSA) – Message digest (e.g., MD5) • Security services – Privacy: preventing unauthorized release of information Outline – Authentication: verifying identity of the remote participant Encryption Algorithms – Integrity: making sure message has not been altered Authentication Protocols Security Message Integrity Protocols Key Distribution Cryptography Security algorithms services Firewalls Secret Public Message Privacy Authentication Message key key digest integrity (e.g., DES) (e.g., RSA) (e.g., MD5) Spring 2005 CS 461 1 Spring 2005 CS 461 2 • 64-bit key (56-bits + 8-bit parity) Secret Key (DES) • 16 rounds • Each Round Initial permutation Plaintext Plaintext Round 1 Li – 1 Ri – 1 Ki F Round 2 Encrypt with Decrypt with 56-bit + secret key secret key key … Ciphertext Li Ri Round 16 Final permutation Spring 2005 CS 461 3 Spring 2005 CS 461 4

  2. Public Key (RSA) • Repeat for larger messages Plaintext Plaintext Block 1 Block 2 Block 3 Block 4 Encrypt with Decrypt with public key private key + + + + IV Ciphertext DES DES DES DES • Encryption & Decryption c = m e mod n Cipher 1 Cipher 2 Cipher 3 Cipher 4 m = c d mod n Spring 2005 CS 461 5 Spring 2005 CS 461 6 RSA (cont) Message Digest • Choose two large prime numbers p and q (each 256 bits) • Cryptographic checksum • Multiply p and q together to get n – just as a regular checksum protects the receiver from accidental changes to the message, a cryptographic checksum protects the • Choose the encryption key e , such that e and ( p - 1) x ( q - 1) receiver from malicious changes to the message. are relatively prime. • One-way function • Two numbers are relatively prime if they have no common – given a cryptographic checksum for a message, it is virtually factor greater than one impossible to figure out what message produced that checksum; it • Compute decryption key d such that is not computationally feasible to find two messages that hash to d = e -1 mod (( p - 1) x ( q - 1)) the same cryptographic checksum. • Relevance • Construct public key as ( e , n ) – if you are given a checksum for a message and you are able to • Construct public key as ( d , n ) compute exactly the same checksum for that message, then it is • Discard (do not disclose) original primes p and q highly likely this message produced the checksum you were given. Spring 2005 CS 461 7 Spring 2005 CS 461 8

  3. Authentication Protocols • Trusted third party (Kerberos) • Three-way handshake S A B Client Server A, B ClientId, E(x, CHK) E((T, L, K, B), K A ), E(x + 1, SHK), E(y, SHK) E((T, L, K, A), K B ) E((A, T), K), E(y + 1, CHK) E((T, L, K, A), K B ) E(SK, SHK) E(T + 1, K) Spring 2005 CS 461 9 Spring 2005 CS 461 10 Message Integrity Protocols • Public key authentication • Digital signature using RSA – special case of a message integrity where the code can only have A B been generated by one participant – compute signature with private key and verify with public key E(x, Public B ) • Keyed MD5 – sender: m + MD5( m + k ) + E( k, private ) x – receiver • recovers random key using the sender’s public key • applies MD5 to the concatenation of this random key message • MD5 with RSA signature – sender: m + E(MD5( m ), private ) – receiver • decrypts signature with sender’s public key • compares result with MD5 checksum sent with message Spring 2005 CS 461 11 Spring 2005 CS 461 12

  4. Message Integrity Protocols Key Distribution • Certificate • Digital signature using RSA – special case of a message integrity where the code can only have – special type of digitally signed document: been generated by one participant “I certify that the public key in this document belongs to the entity – compute signature with private key and verify with public key named in this document, signed X.” • Keyed MD5 – the name of the entity being certified – sender: m + MD5( m + k ) + E(E( k, rcv-pub), private ) – the public key of the entity – receiver – the name of the certified authority • recovers random key using the sender’s public key – a digital signature • applies MD5 to the concatenation of this random key message • MD5 with RSA signature • Certified Authority (CA) – sender: m + E(MD5( m ), private ) – administrative entity that issues certificates – receiver – useful only to someone that already holds the CA’s • decrypts signature with sender’s public key public key. • compares result with MD5 checksum sent with message Spring 2005 CS 461 13 Spring 2005 CS 461 14 Firewalls Key Distribution (cont) • Chain of Trust Rest of the Internet Firewall Local site – if X certifies that a certain public key belongs to Y , and Y certifies that another public key belongs to Z , then there exists a chain of certificates from X to Z • Filter-Based Solution – someone that wants to verify Z ’s public key has to – example know X ’s public key and follow the chain ( 192.12.13.14, 1234, 128.7.6.5, 80 ) • Certificate Revocation List (*,*, 128.7.6.5, 80 ) – default: forward or not forward? – how dynamic? Spring 2005 CS 461 15 Spring 2005 CS 461 16

  5. Proxy-Based Firewalls Denial of Service • Problem: complex policy • Example: web server Remote • Attacks on end hosts company user Web – SYN attack Internet Firewall Company net server Random • Attacks on routers external user • Solution: proxy – Christmas tree packets – pollute route cache Firewall External Local client server Proxy • Authentication attacks • Distributed DoS attacks External HTTP/TCP connection Internal HTTP/TCP connection • Design: transparent vs. classical • Limitations: attacks from within Spring 2005 CS 461 17 Spring 2005 CS 461 18

Recommend


More recommend