Pour faire votre chemin dans l'industrie informatique, une compréhension fondamentale des concepts de cryptographie est essentielle. Cependant, beaucoup ont encore du mal à gérer les certificats TLS, les demandes de certificat et toutes sortes de clés. Avant de commencer, parlons des concepts de base du chiffrement en cryptographie. Dans cet article, j'explique les bases de la cryptographie symétrique et à clé publique pour établir une base solide sur laquelle s'appuyer. Je me concentre sur les concepts clés et laisse les maths aux experts.
Nos protagonistes tout au long de cet article sont Alice, qui souhaite communiquer avec Bob via une chaîne publique. Nous avons aussi Eve et Trudy. Les techniques suivantes devraient rendre l'écoute indiscrète impossible. Le désordre dans le contenu d'un message ne doit pas passer inaperçu.
[ Vous aimerez peut-être également lire : SSH sans mot de passe à l'aide de paires de clés publiques-privées ]
Chiffrement à clé symétrique
C'est ce qu'on appelle la cryptographie à clé symétrique car la même clé est utilisée pour chiffrer un message et pour le déchiffrer. Vous pourriez le considérer comme une véritable clé pour une serrure qui sécurise votre message afin que ni Eve ni Trudy ne puissent le lire ou le toucher en route vers Bob.
Bien sûr, Bob pourrait utiliser la même clé secrète/secret partagé pour envoyer un message chiffré à Alice. Eve et Trudy n'ont aucune chance d'obtenir le texte en clair du message intercepté.
Les algorithmes à clé symétrique ont l'avantage d'être assez rapides. En revanche, il est difficile de distribuer le secret partagé aux partenaires de communication. Envoyer la clé sur un canal public (et non sécurisé) n'est pas une option car Eve pourrait l'intercepter et serait capable de décrypter toutes les communications futures entre Alice et Bob. La meilleure façon est qu'Alice et Bob échangent la clé personnellement face à face. Pensez à votre coéquipier qui se trouve dans un autre pays. Vous pouvez deviner à quel point il peut être difficile d'échanger le secret partagé en toute sécurité.
Pensez maintenant à une situation où Alice et Bob ne sont pas les seuls participants à la communication, mais aussi Jason, Tyler et Nate. Vous devrez tous les rencontrer en personne pour un échange de clés sécurisé.
La communication entre Alice et Bob est sécurisée tant que le secret partagé reste privé. Si la clé secrète est perdue ou s'il y a un risque qu'elle soit compromise, par exemple si Eve en a eu connaissance, vous devez créer une nouvelle clé et la distribuer à nouveau à tous les partenaires de communication.
Pensez à la clé de votre immeuble de bureaux, que vous utilisez pour plusieurs portes de votre bureau. Lorsque vous la perdez, toutes les serrures doivent être remplacées et vous et vos collègues avez besoin de nouvelles clés. C'est le bordel. C'est le même gâchis lorsque vous devez renouveler une clé secrète dans la cryptographie à clé symétrique.
Chiffrement asymétrique
La cryptographie asymétrique, ou cryptographie à clé publique, résout le problème de distribution de clé de la cryptographie à clé symétrique. Pour ce faire, il utilise une paire de clés au lieu d'une seule.
Un algorithme de clé asymétrique est utilisé pour générer une paire de clés :une clé privée clé et un public clé. Comme son nom l'indique, vous devez conserver la clé privée en toute sécurité et la partager avec personne. Considérez-le comme la clé de votre maison. Je parie que vous gardez les yeux dessus. La clé publique, quant à elle, est destinée à être distribuée publiquement. Vous n'êtes pas obligé de le garder secret et vous pouvez le partager avec n'importe qui. Mais pourquoi donc ?
Bien que la clé publique puisse chiffrer un message, elle ne peut pas le déchiffrer à nouveau. Seule la clé privée correspondante peut le faire. Si Eve et Trudy connaissent la clé publique de Bob, elles peuvent l'utiliser pour lui envoyer un message crypté. Cependant, ils ne peuvent pas déchiffrer un message qu'Alice envoie à Bob chiffré à l'aide de la même clé publique. Le message ne peut être déchiffré qu'à l'aide de la clé privée correspondante de Bob.
Quand Alice et Bob veulent utiliser la cryptographie à clé publique pour communiquer, ils doivent échanger leurs clés publiques et sont prêts à partir.
Mais que se passe-t-il lorsque Trudy utilise la clé publique de Bob pour lui envoyer un message au nom d'Alice ? Comment Bob pourrait-il vérifier si ce message vient vraiment d'Alice et n'a pas été modifié en chemin ? Eh bien, Alice peut utiliser sa clé privée pour signer le message, et Bob peut utiliser la clé publique d'Alice pour vérifier et vérifier la signature.
La sécurité de la cryptographie à clé publique dépend de la confidentialité de la clé privée. Si la clé privée est compromise, vous devrez générer une nouvelle paire de clés et révoquer les anciennes. Cependant, il est beaucoup plus facile de distribuer la clé publique qu'un secret partagé car vous pouvez simplement l'envoyer par e-mail.
Le problème de distribution est donc résolu. Vous disposez d'un moyen de chiffrer/déchiffrer les messages, de vérifier l'expéditeur et de confirmer l'intégrité d'un message. Des inconvénients ? Oui, les algorithmes à clé publique sont assez lents par rapport aux algorithmes à clé symétrique. C'est la raison pour laquelle il existe certaines formes de techniques hybrides qui utilisent la cryptographie à clé publique pour échanger une clé de session symétrique et poursuivre la communication en utilisant l'algorithme de clé symétrique plus rapide.
[ Vous pensez à la sécurité ? Consultez ce guide gratuit pour renforcer la sécurité du cloud hybride et protéger votre entreprise. ]
Récapitulez
Les algorithmes à clé symétrique fonctionnent assez rapidement, mais la distribution du secret partagé pourrait être difficile. La sécurité de cette technique exige que chaque participant garde le secret partagé privé. Les algorithmes à clé publique sont plus lents, mais il est beaucoup plus facile de distribuer et d'échanger des clés publiques. N'oubliez pas de garder votre clé privée en sécurité tout le temps.