Digital medical system anti-quantum identity authentication method based on alliance block chain

By adopting an anti-quantum identity authentication method based on the alliance blockchain in the digital medical system, the problem of being unable to resist quantum computer attacks in the existing technology is solved, secure identity authentication and key exchange are achieved, and the security of the medical system is ensured. Sexuality and privacy protection.

CN119363358AActive Publication Date: 2025-01-24HUAZHONG AGRI UNIV +1
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411568909.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-05
Publication Date
2025-01-24
Estimated Expiration
2044-11-05

AI Technical Summary

Technical Problem

In the prior art, identity authentication and key exchange of digital medical systems cannot resist attacks from quantum computers, and there is a problem of insufficient security.

Method used

Adopting a quantum-resistant identity authentication method based on the alliance blockchain, the certificate authentication center node generates and manages public keys and derived public keys for medical institutions and medical patients, and uses blockchain to store and manage certificates to achieve identity anonymity and linkability and traceability.

Benefits of technology

This method can effectively resist the attack of quantum computers, provide safe identity authentication and key exchange mechanism, and ensure the security of privacy protection and encryption communication of medical patients.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363358A_ABST
    Figure CN119363358A_ABST
Patent Text Reader

Abstract

The invention discloses a digital medical system anti-quantum identity authentication method based on an alliance block chain. And the certificate authentication center node generates and issues an identity certificate for each node based on the received and generated public key, and verifies patient node information after receiving the main public key MPK and identity information of the medical patient node. And if the verification is passed, generating a derived public key DPK by using a main public key MPK of the medical patient node. And the medical institution node sends the public key pkid to the certificate authentication center node, and the certificate authentication center node generates and issues an identity certificate for the public key pkid of the medical institution node after verifying the identity and qualification information. Each medical institution node and each medical patient node can only have one effective identity certificate at the same time. The medical institution node and the medical patient node apply for a KEM public key certificate CertKEM from the certificate authentication center node for key exchange between each other, and attack of a quantum computer on a cryptographic algorithm can be resisted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer information security technology, and in particular to a digital medical system quantum-resistant identity authentication method based on alliance blockchain. Background Art

[0002] With the rapid increase of medical patients and medical institutions in digital medical systems, the privacy protection and encrypted communication of medical patients are becoming more and more important. Therefore, the security of digital medical systems has become one of the hottest research topics in the world. The authentication mechanism is the first line of defense to protect digital medical systems from various attacks. Each medical institution and medical patient is equipped with a public-private key pair by the public key infrastructure (PKI). The certificate authority (CA) issues a certificate to the public key of each medical institution and medical patient to verify their identity. In order to further protect the privacy of medical patients, CA allows a medical patient to generate multiple public-private key pairs and provides a short-term pseudonym for each public key certificate to hide its true identity. Since a medical patient can have multiple authentication identities at the same time, it is vulnerable to Sybil attacks. During the attack, a medical patient can use multiple identities at the same time to launch more serious attacks, such as denial of service attacks (DoS).

[0003] In addition, as a distributed ledger, the consortium blockchain has significant advantages, such as better security, higher transparency, and stronger traceability. The consortium blockchain is jointly maintained and managed by an organization or entity that is trusted by its internal members, and only authorized participants can participate in the transactions and consensus process of the blockchain. Therefore, the consortium blockchain guarantees the privacy and traceability of the nodes in the system, and all public keys and corresponding identity certificates are stored and managed on the chain.

[0004] Although the linkable ring signature authentication scheme maintains a good balance between privacy and security, that is, it can resist Sybil attacks, the related schemes rely heavily on traditional asymmetric cryptography based on mathematical problems such as integer decomposition, discrete logarithm or bilinear pairing. Due to the rapid development of quantum computers, traditional asymmetric cryptographic systems will suffer a devastating blow under the attack of quantum computers. Therefore, the research and application of quantum-resistant cryptography is worthy of attention. Summary of the invention

[0005] The present invention solves the technical problem that identity authentication and key exchange in digital medical systems in the prior art cannot resist quantum computer attacks by providing a digital medical system quantum-resistant identity authentication method based on alliance blockchain. The method has the characteristics of identity anonymity, linkability and traceability.

[0006] The present invention provides a digital medical system quantum-resistant identity authentication method based on alliance blockchain, comprising:

[0007] Each medical institution node randomly generates a public-private key pair (pk id ,sk id ), and the public key pk id Sent to the certificate authentication center node; each medical patient node randomly generates a master public-private key pair (mpk A ,msk A ) and the master public key mpk A and identity information to the certificate authentication center node;

[0008] The certificate authentication center node is based on the public key pk id Generate and issue a certificate authority root certificate and medical institution identity certificate Cert for each medical institution node M The certificate authentication center node is based on the master public key mpk A Generate its derived public key dpk A , and generate and issue a certificate authentication center root certificate and a medical patient MPK certificate for each medical patient node and DPK certificate for medical patients

[0009] The medical institution node verifies the medical institution identity certificate Cert M effectiveness;

[0010] If the medical institution identity certificate Cert M is valid, the medical institution node obtains the corresponding derived public key dpk from all medical patient nodes connected to this node i , Medical Patient MPK Certificate and DPK certificate for medical patients And maintain a unique DPK ring miRing = (dpk1, dpk2, ..., dpk n );

