Brevet FR2821188A1 — publié le 20020823

PROCEDE DE STOCKAGE SECURISE DE DONNEES PERSONNELLES ET DE CONSULTATION, CARTE A PUCE, TERMINAL ET SERVEUR POUR LA MISE EN UVRE DU PROCEDE. L'invention concerne un procédé de stockage sécurisé de données personnelles et de consultation. L'invention concerne également des cartes à puces destinées à dialoguer avec un serveur distant à travers un réseau de communication via un terminal lié à lecteur de cartes à puces. Elle concerne aussi les terminaux de télécommunication et notamment les téléphones mobiles équipés d'une carte à puce d'identification d'abonné pourvus les uns ou les autres d'un navigateur permettant le dialogue avec un serveur. Aujourd'hui une personne adulte possède des dizaines d'informations qui lui sont personnelles voire même confidentielles et dont elle peut avoir besoin à tout instant dans son quotidien. Le nombre de ces informations ne cesse d'augmenter avec l'apparition de nouveaux services ou de nouveaux produits industriels. Parmi toutes les informations personnelles, on peut citer les numéros de comptes bancaires, les numéros d'abonnement à des services, les codes secrets ou mots de passe et bien sûr les numéros de téléphones dont le volume augmente du simple fait qu'il est de plus en plus habituel de joindre un numéro de téléphone portable à un numéro du réseau de téléphonie fixe. La masse d'information confidentielle que doit gérer une personne aujourd'hui ne cesse d'augmenter. Un grand nombre de personnes ont encore recours aux agendas papiers pour noter toutes ces informations y compris, les codes secrets. On comprend bien que cette solution ne soit plus du tout adaptée pour mémoriser des informations confidentielles et encore moins secrètes. Les agendas papier peuvent rester une solution intéressante, bien entendu dans la mesure où les informations personnelles ne sont que des numéros de téléphone et où ces informations ne nécessitent pas de fréquentes modifications (mises à jours). On voit apparaître cependant depuis quelques années des dispositifs électroniques portables dénommés Personal Digital Agenda PDA qui permettent de mémoriser un grand nombre d'informations notamment des informations personnelles. Ces dispositifs permettent à une personne de créer un fichier privé dans lequel elle va pouvoir mémoriser toutes les informations personnelles qu'elle souhaite. Un mot de passe est demandé pour activer et déchiffrer les données mémorisées. Malheureusement, ces dispositifs n'apportent pas une sécurité suffisante car leur système d'exploitation est un système d'exploitation ouvert c'est à dire accessible et dans lequel on peut par conséquent introduire des programmes espions (cheval de Troie) ou des virus, même dans le cas où les données échangées avec l'extérieur sont chiffrées. La présente invention vise à résoudre ce problème. A cette fin, l'invention propose de permettre à un utilisateur de saisir des données personnelles à partir d'un terminal lié à lecteur de carte à puce au moyen d'un navigateur qui peut être présent dans la carte à puce et/ou dans le terminal, capable de commander l'affichage par le terminal de pages fournies par un serveur à travers un réseau de communication et de commander une sauvegarde sur la carte des données éventuellement cryptées, saisies. En outre le procédé permet d'effectuer une copie de cette sauvegarde sur le serveur de façon très simple et sûre pour l'utilisateur. L'utilisateur pourra ainsi, en cas de perte ou de vol de son terminal demander un chargement au serveur de ses données personnelles sur le nouvel équipement. Les cartes à puce comportant des programmes d'application, développées actuellement sont similaires à un ordinateur dans la mesure où elles possèdent un système d'exploitation et un ou plusieurs programmes d'application que l'on peut charger ou télécharger et dont l'exécution est lancée par le système d'exploitation. Le système d'exploitation est protégé par le fait même, qu'il est mémorisé en mémoire morte (mémoire ROM). Le système d'exploitation n'est de ce fait pas modifiable à l'intérieur de la carte. Parmi les programmes d'application exécutés (ou interprétés) par le système d'exploitation, on prévoit selon l'invention un programme de navigation apte à dialoguer avec un serveur et apte à fournir des pages pour la saisie de données personnelles de l'utilisateur. Avantageusement la saisie des données est réalisée en ligne. La présente invention a donc pour objet un procédé de stockage sécurisé de données personnelles et de consultation principalement caractérisé en ce qu'il comporte les étapes suivantes : - utiliser un terminal lié à un lecteur de carte à puce et muni d'une interface home machine comprenant un moyen de visualisation et de saisie de données, - utiliser un navigateur capable de dialoguer avec un serveur distant à travers un réseau de communication, à partir dudit terminal, visualiser des pages de données avec ledit moyen de visualisation, - saisir des données personnelles d'un utilisateur en réponse aux pages visualisées et les mémoriser en local pour consultation et à distance sur le serveur pour sauvegarde. Selon une autre caractéristique, les pages de données sont fournies par le serveur. Selon une autre caractéristique, les pages de données sont fournies au cours d'une communication et de saisie. La saisie des données est réalisée en ligne, la session restant ouverte pendant toute la durée de la saisie. Les données personnelles sont enregistrées en local sur la carte à puce et une copie est sauvegardée sur le serveur. La sauvegarde de la copie à distance est réalisée sensiblement simultanément à l'enregistrement en local. De préférence, les données personnelles sont cryptées par la carte avant d'être sauvegardées et ne peuvent être décryptées que par la carte. De préférence, les données personnelles sont cryptées au moyen d'un algorithme de chiffrement utilisant une ou plusieurs clés sauvegardées dans la carte. Les clés de chiffrement sont également sauvegardées par une entité de confiance. Le navigateur comporte les fonctions d'un navigateur de type défini par le standard S (S) t (SIM Alliance TooL Box). Les pages fournies par le serveur sont des pages de type défini par le langage sRtML. L'invention a également pour objet, une carte à puce comprenant une unité de traitement et une ou plusieurs mémoires de programmes comprenant des programmes parmi lesquels le système d'exploitation de la carte, principalement caractérisée en ce qu'elle comporte en outre un programme navigateur capable de dialoguer avec un serveur distant à travers un terminal lié à un lecteur de carte à puce, muni d'une interface hommemachine, et en ce que le navigateur permet la saisie de données personnelles par un utilisateur du terminal sur des pages de données et leur mémorisation en local dans la carte pour consultation et à distance sur le serveur De préférence, la carte comporte un programme de sécurisation des données sauvegardées. Le programme de sécurisation des données met en oeuvre un algorithme de cryptage utilisant une ou plusieurs clés mémorisées dans la carte pour crypter les données personnelles saisies avant sauvegarde, et de décryptage pour toute consultation de ces données par l'utilisateur. Ce programme de cryptage peut être intégré dans le programme de navigation. Selon un exemple la carte est une carte SIM. Avantageusement, le navigateur comporte les fonctions d'un navigateur de type défini par le standard st (SIM Alliance Tool Box). L'invention a également pour objet, un terminal de communication muni d'une interface homme machine comportant des moyens de visualisation et de saisie apte à établir une communication à travers un réseau avec un serveur distant principalement caractérisé en ce qu'il comporte un navigateur apte à fournir pour visualisation des pages de saisie de données personnelles et la mémorisation en local des données saisies et à distance sur le serveur. Selon un exemple le terminal est un téléphone mobile. Dans cet exemple ladite carte à puce est insérée dans le terminal par un utilisateur et y réside. Selon un autre exemple le terminal est du type un micro-ordinateur et la carte à puce est insérée par l'utilisateur à chaque utilisation. L'invention a également pour objet un serveur, principalement caractérisé en ce qu'il comporte une application apte à fournir à un navigateur distant via un terminal de communication des pages interprétables et/ou exécutables par le navigateur, les pages comportant au moins des demandes de saisie d'informations personnelles, des demandes de mémorisation en local de ces informations, des demandes de retour de ces informations vers le serveur, ladite application comportant une étape de stockage desdites informations reçues. D'autres particularités et avantages de l'invention apparaîtront clairement à la lecture de la description suivante qui est donnée à titre d'exemple non limitatif et en regard des figures sur lesquelles : - la figure 1, illustre le schéma d'un exemple de système permettant la mise en oeuvre du procédé selon l'invention, - La figure 2, illustre, un exemple de déroulement de la saisie sur plusieurs pages, - La figure 3, illustre un schéma fonctionnel d'une carte à puce, La figure 4, illustre un terminal muni d'une carte à puce. L'invention s'applique à des terminaux lecteurs de carte à puce ou reliés à un lecteur de carte à puce. On parlera dans la suite de manière générale de terminal lecteur de carte à puce ou liés à un lecteur de carte à puce. L'invention s'applique donc à tout dispositif électronique équipé de moyen de communication avec une carte à puce. Il s'agit par exemple des téléphones mobiles, des micro-ordinateurs, des agendas électroniques personnels (PDA), des terminaux bancaires, y compris les cartes à puce elles même dans la mesure où il existe des cartes à puce lecteur d'une autre carte à puce. La carte à puce est soit résidente dans le terminal, soit insérée dans le terminal, soit reliée au terminal à travers un lecteur en liaison avec le terminal. Cette liaison peut être filaire ou infra rouge ou radio par exemple ou de type Blue Tooth. Les cartes à puces qui sont destinées à communiquer avec un terminal, possèdent un programme de communication avec le terminal. Le terminal ou la carte comporte un navigateur pour se connecter et échanger avec un serveur distant. En effet, dans la présente invention on s'intéresse à une carte à puce pourvue d'un programme navigation, dénommé également navigateur ou browser en terminologie anglo-saxonne. Ce navigateur permet le dialogue via le terminal, avec un serveur à travers un réseau de communication (par exemple GSM, UMTS ou autre). Les programmes d'application sont en général, mémorisés en mémoire électriquement programmable. Ces programmes peuvent ainsi être mis à jour et certains téléchargés au moyen du terminal. On va décrire dans la suite un exemple dans le cas où le terminal est un terminal de télécommunication tel qu'un téléphone mobile dans lequel on le rappelle, la carte à puce réside. On choisit donc, pour la suite, à titre d'exemple, le cas des cartes SIM qui sont des cartes d'identification d'abonnés. On choisit également à titre d'exemple un navigateur tel que définit par le standard set de l'organisme SIM ALLIANCE (SIM ALLIANCE TOOLBOX). La figure 1 donne un schéma de principe dans le cas de cet exemple particulier. Un téléphone mobile T équipé d'une carte à puce C (SIM) peut communiquer à travers un réseau de communication R et une passerelle P avec un serveur S dédié à cette application et dans lequel l'utilisateur est répertorié par exemple par un numéro de client. On a également représenté sur cette figure 1 également l'entité A qui représente un tiers de confiance chez qui les clés secrètes des clients utilisateur du serveur S peuvent être stockées. On va se reporter maintenant pour mieux comprendre l'invention, aux tableaux suivants donnés à titre d'exemple afin d'illustrer les différents échanges entre carte, terminal et serveur lors d'une opération de saisie et lors d'une opération de consultation :. Une opération de saisie est illustrée par les étapes détaillées 1 à 20 dans le tableau qui suit. SAISIE DES DONNEES PERSONNELLES : Etape Utilisateur Carte Mobile Réseau Serveurs dédiés (navigateurs) (BTS,..., (supportant une gateway, application générant les pages STKML et mettant à jour la base de données personnelles chez l'opérateur) 1 Sélection du mode saisie de données 2 Envoi d'une requête à servir (page STKML) pour chargement d'une forme à compléter templat en terminologie anglo saxone 3 Envoi page 4 Envoi page 5 Préparation de la forme Emission de la page contenant la forme 6 Envoi page 7 Réceptio n page 8 Réception page Demande d'affichage au mobile 9 Affichag e page 10 Saisie des informations. demandées sur la page : données personnelles (nom, numéro permis de conduire) 11 Cryptage des données avec algorithme de cryptage (de la carte ou du navigateur) et avec clé applicative stockée dans la carte 12 Préparation page avec données cryptées pour serveur 13 Sauvegarde locale des données cryptées 14 Envoi page Etape Utilisateur Carte Mobile Réseau Serveurs dédiés suite (navigateur s&commat;t) (BTS,..., (supportant une gateway, application générant les pages STKML et mettant à jour la base de données personnelles chez l'opérateur) 15 Envoi page 16 Envoi page 17 Stockage des données privées cryptées dans la base de données personnelles 18 Préparation de la forme suivante Emission de la page contenant la forme 19 Envoi page 20 Etc, pour toutes les informations demandées, Ainsi, comme on peut le voir dans cet exemple, à chaque instant, la base de données du serveur S et les données de mises à jour. dans la carte C sont cohérentes. Au cas où les données ne seraient pas stockées sur le serveur, par exemple par absence de couverture du réseau, une fonction de rappel peut être prévue pour effecteur automatiquement ou proposer cette sauvegarde dès la détection d'une couverture du réseau. Le programme d'application peut comprendre en outre des fonctions qui donnent des choix à l'utilisateur : - pour la sauvegarde des données à la fois dans la carte et/ou sur le serveur ; - une seule sauvegarde peut être effectuée soit dans la carte soit sur le serveur soit dans le terminal ; - les données à stocker dans le terminal sont de préférence cryptées ou peuvent ne pas l'être selon le choix de l'utilisateur. En outre, ce programme peut prévoir que les pages de données soient générées par la carte ou par le terminal. Le programme d'application peut proposer de faire une mémorisation à deux endroits ou non (sur la carte SIM, sur le serveur, sur une autre carte, sur le terminal, sur un ordinateur). Une opération de consultation est illustrée par les étapes 1 à 9 du tableau qui suit. CONSULTATION DE DONNEES PERSONNELLES : Etape Utilisateur Carte Terminal Réseau Serveurs dédiés (navigateur st) Mobile (BTS,..., (supportant une gateway, application générant les pages STKML et mettant à jour la base de données personnelles chez l'opérateur) 1 Sélection du mode consultation de données 2 Requête traitée localement (les stockées à jour dans la carte) 3 données lues dans la carte et décryptées à l'aide de l'algorithme de décryptage de la carte ou du navigateur et de la clé applicative stockée dans la carte 4 Préparation de la page contenant forme demandée et les données 5 la page 6 Affichage de la page 7 des informations 8 de données à consulter 9 localement (les données sont stockées à jour dans la carte) ... cf. ci-dessus... De préférence, le mode mise à jour (saisie de données) se fait en ligne et le mode consultation se fait hors connexion. On peut prévoir aussi que les pages fournies par le serveur, soient stockées vierges pour permettre à l'utilisateur de fermer la session et de saisir les données sur les pages hors connexion (session fermée). Bien entendu la session est ouverte de manière sécurisée et connue c'est à dire après que l'utilisateur a été identifié (saisi d'un code d'identification par exemple). De plus dans le cas d'un téléphone mobile le PIN code (Personnal Identifier Number) peut en outre être exigé. Le navigateur assure l'émission/réception et l'interprétation d'une page comportant des commandes exécutables et/ou interprétables. Parmi les commandes présentes dans les pages exécutables et/ou interprétables on a : - L'émission d'une requête au serveur pour la fourniture d'une page STKML ; - la demande d'affichage au terminal, de libellé ou données contenu (e) s dans les pages ; - l'appel de la fonction cryptage ou déclenchement directe de son exécution si cette fonction est intégrée au navigateur ; - la sauvegarde locale des données (notamment dans une mémoire électriquement programmable de la carte) ; - la demande d'envoi de chaque page avec les données personnelles saisies, à partir du mobile pour sauvegarde sur le serveur. Les commandes d'affichage peuvent être des commandes d'impression ou équivalentes à destination de l'utilisateur. L'interface homme machine comporte alors un écran d'affichage ou une imprimante. Comme cela a été dit, les données personnelles saisies et sauvegardées sur la carte sont sécurisées par la sécurité intrinsèque de la carte (hardware TPR résistant aux attaques d'intrusion). Cette sécurité est avantageusement renforcée par cryptage de ces données au moyen d'un algorithme connu, utilisant une clé secrète réservée à cette application et contenue dans la carte. L'algorithme de cryptage/décryptage peut être intégré au navigateur ou être sous la forme d'un programme séparé que peut appeler le navigateur. Les données sauvegardées súr le serveur sont de préférence également sécurisées, c'est-à-dire cryptées par la carte avant envoi. Seule la carte peut les décrypter. En effet, les données peuvent être stockées chiffrées ou cryptées avant sauvegarde sur le serveur. Ce cryptage est réalisé sur la base d'une clé dédiée à cette application stockée sur la carte et dont un double peut être conservé par un tiers de confiance A. Avant l'affichage, les données sont déchiffrées par la carte. L'invention permet ainsi d'effectuer une sauvegarde de données personnelles d'un utilisateur sur la carte et sur le serveur. Ainsi, en cas de perte ou de vol du terminal lecteur de carte à puce et plus précisément de la carte à puce, l'utilisateur pourra récupérer ses données et/ou sa ou ses clés notamment en demandant le chargement de la copie de sauvegarde de ses données personnelles sur sa nouvelle carte. La figure 2 illustre l'exemple du déroulement de l'affichage de trois pages successives et de données personnelles pouvant être saisies. La figure 3, illustre le schéma fonctionnel d'une carte à puce CP. La carte à puce ou objet à circuit intégré ou équivalent, comporte une unité centrale U reliée à une mémoire de programmes non volatile Ml et au moins une mémoire de programme électriquement programmable M2. La mémoire Ml comporte le système d'exploitation de la carte CP et éventuellement le programme de navigation. La carte à puce peut ainsi dialoguer avec le serveur distant via le terminal de télécommunication. La figure 4, illustre le schéma d'un terminal T. Ce terminal possède les fonctions de lecteur de carte à puce qui lui permettent de communiquer avec la carte à puce CP. Il possède un écran E et un clavier C. Selon un exemple de réalisation le terminal T est un téléphone mobile, la carte est une carte SIM et le navigateur répond au standard st de la SIM ALLIANCE. Selon un autre exemple le terminal peut être un terminal dans lequel la carte à puce ne réside pas mais doit être insérée dans un lecteur associé par un utilisateur du terminal. Il peut s'agir par exemple d'un terminal bancaire ou d'un micro-ordinateur ou d'un PDA. REVENDICATIONS 1. Procédé de stockage sécurisé de données personnelles et de consultation, caractérisé en ce qu'il comporte les étapes suivantes : - utiliser un terminal lié à un lecteur de carte à puce et muni d'une interface home machine comprenant un moyen de visualisation et de saisie de données, - utiliser un navigateur capable de dialoguer avec un serveur distant à travers un réseau de communication, à partir dudit terminal, visualiser des pages de données avec ledit moyen de visualisation, - saisir des données personnelles d'un utilisateur en réponse aux pages visualisées et les mémoriser en local pour consultation et à distance sur le serveur pour sauvegarde. 2. Procédé de stockage selon la revendication 1, caractérisé en ce que les pages de données sont fournies par le serveur. 3 Procédé de stockage selon la revendication 1 ou 2, caractérisé en ce que les pages de données sont fournies au cours d'une communication et de saisie. 4. Procédé de stockage selon l'une quelconque des revendications précédentes, caractérisé en ce que la saisie des données est réalisée en ligne. 5. Procédé de stockage selon l'une quelconque des revendications précédentes, caractérisé en ce que les données personnelles sont enregistrées en local sur la carte à puce et une copie est sauvegardée sur le serveur. 6. Procédé de stockage selon la revendication 3, caractérisé en ce que la sauvegarde de la copie à distance est réalisée sensiblement simultanément à l'enregistrement en local. 7. Procédé de stockage selon l'une quelconque des revendications précédentes, caractérisé en ce que les données personnelles sont cryptées par la carte avant d'être sauvegardées. 8. Procédé de stockage selon la revendication 7, caractérisé en ce que les données personnelles sont cryptées au moyen d'un algorithme de chiffrement utilisant une ou plusieurs clés sauvegardées dans la carte. 9. Procédé de stockage selon la revendication 8, caractérisé en ce que la ou les clés de chiffrement sont également sauvegardées par une entité de confiance. 10. Procédé de stockage selon l'une quelconque des revendications précédentes, caractérisé en ce que le navigateur comporte les fonctions d'un navigateur de type défini par le standard s&commat;t (SIM Alliance TooL Box). 11. Procédé de stockage selon la revendication 10, caractérisé en ce que les pages fournies par le serveur sont des pages de type défini par le langage s&commat;tML. 12. Carte à puce comprenant une unité de traitement et une ou plusieurs mémoires de programmes comprenant des programmes parmi lesquels le système d'exploitation de la carte, caractérisé en ce qu'elle comporte en outre un programme navigateur capable de dialoguer avec un serveur distant à travers un terminal lié à un lecteur de carte à puce, muni d'une interface homme-machine, et en ce que le navigateur permet la saisie de données personnelles par un utilisateur du terminal sur des pages de données et leur mémorisation en local dans la carte pour consultation et à distance sur le serveur. 13. Carte à puce selon la revendication 12, caractérisé en ce que ladite carte est une carte SIM. 14. Carte à puce selon les revendications 12 ou 13 précédentes, caractérisée en ce que le navigateur comporte les fonctions d'un navigateur de type défini par le standard s&commat;t (SIM Alliance Tool Box). 15. Terminal de communication pour la mise en oeuvre du procédé selon la revendicationl, ledit terminal étant muni d'une interface homme machine comprenant des moyens de visualisation et de saisie et apte à établir une communication à travers un réseau avec un serveur distant, caractérisé en ce qu'il comporte un navigateur apte à fournir pour visualisation des pages de saisie de données personnelles et la mémorisation en local des données saisies et à distance sur le serveur. 16. Terminal selon la revendication 15, caractérisé en ce que le terminal étant est téléphone mobile. 17. Terminal selon la revendication 15, caractérisé en ce que le terminal est de type micro ordinateur, ladite carte à puce étant insérée dans le terminal par un utilisateur à chaque utilisation. 18. Serveur pour la mise en oeuvre du procédé selon la revendication 1, caractérisé en ce qu'il comporte une application apte à fournir à un navigateur distant via un terminal de communication des pages interprétables et/ou exécutables par le navigateur, les pages comportant au moins des demandes de saisie d'informations personnelles, des demandes de mémorisation en local de ces informations, des demandes de retour de ces informations vers le serveur, ladite application comportant une étape de stockage desdites informations reçues.