CN112769563A - Operating terminal agent authorization method and device based on multi-party calculation - Google Patents

Operating terminal agent authorization method and device based on multi-party calculation Download PDF

Info

Publication number
CN112769563A
CN112769563A CN202110005857.2A CN202110005857A CN112769563A CN 112769563 A CN112769563 A CN 112769563A CN 202110005857 A CN202110005857 A CN 202110005857A CN 112769563 A CN112769563 A CN 112769563A
Authority
CN
China
Prior art keywords
component
key
sub
server
preset
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.)
Granted
Application number
CN202110005857.2A
Other languages
Chinese (zh)
Other versions
CN112769563B (en
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.)
BEIJING CERTIFICATE AUTHORITY
Original Assignee
BEIJING CERTIFICATE AUTHORITY
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 BEIJING CERTIFICATE AUTHORITY filed Critical BEIJING CERTIFICATE AUTHORITY
Priority to CN202110005857.2A priority Critical patent/CN112769563B/en
Publication of CN112769563A publication Critical patent/CN112769563A/en
Application granted granted Critical
Publication of CN112769563B publication Critical patent/CN112769563B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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

The embodiment of the application provides an operating terminal agent authorization method and device based on multi-party computing, and relates to the technical field of encryption, wherein the method comprises the following steps: performing multi-party calculation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component; performing multi-party calculation on the first key component to obtain a first sub-component and a second sub-component; sending the second sub-component to the operation end so that the operation end generates an intermediate key component according to a preset operation end key and the second sub-component, and sending the intermediate key component to the server end; sending the first sub-component to the server so that the server generates a server key according to the second key component, the first sub-component and the intermediate key component; and the operation end key is matched with the service end key. Therefore, the implementation of the implementation mode can improve the key authorization method, so that the key authorization of the operation terminal agent can be more flexibly carried out on the premise of ensuring the safety.

Description

