Introduction to Physical Attacks

Introduction to Physical Attacks

Introduction to Physical Attacks Arnaud Tisserand CNRS, Lab-STICC 25th October 2018 Summary • Introduction • Side Channel Attacks • Fault Injection Attacks • Conclusion and References Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 2/24 Applications with Security Needs Applications: smart cards, computers, Internet, telecommunications, set-top boxes, data storage, RFID tags, WSN, smart grids. Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 3/24 timing analysis power analysis EMR analysis observation perturbation theoretical invasive fault injection advanced algorithms probing reverse engineering optimized programming EMR = Electromagnetic radiation Attacks attack Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 4/24 timing analysis power analysis EMR analysis theoretical fault injection advanced algorithms probing reverse engineering optimized programming EMR = Electromagnetic radiation Attacks observation attack perturbation invasive Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 4/24 theoretical advanced algorithms optimized programming Attacks timing analysis power analysis EMR analysis observation attack perturbation invasive fault injection probing reverse engineering EMR = Electromagnetic radiation Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 4/24 advanced algorithms optimized programming Attacks timing analysis power analysis EMR analysis observation attack perturbation theoretical invasive fault injection probing reverse engineering EMR = Electromagnetic radiation Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 4/24 Attacks timing analysis power analysis EMR analysis observation attack perturbation theoretical invasive fault injection advanced algorithms probing reverse engineering optimized programming EMR = Electromagnetic radiation Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 4/24 \Old style" side channel attacks: + clic good value clac bad value Side Channel Attacks (SCAs) (1/2) Attack: attempt to find, without any knowledge about the secret: • the message (or parts of the message) • informations on the message • the secret (or parts of the secret) Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 5/24 Side Channel Attacks (SCAs) (1/2) Attack: attempt to find, without any knowledge about the secret: • the message (or parts of the message) • informations on the message • the secret (or parts of the secret) \Old style" side channel attacks: + clic good value clac bad value Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 5/24 measure attack E k, M??? Side Channel Attacks (SCAs) (2/2) E D Ek (M) M A B Dk (Ek (M)) = M k k General principle: measure external parameter(s) on running device in order to deduce internal informations Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 6/24 Side Channel Attacks (SCAs) (2/2) E D Ek (M) M A B Dk (Ek (M)) = M k k measure attack E k, M??? General principle: measure external parameter(s) on running device in order to deduce internal informations Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 6/24 What Should be Measured? Answer: everything that can \enter" and/or \get out" in/from the device • power consumption • electromagnetic radiation • temperature • sound • computation time • number of cache misses • number and type of error messages • ... The measured parameters may provide informations on: • global behavior (temperature, power, sound...) • local behavior (EMR, # cache misses...) Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 7/24 Power Consumption Analysis General principle: 1. measure the current i(t) in the cryptosystem 2. use those measurements to \deduce" secret informations crypto. secret key = 962571. i(t) R VDD Crypto/server-dell traces Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 8/24 has a current signature and a time signature T t T+T× I t I+ I× i 1 2 3 4 5 6 7 8 ai 0 1 1 0 1 0 0 1 Differences & External Signature An algorithm : r = c0 for i from 1 to n do if ai = 0 then r = r+c1 else r = r×c2 Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 9/24 and a time signature T t T+T× Differences & External Signature An algorithm has a current signature : r = c0 for i from 1 to n do if ai = 0 then r = r+c1 else r = r×c2 I t I+ I× i 1 2 3 4 5 6 7 8 ai 0 1 1 0 1 0 0 1 Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 9/24 Differences & External Signature An algorithm has a current signature and a time signature: r = c0 for i from 1 to n do if ai = 0 then r = r+c1 else r = r×c2 T t T+T× I t I+ I× i 1 2 3 4 5 6 7 8 ai 0 1 1 0 1 0 0 1 Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 9/24 Simple Power Analysis (SPA) Source: [2] Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 10/24 Simple Power Analysis (SPA) Source: [2] Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 10/24 • simple power analysis (& variants) • differential power analysis (& variants) • horizontal/vertical/templates/. attacks SPA on ECC encryption signature etc protocol level [k]P curve level Scalar multiplication operation ADD(P; Q) DBL(P) for i from 0 to t − 1 do if ki = 1 then Q = ADD(P; Q) P = DBL(P) x±y x×y ... field level Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 11/24 • simple power analysis (& variants) • differential power analysis (& variants) • horizontal/vertical/templates/. attacks SPA on ECC encryption signature etc protocol level [k]P curve level Scalar multiplication operation ADD(P; Q) DBL(P) for i from 0 to t − 1 do if ki = 1 then Q = ADD(P; Q) P = DBL(P) x±y x×y ... field level Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 11/24 • simple power analysis (& variants) • differential power analysis (& variants) • horizontal/vertical/templates/. attacks SPA on ECC DBL DBL DBL DBL DBL DBL encryption signature etc protocol level [k]P curve level Scalar multiplication operation ADD(P; Q) DBL(P) for i from 0 to t − 1 do if ki = 1 then Q = ADD(P; Q) P = DBL(P) x±y x×y ... field level Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 11/24 • simple power analysis (& variants) • differential power analysis (& variants) • horizontal/vertical/templates/. attacks SPA on ECC DBL DBL DBL ADD DBL ADD DBL DBL encryption signature etc protocol level [k]P curve level Scalar multiplication operation ADD(P; Q) DBL(P) for i from 0 to t − 1 do if ki = 1 then Q = ADD(P; Q) P = DBL(P) x±y x×y ... field level Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 11/24 • differential power analysis (& variants) • horizontal/vertical/templates/. attacks SPA on ECC DBL DBL DBL ADD DBL ADD DBL DBL encryption signature etc protocol level 0 0 0 1 1 0 [k]P curve level Scalar multiplication operation ADD(P; Q) DBL(P) for i from 0 to t − 1 do if ki = 1 then Q = ADD(P; Q) P = DBL(P) • simple power analysis (& variants) x±y x×y ... field level Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 11/24 SPA on ECC DBL DBL DBL ADD DBL ADD DBL DBL encryption signature etc protocol level 0 0 0 1 1 0 [k]P curve level Scalar multiplication operation ADD(P; Q) DBL(P) for i from 0 to t − 1 do if ki = 1 then Q = ADD(P; Q) P = DBL(P) • simple power analysis (& variants) x±y x×y ... • differential power analysis (& variants) field level • horizontal/vertical/templates/. attacks Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 11/24 1111111111111111 0000000000000001 Important: a small difference may be evaluated has a noise during the measurement traces cannot be distinguished Question: what can be done when differences are too small? Answer: use statistics over several traces Limits of the SPA Example of behavior difference: (activity into a register) t 0000000000000000 0000000000000000 t + 1 Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 12/24 Important: a small difference may be evaluated has a noise during the measurement traces cannot be distinguished Question: what can be done when differences are too small? Answer: use statistics over several traces Limits of the SPA Example of behavior difference: (activity into a register) t 0000000000000000 0000000000000000 t + 1 1111111111111111 0000000000000001 Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 12/24 Answer: use statistics over several traces Limits of the SPA Example of behavior difference: (activity into a register) t 0000000000000000 0000000000000000 t + 1 1111111111111111 0000000000000001 Important: a small difference may be evaluated has a noise during the measurement traces cannot be distinguished Question: what can be done when differences are too small? Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 12/24 Limits of the SPA Example of behavior difference: (activity into a register) t 0000000000000000 0000000000000000 t + 1 1111111111111111 0000000000000001 Important: a small difference may be evaluated has a noise during the measurement traces cannot be distinguished Question: what can be done when differences are too small? Answer: use statistics over several traces Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 12/24 internal state implementation select bit b to attack power model measures b = 1 power(Hb=1) comparison b = 0 power(Hb=0) correct hypothesis Differential Power Analysis (DPA) cryptosystem Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 13/24 implementation select bit b to attack power model measures b = 1 power(Hb=1) comparison b = 0 power(Hb=0) correct hypothesis Differential Power Analysis (DPA) cryptosystem internal state Arnaud Tisserand. CNRS { Lab-STICC. Introduction to Physical Attacks 13/24 implementation power model measures power(Hb=1) comparison power(Hb=0) correct hypothesis Differential Power Analysis (DPA) cryptosystem internal state select bit b to attack b = 1 b = 0 Arnaud Tisserand.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    56 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us