• No results found

Efficient File Sharing in Electronic Health Records

N/A
N/A
Protected

Academic year: 2021

Share "Efficient File Sharing in Electronic Health Records"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)

Efficient File Sharing in Electronic Health

Records

?

Cl´ementine Gritti, Willy Susilo, Thomas Plantard

Centre for Computer and Information Security Research School of Computer Science and Software Engineering

University of Wollongong, Australia

cjpg967@uowmail.edu.au, {wsusilo,thomaspl}@uow.edu.au

Abstract. The issue of handling electronic health records have become paramount interest to the practitioners and security community, due to their sensitivity. In this paper, we propose a framework that enables medical practitioners to securely communicate among themselves to dis-cuss health matters, and the patients can be rest assured that the in-formation will only be made available to eligible medical practitioners. Specifically, we construct a new cryptographic primitive to enable File Sharing in Electronic Health Records (FSEHR). This primitive enables doctors to read the information sent by the hospital, or by any other in-dividuals (such as patients’ health records), when the doctors have their ‘license’ validated by that given hospital. We construct such a crypto-graphic primitive and capture its security requirements in a set of security models. Subsequently, we present a concrete scheme, which is proven se-lectively chosen-ciphertext security (CCA-1) secure under the Decisional Bilinear Diffie-Hellman Exponent (DBDHE) assumption and fully collu-sion resistant.

Keywords: File Sharing, Electronic Health Records, Broadcast Encryption, Certificate-Based Encryption, Bilinear map, Chosen-Ciphertext Security.

1

Introduction

Electronic Health Records (EHR) have become of paramount interest to practi-tioners and security community, due to their data size as well as their security issues and sensitivity. In the existing literature, there have been a number of papers [9, 12, 13, 2] that discuss the way to secure this type of data. In this work, we take a new direction by proposing a framework that enables secure communication among medical practitioners. The communication channel en-abled here will allow medical practitioners, i.e. medical doctors, to communicate among themselves as well as to review the patients’ EHRs. Additionally, it also allows the hospital to broadcast any important information to the doctors who are working in that hospital, and this information will only be made available to

?

(2)

them. The issue is the fact that the doctors have their own rights in a hospital, delivered by the government or the medical legislators. Therefore, our framework should be able to specify which are the doctors that have access to the data by updating their license as authorized in that hospital. To generalize this scenario, we decouple several entities involved in this scenario, namely the hospital (as the data owner), the government and the other medical legislators, who grant the li-cense for the doctors to work in that hospital. This scenario is depicted in Figure 1. We note that the hospital would be the entity that generates the encrypted data for the doctors, which includes all important information that the doctors need to know. Additionally, any other members (such as the nurse or any other entities outside the doctors) should also be able to send any information to the group of doctors in that hospital. This is to represent a case for instance when a patient provides his/her X-ray or blood test results to the hospital.

Our Work. Based on the above scenario, we present a new cryptographic notion called File Sharing in Electronic Health Records (FSEHR). In this system, there are four entities, namely the Group Manager (GM), a group of Certificate Authorities (CA), or simply of Certifiers, a set of doctors and the rest of the universe. The GM represents an entity such as the hospital in this scenario. A CA represents the government, the medical institute or other medical legislator who grants the rights to some doctors to work in a given hospital. The set of doctors is denoted as a set of users,Ui, who are the main players in this setting. The rest of the universe includes the patients, nurses, and any other players who are not captured in the above set of entities. The scenario of the FSEHR primitive is depicted in Figure 1. In this work, we provide a sound security model to capture this scenario.

One may think thatFSEHR could be achieved easily by combining the two cryptographic primitives, namely certificate-based encryption and broadcast en-cryption schemes. Unfortunately this is false. The primary difficulty of achieving such a scheme is due to the need to achieve a shorter ciphertext, in comparison to merely combining the ciphertexts into one to achieve a linear size. Furthermore, the notion of certificate-based encryption usually allows a sender to interact with only a single receiver, with the help of a CA. Hence, it is clear that by a simple combination of the existing certificate-based encryption scheme and a broadcast encryption will lead a construction with a linear size of ciphertext (in number of both users and certifiers), which is undesirable (otherwise, it would be better for the broadcaster to just simply encrypt each ciphertext individually for each user). Moreover, we require that aFSEHRscheme to be fully collusion resistant, which follows the original notion of broadcast encryption schemes. Hence, even if all the users in the system collude, only the users in the selected subset with valid certificates can recover the plaintext.

Related Work. Modelling and securing authorization and access control to EHR has become a challenge. In [9], such a model, called Role-Based Access Control (RBAC), is proposed to inscrease the patient privacy and confidential-ity of his data but it remains flexible to allow specific situations (for instance,

(3)

emergency cases). A literature review about security and privacy in EHR can be found in [2].

U1

Un

SetupPart ”DoctorsUi” H generates (P Ki, SKi)

U2

Un−1

SetupPart ”LegislatorsLj”

Certif Encrypt

N

generates ciphertextCT

for set of doctorsSdand

DecryptCase 2 DecryptCase 1 ifUi∈Sdand messageM ifUi∈/Sdor fail (⊥) fori∈ {1,· · ·, n} Government Medical Institute Other Legislators generates generates generates (P Kl1, SKl1) (P Kl2, SKl2) (P Kl3, SKl3), (P Klk, SKlk) Lj generatesCertifi,j,T fori∈ {1,· · ·, n}

for set of legislatorsSl

and time periodT

