## 5 Communication Dependability
### Cybersecurity for IEC61850 Multicast Communication in Wide-Area Applications
#### 5.2.1 Secured Messages
Therefore, the upper level KDC has an updated list of all registered GMs in the whole system with their membership information. Furthermore, every GM is provided with the addresses of two KDCs for registration: a local lower-level KDC as its main KDC and a remote upper-level KDC as a back-up. If communication to the main KDC fails, the GM contacts the back-up upper KDC to receive the security keys and policies. The security policy indicates the security mode (none, signature, encryption, signature, and encryption) and the security algorithms along with their validity times. For this purpose, KDC provides the following information: TimeofCurrentKey (the time when KDC assigns the key), TimetoNextKey (the time when the key expires), Security Algorithms (types of signature and encryption algorithms), and KeyID (the number that is assigned to each key by KDC). Thus, IEDs create secured messages according to the security policy and incorporate the cited security-related information as the labels in the session header of the R-SV/R-GOOSE messages, as shown in Figure 10.  
Figure 10 illustrates the IEC61850-90-5 session protocol that includes session identifier, header, and payload. The session identifier contains a Hexadecimal value that identifies message type [2]: the four values of 0 xa0, 0 xa1, 0 xa2, and 0 xa3 correspond to Routable-Tunnelled SV/GOOSE, R-GOOSE, R-SV, and Management messages, respectively. Each data frame generated in the session layer is called a Session Protocol Data Unit (SPDU). The session header contains SPDU length, SPDU number, version, and security related information provided by the KDC. The session payload contains actual user data, which is shown in Figure 10 for R-SV/R-GOOSE data including the header and Protocol Data Unit (PDU). Figure 9: Decentralized security architectures: Fully Connected (**left**) and Hierarchical (**right**). Accordingly, R-SV/R-GOOSE messages are performed over the IEC61850-90-5 session layer that secures messages using the received key (TEK) and the received policy (none, signature, encryption, signature, and encryption). While the digital signature is created by the Hash-based Message Authentication Code (HMAC) algorithm, the message is encrypted with the Advanced Encryption Standard (AES). These signature and encryption algorithms are applied to whole sections of the IEC61850-90-5 session protocol, i.e., session identifier, header, and payload (R-SV/R-GOOSE). Therefore, R-SV/R-GOOSE messages are secured. In the case of signed R-SV/R-GOOSE, the HMAC value is calculated for the session layer data and appended to R-SV/R-GOOSE. In the case of encrypted R-SV/R-GOOSE, all the session layer data are encrypted with AES, as shown in Figure 11. These secured messages are periodically renewed since security keys and policies have a limited lifetime, and they are refreshed once the validity time specified in the session header has expired. To sum up, GDOI security mechanisms create secured R-SV/R-GOOSE messages and protect the communication against cyberattacks. GDOI provides authentication and access control as well as dynamic security by periodically replacing security policies and key materials. KDC checks the IED's security credential and will only allow authenticated IEDs  
Figure 11: (**a**) None-secured R-SV/R-GOOSE, (**b**) Signed R-SV/R-GOOSE, (**c**) Encrypted R-SV/R-GOOSE, (**d**) Signed and Encrypted R-SV/R-GOOSE. Figure 10: IEC61850-90-5 session protocol—security related information in the session header. to join a specific group. The access control is provided by KDC in two ways: backward access control, i.e., the IED has no access to security keys before joining the group and forward access control, i.e., the IED has no access to the security keys after leaving the group (because KDC replaces the group keys with new ones when a GM leaves the group). Moreover, KDC ensures perfect-forward secrecy, which means that a minimum amount of data is exposed if a security key is hacked because KDC replaces and distributes security keys automatically and frequently.