FR3134640A1 - Mécanisme de flashage pour mettre à jour un ou plusieurs appareils électroniques - Google Patents

Mécanisme de flashage pour mettre à jour un ou plusieurs appareils électroniques Download PDF

Info

Publication number
FR3134640A1
FR3134640A1 FR2203587A FR2203587A FR3134640A1 FR 3134640 A1 FR3134640 A1 FR 3134640A1 FR 2203587 A FR2203587 A FR 2203587A FR 2203587 A FR2203587 A FR 2203587A FR 3134640 A1 FR3134640 A1 FR 3134640A1
Authority
FR
France
Prior art keywords
flashing
electronic device
workstation
information
public key
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.)
Pending
Application number
FR2203587A
Other languages
English (en)
Inventor
Florent CHARRAIRE
Ivan DJELIC
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.)
LVMH Swiss Manufactures SA
Original Assignee
LVMH Swiss Manufactures SA
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 LVMH Swiss Manufactures SA filed Critical LVMH Swiss Manufactures SA
Priority to FR2203587A priority Critical patent/FR3134640A1/fr
Priority to PCT/EP2023/059717 priority patent/WO2023202947A1/fr
Publication of FR3134640A1 publication Critical patent/FR3134640A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Retry When Errors Occur (AREA)

Abstract

L’invention concerne un mécanisme de flashage (200) mis en œuvre par ordinateur pour permettre une mise à jour automatisée des logiciels préchargés et stockés dans au moins un appareil électronique (10) connecté à une application de flashage exécutée par un poste de travail (103) ; les logiciels préchargés comprenant un chargeur d'amorçage, un noyau et un système d'exploitation. Ledit mécanisme de flashage (200), mis en œuvre par l’application de flashage (AF), comprend un mécanisme de partage d'informations (300) consistant à mettre, dans un relais de données, des informations à partager entre le chargeur d'amorçage et le système d'exploitation et/ou par l’application de flashage. Figure pour l’abrégé : Figure 2

Description

Mécanisme de flashage pour mettre à jour un ou plusieurs appareils électroniques DOMAINE TECHNIQUE ET OBJET DE L’INVENTION
La présente invention concerne des appareils électroniques connectés, en particulier des montres connectées (« smart watch » en anglais).
L’invention porte plus particulièrement sur un mécanisme de flashage pour mettre à jour automatiquement un ou plusieurs appareils électroniques connectés.
ETAT DE LA TECHNIQUE
De nos jours, il existe de plus en plus produits électroniques dans de nombreux domaines. Par exemple, dans le secteur de l'horlogerie, les montres connectées sont de plus en plus courantes sur le marché.
Une montre connectée fonctionne au moyen d’un système d'exploitation mobile et peut ainsi proposer des fonctions qu’une montre « conventionnelle », notamment mécanique, n’est pas en mesure de réaliser, par exemple la lecture de fichiers numériques (audio ou vidéo), la mesure de l'activité physique de l’utilisateur (e.g. fréquence cardiaque et respiratoire), la réception radio FM (pour « Frequency Modulation » en anglais), la connectivité Bluetooth, WiFi et/ou cellulaire, voire les fonctions de téléphonie mobile. La montre connectée peut donc être autonome et ne se limite pas un écran déporté d’un mobile multifonction (« smartphone » en anglais).
Pour être en mesure de réaliser les fonctions ci-dessus lors de son utilisation, des logiciels sont préchargés avant la vente de la montre connectée. Lorsque la dernière version de logiciels apportant des améliorations et/ou corrections est publiée, que ce soit avant ou après la vente de la montre connectée à l’utilisateur, les logiciels préchargés utilisés par la montre connectée devraient être mis à jour par un opérateur (e.g. le vendeur, l’équipe logistique du fabricant de la montre connectée, etc.) en charge de la mise à jour de la montre connectée. Il est par ailleurs souhaitable d’éviter que l’utilisateur (le client final) ait besoin de mettre à jour les logiciels préchargés le jour de son achat de la montre connectée, même s’il reste possible à l’utilisateur de le faire via un réseau Wi-Fi, mais cela est plus contraignant et plus lourd.
La mise à jour des logiciels préchargés est réalisée par l’intermédiaire d’un processus dit de “flashage”. Néanmoins, les processus de flashage existants comprennent, en général, des étapes nécessitant des interventions manuelles ou/et des outils difficiles à maîtriser. Par exemple, pour activer un démarrage rapide de la montre connectée, des interventions manuelles sont indispensables. Par exemple, certains boutons doivent être simultanément enfoncés pendant une courte durée prédéterminée. Le cas échéant, des outils tels que des lignes de commande « fastboot » doivent être utilisés. En outre, l’opérateur doit savoir sélectionner les éléments dans un menu de démarrage rapide affiché sur l'écran de la montre connectée. De plus, l’opérateur doit surveiller presqu’en continu du processus de flashage, qui dure plusieurs minutes.
Les inconvénients ci-dessus sont difficiles à gérer, notamment pour les opérateurs qui utilisent les outils de flashage et qui ne sont pas suffisamment qualifiés en informatique. De plus, les outils ou processus de flashage existants ne permettant pas de parallèlement mettre à jour plusieurs montres connectées. C’est-à-dire il n’existe pas encore, en temps actuel, un outil ou un processus de flashage massif permettant de mettre à jour de milliers de montres connectées en peu de temps avec un nombre faible d'opérateurs. De ce fait, les inconvénients énumérés précédemment sont démultipliés en fonction du nombre de montres connectées à mettre à jour, autrement dit à « flasher ».
Il existe ainsi des besoins pour un mécanisme de flashage configuré pour automatiquement et parallèlement mettre à jour une grande quantité d’appareils électroniques, notamment ceux de type connecté.
PRESENTATION GENERALE DE L’INVENTION
La présente invention concerne un mécanisme de flashage mis en œuvre par ordinateur pour permettre une mise à jour automatisée des logiciels préchargés et stockés dans au moins un appareil électronique connecté à une application de flashage exécutée par un poste de travail ; les logiciels préchargés comprenant un chargeur d'amorçage, un noyau et un système d'exploitation. Ledit mécanisme de flashage, mis en œuvre par l’application de flashage, comprend un mécanisme de partage d'informations consistant à mettre, dans un relais de données directement accessible par le noyau, des informations à partager entre le chargeur d'amorçage et le système d'exploitation et/ou par l’application de flashage.
L'invention permet ainsi de mettre à jour, automatiquement et parallèlement, une grande quantité d’appareils électroniques, notamment ceux de type connecté.
De manière préférentielle, le relais de données est une ligne de commande du noyau, et le mécanisme de partage d'informations comprend :
  • l’ajout des informations à partager avec le chargeur de démarrage, lesdites informations à partager comprenant des informations d'identification du système d'exploitation et étant ajoutées dans la ligne de commande du noyau lors de la génération de la ligne de commande du noyau destinée à être inclue dans une image du chargeur de démarrage ; et/ou
  • l’ajout des informations à partager avec le système d'exploitation, lesdites informations à partager comprenant un état de verrouillage et des informations d'identification du chargeur de démarrage, ces informations à partager étant ajoutées à la suite de la ligne de commande du noyau lors du (re)démarrage de l’appareil électronique.
