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 PDF

Info

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
Application number
FR2005886A
Other languages
English (en)
Other versions
FR3111228B1 (fr
Inventor
Jenny Rainbird
Alexander Papageorgiou
Konstantinos Loupos
Patrick J. O’Sullivan
Antonios Mygiakis
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.)
Inlecom Systems Ltd
Original Assignee
Inlecom Systems Ltd
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 Inlecom Systems Ltd filed Critical Inlecom Systems Ltd
Priority to FR2005886A priority Critical patent/FR3111228B1/fr
Priority to CA3121054A priority patent/CA3121054A1/fr
Priority to DE102021114574.0A priority patent/DE102021114574A1/de
Priority to GB2108099.9A priority patent/GB2599195B/en
Publication of FR3111228A1 publication Critical patent/FR3111228A1/fr
Application granted granted Critical
Publication of FR3111228B1 publication Critical patent/FR3111228B1/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/51Monitoring 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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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/64Protecting 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

GARANTIE DE LA CONFIANCE EN UN PROGRAMME INFORMATIQUE POUR DISPOSITIFS DE L’INTERNET DES OBJETS (IDO)
É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 :
est une illustration imagée d’un processus pour une garantie de la confiance en un programme informatique dans un dispositif de l’IdO ;
est une illustration schématique d’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 ; et,
est un organigramme illustrant un processus pour une garantie de la confiance en un programme informatique dans un dispositif de l’IdO.
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)

  1. 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.
  2. 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.
  3. Procédé selon la revendication 2, dans lequel le stockage distant est un bloc adressable par réseau dans une chaîne de blocs.
  4. Procédé selon la revendication 1, dans lequel la mémoire temporaire est disposée au sein du dispositif de l’IdO.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. Système selon la revendication 9, dans lequel le stockage distant est un bloc adressable par réseau dans une chaîne de blocs.
  11. Système selon la revendication 8, dans lequel la mémoire temporaire est disposée au sein du dispositif de l’IdO.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. Produit programme informatique selon la revendication 14, dans lequel la mémoire temporaire est disposée au sein du dispositif de l’IdO.
  18. 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.
  19. 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.
  20. 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.
FR2005886A 2020-06-05 2020-06-05 Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets Active FR3111228B1 (fr)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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