AES Side Channel Attacks

Slides:



Advertisements
Similar presentations
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.
Advertisements

Virtual Memory 1 Computer Organization II © McQuain Virtual Memory Use main memory as a cache for secondary (disk) storage – Managed jointly.
Origins  clear a replacement for DES was needed Key size is too small Key size is too small The variants are just patches The variants are just patches.
Differential Fault Analysis on AES Variants Kazuo Sakiyama, Yang Li The University of Electro-Communications Nagoya, Japan.
Chap. 5: Advanced Encryption Standard (AES) Jen-Chang Liu, 2005 Adapted from lecture slides by Lawrie Brown.
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
1 CIS 5371 Cryptography 5b. Pseudorandom Objects in Practice Block Ciphers.
Cryptography and Network Security Chapter 5 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Chapter 5
The Advanced Encryption Standard (AES) Simplified.
Cryptography and Network Security
1 The AES block cipher Niels Ferguson. 2 What is it? Block cipher: encrypts fixed-size blocks. Design by two Belgians. Chosen from 15 entries in a competition.
Advanced Encryption Standard(AES) Presented by: Venkata Marella Slide #9-1.
AES clear a replacement for DES was needed
Full AES key extraction in 65 milliseconds using cache attacks
Advanced Encryption Standard. This Lecture Why AES? NIST Criteria for potential candidates The AES Cipher AES Functions and Inverse Functions AES Key.
Cryptography and Network Security (AES) Dr. Monther Aldwairi New York Institute of Technology- Amman Campus 10/18/2009 INCS 741: Cryptography 10/18/20091Dr.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
Cryptography and Network Security Chapter 5. Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know.
Cryptography and Network Security Chapter 5 Fourth Edition by William Stallings.
ICS 454 Principles of Cryptography Advanced Encryption Standard (AES) (AES) Sultan Almuhammadi.
Lecture 23 Symmetric Encryption
CS470, A.SelcukAfter the DES1 Block Ciphers After the DES CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Dr. Lo’ai Tawalbeh 2007 Chapter 5: Advanced Encryption Standard (AES) Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
The Digital Encryption Standard CSCI 5857: Encoding and Encryption.
Kevin Orr JT Schratz AES ENCRYPTION. OVERVIEW History Algorithm Uses Brute Force Attack.
Study of AES Encryption/Decription Optimizations Nathan Windels.
Chapter 5 Advanced Encryption Standard. Origins clear a replacement for DES was needed –have theoretical attacks that can break it –have demonstrated.
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami 2 nd Semester
Cryptography and Network Security
Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know what the key is it's virtually indecipherable."
9/17/15UB Fall 2015 CSE565: S. Upadhyaya Lec 6.1 CSE565: Computer Security Lecture 6 Advanced Encryption Standard Shambhu Upadhyaya Computer Science &
Advance Encryption Standard. Topics  Origin of AES  Basic AES  Inside Algorithm  Final Notes.
Information Security Lab. Dept. of Computer Engineering 122/151 PART I Symmetric Ciphers CHAPTER 5 Advanced Encryption Standard 5.1 Evaluation Criteria.
Dan Boneh Block ciphers The AES block cipher Online Cryptography Course Dan Boneh.
LOGO Hardware side of Cryptography Anestis Bechtsoudis Patra 2010.
Rijndael Advanced Encryption Standard. Overview Definitions Definitions Who created Rijndael and the reason behind it Who created Rijndael and the reason.
Feistel Cipher Structure
The Latest Attacks on AES Mehrdad Abdi 1 بسم الله الرحمن الرحیم.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
AES Advanced Encryption Standard. Requirements for AES AES had to be a private key algorithm. It had to use a shared secret key. It had to support the.
 Cryptography is the science of using mathematics to encrypt and decrypt data.  Cryptography enables you to store sensitive.
AES (Advanced Encryption Standard) By- Sharmistha Roy M.Tech, CSE 1 st semester NIT, Agartala.
Hardware-Software Integrated Approaches to Defend Against Software Cache-based Side Channel Attacks Jingfei Kong* University of Central Florida Onur Acıiçmez.
Advanced Encryption Standard. Origins NIST issued a new version of DES in 1999 (FIPS PUB 46-3) DES should only be used in legacy systems 3DES will be.
Exploiting Cache-Timing in AES: Attacks and Countermeasures Ivo Pooters March 17, 2008 Seminar Information Security Technology.
Lecture 23 Symmetric Encryption
Cryptography Lecture 17: Advanced Encryption Standard (AES) Piotr Faliszewski.
Cache Attacks and Countermeasures:
Fifth Edition by William Stallings
Chapter 2 (C) –Advanced Encryption Standard. Origins clearly a replacement for DES was needed –have theoretical attacks that can break it –have demonstrated.
Advanced Encryption Standard Dr. Shengli Liu Tel: (O) Cryptography and Information Security Lab. Dept. of Computer.
Module :MA3036NI Symmetric Encryption -4 Lecture Week 5.
Final Presentation Encryption on Embedded System Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Spring 2014 Part B.
Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 7 September 9, 2004.
The Advanced Encryption Standard Part 1: Overview
Zong-Cing Lin 2007/10/31.  Algorithm Description  Why chose Rijndael  Reference.
Triple DES.
School of Computer Science and Engineering Pusan National University
Virtual Memory Use main memory as a “cache” for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs share main.
Parallel Analysis of the Rijndael Block Cipher
Advanced Encryption Standard
Advanced Encryption Standard
CSCE 715: Network Systems Security
CSCE 715: Network Systems Security
Cryptography and Network Security Chapter 5 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
SOHAIL SHAHUL HAMEED Dr. BHARGAVI GOSWAMI
Advanced Encryption Standard
Presentation transcript:

AES Side Channel Attacks Biru Cui Sam Skalicky

Outline AES algorithm Side channel attacks Side channel attack against AES Cache-collision timing attack against AES Countermeasures

AES Algorithm Key Expansion Initial Round Rounds Add Round Key – bitwise xor Rounds Sub Bytes - Sbox Shift Rows – rows shifted cyclically Mix Columns – mixing operation on the columns AddRoundKey Final Round (no Mix Columns) Sub Bytes Shift Rows Add Round Key

Rijndel Starting Data

Rijndel AES Steps

Rijndel Sub Bytes

Rijndel Shift Rows

Rijndel Mix Columns

Rijndel Add Round Key

AES Algorithm AES Lookup Table Optimizations Transposed State by Bertoni Speedup in decryption CAM based by Li Combined Sbox& inv Sbox into single table FPGA implementations Pre-computed GF ops in LUTs

Attacks on AES Brute force Related Key Side Channel

Side Channel Attacks Attacks through some implementation deficiency Timing of computations Power Analysis Fault Injection Electromagnetic Radiation Acoustic Cryptanalysis Cache

Cache-collision timing attack against AES Hit Miss Time

Process Operation Cache observation CFS - Scheduler Victim Process Spy Process scenario underlying such attacks is a follows: Consider two concurrently running processes (a spy process S and a security sensitive victim process V ) using the same cache. After letting V run for some small amount of time and potentially letting it change the state of the cache, S observes the timings of its own memory accesses, which depend on the state of the cache. These measurements allow S to infer information about the memory locations previously accessed by V . Cache

AES Cache Side Channel Attack Key recovery after observing ~100 encryptions Implementation in Linux against OpenSSL 0.9.8n Program does not require special privileges on the host machine Linux kernel task scheduler compromised Observe every memory access (CFG) Completely Fair Scheduler

AES Cache Attack Features No heuristic info about plain/cyphertexts Works against compressed tables 2 phase operation: Observation ~100 encryptions ~2-3 seconds Analysis ~3 minutes

Process Operation Cache observation CFS - Scheduler Victim Process Spy Process scenario underlying such attacks is a follows: Consider two concurrently running processes (a spy process S and a security sensitive victim process V ) using the same cache. After letting V run for some small amount of time and potentially letting it change the state of the cache, S observes the timings of its own memory accesses, which depend on the state of the cache. These measurements allow S to infer information about the memory locations previously accessed by V . Cache

Cache-collision timing attack against AES AES: operations on each byte

Cache-collision timing attack against AES System information Pentium III 1.0 GHz L1 cache 32K (split data/instr.) L2 cache 256K “T” lookup table size 256x256=64k Implication If the table is fully loaded in the cache, then there is no cache miss. This is important for why we can do first round and final round attack.

Cache-collision timing attack against AES AES: the computation of every round

Actual Results, Pentium III What are you going to say about this slide?

Cache-collision timing attack against AES Table Key xor Plaintext … [6]

Cache-collision timing attack against AES Table Key xor Plaintext … If a plaintext byte is known, as well as a first-round table lookup, a key byte is learned [6]

Cache-collision timing attack against AES First Round Attack Spy process flush the cache The lookup table is not in the cache. In other words, the cache collision is only due to same lookup table access index.

Cache-collision timing attack against AES First Round Attack

Cache-collision timing attack against AES First Round Attack If cache hits ( access time less than average access time) Counts the average encryption time for all and pair. If there is a low average time occurs for a pair and , there is high probability that .

Cache-collision timing attack against AES Final Round Attack The final round lookup table is different from previous lookup table , so there is no in the cache. And if there is a collision, it’s due to same lookup table index.

Cache-collision timing attack against AES Final Round Attack No MixColumns operations

Cache-collision timing attack against AES Final Round Attack

Cache-collision timing attack against AES Final Round Attack If cache hits ( access time less than average access time) Counts the average encryption time for all and pair. If there is a low average time occurs for a pair and , there is high probability that .

Cache-collision timing attack against AES Result Attack Encryptions needed Sample type Bernstein Plaintext/timing Tesunoo First/Final round attack

Countermeasures AES can be performed without using lookup tables Give OS ability to partition cache between processes Put AES table into ROM, add special instructions Separate AES hardware on chip (new Intel CPUs)

References [1] Rijndel flash movie: http://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndael_ingles2004.swf [2] G. Bertoni, et al.,"Efficient Software Implementation of AES on 32-Bit Platforms” [3] H. Li, "A New CAM Based S/S−1-Box Look-up Table in AES” [4] M. McLoone et al. "Rijndael FPGA Implementations Utilising Look-Up Tables” [5] D. Gullasch et al. "Cache Games – Bringing Access-Based Cache Attacks on AES to Practice“ [6] J. Bonneau et al. “Cache-Collision Timing Attacks Against AES” [7] Dag Arne Osvik et al. “Cache Attacks and Countermeasures: the Case of AES”

Backup slides

Original Mix Columns Equations

Revised Mix Columns Equations here the operator * denotes a set of 4 ordinary multiplications in the field GF(28), per- formed in parallel on the 4 bytes of each 32-bits word. The generator polynomial used for representing the field GF(28) is the standard one of AES.

FPGA LUT Implementation