SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
Cryptanalysis vs. Reality

   Jean-Philippe Aumasson




                            1 / 54
Cryptanalysis is the study of methods for
obtaining the meaning of encrypted information
without access to the secret information that is normally
required to do so. Wikipedia




                                                            2 / 54
Cryptanalysis is the study of methods for
obtaining the meaning of encrypted information
without access to the secret information that is normally
required to do so. Wikipedia




                                                            3 / 54
The fundamental goal of a cryptanalyst is to
violate one or several security notions
for algorithms that claim, implicitly or explicitly,
to satisfy these security notions.
Antoine Joux, Algorithmic Cryptanalysis




                                                       4 / 54
Reality noun (pl. realities)
1. the state of things as they actually
exist, as opposed to an idealistic or
notional idea of them.
2. a thing that is actually experienced
or seen.
3. the quality of being lifelike.
4. the state or quality of having exis-
tence or substance.
Compact Oxford English Dictionary




                                          5 / 54
Cryptanalysis relies on an ATTACKER MODEL
= assumptions on what the attacker can and cannot do

All models are in simulacra, that is, simplified reflections
of reality, but, despite their inherent falsity, they are
nevertheless extremely useful
G. Box, N. Draper, Empirical Model-Building and Response Surfaces




                                                                    6 / 54
Cryptanalysis usually excludes methods of attack that do
not primarily target weaknesses in the actual
cryptography, such as bribery, physical coercion,
burglary, keystroke logging, and social
engineering, although these types of attack are an
important concern and are often more effective
Wikipedia




                                                           7 / 54
Cryptanalysis used to be tightly connected to reality




                                                        8 / 54
But times have changed




                         9 / 54
10 / 54
11 / 54
Broken in a model does not
imply broken in reality!




                             12 / 54
Models’ language overlaps with real-world language:
“attacks”, “broken” have multiple meanings
Has cryptanalysis lost connection
with reality?




                                                      13 / 54
Cryptography is usually bypassed. I am not
aware of any major world-class security system
employing cryptography in which the hackers penetrated
the system by actually going through the cryptanalysis.
(. . . ) Usually there are much simpler ways of penetrating
the security system.
Adi Shamir, Turing Award lecture, 2002




                                                              14 / 54
Is cryptanalysis relevant at all??




                                     15 / 54
Remainder of this talk

PART 1: PHYSICAL ATTACKS
   Bypass and misuse
   Side channels


PART 2: ALGORITHMIC ATTACKS
   State-of-the-ciphers
   Why attacks aren’t attacks
   Cognitive biases
   What about AES?


CONCLUSIONS   +   REFERENCES


                                    16 / 54
PART 1: PHYSICAL ATTACKS
   Bypass and misuse
   Side channels




                           17 / 54
