FR 2923034 A1 20090501 FR 0707546 A 20071026 TERMINAL DE PAIEMENT AVEC MOYENS DE SAISIE SECURISEE La présente invention concerne un terminal de paiement, tel qu'un terminal de paiement électronique ou un terminal de distributeurs automatiques de carburant. Un terminal de paiement électronique, plus souvent appelé TPE, est un appareil électronique permettant d'enregistrer une transaction sécurisée de diverse nature (bancaire, santé, etc.) en dialoguant avec d'une part : une carte bancaire, un porte-monnaie électronique (par exemple le système "Moneo" en France), un téléphone mobile, un serveur d'autorisation d'autre part. En France, les différents logiciels de paiement sont développés à partir de spécifications techniques présentées dans le Manuel du Paiement Électronique (MPE) établi par le Groupement des Cartes Bancaires CB, dans le but d'assurer l'interbancarité des cartes de paiement. Ce manuel est accessible à tout membre du public intéressé au domaine des terminaux de paiement électronique. Le TPE peut être autonome ou intégré dans un appareil plus complexe, comme un automate. Un TPE peut être accompagné d'un petit clavier numérique sur lequel le client saisit son code confidentiel. Des exemples d'automates sont les bornes de péage, les caisses automatiques et les Distributeurs Automatiques de Carburant ou DACs. Un TPE dispose d'un afficheur, on connaît à cet égard diverses technologies d'afficheurs de TPE, la plus courante étant la technologie dite à cristaux liquides. Les écrans à cristaux liquides (liquid cristal display, LCD, en anglais) sont des composants courants des moniteurs plats utilisés par exemple pour l'informatique et la télévision. Ils assurent également l'affichage d'un grand nombre de dispositifs portables. On connaît par ailleurs des systèmes de clavier virtuel avec réarrangement dynamique des touches, par exemple selon les frappes les plus fréquentes ou selon une configuration aléatoires. De tels systèmes offrent divers avantages. Cependant, ils nécessitent un écran tactile ou un système haptique de pointage à l'écran. De tels systèmes ne conviennent pas à la saisie d'informations sur un TPE. En effet, pointer une case à l'écran au moyen d'un système haptique permet à un tiers d'identifier facilement l'information saisie, telle qu'un code confidentiel. La présente invention a pour but de fournir une solution simple au problème lié à la sécurité lors de la saisie par un utilisateur d'informations sur le clavier d'un terminal. L'invention a ainsi pour objet un terminal de paiement offrant des moyens de saisie sécurisée. Le terminal comprenant : un afficheur. un clavier distinct de l'afficheur. une mémoire. un programme stocké dans la mémoire. dans lequel le C Duwmeni_ id tienne: SK L. cal > .tL. tempe tan Interner Ides (-nnrm Il Q-SFI CAR :0,- Io_4-I~'6>b-e et4on aI pr u ec pat J'a1A d1 - 2U 11, - 1 I 1 programme est apte à : modifier des données de configuration du clavier avant une saisie au clavier par un utilisateur et à commander l'affichage sur l'afficheur d'une configuration de clavier d'après les données de configuration modifiées. Dans des modes de réalisation préférés, le dispositif de traitement selon l'invention comprend une ou plusieurs des caractéristiques suivantes: - des symboles dessinant une configuration fixe de clavier sont apparents sur des touches du clavier et le terminal est en outre conçu pour afficher la configuration de clavier, d'après les données de configuration modifiées, en correspondance avec ladite configuration fixe ; - le terminal est apte à modifier la logique d'affichage pour l'affichage de la configuration du clavier ; - le programme est apte à maintenir inchangées les données de configuration du clavier en fonction d'un résultat d'une saisie précédente, par exemple en cas d'échec de validation de la saisie précédente ; - le programme est apte, en fonction d'un résultat d'une saisie précédente, à maintenir inchangées les données de configuration du clavier ; et à modifier une logique d'affichage sur l'afficheur de la configuration de clavier d'après les données de configuration maintenues; - le programme est en outre apte à modifier la configuration du clavier selon 20 une opération de permutation, translation ou rotation de sous-ensembles associés à des touches du clavier. - le programme est en outre apte à choisir aléatoirement l'opération ; - le programme est en outre apte à modifier la configuration du clavier selon une permutation, de sous-ensembles associés à trois touches du clavier ; 25 - la permutation est circulaire ; et - le terminal est un terminal de paiement électronique. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit des modes de réalisation de l'invention, donnés à titre d'exemple uniquement, et en référence aux dessins, qui montrent : 30 - Figures l - 3: Des exemples de configuration dynamiques d'écrans du terminal selon l'invention. L'idée à la base de l'invention est de proposer un terminal tel qu'un terminal de paiement. dans lequel une configuration dynamique du clavier apparaît sur un afficheur ou écran distinct du clavier, ce dernier étant typiquement un clavier 35 numérique à touches mécaniques. Un utilisateur peut saisir des données, par exemple un code confidentiel. sur le clavier et ce. selon les indications de configurations données sur l'écran. Alors qu'il est facilement possible d'identifier les données saisies sur un clavier mécanique à configuration fixe. il est beaucoup plus difficile C Ur c t n , t gis ' t ' s'R Local Sett r ' 1 empuran Intrrr t f les pontent II.' apl r.; Lat 1A1A do( - 1 d'identifier les données saisies sur un clavier dynamiquement reconfiguré. Ainsi, l'invention offre davantage de sécurité pour la saisie de données, sans pour autant nécessiter des modifications matérielles des terminaux existants. Plus en détails et en référence aux figures 1 à 3, l'invention se destine à un terminal tel qu'un terminal de paiement électronique (TPE), des automates tels que les bornes de péage, les caisses automatiques et les distributeurs automatiques de carburant. L'idée de base de l'invention peut également trouver à s'appliquer à tout terminal muni d'un afficheur tel qu'un afficheur à cristaux liquides, par exemple un dispositif portatif à afficheur LCD, et d'un clavier mécanique. Ce dispositif comprend classiquement une mémoire et un ou plusieurs programmes stockés dans la mémoire, tels que le système d'exploitation du dispositif et des programmes d'application. Un clavier 20 est prévu, distinct de l'afficheur 10. Typiquement, il s'agît d'un clavier à touches mécaniques. L'invention trouve ainsi à s'appliquer à des dispositifs existants sans nécessiter des changements autres que logiciels. Le clavier est par exemple géré classiquement en tant que périphérique usuel. Un programme stocké dans la mémoire permet en particulier, lors de son exécution. de modifier des données de configuration du clavier 20 avant saisie au clavier par l'utilisateur. En d'autres termes, si lors d'une première saisie un symbole donné (par exemple "9") est affectée à une touche donnée (par exemple la place habituelle de la touche "9" sur un clavier numérique, comme illustré à la figure 1), ce même symbole pourra être attribué à une autre touche lors d'une saisie ultérieure (par exemple la place habituelle de la touche "3", comme illustré à la figure 2). Concomitamment, ce programme commande l'affichage de la configuration de clavier modifiée sur l'afficheur, d'après les données de configuration modifiées. Ceci permet de guider l'utilisateur lors de la saisie. Les figures 2 et 3 montrent des exemples de configurations modifiées par rapport à la configuration standard. Le programme peut à cet égard exclure une ou plusieurs configurations, telle que la configuration standard de la figure 1, lors de la génération de la configuration modifiée. Une disposition relative particulière pourra être recherchée entre l'écran 10 et le clavier 20 de sorte à permettre à faciliter le suivi de la configuration de clavier affichée à l'écran par un utilisateur. La configuration affichée 10 représente par exemple une translation du clavier mécanique 20, dans laquelle des touches virtuelles et physiques sont en regard. Par exemple, le clavier est de préférence situé juste en dessous de l'écran. Lorsque le clavier est situé à droite de l'écran, comme sur les figures 1 - 3. la saisie par l'utilisateur (lisant de gauche à droite) s'en trouve facilitée et présente en pratique moins de risques d'erreurs. ( Documcrns and>ertiepz SR 1 tel>r'.,i Ir porar. Imeinei F les Ccmem IJ (17SFI-":~H: ^IP~a-I~C ' •er_..r. r., cc rsr PdV' dor :s Ire 1 - Comme exposé plus haut, la sécurité s'en trouve améliorée. En particulier, disposer un film fin sur le clavier ne permettrait pas de "récupérer" des données saisies, sans connaître la configuration utilisée à l'écran. Or, si les données saisies sur un clavier mécanique peuvent facilement être piratées ou identifiées, il n'en va pas de même pour la configuration affichée à l'écran. Ceci est particulièrement vrai dans le cas d'un TPE, dans laquelle l'écran n'est facilement lisible que pour l'utilisateur situé en face du terminal. La simple identification visuelle d'un code saisi est plus difficile qu'avec les TPEs de l'art antérieur. En effet, celle-ci nécessiterait d'identifier à la fois la configuration dynamique et l'information saisie au clavier. La logique de reconfiguration dynamique est par exemple mise en place au sein d'un programme d'application, stocké dans la mémoire. Typiquement, cette logique de reconfiguration dynamique est relayée par le système d'exploitation du terminal, d'une manière connue en soi. Le programme en question est par exemple un programme d'application et/ou le système d'exploitation. Ce programme est par exemple apte à modifier la configuration du clavier selon une opération simple, telle qu'une opération de permutation, de translation ou rotation de certaines touches (soit un sous-ensemble des touches standard). Par exemple. le programme modifie la configuration du clavier 20 selon une permutation de sous-ensembles associés à trois touches du clavier, comme illustré aux figures 1 - 3. A cet égard, les configurations modifiées représentées à la figure 2 ou 3 correspondent à des permutations de lignes ou de colonnes du pavé standard de touches 1 - 9. Sur la figure 2, une permutation circulaire de lignes du clavier est envisagée. Sur la figure 3, il s'agît d'une permutation de colonnes du clavier. Une simple permutation permet de ne pas désorienter l'utilisateur. De préférence, certaines touches ne sont pas modifiées, telles que la touche 0 ou 00 : ceci permet d'altérer plus simplement la configuration de clavier tout en minimisant le changement. De même, la touche de validation n'est pas modifiée, comme dans les figures jointes. De préférence, le programme de génération de la configuration de clavier est en outre apte à choisir aléatoirement l'opération. Afin de minimiser les chances de détournement d'information, on pourra cependant chercher à configurer le terminal pour générer une configuration aléatoire, le cas échéant sur un sous-ensemble de touches du clavier, telles que les touches 1 - 9. Des touches du clavier peuvent ne pas comprendre de caractères ou symboles imprimés. De préférence cependant, certaines des touches du clavier comprennent des symboles factices ou fictifs. servant d'intermédiaires pour mieux identifier les touches devant être actionnées lors de la saisie d'informations, comme illustré aux C 17:turnen;s.rid Sntngv '-RLr.al Sstrrngs Iempur-s Interer Ille. C2rrren. 11-s~rSI--I • AR2r.g-__1-1!!_J-IACi3h_.r;sion appruuv ee pau J\IA doc-1: 1 :1 figures 1 - 3. Par exemple, des caractères fixes a,b,c,d,e,f,g,h,i sont apparents sur les touches du clavier 20. Ces caractères fixes dessinent une configuration fixe de clavier. Le terminal est en outre conçu pour afficher dans l'afficheur 10 une configuration modifiée de clavier en correspondance avec la configuration fixe, comme illustré sur les figures 2 et 3. Par exemple, lors de la génération d'une configuration modifiée, le programme commande l'affichage de la nouvelle configuration en correspondance avec la configuration de symboles factices ou fictifs. De la sorte, un utilisateur peut plus facilement saisir une information au clavier. Par exemple, lorsqu'une configuration comme illustré à la figure 2 est générée, un utilisateur ayant à saisir le code 4558, identifie sans peine la séquence de symboles intermédiaires correspondants, c'est-à-dire ici ghhb, qu'il peut ensuite rapidement saisir sur la clavier. D'autres symboles peuvent être envisagés, en plus appropriés, par exemple selon la culture d'un pays dans lequel le terminal selon l'invention doit être exploité. Alternativement, un système de rétroaction peut être prévu. Par exemple, l'application gérant la configuration affichée peut être conçue de telle sorte que les touches virtuelles affichées réagissent au moment de la saisie. Typiquement, une touche change de rendu lorsque la touche correspondante du clavier est actionnée. Ceci permet à l'utilisateur sur l'écran de suivre sa saisie à l'écran. Le risque d'erreur de saisie est minimisé. Pour autant, le risque de détournement de l'information saisie ne s'en trouve pas notablement accru, dans la mesure où la lecture à l'écran par un tiers demeure très difficile. Ceci est particulièrement vrai dans le cas d'un TPE, pour lequel seul l'usager entrant son code peut lire les informations affichées à l'écran, en pratique. De préférence également, la configuration (et donc les données de configuration sous-jacentes) du clavier peut être maintenue inchangée, en fonction d'un résultat d'une saisie précédente. Ceci se produira par exemple en cas d'échec de validation d'une saisie précédente, de sorte à ne pas désorienter un utilisateur amené à devoir ressaisir des informations au clavier 20. Néanmoins, en cas de nouvelle transaction, le programme génèrera automatiquement une nouvelle configuration de clavier, indépendamment de savoir si la précédente saisie a été validée ou non. Ceci, pour des raisons de sécurité. Selon une variante, la reconfiguration dynamique du clavier peut être prévue par défaut. Cependant, un menu utilisateur (par exemple réservé à un commerçant) peut être prévu à des fins de paramétrisation. De préférence. le terminal est muni d'une fonction d'accès direct (ou de retour) à une configuration de clavier standard, tel qu'une touche dédiée ou un raccourci clavier (le cas échéant configurable). De la sorte, le clavier du terminal peut C U. c..ments -:nä Svtnns SR local S tc tgs l enpoian I^r rnct Fdes Content IF5 O7SFF '.R.2h5^ I 0' 024-INGS6 senior a r i .uvco pai 1A1\ ,l, - ~~- 21, 1 - 5 rapidement être reconfiguré selon une configuration standard. Ceci se fait par exemple sur intervention du commerçant mettant le terminal à disposition d'un utilisateur malvoyant. De la sorte, l'utilisateur a à disposition un clavier dans une configuration standard. Le cas échéant, le braille ou tout autre système d'écriture tactile est prévu sur les touches du clavier. Un système d'écriture tactile est parfaitement compatible avec un clavier comprenant des touches sur lesquelles des symboles intermédiaires sont apparents. Incidemment, un clavier d'appoint peut être prévu avec le terminal pour se superposer aux touches du clavier du terminal. Ce clavier d'appoint peut par exemple être prévu dans la forme d'un film souple, amovible et susceptible d'être rabattu sur le clavier. Le clavier d'appoint comporte des symboles imprimés. De la sorte, un utilisateur qui ne souhaite pas bénéficier de la configuration dynamique a, à sa disposition, un clavier d'aspect classique. Selon une alternative, un menu d'accueil pourrait être prévu afin de demander à l'utilisateur s'il souhaite ou non une re-configuration dynamique du clavier. Selon le résultat de la saisie utilisateur en réponse à cette question, une configuration standard du clavier peut être maintenue. De préférence, un délai de temporisation peut être prévu, au terme duquel une configuration standard est maintenue. De la sorte, un utilisateur malvoyant peut ainsi, sans intervention positive de sa part, avoir à disposition un clavier dans une configuration standard. Une assistance audio pourra avantageusement être prévue pour mieux guider l'utilisateur. Par ailleurs, le programme de reconfiguration est de préférence apte à commander une modification de la logique d'affichage lors de l'affichage de la configuration du clavier à l'écran. Ceci est par exemple le cas lorsque l'on passe d'un menu d'accueil à une page présentant la configuration de clavier. Une logique d'affichage est mise en place dans le terminal, par exemple au sein d'un programme d'application. Là encore, cette logique d'affichage est typiquement relayée par le système d'exploitation. Par logique d'affichage, on entend la mise en oeuvre d'une ou plusieurs fonctions logiques liées à l'affichage "logiciel", c'est-à-dire distinctes d'une fonction impactant directement les composants matériels du dispositif. Par exemple. la taille de police de caractères est une fonction logique, contrairement à l'intensité de rétro éclairage d'un LCD, qui est une fonction matérielle. D'autres exemples seront détaillés plus loin. Lorsqu'un programme d'application gère en amont la logique d'affichage, il le fait en fonction de paramètres tels que des paramètres d'affichage par défaut ou configurés (par exemple, la taille de caractère). De préférence. la logique d'affichage est ici modifiée de sorte à minimiser les erreurs de saisies involontaires et/ou à minimiser les chances qu'un tiers identifie la C Docorncros end Setnnç SR Lt .ai Snn, l empotas Interna Flcs Content ILF Q?SFl AR 218 -1ù0-1('-a-IRGst vers os a pproucce par Ip1C de. - 25 I - 2C IG-a 1! configuration de clavier affichée à l'écran. Notons que la modification de la logique d'affichage peut être envisagée indépendamment d'une modification matérielle de l'affichage. La mise en oeuvre d'une telle caractéristique ne nécessite pas de prévoir de moyens de modification matérielle de l'affichage, tels que des moyens d'adaptation de l'intensité d'éclairage de l'afficheur. Selon des variantes, le programme est apte à modifier, dans la logique d'affichage, la taille ou la police de caractères affichés sur l'afficheur, la mise en page, au sein de l'application courante, un rendu graphique (ou "layout" en anglais) de l'application en cours. Selon une autre variante, le programme modifie le rendu conjointement avec une modification de la taille des caractères et/ou de la mise en page. Le cumul des modifications permet d'optimiser l'ergonomie et le confort visuel au moment de la saisie d'information, par exemple d'un code confidentiel. Par exemple, le rendu peut être modifié de sorte à maximiser un effet de miroir sur un afficheur LCD. Un utilisateur face à l'écran peut voir la configuration affichée, tandis qu'un tiers en est empêché compte tenu des reflets sur l'écran. Comme souligné plus haut, la modification de la logique l'affichage peut être envisagée indépendamment de la modification matérielle de l'affichage. Cependant, dans un mode de réalisation, le programme gérant la logique d'affichage peut en outre être apte à commander conjointement la modification d'un réglage matériel de l'afficheur, et aux mêmes fins, i.e. afin d'empêcher qu'un tiers identifie la configuration affichée à l'écran. Par exemple, une adaptation de l'intensité d'affichage peut être envisagée. De préférence ici, cette adaptation est gérée depuis le même programme ou la même application gérant la modification de la logique d'affichage. Combiner des modifications à la fois logiques et matérielles de l'affichage permet de modérer les modifications matérielles de l'affichage nécessaires, lesquelles sont parfois gênantes pour les utilisateurs. Comme évoqué plus haut, le dispositif selon l'invention est de préférence un terminal de paiement électronique (TPE). Un TPE est généralement connu de l'art : c'est un appareil électronique permettant d'enregistrer une transaction de paiement sécurisée. Un TPE est typiquement un ordinateur placé chez un commerçant, qui permet des règlements par cartes bancaires (telles que les cartes à puce ou les cartes à piste magnétique). Le commerçant introduit la carte de son client dans le lecteur du terminal et entre le montant de la transaction. Le client valide son achat, par exemple en composant son code confidentiel sur le clavier de l'appareil et reçoit un ticket confirmant la transaction. Un TPE peut par exemple comporter une partie portative pour la lecture des cartes à puce et l'impression des tickets. Cette partie repose alors sur un socle lorsqu'elle n'est pas utilisée. et communique avec ce socle par une liaison sans fil, par exemple radioélectrique, en utilisation. Le socle peut être C ,Doiarnim i, S.nm. SR Local Setlings Tempornn Imernet Piles Content IE` Q-SI'l1O \R I -..-'.V_~-I~Geî pers r zl - ee Cap D7A du. IU connecté au moyen de gestion; il comprend typiquement un modem permettant d'obtenir des autorisations de prélèvement d'organismes habilités. Un exemple de TPE se prêtant tout particulièrement à l'implémentation de l'invention est maintenant décrit. Ce TPE comprend typiquement un lecteur de carte à puce, des moyens d'impression de ticket, un modem, et une carte GSM. De préférence, le terminal est compatible avec la norme GPRS afin de bénéficier d'une meilleure bande passante. Par exemple, le TPE peut être doté d'un module de communication GSM/GPRS (bi-bande 900/1800 ou 900/1900 MHz). De même, on peut en outre prévoir que le terminal soit compatible avec un réseau de téléphonie mobile de troisième génération. Ce TPE est par exemple équipé d'un processeur 32 bits prenant en charge les cryptographies usuelles (RSA, DES, triple DES...). L'architecture du processeur est de préférence choisie de sorte à permettre à plusieurs programmes ou applications (dont celui ou celle gérant la modification de la logique d'affichage, le cas échéant) de fonctionner indépendamment les un(e)s des autres au sein du TPE. A cet égard, le programme ou l'application de reconfiguration dynamique du clavier peut éventuellement être chargé de manière indépendante d'autres applications du TPE, afin d'assurer une sécurité logique (ou étanchéité logicielle). On utilisera avantageusement un processeur incluant une sécurité embarquée et un système d'exploitation multi applicatif supportant des langages de programmation avancés tels que C, C++ ou JAVA. Le programme ou l'application gérant la logique d'affichage peut être conçu dans l'un de ces langages. L'invention n'est cependant pas limitée aux variantes décrites ci avant mais est susceptible de nombreuses autres variations aisément accessibles à l'homme du métier. L'homme du métier comprendra par ailleurs que les exemples de modifications d'affichage cités plus haut peuvent être plus ou moins pertinents en fonction du type d'afficheur utilisé. A la lecture de la description ci-dessus, l'homme du métier comprendra en outre que des modifications différentes de la logique d'affichage peuvent être envisagée en fonction du type d'afficheur utilisé. C Documents and Setnnps SR Local Setnn�s Iempu.a. Interne! 1 'es (untem 1!S O'SFCO \R 2(t871--07 PC I- IN(,- sn set, on;,p cu-.ec pat 1MA doc - ]5 tU 0-21t1(,- 8 II REVENDICATIONS 1. Terminal de paiement comprenant: - un afficheur ; - un clavier (20) distinct de l'afficheur (10) ; - une mémoire ; - un programme stocké dans la mémoire ; dans lequel le programme est apte à : - modifier des données de configuration du clavier avant une saisie au clavier 10 (20) par un utilisateur; et - à commander l'affichage sur l'afficheur (10) d'une configuration de clavier d'après les données de configuration modifiées. 2. Le terminal selon la revendication 1, caractérisé en ce que : - des symboles dessinant une configuration fixe de clavier sont apparents sur 15 des touches du clavier (20) ; et - le terminal est en outre conçu pour afficher la configuration de clavier, d'après les données de configuration modifiées, en correspondance avec ladite configuration fixe. 3. Le terminal selon la revendication 1 ou 2, caractérisé en ce que le terminal est 20 apte à modifier la logique d'affichage pour l'affichage de la configuration du clavier (20). 4. Le terminal selon la revendication 1, 2, ou 3, caractérisé en ce que le programme est apte à maintenir inchangées les données de configuration du clavier (20), en fonction d'un résultat d'une saisie précédente, par exemple en 25 cas d'échec de validation de la saisie précédente. 5. Le terminal selon la revendication 1, 2, ou 3, caractérisé en ce que le programme est apte, en fonction d'un résultat d'une saisie précédente, à : - maintenir inchangées les données de configuration du clavier ; et - à modifier une logique d'affichage sur l'afficheur (I0) de la configuration de 30 clavier d'après les données de configuration maintenues. 6. Le terminal selon l'une des revendications l à 5. caractérisé en ce que le programme est en outre apte à modifier la configuration du clavier selon une C D, Int rts and Serra, ,k 1 oeil S r( rI 7. Le terminal selon la revendication 6, caractérisé en ce que le programme est en outre apte à choisir aléatoirement l'opération. 8. Le terminal selon la revendication 6 ou 7, caractérisé en ce que le programme est en outre apte à modifier la configuration du clavier (20) selon une permutation, de sous-ensembles associés à trois touches du clavier. 9. Le terminal selon la revendication 8, caractérisé en ce que : - la permutation est circulaire. 10. Le terminal selon l'une des revendications 1 à 9, caractérisé en ce que : - le terminal est un terminal de paiement électronique. C Ut SR Local . edces'1 em poran Interner hies C, nrent IL (l'$f l" \K ~oS'Iù9-11'a IN(,