260 likes | 557 Views
Key Distribution and Management. Yuan Xue. Outline. Secret Key Distribution Introduction Using key distribution center (KDC) Decentralized Using public-key Public Key Management Public-key Announcement Publicly Available Directory Public-key Certificate Web of Trust (GnuPG).
E N D
Key Distribution and Management Yuan Xue
Outline • Secret Key Distribution • Introduction • Using key distribution center (KDC) • Decentralized • Using public-key • Public Key Management • Public-key Announcement • Publicly Available Directory • Public-key Certificate • Web of Trust (GnuPG)
Secret Key Distribution • Message Encryption • Secret key encryption vs. public key encryption • Both encryption algorithms can provide confidentiality • Secret Key Encryption is more efficient and faster • To use secret key encryption • Communicating peers must share the same key • The key must be protected from access by others Key Distribution
Key Hierarchy • A secret key becomes insecure when used for a long time, since more ciphertext encrypted using this key is available to the attacker, making it easies to derive the key. • Keys that are used to encrypt the data need to be renewed frequently • Solution – Key Hierarchy • Session key – encrypt data, renewed each session • Master key – distribute session keys, renewed infrequently using non-cryptographic approach
Secret Key Distribution Approaches • Now the questions are • What are master keys? • secret key or public key? • Who should share master keys? • who needs to be trusted a priory? • How to get session keys from master keys? • key distribution protocol • Three approaches • Via key distribution center (KDC) • KDC needs to share a secret key with each of the communication parties • Decentralized • The communication parties need to share a master key • Via public key • Using public key encryption • Using Diffie-Hellman key exchange
Key Distribution based on KDC • Initially • A and B both trust KDC • KUA -- shared secret key between A and KDC • KUB -- shared secret key between B and KDC • Goal • A and B trust each other • A and B share a secret key KS KDC KUA, KUB KDC KUA, KUB KUA KS ,KUA A B KUB A B KS ,KUB
KDC-based Key Distribution Protocol Nonce guarantee the reply (the secret key) from KDC is fresh Ticket to B Match the KDC reply with the request, in case A issued multiple requests to KDC
Decentralized Key Distribution • Initially • A and B trust each other • A and B share a master secret key Km • Goal • A and B share a session secret key KS Km KS ,Km A B Km A B KS ,Km
Secret Key Distribution Via Public Key • Using public key encryption • RSA Algorithm • Using Diffie-Hellman key exchange • We will discuss about this approach later
Simple Secret Key Distribution • Problem: Man-in-the-middle-attack
Man-in-the-middle Attack KUA||IDA KUD||IDA A B D E[KUD, Ks] E[KUA, Ks]
Secret Key Distribution with Confidentiality and Authentication
Diffie-Hellman Key Exchange a is a primitive root of prime number p then a mod p, a2 mod p, …, ap-1 mod p are distinct and consist of the integers from 1 through p-1 For any b and a primitive root a of p, unique exponent I can be found such that b = ai mod p (0<=i <= p-1)
Key Management • Distribution of Public Key • Public-key Announcement • Publicly Available Directory • Public-key Certificate • Web of Trust (GnuPG)
Public Announcement • No Authentication Key Issue: Binding ID <-> Public key
Publicly Available Directory • Directory [ID, public key] • A securely registers its public key • In person • Secure communication • The entire directory is published periodically • B can access the directory via secure authenticated communication
Public-Key Certificate • Certificate CA = E[KRauth, T||IDA||KUA]
KDC-based Announcement In A Nutshell Decentralized (Web of Trust) Decentralized Directory Public-key-based RSA, Diffei-Hellman Certificate Public-key management Secret Key Distribution Public Keys Message Encryption Message Authentication Session Keys
Placement of Encryption Function Yuan Xue
Placement of Encryption Function • What to encrypt • Message format • Where the encryption function should be located? • Network stack • Link vs. End-to-end • Where each layer is located and how it may get attacked • Aspects to consider • Message security • Number of keys required • Number of encryption/decryptions • Transparency to users/end hosts
Potential Locations of Attacks Alice Bob Darth Application Application TCP/UDP TCP/UDP IP IP IP IP Link Link Link Link Internet