protocol design - cosic · efficient asymmetric o(n) keys. key management ... enc is homomorphic...

87
Protocol Design Jens Hermans & Roel Peeters, KU Leuven/COSIC

Upload: others

Post on 23-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Protocol Design

Jens Hermans & Roel Peeters, KU Leuven/COSIC

Page 2: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

The ideal protocol

… serves exactly the application’s needs

… comes at a low cost

… is simple (elegant)

… is efficiently implementable

… is provably secure

… does not exist

Page 3: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Before you start, know this

Protocol design is hard !!!

Roughly half of the

protocol papers start with

“Attack on …” or “On the

(claimed) security of …”

You need someone that

constantly challenges you

Iterate, iterate, iterate> 1,5 years

many many iterations

Page 4: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Overview

Understand Your Application

Common Goals

Common Design Choices

Building Blocks

Basic Protocols

Proofs

Common Pitfalls

Page 5: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Understand Your

Application

This is the most important thing

whether selecting an existing protocol or designing your own

Page 6: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Constraints

Examples:

Battery operated

Limited storage

Entire protocol < 400 ms (passive RFID tags)

Needs to work (also) offline

But also what is already available? E.g. AES instruction in

processor, ECC-coprocessor already on chip

Page 7: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Goals

Security

Authentication (Entity / Data)

Data Confidentiality

Privacy

Efficiency (i.e. low cost)

Simplicity

Verifiability

Page 8: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Attacker capabilities

Who is your attacker?

Page 9: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Example: Unlock front door

Page 10: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Example: Public Transportation

Page 11: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Example: Smartmeter

Page 12: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Example: Container Tracking

Page 13: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Example: Medicine tracking

Page 14: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Costs

Different types of cost:

Chip area

Power

Energy

Speed

Communication rounds

Cost at the backend

Page 15: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Common Goals

Page 16: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Data Authentication

Alice Bob

Eve

Page 17: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Entity Authentication

Eve

Hello,

I am Alice

Bob

Page 18: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Non-repudiation

Alice Bob

Page 19: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Data Confidentiality

Alice Bob

Eve

Page 20: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Privacy

? ?

Eve

Page 21: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Prevent Denial of Service

BobEve

Page 22: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Protect against key leakage(forward/backward secrecy)

Eve

Page 23: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Common Design

Choices

Page 24: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Backend Processing

Alice: €100

Auth Alice

€100

Trust?

Page 25: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Symmetric/Asymmetric Key

Symmetric

Scale: O(N2) keys, central authority, or share

keys (=risk)

Efficient

Asymmetric

O(N) keys

Page 26: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Key Management

Use key only for one function: e.g., either MAC or ENC (or AE)

Protect your keys

HW security

Key encapsulation (brute-force risk)

Secret sharing

When to trust a key?

Page 27: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Key Updates

2006 2016

Swap keys (different algorithm?)

Other parties:

Central Authority?

Individual notification? Linking?

Page 28: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Key Updates

RFID Scene: change key every time

(“improves” privacy)

Problems

Power to overwrite key in mem? 2x mem required

Desynchronisation

Inherent issues of symmetric key

Page 29: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Mutual Authentication

Devices only respond to authorised queries

Enhanced privacy, side-channel resistance

Optional data transfer

Prevent DoS attacks when using coupons

First reader authentication,

then tag authentication

Page 30: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Secure Hardware

Page 31: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Building Blocks

Page 32: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Key Derivation Function

Page 33: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Key Derivation Function

Extract-then-Expand [Krawczyk]

Page 34: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Hash chains

data

hash(...)

data

hash(...)

data

hash(...)

Page 35: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Merkle Tree

data

hash(...)

data

hash(...)

data

hash(...)

data

hash(...)

data

hash(...)

data

hash(...)

data

data

data

data

data

data

r

d1 d2 d3

1

Page 36: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

One Time MAC

Information-theoretic security

Can only use key for one MAC

Cheap! (but: where does the key come from?)

Examples: pairwise-independent universal hash, Poly1305..

Page 37: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Authenticated Encryption

Protect confidentiality & integrity

CAESAR competition

More on Wednesday!

Page 38: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Diffie-Hellman revisited

x

ygenerate x

