role-based and time-bound access and management of ehr …role-based ehr management is composed of...

21
SECURITY AND COMMUNICATION NETWORKS Security Comm. Networks 0000; 00:1–21 DOI: 10.1002/sec RESEARCH ARTICLE Role-Based and Time-Bound Access and Management of EHR Data Rui Zhang 1* , Ling Liu 2 and Rui Xue 1 1 State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing, China 2 College of Computing, Georgia Institute of Technology, Atlanta, GA, US ABSTRACT Security and privacy are widely recognized as important requirements for access and management of Electronic Health Record (EHR) data. In this paper we argue that EHR data needs to be managed with customizable access control in both spatial and temporal dimensions. We present a role-based and time-bound access control model (RBTBAC) that provides more flexibility in both roles (spatial capability) and time (temporal capability) dimensions to control the access of sensitive data. Through algorithmic combination of role-based access control and time-bound key management, our RBTBAC model has two salient features. First, we have developed a privacy-aware and dynamic key structure for role- based privacy aware access and management of EHR data, focusing on the consistency of access authorization (including data and time interval) with the activated role of user. In addition to role-based access, a path-invisible EHR structure is built for preserving privacy of patients. Second, we have employed a time tree method for generating time granule values, offering fine granularity of time-bound access authorization and control. Our initial experimental results show that tree- like time structure can improve the performance of the key management scheme significantly and RBTBAC model is more suitable than existing solutions for EHR data management since it offers high-efficiency and better security and privacy. Copyright c 0000 John Wiley & Sons, Ltd. KEYWORDS EHR system; privacy preserving; role-based access control; time-bound key management; time tree * Correspondence State Key Laboratory of Information Security, Institute of Information Engineering Chinese Academy of Sciences, Beijing, China. E-mail: [email protected] Received . . . 1. INTRODUCTION Electronic Health Record (EHR) is a digital record shared across different healthcare settings, by network-connected enterprise-wide information systems called EHR systems [1]. On one hand, EHR systems hold the promise to provide fast and on-demand access to medical documents and help reduce medical errors and enhance healthcare quality by providing healthcare workers with decision support. On the other hand, this openness, while being an essential feature of EHR, exposes patients to the risks of privacy disclosure by improper authorization, misuse and abuse of EHR data. Therefore, security and privacy are widely recognized as important requirements for access and management of EHR data. Although regulations such as HIPAA [2] and the HITECH Act [3] have been put forward to rule the useage of EHR, but specific mechanisms are not described. 1.1. Security and Privacy Requirements for EHR Access We identify three main requirements for making access EHR data secure and privacy preserving. First, when a patient is offered medical treatment, he expects that his medical records can only be accessed by authorized doctors, and other unauthorized doctors should not be able to read any part of his medical records. For example, the EHR data of a patient must be accessed by authorized physicians or healthcare professionals when they have the matching roles or higher levels of roles in a role hierarchy as shown in Fig.1b. Furthermore, in role-based EHR data structure as shown in Fig.1a, the node authorized to physicians should be accessible by P hysician or nodes in lower levels of P hysician. Fig.1a gives an example of role-based hierarchical data structure for EHR data and Fig.1b shows an example of role Copyright c 0000 John Wiley & Sons, Ltd. 1 Prepared using secauth.cls [Version: 2010/06/28 v2.00]

Upload: others

Post on 06-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

SECURITY AND COMMUNICATION NETWORKSSecurity Comm. Networks 0000; 00:1–21

DOI: 10.1002/sec

RESEARCH ARTICLE

Role-Based and Time-Bound Access and Management ofEHR DataRui Zhang1∗, Ling Liu2 and Rui Xue1

1State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing, China2College of Computing, Georgia Institute of Technology, Atlanta, GA, US

ABSTRACT

Security and privacy are widely recognized as important requirements for access and management of Electronic HealthRecord (EHR) data. In this paper we argue that EHR data needs to be managed with customizable access control inboth spatial and temporal dimensions. We present a role-based and time-bound access control model (RBTBAC) thatprovides more flexibility in both roles (spatial capability) and time (temporal capability) dimensions to control the accessof sensitive data. Through algorithmic combination of role-based access control and time-bound key management, ourRBTBAC model has two salient features. First, we have developed a privacy-aware and dynamic key structure for role-based privacy aware access and management of EHR data, focusing on the consistency of access authorization (includingdata and time interval) with the activated role of user. In addition to role-based access, a path-invisible EHR structure isbuilt for preserving privacy of patients. Second, we have employed a time tree method for generating time granule values,offering fine granularity of time-bound access authorization and control. Our initial experimental results show that tree-like time structure can improve the performance of the key management scheme significantly and RBTBAC model is moresuitable than existing solutions for EHR data management since it offers high-efficiency and better security and privacy.Copyright c© 0000 John Wiley & Sons, Ltd.

KEYWORDS

EHR system; privacy preserving; role-based access control; time-bound key management; time tree∗Correspondence

State Key Laboratory of Information Security, Institute of Information Engineering Chinese Academy of Sciences, Beijing, China.

E-mail: [email protected]

Received . . .

1. INTRODUCTION

Electronic Health Record (EHR) is a digital record sharedacross different healthcare settings, by network-connectedenterprise-wide information systems called EHR systems[1]. On one hand, EHR systems hold the promise toprovide fast and on-demand access to medical documentsand help reduce medical errors and enhance healthcarequality by providing healthcare workers with decisionsupport. On the other hand, this openness, while being anessential feature of EHR, exposes patients to the risks ofprivacy disclosure by improper authorization, misuse andabuse of EHR data. Therefore, security and privacy arewidely recognized as important requirements for accessand management of EHR data. Although regulations suchas HIPAA [2] and the HITECH Act [3] have beenput forward to rule the useage of EHR, but specificmechanisms are not described.

1.1. Security and Privacy Requirements for EHRAccess

We identify three main requirements for making accessEHR data secure and privacy preserving.

First, when a patient is offered medical treatment, heexpects that his medical records can only be accessed byauthorized doctors, and other unauthorized doctors shouldnot be able to read any part of his medical records. Forexample, the EHR data of a patient must be accessedby authorized physicians or healthcare professionals whenthey have the matching roles or higher levels of rolesin a role hierarchy as shown in Fig.1b. Furthermore, inrole-based EHR data structure as shown in Fig.1a, thenode authorized to physicians should be accessible byPhysician or nodes in lower levels of Physician. Fig.1agives an example of role-based hierarchical data structurefor EHR data and Fig.1b shows an example of role

Copyright c© 0000 John Wiley & Sons, Ltd. 1Prepared using secauth.cls [Version: 2010/06/28 v2.00]

Page 2: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

hierarchy (the detailed explanation of Fig.1 will be givenin Section 3.2). However, some special circumstances mayneed more fine-grained access control. For instance, ahematologist may need to access all blood test resultsof a patient, which are nested under different role nodes(see Fig.1a). Therefore, in an EHR system, we alsoneed customizability to effectively achieve flexible, fine-grained, role-based access control over large number ofEHR data.

Second, in the healthcare setting, a physician is allowedto access the medical data of a specific patient onlyduring the time period of offering healthcare treatment.For example, emergency room doctor should not be able toaccess any medical document of a patient, once he or shehas completed the emergency treatment of the patient andthe patient has left the emergency room. In addition, givena patient, different doctors involved should have differenttime intervals in terms of accessibility to this patient’smedical data. Furthermore, a doctor may need to accessthe medical data of different patients at the same timeperiod. Thus, we need to support time-bound access and tomanage the accessibility of EHR data from time dimensionin healthcare domain.

Finally, it is to the best interest of some patients thattheir doctor only know the medical data that are relevant tothe diseases currently under treatment by the doctor (suchas dental disease) but should not be able to access othermedical data (such as psychotherapy data). Therefore,in addition to EHR data, the role-based structure andindices of EHR data should not be released to users,since the contents of internal nodes in such structuremay contain sensitive information that can be used byhealthcare professionals to infer other diseases of thepatient. Moreover, the structure of EHR data may changefrequently due to the involvement of different sets ofhealthcare providers for different medical conditions andtreatments. Thus, the third challenge in securing EHRaccess is to make the structure of EHR data and accesspath invisible to users who are unauthorized or onlyauthorized to access a partial component of the EHR data.Furthermore, for healthcare settings with untrusted DB,the indices of EHR data should be invisible too.

In the common setting of access control model,encryptor decrypts the data retrieved from database beforethey are sent to the requester. The secrecy of thetransmitted data is guaranteed by secure transport-levelprotocols (such as SSL/TLS) over network. This approachrequires the data need to be decrypted then re-encryptedbefore it is transported in the public network. Moreover,recipients of EHRs obtain the cleartext records and usuallycache them unprotected on the end device, leading toleakage and insecurity of the data. Thus we consider amore secure way that encryptor sends the encrypted datadirectly. Then data can be decrypted through a clientinstalled software if the user is legally authorized.

A basic and straightforward approach to deal with aboveproblems is to encrypt the medical records and updateencryption and decryption keys periodically. Obviously,this approach is known to increase the cost of the EHRsystem, and cannot achieve fine-grained access control.Furthermore, periodic distribution of decryption keys toevery user of EHR system is unpractical and insecure.

1.2. Our Contributions

In this paper, we propose a general purpose role-basedand time-bound access control (RBTBAC) model for EHRsystems. The development of RBTBAC model is basedon algorithmic combination of role-based access controland time-bound hierarchical key management such thata legitimate user of EHR system is authorized a timeinterval to access EHR data based on his/her role. TheRBTBAC model offers more flexibility of both roles(spatial capability) and temporal capability to control theaccess of sensitive data. Concretely, we have developeda privacy-aware and dynamic key structure for role-based privacy aware access and management of EHRdata, focusing on the consistency of access authorization(including data and time interval) with the activatedrole of user. In addition we have employed a time treemethod for generating time granule values, offering finegranularity of time-bound access authorization and control.Through extensive experimentation, we demonstrate thatour RBTBAC model not only offers better security andprivacy for access EHR data, but also provides highefficiency and customizability.

RBTBAC model is capable of accessing and managingEHR data, because it provides both structure and timeconstraint when a user accesses EHR data with anactivated role. Compared with most existing access controlmodels, RBTBAC model has three characteristics: role-based, time-bound and structure-invisible access controlhierarchy.

Roles and role based access are the first characteristicsof the RBTBAC model. Given a care delivery organization,roles are created for various healthcare functions. Thepermission to perform certain healthcare operations isassigned to specific roles. Similarly, users of EHR systemare assigned permissions through their particular roles.However, a user can have multiple roles at the same time.For instance, a doctor is a physician-in-charge for onepatient, and in the mean time he is also a temporaryphysician for another patient. In this paper, the concept ofrole-based EHR management is composed of role-basedhierarchical data structure, role hierarchy and role-basedaccess control. These three role-based concepts make up arole-based access control hierarchy. Specifically, if a useris granted the access to a node in higher level of a role-based hierarchical data structure, then he can access allleaf nodes of the authorized node. For example, if a userhas a role as Physicianh1

1 in Fig.1b, then he is authorizedto access data under the role Physicianh1

