Brevet FR2913546A1 — publié le 20080912

DOMAINE TECHNIQUE L'invention concerne le domaine des services utilisant des techniques d'échange de données sans contact ou techniques NFC (Near Field Communication). Elle concerne plus particulièrement un procédé d'échange de données entre un terminal mobile et une borne de communication sans contact. ETAT DE LA TECHNIQUE De plus en plus de services utilisent des techniques de communication sans contact. Ces techniques permettent à des appareils d'échanger des données entre eux ou avec une carte à puce sans contact, par le biais d'une liaison sans fil de courte portée (typiquement de l'ordre de quelques centimètres). Certains terminaux mobiles (téléphones mobiles ou PDA) incluent des applications sans contact permettant à des utilisateurs d'utiliser leur terminal mobile comme un support d'information apte à échanger des données, le terminal pouvant ainsi remplir une fonction de carte de paiement, carte de fidélité, badge, billet de spectacle, titre de transport ou clef par exemple. Ces applications peuvent être stockées dans la carte SIM du terminal. Cependant, avec la multiplication des services utilisant ce mode d'échange de données, un même terminal mobile doit pouvoir mettre en 25 oeuvre plusieurs applications sans contact. Par ailleurs, il existe actuellement plusieurs technologies d'échanges de données sans contact, telles que par exemple la technologie FeliCa proposée par la société Sony ou la technologie Mifare proposée par la société Philips. 30 Afin de permettre à un terminal mobile d'échanger des données avec un autre équipement, il est nécessaire que le terminal mobile et l'équipement utilisent une même technologie. 1 RESUME DE L'INVENTION Un but de l'invention est de permettre d'intégrer au sein d'un même terminal mobile une pluralité d'applications d'échanges de données sans contact, ces applications pouvant être contenues dans différents espaces de stockage du terminal mobile et requérir différents formats de données. Ce problème est résolu dans le cadre de la présente invention grâce à un procédé d'échange de données entre une borne de communication sans contact et un terminal de téléphonie mobile incluant un module de communication sans contact et une pluralité d'espaces de stockage contenant une ou plusieurs application sans contact, le procédé comprenant des étapes selon lesquelles : - le module de communication sans contact reçoit une requête d'initiation d'échange de données émise par la borne, - le module de communication détecte un format d'une chaîne de 15 données contenue dans la requête, le module de communication dirige la requête vers un espace de stockage approprié du terminal mobile, en fonction d'une table de routage associant un format de chaîne de données à un espace de stockage prédéterminé. 20 Dans un tel procédé, le module de communication sans contact est apte à détecter le format de la requête d'initiation et à router la requête d'initiation vers un espace de stockage approprié. De ce fait, le terminal mobile est capable d'établir un échange de données avec la borne quel que soit le format de la requête d'initiation. 25 Par ailleurs, le module de communication se réfère à une table de routage qui établit une correspondance entre un format particulier d'une requête et un espace de stockage correspondant dans le téléphone. Cette table de routage peut être modifiée ou adaptée en fonction des applications disponibles dans le terminal mobile. 30 Le procédé peut en outre présenter les particularités suivantes : - l'étape de détection du format d'une chaîne de données consiste à détecter une chaîne d'octets prédéterminée contenue dans la requête d'initiation, - la table de routage contient des règles de routage des requêtes d'initiation associant un format d'une chaîne de données de référence à un espace de stockage du terminal mobile, - les règles de routage sont administrées par un élément de sécurité 5 maître du terminal mobile, - la table de routage est stockée dans le module de communication sans contact du terminal mobile, - le procédé comprend une étape de mise à jour de la table de routage, 10 - le procédé comprend en outre une étape selon laquelle le module de communication insère une chaîne d'identification d'application dans la requête avant de diriger la requête vers l'espace de stockage, - le procédé comprend une étape selon laquelle le module de communication maintient un canal d'échange de données entre l'espace de 15 stockage et la borne de communication sans contact pendant une durée prédéterminée, - la durée prédéterminée est définie dans la table de routage en association avec une application sans contact concernée ou l'espace de stockage, 20 - le module de communication transmet à la borne une liste prédéterminée d'identifiants d'applications sans contact visibles contenues dans un ou plusieurs des espaces de stockage. L'invention se rapporte également à un terminal de téléphonie mobile apte à échanger de données avec une borne de communication 25 sans contact, le terminal incluant un module de communication sans contact et une pluralité d'espaces de stockage contenant une ou plusieurs application(s) sans contact, le module de communication sans contact étant programmé pour exécuter les étapes définies précédemment. Le terminal peut présenter les caractéristiques suivantes : 30 - le terminal comprend un élément de sécurité maître apte à administrer des règles de routage contenues dans la table de routage et des éléments de sécurité utilisateur, qui incluent les espaces de stockage ayant un identifiant prédéterminé et contenant une ou plusieurs applications sans contact, - la table de routage comprend une liste prédéterminée d'identifiants d'applications sans contact visibles contenues dans un ou plusieurs des espaces de stockage, cette liste étant destinée à être transmise par le terminal mobile à la borne de communication sans contact, - le terminal comprend une interface de programmation permettant de modifier des règles de routage contenues dans la table de routage et d'installer de nouvelles applications sans contact dans les espaces de stockage du terminal mobile, - la table de routage est apte à être mise à jour par une plateforme OTA. BREVE DESCRIPTION DES DESSINS D'autres caractéristiques et avantages ressortiront encore de la description qui suit, laquelle est purement illustrative et non limitative et doit être lue en regard des figures annexées, parmi lesquelles : - la figure 1 représente de manière schématique des équipements aptes à échanger des données, conformes à un mode de réalisation 20 possible de l'invention, - la figure 2 représente de manière schématique différentes étapes d'un procédé d'échange de données, conforme à un mode de mise en oeuvre de l'invention, - la figure 3 représente de manière schématique un exemple de 25 table de routage contenue dans le module NFC, conforme à un mode de mise en oeuvre de l'invention, - la figure 4 représente de manière schématique les liaisons entre les éléments de sécurité et la table de routage, - la figure 5 représente de manière schématique des étapes 30 d'identification d'applications disponibles dans le terminal mobile. DESCRIPTION DETAILLEE D'UN MODE DE REALISATION Sur la figure 1, les équipements représentés comprennent d'une part un terminal mobile 10 et d'autre part une borne 20 d'échange de données sans contact. Le terminal mobile 10 comprend une antenne 11 d'échange de données NFC, un module 12 de communication sans contact NFC, un processeur 13 et une pluralité d'espaces de stockage incluant un élément sécurisé 14 (Secure Element), une carte SIM 15 et une carte mémoire amovible 16 (Secure Digital card). Chaque espace de stockage du terminal mobile peut contenir une ou plusieurs applications d'échanges de données sans contact. La borne 20 comprend notamment une antenne 21 d'échange de données NFC et un lecteur 22 de données NFC. Le terminal mobile 10 et la borne 20 sont aptes à échanger des 15 données entre eux par le biais d'une liaison sans contact de courte portée (représentée en traits pointillés). A cet effet, la borne 20 est apte à émettre une requête d'initiation d'échange de données sans contact et à recevoir un signal de réponse du terminal 10 par l'intermédiaire de l'antenne 21. 20 Le terminal mobile 10 est apte à recevoir la requête d'initiation et à émettre une réponse par l'intermédiaire de l'antenne 11. Le module NFC 12 est programmé pour exécuter un routage des requêtes reçues par le terminal mobile 10 vers un espace de stockage approprié du terminal mobile, selon des règles de routage prédéterminées. 25 La figure 2 illustre différentes étapes d'un procédé 100 d'échange de données entre le terminal 10 et la borne 20. Selon une première étape 110, la borne émet une requête d'initiation d'échange de données, la requête présentant un format prédéterminé, conforme à une norme d'échange de données sans contact. 30 Selon une deuxième étape 120, le module NFC du terminal mobile reçoit la requête d'échange de données. Selon une troisième étape 130, le module NFC détecte un format d'une chaîne d'octets de référence contenue dans la requête. Selon une quatrième étape 140, le module NFC interroge une table de routage et détermine un espace de stockage vers lequel la requête doit être routée. La table de routage associe un format d'une chaîne d'octet de référence à un identifiant d'un espace de stockage du terminal mobile. Selon une cinquième étape 150 optionnelle, le module NFC insère dans la requête une chaîne d'identification d'application, destiné à permettre à l'espace de stockage de sélectionner et d'activer une application appropriée. Cette cinquième étape 150 permet au terminal mobile de gérer des requêtes d'initiation émises dans un format simplifié qui ne contiennent pas de chaîne d'identification d'application. C'est le cas de certaines requêtes dans un format appelé protocole B Innovatron par exemple, utilisé notamment pour la détection de certains titres de transport. Selon une sixième étape 160, le module NFC transmet la requête à 15 l'espace de stockage déterminé à l'étape 140. Selon une septième étape 170, le module NFC maintient un canal d'échange de données entre la borne et l'espace de stockage pendant une durée prédéterminée, pour permettre à une application contenue dans l'espace de stockage d'échange des données. Une fois la durée 20 prédéterminée écoulée, le canal d'échange est fermé de sorte que le procédé peut à nouveau être exécuté et un nouveau canal vers une autre application peut être établi. Le procédé 100 qui vient d'être décrit permet d'identifier le type de données transmises par la borne et de d'acheminer ces données vers un 25 espace de stockage approprié du terminal mobile. L'espace de stockage est déterminé au moyen d'une table de routage qui défini des règles de routage des données en fonction du format de ces données. La figure 3 représente un exemple de table de routage définissant des règles de routage des requêtes d'initiation d'échange de données sans 30 contact. La table de routage est hébergée dans une mémoire du module NFC. La table de routage comprend une pluralité de formats de données, désignés par A, B et C et des informations désignant des espaces de stockage SE1, SE2 et SE3. Les formats A et B désignent par exemple des formats de type NFC RF ISO 14443. Le format C désigne par exemple un format de type Felica RF ISO 14443. La table de routage définit les règles suivantes : - une requête de format A et contenant un identifiant d'application AID sera acheminée vers un espace de stockage SE1 pour activer une application AID1 contenue dans cet espace de stockage, - une requête de format A et contenant une chaîne d'octets de référence différente de AID sera acheminée vers l'espace de stockage SE1 pour activer l'application AID2 contenue dans cet espace de stockage, - une requête de format B et contenant un identifiant d'application AID sera acheminée vers un espace de stockage SE2 pour activer une application AID1 contenue dans cet espace de stockage, - une requête de format B et contenant une chaîne d'octets de référence différente de AID sera acheminée vers l'espace de stockage SE2 pour activer l'application AID2 contenue dans cet espace de stockage, - une requête de format B et contenant une chaîne d'octet de référence sera acheminée vers l'espace de stockage SE2, cette requête pouvant dans certains cas être interprétée par l'espace de stockage SE2 comme une demande d'installation d'application, - une requête de format C et contenant un identifiant d'application AID sera acheminée vers un espace de stockage SE3 pour activer une application AID1 contenue dans cet espace de stockage, - une requête de format C et contenant une chaîne d'octets de référence différente de AID sera acheminée vers l'espace de stockage SE3 pour activer l'application AID2 contenue dans cet espace de stockage. La figure 4 les liaisons entre les éléments de sécurité et la table de routage. Le terminal mobile comprend deux types d'éléments de sécurité : -un élément de sécurité maître qui a pour fonction d'administrer les règles de routage dans la table de routage contenue dans le module NFC, des éléments de sécurité utilisateur, qui incluent des espaces de stockage ayant un identifiant prédéterminé et contenant une ou plusieurs applications sans contact. Un élément de sécurité peut être à la fois maître et utilisateur, mais 5 il ne peut y avoir qu'un seul élément de sécurité maître. Dans le cas où le terminal mobile comprend une carte (U)SIM, un élément de sécurité SE fixé à demeure dans le terminal mobile, une mémoire amovible SD, la carte (U)SIM sera de préférence l'élément de sécurité maître. 10 Dans le cas où le terminal mobile ne comprend pas de carte (U)SIM, l'élément de sécurité SE sera de préférence l'élément maître. Dans le cas où le terminal mobile ne comprend pas non plus d'élément de sécurité SE, la mémoire amovible SD sera de préférence l'élément de sécurité maître. 15 L'élément de sécurité maître contient une interface de programmation (API) permettant à un utilisateur ou un opérateur extérieur de modifier les règles de routage contenues dans la table de routage du module NFC. L'interface de programmation permet également de mettre à jour 20 automatiquement la table de routage. Cette mise à jour est réalisée à distance en transmettant à l'interface de programmation un programme de mise à jour en provenance d'une plateforme OTA (Over The Air). Le programme de mise à jour est par exemple un programme en langage Javacard 2.1 tel qu'il existe actuellement dans les cartes (U)SIM. 25 L'interface de programmation permet également de recevoir de nouvelles applications destinées à être installées dans un espace de stockage ainsi que des règles de routage associées. Comme on l'aura compris, l'invention permet à un utilisateur d'un terminal mobile d'accéder à des services sans contact basés sur des 30 normes différentes, au moyen d'un terminal mobile unique. L'invention peut être mise en oeuvre avec un terminal mobile standard. Les règles de routage peuvent être mises à jour régulièrement pour prendre en compte de nouvelles applications sans contact. La figure 5 représente de manière schématique un procédé 50 d'identification d'applications disponibles dans le terminal mobile. Un tel procédé peut par exemple être réalisé préalablement au procédé d'échange de données de la figure 2. Selon une première étape 51, la borne émet une requête d'identification des applications disponibles dans le terminal mobile. Selon une deuxième étape 52, le module NFC reçoit la requête et renvoie à la borne une liste prédéterminée d'identifiants d'applications disponibles dans le terminal mobile. La liste d'identifiants est une liste préenregistrée dans le module NFC. La liste pré-enregistrée ne contient pas les identifiants de l'ensemble des applications contenues dans le terminal mobile, mais seulement les identifiants des applications qui doivent être visibles pour la borne. La liste des applications visibles peut être administrée par l'élément de sécurité maître et peut être mise à jour régulièrement simultanément à la mise à jour des règles contenues dans la table de routage. Le procédé 50 permet par exemple à la borne d'émettre une requête d'initiation (étape 110 du procédé 100 de la figure 2) en utilisant un identifiant contenue dans la liste d'identifiants d'applications visibles renvoyée par le terminal mobile. REVENDICATIONS 1. Procédé d'échange de données entre une borne de communication sans contact (20) et un terminal de téléphonie mobile (10) incluant un module de communication sans contact (12) et une pluralité d'espaces de stockage (14, 15, 16) contenant une ou plusieurs application(s) sans contact, le procédé comprenant des étapes selon lesquelles : - (120) le module de communication sans contact reçoit une requête 10 d'initiation d'échange de données émise par la borne, - (130) le module de communication détecte un format d'une chaîne de données contenue dans la requête, - (150) le module de communication dirige la requête vers un espace de stockage approprié du terminal mobile, en fonction d'une table 15 de routage associant un format de chaîne de données à un espace de stockage prédéterminé. 2. Procédé selon la revendication 1, dans lequel l'étape (130) de détection du format d'une chaîne de données consiste à détecter une 20 chaîne d'octets prédéterminée contenue dans la requête d'initiation. 3. Procédé selon l'une des revendications qui précèdent, dans lequel la table de routage contient des règles de routage des requêtes d'initiation associant un format d'une chaîne de données de référence à un 25 espace de stockage du terminal mobile. 4. Procédé selon la revendication 3, dans lequel les règles de routage sont administrées par un élément de sécurité maître du terminal mobile. 5. Procédé selon l'une des revendications qui précèdent, dans lequel la table de routage est stockée dans le module de communication sans contact du terminal mobile. 30 6. Procédé selon l'une des revendications qui précèdent, comprenant une étape de mise à jour de la table de routage. 7. Procédé selon l'une des revendications qui précèdent, comprenant en outre une étape selon laquelle : - (140) le module de communication insère une chaîne d'identification d'application dans la requête avant de diriger la requête vers l'espace de stockage. 8. Procédé selon l'une des revendications qui précèdent, comprenant une étape selon laquelle : - (170) le module de communication maintient un canal d'échange de données entre l'espace de stockage et la borne de communication sans 15 contact pendant une durée prédéterminée. 9. Procédé selon la revendication 8, dans lequel la durée prédéterminée est définie dans la table de routage en association avec une application sans contact concernée ou l'espace de stockage. 20 10. Procédé selon l'une des revendications qui précèdent, comprenant une étape selon laquelle : - (52) le module de communication transmet à la borne une liste prédéterminée d'identifiants d'applications sans contact visibles contenues 25 dans un ou plusieurs des espaces de stockage. 11. Terminal de téléphonie mobile (10) apte à échanger de données avec une borne de communication sans contact (20), le terminal (10) incluant un module de communication sans contact (12) et une pluralité 30 d'espaces de stockage (14, 15, 16) contenant une ou plusieurs application(s) sans contact, le module de communication sans contact étant programmé pour exécuter les étapes définies par l'une des revendications 1 à 9. 12. Terminal selon la revendication 11, comprenant un élément de sécurité maître apte à administrer des règles de routage contenues dans la table de routage et des éléments de sécurité utilisateur, qui incluent les espaces de stockage ayant un identifiant prédéterminé et contenant une ou plusieurs applications sans contact. 13. Terminal selon l'une des revendications 11 ou 12, dans lequel la table de routage comprend une liste prédéterminée d'identifiants d'applications sans contact visibles contenues dans un ou plusieurs des espaces de stockage, cette liste étant destinée à être transmise par le terminal mobile à la borne de communication sans contact. 14. Terminal selon l'une des revendications 11 à 13, comprenant une interface de programmation permettant de modifier des règles de routage contenues dans la table de routage et d'installer de nouvelles applications sans contact dans les espaces de stockage du terminal mobile. 15. Terminal selon l'une des revendications 11 à 14, dans lequel la 20 table de routage est apte à être mise à jour par une plateforme OTA.