Secure Attribute Multiple Authorities For Blockchain in Electronic Health Records Systems

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 53

Secure Attribute Multiple Authorities for

Blockchain in Electronic Health Records Systems

Abstract

Health Records (EHRs) are entirely controlled by hospitals instead of patients, which
complicates seeking medical advices from different hospitals. Patients face a critical need to
focus on the details of their own healthcare and restore management of their own medical
data. The quick expansion of blockchain technology promotes population healthcare,
including medical records as well as patient-related data. This technology provides patients
with comprehensive, immutable records, and access to EHRs free from service providers and
treatment websites. In this document, to guarantee the validity of EHRs encapsulated in
blockchain, we present an attribute-based signature scheme with multiple authorities, in which
a patient endorses a message according to the quality while disclosing no information other
than the evidence that he has attested to it. Furthermore, there are multiple authorities without
a trusted single or central one to generate and distribute public/private keys of the patient,
which avoids the escrow problem and conforms to the mode of distributed data storage in the
blockchain. By sharing the underground pseudorandom function seeds among authorities, this
protocol resists collusion attack out of N from N -1 corrupted authorities. Under the
supposition of the computational bilinear Diffie-Hellman, we also formally demonstrate that,
in terms of the unforgeability and perfect privacy of the attribute-signer, this attribute-based
signature scheme is secure Electronic in the accidental oracle model. The comparison shows
the efficiency and properties between the proposed method and methods proposed in other
studies

1
CHAPTER 1

INTRODUCTION
Electronic Health Records (EHRs) provide a convenient health record storage service,
which promotes authentic patient medical records on paper to be electronically reachable
accessible on the web. This system was designed to allow patients to possess the control of
generating, managing and sharing EHRs with family, friends, healthcare providers and other
authorized data consumers. Moreover, provided that the healthcare researcher and providers
of such service access these EHRs across-the aboard, the transition program of healthcare
solution is expected to be achieved. However, in the current situation, patients fling their
EHRs across the different areas during life events, causing the EHRs to move from one
service provider database to another. Therefore, the patient may lose control of the existing
healthcare data, while the service provider usually maintains the primary stewardship. Patient
access permissions to EHRs are very limited, and patients are typically unable to easily share
these data with researchers or providers. Interoperability challenges between different
providers, hospitals, research institutions, etc. add extra barriers to high-performance data
sharing. Without synchronized data management and exchange, the health records are
disjointed instead of cohesive.
If the patient has the ability of managing and sharing his EHRs securely and
completely, as shown in Fig. 1, irrespective of the research purpose or the data sharing among
healthcare providers, the healthcare industry will benefit greatly. Drawing support from
blockchain technology, the proposed method accomplishes this goal to promote collaboration
in the way of deep mutual trust between each organization.
Blockchain technology was formerly developed for the crypto currency Bitcoin and
was first presented in the Bitcoin whitepaper by Nakamo to in 2008. Since blockchain
technology appeared, it has been celebrated as a new technological revolution just like the
discovery of the steam engine or the Internet because of its huge impaction on society. In a
2015 World Economic Forum report, 58% of survey respondents expected that 10% of global
Gross Domestic Product (GDP) will be applicable to the blockchain technology through 2025
[4].Previously, many limitations have been placed on sharing huge EHRs because of the risks
to data security or leakage of private patient information during data exchange. Furthermore,
current EHRs are managed by hospitals and providers, whereas patients are deprived of the
right to freely control their own EHRs. Through utilizing blockchain technology, standards
for recording data and managing identity are established, and the blockchain ofEHRs
2
isconstructed. In addition, this technology records the auditing traces of all transactions in an
immutable distributed ledger, which guarantees responsibility and transparency in the
procession of data exchange. Therefore, the patient has the ability to record healthcare and
diagnostic information from doctors in their own EHRs, thus reducing the number of medical
accidents and preserving patient privacy.

Figure1.EHRs syatem in the present and future .The patient should have right to access his
EHRs for managing and sharing them self-sufficiently
1.1 PROBLEMDEFINITION

In the current situation, patients scatter their EHRs across the different areas during life
events, causing the EHRs to move from one service provider database to another. Therefore,
the patient may lose control of the current healthcare data, while the service provider usually
maintains the primary stewardship. Patient access permissions to EHRs are very limited, and
patients are typically powerless to easily share these data with researchers or providers.
Before, many restrictions have been placed on sharing massive EHRs because of the risks to
data security or leak of private patient information during data exchange. Patient access
authorizations to EHRs are very limited, and patients are classically unable to easily share
these data with researchers or providers.

3
1.2 OBJECTIVE
 In this paper, to meet the obligation of block chain in distributed EHRs systems, we
construct an attribute-based signature (MA-ABS) scheme with multiple authorities.
Taking advantage of ABS with the block chain technology, this proposal could
preserve the confidentiality of patients and maintain the immutability of EHRs.
Aiming at conserving patient privacy in an EHRs system on blockchain.

1.3 OVERVIEW OFPROJECT

 In this paper, to assurance the validity of EHRs encapsulated in blockchain.

 we present an attribute-based signature scheme with multiple authorities, in which a


patient endorses a message allowing to the attribute while disclosing no information
other than the indication that he has attested to it.

 Furthermore, there are multiple authorities without a reliable single or central one to
generate and distribute public/private keys of the patient, which avoids the escrow
problem and imitates to the mode of distributed data storage in the blockchain

4
CHAPTER 2

LITERATURE REVIEW

Efficient and secure attribute-based signature for monotone predicates.

Author:-KeGu· WeijiaJia:-

In this paper, author presents a framework for ABS and show a detailed security model for
ABS. Under our framework, we present an attribute-based signature scheme for
intonationestablishesin the standard model, where we choose the Waters’ signature scheme as
the prototype of our attribute based signature scheme. Compared with the Maji’s scheme in
the general group model, the proposed scheme is constructed in the standard model. ABS can
hide any identifying info and make fine-grained control on signing. Presently, many attribute-
based signature schemes have been proposed, butmost of them are not very efficient. here the
accuracy is 75%efficient.

Efficient Attribute-Based Signatures for Non-Monotone Predicates in the Standard


Model

Author:-Tatsuaki Okamoto and Katsuyuki Takashima:-

