⚠️ What Can Go Wrong
Attack Scenarios Against Signal Protocol
In 15 minutes: Understand potential attacks and defenses
Prerequisites: Security Properties
🎯 The Simple Story
What if Eve tries various attacks? Signal Protocol defends!
Scenarios:
- Replay attack: Eve sends old message again
- MITM attack: Eve replaces Bob's keys with hers
- Compromise attack: Eve steals device
- Server attack: Eve compromises server
🧠 Mental Model
Hold this picture in your head:
Attacks and Defenses:
REPLAY ATTACK:
Eve captures msg 5 ciphertext
Eve sends msg 5 again to Bob
Defense: Message numbers detect duplicate
Bob: Reject "Already seen msg 5!"
MITM ATTACK:
Eve replaces Bob keys with Eve's keys
Alice downloads "Eve's Bob keys"
Defense: Signature verification fails
Alice: Reject "Invalid signature!"
COMPROMISE ATTACK:
Eve steals Bob's device at msg 10
Eve reads msg 10 from device
Defense: Forward secrecy
Msg 1-9: K1-K9 deleted → Safe
Msg 11+: New DH → Eve doesn't have DH keys
SERVER ATTACK:
Eve compromises server
Eve changes Bob's public keys
Defense: Signature verification
Alice downloads checks: Eve's signature ≠ Bob's signature → Reject
🎭 Attack: Replay
Scenario: Alice sends msg 5. Eve captures ciphertext "C5".
Eve's attempt:
- Eve sends same "C5" to Bob again
- Bob receives: Should decrypt?
Defense:
- Bob checks message number metadata
- Bob sees: "Msg 5 already seen!"
- Bob rejects: Replay attack!
🎭 Attack: MITM
Scenario: Eve wants to impersonate Bob to Alice.
Eve's attempt:
- Eve replaces Bob's keys on server with Eve's keys
- Alice downloads "Eve's Bob keys"
- Alice does X3DH with Eve's keys (thinking it's Bob!)
Defense:
- Alice verifies: SIG_B valid for pk(SPKEVE_) using pk(IVEVE_)?
- Alice checks: NO! SIG_B matches Eve's signature (signed with Eve's IK)
- Alice rejects: "Invalid Bob keys (Eve's)!"
🎭 Attack: Compromise
Scenario: Eve steals Bob's phone at message 10.
Eve's attempt:
- Eve has K10 on phone
- Eve decrypts msg 10
- Eve tries to decrypt msg 1-9
- Eve tries to decrypt msg 11+
Defense:
- Msg 1-9: K1-K9 deleted → Eve can't decrypt
- Msg 11+: New DH needed → Eve doesn't have DH keys for K11, K12...
- Limit: Eve reads msg 10 only
🎭 Attack: Server
Scenario: Eve compromises server storing Bob's keys.
Eve's attempt:
- Eve replaces Bob's keys with Eve's keys
- Alice downloads "Eve's Bob keys"
- Alice starts X3DH with Eve
Defense:
- Same as MITM: Signature verification detects Eve's signature
- Alice rejects: "Invalid Bob keys!"
✅ Quick Check
Which attacks are prevented?
All 4:
Replay: Message number check MITM: Signature verification Compromise: Forward secrecy (K_i delete) Server: Signature verification
What can Eve do?
Read current message only:
Eve steals phone at msg 10: Eve decrypts msg 10. But not msg1-msg9 (deleted) or msg11+ (new DH needed).
📋 Summary
✅ Replay: Message numbers prevent
✅ MITM: Signature verification blocks
✅ Compromise: Limited to current message
✅ Server: Same as MITM (signature check)
✅ Conclusion: Signal Protocol resilient!