Brevet FR2949926A1 — publié le 20110311

ETABLISSEMENT DE COMMUNICATION SECURISEE La présente invention concerne un établissement d'appel sécurisé. Actuellement, il existe des solutions pour sécuriser des communications entre des terminaux de communication, recourant notamment à des serveurs et des algorithmes utilisant des certificats pour établir des communications. Ces solutions sont complexes et requièrent une architecture client serveur coûteuse ainsi que de la bande passante. Un objectif de l'invention est de remédier aux inconvénients précédents en sécurisant de manière simple et efficace une communication entre deux terminaux de communication. Pour atteindre cet objectif, un procédé pour établir une communication entre un premier terminal de communication et un deuxième terminal de communication à travers un réseau de télécommunications, est caractérisé en ce qu'il comprend les étapes suivantes : lors d'une demande d'établissement d'appel depuis le premier terminal de 20 communication vers le deuxième terminal de communication, générer dynamiquement une première clé et une deuxième clé à usage unique associées respectivement aux premier et deuxième terminaux de communication en fonction de données temporelles relatives à au moins une précédente communication entre le premier terminal de communication et le deuxième terminal de communication, 25 comparer les première et deuxième clés générées, et autoriser l'établissement de la communication si les clés comparées sont identiques. Avantageusement, l'invention fournit une manière simple de sécuriser une communication, tout en utilisant une architecture de réseau peu complexe et peu 30 coûteuse. La génération dynamique de clés à usage unique nécessite peu d'échanges de messages et offre une sécurisation fiable d'une communication entre les premier et deuxième terminaux de communication. L'invention concerne également un terminal de communication pour établir une communication entre le terminal de communication et un autre terminal de communication à travers un réseau de télécommunications, caractérisé en ce qu'il comprend : des moyens pour générer dynamiquement une première clé à usage unique associée au terminal de communication en fonction de données temporelles relatives à au moins une précédente communication entre le terminal de communication et ledit autre terminal de communication, lors d'une demande d'établissement d'appel depuis le terminal de communication vers ledit autre terminal de communication, et des moyens pour transmettre la clé générée audit autre terminal de communication qui est apte à générer dynamiquement une deuxième clé à usage unique associée au terminal de communication en fonction de données temporelles relatives à ladite au moins une précédente communication entre le terminal de 15 communication, à comparer les première et deuxième clés générées, et à autoriser l'établissement de la communication si les clés comparées sont identiques. L'invention concerne également un terminal de communication pour établir une communication entre le terminal de communication et un autre terminal de 20 communication à travers un réseau de télécommunications, caractérisé en ce qu'il comprend : des moyens pour recevoir une première clé à usage unique associée au terminal de communication générée dynamiquement par ledit autre terminal de communication en fonction de données temporelles relatives à au moins une 25 précédente communication entre le terminal de communication et ledit autre terminal de communication, lors d'une demande d'établissement d'appel depuis ledit autre terminal de communication vers le terminal de communication, des moyens pour générer dynamiquement une deuxième clé en fonction de données temporelles relatives à ladite au moins une précédente communication 30 entre le terminal de communication et ledit autre terminal de communication, des moyens pour comparer les première et deuxième clés générées, des moyens pour autoriser l'établissement de la communication si les clés comparées sont identiques. L'invention concerne également un serveur pour établir une communication entre un premier terminal de communication et un deuxième terminal de communication à travers un réseau de télécommunications, caractérisé en ce qu'il comprend : des moyens pour générer dynamiquement une première clé une deuxième clé à usage unique associées respectivement aux premier et deuxième terminaux de communication en fonction de données temporelles relatives à au moins une précédente communication entre le premier terminal de communication et le deuxième terminal de communication, lors d'une demande d'établissement d'appel depuis le premier terminal de communication vers le deuxième terminal de communication, des moyens pour comparer les première et deuxième clés générées, et des moyens pour autoriser l'établissement de la communication si les clés comparées sont identiques. 5 L'invention se rapporte encore à un programme d'ordinateur apte à être mis en oeuvre dans un serveur, ledit programme comprenant des instructions qui, lorsque le programme est exécuté dans ledit serveur, réalisent les étapes selon le procédé de l'invention. 20 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 - la figure 1 est un bloc-diagramme schématique d'un système 25 communication selon une réalisation de l'invention, - la figure 2 est un algorithme d'un procédé d'établissement de communication sécurisée selon une première réalisation de l'invention, et - la figure 3 est un algorithme d'un procédé d'établissement de communication sécurisée selon une deuxième réalisation de l'invention. 30 En référence à la figure 1, un système de communication comprend au moins un premier terminal de communication TC1, un deuxième terminal de communication TC2 et au moins un serveur de communication SC, aptes à communiquer entre eux à travers un réseau de télécommunications RT. Le réseau de télécommunications RT peut être un réseau filaire ou sans fil, ou une combinaison de réseaux filaires et de réseaux sans fil. Selon un exemple, le réseau de télécommunications RT est un réseau de paquets à haut débit de type IP ("Internet Protocol" en anglais), tel que l'internet ou 5 un intranet. Selon un autre exemple, le réseau de télécommunications RT est un réseau de type TDM ("Time Division Multiplexing" en anglais) ou encore un réseau privé spécifique à une société supportant un protocole propriétaire. Les terminaux de communication TC1 et TC2 sont reliés au serveur de 10 communication SC à travers le réseau de télécommunications RT. Par exemple, le terminal de communication TC1 ou TC2 est un téléphone fixe de type TDM ou un téléphone fixe de type voix sur réseau IP. Selon un autre exemple, les terminaux de communication TC1 et TC2 sont situés sur des sites différents et reliés respectivement à des serveurs de communication différents. Par exemple, le serveur de communication SC est un commutateur PABX ("Priva te Automatic Branch eXchange" en anglais). Le serveur de communication SC comprend des moyens, tels qu'un logiciel ou une combinaison de matériel 20 informatique et de logiciel, configurés pour commander notamment un routage d'appel. Il est supposé que les terminaux de communication reliés au serveur de communication SC sont synchronisés entre eux, par exemple par l'intermédiaire du serveur de communication ou d'un serveur NTP ("Network Time Protocol" en 25 anglais). Chaque terminal de communication TC1, TC2 est associé à un identificateur IdT1, IdT2 connu du serveur de communication et des autres terminaux de communication dans le réseau de télécommunications RT. 30 Chaque terminal de communication est en outre associé à une base de données d'historique, qui peut être incluse dans le terminal de communication ou reliée à ce dernier, ou encore reliée au serveur de communication SC. Ainsi, les premier et deuxième terminaux de communication TC1 et TC2 sont respectivement associés à des première et deuxième bases de données BDH1 et BDH2, qui sont par exemple respectivement reliées aux ou incluses dans les terminaux TC1 et TC2 comme illustré à la figure 1. Dans le cas où la base de données d'historique est externe et reliée au terminal de communication, la base de données est par exemple implémentée dans un dispositif électronique, tel qu'une clé USB. La base de données d'historique associée au terminal de communication mémorise notamment des informations relatives à des communications établies avec le terminal de communication. Plus particulièrement, les informations contiennent des données temporelles DonT associées à chaque communication établie entre le terminal de communication et un autre terminal de communication, telles que la date et la durée de la communication. La date et la durée de la communication peuvent avoir différents degrés de précision. Par exemple, la précision de la date peut être "Année, Mois, Jour, Heure" ou être de manière plus précise "Année, Mois, Jour, Heure, Minute, Seconde". La 15 date peut contenir également une indication du fuseau horaire. Par ailleurs, les données temporelles peuvent être sous différents formats, par exemple en binaire ou en hexadécimal, dans un ordre donné. La précision et le format des données temporelles sont par exemple définis par un administrateur système, gérant le serveur de communication. 20 Par exemple, il est supposé qu'une communication entre le premier terminal de communication TC1 situé en France et le deuxième terminal de communication TC2 situé en Chine a été établie le 30 juin 2009 à 10h51 en France et a duré 5 minutes et 32 secondes. 25 La première base de données d'historique BDH1 contient des données temporelles DonT par exemple sous le format suivant : "IdT1 ù IdT2 Date : 30106/2009 Heure : 10h51 30 Time zone : GMT+1 Durée : 5mn32s" La deuxième base de données d'historique BDH2 contient des données temporelles DonT par exemple sous le format suivant : "IdT2 ù ldT1 Date : 30/06/2009 Heure : 17h51 Time zone : GMT+8 Durée : 5mn32s" Selon une réalisation de l'invention, une application AP est implémentée dans au moins l'un des terminaux de communication TC1 et TC2 et/ou dans le serveur de communication SC, ladite application étant dédiée à au moins l'un des terminaux de communication TC1 et TC2. 0 Par exemple, une application est implémentée seulement dans le serveur de communication SC, ou est implémentée dans chacun des terminaux de communication TC1 et TC2, ou encore est implémentée dans l'un des terminaux de communication TC1 et TC2 et dans le serveur de communication SC. A titre d'exemple, l'application AP est représentée sur la figure 1 dans chacun des terminaux de communication TC1 et TC2 et dans le serveur de communication SC. Il est supposé qu'une application dédiée à un terminal de communication TC1 ou TC2 est implémentée dans le même dispositif dans lequel est implémentée la base de donnée d'historique associée au terminal de communication. Par exemple, une application et une base de données d'historique sont implémentées 20 dans chaque terminal de communication, ou dans un dispositif relié au terminal de communication, ou bien dans le serveur de communication, ou encore à la fois dans le serveur de communication et dans l'un des terminaux de communication TC1 et TC2. Dans ce dernier cas, une application et la première base de données BDH1 peuvent être implémentées dans le premier terminal de communication TC1 25 et une autre application et la deuxième base de données BDH2 peuvent être implémentées dans le serveur de communication SC. L'application a pour fonctionnalité de générer une clé à usage unique associée au terminal de communication en fonction de données temporelles DonT 30 relatives à au moins une communication établie avec le terminal de communication. La clé est générée dynamiquement et de manière unique lors de l'établissement d'une communication avec le terminal de communication. L'application est par exemple implémentée sous forme de programme d'ordinateur 6 En référence à a figure 2, un procédé pour établir une communication de manière sécurisée selon une première réalisation de l'invention comprend des étapes El à E4 exécutées dans le système de communication. Initialement, il est considéré que plusieurs communications ont déjà été 5 précédemment établies entre les terminaux de communication TC1 et TC2, les communications étant des appels téléphoniques. Pour chaque communication établie entre les terminaux de communication TC1 et TC2, il est supposé qu'une application dédiée à au moins l'un des terminaux de communication TC1 et TC2 est implémentée dans le serveur de communication 10 SC et mémorise des données temporelles DonT associées à la communication dans des bases de données d'historique, contenant notamment la date et la durée de la communication. A l'étape El, l'utilisateur du premier terminal de communication TC1 souhaite appeler l'utilisateur du deuxième terminal de communication TC2 et 15 déclenche une procédure de demande d'établissement d'appel. Le premier terminal de communication TC1 transmet un message au serveur de communication SC, le message contenant au moins les identificateurs IdT1 et ldT2 des terminaux de communication TC1 et TC2 afin d'établir une communication avec le deuxième terminal de communication TC2. 20 A l'étape E2, l'application dans le serveur de communication SC détermine des données temporelles DonT relatives à au moins l'une des précédentes communications entre les terminaux de communication TC1 et TC2 dans la première base de données BDH1, à l'aide des identificateurs IdTl et IdT2 et génère une première clé d'authentification KI à usage unique en fonction des données 25 temporelles DonT déterminées. A titre d'exemple, les données temporelles DonT sont relatives à une communication donnée qui a été établie précédemment entre les terminaux de communication TC1 et TC2, ladite communication donnée pouvant être la dernière communication établie. Selon un autre exemple, les données temporelles sont 30 relatives à une combinaison de plusieurs communications données qui ont été établies précédemment entre les terminaux de communication TC1 et TC2. Par ailleurs, les données temporelles relatives à une communication contiennent notamment la date et la durée de la communication, et optionnellement une indication de fuseau horaire associé au premier terminal de communication TC1. En outre; la précision de la date peut être de différents degrés, tel que "Année, Mois, Jour, Heure" ou être encore "Année, Mois, Jour, Heure, Minute, Seconde". La première clé d'authentification KI est ainsi associée à un ensemble de 5 communications précédemment établies entre les terminaux TC1 et TC2, ledit ensemble pouvant être restreint à une seule communication. A l'étape E3, l'application dans le serveur de communication SC détermine des données temporelles DonT relatives au même ensemble de communications précédemment établies entre les terminaux de communication TC1 et TC2 dans la 10 deuxième base de données BDH2 et génère dynamiquement une deuxième clé d'authentification K2 à usage unique en fonction des données temporelles DonT déterminées. A l'étape E4, l'application compare les clés K1 et K2, et l'application autorise l'établissement de la communication entre les terminaux de communication 15 TC1 et TC2, si les clés KI et K2 comparées sont identiques. Si les clés KI et K2 ne sont pas identiques, l'application refuse l'établissement de la communication entre les terminaux de communication TC1 et TC2. 20 En référence à la figure 3, un procédé pour établir une communication de manière sécurisée selon une deuxième réalisation de l'invention comprend des étapes FI à F7 exécutées dans le système de communication. Initialement, il est considéré que plusieurs communications ont déjà été précédemment établies entre les terminaux de communication TCI et TC2, les 25 communications étant des appels téléphoniques. Pour chaque communication établie entre les terminaux de communication TC1 et TC2, il est supposé qu'une application et une base de données d'historique sont implémentées dans chaque terminal de communication TC1 et TC2 et mémorise des données temporelles DonT associées à la communication dans la 30 bases de données d'historique, contenant notamment la date et la durée de la communication. A l'étape FI, l'utilisateur du premier terminal de communication TC1 souhaite appeler l'utilisateur du deuxième terminal de communication TC2 et déclenche une procédure de demande d'établissement d'appel. L'application dans le premier terminal de communication TCI détermine des données temporelles DonT relatives à au moins l'une des précédentes communications entre les terminaux de communication TC1 et TC2 dans la première base de données BDH1, à l'aide des identificateurs IdT1 et ldT2 et génère dynamiquement une première clé d'authentification KI à usage unique en fonction des données temporelles DonT déterminées. A titre d'exemple, les données temporelles DonT sont relatives à une communication donnée qui a été établie précédemment entre les terminaux de communication TC1 et TC2, ladite communication donnée pouvant être la dernière communication établie. Selon un autre exemple, les données temporelles sont relatives à une combinaison de plusieurs communications données qui ont été établies précédemment entre les terminaux de communication TC1 et TC2. Par ailleurs, les données temporelles relatives à une communication contiennent notamment la date et la durée de la communication, et optionnellement une indication de fuseau horaire associé au premier terminal de communication TC1. En outre; la précision de la date peut être de différents degrés, tel que "Année, Mois, Jour, Heure" ou être encore "Année, Mois, Jour, Heure, Minute, Seconde". La première clé d'authentification KI est ainsi associée à un ensemble de 20 communications précédemment établies entre les terminaux TC1 et TC2, ledit ensemble pouvant être restreint à une seule communication. A l'étape F2, le premier terminal de communication TCI transmet un message au serveur de communication SC, le message contenant au moins les identificateurs IdT1 et ldT2 des terminaux de communication TC1 et TC2 et la 25 première clé d'authentification KI afin d'établir une communication avec le deuxième terminal de communication TC2. A l'étape F3, le serveur retransmet le message contenant les identificateurs IdTl et IdT2 et la clé KI au deuxième terminal de communication TC2. 30 A l'étape F4, l'application dans le deuxième terminal de communication TC2 détermine des données temporelles DonT relatives au même ensemble de communications précédemment établies entre les terminaux de communication TC1 et TC2 dans la deuxième base de données BDH2 et génère dynamiquement une deuxième clé d'authentification K2 à usage unique en fonction des données temporelles DonT déterminées. A l'étape F5, l'application dans le deuxième terminal de communication TC2 compare les clés KI et K2, et l'application autorise l'établissement de la 5 communication entre les terminaux de communication TC1 et TC2, si les clés KI et K2 comparées sont identiques. Si les clés KI et K2 ne sont pas identiques, l'application refuse l'établissement de la communication entre les terminaux de communication TC1 et TC2. 10 Optionnellement, un administrateur système définit au préalable une clé initiale pour chaque utilisateur qui peut être utilisée pour une première communication entre deux utilisateurs. Optionnellement, les messages incluant des clés sont chiffrés. 15 L'invention décrite ici concerne un procédé et un serveur pour établir une communication entre un premier terminal de communication et un deuxième terminal de communication. Selon une implémentation de l'invention, les étapes du procédé de l'invention sont déterminées par les instructions d'un programme 20 d'ordinateur incorporé dans un serveur, tel que le serveur de communication SC. Le programme comporte des instructions de programme, qui lorsque ledit programme est chargé et exécuté dans le serveur, réalisent les étapes du procédé de l'invention. En conséquence, l'invention s'applique également à un programme 25 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 forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable 30 pour implémenter le procédé selon l'invention. REVENDICATIONS1. Procédé pour établir une communication entre un premier terminal de communication (TC1) et un deuxième terminal de communication (TC2) à travers un réseau de télécommunications (RT), caractérisé en ce qu'il comprend les étapes suivantes : lors d'une demande d'établissement d'appel depuis le premier terminal de communication (TC1) vers le deuxième terminal de communication (TC2), générer (E2, E3; F1) dynamiquement une première clé (K1) et une deuxième clé (K2) à usage unique associées respectivement aux premier et deuxième terminaux de communication en fonction de données temporelles (DonT) relatives à au moins une précédente communication entre le premier terminal de communication (TC1) et le deuxième terminal de communication (TC2), comparer (E4; F5) les première et deuxième clés générées, et autoriser (E4; F5) l'établissement de la communication si les clés comparées sont identiques. 2. Procédé conforme à la revendication 1, selon lequel les données temporelles (DonT) contiennent la date et l'heure relatives à au moins une précédente communication entre le premier terminal de communication (TC1) et le deuxième terminal de communication. 3. Procédé conforme à la revendication 1 ou 2, selon lequel les données temporelles (DonT) contiennent en outre une indication de fuseau horaire 25 correspondant au terminal de communication. 4. Procédé conforme à l'une des revendications 1 à 3, selon lequel les données temporelles (DonT) sont relatives à la dernière communication entre le premier terminal de communication (TC1) et le deuxième terminal de 30 communication (TC2). 5. Procédé conforme à l'une des revendications 1 à 3, selon lequel les données temporelles (DonT) sont relatives à une combinaison de précédentescommunications entre le premier terminal de communication (TC1) et le deuxième terminal de communication (TC2). 6. Procédé conforme à l'une des revendications 1 à 5, selon lequel les étapes de générer (E2) dynamiquement une première clé (K1) et une deuxième clé (K2), de comparer (E4) les première et deuxième clés générées et d'autoriser (E4) l'établissement de la communication sont exécutées par un serveur (SC) via lequel est établie la communication entre le premier terminal de communication (TC1) et le deuxième terminal de communication (TC2). 7. Procédé conforme à l'une des revendications 1 à 5, selon lequel le premier terminal de communication génère (F1) dynamiquement la première clé (K1) et transmet (F2) cette dernière au deuxième terminal de communication qui génère (F4) la deuxième clé (K2), compare (F5) les première et deuxième clés générées et autorise (F5) l'établissement de la communication si les clés comparées sont identiques. 8. Terminal de communication (TC1) pour établir une communication entre le terminal de communication (TC1) et un autre terminal de communication (TC2) à travers un réseau de télécommunications (RT), caractérisé en ce qu'il comprend : des moyens (AP) pour générer dynamiquement une première clé (K1) à usage unique associée au terminal de communication (TC1) en fonction de données temporelles (DonT) relatives à au moins une précédente communication entre le terminal de communication (TC1) et ledit autre terminal de communication (TC2), lors d'une demande d'établissement d'appel depuis le terminal de communication (TC1) vers ledit autre terminal de communication (TC2), et des moyens (AP) pour transmettre la clé générée (K1) audit autre terminal de communication (TC2) qui est apte à générer dynamiquement une deuxième clé (K2) à usage unique associée à ledit autre terminal de communication (TC2) en fonction de données temporelles (DonT) relatives à ladite au moins une précédente communication entre le terminal de communication (TC1) et ledit autre terminal de communication (TC2), à comparer les première et deuxième clés générées, et à autoriser l'établissement de la communication si les clés comparées sont identiques. 9. Terminal de communication (TC2) pour établir une communication entre le terminal de communication (TC2) et un autre terminal de communication (TC1) à travers un réseau de télécommunications (RT), caractérisé en ce qu'il comprend : des moyens (AP) pour recevoir une première clé (K1) à usage unique associée à ledit autre terminal de communication (TC1) générée dynamiquement par ledit autre terminal de communication (TC1) en fonction de données temporelles (DonT) relatives à au moins une précédente communication entre le terminal de communication (TC1) et ledit autre terminal de communication (TC2), lors d'une demande d'établissement d'appel depuis ledit autre terminal de communication (TC1) vers le terminal de communication (TC2), des moyens (AP) pour générer dynamiquement une deuxième clé (K2) en fonction de données temporelles (DonT) relatives à ladite au moins une précédente communication entre le terminal de communication (TC1) et ledit autre terminal de communication (TC2), des moyens (AP) pour comparer les première et deuxième clés générées, des moyens (AP) pour autoriser l'établissement de la communication si les clés comparées sont identiques. 10. Serveur (SC) pour établir une communication entre un premier terminal de communication (TC1) et un deuxième terminal de communication (TC2) à travers un réseau de télécommunications (RT), caractérisé en ce qu'il comprend : des moyens (AP) pour générer dynamiquement une première clé (K1) et une deuxième clé (K2) à usage unique associées respectivement aux premier et deuxième terminaux de communication en fonction de données temporelles (DonT) relatives à au moins une précédente communication entre le premier terminal de communication (TC1) et le deuxième terminal de communication (TC2), lors d'une demande d'établissement d'appel depuis le premier terminal de communication (TC1) vers le deuxième terminal de communication (TC2), des moyens (AP) pour comparer les première et deuxième clés générées, et des moyens (AP) pour autoriser l'établissement de la communication si les clés comparées sont identiques. 11. Programme d'ordinateur apte à être mis en oeuvre dans un serveur (SC) pour établir une communication entre un premier terminal de communication (TC1) et un deuxième terminal de communication (TC2) à travers un réseau de télécommunications (RT), ledit programme étant caractérisé en ce qu'il comprend des instructions qui, lorsque le programme est chargé et exécuté dans ledit serveur, réalisent les étapes suivantes : lors d'une demande d'établissement d'appel depuis le premier terminal de communication (TC1) vers le deuxième terminal de communication (TC2), générer (E2, E3) dynamiquement une première clé (K1) et une deuxième clé (K2) à usage unique associées respectivement aux premier et deuxième terminaux de communication en fonction de données temporelles (DonT) relatives à au moins une précédente communication entre le premier terminal de communication (TC1) et le deuxième terminal de communication (TC2), comparer (E4) les première et deuxième clés générées, et autoriser (E4) l'établissement de la communication si les clés comparées sont identiques.