Page d'accueil LEST

Page d'accueil de l'équipe TST du LEST





[Diffusion de la culture scientifique]

[Offres de stage/thèse]

Université de Bretagne Occidentale

ENST Bretagne


ENSIETA

Axes de Recherche de l'équipe

 

Analyse de trains binaires en contexte non-coopératif pour les communications numériques

Responsable : Roland Gautier (MC),
Intervenants permanents : Gilles Burel (PR), Stéphane Azou (MC), Koffi-Clément Yao (MC),
Intervenants non permanents : Mélanie Marazin (Doctorante)

I. Contexte

Les systèmes de transmissions pour les communications numériques sont en constante expansion et leur utilisation s'est généralisée dans l'ensemble des domaines d'applications de la vie courante, que ce soit dans le domaine privé ou professionnel. Ils sont présents dans les communications radio-mobiles (i.e Cellulaires), dans les réseaux locaux (ou métropolitains) sans fils, dans les applications en acoustique sous-marine, satellitaires, spatiales et beaucoup d'autres encore. Nous assistons donc également de fait à une prolifération des standards ou normes de transmission, ce qui entraîne de gros problèmes de compatibilité et un manque de souplesse du point de vue de l'utilisateur. Il devient donc nécessaire de concevoir des systèmes (terminaux) adaptatifs et auto-configurants. De plus, cette prolifération de standards et applications faisant appel à des systèmes de communications numériques soulève également des problèmes de sécurité de ces applications et il est également nécessaire de mettre au point des récepteurs capables de mettre à l'épreuve les systèmes de transmissions pour les communications numériques actuels au niveau de l'identification des paramètres de la transmission sans connaissance a priori sur ceux effectivement utilisés par l'émetteur.
Au sein du laboratoire, l'équipe « Traitement du Signal pour les Télécommunications » (TST) s'intéresse particulièrement depuis quelques années à la détection et l'analyse de transmissions. En particulier, nous avons commencé à nous pencher sur l'analyse de trains binaires obtenus après démodulation de signaux interceptés issus de transmissions pour les communications numériques. Cet axe de recherche a été initié à l'origine par un intérêt scientifique, car l'étude des caractéristiques à partir d'un train binaire d'une transmission pour les communications numériques est très difficile puisque tout doit se faire en aveugle sans connaissance a priori de ce que l'on doit trouver et donc très stimulant pour un chercheur. Cependant, les applications possibles de telles techniques de détection et de reconnaissance en aveugle sont nombreuses, que ce soit dans le domaine militaire, que dans le domaine civil pour la surveillance du spectre radiofréquences, la sécurité des transmissions ou les systèmes auto-configurants.
L'équipe TST possède un savoir faire dans le domaine de la détection et de l'analyse des différents blocs composant un chaîne de transmission numérique en contexte non-coopératif. Après détection de la présence de signaux de télécommunication au sens large du terme, même lorsque ceux-ci sont cachés sous le niveau du bruit ou sous une autre transmission (cf Sous thème - Détection/analyse de transmissions à spectre étalé : Application aux techniques d'accès multiples CDMA), il est alors nécessaire de déterminer l'ensemble des paramètres de ces signaux afin de récupérer au final l'information utile.
Cependant de nos jours les chaînes de transmissions numériques font appel à des techniques de codage de source et de codage canal de plus en plus performantes destinées à améliorer le débit, à combattre les erreurs de transmission et également à diminuer la probabilité de retrouver l'information en cas d'interception par un tiers. Ces techniques sont, par exemple, la compression ou la cryptographie au niveau du codage de source et l'entrelacement, l'embrouillage (« scrambling ») ou différent types de codage (codes en bloc, code convolutifs, code de Reed-Solomon, turbocodes, etc …) au niveau codage canal. Il devient alors très difficile d'identifier ces paramètres en aveugle, comme par exemple dans le cas des turbocodeurs, qui sont reconnus comme très performants par leur capacité de correction lors du décodage en réception.
Pour ces raisons, l'équipe TST du LEST développe des nouvelles méthodes basées sur l'analyse du train binaire en réception, permettant l'identification des paramètres de ces compresseurs, entrelaceurs, embrouilleurs et codeurs, destinées à la mise en oeuvre de récepteurs adaptatifs et auto-configurants suivant le standard de transmission utilisé, mais également à la surveillance du spectre radiofréquence pour éviter toute utilisation illicite, l'interception et l'écoute des télécommunications ou la surveillance des communications acoustiques sous-marines.

II. Résumé des travaux

Le cadre d'étude de ce sous-thème intitulé « Analyse de trains binaires en contexte non-coopératif pour les communications numériques », fait partie du thème principal « Interception des communications numériques et des signaux radars. Cette sous-thèmatique porte sur l'identification des paramètres des différents blocs de codage au sens large du terme qui peuvent être divisés en deux catégories distinctes et qui sont par ordre d'apparition au niveau du récepteur :
-    Le « Codage Canal » ;
-    Le « Codage de Source ».

Ces deux groupes de blocs de traitement ont des rôles bien distincts au niveau de la chaîne standard de transmission (i.e en contexte coopératif) :

-    Le « Codage Canal » ayant pour but de rajouter de la redondance, de disperser temporellement les éléments d'un même mot de code afin d'augmenter les performances de correction du code associé, de rendre difficilement accessible les données d'un utilisateur particulier par embrouillage de celles-ci, tout cela afin de pallier les erreurs engendrées par le canal de transmission et les éventuels brouilleurs potentiels.
N.B : Nous ne parlerons pas ici des blocs de « mapping » permettant de convertir le train binaire par regroupement d'éléments binaires en symboles d'une constellation numérique associée (exemples : BPSK, MAQ 4, 16 …,PSK8) dont la détection et l'identification font également l'objet de travaux au sein de l'équipe ou du bloc étalement de spectre qui est traité de manière spécifique au sein du sous-thème Détection/analyse de transmissions à spectre étalé : Application aux techniques d'accès multiples de type CDMA.

-     Le « Codage de Source » ayant pour but, d'une part d'éliminer au maximum les redondances présentes dans les données binaires informatives afin de diminuer au maximum la quantité de données à transmettre et du même coup augmenter le débit de la transmission, d'autre part de protéger l'information contre toute tentative de récupération de l'information par une personne non autorisée.

L'équipe TST a donc été amenée à développer des méthodes et algorithmes permettant d'identifier les différents paramètres de chacun des blocs de ces deux catégories, ceci principalement dans le cadre de contrats avec des organismes militaires et des grandes entreprises travaillant dans le domaine.

Nous allons maintenant faire un petit résumé des différents travaux déjà effectués dans les domaine en commençant par les blocs de Codage Canal, puis en abordant la partie codage de Source.

II.1 Détection et identification des blocs « Codage Canal »

Les différents blocs « Codage Canal » que nous avons jusqu'à présent traités sont :
-    Embrouillage ou « scrambling » ;
-    Codage ;
-    Entrelacement.

La première étude que nous avons entreprise a porté sur l'identification de l'état initial d'un embrouilleur décrite ci-dessous.

II.1.1 Etudes sur l'identification de l'état initial d'un embrouilleur

Le bloc embrouilleur ou « scrambler » consiste à multiplier élément par éléments les données binaires par une séquence pseudo aléatoire donnée de très grande taille afin de brouiller le train binaire initiale et rendre plus difficile l'interception du signal. Dans le cas de la norme GSM, c'est ce bloc d'embrouillage qui sert à différencier les différents utilisateurs par utilisation d'un décalage (« offset ») de la séquence de brouillage propre à chaque utilisateur et présent dans la carte SIM du téléphone et dans la base de donnée de l'opérateur. Tous les téléphones ont à l'intérieur un générateur de séquence d'embrouillage identique synchronisé par rapport aux horloges atomique des satellites de télécommunications et/ou GPS, permettant ainsi de générer une séquence de très longue durée (40 jours ~). La seule différence entre les différents utilisateurs réside dans l'initialisation à un instant donné de la position temporelle à l'intérieur de la séquence globale du générateur de séquence d'embrouillage d'un utilisateur particulier. Cette position temporelle particulière à l'intérieur de la séquence d'embrouillage est donnée, d'une part pour tous les utilisateurs par le temps courant et d'autre part par le décalage particulier affecté à un utilisateur donné. Le processus d'embrouillage permet d'assurer un degré de sécurité raisonnable au niveau du caractère privé des données et également de générer un train binaire le plus aléatoire possible avec de bonnes propriétés spectrales.

Précision importante : Il ne faut surtout pas confondre le bloc d'embrouillage avec celui d'étalement de spectre. D'une part, l'opération d'étalement de spectre modifie le débit puisque le train de symboles informatif est multiplié par une séquence pseudo aléatoire de fréquence L fois supérieure à celle du train de symboles initial, avec L la longueur de la séquence d'étalement. Dans le cas de l'embrouillage la fréquence de la séquence d'embrouillage est identique à celle du train informatif. D'autre part, ce qui prête souvent à confusion, c'est le fait que le bloc d'étalement de spectre est généralement utilisé comme technique d'accès multiple de type CDMA et que dans ce cas il est dit que l'utilisation de séquences différentes permet de différencier les signaux de plusieurs utilisateurs. En vérité, la technique CDMA permet de différentier les canaux physiques de données où effectivement certains peuvent contenir les données de différents utilisateurs à l'intérieur d'une cellule donnée, mais peuvent également différencier des canaux de type différents pour un même utilisateur (canal trafic, canal paging, canal d'accès …). Cependant, même si le CDMA permet de séparer les signaux de différents utilisateurs de façon générique, le bloc d'embrouillage permet lui d'identifier « physiquement » de manière unique l'utilisateur qui transmet. Pour simplifier nous pouvons donner l'exemple suivant : le CDMA (bloc d'étalement de spectre) permet de dire voici le signal d'un utilisateur que l'on peut noter n°1 et celui d'un autre utilisateur que l'on peut noter n°2. L'embrouillage permet de dire, le signale n°1 est celui de Mr Michel Duran et le signal n°2 est celui de Mr Charles Dupont.

Le but de notre étude a été de développer une méthode permettant d'identifier le décalage (« offset ») à l'origine de la séquence de brouillage pour un utilisateur donné.

Résumé de la méthode développée pour l'identification de l'état initial d'un embrouilleur  en contexte non-coopératif :

Comme le montre la Figure 1, dans de nombreux systèmes de transmissions numériques les données binaires sont tout d'abord encodées pour les protéger des erreurs liées au canal de transmission (en utilisant, par exemple, un code en bloc ou un code convolutif). Ensuite, le flux binaire est embrouillé en effectuant un OU exclusif (XOR) avec une séquence speudo-aléatoire longue. Les données binaires embrouillées sont finalement envoyées au bloc numérique d'émission chargé d'effectuer la mise sur porteuse, le filtrage et l'amplification.

 
Figure 1 : Schéma général des blocs codeur + embrouilleur au niveau de l'émetteur


Du coté du récepteur, le signal reçu est démodulé afin de retrouver le train binaire embrouillé. Puis, les données sont désembrouillées et décodées.

Le récepteur classique est capable d'effectuer le désembrouillage car il connaît la séquence d'embrouillage et le décalage temporel initial de celle-ci pour l'utilisateur en question. Nous avons donc proposé une méthode permettant en contexte non-coopératif, d'identifier ce décalage.

Hypothèses de travail :

-    Le polynôme générateur de la séquence d'embrouillage est supposé connu : i.e donné dans la norme.
-    La structure du codeur et ses paramètres sont connus : i.e donné dans la norme.

Méthode proposée :
Le principe de la méthode est d'utiliser la redondance introduite par le codeur et peut être décomposée de la manière suivante :

1-    Projection des données observées sur le sous-espace orthogonal engendré par le codeur ;
2-    Estimation du décalage de la séquence par résolution d'un système d'équations linéaires ;
3-    Récupération du train binaire informatif.

Modèle mathématique de l'embrouillage :

 
Figure 2 : Schéma de principe pour la modélisation mathématique de l'embrouillage


Les données binaires embrouillées sont décrites par l'équation suivante :
 

Description mathématique de la méthode :
-    Calcul du sous-espace orthogonal  dans GF(2) tel que :   ;
-    Projection du train binaire de données sur   ; l'intérêt étant que les données encodées n'ont aucune influence sur   ;
-    Obtention d'un système linéaire :   ;
-    Finalement nous obtenons :   ; ce qui nous permet d'effectuer un désembrouillage classique, ainsi que le décodage pour retrouver le train binaire informatif initial.

La Figure 3 montre les différentes étapes de la méthode mathématique sous une graphique de représentation de matrices et vecteurs, avec tous les calculs effectués dans GF(2).

 
Figure 3 : Représentation sous forme graphique du processus d'embrouillage à partir d'un exemple


Des simulations ont été effectuées pour illustrer et valider la méthode sur des exemples où les différents paramètres ont été pris dans des normes de télécommunications comme l'IS95, la norme WLAN 802.11a. Les résultats ont été concluants et ont montrés la pertinence de notre approche. Cette étude a fait l'objet d'un stage de DEA et également d'une publication dans une conférence internationale.

II.1.2 Etudes sur la détection et l'identification de codeurs et entrelaceurs

Les blocs codage et entrelacement font partie des préoccupations majeures de l'équipe, car ils sont présents dans tous les standards et normes pour les communications numériques. De plus, ils sont également de part leurs performances accrues en termes de corrections des erreurs de transmissions et leur complexité un challenge permanent au niveau de leur détection et identification en aveugle en contexte non-coopératif.

La plupart des études et résultats actuels dans ce domaine sont étroitement liés à des contrats, permettant à l'équipe de financer les études plus académiques de l'équipe. Cependant les difficultés inhérentes au problème de l'identification de ces codeurs et entrelaceurs sont d'un point théorique une source de questions permanentes en termes de recherche de nouveaux algorithmes et mises en oeuvre d'outils mathématiques existants dans un contexte totalement différent de leurs utilisations traditionnelle.

Ces études ont un lien direct avec la cryptanalyse et repose sur des fondements mathématiques complexes, ainsi que sur des propriétés liées à la conception même des chaînes de traitement pour les communications numériques, qui ne sont en général pas ou peu exploitées en contexte coopératif. Dans le contexte non-coopératif, toutes les bonnes propriétés imposées aux codeurs pour que la réception se passe sans problème dans le cas classique coopératif et que la correction des erreurs puisse être efficace ont des implications fortes sur la faisabilité d'une identification en aveugle.

Il est possible de séparer les axes abordés dans ces études sur les codeurs et les entrelaceurs en deux :
-    Un premier axe consiste en l'étude du bloc codage seul avec tous les types de codeurs envisageable et le développement d'algorithme d'identification de ces codeurs.

-    Un deuxième axe consiste en l'étude conjointe des blocs codeur et entrelaceur, sachant que l'étude du bloc entrelaceur sans faire l'hypothèse de la présence d'un codeur en amont à l'émission est irréaliste d'un point de vue purement théorique.

Rôle d'un codeur :
Le but d'un codeur est de permettre en réception la correction des erreurs liées au canal de transmission par introduction de redondance dans le train binaire au niveau de l'émetteur.
Les performances en termes de correction dépendent :
-    Du type de codeur :
o    Codes en blocs ;
o    Codes convolutifs ;
o    Code Reed-Solomon ;
o    Turbocodes ;
o    Codes LDPC, etc ….
-    Des paramètres du codeur à l'intérieur d'une classe donnée :
o    Taille des mots d'information en entrée du codeur ;
o    Taille des mots de code en sortie du codeur ;
o    Distance minimale ;
o    Distance libre ;

Rôle d'un entrelaceur :
Le but d'un entrelaceur est de disperser temporellement les éléments binaires appartenant à un mot de code particulier, afin de permettre en réception de faciliter la tâche du décodeur lorsque le canal de transmission génère des erreurs par paquets (« Burst errors »). L'opération d'entrelacement correspond d'un point de vue mathématique à un ensemble de permutations des éléments binaires à l'intérieur du flux de données et l'introduction de retards. La plupart des codes correcteurs d'erreurs permettent de corriger un nombre limité de bits ou symboles sur un mot de code et en plus à condition que c'est erreurs soient uniformément réparties dans le temps. Malheureusement, certains types de canaux engendrent des séquences d'erreurs consécutives et dépassent le pouvoir de correction du code utilisé. Pour cette raison, l'adjonction d'un entrelaceur à l'emission, permet en réception après désentrelacement de re-disperser les erreurs et donc de réduire de manière conséquente les erreurs à l'intérieur d'un même mot de code.
   
Les performances en termes de correction et la facilité de mise en oeuvre dépendent :
-    Du type d'entrelaceur :
o    Entrelaceurs par blocs ;
o    Entrelaceurs multiplexés ou convolutifs.
-    Des paramètres de l'entrelaceur à l'intérieur d'une classe donnée :
o    Taille ou longueur de l'entrelaceur (cas desentrelaceurs par blocs);
o    Taille et nombre des bancs de registre (cas des entrelaceurs convolutifs);
o    Mémoire ;
o    Latence ;
o    Facteur d'étalement ;
o    Facteur de dispersion, etc …

Les algorithmes qui ont été développés dépendent donc en grande partie des caractéristiques propres des codeurs et entrelaceurs utilisés.

Approches utilisées :
Nous avons mis en oeuvres plusieurs méthodes afin d'être en mesure de détecter la pésence de codeurs/entrelaceurs et d'identifier les paramètres des codeurs/entrelaceurs étudiés. L'ensemble des algorithmes développés sont basés sur des calculs dans le corps de Gallois GF(q) (souvent GF(2) dans le cas binaire).

1) Approches algébriques :
Nous avons été amené à développer dans un premier temps des méthodes purement algébriques basées sur des critères de rang de matrice dans GF(2) dans le cas de transmission non-entachée d'erreurs, afin de déterminer les paramètres des codeurs/entrelaceurs. Ces travaux ont fait l'objet d'une publication dans une conférence internationale.


Exemple de procédure d'estimation en aveugle des paramètres caractéristiques d'un bloc conjoint codeur/entrelaceur en contexte non-coopératif :

La Figure 4 est un schéma simplifié des traitements effectués au niveau de l'émetteur avec présence d'un codeur en bloc et d'un entrelaceur par bloc. Il décrit également, pour comparaison et la bonne compréhension des difficultés inhérentes au contexte non-coopératif, l'ensemble des paramètres qui sont connus ou inconnus en contexte coopératif et non-coopératif.

 
Figure 4 : Schéma simplifié des blocs codeur + entrelaceur


N.B : Dans cet exemple, le but n'est pas de montrer l'ensemble de la procédure permettant l'identification complète du codeur et de l'entrelaceur, mais de montrer une approche permettant d'identifier certains paramètres des ces deux blocs permettant au lecteur d'obtenir un petit aperçu des travaux effectués dans le domaine par notre équipe.

La méthode proposée consiste plus précisément à :
-    Estimer la période (ou taille) de l'entrelaceur ;
-    D'effectuer une synchronisation aveugle sur les blocs de l'entrelaceur ;
-    D'estimer le rendement du code.   

Cette méthode exploite la structure particulière de la matrice reliant les données interceptées aux données initiales avant codage et entrelacement, comme cela est illustré sur la Figure 5 ci-dessous. Cette figure est établie pour un code en bloc, mais le raisonnement est similaire pour un code convolutif.

Sur cette figure, Gi désigne une matrice (inconnue) représentant globalement l'effet du bloc « codeur+entrelaceur ». Les dimensions (inconnues) ni et ki de cette matrice représentent respectivement la taille de l'entrelaceur et cette taille multipliée par le rendement du codeur.

 
Figure 5 : Structure de la matrice reliant données interceptées / données initiales avant codage



Cette figure fait apparaître les différentes inconnues du problème :

•    La taille de l'entrelaceur, ni
•    La position des blocs entrelacés. Cette inconnue est représentée par le décalage entre les blocs réels et une fenêtre d'analyse de taille na. Déterminer ce décalage consiste à réaliser une synchronisation aveugle.
•    Le rendement du codeur. Ce rendement est égal au rapport ki/ni.
•    Le contenu de la matrice Gi. La détermination de ce contenu revient à identifier globalement le bloc « codeur+entrelaceur ».

La méthode fonctionne en utilisant une fenêtre d'analyse de taille na. Le contenu de cette fenêtre et lié aux données non codées et non entrelacées par un matrice inconnue Ga, représentée sur la figure.

Si la taille na de la fenêtre d'analyse est multiple de la taille de l'entrelaceur, les matrices Ga correspondant aux fenêtres d'analyse successives deviennent identiques (voir Figure 5 ci-dessous), alors qu'elles sont différentes dans le cas contraire. Il apparaît alors une cohérence globale entre les fenêtres d'analyse, qui conduit à l'observation d'une chute de rang dans une matrice construite par empilement de toutes les fenêtres d'analyse.

 
Figure 6 : Structure de la matrice reliant données interceptées / données initiales avant codage lorsque la taille na des fenêtres d'analyse est multiple de la taille de l'entrelaceur



La Figure 7 suivante montre un exemple d'évolution du rang normalisé de cette matrice en fonction de la taille de la fenêtre d'analyse. Des bornes théoriques (courbes en rouge et en vert) peuvent être calculées, ce qui permet de prédire l'importance de la chute de rang éventuelle. On voit notamment que la première chute de rang peut parfois être invisible (lorsque la borne supérieure est atteinte), ce qui mettrait en défaut une méthode trop optimiste, utilisant trop peu de données interceptées.

 
Figure 7 : Courbe représentant l'évolution du rang normalisé en fonction de la taille de la fenêtre d'analyse


Lorsque la taille de l'entrelaceur a été estimée, une synchronisation aveugle est réalisée. On peut montrer que le rang atteint un minimum lorsque la fenêtre d'analyse est correctement synchronisée. La Figure 8 ci-dessous illustre l'évolution du rang en fonction de la position de la fenêtre d'analyse. La courbe en rouge représente un minimum théorique, que l'on peut pré-calculer. On peut observer que ce minimum théorique est atteint lorsque la synchronisation est correcte.

 
Figure 8 : Courbe d'évolution du rang en fonction de la position de la fenêtre d'analyse



Cela est dû au fait que dans le cas synchronisé, la matrice Ga prend sa forme la plus compacte, comme on peut le voir sur la Figure 9 ci-dessous.

 
Figure 9 : Forme la plus compacte de la matrice globale


Lorsque la synchronisation aveugle a été réalisée, des outils d'algèbre linéaire, permettent d'identifier le contenu de la matrice Gi.

Dans le cas des codeurs convolutifs, des algorithmes basés sur la résolution de systèmes linéaire dans GF(2), nous ont permis de remonté jusqu'aux polynômes générateurs des codeurs.

Nous avons également été capables, dans le cadre d'un contrat d'identifier l'ensemble des paramètres d'un Turbocodeur convolutif parallèle et de retrouver une grande partie de ceux d'un Turbocodeur série.

2) Approches probabilistes et itératives :
Dans un deuxième temps, nous avons exploré des améliorations possibles dans le cas de l'extension au cas où le train binaire est entaché d'erreurs de transmission. Ces approches ont consisté à utiliser un critère probabiliste pour quantifier la quantité de redondance introduite par le codeur et de rendre le processus itératif afin d'améliorer à chaque passe la qualité de l'estimation des paramètres.

3) Approches statistiques :
Finalement, dans le cadre d'un autre contrat avec une grande entreprise, nous avons mis en œuvre des algorithmes purement statistiques, basés sur les sous-espaces duaux des codeurs et l'identification de matrice de parités.

II.2 Détection et identification des blocs « Codage de Source »

L'étude sur la détection et l'identification des blocs « Codage de Source » a essentiellement porté jusqu'à présent sur le bloc « Compression », le bloc « cryptographie » étant à lui tout seul un domaine à part relevant plus particulièrement des Mathématiques appliquées à l'informatique qu'au traitement du signal pour les communications numériques. Cette étude fait partie des travaux de recherche entamés en interne au sein de l'équipe TST depuis quelques années dans le domaine de l'analyse de train binaire et tout particulièrement sur la détection et l'identification des paramètres de compresseurs en contexte non coopératif.

L'émergence des applications nouvelles qui intègrent la voix et les données dans une même communication nécessite la mise au point de méthodes de compression efficaces, flexibles et qui garantissent la confidentialité des messages. Chaque type d'information (texte, image, audio, vidéo) possède son propre système de codage. Les exigences du codage à débit réduit (la bande passante n'est pas une ressource extensible) conduisent à des algorithmes de compression de plus en plus variés et sophistiqués. Parmi ceux-ci, on peut citer les standards de compression pour :

•    les textes et donnée binaires  (ZIP, GZIP, LZW, etc..) ;
•    l'audio (vocodeurs LPC, MP3, Ogg, etc..) ;
•    les images (JPEG, GIF, PNG, etc..) ;
•    la vidéo (MPEG-n, etc..) ;
•    la télécopie (JBIG, CCITT Groupe4, etc..).

Dans certaines situations comme par exemple la surveillance des fréquences, l'écoute en environnements non coopératifs, l'opérateur peut être conduit à intercepter des signaux dont il n'est pas forcément destinataire. Dans ces cas, une fois la démodulation et le décodage de canal réalisé(e)s, il lui est nécessaire de disposer de méthodes permettant l'identification des algorithmes de codage de source ayant servi à la compression des signaux.

Il existe une multitude d'algorithmes de compression regroupés sous divers standards. Suivant que ces algorithmes sont conçus dans le but de pouvoir reconstruire entièrement ou partiellement la donnée originale après décompression, on parle d'algorithmes de compression sans perte et avec perte.

-    La compression sans perte restitue entièrement les données originales après la décompression, ce qui lui vaut d'ailleurs d'être désignée parfois comme une procédure de compactage.

-    La compression avec perte s'appuient généralement sur la quantification et le codage par transformée. Ces techniques sont utilisées pour des applications où une certaine dégradation des données est tolérée, situations que l'on rencontre dans la compression des images et des sons par exemple.

Qu'ils soient avec ou sans perte, les codeurs de source peuvent être regroupés en trois catégories :
-    Les algorithmes à base de dictionnaire ;
-    Les algorithmes à base de transformation ;
-    Les algorithmes à base de modélisation statistique

Les quelques procédures présentées dans le paragraphe précédent et utilisées pour la compression des données soulignent la grande diversité et surtout la complexité des codeurs de sources. On peut dès lors envisager deux grandes familles d'approches pour l'identification de codeurs de source en contexte non coopératif :

-    Une approche basée sur la reconnaissance de marquants spécifiques à chaque standard (structure de trame, d'entête, mots de contrôle, …). Cette approche, qui nécessite un important travail pour répertorier les standards et en extraire les marquants, devrait donner d'excellents résultats dès lors que le signal intercepté correspond à l'un des standards répertoriés et que la totalité, ou tout au moins l'entête du signal est disponible.

-    Une approche purement statistique, basée sur l'exploitation des imperfections statistiques de la plupart des codeurs de source. Cette approche ne nécessite pas la disponibilité de zones particulières du signal (entête, …) et a l'avantage d'être simple et rapide, mais, de par sa nature statistique, elle présente des risques de confusions résiduelles qu'il conviendra d'estimer.

La première approche relève par nature d'une recherche exhaustive des propriétés des normes en vigueurs et n'a aucun intérêt en termes de méthodes innovantes en traitement du signal pour les télécommunications. Seule la seconde approche a été choisie afin de développer des algorithmes novateurs et intéressants d'un point de vue traitement du signal.

L'avantage de la méthode statistique est qu'elle ne nécessite pas de connaître les algorithmes de compression dans les moindres détails pour réaliser leur identification. L'idée est en effet d'étudier les propriétés statistiques, énergétiques, temporelles et spectrales des données compressées afin d'en déduire les codeurs de source ayant servi à leur compression. Le prix à payer pour cet avantage est le risque de confusions résiduelles, comme mentionnées plus haut. En effet, la méthode réalise la reconnaissance en apprenant à détecter automatiquement les imperfections statistiques de chaque compresseur. A mesure que les algorithmes de compression s'améliorent, le train binaire compressé ressemble de plus en plus à un bruit blanc et l'approche statistique peut donc être mise en défaut avec certains algorithmes de compression récents. En résumé, l'approche statistique peut donc constituer un complément ou une alternative à la méthode basée sur la reconnaissance de marquants.

Principe général de la méthode statistique actuellement proposée pour la détection et l'identification de compresseurs :

La compression a vocation à réduire la redondance contenue dans le signal informationnel. L'un des principaux effets du codage de source, bien que non initialement recherché, est de dissimuler le signal informationnel en le transformant en un signal ayant l'apparence du bruit blanc. Cette opération a pour conséquence de rendre plus difficile l'interception et le décodage du signal utile en contexte non coopératif. Ainsi, un opérateur non destinataire du message et qui, par conséquent, ignore le codeur de source employé pour comprimer ce signal peut avoir des difficultés à extraire de l'information de ce signal très proche d'un bruit blanc.

Cependant, malgré la multiplicité et la complexité croissantes des algorithmes de compression, on peut s'attendre, à juste titre, à ce que la transformation réalisée sur le signal informationnel par les codeurs de source ne soit pas parfaite.

Comment mettre donc en évidence les traits caractéristiques des codeurs de sources ? Une approche possible consiste à développer un système de classifieurs en mode supervisé.

La démarche adoptée peut s'articuler autour de trois phases :

1)    le développement des outils de traitement du signal pour l'extraction des paramètres ;

2)    l'extraction et la sélection des paramètres discriminants (paramètres susceptibles de contenir des informations pertinentes sur le compresseur) ;

3)    la classification et l'identification des compresseurs à partir des vecteurs de paramètres associés.


 
Figure 10 : Un exemple d'organigramme de la procédure d'aide à l'identification de codeurs de source



Nous avons imaginé le développement de classifieurs dédiés à l'identification d'un type particulier de compresseur (ex. MELP, OGG, GSM … ) à la suite d'un premier classifieur qui permet lui d'identifier la classe à laquelle appartient ce compresseur, c'est-à-dire la classe audio dans l'exemple. On réalise ainsi un système à coopération de classifieurs. L'organigramme de la Figure 10 décrit un exemple de procédure à suivre pour l'aide à la décision.

Cependant, avant cette procédure, il est nécessaire de constituer une base de données des signaux compressés selon la démarche suivante (voir Figure 11):

•    Constituer une batterie de programmes exécutables de compresseurs associés aux types de données (texte, images, audio...) considérées ;
•    Constituer une base de données originales (texte, images, audio...) ;
•    Générer une base de fichiers compressés : à chaque classe de fichiers originaux, on applique le compresseur dédié pour générer les fichiers compressés équivalents.


Ce sont ces fichiers qui serviront de base pour l'étude. Une étude approfondie des propriétés temporelles, statistiques, énergétiques et spectrales de ces fichiers compressés permet alors de révéler leurs paramètres caractéristiques pouvant servir à leur identification.


 
Figure 11 : Construction de la base de données des signaux compressés



Quelques outils de traitement du signal pour l'extraction des paramètres :

Nous nous sommes intéressés à des outils de traitement du signal très simples à mettre en œuvre. Ces outils doivent permettre de générer des paramètres caractéristiques afin d'alimenter le classifieur (Figure 12).

Les signaux sont constitués de trains binaires qui sont lus sur des groupements de n bits, afin d'en faire ressortir certains comportements caractéristiques, appelés également paramètres discriminants, après application des outils de traitement du signal.
 

 
Figure 12 : Apprentissage en mode supervisé du classifieur neuronal



Les outils que nous avons mis en œuvre et qui ont donnés des résultats prometteurs sont :
 
-    La densité spectrale de puissance (DSP) estimée : La densité spectrale de puissance (DSP) d'un signal donne la répartition de la puissance de ce signal en fonction de la variable fréquentielle. La DSP est de fait une estimation du spectre de ce signal. Elle permet de révéler des périodicités cachées (présence de pics spectraux) dans le signal lorsque par exemple la représentation temporelle ne le permet pas.

L'un des effets du codage de source étant de transformer le signal codé en un bruit (presque) blanc, la performance du codeur de source pourrait se mesurer à « la platitude » de la DSP du signal compressé résultant. Le niveau spectral du signal compressé peut donc être un facteur discriminant pour identifier un algorithme de compression (voir la Figure 13 ci-dessous)

 
Figure 13 : Représentation de la densité spectrale de puissance (DSP) de quelques signaux de vocodeurs



-    La densité de probabilité a posteriori (DDP) estimée : La diversité et la complexité des codeurs de source peuvent naturellement donner à penser que les signaux issus de la compression des données par ces codeurs présentent des lois de probabilité très différentes. En outre, si l'on admet qu'un signal original (signal avant compression) contient des redondances, il est à tout à fait légitime de penser que sa densité de probabilité (DDP) après compression soit différente de celle de l'original.



Figure 14: Représentation de la densité de probabilité (DDP) de quelques signaux de vocodeurs



-    La modélisation par prédiction linéaire (LPC) : Nous avons extrait les coefficients de prédiction linéaire (ou LPC pour Linear Predicting Coding) comme paramètres caractéristiques pouvant aider à l'identification des codeurs de sources surtout les compresseurs de signaux audio. En effet, la plupart des vocodeurs (codeurs spécialisés pour les signaux audio) utilisent le principe de la prédiction linéaire, ceci afin de prendre en compte la corrélation entre les échantillons voisins du signal.

Non seulement le modèle de prédiction linéaire permet de prendre en compte la corrélation entre échantillons voisins mais en outre il peut contenir les traits caractéristiques du vocodeur. Fort de ce constat, cette modélisation a été considérée dans le cadre d'un contrat sur l'identification de standards de codeur de source au sein de l'équipe TST. Les coefficients LPC extraits des fichiers compressés exhibent certes des caractéristiques des vocodeurs étudiés mais le critère de sélection des coefficients pertinents parmi ceux-ci, reste quelque peu heuristique. Il faudra donc pousser les investigations en vue de l'amélioration de la procédure de sélection de ces paramètres.

-    L'analyse par corrélation canonique (ACC) : L'analyse par corrélation canonique (ACC) est une méthode qui permet de mesurer la dépendance linéaire entre deux variables aléatoires multidimensionnelles. Introduite pour la première fois par H. Hotelling en 1936, la CCA est un outil standard en analyse statistique des données habituellement utilisée en économie, métrologie etc… mais étrangement absente dans la communauté du traitement du signal et de l'apprentissage.

L'ACC peut être vue comme une méthode qui vise à déterminer deux vecteurs de base x et y à partir de deux jeux de données, de sorte que la corrélation entre les projections de ces variables sur ces vecteurs de base soient mutuellement maximales. Une propriété importante de l'ACC, c'est qu'elle reste invariante par rapport à une transformation affine, ce qui constitue la propriété principale qui différentie l'ACC de l'analyse par corrélation classique.

On peut utiliser ce type d'analyse lorsque l'on veut trouver les relations entre différentes représentations des mêmes objets par exemple.


Les premiers résultats obtenus dans le cadre d'un contrat avec un organisme militaire sont très encourageants en termes de performance de classification.

Les principaux points durs du problème à résoudre et les questions en cours d'investigations :

-    La multiplicité et la complexité des standards actuellement disponibles ne sont pas de nature à faciliter le développement d'un système d'identification en contexte non coopératif.

-    Le nombre de bits de lecture des trains binaires interceptés : Dans l'état actuel de nos travaux sur l'identification de codeurs de source, un fichier lu sur un ou deux bits révèle moins de caractéristiques saillantes par rapport au même fichier lu sur un nombre de bits différents. Un choix précédent de 8 bits de lecture a donné des résultats très satisfaisants mais peut-on pour autant plébisciter ce choix pour tout type de données ?

-    La durée d'observation du signal : Combien d'échantillons faut il prendre en compte pour une estimation correcte des paramètres ?

II.3 Optimisation des algorithmes et aspects opérationnels
   
La plupart des algorithmes ont été développés initialement à l'aide du logiciel MATLAB® qui est très gourmant en espace mémoire à cause de son codage des nombres en double précision pour effectuer ses calculs en interne. Pour cela, nous avons à chaque étape du développement de nos algorithmes fait en sorte d'optimiser les calculs en effectuant les opérations strictement nécessaires et de la manière la plus appropriée en fonction des données manipulées. Nous avons également, à l'issue des phases de test de validité de nos algorithmes, codé une grande partie de ces algorithmes en C afin d'accélérer les calculs et de profiter des optimisations possibles inhérentes à la manipulation de données binaires en terme de stockage et type d'opérations.

Cependant, les algorithmes nécessitent tout de même de manipuler de grande quantités de données pour la résolution de systèmes linéaire de grande taille, tout cela en fonction des paramètres des codeurs et des entrelaceurs à intercepter, dont les tailles peuvent devenir très importantes dans les normes ressentes (le taille d'un entrelaceur peut atteindre facilement 10000 ou plus, ce qui entraine le traitement de blocs de données de l'ordre de 100 M bits). Pour cela nous avons fait l'acquisition de deux serveurs bi-processeurs 64 bits (dont un est représenté sur la photo de la Figure 15) avec une capacité mémoire de 8Go spécialement dédiés pour ces applications afin d'être en mesure d'effectuer des tests sur des configurations proches de celles utilisées dans les normes actuelles.

 
Figure 15 : Serveur de calcul bi-processeurs 64 bits

III. Perspectives

La plupart de ces travaux ayant été développés dans le cadre de contrats, il n'a pas encore été possible de les publier. Cependant plusieurs publications sont en cours de rédactions et une thèse vient d'être lancée sur le sujet afin d'explorer de manière plus approfondie l'ensemble de ce sujet de recherche et d'aboutir à la valorisation des travaux par des publications internationales. Cette thèse financée par la Région Bretagne, a également pour but l'intégration de nos algorithmes sur une chaîne matérielle RF à 2.4 GHz, afin de tester en situation réelle nos algorithmes et de disposer d'un démonstrateur opérationnel.
 
La Figure 16 montre une photo de la chaîne RF complète permettant à partir d'un PC via liaison ethernet de transmettre un flux de données générées par exemple à l'aide du logiciel MATLAB® ou provenant d'un fichier.

 
Figure 16 : Chaîne matérielle d'émission / réception RF 2.4 GHz générique


La Figure 17 montre l'ensemble des modules matériels de la partie émission, qui comprend une partie interface ethernet pour liaison avec un PC, un module de stockage en RAM, un module de conversion numérique / analogique avec sorties I/Q, un modulateur avec mise sur porteuse dans la bande des 2.4 GHZ avec choix de la fréquence centrale et un étage d'amplification comprenant un duplexeur In/Out.

 
Figure 17 : Partie émission


Respectivement la Figure 18 montre l'ensemble des modules matériels de la partie réception, qui comprend un étage d'amplification comprenant un duplexeur In/Out, un démodulateur avec convertisseur analogique / numérique intégré avec obtention des symboles I/Q numériques, un module de stockage en RAM et une interface ethernet pour liaison avec un PC..

 
Figure 18 : Partie réception


L'ensemble des modules des parties émission et réception sont entièrement configurables à distance via une liaison série ou ethernet.

Cette chaîne a l'avantage d'être générique et de permettre dans un premier temps le post-traitement en réception par des algorithmes aveugle d'interception et dans un second temps d'adjoindre des blocs génériques à base de FPGA ou de DSP, où il sera possible d'implémenter nos algorithmes à l'aide de descriptions VHDL ou en C.

IV. Applications et valorisations

Les domaines d'application de ces travaux relèvent initialement en grande partie du domaine de l'interception militaire, beaucoup d'autres applications voient le jour, comme les récepteurs auto-configurant dans le cadre des projets « radio logiciel », la surveillance du spectre radiofréquence et surtout la sécurité des transmissions domaine mis en avant dans les pôles de compétitivités liés aux Télécoms.

L'arrivée de terminaux adaptatifs et auto-configurants permettra de mettre en œuvre de nouvelles applications et services interactifs, qui de plus pourront fonctionner quelque soit le standards ou/et le pays. Les terminaux pourront donc être vendus indépendamment du pays où se fera réellement l'exploitation et seront reconfigurables lors de l'utilisation pour une application donnée ou même pour mise à niveau du terminal sans nécessité de le renvoyer en usine ou d'en racheter un nouveau. Les « bugs » pourront donc être corrigés comme pour des logiciels de manière transparente pour l'utilisateur.

De plus, nos approches visent à l'amélioration de la sécurité des transmissions, par l'apport de moyen de test pour vérifier le degré de résistance d'une structure d'émetteur et de ses paramètres face à une tentative d'identification aveugle des paramètres de cette transmission.

Les aspects matériels de notre projet sont indéniablement des apports potentiels important au progrès technologique régional et sont tout à fait en adéquations avec les préoccupations des pôles de compétitivités développés au sein de la région. Sont concernés en particulier le pôle "Image et Réseaux", par l'intermédiaire de la préoccupation croissante de reconfigurabilité et de sécurité des transmissions sur réseaux, et le pôle Mer, par l'intermédiaire de la sécurisation des transmissions en acoustique sous-marine.

V. Thèses

* Mélanie MARAZIN, « Mise en oeuvre d'un récepteur auto-configurant en aveugle: Application à la sécurité des transmissions pour les communications numériques »
Financement : Région Bretagne
Directeur de thèse : G. Burel, Co-encadrant : R. Gautier
Date de soutenance prévisible : octobre 2009

VI. Publications

Une grande partie de ces publications sont disponibles au format PDF dans la rubrique générale Publications de ce site.

* R. Gautier, G. Burel, J. Letessier, and O. Berder, "Blind Estimation of Scrambler Offset using Encoder Redundancy", Thirty-Sixth Annual Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, California, November 3-6, 2002.

* G. Burel and R. Gautier, “Blind Estimation of Encoder and Interleaver Characteristics in a Non Cooperative Context”, IASTED International Conference on Communications, Internet and Information Technology (CIIT 2003), Nov. 17-19, 2003, Scottsdale, AZ, USA.

VII. Contrats

[1] Reconnaissance de compresseurs à partir de transmissions interceptées
    Période : 2003-2004, Type de client : organisme militaire.

[2] Détection et identification de turbocodeurs
    Période : 2003-2004, Type de client : organisme militaire.

[3]Détection et reconnaissance de codeurs et d'entrelaceurs à partir d'une transmission interceptée
    Période : 2005-2007, Type de client : grande entreprise.