Avantageusement, le mécanisme de flashage comprend au moins une des étapes suivantes à réaliser :
  • une étape de redémarrage consistant à redémarrer l’appareil électronique par une exécution automatique du chargeur d'amorçage sans intervention manuelle et à maintenir l’appareil électronique en un mode de chargeur de démarrage pendant une période prédéterminée ;
  • une étape de déverrouillage effectuée pour déverrouiller le chargeur de démarrage de l’appareil électronique afin de permettre à un composant de mémoire de l’appareil électronique d’être reflashé.
Préférentiellement, le mécanisme de flashage comprend un mécanisme d'authentification effectué pour sécuriser la réalisation de l’étape de redémarrage et celle de l’étape de déverrouillage ; l’étape de redémarrage et l’étape de déverrouillage étant respectivement réalisée uniquement suite à une confirmation positive obtenue à l’issue du mécanisme d'authentification ; la confirmation positive indiquant que la réalisation du mécanisme de flashage est souhaitée par un operateur en charge de la mise à jour de l’appareil électronique, et que ledit opérateur est reconnu comme un opérateur autorisé de mettre à jour de l’appareil électronique.
De façon avantageuse, l’étape de déverrouillage est effectuée quand l’appareil électronique est en mode de chargeur de démarrage ainsi que la confirmation positive est obtenue à l’issue du mécanisme d'authentification.
De manière préférentielle, si l’appareil électronique est en un mode de système d'exploitation où l’appareil électronique exécute le système d'exploitation, l’étape de redémarrage est effectuée suite à la confirmation positive obtenue à l’issue du mécanisme d'authentification.
Préférentiellement, le mécanisme de flashage consiste à :
  • effectuer une seule fois le mécanisme d'authentification dans un cas où l’appareil électronique est en mode de chargeur de démarrage lorsqu’il est connecté au poste de travail ;
  • effectuer deux fois le mécanisme d'authentification dans un cas où l’appareil électronique est en mode de système d'exploitation lorsqu’il est connecté au poste de travail.
Avantageusement, l’application de flashage comprend une paire de clés correspondant à l’opérateur et comprenant une clé publique et une clé privée ; le mécanisme d'authentification comprenant :
  • une étape de génération d’un défi cryptographique par l’appareil électronique ;
  • une étape de signature de défi consistant à générer, par l’application de flashage, une signature en signant le défi à l'aide de la clé privée ;
  • une étape de vérification de la clé publique et de la signature reçues, effectuée par l’appareil électronique pour déterminer si la clé publique reçue est reconnue ou acceptée par l’appareil électronique, ainsi que pour déterminer si la signature reçue est signée par ledit opérateur associé à la clé publique reçue et acceptée ;
dans lequel la confirmation positive confirme que la signature reçue est signée par l’opérateur associé à la clé publique reçue et acceptée.
De façon avantageuse, des informations d’authentification comprenant une ou des clés publiques autorisées qui représentent chacune un des opérateurs autorisés, ou leurs valeurs représentatives associées, sont préalablement enregistrées dans l’appareil électronique avant la réalisation du mécanisme de flashage.
De manière préférentielle, lors de l'étape de vérification, si une valeur représentative de ladite clé publique reçue est égale à celle d’une des clés publiques autorisées, ou si ladite clé publique reçue est identique à une des clés publiques autorisées, l’appareil électronique reconnaît ou accepte la clé publique reçue.
Préférentiellement, la valeur représentative de ladite clé publique reçue et celles des clés publiques autorisées sont respectivement une somme de contrôle générée à partir de ladite clé publique et celles respectivement générées à partir d’une desdites clés publiques autorisées, en utilisant un algorithme de hachage sécurisé « SHA256 » (abréviation du « Secure Hash Algorithm 256 » en anglais).
Avantageusement, le mécanisme de flashage comprend l’affichage sur un écran du poste de travail des informations comprenant l’état d’avancement de flashage de l’appareil électronique.
De façon avantageuse, le mécanisme de flashage est effectué lorsque l'au moins un appareil électronique est connecté au poste de travail via un port d'accès USB (« Universal Serial Bus » en anglais).
De manière préférentielle, le mécanisme de flashage est configuré pour mettre à jour, automatiquement et parallèlement, des logiciels préchargés et stockés dans une pluralité d’appareils électroniques de type connecté.
L’invention concerne également un système de flashage configuré pour réaliser un mécanisme de flashage comme décrit ci-dessus pour permettre une mise à jour automatisée des logiciels préchargés et stockés dans un ou plusieurs appareils électroniques, le système de flashage comprenant une application de flashage exécutée par un poste de travail qui réalise au moins une partie du mécanisme de flashage.
De manière préférentielle, le système de flashage comprend le poste de travail comprenant :
  • un ou plusieurs ports d'accès USB dont chacun permet à un des appareils électroniques de communiquer des données numériques avec le poste de travail quand l’appareil électronique est connecté au poste de travail via le port d’accès ;
  • un écran configuré pour afficher des informations comprenant l’état d’avancement de flashage de l’appareil électronique.
