Table des matières
Le contenu de la communication est complet
Conclusion
Annexe
Comment éviter l'homme dans le- détournement moyen de https ?
Signature numérique du certificat
Maison interface Web tutoriel HTML A l'ère du https, vous ne savez toujours rien de lui ?

A l'ère du https, vous ne savez toujours rien de lui ?

Mar 12, 2017 pm 05:24 PM
https

L'auteur de cet article : Qieguo, se concentre sur le domaine du développement front-end. Pour plus d'articles, veuillez faire attention à la rubrique Zhihu « Front-end Little Things »

Ouvrez maintenant les grands sites connus, avez-vous trouvé l'adresse ? Un petit cadenas vert a été ajouté dans la colonne ?

A lère du https, vous ne savez toujours rien de lui ?

Oui, c'est le https, c'est l'ère du https.

Mais connaissez-vous le https ?

Pour faire simple, https est http enveloppé dans SSL/TLS, qui est http sécurisé. Qu'est-ce que la sécurité ? Un environnement de communication réseau sécurisé doit résoudre trois problèmes :

  1. Confidentialité du contenu de la communication

  2. Vérité des identités des deux parties communicantes

  3. Contenu complet de la communication

Et https est né pour résoudre ces trois problèmes majeurs (pour être précis, ça devrait être ssl). ces 3 solutions séparément au problème.

Confidentialité du contenu de la communication

La confidentialité du contenu de la communication doit être assurée grâce au cryptage. Notre environnement Internet est très transparent et les communications doivent passer par de nombreux transits avant d'atteindre le destinataire. Cette situation est un peu comme remettre une note à Xiaohong au premier rang pendant le cours, sur la note, vous n'écririez certainement pas directement « à la cour de récréation à minuit ce soir », mais écririez intelligemment « à la même place ». " Seuls vous et Xiaohong connaissez cet ancien endroit, donc même si Xiaoming et Xiaoli voient la note, ils ne savent pas si l'ancien endroit est la bibliothèque ou le coin anglais. C'est du cryptage, et l'ancien endroit est ce qu'on appelle. clé.

Bien sûr, cet exemple n'est pas très précis. Pour faire simple, le chiffrement et le déchiffrement est une

fonction , et la clé est le paramètre de cette fonction. Par exemple, nous définissons une fonction de chiffrement simple, f(x)=x b, x est le texte brut d'entrée et b est la clé, la fonction de décryptage est la fonction inverse de la fonction de chiffrement, c'est-à-dire g(x)= x-b. Lorsque vous ne connaissez pas b, vous ne pouvez pas deviner le contenu réel même si vous voyez le texte chiffré, le cryptage est donc réalisé. Ce type de cryptage et de décryptage utilise la même clé, appelée cryptage symétrique.

Mais il y a un problème ici. Comment le paramètre b est-il négocié ici ?

Vous et Xiaohong pouvez prendre rendez-vous avec Xiaohong avant et après, mais dans un environnement de réseau réel, il n'y a aucune possibilité pour vous et Xiaohong de communiquer directement. Toute communication doit reposer sur Xiaoming et Xiaoli. passez le papier. Si oui, que pouvez-vous faire pour les éviter ? Ici, vous devez utiliser un algorithme de chiffrement asymétrique. Cet algorithme possède une paire de clés publiques et de clés privées. La clé publique est une clé que tout le monde peut obtenir, et la clé privée est conservée en privé par le serveur du

service . . clé. Dans l'algorithme de chiffrement asymétrique, le contenu chiffré par la clé publique ne peut être déchiffré que par la clé privée, et le contenu chiffré par la clé privée ne peut être déchiffré que par la clé publique. Ainsi, lorsque vous utilisez la clé publique de Xiaohong pour chiffrer votre note, Xiaoming, Xiaoli et les autres personnes qui vous aident à transmettre la note ne pourront pas lire le contenu lorsqu'ils verront la note. Seul Xiaohong qui possède la clé privée peut lire vos informations.

Les algorithmes de chiffrement symétriques utilisent la même clé secrète pour le chiffrement et le déchiffrement ; les algorithmes de chiffrement asymétriques nécessitent deux clés pour le chiffrement et le déchiffrement, et ces deux clés sont des clés publiques (

clé publique, appelée clé publique) et clé privée (clé privée, appelée clé privée). Vous êtes peut-être curieux de connaître le principe de l'algorithme de chiffrement asymétrique, mais je n'entrerai pas dans les détails de l'algorithme ici. Les étudiants intéressés peuvent rechercher par eux-mêmes.

