Chiffrement par bloc. January 29, 2010

Documents pareils
CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

WiFI Sécurité et nouvelles normes

INF 4420: Sécurité Informatique Cryptographie II

La sécurité dans un réseau Wi-Fi

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Sécurité en milieu Wifi.

Les Réseaux sans fils : IEEE F. Nolot

Master MAIM Ingénierie du Risque TER LE PROTOCOLE WEP : Mécanismes et Failles Vincent HERBERT Université LYON 1

Le protocole RADIUS Remote Authentication Dial-In User Service

Les algorithmes de cryptographie dans les réseaux Wi-Fi

Sécurité des réseaux wifi. CREIX Kevin GIOVARESCO Julien

Sécurité des réseaux wi fi

Le protocole sécurisé SSL

Sécurité des réseaux IPSec

Attaques Wi-Fi WPA. Séparer le bon grain de l ivraie dans le buzz ambiant. Cédric Blancher. sid@rstack.org Rstack Team

IV. La sécurité du sans-fil

Sécurité des réseaux sans fil

1 Introduction 3 2 Vulnérabilités de WEP 4


Sécurité des réseaux sans fil

Outils libres d'audit et d'intrusion pour les réseaux Wi-Fi

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Cryptographie appliquée

Présenté par : Ould Mohamed Lamine Ousmane Diouf

INSTALLATION D'OPENVPN:

SSL ET IPSEC. Licence Pro ATC Amel Guetat

1. Présentation de WPA et 802.1X

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

>#? " $: $A; 4% 6 $7 -/8 $+.,.,$9:$ ;,<=</.2,0+5;,/ ! " # $%!& *$$ $%!& *! # +$

Réseaux : Wi-Fi Sommaire. 1. Introduction. 2. Modes de fonctionnement. 3. Le médium. 4. La loi. 5. Sécurité

Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie

MONNIER Marie /2009 WPA

Fonction de hachage et signatures électroniques

TP 2 : Chiffrement par blocs

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Master e-secure. VoIP. RTP et RTCP

Partie 2 (Service de téléphonie simple) :

Organigramme / Algorigramme Dossier élève 1 SI

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Charte d installation des réseaux sans-fils à l INSA de Lyon

Network WPA. Projecteur portable NEC NP905/NP901W Guide de configuration. Security WPA. Méthode d authentification supportée

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Le protocole SSH (Secure Shell)

Rapport de Projet. La sécurité du protocole : l exploitation des failles et étude des méthodes de protection. Réalisé par :

Modes opératoires pour le chiffrement symétrique

Cours 14. Crypto. 2004, Marc-André Léger

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

Sécurité des Réseaux Locaux Informatiques VLAN et WLAN

Authentification de messages et mots de passe

LES SECURITES DE LA CARTE BANCAIRE

REALISATION d'un. ORDONNANCEUR à ECHEANCES

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Chapitre 5 : Flot maximal dans un graphe

Devoir Surveillé de Sécurité des Réseaux

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

WIFI (WIreless FIdelity)

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

La Technologie Carte à Puce EAP TLS v2.0

How To? Sécurité des réseaux sans fils

Configuration automatique

IPSEC : PRÉSENTATION TECHNIQUE

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Les fonctions de hachage, un domaine à la mode

Introduction au Wi-Fi sécurisé

Limitations of the Playstation 3 for High Performance Cluster Computing

Approfondissement Technique. Exia A5 VPN

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Protocole industriels de sécurité. S. Natkin Décembre 2000

Eric DENIZOT José PEREIRA Anthony BERGER

Sécurité de l'information

1. CONFIGURATION DE LA CLE WEP CONFIGURATION DE LA CLE WPA CONFIGURATION D UN SSID SANS CHIFFREMENT... 6

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

Techniques des Réseaux Informatiques LA SECURITE RESEAU adnaneadnane.ifrance.com

WiFi et sécurité. Introduction et pré-requis : Cet article explique :

Définitions. Numéro à préciser. (Durée : )

Rapport du TER: SMS sécurisé sur Smart-Phones

Exigences d aléa pour la sécurité

WPA / WPA2 Une sécurité fiable pour le Wi-Fi?

ELP 304 : Électronique Numérique. Cours 1 Introduction

et les autres réseaux locaux

Algorithmique et Programmation, IMA

2. DIFFÉRENTS TYPES DE RÉSEAUX

ÉPREUVE COMMUNE DE TIPE Partie D

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

