Vous êtes sur la page 1sur 7

27/12/2013

1
1
DtectiondesFaillesdansles
ProtocolesCryptographiques
dAuthentification
AdelBOUHOULA
ProtocolesCryptographiquesdAuthentification
Ce sont des courts programmes dchange de messages
(partiellement) chiffrs par lesquels des agents
sidentifient mutuellement.
Hypothse :Onadmettoujourslaprsencedesintrusquiontuncontrletotal
surlescanauxdecommunications:
Unintrusestcapabledelire,modifier,intercepter,creretenvoyerdes
messages.
Unintrusestcapablederalisertouteslesoprationsdisponiblestelsquele
chiffrementetledchiffrement.
Problme
De nombreux protocoles dauthentification se sont rvls
dfaillants longtemps aprs leur utilisation.
Un intrus peut par exemple dtourner les messages
chiffrs et les faire dcrypter par dautres
suivant une combinaison astucieuse
dexcutions du protocole
Leprotocoledauthentification NeedhamSchroeder
atconsidrcommesrpendant17ans
Protocolecryptographiquedoubles
clefsnonrvles
Ali Bilel
1. A B : {M}K
a
2. B A : {{M}K
a
}K
b
(={{M}K
b
}K
a
)
3. A B : {M}K
b
27/12/2013
2
ProtocolesCryptographiquesdAuthentification
Les protocoles sont en gnral petits et convaincants
mais aussi souvent faux !
Ali Bilel
Intrus
1. A I(B) : {M}K
a
2. I(B) A : {{M}K
a
}K
i
(={{M}K
i
}K
a
)
3. A I(B) : {M}K
i
Protocole cryptographique doubles
clefs non rvles et son attaque
7
Unprotocoledauthentification
NeedhamSchroeder
1. AB:{A,N
A
}
K
B
jesuisAlietvoiciunNonceN
A

2. BA:{N
A
,N
B
}
K
A
voicitonNonceN
A
etvoicilemien
3. AB:{N
B
}
K
B
jelai!cestN
B

(Considrcommesrpendant17ans)
8
Ilpeut:
Espionner,enregistrer,modifier,rejouer
Semasquerenchangeantladressesource
Initialiserdessessionsparallles
Ilnepeutpas:
Chiffrer,dcryptersanslaclef:cryptographieparfaite.
ModledelIntrus
27/12/2013
3
9
Rsolution+rcriture
10
Protocolededistributiondeclef
DenningSacco
AB:(A,{{K}
Priv
A
}
Pub
B
)
BA:{S}
K
ConfidentialitdeS?
11
SpcificationduProtocole
Constructeurs :
A,B:Msg
K:Msg%sessionkey,createdbyAlice
S:Msg%secretsentbyBob
pair:MsgxMsgMsg
fst:MsgMsg
snd:MsgMsg
enc:MsgxMsgMsg
dec:MsgxMsgMsg
aenc:MsgxMsgMsg
adec:MsgxMsgMsg
pub:MsgMsg
prv:MsgMsg
FonctionDfinie :
revealed:MsgBool
12
LesrglesdelIntrus
AxiomesdesConstructeurs:
RC
1
:fst(pair(x
1
,x
2
))=x
1
RC
2
:snd(pair(x
1
,x
2
))=x
2
RC
3
:dec(enc(x,y),y)=x
RC
4
:adec(aenc(x,pub(y)),prv(y))=x
RC
5
:adec(aenc(x,prv(y)),pub(y))=x
27/12/2013
4
13
ConnaissancesinitialesdelIntrus
RD
1
:revealed(A)
RD
2
:revealed(B)
RD
3
:revealed(x
1
),revealed(x
2
)=>revealed(pair(x
1
,x
2
))
RD
4
:revealed(x
1
),revealed(x
2
)=>revealed(enc(x
1
,x
2
))
RD
5
:revealed(x
1
),revealed(x
2
)=>revealed(dec(x
1
,x
2
))
RD
6
:revealed(x
1
),revealed(x
2
)=>revealed(aenc(x
1
,x
2
))
RD
7
:revealed(x
1
),revealed(x
2
)=>revealed(adec(x
1
,x
2
))
RD
8
:revealed(x
1
)=>revealed(pub(x
1
))
RD
9
:revealed(x
1
)=>revealed(fst(x
1
))
RD
10
:revealed(x
1
)=>revealed(snd(x
1
))
14
ConnaissancesinitialesdelIntrus
RD
1
:revealed(A)
RD
2
:revealed(B)
RD
3
: revealed(x
1
)v revealed(x
2
)v revealed(pair(x
1
,x
2
))
RD
4
: revealed(x
1
)v revealed(x
2
)v revealed(enc(x
1
,x
2
))
RD
5
: revealed(x
1
) revealed(x
2
)v revealed(dec(x
1
,x
2
))
RD
6
: revealed(x
1
) revealed(x
2
)v revealed(aenc(x
1
,x
2
))
RD
7
: revealed(x
1
) revealed(x
2
)v revealed(adec(x
1
,x
2
))
RD
8
: revealed(x
1
)v revealed(pub(x
1
))
RD
9
: revealed(x
1
)v revealed(fst(x
1
))
RD
10
: revealed(x
1
)v revealed(snd(x
1
))
15
LesRglesduProtocole
LemessagedeAli(initiateur):
AB:(A,{{K}
Priv
A
}
Pub
B
)
PR
1
:revealed(pair(A,aenc(aenc(K,priv(A)),pub(B))))
LarponsedeBilel:BA:{S}
K
PR
2
:revealed(x)v
revealed(enc(S,adec(adec(snd(x),priv(B)),pub(fst(x)))))
16
Conjecture:
lesecretSLesecretpeutiltrervl?
revealed(S)?
ThereisanattackrevealingSbecause:
revealed(pair(A,aenc(A,pub(B))))
27/12/2013
5
17
Preuve:
Parents Rsolvante
Substitution
RD
2
/ RD
8
R
1
=revealed(pub(B)) x
1
B
RD
1
/ RD
6
R
2
=revealed(x
2
) v revealed(aenc(A, x
2
))
x
1
A
R
1
/ R
2
R
3
=revealed(aenc(A, pub(B))) x
2
pub(B)
RD
1
/ RD
3
R
4
=revealed(x
2
) v revealed(pair(A, x
2
))
x
1
A
R
3
/ R
4
R
5
=revealed(pair(A, aenc(A, pub(B)))) x
2
T
1
R
5
/ PR
2
R
6
=revealed(enc(S, adec(adec(snd(T2),priv(B)),
pub(fst(T2))))) =revealed(enc(S, adec(A, pub(A))))
x T
2
RD
1
/ RD
8
R
7
=revealed(pub(A)) x
1
A
T
1
T
2
G: revealed(S)
T
3
18
Preuve
Parents Rsolvante
Substitution
RD
1
/ RD
7
R
8
=revealed(x
2
) v revealed(adec(A, x
2
))
x
1
A
R
7
/ R
8
R
9
=revealed(adec(A, pub(A))) x
2
pub(A)
R
6
/ RD
5
R
10
=revealed(x
2
) vrevealed(dec(T
3
, x
2
))
x
1
T
3
R
9
/ R
10
R
11
=revealed(dec(T
3
, T
4
)) =revealed(S) x
2
T
4
R
11
/ G

T
4
19
ApprochedePaulson
20
ModledelIntrus
) (
) ( ) ( ) (
T analz X
T analz K T analz X E
K
e
e e
T X
T analz Y X
e
e ) ( ) , (
T Y
T analz Y X
e
e ) ( ) , (
27/12/2013
6
21
ModledelIntrus
) (T synth X
T X
e
e
) ( ) (
) ( ) (
T synth X E
T synth K T synth X
K
e
e e
) ( ) , (
) ( ) (
T synth Y X
T synth Y T synth X
e
e e
22
Vrificationdeprotocoles
Gnrationdelarbredetraces
duniveaui
spcificationduprotocole
Compilateur
Spcificationexcutable
Existetilunefaille?
Faille
Non Oui
Propritde
scurit
ii+1
23
ProtocoledeClarkJacob
Protocol : Clark-Jacob;
Agent : A, B, I ;
Keys : K
AB
;
Nonces : N ;
Functions : + ;
Knowledge :
A knows : B, K
AB
, N ;
B knows : A, K
AB
;
I knows : A, B ;
Rules :
Properties : Authenticity ;
{ }
AB
K
N B A :
{ }
AB
K
N A B 1 : +
1.
2.
{ }
AB K
N B A :
{ }
AB K
N A B 1 : +
24
ProtocoledeClarkJacob
Spcificationexcutable
1. i: AB:{N}
KAB
e T
i
2. i: A' B:{N}
KAB
e T
i
BA:{N+1}
KAB
e T
i+1
3. i: me synth(analz(T
i
)) IX:me T
i+1
27/12/2013
7
25
ProtocoledeClarkJacob
AB:{N}
KAB
e T
i
.
XA:{N+1}
KAB
e T
j
(i<j).
YA:{N+1}
KAB
e T
k
(i<k<j)
Propritde scurit
X=B
26
ProtocoledeClarkJacob
{ }
AB
K
N B A :
{ }
AB K
N B A I : ) (
{ }
AB
K
N A B I : ) (
{ }
AB K
N B A I 1 : ) ( + { }
AB K
N A B I 1 : ) ( +
{ }
AB K
N A B 1 : +
{ }
AB
K
N B A 1 : +
{ }
AB
K
N A B I 1 : ) ( +
{ }
AB
K
N A B 1 : +
Recherchedunefaille
Pour un intrus I, il est facile dtablir une double connexion avec A :
Le principe tant de rpondre exactement le message prcdent
T
0
T
1
T
2
T
3
27
Attaquesur NeedhamSchroeder
Bilel croit quil parle avec Ali !
Ali Bilel
{A,N
A
} K
C
{A,N
A
} K
B
{N
A
, N
B
} K
A
{N
A
, N
B
} K
A
{N
B
} K
C
Charli
{N
B
} K
B
28
Oestleproblme?

Vous aimerez peut-être aussi