A privacy-protected multi-factor fault-tolerant authentication method and system
Through the multi-factor fault-tolerant authentication method and XOR filter design, the limitations of single-factor authentication and insufficient privacy protection of IoT devices are solved, the robustness and privacy protection are improved, and the risk of system failure and computational burden are reduced.
Patent Information
- Application Number
- CN202410945284.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-15
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2044-07-15
AI Technical Summary
Existing authentication schemes for IoT devices suffer from device limitations caused by single-factor authentication, insufficient privacy protection, and high implementation and maintenance costs in resource-constrained environments.
A multi-factor fault-tolerant authentication method is adopted, combining the authentication design of identification factors and quasi-identification factors, introducing XOR filters and public key encryption technology, and using a preset attenuation model for dynamic adjustment to ensure the robustness and privacy protection of the authentication process.
It enhances the robustness of the authentication process, reduces the risk of interruption caused by system failure, reduces computational complexity and communication costs, ensures the security and privacy of data transmission, adapts to changes in system behavior, and extends system endurance.
Smart Images

Figure CN118944889B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of information security, and particularly relates to a multi-factor fault-tolerant authentication method and system for privacy protection. BACKGROUND
[0002] In recent years, with the rapid popularization of 5G networks, China has entered the era of Internet of Things, and the Internet of Things device industry is booming. Thanks to the characteristics of high bandwidth and low latency of 5G networks, Internet of Things devices are widely used in smart home, industrial automation, medical health and other fields. Since Internet of Things devices may need to execute critical commands from the center while collecting and transmitting sensitive data, security issues become particularly important. Authentication, as the first line of defense to solve these security problems, is crucial in the Internet of Things environment. With the continuous upgrading of hacker technology, simple authentication is no longer safe. In response to this, a variety of authentication schemes have been proposed to solve this problem.
[0003] Researchers at East China Jiaotong University introduced an innovative "Trusted Device Delivery Identity Authentication Method for Industrial Internet of Things", which aims to improve the security of industrial Internet of Things devices. The method includes four processes: device and gateway registration, gateway direct authentication, device direct authentication and device delivery authentication. Specifically, each device generates its own device fingerprint, and uses lightweight operations such as random character generation algorithm, hash function, XOR operation, etc. to achieve mutual authentication between devices, gateways and servers. Although this method performs well in improving device authentication and secure communication, it still has some challenges and limitations. First, this method relies on device fingerprints for authentication, which may encounter difficulties in distinguishing similar devices produced by the same manufacturer, especially when attackers use devices from the same source. The limitations of relying on a single factor may significantly increase the probability of system attacks. In addition, although the method design takes into account low resource consumption, continuous monitoring and data analysis in a large-scale network environment may put pressure on system resources, requiring high computing power and storage space. With the rapid development of Internet of Things technology, new threats are emerging, and the flaws in the authentication process designed by this method still affect the security of Internet of Things device authentication.
[0004] Based on the above prior art and other prior art, the existing technical solution has the following disadvantages: single-factor authentication makes authentication security have device limitations; privacy protection and data security protection measures for users in the authentication process are not comprehensive, and result in increased implementation and maintenance costs, especially in resource-constrained or budget-tight environments, the increase in costs is more significant. SUMMARY
[0005] In order to solve the above problems existing in the prior art, the application provides a privacy-protected multi-factor fault-tolerant authentication method and system.
[0006] In a first aspect, the application provides a privacy-protected multi-factor fault-tolerant authentication method, applied to a multi-factor fault-tolerant authentication system including a gateway server, an Internet of Things device, and a trusted agency, the method comprising:
[0007] The trusted agency generates a key pair according to the registration information of the gateway server and distributes it as the public key and the private key of the gateway server; the Internet of Things device obtains an identification factor, generates a corresponding identifier and a device key, and generates an exclusive or filter according to the identification factor and the device key; the gateway server stores the exclusive or filter and selects hash functions H1 and H2 for publishing;
[0008] The Internet of Things device obtains the index information of the exclusive or filter based on the obtained to-be-authenticated identification factor and the device key, performs hash processing on the identification factor to obtain a corresponding hash value, obtains a to-be-sent message based on the hash value, the index information, and the timestamp of the current Internet of Things device, and performs encryption based on the public key of the gateway server to obtain a corresponding ciphertext;
[0009] The gateway server decrypts the ciphertext based on the identifier and the private key of the gateway server to obtain a decrypted message, verifies the rationality of the timestamp of the Internet of Things device corresponding to the decrypted message, authenticates the to-be-authenticated identification factor and the identification factor in the decrypted message respectively to obtain an identification factor authentication result and an identification factor authentication result, processes the identification factor authentication result and the identification factor authentication result based on a preset attenuation model and a preset weight, obtains a final trust score, compares the final trust score with a preset overall threshold, if the judgment condition is not met, the authentication fails and the authentication is terminated, if the judgment condition is met, the authentication is successful, and then the gateway server generates first verification information based on the final trust score, the timestamp of the current gateway server, and the hash function H1; wherein in the initial authentication process, the preset weight is set as: the identification factor weight is 1, and the identification factor weight is 0; after the initial authentication process, the preset weight is adjusted correspondingly based on the preset attenuation model;
[0010] The Internet of Things device generates second verification information based on the timestamp of the gateway server corresponding to the first verification information and the hash function H1, performs matching verification on the first verification information and the second verification information, if they do not match, the authentication is terminated, if they match, the Internet of Things device and the gateway server perform key agreement based on the first verification information and the second verification information, generate a session key using the hash function H2, and use it for subsequent communication.
[0011] In one embodiment of the present application, the trusted authority generates a key pair according to the registration information of the gateway server and distributes the process of the public key and the private key of the gateway server, including:
[0012] The trusted authority obtains a key pair (pk, sk) by using a public key cipher Rabin algorithm according to the registration information of the gateway server and distributes; wherein, the pk represents the public key of the gateway server, which is published publicly by the trusted authority, and the sk represents the private key of the gateway server, which is sent to the gateway server for storage by the trusted authority.
[0013] In one embodiment of the present application, the Internet of Things device obtains an identification factor, generates a corresponding identifier and a device key, and generates an exclusive or filter according to the identification factor and the device key, including:
[0014] The Internet of Things device obtains an identification factor, selects a random number as a corresponding identifier, and generates a first random number rk as the device key;
[0015] Based on the identification factor, a threshold τ of Hamming distance is defined, so as to obtain a fault-tolerant set F; the fault-tolerant set F is represented as (f1, f2, …, f j ,…,f σ ), f j represents the jth fault-tolerant factor, j ∈ [1, σ];
[0016] Initialize the exclusive or filter XF;
[0017] Generate a stack γ; the stack γ includes σ+1 identification groups, and σ represents the total number of elements of the fault-tolerant set; an identification group is represented as (f j , Ind j ), Ind j represents the corresponding index information of f j ;
[0018] Update the exclusive or filter XF by using a first formula, and output the updated exclusive or filter XF; the first formula is as follows:
[0019]
[0020] Wherein, M represents a mapping function, represents a bitwise exclusive or operation, h0, h1, h2 respectively represent three independent hash functions selected by the algorithm.
[0021] In one embodiment of the present application, the identification factor includes fingerprint information; and the quasi-identification factor includes authentication location and authentication time.
[0022] In an embodiment of the present application, the process that the Internet of Things device obtains the index information of the exclusive or filter based on the obtained to-be-authenticated identification factor and the device key comprises:
[0023] The Internet of Things device obtains the index information of the exclusive or filter by using a second formula based on the obtained to-be-authenticated identification factor f and the device key; wherein the second formula is as follows:
[0024] Ind α =h α (f,rk);
[0025] wherein α∈[0,2], h α represents a hash function selected at registration, and rk represents the device key.
[0026] In an embodiment of the present application, the process that the hash value corresponding to the alignment identification factor is obtained by performing hash processing on the alignment identification factor, the message to be sent is obtained based on the hash value, the index information and the timestamp of the current Internet of Things device, and the corresponding ciphertext is obtained by performing encryption based on the public key of the gateway server comprises:
[0027] The Internet of Things device performs hash processing on each alignment identification factor by using the SHA-256 algorithm, to obtain the hash value l i of the alignment identification factor after the hash function processing; wherein l i =H(alignment identification factor, rk), and H represents processing by SHA-256.
[0028] A second random number r1 is generated, and the message to be sent m is obtained based on the timestamp of the current Internet of Things device, the index information and the hash value l i .
[0029] The message to be sent m is encrypted by using the R.Enc encryption algorithm based on the public key of the gateway server, to obtain the corresponding ciphertext c; wherein,
[0030] m={r1||T1||M(f,rk)||Ind0||Ind1||Ind2||l i}.
[0031] c=R.Enc(m,pk);
[0032] T1 represents the timestamp of the current Internet of Things device, M represents a mapping function, f represents the to-be-authenticated identification factor, rk represents the device key, || represents a connection operation, l i represents the hash value corresponding to the alignment identification factor, and pk represents the public key of the gateway server.
[0033] In an embodiment of the present application, the gateway server decrypts the ciphertext based on the identifier and a private key of the gateway server to obtain a decrypted message, and verifies rationality of a timestamp of the Internet of Things device corresponding to the decrypted message, including:
[0034] The gateway server decrypts the ciphertext c using the private key sk of the gateway server and the R.Dec decryption algorithm according to the identifier to obtain a decrypted message m'; where m' = R.Dec(c, sk).
[0035] Verify whether the timestamp T1 of the Internet of Things device corresponding to the decrypted message m' is reasonable, if not, terminate the authentication process, if reasonable, continue the subsequent processing process.
[0036] In an embodiment of the present application, the process of authenticating the to-be-authenticated identification factor and the quasi-identification factor in the decrypted message respectively to obtain an identification factor authentication result and a quasi-identification factor authentication result includes:
[0037] Based on the exclusive or filter corresponding to the decrypted message, the third formula is used to authenticate the to-be-authenticated identification factor in the decrypted message, if the third formula is established, the to-be-authenticated identification factor is trusted, and an identification factor authentication result R is obtained. d The third formula is as follows:
[0038]
[0039] For each quasi-identification factor in the decrypted message, the quasi-identification factor is stored in a non-relational database Redis, the number of occurrences of the quasi-identification factor is counted, and the number of occurrences is compared with a preset threshold value corresponding to the quasi-identification factor, if greater than or equal to the preset threshold value, the quasi-identification factor is considered to be trusted, if less than the preset threshold value, the quasi-identification factor is considered to be untrusted, thereby obtaining a trust judgment of each quasi-identification factor.
[0040] Based on the weight information corresponding to each quasi-identification factor, the trust judgment corresponding to the quasi-identification factor is processed to obtain a quasi-identification factor credibility, and the quasi-identification factor credibility is compared with a first threshold value, if greater than or equal to the first threshold value, the quasi-identification factor is considered to be overall trusted, if less than the first threshold value, the quasi-identification factor is considered to be overall untrusted, thereby obtaining the quasi-identification factor authentication result R a .
[0041] In an embodiment of the present application, the process of processing the identification factor authentication result and the quasi-identification factor authentication result based on a preset attenuation model and a preset weight to obtain a final trust score includes:
[0042] obtaining a decay rate based on the preset decay model and interval time of adjacent secondary authentication processes The preset decay model is as follows:
[0043]
[0044] wherein t represents interval time of adjacent secondary authentication processes, λ represents a parameter for controlling decay rate, 0<λ<1, represents decay rate obtained according to input interval time, e represents natural constant in mathematical definition;
[0045] obtaining the final credibility score based on the decay rate obtaining the final credibility score by using a fourth formula; the fourth formula is as follows:
[0046]
[0047] wherein S a represents preset weight;
[0048] comparing the final credibility score with preset overall threshold value; if the final credibility score is greater than or equal to the preset overall threshold value, the judgment condition is met, and it is judged that authentication is successful, and subsequent processing process is continued; if the final credibility score is less than the preset overall threshold value, the judgment condition is not met, and authentication is failed and authentication is terminated.
[0049] In a second aspect, the present application provides a privacy-protected multi-factor fault-tolerant authentication system, which comprises:
[0050] a gateway server, an Internet of Things device and a trusted authority; wherein
[0051] The trusted authority is configured to generate a key pair according to registration information of the gateway server and distribute the key pair as public key and private key of the gateway server.
[0052] The Internet of Things device is configured to obtain an identification factor, generate a corresponding identifier and device key, and generate an exclusive or filter according to the identification factor and the device key, obtain index information of the exclusive or filter based on the obtained identification factor to be authenticated and the device key, perform hash processing on the identification factor to obtain a corresponding hash value, obtain a message to be sent based on the hash value, the index information and a timestamp of the current Internet of Things device, and encrypt the message to be sent based on the public key of the gateway server to obtain corresponding ciphertext.
[0053] The gateway server is configured to store the exclusive or filter, select hash functions H1 and H2, publish, decrypt the ciphertext based on the identifier and a private key of the gateway server to obtain a decrypted message, verify the rationality of a timestamp of an Internet of Things device corresponding to the decrypted message, authenticate a to-be-authenticated identity factor and a quasi-identity factor in the decrypted message respectively to obtain an identity factor authentication result and a quasi-identity factor authentication result, process the identity factor authentication result and the quasi-identity factor authentication result based on a preset attenuation model and a preset weight to obtain a final trust score, compare the final trust score with a preset overall threshold, if the comparison does not meet a judgment condition, authentication fails and the authentication is terminated, if the comparison meets the judgment condition, authentication succeeds, and then first verification information is generated based on the final trust score, a timestamp of a current gateway server and the hash function H1;wherein, in the first several authentication processes, the preset weight is set as: an identity factor weight is 1 and a quasi-identity factor weight is 0;after the first several authentication processes, the preset weight is adjusted correspondingly based on the preset attenuation model;
[0054] The Internet of Things device is further configured to generate second verification information based on a timestamp of a gateway server corresponding to the first verification information and the hash function H1;
[0055] The Internet of Things device and the gateway server are further configured to generate second verification information by the Internet of Things device based on a timestamp of a gateway server corresponding to the first verification information and the hash function H1, perform matching verification on the first verification information and the second verification information, if the first verification information and the second verification information do not match, terminate the authentication, if the first verification information and the second verification information match, perform key negotiation based on the first verification information and the second verification information, generate a session key by using a hash function H2, and use the session key for subsequent communication.
[0056] The present application has the following advantages:
[0057] The scheme provided by the application enhances the robustness of the authentication process by combining the multi-factor authentication design of the identification factor and the quasi-identification factor, ensures that the authentication can still be completed stably and accurately when the system is disturbed by the environment or slightly damaged, introduces the exclusive or filter for encryption, uses the Hamming distance to realize dynamic adjustment of the fault tolerance threshold, maintains the normal operation of the system in the case of system failure, reduces the risk of production and service interruption, uses the public key encryption technology combined with the lightweight encryption communication protocol, not only ensures the security of data transmission, but also specially considers the calculation ability limitation of the Internet of Things system. By implementing strict data access control, the privacy of user data is further consolidated; the preset attenuation model can intelligently adapt to the change of system behavior, identify abnormalities in time, reduce the influence on system performance, greatly reduce the system calculation burden, and prolong the system endurance. The improvement of the secure multi-party computation technology not only reduces the calculation complexity and communication cost, but also promotes the efficiency and privacy protection of data interaction. BRIEF DESCRIPTION OF DRAWINGS
[0058] Figure 1 A step schematic diagram of a privacy protection multi-factor fault-tolerant authentication method provided by an embodiment of the application;
[0059] Figure 2 A flowchart of a privacy protection multi-factor fault-tolerant authentication method provided by an embodiment of the application;
[0060] Figure 3 A flowchart of identification factor and quasi-identification factor authentication in a privacy protection multi-factor fault-tolerant authentication method provided by an embodiment of the application;
[0061] Figure 4 A protocol communication example diagram of a complete process in an authentication stage in a privacy protection multi-factor fault-tolerant authentication method provided by an embodiment of the application;
[0062] Figure 5 A structure schematic diagram of a privacy protection multi-factor fault-tolerant authentication system provided by an embodiment of the application. DETAILED DESCRIPTION
[0063] The technical solutions in the embodiments of the application will be described clearly and completely below with reference to the drawings of the embodiments of the application. Obviously, the described embodiments are only part of the embodiments of the application, not all the embodiments. Based on the embodiments in the application, all other embodiments obtained by those skilled in the art without creative labor are within the protection scope of the application.
[0064] In order to achieve the purpose of reducing the maintenance cost while improving the privacy and data security of the user in the authentication process by using multi-factor authentication, the embodiment of the present application provides a privacy-protected multi-factor fault-tolerant authentication method and system.
[0065] The steps of the privacy-protected multi-factor fault-tolerant authentication method provided by the embodiment of the present application are shown in Figure 1 , and the flowchart is shown in Figure 2 . Next, the privacy-protected multi-factor fault-tolerant authentication method provided by the embodiment of the present application will be introduced first in combination with Figure 1 and Figure 2 .
[0066] The privacy-protected multi-factor fault-tolerant authentication method provided by the embodiment of the present application, as shown in Figure 1 and Figure 2 , can include the following steps:
[0067] S1, the trusted agency generates a key pair according to the registration information of the gateway server and distributes it as the public key and the private key of the gateway server; the Internet of Things device obtains an identification factor, generates a corresponding identifier and a device key, and generates an exclusive or filter according to the identification factor and the device key; the gateway server stores the exclusive or filter and selects a hash function H1 and H2 to publish;
[0068] S2, the Internet of Things device obtains the index information of the exclusive or filter based on the obtained identification factor to be authenticated and the device key, performs hash processing on the identification factor to obtain the corresponding hash value, obtains the message to be sent based on the hash value, the index information and the timestamp of the current Internet of Things device, and encrypts based on the public key of the gateway server to obtain the corresponding ciphertext;
[0069] S3, the gateway server decrypts the ciphertext based on the identifier and the private key of the gateway server to obtain the decrypted message, verifies the rationality of the timestamp of the Internet of Things device corresponding to the decrypted message, authenticates the identification factor to be authenticated and the identification factor in the decrypted message respectively to obtain the identification factor authentication result and the identification factor authentication result, processes the identification factor authentication result and the identification factor authentication result based on a preset attenuation model and a preset weight to obtain a final trust score, compares the final trust score with a preset overall threshold, if the judgment condition is not met, the authentication fails and the authentication is terminated, if the judgment condition is met, the authentication is successful, and then the first verification information is generated based on the final trust score, the timestamp of the current gateway server and the hash function H1; wherein in the initial authentication process, the preset weight is set as: the identification factor weight is 1, and the identification factor weight is 0; after the initial authentication process, the preset weight is adjusted correspondingly based on the preset attenuation model;
[0070] S4, the Internet of Things device generates second verification information based on the time stamp of the gateway server corresponding to the first verification information and the hash function H1, and performs matching verification on the first verification information and the second verification information, if the matching is not passed, the authentication is terminated, if the matching is passed, the Internet of Things device and the gateway server perform key agreement based on the first verification information and the second verification information, and generate a session key by using a hash function H2 for subsequent communication.
[0071] The multi-factor fault-tolerant authentication method provided by the embodiment of the application can include a registration stage, an authentication stage and a subsequent key agreement stage. It can be understood that the registration stage corresponds to the processing process of S1, the authentication stage corresponds to the processing process of obtaining the second verification information in S2 to S4, and the subsequent key agreement stage corresponds to the remaining processing process of S4. The multi-factor fault-tolerant authentication method provided by the embodiment of the application enhances the robustness of the authentication process by combining the multi-factor authentication design of the identification factor and the quasi-identification factor, ensures that the authentication can still be completed stably and accurately when the system is disturbed or slightly damaged, introduces the exclusive or filter to dynamically adjust the fault tolerance threshold, maintains the normal operation of the system in the case of system failure, reduces the risk of production and service interruption, uses the preset attenuation model to intelligently adapt to the change of system behavior, identifies abnormalities in time, reduces the impact on system performance, greatly reduces the system computing burden, and prolongs the system endurance. In order to facilitate understanding, the steps of the multi-factor fault-tolerant authentication method provided by the embodiment of the application are described in detail below.
[0072] For S1, it can include:
[0073] S11, the trusted agency generates a key pair according to the registration information of the gateway server and distributes it as the public key and the private key of the gateway server.
[0074] Specifically, S11 can include:
[0075] The gateway server sends a registration request to the trusted agency, and the trusted agency obtains a key pair (pk, sk) by using a public key Rabin algorithm according to the registration information of the gateway server and distributes it; wherein pk represents the public key of the gateway server, which is published by the trusted agency, and sk represents the private key of the gateway server, which is sent to the gateway server by the trusted agency.
[0076] The registration information of the gateway server can include information only for proving that it is a gateway server. It can be understood that S11 is the registration process of the gateway server.
[0077] S12, the Internet of Things device obtains an identification factor, generates a corresponding identifier and a device key, and generates an exclusive or filter according to the identification factor and the device key.
[0078] Specifically, S12 can include:
[0079] S121, the Internet of Things device acquires an identification factor, selects a random number as a corresponding identifier, and generates a first random number rk as a device key.
[0080] It can be understood that the Internet of Things device first acquires an identification factor f0, selects a random number as its identifier ID, sends the identification factor f0 and the identifier ID to the trusted institution, and generates a first random number rk as a device key. The identification factor can include fingerprint information. The device key can reduce collision and improve security. It can be understood that the identification factor can also include biological information such as face information and voice information.
[0081] S122, based on the identification factor, a threshold τ of Hamming distance is defined, thereby obtaining a fault-tolerant set F; the fault-tolerant set F is represented as (f1, f2, …, f j ,…,f σ ), f j represents the jth fault-tolerant factor, j ∈ [1, σ].
[0082] Specifically, assuming that the identification factor has n bits, the threshold τ of Hamming distance is defined, and the elements of the fault-tolerant set F include σ at this time; wherein the calculation formula of σ is as follows:
[0083]
[0084] The elements of the fault-tolerant set F are various fault-tolerant factors, and the fault-tolerant factor can be a string with the same number of bits as the identification factor, but with τ bits different from the identification factor. Based on all the fault-tolerant factors, the fault-tolerant set F (f1, f2, …, f j ,…,f σ ) is obtained, j ∈ [1, σ], represents the number of corresponding fault-tolerant factors when the Hamming distance is τ. It can be understood that σ can be the sum of the number of corresponding fault-tolerant factors when the Hamming distance is τ, τ-1, …, 1.
[0085] S123, initialize the exclusive or filter XF.
[0086] Specifically, the exclusive or filter XF can be initialized by using the XF.Init(σ) algorithm; it can be understood that XF.Init(σ) includes pre-set code capable of achieving initialization.
[0087] S124, generate a stack γ; the stack γ includes σ+1 identification groups, and σ represents the total number of elements of the fault-tolerant set. The identification group is represented as (f j ,Ind j ), Ind j represents f jCorresponding index information.
[0088] Specifically, the stack gamma can be generated by using the XF.GenStack(FU{f0}) algorithm; it can be understood that the XF.GenStack(FU{f0}) includes pre-set codes capable of generating the stack.
[0089] In S125, the exclusive or filter XF is updated by using the first formula, and the updated exclusive or filter XF is output; the first formula is as follows:
[0090]
[0091] Wherein, M represents a mapping function, represents a bitwise exclusive or operation, h0, h1 and h2 respectively represent three independent hash functions selected by the algorithm.
[0092] It can be understood that the role of the mapping function M is to map the target value into a k-bit integer. Specifically, its process is to perform hash processing on the target value, and extract the first k bits of the hash value. The introduction of the exclusive or filter for encryption, the use of Hamming distance to realize dynamic adjustment of the fault tolerance threshold, maintains the normal operation of the system under the condition of system failure, reduces the risk of production and service interruption.
[0093] For example, the identification factor f0 can be 110101, the threshold value of Hamming distance is defined as 1, at this time, all cases of fault tolerance allowed values under the error allowed range of 1 are obtained, then all fault tolerance allowed values constitute a fault tolerance set, and the exclusive or filter is obtained in this way.
[0094] In S13, the gateway server stores the exclusive or filter, and selects the hash functions H1 and H2 for publishing.
[0095] In the multi-factor fault-tolerant authentication method provided by the embodiment of the application, the exclusive or filter and Hamming distance calculation are introduced to dynamically adjust the fault tolerance threshold, maintain the normal operation of the system under the condition of device failure, and reduce the risk of production and service interruption. By using the Rabin public key encryption technology and combining the lightweight encryption communication protocol, not only the safety of data transmission is ensured, but also the computing power limitation of the Internet of Things device is specially considered. By implementing strict data access control, the privacy of user data is further consolidated, especially in sensitive fields such as medical health, and the leakage of personal health information is effectively prevented. The registration stage can be divided into gateway server and Internet of Things device registration, and after the corresponding parameters are input into the client of the Internet of Things device, the authentication stage is entered.
[0096] For S2, it can include:
[0097] S21, the Internet of Things device obtains index information of the exclusive or filter based on the obtained to-be-authenticated identification factor and the device key.
[0098] Specifically, S21 can include:
[0099] The Internet of Things device obtains index information of the exclusive or filter based on the obtained to-be-authenticated identification factor f and the device key, using a second formula; wherein the second formula is as follows:
[0100] Ind α = h α (f, rk);
[0101] Wherein, a e [0, 2], h α represents a hash function selected at registration, and rk represents the device key.
[0102] The quasi-identification factor can include: authentication location and authentication time. It can be understood that the quasi-identification factor can also include: authentication behavior operation habit, network traffic pattern, connection behavior, response time, interaction frequency, etc.
[0103] S22, the quasi-identification factor is hashed to obtain the corresponding hash value, the hash value, the index information and the timestamp of the current Internet of Things device are used to obtain the to-be-sent message, and the public key of the gateway server is used for encryption to obtain the corresponding ciphertext.
[0104] Specifically, S22 can include:
[0105] S221, the Internet of Things device uses SHA-256 algorithm to hash each quasi-identification factor to obtain the hash value of the quasi-identification factor after the hash function processing l i ; wherein l i = H (quasi-identification factor, rk), H represents SHA-256 processing;
[0106] S222, a second random number r1 is generated, and the timestamp of the current Internet of Things device, the index information and the hash value l i are used to obtain the to-be-sent message m;
[0107] S223, based on the public key of the gateway server, the to-be-sent message m is encrypted using R. Enc encryption algorithm, thereby obtaining the corresponding ciphertext c; wherein,
[0108] m = { r1||T1||M (f, rk) ||Ind0||Ind1||Ind2||l i} ;
[0109] c = R. Enc (m, pk) ;
[0110] T1 represents a timestamp of the current Internet of Things device, M represents a mapping function, f represents an identification factor to be authenticated, rk represents a device key, || represents a connection operation, l i represents a hash value corresponding to the quasi-identification factor, and pk represents a public key of the gateway server.
[0111] After obtaining the corresponding ciphertext c, the Internet of Things device sends the ciphertext c and the identifier ID to the gateway server.
[0112] The embodiment of the application enhances the robustness of the authentication process by combining the multi-factor authentication design of the identification factor and the quasi-identification factor, and ensures that the authentication can still be completed stably and accurately when the device is subject to environmental interference or slight damage.
[0113] For S3, it can include:
[0114] S31, the gateway server decrypts the ciphertext based on the identifier and the private key of the gateway server, obtains the decrypted message, and verifies the reasonableness of the timestamp of the Internet of Things device corresponding to the decrypted message.
[0115] Specifically, S31 can include:
[0116] The gateway server decrypts the ciphertext c using the private key of the gateway server and the R.Dec decryption algorithm according to the identifier, to obtain the decrypted message m'; wherein m' = R.Dec(c, sk), and sk represents the private key of the gateway server.
[0117] Verify whether the timestamp T1 of the Internet of Things device corresponding to the decrypted message m' is reasonable, if not, terminate the authentication process, if reasonable, continue the subsequent processing process.
[0118] It can be understood that after the gateway server receives the ciphertext c, it first decrypts the ciphertext c to obtain the decrypted message m', and the decrypted message m' contains the identification factor to be authenticated and the quasi-identification factor, at this time, the reasonableness of the timestamp T1 of the Internet of Things device corresponding to the decrypted message m' needs to be verified, if not, terminate the authentication process, if reasonable, continue the subsequent processing process. To enhance the privacy of user data, especially in sensitive fields such as medical health, effectively protect the leakage of personal health information.
[0119] S32, the identification factor to be authenticated and the quasi-identification factor in the decrypted message are authenticated respectively to obtain the identification factor authentication result and the quasi-identification factor authentication result.
[0120] The flowchart of the authentication of the identification factor to be authenticated and the quasi-identification factor in the privacy protection multi-factor fault-tolerant authentication method provided by the embodiment of the application is shown in Figure 3 . From Figure 3As can be seen, the process of authenticating the to-be-authenticated identity factor and the quasi-identity factor can include: first, authenticating the identity factor to obtain an identity factor authentication result R d ; second, judging each quasi-identity factor respectively to obtain a trusted judgment of each quasi-identity factor; calculating the overall quasi-identity factor credibility according to the weight of the trusted judgment of all quasi-identity factors, and judging the overall quasi-identity factor credibility to obtain a quasi-identity factor authentication result R a ; after processing the identity factor authentication result R d and the quasi-identity factor authentication result R d , obtaining a final trusted score, and judging whether the obtained result is trusted, and then selecting to exit the protocol or proceeding to the next step. It can be understood that Figure 3 corresponding to the processing processes of S32 and S33 in S3. The processing processes of S32 and S33 will be described in detail below.
[0121] Specifically, S32 can include:
[0122] S321, authenticating the to-be-authenticated identity factor in the decrypted message by using a third formula based on the exclusive or filter corresponding to the decrypted message, if the third formula is established, the to-be-authenticated identity factor is trusted, and an identity factor authentication result R d is obtained; the third formula is as follows:
[0123] M(f, rk) = XF[Ind0] ⊕ XF[Ind1] ⊕ XF[Ind2].
[0124] Wherein, if the to-be-authenticated identity factor is trusted, the identity factor authentication result R d is 1, and if the to-be-authenticated identity factor is not trusted, the identity factor authentication result R d is 0.
[0125] S322, for each quasi-identity factor in the decrypted message, storing the quasi-identity factor in the non-relational database Redis, counting the number of occurrences of the quasi-identity factor, comparing the number of occurrences with the preset threshold value corresponding to the quasi-identity factor, if greater than or equal to the preset threshold value, considering that the quasi-identity factor is trusted, if less than the preset threshold value, considering that the quasi-identity factor is not trusted, thereby obtaining a trusted judgment of each quasi-identity factor.
[0126] Specifically, the preset threshold value can be set as 0.5, for each quasi-identity factor in the decrypted message, the quasi-identity factor is stored in the non-relational database Redis, the number of occurrences of the quasi-identity factor is counted, the number of times that the quasi-identity factor is the same result and the total number of occurrences of the quasi-identity factor are divided to obtain a result, and the result is compared with the preset threshold value. If greater than or equal to the preset threshold value, the quasi-identity factor is trusted, the trust judgment of the quasi-identity factor is 1, and if less than the preset threshold value, the quasi-identity factor is not trusted, the trust judgment of the quasi-identity factor is 0. It can be understood that the preset threshold value can be selected or modified as needed.
[0127] S323, based on the weight information corresponding to each quasi-identity factor, the trust judgment corresponding to the quasi-identity factor is processed to obtain the quasi-identity factor credibility, and the quasi-identity factor credibility is compared with the first threshold value. If greater than or equal to the first threshold value, the quasi-identity factor is considered to be overall trusted, and if less than the first threshold value, the quasi-identity factor is considered to be overall untrusted, thereby obtaining the quasi-identity factor authentication result R a .
[0128] Specifically, for each quasi-identity factor, the weight information corresponding to the quasi-identity factor is multiplied by the trust judgment corresponding to the quasi-identity factor to obtain the trust branch of the quasi-identity factor; the trust branches of all quasi-identity factors are added to obtain the quasi-identity factor credibility; the quasi-identity factor credibility is compared with the first threshold value. If greater than or equal to the first threshold value, the quasi-identity factor is considered to be overall trusted, and if less than the first threshold value, the quasi-identity factor is considered to be overall untrusted, thereby obtaining the quasi-identity factor authentication result R a . Wherein, if the quasi-identity factor is overall trusted, the quasi-identity factor authentication result R a is 1, and if the quasi-identity factor is overall untrusted, the quasi-identity factor authentication result R a is 0.
[0129] S33, based on the preset decay model and the preset weight, the identification factor authentication result and the quasi-identity factor authentication result are processed to obtain the final trust score.
[0130] For S33, it can include:
[0131] S331, based on the preset decay model and the interval time of adjacent authentication processes, a decay rate The preset decay model is as follows:
[0132]
[0133] Wherein, t represents the interval time of adjacent authentication processes, λ represents a parameter for controlling the decay rate, 0<λ<1, denotes the decay rate obtained according to the input interval time, e denotes the natural constant in mathematical definition;
[0134] S332, based on the decay rate The final credibility score is obtained by using the fourth formula, and the fourth formula is as follows:
[0135]
[0136] Wherein, S a denotes the preset weight.
[0137] S333, the final credibility score is compared with the preset overall threshold, if the final credibility score is greater than or equal to the preset overall threshold, the judgment condition is met, then it is judged that the authentication is successful, and the subsequent processing process is continued, if the final credibility score is less than the preset overall threshold, the judgment condition is not met, then the authentication fails and the authentication is terminated.
[0138] It can be understood that, assuming that the last authentication time is t0 and the current authentication time is t1, t1-t0 is substituted into the fourth formula as t, and the result of is obtained, which is the decay rate obtained by the interval time of the adjacent authentication process , and through the function image corresponding to the fourth formula, it can be seen that The range of is always within 0 to 1. In each authentication process, the decay needs to be reset.
[0139] In the initial stage, i.e. the cold start stage, due to the lack of sufficient historical data, the credibility of the quasi-identity factor is difficult to accurately evaluate. Therefore, in the initial several authentication processes, the preset weight is set as: the identity factor weight is 1, and the quasi-identity factor weight is 0; The specific number can be set according to the demand, at this time the quasi-identity factor is only responsible for data recording and does not participate in the actual authentication decision, and only relies on the identity factor for authentication, and the initial several authentication processes are mainly used to collect related data of the quasi-identity factor, so as to accurately evaluate its credibility in the subsequent authentication process. This design ensures the security and stability in the cold start stage, and accumulates data for the effectiveness of the quasi-identity factor. After several authentications, i.e. the cold start process is completed, the corresponding adjustment is made to the preset weight based on the preset decay model.
[0140] By combining the identity factor and the quasi-identity factor, the system can provide multi-level security protection, even if a single factor is broken, other factors can still provide additional verification, increasing the robustness and fault tolerance of the system. The integration of deep learning and pattern recognition can intelligently adapt to device behavior changes, identify abnormalities in a timely manner, and reduce the impact on device performance. The innovative design of the fault tolerance mechanism ensures that the authentication operation can continue through system redundancy and data fusion strategy when individual components fail, improving the stability and reliability of the overall system.
[0141] S34 , generating first verification information based on the final trust score, the timestamp of the current gateway server, and the hash function H1 .
[0142] Specifically, after obtaining the final trust score, the IoT device generates a random number r2 and generates the first verification information based on the final trust score, the timestamp of the current gateway server, and the hash function H1. The expression of the first verification information is as follows:
[0143] digest1=H1(ID||r1||r2||T1||T2);
[0144] Wherein, T2 represents the timestamp of the current gateway server.
[0145] For S4, this may include:
[0146] S41, the IoT device generates second verification information based on the timestamp of the gateway server corresponding to the first verification information and the hash function H1.
[0147] The expression of the second verification information is as follows:
[0148] digest2=H1(ID||r1||r2||T1||T2).
[0149] S42: Based on the first verification information and the second verification information, the IoT device and the gateway server perform key negotiation and use a hash function H2 to generate a session key for subsequent communications.
[0150] The first verification information and the second verification information are judged. If they are not equal, the protocol is terminated. If they are equal, the gateway server is successfully authenticated and a session key is generated using the hash function H2.
[0151] The expression of the session key is as follows:
[0152] ssk=H2(r1||r2||ID).
[0153] The process can ensure that the generated session key has high security and uniqueness. Each of the above elements has its unique role and is indispensable. Without r1, the security and uniqueness of the key will be reduced; without r2, the risk of key prediction will be increased; without ID, the possibility of key replay and impersonation attacks will be increased. In addition, the three elements are combined through the connection operation to ensure that the generated session key has both high randomness and is bound to the device identity. After encryption by the hash function, even if the attacker knows r1, r2 and ID, the session key cannot be inversely deduced. Using the ssk, the device and the server can securely perform subsequent communication. The design ensures that the Internet of Things device and the gateway server can establish a secure encrypted channel in subsequent communication, effectively preventing various attack means and protecting the security of data transmission.
[0154] The protocol communication example diagram of a complete process of an authentication phase of a privacy-protected multi-factor fault-tolerant authentication method provided by the embodiment of the application is shown in the following figure: Figure 4 From Figure 4 It can be seen that the fingerprint information is taken as the identification factor f, the location l and the time t are taken as the quasi-identification factor, the Internet of Things device first calculates Ind α = h α (f, rk), and then takes r1 to obtain the message to be sent m, and uses the R.Enc algorithm to encrypt m to obtain the ciphertext c. After {ID, c} is sent to the gateway server, the gateway server decrypts to obtain m'. The time stamp, the identification factor, the quasi-identification factor and the final trusted score are verified, and if the trusted score is trusted, r2 is taken and the corresponding digest is calculated, and sent back to the Internet of Things device. The Internet of Things device verifies whether the time stamp and the corresponding digest are correct, and if correct, the authentication is successful, and enters the subsequent key agreement phase. Based on the above steps, the method can effectively enhance the security while reducing the cost, and improve the stability of the system through multi-factor concurrent authentication. It can be understood that any threshold in the embodiment of the application can be set or modified according to the actual use requirements.
[0155] In order to facilitate understanding, the embodiment of the application will be introduced below in combination with specific examples.
[0156] For example, the fingerprint information is set as the identification factor f, and the authentication location l and the authentication time t are set as the quasi-identification factor.
[0157] First, the registration process is performed: f = 1001011000110111 is used during registration, and the threshold value τ of the Hamming distance is 1.
[0158] All fault tolerances of the fingerprint information are calculated to form a fault tolerance set, and the output is as follows:
[0159] f1 = 0001011000110111
[0160] f2 = 1101011000110111
[0161] f3 = 1011011000110111
[0162] f4 = 1000011000110111
[0163] f5 = 1001111000110111
[0164] f6 = 1001001000110111
[0165] f7 = 1001010000110111
[0166] f8 = 1001011100110111
[0167] f9 = 1001011010110111
[0168] f 10 = 1001011001110111
[0169] f 11 = 1001011000010111
[0170] f 12 = 1001011000100111
[0171] f 13 = 1001011000111111
[0172] f 14 = 1001011000110011
[0173] f 15 = 1001011000110101
[0174] f 16 = 1001011000110110.
[0175] Based on the above fault-tolerant set and fingerprint information, an exclusive or filter is generated and stored to the server.
[0176] Secondly, the authentication process is carried out:
[0177] The authentication location l is l = Lat: 34.12616766666667, Lon: 108.82747033333332, and the authentication time t is t = 13:23. For specific authentication cases, please refer to Case1-Case11.
[0178] Case 1: The f, l, t used for authentication are exactly the same as those used for registration, and it is in the first 10 times of cold start stage.
[0179] Used for authentication:
[0180] f = 1001011000110111, l = Lat: 34.12616766666667, Lon: 108.82747033333332, t = 13:23.
[0181] At this time, first compare the fingerprint with the fingerprint information at the time of registration, through the check method of the exclusive or filter, since the two are exactly the same at this time, the query result is trusted, and it is in the cold start stage, l, t is only used for storage, not counted into the trusted judgment.
[0182] The authentication is passed, and the key ssk for subsequent session is returned.
[0183] It can be understood that the check method is usually used to determine whether a certain state or property meets, which is widely used in computer science in various algorithms and data structures, especially when elements need to be traversed and checked whether they meet certain conditions.
[0184] Case 2: The f used for authentication is inconsistent with the f used for registration, and it is in the first 10 times of cold start stage.
[0185] Used for authentication:
[0186] f = 1001011000110110, l = Lat: 34.12616766666667, Lon: 108.82747033333332, t = 13:23.
[0187] First compare the fingerprint information, through the check method of the exclusive or filter, since the fingerprint information changes only 1 bit at this time, it belongs to the fault tolerance range, the query result is trusted, and it is in the cold start stage, l, t is only used for storage, not counted into the trusted judgment.
[0188] The authentication is passed, and the key ssk for subsequent session is returned.
[0189] Case 3: The f used for authentication is inconsistent with the f used for registration, and it is in the first 10 times of cold start stage.
[0190] Used for authentication:
[0191] f = 1001011000110100, l = Lat: 34.12616766666667, Lon: 108.82747033333332, t = 13:23.
[0192] Firstly, compare the fingerprint information through the check method of the XOR filter. Since the fingerprint information changes by more than 1 bit at this time, it does not belong to the fault-tolerant range, the query result gets untrusted, and it is in the cold start stage. The l and t are only used for storage and are not counted in the trusted judgment.
[0193] The authentication fails.
[0194] Case 4: The f, l, and t used for authentication are completely consistent with the f, l, and t used for registration, and are in the normal authentication stage after 10 times.
[0195] The authentication uses:
[0196] f = 1001011000110111, l = Lat: 34.12616766666667, Lon: 108.82747033333332, t = 13:23.
[0197] Firstly, compare the fingerprint information with the fingerprint information at the time of registration through the check method of the XOR filter. Since the two are completely consistent at this time, the query result gets the trusted identification factor authentication result. Judge the authentication location l and the authentication time t, calculate the trusted score through comparison, the result is trusted, get the quasi-identification factor authentication result. Adjust the weight of each factor dynamically through attenuation, which changes with time, the weight of the authentication location l and the authentication time t gradually decreases, and the weight of the fingerprint information f gradually increases. Calculate the final trusted score through the weight.
[0198] The authentication passes, and returns the key ssk used for subsequent sessions.
[0199] Case 5: The f used for authentication is inconsistent with the f used for registration, and is in the normal authentication stage after 10 times.
[0200] The authentication uses:
[0201] f = 1001011000110110, l = Lat: 34.12616766666667, Lon: 108.82747033333332, t = 13:23.
[0202] Firstly, compare the fingerprint information through the check method of the XOR filter. Since the fingerprint information changes by only 1 bit at this time, it belongs to the fault-tolerant range, the query result gets the trusted identification factor authentication result. Judge the authentication location l and the authentication time t, calculate the trusted score through comparison, the result is trusted, get the quasi-identification factor authentication result. Adjust the weight of each factor dynamically through attenuation, which changes with time, the weight of the authentication location l and the authentication time t gradually decreases, and the weight of the fingerprint information f gradually increases. Calculate the final trusted score through the weight.
[0203] The authentication is passed, and the key ssk for the subsequent session is returned.
[0204] Case 6: The f used for authentication is inconsistent with the f used for registration, and is in the normal authentication stage after 10 times.
[0205] The f used for authentication is:
[0206] f = 1001011000110100, l = Lat: 34.12616766666667, Lon: 108.82747033333332, t = 13:23.
[0207] First, compare the fingerprint information, pass the check method of the XOR filter, because the fingerprint information changes more than 1 bit at this time, which is not within the fault tolerance range, the query result gets the identification factor authentication result is not trusted, judge the authentication location l and the authentication time t, through the comparison calculation, the result is trusted, get the quasi-identification factor authentication result; through the attenuation dynamic adjustment of each factor weight, with the change of time, the weight of the authentication location l and the authentication time t gradually decreases, and the weight of the fingerprint information f gradually increases. The final trusted score is calculated through the weight.
[0208] If the final trusted score obtained is greater than or equal to the preset overall threshold, the authentication is passed, and the key ssk for the subsequent session is returned, if the final trusted score is less than the preset overall threshold, the authentication is not passed.
[0209] Case 7: The l used for authentication is inconsistent with the l used for registration, and is in the normal authentication stage after 10 times.
[0210] The f used for authentication is:
[0211] f = 1001011000110111, l = Lat: 50.12616766666667, Lon: 100.82747033333332, t = 13:23.
[0212] First, compare the fingerprint with the fingerprint information at the time of registration, pass the check method of the XOR filter, because the two are completely consistent at this time, the query result gets the identification factor authentication result is trusted; judge the authentication location l and the authentication time t, through the comparison calculation, get the authentication location l is not trusted while the authentication time t is trusted, get the quasi-identification factor authentication result; through the attenuation dynamic adjustment of each factor weight, with the change of time, the weight of the authentication location l and the authentication time t gradually decreases, and the weight of the fingerprint information f gradually increases. The final trusted score is calculated through the weight.
[0213] If the final trust score is greater than or equal to the preset overall threshold, the authentication is passed, and the key ssk for the subsequent session is returned. If the final trust score is less than the preset overall threshold, the authentication is failed.
[0214] Case 8: The t used for authentication is inconsistent with the t used for registration, and is in the normal authentication stage after 10 times.
[0215] At the time of authentication:
[0216] f = 1001011000110111, l = Lat: 34.12616766666667, Lon: 108.82747033333332, t = 15:14.
[0217] First, compare the fingerprint with the fingerprint information at the time of registration, and pass the check method of the XOR filter. Since the two are completely consistent at this time, the query result is that the identification factor authentication result is trusted. Judge the authentication location l and the authentication time t, and calculate the trust score by comparison. The authentication location l is trusted, and the authentication time t is not trusted, and the quasi-identification factor authentication result is obtained. By dynamically adjusting the weight of each factor through attenuation, the weight of the authentication location l and the authentication time t gradually decreases over time, and the weight of the fingerprint information f gradually increases. The final trust score is calculated by the weight.
[0218] If the final trust score is greater than or equal to the preset overall threshold, the authentication is passed, and the key ssk for the subsequent session is returned. If the final trust score is less than the preset overall threshold, the authentication is failed.
[0219] Case 9: The l and t used for authentication are inconsistent with the l and t used for registration, and are in the normal authentication stage after 10 times.
[0220] At the time of authentication:
[0221] f = 1001011000110111, l = Lat: 34.12616766666667, Lon: 108.82747033333332, t = 15:14.
[0222] First, compare the fingerprint with the fingerprint information at the time of registration, and pass the check method of the XOR filter. Since the two are completely consistent at this time, the query result is that the identification factor authentication result is trusted. Judge the authentication location l and the authentication time t, and calculate the trust score by comparison. The authentication location l is trusted, and the authentication time t is not trusted, and the quasi-identification factor authentication result is obtained. By dynamically adjusting the weight of each factor through attenuation, the weight of the authentication location l and the authentication time t gradually decreases over time, and the weight of the fingerprint information f gradually increases. The final trust score is calculated by the weight.
[0223] If the final trust score is greater than or equal to the preset overall threshold, the authentication is passed, and the key ssk for the subsequent session is returned. If the final trust score is less than the preset overall threshold, the authentication is failed.
[0224] Case 10: The f, l, t used for authentication are inconsistent with the f, l, t used for registration, and are in the normal authentication stage after 10 times.
[0225] At the time of authentication:
[0226] f = 1001011000110110, l = Lat: 50.12616766666667, Lon: 100.82747033333332, t = 15:14.
[0227] First, compare the fingerprint information by the check method of the exclusive or filter. Since the fingerprint information changes only 1 bit at this time, it belongs to the fault tolerance range, the query result gets the trusted authentication result of the identification factor; judge the authentication location l and the authentication time t, calculate the trust score by comparison, get the authentication location l and the authentication time t are not trusted, get the quasi-identification factor authentication result; adjust the weight of each factor by attenuation, the weight of the authentication location l and the authentication time t gradually decreases with the change of time, and the weight of the fingerprint information f gradually increases. Calculate the final trust score by weight.
[0228] If the final trust score is greater than or equal to the preset overall threshold, the authentication is passed, and the key ssk for the subsequent session is returned. If the final trust score is less than the preset overall threshold, the authentication is failed.
[0229] Case 11: The f, l, t used for authentication are inconsistent with the f, l, t used for registration, and are in the normal authentication stage after 10 times.
[0230] At the time of authentication:
[0231] f = 1001011000110100, l = Lat: 50.12616766666667, Lon: 100.82747033333332, t = 15:14.
[0232] First, compare the fingerprint information by the check method of the exclusive or filter. Since the fingerprint information changes more than 1 bit at this time, it does not belong to the fault tolerance range, the query result gets the trusted authentication result of the identification factor; judge the authentication location l and the authentication time t, calculate the trust score by comparison, get the authentication location l and the authentication time t are not trusted, get the quasi-identification factor authentication result; adjust the weight of each factor by attenuation, the weight of the authentication location l and the authentication time t gradually decreases with the change of time, and the weight of the fingerprint information f gradually increases. Calculate the final trust score by weight.
[0233] The authentication fails.
[0234] In a second aspect, corresponding to the above-mentioned multi-factor fault-tolerant authentication method embodiment, the present embodiment also provides a privacy-protected multi-factor fault-tolerant authentication system, as shown in the accompanying drawings, the system comprises: Figure 5
[0235] a gateway server, an Internet of Things device, and a trusted authority; wherein
[0236] The trusted authority is configured to generate a key pair according to the registration information of the gateway server and distribute the key pair as the public key and the private key of the gateway server.
[0237] The Internet of Things device is configured to obtain an identification factor, generate a corresponding identifier and a device key, and generate an XOR filter according to the identification factor and the device key, obtain index information of the XOR filter based on the obtained identification factor and device key to be authenticated, perform hash processing on the identification factor to obtain a corresponding hash value, obtain a message to be sent based on the hash value, the index information, and the timestamp of the current Internet of Things device, and encrypt the message to be sent based on the public key of the gateway server to obtain corresponding ciphertext.
[0238] The gateway server is configured to store the XOR filter, select hash functions H1 and H2, decrypt the ciphertext based on the identifier and the private key of the gateway server to obtain decrypted messages, verify the rationality of the timestamp of the Internet of Things device corresponding to the decrypted messages, authenticate the identification factor to be authenticated and the identification factor in the decrypted messages respectively to obtain identification factor authentication results and identification factor authentication results, process the identification factor authentication results and the identification factor authentication results based on a preset attenuation model and a preset weight to obtain a final trust score, compare the final trust score with a preset overall threshold, if the comparison result does not meet a judgment condition, terminate the authentication, if the comparison result meets the judgment condition, the authentication is successful, and then generate first verification information based on the final trust score, the timestamp of the current gateway server, and the hash function H1; wherein, in the initial authentication process, the preset weight is set as: the identification factor weight is 1, and the identification factor weight is 0; after the initial authentication process, the preset weight is adjusted correspondingly based on the preset attenuation model.
[0239] The Internet of Things device is further configured to generate second verification information based on the timestamp of the corresponding gateway server of the first verification information and the hash function H1.
[0240] The Internet of Things device and the gateway server are further used for the Internet of Things device to generate second verification information based on a timestamp of the gateway server corresponding to the first verification information and a hash function H1, to perform matching verification on the first verification information and the second verification information, to terminate authentication if the first verification information and the second verification information do not match, and to perform key agreement based on the first verification information and the second verification information, to generate a session key by using a hash function H2, and to use the session key for subsequent communication.
[0241] The embodiment of the present application enhances the robustness of the authentication process by combining the multi-factor authentication design of the identification factor and the quasi-identification factor, ensures that the authentication can still be completed stably and accurately when the system is disturbed by the environment or slightly damaged, introduces the XOR filter for encryption, uses the Hamming distance to realize dynamic adjustment of the fault tolerance threshold, maintains the normal operation of the system in the case of system failure, reduces the risk of production and service interruption, uses the public key encryption technology combined with the lightweight encryption communication protocol, not only ensures the security of data transmission, but also specially considers the computing power limitation of the Internet of Things system. By implementing strict data access control, the privacy of user data is further consolidated; the preset decay model can intelligently adapt to the change of system behavior, identify abnormalities in time, reduce the impact on system performance, greatly reduce the system computing burden, and prolong the system endurance. The improvement of the secure multi-party computation technology not only reduces the computational complexity and communication cost, but also promotes the efficiency and privacy protection of data interaction.
[0242] For the above-mentioned system embodiment, since it is basically similar to the multi-factor fault-tolerant authentication method embodiment, the description is relatively simple, and the related parts can be referred to the part of the multi-factor fault-tolerant authentication method embodiment.
[0243] It should be noted that the system of the embodiment of the present application is a system applying the above-mentioned multi-factor fault-tolerant authentication method, and all embodiments of the above-mentioned multi-factor fault-tolerant authentication method are applicable to the system and can achieve the same or similar beneficial effects.
[0244] It should be noted that in the description of the present application, it should be understood that the terms "first" and "second" are only for the purpose of description, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features limited by "first" and "second" can explicitly or implicitly include one or more of the features. In the description of the present application, the meaning of "multiple" is two or more, unless otherwise specifically limited.
[0245] The various embodiments in the specification are described in a related manner, and the same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on the difference from other embodiments. In particular, for the system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the part of the method embodiments.
[0246] The above only describes the preferred embodiments of the present application, and is not used to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A privacy-preserving multi-factor fault-tolerant authentication method, characterized in that: Applied to a multi-factor fault-tolerant authentication system including a gateway server, an Internet of Things device, and a trusted institution, the method includes: The trusted institution generates and distributes a key pair based on the registration information of the gateway server as the public key and private key of the gateway server; the IoT device obtains the identification factor, generates a corresponding identifier and device key, and generates an XOR filter based on the identification factor and device key; the gateway server stores the XOR filter and selects hash functions H1 and H2 for publication; The IoT device obtains index information of the XOR filter based on the acquired identification factor to be authenticated and the device key, performs hash processing on the identification factor to obtain a corresponding hash value, obtains a message to be sent based on the hash value, the index information, and the timestamp of the current IoT device, and encrypts the message based on the public key of the gateway server to obtain a corresponding ciphertext; The gateway server decrypts the ciphertext based on the identifier and the private key of the gateway server to obtain a decrypted message, verifies the rationality of the timestamp of the IoT device corresponding to the decrypted message, authenticates the identification factor to be authenticated and the quasi-identification factor in the decrypted message respectively, obtains an identification factor authentication result and a quasi-identification factor authentication result, processes the identification factor authentication result and the quasi-identification factor authentication result based on a preset attenuation model and a preset weight, obtains a final trust score, compares the final trust score with a preset overall threshold, and if the judgment condition is not met, the authentication fails and the authentication is terminated; if the judgment condition is met, the authentication succeeds, and then generates first verification information based on the final trust score, the timestamp of the current gateway server, and the hash function H1; wherein, in the initial several authentication processes, the preset weights are set to: the identification factor weight is 1, and the quasi-identification factor weight is 0; after the initial several authentication processes, the preset weights are adjusted accordingly based on the preset attenuation model; The IoT device generates second verification information based on the timestamp of the gateway server corresponding to the first verification information and the hash function H1, and performs matching verification on the first verification information and the second verification information. If they do not match, the authentication is terminated. If they match, the IoT device and the gateway server perform key negotiation based on the first verification information and the second verification information, and use the hash function H2 to generate a session key for subsequent communication.
2. A privacy-preserving multi-factor fault-tolerant authentication method according to claim 1, characterized in that: The process of a trusted institution generating and distributing a key pair based on the registration information of the gateway server as the public key and private key of the gateway server includes: The trusted organization uses the public key cryptography Rabin algorithm based on the registration information of the gateway server to obtain and distribute the key pair (pk, sk); wherein, the pk represents the public key of the gateway server, which is published publicly by the trusted organization, and the sk represents the private key of the gateway server, which is sent by the trusted organization to the gateway server for storage.
3. The privacy-preserving multi-factor fault-tolerant authentication method according to claim 1, characterized in that: The process of the IoT device obtaining an identification factor, generating a corresponding identifier and a device key, and generating an XOR filter based on the identification factor and the device key includes: The IoT device obtains an identification factor, selects a random number as a corresponding identifier, and generates a first random number rk as the device key; Based on the identification factor, a threshold value τ of the Hamming distance is defined to obtain a fault-tolerant set F; the fault-tolerant set F is expressed as (f1, f2, ..., f j ,…,f σ ), f j represents the jth fault tolerance factor, j∈[1,σ]; Initialize the XOR filter XF; Generate a stack γ; the stack γ includes σ+1 identification groups, σ represents the total number of elements in the fault-tolerant set, and the identification group is represented by (f j ,Ind j ), Ind j represents f j Corresponding index information; The XOR filter XF is updated using a first formula, and the updated XOR filter XF is output; the first formula is as follows: Where M represents the mapping function, Represents a bitwise exclusive OR operation, and h0, h1, and h2 represent three independent hash functions selected by the algorithm.
4. The privacy-preserving multi-factor fault-tolerant authentication method according to claim 1, characterized in that: The identification factors include: fingerprint information; the quasi-identification factors include: authentication location and authentication time.
5. The privacy-preserving multi-factor fault-tolerant authentication method according to claim 1, characterized in that: The process of obtaining the index information of the XOR filter by the IoT device based on the acquired identification factor to be authenticated and the device key includes: The IoT device obtains the index information of the XOR filter using a second formula based on the acquired identification factor f to be authenticated and the device key; wherein the second formula is as follows: Ind α =h α (f,rk); Among them, α∈[0,2], h α represents the hash function selected during registration, and rk represents the device key.
6. A privacy-preserving multi-factor fault-tolerant authentication method according to claim 5, characterized in that: The process of performing hash processing on the alignment identification factor to obtain a corresponding hash value, obtaining a message to be sent based on the hash value, index information and the timestamp of the current IoT device, and encrypting the message based on the public key of the gateway server to obtain a corresponding ciphertext includes: The IoT device performs hash processing on each quasi-identification factor using the SHA-256 algorithm to obtain a hash value l after the quasi-identification factor is processed by the hash function. i ; Among them, l i =H(quasi-identification factor,rk), where H represents SHA-256 processing; Generate a second random number r1, and obtain the message m to be sent based on the timestamp, index information, and encrypted quasi-identification factor of the current IoT device; Based on the public key of the gateway server, the message m to be sent is encrypted using the R.Enc encryption algorithm to obtain the corresponding ciphertext c; wherein, m={r1||T1||M(f,rk)||Ind0||Ind1||Ind2||l i }; c=R.Enc(m,pk); T1 represents the timestamp of the current IoT device, M represents the mapping function, f represents the identification factor to be authenticated, rk represents the device key, || represents the connection operation, l i represents the hash value corresponding to the quasi-identification factor, and pk represents the public key of the gateway server.
7. The privacy-preserving multi-factor fault-tolerant authentication method according to claim 1, characterized in that: The gateway server decrypts the ciphertext based on the identifier and the private key of the gateway server to obtain a decrypted message, and verifies the rationality of the timestamp of the IoT device corresponding to the decrypted message, including: The gateway server decrypts the ciphertext c using the private key of the gateway server and the R.Dec decryption algorithm according to the identifier to obtain a decrypted message m′; wherein m′=R.Dec(c,sk), sk represents the private key of the gateway server; Verify whether the timestamp T1 of the IoT device corresponding to the decrypted message m′ is reasonable. If not, terminate the authentication process. If reasonable, continue with the subsequent processing.
8. The privacy-preserving multi-factor fault-tolerant authentication method according to claim 6, characterized in that: The process of authenticating the identification factor to be authenticated and the quasi-identification factor in the decrypted message respectively to obtain an identification factor authentication result and a quasi-identification factor authentication result includes: Based on the XOR filter corresponding to the decrypted message, the identification factor to be authenticated in the decrypted message is authenticated using the third formula. If the third formula is established, the identification factor to be authenticated is credible, and the identification factor authentication result R is obtained. d ; The third formula is as follows: M(f,rk)=XF[Ind0]⊕XF[Ind1]⊕XF[Ind2]; For each quasi-identification factor in the decrypted message, the quasi-identification factor is stored in a non-relational database Redis, the number of occurrences of the quasi-identification factor is counted, and the number of occurrences is compared with a preset threshold corresponding to the quasi-identification factor. If the number is greater than or equal to the preset threshold, the quasi-identification factor is considered credible; if the number is less than the preset threshold, the quasi-identification factor is considered uncredible, thereby obtaining a credibility judgment for each quasi-identification factor; Based on the weight information corresponding to each quasi-identification factor, the credibility judgment corresponding to the quasi-identification factor is processed to obtain the quasi-identification factor credibility. The quasi-identification factor credibility is compared with the first threshold. If it is greater than or equal to the first threshold, the quasi-identification factor is considered to be credible as a whole. If it is less than the first threshold, the quasi-identification factor is considered to be untrustworthy as a whole, thereby obtaining the quasi-identification factor authentication result R a .
9. A privacy-preserving multi-factor fault-tolerant authentication method according to claim 8, characterized in that: The process of processing the identification factor authentication result and the quasi-identification factor authentication result based on the preset attenuation model and the preset weight to obtain a final credibility score, comparing the final credibility score with a preset overall threshold, and terminating the authentication if the judgment condition is not met; and succeeding the authentication if the judgment condition is met, includes: The decay rate is obtained based on the preset decay model and the interval time of adjacent authentication processes. The preset attenuation model is as follows: Where t represents the interval between adjacent authentication processes, λ represents the parameter used to control the decay rate, 0<λ<1, It represents the decay rate obtained according to the input interval time, and e represents the natural constant in the mathematical definition; Based on the decay rate The final credibility score is obtained using the fourth formula; the fourth formula is as follows: Among them, S a Indicates preset weight; The final trust score is compared with the preset overall threshold. If the final trust score is greater than or equal to the preset overall threshold and meets the judgment conditions, the authentication is judged to be successful and the subsequent processing process continues. If the final trust score is less than the preset overall threshold and does not meet the judgment conditions, the authentication fails and the authentication is terminated.
10. A privacy-preserving multi-factor fault-tolerant authentication system, characterized in that: include: Gateway servers, IoT devices, and trusted institutions; among them, The trusted institution is used to generate and distribute a key pair based on the registration information of the gateway server as the public key and private key of the gateway server; The IoT device is configured to obtain an identification factor, generate a corresponding identifier and a device key, generate an XOR filter based on the identification factor and the device key, obtain index information of the XOR filter based on the obtained identification factor to be authenticated and the device key, perform hash processing on the identification factor to obtain a corresponding hash value, obtain a message to be sent based on the hash value, the index information, and a timestamp of the current IoT device, and encrypt the message based on the public key of the gateway server to obtain a corresponding ciphertext; The gateway server is configured to store the XOR filter and select hash functions H1 and H2 for publication, decrypt the ciphertext based on the identifier and the private key of the gateway server to obtain a decrypted message, verify the rationality of the timestamp of the IoT device corresponding to the decrypted message, authenticate the identification factor to be authenticated and the quasi-identification factor in the decrypted message respectively to obtain an identification factor authentication result and a quasi-identification factor authentication result, process the identification factor authentication result and the quasi-identification factor authentication result based on a preset attenuation model and preset weights to obtain a final trust score, compare the final trust score with a preset overall threshold, and if the judgment condition is not met, the authentication fails and the authentication is terminated; if the judgment condition is met, the authentication succeeds, and then generate first verification information based on the final trust score, the timestamp of the current gateway server, and the hash function H1; wherein, during the initial several authentication processes, the preset weights are set to: the identification factor weight is 1, and the quasi-identification factor weight is 0; after the initial several authentication processes, the preset weights are adjusted accordingly based on the preset attenuation model; The IoT device is further configured to generate second verification information based on a timestamp of the gateway server corresponding to the first verification information and the hash function H1; The Internet of Things device and the gateway server are also used to generate second verification information based on the timestamp of the gateway server corresponding to the first verification information and the hash function H1, and perform matching verification on the first verification information and the second verification information. If they do not match, the authentication is terminated; if they match, key negotiation is performed based on the first verification information and the second verification information, and a session key is generated using the hash function H2 for subsequent communication.
Citation Information
Patent Citations
Multi-factor authentication method based on zero trust
CN113824732A
Multi-factor authentication system and method with verifiable attribute
CN115242435A