The Mechanical Cryptographer (Tolerant Algebraic Side-Channel Attacks using pseudo-Boolean Solvers) 1.

Slides:



Advertisements
Similar presentations
CLASSICAL ENCRYPTION TECHNIQUES
Advertisements

1 KCipher-2 KDDI R&D Laboratories Inc.. ©KDDI R&D Laboratories Inc. All rights Reserved. 2 Introduction LFSR-based stream ciphers Linear recurrence between.
Efficient Lattice (H)IBE in the standard model Shweta Agrawal, Dan Boneh, Xavier Boyen.
Evaluation and Validation
Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
Symmetric Encryption Prof. Ravi Sandhu.
Numeric Integration Methods Jim Van Verth Red Storm Entertainment
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
Chapter 1 Image Slides Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Analysis of Algorithms
Iterative Equalization and Decoding
February 21, 2002 Simplex Method Continued
Thursday, March 7 Duality 2 – The dual problem, in general – illustrating duality with 2-person 0-sum game theory Handouts: Lecture Notes.
Tuesday, March 5 Duality – The art of obtaining bounds – weak and strong duality Handouts: Lecture Notes.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Cryptography encryption authentication digital signatures
Maximal Independent Subsets of Linear Spaces. Whats a linear space? Given a set of points V a set of lines where a line is a k-set of points each pair.
SYMMETRIC CRYPTOSYSTEMS Symmetric Cryptosystems 6/05/2014 | pag. 2.
Quid-Pro-Quo-tocols Strengthening Semi-Honest Protocols with Dual Execution Yan Huang 1, Jonathan Katz 2, David Evans 1 1. University of Virginia 2. University.
Computing with adversarial noise Aram Harrow (UW -> MIT) Matt Hastings (Duke/MSR) Anup Rao (UW)
Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Block Cipher Modes of Operation and Stream Ciphers
Break Time Remaining 10:00.
1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.
Randomized Algorithms Randomized Algorithms CS648 1.
1 Chapter 10 Multicriteria Decision-Marking Models.
ABC Technology Project
Shadow Prices vs. Vickrey Prices in Multipath Routing Parthasarathy Ramanujam, Zongpeng Li and Lisa Higham University of Calgary Presented by Ajay Gopinathan.
© 2009 IBM Corporation IBM Research Xianglong Liu 1, Junfeng He 2,3, and Bo Lang 1 1 Beihang University, Beijing, China 2 Columbia University, New York,
Ideal Parent Structure Learning School of Engineering & Computer Science The Hebrew University, Jerusalem, Israel Gal Elidan with Iftach Nachman and Nir.
1 Adaptive Submodularity: A New Approach to Active Learning and Stochastic Optimization Joint work with Andreas Krause 1 Daniel Golovin.
15. Oktober Oktober Oktober 2012.
Solving Equations How to Solve Them
…We have a large reservoir of engineers (and scientists) with a vast background of engineering know-how. They need to learn statistical methods that can.
Squares and Square Root WALK. Solve each problem REVIEW:
We are learning how to read the 24 hour clock
Optimization 1/33 Radford, A D and Gero J S (1988). Design by Optimization in Architecture, Building, and Construction, Van Nostrand Reinhold, New York.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Chapter 5 Test Review Sections 5-1 through 5-4.
25 seconds left…...
2 x0 0 12/13/2014 Know Your Facts!. 2 x1 2 12/13/2014 Know Your Facts!
We will resume in: 25 Minutes.
2 x /18/2014 Know Your Facts!. 11 x /18/2014 Know Your Facts!
2 x /10/2015 Know Your Facts!. 8 x /10/2015 Know Your Facts!
1 Lecture 5 PRAM Algorithm: Parallel Prefix Parallel Computing Fall 2008.
5 x4. 10 x2 9 x3 10 x9 10 x4 10 x8 9 x2 9 x4.
Parallel algorithms for expression evaluation Part1. Simultaneous substitution method (SimSub) Part2. A parallel pebble game.
Linear Programming – Simplex Method: Computational Problems Breaking Ties in Selection of Non-Basic Variable – if tie for non-basic variable with largest.
The Problem of K Maximum Sums and its VLSI Implementation Sung Eun Bae, Tadao Takaoka University of Canterbury Christchurch New Zealand.
Multivariate Statistical Process Control and Optimization
Multiplication Facts Practice
Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)
Chapter 8: The Solver and Mathematical Programming Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
Computational Facility Layout
Shannon Expansion Given Boolean expression F = w 2 ’ + w 1 ’w 3 ’ + w 1 w 3 Shannon Expansion of F on a variable, say w 2, is to write F as two parts:
Graeme Henchel Multiples Graeme Henchel
Quiz Number 2 Group 1 – North of Newark Thamer AbuDiak Reynald Benoit Jose Lopez Rosele Lynn Dave Neal Deyanira Pena Professor Kenneth D. Lawerence New.
0 x x2 0 0 x1 0 0 x3 0 1 x7 7 2 x0 0 9 x0 0.
MULTIPLICATION OF INTEGERS
Adding & Subtracting Mixed Numbers. Objective: To develop fluency in +, –, x, and ÷ of non-negative rational numbers. Essential Question: How.
SAT Solver CS 680 Formal Methods Jeremy Johnson. 2 Disjunctive Normal Form  A Boolean expression is a Boolean function  Any Boolean function can be.
T-SPaCS – A Two-Level Single-Pass Cache Simulation Methodology + Also Affiliated with NSF Center for High- Performance Reconfigurable Computing Wei Zang.
7x7=.
Practical Template-Algebraic Side Channel Attacks with Extremely Low Data Complexity 1.
By Claudia Fiorini, Enrico Martinelli, Fabio Massacci
Algebraic Side-Channel Attacks Beyond the Hamming Weight Leakage Model 1.
Presentation transcript:

