Brevet FR3011998A1 — publié le 20150417

Domaine de l'invention : La présente invention concerne un système permettant de garantir le chiffrement des données transmises par Internet au moyen d'une entité électronique (téléphone fixe ou mobile, ordinateur fixe ou portable, tablette) ; le système permet également de rendre anonyme tout échange de telles données. Dans toute la description, on utilisera les abréviations définies ci-après et dans le glossaire. Contexte La prolifération des communications sur Internet comporte des risques dans la sécurité des données échangées, ainsi que dans la confidentialité des entités et des personnes qui échangent de telles données. Il y a souvent des raisons légitimes qui font qu'une personne souhaite rester anonyme en échangeant des informations avec une autre personne, par exemple dans les premières phases du développement d'une relation d'affaires particulièrement stratégique ; il est très difficile (sinon impossible) pour une personne de protéger son identité lorsque il/elle s'adresse son correspondent(e) dans un réseau 'ouvert' tel que l'Internet. Le problème devient plus compliqué si les deux correspondant(e)s souhaitent rester anonymes. Outre l'anonymat, le contenu même de données échangées peut nécessiter d'une confidentialité accrue. La présente invention permet de résoudre le problème de la confidentialité 25 des données échangées entre deux personnes, ainsi que de l'anonymat de ces dernières grâce à: Un procédé d'incorporation du protocole de signalisation dans un flux d'information périodique échangé entre l'entité électronique de l'usager et un noeud réseau, ledit flux d'information périodique étant 30 chiffré / déchiffré selon les principes de l'infrastructure à clef publique (en Anglais PKI, 'Public Key Infrastructure'), bien connus par les experts de l'art. Un procédé permettant le début et la fin de l'échange de données entre deux usagers à des instants aléatoires par rapport aux messages de signalisation, ledit flux de données étant chiffré avec une clef partagée entre les deux usagers. Un procédé d'incorporation du protocole de signalisation et du flux de données dans un flux continu de données fictives entre deux noeuds réseau quelconques du système. Le procédé d'incorporation du protocole de signalisation dans un flux d'information périodique échangé entre l'entité électronique de l'usager et un noeud réseau est exécuté par un logiciel installé dans l'entité électronique et par un logiciel de contrôle installé sur le noeud réseau ; les deux logiciels implémentent les étapes suivantes : Tous les P secondes, le logiciel de l'entité électronique de l'usager envoie un message de signalisation au noeud réseau correspondant. Selon les actions de l'usager ce message peut contenir des informations telles que 'Appel destinataire', 'Envoi SMS au destinataire', 'Réponse (à un appel, SMS, etcl, etc. Si l'usager n'a effectué aucune action un simple message de notification de présence - tel que un `Hello' - est envoyé. L'identité de l'usager en correspondance du message envoyée consiste en une chaîne de caractères alphanumérique. Chaque message envoyé par l'entité électronique de l'usager est acquitté par le noeud réseau correspondant, qui renvoie une réponse en fonction de l'état dans lequel se trouve l'entité électronique émetteur. A titre d'exemple, suite à une demande d'appel vers un usager destinataire, l'entité électronique de ce dernier se trouve dans l'état 'En attente d'une alerte d'appel'. Dès réception d'un message `Hello' de la part de l'entité électronique du destinataire, le noeud réseau correspondant envoie une réponse qui contient une alerte d'appel ainsi que l'identité de l'appelant. Tout échange de signalisation selon les étapes décrites est sécurisé en utilisant un algorithme de cryptographie asymétrique, tel que le `RSA'. Les messages de signalisation échangés sont organisés en paquets qui ont toujours la même taille ; de cette façon, des attaques visant à en analyser les caractéristiques sémantiques des paquets seront inefficaces. Le procédé d'échange de données entre deux usagers (dont l'un est `émetteur' et l'autre est 'destinataire') est exécuté par les mêmes logiciels mentionnés ci-dessus à travers les étapes suivantes : Suite à une demande d'appel (ou d'envoi SMS ou email) le noeud réseau planifie le début de l'échange de données après l'écoulement d'un compteur de valeur aléatoire. Avant l'écoulement dudit compteur des données fictives sont échangées entre le noeud réseau et l'émetteur et/ou le destinataire. Suite à une demande de fin d'appel (ou après l'envoi d'un SMS ou d'un email) le noeud réseau planifie la fin de l'échange de données après l'écoulement d'un autre compteur de valeur aléatoire. Avant l'écoulement dudit compteur des données fictives continuent de s'échanger entre le noeud réseau et l'émetteur et/ou le destinataire. Tout échange de données selon les étapes décrites est sécurisé en utilisant une clef partagée entre les entités électroniques de l'émetteur et du destinataire, ladite clef partagée pouvant être obtenue : Soit grâce à une procédure classique d'échange de clef, telle que la procédure de Diffie-Hellman. Soit avec une procédure de configuration à la mise en place du système. Les données chiffrées échangées (soient-elles réelles ou fictives) sont organisées en paquets qui ont toujours la même taille ; de cette façon, des attaques basées sur l'analyse des caractéristiques des flux et / ou sur la détection des 'silences' (dans une communication audio) seront inefficaces. Le procédé d'incorporation du protocole de signalisation et du flux de données dans un flux continu de données fictives entre deux noeuds réseau quelconques du système est exécuté par le logiciel installé sur les noeuds réseau selon les étapes suivantes : - Les noeuds réseau sont interconnectés grâce à des liaisons physiques et logiques qui permettent M communications bidirectionnelles simultanées. Entre deux noeuds réseaux M communications bidirectionnelles sont toujours actives. Dans l'absence d'un vrai échange de données entre deux usagers, une communication bidirectionnelle contiendra des données fictives. La mise en place d'une communication de données entre l'entité électronique d'un premier usager (cette entité communiquant avec un premier noeud réseau correspondant) et celle d'un deuxième usager (communiquant avec un deuxième noeud réseau correspondant) remplace une communication bidirectionnelle fictive préexistante. - La fin d'une communication de données entre l'entité électronique d'un premier usager (cette entité communiquant avec un premier noeud réseau correspondant) et celle d'un deuxième usager (communiquant avec un deuxième noeud réseau correspondant) déclenche la mise en place d'une nouvelle communication bidirectionnelle fictive. Tout échange de données entre deux noeuds réseau quelconques du système est sécurisé en utilisant une clef partagée entre les noeuds, ladite 20 clef partagée pouvant être obtenue : Soit grâce à une procédure classique d'échange de clef, telle que la procédure de Diffie-Hellman. Soit avec une procédure de configuration à la mise en place du système. 25 Etat de la technique Le problème de l'anonymat dans les communications a été déjà adressé dans des contextes spécifiques (par exemple, des ventes aux enchères en ligne). En général, les solutions apportées se basent sur un serveur 30 d'intermédiation qui cache à l'usager l'identité de son correspondant. Selon le brevet d'invention WO 97/2501 l'usager émetteur d'une requête de communication envoie un message à un serveur d'intermédiation, ce message contenant la requête chiffrée, définie par 1"objef de la requête et la signature électronique de l'émetteur. Le serveur d'intermédiation envoie - à son tour - la requête au destinataire. Ce dernier répond au serveur avec un message contenant la réponse chiffrée, définie par 1"objer de la réponse et la signature électronique du destinataire. Les systèmes de ce type présentent des faiblesses intrinsèques : pour un 5 système d'espionnage il est possible de détecter un évènement dans l'entité électronique de l'émetteur et de le corréler temporellement avec un évènement dans l'entité électronique du destinataire. Même si les requêtes sont chiffrées et relayées par un serveur d'intermédiation, il est possible de déduire un échange de signalisation entre deux entités électroniques. 10 Avantages de l'invention La présente invention contre très efficacement les méthodes utilisée pour l'écoute et l'espionnage des communications sur internet : Comme déjà expliqué, tout message chiffré de signalisation (tel que 15 'Appel', 'Réponse', etc.) pour la gestion des communications entre deux entité est incorporé dans un flux continu (périodique) de messages chiffrés - qui ont toujours la même taille - entre une entité électronique et un noeud réseau: il est donc très difficile pour un système d'espionnage de faire la différence entre un message 'de 20 contrôle' et un message 'de notification'. Il devient autant plus difficile de pouvoir déduire un échange de signalisation entre deux entités électroniques. Suite à un échange de messages de signalisation entre une entité électronique et un noeud réseau pour la mise en place d'une session 25 de communication (voix, SMS, email, etc.), le démarrage de ladite session de communication entre deux entités 'paires' se fait après l'écoulement d'un compteur de valeur aléatoire. Vis-à-vis d'un système d'espionnage il y a donc pas de corrélation entre tout évènement qui contrôle la mise en place d'une communication et le 30 déclenchement de cette dernière. En général, le trafic entre deux noeuds réseau quelconques du système utilise une liaison physique/logique fournie par un (ou plusieurs) opérateur d'interconnexion. Or, ce dernier est assujetti à la loi de son pays d'appartenance, qui peut exiger une écoute sur toute liaison physique/logique fournie par l'opérateur. Selon le système proposé, l'écoute d'une communication entre deux entités électroniques 'paires' est particulièrement compliquée, car ladite communication est incorporée dans un flux continu de données fictives entre les noeuds du réseau. Exposé de l'invention La présente invention concerne un système permettant d'échanger des données de façon sécurisée et anonyme entre deux usagers, lesdites 10 données étant transmises au moyen d'entités électroniques programmables des usagers et de machines informatiques dans le réseau internet; lesdites données confidentielles se présentant notamment sous la forme d'informations de type voix ou SMS ou emails ; lesdites entités électroniques programmables des usagers étant caractérisées par : 15 - Un module logiciel dédié destiné à : - Générer un flux périodique de messages de signalisation, chaque message étant une notification de présence contenant l'identité de l'usager - Gérer l'envoi dudit flux périodique de messages de signalisation de l'entité électronique programmable de l'usager vers une machine 20 informatique dans le réseau internet, chaque message de signalisation étant chiffrée par l'entité électronique programmable de l'usager et déchiffré par la machine informatique dans le réseau internet, le chiffrement et déchiffrement se faisant selon un algorithme de chiffrement asymétrique - Gérer la réception des réponses en correspondance desdits 25 messages de signalisation, chaque réponse étant envoyée par la machine informatique dans le réseau internet en utilisant ledit algorithme de chiffrement asymétrique - Suite à une action de l'usager, remplacer une notification de présence contenue dans le flux périodique de messages de signalisation par un 30 message de contrôle pour l'échange de données sécurisées et anonymes ; - Organiser tout message de signalisation chiffré - soit-il un message de notification de présence ou un message de contrôle - selon des paquets informatique qui ont toujours la même taille. Un ensemble de machines informatiques dans le réseau internet (appelées aussi 'noeuds réseau') étant caractérisées par : - Un module logiciel dédié destiné à : - Générer un flux périodique de messages de signalisation, chaque 5 message étant une réponse à une notification de présence venant d'une entité électronique programmable de l'usager et contenant son identité - Gérer l'envoi dudit flux périodique de messages de signalisation vers l'entité électronique programmable de l'usager, chaque message de signalisation étant chiffrée selon un algorithme de chiffrement asymétrique 10 - Suite à la réception d'un message de mise en place ou de terminaison d'un échange de données sécurisées et anonymes, l'envoi à l'entité électronique programmable de l'usager de la notification d'un temps d'attente aléatoire avant la mise en place ou la terminaison dudit échange de données. 15 Selon une deuxième caractéristique, le système selon l'invention comprend : Un ensemble d'entités électroniques, chaque entité appartenant à un usager correspondant et comportant un module logiciel dédié qui comprend: - Un module logiciel pour la gestion et le stockage de deux clefs de 20 sécurités, la première clef étant la clef publique du noeud réseau correspondant, ladite clef publique permettant le chiffrement d'un flux périodique de messages de signalisation envoyés audit noeud réseau correspondant; la deuxième clef étant partagée avec une autre entité électronique appartenant à un autre usager en cas d'établissement d'une 25 connexion de données entre les deux entités électroniques - Un module logiciel pour la gestion de la liste des contacts de l'usager, chaque contact étant caractérisé par une identité qui a la forme d'une chaîne de caractères alphanumériques - Un module logiciel pour la gestion de l'interface utilisateur, ledit 30 module permettant d'interpréter les actions de l'usager, telles que des commandes ou des réponses à des alertes, et de construire le message de signalisation correspondant, afin qu'il soit incorporé dans le flux périodique de messages de signalisation échangés avec ledit noeud réseau correspondant Un ensemble de noeuds réseau, chaque noeud réseau étant défini 'noeud réseau correspondant' d'une entité électronique avec laquelle il a une interconnexion logique et comportant: Une première base de données statique, contenant l'identité de chaque usager du système, ladite identité ayant la forme d'une chaîne de caractères alphanumériques Une deuxième base de données dynamique, associée à la première base de données et contenant les informations temporaires de chaque usager dont l'entité électronique a établi une connexion de signalisation avec son noeud réseau correspondant, lesdites informations temporaires comprenant : - L'identité de l'usager, chiffrée avec la clef publique du noeud réseau correspondant - L'adresse internet du noeud réseau correspondant à chaque entité 15 électronique du système. - Un flux de données à haute capacité entre chaque couple de noeuds réseau de l'ensemble, ledit flux permettant M communications bidirectionnelles simultanées. 20 Selon une troisième caractéristique de l'invention, les M communications bidirectionnelles simultanées qui constituent le flux de données à haute capacité entre chaque couple de noeuds réseau sont entrelacées dans le temps en utilisant la technique de multiplexage temporel, les M intervalles de temps correspondant auxdites communications bidirectionnelles sont utilisés 25 pour échanger en permanence du contenu entre chaque couple de noeuds réseau, ledit contenu étant constitué de : - Tout message de signalisation entre les entités électroniques et leurs noeuds réseau correspondants - Toute communication de données entre des couples d'entités 30 électroniques - Un flux de données fictives en correspondance de toutes les entités électroniques qui n'ont pas une communication de données en cours. Selon une quatrième caractéristique de l'invention, tout message de signalisation échangé entre une entité électronique et son noeud réseau correspondant, ainsi que tout échange de contenu entre deux entités électroniques à travers leurs noeuds réseau correspondants, ainsi que tout flux de données fictives entre chaque couple de noeuds réseau s'effectue par le biais du protocole UDP des réseaux internet. Selon une deuxième caractéristique principale, la présente invention concerne un procédé d'échange de données de façon sécurisée et anonyme entre deux usagers, lesdites données étant transmises au moyen d'entités électroniques programmables et de machines informatiques dans le réseau internet; lesdites données confidentielles se présentant notamment sous la forme d'informations de type voix ou SMS ou emails ; lesdites machines informatiques dans le réseau internet étant référencées 'noeuds réseau' ; chaque entité électronique programmable ayant une interconnexion logique avec un noeud réseau dit 'correspondant', qui fait partie de l'ensemble des noeuds réseau, le procédé comportant : - Les étapes initiales suivantes : - La sélection du noeud réseau correspondant de la part de l'entité 20 électronique programmable de l'usager - L'échange des clefs dites 'publiques' entre l'entité électronique programmable de l'usager et le noeud réseau correspondant - Le stockage de l'adresse internet du noeud réseau correspondant à chaque entité électronique du système dans une base de données 25 dynamique de chaque noeud réseau, ladite base de données dynamique étant associée à une base de données statique correspondante, contenant l'identité de chaque usager du système, ladite identité ayant été chiffrée par l'entité électronique programmable avec la clef publique du noeud réseau correspondant 30 - Le déclenchement d'un flux périodique de messages de signalisation, chaque message étant une notification de présence envoyée par l'entité électronique du système au noeud réseau correspondant, ladite notification de présence contenant l'en-tête `Hello' et l'identité de l'usager ; ledit message de signalisation étant chiffré avec la clef publique du noeud réseau correspondant ; ledit message de signalisation chiffré ayant toujours la même taille. - Le déclenchement d'un flux périodique de messages de signalisation, chaque message étant une réponse à la notification de présence, ladite réponse étant envoyée par le noeud réseau correspondant et contenant l'entête `Hello' et l'identité de l'usager ; ledit message de signalisation étant chiffré avec la clef publique de l'entité électronique correspondante ; ledit message de signalisation chiffré ayant toujours la même taille. Les étapes suivantes pour la gestion dudit flux périodique de messages de signalisation, ladite gestion comprenant les actions d'établissement, d'acceptation/rejet et d'interruption de la communication: - La détection des actions de l'usager par l'entité électronique programmable, lesdites actions comprenant les commandes d'établissement, d'acceptation/rejet et d'interruption de la communication - La construction des messages de signalisation par l'entité électronique programmable, en fonction des actions de l'usager et selon les correspondances suivantes : o Un message de type 'Cali' ou `SMS' ou Send', suivi par l'identité du destinataire est généré suite à une action d'établissement d'un appel, de l'envoi d'un SMS ou de l'envoi d'un email o Un message de type `Accept ou `Reject est généré suite à une action d'acceptation/rejet d'un appel ou d'un SMS ou d'un email, ladite action d'acceptation/rejet faisant suite à une alerte envoyé à l'entité électronique programmable de l'usager de la part du noeud réseau correspondant o Un message de type 'Release' est généré suite à une action d'interruption d'un appel - L'envoi desdits messages de signalisation par l'entité électronique programmable, en incorporant les messages de signalisation dans le flux périodique de messages de notification de présence selon la description des étapes initiales du procédé ; ladite incorporation se faisant en remplaçant le message de notification de présence prévu au prochain échantillon temporel par ledit message de signalisation ; ledit message de signalisation étant chiffré avec la clef publique du noeud réseau correspondant ; ledit message de signalisation chiffré ayant toujours la même taille. - La détection de la part du noeud réseau correspondant des messages de signalisation provenant de l'entité électronique émettrice et la génération conséquente des messages de réponse vers l'entité électronique émettrice et/ou des messages d'alerte vers l'entité électronique destinataire selon les correspondances suivantes : o Un message de type 'blair, suivi par un temps d'attente aléatoire est généré et envoyé à l'entité électronique émettrice suite à la réception d'un message de type 'Cali' ou `SMS' ou `Send' de la part de cette dernière o Un message de type 'Cali' ou `SMS' ou `Send, suivi par l'identité de l'émetteur est généré et envoyé à l'entité électronique destinataire suite à la réception d'un message de type Wello' de la part de cette dernière o Un message de type `Accept ou `Reject est généré et envoyé aux entités électroniques (émettrice et destinataire) suite à la réception d'un message de type `Accept ou `Reject o Un message de type 'Release' est généré et envoyé aux entités électroniques (émettrice et destinataire) suite à la réception d'un message de type 'Release' L'envoi desdits messages de signalisation par les noeuds réseau correspondants à - respectivement - l'entité électronique émettrice et destinataire, en incorporant les messages de signalisation dans le flux périodique des réponses aux messages de notification de présence selon la description des étapes initiales du procédé ; ladite incorporation se faisant en remplaçant la réponse au message de notification de présence prévue au prochain échantillon temporel par ledit message de signalisation ; ledit message de signalisation étant chiffré avec la clef publique de l'entité électronique correspondante (émettrice et destinataire); ledit message de signalisation chiffré ayant toujours la même taille. - Les étapes suivantes pour la gestion du déclenchement / de la libération des flux de données de communication ainsi que pour l'acheminement desdits flux entre deux entités électroniques programmables (une émettrice, une destinataire): - Un message de type `Ce ou `SMS' ou Send' envoyé par l'entité électronique programmable déclenche un temporisateur dans cette dernière, le temporisateur expirant après une durée aléatoire dont la valeur est reçue de la part du noeud réseau correspondant grâce à un message de type `Wair - L'envoi d'un flux de données fictives du noeud réseau correspondant vers l'entité électronique programmable émettrice du message 'Cali' ou SMS' ou `Send', ledit flux fictif étant déclenché dès réception dudit message ; la durée dudit flux fictif correspondant à la durée aléatoire dudit temporisateur - L'échange des données de communication entre deux entités électroniques programmables dès l'expiration dudit temporisateur, chaque entité programmable échangeant les données de communication avec son noeud réseau correspondant ; les deux noeuds réseau correspondants relayant les flux de données entre les deux entités électroniques programmables grâce à une table de routage dynamique qui permet au noeud réseau correspondant de l'entité électronique émettrice de connaître l'adresse IP du noeud réseau correspondant à l'entité électronique destinataire ; ledit flux de données étant organisé en paquets, chaque paquet étant chiffré avec une clef partagée entre les entités électroniques (émettrice et destinataire); ledit paquet chiffré ayant toujours la même taille. - Un message de type 'Release' envoyé par l'entité électronique programmable émettrice déclenche l'arrêt des flux des données entre ; d'une part l'entité électronique émettrice et son noeud réseau correspondant ainsi qu'entre l'entité électronique destinataire et son noeud réseau correspondant ; d'autre part, les deux noeuds réseau correspondants aux deux entités électroniques (émettrice, destinataire) - Ledit message 'Release' envoyé par l'entité électronique 30 programmable émettrice déclenche également l'envoi d'un flux de données fictives du noeud réseau correspondant à l'entité électronique destinataire vers cette dernière ; ledit flux de données fictives étant interrompu par un message de type 'Release', envoyé à l'entité électronique destinataire du noeud réseau correspondant en réponse au prochain message de notification de présence de la part de ladite entité électronique destinataire L'invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Brève description des figures Celles-ci ne sont présentées qu'à titre indicatif et nullement limitatif de l'invention. La Fig. 1 représente schématiquement un mode de réalisation non limitatif du système selon l'invention. La Fig. 2 représente schématiquement un mode de réalisation non limitatif des composantes fonctionnelles de l'entité électronique de l'usager et du noeud du réseau correspondant. - La Fig. 3 représente un diagramme de séquences comprenant les étapes du procédé de mise en place d'un appel entre deux entités électroniques. - La Fig. 4 représente un diagramme de séquences comprenant les étapes du procédé d'envoi / réception de SMS entre deux entités électroniques. DESCRIPTION DES MODES DE REALISATION Le système selon l'invention est décrit dans un mode de réalisation non limitatif à la Fig. 1 qui illustre les composants suivants : Une première entité électronique (10A) appartenant à un premier usager 'A'. Dans la suite de la description on prendra comme exemple non limitatif un téléphone mobile (appelé également `smartphone'). L'entité électronique (10A) peut être aussi un poste de travail, une station de travail, un ordinateur fixe ou portable, une tablette portable ou une téléphone fixe (appelé également `softphonel, contenant une logiciel lui permettant des communications via internet. L'entité électronique (10A) peut être aussi un `modem' (appelé également 'box') qui permet la consommation de tout service sur internet (tels que navigation, appels voix/vidéo, télévision). Le téléphone mobile (10A) contient une application sur mesure ("applet") (15); selon des cas particuliers de réalisation, la contribution de l'applet (15) à la sécurisation globale du système peut consister à : Générer un flux de signalisation à intervalles périodiques en direction du noeud correspondant du réseau (20), chaque message de signalisation pouvant contenir des informations de gestion des communications. Recevoir de la part du noeud correspondant du réseau (20) des réponses pour chaque message de signalisation envoyé. - Chiffrer / déchiffrer ledit flux de signalisation transmis / reçu avec respectivement - la clef publique du noeud correspondant du réseau (20) et la clef privée du le téléphone mobile (10A). - Gérer la transmission / réception du contenu des communications (voix, SMS, emails) entre le téléphone mobile (10A) et le noeud correspondant du réseau (20). - Chiffrer / déchiffrer ledit contenu des communications avec une clef partagée entre le téléphone mobile (10A) et le téléphone mobile du correspondant (10B). - Gérer l'interface utilisateur pour toute commande reçue de la part de ce dernier (demande d'appel, d'envoi SMS, etc.) et pour toute commande en direction de ce dernier (notification d'appel entrant, de réception SMS, etc.) Un premier noeud du réseau (20). Selon un exemple non limitatif le téléphone mobile (10A) est 'attaché' à un premier noeud du réseau (20), qui est dénommé 'noeud correspondant du réseau' par rapport au téléphone mobile (10A). Le téléphone mobile (10A) et 5 son 'noeud correspondant du réseau' (20) ont une connexion logique grâce à un premier réseau internet (31). Le réseau (31) peut appartenir à un opérateur mobile si le téléphone (10A) exploite une interface radio de type cellulaire (par exemple, `3G' ou '4G'). Le réseau (31) peut appartenir à un opérateur 'fixe' si le téléphone (10A) exploite une interface radio de type 10 WLAN (par exemple, WiFi' ou WiMax'). Selon un exemple non limitatif le système selon l'invention peut contenir plusieurs noeuds réseau, pour des questions de répartition de trafic, ou selon l'extension géographique de la zone de couverture. Une deuxième entité électronique (10B) appartenant à un deuxième usager 15 'B'. Un deuxième noeud du réseau (21). Comme pour le téléphone mobile (10A), l'entité électronique (10B) est un téléphone mobile qui contient le même applet (15) et partage une connexion logique avec son 'noeud correspondant du réseau' (21) grâce à un deuxième réseau internet (32). 20 Les deux noeuds réseau (20) et (21) sont interconnectés par une liaison physique de préférence filaire et une liaison logique internet à grande capacité de préférence de type 'Virtual Leased Line' (VLL) et/ou Virtual Private Network (VPN). La Fig. 1 illustre également le flux de signalisation et le flux des données 25 entre les différents composants du système selon le mode de réalisation non limitatif suivant : Un flux de signalisation (40) entre le téléphone mobile (10A) et son noeud de réseau correspondant (20) La ligne tiret-point (40) représente le flux de signalisation du téléphone 30 mobile (10A) vers son noeud de réseau correspondant (20). On notera que pour des raisons de simplicité d'exposition et du dessin - seulement un flux de signalisation unidirectionnelle est représenté, conformément à la direction de l'axe temporelle (t) de Fig. 1. Des messages de signalisation sont envoyés de façon périodique toutes les P secondes ; comme déjà expliqué, les messages 'significatifs' pour le contrôle des communications (déclenchement, arrêt, etc.) sont incorporés dans le flux périodique continu. En d'autres termes, dans l'absence d'actions de l'usager qui déclencheraient des messages de contrôle, des messages de notification de présence sont envoyés du téléphone mobile (10A) vers son noeud de réseau correspondant (20). Les messages de signalisation sont chiffrés en utilisant la clef publique KPubS du noeud de réseau correspondant (20). Les messages de signalisation chiffrés ont toujours la même taille, indépendamment de leur nature (notification de présence ou messages de contrôle). Un flux de signalisation (50) entre le noeud de réseau (21) et le téléphone mobile (10B) La ligne tiret-point (50) représente le flux de signalisation du noeud de réseau (21) vers le téléphone mobile (10B). Comme pour la ligne tiret-point (40) seulement un flux de signalisation unidirectionnelle est représenté, conformément à la direction de l'axe temporelle (t) de Fig. 1. Des messages de signalisation (alertes, réponses) sont envoyés de façon périodique toutes les P secondes ; comme déjà expliqué, les messages 'significatifs' pour le contrôle des communications (alerte d'appel, etc.) sont incorporés dans le flux périodique continu. En d'autres termes, dans l'absence des messages de contrôle, des réponses aux messages de notification de présence sont envoyés du noeud de réseau (21) vers le téléphone mobile (10B). Les messages de signalisation sont chiffrés en utilisant la clef publique KpubB du téléphone mobile (10B). Les messages de signalisation chiffrés ont toujours la même taille, indépendamment de leur nature (réponse à une notification de présence ou à un messages de contrôle). Un flux de données (41) entre le téléphone mobile (10A) et son noeud de 30 réseau correspondant (20) La ligne (41) représente le flux de données (voix, SMS, emails, etc.) du téléphone mobile (10A) vers son noeud de réseau correspondant (20). Le flux de données (41) n'est pas synchronisé avec le flux de signalisation (40). En d'autres termes, le démarrage d'une session de communication se fait après l'écoulement d'un compteur de valeur aléatoire TA suite au message de signalisation contenant la requête de déclenchement de ladite session de communication. Le flux de données (41) est chiffré en utilisant une clef partagée KAB entre le téléphone mobile émetteur (10A) et son correspondant destinataire (10B). Un flux de données (51) entre le noeud de réseau (21) et le téléphone mobile (10B) La ligne (51) représente le flux de données (voix, SMS, emails, etc.) du noeud de réseau (21) vers le téléphone mobile (10B). Le flux de données (51) n'est pas synchronisé avec le flux de signalisation (50). En d'autres termes, le démarrage d'une session de communication se fait après l'écoulement d'un compteur de valeur aléatoire TB suite au message de signalisation contenant l'alerte de déclenchement de ladite session de communication. Le flux de données (51) est chiffré en utilisant la clef partagée KAB entre les téléphones mobiles (10A) et (10B). Un flux de signalisation et de données (60) entre les noeuds de réseau (20) et (21) La ligne (60) représente le flux numérique (signalisation, voix, SMS, emails, etc.) entre les noeuds de réseau (20) et (21). Les messages de signalisation pour le contrôle des communications ainsi que le contenu de ces dernières sont incorporés dans un flux à haute capacité permettent M communications bidirectionnelles simultanées entre M couples de téléphones mobiles. Selon l'exemple non limitatif de la Fig. 1, les M communications bidirectionnelles sont entrelacées dans le temps en utilisant la technique de multiplexage temporel (en anglais, TDM, 'Mme Division Multiplexing'). Dans le contexte exemplaire de la Fig. 1, seulement les téléphones mobiles (10A) et (10B) s'échanges des messages de signalisation et le contenu d'une session de communication : Les messages de signalisation (bidirectionnels) entre le téléphone mobile (10A) et son noeud de réseau correspondant (20) sont échangés dans les intervalles de temps (140) Les messages de signalisation (bidirectionnels) entre le téléphone mobile (10B) et son noeud de réseau correspondant (21) sont échangés dans les intervalles de temps (150) Le contenu de la communication (monodirectionnel) entre le téléphone mobile (10A) et son noeud de réseau correspondant (20) est échangé dans les intervalles de temps (141). A noter : Le contenu de la communication (monodirectionnel) entre le noeud de réseau (20) et le téléphone mobile (10A) n'est pas représenté pour des raisons de simplicité d'exposition et du dessin. Le contenu de la communication (monodirectionnel) entre le noeud de réseau (21) et le téléphone mobile (10B) est échangé dans les intervalles de temps (151). A noter : Le contenu de la communication (monodirectionnel) entre le téléphone mobile (10B) et son noeud de réseau correspondant (21) n'est pas représenté pour des raisons de simplicité d'exposition et du dessin. Selon l'exemple non limitatif de la Fig. 1, les (M-4) intervalles de temps correspondant aux communications bidirectionnelles qui restent disponibles sur le flux (60) sont utilisés pour échanger du contenu fictif entre les noeuds de réseau (20) et (21). Ainsi, tous les intervalles de temps disponibles sur le flux à haut débit (60) sont utilisés pour transmettre soit de l'information réelle soit de l'information fictive. Toute tentative d'interception / espionnage sur le flux (60) implique que tous les intervalles temporelles doivent être déchiffrés (en utilisant autant de clefs différentes) avant d'essayer de comprendre s'ils contiennent de l'information réelle ou de l'information fictive. La Fig. 2 est un schéma non limitatif d'un mode de mise en oeuvre d'un procédé de mise en place de communications sécurisées et anonymes selon l'invention au moyen du système de Fig. 1. Selon la Fig. 2 le schéma 30 comprend au moins : Une entité électronique de l'usager (10), de préférence un téléphone mobile. Le téléphone mobile (10) héberge un "applet" (15) qui : - Contient et gère toutes les bases de données et le zones de mémoire statiques et dynamiques (telles que arrays, buffers, objets, etc.) nécessaires à la mise en place des communications sécurisées et anonymes. - Exécute les fonctionnalités permettant tout échange de signalisation et des données avec un noeud réseau correspondant (20). Ainsi l'applet (15) comprend : Un module logiciel (107) dédié à toutes les opérations d'authentification et de chiffrement / déchiffrement selon les procédures faisant partie d'une infrastructure à clef publique (en Anglais PKI, 'Public Key Infrastructure'). Les rôles et les services de la PKI sont bien connus par les experts de l'art. II convient de noter que dans le contexte de l'invention et au vue de sa nature les entités responsables qui font partie de la PKI seront : - Tout gouvernement ou toute administration ou toute entreprise qui souhaite mettre en oeuvre le système et le procédé selon l'invention et qui aura le rôle de 'autorité de certification', 'autorité d'enregistrement (des certificats), 'autorité de dépôt (des certificats)'. - Tout employé ou attaché ou sous-traitant desdites organisations qui est autorisé à recouvrir le rôle de 'entité finale' (usager) Le module logiciel exécute toutes les fonctionnalités nécessaires à : La création des clefs privées de l'usager. La génération des clefs publiques KpubA (ou KPubB), selon le système de Fig. 1, ainsi que la certification de ces clefs. La génération des clefs partagés KAB, selon le système de Fig. 1. Le stockage de la clef partagé KAB une fois effectué le chiffrement avec la clef publique KPubA (ou KPub13), Le stockage de la clef publique KPubS, selon le système de Fig. 1. Un module logiciel (108) dédié à toutes les opérations de gestion de contacts. A titre d'exemple non limitatif, chaque entrée de la liste des contacts d'un usager 'A' contiendra au moins: - Les coordonnées d'un usager 3' (Nom, Prénom, tout autre champ utile) - Une identité correspondante sous la forme d'une chaîne de caractères alphanumériques. Il convient de noter que chaque établissement d'une nouvelle connexion de signalisation entre le téléphone mobile (10) et son noeud réseau correspondant (20) entraine une procédure de chiffrement de l'identité de chaque usager avec une nouvelle clef publique KPubS. L'identité chiffrée associée à chaque contact est donc renouvelée à chaque nouvelle connexion entre le téléphone mobile (10) et le noeud réseau correspondant (20). Un buffer temporaire (100) qui stocke le contenu échangé - en transmission et réception - entre le téléphone mobile (10) et le noeud réseau correspondant (20). A titre d'exemple non limitatif, dans le cas d'une conversation téléphonique entre l'usager 'A' et son correspondant 'B' le buffer temporaire (100) stocke une trame RTP chiffrée avec la clef partagés KAB, selon le système de Fig. 1. Un couple serveur (104) / client (102) qui transmet le contenu du buffer temporaire (100) vers une interface d'accès sortant, de préférence selon le protocole UDP. L'interface d'accès sortant est caractérisée par l'adresse IP 15 du noeud réseau correspondant (20) et d'un port de transmission du contenu audio. Un couple serveur (101) / client (103) qui transmet le contenu d'une interface d'accès entrant - de préférence selon le protocole UDP - vers le buffer temporaire (100). L'interface d'accès entrant est caractérisée par 20 l'adresse IP du noeud réseau correspondant (20) et d'un port de réception du contenu audio. Un client (106) qui transmet les messages de signalisation (notification de présence et contrôle des communications) vers une interface d'accès sortant, de préférence selon le protocole UDP. L'interface d'accès sortant est 25 caractérisée par l'adresse IP du noeud réseau correspondant (20) et d'un port de transmission de la signalisation. Un serveur (105) qui reçoit les réponses aux messages de signalisation d'une interface d'accès entrant, de préférence selon le protocole UDP. L'interface d'accès entrant est caractérisée par l'adresse IP du noeud réseau 30 correspondant (20) et d'un port de réception de la signalisation. Un couple client (110) / serveur (109) dans lequel : - Le client (110) gère les opérations de l'interface utilisateur et en enforme le serveur. - Le serveur (109) stocke les commandes / alertes de / vers l'interface utilisateur et les synchronise avec les activités du client (106) et du serveur (105). Un noeud de réseau (20) qui comprend : Un module logiciel (209) dédié à toutes les opérations d'authentification et de chiffrement / déchiffrement selon les procédures faisant partie d'une infrastructure à clef publique (en Anglais PKI, 'Public Key Infrastructure'). Le module logiciel exécute toutes les fonctionnalités nécessaires à : - La génération d'une clef privée et publique KPubS ainsi que la certification de cette dernière, selon le système de Fig. 1. - Le stockage des clefs publiques KPUbA (et/ou KPub13), selon le système de Fig. 1. Une base de données dynamique (207) dont chaque élément contient des informations temporaires liées à chaque usager dont l'entité électronique a établi une connexion de signalisation avec le noeud réseau (20). A titre d'exemple non limitatif, l'élément de la base de données (207) en correspondance de l'usager 'A' contiendra : - L'adresse internet du téléphone mobile de l'usager 'A'. L'adresse internet du noeud réseau en correspondance du téléphone mobile du correspondant 'B'. - L'identité correspondante a l'usager 'A', sous la forme d'une chaîne de caractères alphanumériques ; ladite identité est chiffrée avec la clef publique KPubS, selon le système de Fig. 1. - L'identité correspondante au usager 'B', également sous la forme d'une chaîne de caractères alphanumériques et chiffrée avec la clef publique KPubS, selon le système de Fig. 1. - L'état opérationnel des téléphone mobile des usagers 'A' et 1:3' ; le concept d'état opérationnel sera expliqué dans la suite de la description à l'aide d'un diagramme de séquences. Un serveur (202) qui reçoit le contenu d'une session de communication d'une interface d'accès entrant, de préférence selon le protocole UDP. L'interface d'accès entrant est caractérisée par l'adresse IP du téléphone mobile correspondant (10) et d'un port de réception du contenu. Un client (201) qui transmet le contenu d'une session de communication vers une interface d'accès sortant, de préférence selon le protocole UDP. L'interface d'accès sortant est caractérisée par l'adresse IP du téléphone mobile correspondant (10) et d'un port de transmission du contenu. II convient de noter que, grâce à la base de données dynamique (207), le noeud réseau (20) peut acheminer tout message de signalisation vers le correspondant 3' ainsi que toute session de communication en direction du noeud réseau correspondant au téléphone mobile de TV. Un serveur (206) qui reçoit les messages de signalisation (notification de présence et contrôle des communications) d'une interface d'accès entrant, de préférence selon le protocole UDP. L'interface d'accès entrant est caractérisée par l'adresse IP du téléphone mobile correspondant (10) et d'un port de réception de la signalisation. Un client (205) qui transmet les réponses aux messages de signalisation 15 vers une interface d'accès sortant, de préférence selon le protocole UDP. L'interface d'accès sortant est caractérisée par l'adresse IP du téléphone mobile correspondant (10) et d'un port de transmission de la signalisation. La Fig. 3 représente un diagramme de séquences comprenant les étapes du 20 procédé de mise en place d'un appel entre le téléphone mobile d'un usager 'A' et celui de son correspondant 'B'. Afin de simplifier la description et le dessin on fait l'hypothèse que les téléphones mobiles (10A) et (10B) sont 'attachés' au même noeud réseau (20). 25 Une série d'étapes préliminaires (non représentées en Fig. 3) sont exécutées dans les "applets" (15) des téléphones mobiles et dans le noeud réseau (20). Avant de décrire les étapes préliminaires et le diagramme de séquences de Fig. 3 il est nécessaire d'introduire le formalisme qui est utilisé dans le contexte PKI et qui est bien connu par les experts de l'art. 30 Préambule - Formalisme On définit : K: une clef de chiffrement / déchiffrement ; K peut représenter une clef publique (pour le chiffrement), une clef privée (pour le déchiffrement) ou une clef symétrique partagée (pour le chiffrement / déchiffrement) M: le message clair C: le message chiffré - E: la fonction de chiffrement, telle que : E (M, K) = C El : la fonction de déchiffrement, telle que : El (C, K) = M g, p : les éléments publics pour l'algorithme d'échange de clefs de Diffie-Hellman - a, b : les exposants privés pour l'algorithme d'échange de clefs de Diffie-Hellman Préambule - Etapes préliminaires Afin que les usagers 'A' et 'B' puissent établir une session de communication chiffrée et anonyme, il est nécessaire que les téléphones mobiles respectifs (10A) et (10B) aient établi une connexion sécurisée avec une clef partagée. A cet effet, l'échange suivant se déroule entre les "applet" (15) des téléphones (10A) et (10B): L' "applet" (15) du téléphone (10A) génère un exposant privé a et calcule X = p - X est envoyée au téléphone (10B) via le noeud réseau (20) L' "applet" (15) du téléphone (10B) génère un exposant privé b et calcule Y = p Y est envoyé au téléphone (10A) via le noeud réseau (20) L' "applet" (15) du téléphone (10A) calcule KAB = p = p - L' "applet" (15) du téléphone (10B) calcule KAB = «b>p = p KAB est donc la clef partagée entre les téléphones (10A) et (10B). Diagramme de séquences selon la Fig. 3 Le procédé d'échange anonyme de données chiffrées entre deux terminaux mobiles est décrit dans un mode de réalisation non limitatif à la Fig. 3. Le procédé se base sur le protocole UDP. Comme déjà expliqué, chaque téléphone mobile envoie un flux de signalisation périodique : dans un mode de réalisation non limitatif, chaque message de signalisation consiste de : - Une notification de présence, dans l'absence de toute action de la part de l'usager - Une signalisation de contrôle de la session de communication, suite à une action de la part de l'usager (déclenchement d'un appel, réponse à un signal d'appel entrant, etc.) Selon la Fig. 3, l'intervalle de temps entre deux messages de signalisation 5 est de P secondes. Tous les terminaux mobiles selon le système utilisent la même période. Le noeud réseau (20) reçoit le flux de signalisation périodique de la part de tous les terminaux mobiles. Les terminaux ne sont pas synchronisés entre eux : selon la Fig. 3, l'écart temporel entre la réception de la signalisation du 10 terminal mobile (10A) et celle du terminal mobile (10B) est de AP secondes. Suite à la réception d'un message de signalisation, le noeud réseau (20) envoie une réponse immédiate au terminal émetteur, ladite réponse pouvant être : - Un écho en cas de réception d'une notification de présence 15 - Une réponse / une alerte en cas de réception d'une signalisation de contrôle de session En Fig. 3 le flux de signalisation périodique est référencé avec une ligne tiret-point ; le flux de données (flux audio) est référencé avec une ligne continue. Le procédé décrit à la Fig. 3 comprend les étapes suivantes : 20 Etape 1 a (direction terminal mobile (10A) noeud de réseau (20) et vice- versa) Etat initial du terminal mobile (10A) : non attaché Message de signalisation = notification de présence : E (Hello IDA, Kpubs) 25 - Une notification de présence 'Hello' est envoyée, contenant l'identité IDA correspondante à l'usager 'A'. - Le message est chiffré avec la clef publique Kpubs du noeud de réseau (20) A noter : grâce à la notification de présence, le noeud réseau (20) connait 30 et met à jour - si nécessaire - l'adresse IP du terminal mobile (10A). Action du noeud de réseau (20) : envoi d'un écho chiffré avec la clef publique KPubA du terminal mobile (10A) E (Hello IDA, KpubA) Etat final du terminal mobile (10A) : attaché Etape 1 b (direction terminal mobile (10B) noeud de réseau (20) et vice- versa). Etat initial du terminal mobile (10B) : non attaché Message de signalisation = notification de présence : E (Hello IDB, Kpubs) Une notification de présence Hello' est envoyée, contenant l'identité IDB correspondante à l'usager `F. Le message est chiffré avec la clef publique KPubS du noeud de réseau (20). A noter : grâce à la notification de présence, le noeud réseau (20) connait et met à jour - si nécessaire - l'adresse IP du terminal mobile (10B). A noter également : il y a un écart temporel entre l'envoi (réception) des messages de signalisation de deux terminaux mobiles. Cet écart est référencé AP en Fig. 3 Action du noeud de réseau (20) : envoi d'un écho chiffré avec la clef publique KPubB du terminal mobile (10B) E (Hello Ms, KPubB) Etat final du terminal mobile (10B) : attaché Etape 2a (direction terminal mobile (10A) noeud de réseau (20)) Etat initial du terminal mobile (10A) : attaché Message de signalisation = requête d'appel : E (Cali IDB, Kpubs) Une requête d'appel 'Cali' est envoyée, contenant l'identité IDB correspondante à l'usager 'B' (destinataire de l'appel). Le message est chiffré avec la clef publique KPubS du noeud de réseau (20). A noter : il y a un écart temporel entre l'envoi (réception) des messages de signalisation de l'étape 2a (2b) et de l'étape 1 a (1 b). Cet écart est référencé P en Fig. 3. Action du noeud de réseau (20) (direction noeud de réseau (20) -> terminal mobile (10A)): Envoi de la notification du temps d'attente (P- AP) avant la mise en relation. Ce temps d'attente est aléatoire, car les terminaux ne sont pas synchronisés temporellement. 301 19 9 8 26 E (Wait (P - AP), KpubA) La réception de cette notification déclenche un temporisateur dans l' "applet" (15) du terminal mobile (10A). Etat final du terminal mobile (10A) : en attente de la communication audio 5 Changement dans l'état initial du terminal mobile (10B) : en attente de l'alerte d'appel. Etape 2b (direction terminal mobile (10B) -> noeud de réseau (20)). Etat initial du terminal mobile (10B) : attaché - en attente de l'alerte d'appel. 10 Message de signalisation = notification de présence : E (Hello IDB, Kpubs) Une notification de présence `Hello' est envoyée, contenant l'identité IDB correspondante à l'usager 'B'. - Le message est chiffré avec la clef publique Kpubs du noeud de réseau 15 (20). Action du noeud de réseau (20) (direction noeud de réseau (20) terminal mobile (10B)): - Envoi d'une alerte d'appel, contenant l'identité de l'appelant. E (Cali IDA, KPub13) 20 Etat final du terminal mobile (10B) : en attente de la communication audio A noter : à la réception de l'alerte, le téléphone mobile (10B) ne sonne pas immédiatement : la sonnerie est déclenchée en correspondance du prochain message de signalisation. Etape 2c (direction noeud de réseau (20) terminal mobile (10A)) 25 Action du noeud de réseau (20): Envoi d'un flux audio fictif à la place du flux réel, afin de 'masquer' le véritable début de la conversation entre les deux usagers. E (Flux Fictif, KpubA) Etape 3a (direction terminal mobile (10A) noeud de réseau (20) et vice- 30 versa) Etat initial du terminal mobile (10A) : attaché - en attente de la communication audio Message de signalisation = notification de présence : E (Hello IDA, Kpubs) Action du noeud de réseau (20) : Envoi d'un écho chiffré E (Hello IDA, KPubA) Etat final du terminal mobile (10A) : en attente de la communication audio Etape 3b (étape locale dans les terminaux (10A) et (10B)) A l'envoi du prochain message de signalisation de la part du terminal (10B), les deux téléphones sonnent simultanément : - Le terminal (10B) sonne suite à l'alerte d'appel reçue (étape 2b) - Le terminal (10A) sonne à l'expiration du temporisateur (étape 2a) Etape 3c (direction terminal mobile (10B) -> noeud de réseau (20) et vice- versa). Etat initial du terminal mobile (10B) : attaché - en attente de l'alerte d'appel. Message de signalisation = notification de présence : E (Hello IDB, Kpubs) Action du noeud de réseau (20) : envoi d'un écho chiffré E (Hello IDB, KPubB) Etat final du terminal mobile (10B) : en communication A noter : suite à l'étape 3c, le terminal mobile (10A) change également d'état (en communication) Etape 3d (entre les deux téléphones mobiles (10A) et (10B)) Suite à l'étape 3b, les deux usagers acceptent la communication. Un flux audio s'établit entre les deux téléphones mobiles. Dans le cas du téléphone (10A) le flux audio remplace le flux fictif mis en place par le noeud réseau à l'étape 2c. Le flux audio est chiffré avec la clef partagée KAB, calculée par les deux téléphones mobiles grâce à la procédure de Diffie-Hellman expliquée dans la section Préambule - Etapes préliminaires. La clef KAB est calculée juste avant la mise en place de la communication audio. Etape 4a (direction terminal mobile (10A) -> noeud de réseau (20) et vice-30 versa) Etat initial du terminal mobile (10A) : attaché - en communication Message de signalisation = notification de présence : E (Hello IDA, Kpubs) Action du noeud de réseau (20) : envoi d'un écho chiffré E (Hello IDA, KpubA) Etat final du terminal mobile (10A) : attaché - en communication Etape 4b (direction terminal mobile (10B) -> noeud de réseau (20)) Etat initial du terminal mobile (10B) : attaché - en communication Message de signalisation = requête de coupure de l'appel (suite au raccrochage de la part de l'usager `B'): E (Release, Kpubs) Action du noeud de réseau (20) (direction noeud de réseau (20) -> terminal mobile (10B)): envoi d'un écho chiffré. E (Release, KpubB) Etat final du terminal mobile (10B) : attaché Etape 4c (Actions du noeud de réseau (20)): - Les canaux audio entre le noeud de réseau (20) et les deux téléphones mobiles sont abattus. - (direction noeud de réseau (20) terminal mobile (10A)) envoi d'un flux audio fictif à la place du flux réel, afin de 'masquer' la véritable fin de la conversation entre les deux usagers. E (Flux Fictif, KpubA) A noter : l'état final du terminal mobile (10A) devient : attaché - en attente de libération du canal. Etape 5a (direction terminal mobile (10A) -> noeud de réseau (20)). Etat initial du terminal mobile (10A) : attaché - en attente de libération du canal. Message de signalisation = notification de présence : E (Hello IDA, Kpubs) Action du noeud de réseau (20) (direction noeud de réseau (20) -> terminal mobile (10A)): - Envoi d'une requête de libération du canal. E (Release, KpubA) Etat final du terminal mobile (10A) : attaché. Etape 5b (direction terminal mobile (10B) -> noeud de réseau (20) et vice- versa) Etat initial du terminal mobile (10B) : attaché Message de signalisation = notification de présence : E (Hello IDB, Kpubs) Action du noeud de réseau (20) : envoi d'un écho chiffré E (Hello IDB, KPubB) Etat final du terminal mobile (10B) : attaché. Etape 6a (direction terminal mobile (10A) -5 noeud de réseau (20) et vice- versa) Etat initial du terminal mobile (10A) : attaché Message de signalisation = notification de présence : E (Hello IDA, Kpubs) Action du noeud de réseau (20) : envoi d'un écho chiffré E (Hello IDA, KPubA) Etat final du terminal mobile (10A) : attaché. Etape 6b (direction terminal mobile (10B) -> noeud de réseau (20) et vice-versa) Etat initial du terminal mobile (10B) : attaché Message de signalisation = notification de présence : E (Hello IDB, Kpubs) Etc. etc. II convient de noter que le noeud de réseau (20) resynchronise les flux de signalisation et des données entre les deux téléphones mobiles. De cette façon, une correction de la gigue des deux téléphones mobiles est effectuée, rendant ainsi inopérante toute attaque basée sur l'analyse des timings. Diagramme de séquences selon la Fiq. 4 Le procédé d'échange anonyme de données chiffrées entre deux terminaux mobiles est décrit ultérieurement dans un mode de réalisation non limitatif à la Fig. 4, qui montre un échange de SMS entre les usagers 'A' et 'B'. En Fig. 4 le flux de signalisation périodique est référencé avec une ligne tiret- point ; le flux de données (SMS) est référencé avec une ligne continue. Comme déjà expliqué en Fig. 3, le noeud réseau (20) reçoit le flux de signalisation périodique de la part de tous les terminaux mobiles (ligne tiret-point). Les mêmes conventions et les mêmes symboles référencés en Fig. 3 s'appliquent également en Fig. 4. Le procédé décrit à la Fig. 4 comprend les étapes suivantes (seulement les différences par rapport aux étapes correspondantes de Fig. 3 sont expliquées): Etape 2a (direction terminal mobile (10A) --> noeud de réseau (20)) Etat initial du terminal mobile (10A) : attaché Message de signalisation = requête d'envoi d'un SMS : E (SMS IDB, Kpubs) Une requête `SMS' est envoyée, contenant l'identité IDB correspondante à l'usager 'B' (destinataire du SMS). Le message est chiffré avec la clef publique Kpubs du noeud de réseau (20). Action du noeud de réseau (20) (direction noeud de réseau (20) terminal mobile (10A)): Envoi de la notification du temps d'attente (P- AP) avant l'envoi du SMS. Ce temps d'attente est aléatoire, car les terminaux ne sont pas synchronisés temporellement. E (Wait (P - LIP), KpubA) La réception de cette notification déclenche un temporisateur dans l' "applet" (15) du terminal mobile (10A). Etat final du terminal mobile (10A) : en attente de l'envoi du SMS Changement dans l'état initial du terminal mobile (10B) : en attente de l'alerte SMS. Etape 2b (direction terminal mobile (10B) noeud de réseau (20)). Etat initial du terminal mobile (10B) : attaché - en attente de l'alerte SMS. Message de signalisation = notification de présence : E (Hello IDB, Kpubs) Action du noeud de réseau (20) (direction noeud de réseau (20) -> terminal mobile (10B)): - Envoi d'une alerte de SMS, contenant l'identité de l'émetteur. E (SMS IDA, KPub13) Etat final du terminal mobile (10B) : en attente de la réception du SMS Etape 2c (direction noeud de réseau (20) -> terminal mobile (10A)) Action du noeud de réseau (20): - Envoi d'un flux de données fictives à la place de la communication SMS réel, afin de 'masquer' le véritable envoi du SMS de la part du terminal mobile (10A). E (Flux Fictif, KpubA) Etape 3a (direction terminal mobile (10A) noeud de réseau (20) et vice- versa) Etat initial du terminal mobile (10A) : attaché - en attente de l'envoi du SMS Message de signalisation = notification de présence : E (Hello IDA), Kpubs) Action du noeud de réseau (20) : Envoi d'un écho chiffré E (Hello IDA), KpubA) Etat final du terminal mobile (10A) : attaché - en attente de l'envoi du SMS Etape 3b (étape locale dans les terminaux (10A) et (10B)) A l'envoi du prochain message de signalisation de la part du terminal (10B), les deux téléphones émettent simultanément un signal sonore: - Le terminal (10B) émet une alerte de SMS reçue - Le terminal (10A) émet une notification de SMS envoyé, à l'expiration du temporisateur Etape 3c (direction terminal mobile (10B) noeud de réseau (20) et vice- versa). Etat initial du terminal mobile (10B) : attaché - en attente de l'alerte d'appel. Message de signalisation = notification de présence : E (Hello IDB, Kpubs) Action du noeud de réseau (20) : envoi d'un écho chiffré E (Hello IDB, KpubB) Etat final du terminal mobile (10B) : réception du SMS A noter : suite à l'étape 3c, le terminal mobile (10A) change également d'état (transmission du SMS) Etape 3d (entre les deux téléphones mobiles (10A) et (10B)) Suite à l'étape 3b un flux de données (SMS) s'établit du téléphone mobile (10A) au téléphone (10B). Le SMS est chiffré avec la clef partagée KAB, calculée par les deux téléphones mobiles grâce à la procédure de Diffie-Hellman expliquée dans la 5 section Préambule - Etapes préliminaires. La clef KAB est calculée juste avant l'envoi du SMS. Etape 4a (direction terminal mobile (10A) --> noeud de réseau (20) et vice-versa) Etat initial du terminal mobile (10A) : attaché 10 Message de signalisation = notification de présence : E (Hello IDA, Kpubs) Action du noeud de réseau (20) : envoi d'un écho chiffré E (Hello IDA), kPubA) Etat final du terminal mobile (10A) : attaché 15 Etape 4b (direction terminal mobile (10B) -> noeud de réseau (20)) Etat initial du terminal mobile (10B) : attaché Message de signalisation = requête d'envoi d'un SMS (l'usager 'B' répond à son correspondant): E (SMS IDA, Kpubs) 20 Action du noeud de réseau (20) (direction noeud de réseau (20) --> terminal mobile (10B)): - Envoi de la notification du temps d'attente (P- AP) avant l'envoi du SMS. E (Wait (P - AP), kPubB) 25 La réception de cette notification déclenche un temporisateur dans I' "applet" (15) du terminal mobile (10B). Envoi d'un flux de données fictives à la place de la communication SMS réel, afin de 'masquer' le véritable envoi du SMS de la part du terminal mobile (10B). 30 E (Flux Fictif, kPubB) Etat final du terminal mobile (10B) : en attente de l'envoi du SMS Changement d'état du terminal mobile (10A) : en attente de la réception du SMS. Etape 5b (étape locale dans les téléphones mobiles (10A) et (10B)) A l'Envoi du prochain message de signalisation de la part du terminal (10A), les deux téléphones émettent simultanément un signal sonore: - Le terminal (10A) émet une alerte de SMS reçue - Le terminal (10B) émet une notification de SMS envoyé, à l'expiration du temporisateur Etape 5d (entre les deux téléphones mobiles (10A) et (10B)) Suite à l'étape 5b un flux de données (SMS) s'établit du téléphone mobile (10B) au téléphone (10A). Le SMS est chiffré avec la clef partagée KAB, déjà calculée à l'étape 3d.10 GLOSSAIRE ET ABREVIATIONS UTILISEES 3G : « Troisième Génération », génération de normes de téléphonie mobile. Elle est représentée principalement par les normes Universal Mobile Telecommunications System (UMTS) et CDMA2000, permettant des débits 5 bien plus rapides (de 2 à 42 Mb/s) qu'avec les générations précédentes ('2G', '2,5G') 4G : « Quatrième Génération », le successeur de la 2G et de la 3G. Elle permet le « très haut débit mobile », c'est-à-dire des transmissions de données à des débits théoriques supérieurs à 100 Mb/s, voire supérieurs à 1 10 Gb/s. Applet : logiciel hébergé par un système opératif et qui fonctionne comme une application logiciel normale, mais en exécutant un petit ensemble de tâches. Objet : conteneur symbolique, qui possède sa propre existence et incorpore 15 des informations et des mécanismes en rapport avec une chose tangible du monde réel ; un objet est manipulés dans un programme informatique tel que un applet. PKI : « Public Key Infrastructure » (infrastructure à clés publiques ou infrastructure de gestion de clés), ensemble de composants physiques (des 20 ordinateurs, des équipements cryptographiques logiciels ou matériel), de procédures humaines (vérifications, validation) et de logiciels (système et application) en vue de gérer le cycle de vie des certificats numériques ou certificats électroniques. RSA : « Rivest Shamir Adelman » (nommé par les initiales de ses trois 25 inventeurs), algorithme de cryptographie asymétrique : il utilise une paire de clés (des nombres entiers) composée d'une clé publique pour chiffrer et d'une clé privée pour déchiffrer des données confidentielles RTP : « Real-time transport protocol », protocole informatique de transport pour la diffusion en temps réel (simulé) sur réseaux Internet 30 TDM : « Time Division Multiplexing », (multiplexage temporel en anglais) technique de multiplexage numérique permettant à un émetteur de transmettre plusieurs canaux numériques élémentaires à bas débit (voix, données, vidéo) sur un même support de communication à plus haut débit en entrelaçant dans le temps des échantillons de chacun de ces canaux UDP : « User Datagram Protocol », protocole qui permet la transmission de données de manière très simple entre deux entités, chacune étant définie par une adresse IP et un numéro de port. Contrairement au protocole TCP, le protocole UDP fonctionne sans négociation : il n'existe pas de procédure de connexion préalable à l'envoi des données VLL : « Virtual Leased Line », moyen qui permet de fournir une connexion point-à-point sur un réseau IP. VPN : « Virtual Private Network », (réseau privé virtuel en anglais) connexion inter-réseau permettant de relier deux réseaux locaux différents par un protocole dit de 'tunnel'. WiFi : « Wireless Fidelity », ensemble de protocoles de communication sans fil régis par les normes du groupe 'IEEE 802.11', faisant référence à un réseau local sans fil. WiMAX : « Worldwide Interoperability for Microwave Access » désigne un standard de communication sans fil. Aujourd'hui surtout utilisé comme mode de transmission et d'accès à Internet haut débit, portant sur une zone géographique étendue.20 REVENDICATIONS1. La présente invention concerne un système permettant d'échanger des données de façon sécurisée et anonyme entre deux usagers, lesdites données étant transmises au moyen d'entités électroniques programmables des usagers et de machines informatiques dans le réseau internet; lesdites données confidentielles se présentant notamment sous la forme d'informations de type voix ou SMS ou emails ; Lesdites entités électroniques programmables des usagers étant 10 caractérisées en ce qu'elles comportent : - Un module logiciel dédié destiné à : o Générer un flux périodique de messages de signalisation, chaque message étant une notification de présence contenant l'identité de l'usager 15 o Gérer l'envoi dudit flux périodique de messages de signalisation de l'entité électronique programmable de l'usager vers une machine informatique dans le réseau internet, chaque message de signalisation étant chiffrée par l'entité électronique programmable de l'usager et déchiffré par la machine informatique dans le réseau 20 internet, le chiffrement et déchiffrement se faisant selon un algorithme de chiffrement asymétrique o Gérer la réception des réponses en correspondance desdits messages de signalisation, chaque réponse étant envoyée par la machine informatique dans le réseau internet en utilisant ledit 25 algorithme de chiffrement asymétrique o Suite à une action de l'usager, remplacer une notification de présence contenue dans le flux périodique de messages de signalisation par un message de contrôle pour l'échange de données sécurisées et anonymes 30 o Organiser tout message de signalisation chiffré - soit-il un message de notification de présence ou un message de contrôle - selon des paquets informatique qui ont toujours la même taille ; Lesdites machines informatiques dans le réseau internet (appelées aussi 'noeuds réseau') étant caractérisées en ce qu'elles comportent :- Un module logiciel dédié destiné à : o Générer un flux périodique de messages de signalisation, chaque message étant une réponse à une notification de présence venant d'une entité électronique programmable de l'usager et contenant son identité o Gérer l'envoi dudit flux périodique de messages de signalisation vers l'entité électronique programmable de l'usager, chaque message de signalisation étant chiffrée selon un algorithme de chiffrement asymétrique o Suite à la réception d'un message de mise en place ou de terminaison d'un échange de données sécurisées et anonymes, l'envoi à l'entité électronique programmable de l'usager de la notification d'un temps d'attente aléatoire avant la mise en place ou la terminaison dudit échange de données. 2. Système selon la revendication 1, caractérisé en ce qu'il comprend : Un ensemble d'entités électroniques, chaque entité appartenant à un usager correspondant et caractérisée en ce qu'elle comporte un module logiciel 20 dédié qui comprend: - Un module logiciel pour la gestion et le stockage de deux clefs de sécurités, la première clef étant la clef publique du noeud réseau correspondant, ladite clef publique permettant le chiffrement d'un flux périodique de messages de signalisation envoyés audit noeud 25 réseau correspondant; la deuxième clef étant partagée avec une autre entité électronique appartenant à un autre usager en cas d'établissement d'une connexion de données entre les deux entités électroniques - Un module logiciel pour la gestion de la liste des contacts de l'usager, chaque contact étant caractérisé par une identité qui a la forme d'une 30 chaîne de caractères alphanumériques - Un module logiciel pour la gestion de l'interface utilisateur, ledit module permettant d'interpréter les actions de l'usager, telles que des commandes ou des réponses à des alertes, et de construire le message de signalisation correspondant, afin qu'il soit incorporé dans le fluxpériodique de messages de signalisation échangés avec ledit noeud réseau correspondant Un ensemble de noeuds réseau, chaque noeud réseau étant défini `noeud réseau correspondant' d'une entité électronique avec laquelle il a une interconnexion logique et caractérisé en ce qu'il comporte : - Une première base de données statique, contenant l'identité de chaque usager du système, ladite identité ayant la forme d'une chaîne de caractères alphanumériques - Une deuxième base de données dynamique, associée à la première base de données et contenant les informations temporaires de chaque usager dont l'entité électronique a établi une connexion de signalisation avec son noeud réseau correspondant, lesdites informations temporaires comprenant : o L'identité de l'usager, chiffrée avec la clef publique du noeud réseau correspondant o L'adresse internet du noeud réseau correspondant à chaque entité électronique du système o Un flux de données à haute capacité entre chaque couple de noeuds réseau de l'ensemble, ledit flux permettant M communications bidirectionnelles simultanées. 3. Système selon les revendications 1 et 2, caractérisé en ce que les M communications bidirectionnelles simultanées qui constituent le flux de données à haute capacité entre chaque couple de noeuds réseau sont entrelacées dans le temps en utilisant la technique de multiplexage temporel, les M intervalles de temps correspondant auxdites communications bidirectionnelles sont utilisés pour échanger en permanence du contenu entre chaque couple de noeuds réseau, ledit contenu étant constitué de : - Tout message de signalisation entre les entités électroniques et leurs noeuds réseau correspondants - Toute communication de données entre des couples d'entités électroniques- Un flux de données fictives en correspondance de toutes les entités électroniques qui n'ont pas une communication de données en cours 4. Système selon les revendications 1, 2, 3, caractérisé en ce que tout message de signalisation échangé entre une entité électronique et son noeud réseau correspondant, ainsi que tout échange de contenu entre deux entités électroniques à travers leurs noeuds réseau correspondants, ainsi que tout flux de données fictives entre chaque couple de noeuds réseau s'effectue par le biais du protocole UDP des réseaux internet. 5. Procédé d'échange de données de façon sécurisée et anonyme entre deux usagers, lesdites données étant transmises au moyen d'entités électroniques programmables et de machines informatiques dans le réseau internet; lesdites données confidentielles se présentant notamment sous la forme d'informations de type voix ou SMS ou emails ; lesdites machines informatiques dans le réseau internet étant référencées 'noeuds réseau' ; chaque entité électronique programmable ayant une interconnexion logique avec un noeud réseau dit 'correspondant', qui fait partie de l'ensemble des noeuds réseau, caractérisé en ce qu'il comporte : Les étapes initiales suivantes : - La sélection du noeud réseau correspondant de la part de l'entité électronique programmable de l'usager - L'échange des clefs dites 'publiques' entre l'entité électronique programmable de l'usager et le noeud réseau correspondant - Le stockage de l'adresse internet du noeud réseau correspondant à chaque entité électronique du système dans une base de données dynamique de chaque noeud réseau, ladite base de données dynamique étant associée à une base de données statique correspondante, contenant l'identité de chaque usager du système, ladite identité ayant été chiffrée par l'entité électronique programmable avec la clef publique du noeud réseau correspondant- Le déclenchement d'un flux périodique de messages de signalisation, chaque message étant une notification de présence envoyée par l'entité électronique du système au noeud réseau correspondant, ladite notification de présence contenant l'en-tête `Hello' et l'identité de l'usager ; ledit message de signalisation étant chiffré avec la clef publique du noeud réseau correspondant ; ledit message de signalisation chiffré ayant toujours la même taille - Le déclenchement d'un flux périodique de messages de signalisation, chaque message étant une réponse à la notification de présence, ladite réponse étant envoyée par le noeud réseau correspondant et contenant l'en-tête `Hello' et l'identité de l'usager ; ledit message de signalisation étant chiffré avec la clef publique de l'entité électronique correspondante ; ledit message de signalisation chiffré ayant toujours la même taille Les étapes suivantes pour la gestion dudit flux périodique de messages de 15 signalisation, ladite gestion comprenant les actions d'établissement, d'acceptation/rejet et d'interruption de la communication : - La détection des actions de l'usager par l'entité électronique programmable, lesdites actions comprenant les commandes d'établissement, d'acceptation/rejet et d'interruption de la communication 20 - La construction des messages de signalisation par l'entité électronique programmable, en fonction des actions de l'usager et selon les correspondances suivantes : o Un message de type 'Cali' ou `SMS' ou Send', suivi par l'identité du destinataire est généré suite à une action d'établissement d'un 25 appel, de l'envoi d'un SMS ou de l'envoi d'un email o Un message de type 'Accole ou `Reject est généré suite à une action d'acceptation/rejet d'un appel ou d'un SMS ou d'un email, ladite action d'acceptation/rejet faisant suite à une alerte envoyé à l'entité électronique programmable de l'usager de la part du noeud 30 réseau correspondant o Un message de type 'Release' est généré suite à une action d'interruption d'un appel- L'envoi desdits messages de signalisation par l'entité électronique programmable, en incorporant les messages de signalisation dans le flux périodique de messages de notification de présence selon la description des étapes initiales du procédé ; ladite incorporation se faisant en remplaçant le message de notification de présence prévu au prochain échantillon temporel par ledit message de signalisation ; ledit message de signalisation étant chiffré avec la clef publique du noeud réseau correspondant ; ledit message de signalisation chiffré ayant toujours la même taille - La détection de la part du noeud réseau correspondant des messages de signalisation provenant de l'entité électronique émettrice et la génération conséquente des messages de réponse vers l'entité électronique émettrice et/ou des messages d'alerte vers l'entité électronique destinataire selon les correspondances suivantes: o Un message de type 'Mir , suivi par un temps d'attente aléatoire est généré et envoyé à l'entité électronique émettrice suite à la réception d'un message de type 'Cali' ou `SMS' ou `Send' de la part de cette dernière o Un message de type 'Cali' ou `SMS' ou Send', suivi par l'identité de l'émetteur est généré et envoyé à l'entité électronique destinataire suite à la réception d'un message de type `Hello' de la part de cette dernière o Un message de type `Accept ou `Reject est généré et envoyé aux entités électroniques (émettrice et destinataire) suite à la réception d'un message de type `Accept ou `Rejece o Un message de type 'Release' est généré et envoyé aux entités électroniques (émettrice et destinataire) suite à la réception d'un message de type 'Release' - L'envoi desdits messages de signalisation par les noeuds réseau correspondants à - respectivement - l'entité électronique émettrice et destinataire, en incorporant les messages de signalisation dans le flux périodique des réponses aux messages de notification de présence selon la description des étapes initiales du procédé ; ladite incorporation se faisant en remplaçant la réponse au message de notification de présenceprévue au prochain échantillon temporel par ledit message de signalisation ; ledit message de signalisation étant chiffré avec la clef publique de l'entité électronique correspondante (émettrice et destinataire); ledit message de signalisation chiffré ayant toujours la même taille Les étapes suivantes pour la gestion du déclenchement / de la libération des flux de données de communication ainsi que pour l'acheminement desdits flux entre deux entités électroniques programmables (une émettrice, une destinataire) : - Un message de type 'Ce ou `SMS' ou `Send' envoyé par l'entité électronique programmable déclenche un temporisateur dans cette dernière, le temporisateur expirant après une durée aléatoire dont la valeur est reçue de la part du noeud réseau correspondant grâce à un message de type 'Wei( - L'envoi d'un flux de données fictives du noeud réseau correspondant vers l'entité électronique programmable émettrice du message 'Cali' ou `SMS' ou `Send', ledit flux fictif étant déclenché dès réception dudit message ; la durée dudit flux fictif correspondant à la durée aléatoire dudit temporisateur - L'échange des données de communication entre deux entités électroniques programmables dès l'expiration dudit temporisateur, chaque entité programmable échangeant les données de communication avec son noeud réseau correspondant ; les deux noeuds réseau correspondants relayant les flux de données entre les deux entités électroniques programmables grâce à une table de routage dynamique qui permet au noeud réseau correspondant de l'entité électronique émettrice de connaître l'adresse IP du noeud réseau correspondant à l'entité électronique destinataire ; ledit flux de données étant organisé en paquets, chaque paquet étant chiffré avec une clef partagée entre les entités électroniques (émettrice et destinataire); ledit paquet chiffré ayant toujours la même taille - Un message de type 'Release' envoyé par l'entité électronique programmable émettrice déclenche l'arrêt des flux des données entre ; d'une part l'entité électronique émettrice et son noeud réseaucorrespondant ainsi qu'entre l'entité électronique destinataire et son noeud réseau correspondant ; d'autre part, les deux noeuds réseau correspondants aux deux entités électroniques (émettrice, destinataire) - Ledit message 'Release' envoyé par l'entité électronique programmable émettrice déclenche également l'envoi d'un flux de données fictives du noeud réseau correspondant à l'entité électronique destinataire vers cette dernière ; ledit flux de données fictives étant interrompu par un message de type 'Release', envoyé à l'entité électronique destinataire du noeud réseau correspondant en réponse au prochain message de notification de présence de la part de ladite entité électronique destinataire