Deep Learning For Embedded Security Evaluation Deep Learning For Embedded Security Evaluation Emmanuel PROUFF Joint work with Ryad Benadjila, Eleonora Cagli (CEA LETI), C´ ecile Dumas (CEA LETI), Houssem Maghrebi (UL), Loic Masure (CEA LETI), Thibault Portigliatti (ex SAFRAN), R´ emi Strullu and Adrian Thillard ANSSI (French Network and Information Security Agency) June 17, 2019 June 2019, Summer School, ˇ Sibenik, Croatia | E. Prouff | 0/18
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Probability distribution function (pdf) of Electromagnetic Emanations Cryptographic Processing with a secret k = 1. 1/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Probability distribution function (pdf) of Electromagnetic Emanations Cryptographic Processing with a secret k = 1. 1/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Probability distribution function (pdf) of Electromagnetic Emanations Cryptographic Processing with a secret k = 2. 1/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Probability distribution function (pdf) of Electromagnetic Emanations Cryptographic Processing with a secret k = 3. 1/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Probability distribution function (pdf) of Electromagnetic Emanations Cryptographic Processing with a secret k = 4. 1/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Context: Target Device Clone Device 2/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Context: Target Device Clone Device [On Clone Device] For every k estimate the pdf of − → X | K = k . k = 1 k = 2 k = 3 k = 4 2/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Context: Target Device Clone Device [On Clone Device] For every k estimate the pdf of − → X | K = k . k = 1 k = 2 k = 3 k = 4 2/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Context: Target Device Clone Device [On Clone Device] For every k estimate the pdf of − → X | K = k . k = 1 k = 2 k = 3 k = 4 [On Target Device] Estimate the pdf of − → X . k = ? 2/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Context: Target Device Clone Device [On Clone Device] For every k estimate the pdf of − → X | K = k . k = 1 k = 2 k = 3 k = 4 [On Target Device] Estimate the pdf of − → X . k = ? [Key-recovery] Compare the pdf estimations. 2/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Side Channel Attacks (Classical Approach) Notations � X observation of the device behaviour P public input of the processing Z target (a cryptographic sensitive variable Z = f ( P, K )) Goal: make inference over Z , observing � X 3/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Side Channel Attacks (Classical Approach) Notations � X observation of the device behaviour P public input of the processing Z target (a cryptographic sensitive variable Z = f ( P, K )) Goal: make inference over Z , observing � Pr[ Z | � X X ] 3/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Side Channel Attacks (Classical Approach) Notations � X observation of the device behaviour P public input of the processing Z target (a cryptographic sensitive variable Z = f ( P, K )) Goal: make inference over Z , observing � Pr[ Z | � X X ] Template Attacks Profiling phase (using profiling traces under known Z ) Attack phase ( N attack traces � x i , e.g. with known plaintexts p i ) Log-likelihood score for each key hypothesis k N log Pr[ � � d k = X = � x i | Z = f ( p i , k )] i =1 3/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Side Channel Attacks (Classical Approach) Notations � X observation of the device behaviour P public input of the processing Z target (a cryptographic sensitive variable Z = f ( P, K )) Goal: make inference over Z , observing � Pr[ Z | � X X ] Template Attacks Profiling phase (using profiling traces under known Z ) ◮ estimate Pr[ � X | Z = z ] by simple distributions for each value of z Attack phase ( N attack traces � x i , e.g. with known plaintexts p i ) Log-likelihood score for each key hypothesis k N � log Pr[ � d k = X = � x i | Z = f ( p i , k )] i =1 3/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Side Channel Attacks (Classical Approach) Notations � X observation of the device behaviour P public input of the processing Z target (a cryptographic sensitive variable Z = f ( P, K )) Goal: make inference over Z , observing � Pr[ Z | � X X ] Template Attacks Profiling phase (using profiling traces under known Z ) ◮ estimate Pr[ � X | Z = z ] for each value of z Attack phase ( N attack traces � x i , e.g. with known plaintexts p i ) ◮ Log-likelihood score for each key hypothesis k N � log Pr[ � d k = X = � x i | Z = f ( p i , k )] i =1 3/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Side Channel Attacks (Classical Approach) Notations � X observation of the device behaviour P public input of the processing Z target (a cryptographic sensitive variable Z = f ( P, K )) Goal: make inference over Z , observing � Pr[ Z | � X X ] Template Attacks Profiling phase (using profiling traces under known Z ) ◮ mandatory dimensionality reduction ◮ estimate Pr[ � X | Z = z ] for each value of z Attack phase ( N attack traces � x i , e.g. with known plaintexts p i ) ◮ Log-likelihood score for each key hypothesis k N � log Pr[ � d k = X = � x i | Z = f ( p i , k )] i =1 3/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Illustration| Template Attacks| Side Channel Attacks (Classical Approach) Notations � X observation of the device behaviour P public input of the processing Z target (a cryptographic sensitive variable Z = f ( P, K )) Goal: make inference over Z , observing � Pr[ Z | � X X ] Template Attacks Profiling phase (using profiling traces under known Z ) ◮ manage de-synchronization problem ◮ mandatory dimensionality reduction ◮ estimate Pr[ ε ( ˜ X ) | Z = z ] for each value of z Attack phase ( N attack traces � x i , e.g. with known plaintexts p i ) ◮ Log-likelihood score for each key hypothesis k N � log Pr[ ε ( ˜ d k = X ) = ε ( ˜ x i ) | Z = f ( p i , k )] i =1 3/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Defensive Mechanisms Misaligning Countermeasures Random Delays, Clock Jittering, ... + In theory: assume to be insufficient to provide security In practice: one of the main issues for evaluators = ⇒ Need for efficient resynchronization techniques 4/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Defensive Mechanisms Misaligning Countermeasures Random Delays, Clock Jittering, ... + In theory: assume to be insufficient to provide security In practice: one of the main issues for evaluators = ⇒ Need for efficient resynchronization techniques Masking Countermeasure Each key-dependent internal state element is randomly split into 2 shares The crypto algorithm is adapted to always manipulate shares at � = times The adversary needs to recover information on the two shares to recover K = ⇒ Need for efficient Methods to recover tuple of leakage samples that jointly depend on the target secret 4/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Learning| Countermeasures| Machine Learning| Building a Community| Conclusions| Introduction| Convolutional Neural Networks| Training of Models| Motivating Conclusions 5/18 Emmanuel PROUFF - ANSSI / Invited Talk PANDA 2018
Recommend
More recommend