Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Analyzing ¡Side-‑Channel ¡Leakage ¡of ¡ RFID-‑Suitable ¡Lightweight ¡ ¡ ECC ¡Hardware ¡ Erich.Wenger@iaik.tugraz.at ¡ ¡ Thomas.Korak@iaik.tugraz.at ¡ Mario.Kirschbaum@iaik.tugraz.at ¡ ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 1 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Outline ¡ • RFID? ¡ • ECC ¡Hardware ¡(DUT) ¡ • Power ¡Analysis ¡ANacks ¡ – Difference-‑of-‑Means ¡ – CorrelaPon ¡ANack ¡ – Revealing ¡Intermediates ¡ • Conclusion ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 2 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ What ¡is ¡RFID? ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 3 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ What ¡are ¡the ¡requirements? ¡ • Analog ¡interface ¡ • Data ¡transmission ¡protocol ¡ – ISO14443A ¡ – ISO15693 ¡ – NFC ¡ • Top-‑level ¡applicaPon ¡ – AuthenPcaPon ¡ – Privacy ¡ – Cryptographic ¡primiPves ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 4 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ EllipPc ¡Curve ¡Cryptography ¡ • Why? ¡ • e.g. ¡for ¡privacy ¡preserving ¡protocols ¡ • Standardized ¡(SECG, ¡NIST) ¡ • For ¡best ¡interoperability ¡ • Already ¡used ¡for ¡TLS, ¡IPSec, ¡and ¡SSH ¡ • Implemented ¡ellipPc ¡curve ¡ • sect163r1 ¡(NIST ¡B-‑163) ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 5 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Algorithms ¡ • Le^-‑to-‑right ¡Montgomery ¡Ladder ¡by ¡ ¡ López ¡and ¡Dahab ¡ ¡ • Randomized ¡ProjecPve ¡Coordinates ¡ ¡ • Use ¡the ¡Private ¡Scalar ¡only ¡Once ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 6 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Architecture ¡ Memory ¡ MulPplier ¡ Squarer ¡ Adder ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 7 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Measurement ¡Setup ¡ • ASIC ¡ – Placed ¡and ¡Routed ¡Design ¡ – VCD-‑based ¡Toggle ¡Count ¡ ¡ • FPGA ¡ – SASEBO ¡ – ResoluPon ¡Based ¡on ¡Input ¡Buffer ¡of ¡Oscilloscope ¡ – Exact ¡Clock ¡Source ¡Required ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 8 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Measurement ¡Methodology ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 9 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Assuring ¡Side-‑Channel ¡Resistance ¡ ¡ K162=1 ¡ K161=0 ¡ K160=0 ¡ K159=1 ¡ K158=1 ¡ K157=0 ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 10 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Assuring ¡Side-‑Channel ¡Resistance ¡ ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 11 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Finite ¡Field ¡MulPplier ¡ LSB ¡First ¡Mul$plier ¡ MSB ¡First ¡Mul$plier ¡ a 4 a 3 a 2 a 1 a 0 b 4 c 4 c 3 c 2 c 1 c 0 OpB i b 3 b 4 b 2 b 3 b 1 b 2 OpB i b 0 b 1 a 1 a 4 a 3 a 2 a 0 b 0 c 4 c 3 c 2 c 1 c 0 ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 12 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Leakage ¡of ¡Digit-‑Serial ¡MulPplier ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 13 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ CorrelaPon ¡of ¡ConsecuPve ¡Rounds ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 14 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ CorrelaPon ¡of ¡ConsecuPve ¡Rounds ¡ Noise margin Noise margin Noise margin Noise margin Noise margin Noise margin ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 15 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ CorrelaPon ¡of ¡ConsecuPve ¡Rounds ¡ Algorithm 1 L´ opez and Dahab round operations with key bits (0-0-1). Ensure: P 0 Ensure: P 0 Ensure: P 0 1 ← P 1 + P 2 . 1 ← P 1 + P 2 . 2 ← P 2 + P 1 . Ensure: P 0 Ensure: P 0 Ensure: P 0 2 ← 2 · P 2 . 2 ← 2 · P 2 . 1 ← 2 · P 1 . Point Addition Point Addition Point Addition 1: X 1 ← X 1 · Z 2 1: X 1 ← X 1 · Z 2 1: X 2 ← X 2 · Z 1 2: Z 1 ← Z 1 · X 2 2: Z 1 ← Z 1 · X 2 2: Z 2 ← Z 2 · X 1 3: T 1 ← X 1 · Z 1 3: T 1 ← X 1 · Z 1 3: T 1 ← X 2 · Z 2 4: Z 1 ← Z 1 + X 1 4: Z 1 ← Z 1 + X 1 4: Z 2 ← Z 2 + X 2 5: Z 1 ← Z 1 · Z 1 5: Z 1 ← Z 1 · Z 1 5: Z 2 ← Z 2 · Z 2 6: X 1 ← x · Z 1 6: X 1 ← x · Z 1 6: X 2 ← x · Z 2 7: X 1 ← X 1 + T 1 7: X 1 ← X 1 + T 1 7: X 2 ← X 2 + T 1 Point Doubling Point Doubling Point Doubling 8: X 2 ← X 2 · X 2 8: X 2 ← X 2 · X 2 8: X 1 ← X 1 · X 1 9: Z 2 ← Z 2 · Z 2 9: Z 2 ← Z 2 · Z 2 9: Z 1 ← Z 1 · Z 1 10: T 1 ← Z 2 · c 10: T 1 ← Z 2 · c 10: T 1 ← Z 1 · c 11: Z 2 ← Z 2 · X 2 11: Z 2 ← Z 2 · X 2 11: Z 1 ← Z 1 · X 1 12: T 1 ← T 1 · T 1 12: T 1 ← T 1 · T 1 12: T 1 ← T 1 · T 1 13: X 2 ← X 2 · X 2 13: X 2 ← X 2 · X 2 13: X 1 ← X 1 · X 1 14: X 2 ← X 2 + T 1 14: X 2 ← X 2 + T 1 14: X 1 ← X 1 + T 1 ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 16 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ CorrelaPon ¡of ¡ConsecuPve ¡Rounds ¡ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 17 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Revealing ¡Intermediate ¡Operands ¡ MSB ¡First ¡Mul$plier ¡ a 4 a 3 a 2 a 1 a 0 OpB i b 4 b 3 b 2 b 1 b 0 c 4 c 3 c 2 c 1 c 0 ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 18 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Revealing ¡Intermediate ¡Operands ¡ 0 0 1 1 2 3 0 0 0 0 1 1 1 2 1 1 1 1 0 0 2 1 2 2 1 1 2 2 0 1 3 2 1 1 0 4 1 2 2 3 ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 19 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Revealing ¡Intermediate ¡Operands ¡ ! d N d e� 1 d N solutions = 2 d · Y #( hd = h ) p ( hd = h ) h =0 N = 163 N = 256 Parameter 2 1 = 2 1 2 1 = 2 1 d = 1 2 2 2 0 . 5 × 81 = 2 42 . 5 2 2 2 0 . 5 × 127 = 2 65 . 5 d = 2 2 3 3 0 . 75 × 54 = 2 67 . 2 2 3 3 0 . 75 × 85 = 2 104 d = 3 2 4 4 0 . 5 × 40 6 0 . 375 × 40 = 2 82 . 8 2 4 4 0 . 5 × 63 6 0 . 375 × 63 = 2 128 . 1 d = 4 ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 20 ¡
Ins$tute ¡for ¡Applied ¡Informa$on ¡Processing ¡and ¡Communica$ons ¡(IAIK) ¡ Revealing ¡Intermediate ¡Operands ¡ • Correlate ¡with ¡an ¡ArithmePc ¡CombinaPon ¡of ¡ Intermediates ¡ s F = f ( OpB 1 , OpB 2 , . . . ) • ANack ¡Several ¡Intermediates ¡Simultaneously ¡ ¡ ¡ s F = f ( OpB 1 , OpB 2 , . . . ) • Find ¡the ¡x-‑Coordinate ¡ ¡ ¡ = ( λ X i ) · ( λ Z i ) − 1 = X · Z − 1 x i = X r · Z − 1 r • Undo ¡the ¡ProjecPve ¡Coordinate ¡ RandomizaPon ¡ of X r = X · λ ¡ ¡ ¡ ¡Graz ¡University ¡of ¡Technology/Wenger, ¡Korak, ¡Kirschbaum ¡ 21 ¡
Recommend
More recommend