Qu'est-ce que la cryptographie ?

La cryptographie est la pratique de la protection des informations par l'utilisation d'algorithmes codés, de hachages et de signatures. Les informations peuvent être au repos (comme un fichier sur un disque dur), en transit (comme une communication électronique échangée entre deux ou plusieurs parties), ou en cours d'utilisation (lors de l'utilisation de données). La cryptographie a quatre objectifs principaux :

  • Confidentialité : les informations ne sont accessibles qu'aux utilisateurs autorisés.
  • Intégrité : garantit que les informations n'ont pas été manipulées.
  • Authentification : confirme l'authenticité des informations ou l'identité d'un utilisateur.
  • Non-répudiation : empêche un utilisateur de nier des engagements ou des actions antérieurs.

La cryptographie utilise un certain nombre d'algorithmes cryptographiques de bas niveau pour atteindre un ou plusieurs de ces objectifs de sécurité de l'information. Ces outils comprennent des algorithmes de chiffrement, des algorithmes de signature numérique, des algorithmes de hachages et d'autres fonctions. Cette page décrit quelques-uns des algorithmes cryptographiques de bas niveau courants.

À quoi sert la cryptographie ?

La cryptographie puise ses origines dans l'envoi d'informations sensibles entre des personnalités militaires et politiques. Les messages peuvent être chiffrés de sorte qu'ils semblent être des textes aléatoires pour toute personne autre que le destinataire.

Les techniques originales de chiffrement sont désormais totalement dépassées, au point qu'on ne les trouve que dans la section des énigmes de certains journaux. Heureusement, ce domaine a connu des avancées majeures en matière de sécurité, et les algorithmes utilisés aujourd'hui reposent sur une analyse et des mathématiques rigoureuses pour leur sécurité.

À mesure que la sécurité a progressé, le domaine de la cryptographie s'est élargi pour inclure un plus large éventail d'objectifs de sécurité. Il s'agit notamment de l'authentification des messages, de l'intégrité des données, du calcul sécurisé, etc.

La cryptographie est au cœur de la société moderne. Elle est utilisée dans d'innombrables applications Internet à travers le protocole de transfert hypertexte sécurisé (HTTPS), dans les communications vocales et textuelles sécurisées, voire dans les monnaies numériques.

Qu'est-ce que le chiffrement ?

Un algorithme de chiffrement est une procédure qui convertit un message en clair en un texte chiffré. Les algorithmes modernes utilisent des mathématiques avancées et une ou plusieurs clés de chiffrement. Il est ainsi relativement facile de chiffrer un message, mais pratiquement impossible de le déchiffrer sans connaître les clés.

Les techniques de chiffrement se divisent en deux catégories, symétrique et asymétrique, en fonction du fonctionnement de leurs clés.

Qu'est-ce que la cryptographie à clé symétrique ?

Les algorithmes cryptographiques à clé symétrique utilisent les mêmes clés cryptographiques pour le chiffrement du texte en clair et le déchiffrement du texte chiffré. Le chiffrement symétrique exige que tous les destinataires du message aient accès à une clé partagée.

Les illustrations suivantes montrent comment le chiffrement et le déchiffrement fonctionnent avec des clés et des algorithmes symétriques, en supposant que toutes les parties partagent la même clé.

Dans la première illustration, une clé et un algorithme symétriques sont utilisés pour convertir un message en texte brut en texte chiffré. La deuxième illustration montre que la même clé secrète et le même algorithme symétrique sont utilisés pour transformer le texte chiffré en texte brut.                

  

L'un des chiffrements par blocs les plus populaires est la norme de chiffrement avancée (AES). Ce chiffrement par blocs prend en charge les clés de 128, 192 ou 256 bits. AES est souvent combinée avec le Galois/Counter Mode (GCM) et connue sous le nom de AES-GCM pour en faire un algorithme de chiffrement authentifié.

AES est la norme industrielle pour le chiffrement effectué dans le monde entier. Sa sécurité est bien attestée, et des implémentations logicielles et matérielles efficaces sont largement disponibles.

Qu'est-ce que la cryptographie asymétrique (à clé publique) ?

 

La cryptographie asymétrique (ou à clé publique) comprend un vaste ensemble d'algorithmes. Ces derniers sont basés sur des problèmes mathématiques qui sont relativement faciles à réaliser dans un sens, mais qui ne peuvent pas être facilement inversés.

