Documente Academic
Documente Profesional
Documente Cultură
fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
Date of publication xxxx 00, 0000, date of current version xxxx 00, 0000.
Digital Object Identifier 10.1109/ACCESS.2017.DOI
ABSTRACT Electronic medical records (EMRs) play an important role in healthcare networks. Since
these records always contain considerable sensitive information regarding patients, privacy preservation
for the EMR system is critical. Current schemes usually authorize a user to read one’s EMR if and only
if his/her role satisfies the defined access policy. However, these existing schemes allow an adversary to
link patients’ identities to their doctors. Therefore, classifications of patients’ diseases are leaked without
adversaries actually seeing patients’ EMRs. To address this problem, we present two anonymous schemes.
They not only achieve data confidentiality but also realize anonymity for individuals. The first scheme
achieves moderate security, where adversaries choose attack targets before obtaining information from the
EMR system. The second scheme achieves full security, where adversaries adaptively choose attack targets
after interaction with the EMR system. We provide rigorous proof showing the security and anonymity of
our schemes. In addition, we propose an approach in which EMR owners can search for their EMRs in an
anonymous system. For a better user experience, we apply the “online/offline” approach to speed up data
processing. Experimental results show that the time complexity for key generation and EMR encapsulation
can be reduced to milliseconds.
VOLUME 4, 2016 1
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
schemes (RBACs) [8] also allow fine-grained access control. Scalable data sharing. Senior medical staff members are
They define a role-based policy for a hierarchical organi- allowed to delegate access privileges to their subordinates.
zation with identity-based broadcast encryption (HIBBE).
Anonymous search. A patient and his doctors can link
While the above proposals achieve data confidentiality in
themselves to the targeted EMR, but outsiders cannot.
the EMR system, privacy preservation for patients is still
an unresolved issue. For example, an EMR of the patient
B. RELATED WORK
“Lucy” is uploaded to the cloud, and no attacker can read
the encrypted EMR. If the doctor is an expert in the hepatitis Access control [11] is widely adopted in the EMR system
disease, an attacker can infer that Lucy may carry hepatitis to protect patients’ health data. Access control policies are
B without decrypting her EMR. This means that an attacker specified by some pieces of legislation, i.e., health insurance
can obtain her disease-related information by linking Lucy portability and accountability act (HIPAA) [12], electronic
to her doctor, even without seeing the detailed EMR. This documents [13], and company rules or regulations. The leg-
means that adversaries possess the capacity that no matter islation regulates who can access and how they can operate
if the EMRs are encrypted or not, adversaries can deduce the the stored EMRs. Two solutions are usually used to support
EMR owners’ diseases based on some experience, such as the flexible access control. One solution is to use attribute-
acquired identity-related information. Therefore, if there is based encryption [14], [15]. As attributes can be applied to
an anonymous scheme that obfuscates the identity of the pa- describe users’ privileges, data owners determine the access
tient during an examination, adversaries can only determine policies. The other solution is to use role-based access control
that “someone” carries hepatitis B without knowing who it schemes [8], where each user’s identity denotes a role and
is. Thus, the patient’s privacy is preserved. one is allowed to gain access permission if his role belongs to
a defined policy. However, there is still a lack of consideration
A. OUR CONTRIBUTIONS regarding the identity privacy of EMR owners. Anonymiza-
We design two anonymous schemes, denoted as “RBACAnony” tion techniques can be used to guarantee users’ identity
and “RBACAnony-F”, to preserve patients’ privacy in an privacy [16]. For example, some anonymous ABE schemes
EMR system with role-based access control. We present address not only data privacy but also identity privacy [17],
competing models and a high level demonstration of rigorous [18]. These schemes provide an analysis of confidentiality,
proof. In brief, our schemes have the advantage of data con- anonymity and flexibility.
fidentiality, identity anonymity and access control flexibility. In practice, an unaddressed challenge to real-world de-
Technical details are highlighted as follows. ployment remains: healthcare organizations are usually struc-
tured hierarchically, with data being shared among many
RBACAnony. This scheme is built on a bilinear group with users. In a previous work, we achieved anonymous role-based
two subgroups [9], and a patient’s identity information is access control in this kind of organization with a moderate
hidden in one of the subgroups. The identity-related element security level, where an attacker must output the targeted
in this subgroup is indistinguishable from a random element identities before communication with the EMR system [19].
chosen from the bilinear group. Therefore, an attacker cannot This scheme is denoted as RBACAnony in this paper. We
distinguish a patient’s identity from a random string. In additionally propose a new scheme in the current work,
addition, an attacker chooses the targeted identities he/she denoted as RBACAnony-F, where an attacker can adaptive-
wishes to attack before the system is set up. This means that ly output the targeted identities after interaction with the
an attacker of the RBACAnony scheme cannot obtain any EMR system. Both schemes preserve patients’ privacy in
experience prior to attacking. a healthcare network. The anonymous algorithms in [10],
RBACAnony-F. This scheme is built on a bilinear group [20] are used to achieve patient privacy for RBACAnony and
with four subgroups [10], and a patient’s identity information RBACAnony-F, respectively.
is hidden in one of the composite-order subgroups. The
identity-related element in this subgroup cannot be distin- II. PRELIMINARIES
guished from an element randomly chosen from the same A. NOTATIONS
subgroup. Therefore, an attacker cannot distinguish the pa- We introduce several notations to simplify the illustration of
tient’s identity from a random string. In addition, an attacker our scheme. For ease of description, we borrow notations
adaptively gives out the targeted identities he/she wishes to from [8], as summarized in Table 1.
attack after interacting with the EMR system. This means that
an attacker of the RBACAnony-F scheme can accumulate B. BILINEAR GROUPS
experience before attacking and thus possesses a stronger Let G be a group generation algorithm that takes a security
ability to attack. parameter λ as its input and outputs the description of a
Versatile access control. A user encapsulates the EMR bilinear group (N, G, GT , e). In the case where G outputs
using an on-demand access policy. This policy enables one- (N = p1 p2 p3 p4 , G, GT , e), where p1 , p2 , p3 , p4 are distinct
to-many encryption, where the EMR is encrypted once and prime factors, G and GT are cyclic groups of order N =
different medical staff members are allowed to access it. p1 p2 p3 p4 , and e : G × G → GT is an efficient bilinear
2 VOLUME 4, 2016
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
TABLE 1: Notations related information in the system such that adversaries cannot
Notation Description infer patients’ personal information. The adversaries include
λ Security parameter the dishonest internal staff and the malicious external attack-
ID Identity of a patient
R Atom role of medical staff member
ers.
−
→
R Role of medical staff member
−
→
S→
−
R
Atom role set for R
P Access policy 3DWLHQW
3DWLHQW
3DWLHQW
3DWLHQW
SP Atom role set for P
−
→ −
→
P ref ( R) Prefix of R, defined as {(R1 , ..., Rd0 ) : d0 ≤ d}
−
→
Prefix of P, defined as →
S
P ref (P) −
R∈P
P ref ( R)
M SK Master secret key 2XW3DWLHQW'RFWRU 2XW3DWLHQW1XUVH &ORXG6HUYHU
→
− −
→ 7UXVWHG EMR
SK R Secret key for a role R $GPLQLVWUDWH
$XWKRULW\
ĂĂ
EM R Electronic medical record (OHFWULF0HGLFDO5HFRUG EMR
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
1) Semantic Security Model access policy set P ∗ and the challenge patient’s identity ID∗
We adopt the selective security notion [8], i.e., an adversary from a ciphertext of the challenge EMR with a random access
must present the set of medical staff roles and the identity of policy set and a random patient’s identity.
the patient it wishes to attack before the system is set up.
3) Full Secure Anonymity Model
Init. The adversary A outputs a challenge access policy set
In the full secure anonymity model, instead of committing the
P ∗ and a challenge identity ID∗ .
challenge access policy P ∗ and the challenge identity ID∗ it
Setup. The challenger runs the Setup algorithm to obtain wishes to attack before the system is set up, the adversary A
public key P K and gives it to the adversary A. can adaptively decide to output the challenge access policy
set and identity during the system interaction. Clearly, this
Query Phase 1. The adversary A adaptively issues two kinds model achieves a stronger security level. Specifically, there
of queries: is no Init phase in the full secure anonymity model. The
• Upon receiving a secret key query for a medical staff adversary A outputs a challenge access policy set P ∗ and a
→
− →
−
member associated with a role R such that R ∈ / challenge patient’s identity ID∗ that it wishes to attack after
→
−
P ref (P ? ), the challenger generates a secret key for R it issues sufficient key queries in the Query phase. The chal-
and gives it to A. lenge access policy set P ∗ and the challenge identity ID∗
• Upon receiving a secret key query for patients with should satisfy the following: for all the secret key queries for
→
− →
−
an identity ID such that ID 6= ID? , the challenger roles R and identity ID in Query Phase 1, R ∈ / P ref (P ∗ )
generates a secret key for ID and gives it to A. and ID 6= ID . ?
Challenge. When the adversary A decides that it has ob- IV. RBACANONY CONSTRUCTION
tained enough secret keys, it outputs two equal-length EMR A. OUR PROPOSAL
files EM R0 , EM R1 that it wishes to challenge. The chal-
Our RBACAnony scheme is based on the HIBE scheme pro-
lenger picks a random bit β ∈ {0, 1} and encapsulates the
posed by Boneh et al. [22] and the RBAC scheme proposed
EM Rβ under the challenge access policy set P ∗ and the
by Liu et al. [8] and offers an efficient approach to supporting
challenge identity ID∗ . It gives A the challenge ciphertext
hierarchical access control. The property is motivated by Seo
(Hdr, En), where En is the output of the encapsulation of
et al. [20] and is achieved by leveraging bilinear groups with
EM Rβ .
composite order N = pq. Elements in the public parameters
Query Phase 2. Phase 1 is repeated adaptively. are utilized in two separate layers: “key generation layer" and
“anonymity layer". Elements in the “key generation layer"
Guess. The adversary A outputs a guess β 0 ∈ {0, 1} and are in the subgroup Gp . They provide the secret key and
wins the game if β 0 = β. master secret key functionality. Elements in the “anonymity
We require that no polynomial time adversary can distin- layer" are hidden by the elements in the subgroup Gq , which
guish a ciphertext of a challenge EMR from a ciphertext of a helps to ensure anonymity. In this way, we offer information
random message with the challenge access policy set P ∗ and regarding the subgroup Gp in the “key generation layer"
the challenge patient’s identity ID∗ . while maintaining our scheme’s anonymity with the help of
the "anonymity layer".
2) Anonymity model
The Init, Setup, and Query phases are the same as that in Setup(λ, n). The setup algorithm is run by the TKA. We
the semantic security model. assume that patient identities and medical staff roles are
elements in ZN . A secure symmetric encryption scheme
Challenge. When an adversary A decides that it has ob- with algorithms SymEnc(K, EM R) and SymDec(K, En)
tained enough secret keys, it outputs two equal-length EMRs and a collision resistant hash H : {0, 1}∗ → ZN are
EM R0 , EM R1 regarding what it wishes to be challenged. employed in our scheme. The TKA picks a random exponent
The challenger picks a random bit β ∈ {0, 1}. If β = 0, R
α ← ZN , random elements ω, gp , g, f, u, gh , {hi }i∈[1,n] in
it generates the header Hdr of the ciphertext under the Gp , and random elements gq , Rg , Rf , Ru , Rh , {Rhi }i∈[1,n]
challenge access policy set P ∗ and the challenge identity in Gq . Next, it computes
ID∗ and encapsulates EM R0 . If β = 1, it generates the
header of the ciphertext under a random access policy set E = e(g, ω), G = g · Rg , F = f · Rf , U = u · Ru ,
and a random patient’s identity and encapsulates EM R1 . It H = gh · Rh , {Hi = hi · Rhi }i∈[1,n]
gives A the challenge ciphertext (Hdr, En), where En is the
The public key P K includes the description of composite-
output of the encapsulation of EM Rβ .
order bilinear groups (N, G, GT , e), and
Guess. The adversary A outputs a guess β 0 and wins the
P K = gp , gq , G, F, U, H, {Hi }i∈[1,n] , E
game if β 0 = β.
We require that no polynomial time adversary can distin- The master key is M SK = ω, p, q, g, f, u, gh , {hi }i∈[1,n]
guish a ciphertext of the challenge EMR with the challenge and is kept by the TKA.
4 VOLUME 4, 2016
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
→
−
KeyGenM(P K, M SK, R). For any medical staff member
→
−
associated with role R = (R1 , ..., Rd ), denote I = {i :
Y
→− re1
Ri ∈ S→ − }. When a medical staff member wants to join the SKdR = ω u · hR
i
i
f r
e2
, g r
e1
, g r
e2
, gh
r
e1
, {hr
j
e1
}
R
system, he should first be authenticated by the TKA. Next, if i∈I
he is a top-level →
−
medical staff member, the TKA generates a where j ∈ [1, n]\I and
secret key SK R for him. The TKA picks random exponents
R re1 r1 s1 t1 γ1
r1 , r2 , s1 , s2 , t1 , t2 ← ZN satisfying s1 · t2 − s2 · t1 6= = +
re2 r2 s2 t2 δ1
0 mod p and s1 ·t2 −s2 ·t1 6= 0 mod q. If the equations do not →
−
hold, the TKA picks other random exponents →
−
and repeats the It follows that SKdR is well formed, appearing as if it
procedure. It outputs the secret →
−
key SK R
, which consists of was generated directly by the TKA using the KeyGenM
two subkeys: the subkey SKdR is used for decryption and del- algorithm. →
−
→
−
egation, and the subkey SKrR is used for re-randomization. To delegate SKrR , the high-level medical staff member
R
picks random exponents γ2 , δ2 , γ3 , δ3 ← ZN satisfying
→−
Y r1 gpγ2 ·δ3 −γ3 ·δ2 6= 1 and gqγ2 ·δ3 −γ3 ·δ2 6= 1. Then, he delegates
Ri
SKdR = ω u hi r2 r1 r2 r1 r1
f , g , g , gh , {hj } the secret key by using
i∈I ( )
→−
Y s 1 →
−
R
dr,1 , dr,2 , dr,3 , dr,4 , {dr,j }j∈[1,n]\I ,
SKrR = u hR i
f s2 , g s1 , g s2 , ghs1 , {hsj 1 }, SKr = =
i d0r,1 , d0r,2 , d0r,3 , d0r,4 , {d0r,j }j∈[1,n]\I
i∈I γ2 δ2
R 0 0 R γ2 0 δ2
t1
ar,0 (br,i ) · a r,0 (br,i ) , ar,1 · a r,1 ,
Y
u hR t2 t1 t2 t1 t1
i
f , g , g , g , {h }
i h j
i∈I\I 0
0 δ2 0 δ2 0 δ2
i∈I
γ2 γ2 γ2
ar,2 · a r,2 , ar,3 · a r,3 , {br,j · b r,j }j∈[1,n]\I ,
In the above equations, j ∈ o[1, n]\I. Finally, the TKA γ3
R δ3
δ3
ar,0 (bR ) · a0 r,0 (b0r,i ) , aγr,1
3
· a0 r,1 ,
→
− n →
− →
−
r,i
outputs SK R = SKdR , SKrR for the medical staff.
i∈I\I 0
γ3 0 δ3 γ3 0 δ3 γ3 0 δ3
−
→0
a · a , a · a , {b · b }
r,2 r,2 r,3 r,3 r,j r,j j∈[1,n]\I
KeyDelegM(P K, SK R , R). The secret key for a low-level →−
→
− −→ Finally, the delegated secret key SKrR can be rewritten as
medical staff member associated with a role R = (R0 , R) is
derived from a given secret key of his supervisor at a higher-
−
→
R0
−→
R0
−→
R0
−
→ Y se1
level SK = (SKd , SKr ) associated with a role R0 ,
u· Ri
hi s s s
f , g , g , gh , {hj },
e2 e1 e2 s
e1 s
e1
where
→
−
i∈I
−→0 SKrR = t1
SKdR = ad,0 , ad,1 , ad,2 , ad,3 , {bd,j }j∈[1,n]\I 0
Y e
hR f t2 , g t1 , g t2 , ght1 , {htj1 }
u·
i e e e e e
i
−→0 n
i∈I
SKrR = ar,0 , ar,1 , ar,2 , ar,3 , {br,j }j∈[1,n]\I 0 ,
o where j ∈ [1, n]\I and
a0r,0 , a0r,1 , a0r,2 , a0r,3 , {b0r,j }j∈[1,n]\I 0
se1 et1 s1 t1 γ2 γ3
=
and I 0 = {i : Ri ∈ S−→0 }. The high-level medical staff se2 t2
e s2 t2 δ2 δ3
R →
−
member generates a secret key SK R for the low-level →
−
one In conclusion, by running KeyDelegM, the delegated se-
that also consists of two parts: the decryption part SKd and
R
cret key is well formed, appearing as if it was generated
→
−
the re-randomization part SKrR . directly by the TKA using KeyGenM.
→
−
For the decryption part SKdR , the high-level medical staff KeyGenP(P K, M SK, ID). When a patient with identity
R
member picks random exponents γ1 , δ1 ← ZN and delegates ID wants to access his own EMR, the TKA first authorizes
the secret key for the low-level one by using him and then assigns him a secret key. The TKA picks a
R
random exponent r10 , r20 ← ZN and outputs
→−
SKdR = d1 , d2 , d3 , d4 , {dj }j∈[1,n]\I = SK ID = d01 , d02 , d03 , {d0j }j∈[1,n]
δ1 r0
γ1 n 0 0 0 0
o
R R 0 0 R = ω(ughID )r1 f r2 , g r1 , g r2 , {hj 1 }j∈[1,n]
a (b
d,0 d,i ) · a (b
r,0 r,i ) · a (b
r,0 r,i )
i∈I\I 0
δ δ δ
ad,1 · aγr,1
1
· a0 r,1
1
, ad,2 · aγr,2 1
· a0 r,2
1
, ad,3 · aγr,3
1
· a0 r,3
1
EMREnc(P K, ID, P, EM R). For an access policy P, de-
δ1
{bd,j · bγr,j1 · b0 r,j note I = {i : Ri ∈ SP }. When an EMR needs to be
}j∈[1,n]\I
encapsulated under a patient’s identity ID and an access
where I = {i : Ri ∈ S→
− }. Finally, the delegated secret key
R policy P, the user (the patient or the medical staff member)
→
− R
SKdR can be attained in the form first picks a random exponent s ← ZN and random elements
VOLUME 4, 2016 5
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
R
Z1 , Z2 , Z3 ← Gq . Note that these random elements in Gq B. SECURITY ANALYSIS
can be chosen by raising gq to random exponents from ZN . We showed that the RBACAnony scheme is selectively se-
Next, the user computes the header Hdr as follows: cure and anonymous in Sections III-C1 and III-C2, respec-
tively. We now validate these characteristics via the following
Hdr = {C1 , C2 , C3 } games between an adversary and a challenger.
s
• CT1 of Game1 : ((C1 , C2 , C3 , ), En)
Y
={Gs · Z1 , F s · Z2 , U H ID HiRi Z3 }
i∈I • CT2 of Game2 : ((C1 , C2 , C3 , ), En · Rp )
• CT3 of Game3 : ((C1 , C2 , C3 , ), En · R = REn )
Then, the user generates a session key K = E s and • CT4 of Game4 : ((R1 , C2 , C3 , ), REn )
computes En = SymEnc(K, EM R). The encapsulated • CT5 of Game5 : ((R1 , R2 , R3 , ), REn )
EMR is output as CT = (Hdr, En) = (C1 , C2 , C3 , En). where Rp is randomly chosen from GT,p , R and REn are uni-
→
− formly distributed in GT , and R1 , R2 , and R3 are uniformly
EMRDecM(P K, ID, (Hdr, En), SK R ). To retrieve the distributed in G.
session key K, the medical staff member with a role satis-
fying the access policy P can use his secret key to compute Proof. We develop the proof via contradiction. Assume that a
PPT adversary can break the RBACAnony scheme. We then
solve a series of difficult-to-solve mathematical assumptions:
Q
e d1 · dID
4 · dR i
, C1
i
i∈I\I l-BDHE assumption, BSD assumption, l-cDH assumption
K= and l-cDHE assumption [19]. Since no PPT algorithm can be
e (d2 , C3 ) · e (d3 , C2 )
used to solve these assumptions, we reach a contradiction and
Finally, EM R = SymDec(K, En) is run to obtain the conclude that RBACAnony is secure. If the group generator
EMR. algorithm G satisfies the BDHE assumption and the BSD
assumption, then no PPT adversary can distinguish Game1
Correctness. Assume that CT = ((C1 , C2 , C3 ), En) is and Game3 . The ciphertext of Game3 does not leak any
a well-formed ciphertext. The medical staff decapsulation information regarding the EMR data since the component
algorithm can →
correctly recover the EMR file with a valid corresponding to the EMR is a random group element. If G
− →
−
secret key SK R , where R ∈ P ref (P) due to the following: satisfies the cDH assumption and the cDHE assumption, then
no PPT adversary can distinguish Game3 and Game5 . The
Q Ri r1 r2 r1 ·ID Q
e w u hi f · gh · (hR i r1
i ) ,g
s ciphertext of Game5 does not leak any information regarding
i∈I i∈I\I the roles of medical staff members and the identity of the
K=
Ri s patient, as the components related to the roles and identity
ghID
Q
e g r1 , u · · hi e (g r2 , f s )
i∈I are random group elements. Concrete proof of this is given
=e(g, ω)s in our previous work [19].
The second equation holds since e(hp , hq ) = 1 for hp ∈ Gp V. ACHIEVING FULL SECURE ANONYMITY
and hq ∈ Gq . A. OUR PROPOSAL
In this section, we show how to achieve full anonymity
EMRDecP(P K, ID, (Hdr, En), SK ID ). The patient with privilege control in RBACAnony-F. We apply the idea of an
identity ID can decapsulate his own EMR using his secret anonymous HIBE [10] to our RBAC. A user first chooses an
key. We denote I = {i : Ri ∈ SP }. The patient computes access policy, which can be regarded as a broadcast group
the session key with all entitled identities. He only needs to encapsulate the
Q R EMR once and allows different medical staff members to
e d01 · d0 j i , C1 decapsulate if their identities belong to this broadcast group.
i∈I
K= Note that the work in [23] also proposed an anonymous
e (d02 , C3 ) · e (d03 , C2 ) HIBBE scheme. The main difference lies in the fact that the
patients are identified individually in our scheme, while they
Finally, he runs SymDec(K, En) to recover his EMR.
are allowed access to their own EMRs in [23]. Thus, we con-
Correctness. Assume that CT = ((C1 , C2 , C3 ), En) is sider the patients’ identities in addition to the access policy
a well-formed ciphertext. A patient can recover his EMR group when we design the broadcast encryption algorithm.
according to the following equations. Setup(λ, n). The TKA chooses a bilinear group G of or-
der N = p1 p2 p3 p4 . Then, it chooses random elements
r0 1 r0 Q r01 Ri s Y1 , X1 , u1 , ..., un , uP ∈ Gp1 , Y3 ∈ Gp3 , X4 , Y4 ∈ Gp4 , and
e w · u · hID
h f 2 · (hi ) , g α ∈ ZN and outputs the public key P K
i∈I
K= s = e(g, ω)s {N, Y1 , Y3 , Y4 , uP , {ui }i∈[1,n] , x = X1 X4 , A = e(Y1 , Y1 )α }
r 0 ID
Q R r 0 s
e g , u · gh · hi
1 i
· e (g , f )
2
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
→
−
KeyGenM(P K, M SK, R). For any medical staff member and randomly chooses r10 ∈ ZN , R10 , {Tj }j∈[1,n] ∈ Gp3 . The
→
−
with a role R = (R1 , ..., Rd ), I denotes {i : Ri ∈ S→ − }. TKA then outputs
R
When a top-level medical staff member wants to join the sys-
SK ID = dp1 , dp2 , {dpj }j∈[1,n]
tem, the TKA first authenticates him. It then chooses random n 0
elements r1 , r2 ∈ ZN , Rm,1 , Rm,2 , {Tm,j }j∈[1,n]\I ∈ Gp3 r10
o
r r10 0
= Y1 1 R10 , Y1α (uID
P X1 ) R1 , {uj Tj }j∈[1,n]
for m ∈ {1, 2} and RP1 , RP2 ∈ Gp3 and outputs the secret
→
− →
− →
− →
−
key SK R = (SKdR , SKrR ), where SKdR is used for de-
→−
cryption and SKrR is used for re-randomization delegation. EMREnc(P K, ID, P, EM R). For an access policy P, de-
note I = {i : Ri ∈ SP }. When an EMR file needs to be
→− encapsulated under the access policy P and the patient’s i-
SKdR = K1,1 , K1,2 , {K1,j }j∈[1,n]\I , KP1 dentity ID, the userrandomly picks s ∈ ZN and Z, Z 0 ∈ Gp4
r
Y1 1 R1,1 , Y1α (X1
Y
uR i r1
and computes the header Hdr as follows:
i ) R1,2 ,
= i∈I Y
Hdr = {C1 , C2 } = {( uR i ID s s 0
i uP x) Z, Y1 Z }
{urj 1 T1,j }j∈[1,n]\I , urP1 RP1
i∈I
→
− Then, the user generates session key K = As and computes
SKrR = K2,1 , K2,2 , {K2,j }j∈[1,n]\I , KP2 =
Y En = SymEnc(K, EM R). Finally, the encapsulated EMR
Y1r2 R2,1 , (X1 uR i r2 r2 r2
i ) R2,2 , {uj T2,j }j∈[1,n]\I , uP RP2 is output as CT = (Hdr, En) = (C1 , C2 , En).
i∈I →
−
EMRDecM(P K, ID, (Hdr, En), SK R ). To retrieve ses-
−
→0 sion key K, the medical staff member with the role satisfying
KeyDelegM(P K, SK R , R). For the low-level medical
→
− −
→ the access policy P can use his secret key to compute
staff member with the role R = (R0 , R), his secret key
is derived from a given secret key of his supervisor, who e(K1,2 · KPID Ri
Q
→
− 1
· i∈I\I K1,i , C2 )
is at a higher-level associated with the role R 0 . We −→
denote K=
0
e(K1,1 , C1 )
I = {i : Ri ∈ S−→0 }. Given a secret key SK , the
0 R
R
high-level medical staff member picks random components Then, he runs EM R = SymDec(K, En) to recover the
re1 , re2 ∈ ZN , R em,2 , {Tem,j }j∈[1,n]\I ∈ Gp for m ∈
em,1 , R
3
EMR.
{1, 2}, and R eP ∈ Gp and computes
eP , R
1 2 3
Correctness. Assume that CT = ((C1 , C2 ), En) is a well-
formed ciphertext. EMRDecM can→ correctly recover the EM-
− →
−
0 0 r
K (K ) R , R file using a valid secret key SK R , where R ∈ P ref (P)
e1 e
1,1 2,1 1,1
→
−
SKdR 0 0 r 0 Ri
= K1,2 (K2,2 ) ((K1,i ) (K2,i )
e1 0 e1 Ri
r
)i∈I\I 0 · R1,2 ,
e because
{K 0 (K 0 )re1 Te }
0 0 r
1,j j∈[1,n]\I , KP (KP ) RP
e1 e
1,j 2,j 1 2 1
VOLUME 4, 2016 7
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
In the proof, ciphertexts (CT s) and secret keys (SKs) can regard the key for the patient as nominally semi-functional.
take one of two indistinguishable forms: normal form and We can verify the security and anonymity via a series of
semi-functional form, with the correlation shown in Table games.
2. Since the two kinds of ciphertexts and keys are indistin-
Gamereal : This game is a real game for RBACAnony-F,
guishable, a simulator is able to replace the normal key and
which describes the real interaction between the adversary
ciphertext with the semi-functional ones in security games.
and the EMR system.
When both the ciphertext and key are semi-functional, an
adversary can obtain no information regarding the challenge Gamereal0 : This game is the same as Gamereal except
ciphertext since the given key is not able to decapsulate the that all the secret key queries are answered by the secret
challenge ciphertext. key generation algorithm, not by the secret key delegation
algorithm.
TABLE 2: Normal/semi-functional key and ciphertext
Gamerestrict : This game is the same as Gamereal0 except
Normal CT Semi CT
Normal SK decryption allowed decryption allowed
that the adversary cannot query secret keys for the roles
Semi SK decryption allowed decryption not allowed that are prefixes of the challenge role modulo p2 . Namely,
→
− −→
for any queried role R = (R1 , R2 , · · · , Rd ), ∃ R∗ =
Semi-functional Ciphertext. The users run the EMREnc (R∗1 , R∗2 , · · · , R∗d0 ) ∈ P ref (P ∗ ) with d0 ≤ d, s.t. ∀i ∈
algorithm to construct a normal ciphertext (C10 , C20 , En0 ). [1, d0 ], Ri = R∗i mod p2 , where P ∗ is the challenge access
Then, they choose random exponents x, zc ∈ ZN and set policy, is not allowed.
C1 = C10 g2xzc , C2 = C20 g2x , En0 = En.
Gamek : This game is identical to Gamerestrict except that
Semi-functional Key for Medical Staff. For the medical the challenge ciphertext given to the adversary is semi-
→
−
staff member with→ role R, TKA runs KeyGenM to generate
− functional and the first k keys are semi-functional (0 ≤ k ≤
R
normal keys SK 0 d = {K1,1 0 0
, K1,2 0
, {K1,j }j∈[1,n]\I , KP0 1 } q). We note that in Game0 , only the challenge ciphertext is
→
−
R
and SK 0 r = {K2,1 0 0
, K2,2 0
, {K2,j }j∈[1,n]\I , KP0 2 }. Then, semi-functional; in Gameq , all secret keys and ciphertext are
it chooses random exponents z, γ, zk , zP1 , zP2 ∈ ZN and semi-functional.
{zm,j }j∈[1,n]\I ∈ ZN for m ∈ {1, 2}. The semi-functional Gamef inal0 : This game is identical to Gameq except that the
key can be set as challenge ciphertext is a semi-functional encapsulation, with
→
−
(
K1,10
· g2γ , K1,2
0
· g2γ·zk ,
) the component corresponding to the EMR being a random
R
SKd = 0 γz γ·z message in GT . Thus, the ciphertext is independent from the
{K1,j · g2 1,j }j∈[1,n]\I , KP0 1 · g2 P1 messages provided by the adversary.
Gamef inal : This game is identical to Gamef inal0 except
0
· g2z·γ , K2,2
0
· g2z·γ·zk ,
( )
→− K2,1 that the challenge ciphertext is semi-functional, with the
SKrR = z·γz2,j z·γ·zP2
0
{K1,j · g2 }j∈[1,n]\I , KP0 2 · g2 components related to the roles and identity being random
group elements in the subgroup Gp1 p2 p4 . Thus, the ciphertext
It can be seen that the EMRDecM algorithm will correctly is independent from the roles and identity provided by the
output the EM R when decrypting a semi-functional cipher- adversary.
text using a semi-functional key since the added elements
in Gp2 can be cleared due to the orthogonality property. Proof. In the appendix, we show that no polynomial time
However, the blinding factor will be P multiplied by an addi-
adversary can distinguish Gamereal and Gamef inal . The
tional term e(g2 ,Pg2 )γx(zk +zP1 ID+ i∈I\I z1,i Ri −zc ) . If zc = ciphertext of Gamef inal0 does not leak any information re-
zk + zP1 ID + i∈I\I z1,i Ri , then decryption still works. garding the EMR file. The ciphertext of Gamef inal does not
Here, we regard the key for the medical staff as nominally leak any information regarding the roles of the medical staff
semi-functional. and the identity of the patient. Thus, data confidentiality and
Semi-functional Key for Patient. For the patient with the identity anonymity are achieved.
identity ID, the TKA runs the KeyGenP algorithm to gener-
ate the normal key SK ID = {d0p1 , d0p2 , {d0pj }l∈[1,n] }. Then, VI. ANONYMOUS SEARCH
it chooses random exponents γ, zek , {e zj }j∈[1,n] ∈ ZN . The The EMR system may receive queries from the patient or the
semi-functional key can be set as medical staff to search for someone’s EMR. To respond to
n o a search query, we set up an approach that links the EMR
γe
z
SK ID = d0p1 · g2γ , d0p2 · g2γ·ezk , {d0pj · g2 j }j∈[1,n] owners to their encapsulated EMR. We tag two labels, ID0
8 VOLUME 4, 2016
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
and P 0 , with each ciphertext CT , forming (CTi , IDi0 , Pi0 ). based on the RBACAnony scheme, while the algorithm for
Assume that the total number of stored EMRs is m, i ∈ the RBACAnony-F scheme is omitted due to it having similar
[1, m]. ID0 and P 0 represent the hidden identity of the patient procedures and results.
and the hidden roles of the medical staff, respectively, such
Offline.KeyGenM(P K, M SK). The offline KeyGenM al-
that outsiders cannot identify them. Regarding the patient and
gorithm takes as its input the public parameters and master
medical staff, the following operations show how they can
key, excluding the medical staff role. We assume a random
determine their EMR. −→
role RB with bound B on the maximum number of atom
SearchInitial. In this phase, we generate some parameters roles, which can be used to generate a secret key. Denote
−→
necessary for the subsequent searching work. Let G0 be a RB = (x1 , x2 , ..., xB ) and IB = {i : xi ∈ S− → }, where
−
RB
bilinear group of prime order p and g be a generator of G0 . xi are randomly chosen from ZN and regarded as inter-
For a generated ciphertext CTi , the ith patient with identity mediate atom roles. The algorithm picks random exponents
IDi randomly chooses an element xIDi ← G0 , and the R
r1 , r2 , s1 , s2 , t1 , t2 ← ZN satisfying s1 · t2 − s2 · t1 6= 0 mod
ith group of the medical staff in access policy Pi randomly p and mod q. Then, it generates the intermediate secret key
−
−→ −−
→ −−→
chooses an element xRi ← G0 . Then, they compute a SK , which consists of two subkeys: SKd and SKrRB .
RB RB
session key SKi : SKi ← g xIDi ·xRi mod n. n is a large −
−→
prime number. The session key is owned only by the patient SKdRB can be written in the following form:
with identity IDi and his responsible medical staff in access
( !r1 )
Y
xi r1 r1
policy Pi . ω u hi r2 r1 r2
f , g , g , gh , {hj }j∈[1,n]\IB
i∈IB
SearchLabelCreate. In this phase, we create the search −
−→
labels: IDi0 and Pi0 . IDi0 which can be obtained by applying {hrj 1 }j∈[1,n] can be pre-computed here. SKrRB has a form
−
−→
a hash function to IDi : IDi0 ← H(IDi ). Pi0 can be obtained
similar to that of SKdRB , but it is not used for EMR encapsu-
by applying the symmetric encryption algorithm SymEnc
lation. We can view the procedure as key generation for the
with the session key SKi to the atom roles {Rij } in Pi : −→
intermediate role RB = (x1 , x2 , ..., xB ). The work done in
{R0ij ← SymEnc(Rij , SKi )}, j ∈ {j : Rij ∈ SPi }.
the offline phase is roughly equivalent to the work carried out
{R0ij } constitute the atom roles for Pi0 . Then, the labels IDi0
for the regular KeyGenM algorithm.
and Pi0 are tagged with CTi , yielding (CTi , IDi0 , Pi0 ).
−− → → −
Online.KeyGenM(SK RB , R). The online KeyGenM algo-
Search. When a patient with identity ID tries to search for −−
→
his EMR (or when one of his doctors tries to do this), he rithm takes as its input the intermediate secret key SK RB
first hashes the identity ID and obtains H(ID). Then, he from the offline KeyGenM algorithm and the real role of
→
−
searches through the various IDi0 in all patients’ labels and a medical staff member R = (R1 , ..., Rd≤B ). Denote
I = {i : Ri ∈ S→ − }. The algorithm computes the “correction
pinpoints the one whose value equals H(ID). When he ob- R
tains the index i, he uses his session key to decrypt the roles factors” Ki = r1 · (Ri − xi ) mod N for i ∈ I. The subkey
→
−
for the medical staff: {Rij ← SymDec(R0ij , SKi )}. {Rij } SKdR for the medical staff is output in the following form:
are the atom roles in access policy Pi . When the patient ( !r1 )
knows the access policy Pi of a medical staff member and
Y
ω u hxi i f r2 , g r1 , g r2 , ghr1 , {hrj 1 }j∈[1,n]\I , {Ki }i∈I
his identity, he can decapsulate CTi using the corresponding
secret key. i∈I
= d1 , d2 , d3 , d4 , {dj }j∈[1,n]\I , {Ki }i∈I
→
−
VII. IMPROVING USER EXPERIENCE The subkey SKrR is output with a form similar to that of
→
−
To achieve the perfect user experience, we speed up the data SKdR but without the elements {Ki }i∈I . The dominant cost
processing in the key generation and EMR encapsulation →
−
in the online phase is || R|| multiplications for generating
procedures. We apply online/offline cryptography [25] to {Ki = r1 · (Ri − xi )}i∈I .
our scheme. The online/offline technique was initiated by Since the offline/online algorithm of key delegation fol-
Goldreich and Micali [26] for signature schemes. Guo et lows the same procedure as that in the KeyGenM phase, we
al. [27] extended the offline algorithm to the identity-based omit the details of that process. The dominant cost in the
encryption system. Briefly, the online/offline technique splits online key delegation procedure is only one multiplication.
the encryption or key generation process into two phases: the
offline phase, in which most of the complex computations Offline.EMREnc(P K). The offline EMREnc algorithm
are first executed by assuming a set of random identities, takes as its input only the public parameters. We assume a
and the online phase, in which only simple computations are random access policy PB with bound B on the maximum
performed to produce the ciphertext or secret key once the number of atom roles, which can be used to generate a
identities are available. In this way, we show how to move ciphertext. Denote IB = {i : zi ∈ SPB }, where zi are
the computational work for key generation and EMR encap- randomly chosen from ZN and regarded as intermediate atom
R
sulation offline. The following offline/online algorithms are roles. The algorithm selects y ← ZN , which is assumed
VOLUME 4, 2016 9
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
to be the intermediate patient identity. Then, the algorithm Table 4 compares four schemes in terms of anonymity,
R
picks a random element s ← ZN and random elements order of the bilinear group and performance. We denote R-
R
Z1 , Z2 , Z3 ← Gq . Finally, it computes the intermediate BACAnony as “Ours & Scheme-I”, RBACAnony-F as “Ours
header HdrIT as follows: & Scheme-II”, and our schemes with the user experience
improvement as “Ours & Improved”.
HdrIT = {C1 , C2 , C3 }
n Y s o
= Gs · Z1 , F s · Z2 , U H y Hizi Z3 B. EXPERIMENTAL PERFORMANCE
i∈IB We conduct the experiment using an Intel Core i7 processor
with 8 GB of RAM and a 2.6 GHZ CPU clock. We use an
The header generated in the offline phase is roughly equiva-
elliptic curve type A1 with the expression y 2 = x3 + x for
lent to the work of the regular EMREnc algorithm.
the Tate symmetric pairing. The group order of ZN is set
Online.EMREnc(HdrIT , Id, P, EM R). The online EM- to 512 bits, and the element size in G is also configured to
REnc algorithm takes as its input the intermediate head- 512 bits. The experiment is executed using the jPBC library
er HdrIT from the offline EMREnc algorithm, a patient (http://gas.dia.unisa.it/projects/jpbc/index.html).
identity ID, an access policy P and the EM R. Denote We test the operational time required for key generation,
I = {i : Ri ∈ SP }, and note that I ⊆ IB since we key delegation, EMR encapsulation and decapsulation for
have assumed the maximum bound B on the number of medical staff. We show the performance results in Fig-
atom roles. The algorithm computes the “correction factors” ure. 2(a)-(e). Figure. 2(f) and Figure. 2(g) show the opera-
C4,i = s · (Ri − zi ) and C5 = s · (Id − y) for i ∈ I. Then, it tional time after the user experience is improved.
outputs the ciphertext header
Hdr = {C1 , C2 , C3 , {C4,i }i∈I , C5 } IX. CONCLUSION
n Y s o In this paper, we propose two anonymous RBAC schemes
= Gs · Z 1 , F s · Z 2 , U H y Hizi Z3 , {C4,i }i∈I , C5 for the EMR system. We achieve flexible access control
i∈I such that the EMR data can be encapsulated according to
As the symmetric encryption time En = SymEnc(K, EM R) an on-demand access policy, with only users whose roles
is relatively fast, the cost of EMR encapsulation can be satisfy the access policy being able to decapsulate it. Patients’
ignored. The dominant cost in the online phase is (||P|| + 1) privacy is preserved using a bilinear group, where all the
multiplications in ZN for generating {C4,i = s·(Ri −zi )}i∈I identity-related information is hidden in a subgroup. Based
and C5 = s · (Id − y). on the chosen bilinear group assumptions, we prove that
Finally, we should verify that the EMR can be correctly our proposed models have the property of semantic security
decapsulated after the online/offline algorithm is applied. The and anonymity. We apply the “online/ offline” approach to
encapsulation key K is calculated using achieve a better user experience.
Q Ki Id Q Ri .
e d1 · hi · d4 · di , C1
i∈I i∈I\I
K= APPENDIX A PROOF OF SECURITY OF RBACANONY-F
Q C
e d2 , C3 · Hi 4,i · H C5 · e (d3 , C2 ) The security proof is based on the following assumptions.
i∈I
Assumption1. Given group generator G, we define the fol-
K can be extracted as K = e(g, ω)s from the above expres-
lowing distribution:
sion. Finally, an EMR can be exactly recovered by running
EM R = SymDec(K, En). G =(N = p1 p2 p3 p4 , G, GT , e) ← G
R
R R R R
VIII. PERFORMANCE ANALYSIS g1 , A1 ← Gp1 , A2 , B2 ← Gp2 , g3 ← Gp3 , g4 , B4 ← Gp4
A. THEORETICAL ANALYSIS D =(G, g1 , g3 , g4 , A1 A2 , B2 B4 )
Table 3 shows the efficiency of our proposed scheme in
Then, this assumption determines whether the given element
detail. The system parameters, the master secret key and R R
the other secret keys (for the medical staff and patients) are T ← Gp1 p2 p4 or T ← Gp1 p4 .
linearly proportional to the maximum number of atom roles. The advantage of an algorithm A that outputs β ∈ {0, 1}
The header contains only three group elements in G, achiev- in breaking Assumption 1 is defined as
ing ciphertext with a constant size and being independent of h
Pr A D, T ← R
i
the maximal depth of the hierarchy for the access policy set G p1 p2 p4 = 1
1
Adv1A (λ) = i −
kPk. In Table 3, we denote te as one exponent operation time
h
=1 2
R
− Pr A D, T ← G p1 p4
in G, tm as one multiplication operation time in G and tp as
one pairing operation time. In the procedures of KeyGenM,
KeyDelegM, KeyGenP, and EMREnc, exponentiations can Definition I. G satisfies Assumption 1 if Adv1A (λ) is negli-
be pre-computed by choosing random exponents. gible for any polynomial-time algorithm A.
10 VOLUME 4, 2016
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
10
TABLE
TABLE 4: Comparison
IV: Comparison withwith related
related workwork
Anonymity
Anonymity Order
Order of of Key Key Generation
Generation EMR Enc Key Delegation
EMR Enc Number Number
Key Delegation of of
Bilinear
bilinear Group
group TimeTime Time Time Time Time
paring inpairings in
EMR Dec EMR Dec
(n +(n 6)t+e +
6)te + (n e++6)te +
(n + 6)t (kPk +(kPk + 4)te +
4)te +
→ −
− →
[8][8] ×× prime
prime order (k Rk
order (k+Rk 1)t+m1)tm (n m
(n + 5)t + 5)tm (kPk +(kPk
3)tm+ th m + th 2
+3)t 2
−
→ −
→
3 ·+(n
3 · (n 4)t+e +4)te +
(25 +(25
6n +
− 6n − 6keRk)t
6k Rk)t + e +(kPk +(kPk + 4)te +
4)te +
√√ −
→ − → −
→ −
→
[20]
[20] composite order
composite order(3k Rk
(3k+ Rk 4)t+m4)tm(18 +(18 − 4n
4n + 4k Rk)t 4)tm+ 4)tm 3
− 4kmRk)tm (kPk +(kPk 3
−
→ −
→
Ours
Ours&& 3 · (n
3 ·+(n
5)t+e + (31 +(31
5)te + − 6n
6n + 6k Rk)t + e +(kPk +(kPk
− 6keRk)t 5)te +
+ 5)te +
√√ −
→ − →4)t −
→ −
→
Scheme-I
Scheme-I composite order
composite order(3k Rk
(3k+ Rk +m4)tm(23 +(23 − 4n
4n + 4k Rk)t 4)tm+ 4)tm 3
Rk)tm (kPk +(kPk 3
→− 4k
m
− −
→
Ours
Ours&& (n +(n 6)t+e +
6)te + (8 + 2n − 2k
(8 + 2n −Rk)t +
− 2k Rk)te +
e (kPk + 3)t
(kPke++ 3)te +
√√ → −
→
Scheme-II
Scheme-II composite order
composite order (2n (2n
+ 7)t+m7)t (2 + 3n − 3n
(2 + 3k Rk)t
− 3kmRk)t (kPk +(kPk
3)tm+ 3)t 2 2
m m m
Ours &
Ours & √ −
→
Improved √ composite order || R|| −
→
· tm 1 · tm (||P|| + 1)tm 3
Improved composite order || R|| · tm 1 · tm (||P|| + 1)tm 3
2,000 1,500
Scheme-I 4,000
1,500 Scheme-II 1,150
1,000 1,000
2,000 800
500
450
0
0
100
1 2 3 4 5 6 7 8 9 10 0 5 10 15 20 25 30 35
10 15 20 25 30 35
Scheme-I Scheme-II 0 Scheme-I Scheme-II Number of Atom Roles in Access Policy (N )
2 3 4 5 6 7 8 9 10
(a) Secret key generation time (ms) (b) Secret key delegation time (ms) (c) EMR encapsulation time (ms) (d) Scheme-I: EMR decapsulation (ms)
EMRDecM1
6,000 EMRDecM2 2.2
EMRDecM3
1.2
5,000 EMRDecM4 2
EMRDecM5
4,000 EMRDecM6 1.8
1.15
EMRDecM7
3,000 EMRDecM8 1.6
EMRDecM9
2,000 1.1
EMRDecM10 1.4
1,000 1.2
1.05
200
10 15 20 25 30 35 10 20 30 40 50 60 70 80 90 100
Number of Atom Roles in Access Policy (N ) 1 2 3 4 5 6 7 8 9 10 Number of Atom Roles in Access Policy
(e) Scheme-II: EMR decapsulation (ms) (f) Improved KeyGenM time (ms) (g) Improved encapsulation time (ms)
Fig. 2: Experimental
FIGURE results results
2: Experimental for the for
proposed system system
the proposed
VOLUME 4, 2016 11
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
Assumption2. Given group generator G, we define the fol- Now, we provide the proof showing that Gamereal ,
lowing distribution: Gamereal0 , Gamerestrict , Gamek , Gamef inal0 , and Gamef inal
R are indistinguishable from each other.
G = (N = p1 p2 p3 p4 , G, GT , e) ← G,
R R R R Lemma 5.1. For any algorithm A, it holds that
g1 , A1 ← Gp1 , A2 , B2 ← Gp2 , g3 , B3 ← Gp3 , g4 ← Gp4 GameReal AdvA = GameReal0 AdvA .
D = (G, g1 , g3 , g4 , A1 A2 , B2 B3 )
Proof. We note that the secret keys are identically distributed
Then, this assumption determines whether the given element whether they are generated by the key generation algorithm
R R
T ← Gp1 p2 p3 or T ← Gp1 p3 . or by the key delegation algorithm. Therefore, there is no
The advantage of an algorithm A that outputs β ∈ {0, 1} difference between GameReal AdvA and GameReal0 AdvA
in breaking Assumption 2 is defined as from the adversary’s perspective.
Lemma 5.2. Suppose that there is a PPT algorithm A such
h R
i
Pr A D, T ← G = 1
p1 p2 p3 1
that GameReal AdvA - GameRestricted AdvA = 1 . We can
Adv2A (λ) = h i −
=1 2
R
− Pr A D, T ← G p1 p3 build a PPT algorithm B with the advantage 1 /3 in breaking
Assumption 1.
Definition II. G satisfies Assumption 2 if Adv2A (λ) is negli- Proof. If there exists an adversary A who can distin-
gible for any polynomial-time algorithm A. guish GameRestricted from GameReal with advantage 1 ,
Assumption3. Given group generator G, we define the fol- then based on the definition of GameRestricted , A knows
lowing distribution: that it submits its own secret key query for the role
→
− −→
R = (R1 , R2 , · · · , Rd ) from others satisfying ∃ R∗ =
R
G = (N = p1 p2 p3 p4 , G, GT , e) ← G, (R∗1 , R∗2 , · · · , R∗d0 ) ∈ P ref (P ∗ ) with d0 ≤ d, s.t. ∀i ∈
R R R R [1, d0 ], Ri = R∗i mod p2 . Then, the factor of N can be
α, s, r ← ZN , g1 ← Gp1 , g2 , A2 , B2 ← Gp2 , g3 ← Gp3 ,
extracted by computing gcd(Ri − R∗i , N ), from which we
R
g4 ← Gp4 , D = (G, g1 , g2 , g3 , g4 , g1α A2 , g1s B2 , g2r , Ar2 ) can build an algorithm similar to that introduced in the proof
of Lemma 3.3 in [10] that can break Assumption 1 with
Then, this assumption determines whether the given element
advantage 1 /3. We omit the details to avoid repetition.
T ←e(g1 , g1 )αs or T ←GT .
The advantage of an algorithm A that outputs β ∈ {0, 1} Lemma 5.3. Suppose that there is a PPT algorithm A such
in breaking Assumption 3 is defined as that GameRestricted AdvA - Game0 AdvA = 2 . We can build a
Pr [A (D, T ←e(g , g )αs ) = 1] 1 PPT algorithm B with the advantage 2 in breaking Assump-
Adv3A (λ) =
1 1
−
tion 1.
− Pr [A (D, T ←GT ) = 1] 2
Proof. B receives (G, g1 , g3 , g4 , A1 A2 , B2 B4 , T ) of As-
sumption 1, and it needs to determine whether T is
Definition III. G satisfies Assumption 3 if Adv3A (λ) is neg-
in Gp1 p4 or in Gp1 p2 p4 . B chooses random exponents
ligible for any polynomial-time algorithm A.
α, {ai }i∈[1,n] , a, b, c ∈ ZN and sets Y1 = g1 , Y3 = g4 , Y4 =
Assumption4. Given group generator G, we define the fol- g3 , X4 = Y4c , X1 = Y1b , uP = Y1a and ui = Y1ai
lowing distribution: for i ∈ [1, n]. Then, B gives the public key P K =
R (N, Y1 , Y3 , Y4 , x = X1 X4 , {ui }i∈[1,n] , uP , A
G = (N = p1 p2 p3 p4 , G, GT , e) ← G, = e(Y1 , Y1 )α ) to adversary A. B knows the master key
R R
s, r̂ ← ZN , g1 , U, A1 ← Gp1 , g2 , A2 , B2 , D2 , F2 ← Gp2 ,
R M SK = (X1 , α) and thus can answer all queries from A
R R R
in the secret key query phase.
g3 ← Gp3 , g4 , A4 , B4 , D4 ← Gp4 , A24 , B24 , D24 ← Gp2 p4 In the challenge phase, A sends B two equal-length EMRs
D= EM R0 , EM R1 with a challenge access policy P ∗ and a
(G, g1 , g2 , g3 , g4 , U, U s A24 , U r̂ , A1 A4 , Ar̂1 A2 , g1r̂ B2 , g1s B24 ) change identity ID∗ . B flips a random coin β ∈ {0, 1} and
returns the challenge ciphertext
Then, this assumption determines whether the given element
T ←As1 D24 or T ←Gp1 p2 p4 . {C1∗ , C2∗ , En∗ } =
ai R∗ ∗
P
The advantage of an algorithm A that outputs β ∈ {0, 1} {T i∈I∗ i +aID +b , T, SymEnc(e(T, Y1 )α , EM Rβ )}
in breaking Assumption 4 is defined as R
Pr [A (D, T ←As D ) = 1]
1 If G ← Gp1 p4 , then T can be written as Y1s1 Y3s3 with
Adv4A (λ) =
1 24
−
random s1 , s3 ← ZN . In this case, (C1∗ , C2∗ , En∗ ) is a
− Pr [A (D, T ←Gp1 p2 p4 ) = 1] 2 R
normal ciphertext, and B simulates GameRestricted . If G ←
s1 s s3
Gp1 p2 p4 , then T can be written as Y1 g2 Y3 . In this case,
Definition IV. G satisfies Assumption 4 if Adv4A (λ) is neg- (C1∗ , C2∗ , En∗ ) is a semi-functional ciphertext according to
ligible for any polynomial-time algorithm A. its definition, and B simulates Game0 .
12 VOLUME 4, 2016
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
SKdR = i∈I
SymEnc(e(A1 A2 , Y1 ) , C3 = EM Rβ ), and I∗ = {i :
α ∗
{urj 1 (B2 B3 )w1,j }j∈[1,n]\I , urP1 (B2 B3 )wP1 R∗i ∈ SP ∗ }.
R This ciphertext is semi-functional, with
Y P
( r2
Y (B 2 B 3 )zf
, (B 2 B 3 )zw
( u l,j
X 1 ) r2 w2 )
Y zc = i∈I∗ ai Ri +
→
− 1 i 3 ∗
SKr = R
i∈I aID + b. Since the role associated with the kth secret key
r2
{uj (B2 B3 ) w2,j r2
}j∈[1,n]\I , uP (B2 B3 ) wP2 for the medical staff is not a prefix of the challenge role R∗
modulo p2 and the identity associated with the kth secret
We consider B2 as g2s for random s ← ZN . It can key for the patient is not the challenge identity ID∗ modulo
be seen that the generated secret key is semi-functional p2 , zk + zek and zc will appear to be randomly distributed
because γ = s · f , γ · zk = s · w and γ · zPm = s · wPm to adversary A. If B tries to test whether the kth key is
for m ∈ {1, 2}. semi-functional or not via the above procedure by creating
• When l > k, B creates a normal secret key by calling
−→
a semi-functional ciphertext for Rk ∈ P P ref (P) and IDk ,
the KeyGenM algorithm. then we will have zc = zk + zek + i∈I\I ai Ri , where
• When l = k, B creates the kth secret key. B lets I = {i : Ri ∈ S→ − } and I = {i : Ri ∈ SP }; thus, the
R
chooses random exponents
P
zk = i∈I ai R k,i + b, decryption also works. In other words, simulator B can create
r20 , w1 , w2 , wP1 , wP2 ∈ ZN and {wm,j } ∈ ZN for only a nominally semi-functional key for the kth key query.
j ∈ [1, n]\I,m ∈ {1, 2}, and sets R
→
− Guess. If T ← Gp1 p3 , all components in the kth secret key
aj w1,j a wP1
R α zk w1
generated by B are in Gp1 p3 . Hence, it is a normal secret
SKd = T, Y1 T Y3 , {T Y3 }, T Y3
→
− R
0 0 0 w
SKrR = T r2 , T r2 ·zk Y3w2 , {T r2 ·aj Y3 2,j }, T r2 ·a Y3 P2
0 w key. In this case, B simulates Gamek−1 . Otherwise, T ←
Gp1 p2 p3 ; hence, the kth secret key is semi-functional. In this
R
If T ← Gp1 p3 , then all components in this secret case, B simulates Gamek . If A has the advantage 3 when
R
key are in Gp1 p3 . Hence, it is a normal secret key. If distinguishing the two games, B can distinguish T ← Gp1 p3
0 R
R
T ← Gp1 p2 p3 , then T can be written as Y1 1 g2s Y3r3 with
r
from T ← Gp1 p2 p3 with advantage 3 .
s, r3 ∈ ZN . Hence, it is a semi-functional secret key Lemma 5.5. Suppose that there is a PPT algorithm A such
with γ = s, z = r20 , r1 = r10 , r2 = r10 r20 . that Game Adv - Game 0 Adv = . We can build a PP-
q A f inal A 4
T algorithm B with the advantage 4 in breaking Assumption
Secret Key Query for Patient. When A requests the l th
3.
secret key for the patient with identity IDl , we need to
consider three cases: l < k, l > k and l = k. Setup. B receives (G, g1 , g2 , g3 , g4 , g1α A2 , g1s B2 , g2r , Ar2 , T )
• When l < k, B creates a semi-functional secret key. It of Assumption 3, and it determines whether T ←e(g1 , g1 )αs
R
does this by selecting random exponents or T ← GT . B chooses random exponents {ai }i∈[1,n] , a, b, c ∈
e {wj }j∈[1,n] from ZN .
r10 , w, w, ZN and sets Y1 = g1 , Y3 = g3 , Y4 = g4 , X4 =
VOLUME 4, 2016 13
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
Y4c , X1 = Y1b , uP = Y1a and ui = Y1ai for i ∈ [1, n]. EMR with a random access policy set and a random patient’s
Then, B gives the public key P K = (N, Y1 , Y3 , Y4 , x = identity.
X1 X4 , {ui }i∈[1,n] , uP , A
Setup. B receives (G, g1 , g2 , g3 , g4 , U, U s A24 , U r̂ , A1 A4 ,
= e(g1α A2 , Y1 ) = e(Y1 , Y1 )α ) to adversary A. The master
Ar̂1 A2 , g1r̂ B2 , g1s B24 , T ) of Assumption 4, and it needs to
key M SK = (X1 , α) is kept by B. R
determine whether T ← As1 D24 or T ← Gp1 p2 p4 . B
Secret Key Query for Medical Staff. When A request- chooses random exponents {ai }i∈[1,n] , a ∈ ZN and sets
s a secret key for the medical staff member with the Y1 = g1 , Y3 = g3 , Y4 = g4 , x = A1 A4 , uP = U a
→
−
role R = (R1 , ..., Rd ), where I = {i : Ri ∈ and ui = U ai for i ∈ [1, n]. B gives public key P K =
S→− }, B creates a semi-functional key by choosing ran- (N, Y1 , Y3 , x, {ui }i∈[1,n] , uP , A = e(Y1 , Y1 )α ) to A.
R
dom exponents r1 , r2 , z, z 0 , zP1 , zP2 , wP1 , wP2 ∈ ZN and
Secret Key Query for Medical Staff. When A requests a
wm,1 , wm,2 , {wm,j , zm,j }j∈[1,n]\I ∈ ZN for m ∈ {1, 2}.
secret key for the medical staff member with the role
→
−
R = (Rl,1 , ..., Rl,d ), where I = {i : Ri ∈
( r1 z w1,1 α 0 Y R w )
Y1 g2 Y3 , (g1 A2 )g2z ( ui l,j X1 )r1 Y3 1,2 S→− }, B creates a semi-functional key by choosing ran-
→− R
SKdR = i∈I dom exponents r1 , r2 , wP1 , wP2 , zP1 , zP2 ∈ ZN and
r1 z1,j w1,j
{uj g2 Y3 }j∈[1,n]\I , urP1 g2P1 Y3 P1
z w
wm,1 , wm,2 , {wm,j , zm,j }j∈[1,n]\I ∈ ZN for m ∈ {1, 2}.
( r2 r z w2,1 r r z0 Y Rl,j w )
→
− Y1 (g2 ) Y3 , A2 (g2 ) ( ui X1 )r2 Y3 2,2 ( w
P
w
)
SKrR = i∈I
→− (g1r̂ B2 )r1 Y3 1,1 , Y1α ((U r̂ ) i∈I ai Ri (Ar̂1 A2 ))r1 Y3 1,2
z w z w SKdR = z w z w
{urj 2 g22,j Y3 2,j }j∈[1,n]\I , urP2 g2P2 Y3 P2 {(U r̂ )r1 aj Y2 1,j Y3 1,j }j∈[1,n]\I , (U r̂ )r1 a Y2 P1 Y3 P1
w w
( P )
We note that this secret key is semi-functional. →
− (g1r̂ B2 )r2 Y3 2,1 , Y1α ((U r̂ ) i∈I ai Ri (Ar̂1 A2 ))r2 Y3 2,2
SKrR = z w2,j z wP2
{(U r̂ )r2 aj Y2 2,j Y3 }j∈[1,n]\I , (U r̂ )r2 a Y2 P2 Y3
Secret Key Query for Patient. When A requests a se-
cret key for the patient with identity ID, B creates We note that this secret key is semi-functional.
a semi-functional key by choosing random exponents
Secret Key Query for Patient. When A requests a key for
r1 , z, z 0 , w e2 ∈ ZN and {wj , zj }j∈[1,n] ∈ ZN .
e1 , w
the patient with identity ID, B creates a semi-functional key
by choosing exponents r1 , w e2 and {wj , zj }j∈[1,n] ∈ ZN .
e1 , w
0
( )
ID Y1r1 g2z Y3we1 , (g1α A2 )g2z (uID r1 w
P X1 ) Y3 ,
e2
SK = z w1,j
{urj 1 g21,j Y3
( )
}j∈[1,n] ID (g1r̂ B2 )r1 Y3we1 , Y1α ((U r̂ )a·ID (Ar̂1 A2 ))r1 Y3we2 ,
SK = z w
We note that this secret key is semi-functional. {(U r̂ )r1 aj Y2 j Y3 j }j∈[1,n]
Challenge. A sends B two equal-length EMRs EM R0 , EM R1 We note that this secret key is semi-functional.
with a challenge access policy P ∗ and a change identity Challenge. A sends B two equal-length EMRs EM R0 , EM R1
ID∗ . B flips a random coin β ∈ {0, 1} and returns to with a challenge access policy P ∗ and a change identity
A the semi-functional
P ciphertext CT ∗ = {C1∗ , C2∗ , En∗ }, ID∗ . B chooses a random En∗ ∈ GT , flips a random coin
∗ ∗ 0
where C1 = (g1 B2 )
∗ s i∈I ∗ ai Ri +aID +b
Y4z , C2∗ = g1s B2 Y4z , β ∈ {0, 1}, and returns to A the semi-functional ciphertext
C3∗ = SymEnc(T,P EM Rβ ), and I∗ = {i : R∗i ∈ SP ∗ }. We T ∗ = {C1∗ , C2∗ , En∗ } as
implicitly set zc = i∈I∗ ai R∗i + aID∗ + b. P
ai R∗ ∗
{T (U s A24 ) i∈I∗ i +aID , g1s B24 , En∗ }
Guess. If T ← e(g1 , g1 ) , then B simulates Gameq since
αs
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2018.2810243, IEEE Access
a random group element. The ciphertext of Gamef inal does [23] M. H. Ameri, J. Mohajeri, and M. Salmasizadeh, “Efficient and provable
not leak any information regarding the roles of the medical secure anonymous hierarchical identity-based broadcast encryption (hi-
bbe) scheme without random oracle,” ia.cr/2016/780, 2016.
staff and the identity of the patient since the components [24] A. Lewko and B. Waters, “New techniques for dual system encryption and
corresponding to the roles and identity in the ciphertext are fully secure hibe with short ciphertexts,” in TCC 2010. Springer, 2010,
random group elements. pp. 455–479.
[25] S. Hohenberger and B. Waters, “Online/offline attribute-based encryption,”
in PKC 2014. Springer, 2014, pp. 293–310.
REFERENCES [26] E. Shimon, O. Goldreich, and S. Micali, “On-line/off-line digital signa-
tures,” Cryptology, vol. 9, no. 1, pp. 35–67, 1996.
[1] M. J. Atallah, M. Blanton, and K. B. Frikken, “Dynamic and efficient key [27] Y. F. Wang, G. Yang, and Z. C. Z, “Identity-based online/offline encryp-
management for access hierarchies,” ACM Trans. Inf. Syst. Secur., vol. 12, tion,” Computer Technology and Development, vol. 51, no. 43, pp. 247–
no. 3, 2009. 261, 2012.
[2] J. Huang, M. Sharaf, and C. T. Huang, “A hierarchical framework for
secure and scalable ehr sharing and access control in multi-cloud,” in
ICPPW 2012. IEEE, 2012, pp. 279–287.
[3] M. C. Mont, P. Bramhall, and K. Harrison, “A flexible role-based secure
messaging service: Exploting ibe technology for privacy in health care,”
IEEE Computer Society, vol. 432, 2003. XINGGUANG ZHOU is a Ph.D. candidate in the
[4] J. A. Akinyele, M. W. Pagano, M. D. Green, C. U. Lehmann, Z. N. Department of Electronic and Information Engi-
Peterson, and A. D. Rubin, “Securing electronic medical records using neering, Beihang University. Her research interest-
attribute-based encryption on mobile devices,” in SPSM 2011. ACM, s include information security and communication
2011, pp. 75–86. network security.
[5] S. Narayan and R. Safavi-Naini, “Privacy preserving ehr system using
attribute-based infrastructure,” in CCSW’10. ACM, 2010, pp. 47–52.
[6] M. Li, S. Yu, Y. Zheng, K. Ren, and W. Lou, “Scalable and secure
sharing of personal health records in cloud computing using attribute-
based encryption,” IEEE Trans. Parallel Distrib. Syst., vol. 24, no. 1, pp.
131–143, 2013.
[7] M. Sicuranza, A. Esposito, and M. Ciampi, “A view-based acces control
model for EHR systems,” in IDC 2014. Springer, 2014, pp. 443–452.
[8] W. Liu, X. Liu, J. Liu, Q. Wu, J. Zhan, and Y. Li, “Auiting and revocation
enabled role-based access contrl over outsourced private ehrs,” in HPCC JIANWEI LIU is currently a full professor and
2015. IEEE, 2015, pp. 336–341. party secretary in the Department of Electronic
[9] D. Boneh, E. J. Goh, and K. Nissim, “Evaluating 2-dnf formulas on and Information Engineering, Beihang University.
ciphertexts,” in TCC 2005. Springer, 2005, pp. 325–341. He received his Ph.D. from the Communication
[10] A. D. Caro, V. Iovino, and G. Persiano, “Fully secure anonymous hibe and Electronic System Department, Xidian Uni-
and secret-key anonymous ibe with short ciphertexts,” in International versity, in 1998. His research interests include
Conference on Pairing-Based Cryptography. Springer, 2010, pp. 347– wireless communication networks, cryptography,
366. information security, communication network se-
[11] R. J. Anderson, “Technical perspective - A chilly sense of security,” curity, channel coding, and modulation technolo-
Commun. ACM, vol. 52, no. 5, p. 90, 2009. gy.
[12] Centers for Medicare & Medicaid Services, “Health insurance portability
and accountability act,” 1996.
[13] C. I. of Health Research, Recommendations for the Interpretation and Ap-
plication of the Personal Information Protection and Electronic Documents
Act (S.C. 2000, C. 5) in the Health Research Context. Canadian Institutes QIANHONG WU is currently a full professor
of Health Research, 2001. in the Department of Electronic and Information
[14] V. Goyal, O. Pandey, A. Sahai, and B. Waters, “Attribute-based encryption Engineering, Beihang University. He has served
for fine-grained access control of encrypted data,” in CCS 2006. ACM, as a member of the ACISP committee and more
2006, pp. 89–98.
than 10 international conference procedure com-
[15] L. Guo, C. Zhang, J. Sun, and Y. Fang, “Paas: A privacy-preserving
mittees. He received his Ph.D. degree in cryptogra-
attribute-based authentication system for ehealth networks,” in ICDCS
phy from Xidian University in 2005. His research
2012. IEEE, 2012, pp. 224–233.
interests include information security, security in
[16] J. Sedayao, “Enhancing cloud security using data anonymization,” White
Paper, Intel Coporation, 2012. big data and cloud computing, and blockchains.
[17] T. Jung, X. Li, Z. Wan, and M. Wan, “Control cloud data access privilege
and anonymity with fully anonymous attribute-based encryption,” IEEE
Trans. Inf. Forensics Security, vol. 10, no. 1, pp. 190–199, 2015.
[18] S. Sabitha and M. Rajasree, “Anonymous-cpabe: Privacy preserved con-
tent disclosure for data sharing in cloud,” in ARCS 2015. Springer, 2015,
pp. 146–157. ZONGYANG ZHANG is an assistant professor
[19] X. Zhou, J. Liu, W. Liu, and Q. Wu, “Anonymous role-based access control in the Department of Electronic and Informa-
on e-health records,” in AsiaCCS 2016. ACM, 2016, pp. 559–570. tion Engineering, Beihang University. He received
[20] J. H. Seo, T. Kobayashi, M. Ohkubo, and K. Suzuki, “Anonymous hier- his Ph.D. in computer software and theory from
archical identity-based encryption with constant size ciphertexts,” in PKC Shanghai Jiao Tong University in 2012. His re-
2009. Springer, 2009, pp. 215–234. search interests include public-key cryptography
[21] A. Lewko and B. Waters, “New proof methods for attribute-based encryp- and blockchains.
tion: Achieving full security through selective techniques,” in CRYPTO
2012. Springer, 2012, pp. 180–198.
[22] D. B. X. Boyen and E. J. Goh, “Hierarchical identity based encryption
with constant size ciphertext,” in EUROCRYPT 2005. Springer, 2005,
pp. 440–456.
VOLUME 4, 2016 15
2169-3536 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.