BBDS: Blockchain-Based Data Sharing for Electronic Medical Records in Cloud Environments
Abstract
:1. Introduction
2. Related Works
3. Preliminaries
3.1. Blockchain Network
3.2. Cryptographic Keys
- Membership issuing Keys: Generated and sent to a user who requests to join a data sharing system and allows access to the membership verification key with adequate parameters necessary to generate the transaction private and public key. Without the membership issuing key, users are not allowed to join the system.
- Membership verification Key: Used to authenticate a user’s validity in a system and consents to a user’s access to the membership private key. The membership verification key is used to generate the user’s membership private key.
- Membership private key: Used to create a request which later develops into blocks. Without access to a membership private key, a user can never create a request.
- Transaction private key: Used to digitally sign requests created from a membership private key.
- Transaction public key: Used to verify signatures on a block. For a request whose signature cannot match to the appropriate public key, such a request is considered as invalid.
3.3. Membership Authentication and Verification
3.4. Pool of Unprocessed Requests
4. System Design
- User: Users consist of individuals or organizations that want to access or contribute data from and to the closed system. The intent of most users is to help analyze data for research purposes. Examples of users can be healthcare organizations such as hospitals, research institutions, as well as universities, individual research personnel, and governmental bodies.
- System Management: The system management is composed of individual connected entities responsible for the secure establishment, efficient running, as well as optimization of the scheme. The different entities in the system management are;
- Issuer: The issuer forms part of the data management layer of the group by authenticating users required to join the group. The issuer sends out required details and accepts users who request to join the group based on a criterion.
- Verifier: The verifier forms part of the data management layer by further authenticating the user and receives the user’s transaction key which is kept in a private database. The verifier later validates blocks which have been signed by the user. This enables a block’s authenticity in the system to form part of the blockchain. The verifier creates and sends the user the membership private key which is used by the user to create a block.
- Consensus nodes: Consensus nodes fetch unprocessed blocks from the pool of unprocessed requests. The consensus node is tasked to process and verify the authenticity and details relating to a block. Processed blocks are broadcast into the blockchain by the consensus node. An important role of the consensus node is the processing and publishing of results based on irregularities in the system. The consensus node is the only entity allowed to access the pool of unprocessed requests.
- Storage: The storage layer encompasses the cloud-based data storage and processing infrastructure where data is securely kept for future reference, research, and other diverse purposes.
- (1)
- Contributing data to the shared existing data stored in the cloud repository or
- (2)
- Accessing data from the cloud repository for modification, research, or analysis purposes.
5. System Implementation
- System setup
- Request file
- Grant request
- Access file
6. Protocols Used to Complete the System
6.1. User-Issuer Protocol
- System setup phase (generating parameters necessary to compute the shared key for the system)
- Key exchange phase (sets of computations and keys that both the user and the issuer exchange with each other)
- Authentication and key agreement phase (creating the shared key for the user and the issuer)
- The issuer sends an encrypted form which requires pre-set regulations and user details pertaining to the group concatenated with a proof of verification. Proof of verification defines the validity of the response for the encrypted form containing user registration details, Enc[Fp‖Pv].
- The user decrypts this encrypted file with their shared key and sends an encrypted, completed form concatenated with the valid proof of verification value, back to the issuer, Enc[Fp‖Pv].
- The issuer creates the membership issuing key from the user’s identity and sends this key to the user making the user a member of the group, KMK.
- The user requests for verification of correctness of the information provided to the issuer for the formation of the key, Correctness [KMK].
- The issuer confirms the correctness of the key and sends parameters associated with the ID and a concatenation of the correctness to the user.
- The user uses the parameters to create a transaction key pair, Verify[KMK‖Param].
6.2. User-Verifier Protocol
- The user first sends a request to the verifier for membership verification.
- The verifier sends a challenge with a concatenation of a random number created from the membership issuing key.
- The user performs computations based on the challenge and the random number and sends a response to the verifier signing the message with the membership verifying key. In addition to the response, the user sends a generated random number to authenticate the verifier’s identity.
- The verifier compares the signature and computations with a value saved in memory associated with the shared verification keys.
- The verifier sends a proof of membership and a hash of the random number to the user.
- The user confirms the identity of the verifier and sends the verifier his transaction public key.
- The verifier upon receiving this stores the transaction public key in a private database. The verifier computes the membership private key from the membership verification key and sends this to the user.
7. Evaluation
- Calculations
- Example
- 200(679×1) = 135,800 bytes per second = 132.62 KB per second
- 200(679×60(1)) = 8,148,000 bytes per second = 7.77 MB per minute
- 200(679×36×102(1)) = 488,880,000 bytes per second = 466.23 MB per hour
- 200(679×864×102(1)) = 11,733,120,000 bytes per second = 10.29 GB per day
8. Conclusions
Acknowledgments
Author Contributions
Conflicts of Interest
Abbreviations
CRT | Consensus retrieve time |
CRA | Consensus verification result |
CPT | Consensus time to process |
CST | Consensus request verification time |
CBT | Consensus time to broadcast |
CDP | Consensus data purpose |
CN | Consensus Processing Node |
CS | Consensus signature |
URT | User retrieve time |
UST | User time to send |
UID | User identity |
TX | User purpose |
US | User signature |
References
- Longo, D.L.; Drazen, J.M. Data Sharing. N. Engl. J. Med. 2016, 374, 276–277. [Google Scholar] [CrossRef] [PubMed]
- Davis, J. 7 Largest Data Breaches of 2015. Healthcare IT News. 11 December 2015. Available online: www.healthcareitnews.com/news/7-largest-data-breaches-2015 (accessed on 14 April 2017).
- Higgins, K.J. Healthcare Data Breaches From Cyberattacks, Criminals Eclipse Employee Error For The First Time. Information Week DarkReading. 5 July 2015. Available online: http://www.darkreading.com/attacks-breaches/healthcare-data-breaches-from-cyberattacks-criminals-eclipse-employee-error-for-the-first-time/d/d-id/1320315 (accessed on 14 April 2017).
- IBM-Security. Reviewing a Year of Serious Data Breaches, Major Attacks and New Vulnerabilities: Analysis of Cyber Attack and Incident Data from IBM’s Worldwide Security Services Operations; IBM Security: Somers, NY, USA, 2016. [Google Scholar]
- Sladić, G.; Milosavljević, B.; Konjović, Z. Modeling context for access control systems. In Proceedings of the 2012 IEEE 10th Jubilee International Symposium on Intelligent Systems and Informatics (SISY 2012), Subotica, Serbia, 20–22 September 2012; pp. 37–42. [Google Scholar]
- Elliott, A.; Knight, S. Start Here: Engineering Scalable Access Control Systems. In Proceedings of the 21st ACM on Symposium on Access Control Models and Technologies, Shanghai, China, 5–8 June 2016; pp. 113–124. [Google Scholar]
- Maw, H.; Xiao, H.; Christianson, B.; Malcolm, J. A Survey of Access Control Models in Wireless Sensor Networks. J. Sens. Actuator Netw. 2014, 3, 150–180. [Google Scholar] [CrossRef]
- Brucker, A.D.; Hang, I.; Lückemeyer, G.; Ruparel, R. SecureBPMN: Modeling and Enforcing Access Control Requirements in Business Processes. In Proceedings of the 17th ACM Symposium on Access Control Models and Technologies (SACMAT’12), Newark, NJ, USA, 20–22 June 2012; pp. 123–126. [Google Scholar]
- Chen, H.; Bhargava, B.; Zhongchuan, F. Multilabels-based scalable access control for big data applications. IEEE Cloud Comput. 2014, 1, 65–71. [Google Scholar] [CrossRef]
- Anonymous. Data Breaches Cost the Healthcare Industry an Estimated $6.5 Billion. Micrographics 2011, 29, 3–5. [Google Scholar]
- Sweeney, L. K-Anonymity: A model for protecting privacy. Int. J. Uncertain. 2002, 10, 557–570. [Google Scholar] [CrossRef]
- Machanavajjhala, A.; Gehrke, J.; Kifer, D.; Venkitasubramaniam, M. L-Diversity: Privacy beyond k-anonymity. In Proceedings of the International Conference on Data Engineering, Atlanta, GA, USA, 3–7 April 2006; Volume 2006, p. 24. [Google Scholar]
- Ninghui, L.; Tiancheng, L.; Venkatasubramanian, S. T-Closeness: Privacy beyond k-anonymity and L-diversity. In Proceedings of the International Conference on Data Engineering, Istanbul, Turkey, 11–15 April 2007; pp. 106–115. [Google Scholar]
- Soria-Comas, J.; Domingo-Ferrert, J. Differential privacy via t-closeness in data publishing. In Proceedings of the 2013 11th Annual Conference on Privacy, Security and Trust (PST 2013), Tarragona, Spain, 10–12 July 2013; pp. 27–35. [Google Scholar]
- Ausanka-Crues, R. Methods for Access Control: Advances and Limitations. Available online: https://www.cs.hmc.edu/~mike/public_html/courses/security/s06/projects/ryan.pdf (accessed on 14 April 2017).
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Available online: www.bitcoin.org (accessed on 14 April 2017).
- Sasson, E.B.; Chiesa, A.; Garman, C.; Green, M.; Miers, I.; Tromer, E.; Virza, M. Zerocash: Decentralized anonymous payments from bitcoin. In Proceedings of the IEEE Symposium on Security and Privacy, San Jose, CA, USA, 18–21 May 2014; pp. 459–474. [Google Scholar]
- Schneider, J. Blockchain—Putting Theory into Practice. Available online: https://t.co/CLJJf0tGp0 (accessed on 14 April 2017).
- Zyskind, G.; Nathan, O.; Pentland, A.S. Decentralizing privacy: Using blockchain to protect personal data. In Proceedings of the 2015 IEEE Security and Privacy Workshops (SPW 2015), San Jose, CA, USA, 21–22 May 2015; pp. 180–184. [Google Scholar]
- Yue, X.; Wang, H.; Jin, D.; Li, M.; Jiang, W. Healthcare Data Gateways: Found Healthcare Intelligence on Blockchain with Novel Privacy Risk Control. J. Med. Syst. 2016, 40, 218. [Google Scholar] [PubMed]
- Zyskind, G.; Nathan, O.; Pentland, A. Enigma: Decentralized Computation Platform with Guaranteed Privacy. arXiv 2015. [Google Scholar]
- Hardjono, T.; Pentland, A.S. Verifiable Anonymous Identities and Access Control in Permissioned Blockchains. Available online: www.w3.org/2016/04/blockchain-workshop/interest/hardjono-pentland.html (accessed on 14 April 2017).
- Ouaddah, A.; Elkalam, A.A.; Ouahman, A.A. Towards a novel privacy-preserving access control model based on blockchain technology in IoT. Adv. Intell. Syst. Comput. 2017, 520, 523–533. [Google Scholar]
- Wu, F.; Pai, H.T.; Zhu, X.; Hsueh, P.Y.; Hu, Y.H. An adaptable and scalable group access control scheme for managing wireless sensor networks. Telemat. Inform. 2013, 30, 144–157. [Google Scholar] [CrossRef]
- Wang, Y.W.Y.; Attebury, G.; Ramamurthy, B. A survey of security issues in wireless sensor networks. IEEE Commun. Surv. Tutor. 2006, 8, 1–23. [Google Scholar] [CrossRef]
- Huang, H.F. A novel access control protocol for secure sensor networks. Comput. Stand. Interfaces 2009, 31, 272–276. [Google Scholar] [CrossRef]
- Wu, L.; Zhang, Y.; Xie, Y.; Alelaiw, A.; Shen, J. An Efficient and Secure Identity-Based Authentication and Key Agreement Protocol with User Anonymity for Mobile Devices. Wirel. Pers. Commun. 2016. [Google Scholar] [CrossRef]
- Luu, L.; Narayanan, V.; Baweja, K.; Zheng, C.; Gilbert, S.; Saxena, P. SCP: A Computationally-Scalable Byzantine Consensus Protocol For Blockchains. IACR Cryptol. ePrint Arch. 2015, 2015, 1168. [Google Scholar]
- McConaghy, T.; Marques, R.; Muller, A.; de Jonghe, D.; McConaghy, T.; McMullen, G.; Henderson, R.; Bellemare, S.; Granzotto, A. BigchainDB: A Scalable Blockchain Database (DRAFT). Available online: https://pdfs.semanticscholar.org/1c0c/5640e2efcd32480f94020bf857c261acdae4.pdf (accessed on 14 April 2017).
References | Blockchain-Based | Scalability | Identity Management | Distant-Access |
---|---|---|---|---|
[24] | N | Y | N | N |
[26] | N | Y | Y | N |
[20] | Y | N | N | Y |
[19] | Y | N | Y | N |
Our proposed BBDS | Y | Y | Y | Y (in case parties have already joined the system) |
Structure Name | Size in Bytes |
---|---|
Block format | 4 |
Block size | 4 |
Block header | 80 |
Transaction counter | 9 |
Transactions | 578 |
Transaction LockTime | 4 |
Data Generated Per Period in Relation to Designed Block | ||||
---|---|---|---|---|
Transaction | Per Second | Per Day | Per Year | Per 10 Years |
2000 | 1.29 MB | 108.84 GB | 38.79 TB | 387.90 TB |
10,000 | 6.47 MB | 545.91 GB | 194.59 TB | 1.95 PB |
15,000 | 9.71 MB | 819.28 GB | 292.03 TB | 2.92 PB |
500,000 | 323.77 MB | 26.68 TB | 9.74 PB | 97.40 PB |
2,100,000 | 1.33 GB | 112.22 TB | 40.96 PB | 409.60 PB |
© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Xia, Q.; Sifah, E.B.; Smahi, A.; Amofa, S.; Zhang, X. BBDS: Blockchain-Based Data Sharing for Electronic Medical Records in Cloud Environments. Information 2017, 8, 44. https://doi.org/10.3390/info8020044
Xia Q, Sifah EB, Smahi A, Amofa S, Zhang X. BBDS: Blockchain-Based Data Sharing for Electronic Medical Records in Cloud Environments. Information. 2017; 8(2):44. https://doi.org/10.3390/info8020044
Chicago/Turabian StyleXia, Qi, Emmanuel Boateng Sifah, Abla Smahi, Sandro Amofa, and Xiaosong Zhang. 2017. "BBDS: Blockchain-Based Data Sharing for Electronic Medical Records in Cloud Environments" Information 8, no. 2: 44. https://doi.org/10.3390/info8020044
APA StyleXia, Q., Sifah, E. B., Smahi, A., Amofa, S., & Zhang, X. (2017). BBDS: Blockchain-Based Data Sharing for Electronic Medical Records in Cloud Environments. Information, 8(2), 44. https://doi.org/10.3390/info8020044