I am not cryptography expert so please forgive this basic question. I am trying to understand how the flow of the KRACK attack takes place in order to better understand why the encryption protocol itself can be cracked.
Lets start from after step 3 of 4-way WPA handshake -:
- The client has received message 3 and has installed the encryption key and sends message 4 to acknowledge that the encryption is now correctly set up, and it can begin transmitting packets.
- Unbeknownst to the client the attacker has already stored a copy of message 3.
- After transmitting a few packets the client receives message 3 again. Now it resets the nonce to the initial value and re installs the encryption key. It does not realize that it had already received message 3 before and everything was fine.
- So now the keystream will literally repeat since it is using the same nonce twice, am I correct ?
If the above flow is correct then I have a couple of questions,
- What can you do to attack the encryption protocol if two cipher texts are generated from the exact same keystream ?
- Correct me if I am wrong, in Linux where the client is basically tricked into installing a zero-encryption key, this means the access point no longer verifies/cares what key the client is using to encrypt the messages after message 4 is received. I mean should'nt the AP have a way of verifying whether the message is actually encrypted using the PMK/PTK ? Shouldn't the AP go like "wait this message is not encrypted using the key we agreed on" ? How does work ?
Please let me know if my intuition about the attack is correct or not.