PRESENTATION DES FIGURES
L’invention sera mieux comprise à la lecture de la description qui va suivre, donnée à titre d’exemple, et se référant aux figures suivantes, données à titre d’exemples non limitatifs, dans lesquelles des références identiques sont données à des objets semblables.
illustre une représentation schématique d’un système de flashage selon un mode de réalisation de l’invention.
illustre le mécanisme de flashage selon un mode de réalisation de l'invention.
Il faut noter que les figures exposent l’invention de manière détaillée pour mettre en œuvre l’invention, lesdites figures pouvant bien entendu servir à mieux définir l’invention le cas échéant.
DESCRIPTION DETAILLEE DE L’INVENTION
De manière générale, l’invention concerne ainsi un mécanisme de flashage pour mettre à jour un ou plusieurs appareils électroniques 10, notamment pour automatiquement et parallèlement mettre à jour une grande quantité d’appareils électroniques 10 de type connecté.
L’appareil électronique 10 est, par exemple, un appareil électronique connecté, notamment une montre connectée. L’appareil électronique 10 comprend un ou plusieurs composants de mémoire 11 pour stocker des données numériques, un écran pour afficher à l’utilisateur des informations, et un processeur 12 configuré pour réaliser, en coopération avec le composant de mémoire 11, l’écran et d’autre composants de l’appareil électronique 10, des fonctions à fournir à l’utilisateur de l'appareil électronique 10.
Lors de la fabrication ou avant la vente de l’appareil électronique 10, des logiciels sont préchargés et stockés dans des partitions du composant de mémoire 11 qui est, de préférence, une mémoire flash. Les logiciels préchargés, exécuté par le processeur 12, comprennent un chargeur d'amorçage (« bootloader » en anglais) et un système d'exploitation (« operating system » en anglais). Le système d’exploitation comprend un noyau (« kernel » en anglais) qui est une partie fondamentale du système d’exploitation permettant aux composants matériels et logiciels de l’appareil électronique 10 de communiquer entre eux. Le système d’exploitation permet d’assurer des fonctionnalités de base, et en surcouche du système d’exploitation, un nombre d’applications permettent d’apporter des fonctionnalités additionnelles d’intérêt pour l’utilisateur de l’appareil électronique 10. Selon un mode de réalisation, le noyau et le système d’exploitation sont respectivement un noyau « Linux Kernel® » et un système d'exploitation mobile « Wear OS® » d’Android® fondé sur le noyau Linux® et développé par Google®. L’invention n’est néanmoins pas limitée aux types du chargeur d'amorçage et/ou du système d’exploitation utilisés par l’appareil électronique 10.
Le chargeur d'amorçage, le noyau et le système d’exploitation sont chacun une image qui est un bloc de code binaire stocké dans les partitions du composant de mémoire 11 de l’appareil électronique 10. Lors d’un démarrage de l’appareil électronique 10, le processeur 12 de l’appareil électronique 10 exécute d’abord l’image du chargeur d'amorçage. A ce stade, l’appareil électronique 10 est en un mode de chargeur de démarrage MCD. Ensuite, le processeur 12 effectue des opérations, d’abord en espace noyau (« kernel space » en anglais) et ensuite en espace utilisateur (« user space » en anglais). L’espace noyau et l’espace utilisateur coexistent quand l’appareil électronique 10 est en un mode de système d'exploitation MSE.
En espace noyau, le processeur 12 exécute l’image du noyau pour communiquer avec des micrologiciels (« firmware » en anglais) de l’appareil électronique 10. En espace utilisateur (du mode MSE), le processeur 12 fonctionne sur le système d'exploitation pour exécuter des applications mobiles et/ou réaliser des fonctions souhaitées par l’utilisateur.
Lorsque de dernières mises à jour logicielles apportant les améliorations et/ou corrections des logiciels préchargés de l’un ou des appareils électroniques 10 sont publiées, les logiciels préchargés utilisés par les appareils électroniques 10 devraient respectivement être mis à jour par un opérateur autorisée, e.g. le vendeur, l'équipe recherche et développement ou l’équipe logistique du fabricant de l’appareil électronique 10. Un tel opérateur est un « opérateur autorisé » d’un mécanisme de flashage 200 de l’invention.
De plus, de manière préférentielle, des informations d’authentification comprenant une ou des clés publiques autorisées qui représentent chacune un des opérateurs ou des groupes d’opérateurs autorisés, ou leurs valeurs représentatives associées, sont préalablement enregistrées dans l’appareil électronique 10 avant la vente de l’appareil électronique 10 ou avant la réalisation du mécanisme de flashage 200. De manière avantageuse, les valeurs représentatives des clés publiques autorisées sont chacune une somme de contrôle (« checksum » en anglais) générée à partir d’une desdites clés publiques autorisées, en utilisant par exemple un algorithme de hachage sécurisé « SHA256 » (abréviation du « Secure Hash Algorithm 256 » en anglais). Par rapport aux clés publiques autorisées, leurs valeurs représentatives occupent moins d'espace mémoire. Il est donc préférable de préalablement enregistrer les valeurs représentatives, au lieu de préalablement enregistrer les clés publiques autorisées correspondantes, notamment dans un mode de réalisation où l'espace mémoire du composant de mémoire 11 est limitée.
Dès lors, l’invention concerne un système de flashage 1 utilisé par un operateur pour réaliser le mécanisme de flashage 200 de sorte à automatiquement mettre à jour un ou plusieurs appareils électroniques 10, ou plus précisément, à automatiquement mettre à jour les logiciels préchargés et stockés dans l’un ou les appareils électroniques 10. La illustre une représentation schématique du système de flashage 1 selon un mode de réalisation de l’invention. Le système de flashage 1 comprend une application de flashage (indiquée par « AF » en ) exécutée par un poste de travail 103 qui sert d’hôte. L’application de flashage AF réalise au moins une partie du mécanisme de flashage 200. Selon un mode de réalisation préférentielle, l’invention permet le flashage automatique par lot ou « en batch », c’est-à-dire le flashage automatique d’une pluralité d’appareils électroniques 10 parallèlement.
La illustre le mécanisme de flashage 200 selon un mode de réalisation de l'invention. Le mécanisme de flashage 200, comprenant un mécanisme de partage d'informations 300 et un mécanisme d'authentification 400, peut être effectué que l’un ou les appareils électroniques 10 soient respectivement en mode de chargeur de démarrage MCD ou en mode de système d'exploitation MSE. Le mécanisme de flashage 200 sera décrit plus en détail après la description du système de flashage 1. Pour faciliter la compréhension, dans la description qui suit, on décrit simplement la mise à jour automatique d’un seul appareil électronique 10.
Le système de flashage 1 comprend de préférence le poste de travail 103. Le poste de travail 103 peut être tout type de dispositif adapté, par exemple un ordinateur de bureau ou un ordinateur portable avec une interface USB (« Universal Serial Bus » en anglais), qui comprend un processeur configuré pour exécuter des applications logicielles comprenant l’application de flashage. De manière alternative, le poste de travail 103 peut être un nano-ordinateur monocarte (e.g. un Raspberry Pi) équipé d’une interface USB et commandé à distance (par un réseau Wi-Fi par exemple) à l'aide d'une tablette ou d'un mobile, dans lequel les applications logicielles comprenant l’application de flashage sont exécutées par la tablette ou le mobile. Le poste de travail 103 comprend en outre une unité de mémoire de données configurée pour stocker des mises à jour logicielles qui sont, en général, stockées sous forme « d’images ». L’unité de mémoire de données est également utilisée pour stocker au moins une partie des données générées et/ou reçues lors de l'exécution du mécanisme de flashage 200. L’unité de mémoire de données peut être toute combinaison de moyens de mémoire locaux intégrés dans le poste de travail 103 ou, alternativement, un moyen de mémoire de données à distance qui est accessible par le poste de travail 103. De plus, le poste de travail 103 comprend un écran configuré pour afficher à l’opérateur des informations relatives à la réalisation du mécanisme de flashage 200, e.g. un état d’avancement de flashage de chacun des appareils électroniques 10, et un message d'avertissement si un échec s'est produit lors de la réalisation du mécanisme de flashage 200, etc.
Selon un mode de réalisation, le poste de travail 103 comprend un ou plusieurs ports d’accès dont chacun permet à un des appareils électroniques 10 de communiquer des données numériques avec le poste de travail 103 quand l’appareil électronique 10 est connecté via le port d’accès au poste de travail 103, de manière avec ou sans fil. De manière préférentielle, l’appareil électronique 10 est branché au port d’accès au poste de travail 103. De manière préférentielle, les ports d’accès correspondent chacun à un numéro de port. Dans un mode de réalisation, l’attribution d’un numéro de port à chaque port d’accès se fait via un mécanisme d'étalonnage qui sera décrit en détail ci-après dans la description. Les ports d’accès sont par exemple des ports USB auxquels les appareils électroniques 10 sont branchés. Le nombre des ports d'accès est de préférence égal ou supérieur au nombre des appareils électroniques 10 parallèlement mis à jour. L’invention n’est ni limitée aux types ni au nombre des ports d’accès.
Selon un mode de réalisation, le poste de travail 103 comprend une interface réseau afin de s'interfacer avec un réseau de communication et d'effectuer une communication et une transmission de données selon le ou les protocoles réseau utilisés pour mettre en œuvre le réseau de communication. Le réseau de communication est de préférence mis en œuvre comme un réseau unique ou, alternativement, une combinaison de plusieurs réseaux. L'invention n'est pas limitée au(x) type(s) de réseau(s) utilisé(s) pour mettre en œuvre le réseau de communication. Selon l’invention, un ou plusieurs types sélectionnés parmi les réseaux filaires et sans fil suivants, peuvent notamment être utilisés pour mettre en œuvre le réseau de communication : Internet, Ethernet, réseaux sans fil (ex : Wi-Fi, Bluetooth, réseau étendu (WAN), réseau personnel (PAN), etc.), un réseau cellulaire selon les télécommunications 2G, 3G, 4G ou 5G normes et/ou d'autres types appropriés de réseaux de communication.
D’abord, afin que le mécanisme de flashage 200 soit capable de piloter entièrement le flashage du ou des appareils électroniques 10, un mécanisme de partage d'informations 300 peut être réalisé afin de partager des informations entre le chargeur d'amorçage (du mode MCD), le noyau (en espace noyau du mode MSE), le système d'exploitation (en espace utilisateur du mode MSE) et l’application de flashage. Le mécanisme de flashage 200 comprend la mise en œuvre d’un composant de service du système d'exploitation configuré pour redémarrer l’appareil électronique 10, avec une exécution automatique du chargeur d'amorçage, sans intervention manuelle (e.g. les boutons étant simultanément enfoncés pendant une courte durée prédéterminée).
De plus, comme mentionné précédemment, une partie de ces informations à partager, qui peut être exposée sans protection particulière, est de préférence affichée sur l’écran du poste de travail 103 lors de la réalisation du mécanisme de flashage 200.
Les informations à partager comprennent, par exemple, au moins une partie des informations suivantes : les informations d'identification (e.g. le nom du modèle, le numéro) de l’appareil électronique 10, les informations d'identification (e.g. le nom, le numéro de la version) et l'état de verrouillage du chargeur de démarrage, les informations d'identification (e.g. le nom, le numéro de la version) du système d’exploitation de l’appareil électronique 10, une réponse au défi que l’application de flashage génère et envoie à l’appareil électronique 10 (le principe d’authentification défi-réponse étant décrit plus en détail dans les paragraphes concernant le mécanisme d'authentification 400), le numéro de port du port d’accès via lequel l’appareil électronique 10 est connecté au poste de travail 103, etc. L'état de verrouillage indique si le chargeur de démarrage de l’appareil électronique 10 est « verrouillé » ou « déverrouillé ». L'écriture et l'effacement des données dans les partitions du composant de mémoire 11 peuvent être réalisés (i.e. les partitions du composant de mémoire 11 pouvant être reflashées) uniquement quand le chargeur de démarrage est déverrouillé.
Au moins une partie de ces informations à partager sont, de manière conventionnelle, uniquement accessibles par le chargeur d'amorçage (e.g. l’appareil électronique 10 étant en mode MCD), ou uniquement par le système d’exploitation (en espace utilisateur du mode MSE). Par exemple, de manière conventionnelle, les informations d'identification du système d’exploitation (e.g. « WearOS build ID ») de l’appareil électronique 10 ne sont pas stockées dans l’image du chargeur d'amorçage, et sont accessibles uniquement par le système d’exploitation. L'état de verrouillage du chargeur de démarrage est, au contraire, une information conventionnellement accessible uniquement par le chargeur d'amorçage.
Le mécanisme de partage d'informations 300 consiste à mettre, dans un relais de données directement accessible par le noyau (en espace noyau du mode MSE), les informations à partager par le chargeur d'amorçage (en mode MCD), le système d'exploitation (en espace utilisateur du mode MSE) et/ou par l’application de flashage. Les relais de données sont par exemple une ligne de commande du noyau (e.g. « Kernel command line » en anglais) ou des fichiers tels que des attributs (e.g. « sysfs attributes » en anglais) utilisés par le noyau pour communiquer avec des composants de service du système d'exploitation. Ces attributs peuvent être créés et supprimés dynamiquement lorsque l’appareil électronique 10 est branché au poste de travail 103 et est débranché du poste de travail 103.
Deux modes de réalisation où une ligne de commande du noyau servant de relais de données sont décrits ci-dessus. Dans un mode de réalisation, lors de la génération de la ligne de commande du noyau destinée à être inclue dans l’image du chargeur de démarrage, les informations d'identification (e.g. « WearOS build ID ») du système d’exploitation de l’appareil électronique 10 sont ajoutées dans la ligne de commande du noyau. Ainsi, lors d’un (re)démarrage de l’appareil électronique 10, en lisant ladite ligne de commande du noyau, le chargeur de démarrage récupère les informations d'identification du système d’exploitation.
Dans un autre mode de réalisation, lors du (re)démarrage de l’appareil électronique 10, le chargeur de démarrage lit la ligne de commande du noyau inclue dans l’image du chargeur de démarrage, et ajoute à la suite de la ligne de commande du noyau les informations à partager avec le système d'exploitation, e.g. les informations d'identification (e.g. le nom, le numéro de la version) et l'état de verrouillage du chargeur de démarrage. Ainsi, le fait que les informations d'identification et l'état de verrouillage du chargeur de démarrage ne soient pas stockées dans l’image du système d'exploitation, n’est plus un obstacle pour le système d'exploitation.
Un autre mode de réalisation où des attributs créés pour être utilisés par le noyau et servent de relais de données, est décrit ci-dessus. Le noyau écrit, dans un des attributs, des informations relatives à l’application de flashage, par exemple une réponse au défi générée par l’application de flashage. Ainsi, le composant de service du système d'exploitation peut lire l’attribut pour vérifier la réponse au défi, comme décrit ci-dessous dans la description du mécanisme d'authentification 400.
En plus du mécanisme de partage d'informations 300 et du composant de service du système d'exploitation, le mécanisme de flashage 200 comprend en outre des étapes suivantes 210 à 240, y compris un mécanisme d'authentification 400 réalisé avant l’étape 220 de redémarrage de l’appareil électronique 10 et avant l’étape 230 de déverrouillage pour sécuriser l’exécution de ces deux étapes 220 et 230.
L'étape d'initiation 210 comprend une étape de connexion 211 et, de préférence, une étape de confirmation 212. L’étape d'initiation 210 est effectuée lorsque l’appareil électronique 10 est connecté au poste de travail 103 via un des ports d’accès (e.g. ports USB) du poste de travail 103, afin de réaliser la communication de données entre l’application de flashage et l’appareil électronique 10. L’étape de connexion 211, effectuée par l’application de flashage, consiste à initialiser un processus automatisé de négociation pour établir des paramètres de la communication de données entre le poste de travail 103 et l’appareil électronique 10 avant le commencement de la communication de données. La communication de données comprend des transmissions de données utilisées et/ou générées lors de la réalisation du mécanisme de flashage 200. L'étape de confirmation 212 est ensuite réalisée par l’application de flashage pour que l’opérateur confirme la volonté de mettre à jour l’appareil électronique 10 (ou les appareils électroniques 10).
Ensuite, le mécanisme d'authentification 400, comprenant les étapes suivantes 410 à 450, est mis en œuvre. La réalisation de l’étape 220 de redémarrage de l’appareil électronique 10 et celle de l’étape 230 de déverrouillage sont, comme mentionné précédemment, respectivement déterminées en fonction du résultat du mécanisme d'authentification 400. Pour réaliser le mécanisme d'authentification 400, l’application de flashage comprend une paire de clés correspondant à l’opérateur qui est en charge de la mise à jour de l’appareil électronique 10, la paire de clés comprenant une clé publique et une clé privée.
L’étape 410 d’envoi d’une requête de défi, réalisée par l’application de flashage, consiste à envoyer à l’appareil électronique 10 une requête de défi. L’appareil électronique 10 effectue ensuite l’étape 420 de génération d’un défi cryptographique (communément désigné par le terme anglais « challenge »). Lors de cette étape 420, le chargeur d'amorçage (si l’appareil électronique 10 est en mode de chargeur de démarrage MCD) ou le démon (si l’appareil électronique 10 est en mode de système d'exploitation MSE) génère un défi correspondant à la requête de défi reçue. Le démon est un service du système d'exploitation qui tourne en permanence. Le défi est de préférence un défi aléatoire de 28 octets présentant une entropie élevée. Le défi généré est envoyé en réponse à la requête de défi reçue de l’application de flashage.
Dans un mode de réalisation dans lequel l’appareil électronique 10 est connecté (e.g. branché) à un des ports USB du poste de travail 103, la requête de défi de l’étape 410 est compris dans une requête USB envoyée à l’appareil électronique 10 lors du processus automatisé de négociation entre le poste de travail 103 et l’appareil électronique 10. De plus, le défi généré à l’étape 420 est ensuite compris dans une réponse USB envoyée au poste de travail 103 pour répondre à ladite requête USB.
Suite à la réception du défi, l’application de flashage réalise l’étape 430 de signature de défi consistant à générer une signature en signant le défi à l'aide de la clé privée correspondant à l’opérateur. Plus précisément, l’application de flashage chiffre le défi avec la clé privée pour générer la signature. L’application de flashage réalise ensuite l’étape 440 consistant à envoyer à l’appareil électronique 10 une réponse au défi comprenant la signature générée et la clé publique associée à la clé privée.
L’appareil électronique 10 effectue alors l’étape 450 de vérification de la clé publique et de la signature reçues. La vérification de la clé publique est réalisée pour déterminer si la clé publique reçue est reconnue ou acceptée par l’appareil électronique 10. Autrement dit, l’appareil électronique 10 vérifie si l’opérateur associé à la clé publique reçue est un des opérateurs autorisés de mettre à jour l’appareil électronique 10.
S’agissant de l’étape 450, la réponse au défi générée et envoyée par l’application de flashage, est de préférence stockée, comme mentionnée précédemment, dans un attribut que le noyau utilise pour communiquer avec des composants de service du système d'exploitation. De plus, comme décrit ci-dessus, les informations d’authentification préalablement enregistrées dans l’appareil électronique 10 comprennent les clés publiques autorisées ou les valeurs représentatives associées à ces clés publiques autorisées.
Dans un mode de réalisation référentiel où les informations d’authentification préalablement enregistrées dans l’appareil électronique 10 comprennent les valeurs représentatives associées aux clés publiques autorisées, l’appareil électronique 10 calcule une valeur représentative (e.g. une somme de contrôle) de ladite clé publique reçue du poste de travail 103, en utilisant par exemple l’algorithme « SHA256 ». Si la valeur représentative de ladite clé publique reçue est égale à celle d’une des clés publiques autorisées, ou si ladite clé publique reçue est identique à une des clés publiques autorisées, l’appareil électronique 10 reconnaît ou accepte la clé publique reçue. L’opérateur associé à la clé publique reçue est autorisé de mettre à jour l’appareil électronique 10.
Ensuite, la vérification de la signature reçue est réalisée, en fonction du défi correspondant à la signature reçue ainsi que de la clé publique reçue et acceptée, si la signature reçue est signée par l’opérateur associé à la clé publique reçue et acceptée. Plus précisément, l’appareil électronique 10 déchiffre la signature reçue à l’aide de la clé publique reçue pour générer un résultat déchiffré, et compare le résultat déchiffré avec le défi généré à l’étape 420 par l’appareil électronique 10. Si le résultat déchiffré est identique au défi généré, la signature reçue est considérée comme étant signée par l’opérateur au moyen de sa clé privée associée à la clé publique reçue et acceptée. De manière préférentielle, l’algorithme « SHA256 » est utilisé pour calculer une valeur représentative associée au défi (généré et envoyé à l’étape 420) et celle du résultat déchiffré, lors de la vérification de la signature reçue.
Si l’appareil électronique 10 confirme que la signature reçue est signée par l’opérateur au moyen de sa clé privée associée à la clé publique reçue et acceptée, le résultat du mécanisme d'authentification 400 est une confirmation positive. Cette confirmation positive indique que la réalisation du mécanisme de flashage 200 est souhaitée par l’opérateur en charge de la mise à jour de l’appareil électronique 10, et que ledit opérateur est reconnu comme un opérateur autorisé de mettre à jour de l’appareil électronique 10. Ainsi, l’exécution de l’étape 220 de redémarrage de l’appareil électronique 10 ou/et celle de l’étape 230 de déverrouillage peut être effectuée.
Au contraire, aucune des étapes 220 et 230 n’est effectuée si le résultat du mécanisme d'authentification 400 indique que la signature n’est pas signée par l’opérateur au moyen de sa clé privée associée à la clé publique reçue, ou que l’opérateur associé à la clé publique reçue n’est pas reconnu comme un opérateur autorisé à mettre à jour l’appareil électronique 10.
Suite à la confirmation positive obtenue à l’issue de l’étape 450 du mécanisme d'authentification 400, soit l’étape 230 de déverrouillage est effectuée si l’appareil électronique 10 à ce stade est en mode de chargeur de démarrage MCD, soit l’application de flashage demande à l’appareil électronique 10 d’effectuer l’étape 220 de redémarrage si l’appareil électronique 10 à ce stade est en mode de système d'exploitation MSE.
L’étape 220 de redémarrage est réalisée pour redémarrer l’appareil électronique 10 et pour maintenir l’appareil électronique 10 en mode de chargeur de démarrage MCD pendant une période prédéterminée. L’étape 220 de redémarrage est réalisée par une exécution automatique du chargeur d'amorçage sans intervention manuelle. Ensuite, le mécanisme d'authentification 400 est à nouveau réalisé pour générer un nouveau défi et une nouvelle signature et pour les vérifier. Si une nouvelle confirmation positive est obtenue à l’issue de cette deuxième réalisation du mécanisme d'authentification 400, l’étape 230 de déverrouillage est ensuite effectuée. Ainsi, dans un cas où l’appareil électronique 10 est en mode MSE lorsqu’il est connecté (e.g. branché) au poste de travail 103, le mécanisme de flashage 200 consiste à effectuer deux fois le mécanisme d'authentification 400. Alternativement, si l’appareil électronique 10 est en mode MCD lorsqu’il est connecté au poste de travail 103, le mécanisme de flashage 200 consiste à effectuer une seule fois le mécanisme d'authentification 400.
Quand l’appareil électronique 10 est en mode de chargeur de démarrage MCD ainsi que la confirmation positive est obtenue à l’issue du mécanisme d'authentification 400, l’étape 230 de déverrouillage est effectuée pour déverrouiller le chargeur de démarrage afin de permettre aux partitions du composant de mémoire 11 d’être reflashées.
L'étape 240 de flashage, consistant à écrire dans les partitions du composant de mémoire 11 de l’appareil électronique 10 les dernières mises à jour logicielles reçues du poste de travail 103, est réalisée uniquement suite à l’étape 230 de déverrouillage. De manière préférentielle, l’état d’avancement de flashage de l’appareil électronique 10, par exemple une étape du mécanisme de flashage 200 actuellement en cours pour l’appareil électronique 10, peut être affiché sur l’écran du poste de travail 103.
Dans un mode de réalisation où le port d’accès est un port USB, le défi, la clé publique, la signature et les réponses sont transmis entre l’appareil électronique 10 et le poste de travail 103, en utilisant un point de terminaison en bloc USB (« USB BULK endpoint » en anglais) ou un point de terminaison de contrôle USB (« USB CONTROL endpoints » en anglais). Plus précisément, si l’appareil électronique 10 est en mode de chargeur de démarrage MCD, un point de terminaison en bloc USB est utilisé alors que si l’appareil électronique 10 est en mode de système d'exploitation MSE, un point de terminaison de contrôle USB est utilisé.
Dans un cas où plusieurs appareils électroniques 10 sont connectés au poste de travail 103 pour être mis à jour, des dernières mises à jour logicielles correspondant à chacun des appareils électroniques 10 sont proprement identifiées et préalablement récupérées par le poste de travail 103. Ainsi, quand un des appareils électroniques 10 est à l’étape 240 de flashage, les dernières mises à jour logicielles correspondant audit appareil électronique 10 ne sont pas confondues avec celles d’un autre appareil électronique, et sont écrites dans le composant de mémoire 11 dudit appareil électronique 10.
Les appareils électroniques 10 peuvent chacun commencer à réaliser le mécanisme de flashage 200 à différents moments, ou/et passer du temps différent pour réaliser les étapes du mécanisme de flashage 200. Par exemple, les appareils électroniques 10 comprend un premier et un deuxième appareils électroniques, et le deuxième appareil électronique est à l’étape 430 de signature de défi quand le premier appareil électronique est déjà à l’étape 240 de flashage.
De manière préférentielle, le mécanisme de flashage 200 comprend en outre un mécanisme d'étalonnage 500 configuré pour afficher, lors du flashage automatique d’une pluralité d’appareils électroniques 10, à l’opérateur un message d'avertissement indiquant qu’un ou des appareils électroniques de ladite pluralité d’appareils électroniques 10 rencontre un échec ou des échecs successifs pendant la réalisation du mécanisme de flashage 200. Pour faciliter la compréhension, dans la description qui suit, un seul appareil électronique 10 (« appareil électronique 10 en question » dans le texte ci-après), parmi tous les appareils électroniques 10 mis à jour parallèlement, rencontre des échecs.
Le mécanisme d'étalonnage 500 comprend une attribution de numéros de port, une détection d'échecs par rapport à l’appareil électronique 10 en question, une génération d’un message d'avertissement et, de préférence, une renonciation automatique à la réalisation du mécanisme de flashage 200 par rapport à l’appareil électronique 10 en question. L’application de flashage attribue, comme mentionné précédemment, à chaque port d’accès un numéro de port. Lorsque l’application de flashage détecte des échecs (e.g. une erreur ou un blocage) qui se produisent lors de la réalisation du mécanisme de flashage 200 par rapport à l’appareil électronique 10, l’application de flashage génère un message d'avertissement et en informe l’opérateur afin que l’opérateur prenne conscience de ces échecs. De plus, de manière préférentielle, l’application de flashage ignore automatiquement l’appareil électronique 10 en question si les échecs ne sont pas surmontés après une période prédéterminée suite à la détection de ces échecs. La réalisation du mécanisme de flashage 200 par rapport à l’appareil électronique 10 en question est donc suspendue.
Le message d'avertissement comprend le numéro de port du port d’accès via lequel l’appareil électronique 10 en question est connecté au poste de travail 103. De manière préférentielle, le message d'avertissement comprend en outre des informations suivantes : les informations d'identification (e.g. le nom du modèle, le numéro) de l’appareil électronique 10 en question, une brève description des échecs rencontrés, une étape du mécanisme de flashage 200 actuellement en cours, les informations d'identification (e.g. le nom, le numéro de la version) et l'état de verrouillage du chargeur de démarrage, les informations d'identification (e.g. le nom, le numéro de la version) du système d’exploitation de l’appareil électronique 10 en question, etc.
Le message d'avertissement est de préférence affiché sur l’écran du poste de travail 103, et avantageusement, est affiché en rouge pour attirer l’attention de l’opérateur. Avec le message d'avertissement, l’opérateur peut prendre des mesures nécessaires pour l’appareil électronique 10 en question, en laissant le reste des appareils électroniques 10 continuer à être parallèlement mis à jour. Le mécanisme d'étalonnage 500 évite ainsi de reflasher à nouveau tous les appareils électroniques 10 mis à jour parallèlement, et économise considérablement du temps.
Le système de flashage et le mécanisme de flashage selon l’invention, permettent ainsi de mettre à jour, automatiquement et parallèlement, une grande quantité d’appareils électroniques, notamment ceux de type connecté.
L'invention n'est pas limitée aux modes de réalisation précédemment décrits mais s'étend à tout mode de réalisation conforme à son esprit.

