32
1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

Embed Size (px)

Citation preview

Page 1: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

1

Introduction to Information Security0368-3065, Spring 2015

Lecture 6:Applied cryptography: symmetric

Eran Tromer

Slides credit:John Mitchell, Stanford

Page 2: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

2

Cryptography overview

Page 3: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

3

History of crypto

• Ceaser cipher

• Electromechanical ciphers(e.g., Enigma)

• Informationtheory

• Complexitytheory

• Moderncryptography

Page 4: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

4

Cryptography

Is A tremendous tool The basis for many security

mechanisms

Is not The solution to all security problems Reliable unless implemented properly Reliable unless used properly Something you should try to invent

yourself unless you spend a lot of time becoming an

expert you subject your design to outside review

Page 5: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

5

Scenarios

Storage• Store files privately• Protect files from tampering

Communication• Avoid eavesdropping• Avoid corruption• “Secure channel”

Authentication Many protocols

Page 6: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

6

Cryptographic primitives

Primitive: syntax and semantics of some cryptographic functionality.A scheme/protocol/algorithm may be an instance of the primitive.Example claim: “AES-128-CBC is a secure symmetric encryption scheme”.

Most common cryptographic primitives (very informally): Encryption: confidentiality

Adversary cannot learn anything about message from its encrypted form.• Symmetric (cipherblock ciphers, stream ciphers)• Asymmetric

Digital Signatures: integrity/authenticationAdversary cannot fake a signature that passes verification.• Symmetric (Message Authentication Code)• Asymmetric

Hashing:Summarizing messages into “unique” short digestsAdversary cannot find messages with the same digest.

Page 7: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

7

Symmetric cryptography schemes

Page 8: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

8

Symmetric encryption

8

E, D: cipher k: secret key (e.g., 128 bits)m: plaintext n: nonce / randomness / c: ciphertext initial vector (IV)

Kerckhoff’s PrincipleA cryptosystem should be secure even if everything about the system, except the key, is public knowledge.(Never use a proprietary cipher)

Alice

Em, n E(k,m,n)=c

Bob

Dc,n D(k,c,n)=m

k k

Keygeneration

Page 9: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

9 9

First example: One Time Pad (single use key)

Vernam (1917)

Shannon (1949): OTP is “secure” against ciphertext-only

attacks

0 1 0 1 1 1 0 0 01Key:

1 1 0 0 0 1 1 0 00Plaintext:

1 0 0 1 1 0 1 0 01Ciphertext:

Page 10: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

10 10

Stream ciphers (single use key)

Problem: OTP key is as long the messageSolution: XOR with a pseudorandom seed:

key

PRBG

message

ciphertext

c PRBG(k) m

stream

Really random (physical source)

Pseudorandom string

PRBG: “Pseudo-Random Bit Generator”AKA

PRG: “Pseudo-Random Generator”

Well-known algorithms: • RC4, RC5 (not secure

anymore), • AES in counter mode

Page 11: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

11

RC4 stream cipher [Rives 1987]

for i = 0..255: S[i] = ij = 0for i = 0 to 255

j = j + S[i] + key[i]swap (S[i], S[j])

i, j = 0repeat:

i = i + 1j = j + S[i] swap (S[i], S[j])output to stream: S[ S[i] + S[j] ]

Key setup

2 123

134

24

1 218

53 …

0 1 2 3 4 5 6 …

Permutation of 256 bytes, depending on key

2 123

134

24

9 218

53 …ji

All values are bytes, all arithmetic is mod 256. S is a 256-byte state array.

+24

Problem: statistical biases, especially in beginning of stream.

Stream generator

Page 12: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

12

Dangers in using stream ciphers

One time key! “Two time pad” is insecure:

C1 m1 PRBG(k)

C2 m2 PRBG(k)

Eavesdropper does:

C1 C2 m1 m2

Enough redundant information in English that:

m1 m2 m1 , m2

Page 13: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

13

Randomized symmetric encryption

13

E, D: cipher k: secret key (e.g., 128 bits)m: plaintext n: nonce / randomness / c: ciphertext initial vector (IV)

(Notation: sometimes the nonce is included in c.)

Alice

Em, n E(k,m,n)=c

Bob

Dc,n D(k,c,n)=m

k k

Keygeneration

Page 14: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

14

Need for nonce

Single-use key: (one time key)• Key is only used to encrypt one message

encrypted email: new key generated for every email

• No need for nonce (set to 0) Multi-use key:

• Key used to encrypt multiple messages SSL: same key used to encrypt many packets

• Needs either unique nonce or random nonce Otherwise, repeated messages can be identified

Multi-use key, but all plaintexts are distinct:• Can eliminate nonce using special mode (SIV) 1

4

Page 15: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

15

Block ciphers: crypto work horse

E, D Cciphertext block

bits

Plaintext block

bits

Key bits

Deterministic; random IV can be supplied as part of plaintext block in a mode of operation (see next).).Efficiency and security optimized for the specific block

size.Historically, more secure and easier to analyze than

traditionalstream ciphers.

Works on fixed-size blocks:

Common sizes:Cipher

DES 64 56

3DES 64 168

AES 128

128/192/256

Page 16: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

16

Building a block cipher

Input: (m, k)DESData Encryption Standard [NIST 1977]

Repeat simple mixingoperation 16 timesAESAdvanced Encryption Standard[Rijmen Daemen 1998] [NIST 2001]

