Next Article in Journal
Monitoring of Indoor Farming of Lettuce Leaves for 16 Hours Using Electrical Impedance Spectroscopy (EIS) and Double-Shell Model (DSM)
Next Article in Special Issue
Offline User Authentication Ensuring Non-Repudiation and Anonymity
Previous Article in Journal
Correction and Accuracy of PurpleAir PM2.5 Measurements for Extreme Wildfire Smoke
Previous Article in Special Issue
Underlying Security Transmission Design for Orthogonal Time Frequency Space (OTFS) Modulation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Traceable Vaccine Supply Management System

1
School of Computer and Information Engineering, Xiamen University of Technology, Xiamen 361024, China
2
School of Information Engineering, Changchun Sci-Tech University, Changchun 130600, China
3
Department of Computer Science and Information Engineering, Chaoyang University of Technology, Taichung 41349, Taiwan
4
Bachelor Degree Program of Artificial Intelligence, National Taichung University of Science and Technology, Taichung 40401, Taiwan
5
Department of Information and Communication Engineering, Chaoyang University of Technology, Taichung 41349, Taiwan
*
Authors to whom correspondence should be addressed.
Sensors 2022, 22(24), 9670; https://doi.org/10.3390/s22249670
Submission received: 9 November 2022 / Revised: 5 December 2022 / Accepted: 7 December 2022 / Published: 10 December 2022
(This article belongs to the Special Issue Security and Communication Networks)

Abstract

:
Everyone should be vaccinated, but the eligibility and safety of the vaccine are always overlooked by most people. The outbreak of COVID-19 has led many countries to intensify the development and production of the COVID-19 vaccine. and some countries have even required universal vaccination against this epidemic. However, such popularization of vaccination has also exposed various flaws in vaccine management that existed in the past, and vaccinators have become more concerned about the effectiveness of their vaccinations. In this paper, we propose a blockchain-based traceable vaccine management system. First, the system uses smart contracts to store the records generated during the whole process, from vaccine production to vaccination. Second, the proposed scheme uses the Edwards-curve digital signature algorithm (EdDSA) to guarantee the security and integrity of these data. Third, the system participants can access the corresponding data according to their authority to ensure the transparency of the whole system operation process. Finally, this paper will also conduct a security analysis of the whole system to ensure that the system can resist potential attacks by criminals.

1. Introduction

1.1. Background

Since ancient times, humans have been constantly battling infectious diseases. Over thousands of years, many infectious diseases have devastated human society. The Black Death that struck Europe in 1347 claimed at least 25 million fresh lives in just four years, which is almost 40% of the total population of Europe [1]. The Spanish flu of 1918 infected about a quarter of the world’s population at that time, causing about 50 million deaths [2]. The smallpox virus also caused about 400,000 deaths per year in 18th-century Europe [3]. However, from these tragic experiences, people have also come up with effective ways to combat infectious diseases. For example, the suppression of the Black Death was inseparable from the effective isolation of those infected with the Black Death by the government in the Middle Ages [4]. In addition, in 1796 the English physician Edward Jenner successfully prevented smallpox by implanting the cowpox virus into the human body; this material is also known as a vaccine [3]. Ever since then, vaccination, as an important part of modern disease control, has embodied the protection of susceptible people. The emergence of various vaccines against infectious diseases has also made vaccination the most economical and effective method of infectious disease prevention.
Nowadays, vaccination is closely related to people’s lives. Many countries have implemented free vaccination policies to reduce the likelihood of citizens contracting some common infectious diseases. On the other hand, people are generally in agreement with the act of vaccination. However, the management of vaccine-related records is still relatively backward. There are even some underdeveloped areas in the world that are still using the oldest paper form to record and save various messages about vaccines. This management of such a large number of records in physical form alone will inevitably lead to a series of huge safety risks for vaccine management. Meanwhile, the quality of vaccines in these less-developed regions will always be difficult to guarantee. Therefore, to address these problems, the World Health Organization (WHO) proposed a blueprint for improving global vaccine safety [5], emphasizing the need to safeguard vaccines in low- and middle-income countries (LMICs). In recent years, the rapid development of digital technology, such as the emergence of electronic health records (EHRs), has greatly facilitated the storage of medical data. Therefore, various types of vaccine-related records can be stored digitally in various government-run healthcare institutions. In this case, the safety of vaccines is generally ensured by governmental agencies, such as the lot release agency mentioned in the article [6], which conducts sampling surveys of vaccines, and only those vaccines that pass various quality tests can be sold. However, this way of managing vaccine information through a central institution also has many hidden dangers. For example, the failure of a single node will lead to the paralysis of the whole system [7,8], the increasing amount of various medical data will bring a huge burden to the servers of the central institution [8,9], and the central node is more vulnerable to the attacks of malicious nodes [10]. Supervision by central institutions likewise makes vaccine information highly opaque. If government regulation is not effective, vaccines that do not meet manufacturing standards will be extremely difficult to detect immediately. Once these fraudulent vaccines reach the market, they will cause great harm to the people and will bring a crisis of confidence to the government and the vaccine industry, in turn. In addition, the global outbreak of the COVID-19 pandemic in early 2020 has made several countries require universal COVID-19 vaccination regulations and issue corresponding vaccination certificates to those who have received the vaccine, and only those who hold such certificates are permitted to enter public places [11,12,13,14,15]. While recommending countries use electronic vaccination certificates, WHO formed the Smart Vaccination Certificate consortium [16,17] as a way to monitor the COVID-19 vaccination programs of individual countries and prevent the further spread of the epidemic. The traditional centralized vaccine record management approach is not only difficult to meet the demand for the frequent recall of increasingly large vaccine data but also faces serious security and privacy challenges. Therefore, the technology of vaccine record management needs some revolution. The emergence of blockchain technology will be able to bring innovation to the storage of vaccine records. Blockchain technology was first proposed by Satoshi Nakamoto in 2008 [18]. The essence of Blockchain is a distributed ledger that was initially used as the underlying technology for Bitcoin. Due to its characteristics of decentralization, transparency, security, and anonymity, blockchain technology was soon applied in various fields, among which it has been widely used in the medical field, where information is highly sensitive [19,20,21]. Blockchain also plays a pivotal role in dealing with a similar pandemic, and the European Parliament even listed blockchain technology as one of the top ten technologies that could effectively mitigate the impact of the COVID-19 epidemic [22].
In summary, a blockchain-based vaccine information management system is proposed in this paper. Our research goals are as follows:
  • The records generated from the manufacture, procurement, distribution, and vaccination up to the diagnosis of vaccine side effects and the identity information of each player will be permanently stored in the blockchain system. All information is guaranteed with integrity and security. In addition, each user in the system can trace the corresponding records based on his or her identity, ensuring the transparency of the whole system.
  • The use of Burrows-Abadi-Needham (BAN) logic ensures that two unfamiliar nodes confirm each other’s identity, ensuring the authenticity of each other’s identity and the trustworthiness of the information exchanged between nodes.
  • The system using blockchain can resist potential risks, such as replay attacks and man-in-the-middle attacks.

1.2. Related Works