Présentation Générale

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Dynamic Host Configuration Protocol

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Mot de passe sécurisé, systèmes d'authentification S/Key et par jeton de contrôle, protocoles d'authentification pour PPP : PAP, CHAP et EAP

WTLS (Wireless Transport Layer Security)

Projet Active Object

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

Transcription:

Chiffrement par bloc January 29, 2010 1 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 2 / 26

Chiffrement à clef privée 3 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 4 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 5 / 26

Schéma général - chiffrement Générateur pseudo aléatoire bits pseudo aléatoires s i c i bit du message chiffré K = germe secret m i bit du message clair 6 / 26

Schéma général - déchiffrement Générateur pseudo aléatoire bits pseudo aléatoires s i c i bit du message chiffré K = germe secret m i bit du message clair 7 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 8 / 26

RC4 - présentation RC4 = (Rivest Cipher 4) est composé de 2 algorithmes L algorithme KSA (Key schedule algorithm) qui initialise/randomise une fonction bijective S : {0,..., N 1} {0,..., N 1}. En pratique N = 256. L algorithme PRGA (Pseudo random generator algorithm) génere une suite aléatoire d octet L octet aléatoire généré est un S[j i ] et l octect chiffré c i = m i S[j i ]. L indice j i et la fonction S est mise à jour. Remarque. C est un algorithme proche d Enigma (chiffrement par une substitution modifiée à chaque nouveau caractère (octet)). 9 / 26

RC4 - KSA L algorithme de key schedule (KSA) initialise et randomise la fonction S. KSA Entrée : deux tableaux d octet clef et IV Sortie : Une fonction S : [0,N-1] -> [0,N-1] K := [IV clef ] L := longueur(k) pour i de 0 à N S[i] := i finpour j := 0 pour i de 0 à 255 j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) finpour 10 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 11 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 0 1 2 3 5 6 7 0 + 0 + 4 mod 8 = 4 S[0] S[4] 11 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 0 1 2 3 5 6 7 0 + 0 + 4 mod 8 = 4 S[0] S[4] 1 4 3 0 5 6 7 4 + 0 + 6 mod 8 = 2 S[1] S[2] 11 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 0 1 2 3 5 6 7 0 + 0 + 4 mod 8 = 4 S[0] S[4] 1 4 3 0 5 6 7 4 + 0 + 6 mod 8 = 2 S[1] S[2] 2 4 2 3 0 6 7 2 + 1 + 2 mod 8 = 5 S[2] S[5] 11 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 0 1 2 3 5 6 7 0 + 0 + 4 mod 8 = 4 S[0] S[4] 1 4 3 0 5 6 7 4 + 0 + 6 mod 8 = 2 S[1] S[2] 2 4 2 3 0 6 7 2 + 1 + 2 mod 8 = 5 S[2] S[5] 3 2 5 0 1 6 7 5 + 1 + 4 mod 8 = 1 S[3] S[1] 11 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 0 1 2 3 5 6 7 0 + 0 + 4 mod 8 = 4 S[0] S[4] 1 4 3 0 5 6 7 4 + 0 + 6 mod 8 = 2 S[1] S[2] 2 4 2 3 0 6 7 2 + 1 + 2 mod 8 = 5 S[2] S[5] 3 2 5 0 1 6 7 5 + 1 + 4 mod 8 = 1 S[3] S[1] 4 2 5 4 1 6 7 1 + 2 + 6 mod 8 = 1 S[4] S[1] 11 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 0 1 2 3 5 6 7 0 + 0 + 4 mod 8 = 4 S[0] S[4] 1 4 3 0 5 6 7 4 + 0 + 6 mod 8 = 2 S[1] S[2] 2 4 2 3 0 6 7 2 + 1 + 2 mod 8 = 5 S[2] S[5] 3 2 5 0 1 6 7 5 + 1 + 4 mod 8 = 1 S[3] S[1] 4 2 5 4 1 6 7 1 + 2 + 6 mod 8 = 1 S[4] S[1] 5 0 2 5 4 3 7 1 + 2 + 3 mod 8 = 6 S[5] S[6] 11 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 0 1 2 3 5 6 7 0 + 0 + 4 mod 8 = 4 S[0] S[4] 1 4 3 0 5 6 7 4 + 0 + 6 mod 8 = 2 S[1] S[2] 2 4 2 3 0 6 7 2 + 1 + 2 mod 8 = 5 S[2] S[5] 3 2 5 0 1 6 7 5 + 1 + 4 mod 8 = 1 S[3] S[1] 4 2 5 4 1 6 7 1 + 2 + 6 mod 8 = 1 S[4] S[1] 5 0 2 5 4 3 7 1 + 2 + 3 mod 8 = 6 S[5] S[6] 6 0 2 4 3 6 7 6 + 1 + 3 mod 8 = 2 S[6] S[2] 11 / 26