The acceptable predicates of the proposed ABS scheme are more general than those of the
existing ABS schemes, i.e., the proposed ABS scheme is the first to support general non-
monotone establishes, which can be expressed using NOT gates as well as AND, OR, and
Threshold gates, while the presentABS schemes only support monotone predicates. The
proposed ABS scheme is comparably as efficient as (several times worse than) one of the
most competentABS schemes, which is proven to be secure in the generic group model. It
cannot provide complete security to the system in standard assumptions. here the overall
accuracy is 84%.

Short attribute based signatures for threshold predicates.

Author:- Javier Herranz1, Fabien Laguillaumie2

In this paper, author proposes the first twoattribute-based signature schemes with constant
size signatures. Their safety is proven in the selective-predicate andadaptive-message

5
setting, in the standard model, under chosen message attacks, with respect to some
algorithmic assumptions related to bilinear groups. The described schemes are for the case of
threshold predicates, but they can be extended to admit some other (more expressive) kinds
of monotone predicates. Single of the major issues in attribute based cryptography is to save
bandwidth, and in particular to get or signatures of constant size, i.e., not depending on the
number of involvedattributes.

Fuzzy Identity based encryption

Author:- Amit Sahai1, and Brent Waters2 1 University of California, Los Angeles.

In this paper author present two constructions of Fuzzy IBE schemes. Our constructions can
be viewed as an Identity Based Encryption of a message under several attributes that
compose a (fuzzy) identity. Our IBE schemes are both error-tolerant and secure against
collusion attacks. Additionally, our basic construction does not use random oracles. We prove
the security of our schemes under the Selective-ID security model. This work motivates a few
interesting open problems. The first is whether it is possible to create a Fuzzy IBE scheme
where the attributes come from multiple authorities. While, it is natural for one authority to
certify all attributes. 82%accuracy.

Medical JPEG image steganography based on preserving inter-block dependencies

Author:- Xin Liaoa , JiaojiaoYina , SujingGuoa , Xiong Li:-

In this paper, author propose a new medical JPEG image steganography scheme based on the
addictions of inter-block coefficients. The basic plan is to preserve the differences among
DCT constants at the same position in adjacent DCT blocks as much as possible. The cost
values are allocated dynamically according to the modifications of inter-block neighbors in
the implanting process. Experimental results show that the proposed scheme can cluster the
inter-block embedding changes and perform improved than the state-of-the-art steganography
method. In this paper, the privacy protection of medical JEPG images has become an
important issue. Steganography is a useful tool to conceal patients’ information in the
medical images. 85% accuracy.

6
Blockchain-based private keyword search in decentralized storage:-

Author:- Peng Jiang a, FuchunGuo:-

In this paper, author introduce Search in, a block chain-based keyword search system. It
enables oblivious search over an authorized keyword set in the decentralized packing. Search
in is built on top of a novel primitive named oblivious keyword search with authorization
(OKSA), which provides the arrangement of keyword authorization also oblivious search. We
instantiate a provably secure OKSA scheme, featured with one-round communication and
constant size communication cost in the assignment phase. We apply OKSA and ordered
multisignatures (OMS) to present a Search in protocol, which achieves unconscious peerto-
peer retrieval with order-preserving transaction. Decentralization eliminates traditional data
loss brought by compromising the provider, but incurs the possible privacy leakage in a way
that the supplier directly links the retrieved data to its cipher text. Oblivious keyword search
(OKS) has been regarded as a solution to this issue. OKS allows a user to retrieve the data
associated with a chosen keyword in an oblivious way. Here the accuracy of this paper is
79%.

Public standards and patients' control: how to keep electronic medical records
accessible butprivate.

Author:- Kenneth D Mandl.et.al

In this article author has proposed two doctrines- Public standards and Patient control and six
desirable characteristics- Comprehensiveness, Accessibility, Interoperability, Accountability,
Flexibility, to guide the development of online medical record systems. They need to develop
acceptable procedures for backing up data, anticipating recovery in case of disasters.

Bitcoin: A Peer-to-Peer Electronic Cash System

Author:- Satoshi Nakamoto

In this paper author has projected a system for electronic transactions without depend on . We
started with the usual framework of coins made from digital signatures, which provides
strong control of ownership. This model identifies anexplanation to prevent double-spending
problem. 80% accuracy.
7
How block chain-time stamped protocols could improve the trustworthiness of medical
science

Author:- G. Irving and J. Holden

In this author report a proof-of-concept study using a ‘block chain’ as a low cost,
independently verifiable method that could be widely and readily used to audit and confirm
the reliability of scientific studies.SHA256 is used to confirm the exact wording and existence
of a protocol at a given point in time. Outcome switching, data dredging and selective journal
are some of the problems that undermine the integrity of published research. 83.5%accuracy.

8
CHAPTER 3

SYSTEM STUDY

3.1 Existing System:

 However, in the current situation, patients scatter their EHRs across the different areas
during life events, causing the EHRs to move from one service worker database to
additional. Therefore, the patient may misplace control of the existing healthcare data,
while the service provider usually maintains the primary stewardship. Patient access
permissions to EHRs are actual imperfect, and patients are typically unable to easily share
these data with researchers or providers. Interoperability experiments among different
providers, hospitals, research institutions, etc. add extra barriers to high-performance data
sharing.

3.1.1 Disadvantages

 Patient access permissions to EHRs are very limited, and patients are typically unable to
easily share these data with academics or providers. Interoperability challenges between
different providers, hospitals, research institutions, etc. add extra barriers to high-
performance data allocation. Without coordinated data management and exchange, the
fitness records are fragmented in its place of cohesive

3.2 PROPOSED SYSTEM:

 In this paper, to guarantee the validity of EHRs encapsulated in blockchain, we present an


attribute-based signature scheme with numerous authorities, in which a patient endorses a
message according to the attribute while releasing no information other than the evidence
that he has showed to it.

3.2.1 Advantages

 The benefits of the blockchain technology are regionalized maintenance, data valid in the
block-then-chain construction, secure transferring and accessing of data as well as anti-
tamper and undeniable data security

3.3 FUNCTIONALREQUIREMENTS
 A functional requirement defines a function of a software-system or its component. A
function is designated as a set of inputs, the performance, and outputs. The proposed
schemeisachievedbyseparatingthedataintochunksandtheAPsapplyingchunkschedulingalgor
ithm. Applying carrier selection algorithm by APs leads to carry forward broadcast of the data
9
chunks to the destination.

3.4 NON-FUNCTIONALREQUIREMENTS

