A Ship Virtual Test Platform Identity Authentication System

By storing and managing digital certificates on the blockchain, combined with the Hyperledger Fabric framework, the problem of over-reliance on certification authorities in traditional PKI is solved, achieving higher security and transparency in certificate management, and ensuring the stability of the system and the continued validity of certificates in the event of loss or attack of certification authority keys.

CN116405289BActive Publication Date: 2025-10-31HARBIN ENG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310376914.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-11
Publication Date
2025-10-31
Estimated Expiration
2043-04-11

AI Technical Summary

Technical Problem

The over-reliance on certification authorities in traditional public key infrastructure (PKI) leads to insufficient system security. When certification authority keys are lost or maliciously attacked, the entire system is easily paralyzed. The certificate management process is complex and opaque, and the trustworthiness of certificates is difficult to guarantee.

Method used

By combining blockchain technology with PKI, digital certificates and operation records are stored on the blockchain, and smart contracts are used to manage the certificate lifecycle, enabling the issuance, renewal, and revocation of certificates. The Hyperledger Fabric framework provides security and transparency, reducing reliance on a single certification authority.

Benefits of technology

It improves system security and transparency, resists certificate forgery and tampering, ensures system robustness and reliability, reduces sensitivity to single points of failure, and supports rapid recovery after key loss and the continued validity of certificates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116405289B_ABST
    Figure CN116405289B_ABST
Patent Text Reader

Abstract

This invention proposes an identity authentication system for a ship virtual testing platform. The system comprises four parts: an application layer, a business layer, a smart contract layer, and a data storage layer. The system improves upon traditional public key infrastructure (PKI) technology by leveraging the security, irreversibility, immutability, and transparency of blockchain. It timestamps the blocks storing digital certificates, creating a continuous and interconnected honest data record structure, effectively enhancing the transparency of the PKI system and strengthening the credibility of identity authentication.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of blockchain technology, and specifically relates to an identity authentication system for a ship virtual testing platform. This invention improves upon traditional Public Key Infrastructure (PKI) through blockchain technology, proposing a more reliable digital certificate management and authentication scheme. Background Technology

[0002] Public Key Infrastructure (PKI) is a framework for generating and managing digital certificates and public-key cryptography. It provides a secure method for authenticating identities on the internet, assisting communicating parties in the secure transmission of electronic information during network activities. The PKI framework forms the foundation for establishing trusted communication on the network and has become the cornerstone for providing secure data communication and internet security. By integrating technologies for identification, authentication, data integrity, confidentiality, and others, PKI provides a secure and unbreakable environment for any type of electronic transaction.

[0003] In a PKI architecture, public key management is typically based on the X.509 certificate standard. An X.509 digital certificate is defined as a data structure that binds a public key to a subject, with a trusted Certificate Authority (CA) signing the public key to maintain trust. Using digital certificates, anyone can gain trust by displaying their identity to other users on the network and obtain permission to access or use specific sensitive services. Simultaneously, other users can verify the certificate's content through specified procedures, including whether the certificate has expired and whether the digital signature is valid. Simply put, the main business of a certification authority is to verify the public key of an individual or organization and, using its own public key, apply digital signature technology to sign it to generate a digital certificate. In other words, the core of a digital certificate is applying a digital signature to the public key. A Certificate Revocation List (CRL) is also a special file format that contains a list of all expired certificates, the issuer's name, the current update date, the next update date, and the signature of the CA's private key, used to assist in determining the validity of certificates. Therefore, the frequency of updating and publishing certificate revocation information has a significant impact on network security, and CAs must choose appropriate time intervals to publish certificate revocation information.

[0004] Blockchain is a special chain-like data structure that uses cryptographic techniques to ensure data integrity and effectively resists MITM attacks by having each node maintain an identical log. To ensure that all nodes in the distributed network maintain the same data ledger, blockchain employs distributed protocol mechanisms and cryptographic algorithms to integrate and update data. The emergence of blockchain has provided new ideas for digital certificate management.

[0005] As an emerging technology, blockchain is essentially a decentralized database with enormous potential for application in numerous fields. However, not all application scenarios allow it to achieve high application value. Combining blockchain technology with PKI (Public Key Infrastructure) to establish a new PKI infrastructure and storing digital certificates on the blockchain can meet the requirements of certificate management mechanisms for data authenticity, validity, unforgeability, tamper-resistance, and reduced dependence on certification centers. This enables blockchain technology to perform well in certificate management scenarios. Therefore, the research in this invention will provide important theoretical basis for realizing full lifecycle management of certificates based on blockchain technology. Summary of the Invention

