Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR SECURE COMMUNICATION BETWEEN A TERMINAL AND A LOCALISATION ASSISTANCE SERVER
Document Type and Number:
WIPO Patent Application WO/2009/007611
Kind Code:
A2
Abstract:
The invention relates to a method for the communication of a terminal (10) with a server (14), the terminal including an application and computer software capable of communicating with the server (14). The method comprises: the step of sending (42) a request (RLoc) by the application (26) to the software (34), and the step of obtaining (44) by the software (34) and from the application (26) data (DAutor) necessary for the software (34) to communicate with the server (14) so that the request can be executed. This method enables access to GPS assistance servers to be limited only to users who have paid the localisation service to the owner operator of the localisation assistance server.

Inventors:
BELLARDIE NICOLAS (FR)
GRANGE JULIEN (FR)
WATT IDY (FR)
Application Number:
PCT/FR2008/051178
Publication Date:
January 15, 2009
Filing Date:
June 27, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
BELLARDIE NICOLAS (FR)
GRANGE JULIEN (FR)
WATT IDY (FR)
International Classes:
G06F21/12; H04L29/06; G01S5/00; H04L9/00; H04L29/12; H04M1/72457
Domestic Patent References:
WO2004071127A22004-08-19
Foreign References:
EP1530315A12005-05-11
US20050066044A12005-03-24
US20040224702A12004-11-11
US20060089126A12006-04-27
Attorney, Agent or Firm:
FRANCE TELECOM/FTR & D/PIV/BREVETS (38-40 rue du Général Leclerc, Issy Les Moulineaux, FR)
Download PDF:
Claims:

REVENDICATIONS

1. Procédé de communication d'un terminal (10) avec un serveur (14), le terminal comprenant une application et un programme d'ordinateur, le programme étant apte à communiquer avec le serveur (14), caractérisé par : une étape d'envoi (42) d'une requête (R LOC ) par l'application (26) au programme (34), et une étape d'obtention (44), par le programme (34), à partir de l'application (26), de données (D AutOr ) nécessaires pour que le programme (34) communique avec le serveur (14) et pour que le serveur exécute la requête.

2. Procédé selon la revendication 1 , caractérisé en ce que les données obtenues (D Autor ) sont effacées dans le programme après leur transmission au serveur.

3. Programme d'ordinateur (34) comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur, réalise les étapes suivantes: a. une étape de réception d'une requête (R L oc); b. une étape d'obtention (44) de données (D Autor ) nécessaires à une communication avec un serveur (14) et à l'exécution de la requête par le serveur (14).

4. Application (26) comprenant des instructions de code qui, lorsqu'elle est exécutée par un processeur, réalise les étapes suivantes: une étape d'envoi d'une requête (RLoc) à un programme (34), une étape de fourniture de données (DAutor) nécessaires à une communication entre le programme (34) et un serveur (14),

5. Terminal de communication (10) apte à communiquer avec un serveur (14), le terminal comprenant une application (26) et un programme (34): l'application (26) étant apte à envoyer (42) une requête (R Loc ) au programme (34), le programme d'ordinateur (34) étant apte à obtenir, à partir de l'application, des données (D Au tor) nécessaires pour que le programme (34) communique avec le serveur (14) de manière à permettre l'exécution de la requête.

6. Support d'enregistrement sur lequel est stocké un programme d'ordinateur (34) selon la revendication 3.

7. Support d'enregistrement sur lequel est stocké une application (26) selon la revendication 4. 8. Mise à disposition d'un programme d'ordinateur (34) selon la revendication 3 en vue de son téléchargement.

9. Mise à disposition d'une application (26) selon la revendication 4 en vue de son téléchargement.

Description:

Procédé de communication d'un terminal avec un serveur