1 and the firsttwo leaf nodes Pres (here pres is the abbreviation for

2 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 3: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

Patient1

Physician Surgeon

Physician1h1

Illness X-rayIllnessBlood lab

Surgeonh1

Pres PresResultsX-ray images

Physician1h2

IllnessBlood lab

Pres Results

Physician2h2

IllnessBlood lab

Pres Results

(a) Role-based hierarchical structure of medical data

Patient1

Physician-in-charge Surgeon-in-charge

Physician1h1

Surgeon nurse

X-ray lab practitioner

Physiciannurse

Blood labpractitioner

Surgeonh1Physician1h2

Physiciannurse

Blood labpractitioner

Physician2h2

Physiciannurse

Blood labpractitioner

(b) Role hierarchy

Figure 1. EHR data hierarchy and role hierarchy

prescription) and Results in Fig.1a, where Physicianh11

refers to the physician1 from hospital h1. If a user hasa role as Physician-in-charge as shown in Fig.1b, thenhe can be authorized to access data in node Physicianin the second level in Fig.1a, which means that he canaccess all EMR (Electronic Medical Record) data fromall three physicians of Patient1. Note EMR is usually acomponent of EHR [4].

The second characteristic of RBTBAC is time-boundaccess. The roles in healthcare system have temporalconstraint by time bound such that each healthcare deliveryis only valid for a period of time. Therefore, in EHRsystems, time-bound access means that each user will begranted a valid time period based on his/her role, and theuser is only allowed to read EHR data of authorized nodesduring the given time period. Once the valid time periodhas expired, the user should no longer be able to access thedata.

The third characteristic of RBTBAC is to support astructure-invisible access hierarchy in the RBTBAC modelfor EHR data. The basic idea of structure-invisibility isthat the structure and indices of EHR data should not beknown to the users and the untrusted DB. In addition, thepaths from the granted node to all the leaf nodes shouldalso be invisible to the user if this user is only authorizedthe access right to read the data of leaf nodes. We willhave separate subsections to discuss this issue (see Section4.1.3 and Section 6.1.5).

Technically, we achieve RBTBAC from following threedimensions respectively: role-based, time-bound and path-invisible access structure.

In role-based dimension, we adopt a role-based accesscontrol hierarchy to assign access nodes for users(doctors). Typically, we use an access credential to bindone healthcare treatment. That is, for a doctor, one accesscredential binds one specific role and a set of EHR dataof a patient. Doctors can access the set of EHR databy providing an access credential with a specific role.Furthermore, the process of authorization is under thecontrol of predetermined access control policy.

In time-bound dimension, we make use of hierarchicaltime-bound key management scheme as basic keygeneration and distribution scheme. With this approach,each user is granted a consecutive time interval based onhis role, in which he can generate decryption keys by

himself. On the contrary, user cannot create any decryptionkey beyond the granted time interval even he is authorizedto access the data before. Then, we use hierarchicalkey structure to manage large number of keys, so thatusers can produce multiple temporary decryption keys toaccess different parts of EHR data with only one long-term key. Furthermore, we develop a practical time-bondkey management scheme that maps time granules into atime tree to provide more efficient computation on timeparameters than most existing key management schemes.

In path-invisible access structure dimension, we encodeall index nodes of EHR data and build an invisible pathfor users to access authorized data, so that all users ofEHR system even DB are unaware of EHR data structure.Therefore, it provides higher level of privacy protectionfor patient, and supports various EHR structures anddynamical updates of EHR data structure.

The rest of this article is organized as follows. In Section2, we describe current access control models and time-bound key management approaches, and their limitations.In Section 3, we give an overview of the RBTBAC model.In Section 4, we present the enforcement of RBTBACmodel including a role-based key structure and an efficienttree-like time structure. We present the detailed RBTBACprotocol in Section 5. Then we discuss security and privacyof our RBTBAC model in Section 6. In Section 7, weanalyze and compare time and space complexity of ourRBTBAC scheme with existing schemes. Next, we discussthe related works in Section 8. Finally, we concludewith notes on future work and other applications of ourproposed technique in Section 9.

2. BACKGROUND AND LIMITATIONS OFEXISTING APPROACHES

President Barack Obama gave a speech at annualconference of the American Medical Association in 2009.The key words are: All that (medical) information shouldbe stored securely in a private medical record so that yourinformation can be tracked from one doctor to another-even if you change jobs, even if you move, even if youhave to see a number of different specialists. Although thewords seem so simple, the ability for clinical institutionsto actually accomplish this is incredibly difficult. The term

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 3DOI: 10.1002/secPrepared using secauth.cls

Page 4: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

stored securely involves several secure issues to be solved:data encryption, secure storage, strong authentication,access control and key management. Also, it containsissues of actual implementation-searchability, feasibilityand efficiency.

In the healthcare scenario, when multiple users sign inan EHR system to query records for a specific patient,the access control component verifies the authorizationof each user first. Then the records are retrieved throughcorresponding index information and sent to the user basedon different privilege.

In this section, we provide a brief overview of accesscontrol and time-bound key management and discuss thelimitations of existing works.

2.1. Access Control

In the EHR system, the database storing the compositeEHR is a new paradigm of database outsourcing, calleddatabase-as-a-service (DAS) [5], where an organization’sdatabase is stored at an external service provider. Insuch systems, access control is a very important issue,especially if the data owner wishes to publish herdata for external use, e.g. patient’s EHR data are usedfor group consultation. Access control is in charge ofguaranteeing that each user obtains the correct informationand protecting the sensitive data from revealing tounauthorized users by identification and authentication. Inthe healthcare scenario, it requires more stringent securityand privacy, that is, enforcing rigid mandatory accesscontrol on encrypted EHR data.

Though much work on access control (see 8.1) hasachieved some aims, we find the work on access ofencrypted EHR data is very little. There are severalreasons for this situation. First, the types of medicalrecords are more than file system (such as X-ray image,pharmacy, prescription, etc.), and the properties of medicalrecords are more complex than file system (such assensitivity), so that it needs more fine-grained accesscontrol policy. Second, since different patient’s EHR dataare collected from different EHR providers and accessedby any authorized user (under normal circumstances, theaccessor is not the creator), the selection of encryptionscheme and key generation algorithm are thorny problems.Third, key management and distribution for different usersis also a hot potato. For instance, how to distribute keysto every user so that each of them can decrypt the dataauthorized by patient, while cannot decrypt any other datacontaining sensitive information or not allowed by patientis very hard.

In our scheme, based on the role of users, each ofthem is granted different permission to access encryptedEHR data within a specific time interval. The user cannotaccess those data that the patient does not allow to revealto him in the inconvenient time. Compared with existingdiverse access control schemes, our scheme combines role-based access control with time-bound key management

technique, so that it is capable to enhance the privacy forpatients.

2.2. Time-Bound Key Management

Key management is another important issue which isclosely related to encryption and access control. Keymanagement schemes are used to provide access controlto data streams for legitimate users. Recall that, in anEHR system, each piece of record should be encryptedstored in database and accessed by access control policies.Every time the use of encryption algorithm, there willbe a corresponding encryption and decryption key pair.Therefore, how to manage these multiple keys is a big issuein EHR systems.

For our motivated scenario, we employ time-boundhierarchical key management scheme to restrict user’saccess on EHR data. Literally, this scheme has twoproperties: hierarchy and time-bound. The hierarchy is awidely used structure for key management [6, 7, 8, 9, 10,11, 12], which is used to assign cryptographic keys to aset of partially ordered classes so that the user in a higherclass can derive the cryptographic key for users in a lowerclass. Time-bound means each cryptographic key is boundto current time period by adding time parameters in theprocess of key generation. In the healthcare scenario, usersare assigned to access EHR data for only a certain periodof time. Once the time period has expired, user should notbe able to access any record with key if he is not authorizedto do so. Thus, encrypting EHR data when send it to eachuser with time-bound key is a good way to tackle aboveproblems.

In the recent decade for development of time-bound keymanagement technique, a typical work is proposed by ElisaBertino et al. [11]. Their scheme is based on elliptic curvecryptography and claimed secure against X. Yi’s attack[13]. In Bertino’scheme, the encryption key Ki,t for classof node Ci at time granule t ∈ [0, z] is computed by theformula below:

Ki,t = HK

((Ki)Y ⊕Ht(a)⊕Hz−t(b)⊕ CIDi

)(1)

Where Ki is the class key of class of node Ci, (Ki)Yis the Y-coordinate of Ki, Ht(c) is the t-fold iteration ofhash function H(·) applied to c, CIDi is the identity ofCi and ⊕ is the bitwise XOR.

When a user is given a tamper-resistant devicestoring HK , Htb(a), Hz−te(b), CIDi and otherparameters, he can derive decryption key Ki,t in timegranule t ∈ [tb, te] with Equation (1) in tamper-resistantdevice, where Ht(a) = Ht−tb(Htb(a)), Hz−t(b) =Hte−t(Hz−te(b)).

However, the security of their scheme is questioned bySui [14]. Moreover, the use of tamper-resistant device isinfeasible in EHR system.

In summary, as applied to the EHR system, time-boundhierarchical key management scheme should be rebuilt to

4 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 5: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

TATIME

ASSIGNMENT

DHDATA

HIERARCHY

RHROLE

HIERARCHY

UUSERS

RROLES

PPERMI-SSIONS

UAUSER

ASSIGNMENT

PAPERMISSION ASSIGNMENT

TIME CONSTRAINT

ACPPOLICY

Figure 2. RBTBAC model

provide better security, privacy and practicality, so thatit has capability of satisfying the special requirements ofEHR systems.

3. THE RBTBAC MODEL FOR EHRSYSTEMS

This section discusses related access control modelfor EHR infrastructures. We begin with presenting anRBTBAC model used in role and data hierarchy systems.Then we give the reference security model for an EHRsystem.

3.1. RBTBAC Model

Role-based access control (RBAC) [15] [16] is designed tosimplify security administration by introducing the ’role’abstraction between principles (subjects) and privileges(objects). This splits management of the principal toprivilege mapping by splitting it into two parts: a mappingfrom user to roles, and a mapping from roles to privileges.In [17], four RBAC schemes are described. Among them,flat RBAC is the basic model which simply dictates tworelationships: user-role and role-privilege. HierarchicalRBAC extends the basic flat RBAC model by adding rolehierarchy. Role hierarchy has an associated constraint thatmust be satisfied if a user is to activate the target role basedon their already being active in the source role (the originalrole used for creating medical data hierarchy).

Hierarchical RBAC can be used to build our RBTBACmodel since it facilitates the development of powerfulpolicy schemes in EHR system. We extend the basichierarchical RBAC model to RBTBAC model as shownin Fig.2. An additional mapping from privilege to accesscontrol policy (ACP) with time constraint is added betweenroles and permissions, that is, each access permit for a setof data is bounded by a time interval. The double-headedarrow in Fig.2 indicates the many-to-many relationshipbetween the two objects. One user can activate severaldifferent roles, where each role is corresponding to a validaccess time interval of specific data sets. Similarly, onepermit is bounded by number of rules, and one rule canaffect more than one permit.

Compared with hierarchical RBAC, RBTBAC has timeparameters in each access control policy. When TA (trustedauthority) concludes a result by searching access controlpolicies, it actually not only gives the access permission

to a specific role but also grants a time period for theauthorized access.

3.2. EHR Data Structure and Role Hierarchy

Usually, EHR data are hierarchically clustered. In theEHR environment, hierarchical structure of EHR data isrequired to be flexible and dynamic. Theoretically, thereare two types of hierarchical structure of medical records:attribute-based structure and role-based structure. Fig.1a isan example of role-based hierarchical structure of medicalrecords [4].