∃Lj∈Sls.t.Certifi,j,T is not valid at time periodT ∀Lj∈Sl,Certifi,j,T is valid at time periodT (GM) (CA) (Univ.) for messageM · · ·, U1 Un U2 Un1 U1 Un U2 Un1 U1 Un U2 Un−1 U1 Un U2 Un−1

Fig. 1. A hospital H (GM) generates and sends the public/secret key pairs (P Ki, SKi) for doctor Ui, where i= 1,· · ·, n. The government, the medical insti-tute and the other medical legislators Lj (CAs) create their public/secret key pairs (P Kl1, SKl1),(P Kl2, SKl2),(P Kl3, SKl3),· · ·,(P Klk, SKlk) respectively. The legisla-tors then compute and give the certificatesCertifi,j,lfor doctorUi, wherei= 1,· · ·, n,

j= 1,· · ·, k,and time periodT. Finally, a hospital staff member (Universe), for instance a nurseN, selects a subgroup of doctorsSd={Ui1,· · ·, Ui|Sd|}and a subgroup of leg-islatorsSl, encrypts a messageMfor doctors inSd, legislators inSl and time period

T, and sends the resulting ciphertext CT. Only a doctor Uii0 inSd, with certificate

(4)

Benaloh et al. [3] combined a Hierarchical Identity-Based Encryption (HIBE) and a searchable encryption to obtain a privacy-preserving and patient-centered EHR system. However, the patients have to create and manage manifold keys and check the credentials of the healthcare providers (doctors, nurses, ...). Narayan et al. [10] proposed an EHR system using a broadcast Ciphertext-Policy Attribute-Based Encryption (bCP-ABE) scheme, a variant of ABE system, and a Public key Encryption with Keyword Search (PEKS) scheme. Their system is secure, allows private search on health records by performing keyword matching without leaking information, and enable direct revocation of user access without having to re-encrypt the data. But the system is only designed for online access control. More recently, Akinyele et al. [1] presented a system along with a mobile app for iPhone for secure offline access to EHRs. They constructed their scheme based on ABE (Key-Policy and Ciphertext-Policy versions) and they developped a corresponding software library to help the implementation.

2

Preliminaries and Definitions

2.1 File Sharing in Electronic Health Records (FSEHR)

A File Sharing system in Electronic Health Records (FSEHR) comprises four algorithms (Setup,Certif,Encrypt,Decrypt):

1. Setup(λ, n, k) run by the group manager, takes as inputs the security pa-rameterλ, the total numbernof users, and the total numberkof cerfitiers, output the public parameters P K, the public/secret key pair (P Ki, SKi) for user i∈ {1,· · ·, n}. The public/secret key pair (P Kcj, SKcj) are

inde-pendently generated by the certifierj∈ {1,· · ·, k}. We assume thatnis the bound of the universe, in order to pre-compute public/secret key pairs and allow users to join the system later.

2. Certif(P K,(P Kcj, SKcj), P Ki, l) run by the certifier j∈ {1,· · ·, k}, takes

as inputs the public parametersP K, the certifierj’s public/secret key pair (P Kcj, SKcj), the public keyP Kifor useri∈ {1,· · ·, n}, and the time period l, output the certificateCertifi,j,l fori,j andl.

3. Encrypt(P K, Su, Sc,{P Ki:iSu},{P Kcj :jSc}, l), run by the sender

belonging to the universe, takes as inputs the public parametersP K, the subsetSuof users selected by the sender such thatSu⊆ {1,· · ·, n}, the subset

Sc of certifiers selected by the sender such thatSc⊆ {1,· · ·, k}, the public keysP Ki for usersiSu, the certifier’s public keyP Kcj for certifersjSc,

and the time periodl, output the headerHdrand the session keyK. 4. Decrypt(P K, Su, Sc, l,(P Ki, SKi),{Certifi,j,l:jSc}, Hdr) run by useri,

takes as inputs the public parametersP K, the subsetSuof users selected by the sender, the subsetScof certifiers selected by the sender, the time period

l, the public/secret key pair (P Ki, SKi) and the certificates Certifi,j,l for useriand certifierjSc, and the headerHdr, output the session keyK if

(5)

We require that for useri∈ {1,· · ·, n} and certifierj∈ {1,· · ·, k} such that (P K,(P Ki, SKi),(P Kcj, SKcj))←Setup(λ, n, k), and subsetsSu∈ {1,· · ·, n}

and Sc∈ {1,· · ·, k}: if user iSu, certifier jSc and Certifi,j,l is valid for time period l, then KDecrypt(P K, Su, Sc, l,(P Ki, SKi),{Certifi,j,l:j

Sc},Encrypt(P K, Su, Sc,{P Ki:iSu},{P Kcj:jSc}, l)); otherwise⊥←

De-crypt(P K, Su, Sc, l,(P Ki, SKi),{Certifi,j,l:jSc},Encrypt(P K, Su, Sc,{P Ki:

iSu},{P Kcj:jSc}, l)).

We call theheader,Hdr, as the encryption of the session keyK. We call the full header as the headerHdralong with the descriptions of the setSu of users and the setScof certifiers selected by the sender. Without losing generalization, we only consider the headerHdr when discussing the size of the scheme.

2.2 Security Requirements

We first present the definitions for plaintext attack (CPA) and chosen-ciphertext attack (CCA) securities. We adopt the security definitions from the certificate-based encryption [7]. There are two basic attacks which may be launced by an uncertified user or by the certifier. These are captured in the following two distinct games. In Game 1, the adversary plays the role of an uncertified user: it first proves that it knows the secret key of the uncertified user and then, it can make Decryption and Certification queries. In Game 2, the adversary plays the role of a trusted certifier: it first proves that it knows the secret key of the certifier and then, it can make Decryption queries. Eventually, we say that the FSEHRsystem is secure if no adversary can win either game.