[0006] The purpose of this invention is to solve the problems in the prior art and to propose an identity authentication system for a ship virtual test platform.

[0007] The present invention is achieved through the following technical solution: The present invention proposes an identity authentication system for a ship virtual test platform, the system comprising four parts: application layer, business layer, smart contract layer, and data storage layer;

[0008] The application layer serves as the entry point for the entire system, where users interact with the backend by sending data to designated interfaces through the frontend.

[0009] The business layer processes and returns responses to requests initiated by the application layer. It includes functions such as issuing certificates, revoking certificates, updating certificates, changing keys, querying and verifying, and downloading certificates. The business layer interacts with the blockchain network to query and store data in the blockchain and view blockchain ledger data.

[0010] The smart contract layer is used to complete the design of smart contracts for managing the lifecycle of user digital certificates, and to implement on-chain data storage and certificate query and verification functions. Based on PKI functions, the contracts are divided into certificate application contracts, certificate query contracts, and certificate revocation contracts. The chaincode running in the Docker container communicates with Fabric through gRPPC or gRPPCS services to realize the invocation of smart contract services.

[0011] The data storage layer is used to implement certificate query and storage functions, including storage of user-submitted identity information and digital certificate files. It stores the blockchain through key-value pairs, reducing the time spent by users frequently traversing the blockchain and improving the system's operating speed. It stores relevant data from the blockchain ledger as well as summaries of digital certificates and user identity information.

[0012] Furthermore, the Fabric comprises four core components: member service, blockchain service, chaincode service, and event stream.

[0013] Member services: Member services ensure the security of platform access and provide registration, approval and management functions related to members;

[0014] Blockchain services: Blockchain services are the core part of the entire system, providing underlying support for the system, including consistency management, distributed ledger, ledger storage, and communication between nodes;

[0015] Chaincode service: Provides a runtime environment for chaincode initialization and execution. Chaincode, through deployed Docker containers, can manipulate ledger data. Users can access or modify ledger data through pre-written functions via chaincode.

[0016] Event Flow: Event services provide support for asynchronous communication between various components. Since blockchain node consensus takes a long time, event services enable developers to implement asynchronous application development through callback functions.

[0017] Furthermore, the nodes in the authentication system are divided into two types: CA nodes and ordinary nodes. The node trust mechanism of the smart contract is used to set the initial joining conditions of the nodes, ensuring that all CA nodes added to the system are trustworthy. The node trust mechanism of the smart contract adopts a trust model based on a trust list, which lists the root CAs initially trusted by the authentication system. The root CAs do not join the authentication system, and the establishment and maintenance of the trust list are completed off-chain.

[0018] Furthermore, the certificate issuance procedure is as follows:

[0019] (1) The user applying for the certificate generates a pair of asymmetric keys locally;

[0020] (2) The user applying for the certificate generates the application request information, including the user's public key and the certificate's validity period information, and submits the application request information through the interface of the identity authentication system to apply for a digital certificate.

[0021] (3) The registration center checks the identity information submitted by the user;

[0022] (4) The authentication system writes the certificate into the blockchain by calling the blockchain's smart contract. The transaction requires the authentication system's signature.

[0023] (5) Blockchain verifies the transaction signature to confirm that the signature is issued by the issuing center and then written into the blockchain. From then on, the identity is transparent and the content cannot be tampered with.

[0024] (6) The system will notify the applicant of the successful certificate application via email or SMS.

[0025] Furthermore, the certificate update operation steps are as follows:

[0026] (1) Users applying for certificate renewal fill in the certificate renewal information, and submit the certificate renewal request information through the identity authentication interface to apply for a digital certificate renewal;

[0027] (2) The registration center checks the update information submitted by users;

[0028] (3) After the registration center approves the certificate, the issuing center will update the certificate.

[0029] (4) The authentication system provides old and new certificates. By calling the blockchain's smart contract, it checks whether the old certificate exists in the blockchain and whether the new certificate is issued with the latest key from the issuing center. After the issuing center signs the certificate, the updated certificate is written into the blockchain.

