Method for Managing Keys of a Security Group
20230231700 · 2023-07-20
Inventors
- Sven KERSCHBAUM (Fürth, DE)
- Stephan Höme (Schwabach, DE)
- Thomas FISCHER (Erlangen, DE)
- Jung KONSTANTIN (Weisendorf, DE)
Cpc classification
H04L9/3228
ELECTRICITY
H04L9/0825
ELECTRICITY
G05B2219/31094
PHYSICS
International classification
H04L9/08
ELECTRICITY
H04L9/32
ELECTRICITY
Abstract
A method of adding a first publisher to a security group includes receiving a key request for keys for the first publisher, wherein the key request has at least one credential associated with the first publisher and a key parameter index indicative of a bandwidth of the first publisher, includes modifying a lifetime value of the at least one key of the security group based on the key parameter index of the received key request, wherein an expiry of the at least one key is based on the lifetime value of the one or more keys; and includes transmitting the at least one key and the modified lifetime value of the at least one key to the first publisher, where the first publisher is configured to publish at least one message encrypted using the at least one key, prior to expiry of the at least one key.
Claims
1.-9. (canceled)
10. A method of adding a first publisher to a security group comprising at least one publisher and at least one subscriber, the at least one publisher being configured to publish messages utilizing at least one key associated with the security group, the method comprising: a) receiving a key request for keys for the first publisher, the key request comprising at least one credential associated with the first publisher and a key parameter index indicative of a bandwidth of the first publisher; b) modifying a lifetime value of the at least one key of the security group based on the key parameter index of the received key request, an expiry of the at least one key being based on the lifetime value of the at least one key; and c) transmitting the at least one key and the modified lifetime value of the at least one key to the first publisher, the first publisher being configured to publish at least one messages utilizing the at least one key prior to the expiry of the at least one key.
11. The method as claimed in claim 10, wherein the key request is generated by a configuration tool.
12. The method as claimed in claim 10, wherein the key request is generated by the first publisher.
13. The method as claimed in claim 10, wherein the method is performed by a security key service.
14. A method of managing at least one key of a security group comprising at least one publisher and at least one subscriber, the at least one publisher being configured to publish data utilizing the at least one key, the method comprising: a) detecting an event associated with one of a new publisher and a publisher from the at least one publisher; b) determining a key parameter index associated with one of the new publisher and the at least one publisher, the key parameter index being indicative of a bandwidth of one of the new publisher and the at least one publisher; and c) modifying a lifetime value of the at least one key based on the determined key parameter index, the at least one key expiring at a time instance based on the lifetime value of the at least one key.
15. The method as claimed in claim 14, further comprising: distributing a new key and a lifetime value associated with the new key to the at least one publisher and the at least one subscriber of the security group, at the expiry of the at least one key; wherein the lifetime value of the new key is based on a bandwidth associated with the at least one publisher.
16. The method as claimed in claim 14, wherein the at least one publisher includes a programmable logic controller.
17. An industrial device for managing at least one key of a security group comprising at least one publisher and at least one subscriber, the at least one publisher being configured to publish data utilizing the at least one key, the industrial device comprising at least one processor configured to: a) detect an event associated with one of a new publisher and a publisher from the at least one publisher; b) determine a key parameter index associated with one of the new publisher and the at least publisher, the key parameter index being indicative of a bandwidth of one of the new publisher and the at least one publisher; and c) modify a lifetime value of the at least one key based on the determined key parameter index, the at least one key expiring at a time instance based on the lifetime value of the at least one key.
18. A non-transitory storage medium for managing at least one key of a security group comprising at least one publisher and at least one subscriber, the at least one publisher being configured to publish data utilizing the at least one key, the non-transitory storage medium comprising a plurality of instructions which, when executed by at least one processor, cause the at least one processor to: a) detect an event associated with a new publisher and a publisher from the at least one publisher; b) determine a key parameter index associated with one of the new publisher and the at least one publisher, the key parameter index being indicative of a bandwidth of one of the new publisher and the at least one publisher; and c) modify a lifetime value of the at least one key based on the determined key parameter index, the at least one key expiring at a time instance based on the lifetime value of the at least one key.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The following detailed description references the drawings, in which:
[0018]
[0019]
[0020]
[0021]
[0022]
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
[0023]
[0024] To ensure security, the publishers use digital keys to sign or sign and encrypt published data. The subscribers are configured to determine the authenticity of the published data based on the signature of the publisher. Similarly, the subscribers may use decryption keys for decrypting the published data from the publishers. Accordingly, the security group 100 further includes a security key service 130. The security key service 130 is responsible for managing one or more keys of the security group. The one or more keys of the security group are used by the publishers and the subscribers as mentioned above. The management of the keys is explained using
[0025]
[0026] Accordingly, at step 210, the security key service 130 receives the key request for keys for the first publisher 117. The key request comprises one or more credentials associated with the first publisher 117 and a key parameter index indicative of a bandwidth of the first publisher 117. The credentials of the first publisher 117 may be generated by a configuration tool or a control system associated with the industrial facility. The one or more credentials associated with the first publisher 117 are used by the security key service 130 to determine if the first publisher 117 is authorized to be included to the security group 100 and to receive the at least one key of the security group 100. In an example, the one or more credentials are generated during by the configuration tool during engineering or configuration of the industrial devices in the industrial facility.
[0027] The key parameter index of the request is indicative of the bandwidth associated with the first publisher 117. Bandwidth herein refers to the amount of data the publisher intends to publish over a unit of time. A publisher that publishes a large volume of data, frequently has a high bandwidth as opposed to a publisher which publishes a small volume of data, over a long period of time. Accordingly, in order to ensure adequate security and since publishers with high bandwidth are more vulnerable, the lifetime of keys used by publishers with high bandwidth are kept short to ensure new keys are used more frequently. Similarly, since publishers with low bandwidth are less vulnerable, lifetime of keys used by publishers with low bandwidth are kept long (relative to the key lifetime of the publishers with high bandwidth). The lifetime of a key of the security group depends on the cumulative bandwidth of the publishers of the security group. Accordingly based on the key parameter index of the key request, the security key service can determine if the first publisher 117 has high bandwidth or low bandwidth.
[0028] At step 220, the security key service 130 then modifies a lifetime value of the at least one key of the security group based on the key parameter index of the received key request. Expiry of the at least one key is based on the lifetime value of the at least one key. As mentioned above, the security key service can estimate if the first publisher 117 has high bandwidth or low bandwidth based on the value of the key parameter index. Accordingly, since the first publisher 117 is a new publisher being added to the security group and will be using the at least one key to publish messages, the lifetime of the at least one key is modified to ensure security of the security group. Accordingly, based on the value of the key index parameter, the life time of the at least one key is reduced. Additionally, the at least one key expires at a time based on the lifetime value of the key. Accordingly, upon the expiry of the at least one key, the publishers stop using the at least one key.
[0029] At step 230, the security key service 130 then transmits the at least one key and the modified lifetime value of the at least one key (together referred to a key response) to the first publisher 117. Subsequent to receiving the key, the first publisher 117 is configured to publish one or more messages encrypted using the at least one key, prior to or till the expiry of the at least one key based on the lifetime of the at least one key.
[0030] Accordingly, the above method 200 describes a dynamic manner of adding new publishers to a security group without comprising the security of the security group by modifying the lifetime of the keys of the security group. While the above method is explained in relation to addition of a new publisher, the current disclosure can be applied to other such events associated with publishers. This is further explained in reference to
[0031]
[0032] At step 310, the security key service 130 detects an event associated with at one of a new publisher and a publisher from the one or more publishers (also referred to as existing publisher). For example, an event associated with a new publisher includes receiving a key request for a new publisher. For existing publishers, an event associated with a publisher includes receiving a notification message from an existing publisher indicating a change in the bandwidth associated with the publisher, or receiving a notification message from an existing publisher indicating that the publisher is leaving the security group, or a time-out event where a publisher is no longer responsive.
[0033] At 320, the security key service 130 then obtains a key parameter index associated with the detected at least one of the new publisher and the active publisher. The key parameter index is indicative of a bandwidth of the one of the new publisher and the publisher. Continuing the above examples, where the event is associated with addition of the new publisher, the key parameter index is obtained from the key request for the new publisher. Similarly, where the event is associated with change of bandwidth of an existing publisher, the key parameter index is obtained from the notification message from the existing publisher. Similarly, where the event is a time out event during which a publisher is no longer active, the key parameter index associated with the inactive publisher is obtained from the key request received while adding the now inactive publisher to the security group 110.
[0034] Then, at 330, the security key service 130 modifies a lifetime value of the at least one key based on the determined key parameter index. The at least one key expires at a time based on the lifetime value of the at least one key. This is further explained using below examples in relation to
[0035]
[0036] At a second time instance (subsequent to the first time instance), the security key service 410 receives a key request 411 from the subscriber 420. The key request from the subscriber 420 contains the identifier associated with security group and the credentials of the subscriber 420. After authenticating the subscriber 420 using the credentials of the subscriber 420, the security key service 410 sends a key response 413 containing the key of the security group and lifetime value of the key to the subscriber 420.
[0037] At a third time instance (also referred to as T3, subsequent to the first-time instance), the security key service 410 receives a key request 441 from the publisher 440. The key request 441 comprises one or more credentials associated with the publisher 440 and a key parameter index indicative of a bandwidth of the publisher 440. Then, based on the key parameter index associated with the publisher 440, the security key service 410 modifies the lifetime of the key of the security group. In an example, the key parameter index is a lifetime value determined by the publisher 440 for its bandwidth. For example, the value of the key parameter index associated with publisher 440 is 30 minutes. Since a new publisher is being added to the group, the cumulative bandwidth of the security group increases and the life time of the key of the group is accordingly reduced based on the lifetime value from the publisher 440. The modification may be based one or more known mathematical functions, such as average value determination and/or minimum value determination. The security key service 410 then responds to the publisher 440 by sending a key response 444 containing the key of the security group, the identifier associated with the security group and the modified lifetime associated with the key of the security group. Since the lifetime of the key has been modified, the security key service 410 notifies the publisher 430 of the modified lifetime of the key via key lifetime modification messages 436. In an example, the security key service also sends a key lifetime modification message to the subscriber 410 indicating the modified lifetime of the key.
[0038] At a fourth time instance (also referred to as T4, subsequent to the third time instance), the security key service 410 receives an exit notification 439 from the publisher 430 indicating that the publisher 430 is leaving the security group. Accordingly, based on the key parameter index of the request 431, the security key service modifies or adjusts the lifetime of the key of the group. Since an existing publisher is leaving the security group, the cumulative bandwidth of the security group reduces and accordingly, the life time of the key of the group is extended. Since the lifetime of the key has been modified, the security key service 410 notifies the publisher 440 of the modified lifetime of the key via key lifetime modification messages 446. In an example, the security key service also sends a key lifetime modification message to the subscriber 410 indicating the modified lifetime of the key.
[0039] It may be noted that while the current invention has been explained using one security group and one security key service, the security key service can manage a plurality of security groups. Additionally, while the above methods as explained using requests originating from publishers and subscribers, these requests for keys can also originate from a configuration tool. A configuration tool while engineering a publisher can send such a request on behalf of the publisher.
[0040] The present disclosure can take the form of a computer program product comprising program modules accessible from computer-usable or computer-readable mediums storing program code for use by or in connection with one or more computers, processing units, or instruction execution system. For example, the methods 200 and 300 may be realized across one or more devices.
[0041] Accordingly, the current disclosure describes an industrial device 500 for managing at least one key of a security group. The industrial device 500 comprises a network interface 510 and one or more processors 520 configured to execute a plurality of instructions (533, 536) stored on the memory module or non-transitory storage medium 530. Upon execution of the publisher event detection instructions 533, the one or more processors 520 are configured to detect an event associated with one of a new publisher and a publisher from the one or more publishers. Then, the one or more publishers are configured to obtain a key parameter index associated with the detected one of the new publisher and the publisher, where the key parameter index is indicative of a bandwidth of the detected one of the new publisher and the publisher. Upon execution of the key lifetime modification instructions 536, the one or more processors 520 are configured to modify a lifetime value of the at least one key based on the obtained key parameter index, where the at least one key expires at a time based on the lifetime value of the at least one key.
[0042] For the purpose of this description, a computer-usable or computer-readable non-transitory storage medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation mediums in and of themselves as signal carriers are not included in the definition of physical computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, random access memory (RAM), a read only memory (ROM), a rigid magnetic disk and optical disk such as compact disk read-only memory (CD-ROM), compact disk read/write, and DVD. Both processing units and program code for implementing each aspect of the technology can be centralized or distributed (or a combination thereof) as known to those skilled in the art.
[0043] While the current disclosure is described with references to few industrial devices, a plurality of industrial devices may be utilized in the context of the current disclosure. While the present disclosure has been described in detail with reference to certain embodiments, it should be appreciated that the present disclosure is not limited to those embodiments. In view of the present disclosure, many modifications and variations would be present themselves, to those skilled in the art without departing from the scope of the various embodiments of the present disclosure, as described herein. The scope of the present disclosure is, therefore, indicated by the following claims rather than by the foregoing description. All changes, modifications, and variations coming within the meaning and range of equivalency of the claims are to be considered within their scope. All advantageous embodiments claimed in method claims may also be applied to device/non transitory storage medium claims.