Remote signature system and method containing application party
By designing a remote signature system and method that includes the application party, the security risks of remote signature systems in the existing technology are solved, and high security and EU standard compliance are achieved in third-party application scenarios. It is suitable for applications such as WeChat and school systems.
Patent Information
- Application Number
- CN202510887232.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-09-16
AI Technical Summary
Existing remote signature systems have security risks when facing the intervention of third-party applications, and are difficult to meet the SCAL1 level security requirements of the EU ETSI TS119 432 standard.
A remote signature system and method involving the application party is designed, including a signer interaction component, an application party, an identity authentication module, a server signature application module and a signature generation module. Through the key application process and the signing process, the signing key is generated using the user identity binding information and protected by temporary key encryption to ensure the security and uniqueness of the signing process.
It realizes remote key application, signature and certificate issuance operations that meet SCAL1 level security requirements in different application scenarios, improves the security and availability of the system, and is suitable for application scenarios such as WeChat and school systems.
Smart Images

Figure CN120658406A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of digital signatures, and more particularly to a remote signature system and method involving an application party. Background Art
[0002] A digital signature (also known as a public key digital signature) is a cryptographic identifier generated through an encryption algorithm. Its generation process ensures uniqueness to the sender and is unforgeable. It not only verifies message integrity but also serves as valid proof of the sender's identity. Traditional implementations of digital signature standards are primarily designed for fixed terminals like desktop computers and laptops. These standards utilize a localized system processing model and rely on physical media such as smart cards or hardware tokens to complete the entire signing process.
[0003] With the development of related technologies such as distributed architecture, cloud computing, and mobile devices, new digital signature technology solutions reflect a decentralization trend. The creation and construction process of digital signatures is completed in a distributed manner. Different steps of the process are performed by different systems / services, which may be controlled by different participants.
[0004] In this technical context, remote signature mode ensures that only the user can access and use the user's key by storing it on a highly secure remote server. Through strict access control and authentication policies, this ensures that only the user can access and use the key, effectively placing sole control of the key in the hands of the user. After completing user authentication, third-party applications can securely request the user's key from the remote server for digital signature. This approach is widely applicable in scenarios such as contract signing, electronic document authentication, and signing sensitive data.
[0005] In terms of standardization, the EU ETSI TS119 432 standard defines protocols and interfaces for remote digital signature creation, providing support for electronic signatures and electronic seals (including qualified electronic signatures and qualified electronic seals), with a particular emphasis on interoperability and security across diverse devices and technical environments. This standard specifically introduces SCAL1 (Sole Control Assurance Level 1) certification, which requires that the signing key be used under the sole control of the signer, with a low level of trustworthiness; authorization for the signer to use their key for signing is enforced by the "Server Signature Application Service Component," which authenticates the signer. Signature keys can be activated for a specified period of time and / or for a specified number of signatures. However, a systematic national standard system has yet to be established in China.
[0006] The existing remote signature system still faces significant technical bottlenecks: on the one hand, there is a lack of detailed algorithm implementation solutions that comply with international standards, especially in scenarios involving the intervention of third-party applications, which poses security risks to remote signatures; on the other hand, the existing architecture is difficult to meet the ETSI standard's security control requirements for remote signatures in multi-party collaboration scenarios.
[0007] Therefore, there is an urgent need to build a new remote signature system that includes application parties to meet international security standards such as SCAL1. Summary of the Invention
[0008] The purpose of the present invention is to provide a remote signature system and method including an application party, so as to solve the problem that the security of the remote signature system including an application party in the prior art is difficult to meet the requirements of security standards such as SCAL1.
[0009] To achieve the above objectives, the present invention provides a remote signature system including an application party, which includes at least a signer interaction component, an application party, a signature creation application component, an identity authentication module, a server signature application module, and a signature generation module:
[0010] The signer interaction component initiates a key application process based on the signer information and generates signature activation data;
[0011] The application receives the user's signature request, generates the data to be signed, coordinates the business logic of the signature process, and processes the signature result;
[0012] The signature creation application component is used to encapsulate the signature request and process the signature response with the application party and the server signature application module respectively;
[0013] The authentication module performs authentication based on the authentication request of the signer interaction component;
[0014] The server signature application module verifies the signer's identity, manages the key, activates the signature key based on the user identity binding information, and calls the signature generation module to perform remote signing;
[0015] The signature generation module generates a signature key according to the call of the server signature application module, and generates a signature value for the signature data;
[0016] The user identity binding information is obtained by calculation based on the signer information, and the signer information includes one of a knowledge factor, a holding factor, and an inherent factor.
[0017] In some embodiments, the signer interaction component sends the user identity binding information and the user identity identifier to the server signature application module;
[0018] The server signature application module verifies the validity of the user identity binding information, generates a temporary key and sends the temporary key to the signer interaction component;
[0019] The temporary key is used to encrypt and protect user identity binding information, data to be signed, or certificate request information.
[0020] In some embodiments, the server signature application module is configured to:
[0021] Generate and append a unique random number to each interaction with the signer interaction component;
[0022] When receiving the information returned by the signer interaction component, verify whether the random number contained in the returned information is consistent with the random number originally sent.
[0023] In some embodiments, the signer interaction component includes an application executed by a browser, an application executed by a mobile device, a secure element of the mobile phone, and an encryption device in the signer's possession.
[0024] In some embodiments, the signature generation module is disposed within a certified cryptographic security device.
[0025] In some embodiments, the signature activation data is associated with at least the following parameters with high confidence:
[0026] The data to be signed, the signing key, and the authenticated signer.
[0027] In some embodiments, the application side is used to process business logic related to signature, pass the signer's signature request to the server signature application module for remote signature service, and return the signature result to the signer.
[0028] In some embodiments, the application provides a user interface to display signature-related logic and operations.
[0029] In some embodiments, the signer interaction component submits a key application request to the server signature application module based on the signer information;
[0030] The server signature application module verifies the identity of the signer, generates a temporary key and returns it to the signer interaction component;
[0031] The signer interaction component encrypts the user identity binding information with the temporary key and transmits the encrypted information to the server signature application module;
[0032] The server signature application module calls the signature generation module to generate a signature key, and the signature key is bound to the user identity binding information.
[0033] In some embodiments, the signer interaction component registers the signer's basic identity information with the server signature application module based on the key application request;
[0034] The server signature application module generates a user identity identifier in response to the basic identity information of the signer registered by the signer interaction component, and sends the user identity identifier to the signer interaction component;
[0035] The signer interaction component receives the user identity identifier from the server signature application module, requests identity authentication from the identity authentication module to obtain a signature value of the user identity identifier, and returns the signature value to the server signature application module;
[0036] The server signature application module verifies the signature value of the user identity identifier and performs subsequent actions after the verification is passed.
[0037] In some embodiments, the server signature application module generates a temporary key and sends it to the signer interaction component;
[0038] The signer interaction component encrypts the user identity binding information and the user identity identifier using the temporary key sent by the server signature application module to obtain an encrypted ciphertext, and sends the encrypted ciphertext to the server signature application module;
[0039] The server signature application module decrypts the encrypted ciphertext based on the temporary key to obtain the user identity identifier and user identity binding information, generates a key identifier based on the user identity binding information, and sends a key generation request to the signature generation module;
[0040] The signature generation module generates a signature key according to the key generation request, encrypts the private key using the key encryption key to generate a private key ciphertext, and sends the private key ciphertext and the public key to the server signature application module;
[0041] The server signature application module receives the private key ciphertext and public key of the signature generation module, records the corresponding relationship between the user identity binding information, key identifier, private key ciphertext and public key, and sends the public key to the signer interaction component.
[0042] In some embodiments, the signer interaction component receives a user identity identifier from a server signature application module, blinds the user identity identifier based on a blind signature algorithm process to generate Braille, and initiates an identity authentication request to an identity authentication module;
[0043] The signer interaction component sends the Braille to the identity authentication module and obtains the signature value of the Braille, performs a deblinding process on the signature value of the Braille to obtain the signature value of the original user identity identifier, and returns it to the server signature application module.
[0044] In some embodiments, the blind signature algorithm process includes a blind signature process based on the RSA algorithm.
[0045] In some embodiments, the application party, based on the signature request, generates data to be signed and sends it to the signer interaction component;
[0046] The signer interaction component makes a request for verification of the signer's identity to the server signature application module;
[0047] The server signature application module verifies the signer's identity, generates a temporary key and returns it to the signer interaction component;
[0048] The signer interaction component generates signature activation data based on the temporary key, user identity binding information and the data to be signed, which is processed by the application party and the signature creation application component and transmitted to the server signature application module;
[0049] The server signature application module parses the signature activation data to query the corresponding key identifier, calls the signature generation module to sign the data to be signed, and the signature value is processed by the signature creation application component and returned to the application party.
[0050] In some embodiments, the application side forwards the signature activation data sent by the signer interaction component to the signature creation application component;
[0051] The signature creation application component generates a request data signature value according to a specific data structure encapsulation, and sends the request data signature value to the server signature application module;
[0052] The server signature application module parses the signature value of the request data to obtain signature activation data, decrypts the signature activation data using a temporary key, and obtains user identity binding information and data to be signed;
[0053] The server signature application module queries the key identifier based on the user identity binding information, thereby obtaining the private key ciphertext, sends a signature generation request to the signature generation module, and sends the private key ciphertext and the data to be signed to the signature generation module;
[0054] The signature generation module decrypts the private key ciphertext to obtain the private key, uses the private key to sign the data to be signed, generates a signature value, and sends the signature value to the server signature application module.
[0055] In some embodiments, the server signature application module records the signature value sent by the signature generation module and assembles it to generate a digital signature value response value, and sends the digital signature value response value to the signature creation application component;
[0056] The signature creation application component assembles a signature response based on the data signature value response value and sends it to the application party;
[0057] The application party receives and processes the signature response of the signature creation application component, and uses the signature data to perform business operations, thereby completing the signature process.
[0058] In some embodiments, the remote signature system further includes a CA certificate authorization module, which is connected to the signer interaction component and the server signature application module respectively;
[0059] The CA certificate authorization module issues a digital certificate to the signer interaction component based on the certificate application request of the service signature application module.
[0060] In some embodiments, the signer interaction component obtains certificate-related subject information based on the certificate application request;
[0061] The signer interaction component encrypts the user identity binding information and the certificate-related subject information using the temporary key sent by the server signature application module, generates signature activation data, and sends the signature activation data to the server signature application module;
[0062] The server signature application module uses the temporary key to decrypt the signature activation data to obtain user identity binding information and certificate-related subject information;
[0063] The server signature application module queries the key identifier based on the user identity binding information, queries the private key ciphertext and the public key, assembles the certificate request information as the data to be signed, and sends the private key ciphertext and the data to be signed to the signature generation module;
[0064] The signature generation module decrypts the private key ciphertext to obtain the private key, signs the data to be signed, generates a signature value, and sends the signature value to the server signature application module;
[0065] The server signature application module records the signature value;
[0066] The server signature application module assembles and generates a certificate request format file, and sends the certificate request format file to the CA certificate authorization module.
[0067] In some embodiments, the signer interaction component obtains certificate-related subject information based on the certificate application request;
[0068] The signer interaction component assembles the certificate request information as the data to be signed based on the certificate-related subject information and the public key sent by the server signature application module, encrypts the user identity binding information and the data to be signed using the temporary key sent by the server signature application module, generates signature activation data, and sends the signature activation data to the server signature application module;
[0069] The server signature application module uses the temporary key to decrypt the signature activation data to obtain the user identity binding information and the data to be signed;
[0070] The server signature application module queries the key identifier based on the user identity binding information, queries the private key ciphertext, and sends the private key ciphertext and the data to be signed to the signature generation module;
[0071] The signature generation module decrypts the private key ciphertext to obtain the private key, signs the data to be signed, generates a signature value, and sends the signature value to the server signature application module;
[0072] The server signature application module records the signature value and sends it to the signer interaction component;
[0073] The signer interaction component generates a certificate request format file and sends the certificate request format file to the server signature application module;
[0074] The server signature application module sends the certificate request format file to the CA certificate authorization module.
[0075] In some embodiments, the CA certificate authorization module verifies the validity of the certificate request and issues a certificate after receiving the certificate request format file;
[0076] The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.
[0077] In some embodiments, the server signature application module verifies the validity of the signature value returned by the signature generation module based on the public key.
[0078] To achieve the above objectives, the present invention provides a remote signature method including an application party, which is implemented using the above-mentioned remote signature system including an application party, including a key application process and a signature process:
[0079] The key application process includes:
[0080] The signer interaction component submits a key application request to the server signature application module based on the signer information;
[0081] The server signature application module verifies the identity of the signer, generates a temporary key and returns it to the signer interaction component;
[0082] The signer interaction component encrypts the user identity binding information with the temporary key and transmits the encrypted information to the server signature application module;
[0083] The server signature application module calls the signature generation module to generate a signature key, binds the signature key to the user identity binding information, and returns the public key to the signer interaction component to complete the key application process;
[0084] The signing process includes:
[0085] The application party, based on the signature request, generates the data to be signed and sends it to the signer interaction component;
[0086] The signer interaction component requests the server signature application module to verify the signer's identity;
[0087] The server signature application module verifies the signer's identity, generates a temporary key, and returns the signer's interaction component;
[0088] The signer interaction component generates signature activation data based on the temporary key, user identity binding information and the data to be signed, which is processed by the application party and the signature creation application component and transmitted to the server signature application module;
[0089] The server signature application module parses the signature activation data to query the corresponding key identifier, calls the signature generation module to sign the data to be signed, and the signature value is processed by the signature creation application component and returned to the application party to complete the signing process.
[0090] In some embodiments, the remote signature method further includes a first certificate issuance process;
[0091] The first certificate issuance process includes:
[0092] The signer interaction component obtains certificate-related subject information based on the certificate application request;
[0093] The signer interaction component encrypts the user identity binding information and the certificate-related subject information using the temporary key sent by the server signature application module, generates signature activation data, and sends the signature activation data to the server signature application module;
[0094] The server signature application module uses the temporary key to decrypt the signature activation data to obtain user identity binding information and certificate-related subject information;
[0095] The server signature application module queries the key identifier based on the user identity binding information, queries the private key ciphertext and the public key, assembles the certificate request information as the data to be signed, and sends the private key ciphertext and the data to be signed to the signature generation module;
[0096] The signature generation module decrypts the private key ciphertext to obtain the private key to sign the data to be signed, generates a signature value, and sends the signature value to the server signature application module;
[0097] The server signature application module records the signature value;
[0098] The server signature application module assembles and generates a certificate request format file, and sends the certificate request format file to the CA certificate authorization module;
[0099] The CA certificate authorization module verifies the validity of the certificate request and issues the certificate after receiving the certificate request format file;
[0100] The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.
[0101] In some embodiments, the remote signature method further includes a second certificate issuance process;
[0102] The second certificate issuance process includes:
[0103] The signer interaction component obtains certificate-related subject information based on the certificate application request;
[0104] The signer interaction component assembles the certificate request information as the data to be signed based on the certificate-related subject information and the public key sent by the server signature application module, encrypts the user identity binding information and the data to be signed using the temporary key sent by the server signature application module, generates signature activation data, and sends the signature activation data to the server signature application module;
[0105] The server signature application module uses the temporary key to decrypt the signature activation data to obtain the user identity binding information and the data to be signed;
[0106] The server signature application module queries the key identifier based on the user identity binding information, queries the private key ciphertext, and sends the private key ciphertext and the data to be signed to the signature generation module;
[0107] The signature generation module decrypts the private key ciphertext to obtain the private key, signs the data to be signed, generates a signature value, and sends the signature value to the server signature application module;
[0108] The server signature application module records the signature value and sends it to the signer interaction component;
[0109] The signer interaction component generates a certificate request format file and sends the certificate request format file to the server signature application module;
[0110] The server signature application module sends the certificate request format file to the CA certificate authorization module;
[0111] The CA certificate authorization module verifies the validity of the certificate request and issues the certificate after receiving the certificate request format file;
[0112] The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.
[0113] The present invention provides a remote signature system and method with an application party, which realizes the application party's remote key application, signature and certificate issuance operations in different application scenarios. It not only solves the problem of insufficient security assurance in existing remote signature systems, but also significantly improves the system's availability and scalability, and fully complies with the EU standard for SCAL1 level security requirements. BRIEF DESCRIPTION OF THE DRAWINGS
[0114] The above and other features, properties and advantages of the present invention will become more apparent through the following description in conjunction with the accompanying drawings and embodiments, in which the same reference numerals represent the same features throughout.
[0115] in:
[0116] Figure 1 A schematic diagram of a remote signature system with an application according to an embodiment of the present invention is disclosed;
[0117] Figure 2 A step diagram of a remote signing method with an application according to an embodiment of the present invention is disclosed;
[0118] Figure 3 A key application flow chart according to an embodiment of the present invention is disclosed;
[0119] Figure 4 A flowchart of a key application with a blind signature algorithm according to another embodiment of the present invention is disclosed;
[0120] Figure 5 A signature flow chart according to an embodiment of the present invention is disclosed;
[0121] Figure 6 A first certificate issuance flow chart according to an embodiment of the present invention is disclosed;
[0122] Figure 7 A second certificate issuance flow chart according to yet another embodiment of the present invention is disclosed.
[0123] The meanings of the reference numerals in the figures are as follows:
[0124] 10. Signer interaction component;
[0125] 20 authentication modules;
[0126] 30CA certificate authorization module;
[0127] 40 application methods;
[0128] 50 signatures create application components;
[0129] 60 server signature application module;
[0130] 70Signature generation module. DETAILED DESCRIPTION
[0131] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the invention and are not intended to limit the invention.
[0132] In response to the problem of insufficient security assurance in the remote signature system of the prior art, the present invention proposes a remote signature system and method involving an application party, providing a detailed and reliable remote signature algorithm process, including a key application process, a signature process, and a certificate issuance process, etc. During the use of remote signature scenarios, it ensures that the key generation, storage, use and certificate issuance processes all comply with security standards, thereby improving the security and credibility of remote signatures.
[0133] In particular, the deep integration of the present invention with the application side enables users to complete key application, signature and certificate issuance operations in application sides in different application scenarios (such as WeChat, school systems, etc.), and at the same time fully complies with the security requirements for SCAL1 level in the EU standard ETSI TS119 432, and is suitable for remote electronic signature scenarios with general security requirements.
[0134] Figure 1 The schematic diagram of the remote signature system with an application according to an embodiment of the present invention is disclosed. Figure 1 As shown, the present invention proposes a remote signature system including an application party, which includes at least a signer interaction component 10, an application party 40, a signature creation application component 50, an identity authentication module 20, a server signature application module 60, and a signature generation module 70:
[0135] The signer interaction component (SIC) 10 initiates a key application process based on the signer information and generates signature activation data (SAD), where the signers include individual signers and institutional signers;
[0136] The application 40 receives the user's signature request and initiates the signature process, generates the data to be signed, coordinates the business logic of the signature process, and processes the signature result;
[0137] The signature creation application component (SCA) 50 connects the application side 40 and the server signature application module 60 to encapsulate the signature request and process the signature response;
[0138] The identity authentication module (IA) 20 performs identity authentication based on the identity authentication request of the signer interaction component 10;
[0139] The server signing application module (SSA) 60 verifies the signer's identity, manages the key, activates the signing key based on the user identity binding information, and calls the signature generation module 70 for remote signing;
[0140] The signature generation module (SCDev) 70 generates a signature key according to the call of the server signature application module 60, and generates a signature value for the data to be signed;
[0141] The user identity binding information is calculated based on the signer information, and the signer information includes but is not limited to one of a knowledge factor (PIN code or password) or a holding factor (such as a physical token or a holding device identity DevID) or an inherent factor (such as biometric verification).
[0142] Signer information is the core basis for verifying user identity, which usually includes but is not limited to three key factors: knowledge factors, possession factors, and inherent factors:
[0143] Knowledge factors can be secret information known to the user, such as a PIN code or password, which can be memorized and entered by the user for preliminary identity verification.
[0144] The holding factor can be a physical device or token held by the user, such as a local device identity (DevID), a physical token, a real-name mobile phone verification code, or a mini-program OpenID;
[0145] The inherent factors may be inherent characteristics of the user, such as user biometrics, such as fingerprints, facial recognition or iris scans. This type of information is unique and cannot be replicated.
[0146] The signer information in this invention includes one factor, which can come from any of the three aforementioned factor categories. This allows for strong identity binding (e.g., a PIN or DevID). Prioritizing identity binding based on one factor ensures that the signer information meets the SCAL 1 security requirements of the EU standard ETSI TS119 432 while also flexibly adapting to the security needs of different scenarios.
[0147] Furthermore, the remote signature system including the application party further includes a CA (Certificate Authority) certificate authorization module 30, which is connected to the signer interaction component 10 and the server signature application module 60 respectively;
[0148] The CA certificate authorization module 30 issues a digital certificate to the signer interaction component 10 based on the certificate application request from the service signature application module 60 .
[0149] In this embodiment, the signature activation data is associated with at least the following parameters with a high degree of confidence:
[0150] The data to be signed, the signing key, and the authenticated signer.
[0151] In this embodiment, the signer interaction component 10 is a user's local front-end component, which is usually deployed on the user's local device (such as a mobile phone, computer, etc.) and provided by a cloud signature service provider.
[0152] The functions of the signer interaction component 10 may include the following aspects:
[0153] User interaction: Provides a user interface (such as entering a PIN code, displaying signature status, etc.).
[0154] Local computing: Calculates user identity binding information h1 and processes local data (such as encryption and decryption).
[0155] Interact with the cloud signature service: send the user's key application request to the server signature application module 60 and receive the response from the server signature application module 60.
[0156] Furthermore, the signer interaction component 10 includes an application executed by a browser, an application executed by a mobile device, a secure element of the mobile phone, and an encryption device owned by the signer. The signer interaction component 10 can be a software module, such as an electronic signature application running on a PC or mobile device, or a hardware terminal, such as an electronic signature device with a touch screen and a signature pen.
[0157] In this embodiment, the identity verification module 20 is responsible for verifying the identity of the signer and ensuring that the signature is completed by a legally authorized user.
[0158] The identity authentication module 20 can adopt a variety of identity authentication methods, such as passwords, SMS verification codes, biometrics (fingerprint, face recognition) or certificate-based identity authentication mechanisms to improve the security of the signature.
[0159] The identity authentication module 20 may be a software system, such as an OAuth authentication server or a digital certificate authentication system, or a hardware device, such as a fingerprint reader, a smart card reader or a biometric terminal.
[0160] In this embodiment, the application 40 is a specific application scenario or platform where a user uses a key to sign. For example, WeChat, a school system, etc. can be an application that requires the use of electronic signature functions in business processes to ensure the legitimacy and security of contracts, documents, or transactions.
[0161] The location of the application 40 depends on the specific scenario in which the user uses the key. For example, if the user uses the key to sign in WeChat, WeChat is the application 40; if the user uses the key to sign in a school system, the school system is the application 40.
[0162] The functions of the application 40 may cover the following aspects:
[0163] Front-end display: Provides a user interface (UI) to display signature-related logic and operations (such as signature request, signature result display, etc.);
[0164] Business logic processing: Processing business logic related to signatures, such as generating data to be signed (DTBS), forwarding signature requests, receiving signature results, etc.
[0165] Interact with remote services: Serves as a bridge between users and server signature application modules, signature generation modules, etc., responsible for passing the user's signature request to the server signature application module for remote signature services, and returning the signature result to the user.
[0166] In this embodiment, the signature creation application component (SCA) 50 is a backend service component of the application party 40 and is responsible for processing the logic related to signature generation;
[0167] The signature creation application component (SCA) 50 is located at the back end of the application party 40 and is usually developed, deployed and maintained by the provider of the application party 40 (such as WeChat, school, etc.).
[0168] The signature creation application component (SCA) 50 is mainly responsible for the following functions:
[0169] Signature request encapsulation: encapsulate the signature activation data into a specific data structure (such as AdES format) and send it to the server signature application module 60;
[0170] Signature result processing: receiving the signature result returned by the server signature application module 60 and assembling it into a format usable by the application party 40, such as a signature response;
[0171] Interaction with the application side: As the middle layer between the application side 40 and the server signature application module 60, it is responsible for coordinating the transmission of signature requests and signature responses.
[0172] In this embodiment, the server signature application module 60 runs on the server side and is responsible for key request, distribution, and storage during the key application process. During the signature process, it is responsible for receiving signature requests, coordinating identity verification, processing key generation requests, processing signature creation requests, and ultimately completing the generation and storage of electronic signatures. It typically works in conjunction with other modules, such as the application side and the signature creation component, to ensure the validity of the electronic signature.
[0173] The server signature application module 60 can be a cloud-based electronic signature service, such as a SaaS electronic signature platform, or a private signature server within an enterprise, supporting remote signature or batch signature processing.
[0174] In this embodiment, the signature generation module 70 is a trusted hardware environment for directly operating the key, such as generating a key process and using a key signature process. Optionally, the signature generation module 70 is set in an authenticated cryptographic security device.
[0175] In order to better illustrate the remote signature system and method involving an application party proposed in the present invention, WeChat is taken as an example to explain in detail the actual correspondence between the various components in the system.
[0176] For example, the actual correspondence between the various components of the remote signature system is as follows:
[0177] The Signer Interaction Component (SIC) 10 is a signature plug-in or mini-program integrated into WeChat, through which users complete signing operations, including entering a PIN code and viewing signing progress and results;
[0178] The identity verification module (IA) 20 is WeChat's real-name authentication service, used to verify the authenticity of the user's identity;
[0179] The CA certificate authority module (CA) 30 is a third-party certificate authority responsible for issuing digital certificates;
[0180] Application 40 is WeChat itself, which provides signature scenarios (such as payment, contract signing, etc.) and user interfaces;
[0181] The signature creation application component (SCA) 50 is the backend service of WeChat, responsible for interacting with the server signature application module (SSA), encapsulating signature requests and processing responses;
[0182] The server signature application module (SSA) 60 is the core service of the cloud signature service provider, usually deployed in the cloud, responsible for handling all signature-related logic, including key management, signature generation and verification;
[0183] The signature generation module (SCDev) 70 is typically a hardware device (such as an HSM, hardware security module) of a cloud signature service provider, used to generate key pairs and perform signing operations.
[0184] When the remote signature system executes the key application process, the user clicks the "Apply for Key" button in WeChat, and WeChat calls the SIC (such as a signature plug-in or mini-program) provided by the cloud signature service provider to initiate a key application request.
[0185] When the remote signature system executes the signing process, the user clicks the "Sign Contract" button in WeChat, WeChat generates the data to be signed (DTBS) and calls SIC to execute further signing process.
[0186] When the remote signature system executes the certificate issuance process, the user clicks the "Apply for Certificate" button in WeChat, and WeChat calls SIC to initiate a certificate issuance request.
[0187] Based on the aforementioned application-inclusive remote signature system, the present invention proposes a method for remote signatures involving an application. The details of the proposed method closely correspond to the specific workflow of the application-inclusive remote signature system. Therefore, the following description of the steps of the method can also be considered a detailed description of the workflow of the application-inclusive remote signature system.
[0188] Figure 2 The following discloses a step diagram of a remote signature method with an application according to an embodiment of the present invention. Figure 2 As shown, the present invention proposes a remote signature method with an application party, which at least includes a key application process and a signature process:
[0189] Step S1, key application process, including:
[0190] The signer interaction component 10 submits a key application request to the server signature application module 60 based on the signer information;
[0191] The server signature application module 60 verifies the identity of the signer, generates a temporary key and returns it to the signer interaction component;
[0192] The signer interaction component 10 encrypts the user identity binding information with the temporary key and transmits the encrypted information to the server signature application module 60 ;
[0193] The server signature application module 60 calls the signature generation module 70 to generate a signature key, and the signature key is bound to the user identity binding information;
[0194] Step S2, signature process, including:
[0195] The application party 40 generates the data to be signed based on the signature request and sends it to the signer interaction component 10;
[0196] The signer interaction component 10 makes a request for verification of the signer's identity to the server signature application module 60;
[0197] The server signature application module 60 verifies the signer's identity, generates a temporary key and returns it to the signer interaction component 10;
[0198] The signer interaction component 10 generates signature activation data based on the temporary key, user identity binding information and the data to be signed, which is processed by the application party 40 and the signature creation application component 50 and transmitted to the server signature application module 60;
[0199] The server signature application module 60 parses the signature activation data to query the corresponding key identifier, calls the signature generation module 70 to sign the data to be signed, and the signature value is processed by the signature creation application component 50 and returned to the application party 40.
[0200] The core of the key application process of the remote signature method proposed in the present invention lies in the binding mechanism of the user identity binding information h1.
[0201] The user identity binding information h1 is calculated based on the signer information and is closely related to the signer information. The following takes the password (PIN) or local device identity (DevID) entered by the signer as an example.
[0202] When the server signature application module requests key generation, the key identifier KID is calculated based on the user identity binding information h1, and the signing key is generated accordingly, thereby ensuring that the generation of the signing key is bound to the signer's identity information.
[0203] Since the use of the signature key also depends on the user identity binding information h1, only the person (signer) who can provide the correct user identity binding information h1 (that is, the correct PIN code or device ID DevID) can successfully use the corresponding signature key to perform the signing operation, ensuring the security of the signing process and the uniqueness of the identity.
[0204] Figure 3 and Figure 4 The key application process and the key application flow chart with blind signature algorithm according to an embodiment of the present invention are disclosed respectively. Figure 5 A signature flow chart according to an embodiment of the present invention is disclosed. Figure 6 and Figure 7 The certificate issuance flow charts of the two embodiments are disclosed respectively, as shown in FIG. Figures 3 to 7 In the steps described, A, B, C, D, E, F, and G refer to different execution entities: A is the user-side signer interaction component 10 or signer, B is the identity verification module 20, C is the CA certificate authorization module 30, D is the application 40, E is the signature creation application component 50, F is the server signature application module 60, and G is the signature generation module 70. These execution entities assume specific functions and responsibilities in the corresponding steps.
[0205] like Figure 3 As shown, the key application process includes the following steps:
[0206] Step A11: The signer sends a key application request to the Signer Interaction Component (SIC) 10 to initiate the signing key application process.
[0207] In this embodiment, the signer is the user who wishes to generate a pair of public and private keys in the remote signature system for use in subsequent electronic signature operations.
[0208] Step A12: The Signer Interaction Component (SIC) 10 submits a key application request to the Server Signature Application Module (SSA) 60 based on the signer's key application request, registers the signer's basic identity information, and facilitates subsequent key generation operations.
[0209] Step F11, the server signature application module (SSA) 60 generates a user identity identifier UID and a first random number rm1 in response to the signer basic identity information registered by the signer interaction component (SIC) 10, and returns the user identity identifier UID and the first random number rm1 to the signer interaction component (SIC) 10;
[0210] The first random number rm1 acts as a temporary identity credential, ensuring that subsequent authentication requests are based on the user identity data generated by the server signature application module (SSA) 60, rather than forged requests. This ties the user's identity to the server and prevents man-in-the-middle attacks. The first random number rm1 makes each request unique, preventing replay attacks and is a key security measure for SCAL1.
[0211] Step A13, the signer interaction component (SIC) 10 sends an authentication request to the identity verification module (IA) 20 based on the user identity identifier UID received from the server signature application module (SSA) 60 and the first random number rm1, and sends the user identity identifier UID to the identity verification module (IA) 20;
[0212] Authentication is one of the basic requirements of the SCAL1 security level, ensuring the authenticity of the signer's identity and preventing unauthorized key requests.
[0213] Step B11: After the identity of the signer is verified, the identity verification module (IA) 20 digitally signs the user identity identifier UID, generates a signature value s of the user identity identifier UID, and then returns the signature value s of the user identity identifier UID to the signer interaction component (SIC) 10;
[0214] The signature value s of the user identity identifier UID prevents identity forgery attacks and ensures the integrity of the authentication process.
[0215] Step A14, the signer interaction component (SIC) 10 receives the signature value s returned after identity authentication, and then sends the first random number rm1 and the signature value s together to the server signature application module (SSA) 60;
[0216] Step F12, the server signature application module (SSA) 60 searches for the corresponding user identity UID based on the first random number rm1, and uses the public key of the identity authentication module (IA) 20 to verify whether the signature value s is a valid signature of the user identity UID;
[0217] If the verification is successful, the server signature application module (SSA) 60 proceeds to the next step of temporary key generation; otherwise, the key application is rejected.
[0218] The corresponding user identity identifier UID is searched through the first random number rm1 to confirm that the user identity identifier UID is generated by the server signature application module (SSA) 60 in step F11 before, rather than forged externally, thereby ensuring that the information returned by the identity authentication (signature value s) is calculated based on the rm1 sent previously by SSA 60, preventing replay attacks.
[0219] Step F13 , the server signature application module (SSA) 60 generates a first temporary key k1 and a second random number rm2 and sends them to the signer interaction component (SIC) 10 ;
[0220] The first temporary key k1 is used for subsequent encryption operations, and the second random number rm2 is used to ensure security and prevent replay attacks.
[0221] In step A15, the signer interaction component (SIC) 10 obtains a password (PIN) or a local device identity (DevID), either of which can be selected;
[0222] Step A16, the signer interaction component (SIC) 10 calculates the user identity binding information h1;
[0223] In this embodiment, the SM3 cryptographic hash algorithm is used to calculate and obtain the user identity binding information, and the specific expression is h1=SM3(DevID or PIN).
[0224] In other embodiments, other encryption algorithms are also supported for obtaining the user identity binding information h1. In addition, the local device identity identifier, password, and other parameter data that can represent the signer information can also be used as the basis for calculating the user identity binding information h1;
[0225] Step A17: The signer interaction component (SIC) 10 uses the first temporary key k1 to encrypt the user identity identifier UID and the user identity binding information h1 to obtain a first encrypted ciphertext E1, and sends the first encrypted ciphertext E1 and the second random number rm2 to the server signature application module (SSA) 60;
[0226] In this embodiment, the SM4 cryptographic algorithm is used to calculate and obtain the first encrypted ciphertext E1, and the specific expression is E1 = SM4 (k1, UID + h1). In other embodiments, other encryption algorithms are also supported to obtain the first encrypted ciphertext E1.
[0227] SCAL1 level security requirements must at least ensure basic data encryption protection to prevent the leakage of plaintext data.
[0228] The first temporary key k1 is primarily used to protect the user's sensitive information and ensure the security of data transmission. If plaintext data is transmitted directly, it may be intercepted by a man-in-the-middle attacker, resulting in the disclosure of user identity information. Encrypting the data with the first temporary key k1 (SM4 encryption) ensures that even if the data is intercepted during transmission, it cannot be decrypted.
[0229] If an attacker intercepts the user's identity information, UID and h1, and subsequently resubmits requests, this could lead to duplicate key generation and even abuse by the attacker. The introduction of the second random number rm2, combined with the first temporary key k1, ensures that each key request process is unique, preventing old requests from being maliciously replayed.
[0230] In particular, the first temporary key k1 is only used in this key application process, which prevents the long-term key from being obtained by attackers and reduces the risk of key leakage.
[0231] Step F14: the server signature application module (SSA) 60 decrypts the first encrypted ciphertext E1 based on the first temporary key k1 to obtain the user identity identifier UID and user identity binding information h1 of the decrypted message plaintext;
[0232] Step F15: The server signature application module (SSA) 60 generates a key identifier KID based on the user identity binding information h1 and sends a key generation request to the signature generation module (SCDev) 70;
[0233] Step G11: The signature generation module (SCDev) 70 generates a key pair, i.e., a public-private key pair (SK, PK), as the signing key according to the key generation request. It encrypts the private key SK using the key encryption key (KEK) to obtain the private key ciphertext KEK(SK). The private key ciphertext KEK(SK) and the public key PK are then sent to the server signature application module (SSA) 60.
[0234] Encrypted storage of private keys is a basic requirement of SCAL level 1 to prevent private key leakage and ensure the security of signing keys.
[0235] In step F16, the server signature application module (SSA) 60 receives the private key ciphertext KEK (SK) and public key PK from the signature generation module (SCDev) 70, records the correspondence between the user identity binding information h1, the key identifier KID, the private key ciphertext KEK (SK) and the public key PK, and sends the public key PK to the signer interaction component (SIC) 10.
[0236] This record ensures that the key is tied to the user's identity, preventing key misuse or unauthorized access.
[0237] Furthermore, after step F16, the following steps are further included:
[0238] In step A18, the signer interaction component (SIC) 10 applies to the CA certificate authority module 30 for a digital certificate for electronic signature.
[0239] In a remote signature system, the authenticity of the signer's identity is key. Therefore, before generating a key, it is necessary to ensure that the user applying for the key is legitimate and not a malicious attacker.
[0240] During the key application process, steps F11, A13, B11, A14, and F12 verify the signer's identity. Only authenticated users can proceed to the subsequent key generation steps, ensuring that the key is bound to the user's identity and preventing key abuse.
[0241] Specifically, step A13 , step B11 , and step A14 are for the signer interaction component (SIC) 10 to apply for identity authentication to the identity authentication module (IA) 20 .
[0242] Furthermore, the key application process of the present invention adds a blind signature algorithm to the identity authentication to enhance the privacy protection of the user identity identifier UID, while ensuring that the identity authentication module (IA) 20 can verify and sign the user identity identifier UID.
[0243] The introduction of the blind signature algorithm makes it impossible for the identity authentication module (IA) 20 to directly obtain the user identity identifier UID during the identity authentication process, but it can still sign it, thereby preventing the identity authentication module (IA) 20 from obtaining the user's real identity information and abusing it, such as maliciously forging the user's identity to apply for a key.
[0244] Figure 4 A key application flow chart with a blind signature algorithm according to another embodiment of the present invention is disclosed. Figure 3 compared to, Figure 4 The key application process in the example is different in that steps A13, B11, and A14 are replaced with steps A130, B110, and A140 of the blind signature process. Next, these steps are described in detail:
[0245] In step A130, the signer interaction component (SIC) 10 blinds the user identity UID based on the user identity UID received from the server signature application module (SSA) 60 and the first random number rm1, generates Braille, and sends the Braille to the identity verification module (IA) 20 to ensure the authenticity of the user identity and prevent malicious users from applying for keys.
[0246] Step B110: After the identity authentication is passed, the identity verification module (IA) 20 digitally signs the Braille text to generate a blinded signature value s', and then returns the blinded signature value s' to the signer interaction component (SIC) 10;
[0247] In step A140, the signer interaction component (SIC) 10 receives the blinded signature value s' returned after identity authentication, unblinds the blinded signature value s' to obtain the signature value s of the original user identity identifier UID, and then sends the first random number rm1 and the signature value s together to the server signature application module (SSA) 60;
[0248] therefore, Figure 4 The key application process in the . Figure 3 The same steps are not repeated here.
[0249] In this embodiment, any blind signature algorithm can be used to implement the functions and effects specified in step A130, step B110, and step A140.
[0250] For ease of understanding, the following uses the RSA-based blind signature algorithm as an example to introduce the specific process of blind signature. Other blind signature algorithms are also applicable.
[0251] The blind signature process based on the RSA algorithm includes the following steps:
[0252] The signer interaction component (SIC) 10 selects a random number r as a blinding factor, where the random number r is coprime with the modulus n (i.e., its greatest common divisor with n is 1);
[0253] Signer Interaction Component (SIC) 10, calculates Braille UID'=UID*r e mod n, where the user identity UID is the message to be signed and e is the exponent of the public key of the authentication module (IA) 20.
[0254] The Signer Interaction Component (SIC) 10 sends the Braille UID' to the Identity Verification Module (IA) 20;
[0255] The authentication module (IA) 20 receives the authentication request and, after the authentication is passed, uses its private key d to sign the Braille UID' and calculates the blinded signature result s' = UID' d mod n.
[0256] The identity authentication module (IA) 20 sends the blinded signature result s′ back to the signer interaction component (SIC) 10 .
[0257] The Signer Interaction Component (SIC) 10 receives the blinded signature result s' and calculates the unblinded signature s = s'*r - 1 Mod n, and finally obtain the valid signature value s corresponding to the original user identity UID.
[0258] For the valid signature value s finally obtained by the Signer Interaction Component (SIC) 10, anyone can verify the validity of the signature using the public key e of the Identity Authentication Module (IA) by calculating s e Whether mod n is equal to UID.
[0259] Through the above process, the signer interaction component (SIC) 10 can obtain the signature of the identity authentication module (IA) 20 on the message without leaking the message content, thereby ensuring privacy and security.
[0260] Furthermore, the blinding factor is a first random number rm1. The blinding factor is generated from the first random number rm1, thereby avoiding the introduction of additional random numbers and ensuring that the blinding operation of the UID can be verified.
[0261] In the SCAL1 level security requirements, the key security contributions of the key application process are mainly concentrated on identity authentication (such as step A13, step F12), random number anti-replay (such as step F11, step F13), data encryption transmission (such as step A16, step A17) and key storage protection (such as step G11, step F16).
[0262] Figure 5 A signature flow chart according to an embodiment of the present invention is disclosed. Figure 5 The signing process shown includes the following steps:
[0263] Step A21: The signer initiates a signature request and sends the user identity identifier UID to the application 40;
[0264] Step D21: The application 40 receives the user identity UID, queries and generates the data to be signed DTBS based on the signature request, and sends the data to be signed DTBS to the signer interaction component (SIC) 10;
[0265] Step A22, the signer interaction component (SIC) 10 receives and records the data to be signed DTBS;
[0266] Step A23, the signer interaction component (SIC) 10 obtains the password (PIN) or local device identity (DevID), calculates the user identity binding information h1, and sends the user identity identifier UID and the user identity binding information h1 to the server signature application module (SSA) 60;
[0267] In this embodiment, the SM3 cryptographic hash algorithm is used to calculate and obtain the user identity binding information, and the specific expression is h1=SM3(DevID or PIN).
[0268] Basic identity authentication is required at the SCAL1 level, which uses the SM3 hash algorithm to ensure the integrity and tamper resistance of identity information.
[0269] In other embodiments, other encryption algorithms are also supported for obtaining the user identity binding information h1. In addition, the local device identity identifier, password, and other parameter data that can represent the signer information can also be used as the basis for calculating the user identity binding information h1;
[0270] In step F21, the server signature application module (SSA) 60 verifies the validity of the user identity binding information h1, verifies the identity of the signer, generates a second temporary key k2 and a third random number rm3, and sends the second temporary key k2 and the third random number rm3 to the signer interaction component (SIC) 10;
[0271] Identity verification is a fundamental security requirement of SCAL1, preventing unauthorized users from initiating signature requests. Since the server signature application module (SSA) has already recorded the user identity identifier (UID) and the corresponding h1 during the key application process, in step F21, the h1 recorded during the key application process can be queried using the UID and then compared with the h1 sent by the signer interaction component (SIC) 10 to verify the validity of h1.
[0272] The third random number rm3 makes each signing process unique to prevent replay attacks, and the second temporary key k2 enhances data encryption security.
[0273] In step A24, the signer interaction component (SIC) 10 uses the second temporary key k2 to encrypt the user identity binding information h1 and the data to be signed DTBS to generate the first signature activation data SAD1, and sends the first signature activation data SAD1 and the third random number rm3 to the application 40;
[0274] In this embodiment, the SM4 cryptographic algorithm is used to calculate the first signature activation data SAD1, specifically expressed as SAD1 = SM4(k2, h1, DTBS). SM4 symmetric encryption is used to ensure the confidentiality of identity information and data to be signed during transmission.
[0275] In other embodiments, it is also supported to use other encryption algorithms to obtain the first signature activation data SAD1.
[0276] Step D22 , the application (Application) 40 forwards the first signature activation data SAD1 and the third random number rm3 to the signature creation application component (SCA) 50 ;
[0277] Step E21, the signature creation application component (SCA) 50 generates a request data signature value (DSV request) according to the specific data structure encapsulation, and sends the request data signature value to the server signature application module (SSA) 60;
[0278] The request data signature value is generated according to a specific data structure encapsulation. The specific data structure refers to the signature format, such as AdES (Advanced Electronic Signature).
[0279] Step F22 , the server signature application module (SSA) 60 parses the request data signature value (DSV request) to obtain signature activation data SAD1 ;
[0280] Step F23, the server signature application module (SSA) 60 uses the second temporary key k2 to decrypt the first signature activation data SAD1 to obtain the user identity binding information h1 and the data to be signed DTBS;
[0281] By decrypting the first signature activation data SAD1, the integrity of the data is verified to ensure that the received data has not been tampered with.
[0282] In step F24, the server signature application module (SSA) 60 queries the key identifier KID based on the user identity binding information h1, thereby obtaining the private key ciphertext KEK(SK), sends a signature generation request to the signature generation module (SCDev) 70, and sends the private key ciphertext KEK(SK) and the data to be signed DTBS to the signature generation module (SCDev) 70;
[0283] The storage and transmission of private keys in encrypted form ensure that the keys will not be exposed in plain text, meeting the security requirements of SCAL1 level.
[0284] In step G21, the signature generation module (SCDev) 70 decrypts the private key ciphertext KEK(SK) to obtain the private key SK, uses the private key SK to sign the data to be signed DTBS, generates a signature value sig, and sends the signature value sig to the server signature application module (SSA) 60;
[0285] The high security level of the signature generation module (SCDev) 70 ensures that the private key decryption process is controlled, avoids the abuse of the private key, and improves security.
[0286] Step F25 , the server signature application module (SSA) 60 verifies the validity of the signature value sig based on the public key PK;
[0287] By verifying the validity of the signature value, signature forgery is prevented and the legitimacy of the signature data is ensured.
[0288] Step F26, the server signature application module (SSA) 60 records the signature value sig, assembles and generates a digital signature value response value (DSV response), and sends the digital signature value response value to the signature creation application component (SCA) 50;
[0289] The data signature value response value (DSV response) is a data structure generated by the server signature application module (SSA) 60, which is used to encapsulate the signature result (such as the signature value sig) and other related information (such as the signature status, timestamp, etc.).
[0290] Step E22: The signature creation application component (SCA) 50 assembles a signature response based on the DSV response and sends it to the application 40.
[0291] The signature response is a data structure generated by the signature creation application component (SCA) 50, which is used to encapsulate the data signature value response value and additional information required by the application party 40, and adapt it to a format usable by the application party 40 to ensure that the signature result can be correctly processed and used by the application party.
[0292] In step D23, the application 40 receives and processes the signature response to ensure that the signature data can be used for subsequent business operations, thereby completing the signature process.
[0293] The key security contributions of the signature process are mainly concentrated on identity authentication (such as A23, F21), random number anti-replay (such as F21, A24), data encryption transmission (such as A24, F23), private key management (such as F24, G21) and signature value integrity check (F25, F26). These steps together ensure the security requirements of SCAL1 level.
[0294] like Figure 2 As shown, the remote signature method with an application party proposed in the present invention further includes step S3, a certificate issuance process:
[0295] In the certificate issuance process, after the key application process, the signer interaction component (SIC) 10 applies for a digital certificate through the CA certificate authority module 30 to perform electronic signing.
[0296] Based on the above key application process and signature process, the present invention innovatively proposes two certificate issuance process solutions, namely Figure 6 and Figure 7 The core feature of these two certificate issuance processes is that they both require the use of a signature key for signing operations, which is essentially a special type of key application process.
[0297] in, Figure 7 The second certificate issuance process shown is a key application solution designed specifically for certificate issuance scenarios. Its process design is highly consistent with the existing actual certificate issuance process, reflecting its practicality. Figure 6The first certificate issuance process shown focuses on compatibility with the signature process designed by the present invention. In this way, only a unified signature process needs to be provided to meet the needs of various application scenarios, reflecting the economy and scalability of the design.
[0298] Figure 6 A flow chart of certificate issuance according to an embodiment of the present invention is disclosed. Figure 6 As shown, the first certificate issuance process includes:
[0299] Step A31, the signer initiates a certificate request to the Signer Interaction Component (SIC) 10;
[0300] Step A32: The Signer Interaction Component (SIC) 10 obtains certificate-related subject information based on the certificate application request.
[0301] When the CA certificate authorization module issues a certificate to a user based on the user's public key, the certificate subject information (Subject) refers to the specific information about the certificate holder contained in the certificate, which is used to uniquely identify the certificate holder and is bound to his or her public key.
[0302] The certificate subject information usually includes the following:
[0303] Name: The holder's full name.
[0304] Organization: Name of the company or institution to which you belong.
[0305] Email: The contact email address of the certificate holder.
[0306] Public key: Public key information of the certificate holder.
[0307] Location: Geographic information of the certificate holder, such as country and city.
[0308] In this step A32, the certificate-related subject information includes name, organization, email, location, etc. The public key information will be obtained in the subsequent step F33.
[0309] Step A33, the signer interaction component (SIC) 10 obtains a password (PIN) or a local device identity (DevID);
[0310] Step A34, the signer interaction component (SIC) 10 calculates the user identity binding information h1, and sends the user identity binding information h1 and the user identity identifier UID to the server signature application module (SSA) 60;
[0311] In this embodiment, the SM3 cryptographic hash algorithm is used to calculate and obtain the user identity binding information, and the specific expression is h1=SM3(DevID or PIN).
[0312] User authentication is performed by binding DevID or PIN to improve identity authentication security and prevent unauthorized access.
[0313] In other embodiments, other encryption algorithms are also supported for obtaining the user identity binding information h1. In addition, the local device identity identifier, password, and other parameter data that can represent the signer information can also be used as the basis for calculating the user identity binding information h1;
[0314] Step F31: The server signature application module (SSA) 60 verifies the validity of the user identity binding information h1, generates a third temporary key k3 and a fourth random number rm4, and sends the third temporary key k3 and the fourth random number rm4 to the signer interaction component (SIC) 10;
[0315] The server signature application module (SSA) 60 verifies the validity of h1 by comparing the user identity identifier UID and the corresponding h1 recorded in the key application process with the h1 sent by the signer interaction component (SIC) 10 this time, ensuring that the identity information is complete and has not been tampered with.
[0316] In step A35, the signer interaction component (SIC) 10 encrypts the user identity binding information h1 and the certificate-related subject information using the third temporary key k3 to generate first signature activation data SAD1, and sends the first signature activation data SAD1 and the fourth random number rm4 to the server signature application module (SSA) 60;
[0317] In this embodiment, the SM4 cryptographic algorithm is used to calculate the first signature activation data SAD1. The specific expression is SAD1 = SM4(k3, h1, certificate subject information). In other embodiments, other encryption algorithms can also be used to obtain the first signature activation data SAD1. SAD1 is encrypted with a temporary key before transmission, enhancing data transmission security and preventing man-in-the-middle attacks.
[0318] Step F32: The server signature application module (SSA) 60 decrypts the first signature activation data SAD1 using the third temporary key k3 to obtain the user identity binding information h1 and the certificate-related subject information, ensuring data integrity and preventing tampering.
[0319] In step F33, the server signature application module (SSA) 60 queries the key identifier KID based on the user identity binding information h1, queries the private key ciphertext KEK (SK) and the public key PK, assembles the certificate-related subject information with the public key PK, generates a certificate request information as the data to be signed (DTBS), and sends the private key ciphertext KEK (SK) and the data to be signed (DTBS) to the signature generation module (SCDev) 70;
[0320] By using KEK (SK) to protect the private key SK, it is only decrypted when signing, avoiding long-term exposure of the private key and reducing the risk of theft.
[0321] Step G31: The signature generation module (SCDev) 70 decrypts the private key ciphertext KEK(SK) to obtain the private key SK, uses the private key SK to sign the data to be signed DTBS, generates a signature value sig, and sends the signature value sig to the server signature application module (SSA) 60;
[0322] Step F34, the server signature application module (SSA) 60 verifies the validity of the signature value sig based on the public key PK to ensure the legitimacy of the signature and prevent signature forgery;
[0323] Step F35, the server signature application module (SSA) 60 records the signature value sig;
[0324] Step F36, the server signature application module (SSA) 60 generates a certificate request format file (P10), and sends the certificate request format file to the CA certificate authority module (CA) 30;
[0325] The certificate request format file, commonly known as a P10 file, complies with the PKCS#10 standard, which is a format file widely used in the public key infrastructure (PKI) field for submitting digital certificate applications.
[0326] The certificate request format file specifies the specific content of the certificate application, including the following aspects:
[0327] Requester's public key: the public key requested.
[0328] Subject information: applicant's identification information (such as name, organization, etc.).
[0329] Signature: The applicant digitally signs the request using their private key to prove their identity.
[0330] Step C31: After receiving the certificate request format file (P10), the CA certificate authority module (CA) 30 verifies the validity of the certificate request and issues a certificate.
[0331] In step A35, the signer interaction component (SIC) 10 obtains the issued certificate from the CA certificate authority module (CA) 30 and returns it to the signer.
[0332] Figure 7 A flow chart of certificate issuance according to another embodiment of the present invention is disclosed. Figure 7 The certificate issuance process shown includes the following steps:
[0333] Step A41: The signer initiates a certificate request to the Signer Interaction Component (SIC) 10;
[0334] Step A42: The Signer Interaction Component (SIC) 10 obtains certificate-related subject information based on the certificate application request.
[0335] The subject information associated with the certificate includes information such as name, organization, email, and location.
[0336] Step A43, the signer interaction component (SIC) 10 obtains a password (PIN) or a local device identity (DevID);
[0337] Step A44, the signer interaction component (SIC) 10 calculates the user identity binding information h1, and sends the user identity binding information h1 and the user identity identifier UID to the server signature application module (SSA) 60;
[0338] In this embodiment, the SM3 cryptographic hash algorithm is used to calculate and obtain the user identity binding information, and the specific expression is h1=SM3(DevID or PIN).
[0339] In other embodiments, other encryption algorithms are also supported for obtaining the user identity binding information h1. In addition, the local device identity identifier, password, and other parameter data that can represent the signer information can also be used as the basis for calculating the user identity binding information h1;
[0340] Step F41: After verifying the validity of the user identity binding information h1, the server signature application module (SSA) 60 queries the public key PK, generates a fourth temporary key k4 and a fifth random number rm5, and sends the fourth temporary key k4, the fifth random number rm5, and the public key PK to the signer interaction component (SIC) 10.
[0341] Step A45, the signer interaction component (SIC) 10 assembles the certificate-related subject information with the public key PK to generate assembled certificate request information as data to be signed (DTBS);
[0342] Step A46: The signer interaction component (SIC) 10 uses the fourth temporary key k4 to encrypt the user identity binding information h1 and the data to be signed (DTBS) to generate the first signature activation data SAD1, and sends the first signature activation data SAD1 and the fifth random number rm5 to the server signature application module (SSA) 60;
[0343] In this embodiment, the SM4 cryptographic algorithm is used to calculate and obtain the first signature activation data SAD1, specifically expressed as SAD1 = SM4(k3, h1, DTBS). In other embodiments, other encryption algorithms can also be used to obtain the first signature activation data SAD1.
[0344] Step F42 , the server signature application module (SSA) 60 uses the fourth temporary key k4 to decrypt the first signature activation data SAD1 to obtain the user identity binding information h1 and the data to be signed (DTBS);
[0345] Step F43, the server signature application module (SSA) 60 queries the key identifier KID based on the user identity binding information h1, queries the private key ciphertext KEK (SK), and sends the private key ciphertext KEK (SK) and the data to be signed (DTBS) to the signature generation module (SCDev) 70;
[0346] In step G41, the signature generation module (SCDev) 70 decrypts the private key ciphertext KEK(SK) to obtain the private key SK, uses the private key SK to sign the data to be signed DTBS, generates a signature value sig, and sends the signature value sig to the server signature application module (SSA) 60;
[0347] Step F44 , the server signature application module (SSA) 60 verifies the validity of the signature value sig based on the public key PK;
[0348] Step F44 , the server signature application module (SSA) 60 records the signature value sig and sends it to the signer interaction component (SIC) 10 ;
[0349] Step A47, the signer interaction component (SIC) 10 generates a certificate request format file (P10), and sends the certificate request format file to the server signature application module (SSA) 60;
[0350] In step F45, the server signature application module (SSA) 60 sends the certificate request format file to the CA certificate authority module (CA) 30 to initiate the certificate application process;
[0351] Step C41: After receiving the certificate request format file (P10), the CA certificate authority module (CA) 30 verifies the validity of the certificate request and issues a certificate.
[0352] In step A48, the Signer Interaction Component (SIC) 10 obtains the issued certificate from the CA Certificate Authority (CA) 30 and returns it to the user.
[0353] like Figure 6 and Figure 7The two certificate issuance processes involve steps of identity authentication, data encryption, signature verification, anti-replay attack and key security protection, which make an important contribution to the security requirements of SCAL1 level and ensure the security of remote signatures.
[0354] In this embodiment, the server signature application module 60 is configured to:
[0355] Generate and append a unique random number in each interaction with the signer interaction component 10;
[0356] When receiving the information returned by the signer interaction component 10, it is verified whether the random number contained in the returned information is consistent with the random number originally sent.
[0357] More specifically, the server signature application module 60 sends a random number along with information to the signer interaction component 10. Upon receiving a response from the signer interaction component 10, the server verifies the random number included in the response to confirm its consistency with the random number sent. This mechanism prevents replay attacks, ensures the real-time nature and uniqueness of data, and thus enhances the security and reliability of the signature interaction process.
[0358] The key application process, signature process, and certificate issuance process of the remote signature method involve the use of multiple random numbers and temporary keys to ensure security and integrity.
[0359] It's best to set the random numbers in each process to be different. Of course, even if they are the same, it won't affect the overall implementation of the present invention. The server signature application module sends a random number during communication, and the signer interaction component must return the same random number for verification when returning data, ensuring that the data has not been tampered with and preventing replay attacks.
[0360] Specifically, these random numbers include the first random number rm1, the second random number rm2, the third random number rm3, the fourth random number rm4, and the fifth random number rm5. These random numbers are used for data blinding, identity authentication, and key generation at different stages to prevent replay attacks and improve system security.
[0361] In this embodiment, the signer interaction component 10 sends the user identity binding information and the user identity identifier to the server signature application module 60;
[0362] The server signature application module 60 verifies the validity of the user identity binding information, generates a temporary key and sends the temporary key to the signer interaction component 10;
[0363] The temporary key is used to encrypt and protect user identity binding information, data to be signed, or certificate request information.
[0364] It is a better choice to set the temporary keys in each process to be different. Using different temporary keys in the interaction process ensures the uniqueness of each operation and prevents replay attacks. Of course, even if they are the same, it will not affect the implementation of the overall solution of the present invention.
[0365] Specifically, these temporary keys include the first temporary key k1, the second temporary key k2, the third temporary key k3, and the fourth temporary key k4. These temporary keys play a role in user authentication, key activation, and signature data encryption to ensure the secure transmission and use of keys.
[0366] By properly setting random numbers and temporary keys, we can ensure system security while taking into account the needs of different application scenarios and improve the flexibility and reliability of the signing process.
[0367] Although the above methods are illustrated and described as a series of acts for simplicity of explanation, it is to be understood and appreciated that these methods are not limited by the order of the acts, as some acts may occur in a different order and / or concurrently with other acts from those illustrated and described herein or not illustrated and described herein but understandable to those skilled in the art according to one or more embodiments.
[0368] The present invention proposes a remote signature system and method including an application party, which specifically has the following features:
[0369] Beneficial effects:
[0370] 1) Enhanced security: The first temporary identity information (h1) is calculated by using factors related to the signer's information, such as the user's PIN code or device ID (DevID). This ensures that the generation of the signing key is strongly bound to the user's identity. Only users who provide the correct h1 are allowed to use the key, thereby improving the security of the signing process.
[0371] 2) Preventing identity leakage: A blind signature algorithm is introduced during the identity authentication process to keep the user identity identifier (UID) hidden in the authentication module (IA) 20. At the same time, it ensures that the authentication module can authenticate and sign the UID, effectively preventing the leakage of user identity information;
[0372] 3) Random number verification mechanism: When the server signature application module (SSA) 60 interacts with the signer interaction component (SIC) 10, it uses random numbers to perform consistency verification to ensure that the returned information has not been tampered with, thereby improving the security and integrity of data transmission;
[0373] 4) Dynamic key management: The key application process and the signature process adopt a temporary key mechanism and support the use of different temporary keys between different processes to improve the security of the key while ensuring the efficiency of the signing process.
[0374] As used in this application and the claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" are not intended to refer to the singular but may include the plural. Generally speaking, the terms "comprises" and "include" only indicate the inclusion of the steps and elements specifically identified, and these steps and elements do not constitute an exclusive list. A method or apparatus may also include other steps or elements.
[0375] Those skilled in the art will appreciate that information, signals, and data may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips cited throughout the foregoing description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0376] Those skilled in the art will further appreciate that the various illustrative logic blocks, modules, circuits, and algorithmic steps described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of the two. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps are generally described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. A skilled person may implement the described functionality in different ways for each specific application, but such implementation decisions should not be interpreted as resulting in a departure from the scope of the present invention.
[0377] The various illustrative logic modules and circuits described in conjunction with the embodiments disclosed herein may be implemented or executed using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0378] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read and write information from / to the storage medium. In an alternative, the storage medium may be integrated into the processor. The processor and storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In an alternative, the processor and storage medium may reside in a user terminal as discrete components.
[0379] The above embodiments are provided to persons familiar with the art for implementing or using the present invention. Personnel familiar with the art may make various modifications or changes to the above embodiments without departing from the inventive concept of the present invention. Therefore, the scope of protection of the present invention is not limited to the above embodiments, but should be the maximum scope of the innovative features mentioned in the claims.
Claims
1. A remote signature system including an application party, characterized in that: It includes at least the signer interaction component, the application side, the signature creation application component, the identity authentication module, the server signature application module, and the signature generation module: The signer interaction component initiates a key application process based on the signer information and generates signature activation data; The application receives the user's signature request, generates the data to be signed, coordinates the business logic of the signature process, and processes the signature result; The signature creation application component is used to encapsulate the signature request and process the signature response with the application party and the server signature application module respectively; The authentication module performs authentication based on the authentication request of the signer interaction component; The server signature application module verifies the signer's identity, manages the key, activates the signature key based on the user identity binding information, and calls the signature generation module to perform remote signing; The signature generation module generates a signature key according to the call of the server signature application module, and generates a signature value for the signature data; The user identity binding information is obtained by calculation based on the signer information, and the signer information includes one of a knowledge factor, a holding factor, and an inherent factor.
2. The remote signature system including an application according to claim 1, characterized in that: The signer interaction component sends the user identity binding information and the user identity identifier to the server signature application module; The server signature application module verifies the validity of the user identity binding information, generates a temporary key and sends the temporary key to the signer interaction component; The temporary key is used to encrypt and protect user identity binding information, data to be signed, or certificate request information.
3. The remote signature system including an application according to claim 1, characterized in that: The server signature application module is configured as follows: Generate and append a unique random number to each interaction with the signer interaction component; When receiving the information returned by the signer interaction component, verify whether the random number contained in the returned information is consistent with the random number originally sent.
4. The remote signature system including an application according to claim 1, characterized in that: The signer interaction components include an application executed by a browser, an application executed by a mobile device, a secure element of the mobile phone, and an encryption device owned by the signer.
5. The remote signature system including an application according to claim 1, characterized in that: The signature generation module is set in an authenticated cryptographic security device.
6. The remote signature system including an application according to claim 1, characterized in that: The signature activation data is associated with at least the following parameters with high confidence: The data to be signed, the signing key, and the authenticated signer.
7. The remote signature system including an application according to claim 1, characterized in that: The application side is used to process the business logic related to the signature, pass the signature request of the signer to the server signature application module for remote signature service, and return the signature result to the signer.
8. The remote signature system including an application according to claim 1, characterized in that: The application provides a user interface to display signature-related logic and operations.
9. The remote signature system including an application according to claim 1, characterized in that: The signer interaction component submits a key application request to the server signature application module based on the signer information; The server signature application module verifies the identity of the signer, generates a temporary key and returns it to the signer interaction component; The signer interaction component encrypts the user identity binding information with the temporary key and transmits the encrypted information to the server signature application module; The server signature application module calls the signature generation module to generate a signature key, and the signature key is bound to the user identity binding information.
10. The remote signature system including an application according to claim 9, characterized in that: The signer interaction component registers the signer's basic identity information with the server signature application module based on the key application request; The server signature application module generates a user identity identifier in response to the basic identity information of the signer registered by the signer interaction component, and sends the user identity identifier to the signer interaction component; The signer interaction component receives the user identity identifier from the server signature application module, requests identity authentication from the identity authentication module to obtain a signature value of the user identity identifier, and returns the signature value to the server signature application module; The server signature application module verifies the signature value of the user identity identifier and performs subsequent actions after the verification is passed.
11. The remote signature system including an application according to claim 9, characterized in that: The server signature application module generates a temporary key and sends it to the signer interaction component; The signer interaction component encrypts the user identity binding information and the user identity identifier using the temporary key sent by the server signature application module to obtain an encrypted ciphertext, and sends the encrypted ciphertext to the server signature application module; The server signature application module decrypts the encrypted ciphertext based on the temporary key to obtain the user identity identifier and user identity binding information, generates a key identifier based on the user identity binding information, and sends a key generation request to the signature generation module; The signature generation module generates a signature key according to the key generation request, encrypts the private key using the key encryption key to generate a private key ciphertext, and sends the private key ciphertext and the public key to the server signature application module; The server signature application module receives the private key ciphertext and public key of the signature generation module, records the corresponding relationship between the user identity binding information, key identifier, private key ciphertext and public key, and sends the public key to the signer interaction component.
12. The remote signature system including an application according to claim 9, characterized in that: The signer interaction component receives the user identity identifier from the server signature application module, blinds the user identity identifier to generate Braille based on the blind signature algorithm process, and initiates an identity authentication request to the identity authentication module; The signer interaction component sends the Braille to the identity authentication module and obtains the signature value of the Braille, performs a deblinding process on the signature value of the Braille to obtain the signature value of the original user identity identifier, and returns it to the server signature application module.
13. The remote signature system including an application according to claim 12, characterized in that: The blind signature algorithm process includes a blind signature process based on the RSA algorithm.
14. The remote signature system including an application according to claim 1, characterized in that: The application party generates data to be signed based on the signature request and sends it to the signer interaction component; The signer interaction component makes a request for verification of the signer's identity to the server signature application module; The server signature application module verifies the signer's identity, generates a temporary key and returns it to the signer interaction component; The signer interaction component generates signature activation data based on the temporary key, user identity binding information and the data to be signed, which is processed by the application party and the signature creation application component and transmitted to the server signature application module; The server signature application module parses the signature activation data to query the corresponding key identifier, calls the signature generation module to sign the data to be signed, and the signature value is processed by the signature creation application component and returned to the application party.
15. The remote signature system including an application party according to claim 14, characterized in that: The application party forwards the signature activation data sent by the signer interaction component to the signature creation application component; The signature creation application component generates a request data signature value according to a specific data structure encapsulation, and sends the request data signature value to the server signature application module; The server signature application module parses the signature value of the request data to obtain signature activation data, decrypts the signature activation data using a temporary key, and obtains user identity binding information and data to be signed; The server signature application module queries the key identifier based on the user identity binding information, thereby obtaining the private key ciphertext, sends a signature generation request to the signature generation module, and sends the private key ciphertext and the data to be signed to the signature generation module; The signature generation module decrypts the private key ciphertext to obtain the private key, uses the private key to sign the data to be signed, generates a signature value, and sends the signature value to the server signature application module.
16. The remote signature system including an application according to claim 15, characterized in that: The server signature application module records the signature value sent by the signature generation module and assembles it to generate a digital signature value response value, and sends the digital signature value response value to the signature creation application component; The signature creation application component assembles a signature response based on the data signature value response value and sends it to the application party; The application party receives and processes the signature response of the signature creation application component, and uses the signature data to perform business operations, thereby completing the signature process.
17. The remote signature system including an application party according to claim 1, characterized in that: It also includes a CA certificate authorization module, which is connected to the signer interaction component and the server signature application module respectively; The CA certificate authorization module issues a digital certificate to the signer interaction component based on the certificate application request of the service signature application module.
18. The remote signature system including an application party according to claim 17, characterized in that: The signer interaction component obtains certificate-related subject information based on the certificate application request; The signer interaction component encrypts the user identity binding information and the certificate-related subject information using the temporary key sent by the server signature application module, generates signature activation data, and sends the signature activation data to the server signature application module; The server signature application module uses the temporary key to decrypt the signature activation data to obtain user identity binding information and certificate-related subject information; The server signature application module queries the key identifier based on the user identity binding information, queries the private key ciphertext and the public key, assembles the certificate request information as the data to be signed, and sends the private key ciphertext and the data to be signed to the signature generation module; The signature generation module decrypts the private key ciphertext to obtain the private key, signs the data to be signed, generates a signature value, and sends the signature value to the server signature application module; The server signature application module records the signature value; The server signature application module assembles and generates a certificate request format file, and sends the certificate request format file to the CA certificate authorization module.
19. The remote signature system including an application according to claim 17, characterized in that: The signer interaction component obtains certificate-related subject information based on the certificate application request; The signer interaction component assembles the certificate request information as the data to be signed based on the certificate-related subject information and the public key sent by the server signature application module, encrypts the user identity binding information and the data to be signed using the temporary key sent by the server signature application module, generates signature activation data, and sends the signature activation data to the server signature application module; The server signature application module uses the temporary key to decrypt the signature activation data to obtain the user identity binding information and the data to be signed; The server signature application module queries the key identifier based on the user identity binding information, queries the private key ciphertext, and sends the private key ciphertext and the data to be signed to the signature generation module; The signature generation module decrypts the private key ciphertext to obtain the private key, signs the data to be signed, generates a signature value, and sends the signature value to the server signature application module; The server signature application module records the signature value and sends it to the signer interaction component; The signer interaction component generates a certificate request format file and sends the certificate request format file to the server signature application module; The server signature application module sends the certificate request format file to the CA certificate authorization module.
20. The remote signature system including an application according to claim 18 or claim 19, characterized in that: The CA certificate authorization module verifies the validity of the certificate request and issues the certificate after receiving the certificate request format file; The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.
21. The remote signature system including an application according to claim 18 or claim 19, characterized in that: The server signature application module verifies the validity of the signature value returned by the signature generation module based on the public key.
22. A remote signature method including an application party, implemented by a remote signature system including an application party according to any one of claims 1 to 21, characterized in that: Including key application process and signature process: The key application process includes: The signer interaction component submits a key application request to the server signature application module based on the signer information; The server signature application module verifies the identity of the signer, generates a temporary key and returns it to the signer interaction component; The signer interaction component encrypts the user identity binding information with the temporary key and transmits the encrypted information to the server signature application module; The server signature application module calls the signature generation module to generate a signature key, binds the signature key to the user identity binding information, and returns the public key to the signer interaction component to complete the key application process; The signing process includes: The application party, based on the signature request, generates the data to be signed and sends it to the signer interaction component; The signer interaction component requests the server signature application module to verify the signer's identity; The server signature application module verifies the signer's identity, generates a temporary key, and returns the signer's interaction component; The signer interaction component generates signature activation data based on the temporary key, user identity binding information and the data to be signed, which is processed by the application party and the signature creation application component and transmitted to the server signature application module; The server signature application module parses the signature activation data to query the corresponding key identifier, calls the signature generation module to sign the data to be signed, and the signature value is processed by the signature creation application component and returned to the application party to complete the signing process.
23. The remote signature method involving an application according to claim 22, characterized in that: It also includes the first certificate issuance process; The first certificate issuance process includes: The signer interaction component obtains certificate-related subject information based on the certificate application request; The signer interaction component encrypts the user identity binding information and the certificate-related subject information using the temporary key sent by the server signature application module, generates signature activation data, and sends the signature activation data to the server signature application module; The server signature application module uses the temporary key to decrypt the signature activation data to obtain user identity binding information and certificate-related subject information; The server signature application module queries the key identifier based on the user identity binding information, queries the private key ciphertext and the public key, assembles the certificate request information as the data to be signed, and sends the private key ciphertext and the data to be signed to the signature generation module; The signature generation module decrypts the private key ciphertext to obtain the private key to sign the data to be signed, generates a signature value, and sends the signature value to the server signature application module; The server signature application module records the signature value; The server signature application module assembles and generates a certificate request format file, and sends the certificate request format file to the CA certificate authorization module; The CA certificate authorization module verifies the validity of the certificate request and issues the certificate after receiving the certificate request format file; The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.
24. The remote signature method involving an application according to claim 22, characterized in that: It also includes the second certificate issuance process; The second certificate issuance process includes: The signer interaction component obtains certificate-related subject information based on the certificate application request; The signer interaction component assembles the certificate request information as the data to be signed based on the certificate-related subject information and the public key sent by the server signature application module, encrypts the user identity binding information and the data to be signed using the temporary key sent by the server signature application module, generates signature activation data, and sends the signature activation data to the server signature application module; The server signature application module uses the temporary key to decrypt the signature activation data to obtain the user identity binding information and the data to be signed; The server signature application module queries the key identifier based on the user identity binding information, queries the private key ciphertext, and sends the private key ciphertext and the data to be signed to the signature generation module; The signature generation module decrypts the private key ciphertext to obtain the private key, signs the data to be signed, generates a signature value, and sends the signature value to the server signature application module; The server signature application module records the signature value and sends it to the signer interaction component; The signer interaction component generates a certificate request format file and sends the certificate request format file to the server signature application module; The server signature application module sends the certificate request format file to the CA certificate authorization module; The CA certificate authorization module verifies the validity of the certificate request and issues the certificate after receiving the certificate request format file; The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.