[0030] (5) The blockchain verifies that the transaction signature is issued by the issuing center and then written into the blockchain, so that the identity is transparent and cannot be tampered with;

[0031] (6) The registration center notifies the user who applied for the update that the update was successful.

[0032] Furthermore, the specific steps for revoking the certificate are as follows:

[0033] (1) The user who applies to revoke the certificate generates a certificate revocation request information and applies to revoke the digital certificate;

[0034] (2) After receiving the user's cancellation request, the registration center will verify the cancellation information submitted by the user;

[0035] (3) After the registration center approves the certificate, the certificate issuance center module is called to revoke the certificate.

[0036] (4) The authentication system provides the certificate to be revoked, and by calling the blockchain's smart contract, checks whether the old certificate exists in the blockchain and revokes the digital certificate;

[0037] (5) After the above steps are verified, the certificate revocation record is written into the blockchain after being signed by the issuing center;

[0038] (6) The blockchain verifies the identity of the issuing center by checking the transaction signature, and verifies that the certificate was revoked by the issuing center by verifying the signature in the revocation certificate, and then writes it into the blockchain; after revocation, the blockchain marks the status as revoked;

[0039] (7) The registration center notifies the person who revoked that the revocation was successful.

[0040] The beneficial effects of this invention are as follows:

[0041] (1) The entire system has high security and its internal communication is closed and not easily attacked.

[0042] (2) The interface of smart contracts is consistent with the interface of traditional public key infrastructure, and can be connected with public key infrastructure to enable the system to meet most application scenarios.

[0043] (3) Once the key is lost, a new key can be obtained through the key reset function of the security system. The system can then use the new key to issue certificates. Expired or invalid certificates issued by the certification center will not be stored in the blockchain, and certificates issued before the key update can still be used and will not be invalidated.

[0044] (4) Resist certificate forgery and tampering attacks, preventing malicious attackers from generating and sending a forged abnormal certificate, or from tampering with or deleting a real and valid certificate to deceive any entity in the model.

[0045] (5) Resisting single point of failure of CA: Even if a CA in the model is destroyed or fails by an attacker, the model can still respond to the certificate service request from the lower entity to the upper entity in the expected way.

[0046] (6) It has a certain degree of intrusion tolerance, so that even if the model is successfully attacked by a malicious attacker, as long as the scope of the attack is within the acceptable threshold, it will not affect the stability and reliability of the model.

[0047] (7) Ensuring the trustworthiness of CA nodes added to the system further improves the robustness of the system. Attached Figure Description

[0048] Figure 1 This is a diagram of the Hyperledger Fabric framework.

[0049] Figure 2 This is the overall design drawing of the identity authentication system for a ship virtual test platform.

[0050] Figure 3 This is a diagram illustrating the chain of trust. Detailed Implementation

[0051] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0052] Given the large number of users, complex identities, and diverse access methods in a ship virtual test platform, it is crucial to research a secure login and data transmission method based on certificate authorization for the test management system. Compared to the commonly used username and password verification method, certificate authorization is more secure. The proposed method should be able to verify the client certificates provided by different users to confirm their identities.

[0053] Public Key Infrastructure (PKI) is an infrastructure that provides identity authentication mechanisms through the management of keys and digital certificates. However, in current PKI systems, all certificate-related operations are centralized with a third-party authority—the Certification Authority (CA). The security of the CA affects the operation of the entire system; if the CA fails or is attacked, the entire authentication system will be paralyzed.

[0054] In public key infrastructure (PKI), certification authorities (Certification Authorities) are assumed to be trustworthy. This reliance on Certification Authorities (CAs) and the excessive dependence on them in certificate management raises concerns about the potential vulnerabilities in their authority and credibility. Since issuing, revoking, and renewing certificates are all centralized at the CAs, a malicious attack or a single point of failure at the CAs can compromise the entire system's authentication process.

[0055] One scenario is that while certification authorities (CAs) promise not to forge or tamper with documents, they do not lack the capability to do so. If a CA engages in malicious activity or is compromised, using its certification authority to forge digital certificates without the knowledge of the users and certificate holders, the entire public key infrastructure (PKI) system becomes insecure and unreliable. Therefore, the trustworthiness of CAs and the reliability of all their operations are critical issues that need to be addressed in identity authentication.

