Fault Tolerant Infective Countermeasure for AES

Slides:



Advertisements
Similar presentations
IMPACT Second Generation EPIC Architecture Wen-mei Hwu IMPACT Second Generation EPIC Architecture Wen-mei Hwu Department of Electrical and Computer Engineering.
Advertisements

Xiutao Feng Institute of Software Chinese Academy of Sciences A Byte-Based Guess and Determine Attack on SOSEMANUK.
Differential Fault Analysis on AES Variants Kazuo Sakiyama, Yang Li The University of Electro-Communications Nagoya, Japan.
Encipherment Using Modern Symmetric-Key Ciphers. 8.2 Objectives ❏ To show how modern standard ciphers, such as DES or AES, can be used to encipher long.
An Introduction to Stream Ciphers Zahra Ahmadian Electrical Engineering Department Sahrif University of Technology
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
Low Cost Attack on Tamper Resistant Devices Ross Anderson, Markus Kuhn Songpol Manoonpong.
Tamper-Tolerant Software: Modeling and Implementation International Workshop on Security (IWSEC 2009) October 28-30, 2009 – Toyama, Japan Mariusz H. Jakubowski.
Software Certification and Attestation Rajat Moona Director General, C-DAC.
Block Ciphers and the Data Encryption Standard
Cryptography and Network Security
Linear Obfuscation to Combat Symbolic Execution Zhi Wang 1, Jiang Ming 2, Chunfu Jia 1 and Debin Gao 3 1 Nankai University 2 Pennsylvania State University.
1/28 ECE th May 2014 H ardware Implementation of Self-checking circuits on FPGA Project Team #1 Chandru Loganathan Sakshi Gupta Vignesh Chandrasekaran.
Strong Error Detection for Control Units Against Advanced Attackers Kahraman Daglar Akdemir Advisor: Berk Sunar Electrical and Computer Engineering MOTIVATION.
Intro To Encryption Exercise 1. Monoalphabetic Ciphers Examples:  Caesar Cipher  At Bash  PigPen (Will be demonstrated)  …
Session 6: Introduction to cryptanalysis part 1. Contents Problem definition Symmetric systems cryptanalysis Particularities of block ciphers cryptanalysis.
Radu Muresan CODES+ISSS'04, September 8-10, 2004, Stockholm, Sweden1 Current Flattening in Software and Hardware for Security Applications Authors: R.
Automatic Application of Power Analysis Countermeasures Ali Galip Bayrak Francesco Regazzoni David Novo Philip Brisk François-Xavier Standaert Paolo Ienne.
SIDE CHANNEL ATTACKS Presented by: Vishwanath Patil Abhay Jalisatgi.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
Topic #10: Optimization EE 456 – Compiling Techniques Prof. Carl Sable Fall 2003.
Linear Fault Analysis of Block Ciphers Zhiqiang Liu 1, Dawu Gu 1, Ya Liu 1, Wei Li 2 1. Shanghai Jiao Tong University 2. Donghua University ACNS 2012 June.
A Novel Cache Architecture with Enhanced Performance and Security Zhenghong Wang and Ruby B. Lee.
1 Lect. 10 : Cryptanalysis. 2 Block Cipher – Attack Scenarios  Attacks on encryption schemes  Ciphertext only attack: only ciphertexts are given  Known.
SiLab presentation on Reliable Computing Combinational Logic Soft Error Analysis and Protection Ali Ahmadi May 2008.
Resynchronization Attacks on WG and LEX Hongjun Wu and Bart Preneel Katholieke Universiteit Leuven ESAT/COSIC.
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4b) Department of Electrical.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
1 Code optimization “Code optimization refers to the techniques used by the compiler to improve the execution efficiency of the generated object code”
Exploiting the Order of Multiplier Operands: A Low-Cost Approach for HCCA Resistance Poulami Das and Debapriya Basu Roy under the supervision of Dr. Debdeep.
Quality Assurance.
CprE 458/558: Real-Time Systems
Lecture 2: Introduction to Cryptography
DPA Countermeasures by Improving the Window Method Kouichi Itoh, Jun Yajima, Masahiko Takenaka and Naoya Torii Workshop on Cryptographic Hardware and Embedded.
Kouichi Itoh, Tetsuya Izu and Masahiko Takenaka Workshop on Cryptographic Hardware and Embedded Systems (CHES 2002) August, 2002 Address-bit Differential.
A paper by: Paul Kocher, Joshua Jaffe, and Benjamin Jun Presentation by: Michelle Dickson.
A Biased Fault Attack on the Time Redundancy Countermeasure for AES Sikhar Patranabis, Abhishek Chakraborty, Phuong Ha Nguyen and Debdeep Mukhopadhyay.
Information Leaks Without Memory Disclosures: Remote Side Channel Attacks on Diversified Code Jeff Seibert, Hamed Okhravi, and Eric Söderström Presented.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
Microdata masking as permutation Krish Muralidhar Price College of Business University of Oklahoma Josep Domingo-Ferrer UNESCO Chair in Data Privacy Dept.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
CS519, © A.SelcukDifferential & Linear Cryptanalysis1 CS 519 Cryptography and Network Security Instructor: Ali Aydin Selcuk.
Methodology to Compute Architectural Vulnerability Factors Chris Weaver 1, 2 Shubhendu S. Mukherjee 1 Joel Emer 1 Steven K. Reinhardt 1, 2 Todd Austin.
Lecture5 – Introduction to Cryptography 3/ Implementation Rice ELEC 528/ COMP 538 Farinaz Koushanfar Spring 2009.
Lecture7 –More on Attacks Rice ELEC 528/ COMP 538 Farinaz Koushanfar Spring 2009.
RC6: The Simple Cipher Presenter: Morgan Monger. RC6 Cipher Created by Ronald Rivest et al. for AES submission Follows the evolution of RC5 cipher –Parameterized.
Detecting Hardware Trojans in Unspecified Functionality Using Mutation Testing Nicole Fern K.-T. Tim Cheng UC Santa Barbara 1.
Differential Distinguishing Attack on the Shannon Stream Cipher Based on Fault Analysis Mehdi Hassanzadeh University of Bergen Selmer Center, Norway
Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dipartimento di Automatica.
Lecture 5 Page 1 CS 236 Online More on Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Automatic Diagnosis and Response to Memory Corruption Vulnerabilities Authors: Jun Xu, Peng Ning, Chongkyung Kil, Yan Zhai, Chris Bookholt Cyber Defense.
University of Michigan Electrical Engineering and Computer Science 1 Low Cost Control Flow Protection Using Abstract Control Signatures Daya S Khudia and.
Memory Protection through Dynamic Access Control Kun Zhang, Tao Zhang and Santosh Pande College of Computing Georgia Institute of Technology.
Week#3 Software Quality Engineering.
Overview on Hardware Security
Automatic Application of Power Analysis Countermeasures
Xin Fang, Pei Luo, Yunsi Fei, and Miriam Leeser
Quantum Cryptography Arjun Vinod S3 EC Roll No:17.
Efficient CRT-Based RSA Cryptosystems
Improved Practical Differential Fault Analysis of Grain-128
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Fault Tolerant Systems in a Space Environment
Zhi Chen1, Junjie Shen1, Alex Nicolau1, Alex Veidenbaum1
Presentation transcript:

Fault Tolerant Infective Countermeasure for AES Secured Embedded Architecture Laboratory (SEAL) Fault Tolerant Infective Countermeasure for AES Sikhar Patranabis and Abhishek Chakraborty Under the supervision of Dr. Debdeep Mukhopadhyay

Outline Introduction Differential Fault Analysis (DFA) Countermeasures to DFA – Detection vs Infection Infective Countermeasures – Formal Proofs of Security Infective Countermeasures - Loopholes Fault Tolerant Implementation of Infective Countermeasures Conclusions

Introduction : Fault Analysis and Countermeasures Adversary injects faults into cryptosystems and analyzes the faulty output to recover the key Easy to perform, does not require high end equipment Must design efficient countermeasures against fault attacks Weakens even mathematically robust cryptosystems

Fault Attacks : A Brief Overview Introduction of faults in the normal execution of cryptographic algorithms and analysis of faulty output to obtain the key First conceived in 1996 by Boneh, Demillo and Lipton E. Biham developed Differential Fault Analysis (DFA) of DES Today there are numerous examples of fault analysis of block ciphers such as AES under a variety of fault models and fault injection techniques Popular Fault Injection Techniques – Clock Glitches, Voltage Glitches, EM and Optical Injection Techniques

Differential Fault Analysis (DFA) Comparison of fault-free and faulty ciphertexts Important factors are fault location and fault model Fault Location: Data Path Key Schedule Fault Model: Bit Faults Byte Faults

DFA of AES: State of the Art 2003 Piret et. al. (CHES 2003) 2 faults for unique key recovery, Time Complexity: 240 2009 Mukhopadhyay (AfricaCrypt 2009) 2 faults for unique key recovery, Time Complexity: 232 Demonstrated attack possibility with a single fault 2011 Tunstall, Mukhopadhyay, Ali (WISTP 2011) Single fault for unique key recovery, Key Space: 28 , Time Complexity: 232 Ali, Mukhopadhyay (eprint 2011) further reduced the time complexity to 230

Countering DFA Countermeasures to DFA Detection Based Countermeasures Vulnerable to attacks on the comparison step Vulnerable to biased fault attacks Infection Based Countermeasures No formal proofs of security Vulnerable to flow sequence changes

Detection Based Countermeasures Also known as Concurrent Error Detection (CED) techniques Use various kinds of redundancy to detect faults Vulnerable to attacks in the comparison step itself Vulnerable to biased fault attacks

