Science de l’écriture et de la lecture de messages codés. La protection des données informatiques est un problème crucial pour les entreprises et les institutions, face à la mise en réseau. De même, pour les particuliers et les entreprises, dans le cadre du commerce électronique et de la sécurité des paiements.
La cryptologie est un ensemble de techniques qui permettent de protéger des informations grâce à un code secret. Le but d’un système cryptographique (aussi appelé cryptosystème) est de chiffrer un message intelligible ou clair en un texte chiffré incompréhensible. Le texte chiffré est aussi appelé cryptogramme. Le principe est de permettre au destinataire légitime de déchiffrer le cryptogramme et obtenir le texte clair.
Cependant, il est impératif d’interdire l’interception et la modification du message par une tierce personne. Cet espion (aussi appelé cryptanalyste ou décrypteur) ne doit être en mesure de décrypter (ou cryptanalyser) le texte chiffré. Il ne faut pas confondre déchiffrement (opération effectuée par le destinataire légitime) et le décryptement (opération que l’espion tente d’effectuer).
Les systèmes cryptographiques utilisent un algorithme cryptographique associé à une fonction mathématique utilisée pour le chiffrement et le déchiffrement. Pour chiffrer un message en clair, on applique un algorithme de chiffrement au texte de ce message. Pour déchiffrer un texte chiffré, on applique un algorithme de déchiffrement au texte chiffré.
Il existe plusieurs types de crypto-systèmes :
- Les cryptosystèmes à usage restreint – Un algorithme cryptographique est dit à usage restreint si sa sécurité est basée sur le fait que les opérations de chiffrement et de déchiffrement sont tenues secrètes. De tels algorithmes ne comportent pas intérêt de nos jours, car ils ne sont plus adéquats pour les besoins actuels de sécurité. Un groupe d’utilisateurs important ou variable ne peut utiliser de tels algorithmes car il y aura toujours un utilisateur qui tôt ou tard révélera le secret. Quand cela se produit, la sécurité de tout le système s’écroule. Plus important encore, la plupart des algorithmes restreints sont faciles à casser par les cryptanalystes expérimentés.
- Les cryptosystèmes à usage général – Un système cryptographique est dit à usage général si sa sécurité ne repose pas sur le secret des opérations de chiffrement et de déchiffrement mais plutôt sur une information appelée la clé. Les individus qui utilisent de tels systèmes doivent pouvoir facilement générer leurs propres clés sans avoir recours au concepteur du système de telle sorte que celui-ci ne jouisse d’aucun avantage particulier s’il décide de passer au camp des cryptanalystes.
Il existe deux grandes classes de cryptosystèmes à usage général :
Le système à clé secrète ou symétrique. Un système de chiffrement à clé secrète, ou symétrique, repose sur le partage entre deux interlocuteurs en communication, d’une même clé secrète utilisée à la fois pour le chiffrement d’un message et pour son déchiffrement. La clé doit être échangée préalablement à la communication par un canal sûr autre que le canal à protéger. le système à clé publique ou asymétrique. Le concept de cryptographie à clé publique fut inventé par Whitfield Diffie et Martin Hellman, et indépendamment par Ralph Merkle en 1976. L’idée neuve dans le domaine était que les clés pouvaient être des paires – une clé de chiffrement et une clé de déchiffrement – et qu’il était impossible de générer une clé à partir de l’autre. Cette idée est apparue après une observation pertinente selon laquelle celui qui chiffre un message n’a pas besoin de pouvoir le déchiffrer.
La solution prônée en France est la cryptographie à clé publique : cette solution permet de réaliser les fonctions d’authentification, de signature/vérification et de distribution/échange de clé, en évitant tout partage préalable, entre les interlocuteurs d’une transaction sécurisée, d’un secret commun.
Cette solution implique deux conditions : d’une part l’implantation, dans les terminaux, les serveurs, etc., de moyens de cryptologie mettant en oeuvre des protocoles de sécurité reposant sur des algorithmes de sécurité, et d’autre part la mise en place d’une infrastructure de certification, soit d’un service offert par un prestataire indépendant – appelé généralement tiers certificateur ou autorité de certification – de délivrance d’un certificat attestant la correspondance entre la clé publique de cet utilisateur et les données d’identification utilisées dans l’application.
Les fonctions de la cryptographie doivent répondre aux besoins suivants :
- Intégrité des données – Le contrôle de l’intégrité d’une donnée consiste à s’assurer que cette donnée n’a pas été altérée accidentellement ou frauduleusement. Le plus souvent le contrôle de l’intégrité ne s’appuie pas à proprement parler sur un outil de cryptologie car son calcul ne requiert pas de convention secrète.
- Authentification – Elle peut être de deux natures : authentification des partenaires ou authentification de l’origine des informations. En pratique, ce service permet principalement de s’assurer que le correspondant connecté est bien le correspondant annoncé ou de s’assurer du signataire de l’acte.
- Non-répudiation – La non-répudiation permet d’obtenir la preuve de l’émission d’une information ou la preuve de sa réception. L’émetteur ou le récepteur ne peut ainsi en nier l’envoi ou la réception.
- Confidentialité – La confidentialité permet de rendre la lecture de l’information inintelligible à des tiers non autorisés lors de sa conservation ou surtout de son de transfert. Le chiffrement des informations constitue la technique la plus utilisée pour répondre à ce service.
- Signature numérique – La signature numérique est une technique qui permet la mise en œuvre à la fois de l’intégrité des données, de l’authentification et de la non-répudiation.
