A collaborative joint signing method for electronic documents and related equipment
By using pseudo-identity identifiers and zero-knowledge proof algorithms in the electronic document collaborative signing system, pseudo-identity identifiers are generated and verified, solving the problem of identity information leakage in electronic document collaborative signing and achieving secure protection of identity information and efficient signature verification.
Patent Information
- Application Number
- CN202311408824.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-26
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2043-10-26
AI Technical Summary
During the collaborative signing process of electronic documents, the real identity information of the signatories is easily leaked, affecting the security of identity information and resulting in a poor user experience.
The pseudo-identity identifiers of the joint signature participants are generated using pseudo-identity identifiers and zero-knowledge proof algorithms, and verified by zero-knowledge authentication algorithms. After generating signature data, aggregation calculations and verifications are performed to ensure the legitimacy of the participants' identities.
By using pseudo-identity identifiers and zero-knowledge authentication algorithms, the security of participants' identity information is protected, improving the security and user experience of collaborative signing of electronic documents.
Smart Images

Figure CN117541247B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of identity verification using blockchain technology, specifically involving a collaborative signing method for electronic documents and related equipment. Background Technology
[0002] The intelligent shared finance platform has already implemented a series of operations, including the issuance and receipt of external legal electronic vouchers, paperless circulation of internal documents, and paper-based archiving of accounting archives. When signing electronic documents, especially for collaborative signing, it is necessary to bring the general reimbursement business line online. Reimbursement involves some internal and external documents. Currently, the signing of documents / vouchers between the company and external entities requires multiple parties to manually fill out and verify them before they are mailed offline to the company as proof of reimbursement for the business department. Business personnel then process these documents as reimbursement attachments using a manual document scanning mode.
[0003] However, during the collaborative signing of electronic documents, the real identities of the signatories need to be verified multiple times. This process can easily lead to the leakage of the real identity information of the signatories, affecting the security of their identity information and resulting in a poor user experience. Summary of the Invention
[0004] The purpose of this application is to propose a method, apparatus, computer equipment, and storage medium for collaborative signing of electronic documents, in order to solve the problem that existing collaborative signing processes for electronic documents are prone to leakage of the real identity information of signatories, affecting the security of the identity information of signatories and resulting in a poor user experience.
[0005] To address the aforementioned technical problems, this application provides a method for collaborative signing of electronic documents, employing the following technical solution:
[0006] An electronic document collaborative signing method is proposed, which is applied to an electronic document collaborative signing system. The electronic document collaborative signing method includes:
[0007] Identify the joint signing participants and register them in the electronic document collaborative joint signing system to generate joint signing participant nodes;
[0008] Within the nodes of the joint signing participants, pseudo-identity identifiers of the joint signing participants are generated based on the identity information of the joint signing participants and a preset zero-knowledge proof algorithm;
[0009] Receive electronic document joint signing instructions and verify the identities of the joint signing participants based on pseudo-identity identifiers and preset zero-knowledge identity verification algorithms;
[0010] After the joint signing participants have verified their identities, the electronic documents to be signed are sent to the joint signing participant nodes, and the joint signing participants are instructed to sign the electronic documents to be signed and generate signature data.
[0011] Obtain the signature data uploaded by all participating nodes in the joint signing process, and perform aggregation operations on the signature data to obtain the aggregated signature;
[0012] The aggregated signature is verified. Once the aggregated signature passes the verification, it is saved to the electronic document collaborative signature system.
[0013] Furthermore, the electronic document collaborative signing system is built on a blockchain network. The steps involved in identifying the joint signing participants, registering them into the electronic document collaborative signing system, and generating joint signing participant nodes specifically include:
[0014] Generate a first key, wherein the first key includes a first public key and a first private key;
[0015] The identity information filled in by the joint signatory parties is encrypted using the first public key to generate the first ciphertext data, and the first ciphertext data is uploaded to the electronic document collaborative joint signatory system.
[0016] The first private key is used to decrypt the first ciphertext data to obtain the plaintext identity information;
[0017] Verify the identities of the parties involved in the joint signing based on their identity information;
[0018] Once the parties involved in the joint signing process have passed identity verification, they register and generate a joint signing participant node on the electronic document collaborative joint signing system.
[0019] Furthermore, before the step of generating pseudo-identity identifiers for the joint signatory nodes based on their identity information and a pre-defined zero-knowledge proof algorithm, the process also includes:
[0020] Obtain the user ID, globally unique identifier, and login password from the identity information of the joint signatory parties;
[0021] By using a fixed-length sliding window, the user ID, globally unique identifier, and login password are segmented into ID fragment, globally unique identifier fragment, and login password fragment, respectively.
[0022] The ID fragment, global identifier fragment, and login password fragment are combined to generate a second key, which includes a second public key and a second private key.
[0023] Furthermore, before the step of generating pseudo-identity identifiers for the joint signatory nodes based on their identity information and a pre-defined zero-knowledge proof algorithm, the process also includes:
[0024] Obtain the user ID, globally unique identifier, and login password from the identity information of the joint signatory parties;
[0025] Combine the user ID, globally unique identifier, and login password to generate an identity information sequence;
[0026] Perform a hash operation on the identity information sequence to obtain the hash value of the identity information sequence;
[0027] The hash value of the identity information sequence is used as the second key, which includes a second public key and a second private key.
[0028] Furthermore, within the joint signature participant nodes, the step of generating pseudo-identity identifiers for the joint signature participants based on their identity information and a pre-defined zero-knowledge proof algorithm specifically includes:
[0029] Generate a random number and input it into a preset cyclic group. Use the generator of the cyclic group to perform an exponential operation on the random number to obtain the exponential result of the random number.
[0030] Zero-knowledge identities of the joint signature participants are generated based on the result of the exponential operation of random numbers, the second public key, and the second private key.
[0031] Zero-knowledge identity is used as a pseudo-identity identifier for participants in the joint signing process.
[0032] Furthermore, the steps of receiving electronic document co-signing instructions and verifying the identities of co-signing participants based on pseudo-identity identifiers and preset zero-knowledge authentication algorithms specifically include:
[0033] The first identity parameter is obtained by combining the generator of the cyclic group, the second public key, and the exponential operation result of the random number.
[0034] The second identity parameter is calculated based on the generator of the cyclic group, the pseudo-identity identifier, the second public key, and the first identity parameter;
[0035] Determine whether the result of the exponentiation of the random number is the same as the second identity parameter;
[0036] If the result of the exponentiation of the random number is the same as the second identity parameter, then the identity verification of the joint signatory is successful;
[0037] If the result of the exponentiation of the random number is different from the second identity parameter, the identity verification of the joint signatory party fails, and the identity verification failure message is output.
[0038] Furthermore, after the joint signing participants have verified their identities, the electronic document to be signed is sent to the joint signing participant nodes, and the joint signing participants are instructed to sign the electronic document to be signed and generate signature data. The specific steps include:
[0039] Generate a third key, wherein the third key is a symmetric key;
[0040] The electronic document to be signed is encrypted using a third key to obtain encrypted document data, and the encrypted document data is stored in a preset data storage device;
[0041] Generate a fourth key and use the fourth key to encrypt the third key to generate second ciphertext data, wherein the fourth key is an attribute key;
[0042] After the joint signing participants have verified their identities, the encrypted document data and the second encrypted data are sent to the joint signing participant nodes.
[0043] In the joint signing participant node, the second encrypted data is decrypted to obtain the plaintext of the third key, and the third key is used to decrypt the document encrypted data to obtain the plaintext of the electronic document to be signed.
[0044] Instruct the participating parties to sign the electronic document to be signed, generating signature data.
[0045] To address the aforementioned technical problems, this application also provides an electronic document collaborative signing device, which employs the following technical solution:
[0046] An electronic document collaborative signing device, characterized in that the electronic document collaborative signing device is used to run an electronic document collaborative signing system, and the electronic document collaborative signing device includes:
[0047] The participant registration module is used to identify the joint signing participants and register them to the electronic document collaborative joint signing system, generating joint signing participant nodes;
[0048] The pseudo-identity module is used to generate pseudo-identity identifiers for joint sign-off participants within the joint sign-off participant nodes based on the identity information of the joint sign-off participants and a preset zero-knowledge proof algorithm.
[0049] The pseudo-identity verification module is used to receive electronic document joint signing instructions and verify the identities of the joint signing participants based on pseudo-identity identifiers and preset zero-knowledge identity verification algorithms.
[0050] The electronic document signature module is used to send the electronic document to be signed to the joint signing participant node after the identity verification of the joint signing participants, and instruct the joint signing participants to sign the electronic document to be signed and generate signature data.
[0051] The signature data aggregation module is used to obtain the signature data uploaded by all participating nodes in the joint signing process, and to perform aggregation operations on the signature data to obtain the aggregated signature.
[0052] The aggregated signature verification module is used to verify aggregated signatures. Once the aggregated signature passes the verification, it is saved to the electronic document collaborative signature system.
[0053] To address the aforementioned technical problems, this application also provides a computer device that employs the following technical solution:
[0054] A computer device includes a memory and a processor, the memory storing computer-readable instructions, the processor executing the computer-readable instructions to implement the steps of the electronic document collaborative signing method as described in any of the preceding claims.
[0055] To address the aforementioned technical problems, this application also provides a computer-readable storage medium, employing the technical solution described below:
[0056] A computer-readable storage medium storing computer-readable instructions, which, when executed by a processor, implement the steps of the electronic document collaborative signing method as described in any one of the above.
[0057] Compared with the prior art, the embodiments of this application have the following main advantages:
[0058] This application discloses a collaborative signing method for electronic documents and related equipment, belonging to the field of identity verification in blockchain technology. This application identifies the participants in the collaborative signing process and registers them in an electronic document collaborative signing system, generating participant nodes. Within each participant node, a pseudo-identity identifier is generated based on the participant's identity information and a preset zero-knowledge proof algorithm. The node receives electronic document signing instructions, verifies the participant's identity based on the pseudo-identity identifier and the preset zero-knowledge authentication algorithm, and after verification, sends the electronic document to be signed to the participant node, instructing the participant to sign the document, generating signature data. The application also acquires the signature data uploaded by all participant nodes, performs aggregation operations on the signature data to obtain an aggregated signature, verifies the aggregated signature, and saves it to the electronic document collaborative signing system after successful verification. This application utilizes pseudo-identity identifiers and zero-knowledge authentication algorithms to ensure the legitimacy of the participants' identities, and integrates the signature information of all participants through aggregated signatures to achieve collaborative signing of electronic documents. Attached Figure Description
[0059] To more clearly illustrate the solutions in this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0060] Figure 1 An exemplary system architecture diagram is shown, in which this application can be applied;
[0061] Figure 2 This application shows a schematic diagram of the electronic document collaborative signing function.
[0062] Figure 3 A schematic diagram of the electronic document collaborative signature system of this application is shown;
[0063] Figure 4 A flowchart of one embodiment of the electronic document collaborative signature method according to this application is shown;
[0064] Figure 5 A schematic diagram of the structure of an embodiment of the electronic document collaborative signature device according to this application is shown;
[0065] Figure 6 A schematic diagram of the structure of one embodiment of a computer device according to this application is shown. Detailed Implementation
[0066] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein in the specification of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application; the terms "comprising" and "having," and any variations thereof, in the specification, claims, and foregoing drawings of this application, are intended to cover non-exclusive inclusion. The terms "first," "second," etc., in the specification, claims, or foregoing drawings of this application are used to distinguish different objects, not to describe a particular order.
[0067] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0068] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
[0069] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, and 103, a network 104, and a server 105. Network 104 serves as the medium for providing communication links between terminal devices 101, 102, and 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.
[0070] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, and 103, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social media platform software, etc.
[0071] Terminal devices 101, 102, and 103 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 players (Moving Picture Experts Group Audio Layer IV), laptops, and desktop computers, etc.
[0072] It should be noted that the electronic document collaborative signing method provided in this application embodiment is generally executed by the server, and correspondingly, the electronic document collaborative signing device is generally set in the server.
[0073] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.
[0074] Currently, in the process of collaborative signing of electronic documents, the real identity of the signatories needs to be verified multiple times. This process can easily lead to the leakage of the real identity information of the signatories, affecting the security of the signatories' identity information and resulting in a poor user experience.
[0075] To address the aforementioned technical issues, this application discloses a collaborative signing method for electronic documents and related equipment, belonging to the field of identity verification in blockchain technology. This application utilizes pseudo-identity identifiers and zero-knowledge authentication algorithms to ensure the legitimacy of the participants' identities, and integrates the signature information of all participants through aggregated signatures to achieve collaborative signing of electronic documents.
[0076] This application discloses an electronic document collaborative signing method, which is applied to an electronic document collaborative signing system. This system aims to build upon the foundation of a smart shared financial platform, connecting internal and external document business, data, and network channels. It establishes a collaborative signing application for documents / vouchers between State Grid member units and external entities, enabling mutual recognition of identities, information sharing, and business trust among State Grid member companies and external suppliers / customers. This achieves the digitalization, intelligentization, and collaboration of document signing among multiple internal and external entities involved in the promotion of paperless financial work, reaching the application and management control objectives of pre-event intelligent editing, in-event collaborative processing, and post-event verification and traceability, thus constructing an open, collaborative, and intelligent shared industrial ecosystem.
[0077] See Figure 2 This application, based on a smart shared financial platform, aims to build a collaborative signing application for documents / vouchers between State Grid member units and external entities, optimizing internal management and providing services externally. It offers online collaborative processing capabilities for general expense reports, engineering finance, marketing operations, asset management, and human resources documents, including features such as "My To-Dos," "My Collaborations," "Intelligent Guidance," "Reminders for Outsourced Tasks," and "Document Templates." Based on blockchain technology, it provides data storage and evidence retrieval services, ensuring traceability of processes, verifiability of identities, and accountability for actions during internal and external collaborative applications.
[0078] A schematic diagram of the electronic document collaborative signature system is shown below. Figure 3 As shown, the electronic document collaborative signature system includes an identity chain, a consortium blockchain, a data storage system, and an attribute authorization center cluster. The consortium blockchain includes business nodes, agent nodes, and aggregate signature nodes. The electronic document collaborative signature system also includes several domain spaces, each of which is configured with a matching agent node on the consortium blockchain.
[0079] Identity chain (e.g.) Figure 3 Blockchain X shown: This identity chain is a distributed ledger composed of and jointly maintained by the Certificate Authorization Centers (CAs) of each domain. This chain is responsible for managing the behavior of the CAs and storing all registration information (such as temporary certificates) used for cross-domain authentication. This information is embedded into the blockchain as transactions, so that any blockchain node can access it. The main function of this chain is to provide user identity registration and query services.
[0080] Consortium blockchains (such as...) Figure 3 The blockchain Y shown is a distributed ledger maintained by users and agent nodes, allowing nodes to call and instantiate smart contracts. Since this embodiment is primarily applied to cross-domain joint signature solutions within and outside enterprises, the blockchain here is more accurately described as a consortium blockchain. It should be noted that this application is not limited to consortium blockchains and can be extended to private blockchains.
[0081] Data storage: This can be a centralized cloud service provider (CSP) offering ordinary centralized cloud storage services (such as Amazon Web Services, Alibaba Cloud, etc.), or a distributed file storage system (such as IPFS). In the specific embodiments of this application, IPFS is used as an example, but it is not limited to IPFS and can be other data storage systems.
[0082] The attribute authorization center cluster manages the set of attributes and issues attribute private keys to users who meet the access policies. These private keys are sent to relevant nodes (e.g., users, agent nodes, business nodes) via a secure channel. The attribute authorization center cluster typically consists of multiple attribute authorization authorities, which can be independent entities or organizations. Each attribute authorization authority in the cluster manages a specific set of attributes and corresponding authorization policies. The authority verifies the user's attribute claims and generates corresponding attribute authorization information, such as the attribute private key, based on the access policies.
[0083] Certificate Authority (CA): Also known as the key generation center, the CA of each domain is responsible for managing the members of the entire domain, including member registration (such as issuing and distributing public and private key pairs, identity digital certificates, etc.) and tracking malicious members. Each domain is configured with a CA on the identity chain, and the CA of each domain is equivalent to the group administrator of the entire domain.
[0084] Proxy Node: A proxy node can be an edge node or a fog node, acting as a communication bridge between different participants. It mainly provides APIs for verifying signatures, forwarding messages, retrieving transactions, and invoking smart contracts.
[0085] Joint signature aggregation node: This node is one of the organizing nodes in the consortium blockchain. It is responsible for collecting signatures from each user from the proxy nodes of each domain, generating an aggregate signature, and sending it to the data owner or (electronic document) business node.
[0086] Please refer to Figure 4 The diagram illustrates a flowchart of an embodiment of the electronic document collaborative signing method according to this application. The electronic document collaborative signing method includes the following steps:
[0087] S201, identify the joint signing participants and register them in the electronic document collaborative joint signing system to generate joint signing participant nodes.
[0088] In this embodiment, the system first needs to identify the joint signing participants and register them in the electronic document collaborative joint signing system, generating joint signing participant nodes. These participants are entities that need to sign or verify electronic documents.
[0089] Furthermore, the electronic document collaborative signing system is built on a blockchain network. The steps involved in identifying the joint signing participants, registering them into the electronic document collaborative signing system, and generating joint signing participant nodes specifically include:
[0090] Generate a first key, wherein the first key includes a first public key and a first private key;
[0091] The identity information filled in by the joint signatory parties is encrypted using the first public key to generate the first ciphertext data, and the first ciphertext data is uploaded to the electronic document collaborative joint signatory system.
[0092] The first private key is used to decrypt the first ciphertext data to obtain the plaintext identity information;
[0093] Verify the identities of the parties involved in the joint signing based on their identity information;
[0094] Once the parties involved in the joint signing process have passed identity verification, they register and generate a joint signing participant node on the electronic document collaborative joint signing system.
[0095] In this embodiment, a first key is generated. This first key is the blockchain network's own key, including a first public key and a first private key. The first key is used to encrypt and decrypt the identity information filled in by the joint signing participants. The identity information filled in by the joint signing participants is encrypted using the first public key to generate first ciphertext data to protect the confidentiality of the identity information. The encrypted identity information is sent to the system. The first ciphertext data is decrypted using the first private key to obtain the plaintext identity information, allowing the encrypted identity information to be restored to a readable plaintext form. The identities of the joint signing participants are verified based on the identity information to ensure their legitimacy and prevent forgery or impersonation. The identity verification results are uploaded to the identity chain for storage. Finally, after a joint signing participant passes identity verification, they are registered on the electronic document collaborative joint signing system, and a joint signing participant node is generated. Legitimate participants are added to the system, and corresponding nodes are created for them to facilitate subsequent joint signing operations.
[0096] In the above steps, operations such as key generation, encryption and decryption, and identity verification are used to ensure the legitimacy of the identities of the joint signatories and register them in the electronic document collaborative joint signing system for subsequent joint signing operations. This establishes a trustworthy electronic document collaborative joint signing system.
[0097] S202, within the nodes of the joint signing participants, a pseudo-identity identifier for the joint signing participants is generated based on the identity information of the joint signing participants and a preset zero-knowledge proof algorithm.
[0098] In this embodiment, within each joint signature participant node, a pseudo-identity identifier is generated based on the participant's identity information and a preset pseudo-identity identifier generation algorithm. The pseudo-identity identifier generation algorithm is a zero-knowledge proof algorithm, and this pseudo-identity identifier can be used to represent the participant's identity.
[0099] Zero-knowledge proof algorithms are protocols in cryptography used to prove the correctness of a claim without revealing any information other than the claim's correctness. In a zero-knowledge proof, the prover can prove the correctness of a claim to the verifier without disclosing any additional information about the claim. The verifier only obtains the truth of the claim and cannot gain any additional knowledge from the prover.
[0100] Zero-knowledge proof algorithms have wide applications in many fields, including cryptography, privacy protection, and identity verification. For example, in cryptography, zero-knowledge proofs can be used to verify a user's identity without revealing sensitive information, or to verify the correctness of a password without exposing the password itself. In blockchain technology, zero-knowledge proofs are also used to protect user privacy and achieve anonymity.
[0101] Furthermore, before the step of generating pseudo-identity identifiers for the joint signatory nodes based on their identity information and a pre-defined zero-knowledge proof algorithm, the process also includes:
[0102] Obtain the user ID, globally unique identifier, and login password from the identity information of the joint signatory parties;
[0103] By using a fixed-length sliding window, the user ID, globally unique identifier, and login password are segmented into ID fragment, globally unique identifier fragment, and login password fragment, respectively.
[0104] The ID fragment, global identifier fragment, and login password fragment are combined to generate a second key, which includes a second public key and a second private key.
[0105] In this embodiment, the user ID, globally unique identifier, and login password are obtained from the identity information of the joint signatory parties. The user ID represents the user's real identity information. iThe system represents the globally unique identifier (GID) of the mobile terminal associated with the user, and the login password is the password set by the user and represented by the pseudo-identity token (PSW). This information is crucial for identifying and verifying the identities of participating parties. The user ID, GID, and login password are each segmented using a fixed-length sliding window to obtain ID fragments, GID fragments, and login password fragments. This segmentation of identity information into fixed-length data blocks facilitates the subsequent generation of joint signature participant keys by combining these fragments. The ID fragment, GID fragment, and login password fragment are randomly combined to generate a second key, which includes a second public key and a second private key. This second key is used in subsequent zero-knowledge proof algorithms to generate pseudo-identity identifiers for the joint signature participants.
[0106] In the above steps, operations such as extracting identity information, data segmentation, and key generation prepare for the subsequent generation of pseudo-identity identifiers for the joint signature participants by the zero-knowledge proof algorithm. This ensures that the generated pseudo-identity identifiers are associated with the identity information of the participants and protects the confidentiality of the identity information.
[0107] Furthermore, before the step of generating pseudo-identity identifiers for the joint signatory nodes based on their identity information and a pre-defined zero-knowledge proof algorithm, the process also includes:
[0108] Obtain the user ID, globally unique identifier, and login password from the identity information of the joint signatory parties;
[0109] Combine the user ID, globally unique identifier, and login password to generate an identity information sequence;
[0110] Perform a hash operation on the identity information sequence to obtain the hash value of the identity information sequence;
[0111] The hash value of the identity information sequence is used as the second key, which includes a second public key and a second private key.
[0112] In this embodiment, the user ID, globally unique identifier, and login password are obtained from the identity information of the joint signatory parties. The user ID represents the user's real identity information. iThe process involves representing the globally unique identifier (GID) of the mobile terminal associated with the user, and the login password (PSW), which is the password set by the user. This information is crucial for identifying and verifying the identities of participating parties. The user ID, GID, and login password are combined to generate an identity information sequence. This sequence is formed by combining the identity information according to certain rules. A hash operation is then performed on this identity information sequence to obtain its hash value. Hash operation is an algorithm that converts data of arbitrary length into a fixed-length hash value. The hash value of the identity information sequence is used as the second key, which includes a second public key and a second private key. This second key is used in subsequent zero-knowledge proof algorithms to generate pseudo-identity identifiers for the co-signing participants.
[0113] In the above steps, operations such as obtaining identity information, data combination, and hashing are performed to prepare for the subsequent generation of pseudo-identity identifiers for the joint signature participants by the zero-knowledge proof algorithm. This ensures that the generated pseudo-identity identifiers are associated with the identity information of the participants and protects the confidentiality of the identity information.
[0114] Furthermore, within the joint signature participant nodes, the step of generating pseudo-identity identifiers for the joint signature participants based on their identity information and a pre-defined zero-knowledge proof algorithm specifically includes:
[0115] Generate a random number and input it into a preset cyclic group. Use the generator of the cyclic group to perform an exponential operation on the random number to obtain the exponential result of the random number.
[0116] Zero-knowledge identities of the joint signature participants are generated based on the result of the exponential operation of random numbers, the second public key, and the second private key.
[0117] Zero-knowledge identity is used as a pseudo-identity identifier for participants in the joint signing process.
[0118] In this embodiment, a random number is first generated for subsequent calculations. Then, the random number is input into a pre-defined cyclic group. A cyclic group is a special mathematical structure with specific properties. Using the random number as input, the generator of the cyclic group performs an exponential operation on the random number, yielding the exponential result. Using the exponential result of the random number, a second public key, and a second private key, a pre-defined zero-knowledge proof algorithm is used to generate zero-knowledge identities for the joint signature participants. A zero-knowledge proof algorithm is an algorithm that can prove the truth of a statement without revealing the statement's information. Finally, the generated zero-knowledge identity is used as a pseudo-identity identifier for the joint signature participants. This pseudo-identity identifier can be used to verify the participants' identities during the joint signature process while protecting their real identity information.
[0119] Specifically, the user selects another random number r and generates R = g. r R is the result of exponential operations on a random number r using a generator g, where g is a generator of a cyclic group G. The generator g's main function is to perform various exponential operations, forming the basis for public-key cryptography based on the discrete logarithm problem. Then, a zero-knowledge identity is constructed as follows:
[0120] z = Hash(g, upk, R)
[0121] φ=rz·usk(modp)
[0122] In the formula, z is the result of hashing the generator g, public key upk, and R, and φ is the result of subtracting z multiplied by the private key usk from the random number r and then taking the modulo of the largest prime number p. After calculating the above parameters, the zero-knowledge identity ψ =<upk,R,φ> Finally, the zero-knowledge identity ψ is sent to the identity chain for storage.
[0123] In the above steps, by generating random numbers, performing exponential operations on cyclic groups, and using zero-knowledge proof algorithms, pseudo-identity identifiers for the joint signature participants are generated. These pseudo-identity identifiers have the characteristics of zero-knowledge proofs and can be used to verify the identities of the participants without revealing their real identity information.
[0124] S203 receives the electronic document joint signing instruction and verifies the identity of the joint signing participants based on the pseudo-identity identifier and the preset zero-knowledge identity verification algorithm.
[0125] In this embodiment, when performing electronic document co-signing, an electronic document co-signing instruction is received, and the identities of the co-signing participants are verified based on a pseudo-identity identifier and a preset zero-knowledge authentication algorithm. By verifying the identities of the co-signing participants through the pseudo-identity identifier and the zero-knowledge authentication algorithm, the legitimacy of the identities of the co-signing participants is ensured, the leakage of the real identity information of the signatories is avoided, and the security of the identity information of the signatories is improved.
[0126] Furthermore, the steps of receiving electronic document co-signing instructions and verifying the identities of co-signing participants based on pseudo-identity identifiers and preset zero-knowledge authentication algorithms specifically include:
[0127] The first identity parameter is obtained by combining the generator of the cyclic group, the second public key, and the exponential operation result of the random number.
[0128] The second identity parameter is calculated based on the generator of the cyclic group, the pseudo-identity identifier, the second public key, and the first identity parameter;
[0129] Determine whether the result of the exponentiation of the random number is the same as the second identity parameter;
[0130] If the result of the exponentiation of the random number is the same as the second identity parameter, then the identity verification of the joint signatory is successful;
[0131] If the result of the exponentiation of the random number is different from the second identity parameter, the identity verification of the joint signatory party fails, and the identity verification failure message is output.
[0132] In this embodiment, the generator of the cyclic group, the second public key, and the result of the exponentiation of the random number are combined according to certain rules and hashed to generate the first identity parameter. Then, using the generator of the cyclic group, the pseudo-identity identifier, the second public key, and the first identity parameter, the second identity parameter is calculated using a preset calculation method. The result of the exponentiation of the random number is compared with the second identity parameter to determine if the two parameters are the same. If the result of the exponentiation of the random number is the same as the second identity parameter, it indicates that the identity verification of the joint signature participant is successful; if the result of the exponentiation of the random number is different from the second identity parameter, it indicates that the identity verification of the joint signature participant has failed, and the corresponding identity verification failure information is output.
[0133] Specifically, after receiving the user's zero-knowledge identity ψ, the identity chain first calculates the first identity parameter z, where the formula for calculating z is as follows:
[0134] z = Hash(g, upk, R)
[0135] Then, the second identity parameter S is calculated, where the formula for S is as follows:
[0136] S = g ψ ·upk z
[0137] Verify that z = S, i.e., R = g ψ ·upk z If the verification passes, it means that the identity verification of the joint signatory is successful; if the result of the exponentiation of the random number is different from the second identity parameter, it means that the identity verification of the joint signatory fails, and the corresponding identity verification failure message is output.
[0138] In the above steps, the identities of the joint signatory participants are verified by combining the generator of the cyclic group, the second public key, and the exponential operation result of the random number, as well as by calculating the second identity parameter based on the generator of the cyclic group, the pseudo-identity identifier, the second public key, and the first identity parameter. By comparing the exponential operation result of the random number with the second identity parameter, it can be determined whether the identity verification of the joint signatory participants is successful.
[0139] S204 After the joint signing participants have verified their identities, the electronic document to be signed is sent to the joint signing participant node, and the joint signing participants are instructed to sign the electronic document to be signed and generate signature data.
[0140] In this embodiment, after the participants pass the identity verification, the electronic document to be signed is sent to the nodes of each participant, and the participants are required to sign the electronic document to generate signature data.
[0141] Furthermore, after the joint signing participants have verified their identities, the electronic document to be signed is sent to the joint signing participant nodes, and the joint signing participants are instructed to sign the electronic document to be signed and generate signature data. The specific steps include:
[0142] Generate a third key, wherein the third key is a symmetric key;
[0143] The electronic document to be signed is encrypted using a third key to obtain encrypted document data, and the encrypted document data is stored in a preset data storage device;
[0144] Generate a fourth key and use the fourth key to encrypt the third key to generate second ciphertext data, wherein the fourth key is an attribute key;
[0145] After the joint signing participants have verified their identities, the encrypted document data and the second encrypted data are sent to the joint signing participant nodes.
[0146] In the joint signing participant node, the second encrypted data is decrypted to obtain the plaintext of the third key, and the third key is used to decrypt the document encrypted data to obtain the plaintext of the electronic document to be signed.
[0147] Instruct the participating parties to sign the electronic document to be signed, generating signature data.
[0148] In this embodiment, before the electronic document to be signed is sent to the participating nodes, a third key, a symmetric key, needs to be generated to encrypt the electronic document. The third key is used to encrypt the electronic document, obtaining encrypted document data, which is then stored in a preset data storage device. A fourth key, an attribute key generated by the attribute authorization center cluster, is then generated. This fourth key is used to encrypt the third key, generating second encrypted data to improve the security of the third key's transmission.
[0149] After the joint signing participants have verified their identities, the encrypted document data and the second encrypted data are sent to the joint signing participant nodes. The joint signing participant nodes decrypt the second encrypted data to obtain the plaintext of the third key. The third key is then used to decrypt the encrypted document data to obtain the plaintext of the electronic document to be signed. After obtaining the plaintext of the electronic document to be signed, the joint signing participants are instructed to sign the document to generate signature data.
[0150] By following the steps above, we can ensure that the electronic documents to be signed are encrypted and protected during transmission, and also ensure the security and reliability of the signature data.
[0151] S205: Obtain the signature data uploaded by all participating nodes in the joint signature process, and perform aggregation operations on the signature data to obtain the aggregated signature.
[0152] In this embodiment, after collecting the signature data uploaded by all participating nodes, the signature data is aggregated to obtain an aggregate signature.
[0153] Signature aggregation is a cryptographic technique used to combine multiple signatures into a single signature. It allows multiple participants to sign the same message and merge these signatures into a more compact and efficient one. The primary purpose of signature aggregation is to reduce communication and storage overhead. Compared to traditional single signatures, signature aggregation can significantly reduce the size and number of signatures and improve verification efficiency. This is particularly useful in multi-party scenarios, such as joint signatures and multi-party endorsements.
[0154] Through the above steps and signature aggregation, the electronic document collaborative signing solution can achieve efficient multi-party signing, ensuring the integrity and authenticity of electronic documents. Participants can jointly sign electronic documents without disclosing private information, and an efficient signature verification mechanism is provided for verification.
[0155] S206, perform signature verification on the aggregated signature. Once the aggregated signature passes the signature verification, save the aggregated signature to the electronic document collaborative signature system.
[0156] In this embodiment, the aggregated signature is verified. If the aggregated signature passes the verification, it is saved to the electronic document collaborative signing system.
[0157] In the above embodiments, this application discloses an electronic document collaborative signing method, belonging to the field of identity verification in blockchain technology. This application determines the participating parties in the collaborative signing process and registers them in an electronic document collaborative signing system, generating participating party nodes. Within each participating party node, a pseudo-identity identifier is generated based on the participating party's identity information and a preset zero-knowledge proof algorithm. The participating party receives electronic document collaborative signing instructions, verifies its identity based on the pseudo-identity identifier and a preset zero-knowledge identity verification algorithm, and after successful verification, sends the electronic document to be signed to the participating party node, instructing it to sign the document, generating signature data. The application also acquires the signature data uploaded by all participating party nodes, performs aggregation operations on the signature data to obtain an aggregated signature, verifies the aggregated signature, and saves it to the electronic document collaborative signing system after successful verification. This application utilizes pseudo-identity identifiers and zero-knowledge authentication algorithms to ensure the legitimacy of the participants' identities, and integrates the signature information of all participants through aggregated signatures to achieve collaborative signing of electronic documents.
[0158] In this embodiment, the electronic document collaborative signing method runs on an electronic device (e.g., Figure 1 The server shown can receive instructions or acquire data via wired or wireless connection. It should be noted that the aforementioned wireless connection methods may include, but are not limited to, 3G / 4G connections, WiFi connections, Bluetooth connections, WiMAX connections, Zigbee connections, UWB (ultra-wideband) connections, and other currently known or future wireless connection methods.
[0159] The blockchain referred to in this application is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain can include an underlying blockchain platform, a platform product service layer, and an application service layer.
[0160] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware with computer-readable instructions. These computer-readable instructions can be stored in a computer-readable storage medium, and when executed, they can include the processes of the embodiments of the methods described above. The aforementioned storage medium can be a non-volatile storage medium such as a magnetic disk, optical disk, or read-only memory (ROM), or random access memory (RAM).
[0161] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0162] Further reference Figure 5 As a response to the above Figure 4 The implementation of the method shown in this application provides an embodiment of an electronic document collaborative signature device, which is similar to... Figure 4 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.
[0163] like Figure 5 As shown, the electronic document collaborative signing device 500 described in this embodiment is characterized in that the electronic document collaborative signing device 500 is used to run the electronic document collaborative signing system, and the electronic document collaborative signing device 500 includes:
[0164] The participant registration module 501 is used to identify the joint signing participants and register them to the electronic document collaborative joint signing system, generating joint signing participant nodes.
[0165] The pseudo-identity identifier module 502 is used to generate pseudo-identity identifiers for joint sign-off participants within the joint sign-off participant nodes based on the identity information of the joint sign-off participants and a preset zero-knowledge proof algorithm.
[0166] The pseudo-identity verification module 503 is used to receive electronic document joint signing instructions and verify the identities of the joint signing participants based on pseudo-identity identifiers and preset zero-knowledge identity verification algorithms.
[0167] The electronic document signature module 504 is used to send the electronic document to be signed to the joint signing participant node after the joint signing participants have verified their identities, and instruct the joint signing participants to sign the electronic document to be signed and generate signature data.
[0168] The signature data aggregation module 505 is used to obtain the signature data uploaded by all participating nodes in the joint signing process, and to perform aggregation operations on the signature data to obtain the aggregated signature.
[0169] The aggregated signature verification module 506 is used to verify the aggregated signature. Once the aggregated signature passes the signature verification, it is saved to the electronic document collaborative signature system.
[0170] Furthermore, the participant registration module 501 specifically includes:
[0171] The first key unit is used to generate a first key, wherein the first key includes a first public key and a first private key;
[0172] The first encryption unit is used to encrypt the identity information filled in by the joint signing participants using the first public key, generate the first ciphertext data, and upload the first ciphertext data to the electronic document collaborative joint signing system.
[0173] The first decryption unit is used to decrypt the first ciphertext data using the first private key to obtain the plaintext identity information;
[0174] The first verification unit is used to verify the identities of the joint signatory parties based on their identity information.
[0175] The participant registration unit is used to register and generate a participant node on the electronic document collaborative signing system after the participants have passed identity verification.
[0176] Furthermore, the electronic document collaborative signature package 500 also includes:
[0177] The first information acquisition module is used to obtain the user ID, globally unique identifier, and login password from the identity information of the joint signatory parties;
[0178] The data segmentation module is used to segment user ID, globally unique identifier, and login password separately through a fixed-length sliding window to obtain ID fragment, globally unique identifier fragment, and login password fragment;
[0179] The data fragment combination module is used to combine the ID fragment, global identifier fragment, and login password fragment to generate a second key, wherein the second key includes a second public key and a second private key.
[0180] Furthermore, the electronic document collaborative signature package 500 also includes:
[0181] The second information acquisition module is used to obtain the user ID, globally unique identifier, and login password from the identity information of the joint signatory parties;
[0182] The information sequence combination module is used to combine the user ID, globally unique identifier, and login password to generate an identity information sequence;
[0183] The sequence hashing module is used to perform hash operations on the identity information sequence to obtain the hash value of the identity information sequence;
[0184] The second key module is used to use the hash value of the identity information sequence as the second key, wherein the second key includes a second public key and a second private key.
[0185] Furthermore, the pseudo-identity module 502 specifically includes:
[0186] The random number operation unit is used to generate random numbers and input them into a preset cyclic group. The generator of the cyclic group is used to perform exponential operation on the random numbers to obtain the exponential operation result of the random numbers.
[0187] The zero-knowledge identity generation unit is used to generate zero-knowledge identities for joint signature participants based on the result of exponential operation of random numbers, the second public key, and the second private key.
[0188] The pseudo-identity identifier generation unit is used to use zero-knowledge identities as pseudo-identity identifiers for joint signature participants.
[0189] Furthermore, the pseudo-identity verification module 503 specifically includes:
[0190] The first identity parameter unit is used to combine the generator of the cyclic group, the second public key, and the exponential operation result of the random number to obtain the first identity parameter;
[0191] The second identity parameter unit is used to calculate the second identity parameter based on the generator of the cyclic group, the pseudo-identity identifier, the second public key, and the first identity parameter;
[0192] The parameter verification unit is used to determine whether the result of the exponentiation operation of the random number is the same as the second identity parameter;
[0193] The first verification result unit is used to verify the identity of the joint signatory when the result of the exponentiation of the random number is the same as the second identity parameter.
[0194] The second verification result unit is used to output an identity verification failure message when the result of the exponentiation of the random number is different from the second identity parameter.
[0195] Furthermore, the electronic document signature module 504 specifically includes:
[0196] The third key unit is used to generate the third key, wherein the third key is a symmetric key;
[0197] The electronic document encryption unit is used to encrypt the electronic document to be signed using a third key to obtain the encrypted document data, and to store the encrypted document data in a preset data storage device;
[0198] The fourth key unit is used to generate the fourth key and encrypt the third key with the fourth key to generate the second ciphertext data, wherein the fourth key is an attribute key;
[0199] The encrypted data sending unit is used to send the encrypted document data and the second encrypted data to the joint signing participant node after the identity verification of the joint signing participants;
[0200] The ciphertext decryption unit is used in the joint signing participant nodes to decrypt the second ciphertext data to obtain the plaintext of the third key, and use the third key to decrypt the document ciphertext data to obtain the plaintext of the electronic document to be signed.
[0201] The electronic document signature unit is used to instruct the parties involved in the joint signing to sign the electronic document to be signed and generate signature data.
[0202] In the above embodiments, this application discloses an electronic document collaborative signing device, belonging to the field of identity verification in blockchain technology. This application determines the participating parties in the collaborative signing process and registers them in the electronic document collaborative signing system, generating participating party nodes. Within each participating party node, a pseudo-identity identifier is generated based on the participating party's identity information and a preset zero-knowledge proof algorithm. The device receives electronic document collaborative signing instructions, verifies the participating party's identity based on the pseudo-identity identifier and the preset zero-knowledge identity verification algorithm, and after successful verification, sends the electronic document to be signed to the participating party node, instructing the participating party to sign the document, generating signature data, acquiring all signature data uploaded by participating party nodes, performing aggregation operations on the signature data to obtain an aggregated signature, verifying the aggregated signature, and saving it to the electronic document collaborative signing system after successful verification. This application utilizes pseudo-identity identifiers and zero-knowledge authentication algorithms to ensure the legitimacy of the participants' identities, and integrates the signature information of all participants through aggregated signatures to achieve collaborative signing of electronic documents.
[0203] To address the aforementioned technical problems, embodiments of this application also provide a computer device. Please refer to [link / reference needed]. Figure 6 , Figure 6 This is a basic structural block diagram of the computer device in this embodiment.
[0204] The computer device 6 includes a memory 61, a processor 62, and a network interface 63 that are interconnected via a system bus. It should be noted that only the computer device 6 with components 61-63 is shown in the figure; however, it should be understood that it is not required to implement all the shown components, and more or fewer components can be implemented alternatively. Those skilled in the art will understand that the computer device described here is a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.
[0205] The computer device can be a desktop computer, laptop, handheld computer, or cloud server, etc. The computer device can interact with the user via a keyboard, mouse, remote control, touchpad, or voice control.
[0206] The memory 61 includes at least one type of readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, etc. In some embodiments, the memory 61 may be an internal storage unit of the computer device 6, such as the hard disk or memory of the computer device 6. In other embodiments, the memory 61 may also be an external storage device of the computer device 6, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the computer device 6. Of course, the memory 61 may include both the internal storage unit and its external storage device of the computer device 6. In this embodiment, the memory 61 is typically used to store the operating system and various application software installed on the computer device 6, such as computer-readable instructions for electronic document collaborative signing methods. In addition, the memory 61 can also be used to temporarily store various types of data that have been output or will be output.
[0207] In some embodiments, the processor 62 may be a central processing unit (CPU), controller, microcontroller, microprocessor, or other data processing chip. The processor 62 is typically used to control the overall operation of the computer device 6. In this embodiment, the processor 62 is used to execute computer-readable instructions stored in the memory 61 or to process data, for example, to execute computer-readable instructions for the electronic document collaborative signing method.
[0208] The network interface 63 may include a wireless network interface or a wired network interface, which is typically used to establish communication connections between the computer device 6 and other electronic devices.
[0209] In the above embodiments, this application discloses a computer device belonging to the field of identity verification in blockchain technology. This application determines the joint signing participants and registers them in an electronic document collaborative joint signing system, generating joint signing participant nodes. Within each node, a pseudo-identity identifier is generated based on the participant's identity information and a preset zero-knowledge proof algorithm. The node receives electronic document joint signing instructions, verifies the participant's identity based on the pseudo-identity identifier and a preset zero-knowledge authentication algorithm, and after verification, sends the electronic document to be signed to the node, instructing the participant to sign it, generating signature data. The application also acquires all signature data uploaded by the participating nodes, performs aggregation operations on the signature data to obtain an aggregated signature, verifies the aggregated signature, and saves it to the electronic document collaborative joint signing system after the aggregated signature passes verification. This application utilizes pseudo-identity identifiers and zero-knowledge authentication algorithms to ensure the legitimacy of the participants' identities, and integrates the signature information of all participants through aggregated signatures to achieve collaborative signing of electronic documents.
[0210] This application also provides another embodiment, namely, providing a computer-readable storage medium storing computer-readable instructions that can be executed by at least one processor to cause the at least one processor to perform the steps of the electronic document collaborative signing method as described above.
[0211] In the above embodiments, this application discloses a computer-readable storage medium belonging to the field of identity verification in blockchain technology. This application determines the joint signing participants and registers them in an electronic document collaborative joint signing system, generating joint signing participant nodes. Within each node, a pseudo-identity identifier is generated based on the participant's identity information and a preset zero-knowledge proof algorithm. The node receives electronic document joint signing instructions, verifies the participant's identity based on the pseudo-identity identifier and a preset zero-knowledge authentication algorithm, and after verification, sends the electronic document to be signed to the node, instructing the participant to sign it, generating signature data. The application also acquires all signature data uploaded by the participating nodes, performs aggregation operations on the signature data to obtain an aggregated signature, verifies the aggregated signature, and saves it to the electronic document collaborative joint signing system after the aggregated signature passes verification. This application utilizes pseudo-identity identifiers and zero-knowledge authentication algorithms to ensure the legitimacy of the participants' identities, and integrates the signature information of all participants through aggregated signatures to achieve collaborative signing of electronic documents.
[0212] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0213] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0214] Obviously, the embodiments described above are only some embodiments of this application, not all embodiments. The accompanying drawings show preferred embodiments of this application, but do not limit the patent scope of this application. This application can be implemented in many different forms; rather, the purpose of providing these embodiments is to provide a more thorough and comprehensive understanding of the disclosure of this application. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing specific embodiments, or make equivalent substitutions for some of the technical features. Any equivalent structures made using the content of this application's specification and drawings, directly or indirectly applied to other related technical fields, are similarly within the scope of patent protection of this application.
Claims
1. A method for collaborative signing of electronic documents, characterized in that, The electronic document collaborative signing method is applied to the electronic document collaborative signing system, and the electronic document collaborative signing method includes: Identify the joint signing participants and register them in the electronic document collaborative joint signing system to generate joint signing participant nodes; Within the joint signature participant node, a pseudo-identity identifier for the joint signature participant is generated based on the identity information of the joint signature participant and a preset zero-knowledge proof algorithm; Upon receiving an electronic document co-signing instruction, the identity of the co-signing participants is verified based on the pseudo-identity identifier and a preset zero-knowledge identity verification algorithm. After the joint signing participants have verified their identities, the electronic document to be signed is sent to the joint signing participant node, and the joint signing participants are instructed to sign the electronic document to be signed and generate signature data. Obtain the signature data uploaded by all participating nodes in the joint signing process, and perform aggregation operations on the signature data to obtain the aggregated signature; The aggregated signature is verified, and once the aggregated signature passes the verification, it is saved to the electronic document collaborative signature system. Before the step of generating a pseudo-identity identifier for the joint signatory within the joint signatory node based on the identity information of the joint signatory and a preset zero-knowledge proof algorithm, the method further includes: Generate a second key, wherein the second key includes a second public key and a second private key; The step of generating a pseudo-identity identifier for the joint signatory within the joint signatory node based on the identity information of the joint signatory and a preset zero-knowledge proof algorithm specifically includes: A random number is generated and input into a preset cyclic group. The generator of the cyclic group is used to perform an exponential operation on the random number to obtain the exponential operation result of the random number. The zero-knowledge identity of the joint signatory is generated based on the result of the exponential operation of the random number, the second public key, and the second private key; The zero-knowledge identity is used as a pseudo-identity identifier for the joint signature participants; The steps of receiving an electronic document co-signing instruction and verifying the identities of the co-signing participants based on the pseudo-identity identifier and a preset zero-knowledge authentication algorithm specifically include: The first identity parameter is obtained by combining the generator of the cyclic group, the second public key, and the exponentiation result of the random number; The second identity parameter is calculated based on the generator of the cyclic group, the pseudo-identity identifier, the second public key, and the first identity parameter; Determine whether the result of the exponentiation operation of the random number is the same as the second identity parameter; If the result of the exponentiation of the random number is the same as the second identity parameter, then the identity verification of the joint signatory is successful; If the result of the exponentiation of the random number is different from the second identity parameter, the identity verification of the joint signatory party fails, and an identity verification failure message is output.
2. The electronic document collaborative signing method as described in claim 1, characterized in that, The electronic document collaborative signature system is built on a blockchain network. The steps of determining the participants in the joint signature process, registering the participants in the electronic document collaborative signature system, and generating joint signature participant nodes specifically include: Generate a first key, wherein the first key includes a first public key and a first private key; The identity information filled in by the joint signatory parties is encrypted using the first public key to generate the first ciphertext data, and the first ciphertext data is uploaded to the electronic document collaborative joint signatory system. The first ciphertext data is decrypted using the first private key to obtain the plaintext of the identity information; The identities of the joint signatory parties are verified based on the aforementioned identity information; Once the joint signing participants have passed identity verification, they register and generate the joint signing participant node on the electronic document collaborative joint signing system.
3. The electronic document collaborative signing method as described in claim 1, characterized in that, The step of generating the second key specifically includes: Obtain the user ID, globally unique identifier, and login password from the identity information of the joint signatory parties; The user ID, the globally unique identifier, and the login password are segmented using a fixed-length sliding window to obtain ID fragment, global identifier fragment, and login password fragment respectively. The ID fragment, the global identifier fragment, and the login password fragment are combined to generate a second key, wherein the second key includes a second public key and a second private key.
4. The electronic document collaborative signing method as described in claim 1, characterized in that, The step of generating the second key specifically includes: Obtain the user ID, globally unique identifier, and login password from the identity information of the joint signatory parties; Combine the user ID, the globally unique identifier, and the login password to generate an identity information sequence; Perform a hash operation on the identity information sequence to obtain the hash value of the identity information sequence; The hash value of the identity information sequence is used as the second key, wherein the second key includes a second public key and a second private key.
5. The electronic document collaborative signing method as described in claim 1, characterized in that, After the joint signing participants have verified their identities, the electronic document to be signed is sent to the joint signing participant node, and the joint signing participants are instructed to sign the electronic document to be signed and generate signature data. The specific steps include: Generate a third key, wherein the third key is a symmetric key; The electronic document to be signed is encrypted using the third key to obtain encrypted document data, and the encrypted document data is stored in a preset data storage. A fourth key is generated, and the third key is encrypted using the fourth key to generate second ciphertext data, wherein the fourth key is an attribute key; After the joint signatory party passes identity verification, the encrypted document data and the second encrypted data are sent to the joint signatory party node. In the joint signing participant node, the second encrypted data is decrypted to obtain the plaintext of the third key, and the third key is used to decrypt the document encrypted data to obtain the plaintext of the electronic document to be signed; The parties involved in the joint signing are instructed to sign the electronic document to be signed, thereby generating the signature data.
6. An electronic document collaborative signing device, characterized in that, The electronic document collaborative signing device is used to run the electronic document collaborative signing system, and the electronic document collaborative signing device implements the steps of the electronic document collaborative signing method as described in any one of claims 1 to 5. The electronic document collaborative signing device includes: The participant registration module is used to identify the joint signing participants and register the joint signing participants to the electronic document collaborative joint signing system, thereby generating joint signing participant nodes; The pseudo-identity identification module is used to generate pseudo-identity identifiers for the joint signatory participants within the joint signatory participant nodes based on the identity information of the joint signatory participants and a preset zero-knowledge proof algorithm. The pseudo-identity verification module is used to receive electronic document joint signing instructions and verify the identity of the joint signing participants based on the pseudo-identity identifier and the preset zero-knowledge identity verification algorithm. The electronic document signing module is used to send the electronic document to be signed to the joint signing participant node after the joint signing participant has passed the identity verification, and instruct the joint signing participant to sign the electronic document to be signed and generate signature data. The signature data aggregation module is used to obtain the signature data uploaded by all the participating nodes in the joint signing, and to perform aggregation operations on the signature data to obtain the aggregated signature. The aggregated signature verification module is used to verify the aggregated signature. When the aggregated signature passes the signature verification, it is saved to the electronic document collaborative signature system.
7. A computer device, characterized in that, It includes a memory and a processor, wherein the memory stores computer-readable instructions, and the processor executes the computer-readable instructions to implement the steps of the electronic document collaborative signing method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the electronic document collaborative signing method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Electronic contract signing method and device, computer equipment and storage medium
CN109756485A
Contact person tracking privacy protection method based on aggregation signature
CN113395691A