IP Library Granted Patent US 10,764,063
Granted Patent B2
US 10,764,063 · App. 15/457,924 · Granted Sep 1, 2020

Device specific cryptographic content protection

Inventors: Jack Michael Visoky (Willoughby, OH); Kevin Fonner (North Canton, OH); Eugene Mourzine (Twinsburg, OH)
Assignee: Rockwell Automation Technologies, Inc.
H04L9/3263G05B19/4185H04L9/0861H04L9/0894H04L9/14H04L9/30H04L63/0428H04L63/0442G05B2219/36542H04L67/12H04L2463/062
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,764,063
App. No.
15/457,924
Granted
Sep 1, 2020
Kind
B2
Abstract

Techniques to facilitate protecting control data used in an industrial automation environment are disclosed herein. In at least one implementation, an encryption key pair is generated for an industrial controller, wherein the encryption key pair comprises a public key and a private key. The private key is stored within a secure storage system of the industrial controller. Controller program content is then encrypted using the public key to generate encrypted controller content. The encrypted controller content is then provided to the industrial controller, and the industrial controller is configured to decrypt the encrypted controller content using the private key and execute the controller program content.

Claims (42)

1. A method of protecting control data used in an industrial automation environment, the method comprising:

generating, by a system comprising a processor, a device-specific encryption key pair for an industrial controller, wherein the device-specific encryption key pair comprises a public key and a private key;

storing, by the system, the private key within a secure storage system of the industrial controller;

encrypting, by the system, controller program content using the public key to generate encrypted controller content;

providing, by the system, the encrypted controller content to the industrial controller, wherein the industrial controller is able to decrypt the encrypted controller content using the private key and execute the controller program content;

creating, by the system, new controller program content for the industrial controller;

encrypting, by the system, the new controller program content with the public key to generate new encrypted controller content; and

providing, by the system, the new encrypted controller content to an end user comprising the industrial controller and an additional device, wherein the industrial controller is able to decrypt the new encrypted controller content and the additional device is not able to decrypt the new encrypted controller content.

2. The method of claim 1 wherein the industrial controller, to store the private key within the secure storage system of the industrial controller, prevents end users from accessing the private key by storing the private key within the secure storage system using encryption.

3. The method of claim 1 further comprising establishing a root of trust, wherein a certificate authority generates and signs a certificate in which the public key is comprised.

4. The method of claim 1 wherein the industrial controller is configured to execute the controller program content to control an operation of a machine system.

5. The method of claim 1 wherein the controller program content comprises configuration data for the industrial controller.

6. The method of claim 1 wherein the controller program content comprises machine control logic for execution by the industrial controller to drive a machine system.

7. The method of claim 1 wherein the controller program content comprises ladder logic for execution by the industrial controller.

8. A non-transitory computer-readable medium having stored thereon instructions to facilitate protecting control data used in an industrial automation environment, wherein the instructions, in response to execution, cause a system comprising a processor to perform operations, the operations comprising:

generating a device-specific encryption key pair for an industrial controller, wherein the device-specific encryption key pair comprises a public key and a private key;

storing the private key within a secure storage system of the industrial controller;

encrypting controller program content using the public key to generate encrypted controller content;

providing the encrypted controller content to the industrial controller, wherein the industrial controller is able to decrypt the encrypted controller content using the private key and execute the controller program content;

creating new controller program content for the industrial controller;

encrypting the new controller program content with the public key to generate new encrypted controller content; and

providing the new encrypted controller content to an end user comprising the industrial controller and an additional device, wherein the industrial controller is able to decrypt the new encrypted controller content and the additional device is not able to decrypt the new encrypted controller content.

9. The computer-readable medium of claim 8 wherein the industrial controller stores the private key within the secure storage system in an encrypted state to prevent an end user of the industrial controller from accessing the private key.

10. The computer-readable medium of claim 8 wherein the operations further comprise establishing a root of trust, wherein a certificate authority generates and signs a certificate in which the public key in comprised.

11. The computer-readable medium of claim 8 wherein the industrial controller is configured to execute the controller program content to control an operation of a machine system.

12. The computer-readable medium of claim 8 wherein the controller program content comprises configuration data for the industrial controller.

13. The computer-readable medium of claim 8 wherein the controller program content comprises machine control logic for execution by the industrial controller to drive a machine system.

14. The computer-readable medium of claim 8 wherein the controller program content comprises ladder logic for execution by the industrial controller.

15. A system for protecting control data used in an industrial automation environment, the system comprising:

a memory that stores executable components; and

a processor, operatively coupled to the memory, that executes the executable components, the executable components comprising a content creation component configured to:

generate a device-specific encryption key pair for an industrial controller, wherein the device-specific encryption key pair comprises a public key and a private key and the private key is stored within a secure storage system of the industrial controller;

encrypt controller program content using the public key to generate encrypted controller content; and

provide the encrypted controller content to the industrial controller, wherein the industrial controller is able to decrypt the encrypted controller content using the private key and execute the controller program content;

create new controller program content for the industrial controller;

encrypt the new controller program content with the public key to generate new encrypted controller content; and

provide the new encrypted controller content to an end user comprising the industrial controller and an additional device, wherein the industrial controller is able to decrypt the new encrypted controller content and the additional device is not able to decrypt the new encrypted controller content.

16. The system of claim 15 wherein the private key stored within the secure storage system uses encryption to prevent an end user of the industrial controller from accessing the private key.

17. The system of claim 15 wherein the content creation component is further configured to establish a root of trust, wherein a certificate authority generates and signs a certificate in which the public key is comprised.

18. The system of claim 15 wherein the industrial controller is further configured to execute the controller program content to control an operation of a machine system.

19. The system of claim 15 wherein the controller program content comprises configuration data for the industrial controller.

20. The system of claim 15 wherein the controller program content comprises machine control logic for execution by the industrial controller to drive a machine system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2017
From: VISOKY, JACK MICHAEL; FONNER, KEVIN A.; MOURZINE, EUGENE
To: ROCKWELL AUTOMATION TECHNOLOGIES INC.
Reel/Frame 041563/0652 →
Continuity (2)
Provisional Application 62322091 · Apr 13, 2016
Related Publication 20170302456A1 · Oct 19, 2017