Alors la question est : que dois-je faire si Xiaohong veut également crypter la réponse qui vous est adressée ?

Si Xiaohong chiffre avec sa clé privée, tout le monde dans la classe connaît la clé publique, et la clé publique peut déchiffrer la clé privée, ce qui signifie également que tout le monde peut déchiffrer la réponse aux messages de Xiaohong. Si vous êtes intelligent, vous devez avoir pensé à la solution :

Utilisez l'algorithme de cryptage asymétrique pour crypter une clé symétrique vers Xiaohong, Xiaohong utilise sa clé privée pour lire la clé symétrique, puis vous utilisez cette clé symétrique pour faire Symétrique cryptage , et vous pourrez alors sortir avec plaisir.

Bien sûr, https fait la même chose.

La véritable identité des parties communicantes

Après le cryptage, le processus de communication semble parfait ? Attendez une minute, comment la clé publique de Xiaohong est-elle connue du monde ?

Vous devez savoir que toutes les interactions d'informations dans l'environnement réseau s'effectuent par le passage de notes, et la clé publique de Xiaohong ne fait pas exception. Et si elle était commutée lorsqu'elle passait entre les mains de Xiaoming ? Comment s'assurer que la clé publique Xiaohong que vous avez en main est la véritable clé publique Xiaohong ? Voyant que les notes sur les hommes et les femmes fous de la classe étaient échangées de diverses manières, sœur Feng, membre du comité d'animation, a décidé de se manifester. Sœur Feng a trouvé un moyen d'emporter avec elle un certificat dans toutes les communications cryptées pour prouver son identité. Ce certificat a été spécialement réalisé par sœur Feng pour tous les célibataires de la classe. La clé publique est placée dans le certificat et renvoyée à l'expéditeur de la note. En plus de la clé publique, le certificat contient également diverses informations telles que le numéro d'étudiant. , nom et même signe du zodiaque, taille et mesures. Il y a un grand sceau d'identification apposé sur le certificat. Il s'agit du sceau unique de sœur Feng, ce qui signifie que l'authenticité des informations sur le certificat est garantie par sœur Feng. Lorsque vous voyez ce sceau, vous pouvez penser que l'autre partie est une. vrai célibataire.

Grâce à ces informations, vous pouvez savoir si l'autre partie est Xiaohong ou Ruhua. Il s'agit du mécanisme de certificat.

De toute évidence, vous soupçonnerez que le sceau officiel de Sœur Feng sur le certificat a peut-être été contrefait, et vos soupçons sont justifiés ! Par conséquent, le sceau officiel sur le certificat est également crypté de manière asymétrique. La méthode de cryptage est exactement le contraire de ce qui est mentionné ci-dessus : crypté avec la clé privée de sœur Feng et déchiffré avec la clé publique de sœur Feng, afin que l'authenticité du certificat puisse être vérifiée. vérifié. Ce sceau officiel est la signature numérique du certificat. Plus précisément, il s'agit du processus consistant à extraire d'abord le digest du certificat à l'aide d'un algorithme de hachage, puis à chiffrer le résumé. De plus, vous pouvez également vous adresser directement à Sœur Feng avec le certificat, et Sœur Feng vous aidera à vérifier la validité du certificat. (Les certificats ont une date d'expiration, donc même les vrais certificats peuvent expirer, vous devez donc faire attention)

Ce mécanisme semble assez complet, mais il faut se méfier de tout pour construire un mécanisme de sécurité, quelque chose que sœur Feng garantit que c'est digne de confiance.

Mais, sœur Feng est-elle vraiment sœur Feng ? ? ?

A lère du https, vous ne savez toujours rien de lui ?

Par conséquent, Sœur Feng elle-même doit être garantie par un certificat. Le certificat de Sœur Feng est délivré par le directeur, et le certificat du directeur est délivré par le directeur. ... Cette chaîne va jusqu'au bout Plusieurs institutions faisant autorité sont ce que l'on appelle les autorités de certification racine dans le système https. Les racines sont des autorités incontestables, elles apportent du sel et prouvent qu'elles sont qui elles sont. Dans le système de certificats https, le certificat racine est fourni avec le système d'exploitation/navigateur. Nous pouvons faire confiance aux certificats certifiés par ces organisations, puis les dériver couche par couche jusqu'au niveau de Fengjie.