Since Mettle [23] first proposed the application of blockchain in healthcare, numerous scholars have researched the application of blockchain technology in healthcare and have agreed that blockchain technology can make great contributions to improving the quality of healthcare services and enhancing the security of healthcare data. Gorden et al. [9] argued that all kinds of interoperability within the healthcare system would change from traditional institution-driven to patient-driven. They focus on the significant contribution that blockchain technology can make to this patient-driven model of healthcare interactions. Because of the revolution that blockchain can bring to the healthcare field, many articles have proposed corresponding blockchain-based healthcare systems. Azaria et al. [24] proposed a system called MedRec, which uses a permissioned blockchain to manage electronic medical records (EMRs). MedRec protects the security and integrity of EMRs while making them traceable by specific roles through authorization, and the ledgers generated during the operation of the system will be audited in case of disputes. However, the system is only a prototype without a working model, and the local storage of huge amounts of medical data is not reasonable. However, the scheme has no working model, and the local storage of massive amounts of medical data is not reasonable. Zhang et al. [20] developed a blockchain-based app named FHIRChain. The app normalizes and stores clinical data in Fast Healthcare Interoperability Resources (FHIR) standards. To solve the problem of clinical data silos, FHIRChain uses public keys to represent the identity of app users, thus ensuring that these standardized clinical data can be securely shared among authenticated medical personnel. Moreover, the article diagrams the components of the app and the user registration and authorization processes. However, the scheme does not perform a security analysis. Kumar et al. [25] designed a medical data-sharing system using Hyperledger Fabric. Each transaction in the system will be protected by an identity-based broadcast group signcryption scheme (IDBGSC). After passing the Practical Byzantine Fault Tolerance (PBFT) consensus protocol, the transaction information will be written into the ledger, which ensures that the security and integrity of these highly private medical data are guaranteed. The proposed system is then evaluated for security and performance to demonstrate its practical value. However, when the data in the system are disputed, it is not possible to quickly locate the actual signed individual users in the group. Kumar et al. [26] used federated chains and IPFS technology to manage patient information in a distributed manner. The system can easily store huge and cumbersome medical information under the chain, while the chain order stores the content that addresses the hashes of the files. This not only improves the system throughput but also makes the authorization of private information more convenient. However, the article has fewer parts for information security analysis and does not mention how to prevent some common attacks.
However, in contrast to the high enthusiasm of people studying how to use blockchain technology to secure healthcare data, researchers are less likely to think about how the technology can be used to secure vaccine-related information [27,28]. Sigwart et al. [27] suggested the possibility of applying blockchain technology to the vaccine supply chain, but a specific architectural part is missing. Yong et al. [28] proposed a system based on blockchain technology and machine learning to secure vaccines. Each vaccine has an exclusive Radio Frequency Identification (RFID) to prevent the possibility of vaccine information being falsified. The vaccine-related information recorded in the system can also be traced by consumers and regulators, solving problems such as vaccine expiration or vaccine information forgery. However, the article lacks an analysis of potential attacks.
Nevertheless, since the worldwide outbreak of the COVID-19 epidemic in 2020, many countries have had considerable requirements for vaccination and the checking of vaccination certificates against the pandemic [11,12,13,14,15,16,17]. These works on how to use blockchain to ensure the security of the vaccine and its related information also launched a fierce discussion [29,30,31,32,33]. Ricci et al. [29] referred to the feasibility of applying blockchain technology in the transport of the COVID-19 vaccine and proof of COVID-19 vaccination. Deka et al. [30] proposed a method to maintain individual vaccination records and proof of immunization by introducing blockchain technology. Then, the vaccination records and proofs stored in the system are managed through IPFS. However, the content lacks a detailed description of the entire vaccine data management process. Antal et al. [31] used smart contracts to monitor vaccine distribution and vaccination. Every vaccine has its corresponding batch number, and temperature changes are constantly monitored by temperature sensors during the storage and transportation of the vaccine. Vaccine recipients can also trace the lot identification of the vaccine they received and access vaccine-related information after vaccination. Chauhan et al. [32] used smart contracts to implement four aspects of the system: registration of each role, monitoring of the vaccine distribution process, tamper-proofing of vaccine information, and vaccination feedback. The registration of each role will hash the private key of the role with its address and generate a unique QR code based on this hash value. Users can access the system based on their QR codes. However, both of the above articles are missing part of the security analysis. Chen et al. [33] proposed a blockchain-based vaccine record storage system. Although the system has a more complete system architecture and security analysis, the system has a complete framework and security analysis. The security of the elliptic curve digital signature algorithm (ECDSA) is not strongly guaranteed, and the proposed method involves the vaccination phase.
The remaining sections of this article are organized as follows. Section 2 briefly introduces the techniques mentioned in the article. Section 3 describes the details of the system design in detail. Section 4 provides a security analysis of the proposed scheme. Section 5 then analyzes the performance of the system. Finally, Section 6 concludes the paper to some extent.

2. Preliminary

2.1. Smart Contract

The concept of a smart contract was first introduced by Nick Szoba [34] and is essentially a computer program or transaction protocol that can be executed spontaneously. A smart contract can reduce the involvement of third-party intermediaries. As long as the participants reach an agreement with each other, the smart contract can be executed spontaneously according to the protocol. With the emergence of Ethereum [35], smart contracts have often been used in blockchains. Because of the feature that smart contracts can be executed spontaneously as long as the conditions are met, they reduce the possible omissions caused by manual operations in the system and also improve the operational efficiency of the blockchain system. In addition, because smart contracts do not require the participation of third-party trust institutions, the security and privacy of data are further ensured. On the other hand, smart contracts do not require the participation of third-party trust institutions, and the security and privacy of data are further ensured.

2.2. EdDSA

The Edwards-curve digital signature algorithm (EdDSA) was proposed by Bernstein et al. [36] in 2012. EdDSA uses a variant of the Schnorr signature based on twisted Edwards curves [37]. It has high performance across platforms while ensuring high security. Crucially, the random number value of the EdDSA is taken concerning the private key of the node and the content of the message sent, which overcomes the random number quality problem present in the ECDSA and the digital signature algorithm (DSA). Sony Corporation has caused a large number of cracks in Play Station 3 due to the random number quality problem of ECDSA [38].

2.3. BAN Logic

Burrows-Abadi-Needham (BAN) logic is a rule proposed by Burrows et al. [39] in 1990 for defining and analyzing message exchange protocols. This helps the user determine that the information exchanged is trusted and that the process of exchanging information is without eavesdropping by third parties. To apply BAN logic, it is necessary to first transform the messages in the protocol into formulas in BAN logic and then make reasonable assumptions based on the specific situation.

2.4. Security Requirements

A system is always exposed to many risks, such as attacks by criminals and data leakage, so it is essential to analyze the potential risks. The vaccine management system proposed in this paper faces the following potential risks:
  • Mutual authentication: The exchange of data is necessary for the operation of the system. To guarantee the security and privacy of the exchanged information, both parties need to authenticate the identity of the other node.
  • Integrity: The integrity of the data exchanged throughout the vaccine management system should be ensured to prevent possible data tampering and loss.
  • High-quality random number: The system needs to generate high-quality random numbers to ensure that the digital signature is not easily forged, thereby ensuring the security of the whole system.
  • Non-repudiation: Each node should not deny its actions and send messages.
  • Man-in-the-Middle Attacks: Illegal third-party nodes intercept and obtain the messages being exchanged between two communicating parties in some way.
  • Replay attack: The attacker pretends to be a legitimate message sender and sends a message to the receiving node that it has received. This process can easily cause the disclosure of node identity information.
  • Sybil attack: Sybil attack is an online network security system threat in which an attacker attempts to control a network by creating multiple fake account identities, multiple nodes, or computer coordinates.

3. Method

In this section, some specific details of the system implementation will be covered. The first thing that needs to be discussed is the system architecture of the system. Some notations of the system will also be listed below.

3.1. System Architecture

The study proposes a blockchain-based record storage and sharing system for vaccines from production to vaccination. Figure 1 shows the main architecture of the system, which consists of six actors: the blockchain center, vaccine manufacturer, medical institution, medical personnel, vaccinated person, and arbitration institution. The detailed description is as follows.
  • Blockchain Center (BC): The blockchain center keeps most of the important information during the operation of the whole system. The registration of all nodes and the generation of public and private key pairs are done by this role. The mutual authentication between nodes will also be realized through the blockchain.
  • Vaccine Manufacturer (VM): A vaccine manufacturer is generally a third-party company that is qualified to manufacture vaccines. The vaccine is produced according to the vaccine procurement requirements of the medical institution. The vaccine manufacturer distributes the vaccine to the appropriate medical institutions in agreement with the medical institution. Moreover, it has regulatory responsibility for the transportation process.
  • Medical Institution (MI): Medical institutions purchase vaccines according to the targets given by the government. Upon receipt of the vaccine from the vaccine manufacturer, the medical institution is required to confirm the eligibility of the vaccine and store the vaccine. When the vaccine is about to be used, the medical institution needs to distribute the vaccine to the medical staff responsible for the vaccination.
  • Medical Personnel (MP): Medical personnel must be employed at the appropriate medical institution and have medical vaccination capabilities. After receiving the vaccines to be vaccinated on the day, medical personnel need to inoculate the vaccinated person.
  • Vaccinated Person (VP): Vaccinated persons are the group of people who are currently suitable for vaccination. Before vaccination, medical personnel will determine whether the vaccinated persons are eligible for vaccination by scanning the QR code. If vaccinated persons have some adverse reactions after vaccination, they will be required to submit details of the adverse reactions for further diagnosis.
  • Arbitration Institution (AI): In the case of a medical dispute that is difficult to reconcile, the arbitration institution will make a corresponding decision.
