INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
illustre en détails une étape du procédé de verrouillage d’une mémoire non-volatile réinscriptible selon un mode de réalisation particulier ;
illustre un procédé de mise à jour du contenu stocké dans la mémoire non volatile réinscriptible selon un mode de réalisation particulier ;
est un diagramme de séquences illustrant les procédés de mise à jour du contenu et de verrouillage selon un premier mode de réalisation ; et,
est un diagramme de séquences illustrant les procédés de mise à jour du contenu et de verrouillage selon un second mode de réalisation.
La illustre schématiquement une architecture matérielle d’un dispositif électronique 1 connecté apte à mettre en œuvre l’invention comprenant un composant 10 de type système sur une puce SoC (acronyme anglais de « System On a Chip ») relié à une mémoire externe non volatile réinscriptible MNVR 12. Sur la , le dispositif électronique 1 est un téléphone mobile. Toutefois, le dispositif électronique peut être de tout autre nature (e.g. ordinateur, système embarqué, objet connecté, etc.). Le dispositif électronique 1 est connecté à un serveur 3 par l’intermédiaire d’un réseau 2. Le dispositif électronique 1 est par exemple un téléphone intelligent. Le réseau de communication 2 est par exemple un réseau 3G, 4G ou 5G, ou de type xDSL ou fibre optique.
La illustre schématiquement une architecture matérielle du composant 10 selon un mode de réalisation particulier. Le composant 10 est relié à la MNVR 12 comme par exemple une mémoire à base de technologie EEPROM (acronyme anglais de « Electronically Erasable Programmable ROM »). Dans un exemple particulier de réalisation, la mémoire MNVR 12 est une mémoire Flash NAND. Dans un autre exemple particulier de réalisation, la mémoire MNVR 12 est une mémoire de type eMMC (acronyme anglais de « embedded MultiMedia Card »), celle-ci pouvant correspondre à une mémoire Flash NAND couplée à un contrôleur mémoire. Dans le cas d’une mémoire MNVR 12 de type eMMC, des mécanismes de verrouillage volatile ou non permanent dédiés à l’eMMC peuvent être également utilisés pour certains modes de réalisation. Ces mécanismes sont par exemple basés sur une fonctionnalité connue sous la terminologie anglaise de « Replay Protected Memory Block ». Le composant 10 comprend alors, reliés par un bus de communication 100 : un processeur ou CPU (« Central Processing Unit » en anglais) 101 ; une mémoire vive RAM (« Random Access Memory » en anglais) 102, e.g. une mémoire DDR; une mémoire morte ROM (« Read Only Memory » en anglais) 103; au moins une interface de communication 104 permettant au dispositif électronique 1 de se connecter au réseau de communication 2 et de communiquer avec le serveur 3.
Le composant 10 comprend également des moyens de contrôle comme par exemple un contrôleur 105 configuré pour contrôler les échanges des données avec la MNVR 12. Le composant 10 peut comprendre d’autres moyens de contrôle non représentés sur la , e.g. des moyens de contrôle de la RAM et/ou de la ROM.
Le processeur 101 est capable d’exécuter des instructions chargées dans la RAM 102 à partir de la ROM 103, de la mémoire MNVR 12, ou d’un réseau de communication. Notamment, lorsque le dispositif électronique 1 est mis sous tension, le processeur 101 est capable de lire depuis la RAM 102 des instructions de démarrage et de les exécuter. Ces instructions de démarrage stockées dans la mémoire MNVR 12 sont chargées dans la RAM 102 par le bootloader. Ces instructions forment un programme d’ordinateur causant la mise en œuvre, par le processeur 101, de tout ou partie des procédés décrits en relation avec les Figs. 4 à 6.
En général, le dispositif électronique 1 comprend de la circuiterie électronique configurée pour mettre en œuvre les procédés décrits en relation avec les Figs. 4 à 6.
Afin de détecter une éventuelle modification par un tiers non autorisé de la mémoire MNVR 12, un démarrage utilisant une chaîne de confiance est mis en œuvre. A cet effet, des sommes de contrôle sont utilisées pour une authentification des différents modules (FSBL, SSBL et LAi, i∈[1 : N]). Dans un exemple de réalisation, le FSBL est authentifié par un démarrage (« boot » en anglais) initial sécurisé du composant 10. Dans le cas où l’authentification réussit, le FSBL démarre. Ensuite, le FSBL authentifie le SSBL. Dans le cas où l’authentification réussit, le SSBL démarre. Il va à son tour authentifier le contenu stocké dans chaque zone mémoire ZMA1 à ZMAN.
La illustre un procédé de verrouillage d’une mémoire non-volatile réinscriptible 12 d’un dispositif électronique 1selon un mode de réalisation particulier. Le procédé est décrit pour N=2. Toutefois, le même procédé peut s’appliquer à N>2. Le procédé de la est décrit dans le cas particulier où les zones mémoires ZMAi, i∈[1 : N] contiennent du logiciel applicatif. Toutefois, le procédé peut être généralisé et s’appliquer à d’autres types de contenus, e.g. notamment à d’autres types de logiciels internes (« firmware » en anglais). Le dispositif électronique 1 démarre suite par exemple à sa mise sous tension ou bien redémarre, e.g. suite à une mise à jour logicielle. Lors d’une étape S10, le processeur 101 effectue une première étape d’initialisation du dispositif électronique 1. Cette étape comprend généralement, le lancement d’un logiciel de démarrage. Dans un mode particulier de réalisation, le logiciel de démarrage met en œuvre une chaîne de confiance.
Lors de l’étape S12, le processeur 101 sélectionne au moins une zone mémoire parmi les zones mémoire contenant le logiciel applicatif, i.e. parmi ZMA1 et ZMA2, pour être protégée par verrouillage volatile. Dans un mode de réalisation, la version du logiciel applicatif stocké dans ZMA1 est comparée à la version du logiciel applicatif stocké dans ZMA2. La zone mémoire contenant le logiciel applicatif dont la version est la plus récente est sélectionnée. Dans le cas où les deux zones mémoire contiennent des versions identiques, la zone mémoire dont la précédente sélection est la plus ancienne est sélectionnée. Plus généralement, dans le cas de M zones mémoire comprenant la version la plus récente du logiciel applicatif, M étant un entier appartenant à [2 ; N], la zone mémoire dont la précédente sélection, e.g. suite à un démarrage ou redémarrage du dispositif électronique, est la plus ancienne parmi les sélections desdites M zones mémoire est à nouveau sélectionnée. Ainsi, si ZMA1 et ZMA2 contiennent toutes les deux une version m du logiciel applicatif, alors la zone mémoire ZMA2 est sélectionnée dans le cas où la zone ZMA1 a été sélectionnée la fois précédente et inversement. Dans une variante de réalisation, non représentée sur la , la même zone mémoire est toujours sélectionnée, e.g. ZMA1. Dans ce cas, il peut être nécessaire de recopier le contenu de la zone mémoire ZMA2 dans la zone mémoire ZMA1 avant son verrouillage volatile afin que la version la plus récente du logiciel applicatif puisse démarrer. Optionnellement, des paramètres sont également mis à jour dans la zone mémoire BAL. Par exemple, un identifiant, e.g. une adresse, de la zone mémoire sélectionnée. De manière générale dans le cas de N zones mémoire, au moins une zone mémoire est sélectionnée à l’étape S12 pour être protégée contre toutes modifications par verrouillage volatile.
Le procédé de la peut être généralisé et s’appliquer à d’autres type de contenu. Dans ce cas, lors de l’étape S12, le processeur 101 sélectionne au moins une zone mémoire parmi les zones mémoire ZMAi pour être protégée par verrouillage volatile. Dans un mode de réalisation, les versions du contenu stockées dans les zones mémoire ZMAi sont comparées entre elles. La zone mémoire contenant le contenu dont la version est la plus récente est sélectionnée. Dans le cas où plusieurs zones mémoire contiennent des versions identiques, la zone mémoire dont la précédente sélection est la plus ancienne est sélectionnée.
Lors d’une étape S14, la zone mémoire sélectionnée, dite zone mémoire active, est protégée contre toute modification par un verrouillage volatile. A cet effet, le processeur 101 envoie des commandes via des moyens de communication internes à la mémoire MNVR 12 qui les exécute pour verrouiller la zone mémoire sélectionnée. Les commandes envoyées dépendent du fabriquant de la MNVR 12. Un tel verrouillage volatile ne peut être désactivé que par un passage hors tension de ladite zone mémoire. Dans une variante de réalisation, la zone mémoire ZM2 (SSBL) et la zone mémoire sélectionnée sont protégées par verrouillage volatile contre toutes modifications. L’autre zone mémoire qui n’a pas été sélectionnée, dite zone mémoire inactive, n’est quant à elle pas protégée, i.e. est non verrouillée. Dès lors, cette zone mémoire est utilisée pour une mise à jour du logiciel applicatif, plus généralement du contenu, comme illustré par la .
Les électrodes 100, 200 comportent chacune au moins un matériau électriquement conducteur. Le matériau électriquement conducteur peut être choisi parmi un métal, un alliage, un oxyde métallique ou un oxyde d’un alliage métallique.
Par exemple, il peut s’agir d’un oxyde transparent conducteur, tel que l’oxyde d’indium étain (ou ITO).
Par exemple, les électrodes 100, 200 peuvent comporter au moins l’un des matériaux suivants : Ti, Pt, Ni, Au, Al, Mo, Ag, MoCr, AlSi, AlCu, ou encore être formée par un empilement de plusieurs matériaux électriquement conducteurs, par exemple un empilement Ti/TiN, Ti/TiN/AlCu, ou Ti/Au.
L’épaisseur de chacune des électrodes 100, 200 est par exemple comprise entre environ 0,01 µm et 1 µm. L’épaisseur de chacune des électrodes peut être plus importante, allant par exemple jusqu’à environ 5 µm, notamment lorsque ces électrodes sont réalisées par impression en utilisant des matériaux tels que l’argent, le cuivre, le carbone ou encore le PEDOT (poly(3,4-éthylènedioxythiophène). Une couche d’or déposée par photolithographie a, par exemple, une épaisseur de 50nm. Une couche de PEDOT-PSS a, par exemple, une épaisseur de 1 µm.
De préférence, l’électrode inférieure 100 et/ou l’électrode supérieure 200 sont en Ti-Au ou Au par exemple d’une épaisseur de 15 à 50nm, argent imprimé par exemple d’une épaisseur de 5µm ou PEDOT-PSS par exemple d’une épaisseur de 1µm.
La première électrode 100 peut être disposée sur un substrat 300.
Le substrat 300 est, avantageusement, un substrat de type flexible. Par exemple il s’agit d’un substrat plastique simple tel qu’un film de poly(téréphtalate d'éthylène) (PET), de polyimide (PI), de poly(naphtalate d’éthylène) (PEN), de polycarbonate (PC), en polyuréthane thermoplastique (TPU) ou en polydiméthylsiloxane (PDMS). Il peut également s’agir d’un substrat en papier.
L’invention concerne également un procédé de fabrication d’un tel dispositif.
b) former sur la première électrode, par sérigraphie, une couche de matériau composite comprenant des particules piézoélectriques 410 recouvertes par une couche fluorée 411 et par une couche électriquement conductrice 412, une matrice polymérique en PVDF, en un copolymère de PVDF ou en un terpolymère de PVDF, ou en résine, et du sorbitan,
L’étape b) est réalisée en déposant par sérigraphie une composition imprimable comprenant :
- des particules inorganiques piézoélectriques 410 recouvertes par une couche fluorée 411, et par une couche électriquement conductrice 412,
- un polymère à base de PVDF,
Dans un souci de réduction des coûts et d’amélioration de la flexibilité des infrastructures réseaux, les architectures d’« edge computing » sont le plus souvent des architectures multi-sites dans lesquelles les nœuds constitutifs des grappes de nœuds peuvent être non co-localisés. Par exemple un nœud maître 10 et deux nœuds de calcul 11 1 , 11 2 d’une grappe de nœuds 1 sont situés sur un site A alors que trois autres nœuds de calculs 11 3 , 11 4 , 11 5 sont quant à eux situés sur un site B distant.
Les solutions d’authentification existantes, telle que le protocole https ( HyperText Transfer Protocol Secure ou protocole de transfert hypertextuel sécurisé) qui repose sur l’introduction d’une couche de chiffrement conforme au protocole SSL ( Secure Socket Layer ou sécurité de la couche socket) ou au protocole TLS ( Transport Layer Security ou sécurité de la couche transport) dans le protocole http ( HyperText Transfer Protocol ou protocole de transfert hypertextuel ) ne sont pas bien adaptées au contexte du « edge computing ».
A titre d’exemple, le protocole https permet à un équipement d’un visiteur, tel qu’un ordinateur personnel, de vérifier l'identité d’un site internet auquel le visiteur souhaite accéder à partir de son équipement.
Ainsi, l’équipement accède, grâce à un certificat public d'authentification de type X509 émis par une autorité tierce, réputé fiable, à un serveur fournissant un service. Un tel certificat garantit la confidentialité et l'intégrité des données transmises par le visiteur via son équipement à destination du serveur fournissant un service.
Cependant un tel certificat ne permet pas de garantir, par exemple à un utilisateur du service ou encore au fournisseur du service en question, que les différents intervenants impliqués dans la fourniture du service requis ont instancié l’ensemble des nœuds et/ou des serveurs conformément à des contraintes techniques et/ou contractuelles relatives au service requis.
Il existe donc un besoin de proposer une solution ne présentant pas tout ou partie des inconvénients précités.
L'invention répond à ce besoin en proposant un système comprenant au moins une grappe de nœuds comprenant un nœud maître et au moins un nœud de calcul comprenant au moins un conteneur destiné à exécuter au moins une tâche, au moins un serveur de certification et au moins un équipement souhaitant accéder à un service mis en œuvre par ladite grappe de nœuds.
Un tel système est particulier en ce que : - ledit serveur de certification est configuré pour transmettre un premier jeu de paramètres de certification à destination dudit nœud maître - ledit nœud maître est configuré pour établir un premier certificat d’instanciation dudit nœud maître au moyen du premier jeu de paramètres de certification ; - ledit serveur de certification est configuré pour transmettre au moins un deuxième jeu de paramètres de certification à destination d’au moins un conteneur dudit nœud de calcul ; - ledit nœud maître est configuré pour obtenir au moins un deuxième certificat d’instanciation pour ledit conteneur dudit nœud de calcul, ledit deuxième certificat étant établi par ledit nœud de calcul au moyen du deuxième jeu de paramètres de certification ; - ledit nœud maître est configuré pour transmettre, à destination dudit serveur de certification, une demande de génération d’un jeton de certification d’une instanciation de la grappe de nœud, ladite demande comprenant ledit premier certificat et ledit deuxième certificat ; - ledit serveur de certification est configuré générer ledit jeton de certification d’une instanciation de la grappe de nœud au moyen dudit premier certificat et dudit au moins un deuxième certificat ; - ledit serveur de certification est configuré transmettre ledit jeton de certification d’une instanciation de la grappe de nœud à destination dudit nœud maître ;
- ledit équipement est configuré pour émettre, à destination dudit nœud maître, une demande d’établissement d’une session avec ladite grappe de nœuds, - ledit nœud maître est configuré pour émettre à destination de l’équipement un message de signalisation relatif à l’établissement de ladite session comprenant en outre ledit jeton de certification ; - à réception dudit jeton de certification, l’équipement est configuré pour vérifier l’authenticité dudit jeton de certification auprès dudit serveur de certification.
La solution objet de l’invention permet d’établir, et donc de pouvoir fournir sur requête, un certificat d’instanciation d’une grappe de nœuds contribuant à mettre en œuvre un service. Un tel certificat permet de garantir que les différents équipements et les différents acteurs impliqués dans l’exécution et la fourniture d’un service donné respectent les termes d’un contrat de fourniture de service ainsi que les spécifications techniques requises.
A cette fin, le système comprend un serveur de certification réputé fiable, car avalisé par une autorité tierce, dont la fonction est de contribuer à l’établissements de certificats pour des nœuds d’une grappe de nœuds. Lorsque chaque nœud concerné a établi son certificat au moyen, entre autres de paramètres de certification fournis par le serveur de certification, ce dernier génère un jeton de certification regroupant l’ensemble des certificats générés par les différents nœuds de la grappe de nœuds ainsi que d’autres informations relatives au service exécuté par la grappe de nœuds.
Une telle solution permet par exemple de garantir que toutes les données fournies par un utilisateur dans le cadre de l’exécution d’un service donné sont traitées par des équipements localisés sur un territoire donné.
Plus particulièrement, le nœud maître de ladite grappe de nœuds met en œuvre un procédé d’obtention du jeton de certification comprenant les étapes suivantes : - établissement d’un premier certificat d’instanciation dudit nœud maître au moyen d’un premier jeu de paramètres de certification requis auprès d’un serveur de certification ; - obtention d’au moins un deuxième certificat d’instanciation pour ledit conteneur dudit nœud de calcul, ledit deuxième certificat étant établi par ledit nœud de calcul au moyen d’au moins un deuxième jeu de paramètres de certification requis auprès du serveur de certification ; - transmission, à destination dudit serveur de certification, d’une demande de génération dudit jeton de certification d’une instanciation de la grappe de nœud, ladite demande comprenant ledit premier certificat et ledit au moins un deuxième certificat ; - réception dudit jeton de certification d’une instanciation de la grappe de nœud généré par le serveur de certification.
Fig. 6 est une vue de dessus du véhicule tout-terrain illustré à la , montrant un premier effet produit par le déplacement des paires de roues directrices du véhicule dans des sens opposés, avec des angles de braquage égaux ;
Fig. 7 est une vue de dessus du véhicule tout-terrain illustré à la , montrant un second effet produit par le déplacement des paires de roues directrices du véhicule dans des sens opposés, avec des angles de braquage égaux ;
Fig. 8 est une vue de dessus du véhicule tout-terrain illustré à la , montrant un effet produit par le déplacement des paires de roues directrices du véhicule dans un même sens, l’angle de braquage des roues directrices arrière étant supérieur à l’angle de braquage des roues directrices avant, le véhicule se déplaçant en crabe tout en étant entraîné en rotation car la partie arrière de ce véhicule tourne plus vite que sa partie avant ;
Fig. 9 représente schématiquement différentes trajectoires possibles susceptibles d’être prises par le véhicule tout-terrain illustré à la , ces trajectoires étant obtenues pour des angles de braquage fixes des paires de roues directrices dudit véhicule ;
Tout d’abord, on note que les figures ne sont pas à l’échelle.
Les Figures 1 et 2 et 4 à 9 illustrent de manière schématique un véhicule tout-terrain 10 selon un premier mode de réalisation de la présente invention.
Ce véhicule tout-terrain 10 comporte une paire de roues directrices avant 11, une barre de direction avant commandée par une colonne de direction à une extrémité de laquelle est placé un premier volant 12 de direction du véhicule et entraînant des organes de pivotement des seules roues directrices avant de ce véhicule.
Il comporte également une paire de roues directrices arrière 13, une barre de direction arrière commandée par une seconde colonne de direction à une extrémité de laquelle est placé un second volant 14 de direction dudit véhicule, ledit second volant 14 de direction étant distinct dudit premier volant 12 de direction et entraînant des organes de pivotement des seules roues directrices arrière.
Ce véhicule comporte un premier siège 15 et un second siège 16 placés côte à côte.
Le premier volant 12 de direction est situé à l’avant du premier siège 15 pour définir une première position de conduite dudit véhicule tandis que ledit second volant 14 de direction est situé à l’avant dudit second siège 16 pour définir une seconde position de conduite dudit véhicule distincte de ladite première position de conduite.
Chaque volant de direction 12, 14 peut être ainsi manœuvré par un conducteur distinct pour commander indépendamment la paire de roues directrices avant 11 et la paire de roues directrices arrière 13 du véhicule pour le transport d’au moins une personne.
Le véhicule tout-terrain 10 comprend un moyen de propulsion commandé par un unique pédalier comportant une pédale de frein, une pédale d’accélération et une pédale d’embrayage, le véhicule étant à boite de vitesse mécanique. Cet unique pédalier est ici placé au niveau de la première position de conduite.
Il comporte également une cellule ouverte 17 comprenant une barre de toit.
Afin de pouvoir revenir à une configuration de pilotage du véhicule à un seul conducteur, il comporte un élément de blocage 18 tel qu’un doigt, ou un cran, de blocage venant se loger dans un logement associé de la colonne de direction du véhicule pour verrouiller cette dernière en position.
Cet élément de blocage est soit rapporté par le conducteur et il s’agit alors d’une goupille par exemple, soit monté mobile sur le véhicule entre une première position de dégagement, dans laquelle il est placé en retrait de la colonne de direction, et une seconde position active, ou déployée, dans laquelle il est introduit au moins partiellement dans le logement de la colonne de direction pour bloquer cette dernière.
Pour le défilement de la bande porteuse 44 lors d’un assemblage en continue, on prévoit avantageusement au moins un trou de guidage ou pilotage 45 de cette bande. De préférence, au moins un trou de guidage 45 est en regard de chaque sous-ensemble 5. Ces trous de guidage 45 ont plusieurs fonctions, comme suit:
permettre de faire avancer la bande 44 avec précision ; permettre, lors des étapes suivantes de découpe ou de roulage de positionner le sous-ensemble 2’ ou 5 sur les outils de roulage ou de découpe ;
- permettre lors d'une opération d'assemblage entre deux bandes 44 de guider et de faire avancer et positionner ces dernières ;
- permettre de tracter puis maintenir et positionner la bande 44 pendant une opération de sertissage ;
- faciliter la mise en bobine.
Comme montré en en relation avec la variante où la bande porteuse 44 est solidaire de la partie de sertissage arrière 4, à l’extérieur du sous-ensemble 5, un trou de pilotage 45 est percé directement en regard du fût 40.
Des trous supplémentaires 45 peuvent être percés à d’autres endroits dans la bande porteuse 44 ( ).
Pour optimiser encore l’assemblage, à des fins de compacité, de stockage et de transport facilités, la bande continue peut prendre la forme d’une bobine continue 6 enroulée autour d’un mandrin ( ). Cette bobine 6 peut être entièrement réalisée dans une unité d’assemblage indépendante d’une unité d’assemblage avec un câble 1.
On décrit maintenant en référence aux figures 8A à 8C, les différentes étapes de préparation d’un câble blindé et isolé 1 selon l’invention.
Etape 1 /: On emmanche un joint d’étanchéité 7 autour de la gaine extérieure 11 du câble 1 ( ) pour éviter tout dommage potentiel sur la tresse métallique 12, le(s) conducteur(s) 10 ou le joint d’étanchéité 7 lui-même.
Etape 2/ : On pré-dénude respectivement la gaine extérieure 11, la gaine intérieure 13 pour laisser apparaître le(s) conducteur(s) 10 et la tresse métallique 12 sur une longueur prédéterminée ( ). Alternativement, l’étape 2/ peut être réalisée avant l’étape 1/.
Etape 3/: On enlève la partie dénudée de la gaine intérieure 13 du câble 1 ( ).
On décrit maintenant en référence aux figures 9A à 9H les différentes étapes d’assemblage d’un sous-ensemble préassemblé 2’ ou 5 avec un câble blindé et isolé, afin d’obtenir un contact unitaire blindé et câblé 9.
Etape i/ : On fournit un câble 1 préparé selon les figures 8A à 8C.
Etape ii/ : On fournit un sous-ensemble préassemblé 2’ou 5 solidaire de la bobine 6 par la bande porteuse 44 que l’on vient poser sur un support de sertissage S.