Vous êtes sur la page 1sur 93

Scurit des Systmes d'Informations:

la cryptographie applique

fbongat@ipsl.jussieu.fr
2008 - 2009

GNUFree Documentation License Copyright (c) Frdric Bongat 2008 - 2009 1


Introduction

Cryptographie :
L'art et la science de garder le secret des
messages
Position du problme:
Tout systme dinformations est vulnrable : il
existe donc un besoin de protger des informations
digitales dans un environnement distribu, souvent
accessible et sans frontire matrielle
Dans le monde actuel:
Intgration importante des techniques de la
Cryptographie dans de nombreux outils et produits
Connatre les bases et le vocabulaire devient trs
utile (SSH, SSL, S/MIME, ..) 2
La Cryptographie

Ensemble de techniques bases sur des


thories mathmatiques (algorithmes)
De nos jours, elle est divise en deux
branches :
Cryptographie cl secrte (ou symtrique)
Cryptographie cl publique (ou asymtrique)
sa scurit repose sur :
La qualit des algorithmes (robustesse rsidant
dans leur qualit mathmatique intrinsque)
Implmentation des algorithmes (failles )
La gestion du partage du secret (partage des cls)
La qualit des cls (longueur et la non rutilisation)

Copyright (c) Frdric Bongat 2008 - 2009 3


La Cryptographie

La cryptographie travers l'histoire


L'antiquit
Les papyrus des Spartiates
Les codes Jules Csar
Le moyen ge
Les formules de l'Abb Trithme
Les disques chiffrs de Leon Battista Alberti
La seconde guerre modiale
Enigma
Mthode moderne
Dans les annes 60 par IBM : DES,
Whitfield Diffie et Martin Hellman : RSA
Copyright (c) Frdric Bongat 2008 - 2009 4
Les enjeux de la cryptographie

Elle doit satisfaire plusieurs fonctions :


La confidentialit
Lidentification
Lauthentification
Lintgrit
La non rpudiation
La non duplication
Anonymat

Copyright (c) Frdric Bongat 2008 - 2009 5


Les enjeux de la cryptographie

La confidentialit
Il sagit de garantir le secret de linformation
transmise ou archive.
Seuls les utilisateurs autoriss doivent y avoir
accs.
En gnral, on utilise le chiffrement au moyen de la
cryptographie cl symtrique.
Trs souvent, la Cryptographie est assimile dans
les esprits cette seule fonctionnalit (ce qui est
vrai historiquement).

Copyright (c) Frdric Bongat 2008 - 2009 6


Les enjeux de la cryptographie

Lidentification
consiste dterminer qui est un individu au sein
dune vaste population donne.
Il sagit de dfinir les rles de lidentit dune
personne qui souhaite accder des informations
ou des ressources matrielles.
En informatique, on utilise pour identifier une
personne:
Un identifiant numrique (login)
Un certificat numrique
Une carte puce
Les caractristiques physiques

Copyright (c) Frdric Bongat 2008 - 2009 7


Les enjeux de la cryptographie

Lauthentification
consiste vrifier quune personne possde bien
lidentit, ou les droits, quelle affirme avoir.
Lauthentification constitue la preuve dune
identification.
En informatique, l'authentification intervient
diffrents niveaux dans les couches des systmes
et des protocoles
Validation des mots de passe, biomtrie etc..

Copyright (c) Frdric Bongat 2008 - 2009 8


Les enjeux de la cryptographie

Lintgrit
Il sagit de prserver les informations contre les
modifications.
"Lintgrit est la prvention dune modification non
autorise de linformation" [norme ISO 7498-2
(ISO90)]
Avec les techniques actuelles, cette fonction est
ralise "en sus" par la signature numrique, ou
encore par le chiffrement simple (ou les deux).

Copyright (c) Frdric Bongat 2008 - 2009 9


Les enjeux de la cryptographie

La non rpudiation
Garantir que lauteur est bien lmetteur ou le
titulaire de linformation.
pour que les intermdiaires ne puissent nier le
contenu des informations.
La non duplication
Protger contre la copie illicite
Lanonymat
Permet de prserver lidentit dune entit, de la
source dune information ou dune transaction.

Copyright (c) Frdric Bongat 2008 - 2009 10


Le cadre juridique

Utilisation de la cryptographie est libre


LRT (Loi et Rglementation des Tlcom) de 1990
Confidentialit Authentification/Intgrit (libre)
Rgime d'autorisation au pralable la DCSSI
Loi sur les Tlcom de 1996
Dcoupages en 6 catgories
Dclaration de produits libres,
d'autre pralables (cl > 128 bits)
systme de Tiers de confiances
LCEN
Article 30-I : libre

La fourniture : demande une dclaration au


pralable Copyright (c) Frdric Bongat 2008 - 2009 11
L'art de cacher des informations

La stganographie
Dissimuler des donnes dans d'autres donnes
Cacher son argent dans le jardin ...
Le chiffrement
procd grce auquel on peut rendre la
comprhension d'un document impossible toute
personne qui n'a pas la cl
Mettre son argent dans un coffre fort ...

Copyright (c) Frdric Bongat 2008 - 2009 12


La stganographie

Cacher des informations dans un systme


d'information
Glisser quelques bits discrets au milieu d'un flot
d'images, de textes et de programmes
le plus simple est probablement les messages
cachs dans les pages web (langage de
description)
Dissimulation dans les images
Pixel : 3 nombres cods sur 8 bits (RGB)
Si l'on modifie les 2 bits de droite de R,G ou B, on
modifie trs peu sa valeur

Copyright (c) Frdric Bongat 2008 - 2009 13


Le chiffrement

Dans les systmes d'informations : pourquoi


