CN111327423A - Examination and approval device and method based on ordered multiple signatures and readable storage medium - Google Patents

Examination and approval device and method based on ordered multiple signatures and readable storage medium Download PDF

Info

Publication number
CN111327423A
CN111327423A CN202010027740.XA CN202010027740A CN111327423A CN 111327423 A CN111327423 A CN 111327423A CN 202010027740 A CN202010027740 A CN 202010027740A CN 111327423 A CN111327423 A CN 111327423A
Authority
CN
China
Prior art keywords
approver
signature
current
public key
approval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010027740.XA
Other languages
Chinese (zh)
Inventor
吴良顺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Original Assignee
Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuo Erzhi Lian Wuhan Research Institute Co Ltd filed Critical Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Priority to CN202010027740.XA priority Critical patent/CN111327423A/en
Publication of CN111327423A publication Critical patent/CN111327423A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

An approval method, an approval device and a computer-readable storage medium based on ordered multiple signatures, wherein the method comprises the following steps: configuring private keys and public keys of a plurality of approvers; when the current approver of the approval process is the first priority approver and the signature is confirmed, calculating the signature of the current approver according to a preset signature calculation rule so as to add the signature to the approval process; calculating to obtain a public key inspection parameter of the current approver based on the private key of the current approver and the public key of the next approver, and sending the public key inspection parameter to the next approver; when the current approver of the approval process is not the first priority approver and confirms to carry out signature, verifying whether the public key of the last approver is legal or not based on the received public key test parameters; if the signature is legal, verifying whether each signature signed previously in the approval process is valid; if the signature is valid, calculating the signature of the current approver according to a preset signature calculation rule so as to add the signature to the approval process. The invention can effectively prevent the attack of the counterfeit signature of the override approval and the internal auditor.

Description

