CSCI-UA.9480 Introduction to Computer Security
Session 1.5
Usable Security and Secure Messaging
- Prof. Nadim Kobeissi
Introduction to Computer Security Session 1.5 Usable Security and - - PowerPoint PPT Presentation
CSCI-UA.9480 Introduction to Computer Security Session 1.5 Usable Security and Secure Messaging Prof. Nadim Kobeissi 1.5a Usable Security: Then and Now 2 CSCI-UA.9480: Introduction to Computer Security Nadim Kobeissi Humans are
CSCI-UA.9480 Introduction to Computer Security
Session 1.5
Usable Security and Secure Messaging
Usable Security: Then and Now
2 CSCI-UA.9480: Introduction to Computer Security – Nadim Kobeissi“Humans are incapable of securely storing high-quality cryptographic keys, and they have unacceptable speed and accuracy when performing cryptographic
– Kaufmann, Perlman and Speciner.
3 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiThe last word on your identity: you.
But this isn’t the case in computer security.We know humans are fallible.
So we need security to be easy.Email encryption: PGP.
PGP’s author, Phil Zimmermann, was criminally investigated in 1991 because PGP allegedly violated the Arms Export Control Act and was supposed to be classified as a munition.
7 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiDid you know?
Remember: Diffie-Hellman.
8 CSCI-UA.9480: Introduction to Computer Security – Nadim Kobeissiga mod p gb mod p
Public values: g, p Private keys: a, b Public keys: ga, gb Shared secret: gab mod p
a ga b gb
PGP works in a similar way (but with RSA.)
9 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiRSA can be used for both public key encryption and for public key signatures.
Ask Apk Bsk Bpk
Apk Bpk c = RSAENC(Bpk, m) s = RSASIG(Ask, c) (true|false) = RSAVER(Apk, c) m = RSADEC(Bsk, c)What’s a possible attack for this scheme?
10 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiRSA can be used for both public key encryption and for public key signatures.
Ask Apk Bsk Bpk
Apk Bpk c = RSAENC(Bpk, m) s = RSASIG(Ask, c) (true|false) = RSAVER(Apk, c) m = RSADEC(Bsk, c)PGP Step 1: Generate a key pair.
11 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiPGP Step 2: export your public key.
PGP Step 3: verify public key authenticity.
PGP Step 4: set up a PGP-enabled mail client.
Test your knowledge!
15 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiDoes PGP provide message integrity?
☐ A: Yes. ☐ B: No.
Test your knowledge!
16 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiDoes PGP provide message integrity?
🗺 A: Yes. ☐ B: No.
Test your knowledge!
17 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiDoes PGP provide forward secrecy?
☐ A: Yes. ☐ B: No.
Test your knowledge!
18 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiDoes PGP provide forward secrecy?
☐ A: Yes. 🗺 B: No.
Test your knowledge!
19 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiDoes PGP provide ease of use?
☐ A: No. ☐ B: No.
Test your knowledge!
20 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiDoes PGP provide ease of use?
🗺 A: No. 🗺 B: No.
From PGP to Usable Systems
21 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiReasons not to use PGP.
Usability patterns exist.
Examples of usable security systems.
What do these systems have in common?
My usable security contribution in 2011.
Signal and usable security in messaging.
Example of a usable security design.
Security engineers are always adapting.
Off-the-Record Messaging (2004)
30 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiAn increasingly central use case.
Off-the-record messaging.
The OTR paper was titled “Off-the-Record Communication, or, Why Not To Use PGP”, giving a clear hint as to an impetus behind the project.
33 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiDid you know?
Off-the-record messaging.
Off-the-record messaging.
Off-the-record messaging.
Test your knowledge!
37 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiWhat is the correct term for the OTR security property we just discussed?
☐ A: Confidentiality. ☐ B: Integrity. ☐ C: Forward secrecy.
Test your knowledge!
38 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiWhat is the correct term for the OTR security property we just discussed?
☐ A: Confidentiality. ☐ B: Integrity. 🗺 C: Forward secrecy.
Finite State Analysis of OTR (Bonneau et al)
OTR: message integrity attack.
40 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiAlice
Bob
Alice
OTR: message integrity attack.
41 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiAlice
Bob
Alice
OTR: message integrity attack.
42 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiAlice
Bob
Alice
Signal Protocol (2013)
43 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiMy usable security contribution in 2011.
Cryptocat: bugs in 2011-2012.
Test your knowledge!
46 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiWhy is it a problem if Cryptocat generates private keys with each byte being in the range 0-10?
Test your knowledge!
47 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiWhy is it a problem if Cryptocat generates private keys with each byte being in the range 0-10? Because the overall entropy of that private key would be 1016 = 253. Instead of 25516 = 2128.
Test your knowledge!
48 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiWhy is it a problem if AES-CTR reuses nonces? Isn’t AES a block cipher?
Test your knowledge!
49 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiWhy is it a problem if AES-CTR reuses nonces? Isn’t AES a block cipher? Counter mode makes block ciphers work like stream
Telegram “Secret Chats”: quick overview.
Signal and usable security in messaging.
Signal Protocol: overview.
Signal Protocol: Asynchronous AKE (X3DH.)
Signal Protocol: messaging.
Signal Protocol: “double ratchet.”
Signal Protocol: “double ratchet.”
Signal Protocol: weaknesses found.
Controversies in WhatsApp implementation.
Signal Protocol: group chat.
Encrypting voice calls: ZRTP/SRTP.
Test your knowledge!
61 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiWhy do secure messengers like Signal and WhatsApp not need a ZRTP handshake?
Test your knowledge!
62 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiWhy do secure messengers like Signal and WhatsApp not need a ZRTP handshake? Because they can simply send the SRTP shared secret across the existing Signal session.
Usability properties (Unger et al.)
Usability properties (Unger et al.)
The Future (2017+)
65 CSCI-UA.9480: Introduction to Computer Security – Nadim KobeissiMessage Layer Security.
Next time: Attacking Cryptographic Systems.
67 CSCI-UA.9480: Introduction to Computer Security – Nadim Kobeissi