Brevet FR2985400A1 — publié le 20130705

TRANSMISSION SECURISEE DE DONNEES La présente invention concerne une transmission sécurisée de données dans des réseaux de télécommunication considérés à risque. Lorsqu'ils sont connectés à des réseaux non sécurisés, des utilisateurs laissent leur vie privé accessible lors d'établissement de session à des services non sécurisés. Par exemple, lorsqu'ils sont connectés depuis un point d'accès partagé, dans un lieu public, à un service qui ne fournit pas de support TLS ("Transport Layer Security" en anglais), les utilisateurs transmettent leurs identifiants et mots de passe en clair. Un utilisateur malicieux pourrait alors facilement intercepter ces données, récupérer l'identificateur de session et accéder à la session d'utilisateur. Il existe donc un besoin de réduire de tels risques lorsqu'un utilisateur 15 accède à un service via un réseau de télécommunication. Pour remédier aux inconvénients précédents, un procédé pour transmettre des données de manière sécurisée depuis un terminal de communication d'un utilisateur vers un serveur d'application à travers un réseau de télécommunications, 20 le terminal de communication étant connecté au serveur d'application via un réseau d'accès non sécurisé et étant apte à communiquer avec le serveur d'application via au moins un réseau d'accès sécurisé, le procédé comprenant les étapes suivantes dans le terminal de communication : lorsque des données personnelles sont susceptibles d'être saisies par 25 l'utilisateur et transmises au serveur d'application, basculer la connexion avec le serveur d'application du réseau d'accès non sécurisé vers un réseau d'accès sécurisé, transmettre les données personnelles vers le serveur d'application via le réseau d'accès sécurisé, 30 basculer la connexion avec le serveur d'application du réseau d'accès sécurisé vers un réseau d'accès non sécurisé. Avantageusement, le système permet d'établir une session sans divulguer de données personnelles, telles que des login et mots de passe, via le réseau d'accès non sécurisé. Selon une autre caractéristique de l'invention, le serveur d'application peut produire un cookie de session en fonction d'informations contenues dans une requête reçue depuis le terminal de communication et transmet le cookie de session au terminal de communication, le cookie de session comprenant des limitations sur l'utilisation d'un service fourni par le serveur d'application lors de la session. Un utilisateur peut ainsi créer une session sécurisée qui peut être utilisée 10 par la suite pour accéder à un service via un réseau non sécurisé. Selon une autre caractéristique de l'invention, la connexion avec le serveur d'application peut basculer du réseau d'accès sécurisé vers un réseau d'accès non sécurisé après réception du cookie de session par le terminal de communication. 15 Selon une autre caractéristique de l'invention, les données saisies par l'utilisateur peuvent être contrôlées, lorsqu'une page web hébergée par le serveur d'application est accédée par le navigateur web du terminal de communication, et lorsque le terminal de communication est connecté au serveur d'application via un réseau d'accès non sécurisé. 20 Selon une autre caractéristique de l'invention, les données saisies par l'utilisateur peuvent être contrôlées au cours de la saisie desdites données ou après avoir été saisies lors de leur validation par l'utilisateur en vue d'être transmises au serveur d'application. Selon une autre caractéristique de l'invention peuvent être contrôlés des 25 champs d'entrée d'une page web accédée par un navigateur web du terminal de communication susceptibles d'être renseignés par des données personnelles, lorsque le terminal de communication est connecté au serveur d'application via un réseau d'accès non sécurisé. 30 L'invention concerne également un terminal de communication pour transmettre des données de manière sécurisée depuis le terminal de communication vers un serveur d'application à travers un réseau de télécommunications, le terminal de communication étant connecté au serveur d'application via un réseau d'accès non sécurisé et étant apte à communiquer avec le serveur d'application via au moins un réseau d'accès sécurisé, le terminal de communication comprenant : des moyens pour basculer la connexion avec le serveur d'application du réseau d'accès non sécurisé vers un réseau d'accès sécurisé, lorsque des 5 données personnelles sont susceptibles d'être saisies par l'utilisateur et transmises au serveur d'application, des moyens pour transmettre les données personnelles vers le serveur d'application via le réseau d'accès sécurisé, des moyens pour basculer la connexion avec le serveur d'application du 10 réseau d'accès sécurisé vers un réseau d'accès non sécurisé. L'invention se rapporte encore à un programme d'ordinateur apte à être mis en oeuvre dans un terminal, ledit programme comprenant des instructions qui, lorsque le programme est exécuté dans ledit terminal, réalisent les étapes selon le 15 procédé de l'invention. La présente invention et les avantages qu'elle procure seront mieux compris au vu de la description ci-après faite en référence aux figures annexées, dans lesquelles : 20 - la figure 1 est un bloc-diagramme schématique d'un système de communication selon une réalisation de l'invention, et - la figure 2 est un algorithme d'un procédé de transmission sécurisée de données à un serveur selon une réalisation de l'invention. 25 En référence à la figure 1, un système de communication comprend un serveur d'application SA et un terminal de communication TC, aptes à communiquer entre eux à travers un réseau de télécommunications RT. Le réseau de télécommunications RT peut comprendre des réseaux filaires ou sans fil, ou une combinaison de réseaux filaires et de réseaux sans fil, 30 reliés à un réseau de paquets à haut débit de type IP dans lequel se trouve le serveur d'application SA. A titre d'exemples, un terminal de communication TC peut être un ordinateur personnel portable, une tablette, ou encore un terminal de radiocommunications cellulaire mobile. Selon un autre exemple, un terminal de communication comprend un dispositif ou objet électronique de télécommunications qui est personnel à l'utilisateur et qui peut être un assistant numérique personnel communicant PDA ("Personnal Digital Assistant" en anglais), ou un téléphone intelligent (SmartPhone). Le terminal de communication est apte à être connecté au réseau de télécommunications, par exemple via un système d'accès de type GSM ("Global System for Mobile communications" en anglais) et/ou UMTS ("Universal Mobile Telecommunications System" en anglais), et/ou via une borne d'accès d'un réseau public sans fil de faible portée du type WLAN ("Wireless Local Area Network" en anglais) ou conforme à l'une des normes 802.1x, et/ou de moyenne portée selon le protocole WIMAX ("World wide lnteroperability Microwave Access" en anglais). Le terminal de communication TC contient une application App permettant au terminal TC de communiquer avec le serveur d'application SA. Selon un exemple, l'application App est contenue dans un navigateur web. Selon un autre exemple, l'application App est exécutée comme un proxy dans un processus fonctionnant en arrière-plan. Selon encore un autre exemple, l'application App est une interface API ("Application Programming Interface" en anglais) apte à gérer un établissement de session. Dans une variante, l'application App est incluse dans un autre dispositif 20 connecté au terminal de communication TC, via une liaison de type Bluetooth par exemple. L'application App contient un module d'analyse ANA et un module de session SES. 25 Il est considéré que le réseau de télécommunication peut comprendre un ou plusieurs réseaux d'accès RAns dit non sécurisés et un ou plusieurs réseaux d'accès RAs dit sécurisés. Un réseau d'accès dit non sécurisé est un réseau dans lequel il n'y a pas de confidentialité des données transmises, et dans lequel des données peuvent être interceptées par une entité qui n'est pas destinataire des 30 données. A l'inverse, il est considéré qu'un réseau d'accès dit sécurisé est un réseau dans lequel il y a une confidentialité des données transmises, et dans lequel des données ne peuvent pas être interceptées par une entité qui n'est pas destinataire des données. De manière générale, un réseau peut également avoir une réputation d'être non sécurisé, cette réputation pouvant être définie par l'utilisateur lui-même, ou par l'application en évaluant par exemple le nombre d'utilisateurs connectés au réseau, ou encore par un pare-feu communiquant avec l'application. A titre d'exemple, un réseau d'accès non sécurisé est un réseau public sans fil de faible portée du type WLAN ou conforme à l'une des normes 802.1x, ou de moyenne portée selon le protocole WIMAX. Le réseau d'accès non sécurisé peut être également un réseau de type Ethernet n'implémentant aucun protocole de sécurité ou empêchant de façon matérielle (en cloisonnant les communications avec un Switch par exemple) et prévenant ainsi l'interception des communications. A titre d'exemple, un réseau d'accès sécurisé est un réseau cellulaire de type GSM ou UMTS. Le réseau d'accès non sécurisé peut être également un réseau de type Ethernet implémentant un protocole de sécurité. Il est considéré en outre que le réseau d'accès sécurisé a une bande passante plus faible que le réseau d'accès non sécurisé ou que la quantité de données que l'utilisateur peut y faire transiter est moindre. Un utilisateur, déjà connecté via un réseau d'accès non sécurisé avec une large bande passante, peut transmettre des données personnelles via un réseau d'accès sécurisé, même si ce dernier a une bande passante limitée, et utiliser de nouveau le réseau d'accès non sécurisé plus rapide pour utiliser un service donné. Il est en outre considéré que l'utilisateur souhaite transmettre des données personnelles qui sont des informations privées, secrètes ou confidentielles. A titre d'exemple, des données personnelles contiennent un pseudo, un mot de passe ou des coordonnées relatives à l'utilisateur telles que son nom, son adresse postale, son adresse de messagerie électronique, ou encore son numéro de téléphone. Le module d'analyse ANA de l'application surveille le type de données à transmettre et transmis depuis le terminal de communication TC à travers le réseau de télécommunications. Lorsque le terminal est connecté à un serveur d'application SA via un réseau non sécurisé, le module d'analyse ANA émet un alerte lorsque qu'un site web requiert la transmission de données sensibles, tel qu'un mot de passe. Par exemple, le module d'analyse ANA peut explorer le code de la page web en cours afin de détecter des champs d'entrée de données personnelles ou peut détecter en temps réel la saisie par l'utilisateur de données personnelles avant leur validation. En outre, l'utilisateur peut lui-même indiquer à l'application un ensemble de données qu'il considère comme des données personnelles. Lorsque le module d'analyse ANA émet un alerte en détectant que des données personnelles sont sur le point d'être transmises via un réseau non 5 sécurisé, le module d'analyse ANA déclenche le module de session SES pour basculer la connexion vers un réseau sécurisé. Selon une réalisation, si le module d'analyse ANA repère qu'une page web contient des champs d'entrée susceptibles d'être relatifs à des données personnelles, tel qu'un champ relatif à l'entrée d'un identifiant, mais que l'utilisateur 10 ne saisit pas de données personnelles préalablement définies par lui, tel qu'un faux pseudo, le module d'analyse ANA peut ne pas déclencher le module de session SES pour changer de réseau. Le module de session SES peut être configuré par l'utilisateur pour 15 indiquer quel type de session doit être établi et quelles permissions sont accordées pour la session. Une session peut ainsi avoir les limitations suivantes pour un service fourni par le serveur d'application: - lecture seulement (la session ne peut pas modifier le profil de l'utilisateur), - mise à jour seulement (pour seulement lire les informations publiées par le 20 service depuis la dernière mise à jour, par exemple pour lire seulement les derniers courriers électroniques encore non lus), - durée de vie courte pour la session, - session liée à l'adresse IP (ce qui suppose que le terminal de communication connaît sa propre adresse IP publique), 25 - d'autres limitations spécifiques au service (par exemple un nombre limité d'actualisation de localisation). Selon une réalisation, le module de session SES peut empêcher le navigateur web d'accepter un cookie de session qui n'est pas transmis via une connexion sécurisée. 30 De telles limitations sont définies dans un témoin de connexion ou dans un cookie de session relative au service par le serveur d'application SA sur requête du module de session SES. Le terminal de communication TC reçoit alors le cookie via la connexion sécurisée et le module de session SES peut basculer la connexion à nouveau vers un réseau non sécurisé. Du point de vue du navigateur, aucune opération supplémentaire n'est requise puisque le cookie n'est pas affecté par la connectivité du terminal de communication. Le cookie de session avec de telles limitations permet en outre d'informer le serveur d'application SA que les prochains échanges avec le terminal de 5 communication TC seront effectuer via une connexion non sécurisée. En référence à la figure 2, un procédé de transmission sécurisée de données selon une réalisation de l'invention comprend des étapes El à E6 exécutées dans le système de communication. 10 A une étape préliminaire E01, l'utilisateur définit optionnellement un ensemble de données personnelles DonP au moyen de l'application App implémentée dans le terminal de communication TC. L'utilisateur se connecte alors au serveur d'application SA via le terminal de communication TC1. Le terminal de communication TC reçoit un premier cookie 15 dit de connexion permettant au navigateur web de garder l'identificateur du serveur d'application SA. Il est considéré que le terminal de communication TC est connecté au serveur d'application SA via un réseau d'accès RAns non sécurisé. A l'étape El, le module d'analyse ANA de l'application App contrôle les données saisies par l'utilisateur et à transmettre depuis le terminal de 20 communication TC vers le serveur d'application SA à travers le réseau de télécommunications, lorsqu'une page web hébergée par le serveur d'application est accédée par le navigateur web du terminal. Le module d'analyse ANA de l'application App contrôle en outre des champs d'entrée d'une page web, hébergée par le serveur d'application et accédée par le navigateur web du terminal, 25 susceptibles d'être renseignés par des données personnelles. Le terminal étant connecté au serveur d'application SA via un réseau d'accès non sécurisé, le module d'analyse ANA émet une alerte lorsque des données personnelles DonP sont susceptibles d'être saisies par l'utilisateur et d'être transmises au serveur d'application. Ainsi, une alerte peut être émise dans trois cas : 30 - lorsque des données personnelles DonP sont susceptibles d'être saisies par l'utilisateur mais ne sont pas encore saisies, dès que l'application accède à la page web, - lorsque l'utilisateur est en train de saisir des données personnelles DonP ou dès que l'utilisateur a fini la saisie des données personnelles DonP identifiées comme telles, - lorsque l'utilisateur valide des données personnelles DonP qu'il a saisies 5 pour les transmettre, les données personnelles DonP étant sur le point d'être transmises au serveur d'application. A l'étape E2, le module de session SES bascule la connexion avec le serveur d'application SA du réseau d'accès RAns non sécurisé vers un réseau d'accès RAs sécurisé, si ce dernier existe. A cette fin, le module d'analyse ANA 10 identifie les différents réseaux d'accès sécurisés disponibles, et en sélectionne un d'après des critères prédéfinis, basés par exemple sur des préférences d'utilisateur et des caractéristiques techniques du réseau d'accès. La connexion avec le serveur d'application SA n'est pas interrompue pour l'utilisateur puisque le navigateur web peut utiliser le premier cookie dit de connexion pour communiquer 15 avec le serveur d'application SA. A l'étape E3, le module de session SES invite l'utilisateur à définir des limitations pour une ou plusieurs prochaines sessions entre le terminal de communication TC et le serveur d'application SA. De telles limitations indiquent des permissions accordées pour lesdites prochaines sessions. 20 De telles limitations sont à transmettre sur requête du module de session SES au serveur d'application SA afin que ce dernier produise un témoin de connexion ou un cookie de session Cs prenant en compte ces limitations. Selon une réalisation, l'ordre des étapes E2 et E3 peut être inversé. A l'étape E4, l'application App autorise la transmission des données 25 personnelles DonP vers le serveur d'application SA via le réseau d'accès RAs sécurisé et transmet une requête Req contenant des limitations pour un cookie de session. A l'étape E5, le serveur d'application SA reçoit les données personnelles DonP et la requête Req. Le serveur SA produit un cookie de session Cs en 30 fonction des informations contenues dans la requête Req reçue. A l'étape E6, le serveur d'application SA transmet le cookie de session Cs au terminal de communication TC. A l'étape E7, le module de session SES détecte la réception du cookie de session Cs et bascule la connexion avec le serveur d'application SA du réseau d'accès sécurisé RAs vers un réseau d'accès RAns non sécurisé, qui peut être le réseau d'accès non sécurisé initial. Les étapes El à E7 peuvent être répétées. Lors d'une première itération des étapes, les données personnelles DonP peuvent être un identificateur 5 d'utilisateur et un mot de passe, permettant d'authentifier l'utilisateur auprès d'un site web hébergé par le serveur d'application SA. Une fois authentifié, l'utilisateur peut interagir avec le site web dans la limite des permissions incluses dans le cookie de session, l'application App surveillant toujours des données personnelles susceptibles d'être transmises via le réseau d'accès non sécurisé, telles que des 10 informations privées comme un nom ou une adresse. L'invention décrite ici concerne un procédé et un terminal pour une transmission sécurisée de données. Selon une implémentation de l'invention, les étapes du procédé de l'invention sont déterminées par les instructions d'un 15 programme d'ordinateur incorporé dans un terminal, tel que le terminal de communication TC, le programme dictant le comportement d'au moins une application logicielle telle que l'application App. Le programme comporte des instructions de programme, qui lorsque ledit programme est chargé et exécuté dans le terminal, réalisent les étapes du procédé de l'invention. 20 En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme d'ordinateur sur ou dans un support d'informations, adapté à mettre en oeuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou code intermédiaire entre code source et code objet tel que dans une 25 forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter le procédé selon l'invention. REVENDICATIONS1. Procédé pour transmettre des données de manière sécurisée depuis un terminal de communication (TC) d'un utilisateur vers un serveur d'application (SA) à travers un réseau de télécommunications (RT), le terminal de communication (TC) étant connecté au serveur d'application (SA) via un réseau d'accès (RAns) non sécurisé et étant apte à communiquer avec le serveur d'application (SA) via au moins un réseau d'accès (RAs) sécurisé, le procédé comprenant les étapes suivantes dans le terminal de communication (TC) : lorsque des données personnelles (DonP) sont susceptibles d'être saisies par l'utilisateur et transmises au serveur d'application (SA), basculer (E2) la connexion avec le serveur d'application (SA) du réseau d'accès (RAns) non sécurisé vers un réseau d'accès (RAs) sécurisé, transmettre (E4) les données personnelles (DonP) vers le serveur 15 d'application (SA) via le réseau d'accès (RAs) sécurisé, basculer (E7) la connexion avec le serveur d'application (SA) du réseau d'accès sécurisé (RAs) vers un réseau d'accès (RAns) non sécurisé. 2. Procédé conforme à la revendication 1, selon lequel le serveur 20 d'application (SA) produit un cookie de session (Cs) en fonction d'informations contenues dans une requête (Req) reçue depuis le terminal de communication (TC) et transmet le cookie de session (Cs) au terminal de communication (TC), le cookie de session (Cs) comprenant des limitations sur l'utilisation d'un service fourni par le serveur d'application (SA) lors de la session. 25 3. Procédé conforme à la revendication 2, selon lequel la connexion avec le serveur d'application (SA) bascule du réseau d'accès sécurisé (RAs) vers un réseau d'accès (RAns) non sécurisé après réception du cookie de session (Cs) par le terminal de communication (TC). 30 4. Procédé conforme à l'une des revendications 1 à 3, selon lequel sont contrôlées les données saisies par l'utilisateur, lorsqu'une page web hébergée par le serveur d'application est accédée par le navigateur web du terminal decommunication (TC), et lorsque le terminal de communication (TC) est connecté au serveur d'application (SA) via un réseau d'accès (RAns) non sécurisé. 5. Procédé conforme à la revendication 4, selon lequel les données saisies 5 par l'utilisateur sont contrôlées au cours de la saisie desdites données ou après avoir été saisies lors de leur validation par l'utilisateur en vue d'être transmises au serveur d'application. 6. Procédé conforme à l'une des revendications 1 à 5, selon lequel sont 10 contrôlés des champs d'entrée d'une page web accédée par un navigateur web du terminal de communication (TC) susceptibles d'être renseignés par des données personnelles, lorsque le terminal de communication (TC) est connecté au serveur d'application (SA) via un réseau d'accès (RAns) non sécurisé. 15 7. Procédé conforme à l'une des revendications 1 à 6, selon lequel un réseau d'accès non sécurisé est un réseau dans lequel il n'y a pas de confidentialité des données transmises et dans lequel des données peuvent être interceptées par une entité qui n'est pas destinataire des données. 20 8. Procédé conforme à l'une des revendications 1 à 7, selon lequel un réseau d'accès sécurisé est un réseau dans lequel il y a une confidentialité des données transmises et dans lequel des données ne peuvent pas être interceptées par une entité qui n'est pas destinataire des données. 25 9. Terminal de communication (TC) pour transmettre des données de manière sécurisée depuis le terminal de communication (TC) vers un serveur d'application (SA) à travers un réseau de télécommunications (RT), le terminal de communication (TC) étant connecté au serveur d'application (SA) via un réseau d'accès (RAns) non sécurisé et étant apte à communiquer avec le serveur 30 d'application (SA) via au moins un réseau d'accès (RAs) sécurisé, le terminal de communication (TC) comprenant : des moyens (SES) pour basculer la connexion avec le serveur d'application (SA) du réseau d'accès (RAns) non sécurisé vers un réseau d'accès(RAs) sécurisé, lorsque des données personnelles (DonP) sont susceptibles d'être saisies par l'utilisateur et transmises au serveur d'application (SA), des moyens (SES) pour transmettre les données personnelles (DonP) vers le serveur d'application (SA) via le réseau d'accès (RAs) sécurisé, des moyens (SES) pour basculer la connexion avec le serveur d'application (SA) du réseau d'accès sécurisé (RAs) vers un réseau d'accès (RAns) non sécurisé. 10. Programme d'ordinateur apte à être mis en oeuvre dans un terminal de communication (TC) pour transmettre des données de manière sécurisée depuis le terminal de communication (TC) vers un serveur d'application (SA) à travers un réseau de télécommunications (RT), le terminal de communication (TC) étant connecté au serveur d'application (SA) via un réseau d'accès (RAns) non sécurisé et étant apte à communiquer avec le serveur d'application (SA) via au moins un réseau d'accès (RAs) sécurisé, ledit programme comprenant des instructions qui, lorsque le programme est chargé et exécuté dans ledit terminal de communication (TC), réalisent les étapes suivantes : lorsque des données personnelles (DonP) sont susceptibles d'être saisies par l'utilisateur et transmises au serveur d'application (SA), basculer (E2) la 20 connexion avec le serveur d'application (SA) du réseau d'accès (RAns) non sécurisé vers un réseau d'accès (RAs) sécurisé, transmettre (E4) les données personnelles (DonP) vers le serveur d'application (SA) via le réseau d'accès (RAs) sécurisé, basculer (E7) la connexion avec le serveur d'application (SA) du réseau 25 d'accès sécurisé (RAs) vers un réseau d'accès (RAns) non sécurisé.