White-Box Cryptography

Slides:



Advertisements
Similar presentations
Lecture 5: Cryptographic Hashes
Advertisements

CS470, A.SelcukStream Ciphers1 CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (3) Information Security.
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
1 Lecture 3: Secret Key Cryptography Outline concepts DES IDEA AES.
Differential Power Analysis of Smartcards How secure is your private information? Author: Ryan Junee Supervisor: Matt Barrie.
Cryptography and Network Security Chapter 3
Block Ciphers and the Data Encryption Standard
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.
Rachana Y. Patil 1 Data Encryption Standard (DES) (DES)
Data Encryption Standard (DES)
First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown and edited by Archana Chidanandan Cryptographic Tools.
Chapter 5 Cryptography Protecting principals communication in systems.
Chapter 4  Hash Functions 1 Overview  Cryptographic hash functions are functions that: o Map an arbitrary-length (but finite) input to a fixed-size output.
Full AES key extraction in 65 milliseconds using cache attacks
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
Cryptography (continued). Enabling Alice and Bob to Communicate Securely m m m Alice Eve Bob m.
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
ICS 454: Principles of Cryptography
Computer Networking Lecture 21: Security and Cryptography Thanks to various folks from , semester’s past and others.
Dr Alejandra Flores-Mosri Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the.
Lecture 23 Symmetric Encryption
Radu Muresan CODES+ISSS'04, September 8-10, 2004, Stockholm, Sweden1 Current Flattening in Software and Hardware for Security Applications Authors: R.
CS 591 C3S C ryptography & S teganography S ecure S ystem By: Osama Khaleel.
Cryptanalysis on Substitution- Permutation Networks Jen-Chang Liu, 2005 Ref: Cryptography: Theory and Practice, D. R. Stinson.
8: Network Security8-1 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key: K r e.g., key is knowing substitution.
Chapter 13: Electronic Commerce and Information Security Invitation to Computer Science, C++ Version, Fourth Edition SP09: Contains security section (13.4)
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Cryptography Week-6.
Cryptanalysis. The Speaker  Chuck Easttom  
A Cryptography Education Tool Anna Yu Department of Computer Science College of Engineering North Carolina A&T State University June 18, 2009.
CSCI 5857: Encoding and Encryption
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (1) Information Security.
One-Time Pad Or Vernam Cipher Sayed Mahdi Mohammad Hasanzadeh Spring 2004.
CHAPTER 6 Cryptography. An Overview It is origin from the Greek word kruptos which means hidden. The objective is to hide information so that only the.
Chapter 20 Symmetric Encryption and Message Confidentiality.
Cryptography, Authentication and Digital Signatures
Digital image processing is the use of computer algorithms to perform image processing on digital images which is a subfield of digital signal processing.
Chapter 20 Symmetric Encryption and Message Confidentiality.
30.1 Chapter 30 Cryptography Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Applying White-Box Cryptography SoBeNet user group meeting October 8, 2004 Brecht Wyseur.
Cracking DES Cryptosystem A cryptosystem is made of these parts: Two parties who want to communicate over an insecure channel An encryption algorithm that.
Cryptographic Attacks on Scrambled LZ-Compression and Arithmetic Coding By: RAJBIR SINGH BIKRAM KAHLON.
Cryptography Team Presentation 2
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 2 – Cryptographic.
“Implementation of a RC5 block cipher algorithm and implementing an attack on it” Cryptography Team Presentation 1.
Description of a New Variable-Length Key, 64-Bit Block Cipher (BLOWFISH) Bruce Schneier BY Sunitha Thodupunuri.
Lecture 2: Introduction to Cryptography
Exploiting Cache-Timing in AES: Attacks and Countermeasures Ivo Pooters March 17, 2008 Seminar Information Security Technology.
Lecture 23 Symmetric Encryption
1 Symmetric key cryptography: DES DES: Data Encryption Standard US encryption standard [NIST 1993] 56-bit symmetric key, 64 bit plaintext input How secure.
CRYPTOGRAPHY PRESENTED BY : NILAY JAYSWAL BRANCH : COMPUTER SCIENCE & ENGINEERING ENTRY NO. : 14BCS033 1.
DES Analysis and Attacks CSCI 5857: Encoding and Encryption.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
5.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 5 Introduction to Modern Symmetric-key Ciphers.
CS519, © A.SelcukDifferential & Linear Cryptanalysis1 CS 519 Cryptography and Network Security Instructor: Ali Aydin Selcuk.
Invitation to Computer Science 5 th Edition Chapter 8 Information Security.
DES: Data Encryption Standard
Lecture 3 Overview. Ciphers The intent of cryptography is to provide secrecy to messages and data Substitutions – ‘hide’ letters of plaintext Transposition.
Network Security Lecture 3 Secret Key Cryptography
Block Ciphers and the Data Encryption Standard. Modern Block Ciphers  One of the most widely used types of cryptographic algorithms  Used in symmetric.
Lecture 3 Page 1 CS 236 Online Introduction to Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 5 Page 1 CS 236 Online More on Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Information and Network Security Lecture 2 Dr. Hadi AL Saadi.
Lecture 4 Data Encryption Standard (DES) Dr. Nermin Hamza
Hiding Information, Encryption, and Bypasses
Modern Cryptography.
Presentation transcript:

White-Box Cryptography

Outline Motivation White-Box Cryptography White-Box Implementation White-Box In Practice Conclusion

Motivation Cryptography is widely used nowadays, attack still exists. Black-Box Attack Model White-Box Attack Model

Black-Box Attack Model Tries to deduce the key from a list {(plaintext, ciphertext)}