Game 1. Setup. The challenger runs the algorithm Setup(λ, n, k) to obtain the public parametersP K, the public keysP Ki for usersi∈ {1,· · ·, n}, and the public keysP Kcj for certifiersj∈ {1,· · ·, k}, and gives them toA1.

Certification Query Phase.For time periodl, for useri∈ {1,· · ·, n}, and for

j∈ {1,· · ·, k}, the challenger first checks that SKi is the secret key correspond-ing to the public key P Ki. If so, it runs Certif and returns Certifi,j,l to the adversaryA1; otherwise, it returns⊥.

Decryption Query Phase. For time periodl, for useri∈ {1,· · ·, n}, and for certifierj∈ {1,· · ·, k}, the challenger first checks thatSKiis the secret key corre-sponding to the public keyP Ki. If so, it returnsDecrypt(P K, Su, Sc, l,(P Ki, SKi),

{Certifi,j,l:jSc}, Hdr) to the adversaryA1; otherwise, it returns⊥.

Challenge.For time periodl∗,A1 outputs a challenge setSu∗⊆ {1,· · ·, n}. For useriSu, the challenger first checks thatSKi∗is the secret key corresponding to the public keyP Ki∗. If so, it chooses a setSc∗⊆ {1,· · ·, k}and a random bitbR {0,1}, and runs (Hdr, K∗)←Encrypt(P K, Su, Sc,{P Ki∗ :iSu∗},{P Kc

j : jSc∗}, l∗). It then sets Kb∗=K∗, picks at randomK1b in the key space, and gives (Hdr, Kb, K1b) to the adversaryA1. Otherwise, it gives⊥.

Guess.The adversaryA1outputs its guessb0∈R{0,1}forband wins the game

ifb=b0, (l, Su, Hdr∗) was not the subject of a valid Decryption query after the

(6)

We define A1’s advantage in attacking the File Sharing system in Electronic

Health Records for Game 1 with parameters (λ, n, k) as AdvFSEHRGameA 1

1,n,k(λ) =

|P r[b=b0]−12|.

Game 2. Setup. The challenger runs the algorithm Setup(λ, n, k) to obtain the public parametersP K, the public keysP Ki for usersi∈ {1,· · ·, n}, and the public keysP Kcj for certifiersj∈ {1,· · ·, k}, and gives them toA2.

Decryption Query Phase. For time period l and for certifierj∈ {1,· · ·, k}, the challenger first checks thatSKcj is the secret key corresponding to the public

key P Kcj. If so, it returns Decrypt(P K, Su, Sc, l,(P Ki, SKi),{Certifi,j,l:j

Sc}, Hdr) to the adversaryA2; otherwise, it returns ⊥.

Challenge. For time period l∗, A2 outputs a challenge set Su∗ ⊆ {1,· · ·, n}. The challenger first checks that SKc

j is the secret key corresponding to the

public key P Kc

j. If so, it chooses a setS

c⊆ {1,· · ·, k} such that jSc∗ and a random bit bR{0,1}, and runs (Hdr, K∗)←Encrypt(P K, Su, Sc,{P Ki∗:

iS∗},{P Kcj:jS

c}, l∗). It then setsKb∗=K∗, picks at randomK1∗−bin the key space, and gives (Hdr, Kb, K1b) to the adversaryA2. Otherwise, it gives

⊥.

Guess.The adversaryA2outputs its guessb0∈R{0,1}forband wins the game if b=b0 and (l, P Kc

j, Hdr

) was not the subject of a valid Decryption query

after the Challenge.

We define A2’s advantage in attacking the File Sharing system in Electronic

Health Records for Game 2 with parameters (λ, n, k) as AdvFSEHRGameA 2

2,n,k(λ) =

|P r[b=b0]−12|.

Definition 1. We say that a File Sharing system in Electronic Health Records is adaptively (t, ε, n, k, qC, qD)-secure if no t-time algorithm Athat makes at most

qC Certification queries (in Game 1) and qD =qD1+qD2 Decryption queries

(in the Game 1 and Game 2 respectively), has non-negligible advantage in either Game 1 or Game 2, i.e.AdvFSEHRGameA,n,k1(λ) +AdvFSEHRGameA,n,k2(λ)≤ε.

We also mention the selective CCA security: a selective adversaryAprovides the setSu∗⊆ {1,· · ·, n}that it wishes to be challenged on at the beginning of the security game.

We then define the Fully Collusion Resistance security, in order to capture the notion of encryption against arbitrary collusion of users. Let the number of usersn, the number of certifierskand the security parameterλbe given to the adversaryAand the challenger. The game between the two entities proceeds as follows:

Game Fully Collusion Resistant

1. The adversaryAoutputs a setSu,n0={u1,· · ·, un0} ⊆ {1,· · ·, n}of colluding

(7)

2. The challenger runs the algorithm Setup(λ, n, k) to obtain the public pa-rametersP K, the keys pairs (P Ki, SKi) for users iSu,n0, and the keys

pair (P Kcj, SKcj) for the certifier j∈ {1,· · ·, k}. It gives (P K,{P Ki, SKi: iSu,n0},{P Kc

j:j∈ {1,· · ·, k}}) to the adversary A and keeps SKcj to

itself. It also runs the algorithmCertif(P K,(P Kcj, SKcj), P Ki, l) to obtain

the certificatesCertifi,j,l for user iSu,n0,j∈ {1,· · ·, k}, and time period

l, and gives them to the adversaryA.

