The present invention relates to a technical method of identity authentication by using double cryptographic values and a chaotic encryption key negotiation algorithm in an industrial measurement and control network, and belongs to the field of security of the industrial control network.
With the gradual acceleration of industrial informationization degree of China, more and more communication technologies and embedded applications are applied to industrial production networks. While the convenience generated by the high and new technology for the production process is enjoyed, the information security problem of different degrees is also reflected. Once some uncontrolled devices are connected to an industrial measurement and control network, a core device of a production system may be attacked through, for example, denial of service attack or penetration mining of communication protocols; the application configuration or firmware information of the device is changed to obtain a highest control authority of the system; and then, the operating state of the entire system may be in uncontrollable risks. Therefore, to solve the problem that the traditional industrial control network lacks of an authentication technical system, an identity authentication technology needs to be integrated into the existing industrial measurement and control network to achieve secure connection of trusted authentication nodes.
Most of the current industrial measurement and control systems use a PKI-based authentication system to realize identity authentication and access permission control. The traditional USBKey-based PKI identity authentication method has the characteristics of long key, dynamic change of identity authentication credential, high security and convenient use. However, complex digital credential issuance and long credential verification structure often exist in the application scenarios of the industrial measurement and control systems, which limit the actual verification efficiency. Moreover, various embedded terminal devices in the application scenarios of the industrial measurement and control systems have limited computing capability and limited computing resources, and it is difficult to quickly and efficiently perform cryptographic operation involving multiple rounds of iteration. Therefore, a set of identity authentication and key negotiation technology theories that can resist multiple types of password attacks while having little computation overhead are needed, so as to ensure that the industrial measurement and control system networks achieve trusted work, improve the efficiency of identity authentication, and support the needs of scalable system architectures.
In conclusion, the purpose of the present invention is to design a method suitable for identity authentication between terminal devices in the industrial measurement and control network by using a technical solution for generation and verification of user identity information credential based on an idea of double cryptographic values through a key negotiation protocol based on Chebyshev mapping chaotic public key cryptography. A trusted computing technology is used to establish a trust chain, which ensures that the identity of the terminal device is trusted and also provides integrity enhancement and verification of upper layer software, to prevent the measurement and control commands and results from being untrusted due to abnormal modification of a control software module, thereby affecting the overall credibility and security level of the measurement and control system.
In view of the above technical defects, the purpose of the present invention is to provide an identity authentication method based on a combination of double cryptographic values and a chaotic encryption algorithm. The present invention negotiates a crucial key by a chaotic encryption public key cryptographic algorithm by taking the industrial measurement and control system network as an application scenario, ensures that intermediate data is difficult to be tampered through replaying or counterfeiting to avoid affecting the authentication result, and builds a security protection system of the measurement and control network information based on the trusted computing technology.
A technical solution adopted in the present invention to solve the technical problem is as follows: a trusted measurement and control network authentication method based on double cryptographic values and chaotic encryption comprises the following steps:
a control terminal and a measurement-control application server perform consistency analysis to verify the integrity of control terminal software;
the control terminal and the measurement-control application server respectively generate user identifier information by using a user cryptographic value and a measurement-control application server cryptographic value, and transmit the information by asymmetric encryption;
the control terminal generates a user identity credential; and
the measurement-control application server deduces the authenticity of the user identifier information held by a user by analyzing the user identity credential.
The step that a control terminal and a measurement-control application server perform consistency analysis to verify the integrity of control terminal software comprises the following steps:
2a) the terminal device enables the control terminal software module to execute according to a reserved order in a mode of firstly verifying and then jumping, to enhance the integrity of the control terminal software;
2b) a software module code M is transmitted to TPM in the control terminal; SHA-1 engine in the TPM computes a code digital fingerprint PCR of the software module and stores the code digit fingerprint PCR into a platform configuration register by hash extension, i.e., PCRi=SHA-1(PCRi∥Pi), to produce an integrity representation log SML; i indicates a digital fingerprint number and SHA-1 indicates a one-way hash function;
2c) the measurement-control application server transmits a challenge string Challenge=Nonce to start integrity verification; the control terminal signs the PCR and Nonce with a private key AIK_SK of the control terminal for an internal platform configuration register, and forms a response message Response=SignAIK_SK{P CR,Nonce}∥SML with SML; SignAIK_SK indicates that the private key AIK_SK is used for digital signature operation;
2d) the measurement-control application server verifies the digital signature by using a control terminal public key AIK_PK, compares an obtained PCR integrity representative value, i.e., digital fingerprint PCR, with a PCR integrity representative value acquired by the integrity representation log SML, and verifies the integrity of the control terminal software: if consistent, integrity verification is successful; otherwise, verification fails.
The step that the control terminal and the measurement-control application server respectively generate user identifier information by using a user cryptographic value and a measurement-control application server cryptographic value, and transmit the information by asymmetric encryption comprises the following steps:
3a) the measurement-control application server generates user identity identification code F=[h(ID∥x)·h(PW∥UPK)β(κ)]mod p by using a server cryptographic value K, a secret function β(·), an ID number provided by a user, a user public key UPK and a hash value of a user cryptographic value PW; h(·) indicates a one-way hash function; x indicates that the measurement-control application server holds a secret value that represents the identity; mod indicates modulo division;
3b) read protection encapsulation is conducted on the user identity identification code F through h(PW∥UPK) to obtain E(F):
E(F)=F⊕h(PW∥UPK)
3c) user identifier information {ID, C, h(PW∥UPK), E(F), EK, p, UN, AN, UC, . . . } composed of an encrypted and encapsulated user identity identification code E(F), a user ID, an encrypted and encapsulated identity authentication key EK, h(PW∥UPK), parameter p, user name UN, an area name AN and a user class UC is encrypted by using a public key UPK, and transmitted to USBKey device; USBKey adopts a private key SPK opposite to the UPK for decryption and saving; USBKey is transmitted and imported for the user identifier information through asymmetric encryption to create a secure channel.
The step that the control terminal generates a user identity credential comprises the following steps:
4a) the terminal device computes an extraction parameter h(PW∥UPK) of the user cryptographic value, de-encapsulates E(F) and restores F by computing F=E(F)⊕h(PW∥UPK), and conducts transformation through an identity authentication key K=β(h(x)h(ID) mod p) between the USBKey and the measurement-control application server to obtain a user identity identification code V1=Fh(K) mod p; h(·) indicates a one-way hash function; mod indicates modulo division; β(·) indicates a secret function; p indicates a parameter;
4b) a user random number R1 acts on V1 to obtain a dynamic change user identity credential V2:
V
2
=R
1
h(V
∥K) mod p
4c) a time mark T1 is used for converting and generating a user identity credential of timeliness;
(Q1, Q2, Q3)=(V1⊕h(K|T1), R1⊕h(K|T1),{F6}h(|V1)); K indicates a server cryptographic value;
d) a user identity authentication request {ID, Q1, Q2, Q3, T1} is finally produced, and transmitted to the measurement-control application server through a network.
The step that the measurement-control application server deduces the authenticity of the user identifier information held by a user by analyzing the user identity credential comprises the following steps:
5a) after receiving the identity authentication request {ID, Q1, Q2, Q3, T1} transmitted by the terminal device, the measurement-control application server firstly inspects the timeliness: if T−T1≤threshold ΔT is satisfied, the identity authentication key K=β(h(x)h(ID) mod p) shared with the USBKey is computed through the cryptographic value K, the secret function β(·) and the ID number provided by the user;
5b) next, the random number R1=Q2⊕h(K∥T1) is decoupled from Q2 by using K and T1; the user identity identification code V1=Q1⊕h(K∥T2) is restored from Q1; a random user identity credential V2=R1h(V
5c) then, the identity credential {circumflex over (Q)}3 obtained by restoring of the measurement-control application server is compared with the received identity credential Q3; the user identification code V1 and an expected user identity identification code PF=Fh(K) mod p are restored; consistence between V1 and PF indicates that the user masters the cryptographic value PW, the USBKey provided by a terminal user has the cryptographic values E(F) and EK representing the users, and the user identity of the terminal device is confirmed.
The trusted measurement and control network authentication method based on double cryptographic values and chaotic encryption further comprises confirming an authentication result, which comprises the following steps:
6a) the measurement-control application server creates an identity verification result parameter AUTH∈{True,False}, generates a random number R2 and authentication time T2 and computes a response message parameter:
(P1,P2,P3,P4)=(R2⊕h(V2∥T2),R2V
6b) the measurement-control application server creates an identity authentication confirmation message {P1, P3, T2,AUTH}, feeds back the message to the USBKey and also creates a session key Skey=h(K, V2, P2, R1, R2, T1, T2) with the terminal device;
6c) after receiving the confirmation message, the USBKey device inspects the timeliness of the time mark T2: recomputes the parameter R2=P1 ⊕h(V2∥T2), P2=R2V
Two measurement and control terminal devices with confirmed valid user identity credentials (Q1, Q2, Q3) after identity authentication conduct communication key negotiation by using a chaotic public key cryptographic algorithm, which comprises the following steps:
a) the terminal device A firstly selects a large integer r, a large prime number N and x on a finite field, and computes Tr(x); and connects an own user identity identifier IDA, a recipient device identity identifier IDB, x, N and Tr(x), encrypts with a shared session key created between the terminal device A and the measurement-control application server, generates a ciphertext ETA(IDA, IDB, x, N, Tr(x)) and then transmits the ciphertext to the measurement-control application server, r and N are larger than set values;
b) after receiving the information transmitted by the terminal device A, the measurement-control application server decrypts the data ETA(IDA, IDB, x, N, Tr(x)) by using a key shared with the terminal device A to verify whether the device A is a legal identity; if verification fails, the decryption is stopped; otherwise, the obtained information is encrypted by using the key shared with the terminal device B to obtain ETB(IDB, IDA, x, N, Tr(x)); and ETB(IDB, IDA, x, N, Tr(x)) is transmitted to the terminal device B;
c) after receiving the information, the terminal device B decrypts ETB(IDB, IDA, x, N, Tr(x)) by using the key shared with the measurement-control application server, and then randomly selects a large integer s for computing Ts(x); the identity identifiers IDB and Ts(x) of the terminal device B are connected and encrypted with the key shared with the measurement-control application server, i.e., ETB(IDB, Ts(x)); then, k=Ts(Tr(x)) is computed, and a message confirmation code MACB=hk(IDB, IDA, Tr(x)) is computed through Hash function by using k as a key; the terminal device B transmits ETB(B, Ts(x)) and MACB to the measurement-control application server; s is larger than a set value; hk indicates the Hash function; Ts(x) and Tr(x) indicate computation expressions of the chaotic public key cryptographic algorithm;
d) after receiving the information transmitted by the terminal device B, the measurement-control application server decrypts ETB(IDB,Ts(x)) by using a key shared with the device B and verifies the identity of the device B; if verification fails, decryption is stopped; otherwise, the measurement-control application server encrypts IDB and Ts(x) by using a key shared with the device A, i.e., ETA(IDB,Ts(x)); then, ETA(IDB,Ts(x)) and MACB are transmitted to the terminal device A;
e) after receiving the information transmitted by the measurement-control application server, the terminal device A computes a message confirmation code MAC′B=hk(IDB,IDA,Tr(x)) and compares whether MAC′B is equal to MACB; if not, the device A stops negotiation communication with B; otherwise, the device A confirms that B is a true communication object and a session key shared by terminal devices A and B is k=Ts(Tr(x)); the terminal device A transmits an authentication result message MACA=hk(IDA, IDB,Ts(x)) to the terminal device B for confirmation;
f) the terminal device B computes a Hash function value MAC′A=hk(IDA,IDB,Ts(x)) by using a key k, and compares whether MAC′A is equal to received MACA; if not, the terminal device B stops negotiation; otherwise, the terminal device A is confirmed as a true communication object; and a session key is k.
The present invention has the following beneficial effects and advantages:
1. The present invention computes derivable user identity identification code V1 through parameters and K and a one-way function h by using a double-cryptographic value solution, uses the random number R1 for V1 and K to form the dynamically changing user identity credential V2, and introduces the time mark T1 to form identity credentials Q1, Q2 and Q3 of timeliness for transmission on the Internet. If a user identity is counterfeited, K, V1 and V2 need to be obtained by analyzing Q1, Q2 and Q3. Because Q1 and Q2 are obtained by XOR operation of two position parameters, the user identity can only be cracked by a random guessing method and the probability of cracking success is computed as 12160+n
2. Compared with the traditional PKI solution-based identity authentication solution, the present invention has less performance overhead in the complexity of the involved cryptographic operation. In the process of user digital credential verification and private key credential verification involved in the PKI solution-based user authentication process, from the root CA, the user digital credential with a credential chain length of n level needs an authenticator to perform n times of credential verification to verify whether the digital signature of a credential issuer is valid. Each operation involves at least 1 large integer modular exponentiation and 1 hash operation, and the total overhead is ne+nh, wherein e is the time overhead of the large integer modular exponentiation, and h is the time overhead of the hash operation. The verification of the user private key credential needs to send challenge information and response information to the USB Key once, at least 2 times of encryption operation, 2 times of signature computing and 1 signature verifying computing. The computation overhead is 5e+3h, and the total computation overhead is (n+5)e+(n+3)h. In the present invention, the authenticator needs 2 times of hash operation and 2 times of modular power operation when computing K, R2, V1, V2 and {circumflex over (Q)}3, and needs 3 times of hash operation and 1 modular power operation when computing response message parameters P1, P2, P3 and P4. The total computation overhead is 5e+3h. Therefore, the longer the credential chain is, the better the advantages of the present invention can be reflected.
3. The present invention well applies its characteristics such as chaotic characteristic, semigroup characteristic and unidirectivity to the process of inter-device identity authentication and key negotiation by using Chebyshev-based mapping chaotic public key cryptographic algorithm. The present invention adopts encrypted transmission for the sensitive parameter Ts(x) and the device user identity identifiers IDA and IDB required by possibly generating short-cycle attacks, which is difficult for the attacker to brack by a short-cycle attack mode. Moreover, a trusted third-party measurement-control application server is introduced and is responsible for encrypted data transmission; the Hash function is used to generate a confirmation code to ensure that any change of the information can be detected, so as to prevent middlemen from monitoring the attack. In the key negotiation process of the present invention, large integers r and s are randomly generated each time. Only devices A and B can determine the generation mode of session key k and the random elements in Hash authentication code to ensure the timeliness of the verification information, thereby effectively resisting replay attacks.
The present invention will be further described in detail below in combination with the drawings and the embodiments.
As shown in
TPM is an abbreviation of a trust platform module, exists for providing a trusted root for the platform in the beginning of establishment of a trust computing chain, and usually refers to a TPM chip.
SHA-1 engine is an algorithm engine that executes SHA-1 one-way hash function and exists as a cryptographic operation module in the TPM chip.
1. Integrity Enhancement and Verification of Software of an Operation Terminal
As shown in
a) The terminal device enables a control terminal software module to execute according to a reserved order in a mode of firstly verifying and then jumping by using a TPM-based trust chain transmission method, to enhance the software integrity of the control terminal.
b) A software module code M is simultaneously transmitted to TPM; SHA-1 engine computes a code digital fingerprint of the module and stores the code digit fingerprint into a platform configuration register by hash extension, i.e., PCRi=SHA-1(PCRi∥Pi), to produce an integrity representation log SML.
c) A monitoring module of a control terminal of the measurement-control application server transmits a challenge string Challenge=Nonce to start integrity verification; the control terminal signs the PCR and Nonce with a private key AIK_SK of the control terminal for the PCR register, and forms a response message Response=SignAIK_SK{PCR, Nonce}∥SML with SML.
d) The measurement-control application server verifies the digital signature by using a control terminal public key AIK_PK, compares a PCR integrity representative value with an integrity representative value log SML, and verifies the software integrity of the control terminal.
2. Secure Generation of User Identity Identifier Information
The user identity identifier information of the measurement and control terminal device must have security characteristics such as uniqueness and anti-guessing, and is transmitted and imported into a tamper-proof security storage medium such as USBKey through a secure channel by using the read encapsulation technology; and only a designated user can hold the information.
As shown in
a) Generation Method of User Identification Code Having Uniqueness and Anti-Guessing
The measurement and control system application server generates underivable user identity identification code F=[h(ID∥x)·h(PW∥UPK)β(κ)]mod p by using a server cryptographic value κ, a secret function β(·), an ID number provided by a user, a user public key UPK and a hash value of a user cryptographic value PW, thereby completing the generation of the user identification code.
b) Read Protection Encapsulation Algorithm of User Identity Identification Code
Read protection encapsulation is conducted on the user identity identification code F through h(PW∥UPK) to obtain E(F):
E(F)=F⊕h(PW∥UPK)
F can be restored from the USBKey only when the user inputs a correct cryptographic value PW, to continue an identity authentication request process.
c) Secure Transmission and Import of User Identity Identifier Information
The measurement-control application server encrypts user identifier information {ID, C, h(PW∥UPK), E(F), EK, p, UN, AN, UC, . . . } composed of an encrypted and encapsulated user identity identification code E(F), a user ID, an encrypted and encapsulated identity authentication key EK, h(PW∥UPK), parameter p, user name UN, an area name AN and a user class UC by using a public key UPK, and transmitted to USBKey device; USBKey adopts a private key SPK opposite to the UPK for decryption and saving; USBKey is transmitted and imported for the user identifier information through an asymmetric encryption technology to create a secure channel.
3. Generation of a User Identity Credential
The user identity credential of the measurement and control terminal device comprises user identification feature codes which shall have security characteristics such as dynamics, timeliness, anti-eavesdropping, recording and replay.
As shown in
Generation of the user identity credential comprises the following steps:
a) an extraction parameter h(PW∥UPK) of the user cryptographic value is computed; E(F) is de-encapsulated and F is restored by computing F=E(F)⊕h(PW∥UPK); and transformation is conducted through an identity authentication key K=β(h(x)h(ID) mod p) between the USBKey and the measurement-control application server to compute a user identity identification code V1=Fh(K) mod p.
b) A user random number R1 acts on V1 to obtain a dynamic change user identity credential V2:
V
2
=R
1
h(V
∥K) mod p
c) A time mark T1 is used for converting and generating a user identity credential of timeliness:
(Q1,Q2,Q3)=(V1⊕h(K|T1),R1⊕h(K|T1),{F6}h(|V1))
d) A user identity authentication-request {ID, Q1, Q2, Q3, T1} is finally produced, and transmitted to the measurement-control application server through a network.
4. Verification of the User Identity Credential
As shown in
a) When the user identity credential is verified, after receiving the identity authentication request {ID, Q1, Q2, Q3, T1} transmitted by the terminal device, the trusted measurement-control application server firstly inspects the timeliness: if T−T1≤ΔT is satisfied, the identity authentication key K=β(h(x)h(ID) mod p) shared with the USBKey is computed through the cryptographic value κ, the secret function β(·) and the ID number provided by the user.
b) Next, the random number R1=Q2 ⊕h(K∥T1) is decoupled from Q2 by using K and T1; the derivable user identity identification code V1=Q1 ⊕h(K∥T1) is restored from Q1; a random user identity credential V2=R1h(V
c) Then, the identity credential {circumflex over (Q)}3 obtained by restoring of the measurement-control application server is compared with the received identity credential Q3; the derivable user identification code V1 and an expected derivable user identity identification code PF=Fh(K) mod p are restored; consistence indicates that the user masters the cryptographic value PW, the USBKey provided by the user has the cryptographic values E(F) and EK representing the user, and the user identity of the terminal device is confirmed.
5. Confirmation of Authentication Result
As shown in
a) An identity verification result parameter AUTH∈{True,False} is created; a random number R2 and authentication time T2 are generated; and a response message parameter is computed:
(P1,P2,P3,P4)=(R2⊕h(V2∥T2),R2V
b) An identity authentication confirmation message {P1, P3, T2,AUTH} is created; the message is fed back to the USBKey and a session key Skey=h(K, V2, P2, R1, R2, T1, T2) with the terminal device is also created.
c) After receiving the confirmation information, the USBKey device inspects the timeliness of the time mark T2, recomputes the parameter R2=P1⊕h(V2∥T2), P2=R2V
6. Key Negotiation Based on Chebyshev Mapping Chaotic Public Key Cryptography
As shown in
a) The terminal device A firstly selects a large integer r, a large prime number N and x on a finite field, and computes Tr(x), and connects an own user identity identifier IDA, a recipient device identity identifier IDB, x, N and Tr(x), encrypts with a shared session key created between the terminal device A and the measurement-control application server, generates a ciphertext ETA(IDA, IDB, x, N, Tr(x)) and then transmits the ciphertext to the measurement-control application server.
b) After receiving the information, the measurement-control application server decrypts the data ETA(IDA, IDB, x, N, Tr(x)) by using a key shared with the terminal device A to verify whether the device A is a legal identity; if verification fails, the decryption is stopped; otherwise, the obtained information is encrypted by using the key shared with the terminal device B to obtain ETB(IDB, IDA, x, N, Tr(x)); and ETB(IDB, IDA, x, N, Tr(x)) is transmitted to the terminal device B.
c) After receiving the information, the terminal device B decrypts ETB(IDB, IDA, x, N, Tr(x)) by using the key shared with the measurement-control application server, and then randomly selects a large integer s for computing Ts(x); the identity identifiers IDB and Ts(x) of the device B are connected and encrypted with the key shared with the measurement-control application server, i.e., ETB(IDB, Ts(x)). Then, k=Ts(Tr(x)) is computed, and MACB=hk(IDB, IDA, Tr(x)) is computed through Hash function by using k as a key. The device B transmits ETB(IDB, Ts(x)) and MACB to the measurement-control application server.
d) After receiving the information, the measurement-control application server decrypts ETB(IDB, Ts(x)) by using a key shared with the device B and verifies the identity of the device B. If verification fails, decryption is stopped; otherwise, the measurement-control application server encrypts IDB and Ts(x) by using a key shared with the device A, i.e., ETA(IDB, Ts(x)). Then, ETA(B, Ts(x)) and MACB are transmitted to the device A.
e) After receiving the information, the device A computes MAC′A=hk(IDB,IDA,Ts(x)) and compares whether MAC′B is equal to MACB. If not, the device A stops negotiation communication with B. Otherwise, the device A confirms that B is a true communication object and a session key shared by the devices A and B is k=Ts(Ts(x)). The device A can choose to transmit an authentication result message MACA=hk(IDA, IDB,Ts(x)) to the device B for confirmation.
f) The device B computes a Hash function value MAC′A=hk(IDA, IDB, Ts(x)) by using a key k, and compares whether MAC′A is equal to received MACA; if not, the device B stops negotiation. Otherwise, the device A is confirmed as a true communication object; and a session key is k. MAC′B and MACB represent message confirmation codes obtained by encryption by the terminal device B with the Hash function through the key k shared with the server.
Number | Date | Country | Kind |
---|---|---|---|
201811299442.5 | Nov 2018 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2019/075661 | 2/21/2019 | WO | 00 |