Un guide du débutant sur la cryptographie et quelques ressources utiles
Si vous connaissez vaguement la cryptographie, vous savez peut-être qu’elle a quelque chose à voir avec les messages secrets. Bien que cela soit vrai, le domaine de la cryptographie a un champ d’action plus large, qui peut être résumé par la question :
- Comment pouvons-nous protéger nos informations et nos communications contre les attaquants ?
Une grande partie de la cryptographie consiste à trouver des moyens de garder nos messages secrets face aux adversaires susceptibles de nous espionner. Cela implique de trouver des mécanismes qui peuvent nous garantir la confidentialité. Une grande partie de cela est accomplie grâce chiffrement , qui consiste à coder les informations avec des algorithmes afin que les attaquants ne puissent pas les lire.
Mais la cryptographie va bien au-delà du simple cryptage destiné à préserver la confidentialité de nos données. Si nous revenons à notre question initiale, nous souhaitons protéger nos informations et nos communications contre les attaquants. Cela ne peut pas être accompli uniquement par le cryptage. Considérez le scénario suivant :
Vous avez un message top secret à envoyer à votre ami. Vous passez des mois à vous renseigner sur le cryptage et toutes les pratiques de pointe afin de pouvoir créer votre propre chaîne cryptée entre vous et votre ami. Vous l’avez vérifié et revérifié, et tout est parfait, alors vous envoyez le message top secret à votre ami. Malheureusement, ce n’est pas réellement votre ami à l’autre bout du fil. Au lieu de cela, un attaquant a reçu votre message top secret et tous vos plans sont ruinés.
Considérez-vous que la situation ci-dessus est sûre ? Bien sûr que non. Malgré l’utilisation de tous les protocoles de cryptage appropriés, vos données se sont retrouvées entre les mains d’un adversaire. Bien sûr, votre cryptage a fait du bon travail en gardant les autres parties à l’écart du canal, mais il a oublié quelque chose d’incroyablement important : authentifier que la partie de l’autre côté du canal est bien celle qu’elle prétend être.
L'authentification joue un rôle majeur dans la sécurité de nos communications. Peu importe la qualité de votre cryptage pour empêcher les tiers d’écouter clandestinement si vous n’authentifiez pas correctement votre partenaire de communication. Sans authentification, vous pourriez envoyer des données directement à un ennemi, comme dans notre exemple. En cryptographie, l'authentification est réalisée via des systèmes et des mécanismes de certificat tels que les signatures numériques et le cryptage à clé publique.
D'autres aspects critiques de la sécurité peuvent inclure l'intégrité et la non-répudiation. Les processus d’intégrité permettent aux destinataires de vérifier si les informations ont été falsifiées depuis leur envoi, tandis que la non-répudiation supprime la possibilité pour l’expéditeur de nier qu’il est responsable de l’envoi de quelque chose.
Les concepts mathématiques, protocoles et autres mécanismes qui peuvent nous garantir confidentialité, authenticité, intégrité et non-répudiation sont tous des aspects de la cryptographie. Certains des éléments les plus courants de la cryptographie comprennent :
Hachage
Le hachage consiste à transformer un message en une chaîne illisible non pas dans le but de masquer le message, mais plutôt pour vérifier le contenu du message. Ceci est le plus souvent utilisé dans la transmission de logiciels ou de fichiers volumineux où l'éditeur propose le programme et son hachage en téléchargement. Un utilisateur télécharge le logiciel, exécute le fichier téléchargé via le même algorithme de hachage et compare le hachage obtenu à celui fourni par l'éditeur. S'ils correspondent, le téléchargement est complet et non corrompu.
En substance, cela prouve que le fichier reçu par l'utilisateur est une copie exacte du fichier fourni par l'éditeur. Même la plus petite modification apportée au fichier téléchargé, par corruption ou intervention intentionnelle, modifiera radicalement le hachage résultant. Deux algorithmes de hachage courants sont MD5 et SHA.
Cryptographie symétrique
La cryptographie symétrique utilise une clé unique pour chiffrer un message, puis pour le déchiffrer une fois qu'il a été remis. L’astuce ici est de trouver un moyen sécurisé de transmettre votre clé de chiffrement au destinataire pour lui permettre de déchiffrer votre message. Bien sûr, si vous disposez déjà d’un moyen sécurisé de transmettre la clé, pourquoi ne pas l’utiliser également pour le message ? Parce que le chiffrement et le déchiffrement avec une clé symétrique sont plus rapides qu’avec des paires de clés asymétriques.
Il est plus couramment utilisé pour chiffrer les disques durs à l’aide d’une seule clé et d’un mot de passe créé par l’utilisateur. La même combinaison de clé et de mot de passe est ensuite utilisée pour décrypter les données sur le disque dur en cas de besoin.
Cryptographie asymétrique
La cryptographie asymétrique utilise deux clés distinctes. La clé publique est utilisée pour chiffrer les messages et une clé privée est utilisée pour ensuite les déchiffrer. Ce qui est magique, c’est que la clé publique ne peut pas être utilisée pour déchiffrer un message crypté. Seule la clé privée peut être utilisée pour cela. Bien, hein ?
Ceci est le plus souvent utilisé pour transmettre des informations par courrier électronique via SSL, TLS ou PGP, pour se connecter à distance à un serveur via RSA ou SSH et même pour signer numériquement un fichier PDF. Chaque fois que vous voyez une URL commençant par « https:// », vous regardez un exemple de cryptographie asymétrique en action.
Un exemple extrême de la façon dont les trois peuvent être utilisés ressemble à ceci : le comptable de votre entreprise doit obtenir l’approbation du budget du PDG. Elle utilise sa clé privée symétrique pour chiffrer le message adressé au PDG. Elle exécute ensuite un hachage sur le message chiffré et inclut le résultat du hachage dans la deuxième couche du message global avec la clé symétrique. Elle chiffre ensuite la deuxième couche (constituée du message chiffré, du résultat du hachage et de la clé symétrique) à l’aide de la clé publique asymétrique du PDG. Elle envoie ensuite le message au PDG. Dès réception, la clé privée asymétrique du PDG est utilisée pour déchiffrer la couche la plus externe du message. Il exécute ensuite le message crypté via le même processus de hachage pour obtenir un résultat de hachage. Ce résultat est comparé au résultat de hachage désormais déchiffré dans le message. S'ils correspondent, montrant que le message n'a pas été modifié, la clé symétrique peut alors être utilisée pour déchiffrer le message d'origine.
Bien entendu, tout cela se ferait automatiquement, en coulisses, par les programmes de messagerie et le serveur de messagerie. Aucune des deux parties ne verrait réellement quelque chose de ce genre se produire sur son écran d’ordinateur.
De toute évidence, la conversion d’un message, comme un e-mail, en un signal crypté pouvant être envoyé sur Internet nécessite de nombreuses opérations mathématiques. Comprendre pleinement la cryptographie nécessite pas mal de recherches. Vous trouverez ci-dessous quelques-uns des sites Web, livres et articles les plus souvent référencés sur le thème de la cryptographie. Certaines de ces ressources sont activement utilisées depuis près de 20 ans et elles sont toujours pertinentes.
Cours de cryptographie
Si vous êtes nouveau dans la cryptographie, l’une des meilleures façons d’apprendre est de suivre le cours gratuit Cryptographie I de Dan Boneh sur Coursera. Dan Boneh est professeur au département d'informatique de l'université de Stanford. Ses recherches portent sur les applications de la cryptographie à la sécurité informatique.
Cryptographie Je me penche sur les systèmes cryptographiques et sur la manière dont ils peuvent être utilisés dans le monde réel. Il vous montre comment la cryptographie peut résoudre divers problèmes, par exemple comment deux parties peuvent établir un canal de communication sécurisé, même si elles sont surveillées par des attaquants. Le cours couvre de nombreux protocoles, ainsi que des concepts plus avancés comme les preuves sans connaissance. C’est une excellente introduction pour ceux qui ont des connaissances préalables limitées.
Une autre bonne ressource est Les vidéos de David Wong , qui expliquent souvent des concepts plus techniques en détail. Bien que son travail puisse constituer une ressource utile, il n’est pas exhaustif ni le meilleur endroit pour construire une fondation.
Groupes de discussion
Les groupes de discussion sont des flux générés par la communauté et hébergés sur Usenet. Pour les afficher, vous aurez besoin d’une application de lecture de nouvelles. Apprenez-en davantage sur la configuration de Usenet ici et consultez notre liste des meilleurs fournisseurs Usenet ici.
- sci.crypt – Peut-être le premier groupe de discussion dédié à la cryptographie. Veuillez prendre avec précaution, car tout ce qui existe depuis aussi longtemps que sci.crypt existe est voué à attirer les fous, les canulars et les trolls.
- sci.crypt.research – Ce groupe de discussion est modéré et n’est pas aussi sujet aux canulars que d’autres
- sci.crypt.nombres-randoms – Ce groupe de discussion a été créé pour discuter de la génération de nombres aléatoires cryptographiquement sécurisés
- parler.politique.crypto – Ce groupe de discussion a été créé pour retirer toutes les discussions politiques de sci.crypt
- alt.sécurité.pgp – Et ce groupe de discussion a été créé pour discuter de PGP en 1992.
Et un groupe Google en bonus :
- Groupes Google sci.crypt – Un groupe Google essayant d'émuler le groupe de discussion original sci.crypt
Sites Web et organisations
- Une bonne explication du fonctionnement du RSA
- PGP – Un site dédié à Pretty Good Privacy
- Monde de la cryptographie a leur site « La cryptographie simplifiée » disponible
- Association internationale de recherche cryptologique
- Le portail CrypTool
Personnes remarquables
- Bruce Schneier – blog de neige sur Twitter
- John Gilmore
- Matt Blaze – @mattblaze sur Twitter & flickr/mattblaze
- David Chaum
- Ronald L. Rivest
- Arnold G. Reinhold
- Marcus Ranum
FAQ sur la cryptographie
Comment fonctionne la cryptographie ?
La cryptographie est une méthode de communication secrète qui utilise le chiffrement et le décryptage pour encoder et décoder les informations. Il est utilisé pour crypter et décrypter des données à l'aide d'équations mathématiques. Il est utilisé dans diverses applications, notamment la messagerie électronique, le partage de fichiers et les communications sécurisées.
Quels sont les avantages de la cryptographie ?
La cryptographie présente plusieurs avantages, notamment la sécurité et l’authentification des données. La sécurité des données est l’un des principaux avantages de la cryptographie. Il sécurise les informations contre tout accès illégal tout en permettant uniquement aux utilisateurs autorisés d’y accéder. L'authentification est un autre avantage de la cryptographie. Par exemple, il peut être utilisé pour vérifier l’identité d’un expéditeur ou d’un destinataire. Un dernier avantage de l’utilisation de ses algorithmes est la non-répudiation. Cela implique que l’émetteur d’un message ne peut pas nier son envoi et que son destinataire ne peut pas nier sa réception.
Quels sont les enjeux de la cryptographie ?
La cryptographie peut être vulnérable aux attaques, ses algorithmes peuvent être brisés et les clés peuvent être volées. La cryptographie nécessite également beaucoup de calculs, ce qui la rend difficile à utiliser dans certaines applications. De plus, il peut être soumis à des réglementations gouvernementales.
Lettres d'information
- Cryptogramme par Bruce Schneier
- Cryptooctets – L'archive complète de la newsletter RSA Labs sur la cryptographie – publiée pour la dernière fois en hiver 2007 – Vol 8 No. 1
Livres
- Cryptographie appliquée : protocoles, algorithmes et code source en C – Bruce Schneier, édition 20e anniversaire
- Manuel de cryptographie appliquée est maintenant disponible sous forme de fichier PDF téléchargeable
- Construire dans Big Brother : le débat sur la politique cryptographique est disponible dans plusieurs bibliothèques universitaires
- Ingénierie de la cryptographie : principes de conception et applications pratiques – Niels Ferguson, Bruce Scheier, Tadayoshi Kohno
- Cryptographie pratique – Niels Ferguson, Bruce Schneier
- Data et Goliath : les batailles cachées pour collecter vos données et contrôler votre monde – Bruce Schneier
Papiers
- Chaffing et vannage : confidentialité sans cryptage par Ron Rivest – CryptoBytes (RSA Laboratories), volume 4, numéro 1 (été 1998), 12-17. (1998)
- Nombres aléatoires générés par ordinateur par David W. Deley
- Le manifeste crypto-anarchiste par Tim C. May
- Diceware pour la génération de phrases secrètes et autres applications cryptographiques par Arnold G. Reinhold
- Le problème des cryptographes de restauration : intracabilité inconditionnelle de l’expéditeur et du destinataire par David Chaum, J. Cryptologie (1988)
- Les mots magiques sont délicats Ossifrag e par D. Atkins, M. Graff, A. Lenstra et P. Leyland
- Les entrailles mathématiques du chiffrement RSA par Francis Litterio
- FAQ sur les tampons à usage unique par Marcus Ranum
- P=?NP n'affecte pas la cryptographie par Arnold G. Reinhold
- Enquête sur l'utilisation de la phrase secrète PGP par Arnold G. Reinhold
- TEMPÊTE dans une théière de Grady Ward (1993)
- Courrier électronique introuvable, adresses de retour et pseudonymes numériques par David Chaum, Communications de l'ACM
- Pourquoi les tampons jetables sont-ils parfaitement sécurisés ? par Fran Litterio
- Pourquoi la cryptographie est plus difficile qu'il n'y paraît par Bruce Schneier