3.4.1 EFFICIENCY

 Efficiency is better by increased network capacity which leads to efficient bandwidth


usage resulting in complete information downloading using chunk scheduling algorithms.

3.4.2 PERFORMANCE

 The way the infrastructure is deployed can have a significant impact on the performance
of the cooperative download framework. Not only the position, but also the number of the
APs can impact the presentation of the vehicular cooperative download

3.5 FEASIBILITY STUDY

 Preliminary investigation examines project possibility, the likelihood the system will be
beneficial to the organization. The chief impartial of the feasibility study is to test the
Technical, Operational and Economical feasibility for adding novel modules and
debugging old running system. All system is feasible if they are boundless resources and
infinite period. There are aspects in the feasibility study portion of the preliminary
investigation:
 Technical Feasibility
 Operational Feasibility
 Economic Feasibility
3.5.1 ECONOMICALFEASIBILITY

 A system can be developed technically and that will be used if connected must still be a
decent investment for the organization. In the economic feasibility, the development cost
in creating the system is projected against the ultimate benefit consequential from the new
systems. Financial benefits must equal or exceed the costs.
 The system is economically achievable. It does not require any addition hardware or
software. Since the interface for this system is established using the open source
technologies, there is insignificant expenditure and economic feasibility.

10
3.5.2 OPERATIONALFEASIBILITY

 Proposed projects are beneficial only if they can be turned out into information
organization. That will meet the organization’s operating requirements. Operational
feasibility structures of the project are to be taken as an important part of the project
implementation. Some of the important issues elevated are to test the operational
feasibility of a project includes the following:
 Is there necessary support for the management from the users?
 Will the system be used and work suitably if it is being developed and implemented?
 Will there be any resistance from the user that will undermine the possible application
benefits?
This system is battered to be in agreement with the above-mentioned issues.
Beforehand, the management matters and user necessities have been taken into consideration.
So there is no question of resistance from the users that can challenge the possible application
benefits.
The well-planned project would ensure the optimal utilization of the computer properties and
would help in the improvement of performance status.

3.5.3 TECHNICALFEASIBILITY

The technical issue frequently raised during the feasibility period of the investigation
contains the following:

 Does the compulsory technology exist to do what is suggested?


 Do the proposed equipment’s have the technical ability to embrace the data necessary to
use the new system?
 Can the system be advanced if developed?

11
CHAPTER 4

PROPOSED MODEL

Blockchain is considered as a new technological revolution that was introduced as the


backbone of the Bitcoin crypto currency. It is a peer-to-peer spread register technology to
record transactions, agreements, and sales. The benefits of the blockchain technology are
decentralized maintenance, records valid in the block-then-chain building, secure transporting
and editing of data as well as anti-tamper and indisputable data security [28]. Captivating
advantage of these distinguishing landscapes above in an EHRs system, blockchain enables
the management of authentication, confidentiality, accountability and data sharing though
handing information connected to privacy, medical supply saving and facilitating for the
patient, and creation population healthcare smarter.

Assuming that there is an EHRs system in a cloud storage stage, which consists of
some sections, such as hospitals, pharmaceutical departments, insurance departments, disease
research departments and so on, EHRs systems can be together managed. All departments
can offer services for patients collected and restrict the rights of each department to prevent
EHRs misuse. Thus, an EHRs system with a blockchain structure is considered as shown in
Fig. 3. Assume that every patient owns one blockchain of healthcare alone. After being
treated in a hospital, all the information as well as EHRs, consumption records, insurance
records, etc. is encapsulated in one block. Patient managements at different times will be
generated in different blocks. Then, a series of blocks are generated permitting to the time
sequence and a healthcare blockchain of this patient is constructed.

12
FIGURE: 3 EHR system in blockchain .Every patient this chain by himself ,after being
treated in one hospital related to patient is encapsulated in one block

To meet the requirement of distributed organization in EHRs system, we employ


attributes based signature with multiple authorities to address the above application. A MA-
ABS scheme is a protocol that a signature attests not to the uniqueness of the patient who
endorsed a message, but instead to a claim (like access policy) regarding the attributes
substitute from some authorities he possesses. Suppose that a patient Alice wishes to
anonymously publish a block with sensitive data on EHRs system. To give credibility to her
block she decides to take the following claim to endorse message :((cardio path) AND
(disease period more than 10 years)) OR (((Harvard professor) OR (Yale professor)) AND
(Expert oncardiopathy))).

Alice would acquire these attributes from the dissimilar attribute authorities, who
might not trust or even be alert of each other. In the special cases, a party of the attribute
authorities may be degraded. Under this case, it should not impede the achievement of
attributes from the other hornets authorities. Alice is permitted to endorse her message below

13
the claim above, without having to reveal how she meets the claim. Authorities mutually
guarantee her signature for Alice, while guaranteeing it for herself in the identity-based
signature scheme.
Taking advantage of this technique, it understands a perfect privacy-preserving for patient.
The explicit label of the signature says nothing about the identity or attributes of the patient.
From another point of view, it contracts the verifier in unforgeability as well. The signature of
patient whose attributes satisfy the claim cannot be finished by a collusion of parties who mix
their attributes together. Hence, it constructs a secure and controllable instrument in EHRs
system to confirm the validity of the healthcare block

Multi-Authority ABS Scheme in EHRs System


We now describe the EHRs system model and complete ABS construction in this section.
The proposal is an ABS scheme with multiple authorities which can be useful in the
healthcare with blockchain technology.

A. EHRs System Model

This EHRs system model consisted of the following four parties: a EHRs server, N
authorities, patients and data verifiers. As shown in Fig. 4, the EHRs server is objective like a
cloud loading server, which is responsible for storing and transmitting the EHRs. N
authorities are various different organizations, such as hospitals, medical insurance
organizations, medical research institutes, etc., which are responsible for accepting the
membership and exchange of patient information. Patients could create, manage, control and
sign their own EHRs and define the predicate while the data verifier is allowed to access this
signature and verify the correctness.

The MA-ABS scheme in EHRs system has five algorithms as follows.

 Setup(1λ) →params It inputs the security parameter 1λ and then outputs the public
parameters of this system params
 Authority Setup(1λ) →(PKk,SKk): This algorithm is executed by the authority.
Every authority Ak produces his public and private key (PKk,SKk), where
k∈{1,2,…,N}, and N denotes the quantity of authority in this system.