Examination and approval device and method based on ordered multiple signatures and readable storage medium
Technical Field
The invention relates to the technical field of signing management and control, in particular to an approval device and method based on ordered multiple signatures and a computer readable storage medium.
Background
In digital signature applications, it is sometimes necessary for multiple users to sign and authenticate the same approval information. Although the conventional approval system can set the approval sequence of each auditor, the conventional approval system still cannot effectively prevent the override approval. And how to prevent the false signature attack of an internal attacker, no effective solution exists at present.
Disclosure of Invention
In view of the above, there is a need for an approval apparatus, method and computer readable storage medium based on ordered multiple signatures, which can effectively prevent unauthorized approval and counterfeit signature attack by internal reviewers.
An embodiment of the present invention provides an approval method based on ordered multiple signatures, including:
configuring private keys and public keys of a plurality of approvers, wherein at least one approver in the plurality of approvers is configured in an approval process to examine and examine the information to be examined and approved in the approval process;
when the current approver of the approval process is a first priority approver and receives a confirmation instruction of the current approver, calculating to obtain a signature of the current approver according to a preset signature calculation rule, and adding the signature of the current approver in the approval process;
calculating to obtain a public key inspection parameter of the current approver based on the private key of the current approver and the public key of the next approver of the current approver, and sending the public key inspection parameter and the signature of the current approver to the next approver of the current approver;
when the current approver of the approval process is not the first priority approver and receives a confirmation instruction of the current approver, verifying whether a public key of a last approver of the current approver is legal or not based on a received public key inspection parameter;
if the public key of the last approver is verified to be legal, verifying whether the signature of each approver who previously performs signature in the approval process is valid; and
and if the signature of each approver who carries out signature before is verified to be valid, calculating according to the preset signature calculation rule to obtain the signature of the current approver, and adding the signature of the current approver in the approval process.
Preferably, the step of adding the signature of the current approver to the approval process includes:
and adding the signature and the signature time of the current approver in the approval process.
Preferably, the step of verifying whether the public key of the previous approver of the current approver is legal based on the received public key verification parameter includes:
judging whether the time difference between the signature time of the last approver of the current approver or the initial signature time of the approval process and the signature time of the signature prepared to be signed by the current approver is within a preset time;
and if the time difference is within the preset time, verifying whether the public key of the last approver of the current approver is legal or not based on the received public key test parameters.
Preferably, the method further comprises:
and when all the approvers in the approval process are signed, verifying the signature of each approver in the approval process according to a preset verification rule.
Preferably, the step of configuring private keys and public keys of a plurality of approvers includes:
randomly selecting a prime number p larger than a preset value, and solving g, wherein g is the primitive root of a prime number field GF (p);
for each said approver U1~UnRandomly selecting the corresponding integer xnAnd x isnIs defined as the approver UnA private key of (2), wherein xn∈[1,p-1];
Based on the formula
Figure BDA0002363072180000021
Calculated to obtain ynAnd is combined with ynIs defined as the approver UnThe public key of (2).
Preferably, when the current approver of the approval process is a first priority approver, the signature of the current approver is calculated according to the following formula:
s1=x1h(m)-r1k1mod(p-1);
wherein s is1M is the signature of the current approver, m is the information to be approved, h (m) is a hash value obtained by carrying out hash operation on m by using a preset hash function, k1Is a random integer, k1∈[1,p-2],
Figure BDA0002363072180000031
When the current approver of the approval process is not the first priority approver, the signature of the current approver is calculated by the following formula:
si=si-1+xih(m)-rikimod(p-1);
wherein s isiIs the signature of the current approver, si-1Signature of the last approver of the current approver, kiIs a random integer, ki∈[1,p-1],
Figure BDA0002363072180000032
i∈[1,n];
The public key inspection parameter of the current approver is obtained by calculation according to the following formula:
Figure BDA0002363072180000033
Figure BDA0002363072180000034
wherein, wiPublic key verification parameter, y, of the current approveri+1The public key of the next approver that is the current approver.
Preferably, the step of verifying whether the public key of the previous approver of the current approver is legal includes:
formula of judgment
Figure BDA0002363072180000035
Whether or not it is equal to formula wi-1mod p;
If the formula
Figure BDA0002363072180000036
Is equal to the formula wi-1mod p, then the current approver U is determinediLast approver Ui-1Public key y ofi-1And (4) legality.
Preferably, the step of verifying whether the signature of each approver who previously signed in the approval process is valid comprises:
formula of judgment
Figure BDA0002363072180000037
Whether or not to equal the formula
Figure BDA0002363072180000038
If the formula
Figure BDA0002363072180000039
Is equal to the equation
Figure BDA00023630721800000310
Then each approver U previously signed in the approval process is determined1~Ui-1Signature s of1~si-1Are all effective.
An embodiment of the present invention provides an approval apparatus based on ordered multiple signatures, which includes a processor and a memory, wherein the memory stores a plurality of computer programs, and the processor is configured to implement the steps of the approval method based on ordered multiple signatures when executing the computer programs stored in the memory.
An embodiment of the present invention further provides a computer-readable storage medium, which stores a plurality of instructions executable by one or more processors to implement the steps of the above-mentioned ordered multiple signature-based approval method.
Compared with the prior art, the approval device, the approval method and the computer readable storage medium based on the ordered multiple signatures have the advantages that the ordered approval is carried out based on the set order of the approvers, the off-grade approval can be prevented, and the forged signature attack of an internal reviewer can be effectively prevented by checking the public key of the signer.
Drawings
FIG. 1 is a functional block diagram of an approval apparatus based on ordered multiple signatures according to an embodiment of the present invention.
FIG. 2 is a functional block diagram of an ordered multi-signature based approval process according to an embodiment of the present invention.
FIG. 3 is a flowchart of an approval method based on ordered multiple signatures according to an embodiment of the present invention.
Description of the main elements
Figure BDA0002363072180000041
Figure BDA0002363072180000051
The following detailed description will further illustrate the invention in conjunction with the above-described figures.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It is further noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
Please refer to fig. 1, which is a schematic diagram of an approval apparatus based on ordered multiple signatures according to a preferred embodiment of the present invention.
The ordered multi-signature based approval apparatus 100 may include a memory 10, a processor 20, and an ordered multi-signature based approval program 30 stored in the memory 10 and executable on the processor 20. The processor 20, when executing the ordered multi-signature based approval program 30, implements the steps of the ordered multi-signature based approval method embodiment, such as the steps S300 to S310 shown in fig. 3. Alternatively, the processor 20, when executing the ordered multiple signature-based approval process 30, implements the functions of the modules in fig. 2, such as the modules 101 to 107.
The ordered multi-signature based approval program 30 may be partitioned into one or more modules that are stored in the memory 10 and executed by the processor 20 to implement the present invention. The one or more modules may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution process of the ordered multi-signature based approval program 30 in the ordered multi-signature based approval apparatus 100. For example, the ordered multi-signature based approval process 30 can be divided into a configuration module 101, a first approval module 102, a parameter generation module 103, a first verification module 104, a second verification module 105, a second approval module 106, and a third verification module 107 in fig. 2. Specific functions of the modules refer to the functions of the modules in fig. 2 below.
It will be understood by those skilled in the art that the schematic diagram is merely an example of the approval apparatus 100 based on ordered multiple signatures, and does not constitute a limitation of the approval apparatus 100 based on ordered multiple signatures, and may include more or less components than those shown, or combine some components, or different components, for example, the approval apparatus 100 based on ordered multiple signatures may further include a communication module, a display module, a bus, etc.
The Processor 20 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor 20 may be any conventional processor or the like, and the processor 20 may utilize various interfaces and buses to connect the various parts of the in-order multi-signature based approval apparatus 100.
The memory 10 may be used to store the ordered multi-signature based approval program 30 and/or the module, and the processor 20 may implement the various functions of the ordered multi-signature based approval apparatus 100 by running or executing the computer program and/or the module stored in the memory 10 and calling the data stored in the memory 10. The memory 10 may include high speed random access memory and may also include non-volatile memory such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), at least one magnetic disk storage device, a Flash memory device, or other non-volatile solid state storage device.
FIG. 2 is a functional block diagram of a preferred embodiment of an approval process based on ordered multiple signatures according to the present invention.
Referring to fig. 2, the ordered multi-signature based approval process 30 may include a configuration module 101, a first approval module 102, a parameter generation module 103, a first verification module 104, a second verification module 105, a second approval module 106, and a third verification module 107. In one embodiment, the modules may be programmable software instructions stored in the memory 10 and called to be executed by the processor 20. It will be appreciated that in other embodiments, the modules may also be program instructions or firmware (firmware) that are resident in the processor 20.
The configuration module 101 is used for configuring private keys and public keys of multiple approvers.
In one embodiment, each of the approvers may be pre-assigned with a unique id, such as a unique job number, a login account of the approval system, and the like. Each of the approvers may have a private key and a public key corresponding thereto. The approval system is preferably a system with ordered approvals, i.e. hierarchical approval by the configured approvers. The specific use scenario of the approval system is not limited herein, and may be applied to, for example, enterprises, government departments, and the like.
In one embodiment, the configuration module 101 may configure the private keys and the public keys of the plurality of approvers according to predefined configuration rules. For example, the predefined configuration rule may be: randomly selecting a large prime number p, for example, the prime number p is defined as a prime number larger than a preset value, and solving for g, where g is the primitive root of a prime number field gf (p), and the preset value can be set according to actual requirements, for example, the preset value is 100, 300, 500, etc.; for each said approver U1~UnRandomly selecting the corresponding integer xnAnd x isnIs defined as the approver UnWhere n may represent the number of approvers, xn∈[1,p-1]I.e. from the set [1, p-1 ]]For each of said approvers U1~UnRandomly selecting an integer xn(ii) a Based on the formula
Figure BDA0002363072180000081
Calculated to obtain ynAnd is combined with ynIs defined as the approver UnThe public key of (2).
In an embodiment, the configuration rule of the foregoing example may also be modified according to actual requirements to obtain a configuration rule including other contents, for example, g may be a randomly selected prime number. The values of the parameters p, g may be published, such as may be communicated to each registered user in the approval system.
In an embodiment, each of the approvers may obtain its own private key when registering in the approval system, and the private key may be stored by each of the approvers and stored in a database of the approval system. A public key corresponding to each of the approvers may be generated during user registration, and the public key may be stored in the database.
In an embodiment, the approval process in the approval system may select one or more approvers from the plurality of approvers as the approver of the approval process according to actual approval requirements. The approver can check the approval process and sign through logging in the approval system. After configuration of the approvers in the approval process is completed, the approval process needs to perform first-level approval according to the configured approval order of the approvers until approval of the approvers in the last level is completed. The examination and approval process comprises the information to be examined and approved, so that the examination and approval personnel in the examination and approval process can conveniently know the examination and approval content to be examined and approved currently. The pending information may be the text content filled in the designated field in the approval process, the accessories included in the approval process, and the like, which is not limited herein.
The first approval module 102 is configured to, when the current approver of the approval process is a first priority approver and receives a confirmation instruction of the current approver, calculate a signature of the current approver according to a preset signature calculation rule, and add the signature of the current approver to the approval process.
In an embodiment, when the current approver of the approval process is the first priority approver, it indicates that the current approver is the first approver of the approval process, and the current approver has no lower-level approver (the last approver) in the approval process. The confirmation instruction may be an approval confirmation instruction, for example, when the current approver confirms that the to-be-approved information in the approval process is correct or the to-be-approved information has an agreement status, the confirmation instruction may be generated by being triggered. For example, the manner of triggering the generation of the confirmation instruction may be that the current approver clicks an "approve" or "approve" icon in the approval process. It should be noted that, the manner of triggering and generating the confirmation instruction is not limited herein, and the specific use scenario or interface style design of the approval system is different, and the confirmation instruction may be generated corresponding to different triggering manners.
It can be understood that, when the current approver of the approval process finds that the condition of the information to be approved is not consistent or is wrong, the current approver may end the approval process or return the approval process to the process initiator. For example, the current approver clicks a "reject" or "return" icon in the approval process, etc.
In one embodiment, the preset signature calculation rule may be obtained based on a private key of the current approver, a hash value of the pending approval message, and a random value. The hash operation may be performed on the pending approval message m (such as the pending approval content, the attachment name, and the like) by using a preset hash function, which may also be disclosed and may be transmitted to each registered user in the approval system. The information to be approved is encrypted by adopting the preset hash function and then transmitted, so that the method has high safety, and can well improve the services of unforgeability, non-repudiation, integrity, authentification, data confidentiality and security and anti-cracking of the information to be approved.
In an embodiment, when generating the signature, the current approver may input a private key stored therein, and the first approval module 102 may receive the private key input by the current approver to generate a signature corresponding thereto, so as to improve the security of the signature and ensure non-repudiation of the approval.
In an embodiment, when the first approval module 102 adds the signature of the current approver to the approval process, the current signature time may also be added to the approval process together. The signature time may consist of year, month, day, hour, minute, and second. For example, the signature time of the current approver is "2019-11-0115: 32: 33".
For example, when the current approver of the approval process is the first priority approver U1Then, the current approver U1Is calculated by the following equationCalculating to obtain:
s1=x1h(m)-r1k1mod(p-1);
wherein s is1Is the current approver U1M is the information to be approved, h (m) is a hash value obtained by performing hash operation on m by using the preset hash function, k1Is selected from the set [1, p-2 ]]Randomly selected integers, i.e. k1∈[1,p-2],
Figure BDA0002363072180000101
When the signature of the current approver is obtained through calculation, the first approval module 102 may add the signature of the current approver to the approval process, and the approval process may jump to a next approver (a higher approver of the current approver).
The parameter generating module 103 is configured to obtain a public key inspection parameter of the current approver through calculation based on the private key of the current approver and the public key of the approver next to the current approver, and send the public key inspection parameter and the signature of the current approver to the approver next to the current approver.
In one embodiment, each of the approvers U1~UnWhen signature is carried out, the approximator U can be calculated1~UnCorresponding public key verification parameter w1~wnSo as to carry out the public key verification subsequently. The parameter generating module 103 may obtain each approver U in the approval process through the following calculation1~UiPublic key verification parameter of (2):
Figure BDA0002363072180000102
wherein, wiCurrent approver UiPublic key verification parameter, yi+1Is the current approver UiNext approver Ui+1I ∈ [1, n)]. For example, the current approver is the first priority approver U1Then the first priority approver U1Corresponding public key verification parameters
Figure BDA0002363072180000103
Wherein x1Is the current approver's private key, y2The public key of the next approver that is the current approver. The current approver is a second priority approver U2Then the second priority approver U2Corresponding public key verification parameters
Figure BDA0002363072180000104
Wherein x2Is the current approver's private key, y3The public key of the next approver that is the current approver.
In one embodiment, the public key verification rule may be: the public key of the previous approver is verified by the next approver before signing. It will be appreciated that the last approver has no next approver, i.e., the public key of the last approver may not need to be verified, but the last approver needs to verify the public key of the last approver. The first priority approver does not have the previous approver, namely the first priority approver does not need to carry out public key verification operation before signing.
In an embodiment, when the parameter generating module 103 calculates the public key verification parameter of the current approver, the parameter generating module 103 further sends the public key verification parameter of the current approver to a next approver of the current approver, so that the next approver can verify the public key of a previous approver before signing.
In one embodiment, r of the current approver may also be usedi、siSending to the next approver (for example, if the current approver is the first priority approver, the r of the first priority approver is sent1、s1Sent to a second priority approver) and sends riBroadcast to all other approvers in the approval process (for example, if the current approver is the first priority approver, the r of the first priority approver is sent1Broadcast to all other approvers in the approval process). In other embodiments of the present invention, the parameter generating module 103 may further send the pending information m to a next reviewer.
The first verification module 104 is configured to verify whether a public key of a previous approver of the current approver is legal based on a received public key verification parameter when a current approver of the approval process is not the first priority approver and receives a confirmation instruction of the current approver.
In an embodiment, when the current approver of the approval process is not the first priority approver and receives the confirmation instruction of the current approver, it indicates that the current approver has a previous approver, and may receive the public key verification parameter sent by the previous approver, and the first verification module 104 may verify whether the public key of the previous approver of the current approver is legal based on the received public key verification parameter.
And when the current approver of the approval process is not the first priority approver and receives a confirmation instruction of the current approver, indicating that the current approver has no opinion on approval information. It can be understood that, when the current approver finds that the condition of the information to be approved is not consistent or is wrong, the current approver may end the approval process or return the approval process to the process initiator, and at this time, the first verification module 104 does not receive the confirmation instruction of the current approver. For example, the current approver clicks a "reject" or "return" icon in the approval process, etc.
In one embodiment, the first verification module 104 may verify the current approver U byiLast approver Ui-1Public key y ofi-1Whether legal or not, thereby avoiding the attack of internal fake signature of an approver: judgment equation
Figure BDA0002363072180000111
Is true, where xiIs the current approver UiPrivate key of wi-1Is the current approver UiThe last received approver Ui-1The transmitted public key verifies the parameters. Namely, the first verification module 104 determines the formula
Figure BDA0002363072180000112
Whether or not to be equal to wi-1mod p, respectively; if the formula
Figure BDA0002363072180000113
Is equal to the formula wi-1mod p, the first verification module 104 may determine the current approver UiLast approver Ui-1Public key y ofi-1Legality; if the formula
Figure BDA0002363072180000114
Is not equal to the equation wi-1modp, the first verification module 104 may determine the current approver UiLast approver Ui-1Public key y ofi-1If the signature is illegal, the first verification module 104 may output a signature risk warning message to remind the current approver of performing signature with caution. In other embodiments of the present invention, when the first verification module 104 determines that the current approver U is presentiLast approver Ui-1Public key y ofi-1When illegal, subsequent signature calculation is not required, so that the current approver UiThe signature cannot be performed.
In an embodiment, when all lower-level approvers of the current approver attach signature time during signature, the first verification module 104 may also assist in determining whether the signature of the previous approver is valid through the signature time before verifying whether the public key of the previous approver of the current approver is legal, and directly determine that the signature of the previous approver is invalid if the signature time is too long, and the first verification module 104 may output signature risk warning information to remind the current approver of performing signature with caution or not performing subsequent public key verification. If the signature time is not delayed too long, the first verification module 104 continues to verify whether the public key of the last approver of the current approver is valid.
For example, the first verification module 104 determines the current approver UiLast approver Ui-1Whether the time difference between the signature time of the current approver and the signature time of the signature prepared by the current approver is within a preset time or not is judged, and if the time difference is within the preset time, the judgment result shows that the time difference is within the preset timeIf the signature time is not too long, the first verification module 104 may continue to verify the current approver U based on the received public key verification parametersiLast approver Ui-1Public key y ofi-1Whether it is legal. The preset time can be set according to actual requirements, and the signature time for the current approver to prepare signature can be real-time after the current approver clicks to enter the approval process.
For example, the first verification module 104 may further determine whether a time difference between the initial signature time of the approval process and the signature time that the current approver prepares to perform the signature is within a preset time, and if the time difference is within the preset time, it indicates that the signature time is not delayed too long, and the first verification module 104 may continue to verify whether the public key of the previous approver of the current approver is legal based on the received public key verification parameter.
The second verification module 105 is configured to verify whether the signature of each approver who previously signed in the approval process is valid when the public key of the previous approver is verified to be valid.
In one embodiment, the current approver U is verified by the first verification module 104iLast approver Ui-1Public key y ofi-1When legitimate, the second verification module 105 verifies each approver (U) in the approval process that was previously signed1,U2,…,Ui-1,U1A first priority approver, U, representing the approval process2A second priority approver representing the approval process) is generated1~si-1) Whether it is valid. The second verification module 105 may verify the second verification result by determining the equation:
Figure BDA0002363072180000131
if true, to verify each approver (U) in the approval process that previously signed1,U2,…,Ui-1) Signature(s)1~si-1) If it is valid, the second verification module 105 determines the formula
Figure BDA0002363072180000132
Whether or not to equal the formula
Figure BDA0002363072180000133
If the formula
Figure BDA0002363072180000134
Is equal to the equation
Figure BDA0002363072180000135
The second verification module 105 may determine each approver U in the approval process that was previously signed1~Ui-1Signature s of1~si-1The signature is effective, and subsequent signature calculation can be carried out; if the formula
Figure BDA0002363072180000136
Is not equal to the equation
Figure BDA0002363072180000137
The second verification module 105 may determine each approver U in the approval process that was previously signed1~Ui-1Signature s of1~si-1One or more invalid signatures exist, and subsequent signature calculation can be omitted, so that the current approver UiThe signature cannot be performed.
The second approval module 106 is configured to, when the signature of each approver who previously performs the signature is verified to be valid, calculate the signature of the current approver according to the preset signature calculation rule, and add the signature of the current approver to the approval process.
In one embodiment, each approver U that has previously signed is verified by the second verification module 1051~Ui-1Signature s of1~si-1When the signature is valid, the second approval module 106 may calculate the current approver U according to the preset signature calculation ruleiSignature s ofiAnd adding the current approver U in the approval processiSignature s ofi
When the current approver U of the approval processiWhen the current approver is not the first order approver, the current approver UiSignature s ofiCan be calculated by the following formula:
si=si-1+xih(m)-rikimod(p-1);
wherein s isiIs the current approver UiSignature of si-1Is the current approver UiLast approver Ui-1Signature of kiIs selected from the set [1, p-1 ]]A random integer obtained from (i) ki∈[1,p-1],
Figure BDA0002363072180000141
Since the public key and signature verification has been performed previously, the current approver U is calculatediSignature s ofiThe second approval module 106 may add the current approver U to the approval processiSignature s ofi
As can be appreciated, the second approval module 106 adds the current approver U to the approval processiSignature s ofiThe current signature time may also be added to the approval process.
When the second approval module 106 adds the current approver U to the approval processiSignature s ofiThe parameter generation module 103 may also be based on the current approver UiPrivate key x ofiAnd said current approver UiNext approver Ui+1Public key y ofi+1Calculating to obtain the current approver UiPublic key verification parameter w ofiAnd said current approver UiPublic key verification parameter w ofiAnd a signature siSending to the current approver UiNext approver Ui+1. With the current approver UiCorresponding parameter riOr can be sent to the next approver Ui+1Parameter riMay also be broadcast to all other approvers in the approval process.
In an embodiment, when all the approvers in the approval process complete signatures, all the signatures may need to be verified in some specific application scenarios, for example, the approval process is a customs approval process, when all the approvers in the approval process complete signatures, it is preferable to verify the approval signatures of all the approvers, and when the approval signatures pass the verification, the customs can pass. The third verification module 107 is configured to verify the signature of each approver in the approval process according to a preset verification rule when all the approvers in the approval process have signed signatures.
The preset validation rule may be: the third verification module 107 determines whether the following equation holds:
Figure BDA0002363072180000142
wherein s isnThe signature of the last approver in the approval process. If the third verification module 107 determines the formula
Figure BDA0002363072180000143
Equality formula
Figure BDA0002363072180000144
The third verification module 107 may determine that the signature of each approver in the approval process is valid, that is, the approval process passes this time; if the third verification module 107 determines the formula
Figure BDA0002363072180000145
Inequality of arithmetic
Figure BDA0002363072180000146
The third verification module 107 may determine that the signature of one or more approvers is invalid in the approval process, and although each approver in the approval process completes the signature, the approval process is still determined to fail. It is understood that the third verification module 107 may be omitted when signature verification is not required after all approvers in the approval process have signed signatures.
The invention is illustrated below by way of exampleCompared with the prior multiple approval signature scheme, the approval scheme of the ordered multiple signatures has stronger unforgeability: during the initialization phase of the approval system, an attacker U is assumediForging his public key
Figure BDA0002363072180000151
And can disguise the signature. In the present invention, however, in the signature phase, the signature verifier checks the public key of the signer
Figure BDA0002363072180000152
Figure BDA0002363072180000153
The attack of the internal approver can be effectively resisted. Suppose UiTo forge his public key, the following equation is satisfied:
Figure BDA0002363072180000154
and is
Figure BDA0002363072180000155
Thus, UiNeed to satisfy the equation
Figure BDA0002363072180000156
I.e. satisfies the equation- (x)1+x2+…+xi-1+xi+1+…+xn)xi+1K p. p is a large prime number, and xi+1Is verifier Ui+1And therefore is almost impossible if one wants to satisfy the above formula. Therefore, before signature, the fake signature attack of an internal attacker can be effectively prevented by checking the public key of the signer.
FIG. 3 is a flowchart of an approval method based on ordered multiple signatures according to an embodiment of the present invention. The order of the steps in the flow chart may be changed and some steps may be omitted according to different needs.
Step S300, private keys and public keys of a plurality of approvers are configured. And at least one approver of the plurality of approvers is configured in the approval process to examine and examine the information to be approved in the approval process.
Step S302, when the current approver of the approval process is the first priority approver and receives the confirmation instruction of the current approver, calculating the signature of the current approver according to a preset signature calculation rule, and adding the signature of the current approver in the approval process.
Step S304, calculating to obtain a public key inspection parameter of the current approver based on the private key of the current approver and the public key of the approver next to the current approver, and sending the public key inspection parameter and the signature of the current approver to the approver next to the current approver.
Step S306, when the current approver of the approval process is not the first priority approver and receives the confirmation instruction of the current approver, verifying whether the public key of the previous approver of the current approver is legal based on the received public key verification parameter.
Step S308, if the public key of the last approver is verified to be legal, whether the signature of each approver who carries out signature in the approval process is valid or not is verified.
Step S310, if the signature of each approver who carries out signature in the past is verified to be valid, calculating according to the preset signature calculation rule to obtain the signature of the current approver, and adding the signature of the current approver in the approval process.
According to the examination and approval device and method based on the ordered multiple signatures and the computer readable storage medium, ordered examination and approval are carried out based on the set order of the examiners, so that the out-of-grade examination and approval can be prevented, the forged signature attack of the internal examiners can be effectively prevented by checking the public keys of the signers, and meanwhile, the information to be examined and approved is encrypted through Hash operation, so that the unforgeability and the non-repudiation of the information to be examined and approved are improved.
It will be apparent to those skilled in the art that other variations and modifications may be made in accordance with the invention and its spirit and scope in accordance with the practice of the invention disclosed herein.