[0011] The new medical patient node A sends a ring-adding request to the medical institution node B that is applying to join; the ring-adding request includes: a request message body jrReq A , the ring signature σ of the new medical patient node A A , Medical Patient MPK Certificate and DPK certificate for medical patients Serial number;

[0012] The medical institution node B that applied to join retrieves the MPK certificate of the new medical patient node A on the blockchain according to the serial number in the ring request and DPK certificate for medical patients And extract the public key CA of the root certificate of the certificate authority pk , use the public key CA pk Verify the MPK certificate and DPK certificate for medical patients The medical institution node B applying to join also verifies the ring signature σ in the ring addition request. A effectiveness;

[0013] If all verifications pass, the medical institution node B accepts the medical patient node A and derives the public key dpk A Join the maintained DPK ring.

[0014] Specifically, the medical institution node verifies the medical institution identity certificate Cert M The effectiveness of

[0015] The medical institution node obtains the Cert M Extract the signature of the certificate authentication center node, and use the public key CA of the root certificate of the certificate authentication center pk Verify that the signature matches the Cert M The content is consistent;

[0016] If they are consistent, the signature verification is successful;

[0017] The medical institution node obtains the Cert M Extract the validity period from

[0018] If the Cert M If it is within the said validity period, the validity period verification is passed;

[0019] The medical institution node queries the Cert M Whether it is in the certificate revocation list of the certificate authentication center node;

[0020] If the Cert M If the certificate is not in the certificate revocation list, the certificate status verification is passed;

[0021] The medical institution node obtains the Cert M Extract preset information from

[0022] If the preset information matches the actual information of the medical institution node, the certificate content consistency verification passes;

[0023] If the signature verification passes, the validity period verification passes, the certificate status verification passes, and the certificate content consistency verification passes, then the medical institution identity certificate Cert M is effective.

[0024] Specifically, the use of the public key CA pk Verify the MPK certificate and DPK certificate for medical patients The medical institution node B applying to join also verifies the ring signature σ in the ring addition request. A The effectiveness of

[0025] Use the public key of the CA pk Verify the and stated Whether they all contain the signature of the certificate authentication center node, whether they are all within the validity period, and whether the certificate serial numbers are consistent with the blockchain records;

[0026] If the and stated All of them contain the signature of the certificate authentication center node, are within the validity period, and the certificate serial number is consistent with the blockchain record, then the and stated The legality of issuance is passed;

[0027] The medical institution node B applying to join verifies the ring signature σ in the ring addition request A Whether the mpk A Whether the generated and signed content is consistent with the request message body jrReq A Consistency, whether the signature format is legal;

[0028] If the ring signature σ A By the mpk A Generate and sign the content and request message body jrReq A If the signature format is legal, the ring signature σ A is effective.

[0029] Specifically, it also includes:

[0030] Medical patient node X in the DPK ring obtains the DPK certificate of medical patient node Y in the same ring Then pass the public key CA of the root certificate of the certificate authentication center pk Verify DPK certificate effectiveness;

[0031] like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the DPK certificate of medical patient node Y is valid;

[0032] Medical patient node X also obtains the KEM certificate of medical patient node Y Then pass the public key CA of the root certificate of the certificate authority pk Verify KEM Certificate effectiveness;

[0033] like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the KEM certificate of medical patient node Y is valid;

[0034] If the DPK certificate and KEM certificate of the medical patient node Y are both verified, the medical patient node X performs a key exchange with the medical patient node Y according to the key exchange mechanism. This operation is recorded as where sessKey XY is the session key between X and Y, cipherText XY It is the ciphertext sent by X to Y when X and Y communicate;

[0035] When Y receives the cipherText sent by X XY , Medical Patient DPK Certificate and medical patient KEM certificate Cert KEMX After that, the public key of the root certificate of the certificate authority CA pk Verify DPK certificate effectiveness;

[0036] like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the DPK certificate of medical patient node X is valid;

[0037] Medical patient node Y also passes the public key CA of the root certificate of the certificate authority pk Verify KEM certificate Cert kemX effectiveness;

[0038] If Cert kemX If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the KEM certificate of medical patient node X is valid;

[0039] If both the DPK certificate and KEM certificate of the medical patient node X are verified, Y uses its own KEM private key sk kemY CipherText XY Decapsulate and obtain the session key sessKey XY .

[0040] Specifically, it also includes:

[0041] The medical patient node sending the broadcast signs the broadcast message using the private key corresponding to its medical patient DPK certificate, and sends the broadcast message to other medical patient nodes in the same ring;

[0042] Other medical patient nodes in the same ring receive the broadcast message and use the public key corresponding to the DPK certificate to verify the identity of the medical patient node sending the broadcast and the validity of the ring signature;

[0043] If the medical patient node identity and ring signature sending the broadcast are both valid, then the broadcast message is checked.

[0044] Specifically, the use of the public key corresponding to the DPK certificate to verify the validity of the medical patient node identity and ring signature that sends the broadcast includes:

[0045] Using the DPK certificate to check whether the medical patient node sending the broadcast is in a preset legal medical patient node list;

[0046] If the node is in the legal medical patient node list, the legality of the identity of the medical patient node sending the broadcast is verified;

