An IIoT authentication scheme based on trusted execution environment and computing state credentials

By adopting a computing state credential method based on a trusted execution environment in industrial IoT devices, the problems of communication security and authentication table loss of IoT devices are solved, and a secure identity authentication and key negotiation process is realized.

CN116800432BActive Publication Date: 2024-12-17LANZHOU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310807423.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-04
Publication Date
2024-12-17
Estimated Expiration
2043-07-04

AI Technical Summary

Technical Problem

The communication of existing industrial IoT devices in public channels is vulnerable to attacks, resulting in risks of eavesdropping, interception and tampering. The dynamic authentication credential update cycle is synchronized with the login frequency, and there is a risk of stored-state credential leakage and authentication table loss.

Method used

Using a authentication method based on a trusted execution environment and computed state credentials, it generates and manages computed state credentials through six stages: initialization, user registration, industrial field equipment registration, authentication and key exchange, dynamic updates and password changes, and avoids storage. Status credentials, using TEE to ensure data integrity and confidentiality.

Benefits of technology

The calculation state generation of credentials is realized, the risk of storage state leakage is avoided, the security of the authentication and key negotiation process is ensured, and the problem of loss of authentication tables in traditional methods is solved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116800432B_ABST
    Figure CN116800432B_ABST
Patent Text Reader

Abstract

The present invention relates to an industrial Internet of Things authentication scheme based on a trusted execution environment and computing state credentials. With the widespread application of Internet of Things technology in the industrial field, the security of the Industrial Internet of Things (IIoT) has become a focus of attention. Existing schemes based on dynamic authentication credentials have the risk of credential storage and authentication table loss. To solve these problems, the present invention introduces a trusted execution environment (TEE) for confidential computing, realizes the computing state of credentials, avoids the risk of credential storage, and ensures the confidentiality and integrity of data. The scheme includes six stages, covering initialization, user registration, device registration, authentication and key exchange, dynamic update and password change. Through this scheme, the security of the industrial Internet of Things authentication process is enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of confidential computing, and in particular to an industrial Internet of Things authentication method based on a trusted execution environment and computing state credentials. Background Art

[0002] The application of IoT technology in the industrial field has brought development opportunities to the industry and achieved positive economic and production benefits. The Industrial Internet of Things (IIoT) is widely used in key infrastructure related to national economy and people's livelihood, such as power production and transmission, petroleum industry, railways, and aerospace industry. However, the application of IIoT also brings additional security risks. Attacks against IIoT are often not limited to the data level. Attacks on IIoT can directly threaten critical infrastructure and cause serious consequences. Since the communication of IIoT devices in public channels is open and unreliable, it may lead to eavesdropping, interception, and tampering. Therefore, it is necessary to establish a secure authentication method to protect the security of IIoT data and instructions.

[0003] In recent years, authentication methods based on dynamic authentication credentials (DAC) have achieved better security by updating the credentials used for key negotiation after the authentication phase. However, the DAC update cycle is synchronized with the user's login frequency. In the interval between two logins, the credentials or the credential pseudonym are statically stored on the device, and the device will not deny malicious code access to the credentials for matching attacks, which means that if the time interval is long enough, even encrypted stored credentials are still at risk of leakage. In addition, since the credentials are in an updated state, the gateway needs to store the authentication table of the user-credential relationship in memory, which brings additional risks of authentication table loss. Therefore, new methods are needed to protect authentication credentials.

[0004] The trusted execution environment (TEE) of confidential computing can provide data confidentiality, data integrity, and code integrity. With the help of TEE, our method realizes the computing state of credentials. Credentials are not stored in any form and are only temporarily generated at runtime, avoiding the risks of stored credentials. At the same time, since TEE ensures that unauthorized entities cannot view, add, delete, or change data, the integrity and confidentiality of the data required to generate credentials are guaranteed, further ensuring the security of the industrial Internet of Things authentication process. Summary of the invention

[0005] In order to solve the problem of storage state credentials, the present invention provides an industrial Internet of Things authentication method based on a trusted execution environment and computing state credentials. It includes six stages: initialization stage, user registration stage, industrial field equipment registration stage, authentication and key exchange stage, dynamic update stage, and password change stage:

