FR3111228A1 - Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets - Google Patents
Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets Download PDFInfo
- Publication number
- FR3111228A1 FR3111228A1 FR2005886A FR2005886A FR3111228A1 FR 3111228 A1 FR3111228 A1 FR 3111228A1 FR 2005886 A FR2005886 A FR 2005886A FR 2005886 A FR2005886 A FR 2005886A FR 3111228 A1 FR3111228 A1 FR 3111228A1
- Authority
- FR
- France
- Prior art keywords
- computer program
- fingerprint
- binary form
- iot
- iot device
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
GARANTIE DE LA CONFIANCE EN UN PROGRAMME INFORMATIQUE POUR DISPOSITIFS DE L’INTERNET DES OBJETS (IDO) L’invention concerne un procédé pour une garantie de la confiance au niveau d’une source de programme informatique dans un dispositif de l’Internet des objets (IdO) qui consiste à recevoir une requête pour installer un programme informatique dans un dispositif de l’IdO et à stocker, dans une mémoire temporaire, un fichier contenant une forme binaire du programme informatique et une empreinte digitale d’authenticité incorporée en tant que partie de la forme binaire du programme informatique. Le procédé consiste en outre à extraire l’empreinte digitale d’authenticité à partir de la forme binaire du programme informatique, à récupérer une empreinte digitale différente à partir d’un stockage distant et à comparer l’empreinte digitale différente avec l’empreinte digitale extraite. Enfin, le procédé consiste à installer le programme informatique dans le dispositif de l’IdO en réponse à la comparaison indiquant que l’empreinte digitale extraite est identique à l’empreinte digitale différente, mais dans le cas contraire à rejeter la requête pour installer le programme informatique. Fig. 1
Description
ÉTAT ANTÉRIEUR
Domaine de l’invention
La présente invention se rapporte au domaine de l’Internet des objets (IdO) et plus particulièrement à la sécurisation de dispositifs de l’IdO.
Description de l’art connexe
L’IdO fait référence à une vaste toile de dispositifs connectés sur l’Internet mondial au moyen de l’instrumentation et de la connectivité de machines et dispositifs ordinaires allant des grille-pains aux automobiles. Littéralement tout ce qui peut être allumé ou éteint, une fois instrumenté pour l’IdO, permet des interactions unilatérales ou bilatérales sur l’Internet. Ces interactions peuvent aller de simplement rapporter un état d’un capteur, par exemple une valeur ordinaire, à recevoir des directives faisant effectivement fonctionner à distance un dispositif compatible avec l’IdO. Bien que les avantages de rendre une machine compatible avec l’IdO sont substantiels, ces avantages ont un prix - la création d’une vulnérabilité de sécurité dans la machine. Généralement, les dispositifs compatibles avec l’IdO incorporent un système informatique intégré d’un processeur, d’une mémoire, d’un stockage persistant et d’un système d’exploitation au travers duquel un ou plusieurs programmes informatiques peuvent s’exécuter. Mais, dans de nombreux cas, un dispositif compatible avec l’IdO ne nécessite pas de comprendre un système d’exploitation. Au contraire, dans certains cas, le dispositif compatible avec l’IdO comprend uniquement un micrologiciel apte à être chargé à l’amorçage utilisable pour réaliser des fonctions sans le chargement par la suite d’un système d’exploitation.
À cet égard, en tant qu’unité autonome, un dispositif ou une machine autonome comprenant un capteur est dans la plupart des cas insensible aux menaces à distance. Mais, comme tout autre ordinateur personnel connecté, un dispositif configuré ou une machine configurée pour l’IdO devient vulnérable aux menaces à distance dont les intrusions sur le réseau. À cet égard, comme d’autres dispositifs, un dispositif de l’IdO est apte à détecter et à dissuader d’une atteinte à son intégrité par la surveillance de l’introduction de code dans la mémoire du dispositif de l’IdO afin de détecter un code malveillant. Mais la logique de programme apte à effectuer cela est généralement incluse en tant que partie du système d’exploitation sous-jacent, ou en tant que partie d’un programme informatique exécuté sous la gestion par le système d’exploitation. Par conséquent, un code malveillant inséré subrepticement dans le dispositif de l’IdO avant le chargement du système d’exploitation -- à savoir le micrologiciel, peut éviter une détection par des contre-mesures au niveau du système d’exploitation ou post-système d’exploitation.
BREF RÉSUMÉ DE L’INVENTION
Les modes de réalisation de la présente invention abordent des lacunes dans l’état de l’art en ce qui concerne la sécurité d’un dispositif de l’IdO et fournissent un procédé, un système et un produit programme informatique nouveaux et non évidents pour une garantie de la confiance en un programme informatique dans un dispositif de l’IdO. Selon un mode de réalisation de l’invention, un procédé pour une garantie de la confiance en un programme informatique dans un dispositif de l’IdO consiste à recevoir une requête pour installer un programme informatique dans un dispositif de l’IdO et à stocker, dans une mémoire temporaire, un fichier contenant une forme binaire du programme informatique et une empreinte digitale d’authenticité incorporée au sein de la forme binaire du programme informatique. Le procédé consiste de plus à extraire l’empreinte digitale d’authenticité à partir du fichier et à récupérer une empreinte digitale différente à partir d’un stockage distant. Le procédé consiste encore en outre à comparer l’empreinte digitale extraite et l’empreinte digitale récupérée. Enfin, le procédé consiste à installer le programme informatique dans le dispositif de l’IdO en réponse à la comparaison indiquant que l’empreinte digitale extraite est identique à l’empreinte digitale différente, mais dans le cas contraire à rejeter la requête pour installer le programme informatique.
Selon un aspect du mode de réalisation, l’empreinte digitale extraite comprend des données générées au cours de la compilation du programme informatique par un compilateur du programme informatique. Par exemple, les données peuvent comprendre des paramètres établis pour mener le processus de compilation, un nombre d’erreurs de compilateur ou des avertissements de compilateur générés au cours de la compilation, un décompte d’un nombre de variables d’un type particulier déclarées pour une partie du programme informatique, un horodatage lorsque la compilation a été initiée ou achevée, un nombre de secondes consommées au cours de la compilation, ou une identité d’un développeur responsable de la compilation, pour ne citer que quelques exemples.
Selon un autre aspect du mode de réalisation, la mémoire temporaire est disposée au sein du dispositif de l’IdO. Selon encore un autre aspect du mode de réalisation, le programme informatique possède une bibliothèque compilée avec celui-ci. La bibliothèque comprend une fonction qui, au cours de la compilation, recueille au moins une valeur contextuelle de compilation et stocke la valeur contextuelle au sein de la forme binaire tout en générant également une empreinte digitale distincte externe à la forme binaire et en stockant l’empreinte digitale distincte dans un stockage distant, tel qu’au sein d’un bloc dans une chaîne de blocs. Facultativement, la valeur contextuelle est un numéro d’enregistrement d’un développeur du programme informatique, qui correspond à un curriculum vitæ électronique du développeur.
Selon un autre mode de réalisation de l’invention, un système de traitement de données est configuré pour une garantie de la confiance en un programme informatique dans un dispositif de l’IdO. Le système comprend une mémoire et au moins un processeur et un module de garantie de la confiance qui comprend des instructions de programme informatique. Les instructions permettent, lors de leur exécution dans la mémoire par l’au moins un processeur, de recevoir une requête pour installer un programme informatique dans un dispositif de l’IdO et de stocker, dans une mémoire temporaire, un fichier contenant une forme binaire du programme informatique et une empreinte digitale d’authenticité incluse en tant que partie de la forme binaire du programme informatique. Les instructions de programme permettent également d’extraire l’empreinte digitale d’authenticité à partir du fichier et de récupérer, à partir d’un stockage distant, une empreinte digitale différente. Les instructions de programme permettent encore en outre de comparer l’empreinte digitale récupérée et l’empreinte digitale extraite. Enfin, les instructions de programme permettent d’installer le programme informatique dans le dispositif de l’IdO en réponse à la comparaison indiquant que les empreintes digitales sont identiques, mais dans le cas contraire de rejeter la requête pour installer le programme informatique.
Des aspects supplémentaires de l’invention seront présentés en partie dans la description qui suit, et ressortiront en partie clairement de la description, ou peuvent être appris par la pratique de l’invention. Les aspects de l’invention seront réalisés et obtenus au moyen des éléments et combinaisons indiqués en particulier dans les revendications annexées. Il convient de comprendre qu’à la fois la description générale qui précède et la description détaillée qui suit ne sont données qu’à titre d’exemple et d’explication et ne limitent pas l’invention, telle que revendiquée.
BRÈVE DESCRIPTION DES DIFFÉRENTES VUES DES DESSINS
Les dessins annexés, qui sont incorporés et constituent une partie du mémoire descriptif, illustrent des modes de réalisation de l’invention et conjointement avec la description, servent à expliquer les principes de l’invention. Les modes de réalisation illustrés ici sont présentement préférés, étant entendu toutefois que l’invention n’est pas limitée aux agencements et instrumentalités précis présentés, dans lesquels :
DESCRIPTION DÉTAILLÉE DE L’INVENTION
Les modes de réalisation de l’invention concernent la garantie de la confiance en un programme informatique dans un dispositif de l’IdO. Conformément à un mode de réalisation de l'invention, un programme informatique destiné à un déploiement sur un dispositif de l’IdO incorpore des métadonnées de temps de compilation au sein du programme informatique et stocke simultanément les métadonnées de temps de compilation au sein d’un stockage distant. Facultativement, la fonction est incluse en tant que partie d’une bibliothèque liée à un objet compilé du programme informatique afin de produire une forme exécutable du programme informatique. Par ailleurs, au cours de la compilation et de la liaison du programme informatique, les données de temps de compilation sont émises de sorte que les métadonnées peuvent ensuite être transmises au stockage distant et utilisées par la suite pour tester l’authenticité du programme informatique par la comparaison des données émises avec celles stockées au sein du programme informatique lui-même. De cette manière, le dispositif de l’IdO peut être garanti d’un déploiement authentique et sécurisé du programme informatique exempt de falsification inconnue.
À titre d’illustration supplémentaire, la illustre de façon imagée un processus pour une garantie de la confiance en un programme informatique dans un dispositif de l’IdO. Comme le montre la , un programme informatique 100 comprend un code source définissant un point d’entrée 100A dans le programme informatique et une ou plusieurs fonctions différentes 100B. Une bibliothèque de garantie de la confiance 110, à son tour, fournit une fonction de temps de compilation 110A et des données de garantie 110B. À cet égard, la fonction de temps de compilation 110A comprend des instructions de programme conçues, au cours du temps de compilation, pour capturer des métadonnées se rapportant à la compilation du programme informatique 100 en un objet de l’IdO compilé 130 et pour écrire les métadonnées capturées en tant que données de garantie 110B dans un objet de bibliothèque de garantie de la confiance compilé résultant 140. La fonction de temps de compilation 110A émet en outre, au temps de compilation, une copie des données de garantie 110B pour un stockage distant distinct à la fois de l’objet compilé de programme de l’IdO 130 et également de l’objet de bibliothèque compilé 140 au sein d’un bloc d’une chaîne de blocs 180 à un emplacement spécifique adressable par réseau.
Un éditeur de liens 150 relie ensuite ensemble l’objet de l’IdO compilé 130 et l’objet de bibliothèque de garantie de la confiance compilé 140 pour produire une application exécutable 190 incorporant les données de garantie 110B en tant qu’empreinte digitale d’authenticité. Par la suite, en réponse à une requête 160 pour installer l’application exécutable 190 sur un dispositif de l’IdO 170, les données de garantie 110B sont extraites de l’application exécutable 190 et les données de garantie stockées de manière distante 110C peuvent être récupérées à partir de la chaîne de blocs 180 à l’adresse réseau pour une comparaison avec les données de garantie extraites 110B. Dans la mesure où l’opération de comparaison 195 agissant sur les données de garantie 110C issues de la chaîne de blocs 180 et les données de garantie 110B extraites de l’application exécutable 190 produit une correspondance, une indication de garantie est renvoyée - une construction admissible de l’application exécutable 190, mais dans le cas contraire, une indication d’échec est renvoyée.
Le processus décrit en relation avec la peut être mis en œuvre dans un système de traitement de données informatique. À titre d’illustration supplémentaire, la illustre de façon schématique un système de traitement de données configuré pour une garantie de la confiance en un programme informatique dans un dispositif de l’IdO. Le système comprend un dispositif compatible avec l’IdO 200 qui comprend un processeur 220, une mémoire 230, un stockage fixe 240, des communications sans fil 250 et un micrologiciel 270. Le dispositif compatible avec l’IdO 200 est couplé en communication avec un serveur distant 210 sur un réseau de communication informatique 260. Le serveur distant 210 comprend un compilateur/éditeur de liens 290 s’exécutant dans le serveur distant 210 et utilisable pour compiler un code source 285 et une bibliothèque de garantie de la confiance 280 en objets de programme respectifs et pour lier ces objets en un programme informatique pour un déploiement dans le dispositif compatible avec l’IdO 200 en tant que micrologiciel 270.
À cet égard, au cours de la compilation de la bibliothèque de garantie de la confiance 280 par le compilateur/éditeur de liens 290, des métadonnées contemporaines de la compilation de la bibliothèque de garantie de la confiance 280 et du code source 285 peuvent être sélectionnées et incorporées dans le programme informatique résultant en tant qu’empreinte digitale d’authenticité représentative de données de garantie de la confiance. Des métadonnées à titre d’exemple comprennent un état de registre au moment de la compilation, un nombre de lignes du code source 285, une heure du jour et une date de la compilation, une identité d’un développeur du code source 285, un nombre d’avertissements du compilateur générés au cours de la compilation, ou une valeur de hachage d’une partie ou de la totalité du code source 285, pour ne citer que quelques exemples. Par ailleurs, au cours de la compilation, les métadonnées peuvent être émises en un fichier textuel qui est distinct de la forme compilée résultante de la bibliothèque de garantie de la confiance 280 et du code source 285 et stockées à distance dans un bloc 275 d’une chaîne de blocs accessible à une adresse réseau spécifiée.
Il convient de noter que le système comprend également un module de garantie de la confiance au niveau d’une source 300. Le module de garantie de la confiance au niveau d’une source 300 comprend des instructions de programme informatique utilisables, au cours de leur exécution par le serveur distant 210, ou facultativement au cours de leur exécution par le processeur 220 du dispositif compatible avec l’IdO 200, pour recevoir une requête pour installer un programme informatique en tant que micrologiciel 270 du dispositif compatible avec l’IdO 200. Les instructions de programme permettent de répondre à la requête par l’extraction à partir de celle-ci de l’empreinte digitale d’authenticité indicative des données de garantie de la confiance et de récupérer une empreinte digitale distante à partir d’une adresse spécifiée sur le bloc 275. Les instructions de programme permettent encore en outre de comparer l’empreinte digitale extraite avec l’empreinte digitale récupérée pour déterminer si les données de garantie de l’empreinte digitale extraite correspondent aux métadonnées stockées au sein de l’empreinte digitale récupérée. Les instructions de programme permettent encore même en outre de refuser l’installation du programme informatique en tant que micrologiciel 270 à la condition que les données de garantie de l’empreinte digitale d’authenticité extraites à partir du micrologiciel 270 ne correspondent pas aux métadonnées stockées au sein de l’empreinte digitale récupérée.
À titre d’encore une autre illustration supplémentaire du fonctionnement du module de garantie de la confiance au niveau d’une source 300, la est un organigramme illustrant un processus pour la garantie de la confiance en un programme informatique d’un dispositif de l’IdO. En commençant au bloc 310, une requête est reçue pour installer un micrologiciel sur un dispositif de l’IdO. Au bloc 320, une adresse est reçue avec la requête et est utilisée pour récupérer, à partir d’un bloc sur la chaîne de blocs, une empreinte digitale disposée à distance. Au bloc 330, un identifiant de développeur est localisé dans des données de garantie de l’empreinte digitale récupérée et au bloc 340, une interrogation Internet est délivrée en correspondance avec l’identifiant de développeur afin de récupérer un curriculum vitæ de développeur identifiant le développeur et une évaluation publiée pour le développeur. Au bloc 350, le développeur et l’évaluation sont inclus dans une invite pour une interface utilisateur du module de garantie de la confiance au niveau d’une source.
Au bloc de décision 360, il est déterminé s’il faut poursuivre ou non une tentative de déployer le micrologiciel par rapport au curriculum vitæ de développeur de l’invite. Si tel n’est pas le cas, la requête pour déployer le micrologiciel est rejetée au bloc 410. Mais dans le cas contraire, au bloc 370, une empreinte digitale d’authenticité est extraite à partir du sein du micrologiciel lui-même. Ensuite, au bloc 380, l’empreinte digitale extraite est comparée avec l’empreinte digitale récupérée à partir du bloc sur la chaîne de blocs. Au bloc de décision 390, il est déterminé si une correspondance est renvoyée. Si tel est le cas, au bloc 400, le micrologiciel est installé sur le dispositif de l’IdO. Mais dans le cas contraire, l’installation est rejetée au bloc 410.
La présente invention peut être incorporée dans un système, un procédé, un produit programme informatique ou toute combinaison de ceux-ci. Le produit programme informatique peut comprendre un support ou des supports de stockage lisibles par ordinateur ayant des instructions de programme lisibles par ordinateur en son sein ou en leur sein pour amener un processeur à mettre en œuvre des aspects de la présente invention. Le support de stockage lisible par ordinateur peut être un dispositif tangible qui peut retenir et stocker des instructions destinées à être utilisées par un dispositif d’exécution d’instructions. Le support de stockage lisible par ordinateur peut être, par exemple, mais n’est pas limité à, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi-conducteurs, ou toute combinaison appropriée de ceux-ci.
Les instructions de programme lisibles par ordinateur décrites ici peuvent être téléchargées vers des dispositifs informatiques/de traitement respectifs à partir d’un support de stockage lisible par ordinateur ou vers un ordinateur externe ou un dispositif de stockage externe par l’intermédiaire d’un réseau. Les instructions de programme lisibles par ordinateur peuvent s’exécuter entièrement sur l’ordinateur de l’utilisateur, partiellement sur l’ordinateur de l’utilisateur, en tant que progiciel autonome, partiellement sur l’ordinateur de l’utilisateur et partiellement sur un ordinateur distant ou entièrement sur l’ordinateur ou le serveur distant. Des aspects de la présente invention sont décrits ici en référence aux illustrations d’organigramme et/ou aux schémas fonctionnels de procédés, d’appareils (systèmes), et de produits programmes informatiques selon les modes de réalisation de l’invention. On comprendra que chaque bloc des illustrations d’organigramme et/ou des schémas fonctionnels, et des combinaisons de blocs dans les illustrations d’organigramme et/ou les schémas fonctionnels, peuvent être mis en œuvre par des instructions de programme lisibles par ordinateur.
Ces instructions de programme lisibles par ordinateur peuvent être fournies à un processeur d’un ordinateur universel, d’un ordinateur à usage spécial, ou d’un autre appareil de traitement de données programmable pour produire une machine, de telle sorte que les instructions, qui s’exécutent par l’intermédiaire du processeur de l’ordinateur ou de l’autre appareil de traitement de données programmable, créent des moyens pour la mise en œuvre des fonctions/actes spécifiés dans le bloc ou les blocs d’organigramme et/ou de schéma fonctionnel. Ces instructions de programme lisibles par ordinateur peuvent également être stockées dans un support de stockage lisible par ordinateur qui peut ordonner à un ordinateur, un appareil de traitement de données programmable, et/ou d’autres dispositifs de fonctionner d’une manière particulière, de telle sorte que le support de stockage lisible par ordinateur ayant des instructions stockées en son sein comprend un article manufacturé comprenant des instructions qui mettent en œuvre des aspects de la fonction/de l’acte spécifié dans le bloc ou les blocs d’organigramme et/ou de schéma fonctionnel.
Les instructions de programme lisibles par ordinateur peuvent également être chargées sur un ordinateur, un autre appareil de traitement de données programmable, ou un autre dispositif pour amener une série d’étapes fonctionnelles à être effectuées sur l’ordinateur, l’autre appareil programmable ou l’autre dispositif afin de produire un processus mis en œuvre par ordinateur, de telle sorte que les instructions qui s’exécutent sur l’ordinateur, l’autre appareil programmable, ou l’autre dispositif mettent en œuvre les fonctions/actes spécifiés dans le bloc ou les blocs d’organigramme et/ou de schéma fonctionnel.
L’organigramme et les schémas fonctionnels sur les Figures illustrent l’architecture, la fonctionnalité, et le fonctionnement de possibles mises en œuvre de systèmes, procédés, et produits programmes informatiques selon divers modes de réalisation de la présente invention. À cet égard, chaque bloc dans l’organigramme ou les schémas fonctionnels peut représenter un module, un segment, ou une partie d’instructions, qui comprend une ou plusieurs instructions exécutables pour la mise en œuvre de la ou des fonction(s) logique(s) spécifiée(s). Dans certaines variantes de mise en œuvre, les fonctions notées dans le bloc peuvent se produire dans un autre ordre que celui noté sur les Figures. Par exemple, deux blocs représentés en succession peuvent, en fait, être exécutés sensiblement simultanément, ou les blocs peuvent parfois être exécutés dans l’ordre inverse, en fonction de la fonctionnalité impliquée. On notera également que chaque bloc des schémas fonctionnels et/ou de l’illustration d’organigramme, et des combinaisons de blocs dans les schémas fonctionnels et/ou l’illustration d’organigramme, peuvent être mis en œuvre par des systèmes à base de matériel à usage spécial qui effectuent les fonctions ou actes spécifiés ou mettent en œuvre des combinaisons d’instructions informatiques et de matériel à usage spécial.
Les structures, matériaux, actes, et équivalents correspondants de tous moyens ou les éléments étape plus fonction dans les revendications ci-dessous sont destinés à comprendre toute structure, matériau, ou acte pour réaliser la fonction en combinaison avec d’autres éléments revendiqués comme spécifiquement revendiqué. La description de la présente invention a été présentée à des fins d’illustration et de description, mais n’est pas destinée à être exhaustive ou limitée à l’invention sous la forme divulguée. De nombreuses modifications et variations apparaîtront à l’homme du métier sans s’écarter de la portée et de l’esprit de l’invention. Le mode de réalisation a été choisi et décrit afin d’expliquer au mieux les principes de l’invention et l’application pratique, et pour permettre à d’autres hommes du métier de comprendre l’invention pour divers modes de réalisation avec diverses modifications telles qu’appropriées pour l’utilisation particulière envisagée.
En ayant ainsi décrit l’invention de la présente demande en détail et en référence aux modes de réalisation de celle-ci, il apparaîtra que des modifications et des variations sont possibles sans s’écarter de la portée de l’invention définie dans les revendications annexées comme suit.
Claims (20)
- Procédé pour une garantie de la confiance au niveau d’une source de programme informatique dans un dispositif instrumenté de l’Internet des objets (IdO), le procédé comprenant les étapes consistant à :
recevoir une requête pour installer un programme informatique dans un dispositif de l’IdO ;
stocker, dans une mémoire temporaire, un fichier contenant une forme binaire du programme informatique et une empreinte digitale d’authenticité incluse en tant que partie de la forme binaire du programme informatique ;
extraire l’empreinte digitale d’authenticité à partir de la forme binaire du programme informatique et récupérer une empreinte digitale différente à partir d’un stockage distant ;
comparer l’empreinte digitale différente avec l’empreinte digitale extraite ; et,
installer le programme informatique dans le dispositif de l’IdO en réponse à la comparaison indiquant que l’empreinte digitale extraite est identique à l’empreinte digitale différente, mais dans le cas contraire rejeter la requête pour installer le programme informatique. - Procédé selon la revendication 1, dans lequel l’empreinte digitale extraite comprend des données générées au cours de la compilation du programme informatique par un compilateur du programme informatique.
- Procédé selon la revendication 2, dans lequel le stockage distant est un bloc adressable par réseau dans une chaîne de blocs.
- Procédé selon la revendication 1, dans lequel la mémoire temporaire est disposée au sein du dispositif de l’IdO.
- Procédé selon la revendication 2, dans lequel le programme informatique possède une bibliothèque compilée avec celui-ci, la bibliothèque comprenant une fonction qui, au cours de la compilation, recueille au moins une valeur contextuelle de compilation et stocke la valeur contextuelle au sein de la forme binaire tout en générant également une empreinte digitale distincte externe à la forme binaire, la bibliothèque comprenant également une fonction qui écrit l’empreinte digitale distincte dans le bloc.
- Procédé selon la revendication 5, dans lequel la valeur contextuelle incorpore des informations relatives à au moins un avertissement de compilateur généré au cours de la compilation.
- Procédé selon la revendication 5, dans lequel la valeur contextuelle est un numéro d’enregistrement d’un développeur du programme informatique correspondant à un curriculum vitæ électronique du développeur.
- Système de traitement de données configuré pour une garantie de la confiance au niveau d’une source de programme informatique dans un dispositif instrumenté de l’Internet des objets (IdO), le système comprenant :
une mémoire et au moins un processeur ; et,
un module de garantie de la confiance au niveau d’une source comprenant des instructions de programme informatique permettant, lors de leur exécution dans la mémoire par l’au moins un processeur, de réaliser les étapes consistant à :
recevoir une requête pour installer un programme informatique dans un dispositif de l’IdO ;
stocker, dans une mémoire temporaire, un fichier contenant une forme binaire du programme informatique et une empreinte digitale incluse en tant que partie de la forme binaire du programme informatique ;
extraire l’empreinte digitale d’authenticité à partir de la forme binaire du programme informatique et récupérer une empreinte digitale différente à partir d’un stockage distant dans la mémoire temporaire ;
comparer l’empreinte digitale différente avec l’empreinte digitale extraite ; et,
installer le programme informatique dans le dispositif de l’IdO en réponse à la comparaison indiquant que l’empreinte digitale extraite est identique à l’empreinte digitale différente, mais dans le cas contraire rejeter la requête pour installer le programme informatique. - Système selon la revendication 8, dans lequel l’empreinte digitale extraite comprend des données générées au cours de la compilation du programme informatique par un compilateur du programme informatique.
- Système selon la revendication 9, dans lequel le stockage distant est un bloc adressable par réseau dans une chaîne de blocs.
- Système selon la revendication 8, dans lequel la mémoire temporaire est disposée au sein du dispositif de l’IdO.
- Système selon la revendication 9, dans lequel le programme informatique possède une bibliothèque compilée avec celui-ci, la bibliothèque comprenant une fonction qui écrit l’empreinte digitale distincte dans le bloc.
- Système selon la revendication 10, dans lequel l’empreinte digitale extraite fait référence à une construction particulière du programme informatique correspondant à un niveau spécifié de sécurité requise pour le dispositif de l’IdO.
- Produit programme informatique pour une garantie de la confiance au niveau d’une source dans un dispositif instrumenté de l’Internet des objets (IdO), le produit programme informatique comprenant un support de stockage lisible par ordinateur ayant des instructions de programme incorporées dans celui-ci, les instructions de programme pouvant être exécutées par un dispositif pour amener le dispositif à réaliser un procédé comprenant les étapes consistant à :
recevoir une requête pour installer un programme informatique dans un dispositif de l’IdO ;
stocker, dans une mémoire temporaire, un fichier contenant une forme binaire du programme informatique et une empreinte digitale d’authenticité incluse en tant que partie de la forme binaire du programme informatique ;
extraire l’empreinte digitale d’authenticité à partir de la forme binaire du programme informatique et récupérer une empreinte digitale différente à partir d’un stockage distant ;
comparer l’empreinte digitale différente avec l’empreinte digitale extraite ; et,
installer le programme informatique dans le dispositif de l’IdO en réponse à la comparaison indiquant que l’empreinte digitale extraite est identique à l’empreinte digitale différente, mais dans le cas contraire rejeter la requête pour installer le programme informatique. - Produit programme informatique selon la revendication 14, dans lequel l’empreinte digitale extraite comprend des données générées au cours de la compilation du programme informatique par un compilateur du programme informatique.
- Produit programme informatique selon la revendication 15, dans lequel le stockage distant est un bloc adressable par réseau dans une chaîne de blocs.
- Produit programme informatique selon la revendication 14, dans lequel la mémoire temporaire est disposée au sein du dispositif de l’IdO.
- Produit programme informatique selon la revendication 15, dans lequel le programme informatique possède une bibliothèque compilée avec celui-ci, la bibliothèque comprenant une fonction qui écrit l’empreinte digitale distincte dans le bloc.
- Produit programme informatique selon la revendication 18, dans lequel la valeur contextuelle incorpore des informations relatives à au moins un avertissement de compilateur généré au cours de la compilation.
- Produit programme informatique selon la revendication 18, dans lequel la valeur contextuelle est un numéro d’enregistrement d’un développeur du programme informatique correspondant à un curriculum vitæ électronique du développeur.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2005886A FR3111228B1 (fr) | 2020-06-05 | 2020-06-05 | Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets |
CA3121054A CA3121054A1 (fr) | 2020-06-05 | 2021-06-04 | Assurance de fiabilite de programmes pour des dispositifs de l'internet des objets |
DE102021114574.0A DE102021114574A1 (de) | 2020-06-05 | 2021-06-07 | Computer programm trust assurance für internet der dinge (iot) devices |
GB2108099.9A GB2599195B (en) | 2020-06-05 | 2021-06-07 | Computer program trust assurance for Internet of Things (IoT) devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2005886A FR3111228B1 (fr) | 2020-06-05 | 2020-06-05 | Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets |
FR2005886 | 2020-06-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3111228A1 true FR3111228A1 (fr) | 2021-12-10 |
FR3111228B1 FR3111228B1 (fr) | 2022-07-22 |
Family
ID=73698895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2005886A Active FR3111228B1 (fr) | 2020-06-05 | 2020-06-05 | Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets |
Country Status (4)
Country | Link |
---|---|
CA (1) | CA3121054A1 (fr) |
DE (1) | DE102021114574A1 (fr) |
FR (1) | FR3111228B1 (fr) |
GB (1) | GB2599195B (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3135546A1 (fr) * | 2022-05-13 | 2023-11-17 | Psa Automobiles Sa | Procédé d’autorisation d’installation d’un logiciel dans un véhicule automobile, dispositif, véhicule et système associés |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191942A1 (en) * | 2002-04-03 | 2003-10-09 | Saurabh Sinha | Integrity ordainment and ascertainment of computer-executable instructions |
US20170277890A1 (en) * | 2014-09-25 | 2017-09-28 | Synopsys, Inc. | Method for Testing computer program product |
-
2020
- 2020-06-05 FR FR2005886A patent/FR3111228B1/fr active Active
-
2021
- 2021-06-04 CA CA3121054A patent/CA3121054A1/fr active Pending
- 2021-06-07 GB GB2108099.9A patent/GB2599195B/en active Active
- 2021-06-07 DE DE102021114574.0A patent/DE102021114574A1/de active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191942A1 (en) * | 2002-04-03 | 2003-10-09 | Saurabh Sinha | Integrity ordainment and ascertainment of computer-executable instructions |
US20170277890A1 (en) * | 2014-09-25 | 2017-09-28 | Synopsys, Inc. | Method for Testing computer program product |
Non-Patent Citations (1)
Title |
---|
YOHAN ALEXANDER ET AL: "An Over-the-Blockchain Firmware Update Framework for IoT Devices", 2018 IEEE CONFERENCE ON DEPENDABLE AND SECURE COMPUTING (DSC), IEEE, 10 December 2018 (2018-12-10), pages 1 - 8, XP033506588, DOI: 10.1109/DESEC.2018.8625164 * |
Also Published As
Publication number | Publication date |
---|---|
GB2599195A (en) | 2022-03-30 |
CA3121054A1 (fr) | 2021-12-05 |
GB202108099D0 (en) | 2021-07-21 |
GB2599195B (en) | 2023-01-25 |
FR3111228B1 (fr) | 2022-07-22 |
DE102021114574A1 (de) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488578A (zh) | 现代应用程序的连续漏洞管理 | |
EP2084644B1 (fr) | Outil informatique de gestion de documents numeriques | |
Zerouali et al. | On the impact of security vulnerabilities in the npm and RubyGems dependency networks | |
FR2977694A1 (fr) | Microprocesseur protege contre un debordement de pile | |
CN109145604A (zh) | 一种勒索软件智能检测方法及系统 | |
EP3885953A1 (fr) | Procédé et dispositif de contrôle dynamique, au niveau fichier, de l'intégrité de fichiers de programme dans une mémoire persistante d'un ordinateur, programme d'ordinateur et ordinateur l'incorporant | |
CN107944278A (zh) | 一种内核漏洞检测方法及装置 | |
FR3111228A1 (fr) | Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets | |
CN116382755A (zh) | 基于漏洞防护的国产操作系统补丁升级方法 | |
CN111859399A (zh) | 一种基于oval的漏洞检测方法及装置 | |
US9621677B1 (en) | Monitoring accesses to computer source code | |
CN111931192B (zh) | rootkit检测方法、装置及电子设备 | |
EP2797018B1 (fr) | Procede et systeme de simulation des effets d'une attaque sur un code informatique | |
CN110008108B (zh) | 回归范围确定方法、装置、设备及计算机可读存储介质 | |
US11250127B2 (en) | Binary software composition analysis | |
CN113268737A (zh) | 环境安全验证方法、系统和客户端 | |
Davies | Measuring subversions: security and legal risk in reused software artifacts | |
US11256492B2 (en) | Computer program trust assurance for internet of things (IoT) devices | |
WO2008125479A1 (fr) | Procédé d'exécution sécurisée d'une application | |
FR2944117A1 (fr) | Procedes et dispositifs de gestion d'evenements lies a la securite des systemes informatiques d'aeronefs | |
CA2154852A1 (fr) | Procede de detection des sequences completes et des sequences d'echec dans un systeme de reconnaissance de situations | |
CN117493163A (zh) | 一种基于蜕变关系的智能合约数字资产缺陷检测方法及装置 | |
FR2926381A1 (fr) | Methode de transfert securise de donnees | |
FR2974648A1 (fr) | Protection d'une memoire vive contre des attaques par injection de fautes | |
FR3028971A1 (fr) | Procede et systeme de mise a jour d'une application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20211210 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |