We have been assuming that for every user A, the KDC and A share a key K_A. In a moving target defense, periodic state changes are performed in order to invalidate information an adversary has previously discovered. Periodically changing a cryptographic key is an example of a moving target defense.
The management for a KDC would like to help facilitate a moving target defense by allowing any user A to periodically replace shared key K_A with a new value. So the following protocol has been proposed for key-refresh:
- A --> KDC: A, r, refresh // r is a new random value
- KDC --> A: {A, r, newKey}K_A // newKey is a fresh random key chosen by the KDC
At the end of step 2, KDC and A both store newKey as the new value for key K_A.
- Assume that type attacks are not possible and
that communications channels are reliable, in the absence of an attacker.
Describe a possible attack on this protocol by a Dolev-Yao attacker.
- Describe changes to the protocol that make the attack in (a) no longer possible.
- EXTRA CREDIT: Describe a different attack, along with a defense that blocks it.