[0056] Another issue is that the key pairs used by the certification authority to issue digital certificates also have issues such as validity period and scope of authority. Typically, the certification authority updates its own key pairs, which poses a security risk to the new key pairs and affects the security of subsequent management processes such as issuance, renewal, and revocation of user digital certificates.

[0057] Because blockchain offers advantages such as security, irreversibility, and immutability, it addresses the drawbacks of traditional PKI's over-reliance on third-party certification authorities by proposing a decentralized network identity authentication technology based on blockchain. Digital certificates and related operation records are written into the blockchain and timestamped, forming a sequentially linked data structure.

[0058] Secondly, in traditional PKI, once the Certificate Authority (CA) loses its key, the CA cannot continue to issue certificates and cannot obtain a new key. All previously issued certificates become invalid after the key is lost. The method described in this invention improves upon this. Once a key is lost, a new key can be obtained through the key reset function of the security system. The system can then use the new key to issue certificates. Expired or invalid certificates issued by the CA will not be stored in the blockchain, and certificates issued before the key update can continue to be used without becoming invalid.

[0059] Based on blockchain technology and combined with public key infrastructure (PKI) technology, this invention proposes a blockchain-based identity authentication system. This system improves upon traditional PKI technology by leveraging the security, irreversibility, immutability, and transparency of blockchain. It timestamps the blocks storing digital certificates, creating a continuous, interconnected, and honest data record structure, effectively enhancing the transparency of the PKI system and strengthening the credibility of identity authentication.

[0060] Blockchain technology can effectively manage the issuance, renewal, and revocation of digital certificates in the network, reducing the strong dependence on a single certification center in traditional authentication technologies, enhancing the confidentiality and transparency of the operation of various components in the network, ensuring the reliability of trust relationships in the system, improving the security of identity authentication, and solving the initial trust problem of CA nodes in the system through trust list technology.

[0061] The blockchain adopts the Hyperledger Fabric blockchain underlying architecture. The system described in this invention implements the system logic, forming a complete smart contract. Applications or users interact with the underlying blockchain data by calling the smart contract, thereby realizing various functions. A blockchain-based certificate management model is proposed to address the security threats caused by the absolute trust provided by CAs and the complexity of the certificate trust authentication process. Key aspects include improving the traditional X.509 certificate structure, clarifying the model design goals, and establishing a more secure trust structure.

[0062] The system described in this invention is mainly divided into four parts: the application layer, the business layer, the smart contract layer, and the data storage layer. The entire system architecture is designed with a front-end and back-end separation, which reduces the coupling between different modules and improves the system's scalability and flexibility.

[0063] This invention proposes an identity authentication system for a ship virtual testing platform. The system comprises four parts: an application layer, a business layer, a smart contract layer, and a data storage layer. The overall hierarchical structure of the system is as follows: Figure 2As shown, the entire system architecture is designed with a front-end and back-end separation approach, which reduces the coupling between different modules and improves the system's scalability and flexibility.

[0064] The application layer serves as the entry point for the entire system, where users interact with the backend by sending data to designated interfaces through the frontend.

[0065] The business layer processes and returns responses to requests initiated by the application layer. It includes functions such as issuing certificates, revoking certificates, updating certificates, changing keys, querying and verifying, and downloading certificates. The business layer interacts with the blockchain network to query and store data in the blockchain and view blockchain ledger data.

[0066] The smart contract layer is used to complete the design of smart contracts for managing the lifecycle of user digital certificates, and to implement on-chain data storage and certificate query and verification functions. Based on PKI functions, the contracts are divided into certificate application contracts, certificate query contracts, and certificate revocation contracts. The chaincode running in the Docker container communicates with Fabric through gRPPC or gRPPCS services to realize the invocation of smart contract services.

[0067] The data storage layer is used to implement certificate query and storage functions, including storage of user-submitted identity information and digital certificate files. It stores the blockchain through key-value pairs, reducing the time spent by users frequently traversing the blockchain and improving the system's operating speed. It stores relevant data from the blockchain ledger as well as summaries of digital certificates and user identity information.

[0068] Hyperledger Fabric framework

[0069] Hyperledger is an open-source blockchain research project initiated by the Linux Foundation. Its aim is to promote the implementation of blockchain-related ecosystem applications, drive the development of cross-industry blockchain technology, and foster a healthy ecosystem.

