Network Security
Key Management
Key Management
Public-key encryption helps address key distribution problems Have two aspects of this:
Distribution of public keys Use of public-key encryption to distribute secret keys
Distribution of Public Keys
Can be considered as using one of following mechanisms:
Public announcement: Publicly available directory Public-key authority Public-key certificates
Public Announcement
Users distribute public keys to recipients or broadcast to community at large
[Link] to news groups or email list
Public Announcement Weakness
Major weakness is forgery
Anyone can create a key claiming to be someone else and broadcast it Until forgery is discovered, can masquerade as claimed user
Publicly Available Directory
Can obtain greater security by registering keys with a public directory Directory must be trusted with properties:
Contains {name, public-key} entries Participants register securely with directory Participants can replace key at any time Directory is periodically published Directory can be accessed electronically
Publicly Available Directory
More secure than individual public announcements Still vulnerable to tampering or forgery
7
Public-Key Authority
Improve security by tightening control over distribution of keys from directory Has properties of directory And requires users to know public key for the directory Then users interact with directory to obtain any desired public key securely
Does require real-time access to directory when keys are needed
Public-Key Authority
Public-Key Authority Message Exchange
A sends a timestamped message to the public key authority containing request for Bs public key Authority responds with a message encrypted with its private key.
As assured message is generated from authority Message includes: Bs public key, original request and original timestamp
10
Message Exchange
A stores Bs public key and also uses it for encryption of IDA and a nonce B gets the public key from authority B sends a message to A encrypted with As public key
This identifies the session uniquely
A returns Bs nonce, encrypted using Bs public key
Message contains As nonce & new nonce from B As nonce in message tells that the communicator is B
11
Public-Key Certificates
Certificates allow key exchange without realtime access to public-key authority A certificate binds identity to public key With all contents signed by a trusted PublicKey or Certificate Authority (CA) Can be verified by anyone who knows the public-key authorities public-key
Usually with other information such as period of validity, rights of use, etc.
12
Public-Key Certificates
13
Public-Key Certificates
Nodes acquire the certificates from the CA Each certificate contains a public key and other information, encrypted with CAs private key
Recipient uses CAs public key to decrypt the certificate
Participant conveys its key information using this certificate
14
Public-Key Certificates Requirements
Any participant can read a certificate Any participant can verify that the certificate originated from CA Only CA can create and update certificates Any participant can verify the certificate
15
Public-Key Distribution of Secret Keys
Use previous methods to obtain public-key Can use for secrecy or authentication But public-key algorithms are slow So usually want to use private-key encryption to protect message contents
Hence need a session key
Have several alternatives for negotiating a suitable session
16
Simple Secret Key Distribution
Proposed by Merkle in 1979
A generates a new temporary public key pair A sends B the public key and their identity B generates a session key K sends it to A encrypted using the supplied public key A decrypts the session key and both use
17
Secret Key Distribution
(1) KUa || IDA
(2) EKUa [KS]
Problem is that an opponent can intercept and impersonate both halves of protocol
18
Secret Key Distribution Problem Scenario
A generates public/private key and transmits to B E can intercept a message, create its own public/private key pair and transmits it to B B generates a secret key and transmits it encrypted with Es public key
19
Problem Scenario
E intercepts message and learns the secret key E transmits to A the secret key encrypted with As public key Now E can intercept all the communication
20
Distribution of Secret Keys with Confidentiality and Authentication
Must have securely exchanged public-keys:
21
Distribution of Secret Keys
1. A uses Bs public key to encrypt IDA and a nonce 2. B sends a message to A encrypted with A public key, containing As nonce and Bs nonce 3. A returns nonce of B 4. A selects a secret key and sends message M; first encrypting secret key with A private key and then encrypting with Bs public key
22
Used to identify the transaction
Diffie-Hellman Key Exchange
First public-key type scheme proposed By Diffie & Hellman in 1976 along with the exposition of public key concepts
Note: James Ellis (UK CESG) secretly proposed the concept in 1970
Is a practical method for public exchange of a secret key Used in a number of commercial products
23
Diffie-Hellman Key Exchange
A public-key distribution scheme
Cannot be used to exchange an arbitrary message Rather it can establish a common key Known only to the two participants
Value of key depends on the participants (and their private and public key information)
24
Diffie-Hellman Setup
Both the communicating parties agree on p and g Alice picks SA at random, Bob picks SB Alice computes TA=gSA mod p, Bob computes TB=gSB mod p They exchange Ts Each raises the number they receive to their secret number Alice computes TBSA mod p, Bob computes TASB mod p They come up with same number; because S S TB A =(gSB) SA =gSA SB=(gSA) SB = TA B mod p= KAB
25
Diffie-Hellman Example
Users Alice & Bob who wish to swap keys: Agree on prime p=353 and g =3 Select random secret keys: A chooses SA=97, B chooses SB=233 Compute public keys: 97 TA=3 mod 353 = 40 (Alice) 233 TB=3 mod 353 = 248 (Bob) Compute shared session key as: SA 97 KAB= TB mod 353 = 248 = 160 (Alice) S 233 KAB= TA B mod 353 = 40 = 160 (Bob)
26
Diffie-Hellman Key Exchange
KAB is used as session key in private-key encryption scheme between Alice and Bob If Alice and Bob subsequently communicate, they will have the same key as before, unless they choose new public-keys Attacker needs an S, must solve discrete log
27
The Diffie-Hellman Key Exchange Algorithm
28
Diffie-Hellman Key Exchange
29
Summary
Have considered:
Distribution of public keys Public-key distribution of secret keys Diffie-Hellman key exchange
30