Analysis of Key Agreement Protocols Brita Vesterås Supervisor: Chik How Tan Motivation & purpose • Motivation: New protocols are designed rapidly, and they have not been thoroughly analysed. • Purpose: Analyse a few protocols and try to find their weaknesses. Why do protocols contain security flaws? • New attacks arise. • Hard/impossible to consider all possible attack scenarios. Work of this thesis • Summarise different attack methods on key agreement protocols • Describe design methods of key agreement protocols • Analyse five key agreement protocols Attack methods on key agreement protocols • Eavesdropping - an adversary captures information that is sent in the protocol • Modification - the information sent in the protocol is altered by an adversary • Replay - a transmission is recorded, and then later retransmitted • Reflection - sending the same message back to the sender in a new protocol run Attack methods on key agreement protocols (cont.) • denial of service attacks - the attacker overwhelms the server so that legitimate users will not get a connection with the server • typing attack - replacing a message field of one type with a message field of another type • cryptanalysis - the study of methods for obtaining the meaning of encrypted information • certificate manipulation - modification of the certificate • protocol interaction - using a new protocol to interact with a known protocol Design methods • ”One-way functions” – functions that are hard to solve without additional information – – – – hash functions discrete logarithm elliptic curve discrete logarithm problem factorisation Design methods (cont.) • Schemes used as basis for the protocols: – Diffie-Hellman – Elliptic Curve Cryptography – MQV protocol Analysis of protocols • Wanted security features – – – – – Known key security Forward secrecy Key compromise impersonation Unknown key-share Key Control Known key security • A protocol run should result in a unique secret session key. If this key is compromised, it should have no impact on other session keys. Forward secrecy • Even if long-term private keys are compromised, it should not have any effect on the secrecy of previously established session keys. Key compromise impersonation • If entity A's long-term private key are compromised, an adversary is able to impersonate A. But this should not enable him to impersonate other entities to A. Unknown key-share • If entity A wants to create a secret key with B, it should not be possible that A is tricked into sharing a key with entity C. Key Control • Neither of the entities should be able to force the session key to a value of his choice. Analysis of protocols Outline of analysis presentation • Popescu’s protocol – forward secrecy OK • Popescu’s protocol – key compromise impersonation not met • Harn-Hsin-Mehta’s protocol – forward secrecy not met • Harn-Hsin-Mehta’s protocol – key compromise impersonation - OK Popescu’s protocol 1/2 Popescu’s protocol 2/2 Popescu meets the forward secrecy goal • The session key is created by KA = -kA * VB or KB = -kB * VA ( K = kA * kB * P). (kA and kB random secret values). • The long term private keys a and b does not affect the session key. • • Forward secrecy: Even if long-term private keys are compromised, it should not have any effect on the secrecy of previously established session keys. Problem: does not meet the key compromise impersonation goal • The authentication of the parties is based on the knowledge of Ks = -b * YA = -a * YB (a, b private, YA, YB public). • If an attacker gets hold of the private value a, he can use this information to impersonate A to B. • But he can also impersonate B to A. • Key Compromise Impersonation: If entity A's long-term private key are compromised, an adversary is able to impersonate A. But this should not enable him to impersonate other entities to A. Harn-Hsin-Mehta’s protocol 1/2 Harn-Hsin-Mehta’s protocol 2/2 Problem: no forward secrecy • Session key from A to B: kAB = (rA)dB mod nB • The value nB is publicly known, and rA is transmitted. The secrecy is only based on dB. • If an attacker gets hold of this value, he can compute the session key for messages sent from A to B. • Forward secrecy: Even if long-term private keys are compromised, it should not have any effect on the secrecy of previously established session keys. Problem: no forward secrecy (cont.) • If the attacker has eavesdropped on previous protocol runs, he may compute all previous session keys as long as the known private key dB has been used to create the session key. • Forward secrecy: Even if long-term private keys are compromised, it should not have any effect on the secrecy of previously established session keys. Harn-Hsin-Mehta meets the key compromise impersonation goal • We assume an attacker knowing A’s private key dA tries to impersonate B to A. • The attacker can compute k’BA = (RA)kB mod nA (RA and nA are public values, and he may choose kB freely) • But he cannot compute kAB = (rA)dB mod nB Harn-Hsin-Mehta meets the key compromise impersonation goal • The attacker does not know the correct value of kAB, and can not compute a signature that A will accept. • Key Compromise Impersonation: If entity A's long-term private key are compromised, an adversary is able to impersonate A. But this should not enable him to impersonate other entities to A. Conclusion • 3 of 5 protocols failed to meet all the requirements. • All the problems encountered is caused by disclosure of long-term secret keys. • The result of the analysis is no proof of how secure a protocol is. • But it shows the need for better routines for analysing/securing new protocols. Questions?