Les deux opération de la boucle sont Exemple d exécution de KSA j := (j + S[i] + K[i mod L]) mod 256 échanger(s[i], S[j]) On prend N = 8 et K = [4, 6, 2, 4, 6, 3, 3, 7] et donc L = 8 Step(i) 0 1 2 3 4 5 6 7 j = j + S[j] + K[i] mod 8 Echange Init. 0 1 2 3 4 5 6 7 0 0 1 2 3 5 6 7 0 + 0 + 4 mod 8 = 4 S[0] S[4] 1 4 3 0 5 6 7 4 + 0 + 6 mod 8 = 2 S[1] S[2] 2 4 2 3 0 6 7 2 + 1 + 2 mod 8 = 5 S[2] S[5] 3 2 5 0 1 6 7 5 + 1 + 4 mod 8 = 1 S[3] S[1] 4 2 5 4 1 6 7 1 + 2 + 6 mod 8 = 1 S[4] S[1] 5 0 2 5 4 3 7 1 + 2 + 3 mod 8 = 6 S[5] S[6] 6 0 2 4 3 6 7 6 + 1 + 3 mod 8 = 2 S[6] S[2] 7 0 2 5 4 3 6 2 + 5 + 7 mod 8 = 6 S[7] S[6] 11 / 26

RC4 - PRGA PRGA i := 0 j := 0 tant_que générer une sortie: i := (i + 1) mod 256 j := (j + S[i]) mod 256 échanger(s[i], S[j]) octet_chiffrement = S[(S[i] + S[j]) mod 256] result_chiffré = octet_chiffrement XOR octet_message fintant_que 12 / 26

Exemple d éxécution de PRGA On considère le message M = [100, 101,...]. On applique l algorithme PRGA. 1 Initialisation i = 0, j = 0 k 0 1 2 3 4 5 6 7 S[k] 0 2 5 4 3 6 7 1 13 / 26

Exemple d éxécution de PRGA On considère le message M = [100, 101,...]. On applique l algorithme PRGA. 1 Initialisation i = 0, j = 0 k 0 1 2 3 4 5 6 7 S[k] 0 2 5 4 3 6 7 1 2 i = 1, j = 0 + S[i] = 0 + 2, on échange S[1] S[2] k 0 1 2 3 4 5 6 7 S[k] 0 4 3 6 7 1 On chiffre le premier bloc de M. On a octet chiffrement = S[(S[i] + S[j])mod256] = S[5 + 2] = S[7] = 1 et donc C 1 = [100] [001] = 101. 13 / 26

Exemple d éxécution de PRGA On considère le message M = [100, 101,...]. On applique l algorithme PRGA. 1 Initialisation i = 0, j = 0 k 0 1 2 3 4 5 6 7 S[k] 0 2 5 4 3 6 7 1 2 i = 1, j = 0 + S[i] = 0 + 2, on échange S[1] S[2] k 0 1 2 3 4 5 6 7 S[k] 0 4 3 6 7 1 On chiffre le premier bloc de M. On a octet chiffrement = S[(S[i] + S[j])mod256] = S[5 + 2] = S[7] = 1 et donc C 1 = [100] [001] = 101. 3 i = 2, j = 2 + S[2] = 2 + 5 = 7, on échange S[2] S[7] k 0 1 2 3 4 5 6 7 S[k] 0 5 4 3 6 7 On chiffre le deuxième bloc de M. On a octet chiffrement = S[(1 + 2)mod256] = S[3] = 4 et donc C 2 = [101] [100] = 001 13 / 26

Exemple d éxécution de PRGA On considère le message M = [100, 101,...]. On applique l algorithme PRGA. 1 Initialisation i = 0, j = 0 k 0 1 2 3 4 5 6 7 S[k] 0 2 5 4 3 6 7 1 2 i = 1, j = 0 + S[i] = 0 + 2, on échange S[1] S[2] k 0 1 2 3 4 5 6 7 S[k] 0 4 3 6 7 1 On chiffre le premier bloc de M. On a octet chiffrement = S[(S[i] + S[j])mod256] = S[5 + 2] = S[7] = 1 et donc C 1 = [100] [001] = 101. 3 i = 2, j = 2 + S[2] = 2 + 5 = 7, on échange S[2] S[7] k 0 1 2 3 4 5 6 7 S[k] 0 5 4 3 6 7 On chiffre le deuxième bloc de M. On a octet chiffrement = S[(1 + 2)mod256] = S[3] = 4 et donc C 2 = [101] [100] = 001 13 / 26