14
 KeyGen(SKk,GID,S)→(PKU,SKU): This algorithm is organized by each authority Ak
and patient U. It inputs the private key SKk of Ak, the over-all identifier GID of the
patient and an attribute set S; then the algorithm returns the public and private keys
(PKU,SKU) of thepatient
 Sign(PKk,SKU,M,Υ)→σ: To sign a message M under the predicate Υ it inputs the
public key PKk of Ak, the private key SKU and the predicate Υ; then the algorithm
outputs the signature σ ofM
 Verify(PKU,S,σ,M,Υ)→Accept/Reject: To verify a signature σ on a message M with
predicate Υ, it inputs the public key PKU of the patient with attribute set S and the
signature with predicate Υ. First, if the attributes of the records verifier do not satisfy
Υ, it returns null. Otherwise, only if the attribute set S satisfies the predicate, will this
algorithm verify the rightness of signature σ and return Accept or Reject

15
Figure4 .The EHRs system model. This model consisted of the four parties .EHRs
Server, Authorities,patient and data verifier

16
CHAPTER 5

SYSTEM DESIGN

5.1 GENERAL

Design Engineering deals with the various UML [Unified Modelling language]
diagrams for the application of project. Design is a meaningful engineering representation of
a thing that is to be built. Software design is a method through which the requirements are
translated into illustration of the software. Design is the place where quality is rendered in
software engineering. Design is the means to truthfully translate customer requirements into
fin and the software development process. The UML uses mostly graphical symbolizations to
express the design of software projects.

GOALS
The Primary goals in the design of the UML are as follows:
 Provide users a ready-to-use, animated visual modeling Language so that they can develop
and exchange meaningful models.
 Provide extendibility and specialization mechanisms to range the core concepts.
 Be independent of particular programming languages and development process.
 Provide a formal basis for understanding the modeling language.
 Encourage the growth of OO tools market.
 Support higher level development theories such as collaborations, frameworks, patterns
and components.
 Integrate best practices

5.2 USE CASEDIAGRAM


A use case diagram in the Unified Modeling Language (UML) is a type of interactive
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
summary of the functionality provided by a system in terms of performers, their goals
(represented as use cases), and any dependencies among those use cases. The main purpose of
a use case diagram is to show what system functions are performed for which actor. Roles of
the actors in the system can bedescribed.

17
login

profile

USERS

patient

Data verifier

TRANSACTION

SEND REQUEST

EHR services KEY GENERATION N-authority

Key send

VERIFICATION

Logout

Figure 6.2: Use Case Diagram

18
5.3 SEQUENCEDIAGRAM

A sequence diagram in Unified Modelling Language (UML) is a kind of interaction


diagram that appearances how processes operate with one another and in what order. It is a
construct of a Message Sequence Chart. Sequence diagrams are occasionally called event
diagrams, event scenarios, and timing diagrams.

PATIENT
DATA OWNER Database
Login

Upload Files

DOWNLOAD

REQUEST

KEY SENT
Login

REQUEST

VERIFICATION

Send key

Decrypt the File

Figure 5.3 Sequence Diagram

19
5.3 ACTIVITY DIAGRAM

Activity diagrams are graphical representations of workflows of stepwise activities and


movements with support for choice, iteration and concurrency. In the Unified Modelling
Language, activity diagrams can be used to describe the business and prerational step-by-step
workflows of mechanisms in a system. An activity diagram shows the overall flow of control.

Start

DATA VERIFIER Login


PATIENT

LOGIN

LOGIN

FILES
PATIENT ACCESS

VERIFICATION DECRYPTION

KEY REQUEST FILE ACCESS

Figure 5.3: Activity Diagram

20
5.4 CLASSDIAGRAM

In software engineering, a class diagram in the Unified Modelling Language (UML) is


a type of standing structure diagram that describes the structure of a system by showing the
system's classes, their attributes, operations (or methods), and the relationships among the
classes. It explains which class contains information

Figure 5.4: Class Diagram

21
5.5 FLOWCHART
A flowchart is a type of diagram that represents a workflow or process. A flowchart can
also be well-defined as a graphic representation of an algorithm, a step-by-step method to
solving a task. The flowchart shows the steps as boxes of various kinds, and their order by
connecting the boxes with arrows

Figure 5.5: FLOW CHART

22
CHAPTER 6

IMPLEMENTATION
6.1 MODULES DESCRIPTION:-
1. Data Verifier

2. PATIENT

3. HER Server

4. N-Authorities

6.2 JAVA TECHNOLOGY


Java technology is both a programming language and a platform. The Java
programming language is a high-level language that can be characterized by all of the
following buzzwords: Simple, Architecture neutral, Object oriented, Portable, Distributed,
High performance, Interpreted, Multithreaded, Robust, Dynamic, Protected, with most
programming languages, you whichever compile or interpret a program so that you can track
it on your computer. The Java programming language is in frequent in that a program is both
compiled and interpreted. With the compiler, first you translate a program into an
intermediate language called Java byte codes —the platform-independent codes interpreted
by the interpreter on the Java platform. The interpreter analyses and runs each Java byte code
instruction on the computer. Compilation chances just once; interpretation occurs each time
the program is executed. The following figure illustrates how this works.

Figure 6.2: illustrates how this works


23
You can consider of Java byte codes as the machine code instructions for the Java
Virtual Machine (Java VM). Every Java interpreter, whether it’s a development tool or a Web
browser that can run applets, is an implementation of the Java VM. Java byte codes help make
“write once, run anywhere” conceivable. You can compile your program into byte codes on
any platform that has a Java compiler. The byte programs can then be run on any
implementation of the Java VM. That means that as long as a computer has a Java VM, the
same program written in the Java programming language can run on Windows 2000, a Solaris
workstation, or on aniMac.

Figure 6.2.1 Java Platform

THE JAVA PLATFORM


A platform is the hardware or software environment in which a program runs. We’ve
previously mentioned some of the most general platforms like Windows 2000, Linux, Solaris,
and MacOS. Most platforms can be described as a grouping of the operating system and
hardware. The Java platform differs from most other platforms in that it’s a software-only
platform that runs on top of other hardware-based platforms.
The Java platform has two components:
The Java Virtual Machine (Java VM)

