Cryptographie Appliquée: Réf.: H5210 V2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 21

Réf.

: H5210 V2

Cryptographie appliquée
Date de publication :
10 novembre 2003

Cet article est issu de : Technologies de l'information | Sécurité des systèmes


d'information

par Pierre-Alain FOUQUE

Résumé La cryptographie est une discipline scientifique à part entière qui utilise des
concepts mathématiques et informatiques pour prouver la sécurité des schémas. Cet
article expose les principes de conception des schémas cryptographiques de chiffrement
et de signature électronique. Puis il décrit quelques limites des systèmes actuels
montrant ainsi la difficulté à concevoir des systèmes sûrs. Enfin, des exemples de
standards de communications sécurisées sont présentés.

Pour toute question :


Service Relation clientèle
Techniques de l’Ingénieur
Immeuble Pleyad 1 Document téléchargé le : 05/02/2024
39, boulevard Ornano
93288 Saint-Denis Cedex Pour le compte : 7200051538 - cnam // 163.173.128.143

Par mail :
[email protected]
Par téléphone :
00 33 (0)1 53 35 20 20 © Techniques de l'Ingénieur | Tous droits réservés
Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

Cryptographie appliquée

par Pierre-Alain FOUQUE


Ingénieur télécoms, docteur en cryptographie
Chercheur au Laboratoire de cryptographie de la direction centrale de la Sécurité
des systèmes d’information (DCSSI)

1. Contexte ..................................................................................................... H 5 210 - 3


1.1 Évolution vers une science ......................................................................... — 3
1.2 Objectifs de sécurité .................................................................................... — 3
1.3 Cryptographie moderne.............................................................................. — 4
2. Cryptographie symétrique..................................................................... — 4
2.1 Généralités sur le chiffrement .................................................................... — 5
2.1.1 Types d’attaques d’un système de chiffrement ............................... — 5
2.1.2 Premiers systèmes de chiffrement.................................................... — 5
2.2 Primitives...................................................................................................... — 6
2.2.1 Algorithmes de chiffrement par bloc ................................................ — 6
2.2.2 Algorithmes de chiffrement par flot.................................................. — 7
2.2.3 Fonction de hachage .......................................................................... — 8
2.3 Mécanismes cryptographiques .................................................................. — 9
2.3.1 Modes opératoires de chiffrement.................................................... — 9
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

2.3.2 Code d’authentification de messages............................................... — 10


2.3.3 Authentification de personne ............................................................ — 10
2.3.4 Génération d’aléas.............................................................................. — 11
3. Cryptographie asymétrique .................................................................. — 11
3.1 Rappels de mathématiques et d’algorithmique........................................ — 12
3.1.1 Calcul modulaire................................................................................. — 12
3.1.2 Exponentiation modulaire ................................................................. — 12
3.2 Système de chiffrement asymétrique........................................................ — 12
3.2.1 Types d’attaque sur les schémas de chiffrement............................. — 12
3.2.2 Cryptosystème RSA............................................................................ — 13
3.3 Mécanisme d’échange de clé et chiffrement hybride............................... — 14
3.3.1 Échange de clé Diffie-Hellman........................................................... — 14
3.3.2 Chiffrement hybride ........................................................................... — 14
3.4 Signature ...................................................................................................... — 14
3.4.1 Généralités sur les schémas de signature........................................ — 15
3.4.2 Types d’attaques ................................................................................. — 15
3.4.3 Schémas de signature RSA, DSA et ECDSA .................................... — 15
3.4.4 Applications des signatures à l’authentification d’entité ................ — 16
4. Applications de la cryptographie :
protocoles de communication ............................................................. — 16
4.1 Avantages et inconvénients des méthodes symétriques
et asymétriques ........................................................................................... — 16
4.1.1 Avantages de la cryptographie symétrique...................................... — 16
4.1.2 Inconvénients de la cryptographie symétrique................................ — 17
4.1.3 Avantages de la cryptographie asymétrique.................................... — 17
4.1.4 Inconvénients de la cryptographie asymétrique.............................. — 17
4.2 SSL/TLS ........................................................................................................ — 17
4.3 IPsec.............................................................................................................. — 17
4.4 S/MIME ......................................................................................................... — 18
5. Conclusion ................................................................................................. — 18
Bibliographie ...................................................................................................... — 18

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 1

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

ujourd’hui, les cryptographes ont défini des objectifs et des notions de


A sécurité répondant aux besoins des utilisateurs en matière de sécurité
comme la confidentialité, l’intégrité et l’authentification. La cryptographie est
devenue une discipline scientifique à part entière qui utilise des concepts
mathématiques et informatiques pour prouver la sécurité des schémas. Cepen-
dant, de nouvelles attaques viennent périodiquement ébranler la confiance des
utilisateurs. Deux attaques sur la norme de communications sécurisées
utilisée sur Internet, Secure Socket Layer (SSL), ont ainsi été largement
annoncées dans la presse et sur Internet. Ces attaques ne remettent pas en
cause les preuves de sécurité des systèmes mais montrent que la modélisation
des adversaires n’est pas idéale. En effet, pour traiter un problème de manière
théorique, les scientifiques ont besoin de modéliser la réalité. En cryptogra-
phie, il est nécessaire de représenter les buts de l’adversaire et ses moyens,
c’est-à-dire ce qu’il cherche à faire et la manière dont il interagit avec le sys-
tème. C’est ici que la cryptographie montre ses limites face à la réalité : il est
difficile d’étudier de manière exhaustive tous les adversaires possibles.
Après avoir rappelé les principes de conception des schémas cryptogra-
phiques de chiffrement et de signature électronique, nous décrirons quelques
limites des systèmes actuels montrant ainsi la difficulté à concevoir des systè-
mes sûrs. Cette difficulté est aujourd’hui liée à l’implémentation des schémas
cryptographiques dans des systèmes informatiques tels que des cartes à puce,
des cartes accélératrices, etc. Enfin, nous donnerons des exemples de stan-
dards de communications sécurisées.
(0)

Glossaire

Attaque : opération qui tente de violer les objectifs de sécurité d’un cryptosystème.
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

Authentification : preuve d’identité ou preuve de l’origine des données. Ce terme regroupe l’identification, les signatures et les MAC.
Cassage (total) : calcul de la clé secrète d’un utilisateur.
Chiffrement : transformation appliquée à un message pour assurer sa confidentialité. Il peut être déterministe ou probabiliste.
Clé : valeur qui paramètre un cryptosystème. Si elle est confidentielle, on parle alors de clé secrète ou privée, sinon on parle de clé publique.
Confidentialité : assurance que seules les personnes autorisées ont accès à l’information. Pour cela, on utilise des systèmes de chiffrement.
Contrefaçon : fabrication d’un objet sans en avoir le pouvoir légitime (connaissance de la clé secrète). Contrefaire une signature ou un MAC.
Cryptanalyse : étude des procédés de décryptage, ou plus généralement de la sécurité des cryptosystèmes.
Cryptographie : étude des procédés permettant d’assurer la confidentialité, l’intégrité et l’authentification.
Cryptosystème (mécanisme cryptographique) : système de chiffrement et plus généralement tout schéma de signature, de MAC ou de
générateur pseudo-aléatoire.
Déchiffrement : transformation inverse du chiffrement qui consiste à retrouver, à l’aide d’une clé secrète, l’information initiale contenue
dans le message chiffré.
Décryptage : action de « casser » le chiffrement, et donc de retrouver le texte clair d’un chiffré, sans connaître la clé secrète.
Fonction à sens unique : fonction simple à calculer mais difficile à inverser.
Fonction à sens unique à trappe : fonction à sens unique pour laquelle une information supplémentaire, appelée « trappe », facilite
l’inversion.
Fonction de hachage : transformation déterministe d’une chaîne de bits de taille variable en une chaîne de bits de taille fixe, telle que toute
modification de la valeur d’entrée modifie la valeur de sortie.
Générateur pseudo-aléatoire : transformation déterministe permettant de produire une chaîne de bits apparaissant aléatoire à partir d’une
entrée de petite taille.
Identification : preuve d’identité lors d’un contrôle d’accès.
Intégrité : assurance qu’un message n’a pas subi de modifications volontaires ou non.
MAC : donnée de taille fixe jointe à un message qui prouve l’identité de l’émetteur et qui garantit l’intégrité du message. Contrairement aux
signatures, seules les personnes possédant la clé secrète peuvent vérifier un MAC.
Objectifs de sécurité : les services assurés par les systèmes cryptographiques sont la confidentialité, l’intégrité et l’authentification.
Primitive : opération mathématique de base à partir de laquelle des cryptosystèmes pourront être construits. Par exemple, la primitive de
chiffrement RSA consiste à calculer c = me mod N où pk = (e, N ) est la clé publique.
Protocole : ensemble de messages échangés entre plusieurs entités.
Système (ou schéma) : ensemble d’opérations reliées combinant une ou plusieurs primitives entre elles avec d’autres techniques afin d’aug-
menter la sécurité et éventuellement traiter des messages de taille variable. Le système de chiffrement RSA consiste à rajouter un pad-
ding puis à utiliser la primitive de chiffrement RSA. Il est d’usage de parler de schéma de signature et de système de chiffrement.
Signature : donnée de taille fixe jointe à un message et qui prouve l’identité de l’émetteur, garantit l’intégrité du message et assure la
non-répudiation. Tout le monde ayant accès à la clé publique peut vérifier la signature.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 2 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

1. Contexte 1.1 Évolution vers une science


L’histoire de la cryptographie a été pendant longtemps l’histoire
La cryptographie a pour but de garantir la protection des des codes secrets et depuis l’Antiquité, ils ont décidé du sort des
communications transmises sur un canal public contre différents hommes et des nations. En effet, jusqu’aux années 1970, l’unique
types d’adversaires. La protection des informations se définit en objectif de la cryptographie était de construire des systèmes de
termes de confidentialité, d’intégrité et d’authentification. chiffrement. Les cryptosystèmes sauvèrent les Grecs des Perses,
accompagnèrent César dans ses conquêtes, firent arrêter et déca-
La confidentialité garantit que les données transmises ne sont piter Marie Stuart, décidèrent Wilson à rejoindre les Alliés et per-
pas dévoilées à une tierce personne. mirent d’épargner des milliers de vies pendant la Seconde Guerre
mondiale [5] [6] [7].
L’intégrité assure que ces données n’ont pas été modifiées entre
l’émission et la réception. L’invention de la radio a donné un nouvel élan à la cryptogra-
phie, car il est devenu encore plus facile d’intercepter une commu-
Enfin, l’authentification de message assure qu’elles proviennent nication longue distance. La Seconde Guerre mondiale a été
bien de la bonne entité et l’authentification de personne, aussi profondément affectée par l’utilisation de la cryptographie et le
appelée identification, garantit qu’une entité qui cherche à s’iden- cassage des systèmes cryptographiques utilisés pour les commu-
tifier vis-à-vis d’un système informatique est bien celle qu’elle pré- nications radio. Il est intéressant de voir que les premières
tend être. machines calculatoires conçues et construites par les Britanniques
pour casser le système de chiffrement allemand, Enigma, sont les
On distingue traditionnellement les systèmes symétriques et premiers exemples réels d’« ordinateurs », si bien que l’on peut
asymétriques. En cryptographie conventionnelle, aussi appelée dire que la cryptographie est à l’origine de l’informatique.
cryptographie symétrique (ou à clé secrète), les correspondants
La révolution d’Internet et l’utilisation de plus en plus massive
partagent la même clé pour chiffrer et déchiffrer. L’histoire de la
d’informations sous forme numérique facilitent les communi-
cryptographie symétrique est très ancienne, mais les connais-
cations et rendent de ce fait plus fragiles les informations que l’on
sances académiques dans ce domaine sont assez récentes et
détient. En effet, les réseaux « ouverts » créent des brèches de
remontent à l’invention du système de chiffrement par bloc appelé
sécurité car il est plus aisé pour un adversaire d’accéder aux infor-
Data Encryption Standard (DES) au début des années 1970. En
mations. De même, le remplacement de l’Homme par des
1976, Diffie et Hellman ont révolutionné la cryptographie en inven-
machines rend les relations beaucoup plus anonymes alors qu’en
tant des systèmes asymétriques dans lesquels émetteur et récep-
même temps, l’accès aux données demande des moyens d’authen-
teur ne partagent plus de clé commune : une clé, rendue publique,
tification forts. De plus, la dématérialisation des documents change
permet de chiffrer un message, la seconde est gardée secrète et
les moyens de preuve juridique : les signatures numériques
permet au destinataire de déchiffrer [1]. Cette découverte a modifié
doivent remplir certaines exigences que nous ne connaissions pas
la cryptographie car jusqu’alors, pour envoyer un message chiffré,
avec les signatures manuscrites. Ainsi, la révolution numérique
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

les correspondants devaient s’échanger au préalable une informa-


des communications et de l’information a ouvert de nombreux
tion secrète : la clé. En inventant la cryptographie asymétrique, Dif-
champs d’investigation à la cryptographie, différents du seul
fie et Hellman ont conçu un système où les correspondants
besoin de confidentialité, de sorte que celle-ci a envahi notre vie
peuvent s’échanger une information secrète sans se rencontrer.
quotidienne : carte à puce, transaction bancaire, Internet, télé-
phone cellulaire, télévision à péage...
Exemple : cela permet aujourd’hui d’échanger un code de carte
bleue avec un site marchand sans avoir besoin de rencontrer aupara- Dans le même temps, la cryptologie est devenue une science. La
vant le responsable du site. cryptologie, la science du secret d’après son étymologie grecque,
comprend d’une part la cryptographie, art de la conception de sys-
Dans leur article [1], ils montrent aussi comment la cryptogra- tèmes sécurisés, et d’autre part la cryptanalyse, art du cassage des
phie à clé publique permet de résoudre le problème des signatures systèmes. Par abus de langage, nous emploierons souvent le
électroniques, sans toutefois proposer un tel système. Cependant, terme cryptographie à la place de cryptologie. Les différentes tech-
ils décrivent les propriétés des fonctions permettant la création de niques employées, mélangeant mathématiques classiques du
tels schémas. Trois chercheurs du MIT (Massachusetts Institute of XVIIIe siècle et informatique théorique, lui confèrent aujourd’hui
Technology) ont alors tenté de prouver que de telles fonctions une place à part parmi les sciences. Depuis les années 1970, on a
n’existent pas jusqu’au jour où en 1977, ils en ont trouvé une. Cette assisté à une explosion de la recherche en cryptographie. Beau-
fonction est aujourd’hui appelée RSA des noms des chercheurs coup de systèmes ont été proposés, et beaucoup ont été détruits.
Rivest, Shamir et Adleman. Notre compréhension de la notion subtile de « sécurité cryptogra-
phique » a constamment progressé et, de nos jours, les cryptosys-
Aujourd’hui, la cryptographie à clé publique a permis de tèmes sont prouvés sûrs (sous certaines hypothèses plausibles).
résoudre de nombreux problèmes pratiques mais elle reste beau- Les relations fascinantes entre la cryptographie, la théorie de la
coup moins utilisée que la cryptographie à clé secrète. En effet, elle complexité et la théorie algorithmique des nombres ont petit à
demande la mise en place d’infrastructures à clé publique petit enrichi ces trois domaines de recherche.
(Public-Key Infrastructure : PKI). De plus, les systèmes symétriques
offrent de bien meilleures performances et ne requièrent pas l’uti-
lisation d’une infrastructure spécifique. Comme nous allons le voir
dans la suite, l’association des deux types de cryptographie per- 1.2 Objectifs de sécurité
met de concevoir des systèmes sûrs, efficaces et pratiques.
Mais la cryptographie moderne a aussi permis de résoudre des Commençons par voir quels services de sécurité peut garantir la
problèmes complètement nouveaux. Par exemple, elle a développé cryptographie et quelles sont ses applications dans la vie « quoti-
des techniques permettant de convaincre quelqu’un que l’on dienne ».
connaît un secret sans révéler la moindre information sur ce secret. La cryptographie ne permet pas de résoudre tous les problèmes
Ces méthodes, appelées à divulgation nulle de connaissance de sécurité informatique. Cependant, elle apporte des garanties et
(zero-knowledge ) [2], ont permis la création de systèmes d’identi- des briques de base sur lesquelles des produits peuvent être
fication [3] [4] et se sont aussi avérées très utiles pour prouver la construits. Il est bien connu que la sécurité d’un système se
sécurité de protocoles cryptographiques. mesure à son maillon le plus faible. En général, le maillon le plus

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 3

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