De plus, comme le certificat est en fait très facile à obtenir, il coûte 10 yuans par copie à l'entrée du métro, et il coûte 10 yuans pour Harvard et Stanford ! Par conséquent, certaines entreprises créeront leurs propres certificats sans passer du tout par l’organisation de l’autorité de certification racine, comme le fameux 12306. Vous pouvez également créer votre propre certificat et le mettre en ligne pour que les utilisateurs puissent le télécharger et l'importer dans leur navigateur, mais comme vous n'avez pas l'influence de Sœur Feng, personne ne vous croira. Bien sûr, certaines personnes ne croient même pas Sœur Feng. ...

A l'ère du https, vous ne savez toujours rien de lui ?

Le contenu de la communication est complet

Le mot de passe est également ajouté et le sceau officiel de sœur Feng est également estampillé. Est-ce un mécanisme. parfait?

NonNonNon, réfléchissez-y, Xiao Ming, qui a le béguin pour vous, se sentira certainement malheureux quand il vous verra envoyer une note à Xiao Hong. Bien qu'il ne puisse pas le comprendre, il le peut. changez toujours le texte secret. À l'origine, vous alliez demander à Xiaohong de se rencontrer sur le terrain de jeu à minuit, mais Xiaoming a supprimé la première moitié du texte chiffré, et après le déchiffrement, il s'est avéré être "Rendez-vous sur le terrain de jeu". Ensuite, Xiaohong a couru vers le terrain de jeu immédiatement après le cours. , mais tu as couru vers le dortoir pour prendre une bonne douche. . . Ensuite, Xiaohong s'est enfui avec Xiaoming~~

Je pense que tout le monde comprend profondément ce scénario de falsification du contenu de la communication. Lorsque nous visitons certains sites, des publicités des opérateurs apparaissent sans raison. ajouté par l'opérateur! ! Par conséquent, l'intégrité du contenu doit également être garantie. C'est relativement simple : utilisez d'abord un algorithme de hachage pour extraire le résumé du contenu, puis cryptez le résumé pour générer une signature numérique. En vérifiant la signature numérique, vous pouvez déterminer le. l'intégrité du contenu de la communication.

Ce qui précède est une version simplifiée de la technologie utilisée en https. Un processus de communication http est le suivant :

A lère du https, vous ne savez toujours rien de lui ?

Étapes générales. :

  1. Le client envoie un message Client Hello pour démarrer la communication SSL. Le message contient la version SSL, la liste des algorithmes disponibles, la longueur de la clé, etc.

  2. Lorsque le serveur prend en charge la communication SSL, il répondra avec un message Server Hello. Le message inclut également la version SSL et la configuration de l'algorithme de cryptage, qui est l'algorithme de cryptage et de déchiffrement négocié.

  3. Ensuite, le serveur enverra le message Certificate, ce qui signifie envoyer le certificat au client.

  4. Le client envoie un message d'échange de clé client, utilise la clé publique du certificat en 3 pour crypter la chaîne de mot de passe aléatoire du secret pré-maître, et utilise ensuite ce mot de passe pour le cryptage symétrique pour la communication.

  5. Après un déchiffrement réussi à l'aide de la clé privée, le serveur renvoie une réponse indiquant que l'environnement de communication SSL a été mis en place.

  6. Ensuite, il y a une communication http c/s régulière.

Comme mentionné ci-dessus, des algorithmes de résumé et de signature seront utilisés aux étapes 3 et 6 pour garantir que le certificat délivré et le contenu de la communication ne sont pas falsifiés. Ce processus montre que le cœur du https réside dans le cryptage, en particulier dans l'algorithme de cryptage asymétrique qui est utilisé à plusieurs reprises pour transmettre des informations clés.

Une fois que vous comprenez le cryptage, reconnaissez la transparence du réseau et soyez sceptique à l'égard de tout, il devient plus facile de comprendre le système https.

Conclusion

Récemment, j'ai systématiquement examiné les éléments liés à http. Cet article présente les principes de base de https. talent et connaissances. S’il y a quelque chose d’inapproprié, corrigez-moi ! Plus tard, nous présenterons la configuration réelle du serveur application, statique, etc. ~

Annexe

Comment éviter l'homme dans le- détournement moyen de https ?

Si quelqu'un détourne votre serveur DNS et résout wwe.icbc.com en son site Web illégal, ou si le serveur proxy vous dirige vers son site Web illégal, il s'agit d'une attaque de l'homme du milieu. S'il n'y a pas de https, l'attaque se produit. Alors, comment https évite-t-il de telles attaques ?