24
The Java Application Programming Interface (Java API)
You’ve already been introduced to the Java VM. It’s the base for the Java platform
and is ported onto several hardware-based platforms.
JAVA OVERVIEW
The Java API is a large gathering of ready-made software modules that provide
countless valuable capabilities, such as graphical user interface (GUI) widgets. The Java API
is grouped into libraries of related classes and interfaces; these libraries are known as
packages. The next section, What Can Java Technology Do? Highpoints what functionality
some of the packages in the Java APIafford.
The following figure depicts a program that’s running on the Java platform. As the
figure shows, the Java API and the virtual machine isolate the program from the hardware.

Figure 6.2: program that’s running on the Java platform

Native code is code that after you compile it, the compiled code runs on a specific
hardware platform. As a platform-independent environment, the Java platform can be a bit
slower than native code. However, smart compilers, well-tuned interpreters, and just-in-time
byte code compilers can bring performance close to that of native code without threatening
transportability.
The record common kinds of programs written in the Java programming language are
applets and presentations. If you’ve surfed the Web, you’re probably already conversant with
applets. An applet is a program that adheres to certain agreements that allow it to run within a
Java-enabled browser.

25
However, the Java programming language is not just for writing cute, entertaining
applets for the Web. The general-purpose, high-level Java programming language is also a
controlling software platform. Using the generous API, you can write many kinds of
programs.
An application is a standalone program that runs directly on the Java platform. A
changed kind of application identified as a server and provisions clients on a network.
Examples of servers are Web servers, proxy servers, mail servers, and print servers. Another
specialized program is a servlet. A servlet can almost be thought of as an applet that runs on
the server side. Java Servlets are a popular choice for building interactive web applications,
replacing the use of CGI scripts. Servlets are similar to applets in that they are runtime
extensions of applications. Instead of working in browsers, though, servlets run within Java
Web servers, configuring or tailoring the server.
How does the API funding all these kinds of databases? It does so with packages of
software components that provides an inclusive range of functionality. Every full
implementation of the Java platform provides you the following features:
 The essentials: Objects, strings, threads, numbers, input and output, data structures,
system properties, date and time, and soon.
 Applets: The set of conventions used by applets.
 Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram
Protocol) sockets, and IP (Internet Protocol) addresses.
 Internationalization: Help for writing programs that can be contained for users
worldwide. Programs can automatically adapt to definite locales and be displayed in the
appropriate language.
 Security: Together low level and high level, including electronic signatures, public and
private key management, access control, and certificates.

 Software components: Known as JavaBeans, can plug into existing component architectures.
 Object serialization: Allows inconsequential persistence and communication via Remote
Method Invocation (RMI).
 Java Database Connectivity (JDBC): Provides unchanging access to a wide range of
relational databases.
The Java platform also has APIs for 2D and 3D graphics, accessibility, servers,
collaboration, telephony, speech, animation, and more. The following figure depicts what is
incorporated in the Java 2 SDK.

26
Figure 6.2: Java 2 SDK.

ODBC
Microsoft Open Database Connectivity (ODBC) is a standard programming interface
for application developers and database systems providers. Before ODBC became a de facto
standard for Windows programs to boundary with database systems, programmers had to use
proprietary languages for respectively database they needed to connect to. Now, ODBC has
made the choice of the database system almost separate from a coding perception, which is as
it should be. Application developers have much more important things to anxiety about than
the syntax that is needed to port their program from one database to another when business
needs quickly change.
Through the ODBC Administrator in Control Panel, you can identify the particular
database that is connected with a data source that an ODBC application program is written to
custom. Think of an ODBC data source as a door with a name on it. Each door will lead you
to a particular database. For example, the data source named Sales Figures might be a SQL
Server database, whereas the accounts assigned data source could refer to an access database.
The physical database discussed to by a data source can reside anywhere on the LAN.

27
The ODBC system files are not installed on your system by Windows 95. Rather, they
are installed when you setup a separate database application, such as SQL Server Client or

Visual Basic 4.0. When the ODBC icon is installed in Control Panel, it uses a file called
ODBCINST.DLL. It is also imaginable to administer your ODBC data sources through a
stand- alone program called ODBCADM.EXE. There is a 16-bit and a 32-bit version of this
program and each maintains a discrete list of ODBC data sources.

From a programming perception, the beauty of ODBC is that the application can be
written to use the same fixed of function calls to interface with any data source, irrespective
of the database vendor. The basis code of the application doesn’t modification whether it talks
to Oracle or SQL Server. We individual mention these two as an example. There are ODBC
drivers accessible for several dozen popular database systems. Even Excel spreadsheets and
plain text files can be turned into data sources. The operating system uses the Registry
information inscribed by ODBC Administrator to determine which low-level ODBC drivers
are needed to talk to the data source (such as the interface to Oracle or SQL Server). The
loading of the ODBC drivers is transparent to the ODBC application program. In a
client/server environment, the ODBC API even holders many of the net problems for the
application programmer.
The advantages of this scheme are so various that you are probably intelligent there
must be some fastener. The only disadvantage of ODBC is that it isn’t as efficient as talking
directly to the native database interface. ODBC has had many detractors make the charge that
it is too slow. Microsoft has always requested that the critical factor in presentations the
quality of the driver software that is used. In our humble opinion, this is true. The availability
of good ODBC drivers has improved a great deal recently. And anyway, the criticism about
performance is somewhat analogous to those who said that compilers would never match the
speed of pure assembly language. Maybe not, but the compiler (or ODBC) gives you the
opportunity to write cleaner programs, which means you finish sooner. Meanwhile,
computers get wilder every year.
JDBC
In an effort to set an independent database ordinary API for Java; Sun Microsystems
established Java Database Connectivity, or JDBC. JDBC offers a generic SQL database
access mechanism that provides a dependable interface to a variety of RDBMSs. This
consistent interface is achieved through the use of “plug-in” database connectivity modules,
or drivers. If a database vendor requests to have JDBC sustenance, he or she must provide the
driver for each platform that the database and Java run-on.
28
To achievement a wider acceptance of JDBC, Sun based JDBC’s structure on ODBC.
As you discovered formerly in this chapter, ODBC has widespread funding on a variety of
platforms. Basing JDBC on ODBC will agree vendors to bring JDBC drivers to market much
faster than developing a absolutely new connectivity resolution.
JDBC Goals
Few software packages are considered without goals in mind. JDBC is one that,
because of its many goals, drove the development of the API. These goals, in conjunction
with early reviewer feedback, have finalized the JDBC class library into a solid framework
for building database applications in Java.
The aims that were set for JDBC are important. They will give you some insight as to
why confident classes and functionalities behave the way they do. The eight design goals for
JDBC are as follows:

1. SQL LEVELAPI
The designers felt that their main goal was to define a SQL interface for Java. Although
not the lowest database interface level possible, it is at a low enough level for higher-level
tools and APIs to be created. Conversely, it is at a high enough level for application
programmers to use it confidently. Attaining this goal allows for future tool vendors to
“generate” JDBC code and to hide many of JDBC’s complexities from the end-user.

2. SQLCONFORMANCE
SQL syntax varies as you move from database vendor to database vendor. In an effort
to support a wide variety of vendors, JDBC will allow any query statement to be passed
through it to the underlying database driver. This allows the connectivity module to handle
non-standard functionality in a manner that is suitable for its users.

3. JDBC MUST BE IMPLEMENTAL ON TOP OF COMMON DATABASE


INTERFACES
The JDBC SQL API must “sit” on top of other common SQL level APIs. This goal
allows JDBC to use existing ODBC level drivers by the use of a software interface. This
interface would translate JDBC calls to ODBC and vice versa.

29
4. PROVIDE A JAVA INTERFACE THAT IS CONSISTENT WITH THE REST OF THE
JAVASYSTEM

Because of Java’s acceptance in the user community thus far, the designers feel that
they should not stray from the current design of the core Java system.

5. KEEP IT SIMPLE
This goal probably seems in all software design goal listings. JDBC is no exception.
Sun felt that the design of JDBC should be actual simple, allowing for only one method of
implementation a task per mechanism. Allowing duplicate functionality only serves to
confuse the users of the API.

6. USE STRONG, STATIC TYPING WHEREVERPOSSIBLE


Strong typing allows for more error checking to be done at compile time; also, less
error appear at runtime.

7. KEEP THE COMMON CASESSIMPLE


As more often than not, the normal SQL calls used by the programmer are simple
select’s, inserts, delete’s and update’s, these queries should be simple to implement with
JDBC. However, more complex SQL statements should also be potential. Finally, we
decided to precede the implementation using Java Networking. And for dynamically
updating the cache table we go for MS Access database. java is also unusual in that each
java program is both compiled and interpreted. with a compile you translate a java program
into an midway language called java byte codes the platform-independent code instruction
is passed and run on the computer.

J2ME (JAVA 2 MICRO EDITION)

Sun Microsystems describes J2ME as "a highly optimized Java run-time environment
targeting a wide range of consumer products, including monitors, cellular phones, screen-
phones, digital set-top boxes and car navigation systems." Announced in June 1999 at the
Java One Developer Conference, J2ME brings the cross-platform functionality of the Java
language to smaller devices, allowing mobile wireless devices to share applications. With
J2ME, Sum has adapted the Java platform for consumer products that incorporate or are
based on small computing devices.

30
1. GENERAL J2MEARCHITECTURE

Figure 6.2: GENERAL J2ME ARCHITECTURE

J2ME uses configurations and profiles to customize the Java Runtime Environment
(JRE). As a complete JRE, J2ME is comprised of a configuration, which determines the JVM
used, and a profile, which defines the application by adding domain-specific classes. The
arrangement defines the basic run-time environment as a set of core classes and a specific
JVM that run on particular types of devices. We'll discuss configurations in detail in the The
profile defines the application; specifically, it adds domain-specific classes to the J2ME
configuration to define certain uses for devices. We'll cover profiles in depth in the The
following graphic depicts the relationship between the different virtual machines,
configurations, and profiles. It also draws a parallel with the J2SE API and its Java virtual
machine. While the J2SE virtual machine is generally referred to as a JVM, the J2ME virtual
machines, KVM and CVM, are subsections of JVM. Both KVM and CVM can be thought of
as a kind of Java virtual machine -- it's just that they are shrunken versions of the J2SE JVM
and are specific to J2ME.

2. DEVELOPING J2MEAPPLICATIONS
Introduction In this segment, we will go over some considerations you need to keep in
mind when developing applications for minor devices. We'll take a look at the way the
compiler is appealed when using J2SE to compile J2ME applications. Finally, we'll explore
31
wrapper and deployment and the role precertification plays in this procedure.

3. DESIGN CONSIDERATIONS FOR SMALL DEVICES


Developing applications for small devices requires you to have certain strategies in
mind during the design phase. It is best to strategically design an application for a small
device before you create coding. Correcting the code because you failed to consider all of the
"gotchas" before increasing the application can be a painful process. Here are some design
strategies to consider:

 Keep it simple. Remove unnecessary features, possibly making those features a separate,
secondary application.
 Smaller is improved. This consideration should be a "no brainer" for all developers.
Smaller applications use less memory on the device and involve shorter installation times.
Consider packaging your Java applications as compressed Java Archive (jar) files.
 Minimize run-time memory use. To minimalize the amount of memory used at run time,
use scalar types in place of objective types. Also, do not depend on the garbage collector.
You should manage the memory efficiently yourself by setting object situations to null
when you are finished with them. Another way to reduce run-time memory is to use lazy
instantiation, only allocating objects on an as-needed basis. Other ways of dropping
overall and peak memory use on small devices are to release resources quickly, reuse
objects, and avoid exceptions.

4. CONFIGURATIONSOVERVIEW

The conformation defines the simple run-time environment as a set of core classes
and a specific JVM that run on specific types of devices. Currently, two configurations exist
for J2ME, though others may be defined in the future:

CONNECTED LIMITED DEVICE CONFIGURATION (CLDC)

It is used specifically with the KVM for 16-bit or 32-bit devices with limited amounts
of memory. This is the configuration (and the virtual machine) used for developing minor
J2ME applications. Its size limits make CLDC more interesting and challenging (from a
development point of view) than CDC. CLDC is also the arrangement that we will use for
developing our drawing tool application. An example of a small wireless device running
small applications is a Palm hand-held computer.

32
CONNECTED DEVICE CONFIGURATION (CDC)

It is used with the C virtual machine (CVM) and is used for 32-bit architectures
needful more than 2 MB of memory. An example of such a device is a Net TV box.

33
CHAPTER 7

SOFTWARE TESTING

7.1 GENERAL

Testing is an important component in software life cycle. It aids in finding and