[0047] Use the public key corresponding to the DPK certificate to verify whether the ring signature of the medical patient node that sends the broadcast is consistent with the original message content and whether it can prove that the message is generated by the member node in the ring;

[0048] If the ring signature is consistent with the original message content and can prove that the message is generated by a member node within the ring, the validity verification of the ring signature of the medical patient node that sends the broadcast is passed.

[0049] Specifically, it also includes:

[0050] The medical institution node uses its private key sk id Sign the broadcast message and send it to the medical patient nodes in the same ring;

[0051] The medical patient nodes in the same ring are based on the identity public key pk in the medical institution's ID card. id verifying the validity of the signature;

[0052] If the signature is valid, the broadcast message is checked.

[0053] Specifically, the medical patient nodes in the same ring are based on the identity public key pk in the medical institution identity card. id Verifying the validity of the signature, including:

[0054] The medical patient nodes in the same ring are based on the identity public key pk in the medical institution's identity card. idVerify whether the medical institution identity certificate is within the validity period and is in an available state;

[0055] If the medical institution identity certificate is within the validity period and is available, the signature is valid.

[0056] Specifically, it also includes:

[0057] The medical patient node C sends a request to update or revoke the certificate to the certificate authentication center node. The certificate authentication center node receives the request, revokes the old DPK certificate of the medical patient node, and then generates a new DPK certificate dpk for it. Aupdt ;

[0058] The medical patient node C receives the new DPK certificate dpk Aupdt , and the new DPK certificate dpk Aupdt , revocation certificate request dpk Arvk , Update certificate request dpk Aupdt The certificate serial numbers of both are sent to the medical institution node Z in the ring where they are located;

[0059] The medical institution node Z obtains the certificate revocation request dpk according to the received certificate serial number Arvk and update certificate request dpk Arvk and verify the revocation certificate request dpk by Arvk , Update certificate request dpk Arvk , New DPK certificate dpk Aupdt , the identity of the medical patient node C is valid, the old certificate is deleted from the ring it maintains, and the new DPK certificate dpk Aupdt Added to its latest ring.

[0060] Specifically, the certificate revocation request dpk is verified by Arvk , Update certificate request dpk Arvk , New DPK certificate dpk Aupdt , the identity of the medical patient node C is valid, including:

[0061] The medical institution node Z checks the certificate revocation request dpk Arvk , Update certificate request dpk Arvk Whether the format and content of the certificate revocation request dpk meet the preset requirements Arvk , Update certificate request dpk Arvk Whether the certificate serial number in the certificate is consistent with the information in the record;

[0062] If the certificate revocation request dpk Arvk , Update certificate request dpkArvk The format and content of the certificate revocation request dpk meet the preset requirements. Arvk , Update certificate request dpk Arvk If the certificate serial number in the certificate is consistent with the information in the record, the certificate revocation request dpk Arvk , Update certificate request dpk Arvk is effective;

[0063] The medical institution node Z obtains the public key CA of the root certificate of the certificate authentication center pk Verify the new DPK certificate dpk Aupdt Whether it is within the validity period and is available;

[0064] If the new DPK certificate dpk Aupdt If the new DPK certificate dpk is within the validity period and is available, Aupdt is effective;

[0065] The medical institution node Z requests dpk from the revocation certificate Arvk , Update certificate request dpk Arvk extracting the identity information of the medical patient node C from the old certificate, and matching the extracted identity information of the medical patient node C with the identity information in the old certificate;

[0066] If the extracted identity information of the medical patient node C matches the identity information in the old certificate, the identity of the medical patient node C is valid.

[0067] One or more technical solutions provided in the present invention have at least the following technical effects or advantages:

[0068] The certificate authentication center node generates and issues corresponding identity certificates for each node in the digital medical system based on all received and generated public keys. After receiving the master public key MPK and identity information of the medical patient node, the certificate authentication center node verifies the patient node information offline. If the verification is successful, the master public key MPK of the medical patient node is used to generate the corresponding derived public key DPK. At the same time, the medical institution node sends its public key pk id Sent to the certificate authentication center node, which verifies its identity and qualification information and issues the public key pk of the medical institution node. id Generate and issue the corresponding identity certificate. Based on the above process, the top level of the certificate hierarchy is the root certificate of the certificate authority, and its sub-certificates include the medical institution identity certificate Cert M , Master public key MPK certificate Cert of medical patient node mpkA And its derived public key DPK anonymous certificate Cert dpkAEach medical institution node and medical patient node can only have one valid Cert at a time M and Cert mpkA Medical institution nodes and medical patient nodes can apply for KEM public key certificates Cert from the certificate authentication center node KEM , used for key exchange between each other. Subsequently, both parties generate a session key sessKey to protect the secure communication between the nodes of the digital medical system. This hierarchical quantum-resistant certificate structure provides a safe and effective certificate management and identity and authentication mechanism for the medical system proposed by the present invention. It does not rely on traditional asymmetric encryption and decryption algorithms, and can not only resist the attack of quantum computers on cryptographic algorithms, but also provide anonymity, traceability and linkability for the medical patient nodes of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0069] Figure 1 A schematic diagram of a quantum-resistant identity authentication method for a digital medical system based on a consortium blockchain provided in an embodiment of the present invention;