As a general rule, patient visits a special doctor fora specific illness. Therefore, multiple records can beclustered by the different roles of doctors. We constructan EHR tree for each patient using Patienti as the root ofEHR tree. For the same patient, say Alice, the same tokenis assumed. We can set the initial role based hierarchicalstructure of an EHR in terms of hierarchical template asshown in Fig.1a. The root of the tree is at the top level,say Level 0. Level 1 is the role nodes of doctors, andtheir children nodes are labeled with unique identity ofdoctors within each corresponding CDO (Care DeliveryOrganization), such as hospital1 and hospital2 in Fig.1a(Level 2). The nodes in and below Level 3 are medicaldiagnosis nodes and other correlative inspection nodes.Finally, only the leaf nodes contain EHR records, such asprescriptions and diagnosis and so on. Thus the tree hastwo types of nodes: leaf nodes that contain real EHR dataand other nodes of upper levels that are actually indicesfor EHR data. Thereby the former are called data nodesand the latter are called index nodes. For easy retrieval, wewant to sort all child nodes by alphabetical ordering of theirtokens or node IDs from left to right except the diagnosisnodes in Level 3, where we place diagnosis nodes as theleftmost child node of their parent node, since they aremore important than other sibling nodes. Obviously in thisstructure, all data nodes are nested according to a rolenode, so that they can be expediently retrieved by differentroles of doctors.

Role hierarchy is a natural mean for structuringroles to reflect an organization’s lines of authorityand responsibility, as well as in medical organizations.An example of role hierarchy corresponding to role-based hierarchical EHR data is illustrated in Fig.1b.Mathematically, the role hierarchy is partial order, whichis reflexive, transitive and anti-symmetric relation. Byconvention more powerful (or senior) roles are showntoward the top of role-hierarchy diagram, and less powerful(or junior) roles toward the bottom. Fig.1b shows thatsenior roles aggregate the access permission of juniorroles. Thus Patient1 can get access permission of his/herown medical records in Fig.1a. Similarly, role Physician-in-charge acquires the permissions of Physicianh1

1 ,Physicianh2

1 and Physicianh22 , and may have additional

permission of its own to access physician records ofPatient1. This tree-structure hierarchy is good foraggregation but does not support sharing. In Fig.1b, there

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 5DOI: 10.1002/secPrepared using secauth.cls

Page 6: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

EHR Provider

Encryptor

EHR Database

EHR System

Doctor

Unencrypted medical data

Encrypted medical data Controlled by access control policy

Patient

Access control policy

control

Access control enforcer

Trusted Authority

EHR Provider

EHR Provider

Access Credential

Figure 3. The reference security model for EHR system

can be no sharing of medical data between the Physician-in-charge roles on the left and Surgeon-in-charge roles onthe right.

3.3. Reference Security Model for EHR System

The reference security model mainly has three entitiescooperatively to manage and control the usage of EHRdata in security as shown in Fig.3. The most importantone is the TA (trusted authority) who retains two roles:encryptor, who is responsible for encrypting various EHRdata from different healthcare providers into ciphertextsand access control enforcer, who enforces predefinedaccess control policies. The remote EHR database is anecessary component to store the encoded composite EHRdata. Additionally, an access control policy engine is thecollector and developer for access control policies underpatient’s control.

The original EHR data of a patient are collectedperiodically from repositories of different healthcareproviders. Then encryptor encrypts the various medicaldata and uploads the encrypted data to the remote EHRdatabase. To request access to EHR data of a patient,user is required two types of credentials: system identitycredential and access credential. When a new user signsup for EHR system, TA returns a system identity credentialto the user. The system identity credential includes aunique identity, the original role of the user (which isused to sign into the EHR system), a user’s master key(which is used to generate short-term access keys forsubsequent accesses) and some system parameters. Withsystem identity credential, user can only log into the EHRsystem, but cannot access any EHR data even his ownEHR data. To access EHR data of a specific patient,user sends an access request to TA with his systemidentity credential. The request should mainly containthe patient’s ID, a target role for accessing the requesteddata (which is lower or equal to his/her original role inrole hierarchy), the keywords for requested data and anexpected access time period. TA replies permission resultbased on the predefined access control policies. Oncethe request is consistent to access control policies, TAauthorizes an access credential to the user. An access

credential should include access time period, parametersused to compute decryption keys of authorized data andverification information. User can legally query EHR datafrom remote database with corresponding access credentialand decrypt the encrypted data in the granted time period.

Here the user is granted access privilege for a set of datain a specific time period by an access credential. Whenthere is an access request, database only needs to verify thesystem identity credential and access credential rather thaninteracting with TA and access control policy repository toverify the authorization.

3.4. Patient-Controlled RBTBAC Policy

For protecting patient’s privacy, patient should be involvedin the development process of access control policy todecide which parts of his/her EHR data can be shared withwhom. Here we first give a formal definition of RBTBACpolicy, and then illustrate how the policy works underpatient’s control through some examples.

Definition 3.1 (RBTBAC Policy)An RBTBAC policy is a tuple acp =(ro, 〈Patientj , {C}〉 , 〈tb, te, ti〉 , pu, re), wherero ∈ Ro is the target role of the access requester andRo is the set of roles in role hierarchy; 〈Patientj , {C}〉is a set of EHR data nodes of patient j, which can beselected as target objects; 〈tb, te, ti〉 is a set of timeparameters for the user accessing requested data: tb is thestart time of the requested time interval, te is the end timeof the requested time interval, and ti ∈ TI is the longesttime interval for valid access on selected data; pu ∈{treatment, research, payment, default} indicatesthe purposes of user access; re ∈ {permit, deny} is theauthorization result of current request.

Example 3.2Using Definition 3.1, Fig.1b as role hierarchy and Fig.1aas corresponding EHR data structure, the following accesscontrol policies can be articulated:

acp1: (Patient1, 〈Patient1, Patient1〉, default,default, permit);

acp2: (surgeonh1 ,⟨Patient1, surgeon

h1⟩,

〈tb, te, twoweeks〉, treatment, permit);acp3: (physician-in-charge,

⟨Patient1, surgeon

h1⟩,

〈tb, 12 : 00am, oneday〉, treatment, deny).

In acp1, the patient is allowed to read all his/her ownEHR data at any time. Inferred from acp 2, a user withrole surgeonh1 is allowed to read the EHR data nestedunder the node Surgeonh1 of Patient1 in Fig.1a when heoffers healthcare treatment for Patient1, which starts attb and ends at te. The longest valid time interval for accessthose EHR data is two weeks. While in acp 3, the requestthat user with role physician-in-charge accesses EHR dataunder the node Surgeonh1 in the day will be denied.

Note that, in most cases, time interval from tb to te(namely, the value of te − tb + 1) depends on the timeinterval of offering healthcare treatment and is not equal toti. If (te − tb + 1) < ti, then the valid access time interval

6 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 7: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

should subject to te; otherwise, the access time intervalshould end at tb + ti. In the latter case, the user should re-request access permission for the rest time interval. Usingacp 3 as an example, no matter when the access right isauthorized to user, after the midnight of the day the usercan not access the data anymore. Here we need to pointout that once EHR data have been created, they should beread-only.

4. ENFORCEMENT OF RBTBAC MODEL

So far we have discussed our RBTBAC in model terms.In this section, we give technical details for enforcing ourRBTBAC model.

In an RBTBAC model, the key technical issue isgeneration of access key, so that users can access differentpieces of EHR data in different time intervals. In thispaper, the key generation and distribution scheme iscalled RBTB key management scheme. Since the algorithmused to encrypt and decrypt EHR data is symmetriccryptographic algorithm, decryption key is identical toencryption key, namely access key mentioned in Section5.2. The algorithm for generating an access key Kk,t isparameterized with two numbers: a long-term class (node)key Kk for class node Ck and a time granule value VB(t).This section focuses on computation of the two primaryparameters. We first discuss the role-based key structuresof RBTB key management scheme, and then put forwardan efficient method, time tree, for computing time granulevalues.

4.1. Role-Based Key Structures

As mentioned before, a user may have several differentroles, so he may need to have multiple keys to accessdifferent pieces of EHR data. The ideal situation wouldbe that a user can decrypt multiple parts of EHR datawith the smallest number of keys. To achieve this goal,we let each user efficiently produce multiple accesskeys by themselves with only one long-term masterkey. Technically, we first construct a static hierarchicalencryption key structure, and then dynamically establisha hierarchical decryption key structure.

4.1.1. Encryption and Decryption Key StructuresRole-based key structure provides a way of integrating

access control in the key distribution phase in a manner thatfacilitates generating access keys for different data nodes.

Definition 4.1 (Security Class)A security class is a set of EHR data that share commonsearchability access privileges. That is, all EHR datacontained within a security class can be accessed andsearched by the same authorized user.

Suppose that there are totally n doctors and mpatients in an EHR system. Consider key tree as Fig.4a,the partially ordered set 〈C,�〉, where the vertices are

C = {C0, CP1 , · · · , CPm , C1, C2, · · · , CN}, where eachvertex is a security class and diagramed with a node inthe hierarchical tree. If Ci � Cj , we say security classCi is subordinate to security class Cj (or security classCj is superordinate to security class Ci). Ci ≺ Cj meansthat Ci � Cj and Ci 6= Cj . If Ci ≺ Cj and there is noCx such that Ci ≺ Cx ≺ Cj , we say Ci is immediatesubordinate to Cj (or Cj is immediate superordinate toCi), which denoted by Ci ≺d Cj and labeled by a directededge between the two security classes in the tree.

To encrypt EHR data in each security class, encryptorfirst establishes encryption key tree as shown in Fig.4a.Without loss of generality, let C0 be the root of the tree.Correspondingly, K0 is the system root key used to encryptthe data in class C0. The nodes in the second level arecalled patient nodes which is a token of the patient. Allthe EHR data of the patient are nested under the matchingpatient node. Therefore the corresponding key is calledpatient master key KPj (j = 1, 2, · · · ,m), which can bedistributed to patient j, so that the patient can derive keysof lower level when given access right. For example, thekey KP1 is related to node P1, which is also the root nodein Fig.1a. That means the subtree rooted with KPj (1 ≤j ≤ m) is isomorphic to the tree of EHR data of patientj. Similarly, the keys in lower levels are encryption keysused to encrypt data in homologous classes in the tree ofEHR data (see Fig.1a). Note again, in this key tree, onlythe keys in leaf nodes are used to encrypt real EHR data.In summary, the keys in lower level classes can be derivedfrom the keys in higher level classes, whenever they arepartial ordered, which means there exists a path betweenthese two security classes in the tree.

The decryption key structure is slightly different thanthe encryption key structure. Consider the situation whereFig.4a is used as the decryption key structure: a doctor isrequired to have more than one decryption key to accessEHR data of different patients. To avoid the inconvenienceand added security risks that come with the distribution ofmany keys, we dynamically add doctor nodes between rootnode and patient nodes as shown in Fig.4b. The key relatedto a doctor node is called doctor master key KDi(i =1, 2, · · · , n). It is bound with a doctor’s ID and assignedto the corresponding doctor. Therefore, doctor can use theunique master key to produce multiple keys to access EHRdata of different patients. Here the ’dynamically’ meansthe relationship between doctor node and patient node isnot static. According to the description of Section 3.3,it is established only when a doctor is issued an accesscredential. Moreover, it can be deleted once the validaccess time interval has expired.

4.1.2. Computation of Class KeyThe class keys are relative static and have two

roles: encrypting index nodes and computing access(encryption/decryption) keys for data nodes.