Operating terminal agent authorization method and device based on multi-party calculation
Technical Field
The application relates to the technical field of password encryption, in particular to an operating terminal agent authorization method and device based on multi-party computing.
Background
At present, in business scenes such as e-commerce and e-government affairs, an electronic signature system is generally used to perform electronic signatures required by businesses so as to meet the requirements of security and compliance. However, in practice, it is found that the current electronic signature system needs to constantly depend on a server, a manager and an operator to perform three-terminal encryption interaction, so that the efficiency of the overall signature is influenced to a certain extent, and the flexibility of the overall signature is reduced.
Disclosure of Invention
An object of the embodiments of the present application is to provide an operation side agent authorization method and apparatus based on multi-party computation, which can improve an authorization method of a key, thereby improving the efficiency of overall signature to a certain extent, and further, can more flexibly perform key authorization of an operation side agent on the premise of ensuring security.
A first aspect of an embodiment of the present application provides an operation side agent authorization method based on multi-party computing, including:
performing multi-party calculation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component;
performing multi-party calculation on the first key component to obtain a first sub-component and a second sub-component;
sending the second sub-component to an operation end, so that the operation end generates an intermediate key component according to a preset operation end key and the second sub-component, and sending the intermediate key component to a server end;
sending the first sub-component to the server, so that the server generates a server key according to the second key component, the first sub-component and the intermediate key component; and the operation end key is matched with the service end key.
In the implementation process, the method can preferentially obtain two key components of the management end and the service end through multi-party calculation, and then continuously calculate the first sub-component and the second sub-component according to the key components of the management end; after the first sub-component and the second sub-component are obtained, the method can also send the first sub-component to the operation end, so that the operation end can process according to the key of the operation end and the first sub-component, and send back the processing result, and the method can further generate a server-side key corresponding to the operation end according to the processing result and the second sub-component. Therefore, by implementing the implementation mode, the intervention of the management terminal can be avoided in the subsequent use process, so that the operation terminal and the server terminal can directly interact, the encryption requirement can be met, and the key authorization of the operation terminal proxy can be more flexibly carried out on the premise of ensuring the safety.
Further, the step of sending the second sub-component to the operation end includes:
sending the second sub-component to an operation end through a second communication channel;
the step of sending the first subcomponent to the server includes:
and sending the first sub-component to the server through a first communication channel.
In the implementation process, the method can improve the security of the whole key authorization through different communication channels, even different communication modes and data transmission of the novel first sub-component and the novel second sub-component.
Further, the step of performing multi-party calculation on the first key component to obtain a first sub-component and a second sub-component includes:
acquiring the order of a curve base point included by the preset elliptic curve parameters;
generating a random integer according to the order number of the curve base point;
calculating according to a preset first calculation formula, the random integer, the first key component and the order of the curve base point to obtain a first sub-component;
and calculating according to a preset second calculation formula, the random integer, the first key component and the order of the curve base point to obtain a second sub-component.
In the implementation process, the method can determine the order of a curve base point of an elliptic curve parameter according to an SM2 elliptic curve public key cryptographic algorithm, determine a random integer by using a random number algorithm, and then calculate according to the parameter to obtain a first sub-component and a second sub-component, thereby ensuring the stability and the safety of the acquisition of the sub-components.
Further, the step of generating a server-side key according to the second key component, the first sub-component, and the intermediate key component includes:
generating a server-side key according to a preset fourth calculation formula, the second key component, the first sub-component, the middle key component and the curve base point order, and calculating to obtain a server-side key; wherein the fourth calculation formula is:
v=b*γ*β-1mod n
v is the server side key;
b is the second key component;
γ is the intermediate key component;
β is the first subcomponent;
n is the order of the curve base point.
In the implementation process, the method can accurately determine the secret key of the server through the formula, so that the method is favorable for efficiently and safely executing the subsequent signature process.
Further, the step of generating an intermediate key component according to a preset operation end key and the second sub-component includes:
calculating according to a preset third calculation formula, a preset operation end key and the second sub-component to obtain an intermediate key component; wherein the third calculation formula is:
γ ═ w ═ δ or γ ═ w-1*δ;
γ is the intermediate key component;
w is the operation end key;
δ is the second sub-component.
In the implementation process, the method can determine the intermediate key component through different formulas, so that the method can select a more appropriate intermediate key component according to the actual situation, and the applicability of encrypting the signature process is improved.
A second aspect of the embodiments of the present application provides an operation-side proxy authorization apparatus based on multi-party computing, where the operation-side proxy authorization apparatus based on multi-party computing includes:
the first multi-party computing unit is used for carrying out multi-party computation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component;
the second multi-party calculation unit is used for carrying out multi-party calculation on the first key component to obtain a first sub-component and a second sub-component;
a second sending unit, configured to send the second sub-component to an operation end, so that the operation end generates an intermediate key component according to a preset operation end key and the second sub-component, and sends the intermediate key component to a server;
a first sending unit, configured to send the first sub-component to the server, so that the server generates a server key according to the second key component, the first sub-component, and the intermediate key component; and the operation end key is matched with the service end key.
In the implementation process, the device can avoid the intervention of the management terminal in the subsequent use process, so that the operation terminal and the server terminal can directly interact, the encryption requirement can be met, and the key authorization of the operation terminal agent can be more flexibly performed on the premise of ensuring safety.
Further, the second sending unit is specifically configured to send the second sub-component to an operation end through a second communication channel;
the first sending unit is specifically configured to send the first sub-component to the server through a first communication channel.
In the implementation process, the device can transmit data through different communication channels, even different communication modes and the novel first sub-component and the novel second sub-component, so that the security of the whole key authorization is improved.
Further, the second multi-party computing unit includes:
the acquisition subunit is used for acquiring the order of a curve base point included by the preset elliptic curve parameter;
the generating subunit is used for generating a random integer according to the order of the curve base point;
the calculation subunit is configured to perform calculation according to a preset first calculation formula, the random integer, the first key component, and the curve base point order to obtain a first sub-component;
and the calculating subunit is further configured to calculate according to a preset second calculation formula, the random integer, the first key component, and the curve base point order to obtain a second sub-component.
In the implementation process, the device can determine the order of a curve base point of an elliptic curve parameter according to an SM2 elliptic curve public key cryptographic algorithm, determine a random integer by using a random number algorithm, and then calculate according to the parameter to obtain a first sub-component and a second sub-component, so that the stability and the safety of obtaining the sub-components are ensured.
A third aspect of the embodiments of the present application provides an electronic device, including a memory and a processor, where the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to execute the method for operating-side agent authorization based on multi-party computing according to any one of the first aspect of the embodiments of the present application.
A fourth aspect of the present embodiment provides a computer-readable storage medium, which stores computer program instructions, where the computer program instructions, when read and executed by a processor, perform the method for authorizing an agent at an operation end based on multi-party computing according to any one of the first aspect of the present embodiment.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and that those skilled in the art can also obtain other related drawings based on the drawings without inventive efforts.
Fig. 1 is a schematic flowchart of an operating side agent authorization method based on multi-party computing according to an embodiment of the present application;
fig. 2 is a schematic flowchart of another operating-side agent authorization method based on multi-party computing according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of an operating side agent authorization apparatus based on multi-party computing according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of another operating side agent authorization apparatus based on multi-party computing according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
Example 1
Referring to fig. 1, fig. 1 is a flowchart illustrating an operation-side agent authorization method based on multi-party computing according to an embodiment of the present disclosure. The operating terminal agent authorization method based on multi-party calculation comprises the following steps:
s101, performing multi-party calculation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component.
In this embodiment, the public key cryptographic algorithm may be an SM2 elliptic curve public key cryptographic algorithm, an RSA algorithm, or any other elliptic curve algorithm.
In this embodiment, the first key component and the second key component may be calculated to obtain the signing key, and the operation side key and the service side key may also be calculated to obtain the signing key. In practice, however, the first key component is stored in the management side, and the second key component is stored in the service side, and it can be seen that the first key component and the second key component may be obtained by performing multi-party calculation in advance according to the signing key, or may be directly stored in the management side and the service side.
In this embodiment, the signature key pair of the user is obtained by negotiating a first key component and a second key component by using a key negotiation mechanism, where the first key component and the second key component are stored in the management end and the service end, a public key obtained by negotiation is used as a user signature public key, and a user signature private key exists by being divided into two parts, namely, the first key component and the second key at any time, and a complete private key does not appear in any processing procedure and transmission procedure.
In this embodiment, the first key component may be denoted as a, and the second key component may be denoted as b.
In this embodiment, this step may be understood as a first cooperation process performed according to a preset signing key.
In this embodiment, the coordination mechanism used in the first coordination process described in this step and the key authorization mechanism used in the subsequent step are both the same coordination mechanism.
In this embodiment, the coordination mechanism used in the first coordination process may be one of addition and multiplication, and the coordination processes (or multi-party calculation processes) thereafter are all consistent with the coordination mechanism applied in the first coordination process. If the cooperation mechanisms used in multiple cooperation processes (i.e. multi-party calculation process, also understood as key authorization process) are different, the method cannot complete the cooperation.
In this embodiment, the method may assign a predetermined signing key [ i.e., the enterprise signing key pair (d, P) ]]Division into a first key component [ i.e., a key pair (a, A) held by an enterprise key administrator ]]And a second key component [ i.e., a key pair (B, B) held by the cloud signature service ]]. So that the first key component and the second key component can satisfy the formula a b ═ 1+ d-1P=(a*b)-1G-G or formula a + b ═ 1+ d)-1,P=(a+b)-1G-G. Thereby enabling this step to comply with the requirements of GB/T32918 for checking keys.
S102, performing multi-party calculation on the first key component to obtain a first sub-component and a second sub-component.
In this embodiment, the method may perform calculation processing on the first key component a in a multi-party calculation manner, so as to obtain two subcomponents capable of calculating the original key component.
In this embodiment, the first sub-component may be represented by β, and the second sub-component may be represented by δ.
S103, sending the second sub-component to the operation end so that the operation end generates an intermediate key component according to a preset operation end key and the second sub-component, and sending the intermediate key component to the server end.
In this embodiment, the intermediate key component may be represented by γ.
S104, sending the first sub-component to the server side so that the server side generates a server side key according to the second key component, the first sub-component and the middle key component; and the operation end key is matched with the service end key.
In this embodiment, the server-side key may be denoted by v.
In this embodiment, the first key component and the second key component may be calculated to obtain a signature key; the operator side key and the server side key can also obtain a signature key through the calculation. Therefore, the operator side key and the server side key can be obtained by processing the signature key.
In this embodiment, the public key and the private key are usually present in the form of a key pair, where the public key is usually used to encrypt the session key, verify the digital signature, or encrypt data that can be decrypted with the corresponding private key.
In this embodiment, the signature keys correspond to the same public key.
In the embodiment of the present application, the execution subject of the method may be a computing device such as a computer and a server, and is not limited in this embodiment.
In this embodiment, an execution subject of the method may also be an intelligent device such as a smart phone and a tablet computer, which is not limited in this embodiment.
For example, when the user uses the operation terminal to perform an operation of electronic signature, enterprise signature, or electronic signature, the authorization of the management terminal can be preferentially obtained, thereby facilitating the operation.
In this embodiment, the management end can adjust the authorization policy at any time, thereby achieving the effect of flexibly regulating and controlling the authorization condition.
It can be seen that, by implementing the operating side agent authorization method based on multi-party computing described in this embodiment, two key components of the management side and the service side can be preferentially obtained through multi-party computing, and then, the first sub-component and the second sub-component are obtained by continuing computing according to the key component of the management side; after the first sub-component and the second sub-component are obtained, the method can also send the first sub-component to the operation end, so that the operation end can process according to the key of the operation end and the first sub-component, and send back the processing result, and the method can further generate a server-side key corresponding to the operation end according to the processing result and the second sub-component. Therefore, by implementing the implementation mode, the intervention of the management terminal can be avoided in the subsequent use process, so that the operation terminal and the service terminal can directly interact, the encryption requirement can be met, and the key authorization can be more flexibly carried out on the premise of ensuring the safety.
Example 2
Referring to fig. 2, fig. 2 is a schematic flowchart of an operating side agent authorization method based on multi-party computing according to an embodiment of the present application. As shown in fig. 2, the method for authorizing the operator agent based on multi-party computing includes:
s201, performing multi-party calculation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component.
In this embodiment, the public key cryptographic algorithm may be an SM2 elliptic curve public key cryptographic algorithm.
S202, acquiring the order of a curve base point included in the preset elliptic curve parameters.
In this embodiment, this step may follow the curve parameters defined in GB/T32918, and obtain the curve parameters including the curve base point G, the step n (i.e., the order of the curve base point), and the multiple points defined on the SM2 curve.
And S203, generating a random integer according to the order of the curve base point.
In this example, the process generates a random integer r ∈ [1, n-2 ].
And S204, calculating according to a preset first calculation formula, a random integer, a first key component and a curve base point order to obtain a first sub-component.
In this embodiment, the first sub-component δ may be represented by the formula: δ is calculated as r × a mod n, a being the first key component.
And S205, calculating according to a preset second calculation formula, a random integer, the first key component and the order of the curve base point to obtain a second sub-component.
In this embodiment, the second sub-component β may be represented by the formula: β ═ r was calculated.
In this embodiment, the method may further include, by a formula: a ═ beta-1δ is calculated to give a.
In this embodiment, the first sub-component δ may be further represented by the formula: δ ═ r × a mod n is calculated; the second sub-component β may also be represented by the formula: beta-r-1A mod n. Thus, by the formula: a is2Calculation was performed as β δ to obtain a.
In this embodiment, the calculation formula of the first sub-component δ may also be δ ═ a + r; the calculation formula of the second sub-component β may also be β ═ r. In this mode, a ═ δ — β.
In this embodiment, the calculation formula of the first sub-component δ may also be δ ═ a + r; the formula for calculating the second subcomponent β may also be β -a-r. In this embodiment, a is (δ + β)/2.
And S206, sending the second sub-component to the operation end so that the operation end performs calculation according to a preset third calculation formula, a preset operation end key and the second sub-component to obtain an intermediate key component, and sending the intermediate key component to the service end.
In this embodiment, the preset operation-side key is w, and w may be an integer generated by a random number generator. Wherein w is epsilon [1, n-2 ].
In this embodiment, the third calculation formula is:
γ ═ w ═ δ or γ ═ w-1*δ;
Gamma is the intermediate key component;
w is an operation end key;
δ is the second sub-component.
S207, sending the first sub-component to the server, so that the server generates a server key according to a preset fourth calculation formula, a second key component, the first sub-component, a middle key component and a curve base point order, and calculates to obtain a server key; and the operation end key is matched with the service end key.
In this embodiment, the fourth calculation formula is:
v=b*γ*β-1mod n
v is a server side key;
b is a second key component;
gamma is the intermediate key component;
β is a first subcomponent;
n is the order of the curve base point.
In this embodiment, when sending the intermediate key component γ to the server, the method may use a secure communication channel, any encryption technique, or an identity authentication technique to send data.
As an optional implementation, the method further comprises:
when a signature request sent by an operation end is received, signature authorization information is sent so that the operation end carries out signature operation; the signature request is generated according to the operator key.
As an optional implementation manner, the step of sending the second sub-component to the operation end includes:
sending the second sub-component to the operation terminal through a second communication channel;
the step of sending the first sub-component to the server includes:
and sending the first sub-component to the server through the first communication channel.
In this embodiment, a communication channel between the management side (i.e., the execution main body) and the operation side may be different from a communication channel between the management side and the service side.
In this embodiment, before the communication process, the data may be preferentially encrypted for security.
For example, the first sub-component in the method may be sent to the server via a network or the internet; the second sub-component can be sent to the operation end through a short-distance network and a face-to-face two-dimensional code communication mode. When the face-to-face two-dimensional code communication mode is adopted, the method can also encrypt the transmission data by using a password derived key mode.
In this embodiment, if the communication channels used by the first subcomponent and the second subcomponent are the same, that is, both subcomponents use networks for communication, the method may encrypt data sent to the server using the server key or the public key certificate, and encrypt data sent to the operator using the operator key or the public key certificate.
In this embodiment, the above communication may be encrypted communication using a one-time password.
It can be seen that, by implementing the operating side agent authorization method based on multi-party computing described in this embodiment, the intervention of the management side can be avoided in the subsequent use process, so that the operating side and the server side can directly interact with each other, the encryption requirement can be met, and further, the operating side agent authorization based on multi-party computing can be more flexibly performed on the premise of ensuring the security.
Example 3
Referring to fig. 3, fig. 3 is a schematic structural diagram of an operating side agent authorization apparatus based on multi-party computing according to an embodiment of the present application. As shown in fig. 3, the multi-party computing based operator agent authorization apparatus includes:
the first multiparty calculation unit 310 is configured to perform multiparty calculation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component;
the second multi-party calculating unit 320 is configured to perform multi-party calculation on the first key component to obtain a first sub-component and a second sub-component;
a second sending unit 330, configured to send the second sub-component to the operation end, so that the operation end generates an intermediate key component according to a preset operation end key and the second sub-component, and sends the intermediate key component to the server end;
a first sending unit 340, configured to send the first sub-component to the server, so that the server generates a server key according to the second key component, the first sub-component, and the intermediate key component; and the operation end key is matched with the service end key.
In the embodiment of the present application, for the explanation of the operating side proxy authorization apparatus based on multi-party calculation, reference may be made to the description in embodiment 1 or embodiment 2, and details are not repeated in this embodiment.
It can be seen that, the operating end proxy authorization apparatus based on multi-party computing described in this embodiment can avoid the intervention of the management end in the subsequent use process, so that the operating end and the server end can directly interact with each other, and the encryption requirement can be met, and further, on the premise of ensuring safety, key authorization can be performed more flexibly.
Example 4
Referring to fig. 4, fig. 4 is a schematic structural diagram of an operating side proxy authorization apparatus based on multi-party computing according to an embodiment of the present disclosure. The multi-party computation-based operator agent authorization apparatus shown in fig. 4 is optimized by the multi-party computation-based operator agent authorization apparatus shown in fig. 3. As shown in fig. 4, the second sending unit 330 is specifically configured to send the second sub-component to the operation end through the second communication channel;
the first sending unit 340 is specifically configured to send the first sub-component to the server through the first communication channel.
As an alternative embodiment, the second multi-party computing unit 320 includes:
an obtaining subunit 321, configured to obtain a base point order of a curve included in a preset elliptic curve parameter;
a generating subunit 322, configured to generate a random integer according to the order of the curve base point;
the calculation subunit 323 is configured to calculate according to a preset first calculation formula, a random integer, a first key component, and a curve base point order, to obtain a first sub-component;
the calculating subunit 323 is further configured to perform calculation according to a preset second calculation formula, a random integer, the first key component, and the order of the curve base point to obtain a second sub-component.
As an optional implementation manner, the sending unit 330 is specifically configured to send the second sub-component to the operation end, so that the operation end performs calculation according to a preset third calculation formula, a preset operation end key, and the second sub-component to obtain an intermediate key component; wherein the third calculation formula is:
γ ═ w ═ δ or γ ═ w-1*δ;
Gamma is the intermediate key component;
w is an operation end key;
δ is the second sub-component.
As an optional implementation manner, the generating unit 340 is specifically configured to generate a server-side key according to a preset fourth calculation formula, a second key component, a first sub-component, an intermediate key component, and a curve base point order, and perform calculation to obtain the server-side key; wherein the fourth calculation formula is:
v=b*γ*β-1mod n
v is a server side key;
b is a second key component;
gamma is the intermediate key component;
β is a first subcomponent;
n is the order of the curve base point.
In the embodiment of the present application, for the explanation of the operating side proxy authorization apparatus based on multi-party calculation, reference may be made to the description in embodiment 1 or embodiment 2, and details are not repeated in this embodiment.
It can be seen that, the operating end proxy authorization apparatus based on multi-party computing described in this embodiment can avoid the intervention of the management end in the subsequent use process, so that the operating end and the server end can directly interact with each other, and the encryption requirement can be met, and further, on the premise of ensuring safety, key authorization can be performed more flexibly.
Example 5
The embodiment describes an operating end agent authorization method based on multi-party calculation and taking the SM2 elliptic curve algorithm defined in GB/T32918 as a core. In the method, each operation step can be implemented as described in the embodiment. This method can be implemented by always following the curve parameters defined in GB/T32918, which include the curve base point G, the step n, and the multiple points and the point addition (subtraction) calculation rule defined on the SM2 curve. This kind of realization includes:
a) first time coordination process
In this embodiment, the first cooperation process is equivalent to "performing multiparty calculation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component".
In this embodiment, the first cooperation process may refer to an SM2 threshold signature method, perform cooperation calculation using an elliptic curve multiple point mechanism, and enable the key pair (a, a) held by the management end and the key pair (B, B) held by the service end to satisfy a ═ B ═ 1+ d)-1,P=(a*b)-1G-G。
In this embodiment, the process may also be implemented by selecting an elliptic curve point adding mode, which is not described in this embodiment.
In this embodiment, the method may further enable the key pair (a, a) held by the management end and the key pair (B, B) held by the service end to satisfy a + B ═ 1+ d)-1,P=(a+b)-1G-G。
In this embodiment, in both the process of generating the respective key pair and the process of this cooperation, the method needs to check whether the key pair meets the requirement of checking the key in GB/T32918.
b) Second collaboration process
In this embodiment, if the first cooperation process adopts a multi-point cooperation manner, the second cooperation process may be implemented by processes G1 through G4, where processes G1 through G4 are all used to implement the functions required by the respective parts. The contents of process G1 through process G4 are as follows:
(1) process G1
In this embodiment, the process G1 is equivalent to a step of "performing multi-party calculation on the first key component to obtain a first sub-component and a second sub-component".
In this embodiment, the process may split one key component into two key components that can be combined to calculate the original key component worth of data, for example:
inputting: a first key component a;
the process is as follows:
generating an integer r from [1, n-2] by using a random number generator;
calculating a first sub-component δ: δ ═ r a mod n;
let the second sub-component β: β ═ r;
and (3) outputting: β, δ.
In the present embodiment, the process G1 obtains two data δ and β, and may also calculate a ═ β-1Delta is calculated to a or other similar method. But also multiple points, another procedure is:
generating an integer r by using a random number generator;
calculating delta-r a mod n;
calculating beta-r-1*a mod n;
Thus, a can be calculated as well2β δ, and a is calculated.
In this embodiment, if the first cooperation process is an additive division method, the division may be performed as follows:
generating an integer r by using a random number generator;
calculating delta as a + r;
calculating beta as r; .
In this embodiment, the process can also be calculated by a ═ δ — β, as follows:
generating an integer r by using a random number generator;
calculating delta as a + r;
calculating beta-a-r.
In this embodiment, the process may also be calculated using a ═ δ + β)/2.
(2) Process G2
In this embodiment, the process G2 may be implemented as follows:
inputting: none;
the process is as follows: generating an integer w ∈ [1, n-2] by using a random number generator;
and (3) outputting: w.
In this embodiment, w is the operation side key described in the above embodiments.
(3) Process G3
In this embodiment, the process G3 may be implemented as follows:
inputting: w, δ;
the process is as follows: gamma-w-1*δ;
And (3) outputting: and gamma.
In this embodiment, γ is the intermediate key component.
In this embodiment, γ obtained in the process G3 can be calculated by using a variety of calculation methods, such as γ ═ w × δ or γ ═ w ═ δ-1δ. WhereinThe subsequent processing needs to be realized by adopting a calculation mode corresponding to the calculation method used in the subsequent processing.
(4) Process G4
In this embodiment, the process G4 may be implemented as follows:
inputting: b, β, γ;
the process is as follows: v ═ b ═ γ ═ β-1mod n;
And (3) outputting: v.
In this embodiment, v is the server-side key described above.
In the present embodiment, the implementation of the process G4 is related to the implementation of the processes G1 through G3. Wherein if the process G1 adopts addition division instead of multiplication division, the process G4 should perform the operation corresponding to the addition division; if the process G1 employs multiplicative splitting rather than additive splitting, then the process G4 should perform the operation corresponding to multiplicative splitting; if the server does not combine b and β, γ into one data to save, calculate, or only combine two data, the procedure G4 should be adjusted accordingly.
In this embodiment, after the processes G1 to G4 are completed, the operation side holds the operation side key w, the service side holds the service side key v, and the keys of the two sides satisfy (w + v) ═ 1+ d)-1
In this embodiment, when an enterprise electronic signature operation is required, it is first determined whether an administrator side authorization exists, and after the authorization is correct, a preset mode is used to implement digital signature.
In this embodiment, since the method employs cooperation performed by elliptic curve point addition, the signature method should also employ a matching cooperative signature method.
An embodiment of the present application provides an electronic device, including a memory and a processor, where the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to execute the operating side agent authorization method based on multi-party computing according to any one of embodiment 1 or embodiment 2 of the present application.
An embodiment of the present application provides a computer-readable storage medium, which stores computer program instructions, and when the computer program instructions are read and executed by a processor, the method for operating side agent authorization based on multi-party computing according to any one of embodiment 1 or embodiment 2 of the present application is executed.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only an example of the present application and is not intended to limit the scope of the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, 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 identical elements in a process, method, article, or apparatus that comprises the element.

Claims (10)

1. An operating side agent authorization method based on multi-party computing is characterized by comprising the following steps:
performing multi-party calculation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component;
performing multi-party calculation on the first key component to obtain a first sub-component and a second sub-component;
sending the second sub-component to an operation end, so that the operation end generates an intermediate key component according to a preset operation end key and the second sub-component, and sending the intermediate key component to a server end;
sending the first sub-component to the server, so that the server generates a server key according to the second key component, the first sub-component and the intermediate key component; and the operation end key is matched with the service end key.
2. The multi-party computing-based agent authorization method for the operation end according to claim 1, wherein the step of sending the second sub-component to the operation end comprises:
sending the second sub-component to an operation end through a second communication channel;
the step of sending the first subcomponent to the server includes:
and sending the first sub-component to the server through a first communication channel.
3. The multi-party computing-based operator agent authorization method according to claim 1, wherein the step of performing multi-party computing on the first key component to obtain a first sub-component and a second sub-component comprises:
acquiring the order of a curve base point included by the preset elliptic curve parameters;
generating a random integer according to the order number of the curve base point;
calculating according to a preset first calculation formula, the random integer, the first key component and the order of the curve base point to obtain a first sub-component;
and calculating according to a preset second calculation formula, the random integer, the first key component and the order of the curve base point to obtain a second sub-component.
4. The multi-party computing-based operator agent authorization method according to claim 3, wherein the step of generating a server-side key according to the second key component, the first sub-component and the intermediate key component comprises:
generating a server-side key according to a preset fourth calculation formula, the second key component, the first sub-component, the middle key component and the curve base point order, and calculating to obtain a server-side key; wherein the fourth calculation formula is:
v=b*γ*β-1mod n
v is the server side key;
b is the second key component;
γ is the intermediate key component;
β is the first subcomponent;
n is the order of the curve base point.
5. The multi-party computing-based operator agent authorization method according to claim 1, wherein the step of generating an intermediate key component according to a preset operator key and the second sub-component comprises:
calculating according to a preset third calculation formula, a preset operation end key and the second sub-component to obtain an intermediate key component; wherein the third calculation formula is:
γ ═ w ═ δ or γ ═ w-1*δ;
γ is the intermediate key component;
w is the operation end key;
δ is the second sub-component.
6. An operation terminal agent authorization device based on multi-party computing, characterized in that the operation terminal agent authorization device based on multi-party computing comprises:
the first multi-party computing unit is used for carrying out multi-party computation on a preset signature key according to a preset public key cryptographic algorithm to obtain a first key component and a second key component;
the second multi-party calculation unit is used for carrying out multi-party calculation on the first key component to obtain a first sub-component and a second sub-component;
a second sending unit, configured to send the second sub-component to an operation end, so that the operation end generates an intermediate key component according to a preset operation end key and the second sub-component, and sends the intermediate key component to a server;
a first sending unit, configured to send the first sub-component to the server, so that the server generates a server key according to the second key component, the first sub-component, and the intermediate key component; and the operation end key is matched with the service end key.
7. The multi-party-computation-based agent authorization apparatus of an operation end according to claim 6, wherein the second sending unit is specifically configured to send the second subcomponent to the operation end through a second communication channel;
the first sending unit is specifically configured to send the first sub-component to the server through a first communication channel.
8. The multi-party computing based operator agent authorization device according to claim 6, characterized in that the second multi-party computing unit comprises:
the acquisition subunit is used for acquiring the order of a curve base point included by the preset elliptic curve parameter;
the generating subunit is used for generating a random integer according to the order of the curve base point;
the calculation subunit is configured to perform calculation according to a preset first calculation formula, the random integer, the first key component, and the curve base point order to obtain a first sub-component;
the calculating subunit is further configured to calculate according to a preset second calculation formula, the random integer, the first key component, and the curve base point order, so as to obtain a second sub-component.
9. An electronic device, characterized in that the electronic device comprises a memory for storing a computer program and a processor for executing the computer program to cause the electronic device to perform the multi-party computing based operator agent authorization method according to any of claims 1 to 5.
10. A readable storage medium, wherein computer program instructions are stored, and when read and executed by a processor, perform the multi-party computing based operation end agent authorization method according to any one of claims 1 to 5.
CN202110005857.2A 2021-01-04 2021-01-04 Operating terminal agent authorization method and device based on multi-party calculation Active CN112769563B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110005857.2A CN112769563B (en) 2021-01-04 2021-01-04 Operating terminal agent authorization method and device based on multi-party calculation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110005857.2A CN112769563B (en) 2021-01-04 2021-01-04 Operating terminal agent authorization method and device based on multi-party calculation

Publications (2)

Publication Number Publication Date
CN112769563A true CN112769563A (en) 2021-05-07
CN112769563B CN112769563B (en) 2022-10-11

Family

ID=75699206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110005857.2A Active CN112769563B (en) 2021-01-04 2021-01-04 Operating terminal agent authorization method and device based on multi-party calculation

Country Status (1)

Country Link
CN (1) CN112769563B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938604A (en) * 2023-09-18 2023-10-24 深圳市上融科技有限公司 Multi-party-based electronic signature system, method and process

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109936455A (en) * 2017-12-19 2019-06-25 航天信息股份有限公司 A kind of methods, devices and systems of digital signature
CN110601838A (en) * 2019-10-24 2019-12-20 国网山东省电力公司信息通信公司 Identity authentication method, device and system based on quantum key
US20200252382A1 (en) * 2019-01-31 2020-08-06 Salesforce.Com, Inc. User authentication using multi-party computation and public key cryptography
US20200389304A1 (en) * 2017-08-31 2020-12-10 Visa International Service Association Single node multi-party encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200389304A1 (en) * 2017-08-31 2020-12-10 Visa International Service Association Single node multi-party encryption
CN109936455A (en) * 2017-12-19 2019-06-25 航天信息股份有限公司 A kind of methods, devices and systems of digital signature
US20200252382A1 (en) * 2019-01-31 2020-08-06 Salesforce.Com, Inc. User authentication using multi-party computation and public key cryptography
CN110601838A (en) * 2019-10-24 2019-12-20 国网山东省电力公司信息通信公司 Identity authentication method, device and system based on quantum key

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯琦等: "移动互联网环境下轻量级SM2两方协同签名", 《计算机研究与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938604A (en) * 2023-09-18 2023-10-24 深圳市上融科技有限公司 Multi-party-based electronic signature system, method and process
CN116938604B (en) * 2023-09-18 2023-11-28 深圳市上融科技有限公司 Multi-party-based electronic signature system and method