[0070] Fabric mainly consists of four core components: Membership Service, Blockchain Service, Chaincode Service, and Event Stream. Through the collaboration of these components, a complete blockchain system is formed. The functions of the four components are described in detail below.

[0071] (1) Member services: Member services provide security for access to the platform and provide registration, auditing and management functions related to members.

[0072] (2) Blockchain services: Blockchain services are the core part of the entire system, providing underlying support for the main functions of the blockchain system, including consistency management, distributed ledger, ledger storage and communication between nodes.

[0073] (3) Chaincode service: provides a runtime environment for chaincode initialization and execution. Chaincode can operate on ledger data through deployed Docker containers. Users can access or modify ledger data through pre-written functions via chaincode.

[0074] (4) Events: Event services provide support for asynchronous communication between various components. Since blockchain node consensus takes a long time, event services also enable developers to implement asynchronous application development through callback functions.

[0075] Fabric 2.0 adds support for privacy protection compared to 1.0, modifies the process of initializing nodes for smart contracts, and realizes decentralized management of contracts. It changes the original chaincode security and instantiation, which were handled by a single organization, to a method that requires consensus among organizations to interact with the blockchain ledger.

[0076] Node trust mechanism

[0077] Combination Figure 3 The node trust mechanism based on smart contracts adopts a trust list-based trust model. The trust list contains the root CAs initially trusted in the system. For enhanced security, the establishment and maintenance of the trust list are completed off-chain. If a CA node wants to join the system, it needs to meet two conditions: first, the root CA must be in the system's trust list; second, the trust chain verification must be correct.

[0078] Combining blockchain and PKI presents a node trust issue. The blockchain PKI system designed in this invention divides nodes into two types: CA nodes and ordinary nodes. CA nodes have functions such as certificate issuance and revocation; ordinary nodes only have functions such as certificate application and query. It should be noted that both types of nodes participate in the blockchain's consensus operation. If the CA nodes added to the system are untrustworthy, it will pose a significant security risk to the entire system. This invention utilizes smart contract technology to set the initial joining conditions for nodes, ensuring that all CA nodes added to the system are trustworthy.

[0079] The node trust mechanism based on smart contracts adopts a trust list-based trust model, which lists the root CAs (Certified Associations) of the initial trust in the blockchain PKI system. For security reasons, the root CAs are not added to the blockchain PKI system, and the establishment and maintenance of the trust list are completed off-chain.

[0080] The trust establishment method for CA nodes uses the root CA in the trust list as the trust anchor. Based on the transitivity of trust, smart contract technology is used to automate the trust verification of CA nodes applying to join the blockchain PKI system. Different feasible solutions are provided according to the different order in which nodes join. Only CA nodes that pass the verification are allowed to join the blockchain PKI system to build trust among CA nodes in the chain.

[0081] Assume that a CA node joining the system has already obtained a digital certificate issued by a higher-level CA and a trust chain from the root CA to that CA. For a CA node to join the system, two conditions must be met: first, the root CA must be on the PKI system's trust list; second, the trust chain provided by that CA must be correctly verified. Next, based on the requirements for the order in which CA nodes join, we can analyze the following two scenarios.

[0082] (1) When a CA node requests to join, it does not require that all intermediate CA nodes in the trust chain have joined the blockchain PKI system.

[0083] In this scenario, a CA node applying to join the system needs to provide its own trust chain from the root CA. At this point, as long as the two conditions above are met, the trustworthiness of the node joining the system can be guaranteed. The algorithm is described below:

[0084] The algorithm takes two inputs: a certificate chain consisting of multiple certificates and a trust list. First, it checks if the root CA is in the system's trust list. If not, it returns 0, indicating verification failure, meaning the CA node cannot join the system. Otherwise, it sequentially verifies the following along the certificate chain: whether the issuer identifier of a lower-level certificate matches the subject identifier of a higher-level certificate, whether the certificate is valid, and whether it has been revoked. If any one of these conditions is not met, verification fails. If all checks pass, verification is successful, and the CA is allowed to join the system.

[0085] (2) When a CA node requests to join, it requires that all its intermediate CA nodes have already joined the system.

[0086] This construction method allows lower-level nodes to join only after the parent node has joined, making the process more rigorous. Because the digital certificates of the CA node's trust chain are already on the chain when it requests to join, it's not necessary to provide the complete trust chain from the root CA to that CA. Then, combined with the algorithm described in the first case, the node's trustworthiness can be determined.

