You are currently viewing a new version of our website. To view the old version click .
Computers
  • Article
  • Open Access

31 July 2019

An Attribute-Based Access Control Model in RFID Systems Based on Blockchain Decentralized Applications for Healthcare Environments

,
and
1
Ceit, Manuel Lardizabal 15, 20018 Donostia/San Sebastián, Spain
2
Departamento de Ingeniería Eléctrica y Electrónica, Universidad de Navarra, Tecnun, Manuel Lardizabal 13, 20018 Donostia/San Sebastián, Spain.
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Computer Technologies in Personalized Medicine and Healthcare

Abstract

The growing adoption of Radio-frequency Identification (RFID) systems, particularly in the healthcare field, demonstrates that RFID is a positive asset for healthcare institutions. RFID offers the ability to save organizations time and costs by enabling data of traceability, identification, communication, temperature and location in real time for both people and resources. However, the RFID systems challenges are financial, technical, organizational and above all privacy and security. For this reason, recent works focus on attribute-based access control (ABAC) schemes. Currently, ABAC are based on mostly centralized models, which in environments such as the supply chain can present problems of scalability, synchronization and trust between the parties. In this manuscript, we implement an ABAC model in RFID systems based on a decentralized model such as blockchain. Common criteria for the selection of the appropriate blockchain are detailed. Our access control policies are executed through the decentralized application (DApp), which interfaces with the blockchain through the smart contract. Smart contracts and blockchain technology, on the one hand, solve current centralized systems issues as well as being flexible infrastructures that represent the relationship of trust and support essential in the ABAC model in order to provide the security of RFID systems. Our system has been designed for a supply chain environment with an use case suitable for healthcare systems, so that assets such as surgical instruments containing an associated RFID tag can only access to specific areas. Our system is deployed in both a local and Testnet environment in order to stablish a deep comparison and determining the technical feasibility.

1. Introduction