La présente invention concerne un procédé de communication d'un terminal avec un serveur. On connaît déjà dans l'état de la technique un tel procédé, dans lequel le terminal, par exemple un téléphone mobile, comprend un programme applicatif, ci-après désigné par application, apte à gérer un service particulier, par exemple un service basé sur la localisation du téléphone. Le terminal comporte aussi un programme d'ordinateur apte à communiquer avec un serveur externe au terminal, afin d'échanger des données avec le serveur. Le procédé peut comprendre une étape d'envoi, par l'application au serveur, d'une requête, laquelle peut être exécutée par le programme à la suite d'une communication avec le serveur, par exemple à la suite de la réception de données envoyées par le serveur au programme. A cet effet, on prévoit que le programme contienne des données, dites d'autorisation, nécessaires pour que le programme puisse communiquer avec le serveur, par exemple sous forme d'un identifiant du serveur associé à une clé de cryptage privée, ces données permettant de garantir que le programme d'ordinateur est autorisé à échanger des informations avec le serveur. Ainsi, toute requête envoyée au programme par une application peut être exécutée à l'aide d'une communication entre le programme et le serveur. Une difficulté réside dans le fait que toute application peut envoyer une requête au programme pour qu'il exécute la requête à l'aide du serveur. En particulier, une autre application que celle initialement prévue, gérant un service concurrent du service précité, peut utiliser le programme pour l'exécution d'une requête à l'aide du serveur. Il en ressort qu'un concurrent d'un opérateur auquel appartient le serveur peut proposer aux utilisateurs une application assurant un service concurrent du service proposé par l'opérateur, en utilisant librement, donc gratuitement, les ressources de l'opérateur. De plus, des abonnés de l'opérateur, n'ayant pas souscrit à l'application autorisée à utiliser le serveur, peuvent utiliser librement le serveur et profiter gratuitement des avantages fournis par ce serveur. L'invention propose un procédé de communication d'un terminal avec un serveur assurant un meilleur contrôle de l'accès à des données émises par le serveur.

A cet effet, l'invention a pour objet un procédé de communication d'un terminal avec un serveur, le terminal comprenant une application et un programme d'ordinateur, le programme étant apte à communiquer avec le serveur, comprenant : - une étape d'envoi d'une requête par l'application au programme,

- et une étape d'obtention, par le programme, à partir de l'application, de données nécessaires pour que le programme communique avec le serveur, et pour que le serveur exécute la requête.

Grâce à ce procédé, ce n'est pas le programme d'ordinateur qui comporte initialement les données nécessaires à la communication avec le serveur, mais l'application, qui sera généralement une application gérée par le même opérateur que celui auquel appartient le serveur d'assistance. En conséquence, une autre application (non autorisée à bénéficier des avantages fournis par le serveur), gérée par un opérateur concurrent, ou bien installée à des fins de piratage, ne sera pas capable de fournir au programme les données nécessaires à la communication avec le serveur, et ne pourra donc pas obtenir, du programme, des données permettant l'exécution de la requête émise par l'application à destination du programme. Ainsi, seule l'application ayant eu l'autorisation de l'opérateur pour communiquer avec le serveur pourra le faire.

On notera que l'application sera généralement une tâche informatique apte à gérer un service, en assurant la logique de ce service, non seulement en émettant des requêtes vers le programme, mais également en interagissant avec un utilisateur, par exemple avec un utilisateur du terminal par utilisation d'une interface du terminal, ou en interagissant avec des moyens de stockage du terminal tels qu'une base de données, avec d'autres programmes d'ordinateurs ou avec d'autres serveurs externes. En revanche, le programme utilisé sur le terminal pour accéder au serveur n'est généralement pas directement accessible à l'utilisateur du terminal.

On notera par ailleurs que la communication établie entre le serveur et le programme permet l'exécution totale ou partielle de la requête envoyée par l'application au programme. En particulier, cette requête peut être exécutée à la fois grâce à la communication entre le serveur et le programme, et grâce à d'autres opérations mises en œuvre par le programme.

En outre, l'étape d'obtention des données par le programme à partir de l'application pourra être une étape de fourniture des données par l'application au programme, par exemple sous forme d'une étape d'envoi de ces données au programme par l'application, ou une étape d'autorisation d'accès à ces données par l'application au programme, par exemple en restreignant, au programme seul, l'accès en lecture aux données stockées par l'application.