faible d’un système informatique n’est pas le système cryptogra- manière qu’en théorie de la complexité, où des relations entre des
phique mais, par exemple, son implémentation informatique. problèmes différents sont établies [9] [10]. On dit qu’un problème
est difficile s’il n’existe pas d’algorithme pour le résoudre en temps
En outre, il existe diverses attaques contre lesquelles la crypto- polynomial.
graphie n’est pas d’un grand secours, comme les virus informa-
tiques ou les chevaux de Troie logiciels qui profitent de la Nota : la complexité en temps est polynomiale si le nombre d’étapes de calcul T
qui dépend du paramètre de sécurité k s’exprime comme un polynôme en k : il existe
confiance exagérée des utilisateurs dans les messages qu’ils reçoi- une constante c > 0 telle que T (k) < k c pour k suffisamment grand.
vent ou dans les logiciels qu’ils utilisent (voir l’article [H 5 440]).
La complexité des problèmes difficiles (nombre d’opérations
La cryptographie participe à la sécurité informatique en propo- pour les résoudre) est donc au moins superpolynomiale ou bien
sant des primitives et des mécanismes permettant d’atteindre les même exponentielle : le temps nécessaire pour les résoudre est
objectifs de confidentialité, de protection en intégrité et d’authenti- proportionnel à 2 k si k représente la taille des entrées en bits. Ces
fication. Pour assurer le service de confidentialité, la cryptographie problèmes sont difficiles car le temps de calcul est multiplié par 2
propose des systèmes de chiffrement à clé secrète ou à clé publi- chaque fois que la taille des entrées augmente d’un bit ! En théorie
que. La protection en intégrité et l’authentification de l’origine des de la complexité, on distingue la classe de complexité appelée ,
données peuvent être assurées en utilisant des codes d’authentifi- pour polynomiale, qui regroupe l’ensemble des problèmes ayant
cation de messages (cryptographie à clé secrète) ou des signatures des algorithmes efficaces pour les résoudre et la classe  des
électroniques (cryptographie à clé publique). Enfin, le service problèmes pour lesquels aucun algorithme efficace (polynomial)
d’identification peut être garanti par l’utilisation de preuves d’iden- n’est connu pour les résoudre. Enfin, si la célèbre conjecture
tité.  ≠  s’avérait fausse, toute construction théorique de cryptosys-
tèmes sûrs et efficaces serait vouée à l’échec.
Il est d’usage de distinguer les algorithmes cryptographiques
1.3 Cryptographie moderne en deux catégories : les primitives et les cryptosystèmes ou méca-
nismes cryptographiques. Les primitives (§ 2.2) sont des briques
La cryptographie ne se contente plus aujourd’hui de construire de base ayant certaines propriétés et qui permettent de concevoir
des systèmes. On demande bien souvent qu’une preuve de sécu- des mécanismes. Les cryptosystèmes sont censés garantir la con-
rité soit apportée, permettant d’estimer la sécurité du schéma. fidentialité, l’intégrité et/ou l’authentification. Si l’on montre qu’il
Ainsi, pendant de nombreuses années, cryptographes et cryptana- existe une attaque contre ces mécanismes, alors cette attaque doit
lystes se sont combattus et tour à tour les uns prenaient le dessus aussi permettre de montrer que les primitives ne vérifient pas les
sur les autres. De nos jours, il est rare qu’un nouveau système soit propriétés qu’elles étaient supposées satisfaire.
proposé sans preuve. Mais qu’est-ce qu’une preuve de sécurité ? Enfin, il est important de voir que la cryptographie moderne fait
Comment évalue-t-on la force des adversaires ? Que cherchent-ils son entrée depuis quelques années dans les organismes de stan-
à casser ? Et quels sont leurs moyens ? dardisation tels que l’Organisation internationale de normalisation
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

Les travaux de Shannon dans les années 1940 sur les communi- (ISO), l’American National Standards Institute (ANSI), l’Internet
cations (théorie de l’information) sont précurseurs des futurs tra- Engineering Task Force (IETF) et le National Institute of Standards
vaux théoriques en cryptographie. En particulier, l’article intitulé and Technology (NIST). En effet, il existe différents projets inter-
Communication Theory of Secrecy Systems [8] a dégagé et étudié nationaux (P1363 [11]), européens (NESSIE [12]) ou japonais
la notion d’entropie et a prouvé la sécurité parfaite du schéma de (Cryptrec [13]) visant à évaluer la sécurité de certains algorithmes.
chiffrement de Vernam (§ 2.1.2). Shannon a aussi présenté des Jusqu’à présent, les normes en matière de sécurité étaient conçues
notions importantes sur la sécurité d’un protocole cryptographique à partir de schémas heuristiquement sûrs, c’est-à-dire pour les-
en distinguant sécurité inconditionnelle et sécurité calculatoire. quels il n’existait pas d’attaques connues. Cependant, comme de
Dans le premier cas, on suppose que l’adversaire a une ressource nombreux standards ont été cassés par la communauté crypto-
de temps infini, alors que dans le second cas, l’adversaire est graphique, les organismes de standardisation sont demandeurs de
borné dans le temps. Il ne peut effectuer qu’un nombre fini tels projets au cours desquels les schémas sont évalués par des
d’étapes de calcul, d’où le nom de sécurité calculatoire. Il est en spécialistes du domaine.
effet raisonnable de penser que si, pour casser un système, il faut
utiliser un million de machines pendant un million d’années, alors
le système est sûr. En pratique, on suppose que pour casser un
système cryptographique, l’adversaire a accès à plusieurs ordina-
teurs. On peut quantifier le nombre d’opérations qu’il peut faire
ainsi que le nombre d’informations qu’il est capable de stocker. Par 2. Cryptographie symétrique
exemple, un ordinateur cadencé à 1 GHz effectue un milliard de
cycles par seconde, soit environ 2 30 opérations élémentaires en
1 s. Si un million d’ordinateurs à 1 GHz fonctionnent pendant cent La cryptographie symétrique est très souvent utilisée bien
mille ans, alors ils sont capables d’effectuer environ 2 92 opéra- qu’elle souffre de problèmes inhérents au fait qu’émetteur et
tions. D’un point de vue pratique, on dira qu’un système est sûr si récepteur doivent partager la même clé.
le nombre d’opérations minimales pour le casser nécessite plus de
2 80 opérations. Si on veut se protéger de manière plus sûre, on Le premier argument en faveur des systèmes symétriques est
augmentera le niveau de sécurité à 2128. qu’ils sont plus rapides que les systèmes asymétriques car ils uti-
lisent directement les instructions câblées des processeurs du
La formalisation de la sécurité d’un protocole n’a pas été sans commerce. En effet, la cryptographie à clé publique requiert l’utili-
difficulté. On verra (§ 2.2.1) que plusieurs définitions sont possibles sation de l’arithmétique sur les grands nombres qui n’est pas
pour définir la confidentialité d’un système de chiffrement. Les implémentée dans les processeurs des ordinateurs usuels.
preuves de sécurité permettent de relier le cassage d’un système
à un problème réputé difficile. Par conséquent, pour l’attaquant, il Dans un premier temps, nous présentons quelques primitives
n’existe pas de méthode permettant de casser le système crypto- (algorithmes de chiffrement par bloc, par flot et fonctions de
graphique sans savoir aussi résoudre le problème conjecturé diffi- hachage) qui permettent de construire les protocoles ou méca-
cile. Ainsi, il a tout intérêt à tenter de résoudre le problème nismes garantissant la confidentialité, l’intégrité et l’authentifi-
sous-jacent. D’un point de vue théorique, les cryptographes éta- cation de l’origine des données (systèmes de chiffrement et codes
blissent des relations entre différents problèmes de la même d’authentification de message : MAC).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 4 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

2.1 Généralités sur le chiffrement quants. Par conséquent, afin de raisonner correctement et de
concevoir des systèmes sûrs, autant supposer que les algorithmes
sont publics. Cela permet une analyse sérieuse de l’algorithme par
Un algorithme de chiffrement se compose des éléments sui-
toute la communauté des cryptologues.
vants :
— l’espace des messages  : un ensemble de chaînes de bits Le but du chiffrement est de garantir la confidentialité des
(messages clairs) ; communications. Les premiers algorithmes de chiffrement étaient
— l’espace des messages chiffrés  : un ensemble de chaînes de basés sur les principes de substitution et de permutation.
bits (messages chiffrés) ;
■ Le chiffrement de César est un exemple de chiffrement par
— l’espace des clés K : un ensemble de chaînes de bits (clés) ;
substitution, où l’on chiffre une lettre du clair par une lettre située
— un algorithme de chiffrement  prenant ses entrées dans deux positions (modulo 26) plus loin dans l’alphabet. Ainsi, la lettre
K ×  et ses sorties dans  ; « a » est remplacée lors du chiffrement par la lettre « c », la lettre
— un algorithme de déchiffrement  prennant ses entrées dans « b » par la lettre « d », ..., la lettre « x » par la lettre « z », la lettre
K ×  et retournant un élément de  . « y » par la lettre « a » et la lettre « z » par la lettre « b ». L’inconvé-
Les algorithmes ,  et  vérifient de plus la relation suivante : nient de ce système est que les propriétés statistiques du langage
pour toute clé k ∈ K , pour tout message du message clair ne sont pas modifiées. Par exemple, la lettre la
plus courante en anglais est le « e ». Ainsi en observant la lettre la
plus fréquente dans le message chiffré, on en déduira que cette let-
2.1.1 Types d’attaques d’un système tre correspond au chiffrement de la lettre « e », si le message clair
de chiffrement est en anglais. Afin d’éliminer ces propriétés statistiques, les cryp-
tographes ont construit des systèmes de substitution polyalphabé-
Il existe plusieurs objectifs pour un adversaire [14] [15]. Si tique : une même lettre en clair peut être chiffrée de différentes
l’adversaire trouve la clé de déchiffrement, on dit alors que le manières.
système est complètement cassé. S’il est capable de déchiffrer
tous les messages, on dit que le système est cassé. Un objectif ■ On peut citer ici le chiffrement de Vigenère, cassé par Babbage
moins fort est de déchiffrer un chiffré cible c* donné. Enfin, dans et Kasiski [6] [18]. Dans le système de Vigenère, la clé est un mot
certaines applications, on souhaite qu’aucun bit du clair ne puisse de passe, CRYPTO par exemple. Pour chiffrer la première lettre du
être appris à la vue du chiffré. On parle alors de sécurité séman- message DEMAIN ATTAQUE, on utilise la première lettre du mot
tique [16]. On formalise cet objectif sous la forme du jeu suivant : de passe, C, qui indique de combien de positions on doit décaler la
dans une première phase, l’adversaire choisit deux messages lettre D. Il peut être utile de représenter les lettres par des nombres
différents M 0 et M 1 de même taille et les envoie à un oracle de et de les additionner modulo 26. La lettre A sera représentée par 0
chiffrement. Ce dernier choisit aléatoirement un bit b. Si b = 0, il et la lettre Z par 25. Les espaces sont éliminés. Ainsi, D (3) sera
chiffre le message M 0 et si b = 1, il chiffre M 1 . Le chiffré c* corres- chiffrée par la lettre C (2) pour obtenir la lettre F (5). Pour chiffrer la
pondant est renvoyé à l’adversaire. Le but de l’adversaire est de deuxième lettre du clair E, on utilise la deuxième lettre du mot de
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

deviner correctement quel message a été chiffré dans c*. Il est clair passe, R, et le chiffrement est V. On continue jusqu’à la fin du mot
qu’avec une probabilité de 1/2, l’adversaire devine le bit b. On de passe, puis on recommence au début. Ainsi, le chiffré complet
définit son avantage de gagner ce jeu comme étant la différence est FVKPBBCKRPKIG. Il est facile de voir que les lettres A et E sont
entre la probabilité qu’il devine correctement le bit b et 1/2, et on chiffrées de deux façons différentes. En cryptanalyse, on appelle
dit que l’adversaire gagne le jeu de la sécurité sémantique si son recherche exhaustive ou attaque par force brute, une attaque qui
avantage est non négligeable, c’est-à-dire qu’il existe une consiste à tester toutes les clés de déchiffrement pour retrouver le
constante c > 0 telle que l’avantage de l’adversaire soit supérieur à clair. Cependant, pour casser le système de Vigenère, la recherche
1/k c où k représente le paramètre de sécurité, soit la taille en bits exhaustive sur la clé peut prendre un temps très grand selon sa
de la clé k. La probabilité est prise sur l’espace composé du bit b, longueur. En effet, pour toute longueur t du mot de passe, il existe
de la chaîne d’aléa de l’adversaire et de la chaîne aléatoire de l’ora- (26)t mots de passe différents. Si l’on teste tous les mots de passe
cle de chiffrement si le chiffrement est randomisé. ayant 20 lettres, il faut effectuer 292 tests, ce qui est totalement
hors de portée. La cryptanalyse de ce système a donc requis l’utili-
Pour atteindre ces objectifs, l’adversaire a accès à certains sation de techniques plus fines que la force brute. Elle est basée
moyens : sur l’observation que si la même lettre apparaît décalée d’un mul-
— dans une attaque à chiffrés seuls, l’adversaire intercepte des tiple de la longueur du mot de passe, alors elle sera chiffrée de la
messages chiffrés mais ne connaît pas le clair correspondant ; même façon. Cela permet de déduire la longueur de la clé. Des sta-
— dans une attaque à clairs connus (known plaintext attack ), tistiques sur les lettres montrent que certains digrammes ou tri-
l’adversaire connaît des paires clairs/chiffrés pour des messages grammes (combinaison de 2 ou 3 lettres consécutives) sont plus
clairs non choisis ; fréquentes que d’autres. Par exemple, le trigramme « the » en
— dans une attaque à clairs choisis (chosen plaintext attack ), anglais apparaît très fréquemment alors que la probabilité d’appa-
l’adversaire a accès à une machine de chiffrement et peut obtenir rition du trigramme « xyz » est quasi nulle. Toutes ces observations
le chiffré de n’importe quel message clair ; ont permis d’attaquer efficacement le chiffrement de Vigenère.
— enfin, dans une attaque à chiffrés choisis (chosen ciphertext Pour diffuser certaines propriétés statistiques du langage clair
attack ), l’adversaire a accès à une machine de déchiffrement. Il (comme la fréquence de digrammes ou de trigrammes) sur tout le
peut obtenir le clair de tout chiffré sauf celui de c*. message chiffré, l’idée est d’échanger la position des lettres entre
le clair et le chiffré : c’est le principe du chiffrement par permuta-
tion. Pendant longtemps, les systèmes de chiffrement étaient
2.1.2 Premiers systèmes de chiffrement basés sur une succession de substitutions et de permutations.
Encore au début du XXe siècle, les machines électriques à rotors,
Une pratique saine en cryptographie est que la description des comme Hagelin ou Enigma, étaient basées sur ces opérations.
algorithmes de chiffrement et de déchiffrement soit publique et
que seule une donnée de petite taille, appelée la clé, soit détenue ■ En 1926, l’américain Vernam [19] proposa un système de chiffre-
de manière secrète. Ces principes de base constituent les ment basé sur le même principe que le chiffrement de Vigenère
« principes de Kerckhoffs » du nom du militaire français qui les mais où cette fois la clé est aussi longue que le message. Par
énonça en 1883 [17]. En effet, la sécurité d’un mécanisme crypto- conséquent, une même lettre peut être chiffrée en autant de lettres
graphique ne peut être assurée par son secret. La description peut possibles qu’il y a de lettres dans l’alphabet. Il est d’usage pour
toujours être plus ou moins rapidement obtenue par les atta- présenter ce système d’utiliser l’alphabet binaire composé de 0 et

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 5

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

de 1 : selon un codage approprié de l’alphabet, on peut représenter Les block ciphers opèrent sur des messages clairs de taille fixe.
n’importe quelle lettre par une suite de quelques bits. C’est le Un block cipher est une fonction qui envoie un bloc de n bits de
principe du codage ASCII par exemple. Pour générer une clé de clair vers un bloc de n bits de chiffré. On peut les voir comme un
chiffrement, on génère une suite aléatoire de 0 et de 1. Le chiffré chiffrement par substitution sur un grand ensemble de caractères :
du message m sous la clé k est c = m ⊕ k où ⊕ désigne le chaque bloc de 64 bits est substitué par un autre bloc de 64 bits.
XOR des deux chaînes binaires m et k (encadré 1). Pour déchif- Cette fonction est paramétrée par une clé k de bits, tirée aléatoi-
frer ce message, il convient de calculer c ⊕ k = (m ⊕ k ) ⊕ k = rement. Afin de permettre le déchiffrement unique, la fonction de
m ⊕ (k ⊕ k ) = m ⊕ 0 n = m, où n représente la taille du message m chiffrement doit être bijective (inversible). Ainsi l’espace des mes-
et 0n désigne la chaîne de bits composée de n bits à zéro. sages clairs et celui des chiffrés sont tels que  =  = { 0, 1 } n , et
l’espace des clés est K = { 0, 1 } .
■ En 1940, Shannon prouva que ce système était sûr contre
n’importe quel adversaire ayant une puissance de calcul infinie Un chiffrement (parfaitement) aléatoire est un block cipher
sous réserve que la clé soit aussi longue que le message et qu’elle implémentant toutes les (2 n ) ! bijections possibles sur les 2 n élé-
ne soit utilisée qu’une seule fois. Ainsi, dans ce système, aussi ments. Chacune des (2 n ) ! clés spécifie une permutation. Si la taille
appelé One-Time Pad, la recherche exhaustive sur les clés est des blocs est trop petite, le système est alors vulnérable aux
impossible. En effet, à chaque chiffré correspondent tous les clairs attaques basées sur les analyses statistiques comme le système de
possibles : pour tout message clair m ′, on peut trouver une clé k ′ chiffrement par substitution de César (§ 2.1.2). Comme on le verra
telle que c ′ soit le chiffré de m ′ : c ′ = m ′ ⊕ k ′. Cela a permis aux par la suite (§ 2.3.1), cela peut être évité en utilisant des modes
espions russes durant la Guerre froide de ne pas être arrêtés mais opératoires. D’autres attaques peuvent aussi être considérées mais
uniquement soupçonnés. En effet, comme ils déchiraient de leur leur complexité augmente très rapidement avec la longueur du
carnet la clé de chiffrement, n’importe quel message clair était pos- bloc ou de la clé. En pratique, pour des valeurs de n et suffisam-
sible. L’inconvénient principal de ce système est l’échange et la ment grandes, les block ciphers « apparaissent » comme aléatoires
gestion des clés : si l’on désire chiffrer un message d’un gigabit, il (pour quelqu’un qui n’a pas la clé). On notera E la fonction de chif-
faut auparavant échanger un gigabit de clé et cette clé échangée ne frement et D la fonction de déchiffrement.
servira qu’une seule fois ! Il existe deux grandes familles de chiffrement par bloc. La pre-
Cependant, Shannon démontra aussi que l’on peut construire mière famille est celle des schémas basés sur des réseaux de
des systèmes de chiffrement sûrs en utilisant les propriétés de Feistel [20] et est connue depuis l’invention du DES en 1976. La
confusion et de diffusion où une même clé de chiffrement, de seconde famille contient les schémas basés sur des réseaux de
petite taille, peut être utilisée pour chiffrer plusieurs messages. La substitution-permutation, aussi appelés SP Networks. Elle a été
propriété de confusion cherche à rendre complexes les relations introduite plus récemment. L’AES (Advanced Encryption Standard),
entre le chiffré et la clé et entre le chiffré et le clair. En effet, comme le successeur du DES, est issu de cette famille. Ces deux grandes
le chiffré peut être intercepté, il doit être impossible d’exploiter des familles font partie des algorithmes de chiffrement par bloc itéré
relations avec la clé ou avec le clair. La propriété de diffusion dis- mettant en jeu la répétition séquentielle d’une fonction interne
sipe les propriétés statistiques du clair en les répartissant dans le appelée fonction de tour. Les paramètres incluent le nombre de
tours r (rounds), la taille n du bloc, et la taille de la clé k à partir
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

chiffré et diffuse sur tout le chiffré l’influence du changement d’un


bit de clé ou de clair. Cependant, les systèmes basés sur ces pro- de laquelle r sous-clés k i sont dérivées. À cause de l’inversibilité
priétés ne seront plus « inconditionnellement sûrs» comme le sys- (permettant un déchiffrement unique), pour chaque valeur k i , la
tème de Vernam, mais uniquement « calculatoirement sûrs ». On fonction de tour est une bijection. Le choix du nombre de tours est
montre dans la suite (§ 2.2.1 et 2.2.2) comment construire de tels important : c’est un compromis entre sécurité (beaucoup de tours)
systèmes, sûrs « en pratique ». et efficacité (peu de tours). La clé est alors répartie par un algo-
rithme de dérivation de clé (key scheduling ) en r sous-clés. Le
schéma général du DES est donné sur la figure 1.
Encadré 1 – Le XOR Comme nous l’avons vu, un algorithme de chiffrement par bloc
doit être une permutation afin que la fonction de déchiffrement
L’opération binaire appelée XOR ou OU exclusif, notée ⊕, est permette d’obtenir un unique antécédent. Or il est « assez » facile
équivalente au calcul modulo 2. Cette opération est associative de construire des fonctions à clé ressemblant à des fonctions aléa-
et commutative. La table de vérité est la suivante : 0 ⊕ 0 = 0 ; toires, c’est-a-dire ayant les propriétés de confusion et de diffusion
0 ⊕ 1 = 1 ; 1 ⊕ 0 = 1 et 1 ⊕ 1 = 0. On étendra cette notation aux en utilisant des XOR avec la clé, des substitutions et des permu-
chaînes de bits en considérant que les opérations de XOR se tations. Les réseaux de Feistel (figure 2 et encadré 2) sont une
font bit à bit. Ainsi, les propriétés importantes sont : quelle que construction générique permettant de transformer une fonction en
soit la chaîne de bit a codée sur n bits, a ⊕ a = 0 n et a ⊕ 0 n = a si une permutation.
0 n représente la chaîne de n bits à 0.
Le problème avec les réseaux de Feistel est que seule une moitié
des bits L i est mixée à chaque tour. L’autre moitié R i se retrouve
au tour suivant L i +1 sans être modifiée. Ainsi, par rapport à un
2.2 Primitives réseau SP, où tous les bits du bloc sont mixés à chaque tour, il fau-
dra environ deux fois plus de tours pour une sécurité équivalente
Nous décrivons ici les primitives de cryptographie symétrique aux schémas de cette famille.
que sont les algorithmes de chiffrement par bloc (§ 2.2.1), par flot Le DES [21] est un algorithme de chiffrement par bloc basé sur
(§ 2.2.2) et les fonctions de hachage (§ 2.2.3). un réseau de Feistel utilisant des clés de 56 bits et des sous-clés de
48 bits. La taille des blocs est de 64 bits et il y a 16 tours. Nous ren-
voyons à la norme FIPS PUB 81 [22] pour la description de ce
2.2.1 Algorithmes de chiffrement par bloc schéma. Le nombre total des clés possibles est 256. Un adversaire
qui possède un couple clair/chiffré peut alors essayer toutes les
Les algorithmes de chiffrement par bloc (block ciphers ) sont
clés pour retrouver la clé utilisée. Une attaque qui retrouve la clé
parmi les primitives les plus importantes dans les systèmes crypto-
s’appelle une key recovery attack. En 1970, on pensait qu’essayer
graphiques. Ils assurent la confidentialité, mais ils peuvent aussi
être utilisés dans la construction d’autres primitives ou méca- les 256 clés différentes était une opération impossible en pratique
nismes comme les générateurs aléatoires, les algorithmes de chif- sauf peut-être pour quelques organisations. De nos jours, un
frement par flot, les codes d’authentification de messages ou les regroupement d’ordinateurs sur Internet ou la construction de
fonctions de hachage. machines dédiées permet d’effectuer 256 chiffrements DES en un

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 6 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

M1 M2 M3 M4
IP
ki

L0 k1 R0 Permutation

SBox SBox SBox SBox

L1 k2 R1

F C1 C2 C3 C4

Figure 3 – Tour d’un réseau SP


L2 R2

une deuxième clé k 2 et enfin rechiffré avec une clé k 3 :


C = E k3 ( D k2 ( E k1 ( M ) ) ) . Par conséquent, la taille des clés est de
3 × 56 = 168 bits et le temps d’exécution est trois fois plus impor-
L15 k16 R15 tant que pour le DES. Une autre solution aurait été de faire trois
chiffrements. Cependant, avec cet algorithme, si k 2 = k 3 ou k 1 = k 2 ,
F on obtient un algorithme équivalent à l’algorithme DES. On peut
aussi se demander pourquoi le NIST a proposé le Triple-DES et non
le double DES. En fait, il existe une attaque sur le double DES
IP -1 demandant le même temps qu’une attaque exhaustive sur le sim-
ple DES et exigeant environ 263 bits de mémoire. Pour cette raison,
le NIST a proposé d’utiliser directement le 3DES, pour lequel le
même type d’attaque a une complexité en temps de 2112 et en
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

Figure 1 – Schéma général du Data Encryption Standard (DES)


mémoire 263 bits. Il existe aussi une autre version du 3DES, appe-
lée 3DES 2 clés pour lequel k 3 = k 1 . Cette variante permet de dimi-
nuer la taille de la clé, sans pour autant affaiblir le schéma.
Cependant, les mauvaises performances du 3DES et l’arrivée de
réseaux informatiques de plus en plus rapides ont accéléré le rem-
Li k1 Ri placement du 3DES. Son successeur, l’AES, a été standardisé par
le NIST en 2000 (FIPS PUB 197 [23]).
F L’AES est un algorithme de chiffrement par bloc basé sur un
réseau SP utilisant des clés de 128, 192 ou 256 bits. Le nombre de
tours dépend de la taille des clés : pour des clés de 128 bits,
10 tours sont nécessaires, 12 tours pour des clés de 192 bits et
L i +1 R i +1 14 tours pour des clés de 256 bits. Enfin, la taille des blocs est de
128 bits. Nous renvoyons à la norme FIPS PUB 197 [23] pour la
description détaillée de ce schéma.
Figure 2 – Réseau de Feistel Chaque tour d’un block cipher issu de la famille des réseaux SP
est constitué d’une succession d’un XOR avec la sous-clé du tour,
d’une couche de substitution et d’une couche de permutation
(figure 3). Les fonctions de la couche de substitution et de la
couche de permutation sont de garantir la confusion et la diffusion.
Encadré 2 – Réseau de Feistel

Le but d’un réseau de Feistel est de transformer une fonction


F en permutation. Autrement dit, la fonction F n’est pas forcé- 2.2.2 Algorithmes de chiffrement par flot
ment bijective, mais la fonction G : (L i , R i ) Π(L i +1 = R i , R i +1 =
Les algorithmes de chiffrement par flot (stream cipher ) sont une
F ki (R i ) ⊕ L i ) est bijective. En effet, il est possible d’inverser classe importante d’algorithmes de chiffrement. Ils chiffrent indivi-
(L i +1, Ri +1) de manière unique. Étant donné (L i +1, R i +1), on pose duellement chaque caractère (ou bit) d’un message clair, un à la
R i = L i +1, puis L i = F ki (L i +1) ⊕ R i +1. Il est facile de vérifier fois, en utilisant une transformation qui évolue grâce à une fonc-
que L i = F ki (L i +1) ⊕ R i +1 car F ki (L i +1) ⊕ R i +1 = F ki (R i ) ⊕ R i +1 = tion de mise à jour. Par opposition, les algorithmes de chiffrement
par bloc chiffrent simultanément des groupes de caractères (ou
F ki (R i ) ⊕ F ki (R i ) ⊕ L i = L i . bits) du clair en utilisant une transformation fixe. Les stream
ciphers sont généralement plus rapides que les block ciphers en
hardware et ont des circuits moins complexes. Ils sont aussi plus
jour. Le NIST a donc proposé d’utiliser l’algorithme Triple-DES appropriés dans certains contextes (comme les communications
(3DES) : pour chiffrer un bloc de clair M, il est d’abord chiffré téléphoniques) quand le stockage temporaire des données avant
avec le DES et une clé k 1 , puis le résultat est déchiffré avec réémission est limité ou que chaque caractère doit être traité dès

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 7

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

qu’il est reçu. Enfin, ils ont la propriété de ne pas avoir de propa- Un générateur aléatoire peut être construit en utilisant un algo-
gation d’erreur et sont donc avantageux quand des erreurs de rithme de chiffrement par bloc. En effet, étant donné qu’un block
transmission sont très probables, par exemple dans les commu- cipher doit se comporter comme une permutation aléatoire, alors
nications mobiles. Cependant, la théorie dans ce domaine, assez les sorties peuvent être vues comme des bits aléatoires et impré-
proche de celle des générateurs aléatoires, n’est pas encore bien dictibles. Les modes opératoires CFB (Cipher FeedBack) ou OFB
établie, contrairement à celle des block ciphers. (Output FeedBack) sont des moyens pour générer un flux aléatoire
à partir d’un algorithme de chiffrement par bloc. Ils sont décrits au
La construction de stream ciphers est basée sur le principe du
paragraphe 2.3.1. Même si les modes CFB et OFB sont plus lents
chiffrement de Vernam (§ 2.1.2), mais évite ses inconvénients : la
que les stream ciphers, on les préfère car leur sécurité est mieux
clé est différente et aussi longue que le message mais elle est issue
connue : elle dépend uniquement de l’algorithme de chiffrement
d’une autre clé, fixe et de petite taille. Pour ce faire, les stream
par bloc (bloc de 64 bits et clé de 128 bits) pour lequel on ne dis-
ciphers génèrent, à partir d’une clé de petite taille, un flot d’aléa vu
pose aujourd’hui d’aucune attaque significative.
comme une clé aléatoire plus longue servant à un système de Ver-
nam. La clé aléatoire, appelée clé du flot (keystream), peut être
générée bit par bit ou octet par octet suivant le système. L’algo-
rithme permettant la génération de la clé du flot est un générateur 2.2.3 Fonction de hachage
pseudo-aléatoire (GPA) : k s = GPA (k ), c = m ⊕ k s .
La fonction de hachage est la dernière primitive dont nous ayons
Les algorithmes de chiffrement par flot ont l’avantage d’être très
besoin. Les fonctions de hachage sont des fonctions très utiles en
rapides. En revanche, ils présentent des propriétés qui ne sont pas
informatique. Elles permettent de représenter les éléments
forcément souhaitables comme la malléabilité du chiffré : étant
d’entrée sur peu de bits. L’espace d’entrée des fonctions de
donné un chiffré c correspondant à un clair m, il est facile
hachage est composé de toutes les chaînes de bits de taille quel-
d’obtenir le chiffré du clair m ⊕ δ en calculant c ⊕ δ. Ainsi, bien
conque, noté {0, 1}*. L’espace de sortie est l’ensemble des chaînes
qu’un adversaire ne connaisse pas le clair, il est capable de modi-
de bits de taille n, {0, 1}n. Toute entrée sera transformée en une
fier le chiffré et de maîtriser la modification induite sur le clair. De
chaîne de n bits. En cryptographie, les fonctions de hachage sont
même, si l’on sait que c correspond au chiffré du message m, on
utilisées pour construire des schémas de signature et des codes
peut calculer le chiffré de n’importe quel clair m ′ en calculant
d’authentification de messages. Elles sont basées sur les mêmes
c ⊕ m ⊕ m ′ = m ⊕ k s ⊕ m ⊕ m ′ = k s ⊕ m ′. Il faut remarquer que
principes de confusion et de diffusion que les algorithmes de chif-
cette attaque ne remet pas en cause la confidentialité du clair, mais
frement par bloc [25] [26] [27] [28].
plutôt son intégrité. Il n’est pas exigé qu’un algorithme de chiffre-
ment garantisse l’intégrité. Cependant, la propriété de malléabilité Les propriétés attendues des fonctions de hachage sont les sui-
du chiffré permet de montrer que le chiffrement n’est pas sûr dans vantes.
le cas d’attaques à chiffrés choisis (§ 2.1.1) [24].
■ Fonction à sens unique : étant donné y, il est difficile de trouver
L’algorithme RC4, conçu par les laboratoires RSA, est un algo- en un temps raisonnable une entrée x telle que H (x ) = y.
rithme très rapide et très simple à implémenter. Il est utilisé dans
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

de nombreuses normes comme SSL, IPsec (voir l’article [IP 5 605])