HTTPS protection uses (say) 2048-bit RSA to
authenticate servers, and to avoid MitM attacks
≈ 100-bit security (see http://www.keylength.com/)
⇒ ≈ 2100 ops to break RSA by factoring the modulus




                                                     18 / 54
HTTPS protection uses (say) 2048-bit RSA to
authenticate servers, and to avoid MitM attacks
≈ 100-bit security (see http://www.keylength.com/)
⇒ ≈ 2100 ops to break RSA by factoring the modulus



Or ≈ 233 using a quantum computer
implementing Shor’s algorithm




                                                     18 / 54
HTTPS protection uses (say) 2048-bit RSA to
authenticate servers, and to avoid MitM attacks
≈ 100-bit security (see http://www.keylength.com/)
⇒ ≈ 2100 ops to break RSA by factoring the modulus



Or ≈ 233 using a quantum computer
implementing Shor’s algorithm



Or 20 by compromising a CA. . .



                                                     18 / 54
19 / 54
AES-256 provides 256-bit security (does it really?)
FIPS 140-2 is supposed to inspire confidence. . .
Yet “secure” USB drives by Kingston, SanDisk, Verbatim
were easily broken




The flaw: password validation on host PC
         + static unlock code
                                                         20 / 54
How NOT to use decent cryptographic primitives:




                                                  21 / 54
How NOT to use decent cryptographic primitives:

ECDSA signing with a constant
instead of a random number
to find SONY PS3’s private key




                                                  21 / 54
How NOT to use decent cryptographic primitives:

ECDSA signing with a constant
instead of a random number
to find SONY PS3’s private key


RC4 stream cipher with part of the key public and
predictable (as found in the WEP WiFi “protection”)




                                                      21 / 54
How NOT to use decent cryptographic primitives:

ECDSA signing with a constant
instead of a random number
to find SONY PS3’s private key


RC4 stream cipher with part of the key public and
predictable (as found in the WEP WiFi “protection”)


TEA block cipher in hashing mode
to perform boot code authentication
Equivalent keys lead to collisions




                                                      21 / 54
Software side-channel attacks
Practical attacks exploiting non-constant-time AES implementations

     Breaking the “secure” AES of OpenSSL 0.9.8n:




                   Breaking AES on ARM9:




                                                                     22 / 54
23 / 54
Hardware side-channel attacks
   Power analysis (SPA/DPA)
   Electromagnetic analysis
   Glitches (clock, power supply, data corruption)
   Microprobing
   Laser cutting and fault injection
   Focused ion beam surgery, etc.




                                                     24 / 54
PART 2: ALGORITHMIC ATTACKS
   State-of-the-ciphers
   Why attacks aren’t attacks
   What about AES?
   Cognitive biases




                                25 / 54
ALGORITHMIC ATTACKS = attacks targetting a
cryptographic function seen as an algorithm and
described as algorithms rather than physical
procedures

ALGORITHMIC ATTACKS are thus independent of the
implementation of the function attacked




                                                  26 / 54
We’ll focus on symmetric cryptographic primitives:
    Block ciphers
    Stream ciphers
    Hash functions
    PRNGs
    MACs
Though there’d be a lot to say about public-key encryption/signatures,
authentication protocols, etc.




                                                                         27 / 54
Null- to low-impact attacks (examples)


  Block ciphers:
      AES
      GOST (Russian standard, 1970’s!)
      KASUMI (3GPP)
      Triple DES
  Hash functions:
      SHA-1
      Whirlpool (ISO)



                                         28 / 54
Medium- to high-impact attacks (examples)


  Block cipher:
      DES (56-bit key): practical break by. . . bruteforce
  Stream cipher:
      A5/1 (GSM): attacks on GSM facilitated
  Hash function:
      MD5: famous rogue certificate attack PoC




                                                             29 / 54
Unattacked primitives (examples)
  Block ciphers
      CAST5 (default cipher in OpenPGP)
      IDEA (1991!)
      IDEA-NXT (aka FOX)
      Serpent (AES finalist)
      Twofish (AES finalist)
  Stream ciphers:
      Grain128a (for hardware)
      Salsa20 (for software)
  Hash functions:
     SHA-2 (SHA-256, . . . , SHA-512)
     RIPEMD-160 (ISO)

                                          30 / 54
Despite the large amount of research and
new techniques, “breaks” almost never happen:
Why?




                                                31 / 54
High-complexity attacks

  Example: preimage attack on MD5 with time complexity


                              2123.4
  against 2128 ideally

  High-complexity attacks do not matter as long as
      the effort is obviously unfeasible, or
      overwhelms the cost of other attacks
  Yet MD5 can no longer be sold as “128-bit security” hash



                                                             32 / 54
The difference between 80 bits and 128 bits of keysearch
is like the difference between a mission to Mars and a
mission to Alpha Centauri. As far as I can see, there is
*no* meaningful difference between 192-bit and
256-bit keys in terms of practical brute force attacks;
impossible is impossible.
John Kelsey (NIST)




                                                           33 / 54
Back-to-reality interlude


                    2 GHz CPU
                    ⇒ 1 sec = 2 · 109 ≈ 233 clocks



        1 year             258 clocks
        1000 years         268 clocks
        since the Big-Bang 2116 clocks



                                                     34 / 54
The encryption doesn’t even have to be very strong to be
useful, it just must be stronger than the other
weak links in the system. Using any standard
commercial risk management model, cryptosystem failure
is orders of magnitude below any other risk.
Ian Griff, Peter Gutmann, IEEE Security & Privacy 9(3), 2011




                                                               35 / 54
Attacks on building blocks

  Example: 296 collision attack on the compression
  function of the SHA-3 candidate LANE
      Did not lead to an attack on the hash
      Invalidates the security reduction compression hash
      Disqualified LANE from the SHA-3 competition!




                                                            36 / 54
Attacks on building blocks

  Example: 296 collision attack on the compression
  function of the SHA-3 candidate LANE
      Did not lead to an attack on the hash
      Invalidates the security reduction compression hash
      Disqualified LANE from the SHA-3 competition!

  How to interprete those attacks?
   1. We attacked something
      ⇒ crypto must be weak!
   2. We failed to attack the full function
      ⇒ crypto must be strong!



                                                            36 / 54
Strong models: ex of related-key attacks

  Attackers learn encryptions with a derived key

                         K = f (K )


  One of the first attacks: when Enigma operators set rotors
  incorrectly, they sent again with the correct key. . .

  Modern version introduced by Knudsen/Biham in 1992

  Practical on weak key-exchange protocols (EMV, 3GPP?),
  but unrealistic in most decent protocols



                                                              37 / 54
Related-key attacks example

  Key-recovery on AES-256 with time complexity


                                2119
  against 2256 ideally!

  Needs 4 related keys. . . actually, related subkeys       !
  attacks are still mainly of theoretical interest and do not
  present a threat to practical applications using AES
  the authors (Khovratovich / Biryukov)



                                                                38 / 54
Model from reality: pay-TV encryption




  MPEG stream encrypted with CSA
  Common Scrambling Algorithm, 48b or 64b key

  Useful break of CSA needs
      Unknown- fixed-key attacks
      Ciphertext-only, partially-known plaintext (no TMTO)
      Key recovery in <10 seconds (“cryptoperiod”)

                                                             39 / 54
There’s not only time!
  Back to our previous examples:
      MD5: time 2123.4 and 250 B memory (1024 TiB)
      LANE: time 296 and 293 B memory (253 TiB)
      AES-256: time 2119 and 277 B memory (237 TiB)
  Memory is not free! ($$$, infrastructure, latency)
  Practical cost of access to memory neglected

  New attacks should be compared to generic
  attacks with a same budget
  See “cracking machines” in Understanding bruteforce
  http://cr.yp.to/papers.html#bruteforce


                                                        40 / 54
Distinguishing attacks
  aka distinguishers

  Used to be statistical biases
  Now distinguishers are
     Known- or chosen-key attacks
     Sets of input/output’s satisfying some relation
  Example: differential q-multicollision distinguisher on AES
    EK1 (P1 ) ⊕ EK1 ⊕∆ (P1 ⊕   )   = EK2 (P2 ) ⊕ EK2 ⊕∆ (P2 ⊕   )
                                   = EK3 (P3 ) ⊕ EK3 ⊕∆ (P3 ⊕   ) = ...




                                                                          41 / 54
Distinguishing attacks
  aka distinguishers

  Used to be statistical biases
  Now distinguishers are
     Known- or chosen-key attacks
     Sets of input/output’s satisfying some relation
  Example: differential q-multicollision distinguisher on AES
    EK1 (P1 ) ⊕ EK1 ⊕∆ (P1 ⊕   )   = EK2 (P2 ) ⊕ EK2 ⊕∆ (P2 ⊕   )
                                   = EK3 (P3 ) ⊕ EK3 ⊕∆ (P3 ⊕   ) = ...


  NO IMPACT ON SECURITY in a large majority of cases

                                                                          41 / 54
Attacks (high-complexity, strong model, high-memory,
distinguishers, etc.) vs. Reality

2 general interpretations:
 1. This little thing is a sign of bigger things!
 2. This little thing is a sign of no big things!

Why are we biased? (towards 1. or 2.)




                                                       42 / 54
43 / 54
Cryptographic Num3rol0gy
The basic concept is that as long as your encryption keys
are at least “this big”, you’re fine, even if none of the
surrounding infrastructure benefits from that size or even
works at all
Ian Griff, Peter Gutmann, IEEE Security & Privacy 9(3), 2011




                                                               44 / 54
Cryptographic Num3rol0gy
The basic concept is that as long as your encryption keys
are at least “this big”, you’re fine, even if none of the
surrounding infrastructure benefits from that size or even
works at all
Ian Griff, Peter Gutmann, IEEE Security & Privacy 9(3), 2011




Choosing a key size if fantastically easy, whereas making
the crypto work effectively is really hard
Ibid




                                                               45 / 54
Zero-risk bias
  = Preference for reducing a small risk to zero
  over a greater reduction in a larger risk

  Example: reduce risk from 1% to 0% whereas another
  risk could be reduced from 50% to 30% at the same cost




                                                           46 / 54
Zero-risk bias
  = Preference for reducing a small risk to zero
  over a greater reduction in a larger risk

  Example: reduce risk from 1% to 0% whereas another
  risk could be reduced from 50% to 30% at the same cost

  Cryptographic numerology (examples)
     1% = scary-new attack threat
      Move from 1024- to 2048-bit (or 4096-bit!) RSA
      Cascade-encryption with AES + Serpent + Twofish
  + Unintended consequences:
  Crypto is slower ⇒ less deployed ⇒ less security


                                                           46 / 54
Survivorship bias

  We only remember/see the unbroken, deployed
  and/or standardized, algorithms

  Not the numerous experimental designs broken




                                                 47 / 54
Survivorship bias

  We only remember/see the unbroken, deployed
  and/or standardized, algorithms

  Not the numerous experimental designs broken

  Example: of the 56 SHA-3 submissions published
     14 implemented attacks (e.g. example of collision)
     3 close-to-practical attacks (≈ 260 )
     14 high-complexity attacks
  ⇒ Practical attacks kill ciphers before they are
  used and known to the public


                                                          47 / 54
What about AES?




                  48 / 54
What about AES?

  Groundbreaking attack bogeyman!




                                    49 / 54
What about AES?
  The facts:
      AES-128: 2126 complexity, 288 plaintext/ciphertext
      against 2128 and 20 for bruteforce
      AES-256: 2254 complexity, 240 plaintext/ciphertext
      against 2256 and 21 for bruteforce

  See Bogdanov, Khovratovich, Rechberger:
  http://research.microsoft.com/en-us/projects/
  cryptanalysis/aesbc.pdf




                                                           50 / 54
What about AES?
  The facts:
      AES-128: 2126 complexity, 288 plaintext/ciphertext
      against 2128 and 20 for bruteforce
      AES-256: 2254 complexity, 240 plaintext/ciphertext
      against 2256 and 21 for bruteforce

  See Bogdanov, Khovratovich, Rechberger:
  http://research.microsoft.com/en-us/projects/
  cryptanalysis/aesbc.pdf

  Reactions heard (from customers, third parties):
     AES is insecure! Let’s use AES with 42 rounds!
     AES is secure! The attack is far from practical!


                                                           50 / 54
CONCLUSIONS   +   REFERENCES




                               51 / 54
Conclusions

  Algorithmic attacks on deployed schemes are (almost)
  never a threat to security, due to
      High complexities, unrealistic models, etc.
      Weak ciphers are broken earlier and forgotten
  We don’t break ciphers, we evaluate their security
  Orr Dunkelman




                                                         52 / 54
Conclusions

  Algorithmic attacks on deployed schemes are (almost)
  never a threat to security, due to
      High complexities, unrealistic models, etc.
      Weak ciphers are broken earlier and forgotten
  We don’t break ciphers, we evaluate their security
  Orr Dunkelman

  Beware cryptographic numerology!




                                                         52 / 54
Conclusions

  Algorithmic attacks on deployed schemes are (almost)
  never a threat to security, due to
      High complexities, unrealistic models, etc.
      Weak ciphers are broken earlier and forgotten
  We don’t break ciphers, we evaluate their security
  Orr Dunkelman

  Beware cryptographic numerology!
  AES is fine, weak implementations are the biggest threat



                                                            52 / 54
Related works

  Leakage-resilience vs. Reality
  Leakage Resilient Cryptography in Practice
  Standaert et al. http://eprint.iacr.org/2009/341

  Bruteforce vs. Reality
  Using the Cloud to Determine Key Strengths
  Kleinjung et al. http://eprint.iacr.org/2011/254

  Crypto libs vs. Reality
  Open-Source Cryptographic Libraries and Embedded Platforms
  Junod http://crypto.junod.info/hashdays10_talk.pdf



                                                               53 / 54
Thank you for your attention




                               54 / 54

Mais conteúdo relacionado

Semelhante a hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality

Cryptanalysis and Attacks
Cryptanalysis and AttacksCryptanalysis and Attacks
Cryptanalysis and AttacksShahbaz Anjam
 
illusoryTLS: Impersonate, Tamper, and Exploit
illusoryTLS: Impersonate, Tamper, and ExploitillusoryTLS: Impersonate, Tamper, and Exploit
illusoryTLS: Impersonate, Tamper, and Exploita001
 
Surreptitiously weakening cryptographic systems
Surreptitiously weakening cryptographic systemsSurreptitiously weakening cryptographic systems
Surreptitiously weakening cryptographic systemsYael Ziv
 
Crypto failures every developer should avoid
Crypto failures every developer should avoidCrypto failures every developer should avoid
Crypto failures every developer should avoidOwaspCzech
 
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit
illusoryTLS: Nobody But Us Impersonate, Tamper, ExploitillusoryTLS: Nobody But Us Impersonate, Tamper, Exploit
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploita001
 
CH2 Stallings,_William_Computer_Security_Principles_and_Practice_Pearson [54-...
CH2 Stallings,_William_Computer_Security_Principles_and_Practice_Pearson [54-...CH2 Stallings,_William_Computer_Security_Principles_and_Practice_Pearson [54-...
CH2 Stallings,_William_Computer_Security_Principles_and_Practice_Pearson [54-...ams1ams11
 
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit (DeepSEC 2015)
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit (DeepSEC 2015)illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit (DeepSEC 2015)
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit (DeepSEC 2015)a001
 
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMSANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMSJournal For Research
 
Nt1310 Unit 6 Powerpoint
Nt1310 Unit 6 PowerpointNt1310 Unit 6 Powerpoint
Nt1310 Unit 6 PowerpointJanet Robinson
 
How your smartphone cpu breaks software level security and privacy
How your smartphone cpu breaks software level security and privacyHow your smartphone cpu breaks software level security and privacy
How your smartphone cpu breaks software level security and privacymark-smith
 
DOCS ON NETWORK SECURITY
DOCS ON NETWORK SECURITYDOCS ON NETWORK SECURITY
DOCS ON NETWORK SECURITYTuhin_Das
 
zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]
zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]
zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]Alex Pruden
 
Introduction to Memory Exploitation (CppEurope 2021)
Introduction to Memory Exploitation (CppEurope 2021)Introduction to Memory Exploitation (CppEurope 2021)
Introduction to Memory Exploitation (CppEurope 2021)Patricia Aas
 
Wireless sensor Network using Zero Knowledge Protocol ppt
Wireless sensor Network using Zero Knowledge Protocol pptWireless sensor Network using Zero Knowledge Protocol ppt
Wireless sensor Network using Zero Knowledge Protocol pptsofiakhatoon
 
Security Training: #1 What Actually a Security Is?
Security Training: #1 What Actually a Security Is?Security Training: #1 What Actually a Security Is?
Security Training: #1 What Actually a Security Is?Yulian Slobodyan
 

Semelhante a hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality (20)

Cryptanalysis and Attacks
Cryptanalysis and AttacksCryptanalysis and Attacks
Cryptanalysis and Attacks
 
illusoryTLS: Impersonate, Tamper, and Exploit
illusoryTLS: Impersonate, Tamper, and ExploitillusoryTLS: Impersonate, Tamper, and Exploit
illusoryTLS: Impersonate, Tamper, and Exploit
 
Surreptitiously weakening cryptographic systems
Surreptitiously weakening cryptographic systemsSurreptitiously weakening cryptographic systems
Surreptitiously weakening cryptographic systems
 
Crypto failures every developer should avoid
Crypto failures every developer should avoidCrypto failures every developer should avoid
Crypto failures every developer should avoid
 
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit
illusoryTLS: Nobody But Us Impersonate, Tamper, ExploitillusoryTLS: Nobody But Us Impersonate, Tamper, Exploit
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit
 
CH2 Stallings,_William_Computer_Security_Principles_and_Practice_Pearson [54-...
CH2 Stallings,_William_Computer_Security_Principles_and_Practice_Pearson [54-...CH2 Stallings,_William_Computer_Security_Principles_and_Practice_Pearson [54-...
CH2 Stallings,_William_Computer_Security_Principles_and_Practice_Pearson [54-...
 
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit (DeepSEC 2015)
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit (DeepSEC 2015)illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit (DeepSEC 2015)
illusoryTLS: Nobody But Us Impersonate, Tamper, Exploit (DeepSEC 2015)
 
H42063743
H42063743H42063743
H42063743
 
RC 4
RC 4 RC 4
RC 4
 
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMSANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
 
Cryptography
CryptographyCryptography
Cryptography
 
Nt1310 Unit 6 Powerpoint
Nt1310 Unit 6 PowerpointNt1310 Unit 6 Powerpoint
Nt1310 Unit 6 Powerpoint
 
cryptography
cryptographycryptography
cryptography
 
How your smartphone cpu breaks software level security and privacy
How your smartphone cpu breaks software level security and privacyHow your smartphone cpu breaks software level security and privacy
How your smartphone cpu breaks software level security and privacy
 
DOCS ON NETWORK SECURITY
DOCS ON NETWORK SECURITYDOCS ON NETWORK SECURITY
DOCS ON NETWORK SECURITY
 
network security
network securitynetwork security
network security
 
zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]
zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]
zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]
 
Introduction to Memory Exploitation (CppEurope 2021)
Introduction to Memory Exploitation (CppEurope 2021)Introduction to Memory Exploitation (CppEurope 2021)
Introduction to Memory Exploitation (CppEurope 2021)
 
Wireless sensor Network using Zero Knowledge Protocol ppt
Wireless sensor Network using Zero Knowledge Protocol pptWireless sensor Network using Zero Knowledge Protocol ppt
Wireless sensor Network using Zero Knowledge Protocol ppt
 
Security Training: #1 What Actually a Security Is?
Security Training: #1 What Actually a Security Is?Security Training: #1 What Actually a Security Is?
Security Training: #1 What Actually a Security Is?
 

Mais de Area41

Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...Area41
 
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old DiseaseJuriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old DiseaseArea41
 
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...Area41
 
Rob "Mubix" Fuller: Attacker Ghost Stories
Rob "Mubix" Fuller: Attacker Ghost StoriesRob "Mubix" Fuller: Attacker Ghost Stories
Rob "Mubix" Fuller: Attacker Ghost StoriesArea41
 
Halvar Flake: Why Johnny can’t tell if he is compromised
Halvar Flake: Why Johnny can’t tell if he is compromisedHalvar Flake: Why Johnny can’t tell if he is compromised
Halvar Flake: Why Johnny can’t tell if he is compromisedArea41
 
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...Area41
 
hashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Mikko Hypponen - Keynotehashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Mikko Hypponen - KeynoteArea41
 
hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...
hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...
hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...Area41
 
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...Area41
 
hashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Christian Bockermann - Protecting Databases with Treeshashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Christian Bockermann - Protecting Databases with TreesArea41
 
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...Area41
 

Mais de Area41 (11)

Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
 
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old DiseaseJuriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
 
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
 
Rob "Mubix" Fuller: Attacker Ghost Stories
Rob "Mubix" Fuller: Attacker Ghost StoriesRob "Mubix" Fuller: Attacker Ghost Stories
Rob "Mubix" Fuller: Attacker Ghost Stories
 
Halvar Flake: Why Johnny can’t tell if he is compromised
Halvar Flake: Why Johnny can’t tell if he is compromisedHalvar Flake: Why Johnny can’t tell if he is compromised
Halvar Flake: Why Johnny can’t tell if he is compromised
 
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
 
hashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Mikko Hypponen - Keynotehashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Mikko Hypponen - Keynote
 
hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...
hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...
hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...
 
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
 
hashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Christian Bockermann - Protecting Databases with Treeshashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Christian Bockermann - Protecting Databases with Trees
 
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
 

Último

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Último (20)

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality

  • 1. Cryptanalysis vs. Reality Jean-Philippe Aumasson 1 / 54
  • 2. Cryptanalysis is the study of methods for obtaining the meaning of encrypted information without access to the secret information that is normally required to do so. Wikipedia 2 / 54
  • 3. Cryptanalysis is the study of methods for obtaining the meaning of encrypted information without access to the secret information that is normally required to do so. Wikipedia 3 / 54
  • 4. The fundamental goal of a cryptanalyst is to violate one or several security notions for algorithms that claim, implicitly or explicitly, to satisfy these security notions. Antoine Joux, Algorithmic Cryptanalysis 4 / 54
  • 5. Reality noun (pl. realities) 1. the state of things as they actually exist, as opposed to an idealistic or notional idea of them. 2. a thing that is actually experienced or seen. 3. the quality of being lifelike. 4. the state or quality of having exis- tence or substance. Compact Oxford English Dictionary 5 / 54
  • 6. Cryptanalysis relies on an ATTACKER MODEL = assumptions on what the attacker can and cannot do All models are in simulacra, that is, simplified reflections of reality, but, despite their inherent falsity, they are nevertheless extremely useful G. Box, N. Draper, Empirical Model-Building and Response Surfaces 6 / 54
  • 7. Cryptanalysis usually excludes methods of attack that do not primarily target weaknesses in the actual cryptography, such as bribery, physical coercion, burglary, keystroke logging, and social engineering, although these types of attack are an important concern and are often more effective Wikipedia 7 / 54
  • 8. Cryptanalysis used to be tightly connected to reality 8 / 54
  • 9. But times have changed 9 / 54
  • 12. Broken in a model does not imply broken in reality! 12 / 54
  • 13. Models’ language overlaps with real-world language: “attacks”, “broken” have multiple meanings Has cryptanalysis lost connection with reality? 13 / 54
  • 14. Cryptography is usually bypassed. I am not aware of any major world-class security system employing cryptography in which the hackers penetrated the system by actually going through the cryptanalysis. (. . . ) Usually there are much simpler ways of penetrating the security system. Adi Shamir, Turing Award lecture, 2002 14 / 54
  • 15. Is cryptanalysis relevant at all?? 15 / 54
  • 16. Remainder of this talk PART 1: PHYSICAL ATTACKS Bypass and misuse Side channels PART 2: ALGORITHMIC ATTACKS State-of-the-ciphers Why attacks aren’t attacks Cognitive biases What about AES? CONCLUSIONS + REFERENCES 16 / 54
  • 17. PART 1: PHYSICAL ATTACKS Bypass and misuse Side channels 17 / 54
  • 18. HTTPS protection uses (say) 2048-bit RSA to authenticate servers, and to avoid MitM attacks ≈ 100-bit security (see http://www.keylength.com/) ⇒ ≈ 2100 ops to break RSA by factoring the modulus 18 / 54
  • 19. HTTPS protection uses (say) 2048-bit RSA to authenticate servers, and to avoid MitM attacks ≈ 100-bit security (see http://www.keylength.com/) ⇒ ≈ 2100 ops to break RSA by factoring the modulus Or ≈ 233 using a quantum computer implementing Shor’s algorithm 18 / 54
  • 20. HTTPS protection uses (say) 2048-bit RSA to authenticate servers, and to avoid MitM attacks ≈ 100-bit security (see http://www.keylength.com/) ⇒ ≈ 2100 ops to break RSA by factoring the modulus Or ≈ 233 using a quantum computer implementing Shor’s algorithm Or 20 by compromising a CA. . . 18 / 54
  • 22. AES-256 provides 256-bit security (does it really?) FIPS 140-2 is supposed to inspire confidence. . . Yet “secure” USB drives by Kingston, SanDisk, Verbatim were easily broken The flaw: password validation on host PC + static unlock code 20 / 54
  • 23. How NOT to use decent cryptographic primitives: 21 / 54
  • 24. How NOT to use decent cryptographic primitives: ECDSA signing with a constant instead of a random number to find SONY PS3’s private key 21 / 54
  • 25. How NOT to use decent cryptographic primitives: ECDSA signing with a constant instead of a random number to find SONY PS3’s private key RC4 stream cipher with part of the key public and predictable (as found in the WEP WiFi “protection”) 21 / 54
  • 26. How NOT to use decent cryptographic primitives: ECDSA signing with a constant instead of a random number to find SONY PS3’s private key RC4 stream cipher with part of the key public and predictable (as found in the WEP WiFi “protection”) TEA block cipher in hashing mode to perform boot code authentication Equivalent keys lead to collisions 21 / 54
  • 27. Software side-channel attacks Practical attacks exploiting non-constant-time AES implementations Breaking the “secure” AES of OpenSSL 0.9.8n: Breaking AES on ARM9: 22 / 54
  • 29. Hardware side-channel attacks Power analysis (SPA/DPA) Electromagnetic analysis Glitches (clock, power supply, data corruption) Microprobing Laser cutting and fault injection Focused ion beam surgery, etc. 24 / 54
  • 30. PART 2: ALGORITHMIC ATTACKS State-of-the-ciphers Why attacks aren’t attacks What about AES? Cognitive biases 25 / 54
  • 31. ALGORITHMIC ATTACKS = attacks targetting a cryptographic function seen as an algorithm and described as algorithms rather than physical procedures ALGORITHMIC ATTACKS are thus independent of the implementation of the function attacked 26 / 54
  • 32. We’ll focus on symmetric cryptographic primitives: Block ciphers Stream ciphers Hash functions PRNGs MACs Though there’d be a lot to say about public-key encryption/signatures, authentication protocols, etc. 27 / 54
  • 33. Null- to low-impact attacks (examples) Block ciphers: AES GOST (Russian standard, 1970’s!) KASUMI (3GPP) Triple DES Hash functions: SHA-1 Whirlpool (ISO) 28 / 54
  • 34. Medium- to high-impact attacks (examples) Block cipher: DES (56-bit key): practical break by. . . bruteforce Stream cipher: A5/1 (GSM): attacks on GSM facilitated Hash function: MD5: famous rogue certificate attack PoC 29 / 54
  • 35. Unattacked primitives (examples) Block ciphers CAST5 (default cipher in OpenPGP) IDEA (1991!) IDEA-NXT (aka FOX) Serpent (AES finalist) Twofish (AES finalist) Stream ciphers: Grain128a (for hardware) Salsa20 (for software) Hash functions: SHA-2 (SHA-256, . . . , SHA-512) RIPEMD-160 (ISO) 30 / 54
  • 36. Despite the large amount of research and new techniques, “breaks” almost never happen: Why? 31 / 54
  • 37. High-complexity attacks Example: preimage attack on MD5 with time complexity 2123.4 against 2128 ideally High-complexity attacks do not matter as long as the effort is obviously unfeasible, or overwhelms the cost of other attacks Yet MD5 can no longer be sold as “128-bit security” hash 32 / 54
  • 38. The difference between 80 bits and 128 bits of keysearch is like the difference between a mission to Mars and a mission to Alpha Centauri. As far as I can see, there is *no* meaningful difference between 192-bit and 256-bit keys in terms of practical brute force attacks; impossible is impossible. John Kelsey (NIST) 33 / 54
  • 39. Back-to-reality interlude 2 GHz CPU ⇒ 1 sec = 2 · 109 ≈ 233 clocks 1 year 258 clocks 1000 years 268 clocks since the Big-Bang 2116 clocks 34 / 54
  • 40. The encryption doesn’t even have to be very strong to be useful, it just must be stronger than the other weak links in the system. Using any standard commercial risk management model, cryptosystem failure is orders of magnitude below any other risk. Ian Griff, Peter Gutmann, IEEE Security & Privacy 9(3), 2011 35 / 54
  • 41. Attacks on building blocks Example: 296 collision attack on the compression function of the SHA-3 candidate LANE Did not lead to an attack on the hash Invalidates the security reduction compression hash Disqualified LANE from the SHA-3 competition! 36 / 54
  • 42. Attacks on building blocks Example: 296 collision attack on the compression function of the SHA-3 candidate LANE Did not lead to an attack on the hash Invalidates the security reduction compression hash Disqualified LANE from the SHA-3 competition! How to interprete those attacks? 1. We attacked something ⇒ crypto must be weak! 2. We failed to attack the full function ⇒ crypto must be strong! 36 / 54
  • 43. Strong models: ex of related-key attacks Attackers learn encryptions with a derived key K = f (K ) One of the first attacks: when Enigma operators set rotors incorrectly, they sent again with the correct key. . . Modern version introduced by Knudsen/Biham in 1992 Practical on weak key-exchange protocols (EMV, 3GPP?), but unrealistic in most decent protocols 37 / 54
  • 44. Related-key attacks example Key-recovery on AES-256 with time complexity 2119 against 2256 ideally! Needs 4 related keys. . . actually, related subkeys ! attacks are still mainly of theoretical interest and do not present a threat to practical applications using AES the authors (Khovratovich / Biryukov) 38 / 54
  • 45. Model from reality: pay-TV encryption MPEG stream encrypted with CSA Common Scrambling Algorithm, 48b or 64b key Useful break of CSA needs Unknown- fixed-key attacks Ciphertext-only, partially-known plaintext (no TMTO) Key recovery in <10 seconds (“cryptoperiod”) 39 / 54
  • 46. There’s not only time! Back to our previous examples: MD5: time 2123.4 and 250 B memory (1024 TiB) LANE: time 296 and 293 B memory (253 TiB) AES-256: time 2119 and 277 B memory (237 TiB) Memory is not free! ($$$, infrastructure, latency) Practical cost of access to memory neglected New attacks should be compared to generic attacks with a same budget See “cracking machines” in Understanding bruteforce http://cr.yp.to/papers.html#bruteforce 40 / 54
  • 47. Distinguishing attacks aka distinguishers Used to be statistical biases Now distinguishers are Known- or chosen-key attacks Sets of input/output’s satisfying some relation Example: differential q-multicollision distinguisher on AES EK1 (P1 ) ⊕ EK1 ⊕∆ (P1 ⊕ ) = EK2 (P2 ) ⊕ EK2 ⊕∆ (P2 ⊕ ) = EK3 (P3 ) ⊕ EK3 ⊕∆ (P3 ⊕ ) = ... 41 / 54
  • 48. Distinguishing attacks aka distinguishers Used to be statistical biases Now distinguishers are Known- or chosen-key attacks Sets of input/output’s satisfying some relation Example: differential q-multicollision distinguisher on AES EK1 (P1 ) ⊕ EK1 ⊕∆ (P1 ⊕ ) = EK2 (P2 ) ⊕ EK2 ⊕∆ (P2 ⊕ ) = EK3 (P3 ) ⊕ EK3 ⊕∆ (P3 ⊕ ) = ... NO IMPACT ON SECURITY in a large majority of cases 41 / 54
  • 49. Attacks (high-complexity, strong model, high-memory, distinguishers, etc.) vs. Reality 2 general interpretations: 1. This little thing is a sign of bigger things! 2. This little thing is a sign of no big things! Why are we biased? (towards 1. or 2.) 42 / 54
  • 51. Cryptographic Num3rol0gy The basic concept is that as long as your encryption keys are at least “this big”, you’re fine, even if none of the surrounding infrastructure benefits from that size or even works at all Ian Griff, Peter Gutmann, IEEE Security & Privacy 9(3), 2011 44 / 54
  • 52. Cryptographic Num3rol0gy The basic concept is that as long as your encryption keys are at least “this big”, you’re fine, even if none of the surrounding infrastructure benefits from that size or even works at all Ian Griff, Peter Gutmann, IEEE Security & Privacy 9(3), 2011 Choosing a key size if fantastically easy, whereas making the crypto work effectively is really hard Ibid 45 / 54
  • 53. Zero-risk bias = Preference for reducing a small risk to zero over a greater reduction in a larger risk Example: reduce risk from 1% to 0% whereas another risk could be reduced from 50% to 30% at the same cost 46 / 54
  • 54. Zero-risk bias = Preference for reducing a small risk to zero over a greater reduction in a larger risk Example: reduce risk from 1% to 0% whereas another risk could be reduced from 50% to 30% at the same cost Cryptographic numerology (examples) 1% = scary-new attack threat Move from 1024- to 2048-bit (or 4096-bit!) RSA Cascade-encryption with AES + Serpent + Twofish + Unintended consequences: Crypto is slower ⇒ less deployed ⇒ less security 46 / 54
  • 55. Survivorship bias We only remember/see the unbroken, deployed and/or standardized, algorithms Not the numerous experimental designs broken 47 / 54
  • 56. Survivorship bias We only remember/see the unbroken, deployed and/or standardized, algorithms Not the numerous experimental designs broken Example: of the 56 SHA-3 submissions published 14 implemented attacks (e.g. example of collision) 3 close-to-practical attacks (≈ 260 ) 14 high-complexity attacks ⇒ Practical attacks kill ciphers before they are used and known to the public 47 / 54
  • 57. What about AES? 48 / 54
  • 58. What about AES? Groundbreaking attack bogeyman! 49 / 54
  • 59. What about AES? The facts: AES-128: 2126 complexity, 288 plaintext/ciphertext against 2128 and 20 for bruteforce AES-256: 2254 complexity, 240 plaintext/ciphertext against 2256 and 21 for bruteforce See Bogdanov, Khovratovich, Rechberger: http://research.microsoft.com/en-us/projects/ cryptanalysis/aesbc.pdf 50 / 54
  • 60. What about AES? The facts: AES-128: 2126 complexity, 288 plaintext/ciphertext against 2128 and 20 for bruteforce AES-256: 2254 complexity, 240 plaintext/ciphertext against 2256 and 21 for bruteforce See Bogdanov, Khovratovich, Rechberger: http://research.microsoft.com/en-us/projects/ cryptanalysis/aesbc.pdf Reactions heard (from customers, third parties): AES is insecure! Let’s use AES with 42 rounds! AES is secure! The attack is far from practical! 50 / 54
  • 61. CONCLUSIONS + REFERENCES 51 / 54
  • 62. Conclusions Algorithmic attacks on deployed schemes are (almost) never a threat to security, due to High complexities, unrealistic models, etc. Weak ciphers are broken earlier and forgotten We don’t break ciphers, we evaluate their security Orr Dunkelman 52 / 54
  • 63. Conclusions Algorithmic attacks on deployed schemes are (almost) never a threat to security, due to High complexities, unrealistic models, etc. Weak ciphers are broken earlier and forgotten We don’t break ciphers, we evaluate their security Orr Dunkelman Beware cryptographic numerology! 52 / 54
  • 64. Conclusions Algorithmic attacks on deployed schemes are (almost) never a threat to security, due to High complexities, unrealistic models, etc. Weak ciphers are broken earlier and forgotten We don’t break ciphers, we evaluate their security Orr Dunkelman Beware cryptographic numerology! AES is fine, weak implementations are the biggest threat 52 / 54
  • 65. Related works Leakage-resilience vs. Reality Leakage Resilient Cryptography in Practice Standaert et al. http://eprint.iacr.org/2009/341 Bruteforce vs. Reality Using the Cloud to Determine Key Strengths Kleinjung et al. http://eprint.iacr.org/2011/254 Crypto libs vs. Reality Open-Source Cryptographic Libraries and Embedded Platforms Junod http://crypto.junod.info/hashdays10_talk.pdf 53 / 54
  • 66. Thank you for your attention 54 / 54