www.cea.fr
Sécurité des
communications par étalement de spectre
Mathieu des Noes (CEA-LSOC), Valentin Savin, Laurent Ros, Jean-Marc Brossier
(mathieu.desnoes@cea.fr)
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 2
Plan
Etalement de spectre par séquence directe (ESSD) Séquences de Gold: propriétés
Détection par décodage
Principe
Equations de parité : nombre, degré minimal
Performances : cas d’une liaison standardisée (CCSDS)
Recherche en série Recherche en parallèle
Conclusion et perspectives
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 3
ESSD: principe d’émission
Etalement de spectre par séquence directe [1]
Exemples : UMTS (3G), CDMA2000 (2G-3G US), GPS, Galileo, transmissions militaires
1
-1
Code données
1er symbole étalé
2ème symbole étalé
Tc Ts
Facteur d’étalement : F = T
s/T
cCliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 4
ESSD: récepteur
Corrélation avec la séquence d’étalement
Hypothèse: Séquence connue
données: a(t)
c*(t)
Code pseudo-aléatoire : c(t)
Emission Réception
∫
0Ts a(t)Faible probabilité de détection :
SNR = F. P/σ2
SNR faible (-17 dB en WCDMA UL pour la voix)
Si la séquence est inconnue : test des N
séquences possibles. Pas réaliste si N est grand (ex : N = 33 554 432 en WCDMA)
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 5
z(k) = x(k) ⊕ y(k)
x(k) et y(k) forment une paire préférentielle de m-séquences de même longueur [2]
Il existe 2r+1 séquences de Gold de longueur N = 2r-1
Bonne propriétés d’inter-corrélation => CDMA asynchrone Polynôme générateur : gz(X) = gx(X) gy(X)
Séquence de Gold
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 6
ESSD: sécurité
Si le polynôme générateur est connu => détection de la séquence = connaître l’état des registres
Objectif : estimation de l’état des registres avec des techniques de décodage
Attaques sur les stream ciphers [3]
Communications ESSD avec des m-séquences [5]
Applications :
détection aveugle du code d’embrouillage des systèmes WCDMA et CDMA2000
=> Possibilité de mettre en œuvre des attaques par déni de service [6][7].
Acquisition des satellites GPS ou Galileo
Mécanismes de synchronisation avec des techniques de codage canal.
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 7
Code de Gold
Code de Gold = code linéaire cyclique de rendement 2r/(2r-1) Mot à coder : état des registres (2r),
Mot de code : la séquence générée (2r-1)
Particularité de nombreux systèmes : l’état des registres d’une des 2 séquences est connu à un instant donné (ex: WCDMA, GPS, CCSDS) Equations de parité :
Définies par le code dual: intersection des codes duaux des 2 m-séquences Notation polynômiale : multiple du polynôme générateur : f(x) = m(x)gz(x)
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 8
Modèle d’observation :
Pré-traitements pour observer la séquence de Gold Séquence émise : z(k) ∈{0;1}
Signal reçu : R(k) = (-1) z(k) + n(k) Matrice de parité : Ez = 0
Equation de parité initiale : g(X) = g0+g1X+…+grXr
Code cyclique => Xig(X) est aussi une équation de parité
Décodage itératif (1/2)
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 9
Décodage avec un algorithme de décodage par passage de messages (e.g. Min-sum):
Exploitation de toute la théorie et résultats sur le décodage des codes LDPC [4][13] : il faut utiliser des équations de parité de poids faible
Graphes redondants : si g(X) est une équation de parité, alors gl(X) est aussi une équation de parité [5]
Matrice de parité avec les graphes redondants: augmente le nombre d’équations de parité sans modifier leur poids t
Décodage itératif (2/2)
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 10
Nombre d’équations de parité de poids t : N
tTravaux de Pless [8] et Kasami [9]
r pair :
N1 = N2 = 0
N3 = 1 et [10]
N4 = (2r - 4)/3 (recherche exhaustive)
r impair :
N1 = N2 = N3 = N4 = 0 N5 = (22r – 10 2r + 16)/24
Equations de parité (1/2)
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 11
Degré minimal des équations de parité de poids t ?
Faisabilité du décodage (complexité, contrainte des standards (e.g.
WCDMA)), recherche des équations de parité
Modèle pour les m-séquences [11] : applicable aux séquences de Gold approximation
Variabilité selon les séquences non prise en compte, utile pour connaître l’ordre de grandeur
Equations de parité (2/2)
r = 11
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 12
CCSDS 415.2-B-1 : data transmission and PN ranging for 2GHz CDMA link via data relay satellite
Consultative Committee for Space Data Systems Document public téléchargeable sur internet
Séquence de Gold: séquence x connue, séquence y inconnue Evaluation de 4 méthodes de décodage:
2 pour une recherche « série » 2 pour une recherche « parallèle »
Performance - CCSDS
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 13
Recherche « série » :
Hypothèse : R(k) = (-1) x(k)+y(k) + n(k) Si synchronisation :
V(k) = (-1) x(k) R(k)= (-1) y(k) + n’(k) Observation de la séquence y
Décodage de la séquence y : E est construite à partir de gy(X) Décodage de la séquence y, avec exploitation de la relation de
décimation entre les m-séquences [12]: E est construite à partir de gs(X) où s est tel que y(k) = s(dk), d est le facteur de décimation entre les séquences y et s
Recherche « parallèle » :
Décodage de la séquence z: E est construite à partir de gz(X)
Décodage de la séquence z à partir des équations de parité de poids t=3 et t= 4
Performance - CCSDS
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 14
Décodeur :
Min-Sum [13]
Arrêt si toutes les équations de parité sont satisfaites ou si Niter = 60 NRGM = 6
r= 10, taille du vecteur d’entrée : N = 1023
Equations de parité employées (recherche parallèle):
X682+X341+1 ; X171+X106+X54+1 ; X185+X166+X4+1 ; X205+X168+X28+1 ; X222+X77+X22+1 ; X230+X98+X31+1
g
s(X) =
X10+X3+1Mesures de performance:
Probabilité de détection correcte (PCD), Probabilité de détection ratée (PMD = 1 - PCD), Probabilité de fausse alarme (PFA), Probabilité de décodage erroné (PWD) et probabilité de non détection (PND = PMD - PWD)
Recherche « parallèle » : PWD< 10-6
Performance - CCSDS
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 15
Probabilité de détection correcte
Recherche en série avec exploitation de la décimation : gain de l’ordre de 12 dB par rapport à la recherche parallèle avec gz(x)
Poids des équations de parité: seq Z => 9, seq Y => 7, seq Y decimation => 3
Performance – CCSDS
-25 -20 -15 -10 -5 0
10-4 10-3 10-2 10-1 100
SNR (dB)
P MD
Seq Z Seq Y
Eq parité seq Z Seq Y decimation
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 16
SeqY, seqZ, équation de parité : PFA < 10-6
Fausse alarme (recherche série, exploitation de la décimation):
Implémentation en flottant : catastrophique
Amélioration en passant en dynamique finie : message ∈[-Lm, +Lm]
Performance - CCSDS
-15 -10 -5 0
10-4 10-3 10-2 10-1 100
SNR (dB)
P FA
Float Lm = 16 Lm = 32 Lm = 64
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 17
PWD faible et PND élevée avec t = 7 (« seq Y ») : quand il ne trouve pas le bon mot de code, le décodeur converge rarement (souhaitable)
PWD élevé et PND faible avec t = 3 (« seq Y decimations »): le décodeur converge presque toujours sur un mot de code (pas souhaitable)
Performance - CCSDS
-25 -20 -15 -10 -5 0
10-4 10-3 10-2 10-1 100
SNR (dB) PWD Seq Y
PND Seq Y
PWD Seq Y decimation PWD Seq Y decimation
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 18
Transmission par étalement de spectre avec des m-séquences ou des séquences de Gold :
Détection et attaque plus facile avec les techniques de décodage par passage de messages.
Réutilisation des travaux sur les attaques sur les stream ciphers
Sujets d’études :
Probabilité de fausse alarme et de décodage erroné : comprendre le mécanisme et trouver des améliorations (quantification, vérification) => analyse du décodeur MP dans des
configurations peu usuelles (ex : pas de convergence à SNR très faible) Complexité du décodeur : implémentation en temps réel ?
Méthodes constructives pour déterminer les équations de parité d’un poids tdonné Modification des séquences d’étalement : stream cipher appliqué aux communications ESSD ? ex: code P(Y) du GPS
Conclusion et perspectives
PCD PFA PWD
Poids faible + + - - - -
Poids élevé - - + + + +
Centre de Grenoble 17 rue des Martyrs 38054 Grenoble Cedex
Merci de votre
attention !
Cliquez pour modifier le style du titre
JC2 | DSIS Division | Mars 2014
© CEA. All rights reserved | 20
Références
[1] R.L. Peterson, R.E Ziemer and D.E. Borth, “Introduction to spread-spectrum communications”, Prentice Hall, 1995 [2] R.J. Mc Eliece, “Finite fileds for computer scientists and engineers”, Springer, 1997
[3] W. Meier and O. Staffelbach, “Fast correlation attacks on certain stream ciphers”, Journal of Cryptology, Vol. 1, N°3, 1989
[4] F.R. Kschischang, B.J. Frey and H.A. Loeliger, “Factor graphs and the sum-product algorithm”, IEEE Trans. On Information Theory, Vol.
47, N°2, 2001
[5] K.M. Chugg and M. Zhu, “A new approach to rapid PN code acquisition using iterative message-passing techniques”, IEEE Journal on Selected Areas in Communications, Vol. 23, N°5, 2005
[6] M. des Noes, V. Savin, L. Ros and J.M. Brossier, “Blind identification of the uplink scrambling code index of a WCDMA transmission and application to femtocell networks”, IEEE International Conference on Communications, Budapest, 2013
[7] M. des Noes, V. Savin, L. Ros and J.M. Brossier, “Blind identification of the uplink scrambling code of a reverse link CDMA2000 transmission”, IEEE International Conference on Communications, Budapest, 2013
[8] V. Pless, “Power moment identities on weight distributions in error correcting codes” , Information and Control, Vol. 6, N°2, 1963 [9] T. Kasami, S. Lin and W. Peterson, “Some results on cyclic codes which are invariant under the affine group and their applications”, Information and Control, Vol. 11, N°5, 1967
[10] K. Huber, “Some comments on Zech’s logarithms”, IEEE Trans. On Information Theory, Vol. 36, N°4, 1990
[11] S. Maitra, K.C. Gupta and A. Venkateswarlu, “Results on multiples of primitive polynomials and their products over GF(2)”, Theorical Computer Science, Vol. 341, N°1, 2005
[12] M. des Noes, V. Savin, L. Ros and J.M. Brossier,” Improving the Decoding of M-Sequences by Exploiting their Decimation Property”, Eusipco, Septembre 2013, Marrakech
[13] N. Wiberg,”Codes and decoding on general graphs ”, Ph.D. dissertation, Linköping University, Sweden, 1996