Also Published As

Publication number Publication date
CN112769563B (en) 2022-10-11

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
CN108352015B (en) Secure multi-party loss-resistant storage and encryption key transfer for blockchain based systems in conjunction with wallet management systems
Yuan et al. Efficient public integrity checking for cloud data sharing with multi-user modification
US8331568B2 (en) Efficient distribution of computation in key agreement
CN106664202B (en) Method, system and computer readable medium for providing encryption on multiple devices
CN111049650B (en) SM2 algorithm-based collaborative decryption method, device, system and medium
CN110166239B (en) User private key generation method and system, readable storage medium and electronic device
KR101574030B1 (en) Secure group messaging
US8429408B2 (en) Masking the output of random number generators in key generation protocols
CA2855099C (en) Key agreement protocol for generating a shared secret key for use by a pair of entities in a data communication system
CN111130804B (en) SM2 algorithm-based collaborative signature method, device, system and medium
US20110022856A1 (en) Key Protectors Based On Public Keys
US8594332B2 (en) Key generating apparatus, encrypting apparatus and decrypting appatatus
CN107360002B (en) Application method of digital certificate
CN108199847B (en) Digital security processing method, computer device, and storage medium
CN112906038B (en) Thresholding processing method, device and equipment based on SM9 key and storage medium
WO2019110399A1 (en) Two-party signature device and method
US20160352689A1 (en) Key agreement protocol
CN112769563B (en) Operating terminal agent authorization method and device based on multi-party calculation
Jannati et al. An improved authentication protocol for distributed mobile cloud computing services
WO2020042023A1 (en) Instant messaging data encryption method and apparatus
US8484471B2 (en) Multi-party distributed multiplication device, multi-party distributed multiplication system and method
Esiner et al. Two-factor authentication for trusted third party free dispersed storage
CN112835554B (en) Random number generation, regeneration and tracking method based on non-uniform random source in group and electronic device
CN114448640A (en) Double-blind information distribution method and device and computer 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
GR01 Patent grant
GR01 Patent grant