The Mechanical Cryptographer (Tolerant Algebraic Side-Channel Attacks using pseudo-Boolean Solvers) 1

Why is this so hard? 2 AES Plaintext Ciphertext Key

So why are block ciphers secure? The ciphertext is a function of the plaintext and the key The plaintext is a function of the ciphertext and the key The key is a function of the plaintext and the ciphertext Where’s the catch? 3 AES P C K

So why are block ciphers secure? The ciphertext is an efficiently representable function of the plaintext and the key The key cannot be efficiently represented as a function of the plaintext and the ciphertext Inefficiently representable functions take either a huge space or a long time to evaluate 4

5 Solver Set of m logical statements over n variables x 1, …,x n Satisfying assignment (or proof of unsatisfiability)

Cryptanalysis with Solvers Idea: Use solvers to perform cryptanalysis [MM ‘00]: – Given a description of a crypto algorithm and a set of plaintext and ciphertext pairs, find the cryptographic key Result: Modern crypto is strong enough to resist solvers 6 Massacci and Marraro, Journal of Automated Reasoning 2000

From Cryptanalysis to Power Analysis Cryptanalysis: Given a description of a cryptographic algorithm and a set of plaintext and ciphertext pairs, find the cryptographic key 7 AES Plaintext Ciphertext Key

8 AES Plaintext Ciphertext Key Power Trace AES Device

From Cryptanalysis to Power Analysis Power Analysis: Given a description of a crypto device, plaintexts, ciphertexts and a set of power traces, find the cryptographic key 9 AES Plaintext Ciphertext Key Power Trace AES Device

Theory of power analysis Power consumption is variable Different instructions ⇒ different power consumption Different data ⇒ different power consumption Analysing power consumption ⇒ learn about instructions and data 10 Reverse Engineering Key Recovery

Power Consumption is Variable? Photo credit: Sergey Peterman,

Side-Channel Analysis with Solvers Idea: Use solvers to perform side-channel analysis [PRR+ ’07 & RSV-C‘09] Result: key can be recovered from side channel data if there are no errors in the side-channel trace but… 12 Potlapally, Raghunathan, Ravi, Jha, Lee IEEE Trans. VLSI 2007 Renauld, Standaert, Veyrat-Charvillon CHES 2009

The Harsh Reality of Power Analysis Measurement Noise V dd GND a A P1 C1 C2 N1 Switching Noise Electronic Noise Output Power Trace

The Information-Robustness Tradeoff 14

Measurement Space 15 Precise measurement Actual measurement

The Harsh Reality of Power Analysis The side channel traces have errors Equation set with errors causes unsatisfiability Compensating for errors causes intractability 16

From solvers to optimizers Basic idea: Some mistakes are more expensive than others In our context: Given a description of a crypto device, plaintexts, ciphertexts and a set of power traces, find the cryptographic key that minimizes the estimated error Solver Set of m logical statements over n variables x 1, …,x n Satisfying assignment Optimizer Goal function Optimal