3. The challenger runs the algorithmEncrypt(P K, Su, Sc,{P Ki:iSu},{P Kj:

jSc}, l0) for a subset Su⊆ {1,· · ·, n} such that SuSu,n0=∅ and l06=l,

and for a subsetSc⊆ {1,· · ·, k}, and gives the resulting header Hdrto the adversaryAand keeps the associated session keyK to itself.

4. The adversary A outputsK∗←Decrypt(P K, Su, Sc, l0,(f({P Ki:iS0⊆

Su,n0}), f({SKi:iS0⊆Su,n0})),{f({Certifi,l:iS0⊆Su,n0}) :jSc}, Hdr∗)

wheref is a function that takes as input public keys, secret keys or certifi-cates, and outputs a new public key, a new secret key or a new certificate as a combination of public keys, secret keys or certificates, respectively. 5. The adversaryAwins the game ifK∗=K.

Definition 2. We say that a File Sharing system in Electronic Health Records is fully collusion resistant if not-time algorithmAhas non-negligible advantage in the above game.

2.3 Broadcast Encryption

A Broadcast Encryption (BE) system [6, 5, 4, 8] is made up of three randomized algorithms (SetupBE,EncryptBE,DecryptBE) such that:

1. SetupBE(n) takes as input the number of receivers n. It outputsn secret keysd1,· · ·, dnand a public key P K.

2. EncryptBE(S, P K) takes as inputs a subsetS⊆ {1,· · ·, n}and a public key

P K. It outputs a pair (Hdr, K) whereHdr is called the header andK∈ K is a message encryption key chosen from a finite key set K. We will often refer toHdr as the broadcast ciphertext.

LetM be a message to be broadcast that should be decipherable precisely by the receivers inS. LetCM be the encryption ofM under the symmetric keyK. The broadcast consists of (S, Hdr, CM). The pair (S, Hdr) is often called thefull header andCM is often called thebroadcast body.

3. DecryptBE(S, i, di, Hdr, P K) takes as inputs a subsetS⊆ {1,· · ·, n}, a user identityi∈ {1,· · ·, n}and the secret keydi for useri, a headerHdr, and the public keyP K. If iS, then the algorithm outputs a message encryption keyK∈ K. Intuitively, userican then useK to decrypt the broadcast body

CM and obtain the message bodyM.

We require that for all subsetS⊆ {1,· · ·, n}and alliS, if (P K,(d1,· · ·, dn))←

