À l’occasion de la conférence ICS-CSR, des chercheurs de l’institut de technologie de Karlsruhe (Elbez et al.), ont publié les résultats de leurs recherches autour de l’authentification de messages GOOSE. L’objectif de l’étude était d’évaluer l’adéquation de certains mécanismes d’authentification de messages avec les contraintes temporelles du protocole.

Le protocole GOOSE, qui est spécifié dans la norme IEC 61850, est par défaut utilisé sans mécanisme de sécurité. La norme IEC 62351 préconise de bonnes pratiques et l’usage de différentes stratégies de sécurité pour les protocoles de la norme IEC 61850. Dans le cas de GOOSE, il s’agit d’ajouter un CRC et une signature de l’APDU (Application Protocol Data Unit, le contenu du message sans les en-têtes) via RSASSA-SSP (RSA-Probabilistic Signature Scheme based on Signature Scheme with Appendix, voir ci-après). Néanmoins, le même standard précise que l’usage de cette signature n’est pas recommandé pour les applications nécessitant des temps de réponse de 3ms. En raison de cette recommandation (et de l’état de maturité actuel de la sécurité de ce protocole), la majorité des constructeurs d’équipements ne proposent pas, pour le moment, de mécanisme de signature pour les messages GOOSE.

FIGURE 1: Diagramme bloc du processus de signature RSASSA-PSS. Crédits : Farooq et al.

Pour mieux comprendre le mécanisme de signature RSASSA-SSP, nous recommandons la lecture de l’article de recherche publié au mois de mars dernier par Farooq et al. ,consacré à l’implémentation de ce mécanisme pour les messages GOOSE. Comme son nom l’indique, RSASSA-PSS est un mécanisme de signature basé sur RSA. Il permet de pallier certaines faiblesses du chiffrement RSA de base en ajoutant du padding et un élément aléatoire au message GOOSE initial. La Figure 1 illustre le processus de calcul de la signature d’un message GOOSE :

  • Pour rappel, seule l’APDU du message est signée
  • Cette APDU subit plusieurs opérations, visibles sur la Figure 2. Elles permettent notamment d’ajouter une valeur aléatoire dans le champ nommé Salt et de calculer le condensat qui servira à vérifier l’intégrité du message
  • Cet encodage est converti en un entier
  • La signature RSA est calculée sur cet entier puis ajoutée au message dans le champ prévu à cet effet

FIGURE 2: Étapes d’encodage de l’APDU. Crédits : Hussain et al.

La problématique de ce mécanisme de signature est le temps nécessaire pour le chiffrement et le déchiffrement. Ce surcoût doit rester suffisamment raisonnable pour que les applications temps réel avec des contraintes temporelles fortes (inférieur à 3ms) puissent continuer de fonctionner. Malheureusement, peu d’études se sont penchées sur cet impact.

Les deux études que nous avons mentionnées jusqu’à présent sont les deux seules (à notre connaissance) à avoir implémenté RSASSA-PSS pour des messages GOOSE et à avoir mesuré le coût temporel. D’autres études ont implémenté un mécanisme RSA plus classique. Nous notons que de manière générale, le matériel utilisé dans ces études n’est pas nécessairement représentatif du matériel utilisé dans les stations électriques. De plus, les études se concentrent majoritairement sur l’utilisation de clés de 1024 bits, bien que l’usage de clés de 2048 bits soit recommandé par le NIST depuis 2013. Les résultats montrent que le calcul d’une signature avec RSASSA-PSS demande plus de 4ms. Ce mécanisme ne peut donc, à l’heure actuelle, pas être utilisé dans le cas d’applications avec des contraintes temporelles fortes.

Dans leur papier, Elbez et al., explorent également l’utilisation de HMAC-256 pour remplacer RSASSA-PSS. Les résultats de l’expérience montrent que l’utilisation de cet algorithme a un impact très nettement inférieur d’un point de vue temporel. En effet, le calcul de la signature est de l’ordre de la dizaine de microsecondes.

Les auteurs évoquent la possibilité d’introduire ce mode de signature dans la prochaine version du standard IEC 62351. Il ne faut en revanche pas oublier que ce mécanisme est basé sur un chiffrement symétrique (et non asymétrique comme RSASSA-PSS) qui pose d’autres problématiques, notamment celle de la gestion des clés de chiffrement.

Sources : https://www.researchgate.net/publication/331752216_Performance_Evaluation_and_analysis_of_IEC_62351-6_Probabilistic_Signature_Scheme_for_Securing_GOOSE_Messageshttps://www.scienceopen.com/document_file/12ebd5eb-3b0d-4cd5-998d-30e6460e7bbd/ScienceOpen/137_Elbez.pdf