The present invention provides a blockchain-based supervision method for an electronic immunity passport, which relates to the technical fields such as blockchain, consensus algorithms, and data security protection.
After the global outbreak of COVID-19 pandemic, exit-entry control policies have been tightened around the world, restricting cross-border flow. The spread of the epidemic has brought a great impact on the development of international communication and international trade and economic activities. In order to restore and develop the economy, relieve the pressure on people's livelihood, and restore normal production and international communication, countries and regions successively propose issuing immunity passports.
However, the immunity passports have some problems. Due to the difference between different vaccine types, the different vaccination methods in different countries, and the time interval between multiple doses of the vaccine, disagreement has arisen among countries over the reliability of the immunity passports, increasing the difficulty of unified management.
On the other hand, it is also necessary to determine the minimum length of immunity after vaccination and to monitor its duration, so as to know whether and when it is required to reassess the immune status of a passport holder and update his/her passport. Moreover, the immunity passport has problems of forgery and privacy leakage of personal information data.
These are the issues that should be considered and addressed during the design and use of the immunity passport.
The present invention provides a blockchain-based supervision method for an electronic immunity passport, which solves the problems that the immunity passport data is not shared and its reliability needs to be ensured by means of blockchain and searchable encryption technologies, and achieves secure mutual recognition and communication of immunity passports between countries, so as to promote international exchange and gradual recovery of international trade and economic activities.
A blockchain-based supervision method for an electronic immunity passport is provided, which includes the following steps:
Further, step S1 is specifically as follows:
Further, in step S2, the immunity passport m includes personal information and vaccination information of a user, the vaccination information including vaccination time, vaccination location, and vaccine information.
Further, in step S3, the hospital h encrypting the immunity passport m and the passport number PUIDi is specifically as follows: randomly selecting, by the hospital h, a secrete value θ∈Z*p, where Z*p is the remainder class of the integer module p, that is, Z*p={1,2, . . . , p-1}; calculating A=pkiθ, k=e(gθ,H2(PUIDi)), B=k×m, and F=H3(k), where pki is the public key of the vaccinee i, e is the bilinear mapping defined in step S11, g is the generating element of G1, G1 is the multiplicative cyclic group of which the order is a prime p, H2 and H3 are two collision-proof hash functions, and m is the plaintext data of the immunity passport; and recording C1=(A,B) as the ciphertext of the immunity passport m and C2=(A,F) as the ciphertext of the immunity passport number PUIDi.
Further, in step S4, the hospital h generating the transaction TC by means of the hash value of the ciphertext H1(C1), the keyword index IK, and the date of expiry T of the immunity passport and uploading the transaction TC to the national alliance chain node is specifically as follows:
Further, in step S5, the national alliance chain node establishing a safety index IS by means of searchable encryption technology, generating a transaction TW according to the safety index IS and the date of expiry T, and uploading the transaction TW to the world alliance chain is specifically as follows:
Further, in step S6, the vaccinee i generating the trapdoor TQ by means of searchable encryption technology and according to the passport number PUIDi when the vaccinee i is requested to show the immunity passport m, and then uploading the trapdoor TQ to the world alliance chain as a transaction is specifically as follows:
and τ2=gd by means of his/her own passport number PUIDi, where ski is a private key of the vaccinee i, pkw is a public key of the world alliance chain node w, H2 is a harsh function defined in step S11, and g is a generating element of G1; and
Further, in step S7, the world alliance chain searching for the ciphertext C1 of the corresponding immunity passport m by means of a smart contract after receiving the trapdoor TQ, and sending the found ciphertext C1 of the immunity passport m to the vaccinee i is specifically as follows:
where skw is a private key of the world alliance chain node w, and
and τ2=gd are parameters calculated in step S61;
holds true, where BID is the national alliance chain block identifier, IK=C2 is the keyword index, C2=(A,F) is the ciphertext of the immunity passport number PUIDi, A=pkiθ and F=H3(k) are parameters calculated in step S3, k=e(gθ, H2(PUIDi)), skw is the private key of the world alliance chain node w, τ1 and τ2 are parameters calculated in step S61, and e is the bilinear mapping defined in step S11; and if the equation holds true, extracting the country ID and the national alliance chain block identifier BID from the transaction TW;
Further, in step S8, the vaccinee i decrypting the received ciphertext C1 of the immunity passport to obtain plaintext data m of the immunity passport is as follows:
of the immunity passport, where ski is the private key of the vaccinee i, and H2 is the hash function defined in step S11.
Further, in step S9, the alliance chain node, including the national alliance chain node and the world alliance chain node, performing periodic maintenance by means of a smart contract, checking whether the immunity passport m expires, and updating the expired immunity passport m is specifically as follows:
A preferred embodiment of the present invention is described below with reference to the accompanying drawings.
As shown in
S13. The CA correspondingly assigns, through a secure channel, the public-private key pairs obtained in step S12 to the members, including the vaccinee i, the hospital h, the national alliance chain node c and the world alliance chain node w, in the blockchain system.
S2. After the vaccinee i is vaccinated in the hospital h, the hospital h generates an immunity passport m for the vaccinee i and assigns a passport number PUIDi.
In step S2, as shown in
S3. The hospital h encrypts the immunity passport m and the passport number PUIDi, generates a hash value H1(C1) of the ciphertext C1 of the immunity passport m, and uploads the ciphertext C1 of the immunity passport m to a hospital server for storage.
In step S3, the hospital h encrypting the immunity passport m and the passport number PUIDi is specifically as follows: The hospital h randomly selects a secrete value θ∈Z*p, where Z*p is the remainder class of the integer module p, that is, Z*p={1,2, . . . , p-1}; calculates A=pkiθ, k=e(gθ, H2(PUIDi)), B=k×m, and F=H3(k), where pki is the public key of the vaccinee i, e is the bilinear mapping defined in step S11, g is the generating element of G1, G1 is the multiplicative cyclic group of which the order is a prime p, H2 and H3 are two collision-proof hash functions, and m is the plaintext data of the immunity passport; and records C1=(A,B) as the ciphertext of the immunity passport m and C2=(A,F) as the ciphertext of the immunity passport number PUIDi.
S4. The hospital h generates a transaction TC by means of the ciphertext hash value H1(C1), a keyword index IK, and the date of expiry T of the immunity passport; and uploads the transaction TC to the national alliance chain node. The specific operation is as follows:
S41. The hospital h establishes a keyword index IKC2 by means of searchable encryption technology and according to the ciphertext C2 of the immunity passport number PUIDi.
S42. The hospital h generates a transaction TC by means of the hash value H1(C1) of the ciphertext of the immunity passport m, the date of expiry T of the immunity passport, and the keyword index IK. The structure of the transaction TC is shown in
S43. The hospital h packs the transaction TC and uploads the same to the national alliance chain node. The national alliance chain node runs a PBFT consensus mechanism to authenticate the transaction TC, and generates a new block BlockC after successful authentication.
S5. The national alliance chain node establishes a safety index IS by means of searchable encryption technology, generates a transaction TW according to the safety index IS and the date of expiry T, and uploads the transaction TW to the world alliance chain. The specific operation is as follows:
S51. In each national alliance chain, the national alliance chain node extracts a keyword index IK, the data of expiry T, and a block identifier BID of the national alliance chain where the node is located from each transaction in the block BlockC generated in step S43.
S52. A safety index IS=BID, IK is established by means of the keyword index IK and the national alliance chain block identifier BID.
S53. The national alliance chain node generates a transaction TW by means of the safety index IS and the date of expiry T, where the structure of the transaction TW is shown in
S54. The national alliance chain node packs and uploads the transaction TW to the world alliance chain; and the world alliance chain node runs a PBFT consensus mechanism to authenticate the transaction, and generates a new block BlockW after successful authentication.
S6. When the vaccinee i is requested to show the immunity passport m, for example, when the vaccinee i needs to go abroad and is requested to show the immunity passport m, the vaccinee i generates a trapdoor TQ by means of searchable encryption technology and according to the passport number PUIDi, and then uploads the trapdoor TQ to the world alliance chain as a transaction. The specific operation is as follows:
S61. When the vaccinee i is requested to show the immunity passport m, the vaccinee i randomly selects a secrete value d∈Z*p, where Z*p={1,2, . . . , p-1}; and calculates
and τ2=gd by means of his/her own passport number PUIDi, where ski is a private key of the vaccinee i, pkw is a public key of the world alliance chain node w, H2 is a harsh function defined in step S11, and g is a generating element of G1.
S62. A trapdoor TQ=τ1, τ2 is generated, where τ1 and τ2 are parameters calculated in step S61; and then the trapdoor TQ is uploaded to the world alliance chain as a transaction.
S7. After receiving the trapdoor TQ, the world alliance chain searches for the ciphertext C1 of the corresponding immunity passport m by means of a smart contract, and sends the found ciphertext C1 of the immunity passport m to the vaccinee i. The specific operation is as follows:
S71. After receiving the trapdoor TQ=τ1, τ2, the world alliance chain node calculates
where skw is a private key of the world alliance chain node w, and
and τ2=gd are parameters calculated in step S61.
S72. The world alliance chain node extracts the safety index IS=BID, IK from the transaction TW in the block BlockW generated in step S54, to authenticate whether the equation
holds true, where BID is the national alliance chain block identifier, IK=C2 is the keyword index, C2=(A,F) is the ciphertext of the immunity passport number PUIDi, A=pkiθ and F=H3(k) are parameters calculated in step S3, k=e(gθ, H2(PUIDi)), skw is the private key of the world alliance chain node w, τ1 and τ2 are parameters calculated in step S61, and e is the bilinear mapping defined in step S11. If the equation holds true, the country ID and the national alliance chain block identifier BID are extracted from the transaction TW.
S73. The corresponding national alliance chain is found according to the country ID.
S74. In the national alliance chain, the corresponding block is accessed by means of the national alliance chain block identifier BID.
S75. The hash value H1(C1) of the ciphertext C1 of the immunity passport m and the hospital ID are extracted from the block.
S76. A corresponding hospital server is found according to the hospital ID, and hash-value comparison is performed to obtain the ciphertext C1=(A,B) of the immunity passport m.
S77. The ciphertext C1 of the immunity passport m is returned to the alliance chain node.
S78. The alliance chain node sends the ciphertext C1 of the immunity passport m to the vaccinee.
S8. The vaccinee i decrypts the received ciphertext C1 of the immunity passport to obtain plaintext data m of the immunity passport. The specific operation is as follows:
S81. The vaccinee i receives the ciphertext C1=(A,B) of the immunity passport m, where A=pkiθ and B=k×m are parameters calculated in step S3, and k=e(gθ, H2(PUIDi)).
S82. The plaintext data
of the immunity passport is calculated, where ski is the private key of the vaccinee i, and H2 is the hash function defined in step S11.
S9. An alliance chain node, including a national alliance chain node and a world alliance chain node, performs periodic maintenance by means of a smart contract; checks whether the immunity passport m expires; and updates the expired immunity passport m. The specific operation is as follows:
S91. The alliance chain node acquires the data of expiry T of the immunity passport m from the transaction.
S92. The alliance chain node acquires the timestamp t of the transaction.
S93. The alliance chain node acquires the current time Tcur.
S94. Tcur−t is calculated. If Tcur−t<T, it indicates that the current immunity passport m has not yet expired; or if Tcur−t>T, it indicates that the current immunity passport m has expired, and the relevant hospital is notified to reassess the immune status of the vaccinee i through the national alliance chain node and to update the immunity passport for the vaccinee.
The blockchain-based supervision method for an electronic immunity passport in the embodiment includes the following six entities:
Vaccinee: After being vaccinated, the vaccinee generates his/her immunity passport via a user terminal and acquires his/her own immunity passport number. When the vaccinee plans to go abroad, he/she provides his/her own immunity passport number to an inspector for query, to obtain the ciphertext of the immunity passport and decrypt the ciphertext.
Hospital: After vaccinating the vaccinee against COVID-19, the hospital generates an immunity passport for the vaccinee through a terminal device and encrypts the passport, and uploads the ciphertext data of the immunity passport to the hospital server for storage.
Hospital server: The hospital server stores the ciphertext data of the immunity passport of the vaccinee.
National alliance chain: Each country separately maintains a corresponding national alliance chain which is led by the National Health Commission. The domestic hospitals serve as the national alliance chain nodes and adopt a PBFT consensus mechanism.
World alliance chain: The countries all over the world work together to maintain one world alliance chain which is led by the World Health Organization. The health commission in each country and the international health organizations serve as the world alliance chain nodes and adopt a PBFT consensus mechanism.
Certificate Authority CA: As a trusted third party, the CA initializes common parameters, and generates and distributes keys for each member in the scheme.
The blockchain-based supervision method for an electronic immunity passport stores relevant data, such as indexes and the date of expiry of the immunity passport, by means of blockchain technology, thus ensuring data openness, traceability, and unalterableness, and achieving openness and transparency of the relevant data such as indexes and the date of expiry of the immunity passport. In this way, the immunity passport data can be effectively supervised, and reliable immunity passport data can be provided for the vaccinee, thus achieving secure mutual recognition and communication of the immunity passport between countries, providing convenience for the vaccine, and further avoiding the problems of the forgery of immunity passport data and privacy leakage of personal information data. The method further completes search and regular maintenance for the immunity passport by means of the smart contract of the blockchain.
The blockchain-based supervision method for an electronic immunity passport guarantees data confidentiality by means of searchable encryption technology, implements sharing of the immunity passport data, and further solves the problems of privacy leakage and forgery of personal information data with reference to the cryptographic technique. For the dates of expiry of the vaccine and the immunity passport, the method supervises the transactions on the alliance chain by using smart contract and timestamp technologies, and detects the date of expiry of the immunity passport, so as to know whether and when it is required to reassess the immune status of a passport holder, and to update his/her passport.
Although the present invention has been described in detail above with reference to the foregoing embodiment, persons skilled in the art still can modify the technical solutions described in the foregoing embodiment, or make equivalent substitutions for some of the technical features. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention shall fall within the scope of protection of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
202111230252.X | Oct 2021 | CN | national |
This application is a 371 of international application of PCT application serial no. PCT/CN2022/116446, filed on Sep. 1, 2022, which claims the priority benefit of China application serial no. 202111230252.X, filed on Oct. 21, 2021. The entirety of each of the above-mentioned patent applications is hereby incorporated by reference herein and made a part of this specification.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2022/116446 | 9/1/2022 | WO |