The Basic Principle of CEDs

Hybrid Redundancy - REPO Information Redundancy – Robust Codes Examples of CED Time Redundancy Hybrid Redundancy - REPO Information Redundancy – Robust Codes Source : Guo et. al. , Security analysis of concurrent error detection against differential fault analysis – Journal of Cryptographic Engineering, 2014 Hardware Redundancy

Infective Countermeasures The main initial idea behind infective countermeasures was to diffuse the impact of the fault such that even if the adversary were to attack the comparison step, the state would still be affected

The Infection Mechanism Source : Lomne et. al. , On the Need of Randomness in Fault attack Countermeasures – Application to AES, FDTC 2012

Infective Countermeasures : State of the Art Prior to 2012 Fournier et. al. and Joye et. al. suggested infective countermeasure schemes using deterministic diffusion functions Used consistency checks between cipher and redundant computations Proved to be inherently insecure by Lomne et. al. in FDTC 2012 2012-2014 Gierlichs et. al. proposed in LatinCrypt 2012 a randomized infective countermeasure that totally does away with explicit consistency checks by clever use of random and dummy rounds Propagation of faults prevents an attacker from being able to conduct any fault analysis of corrupted ciphertexts Proved to be insecure by Battistello et. al. in FDTC 2013 and Tupsamudre et. al. in CHES 2014 Since 2014 Tupsamudre et. al. proposed a randomized infective countermeasure in CHES 2014 Addresses several pitfalls of the earlier infective countermeasure scheme Does not provide any formal proofs of security Does not consider attacks where the execution order of instructions could be changed

CHES 2014 Infective Countermeasure

CHES 2014 Countermeasure (Contd.) Correct Computation Faulty Computation

Unexplored Territory-1 Formal Proof of Security A frequent criticism of infective countermeasures - no explicit formal proof of security

Unexplored Territory-|| The countermeasure provides security against fault attacks that target the state registers What about faults that target the execution order of instructions instead? For instance instruction skip attacks

Information Theoretic Proof of Security Single Fault Injection Infection upon detection of fault destroys any correlation between output differential ∆ and key K Hence ∆ and K are independent

Security Proofs (contd.) Multiple Fault Injection The adversary must introduce the same fault in a redundant-cipher round pair Not easy due to the presence of random intermediate dummy rounds in between The Attack Probability for 30 Dummy Rounds

Security Proofs (contd.) The Evaluation We focus on the event e’ where an adversary introduces the same fault in a redundant-cipher round pair Set of faults possible for key 𝑘 𝑖

The Instruction Skip Fault Model The adversary can skip an instruction Equivalent to replacing instruction by a NOP Practically achievable on a variety of architectures 8-bit AVR microcontrollers 32-bit ARM9 processor 32-bit ARM Cortex-M3 processor Variety of injection techniques possible - Clock glitches, EM Glitches, Voltage glitches and Laser shots

What if the adversary skips this step?? The Attack Idea What if the adversary skips this step??

The Attack Procedure Skip the increment of the round counter after the final redundant round The last cipher round is replaced by a spurious redundant round The adversary obtains the output of the 9th round Replaced by a Redundant Round

The Information Leakage Consider the event e that the attacker successfully performs the instruction skip to recover the key

The Loop Holes Fixed ordering of redundant and cipher rounds Fault in the redundant round is only detected in the next cipher round No check if a redundant round being executed is valid Round counter is not validated

Modified Infective Countermeasure The relative ordering of cipher and redundant rounds is randomized The intermediate output after each odd computation round is masked Penultimate computation could be redundant or cipher In either scenario, instruction skip gives a masked output that has no correlation with the key

Instruction Skips on the Modified Countermeasure Must skip two instructions now – the round counter increment as well as the masking steps in two separate rounds Practically feasible second order fault attack?

Some Comparisons

But what about other Instruction Skip instances ??

Fault Tolerance at the Instruction Level Injection of faults in two instructions separated by only a few clock cycles is difficult to achieve in practice Rewrite compiler generated assembly code by replacing each instruction by a sequence of one or more idempotent instructions All instructions belong to the x86 instruction set and have uniform size of 32 bits Provides protection against instruction skip attacks in general

Sample Instruction Replacement Sequences

Sample Instruction Replacement Sequences

Impact on Code Size

Simulation Studies

Experimental Set-Up

Experimental Results

Conclusions Infective countermeasures thwart DFA using single and double fault injections that do not alter the flow sequence Infective countermeasures are vulnerable to instruction skip attacks unless properly implemented Fault tolerance can be achieved at the instruction level using idempotent instructions

Disseminations S.Patranabis, A.Chakraborty and D.Mukhopadhyay. Fault Tolerant Infective Countermeasure for AES. In Security, Privacy, and Applied Cryptographic Engineering (SPACE) 2015

Thank You for your attention!!