Brevet FR2823400A1 — publié le 20021011

DISPOSITIF SECURISE D'ECHANGE DE DONNEES La présente invention se situe dans le domaine des échanges de données entre un fournisseur d'informations et un utilisateur. L'invention propose un dispositif sécurisé pour traiter de tels échanges de données. L'invention est notamment adaptée aux transactions réalisées entre un serveur réseau (d'achat) et un terminal client. L'invention concerne donc un dispositif sécurisé et la mise en oeuvre d'un tel dispositif. L'invention concerne également un système sécurisé comprenant un serveur d'achat, un terminal de télécommunication client et un terminal sécurisé, ainsi qu'un procédé d'échange de données sécurisé. En général, dans le cas de transactions à distance, un client reçoit des données provenant d'un serveur réseau concernant une transaction potentielle et le client accepte ou non de valider la transaction en fonction de ces données. Il convient en premier lieu de définir la notion d'envoie de données sécurisées via un réseau de télécommunication (tel que le réseau Internet ou le réseau GSM par exemple). Pour envoyer des données de manière sécurisée à une entité à travers un réseau, il est nécessaire ou recommandé : 1. d'authentifier fortement les deux entités qui vont échanger ces données (authentification mutuelle), 2. d'assurer l'intégrité de ces données, 3. d'assurer éventuellement la confidentialité de ces données, 4. et dans certains cas d'assurer la non- répudiation des échange de données entre les deux entités. Ces différentes opérations (authentification, intégrité, confidentialité, non-répudiation) sont réalisées par des fonctions de cryptographie qui sont associées à des algorithmes à clefs symétriques ou asymétriques. Différents niveaux de sécurité peuvent être mis en oeuvre suivant le type de fonctions utilisées. Les appareils ou terminaux utilisés pour ces échanges à distance peuvent être des ordinateurs personnels (éventuellement portables), des équipements mobiles (téléphones cellulaires ou portables), des Assistants Personnel Digitaux (PDA), des télévisions numériques interactives, des appareils de paiement chez un marchand, ou autres. Ces terminaux ne-sont généralement pas sécurisés, c'est à dire qu'ils peuvent être modifiés dans des buts frauduleux par exemple en téléchargeant des logiciels tels que des virus, ou être modifiés physiquement dans le but de récupérer des informations confidentielles (par exemple un code PIN ou des données mémorisées dans le terminal) ou dans le but d'émettre de fausses informations. Aujourd'hui, un utilisateur n'est donc pas assuré que les données, qu'il a validées depuis son terminal client, seront envoyées de manière sécurisée au serveur réseau. Différents exemples peuvent être cités pour illustrer cette faille. Par exemple, (1), un utilisateur qui passe un ordre d'achat d'actions en ligne via son ordinateur personnel (le terminal client) connecté au réseau Internet ne peut pas être certain que son ordre validé ne sera pas modifié ou même rejoué à son insu par un virus particulier ou un Cheval de Troie par exemple. En effet, les instructions tapées à l'aide du clavier et validées à l'écran ne correspondent pas forcément au contenu HTML (Hyper Text Markup Language) transmis au serveur d'achat en ligne. L'environnement d'exécution d'applications diverses, éventuellement téléchargées sur l'ordinateur, et les périphériques comme l'écran et le clavier alphanumérique de l'ordinateur ne constituent pas un ensemble sécurisé et de confiance. Par exemple, (2), dans le cadre d'une architecture client-serveur, un utilisateur qui valide une transaction en utilisant son téléphone cellulaire (le terminal client) connecté au réseau selon le protocole WAP (Wireless Application Protocol) n'est pas assuré que les termes de cette transaction ne seront pas altérés par une application préalablement (télé) chargée dans le téléphone. Pour garantir le bon déroulement de la transaction, il faut d'une part que la communication entre le téléphone cellulaire et le serveur sur le réseau soit sécurisée mais surtout que le téléphone cellulaire lui-même soit sécurisé. Il faut cependant noter que le déploiement sur le marché de téléphones cellulaires sécurisés est très coûteux (en particulier pour le téléchargement de nouvelles applications). D'autres exemples décrivant les problèmes de sécurité et de confiance liés au fait que le client utilise des terminaux non sécurisés pourraient être aisément présentés. L'objectif de l'invention est de pallier à ces inconvénients afin d'améliorer la sécurité des transactions à distance en garantissant l'exactitude des informations présentées au client. Un autre objectif de l'invention est de garantir que le message de retour du client (sa validation) ne sera pas modifié. Un autre objectif de l'invention est de garantir au serveur réseau l'identité du client et donc d'éviter la répudiation d'un ordre. A cet effet, l'invention propose l'utilisation d'un terminal supplémentaire particulièrement adapté aux opérations nécessitant d'être sécurisées et désigné par la suite comme un terminal sécurisé portable et personnel (TSPP). Ce terminal est essentiellement composé d'un clavier spécifique, d'un écran et d'un composant de sécurité permettant de stocker les données secrètes de manière sécurisée ; l'ensemble constituant un module homogène sécurisé. Avantageusement l'invention concerne un terminal sécurisé portable de communication à distance comportant au moins un écran, un clavier, une unité de traitement de données et de gestion des périphériques et une interface de communication avec d'autres terminaux, principalement caractérisé en ce qu'il comporte en outre un composant de sécurité comprenant un code d'authentification et des moyens de vérification dudit code, et en ce que le composant sécurisé est apte à générer une signature électronique associée à des données échangées avec les autres terminaux. Selon une caractéristique, le composant de sécurité est une carte à puce à microprocesseur. Selon d'autres caractéristiques, le composant de sécurité est un module logiciel intégré dans une mémoire de l'unité de traitement, ou un processeur ou un module électronique intégré à l'unité de traitement. Selon les modes de réalisation, l'interface de communication comporte une liaison radio ou une liaison filaire. Selon les applications, le terminal portable de communication selon l'invention communique avec un autre terminal fixe ou mobile. L'invention concerne également un système d'échange de données à distance entre un serveur réseau et un terminal client, caractérisé en ce que ledit système comporte un terminal sécurisé portable apte à générer une signature électronique associée aux données échangées entre le serveur réseau et le terminal client. L'invention se rapporte en outre à un procédé d'échange sécurisé de données à distance entre un serveur réseau et un terminal client, caractérisé en ce qu'il comporte les étapes suivantes : - requête d'une validation de données transmises par le serveur réseau au terminal client ; transmission des données à valider par le terminal client vers un terminal sécurisé ; validation desdites données par ledit terminal sécurisé et génération d'une signature électronique associée aux données validées ; transmission des données validées et de la signature associée à destination du serveur réseau ; Selon une variante avantageuse, le procédé comporte en outre une étape de vérification de la signature électronique associée aux données validées par le serveur réseau. Dans un mode avantageux de l'invention, le terminal sécurisé possède une fonction d'authentification du serveur distant selon un principe connu de l'homme du métier. Les particularités et avantages de l'invention apparaîtront clairement à la lecture de la description qui suit, faite à titre d'exemple illustratif et non limitatif et en regard aux figures annexées sur lesquels : la figure 1 illustre schématiquement le TSPP selon l'invention associé à un autre terminal. la figure 2 est un diagramme des échanges de données entre le TSPP selon l'invention et les autres terminaux et serveurs. L'invention concerne un terminal sécurisé portable et personnel, nommé TSPP, composé d'un clavier spécifique, d'un écran et d'un composant de sécurité permettant de stocker les données secrètes de manière sécurisée ; l'ensemble constituant un module homogène sécurisé et de confiance. Le composant de sécurité peut être une carte à puce à microprocesseur (une carte SIM, USIM, UIM équipée d'un module cryptographique, etc), un processeur sécurisé, un module logiciel sécurisé ou un module électronique sécurisé par exemple. Le TSPP est donc sécurisé contre les tentatives d'intrusion physique, par l'utilisation de moyens connus tels que, par exemple, des commutateurs antiintrusion, des grilles électriques anti-intrusion, des moules plastiques autours des composants électroniques, ou autre. Le TSPP est également sécurisé contre les agressions par logiciel car il est impossible de lui télécharger de nouvelles applications logicielles. De plus, le TSPP contient un moyen de génération d'une signature électronique et est apte à transmettre un message en retour contenant cette signature. Ainsi, l'utilisateur est sûr des données qu'il a reçues et validées et sûr que son ordre de validation sera reçu correctement et intégralement par le serveur réseau. De même, le serveur réseau est sûr des données qui ont été acceptées et sûr de l'identité de l'utilisateur. Le TSPP est destiné à être connecté à un autre terminal non sécurisé par différents moyens comme une connexion filaire, une connexion infrarouge, une connexion radio (Bluetooth), un port PCMCIA, un bus USB, ou autre. Le TSPP peut avoir plusieurs types de formes. Dans l'exemple de réalisation illustré sur la figure 1, le TSPP 10 est connecté à un terminal client 20 constitué d'un téléphone cellulaire selon un protocole de communication spécifique s'appuyant sur la technologie Bluetooth (liaison radio). Dans l'exemple illustré, le TSPP 10 comprend un clavier sécurisé 12, un écran sécurisé 14 et un lecteur 11 associé à un composant de sécurité 18 (une carte à puce dans l'exemple considéré) capable de générer une signature (par exemple avec l'algorithme RSA-1024) et un algorithme de hachage (par exemple SHA-1) à la demande de l'utilisateur. Le TSPP 10 comprend aussi une unité de traitement des données comportant au moins une mémoire (type ROM) et un processeur, ainsi qu'une interface de gestion des périphériques (écran, clavier, carte à puce, etc. ) et une interface de communication avec l'extérieure (liaison filaire, bluetooth ou autre). Le TSPP 10 peut échanger des données à valider D avec le téléphone cellulaire 20 via son interface de communication selon un protocole spécifique plus ou moins complexe et dépendant du type de connexion utilisée. Un exemple de mise en oeuvre peut concerner la transmission d'un ordre d'achat d'actions de manière sécurisée, c'est à dire en fournissant les fonctions de non-répudiation, d'intégrité et d'authentification du client. L'utilisateur souhaite faire un achat d'actions à partir de son téléphone cellulaire 20 équipé d'une carte WIM (Wireless Identity Module). Il se connecte sur un serveur d'achat en ligne via le réseau selon le protocole WAP par exemple, et transmet son ordre (de manière non sécurisée). Le serveur d'achat sur le réseau va demander la confirmation de l'ordre en transmettant des données essentielles à valider D qui seront affichées sur l'écran du téléphone cellulaire 20. L'ordre ou les données à valider D sont alors transmises au TSPP 10 selon l'invention selon un protocole de communication simple de type TLV (Tag Length Value) ou SMS (Short Message Services) par exemple. L'ordre et/ou les données D à valider sont ainsi affichés sur l'écran 14 du TSPP 10 et l'utilisateur peut les confirmer en données validées D' par une action sur le clavier 12 dudit lecteur 11. Pour confirmer les données D, l'utilisateur s'identifie, par exemple en en entrant son code d'authentification ou code PIN (Personal Identification Number) à l'aide du clavier 12 sécurisé. Le composant de sécurité 18 (la carte) va alors générer une signature électronique S associée aux données validées D'par l'utilisateur. la signature électronique S est générée à l'aide de clés cryptographiques selon des procédés de cryptage connus en soi. Les données validées D'associées à une signature digitale S sont ensuite transmises au téléphone cellulaire 20 pour être renvoyées au serveur d'achat en ligne 30 qui procédera éventuellement à la vérification de la signature électronique S associée aux données validées D'. A cet effet, le serveur d'achat sur le réseau possède la clé cryptographique permettant de reconnaître la signature S associée aux données validées D'. L'utilisateur peut avoir la possibilité de modifier les données ou l'ordre à valider D avant validation D'. Le serveur d'achat en ligne est alors capable de procéder à la vérification de ces données D'modifiées à partir du moment où elles sont associées à une signature électronique S valide. La figure 2 illustre bien les échanges d'informations entre le TSPP 10, le terminal client 20 (son téléphone cellulaire dans l'exemple présent) et le serveur réseau 30. Éventuellement, l'utilisateur initie un ordre (d'achat par exemple) vers un serveur sur le réseau 30 à partir d'un terminal client 20, non sécurisé (son téléphone cellulaire par exemple). Le message 0 est donc transmis selon un protocole classique, non sécurisé (HTTP ou WAP selon le terminal de transaction 20 utilisé). Le serveur réseau 30 va demander la confirmation de cet ordre par un message 1 dans lequel il peut demander la validation de certaines données D (le prix et la quantité par exemple). Ce message 1 est transmis par le réseau selon le même protocole que le message 0. Selon une autre application, le serveur réseau 30 fait directement une offre à un utilisateur (une offre d'achat par exemple) et proposera directement des données D à valider par l'utilisateur. Dans une telle application, les échanges de données entre le terminal client 20 et le serveur réseau 30 débutent directement par le message 1 d'une demande de validation de données D par le serveur 30 à l'utilisateur. Le terminal de transaction 20 va recevoir les données à valider D. N'étant pas sécurisé, il va transmettre lesdites données D à un terminal sécurisé, le TSPP 10 selon l'invention, dans un message 2 comportant une demande de validation des données D. Ce message 2 est transmis selon un quelconque protocole connu dépendant du type de connexion entre le TSPP 10 et le terminal de transaction 20. Le message 2 n'est pas sécurisé. Le terminal TSPP 10 va alors afficher les données D sur son écran 14 sécurisé. L'utilisateur va valider ces données D en demandant au TSPP de générer une signature électronique S associée aux données validées D'. Pour cela, l'utilisateur produit une action sur le clavier sécurisé 12 et saisi son code d'authentification (PIN) sur ledit clavier sécurisé 12. L'unité de traitement du TSPP va alors produire la signature S et l'interface de communication pourra retransmettre des données validées D'selon un mode sécurisé vers le terminal de traitement 20 dans un message 3 transmis selon le même protocole que le message 2. Le terminal de traitement 20 envoie alors les données validées D'et la signature S, dans un message 4, et le serveur réseau 30 exécute l'ordre. Selon le niveau de sécurité requis, le serveur réseau 30 peut authentifier systématiquement les données validées D'à l'aide de la signature électronique S associée dans une étape 5 ou cette authentification n'est réalisée qu'en cas de litige pour vérifier la validité des données confirmées D'par l'utilisateur. Les scénarios de tentatives de fraude décris cidessous illustrent la robustesse du dispositif et du système selon l'invention. Scénario (1) : soit X le montant d'un ordre d'achat envoyé par un serveur d'achat en ligne 30 au téléphone cellulaire 20. Le cellulaire 20 contient un virus (téléchargé dans une application précédente par exemple de manière transparente par rapport à l'utilisateur) qui va modifier le prix X en prix Y. Selon l'invention, le téléphone cellulaire 20 transmet les données à valider au TSPP 10 (en l'occurrence le prix X transformé en Y). Le TSPP 10 va alors afficher le prix Y sur l'écran 14 alors que l'écran du téléphone cellulaire 20 affiche le prix X. L'utilisateur va immédiatement se rendre compte que les deux prix sont différents et va annuler la transaction. Scénario (2) : soit D des données affichées sur le TSPP 10 que l'utilisateur valide en données D'et transmet au terminal 20 avec une signature S associée. Le téléphone cellulaire 20 contient un virus qui va modifier les données déjà validées D'en données D'. Le serveur 30 vérifie la corrélation entre la signature électronique S et les données reçues D'' et détectera une anomalie et annulera la transaction. REVENDICATIONS 1. Terminal sécurisé portable (10) de communication à distance comportant au moins un écran (14), un clavier (12), une unité de traitement de données et de gestion des périphériques et une interface de communication avec d'autres terminaux (20), caractérisé en ce qu'il comporte en outre un composant de sécurité (18) comprenant un code d'authentification et des moyens de vérification dudit code, et en ce que le composant sécurisé est apte à générer une signature électronique (S) associée à des données (D) échangées avec les autres terminaux (20). 2. Terminal sécurisé de communication selon la revendication 1, caractérisé en ce qu'il comporte un lecteur (11) de carte à puce, le composant de sécurité (18) étant une carte à puce à microprocesseur. 3. Terminal sécurisé de communication selon la revendication 1, caractérisé en ce que le composant de sécurité (18) est un module logiciel intégré dans une mémoire de l'unité de traitement. 4. Terminal sécurisé de communication selon la revendication 1, caractérisé en ce que le composant de sécurité (18) est un module électronique intégré à l'unité de traitement. 5. Terminal sécurisé de communication selon la revendication 1, caractérisé en ce que le composant de -OJUU sécurité (18) est un processeur intégré à l'unité de traitement. 6. Terminal sécurisé de communication selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'interface de communication comporte une liaison radio. 7. Terminal sécurisé de communication selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'interface de communication comporte une liaison filaire. 8. Terminal sécurisé de communication selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il communique avec un terminal mobile. 9. Terminal sécurisé de communication selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il communique avec un terminal fixe. 10. Système d'échange de données à distance entre un serveur réseau (30) et un terminal client (20) selon l'une quelconque des revendications 1 à 9, caractérisé en ce que ledit système comporte un terminal sécurisé portable (10) apte à générer une signature électronique (S) associée aux données échangées entre le serveur réseau (30) et le terminal client (20). 11. Procédé d'échange sécurisé de données à distance entre un serveur réseau (30) et un terminal client (20) selon l'une quelconque des revendications 1 à 9, caractérisé en ce qu'il comporte les étapes suivantes : requête d'une validation (1) de données (D) transmises par le serveur réseau (30) au terminal client (20) ; transmission des données (D) à valider (2) par le terminal client (20) vers un terminal sécurisé (10) ; validation (3) desdites données (D) par ledit terminal sécurisé (10) et génération d'une signature électronique (S) associée aux données validées (D') ; transmission (4) des données validées (D') et de la signature (S) associée à destination du serveur réseau (30) ; 12. Procédé selon la revendication 11, caractérisé en ce qu'il comporte en outre une étape de vérification (5) de la signature électronique (S) associée aux données validées (D') par le serveur réseau (30).