Let G be a cyclic group of prime order q (with ‖q‖ =n′, where n′ is the security parameter), and let g be a

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 7DOI: 10.1002/secPrepared using secauth.cls

Page 8: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

...

KPmKPm-1...KP1

Ks+v+1Ks+v

Ks+2Ks+1KsK4K3K2

P1

K0

P2 Pm-1 Pm

K1

Physician Surgeon Physician Surgeon Surgeon Physician Surgeon

KP2

......

.... . .

......

...

Ks+v+2 KNKN-1KN-2

Root node

Patient nodes

Index nodes

Data nodes

(a) Encryption key structure

KD2

KPmKPm-1...KP1

Ks+v+1Ks+v

Ks+2Ks+1KsK4K3K2

P1

K0

P2 Pm-1 Pm

K1

Physician Surgeon Physician Surgeon Surgeon Physician Surgeon

KD1 KDn

KP2

...

...

......

.... . .

......

...

Ks+v+2 KNKN-1KN-2

Root node

Doctor nodes

Patient nodes

Index nodes

Data nodes

(b) Decryption key structure

Figure 4. Hierarchical key structure for encrypting and decrypting EHR data

generator of G. H ′ : {0, 1}∗ → G is a secret collision-resistant hash function. IV is a random initial value. Pj ,Di and CIDx represent identities of patient j, doctori and security class Cx respectively. Relationship valueRCx,Cy between two partial ordered classes Cy ≺ Cx canbe calculated by Equation (2).

RCx,Cy = g[H′(CIDy)−H′(CIDx)]mod q (2)

Then class key Ky for security class Cy can becomputed with Equation (3).

Ky = gH′(CIDy) = Kx ·RCx,Cy

= gH′(CIDx) · gH

′(CIDy)−H′(CIDx)(3)

Concretely, for encryption key structure (Fig. 4a),encryptor computes class keys for each type of securityclasses as follows:

• Root node (C0): K0 = gH′(IV )

• Patient node (CPj ): KPj = gH′(Pj) =

K0 ·RC0,CPj= gH

′(IV ) · gH′(Pj)−H′(IV );

• Index node (Cx): Kx = gH′(CIDx) =

KPj ·RCPj,Cx = gH

′(Pj) · gH′(CIDx)−H′(Pj);

• Data node (Ck): Kk = gH′(CIDk) = Kx ·

RCx,Ck = gH′(CIDx) · gH

′(CIDk)−H′(CIDx).

For decryption key structure (Fig.4b), a doctor nodeis added between root node and patient node when adocotor is issued an access credential. The doctor masterkey is computed with KDi = gH

′(Di) = K0 ·RC0,CDi

and distributed to user Di. When user Di queries EHRdata of security class Ck of patient j, the relationship valueRCDi

,Ck is computed and sent to user Di as well as otherparameters through an access credential. Consequently,user Di can derive class key Kk with his master key KDi

and given value RCDi,Ck by himself through Equation (4).

Kk = KDi ·RCDi,Ck (4)

Correctness. Suppose partial order Ck ≺d Cx ≺d

CPj ≺d CDi ≺d C0 in the decryption key structure, userDi can correctly compute class key Kk for security class

8 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 9: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

Ck by given RCDi,Ck and KDi , because the following

equation holds.

Kk = Kx ·RCx,Ck = KPj ·RCPj,Cx ·RCx,Ck

= KDi ·RCDi,CPj

·RCPj,Cx ·RCx,Ck = KDi ·RCDi

,Ck

Security. Based on the condition that H ′ is only knownto encryptor, the security of class key generation is basedon the discrete logarithm problem in a cyclic group Gof prime order q with given generator g [18]. That is,user Di is unable to compute logg KDi given a randomelement KDi ∈ G. The randomness of KDi is ensuredby the secret collision-resistant hash function H ′ and therandomness of its inputs. Similarly, for other class keys andrelationship values, we have the same security conclusions.In addition, each of user’s master keys should be secretlykept by its owner and other class keys for index nodesare securely stored by encryptor. Once a class key isexposed, it should be revoked and recreated with newidentity (except the class keys of data nodes: they can becomputed by users through authorization).

4.1.3. Path Invisible Access StructureIn the EHR system, both EHR data and the indices

to that data can reveal part of the patient’s sensitiveinformation. For this reason, we highly suggest theindices of EHR data, namely the index nodes of EHRdata structure should be encrypted too. In our RBTBACscheme, they are encrypted by corresponding class keys.Thus, users can not obtain any other information about thepatient except the EHR data authorized to him, that is, aninvisible access path is build for users.

Specifically, when a user is authorized to accessEHR data of security class Ck, he is only given therelationship vlaue RCDi

,Ck through the access credential.Then the user computes Kk with Equation (4) withoutany intermediate index node involved in the process ofcalculation. It can be inferred from above steps that useris unaware of any index node or of the structure of EHRdata. Therefore, we call the structure with above characterpath invisible access structure.

4.2. Time Tree

In this subsection, we introduce a novel method, time tree,to efficiently compute time granule values.

4.2.1. Definition of Time TreeWe divide time into small granules, which are numbered

as 0, 1, 2, · · · , z, and map these time granules into atime tree. The time tree can be binary tree or multi-treeaccording to the actual situation.

First, we distinctly state the concepts of different timeperiods that used in our RBTBAC scheme. The whole timeperiod is called timeline, which is the longest time unitinvolved in this paper. The timeline is divided into uniformsmall pieces. Each small time slot is called time granule,

which is the smallest unit of time period. We call severalconsecutive time granules time interval which representsa valid time period for user accessing a set of EHR data.For example, the timeline is one year and the small timegranule is one day, that means a whole year is divided into365 days. A user can be granted any consecutive days in365 days as time interval such as one week or one monthto access EHR data.

Next, we need to define a new concept, time tree, whichis introduced to effectively compute time granule values inour RBTBAC scheme.

Definition 4.2 (Time Tree)A time tree is a finite set of time interval values, whichbegins at a value of whole timeline as root node. Childnodes divide time period of parent node into severalsmaller consecutive disjoint time intervals. Each leaf nodedenotes the smallest time granule value. The value of nodecan be computed through the path from root node to itself.

Definition 4.3 (Time Binary Tree)If the time tree has at most two children for each node, wecall it time binary tree.

Definition 4.4 (Time Multi-Tree)If the time tree has more than two children for each node,we call it time multi-tree.

4.2.2. Two Structures of Time TreeNow we explain how to map time granules into a

Complete Binary Tree (CBT) through an example. UsingFig.5a as an example, the timeline is divided into eightsmall time granules with the binary representation of000, 001, · · · , 111. For simplicity, let B(t) denote thebinary expression of time granule and VB(t) indicate thevalue of time granule t. A star in subscript indicatesintermediate nodes (that is not the root and leaf nodes)of the time tree. Obviously, the values of smallest timegranules are labeled by leaf nodes of the CBT. Besides,the value of each node can be calculated through thepath from the root node to itself, where the value ofroot node is H(w), H is a one-way hash function andw is a randomly selected integer. Consequently we havefollowing equations, where ‖ denotes string concatenation.

V0∗ = H(H(w)‖0), V1∗ = H(H(w)‖1),V00∗ = H(H(H(w)‖0)‖0) = H(V0∗‖0), · · ·V111 = H(H(H(H(w)‖1)‖1)‖1) = H(H(V1∗‖1)‖1)= H(V11∗‖1)

We observe that all time interval [tb, te] ∈ [0, z] can becomposed of a number of Full Binary Subtrees (FBSs),that is [VB(tb), VB(te)] = FBS[V 1] ∪ FBS[V 2] ∪ · · · ∪FBS[V u], where FBS[V u] denotes an FBS whose valueof root node is V u and symbol ∪ means the values of leafnodes of FBSs (the right side of the equation) compose thevalues of time interval from tb to te. For example, timeinterval [tb, te] = [0, 5] = [000, 101], which is labeled in

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 9DOI: 10.1002/secPrepared using secauth.cls

Page 10: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

V101 V110 V111V100V011V010V001V000

V11*V10*V01*V00*

V1*V0*

1111

1 1

1

00

0

00

0

0

H(w)

(a) Time binary tree

631 2 37173

512 51

1201

...

......

V125*V011*

V12*V01*

H(w)

V0113

V012* V015*

V0114 V0117 V0121 V0122 V0127 V0151 V0152 V0153 V1153 V1154 V1155 V1156

...

...1

(b) Time multi-tree

Figure 5. Two samples of time tree

gray in Fig.5a, contains two FBSs, one is rooted bynode V0∗, the other is rooted by node V10∗. Therefore,we have following equation: [V000, V101] = FBS[V0∗] ∪FBS[V10∗].

With the tree structure, any leaf node of an FBS can becomputed through the value of its root node. For example,V000, V001, V010, V011 can be computed with the valueV0∗ respectively, V100 and V101 can be computed withthe value V10∗. Consequently, time granule values of timeinterval [tb, te] = [000, 101] can be computed with thegiven values V0∗ and V10∗.

In healthcare domain, time interval of treatment isusually counted by days, weeks or months. If we definethe smallest time granularity as daily, it is not veryconvenient to find right intermediate nodes to computeeach time granule when a doctor is authorized accesstime interval weekly or monthly. For above reason, weconsider another time structure called time multi-tree asshown in Fig.5b. The root node denotes the timeline ofone year. The nodes in the second level are the values ofmonths expressed by Vmonth∗. For instance, V01∗ meansthe value of January and so forth. The third level is dividedby weeks, the expression of time interval values of thislevel is Vmonth‖week∗, such as V011∗ expresses the timeinterval value of the first week of January. The leaf nodesdenote the smallest time granule such as days, the value ofleaf node is expressed by Vmonth‖week‖day . For example,V0113 denotes the time granule value of Wednesday, thefirst week in January. So this multi-tree has 365 leafnodes to represent a year. The computation expressionfor value of each leaf node is Vmonth‖week‖day =H(H(H(H(w)‖month)‖week)‖day), i.e.V0113 = H(H(H(H(w)‖01)‖1)‖3) = H(V011∗‖3).With time multi-tree, doctors can be assigned intermediatenodes easily when they are given time interval weekly ormonthly in condition that the timeline is a year and thesmallest time granularity is daily or weekly.

However, when a doctor is authorized time interval bydays, like from Monday to Friday, he needs to be givenfive time interval values and computes decryption key ineach time granule with time multi-tree. In this situation,time binary tree is more efficient and flexible than time

multi-tree.

The method of time tree is faster than most existingtime-bound hierarchical key management schemes, sincethey use linear hash chain to compute time granule value,whose time complexity of hashing operation is O(te − tb).While with binary tree structure, the time complexity ofhashing operation is O(dlog2(te − tb + 1)e). Obviously,the method of time tree is comparatively efficient forcomputing time granule values. The detail analysis andcomparison of time complexity of these two methods willbe given in Section 7.2.

4.2.3. Algorithm for Locating the Roots of FBSsIn the previous sections, we have shown how to

construct a time tree by given timeline [0, z]. However,there is an unsolved issue: that is, when given a timeinterval [tb, te], how to correctly find root nodes of FBSsin a time tree. Clearly, it is much easier when using timemulti-tree than using time binary tree. In this subsectionwe outline a practical algorithm that is able to effectivelylocate root nodes of FBSs given any consecutive timegranules [tb, te] ∈ [0, z] of time binary tree.