chiffrer ?
Protection et confidentialit des informations
Sur des supports
Via des communications
Prmunir des incidents lis aux coutes,
interceptions, vols, destructions etc..
Authentification et non rpudiation
Identification dans un cyber-espace

Copyright (c) Frdric Bongat 2008 - 2009 14


Le chiffrement
Cest une fonction facile calculer dans un sens
rendant la comprhension du document impossible
toute personne qui ne possde pas la cl.
Notion fondamentale : la cl et lalgorithme
Le principe gnral du chiffrement est le suivant :

Copyright (c) Frdric Bongat 2008 - 2009 15


Le chiffrement

Sa validit :
dpendant de la nature de la donne protger
transaction bancaire, sessions rseaux : quelques
minutes
secret dtat, signature de contrat long terme :
dizaines dannes
Dpendant de la dimension de la cl
plus la cl est grande, elle est difficile casser
Rponse : augmentation de la dimension de la cl
Mme algorithme mais rutilis en chane (3-DES)
Chiffrement en plusieurs phases avec 2 ou 3 cls
Nouveaux algorithmes

Copyright (c) Frdric Bongat 2008 - 2009 16


Le dchiffrement
Le dchiffrement est sens tre possible que si :
on connat lalgorithme
et on possde la cl associe
Le principe gnral du dchiffrement est le suivant :

Copyright (c) Frdric Bongat 2008 - 2009 17


Algorithmes

Les algorithmes :
une mthode
Par bloc : lopration de chiffrement seffectue
sur des blocs de texte clair (ex : le DES avec
des blocs de 64 bits).
Par flux : lopration de chiffrement sopre sur
chaque lment du texte clair (caractre, bits).
On chiffre un bit/caractre la fois.
2 types de secret
secret ou symtrique : une mme cl utilise
pour chiffrer et dchiffrer
publique ou asymtrique : des cls
diffrentes pour chiffrer ou dchiffrer
Copyright (c) Frdric Bongat 2008 - 2009 18
Gnrateur pseudo-alatoire

Gnrateur alatoire et pseudo-alatoire


Lors qu'une personne gnre une cl secrte ou prive,
elle doit faire intervenir le hasard de faon ajouter de la
complexit dans lalgorithme.
De mme, certains protocoles cryptographiques
ncessitent, pour viter la rejouabilit, l'utilisation d'alas
imprvisibles.
Et il est impossible de produire des suites alatoires
uniquement l'aide d'un ordinateur
le gnrateur sera toujours priodique, donc
prvisible
On a donc recours des gnrateurs dits pseudo-
alatoires :
Un gnrateur de nombres pseudo-alatoires est
donc un algorithme qui gnre une squence de
nombres prsentant certaines proprits du hasard
Copyright (c) Frdric Bongat 2008 - 2009 19
Gnrateur pseudo-alatoire
Caractristique dun tel gnrateur:
La priode de la suite doit tre suffisamment grande pour
que les sous-suites finies utilises avec l'algorithme ou le
protocole cryptographique ne soient pas priodiques.
Ces sous-suites doivent, sur le plan statistique, sembler
alatoires.
Le gnrateur doit tre imprvisible, au sens o il doit
tre impossible de prdire le prochain ala partir des
alas prcdents.
Sources de cration des alas:
Utilisation de sources disponibles sur un ordinateur :
temps entre deux accs au disque, taille de la mmoire,
mouvements du pointeur de souris, vitesse de frappe ...
faire passer le rsultat dans une fonction sens unique
Algorithmes : Yarrow, Fortuna, Isaac
Copyright (c) Frdric Bongat 2008 - 2009 20
Chiffrement cl secrte

Aussi appel chiffrement symtrique


La confidentialit est base sur lutilisation
dun secret commun.
Cette mthode consiste utiliser une cl identique
pour chiffrer et dchiffrer le message.
Il est appel comme tel, car la cl (unique) ne doit
tre connue que des personnes devant pouvoir
accder au secret.
le mme algorithme est utilis pour le
chiffrement et le dchiffrement
Systme rapide, et facile mettre en uvre
Bas sur des oprations mathmatiques simples
(substitutions, permutations)
M'= Fk(M) et donc Fk(M')=Fk(Fk(M))=M 21
Chiffrement cl secrte

La cl tant connue des deux interlocuteurs,


elle doit tre change entre eux par un
canal confidentiel alternatif
valise diplomatique, courrier postal, tlphone, vis-
-vis etc.

Canal dchange confidentiel


Copyright (c) Frdric Bongat 2008 - 2009 22
Chiffrement cl secrte
Le problme de la distribution des cls :
il faut pouvoir les transmettre dune manire sre.
Grands nombre de cls lors de partages deux deux entre
de nombreuses personnes
Nombre de cls grer : N(N-1)/2 (N nb de personnes)
6 personnes
communiquer :
15 cls secrtes
grer
Expdition Expdition

Expdition Expdition

Copyright (c) Frdric Bongat 2008 - 2009 23


Expdition Expdition
Chiffrement cl secrte
Avantages:
Rapide et donc supporte des chiffrements de
gros volumes de donnes
Inconvnients:
Problmatique de l'change de la cl de
chiffrement
tablissement pralable d'un canal sr pour la
transmission de la clef

Copyright (c) Frdric Bongat 2008 - 2009 24


Chiffrement cl secrte

Il existe des nombreux systmes cryptographiques