La réponse passe par l'authentification par certificat.

  1. Lors d'une demande de certificat, l'AC effectuera une certification de contrôle sur le nom de domaine à demander, il vous est donc impossible d'utiliser le site Web de Lao Wang à côté pour demander un certificat. Même si vous piratez son site, Lao Wang pourra le découvrir à condition qu'il demande un certificat.

  2. Si vous falsifiez un certificat qui n'est pas émis par une autorité de certification faisant autorité, le navigateur vous alertera lorsqu'il vérifiera que le certificat est illégal. Bien sûr, les utilisateurs peuvent toujours continuer à fonctionner, comme récupérer des billets de train ou autre. .

  3. Si vous téléchargez le certificat du site réel, le nom de domaine sur le certificat reste inchangé, et vous remplacez simplement la clé publique, alors le navigateur pourra trouver l'exactitude lorsque en comparant la signature numérique du certificat. Si vous ne parvenez pas à vous joindre, appelez la police sans dire un mot.

  4. Si l'intermédiaire utilise directement le véritable certificat de www.icbc.com, alors bien qu'il puisse recevoir le message du client, il ne peut pas le décrypter, il ne peut donc pas répondre à la demande du client. L'attaque est invalide !

Signature numérique du certificat

Je ne connaissais pas grand-chose aux algorithmes de hachage et aux signatures numériques auparavant, mais après l'avoir compris, j'ai trouvé que le principe est en fait assez simple. L'algorithme de hachage peut convertir une grande quantité de données en un résumé de longueur fixe, et le résumé correspond à l'entrée. Le résumé changera également lorsque l'entrée change. Par conséquent, un algorithme de hachage est appliqué aux données pour obtenir un résumé. En comparant le résumé, vous pouvez déterminer si les données ont été falsifiées. Le certificat utilise la clé privée pour chiffrer le résumé, puis le client peut utiliser la clé publique pour le déchiffrer afin d'obtenir le résumé. En comparant le résumé calculé par l'algorithme de hachage, il peut déterminer si le certificat a été falsifié. D'autre part, étant donné que les clés publique et privée sont appariées, même si le résumé du certificat falsifié peut être obtenu, la signature ne peut pas être chiffrée. L'authenticité du certificat peut donc être garantie en utilisant une combinaison de résumé et de chiffrement. La clé privée ici est la clé privée de l'autorité émettrice du certificat, c'est-à-dire que l'autorité de certification sur la chaîne d'autorité de certification crypte le certificat du serveur utilisateur et que l'autorité de certification supérieure crypte le certificat de l'autorité de certification subordonnée, formant ainsi un anneau de confiance.

L'auteur de cet article : Qie Guo, se concentrant sur le domaine du développement front-end. Pour plus d'articles, veuillez faire attention à la rubrique Zhihu « Front-end Little Things »

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Sep 26, 2023 am 08:40 AM

Comment utiliser NginxProxyManager pour implémenter un proxy inverse sous protocole HTTPS Ces dernières années, avec la popularité d'Internet et la diversification des scénarios d'application, les méthodes d'accès aux sites Web et aux applications sont devenues de plus en plus complexes. Afin d'améliorer l'efficacité et la sécurité de l'accès aux sites Web, de nombreux sites Web ont commencé à utiliser des proxys inverses pour traiter les demandes des utilisateurs. Le proxy inverse du protocole HTTPS joue un rôle important dans la protection de la confidentialité des utilisateurs et dans la sécurité des communications. Cet article expliquera comment utiliser NginxProxy

Comment utiliser Nginx Proxy Manager pour implémenter le saut automatique de HTTP à HTTPS Comment utiliser Nginx Proxy Manager pour implémenter le saut automatique de HTTP à HTTPS Sep 26, 2023 am 11:19 AM

Comment utiliser NginxProxyManager pour implémenter le saut automatique de HTTP à HTTPS Avec le développement d'Internet, de plus en plus de sites Web commencent à utiliser le protocole HTTPS pour crypter la transmission des données afin d'améliorer la sécurité des données et la protection de la vie privée des utilisateurs. Le protocole HTTPS nécessitant la prise en charge d'un certificat SSL, un certain support technique est requis lors du déploiement du protocole HTTPS. Nginx est un serveur HTTP et un serveur proxy inverse puissants et couramment utilisés, et NginxProxy

Nginx avec SSL : configurez HTTPS pour protéger votre serveur Web Nginx avec SSL : configurez HTTPS pour protéger votre serveur Web Jun 09, 2023 pm 09:24 PM

