Lesson 8 : Key-Policy Attribute-Based Encryption and Public Key Encryption with Keyword Search

Similar documents
Ciphertext-Policy Attribute-Based Encryption: An Expressive, Efficient, and Provably Secure Realization

Lecture 7: Boneh-Boyen Proof & Waters IBE System

Fully Secure Functional Encryption: Attribute-Based Encryption and (Hierarchical) Inner Product Encryption

Fully Secure (Doubly-)Spatial Encryption under Simpler Assumptions

Outline. The Game-based Methodology for Computational Security Proofs. Public-Key Cryptography. Outline. Introduction Provable Security

Fully-secure Key Policy ABE on Prime-Order Bilinear Groups

Hidden-Vector Encryption with Groups of Prime Order

Expressive Key-Policy Attribute-Based Encryption with Constant-Size Ciphertexts

Generic Constructions for Chosen-Ciphertext Secure Attribute Based Encryption

Cryptology. Scribe: Fabrice Mouhartem M2IF

Bounded Ciphertext Policy Attribute Based Encryption

Ciphertext-Policy Hierarchical Attribute-Based Encryption with Short Ciphertexts: Efficiently Sharing Data among Large Organizations

ID-based Encryption Scheme Secure against Chosen Ciphertext Attacks

arxiv: v1 [cs.cr] 21 Dec 2015

On the security of Jhanwar-Barua Identity-Based Encryption Scheme

New Proof Methods for Attribute-Based Encryption: Achieving Full Security through Selective Techniques

Fully Secure Functional Encryption: Attribute-Based Encryption and (Hierarchical) Inner Product Encryption

Public Key Encryption with Conjunctive Field Keyword Search

Delegation in Predicate Encryption Supporting Disjunctive Queries

Attribute-Based Encryption Schemes with Constant-Size Ciphertexts

PROPERTY PRESERVING SYMMETRIC ENCRYPTION REVISITED

Searchable encryption & Anonymous encryption

A Strong Identity Based Key-Insulated Cryptosystem

An efficient variant of Boneh-Gentry-Hamburg's identity-based encryption without pairing

Identity-based encryption

Attribute-Based Encryption with Fast Decryption

Ciphertext-Policy Attribute-Based Encrypted Data Equality Test and Classification

Applied cryptography

Expressive Search on Encrypted Data

G Advanced Cryptography April 10th, Lecture 11

Leakage-resilient Attribute-based Encryptions with Fast Decryption: Model, Analysis and Construction

Secure and Practical Identity-Based Encryption

New Techniques for Dual System Encryption and Fully Secure HIBE with Short Ciphertexts

Secure Certificateless Public Key Encryption without Redundancy

6.892 Computing on Encrypted Data October 28, Lecture 7

Lecture 2: Perfect Secrecy and its Limitations

REMARKS ON IBE SCHEME OF WANG AND CAO

A new security notion for asymmetric encryption Draft #12

Reducing Depth in Constrained PRFs: From Bit-Fixing to NC 1

Revocable Identity-Based Encryption from Lattices

Unbounded HIBE and Attribute-Based Encryption

A New Functional Encryption for Multidimensional Range Query

Hierarchical identity-based encryption

arxiv: v1 [cs.cr] 24 Feb 2017

Attribute-based Encryption & Delegation of Computation

Gentry IBE Paper Reading

Multi-Input Functional Encryption for Unbounded Arity Functions

A New Paradigm of Hybrid Encryption Scheme

SYMMETRIC ENCRYPTION. Mihir Bellare UCSD 1

Efficient Lattice (H)IBE in the Standard Model

Adaptively Simulation-Secure Attribute-Hiding Predicate Encryption

Provable Security for Public-Key Schemes. Outline. I Basics. Secrecy of Communications. Outline. David Pointcheval

The k-bdh Assumption Family: Bilinear Cryptography from Progressively Weaker Assumptions

An Introduction to Probabilistic Encryption

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky. Lecture 7

Authentication. Chapter Message Authentication

A new security notion for asymmetric encryption Draft #10

A Note On Groth-Ostrovsky-Sahai Non-Interactive Zero-Knowledge Proof System

Efficient Identity-based Encryption Without Random Oracles

Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security

Efficient Selective Identity-Based Encryption Without Random Oracles

Efficient Identity-Based Encryption Without Random Oracles

On the Achievability of Simulation-Based Security for Functional Encryption

Converting Pairing-Based Cryptosystems from Composite-Order Groups to Prime-Order Groups

New Framework for Secure Server-Designation Public Key Encryption with Keyword Search

Lecture 1: Introduction to Public key cryptography