Measurement Space 18 Point is #680 most probable out of 65,536

Pseudo-Boolean Optimizers Linear PBOPT: (all coefficients are signed integers) Non-linear PBOPT allows NL constraints 19

Sample OPB Instance 20 min: x1 +3 x2 + x3 ; x1 +2 x2 + x3 >= 2 ; min: x1 +3 x2 + x3 ; x1 +2 x2 + x3 >= 2 ;

PBOPT is Great for Side-Channels The variables (=flipflops) are pseudo-Boolean The constraints(=measurements) are integers NL notation rich enough to represent arbitrary functions (such as XORs) 21 NOR: -out + ~x 1 ~x 2 = 0 XOR: -out + x 1 + x 2 -2 x 1 x 2 = 0 Keeloq NLF: -~out +x 1 x 5 -x 5 -x 1 x 3 -x 2 x 3 -x 4 +x 2 x 5 +x 3 x 4 +x 4 x 5 +x 1 x 2 x 3 +x 1 x 2 x 4 -2x 1 x 2 x 5 +x 1 x 3 x 5 -x 1 x 4 x 5 = -1 NOR: -out + ~x 1 ~x 2 = 0 XOR: -out + x 1 + x 2 -2 x 1 x 2 = 0 Keeloq NLF: -~out +x 1 x 5 -x 5 -x 1 x 3 -x 2 x 3 -x 4 +x 2 x 5 +x 3 x 4 +x 4 x 5 +x 1 x 2 x 3 +x 1 x 2 x 4 -2x 1 x 2 x 5 +x 1 x 3 x 5 -x 1 x 4 x 5 = -1

PBOPT has a good goal function Max product of aposteriori probabilities becomes min sum of log probabilities: 22 min: +6 x_is_ x_is_ x_is_ x_is_03; +1 ˜ x_is_00 +1 ˜ x0 ˜ x1 ˜ x2 ˜ x3 ˜ x4 ˜ x5 ˜ x6 ˜ x7 = 1; +1 ˜ x_is_01 +1 x0 ˜ x1 ˜ x2 ˜ x3 ˜ x4 ˜ x5 ˜ x6 ˜ x7 = 1; +1 ˜ x_is_02 +1 ˜ x0 x1 ˜ x2 ˜ x3 ˜ x4 ˜ x5 ˜ x6 ˜ x7 = 1; +1 ˜ x_is_03 +1 x0 x1 ˜ x2 ˜ x3 ˜ x4 ˜ x5 ˜ x6 ˜ x7 = 1; +1 x_is_00 +1 x_is_01 +1 x_is_02 +1 x_is_03 = 1; min: +6 x_is_ x_is_ x_is_ x_is_03; +1 ˜ x_is_00 +1 ˜ x0 ˜ x1 ˜ x2 ˜ x3 ˜ x4 ˜ x5 ˜ x6 ˜ x7 = 1; +1 ˜ x_is_01 +1 x0 ˜ x1 ˜ x2 ˜ x3 ˜ x4 ˜ x5 ˜ x6 ˜ x7 = 1; +1 ˜ x_is_02 +1 ˜ x0 x1 ˜ x2 ˜ x3 ˜ x4 ˜ x5 ˜ x6 ˜ x7 = 1; +1 ˜ x_is_03 +1 x0 x1 ˜ x2 ˜ x3 ˜ x4 ˜ x5 ˜ x6 ˜ x7 = 1; +1 x_is_00 +1 x_is_01 +1 x_is_02 +1 x_is_03 = 1;

The TASCA Workflow 23 DUT Secret Key Optimizer Aposteriori Probs. Traces Decoder Power Model Reverse Eng.

An Attack on AES Solver: SCIP Cryptosystem: AES-128 on 8-bit platform Number of measurements: 100 Noise SNR: approx. 10dB Median solving time: 342 seconds Key recovery success rate: 100% 24

Conclusions Using optimizers, crypto devices can be attacked with very low data complexity Any leak can be used, as long as a “soft decoder” exists for it This calls into question the security of previously “safe” devices 25

Future Work Investigate different decoders Investigate different leakage models Establish limits for data/computation tradeoffs for successful key extraction 26

Thank you! 27