ARCHIVÉE — Partie 1 : La cryptographie et ses applications

Information archivée dans le Web

Information identifiée comme étant archivée dans le Web à des fins de consultation, de recherche ou de tenue de documents. Elle n’a pas été modifiée ni mise à jour depuis la date de son archivage. Les pages Web qui sont archivées dans le Web ne sont pas assujetties aux normes applicables au Web du gouvernement du Canada. Conformément à la Politique de communication du gouvernement du Canada, vous pouvez la demander sous d’autres formes. Ses coordonnées figurent à la page « Contactez-nous »

Politique cadre en matière de cryptographie aux fins du commerce électronique : Pour une économie et une société de l'information au Canada
Industrie Canada
Février 1998



La cryptographie, science qui a pour but de protéger le caractère confidentiel d'une information donnée, existe depuis des milliers d'années. Les méthodes cryptographiques modernes permettent le chiffrement, le déchiffrement et la signature numérique1. Le chiffrement garantit la confidentialité. Autrement dit, il protège l'information contre toute divulgation non autorisée ou toute visualisation par le brouillage mathématique du texte original. Les signatures numériques, analogues aux signatures manuscrites2, remplissent trois autres fonctions :

  • authentification - preuve que l'utilisateur est bien qui il prétend être ou que les ressources (p. ex., dispositif informatique, logiciel ou donnée) sont ce qu'elles sont censées être;
  • non-répudiation - preuve que la transaction a eu lieu ou que le message a bien été envoyé ou reçu; ni l'émetteur ni le destinataire ne peuvent donc nier l'échange;
  • intégrité - les données ne peuvent être modifiées sans que ce soit décelable.

La cryptographie assure ces fonctions à l'aide de clés numériques (combinaison unique de uns et de zéros) qu'un utilisateur peut employer pour chiffrer, déchiffrer et vérifier les données numériques. Grâce à la cryptographie, tout type d'information numérique — texte, données, voix ou images — peut être chiffré de sorte que seules les personnes détenant la bonne clé puissent le déchiffrer.

Il existe principalement deux méthodes cryptographiques. Dans le cas de la cryptographie à clé secrète, la même clé (ou une copie de cette clé) est utilisée pour chiffrer et déchiffrer les données. Dans le cas de la cryptographie à clé publique, il existe deux clés différentes, quoique connexes, et ce qui a été chiffré à l'aide de l'une ne peut être déchiffré qu'à l'aide de l'autre.

Sans la clé, les données codées pour des raisons de confidentialité ne peuvent être transformées en un texte clair3 compréhensible qu'en utilisant des techniques de « force brute », c'est-à-dire en essayant toutes les variantes possibles de la clé et en vérifiant si le texte clair qui en résulte a un sens. Toutes choses étant égales, la solidité du cryptogramme est proportionnelle à la longueur de la clé de chiffrement (ou la longueur en bits), qui détermine le nombre de permutations possibles. La solidité du cryptogramme double chaque fois que l'on ajoute un bit à la longueur de la clé. En juillet 1997, il a fallu 96 jours et 78 000 ordinateurs branchés sur Internet pour déchiffrer un message chiffré à l'aide du système de chiffrement symétrique DES (Data Encryption Standard), algorithme à clé secrète qui utilise une seule clé de 56 bits. On estime qu'il faudrait aux mêmes ressources informatiques 67 ans pour déchiffrer un algorithme à clé secrète utilisant une clé de 64 bits et bien plus de 13 milliards de fois l'âge de l'univers pour déchiffrer une clé de 128 bits. Naturellement, grâce aux connaissances d'experts, au matériel spécialisé et à d'énormes fonds, on peut accélérer quelque peu le processus. En 1993, un mathématicien canadien a proposé de concevoir une machine qui, selon lui, coûterait un million de dollars et serait capable de mener à bien une attaque en force contre une clé DES de 56 bits en trois heures et demie en moyenne4. Cependant, même avec ces ressources, il faudra au moins 10 ans pour déchiffrer une clé de 80 bits.

Cryptographie à clé secrète

