Permutation Based Cryptography for IoT



Similar documents
Permutation-based encryption, authentication and authenticated encryption

Introduction to SHA-3 and Keccak

SHA3 WHERE WE VE BEEN WHERE WE RE GOING

Cryptography Lecture 8. Digital signatures, hash functions

Hash Function JH and the NIST SHA3 Hash Competition

Table of Contents. Bibliografische Informationen digitalisiert durch

Hash Function of Finalist SHA-3: Analysis Study

Length extension attack on narrow-pipe SHA-3 candidates

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Computer Security: Principles and Practice

Authentication requirement Authentication function MAC Hash function Security of

Comparison of seven SHA-3 candidates software implementations on smart cards.

A PPENDIX H RITERIA FOR AES E VALUATION C RITERIA FOR

Modern authenticated encryption

Message Authentication

Duplexing the sponge: single-pass authenticated encryption and other applications

lundi 1 octobre 2012 In a set of N elements, by picking at random N elements, we have with high probability a collision two elements are equal

Cryptography and Network Security Chapter 12

Network Security. Modes of Operation. Steven M. Bellovin February 3,

Cryptographic Hash Functions Message Authentication Digital Signatures

Network Security. Chapter 3 Symmetric Cryptography. Symmetric Encryption. Modes of Encryption. Symmetric Block Ciphers - Modes of Encryption ECB (1)

Lightweight Cryptography From an Engineers Perspective

ChaCha, a variant of Salsa20

Salsa20/8 and Salsa20/12

SECURITY IN NETWORKS

How encryption works to provide confidentiality. How hashing works to provide integrity. How digital signatures work to provide authenticity and

Ascon. Ch. Dobraunig 1, M. Eichlseder 1, F. Mendel 1, M. Schläffer 2. 22nd Crypto Day, Infineon, Munich. (A Submission to CAESAR)

Message Authentication Codes

HASH CODE BASED SECURITY IN CLOUD COMPUTING

2. Cryptography 2.4 Digital Signatures

The Misuse of RC4 in Microsoft Word and Excel

IPsec Details 1 / 43. IPsec Details

Introduction to Computer Security

Lecture 9: Application of Cryptography

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

IT Networks & Security CERT Luncheon Series: Cryptography

Chapter 8 Network Security. Slides adapted from the book and Tomas Olovsson

GCM-SIV: Full Nonce Misuse-Resistant Authenticated Encryption at Under One Cycle per Byte. Yehuda Lindell Bar-Ilan University

EXAM questions for the course TTM Information Security May Part 1

1 Step 1: Select... Files to Encrypt 2 Step 2: Confirm... Name of Archive 3 Step 3: Define... Pass Phrase

CIS433/533 - Computer and Network Security Cryptography

Cryptography and Network Security Chapter 11

Introduction to Cryptography CS 355

INFORMATION SECURITY A MULTIDISCIPLINARY. Stig F. Mjolsnes INTRODUCTION TO. Norwegian University ofscience & Technology. CRC Press

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Information Security

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

Security Protocols/Standards

Failures of secret-key cryptography. D. J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven.

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

Hash Functions. Integrity checks

Digital Signatures. Murat Kantarcioglu. Based on Prof. Li s Slides. Digital Signatures: The Problem

Chapter 8. Cryptography Symmetric-Key Algorithms. Digital Signatures Management of Public Keys Communication Security Authentication Protocols

ALE: AES-Based Lightweight Authenticated Encryption

Designing Hash functions. Reviewing... Message Authentication Codes. and message authentication codes. We have seen how to authenticate messages:

Cryptographic Algorithms and Key Size Issues. Çetin Kaya Koç Oregon State University, Professor

Security Engineering Part III Network Security. Security Protocols (I): SSL/TLS

C O M P U T E R S E C U R I T Y

Provable-Security Analysis of Authenticated Encryption in Kerberos

Communication Security for Applications

Final Exam. IT 4823 Information Security Administration. Rescheduling Final Exams. Kerberos. Idea. Ticket

Cryptography and Network Security, PART IV: Reviews, Patches, and Theory 1 / 53

Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs

Real-Time Communication Security: SSL/TLS. Guevara Noubir CSU610

Network Security Part II: Standards

Lecture Note 8 ATTACKS ON CRYPTOSYSTEMS I. Sourav Mukhopadhyay

Network Security Technology Network Management

CS155. Cryptography Overview

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

An Introduction to Cryptography as Applied to the Smart Grid

Managing and Securing Computer Networks. Guy Leduc. Chapter 4: Securing TCP. connections. connections. Chapter goals: security in practice:

Secure Shell SSH provides support for secure remote login, secure file transfer, and secure TCP/IP and X11 forwarding. It can automatically encrypt,

Public Key Cryptography Overview

The Advanced Encryption Standard: Four Years On

Authentication, digital signatures, PRNG

Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015

Performance Investigations. Hannes Tschofenig, Manuel Pégourié-Gonnard 25 th March 2015

Recommendation for Applications Using Approved Hash Algorithms

Internet Engineering Task Force (IETF) Request for Comments: Category: Standards Track ISSN: A. Langley Google June 2015

Announcement. Final exam: Wed, June 9, 9:30-11:18 Scope: materials after RSA (but you need to know RSA) Open books, open notes. Calculators allowed.

Privacy and Security in library RFID Issues, Practices and Architecture

Security. Learning Objectives. This module will help you...

Cryptosystems. Bob wants to send a message M to Alice. Symmetric ciphers: Bob and Alice both share a secret key, K.

Error oracle attacks and CBC encryption. Chris Mitchell ISG, RHUL

Outline. CSc 466/566. Computer Security. 8 : Cryptography Digital Signatures. Digital Signatures. Digital Signatures... Christian Collberg

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Secure Socket Layer. Carlo U. Nicola, SGI FHNW With extracts from publications of : William Stallings.

Accellion Secure File Transfer Cryptographic Module Security Policy Document Version 1.0. Accellion, Inc.

Client Server Registration Protocol

Key Hopping A Security Enhancement Scheme for IEEE WEP Standards

Network Security Web Security and SSL/TLS. Angelos Keromytis Columbia University

One-Way Encryption and Message Authentication

Transcription:

Permutation Based Cryptography for IoT Guido Bertoni 1 Joint work with Joan Daemen 1, Michaël Peeters 2 and Gilles Van Assche 1 1 STMicroelectronics 2 NXP Semiconductors CIoT 2012, Antwerp, November 21

Internet of Things Cryptographic Requirements Motivation Propose a cipher suite based on a single permutation and a public key primitive for the Internet of Things

Internet of Things Cryptographic Requirements Internet of Things Cryptographic Requirements One possibility for Internet of Things is the adoption of the Datagram Transport Layer Security Kind of adaptation of TLS for UDP Other possibilities, but overall DTLS can be seen as a good example of crypto requirements What we report here for DTLS can be easily adapted to other security protocols

Internet of Things Cryptographic Requirements (D)TLS cipher suite One of the suggested cipher suite for DTLS and TLS is the ECCGCM [RFC5289] ECC for DH key agreement and digital signature SHA2 for hash and HMAC for PRF AES and GHASH for authenticated encryption

Internet of Things Cryptographic Requirements Simplification Three different symmetric primitives A luxury that low-end devices would love to avoid! Use just one permutation for: hashing authenticated encryption pseudo random number generation key derivation function

Permutation-based crypto: the sponge construction Permutation-based construction: sponge f: a b-bit permutation with b = r + c efficiency: processes r bits per call to f security: provably resists generic attacks up to 2 c/2 Flexibility in trading rate r for capacity c or vice versa

Security of the sponge construction What can we say about sponge security Generic security: assuming f has been chosen randomly covers security against generic attacks construction as sound as theoretically possible Security for a specific choice of f security proof is infeasible Hermetic Sponge Strategy design with attacks in mind security based on absence of attacks despite public scrutiny

Applications What can you do with a sponge function? Regular hashing Pre-sponge permutation-based hash functions Truncated permutation as compression function: Snefru [Merkle 90], FFT-Hash [Schnorr 90], MD6 [Rivest et al. 2007] Streaming-mode: Subterranean, Panama, RadioGatún, Grindahl [Knudsen, Rechberger, Thomsen, 2007],

Applications What can you do with a sponge function? Message authentication codes Pre-sponge (partially) permutation-based MAC function: Pelican-MAC [Daemen, Rijmen 2005]

Applications What can you do with a sponge function? Stream encryption Similar to block cipher modes: Long keystream per IV: like OFB Short keystream per IV: like counter mode Independent permutation-based stream ciphers: Salsa and ChaCha [Bernstein 2007]

Applications What can you do with a sponge function? Mask generating function

Authenticated encryption Remember MAC generation Authenticated encryption: MAC generation

Authenticated encryption Remember stream encryption Authenticated encryption: encryption

Authenticated encryption And now together! Authenticated encryption: just do them both?

The duplex construction Sister construction of sponge opening new applications The duplex construction Object: D = duplex[f, pad, r] Requesting l-bit output Z = D.duplexing(σ, l) Generic security equivalent to that of sponge

The duplex construction The SpongeWrap mode SpongeWrap authenticated encryption Single-pass authenticated encryption Processes up to r bits per call to f Functionally similar to (P)helix [Lucks, Muller, Schneier, Whiting, 2004]

The duplex construction The SpongeWrap mode The SpongeWrap mode Key K, data header A and data body B of arbitrary length Confidentiality assumes unicity of data header Supports intermediate tags

The duplex construction The SpongeWrap mode The SpongeWrap mode SpongeWrap, two simple operations: D.initialize() D.duplexing(σ, l) Frame bits for separating the different stages [SAC 2011]

Sponge functions: are they real? Sponge functions exists! Keccak Bertoni, Daemen, SHA-3 25, 50, 100, 200 Peeters, Van Assche 2008 400, 800, 1600 Quark Aumasson, Henzen, CHES 136, 176 Meier, Naya-Plasencia 2010 256, 384 Photon Guo, Peyrin, Crypto 100, 144, 196, Poschmann 2011 256, 288 Spongent Bogdanov, Knezevic, CHES 88, 136, 176 Leander, Toz, Varici, 2011 248, 320 Verbauwhede

On the efficiency of permutation-based cryptography The lightweight taste Quark, Photon, Spongent: lightweight hash functions Lightweight is synonymous with low-area Easy to see why. Let us target security strength 2 c/2 Davies-Meyer block cipher based hash ( narrow pipe ) chaining value (block size): n c input block size (key length): typically k n feedforward (block size): n total state 3c Sponge ( huge state ) permutation width: c + r r can be made arbitrarily small, e.g. 1 byte total state c + 8

On the efficiency of permutation-based cryptography Permutations vs block ciphers Unique block cipher features pre-computation of key schedule storing expanded key costs memory may be prohibitive in resource-constrained devices misuse resistance issue: keystream re-use in stream encryption not required if nonces are affordable or available Unique permutation features diffusion across full state flexibility in choice of rate/capacity

Boosting keyed permutation modes Boosting keyed permutation modes Taking a closer look at rate/capacity trade-off keyed generic security is c a instead of c/2 with 2 a ranging from data complexity down to 1 allows increasing the rate Distinguishing vulnerability in keyed vs unkeyed modes in keyed modes attacker has less power allows decreasing number of rounds in permutation

Boosting keyed permutation modes Numeric example Say we have the following requirements: we have a permutation with width 200 bits we want to realize different functions desired security strength: 80 bits we assume active adversary, limited to 2 48 data complexity Collision-resistant hashing: c = 2 80 r = 40 SpongeWrap: c = 80 + 48 + 1 r = 71 MAC computation: c = 80 r = 120

Boosting keyed permutation modes Distinguishing vulnerability in keyed vs unkeyed modes Unkeyed modes weaker than keyed modes? MD5 hash function [Rivest 1992] unkeyed: collisions usable in constructing fake certificates [Stevens et al. 2009] keyed: very little progress in 1st pre-image generation Panama hash and stream cipher [Clapp, Daemen 1998] unkeyed: instantaneous collisions [Daemen, Van Assche 2007] keyed: stream cipher unbroken till this day Keccak crypto contest with reduced-round challenges unkeyed: collision challenges up to 4 rounds broken [Dinur, Dunkelman, Shamir 2012] keyed: 1st pre-image challenges up to 2 rounds broken [Morawiecki 2011]

Boosting keyed permutation modes Distinguishing vulnerability in keyed vs unkeyed modes Keccak-f: the permutations in Keccak Operates on 3D state: state y z x (5 5)-bit slices 2 l -bit lanes param. 0 l < 7 Round function with 5 steps: θ: mixing layer ρ: inter-slice bit transposition π: intra-slice bit transposition χ: non-linear layer ι: round constants Lightweight, but high diffusion # rounds: 12 + 2l for b = 2 l 25 12 rounds in Keccak-f[25] 24 rounds in Keccak-f[1600] High safety margin, even if unkeyed

Boosting keyed permutation modes Distinguishing vulnerability in keyed vs unkeyed modes Keccak: reference versions Keccak with default parameters: Keccak[] width b = 1600: largest version rate r = 1024: power of 2 gives generic security strength c/2 = 288 bits roughly 7 % slower than the Keccak SHA-3 256-bit candidate For performance see ebash, Athena, XBX, etc. Keccak[r=40, c=160] width b = 200: small state c = 160, generic security strength 80 bits gives rate of r = 40 roughly 2.4 more work per input/output bit than Keccak[]