The healthcare field is aware of the essential need to adopt and use healthcare information technology (IT) successfully. Radio-frequency Identification (RFID) provides several opportunities for healthcare transformation [1]. The same reference before argues that RFID provides an enhanced method to decrease errors in patient-care, to improve tracking and tracing for both patients and equipment, as well as to enable better management of health assets and improving the audit process and predictability.
In general terms, four sub-systems describe an RFID system’s architecture (Figure 1): (1) a transponder or tag, which contains the identification data, (2) a reader to interact directly with the tag exchanging information with it, (3) a RFID middleware and (4) a business and/or information management layer. RFID middleware supports RFID tag data management by handling devices, filtering, collecting, integrating and constructing data. The business layer also includes applications such as back-end databases (DBs), enterprise resource planning (ERP), customer relationship management (CRM), warehouse management solutions (WMS), tracking and tracing and electronic product code (EPC) applications.
Figure 1. General architecture of Radio-frequency Identification (RFID) systems.
The GS1 (Whilst "GS1" is not an acronym it refers to the organization offering one global system of standards) standards ([2]) address three wide categories: identify, capture and share [3,4]. The capture process could be performed through sub-systems (1) and (2), using EPC-enabled for RFID tags (i.e., through EPC, GS1 also provides a construction to write and read unique identifiers on RFID tags). The identification process would be covered by sub-system (3) and an identification numbers is performed, for instance, when it is encoded (e.g., to GTIN (Global Trade Item Number)) or it is decoded (e.g., from RFID Tag EPC). Finally, the sub-system 4) carried out the sharing category. In particular, GTIN describes a data structure that uses 14 digits with the option to encode in some combinations. GTIN is currently used in both barcodes and RFID [2]. The structure of the GTIN number is shown below:
urn:epc:id:sgtin:CompanyPrefix.ItemReference.SerialNumber,
These fundamental principles are used to explain how the GS1 standards system can be used to enable traceability solutions, where RFID systems are involved in both data capture and data sharing. In addition, RFID systems are able to achieve traceability in a variety of supply chains such as fresh food, health, technical industries, transportation and logistics. The supply chain in the healthcare sector will be taken as use case. In that sense, RFID is the industry-leading technology used by medical device manufacturers to enable smart devices to provide higher-quality patient care, the most common RFID applications include [5]:
(1)
Tracking and tracing of trust device to individual patients.
(2)
Ensuring appropriate sterilization.
(3)
Control of servicing and calibration of medical equipment.
(4)
Invoicing procedures, to associate patients with medical device and prescription use.
(5)
Stock management.
(6)
Decreased time spent by staff tracking articles and devices.
In this way, a model based on control and traceability of assets is a determining factor in safety. Based on the analysis of the six points mentioned above, interviews with specialists were carried out in order to determine the needs existing in institutions, where a specific use case related to point 1) has been identified. Hospitals employ large numbers of assets (e.g., surgery medical instruments (SMI)), which can flow through constant cycles such as sterilization department, surgery room, laboratories, etc. A location mistake could risk the patients’ lives. In addition, the lack of detailed asset records causes asset losses.
However, given that RFID is one of the most well positioned technologies to perform the data capture and sharing process, the biggest challenge for any RFID systems is its security. The security threats encountered in RFID systems are distinct from traditional wireless security threats, which can be grouped into: (1) physical components of RFID (e.g., cloning tags, reverse engineering, tag modification), (2) the communication channel (e.g., eavesdropping, skimming, replay attack), and 3) global system threats (e.g., spoofing, Denegation of Service (DoS) and “tracing and tracking”). Other examples and details can be obtained from reference [6]. Therefore, our proposal must focus on both safety risks and security risks.
Access control (AC) is a core piece of any organization’s security infrastructure. In particular, AC has popularized as a solution for some of the threats mentioned [7]. Below is an overview of our proposal. Based on GS1, SMI are tagged (passive RFID tag) with GTIN. The coding scheme (see expression (2)) contains a company prefix (e.g., Hospital A: 000389), an article reference (product type) to categorize the asset (e.g., scissors: 000162) and, finally, a serial number to identify a specific asset (e.g., serial number: 000169740). Figure 2 helps to detail how our healthcare system works. The source room (e.g., sterilization department) sends some assets (e.g., SMI) to the destinations rooms (e.g., surgery room0, surgery room1). Since asset1 has been assigned to destination room1 (e.g., surgery room1) and due to human mistake (e.g., in transportation) attempts to access to destination room0 (e.g., surgery room0), our system establishes access denied status to asset1.
Figure 2. Healthcare system.
In short, our proposal is an access control system of a healthcare asset (e.g., SMI) in order to prevent unwanted assets from entering the wrong area (e.g., room) because of human error or an external security threat. Therefore, our proposal is a prevention system that provides a security-safety solution.
By considering the general model presented in Figure 1, RFID middleware commonly deploys the access control mechanism (ACM) in an RFID system [8]. For instance, the EPC global community standardizes four main layers within the middleware (Figure 1): low level read protocol (LLRP), discovery initialization and configuration (DCI), read management (RM) and application level event standard (ALE) [9]. ALE is the sub-system that applies AC policies.
The Table 1 contains different implementations of the ALE sub-system, included on EPC global middleware, as it is established by the following specifications [10,11]. These traditional AC systems present two major challenges for supply chain application environments: (1) almost all include role-based access control (RBAC) as AC model and (2) the implementations are based on centralized architectures. Therefore, from the technical point of view, our proposal consists of an ABAC system for RFID systems that executes access control (AC) policies from a decentralized application (DApp) based on a blockchain architecture. Our proposal integrates several technologies, which allow in the first place the tracking of assets, i.e., an asset (e.g., SMI) is associated to a GTIN code. The system allows us to verify the existence of a certain asset based on the coding scheme presented. Finally, the proposal makes it possible to permit or deny access of an asset to a certain area (e.g., surgery room). For this, smart contracts are used as an interface between the DApp and the blockchain, i.e., all these functionalities, including the AC policy, are executed from the DApp, which interacts with the smart contract, which, in turn, interacts directly with the blockchain, e.g., by a method to insert assets or a method to query certain attributes.
Table 1. Electronic product code (EPC) global standard: application level event standard (ALE) version and access control model [12].
The remainder of the article includes the related work section, which is the keystone for the design of our system based on the reviewed literature, allowing us to arrive at conclusions. From this point onwards, we present the technical proposal, followed by the evaluation methodology, the results obtained and finally the conclusions and future research lines.

3. Proposal

As we mentioned in the introduction, our proposal consists of a complete system in which several technologies converge. However, we want to start this section with a basic architecture that enables a general understanding of how our system performs ABAC.

3.1. Decentralized System Architecture

Figure 3 represents the general architecture of the proposed ABAC model based on ETH blockchain. The physical node is composed of the RFID Reader Control (RFID-RC), the DApp and the smart contract. When a medical instrument (previously tagged with an RFID tag) attempts to gain access to a room, the RFID-RC sends a request for access to the DApp. The DApp sends a query via smart contract to the blockchain network, which returns some attributes related with the asset (e.g., company prefix, product type, serial number). In addition, the DApp receives other attributes (e.g., timestamp) from the RFID-RC. Then, the DApp uses the attributes to execute the ABAC security policy, which determines whether tag access is permitted or denied. The next section details the implementation framework used. Additionally, we need to confirm that one of the main advantages of a decentralized system is scalability, so this physical node (smart oracle) can be replicated in a way that establishes a new connection with the blockchain (via smart contract), without affecting any of the existing nodes.
Figure 3. Decentralized system architecture based on Ethereum (ETH) blockchain.

3.2. Access Control Mechanism (ACM)

For a subject to be able to execute a policy on an object (e.g., permit or deny access), ABAC access control mechanism (ACM) must be enabled. ACM includes the next steps: (1) check the subject’s attributes, (2) check the AC policies (rules), (3) check the object’s attributes, and 4) check the environmental conditions. Although it is normal to expect that the subject is a human, a non-person entity (NPE), such as an autonomous service or an application, could also occupy the subject’s role, as the reference [15] indicates. In our case, the reader requests the DApp for the tag RFID (associated with a SMI) access.
Before analyzing the AC policy, some boundary conditions are established for the transfer of an asset from the source room (e.g., sterilization area) to the destination room (e.g., surgery room) and vice versa should be mentioned:
(1) The transaction that authorizes the transfer of an asset is invoked by an authorized employee through a trusted application connected to DApp (Figure 4).
Figure 4. Details of the system architecture.
(2) The tag uses an EPC code with a pattern similar to the Expression (1) and illustrated in Expression (2):
01.0000389.000162.000169740
Header|CompPrefix|Product type|Serial Number,
The process that is performed by DApp when it receives an access request is described next. The variables’ names used to define the AC policy are included. (1) The subject (reader) is verified based on two attributes: reader name (variable 01: “rdr_nm”, e.g., rdr_nm: “roomA”) and location (variable 02: “loc”, e.g., loc: “41.40338, 2.17403”)). (2) The company prefix (variable 03: “cmp_prf”, e.g., cmp_prf: 000389), the product type (variable 04: "item_ref", e.g., item_ref: 000162), the serial number of a specific asset (variable 05: “ser_nmb”, e.g., ser_nmb: 000169740) and the asset status (variable 06: “st”, e.g., st: “STERILIZED”) are verified. (3) The environmental condition is verified based on the time elapsed since an asset is sent to an existing reader in a medical room (through a transaction) and that reader receives the request for access to that asset (tag). The environmental condition is approved if the interval is less than 10 min (600 s). This time is set for moving assets between locations once the transaction has been invoked. In that sense, variable 07: “time_in” (e.g., time_in: 1,560,209,335) is the time record once the transaction is completed and variable 08: "time_out" (e.g., time_out: 1560209455) is the time given when the reader requests access to this RFID tag.
Based on the AC policy notation established in the reference [31], our AC policy C is defined in the Expression (3).
We decided to implement the AC policy on the DApp and not as part of the smart contract for two reasons. Firstly, as we indicated in Table 3, one of the constraints of a public blockchain is the speed, so if the AC policy is executed as part of the smart contract, it would lead to a delay. Secondly, since smart contracts are public the AC policy would be exposed. In this way, one of the future research lines is the implementation of this model in a private blockchain (e.g., HFB); so that the AC policy can be located within the smart contract (chaincode) in order to analyze these results.
C = { T u r e ,    i f : ( rdr nm = roomA loc = 41.40338 , 2.17403 . cmp _ pfr = 000389 iem _ ref = 000162 ser _ nmb = 000169740 st = STERILIZED time _ out time _ in 600 ) F a l s e ,    o t h e r w i s e

3.3 Technical Implementation Details

The two previous sub-sections allowed respectively to define the general functioning of our ABAC model and to detail how the AC policy is executed in the DApp; therefore, it is time to present our system in detail. In order to better understand it, it begins with a summary of the main technologies used.
Table 4 summarizes the technologies used in each sub-systems and their associated blocks. Table 4 follows the Figure 4 design principles. For a better understanding of our work, the reference [32] is a film reference included as external document.
Table 4. Technologies used.
In order to analyze the technical implementation details, Figure 4 shows the specific architecture of our system, which consists of three sub-systems: ABAC configuration, ABAC execution and ETH blockchain monitoring.

3.3.1. ABAC Configuration

The ABAC configuration sub-system includes a graphical interface (GUI), based on ReactJS (https://reactjs.org/) web technology that is launched from a browser (Figure 5). This GUI includes two views (Figure 5). Since a demonstration environment is presented, the two views are included within the same browser window, however as it is detailed, each view has its own functionality. The first view allows an authorized employee to add new assets to the system. This employee introduces the code of the company prefix, the code of the product type, the asset ID (e.g., serial number) and so on (Figure 5). Each time a new asset is stored in the ETH blockchain, a new transaction is generated. In order to transfer an asset between rooms the authorized employee first needs to verify the ID (e.g., serial number) of the asset, through a simple query to the blockchain via smart contract. To do this, the authorized employee uses the button (“VERIFY ID”) of the second view. This blockchain query does not generates transactions. Next, the same second view enables the transfer assets from the source room (e.g., sterilization area) to the destination room (e.g., surgery room), before attributes values, such as asset status (e.g., “STERILIZED”) and timestamp are updated (Figure 5). This action is carried out from “TRANSFER ASSET” button. Since asset transfer involves changes (e.g., room, status, timestamp) new transactions are generated via smart contract. Details of blockchain interface operation are analyzed in the following sub-section.
Figure 5. Graphical interface (GUI) of ABAC configuration sub-system.

3.3.2. ABAC Execution

The ABAC execution sub-system contains a smart oracle to permit or deny asset access and it is located in each of the medical rooms. Our smart oracle includes the RFID reader, the LLRP server, the attribute parser (AP), the ABAC security policy (ABAC-SP) and the blockchain interface (BI). The AP, the ABAC-SP and the BI comprise the DApp access control execution (Figure 4, ABAC execution sub-system) and RFID-RC includes the RFID reader and the LLRP server (Figure 4, ABAC execution sub-system).
The RFID reader interacts directly with the tagged assets and the LLRP server. LLRP is a protocol that EPC global ratified as a standard that constitutes an interface between the reader and its software or control hardware [37]. The protocol sends XML (eXtensible Markup Language) messages between the client (e.g., RFID reader) and the server (e.g., LLRP server). To develop our proof of concept (PoC) we use an open source tool, as known as Rifidi ([38]), that create a virtual reader and RFID tags based on SGTIN96 standard. Details of the project that supports it, as well as the getting started guide are located in [33]. In addition, since our LLRP server is based on the standard LLRP, it is agnostic to any RFID reader that supports the LLRP protocol such as Motorola FX7400, Intermec IF61and Impinj Speedway.
The AP receives the RFID Tag EPC from the LLRP server and uses a GTIN conversion system, based on a NodeJS library [34], which allows transforming the RFID TAG EPC code to the EPC Tag URI (Uniform Resource Identifier) (e.g., Expression (4)). AP filters the attributes: Company Prefix (variable “cmp_prf” in AC policy), Product Type (variable “item_ref” in AC policy) and Serial Number (variable “ser_nmb” in AC policy). In addition, AP controls other attributes such as timestamp (variable “time_out" in AC policy), reader name (variable “rdr_nm" in AC policy) and location (variable “loc" in AC policy).
RFID Tag EPC: 3074257bf7194e4000001a85
EPC Tag URI: urn:epc:tag:sgtin-96:3.0614141.812345.6789,
The BI is built based on the truffle framework, using the drizzle library to interact with the web3.js server. Drizzle is a collection of front-end libraries that enable writing DApp front-end in an easier way [39]. The communication is performed between the parties via GET and POST methods. For instance, ABAC-SP determines whether asset access is permitted or denied, it sets a variable, which is sent via POST method to the LLRP server. Therefore, the LLRP server sends an XML "keepAlive" message (Figure 6) to maintain the interaction with the RFID tag or simply disconnects it.
Figure 6. (eXtensible Markup Language) XML keepAlive messages to permit the access.
To execute the AC policy established by the Expression (3), ABAC-SP matches the attributes from the AP with the attributes queried from the blockchain.

3.3.3. Ethereum (ETH) Blockchain Monitoring

Although this sub-system is an integral part of our implementation ([32]), how the following section is dedicated i.e., it enumerates and describes the monitoring tools of our system in order to verify its feasibility, we have preferred to set the analysis of this sub-system as part of the successive sections. In that sense, Figure 7 represents the monitoring tool ETH Network Stats, which as part of this sub-system.
Figure 7. ETH Developer tools List.

4. Evaluation Methodology

In order to evaluate the feasibility of our proposal, it is necessary to indicate first that our model has been deployed in two environments, one based on local blockchain and the other based on a Testnet blockchain.
In the first case, an ETH node was deployed, although it included the property of no discover, making it impossible to connect to the Mainnet. The expression (5) is a sample of the command deployed based on geth (https://geth.ethereum.org/) client (main ETH client).
geth --datadir data --unlock 0x8a6d63ea98e05a550b01f8aa4a19021e43bd43f0 --networkid 123456 ----ws –wsaddr 192.168.127.95 --wsport 8546 --wsorigins "*" –rpc –rpcaddr 192.168.127.95 --rpcport 8545 --rpccorsdomain "*" --nodiscover console 2>> ETH.log,
In the second case, to scale our system, as mentioned above, we use Ropsten as Testnet. Some of the advantages that have allowed us to select this network over others like Kovan, Rinkeby and Sokol are:
(1) It better reproduces the current production environment, i.e., the system and network conditions in the Mainnet, since it employs the proof of work (PoW) as the consensus algorithm between the nodes.
(2) It can be used with both geth client and parity client.
(3) It enables to join its own node to the network, i.e., to participate in the PoW or simply request the ether from a faucet (https://faucet.metamask.io).
To access the network it is necessary to create an Infura project, which generates the endpoint URL (for example, the expression (6)) used in the configuration files of our system (truffle-config.js). Next is a detail of the tools used and then the features that are measured:
ropsten.infura.io/v3/fa42299dbea54014801bc4145d7a1a1e,

4.1 Evaluation Tools

First, we present the tools used to evaluate our system: ETH Network Stats, Etherscan, Truffle Test, and Infura Dashboard. These tools have been deployed both for the local environment and for the Testnet. The exception is Infura which is a tool that is only associated with the Testnet. Below is a brief description of the tools.
ETH Network Stats is a tool composed by a front-end Ethereum Network Stats [35] and a back-end Ethereum Network Intelligence API [36]. This is a visual interface for tracking Ethereum network status. It uses WebSockets to receive stats from running nodes and output them through an angular interface. Both servers are installed locally. This tool was presented as part of the sub-system ETH blockchain monitoring. ETH Network Status ([40]) is the equivalent to ETH Network Stats, but used to the Ropsten Testnet.
Etherscan Ropsten Testnet Network ([41]) is a tool that we will use to monitor the state of the blockchain and the transactions that are stored in it. This tool presents an equivalent for the local environment, which it is installed as a server.
Infura Dashboard is a response to developer demand for a better understanding of how to improve DApps. The following reference [42] mentions that it has been recently updated, enabling us to obtain relevant information about calls to web3.js methods, which allow for some type of interaction (e.g., generating a transaction) with Ropsten Testnet.
Truffle test is combined with the data obtained from contract migration process in order to improve the data analysis. Truffle comes standard with an automated testing framework to make testing the smart contracts easy. This framework lets it write simple and manageable tests in JavaScript or Solidity. The JavaScript way is used from the outside world, just like an application. The Solidity way is used in bare-to-the-metal scenarios. Truffle test has been deployed for both the local environment and the Ropsten Testnet.
The Table 5 summarizes these tools with application environment and the main features measured.
Table 5. Tools used to test the proposal.

4.2. Measurements

We consider the analysis as integral because can test each part of the implementation, i.e., from network monitoring, with features like the number of nodes and the network hashrate to the delay of the smart contract application and the bandwidth consumption for each web3.js methods. Below we present the main parameters that can be monitored through the tools listed in the previous sub-section. Considering the main characteristics associated with each tool, Figure 8 establishes the logical order of use of these tools with respect to the features analyzed.
Figure 8. Sequence diagram of tested features and used tools.
ETH Network Stats and ETH Network Status allow measurement of a wide range of parameters within the ETH network. These parameters focus mostly on network status (Table 5). Some of the parameters that can be measured are number of successfully mined blocks, presence of uncle blocks, mined time of the last mined block, average mined time, average network hash-rate, difficulty, active nodes, gas price, gas limit, page latency, uptime, node name, node type, node latency, peers connected to one node and some others. Figure 7 illustrates the tool in use, accessed from the browser from a private IP on port 3000.
As we mentioned Etherscan allows extraction of information relative to the blockchain (Table 5). Within the parameters that can be obtained are account balance, account info, transaction hash, block number, type of token (e.g., Erc20), average gas used, transaction costs and transaction fee.
Infura Dashboard allows obtaining a wide range of parameters such as: the total number of methods called, the bandwidth consumed by each of the methods used and the total bandwidth consumed. Therefore, the main feature measured is the bandwidth (Table 5).
As mentioned, the truffle test is a framework that allows running tests on smart contracts. For our case of use, the parameters we measure are time of data query, time and cost of data insertion and time of full test. In addition, these data are combined with the data obtained from contract migration process. Therefore, other parameters measures are gas and time spend to deploy the contract. The results obtained are presented below.

5. Results

Based on the analysis performed in the previous section, the results are presented for each of the tools.
ETH Network State and ETH Network Status enables monitoring the network all the time. For example, at the time of analysis the Testnet Ropsten has mined 5,931,224 blocks, has 14 active nodes, the average block time is 14.04 s, the average network hashrate is 120.1 MH/s, and the difficulty is 2.16 GH. These parameters can be contrasted with those shown in Figure 7 for our locally deployed blockchain. For instance, at the time of analysis our local blockchain has mined 6967 blocks, has only one active node (our node), the average block time is 27.45 s, the average network hashrate is 142 KH/s and the difficulty is 1.43 MH. As a conclusion, it is visible that the power of mining and therefore the resources available to our local device are much less than those presented by the public network. This is an expected result.
Etherscan Ropsten Testnet Network ([41]), which allows us to have a view of all transactions that have been executed from our test address (e.g., 0xe8d5487caebfb3f3e93304161cad0d5d3078b033). Other attributes that can be verified are the status of each of the transactions, the block where the transaction has been assigned, the gas percentage used (e.g., average gas used 66.67% of the established limit value), transaction costs and fee, as well as the nonce used in the PoW. Similar behaviors are obtained for the tool used locally.
Figure 9 is taken from the Infura dashboard and it details the main methods called by the web3.js library in order to interact with the blockchain via Smart Contract, as well as the bandwidth they spend. Clearly, there is a relationship between the method that infura detects and the method we use in our blockchain interface (BI) based on the truffle-drizzle framework, only that Infura perceives JSON (JavaScript Object Notation) RPC (Remote Procedure Call) API (https://github.com/ethereum/wiki/wiki/JSON-RPC) methods based on web3.js library and, since truffle-drizzle works with promises and web3.js works with callback, truffle-drizzle framework uses functions like cacheSend. Calling the cacheSend function on a contract will send the desired transaction and return a corresponding transaction hash so the status can be retrieved from the store. The procedure mentioned at web3.js level is performed by eth_getTransactionByHash, however since we work at a higher level, our cacheSend function agglutinates this and other methods. On the other hand, when performing debugging via node inspect tool on the migration process (truffle migrate), it is determined that both methods: getTransactionReceipt and eth_getCode are used. This highlights the importance of the Infura dashboard and details the consumptions made by the methods at a low level. In addition, Infura dashboard includes other relevant information such as peak (e.g., 183.33 MB) and average (e.g., 9.11 MB) hourly bandwidth usage and so on.
Figure 9. Infura dashboard tool: top five methods call bandwidth usage.
In order to examine our smart contract, we have established a combination of tests between the truffle test frame and the data obtained from the contract migration process. Therefore, Figure 10 shows the succession of the applied mechanism in order to check the feasibility. The data received are shown in Table 6, which compares data insertion time, data query, time gas used and time to pass the full test. Expression (7) is used to calculate the percent. Since, the times achieved are not deterministic, was taken both best and worst times. The test process performed is described below.
(Local_network_time/Ropsten_network_time) × 100,
Figure 10. Sequence diagram of truffle test and contract migration.
Table 6. Truffle test results, local network vs. Ropsten network.
Our model initiates by recovering the migration time from the contract, which is not deterministic and it establishes a considerable delay between migrations in a local environment and migration in the Ropsten Testnet. Although it is a time to consider, it is not decisive to evaluate the feasibility of the system, since its implementation is prior to the deployment of the system. Because the same smart contract is employed in both environments, the costs and computational power required for the deployment match.
Another essential requirement is the insertion time of the asset attributes. The set_method is used to send attributes to the deployed smart contract and it waits for blockchain response. This procedure is equivalent to the mentioned one for inserting data via GUI (ABAC configuration sub-system, Figure 5). Although the delay between the local environment and the Ropsten Testnet is evident (Table 6), this metric will not cause a delay in the execution of the AC policy. As mentioned above, data insertion involves the generation of transactions and, therefore, associated costs, which is an indispensable measurement, so the get_transaction method is applied. We consider that since the same smart contracts deployed in different environments, the transaction cost is equivalent.
The decisive metric (delay requirement over AC policy) is the query of assets data. Therefore, it is essential to execute the get_method function and wait for the delay value (Table 6). For this reason, we can conclude that the implementation of our system is technically feasible. Since the Ropsten Testnet is less stable than the Mainnet because of the smaller number of nodes joining that network, and, therefore, less computational power, as discussed in tool one (ETH Network Status), these delay would be less in a Mainnet.

6. Conclusions

The growing adoption of RFID systems in healthcare is evident. Based on interviews with specialists we determine the implementations needs of a trust tracking and tracing system of medical assets. Our proposal is an access control system of a healthcare asset in order to prevent unwanted assets from entering the wrong area because of human error or an external threat. Therefore, it is a prevention system that aims to solve both security and safety risks. Traditional access control systems are based on role-based access control (RBAC) and centralized architecture. From the technical point of view, our proposal consists of an attribute-based access control (ABAC) system for RFID systems that executes access control (AC) policies from a decentralized application (DApp) based on a blockchain architecture. This model is a proof of concept in both a local environment (single node) and in a public environment (Ropsten Testnet) and although the technological feasibility for its eventual production implementation is demonstrated, it requires a viable underlying business model. In order to demonstrate the implementation feasibility were used four recommended tools: ETH Network Status, Etherscan Ropsten Testnet Network, Infura dashboard and truffle test.
Future research lines are firstly, to establish a comparison between systems based on Hyperledger Fabric Blockchain and other with Ethereum blockchain. One of the common criteria in order to establish a comparison is the ABAC policy as part of the contract (Chaincode and Smart Contract). Secondly, to consider an application environment based on the public blockchain with a base on a tokenization environment. Thirdly, the creation of a robust mutual authentication RFID protocol that works together with our ABAC blockchain system in order to build a secure supply chain system. Finally, to extend ABAC and RBAC blockchain concept to industrial manufacturing and automation environments. Recently, modbus.org has established security requirements, which include RBAC authentication based on X.509v3 certificates.

Author Contributions

Investigation, S.F., J.A. and S.A.; Methodology, J.A. and S.A.; Software, S.F.; Supervision, J.A. and S.A.; Validation, J.A. and S.A.; Writing—original draft, S.F.; Writing—review & editing, J.A. and S.A.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wamba, S.F.; Anand, A.; Carter, L. A literature review of RFID-enabled healthcare applications and issues. Int. J. Inf. Manag. 2013, 33, 875–891. [Google Scholar] [CrossRef]
  2. Thiesse, F.; Floerkemeier, C.; Harrison, M.; Michahelles, F.; Roduner, C. Technology, Standards, and Real-World Deployments of the EPC Network. IEEE Internet Comput. 2009, 13, 36–43. [Google Scholar] [CrossRef]
  3. Guinard, D. GS1 blog series: Everythng and GS1 in a nutshell. 2017. Available online: https://evrythng.com/platform/evrythng-gs1-in-a-nutshell/ (accessed on 25 March 2019).
  4. GS1. GS1’s Framework for the Design of Interoperable Traceability Systems for Supply Chains. GS1 Glob. Traceabil. Stand. 2017, 102, 1–58. Available online: https://www.gs1.org/sites/default/files/docs/traceability/GS1_Global_Traceability_Standard_i2.pdf (accessed on 25 March 2019).
  5. Hrabina, M. Taking Advantage of RFID’s Expanding Role in Medical Devices. 2017. Available online: https://www.meddeviceonline.com/doc/taking-advantage-of-rfid-s-expanding-role-in-medical-devices-0001 (accessed on 10 March 2019).
  6. Figueroa Lorenzo, S.; Añorga Benito, J.; García Cardarelli, P.; Alberdi Garaia, J.; Arrizabalaga Juaristi, S. A comprehensive review of RFID and bluetooth security: Practical analysis. Technologies 2019, 7, 15. [Google Scholar] [CrossRef]
  7. Griffin, P.H. Secure authentication on the Internet of Things. In Proceedings of the IEEE SoutheastCon 2017, Charlotte, NC, USA, 30 March–2 April 2017; pp. 1–5. [Google Scholar]
  8. Floerkemeier, C.; Roduner, C.; Lampe, M. RFID application development with the Accada middleware platform. IEEE Syst. J. 2007, 1, 82–94. [Google Scholar] [CrossRef]
  9. The Global Language of Business. GS1, EPCglobal. 2019. Available online: https://www.gs1.org/epcglobal (accessed on 9 June 2019).
  10. EPCglobal. The Application Level Events (ALE) specification. Interface 2009, 1–229. Available online: https://www.gs1.org/sites/default/files/docs/epc/ale_1_1_1-standard-core-20090313.pdf (accessed on 9 June 2019).
  11. EPCglobal. The Application Level Events (ALE) Specification Version 1.1.1 Part II: XML and SOAP Bindings. 2009, pp. 1–119. Available online: https://www.gs1.org/sites/default/files/docs/epc/ale_1_1_1-standard-XMLandSOAPbindings-20090313.pdf (accessed on 9 June 2019).
  12. Tounsi, W.; Cuppens-Boulahia, N.; Cuppens, F.; Garcia-Alfaro, J. Fine-grained privacy control for the RFID middleware of EPCglobal networks. In Proceedings of the Fifth International Conference on Management of Emergent Digital EcoSystems, Luxembourg, 28–31 October 2013; pp. 60–67. [Google Scholar]
  13. Contu, R.; Kavanagh, K.M. Market Trends: Cloud-Based Security Services Market, Worldwide. 2013. Available online: https://www.gartner.com/en/documents/2607617/market-trends-cloud-based-security-services-market-world (accessed on 9 June 2019).
  14. Ekran System. Role-Based Access Control vs Attribute-Based Access Control: How to Choose. 4 February 2019. Available online: https://www.ekransystem.com/en/blog/rbac-vs-abac (accessed on 11 June 2019).
  15. Hu, V.C.; Friedman, A.R.; Lang, A.J.; Cogdell, M.M.; Scarfone, K.; Kuhn, R. Guide to Attribute Based Access Control (ABAC) Definition and Considerations; Spec. Publ. 800-162; National Institute of Standards and Technology: Gaithersburg, MA, USA, 2019. [Google Scholar]
  16. Coyne, E.; Weil, T.R. ABAC and RBAC: Scalable, flexible, and auditable access management. IT Prof. 2013, 15, 14–16. [Google Scholar] [CrossRef]
  17. Ong, M.T.; Sridharan, R.V.; Nakamura, J.; Ohmura, R.; Sidorov, M.; Khor, J.H. Ultralightweight mutual authentication RFID protocol for blockchain enabled supply chains. IEEE Access 2019, 7, 7273–7285. [Google Scholar]
  18. Ouaddah, H.; Mousannif, A.; Elkalam, A.; Ait Ouahman, A. Access control in the Internet of Things: Big challenges and new opportunities. Comput. Netw. 2017, 112, 237–262. [Google Scholar] [CrossRef]
  19. Ouechtati, H.; Ben Azzouna, N. Trust-ABAC towards an access control system for the Internet of Things. In Proceedings of the International Conference on Green, Pervasive, and Cloud Computing, Cetara, Italy, 11–14 May 2017; pp. 75–89. [Google Scholar]
  20. Hemdi, M.; Deters, R. Using REST based protocol to enable ABAC within IoT systems. In Proceedings of the IEEE 7th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON), Vancouver, BC, Canada, 13–15 October 2016; pp. 1–7. [Google Scholar]
  21. Pervez, H.; Muneeb, M.; Irfan, M.U.; Haq, I.U. A comparative analysis of DAG-based blockchain architectures. In Proceedings of the 12th International Conference on Open Source Systems and Technologies (ICOSST), Lahore, Pakistan, 19–21 December 2018; pp. 27–34. [Google Scholar]
  22. Gatteschi, V.; Lamberti, F.; Demartini, C.; Pranteda, C.; Santamaría, V. To Blockchain or not to Blockchain: That is the question. IT Prof. 2018, 20, 62–74. [Google Scholar] [CrossRef]
  23. Di Francesco Maesa, D.; Mori, P.; Ricci, L. Blockchain based access control. Lect. Notes Comput. Sci. 2017, 10320 LNCS, 206–220. [Google Scholar]
  24. Hwang, D.; Choi, J.; Kim, K.H. Dynamic access control scheme for IoT devices using blockchain. In Proceedings of the International Conference on Information and Communication Technology Convergence (ICTC), Jeju, Korea, 17–19 October 2018; pp. 713–715. [Google Scholar]
  25. Cruz, P.; Kaji, Y.; Yanai, N. RBAC-SC: Role-based access control using smart contract. IEEE Access 2018, 6, 12240–12251. [Google Scholar] [CrossRef]
  26. Zhu, Y.; Qin, Y.; Gan, G.; Shuai, Y.; Chu, W.C.C. TBAC: Transaction-based access control on blockchain for resource sharing with cryptographically decentralized authorization. In Proceedings of the IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), Tokyo, Japan, 23–27 July 2018; Volume 1, pp. 535–544. [Google Scholar]
  27. Gartner. Blockchain: What’s Ahead? 2019. Available online: https://www.gartner.com/en/information-technology/insights/blockchain (accessed on 10 June 2019).
  28. Blockchain, C. Tokenization of Financial Assets: Financial Blockchain Revolution. 30 January 2019. Available online: https://medium.com/@credits/tokenization-of-financial-assets-financial-blockchain-revolution-bc632e75c8 (accessed on 10 June 2019).
  29. Yasri, D. Revolutionizing Healthcare with Tokenization. 2018. Available online: https://medium.com/pikciochain/revolutionizing-healthcare-with-tokenization-d4d36a2ca6fe (accessed on 10 June 2019).
  30. Sazandrishvili, G. Asset Tokenization on Blockchain Explained in Plain English. 19 May 2018. Available online: https://medium.com/coinmonks/asset-tokenization-on-blockchain-explained-in-plain-english-f4e4b5e26a6d (accessed on 10 June 2019).
  31. Samarati, P.; de Vimercati, S.C. Access Control Policies, Models, and Mechanisms. In International School on Foundations of Security Analysis and Design; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
  32. Lorenzo, S.F.; Añorga, J.; Arrizabalaga, S. An Attribute-Based Access Control model in RFID systems based on blockchain Decentralized Applications for healthcare environments (video demonstration). 2019. Available online: https://zenodo.org/record/3339217 (accessed on 10 July 2019).
  33. Transcends. RIFIDI Community Wiki. 30 March 2019. Available online: http://wiki.rifidi.net/index.php/Main_Page (accessed on 11 June 2019).
  34. Serme, node-epc. GitHub, Romania, 2016; p. 1. Available online: https://github.com/sarme/node-epc (accessed on 10 June 2019).
  35. Cubedro, M.O. Ethereum Network Stats. GitHub, Romania, 2016. Available online: https://github.com/cubedro/eth-netstats (accessed on 10 June 2019).
  36. Cubedro, M.O. Ethereum Network Intelligence API. Romania, 2016. Available online: https://github.com/cubedro/eth-net-intelligence-api (accessed on 10 June 2019).
  37. llrp.org. LLRP Toolkit. 1 December 2008. Available online: http://llrp.org/ (accessed on 11 June 2019).
  38. Huebner, A.; Facchi, C.; Janicke, H. Rifidi toolkit: Virtuality for testing RFID systems. In Proceedings of the Seventh International Conference on Systems and Networks Communications (ICSNC 2012), Lisbon, Portugal, 18–23 November 2012; pp. 1–6. [Google Scholar]
  39. GitHub. Truffle Blockchain Group 2019. Drizzle. 2019, p. 1. Available online: https://github.com/trufflesuite/drizzle (accessed on 11 June 2019).
  40. Cubedro, M.O. Ropsten Stats. 2019. Available online: https://ropsten-stats.parity.io/ (accessed on 7 June 2019).
  41. Ethereum Community. Etherscan Ropsten Testnet Network. 2019. Available online: https://ropsten.etherscan.io/ (accessed on 13 June 2019).
  42. Wuehler, M. Infura Dashboard Update. Infura Blog. 2018. Available online: https://blog.infura.io/infura-dashboard-update-9f02d0643eb3 (accessed on 6 July 2019).

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.