[0070] Figure 2 Schematic diagram of the hierarchical structure of the quantum-resistant cryptographic certificate system of the digital medical system in the embodiment of the present invention. DETAILED DESCRIPTION

[0071] The embodiment of the present invention solves the technical problem that identity authentication and key exchange in digital medical systems in the prior art cannot resist quantum computer attacks by providing a digital medical system quantum-resistant identity authentication method based on a consortium blockchain. The method has the characteristics of identity anonymity, linkability and traceability.

[0072] The technical solution in the embodiment of the present invention is to solve the above technical problems, and the overall idea is as follows:

[0073] An embodiment of the present invention provides a quantum-resistant identity authentication and key exchange method for a digital medical system based on a consortium blockchain, which can achieve privacy protection and encrypted communication for medical patients, wherein the digital medical system includes: a certificate authentication center organization, a medical institution organization, and a medical patient organization; and the smart contract includes: a certificate authentication center contract, a medical institution contract, and a medical patient contract.

[0074] The certificate authentication center organization includes a certificate authentication center node, which calls the certificate authentication center contract to generate certificates, which are used to generate certificates to ensure the integrity and traceability of data;

[0075] The medical institution organization includes multiple medical institution nodes, and the medical institution nodes call the medical institution contract to provide public key ring maintenance and communication services for the digital medical system.

[0076] The medical patient organization includes several medical patients representing medical patient nodes, which call the medical patient contract to perform ring signature related operations and communications. The medical institution node provides ring signature public key management and authentication services to the medical patient node.

[0077] The certificate authentication center contract includes a certificate generation function, which provides registration services for medical institution nodes and medical patient nodes.

[0078] The medical institution contract includes ring signature related operation functions, which is used to provide ring signature related operations for medical patient nodes.

[0079] The medical patient contract includes ring signature related operation functions and communication related functions. The function of the ring signature related operation function is to provide ring signature related operations for the medical patient node; the function of the communication related function is to provide encrypted communication services for the medical patient node.

[0080] In order to better understand the above technical solution, the above technical solution will be described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0081] like Figure 1 and Figure 2 As shown, the anti-quantum identity authentication method for a digital medical system based on a consortium blockchain provided by an embodiment of the present invention includes:

[0082] First, deploy all nodes in the digital medical system. After all nodes in the digital medical system network are deployed, install three contracts on each node, namely the certificate authentication center contract, the medical institution contract, and the medical patient contract.

[0083] Each medical institution node randomly generates a public-private key pair (pk id ,sk id ), and the public key pk id Sent to the certificate authentication center node to register as a legitimate node in the digital medical system. Each medical patient node randomly generates a master public-private key pair (mpk A ,msk A ) and the master public key mpk A The identity information is sent to the certificate authentication center node to register as a legitimate node in the digital medical system;

[0084] Specifically, each medical patient node randomly selects a private seed A , used to generate its master public and private key pair (mpk A ,msk A ), record it as MasterKeyGen(seed A )→(mpk A ,mskA ).

[0085] After the certificate authentication center node verifies the detailed information of the medical patient node offline, the master public key mpk of the medical patient node is used A Generate its derived public key dpk A , and record it as DerivedPublicKeyGen(mpk A )→dpk A Specifically, the certificate authentication center node uses the public key pk id Generate and issue a certificate authority root certificate and medical institution identity certificate Cert for each medical institution node M , the certificate authentication center node uses the master public key mpk A Generate its derived public key dpk A , and generate and issue a certificate authentication center root certificate and a medical patient MPK certificate Cert for each medical patient node mpkA And medical patient DPK certificate Cert dpkA ; With the help of the alliance blockchain Hyperledger Fabric, the certificate authentication center node can easily manage the on-chain certificates. These certificates are stored under the certificate serial number serialNum generated and assigned by the certificate authentication center node. The relevant certificates can be further queried, updated or revoked through this certificate serial number serialNum.

[0086] Medical institution node verification medical institution identity certificate Cert M The validity of the medical institution identity certificate Cert M The effectiveness of

[0087] Medical institution nodes from Cert M Extract the signature of the certificate authentication center node from the CA using the public key of the root certificate of the certificate authentication center pk Verify that the signature matches the Cert M The content is consistent;

[0088] If they are consistent, it means that Cert M The signature is issued by a legitimate certificate authentication center node, and the signature verification is passed;

[0089] Medical institution nodes from Cert M Extract the validity period, including the start time and end time;

[0090] If Cert M If it is within the validity period, the validity verification is passed;

[0091] Medical institution node query Cert MWhether it is in the certificate revocation list of the certificate authority node;

[0092] If Cert M If it is not in the certificate revocation list, the certificate status verification is passed;

[0093] Medical institution nodes from Cert M In this embodiment, the preset information includes: the name of the medical institution, the identity public key pk id , certificate serial number, etc.

[0094] If the preset information matches the actual information of the medical institution node, the certificate content consistency verification passes;

[0095] If the signature verification, validity period verification, certificate status verification, and certificate content consistency verification are passed, it means that the medical institution identity certificate Cert M is effective.

