INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Lorsque la courbe d’iso-déplacement verticale 210, 210, 214 contenant un point de la trajectoire 64A est obtenue après un nombre N1 d’incréments de déplacement, la courbe d’iso-déplacement verticale inverse 218 utilisée par le module de détermination 67 pour obtenir l’intersection 220A, 220B est celle correspondant à un nombre N2 d’incréments de déplacement nombre N2 calculé par l’équation :
Les bords supérieur et inférieur 209A, 209B de la chaussette 200 sont alors obtenus en joignant respectivement les points d’intersection 208A présents au-dessus de la trajectoire 64A et les points d’intersection 208B présents en dessous de la trajectoire 64A.
Comme illustré par la , le gestionnaire d’affichage 44A affiche sur l’afficheur 44, en superposition d’une représentation topographique de l’environnement dans lequel évolue l’aéronef, la trajectoire 64A, 65A calculée en projection horizontale et autour de cette trajectoire calculée 64A, 65A, une représentation de la chaussette 200 avec ses bords latéraux 202A, 202B.
En référence à la figure 1(d), on voit un autre exemple de dispositif informatique 150, dans lequel la machine virtuelle 120, si elle est implémentée, comprend des pilotes 126 de périphériques utilisés pour la saisie et le rendu des données. Ainsi, la création d'informations, par l'utilisation de périphériques 118 tels qu'un clavier, un microphone ou un appareil photo, et leur numérisation avant chiffrement, puis leur déchiffrement, leur conversion sous forme analogique et leur restitution sur des périphériques tels que des écrans, des haut-parleurs ou des imprimantes, peuvent être réalisées dans la zone sécurisée définie par la machine virtuelle. Ainsi, les données ne sont pas traitées en clair en dehors de la machine virtuelle. La création et le rendu de données non chiffrées sont effectués au sein de la machine virtuelle directement entre le dispositif matériel approprié et le pilote correspondant. La machine virtuelle 120 fournit également un environnement sécurisé pour l'exécution de logiciels tiers si les informations non chiffrées sous une forme brute nécessitent un traitement après la création ou avant le rendu, comme des applications logicielles de bureau, le traitement d'images et/ou de sons ou des applications spécifiques à l'entreprise. Dans une variante du système de sécurité où la machine virtuelle n’est pas implémentée, comme pour les figures 1 (b) et 1 (c), le système de sécurité 100 ne comprend que les modules 102b et 104 et le module 120 ne fait pas partie du dispositif informatique 150. Les zones de la RAM attribués aux pilotes et aux logiciels tiers sont dans ce cas en dehors de la zone de confiance et l’utilisateur devra s’assurer en dehors du cadre de l’invention qu’ils peuvent être utilisés sans danger.
L'application de sécurité est adaptée pour générer des clés de chiffrement en fonction des données reçues du PDPS distant. Le processus de génération de clés implique une clé maîtresse et un mot de passe utilisateur. La clé maîtresse et le mot de passe sont stockés et confinés dans la sous-partie 124 de RAM.
Dans tous les ordinateurs, la mémoire RAM est protégée de manière très sûre et l'allocation de tranches de mémoire RAM aux processus informatiques est contrôlée par l'unité centrale de traitement du matériel, à la demande du système d'exploitation. Pour protéger l'information de sa création à sa restitution, il faut se poser la question de savoir où effectuer les opérations de chiffrement et de déchiffrement. En contrôlant l'accès à l'enclave pour les opérations de chiffrement et de déchiffrement par un dispositif matériel, l’unité centrale, qui ne peut pas être modifié par un logiciel malveillant, la zone de chiffrement/déchiffrement est protégée contre l'intrusion d'un tel logiciel malveillant et ceci reste vrai si la machine virtuelle n’est pas implémentée dans le système de sécurité. Le chemin des dispositifs matériels de capture (clavier, microphone, caméra) vers la mémoire RAM et de cette mémoire RAM vers les dispositifs matériels de restitution (écran, haut-parleurs/casques, imprimantes) transite par des couches logicielles du système d'exploitation, comme les pilotes. Comme toutes les autres couches logicielles, elles peuvent être infectées par des logiciels malveillants. Par conséquent, pour assurer une protection solide des informations, il faut que ces couches logicielles soient protégées contre les infections. Cela peut être réalisé par une virtualisation de l'ensemble du système d'exploitation, auquel cas toute la machine virtuelle (y compris le système d'exploitation) résidera en mémoire RAM et pourra être chargée à partir d'un support de mémoire morte immunisé contre les logiciels malveillants. En revanche, si la machine virtuelle n’est pas implémentée, ces pilotes restent vulnérables au regard d’attaques émanant de logiciels malveillants qui pourraient être présents dans le dispositif informatique 150. Une analyse technique de ces pilotes devra dans ce cas être menée pour déterminer leur vulnérabilité. L’utilisation de la variante dans laquelle est implémentée une machine virtuelle n’est donc nécessaire que dans les cas où, des logiciels tiers ou des pilotes de périphériques, dont les fonctions de sécurité ne sont pas connues ou seraient jugées non fiables, devraient être utilisés. Dans de tels cas, la machine virtuelle, en encapsulant à la fois l'application sécurisée et ces logiciels tiers et pilotes, fournit le cadre sécurisé pour l'exécution de l'ensemble.
En se référant maintenant à la figure 2(a), il est montré un exemple d'architecture de sécurité indiqué généralement par le numéro de référence 250a. L'architecture de sécurité 250a comprend une application de sécurité, telle que l'application de sécurité 122 décrite ici en relation avec les figures 1(a) à (d), un PDPS 200 distant de l'application de sécurité et un serveur de routage SR 204. Toutes des données chiffrées échangées entre l’application de sécurité 122 et le PDPS 200 peuvent transiter par le SR 204 qui les stocke pour la durée appropriée et les tient à la disposition du destinataire, PDPS ou application de sécurité. Le PDPS 200 et l'application de sécurité 122 peuvent communiquer avec le SR 204 via un réseau de communication 202 tel que l'internet. Ainsi, seul le SR 204 connait les adresses IP utilisées par le PDPS 200 et l’application de sécurité 122. La figure 2(b) montre un autre réseau comprenant le PDPS 200, une première application de sécurité 122a, une deuxième application de sécurité 122b et le serveur de routage SR 204. L'homme du métier comprendra qu'un tel réseau peut comprendre des dispositifs informatiques supplémentaires mettant en œuvre le système de sécurité de l’invention. Chaque application de sécurité 122a, 122n peut générer du contenu, chiffrer ce contenu, stocker ou transmettre ce contenu chiffré, recevoir du contenu chiffré d'un autre dispositif informatique mettant en œuvre le système de sécurité, déchiffrer le contenu reçu et effectuer une restitution du contenu. Le PDPS distant 200 peut comprendre un moteur de politique de sécurité et un administrateur de politique de sécurité et autoriser ou interdire à distance les échanges entre les applications de sécurité 122a, 122n en délivrant les commandes appropriées au SR 204 en application de la politique de sécurité.
La montre un autre exemple d'architecture de sécurité de la présente invention, indiqué généralement par le numéro de référence 300. Les zones ou chemins indiqués par une ligne pleine sur la indiquent la zone sécurisée, où les données peuvent être traitées en clair, c'est-à-dire non chiffrées. Les zones ou chemins indiqués par une ligne en pointillés indiquent les zones où les données sont dans une forme chiffrée. Une ligne pointillée 210 indique la ligne de partage entre un dispositif informatique ou un dispositif informatique 150 et l'Internet 202. On voit ici un serveur de routage 204 tel que décrit ailleurs dans le présent document. Le module RAM 110 du dispositif informatique 150 comprend la machine virtuelle 120, qui comprend elle-même l'application de sécurité 122, si cette machine virtuelle est implémentée. L'application de sécurité comprend l’enclave 124. Les dispositifs périphériques 118 sont en communication avec les pilotes 126 situés dans la machine virtuelle 120, si cette machine virtuelle est implémentée et un disque dur 114 en communication avec l'application de sécurité 122. L'application de sécurité 122 peut communiquer avec le serveur de routage 204.
Le chiffrement des données transmises entre les utilisateurs du système de sécurité peut reposer sur un algorithme de chiffrement, par exemple le chiffrement symétrique « One-Time Pad » (OTP), choisi pour le système de sécurité et qui sera désigné dans ce qui suit comme le chiffrement de données (CD). Cet algorithme peut également être utilisé pour chiffrer localement les données et les autres clés confidentielles qui doivent être conservées sur le disque dur du dispositif informatique concerné. La clé utilisée pour ces opérations locales n’est partagée avec personne et est la clé maîtresse.
Des aspects de la présente divulgation fournissent une protection du contenu basée sur la mémoire vive, de la création à la restitution, dans un dispositif informatique. Sur le dispositif informatique d'origine, le contenu est créé à l'aide d'un périphérique de dispositif informatique tel qu'un clavier, un microphone ou un appareil photo. Le contenu est numérisé et transmis à la RAM par le pilote du dispositif périphérique, le pilote étant contrôlé par le système d'exploitation (OS). Si la machine virtuelle est implémentée, les pilotes et le système d'exploitation lui-même fonctionnent dans la machine virtuelle de l’invention dans la partie assignée de la RAM. Le contenu est transféré par l’application de sécurité de la RAM du pilote dans l’enclave où il est chiffré par cette application de sécurité selon l’algorithme choisi CD avec une clé ayant préalablement été partagée avec le destinataire.
Ensuite, le contenu chiffré quitte le dispositif informatique. Le contenu chiffré est transmis via Internet au SR 204. A partir de règles définies et administrées par le PDPS 200, le SR 204 assure le routage du contenu chiffré en le tenant à disposition du dispositif informatique du destinataire pendant une période de temps prédéfinie. Dans cette limite de temps, ce destinataire peut récupérer le contenu chiffré qui lui est destiné via le réseau internet 202.
Sur le dispositif informatique destinataire, l'application de sécurité, qui fonctionne dans une machine virtuelle en RAM du dispositif informatique destinataire, déchiffre le contenu chiffré par l’algorithme CD avec la clé partagée avec l’expéditeur. Le contenu est converti en analogique à partir de la RAM par un pilote du dispositif périphérique approprié, où le pilote est situé dans la machine virtuelle et est exploité par le système d'exploitation de la machine virtuelle du dispositif informatique destinataire, si la machine virtuelle est implémentée. Le contenu est ensuite restitué par le périphérique approprié tel qu'un écran, une imprimante ou un haut-parleur du dispositif informatique destinataire. De cette manière, le contenu est protégé à tout moment, de la génération à la restitution. Tant que le contenu est en clair, c'est-à-dire avant le chiffrement ou après le déchiffrement, il se trouve dans l’enclave en mémoire vive, et lorsqu'il n'est pas dans l’enclave, il est chiffré.
Pour permettre l’initialisation et l’authentification réciproque des utilisateurs du système sécurisé, deux algorithmes de chiffrement asymétriques, par exemple capables de résister aux attaques émanant d’ordinateurs quantiques, peuvent être choisis, le premier (CASY) pour assurer le chiffrement asymétrique des clés du chiffrement de l’algorithme CD, le second (SASY) pour le calcul de signature permettant l’authentification dans les échanges de clés CD. Pour chacun de ces deux algorithmes, un algorithme d’initialisation des paires (clé publique, clé privée) peut également être défini. Ces algorithmes d’initialisation seront notés CIN pour celui relatif au chiffrement des clés CD et SIN pour celui relatif à la signature. Dans une variante de l’implémentation de l’invention, les deux algorithmes CIN et SIN, sont eux-mêmes décomposés en deux parties, respectivement (CIN1, CIN2) et (SIN1, SIN2). Cette décomposition peut respecter les règles suivantes : Les paires (clé publique, clé privée) sont le produit de sortie de CIN2, respectivement SIN2 ; La partie 2 CIN2, respectivement SIN2 ne peut s’exécuter qu’avec comme données d’entrée les données de sortie de CIN1, respectivement SIN1 et des données complémentaires connues seulement du processus d’exécution de cette partie 2 ; La connaissance des données de sortie de la partie 1 CIN1, respectivement SIN1, n’est en aucun cas suffisante pour déterminer la paire (clé publique, clé privée) si les données complémentaires restent inconnues ; L’application de ces règles a pour conséquence directe le fait que seul le processus exécutant la partie 2 a accès aux deux clés privées mais que ce processus ne peut s’exécuter qu’avec le concours du processus d’exécution de la partie 1. Le PDPS peut posséder deux paires (clé publique, clé privée) pour les algorithmes CIN et SIN. Les deux clés privées correspondantes ne sont alors connues que du PDPS.
Des aspects de la présente divulgation fournissent la description de deux processus permettant la mise en place des paires de clés des algorithmes CASY et SASY, avec le processus d’initialisation d’une application de sécurité et la vérification des droits à l’utilisation des services du système de sécurité à chaque demande de connexion d’une application de sécurité, avec le processus de connexion. Dans ce cadre du système de sécurité objet de l’invention, les deux processus peuvent satisfaire aux exigences suivantes : Les clés privées des processus CASY et SASY ne doivent être connues que des applications de sécurité qui les ont créées, à l’exclusion de tout autre application et du PDPS ; Les clés du processus CD ne doivent être connues que des applications de sécurité qui ont décidé de les partager pour permettre l’échange de données confidentielles entre ces applications, à l’exclusion de tout autre application qui n’aurait pas été invitée dans le partage et du PDPS ; Le processus d’initialisation d’une application de sécurité doit permettre la mise en place des paires de clés des algorithmes CASY et SASY alors même que cette application de sécurité ne connait au départ que les clés publiques des algorithme CASY et SASY du PDPS et ne dispose d’aucune autre clé de chiffrement ; Les processus d’initialisation et de connexion doivent être des processus partagés avec le PDPS pour éviter que l’application de sécurité ne puisse effectuer des opérations de chiffrement en dehors du cadre de l’utilisation des services du système de sécurité, en tant que moyen de cryptographie, par exemple à des fins malveillantes ou criminelles. Dans la présente divulgation, la satisfaction de ces exigences repose sur la mise en place, par chaque application de sécurité, d’une clé maîtresse qui n’est jamais stockée ailleurs que dans l’enclave de l’application sécurisée et qui est le résultat d’un calcul collaboratif avec le PDPS, une première fois dans le cadre du processus d’initialisation puis de façon conforme à chaque nouvelle connexion.
Pour chaque utilisateur du système de sécurité, une clé maîtresse est établie par un processus informatique collaboratif avec le PDPS. Dans un exemple, la longueur de la clé maîtresse est de 512 bits. Cette clé maîtresse est la clé sous-jacente qui établit le chiffrement CD local de l'utilisateur et assure la sécurité de l'information et la sécurité des autres clés stockées sur le disque dur. Cette clé n’est partagée avec aucune autre application ou le PDPS et seule l’application de sécurité qui dispose de cette clé peut déchiffrer les données ayant été chiffrées avec cette clé. Pour garantir que cette clé maîtresse ne quitte jamais la mémoire vive et ne puisse être connue de personne, y compris de l’utilisateur concerné lui-même, la clé maîtresse est le résultat d'un calcul collaboratif entre le serveur de sécurité et le dispositif informatique, avec, en entrée de ce calcul, un mot de passe qui est saisi lors de la première connexion puis à chaque connexion ou qui est le produit de tout dispositif d’identification de l’utilisateur qui pourrait être connecté au dispositif informatique, par exemple un dispositif d’identification biométrique.
Pour initialiser l’application sécurisée d’un dispositif informatique souhaitant bénéficier du service du système sécurisé, ce dispositif informatique demande au SR, un numéro d'utilisateur unique et les clés publiques du PDPS relatives aux algorithme CASY et SASY. Ce numéro d'utilisateur unique peut être appelé numéro de licence. Ces éléments peuvent être en clair dans le transfert entre le SR et l’application sécurisée à l’origine de la demande et cette application sécurisée peut stocker ces éléments sur le disque dur sans protection particulière pour réutilisation ultérieure.
Lors de l'initialisation, par exemple après la réception du numéro d'utilisateur unique, l'utilisateur est invité à choisir un mot de passe, de sorte que l'application de sécurité reçoit le mot de passe, pwd, ou des données d’identification pouvant se condenser en une donnée unique pwd, lui applique alors une fonction de hachage à sens unique, H, et stocke le résultat du hachage, H(pwd), dans l’enclave 124.
L'application de sécurité fait en sorte qu'une version chiffrée de chacun des éléments suivants : une clé pseudo-aléatoire, M, d'une certaine longueur de bit ; le numéro d'utilisateur unique ; et une valeur h qui est la version hachée du mot de passe haché, (c'est-à-dire h = H(H(pwd))), soit transmise au PDSP distant via le SR. Les versions chiffrées de ces éléments sont obtenues à l'aide de la clé de chiffrement publique de l’algorithme CASY du PDSP distant.
Pour le processus d'initialisation au niveau du PDPS, à réception des éléments chiffrés précédents, ce dernier déchiffre ces éléments avec sa clé privée de l’algorithme CASY, 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 dans sa base de données pour autoriser ultérieurement les connexions. Ensuite, le PDPS crée des données d'initialisation. Dans une variante où les algorithmes CIN et SIN ne sont pas décomposés en deux parties, ces données d’initialisation restent vides. Dans une variante ou ces algorithmes sont décomposés en deux parties, les données d'initialisation sont les données de sortie des parties 1 des deux algorithmes, CIN1 et SIN1. Le PDPS chiffre les données d'initialisation concaténées à la valeur secrète s à l'aide d'un chiffrement symétrique utilisant la clé M, puis transmet les données chiffrées à l'application de sécurité à l’origine de la demande d’initialisation, via le SR.
Le mécanisme de déclenchement 180, 280, 380, 390 peut être similaire à celui décrit par le brevet américain n° 9 428 980 du demandeur, dont le contenu est intégralement incorporé ici par référence. Le mécanisme de déclenchement 180, 280, 380, 390 peut comprendre un mécanisme de relâchement, un embrayage à crabots, un loquet de relâchement de charge ou une pince de serrage 181, 282, 382, 391, un ou plusieurs ressorts de retenue 182, 283, 383, 392, une bague de guidage 183, 284, 384, 393, un manchon de déclenchement 184, 285, 385, 394, un dispositif de retenue de bague fendue 185, 286, 395, et un élément de sollicitation 186, 287, 386, 396. Dans les deuxième et troisième modes de réalisation, le mécanisme de déclenchement 280, 380 peut en outre comprendre une bague de compression 281, 381.
Le mécanisme de relâchement, l'embrayage à crabots, le loquet de relâchement de la charge ou la pince de serrage 181,282,382,391 peuvent être similaires à ceux décrits dans le brevet américain n°10 669 800 du demandeur, dont le contenu est intégralement incorporé ici par référence. Le mécanisme de relâchement, l'embrayage à crabots, le loquet de relâchement de charge ou la pince 181, 282, 382, 391 peuvent comprendre une pluralité de pattes de relâchement qui peuvent comprendre une pluralité de saillies de largeur variable sur une surface intérieure adaptée pour se mettre en prise dans une pluralité correspondante de rainures évidées sur une surface extérieure du mandrin de relâchement 144, 244, 344, et une pluralité de rainures sur une surface extérieure qui peuvent être adaptées pour recevoir une pluralité correspondante de saillies sur une surface intérieure du manchon de déclenchement 184, 285, 385, 394. Chacune de la pluralité de pattes de relâchement comprenant un mécanisme de relâchement, un embrayage à crabots, un loquet de relâchement de charge ou une pince 181, 282, 382, 391 peut être séparée radialement par un espace axial et peut être munie d'une pluralité de rainures plus petites sur une surface extérieure qui peuvent être adaptées pour maintenir des ressorts de retenue 182, 283, 383, 392. Les ressorts de retenue 182, 283, 383, 392 peuvent entourer circonférentiellement la pluralité de pattes de relâchement, permettant une expansion et une contraction radiales du mécanisme de relâchement, de l'embrayage à crabots, du loquet de relâchement de charge ou de la pince 181, 282, 382, 391. Un profil intérieur évidé de chacune de la pluralité de pattes de relâchement comprenant le mécanisme de relâchement, l'embrayage à crabots, le loquet de relâchement de charge ou la pince 181, 282, 382, 391 peut être adapté pour entourer les bagues de guidage 183, 284, 384, 393, les maintenant en alignement axial tout en se déplaçant le long d'une surface extérieure du mandrin de relâchement 144, 244, 344.
Le manchon de déclenchement 184, 285, 385, 394 peut être généralement tubulaire, et peut être positionné radialement entre le boîtier de déclenchement 117, 218, 318 ou le boîtier de pression 323, et le mécanisme de déclenchement, l'embrayage à crabots, le loquet de relâchement de charge, ou la pince 181, 282, 382, 391, respectivement. Le manchon de déclenchement 184, 285, 385, 394 peut être positionné axialement entre l'épaulement 117b, 218b, 318b, 323b et une surface proximale du mandrin de réglage 118, 219, du sous-ensemble de relâchement 319, ou du mandrin de réglage 324, respectivement. La douille de déclenchement 184, 285, 385, 394 se met en prise de manière coulissante dans le boîtier de relâchement 117, 218, 318 ou le boîtier de pression 323, respectivement, et est donc généralement libre de se déplacer axialement entre l'épaulement 117b, 218b, 318b, 323b et une surface proximale du mandrin de réglage 118, 219, du sous-ensemble de relâchement 319, ou du mandrin de réglage 324, respectivement, comme le permet l'élément de sollicitation 186, 287, 386, 396. Le manchon de déclenchement 184, 285, 385, 394 peut avoir une surface cylindrique radialement extérieure qui se met en prise de manière coulissante dans le boîtier de déclenchement 117, 218, 318 ou le boîtier de pression 323, respectivement, et une surface radialement intérieure qui comprend une pluralité d'évidements annulaires définissant une pluralité de brides annulaires faisant saillie radialement vers l'intérieur. Chacune de la pluralité de brides peut être disposée axialement entre chacune de la pluralité d'évidements adjacents. Comme cela sera décrit plus en détail ci-dessous, chacun de la pluralité d'évidements et de brides peut être dimensionné et configuré pour se mettre en prise de manière amovible dans une pluralité de brides et d'évidements correspondants, respectivement, prévus sur la surface radialement extérieure du mécanisme de relâchement, de l'embrayage à crabots, du loquet de relâchement de charge ou de la pince 181, 282, 382, 391.