Boosting keyed permutation modes Distinguishing vulnerability in keyed vs unkeyed modes Reduced-round versions of Keccak: Keccup For keyed modes use reduced-round versions of Keccak-f called Keccup[r, c, n] and Keccup-f[b, n] we assume that the multiplicity 2 a is below 2 64 Keccup for IoT state b = 200 rate r = 16 # rounds... see next slides

Boosting keyed permutation modes Introducing dedicated variants Introducing dedicated variants Sponge and duplex are generic constructions flexible and multi-purpose do not exploit mode-specific adversary limitations MAC computation before squeezing adversary has no information about state relaxes requirements on f during absorbing Authenticated encryption in presence of nonces nonce can be used to decorrelate computations Presented at [DIAC2012]

Boosting keyed permutation modes Introducing dedicated variants The monkeyduplex construction For authenticated encryption and keystream generation Initialization: key, nonce and strong permutation reduced number of rounds in duplex calls

Boosting keyed permutation modes Introducing dedicated variants Some monkeyduplex Keccup varieties n init = 12: dictated by chosen-input-difference attacks For b = 200 we proposed n duplex = 1: streaming mode b K c r n duplex n init speedup 200 80 184 16 1 12 7.2

Boosting keyed permutation modes Introducing dedicated variants Consideration 1: monkeyduplex and MAC generation Reduced number of round could give a low propagation from last input block to first squeezed block Attack: change one (or few) bits in the last block of the ciphert text and adapt the MAC with high probability Considered for donkeysponge (MAC) overlooked for monkeyduplex (AE)

Boosting keyed permutation modes Introducing dedicated variants Consideration 1: monkeyduplex and MAC generation The propagation of the duplex should be careful analysed Add a sufficient number of rounds before squeezing MAC Gives good diffusion and reduces the possibilities of the attacker If the size of the MAC is larger than the rate, the nominal duplex round is applied after the first block of MAC

Boosting keyed permutation modes Introducing dedicated variants Consideration 2: monkeyduplex and Key + Nonce size In the original proposal the size of (key + nonce) < b Depending on the size of b and protocol this might be too restrictive Review of the initial phase of the scheme as well

Boosting keyed permutation modes Introducing dedicated variants Reviewing monkeyduplex work in progress Define three interfaces of the duplex object D.initialize(K) D.crunching(σ, l): used to separate different phases D.duplexing(σ, l): all other cases The difference is the number of rounds of the Keccup-f

Proposal for IoT Practical proposals Public key, like ECC P192 (why this? see next line..) Keccak[r=8, c=192] as hash function for digital signature Keccak[r=8, c=192] for PRF rate can be increased to 40 bits if needed monkeyduplex D.initialize(K): Keccup[r=16, c=200, n=1] D.crunching(σ, l): Keccup[r=16, c=200, n=6] D.duplexing(σ, l): Keccup[r=16, c=200, n=1]

Proposal for IoT Performances Two interesting papers will be presented at Cardis 2012: Yalcin et al On the Implementation Aspects of Sponge-based Authenticated Encryption for Pervasive Devices Balasch et al Compact Implementation and Performance Evaluation of Hash Functions in ATtiny Devices (presented yesterday by Tim)

Proposal for IoT Performances comparison in Software What do you gain on ATtiny? Algorithm RAM code size cycle (10 3 ) (500 byte message) Keccak[] 244 868 716 Keccak[r=40, c=160] 48 752 1206 this proposal 48 752 180 AES v1 33 1659 140 AES Furios 192 1568 113 AES performances extrapolated from ECRYPT II web page (include multiple key schedules but no data integrity)

Proposal for IoT Performances comparison in Hardware What do you gain in hardware? Algorithm kgate cycle per byte Keccak[] 10 5 Keccak[r=40, c=160] 6.5 3.6 this proposal 6.5 0.5 AES 2.4 8.6 [Keccak Implementation] 130nm, area can be reduced increasing computational time For AES only encryption no data integrity

Proposal for IoT Don t forget, the Sponge can forget If you are worried about midgame [crypto 2012 rump session] where a powerful attacker can read your entire intermediate state but not your keys you may want to use the forget or overwrite mode.

Proposal for IoT Conclusions and Future Work Single permutation and a public key primitive satisfy all the cryptographic requirements of IoT Performance point of view: the monkeyduplex seems very attractive primitive detailed analysis of the number of round per permutation is highly recomended 400 bit permutation for 128 bit security against collision resistance? public key based on Sponge, we wish...

That s it, folks! Questions? Thanks for your attention! Q? More information on http://keccak.noekeon.org/ http://sponge.noekeon.org/