[go: up one dir, main page]

FR3128040A1 - Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante - Google Patents

Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante Download PDF

Info

Publication number
FR3128040A1
FR3128040A1 FR2110521A FR2110521A FR3128040A1 FR 3128040 A1 FR3128040 A1 FR 3128040A1 FR 2110521 A FR2110521 A FR 2110521A FR 2110521 A FR2110521 A FR 2110521A FR 3128040 A1 FR3128040 A1 FR 3128040A1
Authority
FR
France
Prior art keywords
security
pdps
application
data
enclave
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
FR2110521A
Other languages
English (en)
Other versions
FR3128040B1 (fr
Inventor
Jean-Louis Olie
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.)
Cyferall
Original Assignee
Cyferall
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 Cyferall filed Critical Cyferall
Priority to FR2110521A priority Critical patent/FR3128040B1/fr
Priority to US18/698,457 priority patent/US20240356747A1/en
Priority to PCT/EP2022/078066 priority patent/WO2023057652A1/fr
Priority to EP22801088.0A priority patent/EP4413479A1/fr
Publication of FR3128040A1 publication Critical patent/FR3128040A1/fr
Application granted granted Critical
Publication of FR3128040B1 publication Critical patent/FR3128040B1/fr
Active 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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/602Providing cryptographic facilities or services

Landscapes

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

Abstract

La présente invention concerne un système de sécurité (100) pour des dispositifs informatiques (150), le système de sécurité étant adapté pour : - permettre à une application de sécurité (104) de définir une enclave de la mémoire vive (RAM) à laquelle seule l’application de sécurité (104) peut avoir accès, cette enclave étant éventuellement située au sein d’un zone protégée plus large résultant de la mise en œuvre d’une machine virtuelle capable d’abriter des logiciels tiers devant coopérer avec les services sécurisés et les pilotes des périphériques de création et de restitution de l’information ; et - exploiter cette application de sécurité (104) sur la machine physique ou sur la machine virtuelle, dans laquelle l'application de sécurité contrôle l'accès à l’enclave et l’utilise pour y stocker les données en clair à protéger. Figure de l’abrégé : [Fig. 3 ]

Description

Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante
Cette invention concerne un système de sécurité pour un ou des dispositifs informatiques, une application de sécurité, un point de décision de politique de sécurité, et une architecture de sécurité comprenant l'application de sécurité, le point de décision de politique de sécurité et un serveur de routage des échanges de données chiffrées.
Le National Institute of Standards and Technology (NIST) a promu une architecture de réseau qu'il appelle "Zero Trust". L'objectif de la confiance zéro est de fournir des conseils à l'industrie sur la manière de configurer une architecture de réseau capable de résister aux intrusions non autorisées et aux cyber-attaques. La notion de confiance zéro vient de l'idée que, traditionnellement, on peut faire confiance aux utilisateurs qui se trouvent dans un réseau privé parce qu'ils ont été authentifiés, mais dans un modèle de confiance zéro, même les utilisateurs qui se déplacent dans un réseau privé ne sont pas considérés comme des "entités de confiance" et sont soumis aux mêmes vérifications que les "étrangers".
Selon la publication spéciale 800-207 Zero-Trust Architecture du NIST, l'un des composants fondamentaux d'une telle architecture est le « Policy Enforcement Point », où l'accès de la zone non fiable à la zone fiable est contrôlé selon des règles strictement définies. Lorsque l'on applique cette architecture à un ensemble de plusieurs dispositifs informatiques distants entre eux, chacun de ces dispositifs pouvant expédier ou recevoir des données chiffrées, ce « Policy Enforcement Point » doit être physiquement divisé en plusieurs composants : (i) plusieurs points d'application de la politique de sécurité (PAPS) dans chacun des dispositifs informatiques, et (ii) un serveur de routage (SR) gérant l'acheminement des informations chiffrées vers les destinataires authentifiés. Un autre composant indispensable d'une telle architecture est le point de décision de la politique de sécurité (PDPS). Il comprendra deux sous-composants, qui ne se trouveront pas nécessairement dans le même ordinateur : (i) le moteur de politique de sécurité qui prend la décision d'accorder l'accès aux utilisateurs, et (ii) l'administrateur de politique de sécurité qui exécute la décision du moteur de politique de sécurité par le biais de commandes envoyées aux PAPS via le SR.
La présente invention a pour but de remédier à un ou plusieurs des inconvénients associés à l'art antérieur.
Conformément aux présentes inventions, il est prévu une application de sécurité pour un dispositif informatique, ladite application étant adaptée pour :
  • donner à un utilisateur du dispositif informatique sur lequel est installé ladite application de sécurité, accès à un ensemble de services sécurisés dans lesquels sont échangées des données chiffrées avec d’autres applications de sécurité installées sur d’autres dispositif informatiques distants ;
  • disposer d’une zone sécurisée de la RAM à laquelle seule l’application de sécurité peut avoir accès, l’enclave ;
  • être dotée d’un processus d’initialisation permettant notamment de recueillir des données d’identification de l’utilisateur qui ne quittent jamais l’enclave avant d’être détruites et de mettre en place des clés nécessaires au chiffrement des données échangées ;
  • être dotée d’un processus de connexion permettant de vérifier les données d’identification lors des utilisations de l’application de sécurité ultérieures à l’initialisation, sans que ces données d’identification ne quittent l’enclave avant d’être détruites, une vérification étant le préalable pour que l’utilisateur du dispositif informatique puisse accéder aux services sécurisés ;
  • calculer, à partir des données d’identification, lors de l’initialisation une première fois puis à chaque connexion de façon conforme, dans un processus collaboratif avec un point de décision de politique de sécurité distant, une clé maîtresse qui ne quitte jamais l’enclave avant d’être détruite et qui est indispensable pour que l’application de sécurité puisse accéder aux clés de chiffrement.
La présente invention concerne également un système de sécurité pour des dispositifs informatiques, le système de sécurité étant adapté pour :
- mettre en œuvre une machine virtuelle dans la mémoire vive, RAM, du dispositif informatique de telle sorte qu'une partie de la RAM est attribuée à la machine virtuelle, dans laquelle la partie attribuée de la RAM définit une zone sécurisée et de telle sorte que la machine virtuelle attribue à son tour ladite application de sécurité précédemment décrite, une partie de la RAM, cette dernière partie de RAM définissant une enclave ; et
- exploiter cette application de sécurité sur la machine virtuelle, dans laquelle l'application de sécurité contrôle l'accès à l’enclave.
Avantageusement, le système de sécurité est adapté pour :
- mettre en œuvre une machine physique attribuant à l’application de sécurité précédemment décrite, une partie de la RAM, cette partie de la RAM attribuée définissant une zone sécurisée, l’enclave ; et
- exploiter cette application de sécurité sur la machine physique, dans laquelle l’application de sécurité contrôle l’accès à l’enclave.
Selon une caractéristique, l’enclave est utilisée pour le stockage de données non chiffrées avant le chiffrement ou après le déchiffrement.
En outre, l’enclave est aussi utilisée pour stocker des clés de chiffrement si ces dernières doivent être gardées confidentielles.et est aussi utilisée pour mettre en œuvre l'application de sécurité.
Avantageusement, la machine virtuelle est implémentée et comprend des pilotes pour des dispositifs périphériques du dispositif informatique, où les dispositifs périphériques sont utilisés pour traiter des données non chiffrées.
En outre, la machine virtuelle est implémentée et comprend un ou des logiciels tiers pour traiter des données non chiffrées.
Selon une caractéristique, l'application de sécurité est adaptée pour mettre en œuvre un point d'application de politique de sécurité.
Également, l'application de sécurité est adaptée pour vérifier que toute donnée entrant ou sortant de l’enclave est chiffrée et si nécessaire signée d'une manière prédéterminée.
En outre, un algorithme (CD) de chiffrement a été défini pour chiffrer les données confidentielles.
Plus précisément, deux algorithmes de chiffrement asymétriques ont été définis, un premier algorithme (CASY) pour chiffrer les clés de l’algorithme CD ou des données d’initialisation et un second algorithme (SASY) pour signer le chiffrement de ces clés ou de ces données ; ainsi que deux algorithmes d’initialisation des paires (clé publique, clé privée) sont également associés aux chiffrements asymétriques, un troisième algorithme (CIN) pour CASY et un quatrième algorithme (SIN) pour SASY. Les algorithmes CIN et SIN peuvent éventuellement être décomposés en deux parties, CIN1 et CIN2 pour le premier, SIN1 et SIN2 pour le second.
Avantageusement, l'application de sécurité est adaptée pour communiquer avec un point de décision de la politique de sécurité (PDPS) distant par l’intermédiaire d’un serveur de routage (SR) sous le contrôle du PDPS., l'application de sécurité étant adaptée pour mettre œuvre les algorithmes CD, CASY, CIN, SASY et SIN.
L’invention concerne également une architecture de sécurité comprenant le système de sécurité précédemment décrit et les serveurs PDPS et SR distants, dans laquelle chaque dispositif informatique reçoit un numéro d'utilisateur unique et les clés publiques des algorithmes CASY et SASY du PDPS en provenance du serveur SR distant.
Avantageusement, dans cette architecture de sécurité, le processus d’initialisation de l'application de sécurité reçoit d’un utilisateur un mot de passe, pwd, ou des données d’identification pouvant se condenser en une donnée unique pwd, lui applique une fonction de hachage à sens unique, H, et stocke le résultat du hachage, H(pwd), dans l’enclave.
En outre, dans cette architecture de sécurité, l'application de sécurité est adaptée dans ce cas pour faire en sorte qu'une demande d’initialisation définie comme la version chiffrée de la concaténation d'une clé pseudo-aléatoire, M, d'une certaine longueur binaire, du numéro d'utilisateur unique, et d'une valeur h étant la version hachée du mot de passe haché, où h = H(H(pwd)) soit transmise au PDPS distant via le SR, dans laquelle cette concaténation est chiffrée en utilisant la clé de chiffrement publique de l’algorithme CASY du PDPS.
Avantageusement, dans cette architecture de sécurité, à réception d’une demande d’initialisation en provenance d’une application de sécurité, le PDPS crée une valeur secrète s, et la stocke conjointement avec la valeur reçue pour h et le numéro d'utilisateur unique.
En outre, dans cette architecture de sécurité, le serveur PDPS est adapté pour
  • créer des données d'initialisation, vides si les algorithmes CIN et SIN ne sont pas décomposés en deux parties et comprenant les données de sortie des algorithmes CIN1 et SIN1 dans le cas contraire ; chiffrer les données d'initialisation concaténées à la valeur secrète s à l'aide d'un chiffrement symétrique utilisant la clé M ; et
  • transmettre le résultat chiffré à l'application de sécurité à l’origine de la demande via SR.
Également, dans cette architecture de sécurité, à la réception des données d'initialisation chiffrées, l'application de sécurité est adaptée pour déchiffrer les données d'initialisation et la valeur s à l’aide d’un chiffrement symétrique en utilisant la clé M et générer les deux paires de clés publique-privée des algorithmes CASY et SASY en utilisant une valeur secrète t, inconnue du PDPS, comme donnée d’entrée des algorithmes CIN et SIN si les données d’initialisation sont vides et cette valeur secrète t conjointement avec les données d’initialisation comme donnés d’entrée des algorithmes CIN2 et SIN2 dans le cas contraire. L’application de sécurité est également adaptée pour transmettre au SR les deux clés publiques des algorithmes CASY et SASY ainsi calculées.
Avantageusement, dans cette architecture de sécurité, l'application de sécurité calcule une clé maîtresse basée sur la valeur secrète s, et la version hachée du mot de passe H(pwd).
Précisément, dans cette architecture de sécurité, la clé maîtresse est calculée selon H(s ^ H(pwd)) et un témoin T est calculé selon H(s ^ H(s ^ H(pwd))) et stocké sur le disque dur local pour réutilisation ultérieure où H est la fonction de hachage à sens unique, s est la valeur secrète, et ^ est une opération OU exclusif (XOR).
Également, dans cette architecture de sécurité, l'application de sécurité est adaptée pour utiliser la clé maîtresse pour chiffrer des données confidentielles et des clés de chiffrement de l’algorithme CD, pour un stockage sur le disque dur.
Également, dans cette architecture de sécurité, le processus de connexion de l'application de sécurité est adapté pour vérifier l'identité de l'utilisateur lors d’une nouvelle connexion selon le processus suivant :
  • recevoir un mot de passe de connexion, lgpwd, de l'utilisateur ;
  • calculer une fonction de hachage, H, du mot de passe de connexion, lgpwd, ou des données d’identification condensées en une donnée unique lgpwd, H(lgpwd), puis calculer une valeur lgh à partir d'une fonction de hachage du résultat, de sorte que lgh=H(H(lgpwd)) ;
  • obtenir une valeur pseudo-aléatoire D, d'une certaine longueur de bits ;
  • calculer une valeur S, où S = H(M ^ lgh) ; en concaténant le numéro d'utilisateur unique, et les valeurs D, M, et S ;
en chiffrant la concaténation avec la clé publique de l’algorithme CASY du PDPS ; et
  • faire en sorte que la concaténation chiffrée soit transmise au PDPS comme une demande de connexion, via le SR.
En outre, dans cette architecture de sécurité, le PDPS est adapté pour qu’à réception de la demande de connexion, ce PDPS puisse :
  • déchiffrer cette demande de connexion en utilisant sa clé privée de l’algorithme CASY ;
  • vérifier le numéro d'utilisateur unique ;
  • si le numéro d'utilisateur unique est valide, vérifier que la valeur reçue S satisfait l'égalité S = H(M ^ h) ;
  • si S est vérifié, chiffrer la valeur secrète s à l'aide d'un chiffrement symétrique en utilisant la clé M, la concaténer avec le résultat du chiffrement de D avec l’algorithme CASY en utilisant la clé publique de l'application de sécurité à l’origine de la demande de connexion et transmettre cette concaténation à cette application, où une valeur vide si une des vérifications a échoué, via SR ;
Également, dans cette architecture de sécurité, l’application de sécurité est adaptée pour permettre, à réception de la concaténation en réponse à une demande de connexion, de :
  • vérifier que cette concaténation provient bien du PDPS en vérifiant que le déchiffrement de la seconde partie de la concaténation en utilisant sa clé privée de l’algorithme CASY redonne bien la valeur D ;
  • déchiffrer la première partie de la concaténation avec l’algorithme symétrique et la clé M, le résultat de cette opération étant s ;
  • recalculer la clé maîtresse comme étant égale à H(s ^ H(lgpwd)) ;
  • vérifier que H(s ^ H(s ^ H(lgpwd))) est bien égale à la valeur témoin T stockée lors de l’initialisation
  • autoriser l’utilisation des services sécurisés du dispositif informatique concerné si la concaténation n’est pas vide, si elle provient bien du PDPS et si la valeur du témoin a bien été retrouvée.
Avantageusement, dans une architecture de sécurité ainsi dotée des processus d’initialisation et de connexion tels que décrits, l’autorisation d’accès aux services sécurisés ne peut pas être forcée par une modification du code de l’application de sécurité qui rendrait par exemple la vérification du témoin T toujours positive. Ce témoin n’est qu’une indication pour l’utilisateur pour lui signifier que le mot de passe est correct ou non. Si le mot de passe est incorrect, la valeur calculée de la clé maîtresse est nécessairement erronée et les clés de chiffrement le l’algorithme CD et les clés privées des algorithme CASY et SASY ne pourront pas être déchiffrées, rendant ainsi impossible l’utilisation des services sécurisés, même si la reconnaissance du témoin a été forcée à positive.
Également, dans cette architecture de sécurité, le PDPS distant est adapté pour mettre en œuvre les fonctions d’un point de décision de politique de sécurité, comprenant un moteur de politique de sécurité et un administrateur de politique de sécurité.
Avantageusement, dans cette architecture de sécurité, le SR distant est adapté pour effectuer les opérations de routage en tenant les données chiffrées à disposition des destinataires pendant une certaine période de temps, tenir les clés publiques des algorithmes CASY et SASY du PDPS et des applications de sécurité initialisées à la disposition de toute application de sécurité ou du PDPS qui en ferait la demande et agir sous le contrôle du PDPS qui peut lui interdire de router certains échanges en application de la politique de sécurité.
Dans le cadre de la présente demande, il est expressément prévu que les divers aspects, modes de réalisation, exemples et variantes exposés dans les paragraphes précédents, dans les revendications et/ou dans la description et les dessins qui suivent, et en particulier les caractéristiques individuelles de ceux-ci, peuvent être pris indépendamment ou en toute combinaison. C'est-à-dire que tous les modes de réalisation et/ou les caractéristiques de tout mode de réalisation peuvent être combinés de n'importe quelle manière et/ou combinaison, à moins que ces caractéristiques ne soient incompatibles. Le demandeur se réserve le droit de modifier toute revendication déposée à l'origine ou de déposer toute nouvelle revendication en conséquence, y compris le droit de modifier toute revendication déposée à l'origine pour dépendre de et/ou incorporer toute caractéristique de toute autre revendication bien qu'elle n'ait pas été revendiquée à l'origine de cette manière.
BRÈVE DESCRIPTION DES FIGURES
Des modes de réalisation de l'invention sont décrits ci-après en référence aux dessins annexés, dans lesquels :
est un schéma fonctionnel d'un exemple de système de sécurité selon l’invention ;
est un schéma fonctionnel d'un exemple de dispositif informatique exploitant un système de sécurité selon l’invention ;
est un schéma fonctionnel d'un autre exemple de dispositif informatique exploitant un système de sécurité selon l’invention ;
est un schéma fonctionnel d'un autre exemple de dispositif informatique exploitant un système de sécurité selon l’invention ;
est un schéma fonctionnel d'un exemple d'architecture de sécurité selon l’invention ;
est un schéma fonctionnel d'un autre exemple d'architecture de sécurité selon l’invention ;
est un schéma fonctionnel illustrant l'architecture de sécurité selon l’invention.

