View
110
Download
0
Category
Preview:
Citation preview
Yonel GRUSSON 1
Les RESEAUX
Yonel GRUSSON 2
LA PROTECTION DES ECHANGES D'INFORMATION
Yonel GRUSSON 3
Le traitement de l'information par une machine passe par de nombreuses et successives transmissions :
Mémoire Centrale Unité Centrale (Bus)
Périphérique M.C et/ou U.C (Parallèle)
Périphérique M.C et/ou U.C (Série)
Ordinateur Ordinateur (Transmission)
Toute les transmissions sous-entendent une possibilité d'erreur.
INTRODUCTION
Yonel GRUSSON 4
Le problème de la détection voire de la correction des erreurs de transmission se double du problème de la protection (confidentialité) des données transmises -cryptage-.
Attention : Les deux problèmes ne se situent pas au même niveau. La détection des erreurs de transmission se situe dans les couches basses alors que le cryptage se situe au niveau de la couche 6.
INTRODUCTION
Yonel GRUSSON 5
PLAN 1ère Partie
Détection et correction des erreurs de transmission.
2ème PartieProtection des données (confidentialité).
3ème PartieLe protocole SSH.Le protocole SSL.
INTRODUCTION
Yonel GRUSSON 6
1ère Partie : DETECTION ET CORRECTION DES ERREURS DE TRANSMISSION.
• Principe général
• Le contrôle par checksum
• Le contrôle par parité simple
• Le contrôle par parité croisée
• Le contrôle polynomial
Yonel GRUSSON 7
Principe Général
Attention : L'erreur peut-être dans I comme dans C
A l'émission
Information à transmettre (I) Clé 1 (C1)Algorithme (A)
Transmission de : I C1 A la réception
Réception de : I C1
Information reçue (I) Clé 2 (C2)Algorithme (A)
C1 = ? = C2Non : Erreur de transmission
Oui : Présomption d'absence d'erreur
Yonel GRUSSON 8
• Méthode ancienne utilisée :
– Entre UC et Périphériques,
– Dans les trames de certains protocoles.
• Méthode assez simple qui consiste à faire une somme binaire d'un ensemble d'octets.
• Exemple de la méthode du checksum dans une trame IP :
……
Contrôle par checksum
Yonel GRUSSON 9
• A la transmission de A7 30 et C5A7 1010011130 00110000C5 11000101Somme 1 10011100 Repli de la retenue 10011100 1Total 10011101Complément à 1 01100010 = le CheckSum
• Transmission de :10100111 00110000 11000101 01100010
Contrôle par checksum
Yonel GRUSSON 10
• A la réception :Checksum reçu 01100010
OUChecksum recalculé(avant complément à 1) 10011101
Vérification 11111111
(Avec l'opérateur ET le résultat serait 00000000)
Contrôle par checksum
Yonel GRUSSON 11
Contrôle de parité (ou d'imparité)Il s'agit du contrôle le plus ancien et le plus
simple.
Il consiste à ajouter à la fin de chaque bloc de (n-1) bits un bit supplémentaire de telle sorte que le nombre total de bits égaux à 1 dans le bloc de n bits soit pair (ou impair).
Souvent n = 8 (octet).
Exemples : 01010110 10110001
Yonel GRUSSON 12
Avantages : Simplicité ; Peut se faire électroniquement (cf. UART).
Inconvénients : Perte d'un bit de donnée ; Deux erreurs peuvent s'annuler ; Cette méthode ne permet pas de corriger
automatiquement l'erreur (retransmission).
Contrôle de parité (ou d'imparité)
Yonel GRUSSON 13
Le contrôle par parité croisée
L'abandon de la transmission en mode caractère au profit de la notion de "bloc de bits" (cf. La liaison de données) a amené de nouvelles méthodes.
Le contrôle par parité croisée est une amélioration du contrôle de parité simple.
Yonel GRUSSON 14
Exemple :
Soit transmettre le bloc de bits suivants : 0110111001011101101110011100111001111100101010010
Ce bloc est découpé de façon à faire apparaître une parité horizontale, verticale et un bit de parité croisée.
Le contrôle par parité croisée
Yonel GRUSSON 15
0 1 1 0 1 1 1 10 0 1 0 1 1 1 00 1 1 0 1 1 1 10 0 1 1 1 0 0 11 1 1 0 0 1 1 11 1 1 0 0 1 0 01 0 1 0 0 1 0 11 0 1 1 0 0 0 1
Parité Horizontale(LRC : Longitudinal Redundancy
Checkink)
Parité croisée
Parité Verticale(VRC : Vertical RedundancyCheckink)
0 1 1 0 1 1 1 10 0 1 0 1 1 1 00 1 1 0 1 1 1 10 0 1 1 1 0 0 11 1 1 0 0 1 1 11 1 1 0 0 1 0 01 0 1 0 0 1 0 11 0 1 1 0 0 0 1
Le contrôle par parité croisée
Yonel GRUSSON 16
Transmission de :0110111100101110011011110011100111100111
111001001010010110110001
Supposons une erreur lors de la transmission :
0110111100101110011001110011100111100111111001001010010110110001
Le contrôle par parité croisée
Yonel GRUSSON 17
0 1 1 0 1 1 1 10 0 1 0 1 1 1 00 1 1 0 0 1 1 10 0 1 1 1 0 0 11 1 1 0 0 1 1 11 1 1 0 0 1 0 01 0 1 0 0 1 0 11 0 1 1 0 0 0 1
LRC recalculé
VRC recalculé
Parité croisée recalculée
1001101
1 0 1 1 1 0 0 0
Le contrôle par parité croisée
Yonel GRUSSON 18
Le contrôle par parité croisée
0 1 1 0 1 1 1 10 0 1 0 1 1 1 00 1 1 0 0 1 1 10 0 1 1 1 0 0 11 1 1 0 0 1 1 11 1 1 0 0 1 0 01 0 1 0 0 1 0 11 0 1 1 0 0 0 1
1001101
1 0 1 1 1 0 0 0
1 - Détection de l'erreuravec la différence sur les parités croisées.
2 - Après vérification l'erreur ne provient pas de la transmission des LRC et VRC
3 - Après comparaison des LRC et VRC calculées et reçues, recherche, détection et correction de l'erreur
Yonel GRUSSON 19
L'évolution des transmissions et la recherche d'une sécurité accrue ont amenées le contrôle polynomial.
Principe :
Bloc d'informations de n bits Contrôle (k bits)
Les k bits sont générés à partir des n bits d'information à partir d'un polynôme connu de l'émetteur et du récepteur.
Le contrôle polynomial
Yonel GRUSSON 20
Les données
• Toute suite binaire de n bits peut être associée à un polynôme de degré (n-1) :
A(x)=b xn-1 + b xn-2 + … + b x0 avec b dans {0,1}
• D'autre part on utilise un polynôme générateur G(x) de degré k
G(x)=b xk + b xk-1 + … + b x0
Polynôme connu par l'émetteur et le récepteur.
Exemple
Le contrôle polynomial
Yonel GRUSSON 21
A l'émission• A(x) est multiplié par xk
Cette opération consiste à ajouter k zéros derrière A(x)
• Le résultat est divisé par G(x)A(x) . xk / G(x)
A(x) . xk = Q(x) . G(x) + R(x)avec Q(x) le quotient et R(x) le reste de la division
• Le polynôme de contrôle sera R(x) et le message envoyé M(x) = A(x) . xk + R(x)
Exemple
Exemple
Exemple
Le contrôle polynomial
Yonel GRUSSON 22
A la réception
M(x) est divisé par G(x) et le reste est nul si la transmission est sans erreur
__________
Les polynômes générateurs les plus utilisés sont
x7 + x3 + 1
x12 + x11 + x3 + x2 + x + 1
x16 + x12 + x5 + 1 (Polynôme normalisé)
Le contrôle polynomial
Exemple
Yonel GRUSSON 23
2ème Partie : PROTECTION DES DONNEES
• La CONFIDENTIALITE des données dans les transmissions mais également sur un support comme le disque pour protéger des données, est obtenue avec des techniques CRYPTOGRAPHIQUES.
Yonel GRUSSON 24
• Chiffrement par substitutionAncienne technique de chiffrement (Jules César)
qui regroupe de nombreux algorithmes dont le plus simple est le code «AvautK», «BvautL», etc. Message facile à décrypter en utilisant la fréquence de répétition des lettres.
La substitution polyalphabétique utilise plusieurs alphabets : le 'C' en cinquième position utilisera l'alphabet n°5 qui remplace le 'C' par 'F' par exemple.
Différentes méthodes de chiffrement
Yonel GRUSSON 25
La cryptographie moderne repose sur la notion de CLE qui regroupe :
• Chiffrement symétrique (ou cryptage symétrique)
Méthode à clé unique
• Chiffrement asymétrique (ou cryptage asymétrique)
Méthode à deux clés
Différentes méthodes de chiffrement
Yonel GRUSSON 26
• Soit coder le message «LA TAXE»,
• Avec la CLE «BTS»
• et avec les correspondances suivantes :
Espace = 0 ; A = 1 ; B = 2 ; … ; E = 5 ; … ;L = 12 ; … ; S = 19 ; T = 20 ; … ; X = 24 ;Z = 26
Cryptographie à clé unique
Yonel GRUSSON 27
• Phase de CryptageB T S B T S BL A T A X E
• Soit en équivalent numérique 2 20 19 2 20 19 2+ 12 1 0 20 1 24 5 14 21 19 22 21 43 7 - 26 1 7
Cryptographie à clé unique
Yonel GRUSSON 28
• Le message codé sera :N U S V U Q G
Phase de décodage : 14 21 19 22 21 17 7 - 2 20 19 2 20 19 2 12 1 0 20 1 -2 5
+26 24
Cryptographie à clé unique
Yonel GRUSSON 29
• Dans la pratique informatique les équivalents numériques sont les codes des caractères (ASCII par exemple).
• Faiblesses du système :
– Facilement "crakable". En particulier par la répétition statistique des lettres qui est propre à une langue.
– Il faut transmettre la clé en clair
Cryptographie à clé unique
Yonel GRUSSON 30
Le futur destinataire génère une clé.
Cette clé est dite privée car elle est conservée par le destinataire pour décrypter les futurs messages qu'il va recevoir.
Le futur destinataire génère également à l'aide d'un algorithme et à partir de sa clé privée une seconde clé dite publique qui sera diffusée auprès des futurs émetteurs.
Cryptographie à deux clés
Yonel GRUSSON 31
• Diffusion des clés publiques :
– soit directement du créateur aux utilisateurs.
– soit à l'aide de serveur de clés sur Internet.
• Exemple de clé publique trouvée sur le net...
Cryptographie à deux clés
Yonel GRUSSON 32
Pasty's Clé publique pour PGP Type Bits/KeyID Date User ID
pub 512/D8ED58B5 1996/04/14 Patrick Asty -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3i
mQBNAzFw+hkAAAECANecrbGGPTZmqU+q+7t8E/6btByZbQHPQ9qlKo6HDT6zImDJ
VSwe0/oaft3lwNSUPT+Ab7hC9QJdZkjamtjtWLUABRG0IFBhdHJpY2sgQXN0eSA8
cGFzdHlAbWljcm9uZXQuZnI+iQCVAgUQMXHzUYFdzKExeYBpAQEGRQP+Osjdo33s
cGRp08ESxJIpZsKRMr7J0Gy3riE93zvN6PjYXbY0IqCljhtSxCxcR7oaBbnpAL3m
/xmp3DXiwK6878wphWgk8OmPJ5fbW7ZUo4PaNDr3G3rbfTq8h4ripJ/eC5AdCO3J
5GsE7uh/32UIhgt5xooL+E21rhf/UW3kmZyJAFUDBRAxcPoZZkjamtjtWLUBASpl
AgCMynq/IwfChy2UN5b8hWx7AKX34eJtOBXo8yANNtNWO4H0YP6t7777l4kvpArb
CfgydCL1Vj3JVMMZ19YWK4Hn
=7RVR
-----END PGP PUBLIC KEY BLOCK-----
Cryptographie à deux clés
Yonel GRUSSON 33
• Les émetteurs cryptent leurs messages avec la clé publique du destinataire (c'est la seule qu'il connaisse). Le destinataire décrypte le message avec sa clé privée.
• De même, ce qui est crypté avec la clé privée est décrypté par la clé publique. Ceci est à la base de la signature électronique qui permet d'authentifier l'origine d'un message.
• Évidemment les deux partenaires utilisent le même logiciel de cryptage (Pretty Good Privacy -PGP- par exemple).
Cryptographie à deux clés
Yonel GRUSSON 34
Résumé pour le cryptage d'un message• La personne A génère :
– Sa Clépriva
– Sa CléPub = f(Clépriva)• La personne B crypte
– MessCrypté = f(MessClair, Clépuba)• La personne A décrypte :
– MessClair = f(MessCrypté, Clépriva)f représente l'algorithme de cryptage.
Cryptographie à deux clés
Yonel GRUSSON 35
Résumé pour la signature électronique• La personne A
– A veut authentifier son message. Il crypte une partie du message (ou la totalité) avec sa clé privée (CléPriva)
– SignatCrypté = f(SignatClair, CléPriva)• La personne B
– B décrypte à l'aide de (CléPuba)– SignatClair = f(SignatCrypté, CléPuba)
Cryptographie à deux clés
Yonel GRUSSON 36
Le protocole Secure SHell (SSH)
A l'origine le protocole SSH était un protocole permettant à un client d'ouvrir une session interactive (avec telnet par exemple) sur une machine distante. La sécurité est assurée car :Le client et le serveur s'authentifie
mutuellement.Les données circulent chiffrées.
La version 1 de SSH date 1995, une faille de sécurité amène la version 2 en 1997. SSH1 et SSH2 sont incompatibles.
Yonel GRUSSON 37
Le protocole Secure SHell (SSH)
SSH2 définit 3 couches faisant l'objet d'une normalisation à l'IETF :
SSH transport layer Protocol qui prend en charge le chiffrement, la compression et l'authentification des machines
SSH Authentification Protocol qui prend en charge l'authentification de l'utilisateur
SSH Connection protocol qui gère la session avec la gestion d'un tunnel
Yonel GRUSSON 38
Le protocole Secure SHell (SSH)
L'authentification principale de SSH2 repose en particulier sur l'utilisation de clés publiques/clés privées.
Le client et le serveur génèrent (commande > ssh –keygen) un couple de clés privée/publique ; puis s'échangent leur clé publique (par FTP ou mail ou commande scp).
La clé privée peut être consolidée par une phrase clé (passphrase) qui sera fourni à chaque connexion (sauf avec l'utilisation de ssh-agent).
Yonel GRUSSON 39
Le protocole Secure SHell (SSH)
Connexion (exemple Linux) :
$ ssh login@serveur_ssh
Avec
login le nom de l'utilisateur
serveur_ssh le nom de la machine distante (ou adresse IP)
Selon la configuration de ssh, l'authentification peut se faire soit par mot de passe soit par clé publique/privée
Yonel GRUSSON 40
Le protocole Secure SHell (SSH)Par mot de passe
$ ssh login@serv_ssh
The authenticity of host 'serv_ssh (200.100.30.10)' can't be established.RSA key fingerprint is a9:bb:55:35:86:4d:ca:81:7f:9e:2b:2c:79:10:96:3c.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'serv_ssh (200.100.30.10)' (RSA) to the list of known hosts.Password:***********
L'empreinte (key fingerprint) envoyée par le serveur permet au client d'authentifier ce dernier (demande faite à la première connexion).
Yonel GRUSSON 41
Le protocole Secure SHell (SSH)Par clé publique/privée (authentification simple)
$ ssh login@serv_ssh
1. Si le client ssh ne possède pas la clé publique de serv_ssh, une première connexion permet à ce dernier de lui envoyer cette clé.
2. Le client génère une clé secrète aléatoire et l'envoie à serv_ssh, en cryptant l'échange avec la clé publique du serveur. Serv_ssh décrypte la clé secrète en utilisant sa clé privée. Seul le serveur peut effectuer ce décryptage.
Yonel GRUSSON 42
Le protocole Secure SHell (SSH)
3. Pour s'authentifier auprès du client, le serveur lui crypte un message standard avec sa clé secrète. Si le client retrouve le message standard en utilisant la clé secrète, il a la preuve que le serveur est bien le vrai serveur.
4. Une fois la clé secrète échangée, le client et le serveur peuvent alors établir un canal sécurisé grâce à la clé secrète commune appelée clé de session (cryptographie symétrique).
Yonel GRUSSON 43
Le protocole Secure SHell (SSH)
5. Une fois que le canal sécurisé est en place, le client va pouvoir envoyer au serveur le login et le mot de passe de l'utilisateur pour vérification. La canal sécurisé reste en place jusqu'à ce que l'utilisateur se déconnecte.
Par clé publique/privée (double authentification)
Dans le cas ou le client possède également une clé publique/privée, il peut également s'authentifier selon la même procédure auprès du serveur.
Yonel GRUSSON 44
Le protocole Secure SHell (SSH)
Grâce une configuration identique sur le client et le serveur, une fois la connexion SSH établie il est possible de rediriger certaine application (certains ports) comme telnet ou ftp vers le tunnel SSH.
Yonel GRUSSON 45
3ème Partie - SSL (Sécure Socket Layer)
SSL est un protocole, conçu par Netscape pour assurer la sécurité des échanges sur Internet en particulier pour les échanges commerciaux (paiement, connexion bancaire, etc..)
La version 2.0 fut développée par Netscape ;
La version 3.0 est actuellement la plus répandue ;
La version 3.1 baptisée TLS (transport Layer Security, RFC 2246) est standardisée par l'IETF (Internet Engineering Task Force).
Yonel GRUSSON 46
SSL – Sécure Socket LayerSSL est un protocole indépendant du protocole
de l'application. Il peut s'utiliser avec HTTP, FTP, POP, etc. SSL se situe entre les couches application et transport (TCP le plus généralement). On le considère comme un protocole de session.
Les ports utilisés sont :
HTTPS 443 LDAPS 636
SMTPS 465 POP3S 995
NNTPS 563 IMAPS 995
TELNETS 992
Yonel GRUSSON 47
SSL – Sécure Socket Layer
Aujourd'hui, les navigateurs supportent tous ce protocole. Son utilisation est repérable
– Par le début de l'URL : https://… où le "s" signifie "sécurité"
– Par l'icône :
Yonel GRUSSON 48
SSL – Sécure Socket Layer
SSL comprend essentiellement 2 protocoles :SSL Handshake protocol qui est la phase de
négociation entre le client et le serveur.SSL Record protocol qui chiffre les
informations échangés et effectue divers contôles.
Donc 2 phases :La négociationLa communication
Yonel GRUSSON 49
SSL – Sécure Socket Layer
Phase 1 : La négociationLe client se connecte au serveur sécurisé par
SSL et demande au serveur de s'authentifier.Cette demande est accompagnée de la liste des systèmes de cryptage (longueur des clés) que le client supporte.
Le serveur répond au client en lui envoyant un certificat contenant sa clé publique. Ce certificat est signé électroniquement par une autorité de certification (tiers de confiance).
Yonel GRUSSON 50
SSL – Sécure Socket Layer
Phase 1 : La négociationEn d'autre terme le certificat reçu est crypté
à l'aide de la clé privée du tiers de confiance.A réception, le client doit donc s'assurer de
l'identité du serveur. Est-il bien celui qu'il prétend être ?Les navigateurs possèdent un certains nombre de PKI (Public Key Infrastructure) contenant la clé public du tiers de confiance. Celle-ci permet de vérifier la signature.
Yonel GRUSSON 51
SSL – Sécure Socket Layer
Phase 1 : La négociation Une fois le serveur authentifié, le client
génère une clé de cryptage aléatoire et chiffre cette clé avec la clé public du serveur.
Le serveur peut déchiffrer la clé du client avec sa clé privée.
Note : Le protocole prévoit également que le serveur puisse demander au client de s'authentifier ; mais ceci est très rare car peu de clients possèdent des clés certifiées.
Yonel GRUSSON 52
SSL – Sécure Socket Layer
Phase 2 : La communicationL'intégrité et la confidentialité des échanges
sont garantis par l'utilisation des clés de chiffrement détenues par chaque partenaire.
Le client chiffre avec la clé publique du serveur et déchiffre avec la clé qu'il à généré aléatoirement
Le serveur chiffre avec la clé qu'il a reçu du client et déchiffre avec sa clé privée
Yonel GRUSSON 53
SSL – Sécure Socket Layer
La gestion des certificats par Internet Explorer
Yonel GRUSSON 54
SSL – Sécure Socket Layer
Le protocole SSL est évidemment utilisé sur l'Internet dans des échanges qui doivent être protégés.
Mais il peut être aussi mis en œuvre dans le cadre d'un intranet entre le serveur d'une entreprise et des stations clientes mobiles.
Dans ce cas, l'authentification du client est plus importante que celle du serveur.
Yonel GRUSSON 55
SSH - SSL
SSH et SSL paraissent très proches (OpennSSH
s'appuie d'ailleurs sur les bibliothèques d'OpenSSL).
SSH provient surtout du monde Unix où il permet de sécuriser les sessions interactives entre des équipements "partenaires". Il existe des implantations pour Windows.
SSL utilise la notion de certificat et met en relation des équipements "indépendants" (Internaute et serveur commercial).
Yonel GRUSSON 56
Les RESEAUX
Yonel GRUSSON 57
Exemple
La suite binaire suivante 100101 peut être
associée au polynôme suivant :
A(x)=1 x5 + 0 x4 + 0 x3 + 1 x2 + 0 x1 + 1 x0
Exercices :
Donner le polynôme de : 1011001110
Donner la suite binaire correspondant à :
B(x)=1 x9 + 0 x7 + 0 x6 + 0 x4 + 0 x3 + 1 x0
Yonel GRUSSON 58
Exemple• Soit :
• A(x)=1 x5 + 0 x4 + 0 x3 + 1 x2 + 0 x1 + 1 x0 ou la suite binaire : 100101
• G(x) = x3 + x + 1 ou la suite binaire 1011
• A(x) * x3 soit 100101 * 1000 = 100101000
Yonel GRUSSON 59
Exemple
• A(x) * x3 / G(x)
1 0 0 1 0 1 0 0 0 1 0 1 1
1 0 1 1 1 0 1 0 1 0
0 0 1 0 0 1
1 0 1 1
0 0 1 0 0 0
1 0 1 1
0 0 1 1 0
Division polynomiale
Yonel GRUSSON 60
Exemple
Message transmis
M(x) = A(x) * x3 + R(x) soit :
Message = 100101110
Exercice :
Transmettre le message 1110100 avec un contrôle utilisant G(x)=x3 + 1
Yonel GRUSSON 61
Exemple
• A la réception :
1 0 0 1 0 1 1 1 0 1 0 1 1
1 0 1 1 1 0 1 0 1 0
0 0 1 0 0 1
1 0 1 1
0 0 1 0 1 1
1 0 1 1
0 0 0 0 0
Yonel GRUSSON 62
Exemple
Exercice :
La réception de :
1 1 1 0 1 1 0 0 1 1
est-elle correcte ?
Le polynôme générateur étant G(x) = x3 + 1
Yonel GRUSSON 63
Division Polynomiale
2x3 - 5x2 + 4x - 1 x2 + x + 1
- (2x3 +2x2 + 2x) 2x - 7
-7x2 + 2x - 1
- (-7x2 - 7x - 7)
0 + 9x + 6
Recommended