symtriques :
Chiffrement de flux :
RC4, RC5 ( Rivest's Code #4, #5 1987) dont une
longueur de cl variable (de 1 256 octets).
Chiffrement par blocs :
DES ( Data Encryption Standard 1974), triple-DES
(1985)
IDEA ( International Data Encryption Algorithm , Suisse,
1992) contrl par une cl de 128 bits
Blowfish (Bruce Schneier 1993) une longueur de cl
variant entre 32 bits et 448 bits
AES ( Advanced Encryption Standard 1997 en cours de
dveloppement et qui correspond une standardisation)
Copyright (c) Frdric Bongat 2008 - 2009 25
Chiffrement cl secrte

Exemple le DES (Data Encryption Standard)


Apparu en 1976, suite une volution de Lucifer (IBM)
par la NSA
La cl a une longueur de 64 bits, cest--dire 8
caractres, mais seulement 56 bits sont utiliss (8
derniers bits servent de test de parit)
DES consiste faire des combinaisons, des
substitutions et des permutations entre le texte
chiffrer et la cl.
Les grandes lignes de l'algorithme par bloc :
fractionnement du texte en blocs de 64 bits
permutation des blocs
dcoupage des blocs en deux parties
tapes de permutation et de substitution rptes 16
fois (appeles rondes)
recollement des deux parties puis permutation initiale
inverse
Copyright (c) Frdric Bongat 2008 - 2009 26
Cryptographie cl publique
Viens de la limitation des algorithmes cl secrte :
Problmatique de l'change de la cl de chiffrement
tablissement pralable d'un canal sr pour la
transmission de la clef
Nouveaux procds : algorithmes bass sur des
problmes difficiles rsoudre
Logarithme discret
le calcul des logarithmes discrets s'avre difficile,
tandis que le problme inverse de l'exponentiation
discrte ne l'est pas

Factorisation de grands nombres
Multiplier deux grands nombres premiers est une
fonction sens unique; il est facile de multiplier deux
nombres pour obtenir un produit, mais difficile de
factoriser ce produit et de retrouver les deux grands
nombres premiers (ex: 437 = ? * ?) 27
Cryptographie cl publique
Appel aussi cryptographie asymtrique
Fonctionne avec une paire de cls unique (bi-cls)
Une cl prive connue que du propritaire de la paire de cl
(pour le chiffrement)
Une cl publique : connue de tous, souvent publi dans un
annuaire(pour le dchiffrement)
bas sur une fonction facile calculer dans un sens,
mais mathmatiquement trs difficile inverser sans la
cl associe au bi-cls

Copyright (c) Frdric Bongat 2008 - 2009 28


Cryptographie cl publique

Apparu avec lalgorithme RSA (Rivest, Shamir,


Adleman)
Introduit en 1976 par Diffie et Hellman afin de
permettre l'change de cls travers un canal non
scuris.
Exemple:
Soit M le message
Utiliser deux cls diffrentes pour les oprations de
Chiffrer chiffrement et dchiffrement
Il repose sur la difficult du calcul du logarithme
On calcule Y: discret dans un corps fini.
Y = Me modulo n Aspect mathmatique :
On choisit p, q deux grands nombres premiers et on
On transmet Y choisi un entier e premier avec (p-1) et (q-1)
On calcule n=p.q et on calcule l'entier d est tel que
On calcule Z avec d ed = 1 modulo (p-1)(q-1) avec le thorme de Fermat-
Z = Yd modulo n Euler
Le couple d'entier (n, e) reprsente la cl publique
On rcupre M (Z=M)
L'entier d reprsente la cl prive 29
Cryptographie cl publique

L'algorithme DSA (Digital Signature Algorithm):


cr par la NSA en 1993 donc plus rcent que
RSA, brevet par David Kravitz
Repose aussi sur le problme du logarithme
discret
bas sur l'algorithme ElGamal (qui a t
dvelopp par Taher Elgamal. Algorithme qui
est utilis entre autre par PGP et le logiciel libre
GPG. Il n'a jamais t sous la protection d'un
brevet contrairement RSA)

Copyright (c) Frdric Bongat 2008 - 2009 30


Cryptographie cl publique
Scurit de ces algorithmes
En 2005, le plus grand nombre factoris par les
mthodes gnrales et l'tat de l'art en matire de
calculs distribus, tait long de 663 bits. Les cls RSA
sont habituellement d'une longueur comprise entre 1024
et 2048 bits.
Suivant la loi de moore:
Cl de 1024 bits sre jusqu'en ~2030 en force brute
Cl de 2048 bits sre jusqu'en ~ 2079
Problme si quelqu'un trouve un jour le moyen de
simplifier leurs rsolutions
Utilisations importantes de ce systme
cryptographique:
La confidentialit
Lauthentification, Intgrit, Signature Digitale et la Non-
rpudiation

Copyright (c) Frdric Bongat 2008 - 2009 31


Chiffrement cl publique
Avantages:
Gestion scurise des cls
Plus de secret commun
Inconvnients:
Algorithmes trs lents (procd mathmatique lourd)
Pas adapt au temps rel





Authentification de la cl publique

Copyright (c) Frdric Bongat 2008 - 2009 32


Cryptographie cl publique
Format gnral des cls
PEM - Privacy Enhanced Mail :
Peut contenir des cls prives, des cls publiques et
des certificats X509. Le format PEM est du DER
encod auquel sont ajoutes des en-ttes en ASCII.
PKCS#12 - Personnal Information Exchange Syntax
Standard
C'est un standard pour stocker des cls prives, des
cls publiques et des certificats en les protgeant en
confidentialit et en intgrit
Cest un format binaire
PVK
C'est le format propritaire qu'utilise Microsoft pour
stocker les cls prives de signature dans plusieurs
de ses produits

Copyright (c) Frdric Bongat 2008 - 2009 33


Cryptographie cl publique

Exemple dun format gnral des cls : PEM


Cl prive RSA sans chiffrement (non protge)
Encod en base 64 (on prend des donnes
encodes sur 8bits et on les modifie pour qu'il n'y
ait plus que 7 bits utiles)

