Legal claims defining the scope of protection, as filed with the USPTO.
1. An industrial controller with a processor executing a program stored in a non-transitory computer-readable storage medium wherein the program instructs the processor to perform the following steps: (a) in response to a transaction request to the industrial controller from a client device, determine if an authenticated common industrial protocol (CIP) connection has been established with the client device, and allow further access to the industrial controller by the client device if an authenticated CIP connection has been established: (b) if an authenticated CIP connection has not been established, randomly generate an exchange key and send the exchange key to the client device in response to the transaction request; (c) combine the exchange key with a locally stored pass key to produce an authentication code; and (d) compare a challenge key received from the client device to the authentication code to determine a match between the challenge key and the authentication code; wherein a successful match between the challenge key and the authentication code allows the client device to further access the industrial controller using a CIP connection.
2. The industrial controller of claim 1 , wherein the exchange key is combined with the locally stored pass key using a cryptographic hash function.
3. The industrial controller of claim 2 , wherein the cryptographic hash function is MD5.
4. The industrial controller of claim 2 , wherein the cryptographic hash function is SHA-1.
5. The industrial controller of claim 1 , wherein the industrial controller communicates with the client device over a Universal Serial Bus (USB) network.
6. The industrial controller of claim 1 , wherein the industrial controller communicates with the client device over an Ethernet network.
7. The industrial controller of claim 1 , wherein the industrial controller communicates with a plurality of I/O modules over a. control network using a CIP connection to thereby control an industrial process.
8. The industrial controller of claim 7 , wherein after a successful match between the challenge key and the authentication code, the client device is allowed to alter a control program for controlling the industrial process.
9. The industrial controller of claim 7 , wherein the client device and the plurality of I/O modules are on the same control network.
10. The industrial controller of claim 9 , wherein the control network is an EtherNet/IP network.
11. The industrial controller of claim 1 , wherein the industrial controller adds delay for a predetermined amount of time after sending the exchange key to the client device.
12. The industrial controller of claim 1 , wherein the exchange key is valid for combining with a locally stored pass key to produce the authentication code for only a predetermined amount of time.
13. The industrial controller of claim 1 , further comprising the step of no longer sending an exchange key to the client device after a predetermined number of failed matches between the challenge key and the authentication code.
14. The industrial controller of claim 1 , further comprising the following steps: (a) applying a decryption algorithm on an encrypted replacement pass key received from the client device to produce a decrypted replacement pass key: and (b) replacing the locally stored pass key with the decrypted replacement pass key following a successful match between the challenge key and the authentication code.
15. The industrial controller of claim 1 , wherein the industrial controller identifies cryptographic capabilities of the client device based on information contained in the transaction request originating from the client device.
16. The industrial controller of claim 15 , wherein the industrial controller sends to the client device identification of the strongest cryptographic capability supported by both the industrial controller and the client device based on the information contained, in the transaction request originating from the client device.
17. The industrial controller of claim 1 , wherein the further access to the industrial controller using a CIP connection is not the complete available access.
18. The industrial controller of claim 17 , wherein the industrial controller combines an exchange key with a different locally stored pass key to produce a different authentication code, wherein a successful match between the challenge key and the different authentication code allows the client device to further access different functionality of the industrial controller using a common industrial protocol.
19. A secure method for communicating with an industrial controller comprising: (a) in response to a transaction request to the industrial controller from a client device, determining if an authenticated common industrial protocol (CIP) connection has been established with the client device, and allowing further access to the industrial controller by the client device if an authenticated CIP connection has been established; (b) if an authenticated CIP connection has not been established, randomly generating an exchange key and sending the exchange key to the client device in response to the transaction request; (c) combining the exchange key with a locally stored pass key to produce an authentication code; (d) comparing a challenge key received from the client device to the authentication code to determining a match between the challenge key and the authentication code; and (e) allowing the client device to further access the industrial controller using a CIP connection following a successful match between the challenge key and the authentication code.
20. The method of claim 19 , further comprising: (a) applying a decryption algorithm on an encrypted replacement pass key received from the client device to produce a decrypted replacement pass key; and (b) replacing the locally stored pass key with the decrypted replacement pass key following a successful match between the challenge key and the authentication code.
Unknown
June 9, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.