■ Fonction résistante aux collisions : il est difficile de trouver en
ou la norme WEP (voir l’article [TE 7 377]) pour les réseaux sans fil.
un temps raisonnable x et x ′ (x ≠ x ′) tels que H (x ) = H (x ′). Il est
Quelques faiblesses ont été découvertes mais qui ne remettent pas
clair que de tels éléments existent car l’espace d’entrée est beau-
en cause la sécurité de l’algorithme. Cependant, dans certaines
coup plus grand que l’espace de sortie.
implémentations de la norme WEP, la mise en œuvre du RC4 pré-
sente des faiblesses (voir l’article [TE 7 377]).
■ Fonction résistante à un deuxième antécédent : étant donné x
Dans une communication GSM (voir l’article [TE 7 364]), la voix et y tels que y = H (x ), il est difficile de trouver en un temps raison-
est numérisée, compressée, puis transmise sous forme de blocs de nable x ′ ≠ x tel que H (x ′) = y.
114 bits appelés trames. Environ 217 trames sont échangées Les exemples de fonctions de hachage sont MD5 (Message
chaque seconde entre le mobile et la station hertzienne du réseau. Digest numéro 5) et SHA-1 (deuxième version de la norme améri-
La communication est bidirectionnelle et le générateur doit pro- caine Secure Hash Algorithm FIPS PUB 180-1 [29]). Dobbertin [30]
duire 228 bits de clé de flot pour chaque couple de trames. Ce a trouvé des faiblesses sur la fonction de compression de MD5 et
générateur est appelé A5/1 en Europe et A5/2 en Asie. Il est fondé aujourd’hui seule la fonction SHA-1 est recommandée. La taille de
sur trois registres à décalage de longueur totale 64 bits. Après une sortie de la fonction MD5 est de 128 bits alors que celle de SHA-1
phase d’initialisation de ces registres, qui utilise la clé secrète de est de 160 bits.
64 bits, la génération de la suite pseudo-aléatoire commence en
suivant la règle suivante : dans chacun des registres, on privilégie Afin d’analyser la sécurité des fonctions de hachage, nous avons
une position particulière (les bits de contrôle d’horloge) et on pré- besoin du résultat suivant. Selon le paradoxe des anniversaires, si
lève à chaque top d’horloge le bit qui s’y trouve ; une valeur majo- l’on tire t valeurs avec remise dans un ensemble de N valeurs,
ritaire (0 ou 1) se dégage des trois registres ainsi prélevés et seuls alors la probabilité d’obtenir au moins une collision est proportion-
les registres qui ont « voté » pour le bit gagnant sont décalés. nelle à t 2/N. Ainsi, si t ≈ N , on obtient au moins une collision
Après 328 tops d’horloge, une suite de 328 bits a été générée. Les avec probabilité strictement supérieure à 1/2.
100 premiers sont trop prévisibles et ne sont pas utilisés. Il reste Nota : le nom de ce résultat vient du fait que si N = 365, alors en prenant 23 valeurs au
hasard, on obtiendra au moins une collision avec une probabilité supérieure à 1/2. En par-
donc 114 bits pour les communications mobile vers base et ticulier, si dans une salle, il y a 23 personnes, il y a plus d’une chance sur deux qu’il existe
114 bits pour les communications base vers mobile. Le niveau de au moins deux personnes qui ont leur anniversaire le même jour de l’année. En revanche,
sécurité atteint est raisonnable même si la sécurité n’est pas en 264 étant donné une valeur parmi N, la probabilité qu’il y ait une collision avec cette valeur en
comme le laisse supposer la taille des clés. Une attaque est possi- effectuant t tirages aléatoires avec remise est t /N.
ble si l’on dispose d’une puissance de calcul assez importante ainsi Ce paradoxe permet d’estimer la probabilité de collision d’une
que de suffisamment de couples de trames en clair et chiffrées. La fonction de hachage. En effet, si on modélise la fonction de
phase de précalcul est assez longue, mais on peut ensuite retrou- hachage comme une fonction aléatoire, on peut voir ses sorties
ver n’importe quelle clé avec un simple ordinateur en quelques comme des valeurs aléatoires dans {0, 1}n. Ainsi en calculant
minutes à partir de 2 s de communication ou en 1 s avec 2 min de 2 n = 2 n ⁄ 2 hachés, on a plus d’une chance sur deux d’obtenir une
communication. Cette faiblesse d’A5/1 a entraîné une modification collision. Par conséquent, les sorties d’une fonction de hachage
de l’algorithme de chiffrement, appelé F8, pour la troisième géné- doivent être suffisamment grandes. La puissance de calcul pour
ration de mobiles appelée UMTS (voir l’article [TE 7 368]). Il s’agit obtenir une collision sur SHA-1 est donc de 2 80 opérations et 264
aujourd’hui d’un block cipher. pour MD5.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 8 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

2.3 Mécanismes cryptographiques


M1 M2 M -1 M
Nous décrivons ici les mécanismes cryptographiques utilisant
les primitives définies précédemment (§ 2.2) pour garantir la confi-
dentialité, l’intégrité, l’authentification de documents et l’identifica-
Ek Ek Ek Ek
tion de personnes.

2.3.1 Modes opératoires de chiffrement C1 C2 C C


-1
On a vu que l’on savait chiffrer de longs messages avec un algo-
rithme de chiffrement par flot mais comment fait-on avec un algo- Figure 4 – Mode de chiffrement Electronic Code Book (ECB)
rithme de chiffrement par bloc ?
Les modes opératoires découpent un message M en blocs Mi de
longueur n. Si la taille du message M en bits n’est pas un multiple
de la taille du bloc, il faut ajouter des bits de bourrage pour
M1 M2 M -1 M
compléter le dernier bloc. Cette opération s’appelle le padding.
Une méthode simple consiste à toujours « padder » le message IV
avec un bit à 1 suivi d’autant de bits à zéro que nécessaire pour
obtenir un multiple de n.
Ek Ek Ek Ek
■ Mode ECB
Le mode opératoire le plus simple, appelé ECB (Electronic Code
Book, figure 4) consiste à chiffrer individuellement chaque bloc par
un appel au block cipher E. Formellement, on peut écrire que pour C0 C1 C2 C C
-1
tout bloc de clair Mi , le chiffré est Ci = E k (Mi ).
Mais ce mode permet-il de construire un schéma de chiffrement
sûr ? Supposons que l’on chiffre chaque caractère individuellement Figure 5 – Mode de chiffrement Cipher Block Chaining (CBC)
par un appel au block cipher. Même si ce mode opératoire utilise
un bon algorithme de chiffrement par bloc, il n’est pas sûr en pra-
tique. En effet, chaque caractère est chiffré par un bloc particulier du deuxième bloc avant que le premier bloc n’ait été complè-
de 64 bits mais toujours de la même façon. Une analyse statistique tement traité. Cet avantage est essentiel pour atteindre un très haut
de la fréquence des blocs permet de retrouver le chiffré des lettres débit de chiffrement. De plus, si une erreur de transmission sur-
les plus fréquentes comme dans la cryptanalyse du chiffrement de vient sur le réseau, comme le changement d’un bit du chiffré ou
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

César (§ 2.1.2). De la même manière, si on chiffre un texte codé en l’effacement d’un bloc de chiffré, le déchiffrement peut toujours
Unicode, format permettant de représenter différents alphabets, on avoir lieu et seulement un bloc de clair sera erroné.
ne peut mettre que 4 octets dans un bloc de 64 bits car chaque ■ Mode CBC
octet de clair est codé par deux octets dont l’un est constant (pour
la langue anglaise par exemple). Ainsi, en analysant la fréquence Le chiffrement en mode CBC (Cipher Block Chaining) est un
des quadrigrammes, on est capable de casser ce mode de chiffre- mode opératoire probabiliste qui ne souffre pas des problèmes du
ment, aussi forte la primitive de chiffrement soit-elle. Un autre mode ECB si l’adversaire a accès à un clair à un instant donné.
défaut de l’ECB est qu’il est déterministe : une attaque sur ce mode C’est le mode le plus utilisé. Le fonctionnement du mode CBC
permet de trouver tout clair à partir d’une phase de précalcul si la est le suivant et est décrit sur la figure 5 : tirer aléatoirement
taille des clés est suffisamment petite pour effectuer une attaque un vecteur d’initialisation C 0 ∈ {0, 1}n, et pour chaque bloc
exhaustive. Par exemple, si l’adversaire sait que le clair est un Mi , Ci = E k (Mi ⊕ C i –1). Pour déchiffrer le bloc Ci pour i  1, on
fichier Word, alors certains bits de l’en-tête sont connus et sont calcule Mi = C i–1 ⊕ Dk (Ci ). Ce mode n’est cependant pas paralléli-
fixes d’un fichier à l’autre. Ainsi, on peut supposer que l’adversaire sable car pour commencer le chiffrement du deuxième bloc, il faut
connaît par exemple le premier bloc du clair M1 et le bloc de chiffré connaître le premier bloc de chiffré. Mais il est autosynchronisable,
? ce qui veut dire qu’en cas d’erreur de transmission, seuls le bloc
C 1 . Il peut alors essayer toutes les clés en testant si E k ( M 1 ) = C 1 de clair concerné et le suivant seront erronés. En effet, d’après la
i
pour toutes les clés possibles k i . Sur un algorithme comme le DES, formule du déchiffrement, pour déchiffer Cj , il suffit que C j–1 et Cj
soient correctement transmis.
cette attaque demande 256 opérations de chiffrement, soit environ
une journée. On peut aussi précalculer et stocker les valeurs ■ Autres modes opératoires
( E ki ( M 1 ), k i ) , en triant ces valeurs suivant la première coordonnée. Enfin, les trois derniers modes permettent de générer un flux
Ensuite, lorsque l’attaquant voit passer le chiffré C avec comme aléatoire en utilisant un algorithme de chiffrement par bloc. On
premier bloc C 1 , le temps d’une recherche par dichotomie dans ce peut remarquer que dans ces trois modes, on peut utiliser une
tableau ne demande que 56 comparaisons dans le pire des cas. fonction aléatoire au lieu d’une permutation aléatoire.
Enfin, l’adversaire lit directement la clé k i utilisée et peut déchiffrer ● Le mode CFB (Cipher FeedBack), décrit figure 6, génère
les autres blocs de C. Cette attaque basée essentiellement sur une aléatoirement un bloc C 0 ∈ {0,1}n, puis pour chaque bloc Mi , on
phase de précalcul s’appelle une attaque par dictionnaire. Il est calcule Ci = E k (C i – 1) ⊕ Mi . Pour obtenir la formule de déchiffre-
également possible de faire un compromis entre le temps mis pour ment, il suffit d’inverser dans la formule précédente M i et
casser un chiffré donné et la mémoire utilisée lors de la phase de Ci : Mi = E k (C i–1) ⊕ Ci .
précalcul. Remarquons aussi que cette attaque est possible avec ● Le mode OFB (Output FeedBack) génère aléatoirement un
l’AES par exemple, mais sa complexité est beaucoup plus impor- bloc V 0 = C 0 ∈ {0, 1}n, puis pour chaque bloc Mi , on calcule
tante (il faut essayer les 2128 clés possibles) et elle ne peut pas être Vi = E k (Vi–1), et Ci = Vi ⊕ Mi . Pour déchiffrer, à partir du germe ini-
mise en œuvre actuellement en un temps raisonnable. tial C 0 , on peut recalculer la suite d’aléas Vi et déchiffrer tout bloc Ci
Notons enfin que ce mode a l’avantage d’être parallélisable, ce en utilisant la formule Mi = Ci ⊕ Vi .
qui signifie qu’une implémentation matérielle ou logicielle (sous ● Enfin, le mode compteur (CTR) permet de chiffrer en utilisant
forme de bitslice) pourrait par exemple commencer le chiffrement un compteur de blocs entre deux équipements. Le compteur, ctr, est

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 9

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

M1 M2 M M1 M2 M -1 M

IV Ek Ek Ek

C0 C1 C2 C Ek Ek Ek Ek

Figure 6 – Mode de chiffrement Cipher FeedBack (CFB) τ

Figure 7 – Schéma d’authentification CBC-MAC


initialisé à 0 et pour chiffrer le i-ème bloc, on calcule
Ci = Mi ⊕ E k (ctr ) et on incrémente le compteur. Pour déchiffer, le
correspondant maintient le compteur dans le même état que l’émet-
teur et calcule Mi = Ci ⊕ E k (ctr ). Le problème du mode CTR est que
lorsque plusieurs personnes veulent communiquer avec la même
clé, le compteur ne peut pas être connu de tous. Une version rando- M1 M2 M -1 M
misée de ce mode est alors possible. La valeur ctr est tirée aléatoire-
ment dans {0, 1}n et la machine de chiffrement chiffre le premier
bloc avec cette valeur, le deuxième avec ctr + 1 et ainsi de suite.
Ek Ek Ek Ek
Sécurité des modes opératoires
On peut montrer que les modes CBC, CFB, CTR et CTR rando- Ek '
misé garantissent la confidentialité des communications tant
que moins de 2 n /2 blocs sont chiffrés, si la primitive de chiffre-
ment par bloc se comporte comme une permutation aléatoire. τ
Le changement de clé est une opération très sensible aux
attaques. Ainsi, il faut éviter de changer de clé lorsque cela n’est
pas nécessaire pour garantir la sécurité. Si l’on utilise le DES ou Figure 8 – Schéma d’authentification EMAC
le 3DES, il faut changer de clé tous les gigabits par exemple,
alors qu’avec l’AES, en pratique, la clé a une durée de vie quasi
illimitée.
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

Si l’on veut pouvoir assurer avec ce schéma l’intégrité pour des


messages de taille variable, il faut ajouter un surchiffrement du tag
avec une autre clé : τ = E k ′ (CBC – MACk (M )) où CBC – MACk (M )
2.3.2 Code d’authentification de messages désigne le MAC précédent. Ce schéma s’appelle EMAC pour
Encrypted MAC et est décrit sur la figure 8. La sécurité de ce
Les codes d’authentification de messages (Message Authentica- schéma est garantie uniquement si moins de 2 n /2 blocs de mes-
tion Code : MAC) permettent de garantir l’intégrité des messages. sages sont authentifiés. Si E est l’algorithme DES, alors la taille des
Un algorithme de MAC génère une valeur appelée tag, de taille blocs est de n = 64 bits et il est possible de calculer 2 32 MAC assez
fixe, pour tout message d’entrée. Toute modification du message, rapidement. Il est préférable d’utiliser un algorithme comme l’AES
même d’un bit, change complètement le tag. Cette valeur est trans- utilisant des blocs de 128 bits. En effet, l’utilisation du DES avec la
mise avec le message. Ce tag est calculé en utilisant une clé majorité des MAC basée sur un CBC conduit à des attaques néces-
secrète et seules les personnes qui la connaissent peuvent calculer sitant quelques jours de calcul si l’on estime que la recherche
et/ou vérifier un tag. Pour construire des mécanismes de MAC, on d’une clé DES peut se faire en un jour.
utilise des algorithmes de chiffrement par bloc ou des fonctions de
hachage. Les propriétés recherchées sont que le calcul d’un MAC Enfin, il est possible de construire un schéma de MAC en utilisant
doit être imprédictible, c’est-à-dire que la fonction doit se des fonctions de hachage. Le schéma HMAC est très rapide et beau-
comporter comme une fonction aléatoire. coup utilisé dans les protocoles de sécurité proposés par l’IETF. Il
L’objectif d’un adversaire contre un algorithme de génération de existe une instanciation de ce schéma avec la fonction de hachage
MAC est de contrefaire l’algorithme en calculant un nouveau tag MD5 (HMAC-MD5) et une autre avec SHA-1 (HMAC-SHA-1). Pour
valide τ associé à un message m étant donné des paires de mes- authentifier un message M avec la clé K et la fonction de hachage H,
sages/tags valides (mi , τi ). on calcule τ = H (K ⊕ opad || H (K ⊕ ipad || M )) où || dénote la conca-
ténation des chaînes de bits. Les constantes opad et ipad sont en fait
Le schéma de MAC le plus utilisé est le CBC-MAC et est décrit les octets 0x36 et 0x5C, dupliqués k /8 fois si k est la taille de la clé K
sur la figure 7. Pour calculer un tag τ sur un message M, on calcule en bits. Dans les protocoles SSL (ou TLS) et IPsec, les fonctions
un CBC sans vecteur d’initialisation sur le message et le dernier HMAC sont souvent utilisées comme générateurs d’aléas afin de
bloc représente le tag. produire des clés de session de chiffrement et de MAC à partir d’une
Il est aisé de vérifier que le dernier bloc d’un chiffrement en clé maître. Cette fonction est alors utilisée pour ses propriétés
mode CBC dépend de tout le message. Ainsi, toute modification du d’imprédictibilité.
message provoquera une modification du tag avec une probabilité
écrasante. Contrairement au chiffrement CBC, le vecteur d’initiali-
sation C 0 est fixé à 0 n afin de garantir l’intégrité du premier bloc. 2.3.3 Authentification de personne
Ce schéma ne garantit que l’intégrité de messages de taille fixe.
Dans certaines applications où la taille des messages est toujours L’authentification de personne, aussi appelée identification, per-
la même, par exemple dans le cas d’instructions à authentifier, il met à une entité de prouver qu’elle est bien celle qu’elle prétend
est possible d’utiliser un tel schéma. Si la taille des messages être. La technique du login /mot de passe n’est pas sûre car un
varie, un adversaire qui ne connaît pas la clé de MAC est capable adversaire qui écoute le canal peut rejouer cette authentification et
de créer un tag valide pour de nouveaux messages. se faire passer pour l’utilisateur. Un protocole d’authentification

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 10 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

entre un utilisateur et un vérifieur est un ensemble de questions gueur k, produit une suite binaire de longueur >> k qui apparaît
posées par le vérifieur auxquelles l’utilisateur doit être capable de aléatoire. L’entrée du PRBG est appelée le germe, alors que la sor-
répondre. L’adversaire peut être simplement passif, c’est-à-dire tie du PRBG est appelée une suite de bits pseudo-aléatoires.
qu’il écoute des communications entre un utilisateur et un vérifieur La sortie d’un PRBG n’est pas aléatoire ; en fait, le nombre des
honnêtes et tente ensuite de se faire passer pour l’utilisateur à par- suites de sortie possibles est au plus une petite fraction, 2 k ⁄ 2 , de
tir de ces seules informations. Mais il peut être aussi actif : dans ce toutes les suites binaires possibles de longueur . L’objectif est de
cas, il peut prendre la place du vérifieur et poser des questions à prendre une suite binaire vraiment aléatoire et de l’étendre en une
l’utilisateur pour essayer d’extraire de l’information sur son secret. suite de longueur supérieure de telle sorte qu’un attaquant ne
Idéalement, une preuve d’authentification doit permettre à un uti- puisse pas efficacement distinguer les suites de sortie du PRBG
lisateur de prouver qu’il connaît un secret associé à une clé publi- des suites vraiment aléatoires de longueur . Par exemple, les
que tout en assurant que le vérifieur n’obtient aucun bit générateurs congruentiels linéaires produisent une suite pseudo-
d’information sur le secret et ne peut pas ultérieurement se faire aléatoire de nombres x 1, x 2, x 3 ... selon la formule de récurrence
passer pour l’utilisateur. Une preuve d’identité, pour être sûre, ne xn = ax n –1 + b mod m pour n  1 , où a, b et m sont des paramètres
doit pas être transférable. La cryptographie à clé publique permet qui caractérisent le générateur et x 0 est le germe. De tels généra-
de construire de tels schémas en utilisant des preuves zero teurs sont fréquemment utilisés pour simuler des nombres aléa-
knowledge [2] [4]. La cryptographie symétrique propose des toires, mais ne peuvent pas être utilisés en cryptographie car ils
méthodes pour l’identification mais les garanties de sécurité ne sont prédictibles. En effet, étant donné une suite de sortie partielle,
sont pas aussi fortes que celles apportées par les techniques zero le reste de la suite peut être reconstruit même si les paramètres a,
knowledge. Dans la suite, on décrit le système IFF et le système b et m sont inconnus. L’exigence de sécurité minimale pour un
OTP. PRBG est que la longueur k du germe soit suffisante pour qu’une
Le protocole IFF (Identification Friends and Foes) permet de recherche exhaustive sur les 2 k éléments ne soit pas possible en
construire un schéma d’identification sûr en pratique mais qui un temps raisonnable. Les deux propriétés des sorties du PRBG
n’est pas zero knowledge. L’utilisateur et le vérifieur partagent une sont que les bits de sortie doivent être statistiquement indistingua-
clé secrète k pour l’algorithme DES par exemple. Le vérifieur bles de suites vraiment aléatoires et qu’ils ne soient pas prédicti-
envoie un challenge aléatoire r pris dans l’ensemble {0, 1}64 et l’uti- bles par un attaquant dont les ressources en temps et en mémoire
lisateur répond par y = E k (r ). En réception, le vérifieur calcule avec sont limitées. Il existe des PRBG basés sur des principes de cryp-
tographie à clé publique comme le générateur de Blum-Blum et
?
sa clé y ′ = E k (r ) et contrôle que si y ′ = y . Il est évident que si le Shub [32] mais qui sont moins performants. Nous ne décrirons ici
vérifieur ne choisit pas les challenges de manière aléatoire dans que des générateurs basés sur des primitives symétriques.
{0, 1}64 et s’il redemande une ancienne valeur du challenge déjà La norme ANSI X9.17 [33] décrit un générateur pseudo-aléatoire
envoyé, alors une personne qui aura espionné le canal pourra efficace utilisant une clé k ∈ {0, 1}k et un état s 0 ∈ {0, 1}n. Pour
s’identifier. Cependant, d’après le paradoxe des anniversaires, si générer un bloc de n bits, le générateur utilise l’état s i–1 et le
les valeurs de r sont prises au hasard dans {0, 1}64, la probabilité temps à l’instant i, t i , et calcule la sortie y i = E k (s i–1 ⊕ E k (t i )) et le
nouvel état s i = E k (y i ⊕ E k (t i )). La valeur y i est retournée par le
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

qu’un ancien r soit redemandé est proportionnelle à t 2/264 où t est


générateur et la valeur s i est le nouvel état du générateur. Sous
le nombre de valeurs déjà demandées. Ainsi, il est recommandé de l’hypothèse que l’algorithme par bloc se comporte comme une
changer de clé k toutes les 222 interactions pour que la probabilité permutation aléatoire, ce générateur est prouvé sûr tant que moins
d’obtenir sur un ancien r soit d’environ une sur un million. de 2 n /2 blocs y i ont été générés, même si l’adversaire choisit l’état
Il existe un autre mode d’identification appelé One-Time Pass- initial ou le temps t i .
word (OTP) basé sur des fonctions de hachage supposées se La norme PUB FIPS 186 [34] décrit un générateur pseudo-aléa-
comporter comme des fonctions à sens unique (§ 3). L’idée toire basé sur des fonctions de hachage utilisant une clé k ∈ {0, 1}k
consiste à utiliser un mot de passe pwd et à le hacher t fois. La der-
et un état s 0 ∈ {0, 1}n. Pour générer un bloc de n bits, le générateur
nière valeur h t = H t (pwd) est conservée par le serveur. Lorsque le
utilise l’état s i–1 et le temps à l’instant i, t i , et calcule ∆s i–1 =
client veut s’authentifier, il calcule à l’aide de son mot de passe,
? (s i–1 – s i ) mod 2 n, y i = H s 0 ((∆s i–1 + t i ) mod 2 n ) et s i = (s i–1 +
h t –1 = H t –1 (pwd) et le serveur vérifie si H ( h t – 1 ) = h t . Si l’égalité
y i + 1) mod 2 n. La fonction H s 0 ( · ) représente une fonction de
est vérifiée, le serveur stocke h t –1 à la place de h t et ainsi de suite
tant que t > 0. Le problème de ce mécanisme est qu’un client qui hachage avec la clé s 0 , c’est-à-dire H s 0 ( x ) = Hk (s 0 + x mod 2 n ) et
veut s’authentifier avec n serveurs doit gérer n mots de passe ou Hk (·) représente la fonction de hachage où k est le vecteur d’initia-
bien les serveurs doivent se synchroniser pour qu’ils connaissent lisation de la fonction de hachage. La valeur y i est retournée par le
tous la valeur h t–t′. Ce mécanisme a été proposé par Lamport et générateur et la valeur s i est le nouvel état du générateur. Ce géné-
est parfois appelé chaîne de Lamport [31]. Il est utilisé dans cer- rateur est prouvé sûr sous l’hypothèse que la fonction de hachage
tains produits d’authentification sur Internet. se comporte comme une fonction aléatoire même si l’adversaire
peut connaître la clé tant que moins de 2 n /2 blocs y i ont été
2.3.4 Génération d’aléas générés.

En cryptographie, on a souvent besoin d’aléas pour générer des


clés ou pour randomiser les schémas de signature ou de chiffre-
ment. En général, les générateurs aléatoires mixent diverses sour-
ces d’aléas (horloge, copie d’écran, numéro de processus,
3. Cryptographie asymétrique
mouvements de la souris, intervalle entre plusieurs frappes...) dans
une première phase. Ensuite, un traitement algorithmique permet La cryptographie à clé publique (asymétrique) a été inventée par
de lisser la distribution de sortie du générateur en utilisant par Diffie et Hellman dans leur article précurseur [1]. Ils cherchaient à
exemple des fonctions de hachage ou des algorithmes de chiffre- résoudre le problème de l’échange de clé. Comment échanger une
ment par bloc. clé secrète sans avoir besoin de se rencontrer ?
Il est difficile de générer des bits aléatoires. Un générateur de Ils ont défini la notion de fonction à sens unique, centrale
bits pseudo-aléatoires (pseudorandom bit generator : PRBG) est un aujourd’hui pour la cryptographie. Les fonctions à sens unique,
algorithme déterministe qui, étant donné une suite binaire de lon- one-way functions, sont des fonctions pour lesquelles il existe un

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 11

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

algorithme efficace permettant de calculer l’image d’un point, mais pris dans Gq et modulo (p – 1) (q – 1) dans les exposants si les
il n’existe pas d’algorithme efficace pour inverser la fonction [35]. calculs s’effectuent modulo N.
Exemple : il est facile, connaissant deux nombres premiers p et q,
de les multiplier pour obtenir N = pq, mais on ne sait pas comment 3.1.2 Exponentiation modulaire
factoriser efficacement N, c’est-à-dire retrouver p et q en un temps
raisonnable. D’un point de vue algorithmique, il est possible de calculer effi-
Les fonctions à sens unique à trappe sont des fonctions à sens cacement une exponentielle modulaire a b mod N pour tout
unique telles que la connaissance d’une trappe, la clé secrète, rend entier N. Avant de commencer l’exponentiation, b peut être réduit
possible l’inversion efficace de la fonction. Elles permettent de modulo ϕ (N ) et a modulo N. Ainsi, si N fait n bits, alors
concevoir des systèmes de chiffrement asymétrique et des sché- b mod ϕ (N ) fait au plus n bits. L’algorithme naïf consisterait à
mas de signature électronique. En 1977, Rivest, Shamir et Adleman calculer b – 1 multiplications modulaires en utilisant une récursion
proposent le système RSA [36]. On peut remarquer qu’il a fallu basique. La complexité de ce calcul est Θ ( b ) multiplications, donc
plus de vingt ans aux cryptographes pour comprendre comment exponentielle en la taille de l’entrée b. En effet, la valeur
chiffrer ou signer de façon sûre avec RSA [37] [38]. b mod ϕ (N ) est représentée sur n bits, 2 n – 1  b < 2 n, et donc
Dans un système à clé publique, chaque entité a une clé secrète Θ ( b ) = Θ ( 2 n ) . Ainsi, si n = 1024, il faudra au moins 21023 multipli-
sk et une clé publique pk associée. Pour envoyer un message à A, cations, ce qui est irréaliste. Il faut donc utiliser une autre tech-
B doit obtenir la clé publique de A et chiffrer le message avec cette nique. L’algorithme d’exponentiation binaire a une complexité
clé. En réception, seul A qui connaît sa clé secrète sk peut linéaire en la taille n de l’exposant b : seulement 2 × n multiplica-
déchiffrer. tions modulaires sont nécessaires. L’idée de cet algorithme est de
décomposer l’exposant sous forme binaire :
n –1
3.1 Rappels de mathématiques b = ∑ bi 2i
et d’algorithmique i= 0

Par conséquent :
On rappelle ici quelques résultats sur les structures mathéma- n –1
tiques et comment les manipuler de manière efficace. Un entier p Σ bi 2 i n –1

∏ ( a 2 )b
i
ou q désignera un grand nombre premier, N désignera le produit ab = a i= 0
= i
mod N
de deux grands nombres premiers p et q, et n la taille de N en bits. i= 0

Enfin, les termes pour lesquels b i = 0 donnent un facteur 1 dans ce


i i
produit et les autres un facteur a 2 . Les n facteurs a 2 peuvent être
3.1.1 Calcul modulaire i
calculés avec n carrés modulaires. En effet, on obtient a 2 à partir de
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

en élevant au carré : a 2 × a 2 = a 2 + 2 = a 2 mod N .


i –1 i –1 i –1 i –1 i –1 i
a2
Les systèmes à clé publique utilisent souvent le corps Ensuite, il suffit de faire au plus n – 1 multiplications pour calculer le
Z p = {0, 1, ..., p – 1}, où p est un nombre premier, muni des opéra- produit. On obtient donc l’algorithme d’exponentiation binaire
tions d’addition et de multiplication pour lesquelles on ne garde i
(a, b, N) décrit ci-après, où la variable T contient a 2 à la i-ème itéra-
que le reste de la division euclidienne du résultat par p. On dit tion de la boucle et S contient le produit.
alors que l’on calcule modulo p. Dans un corps, tous les éléments
non nuls sont inversibles. Dans Z p , ces éléments forment un
groupe cyclique, appelé groupe multiplicatif, de cardinalité p – 1 et n –1
noté Z p* . Si q est un nombre premier divisant l’ordre p – 1 de Z p* ,
alors il existe un sous-groupe cyclique d’ordre q, noté Gq , ce
● Entrée : a, b = ∑ bi 2 i , N
i= 0
qui signifie qu’il existe un élément générateur g ∈ Gq tel que
● Sortie : a b mod N
pour tout entier y ∈ Gq , il existe x ∈ Z q tel que y = g x mod p. Dans
le cas où N est un nombre composé, l’ensemble des éléments ● S ← 1, T ← a
Z N = {0, 1, ..., N – 1} muni des opérations d’addition et de multipli- ● Pour i de 0 à n – 1 :
cation modulo N forme un anneau. Dans ce cas, les seuls éléments
inversibles sont ceux qui ne sont pas divisibles par p ou q. Soit a — si b i = 1 alors S ← T × S mod N
un entier, on dit que b est l’inverse de a modulo N s’il vérifie la — si i ≠ n – 1, T ← T 2 mod N
relation ab = 1 mod N, c’est-à-dire s’il existe un entier k ∈ Z tel que
● Retourner S
ab = 1 + kN, ou s’il existe k tel que ab – kN = 1. Par conséquent,
d’après la réciproque du théorème de Bézout, seuls les entiers a
premiers avec N, c’est-à-dire qui ne sont pas multiples de p
ou de q, sont en fait inversibles modulo N. Il y a donc 3.2 Système de chiffrement asymétrique
ϕ (N ) = pq – p – q + 1 = (p – 1) (q – 1) éléments inversibles. En effet,
les multiples de p entre 0 et N – 1 s’écrivent sous la forme kp
pour k variant de 0 à q – 1. Il y a donc q multiples de p. De même, Il existe plusieurs schémas de chiffrement à clé publique mais le
il y a p multiples de q. Mais 0 a été compté deux fois, d’où la plus connu et le plus utilisé est le système RSA [36]. Dans la suite,
formule. nous ne nous intéresserons qu’à ce cryptosystème.

Dans ces structures, le petit théorème de Fermat et le théorème


d’Euler vont nous être utiles pour concevoir les systèmes crypto- 3.2.1 Types d’attaque sur les schémas
graphiques à clé publique. Le petit théorème de Fermat dit que de chiffrement
dans le groupe Z p* , pour tout élément x ∈ Z p* , x p –1 = 1 mod p.
Dans le cas du groupe Gq , on a la relation x q = 1 mod p pour tout L’objectif le plus ambitieux d’un adversaire qui souhaite attaquer
x ∈ Gq . Le théorème d’Euler permet de généraliser ces théorèmes un système de chiffrement à clé publique est de retrouver la clé
dans le cas d’un anneau et affirme que si N = pq, pour tout entier secrète du destinataire. Si cet objectif est atteint, le schéma est dit
m ∈ Z N* , m (p –1) (q –1) = 1 mod N. La leçon de ces théorèmes est complètement cassé car l’adversaire peut déchiffrer tous les chif-
que l’on calcule modulo q dans les exposants si les éléments sont frés. Un autre objectif est de systématiquement retrouver le clair

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 12 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

