Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

  1. Présentation de la sécurité des communications

1. Introduction

Dans un travail de développement normal, nous entrerons souvent en contact avec des technologies de cryptage et de décryptage. Surtout à l'ère actuelle de l'Internet mobile, de plus en plus d'utilisateurs stockent des données dans le cloud ou utilisent des services en ligne pour traiter les informations. Certaines de ces données impliquent la confidentialité de l'utilisateur et d'autres la propriété de l'utilisateur. S'il n'y a pas d'ensemble de solutions pour résoudre le problème de sécurité des données de l'utilisateur, ce serait une chose terrible.
Dans le même temps, en tant que développeurs, nous rencontrons souvent les besoins des utilisateurs en matière de sécurité des données. Lorsque nous répondons à ces besoins, comment les résoudre, comment assurer la sécurité des données et quelle méthode est la plus efficace, ces questions nous confondent souvent. Cette fois, le réseau de messagerie instantanée (52im.net) s'est concentré sur le tri des problèmes de sécurité de communication courants et sur les connaissances des algorithmes de cryptage et de décryptage pour partager et apprendre avec des collègues dans le développement de la messagerie instantanée (MI).

2 menaces de sécurité

De manière générale, les données que nous transmettons sur le réseau peuvent être considérées comme présentant ce risque potentiel. Pour résumer en une phrase: "Toutes les données en texte brut transmises sur le réseau présentent des menaces pour la sécurité."
Voici quatre menaces auxquelles nous sommes confrontés dans les communications:

  • Tout d'abord, l'interruption. L'attaquant détruit et coupe délibérément la communication des autres sur le réseau, ce qui constitue une attaque contre la disponibilité.
  • Deuxièmement, l'interception. Il s'agit d'une attaque passive: l'attaquant écoute le contenu des communications d'autres personnes depuis le réseau et détruit la confidentialité des informations.
  • Troisièmement, la falsification. L'attaquant a délibérément falsifié les paquets transmis sur le réseau, ce qui constitue une attaque contre l'intégrité.
  • Quatrièmement, faux. Les attaquants forcent des informations à transmettre sur le réseau, ce qui constitue une attaque contre l'authenticité.
    Insérez la description de l'image ici

3 algorithme de cryptage et de décryptage

On dit souvent que les algorithmes de cryptage et de décryptage sont des «épées» dans le domaine de la sécurité des données, une sorte de protection active qui effectue le traitement de cryptage nécessaire des données pour assurer leur sécurité lors de la transmission et du stockage des données.

  1. Introduction à l'algorithme Base64

1 principe

À proprement parler, base64 n'est pas un algorithme de chiffrement, il est mentionné ici parce que sa mise en œuvre est relativement simple. Grâce à sa mise en œuvre, nous pouvons mieux comprendre le processus de chiffrement et de déchiffrement.
Voyons comment il a "chiffré". Supposons que nous voulions chiffrer la chaîne "BC". Maintenant, convertissez-le en une expression binaire et connectez-les ensemble: 01000010 01000011, puis regroupez le binaire par 6 bits, et s'il n'y a pas assez de 6 bits, ajoutez 0 pour obtenir 010000, 100100, 001100 (les deux derniers bits sont remplis avec 0). Consultez le tableau ci-dessous pour trouver la valeur correspondante "QKM". Alors "QKM" est la valeur de "BC" "encrypted" avec base64.
Insérez la description de l'image ici

À partir de l'algorithme base64 ci-dessus, nous pouvons voir l'essence du cryptage partiel: une information significative est mappée en une information inintelligible d'une manière ou d'une autre. L'utilisation de l'expression de fonction est:

1

public Ciphertext crypté (texte en clair);

Il est à noter qu'il existe une table de mappage en base 64. Si vous modifiez l'ordre de la table de mappage, le résultat final changera en conséquence. C'est un peu comme la cuisson: avec les mêmes matières premières et le même mode de cuisson, on change l'assaisonnement ajouté, et le produit final sera différent. La table de mappage ici est appelée "clé".