Copyright (c) Frdric Bongat 2008 - 2009 34


Cryptographie cl publique

Exemple dun format gnral des cls : PEM


Cl publique RSA associ la cl prive
prcdente
Encod en base 64

Copyright (c) Frdric Bongat 2008 - 2009 35


Cryptographie cl publique

Exemple dun format gnral des cls : PEM


Chiffrement de la clef RSA en DES (protge)
Encodage du binaire obtenu en en base 64
La clef de chiffrement DES et le vecteur
Algorithme d'initialisation sont drivs du mot de passe fourni
utilis par l'utilisateur
Cl prive
protge par
un chiffrement

Vecteur
dinitialisation

Copyright (c) Frdric Bongat 2008 - 2009 36


Cryptographie cl publique

Longueur de cls
Allonger la longueur des cls utilises pour garantir une
meilleure scurit dans le temps.
Pour la cryptographie cls prives, la recherche
consiste 2n-1 essais pour retrouver la cl
Pour la cryptographie cls publiques, la rfrence
est la difficult de rsolution du problme
mathmatique sur lequel repose l'algorithme
La longueur de cl n'a de sens pour reprsenter le
niveau de scurit que si aucune attaque plus rapide
n'existe
La qualit de l'algorithme est plus importante que la
longueur de la cl
Les faiblesses de l'algorithme rendent possible des
attaques plus efficaces que la recherche exhaustive
sur la cl
Copyright (c) Frdric Bongat 2008 - 2009 37
Cryptographie cl publique
Fonctionnement : le chiffrement et dchiffrement
Exigence rendue : Confidentialit
Exemple : Alice envoie un document chiffr Bob par
cette mthode

1 Alice rcupre la cl publique de bob


Cl
publique

2- Service courrier

Chiffrage
avec cl Cl prive
publique Alice Bob
de Bob Recevoir
Expdition
4-
Dchiffrage
avec la cl
Service courrier
Copyright (c) Frdric Bongat 2008 - 2009
Service courrier prive
38

3 envoie le document chiffr Bob


Cryptographie cl publique
La signature numrique
Une signature doit rpondre aux exigences :
De lidentification du signataire.
De lauthentification du document sign.
De lengagement du signataire (contrat)
La non modification du document
Les signatures numriques sont fondamentales au
niveau de l'authentification, de l'identification d'entit, de
l'autorisation et de la non rpudiation.
La signature change si le document change. La cl
prive est toujours la mme
Il est impossible de gnrer un deuxime document
avec la mme signature (la fonction sens unique
est sans collisions).
Seul le dtenteur de la cl prive peut gnrer une
signature qui se vrifie avec la cl publique
correspondante

Copyright (c) Frdric Bongat 2008 - 2009 39


Cryptographie cl publique
Fonctionnement de la signature numrique
Exigence rendue : Authentification + Non Rpudiation
Exemple : Alice envoie un message sign Bob par
cette mthode
Cl
publique

3 - Bob rcupre la cl publique


dAlice

1 - Chiffre avec
sa cl prive

4- Dchiffrage
Alice Bob Recevoir avec la cl
Expdition
publique

2 - Envoie le message Bob


Service courrier Service courrier
Copyright (c) Frdric Bongat 2008 - 2009 40
Cryptographie : le hachage

Mcanisme souvent associ la


cryptographie : le hachage
fonction de hachage est une fonction qui associe
un grand ensemble de donnes un ensemble
beaucoup plus petit
Obtention d'une empreinte numrique de taille fixe
partir d'un message de taille arbitraire
Opration par blocs
Critres de scurit
Opration sens unique : facile calculer et
difficile inverser

Copyright (c) Frdric Bongat 2008 - 2009 41


Cryptographie : le hachage

Critres de scurit des fonctions de


hachage : les collisions
Faibles collisions : faible possibilit d'obtenir une
mme empreinte pour deux messages distincts
il est trs difficile de trouver le contenu du message
partir de la signature
partir d'un message donn et de sa signature, il
est trs difficile de gnrer un autre message qui
donne la mme signature
il est trs difficile de trouver deux messages
alatoires qui donnent la mme signature

Copyright (c) Frdric Bongat 2008 - 2009 42


Cryptographie : le hachage

Caractristiques des fonctions de hachage


Le rsultat de cette fonction est par ailleurs aussi
appel somme de contrle, empreinte, rsum
de message, condens ou encore empreinte
cryptographique
Ralis par les fonctions :
SHA (Standard Hash Algorithm) : empreinte de
160 bits
MD 5 (Message-Digest algorithm) : empreinte
de 128 bits

Copyright (c) Frdric Bongat 2008 - 2009 43


Cryptographie : le hachage

Exemple dutilisation dune fonction de


hachage
Fichier test.txt

Rsultats des la fonction de hachage en fonction


de lalgorithme MD5/SHA-1

Copyright (c) Frdric Bongat 2008 - 2009 44


Cryptographie cl publique

Systmes mixtes
Dans la pratique, cest une combinaison du
systme cryptographique symtrique et
asymtrique qui est pratique
Utilisation de la cryptographie cl secrte pour :
La confidentialit du document (amliore la
vitesse du traitement)
Utilisation de la cryptographie cl publique pour :
les fonctionnalits dchanges de cls secrtes
Utilisation des fonctions de hachage pour rsoudre
des problmes de messages trop longs

Copyright (c) Frdric Bongat 2008 - 2009 45


Cryptographie cl publique
Systme mixte : la confidentialit
Exemple: Alice envoie un document chiffr Bob

Rcupre Cl Cl
publique prive
Cl
secrte

Alice Bob
Expdition Recevoir

