Public-Key Encryption in a Multi-User Setting - Stevens Institute of ...

3 downloads 0 Views 2MB Size Report
setting if for any PPT adversary A, is ... The definition guarantees that the secret key, plaintexts, or ... All ciphertexts seen by the adversary are under a single.
Public-Key Encryption in a Multi-User Setting: Privacy, Anonymity and Efficiency Alexandra Boldyreva Georgia Institute of Technology

Plan • Encryption, a tool for data privacy • Provable security • Standard definitions of data privacy • The need to consider the multi-user setting • Security • Efficiency • Anonymity

Encryption is • a tool for achieving data-privacy, • is very important nowadays, • used by many people, often without realizing it, when: – doing on-line banking and shopping – talking on cell phones – watching satellite TV and payper-view movies

On-line shopping, banking rely on encryption

SSL protocol ensures privacy of communicated data (uses RSA-OAEP encryption scheme [BR])

Two settings 1. Symmetric-key setting K

K

2. Asymmetric (public-key) setting

PK SK

Public-key encryption coins

k coins

Receiver R

skR

Common-key generation algorithm G I Key generation pkR algorithm K

pkR coins M Encryption algorithm E Sender

Public key

Name

---

---

pkR

R

---

---

skR C

Decryption M/⊥ algorithm D Receiver R

How can we be confident that a given encryption scheme is secure? An attack found

Try to find an attack yes

Insecure Prove security (the absence of attacks) under some assumptions

An attack found yes Assumption was false

no ?

What does “security” mean? Security means that given a public key and a ciphertext it is infeasible to recover:

the secret key the plaintext etc. Any partial information about the plaintext

But…

Can be true if the plaintext is sent in the clear Can be true if all but the last bit are leaked etc.

Encryption security definition, IND-CPA [GM] k

Π=(G,K,E,D)

(pk,sk) I G K pk M0,M1

A

b

Mb

Epk(•)

C=Epk(Mb) d 1-ind-cpa A,!

Adv

(k)=2Pr[win]-1

Adversary wins if b=d

Probability is over coins of G,K,E,A and choice of b.

An encryption scheme Π is IND-CPA in the single user 1-ind-cpa Adv (k) is setting if for any PPT adversary A, A,! negligible in k.

Why IND-CPA? The definition guarantees that the secret key, plaintexts, or any partial information about the plaintexts are not leaked.

IND-CPA is not always enough Bleichenbacher’s attack on a previous version of SSL: C' “invalid ciphertext!”

pk

C'' “invalid ciphertext!”

C''' OK Alice's session key

C''''''''' “invalid ciphertext!”

C=

E

pk (

OK Al ice 's se ss ion ke y)

Encryption security definition, IND-CCA k

(pk,sk) I G K

Dsk(•)

Π=(G,K,E,D)

pk M0,M1

A

b

Mb

Epk(•)

C=Epk(Mb)

A is not allowed to query C to Dsk(•) A wins if b=d

d

Adv1-ind-cca (k)=2Pr[win]-1 A,! An encryption scheme Π is IND-CCA in the single user 1-ind-cca Adv (k) setting if for any PPT adversary A, A,! is negligible in k.

Proven secure schemes Scheme

Security

Proven assuming

ElGamal

IND-CPA

Decision Diffie-Hellman (DDH)

Cramer-Shoup

IND-CCA

DDH

RSA-OAEP [BR] DHIES [ABR]

Usage

IND-CCA One-wayness of RSA, RO PKCS #1 2.1 IND-CCA

ODH

IEEE P1363a

Data-privacy in the multi-user setting

Motivation All provably-secure encryption schemes are proven secure in the single-user setting Person with a public key, able to receive ciphertexts

C

Sender

pk Receiver

All ciphertexts seen by the adversary are under a single public key

But the single-user setting is very different from practice, where there are many users sending each other encrypted messages: pk1 C1

pk7

C2

C7

C

3

C4

C

6

pk4 pk6

pk3

pk2

Plain RSA encryption [RSA] G(k)

K(k)

Epk(M) M∈Ζ*N

k∈Ν Return

Dsk(C)

$ k p,q ← k-bit primes

C ← Me mod N Return C

N ← p·q $

M← Cd mod N Return M

e←

Ζ*(p-1)(q-1) d ← Ζ*(p-1)(q-1)

s.t. e·d≡1 mod (p-1)(q-1) pk ← (N, e) sk ← (N, d) Return (pk, sk) easy Believed to be one-way:

Cd = M

C = Me

easy given d hard not given d

Håstad-type attack on Plain RSA Plain RSA: pk=(N, e); Epk(M)=Me mod N C1, C2, C3, pk1, pk2, pk3 M

od N 1 m M C1 = C2 = 3 M m od N C 2 3 = M3 mo dN 3

3

pk1=(N1, 3)

pk2=(N2 , 3) pk3=(N3 , 3)

If N1,N2,N3 are relatively prime then by Chinese Remainder Theorem can combine C1 = M3 mod N1 C2 = M3 mod N2 C3 = M3 mod N3 to find C = M3 mod N1 N2 N3 Since M3 < N1 N2 N3 then 3

M←√C

• Plain RSA: – Is one-way in the single-user setting. – Is not one-way in the multi-user setting. – However, it is not IND-CPA in the singleuser setting.

Plain RSA is not IND-CPA secure (as well as any deterministic scheme Π) pk M0,M1

A

If Epk(M0)=C

b

Mb

Epk(•)

Epk(Mb)

then d←0 else d←1

d

A always wins,

Adv1 (A) = 1 Adv1 (t ) = 1

A crucial question Are the “provably-secure” schemes (e.g. ElGamal, RSA-OAEP) really secure in the practical (multiuser) setting? To answer this one needs to define security in the multi-user setting

Towards a security definition for encryption in the multi-user setting

E = C1 pk2

C

2=

E

pk 2

(M)

pk1

pk 1

(M

C

3=

E

pk 3

(M

(M

) pk4

)

) M +

pk 4 E =

C4

Danger: the adversary can see encryptions of related messages under different public keys.

pk3

Security definition (many users, CPA) [BBM] k

G I I K (pk1,sk1)

Π=(G,K,E,D)

Ei(•,•) M0,M1

b

Mb

Epki (•)

Epk (Mb ) i

I

K

(pkn,skn)

b Adversary wins if b = d Adv n-ind-cpa (k) = 2Pr[win] " 1 A,! An encryption scheme Π is IND-CPA in the multi-user setting if for any polynomial n and PPT adversary A, Adv n-ind-cpa (k) is negligible in k. A,!

E1 E2 Ei En

d

A pk1 pki pkn

Reminder Adv attack type (resourses of attacker) = max probability of any attacker breaking the scheme Small = good Big = bad

General reduction [BBM] Theorem. Let Π = (K, E, D) be a public-key encryption scheme. Then

Adv n (t , qe ) ! qe n " Adv1 (t #) where t’≈t Corollary. Encryption schemes polynomially-secure in the single-user setting are polynomially-secure in the multi-user setting.

General reduction • implies schemes like El Gamal, RSA-OAEP are polynomially-secure in the multi-user setting. • shows benefits of targeting strong, welldefined security definitions in the single-user setting: security in extended settings follows automatically.

The need for concrete security improvements Consider a public-key encryption scheme Π 1 !60 # with Adv (t ) " 2 Assume in a real setting the number of users n = 200 000 000. Allow qe = 230 messages be encrypted under each public key. Then

n

Adv (t , q ) ! 0.2

Tightness of the general reduction Question. Is there a better reduction? No! Proposition. [BBM] There exists a public-key encryption scheme Π with n

1

Adv (t , qe ) = "(qe n) # Adv (t !) So, loss in security cannot be prevented in general. But we can hope to do better for specific schemes.

ElGamal encryption scheme G(k) k∈Ν p ← k-bit prime g ← generator of a group G of order p Return (g, p)

K(I) $

x←

Ζp

X ← gx pk ← (g, p, X) sk ← (g, p, x) Return (pk, sk)

Epk (M) M∈G $

r ← Ζp Return (gr, Xr ·M )

Dsk (C) K ← Yx M ← T·K-1 Return M

ElGamal in the multi-user setting Our general reduction implies Adv n (t , qe ) " 2qe n # Adv1 (t !)

Theorem [BBM]: improved reduction 1 Adv (t , qe ) " 2Adv (t !) + p n

1

ElGamal scheme in the multi-user setting as secure as it is in the single user setting

Towards better efficiency of encryption in the multi-user setting

Consider a scenario where a sender needs to encrypt messages for several recipients: pk1 C1

pk7

pk2

C2

C7

C

3

C4

C

6

pk4 pk6

pk3

Simple solution Sender pk1 M1

E

C1

Receiver 1

E

C2

Receiver 2

E

Cn

coins1

pk2 M2 coins2

pkn Mn coinsn

Receiver n

• •

Computational cost is n times that of the standard scheme



Can we do it more efficiently?

Total length of all ciphertexts C1,..,Cn has size n times the size of a ciphertext in the standard scheme

An application. Pay-TV.

DirectTV Encrypted messages are being broadcast such that only legitimate recipients can decrypt them. It is desirable to shorten the broadcast communication

MRES Public key

Name

pk1

R1

pk1 M1

pkn coins

Encryption

C1

algorithm

pkn

Rn

Mn

E

Cn

Sender ski

Ci

Decryption Mi algorithm D

Receiver Ri

Naïve MRES Sender pk1 M1

E E

C1

Receiver 1

C2

Receiver 2

coins1

pk2 M2

E coins2

pkn Mn

E coinsn

coins=coins1||coins2||…||coinsn

Cn

Receiver n

Our suggestion We suggest a possibility to “reuse” random coins used in the naïve MRES encryption: Sender pk1 M1

E C1

Receiver 1

E

C2

Receiver 2

E

Cn

E coins

pk2 M2 coins

pkn Mn

Receiver n

coins coins

We call such schemes Randomness Reusing MRES (RR-MRES)

Why are RR-MRESs interesting? Consider ElGamal-based RR-MRES: Sender pk1= g

x1

x2

M2 xn g pkn=

Mn

 r

C1 ! (g ,g

M1 pk2= g

EG

 r

C2 ! (g ,g 



x1r

" M1 )



x2r

" M2 )

Receiver 2



Cn ! (g r ,g x n r " M n ) coins= r

Receiver 1

Receiver n

Why are RR-MRESs interesting? • •

Half the number of exponentiations used by the naive ElGamalbased MRES. xr x r r If ciphertexts are broadcast, need only send (g ,g 1 ! M1 ,.., g n ! M n ) which is half the length of the broadcast vector for the naive MRES.



Saving 50% in computation is important: exponentiations are still relatively slow operations, people struggle to get any improvements.



Our results serve as a proof of concept, people could try to achieve even better savings.

But are these schemes secure? • To analyze security of MRESs one needs an appropriate security definition. – The security definitions for the multi-user setting are incompatible with syntax of MRESs. – New types of attacks arise in the multi-recipient setting.

What should an adversary be allowed to do? •

An adversary can see encryptions of related messages under different public keys



An adversary can be one of the recipients: – Learn the corresponding secret key, decrypt the ciphertexts – Register its own public key, which possibly depends on public keys of honest users

Rogue-key attacks: An example Receivers

Sender

pk1=gx M1

pk2=(gx)2 M2

pk3=(gx)3 M2

C’ 1

EG

C1 =(g r , g xr ! M 1 ) C2 =(g r , g 2 xr ! M 2 )

C3 =(g r , g 3 xr ! M 2 ) coins= r

C1! " g 2 xr " M 2 M 1 = 3 xr g " M2

Towards a security definition for MRESs •

Our model allows an adversary to corrupt some recipients and obtain their secret keys.



The model also allows an adversary to choose public keys of corrupted recipients as a function of the public keys of honest recipients.



But: Only if it also outputs valid corresponding secret keys. This abstraction avoids consideration of explicit proofs of knowledge of secret keys, which are done (should be done) when users register their public keys with the CAs.



Security requires it still be unable to obtain even partial information about messages sent to uncorrupted recipients.

MRESs security definition (against CPA) [BBS] pk pk1 ,.,pkl , pkl+1,.,pkn pk1+1,.,pkn sk1+1,.,skn M0,1,..,M0,l M ,..,M n M1,1,..,M1,l l+1

A

A wins if b=d

b C1,..,Cn←Epk(Mb,1,..,Mb,l ,Ml+1,…,Mn) d

MRES AE is IND-CPA secure in the multirecipient setting if ∀ PPT A mr ! cpa Adv An !, AE (k ) = 2 Pr[ A wins] ! 1

is negligible in k

The possibility of insider and rogue-key attacks exists for both standard and multi-recipient encryption schemes. The definition of security for MRESs takes them into account while the one for encryption in the multi-user setting does not. Why? It is not necessary: Claim. For ATK∈{CPA,CCA}, an encryption scheme AS is IND-ATK in the multi-user setting iff AS-based naïve MRES is IND-ATK in the multi-recipient setting.

Not all RR-MRESs are secure. Example. RSA-OAEP

pk1=(3,N1)

RSA

M

C1 = OAEP( M ; r )3 mod N1

pk2=(3,N2) M

C2 = OAEP( M ; r )3 mod N 2

pk3=(3,N3) M

C1,C2,C3 OAEP(M;r) M

C3 = OAEP( M ; r )3 mod N 3 coins=r

To facilitate finding secure RR-MRESs we suggest a special test: Standard secure encryption scheme

Reproducibility Test

Y: RR-MRES is secure N: it may not be

Avoids case-by-case security analysis of MRESs.

Reproducibility test and theorem A standard encryption scheme AE is reproducible if ∃ a PPT algorithm R: pk, C=Epk(M;r) pk’,sk’,M’

R

C’=Epk’(M’;r)

Theorem. For ATK∈{CPA,CCA}, if a standard encryption scheme AE is 1.

reproducible

2.

IND-ATK secure

then the corresponding RR-MRES is IND-ATK secure.

Security of ElGamal-based RR-MRES Lemma. El Gamal encryption scheme EG is reproducible. Proof.

pk=gx,

C=(gr,gxr·M)

pk’=gx’,sk’=

x’,M’

R

C’

C’=(gr,(gr)x’·M’)

Fact. DDH is hard => EG is IND-CPA secure Corollary.

Lemma + Fact + Reproducibility theorem

El Gamal-based RR=> MRES is IND-CPA secure

Anonymity (key-privacy) in the multi-user setting

x=? pk5 pk7

pk1 C=

C7

pk8

C4

C

6

pk4 pk6

pk2

Epk ( x M)

pk3

Anonymity (key privacy) • Data privacy was considered the sole goal of encryption • Key privacy is another, previously overlooked goal C=

Epk2(M)

x=2, => R2 is in Lyon

pk2

Public key

Name

pk1

R1

pkn

Rn

This property of encryption is required be various protocols, such as anonymous credentials, mix-nets, private keyword search, etc.

RSA is not anonymous Public key

Name

pk1=(e1,N1) pk2=(e2,N2)

R1 R2

Epki (M): Mei mod Ni

If C > N1, then it’s a ciphertext addressed to R2 The same attack applies to all popular variations of RSA scheme, including RSA-OAEP.

Anonymity. [BBDP] Summary of contributions • Defined an appropriate security definition • Proved that ElGamal and Cramer-Shoup provide anonymity under the same assumptions they provide data-privacy • Show how to modify RSA to provide anonymity

References. •

[BBM] With M. Bellare and S. Micali, “Public-Key Encryption in a Multi-User Setting: Security Proofs and Improvements.” In Eurocrypt 2000 Proceedings, (LNCS) Vol. 1807, pp. 259-274, 2000.



[BBDP] With M. Bellare, A. Desai and D. Pointcheval, “Key-Privacy in Public-Key Encryption.” In Asiacrypt 2001 Proceedings, LNCS Vol. 2248, pp. 566-582, 2001.



[BBS] With M. Bellare and J. Staddon, “Randomness Re-use in Multi-Recipient Encryption Schemes.” In Public Key Cryptography (PKC) 2003 Proceedings, LNCS Vol. 2567, pp. 85-99, 2003.



[BBKS] With M. Bellare, K. Kurosawa and J. Staddon, “Multi-Recipient Encryption Schemes: Security and Optimization.” Work in progress.

Available at http://www.cc.gatech.edu/~aboldyre/publications.html

Thank you!

Suggest Documents