2 résumé

Grâce à l'algorithme base64, on peut voir qu'un algorithme de chiffrement comporte deux parties: la clé et l'algorithme. Les deux ne peuvent pas être rendus publics, et si les deux sont rendus publics, ils peuvent être annulés et déchiffrés. En général, nous gardons la clé secrète et rendons l'algorithme public. La divulgation de l'algorithme est propice à la promotion et à la vulgarisation de l'algorithme, et elle est plus propice à trouver les failles de l'algorithme. Autrement dit, parce que base64 divulgue l'algorithme et la clé en même temps, nous disons qu'il ne s'agit pas d'un véritable algorithme de cryptage. Bien sûr, si vous ajustez la table de mappage ci-dessus, vous pouvez également atteindre l'objectif de l'algorithme de cryptage, mais la force du cryptage base64 est relativement faible, il n'est donc pas recommandé de l'utiliser comme algorithme de cryptage dans des applications pratiques.

  1. Résumé de l'introduction de l'algorithme

1 basique

Nous entendons souvent l'algorithme MD5 dans notre travail quotidien. Par exemple, dans certaines pages de téléchargement, un md5 sera donné comme chaîne de vérification de fichier, qui est utilisée comme identifiant unique du fichier dans Thunder download. Ce type d'algorithme n'est pas strictement un algorithme de chiffrement. Il s'agit d'un algorithme appelé algorithme de digestion. Cependant, en utilisation normale, nous utilisons souvent un mélange d'algorithmes de synthèse, donc dans un sens large, il peut également être appelé algorithme de chiffrement.

2 Longueur du résumé

La caractéristique de l'algorithme de résumé est qu'il peut convertir une chaîne de n'importe quelle longueur en une chaîne de longueur fixe. Ce à quoi on peut s'attendre, c'est qu'il doit y avoir un processus à sens unique dans ce processus de conversion. Par exemple, nous convertissons une chaîne de caractères de 256 en une chaîne de 128 de caractères. Il y a N 256 possibilités avant la conversion et N 128 possibilités après la conversion . Cela ne doit pas être une correspondance 1 à 1.
Par conséquent, nous devons seulement nous assurer que le nombre de bits dans la chaîne de résumé (la chaîne convertie) est seulement assez long, de sorte que "étant donné une chaîne A, la chaîne B traitée par l'algorithme de résumé, il est difficile de trouver une chaîne C, et la chaîne après le résumé Identique à la chaîne B ". Par conséquent, la longueur de la chaîne de résumé de l'algorithme de résumé principal MD / SHA actuel est supérieure à 128 bits. C'est pour cette raison que les États-Unis ont également imposé des restrictions à l'exportation sur les algorithmes de chiffrement pour les longues chaînes de résumé.

3 Modèle de communication

L'algorithme de résumé est souvent utilisé sous la forme suivante:

En supposant que le client ait besoin de transmettre une donnée d'information au serveur, pour l'intégrité des données dans le réseau, ou pour empêcher que les données d'information soient falsifiées par des utilisateurs malveillants, ce type de modèle de communication sécurisé peut toujours être mis en œuvre: le client et le serveur ont déterminé le cryptage La clé de clé, une chaîne arbitraire, le client assemble la clé et les données de données, effectue un condensé pour obtenir la chaîne de condensé C et transmet les données et C au serveur. Une fois que le serveur a obtenu les données et C, il est également utilisé avec le client De la même manière, calculez la chaîne condensée S. Si S est égal à C, cela signifie que A n'a pas été altéré lors de la transmission.

Le processus est le suivant:
Insérez la description de l'image ici

Pour les quatre menaces auxquelles nous sommes confrontés dans la communication, l'algorithme digest peut-il empêcher:

