Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
ENSEIGNANT : Dr. BELL
ECOLE NATIONALE SUPERIEURE POLYTECHNIQUE
LES ALGORITHMES DE CHIFFREMENT
RC4 - A5/1 - A5/2
MEMBRES DU...
1 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Sommaire
INTRODUCTION GENERALE.............................
2 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
IX. AVANTAGES ET INCONVÉNIENTS DU RC4......................
3 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
2. Différence de performances :............................
4 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
INTRODUCTION GENERALE
I. INTRODUCTION
De nos jours, nous...
5 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
CHAPITRE I. L’ALGORITHME RC4
II. HISTORIQUE
RC4 (pour Ri...
6 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
LE CHIFFREMENT PAR FLUX
a) Idée sous-jacente : Le chiffr...
7 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
données sont traitées en flux. Il peut s’agir d’un trait...
8 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
qui tire parti de certaines propriétés physiques stochas...
9 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
 Effectuer des permutations aléatoires d’éléments de S ...
10 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
 Si la longueur ‘len’ de la clé K est égale à 256 octe...
11 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
j = (j + S[i] + T[i]) mod 256;
SWAP(S[i], S[j]);
2. RAN...
12 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
i, j = 0;
WHILE génération DO // tant qu’il y’a un octe...
13 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
VI. DECHIFFREMENT
La même valeur de k est utilisée pour...
14 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
les paquets envoyés depuis le point d’accès ou un clien...
15 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
VIII. ATTAQUES CONTRE RC4
FLUHRER, MANTIN, SHAMIR, 2001...
16 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Chaque attaque est accompagnée d’une liste de condition...
17 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
jour la plus rapide. Il est possible, simplement en cap...
18 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
A5/1 64 bits >50
 Il est très simple.
 En plus le mes...
19 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Nous retenons, du RC4 qu’il nous propose un système de ...
20 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
CHAPITRE II. SYSTEME DE CHIFFREMENT A5
I. INTRODUCTION
...
21 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
ci + si = mi (déchiffrement)
Où ci est le cryptogramme ...
22 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Figure 2 : schéma de système de chiffrement à flot sync...
23 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Au top d’horloge t, le bit st sort du registre, tous le...
24 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
III. GENERALITES SUR LE GSM
1. ARCHITECTURE GSM
Les dif...
25 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Les BSC communiquent avec les BTS via l’interface Abis ...
26 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
HLR contiennent donc les informations sur l’abonnement ...
27 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
4. Le terminal détermine une réponse signée (SRES) a pa...
28 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Un algorithme de chiffrement A5 présent sur la MS et la...
29 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
• Le numéro de trame (Frame Number) qui lui est publiqu...
30 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
2.2- Tous les registres sont décales d’un cran
3- On ef...
31 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
4. For i = 0 to 99 do
Décaler tous les registres en ten...
32 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Figure 7 : principe d’insertion d’un nouveau bit dans l...
33 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Figure 8 : Structure interne de l’algorithme A5/1
On ob...
34 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
4- Trouver X i =Y i ⊕L i
35 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
V. SYSTEME DE CHIFFREMENT A5/2
Historique
Le système de...
36 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
- On effectue 99 cycles dans les registres, où dans cha...
37 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
EXCLUSIF entre quelques bits présents dans le registre ...
38 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
 M1 = majorité ( R1[12],R1[15],Not(R1[14]) ) pour le r...
39 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Principe de chiffrement/déchiffrement
 Algorithme de c...
40 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
VI. ATTAQUES
La force d'A5 est entièrement dans la séqu...
41 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
VII. COMPARAISON ENTRE A5/1 ET A5/2 :
1. Différences fo...
42 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
majorité et de OU
EXCLUSIF
et plus de OU EXCLUSIF
Implé...
43 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
CONCLUSION GENERALE
Nous somme rendu au terme de l'étud...
44 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
WEBOGRAPHIE ET BIBLIOGRAPHIE
 Univd2000-crytographie.p...
Prochain SlideShare
Chargement dans…5
×

Algorithme de chiffrement RC4, A5/1 & A5/2

3 974 vues

Publié le

Description de A à Z de l'algorithme de chiffrement RC4 utilisé pour SSL, Web...
Détails des prodédures de chiffrement des algorithmes A5/1 & A5/2 utilisé par le GSM

Publié dans : Ingénierie