[0096] If the medical institution identity certificate Cert M It is valid. The medical institution node obtains the corresponding derived public key dpk from all medical patient nodes connected to this node. i , Medical Patient MPK Certificate Cert mpkA And medical patient DPK certificate Cert dpkA , and maintain a unique DPK ring miRing = (dpk1, dpk2, ..., dpk n ); This ring contains: the DPK certificates of one or more medical patient nodes, which is equivalent to one or more medical patient nodes joining this medical institution node.

[0097] When a new medical patient node A needs to request medical services from a medical institution node B, the new medical patient node A sends a ring-joining request to the medical institution node B that is applying to join. The ring-joining request includes: a request message body jrReq A , the ring signature σ of the new medical patient node A A , Medical Patient MPK Certificate and DPK certificate for medical patients Serial number serialNo and serialNo.

[0098] The medical institution node B that applied to join retrieves the MPK certificate of the new medical patient node A on the blockchain according to the serial number in the ring request and DPK certificate for medical patients The process is represented as and And extract the public key of the root certificate of the certificate authority CA pk , use the public key CA pk Verify the MPK certificate and DPK certificate for medical patients The medical institution node B applying to join also verifies the ring signature σ in the ring joining request. A effectiveness;

[0099] Specifically, using the public key CA pk Verify the MPK certificate and DPK certificate for medical patients The medical institution node B applying to join also verifies the ring signature σ in the ring joining request. A The effectiveness of

[0100] Using a Public Key CA pk verify and Whether they all contain the signature of the certificate authentication center node, whether they are all within the validity period, and whether the certificate serial numbers are consistent with the blockchain records;

[0101] like and All of them contain the signature of the certificate authentication center node, are within the validity period, and the certificate serial number is consistent with the blockchain record. and The legality of issuance is passed;

[0102] Node B of the medical institution applying to join verifies the ring signature σ in the ring joining request A Is it by mpk A Whether the generated and signed content is consistent with the request message body jrReq A Whether the signature format (structure and length, etc.) is legal;

[0103] If the ring signature σ A By mpk A Generate and sign the content and request message body jrReq A If the signature format is legal, the ring signature σ A is effective.

[0104] If all verifications pass, the medical institution node B accepts the medical patient node A and derives its public key dpk A Join the maintained DPK ring.

[0105] In order to realize point-to-point transmission communication between medical patient nodes in the same DPK ring, it also includes:

[0106] Medical patient node X in the DPK ring obtains the DPK certificate of medical patient node Y in the same ring Then pass the public key CA of the root certificate of the certificate authority pk Verify DPK certificate The validity of Whether the signature is consistent with its content, whether the signer is a legitimate certificate authentication center node, whether the certificate is within the validity period, and whether the certificate is in an available state;

[0107] like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the DPK certificate of medical patient node Y is valid;

[0108] Medical patient node X also obtains the KEM certificate of medical patient node Y Then pass the public key CA of the root certificate of the certificate authority pk Verify KEM Certificate The validity of Whether the signature is consistent with its content, whether the signer is a legitimate certificate authentication center node, whether the certificate is within the validity period, and whether the certificate is in an available state;

[0109] like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the KEM certificate of medical patient node Y is valid;

[0110] If the DPK certificate and KEM certificate of the medical patient node Y are both verified, the medical patient node X performs a key exchange with the medical patient node Y according to the key exchange mechanism. This operation is recorded as where sessKey XY is the session key between X and Y, cipherText XY It is the ciphertext sent by X to Y when X and Y communicate.

[0111] When Y receives the cipherText sent by X XY , Medical Patient DPK Certificate and medical patient KEM certificate Cert KEMX After that, the public key of the root certificate of the certificate authority CA pk Verify DPK certificate The validity of Whether the signature is consistent with its content, whether the signer is a legitimate certificate authentication center node, whether the certificate is within the validity period, and whether the certificate is in an available state;

[0112] like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the DPK certificate of medical patient node X is valid;

[0113] Medical patient node Y also passes the public key CA of the root certificate of the certificate authority pk Verify KEM Certificate The validity of Whether the signature is consistent with its content, whether the signer is a legitimate certificate authentication center node, whether the certificate is within the validity period, and whether the certificate is in an available state;

[0114] like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the KEM certificate of medical patient node X is valid;

[0115] If both the DPK certificate and KEM certificate of the medical patient node X are verified, Y uses its own KEM private key sk kemY CipherText XY Decapsulate and obtain the session key sessKey XY .

[0116] Due to the secure certificate management mechanism of the on-chain certificate authentication center node, medical patient nodes X and Y only need to provide a set of certificate serial numbers to call the API for verifying the smart contract. At the same time, the medical patient DPK certificate and medical patient KEM certificate related to both can be verified. After the key exchange is successful, medical patient nodes X and Y can use the session key sessKey XY As the symmetric key or message authentication code MAC (Message Authentication Code) key of the symmetric encryption and decryption algorithm, efficient communication is carried out, so as to ensure the confidentiality, integrity and authentication of the communication between medical patient nodes X and Y. If the medical patient node needs to conduct secure point-to-point transmission communication with the medical institution node, both need to perform similar certificate verification and key exchange processes as mentioned above. The only difference is that during the certificate verification process, the medical institution node only needs to verify its identity certificate because it does not need to use anonymous services. The process for the medical institution node to verify its identity certificate is the same as the process of verifying the DPK certificate, that is, by retrieving the serial number of the certificate and using the public key CA of the root certificate of the certificate authentication center pk Verify the validity of the digital signature. After the key exchange is successful, the medical institution node and the medical patient node can achieve point-to-point transmission communication with encryption and authentication guarantees.

[0117] In order to realize the broadcast between nodes of the digital medical system, it also includes:

[0118] When a medical patient node needs to broadcast a message (such as consultation information, prescription information, medical mutual aid message, etc.) to other medical patient nodes, the medical patient node sending the broadcast uses the private key corresponding to its medical patient DPK certificate to sign the broadcast message and send the broadcast message to other medical patient nodes in the same ring;

[0119] Other medical patient nodes in the same ring receive the broadcast message and use the public key corresponding to the DPK certificate to verify the identity of the medical patient node sending the broadcast and the validity of the ring signature;

[0120] Specifically, the public key corresponding to the DPK certificate is used to verify the validity of the medical patient node identity and ring signature that sends the broadcast, including:

[0121] Use the DPK certificate to check whether the medical patient node sending the broadcast is in the preset legal medical patient node list;

[0122] If it is in the list of legal medical patient nodes, the legality of the identity of the medical patient node sending the broadcast is verified;

[0123] Use the public key corresponding to the DPK certificate to verify whether the ring signature of the medical patient node that sent the broadcast is consistent with the original message content and whether it can prove that the message was generated by the member node in the ring;

[0124] If the ring signature is consistent with the original message content and can prove that the message is generated by a member node in the ring, the validity of the ring signature of the medical patient node sending the broadcast is verified.

[0125] If the medical patient node identity and ring signature sending the broadcast are both valid, check the broadcast message.

[0126] When a medical institution node needs to broadcast a message to a medical patient node in the ring it maintains, it also includes:

[0127] The medical institution node uses its private key sk id Sign the broadcast message and send it to the medical patient nodes in the same ring;

[0128] The medical patient nodes in the same ring are based on the identity public key pk in the medical institution's ID card. id Verify the validity of the signature;

[0129] Specifically, the medical patient nodes in the same ring are based on the identity public key pk in the medical institution's identity card. id Verify the validity of the signature, including:

[0130] The medical patient nodes in the same ring are based on the identity public key pk in the medical institution's ID card. idVerify whether the medical institution's identity certificate is valid and usable;

[0131] If the medical institution's identity certificate is within the validity period and is in an available state (ie, not expired or revoked), the signature is valid.

[0132] If the signature is valid, check the broadcast message.

[0133] Since all certificates are managed by the certificate authentication center node on the blockchain, if the private key of a medical patient node is leaked, a request to update or revoke the certificate needs to be sent to the certificate authentication center node. Specifically, it also includes:

[0134] The medical patient node C sends a request to update or revoke the certificate to the certificate authentication center node. The certificate authentication center node receives the request, revokes the old DPK certificate of the medical patient node, and then generates a new DPK certificate for it.

[0135] Medical patient node C receives new DPK certificate And the new DPK certificate Certificate Revocation Request Renewal Certificate Request The certificate serial numbers of both are sent to the medical institution node Z in the ring where they are located;

[0136] Medical institution node Z obtains the certificate revocation request based on the received certificate serial number and renewal certificate request and verify the certificate revocation request by Renewal Certificate Request New DPK certificate The identity of the medical patient node C is valid, the old certificate is deleted from the ring it maintains, and the new DPK certificate is Added to its latest ring.

[0137] Specifically, by verifying the certificate revocation request Renewal Certificate Request New DPK certificate The identities of the medical patient nodes C are all valid, including:

[0138] Medical institution node Z checks the certificate revocation request Renewal Certificate Request The format and content of the request meet the preset requirements to ensure that the request contains necessary information, such as the patient node's identity, request type, etc., and the certificate revocation request Renewal Certificate Request The certificate serial number in the request is consistent with the information in the record to ensure that the request has not been modified or forged;

[0139] If you revoke a certificate request Renewal Certificate Request The format and content of the certificate revocation request meet the preset requirements. Renewal Certificate Request The certificate serial number in the request is consistent with the information in the record, indicating that the request content is complete, the format is as expected, and the serial number is consistent, then the certificate request is revoked. Renewal Certificate Request is effective;

[0140] Medical institution node Z uses the public key CA of the root certificate of the certificate authority pk Verify the new DPK certificate Whether it is within the validity period and is available;

[0141] If the new DPK certificate If the certificate is valid and available, the new DPK certificate Is valid, that is, a new DPK certificate Issued by a trusted certificate authority;

[0142] Medical institution node Z requests certificate revocation from Renewal Certificate Request extracting the identity information of the medical patient node C from the old certificate, and matching the extracted identity information of the medical patient node C with the identity information in the old certificate;

[0143] If the extracted identity information of the medical patient node C matches the identity information in the old certificate, the identity of the medical patient node C is valid.

[0144] In order to perform regular authentication of nodes in the ring to maintain the security of the ring, it also includes:

[0145] The medical institution node broadcasts query messages to all medical patient nodes in the ring it maintains. If a malicious medical patient node fails to respond to the query message on time for multiple times or refuses to leave the ring for multiple times, the medical institution node removes the certificate of the malicious medical patient node from the ring it maintains.