Envoie

Envoie
Copyright (c) Frdric Bongat 2008 - 2009 46

Service courrier Service courrier Service courrier Service courrier


Cryptographie cl publique
Systme mixte : la signature numrique
Exemple : Alice envoie un document sign Bob

Rcupre
Cl Cl
publique prive
Alice Bob
Expdition Recevoir

HASH

Service courrier Service courrier Service courrier


Envoie compare

HASH HASH HASH HASH

Copyright (c) Frdric Bongat 2008 - 2009 47


Cryptographie cl publique

Systme mixte : les cls de session


Fonctions ou protocoles qui tablissent des sessions
scurises en chiffrant avec la cl secrte et
transmettent la cl secrte chiffre par la mthode de
chiffrement cl publique
Cest un compromis qui combine les deux techniques
du chiffrement symtrique et du chiffrement
asymtrique : systme mixte
Le principe de la cl de session est simple :
On gnre dune manire alatoire une cl de
session de taille raisonnable (128 bits ou 256 bits),
On chiffre celle-ci l'aide d'un algorithme de
chiffrement clef publique (plus exactement l'aide
de la cl publique du destinataire).
Utilis souvent pour les canaux scuriss (ex : SSH)
Copyright (c) Frdric Bongat 2008 - 2009 48
Cryptographie cl publique
Avantage :
Rgle les problmes de confidentialit, dauthentification,
dintgrit, de signature numrique et de non rpudiation
Prise en compte du problme de la gestion du partage
du secret (gestion du partage des cls)
Inconvnient :
Requiert des oprations complexes, ce sont des
systmes lents (jusqu 50 fois plus lent quun algorithme
cryptographie symtrique)
Certains algorithmes asymtriques ne sont adapts
quau chiffrement, tandis que d'autres ne permettent que
la signature.
Vrifier lappartenance des cls
Faire certifier les cls par des tiers de confiance
Copyright (c) Frdric Bongat 2008 - 2009 49
Cryptanalyse

Ensemble de techniques pour essayer de


dchiffrer un message cod sans connaitre la
cl
Liste de types d'attaques sur les algorithmes
L'attaque en force,
L'attaque frquentielle, par dictionnaire,
L'attaque texte chiffr seul,
L'attaque texte clair connu,
L'attaque l'aide de l'analyse statistique
L'attaque d'une tierce personne
etc..

Copyright (c) Frdric Bongat 2008 - 2009 50


Cryptanalyse
Rappel de loi de Moore: la puissance de calcul double
tous le 18 mois (le cot est divis par 10 tous les 5
ans)
le DES a t cass en 1999 en 22 heures seulement
en attaque force brute
RSA : outil cryptanalytique bas sur le thorme de
Coppersmith (Plynomes)
En 1983, le GIE sappuie sur la cryptographie RSA
(voir article) pour former un cryptosystme cl
prive, cl publique bas sur un nombre n = pq de 96
chiffres dcimaux (soit 320 bits)
Yescard (Humpich) : factorise n avec Maple

Copyright (c) Frdric Bongat 2008 - 2009 51


Principe des tiers de confiance

Objectifs :
tablir un lien de confiance entre :
Une identit, un usage
Ce sont des organismes agrs
Chargs de distribuer des certificats et des cls
certifis lis aux personnes
Soccupe du problme du stockages de ces
informations et de leur validation dans le temps
Dpositaires capables de remettre les
informations aux autorits pour des coutes
lgales .

Copyright (c) Frdric Bongat 2008 - 2009 52


Infrastructure de gestion de cls
Une IGC est un ensemble de composantes de
technologies de linformation et de dispositifs
administratifs structurs dans le but de grer et
rglementer des certificats et des cls publiques/
prives associ des entits physiques.

Structure hirarchique avec une racine qui


reprsente le niveau le plus haut

Les services dune IGC sont :


Enregistrement dutilisateurs
Gestion des certificats (cration, distribution,
renouvellement et rvocation) et des cls associes
Archivages des certificats (scurit et recouvrement en
cas de perte)

Copyright (c) Frdric Bongat 2008 - 2009 53


Infrastructure de gestion de cls

La structure dune IGC :


Autorit de certification (AC)
Cest une autorit en laquelle la communaut
d'utilisateurs a confiance
Utilise un certificat auto-sign
Fabrique des certificats et signe avec sa cl
Reconnaissance entre AC

Extension par certification croise...


La scurit de la cl prive de signature est
capitale (intgrit)

Copyright (c) Frdric Bongat 2008 - 2009 54


Infrastructure de gestion de cls

La structure dune IGC :


Autorit denregistrement (AE)
Indispensable, fait le lien avec la personne
physique et lAC
Gre les demandes et vrifie leurs validits
Dpositaire des informations personnelles
Service de rvocation
Gestion dune liste des certificats expirs ou
invalides
Service de publication
Donne accs aux certificats (annuaire)

Copyright (c) Frdric Bongat 2008 - 2009 55


Infrastructure de gestion de cls
Autorit de certification
Schma dune procdure dobtention dun certificat
Exemple : Bob demande un certificat
AC
3
Squestration
Gnre ses cls des cls
Bob 4
Rempli un
formulaire
2
Cl 1 LAC Cre le
Prpare la 5 certificat et
publique cration des intgre la cl
cls publique et
signe par sa
propre cl

Cl prive Autorit denregistrement


6
Bob rcupre
son certificat
Copyright (c) Frdric Bongat 2008 - 2009 Certificat de Bob 56
Infrastructure de gestion de cls
Le certificat :
Document lectronique fixant les relations entre un
individu et sa cl publique afin de sassurer de la validit
des ses usages.
Carte didentit lectronique
Tous les destinataires doivent faire confiance lAC
qui aura mis le certificat.
Constitu :
Dinformations nominatives du propritaire
Dune validit dans le temps
Dune cl publique
Des information de lautorit layant certifi
Format dfini par la norme X.509