Un exemple très connu de ce type de problème est celui de la factorisation : pour des nombres premiers p et q soigneusement choisis, on peut calculer rapidement le produit N=p*q. Cependant, quand seulement N est connu, il est très difficile de récupérer p et q.

Un algorithme cryptographique à clé publique courant basé sur le problème de la factorisation est la fonction Rivest-Shamir-Adleman (RSA). Associée à un schéma de remplissage approprié, la fonction RSA peut être utilisée à de multiples fins, notamment pour le chiffrement asymétrique.

Un schéma de chiffrement est dit asymétrique s'il utilise une clé – la clé publique – pour chiffrer les données, et une clé différente mais mathématiquement liée – la clé privée – pour déchiffrer les données.

Il doit être impossible de déterminer la clé privée si la seule chose que l'on connaît est la clé publique. Par conséquent, la clé publique peut être distribuée à grande échelle tandis que la clé privée reste secrète et sécurisée. Ensemble, les clés sont appelées une paire de clés.

Un schéma de chiffrement asymétrique populaire est RSA-OAEP, qui est une combinaison de la fonction RSA avec le schéma de remplissage Optimal Asymmetric Encryption Padding (OAEP). RSA-OAEP n'est généralement utilisé que pour chiffrer de petites quantités de données, car il est lent et ses textes chiffrés sont beaucoup plus volumineux que le texte brut.

Qu'est-ce que le chiffrement hybride ?

Étant donné que les algorithmes à clé publique comme RSA-OAEP sont moins efficaces que leurs homologues symétriques, ils ne sont pas couramment utilisés pour chiffrer directement des données. Cependant, ils jouent un rôle important dans l'écosystème cryptographique en fournissant un moyen d'échange de clés.

Afin d'utiliser le chiffrement symétrique, les parties doivent partager une clé. Bien que cette clé puisse être envoyée sur un canal chiffré existant, nous n'aurions pas besoin d'une nouvelle clé si nous disposions déjà d'un canal sécurisé. En revanche, nous résolvons le problème de l'échange de clés en utilisant la cryptographie à clé publique.

Voici deux méthodes courantes d'échange de clés symétriques.

  • Chiffrement symétrique Une partie génère une clé symétrique, puis la chiffre à l'aide d'un algorithme comme RSA-OAEP sur la clé publique d'une autre partie. Le destinataire peut déchiffrer le texte chiffré en utilisant sa clé privée pour récupérer la clé symétrique.
  • Échange de clés de type Diffie-Hellman – (DH). Diffie-Hellman est un type différent d'algorithme cryptographique à clé publique spécifiquement conçu pour aider les parties à se mettre d'accord sur une clé symétrique en l'absence d'un canal sécurisé. Diffie-Hellman est basé sur un problème mathématique différent de celui de la fonction RSA et est moins flexible que cette dernière. Cependant, il dispose de constructions plus efficaces, ce qui le rend préférable dans certains cas d'utilisation.

Cette combinaison de la cryptographie à clé publique pour l'échange de clés et du chiffrement symétrique pour le chiffrement des données en masse est connue sous le nom de chiffrement hybride.

Le chiffrement hybride utilise les propriétés uniques de la cryptographie à clé publique pour échanger des informations secrètes sur un canal non fiable avec l'efficacité du chiffrement symétrique. On obtient ainsi une solution pratique de bout en bout pour la confidentialité des données.

Le chiffrement hybride est largement utilisé dans les protocoles de transfert de données sur le web, comme dans le protocole TLS (Transport Layer Security). Lorsque vous vous connectez à un site web qui utilise HTTPS (HTTP sécurisé avec TLS), votre navigateur négocie les algorithmes cryptographiques qui sécurisent votre connexion. Il s'agit entre autres d'algorithmes d'échange de clés, de chiffrement symétrique et de signatures électroniques.

Qu'est-ce qu'une signature électronique ?

Les systèmes de signature numérique sont un type de cryptographie à clé publique qui garantit l'intégrité, l'authenticité et la non-répudiation des données.

Le processus de signature peut être assimilé au chiffrement du fichier à l'aide de la clé privée. Le signataire utilise sa clé privée pour produire une « signature » sur un document numérique tel qu'un fichier ou un morceau de code.