Provable security. Michel Abdalla

Resistance to Pirates 2.0: A Method from Leakage Resilient Cryptography

Expressive and Secure Searchable Encryption in the Public Key Setting (Full Version)

Simple SK-ID-KEM 1. 1 Introduction

Lecture 1: Perfect Secrecy and Statistical Authentication. 2 Introduction - Historical vs Modern Cryptography

Property Preserving Symmetric Encryption Revisited

Efficient Secure Auction Protocols Based on the Boneh-Goh-Nissim Encryption

5.4 ElGamal - definition

Functional Encryption for Regular Languages

Perfect Keyword Privacy in PEKS Systems

Lecture 4 Chiu Yuen Koo Nikolai Yakovenko. 1 Summary. 2 Hybrid Encryption. CMSC 858K Advanced Topics in Cryptography February 5, 2004

Attribute-Based Ring Signatures

Non-malleability under Selective Opening Attacks: Implication and Separation

Smooth Projective Hash Function and Its Applications

Public Key Encryption with keyword Search

Public-Key Cryptography. Lecture 9 Public-Key Encryption Diffie-Hellman Key-Exchange

Lecture 9 Julie Staub Avi Dalal Abheek Anand Gelareh Taban. 1 Introduction. 2 Background. CMSC 858K Advanced Topics in Cryptography February 24, 2004

Schnorr Signature. Schnorr Signature. October 31, 2012

Computing on Encrypted Data

Proofs on Encrypted Values in Bilinear Groups and an Application to Anonymity of Signatures

Robust Non-Interactive Multiparty Computation Against Constant-Size Collusion

Notes for Lecture 9. Last time, we introduced zero knowledge proofs and showed how interactive zero knowledge proofs could be constructed from OWFs.

Post-quantum security models for authenticated encryption

Outline Proxy Re-Encryption NTRU NTRUReEncrypt PS-NTRUReEncrypt Experimental results Conclusions. NTRUReEncrypt

Lecture 6. 2 Adaptively-Secure Non-Interactive Zero-Knowledge

Predicate Privacy in Encryption Systems

Adaptive-ID Secure Revocable Identity-Based Encryption from Lattices via Subset Difference Method

Public-Key Encryption

Towards Tightly Secure Lattice Short Signature and Id-Based Encryption

CTR mode of operation

Secret sharing schemes

A new security notion for asymmetric encryption Draft #8

Shorter Identity-Based Encryption via Asymmetric Pairings

Notes for Lecture A can repeat step 3 as many times as it wishes. We will charge A one unit of time for every time it repeats step 3.

Transcription:

Lesson 8 : Key-Policy Attribute-Based Encryption and Public Key Encryption with Keyword Search November 3, 2014 teacher : Benoît Libert scribe : Florent Bréhard Key-Policy Attribute-Based Encryption (KP-ABE) Motivation In a standard public-key encryption scheme, each user has his own public key and secret key, so that if one wants to encrypt a message intended for several receivers (for example, according to their jobs in a company), it will be necessary to compute the ciphertext for each public key of each recipient, which implies a huge loss of time and space. The idea of a Key-Policy Attribute-Based Encryption scheme (KP-ABE) is to have the sender encrypt the message only once. It is the policy assigned to users keys that will determine if these users will be allowed to decrypt: Ciphertexts are labeled with a set ω of descriptive attributes. Private key corresponds to an access policy P. Decryption works if and only if P (ω) = 1 Here are some examples: Attributes can be {Researcher, Teacher, Student, ENS Lyon, CNRS}. M. Dupont is researcher at the CNRS. So, his policy will be : (Researcher AND CNRS). Mme Dupré is researcher at the ENS Lyon and also teacher at the ENS Lyon. So her policy will be : ((Researcher OR Teacher) AND ENS Lyon). 1

