CKMI: Comprehensive Key Management Infrastructure Design for Industrial Automation and Control Systems

Industrial Automation and Control Systems (IACS) are broadly utilized in critical infrastructures for monitoring and controlling the industrial processes remotely. The real-time transmissions in such systems provoke security breaches. Many security breaches have been reported impacting society severely. Hence, it is essential to achieve secure communication between the devices for creating a secure environment. For this to be effective, the keys used for secure communication must be protected against unauthorized disclosure, misuse, alteration or loss, which can be taken care of by a Key Management Infrastructure. In this paper, by considering the generic industrial automation network, a comprehensive key management infrastructure (CKMI) is designed for IACS. To design such an infrastructure, the proposed scheme employs ECDH, matrix method, and polynomial crypto mechanisms. The proposed design handles all the standard 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 supports secure communication between the same and different levels of IACS devices. The proposed design can be applied for major industrial automation networks to handle the key management operations. The performance analysis and implementation results highlight the benefits of the proposed design.


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: 1. Modify the transmitted readings 2. Send invalid commands or to send valid commands at a false time 3. Send wrong information to the control unit 4. Create situations leading to packet loss 5. Overwrite the existing programs of the remote devices 6. Introduce a delay in the communication 7. Try to block the information 8. 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.  1. 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. 2. 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. 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). 5. 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. 6. 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. 7. 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. 8. 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.

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.

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.

Polynomial Key Establishment Scheme
Using Equation (1), KDC generates a symmetric bivariate t-degree polynomial over a finite field F p , where p is a large prime number. Device IDs are substituted in this generated polynomial to generate polynomial shares, i.e., f(ID i , 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 f X (ID1, ID2). Device Y computes f Y (ID2, ID1). The symmetric property ensures f X (ID1, ID2) = f Y (ID2, ID1) and, hence, the same key is generated between them.

Matrix Key Establishment Scheme
KDC generates two matrices. One matrix is secret symmetric matrix (S) of order (λ + 1) × (λ + 1) and other is public matrix (P) of order (λ + 1) × N, 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 S = S T . Public matrix construction: KDC chooses independent key seeds S 1 , S 2 , . . ., S N ∈ F p . 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 = (S · P) T .
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 P ij 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.

ECDH Key Establishment Scheme
KDC considers the elliptic curve of form y 2 = x 3 + ax + b over field F p 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 4a 3 + 27b 2 = 0. A point G(X G , Y 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 (d X , Q X ) and (d Y , Q Y ), can compute the pairwise key (PK) as follows: Device X computes the shared secret key

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.

•
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 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 A T

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 d i ∈n and public keys Q i = d i ·G 16: Generate 128-bit plant level group key (PGK) 17: end if

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 d i (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.

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 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.

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.

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.  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 A T .
Considers the newly generated row (ER) in A T and CGK. 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. 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 A = (S · P) T 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 ∈ F p 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.

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. CKMI server: Removes the public key of the compromised device from the public key directory. 12: end if

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.

•
Field level devices: If the CKMI server wants to update the keying materials of a specific device, Join key of the device is used to send the new polynomial share and the ID used for generating the polynomial share.
If the CKMI server wants to modify all the security parameters of the device, it uses a commissioning device [36]. The commissioning device is a portable device used by the commissioning engineer to configure the security parameters of the devices in the industrial plant. For field level devices, the new parameters include new polynomial share with a new ID, Join key and FGK. • Control level devices: -If CKMI server needs to update the keying materials (secret row and seed value) of the specific control device, it changes the seed value of the corresponding device in the public matrix and performs matrix multiplication for secret symmetric matrix (S) and the updated public matrix (P). The matrix multiplication operation results in a change of only one secret row corresponding to the device, which requires a key update and remaining rows are not affected in the matrix A. The Join key of the device is used to send the new secret row and the seed value for the device. The CKMI server updates the public matrix in the public key directory.

-
If CKMI server wants to modify all the security parameters of the device, it uses commissioning device. For control level devices, the new parameters include a new secret row from matrix A, a seed value from the new public matrix P, Join key and CGK.  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

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.

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

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.

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). 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. 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.

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). The proposed design handles secure communication between the same and different levels of IACS devices.

•
The higher is the level of the network in the hierarchy in IACS (from a field to plant network), the more the constraints are relaxed for the devices in terms of latency, computation and communication overhead, storage, etc. According to the constraints, the appropriate crypto mechanism is considered for each layer of IACS.

•
Based on the resource configuration details of the devices, a suitable crypto mechanism is employed for the devices. A symmetric crypto system is employed for field and control level devices. An asymmetric crypto system is employed for plant level devices.

•
Our design follows a centralized key management aspect. It offers the following benefits: -It provides a place to define unified security policies.

-
It provides a higher degree control of crypto keys and hence provides operational efficiency.

-
It provides transparency in auditing, storage and backup processes with clear separation of tasks. -A single point of failure of CKMI server can be handled with a secondary CKMI server.
• Only communications between devices authenticated by the CKMI server will occur in the network. For any device to communicate with another device, they must participate in the secret key generation. With suitable pre-shared parameters and message exchanges, the same secret key is generated on both the devices.

•
The secret key is never transmitted over the network during the key establishment phase. Thus, the chances of exposure of secret keys are reduced.

•
The hierarchical industrial architecture and separate crypto systems for each level of devices avoid the disruption of service due to key management in the case of device failures. In other words, device failures will not affect the comprehensive key management infrastructure operations, although the communication with that device is lost.

•
The proposed scheme minimizes the number of communications for setting up the keys, which is generally one of the most resource consuming operations in these types of networks. • Scalability is efficiently achieved at all levels of IACS.
-Device addition is supported. This will not disturb the existing communications, and no modification is required in the existing devices.

-
Device deletion, i.e., key revocation is handled to stop the communication between the deleted device and the existing devices.
• Replay attack is eliminated using nonces during key establishment.

Justification of Key Establishment Mechanisms Employed for Establishing the Shared Secret Keys
Based on the constraints of IACS devices, the proposed design makes use of the polynomial method, matrix method and ECDH method to establish the shared secret keys between the devices. The selected key establishment mechanisms are well supported to handle all the key management operations effectively.

•
Justification for choosing Elliptic Curve Diffie-Hellman key establishment scheme -Fewer bits: The security level of a 160-bit ECC, 1024-bit RSA, and 1024-bit DSA is similar. ECC requires fewer bits. Table 3 shows a comparison between ECC and other crypto techniques. Table 3. Comparing the key size in terms of computation effort [37]. 56  112  512  80  160  1024  112  224  2048  128  256  3072  192  384  7680  256  512 15,360 -Power consumption: ECC crypto mechanism consumes less power for its functioning when compared to other asymmetric crypto schemes (Table 4). Over the past few years, elliptic curve cryptography has gained popularity and has become a standard around the world. In IACS hierarchy, when compared to control and field level devices, the plant level devices have sufficient storage and computational capabilities. From the above analysis, it can be observed that the ECDH approach is more suitable than any other public key schemes for key establishment in plant level devices.

Symmetric Key Size (bits) ECC-Based Scheme (bits) RSA/DSA (bits)
• Justification for choosing the matrix method and polynomial method key establishment schemes. In the case of a polynomial method, field devices are required to store only one λ-degree polynomial share. Based on the degree of the polynomial, it utilizes memory and provides security. In the case of a matrix method, control devices are required to store only one secret row and a seed value. By choosing the appropriate value for λ, both storage and computation overhead can be optimized.
The novelty of our work resides in the fact that originally, the basic polynomial method, matrix method and ECDH method handled only key establishment, but our proposed scheme handles device addition, key storage, key revocation, key update, and key recovery in addition to the original behavior.

Security Analysis and Comparison
The key establishment schemes used in the proposed design is resilient in nature. The secure property of the schemes depend on the parameters shown in Table 5. Table 6 gives the comparison between the key management designs. Table 5. Secure property of the key establishment schemes.

Key Establishment Schemes Secure Property of the Schemes
Polynomial Key establishment scheme λ collision resistance property Matrix Key establishment scheme λ collision resistance property ECDH Discrete logarithmic problem Table 6. Comparison between the previous works and proposed work in terms of key management states supported.
The design is resistant to the following attacks: • Replay attack: In the proposed scheme, this attack is eliminated using nonce values during key establishment. • Key exposure attack: In the proposed scheme, the secret key is never transmitted over the network during the key establishment phase. Alternatively, devices self-compute the keys using the pre-shared crypto parameters. Thus, the chances of exposure of secret keys are reduced. • Man in middle attack: If the adversary is able to capture all the communication data between the devices, he will not be able to either compromise the devices or compute the secret key used for encrypting the messages. Use of digital signatures for ECDH prevents man-in-the-middle attack.

Test Setup and Implementation Results
The prototype was developed and tested for the proposed key management infrastructure for IACS. Figure 8 shows the setup of an industrial automation network with key establishment schemes. The bottom level is the field level, the middle level is the control level, and the plant level is at the top. The communication medium was Ethernet with IP based network. Each device had a unique IP address. It was assumed that the key server had loaded the crypto parameters of the key establishment schemes in the devices using a secure channel. The applications were written in C and compiled using gcc on Windows 32 bits machine. Tables 6-12 show the various computation results for the schemes proposed in CKMI. 9.6 100 20 Table 9. Time required to perform transpose operation.

Conclusions
We have proposed an elegant key management design for IACS to handle the key management operations. The design considers all the key management operations by considering the constraints of IACS devices. The proposed design can be applied for major IACS by using suitable crypto methods such as ECDH, matrix and polynomial method. The choice of these schemes is justified. Although these crypto methods are meant for key establishment, the same methods are extended to support other key management operations. Changes made at one level of devices to incorporate key management operations does not affect the other level of devices. The impact of attack confines only to that level of devices, thus reducing the recovery time of devices. The test setup and implementation results show that the design is efficient. The proposed design is scalable and supports to secure the communications of IACS devices.