Contents
Public-key distribution
Secret-key distribution via public-key cryptography
Key Management
Public announcement
Public available directory
Public-key authority
Public-key certificates
Public Announcement
Any participant can send his/her public key to any participants or broadcast to the community.
Public Announcement
Anyone can forge a public announcement
Some user could pretend to be user A and send a public key to another participant or broadcast such a public key.
C
Public Available Directory
1.
2.
A trusted authority maintains a directory with a {name, public key} entry for each participants.
Each participant registers a public key with the directory authority.
Public Available Directory
3.
4.
A participant may replace the existing key with a new some at any time.
Periodically, the authority publishes the entire directory or updates to the directory.
Public Available Directory
5.
Participants could also access the directory electrically. For this purpose, secure, authenticated communication from the authority to the participant is mandatory.
Public Available Directory
This scheme is more secure, but still has vulnerabilities.
If an opponent get the private key of the directory authority, the opponent could counterfeit public keys in the directory.
Public-key Authority
Stronger security for public-key distribution can be achieved by providing tighter control over the distribution of public keys from the directory.
Public-key Authority
1.
A sends a timestamped message to the public-key authority containing a request for the current public key of B.
Public-key Authority
2.
The authority responds with a message that is encrypted using the authority’s private key,
KR auth
.
Public-key Authority
3.
A stores B’s public key and also use it to encrypt a message to B containing an identifier of A( ID
A
) and a nonce( N
1
).
Public-key Authority
4,5
B retrieves A’s public key from the authority in the same manner as A retrieved B’s public key.
Public-key Authority
6.
B sends a message to A encrypted with KU a
A’s nonce(
N
1 and containing
) as well as a new nonce generated by B( N
2
).
Public-key Authority
7.
A returns N
2 , encrypted using B’s public key, to assure B that is correspondent is A.
Public-key Authority
A total of seven messages are required.
However, the initial four messages need be used only infrequently because both A and B can save the other’s public key for future use.
Public-key authority could be a bottleneck in the system, because a user must access the authority for the public key for every other user that it wishes to contact.
As before, the directory is vulnerable to tampering.
Public-key Certificates
Certificates are used to exchange keys without contacting a public-key authority.
A certificate consists of a public key, an identifier of the key owner, and more information with the signature of the whole block signed by a trusted third party.
Public-key Certificates
Each user sends his/her public key to a certificate authority
(CA) in a secure manner.
The CA generates a certificate for the user using his/her private key.
Public-key Certificates
A and B sends their certificates to each other.
Each verify the certificate using the CA’s public key.
Secret-Key Distribution
Simple secret key distribution
Secret key distribution with confidentiality and authentication
A hybrid scheme
Simple Secret Key Distribution
1.
2.
If A wishes to communicate with B,
A generates a public/private key pair { KU a
, KR a
} and transmits a message to B consisting of KU a and an identifier of A, ID
A
.
B generates a secret key, K s
A’s public key.
, and transmits it to A, encrypted with
3.
4.
A computes D
KRa
[E
KUa
[ K s
]] to recover the secret key.
A discards KU a and KR a and B discards KU a
.
Simple Secret Key Distribution
A and B can now securely communicate using conventional encryption and the session key K s
.
However, this protocol is vulnerable to an active attack.
Man-in-the-middle attack
An opponent E can compromise the communication without being detected.
Simple Secret Key Distribution
1.
2.
Man-in-the-middle attack
A generates a public/private key pair { KU a
, KR a
} and transmits a message intended for B consisting of KU a and ID
A
.
E intercepts the message, creates its own public/private key pair
{ KU e
, KR e
} and transmits KU e
|| ID
A to B.
(1) KU a
||ID
A
(2) KU e
||ID
A
A E B
(4) E
KUa
[K s
] (3) E
KUe
[K s
]
Simple Secret Key Distribution
4.
5.
6.
Man-in-the-middle attack
B generates a secret key K s
, and transmits E
KUe
[ K s
].
E intercepts the message and learns K s by computing D
KRe
[E
KUe
[ K s
]].
E transmits E
KUa
[ K s
] to A.
(1) KU a
||ID
A
(2) KU e
||ID
A
A E B
(4) E
KUa
[K s
] (3) E
KUe
[K s
]
Simple Secret Key Distribution
Both A and B know K s and are unaware that E knows K s
.
Knowing K s
, E can decrypt all encrypted messages between A and B.
Secret Key distribution with Confidentiality and Authentication
Secret Key Distribution with Confidentiality and
Authentication
Assume that A and B have exchanged public key
Secret Key distribution with Confidentiality and Authentication
1.
2.
A uses B’s public key to encrypt a message to B obtaining an identifier of A ( ID
A
) and a nonce ( N
1
), used to identify this transaction uniquely.
B sends a message to A encrypted with KU a and obtaining A’s nonce( N
1
) as well as a now nonce generated by B( N
2
).
Secret Key distribution with Confidentiality and Authentication
3.
4.
5.
A returns N
2
, encrypted using B’s public key, to assure B that its correspondent is A.
A selects a secret key K s and sends M = E
KUb
[E
KRa
[ K s
]] to B.
Encryption of this message with B’s public key ensures that only B can read it; Encryption with A’s private key ensures that only A could have sent it.
B computes D
KUa
[D
KRb
[M]] to recover the secret key.
Secret Key distribution with Confidentiality and Authentication
This approach provides protection against both active and passive attacks.
Note that the first 3 step of this scheme are the same as that last 3 steps of Public-key authority scheme.
This scheme ensures both confidentiality and authentication in the exchange of a secret key.
Hybrid Scheme
The use of a key distribution center (KDC) that shares a secret master key with each user and distributes secret session keys encrypted with the master key.
A public key scheme is used to distribute the master keys.
Hybrid Scheme
Performance
Distribution of session key by public-key encryption could degrade overall system performance.
With a 3-level hierarchy, public-key encryption is used only occasionally to update the master key between a user and the KDC.
Backward Compatibility
The hybrid scheme is easily overlaid on an existing KDC scheme, with minimal disruption or software changes.