SetupBE(n) and (Hdr, K)←EncryptBE(S, P K), thenDecryptBE(S, i, di, Hdr,

(8)

2.4 Certificate-Based Encryption

A certificate-updating Certificate-Based Encryption (CBE) system is made up of six randomized algorithms (GenIBE,GenPKE,Upd1,Upd2,EncryptCBE,

De-cryptCBE) such that:

1. GenIBE(λ1, t) takes as inputs a security parameter λ1 and (optionally) the

total number of time periodst. It outputsSKIBE(the certifier’s master secret

key) and public parametersparams that include a public key P KIBE and

the description of a string spaceS.

2. GenPKE(λ2, t) takes as inputs a security parameterλ2 and (optionally) the

total number of time periods t. It outputsSKPKE and public key P KPKE

(the client’s secret and public keys).

3. Upd1(SKIBE, params, l, s, P KPKE) takes as inputsSKIBE,params,l, string

s∈ S and P KPKE, at the start of time periodl. It outputs Cert0l, which is sent to the client.

4. Upd2(params, l, Cert0l, Certl−1) takes as inputsparams, l, Cert0l and

(op-tionally)Certl−1, at the start of time periodl. It outputsCertl.

5. EncryptCBE(params, l, s, P KPKE, M) takes as inputs (params, l, s, P KPKE, M), whereM is a message. It outputs a ciphertextCon messageM intended for the client to decrypt usingCertl andSKPKE(and possibly s).

6. DecryptCBE(params, Certl, SKPKE, C, l) takes as inputs (params, Certl, SKPKE, C) in time periodl. It outputs eitherM or the special case⊥indicating fail-ure.

We require thatDecrypt(params, Certl, SKPKE,Encrypt(params, l, s, P KPKE, M), l) =M for the givenparamsGenIBE(λ1, t),P KGenPKE(λ2, t),Certl

Upd2(params, l,Upd1(SKIBE, params, l, s, P KPKE), Certl−1).

3

An Efficient Construction

Our constructionFSEHRis an effective combination of the BGW Broadcast En-cryption (BE) scheme [4] and the Gentry’s Certificate-Based Encryption (CBE) scheme [7]. Notice that the Gentry’s CBE scheme is designed for a communi-cation between one sender and one receiver. Therefore, applying the Gentry’s CBE scheme directly to the BGW, will lead to the linear size of the headers in the number of users and of certifiers in the two respective subsets designed by the sender, which is impractical. However, we managed to overcome this issue and achieve constant size for header, secret keys and certificates. Moreover, our schemeFSEHRis proved selective CCA secure using the standard transformation from the REACT scheme proposed by Okamoto and Pointcheval [11].

Setup(λ, n, k). On input the security parameterλ, the total numbernof users, and the total numberkof certifiers, run (p,G,GT, e)←GroupGen(λ, n, k). Pick at randomgRGandαRZp, computegi=g(α

i)

fori= 1,· · ·, n, n+ 2,· · ·,2n. Pick at random γRZp and compute v=. Choose three hash functions

(9)

H1:G× {0,1}∗→G,H2:G×G→G, andH3:GT×G×G×G×G→ {0,1}λ. For useri∈ {1,· · ·, n}, compute the user’s secret key asdi=gγi(=v(α

i)

). Independently, forj∈ {1,· · ·, k}, certifier j computes its own public/secret key pair as follows: choose at random an exponent σjRZpand then compute the public keywj=gσj. Set the secret key asdcj=σj.

Set the public parameters asP K= (p,G,GT, g, g1,· · ·, gn, gn+2,· · ·, g2n, v, w1,

· · ·, wk, H1, H2, H3).

Certif(P K, dcj, i, l). On input the public parametersP K, the certifierj’s secret

keydcj, the useri, and the time periodlrepresented as a string in{0,1}

, pick

at randomri,j,lRZpand compute the user’s certificateei,j,l= (ei,j,l,1, ei,j,l,2)

as follows: ei,j,l,1=gσj i ·H1(wj, l) σj·ri,j,l(=w(α i) j ·H1(wj, l) σj·ri,j,l) ei,j,l,2=gσj·ri,j,l(=w ri,j,l j )

Encrypt(P K, Su, Sc, l). On input the public parametersP K, a setSu⊆ {1,· · ·, n} of users, a set Sc⊆ {1,· · ·, k} of certifiers, and the time period l, pick at ran-dom an exponenttRZp, compute the session keyK=e(gn+1, g)t, and set the

headerHdr= (C1, C2, C3, C4, C5) as follows: (gt, Y jSc H1(wj, l)t,(v· Y jSc wj· Y i0S u gn+1i0)t, H2(C1, C3)t, H3(K, C1, C2, C3, C4))

Decrypt(P K, Su, Sc, l, i, di, ei,j,l, Hdr). On input the public parametersP K, a set Su⊆ {1,· · ·, n} of users, a set Sc⊆ {1,· · ·, k} of certifiers, the time period

l, the useri with its secret keydi and its certificates ei,j,l forjSc, parsed as (ei,j,l,1, ei,j,l,2), and the headerHdrparsed as (C1, C2, C3, C4, C5), check whether e(C1, H2(C1, C3)) ? =e(g, C4), and output K= e(gi, C3)·e( Q jScei,j,l,2, C2) e(di·QjScei,j,l,1· Q i0S u\{i}gn+1−i0+i, C1) =e(gn+1, g)t

Then, computeC50=H3(K, C1, C2, C3, C4). IfC50=C5, then returnK; otherwise

return⊥.

Correctness. Notice that g(αi 0

)

i =gi+i0 for any i, i0. At time period l, user iSu⊆ {1,· · ·, n}with secret keydi and certificateei,l,j forjSc⊆ {1,· · ·, k} decrypts as follows: K= e(gi, C3)·e( Q jScei,j,l,2, C2) e(di·QjScei,j,l,1· Q i0S u\{i}gn+1−i0+i, C1) = e(g (αi),(v·Q jScwj· Q i0S ugn+1−i0) t)·e(Q jScg σj·ri,j,l,Q jScH1(wj, l) t) e(v(αi) ·Q jScw (αi) j ·H1(wj, l)σj·ri,j,l·Qi0S u\{i}gn+1−i0+i, g t) =e(gn+1, g)t

(10)

Performance. In the following table, we evaluate the efficiency of our scheme FSEHR. We use results of cryptographic operation implementations (exponen-tiations and pairings) using the MIRACL library, provided by Certivox for the MIRACL Authentication Server Project Wiki. All the following experiments are based on Borland C/C++ Compiler/Assembler and tested on a processor 2.4 GHz Intel i5 520M.

For our symmetric pairing-based systems, AES with a 80-bit key and a Super Singular curve overGFp, for a 512-bit moduluspand an embedding degree equal to 2, are used. We assume that there aren= 100 users andk= 20 certifiers.

Exponentiation inGExponentiation inGT Pairings

Time/computation 1.49 0.36 3.34

AlgorithmsSetup 546,80

Certif 89,40

Encrypt 5,96 0,36 3,34

Decrypt 16,70

Fig. 2.Timings for our symmetric pairing-based systemFSEHR. Times are in millisec-onds.

We note that the total time in the algorithmSetupis substantial, but we recall that this algorithm should be run only once to generate the public parameters and the static secret keys for both users and certifiers. In the algorithmCertif, it requires 89,40 milliseconds because k= 20 certificates are created. Finally, in the algorithmsEncryptandDecrypt, it takes 9,66 and 16,70 milliseconds respectively, mainly due to the cost of pairing computations.

4

Security Proofs

Assumption. We prove the security of our schemeFSEHRusing the Decisional

n-Bilinear Diffie-Hellman Exponent (DBDHE) assumption, which is as follows.

Definition 3. The (t, n, ε)-BDHE assumption says that for any t-time adver-saryB that is given(g, h, ga, ga2,· · ·, gan, gan+2,· · ·, ga2n)∈G2n+1, and a

candi-date to Decisionaln-BDHE problem, that is eithere(g, h)an+1

GT or a random value T, cannot distinguish the two cases with advantage greater thanε:

AdvBDHEB,n=|P r[B(g, h, ga, ga

2

,· · ·, gan, gan+2,· · ·, ga2n, e(g, h)an+1) = 1] −P r[B(g, h, ga, ga2,· · ·, gan, gan+2,· · ·, ga2n, T) = 1]| ≤ε

Selective CCA Security Proof.

Theorem 1. The File Sharing scheme in Electronic Health Records FSEHR achieves Selective CCA Security under the Decision n-BDHE assumption, in the random oracle model.

(11)

Proof. We assume there exists an adversaryAthat breaks the semantic security of theFSEHRscheme with probability greater thanεwithin timet, makingqH1, qH2 and qH3 random oracle queries, qcf certification queries andqd decryption

queries. Using this adversary A, we build an attacker B for the Decisional n -BDHE problem inG.Bproceeds as follows.

For simplicity, we writegi=g(α

i)

for an implicitly definedα. B first takes as input a Decisional n-BDHE intance (g, h, g1,· · ·, gn, gn+2,· · ·, g2n, Z) where

Z=e(gn+1, h) or ZRGT. B makes use of three random oraclesH1, H2 and H3, and three respective hash listsL1, L2 andL3, initially set empty, to store

all the query-answers.

Init.Aoutputs a setSu∗⊆ {1,· · ·, n}of users that it wishes to be challenged on.

Setup. B needs to generate the public parameters P K, the secret keys di for

i /Su∗, and the secret keysdcj for the certifierj∈ {1,· · ·, k}. It chooses random

elementsx, y1· · ·, ykRZp, and setsv=gx/Qi0S

ugn+1−i0,wj=g

yj andd

cj= yj forj∈ {1,· · ·, k}. It then computes

di=gix/ Y i0∈Su gn+1i0+i=gx·(α i )·( Y i0∈Sugn+1i0)−(α i )=v(αi).

Eventually,BgivesAthe public parametersP K= (p,G,GT, e, g, g1,· · ·, gn, gn+2,

· · ·, g2n, v, w1,· · ·, wk, H1, H2, H3), where H1,H2 andH3 are controlled byB as

follows:

Upon receiving a query (wj, lj) to the random oracleH1for somej∈[1, qH1]:

• If ((wj, lj), uj, Uj) exists inL1, returnUj.

• Otherwise, choose ujRZp at random and compute Uj =guj. Put ((wj, lj), uj, Uj) inL1 and returnUj as answer.

Upon receiving a query (W1j, W2j) to the random oracleH2 for some j

[1, qH2]:

• If ((W1j, W2j), Xj) exists inL2, returnXj.

• Otherwise, chooseXjRGat random. Put ((W1j, W2j), Xj) in L2 and

returnXj as answer.

Upon receiving a query (Kj, C1j, C2j, C3j, C4j) to the random oracleH3 for

somej∈[1, qH3]:

• If ((Kj, C1j, C2j, C3j, C4j), C5j) exists inL3, returnC5j.

• Otherwise, chooseC5jR{0,1}λat random. Put (Kj, C1j, C2j, C3j, C4j),

C5j) inL3 and returnC5j as answer.

