60
Randomness Leakage in the KEM/DEM Framework Hitoshi Namiki (Ricoh) Keisuke Tanaka (Tokyo Inst. of Tech.) Kenji Yasunaga (Tokyo Inst. of Tech. ISIT) ProvSec 2011

Randomness Leakage in the KEM/DEM Framework

  • Upload
    aimee

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Randomness Leakage in the KEM/DEM Framework. Hitoshi Namiki (Ricoh) Keisuke Tanaka (Tokyo Inst. of Tech.) Kenji Yasunaga (Tokyo Inst. of Tech.  ISIT). ProvSec 2011. Leakage-Resilient C ryptography. Prove the security even if some secret information leaks (by side-channel attacks). - PowerPoint PPT Presentation

Citation preview

Page 1: Randomness Leakage in  the KEM/DEM Framework

Randomness Leakage in the KEM/DEM Framework

Hitoshi Namiki (Ricoh) Keisuke Tanaka (Tokyo Inst. of Tech.)

Kenji Yasunaga (Tokyo Inst. of Tech. ISIT)

ProvSec 2011

Page 2: Randomness Leakage in  the KEM/DEM Framework

Leakage-Resilient Cryptography Prove the security even if some secret

information leaks (by side-channel attacks)

Page 3: Randomness Leakage in  the KEM/DEM Framework

Leakage-Resilient Cryptography Prove the security even if some secret

information leaks (by side-channel attacks)Stream Cipher [DP08][Pie09]Public-Key Encryption [AGV09][NS09]

[ADW09][AND+10][BG10][DHL+10] …Signature [ADW09][KV09][FKP10]

[MTV+11][BSW11] …etc.

Page 4: Randomness Leakage in  the KEM/DEM Framework

Leakage-Resilient PKE

c = Encpk(m;r)m = Decsk(c)

c

Page 5: Randomness Leakage in  the KEM/DEM Framework

Leakage-Resilient PKE

c = Encpk(m;r)m = Decsk(c)

c

Leakage of secret key [AGV09][NS09][ADW09] …

Page 6: Randomness Leakage in  the KEM/DEM Framework

Leakage-Resilient PKE

c = Encpk(m;r)m = Decsk(c)

c

Leakage of sk

Leakage of secret key [AGV09][NS09][ADW09] …

Page 7: Randomness Leakage in  the KEM/DEM Framework

Leakage-Resilient PKE Leakage of secret key [AGV09][NS09]

[ADW09] …Restriction: Amount of leakage is

bounded

c = Encpk(m;r)m = Decsk(c)

c

Leakage of sk

Page 8: Randomness Leakage in  the KEM/DEM Framework

This Work

Page 9: Randomness Leakage in  the KEM/DEM Framework

This Work Leakage of randomness in encryption

Page 10: Randomness Leakage in  the KEM/DEM Framework

This Work Leakage of randomness in encryption

Restriction: Amount of leakage is bounded

Page 11: Randomness Leakage in  the KEM/DEM Framework

This Work Leakage of randomness in encryption

Restriction: Amount of leakage is bounded

c = Encpk(m;r)m = Decsk(c)

c

Page 12: Randomness Leakage in  the KEM/DEM Framework

This Work Leakage of randomness in encryption

Restriction: Amount of leakage is bounded

c = Encpk(m;r)m = Decsk(c)

c

Leakage of r

Page 13: Randomness Leakage in  the KEM/DEM Framework

Our Results

Page 14: Randomness Leakage in  the KEM/DEM Framework

Our Results No secure randomness-LR scheme

if leaks after public key is published

Page 15: Randomness Leakage in  the KEM/DEM Framework

Our Results No secure randomness-LR scheme

if leaks after public key is publishedEven if 1-bit leaks

Page 16: Randomness Leakage in  the KEM/DEM Framework

Our Results No secure randomness-LR scheme

if leaks after public key is publishedEven if 1-bit leaksContrast to key-LR scheme

(Secure schemes [AGV09][NS09]…)

Page 17: Randomness Leakage in  the KEM/DEM Framework

Our Results No secure randomness-LR scheme

if leaks after public key is publishedEven if 1-bit leaksContrast to key-LR scheme

(Secure schemes [AGV09][NS09]…) Secure randomness-LR KEM/DEM scheme