Interception: étant donné que les données transmises sur le réseau sont toujours en texte brut et sont complètement exposées à l'attaquant, l'algorithme de résumé n'a aucun moyen de faire face à cette menace.
Interruption: l'algorithme de résumé est une vérification des données et les attaques contre la disponibilité de l'ensemble du réseau ne peuvent pas être empêchées.
Falsification: les données envoyées par le client sont modifiées par l'attaquant au milieu. Puisque l'attaquant ne connaît pas la clé, la chaîne de résumé correcte ne sera pas générée. Par conséquent, l'algorithme de résumé peut empêcher la menace de falsification.
Falsification: l'attaquant falsifie le client et envoie des données au serveur, mais comme la clé n'est pas disponible, la chaîne de résumé ne peut pas être falsifiée. Par conséquent, dans ce cas, l'algorithme de digestion a un certain effet préventif. Cependant, parmi les menaces de falsification, il existe un autre type d'attaque de relecture: l'attaquant intercepte à l'avance les paquets envoyés du client au serveur, puis les envoie à plusieurs reprises. Par exemple: lorsque le client envoie un mot de passe au serveur, l'attaquant l'enregistre. Lorsque le serveur demande le mot de passe au client la prochaine fois, l'attaquant n'a qu'à envoyer le paquet enregistré au serveur. Par conséquent, l'algorithme de résumé ne parvient pas à prévenir les menaces de contrefaçon. Il ne peut identifier que le contenu falsifié, mais pas l'expéditeur falsifié.

Insérez la description de l'image ici

Les algorithmes de résumé courants incluent MD5 / MD4 / SHA-1 / SHA-2, etc., et leurs longueurs de chaîne de résumé sont également différentes. Désormais, MD4 / MD5 / SHA-1 et d'autres algorithmes de résumé avec des chaînes de résumé de 128 bits ne sont plus sûrs Le professeur Wang Xiaobo de l'Université du Shandong a prouvé que MD4 / MD5 / SHA-1 peut générer rapidement une «collision». Par conséquent, il est plus fiable d'utiliser un algorithme de résumé de chaîne abstraite dans des endroits réels avec des exigences de sécurité extrêmement élevées.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

  1. Introduction à l'algorithme de chiffrement symétrique

1 basique

Théoriquement parlant, un algorithme de cryptage symétrique est ce que nous disons vraiment. L'algorithme de cryptage dit symétrique, en termes simples, est le terme général pour les algorithmes de cryptage qui utilisent une clé pour crypter puis utilisent la clé pour décrypter. C'est-à-dire que lorsque nous parlons d'algorithmes de cryptage, la première méthode de cryptage qui nous vient à l'esprit est généralement un algorithme de cryptage symétrique. Le base64 mentionné ci-dessus est en fait un "algorithme de cryptage symétrique", mais sa clé est publique.

2 Modèle de communication

Même scénario: le client envoie des données au serveur. Le client utilise la clé de clé, crypte les données de données, génère une chaîne cryptée C, transmet C au côté serveur via le réseau et le côté serveur utilise la clé de clé pour décrypter C, obtenir les données de données et faire sa propre logique métier.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Méthode de chiffrement simple et directe. La différence avec l'algorithme de résumé est que le processus de chiffrement est bidirectionnel. C est chiffré par des données et les données peuvent également être déchiffrées. La condition préalable est la même clé lors du chiffrement et du déchiffrement. L'algorithme de digestion ne peut pas décrypter les données de C.
Le processus de cryptage est simple, alors quel est son rôle dans la lutte contre les quatre menaces auxquelles est confrontée la communication:

Interception: De cette manière, le contenu transmis sur le réseau est du texte chiffré, même si l'attaquant intercepte le message, il ne peut pas être analysé car il n'y a pas de clé. Par conséquent, cet algorithme de chiffrement symétrique a ce grand avantage pour prévenir les menaces d'interception.
Interruption: comme l'algorithme de résumé, il ne peut être évité.
Falsification: puisque les données sont transmises sous forme de texte chiffré, l'attaquant ne peut pas les analyser, encore moins les falsifier. Par conséquent, cela peut être évité.
Falsification: pour la falsification de données, identique à l'algorithme de résumé, elle peut être évitée, mais pour l'expéditeur falsifié, l'algorithme de chiffrement symétrique est le même que l'algorithme de résumé et est relativement faible.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

3 avantages et inconvénients de l'algorithme

L'algorithme de cryptage symétrique présente de nombreux avantages, tels qu'une vitesse de cryptage plus rapide, un algorithme simple, un modèle de sécurité plus élevé, etc. Cependant, lorsqu'il est utilisé officiellement, il doit résoudre un problème: comment transférer la clé. Si la clé est transmise sur le réseau, il y a forcément un risque d'interception. En raison de l'existence de ce problème, le modèle de communication qui utilise simplement des algorithmes de chiffrement symétriques n'est pas un modèle général. Il n'est utilisé que dans certaines occasions spéciales, par exemple: le client / serveur est le même point de terminaison, ou le scénario de coopération hors ligne —— Les deux parties écrivent la clé dans le contrat et la transmettent hors ligne.
Cependant, il est recommandé de remplacer la clé fréquemment. Le déchiffrement de la clé est un processus qui prend du temps. Une clé qui n'a pas changé depuis longtemps crée des opportunités pour l'attaquant de craquer. Lorsque l'attaquant déchiffre la clé un jour, Le désastre de l'extinction viendra.
Ayant dit tant d'algorithmes de cryptage symétrique, je n'ai pas dit ce que sont les algorithmes de cryptage symétrique. Les algorithmes de cryptage symétrique les plus couramment utilisés sont DES / 3DES / AES / IDEA / RC4 / RC2, etc. Son niveau de cryptage peut être vu à partir de la longueur de la clé qu'elle prend en charge. Plus la clé est longue, meilleure est la force de cryptage et en même temps, plus le processus de cryptage est lent.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

  1. Introduction aux algorithmes de cryptage asymétrique

1 basique