Algorithm 1 shows the pseudo-code for locating theroot nodes of FBSs. Given time interval [tb, te], theprocedure FindRootOfFBS exposes a set of positionsof FBS roots. Since the given time interval is composedof consecutive leaf nodes, the algorithm analyzes thecomponents of time interval from bottom to top. It usesa structure with two parameters val and pos to representthe position of a node of time binary tree. In addition, avariable level is used to indicate the current number ofrounds and initialized by 0. It first allocates two variableshead and end to respectively indicate the beginning andend of time interval, that is, the value of head is tb and thevalue of end is te. If the value of head is odd (or the valueof end is even), then this node is one of the nodes we arelooking for; Otherwise, the value of head is increased by 1(or the value of end is reduced by 1). Then remove the lastbit of head and end (that is standard right shift of one bit)and go to the next round (the upper level of the time binarytree) until the value of head is less than or equal to end.

10 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 11: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

ALGORITHM 1: Pseudo-code for locating the roots of FBSs

procedure FindRootOfFBSlevel = 0, head = tb, end = te;while head < end do

if (head mod 2 == 1) thenRootNodes→ elem.val = head;RootNodes→ elem.pos = level;RootNodes = RootNodes→ next;head=head + 1;

endif (end mod 2 == 0) then

RootNodes→ elem.val = end;RootNodes→ elem.pos = level + 1;RootNodes = RootNodes→ next;end = end− 1;

endlevel + +;head = head >> 1;end = end >> 1;

endPrint(RootNodes);

Take [tb, te] = [0, 5] = [000, 101] as an example (seeFig.5a). Initially, the value of head is 0 (000 in binary)and the value of end is 5 (101 in binary). In the first round(the value of level is 0), no node is singled out, since thevalue of head is even and the the value of end is odd.Continue to right shift one bit of head and end, the valuesof head and end become to 0 (000 in binary) and 2 (010in binary) respectively, and value of pos increases to 1. Inthe second round, since the value of end is even, the firstroot node whose val = 2 and pos = 1 is obtained. Thenend reduces to 1. In the third round, after remove the lastbit of head and end, the values of them both become to 0.The value of end is even again. So the second root nodewhose val = 0, pos = 2 (that is, 0 in binary) is located.The program terminates.

4.3. Rekey

To guarantee the security of EHR system, all keys shouldbe updated periodically. In our scheme, the access keyKk,t for security class Ck is changed with current timegranule t. The frequency depends on the size of t, suchas per day or per week. The class keys Ki for generatingaccess keys and encrypting index nodes are also regularlyrenewed by updating initial value IV periodically (suchas per month or per year). Accordingly, all class keys arechanged with IV regularly.

5. IMPLEMENTATION OF RBTBACPROTOCOL IN EHR SYSTEM

In this section we present the RBTBAC protocol foraccessing EHR data based on previous RBTBAC model.The access of EHR data is an interactive process involvinguser, EHR system and EHR database. As mentioned inSection 3.3, to successfully access the encrypted EHR

data, the user should be issued both system identitycredential and access credential for the requested dataset. An RBTBAC protocol is composed of five sub-protocols: initialization, data encryption, user registration,user request and access and decryption.

5.1. Initialization

In this phase, system parameters for accessing EHRdata are initialized, all class keys are generated and thehierarchical encryption key structure is established asFig.4a.

1. Encryptor chooses a random integer IV and twosecret keyed HMAC HK(·) and HKx(·), whereK is the system access master key and Kx is theclass key for security class Cx. Then encryptorruns a polynomial-time group-generating algorithmG(1n

′) to generate group G as described in Section

4.1.2 and selects a collision-resistant hash functionH ′ : {0, 1}∗ → G.

2. Encryptor computes class keys of encryptionkey structure using the method in Section 4.1.2.Then encryptor encodes all index nodes withcorresponding class keys, that is, computes thevalues of HMAC HKx (Cx) for node Cx as wellas all patient nodes, and updates the secured indicesto DB.

5.2. Data Encryption

Encryptor generates the encryption (access) key Kk,t forCk at time granule t ∈ [0, z] and encrypts the data ofsecurity class Ck with key Kk,t, whenever Ck is a securityclass of leaf node. Kk,t is computed as Equation (5), whereVB(t) is computed with the method in Section 4.2.2. Itis worth noting that only the data (leaf) nodes of EHRstructure are encrypted with the access keys.

Kk,t = HK

(Kk‖VB(t)

)(5)

5.3. User Registration

When a user (doctor) Di requests registration in the EHRsystem, TA computes user master key KDi and issues asystem identity credential to user Di as the identity proofto access the EHR system. The system identity credentialshould contain SigTA

{EncPKDi

(KDi , HK(·))}

and

EncPKDi(KDi , HK(·)), where SigTA {M} is a digital

signature signed with TA’s private key on message Mand EncPKU (·) is a ciphertext encrypted by public keyencryption algorithm with U’s public key.

5.4. User Request

Once the user Di has obtained the system identitycredential, he can request access to the EHR data of aspecific patient (or patients) with role ro and keywordI within consecutive time granules [tb, te] ∈ [0, z]. TA

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 11DOI: 10.1002/secPrepared using secauth.cls

Page 12: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

first verifies user’s system identity credential. ThenTA searches the access control policies. If the requestmatches the access control policies, TA retrieves theset of secured indices

{HKxr

(Ir)}

, where Ir is therth retrieved index nodes on keyword I . Next, TAlocates the right root nodes of FBSs and calculatesthe values V u of these nodes (see Algorithm 1). Atlast, TA issues the doctor an access credential, whichcontains SigTA

{EKDi

(tb, te, {V u} ,

{RCDi

,Ck

})},

EKDi

(tb, te, {V u} ,

{RCDi

,Ck

}),

SigTA

{EncPKDB

(Di, tb, te,

{HKxr

(Ir)})}

andEncPKDB

(Di, tb, te,

{HKxr

(Ir)})

, where EKDi(·) is

a symmetric encryption algorithm with secret key KDi

of user Di, {V u} is a set of root nodes’ values of FBSs,{RCDi

,Ck

}is a set of relationship values,

{HKxr

(Ir)}

is a set of secured index nodes.

5.5. Access and Decryption

Suppose a user Di has received an access credential fromTA and has granted access time interval [tb, te], then hecan decrypt and read EHR data of Ck at any time granulet ∈ [tb, te], whenever Ck ≺ CDi .

1. In the current time granule t ∈ [tb, te], user Di

requests EHR data with system identity credentialand access credential. DB verifies the authenticityof the two credentials by verifying TA’s signatureand checks the identity of the user and the timegranule against the access credential. Then DBretrieves encrypted data of security class Ck bycomparing the values of

{HKxr

(Ir)}

with storedindices and sends them to user Di.

2. User Di retrieves {RDi,Ck} and V 0, · · · , V u fromthe access credential with his secret master key, andcomputes Kk with Equation (4) and VB(t) with themethod in Section 4.2.3. Then user Di computesdecryption key Kk,t with Equation (5).

3. Finally, the encrypted data of security class Ck canbe decrypted by the authorized user Di with thederived access key Kk,t.

Note that, first, in the process of access EHR data, TAis entirely offline except the process of issuing systemidentity credentials and access credentials, which can bedone before the access time interval. In the granted timegranules, user communicates with DB directly withoutinvolvement of TA. This approach avoids complicatedcommunication among user, TA and DB in each timegranule, thereby reducing the communication overloadof TA. Second, in order to access and control of EHRdata, a special software, which can provide data and keymanagement (such as limiting the saving and copyingof ciphertext and plaintext of EHR data, and deleting

EHR data and access key when current time granule hasexpired), must be installed on the client.

6. ENFORCEMENT VERIFICATION

This section focuses on the discussion of security andprivacy analyses of our RBTBAC scheme.

6.1. Security Analysis

The discussion of security of RBTBAC protocol containsthe security against possible attacks and the secure indices.Basically, successfully accessing and decrypting EHR datamust have both valid system identity credential and accesscredential. In our scenario, we suppose that user neverreveals his system identity credential to others, namelyhis master key KDi is secretly kept. Once the user iscompromised (namely, his master key is exposed), hissystem identity credential and his master key should berevoked by TA immediately.

6.1.1. Attack from the OutsideThe first scenario is an adversary without system

identity credential and access credential attempts to accessdata. He may try to request encrypted EHR data fromDB with a forged system identity credential and a forgedaccess credential (or an access credential from otheruser). Obviously, the adversary will fail to pass theverification, when DB verifies the signature of systemidentity credential with TA’s public key. In addition, theadversary cannot decrypt the EHR data without validsystem identity credential and access credential even if hegets the encrypted EHR data.

6.1.2. Attack on Unauthorized ClassThe second situation is a malicious user Di of the EHR

system may attempt to access data of an unauthorizedclass C′k (which has never accessed by the user) inconsecutive time granules [tb, te]. Assume the userhas legally obtained access credential containingSigTA

{EKDi

(tb′, te′, {V u} ,

{RCDi

,Ck

})},

EKDi

(tb′, te′, {V u} ,

{RCDi

,Ck

}),

SigTA

{EncPKDB

(Di, tb

′, te′,{HKxr

(Ir)})}

and EncPKDB

(Di, tb

′, te′,{HKxr

(Ir)})

, wheretb′ ≤ tb ≤ te ≤ te

′, Ck ≺ CDi , Ck′ ⊀ CDi and k 6= k′.To request the EHR data of class C′k, the user needs toforge values

{RCDi

,Ck′

}and

{HKxr

(I ′r)}

. However,the user cannot pass the verification using a forged accesscredential without TA’s signature. Therefore, the usercannot access any EHR data of unauthorized class becauseof the unforgeability of the signature.

6.1.3. Attack in Unauthorized Time IntervalThe third type of attacks is a malicious user Di of EHR

system may attempt to access data of security class Ck in

12 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 13: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

Secured Indices

…User1

Decrypt

User2 Usern

Query

Encrypted EHR Data

Decrypt Decrypt

Query Query

Update

Results Results Results

Update

Encrypt/Decrypt

Indices EHR Data

DB

Encryptor

Clients

Figure 6. Secure search over EHR data

unauthorized time interval [tb′, te′]. Assume that in timeinterval [tb, te], where tb ≤ te < tb

′ ≤ te′, user Di has

right to access the data of class Ck, that is, he can getvalues

{RCDi

,Ck

}from the valid access credential. In

addition, in time interval [tb′, te′], the user may obtain

tb′, te′ and

{V u′} from his other access credentials. But

he still can not get EncPKDB

(Di, tb

′, te′,{HKxr

(Ir)})

without DB’s private key. Even if the user successfullyforged the values, he will fail to pass the verification usinga forged access credential without TA’s signature. Thus, theuser cannot access EHR data in unauthorized time intervalbecause of the unforgeability of the signature.

6.1.4. Collusion AttackSome existing time-bound key management schemes

are proved insecure against collusion attack, such asTzeng’s scheme [6] is insecure against Yi and Ye’s attack[13], Chien’s scheme [7] is insecure against Yi’s attack[19], and Bertino’s scheme [11] is insecure against Sun’sattack [20]. These collusion attacks can be described in ourscheme like this: one or two users collude with the otheruser Di to derive certain access credential and access keyof a unauthorized class Ck′ , then try to request encryptedEHR data of Ck′ with the forged access credential fromDB. Suppose Di is able to derive the access key Kk′,t

of Ck′ by getting Kk′ and VB(t) from conspirators. Inaddition, he needs to request encrypted data with a forgedaccess credential. Similar to above attacks, based on theunforgeability of the signature, user Di will fail to obtainthe encrypted data from DB.