Figure 1 shows the scenario of the proposed scheme, which contains the business processes of user registration, vaccine procurement, vaccine distribution, vaccination, and side effect description. The details are as follows:
Step 1
Each role needs to register through the BC and obtain its corresponding public and private key pairs.
Step 2
The MI submits a vaccine request to a confirmed VM. Upon receiving the request, the VM verifies the identity of the MI. After confirming that the identity is correct, the VM starts to produce the vaccine and uploads the relevant data (vaccine lot number, vaccine manufacturer id, vaccine shelf life, etc.).
Step 3
Once the vaccine is made, the VM uploads the vaccine information to the BC and transports the vaccine to the corresponding MI. The vaccine transportation process requires strict compliance with transportation rules, such as the storage temperature range for each vaccine and the transport time requirements. After receiving the vaccine, the MI needs to verify that the vaccine information is correct. All related records need to be uploaded to the blockchain.
Step 4
MI needs to store vaccines after receiving them. Storage rules include a temperature between 2 °C and 8 °C, storage time cannot be longer than the remaining shelf life of the vaccine, etc. The information generated during storage needs to be uploaded to the BC. Then, the MI distributes the vaccine to be administered to qualified MP. After receiving the vaccine, the MP needs to confirm that the records related to the vaccine are accurate. Finally, the records in the blockchain are updated again.
Step 5
The VP goes to the vaccination site and submits his or her personal information and vaccination status to the MP before the vaccination. Vaccination can be carried out only after the MP has verified the information of the VP and confirmed that the VP is suitable for vaccination. After a vaccination is finished, the MP is required to update the vaccination information of the VP. The VP confirms that the vaccination information is correct. Then, the relevant records in BC will be updated.
Step 6
If a VP experiences side effects after receiving the vaccine, the VP must first provide the MP with his or her personal information, vaccination status, and details of the adverse reaction. After verifying the identity of the VP, the MP determines whether the adverse reaction is a vaccination side effect. If the adverse reaction is confirmed to be caused by the vaccination, the relevant records are uploaded to the BC. Meanwhile, the VP will receive further treatment.
Step 7
In the case of irreconcilable disputes throughout the system process, the arbitration department will obtain information from various parties for adjudication.

3.2. Notation

The notation of the proposed scheme is shown below:
I D X The identity of X
C e r t X The certificate of X
p A k-bit prime number
F p Finite group p
E The elliptic curve defined on finite group p
G A generating point based on E
b An integer b with 2 b 1 > p
h i The i th bit of the hash value
n An integer n with 3 n b
( d X , Q X ) The EdDSA private key and public key of X
R X , S X The EdDSA signature of X
( p k X , s k X ) The public key and private key of X
M X Y The message from   X     to     Y
E n c p k X M Encrypted the message M with the public key of X
D e c s k X M Decrypted the message M with the private key of X
H ( ) One-way hash function
r X The random value of X based on E
T X Timestamp message of X
T The threshold for checking the validity of timestamps
A = ? B Verify whether A is equal to B

3.3. Initial Phase

In this phase, we deployed a scalable blockchain center network based on the architecture of the Hyperledger Fabric, shown in Figure 2. The National Authority (NA) peer represents a peer controlled by government agencies, such as the Food and Drug Administration (FDA). These peers have the highest permission to use the system. The BCC also includes the certificate authority (CA), which is also generally authorized by the government to provide services to other access clients, such as VM, MI, and MP. The CA will give these access nodes the unique ID value, the public and private key pairs, and the certificate after they complete registration. The CA is also responsible for the renewal and revocation of these messages. Finally, BCC also includes ordering nodes (ON). The ON receives transactions containing signed and endorsed proposal responses from applications via a gateway service, and orders and packages the transactions into blocks. These ordered transactions are sent to peers for validation. When the consensus mechanism is passed, the peer commits the block to its ledger.
Moreover, the key information of each role designed within the system will be defined in the smart contract to ensure that the system can authenticate spontaneously and operate properly afterward. Figure 3 shows the smart contract framework associated with the system.

3.4. Registration Phase

In this phase, the access parties (AP) in the system are registered through the blockchain center. After receiving the registration request, the blockchain center issues the roles with the corresponding public–private key pairs and a digital certificate that can prove their identity. Figure 4 displays the process of the registration phase.
  • Step 1: Each AP sends basic information about itself (e.g., role ID) to the BC.
  • Step 2: The BC uses the EdDSA algorithm to generate a private key d X , then calculates s X and the corresponding public key Q X by the following:
    H ( d X ) = ( h 0 , h 1 , , h 2 b 1 )
    s X = 2 n + 3 i < n 2 i h i
    Q X = s X G
If the identity of the AP is valid, the registered smart contract will be woken up. The algorithm for registration is shown in Algorithm 1. Then, the BC will send I D X , d X , Q X , s k X , p k X , C e r t X to AP.
Algorithm 1: The smart contract of registration.
Var   APInfo [ ]   APs ; fuction   Registration ( String   x _ id ,   String   x _ detail ,   Roles   x _ roleType ) {     APInfo   ap = new   APInfo ( ) ;     AP . ID = x _ id ;     AP . detail = x _ detail ;     AP . roleType = x _ roleType ;     return   x _ keypairs ; }
  • Step 3: The AP stores the ( I D X , d X , Q X , p k X , s k X , C e r t X , ) for later signature and verification.

3.5. EdDSA Authentication Phase

Identity authentication is required before any two nodes communicate with each other. This phase is mainly in the form of mutual authentication of identity with the other node by using the EdDSA digital signature, and only two legitimate nodes can pass information between them. Role A and role B can represent the vaccine manufacturer (VM), the medical institution (MI), the medical person (MP), and the vaccinated person (VP). The process of the EdDSA Authentication Phase is shown in Figure 5. Algorithm 2 shows the signature process of EdDSA, and Algorithm 3 shows the verification process of EdDSA.
  • Step 1: Role A calculates a random number r A B by encrypting the sent message M A B with the high b bits of the hash of the private key:
    r A B = H (   h , b h , b + 1 , h , 2 b 1   M ) A B
Role A calls Algorithm 2 with ( r , A B s , A M , A B Q ) A to sign the message and obtains the signature ( R , A B S ) A B . Subsequently, role A uses the public key of role B p k B to encrypt the message (   I D , A M , A B T ) A B to generate E n c A B :
E n c = A B E p k B (   I D , A M , A B T ) A B
Role A sends I D , A E n c , A - B ( R , A - B S ) A - B to role B.
Algorithm 2: The process of the EdDSA signature between role A and role B.
fuction   Sign ( String   r , String   s , String   M , String   Q ) {     R = r × G ;     k = H ( R , M , Q ) ;     S = ( r + k × s ) ;     return ( R , S ) ; }
  • Step 2: After receiving the message, role B first decrypts the message using its private key s k B :
    (   I D , A M , A B T ) A B = D s k B ( E n c ) A B
Then, role B checks the validity of the timestamp:
T N o w T A B Δ T
Next, role B calls Algorithm 3 to verify the signature based on the public information and the messages it received.
If the signature is valid, role B calculates a random number r B A :
r = B A H (   h , b h , b + 1 , h , 2 b 1   M ) B A
Role B calls Algorithm 2 with ( r , B A s , B M , B A Q ) B to sign the message and generates the signature ( R , B A S ) B A . Later, role B encrypts the message (   I D , B M , B A T ) B A by using the public key of role A p k A to generate E n c B A :
E n c = B A E p k A (   I D , B M , B A T ) B A
Role B sends I D , B E n c , B - A ( R , B - A S ) B - A to role A.
  • Step 3: Firstly, role A decrypts the message E n c B A using its private key s k A :
    (   I D , B M , B A T ) B A = D s k A ( E n c ) B A