L'algorithme de cryptage symétrique signifie que la même clé est utilisée pour le cryptage et le décryptage, puis le cryptage asymétrique consiste à utiliser des clés différentes pour le cryptage et le décryptage. L'algorithme de chiffrement génère deux clés à la fois, l'une est appelée clé publique et l'autre est une clé relative. Les données cryptées par la clé publique sont décryptées avec la clé; les données cryptées par la clé sont décryptées avec la clé publique (certains algorithmes de cryptage asymétrique ne peuvent être cryptés qu'avec la clé, décryptés avec la clé publique, ou uniquement cryptés avec la clé, clé publique Décrypter).
L'algorithme de cryptage asymétrique est en effet magique, et sa base théorique provient de la théorie des nombres. Par exemple, l'algorithme RSA est basé sur la théorie de la "décomposition des grands nombres et détection des nombres premiers" en théorie des nombres. Les algorithmes ElGamal et ECC sont basés sur le "problème du logarithme discret" en théorie des nombres. La dernière branche des mathématiques qui n'a pas trouvé de théorie des nombres de scénarios d'application, a finalement trouvé un scénario d'application dans le domaine du cryptage, ce que je dois dire est un miracle.
L'ajout d'un algorithme de cryptage asymétrique rend l'algorithme de cryptage vraiment complet, ce qui joue un rôle central. Il a bien résolu les défauts de l'algorithme de cryptage symétrique.

2 Modèle de communication

Le client souhaite envoyer des données au serveur, le client lance une demande de dialogue au serveur et le serveur génère une paire de clés-clé publique Gkey et clé privée Skey. Envoyez le Gkey au client, le client utilise Gkey pour chiffrer les données de données afin d'obtenir le texte chiffré C, et envoie C au côté serveur, et le côté serveur utilise son propre Skey pour déchiffrer les données afin de compléter la logique métier suivante.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

On peut voir d'après le modèle de communication ci-dessus que seuls le texte chiffré C et la clé publique Gkey sont transmis dans le réseau. La clé privée Skey ne sera pas transmise sur le réseau, l'attaquant ne peut obtenir que la clé publique et ne peut pas décrypter le texte chiffré C, ce qui assure la sécurité des données. Une analyse détaillée des quatre menaces auxquelles sont confrontées les communications:

Interception: Le texte chiffré transmis sur le même réseau est immédiatement intercepté. L'attaquant n'a pas la clé privée et ne peut pas analyser le texte chiffré. Par conséquent, la menace d'interception peut être bien évitée.
Interruption: pour les attaques d'utilisabilité, il est généralement difficile d'empêcher les attaques basées sur le protocole sous-jacent.
Falsification: puisque les données sont transmises sous forme de texte chiffré, l'attaquant n'a pas de clé privée, ne peut pas être analysé et ne peut pas être falsifié.
Falsification: pour la falsification de données, identique à l'algorithme de résumé, elle peut être évitée, mais pour l'expéditeur falsifié, l'algorithme de chiffrement symétrique est le même que l'algorithme de résumé et est relativement faible.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Comme l'algorithme de chiffrement symétrique, il ne peut empêcher l'interception et la falsification de la communication, mais ne peut pas empêcher les deux autres menaces d'interruption et de falsification. Cependant, en raison de l'algorithme de cryptage asymétrique, le problème de l'échange de clés dans l'algorithme de cryptage symétrique est bien résolu, il a donc un très bon scénario d'application, qui peut être considéré comme un modèle de cryptage général.

3 avantages et inconvénients de l'algorithme

L'algorithme de chiffrement asymétrique ne présente-t-il aucun inconvénient? Non, tout d'abord, nous regardons le modèle de communication ci-dessus. Il est plus compliqué que le modèle de communication de l'algorithme de chiffrement symétrique. Il y a deux requêtes / réponses. De plus, le calcul des algorithmes de cryptage asymétrique peut être très lent, beaucoup plus lent que les algorithmes de cryptage symétrique. Par conséquent, une fois que l'algorithme de chiffrement asymétrique a résolu les lacunes de l'algorithme de chiffrement symétrique, il y a quelques problèmes de performances. Une solution plus générale consiste à combiner les deux algorithmes de chiffrement - utilisez d'abord l'algorithme de chiffrement asymétrique pour transférer l'algorithme de chiffrement symétrique temporaire. Une fois le transfert de clé terminé, un algorithme de cryptage symétrique plus rapide est utilisé pour la communication de données réelles.
Les algorithmes de cryptage asymétrique typiques sont les algorithmes RSA / ElGamal / ECC. En plus de ces deux algorithmes, il existe également un algorithme DH. Il s'agit d'un autre type d'algorithme. L'intention initiale de sa conception est de résoudre le problème de l'échange de clés sécurisé dans des algorithmes de cryptage symétrique. Le modèle de communication est le suivant:

Tous les clients génèrent un ensemble de clés publiques CGkey et privées CSkey, et envoient AGkey au serveur. Le serveur génère la clé publique SGkey et la clé privée SSkey du serveur via AGkey, et renvoie la SGkey au client. Le client utilise CSkey et SGkey pour générer une clé de clé d'algorithme de chiffrement symétrique, et le serveur utilise CGkey et SSkey pour générer la même clé de clé. Les clients et serveurs suivants utilisent leur propre clé pour communiquer.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Je dois dire que c'est un autre algorithme étonnant. Mais il existe. Et plus tôt que les autres algorithmes de chiffrement asymétriques.

  1. Introduction à la signature numérique

1 basique

Les trois algorithmes ci-dessus ont la fonction d'inviolabilité, mais si l'algorithme de résumé et l'algorithme de cryptage symétrique doivent être inviolables, ils doivent échanger des clés, ce qui est une autre chose gênante. Par conséquent, les algorithmes de chiffrement asymétriques sont généralement utilisés pour des exigences pures d'inviolabilité. Cependant, si tout le texte en clair est chiffré, le processus de chiffrement prendra forcément beaucoup de temps, donc une signature numérique est née.
La signature numérique est essentiellement un algorithme de cryptage asymétrique, mais en raison de l'efficacité du décryptage, elle ne crypte pas le texte en clair, mais crypte le résumé du texte en clair pour générer une «chaîne numérique» et attacher la «chaîne numérique» au texte en clair après ça.
La signature numérique est en fait un schéma de compromis de l'algorithme de cryptage asymétrique.Afin d'améliorer l'efficacité du cryptage et du décryptage, l'avantage de l'algorithme de cryptage asymétrique contre la menace d'interception est abandonné.

2 Modèle de communication

Examinons d'abord le premier modèle de communication de l'algorithme de chiffrement asymétrique. Le client génère un ensemble de clés publiques Gkey et privée Skey, et utilise Skey pour chiffrer les données en clair pour obtenir le texte chiffré C. Envoyez C et Gkey au serveur, et le serveur utilise Gkey pour décrypter C.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Ce modèle de communication ne nécessite qu'un seul processus de demande / réponse, mais il ne peut pas empêcher les menaces d'interception. Puisque le texte chiffré final C est déchiffré à l'aide de la clé publique Gkey, qui est transmise via le réseau, l'attaquant peut facilement Les données sont interceptées et déchiffrées pour obtenir des données en clair. Cependant, ce modèle de communication convient au scénario de signature numérique, qui n'est pas destiné à empêcher les menaces d '«interception».
Examinons ensuite le modèle complet de communication de signature numérique: le serveur génère un ensemble de clés, la clé publique Gkey et la clé privée Skey, puis digère les données en clair pour obtenir la chaîne de résumé Z1, et chiffre Z1 avec la clé privée pour obtenir le secret Envoyez C, envoyez C, données et Gkey au serveur. Le serveur utilise Gkey pour le déchiffrer afin d'obtenir Z1, et recalculer le résumé Z2 en fonction des données, et évaluer si les données ont été falsifiées en comparant si Z1 est égal à Z2.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Le modèle ci-dessus est principalement composé de deux étapes, l'abstrait et l'application de l'algorithme de cryptage asymétrique. L'algorithme de signature que nous utilisons souvent est également une combinaison de ces deux algorithmes, tels que: SHA1wthRSA, qui utilise SHA1 pour le digest, RSA pour le cryptage asymétrique; MD5withRSA, qui utilise MD5 pour l'algorithme de digestion, et RSA pour le cryptage asymétrique; SHA1withDSA, DSA C'est une amélioration de l'algorithme ElGamal.

  1. Introduction aux certificats numériques

1 basique

Il y a tellement d'algorithmes mentionnés ci-dessus: il s'agit d'algorithmes de digestion, d'algorithmes de cryptage symétrique et d'algorithmes de cryptage asymétrique. Mais pour les quatre menaces d'interception de communication, d'interruption, de falsification et de falsification, deux d'entre elles au maximum peuvent être résolues. Pour les menaces d'interruption et de falsification, elles ne peuvent que regarder. N'y a-t-il pas d'autre moyen?
En cas d'interruption, il s'agit généralement d'un problème à résoudre au niveau de la topologie du réseau ou du protocole. Il est hors de notre portée et ne sera pas affiché pour le moment. Ce que nous ne pouvons faire que lorsque le réseau est indisponible, les données transmises peuvent être opportunes en cas de perte de paquets ou d'anomalie. La construction de la vérification de l'intégrité des données est requise ici.
Quant à la menace de contrefaçon par des attaquants, ce n'est pas seulement un problème qui peut être résolu à un seul niveau d'algorithme.

2 Modèle de communication

Comme mentionné dans les sections précédentes, il existe deux types de contrefaçon: la première est la falsification de données. Tant que le travail de lutte contre la falsification est effectué, la falsification de données peut être bien évitée. L'autre est de se faire passer pour un certain site Web, d'interagir avec les utilisateurs et de voler les lettres de certains utilisateurs. Les sites Web de phishing et les serveurs proxy noirs sont les plus courants.
Prenons l'exemple du modèle de communication de l'algorithme de chiffrement asymétrique. Lorsque le client A a obtenu sa propre clé publique, il ne doutait pas de l'identité de l'expéditeur de la clé publique. Le client A pensait que la clé publique qui lui avait été envoyée était toujours B. En fait, la clé publique envoyée par B a été interceptée par l'attaquant C et écartée. , C régénère la clé publique et l'envoie au client sous le couvert de B. Le processus suivant consiste en fait à ce que l'attaquant C communique avec le client A, et le client A pense que le serveur B communique avec lui-même.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Ce processus de contrefaçon est souvent rencontré dans notre vie quotidienne: par exemple, avant le système du vrai nom, Zhang San a été volé et volé à mi-chemin après avoir acheté un billet de train. C'est un peu similaire à une attaque par un attaquant. L'attaquant a volé le billet de train de Zhang San (clé publique Gkey) et a falsifié un billet qui pourrait être utilisé pour régénérer le vrai billet (pour régénérer la clé publique Gkey '). Un billet pour monter dans le train. L'ensemble du processus semblait transparent: l'attaquant a obtenu un billet gratuit et Zhang San a perdu un billet de train.
Bien sûr, il est peu probable que ce genre de vol de billets de train se produise maintenant, car le vrai système de noms a été mis en œuvre. L'introduction du système de nom réel nous fournit une solution à la menace de «falsification» ci-dessus. Le système de billets de train en nom réel utilise une carte d'identité comme preuve pour vérifier l'identité de l'utilisateur. Ainsi pouvons-nous également introduire une telle "carte d'identité de site Web" dans les communications réseau. La réponse est oui, et c'est exactement ce que nous faisons maintenant. Nous l'appelons un «certificat numérique».

