Brevet FR2921528A1 — publié le 20090327

PROCEDE FOURNISSANT LES MOYENS DE RECONNAITRE L'ORIGINE ET/OU LE CONTENU D'UN SIGNAL RF La présente invention se rapporte à un procédé fournissant les moyens permettant de reconnaître l'origine et/ou le contenu d'un signal RF. On connaît de nombreuses techniques pour combattre le brouillage de signaux tels que ceux des radars. Par contre, dans un domaine tel que celui de la réception de signaux de radio-localisation, il faut disposer des mesures (dites pseudomesures) fournies par des satellites et de données d'éphéméride. Il est relativement facile de protéger les données d'éphéméride pour en garantir l'origine et/ou le contenu. Par contre, les caractéristiques des signaux de mesure sont dans le domaine public, et ne peuvent donc être protégés. Il est alors facile d'émuler ces signaux afin qu'un utilisateur obtienne des coordonnées de position géographique fausses. Il en est de même dans d'autres domaines de transmissions numériques tels que les télécommunications ou les diffusions de programmes de télévision. Peu de recherches ont été menées pour permettre de garantir l'origine de tels signaux RF. En effet, il est maintenant possible, si l'on met en oeuvre des calculateurs suffisamment puissants, de produire de façon malintentionnée des signaux imitant ceux émis par les satellites de géo-localisation. Ces techniques de leurrage sont dénommées en anglais � spoofing �. Quelques indications pour essayer d'authentifier les signaux reçus ont été décrites par exemple dans un article de Logan SCOTT � Anti-Spoofing and Authenticated Signal Architectures for Civil Navigation systems � paru dans la revue ION GPS/GNSS 2003, 9-12 Septembre 2003, Portland, OR. Toutefois, la détermination de l'origine et/ou du contenu des signaux reçus nécessite également d'importants moyens de calcul consommant une énergie non négligeable et n'est donc pas à la portée d'un simple utilisateur d'un récepteur de radio-navigation ou d'un utilisateur ordinaire abonné à des programmes de télévision numérique. La présente invention a pour objet un procédé fournissant les moyens permettant de reconnaître l'origine et/ou le contenu d'un signal RF sans nécessiter d'importants moyens de calcul, ces moyens de reconnaissance n'étant accessibles qu'à des personnes autorisées et étant pratiquement non modifiables et très difficilement détectables par des personnes non autorisées, et ce, dans diverses applications mettant en oeuvre des signaux RF transmettant des informations au moins en partie cachées. Le procédé conforme à l'invention est caractérisé en ce qu'on étale une information à cacher à l'aide d'un code caché, qu'on répartit cette information, à l'aide d'une fonction XOR (OU Exclusif), dans des codes connus à l'aide d'un algorithme de répartition caché, qu'à la réception on met en oeuvre l'algorithme inverse de celui ayant servi à la répartition pour accéder au code étalé, qu'on corrèle ce code étalé avec le code caché pour retrouver l'information cachée. De façon avantageuse, le code caché est décalé au moment de l'émission, afin qu'à la réception, lors de la corrélation de ce code étalé avec le code caché non décalé, le décalage soit détecté. La valeur de ce décalage peut permettre de transmettre de l'information. La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel : - la figure unique est un bloc-diagramme simplifié d'un dispositif de mise en oeuvre du procédé de l'invention. L'invention est décrite ci-dessous en référence à la vérification de l'origine et/ou du contenu de signaux de radio-localisation (GNSS), mais il est bien entendu qu'elle n'est pas limitée à cette seule application, et qu'elle peut être mise en oeuvre pour différents signaux RF, tels que d'autres types de signaux de localisation (terrestres par exemple) ou des signaux de télévision numérique terrestre (TNT), en particulier de télévision payante, ou encore des signaux de téléphonie payante. Une caractéristique essentielle du procédé de l'invention est de cacher dans la séquence d'étalement une signature numérique que l'on peut qualifier de filigrane (� watermark � en anglais). Ce filigrane est caché de façon qu'on ne puisse pas le détecter directement ou à l'aide de méthodes statistiques dans la séquence d'étalement. Bien entendu, un utilisateur autorisé peut facilement extraire ce filigrane de la séquence d'étalement et s'en servir pour déterminer la source du signal reçu. Sur le bloc-diagramme de la figure unique du dessin, montrant un satellite 1 et un des récepteurs correspondants 2, on n'a représenté que les éléments relatifs à l'invention. Les circuits appropriés du satellite 1 reçoivent une information 3 de signature cachée qui peut être stockée à bord ou transmise depuis le sol. Cette signature est une information cachée connue uniquement de l'organisme contrôlant le satellite et des utilisateurs habilités à la connaître (par exemple les abonnés à un service payant transmis par le satellite 1). La signature 3 comporte une longue séquence, de préférence d'une centaine de bits au moins, qui permet de reconnaître l'origine et/ou le contenu de signaux de radio- localisation et est avantageusement modifiable dynamiquement depuis le sol à l'aide de messages cryptés en envoyant soit une nouvelle séquence, soit une nouvelle graine pour générer une nouvelle séquence, soit un ordre de changement de signature parmi celles stockées à bord. Un code caché d'étalement (filigrane) 4 est �modulé� (5) par cette signature (3). Cette modulation consiste à étaler le filigrane tout au long de la séquence de la signature 3. On obtient ainsi un filigrane modulé 6. Ce code 4 d'étalement est un code privé qui peut lui aussi être modifié dynamiquement depuis le sol comme décrit ci-dessus pour la signature 3. On modifie ensuite (de façon difficilement détectable, comme précisé ci- dessous) une partie d'un code public 7, qui est ici un code d'étalement de navigation classique, à l'aide d'une technique faisant appel au filigrane modulé 6 et à une fonction � OU Exclusif � 8 (également dénommée � XOR �). Cette modification consiste à inverser dynamiquement certains des éléments (� chips � en anglais) du code 7, c'est-à-dire que cette modification est effectuée au fur et à mesure du déroulement du code 6, le code 7 étant présenté aux différentes cellules de la fonction 8 à chaque séquence du filigrane modulé 6, l'emplacement de ces éléments au sein du code public étant déterminé par un algorithme 9 qui utilise des clés privées. Ces éléments sont choisis par l'algorithme de façon pseudo-aléatoire et constituent une faible partie du code public 7, avantageusement quelques pour-cents de ce code, afin de rendre très difficile la détection des modifications de ce code 7 et de dégrader d'une façon minimale la corrélation du code public 7. Le code modulé 6 ayant une longueur supérieure à celle du code 7 et ne modifiant qu'une faible partie de celui-ci, la fonction XOR 8 emploie plusieurs cellules réalisant chacune en temps réel l'opération XOR sur le code 7 qui est présenté à chacune d'elles. Le code de navigation ainsi caché est diffusé (11) par l'émetteur (non représenté) du satellite 1. Il est traité selon des opérations inverses de celles qui ont été pratiquées à l'émission dans un récepteur de radio-navigation 2, de la façon suivante. Les circuits de réception (non représentés) du récepteur 2 transmettent les signaux reçus du satellite 1 à une entité 12 qui sélectionne dynamiquement à l'aide de la clé publique 13 l'emplacement des chips où l'opération 8 de � OU exclusif� (XOR) a été réalisée. D'autre part, la clé 13 permet de générer le code caché 14 d'étalement de filigrane (identique au code 4). Ce code 14 est envoyé à un corrélateur 15 qui reçoit de l'entité 12 des séquences de codes dans lesquelles les chips du code 7 modifiés à l'émission ont été rétablis à leurs valeurs d'origine. A la sortie du corrélateur 15, si le code d'étalement 14 est effectivement présent dans le signal reçu, on obtient les symboles (16) qui doivent permettre de reconstituer la signature 17 après décodage, qui doit être identique à la signature 3 si les informations reçues du satellite 1 sont bien celles émises par l'organisme contrôlant le satellite, et non pas un leurre. En conclusion, la mise en oeuvre du procédé de l'invention est � transparente � pour l'utilisateur qui n'a pas besoin des services (en général payants) protégés par ce procédé. Le marquage effectué par ce procédé est très difficilement détectable du fait que le code transmis (10) ainsi modifié n'est quasiment pas altéré et que le code public d'étalement de navigation (7) n'est pas modifié. En outre, même si des personnes malintentionnées mettaient en oeuvre des moyens très importants pour simuler ce marquage, elles seraient obligées d'utiliser une antenne à très grand gain pour détecter les chips modifiés, car sans elle, il est impossible de moduler les signaux de navigation avec les chips modifiés. Il ne serait possible que de différer l'émission des leurres pour avoir le temps d'extraire chaque chip et de l'analyser, mais alors, la vérification de la cohérence Doppler de ces signaux peut être facilement effectuée. Un utilisateur averti peut vérifier la cohérence des signaux reçus (en Doppler et distance, et les valeurs d'éphéméride). Du fait que la valeur des chips modifiés dépend également des données émises, même s'il est possible à des personnes malintentionnées de détecter des chips modifiés, il leur est impossible d'introduire des leurres car ils ne peuvent pas déterminer à quels emplacements ils doivent modifier les chips car s'ils veulent transmettre la valeur opposée à la valeur transmise par le système réel, ils ne connaissent que l'emplacement des chips à ne pas modifier.35 REVENDICATIONS 1. Procédé fournissant les moyens permettant de reconnaître l'origine et/ou le contenu d'un signal RF, caractérisé en ce qu'on étale (5) une information à cacher (3) à l'aide d'un code caché (4), qu'on répartit, à l'aide d'une fonction � OU Exclusif� (8) l'information ainsi obtenue dans des codes connus à l'aide d'un algorithme de répartition caché (9), qu'à la réception on met en oeuvre l'algorithme inverse (12) de celui ayant servi à la répartition pour accéder au code étalé (14), qu'on corrèle (15) ce code étalé avec le code caché pour retrouver l'information cachée. 2. Procédé selon la revendication 1, caractérisé en ce que le code caché (4) est décalé dans le temps à l'émission. 3. Procédé selon la revendication 2, caractérisé en ce qu'à la réception, lors de la corrélation du code étalé avec le code caché non décalé, on détecte le décalage. 4. Procédé selon la revendication 2 ou 3, caractérisé en ce que le décalage est utilisé pour transmettre de l'information. 5. Procédé selon l'une des revendications précédentes, caractérisé en ce que le signal RF est un signal de radio-localisation d'une constellation de satellites. 6. Procédé selon la revendication 5, caractérisé en ce que l'information à cacher est stockée à bord des satellites. 7. Procédé selon la revendication 5, caractérisé en ce que l'information à cacher est transmise depuis le sol aux satellites. 8. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'information à cacher (3), qui est une longue séquence de bits, est modifiée dynamiquement depuis le sol à l'aide de messages cryptés. 9. Procédé selon la revendication 8, caractérisé en ce que l'information à cacher est modifiée par l'envoi d'une nouvelle séquence. 10. Procédé selon la revendication 8, caractérisé en ce que l'information à cacher est modifiée par l'envoi d'une nouvelle graine pour générer une nouvelle séquence. 11. Procédé selon la revendication 6, caractérisé en ce que l'on stocke à bord plusieurs informations à cacher et qu'on envoie un ordre de changement pour sélectionner l'une de celles stockées à bord. 12. Procédé selon l'une des revendications 5 à 11, caractérisé en ce que le code caché d'étalement (4) est modifié dynamiquement depuis le sol à l'aide de messages cryptés. 13. Procédé selon la revendication 12, caractérisé en ce que le code caché, qui est une longue séquence de bits, est modifié par l'envoi d'une nouvelle séquence. 14. Procédé selon la revendication 12, caractérisé en ce que le code caché est modifié par l'envoi d'une nouvelle graine pour générer une nouvelle séquence. 15. Procédé selon la revendication 12, caractérisé en ce que l'on stocke à bord plusieurs codes cachés et qu'on envoie un ordre de changement pour sélectionner l'un de ceux stockés à bord.