Certificats X509 Certificats X509
&
&
Infrastructure de Gestion de Infrastructure de Gestion de
Clés Clés
Serge
Serge Aumont CRUAumont CRU Claude Gross CNRS/UREC Claude Gross CNRS/UREC
Philippe
Philippe Leca Leca CNRS/URECCNRS/UREC
Rappel des
Rappel des services de base en sécurité services de base en sécurité (1) (1)
Authentification•
Assurance de l’identité d’une personne, d’un objet•
Carte nationale d’identité, passeport
Intégrité•
Garantie de non modification par un tiers d’un contenu (message, document ou programme par exemple)•
Document manuscrit : simple
Confidentialité•
Protection contre la « lecture » non autorisée par un tiers:garantir le secret de l’information transmise ou archivée
•
Coffre-fort, pli cacheté
AuthentificationAuthentification• •
Assurance de l’identité d’une personne, d’un objetAssurance de l’identité d’une personne, d’un objet• •
Carte nationale d’identité, passeportCarte nationale d’identité, passeport
IntégritéIntégrité• •
Garantie de non modification par un tiers d’un contenu Garantie de non modification par un tiers d’un contenu (message, document ou programme par exemple)(message, document ou programme par exemple)
• •
Document manuscrit : simpleDocument manuscrit : simple
ConfidentialitéConfidentialité• •
Protection contre la «Protection contre la « lecturelecture » non autorisée par un tiers: » non autorisée par un tiers:garantir le secret de l’information transmise ou archivée garantir le secret de l’information transmise ou archivée
• •
CoffreCoffre--fort, pli cachetéfort, pli cachetéRappel des
Rappel des services de base en sécurité services de base en sécurité (2) (2)
Non-répudiation
•
Pour que l’émetteur ne puisse pas nier l’envoi•
Et le récepteur ne puisse pas nier la réception•
Transactions financières – commerciales Contrôle d’accès
•
Autorisations ou non d’accès à des objets Anonymat (non traçabilité), vote électronique
Non Non -répudiation - répudiation
• •
Pour que l’émetteur ne puisse pas nier l’envoiPour que l’émetteur ne puisse pas nier l’envoi• •
Et le récepteur ne puisse pas nier la réceptionEt le récepteur ne puisse pas nier la réception• •
Transactions financières Transactions financières –– commercialescommerciales Contrôle d’accès Contrôle d’accès
• •
Autorisations ou non d’accès à des objetsAutorisations ou non d’accès à des objets Anonymat (non Anonymat (non traçabilité traçabilité ), vote électronique ), vote électronique
Pourquoi chiffrer ? 1/2 Pourquoi chiffrer ? 1/2
Depuis la nuit des temps, les hommes (surtout les militaires) ont pratiqué l’espionnage (et le contre-espionnage).
Le chiffrement des messages est donc né avec les armées (au moins avec les armées de
Rome).
Depuis la nuit des temps, les hommes (surtout Depuis la nuit des temps, les hommes (surtout les militaires) ont pratiqué l’espionnage (et le les militaires) ont pratiqué l’espionnage (et le
contre
contre - - espionnage). espionnage).
Le chiffrement des messages est donc né avec Le chiffrement des messages est donc né avec les armées (au moins avec les armées de
les armées (au moins avec les armées de Rome).
Rome).
Pourquoi chiffrer ? 2/2 Pourquoi chiffrer ? 2/2
Aujourd’hui le chiffrement est partout :
•
Carte vitale•
Téléphone GSM•
Anti-vol de voiture•
Carte bancaire•
Télévision à péage•
Mot de passe informatique•
Services sensibles de l’internet … Il conditionne la sécurité du système d’information et la confidentialité des communications
Aujourd’hui le chiffrement est partout : Aujourd’hui le chiffrement est partout :
• •
Carte vitaleCarte vitale• •
Téléphone GSMTéléphone GSM• •
AntiAnti--vol de voiturevol de voiture• •
Carte bancaireCarte bancaire• •
Télévision à péageTélévision à péage• •
Mot de passe informatiqueMot de passe informatique• •
Services sensibles de l’Services sensibles de l’internetinternet …… Il conditionne la sécurité du système Il conditionne la sécurité du système d’information et la confidentialité des d’information et la confidentialité des
communications
communications
Vocabulaire Vocabulaire
CHIFFRER :transformer à l’aide d’une convention secrète (clef) des informations claires en informations inintelligibles par des tiers n’ayant pas connaissance du secret
DECHIFFRER :retrouver les informations claires, à partir des
informations chiffrés en utilisant la convention secrète de chiffrement
DECRYPTER :retrouver l’information intelligible, à partir de
l’information chiffrée sans utiliser la convention secrète de chiffrement
“crypter, encrypter”: pas de sens clair.
CHIFFRER CHIFFRER : :transformer à
transformer à l’aidel’aide d’uned’une convention convention secrètesecrète (clef) des (clef) des informations
informations clairesclaires en en informationsinformations inintelligiblesinintelligibles par par des tiers
des tiers n’ayantn’ayant pas pas connaissanceconnaissance dudu secretsecret
DECHIFFRER DECHIFFRER : : retrouverretrouver les les informationsinformations claires, à claires, à partirpartir des des informations
informations chiffréschiffrés en en utilisantutilisant la convention la convention secrètesecrète de de chiffrementchiffrement
DECRYPTER DECRYPTER : :retrouver
retrouver l’informationl’information intelligible, à intelligible, à partirpartir de de l’information
l’information chiffréechiffrée sans sans utiliserutiliser la convention la convention secrète
secrète de de chiffrementchiffrement
““cryptercrypter, encrypter, encrypter”:”: pas de pas de senssens clairclair..Un peu d’historique Un peu d’historique
L’histoire du chiffrement montre que ce qui est réputé sûr un jour devient naïf.
L’augmentation de la puissance des machines altère petit à petit la fiabilité des algorithmes de chiffrement.
Les progrès théoriques peuvent brusquement casser certaines technologies. Exemple : gain récent d’un facteur 10 sur la complexité de la réduction en facteurs premiers
L’histoire du chiffrement montre que ce qui est L’histoire du chiffrement montre que ce qui est réputé sûr un jour devient naïf.
réputé sûr un jour devient naïf.
L’augmentation de la puissance des machines L’augmentation de la puissance des machines altère petit à petit la fiabilité des algorithmes de altère petit à petit la fiabilité des algorithmes de
chiffrement.
chiffrement.
Les progrès théoriques peuvent brusquement Les progrès théoriques peuvent brusquement casser certaines technologies. Exemple : gain casser certaines technologies. Exemple : gain
récent d’un facteur 10 sur la complexité de la récent d’un facteur 10 sur la complexité de la
réduction en facteurs premiers
réduction en facteurs premiers
Exemples Exemples
César : décalage par rotation des lettres de l’alphabet.
Evolutions : remplacer le « shift » par une substitution (bijection dans l’alphabet)
Méthode très fragile : ne résiste pas à une simple analyse statistique de la fréquence des caractères.
les S-tables : substitutions dépendantes de la position de la lettre dans le message (la table de substitution est choisie en fonction du rang de chaque caractère)
César : décalage par rotation des lettres de César : décalage par rotation des lettres de l’alphabet.
l’alphabet.
Evolutions Evolutions : remplacer le « : remplacer le « shift shift » par une » par une substitution (bijection dans l’alphabet)
substitution (bijection dans l’alphabet)
Méthode très fragile : ne résiste pas à une Méthode très fragile : ne résiste pas à une simple analyse statistique de la fréquence simple analyse statistique de la fréquence
des caractères.
des caractères.
les S les S - - tables : substitutions dépendantes de tables : substitutions dépendantes de la position de la lettre dans le message (la la position de la lettre dans le message (la
table de substitution est choisie en fonction table de substitution est choisie en fonction
du rang de chaque caractère)
du rang de chaque caractère)
Chiffrement de
Chiffrement de Vignère Vignère
Utilisé par les nazis sous forme d’une machine à roues dentées : Enigma
Une clef de n caractères.
On découpe le message en blocs de la même longueur que la clef.
On effectue une substitution de chaque
caractère de chaque bloc en l’additionnant avec le caractère de la clef du même rang.
Utilisé par les nazis sous forme d’une machine Utilisé par les nazis sous forme d’une machine à roues dentées :
à roues dentées : Enigma Enigma
Une clef de n caractères. Une clef de n caractères.
On découpe le message en blocs de la même On découpe le message en blocs de la même longueur que la clef.
longueur que la clef.
On effectue une substitution de chaque On effectue une substitution de chaque
caractère de chaque bloc en l’additionnant avec caractère de chaque bloc en l’additionnant avec
le caractère de la clef du même rang.
le caractère de la clef du même rang.
Chiffrement de
Chiffrement de Vignère Vignère
U N I V
E R S I T E
B B A
Y
V P K U
U F T H U
• Avec une clef de 4 caractères dans un alphabet de 26 caractères, le nombre de substitutions est de 264=456976
• Enigma : 28 roues dentées (clefs de 28 caractères). 2628=4.162x1039
• Non violé pendant toute la 2eme guerre, mais considéré aujourd’hui comme faible parce que la connaissance d’un message chiffré permet de retrouver la clef.
B B A
Y B A
G
Masque jetable 1/3 Masque jetable 1/3
1917 Gilbert Vernam
Pour chiffrer un message de n caractères, on utilise une clef secrète composée d’une suite aléatoire de bits d’une longueur au moins égale au message.
Le message chiffré est un simple ou exclusif bit à bit entre le message et la clef.
1917 Gilbert 1917 Gilbert Vernam Vernam
Pour chiffrer un message de n caractères, on Pour chiffrer un message de n caractères, on utilise une clef secrète composée d’une suite utilise une clef secrète composée d’une suite
aléatoire de bits d’une longueur au moins égale aléatoire de bits d’une longueur au moins égale
au message.
au message.
Le message chiffré est un simple ou exclusif bit Le message chiffré est un simple ou exclusif bit à bit entre le message et la clef.
à bit entre le message et la clef.
Masque jetable 2/3 Masque jetable 2/3
1 1 0 1 0 0 1 0 0
1 1 0 0 1 1 0 0
1 1
1 0 1 0 0 1 0 0
1 1 0 0 1 1 0 0
1
1 1
1 0 1 0 0 1 0 0 0
1 0 0 0 0 1 0
Masque jetable 3/3 Masque jetable 3/3
Le masque est appelé « clef secrète»
C’est un exemple de chiffrement symétrique : une clef unique permet de chiffrer ou de déchiffrer
Méthode très efficace : si les clefs sont bien aléatoires, le cryptogramme a une bonne entropie (dispersionstatistique)
Comment partager des clefs secrètes ayant une telle taille ?
La connaissance d’un message en clair et de sa forme chiffrée permet de déduire la clef secrète
Le masque est appelé «Le masque est appelé « clefclef secrète»secrète»
C’est un exemple de chiffrement symétrique : une clef C’est un exemple de chiffrement symétrique : une clef unique permet de chiffrer ou de déchiffrerunique permet de chiffrer ou de déchiffrer
Méthode très efficace : si les clefs sont bien aléatoires, Méthode très efficace : si les clefs sont bien aléatoires, le cryptogramme a une bonne entropie (dispersionle cryptogramme a une bonne entropie (dispersion statistique)
statistique)
Comment partager des clefs secrètes ayant une telle Comment partager des clefs secrètes ayant une telle taille ?taille ?
La connaissance d’un message en clair et de sa forme La connaissance d’un message en clair et de sa forme chiffrée permet de déduire la clef secrètechiffrée permet de déduire la clef secrète
Sécurité
Sécurité de la de la cryptographie cryptographie
Elle repose sur trois facteurs:•
La qualité des algorithmes : la qualité d’un algorithme repose sur sa fiabilité mathématique et surtout pas sur le secret de sa réalisation•
L’implémentation des algorithmes : il est souvent bien plus facile de contourner une mauvaise implémentation qued’attaquer un algorithme
•
La gestion des clefs : une faille dans la gestion des clefs peut remettre en cause la fiabilité de l’ensemble
Elle repose Elle repose sursur troistrois facteursfacteurs: :• •
La qualité des algorithmesLa qualité des algorithmes : la qualité d’un algorithme : la qualité d’un algorithme repose sur sa fiabilité mathématique et surtout pas sur le repose sur sa fiabilité mathématique et surtout pas sur lesecret de sa réalisation secret de sa réalisation
• •
L’implémentation des algorithmesL’implémentation des algorithmes : : il est souvent bien plus il est souvent bien plus facile de contourner une mauvaise implémentation quefacile de contourner une mauvaise implémentation que d’attaquer un algorithme
d’attaquer un algorithme
• •
La gestion des clefsLa gestion des clefs : : une faille dans la gestion des clefs une faille dans la gestion des clefs peut remettre en cause la fiabilité de l’ensemblepeut remettre en cause la fiabilité de l’ensemble
Les attaques 1/4 Les attaques 1/4
Il existe de nombreuses méthodes d’attaque parfois extrêmement sophistiquées.
Force brute : essayer toutes les clefs
possibles. Principal danger : l’augmentation de la puissance des machines. Parades :
augmenter la longueur des clefs, choisir des algorithmes coûteux
En 97 : 3h pour casser une clef 40 bits
Il existe de nombreuses méthodes d’attaque Il existe de nombreuses méthodes d’attaque parfois extrêmement sophistiquées.
parfois extrêmement sophistiquées.
Force brute : essayer toutes les clefs Force brute : essayer toutes les clefs
possibles. Principal danger : l’augmentation possibles. Principal danger : l’augmentation
de la puissance des machines. Parades : de la puissance des machines. Parades :
augmenter la longueur des clefs, choisir des augmenter la longueur des clefs, choisir des
algorithmes coûteux algorithmes coûteux
En 97 : 3h pour casser une clef 40 bits En 97 : 3h pour casser une clef 40 bits
Les attaques 2/4 Les attaques 2/4
Analyse statistique :
basée sur les propriétés des messages en clair
(exemple : le «e» représente 14.5 % des caractères utilisés dans un texte en français).
La méthode utilisée par Morse pour optimiser son code est dépassée. Il existe des tables statistiques pour des motifs de plusieurs lettres.
Parade : utiliser un algorithme tel que le cryptogramme ait une entropie maximale
Analyse statistique : Analyse statistique :
basée sur les propriétés des messages en clair basée sur les propriétés des messages en clair
(exemple : le «e» représente 14.5 % des caractères (exemple : le «e» représente 14.5 % des caractères utilisés dans un texte en français).
utilisés dans un texte en français).
La méthode utilisée par Morse pour optimiser son La méthode utilisée par Morse pour optimiser son code est dépassée. Il existe des tables statistiques code est dépassée. Il existe des tables statistiques pour des motifs de plusieurs lettres.
pour des motifs de plusieurs lettres.
Parade : utiliser un algorithme tel que le cryptogramme Parade : utiliser un algorithme tel que le cryptogramme ait une
ait une entropieentropie maximalemaximale
Les attaques 3/4 Les attaques 3/4
Attaque à texte en clair connu.•
L’attaquant connaît un message en clair et son équivalent chiffré. Il tente d’en déduire la clef.
Attaque de l’algorithme.•
Par exemple, pour les algorithmes qui génèrent une clefsecrète aléatoirement, il arrive que l’aléa ne soit pas parfait et donc reproductible par l’attaquant.
Attaque à texte en clair connu. Attaque à texte en clair connu.• •
L’attaquant connaît un message en clair et son équivalent L’attaquant connaît un message en clair et son équivalent chiffré. Il tente d’en déduire la clef.chiffré. Il tente d’en déduire la clef.
Attaque de l’algorithme. Attaque de l’algorithme.• •
Par exemple, pour les algorithmes qui génèrent une clef Par exemple, pour les algorithmes qui génèrent une clef secrètesecrète aléatoirement, aléatoirement, il arrive que l’aléa ne soit pas parfait et il arrive que l’aléa ne soit pas parfait et donc reproductible par l’attaquant.
donc reproductible par l’attaquant.
Les attaques 4/4 Les attaques 4/4
Le plus souvent les attaques exploitent le mode d’usage de l’algorithme de chiffrement, pas sur le chiffrement lui même. Exemples :1. Analyse du nombre de caractères envoyés et de l’écho du serveur pour calculer la longueur du mot de passe (pas d’écho pendant la frappe du mot de passe)
2. Analyse statistique de la vitesse de frappe des caractères en fonction de leur position sur le clavier !
3. Force brute en exploitant 1 & 2
Pas besoin de grandes compétences pour mettre en œuvre ces méthodes en utilisant des kits de hackers.
Le plus souvent les attaques exploitent le mode Le plus souvent les attaques exploitent le mode d’usage de l’algorithme de chiffrement, pas sur le d’usage de l’algorithme de chiffrement, pas sur lechiffrement lui même. Exemples : chiffrement lui même. Exemples :
1.1. Analyse du nombre de caractères envoyés et de l’écho du Analyse du nombre de caractères envoyés et de l’écho du serveur pour calculer la longueur du mot de passe (pas serveur pour calculer la longueur du mot de passe (pas d’écho pendant la frappe du mot de passe)
d’écho pendant la frappe du mot de passe)
2.2. Analyse statistique de la vitesse de frappe des caractères Analyse statistique de la vitesse de frappe des caractères en fonction de leur position sur le clavier !
en fonction de leur position sur le clavier !
3.3. Force brute en exploitant 1 & 2Force brute en exploitant 1 & 2
Pas besoin de grandes compétences pour mettre Pas besoin de grandes compétences pour mettre en œuvre ces méthodes en utilisant des kits de en œuvre ces méthodes en utilisant des kits dehackers hackers..
Chiffrement : confidentialité Chiffrement : confidentialité
Clef de chiffrement
Algorithme de chiffrement
TEXTE en clair
Alice
Internet
TEXTE en clair
Algorithme de déchiffrement
Bob
Clef de déchiffrement
Chiffrement à clefs symétriques (1/2) Chiffrement à clefs symétriques (1/2)
clef de chiffrement = clef de déchiffrementclef secrète
DES : Data Encryption Standard•
Clef de 56 bits•
Standard de 1977
3DES : 3 passes dans DES en utilisant 2 ou 3 clefs distinctes (112 ou 168 bits)
RC2, RC4, RC5 : clef de 1 à 1024 bits
IDEA (International Data Encryption Algorithme)
AES (Advanced Encryption Standard), issu d’un concours international pour remplacer DES. Standard
clef de chiffrement = clef de déchiffrementclef de chiffrement = clef de déchiffrementclef secrète clef secrète
DES : Data DES : Data EncryptionEncryption StandardStandard• •
Clef de 56 bitsClef de 56 bits• •
Standard de 1977Standard de 1977
3DES : 3 passes dans DES en utilisant 2 ou 3 clefs 3DES : 3 passes dans DES en utilisant 2 ou 3 clefs distinctes (112 ou 168 bits)distinctes (112 ou 168 bits)
RC2, RC4, RC5 : clef de 1 à 1024 bitsRC2, RC4, RC5 : clef de 1 à 1024 bits
IDEA (International Data IDEA (International Data EncryptionEncryption Algorithme)Algorithme)
AES (AES (AdvancedAdvanced EncryptionEncryption Standard), issu d’un Standard), issu d’unconcours international pour remplacer DES. Standard concours international pour remplacer DES. Standard
Chiffrement à clefs symétriques (2/2) Chiffrement à clefs symétriques (2/2)
Chiffrement et déchiffrement rapide
Comment se partager les clefs secrètes ? Il faut un canal sûr.
Nombre de clefs pour assurer la confidentialité au sein d’un groupe de n personnes :
Chiffrement et déchiffrement rapide Chiffrement et déchiffrement rapide
Comment se partager les clefs secrètes ? Il faut Comment se partager les clefs secrètes ? Il faut un canal sûr.
un canal sûr.
Nombre de clefs pour assurer la confidentialité Nombre de clefs pour assurer la confidentialité au sein d’un groupe de n personnes :
au sein d’un groupe de n personnes :
66 44
n(n-n(n-1)/21)/2 nn
1010 55
33 33
11 22
Chiffrement à clefs asymétriques (1/3) Chiffrement à clefs asymétriques (1/3)
Principe introduit en 1976 par Diffie et Hellman
Clef de chiffrement ≠ clef de déchiffrement
Couple de clefs (créées ensemble) : bi-clef
Impossible de découvrir une clef à partir de l’autre
Tout texte chiffré avec une clef est déchiffré avec l’autre et uniquement avec celle-ci
Concrètement :•
1 bi-clef / utilisateur ou machine ou application•
Créé par l’utilisateur sur son poste ou …•
1 clef publique : que l’on rend publique (annuaire)•
1 clef privée : que le propriétaire est le seul à connaître•
Principe introduit en 1976 par Diffie et Hellman
Clef de chiffrement ≠ clef de déchiffrement
Couple de clefs (créées ensemble) : bi-clef
Impossible de découvrir une clef à partir de l’autre
Tout texte chiffré avec une clef est déchiffré avec l’autre et uniquement avec celle-ci
Concrètement :•
1 bi-clef / utilisateur ou machine ou application•
Créé par l’utilisateur sur son poste ou …•
1 clef publique : que l’on rend publique (annuaire)•
1 clef privée : que le propriétaire est le seul à connaître•
Chiffrement avec une clef / Déchiffrement avec l’autreChiffrement
Chiffrement à clefs à clefs asymétriques asymétriques (2/3) (2/3)
Clef publique de Bob
Chiffrement asymétrique
TEXTE en clair
Alice
Internet
TEXTE en clair
Déchiffrement asymétrique
Bob
Clef privée de Bob
Chiffrement à clefs asymétriques (3/3) Chiffrement à clefs asymétriques (3/3)
RSA (Rivest, Shamir, Adelman): 1976•
Devenu public (fin des droits de la sté RSA) depuis 09/2000•
Le principe est basé sur le fait qu'il est très difficile de décomposer en facteurs premiers un nombre (si le nombre est suffisamment grand).
Si annuaire des clefs publiques : permet une utilisation du chiffrement de manière planétaire
Problème : temps de chiffrement et de déchiffrement•
RSA : 100 à 1000 fois plus lent que Triple DESÎ Solution: mixte chiffrement asymétrique et chiffrement symétrique
Algorithmes de chiffrement : publics Secret : certaines clés
RSA (Rivest, Shamir, Adelman): 1976•
Devenu public (fin des droits de la sté RSA) depuis 09/2000•
Le principe est basé sur le fait qu'il est très difficile de décomposer en facteurs premiers un nombre (si le nombre est suffisamment grand).
Si annuaire des clefs publiques : permet une utilisation du chiffrement de manière planétaire
Problème : temps de chiffrement et de déchiffrement•
RSA : 100 à 1000 fois plus lent que Triple DESÎ Solution: mixte chiffrement asymétrique et chiffrement symétrique
Algorithmes de chiffrement : publics Secret : certaines clésRobustesse
Robustesse de RSA de RSA
Non divulgation de la clef privée
Difficulté à décomposer en facteurs premiers un nombre donné (suffisamment grand).
Fondée sur
L’absence de méthodes mathématiques pour déduire la clé privée de la clé publique
RSA155 : un nombre de 155 digits codé sur 512 bits factorisé en sept. 99 !!! (300 ordinateurs, 1 Cray, 4 mois de calcul soit 32 ans pour un 250 Mhz)
Avancée théoriques en matière de chiffrement et de déchiffrement Évolution de la capacité des machines
Chiffrement
Chiffrement : : clef aléatoire (1/2) clef aléatoire (1/2)
Pour contourner les mauvaises performances des traitements avec les algorithmes asymétriques
Durant une session (courte dans le temps) ou lors d’un échange de document:•
Choix d’une clef (aléatoire) par un des interlocuteurs•
Transfert de cette clef chiffrée de manière asymétrique à l’autre interlocuteur•
Ensuite, utilisation de cette clef pour chiffrer de manière symétrique le texte
Nombre de bytes chiffrés en asymétrique très petit (la clef) / nombre de bytes chiffrés en symétrique (le texte)
Pour contourner les mauvaises performances des Pour contourner les mauvaises performances des traitements avec les algorithmes asymétriquestraitements avec les algorithmes asymétriques
Durant une session (courte dans le temps) ou lors d’un Durant une session (courte dans le temps) ou lors d’un échange de document:échange de document:
• •
Choix d’une clef (aléatoire) par un des interlocuteursChoix d’une clef (aléatoire) par un des interlocuteurs• •
Transfert de cette clef chiffrée de manière asymétrique à Transfert de cette clef chiffrée de manière asymétrique à l’autre interlocuteurl’autre interlocuteur
• •
Ensuite, utilisation de cette clef pour chiffrer de manière Ensuite, utilisation de cette clef pour chiffrer de manière symétrique le textesymétrique le texte
Nombre de bytes chiffrés en asymétrique très petit (la Nombre de bytes chiffrés en asymétrique très petit (la clef) / nombre de bytes chiffrés en symétrique (le texte) clef) / nombre de bytes chiffrés en symétrique (le texte)Chiffrement : clef aléatoire (2/2) Chiffrement : clef aléatoire (2/2)
Internet
Bob Alice TEXTE
en clair
✴✥✸✴✥ ❅ ■
❃● ❁ ❉❒ Εµπρειντε
✴✥✸✴✥ ❅ ■
❃● ❁ ❉❒ Εµπρειντε Clef aléatoire
Chiffrement
symétrique ✴✥✸✴✥ ❅ ■
❃● ❁ ❉❒ Clef publique de Bob
Chiffrement
asymétrique Εµπρειντε
Clef aléatoire
Déchiffrement symétrique
Clef privée de Bob
Déchiffrement asymétrique
TEXTE en clair
Chiffrement
Chiffrement : : longueur longueur des clefs (1/2) des clefs (1/2)
Décrypter•
Déchiffrer sans posséder la clef de déchiffrement•
Nombreuses méthodes. Limite : rapidité des calculateurs
Plus la clef est longue (nombre de bits), plus il est difficile de décrypter•
Avec un algorithme de chiffrement solide (bon mathématiquement)
La puissance des machines augmente•
La taille des clefs utilisées doit augmenter•
La législation s’adapte :Utilisation des produits de chiffrement en France :
Avant 1999 : libre pour des clefs jusqu’à 40 bits
Décrypter•
Déchiffrer sans posséder la clef de déchiffrement•
Nombreuses méthodes. Limite : rapidité des calculateurs
Plus la clef est longue (nombre de bits), plus il est difficile de décrypter•
Avec un algorithme de chiffrement solide (bon mathématiquement)
La puissance des machines augmente•
La taille des clefs utilisées doit augmenter•
La législation s’adapte :Utilisation des produits de chiffrement en France :
Avant 1999 : libre pour des clefs jusqu’à 40 bits
Chiffrement
Chiffrement : : longueur longueur des clefs (2/2) des clefs (2/2)
ne pas confondre algorithmes à clefs secrètes (clefs couramment entre 40 et 256 bits) et algorithmes à clefs publiques (clefs couramment entre 512 et 2048 bits), pour lesquels la longueur de la clef n'est pas comparable :•
pour les algorithmes à clefs secrètes, la référence estl'attaque par force brute (moyenne 2 n-1 essais pour retrouver la clé)
•
pour les algorithmes à clefs publiques, la robustesse estbasée sur la difficulté mathématique à résoudre le problème sur lequel est basé l'algorithme (l'attaque par force brute n'a guère de sens)
ne pas confondre algorithmes à clefs secrètes (clefs couramment entre 40 et 256 bits) et algorithmes à clefs publiques (clefs couramment entre 512 et 2048 bits), pour lesquels la longueur de la clef n'est pas comparable :•
pour les algorithmes à clefs secrètes, la référence estl'attaque par force brute (moyenne 2 n-1 essais pour retrouver la clé)
•
pour les algorithmes à clefs publiques, la robustesse estbasée sur la difficulté mathématique à résoudre le problème sur lequel est basé l'algorithme (l'attaque par force brute n'a guère de sens)
Signature
Signature électronique électronique (1/2) (1/2)
Un mécanisme pour l’authentification et l’intégrité
Utilise une fonction de hachage (appliquée sur le document)•
Génère une suite de bits de taille fixe (très petite)•
Empreinte ou condensé•
Un bit du texte initial modifié ⇒ Empreinte différente•
MD5 (Message Digest) : empreinte de 128 bits•
SHA (Secure Hash Algorithm) : empreinte de 160 bits•
On chiffre l’empreinte avec la clef privée de l’émetteur
Outils courants : permettent de signer et de chiffrer
Un mécanisme pour l’authentification et l’intégrité
Utilise une fonction de hachage (appliquée sur le document)•
Génère une suite de bits de taille fixe (très petite)•
Empreinte ou condensé•
Un bit du texte initial modifié ⇒ Empreinte différente•
MD5 (Message Digest) : empreinte de 128 bits•
SHA (Secure Hash Algorithm) : empreinte de 160 bits•
On chiffre l’empreinte avec la clef privée de l’émetteur la clef privée de l’émetteur
Outils courants : permettent de signer et de chiffrerSignature électronique (2/2) Signature électronique (2/2)
égalité ?
TEXTE en clair
Empreinte
Fct de
hachage
TEXTE en clair
Empreinte
TEXTE en clair TEXTE
en clair
Empreinte
Fct de hachage
Chiffrement
Clef privée de Alice
Déchiffrement
Clef publique de Alice
Internet
TEXTE en clair Alice
Bob
Chiffrement à clefs asymétriques Chiffrement à clefs asymétriques
Chaque utilisateur a un bi-clef
Questions :•
la clé est-elle bien celle appartenant à la personne avec qui les échanges sont envisagés?•
le possesseur de cette clé est-il « digne de confiance »?•
la clé est-elle toujours valide?
Chaque utilisateur a un biChaque utilisateur a un bi--clefclef
Questions :Questions :• •
la clé estla clé est-elle bien celle appartenant à la personne avec qui -elle bien celle appartenant à la personne avec qui les échanges sont envisagés?les échanges sont envisagés?
• •
le possesseur de cette clé estle possesseur de cette clé est--il «il « digne de confiancedigne de confiance »?»?• •
la clé estla clé est-elle toujours valide?-elle toujours valide?Certificats X509 (1) Certificats X509 (1)
Une « autorité de confiance » signe avec sa clé privée un document contenant :
•
L’identité d’une entité possédant un couple de clé•
La clé publique•
Des informations décrivant l’usage de cette clé•
… Le résultat est un certificat
L’ « autorité de confiance » est appelée Autorité de Certification
Une « autorité de confiance » signe avec sa clé Une « autorité de confiance » signe avec sa clé privée un document contenant :
privée un document contenant :
• •
L’identité d’une entité possédant un couple de cléL’identité d’une entité possédant un couple de clé• •
La clé publiqueLa clé publique• •
Des informations décrivant l’usage de cette cléDes informations décrivant l’usage de cette clé• •
…… Le résultat est un Le résultat est un certificat certificat
L’ « autorité de confiance » est appelée L’ « autorité de confiance » est appelée Autorité de Certification
Autorité de Certification
Certificat X509 (2) Certificat X509 (2)
Norme X509 (ITU-T X.509 international standard V3 - 1996
RFC2459 : instanciation particulière de la norme X.509 pour l'Internet
Norme X509 (ITU Norme X509 (ITU - - T X.509 international T X.509 international standard V3
standard V3 - - 1996 1996
RFC2459 RFC2459 : : instanciation instanciation particulière de la particulière de la norme X.509 pour l'Internet
norme X.509 pour l'Internet
Certificat X509 (3) Certificat X509 (3)
Un certificat X509 :
prouve l’identité d’une personne au même titre qu’une carte d’identité, dans le cadre fixé par l’autorité de
certification qui l’a validé ;
pour une application il assure que celle-ci n’a pas été détournée de ses fonctions ;
pour un site il offre la garantie lors d’un accès vers celui-ci que l’on est bien sur le site auquel on veut accéder.
Un certificat X509 : Un certificat X509 :
prouve l’identité d’une personne au même titre qu’une prouve l’identité d’une personne au même titre qu’une carte d’identité, dans le cadre fixé par l’autorité de
carte d’identité, dans le cadre fixé par l’autorité de certification qui l’a validé ;
certification qui l’a validé ;
pour une application il assure que celle-pour une application il assure que celle-ci n’a pas été ci n’a pas été détournée de ses fonctions ;
détournée de ses fonctions ;
pour un site il offre la garantie lors d’un accès vers celui-pour un site il offre la garantie lors d’un accès vers celui-ci ci que l’on est bien sur le site auquel on veut accéder.
que l’on est bien sur le site auquel on veut accéder.
Certificats X509 Certificats X509
Signature Signature Signature
Signature AlgorithmAlgorithm X509v3 extensions X509v3 extensions Subject Public Key Info Subject Public Key Info Subject
Subject Validity Validity Issuer Issuer Serial
Serial NumberNumber Version
Version
Signature Algorithme de signature
Signature
Extensions X509 Clé publique de l’entité DN de l’entité Dates de validité (création et péremption) DN de l’autorité de certification No de série du certificat Version de la norme X509
Données
Certificats X509 Certificats X509
Distinguished Name (DN)
Nom et prénom
Unité
Organisation
Pays
Ex : C=FR,O=CNRS,OU=UPS836,CN=Claude Gross/Email=Claude.Gross@urec.cnrs.fr
Distinguished Distinguished Name Name (DN) (DN)
Nom et prénomNom et prénom
EmailEmail
UnitéUnité
OrganisationOrganisation
PaysPays
Ex :Ex : C=FR,O=CNRS,OU=UPS836,CN=Claude Gross/EmailC=FR,O=CNRS,OU=UPS836,CN=Claude Gross/Email=Claude.Gross@=Claude.Gross@urecurec..cnrscnrs.fr.fr
Certificats X509 Certificats X509
Extensions :•
Rôle du certificat Signature
Chiffrement
Non répudiation
…
•
Informations diverses Adresse de la CRL
…
Extensions :Extensions :• •
Rôle du certificatRôle du certificat SignatureSignature
ChiffrementChiffrement
Non répudiationNon répudiation
……
• •
Informations diversesInformations diverses Adresse de la CRLAdresse de la CRL
……
Signature Signature numérique numérique Non Non
répudiation répudiation Chiffrement Chiffrement de clé
de clé
Chiffrement Chiffrement de données de données
xx
Signature de Signature de CRLCRL
cRLSign cRLSign
Chiffrement Chiffrement seul
encipherOnly seul encipherOnly
Déchiffrement Déchiffrement seulseul
decipherOnly decipherOnly
xx
Clé de Clé de
signature de signature de certificat certificat keyCertSign
keyCertSign
xx
Négociation Négociation de clés de clés keyAgreement
keyAgreement
xx
dataEncipherment dataEncipherment
xx
keyEncipherment keyEncipherment
xx
nonRepudiation nonRepudiation
xx
digitalSignature digitalSignature
Fonction de Fonction de négociation de
clé
négociation de clé
Fonction de Fonction de chiffrement de chiffrement de
données données Fonction de
Fonction de chiffrement de chiffrement de
cléclé Fonction de
Fonction de certification certification (signature de (signature de certificats / certificats /
CRL).
CRL).
Fonction de Fonction de
signature signature
Certificate:
Data:
Version: 3 (0x2) Serial Number: 4 (0x4)
Signature Algorithm: md5WithRSAEncryption Issuer: C=FR, O=CNRS, CN=CNRS-Standard Validity
Not Before: May 3 09:00:43 2001 GMT Not After : May 3 09:00:43 2002 GMT
Subject: Email=Philippe.Leca@urec.cnrs.fr, CN=Philippe Leca, OU=UPS836, O=CNRS, C=FR Subject Public Key Info:
Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:f8:c4:f7:d9:0a:51:ba:b5:45:8d:f5:2c:f2:c1:
...
45:a0:96:74:14:73:ee:36:73 Exponent: 65537 (0x10001) X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Client, S/MIME X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment X509v3 Subject Key Identifier:
CE:5D:A2:36:19:86:F5:E1:D7:9F:EE:41:26:1C:D5:93:3F:12:C8:80 X509v3 Authority Key Identifier:
keyid:67:59:A5:E5:07:74:49:03:EF:05:CF:CC:2E:A4:18:D5:10:C8:9E:3C DirName:/C=FR/O=CNRS/CN=CNRS
serial:02
X509v3 CRL Distribution Points:
URI:http://igc.services.cnrs.fr/cgi-bin/loadcrl?CA=CNRS-Standard&format=DER Signature Algorithm: md5WithRSAEncryption
af:c4:87:ad:75:bc:b4:79:f9:c7:67:cf:eb:4a:9c:bf:64:e3:
…
4a:03:5e:ea
Certificats X509 Certificats X509
Vérification
Vérification Vérification
Certificat de Alice
Empreinte 1
Fct de hachage
Version: 3 (0x2)
Serial Number: 114 (0x72)
Signature Algorithm: md5WithRSAEncryption Issuer: C=FR, O=CNRS, CN=CNRS
Validity
Not Before: Nov 6 09:43:01 2001 GMT Not After : Nov 6 09:43:01 2003 GMT Subject: C=FR, O=CNRS, OU=UREC,
CN=Alice/Email=alice@urec.cnrs.fr
…
Signature
1b:2b:c0:3e:52:4d:14:43:…
non oui
Déchiffrement
Clé publique de l’autorité de certification CNRS
Empreinte 2 Certificat
invalide
Certificat valide Egalité ?
Autorité de Certification Autorité de Certification
C’est une organisation qui délivre des certificats à une population.
Une AC possède elle-même un certificat
Il existe des autorités
•
privées (intranet d’une entreprise),•
organisationnelles (CRU, CNRS),•
corporative (notaires),•
commerciales (Thawte, Verisign, …), C’est une organisation qui délivre des certificats C’est une organisation qui délivre des certificats à une population.
à une population.
Une AC possède elle Une AC possède elle - - même un certificat même un certificat
Il existe des autorités Il existe des autorités
• •
privées (privées (intranetintranet d’une entreprise), d’une entreprise),• •
organisationnelles (CRU, CNRS), organisationnelles (CRU, CNRS),• •
corporative (notaires), corporative (notaires),• •
commerciales (commerciales (ThawteThawte, Verisign, Verisign, …), , …),Autorité de Certification Autorité de Certification
La CA agit en tiers de confiance en se portant garant de l’identité du titulaire du certificat
Le niveau de confiance dépend de
•
La procédure de vérification de l’identité lors de la délivrance d’un certificat•
La protection de la clef privée de la CA•
Les services annexes comme la révocation des certificats compromis. La CA agit en tiers de confiance en se portant La CA agit en tiers de confiance en se portant garant de l’identité du titulaire du certificat
garant de l’identité du titulaire du certificat
Le niveau de confiance dépend de Le niveau de confiance dépend de
• •
La procédure de vérification de l’identité lors de la La procédure de vérification de l’identité lors de la délivrance d’un certificatdélivrance d’un certificat
• •
La protection de la clef privée de la CALa protection de la clef privée de la CA• •
Les services annexes comme la révocation des Les services annexes comme la révocation des certificats compromis.certificats compromis.
Autorité de Certification Autorité de Certification
Le certificat d’une AC peut-être auto-signé : autorité racine
Le certificat peut-être été émis par une autre AC (relation hiérarchique)
Le certificat peut être signé a posteriori par une autorité co-latérale : relation de confiance
croisée
Le certificat d’une AC peut Le certificat d’une AC peut - - être auto- être auto -signé : signé : autorité racine
autorité racine
Le certificat peut Le certificat peut - - être été émis par une autre être été émis par une autre AC (relation hiérarchique)
AC (relation hiérarchique)
Le certificat peut être signé a posteriori par une Le certificat peut être signé a posteriori par une autorité co
autorité co - - latérale : relation de confiance latérale : relation de confiance croisée
croisée
Certification hiérarchique Certification hiérarchique
AC Racine
AC0AC0
AC2
AC
intermédiaire
AC1 AC2 AC1
AC émettrice
AC3AC3 AC4AC4 AC5AC5
= chaîne de certificationchaîne de certification
AC0 + AC2 + AC5 + Cx
Infrastructure de Gestion de Clés Infrastructure de Gestion de Clés
Ensemble des matériels, logiciels, personnes, règles et procédures nécessaire à une Autorité
de Certification pour créer, gérer et distribuer des certificats X509.
Ensemble des matériels, logiciels, personnes, Ensemble des matériels, logiciels, personnes,
règles et procédures nécessaire à une Autorité règles et procédures nécessaire à une Autorité
de Certification pour créer, gérer et distribuer de Certification pour créer, gérer et distribuer
des certificats X509.
des certificats X509.
Infrastructure de Gestion de Clés Infrastructure de Gestion de Clés
Les fonctions principales d'une IGC sont :
•
Émettre et révoquer des certificats•
Publier les certificats dans un annuaire•
Éventuellement, fournir un service de séquestre et de recouvrement des clés privées Les fonctions principales d'une IGC sont : Les fonctions principales d'une IGC sont :
• •
Émettre et révoquer des certificatsÉmettre et révoquer des certificats• •
Publier les certificats dans un annuairePublier les certificats dans un annuaire• •
Éventuellement, fournir un service de séquestre et Éventuellement, fournir un service de séquestre et de recouvrement des clés privéesde recouvrement des clés privées
Infrastructure de Gestion de Clés Infrastructure de Gestion de Clés
Elle est constituée par :
•
Une autorité de certification (AC)•
Une autorité d'enregistrement (AE)•
Un opérateur de certification (OC)•
Un annuaire de publication de certificats•
Un service de validation•
Éventuellement, un service de séquestre de clés Elle est constituée par Elle est constituée par : :
• •
Une autorité de certification (Une autorité de certification (ACAC) )• •
Une autorité d'enregistrement (Une autorité d'enregistrement (AEAE) )• •
Un opérateur de certification (Un opérateur de certification (OCOC))• •
Un annuaire de publication de certificatsUn annuaire de publication de certificats• •
Un service de validationUn service de validation• •
Éventuellement, un service de séquestre de clésÉventuellement, un service de séquestre de clésInfrastructure de Gestion de Clés Infrastructure de Gestion de Clés
Autorité d’Enregistrement
Service de Validation Annuaire
Opérateur de Certification
Service de Séquestre
Autorité d’Enregistrement Autorité d’Enregistrement
Traitement des demandes de création, de
renouvellement et de révocation de certificats.
Ö contrôle des données identifiant le demandeur de certificat
Ö validation des demandes de révocation
Traitement des demandes de création, de Traitement des demandes de création, de
renouvellement et de révocation de certificats.
renouvellement et de révocation de certificats.
ÖÖ contrôle des données identifiant le demandeur de contrôle des données identifiant le demandeur de certificat
certificat
ÖÖ validation des demandes de révocationvalidation des demandes de révocation
Opérateur de Certification Opérateur de Certification
Génération des certificats
Révocation des certificats
⇒ Utilisation de la clé privée de l’AC
Génération des certificats Génération des certificats
Révocation des certificats Révocation des certificats
⇒ ⇒ Utilisation de la cl Utilisation de la cl é é priv priv é é e de l e de l ’ ’ AC AC
Annuaire Annuaire
Nécessité de publier les certificats
⇒ Utilisation d’un annuaire (LDAP)
Certificats (personnes, services, AC)
CRLs
Nécessité de publier les certificats Nécessité de publier les certificats
⇒ ⇒ Utilisation d Utilisation d ’ ’ un annuaire (LDAP) un annuaire (LDAP)
Certificats (personnes, services, AC)Certificats (personnes, services, AC)
CRLsCRLs
Service de Validation Service de Validation
Certificats invalides
•
Date de validité•
révocation Compromission de la clé privée
Fin de droit
…
⇒ nécessité d’un service de validation
Certificats invalides Certificats invalides
• •
Date de validitéDate de validité• •
révocationrévocation Compromission de la clé privéeCompromission de la clé privée
Fin de droitFin de droit
……