[0146] The embodiment of the present invention combines quantum-resistant cryptography with alliance blockchain and applies it to the digital medical system. While ensuring the anonymity, traceability and linkability of medical patients, it can also help medical patients to perform efficient message authentication and encryption and decryption during the communication process. Specifically, in order to provide anonymity, linkability and traceability, both the medical institution node and the medical patient node use the NIST-based quantum-resistant signature algorithm and ring signature algorithm. In order to provide encrypted communication, the NIST-based quantum-resistant key exchange algorithm is used to support the nodes in the digital medical system to transmit data more efficiently and securely during communication and broadcasting. In addition, the embodiment of the present invention is also configured to check the smart contract version number to prevent malicious modification of the smart contract and forgery of the installed smart contract.

[0147] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0148] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0149] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0150] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0151] The parts not described in detail in the embodiments of the present invention are all known technologies to those skilled in the art. Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not limiting. Although the present invention is described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present invention can be modified or replaced by equivalents without departing from the purpose and scope of the technical solutions of the present invention, which should be included in the scope of the claims of the present invention.

Claims

1. A quantum-resistant identity authentication method for a digital medical system based on a consortium blockchain, characterized in that: include: Each medical institution node randomly generates a public-private key pair (pk id ,sk id ), and the public key pk id Sent to the certificate authentication center node; each medical patient node randomly generates a master public-private key pair (mpk A ,msk A ) and the master public key mpk A and identity information to the certificate authentication center node; The certificate authentication center node is based on the public key pk id Generate and issue a certificate authority root certificate and medical institution identity certificate Cert for each medical institution node M The certificate authentication center node is based on the master public key mpk A Generate its derived public key dpk A , and generate and issue a certificate authentication center root certificate and a medical patient MPK certificate for each medical patient node and DPK certificate for medical patients The medical institution node verifies the medical institution identity certificate Cert M effectiveness; If the medical institution identity certificate Cert M is valid, the medical institution node obtains the corresponding derived public key dpk from all medical patient nodes connected to this node i , Medical Patient MPK Certificate and DPK certificate for medical patients And maintain a unique DPK ring miRing = (dpk1, dpk2, ..., dpk n ); The new medical patient node A sends a ring-adding request to the medical institution node B that is applying to join; the ring-adding request includes: a request message body jrReq A , the ring signature σ of the new medical patient node A A , Medical Patient MPK Certificate and DPK certificate for medical patients Serial number; The medical institution node B that applied to join retrieves the MPK certificate of the new medical patient node A on the blockchain according to the serial number in the ring request and DPK certificate for medical patients And extract the public key CA of the root certificate of the certificate authority pk , using the public key CA pk Verify the MPK certificate and DPK certificate for medical patients The medical institution node B applying to join also verifies the ring signature σ in the ring addition request. A effectiveness; If all verifications pass, the medical institution node B accepts the medical patient node A and derives the public key dpk A Join the maintained DPK ring.

2. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 1, characterized in that: The medical institution node verifies the medical institution identity certificate Cert M The effectiveness of The medical institution node obtains the Cert M Extract the signature of the certificate authentication center node, and use the public key CA of the root certificate of the certificate authentication center pk Verify that the signature matches the Cert M The content is consistent; If they are consistent, the signature verification is successful; The medical institution node obtains the Cert M Extract the validity period from If the Cert M If it is within the said validity period, the validity period verification is passed; The medical institution node queries the Cert M Whether it is in the certificate revocation list of the certificate authentication center node; If the Cert M If the certificate is not in the certificate revocation list, the certificate status verification is passed; The medical institution node obtains the Cert M Extract preset information from If the preset information matches the actual information of the medical institution node, the certificate content consistency verification passes; If the signature verification passes, the validity period verification passes, the certificate status verification passes, and the certificate content consistency verification passes, then the medical institution identity certificate Cert M is effective.

3. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 1, characterized in that: The public key CA pk Verify the MPK certificate and DPK certificate for medical patients The medical institution node B applying to join also verifies the ring signature σ in the ring addition request. A The effectiveness of Use the public key of the CA pk Verify the and stated Whether they all contain the signature of the certificate authentication center node, whether they are all within the validity period, and whether the certificate serial numbers are consistent with the blockchain records; If the and stated All of them contain the signature of the certificate authentication center node, are within the validity period, and the certificate serial number is consistent with the blockchain record, then the and stated The legality of issuance is passed; The medical institution node B applying to join verifies the ring signature σ in the ring addition request A Whether the mpk A Whether the generated and signed content is consistent with the request message body jrReq A Consistency, whether the signature format is legal; If the ring signature σ A By the mpk A Generate and sign the content and request message body jrReq A If the signature format is legal, the ring signature σ A is effective.

4. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 1, characterized in that: Also includes: Medical patient node X in the DPK ring obtains the DPK certificate of medical patient node Y in the same ring Then pass the public key CA of the root certificate of the certificate authentication center pk Verify DPK certificate effectiveness; like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the DPK certificate of medical patient node Y is valid; Medical patient node X also obtains the KEM certificate of medical patient node Y Then pass the public key CA of the root certificate of the certificate authority pk Verify KEM Certificate effectiveness; like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the KEM certificate of medical patient node Y is valid; If the DPK certificate and KEM certificate of the medical patient node Y are both verified, the medical patient node X performs a key exchange with the medical patient node Y according to the key exchange mechanism. This operation is recorded as where sessKey XY is the session key between X and Y, cipherText XY It is the ciphertext sent by X to Y when X and Y communicate; When Y receives the cipherText sent by X XY , Medical Patient DPK Certificate Cert dpkX and medical patient KEM certificate Cert KEMX After that, the public key of the root certificate of the certificate authority CA pk Verify DPK certificate effectiveness; like If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the DPK certificate of medical patient node X is valid; Medical patient node Y also passes the public key CA of the root certificate of the certificate authority pk Verify KEM certificate Cert kemX effectiveness; If Cert kemX If the signature is consistent with its content, the signer is a legitimate certificate authentication center node, and the certificate is within the validity period and is available, then the KEM certificate of medical patient node X is valid; If both the DPK certificate and KEM certificate of the medical patient node X are verified, Y uses its own KEM private key sk kemY CipherText XY Decapsulate and obtain the session key sessKey XY .

5. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 1, characterized in that: Also includes: The medical patient node sending the broadcast signs the broadcast message using the private key corresponding to its medical patient DPK certificate, and sends the broadcast message to other medical patient nodes in the same ring; Other medical patient nodes in the same ring receive the broadcast message and use the public key corresponding to the DPK certificate to verify the identity of the medical patient node sending the broadcast and the validity of the ring signature; If the medical patient node identity and ring signature sending the broadcast are both valid, then the broadcast message is checked.

6. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 5, characterized in that: The use of the public key corresponding to the DPK certificate to verify the validity of the medical patient node identity and the ring signature that sends the broadcast includes: Using the DPK certificate to check whether the medical patient node sending the broadcast is in a preset legal medical patient node list; If the node is in the legal medical patient node list, the legality of the identity of the medical patient node sending the broadcast is verified; Use the public key corresponding to the DPK certificate to verify whether the ring signature of the medical patient node that sends the broadcast is consistent with the original message content and whether it can prove that the message is generated by the member node in the ring; If the ring signature is consistent with the original message content and can prove that the message is generated by a member node within the ring, the validity verification of the ring signature of the medical patient node that sends the broadcast is passed.

7. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 1, characterized in that: Also includes: The medical institution node uses its private key sk id Sign the broadcast message and send it to the medical patient nodes in the same ring; The medical patient nodes in the same ring are based on the identity public key pk in the medical institution's ID card. id Verifying the validity of the signature; If the signature is valid, the broadcast message is checked.

8. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 7, characterized in that: The medical patient nodes in the same ring are based on the identity public key pk in the medical institution's identity card id Verifying the validity of the signature, including: The medical patient nodes in the same ring are based on the identity public key pk in the medical institution's identity card. id Verify whether the medical institution identity certificate is within the validity period and is in an available state; If the medical institution identity certificate is within the validity period and is available, the signature is valid.

9. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 1, characterized in that: Also includes: The medical patient node C sends a request to update or revoke the certificate to the certificate authentication center node. The certificate authentication center node receives the request, revokes the old DPK certificate of the medical patient node, and then generates a new DPK certificate for it. The medical patient node C receives the new DPK certificate And the new DPK certificate Certificate Revocation Request Renewal Certificate Request The certificate serial numbers of both are sent to the medical institution node Z in the ring where they are located; The medical institution node Z obtains the certificate revocation request according to the received certificate serial number and renewal certificate request and verifying the certificate revocation request by Renewal Certificate Request New DPK certificate The identity of the medical patient node C is valid, the old certificate is deleted from the ring it maintains, and the new DPK certificate is Added to its latest ring.

10. The anti-quantum identity authentication method for a digital medical system based on a consortium blockchain as claimed in claim 9, characterized in that: The certificate revocation request is verified by Renewal Certificate Request New DPK certificate The identities of the medical patient nodes C are all valid, including: The medical institution node Z checks the certificate revocation request Renewal Certificate Request Whether the format and content of the certificate meets the preset requirements, the certificate revocation request Renewal Certificate Request Whether the certificate serial number in the certificate is consistent with the information in the record; If the certificate revocation request Renewal Certificate Request The format and content of the certificate revocation request meet the preset requirements. Renewal Certificate Request The certificate serial number in the certificate is consistent with the information in the record, then the certificate revocation request Renewal Certificate Request is effective; The medical institution node Z obtains the public key CA of the root certificate of the certificate authentication center pk Verify the new DPK certificate Whether it is within the validity period and is available; If the new DPK certificate If the new DPK certificate is valid and available, is effective; The medical institution node Z requests the certificate revocation from Renewal Certificate Request extracting the identity information of the medical patient node C from the old certificate, and matching the extracted identity information of the medical patient node C with the identity information in the old certificate; If the extracted identity information of the medical patient node C matches the identity information in the old certificate, the identity of the medical patient node C is valid.

Citation Information

Patent Citations

  • Ring signature method for anonymizing information based on multivariate public key cryptography

    CN102006165A

  • Medical data security sharing method based on lattice password and alliance chain

    CN113656829A

  • Conditional anonymous ring signature and privacy calculation-based alliance chain privacy protection method

    CN114124406A

  • Cross-domain authentication method based on medical alliance chain

    CN114389811A

  • Identity authentication method based on medical block chain

    CN116566660A