Le procédé de communication de l'invention est particulièrement intéressant, comme cela va être expliqué ci-dessous, dans le cadre d'un procédé de localisation d'un terminal à l'aide d'un serveur d'assistance à la localisation, comprenant un procédé de

communication du terminal avec le serveur selon l'invention, et en particulier lors d'un procédé de localisation par satellite.

Pour faciliter la localisation d'un terminal par satellite, par exemple par GPS, on connaît déjà dans l'état de la technique un procédé utilisant un serveur d'assistance à la localisation, par exemple un procédé appelé A-GPS (ou Assisted-GPS ou encore GPS+), au cours duquel le serveur fournit au terminal que l'on souhaite localiser, en particulier un téléphone mobile, des données d'assistance à la localisation. Par exemple, le téléphone mobile comporte une application permettant de gérer le service de localisation, qui, lorsqu'elle est activée par un utilisateur, envoie une requête de localisation à un programme du terminal. Ce programme est capable de communiquer avec le serveur externe d'assistance à la localisation, éventuellement par un réseau de téléphonie ayant une connexion Internet. Plus précisément, le programme envoie une requête d'assistance au serveur d'assistance qui est, par exemple, capable d'estimer approximativement la localisation du terminal, grâce au réseau de téléphonie. Toujours en tant qu'exemple, le serveur d'assistance est capable de déterminer quels satellites sont situés au-dessus de la zone où le terminal à localiser est susceptible de se trouver (grâce à la pré-localisation du terminal effectuée préalablement), et peut donc fournir au programme du terminal des données d'assistance à la localisation, indiquant quels signaux émis par satellites sont susceptibles de lui fournir sa localisation. Grâce à ces données, le terminal se met en liaison avec ces satellites, et peut ensuite fournir rapidement des données précises de localisation à l'application sur le terminal les ayant demandées.

On souhaite généralement limiter l'accès aux serveurs d'assistance aux seuls utilisateurs ayant contracté, donc payé, le service de localisation à l'opérateur propriétaire du serveur d'assistance. A cet effet, le programme de l'état de la technique contient des données d'autorisation d'accès aux données d'assistance à la localisation fournies par le serveur d'assistance, par exemple sous forme de clés de cryptage, ces données garantissant que le programme est autorisé à échanger des informations avec le serveur d'assistance à la localisation. Mais dans ces conditions, toute application, notamment une application concurrente ou pirate envoyant une requête de localisation au programme, est autorisée à accéder au serveur d'assistance, grâce aux données d'autorisation stockées de façon permanente dans le programme.

Grâce au procédé de communication selon l'invention, on dispose d'un procédé de localisation à l'aide d'un serveur d'assistance assurant un meilleur contrôle de l'accès aux données émises par le serveur d'assistance. En effet, selon ce procédé, ce n'est pas le programme d'ordinateur qui comporte au départ les données nécessaires à la communication avec le serveur d'assistance, mais l'application de gestion du service de

localisation, qui sera généralement une application gérée par le même opérateur que celui auquel appartient le serveur d'assistance. En conséquence, une autre application que celle autorisée ne sera pas capable de fournir au programme les données nécessaires à la communication avec le serveur, et ne pourra donc pas obtenir, du programme, de données d'assistance à la localisation. Ainsi, seule l'application ayant eu l'autorisation de l'opérateur pour accéder aux données d'assistance pourra le faire.

On notera que le procédé de localisation peut être utilisé pour tout type de localisation, en particulier pour une localisation par satellite, telle que la localisation appelée GNSS (Global Navigation Satellite System), regroupant la localisation à l'aide de satellites GPS ou Galileo (quand celle-ci sera opérationnelle), ou tout autre type de localisation par satellite. On notera par ailleurs que le procédé de localisation peut être utilisé aussi bien pour localiser de façon ponctuelle le terminal à un instant donné que pour le localiser en temps réel pendant un certain intervalle de temps, sous forme d'un procédé de navigation. En outre, le procédé permet de localiser un terminal muni de moyens de réception d'un signal émis par satellite, et de moyens de communication avec un serveur d'assistance à la localisation, ces moyens de communication pouvant par exemple utiliser un réseau de téléphonie mobile tel que GPRS, EDGE, UMTS, etc, servant éventuellement de support pour accéder au serveur d'assistance. Ce terminal sera par exemple un téléphone mobile ou un terminal de navigation. Selon une variante, le procédé comporte une étape de communication du programme avec un module de calcul de position intégré dans des moyens de réception d'un signal émis par satellite. Ainsi, le programme énoncé ci-dessus est capable de communiquer à la fois avec le serveur, tel que le serveur d'assistance à la localisation, avec l'application et avec des moyens aptes à recevoir un signal émis par satellite, tels qu'un récepteur de signaux GPS. Le programme est capable d'utiliser des données, par exemple des données d'assistance à la localisation, fournies par le serveur pour les transmettre au module de calcul de position (circuit intégré appelé "chipset") intégré dans les moyens de réception, ou bien d'utiliser les données pour commander ce module de calcul ou pour calculer des corrections à apporter à des calculs effectués par ce module. Cette communication entre le programme d'ordinateur et le module de calcul de position peut être indirecte, le programme étant par exemple exécuté en mémoire par un microprocesseur du terminal, et communiquant avec le module (sous forme "software") par l'intermédiaire de moyens logiciels du microprocesseur. Ou bien de façon directe, le programme peut communiquer (sous forme "hardware") avec le module de position intégré dans les moyens de réception en étant implémenté directement dans le module de calcul, ce module étant distinct du microprocesseur du terminal, ce qui a l'avantage de

permettre une exécution rapide du programme, du fait que ces moyens peuvent être configurés pour exécuter des opérations spécifiques. On notera par ailleurs que ce module de calcul de position, avec lequel le programme communique peut également être utilisé pour une localisation par satellite n'utilisant pas forcément un serveur d'assistance à la localisation. Dans ce cas, le module peut quand même calculer la position du terminal, sans les données d'assistance, ce qui engendre néanmoins une localisation de moins bonne qualité, obtenue dans un délai nettement plus long que si des données d'assistance avaient été utilisées. Ainsi, le terminal peut être localisé en utilisant le serveur d'assistance à la localisation de façon optionnelle. Selon une variante du procédé, les données obtenues (D Au to r ) lors de l'étape d'obtention sont effacées dans le programme après leur transmission au serveur, -.'efficacement peut par exemple se produire lorsque le programme reçoit les données résultant de l'exécution de la requête par le serveur. Concrètement, les données obtenues étant appelées données d'autorisation, le procédé comporte une étape de réception, par le programme, de données d'assistance à l'exécution de la requête, émises par le serveur, suivie d'une étape d'effacement des données d'autorisation dans le programme. Ainsi, une fois que les données d'autorisation sont utilisées pour échanger des informations avec le serveur, par exemple pour que le programme d'ordinateur reçoive les données d'assistance à la localisation, on prévoit d'effacer les données d'autorisation du programme, par exemple en les supprimant d'une mémoire tampon du programme, de façon que ce dernier ne puisse consulter le serveur d'assistance sans avoir à nouveau reçu les données d'autorisation par l'application. On notera que cette étape d'effacement des données d'autorisation peut être exécutée directement ou non après l'étape de réception des données d'assistance. Selon une autre variante, le procédé comporte une étape d'envoi, par le programme à l'application, d'autres données, par exemple des données de localisation, suivie d'une étape d'avertissement qu'une action est ou a été effectuée en vue de sa facturation. Par exemple, l'application reçoit, en réponse à sa requête de localisation du terminal, des données de localisation, ces dernières ayant été obtenues notamment à la suite de la communication entre le programme et le serveur. La réception de ces données de localisation traduit qu'un service, par exemple d'assistance à la localisation, a été rendu, et l'étape d'avertissement permet à l'opérateur de facturer, par la suite, le service rendu. Cette étape d'avertissement peut prendre la forme par exemple d'une connexion entre un serveur de cartographie, communiquant avec l'application pour permettre en particulier le téléchargement de cartes géographiques sur le terminal, et un serveur de facturation, situé dans le réseau de l'opérateur. Ainsi, chaque fois que le terminal télécharge une

carte, l'étape d'avertissement comprend une connexion entre le serveur de cartographie et le serveur de facturation. L'étape d'avertissement pourrait prendre de multiples autres formes. Par exemple, l'application se connecte directement à un serveur de facturation après la réception d'une carte géographique ou bien après la réception des donnés de localisation par le programme, ou encore l'application peut stocker le nombre de localisations effectuées et les transmettre périodiquement à un serveur externe.

Selon une autre variante, les données obtenues par le programme à partir de l'application sont appelées données d'autorisation, et comprennent au moins l'un des éléments du groupe constitué par un identifiant du serveur, par exemple l'adresse IP ou le nom de domaine du serveur, et une clé de cryptage partagée au moins par l'application et le serveur, cette clé pouvant être générée conformément aux protocoles de communication de type TLS (Transport Layer Security), GBA (Generic Bootstrapping Architecture) ou PSK (PreShared Key). On comprendra néanmoins que ces exemples de données d'autorisation ne sont pas limitatifs. L'invention a également pour objet un programme d'ordinateur comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur, réalise les étapes suivantes: une étape de réception d'une requête; une étape d'obtention de données nécessaires à une communication avec un serveur et à l'exécution de la requête par le serveur.

L'invention se rapporte aussi à une application comprenant des instructions de code qui, lorsqu'elle est exécutée par un processeur, réalise les étapes suivantes: une étape d'envoi d'une requête à un programme, une étape de fourniture de données nécessaires à une communication entre le programme et un serveur,

L'invention a par ailleurs pour objet un terminal de communication apte à communiquer avec un serveur, le terminal comprenant une application et un programme: l'application étant apte à envoyer une requête au programme, le programme d'ordinateur étant apte à obtenir, à partir de l'application, des données nécessaires pour que le programme communique avec le serveur de manière à permettre l'exécution de la requête.

Dans le cas d'un terminal de communication apte à être localisé à l'aide d'un serveur d'assistance à la localisation par satellite, l'application est apte à envoyer au programme une requête pour une localisation du terminal, et le programme est apte à obtenir, à partir de l'application, des données nécessaires pour que le programme puisse communiquer avec le serveur, de manière à permettre l'assistance à la localisation.

L'invention a en outre pour objet un système comprenant le terminal ci-dessus et le serveur d'assistance à la localisation

Par ailleurs, l'invention a pour objet un support d'enregistrement sur lequel est stocké le programme d'ordinateur et/ou l'application définis ci-dessus, ainsi que la mise à disposition du programme d'ordinateur et/ou de l'application définis ci-dessus, en vue de leur téléchargement

L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins dans lesquels la figure 1 est une vue schématique illustrant un système de communication comprenant un terminal selon un mode de réalisation de l'invention , et la figure 2 est un diagramme illustrant un procédé de communication du terminal et du serveur de la figure 1

On a représenté sur la figure 1 un terminal de communication 10, apte à communiquer avec un serveur 14 Plus précisément, le terminal 10 est apte, dans cet exemple, à être localisé, par des satellites 12, et le serveur 14 est un serveur (terrestre) d'assistance à la localisation par satellite aidant à la localisation du terminal 10 Le terminal 10 est par exemple un téléphone mobile ou un terminal de navigation tel que ceux pouvant être utilisés dans un véhicule automobile

Le terminal 10 comporte des moyens 16, 18 de réception de signaux émis par satellite, comprenant une antenne 16, associée à un module 18 de calcul de position, intégré dans les moyens de réception, comprenant un ou plusieurs circuits intégrés appelés "chipset", distincts du microprocesseur du terminal 10, capables de traiter le signal reçu par l'antenne 16 pour en faire des données exploitables par le microprocesseur Le terminal 10 comporte par ailleurs des moyens 20, 24 de communication avec un réseau de communication 22, ce réseau 22 étant dans l'exemple un réseau de téléphonie mobile, tel que le réseau GPRS, EDGE ou UMTS, notamment en utilisant Internet Les moyens de communication comprennent une antenne 20 associée à des moyens 24 de réception d'un signal transmis par l'antenne 20 On comprendra que les moyens de réception 16, 18, 20, 24 décrits ne sont que des exemples Notamment, ils ne comprennent pas forcément d'antenne, ou encore les antennes 16, 20 pourraient être confondues

Le terminal 10 comporte en outre une application 26 de gestion d'un service, cette application assurant dans l'exemple la gestion d'un service de localisation du terminal 10 Cette application, implémentée dans le microprocesseur du terminal 10, est associée à des moyens de stockage tels qu'une mémoire 32

L'application 26 est capable d'interagir avec différents outils permettant d'assurer le service de localisation, par exemple avec des moyens d'interface avec un utilisateur du terminal 10, comprenant un écran d'affichage 28 et un clavier de saisie 29. Elle est aussi capable d'interagir avec un serveur externe de cartographie 30, à partir duquel l'application 26 peut télécharger des cartes géographiques, via le réseau 22, afin de les afficher sur l'écran 28. L'application 26 est également capable de recevoir des données de localisation, provenant notamment des moyens de réception 16, comme on le verra dans la suite, et peut éventuellement communiquer, via le réseau 22, avec un serveur de facturation 31. L'application 26 pourrait interagir avec d'autres outils pour assurer le service, par exemple une base de données du terminal 10, ou avec d'autres programmes d'ordinateur, ou encore avec d'autres serveurs externes.

Selon une variante, l'application 26 est capable d'interagir avec des moyens d'interface avec un utilisateur d'un autre terminal que le terminal 10, par exemple avec un adulte muni d'un terminal, cherchant à localiser un enfant muni d'un terminal similaire au terminal 10 (ne comportant pas forcément de moyens d'interface), souhaitant interroger l'application 26 pour localiser le terminal 10.

L'application 26 est par ailleurs apte à communiquer avec un programme d'ordinateur 34, notamment de façon à lui envoyer une requête pour une localisation du terminal 10. L'application 26 est en outre capable de fournir au programme 34 des données, appelées données d'autorisation, nécessaires pour que le programme 34 puisse communiquer avec le serveur d'assistance 14, par l'intermédiaire du réseau 22, de manière à permettre une assistance à la localisation.

Le programme d'ordinateur 34, outre sa capacité à communiquer avec l'application 26 et avec le serveur d'assistance 14, est capable de communiquer avec les moyens 18 de réception d'un signal émis par satellite.

Ce programme d'ordinateur 34 est implémenté, selon un mode de réalisation, dans le microprocesseur du terminal 10. Selon un autre mode de réalisation, le programme d'ordinateur 34 est implémenté dans les moyens de réception, plus précisément dans le module de calcul 18, distincts du microprocesseur du terminal. Dans ce cas où le programme 34 est directement implémenté dans le module 18, sans être exécuté par le microprocesseur, il peut être configuré pour exécuter des opérations spécifiques, dont l'exécution sera particulièrement rapide.

On notera que la mémoire 32 associée à l'application 26 est capable de stocker des données, appelées données d'autorisation D Autor , nécessaires pour que le programme 34 puisse communiquer avec le serveur 14, de manière à permettre l'assistance à la

localisation. Plus précisément, ces données d'autorisation comprennent ici une adresse IP ou un nom de domaine du serveur 14, ainsi qu'une clé privée de cryptage, cette clé privée, apportant un bon degré de sécurité du contrôle de l'accès au serveur 14, étant partagée à la fois par l'application 26 et le serveur 14. Toutefois, ces données D Autor peuvent prendre une multiplicité d'autres formes, en particulier, elles ne comprennent pas forcément une clé de cryptage, ou pas forcément une adresse IP ou un nom de domaine. Un procédé de communication, en l'espèce de localisation, mis en œuvre par le terminal 10 de la figure 1 , va à présent être décrit en référence à la figure 2.

Le procédé commence par une étape 40 de demande de localisation du terminal 10, reçue par l'application 26 avec laquelle l'utilisateur du terminal 10 interagit au moyen du clavier 29 et de l'écran 28 du terminal. Cette étape 40 est suivie d'une étape 42, d'envoi, par l'application 26 au programme d'ordinateur 34, d'une requête de localisation R Lθc , cette étape d'envoi étant suivie par une étape 44 de fourniture, par l'application 26 au programme 34, des données D Au to r , nécessaires pour que le programme 34 communique avec le serveur 14, de manière à permettre une assistance à la localisation. En variante, les étapes 42 et 44 peuvent être simultanées.

Les étapes 42 et 44 sont suivies d'une étape 46 de réception, par le programme 34, de la requête R Loc pour la localisation du terminal et des données d'autorisation D Autor , la requête R Loc étant reçue avant ou après les données D Au tor, ou encore de façon simultanée. L'étape 46 est suivie d'une étape 48 d'envoi, par le programme 34 au serveur 14, d'une requête R AsSιst d'assistance à la localisation du terminal 10, et d'une étape 50 de fourniture, par le programme 34 au serveur 14, des données D AutOr précédemment reçues. Ces étapes 48, 50, ayant lieu l'une avant ou après l'autre, ou de façon simultanée, sont suivies d'une étape 52 de réception, par le serveur 14, de la requête d'assistance R ASSISI et des données d'autorisation D AutO r- La réception 52 est suivie d'une vérification 54, par le serveur 14, des données d'autorisation D Autor , au cours de laquelle le serveur 14, qui connaît par exemple la clé privée de cryptage utilisée par l'application 26 pour générer les données D Autor , vérifie que ces données D Autor ont été générées à partir de cette clé privée.

On notera que les étapes 48 à 54, visant à établir une communication efficace entre le programme 34 et le serveur 14 pour permettre l'échange de données entre le serveur et le programme, peuvent prendre d'autres formes. En particulier, le procédé ne comporte pas systématiquement une étape d'envoi, des données D Autor obtenues précédemment, par le programme 34 vers le serveur 14, et peut comporter une étape d'établissement d'accès entre le programme et le serveur. Tel peut être le cas si les données D Autor comprennent uniquement une adresse IP du serveur 14, cette adresse n'étant pas envoyée au serveur mais nécessaire pour établir la connexion. Par ailleurs, les

algorithmes de cryptage peuvent comporter des clés qui ne sont pas envoyées, mais qui permettent le cryptage/décryptage de la communication.

Si la vérification 54 est positive, ou si une connexion a été établie, elle est suivie d'une étape 56 de localisation approximative, ou localisation grossière, par le serveur 14, de la localisation du terminal 10, cette localisation grossière étant effectuée au moyen du réseau 22, en l'occurrence du réseau de téléphonie mobile, lequel est capable de localiser une zone dans laquelle se trouve Ie terminal 10. L'étape 56 est suivie d'une étape 58 d'envoi de données d'assistance D AsSιst , par le serveur 14, au programme 34, ces données D AsS ι st comportant des informations fonction de la localisation approximative obtenue à la suite de l'étape 56, par exemple une identification des satellites 12 se situant au-dessus du terminal 10 et dont les signaux sont susceptibles de permettre une localisation rapide et efficace du terminal 10, ou encore un ensemble de données de correction relatives à l'environnement dans lequel se situe le terminal 10, afin de permettre une localisation (ultérieure) précise. Ces données D AsS i st peuvent prendre d'autres formes. Par exemple, le serveur 14 n'envoie au programme 34 que les coordonnées de la zone de localisation grossière du terminal 10, le programme 34 procédant ensuite lui-même à des calculs.

La réception 60 des données D AsS ιst par le programme 34 est suivie d'une étape 61 d'effacement des données D Autor de la mémoire tampon du programme 34, ainsi que d'une étape 62 de traitement de ces données par le programme 34, suivie d'une étape 64 d'envoi d'instructions aux moyens de réception 16, 18, ces instructions permettant d'effectuer de bonnes mesures afin d'obtenir une localisation exacte du terminal 10, plus précise et plus rapide que celle fournie par le serveur 14. Cette étape 64 est suivie d'une étape 66 d'exécution, par les moyens 16, 18, des instructions envoyées par le terminal 34, en particulier en effectuant des mesures, puis d'un envoi 68, au programme 34, de données intermédiaires de localisation Dι nter du terminal 10, obtenues à partir des mesures, ces données Dι nter permettant de fournir par la suite des données précises de localisation.

L'envoi 68 est suivi d'une étape de réception 70 des données D| nter , par le programme 34, puis d'une étape 71 de traitement de ces données D| nter , au cours de laquelle des calculs sont par exemple effectués pour corriger les données D| nter mesurées par les moyens de réception en fonction des données D Ass , st fournies au programme lors de l'étape 60. Eventuellement, cette étape 71 pourrait également comprendre une étape d'échange avec le serveur 14 en vue d'une correction des mesures effectuées (dans ce cas, l'étape 61 d'effacement est exécutée après l'étape 71 ). L'étape 71 est suivie d'une étape de transmission 72 de données de localisation D Loc à l'application 26.

La réception 74 des données D Loc par l'application 26 est suivie, dans cet exemple de procédé, d'une étape 76 exécutée par l'application 26 de requête de téléchargement, à partir du réseau 22, d'une carte géographique correspondant à la localisation fournie par les données D Loc - L'étape 76 est suivie d'une étape 78 de réception de la requête par le serveur de cartographie 30, puis d'une étape 80 exécutée par le serveur 30 de recherche d'une carte associée, suivie d'un envoi 82 de cette carte à l'application 26, et d'un affichage 84 par l'application 26 de la carte associée à la localisation du terminal 10, sur l'écran 28. L'étape d'envoi 82 est par ailleurs suivie d'une étape 86 exécutée par le serveur 30 d'avertissement, au serveur de facturation 31 , via le réseau 22, qu'une localisation a été effectuée, étape qui sera suivie ultérieurement d'une étape 88 de facturation du service rendu, exécutée par le serveur 31.

On notera que le programme 34, ou l'application 26, peuvent être stockés, par exemple préalablement à leur installation sur le terminal 10, sur un support d'enregistrement, par exemple sur un CD ou un DVD. Le programme 34 ou l'application 26 peuvent également être mis à disposition en vue de leur téléchargement, notamment par le réseau Internet.

On notera enfin que l'invention n'est pas limitée aux modes de réalisation précédemment décrits.

En particulier, les échanges entre le programme 34 et le serveur 14 peuvent avoir lieu en amont des mesures par les moyens 16, 18, afin d'effectuer de bonnes mesures, et/ou en aval des mesures, afin de corriger les mesures.

Par ailleurs, l'étape 44 d'obtention des données D Auto r par le programme 34 à partir de l'application 26 peut prendre d'autres formes qu'un envoi de ces données par l'application 26. En effet, on peut envisager que la mémoire 32 soit une mémoire (éventuellement externe à l'application 26) dans laquelle l'application peut écrire et dont l'accès en lecture est restreint au programme 34. Dans ce cas, le programme peut obtenir les données D Autor en allant lire ces données dans la mémoire 32. Ainsi, une application concurrente ou pirate ne pourrait obtenir ces données D Autor du fait qu'elle n'est pas autorisée à les lire. En outre, les étapes à 88 peuvent être remplacées par d'autres étapes. On notera comme variante particulière de l'invention le cas où le terminal 10 est positionné sur un enfant, et l'application 26 interagit au cours du procédé de localisation, non pas avec l'interface du terminal 10, mais avec un serveur externe, pour lui fournir les données D Loc sur la localisation de l'enfant, une mère pouvant par ailleurs communiquer avec ce serveur pour en prendre connaissance.

On comprendra que, comme le programme 34 ne comporte pas initialement les données permettant de communiquer avec le serveur d'assistance 14, si une application autre que l'application 26, non autorisée, est téléchargée sur le terminal 10, elle ne pourra communiquer avec le serveur 14 pour localiser le terminal. Cette autre application pourra éventuellement obtenir des données de localisation à partir des moyens de réception 68, par exemple des données GPS, mais sans assistance préalable par le serveur 14, donc sans A-GPS, si bien que ces données seront moins précises et moins rapides.