even if leaks after public key is published

Page 18: Randomness Leakage in  the KEM/DEM Framework

Our Results No secure randomness-LR scheme

if leaks after public key is publishedEven if 1-bit leaksContrast to key-LR scheme

(Secure schemes [AGV09][NS09]…) Secure randomness-LR KEM/DEM scheme

even if leaks after public key is publishedRelax the leakage model (describe later)

Page 19: Randomness Leakage in  the KEM/DEM Framework

Our Results No secure randomness-LR scheme

if leaks after public key is publishedEven if 1-bit leaksContrast to key-LR scheme

(Secure schemes [AGV09][NS09]…) Secure randomness-LR KEM/DEM scheme

even if leaks after public key is publishedRelax the leakage model (describe later)Leakage rate = 1 – o(1) (DDH assumption)

Page 20: Randomness Leakage in  the KEM/DEM Framework

Model of Randomness Leakage

pk

m0, m1

cc = Encpk(mb;r)

b’Pr[ b’ = b ] ≤ 1/2 + negl(n)

Page 21: Randomness Leakage in  the KEM/DEM Framework

Model of Randomness Leakage

Leakage

Oracle

pk

m0, m1

cc = Encpk(mb;r)

r

b’Pr[ b’ = b ] ≤ 1/2 + negl(n)

Page 22: Randomness Leakage in  the KEM/DEM Framework

Model of Randomness Leakage

Leakage

Oracle

pk

m0, m1

cc = Encpk(mb;r)

r

b’

f

Pr[ b’ = b ] ≤ 1/2 + negl(n)

Page 23: Randomness Leakage in  the KEM/DEM Framework

Model of Randomness Leakage

Leakage

Oracle

pk

m0, m1

cc = Encpk(mb;r)

r

b’

f

f(r)

Pr[ b’ = b ] ≤ 1/2 + negl(n)

Page 24: Randomness Leakage in  the KEM/DEM Framework

Model of Randomness Leakage

Leakage

Oracle

pk

m0, m1

cc = Encpk(mb;r)

r

b’

f

f(r)

Pr[ b’ = b ] ≤ 1/2 + negl(n)

|f(r)|≤ λ

Page 25: Randomness Leakage in  the KEM/DEM Framework

Model of Randomness Leakage

Leakage

Oracle

pk

m0, m1

cc = Encpk(mb;r)

r

b’

f

f(r)

Pr[ b’ = b ] ≤ 1/2 + negl(n)

|f(r)|≤ λ leakage rate = λ /|r|

Page 26: Randomness Leakage in  the KEM/DEM Framework

Randomness leakage after public key is published

Theorem. No secure randomness-LR scheme exists if randomness leaks after public key is published

Page 27: Randomness Leakage in  the KEM/DEM Framework

Theorem. No secure randomness-LR scheme exists if randomness leaks after public key is published Proof:

Adversary’s strategy: Set f(r) := { i-th bit of Encpk(m0; r) } for random i If f(r) ≠ { i-th bit of c }, output 1, o.w. a random

guess When b = 0, Pr[ b = b’ ] = 1/2 When b = 1, Pr[ b = b’ ] ≥ 1/2 + 1/|c|

since f(r) ≠ { i-th bit of c } w.p. at least 1/|c|

Randomness leakage after public key is published

Page 28: Randomness Leakage in  the KEM/DEM Framework

Randomness leakage is more serious than key leakage !!1-bit leakage insecuritySecure key-LR scheme [AGV09][NS09]…

Randomness leakage after public key is published

Page 29: Randomness Leakage in  the KEM/DEM Framework

Randomness leakage is more seriousthan key leakage !!1-bit leakage insecuritySecure key-LR scheme [AGV09][NS09]…

Relax the leakage modelFit for KEM/DEM framework

Randomness leakage after public key is published

Page 30: Randomness Leakage in  the KEM/DEM Framework

KEM/DEM Framework KEM ≈ PKE for random messages

Random message is used as secret key of DEM

Page 31: Randomness Leakage in  the KEM/DEM Framework

KEM/DEM Framework KEM ≈ PKE for random messages

Random message is used as secret key of DEM

(c1, K) = KEM.Encpk(r1)c2 = DEM.EncK(m;r2)

