A cross-domain authentication system and authentication method based on alliance chain
Through a cross-domain authentication system based on alliance chains, using technologies such as smart contracts, RSA accumulators and zero-knowledge proofs, single point of failure, privacy protection and resource waste in cross-domain authentication in the Internet of Things are solved, and safe and efficient cross-domain authentication and data interaction are achieved.
Patent Information
- Application Number
- CN202410929749.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-11
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2044-07-11
AI Technical Summary
The existing cross-domain authentication solutions for IoT have single point of failure risk for centralized solutions and privacy protection, identity revocation and high overhead for decentralized solutions. Most solutions require modification of the password mechanism of the original IoT domain, resulting in waste of resources.
A cross-domain authentication system based on the alliance chain is adopted, and smart contracts are stored through the alliance chain. The proxy servers of each domain form the alliance chain. The identity management agency uses the RSA accumulator to manage the cross-domain identity of the device. The allocation module allocates cross-domain identity to the device, and uses zero-knowledge proof and integer commitment design to generate anonymous identities.
It realizes cross-domain authorization without relying on trusted third parties, reduces deployment costs, reduces blockchain storage burden, protects device privacy, and improves network security and system security integrity.
Smart Images

Figure CN118972042B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a cross-domain authentication system and authentication method based on an alliance chain. Background Art
[0002] The key components of the Internet of Things include devices responsible for data collection and command execution, as well as IoT application systems that calculate and process data. However, due to the wide variety of devices and heterogeneous application systems, the Internet of Things is in a complex multi-domain environment, which requires cross-domain authentication to eliminate the trust barriers between different trust domains so that devices in multiple domains can exchange information and communicate. However, this cross-domain authentication exceeds the security control boundary of the original system and may pose a security threat to the system accessed across domains. Without a secure cross-domain authentication mechanism, the security of the entire system will be threatened.
[0003] Existing IoT cross-domain authentication solutions are mainly divided into two types: centralized and decentralized. However, the existing IoT cross-domain authentication solutions have the following problems:
[0004] (1) Centralized cross-domain authentication schemes rely on a trusted third party to issue cross-domain certificates or distribute keys, which brings pressure to distribute a large number of keys or certificates in multiple domains, and the management and deployment costs are high. In addition, the centralized architecture makes the system more vulnerable and there is a risk of single point failure. If the trusted third party encounters a failure or attack, the security and availability of the entire system will be seriously affected. Therefore, although the centralized solution simplifies the cross-domain authentication process in theory, it may bring significant operation and maintenance challenges and security risks in actual applications;
[0005] (2) The decentralized cross-domain authentication solution mainly uses blockchain technology to build a cross-domain trust platform, which has the characteristics of tamper-proof and traceability, and effectively solves the single point failure problem in the centralized solution. However, this solution still faces several challenges, including privacy protection, identity revocation, and high overhead of cross-domain authentication operations.
[0006] Most of the existing centralized and decentralized solutions are not completely cross-domain authentication solutions, and usually require modifying the original IoT domain's cryptographic mechanism, which results in a huge waste of resources. Therefore, it is necessary to improve the blockchain-based fully cross-domain authentication method to solve the IoT cross-domain authentication problem. Summary of the invention
[0007] In order to ensure the security of cross-domain authentication while reducing the deployment cost of the authentication platform, a cross-domain authentication system and authentication method based on alliance chain are provided.
[0008] In order to achieve the above-mentioned purpose of the present invention, according to the first aspect of the present invention, the present invention provides a cross-domain authentication system based on alliance chain.
[0009] The present invention provides a cross-domain authentication system based on a consortium chain, comprising at least two domains, each of which comprises an identity management agency, a proxy server and at least one device;
[0010] The proxy servers of each domain together form a consortium chain, which stores smart contracts for cross-domain authentication;
[0011] The proxy server is used to process cross-domain authentication requests;
[0012] The identity management agency is used to manage the cross-domain identity of the device in the domain through the RSA accumulator, and to verify the cross-domain identity of the device through the identity authentication algorithm of the domain where the device is located.
[0013] Optionally, a distribution module is also included.
[0014] The allocation module is used to allocate a cross-domain identity to a device in the domain, wherein the cross-domain identity is represented by a prime number, and the cross-domain identities of different devices in the same domain are represented by different prime numbers;
[0015] The RSA accumulator is used to accumulate the cross-domain identities of devices in the same domain to obtain the identity accumulation value of the devices in the domain. The identity accumulation value of each device in the domain is stored in the alliance chain, and the number and identity of the devices in each domain are determined by the identity accumulation value.
[0016] In a second aspect, in order to solve the above problem, the present invention also provides a completely cross-domain authentication method for the Internet of Things, based on the cross-domain authentication system based on the alliance chain in the first aspect, the method includes:
[0017] Device D receiving the source domain A The cross-domain authentication information sent includes a cross-domain authentication request and a collaboration request information;
[0018] The proxy server of the source domain generates a cross-domain authentication credential in response to the cross-domain authentication request, and sends the cross-domain authentication credential and the collaboration request information to the proxy server of the sharing domain;
[0019] The proxy server of the receiving sharing domain sends a request to the source domain device D A The verification result of the cross-domain identity;
[0020] When the verification result is that the verification is passed, the proxy server controlling the sharing domain determines the number of devices in the sharing domain that can be connected to the device D according to the cooperation request information. A The device for interaction is denoted as D B ;
[0021] Control device D A and device D B Perform key negotiation to achieve device D A and device D B cross-domain communication.
[0022] Optionally, the method further comprises:
[0023] Obtain the security parameter κ of each domain;
[0024] Determine the system parameter pp={G, q, g2, h2, H, H1, H2} of the domain based on the security parameter κ;
[0025] Where G is a multiplicative cyclic group of prime order q; H, H1 and H2 are hash functions; g2,h2∈G are generators;
[0026] Determine the domain's private key sk = (csk, p', q') and public key pk = (N, g1, h1, cpk) based on the security parameter κ;
[0027] p′ and q′ are prime numbers, N is the modulus of the RSA algorithm, N = p′q′;
[0028] g1,h1∈QR N is the generator; is a randomly selected secret key, cpk = csk·P:
[0029] The cross-domain identity of the device is verified based on the private key sk=(csk, p′, q′) and the public key pk=(N, g1, h1, cpk).
[0030] Optionally, the method further comprises:
[0031] Assign cross-domain identities to devices in the domain i ; The cross-domain identity is represented by a prime number, and the cross-domain identities of different devices in the same domain are represented by different prime numbers; each y i Domain device ID i Correspondingly; i is the device index in the domain;
[0032] Prime cross-domain identity y for devices in the same domain i Perform cumulative calculation to obtain the cumulative identity value Acc of each domain device Y And store it in blockchain;
[0033] Accumulated Identity Value AcC Y The calculation formula is: is the product of identities;
[0034] Compute the prime cross-domain identity y of the device in the domain i Witness value W iAnd stored in the blockchain; witness value W i To represent y i Legal identity information;
[0035] Witness value W i The calculation formula is:
[0036] Y is the set of prime cross-domain identities of all devices in the domain. "\" means not included, and j means all devices in the domain except y. i The index of the prime cross-domain identity for devices other than .
[0037] Optionally, the cross-domain authentication request is is the source domain’s identity, is the shared domain identity, yA is the device D A The prime cross-domain identity of ;
[0038] The method further comprises:
[0039] When a cross-domain authentication request is detected, the identity management agency will verify the identity of the user based on the authentication algorithm of the source domain. A Perform identity verification;
[0040] If the verification fails, the cross-domain authentication request is invalid;
[0041] If the verification is successful, based on y A Determine the device D A The commitment information {u, v, W A ,γ,t up , m}, and update the identity accumulation value Acc of the source domain Y and witness value W A ;
[0042] in, Randomly selected by the identity management agency; u and v are calculated values, u = g2 γ , is the return value, and m is randomly generated by the identity management agency; W A for y A Witness value, t up W A The time of updating to the blockchain;
[0043] The proxy server of the source domain sends the commitment information, the cross-domain authentication credential and the collaboration request information to the proxy server of the sharing domain.
[0044] Optionally, the method further comprises:
[0045] Equipment D AGenerate an anonymous identity π according to the commitment information, public key information and timestamp information;
[0046] The proxy server of the source domain sends the anonymous identity π, the commitment information, the cross-domain authentication credential and the collaboration request information to the proxy server of the sharing domain;
[0047] The proxy server of the blockchain controls the proxy server of the sharing domain to verify the legitimacy of the anonymous identity π, and receives the verification result of the anonymous identity π;
[0048] If the verification result is that the verification is passed, the cross-domain authentication request is sent to the device D A Device to be interacted with D B , device D A With device D B Perform key negotiation to achieve device D A With device D B Cross-domain interaction;
[0049] If the verification result is that the verification fails, the cross-domain authentication request is rejected.
[0050] Optionally, the device D is generated according to the commitment information, public key information and timestamp information. A The steps to anonymously identify π include:
[0051] S71: receiving commitment information, public key information and timestamp information;
[0052] Among them, the commitment information is N, cpk, g1, h1, g2, h2, h, the public key information is N, cpk, g1, h1, g2, h2, h, and the timestamp information is t;
[0053] S72: Determine device D based on commitment information and public key information A Integer commitment information and Pedersen commitment information;
[0054] The calculation formula for integer commitment information is:
[0055] The calculation formula of Pedersen commitment information is:
[0056] S73: Select a random number as a blinding factor, and generate a challenge value c based on the blinding factor, the integer commitment information, and the Pedersen commitment information;
[0057] The expression of challenge value c is
[0058] β1, β2, β3, β4, β5, and are all intermediate values,
[0059] Select r3, r4, r5, r6, r7, r3, r4, r5, r6, r7 and r8 are blinding factors, and the middle value is used to hide the randomly generated blinding factor;
[0060] in:
[0061]
[0062]
[0063] S74: Generate an anonymous identity π based on the commitment information and the challenge value;
[0064] The expression of anonymous identity π is:
[0065]
[0066] C W , C r , and All are intermediate values;
[0067] Random Selection r1, r2 are blinding factors;
[0068] C W , C r , and The calculation formula is:
[0069] Optionally, the step of the proxy server controlling the sharing domain verifying the legitimacy of the anonymous identity π includes:
[0070] The proxy server of the sharing domain verifies the timestamp information t;
[0071] The time stamp information t and the receiving time t c When the difference between them meets the preset condition, the timestamp information t is verified; otherwise, the timestamp information t is verified and fails;
[0072] Challenge value Verify the intermediate values of
[0073] When the intermediate values β1, β2, β3, β4, β5, and If all the preset conditions are met, the anonymous identity π is proved to be legitimate; otherwise, the cross-domain authentication request is rejected.
[0074] Optionally, the method further comprises:
[0075] Monitoring equipment D A Interaction behavior in the sharing domain;
[0076] When device D A When there is malicious behavior, the proxy server of the shared domain records the device D A Malicious behavior, tracking device D A and sends it to the proxy server in the source domain.
[0077] In summary, this application includes the following beneficial technical effects:
[0078] 1. Construct a cross-domain authentication system for the alliance chain, allowing each domain to adopt different password schemes. Administrators of different domains can authorize each other without relying on any trusted third party, without changing the original password system of the Internet of Things, and with low deployment costs; use RSA accumulators to manage the cross-domain identities of devices. The cross-domain authentication system does not need to store the cross-domain identities of all devices in each domain, but only stores the identity accumulation value of each device in each domain on the blockchain, thereby significantly reducing the storage burden of the blockchain; the proxy server can determine which devices exist in the domain based on the identity accumulation value, so as to facilitate the subsequent identification and management of devices in the domain;
[0079] 2. Use zero-knowledge proof, integer commitment and Pedersen commitment to generate anonymous identities for cross-domain devices, thereby protecting device privacy from being leaked, reducing replay attacks and improving network security;
[0080] 3. Monitor malicious behaviors of cross-domain devices and track the anonymous identities of malicious persons, revealing the identities of malicious devices and improving the security integrity of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0081] Figure 1 The overall framework diagram of the cross-domain authentication system based on the alliance chain provided by one embodiment of the present invention;
[0082] Figure 2 A schematic diagram of a process flow of a complete cross-domain authentication method for the Internet of Things provided by an embodiment of the present invention;
[0083] Figure 3 A flowchart of initializing common parameters and system parameters of a cross-domain authentication system provided by an embodiment of the present invention;
[0084] Figure 4 It is a schematic diagram of the process of the source domain proxy server when the device DA sends a cross-domain authentication request in one embodiment of the present invention;
[0085] Figure 5 Device D in one embodiment of the present invention A Schematic diagram of the cross-domain authentication process;
[0086] Figure 6 Device D in one embodiment of the present invention A Flow chart of the specific steps of cross-domain authentication;
[0087] Figure 7 In one embodiment of the present invention, a device D is generated according to the commitment information, the public key information and the timestamp information. A Flowchart of steps for anonymous identification;
[0088] Figure 8 A schematic diagram of a key negotiation process in an embodiment of the present invention;
[0089] Fig. 9 Schematic diagram of the anonymous identity tracking process in one embodiment of the present invention.
[0090] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0091] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and cannot be understood as limiting the present invention.
[0092] In the description of the present invention, it is necessary to understand that the terms "longitudinal", "lateral", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc., indicating the orientation or position relationship, are based on the orientation or position relationship shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present invention.
[0093] In the description of the present invention, unless otherwise specified and limited, it should be noted that the terms "installed", "connected" and "connected" should be understood in a broad sense. For example, it can be a mechanical connection or an electrical connection, or it can be the internal connection between two components. It can be a direct connection or an indirect connection through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms can be understood according to the specific circumstances.
[0094] Reference Figure 1 , provides a cross-domain authentication system based on alliance chain for an embodiment of the present invention. The cross-domain authentication system based on alliance chain includes at least two domains, each domain includes an identity management agency, a proxy server and at least one device; wherein,
[0095] In this embodiment, the devices are IoT devices, and the devices are connected through the Internet or other networks. Each device can independently perform encryption and decryption operations. The devices can communicate with other devices in the same domain, and can also perform cross-domain collaboration and data exchange with entities (proxy servers and devices) in other domains to facilitate data interaction between different devices.
[0096] The proxy server can process cross-domain authentication requests; the proxy servers in each domain together constitute a consortium chain and have storage and computing capabilities; the consortium chain stores smart contracts for cross-domain authentication, and allows devices within the domain to initiate cross-domain authentication requests, query the blockchain, and call smart contracts; all transaction records on the consortium chain are tamper-proof, traceable, and auditable.
[0097] The identity management agency is used to manage the cross-domain identity of devices in the domain through the RSA accumulator, and to verify the cross-domain identity of the device through the identity authentication algorithm of the domain where it is located; specifically, it is responsible for processing device registration, certificate issuance and key distribution, and generating the system's secret key and public key, etc.; in this embodiment, the identity management structure can use a certificate authority (CA) or a key generation center (KGC), and different domains of the cross-domain authentication system can select any one of the certificate authority or key generation center as a trusted third party, which is not limited in this embodiment.
[0098] The cross-domain authentication system also includes an allocation module, which is used to allocate cross-domain identities to devices within the domain; the cross-domain identity is represented by a prime number, and the cross-domain identity of devices in the same domain is represented by different prime numbers; the RSA accumulator is used to accumulate the cross-domain identities of all devices in the same domain to obtain the identity accumulation value of the IoT devices in the domain; the identity accumulation value of the device in each domain is stored in the alliance chain; the proxy server identifies the number and identity of the IoT devices in each domain based on the identity accumulation value of each domain.
[0099] The cross-domain authentication system does not need to store the cross-domain identities of all devices in each domain. It only stores the accumulated identity values of each device in each domain on the blockchain, which significantly reduces the storage burden of the blockchain; the proxy server can determine which devices exist in the domain based on the accumulated identity value, so as to facilitate the subsequent identification and management of devices in the domain.
[0100] Example 2
[0101] Reference Figure 2 Based on the same inventive concept, the present application proposes a completely cross-domain authentication method for the Internet of Things based on the cross-domain authentication system based on the alliance chain proposed in Example 1. In this embodiment, the completely cross-domain authentication method for the Internet of Things includes:
[0102] S1: Device D in the receiving source domain A The cross-domain authentication information sent.
[0103] Specifically, the cross-domain authentication information includes a cross-domain authentication request and a collaboration request information; the collaboration request information is a message that can characterize the device D A Access the required information; if device D A The cross-domain authentication is passed, and the proxy server of the sharing domain can parse the collaboration request information and filter out the devices in the sharing domain that meet the requirements of device D. A Access the required device to facilitate device D A Conduct cross-domain data interaction.
[0104] S2: The proxy server of the source domain generates a cross-domain authentication credential in response to the cross-domain authentication request, and sends the cross-domain authentication credential and collaboration request information to the proxy server of the sharing domain.
[0105] The proxy server of each domain monitors the status of the devices in its own domain in real time. When it detects that a device in the domain needs to interact across domains, it sends instructions to the central proxy server corresponding to the blockchain to facilitate the central proxy server corresponding to the blockchain to process the cross-domain authentication request.
[0106] Furthermore, before monitoring the devices in the domain, authentication initialization is performed through KGC. The specific steps of initializing the public parameters and system parameters of the cross-domain authentication system include:
[0107] S31: Obtain a security parameter κ for each domain.
[0108] S32: Determine the system parameters pp = {G, q, g2, h2, H, H1, H2} of the domain based on the security parameter κ;
[0109] Where G is a multiplicative cyclic group of prime order q; H, H1 and H2 are hash functions; g2, h2∈G are generators;
[0110] First, according to the given security parameter κ, a multiplicative cyclic group G of a large prime order q is constructed, and the generators g2, h2∈G are selected; then, three hash functions are defined Maps any input to a specified output, where {0, 1} l represents the specified output, l represents the output length; finally, the system parameters pp = {G, q, g2, h2, H, H1, H2} are announced.
[0111] S33: Determine the private key sk = (csk, p′, q′) and public key pk = (N, g1, h1, cpk) of the domain based on the security parameter κ;
[0112] p′ and q′ are prime numbers, N is the modulus of the RSA algorithm, RSA algorithm (Rivest Shamir Adleman Algorithm, asymmetric encryption algorithm)
[0113] N=p′q′;g1,h1∈QR N is the generator; is a randomly selected secret key, cpk = csk·P;
[0114] To facilitate understanding by those skilled in the art, the process of initializing the system parameters of KGC is described below with reference to a specific example:
[0115] For each domain, KGC generates an RSA modulus (N, p′, q′) based on the security parameter κ, N = p′q′, where p′ and q′ are both large prime numbers. Large prime numbers refer to prime numbers with large values. The value of the large prime number is related to the number of security bits of the key. The number of bits of the large prime number is determined based on the number of security bits of the key; for example, if the number of security bits is 1024 bits, the large prime number is also 1024 bits.
[0116] KGC selects generator g1,h1∈QR N , g1, h1 are rational real numbers. Then, KGC randomly selects a secret key And calculate the public key cpk=csk·P; store the private key sk=(csk, p′, q′), and publish the public key pk=(N, g1, h1, cpk) to complete the initialization of system parameters.
[0117] The cross-domain identity of the device is verified based on the private key sk=(csk, p′, q′) and the public key pk=(N, g1, h1, cpk).
[0118] Assume that the system has n domains, and the KGC of the i-th domain uses a threshold cryptographic system to distribute csk. Initially, KGC selects a polynomial of order k-1:
[0119] F(x)=S+a1x+a2x 2 +...+a k-1 x k-1 ,
[0120] in S=csk i , a1 to a k-1 are all polynomial coefficients;
[0121] Calculate csk for each domain KGC i The mask and verification value of t =F(t), t∈[1,n], the verification value is expressed as
[0122] Assume that the device that issues the cross-domain authentication request is in domain i, and the shared domain is domain t. After receiving the request, domain t calculates
[0123] If the equation is satisfied Then Joint storage locally:
[0124] The proxy server of domain t sends the data {cpk i , succ+1, Timestamp} are uploaded to the alliance chain, where “succ” indicates successful identity authentication and its initial value is 0; “Timestamp” is the timestamp;
[0125] The proxy server controlling domain t retrieves the cpk from the blockchain i The corresponding "succ" value and "Timestamp" value;
[0126] like That is to say, based on csk i If the generated secret value is responded by more than half of the domains, it is considered to be correct (csk i ,cpk i ) is valid, generated It is legal. Devices in domain i can perform cross-domain authentication and obtain cross-domain authentication credentials.
[0127] like If the authentication fails, the device in domain i will not be able to use anonymous cross-domain authentication.
[0128] Before verifying the identity of the device within the domain, the cross-domain identity of the device within the domain is also pre-processed.
[0129] First, assign a cross-domain identity y to the device in the domain. i ;
[0130] The cross-domain identity is represented by a prime number, and the cross-domain identities of different devices in the same domain are represented by different prime numbers; the set of cross-domain identities of n devices in the same domain is Y = {y1, y2, ..., y n}, each y i Domain device ID i Corresponding; i is the device index in the domain; y i It is securely transmitted to the corresponding domain device through a secure channel, so that the device in the domain can obtain its own cross-domain identity;
[0131] Prime cross-domain identity y for devices in the same domain i Perform cumulative calculation to obtain the cumulative identity value Acc of each domain device Y And store it in blockchain;
[0132] Accumulated identity value Acc Y The calculation formula is: is the product of the cross-domain identities of all devices in the domain;
[0133] Compute the prime cross-domain identity y of the device in the domain i Witness value W i And store it in the blockchain, witness value W i To represent y i Legal identity information; the proxy server can pass the witness value W i Determine the legitimacy of the device's prime cross-domain identity;
[0134] Witness value W i The calculation formula is:
[0135] Y is the set of prime cross-domain identities of all devices in the domain. "\" means not included, and j means all devices in the domain except y. i The index of the prime cross-domain identity for devices other than .
[0136] In the preferred implementation of this embodiment, in order to improve the security of cross-domain authentication, the proxy server in the source domain detects that the device D A After the cross-domain authentication request is issued, it also includes:
[0137] Authentication algorithm based on source domain A Perform identity verification;
[0138] In order to facilitate the understanding of those skilled in the art, Figure 4 Starting from the identity of the proxy server of the source domain, the steps of authentication are described:
[0139] Step 201: Device D A Send a cross-domain authentication request is the source domain’s identity, is the shared domain identity, y A For device D A The prime cross-domain identity of ;
[0140] Step 202: After receiving the request, the CA verifies y through the domain's own authentication algorithm A the legitimacy of.
[0141] If the verification is successful, the CA randomly selects For device D A Calculate u = g2 γ , in, is the return value, and m is randomly generated by the identity management agency; then the identity accumulation value AcC of the source domain is updatedY and witness value W A , and execute step 203 and step 204, W A for y A Witness value of
[0142] Step 203: Update the accumulated value Acc Y To blockchain.
[0143] Step 204: Based on y A Determine the device D A The commitment information {u, v, W A ,γ,t up ,m}
[0144] t up W A The time of updating to the blockchain;
[0145] The proxy server of the source domain sends the commitment information, the cross-domain authentication credential, and the collaboration request information to the proxy server of the sharing domain.
[0146] If y A If the legitimacy verification fails, the cross-domain authentication request is invalid and the device D is directly rejected. A Cross-domain authentication request.
[0147] S3: Receive the proxy server of the sharing domain to the source domain device D A The cross-domain identity verification result.
[0148] Specifically, after receiving the cross-domain authentication request, the proxy server of the sharing domain A Cross-domain identity for cross-domain authentication; refer to Figure 5 and Figure 6 , device D A The steps for cross-domain authentication in a shared domain are:
[0149] S61: Equipment D A Generate an anonymous identity π based on the commitment information, public key information and timestamp information;
[0150] Reference Figure 7 In this embodiment, device D A Generate a zero-knowledge proof anonymous identity π using the following method; the specific steps include:
[0151] S71: receiving commitment information, public key information and timestamp information;
[0152] Among them, the commitment information is N, cpk, g1, h1, g2, h2, h, the public key information is N, cpk, g1, h1, g2, h2, h, and the timestamp information is t;
[0153] S72: Determine device D based on commitment information and public key information A The integer commitment information C y and Pedersen Commitment Information
[0154] The calculation formula for integer commitment information is:
[0155] The calculation formula of Pedersen commitment information is:
[0156] Random Selection r1, r2 are blinding factors,
[0157] C W The calculation formula is C r The calculation formula is
[0158] C W Used to hide the witness value W i , C r Used to hide the selected blinding factors r1, r2; using the integer commitment information C y and Pedersen Commitment Information Hiding the prime cross-domain identity of the device, based on C W , C r , C y and Generate an anonymous identity for the device to protect the device's privacy from being leaked and improve the security of cross-domain authentication between devices.
[0159] S73: Select a random number as a blinding factor, and generate a challenge value c based on the blinding factor, the integer commitment information, and the Pedersen commitment information;
[0160] The expression of challenge value c is β1, β2, β3, β4, β5, and The specific calculation process is as follows:
[0161] Select r3, r4, r5, r6, r7, r3, r4, r5, r6, r7 and r8 are blinding factors, and the intermediate values β1, β2, β3, β4, β5, and Blinding factor used to hide the random generation;
[0162] in:
[0163]
[0164]
[0165] Challenge Value
[0166] S74: Generate an anonymous identity π based on the commitment information and the challenge value;
[0167] The expression of anonymous identity π is
[0168]
[0169] and All are intermediate values:
[0170]
[0171] y is the prime identity of the device;
[0172] Based on the challenge values c, C W , C r , C y , as well as and The value of generates an anonymous identity π for the device to protect the device privacy from being leaked.
[0173] S62: The proxy server of the source domain sends the anonymous identity π, the commitment information, the cross-domain authentication credential and the collaboration request information to the proxy server of the sharing domain;
[0174] S63: Control the proxy server of the sharing domain to verify the legitimacy of the anonymous identity π, and receive the verification result of the anonymous identity π;
[0175] If the verification result is verification passed, execute step S64;
[0176] If the verification result is failure, the cross-domain authentication request is rejected.
[0177] S64: The proxy server of the shared domain sends the cross-domain authentication request to the device D A Device to be interacted with D B .
[0178] Equipment D B After receiving the cross-domain authentication request, A Perform key negotiation to achieve device D A With device D B Cross-domain interaction;
[0179] The steps for the proxy server that controls the shared domain to verify the legitimacy of the anonymous identity π are specifically divided into two aspects:
[0180] First aspect:
[0181] The proxy server of the sharing domain verifies the timestamp information t;
[0182] The time stamp information t and the receiving time t c When the difference between them meets the preset condition, the timestamp information t is verified; otherwise, the timestamp information t is verified and fails;
[0183] Specifically, a time threshold Δt is preset,
[0184] The proxy server of the sharing domain verifies the timestamp information t and the receiving time t c Is the difference between them less than the preset time threshold Δt?
[0185] When the timestamp information t is equal to the receiving time t c When the difference between them is less than the preset time threshold Δt, the verification is passed, and the middle value of the anonymous identity is verified; otherwise, the verification fails; when the verification fails, the anonymous identity π of the device is rejected.
[0186] Second aspect:
[0187] Challenge value Verify the intermediate values of:
[0188] When the intermediate values β1, β2, β3, β4, β5, and If all the preset conditions are met, the anonymous identity π is proved to be legitimate; otherwise, the anonymous identity π of the device is rejected and the cross-domain authentication request is rejected.
[0189] Specifically, check And check in, Indicates whether it is equal, that is, whether the values on the left and right sides of the equation are equal;
[0190] If β1, β2, β3, β4, β5, and When the values of are equal to the values on the right side of their respective equations, the anonymous identity π of the device is verified successfully, and the sharing domain accepts the cross-domain authentication request issued by the device; otherwise, the verification fails. When the verification fails, the anonymous identity π of the device is rejected, and the cross-domain authentication request of the source domain device is rejected.
[0191] S4: When the verification result is that the verification is passed, the proxy server controlling the sharing domain determines the devices in the sharing domain that can be connected to the device D according to the cooperation request information. A The device for interaction is denoted as D B .
[0192] S5: Control device D A and device DB Perform key negotiation to achieve source domain device D A and target domain device D B cross-domain communication.
[0193] Equipment D A and device D B Can independently perform encryption and decryption operations; in this embodiment, refer to Figure 8 , device D in the source domain A And the device D sharing the domain B The specific methods for key negotiation are as follows:
[0194] Step 401: Device D B Randomly select b∈Z* and calculate verification information; the verification information includes: N ba =A b , SK=H1(N ba ), V ba =H2(SK||t ab ||t ba ); A and B represent a value on the group, t ab and t ba Indicates the occurrence time, SK is the session key, B and N ba Used to construct session keys, V ba Used to verify whether the session key is constructed correctly. "||" is a connector:
[0195] Step 402: Send verification information to device D A ;
[0196] Step 403: Device D A After receiving the verification information, first verify t ba effectiveness;
[0197] If time t occurs ba Within the validity period, device D A Calculate N ab =B a , SK′=H1(N ab ), V ab =H2(SK′‖t ab ||t ba ), a is device D A Pre-selected random number; if V ab =V ba , then the source domain device D is successfully constructed A And the device D sharing the domain B The session key between the two parties is obtained, and step 404 is executed;
[0198] Step 404: Device DA and device D B The session key SK is used for cross-domain interaction.
[0199] In another implementation of this embodiment, the cross-domain authentication method based on blockchain further includes:
[0200] Monitoring equipment D A Interaction behavior in the sharing domain;
[0201] When device D A When there is malicious behavior, the proxy server of the shared domain records the device D A Malicious behavior, tracking device D A identity, and the device D A The identity is sent to the proxy server of the source domain.
[0202] Reference Fig. 9 , for device D A The specific steps to track the identity include:
[0203] Step 501: Device D B Record device D on the blockchain through a proxy server sharing the domain A malicious behavior and initiate the identity tracking process.
[0204] Step 502: The blockchain proxy server obtains the public key cpk of source domain A A and mask m i , and the detailed information of source domain A (cpk A , m i ) is sent to the proxy server of the sharing domain;
[0205] Step 503: The proxy server of the sharing domain uses the public key cpk of the source domain A. A and mask m i Rebuild the key csk of source domain A A ;
[0206] The calculation formula is
[0207] in, is the Lagrange coefficient;
[0208] Share the domain's proxy server to recover the key csk A Verify, test Indicates whether it is equal; then restore the device D according to the following formula A The prime cross-domain identity yA.
[0209]
[0210] "m" is device D A Generate a return value of commitment information during the cross-domain authentication phase;
[0211] If the verification is successful, restore device D A The identity of D is sent to the proxy server of source domain A; the proxy server of source domain A is informed A Using anonymous identity tracking mechanisms to reveal the identity of malicious devices can improve the security integrity of the system.
[0212] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", "an implementation", "a preferred implementation" or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0213] Although the embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the claims and their equivalents.
Claims
1. A cross-domain authentication system based on alliance chain, characterized in that: The method comprises at least two domains, each domain comprising an identity management agency, a proxy server and at least one device; The proxy servers of each domain together form a consortium chain, which stores smart contracts for cross-domain authentication; The proxy server is used to process cross-domain authentication requests; The identity management agency is used to manage the cross-domain identity of the device in the domain through the RSA accumulator, and to verify the cross-domain identity of the device through the identity authentication algorithm of the domain where the device is located; The system performs the following steps: Device D receiving the source domain A The cross-domain authentication information sent includes a cross-domain authentication request and a collaboration request information; The proxy server of the source domain generates a cross-domain authentication credential in response to the cross-domain authentication request, and sends the cross-domain authentication credential and the collaboration request information to the proxy server of the sharing domain; The proxy server of the receiving sharing domain sends a request to the source domain device D A The verification result of the cross-domain identity; When the verification result is that the verification is passed, the proxy server controlling the sharing domain determines the number of devices in the sharing domain that can be connected to the device D according to the cooperation request information. A The device for interaction is denoted as D B ; Control device D A and device D B Perform key negotiation to achieve device D A and device D B Cross-domain communication; The steps performed by the system also include: Obtain the security parameter κ of each domain; Determine the system parameter pp={G, q, g2, h2, H, H1, H2} of the domain based on the security parameter κ; Where G is a multiplicative cyclic group of prime order q; H, H1 and H2 are hash functions; g2,h2∈G are generators; Determine the domain's private key sk = (csk, p', q') and public key pk = (N, g1, h1, cpk) based on the security parameter κ; p' and q' are prime numbers, N is the modulus of the RSA algorithm, N = p'q'; g1,h1∈QR N is the generator; is a randomly selected secret key, cpk = csk·P; The cross-domain identity of the device is verified based on the private key sk=(csk, p', q') and the public key pk=(N, g1, h1, cpk).
2. The cross-domain authentication system based on alliance chain according to claim 1, characterized in that: Also includes allocation module, The allocation module is used to allocate a cross-domain identity to a device in the domain, wherein the cross-domain identity is represented by a prime number, and the cross-domain identities of different devices in the same domain are represented by different prime numbers; The RSA accumulator is used to accumulate the cross-domain identities of devices in the same domain to obtain the identity accumulation value of the devices in the domain. The identity accumulation value of each device in the domain is stored in the alliance chain, and the number and identity of the devices in each domain are determined by the identity accumulation value.
3. A completely cross-domain authentication method for the Internet of Things, based on the cross-domain authentication system based on the alliance chain according to claim 1 or claim 2, characterized in that: Device D receiving the source domain A The cross-domain authentication information sent includes a cross-domain authentication request and a collaboration request information; The proxy server of the source domain generates a cross-domain authentication credential in response to the cross-domain authentication request, and sends the cross-domain authentication credential and the collaboration request information to the proxy server of the sharing domain; The proxy server of the receiving sharing domain sends a request to the source domain device D A The verification result of the cross-domain identity; When the verification result is that the verification is passed, the proxy server controlling the sharing domain determines the number of devices in the sharing domain that can be connected to the device D according to the cooperation request information. A The device for interaction is denoted as D B ; Control device D A and device D B Perform key negotiation to achieve device D A and device D B Cross-domain communication; The method further comprises: Obtain the security parameter κ of each domain; Determine the system parameter pp={G, q, g2, h2, H, H1, H2} of the domain based on the security parameter κ; Where G is a multiplicative cyclic group of prime order q; H, H1 and H2 are hash functions; g2,h2∈G are generators; Determine the domain's private key sk = (csk, p', q') and public key pk = (N, g1, h1, cpk) based on the security parameter κ; p' and q' are prime numbers, N is the modulus of the RSA algorithm, N = p'q'; g1,h1∈QR N is the generator; is a randomly selected secret key, cpk = csk·P; The cross-domain identity of the device is verified based on the private key sk=(csk, p', q') and the public key pk=(N, g1, h1, cpk).
4. The Internet of Things complete cross-domain authentication method as claimed in claim 3, characterized in that: The method further comprises: Assign cross-domain identities to devices in the domain i ; The cross-domain identity is represented by a prime number, and the cross-domain identities of different devices in the same domain are represented by different prime numbers; each y i Domain device ID i Correspondingly; i is the device index in the domain; Prime cross-domain identity y for devices in the same domain i Perform cumulative calculation to obtain the cumulative identity value Acc of each domain device Y And store it in blockchain; Accumulated identity value Acc Y The calculation formula is: is the product of identities; Compute the prime cross-domain identity y of the device in the domain i Witness value W i And stored in the blockchain; witness value W i To represent y i Legal identity information; Witness value W i The calculation formula is: Y is the set of prime cross-domain identities of all devices in the domain. "\" means not included. j means all devices in the domain except y. i The index of the prime cross-domain identity for the device outside of .
5. The Internet of Things complete cross-domain authentication method as claimed in claim 4, characterized in that: The cross-domain authentication request is is the source domain’s identity, is the shared domain identity, y A For device D A The prime cross-domain identity of ; The method further comprises: When a cross-domain authentication request is detected, the identity management agency will verify the identity of the user based on the authentication algorithm of the source domain. A Perform identity verification; If the verification fails, the cross-domain authentication request is invalid; If the verification is successful, based on y A Determine device D A The commitment information {u,v,W A ,γ,t up ,m}, and update the source domain identity accumulation value Acc Y and witness value W A ; in, Randomly selected by the identity management agency; u and v are calculated values, u = g2 γ , is the return value, and m is randomly generated by the identity management agency; W A for y A Witness value,t up W A The time of updating to the blockchain; The proxy server of the source domain sends the commitment information, the cross-domain authentication credential and the collaboration request information to the proxy server of the sharing domain.
6. The Internet of Things complete cross-domain authentication method as claimed in claim 5, characterized in that: The method further comprises: Equipment D A Generate an anonymous identity π according to the commitment information, public key information and timestamp information; The proxy server of the source domain sends the anonymous identity π, the commitment information, the cross-domain authentication credential and the collaboration request information to the proxy server of the sharing domain; The proxy server of the blockchain controls the proxy server of the sharing domain to verify the legitimacy of the anonymous identity π, and receives the verification result of the anonymous identity π; If the verification result is that the verification is passed, the cross-domain authentication request is sent to the device D A Device to be interacted with D B , device D A With device D B Perform key negotiation to achieve device D A With device D B Cross-domain interaction; If the verification result is that the verification fails, the cross-domain authentication request is rejected.
7. The Internet of Things complete cross-domain authentication method as claimed in claim 6, characterized in that: The device D is generated according to the commitment information, public key information and timestamp information A The steps to anonymously identify π include: S71: receiving commitment information, public key information and timestamp information; Among them, the commitment information is N,cpk,g1,h1,g2,h2,h, the public key information is N,cpk,g1,h1,g2,h2,h, and the timestamp information is t; S72: Determine device D based on commitment information and public key information A Integer commitment information and Pedersen commitment information; The calculation formula for integer commitment information is: The calculation formula of Pedersen commitment information is: S73: Select a random number as a blinding factor, and generate a challenge value c based on the blinding factor, the integer commitment information, and the Pedersen commitment information; The expression of challenge value c is β1, β2, β3, β4, β5, and are all intermediate values, choose r3, r4, r5, r6, r7 and r8 are blinding factors, and the middle value is used to hide the randomly generated blinding factor; in: S74: Generate an anonymous identity π based on the commitment information and the challenge value; The expression of anonymous identity π is: C W , C r , and All are intermediate values; Random Selection r1, r2 are blinding factors; C W , C r , and The calculation formula is:
8. The Internet of Things complete cross-domain authentication method as claimed in claim 7, characterized in that: The step of controlling the proxy server of the sharing domain to verify the legitimacy of the anonymous identity π includes: The proxy server of the sharing domain verifies the timestamp information t; The time stamp information t and the receiving time t c When the difference between them meets the preset condition, the timestamp information t is verified; otherwise, the timestamp information t is verified and fails; Challenge value Verify the intermediate values of When the intermediate values β1, β2, β3, β4, β5, and If all the preset conditions are met, the anonymous identity π is proved to be legitimate; otherwise, the cross-domain authentication request is rejected.
9. The Internet of Things complete cross-domain authentication method as described in any one of claims 3 to 8, characterized in that: The method further comprises: Monitoring equipment D A Interaction behavior in the sharing domain; When device D A When there is malicious behavior, the proxy server of the shared domain records the device D A Malicious behavior, tracking device D A and sends it to the proxy server in the source domain.
Citation Information
Patent Citations
Intelligent medical cross-domain authentication method based on combination of block chain and IBC
CN113259381A
Cross-domain Internet of Things equipment privacy protection authentication method based on block chain
CN116155514A