Claims (14)

  1. Mécanisme de flashage (200) mis en œuvre par ordinateur pour permettre une mise à jour automatisée des logiciels préchargés et stockés dans au moins un appareil électronique (10) connecté à une application de flashage exécutée par un poste de travail (103) ; le mécanisme de flashage (200) étant mis en œuvre par l’application de flashage (AF) ; les logiciels préchargés comprenant un chargeur d'amorçage, un noyau et un système d'exploitation ; le mécanisme de flashage (200) étantcaractérisé en ce qu’il comprend un mécanisme de partage d'informations (300) consistant à mettre, dans un relais de données directement accessible par le noyau, des informations à partager entre le chargeur d'amorçage et le système d'exploitation et/ou par l’application de flashage.
  2. Mécanisme de flashage (200) selon la revendication précédente, dans lequel le relais de données est une ligne de commande du noyau ; le mécanisme de partage d'informations (300) comprenant :
    • l’ajout des informations à partager avec le chargeur de démarrage, lesdites informations à partager comprenant des informations d'identification du système d'exploitation et étant ajoutées dans la ligne de commande du noyau lors de la génération de la ligne de commande du noyau destinée à être inclue dans une image du chargeur de démarrage ; et/ou
    • l’ajout des informations à partager avec le système d'exploitation, lesdites informations à partager comprenant un état de verrouillage et des informations d'identification du chargeur de démarrage, ces informations à partager étant ajoutées à la suite de la ligne de commande du noyau lors du (re)démarrage de l’appareil électronique (10).
  3. Mécanisme de flashage (200) selon l’une quelconque des revendications précédentes, comprenant au moins une des étapes suivantes à réaliser :
    • une étape (220) de redémarrage consistant à redémarrer l’appareil électronique (10) par une exécution automatique du chargeur d'amorçage sans intervention manuelle et à maintenir l’appareil électronique (10) en un mode de chargeur de démarrage (MCD) pendant une période prédéterminée ;
    • une étape (230) de déverrouillage effectuée pour déverrouiller le chargeur de démarrage de l’appareil électronique (10) afin de permettre à un composant de mémoire (11) de l’appareil électronique (10) d’être reflashé.
  4. Mécanisme de flashage (200) selon la revendication précédente, comprenant un mécanisme d'authentification (400) effectué pour sécuriser la réalisation de l’étape (220) de redémarrage et celle de l’étape (230) de déverrouillage ; l’étape (220) de redémarrage et l’étape (230) de déverrouillage étant respectivement réalisée uniquement suite à une confirmation positive obtenue à l’issue du mécanisme d'authentification (400) ; la confirmation positive indiquant que la réalisation du mécanisme de flashage (200) est souhaitée par un operateur en charge de la mise à jour de l’appareil électronique (10), et que ledit opérateur est reconnu comme un opérateur autorisé de mettre à jour de l’appareil électronique (10).
  5. Mécanisme de flashage (200) selon la revendication précédente, dans lequel :
    • quand l’appareil électronique (10) est en mode de chargeur de démarrage (MCD) ainsi que la confirmation positive est obtenue à l’issue du mécanisme d'authentification (400), l’étape (230) de déverrouillage est effectuée ;
    • si l’appareil électronique (10) est en un mode de système d'exploitation (MSE) où l’appareil électronique (10) exécute le système d'exploitation, l’étape (220) de redémarrage est effectuée suite à la confirmation positive obtenue à l’issue du mécanisme d'authentification (400).
  6. Mécanisme de flashage (200) selon la revendication 4 ou la revendication 5, consistant à :
    • effectuer une seule fois le mécanisme d'authentification (400) dans un cas où l’appareil électronique (10) est en mode de chargeur de démarrage (MCD) lorsqu’il est connecté au poste de travail (103) ;
    • effectuer deux fois le mécanisme d'authentification (400) dans un cas où l’appareil électronique (10) est en mode de système d'exploitation (MSE) lorsqu’il est connecté au poste de travail (103).
  7. Mécanisme de flashage (200) selon l’une des revendications 4 à 6, dans lequel l’application de flashage comprend une paire de clés correspondant à l’opérateur et comprenant une clé publique et une clé privée ; le mécanisme d'authentification (400) comprenant :
    • une étape (420) de génération d’un défi cryptographique par l’appareil électronique (10) ;
    • une étape (430) de signature de défi consistant à générer, par l’application de flashage, une signature en signant le défi à l'aide de la clé privée ;
    • une étape (450) de vérification de la clé publique et de la signature reçues, effectuée par l’appareil électronique (10) pour déterminer si la clé publique reçue est reconnue ou acceptée par l’appareil électronique (10), ainsi que pour déterminer si la signature reçue est signée par ledit opérateur associé à la clé publique reçue et acceptée ;
    dans lequel la confirmation positive confirme que la signature reçue est signée par l’opérateur associé à la clé publique reçue et acceptée.
  8. Mécanisme de flashage (200) selon la revendication précédente, dans lequel :
    • des informations d’authentification comprenant une ou des clés publiques autorisées qui représentent chacune un des opérateurs autorisés, ou leurs valeurs représentatives associées, sont préalablement enregistrées dans l’appareil électronique (10) avant la réalisation du mécanisme de flashage (200) ;
    • lors de l'étape (450) de vérification, si une valeur représentative de ladite clé publique reçue est égale à celle d’une des clés publiques autorisées, ou si ladite clé publique reçue est identique à une des clés publiques autorisées, l’appareil électronique (10) reconnaît ou accepte la clé publique reçue.
  9. Mécanisme de flashage (200) selon la revendication précédente, dans lequel la valeur représentative de ladite clé publique reçue et celles des clés publiques autorisées sont respectivement une somme de contrôle générée à partir de ladite clé publique et celles respectivement générées à partir d’une desdites clés publiques autorisées, en utilisant un algorithme de hachage sécurisé « SHA256 » (abréviation du « Secure Hash Algorithm 256 » en anglais).
  10. Mécanisme de flashage (200) selon l’une des revendications précédentes, comprenant l’affichage sur un écran du poste de travail (103) des informations comprenant l’état d’avancement de flashage de l’appareil électronique (10).
  11. Mécanisme de flashage (200) selon l’une des revendications précédentes, étant effectué lorsque l'au moins un appareil électronique (10) est connecté au poste de travail (103) via un port d'accès USB (« Universal Serial Bus » en anglais).
  12. Mécanisme de flashage (200) selon l’une des revendications précédentes, configuré pour mettre à jour, automatiquement et parallèlement, des logiciels préchargés et stockés dans une pluralité d’appareils électroniques (10) de type connecté.
  13. Système de flashage (1) configuré pour réaliser un mécanisme de flashage (200) selon l'une quelconque des revendications précédentes pour automatiquement mettre à jour les logiciels préchargés et stockés dans un ou plusieurs appareils électroniques (10), le système de flashage (1) comprenant une application de flashage exécutée par un poste de travail (103) qui réalise au moins une partie du mécanisme de flashage (200).
  14. Système de flashage (1) selon la revendication précédente, comprenant le poste de travail (103) comprenant :
    • un ou plusieurs ports d'accès USB dont chacun permet à un des appareils électroniques (10) de communiquer des données numériques avec le poste de travail (103) quand l’appareil électronique (10) est connecté au poste de travail (103) via le port d’accès ;
    • un écran configuré pour afficher des informations comprenant l’état d’avancement de flashage de l’appareil électronique (10).
