one&done: a single-decryption em-based attack on openssl’s … · 2018-08-16 · Ø computes...

21
1 One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s Constant-Time Blinded RSA Monjur Alam, Haider Adnan Khan, Moumita Dey, Nishith Sinha, Robert Callan, Alenka Zajic, and Milos Prvulovic

Upload: others

Post on 14-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

11

One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s Constant-Time Blinded RSA

Monjur Alam, Haider Adnan Khan, Moumita Dey, Nishith Sinha, Robert Callan,Alenka Zajic, and Milos Prvulovic

Page 2: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

22

vMotivation

Ø Public key crypto is essential for modern securityØ Secure exchange of session keysØ Verifying identity of systems and usersØ And a lot more

Ø Private keys are a highly valuable assetØ So attackers want themØ And we don’t want attackers to get them

Page 3: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

33

vPublic Key Crypto

Ø Good public key crypto (e.g. RSA)Ø Designed to make private keys very, very hard to recover

RSA

key

Page 4: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

44

vAnalog Side-Channel Attacks

Ø But cryptographic implementation runs on real hardwareØ Logic gates switch, causing current flowØ Currents flowing create changes in surrounding EM field

RSA

key

Side-channel informationhelps recover the private key

Page 5: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

55

vAnalog Side-Channel Attacks

Ø Message randomization (blinding)Ø Prevents chosen-plaintext and other message-dependent attacks

Ø But… when message-independent operations use the key

RSA

key

Side-channel information,alone,eventually enables efficientrecovery of the private key

Page 6: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

66

vAnalog Side-Channel Attacks

Ø One&DoneØ Message does not matter (message blinding does not help)Ø Multiple “traces” not needed (exponent blinding does not help)

RSA

key

Side-channel information alone,in a single encryption/signing,enables efficient recovery of theentire private key

Page 7: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

77

vOpenSSL’s RSA Implementation

Ø BN_mod_exp_montgomery_consttime()Ø Computes xd mod m, where d is the secret exponent

For each fixed-size “window”

For each bit in the windowSquare the result (v=v2)Look up one bit of d and add to wval

Look up precomputed xwval

Multiply result with xwval

Page 8: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

88

vSide-Channel Attacks on OpenSSL’s RSA

Ø BN_mod_exp_montgomery_consttime()Ø Computes xd mod m, where d is the secret exponent

For each fixed-size “window”

For each bit in the windowSquare the result (v=v2)

Get bit from d, add to wval

Look up precomputed xwval

Multiply result with xwval

Cache (e.g. Percival)Scatter-Gather

Genkin et al., CHES’15Message Blinding

One&Done (new)Mitigation (new)

Page 9: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

99

vMeasurement Setup

SamsungGalaxyCentura

SCH-S738C

Alcatel Ideal A13-OLinuXino

Page 10: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1010

vSide Channel AnalysisØ Recent advances in side-channel-based program monitoring

Ø Camelia, our DARPA LADS project• Uses analog signals to monitor computational activity

to detect control flow deviation and/or execution of unknown code• Found that even a single-instruction control-flow can be detected• But…

Ø Constant-time implementation – no key-dependent CFØ Every encryption has the same CF sequence

• Can’t use CF differences for attack• But can use the (very stable and predictable) signal features and timing

to tell us exactly where in the signal BN_is_bit_set is executing

Page 11: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1111

vAttack ApproachConstant-time Montgomery Multiplicationto square the result

Window-valueupdate

Another Constant-timeMontgomery Multiplication

Easy to Find

Const-Time

Page 12: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1212

vRelevant Part Zoom-In

0-A 1-A0-B 1-B

Window ValueUpdate

Page 13: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1313

How well does this recover bits of <dp,dq>?

Ø Training on 15 private-key RSA decryptionsØ Recover bits of secret exponents using only one decryption

95%96%97%98%99%

100%

Samsung Galaxy

Centura Phone

Alcatel Ideal Phone

OLinuXino Board

MaxMedianMin

Page 14: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1414

vFull RSA Key Recovery

Ø We have dp and dq but withØ Erasures – could not find where the bit’s signal isØ Errors – found the bit’s signal, but misclassified it (0 vs. 1)

Ø Existing branch-and-prune algorithmsØ Prune partial solutions when group of bits has too many errors

• Assumes errors are uniformly distributed• Our errors often occur in bursts• Does not explicitly handle erasures

Ø Prune partial solutions that disagree with known bits of <dp,dq>• Can’t handle errors (no bits truly “known”)

Page 15: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1515

vFull RSA Key Recovery

Ø We have dp and dq but withØ Erasures – could not find where the bit’s signal isØ Errors – found the bit’s signal, but misclassified it (0 vs. 1)

Ø Our algorithmØ Take partial solution with fewest disagreement overall

• Known-to-be-unknown bits (erasures) not countedØ Expand that partial solution by one bit position

• Prune expansions that violate relationships between p,q,n,dp,and dq• Efficient implementation, nearly all checks use only scalars (not BNs)

Ø Repeat

Page 16: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1616

vRecover RSA key from <dp,dq> with errors

1,000.00

10,000.00

100,000.00

1,000,000.00

0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10%

ErrorsErasures50% Mix

Key

Sear

ch S

teps

Our <dp,dq> results(errors+erasures)

Key search using one i7 core:500K steps / second!

Page 17: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1717

vMore in the paper

Ø Train on one device, attack anotherØ Only slightly worse than same-device (still 100% key recovery)

Ø Similar attack on sliding-window implementationØ Used in prior versions of OpenSSL

• Prior attacks extract enough bits to sometimes allow full-key recoveryØ One&Done recovers nearly all bits in one private-key encryption,

recovered full key every time

Page 18: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1818

vMitigation

Ø Fundamental enabler of the attackØ Several instructions have very few possibilities for their operands

• BN_is_bit_set returns either 0 or 1

Ø No need to get bits one at a timeØ A 5-bit fixed window needs 5 consecutive bits

• Don’t have to get them one at a time and shift into wvalØ So we take an entire word’s worth of bits each time,

mask to window-size only before wval is neededØ Takes only a little longer than getting one bit!Ø But done only once per window!

Page 19: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

1919

vResults after mitigation

40%

45%

50%

55%

60%

65%

Samsung Galaxy Centura Phone

Alcatel Ideal Phone OLinuXino Board

MaxMedianMin

Random Guessing

ErasuresCounted as Errors

Page 20: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

2020

vConclusions

Ø Analog side-channel attack on OpenSSL’sconstant-time modular exponentiation implementationØ Precise timing thanks to constant-timeness of the implementationØ Highly accurate thanks to one-secret-bit-at-a-time implementation

Ø Entire private key recovered from only one use of that keyØ Attack not affected by blinding

Ø Attack directly obtains exponent bits, message bits not relevantØ Exponent blinding does not help agains single-trace attacks

Ø Mitigation: look up groups of secret bits, not individual bits

Page 21: One&Done: A Single-Decryption EM-Based Attack on OpenSSL’s … · 2018-08-16 · Ø Computes xd mod m, where d is the secret exponent ... Median Min. 14 14 vFull RSA Key Recovery

2121

Thank you!Questions?