[0087] Certificate Issuance

[0088] Issuing certificates is one of the most core and important functions of the entire system. The biggest difference from traditional certificate issuance is that the certificates issued and the records of certificate issuance in the system described in this invention are written to the blockchain through smart contract calls, achieving transparency and immutability. The specific certificate issuance steps are as follows:

[0089] (1) The user applying for the certificate generates a pair of asymmetric keys locally.

[0090] (2) The user applying for the certificate generates the application request information, including the user's public key and the validity period of the certificate, and submits the application request information through the interface of the identity authentication system to apply for the digital certificate.

[0091] (3) The registration center checks the identity information submitted by the user.

[0092] After the registration center approves the application, it calls the certificate issuance module to create the user's digital certificate, and the certificate format is shown in Table 1.

[0093] Table 1 Certificate Format and Instructions

[0094] Attribute Name Explanation Version V1 Serial Number A unique integer value associated with this certificate Distributor Name The name of the node that participated in issuing the certificate Validity period Certificate effective date and certificate expiration date Entity Name Certificate holder's name Certificate Type Root certificate, intermediate CA certificate, user certificate Public key information The user's public key and the identifier of the encryption algorithm used by the public key. Distributor Unique Identifier The field used to identify the CA that issued this certificate is an optional bit string field. Extend A set consisting of one or more extensions sign Hash of other domains encrypted with the CA's private key

[0095] (4) The authentication system writes the certificate into the blockchain by calling the blockchain's smart contract. The transaction requires the authentication system's signature.

[0096] (5) Blockchain verification of transaction signature confirms that the signature is issued by the issuing center and then written into the blockchain, making the identity transparent and the content tamper-proof.

[0097] (6) The system will notify the applicant of the successful certificate application via email, SMS or other means.

[0098] Since only certificates stored in the blockchain are considered valid, when a certification authority's key is lost, although it can still issue certificates to users, the certificates are invalid because thieves cannot invoke the system's smart contract to store them in the blockchain. This ensures system security. Furthermore, if a key is stolen, the system can reset it; the key replacement process will be explained in the following sections.

[0099] Renew Certificate

[0100] When a user needs to renew their certificate, the user's certificate needs to be updated. The changes must be approved by the registry center before they take effect and the certificate is renewed. The specific process is as follows:

[0101] (1) Users applying for certificate renewal fill in the certificate renewal information, access the identity authentication interface, submit the certificate renewal request information, and apply for a digital certificate renewal.

[0102] (2) The registration center checks the update information submitted by users.

[0103] (3) After the registration center approves the certificate, the issuing center will update the certificate.

[0104] (4) The authentication system provides old and new certificates. By calling the blockchain's smart contract, it checks whether the old certificate exists in the blockchain and whether the new certificate is issued with the latest key from the issuing center. After the issuing center signs the certificate, the updated certificate is written into the blockchain.

[0105] (5) The blockchain verifies that the transaction signature is issued by the issuing center and then written into the blockchain, so that the identity is transparent and cannot be tampered with.

[0106] (6) The registration center notifies the user who applied for the update that the update was successful.

[0107] Certificate revocation

[0108] When a user needs to revoke their certificate, the process requires verification before the certificate is revoked by invoking a smart contract. The revocation process is as follows.

[0109] (1) Users who apply to revoke a certificate generate certificate revocation request information and apply to revoke the digital certificate.

[0110] (2) After receiving the user's cancellation request, the registration center will verify the cancellation information submitted by the user.

[0111] (3) After the registration center approves the certificate, it calls the certificate issuance center module to revoke the certificate.

[0112] (4) The authentication system provides certificates to be revoked, and by calling the blockchain's smart contract, checks whether the old certificate exists in the blockchain and revokes the digital certificate.

[0113] (5) After the above steps are verified, the certificate revocation record is written into the blockchain after being signed by the issuing center.

[0114] (6) The blockchain verifies the identity of the issuing center by checking the transaction signature, confirms that the certificate was revoked by the issuing center by verifying the signature in the revocation certificate, and then writes it into the blockchain. After revocation, the blockchain marks the status as revoked.

[0115] (7) The registration center notifies the person who revoked that the revocation was successful.

[0116] Key replacement at the issuing center

