1. Plan de cours
!!
INF6602
M´thodes formelles automatisables
e
en s´curit´ de l’information
e e
D´partement de g´nie informatique et de g´nie logiciel
e e e
U
Hiver 2009
3 cr´dits
e
Triplet horaire : 3 – 1 – 5
Professeur
John MULLINS, Professeur
EA
Pavillon MacKay-Lassonde, local M-4101
T´l´phone : 340-4711 poste 3278 ;
ee
Courriel : john.mullins@polymtl.ca
Serveur http : www.crac.polymtl.ca/mullins
Disponibilit´ : Sur rendez-vous
e
UV
Charg´ de laboratoire
e
Alain Freddy KIRAGA
Pavillon MacKay-Lassonde, bureau M-4210
T´l´phone : 340-4711 poste 2122 ;
ee
Courriel : alain-freddy.kiraga@polymtl.ca
Disponibilit´ : Sur rendez-vous
e
1 Motivation du cours
NO
La conception de syst`mes distribu´s dans de grands r´seaux et devant
e e e
r´pondre ` de fortes exigences de s´curit´ pose des d´fis immenses au concepteur.
e a e e e
Elle requiert l’utilisation de m´thodes qui ne peuvent ˆtre que rigoureuses. Ces
e e
m´thodes sont constitu´es d’un ensemble de techniques et d’outils bas´es sur
e e e
les math´matiques permettant de structurer la description, la construction et
e
1
2. l’analyse de ces syst`mes. Elle peuvent ˆtre regroup´es de la mani`re suivante :
e e e e
les m´thodes permettant de garantir le contrˆle d’acc`s s´curis´, celles permet-
e o e e e
tant de garantir le contrˆle de flux d’information s´curis´ et celles permettant
o e e
de garantir des exigences de s´curit´ plus sophistiqu´es telles que celles requises
e e e
des protocoles de cryptographie.
Le contrˆle d’acc`s a ´videmment pour but de contrˆler l’acc`s aux ressources
o e e o e
d’un syst`me mais surtout de contrˆler les modifications des autorisations. Il a
e o
!!
d’abord ´t´ motiv´ par la s´curit´ dans le monde du papier. Les mod`les formels
ee e e e e
de contrˆle d’acc`s se sont tr`s rapidement av´r´s n´cessaires pour valider les
o e e e e e
m´canismes de contrˆle d’acc`s des syst`mes informatiques. La conception de
e o e e
langages formels de sp´cification des politiques de s´curit´ se sont ´galement
e e e e
av´r´s n´cessaires pour exprimer les exigences s´curitaires sans cesse grandis-
e e e e
santes des syst`mes informatiques et logiciels actuels.
e
Toutefois, le contrˆle d’acc`s ne peut contrˆler la propagation de l’informa-
o e o
U
tion comme par exemple celle d’une variable d’un programme vers une autre.
Le contrˆle du flux de l’information a pour but de pallier ` ces limitations. Il
o a
existe des m´thodes automatis´es permettant d’analyser le flux d’information.
e e
Ces m´thodes ont ´t´ g´n´ralis´es au cas des programmes r´partis et par la suite,
e ee e e e e
au cas de programmes r´partis interagissant avec un syst`me cryptographique
e e
EA
tels que les protocoles cryptographiques.
Les protocoles cryptographiques permettent un acheminement s´curis´ dee
l’information. Ce sont des r`gles d’´change entre les points d’un r´seau qui
e e e
permettent de s´curiser les communications. Il est notoire que leur conception
e e
e
est un exercice difficile et que la moindre faille peut avoir des r´percussions
e e
e
´conomiques ´normes. Il n’est donc pas ´tonnant que ces derni`res ann´es, l’ap-
e
e
plication des m´thodes formelles ` l’analyse des protocoles cryptographiques
e a
se soit impos´e comme un champ de recherche ´mergent. Par opposition aux
e e
m´thodes issues de l’analyse classique d´velopp´es en cryptographie, l’analyse
e e e
formelle abstrait les primitives cryptographiques en un syst`me de r`gles. Cette
e e
abstraction ouvre la voie ` l’automatisation de l’analyse et au d´veloppement
a e
UV
d’outils d’aide ` la conception.
a
2 Objectifs du cours
Le cours vise ` :
a
1. Pr´senter une notation formelle de description des syst`mes distribu´s et
e e e
de sp´cification des exigences de s´curit´ que ces syst`mes doivent assumer.
e e e e
2. Pr´senter des m´thodes et des techniques rigoureuses de validation de ces
e e
syst`mes relativement ` ces exigences de s´curit´.
e a e e
NO
3. D´montrer que sans un minimum de math´matiques, il n’y a aucune
e e
mani`re de construire des syst`mes fiables
e e
Afin d’atteindre ces objectifs g´n´raux, il vise plus sp´cifiquement ` :
e e e a
1. Faire acqu´rir ` l’´tudiant(e) une compr´hension plus profonde des mod`les
e a e e e
de s´curit´ et des classes fondamentales des propri´t´s de s´curit´.
e e ee e e
2
3. 2. Introduire les m´canismes de contrˆle d’acc`s et de contrˆle de flux d’in-
e o e o
formation, les prototocoles de cryptographie ainsi que les probl`mes qu’ils
e
posent au concepteur
3. Pr´senter les fondements th´oriques, les m´thodes et les outils d´velopp´s
e e e e e
pour tenter de r´soudre ces probl`mes.
e e
4. Faire acqu´rir ` l’´tudiant(e) les comp´tences pratiques et les connais-
e a e e
!!
sances th´oriques n´cessaires ` la conception de syst`mes avec des exi-
e e a e
gences fortes de s´curit´ et r´partis dans de grands r´seaux.
e e e e
3 Descriptif du cours
1. Br`ves introductions ` la logique math´matique, l’informatique
e a e
th´orique, la cryptographie et la th´orie de l’information : Au
e e
U
fur et ` mesure de leur application ` la description et ` la validation de la
a a a
s´curit´ de l’information.
e e
2. Contrˆle d’acc`s : M´canismes et mod`les. Contrˆle d’acc`s discr´tion-
o e e e o e e
naire (DAC), obligatoire (MAC) et ` base de rˆles (RBAC). Les mod`les
a o e
HRU et BLP : d´finition, sp´cification et v´rification.
e e e
o EA
3. Contrˆle de flux d’information : Limitation des mod`les de contrˆle
e
d’acc`s. Mesure du flux d’information dans un programme. Sp´cification
e e
et analyse de flux dans un programme. Formalisation : mod`le formel
e
de syst`me s´quentiel, la Non-Interf´rence (NI) comme propri´t´ de la
e e e ee
o
s´curit´ du flux d’information, analyse de la NI, NI et contrˆle d’acc`s.
e e o e
4. Contrˆle de flux d’information dans les syst`mes r´partis : Li-
o e e
mitation de la NI. Mod´lisation des syst`mes communicants (syst`mes de
e e e
transitions communicants et Alg`bres de Processus (AP)). G´n´ralisations
e e e
de la NI (GNI) aux AP. Classification des propri´t´s de GNI dans les AP.
ee
Analyse modulaire du flux d’information dans les AP.
UV
5. Les protocoles cryptographiques : Introduction : requis s´curitaires,
e
probl`me de la composition, taxonomie des attaques, mod`le de Dolev-
e e
Yao de l’attaquant, classification des m´thodes formelles d’analyse des
e
protocoles cryptographiques. Protocoles d’´change de cl´s et d’authen-
e e
tification (Needham-Schroeder, Diffie-Hellman, One-Time Password, ...
etc.) : la confidentialit´ et l’authentification sp´cifi´es comme propri´t´s
e e e ee
temporelles des syst`mes, model-checking de PLTL (logique temporelle),
e
analyse des protocoles cryptographiques avec l’outil SPIN. Les proto-
coles d’anonymat (Onion Ring, Dining Cryptographers, Crowds, Chaum-
Fiat-Naor, ... etc.) : classification des propri´t´s d’anonymat, l’anony-
ee
mat sp´cifi´e en termes de probabilit´ d’occurrence d’´v´nements, model-
e e e e e
NO
checking de PCTL (logique probabiliste). Analyse des protocoles d’anony-
mat avec l’outil PRISM. Les protocoles de signature de contrats (Asokan-
Shoup-Waidner, Garay-Jakobsson-MacKenzie, Zhou-Gollmann, ... etc.) :
le probl`me de l’´change ´quitable et de l’accord non-r´pudiable, l’´quit´
e e e e e e
3
4. et la non-r´pudiation sp´cifi´es en termes de strat´gies de jeu, model-
e e e e
Checking d’ATL (logique de jeux), analyse des protocoles de contrats avec
l’outil MOCHA. Analyse des protocoles cryptographiques dans les AP : la
mod´lisation des messages et de l’attaquant dans les AP, sp´cification des
e e
propri´t´s de s´curit´ des protocoles cryptographiques bas´e sur la GNI.
ee e e e
!!
4 Le cours dans le programme
Aucun pr´alable ou corequis formel au cours n’est exig´. Toutefois, une cer-
e e
taine aptitude ` assimiler et a manipuler en vue de leur application, des concepts
a `
´l´mentaires mais abstraits de la logique math´matique ainsi qu’une certaine ap-
ee e
titude ` exercer l’art difficile de la mod´lisation des syst`mes, seront des atouts.
a e e
U
5 Organisation p´dagogique du cours
e
Des expos´s th´oriques hebdomadaires pr´senteront les fondements et les
e e e
m´thodes de l’analyse des protocoles de cryptographie. Des exercices visant
e
a
` assurer les connaissances acquises seront propos´es sous la forme de devoirs.
e
e e
e
EA
La possibilit´ d’appliquer les connaissance acquises dans un mini-projet sera
offerte. Des s´ances en laboratoire vous familiariseront ` des outils automa-
e
e e a
e
a
tis´s de conception de syst`mes distribu´s et ` leur application ` l’analyse de
e
connaissances pr´sent´es au cours seront ´galement sugg´r´es.
e e e e e
a
la s´curit´ de l’information. Des lectures compl´mentaires visant ` ´tendre les
ae
6 Travaux pratiques
TP1 Introduction ` SPIN. Analyse des protocoles cryptographiques avec SPIN.
a
(2 X 2 hres)
UV
TP2 Introduction ` PRISM. Analyse des protocoles d’anonymat avec PRISM.
a
(2 X 2 hres)
TP3 Introduction ` MOCHA. Analyse des protocoles de contrats avec MO-
a
CHA. (2 X 2 hres)
7 ´
Evaluation des apprentissages
Il y aura deux s´ries d’exercices th´oriques qui compteront cha-
e e
cune pour 15% de votre note, un mini-projet d’analyse automatis´e qui e
comptera pour 40% ainsi qu’une pr´sentation orale d’un article de re-
e
NO
cherche qui comptera pour 20%. Finalement, 10% seront allou´s ` la e a
qualit´ de votre participation. Il n’y a pas d’examen. En contre-partie, il n’y
e
aura pas de reprise et les retards ne seront pas accept´s. Dans le cas des devoirs,
e
vous pouvez ´videmment vous consulter entre vous mais chaque ´tudiant devra
e e
remettre ses propres solutions. J’interrogerai chacun d’entre vous au moins une
4
5. fois dans la session (et plus souvent que je le jugerai n´cessaire) pour m’assurer
e
que vous avez bien compris les solutions que vous avez remises. Dans le cas o` je
u
jugerai que vous n’ˆtes pas en mesure de justifier oralement vos r´ponses ´crites
e e e
de fa¸on ad´quate, je traiterai comme un cas de plagiat et attribuerai la note
c e
z´ro au devoir.
e
!!
8 R´f´rences
ee
[1] M. Bishop, Computer Security, Pearson, 2003.
[2] C. Boyd, A. Mathuria, Protocols for Authentication and Key Esta-
blishment , Springer (2003).
[3] J. Clark and J. Jacob, A survey of authentication protocol literature,
1997. Disponible en ligne
U
[4] S Goldwasser and M. Bellare, Lecture Notes on Cryptography, 2008.
Disponible en ligne
[5] D. Gollmann, Computer Security, Wiley, 2000.
[6] M.R.A. Huth, M.D. Ryan Logic in computer science : Modelling and
EA
reasoning about systems, Cambridge University Press (2000).
[7] W. Mao, Modern Cryptography. Prentice Hall, 2003.
[8] A.J. Menezes, P.C. van Oorschot, and S.A. Vanstone, Handbook of
Applied Cryptography, CRC Press, 1996. Disponible en ligne
[9] J. Mullins, Principes et m´thodes du model-checking, Notes de cours
e
(2004). Disponible en ligne
[10] J. Mullins, La s´curit´ dans les alg`bres de processus, Notes de cours
e e e
(2007). Disponible en ligne
[11] J. Pieprzyk, T. Hardjono, J. Seberry, Fundamentals of Computer
UV
Security, Springer (2003).
[12] P. Ryan, S. Schneider, M. Goldsmith, G. Lowe, B. Roscoe, Modelling
and Analysis of Security Protocols, Addison-Wesley, 2000.
[13] B. Schneier, Applied Cryptography, John Wiley & Sons, 1996.
[14] W. Stallings, Cryptography and Network Security, Principles and
Practice, 3rd ed. Prentice Hall, 2003.
NO
5
6. 9 Calendrier des activit´s
e
Contenu du cours Travaux
1 Introduction : La s´curit´ de l’information. Besoin de m´thodes de
e e e
conception rigoureuse en s´curit´ de l’information. Les m´thodes for-
e e e
melles. Les avantages des m´thodes formelles. Modalit´s d’application des
e e
m´thodes formelles dans le processus de conception
e
!!
2 Outils math´matiques et informatiques des m´thodes formelles
e e
en s´curit´ de l’information
e e
3 Contrˆle d’acc`s : Introduction. Les m´canismes et mod`les de contrˆle
o e e e o
d’acc`s. Contrˆle d’acc`s discr´tionnaire (DAC), obligatoire (MAC) et `
e o e e a
base de rˆles (RBAC). Les mod`les HRU et BLP : d´finition, sp´cification
o e e e
et v´rification.
e
4 Contrˆle de flux d’information : Limitation des mod`les de contrˆle
o e o
U
d’acc`s. Canaux de communication dans un programme s´quentiel. Br`ve
e e e
introduction ` la Th´orie de l’Information. Mesure du flux d’information
a e
dans un programme. Sp´cification et analyse de flux dans un programme.
e
5 La non-interf´rence (NI) : Mod`le formel de syst`me s´quentiel.
e e e e
Sp´cification de la s´curit´ du flux d’information. Analyse de la NI. NI
e e e
et contrˆle d’acc`s. Limitation de la NI.
o e
6
7
EA
G´n´ralisation de la NI aux syst`mes communicants I :
e e
e
e
Mod´lisation des syst`mes communicants (syst`mes de transitions commu-
e e
nicants, alg`bres de processus communicants (AP)).
e
G´n´ralisation de la NI aux syst`mes communicants II : Simulation
e e e
et bisimulation dans CCS (m´thode de preuve co-inductive, caract´risation
e e
Devoir 1
(sujet)
comme point fixe, congruences, la th´orie alg´brique, m´thode de preuve up
e e e
to). Classification des g´n´ralisations de la NI (GNI) dans les AP. Analyse
e e
modulaire de la GNI dans les AP.
8 Les protocoles cryptographiques : Br`ve introduction ` la cryptogra-
e a Pr´sen-
e
phie. Cryptographie ` cl´ publique et distribution de cl´s. Introduction
a e e tation
UV
aux protocoles cryptographiques. Requis s´curitaires. Probl`me de la com-
e e (sujet)
position. Taxonomie des attaques. Classification des m´thodes formelles
e
d’analyse des protocoles cryptographiques.
9 Analyse des protocoles cryptographiques I : Protocoles d’´change de e Mini-
cl´s et d’authentification (Needham-Schroeder, Diffie-Hellman, One-Time
e Projet
Password, ... etc.). Mod`le de Dolev-Yao de l’attaquant. La confidentialit´
e e (sujet)
et l’authentification sp´cifi´es comme propri´t´s temporelles des syst`mes.
e e ee e
Model-checking de PLTL (logique temporelle).
10 Analyse des protocoles cryptographiques II : Les protocoles d’ano-
nymat (Onion Ring, Dining Cryptographers, Crowds, Chaum-Fiat-Naor,
... etc.). Classification des propri´t´s d’anonymat. L’anonymat sp´cifi´e en
ee e e
NO
termes de probabilit´ d’occurrence d’´v´nements. Model-checking de PCTL
e e e
(logique probabiliste).
11 Analyse des protocoles cryptographiques III : Les protocoles de si-
gnature de contrats (Asokan-Shoup-Waidner, Garay-Jakobsson-MacKenzie,
Zhou-Gollmann, ... etc.). Le probl`me de l’´change ´quitable et de l’ac-
e e e
cord non-r´pudiable. L’´quit´ et la non-r´pudiation sp´cifi´es en termes de
e e e e e e
strat´gies de jeu. Model-Checking d’ATL (logique de jeux).
e
6
12 Analyse des protocoles cryptographiques IV : La mod´lisation des e
messages et de l’attaquant dans les AP. Sp´cification des propri´t´s bas´e
e ee e
sur la NI. Analyse des protocoles cryptographiques dans les AP.
13 Pr´sentations orales
e Devoir 2
(sujet)