Nginx est un logiciel de serveur Web hautes performances et un puissant serveur proxy inverse et équilibreur de charge. Avec le développement rapide d'Internet, de plus en plus de sites Web commencent à utiliser le protocole SSL pour protéger les données sensibles des utilisateurs, et Nginx fournit également un puissant support SSL, améliorant encore les performances de sécurité du serveur Web. Cet article explique comment configurer Nginx pour prendre en charge le protocole SSL et protéger les performances de sécurité du serveur Web. Qu'est-ce que le protocole SSL ? SSL (SecureSocket

À quoi ressemble le flux de travail https ? À quoi ressemble le flux de travail https ? Apr 07, 2024 am 09:27 AM

Le flux de travail https comprend des étapes telles que la demande initiée par le client, la réponse du serveur, la prise de contact SSL/TLS, la transmission de données et le rendu côté client. Grâce à ces étapes, la sécurité et l'intégrité des données pendant la transmission peuvent être garanties.

Comment configurer https dans Tomcat Comment configurer https dans Tomcat Jan 05, 2024 pm 05:15 PM

Étapes de configuration : 1. Obtenez le certificat SSL ; 2. Configurez le certificat SSL ; 3. Modifiez le fichier de configuration Tomcat ; Introduction détaillée : 1. Vous devez obtenir un certificat SSL, soit un certificat auto-signé, soit un certificat SSL valide auprès d'une agence de certification (telle que Let's Encrypt) 2. Placez le certificat SSL obtenu et les fichiers de clé privée sur le serveur et assurez-vous que ces fichiers sont situés dans un emplacement sûr, seuls les utilisateurs disposant d'autorisations suffisantes peuvent y accéder ; 3. Modifier les fichiers de configuration Tomcat, etc.

Solution : urllib3 ProxySchemeUnknown (proxy.scheme) Solution : urllib3 ProxySchemeUnknown (proxy.scheme) Feb 29, 2024 pm 07:01 PM

La raison de l'erreur est que l'erreur ProxySchemeUnknown(proxy.scheme) de urllib3 est généralement provoquée par l'utilisation d'un protocole proxy non pris en charge. Dans ce cas, urllib3 ne reconnaît pas le type de protocole du serveur proxy et ne peut donc pas utiliser le proxy pour les connexions réseau. Pour résoudre ce problème, vous devez vous assurer que vous utilisez un protocole proxy pris en charge, tel que HTTP ou https. Comment résoudre Pour résoudre ce problème, vous devez vous assurer que vous utilisez un protocole proxy pris en charge, tel que HTTP ou HTTPS. . Vous pouvez résoudre ce problème en définissant les paramètres proxy de urllib3. Si vous utilisez un proxy http, l'exemple de code est le suivant : importurllib3http

Comment le pare-feu Nginx garantit une communication sécurisée HTTPS Comment le pare-feu Nginx garantit une communication sécurisée HTTPS Jun 10, 2023 am 10:16 AM

À l’ère d’Internet d’aujourd’hui, la communication sécurisée est devenue un élément indispensable. En particulier dans la communication HTTPS, la manière d'assurer sa sécurité est particulièrement importante. En tant que serveur Web et serveur proxy inverse populaire, le pare-feu de Nginx peut également jouer un rôle important en garantissant une communication sécurisée HTTPS. Cet article abordera le pare-feu Nginx sous les aspects suivants. Cryptage TLS/SSL La garantie de sécurité de la communication HTTPS repose principalement sur la technologie de cryptage TLS/SSL, qui peut empêcher la transmission des données pendant la transmission.

Comment utiliser Nginx pour implémenter l'authentification bidirectionnelle HTTPS Comment utiliser Nginx pour implémenter l'authentification bidirectionnelle HTTPS Jun 03, 2023 pm 08:38 PM

La différence entre la vérification unidirectionnelle et la vérification bidirectionnelle : Vérification unidirectionnelle : fait référence au client qui vérifie le certificat côté serveur, et le serveur n'a pas besoin de vérifier le certificat client. Vérification bidirectionnelle : fait référence au client qui vérifie le certificat côté serveur, et le serveur doit également vérifier le certificat client via le certificat de clé publique de l'autorité de certification. Processus détaillé de prise de contact : authentification unidirectionnelle Le navigateur envoie une demande de connexion au serveur de sécurité. 1. Le serveur envoie son propre certificat et les informations relatives au certificat au navigateur client. 2. Le navigateur client vérifie si le certificat envoyé par le serveur est émis par le centre d'autorité de certification auquel il fait confiance. Si c'est le cas, continuez à exécuter l'accord ; sinon, le navigateur du client donnera au client un message d'avertissement : avertissant le client que ce certificat n'est pas digne de confiance et lui demandant s'il doit continuer. 3. Récupérez les clients

See all articles