En cryptographie , le chiffrement (ou encodage ) est le processus de transformation de l'information de manière à ce que, idéalement, seules les parties autorisées puissent la déchiffrer. Ce processus convertit la représentation originale de l'information, appelée texte clair , en une forme alternative appelée texte chiffré . Malgré son objectif, le chiffrement n'empêche pas en soi toute interception, mais il prive un éventuel intercepteur d'informations intelligibles.
Pour des raisons techniques, un système de chiffrement utilise généralement une clé de chiffrement pseudo-aléatoire générée par un algorithme . Il est possible de déchiffrer le message sans posséder la clé, mais un système de chiffrement bien conçu exige des ressources informatiques et des compétences considérables. Un destinataire autorisé peut facilement déchiffrer le message grâce à la clé fournie par l'expéditeur, mais pas les utilisateurs non autorisés.
Historiquement, diverses formes de chiffrement ont été utilisées en cryptographie. Les premières techniques de chiffrement étaient fréquemment employées dans les communications militaires. Depuis, de nouvelles techniques ont émergé et se sont généralisées dans tous les domaines de l'informatique moderne. Les systèmes de chiffrement modernes reposent sur les concepts de chiffrement à clé publique et de chiffrement symétrique . Les techniques de chiffrement modernes garantissent la sécurité car les ordinateurs actuels sont incapables de les déchiffrer efficacement.
Khnoumhotep II , qui vécut en 1900 av. J.-C. en Égypte . Le chiffrement par remplacement de symboles est dit « non standard », ce qui signifie que les symboles nécessitent un code ou une clé pour être déchiffrés. Ce type de chiffrement primitif était utilisé dans toute la Grèce et la Rome antiques à des fins militaires. L'un des développements les plus célèbres en matière de chiffrement militaire est le chiffrement de César , dans lequel une lettre du texte clair est décalée d'un nombre fixe de positions dans l'alphabet pour obtenir la lettre chiffrée. Un message chiffré avec ce type de chiffrement pouvait être déchiffré à l'aide d'un nombre fixe de caractères du chiffrement de César.Vers l'an 800, le mathématicien arabe al-Kindi développa la technique d' analyse fréquentielle , une tentative pour déchiffrer systématiquement les codes , notamment le chiffre de César. Cette technique examinait la fréquence des lettres dans le message chiffré afin de déterminer le décalage approprié : par exemple, la lettre la plus fréquente en anglais étant le « E », elle était susceptible d'être représentée par la lettre apparaissant le plus souvent dans le texte chiffré. Cette technique fut rendue inefficace par le chiffrement polyalphabétique , décrit par al-Qalqashandi (1355-1418) et Leon Battista Alberti (en 1465), qui modifiait l'alphabet de substitution au fur et à mesure du chiffrement afin de déjouer cette analyse.
XIXe-XXe siècle
Vers 1790, Thomas Jefferson a théorisé un chiffrement permettant d'encoder et de décoder des messages afin de sécuriser la correspondance militaire. Ce chiffrement, aujourd'hui connu sous le nom de chiffrement à roue ou disque de Jefferson , bien que jamais réalisé, consistait en une bobine capable de brouiller un message anglais de 36 caractères maximum. Le message pouvait être déchiffré en l'insérant dans un récepteur doté d'un chiffrement identique.
Un dispositif similaire au disque Jefferson, le M-94 , a été développé en 1917 indépendamment par le major Joseph Mauborne de l'armée américaine . Ce dispositif a été utilisé dans les communications militaires américaines jusqu'en 1942.
Durant la Seconde Guerre mondiale , les puissances de l'Axe utilisèrent une version plus avancée du M-94, appelée machine Enigma . Plus complexe que la roue de Jefferson et le M-94, la combinaison de lettres changeait quotidiennement. Cette combinaison étant connue uniquement des forces de l'Axe, beaucoup pensaient que le seul moyen de déchiffrer le code serait d'essayer plus de 17 000 combinaisons en 24 heures. Les Alliés, grâce à leur puissance de calcul, réduisirent considérablement le nombre de combinaisons raisonnables à vérifier chaque jour, ce qui permit de percer le secret de la machine Enigma.
Moderne
Aujourd'hui, le chiffrement est utilisé pour la transmission des communications sur Internet à des fins de sécurité et de commerce. Avec l'augmentation constante de la puissance de calcul, le chiffrement informatique évolue sans cesse afin de prévenir les écoutes clandestines . L'une des premières suites de chiffrement « modernes », DES , utilisait une clé de 56 bits offrant 72 057 594 037 927 936 possibilités ; elle a été déchiffrée en 1999 par le programme de déchiffrement par force brute de l'EFF , qui a nécessité 22 heures et 15 minutes. Les normes de chiffrement modernes utilisent souvent des clés plus robustes, comme AES (mode 256 bits), TwoFish , ChaCha20-Poly1305 et Serpent (configurable jusqu'à 512 bits). Les suites de chiffrement utilisant une clé de 128 bits ou plus, comme AES, ne peuvent pas être déchiffrées par force brute car le nombre total de clés possibles atteint 3,4028237 × 10³⁸. La méthode la plus probable pour casser les chiffrements à clés longues consiste à exploiter les vulnérabilités du chiffrement lui-même, comme les biais inhérents et les portes dérobées, ou à tirer parti des effets secondaires physiques via des attaques par canaux auxiliaires . Par exemple, le chiffrement de flux RC4 a été cassé en raison de biais et de vulnérabilités inhérents.
Le chiffrement en cryptographie
En cryptographie, le chiffrement sert de mécanisme pour garantir la confidentialité . Étant donné que les données peuvent être visibles sur Internet, les informations sensibles telles que les mots de passe et les communications personnelles peuvent être exposées à des intercepteurs potentiels . Le processus de chiffrement et de déchiffrement des messages utilise des clés . Les deux principaux types de clés dans les systèmes cryptographiques sont les clés symétriques et les clés publiques (également appelées clés asymétriques).
De nombreux algorithmes cryptographiques complexes utilisent souvent une arithmétique modulaire simple dans leurs implémentations.
Types
Dans les systèmes à clé symétrique , les clés de chiffrement et de déchiffrement sont identiques. Pour garantir la sécurité des communications, les parties doivent posséder la même clé. La machine Enigma allemande utilisait une nouvelle clé symétrique chaque jour pour chiffrer et déchiffrer les messages.
Dans les systèmes de cryptographie à clé publique , la clé de chiffrement est diffusée afin que chacun puisse l'utiliser pour chiffrer des messages. Cependant, seul le destinataire a accès à la clé de déchiffrement permettant de lire les messages. Le chiffrement à clé publique a été décrit pour la première fois dans un document confidentiel en 1973 ; auparavant, tous les systèmes de chiffrement étaient à clé symétrique (également appelée clé privée). Bien que publiés ultérieurement, les travaux de Diffie et Hellman ont paru dans une revue à large diffusion, et l'intérêt de la méthodologie y a été explicitement décrit. La méthode est devenue connue sous le nom d'échange de clés Diffie-Hellman .
RSA (Rivest–Shamir–Adleman) est un autre système de chiffrement à clé publique notable . Créé en 1978, il est encore utilisé aujourd'hui pour des applications impliquant des signatures numériques . En utilisant la théorie des nombres , l'algorithme RSA sélectionne deux nombres premiers , qui permettent de générer les clés de chiffrement et de déchiffrement.
Une application de chiffrement à clé publique accessible au public, appelée Pretty Good Privacy (PGP), a été écrite en 1991 par Phil Zimmermann et distribuée gratuitement avec son code source. PGP a été rachetée par Symantec en 2010 et est régulièrement mise à jour.
Utilisations
Le chiffrement est utilisé depuis longtemps par les forces armées et les gouvernements pour faciliter les communications secrètes. Il est aujourd'hui couramment employé pour protéger les informations au sein de nombreux systèmes civils. Par exemple, le Computer Security Institute a indiqué qu'en 2007, 71 % des entreprises interrogées utilisaient le chiffrement pour une partie de leurs données en transit, et 53 % pour une partie de leurs données stockées. Le chiffrement peut également servir à protéger les données « au repos », telles que les informations stockées sur des ordinateurs et des périphériques de stockage (par exemple, des clés USB ). Ces dernières années, de nombreux cas de divulgation de données confidentielles, comme les dossiers personnels des clients, suite à la perte ou au vol d'ordinateurs portables ou de disques de sauvegarde, ont été signalés ; le chiffrement de ces fichiers au repos permet de les protéger en cas de défaillance des mesures de sécurité physiques. Les systèmes de gestion des droits numériques (DRM) , qui empêchent l'utilisation ou la reproduction non autorisée de contenus protégés par le droit d'auteur et protègent les logiciels contre la rétro-ingénierie (voir aussi protection contre la copie ), constituent un autre exemple, quelque peu différent, d'utilisation du chiffrement des données au repos.
Le chiffrement est également utilisé pour protéger les données en transit, par exemple les données transférées via des réseaux (Internet, commerce électronique , etc. ), les téléphones mobiles , les microphones sans fil , les systèmes d'interphonie sans fil , les appareils Bluetooth et les distributeurs automatiques de billets . De nombreux cas d'interception de données en transit ont été signalés ces dernières années. Les données doivent également être chiffrées lors de leur transmission sur les réseaux afin de se protéger contre l'écoute clandestine du trafic réseau par des utilisateurs non autorisés.
Conformité réglementaire
Le chiffrement joue un rôle essentiel dans le respect des exigences réglementaires en matière de protection des données sensibles. En vertu de la règle de sécurité HIPAA , le chiffrement des informations de santé électroniques protégées (ePHI) est considéré comme une spécification de mise en œuvre « adressable », ce qui signifie que norme de sécurité des données de l'industrie des cartes de paiement (PCI DSS) exige le chiffrement des données du titulaire de carte à la fois lors du stockage (exigence 3) et lors de la transmission sur les réseaux publics ouverts (exigence 4), en spécifiant l'utilisation d'algorithmes cryptographiques forts.
Effacement des données
Limites
Au XXIe siècle, le chiffrement est utilisé pour protéger les données numériques et les systèmes d'information. Avec l'augmentation de la puissance de calcul au fil des ans, les technologies de chiffrement sont devenues plus performantes et plus sûres. Cependant, ces progrès technologiques ont également mis en évidence une limite potentielle des méthodes de chiffrement actuelles.
La longueur de la clé de chiffrement est un indicateur de la robustesse de la méthode de chiffrement. Par exemple, la clé de chiffrement originale, DES (Data Encryption Standard), était de 56 bits, ce qui signifie qu'elle offrait 2^56 combinaisons possibles. Avec la puissance de calcul actuelle, une clé de 56 bits n'est plus sécurisée, car elle est vulnérable aux attaques par force brute .
L'informatique quantique exploite les propriétés de la mécanique quantique pour traiter simultanément de grandes quantités de données. Elle atteint des vitesses de calcul des milliers de fois supérieures à celles des supercalculateurs actuels . Cette puissance de calcul représente un défi pour les technologies de chiffrement actuelles. Par exemple, le chiffrement RSA utilise la multiplication de très grands nombres premiers pour générer un nombre semi-premier servant de clé publique. Déchiffrer cette clé sans la clé privée nécessite la factorisation de ce nombre semi-premier, une opération extrêmement longue pour les ordinateurs modernes. Un supercalculateur pourrait mettre entre plusieurs semaines et plusieurs mois pour effectuer cette factorisation . Or, l'informatique quantique peut utiliser des algorithmes quantiques pour factoriser ce nombre semi-premier en un temps équivalent à celui nécessaire aux ordinateurs classiques pour le générer. De ce fait, toutes les données protégées par le chiffrement à clé publique actuel seraient vulnérables aux attaques quantiques . D'autres techniques de chiffrement, comme la cryptographie à courbes elliptiques et le chiffrement symétrique, sont également vulnérables à l'informatique quantique.Agence de sécurité nationale ) prépare actuellement des normes de chiffrement post-quantiques. Le chiffrement quantique promet un niveau de sécurité capable de contrer la menace que représente l'informatique quantique.
Attaques et contre-mesures
Le chiffrement est un outil important, mais insuffisant à lui seul pour garantir la sécurité et la confidentialité des informations sensibles tout au long de leur cycle de vie. La plupart des applications de chiffrement protègent les informations uniquement au repos ou en transit, laissant les données sensibles en clair et potentiellement vulnérables à une divulgation inappropriée lors de leur traitement, par exemple par un service cloud . Le chiffrement homomorphe et le calcul multipartite sécurisé sont des techniques émergentes pour le traitement des données chiffrées ; ces techniques sont générales et Turing-complètes , mais engendrent des coûts de calcul et/ou de communication élevés.
En réponse au chiffrement des données au repos, les cybercriminels ont développé de nouveaux types d'attaques. Parmi les menaces les plus récentes pesant sur le chiffrement des données au repos figurent les attaques cryptographiques , les attaques par vol de texte chiffré , les attaques sur les clés de chiffrement , les attaques internes , les attaques par corruption ou atteinte à l'intégrité des données , les attaques par destruction de données et les attaques par rançongiciel . La fragmentation des données et les technologies de protection des données par défense active tentent de contrer certaines de ces attaques en distribuant, déplaçant ou modifiant le texte chiffré afin de rendre son identification, son vol, sa corruption ou sa destruction plus difficiles
Le débat autour du chiffrement
Protection de l'intégrité des textes chiffrés
Le chiffrement, à lui seul, peut protéger la confidentialité des messages, mais d'autres techniques restent nécessaires pour garantir leur intégrité et leur authenticité ; par exemple, la vérification d'un code d'authentification de message (MAC) ou d'une signature numérique , généralement effectuée par un algorithme de hachage ou une signature PGP . Les algorithmes de chiffrement authentifiés sont conçus pour assurer simultanément le chiffrement et la protection de l'intégrité. Les normes relatives aux logiciels et matériels cryptographiques permettant le chiffrement sont largement disponibles, mais garantir la sécurité par le chiffrement peut s'avérer complexe. Une simple erreur de conception ou d'exécution du système peut permettre la réussite d'attaques. Il arrive qu'un adversaire puisse obtenir des informations non chiffrées sans déchiffrer directement le système. Voir par exemple l'analyse du trafic , TEMPEST ou les chevaux de Troie .
Des mécanismes de protection de l'intégrité, tels que les MAC et les signatures numériques, doivent être appliqués au texte chiffré dès sa création, généralement sur le même appareil que celui utilisé pour composer le message, afin de garantir sa protection de bout en bout tout au long de son parcours de transmission. À défaut, tout nœud entre l'expéditeur et l'agent de chiffrement pourrait potentiellement le falsifier. Le chiffrement au moment de la création n'est sécurisé que si l'appareil de chiffrement lui-même possède les clés correctes et n'a pas été altéré. Si un terminal est configuré pour faire confiance à un certificat racine contrôlé par un attaquant, par exemple, ce dernier peut alors inspecter et altérer les données chiffrées en effectuant une attaque de l'homme du milieu à n'importe quel point du chemin du message. L' interception TLS , pratique courante chez les opérateurs de réseau, représente une forme contrôlée et institutionnellement sanctionnée de ce type d'attaque, mais certains États ont également tenté d'y recourir comme outil de contrôle et de censure.
Longueur et remplissage du texte chiffré
L’ajout d’un remplissage à un message avant chiffrement permet de masquer sa longueur réelle en clair, bien que cela augmente la taille du texte chiffré et la consommation de bande passante . Ce remplissage peut être aléatoire ou déterministe , chaque approche présentant des compromis différents. Le chiffrement et le remplissage des données pour produire des blocs aléatoires uniformes remplis (PURB) garantissent que le texte chiffré ne révèle aucune métadonnée sur la structure du texte clair , ne divulguant qu’une information asymptotiquement minimale sur toute sa longueur.