Cette signature est unique pour la paire document/clé privée, et peut être attachée au document et vérifiée avec la clé publique du signataire. Deux algorithmes courants pour les signatures numériques sont le RSA avec le schéma de signature probabiliste (RSA-PSS) et l'algorithme de signature électronique (DSA).

Qu'est-ce qu'un code d'authentification de message ?

Un code d'authentification de message (MAC) est la version symétrique d'une signature électronique. Avec un MAC, deux parties ou plus partagent une clé. Une partie crée une étiquette MAC, qui est la version symétrique d'une signature numérique, et l'attache au document. Une autre partie peut vérifier l'intégrité du message en utilisant la même clé que celle utilisée pour créer l'étiquette.

Il convient de noter que plusieurs parties partagent la clé utilisée pour créer les étiquettes MAC. Les MAC ne peuvent donc pas être utilisés pour l'authentification ou la non-répudiation, car on ne sait pas exactement quelle partie a créé l'étiquette.

Les MAC peuvent être des algorithmes autonomes, tels qu'un code d'authentification de message utilisant hash (HMAC). Toutefois, comme l'intégrité des messages est presque toujours une assurance précieuse, il est fréquemment intégré dans les algorithmes de chiffrement symétrique comme AES-GCM.

Qu'est-ce que la cryptographie à courbe elliptique ?

La cryptographie par courbes elliptiques (ECC) est une technique de cryptographie à clé publique basée sur la théorie mathématique des courbes elliptiques.

Le principal avantage de l'ECC est qu'elle peut fournir un niveau de protection similaire à celui des techniques plus traditionnelles, mais avec des clés plus petites et des opérations plus rapides. L'efficacité de l'ECC fait qu'elle est bien adaptée à une utilisation dans des appareils ayant une puissance de calcul relativement faible, comme les téléphones mobiles.

L'ECC peut être utilisée pour un échange de clés efficace à l'aide d'une variante à courbe elliptique de Diffie-Hellman (ECDH) ou pour les signatures numériques à l'aide de l'algorithme de signature numérique à courbe elliptique (ECDSA). En raison de sa rapidité et de sa flexibilité, l'ECC est largement utilisée dans de nombreuses applications sur Internet.

Qu'est-ce que le hachage en cryptographie ?

Une fonction de hachage cryptographique est un outil permettant de transformer des données arbitraires en une « empreinte digitale » de longueur fixe. Les fonctions de hachage sont conçues de manière à ce qu'il soit difficile de trouver deux entrées différentes qui ont la même empreinte, et qu'il soit difficile de trouver un message dont l'empreinte correspond à une valeur fixe.

Contrairement aux schémas de chiffrement, aux schémas de signature et aux MAC, les fonctions de hachage n'ont pas de clé. N'importe qui peut calculer le hachage d'une entrée donnée et la fonction de hachage produira toujours la même sortie pour la même entrée.

Les fonctions de hachage sont une composante importante des algorithmes et protocoles cryptographiques plus importants. Il s'agit par exemple des algorithmes de signature numérique, des algorithmes MAC dédiés, des protocoles d'authentification et du stockage des mots de passe.

Qu'est-ce que la cryptomonnaie ?

La cryptomonnaie est une monnaie numérique dans laquelle les transactions sont vérifiées et les registres tenus par un système décentralisé, plutôt que par une autorité centralisée. La cryptomonnaie est un exemple d'application de la cryptographie.

Les cryptomonnaies utilisent de nombreux algorithmes cryptographiques de bas niveau pour créer une plateforme fiable et sécurisée. Les cryptomonnaies font appel à de nombreux concepts abordés sur cette page : cryptographie à courbe elliptique, signatures numériques, fonctions de hachage, etc. Ensemble, ces algorithmes permettent d'instaurer la confiance et la responsabilité sans autorité centralisée.

Qu'est-ce que la cryptographie post-quantique ?

Au cours des dernières décennies, d'importants investissements ont été réalisés dans l'informatique quantique. Les ordinateurs quantiques utilisent la physique quantique et peuvent résoudre des problèmes mathématiques comme le problème de la factorisation, qui sont insolubles avec les ordinateurs classiques.

