4ef60709698661208a3774a6eda40eae.ppt
- Количество слайдов: 35
Recent developments in group key exchange Mike Burmester Information Security Summer School 2005 Florida State University
Outline 1. Secure Communication 2. Key Distribution the Diffie-Hellman protocol variants, attacks authentication conference protocols 3. Public Key Certificates trust-graphs hierarchical vs horizontal structures security 4. Conclusion
1. Secure Communication Sender (Alice) message Adversary Security issues • privacy • authenticity • denial of service, etc. Receiver (Bob)
Symmetric keys (privacy) Bob Alice plaintext E ciphertext SK D SK private channel Security issue • How to distribute the secret key SK plaintext
Public Keys (privacy) Alice plaintext Bob ciphertext E PKB Authentication channel D plaintext SKB f Security issues • It should be hard to compute SKB from PKB • How do we distribute PKB
Public Keys (digital signatures) Bob Alice m m, sig. SKA m S SKA f Authentication channel V or r a PKA Security issues • It should be hard to compute SKA from PKA • How to distribute PKA
2. Key Exchange protocols the Diffie-Hellman protocol Zp = {0, 1, …, p-1}, p prime, g a generator of Zp* sa: 0 < s < p-1, private key s Alice’s Public Key g a a sb: 0 < s < p-1, private key s Bob’s Public Key g a Alice Key Exchanged: gsa mod p sb mod p g sasb mod p SK = g b Bob
Security It should be hard to compute SK from PK. Freshness of keys If the same key is used many times then the security of the system may be undermined.
What if 3 or more parties want to sha re a common secret key? A 1. Use DH to get: SKAB , SKBD , AB K/SK SKBE , SKAC , SKCF. 2. . A selects the secret key K B at random from Zp*. K/SKBD K/SKAC C 3. . A sends K/SKAB D E F to B and K/SKAC to 4. B gets K from K /SKAB and sends K/SKAC to D, C.
Group Key Exchange – contributory schemes U 2 U 1 U 3 Round 1: Use DH Ui broadcasts zi = gri Un Un-1
Group Key Exchange U 2 K 23 Ki 2 … Kn-1 n Un Un-1 Round 1: Each Ui computes the DH key: Ki = gri ri+1 U 1 Knn-1 U 3 …
Group Key Exchange U 2 K 23 Ki 2 U 3 … U 1 Round 1: end Group Key K = K 1 K 2 … K n Kn-1 n Where Ki = Ki, i+1 But how? ? Un Knn-1 Un-1 …
Group Key Exchange U 2 Ki U 3 … U 1 Round 2: Ui broadcasts xi = Ki/Ki-1 Kn Un Kn-1 Un-1 …
U 2 Group Key Exchange U 3 K 2 Ki … U 1 Kn Round 2: Un K n-1 Un-1 … Each Ui computes the key: K = Ki-1 n zin-1 zi+1 n-2 … zi-2 = Ki-1 n (Ki/Ki-1)n-1(Ki+1/Ki)n-2… (Ki-1/Ki-2
Authentication 1 How does Alice know that the “shared” secret key has been distributed to all the parties in the conference?
Group Key Exchange – authentication Each Ui authenticates (digitally signs) its • randomness ri • its zi and xi and after checking them authenticates the string: • {Ui}|| {ri} || {zi} || {xi}
Authentication 2 How can Alice be certain which key is Bob’s public key? 1. They may have met earlier and exchanged public keys. 2. They may have mutual friends who know their public keys: Alice Carol Bob, or Alice Carol. . . Bob Case 1 establishes an a priori trust relationship Case 2 establishes an induced trust relationship
3. Public Key Certificates Who is who? PK CERTIFICATE The public key of Bob is: 010010010 …. . Signed by a Certifying Authority A PK Certificate establishes authenticity and provides a means by which a public key can be stored in partially insecure repositories, or transmitted over insecure channels.
Trust-graphs Certificates can be used to Model the confidence of a network in its public keys by a directed B trust-graph, with vertices the entities and edges the CBD certificates. D A CAB CAC C CBE CCF E F
Trust-graphs A priori confidence: This is corroborated by the certificates. Induced confidence: This is established by trust-paths that link the entities in the trust-graph.
A hierarchical infrastructure RCA CA 2 CA 1 U 2 U 3 U 4 The public key of U 4 is certified by the trust-path: RCA CA 2 U 4
Security issues A hacker can penetrate a CA or its computer system and forge certificates or get certificates for unauthorized users.
Threats 1. Whom should we trust (and for what)? 2. Which Bob is it? 3. Organizational (insider) attacks 4. Computer system threats: How secure is the computer system of the Certifying Authority? How secure is the computer system of Bob?
PGP: an unstructured approach Pretty Good Privacy is a freeware electronic mail system that uses an unstructured authentication framework. Users are free to decide whom they trust. PGP does not specify any specific structure for the trust-graph and for this reason is quite vulnerable. A A 1 . . . An B
A horizontal approach: multiple connectivity If the trust-graph is (2 k+1)-connected then there are 2 k+1 vertex disjoint trust-paths which connect any two of its vertices
A 3 -connected trust-graph A B
Combining horizontal and hierarchical structures U 1 U 2 U 3 U 4
Security A secure authentication infrastructure must be, reliable, robust and survivable. Reliability deals with faults that occur in a random manner, and is achieved by replication. Robustness deals with maliciously induced faults.
Survivability deals with the destruction of parts of the infrastructure. The destruction may affect the entities (e. g. the CA’s) as well as stored data, and may be malicious. For survivability, the remaining entities should be able to recover enough of the infrastructure to guarantee secure communication.
Survivability Reconstruction of a corrupted trust-graph Adversary faulty U 1 U 2 U 3. . . Un A Entity A asks all its neighbors for a list of their neighbors, the neighbors of their neighbors, etc
Survivability Problem Some of the neighbors are under the control of the Adversary and may send fake certificates, relating to other entities, real or bogus. Is it possible to reconstruct a sufficiently good approximation of the trust-graph?
Survivability Answer Yes, provided that there is a bound on the number of penetrated or destroyed cites, and that the trust-graph is sufficiently connected.
Reconstructing a corrupted trust-graph The reconstruction involves several stages. • Round Robin flooding • a Halting routine • a Clean-up routine
Conclusion Secure key exchange can be achieved in several ways by using cryptographic mechanisms. Clearly there is a trade off between the security requirements and the complexity.
Conclusion If the public keys are authenticated via single trust paths then the system is vulnerable to any penetration. By having several vertex disjoint authentication paths linking the entities we get robustness against penetration and survivability.
4ef60709698661208a3774a6eda40eae.ppt