Brevet FR3119061A1 — publié le 20220722

L’invention concerne un procédé pour sécuriser l’utilisation d’un module IoT (1) connecté à une chaine de blocs, ledit procédé prévoyant de : créer dans la chaine de blocs un coffre-fort numérique IoT (2) pour le module IoT (1) ; enregistrer dans un coffre-fort central (10) une adresse numérique (9) du coffre-fort IoT (2), associée à un identifiant numérique (4) d’un utilisateur (5) dudit module IoT sur la chaine de blocs ; communiquer l’adresse numérique (9) du coffre-fort IoT (2) audit utilisateur ; créer une paire de clés cryptographiques publique (13a) et privée (13b) liées au module IoT (1) et compatibles avec la chaîne de blocs ; enregistrer la clé publique (13a) liée audit module IoT dans le coffre-fort IoT (2) ; appairer le module IoT (1) avec le coffre-fort IoT (2), en associant la clé publique (13a) liée audit module IoT à l’adresse numérique (9) du coffre-fort IoT (2) dans le coffre-fort central (10). Figure 1 Procédé pour sécuriser l’utilisation d’un module IoT connecté à une chaîne de blocs L’invention concerne un procédé pour sécuriser l’utilisation d’un module connecté à une chaîne de blocs, ainsi qu’une architecture comprenant des moyens pour mettre en œuvre un tel procédé. Les chaines de blocs (pour l’anglais « blockchain ») sont des technologies qui permettent à leurs utilisateurs de stocker et transmettre des données de manière sécurisée et sans organe central de contrôle, grâce à une base de données distribuée dont les informations envoyées par les utilisateurs et les liens internes sont vérifiés et groupés à intervalles de temps réguliers en blocs, formant ainsi une chaîne (voir notamment l’article « Blockchain » sur le site de l’encyclopédie collaborative Wikipedia et l’article du journal en ligne « Le Journal du Net » disponible à l’adresse https://www.journaldunet.com/economie/finance/1195520-blockchain-avril-2019/). Cette technologie en pleine expansion est notamment utilisée pour permettre aux utilisateurs de réaliser des transactions, validées par un mécanisme de consensus entre des nœuds de la chaîne (appelés « mineurs »), et trouve plus particulièrement son application dans la création et la gestion de monnaies virtuelles, ou crypto-monnaies, telles que par exemple le Bitcoin, Ether, Monero ou encore Peercoin (ou PPcoin). Par ailleurs, avec le développement de la technologie dite « Internet des Objets » (IoT, pour l’anglais « Internet of Things »), de plus en plus de modules électroniques, matériels ou logiciels, sont utilisables à la fois de façon locale et en ligne, notamment via une connexion dudit module à un réseau d’accès à Internet. C’est notamment le cas pour les terminaux mobiles tels que les téléphones portables dits « intelligents » (pour l’anglais « smartphone ») ou les tablettes numériques, mais également pour d’autres types de modules matériels, tels que par exemple les consoles de jeux portables ou de salon, ou encore des modules logiciels, tels que des applications utilisables au moyen d’un smartphone ou d’une tablette. Pour limiter les risques de piratage de ces modules IoT, il est nécessaire d’en sécuriser l’utilisation. Pour ce faire, il est possible d’intégrer ces modules IoT dans une chaîne de blocs, au moyen d’une paire de clés crytographiques liées à chaque module IoT et compatible avec ladite chaîne de blocs. Cette solution ne donne pas entière satisfaction, dans la mesure où le fonctionnement d’une chaîne de blocs nécessite de renouveler régulièrement les clés d’accès à ladite chaîne de blocs, soit après un certain temps ou en cas d’incident ponctuel ayant entraîné la perte desdites clés, par exemple suite à une coupure de courant. Ainsi, après un renouvellement de clés, un module IoT risque de ne pas être reconnu par les autres utilisateurs de la chaîne de blocs. L’invention vise à perfectionner l’art antérieur en proposant notamment un procédé permettant de sécuriser facilement l’utilisation d’un module IoT en ligne via une chaîne de blocs, et ce indépendamment de ses clés d’accès à ladite chaîne de blocs. A cet effet, selon un premier aspect, l’invention propose un procédé pour sécuriser l’utilisation d’un module IoT connecté à une chaine de blocs, ledit procédé prévoyant de : créer dans la chaine de blocs un coffre-fort numérique IoT pour le module IoT ; enregistrer dans un coffre-fort central une adresse numérique du coffre-fort IoT, associée à un identifiant numérique d’un utilisateur dudit module IoT sur la chaine de blocs ; communiquer l’adresse numérique du coffre-fort IoT audit utilisateur ; créer une paire de clés cryptographiques publique et privée liées au module IoT et compatibles avec la chaîne de blocs ; enregistrer la clé publique liée audit module IoT dans le coffre-fort IoT ; appairer le module IoT avec le coffre-fort IoT, en associant la clé publique liée audit module IoT à l’adresse numérique du coffre-fort IoT dans le coffre-fort central. Selon un deuxième aspect, l’invention propose une architecture pour sécuriser l’utilisation d’un module IoT connecté à une chaine de blocs, ladite architecture comprenant une plateforme de fourniture d’un service de coffre-fort numérique, ladite plateforme comprenant : des moyens pour créer dans la chaine de blocs un coffre-fort numérique IoT pour le module IoT ; des moyens pour enregistrer dans un coffre-fort central une adresse numérique du coffre-fort IoT, associée à un identifiant numérique d’un utilisateur dudit module IoT sur la chaine de blocs ; des moyens pour communiquer l’adresse numérique du coffre-fort IoT audit utilisateur ; ledit module IoT comprenant : des moyens pour créer une paire de clés cryptographiques publique et privée liées au module IoT et compatibles avec la chaîne de blocs ; des moyens pour fournir ladite clé publique à l’utilisateur ; ladite architecture comprenant en outre un terminal qui comprend des moyens pour permettre à l'utilisateur de : recevoir l’adresse numérique du coffre-fort IoT communiquée par la plateforme ; enregistrer la clé publique liée audit module IoT dans le coffre-fort IoT ; appairer le module IoT avec le coffre-fort IoT, en associant la clé publique liée audit module IoT à l’adresse numérique du coffre-fort IoT dans le coffre-fort central. D’autres particularités et avantages de l’invention apparaîtront dans la description qui suit, faite en référence aux figures 1 et 2 annexées, qui représentent chacune de façon schématique un procédé et une architecture selon respectivement un mode de réalisation de l’invention. En relation avec ces figures, on décrit ci-dessous un procédé pour sécuriser l’utilisation d’un module IoT 1 connecté à une chaîne de blocs, ainsi qu’une architecture comprenant des moyens pour mettre en œuvre un tel procédé. Le module IoT 1 peut être un appareil matériel pourvu de moyens de connexion à un réseau informatique lié à Internet, par exemple via un protocole de connexion sans fil de type Bluetooth® ou Wi-Fi®. Le module IoT 1 peut être par exemple un terminal mobile tel qu’un téléphone portable de type « smartphone » ou une tablette numérique, ou un autre type d’appareil tel qu’une console de jeux portable ou de salon. Le module IoT 1 peut également être un logiciel utilisable en ligne, tel que par exemple une application installée sur un smartphone ou d’une tablette. Le procédé prévoit de créer dans la chaîne de blocs un coffre-fort numérique IoT 2 pour le module IoT 1. Pour ce faire, l’architecture comprend une plateforme 3 de fourniture d’un service de coffre-fort numérique sur la chaîne de blocs, ladite plateforme comprenant des moyens pour créer un tel coffre-fort IoT 2. En particulier, le procédé prévoit de créer le coffre-fort IoT 2 avec une adresse numérique 4 de l’utilisateur 5 du module IoT 1 sur la chaîne de blocs. Cette adresse numérique 4, également appelée clé publique, est liée par des fonctions mathématiques à une clé privée connue uniquement de l’utilisateur 5. Ces clés peuvent notamment être créées sous le contrôle de l’utilisateur 5 dans un terminal 6 dudit utilisateur, par exemple un téléphone portable de type « smartphone », l’utilisateur 5 n’utilisant que la clé publique 4 pour interagir avec la chaîne de blocs et le reste du système. De ce fait, la clé privée ne quitte jamais le terminal 6, ce qui garantit à l’utilisateur 5 une sécurité optimale. Pour ce faire, le terminal 6 peut comprendre des moyens, notamment intégrés dans une application installée sur ledit terminal, pour permettre à l’utilisateur 5 de créer ou d’entrer en possession d’une telle paire de clés sous le contrôle dudit utilisateur. Par ailleurs, la clé publique 4 peut être enregistrée dans un coffre-fort numérique 7 spécifique de la chaîne de blocs, notamment en y étant associée à une identité numérique de l’utilisateur 5 indépendante de la chaîne de blocs, par exemple ses identifiants sur une plateforme tierce d’un autre service en ligne, ce qui permet audit utilisateur de se connecter à la chaîne de blocs au moyen de ces identifiants, au besoin en évitant d’avoir recours à ladite clé publique. Dans les modes de réalisation représentés, le procédé prévoit l’envoi d’une requête 8 par l’utilisateur 5 pour initier la création du coffre-fort IoT 2 pour le module IoT 1. Pour ce faire, le terminal 6 comprend des moyens pour permettre à l’utilisateur 5 d’envoyer une telle requête 8 à la plateforme 3, ladite requête comprenant notamment l’adresse numérique 4 dudit utilisateur sur la chaîne de blocs, afin de permettre à la plateforme 3 de créer le coffre-ofrt Io2 avec ladite adresse numérique comme adresse parente. En particulier, le terminal 6 peut comprendre des moyens pour se connecter à la plateforme 3 par l’intermédiaire d’une interface de programmation adaptée (API, pour l’anglais « Application Programming Interface »). Le coffre-fort IoT 2 représente le module IoT 1 sur la chaîne de blocs, et permet notamment audit module d’être reconnu par tous les utilisateurs de ladite chaîne de blocs, et ce durant toute la durée de son utilisation. Pour que ce coffre-fort IoT 2 puisse remplir correctement son rôle, il est nécessaire que son adresse numérique 9 sur la chaîne de blocs soit connue non seulement de l’utilisateur 5, mais également du module IoT 1 lui-même, notamment pour pouvoir renseigner cette adresse 9 dans les programmes informatiques internes dudit module IoT. Pour ce faire, le procédé prévoit d’enregistrer l’adresse numérique 9 dans un coffre-fort central 10 de la chaîne de blocs, ladite adresse étant associée à un identifiant numérique de l’utilisateur 5 sur la chaîne de blocs, par exemple la clé publique 4 mentionnée précédemment. En particulier, la plateforme 3 comprend des moyens pour permettre la création d’un tel coffre-fort central 10, par exemple par un administrateur de la plateforme 3, ainsi que des moyens pour enregistrer dans ce coffre-fort central 10 l’adresse numérique 9 du coffre-fort IoT 2, par exemple par l’envoi d’une notification 11 adaptée, afin que ladite adresse soit associée à la clé publique 4 de l’utilisateur 5 dans ledit coffre-fort central. Le procédé prévoit également de communiquer l’adresse numérique 9 du coffre-fort IoT 2 à l’utilisateur 5, afin de permettre audit utilisateur d’y accéder facilement. Pour ce faire, la plateforme 3 comprend des moyens pour communiquer cette adresse à l’utilisateur 5, notamment par l’envoi à son terminal 6 d’une notification 12 adaptée, ledit terminal étant agencé pour recevoir ladite notification, afin de permettre à l’utilisateur 5 de recevoir ladite adresse numérique. Le procédé prévoit ensuite de créer une paire de clés cryptographiques publique 13a et privée 13b liées au module IoT 1 et compatibles avec la chaîne de blocs. Pour ce faire, le module IoT 1 comprend des moyens pour la création des clés 13a, 13b, notamment sous la forme d’un bouton localisé sur ledit module ou sur une carte d’activation dudit module, l’utilisateur 5 interagissant avec ledit bouton pour lancer la création desdites clés. Pour finaliser la création du coffre-fort IoT 2, le procédé prévoit de : enregistrer la clé publique 13a liée au module IoT 1 dans le coffre-fort IoT 2 ; appairer le module IoT 1 avec le coffre-fort IoT 2, en associant la clé publique 13a à l’adresse numérique dudit coffre-fort IoT dans le coffre-fort central 10. Ainsi, le module IoT 1 peut facilement obtenir l’adresse numérique 9 de son coffre-fort IoT 2, par interaction avec le coffre-fort central 10. Dans les modes de réalisation représentés, le procédé prévoit de fournir à l’utilisateur 5 la clé publique 13a créée pour le module IoT 1, notamment grâce à des moyens adaptés prévus sur ledit module, afin que ledit utilisateur, grâce à des moyens adaptés installés sur son terminal 6, enregistre cette clé 13a : dans le coffre-fort IoT 2 ; et dans le coffre-fort central 10, en l’associant à l’adresse numérique 9 dudit coffre-fort IoT dans ledit coffre-fort central. En particulier, le module IoT 1 peut être équipé d’un écran sur lequel peuvent être affichées des informations destinées à l’utilisateur 5, notamment pour aider ledit utilisateur à paramétrer ledit module. Sur la , le procédé prévoit d’afficher la clé publique 13a du module IoT 1 directement sur l’écran mentionné ci-dessus, le module IoT 1 comprenant des moyens adaptés pour réaliser un tel affichage, notamment par initiation d’une procédure 14 d’interrogation adaptée. Par ailleurs, le terminal 6 comprend des moyens pour acquérir la clé publique 13a par lecture directe de l’écran, notamment par capture d’image dudit écran, afin d’éviter à l’utilisateur 5 de devoir entrer manuellement ladite clé sur son terminal 6. Sur la , le procédé prévoit, grâce à des moyens adaptés équipant le module IoT 1, de : associer la clé publique 13a créée pour le module IoT 1 à un code lié audit module dans le coffre-fort central 10 ; fournir ledit code à l’utilisateur 5 ; l’utilisateur 5 interagissant au moyen de son terminal 6 avec ledit coffre-fort central pour obtenir ladite clé publique à partir dudit code. Le code est un numéro de série unique attribué au module IoT 1, qui peut notamment être affiché sur un écran équipant ledit module, notamment par interaction de l’utilisateur 5 avec un bouton adapté dudit module, ou encore imprimé sous forme d’un code-barres ou d’un code QR (pour l’anglais « Quick Response ») sur une étiquette collée sur ledit module ou sur sa carte mère, le terminal 6 étant équipé de moyens adaptés pour acquérir ledit code par lecture dudit écran et/ou de ladite étiquette. En relation avec la , le module IoT 1 envoie au coffre-fort central 10 une notification 15 contenant la clé publique 13a et le code unique dudit module, ledit code étant notamment accessible audit module via un logiciel adapté intégré audit module. Ensuite, le coffre-fort central 10 enregistre la clé 13a en l’associant à ce code. Ainsi, pour acquérir la clé publique 13a, l’utilisateur 5 acquiert d’abord le code au moyen de son terminal 6, puis envoie via ledit terminal une requête 16 comprenant ledit code au coffre-fort central 10, afin d’obtenir la clé publique 13a enregistrée dans ledit coffre-fort central à partir dudit code. Dans les deux modes de réalisation représentés, l’utilisateur 5 finalise la création du coffre-fort IoT 2 en envoyant au moyen de son terminal 6 : au coffre-fort IoT 2 : une notification 17 contenant la clé publique 13a ; et au coffre-fort central 10 : une notification 18 contenant la clé publique 13a du module IoT 1 et la clé publique 4 de l’utilisateur 5, afin de permettre au coffre-fort central 10 d’associer la clé 13a dudit module à l’adresse 9 du coffre-fort IoT 2 au moyen de la clé 4 dudit utilisateur. Ainsi, le coffre-fort IoT 2 est apparié au module IoT 1, de sorte que ledit coffre-fort représente ledit module sur la chaîne de blocs indépendamment de ses clés 13a, 13b, l’utilisateur 5 n’ayant besoin que de l’adresse numérique 9 pour effectuer des opérations concernant ledit module sur ladite chaîne de blocs. En particulier, en cas de changement de clés 13a, 13b, l’utilisateur 5 peut simplement communiquer la nouvelle clé publique 13a en envoyant les notifications adaptées 17, 18 aux coffres-forts 2, 10. Par ailleurs, sur la , le module IoT 1 peut également acquérir l’adresse 9 de son coffre-fort IoT 2 attitré en lançant une procédure 19 d’interrogation auprès du coffre-fort central 10. Procédé pour sécuriser l’utilisation d’un module IoT (1) connecté à une chaine de blocs, ledit procédé prévoyant de : créer dans la chaine de blocs un coffre-fort numérique IoT (2) pour le module IoT (1) ; enregistrer dans un coffre-fort central (10) une adresse numérique (9) du coffre-fort IoT (2), associée à un identifiant numérique (4) d’un utilisateur (5) dudit module IoT sur la chaine de blocs ; communiquer l’adresse numérique (9) du coffre-fort IoT (2) audit utilisateur ; créer une paire de clés cryptographiques publique (13a) et privée (13b) liées au module IoT (1) et compatibles avec la chaîne de blocs ; enregistrer la clé publique (13a) liée audit module IoT dans le coffre-fort IoT (2) ; appairer le module IoT (1) avec le coffre-fort IoT (2), en associant la clé publique (13a) liée audit module IoT à l’adresse numérique (9) du coffre-fort IoT (2) dans le coffre-fort central (10). Procédé selon la revendication 1, caractérisé en ce qu’il prévoit l’envoi d’une requête (8) par l'utilisateur (5) du module IoT (1) pour initier la création du coffre-fort numérique IoT (2) pour ledit module IoT. Procédé selon l’une des revendications 1 ou 2, caractérisé en ce qu’il prévoit de créer le coffre-fort IoT (2) avec une adresse numérique (4) de l’utilisateur (5) sur la chaîne de blocs. Procédé selon l’une quelconque des revendications 1 à 3, caractérisé en ce qu’il prévoit de créer les clés (13a, 13b) liées au module IoT (1) par interaction de l’utilisateur (5) avec un bouton équipant ledit module IoT. Procédé selon l’une quelconque des revendications 1 à 4, caractérisé en ce qu’il prévoit de fournir à l’utilisateur (5) la clé publique (13a) créée pour le module IoT (1), afin que ledit utilisateur enregistre ladite clé publique : dans le coffre-fort IoT (2) ; et dans le coffre-fort central (10), en l’associant à l’adresse numérique (9) du coffre-fort IoT (2) dans ledit coffre-fort central. Procédé selon la revendication 5, caractérisé en ce qu’il prévoit d’afficher la clé publique (13a) du module IoT (1) sur un écran équipant ledit module IoT. Procédé selon la revendication 5, caractérisé en ce qu’il prévoit de : associer la clé publique (13a) créée pour le module IoT (1) à un code lié audit module IoT dans le coffre-fort central (10) après ladite création ; fournir ledit code à l’utilisateur (5) ; l’utilisateur interagissant avec ledit coffre-fort central pour obtenir ladite clé publique à partir dudit code. Architecture pour sécuriser l’utilisation d’un module IoT (1) connecté à une chaine de blocs, ladite architecture comprenant une plateforme (3) de fourniture d’un service de coffre-fort numérique, ladite plateforme comprenant : des moyens pour créer dans la chaine de blocs un coffre-fort numérique IoT (2) pour le module IoT (1) ; des moyens pour enregistrer dans un coffre-fort central (10) une adresse numérique (9) du coffre-fort IoT (2), associée à un identifiant numérique (4) d’un utilisateur (5) dudit module IoT sur la chaine de blocs ; des moyens pour communiquer l’adresse numérique (9) du coffre-fort IoT (2) audit utilisateur ; ledit module IoT comprenant : des moyens pour créer une paire de clés cryptographiques publique (13a) et privée (13b) liées au module IoT (1) et compatibles avec la chaîne de blocs ; des moyens pour fournir ladite clé publique à l’utilisateur (5) ; ladite architecture comprenant en outre un terminal (6) qui comprend des moyens pour permettre à l'utilisateur (5) de : recevoir l’adresse numérique (9) du coffre-fort IoT (2) communiquée par la plateforme (3) ; enregistrer la clé publique (13a) liée audit module IoT dans le coffre-fort IoT (2) ; appairer le module IoT (1) avec le coffre-fort IoT (2), en associant la clé publique (13a) liée audit module IoT à l’adresse numérique (9) du coffre-fort IoT (2) dans le coffre-fort central (10). Architecture selon la revendication 8, caractérisée en ce que le terminal (6) comprend des moyens pour permettre à l’utilisateur (5) d’envoyer à la plateforme (3) une requête (8) pour initier la création du coffre-fort numérique IoT (2) pour le module IoT (1). Architecture selon l’une des revendications 8 ou 9, caractérisée en ce que la plateforme (3) comprend des moyens pour créer le coffre-fort IoT (2) avec une adresse numérique (4) de l’utilisateur (5) sur la chaîne de blocs. Architecture selon l’une quelconque des revendications 8 à 10, caractérisée en ce que le module IoT (1) comprend un bouton agencé pour permettre la création des clés (13a, 13b) liées audit module IoT par interaction de l’utilisateur (5) avec ledit bouton. Architecture selon l’une quelconque des revendications 8 à 11, caractérisée en ce que le module IoT (1) comprend un écran et des moyens pour afficher la clé publique (13a) sur ledit écran, le terminal (6) comprenant des moyens pour acquérir ladite clé publique par lecture directe dudit écran. Architecture selon l’une quelconque des revendications 8 à 11, caractérisée en ce que le module IoT (1) comprend : des moyens pour associer la clé publique (13a) créée pour ledit module IoT à un code lié audit module IoT dans le coffre-fort central (10) après ladite création ; des moyens pour fournir ledit code à l’utilisateur (5) ; le terminal (6) comprenant des moyens pour permettre à l’utilisateur (5) d’interagir avec ledit coffre-fort central pour obtenir ladite clé publique à partir dudit code.