Page 32: Randomness Leakage in  the KEM/DEM Framework

KEM/DEM Framework KEM ≈ PKE for random messages

Random message is used as secret key of DEM

(c1, K) = KEM.Encpk(r1)

c1, c2

c2 = DEM.EncK(m;r2)

Page 33: Randomness Leakage in  the KEM/DEM Framework

KEM/DEM Framework KEM ≈ PKE for random messages

Random message is used as secret key of DEM

(c1, K) = KEM.Encpk(r1)K = KEM.Decsk(c1)

c1, c2

c2 = DEM.EncK(m;r2)m = DEM.DecK(c2)

Page 34: Randomness Leakage in  the KEM/DEM Framework

Randomness Leakage in KEM/DEM

(c1, K) = KEM.Encpk(r1)K = KEM.Decsk(c1)c2 = DEM.EncK(m;r2)m = DEM.DecK(c2)

c1, c2

f(r1, r2)

Page 35: Randomness Leakage in  the KEM/DEM Framework

Randomness Leakage in KEM/DEM

(c1, K) = KEM.Encpk(r1)K = KEM.Decsk(c1)c2 = DEM.EncK(m;r2)m = DEM.DecK(c2)

c1, c2

Relaxation: Rand. for KEM/DEM leaks independently

Page 36: Randomness Leakage in  the KEM/DEM Framework

Randomness Leakage in KEM/DEM

K = KEM.Decsk(c1)m = DEM.DecK(c2)

r1

KEM DEM

r2

c1, c2

(c1, K) = KEM.Encpk(r1)c2 = DEM.EncK(m;r2)

Relaxation: Rand. for KEM/DEM leaks independently The situation that KEM/DEM are implemented by

different chips

Page 37: Randomness Leakage in  the KEM/DEM Framework

Randomness Leakage in KEM/DEM

Relaxation: Rand. for KEM/DEM leaks independently The situation that KEM/DEM are implemented by

different chips

K = KEM.Decsk(c1)m = DEM.DecK(c2)

r1

KEM DEM

r2

c1, c2

(c1, K) = KEM.Encpk(r1)c2 = DEM.EncK(m;r2)

Page 38: Randomness Leakage in  the KEM/DEM Framework

Randomness Leakage in KEM/DEM

Leakage Oracle

pk

m0, m1

c1, c2

r1

b’

ff(r1)

|f(r1)|≤ λ

(c1, K) = KEM.Encpk(r1)c2 = DEM.EncK(m;r2)

Leakage Oracle

*r2

r2 entire string!

①②③④⑤

Page 39: Randomness Leakage in  the KEM/DEM Framework

Randomness Leakage in KEM/DEM

Leakage Oracle

pk

m0, m1

c1, c2

r1

b’

ff(r1)

|f(r1)|≤ λ

(c1, K) = KEM.Encpk(r1)c2 = DEM.EncK(m;r2)

Leakage Oracle

*r2

r2 entire string!

Remark: (1) Rand. for KEM/DEM leaks independently + (2) Messages are independent of DEM leakage

①②③④⑤

Page 40: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Page 41: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme

Page 42: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Page 43: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : Enc :

Page 44: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc :

1n

param,sk

sample

Page 45: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

param,r1

m, K

KEM

DEM

Page 46: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

m, K

Rand.-LR KEM/DEM scheme: Gen : PK = SK = Enc : C =

KEM

DEM

param,r1

Page 47: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

m, K

Rand.-LR KEM/DEM scheme: Gen : PK = SK = Enc : C =

param,r1

Page 48: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

m, K

Rand.-LR KEM/DEM scheme: Gen : PK = SK = Enc : sk pk C =

sampleparam,s

kparam,

r1

Page 49: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

m, K

Rand.-LR KEM/DEM scheme: Gen : PK = SK = Enc : sk pk C =

sampleparam,s

kparam,

r1

Page 50: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

m, K

Rand.-LR KEM/DEM scheme: Gen : r1

c1

PK = SK = Enc : sk pk C =

sample

param,r1

sample

param,sk

param,r1

Page 51: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

m, K

Rand.-LR KEM/DEM scheme: Gen : param r1

c1

PK = (param, c1), SK = r1

Enc : sk pk K c2

C = (pk, c2)

sample

1n

sample

param,sk

m, K

param,r1

param,r1

Page 52: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

m, K

Rand.-LR KEM/DEM scheme: Gen : param r1

c1

PK = (param, c1), SK = r1

Enc : sk pk K c2

C = (pk, c2)

sample

1n

sample

param,sk

m, KNeed to exist algorithms to generate same K from (param, pk, r) and (param, c1, sk)

param,r1

param,r1

Page 53: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

Rand.-LR KEM/DEM scheme: Gen : param r1

c1

PK = (param, c1), SK = r1

Enc : sk pk K c2

C = (pk, c2)

sample

1n

sample

param,sk

m, K

HPS

m, KNeed to exist algorithms to generate same K from (param, pk, r) and (param, c1, sk)

param,r1

param,r1

Page 54: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

Idea: key-LR scheme randomness-LR scheme Exchange the roles of key and randomness !!

Key-LR KEM/DEM scheme: Gen : param sk pk PK = (param, pk), SK = sk Enc : r1

c1

K c2

C = (c1, c2)

sample

1n

param,sk

sample

Rand.-LR KEM/DEM scheme: Gen : param r1

c1

PK = (param, c1), SK = r1

Enc : sk pk K c2

C = (pk, c2)

sample

1n

sample

param,sk

m, K

HPS HPS-based scheme [NS09] rate = 1 – o(1)

m, KNeed to exist algorithms to generate same K from (param, pk, r) and (param, c1, sk)

param,r1

param,r1

Page 55: Randomness Leakage in  the KEM/DEM Framework

Conclusions Leakage of randomness in PKE Our results

No secure scheme if leakage occurs after PK is published

Secure KEM/DEM scheme even if leakage occurs after PK is published Restriction: Rand. in KEM/DEM leaks

independently + message is independent of DEM leakage

Idea: key-LR randomness-LR Leakage rate: 1 – o(1) from key-LR scheme [NS09]

Page 56: Randomness Leakage in  the KEM/DEM Framework

Thank you

Page 57: Randomness Leakage in  the KEM/DEM Framework

Related work Hedged public-key encryption [BBN+09]

Adversary can choose a joint distribution of message and randomness (with enough entropy) If uniform randomness CPA-security

otherwise weaker securityCan be seen as randomness-LR PKE

Randomness leakage = Choice of distribution Corresponding to randomness leakage

before public key is published– Message must be independent of public key

Page 58: Randomness Leakage in  the KEM/DEM Framework

Secure randomness-LR KEM/DEM scheme

ElGamal-based scheme of [NS09] leak rate = 1/2 HPS-based scheme of [NS09] leak rate = 1 – o(1)

Key-LR scheme [NS09]: Gen : g1,g2 ∈R G param x1, x2 ∈R Zp sk h = g1

x1 g2x2 pk

PK = (param, pk), SK = sk Enc : r ∈R Zp r g1

r, g2r c1

hr K s ∈R {0,1}t

Ext(K,s)+m c2

C = (c1, c2)

Our scheme: Gen : g1,g2 ∈R G param r ∈R Zp r g1

r, g2r c1

PK = (param, c1), SK = r Enc : x1, x2 ∈R Zp sk h = g1

x1 g2x2 pk

(g1r)x1(g2

r)x2 K s ∈R {0,1}t

Ext(K, s)+m c2

C = (pk, c2)

Page 59: Randomness Leakage in  the KEM/DEM Framework

Leakage occurs before public key is published

Leakage

Oraclepk

m0, m1

cc = Encpk(mb;r)

r

b’

f

f(r)

Page 60: Randomness Leakage in  the KEM/DEM Framework

Leakage occurs before public key is published

π’ = (Gen’, Enc’, Dec’) Gen’(1n) : s Ut, (pk, sk) Gen(1n), pk’ = (pk, s), sk’ = skEnc’pk’(m) : r Uk, c = Encpk(m; Ext(r,s))Dec’sk’(c) = Decsk(c)

Theorem.If π = (Gen, Enc, Dec) is CPA-secure,then π’ is randomness-LR secure Proof: Ext(r,s) is (almost) uniform

even if f(r) leaks Remark: Only one-message (or bounded-poly-many

message) security