[0006] Furthermore, in the initialization phase, SA writes configuration information to GW and IFD, specifically:

[0007] S11: SA configures a confidential computing environment for the gateway GW, and then generates a master key K for GW to implement the computing state credential. GW , and save it in TEE;

[0008] S12: SA writes basic configuration parameters and operation functions for GW and IFD, including: hardware id, connection operation ||, hash algorithm h(), hash algorithm HMAC message and xor operation;

[0009] S13: SA generates a pair of public and private keys for each gateway GW, namely the public key K P and private key K V , SA stores the public key K P And the corresponding gateway information, the gateway stores the private key K V ,After initialization, GW can be deployed in the workspace;

[0010] Furthermore, the user registration stage is specifically as follows:

[0011] S21: U and SA establish a reliable communication physical adjacent space to achieve information consistency between U and SA;

[0012] S22:U inserts the SC card into the client and obtains the local storage information ID SC , then enter the ID i ,BIO i ,PW i ,calculate:

[0013] (σ i ,τ i )=Gen(BIO i ),UID i =h(ID SC ||σ i ),

[0014] U requests UID from SA i Corresponding RN SA , and calculate:

[0015] RPW i =h(ID SC ||σ i ||PW i ),V=h(UID i ||RPW i )

[0016] SA provides ID to U GW and K P, U generates the current timestamp TS1 and the master key K i old calculate:

[0017]

[0018] The client sends a message m1 to GW = {MSG i ,TS1};

[0019] S23: GW checks the freshness of TS1. If it is not fresh, it rejects the registration. If it is fresh, it calculates GW Check Is it equal to TS1? Otherwise, refuse to register. If they are equal, get the ID. GW And the key pair Save in the TEE area, generate the current timestamp TS2 and calculate:

[0020]

[0021] Send message m2 to the client = {MSG GW ,TS2};

[0022] S24:U checks the freshness of TS2, and if fresh, calculates:

[0023]

[0024] examine Is it equal to ACK? GW If so, the key-value pair Save in the TEE area, {V,τ i}Save to SC card;

[0025] where k p With k v It is the public key and private key pair generated during the registration phase.

[0026] Furthermore, the specific process of the industrial field equipment registration phase is as follows:

[0027] S31: IFD and SA establish a reliable physical adjacent space to achieve information consistency between IFD and SA;

[0028] S32: IFD obtains its own ID j , SA provides the unique ID of the target GW GW and the corresponding public key K P , then generate a random number And calculate:

[0029]

[0030]

[0031] IFD generates a new timestamp TS1 and uses the public key K P Encrypted information:

[0032]

[0033] Then send a registration message m1={MSG j ,TS1};

[0034] S33: After receiving the registration request message m1, GW checks the freshness of the timestamp TS1. If it is not fresh, it will reject the registration and request resending. GW uses the private key K v Decrypt the information:

[0035] Then check if TS1 is equal to If they are not equal, GW rejects the registration and requests retransmission of m1. GW sends ID j , Input into TEE and save the key-value pair Then GW generates a new timestamp TS2 and calculates:

[0036]

[0037] GW sends message m2 to IFD = {MSG GW ,TS2};

[0038] S34: IFD receives message m2 and checks the freshness of timestamp TS2; if it is not fresh, it discards it and requests retransmission, if it is fresh, IFD calculates:

[0039]

[0040] Check ACK GW and Are they equal? ​​If not, discard and request retransmission; if equal, save where k p With k v It is the public key and private key pair generated during the registration phase.

[0041] Furthermore, the specific process of the authentication and key exchange phase is as follows:

[0042] S41: Insert the SC card into the client and obtain the ID SC ,V,τ i , then, U inputs PW i 、BIO iand the ID of the target field device j ,calculate:

[0043] σ i =Rep(BIO i ,τ i ),UID i =h(ID SC ||σ i ),RPW i =h(ID SC ||σ i ||PW i ),

[0044] V * =h(UID i ||RPW i )