repairing discovered errors so that the software does not pose any problems to the vendor.
Since the system is established using an object-oriented approach, class testing is done at unit
level and functional testing is done at system level.
Testing objectives include:

 Testing is a process of executing a program with the intent of finding an error.


 A good test case is one that has a high probability of finding an as yet undiscovered error.
Testing is a schedule process carried out by the software development lineup to
capture all the possible errors, misplaced operations and also a complete verification to verify
impartial are met and user requirement are satisfied. The project of tests for software and
other engineering products can be as stimulating as the initial design to the product itself.

7.2 TESTINGTYPES

A software engineering product can be tested in one of two ways:

 Black box testing


 White box testing

BLACK BOXTESTING

Knowing the specified function that a product has been designed to perform, regulate
whether each function is completely operational.

WHITE BOX TESTING


Knowing the internal workings of a software produce determine whether the internal
procedure implementing the functions perform according to the specification, and all the
internal mechanisms have been adequately exercised.

34
7.3 TESTINGSTRATEGIES
Four Testing Strategies that are often adopted by the software development team include:

 Unit Testing
 Functional Testing

35
 Performance Test
 Validation Testing

7.3.1 UNITTESTING
We accept white box testing when using this testing technique. This testing was
carried out on separate components of the software that were designed. Each separate module
was tested using this technique during the coding phase. Every component was checked to
make sure that they adhere strictly to the specifications spelt out in the data flow diagram and
ensure that they perform the purpose intended for them.

All the names of the variables are scrutinized to make sure that they are truly reflected
of the element they represent. All the looping mechanisms were verified to confirm that they
were as decided. Beside these, we trace through the code manually to capture syntax errors
and logical errors.

7.3.2 FUNCTIONALTESTING

Functional tests provide systematic demonstrations that functions tested are available
as specified by the business and technical requirements, system documentation, and user
manuals.
7.3.3 PERFORMANCETEST

The Performance test ensures that the output is produced within the time limits, and the
time taken by the system for compiling, giving response to the users and request being send
to the system for to retrieve the results.

7.3.4 VALIDATIONTESTING
Software testing and validation is achieved through a series of black box tests that
demonstrate conformity with supplies. A test procedure defines specific test cases that will be
used to demonstrate conventionality with requirements. Both, the plan and the procedure are
designed to ensure that all functional requirements are achieved, documentation is right and
other requirements are met. After each validation test case has been conducted, one of the
two possible circumstances exist.

The function or performance characteristics conform to specification and are


accepted. A deviation from specification is exposed and a deficiency list is created. The
deviation or error discovered at this stage in project can rarely be corrected prior to planned

36
completion. It is essential to negotiate with the customer to establish a method for resolving
deficiencies.

7.4 GUIDELINES FOR DEVELOPING TESTCASES

 Describe which feature or service your test attempts to wrap


 If the test case is based on a use case it is a good thought to refer to the use case name.
Remember that the use cases are the source of test cases. In theory the software is
imaginary to match the use cases not the reverse. As soon as you have enough use cases ,
go ahead and write the test plan for that piece
 Specify what you are testing and which particular quality. Then identify what you are
going to do to test the feature and what you expect to happen.
 Test the standard use of the object’s methods. Test the abnormal but practical use of the
object’s methods.
 Test the abnormal but unreasonable use of the object’s methods.
 Test the boundary conditions. Also specify when you expect error dialog boxes, when you
expect some default event, and when functionality till is being definite.
 Test object’s communications and the messages sent among them. If you have developed
sequence diagrams, they can assist you in this process
 when the revisions have been made, document the cases so they become the starting bases
for the follow- up test
 Attempting to reach agreement on answers generally will raise other what-if questions.
Add these to the list and answer them, duplicate the procedure until the list is stabilized,
then you need not add any more questions.
7.5 TESTCASES

A test case in software engineering is a set of conditions or variables under which a


tester will establish if a requirement or use case upon an function is partially or fully satisfied.
It may take many test cases to determine that a requirement is fully contented. The following
steps are to be followed to design the test cases.
 Every test case should be exclusively identified and explicitly associated with the class to
be tested.
 The purpose of the test should be stated.
 Each test case should be uniquely identified and explicitly coupled with the class to be
tested.

37
 The function of the test should bestated.Test Cases frequently have the following components.

 Test Case Summary


 Initial Condition
 Steps to run the test case
 Expected behavior/outcome

38
CHAPTER 8

Output screenshot

Figure 1: storage server

 the EHRs server is objective like a cloud storage server, which is responsible for storing and
transmitting the EHRs

Figure 2: Request Storage Server

 Data owner requesting to end user

39
Figure 3: Data Owner Request To End User

Figure 4 : End User Response To Data Owner

40
Figure 5: User Login

 User Login page where patients can Register ,login and reset the data

Figure 6: Authority IP Address

 We construct an attribute-base signature scheme with multiple authority


 Here user can get a signature

41
Figure 7: Owner Register
 Owner register home page

Figure 8: Owner Register From


42
Figure 9: Owner Register Signal Authority Id Address

 Owner get authority Ip address for register

Figure 10: Owner Registered successfully

 Owner successfully register with Owner name, password, address, mobile etc.,

43
Figure 11: Cryptographic Server

 Owner have authority to access patient file

Figure12: End User

 End user can be download a patients file with the help of user name, file name

44
Figure 13: End User Page
 File can be download after getting secret key form the server

Figure14: Downloaded File Successfully

 Now the patients file is downloaded successfully


45
Figure15: Authorities

 Authorities home page

Figure 16: Authorities Files


 Center authority can access four authorities files there are :

1.view registered users

2. view group

3.view group sign

4.exit
46
Figure17: user registered key
 Central Authority assign groups sign key for the user.

Figure18 : Group Sign


 Center authority have group signature which content of User Name, Group,Group
Sign

47
Figure19 : Authority Groups
 Center authority have three group that is Group 1, Group 2, Group3.

48
CHAPTER 10

CONCLUSION

Aiming at preserve patient privacy in an EHRs system on block chain, multiple


authorities are introduced into ABS and put forward a MA-ABS scheme, which meets the
requirement of the formation of blockchain, as well as guaranteeing the anonymity and
immutability of the information. PRF seeds are necessary between authorities and the patient
private keys need to be constructed, N−1 tainted authorities cannot succeed in complicity
attacks. lastly, the security of the protocol is proven under the CBDH assumption in terms of
unforgeability and perfect privacy.

49
CHAPTER 11
FUTURE ENHAMCEMENTS