6.1.5. Security of Indices and SearchAs mentioned in Section 5.1, each index node is

encoded by its class key Kx which is never exposedto users or untrusted DB. Therefore, a vicious user oradversary will not obtain any information of indices evenif he accesses the index nodes by malicious means.

In order to successfully decrypt an index node, theadversary should know the class key Kx, which is secretly

computed with CIDx and H ′ by encryptor. Obviously,without knowing CIDx and H ′, adversary cannot figureout Kx directly. From the hierarchical key structure, thereare two ways to compute the class key Kx. The first iscalculating from top to bottom. The second is calculatingin reverse. With top-down approach, class key Kx canbe computed through one of its superordinate nodes Ki

and the corresponding relationship value RCi,Cx , whereCx ≺ Ci. In our scheme, the adversary cannot computeKx, since both of these two values are kept secret,even if he has KDi , where Cx ≺ CDi . With bottom-up approach, class key Kx can be computed throughone of its subordinate nodes Kj and the correspondingrelationship value RCx,Cj , where Cj ≺ Cx. Again, theadversary cannot work out Kx without knowing both oftwo values, even if he get a class key Kk, where Ck ≺ Cx.

For searchability as shown in Fig. 6, DB is given theencoded indices of requested EHR data through the accesscredential from user. Then it compares the given valueswith all entries of secured indices, which are encryptedand updated by encryptor. If any entry of secured indices isidentical to the given value, DB goes to the pointed addressto next level search until the encrypted EHR data arelocated. Finally, after the requested EHR data of securityclass Ck has been retrieved, DB sends them to the user.Throughout the search process, DB does not have anyknowledge of indices and EHR data.

6.2. Privacy Analysis

Our RBTBAC model is capable of providing better privacyfor patients from four aspects.

First, when a user accesses EHR data, our RBTBACscheme not only narrows the access scope of EHR data bydividing EHR data into different security classes, but alsolimits the access time to the period of providing healthcaretreatment. The user consequently is only given the rightto access EHR data of authorized classes in authorizedtime interval. Accordingly, the privacy of patient can beprotected from both space and time dimension.

Second, all the index nodes are securely stored inremote DB, so that both users and DB are unaware ofany intermediate index node and internal structure of EHRdata. It greatly reduces the probability a deliberate userdeduces additional information about the patient fromintermediate nodes or the relationship of partial orderednodes. For example, a user has accessed all blood testresults of the patient under different disease categorynodes. Then he may infer other disease information aboutthe patient if he has knowledge of those disease categorynodes.

Third, unlike most existing key management schemes,our RBTB key management scheme does not publiclydisclose any relationship value between partial orderedclasses, even the relationship between patients and doctors.Thus, it avoids the situation where a professional usercould infer the disease of patient from the doctor-patient

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 13DOI: 10.1002/secPrepared using secauth.cls

Page 14: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

relationship. For example, we can infer that a patient hascancer if he has a relationship with a cancer specialist.

Finally, we use patient-controlled access policy to betterprotect privacy of patients. We strongly suggest that patientshould be involved throughout the process of developingaccess control policies to determine the sharing of theirown sensitive information with other users and CDOs.This can help patients better understand the EHR system,control their EHR data more tightly, and know who isaccessing their EHR data at what time.

6.3. Credential Revocation

Usually, credential revocation involves the certificateauthority periodically issuing a signed data structurecalled a certificate revocation list (CRL). CRL is usedfor revoking credential in certificate using system whichhas certificate authority. A CRL is a time stamped listidentifying revoked certificates which is signed by a CAor CRL issuer and made freely available in a publicrepository. Each revoked credential is identified in a CRLby its credential serial number.

In our model, once access credential has expired, it isinvalid automatically without being revoked by TA. Whena user requests EHR data with an expired access credential,DB will detect this unauthorized access by checking theaccess credential and reject the request. However, there arestill two cases that TA has to take the initiative to revoke theuser’s access credential even the system identity credential.

The first case is a user terminates healthcare treatmentduring the authorized time interval. In this case, the EHRdata cannot be accessed by the user anymore and the accesscredential should be revoked by TA immediately. Therevocation of access credential can be done by followingtwo steps: First, TA updates Access Credential RevocationList (ACRL) by adding an entry of serial number of therevoked access credential. Second, DB checks the ACRLwith access credential for each access request. If the serialnumber of access credential is in ACRL, DB rejects theaccess request.

The second is a worse case that a user is compromisedby an adversary. In this situation, not only all accesscredentials but also the system identity credential ofthe user should be revoked. Once the client of user iscompromised, the master key of the user is released topublic. TA adds the serial number of system identitycredential into System Identity Credential RevocationList (SICRL) and appends all serial numbers of accesscredentials held by the compromised user into ACRL.Consequently, each request for access credential from auser should be validated by TA through checking theSICRL.

7. SPACE AND TIME COMPLEXITY

In the RBTBAC model, RBTB key management scheme isthe most important part. Therefore, performance analysis

of RBTBAC model can be translated to the analysison RBTB key management scheme. The performancemeasure of RBTB key management scheme containstwo folds: space complexity and time complexity. Thediscussion is further focused on two aspects: server’sperspective and user’s perspective.

7.1. Space Complexity

We first define some parameters to facilitate the followinganalysis. Let NT be the total number of security classesin the encryption key structure (see Fig.4a), Nleaf is thenumber of data nodes (leaf nodes) of both encryption anddecryption key structures in Fig.4 and Nk is the numberof security classes authorized to user in the current timegranule. Then the analysis on the server and client aredescribed below.

Generally, the space for public information is a mainparameter to measure the space cost of a key managementscheme. The comparison of space complexity of publicvalues is shown in Table III. Our RBTB key managementscheme does not publish any relationship value on theboard, as opposed to other existing schemes where allpartial ordered relationship values are published. Thus, ourscheme is space-saving in term of public information.

For encryptor, it stores two kinds of keys: long-termclass keys for index nodes and access keys for data nodes.The space to store all these two types of keys is relativeto the total number of nodes in key structures, that is, NT

long-term class keys and Nleaf access keys. In addition,to save the storage space of server, our scheme does notrequire encryptor to store any system identity credentialor access credential. On the contrary, encryptor sends allneeded information to user through the system identitycredential and access credential at the first request. Whenthe access request comes, DB only needs to verify theinformation contained in the two credentials.

For a user of EHR system, he/she is required to securelystore one long-term master key and Nk temporary accesskeys, plus one system identity credential and severalaccess credentials. However, the access keys and accesscredentials will be invalid automatically and deleted whenthe granted time interval has expired. Chien’s scheme [7]and Bertino’s scheme [11] use a tamper-resistant deviceto store all the information and securely compute accesskey for specific time granule, but issuing a tamper-resistantdevice for each user is impractical in distributed andworldwide systems such as EHR system. Their approachactually sacrifices convenience for security.

7.2. Time Complexity

Table I contains a summary of hardware and softwareused in our experiments. The experiments of this paperwere run in Code Blocks. Each experiment was run 20times and averaged. It is known that encrypting all EHRdata in each time granule is time-consuming in such time-bound key management scheme. The speed of encryptiondepends on the used encryption algorithm and server

14 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 15: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

Table I. Experimental Setup

Hardware/Software Components

Processor Intel(R) Core(TM)2 Duo E7500 2.93GHzMemory 2.0GB

Operating system Windows 7 UltimateProgramming language/Library C++/Crypt++

IDE Code::Blocks

Table II. The Number of Hashing Operations in Each TimeGranule

[0, z] Linear chain Binary tree Multi-tree

One week 7 3Fortnight 14 4

One month 30 5One year 365 9 3

performance, which are beyond scope of this paper. Arecommended approach is to respectively encrypt differentparts of the EHR data with multiple processors at sametime. In addition to encryption time, another importantparameter to measure the time complexity of a time-boundkey management scheme is the key generation time. Inthis section, we discuss the time complexity of generatingaccess keys. The analysis is respectively given in two folds:the time of encryption key generation and the time ofdecryption key generation.

7.2.1. Computation of Encryption KeyFor the server side, the time for generating an encryption

key within a time granule mainly depends on the timeof computing time granule values, since the class keyis unchanged. The main operation in generation of timegranule values is hashing operation. Thus the efficiency forproducing encryption key is principally determined by thenumber of hashing operations. From above analysis, for afixed timeline [0, z], the number of hashing operations ineach time granule is less than dlog2 (z + 1)e with binarytree structure, as opposed to linear hash chain method usedin most existing time-bound key management schemes [7,11, 21, 14] where number of hashing operations is z + 1.

Assume the smallest time granule is one day, thenumber of hashing operations in each time granule isshown in Table II by comparing our time tree methodwith existing linear chain method. We can infer that,given the same time granularity, the longer the timeline[0, z] is, the more efficient the time tree is. For example,when the time granule is daily and the whole timelineis one year, it needs 365 hashing operations with linearchain method to compute time granule value, while itneeds 9 hashing operations with time binary tree method,furthermore it only needs 3 hashing operations with timemulti-tree method in Fig.5b.

7.2.2. Computation of Decryption KeyBefore issuing an access credential, encryptor has to

compute granted time parameters for user. In the linear

2 4 8 16 32 64 128 256 512 1024655

904

1279

1560

1872

2262

2590

30113276

36043931

The size of time interval [tb,t

e]

Tim

e [ns]

Figure 7. Time for locating the roots of FBSs

0 100 200 300 400 500 600 700 800 900 10000

0.5

1

1.5

2

2.5

3

3.5

4

x 106