[0045] Check V * Is it equal to V? If not, the authentication fails and the login is rejected. If successful, the UID i Enter the TEE area by UID i get And calculate:

[0046]

[0047] Return from TEE calculate:

[0048]

[0049] The client generates a random number R i and the new timestamp TS1, calculate:

[0050]

[0051] S42: The client sends a message to the GW GW checks the freshness of TS1, and if it is fresh, obtains the ID GW , and Input into the enclave, according to match calculate:

[0052]

[0053] Then calculate:

[0054]

[0055] examine Is it equal to 1? If not, the message has been tampered with and the authentication fails. If successful, the IDj match calculate:

[0056]

[0057] Generate a new timestamp TS2 and calculate:

[0058]

[0059] Send messages to industrial terminal nodes IFD

[0060] S43: IFD checks the freshness of TS2. If it is not fresh, the negotiation fails. If it succeeds, IFD obtains the ID j 、ID GW , And calculate:

[0061]

[0062] examine Is it equal to 1? If not, the message has been tampered with and the negotiation fails. If successful, IFD generates a random number R j and a new timestamp TS3, at which point the session key components R i Acquired by IFD.

[0063] IFD calculation:

[0064]

[0065] KEY ij =h(R i ||R j )

[0066] And send message m3 = {PKS3, q3, TS3} to GW; at this time, the session key KEY is successfully calculated on IFD ij ;

[0067] S44: GW checks the freshness of TS3. If it is not fresh, the negotiation fails. If it succeeds, it calculates:

[0068]

[0069] GW Check Is it equal to 1? If not, the negotiation fails. If successful, the GW generates a new timestamp TS4 and calculates:

[0070]

[0071] Then send message m4={PKS4,q4,TS4} to U;

[0072] S45:U checks the freshness of TS4 and calculates:

[0073]

[0074] Then U check: Is it equal to 1? If so, calculate:

[0075] KEY ij =h(R i ||R j )

[0076] At this point, the session key KEY is successfully calculated on U ij ;

[0077] Among them, Rep() is the bioinformatics verification function corresponding to the bioinformatics generation function Gen(); () is the hash message authentication code The corresponding verification function can verify the data integrity by checking whether its value is 1, ID GW Is the gateway's identification code.

[0078] Furthermore, in the dynamic update phase, the specific process is as follows:

[0079] S51: GW generates a new timestamp TS5 and calculates

[0080] Enter R into TEE j , TS3 and calculate

[0081] GW Update And send message m5={q5,TS5} to IFD

[0082] S52:U generates a new timestamp TS6 and calculates

[0083] Enter R into TEE i ,TS3 and calculate

[0084] U Update And send message m6={q6,TS6} to GW. At this time, the client completes the master key Updates;

[0085] S53: The gateway GW checks the freshness of TS6. If it is fresh, it calculates: Is it equal to 1? If it passes the verification, update

[0086] S54: IFD checks the freshness of TS5, if fresh, then checks Is it equal to 1? If it passes the check, calculate:

[0087]

[0088] Industrial Field Device IFD Update

[0089] in, Is a hash message authentication code The corresponding verification function can verify data integrity by checking whether its value is 1.

[0090] Furthermore, in the password change phase, the specific process is as follows:

[0091] S61:U inserts SC into the login terminal, and the terminal obtains the smart card ID SC , V, τ i , U enters personal information ID i , PW i , BIO i

[0092] S62:U terminal calculation:

[0093] σ i =Rep(BIO i ,τ i ),UID i =h(ID SC ||σ i ),RPW i =h(ID SC ||σ i ||PW i ),V * =h(UID i ||RPW i )

[0094] And check V * Whether it is equal to V, if not, the terminal rejects the password change request, otherwise, U will be verified and the password change is allowed to continue;

[0095] S63:UEnter new password PW i new , calculate RPW i new =h(ID SC ||σ i ||PW i new ) and V new =h(UID i ||RPW inew ), V new Update input SC;

[0096] Among them, Rep() is the bioinformatics verification function corresponding to the bioinformatics generation function Gen();

