Cryptographie : de la
théorie à la pratique
Marine Minier
INSA Lyon
Novembre 2005 Séminaire 5IF 1
Plan du cours
Introduction générale
Cryptographie
Cryptographie à clé secrète ou symétrique
Description + Premier exemples d’applications
Cryptographie à clé publique
Principaux cryptosystèmes + protocoles
Signature + protocoles
Principes de certification : X.509
Applications pratiques
OpenSSL, SSH et ses dérivés
PGP
https
IP-Sec et VPN
Cartes à puce
Les PKI, Bluetooth,…
Conclusion
Novembre 2005 Séminaire 5IF 2
Introduction
Tout d’abord
Menace générale
Cryptographie symétrique
Novembre 2005 Séminaire 5IF 3
Menaces et historique
Novembre 2005 Séminaire 5IF 4
Menaces : utilité de la cryptographie
Attaques passives
message
Alice Bob
Charlie
Menace contre la confidentialité de l’information : une
information sensible parvient à une personne autre que
son destinataire légitime.
Novembre 2005 Séminaire 5IF 5
Menaces : utilité de la cryptographie
Attaques actives : interventions sur la ligne
message
Alice Bob
Charlie
Menace contre l’intégrité et l’authenticité de l’information
Novembre 2005 Séminaire 5IF 6
Attaques actives : plusieurs attaques
possibles
Impersonification : modification de l’identité de l’émetteur ou du
récepteur
Altération des données (modification du contenu)
Destruction du message
Retardement de la transmission
Répudiation du message = l’émetteur nie avoir envoyé le
message
Cryptographie : permet de lutter contre toutes ces attaques
Garantie la confidentialité, l’intégrité, l’authenticité (authentification
et identification) et la signature
Novembre 2005 Séminaire 5IF 7
Assurer la confidentialité :
Chiffrement du message :
Utilisation
d’algorithmes de chiffrement
paramétrés par des clés
Deux méthodes :
Cryptographie symétrique ou à clé secrète
Cryptographie asymétrique ou à clé publique
Novembre 2005 Séminaire 5IF 8
Deux méthodes pour chiffrer
l’information (1/2)
Cryptographie à clé secrète :
DK ο EK= Id
Canal non sûr
m E C C D m
K K
Alice Bob
Charlie
Échange de K sur un canal sûr
Novembre 2005 Séminaire 5IF 9
Deux méthodes pour chiffrer
l’information (2/2)
Cryptographie à clé publique :
Annuaire clé
publique
KpB Bob
Canal non sûr
m EKpB C C DKsB m
KpB Charlie KsB
Alice
EKpB ο DKsB= Id
Novembre 2005 Séminaire 5IF 10
Historique rapide (1/2)
Algorithme à clé secrète plus rapide que clé
publique (facteur 1000 entre les deux)
Auparavant : la sécurité reposait sur le fait
que l’algorithme utilisé était secret
Exemple : Alphabet de César : décalage de
trois positions des lettres de l’alphabet
=> CESAR -> FHVDU
Novembre 2005 Séminaire 5IF 11
Historique rapide (2/2)
Aujourd’hui : les algorithmes sont connus de tous : la
sécurité repose uniquement sur le secret d’une clé
(principe de Kerckhoffs).
Premier Exemple : Dernière guerre : Machine Enigma
Années 70 : développement des ordinateurs et des télécoms
75-77 : Premier standard de chiffrement américain, le DES
1976 : nouvelle forme de cryptographie : la cryptographie à clé
publique, introduite par Diffie et Hellman (Exemple : RSA)
Novembre 2005 Séminaire 5IF 12
A quoi doit résister un bon
algorithme de chiffrement ?
Attaques de Charlie
but : retrouver un message m ou mieux la clé K.
Attaque à texte chiffré seul
Attaque à texte clair connu
Attaque à texte clair choisi
=> Complexité de ces attaques > à la recherche
exhaustive (essayer toutes les clés)
Novembre 2005 Séminaire 5IF 13
Cryptographie symétrique
Novembre 2005 Séminaire 5IF 14
Cryptographie symétrique
La clé K doit être partagée par Alice et Bob
Algorithmes étudiés
Algorithme de chiffrement par blocs
Algorithme de chiffrement à flot
Fonction de Hashage
Quelques protocoles + attaques sur le WEP et
attaques sur Bluetooth
Novembre 2005 Séminaire 5IF 15
Algorithmes symétriques de
chiffrement par blocs
Alice et Bob partagent la même clé K
On chiffre par blocs :
Le texte clair m est divisé en blocs de taille
fixe
On chiffre un bloc à la fois
Novembre 2005 Séminaire 5IF 16
Mode ECB :
Novembre 2005 Séminaire 5IF 17
Mode CBC :
IV = Valeur
d’initialisation
publique
Novembre 2005 Séminaire 5IF 18
Chiffrement par blocs itératifs
Structure Générale d’un Algorithme de chiffrement par Blocs Itératif :
K
X bloc clair (n bits)
f
Génération des sous-clés
K1
X1 La clé K est utilisée pour
f générer r sous-clés, une
K2
X2 pour chaque étage.
. r étages
.
.
f La fonction f est une
Xr-1 permutation des blocs
f de n bits
Kr
Y bloc chiffré (n bits)
Novembre 2005 Séminaire 5IF 19
Premier exemple : le DES
DES = Data Encryption Standard
Élaboré par le NBS (National Bureau of
Standards, aujourd’hui NIST) à partir d’un
algorithme d’IBM Lucifer.
Standardisé en 1977
Novembre 2005 Séminaire 5IF 20
Le DES (1/3)
Description : algorithme de
chiffrement par blocs
Entrée : bloc de 64 bits
Sortie : bloc de 64 bits
Clé : 64 bits dont 56 sont
utilisés (le dernier bit de
chaque octet = bit de parité)
Algorithme entièrement
symétrique : chiffrement =
déchiffrement
Nombre de tours : 16 tours
Novembre 2005 Séminaire 5IF 21
Le DES (2/3) f Ki
P S E
Fonction d’étage f :
Schéma de Feistel
f :
E : expansion de 32 vers 48 bits
Xor avec une sous clé Ki de 48 bits
S : boites S (permutations non linéaires) de 48
bits vers 32 bits (8.6 vers 8.4 bits)
P : permutation de 32 bits vers 32 bits
Novembre 2005 Séminaire 5IF 22
Le DES (3/3)
Le schéma de Feistel est une permutation :
L0 L1
R0 = L1 et R1 = L0 ⊕ f(L1)
f
Inverse : L1 = R0 et L0 =
R0 R1 R1 ⊕ f(L1)
2.1er bit + dernier
Entrée sur 6 bits : colonne : 4 bits du milieu
Exemple d’une
des boites S
(il y en a 8)
Novembre 2005 Séminaire 5IF 23
Le DES attaqué ! (1/2)
Loi de Moore : « le nombre de transistors des
microprocesseurs sur une puce de silicium double tous les
dix
- huit mois. »
1983 1985 1987 1990 1993 1996 1999 2005
256 1 4 16 64 256 1 2
Kb/s Mb/s Mb/s Mb/s Mb/s Mb/s Gb/s Gb/s
Taille de la clé du DES : 56 bits soit 256 essais !
Novembre 2005 Séminaire 5IF 24
Le DES attaqué ! (2/2)
99 : Attaque des laboratoires RSA contre le DES (clé
retrouvée en 22 heures)
À l’aide d’une machine dédiée : Deep Crack (250 000 dollars)
De 100 000 PCs par calul distribué
Changement de taille de clé : 128 bits minimum
97 : Appel d’offre du NIST pour choisir un nouvel
algorithme de chiffrement par blocs pour le 21ème siècle
Nom : AES
15 propositions, 5 finalistes
choix de Rijndael en octobre 00.
Novembre 2005 Séminaire 5IF 25
Mots de passe Unix (1/2)
Utilisation d’un DES à 25 tours
Mot de Passe (MP) = clé du DES pour chiffrer une valeur
d’initialisation constante IV
H = DESMP(IV)
On enregistre H dans /etc/passwd
Pour vérifier le mot de passe MP’ donné au login, on
vérifie :
DESMP’(IV) ?= H
Novembre 2005 Séminaire 5IF 26
Mot de passe Unix (2/2)
Réalité : on tire en plus à la première connexion
une valeur de 12 bits (sel) pour paramétrer le DES
=> (ajout d’une permutation)
=> en fait 212 = 4096 DES possibles
Augmente de 12 bits la recherche exhaustive
On enregistre le sel en plus dans /etc/passwd :
account:coded password data:uid:gid:GCOS-field:homedir:shell
gigawalt:fURfuu4.4hY0U:129:129:Walters:/home/gigawalt:/bin/csh
sel
Novembre 2005 Séminaire 5IF 27
L’AES (1/3) Texte clair (128, 192, 256 bits)
Matrice d’octets 4x4, 4x6, 4x8
Rijndael, créé par V. Rijmen et J. K0 initial Key addition
Daemen, choisi comme AES en
Byte Sub
octobre 2000.
Shift Row tour 1
Algorithme de chiffrement par Mix Column
blocs utilisant une structure
parallèle. K1 Key Addition
Tailledes blocs : Byte Sub
Shift Row tour 9,
128, 192 ou 256 bits.
Mix Column 11 ou
Key Addition 13
Longueurs des clés : K9
128, 192, ou 256 bits. Dernier
Byte Sub
Shift Row tour
Le nombre de tours varie entre K10 Key Addition
10 et 14 selon la taille des blocs et
Texte chiffré (128, 192, 256 bits)
la longueur des clés.
Matrice d’octets 4x4, 4x6, 4x8
Novembre 2005 Séminaire 5IF 28
L’AES (2/3) : : La Fonction Étage 1/2
Byte Substitution Shift Row
a00 a01 a02 a03 a00 a01 a02 a03
a10 a11 a12 a13 a10 a11 a12 a13 1
a20 a21 a22 a23 a20 a21 a22 a23 2
a30 a31 a32 a33 a30 a31 a32 a33 3
(8x8 S-box S)
S(a00) S(a01) S(a01) S(a00) a00 a01 a02 a03
S(a13) S(a12) S(a11) S(a10) a11 a12 a13 a10
S(a23) S(a22) S(a21) S(a20) a22 a23 a20 a21
S(a33) S(a32) S(a31) S(a30) a32 a30 a33 a31
Novembre 2005 Séminaire 5IF 29
L’AES (3/3) : : La Fonction Étage 2/2
Mix Column Key Addition
a00 a01 a02 a03
a10 a11 a12 a13 a00 a01 a02 a03
a20 a21 a22 a23 a10 a11 a12 a13
a30 a31 a32 a33 a20 a21 a22 a23
a30 a31 a32 a33
02 03 01 01
01 01
⊗ 02 03
01 01 02 03
⊕ Ki (128 bits)
03 01 01 02
b00 b01 b02 b03
b00 b01 b02 b03
b10 b11 b12 b13
b10 b11 b12 b13
b20 b21 b22 b23
b20 b21 b22 b23
b30 b31 b32 b33
b30 b31 b32 b33
Novembre 2005 Séminaire 5IF 30
Quel chiffrement utilisé aujourd’hui ?
Soit l’AES
Soit le triple DES :
composition de deux DES
avec deux clés (112 bits de clé) :
C = DESK1(DES-1K2(DESK1(M)))
=>Pour se prémunir contre la recherche
exhaustive
Novembre 2005 Séminaire 5IF 31
Autre algorithme de cryptographie
symétrique : le chiffrement à flot
Utilisation du « one time pad » :
aléa si m = m 0 m1 m2 m3 …
chiffré ci s = s0 s1 s2 s3 …
= c = c0 c1 c2 c3 …
message mi
L’aléa est remplacé par un générateur pseudo
- aléatoire
(ou chiffrement à flot)
Initialisé par la clé commune K
Sécurité repose sur les qualités du générateur (grande période,
très bon aléa,…)
Novembre 2005 Séminaire 5IF 32
Chiffrement à flot :
Pourquoi des chiffrements à flot ?
Utilisation pour le software : chiffrement très
rapide
Utilisation en hardware avec des ressources
restreintes
Ne propage pas les erreurs (souvent utilisé en
téléphonie mobile) (à la différence du
chiffrement par blocs)
Novembre 2005 Séminaire 5IF 33
Conceptions classiques :
En général, trois phases :
Un état initial de longueur L (L ≥ 2k où k est la longueur de clé)
Une fonction de remise à jour de l’état
Une fonction de filtrage pouvant dissimuler les propriétés de la
fonction précédente
Constructions les plus usitées :
État initial = clé ( et/ou vecteur d’initialisation)
Utilisation d’un LFSR pour remettre l’état à jour
Fonction de filtrage :
Fonction booléenne qui filtre les sorties d’un seul LFSR
Fonction booléenne qui combine les sorties de plusieurs LFSRs
Novembre 2005 Séminaire 5IF 34
Le LFSR : Registre à rétroaction
linéaire
Longueur L
st+L st+L-1 st+L-2 st+L-3 … st+1 st sortie
c1 c2 c3 cL-1 cL
Pour tout t ≥ L, st = Σi=1..L ci st-i
Polynôme de rétroaction :
P(X) = 1 + c1X + c2X² + … + cLXL Choisi pour être primitif
P*(X)= XL + c1XL-1 + c2XL-² + … + cL
Novembre 2005 Séminaire 5IF 35
Utilisation de LFSRs :
Le registre filtré : séquence pseudo-
aléatoire s = (si)
La combinaison de registres :
bit X1
Initialisé à l’aide
LFSR 1
de la clé K
X2
LFSR 2 fonction f de séquence pseudo-
.. combinaison aléatoire s = (si)
.
LFSR n Xn
Novembre 2005 Séminaire 5IF 36
Un exemple particulier RC4 :
Principe général :
Génération de l’aléa à partir d’un tableau d’état Si de 256 octets
Initialisation du tableau à partir de la clé K
Pour i de 0 à 255, Si = i
Pour i de 0 à 255, Ki = clé K
j = 0, pour i de 0 à 255
j = (j + Si+ Ki) mod 256
Échanger Si et Sj
Génération de l’aléa :
i = (i+1) mod 256, j = (j + Sj) mod 256
Échanger Si et Sj
t = (Si + Sj) mod 256 => sortir St
Novembre 2005 Séminaire 5IF 37
Comparaison de performances :
En hardware (2003)
DES : 1,1 Gbits/ seconde
AES : 1,95 Gbits/s.
RC4 : 0,685 Gbits/s. (vieil algorithme)
Novembre 2005 Séminaire 5IF 38
Fonctions de hachage
Calcul d’un condensé h d’un message M :
h = H(M)
Propriété : résistance aux collisions
Il doit être très difficile de trouver un couple de messages (M,
M’) qui ont le même condensé. (« one way hash function »).
On part d’un message de taille quelconque et on construit un
condensé de taille N bits
N > 160 bits pour éviter la recherche exhaustive et les attaques
par collisions
Novembre 2005 Séminaire 5IF 39
Paradoxe des anniversaires
Problème : Combien faut- il de personnes dans une salle
pour avoir plus d’une chance sur deux pour que 2
personnes soient nées le même jour ?
Réponse : 23 !
Nombre de personnes : 1,18.n1/2
Avec n = nb d’événements (ici 365)
Cas du hachage : si le haché fait 128 bits, alors il faut
essayer environ 264 messages pour obtenir une collision
=> N > 160 bits
Novembre 2005 Séminaire 5IF 40
Méthode de constructions :
Construites à partir d’une fonction de
compression f :
M = M1 M2 M3 … Mt (t blocs de taille n)
H0 H1 H2 …
f f f f
= IV
Sortie
Hi = f(Mi, Hi-1) h = Ht = f(Mt, Ht-1)
Exemple : f =AES et Hi = AES Mi(Hi-1) ⊕ Hi-1
Novembre 2005 Séminaire 5IF 41
Exemples :
MD4 [Rivest 92] , MD5 [Rivest 92]
MD5 : entrée de 512 bits -> hash de 128 bits
SHA-0, SHA-1, SHA-256 ou 384 ou 512
proposé par la NSA (National Security
Agency)
SHA-1 : entrée de 512 bits -> hash de 160 bits
Novembre 2005 Séminaire 5IF 42
MD5 : 4 mots de 32 bits
Composé de la
répétition de 64
opérations
regroupées en 4 fois
16 opérations
c
Une opération
Novembre 2005 Séminaire 5IF 43
SHA-1 : 5 mots de 32 bits
Composé de la répétition
de 80 opérations
regroupées en 4 fois 20
opérations
Kt = constante
Wt = valeur dépendant des
blocs Mi du message
Une opération
Novembre 2005 Séminaire 5IF 44
Utilité des fonctions de hachage
Informatique : construction de table de hachage, liste
chaînée utilisant ces fonctions.
Permet de garantir l’intégrité
Téléchargement de packages (Openoffice,…)
⇒ Vérification de l’intégrité des paquets par calcul de sommes MD5
Utilisation avec une signature numérique (voir plus loin)
Calcul de mot de passe
Novembre 2005 Séminaire 5IF 45
Les fonctions de hachage
attaquées !
Résultats de 2004 et 2005
temps nécessaires pour trouver deux messages
M et M’ fournissant le même haché h :
MD4 : 15 minutes
MD5 : 8 heures sur un PC à 1,6 GHz
- 0 : 239 opérations, SHA
SHA - 1: 263 opérations
Seul SHA-1 peut encore être utilisée
On parle d’un éventuel appel d’offre du NIST…
Novembre 2005 Séminaire 5IF 46
Exemples de collision pour MD5
Novembre 2005 Séminaire 5IF 47
MACs :
Message authentication Algorithms
= Fonction de hachage avec clé
Exemple :
H(k,p,m,k): application de deux fonctions de
hachage avec une clé k
p = padding = on complète le message m
avec des 0, des 1 ou une valeur aléatoire
Novembre 2005 Séminaire 5IF 48
Protocoles dédiés :
Cryptographie = algorithmes + protocoles
La solidité d’une communication dépend à
la fois de :
Lasolidité des algorithmes cryptographiques
Des protocoles utilisées
Novembre 2005 Séminaire 5IF 49
Exemple de protocoles :
identification par mot de passe
Première connexion :
terminal
Mot de passe PA
Alice Stocke PA
Connexions suivantes :
terminal
Mot de passe P
Alice Vérifie si P= PA
Problème ? PA passe en clair sur la ligne
et est stocké en clair
Novembre 2005 Séminaire 5IF 50
Protocole 1 : mot de passe stocké
sous forme chiffrée (UNIX)
Première connexion :
terminal
Mot de passe PA
Alice Stocke cA = hash(PA)
Connexions suivantes :
terminal
Mot de passe P
Alice Calcul hash(P)
Problème ? PA passe toujours en clair sur Vérifie si cA=hash(P)
la ligne
Novembre 2005 Séminaire 5IF 51
Protocole 2bis :
Première connexion :
terminal
envoie PA
Alice Stocke cA = hash(PA)
Connexions suivantes :
terminal
Envoie h(P)
Alice Vérifie si cA=h(P)
Calcule h(P)
Novembre 2005 Séminaire 5IF 52
Protocole aléa/retour :
Première connexion : comme précedemment
Puis
terminal
Aléa (ou défi) r
Alice A stocké PA
Calcule : c = EPA(r) c
Vérifie si c = EPA(r)
Novembre 2005 Séminaire 5IF 53
SKEY : RFC 2289
terminal
(1000, cA = h1000(PA))
Alice Stocke (1000, cA = h1000(PA))
terminal
1000-1
Alice
Calcule c = h999 (P) c Vérifie si h(c) = cA
Stocke (999, c)
Novembre 2005 Séminaire 5IF 54
Première étude de cas : le 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 de
la norme 802.11
Novembre 2005 Séminaire 5IF 55
WEP (1/3)
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
Novembre 2005 Séminaire 5IF 56
WEP (2/3)
Pour chiffrer un message M
Checksum : calcule de c(M),
P=(M, c(M))
code linéaire CRC-32 (intégrité)
Chiffrement : P est chiffré avec
RC4 (confidentialité)
Un vecteur d’initialisation (IV) v
est choisi et est concaténé à k :
C =P+RC4(v,k)
Transmission de v et C
CRC-32
Novembre 2005 Séminaire 5IF 57
WEP : authentification (3/3)
Pour s’authentifier : protocole aléa-retour
Aléa r de 128 bits
L’aléa est chiffré avec la méthode précédente avant
vérification :
C’ = r+RC4(v,k)
Le serveur vérifie si C’ = C (la valeur calculée par le
serveur)
Novembre 2005 Séminaire 5IF 58
WEP : pourquoi un IV ?
Pourquoi un IV ?
Sipas d’IV : C1=P1+RC4(k) et C2=P2+RC4(k)
=> C1 + C2 = P1 + P2
Si on connaît P1 => déduit P2
En chiffrant avec un IV, on change d’IV à
chaque message
=> cette attaque est évitée
Novembre 2005 Séminaire 5IF 59
WEP : quelques problèmes…
Une clé statique : aucun chiffrement n’est sûr si on réutilise toujours la même clé
Taille de l’IV : 24 bits => seulement 16,777,216 d’IV possibles
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
Novembre 2005 Séminaire 5IF 60
Quelques problèmes (suite)...
Attaque sur la confidentialité
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
Novembre 2005 Séminaire 5IF 61
Implémentation des attaques
Attaque de KoreK
Clé de 40 bits : nécessite la capture de 150.000 paquets avec des IVs différents
Clé de 104 bits : capture de 500.000 de paquets avec IV diff.
Amélioration par injection de trafic (ARP)
Récupérer un paquet WEP, enlever le dernier octet. => le CRC/ICV est
cassée.
Test sur la valeur de l’ octet d’avant :
si il valait 0 => XOR des 4 derniers octets et d’une autre valeur => CRC
encore valide ? Retransmission du paquet, passe-t’il ? Oui, bonne valeur,
non
=> essayer la valeur 1 =>,…
Recherche exhaustive sur la valeur de un octet et on remonte,…
Novembre 2005 Séminaire 5IF 62
Exemple d’attaque sur le WEP
Exemple :
Aircrack de C.
Devine
Très rapide
Avec injection de
paquets,
=> qques min.
pour trouver la
clé
Novembre 2005 Séminaire 5IF 63
Le WEP est mort : résumé
Les principales faiblesses :
Faiblesse de RC4 < construction clé (K, IV)
Taille trop faible des IV + réutilisation des IV autorisée
Pas de contrôle d’intégrité avec CRC32
Pas de mécanisme de mise à jour des clés
3 outils nécessaires à l’attaque
Aerodump : découverte des réseaux autour
Aireplay : injection artificielle de trafic
Aircrack : casseur de clé WEP utilisant les Ivs uniques collectés
auparavant
Novembre 2005 Séminaire 5IF 64
Changements
Utiliser 802.1x pour l’authentification EAP (Extensive Authentication
Protocol RFC 2284) centralisée
Utiliser WPA pour la confidentialité
Changement de clé de chiffrement de façon périodique
Clé de 128 bits
IV de 48 bits
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
Malheureusement : pas encore l’AES => WPA 2 !
WPA 2 intègre des protocoles standards dans toutes les couches
Intégration de IP-Sec, https,TCP protégé par TLS,…
Novembre 2005 Séminaire 5IF 65
Nouvelle norme : 802.11i (2004)
Nom commercial : WPA2
Séparation authentification util. et chiffrement
Architecture de sécurité appelé RSN (robust
security network) en 4 phases :
Mise en accord d’une politique de sécurité
Authentification 802.1X (EAP)
Dérivation et distribution des clés
Chiffrement et intégrité (AES, SHA - 1)
Novembre 2005 Séminaire 5IF 66
Conclusion partielle
Les algorithmes de chiffrement à clé secrète ne
permettent pas de garantir la non
- répudiation
Problème de transmission de la clé partagée
Quand bcp d’utilisateurs => problème de gestion de clé
Problème de renouvellement des clés
=> Solution : cryptographie à clé publique !
Novembre 2005 Séminaire 5IF 67
Cryptographie à clé publique
Novembre 2005 Séminaire 5IF 68
Cryptographie à clé publique
Pour chiffrer un message, Alice utilise la
clé publique de Bob et seul lui peut
déchiffrer le message à l’aide de sa clé
secrète
Je ne donnerai pas ici les preuves
permettant de garantir ces algorithmes
Novembre 2005 Séminaire 5IF 69
Plan
Principaux systèmes de chiffrement
RSA
Les pièges à éviter
Records de factorisation de nombre RSA
ElGamal
Shémas de signature
RSA, RSA-PSS, ElGamal, DSS, DSA, EC-
DSA
Novembre 2005 Séminaire 5IF 70
Systèmes de chiffrement
Novembre 2005 Séminaire 5IF 71
Problèmes mathématiques
Vue en 3IF
Deux grands problèmes
La factorisation de grands nombres
Le problème du logarithme discret
Novembre 2005 Séminaire 5IF 72
Rappel
Le modulo :
a = b mod n a+k.n = b+k’.n
L’ensemble des éléments 0,…n-1 défini par la relation modulo se
note Z/nZ
Z/nZ est un anneau et un corps si n premier.
φ(n) : Fonction indicatrice d’Euler = nombre de nombre
premier avec n.
Si n premier : φ(n) = n-1
φ(pq) = φ(p)φ(q) si p et q premier
Le problème difficile sur lequel repose RSA : la factorisation
Il est très difficile de trouver p et q / n=p.q en ne connaissant que n
Novembre 2005 Séminaire 5IF 73
RSA naïf (RFC 2437)
Alice fabrique sa clé
n=pq avec p et q deux grands nombres premiers
e premier avec φ(n) = (p-1)(q-1) et d tel que ed = 1 mod (p-1)(q-1)
Rend publique (n,e)
Bob veut envoyer un message m à Alice :
Bob calcule c = me mod n
Bob transmet c à Alice
Alice déchiffre c en calculant :
cd = med = m1 mod n
Novembre 2005 Séminaire 5IF 74
Principes de construction du RSA
Connaissant n retrouver p et q => problème difficile
(pas d’algorithme en temps polynomiale)
Factoriser n retrouver d Inverser xe mod n
Il existe une infinité de nombres premiers
On sait en construire (Fermat, Carmichael)
On sait tester si ils sont premiers (Miller- R
abin)
Novembre 2005 Séminaire 5IF 75
Taille des clés RSA :
Aujourd’hui, factorisation de clés RSA (=n)
de plus de 512 bits (154 chiffres décimaux)
Taille minimum préconisé :
Au moins 768 bits
1024 bits conseillé
Novembre 2005 Séminaire 5IF 76
Principes de précaution pour RSA
p et q doivent être grand ( 100 chiffres
décimaux)
p-q doit être grand (méthode de
factorisation de Fermat)
p ± 1 et q ± 1 doivent avoir un grand
facteur premier chacun ( 100 bits)
D’autres conditions,…
Novembre 2005 Séminaire 5IF 77
Car
On a des algorithmes pour faciliter la
factorisation des grands nombres
Méthode de Fermat
Crible quadratique, sur corps premiers,…
Méthode « rho » de Pollard,…
Novembre 2005 Séminaire 5IF 78
Factorisation des nombres RSA
Record de Factorisation depuis 1970
années 70 83 86 89 90 93 96 99 03
Nombre de 39 50 80 100 116 120 130 155 160
décimaux
Nouveau record en 2005 : RSA-200 digits (663 bits)
RSA-200 =
2799783391122132787082946763872260162107044678695542853756000992932612
8400107609345671052955360856061822351910951365788637105954482006576775
098580557613579098734950144178863178946295187237869221823983
=
3532461934402770121272604978198464368671197400197625023649303468776121253
679423200058547956528088349
X
7925869954478333033347085841480059687737975857364219960734330341455767872
818152135381409304740185467
Novembre 2005 Séminaire 5IF 79
Chausse-trappe
Même message avec l’exposant public 3
vers trois destinataires :
c1=m3 mod n1
c2=m3 mod n2
c3=m3 mod n3
=>Calcul de m3 par calcul de la racine
cubique modulo n1n2n3
Novembre 2005 Séminaire 5IF 80
Principe de El Gamal
Repose sur le problème du log discret :
Soit p un grand nombre premier et g une racine
primitive modulo p, il s’agit de retrouver a
connaissant A et g /
ga = A mod p avec 0 ≤ a ≤ p-2
Aussi difficile que la factorisation
Novembre 2005 Séminaire 5IF 81
Le cryptosystème El Gamal
On choisit p premier (public) et g (public)
La clé publique d’Alice est y=gx / clé secrète x
Bob veut envoyer un message m à Alice :
Il tire un aléa r
Calcule yr
Transmet (A=myr, B=gr)
Alice déchiffre
Bx = gxr = (gx)r = yr
Calcule A(yr)-1 = m
Novembre 2005 Séminaire 5IF 82
Recommandations
Ne pas utiliser deux fois le même nombre
aléatoire r
p-1 doit avoir un grand facteur premier
p doit être grand (pareil que pour RSA)
> 512 bits
On recommande 768 ou 1024 bits
Novembre 2005 Séminaire 5IF 83
Record de calcul de log discret
Thursday, September 22nd, 2005.
We are pleased to announce a new record for the discrete logarithm
problem over GF(2^n). Using the function field sieve of Adleman [Ad94],
we were able to compute discrete logarithms for 607 bits and 613 bits
prime. The first computation gives an interesting comparison between
the function field sieve and Coppersmith's algorithm since the same field
finite was already addressed by Thome using the later algorithm.
The two computations were done using different computers. For the first
one, we used a single 1.15GHz 16-processors HP AlphaServer
GS1280 computer during one month. For the second one, we used
four 16-processors nodes of the itanium 2 based Bull computer
Teranova during 17 days (1.3GHz CPUs).
Novembre 2005 Séminaire 5IF 84
Autres cryptosystèmes à clé
publique
Cryptosystèmes basés sur les codes
correcteurs (Mac Eliece)
Cryptosystèmes utilisant les courbes
elliptiques
Courbes définies par :
P=(x,y) / y2=x3- 27 c4x
- 54c6
(courbe de Weierstrass)
Novembre 2005 Séminaire 5IF 85
Protocoles hybrides
Cryptographie asymétrique pour transmettre des
clés symétriques Ksym
Cryptographie symétrique pour chiffrer
Alice Bob
RSAKPB(Ksym) =
Choisit Ksym KpB
Communication
chiffrée avec AESKsym
Tunnel chiffré
Novembre 2005 Séminaire 5IF 86
Se généralise à plusieurs
destinataires
Alice Bob
Transmet
Choisit Ksym
K1 ||K2 ||K3
Calcule :
K1=EKpB(Ksym) Charlie
K2=EKpC(Ksym)
K3=EKpD(Ksym)
Clé commune : Ksym Daphné
Novembre 2005 Séminaire 5IF 87
Ce qu’il reste à voir !
Signature / authentification
Identification
Quelques protocoles
La certification : comment garantir
l’authentification
Novembre 2005 Séminaire 5IF 88
Signatures
Sur chacun des cryptosystèmes
précédents, on peut construire des
schémas de signatures
En faisant évidemment attention !
Novembre 2005 Séminaire 5IF 89
Signatures : principe général
Annuaire clé
m publique
KpA
Alice
Bob
Signature : (m, SignKsA(m))
Bob vérifie si
SignAlice=SignKsA(m) m?=Sign-1KpA(Sign))
A cause de Charlie qui pourrait changer m en m’,
on signe HASH(m) pour garantir l’intégrité du message
Novembre 2005 Séminaire 5IF 90
Propriétés d’une signature S
S ne peut être contrefait
S n’ai pas réutilisable
Un message signé est inaltérable
La signature S ne peut être renié
⇒ Sur support électronique, S doit dépendre du
message M sinon copie et réemploi
Signer n’est pas chiffrer !
Novembre 2005 Séminaire 5IF 91
Signature RSA
Publique : n et e, Secret : exposant Alice d
Alice signe le message m en calculant :
S=md mod n
Bob vérifie en calculant : m=Se mod n
Performance : quelques centaines de
signature par seconde
Novembre 2005 Séminaire 5IF 92
Problème ?
Fraude existentielle : s aléatoire alors m=se mod
n => (m,s) couple (message,signature) valide !
D’autres fraudes…
Solution ajouter de la redondance (un condensé
de m à la fin)
=> norme ISO-9796
Mais pas encore sûr de sa solidité…
Novembre 2005 Séminaire 5IF 93
Signer M avec El Gamal
Publique : p premier et g générateur
Secret de Alice x et publie : y=gx mod p
Alice tire au hasard r
Calcul de a=gr mod p
Calcul b / M=ax+rb mod p
Transmission de (M,a,b)
Bob vérifie que yaab=gM mod p
Sûr mais Problème : très lent !
Novembre 2005 Séminaire 5IF 94
Signature sûre Digital Signature
Scheme (anciennement DSA) (1/2)
Public :
q premier (160 bits)
p=1 mod q (premier de 512 +64.t bits)
g / gq = 1 mod p
Alice :
secret :a
public : A=ga mod p
Novembre 2005 Séminaire 5IF 95
Digital Signature Scheme (2/2)
Alice choisit au hasard k
Calcule K=(gk mod p) mod q
Calcule s=(HASH(m)+aK)k-1 mod q
Transmet (m, K, s)
Bob vérifie :
1≤ K,s ≤ q ?
-1 -1
(AK.s gHASH(m).s mod p) mod q ?= K
HASH = SHA1
Novembre 2005 Séminaire 5IF 96
Problème encore !
Ce processus reste très lent pour un message long.
C’est pour cela que dans la version présentée, on signe
un haché du message m et pas le message dans son
entier ! C’est ce qui se passe dans la vraie vie
Il existe une version plus rapide de cette signature
appelée EC - DSA qui utilise les courbes elliptiques.
Novembre 2005 Séminaire 5IF 97
Identification
Vue dans le cas de la clé symétrique
appelé protocole à une passe
En cryptographie asymétrique, protocoles
à deux passes ou plus
Novembre 2005 Séminaire 5IF 98
Protocoles par challenge (1/2)
Par signature :
Alice Bob
r
Choisit une aléa r
Alice calcule S signature valide de r ?
S
avec sa clé
secrète Vérification avec clé
S=SignKSA(r) publique d’Alice
Novembre 2005 Séminaire 5IF 99
Protocoles par challenge (2/2)
Par déchiffrement :
Alice Bob
C= EncKPA(r)
Choisit un aléa r
Le chiffre avec la clé
publique d’Alice
Alice
r’
déchiffre r
r’ ?= r
r’ = Dec(C)
Novembre 2005 Séminaire 5IF 100
Protocoles sans divulgation de
connaissances
Un exemple : protocole de Shnorr (ElGamal)
Publique : p et q premiers / q | p-1, et g
Alice : secret a / Publique : A = g-a mod p
Alice
Choisit k et calcule Bob
K
K=gk mod p
Choisit un aléa r
r
Alice calcule y
gyAr ?= K (mod p)
y=k+ar mod q
Novembre 2005 Séminaire 5IF 101
D’autres protocoles de ce type
Fondé sur RSA => Guillou-Quisquater
Fiat-Shamir
Okamoto
=> permet de créer des protocoles
d’identification
Novembre 2005 Séminaire 5IF 102
Protocoles d’échange de clés
Le plus connu : Diffie Hellman qui permet
de générer un secret commun (clé)
Repose sur le problème suivant :
Si p et g sont publiques
Etant donné A=gx mod p et B=gy mod p, x et y
inconnus, calculer gxy mod p.
Novembre 2005 Séminaire 5IF 103
Protocole Diffie Hellman
Publique : p premier, g racine primitive mod p
Alice Bob
Choisit a au hasard A
Choisit b au hasard
Calcule A=ga mod p
B Calcule B=gb mod p
Calcule C=Ba mod p Calcule C=Ab mod p
Secret commun C
Novembre 2005 Séminaire 5IF 104
Protocole Diffie-Hellman (2/2)
Se généralise à plusieurs utilisateurs : création de clé de
groupe
r3 gr3
m3 <g> gr1r2
<g> (gr1r2,gr1r3) m1
r1 gr1r3
m2 gr2
<g> r2
K = gr1 gr1r3 gr1r2
Utilisation moderne : réseau ad hoc, peer to peer,…
Novembre 2005 Séminaire 5IF 105
Applications de la cryptographie
Vient de voir
Principaux algorithmes en clé symétrique
Principaux algorithmes en clé asymétrique
Principaux protocoles
S’intéresser à leurs utilisations
Novembre 2005 Séminaire 5IF 106
La certification(1/2)
Pourquoi a-t-on besoin d’une certification ?
Charlie
KPA KPC
Alice Bob
Charlie
EncKPA(m’) EncKPC(m)
Alice Bob
Novembre 2005 Séminaire 5IF 107
La certification (2/2)
Garantir que la clé publique d’Alice est
bien la clé publique d’Alice
=> Garantir l’authentification
Annuaire de clés publiques garanti par
une autorité qui signe l’identité d’Alice et la
clé publique de Alice
Novembre 2005 Séminaire 5IF 108
Certificats X.509 (1/2)
Les certificats sont émis par des autorités de certification
(CA)
Le certificat d’Alice contient les champs suivants :
CA<A> = (SN,AI,ICA,IA,Ap,tA,SCA(SN,AI,ICA,IA,Ap,tA));
SN : numéro de série
AI : identification de l’algorithme de signature Signature de l’Id
ICA,IA : « distinguished names » de CA et de Alice d’Alice par le CA
Ap : clé publique de Alice
tA : période de validité du certificat
Novembre 2005 Séminaire 5IF 109
Certificats X.509 (2/2)
La production du certificat d’Alice
nécessite une communication sécurisée
entre Alice et le CA
Alice peut se présenter physiquement au
CA
Novembre 2005 Séminaire 5IF 110
Exemple : Certificat X.509 de la
Fnac (1/4)
Présentation du
certificat
Construction d’une
connexion chiffrée après
vérification du certificat
Novembre 2005 Séminaire 5IF 111
Exemple : Certificat X.509 de la
Fnac (2/4)
Certificat lui-
même
Valeur des hachés du
certificat (vérification intégrité)
Novembre 2005 Séminaire 5IF 112
Exemple : Certificat X.509 de la
Fnac (3/4)
Information sur
l’émetteur :
Ici VeriSign
⇒ Tous les détails sont
donnés ici :
Clé publique,valeur de
la signature,…
Novembre 2005 Séminaire 5IF 113
Exemple : Certificat X.509 de la
Fnac (4/4)
Liste des
autorités de
cerfications
Novembre 2005 Séminaire 5IF 114
Chemin de certification (1/2)
Pour être sûr de la clé publique d’Alice, Bob veut vérifier
le certificat d’Alice qu’il a obtenu depuis LDAP (par
exemple)
On suppose que ce certificat a été produit par CA1
inconnu de Bob
Bob obtient pour CA1 un certificat vérifié par CA2,…
Jusqu’à un CA reconnu par Bob
Ceci = chemin de certification
X509 v3 : autorise un chemin de certification de taille 10
Novembre 2005 Séminaire 5IF 115
Chemin de certification (2/2)
USA = CA de l’Europe
Bob
reconnaît la
certification
CE = CA de l’INRIA des USA
donc la clé
d’Alice est
INRIA CA de Alice garantie pour
Bob
Alice Clé publique d’Alice Bob
Novembre 2005 Séminaire 5IF 116
Conclusion partielle
Clé publique lent mais permet de garantir
Chiffrement sans échange de clé préalable
La Signature
L’identification
L’authentification par certification
Permet d’échanger une clé symétrique partagée
Clé symétrique
Rapide pour le chiffrement
Garantit l’intégrité (fonction de hachage)
Novembre 2005 Séminaire 5IF 117
En pratique
La cryptographie est une « boite à outils »
Il suffit de l’utiliser correctement
Quelques applications :
OpenSSL
SSH et ses dérivés
PGP et le « Web of Trust »
PKI et exemples d’utilisation
Novembre 2005 Séminaire 5IF 118
Schéma habituel d’utilisation
Authentification par certification
Envoie de (KPA, signCA(hash(KPA))
Client Serveur
Authentification par certification
Alice vérifie Bob vérifie auprès
auprès du CA Envoie de (KPB, signCA(hash(KPB)) du CA l’Identité
l’identité de Bob d’Alice
Envoie le choix de l’algo et Choisit un algo
la clé K chiffrée avec KPA symétrique et une clé K
et signé avec KSB
(chiffKPA(K), signKSB(hash chiffKPA(K)))
Tunnel sécurisé
Novembre 2005 Séminaire 5IF 119
OpenSSL : généralités
SSL : Secure Socket Layer
Développée par Netscape pour que les applications
client/serveur communiquent de façon sécurisé
TLS : évolution de SSL réalisé par l’IETF
SSL v3 supporté par Netscape et IE
Protocole de sécurisation TCP/IP qui opère au niveau session
du modèle OSI
Opère au dessus du protocole de transport (niveau 4) de
données fiable (TCP – RFC 793)
Deux temps :
Une poignée de main (handshake) identification client/serveur (par
certificats X.509) avec définition du système de chiffrement et d’une
clé pour la suite.
Phase de communication : les données échangées sont
compressées, chiffrées et signées.
Novembre 2005 Séminaire 5IF 120
OpenSSL : sécurité
OpenSSL : date de 98, 60.000 lignes de C
Boite à outils cryptographiques implémentant SSLv2 et v3 et TLSv1 (RFC
2246)
Nombreuses applications : openssh, Apache, idx-pki, stunnel
Garantit :
Authentification (peut être mutuelle) certificat X.509
Authenticité et confidentialité des données (sans non-répudiation)
Standards cryptographiques supportés dans ssl et tls
Algorithmes symétriques : DES, 3DES,… dans plusieurs modes
Asymétriques : RSA, DSA,…
Echange de clés : Diffie Hellman
Certificats X.509
Standards PKCS (Public Key Cryptographic Standard) : PKCS#1,…, PKCS#12
Fonctions de Hachage : MD4, MD5, SHA-1,…
Novembre 2005 Séminaire 5IF 121
OpenSSL : mise en oeuvre
Permet aussi
Réalisation de tests clients/serveurs SSL/TLS
Signature et chiffrement de courrier (S/MIME)
Deux bibliothèques
Bibliothèque SSL/TLS (libssl.a)
Bibliothèque cryptographique (libcrypto.a)
Suite d’applications en ligne de commande
Intégration à de multiples langages
PHP, Perl, Ruby,…
Novembre 2005 Séminaire 5IF 122
OpenSSL en lignes de commande
Chiffrement symétrique :
Exemple de chiffrements possibles :
Novembre 2005 Séminaire 5IF 123
OpenSSL : le format PEM
Format spécifique qui chiffre les clés secrètes en
les protégeant par mot de passe
Mot de passe
Chiffrement
utilisé
Clé privée
RSA chiffrée
Novembre 2005 Séminaire 5IF 124
OpenSSL en lignes de commande
RSA :
Génération d’une paire de
clé
Module n
Exposant public e
Exposant privé d
p et q / n=pq
Autres commandes
chiffret/déchiffret
Exportation clé public
Novembre 2005 Séminaire 5IF 125
OpenSSL : signature
Création de
On signe l’empreinte l’empreinte
d’un document : par sha1
Signature de l’empreinte
Novembre 2005 Séminaire 5IF 126
OpenSSL : création de certificat
Génération du certificat
En .pem =>
Novembre 2005 Séminaire 5IF 127
OpenSSL : le certificat lisible
Novembre 2005 Séminaire 5IF 128
OpenSSL : applications spécifiques
Protocole de vérification de certificats en ligne
Applications spécifiques :
Client/serveurSSL/TLS : s_client, s_server
Manipulation de fichiers au format s/MIME
Manipulation de fichiers au format PKCS#12
Enveloppe autour des certificats X.509 pour lier certificats et
clés
Novembre 2005 Séminaire 5IF 129
OpenSSL : licence et conclusion
Licence spécifique OpenSSL proche de la GPL
Projet similaire sous licence GPL
GnuTLS : protocole SSLv3 et TLS
Mozilla NSS : protocole SSLv3 et TLS
Plus d’infos : http://www.openssl.org/
Permet de sécuriser le protocole http mais aussi des
connexions ftp, pop, imap,…
Novembre 2005 Séminaire 5IF 130
SSH : Secure Shell (1/4)
Authentification
Coté client : par mot de passe ou par clé publique RSA
ou DSA (ssh v2)
Coté serveur : Authentification par clef publique
(RSA/DSA)
Transmise au client à la première session
Sauvegardée par le client
Novembre 2005 Séminaire 5IF 131
SSH et ses dérivées (2/4)
Connexion TCP sur port 22
client
Ouverture de session ssh
Authentification du serveur au niveau applicatif
par sa clé publique serveur
Ajout de la clé publique du client dans les clés
autorisées par le serveur
K Décide quel algorithme de chiffrement K
symétrique va être utilisé puis le serveur envoie
la clé secrète partagée chiffrée au client
(chiffKPA(K), signKSB(hash chiffKPA(K)))
Tunnel sécurisé
Novembre 2005 Séminaire 5IF 132
Les dérivées (3/4)
Une fois le tunnel sécurisé établi :
Commandes normales en shell :copy,…
Permet également la communication entre des
serveurs
Peut remplacer telnet, rlogin,…
Extensions : sftp,…
Novembre 2005 Séminaire 5IF 133
SSH et ses dérivés (4/4)
Problèmes d’attaques :
DNS spoofing
Attaque de type man in the middle qui se fait passer
pour celui qu’il n’est pas
Vient toujours du même problème :
La clé publique n’est pas garantie par un tiers de
confiance !
Ou utilisation de mécanismes « hors bande »,
rencontre physique par exemple
Novembre 2005 Séminaire 5IF 134
PGP et le « Web of trust »
PGP = Pretty good privacy sous licence GPL
(jusqu’à la version 2.x)
Cryptosystème hybride permettant l’échange de
données chiffrées/authentifiées
Cryptographiesymétrique pour chiffrer
Asymétrique pour signature et transport de clé de
session
Novembre 2005 Séminaire 5IF 135
PGP et le « Web of trust »
Authentification repose sur
l’anneau de confiance : web of
trust
L’authenticité d’une clé
publique est prouvée de
proche en proche
Adaptée au communautés pas
à grande échelle !
Fondée sur la notion de COI «
Community of interest »
Exemple : le « Debian Keyring Principe : je signe avec ma clé
Web of Trust » secrète la clé publique des
personnes dont je suis sûre
Novembre 2005 Séminaire 5IF 136
Versions et algorithmes utilisés
Feature PGP 2.x (RFC OpenPGP (RFC 2440) PGP 9.0
1991)
Format clé V3 keys V4 keys V9 keys
Asymmetric RSA (encryption & RSA (encryption & RSA (encryption &
algorithms signature) signature) signature)
*DSA (signature) Diffie-Hellman/DSS
*Elgamal (encryption) (encryption & sign)
Symmetric IDEA IDEA AES (cipher)
algorithms *Triple-DES IDEA
CAST5 Triple-DES
Blowfish (cipher) CAST5
SAFER-SK128 Blowfish (cipher)
Hash algorithms MD5 MD2, MD5 MD5, RIPEMD-160
RIPEMD-160, SHA-1 SHA-1, SHA-256
SHA-384, SHA-512
Compression alg. ZIP ZIP, zlib ZIP, BZip2, zlib
Novembre 2005 Séminaire 5IF 137
Distribution de paire de clés
Généré par vous-même
Ou serveur de clés et serveur référencent les clés
http://wwwkeys.pgp.net
Recherche sur une chaine de caractères, un nom,…
Je donne ma clé publique à mes amis qui la signe
si il me font confiance
Par exemple lors d’une « GnuPG Keysigning party »
Novembre 2005 Séminaire 5IF 138
PGP : création et envoi de clés
Création d’une paire de clé
Envoi de la clé publique ou publication sur le net
De même, on peut importer la clé publique de
quelqu’un avec son empreinte
Novembre 2005 Séminaire 5IF 139
PGP
On peut chiffrer ses messages, les certifier
(RSA), construire des certificats, chiffrer (clé
secrète), signer les clés publiques des autres,…
Je signe avec ma clé privé le haché de mon
message (intégrité) -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
…message…
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFDOFB+dwFvtd4oNA0RAoTGAKCKT
4iQaIbCAqNXkW8WeaLXyaTw1gCePxlFOBGf
90NCJqooWZJj7LTVr24==jh7d
-----END PGP SIGNATURE-----
Novembre 2005 Séminaire 5IF 140
https
Rappel : http : HyperText Transfert Protocol
protocole client-serveur développé pour le Web.
utilisé pour transférer les documents (HTML, etc.) entre le
serveur HTTP et le navigateur Web lorsqu'un visiteur consulte
un site Web.
Port 80
https : variante sécurisée de http avec les protocoles
SSL ou TLS
Authentification du client et du serveur
Permet de chiffrer la communication (commerce électronique)
port 443
sous IE sous Mozilla
Novembre 2005 Séminaire 5IF 141
https : authentification
Authentification du serveur : certificat X.509
Authentification du client par certificat X.509 (TLS)
PKCS#12 pour importer le certificat (TLS seulement)
Suivi de session authentifiée + gestions par le serveur des autorisations
(selon pays, horaires,…)
Puis choix par le serveur d’un algorithme de chiffrement à clé secrète et par
le client d’une clé K transmise à l’aide de la clé publique du serveur
Configuration:
Exemple :serveur Apache + Mod_SSL
openSSL pour la génération des certificats
Novembre 2005 Séminaire 5IF 142
https
Quelques limitations :
Notamment entre ssl/tls et http/1.1
Hébergement de plusieurs sites sur une même instance de
serveur web
Problème de validation de certificat (entre le nom de
domaine FQDN et le nom donné dans le certificat)
Peuvent être réparées :
Avec l’utilisation d’hôtes virtuels par adresse IP
Ou d’hôtes virtuels par nom
Novembre 2005 Séminaire 5IF 143
IP-Sec : introduction
Internet Security protocol, intégré à IPv6
Objectifs : sécuriser les trames IP :
Confidentialité des données et protection partielle contre l'analyse du trafic
Authentification des données et contrôle d'accès continu
Protection contre le rejeu
Principe :
ajout de champs d’authentification dans l’en-tête IP
chiffrement des données
Avantage : sécurisation niveau réseau
Inconvénients : coût, interfaces avec les autres protocoles à
standardiser
Novembre 2005 Séminaire 5IF 144
IP-Sec : les algos utilisés
IP-Sec s’appuie sur différents protocoles et
algorithmes en fonction du niveau de sécurité
souhaité :
Authentification par signature électronique à clé
publique (RSA).
Contrôle de l’intégrité par fonction de hachage
(MD5).
Confidentialité par l’intermédiaire d’algorithmes
symétriques, tels que DES, 3DES ou IDEA.
Novembre 2005 Séminaire 5IF 145
IP-Sec
Fonctionne avec deux protocoles possibles :
AH (juste authentificat°) ESP (chiffrement)
Deux modes possibles d’utilisation avec les deux :
Transport
Tunnel
Novembre 2005 Séminaire 5IF 146
IP-Sec : mode tunnel avec AH
Avec juste AH
(authentification)
Novembre 2005 Séminaire 5IF 147
IP-Sec : mode tunnel avec ESP
Avec ESP
(chiffrement des
données)
Novembre 2005 Séminaire 5IF 148
IP-Sec : échange de clés
Utilisation de IKE : Internet Key Exchange
Permet à deux points donnés de définir leur «
association » de sécurité (algorithmes,…)
ainsi que les clés et les secrets qui seront
utilisés.
utilise ISAKMP (Internet Security Association
Key Management Protocol)
Novembre 2005 Séminaire 5IF 149
IP-Sec : les problèmes
Le rapport « charge totale/ charge utile » augmente.
Paquet d’origine Header IP TCP DATA
Mode Tunnel Nouveau header IP IPSec Header IP TCP DATA
Coût en terme de temps supplémentaire engendré par
tous les calculs que nécessite
MD5 (hachage pour l’intégrité)
3DES (algorithme symétrique pour confidentialité)
RSA (authentification par signature à clé publique)
Novembre 2005 Séminaire 5IF 150
Les VPNs : Virtual private networks
Interconnection par tunnel de
LAN disséminés
Mobilité des utilisateurs
Les utilisateurs peuvent se
connecter par modem et accéder
au VPN qui leur alloue une adresse
IP
Types de VLAN
ensemble de ports/segments
ensemble d’adresses MAC (niveau 2)
sous-réseau protocolaire (IP) (niveau
3)
réseau fondé sur des règles
Novembre 2005 Séminaire 5IF 151
VPNs : autres avantages
IP-Sec est à ce jour le protocole le plus utilisé dans les VPNs avec
PPTP (Point to point Tunneling Protocol)
Les paquets sont chiffrés quand ils quittent un LAN et déchiffrer
quand ils entrent dans un autre LAN
Garantie de sécurité et d’isolation
Chiffrement, intégrité, authentification
Avantages
transparence
securité
coût
Accessible depuis internet
Novembre 2005 Séminaire 5IF 152
IPsec et VPN
IPSec mode transport: En mode transport, la session IPSec est
établie entre deux hosts
Avantage: la session est sécurisée de bout en bout
Inconvénient: nécessité d’une implémentation de IPSec sur tous les
hosts; autant de sessions IPSec que de couples de hosts
IPSec mode tunnel: En mode tunnel, la session IPSec est établie
entre deux passerelles IPSec, ou un host et une passerelle
Avantage: l’ensemble des communications traversant les passerelles
VPN peuvent être sécurisées; pas de modification des hosts
Inconvénient: nécessite des passerelles VPN
P rint S erver Print Server
Power/T X Link/Rx L PT 1 LP T2 COM P ower/TX Link/Rx LPT1 LPT 2 COM
Novembre 2005 Séminaire 5IF 153
IPsec et VPNs : conclusion
Aujourd’hui, l’utilisation d’un VPN est la manière la plus
fiable de sécuriser un réseau wireless
=> C’est aussi la méthode la plus utilisée
Mais il faut savoir que les performances vont diminuer
(significativement) : Bande passante diminuée de 30%
en moyenne.
Tous les LANs doivent être sécurisés pour obtenir une
sécurité globale
Novembre 2005 Séminaire 5IF 154
Les cartes à puce
Fonctionnement
Terminal de lecture de carte
Commande APDU
Alice possède une
carte à puce liée à elle
par une ID (ex.: un Central de
code PIN) gestion
software
Novembre 2005 Séminaire 5IF 155
Les cartes à puce
Architecture :
CPU: 8, 16 & 32 bits
Mémoire :
Max
RAM : => 5 Ko
25 mm²
EEPROM/Flash : => 64 Ko
ROM : => 208 Ko
Cellulecryptographique (DES, AES, RSA) et
générateur de nb al.
Détecteur de sécurité, registres, timer, IO interface,…
Novembre 2005 Séminaire 5IF 156
Une carte Gemplus
Novembre 2005 Séminaire 5IF 157
Différentes cartes
Algorithmes de chiffrement implémentés différents selon les cartes
Carte de téléphone : compteur et algorithmes propriétaires inconnus
Carte SIM de téléphone portable : un MAC pour authentification
…
Règle générale cependant :
Possède tous :
Une fonction de hashage : SHA-1 (intégrité)
Un algorithme de chiffrement : 3DES, AES,… (confidentialité)
RSA (chiffrement asymétrique)
DSA ou ECDSA (signature électronique)
Novembre 2005 Séminaire 5IF 158
Utilisation de la cryptographie dans
une carte de paiement :
Principe de l’échange électronique :
Le code PIN entré par l’utilisateur permet de
L’authentifier
Libérer les droits de lecture contenus dans la carte
Le lecteur (de cartes) vérifie que la carte n’est pas blacklister
Le lecteur authentifie la carte (3-DES)
La carte authentifie le lecteur
Le lecteur enlève le montant de façon sûre (MAC) au compte
Et il augmente de façon sûre (MAC) le compte du commercant
Novembre 2005 Séminaire 5IF 159
Les attaques physiques sur les clés
contenues dans les cartes
Principe :
Dépackager la carte
Puis accéder aux différents niveaux du composants
Accéder aux informations
Contenu dans la mémoire ou les bus
Reconstituer l’architecture du composant
Mémoire, bus, adresses,…
Puis, attaque,…
Novembre 2005 Séminaire 5IF 160
Attaques par canaux cachés
Fuite d’information
Novembre 2005 Séminaire 5IF 161
Attaques par canaux cachés
Plusieurs types :
Timing attack : le temps utilisé dépend du
secret
Power Analysis Attack : attaque par mesure
de courant
SPA (Simple), DPA (différentiel)
FaultAttack : attaque par injection de fautes
Attaque par champs électromagnétiques
Novembre 2005 Séminaire 5IF 162
Timing Attack :
Principe : introduit en 96 par P. Kocher et mise en pratique en 98
Réalisation pratique :
Des secrets sont contenus dans la carte
Quand ils sont utilisés, le temps d’éxécution dépend
De la valeur du secret
Fait fuir de l’information sur le secret
Peut être mesuré
Conditions d’attaques réelles :
Pouvoir monitorer un temps d’éxécution utilisant le secret
Avoir des outils de calculs et des outils statistiques de base
Connaître au moins en partie l’implémentation sur la carte
Exemple : attaque sur la vérification d’un code PIN par une carte
(possède un algorithme Verif_PIN pour cela)
Novembre 2005 Séminaire 5IF 163
Power Analysis :
Plusieurs types : SPA, DPA,…
Principe :
Même chose que timing attack sauf que ici, on
regarde la consommation de courant
On déduit statistiquement de l’information sur le
secret :
consommation puissance =f(algo,données,secret)
Part de reverse ingenieering pour trouver
L’algorithme utilisé
La structure de l’algorithme
Novembre 2005 Séminaire 5IF 164
Matériel utilisé :
Analyse des résultats
Lecture des résultats
5V
Mesure de courant
Novembre 2005 Séminaire 5IF 165
Exemple : consommation du DES
D’après NEC &
Princeton :
D’après Cryptography
research :
Novembre 2005 Séminaire 5IF 166
DPA : Differential Power Analysis
Même principe mais plus complexe que SPA
Mise en œuvre de tests statistiques
Principe :
On chiffre n messages choisis (entre 500 et 10000) pour une clé
fixe
Pour chaque messages, on collecte un certain nombre
d’informations sur le chiffrement et sur le chiffré
On introduit une hypothèse sur la clé que l’on teste
=> Accès physique à la carte pendant l’attaque
Novembre 2005 Séminaire 5IF 167
DPA : exemple (1/2)
Sur le DES (par exemple) :
On choisit un « bout » de la clé
On fait une hypothèse sur la valeur de ce bout de clé
=> On teste si cette hypothèse est bonne en faisant
un test statistique sur les données collectées
Si l’hypothèse sur la clé est bonne : pic
Sinon pas de pic
On choisit un autre « bout » de la clé et on
recommence avec un test statistique
Jusqu’à obtenir toute la clé
Novembre 2005 Séminaire 5IF 168
DPA : exemple pratique (2/2)
Sur le DES :
référence
Hypothèse vraie
Hypothèse fausse
Hypothèse fausse
Novembre 2005 Séminaire 5IF 169
FA : Fault Attack
Injection de faute sur la carte
Intérêt particulier des industriels : car une faute peut
se produire réellement et involontairement
=> Création de protection contre cela ou pour détecter
la faute (redondance,…)
Variante : la DFA => injection de faute
particulière qui permettent d’obtenir de
l’information sur les secrets.
Novembre 2005 Séminaire 5IF 170
Contre-mesures possibles
produit
recherche
recherche
Contre les Timing Attacks :
Gérer tous les octets à tous les temps
Chiffrement dynamique du code PIN
Contre les Power Analysis
Amélioration du code des algo. attaques
Structure du code
contre-mesures
Cacher les données
Amélioration de l’implémentation recherche
Faire disparaitre la conduite électrique par
désynchronisation, utilisation d’un cryptoprocesseur (bus chiffré),...
Contre les Fault attacks :
Mécanismes de sécurité dédiés (senseurs,...)
Contre Mesures sur le software
Sur les algorithmes ou sur le stockage du secret
Novembre 2005 Séminaire 5IF 171
PKI : Public Key Infrastructure
But : distribution de clé publique avec sécurité et gestion
de certificats
Principe général et fonction :
Enregistrement de demandes et de vérifications des critères
pour l’attribution d’un certificat
Id du demandeur vérifier
Possession de la clé secrète associée
Création des certificats
Diffusion des certificats avec publication des clés publiques
Novembre 2005 Séminaire 5IF 172
PKI : Public Key Infrastructure
Archivage des certificats pour suivi de sécurité et de pérennité
Renouvellement des certificats
Suspension de certificats (pas de standard, peu aisé à mettre en
œuvre,surtout administrative)
Révocation de certificat sur date, perte, vol ou compromission
des clés
Création et gestion des listes de révocation des certificats
Délégation de pouvoir à d’autres entités reconnues de confiance
Novembre 2005 Séminaire 5IF 173
Principaux problèmes
Suspension de certificats : pas de standard
Création et publication des listes de révocation
des certificats
Pas de standard pour révocation automatique
Moyens administratifs : implémentés de façon
sécurisée
Le propriétaire de la clé doit prouver que sa clé est
inutilisable
Novembre 2005 Séminaire 5IF 174
Problème de gestion !
Listes de révocations doivent
Être protégées pour ne pas être corrompues
Être accessibles en permanence et à jour
=> synchronisation des horloges de toutes les pers.
concernées
Listes de révocations peuvent être très grande
Exemple : paiement des impôts par Internet
Maintenues en permanence
Enorme base de données, accessible à tout instant !
Novembre 2005 Séminaire 5IF 175
À Titre de comparaison
Comme une carte d’identité national
Preuve de l’identité quand création de la carte
Unique, liée à une identité et non falsifiable
Déclaration en préfecture quand vol ou perte
afin d’en obtenir une autre et pour ne pas qu’il
y est une mauvaise utilisation de la disparue
Novembre 2005 Séminaire 5IF 176
Conclusion PKI
Important :
Étude de faisabilité préalable pour estimer
Besoins (matériels) selon le nombre de personnes
concernées
La validation par des organismes de confiance
Le déploiement
Un exemple : les impôts
http://www.ir.dgi.minefi.gouv.fr/
Plus d’informations : http://www.ssi.gouv.fr/
Novembre 2005 Séminaire 5IF 177
Bluetooth et les téléphones
portables
Novembre 2005 Séminaire 5IF 178
Bluetooth : introduction
Protocole de communications
sans-fil courtes distances
déployé depuis plusieurs
années dans téléphones
mobiles, ordinateurs portables,
GPS, routeurs, imprimantes,
appareils photos, etc.
Il fonctionne dans la gamme des
2.4GHz tout comme 802.11.
79 canaux Bluetooth
http://www.secuobs.com/news/05022006
-bluetooth1.shtml
Novembre 2005 Séminaire 5IF 179
Bluetooth : réseau
Un périphérique Bluetooth maître peut
communiquer avec 7 autres périphériques
esclaves au maximum.
=>"réseau" = Piconet
Scatternet
= interconnexion de Piconets, grâce à des
"routeurs".
Nb max de Piconets = 10
Novembre 2005 Séminaire 5IF 180
Bluetooth : sécurité (1/4)
PB actuel : augmentation de la distance de
communication.
Exemple : Se rendre dans un lieu relativement fréquenté avec
un scanner Bluetooth
=> risques encourus d'avoir un équipement Bluetooth activé
dans sa poche.
Pb possibles par compromission Bluetooth : déni de service,
récupération du carnet d'adresses, consultation des derniers
appels, lecture des SMS,…
Etablissement d'un appel ou d'une connexion Internet.
Novembre 2005 Séminaire 5IF 181
Bluetooth : sécurité (2/4)
3 modes de sécurité Bluetooth :
Mode 1 : Pas de mécanisme de sécurité
Mode 2 : Sécurité assurée au niveau applicatif
Mode 3 : Sécurité assurée au niveau liaison de données
Un équipement Bluetooth est caractérisé principalement par :
Son adresse BT (BD_ADDR), = une adresse MAC
Code PIN = optionnel
Sa classe, propre au type de périphérique : oreillette Bluetooth,
téléphone mobile
Presque toute la sécurité = implémentation matérielle.
Interface avec l'OS = via le protocole HCI
Novembre 2005 Séminaire 5IF 182
Bluetooth : sécurité (3/4)
Sécurité dans la couche gestionnaire de liaisons
(GL)
Système de gestion de clés propriétaires
Assure :
l'authentification,
le pairage,
la création et la modification des clés,
Le chiffrement
Novembre 2005 Séminaire 5IF 183
Bluetooth : sécurité (4/4)
Algorithmes de cryptographie utilisés :
E0 : chiffrement à flot => sert au chiffrement
Génération des clés à l’aide de trois algorithmes : E22, E21 et
E3
Authentification : algorithme E3
Intégrité : algorithme SAFER+ (chiffrement par blocs)
Les problèmes cryptographiques :
attaque contre le chiffrement E0 et le mode particulier utilisé dans
Bluetooth en 240 avec 235 frames
Si pas de code PIN, pas d’authentification de l’utilisateur
Le code PIN doit être partagé !
Problème de longueur de clés fonction de la législation des pays
Novembre 2005 Séminaire 5IF 184
Bluetooth : Les couches (1/2)
HCI : assure l’abstraction matérielle
= Interface entre l’OS et le firmware Bluetoothe
Gère notamment la découverte des équipements distants
L2CAP = équivalent d'un protocole d'accès au média
propre à Bluetooth
multiplexe des protocoles de couches supérieures
(RFCOMM par exemple)
via des canaux appelés PSM (Protocol/Service Multiplexer)
Exemple : RFCOMM (de type liaison série Bluetooth)
utilise PSM 3, SDP (Service Discovery Protocol) PSM 1
Equivalent de TCP/UDP
difficile de s'assurer pas de porte dérobée
L'outil psm_scan permet de lister les PSM accessibles
Novembre 2005 Séminaire 5IF 185
Bluetooth : Les couches (2/2)
SDP : liste les services disponibles sur un périphérique et les informations
relatives :
PSM/Ports RFCOMM
=> possible d'utiliser un service sans repertorié par le serveur SDP distant.
RFCOMM : effectue des communications de type RS232 (série) sur L2CAP en
Bluetooth
De nombreux équipements communiquent via RFCOMM :
selon l'implémentation de la pile Bluetooth, et le port RFCOMM,
une authentification de type pairing peut être requise.
OBEX = protocole d'échange d'objets
entrées de calendriers, de carnets d'adresses
simples fichiers.
=> possible d'envoyer (commande PUSH), ou de recevoir (commande PULL)
des données
OBEX fonctionne au dessus de RFCOMM
Novembre 2005 Séminaire 5IF 186
Bluetooth : différents outils
Hcitool : détection de périphérique bluetooth
l2ping : permet d'envoyer à un périphérique des paquets de niveau L2CAP
de type ECHO REQUEST, à la manière d'un ping
sdptool : permet d'effectuer différentes opérations au niveau L2CAP
requêtes directes vers les périphériques distants
configuration du serveur sdpd (ajout/suppression de services par exemple) sur la
machine locale afin de répondre aux requêtes SDP entrantes.
rfcomm : permet d'établir une communication de type RFCOMM entre 2
périphériques. => demande de création pour pairing
Novembre 2005 Séminaire 5IF 187
Bluetooth : quelques attaques (1/4)
Détection de périphériques en mode non détectable (pas de
réponse à des broadcasts)
"attaque" de bruteforce sur l'adresse Bluetooth
Plage d’adresse sur 6 octets (de 00:00:00:00:00:00 à FF:FF:FF:FF:FF:FF)
=> Tout = 11 heures
Mais attaques sur des plages plus petites (plages de constructeurs,…)
=> scan limité alors à 3 octets => une heure
Exemple d’outils : redfang, btscanner (+ fonctionnalités)
Attaque sur le pairing = Processus qui autorise la connection d’un
périphérique à un service local
Demande explicite sur le terminal distant par avertissement
Ou aucune demande => cas des codes PIN Bluetooth prédéfinis par le
constructeurs (PIN par défaut 0000, 1234,…) => attaque simple !
Novembre 2005 Séminaire 5IF 188
Bluetooth : quelques attaques (2/4)
Le pb du multi- p
airing
= autoriser plusieurs terminaux à se connecter sur le même
service
Outil : carwhisperer – ecoute du flux radio sur oreillettes + injection
via le bon port RFCOMM
BlueBug = la faille la plus lourde
Connection sur un port RFCOMM sans pairing
Accès à un ensemble de commandes particuliers
Outil : rfcomm_scan + commande AT btxml (carnet adresse)
Contrôle quasi-intégrale du téléphone !
=> compromission de données, appels,…
Novembre 2005 Séminaire 5IF 189
Bluetooth : quelques attaques (3/4)
Helomoto : outil pour attaquer les téléphones Motorola
BlueJacking : envoi d’un objet OBEX puis interruption
Attaquant devient 1 périphérique de confiance
Puis connection RFCOMM sur RFCOMM Headset sans
authentification
Puis BlueBug…
BlueSmack : blocage des périph. (crash pile ou SE) via
requête l2ping trop longue ou bcp de requêtes
Exple : PDA iPaq
D’autres : BlueSnarf,…=> Audit : Bloover II, BTBrowser,…
Novembre 2005 Séminaire 5IF 190
Bluetooth : quelques attaques (4/4)
Exemple de
www.secuobs.com :
crash de la pile
Bluetooth d’un NOKIA
N70 :
Novembre 2005 Séminaire 5IF 191
Depuis deux ans…
Pourquoi Bluetooth
Danger pour les téléphones portables !
On a vu apparaître le premier virus sur téléphone
portable : Cabir
Ver,nom officiel EPOC/Cabir
Découvert par l’éditeur de l’antivirus Kaspersky en 2004
OS dessous : EPOC - Symbian
Propagation : technologie Bluetooth
Novembre 2005 Séminaire 5IF 192
Propagation :
Propagation :
Apparaît dans le menu d’installation avec le texte suivant :
Installation secutity warning. Unable to verify supplier. Continue anyway ?
Programme non signé => si Yes, Install Caribe
=> Installation du ver et dans la boite de réception, il y aura : Caribe-
VZ/29a.
Novembre 2005 Séminaire 5IF 193
Que se passe-t’il après ?
Une fois exécuté le fichier reçu, le ver s'installe dans le système.
Il scannera alors les contacts Bluetooth et enverra une copie de lui-
même au premier venu. (+ vidage batterie).
Deux ans après : plus de 200 types de virus codés sur les mobiles
(source F-Secure)
Exemples :
Locknut C –sous Symbian Séries 6.0 – Fichier SMS de mise à jour de
carte SIM. Une fois installés, ils détruisent un fichier essentiel de
symbian et paralysent les applications du téléphone pour le rendre
inopérant.
Cardtrap, Cardtrap.F,
Skull.S
Commwarrior...
Novembre 2005 Séminaire 5IF 194
Le virus Commwarrior.C
Découvert en Mars 2006,
Utilise Bluetooth ou MMS
Envoi un MMS à chaque adresse enregistré dans le téléphone.
Pb : coût
Mise en panne de téléphones,…
Changement du logo du téléphone,…
Novembre 2005 Séminaire 5IF 195
Le SMiShing
= phishing par SMS.
Le SMS se présente comme un message tel que « nous vous
confirmons que vous vous êtes inscrits pour ce service dont le coût
est de 2 dollars par jour, sauf si vous annulez votre inscription »
Un lien est placé dans ce SMS pour annuler cette commande.
L’usager qui le suivra sera dirigé vers un site piégé
possibilité de télécharger des malwares en quelques instants.
sérieux risques pour la sécurité des données
+ d’infecter réseau personnel et celui de l’entreprise
Novembre 2005 Séminaire 5IF 196
Et après…
Un virus peut entraîner des surfacturations, la
divulgation d’informations, ou encore la
suppression, la corruption ou la modification
d’informations.
=> Utilisation d’anti-virus sur les portables.
Coût : 12 milliards de dollars dans le monde en 2007
Le pire est à venir…
Novembre 2005 Séminaire 5IF 197
PKCS
Novembre 2005 Séminaire 5IF 198
Les normes PKCS (1/2)
PKCS : Public Key Cryptography Standards)
PKCS#1 : spécifications de RSA (RFC 2437)
PKCS#2 inclus dans PKCS#1 (comme PKCS#4)
PKCS#3 : Diffie- Hellman Key agreement standard
PKCS#5 : Password - Based Cryptography standard
PKCS#6 : Extended- Certificate Syntax Standard
PKCS#7 : Cryptographic Message Syntax Standard
(RFC 2315)
PKCS#8 : Private- Key Information Syntax Standard
PKCS#9 : Selected Attribute type
Novembre 2005 Séminaire 5IF 199
Les normes PKCS (2/2)
PKCS#10 : Certification Request Syntax ou CRS
(Certificate Signing Request), RFC 2314
PKCS#11 : Cryptographic Token Interface Standard
PKCS#12 : Personnal Information Exchange Syntax
Standard
PKCS#13 : Elliptic Curve Cryptography Standard
PKCS#14 : Pseudorandom Number Generation
Standard
PKCS#15 : Cryptographic Token Information Format
Standard
Novembre 2005 Séminaire 5IF 200
Plus d’information sur la loi en
matière de cryptographie
Réglementation
française
http://www.ssi.gouv.fr/
fr/reglementation/inde
x.html#crypto
Novembre 2005 Séminaire 5IF 201
Conclusion (1/2)
Schéma général !
Cryptographie symétrique :
chiffrement/intégrité
Cryptographie asymétrique :
signature/échange de clé symétrique
Mélanger tout cela correctement pour
construire des architectures
Novembre 2005 Séminaire 5IF 202
Conclusion : Schéma général (2/2)
Authentification par certification
Envoie de (KPA, signCA(hash(KPA))
Alice Bob
Authentification par certification
Alice vérifie Bob vérifie auprès
auprès du CA Envoie de (KPB, signCA(hash(KPB)) du CA l’Identité
l’identité de Bob d’Alice
Envoie le choix de l’algo et Choisit un algo
la clé K chiffrée avec KPA symétrique et une clé K
et signé avec KSB
(chiffKPA(K), signKSB(hash chiffKPA(K)))
Tunnel sécurisé
Novembre 2005 Séminaire 5IF 203