La cryptographie à clé secrète peut être utilisée pour chiffrer des données, pour les stocker ensuite sur un support électronique (disquette ou disque dur) ou les transmettre à un proche associé. Toutefois, cette méthode est fort limitée en soi, car elle ne convient pas à la diffusion générale sur des réseaux publics entre utilisateurs qui ne se connaissent pas. Dans le cas de la cryptographie à clé secrète, les deux parties doivent au préalable se communiquer la clé unique qui sera utilisée aux fins du chiffrement et du déchiffrement. Si l'on a recours au chiffrement en raison de l'insécurité de la voie de communication (p. ex., un réseau informatique), il est évident qu'il ne faut pas transmettre la clé secrète par la même voie, car n'importe qui pourrait la copier et déchiffrer toutes les données. On reconnaît généralement que les principaux problèmes que rencontre la cryptographie à clé secrète sur les réseaux ouverts ont trait à la distribution des clés et à la variabilité dimensionnelle (la variabilité dimensionnelle recouvre non seulement la notion d'accroissement du nombre d'utilisateurs, mais aussi la notion selon laquelle les réseaux ouverts comprennent des entités de taille différente, allant des particuliers aux multinationales, ainsi que des transactions dont le volume et la valeur varient).

Cryptographie à clé publique

La cryptographie à clé publique offre cependant une solution à ces deux problèmes puisqu'elle prévoit l'utilisation d'une paire de clés différentes, quoique connexes. Chaque utilisateur détient une clé privée et une clé publique. La clé privée demeure confidentielle et n'est connue que de l'utilisateur; l'autre clé peut être rendue publique et être transmise à chaque correspondant par l'entremise du réseau ou mieux encore, publiée dans un annuaire sûr, qui est presque l'équivalent électronique d'un annuaire de téléphone. Pour utiliser ce système, l'émetteur chiffrerait un message à l'aide de la clé publique du destinataire, qui pourrait le déchiffrer uniquement à l'aide de sa clé privée. La cryptographie à clé publique permet donc la transmission de données en toute sécurité sur des réseaux ouverts, comme Internet, sans qu'il soit nécessaire d'échanger une clé secrète au préalable. Les parties qui ne se connaissent pas peuvent ainsi échanger et authentifier des informations et mener des affaires en toute sécurité.

Outre la capacité de chiffrer les données pour protéger leur caractère confidentiel, certaines formes de cryptographie à clé publique permettent également aux détenteurs de la clé d'authentifier par la suite leurs documents à l'aide d'une clé privée qui crée une signature numérique5. Cette technique garantit également l'intégrité des documents et permet aux destinataires de déterminer rapidement si un message a été modifié de quelque façon que ce soit pendant la transmission.

Bien que la cryptographie à clé publique comporte des avantages certains par rapport à la cryptographie à clé secrète en ce qui a trait à l'utilisation sur des réseaux publics ouverts, la cryptographie à clé secrète possède ses propres qualités qui sont indispensables pour une variété d'applications6. Les cryptographies à clé publique et à clé secrète seront utilisées conjointement pour protéger des informations sensibles stockées dans les ordinateurs et transmises par l'intermédiaire de réseaux de communication.

Autorités de certification

Si la cryptographie à clé publique doit fonctionner à grande échelle aux fins du commerce électronique, l'un des principaux problèmes à résoudre concerne la distribution des clés publiques. Certains logiciels, comme le PGP (« Pretty Good Privacy »), qui est facilement accessible sur Internet, obligent les utilisateurs à distribuer leur clé publique à d'autres utilisateurs, approche qui fonctionne bien dans de petits groupes fermés7. Toutefois, un annuaire sûr et accessible est indispensable à la distribution de clés publiques à grande échelle — notamment quand elles sont associées à des procédures visant à assurer que telle clé publique appartient vraiment à tel utilisateur.

Pour y parvenir, on peut entre autres avoir recours à une autorité de certification, un agent de confiance qui gère la distribution des clés publiques ou des certificats contenant ces clés8. Parfois, l'expression « tiers de confiance » est employée comme synonyme d'autorité de certification, mais les deux expressions ne sont pas toujours utilisées tout à fait dans le même sens9.

Un « certificat » est un formulaire électronique (semblable à la version électronique d'un permis de conduire, d'un passeport ou d'une carte de location de vidéocassettes) renfermant la clé publique du détenteur de la clé et certains renseignements signalétiques qui confirment que le détenteur de la clé et l'émetteur du certificat (autorité de certification) sont bien qui ils prétendent être.

L'un des principaux avantages du recours à un agent de confiance auxiliaire est que ce dernier décharge les particuliers de la distribution des clés et de la gestion d'un grand nombre de relations10 dans un environnement complexe à niveaux de sécurité multiples (la relation de sécurité qu'une personne établit avec une banque ou un hôpital sera différente de celle qu'elle établira avec une connaissance ou une librairie en direct). Il ne s'agit toutefois pas simplement d'une question de commodité ou d'efficacité. En signant le certificat à l'aide de sa clé, l'autorité de certification, « relie » l'identité du détenteur de clé à un certificat renfermant la clé publique, assurant ainsi l'authentification11 et la non-répudiation, dans le but de préserver la confiance dans le système.

Étant donné les différences entre les fonctions de signature numérique (authentification, non-répudiation et intégrité) et la fonction de chiffrement (confidentialité), de nombreux systèmes cryptographiques requièrent deux paires de clés : une paire pour les signatures numériques et l'autre pour assurer le chiffrement pour des raisons de confidentialité. Faute d'infrastructure auxiliaire des autorités de certification, l'utilisateur doit générer les paires de clés publique et privée pour les signatures numériques et la confidentialité. Avec une infrastructure auxiliaire, il existe différentes options.

Les paires de clés requises pour les signatures numériques devraient être générées par l'application de l'utilisateur et la clé publique devrait être signée par l'autorité de certification et distribuée aux fins d'utilisation. Pour limiter le risque de fraude, la clé de signature privée ne devrait jamais quitter l'application de l'utilisateur.

Souvent, la paire de clés requises aux fins de confidentialité est générée par l'autorité de certification, qui doit posséder une copie de sauvegarde, de façon à ce qu'on puisse récupérer les données chiffrées en cas de perte de la clé privée ou d'atteinte à son intégrité.

La réalisation d'une copie de sauvegarde de la clé secrète (que l'on appelle également archivage des clés)12 est l'une des nombreuses méthodes dont on dispose pour assurer un accès légitime au texte clair. Mentionnons également comme méthodes d'accès ou de « récupération des clés », l'encapsulage de la clé (par exemple, une clé de session ou une clé de chiffrement de longue durée est elle-même chiffrée à l'aide de la clé publique d'un agent de récupération des clés) ou des techniques de dérivation des clés (par exemple, l'approche proposée au Royal Holloway College13 de Londres, qui permet la régénération de la clé secrète à l'une des extrémités de la communication avec les tiers de confiance ayant fourni au départ les éléments mathématiques utilisés pour générer la clé).


1. Les termes en caractères gras sont définis dans le glossaire.

2 Une signature numérique est un identificateur électronique créé par ordinateur et annexé à un document électronique. La signature numérique possède les mêmes propriétés que la signature manuscrite, mais il ne faudrait pas la confondre avec les reproductions électroniques d'une signature manuscrite comme celle qu'une personne appose au bas d'une lettre qu'elle envoie par télécopieur.

3 Parfois, quand on fait référence à l'information originale, on parle de « texte clair » et, après chiffrement, on parle de « texte chiffré ». Le déchiffrement consiste à renverser le processus et à transformer le « texte chiffré » en « texte clair ». L'« algorithme cryptographique » (que l'on appelle parfois « chiffre ») est la fonction mathématique utilisée pour le chiffrement et le déchiffrement. En cryptographie, la sécurité est liée au fait que, même si l'algorithme est connu de tous, il existe des millions, voire des trillions de « clés » possibles qui auraient pu servir au chiffrement. Par exemple, si la longueur est de 56 bits, il existe environ 72 quadrillions de clés possibles.

4 Pour obtenir des précisions, voir M. J. Wiener. « Efficient DES Key Search », TR-244, School of Computer Science, Carleton University, mai 1994; également dans Proceedings, Crypto '93, Springer-Verlag, 1993.

5 L'émetteur « signe » un message à l'aide de la clé privée. La signature se fait par l'application d'un algorithme de chiffrement au message lui-même ou à un petit bloc de données lié d'une certaine façon au message (p. ex., un « résumé du message » qui est une valeur unique générée par la compression à sens unique des données).

6 En général, la cryptographie à clé secrète est plus rapide que la cryptographie à clé publique. La méthode courante consiste donc à tirer parti de cet avantage en employant la cryptographie à clé secrète pour chiffrer un document et en utilisant par la suite la cryptographie à clé publique pour chiffrer uniquement la clé secrète.

7 Cette approche est satisfaisante si une personne peut échanger sa clé publique directement avec un ami ou un proche associé. La confiance commence à s'estomper lorsque les clés publiques sont échangées avec des amis d'amis. Par exemple, certaines personnes joignent en annexe à leur message électronique une copie de leur clé publique qu'ils affichent dans une tribune publique, comme les groupes de discussion USENET. Tout se gâte cependant si, disons, Virginie, se faisant passer pour Alice, affiche un message dans une tribune publique et joint sa propre clé publique; tous les messages destinés à Alice sont alors par la suite chiffrés avec la clé de Virginie.

8 Les expressions « autorité de certification » ou « infrastructure auxiliaire » seront utilisées tout au long du document. Lorsqu'on établit des autorités de certification dans une hiérarchie ou qu'on relie ces autorités avec d'autres avec lesquelles il y a eu certification réciproque, on parle d'Infrastructure à clé publique.

9 Certains auteurs affirment que l'expression « autorité de certification » est plus générale et qu'un « tiers de confiance » est une autorité de certification à laquelle s'appliquent des dispositions particulières à des fins d'accès légitime. Le document de consultation publique du Royaume-Uni définit un « tiers de confiance » comme une entité à laquelle d'autres entités font confiance en ce qui a trait aux services et aux activités liés à la sécurité. (Licensing of Trusted Third Parties for the Provision of Encryption Services, Department of Trade and Industry, Royaume-Uni. La définition du Royaume-Uni souligne l'aspect « tiers » du concept, ce qui a amené certains auteurs à laisser entendre qu'une autorité de certification établie par une société à ses fins d'utilisation personnelle n'était pas un « tiers de confiance ».

10 Tout utilisateur entretiendra probablement des centaines, voire des milliers de relations dont le niveau de sécurité requis variera; en conséquence, ce qu'il faut, c'est une liste de toutes les personnes avec lesquelles un utilisateur désirera peut-être communiquer ou faire affaire, en quelque sorte, un genre d'annuaire téléphonique.

11 Étant donné que le certificat dans son ensemble constitue un document électronique qui a été signé de façon numérique par l'autorité de certification (par exemple un résumé du message du certificat est chiffré à l'aide de la clé privée de l'autorité de certification), aucun changement non autorisé ne peut être apporté au certificat sans que la modification ne soit décelée (c'est-à-dire que toute modification engendrerait une valeur de hachage différente).

12 L'« archivage des clés » est une expression générale désignant l'entreposage d'une copie de sauvegarde des clés de chiffrement (ou de parties de clé lorsque chaque clé de chiffrement est divisée et détenue par plus d'une entité). Entre autres méthodes d'archivage des clés, mentionnons l'entiercement des clés, qui consiste à entreposer les clés ou des parties de clé directement chez un ou plusieurs dépositaires légaux (c'est-à-dire une entité autre que le propriétaire de la clé). Selon le modèle, le dépositaire pourrait être un fournisseur de services du secteur privé ou un organisme public.

13 Nigel Jeffries, Chris Mitchell et Michael Walker. Combining TTP-Based Key Management with Key Escrow, Information Security Group, Royal Holloway College, University of London, 19 avril 1996.