[0097] The above work implements a computing credential authentication method based on TEE, and finally realizes secure identity authentication and key negotiation between the access subject and the object, which can be used as an implementation method of the industrial Internet of Things. The present invention has at least the following technical effects or advantages:

[0098] 1. The present invention solves the shortcoming of synchronization between the credential update frequency and the login frequency of the dynamic authentication credential (DAC), realizes the calculation state of the credential, which is not stored in any form and is only temporarily generated at runtime, thus avoiding the problem of storage state credential leakage caused by excessive update intervals.

[0099] 2. The present invention maintains the key encryption authentication table through a trusted execution environment, thereby solving the problem of possible authentication table loss in the traditional method of storing the authentication table of the user and credential relationship in the memory, and further ensuring the security of the authentication and session key negotiation process.

[0100] In summary, the present invention can effectively protect the key negotiation credentials and the authentication table, and realize a secure identity authentication and key negotiation process. BRIEF DESCRIPTION OF THE DRAWINGS

[0101] Figure 1 This is the overall architecture diagram of the system of the present invention;

[0102] Figure 2 It is a diagram of the user registration stages.

[0103] Figure 3 It is a diagram of the industrial field equipment registration stages.

[0104] Figure 4 This is a diagram of the login and key negotiation phases.

[0105] Figure 5 These are the OFMC and CL-AtSe security simulation results of the protocol on AVISPA. DETAILED DESCRIPTION

[0106] In order to make the purpose, technical methods and advantages of the present invention more clear, the embodiments of the present invention will be further described below with reference to the accompanying drawings and tables.

[0107] For better explanation, this section first explains the industrial Internet of Things architecture.

[0108] Please refer to Figure 1 , Figure 1It is a simple industrial Internet of Things structure diagram, including users (U), gateways (GW), industrial field devices (IFD), and super administrators (SA). The present invention is a method for implementing identity authentication and key negotiation in an unreliable public channel of IIoT based on a trusted execution environment and computing state credentials. U is the user of the system, the user of control instructions and data, and is equipped with a trusted execution environment; GW carries the function of forwarding data, stores authentication tables and data of computing negotiation credentials, assists in authentication and key negotiation, and is equipped with a trusted execution environment; IFD is the carrier of instructions, executes control instructions, and collects industrial data. Since IFD is often in abnormal environments such as high temperature and high pressure, or even in a remote location that is difficult to reach, it is difficult to retrieve once deployed. The types of equipment are diverse and the carrying computing capabilities are different. Therefore, for cost and availability considerations, IFD is not equipped with a trusted execution environment.

[0109] Furthermore, to facilitate the explanation of related variable constants, this application first provides a unified explanation of the relevant parameter superscripts, subscripts and parameters themselves:

[0110] The following scalar and variable descriptions all use subscripts i, j, GW and SC to indicate data ownership. i indicates variables and constants from user U, j indicates variables and constants from industrial field devices IFD, GW indicates variables and constants from gateway GW, and SC indicates variables and constants from smart cards; superscripts old and new are used to distinguish between new and old values ​​during the update process; superscript * indicates that the value comes from calculation, and accordingly, the same value without superscript * comes from local storage, and its comparison operation is a verification process. ⊕ indicates exclusive or operation; h(·) indicates a one-way hash function; || indicates a connector;

[0111] Furthermore, the key functions and variable explanations are shown in Table 1:

[0112]

[0113] Please refer to Figure 2 ; Figure 2 It is the user registration stage;

[0114] The user registration stage is specifically as follows:

[0115] S21: U and SA establish a reliable communication physical adjacent space to achieve information consistency between U and SA;

[0116] S22:U inserts the SC card into the client and obtains the local storage information ID SC , then enter the ID i ,BIO i ,PW i ,calculate:

[0117] (σ i,τ i )=Gen(BIO i ),UID i =h(ID SC ||σ i ),

[0118] U requests UID from SA i Corresponding RN SA , and calculate:

[0119] RPW i =h(ID SC ||σ i ||PW i ),V=h(UID i ||RPW i )

[0120] SA provides ID to U GW and K P , U generates the current timestamp TS1 and generates the master key calculate:

[0121]

