Brevet FR2888348A1 — publié le 20070112

Titre de l'invention Procédé et dispositif de dématérialisation permettant de garantir l'intégrité d'une image numérique, notamment signée. Arrière-plan de l'invention La présente invention se rapporte au domaine général de la sécurisation des appareils électroniques. Préférentiellement, mais de façon non limitative, l'invention s'applique aux terminaux à architecture ouverte, c'est-à-dire aux terminaux dans lesquels un utilisateur peut installer de nouvelles applications. Elle peut notamment être utilisée dans un téléphone portable ou dans un organiseur personnel (PDA). Plus précisément, l'invention se situe dans le contexte de la dématérialisation de documents électroniques, c'est-à-dire dans le contexte du remplacement d'un document papier par son équivalent électronique. On connaît déjà, notamment dans le domaine de la distribution de courrier, des dispositifs écrans tactiles sur lesquels un utilisateur peut, à l'aide d'un stylet, apposer une signature manuscrite sur l'image numérique représentant un bon de livraison. De tels dispositifs présentent deux inconvénients majeurs. Tout d'abord, il n'y a pas de garantie que l'image numérique affichée à l'écran corresponde au fichier numérique associé en mémoire. Ce fichier pourrait notamment être modifié par un programme informatique mal intentionné, ou par un virus. Deuxièmement, il n'y a pas de garantie que le fichier numérique représentant l'image numérique et la signature apposée par l'utilisateur ne soient altérés ultérieurement. D'autres techniques de dématérialisation sont basées sur l'utilisation de clés cryptographiques personnelles. De tels procédés utilisent le plus souvent une paire de clés, l'utilisateur se servant d'une clé cryptographique pour signer le document électronique, une clé de vérification associée étant utilisée pour vérifier la signature. Mais là non plus, il n'y a pas de garantie que l'image affichée à l'écran corresponde au fichier numérique censé la représenter. Lorsque l'on s'intéresse à la signature électronique, ce problème est connu sous le 2888348 2 nom de "WYSIWYS" (What You See Is What You Sign) ; il peut se poser de la façon suivante: garantir que le fichier numérique sur lequel s'opère le calcul cryptographique de signature correspond effectivement à l'image qui est à l'écran. Au surplus, les procédés à gestion de clés sont complexes et délicats à mettre en oeuvre. Le but de l'invention est donc de fournir un procédé et un dispositif qui ne nécessitent aucune clé cryptographique personnelle et tels que le fichier comportant la représentation de l'image affichée à l'écran soit fidèle à cette image, non répudiable par son auteur, et inaltérable ultérieurement. A cet effet, l'invention concerne un dispositif électronique comportant des moyens d'affichage d'une image numérique, des moyens de saisie d'information, et des moyens de mise en oeuvre d'un programme applicatif invitant un utilisateur à saisir au moins une donnée sensible devant être associée à une image numérique qui lui est présentée. Ce dispositif comporte un processeur adapté à faire basculer l'exécution du dispositif dans un mode d'exécution sécurisé, à savoir un mode dans lequel seules les requêtes du processeur nécessaires à l'exécution du programme applicatif sont prises en compte par les moyens d'affichage et de saisie. Ainsi, l'invention permet de garantir qu'en mode d'exécution sécurisé, toutes les opérations et ressources utilisées pour l'affichage et la saisie sont sous l'unique contrôle du programme applicatif. L'homme du métier comprendra que l'image numérique présentée à l'utilisateur est nécessairement fidèle à sa représentation numérique, et que toute donnée apposée sur cette image, par exemple une signature manuscrite, sera protégée d'une attaque malintentionnée. Préférentiellement, le dispositif selon l'invention comporte des moyens de mémorisation d'une image numérique dans une zone mémoire accessible uniquement dans le mode d'exécution sécurisé. Cette caractéristique permet avantageusement de mémoriser, dans cette zone protégée, la deuxième image numérique résultant de la combinaison de l'image numérique initiale (par exemple le bon de livraison) et de la donnée sensible saisie par l'utilisateur (par exemple sa signature manuscrite). 2888348 3 Dans un mode préféré de réalisation, le dispositif comporte en outre des moyens de mise en oeuvre, dans le mode d'exécution sécurisé, d'un programme de signature d'une image numérique. Ainsi, l'image numérique résultat de la combinaison précitée 5 peut être signée, par exemple avec une clé cryptographique, pour être ultérieurement transmise à une autre application qui détient la clé de vérification associée. Dans un mode préféré de réalisation, les moyens d'affichage comportent un écran et les moyens de saisie une dalle tactile superposée 10 sur cet écran. Préférentiellement, le processeur est adapté à faire basculer l'exécution du dispositif dans un mode d'exécution non sécurisé. Cette caractéristique permet avantageusement de hiérarchiser les différentes applications mises en oeuvre par le dispositif électronique. Plus précisément, les applications importantes, critiques, tournent dans l'environnement sécurisé et sont isolées des autres applications qui ne sont pas de confiance et qui peuvent comporter des virus. Corrélativement, l'invention concerne un procédé de capture d'image numérique susceptible d'être mis en oeuvre par un processeur comportant au moins un mode d'exécution sécurisé, ce procédé comportant les étapes suivantes: - basculement du processeur en mode d'exécution sécurisé si ledit processeur ne se trouve pas dans ce mode; - affichage d'une première image numérique; - obtention d'au moins une donnée sensible en provenance d'un utilisateur du dispositif, cette donnée devant être associée à l'image numérique; - affichage d'une deuxième image numérique constituée de la première image numérique et d'une représentation de la donnée sensible; - capture et mémorisation de cette deuxième image numérique dans une mémoire sécurisée. Préférentiellement, le processeur comporte en outre un mode d'exécution non sécurisé et le procédé de capture selon l'invention comporte une étape de basculement en mode d'exécution non sécurisé, cette étape étant mise en oeuvre après l'étape de capture et de mémorisation de la deuxième d'image numérique dans la mémoire sécurisée. 2888348 4 Dans cette variante préférée, le processeur peut exécuter des applications non sécurisées, par exemple téléchargées depuis Internet, de telles applications étant malheureusement susceptibles d'installer des virus. Mais grâce à l'invention, les applications critiques d'affichage et de capture d'image notamment sont protégées de ces virus car elles s'exécutent en mode sécurisé. Préférentiellement, on effectue aussi l'étape de basculement en mode d'exécution non sécurisé lorsque l'obtention de la donnée sensible n'a pas été effectuée après l'expiration d'un délai. Cette caractéristique fournit un niveau de sécurité supplémentaire, notamment dans le cas où l'utilisateur abandonne temporairement son dispositif au moment de la saisie de la donnée sensible. La donnée sensible peut être représentative d'une signature manuscrite, mais aussi d'un choix dans un formulaire électronique, d'un numéro, d'un code secret,... Selon une mise en oeuvre préférée, les différentes étapes du procédé de capture sont exécutées par des instructions de programme d'ordinateur. En conséquence, l'invention vise aussi un programme d'ordinateur, ce programme étant susceptible d'être mis en oeuvre dans un dispositif électronique, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes du procédé de capture. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un dispositif électronique et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté 10 pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des dessins D'autres caractéristiques et avantages de la présente invention 15 ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures: - les figures 1A et 1B représentent schématiquement un dispositif électronique conforme à l'invention dans un premier mode de 20 réalisation; - les figures 2A et 2B représentent un dispositif électronique conforme à l'invention dans un deuxième mode de réalisation; - les figures 3A et 3B représentent un dispositif électronique conforme à l'invention dans un troisième mode de réalisation; - la figure 4 représente l'architecture du dispositif électronique des figures 2A et 2B; et - la figure 5 représente, sous forme d'organigramme, les principales étapes d'un procédé de capture conforme à l'invention dans un mode préféré de réalisation. Description détaillée d'un mode de réalisation La figure 1A représente un dispositif électronique 101 conforme à l'invention. Ce dispositif 101 comporte des moyens d'affichage constitués 35 par un écran 10. Sur cet écran est affichée une image numérique IiA représentant un formulaire avec trois cases constituant des zones de saisie possibles. Le dispositif électronique 101 comporte des moyens de saisie constitués ici par un bouton (joystick) 21 permettant de déplacer un pointeur. Le dispositif électronique 101 comporte également un indicateur lumineux 70 dont l'utilisation sera décrite ultérieurement. La figure 1B représente le dispositif 101 de la figure 1A, après que l'utilisateur a saisi une donnée sensible Dl correspondant à la sélection de la deuxième case du formulaire. On a référencé I1B l'image numérique constituée par la combinaison de l'image IlA représentant le formulaire vierge et de la donnée sensible D1. La figure 2A représente un dispositif électronique 102 conforme à l'invention dans un autre mode de réalisation. Dans cette variante, les moyens de saisie sont constitués par une dalle tactile 22 superposée à l'écran 10, et par un stylet 23 ou une main 24 auxquels peut réagir la dalle tactile 22. L'image numérique I2A est ici représentative d'un texte. La figure 2B représente l'image numérique I2B constituée par le texte de l'image numérique I2A et une signature D2 (donnée sensible) apposée sur l'image numérique I2A au moyen du stylet 23. La figure 3A représente un autre dispositif électronique 103 conforme à l'invention. Ce dispositif électronique comporte des moyens de saisie 25 constitué par un clavier. L'image I3A représente notamment une zone de saisie que l'utilisateur peut renseigner grâce au clavier 25. A la figure 3B, on a supposé que l'utilisateur a saisi la donnée sensible D3 en remplissage de ce champ. On a référencé I3B l'image numérique constituée par la combinaison de l'image numérique initiale I3A et de la donnée sensible D3. La figure 4 représente de façon schématique l'architecture du dispositif électronique des figures 2A et 2B. Cette architecture comporte un processeur 30, une mémoire flash 35, une mémoire 34, et un gestionnaire de mémoire 32. Elle comporte également un écran 10 associé à son contrôleur 50, une dalle tactile 22 associée à son contrôleur 60, une horloge 80 et l'indicateur lumineux 70. Tous ces éléments sont reliés entre eux par un système de bus 100. Conformément à l'invention, le processeur 30 est un processeur adapté à faire basculer l'exécution du dispositif 102 dans un mode d'exécution sécurisé. Dans l'exemple préféré de réalisation décrit ici, l'environnement est conforme à celui de l'architecture TrustZone d'ARM tel que décrit dans le document "TrustZone: integrated hardware and software security" de Tiago Alves et Don Felton, juillet 2004, publié notamment à l'adresse Internet suivante http://www.arm.com/products/CPUs/archtrustzone.html. Dans ce mode de réalisation, le processeur 30 propose une nouvelle instruction, notée ici "IS", permettant de basculer en mode sécurisé, et un nouveau niveau de permission "sécurisé", noté ici "MS", qui s'ajoute au mode connu "utilisateur" et "noyau" du processeur. Le bus de données 100, qui relie tous les composants, dispose d'un bit supplémentaire de sécurisation (appelé "bit secure") qui n'est positionnable que par le processeur 30. Ce bit de sécurisation peut être interprété par le contrôleur d'écran 50 et le contrôleur de la dalle tactile 60. Dans la variante préférée décrite ici, ce bit de sécurisation peut 25 également être interprété par le gestionnaire de mémoire 32. Dans cette variante, le gestionnaire de mémoire 32 contrôle deux zones mémoires, à savoir une zone 36 qui peut être utilisée lorsque le processeur est en mode "utilisateur" ou "noyau", et une autre zone mémoire 33 accessible uniquement dans le mode d'exécution sécurisé, c'est- à-dire lorsque le processeur 30 a positionné le bit de sécurisation. Dans le mode préféré de réalisation décrit ici, la mémoire flash 35 comporte un programme applicatif sécurisé AP_S et une application non sécurisée AP. Dans le mode de réalisation décrit ici, la mémoire 34 comporte 35 un programme de signature d'image numérique P_SIG, ce programme ne pouvant être exécuté que lorsque le processeur 30 est en mode sécurisé. 2888348 8 Nous allons maintenant décrire en référence à la figure 5 les principales étapes d'un procédé de capture d'image numérique conforme à l'invention. On supposera dans cette description que l'application non 5 sécurisée AP est en cours d'exécution. On supposera également que ce programme applicatif non sécurisé AP requiert l'affichage d'une image numérique I2A, la saisie d'une signature manuscrite D2 devant être associée à cette image numérique I2A, la capture et l'archivage de l'image numérique I2B constituée par l'image d'origine I2A et la signature D2. A cet effet, le programme applicatif AP lance l'exécution du programme applicatif sécurisé AP_S. Au cours d'une première étape E10, le programme applicatif sécurisé AP_S bascule le dispositif 102 dans un mode d'exécution sécurisé. Pour ce faire, le processeur 30 exécute l'instruction IS, ce qui a pour effet de basculer le système dans le mode sécurisé MS. Le processeur 30 positionne alors le bit sécurisé sur le bus 100 et les contrôleurs écran 50, de dalle tactile 60, et de gestion mémoire 32, en détectant ce bit sécurisé sur le bus 100, se mettent dans un mode où seules les requêtes du processeur 30 nécessaires à l'exécution du programme applicatif sécurisé AP_S sont prises en compte. L'étape de basculement E10 est suivie par une étape E20 au cours de laquelle l'image I2A représentant un texte est affichée. Lorsque cette image est affichée, on allume l'indicateur 70. L'homme du métier comprendra que cette image est nécessairement fidèle à sa représentation en mémoire, puisque aucune application autre que l'application sécurisée AP_S n'a pu intervenir sur le gestionnaire de mémoire ni sur le contrôleur d'écran 50. Cette étape E20 d'affichage est suivie par une étape E30 au 30 cours de laquelle on déclenche un compteur de temporisation supporté par l'horloge 80. L'étape E30 de déclenchement est suivie par un test E40 au cours duquel on vérifie si un délai prédéterminé a expiré depuis le déclenchement du compteur à l'étape E30. Si tel est le cas, le procédé de capture se termine. Dans le cas contraire, le test E40 est suivi par un test E50 au cours duquel on vérifie si l'utilisateur a terminé sa saisie. Dans un mode de réalisation préféré, lorsque l'utilisateur a saisi sa signature D2 au moyen du stylet 23 sur l'écran tactile 22, il notifie cette fin de saisie au système par l'appui sur un bouton virtuel affiché sur l'écran. Si tel n'est pas le cas, le résultat du test E50 est négatif. Ce test est alors suivi par le test E40 de contrôle de la fin de temporisation déjà décrit. Lorsque la signature a été apposée (donnée sensible D2 obtenue), le test E50 est suivi par une étape E60 au cours de laquelle on affiche sur l'écran 10, une image I2B constituée par la combinaison de l'image d'origine I2A et de la signature manuscrite D2. On supposera ici qu'une étape E70 de confirmation permet à l'utilisateur de valider cette signature en demandant expressément la capture de l'image I2B. Cette étape E70 de confirmation est suivie par une étape E80 au cours de laquelle on capture et on mémorise la deuxième image numérique I2B dans la zone 33 sécurisée contrôlée par le gestionnaire de mémoire 32. L'étape E80 de capture et de mémorisation est suivie par une étape E85 au cours de laquelle on signe numériquement, en utilisant le programme de signature P_SIG, l'image numérique I2B. Cette étape de signature est connue de l'homme du métier et ne sera pas décrite ici. Elle peut par exemple faire appel à un système de clés privée/publique. L'étape E85 de signature est suivie d'une étape E90 au cours de laquelle on rebascule dans le mode d'exécution non sécurisé. Pour ce faire, le processeur 30 supprime le positionnement du bit de sécurisation. Au cours de cette étape E90 de basculement, on éteint l'indicateur 70. Ainsi l'indicateur lumineux 70 ne reste allumé que pendant l'exécution des opérations d'affichage de l'image numérique, de saisie et de capture d'écran. Le programme applicatif AP_S sécurisé se termine et l'exécution 35 du programme appelant non sécurisé AP se poursuit. A l'issue du procédé de capture d'écran, le fichier correspondant à l'image I2B forme une image numérique dont on a maîtrisé le processus de création et qui peut ensuite être recopiée dans la mémoire non sécurisée 36 et/ou transférée à un tiers. Le programme applicatif sécurisé AP_S garantit que l'image numérique capturée est bien celle que l'utilisateur a signée sur l'écran 10 du dispositif 102. Et comme cette application tourne dans l'environnement sécurisé, il est impossible que cette image ait été copiée et/ou modifiée par une application malintentionnée. La signature de l'image garantit son intégrité et son origine lors d'un transfert. Si cette image est modifiée par une application tierce, la signature ne sera plus valide. L'image numérique I2B est l'équivalent électronique d'un papier signé manuellement par l'utilisateur. REVENDICATIONS 1. Dispositif électronique (101) comportant des moyens d'affichage (10) d'une image numérique (I1A, I1B, I2A, I2B, I3A, I3B), des moyens de saisie d'information (21), et des moyens (30, 31, 32, 33) de mise en oeuvre d'un programme applicatif (AP_S) invitant un utilisateur à saisir au moins une donnée (Dl) devant être associée à une image numérique (I1A, I2A, I3A) qui lui est présentée, ce dispositif (101) étant caractérisé en ce qu'il comporte un processeur (30) adapté à faire basculer l'exécution dudit dispositif (101) dans un mode d'exécution sécurisé (MS), dans lequel seules les requêtes dudit processeur nécessaires à l'exécution dudit programme applicatif (AP_S) sont prises en compte par lesdits moyens (10) d'affichage et de saisie (21). 2. Dispositif électronique selon la revendication 1, caractérisé en ce qu'il comporte en outre des moyens (32, 33) de mémorisation d'une image numérique (I1A, I1B, I2A, I2B, I3A, I3B) dans une zone mémoire (33) accessible uniquement dans le mode d'exécution sécurisé (MS). 3. Dispositif électronique selon la revendication 1 ou 2, caractérisé en ce qu'il comporte en outre, des moyens (30, 32, 33, 34) adaptés à mettre en oeuvre, dans ledit mode d'exécution sécurisé, un programme (P_SIG) de signature d'une image numérique (I1B, I2B, I3B). 4. Dispositif électronique selon l'une quelconque des revendications 1 à 3, caractérisé en ce que lesdits moyens d'affichage (10) comportent un écran, et lesdits moyens de saisie une dalle tactile (22) superposée sur ledit écran (10). 5. Dispositif électronique selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ledit processeur (30) est adapté à faire basculer l'exécution dudit dispositif dans un mode d'exécution non sécurisé. 2888348 12 6. Procédé de capture d'image numérique pouvant être mis en oeuvre par un processeur (30) comportant un mode d'exécution sécurisé, caractérisé en ce qu'il comporte les étapes suivantes: -basculement (E10) du processeur (30) en mode d'exécution sécurisé 5 (MS) si le même processeur ne se trouve pas dans ce mode; - affichage (E20) d'une première image numérique (I1A, I2A, I3A) ; - obtention (E50) d'au moins une donnée (D1) en provenance d'un utilisateur dudit dispositif, cette donnée (D1) devant être associée à ladite image numérique (I1A, I2A, I3A) ; affichage (E60) d'une deuxième image numérique (I1B, I2B, I3B) constituée de ladite première image numérique (I1A, I2A, I3A) et d'une représentation (Dl) de ladite donnée (Dl) ; et - capture (E80) et mémorisation de ladite deuxième image numérique (I1B, I2B, I3B) dans une mémoire sécurisée (33). 7. Procédé de capture d'image selon la revendication 6, dans lequel ledit processeur comporte en outre un mode d'exécution non sécurisé, caractérisé en ce qu'il comporte une étape (E90) de basculement du processeur dans un mode d'exécution non sécurisé, cette étape étant mise en oeuvre après ladite étape (E80) de capture et de mémorisation de la dernière image numérique (I1B, I2B, I3B) dans la mémoire sécurisée (33). 8. Procédé de capture selon la revendication 6 ou 7, caractérisé en ce que on bascule en mode d'exécution non sécurisé lorsque ladite étape (E50) d'obtention n'a pas été effectuée après l'expiration d'un délai prédéterminé. 9. Procédé de capture selon l'une quelconque des 30 revendications 6 à 8, caractérisé en ce qu'il comporte une étape (E85) de signature de ladite deuxième image numérique (I1B, I2B, I3B), cette signature étant effectuée en mode d'exécution sécurisé (MS). 10. Procédé de capture d'image selon l'une quelconque des 35 revendications 6 et 9, caractérisé en ce que ladite donnée (Dl) est un signal représentatif d'une signature manuscrite. 2888348 13 11. Programme d'ordinateur sur un support d'informations, ledit programme étant caractérisé en ce qu'il comporte des instructions adaptées à mettre en oeuvre un procédé de capture d'image selon l'une 5 quelconque des revendications 6 à 10 lorsque ledit programme est exécuté par un ordinateur. 12. Support d'informations lisible par un ordinateur, sur lequel est enregistré un programme d'ordinateur qui comporte des instructions pour l'exécution du procédé de capture d'image selon l'une quelconque des revendications 6 à 10.