[0117] The initial setup is crucial. In traditional public key infrastructure (PKI) systems, the loss of the certification authority's (CA) key is disastrous. Stealers can issue certificates arbitrarily, impersonating existing CPAs or individuals, rendering all certificates issued by the entire PKI system untrustworthy. Therefore, the CA's private key is extremely important in traditional PKI systems. However, in blockchain-based PKI systems, a lost CA key can be replaced. This involves collecting signatures from multiple parties offline to replace the key. Finally, the transaction is sent to the blockchain. After the replacement, certificates issued with the lost CA key cannot be uploaded to the blockchain. Only certificates on the blockchain are valid.

[0118] To enable the issuing center to change keys, the conditions for key replacement must be written into a smart contract during blockchain establishment. This invention selects four rights holders, who can be individuals or blockchain node holders. The steps for initializing the blockchain are as follows:

[0119] 1) The issuing center administrator pre-generates or designates an issuing center key. This key is the first key for the issuing center and will be written into the blockchain along with the replacement conditions;

[0120] 2) Each authority generates its own key and gives the public key to the issuing center administrator. The key generation algorithm should be specified by the issuing center administrator.

[0121] 3) The contract is drafted by the issuing center administrator:

[0122] In the initialization function, set the initialization variables:

[0123] Public key and algorithm of the issuing center

[0124] Public key of authority A

[0125] Public key of authority B

[0126] Public key of authority C

[0127] Public key of authority D

[0128] In the key replacement function, set the replacement conditions;

[0129] If the number of correct signatures in the verification list for replacing the issuing center's key reaches a threshold, the key can be replaced. For example, if there are four institutions, three or two can be selected. This is because the keys of authorizing institutions may also be lost. Therefore, it is not possible to require 100% accuracy for all signatures.

[0130] 4) The administrator writes the smart contract to the blockchain. The writing process should be supervised by an authority, which needs to verify that its public key has actually been written to the blockchain.

[0131] With the above pre-set parameters, the issuing center key can be replaced if it is leaked or lost. Thus, while the issuing center key is important, it is merely an executor for multiple authorized bodies. These bodies have the capacity to reach a consensus and supervise the issuing center administrator. If the administrator commits misconduct, they can be removed from their position, and the issuing center key can be replaced. This allows the entire blockchain issuing center to continue operating. The specific process for replacing the key is as follows:

[0132] 1) The issuing center administrator prepares the new key and replacement request, and collects the signatures of the authority offline. The request should include the following:

[0133] Certificates issued by the new issuing center: CertNewCA

[0134] Signature of Authority A: SignAA

[0135] Signature of Authority B: SignAB

[0136] Signature of authority C: SignAc

[0137] Signature of Authority D: SignAD

[0138] 2) Call the smart contract to change the key. Before changing the key, the smart contract will check for a signature from an authorized authority, and the number of correct signatures must reach a threshold. Additionally, a time limit can be considered. To prevent malicious attacks, the number of calls should be limited; for example, changing the key should be limited to once per day at most.

[0139] 3) After successful verification, the public key and algorithm of the issuing center in the blockchain can be changed. When making changes, it's crucial to retain the old key as well, to ensure that certificates issued with the old issuing center's key can still be verified. This should result in a linked list data structure, with only the issuing center at the end having the function of issuing and revoking certificates. This protects the entire system from key leakage and ensures its continued usability.

[0140] 4) Write the data to the blockchain and return the result to the administrator.

[0141] This is a significant innovation compared to traditional certification authorities. Even if the issuing center's key is lost or leaked, the entire public key infrastructure system can still continue to function and remain trustworthy by replacing the key. Furthermore, because it uses a multi-signature method, it achieves decentralization of authority.

Claims