[0122] The client sends a message m1 to GW = {MSG i ,TS1};

[0123] S23: GW checks the freshness of TS1. If it is not fresh, it rejects the registration. If it is fresh, it calculates GW Check Is it equal to TS1? Otherwise, refuse to register. If they are equal, get the ID. GW And the key pair Save in the TEE area, generate the current timestamp TS2 and calculate:

[0124]

[0125] Send message m2 to the client = {MSG GW ,TS2};

[0126] S24:U checks the freshness of TS2, and if fresh, calculates:

[0127]

[0128] examine Is it equal to ACKG? W, If yes, then the key-value pair Save in the TEE area, {V,τ i}Save to SC card;

[0129] where kp With k v It is the public key and private key pair generated during the registration phase.

[0130] Please refer to Figure 3 ; Figure 3 This is the industrial field equipment registration stage; the specific process of the industrial field equipment registration stage is as follows:

[0131] S31: IFD and SA establish a reliable physical adjacent space to achieve information consistency between IFD and SA;

[0132] S32: IFD obtains its own ID j , SA provides the unique ID of the target GW GW and the corresponding public key K P , then generate a random number And calculate:

[0133]

[0134] IFD generates a new timestamp TS1 and uses the public key K P Encrypted information:

[0135]

[0136] Then send a registration message m1={MSG j ,TS1};

[0137] S33: After receiving the registration request message m1, GW checks the freshness of the timestamp TS1. If it is not fresh, it will reject the registration and request resending. GW uses the private key K v Decrypt the information:

[0138] Then check if TS1 is equal to If they are not equal, GW rejects the registration and requests retransmission of m1. GW sends ID j , Input into TEE and save the key-value pair Then GW generates a new timestamp TS2 and calculates:

[0139]

[0140] GW sends message m2 to IFD = {MSG GW ,TS2};

[0141] S34: IFD receives message m2 and checks the freshness of timestamp TS2; if it is not fresh, it discards it and requests retransmission, if it is fresh, IFD calculates:

[0142]

[0143] Check ACK GW and Are they equal? ​​If not, discard and request retransmission; if equal, save where k p With k v It is the public key and private key pair generated during the registration phase.

[0144] Please refer to Figure 4 ; Figure 4 Including login and key negotiation stage; the specific process of the login and key negotiation stage is: S41: insert the SC card into the client and obtain the ID SC ,V,τ i , then, U inputs PW i 、BIO i and the ID of the target field device j ,calculate:

[0145] σ i =Rep(BIO i ,τ i ),UID i =h(ID SC ||σ i ),RPW i =h(ID SC ||σ i ||PW i ),

[0146] V * =h(UID i ||RPW i )

[0147] Check V * Is it equal to V? If not, the authentication fails and the login is rejected. If successful, the UID i Enter the TEE area by UID i get And calculate:

[0148]

[0149] Return from TEE calculate:

[0150]

[0151] The client generates a random number R i and the new timestamp TS1, calculate:

[0152]

[0153]

[0154] S42: The client sends a message to the GW GW checks the freshness of TS1, and if it is fresh, obtains the ID GW , and Input into the enclave, according to match calculate:

[0155]

[0156] Then calculate:

[0157]

[0158] examine Is it equal to 1? If not, the message has been tampered with and the authentication fails. If successful, the ID j match calculate:

[0159]

[0160] Generate a new timestamp TS2 and calculate:

[0161]

[0162] Send messages to industrial terminal nodes IFD

[0163] S43: IFD checks the freshness of TS2. If it is not fresh, the negotiation fails. If it succeeds, IFD obtains the ID j 、ID GW , And calculate:

[0164]

[0165] examine Is it equal to 1? If not, the message has been tampered with and the negotiation fails. If successful, IFD generates a random number R j and a new timestamp TS3, at which point the session key components R i Acquired by IFD.

[0166] IFD calculation:

[0167]

[0168] KEY ij =h(Ri ||R j )

[0169] And send message m3 = {PKS3, q3, TS3} to GW; at this time, the session key KEY is successfully calculated on IFD ij ;