Phase 1. BanswersA’s queries as follows.

1. Upon receiving a Certification query (P Ki0, di, li0) for somei∈ {1,· · ·, n}and i0∈[1, qcf]:

If ((wi0,j, li0), ui0,j, Ui0,j) exists inL1, return the pair (ui0,j, Ui0,j) forj

{1,· · ·, k}.

Otherwise, chooseui0,jRZpat random, computeUi0,j=gui0,j, and put

(12)

Then, pick at randomri,j,l

i0 ∈RZpand return the certificateei,j,li0 where ei,j,li0,1=g yj i ·(U yj i0,j) ri,j,li0 =gyj·(αi)·(gui0,j)ri,j,liyj =gyj·(αi)·H 1(wi0,j, li0)ri,j,liyj=w(α i ) i0,j ·w ri,j,l iui0,j i0,j ei,j,li0,2=w ri,j,li0 i0,j

2. Upon receiving a Decryption query (Su,i0, Hdri0, i, li0) for somei∈ {1,· · ·, n}

andi0∈[1, qd], whereHdri0= (C1i0, C2i0, C3i0, C4i0, C5i0):

If ((Ki0, C1i0, C2i0, C3i0, C4i0), C5i0) exists inL3, do the following:

• ComputeH1(wi0,j, li0) using the simulation ofH1as above and check

whethere(C2i0, g)=?e(C1i0,Q

jScH1(wi0,j, li0)) forjSc⊆ {1,· · ·, k}.

If not, return ⊥. Otherwise, compute H2(C1i0, C3i0) using the

sim-ulation of H2 as above and check whether e(C1i0, H2(C1i0, C3i0))=? e(g, C4i0). If not, return⊥. Otherwise, check whetherKi0 is equal or

not to

e(gi, C3i0)·e(g, C2i0) e(gix+sumj∈Scy·Q

jScH1(wi0,j, li0), C1i0) .

If the above equation holds, returnKi0. Otherwise, return⊥.

Else, return⊥.

Challenge.Bgenerates the challenge on the challenge setSu∗ as follows. First, BsetsC1∗=hand searchs inL1to getuthat corresponds to (wj, l) such thatj

Sc⊆ {1,· · ·, k}. Then, it computesC2∗=hu. It also computesC3∗=h

x+P j∈Scy.

Informally, we write h=gt for an unknown t

Zp. Then, it randomly chooses an exponent zRZp, and sets C4∗=hz=H2(C1∗, C3∗)t . Second, it randomly

chooses a bit bR{0,1} and setsKb=Z and picks a randomKb−1 in GT. It also picks C5∗∈R{0,1}∗ at random, and sets C5∗=H3(Kb, C1∗, C2∗, C3∗, C4∗).

Fi-nally, it returns (Hdr∗= (C1, C2, C3, C4, C5∗), K0, K1) as the challenge toA.

WhenZ=e(gn+1, h), then (Hdr, K0, K1) is a valid challenge forA’s point

of view, as in the real attack. Indeed, if we writeh=gt for an unknownt∈Zp, then hx+ P j∈Scy=hx· Y jSc hyj· Q i0∈Sugn+1−i0 Q jSugn+1−i0 !t =gt·x· Y jSc gt·yj· Q i0∈Sugn+1−i0 Q jSugn+1−i0 !t =   gx Q i0Sugn+1−i0 · Y jSc gyj· Y i0Su gn+1i0   t =C3

Therefore, by definition,Hdr∗is a valid encryption of the session keye(gn+1, g)t.

Moreover,e(gn+1, g)t=e(gn+1, h) =Z=Kb, and thus (Hdr, K0, K1) is a valid

challenge toA. WhenZRGT, then K0 andK1 are random independent

(13)

Phase 2. Bresponds to the Certification and Decryption queries as in Phase 1. We note that if (Kb, C1, C2, C3, C4∗) is asked to the random oracle H3, the

valueC5∗ created in the simulation of the Challenge is returned.

Guess.The adversaryAoutputs its guessb0∈R{0,1}forb.

Analysis. In the simulations of the secret key generation and the certificate generation, the responses toAare perfect.

The simulation of the random oracleH1is not entirely perfect. LetQueryH1

be the event thatAhas queried before theChallengephase (wj, l∗) to H1 for j∈ {1,· · ·, k}. Except for the case above, the simulation ofH1 is perfect. This

event happens with probabilityk/p.

The simulation of the random oracles H2 and H3 are not entirely perfect.

LetQueryH2andQueryH3 be the events thatAhas queried before the

Chal-lengephase (C1, C3∗) toH2and (Kb, C

∗ 1, C ∗ 2, C ∗ 3, C

4) toH3. Except for the cases

above, the simulations ofH2 andH3are perfect. These two events happen with

probability 1/pand 1/2λ respectively.

The simulation of the Decryption oracle is nearly perfect, but a valid header can be rejected sometimes. Indeed, in the simulation of the Decryption oracle, if (K, C1, C2, C3, C4) has not been queried toH3, then the header is rejected. This

leads to two cases:

1. Auses the valueC5∗, which is part of the challenge, as a part of its Decryption query.

2. Ahas guessed a right value for the output ofH3 without querying it.

However, in the first case, since (C1, C2, C3, C4∗) andKb are provided as input to H3, the Decryption query that A would ask is the same as the challenge,

which is not allowed to query. The second case may happen but with negligible probability 1/2k. LetDecOdenote the event thatAcorrectly guesses the output of H3. Therefore, if B does not correctly guess the output of H3, A’s point of

view in the simulation is identical to the one in the real attack.

Thus, we have P r[B(g, g1,· · ·, gn, gn+2,· · ·, g2n, h) =e(gn+1, h)] =|P r[b0= bQueryH1∧ ¬QueryH2∧ ¬QueryH3∧ ¬DecO]−12| By definition ofA, we

have|P r[b0=b]−1

2|> εP r[QueryH1]−P r[QueryH2]−P r[QueryH3]−P r[DecO].

Hence, we have

|P r[b0=bQueryH1∧ ¬QueryH2∧ ¬QueryH3∧ ¬DecO]−

1 2|

>|P r[b0=b]−P r[QueryH1]−P r[QueryH2]−P r[QueryH3]−P r[DecO]−

1 2|

> εP r[QueryH1]−P r[QueryH2]−P r[QueryH3]−P r[DecO]

Since A makes qH1, qH2 and qH3 random oracle queries during the attack, P r[QueryH1]≤kqH1/p, P r[QueryH2]≤qH2/p and P r[QueryH3]≤qH3/2

λ. In the same way, sinceAmakesqdDecryption queries during the attack,P r[DecO] ≤qd/2λ. Therefore, we haveB’s winning probabilityε0> ε

k·qH1+qH2

p

qd+qH3 2λ .

(14)

Fully Collusion Resistance Proof.

Theorem 2. The File Sharing scheme in Electronic Health Records FSEHR is fully secure against any number of colluders, in the random oracle model. Proof. We assume there exists an adversaryAthat breaks the semantic security of theFSEHRscheme with probability greater thanεwhen interacting with an algorithmB.

Achooses a subsetSu,n0={u1,· · ·, un0} ⊆ {1,· · ·, n}of colluding users.Bthen

runsSetup(λ, n, k), provides the public parametersP K= (p,G,GT, g, g1,· · ·, gn,

gn+2,· · ·, g2n, v, w1,· · ·, wk, H1, H2, H3), the secret keys di=v(α

i)

for user i

Su,n0 toA, and keeps secret the certifier’s secret keysdc

j=σj forj∈ {1,· · ·, k}.

It also runsCertif(P K, dcj, i, l) and gives the certificateei,j,l= (ei,j,l,1=w (αi)

j ·

H1(wj, l)σj·ri,j,l, ei,j,l,2=w

ri,j,l

j ) toAfor useriSu,n0,j∈ {1,· · ·, k}, and time

periodl.

Afterwards,Bchooses a subsetS⊆ {1,· · ·, n}of users such thatSSu,n0=∅,

time periodl06=l, and setSc⊆ {1,· · ·, k}. It outputs (Hdr, K)←Encrypt(P K, S,

Sc, l), gives Hdr= (C1=gt, C2=QjScH1(wj, l)

t, C

3= (v·QjScwj·

Q

i0S gn+1−i0)t, C4=H2(C1, C3)t, C5=H3(K, C1, C2, C3, C4)) toA and keeps secret

the session keyK=e(gn+1, g)t.

A computes new secret key and certificate eχ,j,l from the secret keys and certificates of users inSu,n0 that it previously obtained as follows. First,A

defines a subsetSu,n¯⊆Su,n0, and sets

