FR 2809892 A1 20011207 FR 0007041 A 20000531 PROCEDE DE PROTECTION CONTRE LA MODIFICATION FRAUDULEUSE DE DONNEES ENVOYEES A UN SUPPORT ELECTRONIQUE SECURISE L'invention concerne un procédé de protection contre la modification frauduleuse de données envoyées par un utilisateur à un support sécurisé (une carte puce par exemple). De telles données peuvent être constituées par une commande et/ou par un message accompagné d'une signature électronique pour son authentification. L'invention se place dans un contexte où le support sécurisé est couplé à un ordinateur de type PC (Personal Computer en anglais qui désigne un ordinateur domestique) via un lecteur. Avec le développement du commerce électronique, que ce soit d'entreprise à entreprise ou d'entreprise particulier, apparaît la nécessité de parvenir à un cadre légal permettant de résoudre devant une juridiction les éventuels conflits. Ce cadre légal commence à se mettre en place, que ce soit en Europe ou aux Etats-Unis, avec la reconnaissance de la signature électronique comme moyen de preuve. Dans ces conditions, il est important de considérer les moyens techniques à mettre en ceuvre pour générer des signatures électroniques fiables, c'est à dire les moins contestables possible. On utilise généralement des techniques de cryptographie à clé publique qui permettent de générer des signatures numériques de documents numériques. La plupart des algorithmes de cryptographie couramment utilisés, comme DSA, Schnorr ou E1 Gamal par exemple, exploitent une fonction de hachage dans le procédé de génération de la signature électronique. Une telle fonction, pseudo- aléatoire, consiste à transformer le texte initial à signer en un texte haché qui brise la linéarité de la génération des signatures. Les algorithmes de génération de signature électronique sont généralement implantés en utilisant matériel et du logiciel, classiquement un ordinateur de type PC muni de logiciels et de la clé publique ainsi qu'un support sécurisé contenant la clé secrète l'utilisateur et les algorithmes cryptographiques de signature. Selon les applications, le support sécurisé peut etre une carte à puce ou une carte PCMCIA par exemple. La plupart des ordinateurs PC portables sont munis d'un lecteur intégré PCMCIA. Certaines de ces cartes au format PCMCIA peuvent même être des lecteurs de carte puce. Nous supposons dans la suite que la signature électronique est générée à partir d'une carte à puce nécessitant l'utilisation d'un code d'authentification (code PIN) et que le lecteur est un coupleur très simple du type GemPC420 ne disposant ni de clavier écran. En effet les lecteurs avec de telles entrées/sorties (du type GCR500) sont beaucoup plus coûteux et se trouvent rarement connectés à un PC sont autonomes, mais la mise en ceuvre l'invention serait cependant facilitée par leur utilisation. Classiquement, on considère qu'un procédé génération de signature électronique doit produire une signature possédant les propriétés suivantes - Authenticité : une signature valide implique la volonté délibérée de l'utilisateur de signer le document auquel est associée la signature. Le protocole de signature doit donc garantir la participation active de utilisateur et de lui seul. I1 faut par conséquent authentifier celui-ci préalablement la signature. Dans un système utilisant une carte à puce, deux éléments garantissent la présence active de l'utilisateur : la présence d'un élément physique que lui seul possède (la carte) et l'entrée d'une donnée que seul connait (un code PIN ou un mot de passe). Infalsifiabilité : seul l'utilisateur doit être en position de générer une signature pour un document donné. Cette propriété est garantie l'utilisation d'algorithmes cryptographiques considérés comme sûrs et d'une infrastructure à clé publique de confiance, ainsi que par l'utilisation d'un moyen de stockage des clés résistant aux attaques physiques et logiques (une carte à puce par exemple). - Non réutilisabilité : la signature associée à un document ne peut pas être réutilisée associée à un autre document, c'est à dire que toute modification du message associé à la signature doit pouvoir être détectée. Cette propriété est garantie les procédés connus utilisant une fonction de hachage et des algorithmes de génération de signatures numériques aléatoires par appel à des aléas régénérer entre chaque signature. - Non répudiation : l'utilisateur du document ne peut pas nier avoir délibérément signé un document après l'avoir fait. Cette propriété repose sur la sécurité globale du système, et n'est donc vraie que si la probabilité d'attaquer le système est négligeable. Dans le cas contraire un utilisateur pourra répudier sa signature en arguant de la faiblesse du système. I1 est à noter que l'on doit tenir compte à ce niveau là des utilisateurs de mauvaise foi (connus sous l'expression anglo-saxonne de first party attack). En effet, un utilisateur peut délibérément introduire une faille dans le système pour pouvoir, a posteriori, répudier sa signature. Par exemple, si l'utilisateur génère lui-même sa clé publique, il peut délibérément choisir une clé faible tout en prétendant par la suite avoir choisi une cle au hasard qui s'est avérée faible et a été cassée. On considère, en général, que les systèmes utilisant un PC et cartes à puce sont suffisamment fiables pour garantir la non répudiabilité des signatures générées. Cependant, des attaques par l'intermédiaire de chevaux de Troie se sont suffisamment développées ces derniers temps pour que l'on soit en droit de contester ce point de vue. Un cheval de Troie se définit comme une partie de code malveillant qui se dissimule dans un programme effectuant des tâches banales. Les systèmes d'exploitation utilisés actuellement sur les PC domestiques ainsi que le manque de vigilance des utilisateurs fait qu'il est très facile d'introduire un programme comportant un cheval de Troie sur un PC et que le cheval de Troie, une fois en place, dispose de tous les droits possibles. Ainsi, par exemple, des chevaux de Troie peuvent être dissimulés dans des programmes populaires et disponibles librement ou en partage sur la Toile (shareware sur Internet) tels que des économiseurs d'écran par exemple. I1 existe également des chevaux de Troie génériques tels que Back Orifice qui permettent de prendre le contrôle total d'un PC à distance et de modifier tout ou partie de son contenu, ou des chevaux de Troie qui exploite une erreur (bug) dans un programme réseau (par exemple Internet Explorer). Les attaques que peuvent mener les chevaux de Troie sont multiples, mais nous retiendrons trois principales - Vol du code PIN de l'utilisateur : Le code PIN (de l'anglais Personnal Identification Number) constitue une valeur d'authentification permettant d'authentifier le titulaire de la carte. Un cheval de Troie, installé quelque part dans le système d'exploitation, dans un logiciel applicatif, dans les pilotes du lecteur de carte ou dans les pilotes spécifiques à la carte, en mesure de copier le code PIN qui est saisi par l'utilisateur et de le transmettre à l'auteur du cheval de Troie. Par la suite, il restera à ce dernier à subtiliser la carte à son possesseur légitime et à l'utiliser à son insu. - Modification d'une commande émise par l'utilisateur à destination de la carte. Par exemple, une telle attaque peut être menée lors d'une demande de génération de clé à bord de la carte par le PC. Le cheval de Troie peut intercepter cette commande, générer lui-même une clé, personnaliser la carte avec cette clé et en transmettre une copie. Dans un tel cas, il est évident que les propriétés associées à la signature électroniques sont perdues, puisque le propriétaire de la carte n'est plus le seul à pouvoir produire une signature valide. - Modification du document à signer entre sa visualisation par l'utilisateur et sa signature par la carte. Lorsque l'utilisateur entre son code PIN pour signifier son approbation, le logiciel applicatif transmet le document à signer à la carte qui le hache avant de le signer (on se place ici dans un contexte où volume de,données à signer n'est pas incompatible avec les capacités de traitement d'une carte à puce). Cependant, un cheval de Troie peut intercepter données transmises à la carte et les modifier utilisateur aura alors signé un document qu'il n'aura non seulement pas approuvé, mais encore jamais vu. est clair qu'une telle situation n'est pas acceptable devient alors évident qu'avec la généralisation commerce électronique et des signatures électroniques telles attaques peuvent servir d'argument à réfutation de signatures. Le problème particulier du vol du code PIN est aujourd'hui pris en compte et maîtrisé dans systèmes intégrant des lecteurs de carte à puce modernes, comme par exemple le GemPC420. Un lecteur, schématisé sur la figure 1, comporte un mecanisme spécifique, appelé couramment trusted path ou chemin sécurisé en sécurité informatique destiné à éviter le vol de code PIN par un cheval Troie. La figure 1 représente le principe fonctionnement du GemPC420. Celui-ci est placé entre et le clavier. I1 est donc en position d'interrompre toutes les communications entre le clavier et le PC. lecteur possède trois modes de fonctionnement, correspondant à trois circuits de communication entre PC, le clavier et le lecteur de la carte à puce. circuits sont numérotés de 1 à 3 sur la figure 1. Le circuit 1 correspond à un mode fonctionnement où la carte n'est pas utilisée et où le dialogue avec le clavier. Le circuit 2 correspond à un mode de fonctionnement où le PC dialogue avec la carte par l'intermédiaire d'APDU (de l'anglais Application Protocol Data Unit) définit par la norme ISO pour normaliser les échanges entre un lecteur et une carte. Enfin, le circuit 3 correspond au trusted path : le lecteur coupe la communication entre le PC et le clavier et les touches frappées par l'utilisateur sont directement envoyées à la carte par le lecteur. Le lecteur passe dans le mode 3 sur ordre du PC et complète ensuite l'APDU envoyé à la carte par le PC avec les codes des touches frappées par l'utilisateur. Pour plus de sécurité et de facilité d'utilisation, une diode électroluminescente (DEL) clignote sur le lecteur pour signifier que celui-ci est dans le mode 3, et seulement dans ce cas Un cheval de Troie se trouve donc dans l'impossibilité d'intercepter le code PIN de l'utilisateur, puisque ce code ne transite à aucun moment par le PC. L'utilisateur ne doit entrer son code PIN que lorsque le lecteur est en mode trusted path signalé par la DEL clignotante. En effet, un cheval de Troie peut afficher à l'écran un message invitant l'utilisateur à entrer son code PIN sans pour autant basculer le lecteur en mode trusted path Dans ce cas, le lecteur ne couperait pas la communication clavier lecteur le cheval de Troie obtiendrait le code PIN. En conclusion, il est clair que le lecteur de carte GemPC420 résout le problème du vol du code PIN par un cheval de Troie. I1 existe également d'autres lecteurs utilisant d'autres technologies, qui peuvent parvenir aux mêmes résultats. On peut par exemple utiliser des lecteurs exploitant le protocole de communication USB (de l'anglais Universal Serial Bus) sur un ordinateur équipé d'un clavier USB (comme par exemple les ordinateurs Apple). Le principe est très similaire à celui décrit précédemment : le lecteur de carte possède deux connecteurs USB. Le premier se branche sur un des ports USB de l'ordinateur et le second est utilisé pour brancher le clavier. En temps normal le lecteur transmet les informations échangées entre le clavier et l'ordinateur. Lorsqu'il reçoit une commande d'isolement sur son canal, le lecteur coupe la connexion entre le clavier et le PC. Les informations qui sont alors tapees sur le clavier ne sont pas envoyées à l'ordinateur mais utilisées directement par le lecteur. Un code PIN entré de cette manière ne rentre donc jamais sur le PC et ne risque pas d'être ainsi la cible d' cheval de Troie. Dans la suite de ce document, nous partons du principe que notre solution utilise un lecteur GemPC420, mais il est clair que tout autre lecteur disposant d'un trusted path, comme par exemple un lecteur USB que nous venons de décrire, est également utilisable. Outre le problème du vol du code PIN, reste à résoudre le problème de la modification une commande et/ou d'un document à signer. Actuellement, un cheval de Troie présent par exemple dans un pilote du lecteur peut modifier le document envoyé à la carte pour signature après acceptation de celui-ci par l'utilisateur. Par exemple le document Je soussigné X reconnaît devoir 10 FF à Y. peut être changé par le cheval de Troie en Je soussigné X reconnaît devoir 10000 FF à Y. Un cheval de Troie peut également modifier une commande, par exemple en générant lui-même une clé dont il conserve une copie et en envoyant l'ordre à la carte de mémoriser cette clé, au lieu d'envoyer l'ordre à carte de générer une clé à bord. La présente invention a pour but de remédier à probleme et propose une solution originale pour résoudre ce type d'attaque. cet effet, la présente invention propose un procédé mis en ceuvre par un système constitué d'une carte couplée à un ordinateur muni d'un logiciel spécifique. La carte sélectionne et mémorise un certain nombre de données émises par l'utilisateur et demande confirmation, dans un mode de communication sécurisé qui transite pas par le PC, de l'authenticite desdites données. Pour ce faire, la carte demande à l'utilisateur saisir au clavier tout ou partie de la commande émise ou mots sélectionnés dans le texte initial a signer, puis elle vérifie qu'ils sont bien identiques à ceux 'elle a reçus initialement. procédé selon l'invention consiste essentiellement à vérifier qu'aucune attaque visant à modifier une commande et/ou un document à signer n'est intervenue avant de procéder à l'exécution de commande et/ou à la génération de la signature électronique dudit document. présente invention a plus particulièrement pour objet un procédé de protection contre la modification de données envoyées par un utilisateur à un support sécurisé via un lecteur, caractérisé en ce qu' consiste à sélectionner et mémoriser certaines des données et à obtenir confirmation de l'authenticite desdites données sélectionnées en vérifiant qu'elles sont identiques à celles saisies sur requête l'utilisateur dans un mode de communication sécurisé du lecteur. Selon une première application du procédé selon l'invention, la donnée est une commande. Selon une variante, la commande est une commande de génération de clé. Selon une deuxième application du procédé selon invention, la donnée est un document signe par une signature électronique générée par le support sécurisé. Selon une caractéristique, le procédé consiste à selectionner et mémoriser certains mots du document à signer et à obtenir confirmation de l'authenticité dudit document en vérifiant que lesdits mots selectionnés sont identiques à ceux saisis requête par l'utilisateur dans un mode de communication sécurisé du lecteur. Selon une caractéristique, les mots sélectionnés pour confirmation le sont par l'utilisateur dans un mode de communication sécurisé. Selon une autre caractéristique, les mots sélectionnés pour confirmation le sont par support sécurisé. Selon une caractéristique, les mots sélectionnés par le support sécurisé le sont de manière aleatoire. Selon une autre caractéristique, les mots sélectionnés par le support sécurisé le sont de manière deterministe, le document à signer étant un document structuré. Selon une variante de mise en #uvre, le support securisé sélectionne pour confirmation les mots correspondants à des nombres. Selon une variante de mise en #uvre, le procédé consiste en outre à demander confirmation de l'emplacement dans le document des mots sélectionnés pour confirmation. Selon une caractéristique, l'emplacement mots selectionnés est défini par les numéros de lignes et de colonnes du document à signer. Selon une variante de mise en ceuvre, le support securisé sélectionne comme mots de confirmation toute une colonne et/ou toute une ligne du document à signer. Selon une caractéristique, le document signer est au format ASCII. L'invention concerne également un terminal apte à communiquer avec un support sécurisé par un lecteur comportant un mode de communication sécurisé entre le support et le lecteur, ledit mode sécurisé faisant transiter aucune information par le terminal, ledit terminal comportant un programme apte à mettre en #uvre étapes suivantes - envoie des données au support sécurisé, - requête d'une saisie de données de confirmation, - envoie des données de confirmation support sécurisé dans un mode de communication sécurisé. Selon une caractéristique, le terminal comprend au moins une touche fonction ou une séquence de touches fonction réservée pour l'activation du mode sécurisé. Selon une caractéristique, le terminal comprend en outre un mini-scanner comportant un mode de communication sécurisé avec le terminal. Selon une application, le terminal est constitué un téléphone mobile (GSM). Selon une autre application, le terminal est constitué par un ordinateur de type PC. Selon une autre application, le terminal est constitué par une carte à puce munie d'un écran et d'un clavier intégrés. Selon une autre application, le terminal est constitué par un assistant personnel digital (PDA). Selon une application, le support sécurisé est constitué par une carte à puce. Selon une autre application, le support sécurisé est constitué par une carte PCMCIA. L'invention concerne en outre une carte à puce apte à communiquer avec un terminal via un lecteur comportant un mode de communications sécurisé, caractérisée en ce qu'elle comporte un programme apte mettre en oeuvre les étapes suivantes sélection et mémorisation de données reçues du terminal dans un mode de communication sécurisé, demande de confirmation des dites données, - comparaison des données mémorisées avec celles reçues en confirmation du terminal dans le mode de communication sécurisé. La présente invention apporte une solution efficace à la modification par un cheval de Troie commandes ou de documents signés par une carte à puce. Le reproche qui peut être fait à ce procédé est son manque d'ergonomie pour l'utilisateur, mais il rare qu'une augmentation de la sécurité se fasse sans contrainte et, de plus, le rapport sécurité/ ergonomie peut être réglé à volonté. Les particularités et avantages de l'invention apparaîtront clairement à la lecture de la description qui suit, faite à titre d'exemple illustratif et non limitatif, en référence aux figures annexées sur lesquelles - la figure 1, déjà décrite, est un schéma du lecteur de carte GEMPC420 ; la figure 2 représente un exemple texte à signer structuré ; la figure 3 représente un exemple texte à signer organisé en lignes et colonnes la figure 4 est un organigramme de mise en oeuvre du procédé selon l'invention, appliqué à la signature d'un document, avec un lecteur de type GEMPC420. la figure 5 est un organigramme de mise en oeuvre du procédé selon l'invention, appliqué à la signature d'un document, avec un lecteur ou une carte disposant d'un clavier et un écran intégrés. la figure 6 est un organigramme de mise en oeuvre du procédé selon l'invention, appliqué à la génération d'une commande, avec un lecteur de type GEMPC420. la figure 7 est un organigramme de mise en ceuvre du procédé selon l'invention, appliqué à la génération d'une commande, avec un lecteur ou une carte disposant d'un clavier et d'un écran intégrés. On décrit dans un premier temps le procédé selon l'invention dans son application à la protection contre la modification d'un document à signer. on reprend l'exemple précédent d'un texte Je soussigné X certifie devoir 10 francs à Y , et si par une attaque, le cheval de Troie modifie le mot 10 en 10000 le procédé selon l'invention doit être en mesure de le démasquer. A cet effet, le mot 10 est sélectionné pour confirmation. La carte demande alors à l'application de mettre en évidence (par exemple en rouge ou en gras) le mot saisir, pour vérification par l'utilisateur et d'afficher un message du type Veuillez saisir le mot en surbrillance pour confirmation . Le cheval de Troie, recevant le mot 10000 de la carte, va mettre en surbrillance le mot 10 dans le texte affiché sur l'écran de l'utilisateur qui va saisir 10. Si la saisie se fait en mode normal (mode 1 du GEMPC420 , le cheval de Troie aura l'opportunité de remplacer les touches saisies par l'utilisateur par 10000 et la carte effectuera, avec succès, la comparaison entre 10000 et 10000. Si la saisie exploite le sécurisé du lecteur (mode 3 du GemPC420), le cheval de Troie ne pourra modifier les touches frappées par l'utilisateur et la carte comparera 10 et 10000 détectant ainsi la modification du document. I1 apparaît alors clairement que solution proposée par la présente invention ne détecte pas à coup sûr une attaque. Si dans l'exemple précédent, la carte sélectionne pour vérification un mot du document qui n'a pas été modifié par le cheval de Troie (par exemple soussigné ), elle ne détectera pas l'attaque et signera le document modifié. I1 est donc important de mettre en ceuvre la solution de l'invention de telle sorte qu'une attaque, même si elle reste possible ait une probabilité négligeable de réussir. I1 apparaît que le choix des mots à confirmer ainsi que leur nombre ont une importance déterminante. En ce qui concerne le nombre de mots à confirmer, il s'agit essentiellement d'un compromis entre le degré de sécurité désiré et la gêne occasionnée par la saisie de la confirmation. Une sécurité maximale est obtenue lorsque l'utilisateur ressaisit le texte intégral du document à signer. En pratique le nombre de mots de confirmation .dépendra du degré de sécurité désiré et des enjeux du contexte applicatif. En ce qui concerne le choix des mots confirmer, plusieurs contraintes doivent être prises en compte. D'une part, les mots à confirmer sont-ils choisis par l'utilisateur et/ou par la carte, et d'autre part, ces mots sont-ils choisis aléatoirement et/ou de manière déterministe. En outre, une remarque préliminaire s'impose quant au choix des mots à confirmer. Nous avons en effet considéré jusqu'à présent que le document à signer était un texte dans un format intelligible par la carte et dont les mots étaient comparables directement avec une saisie au clavier. Un texte en format ASCII satisfait facilement ces criteres. Un document dans un format propriétaire (par exemple Microsoft Word) n'est pas utilisable directement. Par contre, il est tout à fait possible d'exporter une version ASCII d'un document Microsoft Word à signer. Cette version devra être visualisée par l'utilisateur, car ce sera celle qui fera référence en cas de contestation de la transaction ou du contrat. Une solution intermédiaire pourrait consister à utiliser le format RTF (Rich Text Format) qui permet d'ajouter des attributs de présentation au texte (gras, souligné) tout en conservant un codage ASCII. Le prix à payer est un analyseur de RTF à bord de la carte. La présente invention peut en fait être appliquée à format de texte quelconque, mais il est à noter que certains formats sont plus pratiques que d'autres. On peut imaginer par exemple (même si les technologies sont plus délicates à mettre en oeuvre) des formats bitmaps (obtenus par exemple en numérisant un document papier) comparés à une entrée sur un touch- pad (écran .tactile) du clavier ou un dispositif du type tablette graphique. Un tel dispositif permettrait par exemple la signature de dessins pour lesquelles l'utilisateur ne confirmerait plus des mots mais des portions de dessins qu'il reproduirait. Dans la suite nous considérons que nous disposons d'un texte au format ASCII. Dans la description qui suit, en référence aux figures 2 et 3, on considère un exemple de texte à signer rédigé comme suit : Je soussigné Pierre Girard certifie devoir la somme de quatre vingt dix francs à Monsieur Jean-Luc Giraud. Fait le 31 Janvier 2000 à Gémenos. Un premier point important dans la mise en #uvre du procédé selon l'invention est de déterminer si le choix des mots à confirmer est effectué par la carte et/ou par l'utilisateur. Le choix, par la carte, de mots à confirmer pouvant tomber sur des termes insignifiants d'un contrat ou d'un document (comme soussigné dans notre exemple), on pourrait penser que l'utilisateur est le plus à même de désigner les termes importants du document. I1 peut indiquer à la carte, en mode 3 du lecteur, quels mots il désire confirmer avant que celle-ci ne reçoive le document. Lorsque la carte reçoit le document et demande confirmation, l'utilisateur confirme, en mode 3 du lecteur, les mots prévus. Néanmoins, cette méthode ne défend pas le système contre les utilisateurs de mauvaise foi (dits first party attack) qui peuvent demander à la carte de faire confirmer des mots insignifiants dans le document ( soussigné dans notre exemple), et répudier par la suite leur signature en prétendant avoir été victime d'un cheval de Troie. Pour obtenir un niveau de sécurité maximal, il est avantageux de réaliser un compromis dans lequel les mots à confirmer sont sélectionnés à part égale par l'utilisateur (défense contre les chevaux de Troie) et la carte (défense contre les utilisateurs mauvaise foi). Un deuxième point important dans la mise en #uvre procédé selon l'invention est de déterminer si choix des mots à confirmer est aléatoire déterministe ? Lorsque l'utilisateur choisit les mots a confirmer, son comportement est a priori prédictible et il utilisera son bon sens pour choisir les mots essentiels du document. Un cheval de Troie aura donc que très peu de chance de mener à bien attaque. Concernant le choix de mots à confirmer par la carte, on peut hésiter entre une stratégie aléatoire ou un algorithme de choix déterministe. La stratégie aléatoire est par définition imprédictible pour un cheval de Troie. Néanmoins, si le rapport entre la quantité de mots insignifiants et le nombre de mots de confirmation est très important dans le document, la carte, choisissant des mots au hasard, aura fort peu de chance de tomber sur un mot qui soit une cible potentielle pour un cheval de Troie ou un utilisateur de mauvaise foi. Afin d'éviter ce problème, la carte peut essayer de déterminer les mots importants du document. On peut penser immédiatement à toutes les sommes et les dates par exemple. Cependant un tel algorithme est relativement délicat à mettre en ceuvre tel quel. Pour faciliter l'interprétation du texte par la carte et le choix de mots pertinents pour confirmation, on peut avantageusement transmettre à la carte du texte structuré, par exemple en XML (Extended Mark-up Language), ce qui implique d'avoir à bord de la carte l'analyseur correspondant. Un tel texte structure est illustré sur la figure 2. La carte peut ainsi sélectionner pour confirmation des éléments importants tels que des dates ou des sommes. On peut également imaginer des textes standards à trous où seules les informations nominatives, les dates et les montants par exemple, resteraient à compléter. Enfin notons que la carte peut avoir une stratégie mixte en complétant son choix déterministe par des mots choisis aléatoirement. Outre le choix et le nombre de mots à confirmer, il est important de désigner précisément ces mots. En effet, il est évident que la confirmation la présence d'un certain nombre de mots dans un document ne suffit pas à en fixer le sens. I1 faut s'assurer egalement que l'ordre des mots est respecté. Par exemple, il est important de s'assurer que le mot cent n'a pas été rajouté entre les mots de et quatre . Il importera donc de désigner précisément 'emplacement respectif des mots de et quatre . On peut pour cela utiliser un texte organisé en lignes et colonnes, tel qu'illustré sur la figure 3, afin de désigner précisément l'emplacement des mots à confirmer. Lors de la saisie des mots de confirmation, la carte peut ainsi demander à l'utilisateur d'entrer pour confirmation les mots numéro 4 à 7 de la ligne 2 ainsi que le mot 1 de la ligne 3. L'utilisateur entrera alors les mots demandés ainsi que leur emplacement dans texte. Une convention pourrait être 12m4 de pour confirmer le mot de en position 4 de la ligne 2. Pour éviter les suppressions, insertions deplacements de mots, une stratégie possible consiste demander confirmation de colonnes du texte. Dans notre exemple, si la carte demande confirmation de la colonne l'utilisateur saisira c14 P m i n . La mise en ceuvre du procédé selon l'invention recapitulée dans l'exemple complet suivant, en référence à l'organigramme de la figure 4 Le procédé est mis en oeuvre par un logiciel adapté memorisé sur un PC apte à communiquer avec une carte à puce par l'intermédiaire d'un lecteur du type GEMPC420. 1. Le logiciel affiche à l'écran de l'utilisateur document à signer (nous utilisons toujours l'exemple des figures 2 et 3). 2. Le logiciel bascule le GemPC420 en mode 3. L'utilisateur vérifie que la DEL verte clignote. 3. L'utilisateur indique à la carte les mots qu'il désire saisir pour confirmation en saisissant 12m4-7 de quatre vingt dix 13m1 francs . 4. Le logiciel bascule le GemPC420 en mode 2, puis transmet le texte à signer à la carte. Si le volume de texte à signer est important, la carte peut le hacher à la volée, tout en effectuant les deux étapes suivantes. 5. La carte vérifie que la saisie de l'utilisateur est cohérente par rapport au texte reçu, sinon, le protocole se termine (on évite ainsi les attaques par cheval de Troie). 6. La carte choisie des mots que l'utilisateur devra saisir pour confirmation. Par exemple, la carte sélectionne 1a date, puis au hasard la colonne 21 et le mot Pierre . La carte transmet ce choix au logiciel. 7. Le logiciel passe en rouge ou en surbrillance les mots à confirmer et bascule le GemPC420 en mode 3. L'utilisateur vérifie que la DEL verte clignote 8. L'utilisateur saisit les données demandées par la carte pour confirmation : 14m3-5 31 janvier 2000 c21 GuaO 11m3 Pierre . La carte vérifie crue les données de confirmation sont compatibles avec le document reçu, sinon le protocole se termine (on évite ainsi les attaques par cheval de Troie et/ou par un utilisateur de mauvaise foi). 10. Le logiciel demande à l'utilisateur saisir son code PIN pour confirmer sa volonté de signer le document (le GemPC420 étant en mode 3). L'utilisateur vérifie que la DEL verte clignote. . L'utilisateur saisit son code PIN. 12. La carte vérifie le code PIN et, s'il est correct, signe le document et retourne la signature au logiciel. Dans le cas où l'on disposerait d'un lecteur de carte ou d'une carte comportant un écran et un clavier intégrés, la procédure de signature est allégée comme suit en référence à l'organigramme de la figure 5 1. Le logiciel affiche à l'écran de l'utilisateur le document à signer (nous utilisons toujours l'exemple des figures 2 et 3). 2. L'utilisateur indique les mots qu'il désire saisir pour confirmation en saisissant au clavier du lecteur (de la carte) 12m4-7 13m1 . 3. Le logiciel transmet le texte à signer à la carte. Si le volume de texte à signer est important, la carte peut le,hacher à la volée, tout en effectuant deux étapes suivantes. 4. lecteur (la carte) affiche les mots l'utilisateur a demandés à confirmer 12m4-7 de quatre vingt 13m1 francs . 5 L'utilisateur vérifie que ces mots confirmation correspondent bien au texte qu'il désire signer, sinon, le protocole se termine (on évite ainsi les attaques par cheval de Troie). 6 La carte choisie des mots que l'utilisateur devra saisir pour confirmation. Par exemple, la carte sélectionne la date, puis au hasard la colonne 21 et mot Pierre . Ce choix est affiché sur l'écran du lecteur ou de la carte. 7. L'utilisateur saisi au clavier du lecteur (de la carte) les mots à confirmer: 14m3-5 31 janvier 2000 c21 GuaO 11m3 Pierre . 8. La carte vérifie que les données confirmation sont compatibles avec le document reçu, sinon le protocole se termine (on évite ainsi attaques par cheval de Troie et/ou par un utilisateur de mauvaise foi). 9. Le logiciel demande à l'utilisateur de saisir son code PIN pour confirmer sa volonté de signer document. 10. L'utilisateur saisit son code PIN. 11. La carte vérifie le code PIN et, s'il est correct, signe le document et retourne la signature au logiciel. Le procédé selon l'invention peut également être mis en oeuvre sur des terminaux de type GSM (téléphones mobiles) ou PDA (Personal Digital Assistant) à conditions que ces derniers disposent au moins d'une touche ou d'une séquence de touches fonction destinées à activer un mode sécurisé ainsi qu'une sortie permettant de savoir si le mode sécurisé est activé ou non. Plusieurs possibilités d'implémentation du procédé selon l'invention peuvent être envisagées. La première consiste à réaliser une interface entre le système proposé par l'invention (le logiciel mettant en #uvre le procédé selon l'invention qui est apte à piloter le lecteur de carte et à fournir les instructions à l'utilisateur) et des logiciels tels que Word ou Excel qui sont extensibles. Dans ce cadre, il faut coder en Visual Basic une interface avec les API (Application Programming Interface) de signature et les fonctionnalités de mise en surbrillance dans le texte mots à ressaisir. Une autre implémentation possible de ce système peut être obtenue en intégrant le logiciel de mise en ceuvre de l'invention à une page Web au moyen d'une application Java. Par ailleurs, un des inconvénients du procédé selon l'invention réside dans l'effort nécessité par la saisie de certains mots par l'utilisateur, ce qui va à encontre de l'évolution des interfaces vers plus de convivialité. Une solution à ce problème peut consister à ajouter au système mettant en #uvre l'invention un mini-scanner sécurisé branché sur le même port de communication que le lecteur ou directement sur lecteur lui-même. Dans le cas où le lecteur et le mini scanner sont branchés sur un même port, le lecteur sera bien évidement disposé entre le PC et le mini-scanner, comme dans le cas du clavier pour le GemPC420. Le mini scanner permet à l'utilisateur de saisir des mots affiches à l'écran ou imprimés, ce qui lui évite une nouvelle saisie. procédé de protection selon l'invention peut également être appliqué au problème de la modification de commandes envoyées à la carte par un cheval de Troie. L'invention propose à cet effet un procède de protection contre la modification de la commande envoyée au support sécurisé (la carte à puce dans l'exemple considéré). Ce procédé met en ceuvre les mêmes étapes que celui décrit en référence à la protection contre la modification d'un document signé. Après avoir reçu la commande, de génération clé à bord par exemple, la carte va demander à l'utilisateur de confirmer cette commande. Dans le cas où le support sécurisé est couple à un lecteur du type GemPC420, le procédé se déroule selon les étapes suivantes en référence à la figure 6 1. L'utilisateur est invité à confirmer sa commande par un message affiché sur l'écran du PC. 2. le logiciel bascule le GemPC420 en mode 3. L'utilisateur vérifie que la DEL verte clignote. 3. L'utilisateur confirme sa commande (par exemple en tapant GENK pour une génération de clé à bord). 4. La carte compare la saisie de l'utilisateur avec la commande reçue. Si la comparaison est négative, le protocole se termine, sinon, la carte exécute la commande (en générant la clé). Dans le cas où un terminal ou une carte avec écran et clavier intégrés est utilisé, le procédé se deroule selon les étapes suivantes en référence à la figure 7 1. La commande reçue par la carte est affichée sur l'écran du terminal. 2. L'utilisateur vérifie qu'il s'agit de la commande qu'il désire produire, puis confirme par une touche fonction du terminal ou met fin au protocole. REVENDICATIONS 1. Procédé de protection contre la modification de donnees envoyées par un utilisateur à un support sécurisé via un lecteur, caractérisé en ce qu'il consiste à sélectionner et mémoriser certaines des donnees et à obtenir confirmation de l'authenticité desdites données sélectionnées en vérifiant qu'elles sont identiques à celles saisies sur requête par l'utilisateur dans un mode de communication sécurisé lecteur. 2. Procédé de protection selon la revendication caractérisé en ce que la donnée est une commande. 3. Procédé de protection selon la revendication caractérisé en ce que la commande est une commande génération de clé. 4. Procédé de protection selon la revendication caractérisé en ce que la donnée est un document signé par signature électronique générée par le support sécurisé. 5. Procédé de protection selon la revendication 4, caractérisé en ce que qu'il consiste à sélectionner et mémoriser certains mots du document à signer et à obtenir confirmation de l'authenticité dudit document en vérifiant que lesdits mots sélectionnés sont identiques à ceux saisis sur requête par l'utilisateur dans un mode de communication sécurisé du lecteur. 6. Procédé de protection selon la revendication 5, caractérisé en ce que les mots sélectionnés pour confirmation le sont par l'utilisateur dans un mode de communication sécurisé. 7. Procédé de protection selon 1 une des revendications 5 à 6, caractérisé en ce que les mots sélectionnés pour confirmation le sont par support sécurisé. 8 Procédé de protection selon la revendication 7, caracterisé en ce que les mots sélectionnes par le support sécurisé le sont de manière aléatoire. 9 Procédé de protection selon la revendication 7, caracterisé en ce que les mots sélectionnes par le support sécurisé le sont de manière déterministe, le document à signer étant un document structuré. Procédé de protection selon la revendication 9, caractérisé en ce que le support sécurisé sélectionne pour confirmation les mots correspondants à des nombres. Procédé de protection selon l'une quelconque des revendications 4 à 10, caractérisé en ce qu'il consiste en outre à demander confirmation de l'emplacement dans le document des mots sélectionnés pour confirmation. Procédé de protection selon la revendication il, caractérisé en ce que l'emplacement des mots sélectionnés est défini par les numéros de lignes et de colonnes du document à signer. 13. Procédé de protection selon la revendication 12, caractérisé en ce que le support sécurisé sélectionne comme mots de confirmation toute une colonne et/ou toute une ligne du document à signer. 14. Procédé de protection selon l'une quelconque des revendications 4 à 13, caractérisé en ce que le document à signer est au format ASCII. 15. Terminal apte à communiquer avec un support sécurisé au moyen d'un lecteur comportant un mode communication sécurisé entre le support et le lecteur, ledit mode sécurisé ne faisant transiter aucune information par le terminal, caractérisé en ce qu' comporte un programme apte à mettre en ceuvre les étapes suivantes - envoie des données au support sécurisé, - requête d'une saisie de données de confirmation, - envoie des données de confirmation au support sécurisé dans un mode de communication sécurise. Terminal selon la revendication 15, caractérisé en ce qu'il comprend au moins une touche fonction ou une séquence de touches fonction réservée pour 1 activation du mode sécurisé. . Terminal selon l'une des revendications 15 à 16, caractérisé en ce qu'il comprend en outre un mini- scanner comportant un mode de communication sécurisé avec terminal. 18. Terminal selon l'une des revendications 15 à 17, caractérisé en ce qu'il est constitué un teléphone mobile (GSM). 19. Terminal selon l'une des revendications à caractérisé en ce qu'il est constitué un ordinateur de type PC. 20. Terminal selon l'une des revendications à 17, caractérisé en ce qu'il est constitué par carte à puce munie d'un écran et d'un clavier intégrés 21. Terminal selon l'une des revendications 15 à 17, caractérisé en ce qu'il est constitué par un assistant personnel digital (PDA pour Personal Digital Assistant). 22. Terminal selon l'une des revendications 15 à 21, caractérisé en ce que le support sécurisé est constitué par une carte à puce. 23. Terminal selon l'une des revendications 15 à 21, caractérisé en ce que le support sécurisé est constitué par une carte PCMCIA. 24. Carte à puce apte à communiquer avec un terminal via un lecteur comportant un mode de communications sécurisé, caractérisée en ce qu'elle comporte un programme apte à mettre en ceuvre les étapes suivantes - sélection et mémorisation de données reçues du terminal dans un mode de communication non sécurisé, - demande de confirmation des dites données, - comparaison des données mémorisées avec celles reçues en confirmation du terminal dans le mode de communication sécurisé.