Beruflich Dokumente
Kultur Dokumente
ad hoc
Marine Minier
marine.minier@insa-lyon.fr
Introduction
Scurit (5h)
Dfinitions gnrales
Cryptographie
WEP
Bluetooth
IPSec et VPN
Dfinitions gnrales :
menaces et spcificits
Analyse de risques :
Analyse de risque :
[Gayraud-Nuaymi-Dupont-Gombault-Tharon]
Attaques passives
message
Alice
Bob
Charlie
Menace contre la confidentialit de linformation : une
information sensible parvient une personne autre que
son destinataire lgitime.
message
Bob
Alice
Charlie
La Cryptographie garantie :
la
La
Introduction la cryptographie
classique
Assurer la confidentialit :
Chiffrement du message :
Utilisation
dalgorithmes de chiffrement
paramtrs par des cls
Deux mthodes :
Cryptographie
symtrique ou cl secrte
Cryptographie asymtrique ou cl publique
Cryptographie cl secrte :
m
Canal non sr
DK EK= Id
C
Alice
D
K
Charlie
Bob
Cryptographie cl publique :
Annuaire cl
publique
KpB
Bob
m
Alice
EKpB
KpB
Canal non sr
Charlie
DKsB
KsB
EKpB DKsB= Id
Attaques de Charlie
but
Cryptographie symtrique
Cryptographie symtrique
Algorithmes tudis
Algorithme
Algorithmes symtriques de
chiffrement par blocs
Mode ECB :
Mode CBC :
IV = Valeur
dinitialisation
publique
f
X1
.
.
.
X2
f
Xr-1
Kr
f
Y bloc chiffr (n bits)
r tages
Standardis en 1977
Attaqu en 99 en 22h
Remplac par lAES actuellement (depuis 2001)
LAES (1/3)
Rijndael, cr par V. Rijmen et J.
Daemen, choisi comme AES en
octobre 2000.
de chiffrement par
blocs utilisant une structure
parallle.
K0
Byte Sub
Shift Row
Mix Column
Algorithme
K1
Key Addition
Taille
des blocs :
128, 192 ou 256 bits.
Longueurs
des cls :
128, 192, ou 256 bits.
Le
tour 1
K9
K10
Byte Sub
Shift Row
Mix Column
Key Addition
tour 9,
11 ou
13
Byte Sub
Shift Row
Dernier
tour
Key Addition
Shift Row
a00
a01
a02
a03
a00
a01
a02
a03
a10
a11
a12
a13
a10
a11
a12
a13
a20
a21
a22
a23
a20
a21
a22
a23
a30
a31
a32
a33
a30
a31
a32
a33
a00
a01
a02
a03
a11
a12
a13
a10
a22
a23
a20
a21
a32
a30
a33
a31
(8x8 S-box S)
Mix Column
a00
a10
a20
a30
02
01
01
03
03
02
01
01
01
03
02
01
b00
b10
b20
b30
a01
a11
a21
a31
a02
a12
a22
a32
a03
a13
a23
a33
01
01
03
02
b01
b11
b21
b31
a00
a01
a02
a03
a10
a11
a12
a13
a20
a21
a22
a23
a30
a31
a32
a33
Ki (128 bits)
b02
b12
b22
b32
b03
b13
b23
b33
b00
b01
b02
b03
b10
b11
b12
b13
b20
b21
b22
b23
b30
b31
b32
b33
Soit lAES
de deux DES
avec deux cls (112 bits de cl) :
C = DESK1(DES-1K2(DESK1(M)))
=>Pour se prmunir contre la recherche
exhaustive
message mi
chiffr ci
m = m0 m1 m2 m3
s = s0 s1 s2 s3
= c = c0 c1 c2 c3
Chiffrement flot :
rapide
Utilisation en hardware avec des ressources
restreintes
Ne propage pas les erreurs (souvent utilis en
tlphonie mobile) ( la diffrence du
chiffrement par blocs)
Conceptions classiques :
c1 c2
st+1 st
sortie
cL-1 cL
c3
Polynme de rtroaction :
Utilisation de LFSRs :
Le registre filtr :
La combinaison de registres :
Initialis laide
de la cl K
LFSR 1
bit X1
LFSR 2
X2
..
.
LFSR n
Xn
fonction f de
combinaison
Principe gnral :
Pour i de 0 255, Si = i
Pour i de 0 255, Ki = cl K
j = 0, pour i de 0 255
Gnration de lala :
Comparaison de performances :
En hardware (2003)
DES
Fonctions de hachage
Rponse : 23 !
Mthode de constructions :
H0
M2
H1
H2
M3
Mt
= IV
Hi = f(Mi, Hi-1)
(t blocs de taille n)
Sortie
h = Ht = f(Mt, Ht-1)
Exemples :
MD5 :
Compos de la
rptition de 64
oprations
regroupes en 4 fois
16 oprations
4 mots de 32 bits
Une opration
SHA-1 :
5 mots de 32 bits
Compos de la rptition
de 80 oprations
regroupes en 4 fois 20
oprations
Kt
= constante
Wt = valeur dpendant des
blocs Mi du message
Une opration
: 15 minutes
MD5 : 8 heures sur un PC 1,6 GHz
SHA-0 : 239 oprations, SHA-1 : 263 oprations
MACs :
Message authentication Algorithms
= Fonction de hachage avec cl
Exemple :
H(k,p,m,k)
Protocoles ddis :
Protocole ala/retour :
Premire connexion : Alice envoie PA et le
terminal stocke PA.
Puis
terminal
Ala (ou dfi) r
Alice
Calcule : c = EPA(r)
A stock PA
Vrifie si c = EPA(r)
Alice
(1000, cA = h1000(PA))
Stocke (1000, cA = h1000(PA))
terminal
1000-1
Alice
Vrifie si h(c) = cA
Stocke (999, c)
Conclusion partielle
WEP (1/3)
WEP (2/3)
CRC-32
r de 128 bits
Lala est chiffr avec la mthode prcdente avant
vrification :
C = r+RC4(v,k)
Le serveur vrifie si C = C (la valeur calcule par le
serveur)
WEP : pourquoi un IV ?
Pourquoi un IV ?
Si
Longueur de cl :
Attaque de KoreK
si il valait 0 => XOR des 4 derniers octets et dune autre valeur => CRC
encore valide ? Retransmission du paquet, passe-til ? Oui, bonne valeur,
non
=> essayer la valeur 1 =>,
Recherche exhaustive sur la valeur de un octet et on remonte,
Exemple :
Aircrack de C.
Devine
Trs rapide
Avec injection de
paquets,
=> qques min.
pour trouver la
cl
Changements
Attention : attaque de WPA et WPA2 dans le mode PSK (mode dgrad) =>
mais seulement brute force
Bluetooth : introduction
Protocole de communications
sans-fil courtes distances
dploy depuis plusieurs
annes dans tlphones
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
Bluetooth : rseau
Un priphrique Bluetooth matre peut
communiquer avec 7 autres priphriques
esclaves au maximum.
=>"rseau" = Piconet
Scatternet
=
pairage,
la cration et la modification des cls,
Le chiffrement
Le pb du multi-pairing
Exemple de
www.secuobs.com :
crash de la pile
Bluetooth dun NOKIA
N70 :
Cryptographie cl publique
Cryptographie cl publique
Plan
ElGamal
Shmas de signature
RSA,
DSA
Systmes de chiffrement
Problmes mathmatiques
Rappel
Le modulo :
Alice fabrique sa cl
cd = med = m1 mod n
dcimaux)
p-q doit tre grand (mthode de
factorisation de Fermat)
p 1 et q 1 doivent avoir un grand
facteur premier chacun ( 100 bits)
Dautres conditions,
Car
de Fermat
Crible quadratique, sur corps premiers,
Mthode rho de Pollard,
70
39
83
50
86
80
89 90 93 96 99 03
100 116 120 130 155 160
RSA-200 =
2799783391122132787082946763872260162107044678695542853756000992932612
8400107609345671052955360856061822351910951365788637105954482006576775
098580557613579098734950144178863178946295187237869221823983
=
3532461934402770121272604978198464368671197400197625023649303468776121253
679423200058547956528088349
X
7925869954478333033347085841480059687737975857364219960734330341455767872
818152135381409304740185467
Chausse-trappe
n1
c2=m3 mod n2
c3=m3 mod n3
Principe de El Gamal
Le cryptosystme El Gamal
Il tire un ala r
Calcule yr
Transmet (A=myr, B=gr)
Alice dchiffre
Bx = gxr = (gx)r = yr
Calcule A(yr)-1 = m
Recommandations
Ne pas utiliser deux fois le mme nombre
alatoire r
p-1 doit avoir un grand facteur premier
512 bits
On recommande 768 ou 1024 bits
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).
Autres cryptosystmes cl
publique
dfinies par :
P=(x,y) / y2=x3 -27 c4x-54c6
(courbe de Weierstrass)
Protocoles hybrides
Choisit Ksym
Bob
RSAKPB(Ksym) =
KpB
Communication
chiffre avec AESKsym
Tunnel chiffr
Principe de El Gamal
Le cryptosystme El Gamal
Il tire un ala r
Calcule yr
Transmet (A=myr, B=gr)
Alice dchiffre
Bx = gxr = (gx)r = yr
Calcule A(yr)-1 = m
Signatures
Annuaire cl
publique
KpA
Alice
Signature :
SignAlice=SignKsA(m)
(m, SignKsA(m))
Bob
Bob vrifie si
m?=Sign-1KpA(Sign))
A cause de Charlie
qui pourrait changer m en m,
on signe HASH(m) pour garantir lintgrit du message
Sur
Signature RSA
Publique : n et e, Secret : exposant Alice d
Alice signe le message m en calculant :
S=md mod n
Bob vrifie en calculant : m=Se mod n
Problme ?
Public :
q
Alice :
secret
:a
public : A=ga mod p
Bob vrifie :
1 K,s q ?
-1
-1
(AK.s gHASH(m).s mod p) mod q ?= K
HASH = SHA1
Problme encore !
Identification
Par signature :
Alice
Bob
Choisit une ala r
Alice calcule
avec sa cl
secrte
S=SignKSA(r)
S signature valide de r ?
Vrification avec cl
publique dAlice
Par dchiffrement :
Alice
C= EncKPA(r)
Bob
Choisit un ala r
Le chiffre avec la cl
publique dAlice
Alice
dchiffre r
r = Dec(C)
r
r ?= r
: p et q premiers / q | p-1, et g
Alice : secret a / Publique : A = g-a mod p
Alice
Bob
Choisit k et calcule
K=gk mod p
r
Alice calcule
y=k+ar mod q
Choisit un ala r
gyAr ?= K (mod p)
p et g sont publiques
Etant donn A=gx mod p et B=gy mod p, x et y
inconnus, calculer gxy mod p.
Bob
Alice
Choisit a au hasard
A
Choisit b au hasard
Secret commun C
gr3
m3
<g> (gr1r2,gr1r3)
m2
<g>
r2
<g>
m1
r1
gr1r2
gr1r3
gr2
K = gr1 gr1r3 gr1r2
La certification(1/2)
KPC
Bob
Alice
Charlie
EncKPA(m)
Alice
EncKPC(m)
Bob
La certification (2/2)
CA<A> = (SN,AI,ICA,IA,Ap,tA,SCA(SN,AI,ICA,IA,Ap,tA));
SN : numro de srie
AI : identification de lalgorithme de signature
ICA,IA : distinguished names de CA et de Alice
Ap : cl publique de Alice
tA : priode de validit du certificat
Signature de lId
dAlice par le CA
Prsentation du
certificat
Construction dune
connexion chiffre aprs
vrification du certificat
Certificat luimme
Information sur
lmetteur :
Ici VeriSign
Liste des
autorits de
cerfications
CE = CA de lINRIA
INRIA CA de Alice
Alice
Cl publique dAlice
Bob
Conclusion partielle
Cl symtrique
Rapide
pour le chiffrement
Garantit lintgrit (fonction de hachage)
Client
Alice vrifie
auprs du CA
lidentit de Bob
Serveur
Choisit un algo
symtrique et une cl K
IPSec et VPN
IP-Sec : introduction
Principe :
publique (RSA).
Contrle de lintgrit par fonction de hachage
(MD5).
Confidentialit par lintermdiaire dalgorithmes
symtriques, tels que DES, 3DES ou IDEA.
IP-Sec
Transport
Tunnel
Avec juste AH
(authentification)
Avec ESP
(chiffrement des
donnes)
Nouveau header IP
IPSec
Header IP
TCP
DATA
Header IP
TCP
DATA
ensemble de ports/segments
ensemble dadresses MAC (niveau 2)
sous-rseau protocolaire (IP) (niveau
3)
rseau fond sur des rgles
IP-Sec est ce jour le protocole le plus utilis dans les VPNs avec
PPTP (Point to point Tunneling Protocol)
Avantages
transparence
securit
cot
Accessible depuis internet
IPsec et VPN
Link/Rx
LPT 1
LPT2
COM
Print Server
P ower/TX
Link/Rx
LP T1
LPT 2
COM
PKI
Id du demandeur vrifier
Possession de la cl secrte associe
Principaux problmes
Problme de gestion !
Titre de comparaison
Conclusion PKI
Important :
tude