Claims (29)

  1. Application de sécurité (104) pour un dispositif informatique (150), caractérisé en ce que ladite application est adaptée pour :
    • donner à un utilisateur du dispositif informatique sur lequel est installé ladite application de sécurité, accès à un ensemble de services sécurisé dans lesquels sont échangées des données chiffrées avec d’autres applications de sécurité installées sur d’autres dispositif informatiques distants ;
    • disposer d’une zone sécurisée dans une mémoire vive (RAM) dudit dispositif informatique, zone sécurisée à laquelle seule l’application de sécurité peut avoir accès, l’enclave ;
    • être dotée d’un processus d’initialisation permettant notamment de recueillir des données d’identification de l’utilisateur qui ne quittent jamais l’enclave avant d’être détruites et de mettre en place des clés nécessaires au chiffrement des données échangées ;
    • être dotée d’un processus de connexion permettant de vérifier les données d’identification lors des utilisations de l’application de sécurité ultérieures à l’initialisation, sans que ces données d’identification ne quittent l’enclave avant d’être détruites, une vérification étant le préalable pour que l’utilisateur du dispositif informatique puisse accéder aux services sécurisés ;
    • calculer, à partir des données d’identification, lors de l’initialisation une première fois puis à chaque connexion de façon conforme, dans un processus collaboratif avec un point de décision de politique de sécurité distant, une clé maîtresse qui ne quitte jamais l’enclave avant d’être détruite et qui est indispensable pour que l’application de sécurité puisse accéder aux clés de chiffrement.
  2. Un système de sécurité (100) pour des dispositifs informatiques, le système de sécurité étant adapté pour :
    - mettre en œuvre une machine virtuelle dans la mémoire vive (RAM) du dispositif informatique de telle sorte qu'une partie de la mémoire vive (RAM) est attribuée à la machine virtuelle, dans laquelle la partie attribuée de la mémoire vive (RAM) définit une zone sécurisée et de telle sorte que la machine virtuelle attribue à son tour à une application de sécurité selon la revendication 1, une partie de la mémoire vive (RAM), cette dernière partie de la mémoire vive (RAM) définissant une enclave ; et
    - exploiter cette application de sécurité sur la machine virtuelle, dans laquelle l'application de sécurité contrôle l'accès à l’enclave.
  3. Un système de sécurité pour des dispositifs informatiques, le système de sécurité étant adapté pour :
    - mettre en œuvre une machine physique (102b) attribuant à une application de sécurité selon la revendication 1, une partie de la mémoire vive (RAM), cette partie de la mémoire vive (RAM) attribuée définissant une zone sécurisée, l’enclave ; et
    - exploiter cette application de sécurité sur la machine physique (102b), dans laquelle l’application de sécurité contrôle l’accès à l’enclave.
  4. Système de sécurité selon les revendications 2 ou 3, dans lequel l’enclave est utilisée pour le stockage de données non chiffrées avant le chiffrement ou après le déchiffrement.
  5. Système de sécurité selon la revendication 4, dans lequel l’enclave est aussi utilisée pour stocker des clés de chiffrement si ces dernières doivent être gardées confidentielles.
  6. Système de sécurité selon la revendication 4 ou 5, dans lequel l’enclave est aussi utilisée pour mettre en œuvre l'application de sécurité.
  7. Système de sécurité (100) selon l'une quelconque des revendications 2 à 6, dans lequel la machine virtuelle est implémentée et comprend des pilotes pour des dispositifs périphériques du dispositif informatique, où les dispositifs périphériques sont utilisés pour traiter des données non chiffrées.
  8. Système de sécurité selon l'une quelconque des revendications 2 à 7, dans lequel la machine virtuelle est implémentée et comprend un ou des logiciels tiers pour traiter des données non chiffrées.
  9. Système de sécurité selon l'une quelconque des revendications 2 à 8, dans lequel l'application de sécurité est adaptée pour mettre en œuvre un point d'application de politique de sécurité.
  10. Système de sécurité selon l'une quelconque des revendications 2 à 9, dans lequel l'application de sécurité est adaptée pour vérifier que toute donnée entrant ou sortant de l’enclave est chiffrée et si nécessaire signée d'une manière prédéterminée.
  11. Système de sécurité selon la revendication 10, dans lequel un algorithme (CD) de chiffrement a été défini pour chiffrer les données confidentielles.
  12. Système de sécurité selon la revendication 11, dans lequel
    - deux algorithmes de chiffrement asymétriques ont été définis, un premier algorithme (CASY) pour chiffrer les clés de l’algorithme (CD) ou des données d’initialisation et un second algorithme (SASY) pour signer le chiffrement de ces clés ou de ces données ;
    - deux algorithmes d’initialisation de paires de clés sont également associés aux chiffrements asymétriques, un troisième algorithme (CIN) associé au premier algorithme (CASY) et un quatrième algorithme (SIN) associé au second algorithme (SASY) ;
    les troisième et quatrième algorithmes (CIN ; SIN) pouvant être décomposés en deux parties, (CIN1, CIN2) pour le troisième algorithme, (SIN1, SIN2) pour le quatrième algorithme.
  13. Système de sécurité selon l'une quelconque des revendications 2 à 12, dans lequel l'application de sécurité est adaptée pour communiquer avec un point de décision de la politique de sécurité (PDPS) distant par l’intermédiaire d’un serveur de routage (SR) sous le contrôle du point de décision de la politique de sécurité (PDPS)
  14. Système de sécurité selon la revendication 13, dans lequel l'application de sécurité est adaptée pour mettre œuvre l’algorithme de chiffrement (CD), les algorithmes de chiffrement asymétriques (CASY ; SASY) et les algorithmes d’initialisation de paires de clés (CIN ; SIN)
  15. Architecture de sécurité selon l’une quelconque des revendications 2 à 14 comprenant le système de sécurité et les serveurs point de décision de la politique de sécurité et de routage (PDPS ; SR) distants.
  16. Architecture de sécurité selon la revendication 15, dans laquelle chaque dispositif informatique reçoit un numéro d'utilisateur unique et les clés publiques des algorithmes de chiffrement asymétriques (CASY ; SASY) du PDPS en provenance du serveur de routage (SR) distant.
  17. Architecture de sécurité selon la revendication 16, dans laquelle un processus d’initialisation de l'application de sécurité :
    • reçoit d’un utilisateur un mot de passe (pwd) ou des données d’identification pouvant se condenser en une donnée unique (pwd),
    • lui applique une fonction de hachage à sens unique (H) ;
    • et stocke le résultat du hachage (H(pwd)) dans l’enclave.
  18. Architecture de sécurité selon la revendication 17, dans laquelle l'application de sécurité est adaptée pour faire en sorte qu'une demande d’initialisation définie comme la version chiffrée de la concaténation d'une clé pseudo-aléatoire (M) d'une certaine longueur binaire, du numéro d'utilisateur unique, et d'une valeur (h) correspondant à la version hachée du mot de passe haché, et définie par h = H(H(pwd)), ladite valeur (h) étant transmise au PDPS distant via le serveur de routage (SR), dans laquelle cette concaténation est chiffrée en utilisant la clé de chiffrement publique de l’algorithme de chiffrement asymétrique (CASY) du PDPS.
  19. Architecture de sécurité selon la revendication 18, dans laquelle, à réception d’une demande d’initialisation en provenance d’une application de sécurité, le PDPS crée une valeur secrète (s), et la stocke conjointement avec la valeur reçue pour (h) et le numéro d'utilisateur unique.
  20. Architecture de sécurité selon la revendication 19, dans laquelle le point de décision de la politique de sécurité (PDPS) est adapté pour :
    • créer des données d'initialisation qui sont vides si les algorithmes d’initialisation de paires de clés (CIN ; SIN) ne sont pas décomposés en deux parties ou bien qui comprennent les données de sortie des algorithmes (CIN1 ; SIN1 dans le cas contraire ;
    • chiffrer les données d'initialisation concaténées à la valeur secrète (s) à l'aide d'un chiffrement de type symétrique utilisant la clé M ; et
    • transmettre le résultat chiffré à l'application de sécurité à l’origine de la demande via le serveur de routage (SR).
  21. Architecture de sécurité selon la revendication 20, dans laquelle, à la réception des données d'initialisation chiffrées, l'application de sécurité est adaptée pour déchiffrer les données d'initialisation et la valeur (s) à l’aide du chiffrement (symétrique) en utilisant la clé (M) et générer les deux paires de clés publique-privée des algorithmes de chiffrement asymétrique (CASY ; SASY) en utilisant une valeur secrète (t), inconnue du point de décision de la politique de sécurité (PDPS), comme donnée d’entrée des algorithmes d’initialisation de paires de clés (CIN ; SIN) si les données d’initialisation sont vides ; et cette valeur secrète (t) conjointement avec les données d’initialisation comme donnés d’entrée des algorithmes (CIN2 ; SIN2) dans le cas contraire, l’application de sécurité étant également adaptée pour transmettre au serveur de routage (SR) les deux clés publiques des algorithmes de chiffrement asymétrique (CASY ; SASY)
  22. Architecture de sécurité selon la revendication 21, dans laquelle l'application de sécurité calcule une clé maîtresse basée sur la valeur secrète (s), et la version hachée du mot de passe H(pwd).
  23. Architecture de sécurité selon la revendication 22, dans laquelle la clé maîtresse est calculée selon H(s ^ H(pwd)) et un témoin T est calculé selon H(s ^ H(s ^ H(pwd))) et stocké sur le disque dur local pour réutilisation ultérieure où H est la fonction de hachage à sens unique, s est la valeur secrète, et ^ est une opération OU exclusif (XOR).
  24. Architecture de sécurité selon l'une quelconque des revendications 15 à 23, dans laquelle l'application de sécurité est adaptée pour utiliser la clé maîtresse pour chiffrer des données confidentielles et des clés de chiffrement de l’algorithme (CD), pour un stockage sur le disque dur, rendant ainsi impossible l’accès à ces données confidentielles et à ces clés si le calcul de la clé maîtresse est erroné.
  25. Architecture de sécurité selon l'une quelconque des revendications 15 à 24, dans laquelle le processus de connexion de l'application de sécurité est adaptée pour vérifier l'identité de l'utilisateur lors d’une nouvelle connexion :
    • recevoir un mot de passe de connexion (lgpwd) de l'utilisateur ;
    • calculer une fonction de hachage (H) du mot de passe de connexion, (lgpwd), ou des données d’identification condensées en une donnée unique lgpwd, H(lgpwd), puis calculer une valeur (lgh) à partir d'une fonction de hachage du résultat, de sorte que lgh=H(H(lgpwd)) ;
    • obtenir une valeur pseudo-aléatoire (D), d'une certaine longueur de bits ;
    • calculer une valeur (S), où S = H(M ^ lgh) ;
    • en concaténant le numéro d'utilisateur unique, et les valeurs D, M, et S ;
    • en chiffrant la concaténation avec la clé publique de l’algorithme de chiffrement asymétrique (CASY) du point de décision de la politique de sécurité (PDPS) ; et
    • faire en sorte que la concaténation chiffrée soit transmise au point de décision de la politique de sécurité (PDPS) comme une demande de connexion, via le serveur de routage (SR).
  26. Architecture de sécurité selon la revendication 25, dans laquelle, le point de décision de la politique de sécurité (PDPS) est adapté pour qu’à réception de la demande de connexion, ce point de décision de la politique de sécurité (PDPS) puisse :
    • déchiffrer cette demande de connexion en utilisant sa clé privée de l’algorithme de chiffrement asymétrique (CASY) ;
    • vérifier le numéro d'utilisateur unique ;
    • si le numéro d'utilisateur unique est valide, vérifier que la valeur reçue S satisfait l'égalité S = H(M ^ h) ; et
    • si S est vérifié, chiffrer la valeur secrète s à l'aide d'un chiffrement symétrique en utilisant la clé (M), la concaténer avec le résultat du chiffrement de (D) avec l’algorithme de chiffrement asymétrique (CASY) en utilisant la clé publique de l'application de sécurité à l’origine de la demande de connexion ;
    • et transmettre, via le serveur de routage (SR) cette concaténation à cette application ou une valeur vide si une des vérifications a échoué.
  27. Architecture de sécurité selon la revendication 26, dans laquelle l’application de sécurité est adaptée pour permettre, à réception de la concaténation en réponse à une demande de connexion, de :
    • vérifier que cette concaténation provient bien du point de décision de la politique de sécurité (PDPS) en vérifiant que le déchiffrement de la seconde partie de la concaténation en utilisant sa clé privée de l’algorithme de chiffrement asymétrique (CASY) redonne bien la valeur D ;
    • déchiffrer la première partie de la concaténation avec l’algorithme symétrique et la clé M, le résultat de cette opération étant s ;
    • recalculer la clé maîtresse comme étant égale à H(s ^ H(lgpwd)) ;
    • vérifier que H(s ^ H(s ^ H(lgpwd))) est bien égale à la valeur témoin T stockée lors de l’initialisation ;
    • autoriser l’utilisation des services sécurisés du dispositif informatique concerné si la concaténation n’est pas vide, si elle provient bien du point de décision de la politique de sécurité (PDPS) et si la valeur du témoin a bien été retrouvée.
  28. Architecture de sécurité selon l'une quelconque des revendications 15 à 27, dans laquelle le point de décision de la politique de sécurité (PDPS) distant est adapté pour mettre en œuvre les fonctions d’un point de décision de politique de sécurité, comprenant un moteur de politique de sécurité et un administrateur de politique de sécurité.
  29. Architecture de sécurité selon la revendication 28, dans laquelle le serveur de routage (SR) distant est adapté pour effectuer les opérations de routage en tenant les données chiffrées à disposition des destinataires pendant une certaine période de temps, tenir les clés publiques des algorithmes de chiffrement asymétrique (CASY ; SASY) du point de décision de la politique de sécurité (PDPS) et des applications de sécurité initialisées à la disposition de toute application de sécurité ou du point de décision de la politique de sécurité (PDPS) qui en ferait la demande et agir sous le contrôle du point de décision de la politique de sécurité (PDPS) qui peut lui interdire de router certains échanges en application de la politique de sécurité.