FR2203587A 2022-04-19 2022-04-19 Mécanisme de flashage pour mettre à jour un ou plusieurs appareils électroniques Pending FR3134640A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2203587A FR3134640A1 (fr) 2022-04-19 2022-04-19 Mécanisme de flashage pour mettre à jour un ou plusieurs appareils électroniques
PCT/EP2023/059717 WO2023202947A1 (fr) 2022-04-19 2023-04-13 Mecanisme de flashage pour mettre a jour un appareil electronique

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2203587A FR3134640A1 (fr) 2022-04-19 2022-04-19 Mécanisme de flashage pour mettre à jour un ou plusieurs appareils électroniques
FR2203587 2022-04-19

Publications (1)

Publication Number Publication Date
FR3134640A1 true FR3134640A1 (fr) 2023-10-20

Family

ID=82385395

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2203587A Pending FR3134640A1 (fr) 2022-04-19 2022-04-19 Mécanisme de flashage pour mettre à jour un ou plusieurs appareils électroniques

Country Status (2)

Country Link
FR (1) FR3134640A1 (fr)
WO (1) WO2023202947A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160085558A1 (en) * 2013-07-31 2016-03-24 Hewlett-Packard Development Company, L.P. Updating boot code
US20200089507A1 (en) * 2018-09-10 2020-03-19 Shenzhen GOODIX Technology Co., Ltd. Low power embedded device using a write-once register to speed up the secure boot from sleep states of the device
US20210056207A1 (en) * 2019-08-21 2021-02-25 Qualcomm Incorporated Securing Devices From Unauthorized Software Upgrade
US20210373873A1 (en) * 2020-05-27 2021-12-02 Arm Cloud Technology, Inc. Manifest and payload delivery

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160085558A1 (en) * 2013-07-31 2016-03-24 Hewlett-Packard Development Company, L.P. Updating boot code
US20200089507A1 (en) * 2018-09-10 2020-03-19 Shenzhen GOODIX Technology Co., Ltd. Low power embedded device using a write-once register to speed up the secure boot from sleep states of the device
US20210056207A1 (en) * 2019-08-21 2021-02-25 Qualcomm Incorporated Securing Devices From Unauthorized Software Upgrade
US20210373873A1 (en) * 2020-05-27 2021-12-02 Arm Cloud Technology, Inc. Manifest and payload delivery

