Configurer des certificats de sécurité personnalisés pour OPC UA sur PLCnext Control
Mise à jour d'un article publié originellement en novembre 2018.
Tous les contrôleurs PLCnext incluent un serveur OPC UA embarqué. Comme tout serveur OPC UA, il offre l'option d'établir des connexions sécurisées avec les clients via la cryptographie à clé publique. Ce guide décrit comment utiliser votre propre certificat de sécurité (incluant votre clé privée) pour configurer une connexion OPC UA sécurisée avec un PLCnext Control.
Pour des informations générales sur la gestion des certificats du serveur OPC UA :
- Section OPC UA Settings de l'aide intégrée de PLCnext Engineer.
- PLCnext Info Center :
- Serveur OPC UA embarqué (eUA)
- Authentification par certificat.
Introduction
Le serveur OPC UA embarqué PLCnext Control nécessite des certificats X.509 pour assurer des communications de confiance avec les clients OPC UA. Quatre types principaux de certificats sont possibles :
Option 1 – Certificat auto-signé généré automatiquement.
- Les certificats requis sont créés automatiquement par le PLC.
- Simple à configurer.
- Utile pour les tests et l'utilisation permanente sur LAN sécurisés.
Option 2 – Certificat auto-signé généré manuellement.
- Aucun avantage de sécurité supplémentaire par rapport à l'option 1, mais donne plus de contrôle à l'administrateur sur la gestion des certificats.
Option 3 – Certificat signé par votre propre Autorité de Certification (CA).
- Aucun avantage de sécurité supplémentaire par rapport aux options 1 et 2, mais permet une gestion plus structurée des certificats.
Option 4 – Certificat émis par une CA de confiance.
- Nécessite l'achat d'un certificat auprès d'une CA tierce de confiance comme Symantec ou GeoTrust. Option recommandée pour les réseaux publics ou non sécurisés, car tous les clients devraient accepter un certificat signé par une CA de confiance.
Prérequis
Pour réussir les procédures suivantes :
- Compréhension de base de la cryptographie à clé publique et des certificats X.509.
- Compréhension de base d'OPC, et spécifiquement de la technologie OPC UA.
Matériel et logiciels utilisés :
- Contrôleur AXC F 2152, firmware 2020.6.1
- PLCnext Engineer 2020.6
- UAExpert 1.5.1
- XCA 2.3.0 avec base de données déjà créée
Lectures de fond
- Cryptographie à clé publique
- X.509
- Création de certificats X.509 (PDF)
- Qu'est-ce qu'OPC ?
- OPC Unified Architecture
- Le modèle de sécurité OPC UA pour administrateurs (PDF)
Procédures
Option 1 – Certificat auto-signé généré automatiquement
Option par défaut lors de la création d'un nouveau projet dans PLCnext Engineer.
- Suivez la procédure de configuration du serveur OPC UA dans la vidéo YouTube Support Technique.
Cela crée automatiquement un certificat auto-signé dans l'Identity Store OPC UA-self-signed, visible sur la page de gestion Web du PLC, dans la fenêtre Authentification par certificat (section Sécurité).
Lors de la connexion au serveur OPC UA depuis UA Expert, le nom du certificat auto-signé « eUAServer@axc-f-2152-1 » est visible :
Comme le certificat n'est pas signé par une CA de confiance, l'utilisateur doit explicitement faire confiance à ce certificat.
Après confirmation, UA Expert peut afficher l'erreur « BadCertificateHostNameInvalid ». C'est parce que l'URL utilisée pour se connecter ne correspond à aucune entrée dans les champs IPAddresses ou DNSnames du certificat (visibles dans la section UA Extensions ci-dessus). Corrigez en ajoutant les entrées correspondantes dans la fenêtre OPC UA Settings de PLCnext Engineer.
Notez que si UA Expert permet d'ignorer l'erreur BadCertificateHostNameInvalid et de se connecter quand même, de nombreux autres clients OPC UA refuseront simplement la connexion face à cette erreur.
Option 2 – Certificat auto-signé généré manuellement
- Dans XCA, créer un nouveau certificat auto-signé.
- Ouvrir (ou créer) une base via le menu « Fichier ».
- Onglet « Certificats », cliquer « Nouveau certificat » :
- Dans la boîte de dialogue suivante, l'onglet Source est actif. L'option « créer un certificat auto-signé » devrait être cochée par défaut :
- Passer à l'onglet « Sujet » et remplir les champs. Exemple :
- Cliquer « Générer une nouvelle clé ». Cela génère une clé privée unique pour ce certificat.
- Dans l'onglet « Extensions », définir la Validité pour la période requise et renseigner le champ « X509v3 Subject Alternative Name ». Ce champ ne doit pas être vide – exigence de la spécification OPC UA. Les champs IPAddresses et DNSnames de l'option 1 correspondent à ces champs.
- Cliquer OK pour créer le certificat.
- Une fois créé, sélectionner le certificat dans la fenêtre principale XCA et cliquer « Exporter ». Exporter le certificat et la clé privée non chiffrée, au format « PEM + key (*.pem) » :
- Dans PLCnext Engineer, changer le champ « Certificat » du serveur OPC UA de « Auto-signé par le contrôleur » à « Fichier sur le contrôleur ».
- Télécharger le projet PLCnext Engineer sur le PLC.
- Sur la page de gestion Web du PLC, aller à la fenêtre Authentification par certificat dans la section Sécurité. Un nouvel Identity Store OPC UA-configurable a été créé.
- Charger le certificat et la clé depuis le fichier créé à l'étape 7 vers le nouvel Identity Store :
- Charger le certificat en cliquant « Définir » et en sélectionnant le fichier certificat/clé. Une erreur apparaît : la Key Pair existante et le nouveau Certificat ne correspondent pas.
- Charger la clé privée en cliquant « Définir » et en sélectionnant le fichier certificat/clé. L'erreur disparaît.
- Redémarrer le PLCnext Runtime pour que le serveur OPC UA prenne en compte le nouveau certificat.
Il est maintenant possible de connecter un client au serveur OPC UA avec ce certificat auto-signé personnalisé. Lors de la connexion via UA Expert, les détails du certificat personnalisé sont visibles.
Option 3 – Certificat signé par votre propre CA
Dans XCA, il est possible de créer sa propre CA et de signer ses certificats avec. Les étapes supplémentaires sont décrites dans le document « Création de certificats X.509 » référencé au début. Notez que lors de l'export du fichier .pem, le format d'export doit être « PEM chain (*.pem) ».
Comme pour l'option 2, chargez ce certificat dans l'Identity Store OPC UA-configurable.
Option 4 – Certificat émis par une CA de confiance
Ici, le certificat est acheté et signé par une CA de confiance. À nouveau, chargez-le dans l'Identity Store OPC UA-configurable. Si la CA est connue du client OPC UA, il n'y aura ni avertissement ni erreur lors de la connexion.
Gérer les certificats sur un serveur central
Au lieu de charger manuellement les certificats sur le PLC, ils peuvent être poussés vers le PLC depuis un serveur OPC UA Global Discovery Server. Cela facilite la gestion des certificats sur un réseau contenant plusieurs serveurs OPC UA.
Ce sujet sera traité dans un autre article.
Technologie industrielle
- Élevez vos opérations manufacturières avec ISO 9004 : un guide prouvé de management de la qualité
- Créer une table de connexions complète dans E3.series 2021 – Guide complet
- Maîtriser la conception électrique : Optimiser les projets avec les fonctions E3.schematic
- Repérer les maillons faibles de votre processus de conception électrique : Guide pratique
- Engager efficacement les partenaires sur les risques de sécurité de la chaîne d'approvisionnement
- Exploiter l'Edge AI pour optimiser les opérations d'entrepôt et de fabrication
- Dépasser la concurrence grâce aux instructions de travail digitales
- Intégrer le connecteur Alibaba Cloud avec PLCnext : guide étape par étape
- Réveiller votre PC à distance avec PLCnext via Wake-on-LAN