A. Définitions et concepts
L’objet de cette annexe est de rappeler certaines définitions et certains concepts essentiels en cryptographie dans le but de faciliter la compréhension des règles et des recommandations de ce document. Ces rappels couvrent le strict minimum et sont énoncés volontairement de façon non mathématique.
Des compléments permettant de préciser certaines notions mais pouvant être passés en première lecture sont proposés en petits caractères, dans le style de ce paragraphe.
La cryptologie, discipline à la frontière entre mathématiques et informatique, est traditionnellement définie comme la « science du secret ». Longtemps concentrée sur la problématique de la confidentialité, à des fins essentiellement militaires ou diplomatiques, la cryptologie a bénéficié d’un essor scientifique important suite au développement de la société de l’information jusqu’à devenir un outil incontournable pour sécuriser les systèmes d’information.
La cryptologie traite de la conception, de la sécurité et de l’emploi de mécanismes cryptographiques, le terme générique de mécanisme englobant ici à la fois les primitives (fonction de hachage, chiffrement par bloc, etc.), les modes opératoires et les protocoles cryptographiques.
On divise traditionnellement la cryptologie en deux branches selon que l’on se place du point de vue du concepteur ou de celui de l’attaquant. La cryptographie étudie la conception de mécanismes permettant d’assurer des propriétés de sécurité variées comme la confidentialité, l’intégrité ou l’authenticité de l’information. La cryptanalyse s’intéresse à ces mêmes mécanismes en tentant d’analyser leur sécurité, voire de la mettre en défaut. Il va de soi qu’il n’y a pas de cryptographie sans cryptanalyse et inversement.
Par ailleurs, sur un plan technique, on distingue habituellement la cryptographie symétrique, ou encore cryptographie à clé secrète, de la cryptographie asymétrique, ou encore cryptographie à clé publique. Cette séparation est issue de l’article fondateur de W. Diffie et M. Hellman [15] qui, en 1976, a donné naissance à la cryptographie asymétrique en suggérant que pour chiffrer un message à l’attention d’un destinataire donné il n’est pas nécessaire de partager au préalable un secret avec lui. Dans la suite de ce chapitre, les mécanismes symétriques et asymétriques sont abordés de manière séparée.
Une seconde dimension de classification des primitives cryptographiques concerne l’objectif de sécurité visé. Traditionnellement, on considère trois besoins de sécurité de la donnée : la confidentialité, l’intégrité et la non-répudiation. À ceux-ci s’ajoute les besoins d’authentification d’entités. D’autres propriétés plus avancées sont envisageables mais celles qui viennent d’être citées sont, de loin, les principales traitées par des moyens cryptographiques.
Le but de la confidentialité est de s’assurer que des informations transmises ou stockées ne sont accessibles qu’aux personnes autorisées à en prendre connaissance. Cet objectif de sécurité est classiquement assuré par le chiffrement mais peut également l’être par tout autre moyen approprié, à commencer par des mesures organisationnelles non cryptographiques.
Assurer l’intégrité de données consiste à détecter toute altération illégitime de celles-ci. L’altération couvre toute modification, suppression partielle ou insertion d’information réalisées par un attaquant ou même de manière accidentelle. L’intégrité des données est classiquement assurée en cryptographie par des codes d’authentification de message ou des signatures numériques.1
La non-répudiation vise à éviter qu’une entité puisse nier avoir effectué une certaine action. Elle garantit le lien entre une donnée et son auteur. Le principal mécanisme de nonrépudiation est la signature à clé publique. En effet, une signature sur une donnée lie celle-ci à son signataire.
L’authentification d’entités vise pour sa part à s’assurer qu’un correspondant est bien celui qu’il prétend être. Elle peut être réalisée de diverses manières, symétriques ou asymétriques.
Les principaux mécanismes offerts par la cryptographie moderne peuvent maintenant être abordés. La table 1 permet de les répartir en fonction de leur nature symétrique ou asymétrique et de leur objectif de sécurité. D’autres mécanismes très intéressants peuvent être cités mais ils ne s’inscrivent pas naturellement dans une telle table. La suite de ce chapitre décrit sommairement ces mécanismes et rappelle les points essentiels, nécessaires à la compréhension du reste de ce document.
Table 1 - Mécanismes cryptographiques et propriétés de sécurité
| Problème de sécurité | Cryptographie symétrique | Cryptographie asymétrique |
|---|---|---|
| Confidentialité | Chiffrement symétrique (A.1.1) | Chiffrement à clé publique (A.2.1) |
| “ | “ | Encapsulation de clé (A.2.2) |
| “ | “ | Établissement de clé (A.2.4) |
| Intégrité | Code d’authentification de message (A.1.2) | Signature numérique (A.2.3) |
| Non-répudiation | Aucune primitive | “ |
-
Il est à noter que les mécanismes de type checksum ne relèvent pas de la cryptographie car ils ne protègent pas contre un attaquant actif mais permettent uniquement de détecter des erreurs accidentelles. ↩