Also Published As

Publication number Publication date
WO2023202947A1 (fr) 2023-10-26

Similar Documents

Publication Publication Date Title
JP6936949B2 (ja) ウェアラブルデバイスを使用した電子決済を容易にするための方法および装置
US10942920B2 (en) Service processing system and method based on blockchain
US20190230511A1 (en) System and method for migrating data between devices
US20190342753A1 (en) Device configuration method, apparatus and system
US20140006225A1 (en) Automatic device inventory management for different types of devices
EP3025256A2 (fr) Systèmes et procédés de transfert de données de dispositif
FR3009159A1 (fr) Procede de traitement de donnees de geolocalisation
EP3568965B1 (fr) Procédé d'authentification en deux étapes, dispositif et programme d'ordinateur correspondant
EP3991381B1 (fr) Procédé et système de génération de clés de chiffrement pour données de transaction ou de connexion
FR3048530A1 (fr) Systeme ouvert et securise de signature electronique et procede associe
EP2772869B1 (fr) Procédé et système de traitement cryptographique utilisant une donnée sensible
WO2023202947A1 (fr) Mecanisme de flashage pour mettre a jour un appareil electronique
EP3154284B1 (fr) Procédé d'appairage dans un dispositif périphérique et dans un terminal de communication, dispositifs et programme correspondants
US20190018982A1 (en) Storing data securely in a database
EP3588337B1 (fr) Pilotage d'un dispositif de stockage de donnees
EP3832948A1 (fr) Renouvellement de clés à usage unique
EP3542335B1 (fr) Procédé de traitement de données transactionnelles, terminal de communication, lecteur de cartes et programme correspondant
EP3667530B1 (fr) Accès sécurise à des données chiffrées d'un terminal utilisateur
US11941598B2 (en) Communication system, communication method, and sensor unit
FR3065606A1 (fr) Procedes pour le partage de donnees de localisation entre un dispositif source et un dispositif destinataire, serveur, dispositifs source et destinataire et programme d'ordinateur correspondants.
EP2795830B1 (fr) Procede d'echange de donnee chiffree entre un terminal et une machine
EP3743871A1 (fr) Système sécurisé de transactions entre terminaux
CN114818001A (zh) 一种数据处理方法、装置及介质
FR3102322A1 (fr) Technique de communication entre une application mettant en œuvre un service et un serveur
EP3528464A1 (fr) Procédé d'appairage de terminaux électroniques, dispositifs d'appairage, terminaux et programme correspondant

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20231020

PLFP Fee payment

Year of fee payment: 3