Brevet FR2832522A1 — publié le 20030523

Procédé et dispositif pour le traitement des signatures numériques L'invention concerne un procédé et un dispositif sécurisé pour réaliser des signatures numériques et vérifier les signatures numériques. Elle est notamment adaptée aux environnements non sécurisés par nature, comprenant par exemple des ordinateurs, des liaisons Internet... Particulièrement, l'invention garantit qu'un document visualisé et lu sur un écran ou présenté à un utilisateur par tout autre appareil dit périphérique comme une imprimante, un haut- parleur,..., correspond bien au document qui est ou sera signé. Nous utiliserons par la suite le terme traitement de signatures numériques pour signifier la réalisation ou la vérification d'une telle signature et nous entendrons par document tout ensemble de données au sens large : il peut s'agir d'un texte, de données sonores ou de tout autre type de données qu'un utilisateur peut avoir intérêt à signer pour signifier son accord. Avec le développement du commerce électronique et des échanges électroniques en général, le développement de la signature numérique devient nécessaire. Un cadre légal se met déjà en place pour reconnaître la signature numérique comme moyen de preuve. Dans ces conditions, il est important de considérer les moyens techniques pour générer des signatures numériques fiables. L'art antérieur repose sur des techniques de cryptographie pour générer les signatures numériques. Un dispositif de l'art antérieur, qui utilise un algorithme RSA dans un environnement d'ordinateur personnel, est représenté sur la figure 1. L'ordinateur personnel (PC) 1 contient un logiciel qui gère la réalisation des signatures numériques ainsi que la clé publique nécessaire à l'algorithme cryptographique. Pour assurer la sécurité du procédé, il est relié à une unité cryptographique 3 de signature, qui comprend principalement un microcontrôleur, et qui réalise la signature : cette unité assure notamment que la clé privée utilisée par l'algorithme cryptographique de signature reste inaccessible. En vue de signer un document, le logiciel de gestion du PC envoie à l'écran 5 le document à signer pour le présenter à la vue 6 de l'utilisateur par une connexion classique VGA reliant les connecteurs d'entrée 4 et de sortie 4' respectivement de l'écran et du PC. Puis l'utilisateur après lecture donne son accord sur le PC : le document est alors réduit par un algorithme de hachage exécuté sur le PC. Le résultat de ce calcul est envoyé à l'unité cryptographique 3 par l'intermédiaire d'une liaison numérique entre les ports numériques 2 du PC 1 et de l'unité cryptographique 3. Cette dernière contient la clé privée et l'algorithme de signature avec lesquels elle transforme le document haché en un haché signé. Généralement, l'unité cryptographique utilise une carte à puce pour des raisons de sécurité. Un autre dispositif équivalent consiste à prévoir un PC avec un lecteur de cartes intégré. Ensuite, pour vérifier la validité d'une signature, le document haché signé, le document haché, et la clé publique sont envoyés à l'unité cryptographique 3 qui vérifie par un nouveau calcul utilisant la clé publique que la signature est valide. Nous n'entrerons pas en détail sur le calcul lui-même de signature ni de vérification de signature, qui peut être réalisé par divers algorithmes de signature (cryptographie symétrique ou asymétrique par exemple) de manière convenable. Notre invention ne porte pas sur ce calcul en tant que tel. L'inconvénient de ces solutions de l'art antérieur vient du fait qu'une partie du procédé repose sur un PC 1 ou un autre appareil informatique de stockage de documents, qui n'est pas par nature un dispositif sécurisé puisqu'il est ouvert au monde extérieur par divers moyens de communications comme Internet par exemple. En effet, des attaques par l'intermédiaire de chevaux de Troie qui consistent à dissimuler un programme malveillant sur ces dispositifs sont possibles. Un tel programme peut par exemple modifier les données du document que l'utilisateur souhaite signer entre le moment où il les visualise et le moment où la signature est générée. Ces solutions ne sont donc pas fiables. Un premier objet de la présente invention consiste à définir un procédé et son dispositif associé pour réaliser la signature numérique de documents de manière fiable. Un second objet de la présente invention consiste à proposer une solution relativement simple et peu coûteuse. Un troisième objet de la présente invention consiste à proposer une solution compatible avec les dispositifs informatiques existants, notamment les Pcs, écrans, imprimantes, moyens de communication... L'invention repose sur un dispositif sécurisé de traitement de signature numérique comportant une unité cryptographique pour traiter la signature numérique d'un document provenant d'un dispositif informatique de type ordinateur caractérisé en ce qu'il comprend un moyen pour sélectionner un mode de fonctionnement et un moyen d'affichage de manière à présenter ledit document à un utilisateur sur un périphérique hors de toute influence du dispositif informatique dans un mode de traitement de signature. Le dispositif de traitement de signature peut comprendre un moyen pour permettre une liaison directe entre un dispositif informatique et un périphérique dans un mode de fonctionnement transparent. Il peut comprendre un indicateur de manière à indiquer à un utilisateur le mode de fonctionnement en cours dudit dispositif. Il peut posséder un port numérique pour échanger un document dont la signature est à traiter avec un dispositif informatique. Avantageusement, il est apte au traitement de la signature d'un document échangé avec un dispositif informatique dans un format interprété et contient un interpréteur pour permettre la traduction du document avant son affichage par un convertisseur vidéo. Il peut comprendre en outre un moyen convivial de commande d'affichage d'un document dans un mode de traitement de signature. Dans un mode particulier, il possède un lecteur de cartes de type cartes à puce, ladite carte comportant un interpréteur et/ou une unité cryptographique. On peut prévoir comprend un moyen comme un bouton pour passer du mode transparent au mode de traitement de signature ainsi qu'un moyen d'identification de l'utilisateur. L'invention repose aussi sur un procédé de réalisation d'une signature numérique caractérisé par les étapes suivantes : - un document à signer est envoyé d'un dispositif informatique vers un dispositif sécurisé de traitement de signature tel que présenté ci- dessus ; le dispositif de traitement de signature passe d'un mode transparent à un mode de traitement de la signature durant lequel il présente le document à un utilisateur sur un périphérique hors de toute influence du dispositif informatique ; l'utilisateur déclenche la signature du document qui est effectuée au sein de l'unité cryptographique dudit dispositif de traitement de signature ; Il est possible d'ajouter l'étape suivante avant les précédentes : - le dispositif informatique est relié à un périphérique par l'intermédiaire du dispositif de traitement de signature dans un mode transparent ; De plus, le procédé prévoit la transmission du document au dispositif de traitement de signature sous la forme d'un signal numérique dans un format interprété et la transformation du signal par un interpréteur avant d'être présenté à l'utilisateur sur un périphérique de sortie. De même, l'invention repose sur un procédé de vérification de signature numérique caractérisé en ce qu'il comprend les étapes suivantes : - un document dont la signature est à vérifier ainsi que sa signature sont envoyés d'un dispositif informatique vers un dispositif sécurisé de traitement de signature tel que décrit ci- dessus ; le dispositif de traitement de signature passe d'un mode transparent à un mode de traitement de la signature durant lequel il présente le document à un utilisateur sur un périphérique hors de toute influence du dispositif informatique ; l'unité cryptographique du dispositif de traitement de signature vérifie la signature du document. Dans ce procédé, la transmission du document au dispositif de traitement de signature peut se faire sous la forme d'un signal numérique dans un format interprété et le signal peut être transformé par un interpréteur en vue d'être présenté à l'utilisateur. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description suivante d'exemples particuliers de réalisation, donnés à titre illustratifs et non limitatifs, et des dessins annexés dans lesquels : - la figure 1 représente un dispositif de signature électronique de l'art antérieur ; - la figure 2 représente un premier mode de réalisation d'un dispositif de signature électronique selon la présente invention ; - la figure 3 représente un second mode de réalisation d'un dispositif de signature électronique selon la présente invention. Sur ces différentes figures, les mêmes références sont utilisées pour désigner des mêmes éléments. La figure 1 a été décrite ci-dessus. Le principe de l'invention, comme nous allons le voir, consiste à intercaler un dispositif sécurisé de traitement de signature 10 entre un dispositif informatique de stockage de documents (1), comme un ordinateur, un PDA ou un téléphone par exemple, et un dispositif dit "périphérique" comme un écran, une imprimante,..., dont la fonction est de présenter le contenu des documents à un utilisateur. Dans cette configuration, le dispositif sécurisé 10 contrôle le périphérique dans un mode de traitement de la signature, durant lequel le dispositif de stockage non sécurisé n'intervent pas. La figure 2 représente un premier mode de réalisation de l'invention dans lequel un dispositif 10 est intercalé entre un PC 1 et un écran 5. Une liaison numérique entre le dispositif 10 et le PC 1 est établie par l'intermédiaire de leurs ports 2 respectifs : cette liaison est par exemple du type USB ou réseau. Le dispositif 10 comprend en outre une entrée 4 et une sortie 4'de type analogiques, en vue d'échanges de signaux analogiques, de type VGA. Il contient aussi un convertisseur analogique/numérique 11 et un convertisseur video 12 dont les fonctions sont décrites ci-dessous. Une unité cryptographique 3 semblable à celle de l'art antérieur traite la signature numérique. Le microcontrôleur de cette unité gère de plus le fonctionnement de l'ensemble du dispositif et notamment, à l'aide d'un switch 13 et d'un commutateur 16 établit un moyen de sélection d'un mode de fonctionnement parmi deux modes. On prévoit un indicateur (non représenté), par exemple une LED, pour indiquer à l'utilisateur le mode de fonctionnement en cours sélectionné. Dans un premier mode transparent, le dispositif de signature sécurisé 10 est inactif. L'entrée 4 et sa sortie 4'sont reliées directement entre elles par l'intermédiaire du switch 13 dans une première position et du commutateur en position fermée. Une liaison VGA classique est ainsi établie entre le PC 1 et l'écran 5. Dans un second mode, il permet de traiter la signature de document. Pour décrire le premier cas de la réalisation d'une signature, nous considérons un document de petite taille, pouvant se visualiser dans son ensemble dans un même temps sur l'écran 5. Après avoir visualisé le document dans le premier mode transparent décrit cidessus, un utilisateur 6 va indiquer son souhait de signer le document en pressant la touche 14 du disposif 10. Le dispositif 10 mémorise alors le signal correspondant puis ouvre le commutateur 16 pour couper le dispositif 10 du PC 1. Le dispositif continue d'afficher l'image correspondante par son convertisseur video 12, qui comprend notamment un processeur et un convertisseur numérique/analogique de manière à gérer un affichage. Après relecture du document, l'utilisateur va signer le document en pressant sur le bouton 15. Avant cette signature, on pourra lui demander de s'identifier par n'importe quel moyen connu (non représenté) comme la saisie d'un PIN code, une saisie de données biométriques... Le document, transformé de sa forme analogique en signal numérique, en format bitmap, par le convertisseur 11 avant d'être communiqué à l'unité cryptographique 3, est signé de manière similaire à l'art antérieur. Le document signé ainsi que le bitmap utilisé sont ensuite retournés au PC 1. Dans le deuxième cas de vérification de la signature, nous considérons le même document précédent, signé, pour lequel l'utilisateur souhaite vérifier la validité de la signature. Le PC contient le document bitmap ainsi que sa signature, terme abusivement employé pour désigner le document haché et signé selon la méthode décrite précédemment. L'utilisateur va signifier son souhait de vérifier la signature du document en pressant la touche 14. la signature et le document bitmap sont transmis à l'unité cryptographique 3 par la liaison numérique (par l'intermédiaire du port 2). La signature est vérifiée selon le procédé de l'art antérieur. En parallèle, le document est affiché sur l'écran 5 par l'intermédiaire du convertisseur video 12 puis de sa sortie 4', le switch 13 se trouvant dans la deuxième position. L'utilisateur peut donc visualiser le document qui est signé à l'écran, en étant sûr que ce qu'il lit correspond à ce qui est signé. La figure 3 représente un second mode de réalisation de l'invention. Ce mode de réalisation est plus particulièrement adapté aux signatures de documents de taille importante. Le traitement de ces documents pose un premier problème de temps de transfert vers le dispositif de sécurité 10 puisque les données correspondant à des images peuvent être de taille très importante. Ensuite, un deuxième problème se pose lors de la signature de ces documents par le fait qu'une petite partie seulement peut être visualisée à un instant donné sur l'écran 5. Le mode de réalisation précédent est apte au traitement de ces documents par un traitement"écran par écran" : les signaux correspondant à un écran sont envoyés au dispositif 10, présentés sur l'écran 5, signés puis retournés au PC avant de permettre ensuite la signature similaire des données suivantes correspondant à un nouvel écran. Le second mode de réalisation cherche à améliorer la convivialité de ce traitement. Pour cela, le dispositif 10 comprend quelques différences par rapport au dispositif du mode de réalisation précédent. Principalement, il ne possède qu'une seule voie pour permettre l'entrée de données de l'extérieur vers son unité cryptographique 3 par son port 2. Il comprend en outre un interpréteur 17 dont la fonction est de transformer des données numériques issues de l'unité cryptographique 3 dans un format bitmap apte à être affiché sur l'écran 5 par le convertisseur video 12. Dans le premier mode de fonctionnement transparent, le switch 13 se trouve dans une première position qui relie directement les connecteurs 4 et 4'du dispositif 10. Une liaison VGA classique entre l'ordinateur personnel 1 et l'écran 5 est alors réalisée. On ajoute que pour gérer le traitement des signatures, on prévoit un nouveau pilote au sein du PC qui offre les menus de"signature"et de "vérification de signature" à l'utilisateur. Le traitement de la signature est ainsi gérée sur le PC de manière similaire au traitement d'une impression par exemple. Le mode de traitement de la réalisation de signature du dispositif 10 va maintenant être décrit. Dans le premier cas de signature d'un document, l'utilisateur 6 souhaitant signer un document choisit une option"signature"sur son PC. Le pilote de signature va alors transformer le document dans un format numérique prédéterminé, choisi pour son caractère universel ainsi que pour le faible espace mémoire qu'il utilise : par exemple, les formats postscript, PCL, Windows Meta File (WMF), PDF peuvent convenir, le format bitmap, lui, ne convient pas car il nécessite trop d'espace mémoire. On utilisera le terme "format interprété"pour déterminer cet ensemble de formats possibles possédant les qualités décrites cidessus. Ensuite, ce document transformé est envoyé à l'unité cryptographique 3. Par cette transmission numérique, le document entier est transmis au dispositif 10. Grâce au format interprété, cette transmission est rapide. Puis le switch 13 bascule alors dans sa deuxième position et le dispositif 10 prend le contrôle de l'écran 5. Il se trouve alors dans son deuxième mode de fonctionnement dit"mode de traitement de signature". L'affichage du document entier sur l'écran 5 est alors géré par le dispositif 10 par l'intermédiaire de l'interpréteur 17 et du convertisseur video 12. On prévoit des moyens au sein du dispositif 10 (non représentés) pour permettre à l'utilisateur des commandes conviviales de l'affichage comme le défilement du document pour faciliter sa relecture par exemple. Ce mode de réalisation offre cette possibilité par le fait notamment que le dispositif 10 dispose du document entier. L'utilisateur va alors déclencher la signature en pressant sur la touche 15. La réalisation de la signature se déroule alors comme précédemment. Ce mode de réalisation convient à la signature du document dans son ensemble comme à la signature du document par morceaux, page par page par exemple. Dans le deuxième cas de vérification de signature, le document est envoyé au dispositif 10 par le pilote de signature de la même façon que pour la signature. De plus, la signature (le document haché signé) correspondante est aussi transmise au dispositif 10. Ce dernier exécute d'une part les calculs habituels de vérification de la signature et affiche d'autre part le contenu du document signé pour vérification par l'utilisateur. Le résultat de la vérification peut être affiché sur l'écran 5 ou être indiqué à l'utilisateur par l'intermédiaire d'un voyant rouge/vert. Ce second mode de réalisation propose donc une solution conviviale et adaptée au traitement de la signature de grands documents puisqu'elle permet d'une part une visualisation conviviale du document et d'autre part des échanges rapides de données entre le PC et le dispositif. On voit donc que l'invention propose une solution fiable de traitement de la signature, qui garantit à l'utilisateur l'exactitude du contenu du document qu'il manipule et qui est signé. Ce contenu est présenté par l'intermédiaire d'un périphérique tel un écran 5, une imprimante 20 pour une sortie papier ou un haut parleur (non représenté) pour les données sonores... On note que le mode transparent décrit dans les modes de réalisation consiste à intercaler le dispositif entre un ordinateur et un écran, de sorte que les connecteurs 4 et 41 sont des connecteurs pour des signaux"écrans". On peut reproduire le même concept inventif avec toute autre combinaison dispositif informatique et périphérique de sortie. La solution ne nécessite pas ou peu de changements sur les PCs et les périphériques, et se base sur un dispositif simple et peu coûteux. Enfin, cette solution s'adapte facilement à tout assemblage ordinateur/écran de l'art antérieur, ou à tout autre dispositif similaire. Le document à traiter peut transiter par un PDA, un téléphone... Plusieurs sous-variantes de réalisation peuvent être intéressantes : - l'utilisation d'une carte à puce au sein du dispositif 10 pour remplir certaines fonctions nécessitant une grande sécurité comme le stockage de la clé privée et/ou l'exécution de l'algorithme de signature et/ou le contrôle de l'affichage, en incluant par exemple l'interpréteur, peut apporter de grands avantages, non seulement au niveau de la sécurité mais aussi au niveau de la souplesse d'utilisation ; en effet, par un simple changement de carte, le dispositif peut permettre à plusieurs utilisateurs de signer un ou plusieurs documents (chacun insère sa carte personnelle), le dispositif peut devenir compatible avec plusieurs PCs qui n'auraient pas opté pour le même pilote de signature (on insère la carte qui contient le bon interpréteur)... - Le dispositif 10 peut être muni d'un programme de test de périphérique, qui adresse à ce dernier des données particulières, pour vérifier qu'il n'a pas un comportement anormal. - Le même dispositif peut être facilement adapté aux écrans numériques par l'homme du métier : en effet, dans ce contexte, le dispositif 10 est simplifié puisqu'il n'y a notamment plus besoin de prévoir des convertisseurs analogiques/numériques. Les connecteurs 4 et 4'sont dans ce cas des ports numériques pour "écran numérique". - On peut prévoir que l'utilisateur donne son feu vert pour une signature après s'être identifié par la saisie d'un PIN code ou de données biométriques, soit par un capteur sur le dispositif 10 soit par un capteur situé directement sur une carte à puce. - Des liaisons filaires ont été utilisées dans les modes de réalisation préférés mais on peut imaginer l'utilisation de cartes sans contact et/ou des appareils communiquant par des moyens sans contact, de type radiofréquence par exemple (bluetooth, 802.11...). REVENDICATIONS 1. Dispositif sécurisé de traitement de signature numérique (10) comportant une unité cryptographique (3) pour traiter la signature numérique d'un document provenant d'un dispositif informatique (1) de type ordinateur caractérisé en ce qu'il comprend un moyen (16,13, 14,3 ou 13,3) pour sélectionner un mode de fonctionnement et un moyen d'affichage (12 ou 12,17) de manière à présenter ledit document à un utilisateur sur un périphérique (5, 20) hors de toute influence du dispositif informatique (1) dans un mode de traitement de signature. 2. Dispositif de traitement de signature selon la revendication 1 caractérisé en ce qu'il comprend un moyen (4,16, 13, 4'ou 4,13, 4') pour permettre une liaison directe entre un dispositif informatique (1) et un périphérique (5) dans un mode de fonctionnement transparent. 3. Dispositif de traitement de signature selon l'une des revendications précédentes caractérisé en ce qu'il comprend un indicateur de manière à indiquer à un utilisateur le mode de fonctionnement en cours dudit dispositif. 4. Dispositif de traitement de signature selon l'une des revendications 1 à 3 caractérisé en ce qu'il possède un port numérique (2) pour échanger un document dont la signature est à traiter avec un dispositif informatique (1). 5. Dispositif de traitement de signature selon la revendication 4 caractérisé en ce qu'il est apte au traitement de la signature d'un document échangé avec un dispositif informatique (1) dans un format interprété et en ce que son moyen d'affichage comprend un interpréteur (17) pour permettre la traduction du document ainsi qu'un convertisseur vidéo (12). 6. Dispositif de traitement de signature selon la revendication 5 caractérisé en ce qu'il comprend en outre un moyen convivial de commande d'affichage d'un document dans un mode de traitement de signature. 7. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il contient un lecteur de cartes de type cartes à puce. 8. Dispositif selon la revendication 2 caractérisé en ce qu'il comprend un moyen (14) pour passer du mode transparent au mode de traitement de signature. 9. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il comprend un moyen d'identification de l'utilisateur. 10. Carte à puce pour le traitement de signature numérique avec un dispositif tel que celui de la revendication 5 caractérisée en ce qu'elle comporte l'interpréteur (17) et/ou l'unité cryptographique (3). il. Procédé de réalisation d'une signature numérique caractérisé en ce qu'il comprend les étapes suivantes : - un document à signer est envoyé d'un dispositif informatique (1) vers un dispositif sécurisé de traitement de signature (10) selon l'une des revendications 1 à 9 ; - le dispositif de traitement de signature (10) passe d'un mode transparent à un mode de traitement de la signature durant lequel il présente le document à un utilisateur sur un périphérique (5,20) hors de toute influence du dispositif informatique (1) ; l'utilisateur déclenche la signature du document qui est effectuée au sein de l'unité cryptographique (3) dudit dispositif de traitement de signature (10) ; 12. Procédé selon la revendication 11 caractérisé en ce que la première étape est précédée de l'étape suivante : - le dispositif informatique (1) est relié à un périphérique (5) par l'intermédiaire du dispositif de traitement de signature (10) dans un mode transparent ; 13. Procédé selon l'une des revendications 11 ou 12 caractérisé en ce que la transmission du document au dispositif de traitement de signature (10) se fait sous la forme d'un signal numérique dans un format interprété et en ce que le signal est transformé par un interpréteur avant d'être présenté à l'utilisateur. 14. Procédé de vérification de signature numérique caractérisé en ce qu'il comprend les étapes suivantes : - un document dont la signature est à vérifier ainsi que sa signature sont envoyés d'un dispositif informatique (1) vers un dispositif sécurisé de traitement de signature (10) selon l'une des revendications 1 à 9 ; le dispositif de traitement de signature (10) passe d'un mode transparent à un mode de traitement de la signature durant lequel il présente le document à un utilisateur sur un périphérique (5, 20) hors de toute influence du dispositif informatique (1) ; l'unité cryptographique (3) du dispositif de traitement de signature (10) vérifie la signature du document ; 15. Procédé selon la revendication 14 caractérisé en ce que la transmission du document au dispositif de traitement de signature (10) se fait sous la forme d'un signal numérique dans un format interprété et en ce que le signal est transformé par un interpréteur en vue d'être présenté à l'utilisateur.