[0170] S44: GW checks the freshness of TS3. If it is not fresh, the negotiation fails. If it succeeds, it calculates:

[0171]

[0172] GW Check Is it equal to 1? If not, the negotiation fails. If successful, the GW generates a new timestamp TS4 and calculates:

[0173]

[0174] Then send message m4={PKS4,q4,TS4} to U;

[0175] S45:U checks the freshness of TS4 and calculates:

[0176]

[0177] Then U check: Is it equal to 1? If so, calculate:

[0178] KEY ij =h(R i ||R j )

[0179] At this point, the session key KEY is successfully calculated on U ij ;

[0180] Among them, Rep() is the bioinformatics verification function corresponding to the bioinformatics generation function Gen(); R i is the random number of the session key generated by the client in the S41 phase, R j It is the random number of the session key generated by IFD in the S43 phase; Is a hash message authentication code The corresponding verification function can verify the data integrity by checking whether its value is 1, ID GW Is the gateway's identification code.

[0181] Please refer to Figure 4 ; Figure 4 It includes a dynamic update phase; the specific process of the dynamic update phase is as follows:

[0182] S51: GW generates a new timestamp TS5 and calculates

[0183] Enter R into TEE j , TS3 and calculate

[0184] GW Update And send message n5={q5,TS5} to IFD

[0185] S52:U generates a new timestamp TS6 and calculates

[0186] Enter R into TEE i ,TS3 and calculate

[0187] U Update And send message m6={q6,TS6} to GW. At this time, the client completes the master key Updates;

[0188] S53: The gateway GW checks the freshness of TS6. If it is fresh, it calculates: Is it equal to 1? If it passes the verification, update

[0189] S54: IFD checks the freshness of TS5, if fresh, then checks Is it equal to 1? If it passes the check, calculate:

[0190]

[0191] Industrial Field Device IFD Update

[0192] in, Is a hash message authentication code The corresponding verification function can verify data integrity by checking whether its value is 1.

[0193] The password change phase, details are as follows:

[0194] S61:U inserts SC into the login terminal, and the terminal obtains the smart card ID SC , V, τ i , U enters personal information ID i , PW i , BIO i

[0195] S62:U terminal calculation:

[0196] σ i =Rep(BIO i ,τ i),UID i =h(ID SC ||σ i ),RPW i =h(ID SC ||σ i ||PW i ),V * =h(UID i ||RPW i )

[0197] And check V * Is it equal to V? If not, the terminal rejects the password change request. Otherwise, U is verified and the password change is allowed to continue.

[0198] S63:UEnter new password calculate and V new =h(UID i ||RPW i new ), V new The updated input SC is: Rep() is the bioinformation verification function corresponding to the bioinformation generation function Gen();

[0199] Please refer to Figure 5 ; Figure 5 These are the OFMC and CL-AtSe simulation results of this protocol, and the security of the protocol is proved by simulation software.

[0200] In summary, the industrial Internet of Things authentication method based on a trusted execution environment and computing state credentials described in the present invention is completed.

[0201] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. However, once those skilled in the art know the basic creative concept, they can make other changes and modifications to these embodiments. Therefore, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. An IIoT authentication method based on a trusted execution environment and computing state credentials, characterized in that: The method is based on a trusted execution environment, and a confidential computing environment is installed on the gateway and the user end, achieving two functions:

1. Based on the trusted execution environment, the calculation state of the user negotiation credentials in the session key of the authentication process is realized. The credentials are not stored in any form and are only temporarily generated at runtime, which solves the leakage risk of traditional storage state user credentials due to the synchronization of update frequency and login frequency; 2. Based on the trusted execution environment, the integrity and confidentiality protection of the indirect data required to generate the key negotiation credentials is realized, further ensuring the security of the session key negotiation process; In order to realize the secure identity authentication and session key negotiation of the three communicating parties, the method includes six stages, namely: initialization stage, user (U) registration stage, industrial field device (IFD) registration stage, authentication and key exchange stage, dynamic update stage, password change stage; Among them, the Trusted Execution Environment (TEE) refers to the secure hardware environment provided by confidential computing technology. It is deployed on the gateway and user side, which can protect the integrity and confidentiality of the code and data therein, and realize the computing state of user-negotiated credentials; Among them, the calculation state of realizing the session key negotiation credential means that the user credentials required for negotiating the temporary key are not directly stored, and the dynamic random number of the credential is generated through the trusted execution environment protection. When in use, the credential is calculated instantly using the security function encapsulated by the trusted execution environment to realize the "one-time one-key" of the credential.

