Crypto et sécurité de l’information
Chap 4: Gestion des clés symétriques ou asymétriques, Protocoles
d’authentification, Kerberos, Protocoles de sécurité
Rhouma Rhouma
https://sites.google.com/site/rhoouma
Ecole superieure d’Economie Numerique
2ème Mastère Web Intelligence
1 / 73
Plan
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
2 / 73
Distribution des clés secrètes dans les alg symétriques
Plan
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
3 / 73
Distribution des clés secrètes dans les alg symétriques
Problème de distribution et gestion des clés
Le problème de génération et distribution des clés est un
problème majeure dans les communications sécurisées.
La sécurité des protocoles et des alg de cryptage est basé sur ce
problème fondamental
La gestion des différents clés des différents entités est aussi un
problème majeur
Les alg symétriques requiert que les deux interloculteurs
partagent la même clé secrète
les alg asymétriques requiert que les interlocuteurs possédent
des clés publiques valides de leurs correspondants
4 / 73
Distribution des clés secrètes dans les alg symétriques
Distribution des clés
Alice et Bob ont beaucoup d’alternatives pour distribuer une clé
Alice peut sélectionner une clé et la délivre physiquement à Bob
(main à main)
Une tierce partie peut sélectionner et délivrer la clé à Alice et Bob
Si Alice et bob ont communiqué auparavant, ils peuvent utiliser
l’ancienne clé pour chiffrer la nouvelle
Si Alice et Bob ont des lignes sécurisés avec une tierce partie
Charlie, alors Charlie peut relayer la clé entre Alice et bob.
5 / 73
Distribution des clés secrètes dans les alg symétriques
Hiérarchie des clés
Généralement deux types de clés
clé de session
clé temporaire
utilisée por chiffrer les données entre deux interlocuteurs
utilisée pour une seule session puis rejeté
clé principale :
utilisée pour chiffrer les clés de sessions
partagée par les utilisateurs et un centre de distribution de clé
(KDC)
6 / 73
Distribution des clés secrètes dans les alg symétriques
Protocoles d’authentification
utilisés pour convaincre les entités de leurs identités et pour
échanger des clés de session
Peut être dans un seul sens ou mutuel (ds les deux sens)
Les protocoles d’authentification permettre de garantir :
confidentialité : pour protéger les clés de session
Timeliness (tiens compte du timing) : pour empêcher les attaques
replay (rejeu)
7 / 73
Distribution des clés secrètes dans les alg symétriques
Authentification dans un seul sens
ce type d’authentification est requis lorsque émetteur et récepteur
ne sont pas en communication en même temps (ex : e-mail)
l’entête de ce type de protocole doit être clair (non chiffré) pour
être délivré sans problème par un système d’email
le contenu du corps d’email peut être chiffré
l’émetteur doit être authentifié
8 / 73
Distribution des clés secrètes dans les alg symétriques
Authentification par cryptographie symétrique
peut être faite moyennant un centre de distribution de clé (KDC)
chaque entité partage sa clé principale avec le KDC
le KDC génère les clés de session utilisés pour la connexions
entre les différents entités
les clés principales sont utilisés pour distribuer les clés de session
9 / 73
Distribution des clés secrètes dans les alg symétriques
Scénario de distribution de clé : Needham-Schroeder
10 / 73
Distribution des clés secrètes dans les alg symétriques
Protocole de Needham-Schroeder
distribution de clés par une tierce partie
pour une session entre deux entités A et B orchestré par un KDC
le protocole est comme suit :
1 A -> KDC : IDA||IDB||N1
2 KDC -> A : E(Ka, [Ks||IDB||N1||E(Kb, [Ks||IDA])])
3 A -> B : E(Kb, [Ks||IDA])
4 B -> A : E(Ks, [N2])
5 A -> B : E(Ks, [f (N2)])
11 / 73
Distribution des clés secrètes dans les alg symétriques
replay attack sur Needham-Schroeder
Le protocole est vulnérable à une replay-attack : le message de
l’étape 3 peut etre retransmit convainquant B qu’il est en
communication avec A
solution pour résoudre ce problème :
ajouter des timestamps dans l’étape 2 et 3
ajouter un nombre aléatoire à usage unique externe pour chaque
échange de clé Ks
12 / 73
Distribution des clés secrètes dans les alg symétriques
Distribution de clé automatique dans un protocole
orienté connexion
13 / 73
Publicité
Distribution des clés secrètes dans les alg symétriques
Distribution d’une clé à l’aide d’une alg asymétrique :
une simple distribution de clé
Merkle a proposé le protocole suivant pour distribuer une clé :
14 / 73
Distribution des clés secrètes dans les alg symétriques
Man-in-the-middle-attack sur le protocole de Merkle
15 / 73
Distribution des clés secrètes dans les alg symétriques
Distribution d’une clé à l’aide d’une alg asymétrique :
confidentialité et authentification
16 / 73
Distribution des clés publiques ds les alg asymétriques
Plan
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
17 / 73
Distribution des clés publiques ds les alg asymétriques
Distribution des clés publiques
Peut se faire par :
annonce publique
à travers une archive (répertoire) disponible publiquement
à travers Une autorité de clé publique
Certificats de clés publiques
18 / 73
Distribution des clés publiques ds les alg asymétriques
Distribution par Annonce publique
Les utilisateurs distribuent leurs clés publiques aux bénéficiaires
(intéressés) ou par diffusion à la communauté
attacher les clés publiques de PGP aux e-mails, ou les envoyer aux
nouveaux groupes ou diffusion aux mails du carnet d’adresses
Principal problème de cette méthode est la modification =
contrefaçon
n’importe qui peut créer une clé prétendant être quelqu’un d’autre
et la diffuser
jusqu’à ce que la falsification soit découverte, l’adversaire peut
communiquer comme si c’était l’utilisateur légitime
19 / 73
Distribution des clés publiques ds les alg asymétriques
Distribution des clés par répertoire disponible
publiquement
20 / 73
Distribution des clés publiques ds les alg asymétriques
Distribution de clé par autorité de clé publique
21 / 73
Distribution des clés publiques ds les alg asymétriques
Distribution de clé par Certificats
Les certificats permettent l’échange de clés publiques sans acces
en temps réel à une autorité de clé publique
Le certificat fait le lien entre l’identité et la clé publique
généralement avec d’autre info tel que période de validité, droits
d’utilisation
le contenu de la certificat est signé par une une autorité de clé
publique ou une autorité de certification (AC)
n’importe quel utilisateur connaissant la clé publique de l’AC peut
vérifier la signature
22 / 73
Distribution des clés publiques ds les alg asymétriques
Création et échange des certificats
23 / 73
Distribution des clés publiques ds les alg asymétriques
Utilisation du certificat
24 / 73
Distribution des clés publiques ds les alg asymétriques
Format X.509
25 / 73
Distribution des clés publiques ds les alg asymétriques
La hiérarchie des autorités de certification
Si les deux utilisateurs partage la même CA, alors ils connaissent
tous les deux sa clé publique
sinon les autorité de certifications forment une héarchie
utiliser des certificats liant les membres de la hiérarchie pour
valider les autres CA
chaque CA a des certificats pour ses clients et ses parents
chaque client fait confiance à ses parents
la hiérarchie permette la vérification de n’importe quel certificat
d’un CA par les utilisateurs des autres CA dans la héarchie
26 / 73
Distribution des clés publiques ds les alg asymétriques
La hiérarchie des autorités de certification
27 / 73
Authentification des utilisateurs : contrôle d’accés
Plan
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
28 / 73
Authentification des utilisateurs : contrôle d’accés
Authentification des utilisateurs
Aspect fondamental de sécurité : base de controle d’acces
c’est le processus de la vérification d’identité revendiqué par un
système
l’authentification se fait en deux étapes
identification : spécifier l’identifiant
vérification : lier l’identité (du système ou la personne) à l’identifiant
ce n’est pas l’authentification de message
29 / 73
Authentification des utilisateurs : contrôle d’accés
Les méthodes d’authentification des utilisateurs
Quelque chose que vous connaissez ...
mot de passe, PIN
Quelque chose que vous avez ...
Clé physique, jeton, carte magnétique, carte à
puce
Quelque chose que vous êtes ...
Empreinte digitale, la voix, la rétine, l’iris
Quelque part où vous êtes ...
localisation GPS
Préférable d’utiliser deux ou plus de ce qui
Publicité
précède : Appelé authentification à deux
facteurs
30 / 73
Authentification des utilisateurs : contrôle d’accés
Jeton d’authentification (de RSA) basé sur le temps
31 / 73
Authentification des utilisateurs : contrôle d’accés
Empreintes digitales
32 / 73
Authentification des utilisateurs : contrôle d’accés
Le Scan d’Iris
33 / 73
Plan
Sécurité du Web (TCP/IP)
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
34 / 73
Sécurité du Web
Sécurité du Web (TCP/IP)
Le Web (TCP/IP) est utilisé en commerce, par le gouvernement et
par des individuels
Mais le web est vulnerable
il y a beaucoup de problèmes qui menacent :
la confidentialité
l’intégrité
la disponibilité
l’authentification
il faut des mécanismes additionnels à la pile de protocole TCP/IP
35 / 73
Sécurité du Web (TCP/IP)
Positionnement des mécanismes de sécurité dans
TCP/IP
36 / 73
Plan
Sécurité du Web (TCP/IP)
SSL
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
37 / 73
SSL
Sécurité du Web (TCP/IP)
SSL
Secure Socket Layer est un service de sécurité Transport
développé par Netscape etintegré dans son navigateur
est devenu le standard internet TLS (Transport Layer Security)
utilise TCP pour fournir un service de sécurité de bout en bout
38 / 73
Sécurité du Web (TCP/IP)
SSL
39 / 73
Sécurité du Web (TCP/IP)
SSL
40 / 73
Encapsulation de SSL
Sécurité du Web (TCP/IP)
SSL
41 / 73
SSL Record Protocol Services
Sécurité du Web (TCP/IP)
SSL
Confidentialité
utilise un cryptage symétrique avec une clé partagé défini par le
protocole Handshake
AES, IDEA, RC2-40, DES-40, DES, 3DES, Fortezza, RC4-40,
RC4-128
le message est compressé avant cryptage
Intégrité : utilise un MAC avec une clé secrète partagée
42 / 73
Le protocole SSL Handshake
Sécurité du Web (TCP/IP)
SSL
permette au serveur et client de :
s’authentifier l’un à l’autre
négocier les algorithmes de cryptage et du MAC
négocier les clés cryptographiques qui vont être utilisées
comprend une série de messages dans plusieurs phases
établir les capacités de sécurité
Authentification du serveur et échange de clés
Authentification du client et échange de clés
Termine la connexion
43 / 73
Les messages de SSL Handshake
Sécurité du Web (TCP/IP)
SSL
44 / 73
Sécurité du Web (TCP/IP)
SSL
Le protocole Handshake (établissement de connexion)
en action
45 / 73
HTTPS
Sécurité du Web (TCP/IP)
SSL
HTTPS est HTTP bsé sur SSL
Combinaison de HTTP et SSL/TLS pour sécuriser les
communications entre la navigateur et le serveur
Utilise https :// URL au lieu de http ://
Utilise le port 443 au lieu de 80
chiffre : l’url, le contenu, la forme de données, cookies, l’entête
HTTP
46 / 73
Plan
Sécurité du Web (TCP/IP)
mitm attack : sslstrip
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
Publicité
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
47 / 73
SSLstrip
Sécurité du Web (TCP/IP)
mitm attack : sslstrip
man in the middle attack sur SSL
SSL peut parfois donner un faux sentiment de securité
Moxie Marlinspike a crée sslstrip et l’a présenté à Black Hat DC
2009
http ://www.thoughtcrime.org/
N’attaque pas SSL, mais la transition de la communication
non-chiffrée à la communication chiffrée.
48 / 73
connexion https normale
Sécurité du Web (TCP/IP)
mitm attack : sslstrip
49 / 73
connexion https hacké par sslstrip
Sécurité du Web (TCP/IP)
mitm attack : sslstrip
50 / 73
comment fonctionne sslstrip ?
Sécurité du Web (TCP/IP)
mitm attack : sslstrip
Configurer la machine du mitm pour "IP forwarding" :
Configure attack machine for IP forwarding
rediriger le trafic http (port 80) à sslstrip (port 54321) :
iptables –t nat –A PREROUTING –p tcp –destination-port 80
–j REDIRECT –to-port 54321
démarrer sslstrip :
sslstrip –l 54321
Configure ARP spoofing :
arpspoof –i eth0 –t <targetIP> <gatewayIP>
lancer un sniffer et collection des données (logins/passwords)
51 / 73
https normal
Sécurité du Web (TCP/IP)
mitm attack : sslstrip
52 / 73
https stripped
Sécurité du Web (TCP/IP)
mitm attack : sslstrip
53 / 73
Sécurité niveau application : sécurité e-mail PGP
Plan
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
54 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité des e-mails
Confidentialité : Protection contre la divulgation des messages
Authentification : de l’émetteur du message
intégrité du message : protection de la modification
non-répudiation de l’émetteur : preuve d’envoie de message
2 applications : PGP et S/MIME
55 / 73
Sécurité niveau application : sécurité e-mail PGP
PGP
Pretty good Privacy tres repandu pour protéger les e-mails
développé par Phil Zimmermann
PGP a sélectionné le meilleur des algorithmes cryptographiques
pour les implementer
intégré dans un seul programme
sur UNIX, PC, MAcintoch et autres systèmes
originalement gratuit, il y a des versions commerciales aussi
56 / 73
Sécurité niveau application : sécurité e-mail PGP
Résumé sur les services PGP
57 / 73
Sécurité niveau application : sécurité e-mail PGP
Opération PGP d’authentification
1
2
3
l’émetteur crée un message
il applique le hash SHA-160-bit sur le message
il fait joindre le condensé signé par RSA au message
4 Le récepteur déchiffre & retrouve le condensé
5
le récepteur verifie le condensé reçu
58 / 73
Sécurité niveau application : sécurité e-mail PGP
Opération PGP de confidentialité
1
l’émetteur forme une clé de session aléatoire de 128-bit
2 chiffre le message avec la clé de session
3
4
5
fait joindre la clé de session, chiffrée avec RSA, au message
le récepteur déchiffre et retrouve la clé de session
la clé de session est utilisée pour déchiffrer le message
59 / 73
Sécurité niveau application : sécurité e-mail PGP
PGP : confidentialité et authentification
On peut appliquer les deux services au meme message
creer la signature et l’attacher au message
chiffrer le message et la signature
attacher les clés de session chiffré par RSA ou ElGamal
60 / 73
Sécurité niveau application : sécurité e-mail PGP
Transmission et réception des messages PGP
61 / 73
Sécurité niveau application : sécurité e-mail PGP
Gestion des clés dans PGP
Dans PGP, il n’ y a pas une tierce partie : autorité de certification
chaque utilisateur de PGP est son propre CA
un utilisateur peut signer les clés des utilisateurs qu’il connaît
les utilisateurs forme "un réseau de confiance"
un utilisateur peut faire confiance à des clés que d’autres ont
signé s’il y a une chaîne de signatures conduisant à ces
Publicité
utilisateurs
un utilisateur possède une porte-clés avec des indicateurs de
confiance pour chaque clé
les utilisateurs peuvent également révoquer leurs clés
62 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
Plan
1 Distribution des clés secrètes dans les alg symétriques
2 Distribution des clés publiques ds les alg asymétriques
3 Authentification des utilisateurs : contrôle d’accés
4 Sécurité du Web (TCP/IP)
SSL
mitm attack : sslstrip
5 Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
63 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
Pourquoi sécurité IP
il existe des mécanismes de sécurité dédié à des applications
spécifiques :
ex : S/MIME, PGP, Kerberos,SSL/HTTPS
mais il y a des problèmes de sécurité qui sont indépendants des
couches de protocole
On veut implémenter une sécurité sur le réseau et pour toutes les
applications
La sécurité IP fournit :
l’authentification
la confidentialité
gestion des clés
applicable à des LAN, WAN publique et privée, et pour l’internet
implémente sécurité pour IPv4 et IPv6
64 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
Scénario de IPsec
65 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
Les Atouts de IPsec
Lorsque IPsec est mis en oeuvre dans un pare-feu ou un routeur, il offre une sécurité
renforcée qui peut être appliquée à tout le trafic traversant le périmètre
IPsec dans un pare-feu est résistant au contournement si tout le trafic de l’extérieur doit
utiliser une IP pour entrer et le pare-feu est le seul moyen de l’entrée à l’organisation
depuis l’internet
IPsec est en dessous de la couche de transport (TCP, UDP) et il est donc transparent pour
les applications
Il n’est pas nécessaire de modifier le software sur le système ou de changer le serveur,
lorsque IPsec est mis en oeuvre dans le pare-feu ou un routeur
IPsec peut être transparente pour les utilisateurs
Il n’est pas nécessaire de former les utilisateurs sur les mécanismes de sécurité, ou sur le
problème de creation/gestion des clés ou de révoquer la saisie de clés lorsque les
utilisateurs quittent l’organisation
IPsec peut assurer la sécurité des utilisateurs individuels si nécessaire
Ceci est utile pour les travailleurs hors site pour mettre en place un sous-réseau virtuel
sécurisé (VPN) au sein d’une organisation pour les applications sensibles
66 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
Architecture IPsec
Architecture
RFC4301 Security Architecture for Internet Protocol
Authentication Header (AH)
RFC4302 IP Authentication Header
Encapsulating Security Payload (ESP)
RFC4303 IP Encapsulating Security Payload (ESP)
Internet Key Exchange (IKE)
RFC4306 Internet Key Exchange (IKEv2) Protocol
algorithmes Cryptographiques
67 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
Services de IPsec
IPsec fournit des services de sécurité à la couche IP en permettant à
un système de :
Sélectionner les protocoles de sécurité requis
Déterminer l’algorithme à utiliser pour le service
Mettre en place des clés cryptographiques nécessaires pour
fournir les services demandés
RFC 4301 énumère les services suivants :
l’intégrité
1 contrôle d’accès
2
3 Authentification de l’origine des données
4 Rejet de paquets répétés
5 confidentialité (cryptage)
68 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
Mode Transport et Mode tunnel
Mode Transport
pour chiffrer et authentifier (option) les données des datagrames IP
sécurité allégé pour performance meilleure
approprié pour communication hôte à hôte utilisant ESP
Mode tunnel
chiffre tout le datagramme Ip (entete et données)
ajoute une nouvelle entête pour le prochain routage (saut)
aucun routeur dans le chemin ne peut examiner l’IP chiffré
(intérieur)
approprié pour VPN, haute sécurité passerelle à passerelle
69 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
AH mode transport
70 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
AH mode Tunnel
71 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
ESP mode transport
72 / 73
Sécurité niveau application : sécurité e-mail PGP
Sécurité IP
ESP mode Tunnel
73 / 73