- Clavier virtuel projeté et sécurisé - - Projected and secure virtual keyboard -
L'invention concerne un clavier virtuel projeté et sécurisé .The invention relates to a projected and secure virtual keyboard.
L'invention porte en particulier sur un procédé de saisie basé sur le positionnement spatial des doigts en référence à une image projetée.In particular, the invention relates to an input method based on the spatial positioning of the fingers with reference to a projected image.
Le brevet européen EP980039 décrit un procédé pour la saisie de caractères par l'intermédiaire d'un clavier virtuel. Un clavier virtuel est un moyen de saisie de textes en l'absence d'un périphérique comportant une touche par caractère, et qui est particulièrement destiné à des équipements tels que la télévision interactive, des téléphones cellulaires, ou encore des terminaux personnels PDA. Les claviers virtuels trouvent un nouveau terrain d'application dans l'univers des échanges sécurisés .European Patent EP980039 discloses a method for character input via a virtual keyboard. A virtual keyboard is a means of text entry in the absence of a device with one key per character, and which is particularly intended for equipment such as interactive television, cell phones, or PDA personal terminals. Virtual keyboards find a new field of application in the world of secure exchanges.
On connaît dans l'état de la technique le brevet PCT W09914657 décrivant un clavier virtuel utilisé sur écran d'ordinateur pour émuler un clavier conventionnel. Les coordonnées des touches sur le clavier virtuel sont conservées en mémoire sous forme d'un tableau par l'ordinateur. Ces coordonnées de touches sont classées dans le tableau en fonction de leur fréquence d'occurrence. Un dispositif de pointage permet de sélectionner les touches sur le clavier virtuel. Les points d'entrée générés par le dispositif de pointage sont comparés un à un aux coordonnées de touches conservées dans le tableau de coordonnées. Pour décider si le point d'entrée correspond à une touche considérée, on applique des critères définis à une fonction de borne. En cas de correspondance, la touche est affectée au point d'entrée, et la recherche s'arrête. La recherche de
touche correspondante se poursuit jusqu'à détection d'une correspondance ou jusqu'à la fin du tableau.It is known in the prior art PCT patent WO9914657 describing a virtual keyboard used on a computer screen to emulate a conventional keyboard. The coordinates of the keys on the virtual keyboard are stored in memory as a table by the computer. These key coordinates are ranked in the table according to their frequency of occurrence. A pointing device makes it possible to select the keys on the virtual keyboard. The points of entry generated by the pointing device are compared one by one with the key coordinates stored in the coordinate table. To decide whether the entry point corresponds to a considered key, we apply defined criteria to a terminal function. In case of a match, the key is assigned to the entry point, and the search stops. The research of corresponding key continues until a match is detected or until the end of the table.
Le brevet américain US5008847 décrit un autre type de clavier virtuel comportant un moyen de sélection par curseur déplacé sur une représentation graphique d'un clavier .US Patent US5008847 discloses another type of virtual keyboard having a cursor selection means moved on a graphical representation of a keyboard.
Ces solutions de l'art antérieur présentent l'inconvénient d'avoir une géométrie fixe, et facilement espionable dans le cadre de la saisie d'une information secrète. De plus les solutions de l'art antérieur sont particulièrement vulnérables dans l'éventualité de la présence d'un module hostile sur le dispositif électronique en charge de la présentation du clavier virtuel .These solutions of the prior art have the disadvantage of having a fixed geometry, and easily espionable in the context of the seizure of secret information. In addition, the solutions of the prior art are particularly vulnerable in the event of the presence of a hostile module on the electronic device in charge of the presentation of the virtual keyboard.
Le but de la présente invention est de remédier à cet inconvénient en proposant un procédé sécurisé pour la saisie d'un texte à l'aide d'un clavier virtuel.The object of the present invention is to overcome this disadvantage by providing a secure method for entering a text using a virtual keyboard.
L'invention est en premier lieu un procédé de saisie d'un texte dans un système réparti comportant au moins un dispositif sécurisé appelé serveur, communiquant avec au moins un dispositif électronique appelé terminal, le procédé comporte au moins - une étape de pré-calcul, dans laquelle au moins une table de correspondance est établie entre une image, au moins une zone de l'image, et au moins une valeur, une étape de transmission de l'image, depuis le serveur vers le terminal, - une étape de projection, par le terminal, de l'image, à destination de l'utilisateur une étape repérage des positions spatiales des doigts de l'utilisateur au regard de la projection de l'image
une étape de restitution des positions spatiales au serveur une étape d' interprétation, par le serveur des positions reçues au regard de la table de correspondance afin d'obtenir des valeurs dites valeurs candidates.The invention is in the first place a method for entering a text in a distributed system comprising at least one secure device called server, communicating with at least one electronic device called terminal, the method comprises at least - a pre-calculation step in which at least one correspondence table is established between an image, at least one area of the image, and at least one value, a step of transmitting the image, from the server to the terminal, a step of projection, by the terminal, of the image, for the user a step of locating the spatial positions of the fingers of the user with regard to the projection of the image a step of restoring the spatial positions to the server, a step of interpretation, by the server of the positions received with respect to the correspondence table in order to obtain values called candidate values.
La projection peut se faire contre une surface faisant office d'écran.The projection can be done against a surface acting as a screen.
Dans un mode de réalisation, l'image représente plusieurs zones géométriquement distinctes. Ces zones peuvent représenter un ensemble de touches.In one embodiment, the image represents a plurality of geometrically distinct areas. These areas can represent a set of keys.
Dans un mode de réalisation, la table de correspondance permet d'appliquer les positions à une seconde image.In one embodiment, the look-up table enables the positions to be applied to a second image.
Dans un mode de réalisation, la table de correspondance permet d'appliquer des décalages aux positions afin d'obtenir des positions corrigées.In one embodiment, the correspondence table makes it possible to apply offsets to the positions in order to obtain corrected positions.
Dans un mode de réalisation, le procédé comprend également une étape préalable au cours de laquelle l'image peut, soit être sélectionnée parmi une liste d' images enregistrées dans une mémoire accessible par le serveur, soit générée.In one embodiment, the method also includes a prior step in which the image can either be selected from a list of images stored in a memory accessible by the server, or generated.
L'invention est également un terminal de saisie d'un texte, en relation avec au moins un dispositif sécurisé appelé serveur, ce terminal comporte des moyens pour - recevoir, depuis le serveur, une image projeter cette image sur un support, à destination de 1' utilisateur repérer les positions spatiales des doigts de l'utilisateur au regard de la projection de l'image - restituer les positions spatiales au serveurThe invention is also a text input terminal, in connection with at least one secure device called a server, this terminal comprises means for receiving, from the server, an image projecting this image on a medium, destined for The user locates the spatial positions of the fingers of the user with regard to the projection of the image - restoring the spatial positions to the server
Dans un mode de réalisation, les moyens pour repérer les positions spatiales des doigts de l'utilisateur peuvent
être des moyens de capture vidéo, des capteurs de pression positionnés dans ledit support de projection ou encore des émetteurs et récepteurs radars.In one embodiment, the means for locating the spatial positions of the user's fingers can be video capture means, pressure sensors positioned in said projection support or radar transmitters and receivers.
Un avantage de l'invention est que l'image, envoyée par le serveur n'est pas interprété par le terminal. En effet le fait que l'image soit monolithique, et non pas dissociée en zones rend le terminal incapable d'interpréter les positions de doigts qu'il a relevé. Ainsi le procédé est particulièrement adapté au cas où le serveur ne fait pas confiance au terminal.An advantage of the invention is that the image sent by the server is not interpreted by the terminal. In fact, the fact that the image is monolithic, and not dissociated into zones, makes the terminal incapable of interpreting the finger positions that it has taken up. Thus the method is particularly suitable in the case where the server does not trust the terminal.
D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est faite ci-après, à titre indicatif et nullement limitatif, en référence aux dessins annexés dans lesquels :Other characteristics and advantages of the invention will emerge clearly from the description which is given hereinafter, by way of indication and in no way limiting, with reference to the appended drawings in which:
- La figure 1 représente un exemple d' implémentation de 1' invention . - La figure 2 représente un exemple d' implémentation de l'invention avec un dispositif intermédiaire destiné à établir la communication entre le terminal et le serveur.FIG. 1 represents an exemplary implementation of the invention. FIG. 2 represents an exemplary implementation of the invention with an intermediate device intended to establish the communication between the terminal and the server.
- La figure 3 représente un exemple d' image utilisable par l'invention dans lequel les zones graphiques représentant les touches sont organisées en rondFIG. 3 represents an example of an image usable by the invention in which the graphic zones representing the keys are organized in a circle.
- La figure 4 représente un exemple d' image utilisable par l'invention dans lequel les zones graphiques représentant les touches sont mélangéesFIG. 4 represents an example of an image usable by the invention in which the graphic zones representing the keys are mixed.
- La figure 5 représente un exemple d' image utilisable par l'invention dans lequel les zones graphiques représentant les touches sont présentées sous la forme d'une carte géographique
- La figure 6 illustreFIG. 5 represents an example of an image usable by the invention in which the graphic zones representing the keys are presented in the form of a geographical map - Figure 6 illustrates
- La figure 7 représente- Figure 7 represents
L'invention peut être, de manière schématique et aucunement limitative, notamment un procédé de saisie d'un texte dans un système réparti comportant au moins un dispositif sécurisé appelé serveur, communiquant avec au moins un dispositif électronique appelé terminal.The invention may be schematically and in no way limiting, in particular a method of entering a text in a distributed system comprising at least one secure device called server, communicating with at least one electronic device called terminal.
Ce procédé peut entre autre permettre de préparer une image en associant des valeurs à certaines des zones la composant .This method can, among other things, make it possible to prepare an image by associating values with some of the component zones.
Cette image est projetée à l'utilisateur qui va toucher des zones de l'image qu'il souhaite sélectionner comme il le ferait des touches d'un clavier. Les mouvements de ces doigts sont analysés, et les positions des touches virtuelles qu' il a sélectionnées sont retransmises au serveur qui fera la corrélation entre ces positions et les valeurs associées précédemment . Ainsi la figure 1 illustre une implémentation de l'invention dans laquelle un utilisateur tente d'accéder à un service distant, hébergé par un serveur 2, via un réseau 4. Afin d'authentifier l'utilisateur, le serveur 2 transmet 3 une image à un terminal 1 directement en contact avec l'utilisateur. Ce terminal est muni de moyens lui permettant d'afficher 5 l'image reçue, à la vue de l'utilisateur. Dans l'exemple illustré par la figure 1, l'affichage de l'image se fait par projection 5 sur un support. Dans une étape préalable, le serveur 2 « construit » l'image en identifiant, sur celle-ci, des zones particulières auxquelles sont associées des informations. Un exemple est l'image d'un pavé numérique, et à chacune des zones correspondant à chacune des touches est associée la valeur de la touche. Dans un
autre exemple une carte géographique d'un pays peut être divisée en zone, et à chacun de ces zones peut être affecté une valeur. Selon les modes de réalisation, ces informations de corrélation entre l'image et les zones, et les valeurs associées, peuvent être stockées dans une mémoire du serveur, ou dans toute mémoire accessible par le serveur.This image is projected to the user who will touch areas of the image that he wishes to select as he would keys on a keyboard. The movements of these fingers are analyzed, and the positions of the virtual keys that it has selected are retransmitted to the server which will correlate between these positions and the values associated above. Thus, FIG. 1 illustrates an implementation of the invention in which a user tries to access a remote service, hosted by a server 2, via a network 4. In order to authenticate the user, the server 2 transmits 3 an image to a terminal 1 directly in contact with the user. This terminal is provided with means enabling it to display the received image, in the view of the user. In the example illustrated in FIG. 1, the image is displayed by projection on a support. In a preliminary step, the server 2 "constructs" the image by identifying, on it, particular areas with which information is associated. An example is the image of a keypad, and each zone corresponding to each of the keys is associated with the value of the key. In one another example a map of a country can be divided into a zone, and each of these zones can be assigned a value. According to the embodiments, this correlation information between the image and the zones, and the associated values, can be stored in a memory of the server, or in any memory accessible by the server.
Dans un mode particulièrement avantageux d' implémentation de l'invention, ces informations de corrélation peuvent être enregistrées dans un dispositif électronique sécurisé. Ce dispositif électronique sécurisé peut être par exemple un dispositif mobile sécurisé permettant une indépendance de la fonctionnalité de serveur et du matériel serveur. Ainsi, tout dispositif électronique communiquant peut potentiellement devenir serveur s'il est mis en relation avec le dispositif mobile sécurisé contenant les informations de corrélation.In a particularly advantageous embodiment of the invention, these correlation information can be recorded in a secure electronic device. This secure electronic device can be for example a secure mobile device allowing independence of the server functionality and the server hardware. Thus, any communicating electronic device can potentially become server if it is related to the secure mobile device containing the correlation information.
Le terminal 1 est doté de moyens lui permettant d'analyser les mouvements autour de la projection 5. Cette analyse comprend plusieurs étapes et plusieurs dispositifs. En effet, cette analyse comprend une capture des mouvements à proximité de l'image affichée 5, et leur analyse afin d'en extraire des positions dédites de saisies. Ces positions de saisies vont être représentatives de la sélection, par l'utilisateur, de zones géographique de l'image 5. Une illustration particulièrement parlante de cette analyse est donnée par l'exemple où l'image 5 représente un pavé numérique d'ordinateur. L'utilisateur approche ses doigts à la surface de l'image 5 et pose les doigts sur les zones de l'image correspondant aux touches du code numérique qu'il souhaite saisir. Des l'ors, l'analyse selon l'invention consiste en une capture des mouvements des doigts de l'utilisateur à proximité de l'image 5 du pavé numérique
5, et en leur analyse afin de proposer des positions correspondant aux zones que l'utilisateur à touché.The terminal 1 is provided with means enabling it to analyze the movements around the projection 5. This analysis comprises several steps and several devices. Indeed, this analysis includes a capture of the movements in the vicinity of the displayed image 5, and their analysis to extract unseen positions of seizures. These input positions will be representative of the selection, by the user, of geographic areas of the image 5. A particularly telling illustration of this analysis is given by the example where the image 5 represents a computer numeric keypad . The user approaches his fingers on the surface of the image 5 and places the fingers on the areas of the image corresponding to the keys of the digital code that he wishes to enter. Gold, the analysis according to the invention consists of a capture of the movements of the fingers of the user near the image 5 of the numeric keypad 5, and in their analysis to propose positions corresponding to the areas that the user has touched.
Dans l'exemple illustré dans la figure 1, cette analyse peut se faire par l'usage de moyen de capture vidéo 6. Tout autre moyen de repérage de mouvement d'un objet physique dans un espace défini peut être utilisé pour analyser les mouvements solutions peuvent être utilisées Dans un mode particulier d' implémentation, deux caméra sont associées afin d'obtenir une précision optimale dans l'analyse de mouvement. Dans un mode de réalisation, les moyens de capture vidéo pourront présenter, avec le support d'affichage 5, un angle positif comme illustré par la figure 6.In the example illustrated in FIG. 1, this analysis can be done by the use of video capture means 6. Any other means of locating the movement of a physical object in a defined space can be used to analyze the movements of solutions. can be used In a particular mode of implementation, two cameras are associated in order to obtain an optimal precision in the motion analysis. In one embodiment, the video capture means may present, with the display medium 5, a positive angle as shown in FIG. 6.
Cette analyse est retournée 7 au terminal 2 qui va à son tour traiter ces données, au regard des informations de corrélations entre l'image 5, les zones qui la composent, et les valeurs qui leurs ont été associées.This analysis is returned 7 to the terminal 2 which will in turn process these data, with regard to the information of correlations between the image 5, the zones which compose it, and the values which have been associated with them.
Le résultat de cette authentification décidera de la suite à donner aux requêtes de l'utilisateur.The result of this authentication will decide how to proceed with the user's queries.
La figure 2 illustre une implémentation de l'invention dans laquelle le terminal 11 est en relation avec le serveur 12 grâce à un dispositif électronique communicant 16, lui-même apte à communiquer avec le serveur 12 au travers d'un réseau 14, par exemple de radiotéléphonie. Ce mode de réalisation est particulièrement adapté au cas où le dispositif électronique communicant et le serveur proposent à l'utilisateur un service nécessitant une authentification forte, par exemple un service bancaire. A la vue de la grande diversité des dispositifs électroniques communicants, il est très difficile pour le serveur d'assoir la sécurité du service sur un dispositif qu'il ne contrôle pas et dont il n'est pas en mesure de garantir la sécurité. En associant le terminal au
dispositif électronique, le serveur authentifie l'utilisateur au travers du canal de communication que représente le dispositif électronique, sans craindre d'éventuelles failles de sécurité chez celui-ci. En effet le dispositif communicant, tout comme le terminal voient passer une image dans un sens, et des positions dans un autre sens, mais sans avoir les informations permettant de mettre les deux en corrélations, et d'en tirer des valeurs exploitables. Dans un mode particulièrement avantageux de réalisation, le terminal possède des moyens d' authentification qui lui sont propre, et s'authentifie auprès du serveur afin que les échanges 13 et 15 se fassent au travers d'un canal de communication sécurisé, par exemple au moyen d'une clef de session, ce qui conforte encore la sécurité du système.FIG. 2 illustrates an implementation of the invention in which the terminal 11 is in relation with the server 12 thanks to a communicating electronic device 16, itself able to communicate with the server 12 through a network 14, for example of radiotelephony. This embodiment is particularly suitable in the case where the communicating electronic device and the server offer the user a service requiring strong authentication, for example a banking service. In view of the great diversity of communicating electronic devices, it is very difficult for the server to sit security service on a device that it does not control and which it is not able to guarantee security. By associating the terminal with electronic device, the server authenticates the user through the communication channel that represents the electronic device, without fear of possible security breaches therein. Indeed, the communicating device, like the terminal sees an image in one direction, and positions in another direction, but without the information to put the two in correlations, and to draw exploitable values. In a particularly advantageous embodiment, the terminal has its own authentication means, and authenticates with the server so that the exchanges 13 and 15 are made through a secure communication channel, for example to session key, which further enhances the security of the system.
Dans les figures 3, 4 et 5 on peut voir différents exemple d'images utilisables selon l'invention. La figure 3 nous illustre le cas ou les zones qui composent l'image sont « mélangées » afin que la géographie du « clavier virtuel » que représente l'image change. De la même manière la figure 4 nous illustre le cas ou la géographie du « clavier virtuel » reste inchangée, mais les valeurs des zones sont réaménagées. Ces deux techniques peuvent avantageusement être combinées pour faire varier, à la fois l'organisation des zones, et leur ordre. Dans un mode particulièrement intéressant de l'invention, lors de chaque session l'image envoyée est, soit choisie parmi une liste d'image préétablie, soit générée. Cette précaution permet de se prémunir d'un éventuel enregistrement des échanges entre le terminal et le serveur lors de plusieurs sessions, et de faire une corrélation entre les informations fournies par chaque enregistrement .In Figures 3, 4 and 5 there can be seen various examples of usable images according to the invention. Figure 3 illustrates the case where the areas that compose the image are "mixed" so that the geography of the "virtual keyboard" that represents the image changes. In the same way, figure 4 illustrates the case where the geography of the "virtual keyboard" remains unchanged, but the values of the zones are reorganized. These two techniques can advantageously be combined to vary both the organization of the zones and their order. In a particularly advantageous mode of the invention, during each session the sent image is either selected from a pre-established image list or generated. This precaution makes it possible to guard against a possible recording of exchanges between the terminal and the server during several sessions, and to correlate the information provided by each record.
La figure 5 représente un exemple d' image au travers desquelles la saisie d'une information se fait par
convention symbolique. Par exemple l'image peut représenter une palette de couleur, et la convention entre l'utilisateur et le serveur est que l'utilisateur doit choisir les couleurs bleu vert et rouge. Le serveurFIG. 5 represents an example of an image through which the input of an information is done by symbolic convention. For example, the image may represent a color palette, and the convention between the user and the server is that the user must choose the colors blue green and red. The server
La figure 6 illustre une implémentation de l'invention dans laquelle les moyens d'analyser les mouvements en périphérie de la projection de l'image selon l'invention, présentent un angle positif avec le plan du support. Le terminal selon l'invention est représenté sur la figure par l'élément 51. Dans cet exemple, le terminal 51 projette une image 55 sur un plan 56. Ce plan peu par exemple être une surface plane sur laquelle le terminal serait posé. Le terminal possède en outre des moyens 52 d'analyse des mouvements. Comme illustré par l'axe symbolique 53, ce moyen est orienté de manière à analyser les mouvements en périphérie directe de la projection 55 de l'image. La figure 6 illustre le cas particulièrement avantageux ou le moyen d'analyse 52 présente un angle 54 positif avec la surface de projection 56. Cette implémentation particulière augmente significativement les performances de l'analyse des mouvements. Un angle 54 proche de 90 degrés offrira de grandes facilités d' analyse . Dans un autre mode de réalisation, la figure 7 illustre le cas ou le dispositif 61 projette une image 65 selon l'invention, sur une surface 62 sensible à la pression. Cette surface 62 va donc être capable de repérer les endroits ou l'utilisateur pose ses doigts à sa surface, et restituer cette analyse au terminal 61.FIG. 6 illustrates an implementation of the invention in which the means for analyzing the movements at the periphery of the projection of the image according to the invention have a positive angle with the plane of the support. The terminal according to the invention is represented in the figure by the element 51. In this example, the terminal 51 projects an image 55 on a plane 56. This plane can for example be a flat surface on which the terminal would be placed. The terminal furthermore has means 52 for analyzing movements. As illustrated by the symbolic axis 53, this means is oriented to analyze the movements in the direct periphery of the projection 55 of the image. FIG. 6 illustrates the particularly advantageous case where the analysis means 52 has a positive angle 54 with the projection surface 56. This particular implementation significantly increases the performance of the motion analysis. An angle 54 close to 90 degrees will offer great ease of analysis. In another embodiment, FIG. 7 illustrates the case where the device 61 projects an image 65 according to the invention on a surface 62 sensitive to pressure. This surface 62 will therefore be able to identify the places where the user places his fingers on its surface, and return this analysis to the terminal 61.
Un avantage supplémentaire de l'invention est que, contrairement aux moyens de saisie standard, l'usage d'un terminal de saisie selon l'invention ne laisse pas de
traces sur le clavier après son usage car la disparition de l'image fait par la même disparaître toute référence. De la même façon il n'est pas possible d'étudier une éventuelle usure des touches afin d'en tirer une éventuelle information.
An additional advantage of the invention is that, unlike standard input means, the use of an input terminal according to the invention does not traces on the keyboard after its use because the disappearance of the image makes the same disappear any reference. In the same way it is not possible to study a possible wear of the keys in order to obtain any information.