Brevet FR2875027A1 — publié le 20060310

SECURITE ET MOBILITE DES DONNEES INFORMATIQUES PERSONNELLES La présente invention se rapporte au domaine de sauvegarde des données informatiques. La présente invention concerne plus particulièrement un procédé de sauvegarde des données informatiques personnelles correspondant à un profil utilisateur en vue de permettre la mobilité de ces informations sur différents ordinateurs. L'art antérieur connaît déjà, par la demande de brevet américaine US 20020029254 (Touch Technology International), un procédé et un système de commande et gestion de l'enregistrement et de la récupération d'informations sur des personnes dans un environnement de réseau informatique. Conçus pour utiliser toute application provenant de tout vendeur, ils peuvent par exemple offrir à un individu la possibilité de définir, stocker en sécurité, récupérer et/ou modifier des informations le concernant, touchant notamment à l'accès à des ordinateurs, au commerce électronique ou à la recherche d'informations sur Internet, communiquer avec d'autres parties via des mécanismes électroniques, et en outre améliorer significativement les méthodes antérieures de gestion de l'information par des serveurs ou des clients locaux,en utilisant des dispositifs du type carte à puce aux capacités de traitement analogues à celles des serveurs, sans parler des aspects sécurité physique et mobilité inhérents à la taille et à la portabilité des cartes à puce. Cette solution repose sur l'existence d'un réseau et d'un serveur à partir duquel certaines informations personnelles sont récupérées en relation avec celles contenues sur la carte à puce. L'art antérieur connaît également, par la demande de brevet international WO 03046827 (Liberate Software Limited & Michael Kendon), un procédé de stockage et d'accès sécurisés de données personnelles relatives à un individu, lesdites données personnelles constituant un enregistrement de données personnelles.Le procédé comprend une étape d'association d'un dispositif portable de stockage de données avec un dispositif informatique pour le transfert de données entre ces deux dispositifs, le dispositif de stockage comportant un enregistrement de données personnelles encrypté et des moyens de décryptage pour décrypter l'enregistrement des données personnelles moyennant la mise à disposition d'une clé non stockée sur le dispositif de stockage ; une étape d'accès à l'enregistrement de données personnelles sur le dispositif de stockage et l'utilisation des moyens de décryptage sur le dispositif informatique pour décrypter l'enregistrement de données personnelles moyennant l'ajout de la clé au dispositif informatique ; et une étape d'affichage des données personnelles décryptées par les moyens du dispositif informatique.Une telle invention est orientée pour la sauvegarde des données sur un moyen de stockage portable et la protection de ces données. Cette invention n'offre pas de solution au transport des données constitutives d'un profil utilisateur de sorte à permettre la mobilité du compte associé. On connaît également dans l'art antérieur des dispositifs contenant une mémoire de type flash connectables à un ordinateur par l'intermédiaire, par exemple, d'un port USB. Ces dispositifs sont essentiellement destinés au stockage de données statiques telles que des documents personnels, des fichiers musicaux (MP3) ou encore des fichiers médicaux comme décrit dans la demande de brevet international WO 02093508 (Georges Chiche) . La présente invention entend remédier aux inconvénients de l'art antérieur en proposant un procédé de sauvegarde des données numériques personnelles associées à un profil utilisateur. Le procédé selon la présente invention répond particulièrement bien aux attentes futures des utilisateurs d'ordinateurs personnels quant à la mobilité de leur compte utilisateur. En effet, la présente invention permet de sauvegarder toutes les informations et données constitutives du profil utilisateur sur un module spécifique. L'ordinateur reconnaît alors ces informations et autorise l'accès à ce compte ambulant (compte mobile) . Dans les entreprises, les ordinateurs sont généralement personnalisés selon leur utilisateur et tout autre personne ne pourrait retrouver ses données. Une alternative a été trouvée en mettant en place un serveur qui centralise toutes les données personnelles des utilisateurs. Une gestion de comptes réseau est opérée de sorte à permettre l'accès au compte utilisateur et aux données associées. La présente invention propose une solution qui s'affranchit du réseau et propose aussi bien aux entreprises qu'aux particuliers de se connecter avec n'importe quel compte sur un autre ordinateur et malgré tout d'accéder à ses propres données et paramétrages. A cet effet, l'invention concerne dans son acception la plus générale un procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur, mettant en u̇vre au moins un ordinateur personnel et un module spécifique, ledit module comportant la capacité de sauvegarder des données numériques, comportant une étape préalable consistant à identifier lesdites données numériques correspondant à un profil d'utilisateur (D-User) présentes sur ledit ordinateur personnel ; caractérisé en ce que : il comporte une seconde étape composée des deux sous-étapes suivantes . - copie de la partie copiable desdites données (D-User) sur le module spécifique ; - extraction et enregistrement sur ledit module du contenu des données dites non-copiables. De préférence, ledit procédé comporte en outre une étape de modification d'au moins une partie des données D-User dites copiables de sorte qu'elles prennent en compte le nouvel emplacement de stockage ; ladite étape d'extraction et d'enregistrement comporte : - une étape d'extraction du contenu des données D-User dites non-copiables ; - une étape d'enregistrement sur ledit module d'au moins un conteneur pré-initialisé ; - une étape de modification d'au moins un paramètre du système d'exploitation de l'ordinateur personnel et d'indication à l'ordinateur d'utiliser le profil partiel sauvegardé sur ledit module, ledit profil partiel comprenant la partie copiable des données DUser et le (au moins un) conteneur pré-initialisé ;- une étape d'intégration du contenu des données dites non-copiables dans le (au moins un) conteneur pré-initialisé, ledit contenu étant modifié pour prendre en compte le nouvel emplacement de stockage ; et ledit procédé comporte enfin une étape d'indication à l'ordinateur d'utiliser le profil complet sauvegardé sur ledit module. Avantageusement, ladite étape de modification d'au moins une partie des données D-User copiables de sorte qu'elles prennent en compte le nouvel emplacement de stockage est réalisée en opérant une re-direction de pointeurs. Dans un mode de mise en oeuvre, ledit module spécifique est interne audit ordinateur personnel. Dans un mode de mise en u̇vre particulièrement avantageux, ledit module spécifique est externe. Selon une variante, ledit module spécifique comporte une mémoire de type flash . Selon une deuxième variante, ledit module spécifique est une clé USB. Selon une autre variante, ledit module spécifique comporte une mémoire de type disque dur. De préférence, au moins une partie desdites données numériques enregistrées sur ledit module spécifique est cryptée. Selon un mode de réalisation particulier, ledit procédé comporte en outre une étape de copie de sauvegarde sur l'ordinateur personnel desdites données numériques enregistrées sur ledit module spécifique. De préférence, le système d'exploitation tournant sur ledit ordinateur personnel appartient à la famille (Windows 2000 (nom commercial), Windows XP (nom commercial)). L'invention concerne également un dispositif pour la mise en u̇vre du procédé comprenant au moins une mémoire. L'invention concerne également un système pour la mise en u̇vre du procédé comprenant au moins un ordinateur personnel et un module spécifique. On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence à la figure annexée : - la figure 1 représente un ordinogramme des différentes étapes du procédé selon la présente invention. La présente invention met en u̇vre un procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur. L'intérêt du procédé de la présente invention est de permettre à tout utilisateur des systèmes d'exploitation Windows de Microsoft (nom commercial) de transporter l'ensemble des informations qui constituent un compte utilisateur données personnelles de l'utilisateur, données temporaires d'utilisation, données de paramétrage et toute autre donnée, et de pouvoir les utiliser directement sur n'importe quel autre ordinateur ayant les mêmes systèmes d'exploitation et logiciels, et ceci, sans laisser de trace sur les ordinateurs utilisés, sauf volontairement. Ainsi lorsque l'utilisateur se connecte sur n'importe quel autre ordinateur personnel PC que le sien, il trouve un environnement comme si c'était son propre ordinateur et retrouve ses propres données personnelles, ses propres données temporaires, ses propres paramétrages, ses préférences. Le procédé selon la présente invention met en u̇vre un ordinateur personnel (de bureau ou portable) ayant un système d'exploitation choisi parmi les systèmes d'exploitation Windows 2000 et Windows XP (noms commerciaux) et éventuellement Windows 2003 de Microsoft (nom commercial) et un dispositif annexe comportant un mémoire. Ce dispositif annexe est un module spécifique qui permet le stockage de données à long terme, c'est-à-dire une mémoire de type ROM. On peut par exemple utiliser une mémoire de type flash ou encore un disque dur. Le dispositif annexe de stockage peut indifféremment être interne à l'ordinateur personnel ou externe, il s'agit dans ce cas d'un support de données amovible (disque amovible, clé mémoire, carte mémoire PCMCIA ...).Idéalement, pour des questions de praticité, on utilisera une clé USB , mémoire flash amovible connectable à l'ordinateur par l'intermédiaire du port USB. Dans un mode de réalisation, le procédé selon la présente invention est réalisé par un logiciel présent sur ledit module spécifique. Par exemple, un double-clic sur le logiciel suffit à procéder aux étapes de l'invention décrite ci-après. Le procédé comporte un ensemble d'étapes permettant de réaliser deux actions principales : d'une part le transfert des données du compte d'utilisateur sur le module spécifique de stockage et d'autre part la prise en compte, par le système d'exploitation, des données transférées sur le dispositif annexe et non plus les données présentes sur l'ordinateur. Un grand avantage de cette invention est qu'elle ne requiert pas d'avoir des droits administrateurs ni sur le compte d'origine, ni sur aucun des comptes d'emprunts. La présente invention s'applique au domaine informatique et l'ensemble des étapes réalisées peut être converti en procédures automatisées développées, par exemple, en utilisant le produit NSIS 2.0 (Nullsoft Scriptable Install System). Comme illustré par la figure 1, la première étape commence par la détermination (1) des emplacements de l'ensemble des informations qui constituent un compte utilisateur . On note les données de l'utilisateur qui sont, par exemple, les fichiers et dossiers créés par celui-ci, les données temporaires, par exemple les fichiers temporaires Internet, les données de paramétrage comme les fichiers de préférences, et toute autre donnée spécifique au compte de l'utilisateur. Dans le cadre d'un système d'exploitation Windows, le répertoire contenant l'ensemble des données du compte de l'utilisateur est défini dans la base des registres, dans une clé dépendante de l'identifiant de sécurité (SID - Security Identifier) de l'utilisateur. Cet identifiant peut être déterminé par le nom utilisateur (Username) par lequel l'utilisateur s'identifie. Sous NSIS, cela se traduit par : - Détermination du Username : UserInfo::GetName Pop $UserName - Détermination du SID : nsExec::ExecToStack '"$TEMP\SYD\getsid.bat" $UserName' Pop $0 # return value/error/timeout pop $UserSID StrCpy $UserSID $UserSID -2 Ce code NSIS utilise une procédure automatisée getsid.bat suivante : getsid.exe . %1 . %1 gawk.exe "/is/ {print $7}" uniq.exe getsid.exe est fournit par Microsoft à l'adresse suivante : www.microsoft.com/windows2000/techinfo/reskit/tools/exis ting/getsid-o.asp gawk.exe et uniq.exe ont été obtenus auprès de Ready-toRun Software à l'adresse suivante : http://www.rtr.com/ReadyPaks/windows.asp A partir de cet identifiant SID, le chemin du répertoire contenant l'ensemble des données numériques du compte de l'utilisateur est récupéré dans la base des registres. Sous NSIS, cela se traduit par : ReadRegStr $ProfilePath HKLM "SOFTWARE\Microsoft\Windows NT \CurrentVersion\ProfileList\$UserSID" "ProfileImagePath" Les données numériques contenues dans ce répertoire sont alors copiées vers le nouveau lieu de stockage alors même que certains fichiers sont ouverts par le système d'exploitation et donc d'accès interdit. Tous les fichiers se trouvant dans ce répertoire peuvent être copiés (10) vers la nouvelle de zone de stockage en utilisant n'importe quelle méthode standard, à l'exception de quatre fichiers que le système d'exploitation utilise. Ces quatre fichiers sont, d'une part, ntuser.dat et ntuser.dat.log qui se trouvent directement à la racine de ce répertoire, et usrclass.dat et usrclass.dat.log qui se trouvent dans le répertoire suivant : - Local Settings\Application Data\Microsoft\Windows. Les fichiers ainsi copiés constituent la partie copiable des données numériques du profil utilisateur. Pour copier ces quatre fichiers (2), présumés non-copiables , quatre sous-étapes sont nécessaires. Premièrement, on extrait uniquement le contenu de ces quatre fichiers (20). Sous NSIS, les commandes : reg.exe EXPORT HKU\$UserSID_Classes hkuclasses.reg /nt4 reg.exe EXPORT HKCU hkcu.reg /nt4, permettent de réaliser cette opération. Deuxièmement, une version générique de ces fichiers, que nous appellerons conteneurs préinitialisés , est copiée (21) dans la zone de stockage appropriée du module spécifique de stockage. Ces conteneurs sont obtenus sur n'importe quel ordinateur avec un système d'exploitation Windows sous des droits d'administration. Pour pouvoir les exploiter, les droits de ces versions génériques de fichiers sont modifiés de sorte à en autoriser l'accès à tout le monde aussi bien en mode écriture qu'en mode lecture. Ceci peut être réalisé en changeant les autorisations des clés UserID et UserID_classes du groupe HKEY_USERS de la base des registres. Troisièmement, on indique à l'ordinateur personnel de basculer (22) sur le profil partiel sauvegardé sur le module spécifique. Le profil partiel comprend la partie copiable des données et au moins un des conteneurs pré-initialisés (tous si on réalise la copie des quatre fichiers non-copiables en une seule fois) vide et pré-initialisé (au bon format du fait que ce soit une version générique). Cette bascule est réalisée en modifiant dans la base de registre une clé afin qu'elle pointe sur la nouvelle zone de stockage : StrCpy $INSTDISK $EXEDIR 1 StrCpy $NewProfilePath "$INSTDISK:\$UserName" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVers ion\ProfileList\$UserSID" "ProfileImagePath" "$NewProfilePa th" Sa prise en compte par le système ne devient effective qu'après déconnexion et reconnexion par l'utilisateur. Quatrièmement, les contenus extraits des fichiers non-copiables sont copiés (24) dans les conteneurs pré-initialisés associés. Cependant, ces contenus ne sont pas adaptés à la nouvelle zone de stockage. En effet, avant d'importer le contenu des fichiers non-copiables , il faut modifier les clés qu'il contient afin que tous les pointeurs vers l'ancienne zone de stockage pointent désormais vers la nouvelle zone de stockage du module spécifique (23). En ce qui concerne les fichiers copiables , une telle opération (11) d'adaptation à la nouvelle zone de stockage est aussi réalisée que ce soit au même moment que pour les fichiers non-copiables ou à un autre. Le processus de modification est le suivant : nsExec::ExecToStack '"$TEMP\SYD\backslash.bat" "$NewProfilePath"' nsExec::ExecToStack '"$TEMP\SYD\backslash.bat" "$01dProfilePath"' nsExec::Exec '"$TEMP\SYD\updateregistry.bat" "s/$Double01dProfile Path/$DoubleProfilePath/I"' Les traitements effectués dans backslash.bat sont les suivants : echo %1 sed s/\\/\\\\\\\\/g Les traitements effectués dans updateregistry.bat sont les suivants : sed %1 hkcu.reg > hkcu.reg sed %1 hkuclasses.reg > hkuclasses.reg Le processus d'importation dans les conteneurs est le suivant : nsExec::Exec 'regedit /S $ProfilePath\hkcu.reg' nsExec::Exec 'regedit /S $ProfilePath\hkuclasses.reg' Ensuite, le système d'exploitation bascule (3) totalement de l'ancienne zone de stockage vers la nouvelle zone de stockage du dispositif annexe par simple déconnexion et reconnexion de l'utilisateur. Celui-ci récupère ainsi le profil copié complet correspondant au profil initial. La présente invention peut en outre permettre la copie de sauvegarde des données exportées sur le module spécifique à chaque utilisation et/ou effectuer un cryptage des données sur le dispositif annexe ou des données de sauvegarde de sorte à les protéger de toute utilisation frauduleuse. Cette protection peut être réalisée par l'ajout d'un mot de passe aux fichiers sauvegardés. En ce qui concerne les logiciels contenus dans l'ordinateur personnel, les modifications réalisées sur les données copiables et non-copiables pour remplacer l'ancienne zone de stockage en la nouvelle, permettent à ceux-ci de comprendre que les zones de stockage temporaires ou par défaut ne sont plus les anciennes mais les nouvelles. Ceci n'est pas le cas pour certains logiciels pour lesquels il faut réaliser un traitement particulier. C'est en particulier le cas des logiciels Palm Hotsync et Desktop pour lesquels il faut déplacer le fichier users.dat et les répertoires des utilisateurs du disque vers la zone de stockage voulue et modifier en conséquence la clef suivante de la base des registres : - HKCU\Software\U.S.Robotics\Pilot Desktop\Core\Path Enfin lorsque l'utilisateur désire se connecter à un autre ordinateur personnel en utilisant son propre compte, le logiciel embarqué sur le module spécifique modifie la clé de la base des registres qui indique la zone de stockage. L'utilisateur peut ensuite se connecter à son compte. Un intérêt inhérent à ce système est d'offrir une sécurité contre le vol ou la perte soit du support amovible soit de l'ordinateur personnel car les données sont présentes sur les deux dispositifs. Ainsi, le vol n'est plus destructeur de valeurs. L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet. REVENDICATIONS 1 . Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur, mettant en u̇vre au moins un ordinateur personnel et un module spécifique, ledit module comportant la capacité de sauvegarder des données numériques, comportant une étape préalable consistant à identifier lesdites données numériques correspondant à un profil d'utilisateur (D-User) présentes sur ledit ordinateur personnel ; caractérisé en ce que : il comporte une seconde étape composée des deux sous-étapes suivantes : - copie de la partie copiable desdites données (D-User) sur le module spécifique ; - extraction et enregistrement sur ledit module du contenu des données dites non-copiables. 2. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon la revendication précédente, caractérisé en ce que : il comporte en outre une étape de modification d'au moins une partie des données D-User dites copiables de sorte qu'elles prennent en compte le nouvel emplacement de stockage ; ladite étape d'extraction et d'enregistrement comporte : - une étape d'extraction du contenu des données D-User dites non-copiables ; - une étape d'enregistrement sur ledit module d'au moins un conteneur pré-initialisé ; - une étape de modification d'au moins un paramètre du système d'exploitation de l'ordinateur personnel et d'indication à l'ordinateur d'utiliser le profil partiel sauvegardé sur ledit module, ledit profil partiel comprenant la partie copiable des données DUser et le (au moins un) conteneur pré-initialisé ; - une étape d'intégration du contenu des données dites non-copiables dans le (au moins un) conteneur pré-initialisé, ledit contenu étant modifié pour prendre en compte le nouvel emplacement de stockage ; et il comporte enfin une étape d'indication à l'ordinateur d'utiliser le profil complet sauvegardé sur ledit module. 3. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon la revendication précédente, caractérisé en ce que ladite étape de modification d'au moins une partie des données DUser copiables de sorte qu'elles prennent en compte le nouvel emplacement de stockage est réalisée en opérant une re-direction de pointeurs. 4. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon les revendications précédentes, caractérisé en ce que ledit module spécifique est interne audit ordinateur personnel. 5. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit module spécifique est externe. 6. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon les revendications précédentes, caractérisé en ce que ledit module spécifique comporte une mémoire de type flash . 7. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ledit module spécifique est une clé USB. 8. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ledit module spécifique comporte une mémoire de type disque dur. 9. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon les revendications précédentes, caractérisé en ce qu'au moins une partie desdites données numériques enregistrées sur ledit module spécifique est cryptée. 10. Procédé de sauvegarde de données numériques correspondant à un profil d'utilisateur selon les revendications précédentes, caractérisé en ce qu'il comporte en outre une étape de copie de sauvegarde sur l'ordinateur personnel desdites données numériques enregistrées sur ledit module spécifique. 11. Dispositif pour la mise en u̇vre du procédé selon l'une quelconque des revendications précédentes comprenant au moins une mémoire. 12. Système pour la mise en u̇vre du procédé selon l'une quelconque des revendications 1 à 10 comprenant au moins un ordinateur personnel et un module spécifique.