Repeat a mixing step 10 times (for )

Difficult to design: must resist Brute force (guessing a key using attempts)Differential cryptanalysis, linear cryptanalysis, related-key attacks, side-channel attacks, …

mL mR

mR mLF(k,mR)

Page 17: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

17

AES Block Cipher (on a napkin)

Source: http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html

Page 18: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

19 19

Incorrect use of block cipher:ECB (Electronic Codebook) mode

Break plaintext into blocks and encrypt independently:

Problem: if m1=m2 then c1=c2

PT:

CT:

m1

m2

c1 c2

Page 19: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

20

In pictures

[visual comparison by Bart Preneel]

Page 20: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

21

Correct use of block ciphers I:CBC (Cipher Block Chaining) mode

E(k,) E(k,) E(k,)

m[0] m[1] m[2] m[3]IV

E(k,)

c[0] c[1] c[2] c[3]IV

ciphertext

Assume E is a secure “pseudorandom permutation” (i.e., a good block cipher).To encrypt a plaintext message m whose size is a multiple of the block size:

Q: how to do decryption?To handle messages of different length, use suitable padding.

Page 21: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

24

In pictures

Page 22: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

25

Correct use of block ciphers II:CTR (Counter) mode

Encrypt a counter to create a pseudorandom string (similar to stream cipher).

These “modes of operations” are proven secure (under suitable definitions).

Advantage: allows parallel encryption.

key

message

stream

E(k,) E(k,) E(k,)

IV IV+1 IV+2 IV+3

E(k,)

IV

IVciphertext

(random)

Page 23: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

26

Performance of ciphers

OpenSSL 1.0.1 on 2.1GHz Intel i7, 64-byte messages.To benchmark on your computer:$ openssl speed rc4 des-cbc des-ede3 idea-cbc aes-128-cbc

Fast, but still bottleneck for:• Applications applying crypto at high bandwidth with little

processing (web servers, bulk storage encryption, virtual private networks)

• Small devices (weak CPU, power-limited)Cheaper/faster with dedicated hardware• AES instructions in recent x86• Dedicated “cryptographic accelerator” cards

Algorithm Speed (Mbyte/sec)

Block size (bits)

Key size (bits)

RC4 657 unlimited

DES 71 64 56

3DES 26 64 168

IDEA 91 64 128

AES 142 128 128

Page 24: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

27

Attacks and security definitionsWhat power does the adversary have? Known-ciphertext attack Chosen-ciphertext attacks (CCA) Known-plaintext attack Chosen-plaintext attack (CPA)

• Chosen before target ciphertext• Chosen after target ciphertext

Related-key attackWhat secrecy is preserved? Key remains secret Adversary can learn nothing about a message from

observing its encryption• For random messages• Even if it’s an encryption of one of two messages chosen

by adversary, he can’t tell which one it is

Page 25: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

28

Hash functions and message integrity

Page 26: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

29

Cryptographic hash functions

Length-reducing function H Map arbitrary strings to strings of fixed

length

One way (“preimage resistance”) Given y, hard to find x with H(x)=y

Collision resistant Hard to find any distinct m, m’ with

H(m)=H(m’)

Also useful: 2nd preimage resistance Given x, hard to find x’x with

H(x’)=H(x)

Collision resistance 2nd preimage resistance preimage resistance

Page 27: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

30

Applications of cryptographic hashing

Password files (one way)

Digital signatures (collision resistant)

Sign hash of message instead of entire message

Data integrity Compute and securely store hash of

some data Check later by recomputing hash and

comparing

Keyed hash for message authentication MAC – Message Authentication Code

Page 28: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

32

Performance of hash functions

OpenSSL 1.0.1 on 2.1GHz Intel i7, 64-byte messages.To benchmark on your computer:$ openssl sha1 sha256

Algorithm Speed (Mbyte/sec)

Block size (bits)

Key size (bits)

RC4 657 unlimited

DES 71 64 56

3DES 26 64 168

IDEA 91 64 128

AES 142 128 128

SHA-1 197

SHA-256 113

Page 29: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

33

Symmetric-key integrity:MAC (Message Authentication Code)

Goal: message integrity. No confidentiality.

33

Alice Bob

k k

Message m tag

Generate tag: tag S(k, m)

Verify tag: V(k, m, tag) = 0/1

?

Note: non-keyed checksum (CRC) is an insecure MAC!

Keygeneration

Common nickname for“signature” in symmetricsetting

Page 30: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

34

Secure MACs

Attacker’s power: chosen message attack.• for m1,m2,…,mq attacker is given ti

S(k,mi)

Attacker’s goal: existential forgery.• produce some new valid message/tag pair

(m,t).

(m,t) { (m1,t1) , … , (mq,tq) }

Existential unforgeability security:no feasible attacker can witn the above game with more than negligible probability.

Page 31: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

35

MAC Construction 1: ECBC

35

Raw CBC

E(k,) E(k,) E(k,)

m[0] m[1] m[2] m[3]

E(k,)

E(k1,)tagkey = (k, k1)

Page 32: 1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 6: Applied cryptography: symmetric Eran Tromer Slides credit: John Mitchell, Stanford

36 36

MAC Construction 2: HMAC (Hash-MAC)

Most widely used MAC on the Internet.

H: hash function. example: SHA-256 ; output is 256

bits

Building a MAC out of a hash function:

Standardized method: HMAC S( k, m ) = H( kopad || H( kipad ||

m ))