Electronic signature generation method, device, computer equipment and storage medium
By splitting the private key into multiple subkeys in electronic signature technology and verifying it in sequence when signing the seal, the problem of low security in electronic signatures in the existing technology is solved, and higher security and lower risk of private keys being stolen.
Patent Information
- Application Number
- CN202111353442.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-16
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2041-11-16
AI Technical Summary
The existing electronic signature technology is not very secure enough to prevent private keys from being stolen, and it is difficult to completely and effectively solve the problem of electronic signatures and seals.
By obtaining the verification private key and at least two subkeys when receiving the signature request, arranging the subkeys in a preset order, determining the number of connections between adjacent subkeys, and linking the subkeys through the number of connections to obtain the signature private key. Then verify the signature private key based on the verification private key. If the verification is passed, an electronic signature will be generated.
By splitting the private key into multiple subkeys and verifying multiple subkeys in sequence when signing the seal, the signature operation is performed only when all subkeys are verified and passed, thus reducing the risk of private keys being stolen and improving the security of electronic signatures.
Smart Images

Figure CN114239004B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of electronic signatures, and in particular to a method, apparatus, computer device and storage medium for generating an electronic signature. Background Art
[0002] With the development of digital applications, electronic signature technology has been widely used in various fields of daily life and work. In the existing technology, when handling government affairs or business matters, by calling electronic signatures to sign electronic documents, users can reduce the need to travel outside, and stamping in the process of mailing documents can effectively improve work efficiency.
[0003] At present, in order to prevent electronic signatures from being stolen, electronic signatures are encrypted and protected through the electronic signature system. When signing, the signing user can only perform the signing operation after correctly decrypting it with the private key.
[0004] However, although this method improves the security of electronic signatures to a certain extent, the private key itself is still at risk of being stolen, and it is difficult to completely and effectively solve the problem of electronic signature theft.
[0005] Therefore, the current electronic signature technology has the problem of insufficient security. Summary of the invention
[0006] Based on this, it is necessary to provide an electronic signature generation method, device, computer equipment and storage medium that can improve security in response to the above technical problems.
[0007] A method for generating an electronic signature, the method comprising:
[0008] When a signature request is received, a verification private key and at least two subkeys are obtained; the at least two subkeys are arranged in a preset order;
[0009] Determining the number of connections between two adjacent subkeys;
[0010] Linking the at least two subkeys through the connection number to obtain a signature private key;
[0011] Verifying the signature private key according to the verification private key;
[0012] If the verification is successful, an electronic signature is generated based on the signature private key; the electronic signature is used to sign the document to be signed.
[0013] In one embodiment, determining the number of connections between two adjacent subkeys includes:
[0014] Obtaining the last digit of the previous subkey and the first digit of the next subkey of the two adjacent subkeys;
[0015] The number of connections is obtained according to the average of the tail number and the head number.
[0016] In one embodiment, when a signature request is received, before the step of obtaining a verification private key and at least two subkeys, the step includes:
[0017] Obtain at least two activation areas;
[0018] By loading the at least two activation areas into the document to be signed, at least two verification areas are obtained;
[0019] Obtaining a verification order for the user to verify the at least two verification areas;
[0020] According to the verification sequence, an arrangement sequence of the at least two subkeys is obtained.
[0021] In one embodiment, obtaining the verification order of the user for verifying the at least two verification areas includes:
[0022] If the verification is an initial verification, the verification order is obtained according to the order in which the user clicks on the at least two verification areas;
[0023] If the verification is not an initial verification, the verification order is obtained according to the click order of the at least two verification areas clicked by the user last time.
[0024] In one embodiment, before the step of acquiring at least two activation areas, the step includes:
[0025] When receiving a signature registration request, generating a key pair for the signature user; the key pair includes a key pair private key;
[0026] The at least two subkeys are obtained by splitting the private key of the key pair.
[0027] In one embodiment, the step of splitting the private key of the key pair to obtain the at least two subkeys includes:
[0028] Selecting a connection number in the private key of the key pair;
[0029] Splitting the private key of the key pair into at least two parts according to the number of connections, to obtain at least two split subkeys;
[0030] Taking the number of connections as an average, determining the tail number and the head number of the subkey;
[0031] The subkey tail number and the subkey head number are respectively used as the tail number and head number of two adjacent split subkeys to obtain the at least two subkeys.
[0032] In one embodiment, after the step of splitting the private key of the key pair to obtain the at least two subkeys, the method further comprises:
[0033] Acquire at least two preset activation areas;
[0034] Determining a correspondence between the at least two activation areas and the at least two subkeys;
[0035] The arrangement order of the at least two activation areas is obtained according to the arrangement order of the at least two sub-keys and the corresponding relationship.
[0036] An electronic signature generating device, the device comprising:
[0037] An acquisition module, used for acquiring a verification private key and at least two subkeys when receiving a signature request; the at least two subkeys are arranged in a preset order;
[0038] A connection number module, used to determine the number of connections between two adjacent subkeys;
[0039] A signature private key module, used to link the at least two subkeys through the connection number to obtain a signature private key;
[0040] A verification module, used to verify the signature private key according to the verification private key;
[0041] The electronic signature generation module is used to generate an electronic signature according to the signature private key if the verification is passed; the electronic signature is used to sign the document to be signed.
[0042] A computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0043] When a signature request is received, a verification private key and at least two subkeys are obtained; the at least two subkeys are arranged in a preset order;
[0044] Determining the number of connections between two adjacent subkeys;
[0045] Linking the at least two subkeys through the connection number to obtain a signature private key;
[0046] Verifying the signature private key according to the verification private key;
[0047] If the verification is successful, an electronic signature is generated based on the signature private key; the electronic signature is used to sign the document to be signed.
[0048] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the following steps:
[0049] When a signature request is received, a verification private key and at least two subkeys are obtained; the at least two subkeys are arranged in a preset order;
[0050] Determining the number of connections between two adjacent subkeys;
[0051] Linking the at least two subkeys through the connection number to obtain a signature private key;
[0052] Verifying the signature private key according to the verification private key;
[0053] If the verification is successful, an electronic signature is generated based on the signature private key; the electronic signature is used to sign the document to be signed.
[0054] The above-mentioned electronic signature generation method, device, computer equipment and storage medium obtain a verification private key and at least two subkeys when a signature request is received, and the at least two subkeys are arranged in a preset order, and the number of connections between two adjacent subkeys is determined. The at least two subkeys are linked by the number of connections to obtain a signature private key, and the signature private key is verified according to the verification private key. If the verification passes, an electronic signature is generated according to the signature private key. The private key can be split into multiple subkeys, and the multiple subkeys are verified in sequence when signing. The signing operation is performed only when all subkeys are verified. For an operator who steals a private key, since it is impossible to accurately know the verification order of each subkey, it is impossible to obtain an accurate and complete private key accordingly, thereby reducing the risk of private keys being stolen and improving the security of electronic signatures. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 This is an application environment diagram of an electronic signature generation method in an embodiment;
[0056] Figure 2 A schematic diagram of a flow chart of a method for generating an electronic signature in one embodiment;
[0057] Figure 3 A schematic diagram of the process of initializing an electronic signature server and a signature terminal in one embodiment;
[0058] Figure 4 A schematic diagram of a document to be signed with N verification areas randomly loaded in one embodiment;
[0059] Figure 5 A flowchart of a method for implementing an electronic signature based on a network security technology architecture in one embodiment;
[0060] Figure 6is a structural block diagram of an electronic signature generating device in one embodiment;
[0061] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0062] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0063] The electronic signature generation method provided in this application can be applied to Figure 1 In the application environment shown, the signature terminal 102 communicates with the electronic signature server 104 through the network. The signature terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, and portable wearable devices, and the electronic signature server 104 can be implemented by an independent server or a server cluster composed of multiple servers.
[0064] In one embodiment, Figure 2 As shown, a method for generating an electronic signature is provided, and the method is applied to Figure 1 The electronic signature server in the example is used to illustrate, including the following steps:
[0065] Step S210, when a signature request is received, a verification private key and at least two subkeys are obtained; the at least two subkeys are arranged in a preset order.
[0066] In a specific implementation, the electronic signature server can receive a signature request sent by a signature terminal, the signature request including N (N≥2) subkeys arranged in order and a file to be signed. The electronic signature server can also receive a verification private key sent by the signature terminal.
[0067] Step S220, determining the number of connections between two adjacent subkeys.
[0068] In a specific implementation, the last digit of the previous subkey and the first digit of the next subkey can be obtained from two adjacent subkeys, the average of the last digit and the first digit can be calculated, and the average can be used as the connection number between the two adjacent subkeys.
[0069] Step S230, link at least two subkeys through a connection number to obtain a signature private key.
[0070] In the specific implementation, N-1 connection numbers can be obtained, and N subkeys can be linked through N-1 connection numbers, and the last digit and the first digit of two adjacent subkeys are covered, and the N subkeys arranged in sequence are merged into a signature private key.
[0071] Step S240: verify the signature private key according to the verification private key.
[0072] Step S250: If the verification is successful, an electronic signature is generated according to the signature private key; the electronic signature is used to sign the document to be signed.
[0073] In a specific implementation, the electronic signature server can compare the verification private key with the signature private key. If the verification private key is consistent with the signature private key, the verification is determined to be successful, and the signature private key is used to perform a signature operation to generate an electronic signature with a signature. The electronic signature with a signature is signed on the document to be signed to form a signed document.
[0074] Among them, the specific process of using the signature private key to perform a signature operation may include: the electronic signature server obtains the characteristic information of the signature terminal, wherein the characteristic information may include the signature user identity information and the current number of signatures of the signature terminal, the electronic signature server may also obtain the attribute information of the file to be signed, wherein the attribute information may include the full text information or summary information of the file to be signed, the electronic signature server may use the signature private key to perform a signature operation on the characteristic information and attribute information, for example, the signature private key may be used to decrypt the characteristic information and attribute information, and after decryption, the signature operation is performed to generate an electronic signature with a signature.
[0075] The above-mentioned electronic signature generation method obtains a verification private key and at least two subkeys when a signature request is received, and the at least two subkeys are arranged in a preset order, and the number of connections between two adjacent subkeys is determined. The at least two subkeys are linked by the number of connections to obtain a signature private key, and the signature private key is verified according to the verification private key. If the verification passes, an electronic signature is generated according to the signature private key. The private key can be split into multiple subkeys, and the multiple subkeys are verified in sequence when signing. The signing operation is performed only when all subkeys are verified. For an operator who steals a private key, since it is impossible to accurately know the verification order of each subkey, it is impossible to obtain an accurate and complete private key accordingly, thereby reducing the risk of private keys being stolen and improving the security of electronic signatures.
[0076] In one embodiment, the step S220 includes: obtaining the last digit of the previous subkey and the first digit of the next subkey of two adjacent subkeys; and obtaining the connection number according to the average of the last digit and the first digit.
[0077] In a specific implementation, the last digit of the previous subkey and the first digit of the next subkey can be obtained from two adjacent subkeys, the average of the last digit and the first digit can be calculated, and the average can be used as the connection number between the two adjacent subkeys.
[0078] In this embodiment, by obtaining the last digit of the previous subkey and the first digit of the next subkey of two adjacent subkeys, the connection number is obtained according to the average of the last digit and the first digit. The connection number can be used to link multiple subkeys arranged in sequence to form a signature private key.
[0079] In one embodiment, before the above step S210, the following steps are included:
[0080] Step S203, obtaining at least two activation areas;
[0081] Step S204, obtaining at least two verification areas by loading at least two activation areas into the file to be signed;
[0082] Step S205, obtaining the verification order of the user for verifying at least two verification areas;
[0083] Step S206, obtaining the arrangement order of at least two subkeys according to the verification order.
[0084] In a specific implementation, before receiving the signature request sent by the signature terminal, the electronic signature server can receive a login request sent by the signature terminal, wherein the login request includes the signature user name and the signature user login password. The electronic signature server can verify the login request, and after the verification is passed, the signature terminal can log in and access the signature server. Afterwards, the electronic signature server can obtain N activation areas (N≥2) of the signature terminal, and randomly load the N activation areas into the file to be signed to form N verification areas. The user can click to verify the N verification areas in turn. The electronic signature server can obtain the verification order of the user clicking to verify the N verification areas, and automatically generate the arrangement order of the N subkeys according to the verification order.
[0085] Among the N verification areas, at least 1 / 3N verification areas may be loaded in the non-text area of the document to be signed, and each verification area contains a non-digital unique identifier.
[0086] In the present embodiment, by obtaining at least two activation areas, at least two verification areas are obtained by loading at least two activation areas into the file to be signed, the verification order of the user for verifying the at least two verification areas is obtained, and the arrangement order of at least two sub-keys is obtained according to the verification order. The arrangement order of multiple sub-keys can be automatically generated by clicking on the verification areas in sequence. On the one hand, it is more convenient to sort the sub-keys. On the other hand, there is no need to obtain multiple sub-keys when arranging, which can avoid the problem of sub-key leakage and improve the security of electronic signatures. Moreover, based on this, even if the private key is stolen, it is impossible to accurately complete the sequential verification of multiple sub-keys, thereby further ensuring the security of the signature.
[0087] In one embodiment, the above step S205 includes: if the verification is an initial verification, the verification order is obtained according to the click order of the user on at least two verification areas; if the verification is not an initial verification, the verification order is obtained according to the click order of the user on at least two verification areas last time.
[0088] In the specific implementation, when the user clicks to verify N verification areas in sequence, if it is an initial verification or a verification error, the user can manually perform a single click on the document to be signed within the verification range of the N verification areas in sequence. Otherwise, if it is not an initial verification, the electronic signature server can obtain the click order of the last verification, and automatically perform a single click on the document to be signed within the verification range of the N verification areas in sequence according to the click order.
[0089] In this embodiment, if the verification is an initial verification, the verification order is obtained according to the click order of the user on at least two verification areas. If the verification is not an initial verification, the verification order is obtained according to the click order of the user on at least two verification areas last time. The initial verification can be performed manually, and after the initial verification is passed, automatic verification can be performed subsequently to improve the verification efficiency.
[0090] In one embodiment, before the above step S203, the following steps are included:
[0091] Step S201, when a signature registration request is received, a key pair is generated for the signature user; the key pair includes a key pair private key;
[0092] Step S202, splitting the private key of the key pair into at least two subkeys.
[0093] The key pair private key may be a private key in the key pair, and the private key may be a verification private key.
[0094] In a specific implementation, before the electronic signature server receives the login request sent by the signature terminal, the electronic signature server may also receive a signature registration request sent by the signature terminal, wherein the signature registration request may include a signature user name, a signature user login password, and a signature user identity information. When receiving the signature registration request, the electronic signature server may apply to the certification authority for verification of the signature user identity based on the signature user identity information, and generate a key pair for the signature user after the verification is passed. The signature server may also save the signature user name and the signature user login password in the registered signature user list based on the signature registration request. After that, the signature user identity information may be bound to the private key in the key pair through an encryption machine, and the verification private key may be used as the private key in the key pair. After obtaining the private key in the key pair, the electronic signature server may split the private key into N (N≥2) subkeys.
[0095] In this embodiment, when a signature registration request is received, a key pair is generated for the signing user. The key pair includes a key pair private key. The key pair private key is split into at least two subkeys. The private key can be split into multiple subkeys. When signing, the multiple subkeys are verified in sequence to improve the security of the electronic signature.
[0096] In one embodiment, the above step S202 includes: selecting a connection number in the key pair private key; splitting the key pair private key into at least two parts according to the connection number to obtain at least two split subkeys; determining the subkey tail number and subkey head number with the connection number as the mean; using the subkey tail number and subkey head number as the tail number and head number of two adjacent split subkeys respectively to obtain at least two subkeys.
[0097] In a specific implementation, in the process of splitting a key pair private key into N subkeys, N-1 connection numbers can be randomly selected from the key pair private key, and the key pair private key can be split into N parts according to the N-1 connection numbers, and the sorting position of each connection number is obtained, and the connection number is used as the mean and the corresponding sorting position is used as the calculation standard to calculate the value P1 and the value P2, where P1>P2, and the value P1 and the value P2 are the last digit and the first digit of two adjacent subkeys respectively, and the last digit and the first digit are combined with the N parts into which the key pair private key is split to obtain N subkeys.
[0098] In this embodiment, by selecting the number of connections in the private key of the key pair, the private key of the key pair is split into at least two parts according to the number of connections to obtain at least two split sub-keys, and the sub-key tail number and the sub-key head number are determined with the number of connections as the average, and the sub-key tail number and the sub-key head number are used as the tail number and the head number of two adjacent split sub-keys respectively to obtain at least two sub-keys. The private key can be split into multiple sub-keys, and the multiple sub-keys are verified in sequence when signing, thereby improving the security of the electronic signature.
[0099] In one embodiment, after the above step S202, it includes: obtaining at least two pre-set activation areas; determining the correspondence between the at least two activation areas and the at least two sub-keys; and obtaining the arrangement order of the at least two activation areas according to the arrangement order and the correspondence of the at least two sub-keys.
[0100] In the specific implementation, after the electronic signature server splits the private key of the key pair into N subkeys, N (N≥2) activation areas of the signature terminal can be preset, and one activation area is linked to one subkey. The electronic signature server can preset the N activation areas according to the arrangement order of the N subkeys and the link relationship between the activation area and the subkey, and send the preset order to the signature terminal.
[0101] In this embodiment, by obtaining at least two pre-set activation areas, determining the correspondence between at least two activation areas and at least two subkeys, and obtaining the arrangement order of at least two activation areas according to the arrangement order and correspondence of at least two subkeys, when performing sequential verification of multiple subkeys, it can be executed by loading the verification area in the file to be signed, thereby automatically generating the arrangement order of multiple subkeys by clicking on the verification area in sequence, on the one hand, it is more convenient to realize the subkey sorting, and on the other hand, it is not necessary to obtain multiple subkeys when arranging, thereby avoiding the problem of subkey leakage. In addition, based on this, it can be achieved that even if the private key is stolen, the sequential verification of multiple subkeys cannot be accurately completed, thereby further ensuring the security of the signature.
[0102] In order to facilitate those skilled in the art to have a deeper understanding of the embodiments of the present application, a specific example will be described below.
[0103] Figure 3 A flowchart of the initialization of the electronic signature server and signature terminal is provided. Figure 3 The process of initializing the electronic signature server and the signature terminal may include the following steps:
[0104] A1. The electronic signature server receives a signature registration request sent by the signature terminal, and the signature registration request includes the signature user name, the signature user login password and the signature user identity information.
[0105] A2. Apply to the certification authority to verify the identity of the signing user according to the signing user's identity information. After the verification is passed, a key pair is generated for the signing user, and the electronic signature server saves the signing user name and signing user login password in the registered signing user list according to the signing registration request. Based on this, the signing user completes the registration operation through the signing terminal.
[0106] A3. The signature user identity information is bound to the private key in the key pair through an encryption machine, and the private key is the verification private key.
[0107] A4. The electronic signature server obtains the verification private key, randomly selects N-1 connection numbers from the verification private key, and splits the verification private key into N parts.
[0108] A5. Obtain the ranking position of each connection number, and use the connection number as the average and the corresponding ranking position as the calculation standard to calculate the value P1 and the value P2, and P1>P2.
[0109] A6. Use the value P1 and the value P2 as the last digit and the first digit of two adjacent parts respectively, and combine them to obtain N subkeys, where N≥1.
[0110] A7. Preset N activation areas of the signature terminal, and link one activation area to one subkey.
[0111] A8. The electronic signature server pre-orders the N activation areas according to the link relationship between the verification private key and the subkey and the activation area.
[0112] In summary, assuming that the verification private key is abbcddekfg, N=3, and the corresponding randomly selected c and e are used as the connection numbers, the private key abbcddekfg is split into three parts abb / dd / kfg. Among them:
[0113] The sorting position of c is 1, so P1 with respect to c is calculated as c+1=d, and P2 is calculated as c-1=b;
[0114] The sorting position of e is 2, so P1 with respect to e is calculated as e+1=f, and P2 is calculated as e-1=d;
[0115] The values P1 and P2 are the last digit and the first digit of two adjacent parts respectively, and the three subkeys obtained by combination are: abbd / bddf / dkfg.
[0116] Correspondingly, three activation areas A / B / C are preset, and subkey dkfg is linked to activation area B, subkey bddf is linked to activation area A, and subkey abbd is linked to activation area C; based on this, according to the above-mentioned verification private key and the link relationship between the subkey and the activation area, the three activation areas are preset in order, and the preset order of the three activation areas is C / A / B.
[0117] A9. Send the preset order to the signing terminal. This allows the signing user to obtain the preset order of the activation area through the signing terminal, so that the signing user can correctly verify the order of the N subkeys. After the signing user's account is stolen, the hacker only obtains the account but not the signing terminal, so it is impossible to accurately understand the correct order of the N subkeys and the N activation areas.
[0118] Figure 5 A flowchart of an electronic signature implementation method based on a network security technology architecture is provided. Figure 5 The process of the electronic signature server and the signature terminal executing the electronic signature may include the following steps:
[0119] B1. The electronic signature server receives a login request sent by the signature terminal, and the login request includes the signature user name and the signature user login password.
[0120] B2. Verify the login request, and after the verification is passed, log in the signature terminal and access the signature server.
[0121] B3. The electronic signature server obtains N activation areas of the signature terminal (the N activation areas preset in the above initial operation).
[0122] B4. Randomly load N activation areas into the file to be signed to form N verification areas. Taking three activation areas as an example, Figure 4 Status shown in .
[0123] B5. Execute click verification of N verification areas in sequence, and automatically generate the arrangement order of N subkeys according to the verification order of the N verification areas.
[0124] Specifically, in Figure 4 The verification ranges of the three verification areas are three circular areas A / B / C respectively.
[0125] Click verification includes: the electronic signature server obtains the click sequence of the last verification, and automatically performs a single click on the signature document in the verification range of N verification areas in sequence according to the click sequence;
[0126] Click verification also includes: in case of initial verification or verification failure, manually performing a single click on the document to be signed within the verification range of N verification areas in sequence.
[0127] Preferably, at least 1 / 3N of the N verification areas are loaded in the non-text area of the document to be signed. The non-text area can be the header, footer, margin, summary, etc. of the document to be signed. Figure 4 The dotted box in the middle represents the text area of the document to be signed. In addition, each verification area contains a non-digital unique identifier, such as identifiers of different sizes and identifiers of different area shapes.
[0128] B6. The electronic signature server receives the signature request sent by the signature terminal, and the signature request includes N subkeys arranged in sequence and the file to be signed.
[0129] B7. Combine the N subkeys arranged in order into a signature private key according to a preset algorithm, wherein the preset algorithm includes:
[0130] In two adjacent subkeys, obtain the last digit of the previous subkey and the first digit of the next subkey, calculate the average of the last digit and the first digit, and use the average as the connection number between the two adjacent subkeys;
[0131] N subkeys are linked through N-1 connection numbers, and the last digit and the first digit of two adjacent subkeys are covered to obtain the signature private key.
[0132] B8. The electronic signature server obtains the verification private key of the signature terminal. If the verification private key is consistent with the signature private key, the signature private key is used to perform a signature operation to generate an electronic signature with a signature.
[0133] As mentioned above, assuming that the click verification of N verification areas is performed in sequence, if the click order is A / B / C, the three sub-keys obtained in sequence are bddfdkfgabbd. In this case, the two connection numbers calculated are (f+d) / 2=e, (g+a) / 2=d, and the signature private key synthesized is bddekfdbbd. In this case, the signature private key is inconsistent with the verification private key, and the signature is rejected.
[0134] If the click order is C / A / B, the three subkeys obtained in sequence are abbdbddfdkfg. In this case, the two connection numbers calculated are (d+b) / 2=c and (f+d) / 2=e. The signature private key synthesized is abbcddekfg. In this case, the signature private key is consistent with the verification private key.
[0135] In addition, the specific process of signature operation may include:
[0136] The electronic signature server obtains characteristic information of the signature terminal, and the characteristic information includes the signature user identity information of the signature terminal and the current signature times;
[0137] The electronic signature server obtains the attribute information of the document to be signed, and the attribute information includes the full text information or summary information of the document to be signed;
[0138] The signature private key is used to perform a signature operation containing feature information and attribute information.
[0139] In summary, the generated electronic signature contains the characteristic information of the signing terminal and the attribute information of the document to be signed, thereby making the electronic signature difficult to be imitated, thereby effectively ensuring the uniqueness and security of the electronic signature.
[0140] B9. Sign the electronic seal with signature on the document to be signed to form a signed document.
[0141] It should be understood that although Figure 2 , Figure 3 and Figure 5 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 2 , Figure 3 and Figure 5At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0142] In one embodiment, Figure 6 As shown, an electronic signature generation device is provided, including: an acquisition module 610, a connection number module 620, a signature private key module 630, a verification module 640 and an electronic signature generation module 650, wherein:
[0143] The acquisition module 610 is used to acquire the verification private key and at least two subkeys when receiving the signature request; the at least two subkeys are arranged in a preset order;
[0144] A connection number module 620, used to determine the number of connections between two adjacent subkeys;
[0145] The signature private key module 630 is used to link the at least two subkeys through the connection number to obtain the signature private key;
[0146] Verification module 640, used to verify the signature private key according to the verification private key;
[0147] The electronic signature generation module 650 is used to generate an electronic signature according to the signature private key if the verification is passed; the electronic signature is used to sign the document to be signed.
[0148] In one embodiment, the connection number module 620 is further used to obtain the last digit of the previous subkey and the first digit of the next subkey of the two adjacent subkeys; and obtain the connection number according to the average of the last digit and the first digit.
[0149] In one embodiment, the electronic signature generating device further includes:
[0150] An activation area acquisition module, used to acquire at least two activation areas;
[0151] A verification area module, used for obtaining at least two verification areas by loading the at least two activation areas into the file to be signed;
[0152] A verification sequence module, used to obtain a verification sequence for the user to verify the at least two verification areas;
[0153] The subkey arrangement sequence module is used to obtain the arrangement sequence of the at least two subkeys according to the verification sequence.
[0154] In one embodiment, the above-mentioned verification sequence module is also used to obtain the verification sequence according to the click sequence of the user on the at least two verification areas if the verification is an initial verification; if the verification is not an initial verification, then obtain the verification sequence according to the click sequence of the user on the at least two verification areas last time.
[0155] In one embodiment, the electronic signature generating device further includes:
[0156] A key pair generation module, used to generate a key pair for a signing user when receiving a signing registration request; the key pair includes a key pair private key;
[0157] The private key splitting module is used to split the private key of the key pair to obtain the at least two subkeys.
[0158] In one embodiment, the private key splitting module is also used to select a connection number in the key pair private key; according to the connection number, split the key pair private key into at least two parts to obtain at least two split subkeys; determine the subkey tail number and subkey head number with the connection number as the mean; use the subkey tail number and subkey head number as the tail number and head number of two adjacent split subkeys respectively to obtain the at least two subkeys.
[0159] In one embodiment, the electronic signature generating device further includes:
[0160] A preset activation area acquisition module, used to acquire at least two preset activation areas;
[0161] a corresponding relationship determination module, used to determine the corresponding relationship between the at least two activation areas and the at least two sub-keys;
[0162] The activation area arrangement order obtaining module is used to obtain the arrangement order of the at least two activation areas according to the arrangement order of the at least two sub-keys and the corresponding relationship.
[0163] For the specific definition of the electronic signature generation device, please refer to the definition of the electronic signature generation method above, which will not be repeated here. Each module in the above-mentioned electronic signature generation device can be implemented in whole or in part by software, hardware and their combination. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0164] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 7As shown. The computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store electronic signature generation data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, an electronic signature generation method is implemented.
[0165] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0166] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the above-mentioned method for generating an electronic signature. The steps of the above-mentioned method for generating an electronic signature may be the steps of the above-mentioned method for generating an electronic signature in each of the above-mentioned embodiments.
[0167] In one embodiment, a computer-readable storage medium is provided, which stores a computer program. When the computer program is executed by a processor, the processor executes the steps of the above-mentioned method for generating an electronic signature. The steps of the above-mentioned method for generating an electronic signature may be the steps of the above-mentioned method for generating an electronic signature in each of the above-mentioned embodiments.
[0168] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0169] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0170] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A method for generating an electronic signature, characterized in that: The method comprises: When a signature request is received, a verification private key and at least two subkeys are obtained; the at least two subkeys are arranged in a preset order; Obtain the last digit of the previous subkey and the first digit of the next subkey of two adjacent subkeys, and use the average of the last digit and the first digit as the connection number; Use the connection number to link the two adjacent subkeys and cover the last digit and the first digit to obtain a signature private key; Determine whether the signature private key is consistent with the verification private key; If they are consistent, an electronic signature is generated according to the signature private key; the electronic signature is used to sign the document to be signed.
2. The method according to claim 1, characterized in that The step of obtaining the verification private key and at least two subkeys upon receiving the signature request includes: Obtain at least two activation areas; By loading the at least two activation areas into the document to be signed, at least two verification areas are obtained; Obtaining a verification order for the user to verify the at least two verification areas; According to the verification sequence, an arrangement sequence of the at least two subkeys is obtained.
3. The method according to claim 2, characterized in that The obtaining of the verification order of the user for verifying the at least two verification areas includes: If the verification is an initial verification, the verification order is obtained according to the order in which the user clicks on the at least two verification areas; If the verification is not an initial verification, the verification order is obtained according to the click order of the at least two verification areas clicked by the user last time.
4. The method according to claim 2, characterized in that: Before the step of acquiring at least two activation areas, the method includes: When receiving a signature registration request, generating a key pair for the signature user; the key pair includes a key pair private key; The at least two subkeys are obtained by splitting the private key of the key pair.
5. The method according to claim 4, characterized in that The step of splitting the private key of the key pair to obtain the at least two subkeys includes: Selecting a connection number in the private key of the key pair; Splitting the private key of the key pair into at least two parts according to the number of connections, to obtain at least two split subkeys; Taking the number of connections as an average, determining the tail number and the head number of the subkey; The subkey tail number and the subkey head number are respectively used as the tail number and head number of two adjacent split subkeys to obtain the at least two subkeys.
6. The method according to claim 4, characterized in that After the step of splitting the private key of the key pair to obtain the at least two subkeys, the method further comprises: Acquire at least two preset activation areas; Determining a correspondence between the at least two activation areas and the at least two subkeys; The arrangement order of the at least two activation areas is obtained according to the arrangement order of the at least two sub-keys and the corresponding relationship.
7. An electronic signature generating device, characterized in that: The device comprises: An acquisition module, used for acquiring a verification private key and at least two subkeys when receiving a signature request; the at least two subkeys are arranged in a preset order; A connection number module, used to obtain the last digit of the previous subkey and the first digit of the next subkey in two adjacent subkeys, and use the average of the last digit and the first digit as the connection number; A signature private key module, used to link the two adjacent subkeys with the connection number and cover the tail number and the head number to obtain a signature private key; A verification module, used to determine whether the signature private key is consistent with the verification private key; The electronic signature generation module is used to generate an electronic signature according to the signature private key if they are consistent; the electronic signature is used to sign the document to be signed.
8. The device according to claim 7, characterized in that The device also includes: An activation area acquisition module, used to acquire at least two activation areas; A verification area module, used for obtaining at least two verification areas by loading the at least two activation areas into the file to be signed; A verification sequence module, used to obtain a verification sequence for the user to verify the at least two verification areas; The subkey arrangement sequence module is used to obtain the arrangement sequence of the at least two subkeys according to the verification sequence.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Joint signature method and system
CN111865572A