FR2110521A 2021-10-08 2021-10-08 Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante Active FR3128040B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR2110521A FR3128040B1 (fr) 2021-10-08 2021-10-08 Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante
US18/698,457 US20240356747A1 (en) 2021-10-08 2022-10-10 Security application for an it device, and corresponding security architecture
PCT/EP2022/078066 WO2023057652A1 (fr) 2021-10-08 2022-10-10 Application de sécurité pour un dispositif informatique, et architecture de sécurité correspondante
EP22801088.0A EP4413479A1 (fr) 2021-10-08 2022-10-10 Application de sécurité pour un dispositif informatique, et architecture de sécurité correspondante

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2110521A FR3128040B1 (fr) 2021-10-08 2021-10-08 Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante
FR2110521 2021-10-08

Publications (2)

Publication Number Publication Date
FR3128040A1 true FR3128040A1 (fr) 2023-04-14
FR3128040B1 FR3128040B1 (fr) 2023-10-27

Family

ID=79602038

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2110521A Active FR3128040B1 (fr) 2021-10-08 2021-10-08 Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante

Country Status (4)

Country Link
US (1) US20240356747A1 (fr)
EP (1) EP4413479A1 (fr)
FR (1) FR3128040B1 (fr)
WO (1) WO2023057652A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12294645B2 (en) 2021-10-04 2025-05-06 QDS Holdings Inc. Systems and methods for securing a quantum-safe digital network environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130042295A1 (en) * 2011-08-10 2013-02-14 Charles C. Kelly Method and apparatus for providing a secure virtual environment on a mobile device
US20180183580A1 (en) * 2016-12-27 2018-06-28 Intel Corporation Provisioning keys for virtual machine secure enclaves
CN110071799A (zh) * 2019-04-09 2019-07-30 山东超越数控电子股份有限公司 一种加密存储密钥的生成保护方法,系统,终端机及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130042295A1 (en) * 2011-08-10 2013-02-14 Charles C. Kelly Method and apparatus for providing a secure virtual environment on a mobile device
US20180183580A1 (en) * 2016-12-27 2018-06-28 Intel Corporation Provisioning keys for virtual machine secure enclaves
CN110071799A (zh) * 2019-04-09 2019-07-30 山东超越数控电子股份有限公司 一种加密存储密钥的生成保护方法,系统,终端机及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SCOTT ROSE ET AL: "Zero Trust Architecture NIST SP 800-207", 11 August 2020 (2020-08-11), pages 1 - 59, XP061057776, Retrieved from the Internet <URL:https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-207.pdf> [retrieved on 20200811], DOI: 10.6028/NIST.SP.800-207 *