3CA

Tout comme notre carte d'identité est émise par un bureau de sécurité publique de confiance. Les certificats numériques sont également émis par une organisation faisant autorité. Nous sommes appelés CA. L'AC s'assurera que le certificat est bien délivré à la personne qui le mérite. CA appartient également à une organisation et risque également d'être falsifiée. Par conséquent, les autorités de certification sont généralement hiérarchiques, et celle de niveau supérieur est appelée RootCA, et il garantit l'identité de l'autorité de certification ci-dessous.
Par conséquent, notre machine stocke les clés publiques d'un nombre limité d'institutions RootCA. Par exemple, Zhang San a un certificat numérique émis par l'organisation CA A et l'identité de A est garantie par RootCA. Lorsque le navigateur communique avec le site Web de Zhang San, il obtient le certificat numérique de Zhang San. En fait, ce certificat numérique est un certificat imbriqué qui contient deux sous-certificats: le certificat émis par RootCA à A et le certificat émis par A à Zhang. Trois certificats de site Web. Un nombre limité de clés publiques RootCA sont stockées dans le navigateur. Utilisez la clé publique de RootCa pour vérifier le certificat A, et la vérification est réussie. Utilisez la clé publique dans le certificat A pour vérifier le certificat du site Web de Zhang San. Ce n'est qu'après avoir réussi à nouveau la vérification que le certificat du site Web de Zhang San peut être confirmé.
L'ensemble du processus de vérification est une chaîne de confiance.

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Le certificat numérique contient principalement deux éléments: les informations d'identité du propriétaire du certificat numérique et la clé publique du propriétaire du certificat numérique. Afin de garantir que le certificat n'est pas altéré dans la communication réseau, la signature numérique de ces informations sera portée dans le certificat. Ensuite, la vérification du certificat numérique est la vérification de la signature numérique C'est la raison pour laquelle la clé publique est utilisée pour chaque vérification de certificat dans la figure ci-dessus.

En outre, il y a quelques points de connaissance sur le développement du serveur d'arrière-plan Linux c ++: Linux, Nginx, MySQL, Redis, P2P, K8S, Docker, TCP / IP, coroutine, DPDK, webrtc, audio et vidéo et autres vidéos.
Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Algorithmes de cryptage et de décryptage courants pour la messagerie instantanée IM et l'explication de la sécurité des communications

Les amis dans le besoin peuvent suivre la Zero Voice Academy sur VX pour recevoir
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/lingshengxueyuan/article/details/109297700
conseillé
Classement