Black-Box Attack Model Side-channel Attack Executing time Electromagnetic radiation Power consumption

White-Box Attack Model Attacker has full control over software execution Full access to the implementation of cryptography algorithm Full access to the platform: CPU calls, memory, registers, etc. Binary completely visible Can manipulate the execution

White-Box Attack Model Target for attack Implementation of cryptography Secret key

White-Box Attack Example Key Whitening Attack Zero lookup tables(such as S-box) using hex editor Getting output of penultimate operation Original AES key easily be derived

White-Box Attack Example Entropy Attack Object: Computer Memory Keys: usually chose by random generator Code: contains structure

White-Box Attack Example Format Analysis Analyze binary code

White-Box Attack Example Code Boot Attack Applicable to Bitlocker, TrueCrypt, FileVault TrueCrypt boot loader Password entered at boot time Disk encryption key needs to be stored in memory Attack: exploit data remanency property of DRAM, cooling increase time Removed & inserted into another hacked machine to read data, such as crypto keys

Outline Motivation White-Box Cryptography White-Box Implementation White-Box In Practice Conclusion

Object Hide a cryptography key in a white-box implementation

A Naive Example Implement a cipher as one big lookup table No more information ‘leaks’ from the set of {(plaintext, ciphertext)} Lookup Table size: For n-bit block cipher, size would be n*2n bit 32 bit: 232*32 bit =237 bit=4 GBytes Using a network of lookup table instead void encrypt (uint32_t* plaintext, uint32_t* ciphertext) { char S[] = { 0x9e37b8e9, 0xaf48c9fa, 0x8d26a7d8, … }; /* Sbox */ ciphertext = S[plaintext]; }

What is White-Box Cryptography? Definition Dwb(m): need ONE input Dk(m): need TWO input Essentially, Dwb(m) is the exclusive edition of Dk(m) with specific cipher key.

What is White-Box Cryptography? Main Idea Embed both the fixed key & random data in a composition. Hard to derive the original key. Attacker knows which crypto algorithm Attacker knows where in the memory Attacker knows where in the application

What is White-Box Cryptography? State of Art Unfortunately, there is no white-box cryptography proved to be secure Current best method: hide keys according to characteristics of the specific crypto algorithm Only white-box DES & AES published Both have been broken No academic paper on asymmetric primitives

What is White-Box Cryptography? State of Art Interesting: After some company buying white-box crypto solutions, they mix their own crypto, which is not recommended in crypto application. For white-box crypto, this is reasonable. Security of white-box crypto depends on how hard the cipher key is hidden, not the cipher primitives.

Outline Motivation White-Box Cryptography White-Box Implementation White-Box In Practice Conclusion

First White-Box Implementation Chow et al. 2002. A White-Box DES Implementation for DRM Applications Chow et al. 2002. White-Box Cryptography and an AES Implementation

Original DES Basic operations: Replacing, Changing places, XOR Chow, et al.: Transform to randomized networked lookup tables closely related to the crypto key

White-Box DES Transform a cipher into a series of key-dependent lookup tables. Secret key is hard-code into the lookup tables Protected by randomization techniques

Lookup Tables Example Lookup Tables: define every input & output Any finite function can transform to a lookup table Table A: Replacing Operation Table B: XOR Operation Table C: Negative Operation

Lookup Tables Example All basic primitives in DES transform into lookup tables:

Divide and Conquer Attacker may recognize every lookup table and analyze each basic operation. Mix 3 tables into 1 big lookup table:

Divide and Conquer BUT, the lookup table will become very huge. For n bits input & m bits output, 2n×m bits is required. Solution: we need a series of networked lookup tables: L1 ◦ L2 ◦ L3 ◦ …

Partial Evaluation Chow, et al. adopted partial evaluation to mix crypto keys with algorithm. Dskey(m)  Dwb(m) In DES: Some operation is fixed (e.g. changing place)  Corresponding lookup tables are fixed -------- not affected by crypto keys Some operation is NOT fixed (e.g. replacing using crypto key)  Corresponding lookup tables are NOT fixed -------- affected by crypto keys Attacker can distinguish the unfixed lookup tables by analyzing each table We need to randomize every lookup table Making distinguishing more difficult

Internal Encodings Considering 3 consecutive lookup tables in the network: L3◦L2◦L1, L2 contains some key information. e.g. L2(x)=x⊕k Every lookup table is available to the white-box attacker The key information can be extracted directly e.g. L2(0)

Internal Encodings Countermeasure: Add internal encoding: b1, b2: randomization operations b1-1, b2-1: opposite operations L’3◦ L’2◦ L’1= L3◦b2-1◦b2◦ L2◦b1-1◦b1◦ L1= L3◦ L2◦ L1 Now, L’2 does not leak any key information Attacker have to analyze all 3 encoded tables to gain information

Outline Motivation White-Box Cryptography White-Box Implementation White-Box In Practice Conclusion

Code Lifting Attacker: No need to know internal details, just need API. Embed the white-box implementation into his App. Still encrypt/decrypt data as having the key.

External Encodings Same as Internal Encodings. But not between 2 blocks inside cryptography implementation But outside Annihilating encoding somewhere else e.g. incorporate into the decryption functions

Traitor Tracing Object: Detect who has been sharing code (pirate) Use case: DRM Insert fingerprints into white-box implementation Can also be used in software tamper resistance Malware instructions can be detected Any modification leads to lookup tables collapse

Conclusion Being used in real-world application, mainly DRM apps. Although academic attacks have been published No attacks on commercial white-box implementation have been seen. White-box cryptography still in its early days Requires further research before being widely adopted.