compute xgenerate y

compute y

compute k=( y) x compute k=( x)y

• How does Alice know that she shares this

secret key k with Bob?

• Answer: Alice has no idea at all about who

the other person is! The same holds for Bob

Page 39: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

MITM attack on DH

Eve shares a key k1 with Alice and a key k2 with Bob

Requires active attack (Eve modifies messages)

x1

y1

k1 =( y1) x1 =( x1)y1

x2

y2

k2 =( y2) x2 =( x2)y2

Page 40: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Pairings (bilinear maps)*

G1 x G2 GT

ê(aP, bQ) = ê(bP, aQ) = ê(abP, Q) = ê(P, abQ) = ab ∙ ê(P, Q)

Pairings for Cryptographers by S.D. Galbraith and K.G. Paterson

and N.P. Smart [eprint 2006/165]

Do not use pairings over F2n !

Page 41: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Commitments

Allow to commit to a choice without revealing it

Binding: cannot be opened to any other value

Hiding: cannot be determined to which value was been

committed

Both can be perfect/computational, however commitments

can never be both perfectly binding and perfectly hiding

Page 42: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Bit Commitment

Alice wants to commit a bit but does not want to reveal it till some time in future

Bob wants to make sure Alice cannot change her committed choice

Why not simply encrypt something and give the key later?

- may find another key (it’s only a bit)

Using symmetric key: Bob sends R, Alice commits EK{R,b} to Bob, gives up K later

Page 43: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Feldman Commitment

gx mod p

Perfect binding

Computationally hiding

Page 44: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Pedersen Commitment

gx hy mod p

where a is unknown w.r.t. g = ha mod p

Computationally binding

Perfect hiding

Page 45: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Zero Knowledge

How to explain zero-knowledge protocols to your children

[Quisquater et al. 89]

Page 46: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Schnorr Authentication

R = rP

e

s = ex + r

X = e-1(sP-R) ?

Xx, X=xP

Page 47: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Schnorr Authentication

Zero Knowledge: knowning only X one can come up with <R,e,s>

such that X = e-1(sP-R):

Choose e and s at random

Fix R = sP – eX

History: EC-DSA vs. Schnorr

Page 48: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Schnorr Signature

M

e=H(R,M), s = ex + r

R’ = sP – eX

e = H(R’,M)?

Xx, X=xP

R = rP

For a message M to be signed:

Page 49: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Blind Signatures*

M’= M ∙ re mod N

s' = M’d mod N

(e, N)(d, N)

For a message M to be signed:

r at random

s = s’ ∙ r-1 mod N

Page 50: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Homomorphic Encryption

Enc is homomorphic for an operation □ on message space

M iff

Enc(m1 □ m2) = Enc(m1) ◊ Enc(m2)

with ◊ operation on ciphertext space C

If □ = +, then Enc is additively homomorphic

If □ = x, then Enc is multiplicatively homomorphic

Page 51: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Multiplicative Homomorphic

Textbook RSA

ENC(m1)∙ENC(m2) = m1e ∙ m2

e mod N = (m1 ∙ m2)e mod N

= ENC(m1 ∙ m2)

ElGamal

ENC(m1)∙ENC(m2) = (gr1 , m1 ∙ yr1 ) ∙ (gr2 , m2 ∙ y

r2 )

= (gr1 + r2 , (m1 ∙ m2) ∙ yr1 + r2 ) = ENC(m1 ∙ m2)

Page 52: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Additive Homomorphic

Exponential ElGamal

Paillier

ENC(m1)∙ENC(m2) = (gm1 ∙ r1n) ∙ (gm2 ∙ r2

n)

= gm1 + m2 ∙ (r1 ∙ r2)n

= ENC(m1 + m2 mod n2)

Page 53: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Secret Sharing

# shares: n = 5

threshold: t+1 = 3

secret: x

share i: xi

Lagrange multipliers λi

x = ∑ xi⋅λi

Page 54: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Verifiable Secret Sharing

The dealer also commits to polynomial, allowing each

recipient to verify that their share is on the same polynomial

f(z) = a0 + a1z + ... + atzt with a0 = s sj= f(j)

ci = gai

gsj = ∏i ci ji

Page 55: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Distributed Key Generation