2. The IIoT authentication method based on a trusted execution environment and computing state credentials as claimed in claim 1, characterized in that: In the initialization phase, the super administrator (SA) writes configuration information to the gateway (GW) and the industrial field device (IFD). The specific process is as follows: S11: SA configures a confidential computing environment for the gateway GW, and then generates a master key K for GW to implement the computing state credential. GW , and save it in TEE; S12: SA writes basic configuration parameters and operation functions for GW and IFD, including: hardware id, connection operation ||, hash algorithm h(), hash algorithm HMAC message and xor operation; S13: SA generates a pair of public and private keys for each gateway GW, namely the public key K P and private key k V , SA stores the public key K P And the corresponding gateway information, the gateway stores the private key K V ,After initialization, GW can be deployed in the workspace.

3. The IIoT authentication method based on a trusted execution environment and computing state credentials as claimed in claim 1, characterized in that: The user registration stage is specifically as follows: S21: U and SA establish a reliable physical adjacent space to achieve information consistency between U and SA; S22: U inserts the SC card into the client and obtains the local storage information ID SC , then enter the ID i , BIO i , PW i ,calculate: (σ i ,t i )=Gen(BIO i ), UID i =h(ID SC ||σ i ), U requests UID from SA i Corresponding RN SA , and calculate: RPW i =h(ID SC ||σ i ||PW i ), V=h(UID i ||RPW i ) SA provides ID to U GW and K P , U generates the current timestamp TS1 and generates the master key calculate: The client sends a message m1 to GW = {MSG i ,TS1}; S23: GW checks the freshness of TS1. If it is not fresh, it rejects the registration. If it is fresh, it calculates GW Check Is it equal to TS1? Otherwise, refuse to register. If they are equal, get the ID. GW And the key pair Save in the TEE area, generate the current timestamp TS2 and calculate: ACK GW =h(ID GW ||TS2), Send message m2 to the client = {MSG GW ,TS2}; S24: U checks the freshness of TS2, if fresh, calculates: examine Is it equal to ACK? GW If so, the key-value pair Save in the TEE area, {V, τ i }Save to SC card; Where K P With K v It is the public key and private key pair generated during the registration phase.

4. The IIoT authentication method based on a trusted execution environment and computing state credentials as claimed in claim 1, characterized in that: The specific process of the industrial field equipment registration stage is as follows: S31: IFD and SA establish a reliable physical adjacent space to achieve information consistency between IFD and SA; S32: IFD obtains its own ID j , SA provides the unique ID of the target GW GW and the corresponding public key K P , then generate a random number And calculate: IFD generates a new timestamp TS1 and uses the public key K P Encrypted information: Then send a registration message m1={MSG j ,TS1}; S33: After receiving the registration request message m1, GW checks the freshness of the timestamp TS1. If it is not fresh, it will reject the registration and request resending. GW uses the private key K v Decrypt the information: Then check if TS1 is equal to If they are not equal, GW rejects the registration and requests retransmission of m1. GW sends ID j , Input into TEE and save the key-value pair Then GW generates a new timestamp TS2 and calculates: ACK GW =h(ID GW ||TS2), GW sends message m2 to IFD = {MSG GW ,TS2}; S34: IFD receives message m2 and checks the freshness of timestamp TS2; if it is not fresh, it discards it and requests retransmission. If it is fresh, IFD calculates: Check ACK GW and Are they equal? ​​If not, discard and request retransmission; if equal, save Where K P With K v It is the public key and private key pair generated during the registration phase.

