Mise en pratique de la cryptologie, la cryptographie est initialement la méthode utilisée pour chiffrer les messages dans le but d’en garantir la confidentialité. Cette méthode recouvre toutes les techniques mathématiques utiles au codage et décodage des données. Banalisation du web oblige, elle est également utilisée pour l'authentification à distance, la signature de documents numériques et le contrôle de l'intégrité des messages et documents au format électronique.
Il existe deux modèles distincts en matière de chiffrement des données. Le premier est le chiffrement symétrique, dans lequel une même clé secrète est partagée entre correspondants. Pour chiffrer un message, on lui applique un algorithme utilisant cette clé secrète, et on se sert de la même clé secrète pour déchiffrer le message. Le deuxième modèle est le chiffrement à clé publique ou chiffrement asymétrique. Chaque utilisateur possède deux clés: une clé publique et une clé privée, correspondant l'une à l'autre. Pour chiffrer un message, on utilise la clé publique du destinataire, qui seul peut le déchiffrer en utilisant sa clé privée. On résout ainsi le problème de la distribution des clés secrètes. Deux personnes peuvent communiquer de façon confidentielle sans jamais s'être rencontrées auparavant. Pour rappel, la cryptographie à clé symétrique ou cryptographie à clé secrète a été très utilisée jusque dans les années 1980 pour le chiffrement des messages confidentiels. Son usage a été progressivement réduit depuis l'apparition de la cryptographie à clé publique.
mode d’emploi
Chaque individu engagé dans une transaction est muni d'une clé privée, conservée totalement secrète, et d'une clé publique. La clé privée ne doit être communiquée à personne, tandis que la clé publique est transmise à tous sans aucune restriction. Les principes généraux de la cryptographie à clé publique sont les suivants:
- Un message codé avec une clé privée ne peut être décodé que par la clé publique associée.
- De même, un message codé avec une clé publique ne peut être décodé que par la clé privée associée.
- Une clé publique donnée ne peut être associée qu'à une seule clé privée – plusieurs clés privées différentes ne peuvent pas avoir la même clé publique comme clé complémentaire. De même, une clé privée donnée ne peut être associée qu'à une seule clé publique – plusieurs clés publiques différentes ne peuvent pas avoir la même clé privée comme clé complémentaire.
illustration
Prenons l’exemple d’un échange entre deux intervenants , Alice et Bob. Lorsque Bob veut envoyer un message confidentiel à Alice :
- Bob va chercher la clé publique d'Alice soit en demandant directement à Alice de lui en envoyer une copie, soit en allant sur des annuaires en ligne où est stockée la clé publique d'Alice.
- Bob chiffre son message à l'aide de la clé publique d'Alice.
- Seule la clé privée d'Alice peut déchiffrer le message de Bob. Comme Alice a bien conservé sa clé privée, Bob est certain que seule Alice pourra lire le message qu'il lui envoie.
quid de la signature électronique
Si le chiffrement protège l’accès au contenu, la signature permet d'authentifier l'émetteur d'un message reçu et de garantir l'intégrité de ce message – il n’est pas modifié ou altéré durant son passage sur internet. Pour comprendre comment fonctionne la signature électronique, il faut introduire la notion de condensé ou empreinte (hash en anglais). L'empreinte d'un texte est la forme abrégée et de taille fixe de ce texte, obtenue à l'aide d'une fonction de hachage. En d'autres termes, l'empreinte est une version raccourcie et unique du message d'origine, obtenue à la suite d'une transformation mathématique. La moindre différence entre deux textes est immédiatement décelée en comparant les empreintes. Reprenons l’exemple de Bob et d’Alice. En plus du chiffrement du message, l'envoi d'un message signé d'Alice pour Bob se décompose en plusieurs étapes :
- Calcul de l'empreinte du message à envoyer à Bob par le logiciel de mail d'Alice.
- Chiffrement de l'empreinte obtenue par la clé privée d'Alice.
- La signature d'Alice consiste en cette empreinte chiffrée par la clé privée d'Alice, accompagnée de l'information fonction de hachage utilisée.
- Alice envoie donc son message et sa signature, le tout étant accompagné de la clé publique d'Alice, au travers du certificat de celle-ci.
En pratique, ces actions de signature sont faites automatiquement par le logiciel d'Alice, dès qu'elle choisit l'option « message avec signature numérique ». Pour vérifier l'origine et l'intégrité du message, le logiciel de mail de Bob va procéder aux étapes suivantes :
- Calcul de l'empreinte du message reçuà l'aide de la même fonction de hachage que celle utilisée par Alice : Ereçu.
- Déchiffrement de l'empreinte envoyéepar Alice à l'aide de la clé publique d'Alice. L'empreinte a été chiffrée par la clé privée d'Alice et peut donc être déchiffrée à l'aide de la clé publique d'Alice : Einitial.
- Comparaison de ces deux empreintes : si Ereçu = Einitial , alors le message reçu n'a pas été modifié ou altéré lors de son passage sur Internet. Comme l'empreinte a été déchiffrée par la clé publique d'Alice, c'est la preuve que c'est bien la clé privée d'Alice qui l'a chiffrée, donc que c'est bien Alice qui est à l'origine du message.
Ainsi, cette fonction de signature répond bien à la double exigence :
- Authentification de l'expéditeur. Bob est certain que le message reçu vient bien d'Alice.
- Intégrité du message reçu. Bob est certain que le message d'Alice n'a pas été modifié ou altéré au cours de son passage sur internet.
- De plus, cela permet à Bob, en stockant ce message signé, d'interdire la répudiation de son contenu. Alice ne pourra pas dire, quelques mois plus tard, que ce n'est pas elle qui a écrit ce message ou que ce n'est pas ce qu'elle avait écrit.
garantir la clé publique
La problématique centrale de la cryptographie à clé publique, pour signer ou chiffrer un message, est la probité de la clé publique reçue de son interlocuteur ou rapatriée depuis un annuaire partagé. En effet, pour envoyer un message confidentiel à Bob, Alice doit se servir de la clépublique de Bob, et donc être certaine qu'il s'agit bien de la clé publique de Bob. De même, pour vérifier que le message reçu a bien été envoyé par Alice, Bob a besoin de la clé publique d'Alice, pour s'assurer que la signature du message est bien celle d'Alice. Les certificats, aussi appelés identifications numériques ou cartes d'identité électroniques, résolvent ce problème par en associant chaque clé publique à un nom de personne – personne physique, morale, site web, routeur. À l'instar d'une carte d'identité traditionnelle, le certificat établit le lien d'appartenance entre une clé publique et son propriétaire – personne physique ou morale.
Seules les organisations agréées, dites autorités de certification, délivrent des certificats. Et procèdent à diverses procédures d'authentification, afin de s'assurer que Bob est bien celui qu'il prétend être et que la clé publique à certifier est bien celle de Bob. Si les utilisateurs finaux ont confiance en l'autorité de certification qui a émis le certificat et ont une copie de la clé publique de celle-ci – pour lire la signature, le tampon du certificat reçu -ils sont assurés de la légitimité du certificat et donc de la clé publique.