The assessment analysis demonstrates the presentation and the cost of this protocol
increases linearly with the number of authorities and patient attributes as well. A
non-monotone predicate could be used in many distributed organization applications, which
enriches the representation of the predicate. sustaining universal non-monotone predicates in
blockchain technology is the direction of future work.

50
CHAPTER10
REFERENCES

[1].Health Information and the Law. George Washington University Hirsh Health Law and
Policy Program. (Aug. 20, 2015). Who Owns Medical Records: 50 State Comparison.
[Online]. Available: http://www.healthinfolaw.org/comparative-analysis/who-owns-
medicalrecords-50-state-comparisonVOLUME 6, 2018 11685

[2] K.D.Mandl,P.Szolovits,andI.S.Kohane,‘‘Publicstandardsandpatients’ control: How to


keep electronic medical records accessible but private,’’ BMJ, vol. 322, no. 7281, pp. 283–
287, Feb.2001.

[3] S. Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. Accessed: 2008. [Online].
Available:https://bitcoin.org/bitcoin.pdf

[4] World Economic Forum. (Sep. 9, 2015). Deep Shift: Technology Tipping Points and
Societal Impact. [Online]. Available:
http://www3.weforum.org/docs/WEF_GAC15_Technological_Tipping_Points_report_20
15.pdf

[5] (Dec. 12, 2016). Healthcare Rallies for Blockchains: Keeping Patients at the Center.
[Online]. Available:http://www.ibm.biz/blockchainhealth

[6] M. Swan, Blockchain: Blueprint for a New Economy. Sebastopol, CA, USA: O’Reilly
Media, 2015, pp.53–68.

[7] G.Prisco.(Apr.26,2016).The Block chain for Healthcare :GemLaunches Gem Health


Network With Philips Block chain Lab. [Online]. Available:
https://bitcoinmagazine.com/articles/the-blockchain-for-heathcare-gemlaunches-gem-health-
network-with-philips-blockchain-lab-1461674938

[8] U.S. White House. 104th Congress. (Aug. 21, 1996). Public Health Insurance Portability
and Accountability Act. [Online]. Available: https://en.
wikipedia.org/wiki/Health_Insurance_Portability_and_Accountability_Act

51
[9] P. Taylor. (Apr. 27, 2016). Applying Blockchain Technology to Medicine Traceability.
[Online]. Available: https://www.securingindustry. com/pharmaceuticals/applying-
blockchain-technology-to-medicinetraceability/s40/a2766/#.V5mxL_mLTIV

[10] P. B. Nichol. (Mar. 17, 2016). Blockchain Applications for Healthcare: Blockchain
Opportunities are Changing Healthcare Globally-Innovative Leaders See the Change.
[Online]. Available: http://www.cio.com/article/3042603/innovation/blockchain-
applicationsfor-healthcare.html

[11] G. Irving and J. Holden, ‘‘How blockchain-timestamped protocols could improve the
trustworthiness of medical science,’’ F1000Research, vol. 5, p. 222, May2016.

[12] P. Jiang, F. Guo, K. Liang, J. Lai, and Q. Wen, ‘‘Searchain: Blockchainbased private
keyword search in decentralized storage,’’ Future Generat. Comput. Syst., 2017, doi:
10.1016/j.future.2017.08.036.

[13] X. Liao, J. Yin, S. Guo, X. Li, and A. K. Sangaiah, ‘‘Medical JPEG image
steganography based on preserving inter-block dependencies,’’ Comput. Electr. Eng., 2017,
doi:10.1016/j.compeleceng.2017.08.020.

[14] H. K. Maji, M. Prabhakaran, and M. Rosulek, ‘‘Attribute-based signatures: Achieving


attribute-privacy and collusion-resistance,’’ in Proc. IACR Cryptol. ePrint Arch., Apr. 2008,
pp. 1–23. [Online]. Available:https://eprint.iacr.org/2008/328.pdf

[15] A. Sahai and B. Waters, ‘‘Fuzzy identity-based encryption,’’ in Proc. EUROCRYPT,


Aarhus, Denmark, 2005, pp.457–473.

[16] D. Khader, ‘‘Attribute based group signature with revocation,’’ in Proc. IACR Cryptol.
ePrint Arch., Jun. 2007, pp. 1–19. [Online]. Available:https://eprint.iacr.org/2007/241.pdf

[17] H. K. Maji, M. Prabhakaran, and M. Rosulek, ‘‘Attribute-based signatures,’’ in Proc.


CT-RSA, San Francisco, CA, USA, 2011, pp.376–392.

[18] J.Li,M.H.Au,W.Susilo,D.Xie,andK.Ren,‘‘Attribute-basedsignature and its applications,’’


in Proc. ASIACCS, Beijing, China, 2010, pp.60–69.

[19] J. Herranz, F. Laguillaumie, B. Libert, and C. Ràfols, ‘‘Short attribute-based signatures


for threshold predicates,’’ in Proc. CT-RSA, San Francisco, CA, USA, 2012, pp.51–67.

52
[20] T. Okamoto and K. Takashima, ‘‘Efficient attribute-based signatures for non-
monotonepredicatesinthestandardmodel,’ inProc.PKC,Taormina, Italy, 2011, pp.35–52.

[21] C. Chen et al., ‘‘Fully secure attribute-based systems with short ciphertexts/signatures
and threshold access structures,’’ in Proc. CT-RSA, San Francisco, CA, USA, 2013, pp. 50–
67.

[22] Y. S. Rao and R. Dutta, ‘‘Efficient attribute-based signature and


signcryptionrealizingexpressiveaccessstructures,’’Int.J.Inf.Secur.,vol.15,no.1, pp. 81–109,
Feb.2016.

[23] Y. Sakai, N. Attrapadung, and G. Hanaoka, ‘‘Attribute-based signatures for circuits from
bilinear map,’’ in Proc. PKC, Taipei, Taiwan, 2016, pp.283–300.

[24] K.Gu,W.Jia,G.Wang,andS.Wen,‘‘Efficientandsecureattribute-based signature for


monotone predicates,’’ Acta Inf., vol. 54, no. 5, pp. 521–541, Aug.2017.

[25] J. Liu et al., ‘‘Protecting mobile health records in cloud computing: A secure, efficient,
and anonymous design,’’ ACM Trans. Embed. Comput. Syst., vol. 16, no. 2, Apr. 2017, Art.
no.57

53

You might also like