Brevet FR3134640A1 — publié le 20231020

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 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. 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) étant caracté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. 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). 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é. 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). 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). 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). 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. 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. 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). 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). 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). 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é. 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). 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).