Also Published As

Publication number Publication date
US20240356747A1 (en) 2024-10-24
EP4413479A1 (fr) 2024-08-14
WO2023057652A1 (fr) 2023-04-13
FR3128040B1 (fr) 2023-10-27

Similar Documents

Publication Publication Date Title
US20190089527A1 (en) System and method of enforcing a computer policy
US6134327A (en) Method and apparatus for creating communities of trust in a secure communication system
US7610617B2 (en) Authentication system for networked computer applications
KR101292975B1 (ko) 패스워드 보호
US8196186B2 (en) Security architecture for peer-to-peer storage system
US8627440B2 (en) PassThru for client authentication
US10057060B2 (en) Password-based generation and management of secret cryptographic keys
US6215872B1 (en) Method for creating communities of trust in a secure communication system
US20150113283A1 (en) Protecting credentials against physical capture of a computing device
KR20070024633A (ko) 갱신가능한 그리고 개인적인 바이오메트릭
KR100582546B1 (ko) 암호화/복호화 키를 이용한 메시지 송수신 방법
CN114175079A (zh) 用于生物识别协议标准的系统和方法
US10785193B2 (en) Security key hopping
FR3128040A1 (fr) Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante
US20020184501A1 (en) Method and system for establishing secure data transmission in a data communications network notably using an optical media key encrypted environment (omkee)
Chauhan et al. Enhancing Mobile Cloud Computing Security with SHA-256 and RSA for User Authentication and Data Sharing
CN116471081B (zh) 一种基于物联网技术的室内安防匿名认证方法
JP2025500712A (ja) 仮想秘密鍵のシステムおよび手法
Spirintseva et al. The models of the information security in the cloud storage
Meinel et al. Digital Security
Kumari et al. Proof of Retrievability Technique for Data Integrity with Client Authentication Tehniques-One Time Password and Dynamic Missing Number Puzzle
UA56105A (uk) Спосіб установлення зв&#39;язку в комп&#39;ютерних мережах

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20230414

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4