Next, role A checks the validity of the timestamp:
T N o w T B A Δ T
Finally, role A calls Algorithm 3 to verify the signature based on the public information and the received messages.
Algorithm 3: The process of EdDSA verification between role A and role B.
fuction   Verify ( String   R , String   S , String   M , String   Q ) {     k = H ( R , M , Q ) ;     V = 1 S × G ;     V = 2 R + k × Q ; A     if   V = 1 = V { 2             return   " valid "   ;     } else {               return " invalid " ; }

3.6. Vaccine Purchasing Phase

In the vaccine purchasing phase, the MI first issues vaccine purchase requests to the VM. The VM produces the vaccine according to the vaccine needs of the MI after confirming the identity of the MI. When the vaccine is made, the VM needs to submit the vaccine-related information to the BC. Figure 6 describes the process of the vaccine purchasing phase.
  • Step 1: MI sends a message M M I V M to VM. M M I V M needs to include the required vaccine details of the MI’s v D e t a i l MI beside the primary information. Then, the MI calculates a random number r M I V M by encrypting M M I V M with the high b bits of the hash of the private key:
    r = M I V M H (   h , b h , b + 1 , h , 2 b 1   M ) M I V M
MI calls Algorithm 2 with ( r , M I V M s , M I M , M I V M Q ) M I to sign the message and obtains the signature ( R , M I V M S ) M I V M .
( R , M I V M S ) M I V M = Sign ( r , M I V M s , M I M , M I V M Q ) M I
Subsequently, MI uses the public key of the VM p k V M to encrypt the message (   I D , M I M , M I V M T ) M I V M to generate E n c M I V M :
E n c = M I V M E p k V M (   I D , M I M , M I V M T ) M I V M
MI sends I D , M I E n c , M I - V M ( R , M I - V M S ) M I - V M to VM.
  • Step 2: After receiving the message, VM first decrypts the message E n c M I V M using its private key s k V M :
    (   I D , M I M , M I V M T ) M I V M = D s k V M ( E n c ) M I V M
Then, VM checks the validity of the timestamp:
T N o w T M I V M Δ T
Next, VM calls Algorithm 3 to verify the signature based on the public information and the messages it received.
Verify ( R , M I V M   S , M I V M M , M I V M Q ) M I
If the signature is valid, VM sends a message M V M M I to MI. Besides the basic information, M V M M I needs to include the required vaccine details of the VM’s v D e t a i l V M , the vaccine lot number v L o t I d , the vaccine storage warehouse number v W h I d , and the vaccine storage warehouse details v S t o r e W h D e t a i l . Then, VM calculates a random number r V M M I :
r = V M M I H (   h , b h , b + 1 , h , 2 b 1   M ) V M M I
VM calls Algorithm 2 with ( r , V M M I s , V M M , V M M I Q ) V M to sign the message and generates the signature ( R , V M M I S ) V M M I .
( R , V M M I S ) V M M I = Sign ( r , V M M I s , V M M , V M M I Q ) V M
Later, VM encrypts the message (   I D , V M M , V M M I T ) V M M I by using the public key of MI p k MI to generate E n c V M M I :
E n c = V M M I E p k M I (   I D , V M M , V M M I T ) V M M I
VM sends I D , V M E n c , V M - M I ( R , V M - M I S ) V M - M I to MI.
  • Step 3: First, MI decrypts the message E n c V M M I using its private key s k M I :
    (   I D , V M M , V M M I T ) V M M I = D s k M I ( E n c ) V M M I
Next, MI checks the validity of the timestamp:
T N o w T V M M I Δ T
Finally, MI calls Algorithm 3 to verify the signature based on the public information and the messages it receives.
Verify ( R , V M M I   S , V M M I M , V M M I Q ) V M

3.7. Vaccine Transport Phase

In the previous phase, the VM completed the vaccine according to the requirements of the MI. Once the MI confirms that the vaccine information is correct, the system enters the vaccine transport phase. The information generated by the vaccine transport process will be updated in the BC. Finally, the MI sends a message to the VM to accept the vaccine after checking that the vaccine transport is in order. Figure 7 shows the process of the vaccine transport phase.
  • Step 1: VM sends a message M V M M I to MI. M V M M I needs to include the vaccine lot number v L o t I d , the vaccine transport details v T r D e t a i l , and the primary information. Then, MI calculates a random number r V M M I by encrypting M V M M I with the high b bits of the hash of the private key:
    r = V M M I H (   h , b h , b + 1 , h , 2 b 1   M ) V M M I
VM calls Algorithm 2 with ( r , M I V M s , M I M , M I V M Q ) M I to sign the message and obtains the signature ( R , V M M I S ) V M M I .
( R , V M M I S ) V M M I = Sign ( r , V M M I s , V M M , V M M I Q ) V M
Subsequently, VM uses the public key of MI p k M I to encrypt the message (   I D , V M M , V M M I T ) V M M I to generate E n c V M M I :
E n c = V M M I E p k M I (   I D , V M M , V M M I T ) V M M I
VM sends I D , M I E n c , M I - V M ( R , M I - V M S ) M I - V M to MI.
  • Step 2: After receiving the message, MI first decrypts the message E n c V M M I using its private key s k M I :
    (   I D , V M M , V M M I T ) V M M I = D s k M I ( E n c ) V M M I
Then, MI checks the validity of the timestamp:
T N o w T V M M I Δ T
Next, MI calls Algorithm 3 to verify the signature based on the public information and the messages it receives.
Verify ( R , V M M I   S , V M M I M , V M M I Q ) V M
If the signature is valid, MI sends a message M M I V M to VM. Besides the basic information, M M I V M should include the vaccine lot number v L o t I d . Then, VM calculates a random number r M I V M :
r = M I V M H (   h , b h , b + 1 , h , 2 b 1   M ) M I V M
MI calls Algorithm 2 with ( r , M I V M s , M I M , M I V M Q ) M I to sign the message and generates the signature ( R , M I V M S ) M I V M .
( R , M I V M S ) M I V M = Sign ( r , M I V M s , M I M , M I V M Q ) M I
Later, MI encrypts the message (   I D , M I M , M I V M T ) M I V M by using the public key of the VM p k V M to generate E n c M I V M :
E n c = M I V M E p k V M (   I D , M I M , M I V M T ) M I V M
MI sends I D , M I E n c , M I - V M ( R , M I - V M S ) M I - V M to VM.
  • Step 3: First, VM decrypts the message E n c M I V M using its private key s k V M :
    (   I D , M I M , M I V M T ) M I V M = D s k V M ( E n c ) M I V M
Next, VM checks the validity of the timestamp:
T N o w T M I V M Δ T
Finally, VM calls Algorithm 3 to verify the signature based on the public information and the messages it received.
Verify ( R , M I V M   S , M I V M M , M I V M Q ) M I

3.8. Vaccine Distributing Phase

In this phase, the MI first needs to store the qualified vaccines received and manage them properly and strictly. Next, MI distributes the vaccines to the corresponding MP, based on the local government’s vaccination requirements. Figure 8 illustrates the entire process of the vaccine-distributing phase.
  • Step 1: MI sends a message M M I M P to MP. M M I M P needs to include the vaccine lot number v L o t I d , the vaccine storage details in MI v S t o r e M i D e t a i l , and the primary information. Then, MI calculates a random number r M I M P by encrypting M M I M P with the high b bits of the hash of the private key:
    r = M I M P H (   h , b h , b + 1 , h , 2 b 1   M ) M I M P
MI calls Algorithm 2 with ( r , M I M P s , M I M , M I M P Q ) M I to sign the message and obtains the signature ( R , M I M P S ) M I M P .
( R , M I M P S ) M I M P = Sign ( r , M I M P s , M I M , M I M P Q ) M I
Subsequently, MI uses the public key of MP p k MP to encrypt the message (   I D , M I M , M I M P T ) M I M P to generate E n c M I M P :
E n c = M I M P E p k M P (   I D , M I M , M I M P T ) M I M P
MI sends   I D , M I E n c , M I - M P ( R , M I - M P S ) M I - M P to MP.
  • Step 2: After receiving the message, MP first decrypts the message E n c M I M P using its private key s k M P :
    (   I D , M I M , M I M P T ) M I M P = D s k M P ( E n c ) M I M P
Then, MP checks the validity of the timestamp:
T N o w T M I M P Δ T
Next, MP calls Algorithm 3 to verify the signature based on the public information and the messages it receives.
Verify ( R , M I M P   S , M I M P M , M I M P Q ) M I
If the signature is valid, MP sends a message M M P M I to MI. Besides the basic information, M M P M I should include the vaccine lot number v L o t I d . Then, MP calculates a random number   r M P M I :
r = M P M I H (   h , b h , b + 1 , h , 2 b 1   M ) M P M I
MP calls Algorithm 2 with ( r , M P M I s , M P M , M P M I Q ) M P to sign the message and generates the signature ( R , M P M I S ) M P M I .
( R , M P M I S ) M P M I = Sign ( r , M P M I s , M P M , M P M I Q ) M P
Later, MP encrypts the message (   I D , M P M , M P M I T ) M P M I by using the public key of MI p k MI to generate E n c M P M I :
E n c = M P M I E p k M I (   I D , M P M , M P M I T ) M P M I
MP sends I D , M P E n c , M P - M I ( R , M P - M I S ) M P - M I to MI.
  • Step 3: First, MI decrypts the message E n c M P M I using its private key s k M I :
    (   I D , M P M , M P M I T ) M P M I = D s k M I ( E n c ) M P M I
Next, MI checks the validity of the timestamp:
T N o w T M P M I Δ T
Finally, MI calls Algorithm 3 to verify the signature based on the public information and the messages it receives.
Verify ( R , M P M I   S , M P M I M , M P M I Q ) M P

3.9. Vaccination Phase

This phase mainly involves vaccination of the VP. The VP must first submit personal information and vaccination status to the MP before vaccination. The vaccination is administered only after the MP confirms that the information is correct and that the VP is medically fit to receive the vaccine. Finally, the MP will also need to update the vaccination certificate of the vaccine recipient. Figure 9 shows the process of vaccination.
  • Step 1: VP sends a message M V P M P to MP. M V P M P needs to include the vaccination certificate of the VP v C e r t , the VP details v p D e t a i l , and the primary information. Then, VP calculates a random number r V P M P by encrypting M V P M P with the high b bits of the hash of the private key:
    r = V P M P H (   h , b h , b + 1 , h , 2 b 1   M ) V P M P
VP calls Algorithm 2 with ( r , V P M P s , V P M , V P M P Q ) V P to sign the message and obtains the signature ( R , V P M P S ) V P M P .
( R , V P M P S ) V P M P = Sign ( r , V P M P s , V P M , V P M P Q ) V P
Subsequently, VP uses the public key of MP p k MP to encrypt the message (   I D , V P M , V P M P T ) V P M P to generate E n c V P M P :
E n c = V P M P E p k M P (   I D , V P M , V P M P T ) V P M P
VP sends I D , V P E n c , V P M P ( R , V P - M P S ) V P - M P to MP.
  • Step 2: After receiving the message, MP first decrypts the message E n c V P M P using its private key s k M P :
    (   I D , V P M , V P M P T ) V P M P = D s k M P ( E n c ) V P M P
Then, MP checks the validity of the timestamp:
T N o w T V P M P Δ T
Next, MP calls Algorithm 3 to verify the signature based on the public information and the messages it receives.
Verify ( R , V P M P   S , V P M P M , V P M P Q ) V P
If the signature is valid, MP vaccinates VP. Afterward, MP sends a message M M P V P to VP. Besides the basic information, M M P V P should include the vaccine lot number v L o t I d and the vaccination certificate of the VP v C e r t . Then, MP calculates a random number r M P V P :
r = M P V P H (   h , b h , b + 1 , h , 2 b 1   M ) M P V P
MP calls Algorithm 2 with ( r , M P V P s , M P M , M P V P Q ) M P to sign the message and generates the signature ( R , M P V P S ) M P V P .
( R , M P V P S ) M P V P = Sign ( r , M P V P s , M P M , M P V P Q ) M P
Later, MP encrypts the message (   I D , M P M , M P V P T ) M P V P by using the public key of VP p k V P to generate E n c M P V P :
E n c = M P V P E p k V P (   I D , M P M , M P V P T ) M P V P
MP sends I D , M P E n c , M P - V P ( R , M P - V P S ) M P - V P to VP.
  • Step 3: First, VP decrypts the message E n c M P V P using its private key s k V P :
    (   I D , M P M , M P V P T ) M P V P = D s k V P ( E n c ) M P V P
Next, VP checks the validity of the timestamp:
T N o w T M P V P Δ T
Finally, VP calls Algorithm 3 to verify the signature based on the public information and the messages it received.
Verify ( R , M P V P   S , M P V P M , M P V P Q ) M P

3.10. Side Effect Phase

If a VP has an adverse reaction after receiving the vaccine, the VP is required to upload the appropriate information to the BC, including details of the adverse reaction, personal information, and proof of vaccination. If the adverse reaction is judged to be a side effect of the vaccination, the vaccine lot ID will be returned to the VP, and the appropriate treatment will be provided. Figure 10 shows the process of the side-effect phase.
  • Step 1: VP sends a message M V P M P to MP. M V P M P needs to include the vaccination certificate of VP v C e r t , the VP details v p D e t a i l , the description of side effects s e D e s c r i b e , and the primary information. Then, VP calculates a random number r V P M P by encrypting M V P M P with the high b bits of the hash of the private key:
    r = V P M P H (   h , b h , b + 1 , h , 2 b 1   M ) V P M P
VP calls Algorithm 2 with ( r , V P M P s , V P M , V P M P Q ) V P to sign the message and obtains the signature ( R , V P M P S ) V P M P .
( R , V P M P S ) V P M P = Sign ( r , V P M P s , V P M , V P M P Q ) V P
Subsequently, VP uses the public key of MP p k MP to encrypt the message (   I D , V P M , V P M P T ) V P M P to generate E n c V P M P :
E n c = V P M P E p k M P (   I D , V P M , V P M P T ) V P M P
VP sends I D , V P E n c , V P M P ( R , V P - M P S ) V P - M P to MP.
  • Step 2: After receiving the message, MP first decrypts the message E n c V P M P using its private key s k M P :
    (   I D , V P M , V P M P T ) V P M P = D s k M P ( E n c ) V P M P
Then, MP checks the validity of the timestamp:
T N o w T V P M P Δ T
Next, MP calls Algorithm 3 to verify the signature based on the public information and the messages it receives.
Verify ( R , V P M P   S , V P M P M , V P M P Q ) V P
If the signature is valid and MP considers the adverse reaction to being a side effect of the vaccination, MP sends a message M M P V P to VP. In addition to the basic information, M M P V P should include the vaccine lot number. Then, MP calculates a random number r M P V P :
r = M P V P H (   h , b h , b + 1 , h , 2 b 1   M ) M P V P
MP calls Algorithm 2 to sign the message ( r , M P V P s , M P M , M P V P Q ) M P and generates the signature ( R , M P V P S ) M P V P .
( R , M P V P S ) M P V P = Sign ( r , M P V P s , M P M , M P V P Q ) M P
Later, MP encrypts the message (   I D , M P M , M P V P T ) M P V P by using the public key of VP p k V P to generate E n c M P V P :
E n c = M P V P E p k V P (   I D , M P M , M P V P T ) M P V P
MP sends I D , M P E n c , M P - V P ( R , M P - V P S ) M P - V P to VP.
  • Step 3: First, VP decrypts the message E n c M P V P using its private key s k V P :
    (   I D , M P M , M P V P T ) M P V P = D s k V P ( E n c ) M P V P
Next, VP checks the validity of the timestamp:
T N o w T M P V P Δ T
Finally, VP calls Algorithm 3 to verify the signature based on the public information and the messages it received.
Verify ( R , M P V P   S , M P V P M , M P V P Q ) M P

4. Security Analysis

4.1. Mutual Authentication

The proposed scheme uses BAN logic to achieve mutual authentication between role A and role B. The scheme of role A and role B can represent the blockchain center (BC), the vaccine manufacturer (VM), the medical institution (MI), the medical personnel (MP), and the vaccinated person (VP). The notation of BAN logic is shown below.
P | X P believes X
P X P sees X
P | X P said X
P | X P controls X
# ( X ) The message X is fresh
P K Q P and Q communicate with a shared key K
{ X } K X is encrypted with a key K
The goals of the entire authentication process are as follows:
  • G 1 : A | A X A B
  • G 2 : A | B | A X A B
  • G 3 : B | A X B B
  • G 4 : B | A | A X B B
  • G 5 : A | I D B
  • G 6 : A | B | I D B
  • G 7 : B | I D A
  • G 8 : B | A | I D A
Depending on the authentication process, BAN logic generates the following idealized model:
  • M 1 : R o l e   A R o l e   B ( { I D A , I D B , T A B } P K B , R A , R A )
  • M 2 : R o l e   B R o l e   A ( { I D A , I D B , T B A } P K A , R B , R B )
To analyze the proposed scheme, we make the following assumptions:
  • A 1 : A | # ( T A B )
  • A 2 : B | # ( T A B )
  • A 3 : A | # ( T B A )
  • A 4 : B | # ( T B A )
  • A 5 : A | B | B X B A
  • A 6 : B | A | A X A B
  • A 7 : A | B | I D B
  • A 8 : B | A | I D A
Based on the rules of BAN logic and the assumptions above, the authentication process between the two nodes is shown below:
  • Role B authenticates role A.
    The statement S 1 can be derived from M 1 the seeing rule:
    S 1 : B ( { I D A , I D B , T A B } P K B , R A , R A )
    The statement S 2 can be derived from A 2 and the freshness rule:
    S 2 : B | # ( { I D A , I D B , T A B } P K B , R A , R A )
    The statement S 3 can be derived from S 1 , A 4 and the message meaning rule:
    S 3 : B | A | ( I D A , I D B , T A B , R A , R A )
    The statement S 4 can be derived by S 2 , S 3 and the nonce verification rule:
    S 4 : B | A | ( I D A , I D B , T A B , R A , R A )
    The statement S 5 can be derived from S 4 and the belief rule:
    S 5 : B | A | A X A B
    The statement S 6 can be derived from S 5 , A 6 and the jurisdiction rule:
    S 6 : B | A X A B
    The statement S 7 can be derived from S 4 and the belief rule:
    S 7 : B | A | I D A
    The statement S 8 can be derived from S 7 , A 8 and the belief rule:
    S 8 : B | I D A
  • Role A authenticates role B.
    The statement S 9 can be derived from M 2 and the seeing rule:
    S 9 : A ( { I D A , I D B , T B A } P K A , R B , R B )
    The statement S 10 can be derived from A 1 and the freshness rule:
    S 10 : A | # ( { I D A , I D B , T B A } P K A , R B , R B )
    The statement S 11 can be derived from S 9 , A 3 and the message meaning rule:
    S 11 : A | B | ( I D A , I D B , T B A , R B , R B )
    The statement S 12 can be derived by S 10 , S 11 and the nonce verification rule:
    S 12 : A | B | ( I D A , I D B , T B A , R B , R B )
    The statement S 13 can be derived from S 12 and the belief rule:
    S 13 : A | B | B X B A
    The statement S 14 can be derived from S 13 , A 5 and the jurisdiction rule:
    S 14 : A | B X B A
    The statement S 15 can be derived from S 12 and the belief rule:
    S 15 : A | B | I D B
    The statement S 16 can be derived from S 15 , A 7 and the belief rule:
    S 16 : A | I D B
With Statement S 6 , S 8 , S 14 , S 16 , role A and role B can easily verify the identity of each other when passing messages.

4.2. Decentralization and Information Sharing

The essence of blockchain technology is a distributed ledger. In the proposed scheme, all registered nodes jointly maintain the entire vaccine information management system, and any information has to be uploaded to the chain through the consensus mechanism of the system. Meanwhile, the failure of a single node does not cause the whole system to break down. Moreover, the information uploaded to the blockchain requires the sender to use its private key for signature, and the information on the chain can be viewed by other registered nodes. These features not only ensure the safety and reliability of the uploaded information but also ensure the openness and transparency of this information and realize the trust relationship between unfamiliar nodes.

4.3. Traceable

Messages sent in a blockchain system should be accompanied by using Algorithm 2. This message, if proven to be valid, is permanently stored in the blockchain and cannot be tampered with. Therefore, other nodes in the blockchain can trace the message and guarantee the validity of the message by using Algorithm 3. In this way, the traceability of the system is achieved.

4.4. High-Quality Random Number

The security of digital signature algorithms, such as DSA and ECDSA, relies on high-quality random number generators to generate random numbers. Once the quality of the random numbers is not up to par, the information of the system users will also be compromised. The random number generation of the EdDSA algorithm is shown in Equations (4), (8), (12), (18), (24), (36), (42), (48), (54), (60) and (66).
The generation of a random number of EdDSAs relies on the user’s private key with the delivered message itself. This random number is naturally of high quality, which pretty much eliminates the problem of information leakage caused by the quality of the random number.

4.5. Integrity and Non-Repudiation

When two nodes communicate, they are very concerned about the integrity of the transmitted message. In our scheme, the EdDSA algorithm is used to generate the signature. The sender generates a specific signature when sending a message based on random numbers, message content, and other parameters. Any tampering with the parameters will change the original signature, and the original message cannot be inferred from the signature string.
Meanwhile, the sender signs the message with its private key when sending it, and the receiver will use the sender’s public key to verify the signature when receiving the message. Therefore, the sender cannot deny the message it sent.
The signature in Table 1 describes the data integrity proof for each stage, and the verification describes the non-repudiation proof for each stage.

4.6. Man-in-the-Middle Attacks

To avoid this potential risk, the proposed scheme requires the sender to encrypt the message with the public key of the receiver before sending it to the receiver. Therefore, only the receiver can decrypt the message with its private key and obtain the message content. Thus, it solves the problem of man-in-the-middle attacks that may exist in the system. The encryption process for the message is shown in Equations (5), (6), (9), (10), (14), (15), (20), (21), (26), (27), (32), (33), (38), (39), (44), (45), (50), (51), (56), (57), (62), (63), (68) and (69).
Scenario: The sender sends a message to the receiver. Before the message is delivered, the malicious attacker eavesdrops and modifies the message.
Analysis: The sender encrypts the message with the receiver’s public key when sending the message. The malicious attacker does not have the receiver’s private key, so the attacker cannot decrypt the exact contents of the message.

4.7. Replay Attack

To avoid this potential risk, the proposed scheme requires a timestamp to be attached to the message when it is passed between users. Both the timestamp and the message content are encrypted by the sender using the public key of the receiver, so the timestamp can only be decrypted and obtained by the receiver using his private key. If a malicious attacker sends the same message to the receiver later, the system will compare the difference between the current time and the message timestamp. Then, if the difference is greater than the threshold, the message is illegal. Therefore, the problem of replay attacks is eliminated. The specific process is shown as follows:
E n c = A B E p k B (   I D , A M , A B T ) A B
(   I D , A M , A B T ) A B = D s k B ( E n c ) A B
check   T N o w T A B Δ T
Scenario: The malicious attacker sends an identical message to the receiver after listening to the message sent by the sender.
Analysis: The receiver decrypts the message with its private key, obtains the corresponding timestamp, and compares the difference between the current time and the timestamp with the threshold. If the difference is greater than the queue value, the system determines that it is a replay attack and rejects the message.

4.8. Sybil Attack

To avoid this potential risk, blockchain can use the consensus mechanism to increase the entry barrier of nodes. At this point, the high cost makes the Sybil attack unrealistic because the malicious attacker must occupy more than half of the nodes of the whole system. In addition, the proposed scheme requires each user to obtain the corresponding ID number and EdDSA public and private key pairs in the registration phase, and all users entering the system must pass identity validation. The parameters related to the user’s identity are generated by the blockchain center using Equations (1)–(3). Then, the user stores these parameters.
Stores (   I D , X   d , X   Q , X p k , X s k , X C e r t ) X
Scenario: The malicious nodes attempt to forge vast numbers of fake identities to access the blockchain system.
Analysis: Every ID number is generated by the blockchain center with the corresponding and unique public and private key pairs and certificates. The attacker has no chance of obtaining the complete parameters, and its operations in the system are considered invalid. Thus, the Sybil attack is hardly successful.

5. Discussion

5.1. Computation Cost

In this section, we analyzed the performance of the system. Table 2 presents the performance analysis of each phase. We used asymmetrical encryption/decryption, hash functions, addition, subtraction, multiplication, and division operations as the basis for calculating the costs.

5.2. Comparison

In this section, we compare the proposed scheme with previous articles dealing with vaccine record security in Table 3.

5.3. Performance Analysis

In this section, we perform a performance analysis of the proposed scheme using a caliper, a blockchain performance testing framework that allows its users to test the system on different blockchain platforms and obtain the corresponding performance test results. All tests were run in the following environment: Intel(R) Core (TM) i7-7700HQ CPU @ 2.80GHz, 8GB RAM. We use Fabric 2.0.0 and Go 1.17.5. The operating system is Ubuntu 18.04.5 LTS.
Due to the different communication protocols of the schemes in each article, it is hard to find suitable papers to compare their performances. Therefore, we only base our scheme on analyzing its performance. The performance of blockchain systems is usually evaluated in terms of throughput and latency. The throughput refers to the speed at which transactions are added to the ledger and represents the performance level of the system, which is expressed in transactions per second (TPS) at the testing time. Latency is an indicator of the time spent between the application initiating a transaction time and the received time. This is the first thing that users care about when using a blockchain system.
Figure 11 shows the relationship between throughput and send rate. Ten sets of data were selected for the test, and the difference between the send rates of each set was 50 tps. With a fixed system block size, we can find that the throughput of read transactions is approximately linearly related to the send rate, ranging from a low of 50.1 tps to a high of 447.3 tps. The throughput of write transactions is positively correlated with the send rate, which grows gently from a low of 46.8 tps to a high of 91.2 tps. However, we can notice that the relative increase in throughput slows down after the send rate gradually increases, which could be approaching the threshold. Figure 12 shows the relationship between latency and the send rate. We can see that with fixed block size, latency is positively correlated with send rate, ranging from a minimum of 0.05 s to a maximum of 1.41 s for reading transactions, and from a minimum of 0.16 s to a maximum of 12.74 s for write transactions. Similarly, after the send rate reaches 400 tps, the latency growth rate becomes flatter, indicating that the system may have reached the threshold. Thus, the proposed system has adequate performance to read and write vaccine-related data. Meanwhile, users can access vaccine-related data in a short enough time and can modify these data according to their rights.

5.4. Comparison of Blockchain Platforms

Blockchain technology can be divided into three categories in total after development: public blockchain, private blockchain, and consortium blockchain. Private blockchain operation is centralized, and its node verification is usually operated by a single group only, which is not conducive to data sharing and traceability. Furthermore, the private blockchain is more susceptible to data tampering by unscrupulous elements, so they are not considered in this paper. Table 4 shows a comparison of the three blockchain platforms.
Compared to the public blockchain, consortium blockchain share information selectively, and nodes without permission cannot access the corresponding data. It can better protect the privacy of sensitive data, such as vaccine information. Moreover, Hyperledger Fabric has better performance and higher scalability. It also allows smart contracts to be written in multiple programming languages, making it easy to develop the system.

6. Conclusions

This paper proposes a vaccine record management system based on blockchain technology. The system protects the privacy of sensitive vaccine information while making the entire process of vaccine production, distribution, and vaccination transparent and traceable. It reduces the possibility of tampering with vaccine information and indirectly prevents vaccine quality failures.
Next, we analyzed the security of this vaccine information management system, including the use of BAN logic to achieve mutual authentication between communication nodes, and the EdDSA algorithm to ensure the integrity and non-repudiation of data. The EdDSA algorithm has the feature of selecting high-quality random numbers with excellent performance, which improves the efficiency of digital signatures and effectively avoids the security problems caused by low-quality random numbers that existed in some digital signature algorithms in the past. Furthermore, the proposed scheme can resist malicious attacks, such as man-in-the-middle attacks and replay attacks, to a certain extent.
In summary, this paper makes the following contributions:
  • Blockchain technology and smart contracts are used to ensure the security and traceability of vaccines from manufacturing, distribution, vaccination, and side-effect reporting. The system protects the privacy of each role while providing certain information about the vaccine based on the role’s identity.
  • The entire vaccine supply management system architecture and usage scenarios are presented.
  • The use of the EdDSA algorithm for digital signatures not only guarantees the integrity of vaccine-related records but also improves the security and efficiency of digital signatures.
  • Use BAN logic to guarantee mutual authentication between unfamiliar nodes.
  • Analyzed the potential security risks of the system.

Author Contributions

Conceptualization, Y.A. and C.-L.C.; methodology, Y.A. and C.-L.C.; software, Y.A.; resources, Y.A.; validation, M.-L.C., Y.-Y.D. and Z.-Y.L.; writing–original draft preparation, Y.A.; writing–review and editing, C.-L.C., W.W., Y.-Y.D. and Z.-Y.L.; supervision, C.-L.C. and W.W.; project administration, C.-L.C.; funding acquisition, W.W. and M.-L.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the Natural Science Foundation of Fujian Province of China (Nos. 2021J011187 and 2021J011182) and the Ministry of Science and Technology, Taiwan, R.O.C., under contract MOST 111-2218-E-305-001–MBK and MOST 110-2410-H-324-004-MY2.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Nardo, D. The Black Death; Greenhaven Publishing LLC: New York, NY, USA, 2011; pp. 76–77. [Google Scholar]
  2. Taubenberger, J.K.; Morens, D.M. 1918 Influenza: The mother of all pandemics. Rev. Biomed. 2006, 17, 69–79. [Google Scholar] [CrossRef]
  3. Henderson, D.A.; Moss, B. Smallpox and Vaccinia; Saunders: Yorba Linda, CA, USA, 1999. [Google Scholar]
  4. Roos, D. How 5 of History’s Worst Pandemics Finally Ended; History News Network: Seattle, WA, USA, 2020. [Google Scholar]
  5. World Health Organization. Global Vaccine Safety Blueprint; World Health Organization: Geneva, Switzerland, 2012. [Google Scholar]
  6. Chen, R.T.; Shimabukuro, T.T.; Martin, D.B.; Zuber, P.L.; Weibel, D.M.; Sturkenboom, M. Enhancing vaccine safety capacity globally: A lifecycle perspective. Vaccine 2015, 33, D46–D54. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  7. Almagrabi, A.O.; Ali, R.; Alghazzawi, D.; AlBarakati, A.; Khurshaid, T. Blockchain-as-a-utility for next-generation healthcare internet of things. CMC Comput. Mater. Contin. 2021, 68, 359–376. [Google Scholar] [CrossRef]
  8. Imran, M.; Zaman, U.; Imtiaz, J.; Fayaz, M.; Gwak, J. Comprehensive survey of iot, machine learning, and blockchain for health care applications: A topical assessment for pandemic preparedness, challenges, and solutions. Electronics 2021, 10, 2501. [Google Scholar] [CrossRef]
  9. Gordon, W.J.; Catalini, C. Blockchain technology for healthcare: Facilitating the transition to patient-driven interoperability. Comput. Struct. Biotechnol. J. 2018, 16, 224–230. [Google Scholar] [CrossRef]
  10. Chen, S.; Wu, Z.; Christofides, P.D. Cyber-security of centralized, decentralized, and distributed control-detector architectures for nonlinear processes. Chem. Eng. Res. Des. 2021, 165, 25–39. [Google Scholar] [CrossRef]
  11. Mbunge, E.; Dzinamarira, T.; Fashoto, S.G.; Batani, J. Emerging technologies and COVID-19 digital vaccination certificates and passports. Public Health Pract. 2021, 2, 100136. [Google Scholar] [CrossRef]
  12. Ganty, S. The veil of the COVID-19 vaccination certificates: Ignorance of poverty, injustice towards the poor. Eur. J. Risk Regul. 2021, 12, 343–354. [Google Scholar] [CrossRef]
  13. Kamerow, D. Immunized? There’s an app for that. BMJ 2021, 372, n85. [Google Scholar] [CrossRef]
  14. Karopoulos, G.; Hernandez-Ramos, J.L.; Kouliaridis, V.; Kambourakis, G. A survey on digital certificates approaches for the covid-19 pandemic. IEEE Access 2021, 9, 138003–138025. [Google Scholar] [CrossRef]
  15. Ministry of Health, Labour and Welfare. Available online: https://www.mhlw.go.jp/stf/covid-19/certificate.html (accessed on 20 December 2021).
  16. Hernández-Ramos, J.L.; Karopoulos, G.; Geneiatakis, D.; Martin, T.; Kambourakis, G.; Fovino, I.N. Sharing pandemic vaccination certificates through blockchain: Case study and performance evaluation. Wirel. Commun. Mob. Comput. 2021, 2021, 1530–8669. [Google Scholar] [CrossRef]
  17. World Health Organization. Available online: https://www.who.int/news-room/articles-detail/world-health-organization-open-call-for-nomination-of-experts-to-contribute-to-the-smart-vaccination-certificate-technical-specifications-and-standards-application-deadline-14-december-2020 (accessed on 2 December 2020).
  18. Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. Decentralized Bus. Rev. 2008, 21260. [Google Scholar]
  19. Zhou, L.; Wang, L.; Sun, Y. MIStore: A blockchain-based medical insurance storage system. J. Med. Syst. 2018, 42, 1–17. [Google Scholar] [CrossRef] [Green Version]
  20. Zhang, P.; White, J.; Schmidt, D.C.; Lenz, G.; Rosenbloom, S.T. FHIRChain: Applying blockchain to securely and scalably share clinical data. Comput. Struct. Biotechnol. J. 2018, 16, 267–278. [Google Scholar] [CrossRef] [PubMed]
  21. Uddin, M.; Salah, K.; Jayaraman, R.; Pesic, S.; Ellahham, S. Blockchain for drug traceability: Architectures and open challenges. Health Inform. J. 2021, 27, 4571–4579. [Google Scholar] [CrossRef]
  22. European Parliamentary Research Service. Available online: https://www.europarl.europa.eu/thinktank/en/document/EPRS_IDA(2020)641543 (accessed on 22 April 2020).
  23. Mettler, M. Blockchain technology in healthcare: The revolution starts here. In Proceedings of the 2016 IEEE 18th International Conference on E-Health Networking, Applications and Services (Healthcom), Munich, Germany, 14–16 September 2016. [Google Scholar] [CrossRef]
  24. Azaria, A.; Ekblaw, A.; Vieira, T.; Lippman, A. Medrec: Using blockchain for medical data access and permission management. In Proceedings of the 2016 2nd International Conference on Open and Big Data (OBD), Vienna, Austria, 22–24 August 2016. [Google Scholar] [CrossRef]
  25. Kumar, M.; Chand, S. MedHypChain: A patient-centered interoperability hyperledger-based medical healthcare system: Regulation in COVID-19 pandemic. J. Netw. Comput. Appl. 2021, 179, 102975. [Google Scholar] [CrossRef]
  26. Kumar, R.; Tripathi, R. A Secure and Distributed Framework for sharing COVID-19 patient Reports using Consortium Blockchain and IPFS. In Proceedings of the 2020 Sixth International Conference on Parallel, Distributed and Grid Computing (PDGC), Waknaghat, India, 6–8 November 2020. [Google Scholar] [CrossRef]
  27. Sigwart, M.; Borkowski, M.; Peise, M.; Schulte, S.; Tai, S. Blockchain-based data provenance for the Internet of Things. In Proceedings of the 9th International Conference on the Internet of Things, Bilbao, Spain, 22–25 October 2019. [Google Scholar] [CrossRef] [Green Version]
  28. Yong, B.; Shen, J.; Liu, X.; Li, F.; Chen, H.; Zhou, Q. An intelligent blockchain-based system for safe vaccine supply and supervision. Int. J. Inf. Manag. 2020, 52, 102024. [Google Scholar] [CrossRef]
  29. Ricci, L.; Maesa, D.D.F.; Favenza, A.; Ferro, E. Blockchains for covid-19 contact tracing and vaccine support: A systematic review. IEEE Access 2021, 9, 37936–37950. [Google Scholar] [CrossRef]
  30. Deka, S.K.; Goswami, S.; Anand, A. A blockchain-based technique for storing vaccination records. In Proceedings of the 2020 IEEE Bombay section signature conference (IBSSC), Mumbai, India, 4–6 December 2020. [Google Scholar] [CrossRef]
  31. Antal, C.; Cioara, T.; Antal, M.; Anghel, I. Blockchain platform for COVID-19 vaccine supply management. IEEE Open J. Comput. Soc. 2021, 2, 164–178. [Google Scholar] [CrossRef]
  32. Chauhan, H.; Gupta, D.; Gupta, S.; Singh, A.; Aljahdali, H.M.; Goyal, N.; Noya, I.D.; Kadry, S. Blockchain Enabled Transparent and Anti-Counterfeiting Supply of COVID-19 Vaccine Vials. Vaccines 2021, 9, 1239. [Google Scholar] [CrossRef]
  33. Chen, J.; Chen, X.; Chen, C.L. A Traceable Blockchain-Based Vaccination Record Storage and Sharing System. J. Healthc. Eng. 2022, 2022, 2211065. [Google Scholar] [CrossRef] [PubMed]
  34. Szabo, N. Smart contracts: Building blocks for digital markets. Extropy J. Transhumanist Thought 1996, 18, 28. [Google Scholar]
  35. Buterin, V. A next-generation smart contract, and decentralized application platform. White Pap. 2014, 3, 2-1. [Google Scholar]
  36. Bernstein, D.J.; Duif, N.; Lange, T.; Schwabe, P.; Yang, B.Y. High-speed high-security signatures. J. Cryptogr. Eng. 2012, 2, 77–89. [Google Scholar] [CrossRef] [Green Version]
  37. Josefsson, S.; Liusvaara, I. Edwards-curve digital signature algorithm (EdDSA). RFC 8032 2017. [Google Scholar] [CrossRef]
  38. Wang, D.I. Secure Implementation of ECDSA Signatures in Bitcoin. MSc Inf. Secur. 2014, 1–78. [Google Scholar]
  39. Burrows, M.; Abadi, M.; Needham, R.M. A logic of authentication. Proc. R. Soc. London. Math. Phys. Sci. 1989, 426, 233–271. [Google Scholar] [CrossRef]
Figure 1. System architecture diagram.
Figure 1. System architecture diagram.
Sensors 22 09670 g001
Figure 2. The architecture of the hyperledger fabric.
Figure 2. The architecture of the hyperledger fabric.
Sensors 22 09670 g002
Figure 3. Smart contract structure of the scheme.
Figure 3. Smart contract structure of the scheme.
Sensors 22 09670 g003
Figure 4. The process of the registration phase.
Figure 4. The process of the registration phase.
Sensors 22 09670 g004
Figure 5. The process of the authentication phase.
Figure 5. The process of the authentication phase.
Sensors 22 09670 g005
Figure 6. The process of vaccine purchase.
Figure 6. The process of vaccine purchase.
Sensors 22 09670 g006
Figure 7. The process of vaccine transport.
Figure 7. The process of vaccine transport.
Sensors 22 09670 g007
Figure 8. The process of vaccine distribution.
Figure 8. The process of vaccine distribution.
Sensors 22 09670 g008
Figure 9. The process of vaccination.
Figure 9. The process of vaccination.
Sensors 22 09670 g009
Figure 10. The process of the side effects submitted.
Figure 10. The process of the side effects submitted.
Sensors 22 09670 g010
Figure 11. Throughput of the system at various send rates.
Figure 11. Throughput of the system at various send rates.
Sensors 22 09670 g011
Figure 12. Latency of the system at various send rates.
Figure 12. Latency of the system at various send rates.
Sensors 22 09670 g012
Table 1. Verification of integrity and non-repudiation in the proposed scheme.
Table 1. Verification of integrity and non-repudiation in the proposed scheme.
PhaseSenderReceiverSignatureVerification
Authentication PhaseAB Sign ( r , A B s , A M , A B Q ) A Verify ( R , A B   S , A B M , A B Q ) A
BA Sign ( r , B A s , B M , B A Q ) B Verify ( R , B A   S , B A M , B A Q ) B
Vaccine Purchasing PhaseMIVM Sign ( r , M I V M s , M I M , M I V M Q ) M I Verify ( R , M I V M   S , M I V M M , M I V M Q ) M I
VMMI Sign ( r , V M M I s , V M M , V M M I Q ) V M Verify ( R , V M M I   S , V M M I M , V M M I Q ) V M
Vaccine transport PhaseVMMI Sign ( r , V M M I s , V M M , V M M I Q ) V M Verify ( R , M I M P   S , M I M P M , M I M P Q ) M I
MIVM Sign ( r , M I V M s , M I M , M I V M Q ) M I Verify ( R , M P M I   S , M P M I M , M P M I Q ) M P
Vaccine Distributing PhaseMIMP Sign ( r , M I M P s , M I M , M I M P Q ) M I Verify ( R , M I M P   S , M I M P M , M I M P Q ) M I
MPMI Sign ( r , M P M I s , M P M , M P M I Q ) M P Verify ( R , M P M I   S , M P M I M , M P M I Q ) M P
Vaccination PhaseVPMP Sign ( r , V P M P s , V P M , V P M P Q ) V P Verify ( R , V P M P   S , V P M P M , V P M P Q ) V P
MPVP Sign ( r , M P V P s , M P M , M P V P Q ) M P Verify ( R , M P V P   S , M P V P M , M P V P Q ) M P
Side Effect PhaseVPMP Sign ( r , V P M P s , V P M , V P M P Q ) V P Verify ( R , V P M P   S , V P M P M , V P M P Q ) V P
MPVP Sign ( r , M P V P s , M P M , M P V P Q ) M P Verify ( R , M P V P   S , M P V P M , M P V P Q ) M P
Table 2. The computation cost of each phase.
Table 2. The computation cost of each phase.
Phase1st Party2nd Party
Authentication PhaseRole A:
2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m
Role B:
2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m
Vaccine Purchasing Phase MI : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m VM : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m
Vaccine Transport Phase VM : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m MI : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m
Vaccine Distributing Phase MI : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m MP : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m
Vaccination Phase VP : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m MP : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m
Side Effect Phase VP : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m MP : 2 T a s y + 2 T h + 2 T a d d + T s u b + 4 T m u l + 2 T c o m
Notes: T a s y : asymmetrical encryption/decryption; T h : a hash operation; T a d d : an additional operation; T s u b : a subtraction operation. T m u l : a multiplication operation; T c o m : the time required for a comparison operation.
Table 3. Comparison of the proposed and other vaccine-related articles.
Table 3. Comparison of the proposed and other vaccine-related articles.
AuthorsYearObjective123456
Sigwart et al. [27]2019Proposed the feasibility of blockchain application in the vaccine supply chain.YNYNNN
Yong et al. [28]2019Proposed to use of blockchain and machine learning to ensure vaccine safety.YYYNNN
Deka et al. [30]2020Proposed to use of blockchain and IPFS to maintain personal vaccination records.YYYNNN
Antal et al. [31]2021Proposed to use of smart contracts to monitor COVID-19 vaccine supply management.YYNNNY
Chauhan et al. [32]2021Proposed to use of blockchain to ensure transparency and anti-counterfeiting of the COVID-19 vaccine.YYNNNY
Chen et al. [33]2022Proposed a traceable blockchain-based vaccination record storage and share system.YYYYYN
Our scheme2022Propose a blockchain-based traceable vaccine system.YYYYYY
Notes: 1: based on blockchain, 2: proposed system architecture, 3: used in multiple vaccines, 4: Mutual authentication, 5: security analysis, 6: Involved in the vaccine supply chain. Y: yes, N: no.
Table 4. Comparison of the three blockchain platforms.
Table 4. Comparison of the three blockchain platforms.
CharacteristicsBitcoinEthereumHyperledger Fabric
TypePublic blockchainPublic blockchainConsortium blockchain
ConsensusProof of work (POW)Proof of work (POW)PBFT
ScriptingLimited stack-based scriptingSolidityGo, Java, JavaScript
AuthenticationNoNoYes
Smart ContractNoNoYes
ScalabilityLow scalabilityLow scalabilityHigh scalability
CurrencyBitcoinEtherNo
Speed of transactions7 TPS20 TPS1000 TPS-10000 TPS
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Ai, Y.; Chen, C.-L.; Weng, W.; Chiang, M.-L.; Deng, Y.-Y.; Lim, Z.-Y. A Traceable Vaccine Supply Management System. Sensors 2022, 22, 9670. https://doi.org/10.3390/s22249670

AMA Style

Ai Y, Chen C-L, Weng W, Chiang M-L, Deng Y-Y, Lim Z-Y. A Traceable Vaccine Supply Management System. Sensors. 2022; 22(24):9670. https://doi.org/10.3390/s22249670

Chicago/Turabian Style

Ai, Yaohong, Chin-Ling Chen, Wei Weng, Mao-Lun Chiang, Yong-Yuan Deng, and Zi-Yi Lim. 2022. "A Traceable Vaccine Supply Management System" Sensors 22, no. 24: 9670. https://doi.org/10.3390/s22249670

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop