FR 2797980 A1 20010302 FR 9910794 A 19990825 Système de paiement des droits de stationnement utilisant un dispositif de télécommunication sans fil bidirectionnel et un décodeur autonome La présente invention décrit un système de paiement des droits de stationnement d'un véhicule et un procédé de vérification de ce paiement, ceci en liaison avec un système de télécommunication sans fil bidirectionnel (par exemple un téléphone mobile ou un système de radio-messagerie bidirectionnelle) et en utilisant un dispositif portable autonome de contrôle. Les usagers, suivant cette invention, n'auront pas besoin d'un quelconque équipement spécifique (en dehors d'un téléphone mobile ou d'un dispositif de radio-messagerie bidirectionnelle) ni de disposer de cartes prépayées ou autre. L'autorité gérant le stationnement (une ville par exemple) n'aura pas besoin de modifier les infrastructures ou les dispositifs de perception actuels. L'autorité contrôlant la validité des payements (la police par exemple) des stationnements devra munir ses agents d'un tout petit boitier (de la taille d'une petite calculette 4 opérations) dont nous verrons plus loin que, compte tenu de ses fonctionnalités, le prix de revient peut être très faible (quelques dizaines de francs). Le brevet WO 96I11453 décrit une invention ayant un objectif similaire mais dans laquelle une liaison radio est nécessaire entre le service de gestion des comptes de stationnement et le gestionnaire du stationnement. Ceci est inconvénient majeur car il implique des appareils coûteux et des communications fréquentes entre les agents de contrôle et ledit service. Les systèmes nécessitant une carte (magnétique ou à puce) obligent l'usager à en acquérir une et à la recharger ; de plus ces cartes ont un coût, même faible, et leur distribution aussi. D'autres systèmes impliquent de munir les véhicules de dispositifs spécifiques tels que : boitier infrarouge, transpondeur radio, codes à barres, etc. et ceci est contraignant. Notre système peut d'ailleurs coexister avec tous les autres systèmes déjà connus et en usage, il offre une alternative supplémentaire à l'usager qui peut acquitter son payement sans quitter son véhicule et en quelques secondes, lui évitant un aller retour au parcmètre, lui évitant aussi de prévoir à l'avance l'achat d'une carte ou de disposer de la monnaie voulue. De plus, les téléphones mobiles sont devenus très courants et la proportion des automobilistes qui en disposent croit rapidement. Nous donnons d'abord une description brève de notre invention sous forme d'un petit scénario. Nous reprendrons ensuite plus en détail les moyens matériels et les procédés nécessaires à sa réalisation. Dans le scénario ci-dessous, (voir figure 1) le terme service désignera l'organisme qui à en charge de facturer les droits de stationnement et de reverser ces droits à l'autorité gérants les stationnements, par exemple la ville et le terme téléphone mobile pourra être remplacé par radio-messagerie bidirectionnelle ou par tout autre système de télécommunication sans fil bidirectionnel. L' ordinateur dont il est question est celui du service et peut évidemment correspondre physiquement à plusieurs systèmes de traitement de l'information répartis sur le territoire. Nous verrons aussi que l'ordinateur peut aussi être partiellement remplacé par un organe de calcul interne au système de télécommunication sans fil, par exemple les cartes SIM de dernière génération. 1. Je suis dans ma voiture immatriculée 456 RTY 75 et je veux stationner 1h30 à l'emplacement autorisé où je suis garé 2. Je téléphone (ou j'utilise l'organe de calcul interne au système de télécommunication sans fil) au service concerné (si c'est l'opérateur téléphonique qui gère directement le service, ce numéro sera rattaché par exemple à celui de tous les services accessibles via les téléphones mobiles comme la réservation d'un taxi ou la livraison de fleurs) un ordinateur me répond et m'invite à taper les 2 premiers chiffres (ou le chiffre unique) de mon n minéralogique précédent les lettres, donc je tape `45' (avec le clavier du téléphone) ; pour les immatriculations non usuelles (étrangère, administration, etc.) une alternative peut être de taper le numéro entier. 3. L'ordinateur me demande si j e suis dans ma zone habituelle, c'est à dire celle correspondant à mon adresse de facturation ou bien à la dernière localisation fournie (taper 1) ou dans une autre zone (taper 2) et dans ce cas de me localiser (nom de ville, code postal de la ville). Dans une variante, le service me localise directement en utilisant les informations qui servent à l'opérateur téléphonique à acheminer les communications en téléphonie cellulaire ; cette localisation est d'ailleurs très fine en zone urbaine et peut permettre de distinguer directement les différentes tarifications liées à un découpage de la ville 4. Si le service n'est pas facturé par l'opérateur téléphonique : l'ordinateur accuse réception et me demande mon n de carte bancaire (ou n d'abonné) que je tape (soit X), cela servira à débiter mon compte (comme dans les parkings souterrains ou d'autres transactions où l'on n'est pas tenu de composer son code personnel secret, souvent appelé code pin pour Personal Identification Number) ; de manière alternative, si une convention autorise le service à reçevoir le numéro IMSI (International Mobile Subscriber Identity) de l'usager, c'est avec cette identification que la transaction pourra se poursuivre, le règlement pouvant être fait indépendamment de l'opérateur téléphonique. 5. Si le service est facturé par l'opérateur téléphonique : le service est assuré par un partenariat entre l'opérateur téléphonique et l'autorité qui gère le stationnement, c'est donc l'opérateur téléphonique qui va assurer la facturation (comme d'autres services déjà disponibles), il n'y a plus besoin d'avoir un abonnement ni d'indiquer un identifiant quelconque puisque l'opérateur ou tout service appelé connaît mon numéro et mon numéro IMSI 6. L'ordinateur me demande ensuite la durée désirée (en minutes), je tape 90 7. A partir de toutes ces données : identifiant (45 dans ce cas), ville (75000 pour Paris), heure actuelle (connue du service, par exemple 1032 pour IOh32), durée demandée (90 pour 90 minutes), l'ordinateur exécute un programme de cryptographie utilisant une clef secrète S liée à la date et à la ville et produit un code C (de 6 chiffres par exemple) 8. J'écris lisiblement ce code C sur un papier que je mets derrière mon pare-brise, c'est ce code qui prouvera que j'ai effectué la transaction avec le service 9. La personne chargée du contrôle (si elle se trouve en situation de vérifier les droits de stationnement de mon véhicule) lira ce numéro et l'entrera dans un petit boîtier (nous l'appellerons décodeur , voir figure 2) muni d'un algorithme de calcul inverse de celui de l'ordinateur selon la description ci-dessous ; le nombre 45 apparaît suivi de l'heure limite de stationnement (exemple 12h02) autorisé ainsi que de l'heure de début (exemple lOh32) et éventuellement de la zone de tarification (exemple zone 1) ; le contrôleur comparera alors ces données au n d'immatriculation du véhicule et à l'heure présente, décidant si les droits ont bien été acquittés 10. Je serai débité du montant des droits de stationnement, par exemple en payant ma facture téléphonique (cas où l'opérateur de téléphone gère le service) ou via une société qui gère le service ou par téléchargement d'un titre de payement électronique , éventuellement vers la carte SIM de mon téléphone mobile 11. Le service va reverser tout ou partie de ces droits à l'autorité gérant les stationnements ; le coût des communications sera imputé selon un accord entre les différentes entités concernées (autorité gérante, opérateur téléphonique, société gérant le service de payement par téléphone). Certaines normes de téléphonie mobile (comme le GSM) acceptent l'envoi et la réception de messages courts (SMS : short message service) à partir des téléphones. Il est évident que l'usager, dans cette configuration, pourra utiliser cette possibilité pour envoyer directement les données utiles au service. Le code lui sera retourné par message court aussi. L'intérêt de ce mode est d'être moins onéreux mais il ne modifie pas la nature de la transaction entre l'usager et l'ordinateur. Nous allons maintenant décrire les différents éléments de notre invention. En ce qui concerne le service , il s'agit d'une entité quia pour fonction d'assurer les transactions avec l'usager (étapes 2 à 7 ci-dessus) ; cette entité peut être totalement sous le contrôle de l'opérateur de téléphone (en abrégé opérateur ) ou indépendante de lui. Ce service va gérer la transaction avec l'usager, éventuellement procéder à sa localisation automatique en liaison avec l'opérateur, puis facturer et percevoir les droits (étape 10) et les reverser (étape 11). Notre invention intervient ici en ce qu'elle utilise un algorithme de cryptage choisi parmi ceux connus de tout homme de l'art, pour transformer les données fournies par l'usager en un nombre C (appelé code ) qui est en fait la signature Voici une structure possible mais non exclusive pour les données qui vont être traitées par cet algorithme de cryptage Soit V l'identifiant de la ville (code à 5 chiffres type code postal ou nom ou tout autre code conventionnel) Soit Z l'identifiant de la zone de tarification, s'il y en a plusieurs (code constitué d' l chiffre ou d'un code de zone ou d'un nom de rue ou de tout autre code repérant de manière conventionnelle la localisation du stationnement) Soit N l'identifiant du véhicule (par exemple les 2 premiers chiffres si c'est possible ou une formule spécifique dans tous les autres cas ou tout autre identifiant attaché au véhicule et vérifiable par un contrôleur extérieur) Soit D l'heure et minute de début du stationnement (en principe l'heure de la transaction, par exemple sous la forme d'un nombre à 4 chiffres HEIMM où HH est l'heure et MM les minutes) Soit T le temps de stationnement demandé (par exemple sous la forme d'un code à 2 chiffres MM donnant le nombre de minutes et qui pourra être arrondi au premier multiple de 15 supérieurs) Nous allons exposer un schéma possible pour le cryptage de ces données, d'autres schémas sont possibles, l'essentiel de l'invention résidant dans le moyen de contrôle. Les fonctions secrètes sont ici réalisables par un algorithme de type DES (Data Encryption Standard avec une clef K de 56 bits par exemple) ou par un algorithme à clef publique de type RSA (Rivest Shamir Adelman) plus gourmand en puissance de calcul. Le DES est actuellement réalisé en hardware sur des microcircuits électroniques spécialisés (par exemple les circuits ATMEL) très peu chers et ayant une très faible consommation, cette réalisation préférentielle suit ainsi les technologies courantes dans les cartes à puce. Une première fonction secrète calcule une clef : S=fonctionl(V, date, cp) où date est la date courante et cp une clef Primaire permettant de personnaliser la fonction et de la modifier secrètement, c'est à dire de changer toute la chaîne de traitement sans modifier le matériel (décodeur) et le logiciel. Cette clef peut être transmise de manière sécurisée à tous les décodeurs , soit directement (comme dans un gager , par radio), soit par le biais des services qui gèrent les décodeurs, soit en utilisant des boîtiers intermédiaires disséminés dans ces services et qui reçoivent, tous les jours, la nouvelle clef, clef qui est entrée manuellement ou élèctroniquement dans les décodeurs. Ces modes de transmission utilisent donc des moyens connus de tout homme de l'art. Dans une variante les décodeurs peuvent contenir la procédure de calcul de fonctionl , seule la Clef Primaire y a été insérée une fois pour toute. Le décodeur, dans cette variante, est muni d'un circuit horloge qui fournit la date, d'une mémoire morte contenant V et la Clef Primaire. En cas de fraude manifeste ou plus généralement pour changer la fonctionl , il suffit alors de changer la Clef Primaire des décodeurs concernés. Une seconde fonction secrète mise en oeuvre par le service calcule le code C qui va servir de preuve de la transaction C=fonction2(S, V, Z, N, D, T) sachant que le décodeur lui utilisera une fonction de décodage partiel fournissant 4 valeurs (Z, N, D, T)=fonction3(C,S) Le décodeur a donc besoin de connaître la clef S et ceci peut être réalisé comme indiqué ci- dessus par distribution périodique (tous les jours, tous les mois) de cette clef S ou par génération par le décodeur lui-même de S à l'aide de la fonctionl et de la Clef Primaire qui peut être aussi changée mais de manière beaucoup moins fréquente (tous les 6 mois ou bien tous les ans ou bien en changeant le décodeur). Dans la variante où l'on utiliserait un cryptage à clef publique, le code C serait calculé par une fonction à sens unique utilisant une clef secrète. Les décodeurs utiliseraient des clefs publiques. Néanmoins, cette approche est plus complexe et nécessiterait des codes plus longs et des moyens de calcul plus lourds. Le nombre de valeurs que peut prendre C (par exemple 1000000 si C a 6 chiffres) doit être supérieur ou égal au nombre de configurations des données Z, N, D, T. Par exemple, si N prend 100 valeurs (2 chiffres), Z prend 2 valeurs, D prend 40 valeurs (de 9h à 19h par pas de 15 minutes) et T prend 8 valeurs (de 15 à 120 minutes par pas de 15), on aura l00x2x40x8=64 000 valeurs possibles, nombre qui est bien inférieur à 1000000. Notons aussi qu'avec le développement des capacités de traitement des cartes SIM (Subscriber Identity Module) insérées dans les téléphones mobiles, il est apparu dès 1996 des cartes SIM dites de phase 2+ qui peuvent dialoguer avec un ordinateur distant de manière transparente pour l'usager. En particulier, la norme OTA (On The Air) de téléchargement permet aux opérateurs de modifier à distance certains fichiers hébergés par la carte SIM du téléphone mobile. Ces nouvelles évolutions aboutissent à terme à considérer la carte SIM comme un système intelligent de traitement de l'information en liaison avec l'ordinateur de l'opérateur. Dans notre invention, cela signifie que la transaction peut avoir lieu en partie localement de la manière suivante # La carte SIM calcule la fonction secrète qui, à partir de la clef S et des informations données par l'usager, détermine le code C # La carte SIM mémorise toutes les transactions effectuées # A des instants prédéterminés ou à l'occasion de liaisons entre le mobile et le réseau, la carte SIM dialogue avec l'ordinateur du service en lui communiquant les transactions mémorisées et en recevant de lui la clef S valide dans le lieu où le mobile se trouve et pour le jour considéré # La carte SIM peut aussi recevoir une instruction de blocage vis à vis de ces transactions si certaines conditions ne sont pas vérifiées (par exemple le payement effectif des factures précédentes) Ce procédé permet d'effectuer la transaction sans entrer en communication avec l'ordinateur du service, allégeant ainsi le volume de données transmises. Nous utiliserons le terme général d'organe de calcul sécurisé contenu dans le dispositif de communication pour désigner tout circuit électronique (tel que la carte SIM) ou ensemble de circuit de type microprocesseur attaché au système de communication et possédant un numéro d'identification tel que l'IMSI. Si la transaction est effectuée selon le schéma ci- dessus, nous parlerons de transaction indirecte par l'intermédiaire d'un organe de calcul sécurisé contenu dans le dispositif de communication . Le décodeur est un dispositif matériel doté d'au moins un organe d'entrée permettant de lui fournir le code C, d'un organe de sortie lui permettant de restituer les informations utiles au contrôle, de moyens de calcul et de stockage de données intermédiaires et de clefs secrètes, d'un organe fournissant l'heure et la date. Dans une réalisation préférentielle mais de manière non exclusive, le décodeur (figure 2) est un tout petit boîtier qui contient un afficheur comme organe de sortie (par exemple de type LCD), un clavier comme organe d'entrée (par exemple les 10 chiffres, 1 touche de validation, 1 touche suite, éventuellement d'autres touches optionnelles comme une touche d'annulation). Le décodeur comporte aussi un organe de calcul lui permettant de réaliser la fonction fonction3 et, selon certaine variante, la fonction2 et une horloge fournissant l'heure à la minute près et la date. L'organe de calcul peut être un ASIC (circuit intégré réalisé à la demande), un FPGA (circuit précablé personnalisable) ou un microcontrôleur standard ou un processeur spécialisé ( cryptoprocesseur ) dans les algorithmes de cryptographie. Il possède éventuellement des mémoires RAM (pour les variables intermédiaires des calculs et la date) et ROM (pour la Clef Primaire et la ville). Le décodeur comprend aussi tous les dispositifs annexes connus de tout homme de l'art et utiles à son fonctionnement comme une source d `énergie (pile ou batterie). Le décodeur peut posséder un ou plusieurs organes permettant de le faire dialoguer avec un ordinateur hôte (par exemple une liaison par fil, par infrarouge, par radio) et ainsi de recevoir et/ou de fournir des données à un ordinateur hôte, par exemple des clefs de chiffrement ou, comme indiqué ci après, tout ou partie des données entrées dans ledit décodeur lors de son exploitation. Le décodeur peut aussi posséder des moyens de stockage permanent de données, par exemple sous forme de mémoire de type EEPROM ou flash, ces moyens permettant de conserver l'ensemble des codes entrés dans le décodeur ainsi que l'heure, la date et éventuellement le lieu de la saisie des dits codes, ceci pour pouvoir les exploiter ultérieurement. Dans une réalisation concrète mais de manière non exclusive, l'agent de contrôle entre le code C (par exemple 6 chiffres) et valide (cette action peut être évitée si les codes ont tous la même longueur, le sixième chiffre indique la fin d'entrée du code C). Le décodeur affiche alors les données Z,N,D,T. Si l'écran ne possède qu'une ligne par exemple, le décodeur affichera une donnée à la fois, leur succession étant commandée par la touche suite . Si l'écran à plusieurs lignes, l'ensemble des données pourra être affiché d'un seul coup. L'organe d'entrée peut être de type vocal, le contrôleur prononce alors le code C dans un microphone du décodeur, un algorithme le traduisant en une valeur numérique. L'organe de sortie peut être de type vocal en utilisant un système de synthèse de la parole. Pour protéger le décodeur contre un usage frauduleux destiné par exemple à déterminer une ou plusieurs des fonctions secrètes et une ou plusieurs des clefs, on peut avoir recours à une protection physique le rendant définitivement inopérant en cas d'ouverture ou de tentative d'ouverture du boitier. Il peut être aussi protégé par un code personnel (PIN code) différent pour chaque décodeur et communiqué uniquement à l'agent qui l'utilise. Ce code devrait être entré périodiquement, par exemple tous les jours. Il est aussi possible de le doter d'une fonction qui mémorise les essais incohérents , par exemple ceux qui sont des codes impossibles (puisque une petite partie des codes possibles sont effectivement utilisés à une date et dans une ville donnée) ou ceux qui correspondent à des heures D incompatibles avec l'heure présente (connue du décodeur grâce à son horloge) ou entre elles. Le décodeur pourrait devenir définitivement inopérant au bout d'un certain nombre d'essais incohérents successifs (par exemple 20). Les codes entrés dans le décodeur peuvent être conservés et être exploités pour des statistiques (sur les durées de stationnement par exemple) ou pour vérifier que le service de facturation répercute bien toutes les transactions vers l'autorité gérant les stationnements. Chaque transaction est repérée par son code C et aussi par l'heure et tout autre paramètre utile. Les décodeurs peuvent être munis d'une connectique appropriée (filaire ou infrarouge par exemple) et ainsi les données mémorisées peuvent être téléchargées dans des ordinateurs de l'autorité gérant les stationnements ; ces codes ainsi conservés seraient comparés aux codes fournis par le service , mensuellement par exemple. Si un usager veut frauder en utilisant les codes C affichés par d'autres usagers, il doit trouver un véhicule ayant le même identifiant (probabilité égale à ll100). De plus il ignorera, dans la plupart des cas, quelle est l'heure finale autorisée. Une fraude plus professionnelle consisterait à relever un grand nombre de codes C avec les paramètres d'entrée (certains sont visibles, d'autres peuvent être obtenus par l'observation ou le questionnement) correspondant pour tenter de casser la fonction secrète du service. Cette tâche n'est évidemment pas absolument impossible mais laborieuse, surtout dans la collecte des données et serait à recommencer le lendemain, la clef S changeant tous les jours. Revendications 1. Système de paiement des droits de stationnement utilisant un dispositif de communication sans fil bidirectionnel et qui comprend - un dispositif de télécommunication sans fil mobile bidirectionnel, éventuellement muni d'un organe de calcul sécurisé - un ordinateur distant - un décodeur possédant un organe d'entrée, un organe de sortie, un organe de calcul caractérisé - par le fait que l'usager réalise une transaction, pour payer lesdits droits à l'aide de son dispositif de télécommunication sans fil, avec l'ordinateur distant, soit directement avec celui-ci, soit indirectement par l'intermédiaire d'un organe de calcul sécurisé contenu dans ledit dispositif de communication - par le fait que l'ordinateur distant ou l'organe de calcul sécurisé contenu dans ledit dispositif de communication lui communique un code C qui est une signature numérique de cette transaction - par le fait que le décodeur, quand on compose en entrée le dit code C, fournit en sortie les paramètres de la transaction permettant de vérifier qu'elle ouvre bien droit au stationnement à cet instant, en cette place, pour ce véhicule 2. Système de paiement des droits de stationnement selon la revendication 1 dans lequel le dispositif de télécommunication sans fil est un téléphone mobile 3. Système de paiement des droits de stationnement selon la revendication 1 dans lequel le dispositif de télécommunication sans fil est un émetteur-récepteur de radio-messagerie 4. Système de paiement des droits de stationnement selon l'une des revendications 1 à 3 dans lequel l'usager utilise un clavier pour répondre à l'ordinateur qui dialogue avec lui vocalement à l'aide d'un procédé de synthèse vocale ou de restitution de sons préenregistrés 5. Système de paiement des droits de stationnement selon l'une des revendications 1 à 3 dans lequel l'usager utilise un clavier pour envoyer à l'ordinateur les paramètres du stationnement sous forme de messages alphanumériques courts et reçoit le code sous la même forme 6. Système de paiement des droits de stationnement selon l'une des revendications 1 à 3 dans lequel l'ordinateur distant utilise la localisation de l'usager à l'aide de l'opérateur de téléphonie mobile ou de radio-messagerie 7. Système de paiement des droits de stationnement selon l'une des revendications 1 à 3 dans lequel l'ordinateur détermine l'identité de l'usager à partir du numéro du téléphone mobile ou du numéro du dispositif de radio-messagerie ou d'un numéro d'identification lié à au système mobile de communication sans fil et connu de l'opérateur du réseau 8. Système de paiement des droits de stationnement selon l'une des revendications 1 à 3 dans lequel un organe de calcul sécurisé contenu dans le dispositif de communication est utilisé pour réaliser une partie de la transaction, en particulier le calcul du code C, cet organe de calcul communiquant à d'autres instants avec le service pour échanger des données sur les transactions et les clefs de codage 9. Système de paiement des droits de stationnement selon l'une des revendications 1 à 3 dans lequel le décodeur a la capacité de se bloquer lorsque des codes incohérents ou impossibles d'après le lieu et l'heure ont été entrés en nombre suffisant ou de manière consécutive dans ledit décodeur 10. Système de paiement des droits de stationnement selon l'une des revendications 1 à 3 dans lequel le décodeur mémorise les codes entrés et éventuellement l'heure, la date et le lieu de cette entrée, et où ledit décodeur est capable de les restituer à un dispositif extérieur afin de contrôler l'exactitude des données de reversement du service à l'autorité gérant le stationnement 11. Système de paiement des droits de stationnement selon l'une des revendications 1 à 3 dans lequel certaines données peuvent être téléchargées dans le décodeur à partir d'un ordinateur central, notamment une ou plusieurs des clefs de codage utilisées par ledit décodeur