Brevet FR2914078A1 — publié le 20080926

La présente invention permet d'assurer la sauvegarde des données, programmes et système d'un ordinateur ( ordinateur hôte ), en monoposte comme en réseau, en toutes circonstances, de façon autonome ou en utilisant un système d'assistance à distance. La relation avec les services d'assistance à distance est elle-même massivernent sécurisée comme conséquence directe des choix d'architecture qui sont partie intégrante de cette invention. Le dispositif présent sur le marché dont les performances s'approchent le plus de l'invention pour la restauration d'un système informatique défaillant, (dénommé PXE, pour Pre-Boot Execution Environnement) repose sur des sauvegardes effectuées sur des serveurs de données qui présentent leurs propres vulnérabilités et dont l'intégrité est coûteuse à assurer. De plus ces dispositifs ne fonctionnent pas en monoposte, sont longs et coûteux à configurer, et coûteux à gérer. Typiquement un PXE est théoriquement économique à partir de 100 postes par rapport à une solution fondée sur l'invention, mais présente des failles de vulnérabilité graves. Les technologies de communication sécurisée, type https: autorisent le bon déroulement de transactions sans intrusion de tiers ; en revanche l'établissement de la liaison doit être sécurisé par d'autres moyens, car ces technologies ne permettent pas de présumer de l'identité de la personne avec laquelle la transaction a lieu. Les services de restauration autonome comme on peut les trouver sur les ordinateurs portables par exemple gèrent avec efficacité des empreintes du système, mais ne gèrent pas la sauvegarde des données, ne peuvent constituer une protection en cas de défaillance de l'unique disque dur, et ne permettent pas à des services d'assistance extérieurs de déclencher eux-mêmes les opérations de restauration, ce qui limite leur clientèle potentielle à des utilisateurs très avertis. Pris isolément les logiciels de prise de contrôle à distance permettent d'assurer un service dans des conditions de confort et d'efficacité remarquables, mais posent autant de questions de sécurité, jusqu'à présent sans solution simple. Ces services d'assistance à distance ne peuvent agir que sur la couche système d'exploitation de l'ordinateur, et sont donc limités à des interventions où le système d'exploitation est encore fonctionnel, et où par ailleurs on s'interdit de le modifier, même pour le réparer. Enfin des systèmes de sauvegarde transparents des données, fondés sur la technologie "portefeuille" de MS Windows fonctionnent de façon satisfaisante, y-compris sur des supports externes, mais (i) ne traitent en aucune façon de la sauvegarde et de la restauration 2 du système, (ii) sont totalement vulnérables par eux-mêmes face à des attaques de tiers portant sur les données principales ou sauvegardées, et (iii) n'offrent par eux-mêmes aucun moyen pour faciliter une assistance à distance, sécurisée ou non. La présente invention offre une solution simple et transparente de sauvegarde et de restauration d'un système endommagé, et permet de gérer en toute sécurité une assistance à distance, que ce soit pour des services liés à la restauration du système ou des données, ou pour tout autre service d'assistance ou de maintenance à distance. De plus la présente technologie permet de faire vérifier les droits commerciaux à service de l'ordinateur appelant pour des opérateurs tiers, et de faciliter à ces derniers la mise en oeuvre de services sécurisés sans pour autant dévoiler l'identité du client auprès du prestataire de services, ni autoriser un prestataire tiers à cibler un ordinateur particulier. Cette invention repose sur l'existence d'un dispositif logiquement distinct de l'ordinateur hôte (UMS), doté de son propre système d'exploitation et sa propre unité de stockage, qui peut émettre des demandes de service au travers de dispositifs de routage entrant également dans le champ de l'invention. L'UMS est incorporée ou connectée à un ordinateur ( ordinateur hôte ), ou à un serveur de réseau, comme le serait un périphérique standard. Elle pourra être physiquement incorporée à l'ordinateur qu'elle entend protéger si les composants nécessaires sont effectivement intégrés à l'ordinateur par son fabriquant, sur la carte mère ou sur tout dispositif intégré qui respecterait les principes décrits dans ce document. Le fonctionnement détaillé de l'invention est exposé par rapport aux deux synoptiques objets des FIG.1 et FIG.2. L'invention repose sur le fonctionnement coordonné d'un ou plusieurs ordinateurs et / ou de tout ou partie de treize groupes fonctionnels, et sur des procédés mettant en oeuvre un ou plusieurs ordinateurs et / ou un ou plusieurs de ces groupes fonctionnels. Pour l'UMS elle-même, en se référant au synoptique objet de la FIG. 1 : Un dispositif d'identification (1), constitué par exemple d'un lecteur de carte à puce, de dispositifs d'identification biométriques, ou de tout autre dispositif, agissant conjointement, qui remplit trois fonctions : (i) l'identification formelle de l'utilisateur de façon à permettre à un administrateur distant de gérer commercialement ses droits à service, (ii) la restriction physique de l'accès à l'UMS et la limitation des temps de fonctionnement actif de celle-ci, et (iii) la définition de façon restrictive des services auxquels cet utilisateur peut physiquement accéder. 3 Un micro-contrôleur (2), qui supervise le fonctionnement des différentes composantes de l'UMS. Une unité de service (3), elle-même décomposée en sous-ensembles accessibles et contrôlables séparément (dans l'exemple du synoptique quatre sous-ensembles numérotés de 3A à 3D), qui contient les instructions de service et de sécurité qui seront utilisées par le micro-contrôleur en fonction des besoins. Une unité d'entrée- sortie (4) par exemple aujourd'hui au format USB, qui permettent à un administrateur muni des droits correspondants, de modifier le contenu des registres du micro-contrôleur (2) et les mémoires de l'Unité de Service (3). Un port de communication (5), par exemple aujourd'hui au format USB., qui permet au micro-contrôleur (2) de dialoguer avec l'ordinateur hôte, sans permettre à l'ordinateur hôte ou tout intrus en ayant pris le contrôle de modifier le contenu des différents mémoires de l'UMS. Une ou des unités de mémoire de masse, dénommée Unité de Stockage US (6) contenant, dans des supports physiquement et logiquement séparés (dans l'exemple du synoptique quatre sous-ensembles numérotés de 6A à 6D), les outils nécessaires aux services que l'on entend mettre en oeuvre, et les sauvegardes nécessaires à la restauration des système et données de l'ordinateur hôte. Deux interfaces de commutation (7) et (8), qui elles-mêmes pilotent les commutateurs suivants : Pour l'interface de commutation (7) : les commutateurs d'alimentation (:B là B4 et Cl à C4) des différentes composantes de l'Unité de Service (3) et de l'Unité de Stockage US (6), et les commutateurs (D1àD4, ElàE4) d'entrée-sortie et lecture-écriture des différentes composantes de l'Unité de Stockage US (6). Pour l'interface de commutation (8), similairement les commutateurs (F1àF2 et G1àG2) d'entrée-sortie et lecture-écriture des ports (4) et (5). Enfin les interfaces IDE (9) et / ou USB (10) assurent la connexion de l'unité de stockage US (6) avec l'ordinateur hôte. Pour les dispositifs de routage, et en se référant au synoptique objet de la FIG.2 : La PAMI (Plateforme d'Administration Master International) (Il), liée à un ou plusieurs des noms de domaine connus des UMS, reçoit les appels des UMS. Elle consulte une base de données BD/TC (base de données technique et commerciale) (13), et, en fonction des 4 indications contenues dans la BD/TC, route l'appel vers le prestataire de services distants le plus approprié (13). Les différents composants de l'UNIS sont activés dans le cadre d'instructions de service, qui peuvent être exécutées automatiquement ou suite à l'activation d'un dispositif d'identification comme par exemple à l'introduction d'une carte à puce dans le lecteur (1). Les services à exécution automatique, par exemple la sauvegarde de données du disque dur de l'ordinateur hôte vers le disque de l'UMS, ont été paramétrés et activés par un technicien doté des droits nécessaires et se connectant en local sur le port (4). Dès l'activation d'un dispositif d'identification incluant une carte à puce ou dispositif équivalent servant à définir les services autorisés, le micro-contrôleur (2) interroge la carte à puce, pour identifier son propriétaire et définir ses droits d'accès aux différentes mémoires qui composent le module de service (3). Le micro-contrôleur (2) charge ensuite depuis le module de service (3) l'ensemble des programmes dont l'exécution est autorisée par la carte à puce, et établit physiquement les accès aux périphériques et interfaces d'entrée-sortie que sont (4) l'interface USB-A, (5) l'interface USB-B, (6) les Unités de Stockage (US) et (3) le module de service lui-même. Pendant les étapes successives de la transaction l'interface de commutation veille à ne maintenir actifs que les éléments dont le fonctionnement est strictement nécessaire à l'exécution des services demandés. Ces autorisations d'accès sont susceptibles d'évoluer en fonction des besoins liés à la mise en oeuvre des services autorisés et des contraintes de sécurité identifiées. Par défaut un accès non nécessaire à une étape donnée dans le déroulement d'une transaction n'est pas physiquement autorisé. Dès ce verrouillage des services effectué l'UMS gère la transaction en fonction des conditions de service enregistrées et donc des instructions reçues : (i) activation d'un menu permettant à l'utilisateur de préciser les services qu'il désire mettre en oeuvre, parmi ceux qui lui sont autorisés, (ii) exécution d'opérations précisément définies sur le disque dur de l'ordinateur hôte, à l'exclusion de toute autre opération et de tout autre accès (mode automate local ), (iii) ouverture d'un accès limité à un opérateur extérieur sur l'ordinateur hôte utilisant typiquement des applications de contrôle à distance qui ont été paramétrées pour sévèrement limiter ce que l'opérateur distant peut effectuer (mode assistance , et / ou (iv) prise de contrôle de l'ordinateur hôte de façon à y exécuter des opérations sur lesquelles un service d'assistance à distance n'aura aucune influence directe (mode maintenance à distance ). Dans la situation (i) le micro-contrôleur active, au travers du port (5) un programme d'interfaçage avec l'utilisateur, et échange, au travers de ce même port (5) des informations avec l'utilisateur, via l'ordinateur hôte. Dans les situations (ii) (mode de fonctionnement automate local ) et (iii) (mode 5 assistance ) l'UMS contrôle une Unité de Stockage US (6) se comportant en périphérique esclave de l'ordinateur hôte, sur lequel des outils, fonctionnant sous le contrôle du système d'exploitation de l'ordinateur hôte pendant la période où l'UNS est active, ont été formellement installés et autorisés à l'avance (lors de l'installation de l'UMS ou d'une reconfiguration par un installateur doté des privilèges suffisants lui donnant accès aux modules correspondants de l'Unité de Service (3)) pour effectuer des travaux précis ou mettre en oeuvre des fonctions précises). Dans la situation (ii) l'automate local réalise les opérations prévues, et rend la main au menu de la situation (i) ; dans la situation (iii) un prestataire de service distant est mis en communication par le truchement du service de re-routage décrit dans le synoptique objet de la FIG.2, et prend un contrôle limité de l'ordinateur hôte, de façon à effectuer à distance les opérations qu'on lui demandera d'effectuer. Pendant ces sessions on pourra mettre en oeuvre des services en relation avec l'ordinateur hôte, dont les caractéristiques commerciales (autorisation, prépaiement, garanties de paiement) auront été vérifiées, et dont les caractéristiques techniques garantiront qu'un intrus n'aura jamais accès aux données présentes sur l'UMS, de façon à assurer l'intégrité de ces données, et à garantir qu'une restauration sera toujours possible en cas d'accès malveillant aux unités de mémoire de l'ordinateur hôte. Dans la situation (iv) l'UMS commande l'Unité de Stockage US (6), qui elle-même se comporte en périphérique maître pour effectuer sur l'ordinateur hôte toutes opérations qui exigent que le contrôle soit formellement retiré à ce dernier, par exemple quand il s'agit d'intervenir sur ses fichiers système, ou de façon plus générale pour effectuer des opérations de maintenance sur l'ordinateur hôte, et en particulier les opérations les plus brutales, comme la restauration du système. De façon générale, le micro-contrôleur (2) commande toujours aux autres éléments de l'UMS et à eux-seuls, et c'est l'Unité de Stockage US (6), qui, selon les conditions de service, a le choix de se comporter en périphérique esclave fonctionnant sous le contrôle de l'ordinateur hôte (dans la configuration actuelle, modules logiciels esclaves résidant dans le sous-ensemble (6C)), ou en périphérique maître, commandant l'ordinateur hôte (dans la 6 configuration actuelle, partition bootable installée dans le sous-ensemble (6A)), et de mettre en oeuvre une assistance réalisée (i) par un technicien personne physique opérant à distance, (ii) par un automate distant, ou encore (iii) par des procédures automatiques préprogrammées dans l'Unité de Service (3). Suivant les conditions de service spécifiées l'UMS peut effectuer préalablement des opérations en local (par exemple restauration, ... ), puis, choisir entre un mode d'assistance et un mode de maintenance à distance. Dans le cas du mode d'assistance, il émet un appel au travers du réseau public vers les serveurs d'appel (FIG.2, item 1) , qui acheminent la demande de service vers un technicien de permanence (FIG.2., item 2), après avoir vérifié sur les bases de données (FIG.2, item 3) l'identité de l'appelant, ses droits à service et l'identité des prestataires habilités à le servir. Suivant les conditions de service spécifiées, ce technicien pourra être (i) un technicien personne physique, ou (ii) un automate fonctionnant à distance. Dans le cas du mode de maintenance à distance, l'Unité de Stockage US (6) va prendre le contrôle de l'ordinateur hôte : un espace réservé (6A) de l'Unité de Stockage US (6), déclenche le chargement du système d'exploitation dans les RAM et registres de la carte mère de l'ordinateur hôte, puis se comporte en périphérique maître. Un appel est ensuite acheminé vers le centre d'appel (FIG.2, item 1), pour une gestion de la transaction identique à celle se rapportant au mode assistance décrit ci-dessus. Dans tous les cas, le technicien de permanence, sans avoir à connaître l'identité du client, réalise les opérations demandées, par exemple : (i) reconstitution du système et des programmes du système hôte, (ii) restauration de données protégées, (iii) installation de nouveaux programmes, (iv) installation de périphériques, (v) délivrance de sessions de formation contrôlées à distance, (vi) inscription sur le disque de l'ordinateur hôte et / ou sur l'Unité de Stockage US (6) d'informations autorisant la délivrance ultérieure de services de toutes natures dans des conditions commercialement sécurisées, ou (vii) toute autre forme d'intervention à distance parfaitement sécurisée sur des critères tant techniques que commerciaux, et ce y compris des transactions de paiement faisant intervenir des cartes bancaires, cartes de paiement pré-chargées (Moneo, Proton, ...) ou autres mécanismes de pré-paiement, ou encore des cartes d'identification pouvant intervenir dans des mécanismes de paiement (carte Vitale, ... ). Dans le cas du mode assistance, dès que le technicien de permanence rend la main (interrompt la session), l'UMS se met de suite en mode inactif 7 Dans le cas du mode maintenance, dès que le technicien de permanence rend la main (interrompt la session), l'UMS (i) se coupe du monde extérieur, (ii) recopie dans l'espace (6A) de l'Unité de Stockage US (6) sa propre empreinte se trouvant dans un espace (6B) de l'Unité de Stockage US (6) réservé et inaccessible par les tiers, (iii) se replace dans sa configuration d'origine, qui est inactive et invisible tant de l'ordinateur hôte que de tiers, et (iv) rend la main à l'ordinateur hôte, qui se réinitialise. On notera à cet égard que ce procédé est directement applicable à un ordinateur dont on chercherait à assurer la sécurité indépendamment de l'emploi d'une UMS, et pour lequel on constituerait sur un support physique ou logique séparé une empreinte propre du système, inaccessible tant pour l'utilisateur lui-même que pour des tiers, et pour lequel le système d'exploitation lui-même organiserait la régénération du système à partir de l'empreinte propre, soit (i) de façon périodique à titre préventif, afin d'éliminer des agresseurs encore dormants, ou (ii) à l'occasion d'évènemenls entraînant certaines modifications de la base de registres formellement définies, avant la modification elle-même, de façon à opérer sur une base saine, et après la modification, de façon à ce qu'elle soit effectivement prise en compte. Par ailleurs, les paramétrages présents sur l'UMS ont pour effet d'organiser ou de déclencher des opérations dont le principe est déjà dans le domaine public, au travers de logiciels déjà commercialisés, qui vont alimenter les fichiers sauvegardés sur l'Unité de Stockage US (6), et permettre des restaurations sélectives, qui devront être mises en oeuvre ultérieurement et de façon anonyme par le technicien de permanence ou par I'UMS elle-même. Une partie de ces opérations (par exemple sauvegardes automatiques) se font de façon transparente pour l'utilisateur, à l'initiative de l'UMS, sans intervention de l'utilisateur., qui n'a pas besoin de s'identifier d'une quelconque façon, et pendant que l'UMS est en mode inactif, c'est-à-dire à la fois inaccessible à l'utilisateur et à des tiers, et non intrusif, n'interférant pas avec le fonctionnement de l'ordinateur hôte. On rappellera enfin que le contenu du module de service (3) ne peut en aucune façon être modifié à distance, et ne peut à contrario être modifié que par un technicien se connectant physiquement en local à l'UMS en utilisant le seul port de communication autorisé - USBA (4), après avoir établi formellement son identité par exemple en introduisant un dispositif d'identification comme une carte à puce, ou toute combinaison de dispositifs d'identification qui serait requise. De façon conforme aux principes développés plus haut, l'identification formelle de son identité entraîne l'autorisation d'accès à certains modules de l'Unité de Service (3) et registres du micro-contrôleur (2); le micro-ordinateur du 8 technicien a ensuite libre accès aux modules correspondants et à eux seuls, pour les modifier. REVENDICATIONS 1. - Dispositif (UMS) pour assurer la sauvegarde et la restauration données et système d'un ordinateur ou groupe d'ordinateurs ("Ordinateur Hôte"), et pour assurer des liaisons sécurisées avec des prestataires de services connus d'un tiers autorisé et fondées sur des fonctionnalités particulières de routage des appels de service, caractérisé par le fait qu'il est constitué des composants suivants : - (i) un dispositif d'identification (1) permettant de déclencher le fonctionnement de l'UMS; - (ii) un micro-contrôleur (2) commandant le fonctionnement général de l'UMS et de 10 chacun de ses composants; - (iii) une unité de service (3) contenant les jeux d'instructions de ce qui peut être réalisé par l'UMS; -(iv) une Unité de Stockage (6) connectée à la fois au bus de communication interne à l'UMS et à des ports USB et IDE permettant de la relier à l'extérieur, elle-même 15 décomposée en plusieurs parties contenant respectivement : - (a) périphérique où est installée la partition bootable de l'UMS ; - (b) périphérique où est logée une copie du support (a) ; -(c) périphérique esclave des outils et contrôle distant géré sous le contrôle de l'ordinateur hôte ; et, 20 - (d) périphérique des outils de maintenance et des empreintes (système/donnée) de l'ordinateur hôte. - (v) une interface de commutation (7) permettant de commander individuellement l'alimentation de chaque composante de l'Unité de Stockage (6) et de l'unité de service (3); 25 - (vi) un port de communication (5) avec l'Ordinateur Hôte, et, - (vii) une interface de commutation (8) d'entrée-sortie et de lecture-écriture du port de communication (5). 2. - Dispositif selon la revendication 1, caractérisé par le fait que le dispositif d'identification (1) peut être constitué d'un dispositif de type carte à puce ou de 30 combinaison de dispositifs d'identification, contenant des données enregistrées qui pourront être exploitées lors de la procédure de validation.. - Dispositif selon la revendication 2 caractérisé par le fait qu'il comprend en outre un dispositif de mise à jour qui est constitué d'un port de communication û Interface USB-A (4) également connecté au bus de l'UMS par l'intermédiaire d'une interface de commutation (8). 4. û Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé par le fait qu'il utilise en outre les composantes suivantes, utilisées pour mettre en oeuvre les fonctions de routage des appels de service : - (i) la composante de routage proprement dite, appelé " PAMI " (11) (" Plate-forme d'Administration Master International "), qui reçoit tous les appels émis par l'UMS, et est susceptible de les router vers l'un ou l'autre des fournisseurs de service référencés ; - (ii) une base de données externe "BD/TC ("Base de Données Techniques et Commerciales") (13), et permettant à la PAMI de déterminer si et où router un appel ; et, - (iii) les prestataires de services distants eux-mêmes. 5. - Procédé pour la mise en oeuvre du dispositif selon l'une quelconque des revendications 1 à 4, caractérisé par le fait qu'il comprend les étapes suivantes : - (i) un utilisateur de l'Ordinateur Hôte active 1'UMS au moyen du dispositif d'identification (1) ; - (ii) le micro-contrôleur (2) charge les instructions contenues dans l'unité de service (3) ; - (iii) le micro-contrôleur (2) active les composants nécessaires immédiatement : -(a) les commutateurs d'alimentation (7) agissant sur les unités de mémoire de masse (6) et sur les unités de service (3) ; - (b) l'interface de commutation (8) , elle-même reliée au port de communication (5) ; et, -(iv) quand l'unité de stockage (6) est alimentée, ledit dispositif propose à l'utilisateur un menu d'actions à effectuer, parmi celles dont l'exécution a été autorisée au préalable, et en particulier tout ou partie des actions du type (a) restauration système automatique, (b) maintenance à distance, ou (c) assistance à distance ; - (v) l'utilisateur choisit une action dans le menu ; - (vi) le micro-contrôleur (2) charge depuis l'unité de service (3) les instructions correspondant au choix effectué dans le menu, et les exécute ensuite ; - (vii) après exécution complète, l'UMS se replace dans sa configuration d'origine, qui est inactive et invisible tant de l'ordinateur hôte que de tiers ; et 1- (viii) rend la main à l'ordinateur hôte, qui se réinitialise. 6. - Procédé selon la revendication 5 pour la mise en oeuvre du dispositif selon la revendication 2, caractérisé par le fait qu'il comprend les étapes suivantes : - (i) identification de l'utilisateur, en utilisant toute combinaison de moyens directs (notamment des moyens biométriques), et indirects (notamment des moyens d'identification protégés de type carte à puce ou équivalent qu'il soumet à la lecture) ; - (ii) exploitation de cette information pour déterminer les droits à service de cet utilisateur ; - (iii) mise en oeuvre d'une restriction interdisant l'usage des fonctions non autorisées, qui 10 est prise en compte dans le menu de choix qui est proposé à l'écran de l'ordinateur hôte comme indiqué dans la revendication 5, et pour les contrôles d'accès. 7. - Procédé selon la revendication 5 pour la mise en oeuvre du dispositif selon la revendication 3, caractérisé par le fait qu'il est constitué des étapes suivantes : - (i) un technicien établit formellement son identité par exemple en introduisant un 15 dispositif d'identification comme une carte à puce, ou toute combinaison de dispositifs d'identification qui serait requise ; - (ii) l'identification formelle de son identité entraîne l'autorisation d'accès à certains modules de l'unité de service (3) par le micro-contrôleur (2), relayée par les commutateurs (7) ; 20 - (iii) le technicien connecte à l'unité d'entrée-sortie (4) un dispositif extérieur approprié ; - (iv) le technicien effectue la modification des mémoires de l'unité de service (3), avant de - (v) clore la transaction, ce qui désactive l'UMS.