= Y i0S u,n¯ di0=v P i0∈Su,¯ i0 =vfχ(α) eχ,j,l,1 = Y i0S u,n¯ ei0,j,l,1=w P i0∈Su,n¯α i0 j ·H1(wj, l) σj·Pi0∈Su, ¯ nri0,j,l =wfχ(α) j ·H1(wj, l) σj·rχ,j,l eχ,j,l,2 =w P i0∈Su,¯nri0,j,l j =w rχ,j,l j wherefχ(α) =P i0∈Su,n¯α

i0. For a useribelonging toS, it has to cancel out the following terms e(g,(v(αi)·Q jScw (αi) j · Q i0∈S\{i}gn+1−i0+i)t) e(vfχ(α)·Q jScw (α) j · Q i0S\{i}gn+1−i0+i, gt) = e(g, v (αi)·Q jScw (αi) j ) e(vfχ(α)·Q jScw (α) j , g) Q jSce(g σj·rχ,j,l,Q jScH1(wj, l 0)t) Q jSce(H1(wj, l) σ·rχ,j,l, gt) = e(g,Q jScH1(wj, l 0)) e(Q jScH1(wj, l), g)

In the first equality, the two termsvαi(α)andwα if

χ(α)

j should be wiped out. Thus, one wants to have fχ(α) =P

i0∈Su,n¯α

(15)

one root of the polynomialP(x) =P

i0S

u,n¯∪{i}x

i0 of degree ¯n+ 1. This happens with probabilityP r[(α) =αi modp]≤(¯n+ 1)/p. In the second equality, if we suppose thatl6=l0,j, j0∈ {1,· · ·, k}, and the hash functionH1is a random oracle,

then the probability that the two outputs are equalP r[H1(wj0, l0) =H1(wj, l)]≤

1/p. Finally,Ahas negligible advantageAdvFSEHRA,n,k≤(¯n+ 2)/pto retrieve the session keyK.

References

1. J. A. Akinyele, M. W. Pagano, M. D. Green, C. U. Lehmann, Z. N. Peterson, and A. D. Rubin. Securing electronic medical records using attribute-based encryption on mobile devices. InSPSM ’11, ACM, pp 75-86, 2011.

2. J. L. F. Alem´an, I. C. Se˜nor, P. A. O. Lozoya, and A. Toval. Security and privacy in electronic health records: A systematic literature review. Journal of Biomedical Informatics, 46(3):541–562, 2013.

3. J. Benaloh, M. Chase, E. Horvitz, and K. Lauter. Patient controlled encryption: Ensuring privacy of electronic medical records. InCCSW ’09, ACM, pp 103-114, 2009.

4. D. Boneh, C. Gentry, and B. Waters. Collusion resistant broadcast encryption with short ciphertexts and private keys. InCRYPTO’05, LNCS, pp 258-275. Springer-Verlag, 2005.

5. Y. Dodis and N. Fazio. Public key broadcast encryption for stateless receivers. In

Digital Rights Management, LNCS 2696, pp 61-80. Springer, 2003.

6. A. Fiat and M. Naor. Broadcast encryption. InCRYPTO ’93, LNCS, pp 480-491. Springer-Verlag, 1994.

7. C. Gentry. Certificate-based encryption and the certificate revocation problem. In

EUROCRYPT’03, LNCS, pp 272-293. Springer-Verlag, 2003.

8. C. Gentry and B. Waters. Adaptive security in broadcast encryption systems (with short ciphertexts). InEUROCRYPT 2009, LNCS 5479, pp 171-188. Springer, 2009. 9. G. H. M. B. Motta and S. S. Furuie. A contextual role-based access control autho-rization model for electronic patient record. IEEE Transactions on Information Technology in Biomedicine, 7(3):202–207, 2003.

10. S. Narayan, M. Gagn´e, and R. Safavi-Naini. Privacy preserving ehr system using attribute-based infrastructure. InCCSW ’10, ACM, pp 47-52, 2010.

11. T. Okamoto and D. Pointcheval. React: Rapid enhanced-security asymmetric cryp-tosystem transform. InCT-RSA 2001, LNCS 2020, pp 159-174. Springer, 2001. 12. M. Peleg, D. Beimel, D. Dori, and Y. Denekamp. Situation-based access control:

Privacy management via modeling of patient data access scenarios.J. of Biomedical Informatics, 41(6):1028–1040, Dec. 2008.

13. H. Wang, Q. Wu, B. Qin, and J. Domingo-Ferrer. Frr: Fair remote retrieval of outsourced private medical records in electronic health networks. In J Biomed Inform. Elsevier, 2014.

References

Related documents

Application of Cloude’s target decomposition theorem to polarimetric imaging radar data and radar polarimetry.. Radar interferometry and its application to changes in the

The aims of the Language policy were to redress what was implemented by apartheid South Africa where English and Afrikaans were afforded a higher status than the

Quality management system audits are typical of schemes seeking to guarantee minimum standards in a B2B environment (ISO 9001, ISO FIGURE 1. Number of certification

When the multiple objective exposure control method is applied, any weighting function is a combination of function for controlling underexposure and a function

The Alice Springs electricity network is a relatively small ‘island’ grid which provides power to the greater Alice Springs area, including some defence facilities, aerodromes

Key Points of Text Processing Can turn text and qualitative data into quantitative data • Each technique (text classification, browsing model,. or domain model) performs only

25 Coinciding with Venturi’s manifesto was a concept of complexity that could be discussed in the context of a ‘general, formal science of the structure, relations, and behavior

The Mid-Atlantic Region is blessed with an excellent climate for growing all divisions of daffodils, and cursed with generally poor hard packed red clay soil.. Most of the