This application claims priority to and the benefit of Korean Patent Application No. 2010-0032408 filed on Apr. 8, 2010, the disclosure of which is incorporated herein by reference in its entirety.
1. Field of the Invention
The invention relates to a hybrid key management method for robust SCADA systems in which group keys are created and are distributed using digital signatures in a SCADA system in which a master terminal unit (MTU), a plurality of sub-master terminal units (sub-MTUs), and a plurality of remote terminal units (RTUs) are sequentially and hierarchically structured, and a session key generation method.
The invention also relates to a hybrid key management method for robust SCADA systems in which public key based encryption is applied between an MTU and sub-MTUs and high performance symmetric key based encryption is applied between sub-MTUs and RTUS, and a session key generation method.
2. Discussion of Related Art
Modern industrial facilities such as oil refineries, electric power generating plants, and manufacturing facilities generally have command and control systems. These industrial command and control systems are commonly referred to as Supervisory Control and Data Acquisition (SCADA) systems.
As demand for connecting SCADA systems to open networks increases, SCADA systems have become exposed to a wide range of network security problems. If a SCADA system is damaged through an attack, this system can have a widespread negative effect upon society. To prevent such attacks, many researchers have been studying the security of SCADA systems.
Many researchers have proposed key management schemes for SCADA systems. Key establishment for SCADA systems (SKE) and a SCADA key management architecture (SKMA) have both been proposed, and two schemes were recently proposed—Advanced SCADA Key Management Architecture (ASKMA) and Advanced SCADA Key Management Architecture+ (ASKMA+).
The ASKMA scheme has been proposed in Korean Patent Application No. 10-2010-0006103 (hereinafter, Prior Art 1), filed by the applicant of the present invention, titled “Efficient Key Management Method for SCADA Communications”. Prior Art 1 relates to a shared key management method for SCADA communications in which shared keys of a group key are generated in a tree structure and remote terminal units or sub master terminal units share the shared keys of their ancestor nodes and descendent nodes of the nodes corresponding to themselves, and a session key generation method. In particular, the group keys of a SCADA system is generated in a binary tree structure, and all the shared keys of the on-path nodes from an intermediate node to a root node are updated if the shared key of the intermediate key is updated. The shared keys of the on-path nodes are updated by their own shared keys and the shared keys of off-path child nodes.
However, previous studies do not appropriately consider availability. That is, they do not have a solution for the case when the main device breaks down. In addition, since many SCADA devices are remote from the control center, they are physically insecure. Therefore, the devices need to periodically update the security keys stored therein. However, the computation and communication costs of this update process increase as both the number of vulnerable devices and keys increase, so SCADA systems need to reduce the number of keys transmitted for security and efficiency.
Hereinafter, the cryptographic security requirements for SCADA systems will be discussed in more detail. They have been rebuilt based on standards and reports.
1) Access control: A SCADA system should uniquely identify and authenticate organizational users and devices.
2) Availability: The availability of a SCADA system is more important than confidentiality, because an unavailable SCADA system can cause physical damage or threaten human life. Usually, SCADA systems employ backup devices, because they should be designed to be always on. If the main device breaks down, it should be replaced with a backup device as soon as possible.
3) Confidentiality: The data transmitted between nodes should be protected by encryption.
4) Cryptographic key establishment and management: When cryptography is required and employed within a control system, the organization establishes and manages cryptographic keys using automated mechanisms with supporting procedures or manual procedures.
5) Integrity: It is critical that messages between nodes are not tampered with, and that no new message is inserted since message modification and injection can cause physical damage. Therefore, the SCADA system should ensure the integrity of the transmitted message.
6) Public key infrastructure: The organization issues public key certificates under an appropriate certificate policy or obtains public key certificates under an appropriate certificate policy from an approved service provider.
7) Number of keys: Since many SCADA system devices are remote from the control center, they are physically insecure. Therefore, the devices need to periodically update the security keys stored therein. In addition, if a device has many keys and the device is compromised, other devices which have those keys also become vulnerable. Therefore, each device which has keys must perform the update process. Since the computation and communication costs of this update process increase as both the number of vulnerable devices and keys increases, SCADA systems need to reduce the number of keys stored on each device for security and efficiency.
Hereinafter, the performance requirements and network configuration requirements of SCADA systems will be described in more detail.
First, a SCADA system needs to interact with devices in real time. Conventionally, a proposed architecture for SCADA communications must match the shortest time delay requirement of no more than 0.540 seconds.
Generally, a SCADA communication link operates at low speeds such as 300 to 19200 baud. In the modbus implementation guide, the default baud rate is 19200 and if that cannot be implemented then the default baud rate is 9600. Therefore, it is preferable to assume a required rate of 9600 baud.
When the SCADA system was first developed, the system architecture was based on a mainframe. Remote devices communicated directly with the MTU by serial data transmission. The second generation SCADA systems took advantage of developments and improvements in systems miniaturization and local area networking (LAN) technology to distribute the processing load across multiple systems. Thus, when a local MTU or human machine interface (HMI) malfunctioned, the device could be promptly replaced. Therefore, it is preferable to assume that a SCADA system's topology is second generation.
The prevent invention has been made in an effort to solve the above-described problems associated with the prior art, and an object of the invention is to provide a hybrid key management method for robust SCADA systems in which group keys are created and are distributed using digital signatures in a SCADA system in which a master terminal unit (MTU), a plurality of sub-master terminal units (sub-MTUs), and a plurality of remote terminal units (RTUs) are sequentially and hierarchically structured, and a session key generation method.
It is another object of the invention to provide a hybrid key management method for robust SCADA systems in which public key based encryption is applied between an MTU and sub-MTUs and high performance symmetric key based encryption is applied between sub-MTUs and RTUS, and a session key generation method.
According to one aspect of the invention, there is provided a hybrid key management method for a supervisory control and data acquisition (SCADA) system in which a master terminal unit (MTU), a plurality of sub-master terminal units (sub-MTUs), and a plurality of remote terminal units (RTUs) are sequentially and hierarchically structured, the hybrid key management method comprising the steps of: (a) creating, by the MTU and the sub-MTUs, their own secret numbers and making and exchanging digital signatures; (b) creating, by the MTU, group keys; and (c) distributing, by the MTU, the group keys to the sub-MTUs and encrypting and decrypting the group keys using the secret numbers.
Step (c) may comprise the steps of: (c1) raising, by the MTU, the group keys to the power of the product of its own secret key and the secret keys of the sub-MTUs and transmitting the raised group keys to the sub-MTUs; and (c2) decreasing, by the sub-MTUs, the raised group keys in proportion to the inverse power of the product of their own secret keys and the secret key of the MTU to obtain the group keys.
The hybrid key management method may further comprise the step of: (d) distributing, upon joining of a new sub-MTU (hereinafter, joining terminal), a group key to the joining terminal. Here, step (d) may comprise the steps of: (d1) creating, by the joining terminal, its own secret number; (d2) encrypting, by the MTU and the joining terminal, their secret numbers using a certificate and exchanging the secret numbers; and (d3) transmitting, by the MTU, the group key to the joining terminal using the same method as step (c).
The hybrid key management method may further comprise the step of: (e) redistributing, upon leaving of at least one sub-MTU, the group keys. Here, step (e) comprises the step of: (e1) recreating the group keys by the MTU; and (e2) transmitting, by the MTU, the recreated group keys to the sub-MTUs which have not left according to the same method as step (c).
The hybrid key management method may further comprise the step of: (f) replacing, upon exchange of the at least one sub-MTU (hereinafter, exchanged terminal) with another sub-terminal, the group key. Here, step (f) may comprise the steps of: (f1) recreating the group keys and transmitting the recreated group keys to the sub-MTUs that have not been exchanged according to the same method as step (e); and (f2) transmitting the recreated group keys to the exchanged terminal by the MTU according to the same method as step (d).
The terminals may verify the secret numbers of their counterparts using the certificates of their counterparts.
The secret numbers may be created by raising generators of a subgroup of an algebraic group to the power of random numbers which are created at random and pertain to the algebraic group.
The secret numbers may be created by applying Equation 1.
Secret number=gri mod p, Equation 1
An intermediate key IKi may be obtained by raising a group key Kg to the power of gr
IK
i=(Kg)g
K
g
=K
g
/g
g mod p Equation 3
The group keys may have a tree structure. The tree structure may have a tree of an nth order from the root node corresponding to the MTU and the intermediate nodes corresponding to the sub-MTUs. The descendent nodes of the intermediate nodes may have binary trees. The leaf nodes of the binary trees may correspond to the RTUs connected to the sub-MTUs of the intermediate nodes.
According to another aspect of the invention, there is provided a session key generation method using a hybrid key of a supervisory control and data acquisition (SCADA) system in which a master terminal unit (MTU), a plurality of sub-master terminal units (sub-MTUs), and a plurality of remote terminal units (RTUs) are sequentially and hierarchically structured, the session key generation method comprising the steps of: (a) creating group keys in a tree structure by the MTU, the tree structure having a tree of an nth order from the root node corresponding to the MTU and intermediate nodes corresponding to the sub-MTUs, child nodes of the intermediate nodes having binary trees, and leaf nodes of the binary trees corresponding to the RTUs connected to the sub-MTUs of the intermediate nodes; (b) distributing the group keys to the sub-MTUs and the RTUs by the MTU and receiving and storing, by the sub-MTUs and the RTUs, the group keys of the ancestor nodes and descendent nodes of the nodes corresponding thereto; (c) selecting a node of the tree structure and creating a session key for communications with a sub-MTU or an RTU corresponding to the descendent node of the selected node as a group key of the selected node; and (d) in step (b), creating, by the MTU and the sub-MTUs, their secret numbers and digitally singing and exchanging the secret numbers, the group keys being encrypted and decrypted by the secret numbers to be distributed.
Session keys may be created by hashing values obtained by combining the group keys, timestamps, and sequence numbers.
According to the invention, a replace protocol which is available and by which the number of keys stored in an MTU is reduced can be supported by applying public key based encryption between the MTU and sub-MTUs and by applying high performance symmetric key based encryption between sub-MTUs and RTUS
The above and other objects, features and advantages of the invention will become more apparent to those of ordinary skill in the art by describing in detail an exemplary embodiment thereof with reference to the accompanying drawings, in which:
Hereinafter, exemplary embodiments of the invention will be described below in detail with reference to the accompanying drawings.
In the description of the embodiments, the same elements are denoted by the same reference numerals and will not be repeatedly described.
First, an exemplary SCADA system for carrying out the invention will be described with reference to
As can be seen in
The HMI 10 shows process data of an infrastructure facility to a manager. The manager monitors and controls the infrastructure facility through the HMI 10. For this purpose, the HMI 10 includes a terminal unit having a computing function.
The RTUs 23 are terminal units which are installed directly at infrastructure facilities to collect and transmit process data and perform control instructions. Generally, the infrastructure facilities to which the SCADA system is applied are distributed across a wide range of regions, so the RTUs 23 are also spaced apart from each other.
The sub-MTUs 22 communicate with specific RTUs 23 and control the RTUs 23. The MTU 21 collects and controls process data as a whole. That is, the MTU 21 controls the sub-MTUs 22 and monitors and controls the RTUs 23 through the sub-MTUs 22.
Session keys are used to allow the MTU 21, the sub-MTUs 22, and the RTUs 23 to perform encrypted communications with each other. That is, a session key is generated between a transmitting terminal and a receiving terminal and then is shared by the terminals. The transmitting terminal encrypts a target message with the session key and then transmits it, and the receiving terminal receives the encrypted message and then decrypts it with the session key.
The session keys are used in specific sessions and a new session key is used for each session. Even if a session key is exposed, other sessions are secure. However, the session keys are generated using keys shared by the terminals. That is, the session keys are generated by hashing the keys shared by the terminals and timestamps. Thus, it is most important to manage keys for secure communications.
In the hybrid key management method for robust SCADA systems according to the embodiment of the invention, keys are managed in two hierarchies as a whole by the MTU 21. That is, according to the embodiment of the invention, the MTU 21 generates and transmits a group key to the sub-MTUs 22. The MTU 21 mainly manages the common key.
Meanwhile, if a sub-MTU 22 is deleted from or added to the SCADA system, all the keys shared by the sub-MTUs 22 should be updated to protect the keys. Thus, the MTU 21 updates the keys and transmits them to the sub-MTUs 22.
Next, the notations and system structure for describing the hybrid key management method for SCADA systems according to the embodiment of the invention will be described with reference to
The following notations are used throughout the specification.
As can be seen in
Each RTi knows keys from a leaf node to an intermediate node as shown in
Now, the hybrid key management method for SCADA systems according to the embodiment of the invention will be described with reference to
The key management method according to the embodiment of the invention comprises an initialization step S10, a step S20 of updating keys when a sub-MTU 22 is added or deleted, a step S30 of updating keys when the sub-MTU 22 or the MTU 21 is replaced with reserve equipment.
First, the MTU 21 creates a tree structure of keys (S10). As can be seen in
Meanwhile, an nth order tree is provided between the root node 31 and the intermediate nodes 32.
A binary tree is provided between each intermediate node 32 and its leaf nodes 34. The nodes between the intermediate nodes 32 and the leaf nodes 34 will be called “general nodes” 33 below.
An example of a method of creating a group key in a tree structure is as follows.
First, the MTU 21 selects a random number r0 computes gr
Next, the sub-MTUs 22 and the MTU 21 compute gr
Next, the MTU 21 checks the validity of the digital signature, selects a group key Kg, computes IKi=Kg
Next, the MTU 21 digitally signs IKi(iε[i,m]) and transmits it to the sub-MTUs MTUs 22. The sub-MTUs 22 compute Kg=Kg
Next, details of the step S20 of updating keys when a sub-MTU 22 is deleted from and added to the tree structure are as follows.
For the m sub-MTUs 22, a method of having (m+1)th sub-MTU 22 newly join the group is as follows.
First, the MTU 21 digitally signs gr
Next, the newly joining sub-MTU 22 and the MTU 21 compute gr
Next, the MTU 21 checks the validity of the digital signature, and if the digital signature is valid, the MTU 21 selects a new group key K′g at random, computes IK′i=(K′g)g
Next, the MTU 21 digitally signs IK′i(iε[i,m]) and transmits it to the prior sub-MTU 22 and the newly joining sub-MTU 22. The sub-MTU 22 computes K′g=K′g
Although the random value ri basically should be updated all the time, ri is repeatedly used for efficiency as in “session cache mode” of SSL.
While the initializing protocol reuses riS, since it uses exponentials to compute IK′, the group members cannot know grori of other group members. This can be applied to leave protocols or replace protocols as well as join protocols.
Next, a method of updating the keys when the jth sub-MTU 22 leaves a group consisting of m sub-MTUs 22 is as follows.
First, the MTU 21 selects a new group key Kg′ at random, computes IK′i=(K′g)g
Next, the MTU 21 digitally signs IKi′, and transmits the sub-MTUs 22 other than the leaving sub-MTU 22. The sub-MTU 22 computes K′g=(K′g)g
The RTU leave protocol performs the same procedure as the ASKMA+protocol.
Next, a step S30 of updating keys when a sub-MTU 22 or the MTU 21 is replaced with backup equipment is as follows.
A replace protocol for replacement with backup equipment is provided to support the availability. If some units of the SCADA system break down, they should be replaced with backup equipment. In this case, the leave protocol and the join protocol are simultaneously performed. Thus, the replace protocol is a combination of the leave protocol and the join protocol.
If a sub-MTU MTa breaks down, MTa should be switched to a backup sub-MTU. A method of updating keys when a sub-MTU 22 (i=n) is replaced with backup equipment will be described.
First, the MTU 21 selects a new group key Kg′ at random, computes K′g=K′g
Next, the MTU 21 digitally signs IKi′ and transmits it to the sub-terminals 22 except for the replaced sub-terminal 22. The sub-MTU 22 computes K′g=K′g
Next, the MTU 21 digitally signs gr
Next, the backup sub-MTU 22 and the MTU 21 compute gr
Next, the MTU 21 checks the validity of the digital signature, and if the digital signature is valid, the MTU 21 computes |IK′n=(K′g)g
Next, the MTU 21 digitally signs IK′n and transmits it to the prior sub-MTU 22 and the new sub-MTU 22. The sub-MTU 22 computes K′g=K′g
If the MTU 21 is replaced, the initialization step S10 is performed again.
Next, a method of generating a session key according to the invention will be described.
In this subsection, the data encryption algorithms for unicast, broadcast, and multicast are presented. For the freshness of the session key, a time variant parameter (TVP) is used. The TVP is a combination of a timestamp and a sequence number.
That is, the session keys is generated using a key shared by terminals which are to be communicated with each other. Thus, the generation, storage, and updating of the key follows the above-described method.
In unicast, the session key for data encryption is generated in the following equation.
SK
U
=H(Kh,jk, TVP) Equation 1
Here, Kh,jk is a leaf node′s key where h is a height of the tree. The data is encrypted with the session key SKU.
In broadcast and multicast, the session key for data encryption should be generated using shared information by every member. The generation of the session key for broadcast and multicast uses the following equation.
SK
b
=H(Kg, TVP)| Equation 2
Here, Kg is a shared key among group members. That is, Kg is a shared key among all group members or some members of the group.
Thus, an encryption session may be set through the key having the structure 30.
Next, the period to update the keys of the RTUs according to the invention will be described.
Since RTUs are generally remote from the control center, they are physically insecure. Therefore, the keys stored in the RTUs need to be periodically updated. If the key update frequency is too short, a time delay in SCADA communications needs to be increased. Thus, a suitable key update period, which satisfies communication efficiency and security requirements, needs to be found. Thus, QoS function is defined in Equation 3 to find the period.
QoS=Ci+Si Equation 3
CI and SI stand for communication index and security index. CI is computed based on the time delay caused by updating the keys in the RTUs. Assume that T is the period of communication in the SCADA system and δ is the time delay caused by updating keys, CI is computed in Equation 4.
Since the period to update the keys is inversely proportional to δ, Equation 4 is modified to Equation 5.
Here, k is a constant and tp is the time between updating the current and next keys.
SI is calculated by the probability of a successful attack upon the RTUs. Since a successful attack upon the RTUs is recognized as an independent event in real life, a Poisson process may be employed to express the event.
Here, n is the number of the events during the time(=t), and λ is the mean of the number of the successful attacks upon the RTUs. The security goal of the invention is that a successful attack upon the key in the RTUs should not occur between updating the current and next keys. So, Equation 7 is derived for n=0 and t=tp.
SI=e
−λt
Equation 7
In the Poisson process, λ represents the mean of the number of every possible attack upon the SCADA network. However, the target of attacks may be restricted to the keys in the RTUs. Then, the reason for attacks may be separated into either a logical error of the scheme to update the keys in the RTUs or an error of implementation. Some examples of attacks caused by logical errors are forward secrecy, backward secrecy and so on. Attacks caused by an error of implementation may be separated into invasive attacks on RTUs and non-invasive attacks on RTUs. An example of an invasive attack on the RTUs is reverse engineering of the hardware module of the RTUs. An example of a non-invasive attack on the RTUs is a side channel attack or reverse engineering of the software in the RTUs.
SI is recalculated in Equation 8.
SI=e
−(λ
+λ
+λ
)t
Equation 8
Here, λl is the mean of the number of successful attacks caused by logical errors, λi is the mean of the number of successful invasive attacks and λni is the mean of the number of successful non-invasive attacks caused by an error in implementation. However, the invention has some logical errors according to the security analysis. So, λl of the invention may be assigned to 0.
Finally, the QoS function may be expressed by tp.
To maximize the QoS function, a differentiation of the Qos function at a tp should be 0.
Thus, the optimal period for updating the key in the RTUs may be found.
Next, the effect of the invention will be described in detail
The cost of the invention is estimated and analyzed. Here, we are interested in two aspects. (1) The communication time delay should be less than 0.540 seconds. (2) The number of keys stored in an MTU should be less than the previous schemes. The analysis environment is assumed to be as follows.
Here, Diffie-Hellman parameters p and q are chosen. For run time, Crypto++ 5.6.0 is referenced. RSA and X.509 v3 are also chosen since they are the most commonly used public key cryptosystem scheme and certificate format.
In general, the message size of a SCADA system is less than 1000 bits. Thus, the message encryption/decryption time is 0.000018 s. The group setup time is 0.00015 s because the group key setup phase has 1 exponentiation operation and 1 verification operation. Therefore, the sum of these values and transmission time is the total time delay.
In the invention, the number of keys stored in an MTU is less than that in the other schemes. In
Next, the security analysis for the proposed scheme will be described.
It will be apparent to those skilled in the art that various modifications can be made to the above-described exemplary embodiment of the invention without departing from the spirit or scope of the invention. Thus, it is intended that the invention covers all such modifications provided they come within the scope of the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2010-0032408 | Apr 2010 | KR | national |