associé à un chiffré. Si cet objectif est atteint, le schéma de chiffre- miers p et q entre 2 n /2–1 et 2 n /2. En effet, d’après le théorème sur
ment est cassé. Enfin, un objectif plus faible consiste à distinguer la densité des nombres premiers, un entier pris au hasard dans
le chiffrement du message clair 0 de celui du message clair 1. Dans l’intervalle [B, C ] est premier avec une probabilité de :
certaines applications où l’espace des messages  se réduit à

 
un bit, par exemple un ordre de vente ou d’achat d’actions sur 1 C B
Internet, le schéma ne doit pas laisser fuir le moindre bit d’infor- ---------------- ⋅ --------------- – ---------------
C–B ln C ln B
mation sur le clair. Cette sécurité est appelée la sécurité sémanti-
que comme en cryptographie symétrique. soit environ 2 /n. Ainsi, il y a environ 2 n / 2/n nombres premiers
L’adversaire peut monter différents types d’attaques pour entre 2 n /2–1 et 2 n /2 et si n = 1 024, on a environ 2 512 /2 9 = 2503 nom-
atteindre son objectif [14]. Dans un système à clé publique, un
bres premiers entre 2511 et 2 512. Par conséquent, une recherche
adversaire passif peut toujours monter une attaque à clairs choisis
exhaustive n’est pas possible en temps raisonnable si n est trop
(chosen plaintext attack : CPA) car il a accès à la clé de chiffrement
grand : la complexité de cette recherche demanderait un temps
et peut donc obtenir le chiffré de n’importe quel message clair. Une
attaque plus forte est une attaque à chiffrés choisis (chosen cipher- proportionnel à Θ ( 2 n / 2 /n ) . Le meilleur algorithme connu
text attack : CCA) où l’adversaire choisit des chiffrés de son choix aujourd’hui pour factoriser a une complexité en temps de calcul
et obtient par certains moyens le clair correspondant. On distingue sous-exponentielle en la taille de N . Il nécessite environ
habituellement deux types d’attaques à chiffrés choisis : Θ ( exp [ c + o ( 1 ) ] ⋅ ln [ ln (n ) ] 2 / 3 ln ( n ) 1 / 3 ) opérations pour retrouver p
— attaque à chiffrés choisis non adaptative. Dans cette attaque, et q.
l’adversaire obtient les clairs pour des chiffrés de son choix mais
ces chiffrés doivent être choisis avant de recevoir le chiffré cible c 3.2.2.1 Principes
qu’il souhaite déchiffrer ;
— attaque à chiffrés choisis adaptative. Dans cette attaque, Le problème RSA est relié au problème de la factorisation. Avant
l’adversaire peut avoir accès à la machine de déchiffrement (mais de le définir, nous avons besoin de préciser quelques notations.
pas à la clé secrète directement), même après avoir vu le chiffré Les valeurs e et d sont des nombres premiers avec ϕ (N ) et
cible c qu’il souhaite déchiffrer. L’adversaire peut demander le vérifient la relation e × d = 1 mod ϕ (N ) = 1 + k ϕ (N ). On pose
déchiffrement pour des chiffrés reliés au chiffré cible mais n’a pas pk = (e, N ) une clé publique RSA et sk = d la clé secrète associée.
le droit de demander le déchiffrement de c directement. On peut générer de manière efficace des nombres premiers
Les attaques à chiffrés choisis adaptatives peuvent apparaître à assez grands. L’algorithme de Miller-Rabin [18] permet de générer
première vue comme des attaques très puissantes mais peu réa- un nombre premier de n /2 bits en Θ ( n 3 ) multiplications. Le résul-
listes. Cependant, dans certains schémas, le message clair contient tat est un entier non premier avec une probabilité négligeable. La
de la redondance (intégrité) et le clair n’est retourné par la machine probabilité d’erreur est un paramètre de cet algorithme, on peut
de déchiffrement que si la marque d’intégrité est vérifiée. Dans le donc la définir aussi petite que l’on veut. Ensuite, il suffit de calcu-
cas d’un protocole comme SSL, un message d’erreur peut alors ler ϕ (N ) = (p – 1) · (q – 1) et de calculer d = e –1 mod ϕ (N ), ce que
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

être renvoyé. L’adversaire qui envoie un chiffré peut alors l’on peut faire de manière efficace avec l’algorithme d’Euclide
apprendre à la vue de la réponse de la machine si le clair corres- étendu.
pondant vérifie ou non la redondance (voir attaque sur SSL [39]).
Pour chiffrer un message M, on applique un encodage inver-
Ainsi, il peut apprendre certains bits du message clair. On montre
sible, aussi appelé fonction de padding f (·) [42], m = f (M ), et on
alors que si le schéma est résistant face aux attaques à chiffrés
choisis, alors le schéma est résistant face à ces attaques appelées calcule c = me mod N. Pour déchiffer c, on calcule m = c d mod N et
reaction attack. on inverse la fonction de padding pour retrouver le message M. Ce
calcul permet en effet de retrouver le message m car :
Enfin, la combinaison d’un objectif et d’un type d’attaque permet
de définir la notion de sécurité. On dit par exemple qu’un schéma c d = med = m1+kϕ (N ) = m × (m ϕ (N ) )k = m × (1)k = m mod N
est sémantiquement sûr contre des attaques à chiffrés choisis si
aucun attaquant mettant en œuvre une attaque à chiffrés choisis
ne peut distinguer le chiffré de 0 du chiffré de 1. Problème RSA
Étant donné un entier N de grande taille, produit de deux
grands nombres premiers p et q, e un entier premier avec ϕ (N ),
3.2.2 Cryptosystème RSA et c ∈ Z N aléatoirement choisi, calculer m tel que c = me mod N.
Nous présentons ici le système RSA et les principes mathéma-
tiques nécessaires à ce schéma. Ce problème paraît difficile pour une fraction non négligeable
des entiers c et si N fait 1 024 bits. On peut alors définir l’hypothèse
RSA.
Problème de la factorisation
Étant donné un entier N de grande taille, produit de deux
grands nombres premiers p et q, retrouver p et q. Hypothèse RSA
Étant donné un entier N de grande taille, produit de deux
Ce problème est difficile pour une fraction non négligeable des grands nombres premiers p et q, et e un entier premier avec
entiers N si N est suffisamment grand. Le record de factorisation a ϕ (N ), il est difficile en un temps raisonnable de calculer m tel
été atteint pour un module de 530 bits avec l’algorithme GNFS que c = me mod N pour une fraction non négligeable des entiers
(General Number Field Sieve) [40] en 2003. On conjecture qu’avec c ∈ Z N* .
cet algorithme, le nombre d’opérations pour factoriser un module
de 1 024 bits est de l’ordre de 280 opérations. La sécurité du système RSA repose sur le problème de la facto-
Le problème général de la factorisation pour un entier aléatoire risation car on ne connaît pas d’autre méthode permettant de
n’est pas un problème difficile car avec une probabilité de 1/2, le retrouver m à partir de c = me mod N que de factoriser N pour
nombre aléatoire sera pair et 2 sera un des facteurs. Cependant, retrouver ϕ (N ) et inverser e modulo ϕ (N ). Cependant, il se pour-
dans le cas particulier où N est le produit de deux grands nombres rait qu’il existe une technique permettant de retrouver m sans
premiers, le problème de la factorisation paraît difficile [41]. On factoriser N. Il est difficile de calculer ϕ (N ), pour quiconque ne
peut remarquer qu’il existe un très grand nombre de nombres pre- connaît pas la factorisation de N. En effet, il est aussi difficile de

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 13

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

