Brevet FR3034939A1 — publié le 20161014

Dispositif et procédé de protection des échanges pour téléphonie mobile Dans la téléphonie mobile, les systèmes modernes de protection résidents, qu'ils soient sous forme logicielle ou en partie matérielle, présentent pratiquement tous des failles potentielles. Entre la capture du son par le microphone, et le moment ou il va être codé, la voix peut être interceptée en clair et détournée. Le codage ne sert alors plus a rien. Inversement, après décodage et avant que le son ne soit restitué il peut être capturé et retransmis. Ceci et souvent effectué par des programmes malveillants ou 10 virus chargés à l'insu du propriétaire. La complexité des systèmes d'exploitation utilisés dans dé tels téléphones, exclut toute approche permettant d'éradiquer définitivement ce danger. Le dispositif, objet de cette invention, permet de neutraliser définitivement ce type de faille. 15 Schématiquement, il se compose d'un dispositif physique distinct du téléphone avec lequel il communique par l'intermédiaire d'un media quelconque, (bluetooth, wifi, filaire, nfc, rfid ou toute autre technique) . Les lettres entre parenthèse renvoient sur la figure 1. Un microphone (M) capte le son à transmettre, le numérise (A) puis le code 20 ( C ) et enfin l'envoie vers le téléphone via le transmetteur (T) . Inversement, le signal reçu par le téléphone est envoyé vers le dispositif via le même média, reçu par le récepteur ( R), décodé par le dispositif ( D) puis transformé en signal analogique ( N ) et transmis à un écouteur ou 3034939 2 haut-parleur ( E) (Figure 1). Les éléments M,A,T,R,N et E sont des éléments connus et ne seront pas décrits. Les parties C et D sont constituées soit d'un microcontrôleur ou 5 microprocesseur qui gère les élément C et D, soit de deux microprocesseurs ou microcontrôleurs distincts. Ce microprocesseur ou microcontrôleur communique avec A,T,N et E par des ports d'entrée sorties P1,P2,P3,P4. Le programme de gestion de ce ou ces microprocesseurs ou microcontrôleurs est contenu dans une mémoire de programme. Ce microcontrôleur ou microprocesseur gère aussi une liaison avec une mémoire amovible (X) de type « flash » via le port de communication P5. Cette liaison peut être de différentes sortes (parallèle, USB, série, I2c, etc....). Un dispositif physique (support) permet de solidariser cette mémoire avec le dispositif et d'assurer les contacts nécessaires à son fonctionnement. La forme, la capacité et les moyens de communication de cette mémoire sont définis par les besoins et la technologie employée. (par exemple, SD, micro-SD, mémoires boutons, etc.) Cette mémoire amovible (X) est préenregistrée en double exemplaire avec 1) une marque de fabrique, sous forme d'une suite de caractères, 3034939 3 2) un numéro de série unique sous forme soit binaire, soit d'une suite de caractères numériques ou alphanumériques 3) Un numéro de mémoire (1 ou 2) 4) une zone permettant de stocker des informations diverses 5 5) une suite de valeurs aléatoires sous forme binaire, alphanumérique ou autre, obtenues à l'aide d un dispositif extérieur générant des suites de nombres aléatoires vrais (VTRN) répondant aux normes en vigueur en cette matière. (par exemple, générateurs utilisant des phénomènes liés à la physique quantique). 10 Les deux exemplaires ne diffèrent que par le "numéro de mémoire" (3). Fonctionnement : partie codage C: Le signal électrique produit par le microphone (M) est converti en valeurs numériques par le convertisseur (A). Le nombre de bits de la conversion 15 (MOT) et la fréquence d'échantillonnage sont définis pour une qualité de transmission souhaitée. Ce signal peut aussi subir une transformation mathématique destinée à améliorer ses qualités (par exemple, modulation delta, compression etc....). La valeur numérique obtenue (MOT) est transmise au microcontrôleur ou 3034939 4 microprocesseur part le port P1. Le microcontrôleur ou microprocesseur va chercher dans la mémoire (X), dans la zone contenant la suite de valeurs aléatoires, à partir de l'adresse pointée par un pointeur (PT1), le nombre de bits correspondant au MOT reçu du convertisseur. Le microprocesseur ou 5 microcontrôleur va ensuite effectuer une opération XOR (ou exclusif) sur ces deux valeurs et envoyer le résultat sur le transmetteur (T) vers le téléphone mobile. Partie décodage D: Le signal numérique reçu par le récepteur ( R) qui est composé d'un MOT 10 ayant la même structure que dans la partie « codage C » va être comparé avec une valeur extraite de la mémoire (X), a l'adresse pointée par un second pointeur (PT2). La même opération XOR (ou exclusif) va être appliquée par le microcontrôleur ou microprocesseur entre ces deux valeurs. Le résultat sera envoyé sur (N ) qui délivrera un signal analogique envoyé 15 vers l'écouteur ou le haut-parleur ( E). Un système de communication complet est constitué de deux dispositifs (D1 et D2) similaires reliés chacun à un téléphone mobile. Les mémoires (X) des deux dispositifs (D1 et 02) ont été préenregistrées avec les mêmes valeurs. Elles sont des copies conformes 'sauf le numéro 3034939 5 de mémoire) tel que décrit plus haut.. Synchronisation des dispositifs: Le codage et le décodage nécessitent que les pointeurs (PT1 et (PT2) de chaque dispositif pointent sur les bonnes valeurs respectives de leur 5 mémoires (X). Premièrement, Lorsque le système utilise un MOT de la mémoire (X), il remplace les valeurs utilisées par un MOT n'apparaissant jamais dans la zone de valeurs aléatoires, puis pointe sur le MOT suivant. Par exemple, si la longueur du 10 MOT est de huit bits, on utilisera une suite de huit « 1 » en ayant pris la précaution au remplissage de la zone de valeurs aléatoire de ne jamais stocker un mot de huit "1 ". Deuxièmement, Par convention, le dispositif qui contient la mémoire (X) portant le numéro de 15 mémoire « 1 » va utiliser pour le codage la zone de mémoire aléatoire en partant des adresses basses vers les adresses hautes (pointeur PT1). Ce dispositif utilisera pour le décodage la même mémoire, mais en partant des adresses hautes vers les adresses basses (pointeur PT2) le dispositif qui contient la mémoire (X) portant le numéro «2 » va utiliser 3034939 6 pour le codage la zone de mémoire aléatoire en partant des adresses hautes vers les adresses basses (pointeur PT1). ce même dispositif utilisera pour le décodage la même mémoire, mais en partant des adresses basses vers les adresses hautes (pointeur PT2). 5 Troisièmement: Au démarrage, le dispositif attaché a chaque téléphone portable positionnera chaque pointeur sur la première adresse valide (ne contenant pas la valeur non aléatoire tel que décrit plus haut)) de la zone qui le concerne. Par exemple, Le pointeur (PT1) (codage) de la mémoire X 10 portant le numéro « 1 » « montera » jusqu'à la première valeur aléatoire valide. Le pointeur PT2 (décodage) « descendra » vers la première valeur valide de cette même mémoire (X). Une perte de données pour une raison quelconque, entraine le « retard » d'un pointeur de réception ( sur la mémoire X de numéro 1 ou X de numéro 15 2). Afin de recaler les pointeurs, une trame de synchronisation est envoyée à des intervalles réguliers par le circuit de codage (C). Cette trame comporte un « marqueur », c'est-à-dire une valeur qui ne peut être transmise normalement dans le flux de valeurs codées (suite de 0 et de 1 par exemple). Ce marqueur est suivi de la valeur du pointeur de codage 3034939 7 correspondant a ce moment précis. A la réception, le microcontrôleur ou le microprocesseur, « reconnaît » cette trame et extrait la valeur du pointeur. Si le pointeur « local » correspond, tout est correct. Si la valeur est différente (plus élevée), c'est qu'il y a eu désynchronisation et le pointeur local est 5 chargé avec cette valeur. Et se trouve de ce fait resynchronisé à la bonne adresse. Cette méthode évite d'utiliser deux mémoires distinctes par dispositif et permet de simplifier la procédure de resynchronisation. La trame de synchronisation ne perturbe que peu le signal; par exemple, si 10 l'on envoie une trame de synchronisation correspondant à cinq échantillons toutes les demi secondes dans un flux de 8000 échantillons par secondes (valeur minimale pour de la voix humaine), le rapport de perte d 'échantillons est de cinq sur quatre mille soit environ 0,1% Fin d'utilisation des mémoires ( X: 15 Lors de la transmission, le codage « consomme » du code. Les pointeurs PT1 et PT2 « se rapprochent l'un de l'autre ». La distance qui les sépare (le nombre de valeurs aléatoires valides restantes) divisé par le nombre d'échantillons envoyés par seconde constitue le temps de codage restant utilisable. 3034939 8 Afin de prévenir les utilisateurs , des bips sonores ou des signaux visuels sont émis par le système lorsque le temps d'utilisation est inférieur à une valeur fixée. Sécurité liée au transport des mémoires: 5 Les mémoires sont gravées en usine, par paires (elles portent le même numéro de série et une valeur 1 ou 2 pour les différencier). Leur acheminement vers les utilisateurs doit se faire en toute sécurité. 10 Ce procédé et dispositif est applicable a la transmission d'autres types de données .Une variante de ce dispositif consiste à remplacer le système de transmission (T) par une interface GSM/GPRS et de constituer un ensemble complet de communication protégées. 15 REVENDICATIONS1. Dispositif indépendant de chiffrement et déchiffrement pour 5 téléphonie mobile comprenant un moyen de capture de la voix (M), d'un moyen de conversion de cette capture en signal numérique (A), d'un moyen de chiffrement à partir d'une mémoire (X) , d'un moyen de transmission vers le téléphone mobile (T), d'un moyen de réception d'un signal chiffré issu du téléphone mobile (R), d'un moyen de déchiffrement utilisant la même 10 mémoire (X), un moyen de conversion du signal déchiffré en signal analogique, et d'un moyen de restitution de la voix (E). 2. Dispositif selon la revendication 1 caractérisé par le fait qu'il utilise un ou plusieurs jeux de deux mémoires permanentes effaçables et 15 amovibles. 3. Dispositif suivant la revendication 2 caractérisé par le fait que chaque mémoire d'un jeu est préenregistrée et composée d'une zone de données de service, et d'une zone de code contenant une suite de données 20 aléatoires vraies. 4. Dispositif selon les revendications précédentes caractérisé par le fait que la zone de code contenant la suite de données aléatoires vraies est identique sur chaque mémoire d'un même jeu. 5. Dispositif suivant les revendications précédentes caractérisé par le fait que le moyen de déchiffrement utilise un moyen de synchronisation constitué de l'adresse de la donnée aléatoire vraie ayant servi au chiffrement 25 30 6. Dispositif suivant les revendications précédentes caractérisé par le fait que le moyen de synchronisation est transmis sans avoir été chiffré.