Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
Cours si1
1. Cryptographie et sécurité des systèmes
D'information (partie II)
Mustapha Hedabou
ENSA de Safi
mhedabou@gmail.com
2. Authentification et intégrité
L’authentification de message repose sur trois concepts :
– La validation de l’identité du créateur du message
– La protection de l’intégrité d’un message
– La non-répudiation de l’origine (résolution de conflit)
Pour assurer cette demande, trois méthodes sont possibles :
– chiffrer le message
– utiliser une fonction de hachage
– utiliser un code d’authentification de message (MAC - Message authentication code)
3. Utilisation de la cryptographie symétrique
Contrôle d'erreur interne
Vérification
4. Utilisation de la cryptographie symétrique
Contrôle d'erreur externe
Vérification
5. Fonctions de hachage
Mécanisme souvent associé a la cryptographie : le hachage
fonction de hachage est une fonction qui associe a un grand ensemble de données
un ensemble beaucoup plus petit
Obtention d'une empreinte numérique de taille fixe
a partir d'un message de taille arbitraire
Opération par blocs
Critères de sécurité
Opération a sens unique : facile a calculer et difficile a inverser
6. Fonctions de hachage
Les fonctions de hachage possèdent de nombreuses propriétés :
– Elles peuvent s’appliquer à n’importe quelle longueur de message M
– Elles produisent un résultat de longueur constante
– Il doit être facile de calculer h = H(M) pour n’importe quel message M
– Pour un h donné, il est impossible de trouver x tel que H(x) = h. On parle de propriété à sens
unique.
– Pour un x donné, il est impossible de trouver y tel que H(y) = H(x) ) ==> résistance faible aux
collisions
– Il est impossible de trouver x, y tels que H(y) = H(x) ) ==> résistance forte de collisions
11. Signature numérique
La signature numériques permet l'authentification de :
-L'origine des données
-L'intégrité des données
-La non-répudiation
Une signature digitale doit :
– dépendre du message signé
– employer une information unique propre à l’expéditeur pour empêcher la contrefaçon
et le démenti
– être relativement facile à produire, à reconnaître et à vérifier
– être mathématiquement infaisable à forger
– être facile à stocker
15. Infrastructure de gestion de clés
Une IGC est un ensemble de composantes de technologies de l’information et de
dispositifs
administratifs structures dans le but de gerer et réglementer des certificats et des clés
publiques/privées associe a des entites physiques.
Structure hierarchique avec une racine qui≪ ≫
represente le niveau le plus haut
Les services d’une IGC sont :
- Enregistrement d’utilisateurs
-Gestion des certificats (création, distribution,
renouvellement et révocation) et des clés associées
-Archivages des certificats (sécurité et recouvrement
en cas de perte)
16. Infrastructure de gestion de clés
Autorité de certification (AC)
C’est une autorité en laquelle la communauté d'utilisateurs a confiance
Utilise un certificat auto-signe
Fabrique des certificats et signe avec sa clé
Reconnaissance entre AC
Extension par certification croisée..
La sécurité de la clé privée de signature est capitale (intégrité)
Autorité d’enregistrement (AE)
Indispensable, fait le lien avec la personne physique et l’AC
Gère les demandes et vérifie leurs validités
Dépositaire des informations personnelles
Service de révocation
Gestion d’une liste des certificats expires ou invalides
Service de publication
Donne accés aux certificats (annuaire)
18. Infrastructure de gestion de clés
Le certificat :
- Document électronique fixant les relations entre un individu et sa clé publique afin de s’assurer de la
validité des ses usages.
- Carte d’identité électronique
-Tous les destinataires doivent faire confiance à l’AC qui aura émis le certificat.
Constitué :
-D’informations nominatives du propriétaire
-D’une validité dans le temps
-D’une clé publique
-Des information de l’autorité l’ayant certifié
-Format défini par la norme X.509
19. Infrastructure de gestion de clés
Utilisations d’un certificat :
Pour un client
- permet d'identifier un utilisateur et de lui associer des droits. On lui associe une carte d’identité
- Stocké dans un fichier, token ou carte à puce
Pour un serveur
- permet d'assurer le lien entre le service et le propriétaire du service
- permet de sécuriser les transactions avec les utilisateurs grâce à un protocole utilisant la
cryptographie
Pour des équipements de sécurité
-permettant de chiffrer les flux de communication de bout en bout entre deux points
20. Infrastructure de gestion de clés
Signatures de certificats
- Afin de vérifier la validité d’un certificat, l’AC va signer le certificat délivré. On distingue deux cas de figure :
Les certificats auto-signés sont des certificats à usage interne. Signés par une AC, ce type de
certificat permet de garantir la confidentialité des échanges au sein d'une organisation
Exemple: intranet.
Les certificats signés par un organisme de certification (tier de confiance) sont nécessaires lorsqu'il s'agit
d'assurer la sécurité des échanges avec des utilisateurs extérieurs.
Exemple : site web sécurisé accessible au grand public.
Le certificateur tiers permet d'assurer à l'utilisateur que le certificat appartient bien à
l'organisation à laquelle il est déclaré appartenir.
La vérification de validité d’un certificat peut être automatique grâce a un protocole spécifique
OCSP pour SSL
21. Infrastructure de gestion de clés
Certificat X.509
Format créé en 1988 désignant l'ensemble des normes informatiques sur les
services d'annuaire définies par l'UIT-T
Standard dans le monde
Les certificats sont des fichiers divisés en deux parties:
La partie contenant les informations (attributs)
La partie contenant la signature de l'autorité de certification
29. Gestion de Clés
La gestion des clés est principalement constituée de quatre domaines :
La génération des clés : il faut prendre garde aux caractères choisis, aux clés faibles, ... et veiller à
utiliser des générateurs fiables
Le transfert de la clé : l’idéal est de se rencontrer, ou d’utiliser un canal de transmission protégé.
La vérification des clés : par hachage, ou utilisation de certificats,
Le stockage des clés : que ce soit dans des fichiers, sur supports extérieurs, par surchiffrement, …
Distribution des clés
– Physiquement : par une rencontre, un canal de transmission protégé, ...
– Utiliser un tiers de confiance. Celui-ci choisit et fournit la clé,
– Utiliser une ancienne clé pour chiffrer une nouvelle clé
– Distribution automatique de clés à la demande des utilisateurs.
Cette solution existe, mais elle nécessite une totale confiance au système.
39. Secure Shell (SSH)
■ SSH protocol a été developpé par Tatu Ylönen en 1995
■ SSH est un protocole qui facilite la connexion sécurisée entre deux systèmes
■ SSH est basée sur l'architecture client serveur
■ SSH permet d'assurer la confidentialité, l’intégrité des données et l'authentification des
utilisateurs
■ SSH permet de chiffrer toutes les données transmises sur le réseau (permet d'éviter les
sniffeurs de réseaux)
■ SSH existe en deux versions majeures, ssh1 et ssh2 qui sont incompatibles
■SSH open source : OpenSSH, ….
■SSH commerciale : Vshell, ….
44. Authentification
■ Authentification du serveur
►Basée sur le chiffrement à clé publique
► Le client doit authentifier la clé publique du serveur
►Eviter l'attaque de l'homme du milieu
■ Authentification du client
►Mot de passe
► Clés publiques (challenge)
►Tiers de confiance : Kerberos, …
45. Port forwarding
■ Utilisation de SSH pour sécuriser les autres applications TCP sensibles (FTP, IMAP, POP,
smtp, ...)
■ Le client SSH crée un serveur local et envoie la requête au serveur SSH qui la redirige vers le
serveur de destination