La cryptographie

La cryptographie est la science du codage et décodage de messages, dans un souci de confidentialité et d'authentification.  


Introduction

Dans le contexte numérique, la cryptographie devient nécessaire à tous, particuliers, entreprises et administrations, afin de sécuriser le commerce électronique et de préserver la confidentialité des échanges d'informations.

Les progrès de l'informatique ont permis de développer des solutions de cryptographie extrêmement puissantes, logicielles ou matérielles. 

Depuis longtemps les mathématiciens se sont approprié la cryptographie pour en élaborer les bases théoriques. La qualité de telle ou telle méthode d'encryptage peut ainsi être "mesurée" (la qualité d'un encryptage peut être la difficulté à le décrypter). Il faut savoir (c'est démontrable) que tout encryptage est décryptable (sauf le hachage) en utilisant des méthodes mathématiques :tout est question de puissance de calcul et de temps.

Déchiffrer, par exemple, un seul numéro de carte bancaire crypté selon ces procédés mobiliserait la puissance de calcul de milliers d'ordinateurs pendant des semaines, voire des mois.

 En France,  depuis août 2000, la  réglementation permet l'utilisation des clés "fortes".
(Jusqu'à cette date, la cryptographie n'était autorisée qu'avec des clés de 40 bits' : clés "faibles".)

Principe

Le principe de la cryptographie (ou du chiffrement) est de transformer un message intelligible par tous en un message lisible seulement par les personnes autorisées (destinataires). C'est une méthode vieille comme le monde dont la principale application est la transmission de messages en temps de guerre. Le principe immuable est que la cryptographie est bi-directionelle, c'est à dire qu'elle permet d'encrypter puis de décrypter un message, restituant alors sa forme initiale. 

Les méthodes simples d'encryptage utilisent des tables, qui doivent alors se trouver dans les mains des deux partenaires: l'expéditeur et le destinataire. Ceci pose un sérieux problème qui est celui de l'acheminement et du stockage sécurisé de ces tables.

La cryptographie repose depuis quelques années sur le principe de clé : une suite de caractères hexanumériques (en base 16) qui permet de chiffrer le contenu d'un message - ou une signature - et de le déchiffrer.
Dans l'absolu, la longueur de la clé - mesurée en nombre de bits - définit la force de l'algorithme de chiffrement. 

 

Techniques de cryptographie

1. Cryptographie symétrique ou "à clé privée" ou cryptographie conventionnelle.

Dans ce système, la clé qui sert au chiffrement des informations sert également à leur déchiffrement. Il est ainsi généralement qualifié d'algorithme « symétrique » ou encore « à clé privée ». 
Lorsque A veut envoyer un message à B, tous deux doivent au préalable s'être transmis la clé.
Le créateur et le consommateur de l'information doivent tous deux détenir la clé, qui sert aussi bien pour l'encryptage que pour le décryptage. Les principaux défauts de cette méthode sont:

  • l'expéditeur d'un message doit au préalable communiquer la clé au destinataire par un canal sûr

  • l'expéditeur ne peut employer une clé qu'avec un destinataire (sinon le message peut être décrypté par plusieurs destinataires)

L'algorithme de cryptographie à clé privée le plus répandu est le DES (Data Encryption Standard). Il a été développé aux Etats-unis, en 1976, par une équipe d'IBM pour le NBS (National Bureau of Standards) et adopté par le gouvernement américain, après analyse de sa fiabilité par quelques spécialistes de l'époque au rang desquels on trouve la NSA (National Security Agency).

 

2. Cryptographie asymétrique ou "à double clé"

     La cryptologie asymétrique (clé publique / clé privée) est basée sur une méthode mathématique garantissant un encryptage facile et rapide et un décryptage difficile

Dans ces systèmes, la clé qui sert à chiffrer le message n'est pas la même que celle qui est utilisée pour son déchiffrement. 
Avec ce procédé, un utilisateur (B) génère ainsi deux clés différentes avec son logiciel de cryptographie. La première est dite clé publique, parce qu'elle est automatiquement publiée dans un annuaire accessible à tous sur Internet. La seconde clé, dite clé privée, doit être gardée secrète et stockée sur un support protégé : disque dur avec accès par mot de passe, disquette, carte à puce...

Ainsi pour envoyer un message à B, A doit d'abord consulter l'annuaire en ligne pour y retirer la clé publique associée à B. C'est avec cette dernière que A cryptera son message pour B. Le décryptage, lui, ne pourra s'effectuer qu'à l'aide de la clé tenue secrète, celle que B n'a révélée à personne. A n'est même pas en mesure de décrypter le message sitôt qu'il l'a codé. Le cryptage est dit asymétrique.

L'application de la cryptographie asymétrique permet aussi des fonctions d'authentification de documents et d'expéditeurs. L'authentification de documents consiste à générer une signature à partir du document original et de la clé privée de l'expéditeur (A). 
Le  destinataire (B) en possession de la clé publique de l'expéditeur (A) peut alors s'assurer de 
l'identité de celui qui a signé le message.

Sur ce principe, le système de cryptage le plus répandu est le RSA, inventé en 1977 par trois chercheurs du MIT (Massachusetts Institute of Technology). 
.
RSA est aujourd'hui utilisé dans une large variété d'appareils (téléphones, réseaux Ethernet, logiciels Microsoft, Apple...) pour le chiffrement des communications et dans le cadre de la signature numérique, où il représente une méthode d'authentification de l'expéditeur du message. Sa sécurité repose sur l'utilisation de clés suffisamment longues. Selon Robert Harley, chercheur à l'Inria (Institut national de recherches en informatique et automatique), « en dessous de 1024 bits de longueur de clé, on ne peut pas considérer le système comme sûr ».

On démontre qu'il n'existe aucune méthode permettant de retrouver la clé privée à partir de la clé publique.

 

3. Cryptographie quantique

Toujours à la recherche de solutions de plus en plus performantes, les mathématiciens, en s'appuyant sur le principe d'incertitude d' Heisenberg, tentent d'élaborer un système de cryptographie dite "quantique",  qui utilise la perturbation engendrée sur le comportement d'un système par l'élément de mesure.
Cette méthode est citée à titre indicatif, mais n'a pas encore quitté le bureau d'étude des ingénieurs de la communication ! 

.

Infrastructure d'un système à clé publique (PKI)

1. Principe

La sécurité d'un système à clé publique repose sur l'authenticité des clés publiques utilisées, qui doit être garantie pour éviter toute opération de "piratage".
Pour résoudre ce problème, les systèmes à clés publiques utilisent une signature, apposée par une autorité de certification (AC), qui garantit l'association entre la clé publique et l'identité de la personne possédant la clé privée associée.

2. Certificats de clés publiques

Une clé publique protégée par une signature d'autorité de certification (AC) est stockée dans un « certificat de clé publique », dans un format de données strict ( appelé X.509)

L'utilisateur n'a plus à protéger que ses clés privées. Toutes les autres clés publiques dont il peut avoir besoin sont vérifiées par le biais des certificats de clés publiques émis par leur propre autorité de certification. L'AC est ainsi le premier élément d'une infrastructure de clé publique .

La norme X.509  définit le format de codage des données, ainsi que celles obligatoirement présentes, par exemple la clé publique, un identifiant de l'entité qui possède la clé privée correspondante, la période de validité de la clé, etc.
Toutefois, chaque Infrastructure de Cle Publique peut ajouter des informations, par exemple la fonction de l'entité, l'usage de la clé, etc. La vérification d'un certificat consiste donc non seulement à vérifier sa signature, mais aussi à interpréter les données présentes pour vérifier que la clé certifiée est bien valide.

 Une
Infrastructure de Cle Publique renseigne aussi des listes de certificats révoqués  qui doivent être vérifiées.

3. Autorité de Certification et politique de certification

L'AC signe les certificats et possède donc la clé privée correspondant à la clé publique conservée par les utilisateurs de l'ICP. 
L'AC est le point de confiance des utilisateurs du système. Elle engage sa responsabilité quand elle signe un certificat, mais selon les termes de la politique de certification qu'elle a définie. Par exemple, si la politique d'une ICP précise que seule l'adresse électronique de l'utilisateur est vérifiée, ceci signifie qu'aucun contrôle de l'identité réelle de la personne n'a été effectué. Un certificat valide dans cette politique peut donc indiquer l'identité PremierMinistre@free.fr 

Plus que la certification, c'est donc l'enregistrement de l'entité utilisatrice qui est fondamental. De la rigueur apportée à cette opération dépend le niveau de confiance des certificats de l'ICP. 

Cette opération peut être déléguée à une autorité d'enregistrement . Dans ce cas, l'AC doit vérifier que les règles d'enregistrement de sa politique sont bien respectées par chaque autorité d'enregistrement.

4. Certification croisée et certification hiérarchique

L'interconnexion des systèmes rend inévitable le besoin de communication entre utilisateurs d'ICP différentes. Pour résoudre ce problème, des ICP peuvent décider d'une certification croisée : chaque AC va émettre un certificat pour la clé publique de certification de son homologue. Ainsi, les utilisateurs finaux peuvent établir un chemin de confiance pour les certificats des deux ICP .

Avant d'établir une certification croisée, les deux ICP doivent comparer leurs politiques pour assumer l'équivalence du niveau de confiance entre les deux ICP. Une ICP peut utiliser plusieurs niveaux de politiques de certification. Il n'est ainsi possible d'effectuer des certifications croisées que pour un niveau donné.


Vocabulaire

Autorité de certification :
L'organisme qui assure la délivrance et le renouvellement des certificats, la diffusion des listes de révocation et des clés publiques . La société MEDSYS est une autorité de certification.

Certificat :
Document informatique délivré sous la forme d'un fichier normalisé (X509) qui permet la signature, la vérification et le cryptage de messages. Le contenu du certificat lie
les données, signées ou cryptées, au détenteur du certificat : l' Utilisateur autorisé.
Un certificat se compose d'une clé privé, d'une clé publique et d'une signature émanant de l'autorité de certification.

Classes de certificat :
La classe de certificat définit le niveau de contrôle effectué pour la délivrance du ou des certificats. La société MEDSYS délivre des certificats de classe 1 et de classe 2. Le contenu des certificats et donc les procédures d'élaboration et les procédures liées a l'utilisation ne diffèrent pas d'une classe à l'autre. Seules diffèrent les garanties prises pour l'authentification du demandeur.

Pour les certificats de la classe 1, la société MEDSYS contrôle la validité de l'adresse de messagerie fournie par le demandeur. Ces certificats ne peuvent pas être utilisés à des fin marchandes. Il peuvent être fournis à tout demandeur qui accepte les présentes conditions.
Ces certificats sont disponibles au travers des procédures simplifiées associées au site serveur de certificats de la société MEDSYS.

Les certificats de classe 2 ne sont fournis par MEDSYS qu'aux demandeurs entièrement qualifiés et identifiés. Il s'agit donc soit de clients de la société MEDSYS ayant déjà effectué des transactions commerciales abouties, soit de futurs clients pour lesquels la société MEDSYS contrôle l'ensemble des éléments nécessaires à une relation commerciale saine.

Les clients de la société MEDSYS disposent des éléments nécessaires à l'obtention de certificats de classe 2 et peuvent donc en faire la demande par les procédures simplifiées de certificats de classe 1. Le serveur de certificat délivre automatiquement un certificat de classe 2 pour ces demandeurs.

Les futurs clients ne peuvent obtenir, avant vérification complète de leurs qualités, que des certificats de classe 1. Ces vérifications sont faites hors site serveur. Elle font l'objet d'une relation directe entre notre service commercial et le demandeur.

Clé privée:
Partie du certificat, sous la responsabilité de l'Utilisateur autorisé. Elle est destinée à la signature et au décryptage des messages. C'est la partie sensible de la clé qui doit rester secrète.
La clé privée est utilisée pour déchiffrer les messages reçus et chiffrer la signature.


Clé publique
:
Partie du certificat qui sera diffusée. Elle est destinée à la vérification de signature et au Cryptage des messages.
C'est la partie qui est transmise aux interlocuteurs ou placée sur des serveurs de clés.
La clé publique est utilisée pour chiffrer les messages à envoyer  et déchiffrer la signature des messages reçus.

Chiffrement - ( ou cryptage) :
Egalement appelé Chiffrement, il s'agit d'une opération mathématique, effectuée à l'aide d'une clé publique, qui consiste à transcrire le message à transmettre dans un " langage " que seul le possesseur de la clé privée correspondante peut décoder. Toute personne qui dispose de la clé publique d'un correspondant peut lui adresser un message crypté.

Compromission de certificat
:
Il y a compromission de certificat dès lors que la diffusion réelle ou probable des éléments secrets associés aux certificats est avérée ou probable.

Condensat :
Le condensat est le résultat de la transformation numérique d'une information en une suite de caractères dont le contenu garantit l'intégrité du message transféré. Cette intégrité est vérifiée à la réception du message, lors de la vérification de signature, par comparaison du condensat reçu et du condensat calculé. Le caractère mathématiquement irréversible de la transformation garantit que le contenu du message n'a pas été falsifié.

Décryptage
:
Opération mathématique, effectuée à l'aide de la clé privée, qui consiste à décoder le message crypté à l'aide de la clé publique associée. Cette opération ne peut être effectuée que par le détenteur de la clé privée .

Listes de révocation:
Liste officielle des certificats qui ont fait l'objet d'une déclaration de compromission, ou dont la date d'expiration a été atteinte sans renouvellement. Les certificats qui figurent dans cette liste sont considérés révoqués. Ils ne peuvent plus être utilisés ni pour la signature ni pour le cryptage de messages. Leur utilisation peut faire l'objet de poursuites judiciaires graves.

Révocation
:
Un certificat peut faire l'objet d'une révocation. Il est alors inscrit dans les listes de révocation et ne peut plus être utilisé. Un certificat est révoqué :
à la demande de l'utilisateur autorisé, avant la date d'expiration, lorsque le certificat fait l'objet d'une compromission ;
à la demande de l'autorité de certificat, lorsque la date d'expiration est atteinte et que le certificat n'a pas été renouvelé.
Un certificat révoqué ne bénéficie plus de la garantie de l'autorité de certificat. Son utilisation est illégale.


Secret
:
Elément qui assure de la qualité du certificat sous la responsabilité de l'utilisateur autorisé : la clé privée associée au certificat .

Serveur de clés publiques: serveur accessible par internet ou réseau local permettant de trouver la clé publique d'un destinataire ou interlocuteur en vue d'encrypter un message ou de vérifier une signature

Signature: Partie chiffrée d'un message générée dans le but d'authentifier le message (intégrité) et l'expéditeur (identité)

Utilisateur autorisé:
Personne ayant fait la demande du certificat, détenant celui-ci et acceptant les présentes conditions.

X509
:
Norme internationale qui définit le contenu des certificats. Le respect de cette norme assure l'interopérabilité des certificats entre les différentes autorités. Le respect de cette norme est indispensable à la qualité de la certification.

 


Applications

Les applications de la cryptographie sont nombreuses; l'application la plus souvent citée est l'encryptage de messages mais elle est également utilisée dans beaucoup d'autres domaines, dont voici une liste non exhaustive :

  • Mots de passe sécurisés

  • Transactions sécurisées

  • Encryptage de fichiers

  • Signatures et authentification

  • Téléphonie mobile

  • Télévision à péage

  • Cartes bancaires



LEGISLATION

Secrétariat National de la Défense Nationale :
la concertation de l'an 2000

Ministère de l'économie, des finances et de l'industrie

Technologies de l'information : dernières nouvelles

L'internet juridique


Publications d' Hélène TOUZET
Laboratoire d'Informatique Fondamentale de Lille

Florent Chabaud, auteur d'une une thèse d'informatique en cryptographie