Claims (10)

1. An approval method based on ordered multiple signatures, the method comprising:
configuring private keys and public keys of a plurality of approvers, wherein at least one approver in the plurality of approvers is configured in an approval process to examine and examine the information to be examined and approved in the approval process;
when the current approver of the approval process is a first priority approver and receives a confirmation instruction of the current approver, calculating to obtain a signature of the current approver according to a preset signature calculation rule, and adding the signature of the current approver in the approval process;
calculating to obtain a public key inspection parameter of the current approver based on the private key of the current approver and the public key of the next approver of the current approver, and sending the public key inspection parameter and the signature of the current approver to the next approver of the current approver;
when the current approver of the approval process is not the first priority approver and receives a confirmation instruction of the current approver, verifying whether a public key of a last approver of the current approver is legal or not based on a received public key inspection parameter;
if the public key of the last approver is verified to be legal, verifying whether the signature of each approver who previously performs signature in the approval process is valid; and
and if the signature of each approver who carries out signature before is verified to be valid, calculating according to the preset signature calculation rule to obtain the signature of the current approver, and adding the signature of the current approver in the approval process.
2. The method of claim 1, wherein the step of adding the current approver's signature in the approval process comprises:
and adding the signature and the signature time of the current approver in the approval process.
3. The method of claim 2, wherein the step of verifying whether the public key of the previous approver of the current approver is legitimate based on the received public key verification parameter comprises:
judging whether the time difference between the signature time of the last approver of the current approver or the initial signature time of the approval process and the signature time of the signature prepared to be signed by the current approver is within a preset time;
and if the time difference is within the preset time, verifying whether the public key of the last approver of the current approver is legal or not based on the received public key test parameters.
4. The method of claim 1, wherein the method further comprises:
and when all the approvers in the approval process are signed, verifying the signature of each approver in the approval process according to a preset verification rule.
5. The method of claim 1, wherein the step of configuring private and public keys of a plurality of approvers comprises:
randomly selecting a prime number p larger than a preset value, and solving g, wherein g is the primitive root of a prime number field GF (p);
for each said approver U1~UnRandomly selecting the corresponding integer xnAnd x isnIs defined as the approver UnA private key of (2), wherein xn∈[1,p-1];
Based on the formula
Figure FDA0002363072170000021
Calculated to obtain ynAnd is combined with ynIs defined as the approver UnThe public key of (2).
6. The method of claim 5, wherein when the current approver of the approval process is a first priority approver, the signature of the current approver is calculated by the following equation:
s1=x1h(m)-r1k1mod(p-1);
wherein s is1M is the signature of the current approver, m is the information to be approved, h (m) is a hash value obtained by carrying out hash operation on m by using a preset hash function, k1Is a random integer, k1∈[1,p-2],
Figure FDA0002363072170000022
When the current approver of the approval process is not the first priority approver, the signature of the current approver is calculated by the following formula:
si=si-1+xih(m)-rikimod(p-1);
wherein s isiIs the signature of the current approver, si-1Signature of the last approver of the current approver, kiIs a random integer, ki∈[1,p-1],
Figure FDA0002363072170000023
i∈[1,n];
The public key inspection parameter of the current approver is obtained by calculation according to the following formula:
Figure FDA0002363072170000024
Figure FDA0002363072170000031
wherein, wiPublic key verification parameter, y, of the current approveri+1The public key of the next approver that is the current approver.
7. The method of claim 6, wherein said step of verifying whether the public key of the approver immediately preceding the current approver is legitimate comprises:
formula of judgment
Figure FDA0002363072170000032
Whether or not it is equal to formula wi-1mod p;
If the formula
Figure FDA0002363072170000033
Is equal to the formula wi-1mod p, then the current approver U is determinediLast approver Ui-1Public key y ofi-1And (4) legality.
8. The method of claim 6, wherein said step of verifying whether the signature of each approver previously signed in the approval process is valid comprises:
formula of judgment
Figure FDA0002363072170000034
Whether or not to equal the formula
Figure FDA0002363072170000035
If the formula
Figure FDA0002363072170000036
Is equal to the equation
Figure FDA0002363072170000037
Then each approver U previously signed in the approval process is determined1~Ui-1Signature s of1~si-1Are all effective.
9. An apparatus for ordered multi-signature based approval, the apparatus comprising a processor and a memory, the memory having stored thereon a plurality of computer programs, wherein the processor is configured to perform the steps of the ordered multi-signature based approval method of any one of claims 1 to 8 when executing the computer programs stored in the memory.
10. A computer-readable storage medium storing instructions executable by one or more processors to perform the steps of the ordered multiple signature-based approval method of any one of claims 1-8.
CN202010027740.XA 2020-01-10 2020-01-10 Examination and approval device and method based on ordered multiple signatures and readable storage medium Pending CN111327423A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010027740.XA CN111327423A (en) 2020-01-10 2020-01-10 Examination and approval device and method based on ordered multiple signatures and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010027740.XA CN111327423A (en) 2020-01-10 2020-01-10 Examination and approval device and method based on ordered multiple signatures and readable storage medium

Publications (1)

Publication Number Publication Date
CN111327423A true CN111327423A (en) 2020-06-23

Family

ID=71171259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010027740.XA Pending CN111327423A (en) 2020-01-10 2020-01-10 Examination and approval device and method based on ordered multiple signatures and readable storage medium

Country Status (1)

Country Link
CN (1) CN111327423A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112712452A (en) * 2020-12-02 2021-04-27 杭州趣链科技有限公司 Approval information processing method and device based on block chain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100114780A1 (en) * 2006-08-03 2010-05-06 Iti Scotland Ltd. Workflow assurance and authentication system
CN103544592A (en) * 2012-07-16 2014-01-29 天津书生投资有限公司 Application method and device of electronic stamp
CN106600234A (en) * 2016-12-21 2017-04-26 湖南文理学院 Rapid flow approval method
CN108550030A (en) * 2018-07-12 2018-09-18 广东电网有限责任公司 A kind of method, apparatus of examination & approval, system and computer-readable medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100114780A1 (en) * 2006-08-03 2010-05-06 Iti Scotland Ltd. Workflow assurance and authentication system
CN103544592A (en) * 2012-07-16 2014-01-29 天津书生投资有限公司 Application method and device of electronic stamp
CN106600234A (en) * 2016-12-21 2017-04-26 湖南文理学院 Rapid flow approval method
CN108550030A (en) * 2018-07-12 2018-09-18 广东电网有限责任公司 A kind of method, apparatus of examination & approval, system and computer-readable medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张骏: "《多重复合签名在电子政务中的研究与应用》" *
王川: "《基于两种难题的有序多重签名方案》" *
王晓明: "《一种多重数字签名方案的安全性分析》" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112712452A (en) * 2020-12-02 2021-04-27 杭州趣链科技有限公司 Approval information processing method and device based on block chain