5. The IIoT authentication method based on a trusted execution environment and computing state credentials as claimed in claim 1, characterized in that: The specific process of the authentication and key exchange phase is as follows: S41: Insert the SC card into the client and obtain D SC , V, τ i , then, U inputs PW i 、BIO i and the ID of the target field device j ,calculate: σ i =Rep(BIO i ,τ i ), UID i =h(ID SC ||σ i ),RPW i =h(ID SC ||σ i ||PW i ),V * =h(UID i ||RPW i ) Check V * Is it equal to V? If not, the authentication fails and the login is rejected. If successful, the UID i Enter the TEE area by UID i get And calculate: Return from TEE calculate: The client generates a random number R i and the new timestamp TS1, calculate: S42: The client sends a message to the GW GW checks the freshness of TS1, and if it is fresh, obtains the ID GW , and Input into the enclave, according to Match UIDi, calculate: Then calculate: examine Is it equal to 1? If not, the message has been tampered with and the authentication fails. If successful, the ID j Match ID j , calculate: Generate a new timestamp TS2 and calculate: Send messages to industrial terminal nodes IFD S43: IFD checks the freshness of TS2. If it is not fresh, the negotiation fails. If it succeeds, IFD obtains the ID j 、ID GW , And calculate: examine Is it equal to 1? If not, the message has been tampered with and the negotiation fails. If successful, IFD generates a random number R j and a new timestamp TS3, at which point the session key components R i Acquired by IFD; IFD calculation: And send message m3 = {PKS3, q3, TS3) to GW; at this time, the session key KEY is successfully calculated on IFD ij ; S44: GW checks the freshness of TS3. If it is not fresh, the negotiation fails. If it succeeds, it calculates: GW Check Is it equal to 1? If not, the negotiation fails. If successful, the GW generates a new timestamp TS4 and calculates: Then send message m4={PKS4, q4, TS4} to U; S45:U checks the freshness of TS4 and calculates: Then U check: Is it equal to 1? If so, calculate: KEY ij =h(R i ||R j ) At this point, the session key KEY is successfully calculated on U ij Among them, Rep() is the bioinformatics verification function corresponding to the bioinformatics generation function Gen(); R i is the random number of the session key generated by the client in the S41 phase, R j It is the random number of the session key generated by IFD in the S43 phase; Is a hash message authentication code The corresponding verification function can verify the data integrity by checking whether its value is 1, ID GW is the gateway's identification code.

6. The IIoT authentication method based on a trusted execution environment and computing state credentials as claimed in claim 1, characterized in that: The specific process of the dynamic update stage is as follows: S51: GW generates a new timestamp TS5 and calculates Enter R into TEE j , TS3 and calculate GW Update And send message m5={q5, TS5} to IFD; S52: U generates a new timestamp TS6 and calculates Enter R into TEE i , TS3 and calculate U Update And send message m6 = {q6, TS6} to GW. At this time, the client completes the master key Updates; S53: The gateway GW checks the freshness of TS6. If it is fresh, it calculates: Is it equal to 1? If it passes the verification, update S54: IFD checks the freshness of TS5, if fresh, then checks Is it equal to 1? If the check passes, then calculate: Industrial Field Device IFD Update in, yes The corresponding verification function can verify data integrity by checking whether its value is 1.

7. The IIoT authentication method based on a trusted execution environment and computing state credentials as claimed in claim 1, characterized in that: In the password change phase, the protocol implements local changes to the user's password. After authentication, the password is changed locally without exchanging information with the GW. The details are as follows: S61: U inserts SC into the login terminal, and the terminal obtains the smart card ID SC , V, τ i , U enters personal information ID i , PW i , BIO i S62: U terminal calculation: σ i =Rep(BIO i ,τ i ), UID i =h(ID SC ||σ i ), RPW = h(ID SC ||σ i ||PW i ),V * =h(UID i ||RPW) And check V * Is it equal to V? If not, the terminal rejects the password change request. Otherwise, U is verified and the password change is allowed to continue. S63: U enter new password PW i new , calculate RPW new =h(ID SC ||σ i ||PW i new ) and V new =h(UID i ||RPW new ), V new Update input SC; Among them, Rep() is the biometric information verification function corresponding to the biometric information generation function Gen().