Exemple d éxécution de PRGA On considère le message M = [100, 101,...]. On applique l algorithme PRGA. 1 Initialisation i = 0, j = 0 k 0 1 2 3 4 5 6 7 S[k] 0 2 5 4 3 6 7 1 2 i = 1, j = 0 + S[i] = 0 + 2, on échange S[1] S[2] k 0 1 2 3 4 5 6 7 S[k] 0 4 3 6 7 1 On chiffre le premier bloc de M. On a octet chiffrement = S[(S[i] + S[j])mod256] = S[5 + 2] = S[7] = 1 et donc C 1 = [100] [001] = 101. 3 i = 2, j = 2 + S[2] = 2 + 5 = 7, on échange S[2] S[7] k 0 1 2 3 4 5 6 7 S[k] 0 5 4 3 6 7 On chiffre le deuxième bloc de M. On a octet chiffrement = S[(1 + 2)mod256] = S[3] = 4 et donc C 2 = [101] [100] = 001 13 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 14 / 26

LFSR 15 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 16 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 17 / 26

WEP Sécurité dans les réseaux sans fil WEP : Wired Equivalent Protocol Ce protocole sécurise les données de la couche liaison pour les transmissions sans fil (WIFI) de la norme 802.11. 18 / 26

WEP Il présuppose l existence d une clé secrète entre les parties communicantes (la clé WEP) pour protéger le corps des frames transmises. L utilisation du WEP est optionnel Il n y a pas de protocoles de gestion de clé = Une seule clé partagée par plusieurs utilisateurs. Cette clef sert de clef de chiffrement à toutes les sessions WEP. Le chiffrement se fait avec RC4. 19 / 26

WEP - Athentification Alice s authetifie auprès du serveur. Stratégie : protocole aléa-retour Le serveur choisit un aléa r de 128 bits et l envoi à Alice. Alice chiffre chiffré avec la méthode précédente, C = r + RC4(v, k) Le serveur vérifie si C = C (la valeur calculée par le serveur) 20 / 26

WEP : quelques problèmes... Une clé statique : aucun chiffrement n est sûr si on réutilise toujours la même clé. La taille de l IV : 24 bits=>seulement 16,777,216 d IV possibles De plus 802.11 ne rend pas obligatoire l incrémentation de l iv! Longueur de clé : 40 bits (5 caractères ASCII) ou 104 bits (13 caractères ASCII) = attaque par recherche exhaustive possible! =>Taille totale : entre 64 et 128 bits CRC 32 : le code est linéaire: c(x + y) = c(x) + c(y)! Pas de protection de l intégrité des données Attaque par changement de seulement 1 bit du message Pas de spécification sur la distribution des clés 21 / 26

Attaque du WEP Deux attaques statistiques contre RC4 avec des IVs FSM 2001 : des IV sont faibles et révèlent de l information sur la clé à l aide du premier octet de sortie. Amélioration de cette attaque par Hulton = utilisation des premiers octets de sortie => permet de réduire la quantité de données à capturer. Attaque de KoreK (2004) : généralisation des deux attaques précédentes + injection de paquets. On détermine le reste de la clé par recherche exhaustive Actuellement il est assez facile de casser une clef WEP (1h pour l injection de paquets et 1mn pour l analyse statistique). 22 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 23 / 26

WPA WPA1. Utilise toujours RC4 mais corrige les défauts du WEP. Utilisation de clef de session de 128 bits, Authentification par hachage (802.1x pour l authentification EAP (Extensive Authentication Protocol RFC 2284)). Impossibilité de réutiliser un même IV avec la même clé Utilisation d un contrôle d intégrité du message (MIC) avec SHA-1 WPA2, même chose que le WPA1 mais avec l AES en mode OFB pour le chiffrement, 24 / 26

Plan 1 Introduction 2 Chiffrement par flot Schéma général RC4 LFSR - registre linéaire à décalage 3 Applications WEP WPA GSM 25 / 26

L algorithme A5/1 est utilisé dans GSM A chaque cloc de l horloge les registre sont shifté, suivant les valeur de bits oranges (une fonction dite de parité indique quels registres doivent être shiftés). 26 / 26