Copyright (c) Frdric Bongat 2008 - 2009 57


Infrastructure de gestion de cls
Les utilisations dun certificat :
Pour un client
permet d'identifier un utilisateur et de lui associer des
droits. On lui associe une carte didentit
Stock dans un fichier, token ou carte puce
Pour un serveur
permet d'assurer le lien entre le service et le
propritaire du service
permet de scuriser les transactions avec les
utilisateurs grce un protocole utilisant la
cryptographie
Pour des quipements de scurit
permettant de chiffrer les flux de communication de
bout en bout entre deux points

Copyright (c) Frdric Bongat 2008 - 2009 58


Infrastructure de gestion de cls
Signatures de certificats
Afin de vrifier la validit dun certificat, lAC va signer le
certificat dlivr. On distingue deux cas de figure :
Les certificats auto-signs sont des certificats
usage interne. Signs par une AC, ce type de
certificat permet de garantir la confidentialit des
changes au sein d'une organisation, par exemple
pour le besoin d'un intranet.
Les certificats signs par un organisme de
certification (tier de confiance) sont ncessaires
lorsqu'il s'agit d'assurer la scurit des changes
avec des utilisateurs extrieurs, par exemple dans le
cas d'un site web scuris accessible au grand
public. Le certificateur tiers permet d'assurer
l'utilisateur que le certificat appartient bien
l'organisation laquelle il est dclar appartenir.
La vrification de validit dun certificat peut tre
automatique grce a un protocole spcifique
OCSP pour SSL
Copyright (c) Frdric Bongat 2008 - 2009 59
Certificat X.509

Format cr en 1988 dsignant l'ensemble


des normes informatiques sur les services
d'annuaire dfinies par l'UIT-T
Standard dans le monde
Les certificats sont des fichiers diviss en
deux parties:
La partie contenant les informations (attributs)
La partie contenant la signature de l'autorit de
certification

Copyright (c) Frdric Bongat 2008 - 2009 60


Certificat X.509
Les attributs dfinis par la norme :
Version
Numro de srie
Algorithme de signature du certificat
Signataire du certificat
Validit (dates limite)
Pas avant
Pas aprs
Dtenteur du certificat
Informations sur la cl publique
Algorithme de la cl publique
Cl publique
Identifiant unique du signataire (Facultatif)
Identifiant unique du dtenteur du certificat (Facultatif)
Extensions (Facultatif)
Liste des extensions...

Copyright (c) Frdric Bongat 2008 - 2009 61


Certificat X.509

Certificat au format pem


Encod base 64

Copyright (c) Frdric Bongat 2008 - 2009 62


Certificat X.509
Certificat au format pem
Exemple dun certificat serveur au format texte (1)

Copyright (c) Frdric Bongat 2008 - 2009 63


Certificat X.509
Certificat au format pem
Exemple dun certificat serveur au format texte (2)

Copyright (c) Frdric Bongat 2008 - 2009 64


Certificat X.509

Exemple
dun certificat
personnel
charg dans
un
navigateur
Information
sur le
certificat

Copyright (c) Frdric Bongat 2008 - 2009 65


Certificat X.509

Exemple
dun certificat
personnel
charg dans
un
navigateur
Information
sur lAC
ayant dlivr
le certificat

Copyright (c) Frdric Bongat 2008 - 2009 66


La cryptographie et applications

PGP/GnuPG
OpenSSL
https
S/MIME

Copyright (c) Frdric Bongat 2008 - 2009 67


PGP / GnuPG
PGP (Pretty Good Privacy) est un systme de
cryptographie hybride, utilisant une combinaison des
fonctionnalits de la cryptographie cl publique et de
la cryptographie symtrique de messagerie
Intgration de PGP avec son logiciel de courrier
Enigmail/Thunderbird, Outlook, Apple Mail..
Chiffrer et dchiffrer facilement des messages et fichiers
Signer un message ou signer la cl d'un tiers
Cr par Phil Zimmerman en 1991
PGP n'est pas libre (semi-libre) code ouvert
Un des logiciels les plus sr

Copyright (c) Frdric Bongat 2008 - 2009 68


PGP / GnuPG
Signature lectronique et vrification d'intgrit de messages :
fonction base sur l'emploi simultan d'une fonction de hachage (MD5)
de 128 bits qui est ensuite chiffr par le systme RSA avec la cl prive
de l'expditeur.
Chiffrement des fichiers locaux :
fonction utilisant IDEA.
Gnration de cls publiques et prives :
chaque utilisateur chiffre ses messages l'aide de cls prives IDEA. Le
transfert de clefs lectroniques IDEA utilise le systme RSA;. La taille
des clefs RSA varie de 512, 768, 1024 ou 1280 bits.
Gestion des cls :
fonction s'assurant de distribuer la cl publique de l'utilisateur aux
personnes qui souhaiteraient lui envoyer des messages chiffrs.
Certification de cls :
cette fonction permet d'ajouter un sceau numrique garantissant
l'authenticit des clefs publiques. Il s'agit d'une originalit de PGP, qui
base sa confiance sur une notion de proximit sociale plutt que sur
celle d'autorit centrale de certification.
Rvocation, dsactivation, enregistrement de cls :
fonction qui permet de produire des certificats de rvocation.

Copyright (c) Frdric Bongat 2008 - 2009 69


PGP / GnuPG

Il est bas sur le principe du modle de


confiance directe :
La gestion des cls et leurs distributions se font
directement par les utilisateurs (cration,
rvocation etc)
Existence de serveur dannuaire:
Lutilisateur peut y dposer sa cl publique
Tlchargement directement via le logiciel
Via LDAP

Confiance limit car il nexiste aucune AC


pour vraiment certifier qui est la cl !

Copyright (c) Frdric Bongat 2008 - 2009 70


PGP / GnuPG

GnuPG : GNU Privacy Guard


Cest un procd de cryptographie libre bas sur la
norme OpenPGP
Il a l'norme avantage en comparaison avec son
quivalent propritaire PGP d'tre un logiciel libre
et de reposer sur la norme OpenPGP.
Philip Zimmermann, a rejoint rcemment le
groupe OpenPGP.
Possde les mmes fonctionnalits que PGP
Il est gnralement inclus dans les systmes
d'exploitation libres, comme les BSD ou GNU/Linux
Programme en ligne de commande
GnuPG pour Linux, WinPT pour windows
applications ou plugins lui fournissent une
Copyright (c) Frdric Bongat 2008 - 2009 71

interface graphique
PGP / GnuPG

Cration de cls avec GnuPG


Cration dune cl qui va nous suivre tout au long
de ce processus:
gpg --gen-key
Le programme demande :
quel est le type de chiffrement utiliser : DSA,
RSA, ou Elgamal
quelle longueur de la cl
Date dexpiration
Mise en place dune passe phrase de protection

Copyright (c) Frdric Bongat 2008 - 2009 72


PGP / GnuPG

Gestion des cls avec GnuPG


Vrification des cls enregistres
gpg --list-keys

On peut noter l'ID de la cl publique, qui


ID
rfrence cette cl de manire unique
Emprunte de la cl publique
gpg --fingerprint user

Copyright (c) Frdric Bongat 2008 - 2009 73


PGP / GnuPG

Mise jour sur les serveurs publiques


Gestion en forme dannuaire des cls GnuPG
Envoie dune cl sur un serveur de confiance
gpg --keyserver serveur --send-keys id_user
Le fingerprint est utilis pour la vrification de la cl
publique
Rcupration dune cl depuis un serveur
gpg --keyserver serveur --recv-keys id_user
Liste des serveurs
pgp.mit.edu, www.keyserver.net, wwwkeys.pgp.net,
wwwkeys.us.pgp.net, wwwkeys.uk.pgp.net

Copyright (c) Frdric Bongat 2008 - 2009 74


PGP / GnuPG

Export de cls (Prive/Publique)


gpg --armor --export-secret-keys --output PrivKey.asc
gpg --armor --export user --output PubKey.asc
Import de cls
gpg --import PubKey.asc

75
PGP / GnuPG

Chiffrement/Dchiffrement
gpg --recipient user --encrypt message.txt
Type de fichier cr : message.txt.gpg
gpg --decrypt message.txt.gpg > message.txt
Signature
gpg --default-key user --armor --detach-sign
message.txt
Pour vrifier la signature:
gpg --verify message.txt.asc message.txt

Copyright (c) Frdric Bongat 2008 - 2009 76


OpenSSL
Projet Initi en Dcembre 1998
Fond sur la bibliothque cryptographique SSLeay d'Eric
Young et Tim Hudson
http://www.psy.uq.edu.au/~ftp/Crypto/ssleay
OpenSSL est un utilitaire cryptographique qui
implmente les protocoles rseau Secure Sockets
Layer (SSL v2/v3) et Transport Layer Security (TLS
v1) ainsi que les standards cryptographiques lis dont
ils ont besoin
http://www.openssl.org
Il est open source
Versions n0.9.8d
Utilis dans : openssh, apache+mod_ssl, postfix/tls,
stunnel etc..

Copyright (c) Frdric Bongat 2008 - 2009 77


OpenSSL

SSL est standardis et rpandu


Il a t cryptanalys
SSL/TLS peut tre utilis pour scuriser
pratiquement n'importe quel protocole
utilisant TCP/IP
Opre au niveau d'un protocole de transport de
donnes TCP
Il offre les fonctions :
dauthentification forte du serveur et/ou du client.
dintgrit des donnes transmises
de confidentialit des donnes

Copyright (c) Frdric Bongat 2008 - 2009 78


OpenSSL

Interface de programmation cryptographique:


Bibliothque SSL/TLS (libssl.a)
Mise en uvre des protocoles SSLv2, SSLv3 et TLSv1
Bibliothque cryptographique (libcrypto.a)
Cryptographie clef publique et certificats X509
RSA, DSA
Chiffrement
DES, 3DES, Blowfish, IDEA (bloc)
RC4 (flux)
Hachage
MD5, SHA

Copyright (c) Frdric Bongat 2008 - 2009 79


OpenSSL

Application en ligne de commande


Manipulation des cls publiques RSA, DSA
Manipulation de certificats X509 ou CRL
Mise en uvre du protocole de vrification en ligne
OCSP dans la branche 0.9.7+
Le protocole Internet utilis pour valider un certificat
numrique X.509
une alternative rglant certains des problmes poss par
les listes de rvocation de certificats
Calculs d'empreintes (MD5, SHA etc.)
opration de chiffrement (DES)
Mise ne place dune IGC
Sous linux base dun script nomm CA

Copyright (c) Frdric Bongat 2008 - 2009 80


OpenSSL

Application en ligne de commande


Cration de la cl prive:
pour gnrer une paire de cls de 1024 bits,
stocke dans le fichier Key.pem, on tape la
commande
On utilise la commande genrsa
openssl genrsa -out Key.pem 1024
Visualiser le contenu d'un fichier au format PEM
contenant une paire de cls RSA.
openssl rsa -in Key.pem -text -noout

Copyright (c) Frdric Bongat 2008 - 2009 81


OpenSSL
Protection d'une cl RSA:
Il n'est pas prudent de laisser une paire de cl en
clair (surtout la partie prive). Avec la commande rsa,
il est possible de chiffrer une paire de cls.
openssl rsa -in Key.pem -aes256 -out Key.pem
Exportation de la cl publique:
La partie publique d'une paire de cls RSA est
publique, et ce titre peut tre communique
n'importe qui.
Le fichier Key.pem contient la partie prive de la cl,
et ne peut donc pas tre communiqu tel quel (mme
s'il est chiffr).
openssl rsa -in Key.pem -pubout -out
Key_pub.pem
Affichage de la cl publique :
openssl rsa -in Key_pub.pem -pubin -text -noout

Copyright (c) Frdric Bongat 2008 - 2009 82


OpenSSL

Chiffrement / dchiffrement de fichier:


On peut chiffrer des donnes avec une cl RSA. Pour
cela on utilise la commande rsautl
Chiffrement:
openssl rsautl -encrypt -in message.txt

-inkey Key_pub.pem -pubin -out message2.txt


Dchiffrement:
openssl rsautl -decrypt -in message2.txt -inkey
Key.pem -out message3.txt

Copyright (c) Frdric Bongat 2008 - 2009 83


OpenSSL

Fonction de hachage
Calcul dune empreinte dun document. La commande dgst
permet de le faire.
openssl dgst -md5 -out message_hash.txt
message.txt
Signature
Pour cela, on utilise l'option -sign de la commande rsautl:
openssl dgst -binary -out message.sig -sign
Key.pem message.txt
Vrifier la signature du document:
openssl dgst -signature message.sig -verify
Key_pub.pem message.txt
Le rsultat obtenu est :
Verified OK
ou bien Verification failure

Copyright (c) Frdric Bongat 2008 - 2009 84


HTTPS
Version scurise du protocole HTTP, HTTPS en se
reposant sur la couche SSL
HTTPS se voit attribu le port par dfaut fix 443 de
type TCP
Authentification des sites Web scuriss par HTTPS
laide de certificats
Identification possible des clients web par HTTPS et
des certificats ct client
Les principaux avantages que peut procurer HTTPS
par rapport HTTP sont les suivants :
Cryptage des donnes.
Intgrit des donnes.
Confidentialit des donnes.
Garantie davoir un hte rcepteur de confiance

Copyright (c) Frdric Bongat 2008 - 2009 85


HTTPS

Vrification du certificat
Avant de se fier la scurit du protocole HTTPS,
il est ncessaire de vrifier le certificat
d'authentification du serveur.
Gnralement signal par un petit cadenas dans
la barre d'tat du navigateur
Le fait que le cadenas ne soit pas ferm ou quil
soit barr indique que le certificat prsent par
le serveur ne respecte pas tous les critres
ncessaires sa validit
il est par exemple possible que le serveur
contact ne soit pas celui qu'il prtend tre

Copyright (c) Frdric Bongat 2008 - 2009 86


AC du serveur Web

HTTPS
Fonctionnement du protocole HTTPS
4
1
C se connecte sur S scuris par SSL et lui demande de
s'authentifier
2
C envoie aussi la liste des systmes cryptographiques
accepts, trie par ordre dcroissant de la longueur des cls
3
S a rception de la requte envoie un certificat au client,
contenant sa cl publique, signe par une autorit de
certification (AC), ainsi que le nom du systme cryptographique
le plus haut dans la liste avec lequel il est compatible
4
C vrifie la validit du certificat (AC doit tre connu dans le
Client Web navigateur), puis cre une cl secrte alatoire, chiffre cette cl serveur Web
l'aide de la cl publique S, puis lui envoie le rsultat : la cl
C de session S
5
S peut alors dchiffrer la cl de session avec sa cl prive
6
C et S sont alors en possession d'une cl commune dont ils
sont seuls connaisseurs. Les changes peuvent se faire l'aide
de cl de session, garantissant l'intgrit et la confidentialit 87
des donnes changes, puis rengocie rgulirement
HTTPS

Problme de validation
dun certificat par https
Message dalerte dun
site non valid par une
AC

Copyright (c) Frdric Bongat 2008 - 2009 88


SMIME

S/MIME : Secure Multipurpose Mail Extension


bas sur le standard MIME en ajoutant des
informations de scurit
Extension du protocole smtp (ESMTP) : les
donnes multimdia se conforment ce modle
par le biais des extensions MIME
un procd de scurisation des changes par
courrier lectronique permettant de garantir la
confidentialit et la non-rpudiation des messages
lectroniques
Utilisation de certificats X.509, avec les extensions v3
S/MIME

Copyright (c) Frdric Bongat 2008 - 2009 89


SMIME

S/MIME : Secure Multipurpose Mail Extension


Fonctionnement :
Avoir les fonctionnalits S/MIME dans ses clients
messageries (outlook, thunderbird, etc..)
Avoir son certificat et celui du ou des destinataires
dans son client messagerie
Le client messagerie Utilise de la cryptographie
publique mixte pour soit le chiffrement, soit la
signature numrique
Vrifie automatiquement la validit des certificats
chargs via le protocole OCSP

Copyright (c) Frdric Bongat 2008 - 2009 90


SMIME

S/MIME
Client
thunderbird
Exemple dun
message
chiffr

Copyright (c) Frdric Bongat 2008 - 2009 91


SMIME

S/MIME
Client
thunderbird
Exemple dun
message
chiffr sans le
certificat
adquat

Copyright (c) Frdric Bongat 2008 - 2009 92


Crytographie applique

Cest fini !!! Ouf .

Copyright (c) Frdric Bongat 2008 - 2009 93