Remote signature system and method containing application party
By designing a remote signature system that includes the application party and adopting multi-factor identity binding and temporary key technology, the problem that the existing remote signature system is difficult to meet the SCAL2 level security requirements is solved, and high security and availability are achieved in different application scenarios. It is suitable for scenarios such as WeChat and school systems.
Patent Information
- Application Number
- CN202510887214.3
- 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 are difficult to meet the security requirements of SCAL2 in the EU standard ETSI TS119 432. Especially in complex scenarios involving the intervention of third-party applications, the establishment and maintenance of the trust chain pose security risks.
A remote signature system and method involving an application party is designed. Through the combination of a signer interaction component, an application party, an identity authentication module, a server signature application module, a signature activation module and a signature generation module, a multi-factor identity binding mechanism is adopted, and temporary keys and encryption technology are used to ensure that the signature key is used under the sole control of the signer.
It realizes remote key application, signature and certificate issuance operations in different application scenarios, significantly improving the security and availability of the system. It fully complies with the security requirements of SCAL2 and is suitable for remote electronic signature scenarios with high security requirements.
Smart Images

Figure CN120658405A_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] Digital signature technology is a crucial means of ensuring information integrity and identity authentication. With the acceleration of cloud computing, leveraging the cloud's powerful computing power and security, and increasingly lightweight clients, the trend toward using cloud-hosted private keys for signing has become widespread. Ensuring the high-trustworthiness of these remotely created digital signatures, under the sole control of the signer, has become a significant challenge.
[0003] To ensure that digital signatures created remotely receive the same legal recognition as digital signatures created in a fully user-managed environment, remote server signing providers should employ specific management and security procedures and provide reliable systems and products to guarantee that signing keys are used with a high degree of confidence under the sole control of the signer.
[0004] In terms of standardization, a series of standards have been established internationally to ensure the security of private keys hosted in the cloud. The EU standard ETSI TS119 432 defines protocols and interfaces for remote digital signature creation, providing standardized support for electronic signatures and electronic seals (including qualified electronic signatures and qualified electronic seals). This standard places particular emphasis on the interoperability and security requirements for digital signatures across diverse devices and technical environments. This standard specifically introduces SCAL2 (Sole Control Assurance Level 2) certification, which requires that the signing key be used under the sole control of the signer and have a high degree of trustworthiness. However, a systematic national standard system has yet to be established in China.
[0005] However, existing remote signature systems generally suffer from significant shortcomings. Firstly, they often lack the detailed algorithmic processes and implementation details required by international standards (such as ETSI TS 119 432), making it difficult for practical applications to achieve the desired level of security. This is particularly true in complex scenarios involving third-party applications, where establishing and maintaining a trust chain presents challenges and potential security risks. Secondly, existing architectures struggle to effectively meet the stringent ETSI standards for remote signature security controls in multi-party collaboration scenarios involving applications.
[0006] Therefore, there is an urgent need to build a new remote signature system that includes application parties to meet international security standards such as SCAL2. Summary of the Invention
[0007] 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 SCAL2.
[0008] 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, a signature activation module, and a signature generation module:
[0009] The signer interaction component initiates a key application process based on the signer information and generates signature activation data;
[0010] 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;
[0011] The signature creation application component is used to encapsulate the signature request and process the signature response;
[0012] The authentication module performs authentication based on the authentication request of the signer interaction component;
[0013] The server signature application module verifies the identity of the signer based on the user identity binding information;
[0014] The signature activation module is used to manage keys, activate signature keys, and call the signature generation module for remote signing;
[0015] The signature generation module generates a signature key according to the call of the signature activation 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 at least two 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 and then calls the signature activation module to generate 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 signature activation module is configured to:
[0021] During the key application process, signature process, or certificate issuance process, a temporary key uniquely corresponding to the current operation is generated, and the temporary key is transmitted to the signer interaction component through a secure transmission channel;
[0022] The temporary key is associated with the user identity binding information and the user identity identifier.
[0023] In some embodiments, the secure transmission channel includes:
[0024] Encrypted SMS channel, sending key derivation code in combination with the user's real-name mobile phone number.
[0025] In some embodiments, the signature activation module and / or signature generation module are provided in a certified cryptographic security device.
[0026] 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.
[0027] In some embodiments, the application provides a user interface to display signature-related logic and operations.
[0028] 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.
[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 and sends a temporary key generation instruction to the signature activation module after the verification is passed;
[0031] The signature activation module generates a temporary key and returns it to the signer interaction component;
[0032] The signer interaction component encrypts the user identity binding information with the temporary key to obtain an encrypted ciphertext, and sends it to the server signature application module;
[0033] The server signature application module forwards the encrypted ciphertext to the signature activation module;
[0034] The signature activation module calls the signature generation module to generate a signature key, and the signature key is associated and bound with the user identity binding information.
[0035] 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;
[0036] 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;
[0037] 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;
[0038] The server signature application module verifies the signature value of the user identity identifier and performs subsequent actions after the verification is passed.
[0039] In some embodiments, the signature activation module generates a temporary key in response to a temporary key generation instruction from the server signature application module, and sends the temporary key and the user identity to the identity verification module;
[0040] The identity verification module generates a text message based on the temporary key and the user identity identifier and sends it to the signer interaction component through the text message gateway;
[0041] The signer interaction component calculates a temporary key using a key derivation method based on the SMS, encrypts the user identity binding information and the user identity identifier, obtains an encrypted ciphertext, and sends the encrypted ciphertext to the server signature application module;
[0042] The server signature application module forwards the encrypted ciphertext to the signature activation module;
[0043] The signature activation 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;
[0044] 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 signature activation module;
[0045] The signature activation module receives the private key ciphertext and public key from 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 server signature application module;
[0046] The server signature application module records the corresponding relationship between the user identity and the public key, and sends the public key to the signer interaction component.
[0047] 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;
[0048] 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.
[0049] In some embodiments, the blind signature algorithm process includes:
[0050] Blind signature process based on the ElGamal algorithm; or
[0051] A blind signature process based on the Schnorr algorithm; or
[0052] Blind signature process based on the RSA algorithm.
[0053] In some embodiments, the application party, based on the signature request, generates data to be signed and sends it to the signer interaction component;
[0054] The signer interaction component makes a request for verification of the signer's identity to the server signature application module;
[0055] The server signature application module verifies the identity of the signer;
[0056] The signature activation module sends the user identity and temporary key to the signature creation application component;
[0057] The signature creation application component generates a text message based on the temporary key and the user identity through the text message gateway and sends it to the signer interaction component;
[0058] 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;
[0059] The server signature application module parses the signature activation data and sends it to the signature activation module;
[0060] The signature activation module decrypts the signature activation data, queries the corresponding key identifier, and calls the signature generation module to sign the data to be signed. The signature value is processed by the server signature application module and the signature creation application component and returned to the application party.
[0061] In some embodiments, the application side forwards the signature activation data sent by the signer interaction component to the signature creation application component;
[0062] 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;
[0063] The server signature application module parses the request data signature value to obtain signature activation data;
[0064] The signature activation module decrypts the signature activation data using the temporary key to obtain the user identity binding information and the data to be signed, 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;
[0065] 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 signature activation module.
[0066] In some embodiments, the signature activation module verifies the validity of the signature value based on the public key;
[0067] The server signature application module records the signature value, assembles and generates a digital signature value response value, and sends the digital signature value response value to the signature creation application component;
[0068] The signature creation application component assembles a signature response based on the data signature value response value and sends it to the application party;
[0069] 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.
[0070] 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;
[0071] 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.
[0072] In some embodiments, the signer interaction component obtains certificate-related subject information based on the certificate application request;
[0073] The signer interaction component encrypts the user identity binding information and the certificate-related subject information using the temporary key generated by the signature activation module, generates signature activation data, and sends the signature activation data to the server signature application module;
[0074] The server signature application module forwards the signature activation data to the signature activation module;
[0075] The signature activation module decrypts the signature activation data using the temporary key, obtains the user identity binding information and the certificate-related subject information, 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;
[0076] 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 signature activation module;
[0077] The signature activation module verifies the signature value based on the public key;
[0078] The server signature application module records the signature value;
[0079] 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.
[0080] In some embodiments, the signer interaction component obtains certificate-related subject information based on the certificate application request;
[0081] 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, encrypts the user identity binding information and the data to be signed using the temporary key, generates signature activation data, and sends the signature activation data to the server signature application module;
[0082] The server signature application module forwards the signature activation data to the signature activation module;
[0083] The signature activation module decrypts the signature activation data using the temporary key to obtain the user identity binding information and the data to be signed, 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;
[0084] 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 signature activation module;
[0085] The signature activation module verifies the signature value based on the public key;
[0086] The server signature application module records the signature value and sends it to the signer interaction component;
[0087] The signer interaction component generates a certificate request format file and sends the certificate request format file to the server signature application module;
[0088] The server signature application module sends the certificate request format file to the CA certificate authorization module.
[0089] 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;
[0090] The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.
[0091] In some embodiments, the server signature application module or signature activation module verifies the random number included in the returned information when receiving the return information from the signer interaction component to confirm whether it is consistent with the random number sent.
[0092] 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:
[0093] The key application process includes:
[0094] The signer interaction component submits a key application request to the server signature application module based on the signer information;
[0095] The server signature application module verifies the identity of the signer;
[0096] Signature activation module, generates temporary keys and returns them to the signer interaction component;
[0097] The signer interaction component encrypts the user identity binding information with the temporary key to obtain the encrypted ciphertext and sends it to the server signature application module;
[0098] The server signature application module forwards the encrypted ciphertext to the signature activation module;
[0099] The signature activation module calls the signature generation module to generate a signature key, which is bound to the user's identity binding information. The server signature application module then returns the public key to the signer interaction component, completing the key application process.
[0100] The signing process includes:
[0101] The application party, based on the signature request, generates the data to be signed and sends it to the signer interaction component;
[0102] The signer interaction component requests the server signature application module to verify the signer's identity;
[0103] The server signature application module verifies the identity of the signer;
[0104] Signature activation module, generates temporary keys and returns them to the signer interaction component;
[0105] The signer interaction component generates signature activation data based on the temporary key, user identity binding information and the data to be signed. The data is processed by the application party and the signature creation application component and transmitted to the server signature application module.
[0106] The server signature application module parses the signature activation data and sends it to the signature activation module;
[0107] The signature activation module decrypts the signature activation data, queries the corresponding key identifier, and calls the signature generation module to sign the data to be signed. The signature value is processed by the server signature application module and the signature creation application component, and returned to the application party to complete the signing process.
[0108] In some embodiments, the remote signature method further includes a first certificate issuance process;
[0109] The first certificate issuance process includes:
[0110] The signer interaction component obtains certificate-related subject information based on the certificate application request;
[0111] The signer interaction component uses the temporary key generated by the signature activation module to encrypt the user identity binding information and certificate-related subject information, generates signature activation data, and sends the signature activation data to the server signature application module;
[0112] The server signature application module forwards the signature activation data to the signature activation module;
[0113] The signature activation module uses the temporary key to decrypt the signature activation data to obtain user identity binding information and certificate-related subject information;
[0114] The signature activation 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;
[0115] 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 signature activation module;
[0116] The signature activation module verifies the signature value based on the public key;
[0117] The server signature application module records the signature value;
[0118] 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;
[0119] The CA certificate authorization module verifies the validity of the certificate request and issues the certificate after receiving the certificate request format file;
[0120] The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.
[0121] In some embodiments, the remote signature method further includes a second certificate issuance process;
[0122] The second certificate issuance process includes:
[0123] The signer interaction component obtains certificate-related subject information based on the certificate application request;
[0124] 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, generates signature activation data, and sends the signature activation data to the server signature application module;
[0125] The server signature application module forwards the signature activation data to the signature activation module;
[0126] The signature activation module uses the temporary key to decrypt the signature activation data to obtain the user identity binding information and the data to be signed;
[0127] 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;
[0128] 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 signature activation module;
[0129] The signature activation module verifies the signature value based on the public key;
[0130] The server signature application module records the signature value and sends it to the signer interaction component;
[0131] The signer interaction component generates a certificate request format file and sends the certificate request format file to the server signature application module;
[0132] The server signature application module sends the certificate request format file to the CA certificate authorization module;
[0133] The CA certificate authorization module verifies the validity of the certificate request and issues the certificate after receiving the certificate request format file;
[0134] The signer interaction component obtains the issued certificate from the CA certificate authority module and returns it to the signer.
[0135] The present invention provides a remote signature system and method with an application party, which realizes remote key application, signature and certificate issuance operations in different application scenarios of the application party. It not only solves the problem of insufficient security assurance in the existing remote signature system, but also significantly improves the system's availability and scalability, and fully complies with the EU standard for SCAL2 level security requirements. BRIEF DESCRIPTION OF THE DRAWINGS
[0136] 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.
[0137] in:
[0138] Figure 1 A schematic diagram of a remote signature system with an application according to an embodiment of the present invention is disclosed;
[0139] Figure 2 A step diagram of a remote signing method with an application according to an embodiment of the present invention is disclosed;
[0140] Figure 3 A key application flow chart according to an embodiment of the present invention is disclosed;
[0141] Figure 4 A signature flow chart according to an embodiment of the present invention is disclosed;
[0142] Figure 5 A first certificate issuance flow chart according to an embodiment of the present invention is disclosed;
[0143] Figure 6 A second certificate issuance flow chart according to yet another embodiment of the present invention is disclosed.
[0144] The meanings of the reference numerals in the figures are as follows:
[0145] 10. Signer interaction component;
[0146] 20 authentication modules;
[0147] 30CA certificate authorization module;
[0148] 40 application methods;
[0149] 50 signatures create application components;
[0150] 60 server signature application module;
[0151] 70 signature activation module;
[0152] 80 signature generation module. DETAILED DESCRIPTION
[0153] 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.
[0154] This invention proposes a remote signature system and method involving an application, suitable for remote signature applications. By storing the user's key on a remote server and implementing strict access control and authentication policies, this method 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 user authentication, a third-party application can securely request the remote server to use the user's key for digital signature. This system is widely applicable in scenarios such as contract signing, electronic document authentication, and signing sensitive data.
[0155] 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 SCAL2 level in the EU standard ETSI TS119 432, and is suitable for remote electronic signature scenarios with high security requirements.
[0156] 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, a signature activation module 70, and a signature generation module 80:
[0157] 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;
[0158] 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;
[0159] 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;
[0160] The identity authentication module (IA) 20 performs identity authentication based on the identity authentication request of the signer interaction component 10;
[0161] The server signing application module (SSA) 60 verifies the identity of the signer based on the user identity binding information;
[0162] The Signature Activation Module (SAM) 70 is used to manage keys, activate signature keys, and call the signature generation module 80 for remote signing;
[0163] The signature generation module (SCDev) 80 generates a signature key based on the call of the signature activation module 70 and generates a signature value for the signature data;
[0164] The user identity binding information is obtained by calculation based on the signer information, and the signer information includes at least two of a knowledge factor, a holding factor, and an inherent factor.
[0165] 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:
[0166] 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.
[0167] 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;
[0168] 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.
[0169] The two factors included in the signer information in the present invention can be from the same category (such as two different holding factors) or a cross-category combination (such as a combination of knowledge factors and inherent factors) to flexibly adapt to the identity authentication needs of different scenarios.
[0170] The present invention proposes a remote signature system including an application party, which adopts a multi-factor identity binding mechanism, by including but not limited to at least two of the above factors (such as "PIN code and DevID"
[0171] This allows for strong binding of the signer's identity. Prioritizing the "at least two factors" principle during identity binding ensures compliance with the SCAL2 security requirements of EU standard ETSI TS119 432 while also offering excellent adaptability to meet the security needs of diverse business scenarios.
[0172] In order to more fully understand the overall architecture and functional implementation of a remote signature system including an application party proposed in the present invention, the main component modules of the system and their functions are now described in detail one by one.
[0173] 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.
[0174] The functions of the signer interaction component 10 may include the following aspects:
[0175] User interaction: Provides a user interface (such as entering a PIN code, displaying signature status, etc.).
[0176] Local computing: Calculates user identity binding information h1 and processes local data (such as encryption and decryption).
[0177] 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.
[0178] Furthermore, the signer interaction component 10 may include: an application executed by a browser, an application executed by a mobile device, a secure element of a mobile phone, and an encryption device owned by the signer.
[0179] The signer interaction component 10 can be a software module, such as an electronic signature application running on a PC or mobile terminal, or a hardware terminal, such as an electronic signature device with a touch screen and a signature pen.
[0180] 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;
[0181] The server signature application module 60 verifies the validity of the user identity binding information and then calls the signature activation module 70 to generate a temporary key and sends the temporary key to the signer interaction component 10;
[0182] The temporary key is used to encrypt and protect user identity binding information, data to be signed, or certificate request information.
[0183] In this embodiment, the signature activation module 70 is configured to be deployed in a trusted hardware environment, optionally within a certified cryptographic security device.
[0184] In order to meet the security requirements of SCAL2, in this embodiment, the signature activation module 70 should be a cryptographic security device that has passed trustworthy authentication, responsible for managing keys and activating signature keys, and calling the signature generation module for remote signing.
[0185] To ensure with high confidence that the signing key is used under the sole control of the signer, the Signature Activation Module (SAM) runs in a tamper-proof environment and executes the Signature Activation Protocol (SAP), which relies on Signature Activation Data (SAD) for authorization.
[0186] The Signature Activation Protocol (SAP) is a protocol that ensures the secure use of signing keys. It generates Signature Activation Data (SAD) through communication between the signer, the Signature Creation Application Component (SIC), and the Trusted Signature Service (TW4S).
[0187] The Signature Activation Module (SAM) enforces the use of authorized signers' keys for signing operations based on the signature activation data generated by the signer through SAP. This process ensures that the signing key is only used to sign specific documents within the authorized scope, thereby meeting SCAL2 compliance requirements.
[0188] The SCAL2 level security mechanism requires that the use of signature keys must be enforced by SAM, and the signer must provide secure signature activation data (SAD) generated by SAP to complete the signing operation.
[0189] In this embodiment, the signature activation data is associated with at least the following parameters with a high degree of confidence:
[0190] The data to be signed, the signing key, and the authenticated signer.
[0191] Among them, the server signature application module (SSA) itself does not need to meet specific security certification requirements, while the signature activation module (SAM) should comply with the cryptographic module certification standards of the EN 419211-5 series or CEN / TS 419221 series to ensure its operational security and credibility in a tamper-proof environment.
[0192] In this embodiment, the signature activation module 70 is configured to:
[0193] During the key application process, signature process, or certificate issuance process, a temporary key uniquely corresponding to the current operation is generated, and the temporary key is transmitted to the signer interaction component through a secure transmission channel;
[0194] The temporary key is associated with the user identity binding information and the user identity identifier, thereby ensuring that only the legitimate signer can use the key to perform a signing operation.
[0195] The secure transmission channel includes:
[0196] The encrypted SMS channel sends the key derivation code in combination with the user's real-name mobile phone number to further ensure the transmission security of the key and the uniqueness of the recipient's identity.
[0197] More specifically, to ensure the uniqueness and timeliness of the signature operation, in the key application process, signature process or certificate issuance process, the signature activation module 70 dynamically generates a temporary key that uniquely corresponds to the current operation, and securely transmits the key to the signer interaction component through a secure transmission channel (such as an encrypted text message or an encrypted network channel), thereby achieving a strong binding between the key life cycle and the operation context, and effectively preventing key abuse or replay attacks.
[0198] Therefore, the remote signature system proposed by the present invention, which includes the application party, builds an identity trust foundation through cross-verification of at least two factors, such as knowledge factors and possession factors, and then uses dynamic temporary keys strongly bound to the operation context to achieve real-time protection of the signing process, ultimately achieving comprehensive protection of the security, integrity and exclusivity of the signing operation, and meeting the core requirements of the SCAL2 security level.
[0199] 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.
[0200] 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.
[0201] 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.
[0202] 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.
[0203] 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.
[0204] The functions of the application 40 may cover the following aspects:
[0205] Front-end display: Provides a user interface (UI) to display signature-related logic and operations (such as signature request, signature result display, etc.);
[0206] Business logic processing: Processing business logic related to signatures, such as generating data to be signed (DTBS), forwarding signature requests, receiving signature results, etc.
[0207] 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.
[0208] 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;
[0209] 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.).
[0210] The signature creation application component (SCA) 50 is mainly responsible for the following functions:
[0211] 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;
[0212] 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;
[0213] 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.
[0214] In this embodiment, the server signature application module 60 runs on the server side. The SSA is primarily responsible for handling communication, storage, and record access control between the SAM and the SIC in the signer's device. The SSA should successfully identify and authenticate each signer before any operation that could affect the sole control of any signing key.
[0215] It usually works in conjunction with other modules such as the application side and signature creation components to ensure the validity of the electronic signature.
[0216] 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.
[0217] In this embodiment, the signature generation module 80 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 80 is set in an authenticated cryptographic security device.
[0218] 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.
[0219] For example, the actual correspondence between the various components of the remote signature system is as follows:
[0220] 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;
[0221] The identity verification module (IA) 20 is WeChat's real-name authentication service, used to verify the authenticity of the user's identity;
[0222] The CA certificate authority module (CA) 30 is a third-party certificate authority responsible for issuing digital certificates;
[0223] Application 40 is WeChat itself, which provides signature scenarios (such as payment, contract signing, etc.) and user interfaces;
[0224] 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;
[0225] The Server Signature Application Module (SSA) 60 is the core service of the cloud signature service provider. It is usually deployed in the cloud and is responsible for coordinating the overall logic of the signature process, including receiving and verifying the legitimacy of signature requests, managing the binding relationship between user identities and keys, recording signature operation logs, and serving as the communication hub between the Signature Activation Module (SAM) 70 and other components;
[0226] The Signature Activation Module (SAM) 70 is a certified hardware security module (such as an HSM or cryptographic machine) deployed in the secure environment of the cloud signature service provider. It is specifically used to perform highly sensitive operations, including generating and distributing temporary session keys, verifying the legitimacy of the Signature Activation Data (SAD), decrypting the Key Encryption Key (KEK) to call the Signature Generation Module (SCDev) 80, and ensuring that all key operations comply with the SCAL2 level security standard.
[0227] The signature generation module (SCDev) 80 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.
[0228] 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.
[0229] 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.
[0230] 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.
[0231] 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.
[0232] 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:
[0233] The key application process includes:
[0234] The signer interaction component 10 submits a key application request to the server signature application module 60 based on the signer information;
[0235] The server signature application module 60 verifies the identity of the signer;
[0236] The signature activation module 70 generates a temporary key and returns it to the signer interaction component;
[0237] The signer interaction component 10 encrypts the user identity binding information with the temporary key to obtain an encrypted ciphertext, and sends it to the server signature application module 60;
[0238] The server signature application module 60 forwards the encrypted ciphertext to the signature activation module 70;
[0239] The signature activation module 70 calls the signature generation module 80 to generate a signature key. The signature key is bound to the user identity binding information and then, through the server signature application module 6, returns the public key to the signer interaction component 10, completing the key application process.
[0240] The signing process includes:
[0241] The application party 40 generates the data to be signed based on the signature request and sends it to the signer interaction component 1;
[0242] The signer interaction component 10 makes a request for verification of the signer's identity to the server signature application module 60;
[0243] The server signature application module 60 verifies the identity of the signer;
[0244] The signature activation module 70 generates a temporary key and returns it to the signer interaction component 10;
[0245] 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 and the signature creation application component and transmitted to the server signature application module 60;
[0246] The server signature application module 60 parses the signature activation data and sends it to the signature activation module 70;
[0247] The signature activation module 70 decrypts the signature activation data, queries the corresponding key identifier, and calls the signature generation module 80 to sign the data to be signed. The signature value is processed by the server signature application module and the signature creation application component and returned to the application party 40 to complete the signing process.
[0248] The remote signing method with an application party proposed in the present invention realizes the secure binding of the signing key and the user identity through the signer interaction component submitting the request, the server signature application module verifying the identity, the signature activation module generating a temporary key and combining the encrypted transmission of user identity binding information in the key application process. In the signature process, after the application party generates the data to be signed, it completes the secure generation and return of the signature value through identity authentication, temporary key encryption transmission, signature activation data processing and signature generation module operation. It not only realizes the remote key application and signing operations of the application party in different scenarios, but also solves the problem of insufficient security of the existing system through multi-factor identity binding, dynamic management of temporary keys, encrypted transmission and hardware-level key protection mechanisms, meets the SCAL2 level security requirements, and significantly improves the security, availability and scalability of remote signing.
[0249] Figure 3 A key application flow chart according to an embodiment of the present invention is disclosed. Figure 4 A signature flow chart according to an embodiment of the present invention is disclosed. Figure 5 and Figure 6 The certificate issuance flow charts of the two embodiments are disclosed respectively, as shown in FIG. Figures 3 to 6 In the steps described, A, B, C, D, E, F, G, and H 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 party 40, E is the signature creation application component 50, F is the server signature application module 60, G is the signature activation module 70, and H is the signature generation module 80. These execution entities assume specific functions and responsibilities in the corresponding steps.
[0250] like Figure 3 As shown, the key application process includes the following steps:
[0251] Step A11: The signer sends a key generation request to the Signer Interaction Component (SIC) 10 to initiate the signing key application process.
[0252] 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 operations such as electronic signatures.
[0253] Step A12: The Signer Interaction Component (SIC) 10, based on the signer's key generation application, registers the signer's basic identity information and submits a key application request to the Server Signature Application Module (SSA) 60 for subsequent key generation operations.
[0254] In this embodiment, the basic identity information of the signer is the user name.
[0255] 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;
[0256] The first random number rm1 acts as a temporary identity credential, ensuring that subsequent authentication requests are based on the user identity identifier (UID) 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 SCAL2.
[0257] 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;
[0258] Authentication is one of the basic requirements of the SCAL2 security level, ensuring the authenticity of the signer's identity and preventing unauthorized key requests.
[0259] 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;
[0260] The signature value s of the user identity identifier UID prevents identity forgery attacks and ensures the integrity of the authentication process.
[0261] 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;
[0262] 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;
[0263] If the verification is successful, the server signature application module (SSA) 60 sends a temporary key generation instruction to the signature activation module 70 to proceed to the next step of temporary key generation; otherwise, the key application is rejected.
[0264] 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, and is not forged externally, thereby ensuring that the information returned by the identity authentication (signature value s) is calculated based on the rm1 previously sent by the server signature application module (SSA) 60, preventing replay attacks.
[0265] Step G11: The signature activation module (SAM) 70 generates a first temporary key k1 and sends the first temporary key k1 and the user identity UID to the identity authentication module (IA) 20;
[0266] The first temporary key k1 is used for subsequent encryption operations.
[0267] Step B12: the identity authentication module (IA) 20 generates a text message based on the first temporary key k1 and the user identity identifier UID through the text message gateway and sends the message to the signer interaction component (SIC) 10;
[0268] The temporary key k1 and user identity UID are combined into SMS content according to specific rules and sent through the encrypted channel of the SMS gateway to avoid information leakage caused by plaintext transmission and ensure the security of the signature operation and the authenticity of the user identity.
[0269] Step F13, the server signature application module (SSA) 60 generates a second random number rm2 and returns the second random number rm2 to the signer interaction component (SIC) 10;
[0270] The second random number rm2 is used to ensure security and prevent replay attacks.
[0271] In step A15, the signer interaction component (SIC) 10 obtains the password (PIN) and the local device identity (DevID), and calculates the first temporary key k1 using a key derivation method based on the SMS message;
[0272] For example, the signer interaction component (SIC) 10 derives the first temporary key k1 in the following manner:
[0273] After receiving the SMS message containing the key derivation parameters, the signer interaction component (SIC) 10 first extracts the encryption seed (such as a 6-digit verification code or an alphanumeric combination) in the SMS message, concatenates it with the PIN code entered by the user and the local device identity (DevID), and then uses the national secret SM3 or international standard KDF (key derivation function) algorithm to perform multiple rounds of hash operations, and finally generates a 128-bit or 256-bit first temporary key k1.
[0274] This derivation process not only ensures that the temporary key is strongly bound to the user device and identity credentials, but also achieves one-time validity through the dynamic parameters of the SMS channel, meeting the SCAL2 level security requirements.
[0275] Step A16, the signer interaction component (SIC) 10 calculates the user identity binding information h1;
[0276] 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+PIN).
[0277] 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.
[0278] 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 an encrypted ciphertext E1, and sends the encrypted ciphertext E1 and the second random number rm2 to the server signature application module (SSA) 60;
[0279] In this embodiment, the SM4 cryptographic algorithm is used to calculate and obtain the 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 encrypted ciphertext E1.
[0280] SCAL2 level security requirements must ensure basic data encryption protection to prevent the leakage of plaintext data.
[0281] 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.
[0282] 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.
[0283] 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.
[0284] In step F14, the server signature application module (SSA) 60 queries the corresponding user identity UID based on the second random number rm2, performs verification, and forwards the encrypted ciphertext E1 to the signature activation module (SAM) 70;
[0285] The server signature application module (SSA) 60 retrieves its storage record through the second random number rm2 and finds the user identity UID bound to rm2, ensuring that the received encrypted ciphertext E1 comes from a legitimate current request and preventing forged requests from illegal UIDs from entering subsequent processes.
[0286] Step G12: The signature activation module (SAM) 70 decrypts the 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;
[0287] Step G13: The signature activation module (SAM) 70 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) 80;
[0288] In step H11, the signature generation module (SCDev) 80 generates a key pair, i.e., a public-private key pair (SK, PK), as a signing key according to the key generation request, encrypts the private key SK using the key encryption key (KEK) to obtain a private key ciphertext KEK(SK), and sends the private key ciphertext KEK(SK) and the public key PK to the signature activation module (SAM) 70.
[0289] In step G14, the signature activation module (SAM) 70 receives the private key ciphertext KEK (SK) and public key PK from the signature generation module (SCDev) 80, 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 server signature application module (SSA) 60.
[0290] This record ensures that the key is tied to the user's identity, preventing key misuse or unauthorized access.
[0291] In step F15 , the server signature application module (SSA) 60 records the correspondence between the user identity identifier UID and the public key PK, and sends the public key PK to the signer interaction component (SIC) 10 .
[0292] Furthermore, after step F16, the following steps are further included:
[0293] In step A18, the signer interaction component (SIC) 10 applies to the CA certificate authority module 30 for a digital certificate for electronic signature.
[0294] 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.
[0295] During the key application process, the server signature application module verifies the signer's identity in steps F11, A13, B11, A14, and F12. 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.
[0296] 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 .
[0297] 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.
[0298] 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.
[0299] like Figure 3 As shown in the figure, the key application process of the blind signature algorithm is Figure 3 Replace the steps in the dotted box with steps A13, B11, and A14 with steps A130, B110, and A140 of the blind signature process. Next, the following steps are described in detail:
[0300] In step A130, the signer interaction component (SIC) 10, based on the user identity UID received from the server signature application module (SSA) 60 and the first random number rm1, blinds the user identity UID to generate Braille based on the blind signature algorithm process, sends the Braille to the identity authentication module (IA) 20, and initiates an identity authentication request to the identity authentication module to ensure the authenticity of the user identity and prevent malicious users from applying for keys.
[0301] Step B110: After the identity authentication is passed, the identity verification module (IA) 20 digitally signs the Braille text, generates a signature value of the Braille text, and then returns the signature value of the Braille text to the signer interaction component (SIC) 10;
[0302] In step A140, the signer interaction component (SIC) 10 receives the signature value of the Braille text returned after identity authentication, unblinds the signature value of the Braille text, obtains 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;
[0303] The key application process of the blind signature algorithm Figure 3 The same steps are not repeated here.
[0304] In this embodiment, any blind signature algorithm can be used to achieve the functions and effects specified in steps A130, B110, and A140. For example, the ElGamal algorithm, the Schnorr algorithm, or the RSA algorithm can be used. The ElGamal algorithm implements the blind signature process based on the discrete logarithm problem; the Schnorr algorithm utilizes hash functions and the discrete logarithm problem; and the RSA algorithm implements the blind signature process based on the large number factorization problem. All three algorithms meet the core requirements of blind signatures, ensuring that the signer cannot trace the original message while ensuring the verifiability of the final signature. They can be flexibly selected based on the security requirements and performance considerations of specific application scenarios.
[0305] To facilitate understanding, the following uses the ElGamal algorithm, Schnorr algorithm, and RSA algorithm as examples to introduce the specific process of blind signature. Other blind signature algorithms are also applicable.
[0306] The blind signature process based on the ElGamal algorithm includes the following steps:
[0307] The Signer Interaction Component (SIC) 10 selects a random number β∈Z p-1 , calculate Braille UID′=r β UID mod(p-1), where r is calculated and sent by the authentication module (IA) 20, r=g k mod p, random number k∈Z p-1 , Z p-1 represents the integer remainder class of all modulo p, (y, g, p) is the public key of the authentication module (IA) 20;
[0308] The Signer Interaction Component (SIC) 10 sends the Braille UID′ to the Identity Verification Module (IA) 20;
[0309] After receiving the Braille UID′, the identity verification module (IA) 20 calculates and generates the blinded signature result (UID′, (r, s′)) by the equation UID′=xr+ks′mod(p-1), and returns the blinded signature result (UID′, (r, s′)) to the signer interaction component (SIC) 10, where x is the private key of the identity verification module (IA) 20;
[0310] The Signer Interaction Component (SIC) 10 receives the blinded signature result (UID′, (r, s′)) and calculates r′=r 1-β mod(p-1), s=(1-β) -1 r -β s′mod(p-1) to obtain the final signature result after deblinding (UID, (r′, s)), which corresponds to the valid signature value of the original user identity UID.
[0311] Furthermore, the public key (y, g, p) and private key x of the identity authentication module (IA) 20 are obtained as follows:
[0312] The authentication module (IA) 20 selects a large prime number p and selects a generator and random numbers Calculate the public key y = g x mod p, the public key is (y, g, p) and the private key is x.
[0313] For the valid signature value (UID, (r′, s)) finally obtained by the Signer Interaction Component (SIC) 10, anyone can use the public key (y, g, p) of the Identity Authentication Module (IA) 20 to verify the validity of the signature by calculating g UID =y r′ (r′) s Whether modp holds.
[0314] The blind signature process based on the Schnorr algorithm includes the following steps:
[0315] Signer Interaction Component (SIC) 10 selects a random number Calculate r′=rg α y β mod p, e′=H(m,r′)mod q, finally get Braille e=e′+βmod q, send Braille e to the authentication module (IA) 20, where p and q are large prime numbers and are guaranteed to be within Z p Solve the discrete difficulty, r is calculated and sent by the authentication module (IA) 20, r = g k mod p, random number k∈Z p-1 ; H(·) is the hash function;
[0316] The authentication module (IA) 20 receives the Braille e and satisfies g by the equation s′=xe+k mod q. s y -e = r mod p, calculate and generate the blinded signature result s′, and return the blinded signature result s′ to the signer interaction component (SIC) 10;
[0317] The signer interaction component (SIC) 10 receives the blinded signature result s′, calculates s=s′+α mod q, and the final signature result after deblinding (e′, s) corresponds to the valid signature value of the original user identity identifier UID.
[0318] Furthermore, the public key y and the private key x of the identity authentication module (IA) 20 are obtained as follows:
[0319] The authentication module (IA) 20 selects a large prime number p and selects a generator And g q =1 mod q, random number Calculate the public key y = g x mod p, the public key is y and the private key is x.
[0320] For the valid signature value (e′, s) finally obtained by the signer interaction component (SIC) 10, anyone can use the public key y of the identity authentication module (IA) 20 to verify the validity of the signature by calculating e′=H(UID, g s y -e′ mod p)mod q holds true.
[0321] The blind signature process based on the RSA algorithm includes the following steps:
[0322] 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);
[0323] 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.
[0324] The Signer Interaction Component (SIC) 10 sends the Braille UID' to the Identity Verification Module (IA) 20;
[0325] 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.
[0326] The identity authentication module (IA) 20 sends the blinded signature result s′ back to the signer interaction component (SIC) 10 .
[0327] 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.
[0328] 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.
[0329] Through the above blind signature process, the signer interaction component (SIC) 10 can obtain the signature of the authentication module (IA) 20 on the user identity UID without leaking the user identity UID, thereby ensuring privacy and security.
[0330] The security contributions of the key application process mainly focus on session binding and anti-replay control (F11, F13), two-factor authentication and dynamic key derivation (A15), encrypted transmission of sensitive data (A17, F14), identity binding and integrity verification (A16, G13), isolation protection of private key generation (H11), and auditability of key usage (G14, F15). This forms a multi-layer defense system with SCAL2 level security assurance, significantly improving the strength of identity authentication, the security of key generation, and the anti-attack capability of communication links.
[0331] The key application process of the present invention meets the SCAL2 level standard through a multi-level security mechanism. First, a dynamic random number (rm1 / rm2) is used to bind the session and two-factor authentication (PIN+DevID). The temporary key k1 is distributed via SMS and transmitted using SM4 encryption to ensure request uniqueness and data confidentiality. The signature generation module (HSM) provides hardware-level protection of the key pair, and the private key is always stored encrypted with KEK to achieve key security throughout its life cycle. Compared with SCAL1 level, the present invention significantly improves the strength of identity authentication and key security through temporary key derivation, multi-factor binding and hardware-level protection.
[0332] Figure 4 A signature flow chart according to an embodiment of the present invention is disclosed. Figure 4 The signing process shown includes the following steps:
[0333] Step A21: The signer initiates a signature request and sends the user identity identifier UID to the application 40;
[0334] 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;
[0335] Step A22, the signer interaction component (SIC) 10 receives and records the data to be signed DTBS;
[0336] In step A23, the signer interaction component (SIC) 10 obtains the password (PIN) and the 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 to request the signer's identity to be verified.
[0337] 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+PIN).
[0338] High-strength identity authentication is required at the SCAL2 level, which uses the SM3 hash algorithm to ensure the integrity and tamper-resistance of identity information.
[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 F21, the server signature application module (SSA) 60 verifies the validity of the user identity binding information h1 based on the user identity identifier UID, verifies the identity of the signer, and sends the user identity identifier UID and the user identity binding information h1 to the signature activation module (SAM) 70;
[0341] Step G21: The signature activation module (SAM) 70 generates a second temporary key k2 and a third random number rm3, stores the corresponding relationship between the second temporary key k2 and the third random number rm3, and sends the user identity UID and the second temporary key k2 to the signature creation application component (SCA).
[0342] 50, sending the third random number rm3 to the server signature application module (SSA) 60;
[0343] Step F22 , the server signature application module (SSA) 60 forwards the third random number rm3 to the signer interaction component (SIC) 10 ;
[0344] Step E21, the signature creation application component (SCA) 50 generates a text message based on the second temporary key k2 and the user identity identifier UID through the text message gateway and sends it to the signer interaction component (SIC) 10;
[0345] Step A24: The signer interaction component (SIC) 10 calculates a second temporary key k2 based on the SMS message using a key derivation method, and obtains a third random number rm3.
[0346] Step A25: 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 signature activation data SAD1, and sends the signature activation data SAD1 and the third random number rm3 to the application 40;
[0347] In this embodiment, the SM4 cryptographic algorithm is used to calculate the 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.
[0348] In other embodiments, it is also supported to use other encryption algorithms to obtain the signature activation data SAD1.
[0349] Step D22 , the application 40 forwards the signature activation data SAD1 and the third random number rm3 to the signature creation application component (SCA) 50 ;
[0350] Step E22, 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;
[0351] 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).
[0352] In step F23, the server signature application module (SSA) 60 parses the request data signature value (DSV request) to obtain signature activation data SAD1, and sends the signature activation data SAD1 and the third random number rm3 to the signature activation module (SAM) 70;
[0353] Step G22: The signature activation module (SAM) 70 obtains the second temporary key k2 based on the third random number rm3, and decrypts the signature activation data SAD1 using the second temporary key k2 to obtain the user identity binding information h1 and the data to be signed DTBS.
[0354] By decrypting the signature activation data SAD1, the integrity of the data is verified to ensure that the received data has not been tampered with;
[0355] Step G23: The signature activation module (SAM) 70 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) 80;
[0356] 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 SCAL2 level.
[0357] Step H21: The signature generation module (SCDev) 80 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 signature activation module (SAM) 70;
[0358] The high security level of the signature generation module (SCDev) 80 ensures that the private key decryption process is controlled, avoids the abuse of private keys, and improves security.
[0359] Step G24, the signature activation module (SAM) 70 verifies the validity of the signature value sig based on the public key PK;
[0360] By verifying the validity of the signature value, signature forgery is prevented and the legitimacy of the signature data is ensured.
[0361] Step F24, 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;
[0362] 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.).
[0363] Step E23, the signature creation application component (SCA) 50 assembles a signature response (Signature response) based on the data signature value response value (DSV response) and sends it to the application (Application) 40;
[0364] 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.
[0365] 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.
[0366] The key security contributions of the signature process mainly focus on identity authentication (such as A23, F21), random number anti-replay (such as G21, A25), data encryption transmission (such as A25, G22), private key management (such as H21, G23) and signature value integrity check (such as G24, F24). These steps together ensure the security requirements of SCAL2 level.
[0367] The signature process of the present invention ensures SCAL2 level compliance through a dual security mechanism. First, the dynamic key k2 and the random number rm3 are used to build session security: k2 is distributed through SMS encryption, and the encrypted SAD1 is generated by combining the user identity binding information h1 and the data to be signed DTBS to achieve confidentiality of transmitted data; rm3 is bound to a single session to prevent replay attacks. Secondly, full-link verification is implemented: after the signature activation module (SAM) verifies the validity of k2 through rm3, it can decrypt the KEK (SK) in the signature generation module (HSM, hardware security module) to execute the signature, and verify the signature value through the public key PK to ensure the legitimacy of key usage and signature results.
[0368] The present invention uses two-factor authentication (PIN+DevID) and further combines dynamic keys to achieve strong user identity recognition. Combined with the single validity of temporary keys and hardware-level key protection, it effectively defends against risks such as man-in-the-middle attacks and key abuse, meeting the core security requirements of SCAL2.
[0369] 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:
[0370] 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.
[0371] Based on the above key application process and signature process, the present invention innovatively proposes two certificate issuance process solutions, namely Figure 5 and Figure 6 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.
[0372] in, Figure 6 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 5 The 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.
[0373] Figure 5 A first certificate issuance flow chart according to an embodiment of the present invention is disclosed. Figure 5 As shown, the first certificate issuance process includes:
[0374] Step A31, the signer initiates a certificate request to the Signer Interaction Component (SIC) 10;
[0375] Step A32: The Signer Interaction Component (SIC) 10 obtains certificate-related subject information based on the certificate application request.
[0376] 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.
[0377] The certificate subject information usually includes the following:
[0378] Name: The holder's full name.
[0379] Organization: Name of the company or institution to which you belong.
[0380] Email: The contact email address of the certificate holder.
[0381] Public key: Public key information of the certificate holder.
[0382] Location: Geographic information of the certificate holder, such as country and city.
[0383] 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 G33.
[0384] Step A33, the signer interaction component (SIC) 10 obtains the password (PIN) and the local device identity (DevID);
[0385] 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;
[0386] 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+PIN).
[0387] By binding DevID and PIN for user authentication, the security of authentication is improved and unauthorized access is prevented.
[0388] 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;
[0389] Step F31, the server signature application module (SSA) 60 verifies the validity of the user identity binding information h1 based on the user identity identifier UID, verifies the identity of the signer, and sends the user identity identifier UID and the user identity binding information h1 to the signature activation module (SAM) 70;
[0390] 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.
[0391] Step G31: The signature activation module (SAM) 70 generates a third temporary key k3 and a fourth random number rm4, stores the correspondence between the third temporary key k3 and the fourth random number rm4, and sends the user identity UID and the third temporary key k3 to the signature creation application component (SCA).
[0392] 50, the fourth random number rm4 is sent to the server signature application module (SSA) 60;
[0393] Step E31 , the signature creation application component (SCA) 50 generates a text message based on the third temporary key k3 and the user identity identifier UID through the SMS gateway and sends it to the signer interaction component (SIC) 10 ;
[0394] Step F32 , the server signature application module (SSA) 60 forwards the fourth random number rm4 to the signer interaction component (SIC) 10 ;
[0395] In step A35, the signer interaction component (SIC) 10 calculates a third temporary key k3 based on the SMS message using a key derivation method, uses the third temporary key k3 to encrypt the user identity binding information h1 and the certificate-related subject information, generates signature activation data SAD1, and sends the signature activation data SAD1 and the fourth random number rm4 to the server signature application module (SSA) 60.
[0396] In this embodiment, the SM4 cryptographic algorithm is used to calculate the 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 signature activation data SAD1. SAD1 is encrypted with a temporary key before transmission, enhancing data transmission security and preventing man-in-the-middle attacks.
[0397] Step F33 , the server signature application module (SSA) 60 forwards the signature activation data SAD1 and the fourth random number rm4 to the signature activation module (SAM) 70 ;
[0398] Step G32: The signature activation module (SAM) 70 obtains the third temporary key k3 based on the fourth random number rm4, and uses the third temporary key k3 to decrypt the signature activation data SAD1 to obtain the user identity binding information h1 and the certificate-related subject information, ensuring data integrity and preventing tampering.
[0399] Step G33: The signature activation module (SAM) 70 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 message 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) 80.
[0400] 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.
[0401] Step H31: The signature generation module (SCDev) 80 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 signature activation module (SAM) 70;
[0402] Step G34, the signature activation module (SAM) 70 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;
[0403] Step F34, the server signature application module (SSA) 60 records the signature value sig;
[0404] Step F35, 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;
[0405] 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.
[0406] The certificate request format file specifies the specific content of the certificate application, including the following aspects:
[0407] Requester's public key: the public key requested.
[0408] Subject information: applicant's identification information (such as name, organization, etc.).
[0409] Signature: The applicant digitally signs the request using their private key to prove their identity.
[0410] 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.
[0411] In step A36, the signer interaction component (SIC) 10 obtains the issued certificate from the CA certificate authority module (CA) 30 and returns it to the signer.
[0412] The key security contributions of the first certificate issuance process are mainly concentrated in identity authentication (such as A34 and F31), random number anti-replay (such as G31 and A35), data encryption transmission (such as A35 and G32), private key management (such as G33 and H31), and signature value integrity verification (such as G34 and F34). These steps work together to effectively prevent security risks such as identity forgery, data tampering, and key leakage, meeting the security requirements of SCAL2 level.
[0413] Figure 6 A flow chart of issuing a second certificate according to another embodiment of the present invention is disclosed. Figure 6 The second certificate issuance process shown includes the following steps:
[0414] Step A41: The signer initiates a certificate request to the Signer Interaction Component (SIC) 10;
[0415] Step A42: The Signer Interaction Component (SIC) 10 obtains certificate-related subject information based on the certificate application request.
[0416] The subject information associated with the certificate includes information such as name, organization, email, and location.
[0417] Step A43, the signer interaction component (SIC) 10 obtains a password (PIN) or a local device identity (DevID);
[0418] 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;
[0419] 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+PIN).
[0420] 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;
[0421] Step F41, the server signature application module (SSA) 60 verifies the validity of the user identity binding information h1 based on the user identity identifier UID, verifies the identity of the signer, and sends the user identity identifier UID and the user identity binding information h1 to the signature activation module (SAM) 70;
[0422] Step G41: The signature activation module (SAM) 70 queries the public key PK based on the user identity identifier UID and the user identity binding information h1, generates a fourth temporary key k4 and a fifth random number rm5, sends the user identity identifier UID and the fourth temporary key k4 to the signature creation application component (SCA) 50, and sends the fifth random number rm5 and the public key PK to the server signature application module (SSA) 60.
[0423] Step E41 , the signature creation application component (SCA) 50 generates a text message based on the user identity identifier UID and the fourth temporary key k4 through the text message gateway and sends it to the signer interaction component (SIC) 10 ;
[0424] Step F42 , the server signature application module (SSA) 60 forwards rm5 and the public key PK to the signer interaction component (SIC) 10 ;
[0425] 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);
[0426] 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), generates signature activation data SAD1, and sends the signature activation data SAD1 and the fifth random number rm5 to the server signature application module (SSA) 60;
[0427] In this embodiment, the SM4 cryptographic algorithm is used to calculate and obtain the 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 signature activation data SAD1.
[0428] Step F43 , the server signature application module (SSA) 60 forwards the signature activation data SAD1 and the fifth random number rm5 to the signature activation module (SAM) 70 ;
[0429] Step G42: The signature activation module (SAM) 70 obtains the fourth temporary key k4 based on the fifth random number rm5, and decrypts the signature activation data SAD1 using the fourth temporary key k4 to obtain the user identity binding information h1 and the data to be signed (DTBS).
[0430] Step G43: The signature activation module (SAM) 70 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) 80;
[0431] Step H41: The signature generation module (SCDev) 80 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 signature activation module (SAM) 70;
[0432] Step G44, the signature activation module (SAM) 70 verifies the validity of the signature value sig based on the public key PK;
[0433] Step F44 , the server signature application module (SSA) 60 records the signature value sig and sends it to the signer interaction component (SIC) 10 ;
[0434] 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;
[0435] 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;
[0436] 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.
[0437] 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.
[0438] The security contribution of the second certificate issuance process is mainly concentrated in identity authentication (A44, F41), random number anti-replay (G41, A46), data encryption transmission (A46, G42), private key management (G43, H41) and signature verification (G44, F44), etc., and the overall security assurance system that meets the SCAL2 level is constructed.
[0439] like Figure 5 and Figure 6 The two certificate issuance processes involve steps such as identity authentication, data encryption, signature verification, anti-replay attack, and key security protection, which make an important contribution to the security requirements of the SCAL2 level and ensure the security of remote signatures.
[0440] 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.
[0441] First, it is a better choice to set the random numbers in each process to be different. Of course, even if they are the same, it will not affect the implementation of the overall solution of the present invention.
[0442] The server signature application module or signature activation module carries a random number during communication, and the signer interaction component must return the same random number for verification when returning data;
[0443] When receiving the return information from the signer interaction component, the server signature application module or signature activation module verifies the random number included in the return information to confirm whether it is consistent with the random number sent to ensure that the data has not been tampered with and prevent replay attacks.
[0444] Secondly, it is a good idea to set the temporary keys in each process to be different. Using different temporary keys during 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.
[0445] 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.
[0446] The present invention proposes a remote signature system and method including an application party, which specifically has the following features:
[0447] Beneficial effects:
[0448] 1) Through at least two-factor authentication mechanisms and dynamic distribution of temporary keys via SMS, identity authentication and key management that meet SCAL2 security standards are achieved, improving overall system security;
[0449] 2) The key is always stored in the authenticated cryptographic module (SAM). Users must submit the SAD (Signature Activation Data) through the Signature Activation Protocol (SAP) before they can call the key, ensuring sole control of the key;
[0450] 3) The signer completes the operation through lightweight interactive components (SIC) such as SMS gateways and mini-programs, lowering the usage threshold. At the same time, key operations such as private key decryption and signature generation are completed by the cryptographic module (SAM). Dynamic key distribution (such as K2 SMS delivery) during the signing process avoids long-term key storage on the client, effectively ensuring the independence and security of each session.
[0451] 4) The application party interacts with the core signature service through a standardized interface, and the signature creation application component (SCA) encapsulates various signature request formats, allowing the system to flexibly adapt to various business scenarios such as contract signing, document authentication, and certificate issuance. Among them, the certificate issuance process innovatively provides two compatible modes, taking into account both business flexibility and system scalability.
[0452] 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.
[0453] 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.
[0454] 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.
[0455] 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.
[0456] 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.
[0457] 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 authentication module, the server signature application module, the signature activation 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; The authentication module performs authentication based on the authentication request of the signer interaction component; The server signature application module verifies the identity of the signer based on the user identity binding information; The signature activation module is used to manage keys, activate signature keys, and call the signature generation module for remote signing; The signature generation module generates a signature key according to the call of the signature activation 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 at least two 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 and then calls the signature activation module to generate 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 signature activation module is configured to: During the key application process, signature process, or certificate issuance process, a temporary key uniquely corresponding to the current operation is generated, and the temporary key is transmitted to the signer interaction component through a secure transmission channel; The temporary key is associated with the user identity binding information and the user identity identifier.
4. The remote signature system including an application according to claim 3, characterized in that: The secure transmission channel includes: Encrypted SMS channel, sending key derivation code in combination with the user's real-name mobile phone number.
5. The remote signature system including an application according to claim 1, characterized in that: The signature activation module and / or signature generation module are arranged in an authenticated cryptographic security device.
6. 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.
7. 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.
8. 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.
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 and sends a temporary key generation instruction to the signature activation module after the verification is passed; The signature activation module 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 to obtain an encrypted ciphertext, and sends it to the server signature application module; The server signature application module forwards the encrypted ciphertext to the signature activation module; The signature activation module calls the signature generation module to generate a signature key, and the signature key is associated and bound with 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 signature activation module generates a temporary key in response to the temporary key generation instruction of the server signature application module, and sends the temporary key and the user identity to the identity authentication module; The identity verification module generates a text message based on the temporary key and the user identity identifier and sends it to the signer interaction component through the text message gateway; The signer interaction component calculates a temporary key using a key derivation method based on the SMS, encrypts the user identity binding information and the user identity identifier, obtains an encrypted ciphertext, and sends the encrypted ciphertext to the server signature application module; The server signature application module forwards the encrypted ciphertext to the signature activation module; The signature activation 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 signature activation module; The signature activation module receives the private key ciphertext and public key from 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 server signature application module; The server signature application module records the corresponding relationship between the user identity and the 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 based on the blind signature algorithm process to generate Braille, 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: Blind signature process based on the ElGamal algorithm; or A blind signature process based on the Schnorr algorithm; or 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 identity of the signer; The signature activation module sends the user identity and temporary key to the signature creation application component; The signature creation application component generates a text message based on the temporary key and the user identity through the text message gateway and sends 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 and sends it to the signature activation module; The signature activation module decrypts the signature activation data, queries the corresponding key identifier, and calls the signature generation module to sign the data to be signed. The signature value is processed by the server signature application module and 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 request data signature value to obtain signature activation data; The signature activation module decrypts the signature activation data using the temporary key to obtain the user identity binding information and the data to be signed, 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 signature activation module.
16. The remote signature system including an application according to claim 15, characterized in that: The signature activation module verifies the validity of the signature value based on the public key; The server signature application module records the signature value, assembles and generates 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 generated by the signature activation module, generates signature activation data, and sends the signature activation data to the server signature application module; The server signature application module forwards the signature activation data to the signature activation module; The signature activation module decrypts the signature activation data using the temporary key, obtains the user identity binding information and the certificate-related subject information, 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 signature activation module; The signature activation module verifies the signature value based on the public key; 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, encrypts the user identity binding information and the data to be signed using the temporary key, generates signature activation data, and sends the signature activation data to the server signature application module; The server signature application module forwards the signature activation data to the signature activation module; The signature activation module decrypts the signature activation data using the temporary key to obtain the user identity binding information and the data to be signed, 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 signature activation module; The signature activation module verifies the signature value based on the public key; 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 1, characterized in that: When receiving the return information from the signer interaction component, the server signature application module or signature activation module verifies the random number included in the return information to confirm whether it is consistent with the random number sent.
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; Signature activation module, generates temporary keys and returns them to the signer interaction component; The signer interaction component encrypts the user identity binding information with the temporary key to obtain the encrypted ciphertext and sends it to the server signature application module; The server signature application module forwards the encrypted ciphertext to the signature activation module; The signature activation module calls the signature generation module to generate a signature key, which is bound to the user's identity binding information. The server signature application module then returns the public key to the signer interaction component, completing 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 identity of the signer; Signature activation module, generates temporary keys and returns them 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. The data 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 and sends it to the signature activation module; The signature activation module decrypts the signature activation data, queries the corresponding key identifier, and calls the signature generation module to sign the data to be signed. The signature value is processed by the server signature application module and 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 uses the temporary key generated by the signature activation module to encrypt the user identity binding information and certificate-related subject information, generates signature activation data, and sends the signature activation data to the server signature application module; The server signature application module forwards the signature activation data to the signature activation module; The signature activation module uses the temporary key to decrypt the signature activation data to obtain user identity binding information and certificate-related subject information; The signature activation 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 signature activation module; The signature activation module verifies the signature value based on the public key; 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, generates signature activation data, and sends the signature activation data to the server signature application module; The server signature application module forwards the signature activation data to the signature activation module; The signature activation 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 signature activation module; The signature activation module verifies the signature value based on the public key; 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.