M. Dupuis is researcher at the CNRS and also gives courses at the ENS Lyon. His policy is : ((Researcher AND CNRS) OR (Teacher AND ENS Lyon)). Chloé is student at the ENS Lyon, her policy is : (Student AND ENS Lyon) If ω = {Researcher, CNRS}, which means that only researchers at the CNRS should be able to decrypt the message, then only M. Dupont and M. Dupuis have the good policy to read the message. If ω = {Researcher, ENS Lyon, CNRS}, meaning that recipients must be all the research staff in both ENS Lyon and CNRS, then M. Dupont, Mme Dupré and M. Dupuis can all read the message. If ω = {Teacher, Student, ENS Lyon}, only teachers or students at the ENS Lyon will be able to decrypt the message. Here, Mme Dupré, M. Dupuis and Chloé have the corresponding policy. Definition A KP-ABE scheme is a tuple of algorithms with the following specification: Setup(λ) : Given λ N, outputs a master key pair (MP K, MSK). Keygen(MSK, P ) : Given MSK and a policy P, outputs SK P. Encrypt(MP K, M, ω) : Given an attribute set ω, outputs ciphertext CT. Decrypt(MP K, SK P, CT ) : Given CT and SK P, outputs M or. Correctness condition The correctness condition expresses the fact tha,t if a message is encrypted with an attribute set ω and if user A holds a key SK P for a policy P that accepts these attributes (i.e., P (ω) = 1), then A can decrypt the ciphertext with his secret key SK P. For any policy P and any attribute set ω such that P (ω) = 1, M = Decrypt(MP K, SK P, Encrypt(MP K, M, ω)) Selective security The intuitive notion of security for such an encryption scheme is that an adversary A should not be able to decrypt a ciphertext labeled with some attribute set ω if he does not have access to a secret key SK P such that the policy P satisfies P (ω ) = 1, even if he can obtain SK P for policies P such that P (ω ) = 0. Precisely, no PPT adversary A should have a non-negligible advantage in this game : 2

The adversary A chooses ω at the beginning (before seeing the master public key MP K) and can adaptively obtain a polynomial number of private keys SK P for a arbitrary policies P sucht that P (ω ) = 0. After a first series of queries, A chooses two messages M 0 and M 1 and send them to challenger. The challenger chooses a random bit γ R {0, 1} and sends ciphertext c = Encrypt(MP K, M γ, ω ) to A. A can make further queries for private keys SK P such that P (ω ) = 0 and finally outputs γ {0, 1}. The adversary A wins if γ = γ. Its advantage is defined in the usual way, as the distance Adv A (λ) := Pr[γ = γ] 1/2. Formulae For now, we restrict ourselves to the case where a policy P is defined by a monotone Boolean formula. A monotone Boolean formula is a directed tree where : leaves correspond to inputs. non-leaf nodes are gates (AND,OR). Here is an example of a formula that calculates (x 1 x 2 ) ((x 3 x 4 ) x 5 ) : x 1 x 2 x 3 x 4 x 5 The inputs (leaves) are the attributes. An attribute is set to TRUE if it belongs to the ω, and FALSE otherwise. A formula corresponds in that way to an access policy : its accepts or reject an attribute set ω. 3

It must be stressed out that this definition of formula is not as general as the notion of Boolean circuit (a circuit is a directed acyclic graph, which may not be a tree since the output of a gate may be the input of several other gates). However, Boolean formulas are sufficient for many applications. Here is an example of Boolean circuit that is not a formula: x 1 x 2 x 3 x 4 x 5 Access structure Let P = {1,..., n} be a set of positive integers, representing the set of all possible attributes. An access structure A 2 P is a collection of non-empty subsets of P. It corresponds exactly to the notion of access policy : P (ω) = 1 if and only if ω A. It is called monotone if: B, C 2 P B A B C C A It is easy to see that access structures obtained by formulae as above are monotone. This is due to the fact that we do not allow NOT gates in the definition of formulae. Monotone Span Program Let K be a field and let {x 1,..., x n } be a set of variables. A Monotone Span Program (MSP) is a pair (M, ρ), where M K l k is a matrix and ρ : {1,..., l} {x 1,..., x n } is a labelling function. 4

For any γ {x 1,..., x n }, define the submatrix M γ of M obtained by keeping only the rows of index i such that ρ(i) γ : M γ = (M ij ) i ρ 1 (γ) 1 j k (M, ρ) accepts γ if and only if 1 = (1, 0,..., 0) rowspan(m γ ). A MSP (M, ρ) computes a Boolean function f M over {x 1,..., x n } if it accepts exactly those γ such that f M (γ) = 1. Note that the access structure A defined here by its characteristic function is clearly monotone (because the notion of linear spanning is monotone). Linear Secret Sharing Let P = {1,..., n} be a set of parties, let M F l k p be a matrix over a finite field F p and let ρ : {1,..., l} P be a function that maps the rows of M to P for labelling. A Linear Secret Sharing Scheme (LSSS) for a (monotone) access structure A 2 P represented by (M, ρ) consists of algorithms : Share(M, ρ, s) : Given (M, ρ) and a secret s F p, picks β = (s, β 2,... β k ) R with β 2,..., β k Fp and defines λ i = M T i β which is the share assigned to party ρ(i). Reconstruct(M, ρ, S) : Given an access set S A, lets I = {i ρ(i) S}. It outputs constants {µ i } i I such that s = i I µ i λ i. The idea behind such a scheme is the following. A secret s is split into several shares λ i. If ones wants to reconstruct the secret s, one can do that by taking a linear combination of the {λ i } i I such that I corresponds (via ρ) to a valid S A. The following proposition makes the link with MSP defining an access structure A : Proposition. There exists an efficient LSSS for a monotone access structure A if and only if there exists a small MSP for the characteristic function of A. KP-ABE for monotone Boolean formulae (Goyal, Pandey, Sahai, Waters, ACM-CCS 06 [2]) Here, we present a concrete KP-ABE scheme that can represent all monotone access structures A defined using a MSP (M, ρ): Setup(λ) : 1. Chooses groups (G, G T ) of prime order p > 2 λ with a pairing e : G G G T and generators g, g 2 R G. 5

2. Chooses y R F p and computes g 1 = g y. 3. Chooses a function T : F p G (to be specified later) and sets: Keygen(MSK, (M, ρ)) : MP K = ((G, G T ), g, g 1 = g y, g 2, T ) and MSK = y To generate a key for A = (M, ρ) where M F l k p and ρ : {1,..., l} P, choose a random vector β R F k p such that β (1, 0,..., 0) = y. For each row M i of M F l k p, choose r i R Fp and compute a pair (D i, d i ) = ( ) g M i β 2 T (ρ(i)) r i, g r i. Notet that (D i, d i ) satisfy the following relations : for any s F p. e(d i, g) = e(g 2, g) M i β e(t (ρ(i)), d i ) e(d i, g s ) = e(g 2, g s ) M i β e(t (ρ(i)) s, d i ), Return SK A = {(D i, d i )} 1 1 l. Encrypt(MP K, Msg, ω) : To encrypt Msg G T under ω, chooses s R F p and computes : CT = ( ω, E = Msg e(g 1, g 2 ) s, E = g s, {E i = T (i) s } i ω ) Decrypt(MP K, SK A, CT ) : Given SK A for A = (M, ρ) and CT = (ω, E, E, {E i } i ω ), define the index set I = {i {1,..., l} ρ(i) ω}. Since A(ω) = 1, there exist coefficients {µ i } i I such that (1, 0,..., 0) = i I µ i M i. For each i I, compute Then, return Θ i = e(d i, E i ) e(d i, E) = e(g 2, g) s M i β. Msg = E i I Θ µ i i = E e(g, g 2 ) s y 6

Theorem ([2]). The scheme provides selective security under the DBDH assumption. Proof. We will first need the following lemma from linear algebra : Lemma. A vector π F k p is linearly independent of the rows of a matrix N F l k p and only if there exists a vector w F k p such that Nw = 0 and π w 0. if Let A be a selective adversary with advantage ɛ. We build a DBDH distinguisher B that takes as input (g, g a, g b, g c, Z) and uses A to decide whether Z = e(g, g) abc or Z R G T. A begins the game by choosing some attribute set ω. To generate MP K, B defines g 1 = g a and g 2 = g b. Then, B chooses a function T : F p G such that: T (x) = g F (x) 2 g J(x) x F p for certain functions F, J : F p F p, which are kept internal to B, that satisfy the conditions F (x) = 0 x ω F (x) 0 x / ω For example, if we fix an upper bound n ω on the cardinality of any attribute set, F (X) and J(X) can be chosen as polynomials and we can define T (X) = n {u j } n j=0 are included in MP K. F (X) = i ω (X i) = n j=0 F jx j J(X) = n j=0 J jx j R Fp [X] j=0 uxj j, where u j = g F j 2 g J j for each j {0,..., n} and A is given MP K = ( (G, G T ), g, g 1 = g a, g 2 = g b, T ), meaning that B implicitely defines MSK = a (which is unknown). Queries: Suppose A queries SK A such that A(ω ) = 0, where A = (M, ρ) with M Fp l k. B defines I = {i {1,..., l} ρ(i) ω }. Since A(ω ) = 0, (1, 0,..., 0) is not in the row space of M I, the submatrix of M obtained by keeping only the rows M i of M such that i I. Hence w F k p M I w = 0 and (1, 0,..., 0) w 0 (so w 1 0). B chooses v = (v 1,..., v k ) R F k p and implicitely defines u = v +ψw where ψ = a v 1 w 1 (not computable by B). Note that u (1, 0,..., 0) = v 1 + a v 1 w 1 w (1, 0,... 0) = a. : For each i I (so that ρ(i) ω ), we have λ i = M i u = M i v and B can compute ( ) (D i, d i ) = g M i v 2 T (ρ(i)) r i, g r R i where r i Fp For each i {1,..., l} \ I (so that ρ(i) / ω ), we have T (ρ(i)) = g F (ρ(i)) 2 g J(ρ(i)) such that F (ρ(i)) 0. So, B can compute a pair (D i, d i) = ( g a 2 T (ρ(i)) r i, g r i ) (1) 7