Algorithme de chiffrement RC4, A5/1 & A5/2

  1. 1. ENSEIGNANT : Dr. BELL ECOLE NATIONALE SUPERIEURE POLYTECHNIQUE LES ALGORITHMES DE CHIFFREMENT RC4 - A5/1 - A5/2 MEMBRES DU GROUPE: BENANA MAX-JOEL BINDJEME NLATE Christelle MENKEN Vitalis TABU DIBAM Levo
  2. 2. 1 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Sommaire INTRODUCTION GENERALE..................................................................................................................... 4 I. Introduction........................................................................................................................................ 4 CHAPITRE I. L’algorithme rc4........................................................................................................... 5 II. HISTORIQUE...................................................................................................................................... 5 III. QUELQUES RAPPELS sur le chiffrement .............................................................................. 5 LE CHIFFREMENT SYMETRIQUE............................................................................................ 5 LE CHIFFREMENT PAR FLUX..................................................................................................6 Chiffrement et déchiffrement avec XOR............................................................................... 8 IV. ETAPES DE L’ALGORITHME RC4 ........................................................................................... 8 V. CHIFFREMENT.............................................................................................................................. 9 1. KEY SCHEDULINGALGORITHM (KSA) .................................................................................... 9 2. RANDOM GENERATOR ALGORITHM (PRGA) .....................................................................11 3. CHIFFREMENT PROPREMENT DIT..........................................................................................12 VI. DECHIFFREMENT.......................................................................................................................13 VII. LES APPLICATIONS DU RC4...................................................................................................13 Oracle secure SQL .......................................................................................................................13 SSL : SECURE SOCKET LAYER ................................................................................................13 WEP ................................................................................................................................................13 VIII. ATTAQUES CONTRE RC4.........................................................................................................15 FLUHRER, MANTIN, SHAMIR, 2001 (FMS) .........................................................................15 KOREK, 2004................................................................................................................................15 KLEIN, 2006..................................................................................................................................16 ERIK TEWS, WEINMANN, PYSHKIN, 2007 .........................................................................16
  3. 3. 2 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 IX. AVANTAGES ET INCONVÉNIENTS DU RC4....................................................................... 17 LES AVANTAGES........................................................................................................................ 17 LES INCONVENIENTS................................................................................................................18 X. RENFORCEMENT DU RC4 ...........................................................................................................18 CHAPITRE II. SYSTEME DE CHIFFREMENT A5..........................................................................20 I. Introduction......................................................................................................................................20 II. Quelques définitions.......................................................................................................................20 1. Système de chiffrement à flot .............................................................................................20 2. Système de chiffrement symétrique ..................................................................................21 3. GPA.............................................................................................................................................21 4. Chiffrement synchrone...........................................................................................................21 5. Chiffrement asynchrone.......................................................................................................22 6. Registre à décalage à rétroaction linéaire .....................................................................22 III. Généralités sur le GSM ..............................................................................................................24 1. Architecture GSM................................................................................................................................24 2. Sécurité du GSM.............................................................................................................................26 IV. Système de chiffrement A5/1...................................................................................................29 1. Historique..........................................................................................................................................29 2. Principe de fonctionnement du A5/1........................................................................................29 V. SYSTEME DE CHIFFREMENT A5/2............................................................................................... 35 Historique ..................................................................................................................................... 35 Principe de fonctionnement.................................................................................................... 35 VI. Attaques .......................................................................................................................................40 VII. COMPARAISON ENTRE A5/1 ET A5/2 :.................................................................................41 1. Différences fondamentales entre A5/1 et A5/2 :..................................................................41
  4. 4. 3 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 2. Différence de performances :...................................................................................................41 Conclusion générale....................................................................................................................................43 Webographie et bibliographie ................................................................................................................44
  5. 5. 4 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 INTRODUCTION GENERALE I. INTRODUCTION De nos jours, nous n’aimerions pas toujours que lors d’une conversation, une personne non- autorisée écoute ce de quoi nous parlons. De même, dans les grandes compagnies (banques, assurances, mutuelles….) et le domaine de la défense, certaines informations ne peuvent être accessibles qu’aux personnes privilégiées. Bref, lorsqu’on veut restreindre l’accès à des informations, on se pose le problème de leur sécurité. Ainsi, des moyens très élaborés ont été mis sur pied pour sécuriser les données à transmettre via des méthodes et techniques mathématiques et algorithmiques fiables : le cryptage. C’est le processus par lequel on transforme des données (texte, image, vidéo…..) compréhensible en des données chiffrées dans le but de dissimuler sa compréhension tout en la rendant accessible et de ce fait, prévenir et empêcher un destinataire non-autorisé de pouvoir récupérer le message original. Ainsi, dans le cadre de cette unité d’enseignement
  6. 6. 5 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 CHAPITRE I. L’ALGORITHME RC4 II. HISTORIQUE RC4 (pour Rivest Cipher 4) a été conçu par Ronald Rivest en 1987, pour RSA Security. Il fut d’abord vendu avec des accords de confidentialité et resta donc longtemps secret. Mais en septembre 1994, un abonné anonyme de la mailing List cypherpunk publie un code source, vraisemblablement issu de la rétro-ingénierie d’un programme compilé, qu’il affirme être RC4. Plusieurs utilisateurs confirmeront par la suite la compatibilité de ce code avec le code propriétaire de RSA Security. Il existe une version allégée du chiffrement RC4, portant le nom d’ARC4 (Alleged RC4), utilisable légalement. Le RC4 reste la propriété de RSA Labs. III. QUELQUES RAPPELS SUR LE CHIFFREMENT Le chiffrement a pour but de garantir la confidentialité des communications. LE CHIFFREMENT SYMETRIQUE Il s’agit d’un procédé de chiffrement dans lequel la clé de chiffrement est la même que la clé de déchiffrement. Illustration ‘‘ξ est le message à chiffrer et D le message chiffrer’’
  7. 7. 6 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 LE CHIFFREMENT PAR FLUX a) Idée sous-jacente : Le chiffre de Vernam Le chiffre de Vernam, ou « One-Time-Pad » ou « masque jetable » a été proposé en 1917 par Gilbert Vernam, ingénieur à l'American Telephone and Telegraph Company, chargé de la sécurité des téléscripteurs. Il a été perfectionné par Joseph O. Mauborgne, chef du service cryptographique de l'armée américaine, qui y introduisit la notion de clé aléatoire. Sa sécurité a été prouvée pour autant que la clé de chiffrement soit aussi longue que le message à chiffrer, qu'elle soit aléatoire et utilisée une seule fois. Ce système présente des avantages dans la mesure où n'importe quel message chiffré peut être obtenu pour un message clair donné. La seule attaque possible consiste donc à déterminer l'ensemble de la clé. Le système mis au point par Vernam, bien qu'apportant une sécurité optimale, est très peu d'usage dans le monde civil, et est surtout réservé à des organismes possédant des moyens importants. En effet, tout le monde n'est pas en mesure d'utiliser des clés de la manière décrite plus haut:  Générer des clés gigantesques (puisqu'au moins la taille de l'ensemble des messages à envoyer comme clé) nécessite une grande puissance de calcul ;  Transporter de telles clés, dont le secret doit être maintenu à tout prix, n'est pas chose aisée. La nécessité de disposer de clés aléatoires de même longueur que le message, et de ne les utiliser qu'une fois, rend le système impraticable si l'on ne dispose pas de la logistique nécessaire à l'échange de ces clés. b) Chiffrement Par Flux Les chiffrements par flux s'inspirent du chiffre de Vernam mais utilisent une suite pseudo-aléatoire, générée à partir de quelques bits de clé réellement aléatoires. Les
  8. 8. 7 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 données sont traitées en flux. Il peut s’agir d’un traitement bit par bit ou d’un chiffrement octet par octet (cas du RC4). Ses principales caractéristiques sont les suivantes :  Il est indifférent au contenu du message et sa longueur pour débuter la procédure de chiffrement;  La génération de pseudo-alea, appelé flux de clé (Key Stream) que l'on combine (souvent par XOR) avec le flux de données. Illustration En pratique un chiffrement par flux est réalisé en utilisant un générateur pseudo- aléatoire. c) Générateur de nombres pseudo-aléatoires Un générateur de nombres pseudo-aléatoires, pseudo random number generator (PRNG) en anglais, est un algorithme qui génère une séquence de nombres présentant certaines propriétés du hasard. Par exemple, les nombres sont supposés être approximativement indépendants les uns des autres, et il est potentiellement difficile de repérer des groupes de nombres qui suivent une certaine règle (comportements de groupe). Cependant, les sorties d'un tel générateur ne sont pas entièrement aléatoires ; elles s'approchent seulement des propriétés idéales des sources complètement aléatoires. John Von Neumann insista sur ce fait avec la remarque suivante : « Quiconque considère des méthodes arithmétiques pour produire des nombres aléatoires est, bien sûr, en train de commettre un péché ». De vrais nombres aléatoires peuvent être produits avec du matériel
  9. 9. 8 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 qui tire parti de certaines propriétés physiques stochastiques (bruit d'une résistance par exemple). La raison pour laquelle on se contente d’un rendu pseudo-aléatoire est d’une part qu’il est difficile d’obtenir de « vrais » nombres aléatoires et que, dans certaines situations, il est possible d’utiliser des nombres pseudo-aléatoires, en lieu et place de vrais nombres aléatoires ; d’autre part, que ce sont des générateurs particulièrement adaptés à une implantation informatique, donc plus facilement et plus efficacement utilisables. Chiffrement et déchiffrement avec XOR Soit l'opération booléenne XOR :  Chiffrement du message M avec la clé K :  Déchiffrement du message C avec la clé K : IV. ETAPES DE L’ALGORITHME RC4 Etant donné un message clair à chiffrer  Choisir une clé de chiffrement;  Créer deux tableaux S et T de 256 cases chacun devant contenir des octets;  Initialiser S avec les nombres de 0 à 255 dans cet ordre;  Remplir T avec la clé;
  10. 10. 9 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2  Effectuer des permutations aléatoires d’éléments de S en fonction d’éléments de T;  Ré-effectuer des permutations aléatoires d’éléments de S suivant un schéma basé sur la configuration actuelle de S pour obtenir le flux de clés final;  Effectuer un ou-exclusif entre le flot de clés final et le message clair à chiffrer. V. CHIFFREMENT 1. KEY SCHEDULINGALGORITHM (KSA) Cet algorithme fonctionne sur les octets. Ainsi, la clé, de longueur variable, peut avoir une taille comprise entre 1 et 256 octets (de 8 à 2048 bits). Elle est utilisée pour initialiser un vecteur S de 256 octets. A tout moment, S contient une permutation de toutes les cellules le composant. La clé est utilisée pour mélanger le tableau le mieux possible (On échange chaque élément avec un autre élément choisi en fonction de la clé); ainsi le tableau (par permutations) évolue à chaque tour. Cet algorithme est appelé Key Scheduling Algorithm, ou KSA. # Initialisation de la permutation identité Initialement, les cellules de S reçoivent une valeur égale à leur position (i.e., S [0]=0, S[i]=i, ...) Ainsi la première instruction de notre algorithme sera: For i = 0 to 255 do S[i ] := i ; // permutation identité Un vecteur temporaire T (de longueur égale à celle de S) est également créé et destiné à recevoir la clé.
  11. 11. 10 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2  Si la longueur ‘len’ de la clé K est égale à 256 octets, K est simplement transféré dans T.  Si K est inférieur à 256 octets, il est recopié dans T jusqu’à atteindre la taille de T. Dans notre algorithme, ce qui précède s’écrit (pour une clé K de longueur l): T[i] = K [i mod len]; Le vecteur temporaire T est ensuite utilisé pour produire la permutation initiale de S. Pour chaque cellule S[i] de S, celle-ci sera échangée avec une autre cellule de S selon un calcul basé sur la valeur comprise dans la cellule T[i] correspondante. Tout comme l’initialisation des vecteurs, on peut représenter la permutation initiale de S comme suit : j = 0; FOR i = 0 TO 255 DO
  12. 12. 11 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 j = (j + S[i] + T[i]) mod 256; SWAP(S[i], S[j]); 2. RANDOM GENERATOR ALGORITHM (PRGA) Il s’agit de la Génération du flux pseudo aléatoire. A partir de cet instant, la clé d’entrée n’est plus utilisée. Pour chaque S[i], on procèdera à un échange avec un autre octet de S, selon un schéma basé sur la configuration courante de S. Une fois arrivé à S [255], le processus redémarre à la cellule S [0]. La figure suivante présente la procédure. A nouveau, on peut illustrer algorithmiquement la méthode (on parle de PRGA pour Pseudo-Random Generation Algorithm) :
  13. 13. 12 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 i, j = 0; WHILE génération DO // tant qu’il y’a un octet à chiffrer i = (i +1) mod 256; j = (j + S[i]) mod 256; SWAP (S[i], S[j]); t = (S[i] + S[j]) mod 256; k = S[t]; 3. CHIFFREMENT PROPREMENT DIT La valeur de k est alors utilisée pour le chiffrement (⊕ avec le prochain octet de texte clair). Les étapes : Deux et trois peuvent être résumé de la façon suivante : GPA
  14. 14. 13 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 VI. DECHIFFREMENT La même valeur de k est utilisée pour le déchiffrement (⊕ avec le prochain octet de texte chiffré).Ceci se justifie par le fait que ⊕ est une loi de groupe qui est son propre inverse. VII. LES APPLICATIONS DU RC4 Oracle secure SQL Oracle est un SGBD (système de gestion de bases de données) édité par la société du même nom (Oracle corporation), leader mondial des bases de données qui permet d’assurer la définition, la manipulation, la confidentialité, l'intégrité, la sauvegarde et la restauration des données .Il utilise le chiffrement par RC4 pour crypter les données. SQL (Structured Query Language.) : Langage d'interrogation de bases de données. SSL : SECURE SOCKET LAYER SSL (Secure Socket Layer) est un protocole de sécurisation des échanges, développé par Netscape. Il a été conçu pour assurer la sécurité des transactions sur Internet (notamment entre un client et un serveur), et il est intégré depuis 1994 dans les navigateurs. SSL utilise le RC4 pour garantir la confidentialité. WEP Le WEP (Wired Equivalent Privacy) est un protocole de sécurité pour les réseaux sans fils définis dans le standard 802.11. Le WEP utilise l’algorithme RC4 pour chiffrer
  15. 15. 14 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 les paquets envoyés depuis le point d’accès ou un client du réseau. Dès qu’un paquet est reçu, il est déchiffré. Le WEP utilise une clé partagée pouvant aller de 40 à 232 bits, le point d’accès et les clients utilisent cette clé pour chiffrer et déchiffrer les données. Pour être plus précis, chaque paquet est chiffré à l’aide d’une seule clé qui est, en fait, un vecteur d’initialisation (initialization vector IV en anglais) qui, change à chaque fois qu’il est concaténé avec la clé partagée. On obtient ainsi des clés allant de 64 à 256 bits. Cette clé va être donnée à l’algorithme RC4 qui va retourner un Key Stream; on fait ensuite un XOR avec les données à chiffrer pour obtenir le cryptogramme que l’on concatène avec le vecteur d’initialisation avant de transmettre le tout. A la réception, on récupère le vecteur d’initialisation transmis, on le concatène avec la clé secrète ; RC4 nous retourne alors le même Key Stream. Après un XOR entre le Key Stream et le cryptogramme, on obtient les données déchiffrées. Le schéma suivant illustre le chiffrement et le déchiffrement sur le WEB :
  16. 16. 15 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 VIII. ATTAQUES CONTRE RC4 FLUHRER, MANTIN, SHAMIR, 2001 (FMS) Les premières attaques contre RC4 consistaient à différencier un flux généré par RC4, d’un flux parfaitement aléatoire. En 2001, S. Fluhrer, I. Mantin et A. Shamir publient un article ou ils décrivent une faille dans RC4, et comment elle peut être exploitée, en particulier, pour casser la clé utilisée par le WEP. L’idée principale est la suivante : la clé de session utilisée par chaque paquet est construite en concaténant un vecteur d’initialisation de 24 bits à la clé partagée. Ils parviennent à montrer que, pour certaines valeurs spécialement choisies du vecteur d’initialisation, le premier octet généré par le PRGA a une probabilité importante (≈ 1/e) d’être un octet précis de la clé. Cette attaque est une attaque à clair connu (elle suppose de connaitre le premier octet du Key Stream). Elle nécessite en outre un grand nombre de vecteurs d’initialisation répondant à des conditions spécifiques, ainsi que le premier octet associé. Il faut généralement entre 1 et 4 millions de paquets pour avoir suffisamment d’ IV ”faibles” pour réussir l’attaque. KOREK, 2004 En 2004, un individu publie, sous le pseudonyme Korek, une série d’attaques statistiques contre RC4. Ces attaques, au nombre de 15, sont pour la plupart des généralisations de l’attaque FMS. Ces attaques peuvent être décomposées en trois classes :  celles utilisant le premier octet du Key Stream pour retrouver la clé ;  celles utilisant les deux premiers octets du Key Stream pour retrouver la clé ;  celles permettant simplement de réduire l’espace de recherche des clés, en particulier en permettant de retrouver un octet précis de K. Chacune des attaques est lancée l’une après l’autre, jusqu’ à ce que l’une d’elles trouve la clé. En pratique, 500000 paquets capturés suffisent à casser la majorité des clés WEP.
  17. 17. 16 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Chaque attaque est accompagnée d’une liste de conditions sur le KSA et le PRGA après initialisation partielle. Si ces conditions sont vérifiées, le paquet peut être utilisé. KLEIN, 2006 En 2006, Andreas Klein propose une nouvelle attaque qui ne nécessite pas de resolved condition. Cela réduit considérablement le nombre de paquets à capturer puisqu’ils peuvent tous être utilisés. Il est donc possible, en examinant suffisamment d’IV et le Key Stream associé, de retrouver un à un chaque octet de la clé. Le nombre de paquets à examiner serait plus important que pour les attaques précédentes, mais comme tous les paquets sont utilisables, le nombre de paquets à capturer est considérablement plus faible. ERIK TEWS, WEINMANN, PYSHKIN, 2007 En 2007, Erik Tews, Ralf-Philipp Weinmann, et AndreiPyshkin reprennent l’attaque de Klein, et l’optimisent pour attaquer le protocole WEP. Leur attaque propose deux avancées majeures par rapport à celle de Klein. Tout d’abord, alors que les attaques précédentes n’utilisaient que les premiers octets des paquets, la leur utilise 128 bits, soit 16 octets. Pour ce faire, ils collectent exclusivement des paquets correspondant à des requêtes ARP. Ceci est possible car ces trames font toutes 68 octets. La structure de ces paquets étant toujours la même (à un bit près), ils sont capable de retrouver 64 octets de Key Stream par paquet. Par ailleurs, l’attaque de Klein retrouve les octets de la clé partagée un par un, et retraite à chaque fois la totalité des paquets. L’attaque PTW, elle, construit en une seule fois une table de votes intermédiaires qui est ensuite utilisée pour calculer tous les octets de la clé. Enfin, l’attaque utilise aussi un certain nombre d’heuristiques pour détecter d’éventuels octets «forts »de la clé, et les attaquer par brute force. Cette attaque est à ce
  18. 18. 17 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 jour la plus rapide. Il est possible, simplement en capturant une requête ARP, de l’injecter en boucle pour générer des réponses ARP. Dans des conditions idéales, il suffit d’une minute pour collecter assez de paquets. L’attaque elle-même dure quelques secondes. IX. AVANTAGES ET INCONVÉNIENTS DU RC4 LES AVANTAGES  Le premier avantage qu’a le RC4 sur la majeure partie des algorithmes de chiffrement, est sa vitesse de chiffrement élevée : Algorithme Longueur de la clé Vitesse (en Mbps) DES 56 9 3DES 168 3 RC4 Variable (5-16 octets) Max 2048 bits 45
  19. 19. 18 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 A5/1 64 bits >50  Il est très simple.  En plus le message clair à la même taille que le chiffré.  RC4 permet d’atteindre des performances logicielles. LES INCONVENIENTS RC4 est vulnérable à plusieurs attaques (citer ci-dessus). X. RENFORCEMENT DU RC4 Il semblerait que le RC4 soit toujours sûre pour autant que certaines conditions soient remplies au niveau de la clé d’initialisation comme l’utilisation d’une fonction de hachage ou d’un nonce. Parce que le RC4 est un algorithme de chiffrement par flot, la même clé ne doit pas être utilisée deux fois pour chiffrer les données échangées. C'est la raison de la présence d'un vecteur d'initialisation (IV). Ce vecteur, transmis sans protection, permet d'éviter la répétition. Cependant, une IV de 24 bits n'est pas assez long pour éviter ce phénomène sur un réseau très actif.
  20. 20. 19 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Nous retenons, du RC4 qu’il nous propose un système de chiffrement sur trois étapes:  l’initialisation  la génération de flux de clés  le chiffrement proprement dit. Cependant rappelons-nous qu’il n’est qu’un cas isolé dans la famille RC qui traite des données par flux. Pour les autres chiffrements de la famille RC il s’agit d’un chiffrement par bloc. C’est le cas du standard RC2 présenté dans la suite.
  21. 21. 20 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 CHAPITRE II. SYSTEME DE CHIFFREMENT A5 I. INTRODUCTION Le téléphone fixe a révolutionné le concept de la télécommunication vocale, mais avec l’évolution du temps, le manque de mobilité s’est avéré être un sérieux problème. De plus, le délai lors de l’établissement des communications et la sécurité précaire constituaient un véritable problème. La première génération de communication mobile (AMPS) a alors été introduite. Ici encore, on retrouve certains problèmes comme le clonage des téléphones, l’appel aux frais d’une autre personne, et même la possibilité d’intercepter des appels téléphoniques dans le canal Hertzien et espionner ainsi les discussions. En 1982, la deuxième génération est adoptée, plus connue sous le nom de GSM (Global System For Mobile Communication). Il a pour but de résoudre le problème d’usurpation d’identité et même celui d’espionnage. Ceci se fait à l’aide de l’implémention de forts moyens d’authentification et de confidentialité entre la MS (Mobile Station) et la BTS (Base Transceiver Station). C’est donc, à ce niveau que A5 intervient. En effet, A5 est une famille d’algorithmes de chiffrement symétrique à flot synchrone constituée d’A5/0, A5/1, A5/2 …etc, qui sont des systèmes de chiffrement qui viennent résoudre le problème d’espionnage lors des communications GSM. A cet effet nous nous proposons dans le cadre de cette partie de l’exposé d’étudier consécutivement le système de chiffrement A5/1 et ensuite son dérivé A5/2. II. QUELQUES DEFINITIONS 1. Système de chiffrement à flot Encore appelée chiffrement en continu (Stream-Cipher), c’est un système de chiffrement (symétrique) dans lequel chaque symbole du texte clair subit une transformation variable dans le temps. La transformation que subit chaque symbole mi du texte clair est le plus souvent une combinaison additive avec un symbole si produit par un générateur pseudo-aléatoire. On a donc : mi + si = ci (chiffrement)
  22. 22. 21 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 ci + si = mi (déchiffrement) Où ci est le cryptogramme et si la séquence de chiffrement. 2. Système de chiffrement symétrique Encore appelée système de chiffrement à clé secrète, c’est un système qui utilise une seule et même clé lors du chiffrement et du déchiffrement par opposition au système de chiffrement asymétrique. Figure 1: Illustration d’un système de chiffrement symétrique 3. GPA Un générateur pseudo-aléatoire de symbole (GPA), est un automate à nombre fini d’état, qui à partir de la donnée d’un nombre fini de symbole produit une suite potentiellement illimitée de symbole qui a l’apparence d’une suite aléatoire. 4. Chiffrement synchrone Le chiffrement est dit synchrone si les données produites par le GPA ne dépendent que de son état interne et non du message à chiffrer. On a le schéma suivant :
  23. 23. 22 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Figure 2 : schéma de système de chiffrement à flot synchrone 5. Chiffrement asynchrone Le chiffrement est dit asynchrone ou auto-synchronisant si les symboles produits par le GPA ne dépendent que de son état interne et d’un nombre fixé t de symboles du message clair. Figure 3 : schéma des systèmes de chiffrement à flot synchrone. 6. Registre à décalage à rétroaction linéaire Un registre à décalage à rétroaction linéaire encore LFSR (Linear Feedback Shift Register), est la donnée : 1. d’un registre de L cases contenant chacune un bit s t, s t+1,…, s t+L-1 ; 2. et une fonction linéaire de rétroaction « f » calculant un bit St+L par combinaison de certains bits du registre.
  24. 24. 23 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Au top d’horloge t, le bit st sort du registre, tous les bits sont décalés d’un rang vers la gauche, et st+L entre dans le registre comme l’illustre le schéma suivant : Avant le top d’horloge t, St+L se présente à l’entrée du registre : Après le top d’horloge t, St+L est introduit dans le registre tandis que St en est expulsé : Figure 4 : Principe du décalage
  25. 25. 24 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 III. GENERALITES SUR LE GSM 1. ARCHITECTURE GSM Les différents éléments de l’architecture GSM sont :  Les MS (Mobile Station) et la SIM Le terminal mobile contient la carte SIM. Dans cette dernière sont gravées des informations secrètes propres aux données de l’utilisateur  L’IMSI (International Mobile Subcriber Identity), qui est un numéro unique identifiant l’abonnement à la carte SIM.  Ki, la clé privée de 128 bits de la carte SIM, dont l’utilisation sera expliquée ultérieurement dans le rapport.  L’ICCID (Integrated Circuit Card ID), un numéro unique identifiant la SIM. Ce numéro est également gravé à côté de la puce dans la plupart des cas.  Les BTS (Base Transceiver Station) Les BTS sont les liens entre les terminaux mobiles et les BSC. Ces équipements possèdent une interface vers un BSC et une antenne permettant la communication avec les terminaux mobiles de sa zone, via l’interface Um (air). Ce sont les communications entre cet équipement et les terminaux mobiles qui seront étudiées dans la suite du rapport. Les communications entre ces équipements et les terminaux mobiles sont donc chiffrées. Ces différents équipements définissent des cellules, c’est à leur zone de portée.  Les BSC (Base Station Controller)
  26. 26. 25 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Les BSC communiquent avec les BTS via l’interface Abis et avec les MSC via l’interface A. Cet équipement est relié généralement à plusieurs BTS et permet de grouper ces dernières.  Les MSC (Mobile Switching Center) Les MSC sont les éléments principaux de l’architecture GSM. Ils contrôlent le trafic entre plusieurs BSC auxquels ils sont connectés, et contrôle également le trafic eux et les autres MSC. Ce sont ces équipements qui sont connectés aux passerelles des autres opérateurs et permettent les appels vers ces derniers, ainsi que vers des lignes fixes, via le routage des paquets la localisation des différents qu’ils assurent. Ce sont ces équipements qui assurent la localisation des différents utilisateurs, ainsi que la gestion des connexions vers les MS qui sont connectées aux BTS que la MSC contrôle. Ce contrôle est possible grâce au VLR associé à chaque MSC.  Les VLR (Visitor Location Register) Les VLR contiennent les informations sur les utilisateurs actuellement présents dans la zone de couverture du MSC. Les VLR sont donc temporaires. A chaque fois qu’un utilisateur rentre dans une nouvelle zone, les VLR obtiennent les informations sur ces derniers en envoyant une requête HLR correspondant. Ils informent donc les HLR de la zone couverte dans laquelle l’utilisateur se situe. Pour chaque utilisateur, le VLR contient :  Son numéro unique d’identifiant (IMSI)  Son numéro temporaire d’identification (TMSI)  Le numéro de téléphone international de l’utilisateur (MSISDN)  Le numéro d’identification du téléphone de l’utilisateur  Les services auxquels l’utilisateur a accès  Les données d’authentification de l’utilisateur Un utilisateur ne peut donc être que dans un VLR à la fois. Les VLR sont remis à jour fréquemment.  Les HLR (Home Location Register) et EIR (Equipment Identity Register) Les EIR sont toujours intégrés aux HLR. Les EIR contiennent une liste des IMEI des différents terminaux, dont ceux bannis du réseau (par exemple pour vol ou perte). Ces derniers permettent donc le traçage des terminaux volés, ainsi que le refus d’accès au réseau pour ces derniers. Les HLR sont les “registres centraux” contenant les informations sur les abonnés. Un abonné a ses informations stockées dans un HLR de l’operateur. C’est ce HLR qui transmet ces informations aux VLR lors de notre connexion dans une zone. Les HLR mémorisent la position de l’abonné telle qu’elle leur est transmise par les VLR. Ce sont les HLR qui effacent les informations sur les utilisateurs des VLR quand ces derniers ont changé de zone. Les
  27. 27. 26 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 HLR contiennent donc les informations sur l’abonnement des utilisateurs. Il peut y avoir un ou plusieurs HLR par opérateur. Pour chaque Utilisateur étant inscrit dans un HLR, ce dernier contient • Son numéro unique d’identification (IMSI) • Le numéro de téléphone international de l’utilisateur(MSISDN) • Les services auxquels l’utilisateur a accès • L’identité du VLR de la zone dans lequel l’utilisateur se trouve Les HLR sont mis à jour fréquemment.  Les AuC (Authentication centre) Les AuC sont utilisés à chaque mise en route de téléphone (et donc connexion au réseau), afin d’authentifier les cartes SIM des utilisateurs. C’est cette entité qui génère les différentes variables cryptographiques qui seront ensuite utilisées pour le chiffrement de la communication. Les différents mécanismes d’authentification seront détaillés dans la section suivante. C’est cette entité qui permet d’éviter le clonage de carte SIM. 2. Sécurité du GSM Parmi les nombreuses procédures misent en place pour assurer la sécurité du GSM, on a l’authentification et la confidentialité. a) L’authentification La procédure d’authentification se divise en 5 étapes : 1. En utilisant le code PIN de l’utilisateur, le téléphone obtient de la carte SIM les informations suivantes : • L’IMSI (International Mobile Subscriber Identity) qui est un code d’identification unique et universel pour GSM. • Ki qui est une clé privée propre à chaque carte SIM. Celui-ci est sensible et n’est jamais transmis tel quel par voie aérienne ; on préférera utiliser l’IMSI pour l’identification. 2. Le terminal envoie ensuite son IMSI à la BTS. Cette dernière transmet cet IMSI au HLR/AuC, qui lui connait la clé privée Ki de la SIM. 3. L’AuC génère un nombre aléatoire de 128 bits, ici appelé RD, et le transmet au terminal via la BTS.
  28. 28. 27 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 4. Le terminal détermine une réponse signée (SRES) a partir de l’algorithme A3 (SRES = A3 (RD, Ki)), ainsi qu’une clé de session Kc à l’aide de l’algorithme de chiffrement A8 (Kc = A8 (RD, Ki)). 5. Le terminal renvoie ensuite la SRES calculée à la HLR/AuC, et cette dernière vérifie que cette réponse SRES est similaire à celle qu’il a calculée. Le cas échéant, le terminal est authentifié, et ce dernier commence à communiquer en utilisant sa clé Kc, qui sera également utilisée pour le chiffrement via l’algorithme A5, dont le fonctionnement sera détaillé ci-après. Figure 5 : procédure d’authentification de l’abonné. b) La confidentialité des communications La confidentialité quant à elle empêche l’écoute par un usager non autorisé de la communication. Comme solution à ce problème de confidentialité, les mêmes éléments RAND et K i suscités sont passés en paramètres de l’Algorithme A8, implémenté dans la carte SIM et dans l’AUC, qui produit un résultat (clé) Kc. Cette clé Kc sert de clé de chiffrement pour le trafic de la communication entre le mobile et la BTS.
  29. 29. 28 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Un algorithme de chiffrement A5 présent sur la MS et la BTS est alors utilisé pour chiffrer et déchiffrer les données de la communication. Ce processus se résume par le schéma suivant : Figure 7 : principe de la confidentialité des communications Il a donc été montré que les seules communications chiffrées sont entre les terminaux mobiles et non pas de bout en bout des communications dans l’architecture GSM. C’est ce lien terminal mobile/BTS qui va être la cible d’attaques potentielles, qui vont être expliquées par la suite. Utilisation d’A5 dans le protocole GSM Apres une authentification correcte auprès de la base GSM, le téléphone est en possession d’une clé privée de session Kc. Dans le standard GSM, les parties communicantes échangent leurs données en trames de 228 bits toutes les 4.6 millisecondes. La communication se fait en full-duplex, ces 228 bits représentent les 114 bits de données montantes et les 114 bis de données descendantes. Le chiffrement de ces données va se faire selon deux critères : • La clé privée de session Kc
  30. 30. 29 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 • Le numéro de trame (Frame Number) qui lui est publiquement connu. IV. SYSTEME DE CHIFFREMENT A5/1 1. Historique L'algorithme A5/1 a longtemps été conservé secret. Une première description est publiée par Ross Anderson dans un groupe de discussion. Cette description, obtenue par analyse d'une implantation, était incorrecte sur plusieurs points, mais montrait déjà la structure interne du système. Une seconde description a été publiée en 1999 par Marc Briceno, Ian Goldberg et David Wagner. Elle diffère de celle de Ross Anderson par le détail des registres à décalage utilisés. Elle est distribuée sous la forme de code source en « C », sous l'égide de la Smartcard Developer Association, qui annonce avoir vérifié l'exactitude de la description. Alex Biryukov, Adi Shamir et David Wagner en ont tiré une cryptanalyse, et annoncent, dans leur article, avoir reçu confirmation du groupement GSM qu'il s'agit bien de l'algorithme tel qu'utilisé dans la norme. 2. Principe de fonctionnement du A5/1 La structure de A5/1 est basée sur 3 registres à décalage avec une rétroaction linéaire; on les notes R1, R2 et R3. Ils ont une longueur de 19, 22 et 23 bits respectivement. Son principe de fonctionnement suit deux grandes étapes à savoir : l’initialisation du système et la génération de la séquence de chiffrement. a) Initialisation du système L’initialisation du système ici n’est rien d’autre que l’initialisation des registres. Elle se fait à l’aide de la clé de chiffrement de 64bits(Kc) (mais son implémentation dans le GSM se fait avec une clé de 54 bits où les 10 autres bits sont mis à zéro) et du compteur de bloc de 22 bits. On procède comme suit : 1- Tous les registres sont mis à zéro 2- On effectue 64 cycles pendant lesquels la clé de 64bits est introduite dans le système 2.1- Pour le bit Kc[i] de la clé Kc on effectue un OU EXCLUSIF (Xor) avec le bit de poids le plus faible de chaque registre
  31. 31. 30 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 2.2- Tous les registres sont décales d’un cran 3- On effectue 22 cycles pendant lesquels le compteur de bloc Fn est introduit dans le système 3.1- Pour le bit Fn[i] du compteur, on effectue un OU EXCLUSIF (Xor) avec le bit de poids le plus faible de chaque registre 3.2- On décale ensuite tous les registres d’un cran. 4- On effectue 100 cycles dans les registres, où dans chaque cycle on effectue juste un décalage conformément à la loi de décalage du système lui-même, et on se débarrasse des bits obtenus au bout de ces 100 cycles. Cette étape permet de rendre plus complexe l’état interne du GPA. Une autre façon de rédiger cet algorithme est la suivante : 1. R1 = R2 = R3 = 0 2. For i = 0 to 63 do R1[0] = R1[0] ⊕ Kc[i] R2[0] = R2[0] ⊕ Kc[i] R3[0] = R3[0] ⊕ Kc[i] Décaler simultanément tous les registres sans tenir compte de la règle de décalage 3. For i = 0 to 21 do R1[0] = R1[0] ⊕ COUNT[i] R2[0] = R2[0] ⊕ COUNT[i] R3[0] = R3[0] ⊕ COUNT[i] Décaler simultanément tous les registres sans tenir compte de la règle de décalage
  32. 32. 31 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 4. For i = 0 to 99 do Décaler tous les registres en tenant compte cette fois de la règle de décalage Après le processus d’initialisation, nous allons donc produire la séquence de chiffrement. b) Production de la séquence de chiffrement La séquence de chiffrement est constituée du résultat sous forme de bits de notre système et qui sera utilisée pour le chiffrement proprement dit de la communication. Comme mentionné plus haut, le fonctionnement est basé sur une séquence de décalage des registres suivant une certaine loi. Les registres ont donc déjà un état initial chacun. Il est évident qu’après le décalage d’un registre, une case mémoire est libérée (donc présence d’une case mémoire vide). Il s’agira de la case mémoire du bit de poids. le plus faible car on effectue un décalage à gauche. Après un décalage il faut donc remplacer le bit manquant dans le registre par l’insertion d’un nouveau bit convenablement calculé. Pour insérer un nouveau bit dans le registre on effectue un OU EXCLUSIF (Xor) entre quelques bits déjà présents dans les registres. Ces derniers (bits sur lesquels on effectue le Xor) sont à des positions constantes à savoir : - R1[13], R1[16], R1[17] et R1[18] pour le registreR1 ; - R2[20] et R2[21] pour registre R2 ; - R3[20], R3[21] et R3[22] pour le registre R3 ; Comme l’indique le schéma suivant :
  33. 33. 32 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Figure 7 : principe d’insertion d’un nouveau bit dans les registres. On récupère ensuite les bits C1, C2 et C3 des registres R1, R2 et R3 respectivement, avec C1= R1[8], C2= R2[10] et C3= R3[10] (cases colorées en gris sur la figure 8). Avec ces bits récupérés, on calcule une fonction « Majorité » définie par : M i =Majorité (C i , C2i , C3i ) = C1i. C2i + C1i.C3i + C2i.C3i (où i représente le i ème cycle et le bit qui gagne est celui qui apparait le plus). Les registres ayant produits le bit qui a emporté la majorité sont alors décalés. La véritable sortie de ce générateur de clé est un OU EXCLUSIF (Xor) entre les bits qui sont en tête de chaque registre. Comme l’illustre le schéma suivant :
  34. 34. 33 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Figure 8 : Structure interne de l’algorithme A5/1 On obtient donc ainsi la séquence de chiffrement qui sera utilisée pour le chiffrement de nos données à transmettre sur le réseau. A noter que la séquence de chiffrement a une taille de 228 bits. c) Déchiffrement des données. Le déchiffrement de la communication est réalisé en effectuant un OU EXCLUSIF (Xor) bit par bit entre la séquence de chiffrement et le cryptogramme de la communication. Comme présenté par le schéma suivant :  Algorithme de déchiffrement : Cet algorithme est constitué des étapes suivantes : 1- Initialiser chaque registre R k (k=1 :3) grâce à Kc 2- Calculer la fonction majorité M i =Majorité (C1 i , C2 i , C3 i ) (i représentant le i ème cycle) 3- Après décalage, calculer L i =R1[18] ⊕ R2[21] ⊕ R3[22]
  35. 35. 34 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 4- Trouver X i =Y i ⊕L i
  36. 36. 35 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 V. SYSTEME DE CHIFFREMENT A5/2 Historique Le système de chiffrement A5/2 est un algorithme de chiffrement par flot utilisé dans le cadre des communications GSM en dehors de l'Europe. Ce système a été intentionnellement rendu plus faible que le A5/1. En 1999, Ian Goldberg et David Wagner ont pu casser l’algorithme A5/2 seulement un mois après sa publication officielle. Les experts estiment qu'il serait possible de déchiffrer les données en temps réel avec du matériel adapté et peu onéreux. Principe de fonctionnement La structure de A5/2 est basée sur quatre registres LFSR ; noté R1, R2, R3 et R4 qui ont respectivement pour longueurs : 19, 22, 23, et 17 bits. Son principe de fonctionnement est constitué de deux étapes :  Initialisation du système  Génération de la séquence de chiffrement a) Initialisation du système Elle se fait à l’aide de la clé de chiffrement de 64 bits (Kc) et du compteur de block de 22 bit (Fn). On procède comme suit : - Mettre tous les registres à zéro. - On effectue 64 cycles pendant lesquels la clé Kc de 64 bits est introduite dans le système. Pour le bit Kc[i] de la clé Kc , on effectue un OU EXCLUSIF (Xor) avec le bit de poids le plus faible de chaque registre . Tous les registres sont décalés d’un cran. - On effectue 22 cycles pendant lesquels le compteur de block Fn est introduit le système Pour le bit Fn[i] du compteur ; on effectue le OU EXCLUSIF avec le bit de poids faible de chaque registre On décale ensuite tous les registres d’un cran.
  37. 37. 36 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 - On effectue 99 cycles dans les registres, où dans chaque cycle on effectue un décalage du système. Cette opération permet rendre complexe l’état interne du GPA . Une autre façon de rédiger l’algorithme est la suivante : 1. R1 = R2 = R3 = R4 = 0 2. For i = 0 to 63 do R1[0] = R1[0]  Kc[i] R2[0] = R2[0]  Kc[i] R3[0] = R3[0]  Kc[i] R4[0] = R4[0]  Kc[i] Décalé simultanément tous les registres 3. For i = 0 to 22 do R1[0] = R1[0]  Kc[i] R2[0] = R2[0]  Kc[i] R3[0] = R3[0]  Kc[i] R4[0] = R4[0]  Kc[i] Décale simultanément tous les registres 4. For i = 0 to 99 do Décaler tous les registres en tenant compte de la règle de décalage. Après le processus d’initialisation, nous allons produire la séquence de chiffrement. b) Production de la séquence de chiffrement La séquence de chiffrement est constituée du résultat sous forme de bits de notre système qui sera utilisé pour le chiffrement proprement dit de la communication. Le fonctionnement est basé sur une séquence du décalage des registres en suivant une certaine loi. Après le décalage d’un registre, une case mémoire est libérée. Il s’agit de la case mémoire du bit de poids le plus fort car on effectue un décalage à droite. Après un décalage, il faut remplacer le bit manquant dans le registre par l’insertion d’un nouveau bit convenablement calculé. Pour insérer un nouveau bit dans le registre, on effectue un OU
  38. 38. 37 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 EXCLUSIF entre quelques bits présents dans le registre et occupant des positions constantes et prédéfinies à l’avance dans le cas de A5/2. Ces positions sont exactement les mêmes que celles définies dans le cas des registres R1, R2 et R3. Par contre, pour le registre R4, nous avons : Bit inséré = R4[11]  R4[16] ce qui correspond à la configuration suivante : Structure du registre R4 Ensuite, on prend R4[3], R4[7], R4[10] ; avec ces derniers on calcule une fonction majorité M = majorité (R4[3], R4[7], R4[10]), définie comme dans le cas de A5/1. La loi de décalage des registres est la suivante :  R1 est décalé si et seulement si R4[10]= M (où M= majorité (R4[3], R4[7], R4[10]))  R2 est décalé si et seulement si R4[3]= M  R3 est décalé si et seulement si R4[7]= M Comme l’illustre le schéma suivant : Organe de décalage des registres Après ce décalage, R4 est également décalé à son tour. Seuls les registres R1, R2 et R3 interviennent dans la constitution de la séquence de de chiffrement. En effet dans chacun de ces registres, deux bits et le complément d’un troisième bit sont pris en paramètre pour calculer une fonction majorité dans l’ordre suivant :
  39. 39. 38 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2  M1 = majorité ( R1[12],R1[15],Not(R1[14]) ) pour le registre R1  M2 = majorité ( R2[9],R2[13],Not(R2[16]) ) pour le registre R2  M3 = majorité ( R3[16],R3[18],Not(R3[13]) ) pour le registre R3 Les bits de poids les plus faibles de chaque registre sont combinés avec le résultat de chaque fonction majorité le OU EXCLUSIF (Xor) pour former la sortie de notre GPA, comme le décrit le schéma suivant : Structure du GPA On obtient ainsi la séquence de chiffrement qui sera utilisée pour le chiffrement de nos données à transmettre sur le réseau. c) Système Chiffrement/ déchiffrement de la communication. Le chiffrement de la communication est réalisé en effectuant un OU EXCLUSIF bit par bit entre la séquence de chiffrement et les données claires de communication. Comme l’illustre le schéma suivant :
  40. 40. 39 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Principe de chiffrement/déchiffrement  Algorithme de chiffrement L’algorithme est constitué des étapes suivantes : 1 – initialiser les registres R1, R2, R3 et R4 grâce à la clé Kc et le compteur de bloc Fn 2 – calculer la fonction majorité M = majorité (R4[7], R4[3], R4[10]) et décaler les registres 3 – calculer les fonctions majorités M1, M2 et M3 4 – calculer L = R1[18]  M1 R2[21] M2 R3[22]  M3 5 – calculer X = Y  L où X est le message chiffré, Y le message clair et L la sortie du GPA et X, Y, L  1,0 .  Algorithme de déchiffrement L’algorithme de déchiffrement est le même que celui déchiffrement sauf qu’ici le message chiffré qui était en sotie dans le cas du chiffrement est pris ici en entrée et en sortie on obtient un message clair. L’algorithme est constitué des étapes suivantes : 1 – initialiser les registres R1, R2, R3 et R4 grâce à la clé Kc et le compteur de bloc Fn 2 – calculer la fonction majorité M = majorité (R4[7], R4[3], R4[10]) et décaler les registres 3 – calculer les fonctions majorités M1, M2 et M3 4 – calculer L = R1[18]  M1 R2[21] M2 R3[22]  M3 5 – calculer X = Y  L où X est le message clair, Y le message chiffré et L la sortie du GPA et X, Y, L  1,0
  41. 41. 40 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 VI. ATTAQUES La force d'A5 est entièrement dans la séquence d'avancement de ses registres. L’adversaire a donc pour buts : - Retrouver la clé secrète ; - Retrouver l’état interne de chaque registre ; - Prédire le bit suivant de la séquence de chiffrement ; C’est ainsi qu’on distingue : L’attaque par recherche exhaustive : Qui consiste à calculer les antécédents par f -1 de tous les éléments y de F d’une fonction f définie de E vers F, jusqu'à en trouver un qui donne x ; cette technique est très coûteuse en temps de calcul et doit être répétée pour chaque nouvelle valeur de y. Mais nous allons illustrer cette attaque sur A5 vu que l’état interne est de petite taille. Nous allons donc nous placer dans le cas où l’attaquant a accès à la séquence de chiffrement car il s’agit ici d’une attaque à texte chiffré seul. Étant donné une séquence de chiffrement (St‘ ) donnée, nous voulons retrouver la clé K’ de taille |K | qui a permis de générer cette séquence. Pour faire une recherche exhaustive nous avons besoin d’un test d’arrêt discriminant la bonne clé des mauvaises clés. Dans notre cas, le test est simplement la clé qui génère une séquence de chiffrement (S t ) identique à la suite (S t ‘ ). On peut avoir le semblant d’algorithme suivant :
  42. 42. 41 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 VII. COMPARAISON ENTRE A5/1 ET A5/2 : 1. Différences fondamentales entre A5/1 et A5/2 : Il s’agit ici de faire une brève comparaison sur les structures de ces deux algorithmes. Les différences notées sont regroupées dans le tableau suivant : Tableau1 : différence fondamentale entre A5/1 et A5/2 A5/1 A5/2 Utilisation des trois registres pour son fonctionnement Utilisation des quatre registres pour son fonctionnement Les bits de décision pour le décalage sont pris dans les registres R1, R2 et R3 Les bits de décision pour le décalage sont tous pris dans le registre R4 2. Différence de performances : A5/1 A5/2 Vitesse d’exécution Plus rapide, car moins de calculs de fonction Moins rapide, car utilise plus de fonctions majorité
  43. 43. 42 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 majorité et de OU EXCLUSIF et plus de OU EXCLUSIF Implémentation Utilise trois registres, ce que son implémentation est moins couteux. Utilise quatre registres, ce qui rend l’implémentation plus difficile Résistance aux attaques Plus résistant Moins résistant
  44. 44. 43 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 CONCLUSION GENERALE Nous somme rendu au terme de l'étude des algorithmes de chiffrement RC4, A5/1, A5/2. Chacun de ces algorithmes possède des caractéristiques qui lui sont propre ce qui renvoie à un domaine d'application précis. Certain de ces algorithmes (A5/2et RC4) sont assez vulnérables vu que des attaques ont été développés pour ces systèmes de chiffrement même s'il présente des avantages assez intéressants. On peut donc dire que le degré de sécurité que confère un algorithme de chiffrement peut dépendre du pays dans lequel on le développe car chaque gouvernement doit pouvoir maitriser la circulation des informations dans son territoire, ne dit-on pas souvent que « celui qui a l’information a le pouvoir ». En somme, le choix d'un algorithme de chiffrement dépend de l'application.
  45. 45. 44 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 WEBOGRAPHIE ET BIBLIOGRAPHIE  Univd2000-crytographie.pdf  Wikipédia  google  Cours du docteur BELL  http://www.uqtr.ca  Documents PDF disponibles dans le site Web

×