1. Introduction
Critical infrastructures are the primary needs of the society. To reduce the complexity in the operations of critical infrastructures, there is a need for simple and efficient process supporting remote monitoring and control of various activities, which can be achieved through automation. Industrial automation helps to automate the operations involved in the technical processes with much less human intervention. Industrial automation and control systems ensure accuracy, flexibility, and reliability in managing industrial processes. Presently, the critical infrastructures such as electric power networks, water appropriation plants, paper and mash industry, oil refineries and fabricating plants are the major examples in which the IACS is playing a critical role [
1].
Industrial automation systems are hierarchical in structure. Different components at different levels are used to monitor and control the industrial plants. One such IACS model is shown in
Figure 1. The model consists of three levels: field network, control network and plant network. IACS includes the various devices in the industrial plant to perform automation and monitor the industrial facilities. The resource constraints at different levels of the automation system are different. The devices at each level differ in their capacities such as storage, communication, computation, accessibility, power requirement and latency. The various types of devices situated at different levels are as follows:
Field level network: It includes sensors (optical, magnetic, thermal, etc.), IEDs and actuators (magnetic valves, motor stats, power switches, etc.). Sensors help to monitor leakages in the pipes, to monitor pipe pressure, to monitor the flow rate, to check boilers temperature, etc. [
2]. They help the IACS operator to maintain the functionality of the system in normal condition. Hence, they are called as the eyes and ears of industrial control systems.
Control level network: It includes PLCs, RTUs, ICS servers and controllers such as AC800M, AC800C, etc. RTUs are field level equipment used for data acquisition from sensor devices and actuators. They are located remotely with respect to the control center. PLC functions similar to RTU. RTUs are normally used for collecting data from a large geographical areas, whereas PLCs are used in the case of local control.
Plant level network: It includes connectivity server, aspect server, application server, monitoring stations, domain controller, OPC operator workplaces, third-party application servers, ICS users, engineering and monitoring stations and other servers. The industrial network can be associated with the web for remote observing via firewall and VPN.
For the last few years, industrial control systems security is a hot topic in the research community. The catch of malicious activities (Stuxnet [
3], Duqu, Flame, Havex [
4,
5], etc.) and their massive damage on the real-time systems enforce the plant owners and the nations to consider the security for industrial automation systems as a high priority issue [
6]. The attacks occurred on SCADA systems are discussed in [
4].
The communications in the IACS are real-time in nature. Based on the data obtained from the field network, the control network takes a proper decision and sends suitable commands to the field devices to sustain the normal functioning of the industrial plant and to avoid interruption. For example, in the case of water management systems, communications include OPEN/CLOSE the valves; SWITCH_ON/SWITCH_OFF the device; RAISE/LOW the levels of the water tank; acquire data such as water flow rate, water level in storage tanks, pressure in water pipes, temperature inside the boiler, speed of actuators; and read the characteristics such as acidity, purity, chlorine residual in the water, etc.
The communication messages contain sensitive data; if an attacker captures or modifies the message contents, it results in severe consequences [
4,
7]. The following are some of the malicious actions that the attacker may perform:
Modify the transmitted readings
Send invalid commands or to send valid commands at a false time
Send wrong information to the control unit
Create situations leading to packet loss
Overwrite the existing programs of the remote devices
Introduce a delay in the communication
Try to block the information
Replay the data, modify the configurations of the devices, etc.
Therefore, there exists a strong requirement of communication security that protects the communication between the devices of the industrial plant. For communication security, secret keys are required between the communicating entities.
Due to the large size of IACS networks, involving devices with varying capabilities, managing secret keys associated with all the communicating entities is a challenging task [
8,
9]. To manage the secret keys, a good key management system is essential. Key management deals with taking the responsibility to manage the crypto keys during their life cycle in the crypto system. It provides a complete paradigm to handle the activities of the crypto keys, including key generation, distribution, storage, backup, archive, recovery, revocation, and destruction [
10].
Figure 2 depicts a view on general key management states. The description of key management states are discussed in
Table 1.
Our Contribution: In this paper, by considering the generic architecture of IACS, a comprehensive key management infrastructure is designed (Figure 8). The CKMI design enables interoperability and flexibility for securing the industrial applications. The core contributions of the paper is discussed as follows:
The paper handles all the key management states in one design.
NIST Special Publication 800-57 summarizes the key management states as follows: key generation, device registration, key establishment, key storage, device addition, key revocation, key update, key recovery, key archival, key de-registration and destruction. To the best of our knowledge, none of the schemes handle all key management states in one design. This motivates us to propose a comprehensive key management scheme, which covers all the key management states under one design.
The proposed design shall be applicable for diverse industries.
We have considered generic industrial automation networks. The network consists of three levels: field network, control network and plant network. The bottom level is field network; middle level is control network; and plant network is on the top of the hierarchy. Most of the industrial network follows the same hierarchy. In this paper, key management is designed in such a way that it can be applied for major industrial networks to secure the communications of industrial devices.
The proposed design supports secure communication between the same and different levels of IACS devices. It supports secure communication among same level devices and also across different level devices. The proposed design considers all the communication scenarios:
- (a)
Among the field level devices
- (b)
Among the control level devices
- (c)
Among the plant level devices
- (d)
Across field level and control level devices
- (e)
Across control level and plant level devices
The proposed design does not adopt the same security mechanism for all levels of IACS.
IACS includes various devices: field level, control level and plant level devices. The resource constraints at different levels of the automation system are different. The devices at each level differ in their capacities such as storage, communication, computation, accessibility, power requirement and latency. Field network devices are resource constrained devices. Hence, considering the parameters such as low latency, low jitter and computation and communication cost is important. At the top level of the pyramid, the devices are resource efficient when compared to field network devices. Hence, the requirement of real time properties and parameters such as delay and jitter has relaxed constraints. Based on the constraints, there is a need to choose appropriate crypto algorithms. In the proposed design, we deploy a symmetric crypto system for lower level devices (polynomial and matrix method) and an asymmetric crypto system for higher level devices (Elliptic curve crypto system).
Modification of configuration parameters at one level of IACS should not disturb other levels.
If the plant operator wants to configure or make changes in security parameters of the device or identify any compromise, the disruption or changes made at one level of IACS devices should not disturb the operations of other levels IACS devices. Since the proposed design uses different schemes for each level, the mentioned issue can be resolved easily.
Reduce the damage caused from attacks.
The impact of attack at one layer of IACS should be minimized on rest of the network. With the use of separate crypto system for each level of devices, the impact of any attack confines only to that level. Thus reducing the time required for recovering from the attack and reinstalling the fresh parameters.
Use a separate crypto system for each level of IACS devices.
Polynomial method is chosen for field level devices, matrix method for control level devices and ECDH for plant level devices. These schemes are basically meant for establishing secret keys between the communicating devices, but we have used the same methods to support other key management operations such as key update, device joining, key revocation, key storage, archival, key recovery and key de-registration and destruction.
Simplify the key update, key revocation, device addition and deletion operations.
It is observed in the literature that the key update and key revocation of a device affects the entire system. In the proposed design, separate crypto system is employed for each level of the IACS. Key update and key revocation for particular level devices should not disturb the entire network. Device addition and deletion can also be easily handled.
The rest of the paper is organized as follows:
Section 2 discusses the related work.
Section 3 gives the preliminaries.
Section 4 proposes a novel key management infrastructure for IACS.
Section 5 highlights the CKMI design and its features.
Section 6 is devoted to the performance evaluation of the proposed design.
Section 7 gives the conclusion of this work.
2. Related Work
Key management for an industrial plant has lots of challenges [
11,
12]. The security requirements of industrial automation system and IT system are different. In [
13], the authors gave an overview of IACS and the current research trend. Dzung et al. [
14] highlighted the importance of security for IACS. In [
15], NIST has provided recommendations for designing key management systems. The recommendations specify the factors and mechanisms to be considered for designing the key management framework. Principles of key management are discussed in [
16]. Key management problem is approached in a modular and hierarchical manner. The problems encountered due to poor key management for IACS are discussed in [
4,
17]. Poor key management leads to significant issues such as key loss or destruction, loss of sensitive data, increased complexity of security management, etc.
IEC 61850 [
18] is the Open International Standard designed to solve the interoperability issues in IACS. Its flexibility and reliability features make it popular across the globe. However, the standard does not address security features. To handle this, IEC 62351 standard has been designed. The IEC 62351 standard [
19] consists of 10 parts. Some parts are still under development. Part 9, i.e., IEC 62351-9, is exclusively dedicated to key management profiles. The concrete key management details are not yet given. An efficient key management solution in IEC standards exists as a challenging research area.
To solve the key management issues in automation systems, few key management solutions are available in the literature. The schemes can be classified into centralized and decentralized schemes. In centralized schemes [
20,
21,
22,
23,
24,
25,
26], the KDC plays the role of distributing and generating the secret keys required for secure communication between the communicating entities. In decentralized schemes [
12,
27,
28,
29,
30], preshared keying materials are used to generate the secret keys.
A thorough survey of existing key management schemes for SCADA networks is discussed, as shown in
Table 2. To put the references in table form, we selected three parameters (BC, MC, and RTU-RTU) and performed the comparison.
Broadcasting (BC): In SCADA systems, there is a requirement to send the messages such as emergency shutdown, clock information, time synchronization message, open/close all safety valves, etc. to all the devices of the SCADA network. Hence, supporting broadcasting is essential.
Multicasting (MC): Multicasting is required to send a message only to the particular level of IACS devices. Many examples can be quoted for the requirement of multicasting in SCADA systems. One such example can be of sending SLEEP message to 15 devices, out of a total of 100 devices.
RTU-RTU communication (RR): Unicast communication is required for point-to-point communication between RTU-RTU.
3. Preliminaries
In this section, the preliminaries used (polynomial key establishment scheme [
33], matrix method [
34] and ECDH key establishment [
35] ) in this paper are introduced.
3.1. Polynomial Key Establishment Scheme
Using Equation (
1), KDC generates a symmetric bivariate
t-degree polynomial over a finite field
Fp, where
p is a large prime number. Device IDs are substituted in this generated polynomial to generate polynomial shares, i.e.,
f(IDi, y). The polynomial share corresponding to the device is loaded in the device during the key distribution phase. With
f(
x,
y),
p unique polynomial shares can be generated. Each device needs to store
t + 1 coefficients of the polynomial. The scheme [
33] is
t- collision resistant, meaning that, as long as
t number of devices are compromised (captured), the communication between the non-compromised devices of the network is secure.
Two devices, e.g., X and Y, with IDs ID1 and ID2, respectively, can compute pairwise key (PK) as follows: Both devices exchange their IDs between them. Device X computes fX(ID1, ID2). Device Y computes fY(ID2, ID1). The symmetric property ensures fX(ID1, ID2) = fY(ID2, ID1) and, hence, the same key is generated between them.
3.2. Matrix Key Establishment Scheme
KDC generates two matrices. One matrix is secret symmetric matrix (S) of order and other is public matrix (P) of order , where N is the total number of devices in the network and is the security parameter.
Symmetric matrix construction: Matrix S is said to be symmetric if .
Public matrix construction: KDC chooses independent key seeds
,
, …,
∈
. The public matrix
P is called as Vandermonde matrix and is generated as shown in Equation (
2).
KDC performs matrix multiplication operation (Equation (
3) for
S and
P matrices to obtain the matrix
A of size
N × (
+ 1). Transpose operation is performed on the resultant matrix, i.e.,
A =
.
Each device is loaded with a secret row of matrix
A and a key seed of matrix
P. Two devices can establish the pairwise key
by exchanging their key seeds, followed by matrix multiplication operation (
Figure 3). The scheme is
t-collision resistant, if the columns of public matrix
P are linearly independent.
3.3. ECDH Key Establishment Scheme
KDC considers the elliptic curve of form = + ax + b over field and elliptic curve domain parameters: (p, a, b, G, n, h), where p is the prime number defining the order of the finite field. The values of a and b ∈ p, such that + ≠ 0. A point G(, ) on the elliptic curve is considered as the generator point. n is the smallest positive integer such that n · G = O (point at infinity). Cofactor h = #E(Fp)n, where #E(Fp) is the number of points on the elliptic curve.
Each entity has a key pair, a private key d ∈ interval [1, n − 1] and public key Q (Q = d · G), where “·” is a scalar multiplication operation. Two devices, e.g., X and Y, with key pairs and , can compute the pairwise key (PK) as follows: Device X computes the shared secret key PK1 = . Device Y computes the shared secret key PK2 = .
4. Proposed Key Management Infrastructure Design for IACS
The proposed design aims at supporting all the common key management operations, viz. key generation, device registration, key establishment, key storage, device addition, key revocation, key update, key recovery, key archival, and key de-registration and destruction. The design considers the following communication scenarios: (i) among field level devices; (ii) among control level devices; (iii) among plant level devices; (iv) across field level and control level devices; and (v) across control level and plant level devices. The key management phases are explained as follows:
Assumptions: CKMI server is physically protected. Each device in the network has a unique ID and Join key. The Join keys are preloaded in the devices by the device manufacturing unit during the device manufacturing phase. The CKMI server has the Join keys of all the devices. It is assumed that trust is employed between the device manufacturing plant and industrial plant.
4.1. Key Generation
Field level devices: Along with polynomial key establishment parameters (polynomial shares), 128-bit random key is generated for field level devices. The generated key is used as a field level group key (FGK) for field network devices.
Control level devices: Along with matrix method key establishment parameters (secret rows ∈ matrix A and key seeds ∈ matrix P), 128-bit random key is generated for control level devices. The generated key is used as a control level group key (CGK) for control network devices.
Plant level devices: Along with ECDH method key establishment parameters (public and private key pairs), 128-bit random key is generated for plant level devices. The generated key is used as a plant level group key (PGK) for plant network devices.
Algorithm 1 depicts the key generation process for IACS devices.
Algorithm 1 Key generation for IACS devices. |
- 1:
CKMI server: Generates the security parameters for various crypto methods to be used. - 2:
if Key generation is for field level devices then - 3:
Choose Polynomial method for key establishment - 4:
Generate -degree polynomial equation (P) - 5:
Evaluate polynomial shares by substituting unique IDs in P - 6:
Generate 128-bit field level group key (FGK) - 7:
else if Key generation is for control level devices then - 8:
Choose matrix method for key establishment - 9:
Generate secret symmetric matrix S and public matrix P - 10:
Perform matrix multiplication A = SXP and transpose to get - 11:
Generate 128-bit control level group key (CGK) - 12:
else if Key generation is for plant level devices then - 13:
Choose ECDH method for key establishment - 14:
Generate elliptic curve domain parameters (p, a, b, G, n, h) - 15:
Generate private keys ∈n and public keys = ·G - 16:
Generate 128-bit plant level group key (PGK) - 17:
end if
|
4.2. Device Registration/Device Join Phase
When a device is connected to the CKMI server for initial bootstrapping, the CKMI server sends a request for the device to send the resource configuration details. The device sends the unique device ID and the resource configuration details (the type of device and resource footprint (battery power, memory, and processing capacity)). The resource configuration details are encrypted using the Join key. The CKMI server authenticates the device by decrypting the received message using the Join key of the corresponding device. Based on the resource configuration details, appropriate crypto mechanisms will be loaded into the device.
Field level devices: If the device belongs to field level category, polynomial method key establishment parameters, i.e., a polynomial share from the polynomial pool and a corresponding ID used for generating the polynomial share, are sent to the device. The keying materials are encrypted using the Join key. The FGK is loaded in all authenticated field devices for securing the broadcast messages to be sent by the CKMI server to all field level devices.
Control level devices: The rows of matrix A are used as the key material for the devices to generate the secret key. Thus, each device will get a secret row from the secret matrix A and the corresponding column seed value from the public matrix P. The keying materials are encrypted using the Join key and sent to the control devices. The CGK is loaded in all authenticated control devices for securing the broadcast messages to be sent by the CKMI server to all control level devices. Public matrix (P) is made available in the public key directory.
Plant level devices: If the device belongs to the plant level category, it will load the elliptic curve domain parameters and a random number (private key of the device). The keying materials are encrypted using the Join key and sent to the plant devices. The PGK is loaded in all authenticated plant level devices for securing the broadcast messages to be sent by the CKMI server to all plant level devices. The elliptic curve parameters and public keys of the devices are made available in the public key directory.
Algorithm 2 depicts the Device registration/Device join process for IACS devices.
Algorithm 2 Device registration and Key distribution for IACS devices. |
- 1:
CKMI server IACS device - 2:
IACS device CKMI server - 3:
if Device ∈ field level category then - 4:
CKMI server Field level device - 5:
else if Device ∈ control level category then - 6:
CKMI server Control level device - 7:
else if Device ∈ plant level category then - 8:
CKMI server Plant level device - 9:
end if
|
4.3. Key Establishment Phase
Field level devices: Any pair of field devices establish secure communication between themselves using their preshared polynomial shares. Sinceb devices have the polynomial shares of the same polynomial equation, they can get the same shared secret key (
Section 3.1). A nonce is used to prevent the replay attack.
Control level devices: Any pair of control devices establish secure communication between themselves using their preshared secret row and a seed value. Equation (
3) and
Figure 3 confirm that the same shared secret key is generated between any two control level devices (
Section 3.2). A nonce is used to prevent the replay attack.
Plant level devices: Any pair of plant devices establish secure communication between them using their preshared elliptic curve parameters. The same key is generated on both devices (
Section 3.3), e.g.,
PD1 and
PD2, because
PK1 = K1 × P2 = K1 × (K2 · G) = (K2 × KD) × G = K2 × P1 = K2 × (K1 · G) = K2 × P1 = PK2, where
PK1 and
PK2 are the shared secret key generated between the devices,
K1 and
K2 are the private keys and
P1 and
P2 are the public keys of the devices respectively. Nonce is used to prevent the replay attack.
Algorithm 3 depicts the key establishment process for IACS devices. In Algorithm 3, PK is the pair-wise key and SK is the session key generated between the devices.
Algorithm 3 Key establishment between IACS devices. |
- 1:
if Communication is between Field device (FD1) → Field device (FD2) then - 2:
FD1 FD2 - 3:
FD2: Computes PK and generates nonce - 4:
FD2 FD1 - 5:
FD1: Computes PK and SK (nonce × PK) - 6:
FD1 FD2 - 7:
FD2: Computes SK and checks for integrity of received data - 8:
else if Communication is between Control device (CD1) → Control device (CD2) then - 9:
CD1 CD2 - 10:
CD2: Computes PK and generates nonce - 11:
CD2 CD1 - 12:
CD1: Computes PK and SK (nonce × PK) - 13:
CD1 CD2 - 14:
CD2: Computes SK and checks for integrity of received data - 15:
else if Communication is between Plant device (PD1) → Plant device (PD2) then - 16:
PD1 PD2 - 17:
PD2: Computes PK and generates nonce - 18:
PD2 PD1 - 19:
PD1: Computes PK and SK (nonce × PK) - 20:
PD1 PD2 - 21:
PD2: Computes SK and checks for integrity of received data - 22:
end if
|
4.4. Key Storage
CKMI server maintains all the active keys used for secure communication at field, control and plant level networks. It maintains a database containing the attributes key store reference, network
ID, Device
ID, key generation date, and key expiry date. The key store database contains the cryptographic keying materials of key establishment parameters of the devices (
Figure 4). The records in the key store are encrypted using a password known by the crypto officer. A redundant copy of the database and key store are maintained (backup) by the CKMI server to recover the parameters if keying materials are lost.
Field level devices: Key store contains Join key, device polynomial shares, polynomial equation and FGK used for field level network devices.
Control level devices: Key store contains Join key, device secret rows, seed values and CGK used for control level network devices.
Plant level devices: Key store contains Join key, elliptic curve parameters, private and public keys of the devices and PGK used for plant level network devices.
4.5. Device Addition
When a new authenticated device is required to be added to the network, it goes through the device registration phase (
Section 4.2). Algorithm 4 depicts the device addition process for IACS devices.
Algorithm 4 Device addition. |
- 1:
if New Field Device is added to the field level network then - 2:
CKMI server: - 3:
Considers one polynomial share (PS) ∈ polynomial pool, ID used for generating PS and FGK. - 4:
CKMI server New Field Device. - 5:
CKMI server broadcasts message to all field level devices about the addition of new device (encrypted using FGK). - 6:
else if New Control Device is added to the control level network then - 7:
CKMI server: - 8:
One extra column is added to the public matrix using a seed value (SD). - 9:
Performs matrix multiplication A = Symmetric matrix (S) × public matrix (P) and transpose . Considers the newly generated row (ER) in and CGK. - 10:
CKMI server New Control Device. - 11:
CKMI server broadcasts message to all control level devices about the addition of new device (encrypted using CGK) and also updates the public matrix in the public key directory. - 12:
else if New Plant Device is added to the plant level network then - 13:
CKMI server: - 14:
Considers Elliptic curve domain parameters (EDP), a private key (D) and PGK. - 15:
CKMI server New Plant Device. - 16:
CKMI server broadcasts message to all plant level devices about the addition of new device (encrypted using CGK) and also adds the public key of the new device in the public key directory. - 17:
end if
|
Field level devices: CKMI server installs one of the available polynomial shares using a combination of a polynomial from the polynomial pool, a polynomial share generation ID and a Field level group key.
CKMI server broadcasts a message to all field level devices (encrypted using FGK) about the addition of a new device. Once the new device is deployed in the field level network, it can securely communicate with other field devices using the polynomial share received from the CKMI server.
Control level devices: Control level devices will get stored with a secret row from matrix A and a seed value from public matrix P. In the case when no rows are available in matrix A, there is a need for generating additional rows in matrix A, which can be done as follows:
- -
CKMI server adds one extra column to the matrix P by considering a new seed value. No modification is required in the matrix S.
- -
To generate a new secret row in matrix
A, the CKMI server performs the matrix multiplication operation for
P and
S matrices. Transpose operation
is performed. This results in one extra row in matrix
A, as shown in
Figure 5. This extra row can be considered as the secret row for the new device.
Plant level devices: The CKMI server installs the elliptic curve domain parameters, a unique private key ∈ and plant level group key for the new device.
The CKMI server broadcasts a message to all plant level devices (encrypted using PGK) informing about the addition of a new device and also adds the public key of the new device to a public key directory. Once the new device is deployed in the plant level network, it can securely communicate with other plant devices using the elliptic curve parameters and the public and private keys received from the CKMI server.
4.6. Key Revocation
Once the CKMI server identifies that a device is compromised or needs to be removed for some reason, its association with the industrial network should be eliminated. Algorithm 5 depicts the key revocation process for IACS devices.
Field level devices: CKMI server broadcasts a message containing the ID of the evicted device. The message is encrypted using FGK. After receiving such a message, the field devices update their device ID revocation list. It is assumed that each field device maintains a separate device ID revocation list.
For every communication, devices check the ID of the device in the device ID revocation list. If the communication requesting device’s ID is present in that list, the device terminates the connection and informs the same to the CKMI server.
Control level devices: CKMI server broadcasts a message containing the seed value of the evicted device. The message is encrypted using CGK. After receiving such a message, the control level devices update their seed value revocation list. It is assumed that each control level device maintains a seed revocation list. In addition, the CKMI server updates the public matrix in the public key directory by removing the column of the compromised device.
For every communication, devices check the seed value of the device in the seed revocation list. If the communication requesting device’s seed value is present in the seed revocation list, the device terminates the connection and informs the same to the CKMI server.
Plant level devices: To achieve key revocation, the CKMI server broadcasts a message containing the public key of the evicted device. The message is encrypted using PGK. After receiving such a message, the plant level devices update their public key revocation list. It is assumed that each plant level device maintains a public key revocation list. In addition, the CKMI server removes the public key of the compromised device from the public key directory.
For every communication, devices check the public key of the device in the revocation list. If the communication requesting device’s public key is present in the revocation list, the device terminates the connection and informs the same to the CKMI server.
Algorithm 5 Key revocation. |
- 1:
if Key revocation is for Field device then - 2:
CKMI server Field devices - 3:
Field Devices: Updates Device ID revocation list. - 4:
else if Key revocation is for Control device then - 5:
CKMI server Control devices - 6:
Control Devices: Updates Seed value revocation list. - 7:
CKMI server: Updates the public matrix in public key directory by removing the column of the compromised device. - 8:
else if Key revocation is for Plant device then - 9:
CKMI server Plant devices - 10:
Plant Devices: Updates public key revocation list. - 11:
CKMI server: Removes the public key of the compromised device from the public key directory. - 12:
end if
|
4.7. Key Update
According to the security policies and requirements, the keying materials of the devices should be updated. The old parameters of the device are archived, and CKMI server is involved in updating new parameters for the devices. Algorithm 6 depicts the key update process for IACS devices.
Algorithm 6 Key update. |
- 1:
if Key update is for Field devices then - 2:
CKMI server Field device - 3:
else if Key update is for Control devices then - 4:
CKMI server: - 5:
Updates the seed value of the corresponding device in the public matrix - 6:
Performs matrix multiplication A = Symmetric matrix (S) × public matrix (P) and take transpose - 7:
CKMI server Control device - 8:
CKMI server: Updates the public matrix in public key directory - 9:
else if Key update is for Plant devices then - 10:
CKMI server Plant device - 11:
CKMI server: Public key of the device is updated in public key directory - 12:
end if
|
4.8. Archival
Archival refers to off-line long-term storage of post-operational keys. The keying material that is no longer in regular use is archived. The cases where archiving can be needed includes instances of crypto period expiry and cases when the key material of a device is compromised.
The archived contents for the field level devices include polynomial shares and the ID used, polynomial equation, Join key and FGK.
Control level devices: The archived contents for the control level devices include a public matrix (seed values), secret symmetric matrix (secret rows), Join key and CGK.
Plant level devices: The archived contents for the plant level devices include parameters of elliptic curves, the private key and Join key of the device and the PGK.
4.9. Key Recovery
If the session key is lost due to device failure or crash in communication, the IACS devices themselves regenerate the pair-wise key by repeating the operations, as discussed in key establishment phase (
Section 4.3). Algorithm 7 depicts the key recovery process for IACS devices.
Field level devices: The session key is regenerated using the polynomial shares followed by the operations, as discussed in the key establishment phase.
Control level devices: The session key is regenerated using the secret row and seed value followed by matrix multiplication operations, as discussed in the key establishment phase.
Plant level devices: The session key is regenerated using the private key and public key followed by scalar multiplication operations, as discussed in the key establishment phase.
In the case that all security parameters of the device are destroyed, key recovery is made by CKMI server by reinstalling the parameters using the commissioning device.
Algorithm 7 Key recovery. |
- 1:
if Pair-wise key is lost between field devices then - 2:
Devices regenerate it by exchanging IDs and substitute it in their polynomial shares. - 3:
else if Pair-wise key is lost between control devices then - 4:
Devices regenerate it by exchanging seed values and by performing matrix multiplication operation. - 5:
else if Pair-wise key is lost between plant devices then - 6:
Devices regenerate it by exchanging public keys and by performing scalar multiplication operation. - 7:
else if All the security parameters of the device are lost then - 8:
Key recovery is done by CKMI server using the commissioning device - 9:
end if
|
4.10. Key de-Registration and destruction
CKMI server removes all the traces of keying materials from local storage, backup and archive when the usage of keying materials is no longer required. In the case of field level devices, the keying materials are polynomial key establishment parameters. In the case of control level devices, the keying materials are matrix key establishment parameters. In the case of plant-level devices, the keying materials are ECDH key establishment parameters.
4.11. Across Field Level and Control Level Devices
Along with supporting secure communications between the same level devices, the proposed scheme handles secure communications between different level devices. For secure communication between the control and field level devices, our design uses a polynomial method.
Workflow
During the device registration phase (
Section 4.2), along with storing the keying materials of matrix method, polynomial method parameters (a polynomial share and the
ID used for generating the polynomial share) are also stored in the control level devices.
The control device uses matrix method parameters to communicate devices belonging to the same level network. The control device uses polynomial method parameters to communicate with field level network devices. The key establishment process follows the same procedure as portrayed in the field-level device key establishment process (
Section 4.3).
Observations
- -
Let us consider the scenario shown in
Figure 6. The control level devices are represented by
CD1, CD2, … CDn. The field level devices are represented by
FD1, FD2, …, FDn. The devices
CD1, FD1, …, FDi are considered as Group 1. The devices
CD3, FDi+1, …, FDn are represented as Group 2.
In this scenario, the field devices FD1, FD2, … FDi need to communicate only with the control device CD1. The field devices FDi+1, FDi+2, … FDn need to communicate only with the control device CD3, i.e., intergroup communication is not allowed. Hence, the CKMI server can use different polynomial equations for Group 1 and Group 2. In the key distribution phase, along with storing matrix method parameters, the device CD1 is also stored with one polynomial share of the polynomial equation, which is considered for Group 1 devices. Using the polynomial share, the device CD1 can communicate with field devices (FD1, FD2, … FDi) and vice versa. Similarly, CD3 is also stored with one polynomial share of the polynomial equation, which is considered for Group 2 devices. Using the polynomial share, the device CD3 can communicate with field devices (FDi+1, FDi+2, … FDn) and vice versa.
- -
If similar applications are running in the industrial plant, the CKMI server can use the shares of the same polynomial equation for different groups. It enables communication between different groups of devices under different control level devices.
- -
If applications are different between the groups, it is better to use polynomial shares of different polynomials for each group of devices. This avoids the communication between different group devices, which are running different applications.
- -
Use of different polynomial equations for each group also reduces the impact of a network compromise. This is because, if any device is compromised, the impact will be on the compromised group. Other groups are safe and, hence, can continue their operations.
4.12. Across Control Level and Plant Level Devices
The matrix method is used to support secure communication between the control level and plant level devices.
Workflow
During the device registration phase, along with storing the keying materials of ECDH method (
Section 4.2), matrix method parameters (a secret row and a seed value) are also stored in the plant level devices.
The plant device uses ECDH method parameters to communicate with devices belonging to the same level network. The plant device uses matrix method parameters and vice versa to communicate with control level network devices. The key establishment process follows the same procedure as described in the control level device key establishment process (
Section 4.3).
Observations
- -
Typically, the higher level devices of the automation networks have more relaxed constraints in terms of storage, communication and computation capacity, processing speed, etc. as compared to the lower level devices. Therefore, plant-level devices are responsible for initiating communication between plant level and control level devices.
- -
Use of symmetric method (matrix method) between Plant and Control level devices involves less computation and communication cost. To handle multiple applications and to reduce the impact of network compromise, the grouping of devices can be done, as discussed in
Section 4.11 (
Figure 6).