Un ordinateur quantique à grande échelle violerait les systèmes de chiffrement à clé publique que nous utilisons aujourd'hui, notamment les systèmes basés sur les fonctions Rivest-Shamir-Adleman (RSA). Une violation de ces algorithmes signifierait la perte de la confidentialité et de l'authentification de nombreuses applications et protocoles que nous utilisons aujourd'hui.

Bien que de petits ordinateurs quantiques existent aujourd'hui, ils sont trop petits pour violer les algorithmes cryptographiques. On ne sait pas si ou quand un ordinateur quantique cryptographiquement pertinent (CRQC) sera disponible. Il faudra réaliser d'importantes percées scientifiques pour développer un CRQC.

La cryptographie post-quantique (PQC) fait référence aux algorithmes cryptographiques qui fonctionnent sur les ordinateurs que nous utilisons aujourd'hui et qui ne sont pas réputés vulnérables à un ordinateur quantique à grande échelle.

Apprenez-en davantage sur la participation des équipes de recherche et d'ingénierie d'AWS à des projets de cryptographie post-quantique et à des groupes de travail avec la communauté cryptographique mondiale d'AWS Post-Quantum Cryptography.

Qu'est-ce que le calcul cryptographique ?

Les outils présentés jusqu'à présent vous permettent d'utiliser le chiffrement au repos et le chiffrement en transit. Dans le passé, les données devaient être déchiffrées avant de pouvoir être utilisées dans un calcul. L'informatique cryptographique comble cette lacune en fournissant des outils permettant d'opérer directement sur des données protégées par un cryptogramme.

Le terme « informatique cryptographique » couvre un large éventail de technologies, notamment le calcul multipartite sécurisé, le chiffrement homomorphique et le chiffrement interrogeable. Bien que ces technologies diffèrent dans les détails, elles protègent cryptographiquement les données d'une manière qui vous permet d'effectuer des calculs sur les données protégées tout en préservant la confidentialité de ces données.

Quels services cryptographiques AWS fournit-il aux clients ?

Les services cryptographiques d'AWS utilisent un large éventail de technologies de chiffrement et de stockage qui peuvent garantir l'intégrité de vos données au repos ou en transit. AWS offre plusieurs outils pour les opérations cryptographiques :

Plusieurs services AWS s'appuient sur ces services cryptographiques lors du transfert ou du stockage des données. Pour obtenir une liste de ces services et un aperçu de la manière dont ils utilisent les pratiques cryptographiques, reportez-vous à la section Autres services AWS.

AWS offre également des bibliothèques cryptographiques open source :

  • AWS libcrypto (AWS-LC) est une bibliothèque cryptographique polyvalente gérée par l'équipe AWS Cryptography pour AWS et ses clients. Elle est basée sur le code du projet Google BoringSSL et du projet OpenSSL. AWS-LC contient des implémentations C portables des algorithmes nécessaires à TLS et aux applications courantes. Pour les algorithmes dont les performances sont sensibles, des versions assemblées optimisées sont incluses pour x86 et ARM.
  • s2n-tls permet de mettre en œuvre les protocoles TLS/SSL. Il a été conçu pour être simple, petit, rapide et avec la sécurité comme priorité.

Vous pouvez également vous référer au blog Amazon Science et au blog AWS Security. Nous y détaillons ce que nous faisons pour développer, évaluer et créer des prototypes de recherche cryptographique. Nous écrivons des articles sur le calcul cryptographique, la cryptographie post-quantique, le code cryptographique vérifié, etc.

Comment puis-je utiliser des services cryptographiques dans AWS qui sont conformes à une réglementation gouvernementale ou professionnelle ?

Les services de cryptographie AWS sont conformes à un large éventail de normes de sécurité cryptographique, ce qui vous permet de protéger facilement vos données sans vous soucier des réglementations gouvernementales ou professionnelles. Pour obtenir une liste complète des conformités aux normes de sécurité des données d'AWS, reportez-vous aux programmes de conformité d'AWS.

Cryptographie AWS : prochaines étapes

Consulter les ressources supplémentaires relatives au produit
Voir les offres gratuites pour les services de sécurité dans le cloud 
Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite AWS. 

S'inscrire 
Commencer à créer dans la console

Commencez à créer dans la console de gestion AWS.

Se connecter