no single party knows the secret

Each party acts as dealer

Share = sum subshares

Secret = sum subsecrets

Public key needs to be extracted

Page 56: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Resharing

A similar mechanism can be used to reshare a shared secret

To recover from parts that have been compromised

This is done by each dealer setting its current share as the

secret in a new DKG protocol

Page 57: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Threshold Cryptography

Combine homomorphic encryption with secret sharing:

Each party can do partial decryptions using its part of the key

Partial decryptions (> t+1) can be combined into the

decryption

A similar thing can be done for signature schemes

(usually more involved because of distributed generation of

randomness while signing)

Page 58: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Oblivious Transfer*

m0, m1 k random, b

d, N, e (RSA)

x0, x1 random N, e, x0, x1

v v = xb + ke mod N

m0’ = (v-x0)d mod N + m0

m1’ = (v-x1)d mod N + m1

m0’,m1’

mb = mb’ - k

Page 59: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

PUFs*

Process variations during manufacturing

make chips unique ~ fingerprint

Instead of programming keys into devices,

you just take the fingerprint

Measuring circuit + error correction (due to

noise and bias)

Low entropy

Physical attacks to the chip (e.g. to extract

keys) will result in destroying the PUF

Page 60: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Basic Protocols

Page 61: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Symmetric Authentication

ISO/IEC 9798-2 or ISO/IEC 9798-4

Page 62: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Asymmetric Authentication

ZK-proof

Signatures (ISO/IEC 9798-3)

(H)MQV-type key establishment

Page 63: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Schnorr Authentication

R = rP

e

s = ex + r

X = e-1(sP-R) ?

Xx, X=xP

Page 64: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

SIGMA

Page 65: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Proofs

By trying to prove your protocol, you often identify mistakes

Show that you thought about your proposed protocol

Page 66: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Information theoretic/

computational

vs

Page 67: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Reductions

Assume: attacker A on protocol

Use attacker A to build attacker B on hard problem

Since B can not exist, hence A can not

Page 68: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Random Oracle Model

Replace hash by random oracle

Input Output

I1 R1

I2 R2

Page 69: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Generic Group Model

Similar to RO, but for groups

Perform group operations through oracle

Dlog Handle

1 P

123 Q

124 R

Page 70: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Game Based Proofs

Page 71: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Simulator Based Proofs

Page 72: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Forking Lemma (Rewinding)

Page 73: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

CDH/DDH

CDH: given ga and gb , it is hard to compute gab

DDH: given ga, gb and gc, it is hard to determine if gc = gab

Page 74: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

ODH/StrongDH

OracleDH

DDH with restricted CDH oracle. Uses H(gab).

StrongDH

CDH with restricted DDH oracle

Oracle is useful to generate replies in protocols

Page 75: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Common Pitfalls

Page 76: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Attack Listing

Page 77: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Non-general Model

EMV protocol & tracing

Key extraction & tracing (red-dot test)

Circular definitions

Page 78: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Non-realistic Assumptions

Physical attacks: reveal everything but…

The ‘wise’ adversary [Ng et al. ESORICS2008]

“An adversary A who is ‘wise’ on oracle access will not make

any oracle access that is redundant, or in other words, brings

no advantage to him in attacking privacy of the protocol.

Simply speaking, A will not waste any oracle access.”

Page 79: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Correctness !!!

Efficient, secure, private authentication

Efficient: no computation, no communication

Secure: no one that is not allowed to go in, can possibly go in

Private: no communication

Page 80: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Way too

complex

Keep It Simple Stupid

Page 81: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Inappropriate PUF Usage

PUFs are noisy and biased, this should be taken into account

If secure storage is needed, why a PUF in the first place?

Page 82: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Shooting Practice

Page 83: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

BADH-1

Page 84: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

BADH-2

Page 85: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

BADH-2

Page 86: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Liao and Hsiao’s Secure ECC-based RFID Authentication

Scheme integrated with ID-Verifier Transfer Protocol

Page 87: Protocol Design - COSIC · Efficient Asymmetric O(N) keys. Key Management ... Enc is homomorphic for an operation on message space M iff Enc(m 1 m 2) = Enc(m 1) Enc(m 2) with operation

Yoking protocols