factoriser que de calculer ϕ (N ) = (p – 1) (q – 1). Il est évident que Ce problème est difficile si p fait 1 024 bits et q 160 bits. Le
si l’on sait factoriser, on peut calculer efficacement ϕ (N ). Réci- meilleur algorithme connu demande dans ce cas 280 opérations.
proquement, si on connaît la valeur ϕ (N ) = N + 1 – (p + q ), alors on La sécurité du mécanisme Diffie-Hellman repose sur un pro-
connaît le produit p · q et la somme de p et q, car blème relié au problème du logarithme discret mais a priori plus
p + q = N + 1 – ϕ (N ). Il ne reste plus qu’à résoudre une équation du facile [45].
second degré X 2 – [N + 1 – ϕ (N )] × X + N pour obtenir les racines p
et q. Soit p un nombre premier, q un grand nombre premier diviseur
de p – 1 et g un générateur du groupe Gq dans Z p* . Dans le proto-
Enfin, si e est petit, le problème RSA peut être résolu pour cole de Diffie et Hellman, pour échanger une clé de session k, une
l’ensemble négligeable des entiers inférieurs à N 1/e. En effet, si entité A tire a ∈ Z q* aléatoirement, calcule g a mod p et transmet
x < N 1/e, x e mod N = x e dans les entiers : la réduction modulaire cette valeur à B. De même, l’entité B tire b ∈ Z q* aléatoirement,
n’a pas été utilisée car x e < N. Il suffit donc d’extraire une racine calcule g b mod p et la transmet à A. La clé de session est dérivée
e-ième dans Z , ce qui est un problème facile. La difficulté du pro- de g ab mod p via une fonction de hachage k = H (g ab mod p). Les
blème RSA est donc de trouver x tel qu’il existe λ ∈ [0, N e –1[ véri- deux entités A et B peuvent calculer g ab mod p : à partir de
fiant x e = y + λN. Si λ est connu, alors on peut calculer y + λN et il g a mod p et b, B calcule (g a )b mod p, et réciproquement pour A.
suffit d’extraire une racine e-ième dans Z . Le but d’un adversaire est de calculer g ab mod p à partir des
échanges interceptés g a mod p et g b mod p. Formellement, on a le
3.2.2.2 Sécurité problème suivant :
Depuis son invention en 1977, plusieurs personnes ont tenté de
casser ce système. Dans l’article Twenty years of attacks on the
RSA cryptosystem [43], Dan Boneh dresse un tableau de toutes les Problème Diffie-Hellman
attaques sur ce système. Pour chiffrer avec ce système, on recom- Étant donné g a mod p et g b mod p, calculer g ab mod p.
mande d’utiliser un formatage probabiliste comme celui décrit
dans le standard PKCS #1 [42]. Le padding assure que le message
Il est clair que si l’on sait résoudre le problème du logarithme
à chiffrer soit suffisamment grand, supérieur à N 1/e, pour que la
discret, alors on peut résoudre le problème Diffie-Hellman. En
réduction modulaire soit utile. De même, le padding est randomisé
effet, si l’attaquant sait calculer a à partir de g a mod p, alors il
pour assurer la sécurité sémantique du schéma. Pour une analyse
peut calculer (g b )a mod p comme B pour résoudre le problème
des différentes méthodes de padding pour le système RSA, le lec-
Diffie-Hellman. Cependant, comme dans le cas du problème RSA,
teur lira l’article de David Pointcheval How to Encrypt Properly with
on ne sait pas si la réciproque est vraie. Est-ce qu’un attaquant
RSA [38].
sachant résoudre le problème Diffie-Hellman sait résoudre le pro-
blème du logarithme discret ?

3.3 Mécanisme d’échange de clé


Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

et chiffrement hybride 3.3.2 Chiffrement hybride

En pratique, on ne chiffre pas des données avec un algorithme Pour chiffrer un message M, l’émetteur génère une clé de ses-
de chiffrement asymétrique. On utilise la cryptographie asymé- sion k pour un algorithme symétrique, l’AES par exemple, et chiffre
trique pour échanger une clé de session et la cryptographie symé- cette clé avec la clé publique RSA du destinataire, pk : c 0 = E pk (k ).
trique pour chiffrer les données avec cette clé de session. Puis il chiffre son message avec la clé de session de l’algorithme
En effet, l’avantage de la cryptographie à clé publique est de à clé sécrète c 1 = E k (M ). L’émetteur transmet c 0 et c 1 au destina-
garantir la confidentialité sans échange de clé préalable. En taire. En réception, ce dernier déchiffre c 0 en utilisant sa clé de
revanche, les systèmes à clé publique sont plus lents en pratique déchiffrement RSA et retrouve la clé de session k. Il peut ensuite
que les systèmes symétriques. Les systèmes asymétriques néces- déchiffrer c 1 en utilisant l’algorithme AES avec la clé k et obtient
sitent une arithmétique sur les grands nombres qui n’est pas direc- le message M.
tement câblée sur les processeurs aujourd’hui. Ainsi, les systèmes
sont environ 100 fois plus lents. Le chiffrement hybride utilise les
avantages des deux types de cryptographie pour chiffrer. On pré-
sente dans un premier temps le principe du mécanisme d’échange 3.4 Signature
de clé de Diffie et Hellman (§ 3.3.1) et dans un deuxième temps le
principe du chiffrement hybride (§ 3.3.2). Ces deux systèmes sont Les schémas de signature permettent de garantir l’intégrité d’un
très utilisés en pratique. fichier et l’authentification de l’émetteur. Les signatures électro-
niques doivent garantir les mêmes propriétés que les signatures
manuscrites. Elles doivent pouvoir être opposées aux signataires.
3.3.1 Échange de clé Diffie-Hellman La propriété de non-répudiation assure au destinataire d’un mes-
sage signé que son signataire ne pourra pas déclarer qu’il ne l’a
Contrairement au cryptosystème RSA qui permet de chiffrer, le pas signé.
mécanisme d’échange de clé de Diffie et Hellman permet d’échan-
ger une clé symétrique, mais ne permet pas de chiffrer. Dans leur Exemple : un juge peut vérifier qu’une facture a été signée et que
article précurseur [1], Diffie et Hellman ont décrit un mécanisme le client doit donc en payer le montant car il est le seul à avoir pu
permettant à deux entités de communiquer sans se rencontrer. générer la signature.
Pour présenter ce mécanisme, nous avons besoin de définir le pro-
blème du logarithme discret, très utilisé en cryptographie [44].
Les signatures électroniques sont entrées dans la législation
française depuis le 20 mars 2000. Aujourd’hui, elles nous per-
Problème du logarithme discret mettent par exemple de déclarer nos revenus sur Internet.
Contrairement aux codes d’authentification de messages qui
Étant donné un nombre premier p de grande taille, q un divi- garantissent aussi intégrité et authentification, les signatures élec-
seur premier de p – 1 de grande taille, g un générateur du troniques peuvent être vérifiées par toute personne qui connaît la
sous-groupe Gq , et un élément y aléatoirement choisi dans Gq , clé publique du signataire. De plus, la propriété de non-répudiation
trouver x mod q tel que y = g x mod p. ne peut pas être assurée par les systèmes symétriques car comme

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 14 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

le destinataire partage la clé symétrique avec le signataire, ce — contrefaçon existentielle : un adversaire est capable de
dernier peut prétendre qu’un message signé l’a été par le desti- contrefaire une signature pour au moins un message. L’adversaire
nataire. Ainsi, seule la cryptographie à clé publique permet a peu ou pas de contrôle sur le message pour lequel la signature
d’atteindre cette propriété. Enfin, il est à remarquer qu’une clé de a été obtenue.
signature ne doit être connue que par son signataire pour assurer Il y a deux attaques de base sur les schémas de signature :
la non-répudiation. Cette exigence impose alors de prendre certai-
nes mesures de protection lors de la génération de la clé secrète. — attaque à clé seulement : dans certaines attaques, l’adver-
Par exemple, une clé de signature ne devrait pas être générée par saire connaît seulement la clé publique de vérification du
une autorité car l’autorité pourrait potentiellement connaître la clé. signataire ;
Dans le cas d’une clé de déchiffrement, la clé secrète peut être — attaques à messages : ici, l’adversaire est capable d’obtenir
connue par d’autres personnes. des signatures correspondant soit à des messages connus, soit à
des messages choisis :
Exemple : dans le cas de la confidentialité de dossiers médicaux, la • attaque à messages connus : un adversaire obtient des signa-
clé de déchiffrement peut être connue de l’hôpital et du médecin tures pour un ensemble de messages, connus par l’adver-
traitant. En effet, si ce dernier est en vacances lorsqu’un patient arrive saire mais qu’il n’a pas choisis,
à l’hôpital, il peut être utile de conserver une copie de la clé de déchif- • attaque à messages choisis : un adversaire choisit un
frement. ensemble de messages pour lesquels il obtient une signa-
ture. Cette attaque est non adaptative dans le sens où les
messages sont tous choisis avant que l’adversaire n’obtienne
3.4.1 Généralités sur les schémas de signature leur signature,
• attaque adaptative à messages choisis : l’adversaire peut uti-
Une signature électronique doit dépendre du signataire et du liser le signataire comme un oracle ; il demande des signatu-
document à signer. Les signatures manuscrites ne dépendent que res pour des messages qui dépendent de la clé publique et
du signataire mais ne peuvent pas être détachées du document. des signatures précédemment obtenues. Cette attaque est
Dans le monde électronique, il est aisé de copier un fichier et de l’analogue des attaques à chiffrés choisis dans le cas des
modifier son contenu. Les signatures électroniques ne peuvent schémas de chiffrement à clé publique (§ 2.1.1).
donc pas dépendre uniquement du signataire. Bien que les attaques adaptatives à messages choisis semblent
Un schéma de signature est composé d’un algorithme de géné- être impossibles à monter en pratique, un schéma de signature
ration de clé , d’un algorithme de génération de signature et bien conçu doit néanmoins résister à ces attaques.
d’un algorithme de vérification de signature . L’algorithme de
génération de clé retourne une clé publique pk et une clé de signa-
ture sk. Ensuite, l’algorithme prend comme entrée un message 3.4.3 Schémas de signature RSA, DSA et ECDSA
m et une clé sk et génère une signature s pour le message m.
L’algorithme de vérification de signature prend comme entrée le
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

■ Schéma de signature RSA


message m, la signature s et la clé pk et retourne un bit 0 si la
signature n’est pas correcte pour le message m et 1 si la signature Le schéma de signature le plus connu est le schéma RSA. De
est valide. Un algorithme de signature doit être capable de signer même que dans le cas du chiffrement RSA, il faut utiliser un pad-
des messages de taille quelconque. ding pour garantir la sécurité du schéma. On peut trouver dans le
document [42] une description du padding PKCS # 1 version 2.1 à
Pour des raisons de performance et de sécurité des schémas, on utiliser : le message M est encodé en utilisant la fonction de pad-
ne signe pas en général tout le message m mais seulement un ding f (·), puis le résultat m = f (M ) est élevé à la puissance d
haché h. Ce modèle de schémas de signature est appelé hash- modulo N. Seul le possesseur de la clé secrète peut effectuer ce
and-sign. Le problème est que deux messages qui ont la même
calcul : s = m d mod N. Toute personne qui connaît la clé publique
image par H auront la même signature. Il est donc essentiel que les
pk = (e, N ) peut vérifier la validité d’une signature (M, s ) si l’égalité
fonctions de hachage employées vérifient les propriétés de résis-
?
tance aux collisions et de résistance à une seconde pré-image. La s e mod N = m est vérifiée où m est calculé à partir du message M
propriété de résistance aux collisions est essentielle car elle permet et en utilisant la fonction de padding f (·). En effet, si (M, s ) est un
par exemple d’empêcher un signataire de répudier une signature couple valide, alors s = m d mod N et donc s e = m ed = m mod N. Il
en créant des fichiers ayant la même image par H. Si un signataire a été prouvé qu’un adversaire capable de créer une signature
est capable de trouver des collisions pour deux messages x et x ′, valide pour un nouveau message peut être utilisé pour contredire
alors il pourrait renier une signature sur le message x en préten- l’hypothèse RSA.
dant avoir signé le message x ′. De même, la propriété de résis-
tance à un deuxième antécédent (§ 2.2.3) empêche un attaquant de La fonction de padding PKCS # 1 v2.1 est très importante car si
trouver un deuxième message ayant la même signature qu’un le message n’est ni haché ni paddé et si l’algorithme de signature
message signé donné. calcule simplement s = m d mod N où m = M (f ) avec f ici la fonc-
tion identité, alors il est facile de contrefaire existentiellement une
signature : il suffit de choisir aléatoirement s ∈ Z N et de poser
M = m = s e mod N. Il est facile de voir qu’un tel message m a bien
3.4.2 Types d’attaques pour signature s. Cependant, l’adversaire n’a aucun moyen d’obte-
nir un message M ayant un sens. Le choix du padding est très
Le but d’un adversaire est de contrefaire des signatures, important pour la sécurité de la signature RSA [48]. Par
c’est-à-dire produire des signatures qui seront acceptées comme conséquent, quand on parle de signature RSA, il vaut mieux parler
celles d’un autre signataire [46] [47]. Nous décrivons ici ce que du schéma RSA-PKCS # 1 v2.1 pour être précis. Le padding
signifie casser un schéma de signature : PKCS # 1 a été révisé en 1999 pour adopter des schémas prouvés
— cassage total : un adversaire est capable soit de calculer la clé sûrs sous certaines hypothèses. En effet, les paddings proposés
secrète du signataire, soit de trouver un algorithme de signature dans PKCS # 1 v1.5 contraient les attaques élémentaires mais leur
fonctionnellement équivalent à l’algorithme de génération de conception était heuristique : on ne connaissait pas d’attaque
signature ; contre le schéma RSA utilisé avec ce padding mais il se peut qu’il
— contrefaçon sélective : un adversaire est capable de créer une existe une attaque contre ce schéma de signature sans qu’il existe
signature valide pour un message particulier ou pour une classe de pour autant un attaquant contre le problème RSA. Encore
messages choisis a priori ; aujourd’hui, beaucoup d’implémentations utilisent ces paddings.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 15

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

■ Schémas de signature DSA et ECDSA


4. Applications de la
Il existe un autre schéma de signature appelé DSA (Digital Signa-
ture Algorithm) normalisé par le NIST [35]. Le signataire utilise une cryptographie : protocoles
clé secrète sk = x ∈ Z q* et une clé publique y = g x mod p. Pour de communication
signer un message m, le signataire tire aléatoirement un random k
dans Z q* et calcule r = (g k mod p) mod q, puis s = k –1 {h (m ) + xr }
mod q. La signature du message m est le couple (r, s ). Pour vérifier La cryptographie est utilisée aujourd’hui dans de nombreuses
une signature (r, s ) sur le message m, le signataire vérifie si applications : dans les téléphones portables, sur Internet ou pour la
0 < r < q et 0 < s < q et calcule w = s –1 mod q et h (m ). Puis, il cal- télévision à péage. Dans le cas des téléphones mobiles, la crypto-
cule u 1 = w · h (m ) mod q et u 2 = rw mod q et accepte la signature graphie est utilisée pour assurer la confidentialité des communi-
cations. En effet, la loi sur les télécommunications oblige les
?
si l’équation suivante est vérifiée v = ( g 1 y 2 mod p ) mod q . La
u u
opérateurs à garantir la sécurité des communications des utili-
sécurité de ce schéma repose sur le problème du logarithme dis- sateurs. En particulier dans le cas des téléphones mobiles, les
cret (§ 3.3.1). communications entre le téléphone et la station hertzienne sont
chiffrées. On utilise uniquement la cryptographie à clé secrète et
Ce schéma peut aussi être défini dans le groupe des points d’une l’algorithme de chiffrement est un algorithme par flot appelé A5.
courbe elliptique et le schéma prend le nom de ECDSA (Elliptic Sur Internet, la cryptographie permet de garantir la confidentialité
Curve Digital Signature Algorithm). Dans une telle structure, le pro- de certaines communications comme la transmission du code
blème du logarithme discret est apparemment encore plus difficile, d’une carte bleue (protocole SSL) ou d’assurer la confidentialité,
ce qui permet de prendre des clés plus petites pour un niveau de l’intégrité et l’authentification de l’émetteur dans les messageries
sécurité équivalent. On peut remarquer que le schéma de signature électroniques (protocole S/MIME) (voir l’article [H 5 330]). Enfin, la
DSA n’a pas été prouvé aussi difficile à casser que résoudre le pro- cryptographie est aussi utilisée dans le cas des télévisions à péage
blème du logarithme discret. Ainsi, il se pourrait qu’un adversaire pour que seuls les usagers autorisés puissent avoir accès aux pro-
soit capable de créer une signature valide pour un nouveau mes- grammes. Ainsi, les programmes sont chiffrés et seuls les abonnés
sage sans être pour autant capable de résoudre le problème du connaissent la clé de déchiffrement. De plus, la cryptographie per-
logarithme discret. met aujourd’hui par exemple de détecter les décodeurs pirates
Ce schéma de signature est probabiliste et utilise un générateur mais, pour des raisons économiques, ces systèmes sont peu
pseudo-aléatoire. La description de ce générateur est donnée dans employés.
la norme [35] et nous l’avons décrit au paragraphe 2.3.4. Il est
important d’avoir un bon générateur d’aléa pour utiliser de
manière correcte DSA ou ECDSA. En effet, la connaissance des
3 bits de poids fort ou de poids faible pour environ une centaine de 4.1 Avantages et inconvénients
signatures permet de casser ce schéma. des méthodes symétriques
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

et asymétriques
■ Comparaison
On peut comparer les différents schémas en fonction de la taille Dans cette partie, nous résumons quelques avantages et incon-
de la clé ou du temps de génération ou de vérification ou du pro- vénients des cryptosystèmes symétriques et asymétriques.
blème sur lequel repose la sécurité du schéma. Le schéma ECDSA Les points importants en pratique sont :
utilise des clés plus courtes et est le plus rapide en vérification. Le
schéma RSA est rapide pour la génération de signature. Le schéma — la cryptographie à clé publique permet de concevoir des sché-
DSA est plus rapide que RSA en vérification et a des signatures mas de signature efficaces qui garantissent la propriété de
plus courtes que RSA. L’avantage du schéma DSA par rapport au non-répudiation. Elle permet aussi de faciliter la distribution de clés
schéma ECDSA est que le problème du logarithme discret sur de session pour des systèmes symétriques ;
courbe elliptique est un problème plus récent et donc moins étudié — la cryptographie symétrique est très efficace pour chiffrer ou
que celui sur Z p* . De plus, le schéma DSA n’a pas de preuve de pour garantir l’intégrité et l’authentification des données.
sécurité, contrairement à RSA et ECDSA.

4.1.1 Avantages de la cryptographie symétrique


3.4.4 Applications des signatures
à l’authentification d’entité ■ Les algorithmes symétriques sont conçus pour chiffrer très rapi-
dement d’importants volumes de données. Certaines implémenta-
tions sous forme matérielle atteignent des débits de quelques
Les signatures numériques permettent d’assurer l’authenti- gigabits par seconde alors que les implémentations logicielles
fication des entités. Le protocole d’authentification décrit dans la atteignent des débits de centaines de mégabits par seconde.
norme ITU X.509 [49] [50] emploie des signatures RSA. Pour
s’authentifier, l’utilisateur reçoit un challenge r et renvoie une ■ Les clés des systèmes symétriques sont relativement courtes.
signature sur le message r. N’importe quel vérifieur peut s’assurer
que la signature est correcte. L’utilisateur fait la preuve qu’il
■ Les algorithmes de chiffrement symétriques sont des primitives
connaît la clé de signature d. De même, dans le protocole SSL, le
utilisées pour construire différents mécanismes cryptographiques
serveur s’authentifie en faisant la preuve qu’il est capable de
comme les générateurs pseudo-aléatoires de nombres, les fonc-
déchiffrer correctement. L’authentification du client est, elle,
tions de hachage ou encore les codes d’authentification de mes-
optionnelle et se fait conformément au protocole X.509.
sages.
Enfin, il est important de noter ici qu’il vaut mieux utiliser une clé
pour chaque usage cryptographique différent, par exemple, une clé ■ Les systèmes symétriques ont une histoire assez longue, même
de signature et une autre clé pour authentifier, même si c’est la si la plupart des connaissances dans ce domaine ont été acquises
même opération de signature qui est utilisée. En effet, si le véri- depuis l’invention récente des ordinateurs et en particulier depuis
fieur, au lieu d’envoyer un challenge aléatoire, envoie un message, la conception de la norme du Data Encryption Standard au début
il obtient en réponse une signature pour un message de son choix. des années 1970.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 16 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

4.1.2 Inconvénients de la cryptographie Tout protocole de communications sécurisées s’effectue en deux


symétrique phases. La première phase permet aux entités d’échanger une clé
maître, de négocier les algorithmes de chiffrement symétrique et
■ Dans une communication entre deux parties, la clé doit rester de code d’authentification de messages et d’authentifier les entités.
secrète des deux côtés. La deuxième phase permet d’échanger les données de manière
confidentielle et intègre en utilisant les clés et algorithmes symé-
triques échangés dans la première phase.
■ Dans un grand réseau, il peut y avoir beaucoup de paires de clés
à gérer sur chaque équipement. S’il y a n entités dans le réseau, La première phase est la plus importante. On peut utiliser l’algo-
chaque entité requiert n – 1 clés afin de pouvoir discuter avec rithme d’échange de clé Diffie-Hellman mais le plus souvent, il
toutes les autres entités. En conséquence, le système de gestion de s’agit d’un chiffrement hybride avec l’algorithme RSA. Dans ce cas,
clés doit gérer n (n – 1)/2 clés dans le système. c’est le client qui choisit une clé maître et la chiffre avec la clé
publique du serveur. Le serveur s’authentifie vis-à-vis du client en
■ Selon les mécanismes cryptographiques choisis, il se peut que prouvant sa connaissance de sa clé secrète. Pour ce faire, il
le système nécessite de changer les clés assez souvent. déchiffre la clé maître en utilisant sa clé secrète RSA. Puis il génère
deux clés MAC, l’une du serveur vers le client et l’autre du client
■ On ne peut pas concevoir de schéma de signature électronique vers le serveur et deux clés de chiffrement dans les deux sens. Le
basé sur de la cryptographie symétrique si l’on veut garantir la pro- client fait de même pour générer les clés en utilisant la clé maître
priété de non-répudiation. avec un générateur pseudo-aléatoire basé sur la fonction HMAC.
Le serveur génère le MAC des messages envoyés précédemment
avec la clé serveur vers client et le client avec la clé client vers
serveur. Les vérifications de ces MAC permettent au client et au
4.1.3 Avantages de la cryptographie asymétrique serveur de s’assurer qu’ils partagent bien les mêmes clés symétri-
ques. De plus, le client authentifie le serveur car pour calculer la clé
■ Seule la clé secrète a besoin d’être conservée de manière de MAC, il a dû correctement déchiffrer la clé maître et seul le
secrète. L’authentification de la clé publique doit cependant être serveur, possédant légitimement la clé secrète RSA, a pu effectuer
garantie. ce déchiffrement. Le client peut optionnellement s’identifier au
serveur en utilisant le protocole X.509.
■ Selon l’usage, une paire de clés (publique/secrète) peut être uti-
lisée plus longtemps qu’une clé symétrique.

■ La cryptographie à clé publique permet de réaliser des schémas 4.3 IPsec


de signature électronique assurant un service de non-répudiation.

■ Dans un grand réseau, le nombre de clés est beaucoup plus Le fonctionnement du protocole IPsec est similaire à celui du
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

petit que dans un système symétrique car seulement 2n clés sont protocole SSL. Il est standardisé par l’IETF. Le protocole IPsec a été
nécessaires s’il y a n utilisateurs dans le réseau. conçu pour assurer la sécurité du protocole IP (Internet Protocol).
Il faut ajouter ce protocole de sécurité au protocole IP. La sécurité
du protocole est prise en compte de manière native dans la
version 6 du protocole IP, ce qui n’est pas le cas de la version 4
4.1.4 Inconvénients de la cryptographie utilisée actuellement. Il existe deux modes : l’un permettant de
asymétrique chiffrer de bout en bout et l’autre permettant la création de tunnels
sécurisés, c’est-à-dire que les données sont chiffrées uniquement
■ Les performances des systèmes asymétriques sont beaucoup entre deux routeurs par exemple et non à l’intérieur du réseau de
moins bonnes que celles des systèmes symétriques car ces sys- l’entreprise supposé sécurisé. Dans le cas d’un tunnel, tout le
tèmes nécessitent de pouvoir calculer sur des grands nombres. paquet IP est chiffré alors que seule la partie « données » est chif-
frée dans le cas d’un chiffrement de bout en bout car on ne peut
■ La taille des clés est généralement plus grande pour ces sys- pas chiffrer l’en-tête qui contient les adresses IP. Dans le cas d’un
tèmes que pour les systèmes à clé secrète. tunnel, les protocoles IPsec garantissent la confidentialité de
l’adresse IP. Cela peut aussi être garanti en utilisant des méca-
■ Aucun cryptosystème à clé publique n’a été prouvé incondition- nismes de translation d’adresse sur le routeur de sortie de l’entre-
nellement sûr. (On peut dire la même chose pour les algorithmes prise.
symétriques de chiffrement par bloc ou par flot.) Les cryptosys- Durant la première phase, le protocole Internet Key Exchange
tèmes à clé publique sont cependant prouvés sûrs si certaines (IKE) permet d’échanger la clé maître, d’authentifier les entités et
hypothèses de théorie algorithmique des nombres existent. de gérer les associations de sécurité (Security Association : SA).
Les associations de sécurité contiennent les algorithmes de chiffre-
■ La cryptographie à clé publique nécessite la mise en place d’une ment et de MAC, et les clés de chiffrement et d’authentification des
infrastructure de gestion de clé afin d’éviter les attaques par le données. Ces SA sont stockées dans des bases de données de
milieu. sécurité (SADB) en utilisant comme clé de la base de données
l’adresse IP de la machine émettrice et le numéro de SA. Ainsi,
quand une station du réseau reçoit un paquet IP sécurisé, elle uti-
Pour plus de détails, le lecteur est invité à consulter l’article
lise le bon algorithme de chiffrement et de MAC et la bonne clé de
Certification électronique [H 5 510].
chiffrement et de MAC.
Durant la deuxième phase, le protocole Encapsulated Security
Payload (ESP) permet de garantir la confidentialité et l’intégrité des
données, et de l’en-tête dans le cas d’un tunnel, alors que le pro-
4.2 SSL/TLS tocole Authentication Header (AH) permet de garantir l’intégrité
des paquets IP, y compris certaines données de l’en-tête des
Le protocole SSL (Secure Socket Layer) a été inventé par la paquets IP. En effet, les champs qui varient, comme le nombre de
société Netscape, puis standardisé au niveau de l’IETF sous le nom routeurs traversés, ne peuvent pas être utilisés pour calculer le
TLS (Transport Layer Security). MAC car les routeurs intermédiaires n’ont pas la clé de MAC.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 17

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

CRYPTOGRAPHIE APPLIQUÉE _____________________________________________________________________________________________________________

Pour plus de détails, le lecteur est invité à consulter l’article 5. Conclusion


Protocole IPsec [IP 5 605].
La cryptographie a défini les notions de sécurité et prouvé la
sécurité de cryptosystèmes de chiffrement, de codes d’authen-
tification de messages et de signatures numériques. De plus, des
4.4 S/MIME protocoles de plus haut niveau, comme des systèmes de commu-
nications sécurisées ou de votes électroniques, ont été conçus.
Aujourd’hui, la cryptographie tente de concevoir des systèmes
Le protocole S/MIME permet d’envoyer des messages chiffrés et plus sûrs et plus efficaces comme par exemple des systèmes
signés dans les e-mails. Le standard Cryptographic Message Syn- garantissant intégrité et confidentialité en passant une seule fois
tax (CMS) [51] décrit le format des en-têtes des messages signés sur le message clair au lieu de passer une première fois pour le
et des messages chiffrés. L’en-tête de ces fichiers doit contenir la chiffrer et de repasser pour garantir l’intégrité du chiffré. Enfin,
signature et des informations supplémentaires comme les certifi- tous les modèles d’adversaires n’ont pas encore été définis.
cats des clés publiques permettant de vérifier la signature de ces Aujourd’hui, les attaques du monde réel sont réalisées soit sur des
fichiers. protocoles qui n’ont pas été prouvés sûrs, soit parce que le modèle
d’adversaire ne reproduit pas le monde réel. Ainsi, dans certaines
cartes à puce, l’adversaire peut accéder à des informations sur la
Pour plus de détails, le lecteur est invité à consulter l’article clé secrète à partir d’observations sur le temps de calcul ou la puis-
Sécurité des e-mails : PGP et S/MIME [H 5 330]. sance consommée. Enfin, certaines attaques sont dûes à une mau-
vaise implémentation des mécanismes cryptographiques.

Bibliographie

Références [14] BELLARE (M.), DESAI (A.), POINTCHEVAL (D.) [27] MERKLE (R.). – One Way Hash Functions and
et ROGAWAY (P.). – Relations Among Notions DES. Crypto ’89, LNCS, 435, p. 428-446, Sprin-
of Security for Public-Key Encryption Sche- ger-Verlag (1990).
[1] DIFFIE (W.) et HELLMAN (M.E.). – New Direc-
mes. Crypto ’98, LNCS 1462, p. 26-45, Sprin- [28] DAMGÅRD (I.B.). – A Design Principle for
tions in Cryptography. IEEE Transactions on
ger-Verlag (1998).
Information Theory, 22, no 6, p. 644-654 Hash Functions. Crypto ’89, LNCS, 435, Sprin-
(1976). [15] DOLEV (D.), DWORK (C.) et NAOR (M.). – ger-Verlag (1990).
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

[2] GOLDWASSER (S.), MICALI (S.) et RACKOFF Non-Malleable Cryptography. Proc. of the [29] FIPS PUB 180-1. Secure Hash Standard (SHS).
(C.). – The Knowledge Complexity of Interac- 23rd STOC, ACM Press, New York (1991). NIST (1995).
tive Proof Systems. Proc. of the 17th STOC, [16] GOLDWASSER (S.) et MICALI (S.). – Probabi- [30] DOBBERTIN (H.). – The Status of MD5 After a
p. 291-304, ACM Press (1985). listic encryption. Journal of Computer and Recent Attack. CryptoBytes, 2 (2), p. 1-6
[3] FEIGE (U.), FIAT (A.) et SHAMIR (A.). – Zero- System Sciences, 28, p. 270-299 (1984). (1996).
Knowledge Proofs of Identity. Journal of [17] KERCKHOFFS (A.). – La cryptographie militaire. [31] LAMPORT (L.). – Password Authentication with
Cryptology, 1, p. 77-95 (1988). Journal des sciences militaires, IX (1883). Insecure Communication. Communications of
[4] FIAT (A.) et SHAMIR (A.). – How to Prove http://www.cl.cam.ac.uk/~fapp2/kerckhoffs the ACM, 24, 11, p. 770-771 (1981).
Yourself : practical solutions of identification [32] BLUM (L.), BLUM (M.) et SHUB (M.). – A sim-
[18] MENEZES (A.), VAN OORSCHOT (P.) et
and signature problems. Crypto ’86, LNCS, ple unpredictable pseudo-random number
VANSTONE (S.). – Handbook of Applied Cryp-
263, p. 186- 194, Springer-Verlag (1987). generator. SIAM Journal of Computing, 15,
tography. CRC Press (1997).
p. 364-383 (1986).
[5] KAHN (D.). – La Guerre des Codes Secrets :
[19] VERNAM (G.S.). – Cipher Printing Telegraph [33] ANSI X9.17 : Financial Institution Key Mana-
des hiéroglyphes à l’ordinateur. Inter-Éditions
Systems for Secret Wire and Radio Telegra- gement (Wholesale). American National Stan-
(1980).
phic Communications. Journal of the Ameri- dards Institute (1985).
[6] SINGH (S.). – L’histoire des codes secrets. J.C. can Institute of Electrical Engineers, 45,
Lattès (2000). p. 109-115 (1926). [34] FIPS PUB 186. Digital Signature Standard
(DSS). NIST (1994).
[7] STERN (J.). – La Science du Secret. Odile [20] FEISTEL (H.). – Cryptography and Computer
Jacob (1998). [35] GOLDREICH (O.). – Foundations of Cryptogra-
Privacy. Scientific American, 228 (5), p. 15-23 phy. Cambridge University Press, Weizmann
[8] SHANNON (C.E.). – Communication Theory of (1973). Institute of Science (2001).
Secrecy Systems. Bell System Technical Jour- [21] FIPS PUB 46-3. Data Encryption Standard
nal, 28 (4), p. 656-715 (1949). [36] RIVEST (R.L.), SHAMIR (A.) et ADLEMAN (L.M.).
(DES). NIST (1999). – A method for obtaining digital signatures and
[9] GAREY (M.R.) et JOHNSON (D.S.). – Compu- public-key cryptosystem. Communications of
[22] FIPS PUB 81. DES Modes of Operation. NIST
ters and Intractability, A Guide to the Theory the ACM, 21 (2), p. 120-126 (1978).
(1980).
of NP-Completeness. Freeman, New-York
[23] FIPS PUB 197. Advanced Encryption Standard [37] BELLARE (M.) et ROGAWAY (P.). – Optimal
(1979).
(AES). NIST (2000). Asymetric Encryption – How to Encrypt with
[10] PAPADIMITRIOU (C.H.). – Computational RSA. Eurocrypt ’94, LNCS, 950, p. 92-111,
Complexity. Addison-Wesley Publishing [24] RACKOFF (C.) et SIMON (D.R.). – Non-Interac- Springer-Verlag (1994).
Company (1995). tive Zero-Knowledge Proof of Knowledge and [38] POINTCHEVAL (D.). – How to Encrypt Properly
[11] IEEE P1363 Standard Specifications For Chosen Ciphertext Attack. Crypto ’91, LNCS, with RSA. CryptoBytes, 5 (1), p. 10-19 (2002).
Public-Key Cryptography 576, p. 433-444, Springer-Verlag (1992).
[39] BLEICHENBACHER (D.). – Chosen Ciphertext
http://grouper.ieee.org/groups/1363 [25] CARTER (L.) et WEGMAN (M.). – Universal Attacks Against Protocols Based on the RSA
[12] New European Schemes for Signatures, Inte- Hash Functions. Journal of Computer and Encryption Standard PKCS #1. Crypto ’98,
grity and Encryption (NESSIE) System Science, 18, p. 143-154 (1979). LNCS, 1462, p. 1-12, Springer-Verlag (1998).
http://www. cryptonessie.org [26] WEGMAN (M.) et CARTER (L.). – New Hash [40] LENSTRA (A.K.) et LENSTRA Jr. (H.W.). – The
[13] CRYPTREC Functions and their use in Authentication and Development of the Number Field Sieve. Lec-
http://www.ipa.go.jp/security/enc/CRYPTREC/ Set Equality. Journal of Computer and Sys- ture Notes in Mathematics, 1554, Sprin-
index-e.html tem Science, 22, p. 265-279 (1981). ger-Verlag (1993).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 18 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

____________________________________________________________________________________________________________ CRYPTOGRAPHIE APPLIQUÉE

[41] COHEN (H.). – A Course in Computational [48] BELLARE (M.) et ROGAWAY (P.). – The Exact Algorithms and Complexity). Elsevier, MIT Press
Algebraic Number Theory. Graduate Texts in Security of Digital Signatures - How to Sign (1990).
Mathematics, 138, Springer-Verlag (1993). with RSA and Rabin. Eurocrypt ’96, LNCS, SCHNEIER (B.). – Cryptographie Appliquée. Interna-
1070, p. 399-416, Springer-Verlag (1996). tional Thomson Publishing France, Paris (1995).
[42] PKCS #1 : RSA Cryptography Standard. Version
2.1. RSA Security (2002). [49] ITU Rec. X.509 3-2000 Information technology Traduction de « Applied Cryptography, Proto-
http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1 – Open Systems Interconnection – The Direc- cols, Algorithms, and Source Code in C », John
tory : Public-key and attribute certificate fra- Wiley & Sons (1994).
[43] BONEH (D.). – Twenty years of attacks on the meworks. STINSON (D.R.). – Cryptography, Theory and Prac-
RSA cryptosystem. Notices of the American
[50] ISO/IEC 9594-8 2-2002 Technologies de l’infor- tice. CRC Press (1995).
Mathematical Society (AMS), p. 203-213
(1999). mation – Interconnexion des systèmes
ouverts (OSI) L’annuaire : Cadre général des
[44] LENSTRA (A.K.) et LENSTRA Jr. (H.W.). – certificats de clé publique et d’attribut (correc-
« Algorithms in number theory ». Dans Hand- Dans les Techniques de l’Ingénieur
tifs 1 à 4 publiés en 2002 et 2003).
book of Theoretical Computer Science
(Volume A : Algorithms and Complexity). [51] HOUSLEY (R.). – Cryptographic Message Syn- MAIGRON (P.). – Securité des e-mails : PGP et
Elsevier, MIT Press (1990). tax (CMS). RFC 3309, IETF (2002). S/MIME. H 5 330, traité Informatique (2003).
[45] BONEH (D.). – The decision diffie-hellman FILIOL (E.). – Virus informatiques. H 5 440, traité
problem. Proc. of the Third Algorithmic Num- Informatique (2003).
ber Theory Symposium, LNCS, 1423, p. 48-63, Ouvrages et articles RIBIÈRE (G.). – Certification électronique. H 5 510,
Springer-Verlag (1998). traité Informatique (2003).
[46] GOLDWASSER (S.), MICALI (S.) et RIVEST LENSTRA (A.K.) et VERHEUL (E.R.). – Selecting LAURENT-MAKNAVICIUS (M.). – Protocole IPsec.
(R.). – A Digital Signature Scheme Secure cryptographic key sizes. Journal of cryptology IP 5 605, traité Informatique (2003).
Against Adaptative Chosen-Message Attacks. (1999). MÜHLETHALER (P.). – Sécurité dans les réseaux
SIAM Journal of Computing, 17 (2), p. 281-308 BELLARE (M.) et GOLDWASSER (S.). – Lecture sans fil : norme IEEE 802.11. TE 7 377, traité
(1988). Notes on Cryptography (2001). Télécoms (2003).
[47] POINTCHEVAL (D.) et STERN (J.). – Security http://www.cs.ucsd.edu/users/mihir/papers/ CELLMER (J.). – Réseaux cellulaires : système
Arguments for Digital Signatures and Blind gb.html UMTS. TE 7 368, traité Télécoms (2002).
Signatures. Journal of Cryptology, 13 (3), RIVEST (R.L.). – « Cryptography ». Dans Handbook CELLMER (J.). – Réseaux cellulaires : système GSM.
p. 361-396 (2000). of Theoretical Computer Science (Volume A : E 7 364, traité Télécoms (1999).
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 19

tiwekacontentpdf_h5210 v2 Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143


Gagnez du temps et sécurisez vos projets
en utilisant une source actualisée et fiable

   
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES

 + de 340 000 utilisateurs chaque mois


12 000 articles de référence et fiches pratiques
 + de 10
 Des Quiz interactifs pour valider la compréhension

SERVICES ET OUTILS PRATIQUES

  
Questions aux experts* Articles Découverte Dictionnaire technique multilingue Archives Info parution
Les meilleurs experts techniques La possibilité de consulter 45 000 termes en français, anglais, Technologies anciennes et versions Recevez par email toutes les nouveautés
et scientifiques vous répondent des articles en dehors de votre offre espagnol et allemand antérieures des articles de vos ressources documentaires

*Questions aux experts est un service réservé aux entreprises, non proposé dans les offres écoles, universités ou pour tout autre organisme de formation.

Les offres Techniques de l’Ingénieur


INNOVATION ENVIRONNEMENT – SÉCURITÉ ÉLECTRONIQUE – PHOTONIQUE PROCÉDÉS CHIMIE – BIO – AGRO
• Éco-conception et innovation responsable • Sécurité et gestion des risques • Électronique • Formulation
• Nanosciences et nanotechnologies • Environnement • Technologies radars et applications • Bioprocédés et bioproductions
• Innovations technologiques • Génie écologique • Optique – Photonique • Chimie verte
• Management et ingénierie de l’innovation • Technologies de l’eau • Opérations unitaires. Génie de la réaction
• Smart city  Ville intelligente • Bruit et vibrations TECHNOLOGIES DE L’INFORMATION chimique
• Métier : Responsable risque chimique • Sécurité des systèmes d’information • Agroalimentaire
MATÉRIAUX • Métier : Responsable environnement • Réseaux Télécommunications
• Bois et papiers • Le traitement du signal et ses applications SCIENCES FONDAMENTALES
• Verres et céramiques ÉNERGIES • Technologies logicielles – Architectures des • Mathématiques
• Textiles • Hydrogène systèmes • Physique Chimie
• Corrosion – Vieillissement • Ressources énergétiques et stockage • Sécurité des systèmes d’information • Constantes physico-chimiques
• Études et propriétés des métaux • Froid industriel • Caractérisation et propriétés de la matière
• Mise en forme des métaux et fonderie • Physique énergétique AUTOMATIQUE – ROBOTIQUE
• Matériaux fonctionnels. Matériaux biosourcés • Thermique industrielle • Automatique et ingénierie système BIOMÉDICAL – PHARMA
• Traitements des métaux • Génie nucléaire • Robotique • Technologies biomédicales
• Élaboration et recyclage des métaux • Conversion de l’énergie électrique • Médicaments et produits pharmaceutiques
• Plastiques et composites • Réseaux électriques et applications INGÉNIERIE DES TRANSPORTS
• Véhicule et mobilité du futur CONSTRUCTION ET TRAVAUX PUBLICS
MÉCANIQUE GÉNIE INDUSTRIEL • Systèmes aéronautiques et spatiaux • Droit et organisation générale de la construction
• Frottement, usure et lubrification • Industrie du futur • Systèmes ferroviaires • La construction responsable
• Fonctions et composants mécaniques • Management industriel • Transport fluvial et maritime • Les superstructures du bâtiment
• Travail des matériaux – Assemblage • Conception et production • Le second œuvre et l’équipement du bâtiment
• Machines hydrauliques, aérodynamiques et • Logistique MESURES – ANALYSES • Vieillissement, pathologies et réhabilitation du
thermiques • Métier : Responsable qualité • Instrumentation et méthodes de mesure bâtiment
• Fabrication additive – Impression 3D • Emballages • Mesures et tests électroniques • Travaux publics et infrastructures
• Maintenance • Mesures mécaniques et dimensionnelles • Mécanique des sols et géotechnique
• Traçabilité • Qualité et sécurité au laboratoire • Préparer la construction
• Métier : Responsable bureau d’étude / conception • Mesures physiques • L’enveloppe du bâtiment
• Techniques d’analyse • Le second œuvre et les lots techniques
• Contrôle non destructif

www.techniques-ingenieur.fr
 CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : [email protected]

Vous aimerez peut-être aussi