for some r i R F p using the Boney-Boyen technique. To this end, B chooses a random r i R F p and implicitly defines r i = r i +. So, we have: a F (ρ(i)) ( T (ρ(i)) = g F (ρ(i)) 2 g J(ρ(i))) r i + a F (ρ(i)) = g2 a (T (ρ(i))) ri J(ρ(i)) a g F (ρ(i)) So, the pair ( ) T (ρ(i)) ri (g a ) J(ρ(i)) F (ρ(i)) ri, g (g a ) 1 F (ρ(i)) is computable by B and forms a valid pair (D i, d i ) of the form (1). From this point, B can obtain ( ) (D i, d i ) = g M i u 2 T (ρ(i)) r i, g r i as D i = g M i v 2 (D i g v 1 2 d i = d i M i w w 1 Then, B returns SK A = {(D i, d i )} 1 i l to A. ) M i w w 1 Challenge : A chooses Msg 0, Msg 1. Then, B picks γ R {0, 1} and computes ( CT = ω, E = Msg γ Z, E = g c, {E i = (g c ) J(i) = T (i) c} ) i ω (For each i ω, we know that T (i) = g F (i) 2 g J(i) = g J(i) ). If Z = e(g, g) abc, CT = ( ω, E = Msg γ e(g 1, g 2 ) c, E = g c, {E i = T (i) c } i ω ) is a valid encryption of Msg γ with the attribute set ω. In this case, A should output γ = γ with probability 1 2 + ɛ. If Z R G T, the challenge ciphertext CT is distributed as an encryption of a random message Msg rand R G T, which is completely independent of Msg 0, Msg 1. So, A should output a bit γ {0, 1} independent of the γ chosen by B, so γ = γ with probability 1/2. Output: A outputs γ {0, 1}. If γ = γ, B outputs 1 (meaning Z = e(g, g) abc ). Otherwise, B outputs 0 (meaning that Z R G T ). Clearly, this gives an advantage ɛ to B as a distinguisher for the DBDH problem. Public Key Encryption with Keyword Search (PEKS) (Boneh, Di Crescenzo, Ostrovsky, Persiano, EUROCRYPT 04 [1]) Idea: A trapdoor t w allows testing whether c is an encryption of a given keyword W. 8

A PEKS scheme consists of the following set of algorithms : Keygen(λ) : Given a security parameter λ N, outputs (P K, SK). Trapdoor(SK, W ) : Outputs t W for the keyword W. Encrypt(P K, W ) : Outputs c which encrypts W. Test(P K, t W, c) : Outputs 0 or 1. Correctness: For all λ N and (P K, SK) Keygen(λ), if t W Trapdoor(SK, W ), then : Test(P K, Encrypt(P K, W ), t W ) = 1 with high probability Computational consistency: For any PPT adversary A, the following experiment outputs 1 with negligible probability: 1. Run (P K, SK) Keygen(λ) and P K is given to A. 2. A outputs W, W {0, 1} such that W W. 3. Compute c Encrypt(P K, W ) and t W Trapdoor(SK, W ). Return 1 if W W and Test(P K, t W, c) = 1. Semantic Security for PEKS (a.k.a. keyword-privacy): No PTT adversary A has non-negligible advantage in this game: 1. The challenger generates (P K, SK) Keygen(λ), initializes a set Q and gives P K to A. 2. A makes queries: A chooses W and obtains t W Trapdoor(SK, W ). The challenger updates Q Q {W }. 3. A chooses distinct keywords W 0, W 1 / Q and obtains c Encrypt(P K, W γ ) where γ R 0, 1. 4. A makes more queries for keywords W / {W 0, W 1 }. 5. A outputs γ {0, 1} and wins if γ = γ. We define the advantage of adversary A in this game: Adv PEKS-IND-CPA A (λ) = Pr[γ = γ] 1 2 9

References [1] D. Boneh, G.D. Crescenzo, R. Ostrovsky, and G. Persiano. Public-key encryption with keyword search. EUROCRYPT, 2004. [2] V. Goyal, O. Pandey, A. Sahai, and B. Waters. Attribute-based encryption for finegrained access control of encrypted data. ACM CCS, 2006. 10