FR3038097A1 - Systeme de securite pour systeme de controle industriel - Google Patents

Systeme de securite pour systeme de controle industriel Download PDF

Info

Publication number
FR3038097A1
FR3038097A1 FR1555952A FR1555952A FR3038097A1 FR 3038097 A1 FR3038097 A1 FR 3038097A1 FR 1555952 A FR1555952 A FR 1555952A FR 1555952 A FR1555952 A FR 1555952A FR 3038097 A1 FR3038097 A1 FR 3038097A1
Authority
FR
France
Prior art keywords
security
entity
hardware
software
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1555952A
Other languages
English (en)
Other versions
FR3038097B1 (fr
Inventor
Zakarya Drias
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Schneider Electric Industries SAS
Original Assignee
Schneider Electric Industries SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Schneider Electric Industries SAS filed Critical Schneider Electric Industries SAS
Priority to FR1555952A priority Critical patent/FR3038097B1/fr
Priority to US15/574,282 priority patent/US20180137297A1/en
Priority to CN201680035883.7A priority patent/CN107787576A/zh
Priority to PCT/EP2016/062618 priority patent/WO2016206947A1/fr
Priority to EP16730712.3A priority patent/EP3314498A1/fr
Publication of FR3038097A1 publication Critical patent/FR3038097A1/fr
Application granted granted Critical
Publication of FR3038097B1 publication Critical patent/FR3038097B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

Système de sécurité pour un système de contrôle industriel qui comporte une ou plusieurs entités matérielles et/ou une ou plusieurs entités logicielles accessibles par au moins un utilisateur à travers au moins un portail de sécurité, le système de sécurité comportant : - une base de données de sécurité (4), - un serveur de sécurité (3), Chaque entité matérielle ou logicielle comporte un agent logiciel comprenant : un module (500) de vérification de chaque jeton de sécurité reçu en provenance d'un portail de sécurité (10) ou d'une entité matérielle ou logicielle (6), - un module (501) d'analyse des droits d'accès de l'utilisateur (1), d'une autre entité logicielle (6) ou matérielle (5), - un module (502) de réception de jeton de sécurité agencé notamment pour transférer un jeton vers une deuxième entité matérielle ou logicielle à laquelle un portail de sécurité (10) ou une autre entité souhaite accéder.

Description

1 Domaine technique de l'invention La présente invention se rapporte à un système de sécurité pour un système de contrôle industriel.
Etat de la technique Un système de contrôle industriel (ICS pour « Industrial Control System ») désigne de manière générale un système de contrôle employé dans le domaine industriel et incluant des solutions de supervision de type SCADA, des solutions de contrôle distribués (DCS pour « Distributed control systems ») ou toute autre solution incluant notamment un ou plusieurs contrôleurs logiques programmables (PLC pour « Programmable Logic Controller »). Un système de contrôle industriel est notamment destiné à configurer, superviser et gérer des infrastructures critiques telles que par exemple celles liées à une centrale de production électrique, une centrale nucléaire, une usine de traitement d'eau, des solutions d'extraction minière ou de gaz, un process de fabrication pharmaceutique ou chimique. Le système comporte ainsi une ou plusieurs entités matérielles et/ou entités logicielles installées et accessibles à travers un ou plusieurs portails de sécurité. Une entité matérielle peut être un contrôleur logique programmable (PLC), un capteur, un actionneur... Une entité logicielle est par exemple un logiciel mis en oeuvre pour configurer, gérer, commander ou superviser le système et une ou plusieurs de ses entités matérielles définies ci-dessus. Compte tenu de l'aspect critique des infrastructures décrites ci-dessus, la sécurité informatique est devenue un enjeu majeur pour protéger le système de toute intrusion malveillante.
Aujourd'hui, la sécurité de chaque entité matérielle ou entité logicielle du système est gérée de manière indépendante de sorte qu'un utilisateur doit se connecter à chaque fois, en fournissant des données d'identité (par exemple Login et mot de passe) et en justifiant de droits d'accès spécifiques, qu'il souhaite accéder à une entité matérielle ou une entité logicielle distincte du système de contrôle industriel.
Le but de l'invention est de proposer un système de sécurité pour système de contrôle industriel permettant d'éviter à un utilisateur de se connecter à chaque fois qu'il souhaite accéder à une entité matérielle et/ou une entité logicielle du système de contrôle industriel. La solution de l'invention permet de gérer les données d'identité de chaque utilisateur ou entité matérielle du système, originaire d'action dans le système, ainsi que le contrôle d'accès aux ressources des différentes entités du système.
3038097 2 Ce but est atteint par un système de sécurité pour un système de contrôle industriel qui comporte une ou plusieurs entités matérielles et/ou une ou plusieurs entités logicielles accessibles par au moins un utilisateur à travers au moins un portail de sécurité, le système de sécurité comportant : 5 une base de données de sécurité agencée pour mémoriser : des données d'identité associés à chaque utilisateur et entité matérielle, des données de droits d'accès à chaque entité matérielle ou entité logicielle du système, 10 des jetons de sécurité générés pour chaque utilisateur et chaque entité matérielle, chaque jeton de sécurité comprenant les données signées par un serveur de sécurité et relatives à l'identité de l'utilisateur ou de l'entité matérielle et les données de droits d'accès attribués à l'utilisateur ou à l'entité matérielle, 15 un serveur de sécurité comprenant : un module de vérification dans la base de données de sécurité des données d'identité d'un utilisateur ou d'une entité matérielle, un module de génération de jetons de sécurité pour chaque utilisateur ou entité matérielle identifié dans la base de données de 20 sécurité, un module de gestion des données d'identité de chaque utilisateur, entité matérielle stockée dans la base de données de sécurité, un module de gestion des données de droits d'accès stockées dans la base de données de sécurité, 25 Chaque entité matérielle ou entité logicielle comporte un agent logiciel comprenant : un module de vérification de chaque jeton de sécurité reçu en provenance d'un portail de sécurité, d'une entité logicielle ou d'une autre entité matérielle, 30 un module d'analyse des droits d'accès de l'utilisateur, d'une autre entité logicielle ou d'une autre entité matérielle, un module de réception de jeton de sécurité agencé pour recevoir et mémoriser chaque jeton reçu et pour signer le jeton de sécurité reçu d'un portail de sécurité ou d'une première entité matérielle et pour transférer ce 3038097 3 jeton signé vers une deuxième entité matérielle ou logicielle à laquelle le portail de sécurité ou la première entité matérielle souhaite accéder. Selon une particularité, chaque agent logiciel comporte un module de gestion 5 de clés cryptographiques agencé pour la génération, l'échange, le stockage, l'utilisation et le remplacement de clés cryptographiques nécessaires pour signer un jeton de sécurité ou pour le décrypter. Selon une autre particularité, chaque agent logiciel comporte une ou plusieurs librairies cryptographiques.
10 Selon une autre particularité, l'agent logiciel d'une entité matérielle comporte un module d'authentification agencé pour envoyer l'identité de l'entité matérielle vers le serveur de sécurité pour recevoir de sa part un jeton de sécurité. Brève description des figures 15 D'autres caractéristiques et avantages vont apparaître dans la description détaillée qui suit faite en regard des dessins annexés dans lesquels : la figure 1 représente de manière schématique, l'architecture du système de sécurité de l'invention employé pour sécuriser un système de contrôle industriel, 20 la figure 2 illustre la procédure d'enregistrement d'un utilisateur et d'ajout d'une entité matérielle dans le système de sécurité de l'invention, la figure 3 illustre la procédure d'enrôlement d'une entité matérielle et d'authentification de cette entité, la figure 4 illustre la procédure d'authentification d'un utilisateur et d'accès à 25 une entité logicielle par un utilisateur, la figure 5 illustre la procédure d'accès d'un utilisateur à une entité matérielle via une entité logicielle, la figure 6 illustre la procédure d'accès d'une entité matérielle à une autre entité matérielle, 30 la figure 7 illustre la procédure de mise à jour d'un jeton de sécurité, les figures 8A et 8B représentent deux architectures distinctes d'un jeton de sécurité.
3038097 4 Description détaillée d'au moins un mode de réalisation Comme décrit ci-dessus, un système de contrôle industriel est par exemple destiné à gérer une infrastructure critique et comporte une ou plusieurs entités matérielles et/ou une ou plusieurs entités logicielles. Une entité matérielle est par 5 exemple un contrôleur logique programmable, un capteur, un actionneur... Une entité logicielle est par exemple destinée à gérer la configuration et/ou le fonctionnement d'une ou plusieurs entités matérielles du système. Selon la configuration du système, plusieurs cas d'interaction entre utilisateur, entité matérielle 5 et entité logicielle 6 peuvent se présenter : 10 l'utilisateur 1 peut être amené à se connecter à une entité matérielle 5 ou une entité logicielle 5 du système via un portail de sécurité 10, une entité matérielle 5a ou une entité logicielle 6a peut être amenée à se connecter à une autre entité matérielle 5b ou à une autre entité logicielle 6b.
15 Chacun de ces cas de fonctionnement sera décrit ci-dessous, en liaison avec le système de sécurité de l'invention. Le système de sécurité de l'invention comporte principalement les éléments suivants : 20 une base de données de sécurité 4, un serveur de sécurité 3, des agents logiciels 50, 60 associés chacun à une entité matérielle 5 ou à une entité logicielle 6 distincte.
25 La base de données de sécurité 4 est destinée à stocker différents types de données de sécurité : - des données d'authentification 40, - des données d'autorisation 41, - des données 42 liées à la politique de sécurité mise en oeuvre pour le 30 système. Dans les données d'authentification 40, on retrouve : 3038097 5 - pour chaque utilisateur, un identifiant, un mot de passe et un jeton de sécurité, - pour chaque entité matérielle, un identifiant, un certificat et un jeton de sécurité.
5 Dans les données d'autorisation 41, on retrouve : pour chaque entité matérielle et entité logicielle du système, des données liées à leurs droits d'accès vers chaque entité matérielle et vers chaque entité logicielle du système, 10 Dans les données 42 liées à la politique de sécurité, on retrouve : pour chaque utilisateur 1 et entité matérielle 5 du système, un fichier sous un format adapté, par exemple XACML (pour eXtensible Access Control Markup Language), pour résumer les autorisations associées à chaque 15 utilisateur 1 ou entité matérielle 5 du système ainsi qu'une copie du jeton de sécurité associé. Pour chaque utilisateur 1 et entité matérielle 5 du système, le jeton de sécurité correspond au fichier XACML décrit ci-dessus, horodaté et signé par le serveur de 20 sécurité 3. Le serveur de sécurité 3 est destiné notamment à gérer l'authentification de chaque utilisateur 1 et chaque entité matérielle 5 du système. Il comporte ainsi : un module 30 de gestion des données d'authentification de chaque 25 utilisateur 1, stockées dans la base de données de sécurité 4, destiné à vérifier les données d'authentification de chaque utilisateur, un module 31 de gestion des données d'authentification de chaque entité matérielle 5 du système, stockées dans la base de données de sécurité 4, destiné à vérifier le certificat de chaque entité matérielle, 30 un module 32 de gestion des données liées aux droits d'accès de chaque utilisateur 1 et chaque entité matérielle 5 du système, stockées dans la base de données de sécurité 4, 3038097 6 un module 33 de gestion des jetons de sécurité attribués à chaque utilisateur et chaque entité matérielle du système, notamment pour réaliser la signature et l'horodatage à la génération de chaque jeton de sécurité, une interface administrateur 34 permettant notamment à un 5 administrateur, à l'aide d'un outil logiciel d'administration, d'enregistrer des nouveaux utilisateurs et de nouvelles entités matérielles, de saisir les droits d'accès aux différentes entités matérielles et entités logicielles du système ainsi que la configuration et l'attribution des droits d'accès à chaque utilisateur et chaque entité matérielle.
10 Chaque entité matérielle 5 comporte un agent logiciel 50 dont la responsabilité est de gérer toutes les opérations de sécurité liées à l'entité matérielle à laquelle il est associé. Pour une entité matérielle 5, un tel agent logiciel 50 comporte : un module 500 de vérification de chaque jeton de sécurité reçu en 15 provenance d'un portail de sécurité 10, d'une entité logicielle 6 ou d'une autre entité matérielle 5, un module 501 d'analyse des droits d'accès de l'utilisateur 1, d'une entité logicielle 6 ou d'une autre entité matérielle 5 après décryptage et lecture d'un jeton de sécurité reçu, 20 un module 502 de réception de jeton de sécurité agencé pour recevoir et mémoriser chaque jeton reçu et pour signer le jeton de sécurité reçu d'un portail de sécurité 10 ou d'une première entité et pour transférer ce jeton signé vers une deuxième entité à laquelle le portail de sécurité 10 ou la première entité souhaite accéder, 25 un module 503 de gestion de clés cryptographiques agencé pour la génération, l'échange, le stockage, l'utilisation et le remplacement de clés cryptographiques, une ou plusieurs librairies cryptographiques 504 telles que par exemple OpenSSL, 30 un module 505 d'authentification agencé pour envoyer l'identité (certificat) de l'entité matérielle vers le serveur de sécurité 3 pour recevoir de sa part un jeton de sécurité.
3038097 7 Chaque entité logicielle 6 comporte également un agent logiciel 60 dont la responsabilité est de gérer toutes les opérations de sécurité liées à l'entité logicielle 6 à laquelle il est associé. Cet agent comporte : un module 600 de vérification de chaque jeton de sécurité reçu en 5 provenance d'un portail de sécurité, d'une entité matérielle ou d'une autre entité logicielle, un module 601 d'analyse des droits d'accès de l'utilisateur, d'une entité matérielle ou d'une autre entité logicielle après décryptage et lecture d'un jeton de sécurité reçu, 10 un module 602 de réception de jeton de sécurité agencé pour recevoir, mémoriser chaque jeton reçu et pour signer le jeton de sécurité reçu d'un portail de sécurtié ou d'une première entité et pour transférer ce jeton signé vers une deuxième entité à laquelle le portail de sécurité ou la première entité souhaite accéder, 15 - une ou plusieurs librairies cryptographiques 603 telles que par exemple OpenSSL. Dans chaque entité matérielle 5 ou logicielle 6 du système, le module 501, 601 d'analyse des droits d'accès analyse l'architecture du fichier XACML qui comporte 20 un point d'application de la décision (PEP pour « Policy Enforcement Point ») et un point de décision de la politique (PDP pour « Policy Decision Point »). Les figures 8A et 8B montrent l'architecture d'un jeton de sécurité, respectivement lorsque celui-ci est issu du serveur de sécurité et lorsque celui-ci est 25 transmis par un agent logiciel. Sur la figure 8A, le jeton de sécurité transmis par le serveur de sécurité est un fichier qui comporte les données suivantes : des données 80 d'horodatage spécifiant la date de création du fichier, 30 la duré de validité 81 du jeton de sécurité, des données 82 d'identité de l'utilisateur 1 ou de l'entité matérielle 5 associé au jeton de sécurité, 3038097 8 des données 83 d'identification de l'organisme ayant généré le fichier, les données 84 liées aux droits d'accès de l'utilisateur 1 ou de l'entité matérielle 5 concerné, Ce fichier est signé (signature 85) par le serveur de sécurité 3 à l'aide d'une 5 clé privée afin de générer le jeton de sécurité. Sur la figure 8B, le jeton de sécurité transmis par un agent logiciel 50, 60 d'une entité matérielle 5 ou d'une entité logicielle 6, consiste dans le jeton de sécurité décrit ci-dessus qui est en plus signé (signature 86) par l'agent logiciel 50, 60 afin de 10 pouvoir être authentifié par le récepteur. Le système de sécurité peut comporter une autorité de certification 7 destinée notamment à fournir les certificats pour chaque entité matérielle et logicielle du système. L'autorité de certification est en interaction avec le serveur de sécurité pour 15 fournir, sur demande du serveur de sécurité, chaque certificat associé à une entité matérielle et logicielle du système. Les certificats sont stockés dans une base de données gérée par l'autorité de certification. L'autorité de certification 7 dispose également de moyens pour générer de nouveaux certificats et pour vérifier si les certificats de chaque entité matérielle et logicielle sont à jour.
20 Pour crypter les données échangées, le système de sécurité de l'invention utilise un système classique de cryptage basé sur un mécanisme de clé publique et de clé privée, par exemple TLS/SSL. La figure 2 illustre le principe d'enregistrement d'un utilisateur 1 et d'une entité 25 matérielle 5 d'un système par un administrateur 2 connecté au serveur de sécurité à travers l'outil logiciel d'administration 20 exécuté sur un poste informatique. Pour toute tâche d'administration, l'administrateur 2 doit d'abord s'identifier (A1) auprès du serveur de sécurité 3 via l'outil logiciel d'administration 20. Pour l'ajout d'un utilisateur 1, la procédure suit les étapes suivantes : 30 A2 : l'administrateur 2 envoie au serveur de sécurité 3 une requête d'ajout d'un utilisateur 1, accompagnée des données d'identification de l'utilisateur 1, 3038097 9 - A3 : le serveur de sécurité 3 émet une commande d'écriture des données d'identification relatives à l'utilisateur 1 dans la base de données de sécurité 4, A4 : La base de données de sécurité 4 confirme au serveur de sécurité 3 5 l'ajout de l'utilisateur 1, A5 : Le serveur de sécurité 3 confirme l'ajout de l'utilisateur dans la base de données de sécurité 4. Pour l'ajout d'une entité matérielle 5, la procédure comporte les étapes 10 suivantes : B1 : via, l'outil logiciel d'administration 20, l'administrateur 2 envoie au serveur de sécurité 3 une requête d'ajout d'une entité matérielle 5, B2 : le serveur de sécurité 3 envoie une requête à l'autorité de certification 7 en vue d'obtenir le certificat de l'entité matérielle 5 à enregistrer, 15 B3 : l'autorité de certification 7 renvoie le certificat requis, B4: le serveur de sécurité 3 envoie une commande d'écriture des données d'identification, notamment le certificat obtenu, liées à l'entité matérielle 5 dans la base de données de sécurité 4, - B5 : la base de données de sécurité 4 confirme l'enregistrement de l'entité 20 matérielle, - B6: le serveur de sécurité confirme l'ajout de l'entité matérielle à l'administrateur. La figure 3 illustre la procédure d'enrôlement d'une entité matérielle 5 et son 25 authentification : Cl : via l'interface administrateur du serveur de sécurité 3, l'administrateur 1 lance une commande de type « Discover » du serveur de sécurité en vue de déterminer les entités matérielles du système, C2 : le serveur de sécurité 3 envoie une requête de demande de certificat 30 à l'agent logiciel 50 d'une entité matérielle 5 du système, 3038097 10 C3: le module d'authentification 505 de l'agent logiciel 50 de l'entité matérielle 5 répond à la requête par l'envoi de son certificat, C4 : le serveur de sécurité 3 vérifie le certificat de l'entité matérielle 5, si le certificat est valide : 5 - C5 : l'entité matérielle 5 est authentifiée. si le certificat n'est pas valide : C6 : l'administrateur 2 émet une requête d'ajout de l'entité matérielle 5 à destination du serveur de sécurité 3, C7 : le serveur de sécurité 3 envoie une requête d'enrôlement au 10 module d'authentification de l'agent logiciel 50 de l'entité matérielle avec l'adresse de l'autorité de certification 7 en vue d'obtenir un certificat auprès de l'autorité de certification 7, C8 : l'agent logiciel 50 de l'entité matérielle 5 émet une requête à destination de l'autorité de certification 7, par exemple sous la forme 15 d'une requête basée sur le protocole SCEP (« Simple Certificate Enrollment Protocol »), en vue d'obtenir un certificat valide, C9 : l'autorité de certification 7 génère un certificat pour l'entité matérielle 5 et répond à la requête par envoi du certificat à destination de l'agent logiciel 50 de l'entité matérielle 5, 20 010: le module d'authentification de l'agent logiciel 50 de l'entité matérielle 5 renvoie le certificat obtenu au serveur de sécurité 3, C11 : le serveur de sécurité 3 valide l'authentification de l'entité matérielle 5 auprès de l'administrateur 2. C12 : l'administrateur 2, à partir de l'outil logiciel d'administration 20, saisit 25 les données de configuration de l'entité matérielle 5, notamment les données liées aux droits d'accès de cette entité matérielle, C13 : l'administrateur 2 émet une requête d'enregistrement des données de configuration de l'entité matérielle à destination du serveur de sécurité 3 en vue de la création du fichier XACML pour l'entité matérielle 5, 30 C14 : l'administrateur émet ensuite une requête à destination du serveur de sécurité pour la génération du jeton de sécurité, 3038097 11 C15 : le serveur de sécurité 3 génère le jeton de sécurité grâce à son module de gestion, C16 : le serveur de sécurité 3 distribue le jeton de sécurité à destination de l'entité matérielle, 5 C17 : le module de réception de l'entité matérielle mémorise le jeton reçu. La figure 4 illustre la procédure d'accès d'un utilisateur à une entité logicielle. Cette procédure comporte les étapes suivantes : D1 : l'utilisateur 1 lance une entité logicielle 6 du système, 10 D2 : l'entité logicielle 6 demande à son agent logiciel 60 d'authentifier cet utilisateur 1 et de vérifier ses droits d'accès, D3 : l'agent logiciel 60, par l'intermédiaire de son module de vérification, vérifie le jeton de sécurité de l'utilisateur 1, si le jeton de sécurité est valide : 15 - D4 : l'entité logicielle s'exécute. si le jeton de sécurité n'est pas valide : - D5 : l'agent logiciel envoie une requête à destination du portail de sécurité en vue d'obtenir le jeton de sécurité actuel associé à l'utilisateur, 20 - D6 : si le portail de sécurité détient un jeton de sécurité pour cet utilisateur : D7: le portail de sécurité envoie le jeton de sécurité à destination de l'agent logiciel de l'entité logicielle, D8 : le module de vérification de l'agent de l'entité logicielle 25 vérifie le jeton de sécurité reçu pour authentification, D8: le module d'analyse de l'agent logiciel de l'entité logicielle vérifie les droits d'accès de l'utilisateur, D9 : si l'utilisateur est authentifié et ses droits d'accès validés, l'entité logicielle s'exécute, 30 si le portail de sécurité ne détient pas de jeton : 3038097 12 D10: le portail de sécurité demande à l'utilisateur de renseigner ses données d'identité (identifiant, mot de passe), D11 : L'utilisateur renseigne ses données d'identité, D12 : le portail de sécurité émet une requête à destination du 5 serveur de sécurité en vue d'obtenir un jeton de sécurité en émettant les données d'identité de l'utilisateur, D13 : le serveur de sécurité vérifie les données d'identité reçues auprès de la base de données de sécurité : - D14 : si les données d'identité ne sont pas inscrites dans 10 la base de données de sécurité : D15: le serveur de sécurité émet une réponse négative à destination du portail de sécurité, D16 : la procédure d'authentification a échoué. D17 : si les données d'identité sont inscrites dans la base 15 de données de sécurité : D18 : le serveur de sécurité envoie une requête à la base de données de sécurité en vue d'obtenir les données liées aux droits d'accès de l'utilisateur, c'est-à-dire le fichier XACML associé à cet utilisateur, 20 D19 : La base de données de sécurité 4 renvoie les données liées aux droits d'accès de l'utilisateur sous la forme du fichier XACML, D20 : sur la base du fichier XACML reçu, le serveur de sécurité génère le jeton de sécurité, 25 D21 : le serveur de sécurité envoie le jeton de sécurité généré à destination du portail de sécurité, D22: le portail de sécurité transfère le jeton de sécurité à l'agent logiciel de l'entité logicielle, D23 : le module de vérification de l'agent de l'entité 30 logicielle vérifie le jeton de sécurité reçu pour authentification de l'utilisateur et vérification de ses droits d'accès, 3038097 13 - D24 : si l'utilisateur 1 est authentifié et ses droits d'accès validés, l'entité logicielle 6 s'exécute. La figure 5 illustre la procédure mise en oeuvre pour l'accès d'un utilisateur 5 à une entité matérielle 5 à travers une entité logicielle 6. La procédure comporte les étapes suivantes : El : l'utilisateur 1 émet une requête à destination de l'entité logicielle 6 en vue de réaliser une opération sur une entité matérielle 5, E2 : l'entité logicielle 6 demande à l'entité matérielle 5 l'établissement d'un 10 canal de communication sécurisé (Par exemple sous le protocole TLS pour Transport Layer Security), E3 : l'entité matérielle 5 établit un canal de communication sécurisé avec l'entité logicielle 6, E4 : l'agent logiciel 60 de l'entité logicielle 6 signe le jeton de sécurité de 15 l'utilisateur 1 et l'envoie à destination de l'agent logiciel 50 de l'entité matérielle 5, E5 : Le module de vérification de l'agent logiciel 50 de l'entité matérielle 5 vérifie le jeton de sécurité reçu. - E6 : si le jeton de sécurité est valide, l'opération peut être réalisée 20 sur l'entité matérielle 5. si le jeton de sécurité est invalide : E7: l'agent logiciel de l'entité matérielle émet une réponse à l'agent logiciel de l'entité matérielle pour lui signaler la non-validité, 25 E8 : l'agent logiciel de l'entité logicielle demande une mise à jour du jeton de sécurité au portail de sécurité de l'utilisateur, E9 : le portail de sécurité demande à l'utilisateur de renseigner ses données d'identité (identifiant, mot de passe), E10 : l'utilisateur renseigne ses données d'identité, 30 El 1 : le portail de sécurité émet une requête à destination du serveur de sécurité en vue d'obtenir un jeton de sécurité, accompagnée des données d'identité de l'utilisateur, 3038097 14 E12 : après lecture de la base de données de sécurité 4, le serveur de sécurité 3 envoie le jeton de sécurité généré à destination du portail de sécurité, E13 : le portail de sécurité transfère le jeton de sécurité à l'agent 5 logiciel de l'entité logicielle qui le transfère à l'agent logiciel de l'entité matérielle, E14: le module de vérification de l'agent logiciel de l'entité matérielle vérifie le jeton de sécurité reçu pour authentification, le module d'analyse de l'agent logiciel de l'entité matérielle 10 vérifie les droits d'accès de l'utilisateur, - E6 : si le nouveau jeton de sécurité est valide, l'opération peut être réalisée sur l'entité matérielle. La figure 6 illustre la procédure mise en place pour permettre à une première 15 entité matérielle 5a d'accéder à une deuxième entité matérielle 5b. Elle comporte les étapes suivantes : F1 : la première entité matérielle 5a demande à la deuxième entité matérielle 5b l'établissement d'un canal de communication sécurisé (Par exemple sous le protocole TLS pour Transport Layer Security), 20 F2 : la deuxième entité matérielle 5b établit un canal de communication sécurisé avec la première entité matérielle 5a, F3 : l'agent logiciel de la deuxième entité matérielle 5b émet une requête à destination de l'agent logiciel de la première entité matérielle 5a en vue d'obtenir son jeton de sécurité, 25 F4 : l'agent logiciel de la première entité matérielle 5a envoie son jeton de sécurité à destination de l'agent logiciel de la deuxième entité matérielle 5b, F5 : le module de vérification de l'agent logiciel de la deuxième entité matérielle 5b vérifie le jeton de sécurité reçu, 30 si le jeton de sécurité est valide : - F6 : l'agent logiciel de la deuxième entité matérielle analyse les droits d'accès de la première entité matérielle, 3038097 15 F7 : si ses droits d'accès sont validés, la première entité matérielle 5a peut émettre des commandes à destination de la deuxième entité matérielle 5b, - F8 : la deuxième entité matérielle 5a autorise l'accès de la 5 première entité matérielle 5a selon ses droits d'accès, F9 : si le jeton de sécurité est invalide : - F10: l'agent logiciel de la deuxième entité matérielle demande un nouveau jeton de sécurité à la première entité matérielle, 10 F11 : l'agent logiciel de la première entité matérielle envoie une requête à destination du serveur de sécurité en vue d'obtenir une mise à jour de son jeton de sécurité, F12 : le serveur de sécurité génère un nouveau jeton de sécurité à partir du fichier XACML, le serveur de sécurité 15 horodatant et signant ledit fichier, F13: le serveur de sécurité envoie le nouveau jeton de sécurité à destination de l'agent logiciel de la première entité matérielle 5a, - F14 : l'agent logiciel de la première entité matérielle transfère 20 le jeton de sécurité à destination de l'agent logiciel de la deuxième entité matérielle, F15: le module de vérification de l'agent logiciel de la deuxième entité matérielle vérifie le nouveau jeton de sécurité, 25 F6 : si le nouveau jeton de sécurité est valide, l'agent logiciel de la deuxième entité matérielle analyse les droits d'accès de la première entité matérielle, F7 : si ses droits d'accès sont validés, la première entité matérielle 5a peut émettre des commandes à destination de 30 la deuxième entité matérielle 5b, - F8 : la deuxième entité matérielle 5a autorise l'accès de la première entité matérielle 5a selon ses droits d'accès, 3038097 16 La figure 7 illustre la procédure de mise à jour d'un jeton de sécurité appartenant à une entité matérielle. Un agent logiciel d'une entité matérielle ou logicielle qui a reçu un jeton de sécurité valide peut demander si le jeton de sécurité en 5 sa possession est bien à jour. La procédure de vérification qu'un jeton de sécurité est à jour est réalisée sur des données représentatives d'une signature compressée du jeton de sécurité. Ainsi, seules ces données sont envoyées par une entité vers une autre. Cette procédure comporte les étapes suivantes : G1 : l'agent d'une première entité (matérielle sur la figure 7) demande une 10 vérification du jeton de sécurité reçu à l'agent logiciel d'une deuxième entité (logicielle) présente dans la chaîne, G2 : si l'agent logiciel de la deuxième entité conclut à une différence, il renvoie une réponse à l'agent de la première entité, G3: l'agent logiciel de la première entité demande à l'agent de la 15 deuxième entité le jeton de sécurité à jour, G4 : l'agent logiciel de la deuxième entité envoie une demande au portail de sécurité pour savoir si le jeton de sécurité est à jour, G5 : après vérification, si le jeton de sécurité n'est pas à jour, le portail de sécurité envoie une réponse à l'agent logiciel de la deuxième entité 20 indiquant que le jeton de sécurité n'est pas à jour, G6 : l'agent logiciel de la deuxième entité demande au portail de sécurité le jeton de sécurité à jour, G7 : le portail de sécurité envoie une demande au serveur de sécurité pour savoir si le jeton de sécurité est à jour, 25 G8 : après vérification, si le jeton de sécurité n'est pas à jour, le serveur de sécurité envoie une réponse au portail de sécurité indiquant que le jeton de sécurité n'est pas à jour, G9 : le portail de sécurité demande à l'utilisateur de saisir ses données d'identité, 30 G10 : l'utilisateur saisit ses données d'identité, G11 : le portail de sécurité envoie une requête à destination du serveur de sécurité en vue d'obtenir un nouveau jeton de sécurité, 3038097 17 - G12 : le serveur de sécurité répond au portail de sécurité par l'envoi d'un nouveau jeton de sécurité à destination du portail de sécurité. La solution de l'invention présente ainsi de nombreux avantages, parmi 5 lesquels : Permettre la gestion des données d'identité de chaque utilisateur ou entité matérielle dans le système de contrôle industriel, d'une manière centralisée avec un impact limité sur les architectures des produits existants, 10 Permettre la gestion des autorisations et des droits d'accès de chaque utilisateur ou entité matérielle vers chaque entité matérielle ou logicielle du système, Sécuriser la communication entre les différentes entités du système, par l'échange direct des jetons de sécurité entre ces entités, sans passer par 15 un serveur central, en utilisant notamment des techniques de cryptographie asymétrique, Couvrir tous les niveaux d'un système de contrôle industriel, Accéder à des ressources multiples à partir d'une authentification unique (« Single Sign On »).
20 Ainsi, grâce au système de sécurité de l'invention, un utilisateur s'authentifie une seule fois auprès du serveur de sécurité, puis toute authentification de l'utilisateur par les différentes entités revient à authentifier le jeton de sécurité qui lui a été associé. De même, un utilisateur ou une entité matérielle, muni d'un jeton de sécurité, a la capacité de faire des accès sécurisés à une ou plusieurs entités matérielles ou 25 logicielles du système de manière directe ou indirecte sur plusieurs niveaux.

Claims (4)

  1. REVENDICATIONS1. Système de sécurité pour un système de contrôle industriel qui comporte une ou plusieurs entités matérielles et/ou une ou plusieurs entités logicielles accessibles par au moins un utilisateur à travers au moins un portail de sécurité, caractérisé en ce que le système de sécurité comporte : - une base de données de sécurité (4) agencée pour mémoriser : des données d'identité associés à chaque utilisateur (1) et entité matérielle (5), des données de droits d'accès à chaque entité matérielle (5) ou entité logicielle (6) du système, des jetons de sécurité générés pour chaque utilisateur et chaque entité matérielle, chaque jeton de sécurité comprenant les données signées par un serveur de sécurité (3) et relatives à l'identité de l'utilisateur ou de l'entité matérielle et les données de droits d'accès attribués à l'utilisateur ou à l'entité matérielle, un serveur de sécurité comprenant : un module de vérification dans la base de données de sécurité (4) des données d'identité d'un utilisateur (1) ou d'une entité matérielle (5), un module de génération de jetons de sécurité pour chaque utilisateur (1) ou entité matérielle (5) identifié dans la base de données de sécurité (4), un module de gestion des données d'identité de chaque utilisateur (1), entité matérielle (5) stockée dans la base de données de sécurité, un module de gestion des données de droits d'accès stockées dans la base de données de sécurité (4), Chaque entité matérielle ou entité logicielle comporte un agent logiciel comprenant : un module (500) de vérification de chaque jeton de sécurité reçu en provenance d'un portail de sécurité (10), d'une entité logicielle (6) ou d'une autre entité matérielle (5), un module (501) d'analyse des droits d'accès de l'utilisateur (1), d'une autre entité logicielle (6) ou d'une autre entité matérielle (5), 3038097 19 un module (502) de réception de jeton de sécurité agencé pour recevoir et mémoriser chaque jeton reçu et pour signer le jeton de sécurité reçu d'un portail de sécurité (10) ou d'une première entité matérielle (5) et pour transférer ce jeton signé vers une deuxième entité matérielle ou logicielle à 5 laquelle le portail de sécurité (10) ou la première entité matérielle (5) souhaite accéder.
  2. 2. Système selon la revendication 1, caractérisé en ce que chaque agent logiciel (50, 60) comporte un module (503) de gestion de clés cryptographiques 10 agencé pour la génération, l'échange, le stockage, l'utilisation et le remplacement de clés cryptographiques nécessaires pour signer un jeton de sécurité ou pour le décrypter.
  3. 3. Système selon la revendication 1 ou 2, caractérisé en ce que chaque agent logiciel (50, 60) comporte une ou plusieurs librairies cryptographiques (504). 15
  4. 4. Système selon l'une des revendications 1 à 3, caractérisé en ce que l'agent logiciel (50) d'une entité matérielle (5) comporte un module (505) d'authentification agencé pour envoyer l'identité de l'entité matérielle vers le serveur de sécurité (3) pour recevoir de sa part un jeton de sécurité. 20
FR1555952A 2015-06-26 2015-06-26 Systeme de securite pour systeme de controle industriel Expired - Fee Related FR3038097B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR1555952A FR3038097B1 (fr) 2015-06-26 2015-06-26 Systeme de securite pour systeme de controle industriel
US15/574,282 US20180137297A1 (en) 2015-06-26 2016-06-03 Security system for industrial control system
CN201680035883.7A CN107787576A (zh) 2015-06-26 2016-06-03 用于工业控制系统的安全系统
PCT/EP2016/062618 WO2016206947A1 (fr) 2015-06-26 2016-06-03 Systeme de securite pour systeme de controle industriel
EP16730712.3A EP3314498A1 (fr) 2015-06-26 2016-06-03 Systeme de securite pour systeme de controle industriel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1555952A FR3038097B1 (fr) 2015-06-26 2015-06-26 Systeme de securite pour systeme de controle industriel

Publications (2)

Publication Number Publication Date
FR3038097A1 true FR3038097A1 (fr) 2016-12-30
FR3038097B1 FR3038097B1 (fr) 2017-06-23

Family

ID=54783701

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1555952A Expired - Fee Related FR3038097B1 (fr) 2015-06-26 2015-06-26 Systeme de securite pour systeme de controle industriel

Country Status (5)

Country Link
US (1) US20180137297A1 (fr)
EP (1) EP3314498A1 (fr)
CN (1) CN107787576A (fr)
FR (1) FR3038097B1 (fr)
WO (1) WO2016206947A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11636220B2 (en) * 2019-02-01 2023-04-25 Intertrust Technologies Corporation Data management systems and methods
US11245699B2 (en) 2019-10-17 2022-02-08 Schweitzer Engineering Laboratories, Inc. Token-based device access restriction systems
CN111880779B (zh) * 2020-07-17 2023-12-26 盛视科技股份有限公司 一种系统应用源代码生成方法及装置
US11552941B2 (en) * 2020-10-30 2023-01-10 Saudi Arabian Oil Company Method and system for managing workstation authentication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006059195A1 (fr) * 2004-11-30 2006-06-08 Power Measurement Ltd. Systeme et procede permettant d'attribuer une identite a un dispositif electronique intelligent
US20120297461A1 (en) * 2010-12-02 2012-11-22 Stephen Pineau System and method for reducing cyber crime in industrial control systems
WO2014042638A1 (fr) * 2012-09-13 2014-03-20 Siemens Aktiengesellschaft Système industriel de commandes à génération interne pour communications de réseau sécurisées

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202753B (zh) * 2007-11-29 2010-11-17 中国电信股份有限公司 一种客户端访问插件应用系统的方法和装置
US8271536B2 (en) * 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法
CN103078932B (zh) * 2012-12-31 2016-01-27 中国移动通信集团江苏有限公司 一种实现通用单点登录的方法、装置和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006059195A1 (fr) * 2004-11-30 2006-06-08 Power Measurement Ltd. Systeme et procede permettant d'attribuer une identite a un dispositif electronique intelligent
US20120297461A1 (en) * 2010-12-02 2012-11-22 Stephen Pineau System and method for reducing cyber crime in industrial control systems
WO2014042638A1 (fr) * 2012-09-13 2014-03-20 Siemens Aktiengesellschaft Système industriel de commandes à génération interne pour communications de réseau sécurisées

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Message authentication code - Wikipedia, the free encyclopedia", 17 February 2014 (2014-02-17), pages 1 - 4, XP055254227, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Message_authentication_code&oldid=595869692> [retrieved on 20160301] *

Also Published As

Publication number Publication date
EP3314498A1 (fr) 2018-05-02
FR3038097B1 (fr) 2017-06-23
WO2016206947A1 (fr) 2016-12-29
CN107787576A (zh) 2018-03-09
US20180137297A1 (en) 2018-05-17

Similar Documents

Publication Publication Date Title
US11849029B2 (en) Method of data transfer, a method of controlling use of data and cryptographic device
JP2022504420A (ja) デジタル証明書の発行方法、デジタル証明書発行センター、記憶媒体およびコンピュータプログラム
CN107528692B (zh) 用于向认证机构注册智能电子装置的方法和系统
EP1833222A1 (fr) Protocole de contrôle d&#39;accès pour dispositifs intégrés
CN101816140A (zh) 用于pki个性化过程的基于令牌的管理系统
US20150271157A1 (en) Rule-based Validity of Cryptographic Key Material
JP7458150B2 (ja) データ流通方法及び認証サーバ
CN112883382B (zh) 一种车辆刷写的方法、车联网盒、车辆及存储介质
CN111082941B (zh) 基于区块链技术的物联网数据共享方法和系统
EP3314498A1 (fr) Systeme de securite pour systeme de controle industriel
SE525847C2 (sv) Sätt att konfigurera ett låssystem samt låssystem
CN112385198B (zh) 用于为第一设备设立授权证明的方法
CN111586125A (zh) 一种物联网系统
CN112235276A (zh) 主从设备交互方法、装置、系统、电子设备和计算机介质
CN113647080A (zh) 以密码保护的方式提供数字证书
Falk et al. Using managed certificate whitelisting as a basis for internet of things security in industrial automation applications
JP2024513521A (ja) 組み込みデバイスの安全な信頼の起点登録及び識別管理
US11522842B2 (en) Central trust hub for interconnectivity device registration and data provenance
JP2005157845A (ja) サーバシステム、クライアントサーバシステム、及びクライアントサーバシステムへのログイン方法
KR20210022852A (ko) 암호모듈을 이용한 블록체인 기반의 사물인터넷 관리 시스템
Moon et al. Device authentication/authorization protocol for home network in next generation security
JP2024513526A (ja) ルートオブトラスト登録及びデバイス拘束された公開鍵登録
KR20240014464A (ko) 데이터 레코드를 증명하기 위한 시스템 및 게이트웨이
SOBOTKA et al. Implementation of Universal Authentication Framework in the Electron-ic Archive Management
Neumann Anonymous Electronic Identity in Cross-Border and Cross-Sector Environments

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20161230

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

ST Notification of lapse

Effective date: 20210205