1. A ship virtual test platform identity authentication system, characterized in that: The system comprises four parts: application layer, business layer, smart contract layer, and data storage layer. The application layer serves as the entry point for the entire system, where users interact with the backend by sending data to designated interfaces through the frontend. The business layer processes and returns responses to requests initiated by the application layer. It includes functions such as issuing certificates, revoking certificates, updating certificates, changing keys, querying and verifying, and downloading certificates. The business layer interacts with the blockchain network to query and store data in the blockchain and view blockchain ledger data. The smart contract layer is used to complete the design of smart contracts for managing the lifecycle of user digital certificates, and to implement on-chain data storage and certificate query and verification functions. Based on PKI functions, the contracts are divided into certificate application contracts, certificate query contracts, and certificate revocation contracts. The chaincode running in the Docker container communicates with Fabric through gRPPC or gRPPCS services to realize the invocation of smart contract services. The data storage layer is used to implement certificate query and storage functions, including storage of user-submitted identity information and digital certificate files. It stores the blockchain through key-value pairs, reducing the time spent by users frequently traversing the blockchain and improving the system's operating speed; it stores relevant data of the blockchain ledger as well as summaries of digital certificates and user identity information. The Fabric comprises four core components: member service, blockchain service, chaincode service, and event stream. Member services: Member services ensure the security of platform access and provide registration, approval and management functions related to members; Blockchain services: Blockchain services are the core part of the entire system, providing underlying support for the system, including consistency management, distributed ledger, ledger storage, and communication between nodes; Chaincode service: Provides a runtime environment for chaincode initialization and execution. Chaincode, through deployed Docker containers, can manipulate ledger data. Users can access or modify ledger data through pre-written functions via chaincode. Event Flow: The event service provides support for asynchronous communication between various components. Since blockchain node consensus takes a long time, the event service allows developers to implement asynchronous application development through callback functions. The authentication system has two types of nodes: CA nodes and ordinary nodes. The node trust mechanism of the smart contract sets the initial joining conditions of the nodes to ensure that all CA nodes added to the system are trustworthy. The node trust mechanism of the smart contract adopts a trust model based on a trust list, which lists the root CAs initially trusted by the authentication system. The root CAs do not join the authentication system, and the establishment and maintenance of the trust list are completed off-chain.

2. The authentication system according to claim 1, characterized in that, The specific steps for issuing the certificate are as follows: (1) The user applying for the certificate generates a pair of asymmetric keys locally; (2) The user applying for the certificate generates the application request information, including the user's public key and the validity period information of the certificate, and submits the application request information through the interface of the identity authentication system to apply for the digital certificate; (3) The registration center checks the identity information submitted by the user; (4) The authentication system writes the certificate into the blockchain by calling the blockchain's smart contract. The transaction requires the authentication system's signature. (5) Blockchain verifies the transaction signature to confirm that the signature is issued by the issuing center and then written into the blockchain. From then on, the identity is transparent and the content cannot be tampered with. (6) The system will notify the applicant of the successful certificate application via email or SMS.

3. The authentication system according to claim 1, characterized in that, The specific steps for updating the certificate are as follows: (1) Users applying for certificate renewal fill in the certificate renewal information, access the identity authentication interface, submit the certificate renewal request information, and apply for a digital certificate renewal; (2) The registration center checks the update information submitted by users; (3) After the registration center approves the certificate, the issuing center will update the certificate; (4) The authentication system provides old and new certificates. By calling the blockchain's smart contract, it checks whether the old certificate exists in the blockchain and whether the new certificate is issued with the latest key from the issuing center. After the issuing center signs the certificate, the updated certificate is written into the blockchain. (5) The blockchain verifies that the transaction signature is issued by the issuing center and then written into the blockchain, so that the identity is transparent and cannot be tampered with; (6) The registration center notifies the user who applied for the update that the update was successful.

4. The authentication system according to claim 1, characterized in that, The specific steps for revoking a certificate are as follows: (1) The user applying to revoke the certificate generates a certificate revocation request and applies to revoke the digital certificate; (2) After receiving the user's revocation request, the registration center will verify the revocation information submitted by the user; (3) After the registration center approves the certificate, it calls the certificate issuance center module to revoke the certificate. (4) The authentication system provides certificates to be revoked, and by calling the blockchain's smart contract, checks whether the old certificate exists in the blockchain and revokes the digital certificate; (5) After the above steps are verified, the certificate revocation record is written into the blockchain after being signed by the issuing center; (6) The blockchain verifies the identity of the issuing center by checking the transaction signature, and verifies that the certificate was revoked by the issuing center by verifying the signature in the revocation certificate, and then writes it into the blockchain; After revocation, the blockchain will mark the status as revoked. (7) The registration center notifies the person who revoked that the revocation was successful.

Citation Information

Patent Citations

  • Power Internet of Things equipment identity authentication method and system based on block chain

    CN114244527A

  • Digital certificate preparation method based on block chain technology

    CN115412253A