Number of hashing operations [#]

Tim

e [ns]

MD5

SHA-160

SHA-256

SHA-384

SHA-512

Figure 8. Time for hashing operations

chain method, the given time parameters are Htb(a) andHz−te(b). Therefore, the time complexity for computingtime parameters is O(z − (te − tb)). In our time treemethod, the time for encryptor generating time parametersincludes two parts: the time for locating root nodes of FBSsand the time for computing hash values of these root nodes.

According to Algorithm 1, we can infer that theefficiency of locating root nodes only depends on the scaleof time interval [tb, te]. The performance of Algorithm 1is shown in Fig.7. For the sake of convenience, we discussthe efficiency based on the condition that the scale of timeinterval [tb, te] (namely te − tb + 1) is power of 2. Herewe use binary tree as time structure. The average resultsare displayed in Fig.7. When the scale of [tb, te] reaches to210, it spends almost 4000 ns to locate root nodes of FBSs,which is much faster than hash operations (see Fig.8).

Given fixed scale of whole timeline, say [0, 1023], weillustrate the comparison of the two methods in Fig.9 andFig.10. Fig.9 shows the comparison of hashing operationsbetween binary tree method and linear chain method. It isseen that the number of hashing operations of binary treestructure drops as the time interval lengthens, while thenumber of hashing operations of linear chain structure isgradually increases. But when the scale of [tb, te] exceeds

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 15DOI: 10.1002/secPrepared using secauth.cls

Page 16: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

100 200 300 400 500 600 700 800 900 1000

100

200

300

400

500

600

700

800

900

1000

The size of time interval [tb,t

e]

Num

ber

of hashin

g o

pera

tions [#]

binary tree

linear chain

Figure 9. Comparing the number of hashing operations forencryptor generating time parameters

20 21 22 23 24 25 26 27 28 29 210 28

210

212

214

216

218

220

222

224

The size of time interval [tb,t

e]

Tim

e [ns]

BT locating

BT locating+MD5

BT locating+SHA160

BT locating+SHA256

BT locating+SHA512

LC MD5

LC SHA160

LC SHA256

LC SHA-512

Figure 10. Time comparison for encryptor generating timeparameters

around 930, the linear chain method is slightly faster thanbinary tree method. However in the EHR system, usersusually are granted a short time interval to access EHRdata. Therefore, in most cases, binary tree structure isextremely efficient compared to the linear chain structure.Fig.10 demonstrates the total time consumption forencryptor generating time granule parameters in bothbinary tree method and linear chain method. For savingspace, binary tree method is abbreviated as BT and linearchain method is abbreviated as LC in the graph. Theresults are actually the sum of the time for locating rootnodes (see Fig.7) and the time for hashing operations(see Fig.8). From Fig.10 we have conclusion that ourscheme is much more efficient than existing time-boundkey management schemes in the server side.

In user side, the time for producing the decryption keyalso consists of two parts. The first part is the time forgenerating long-term class key with user’s master key. Thesecond part is the time for computing time granule value.

The size of time interval [tb,t

e]

Num

ber

of hashin

g o

pera

tions [#]

21 22 23 24 25 26 27 28 29 210 20

21

22

23

24

25

26

27

28

29

210

binary tree

linear chain

Figure 11. Comparing the number of hashing operations foruser computing time granule value

The size of time interval [tb,t

e]

Tim

e [ns]

21 22 23 24 25 26 27 28 29 210

28

210

212

214

216

218

220

222

224

BT MD5

BT SHA160

BT SHA256

BT SHA384

BT SHA512

LC MD5

LC SHA160

LC SHA256

LC SHA384

LC SHA512

Figure 12. Time comparison for user computing time granulevalue

For computing class key, the user only needs to computeone modular exponentiation in our scheme.

For calculating time granule value, in contrast toO(te − tb) with linear chain method, the time complexityof hashing operations is O(blog2(te − tb + 1)c) withbinary tree method. Distinctly, the binary tree structure ismore efficient than linear chain structure, and when thegranted time interval becomes longer, the gap will be evengreater as shown in Fig.11. When the size of given timeinterval goes to 210, the number of hashing operationsalso reaches to 210 in linear chain method. Oppositely,the number of hashing operations is still approximately10 with binary tree method. The experimental results areshown in Fig.12. The graphic shapes of the set of binarytree methods are much flatter than the set of linear chainmethods’. Therefore, our scheme is time-saving in userside.

In summary, our RBTB key management scheme isspace-saving, and more important, is more efficient thanmost existing schemes.

16 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 17: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

8. RELATED WORK

The main works related to our scheme are accesscontrol and time-bound key management technique. In thissection, we briefly describe existing works on these twofields.

8.1. Other Access Control Models

Recently, Israelson et al. [22] suggest restricting access toEHRs to users with a valid token. Access tokens are issuedto users for a prescribed amount of time where both theuser and the amount of time are authorized by the patient.In our scheme, we employ an extended role-based accesscontrol model, role-based and time-bound access controlmodel, to provide privacy aware access control on EHRdata that allows users to access authorized data only ina specific time interval. In this section, we describe role-based, attribute-based and cryptographic access controlmodels, which are considered more applicable to EHRsetting.

8.1.1. Role-Based Access ControlThere are a number of works on RBAC [23] for

medical systems [24, 25, 26, 27, 28]. Among them, theauthors of [24] proposed a set of authorization policiesenforcing role-based access control for the electronictransfer of prescriptions. Then an implementation of EHRprototype system including a basic network and role-basedsecurity infrastructure for the United Kingdom NationalHealth Service is demonstrated in [25]. Cassandra [26]is a trust management and role-based policy specificationlanguage, which was presented for expressing accesscontrol policies in large-scale distributed systems. In thiswork, a case study discussed how the language can beused to specify security policies for a UK national EHRsystem. However, none of above approaches took intoaccount of the composition feature of EHR document,and therefore cannot support a more fine-grained accesscontrol to selectively share composite EHR data. Recently,the authors of [27] argued an approach for modeling role-based access control scheme for composite EHR. Theydesigned three dimensional properties for each sub-objectand property-based authorization to provide a flexible yetefficient means to select and authorize a collection of sub-objects.

Healthcare RBAC Role Engineering Process [28]is another significant work for the Healthcare RBACTask Force (TF) developed by Science ApplicationsInternational Corporation (SAIC) in May 2004. TheRBAC TF is engaged in a collaborative effort to definecommon industry-wide roles capable of supporting healthinformation systems. The goal of the RBAC TF is toformalize this shared effort through an ANSI-approvedhealthcare role standard. The Healthcare RBAC RoleEngineering Process document describes the methodologythat the TF will follow in pursuing its goal and the

mechanisms, processes and products that will be used tocreate, harmonize, and report TF efforts.

8.1.2. Attribute-Based Access ControlIn ABAC, access is granted not based on the rights of

the subject associated with a user after authentication, butbased on attributes of the user. The user has to prove socalled claims about his attributes to access control engine.An attribute-based access control policy specifies whichclaims need to satisfied in order to grant access to anobject.

Some researchers have applied ABAC to access themedical records. Paper [29] presented a patient-centric,attribute-based and source verifiable framework for healthrecord sharing based on MedVault project [30]. It providespatients with substantial control over how their informationis shared and with whom and permits fine-graineddecisions based on the use of attribute-based techniques forauthorization and access control. Another attribute-basedhealth records system currently under development is the”security infrastructure and national patient summary” aspart of the Swedish national eHealth system [31]. LikeMedVault, the system is being implemented in XACML(eXtensible Access Control Markup Language) [32],which is able to provide decentralized administration andcredentials distribution. Literature [33] presented writingXACML policies and examined performances of accesscontrol time using various Sun XACML access controlpolicies in case when attributes are in hierarchical structurein a distributed EHR.

8.1.3. Cryptographic Access ControlCryptographic access control is a new distributed access

control paradigm designed for information systems. Itdefines an implicit access control mechanism, which relieson cryptography to provide confidentiality and integrity ofdata managed by the system. It is particularly designed tooperate in untrusted environments where the lack of globalknowledge and control. Now, it is applied to security-enhanced systems, e.g. EHR sharing systems.

In the existing CAC schemes, the vast majority arebased on hierarchical structure. Hierarchical cryptographicaccess control schemes first emerged in [34, 35], whichare more general and capable of providing security indifferent contexts without requiring extensive changes tothe fundamental architecture. For instance, in situationsthat require data outsourcing, CAC schemes are usefulbecause the data can be double encrypted to prevent aservice provider from viewing the information but yet beable to run queries or other operations on the data andreturn a result to a user who can decrypt the data using thekeys in their possession [36]. CAC schemes are typicallymodeled in the form of a partially ordered set of securityclasses that each represents a group of users requestingaccess to a portion of the data on the system.

From the end of last century, CAC has been widelyused in file system. A group sharing and random access

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 17DOI: 10.1002/secPrepared using secauth.cls

Page 18: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

model in cryptographic storage file systems was proposed[37]. Paper [38] presented a cryptographic access controlin distributed file systems, in which data are encryptedas the applications store them on a server. It separatedread and write access: read access to the physical storagedevice is granted to all principals and write access canbe granted to everyone. The authors of [39] first analyzed*nix systems and identify an urgent need for better privacysupport in their data sharing mechanisms and gave twosolutions for privacy enhancement. Later, they proposed adata sharing platform, named SHAROES, for outsourcedstorage environment. It provides rich *nix-like data sharingsemantics [40].

8.2. Other Time-Bound Key ManagementApproaches

We have already introduced time-bound key managementtechnique in Section 2.2 and discussed how our approachtackles the problem differently. Table III summarizesthe comparison of time-bound key management schemeson various attributes. Specifically, our scheme providesprivacy and security enhancement for EHR system bycombining role-based access control. In the rest ofthis section, we discuss other existing time-bound keymanagement schemes.

In 2002, Tzeng [6] first proposed a time-boundhierarchical key management scheme that requires eachuser to store information whose size does not dependon the number of time periods. However, this scheme iscostly because the Lucas function operation incurs heavycomputational load. Most importantly, Tzeng’s schemehas been proved to be insecure against collusive attacks,whereby two or more users assigned to some classesin distinct time period, collude to compute a key towhich they are not entitled [13]. Subsequently, Chien [7]put forward an efficient time-bound hierarchical keymanagement scheme based on tamper-resistant devices.However, Santis and Yi [41] [19] showed that malicioususers can collusively misuse their devices to gainunauthorized accesses and also proposed countermeasures.Then Xu [21] improved Chien’s scheme without public keycryptography and they proved their scheme is as efficientas Chien’s and resistant to Yi’s three-party collusionattack. Another time-bound hierarchical key assignmentscheme was proposed by Huang and Chang [8] and latershown to be insecure against collusive attacks too [42].Yeh [9] proposed an RSA-based time-bound hierarchicalkey assignment scheme, which was proved to be insecureagainst collusive attacks in [43]. Wang and Laih [10] used amodification of the Akl-Taylor scheme to construct a time-bound hierarchical key management scheme. Then, twoprovable-secure time-bound hierarchical key assignmentschemes the one is based on symmetric encryptionschemes, whereas, the other makes use of bilinear maps,were posed by Ateniese and Santis [43], who provedtheir schemes are simultaneously practical and provably-secure. After that new constructions for provably-secure

time-bound hierarchical key assignment schemes werebrought forward and tradeoff among storage space andkey derivation time were exhibited by Santis [44]. Butprovably-secure schemes are inefficient when the systemhas large number of data. Liu and Zhong [12] advanceda practical time-bound hierarchical key scheme withouttamper-resistant device, which was claimed to be moresecure and need less computational time. However, in theirscheme users need to hold a number of keys to decrypt thedata on multiple classes. Recently, Bertino [11] proposedanother new time-bound scheme using elliptic curvecryptography and claimed that their scheme was efficientand secure against possible attacks. However, Sun [20]found that Bertino’s scheme was not as secure as theyclaimed and some possible improvements were proposed.Moreover, tamper-resistant device makes Bertino’s schemedifficult to implement in EHR systems since it is hardto securely issue tamper-resistant device when usersare distributed around the world. Unfortunately, aboveschemes are only applicable to static access hierarchy,since they cannot be used in dynamic and flexibleEHR system. Sui [14] presented a key generation andassignment scheme for time-bound hierarchy dynamicaccess control. But their scheme is not efficient enoughwhen applying it to EHR system which has very largenumber of medical data.

For applying time-bound key management schemeto EHR system, it should be fully considered and re-developed. Our scheme focuses on integrating role-basedaccess control with time-bound key management, sothat it satisfies following four requirements of EHRsetting: security (especially against collusion attack), theminimal key storage space in user side (ideally, only onekey), privacy preserving (especially for patient’s sensitivemedical information), and efficiency (mainly measured bythe time of generating encryption/decryption keys).

9. CONCLUSIONS AND OTHERAPPLICATIONS

We have put forward a practical Role-Based and Time-Bound Access Control (RBTBAC) model for EHR system.Differing from basic RBAC model, this access controlmodel emphasizes more on the flexibility of roles andhas the capability to control the access of sensitive datafrom time dimension. Technically, we have proposeda role based and time bound (RBTB) hierarchical keymanagement scheme. For role-based, we have developed aprivacy-aware and dynamic key structure. For time-bound,we have employed a time tree method for generating timegranule values. We have analytically and experimentallyproved that RBTBAC model is more suitable for EHRsystem since it offers high-efficiency and better securityand privacy for patients.

In our future work, we are interested in experiments onreal medical data which are hard to get. As the diverse

18 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 19: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

Table III. Comparison of Time-Bound Key Management Schemes

Tzeng’s scheme [6] Chien’s scheme [7] Bertino’s scheme [11] Our scheme

Implementationrequirements

Lucas function Tamper-resistant device Tamper-resistant device,ECC

System identity credential,access credential

Number of public values NT + 6 NT − 1 NT (NT − 1)/2 0Number of operationsfor encryptor deriving anaccess key

Te ,TL ,Th (z + 2)Th (z + 2)Th + TE Te ,(dlog2(z + 1)e +2)Th, Te

Number of operations foruser deriving an accesskey of data node (l-edge-distance child class)

(te − tb + r)Te, (te −tb)TL, Th

(te − tb + 1 + l)Th (te − tb + 2)Th, TE (blog2(te − tb + 1)c +1)Th, Te

Collision attack Insecure (Yi and Ye’sattack)

Insecure (Yi’s attack) Insecure (Sun’s attack) Secure

Suppose Ck � Cx ,t ∈ [tb, te].NT : total number of security classes |C|.r: number of child classes Cx on path from Cx to Ck .Th: the time complexity for one hashing operation.Te: the time complexity for one modular exponentiation.TL: the time complexity for one Lucas function operation.TE : the time complexity for one elliptic curve scalar multiplication.

formats of medical data which are different from theformat of general file, the preprocessing of medical datathat makes the program can directly manipulate these datais a tough problem. The experiments will focus on theefficiency of encryption on a mass of real medical data andpossible improvements.

It is important to notice that our RBTBAC model canbe applied to many different fields, especially sensitiveinformation system such as government or militarysystems, banking systems and e-commerce systems.Above description and experiments show that our modelcan provide more stringent mandatory access control(MAC) from both spatial and temporal dimensions anddata confidentiality for this kind of system.

Additionally, the RBTBAC model also can be used inthe systems storing a mass of data on the untrusted remoteDB or cloud. For such kind of systems, data encryptedstored is necessary. So, how to distribute keys for thelegitimate users and how to build an index on the ciphertextare the key issues. Obviously, our RBTB key managementscheme can be used to solve these issues. Moreover, ourscheme gives a solution for the sharing of data acrosssecurity domains between different settings. It also canbe used to guarantee better security and privacy of datasharing.

ACKNOWLEDGEMENT

This work is supported by the ”Strategic PriorityResearch Program” of the Chinese Academy ofSciences, Grants No. XDA06010701, XDA06030601,XDA06040100, China Postdoctoral Science Foundation(No.2012M510567), National Natural Science Foundationof China (No.61170280). This work is partially supportedby grants from NSF CISE NetSE program, Cross-Cuttingprogram, an IBM faculty award and a grant from IntelISTC.

REFERENCES

1. Electronic health record 2011.Http://en.wikipedia.org/wiki/Electronic-health-record.

2. Health insurance portability and accountability act(hipaa) August 21 1996. (Accessed October 2011).

3. Health information technology for economic andclinical health (hitech) act, title xiii of division aand title iv of division b of the american recoveryand reinvestment act of 2009 (arra) 2009. (AccessedNovember 2011).

4. Zhang R, Liu L. Security models and requirementsfor healthcare application clouds. CLOUD ’10:Proceedings of the 2010 IEEE 3rd InternationalConference on Cloud Computing, IEEE ComputerSociety: Washington, DC, USA, 2010; 268–275.

5. Hacigumus H, Iyer B, Mehrotra S. Providingdatabase as a service. Proceedings of the 18thInternational Conference on Data Engineering,ICDE ’02, IEEE Computer Society: Washington, DC,USA, 2002; 29–.

6. Tzeng WG. A time-bound cryptographic key assign-ment scheme for access control in a hierarchy. IEEETrans. on Knowl. and Data Eng. 2002; 14(1):182–188.

7. Chien HY. Efficient time-bound hierarchical keyassignment scheme. IEEE Trans. on Knowl. and DataEng. 2004; 16(10):1301–1304.

8. Huang HF, Chang CC. A new cryptographickey assignment scheme with time-constraint accesscontrol in a hierarchy. Computer Standards andInterfaces 2004; 26(3):159–166.

9. Yeh Jh. An rsa-based time-bound hierarchical keyassignment scheme for electronic article subscription.CIKM ’05: Proceedings of the 14th ACM inter-national conference on Information and knowledgemanagement, ACM: New York, NY, USA, 2005;

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 19DOI: 10.1002/secPrepared using secauth.cls

Page 20: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

285–286.10. Wang SY, Laih CS. Merging: An efficient solution for

a time-bound hierarchical key assignment scheme.IEEE Trans. Dependable Secur. Comput. 2006;3(1):91.

11. Bertino E, Shang N, Wagstaff Jr SS. An efficienttime-bound hierarchical key management scheme forsecure broadcasting. IEEE Trans. Dependable Secur.Comput. 2008; 5(2):65–70.

12. Liu JQ, Zhong S. A pratical time bound hierar-chical key scheme. International Journal of Inno-vative Computing, Information and Control 2009;5(2):3241–3247.

13. Yi X, Ye Y. Security of tzeng’s time-bound keyassignment scheme for access control in a hierarchy.IEEE Trans. on Knowl. and Data Eng. 2003;15(4):1054–1055.

14. Sui Y, Maino F, Guo Y, Wang K, Zou X. An efficienttime-bound access control scheme for dynamicaccess hierarchy. Proceedings of the 2009 FifthInternational Conference on Mobile Ad-hoc andSensor Networks, MSN ’09, IEEE Computer Society:Washington, DC, USA, 2009; 279–286.

15. Sandhu RS, Coyne EJ, Feinstein HL, Youman CE.Role-based access control models. Computer 1996;29(2):38–47.

16. Nyanchama M, Osborn S. The role graph model andconflict of interest. ACM Trans. Inf. Syst. Secur. 1999;2(1):3–33.

17. Sandhu R, Ferraiolo D, Kuhn R. The nist model forrole-based access control: towards a unified standard.RBAC ’00: Proceedings of the fifth ACM workshopon Role-based access control, ACM: New York, NY,USA, 2000; 47–63.

18. Katz J, Lindell Y. Introduction to modern cryptog-raphy. Chapman & Hall/CRC cryptography and net-work security, Chapman & Hall/CRC, 2008.

19. Yi X. Security of chien’s efficient time-boundhierarchical key assignment scheme. IEEE Trans. onKnowl. and Data Eng. 2005; 17(9):1298–1299.

20. Sun HM, Wang KH, Chen CM. On the security ofan efficient time-bound hierarchical key managementscheme. IEEE Trans. Dependable Secur. Comput.2009; 6(2):159–160.

21. Xu Q, He M, Harn L. An improved time-boundhierarchical key assignment scheme. Proceedingsof the 2008 IEEE Asia-Pacific Services ComputingConference, IEEE Computer Society: Washington,DC, USA, 2008; 1489–1494.

22. Israelson J, Cankaya EC. A hybrid web based per-sonal health record system shielded with comprehen-sive security. Proceedings of the 2012 45th HawaiiInternational Conference on System Sciences, HICSS’12, IEEE Computer Society: Washington, DC, USA,2012; 2958–2968.

23. Sandhu RS, Coyne EJ, Feinstein HL, Youman CE.Role-based access control models. Computer 1996;

29:38–47.24. Chadwick D, Mundy D. Policy based electronic

transmission of prescriptions. Policies for DistributedSystems and Networks, 2003. Proceedings. POLICY2003. IEEE 4th International Workshop on, 2003;197 – 206.

25. Eyers D, Bacon J, Moody K. Oasis role-based accesscontrol for electronic health records. Software, IEEProceedings - february 2006; 153(1):16 – 23.

26. Becker M, Sewell P. Cassandra: flexible trustmanagement, applied to electronic health records.Computer Security Foundations Workshop, 2004.Proceedings. 17th IEEE, 2004; 139 – 154.

27. Jin J, Ahn GJ, Covington MJ, Zhang X. Toward anaccess control model for sharing composite electronichealth records. Information Systems Journal 2008; .

28. (SAIC) SAIC. Role-based access control (rbac) roleengineering process version 3.0 may 31 2004.

29. Mohan A, Bauer D, Blough DM, Ahamad M,Krishnan R, Liu L, Mashima D, Palanisamy B.A patient-centric, attribute-based, source-verifiableframework for health record sharing 2009.

30. Medvault: Ensuring security and privacy for medicaldata. Http://medvault.gtisc.gatech.edu/. (AccessedNovember 2009).

31. Hagner M. Security infrastructure and national patentsummary 2007.

32. extensible access control markup language (xacml)version 2.0 Feburary 1 2005.

33. Sucurovic S. An approach to access control inelectronic health record. Journal of Medical Systems2010; 34:659–666.

34. Akl SG, Taylor PD. Cryptographic solution to aproblem of access control in a hierarchy. ACM Trans.Comput. Syst. August 1983; 1:239–248.

35. Sandhu RS. Cryptographic implementation of atree hierarchy for access control. Inf. Process. Lett.February 1988; 27:95–98.

36. di Vimercati SDC, Foresti S, Jajodia S, Paraboschi S,Samarati P. Over-encryption: management of accesscontrol evolution on outsourced data. Proceedings ofthe 33rd international conference on Very large databases, VLDB ’07, VLDB Endowment, 2007; 123–134.

37. Rivest RL, Fu K, Fu KE. Group sharing andrandom access in cryptographic storage file systems.Technical Report, Masters thesis, MIT 1999.

38. Harrington A, Jensen C. Cryptographic accesscontrol in a distributed file system. Proceedings ofthe eighth ACM symposium on Access control modelsand technologies, SACMAT ’03, ACM: New York,NY, USA, 2003; 158–165.

39. Singh A, Liu L, Ahamad M. Privacy analysis andenhancements for data sharing in *nix systems. Int.J. Inf. Comput. Secur. January 2008; 2:376–410.

40. Singh A, Liu L. Sharoes: A data sharing platformfor outsourced enterprise storage environments.

20 Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd.DOI: 10.1002/sec

Prepared using secauth.cls

Page 21: Role-Based and Time-Bound Access and Management of EHR …role-based EHR management is composed of role-based hierarchical data structure, role hierarchy and role-based access control

Data Engineering, 2008. ICDE 2008. IEEE 24thInternational Conference on, 2008; 993 –1002.

41. De Santis A, Ferrara AL, Masucci B. Enforcing thesecurity of a time-bound hierarchical key assignmentscheme. Information Sciences 2006; 176(12):1684–1694.

42. Tang Q, Mitchell CJ. Comments on a cryptographickey assignment scheme. Comput. Stand. Interfaces2005; 27(3):323–326.

43. Ateniese G, De Santis A, Ferrara AL, MasucciB. Provably-secure time-bound hierarchical keyassignment schemes. CCS ’06: Proceedings ofthe 13th ACM conference on Computer andcommunications security, ACM: New York, NY,USA, 2006; 288–297.

44. De Santis A, Ferrara AL, Masucci B. New construc-tions for provably-secure time-bound hierarchical keyassignment schemes. SACMAT ’07: Proceedings ofthe 12th ACM symposium on Access control modelsand technologies, ACM: New York, NY, USA, 2007;133–138.

Security Comm. Networks 0000; 00:1–21 c© 0000 John Wiley & Sons, Ltd. 21DOI: 10.1002/secPrepared using secauth.cls