Similar Documents

Publication Publication Date Title
CN110781521B (en) Intelligent contract authentication data privacy protection method and system based on zero-knowledge proof
KR20200096790A (en) System and method for authenticating off-chain data based on proof verification
Cortier et al. Machine-checked proofs for electronic voting: privacy and verifiability for Belenios
CN112801663B (en) Blockchain certification method, device, system, equipment and medium
CN109858911A (en) Qualification verification method, device, system, equipment and readable storage medium storing program for executing
US20210334809A1 (en) Transaction method and apparatus based on blind signature
WO2015004065A1 (en) Electronic signature system
CN107994993B (en) Application program detection method and device
CN113032837A (en) Anonymous authentication method and system for open platform
CN114519206A (en) Method for anonymously signing electronic contract and signature system
Smid et al. Response to comments on the NIST proposed Digital Signature Standard
CN111833062B (en) Credibility verification system for digital asset data packet
CN116506134B (en) Digital certificate management method, device, equipment, system and readable storage medium
CN111327423A (en) Examination and approval device and method based on ordered multiple signatures and readable storage medium
CN111064578B (en) Data security reporting method and device and computer readable storage medium
CN115550060B (en) Trusted certificate verification method, device, equipment and medium based on block chain
CN116707758A (en) Authentication method, equipment and server of trusted computing equipment
CN115118433A (en) Client authorization method and device, privacy protection set intersection calculation method and device
CN114329610A (en) Block chain privacy identity protection method, device, storage medium and system
CN114172689A (en) Information processing method and device
CN112354190A (en) Game login method and device and electronic equipment
JP6386181B2 (en) Authenticity determination system and authentication method
CN117454437B (en) Transaction processing method, storage medium and electronic device
CN111062833A (en) Signature authentication method of contract data and related device
CN110830449B (en) File processing method and device, electronic equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200623