Maison > Article > Opération et maintenance > Comment HTTPS assure-t-il la sécurité ? (explication détaillée)
Cet article vous présentera les problèmes du HTTP et vous présentera comment HTTPS assure la sécurité. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Problèmes avec HTTP
1 Risque d'écoute : utilisation de la communication Plaine. texte (non crypté), le contenu peut être écouté (un tiers peut prendre connaissance du contenu de la communication)
2 Risque d'usurpation d'identité : L'identité du communicant n'est donc pas vérifiée. il existe une possibilité de rencontrer un déguisement
3 Risque de falsification : L'intégrité du message ne peut pas être prouvée, il peut donc avoir été falsifié
HTTPS
Vous pouvez voir les sites Web HTTPS et une marque de verrouillage apparaîtra dans la barre d'adresse du navigateur. HTTPS n'est pas un nouveau protocole au niveau de la couche application. Habituellement, HTTP communique directement avec TCP, tandis que HTTPS communique d'abord avec la couche de sécurité (SSL/TLS), puis la couche de sécurité communique avec la couche TCP.
Le protocole SSL/TLS est né pour résoudre les problèmes de HTTP mentionnés ci-dessus :
1. Toutes les informations sont cryptées et transmises et ne peuvent pas être écoutées par des tiers
2. Équipé d'une vérification d'identité pour empêcher l'usurpation d'identité
Dispose d'un mécanisme de vérification, une fois falsifié. avec, les deux parties communicantes découvriront immédiatement
Cryptage
Cryptage symétriqueCryptage La méthode L'utilisation de la même clé secrète pour le déchiffrement est appelée chiffrement à clé partagée, également appelé chiffrement à clé symétrique.
client_random
server_random
et méthode de cryptage client_random
utilise une méthode de cryptage pour mélanger deux nombres aléatoires server_random
et
pour générer une clé secrète. Cette clé est le mot de passe pour la communication entre le navigateur et le serveur. Problèmes avec client_random
server_random
: le tiers peut obtenir
et la méthode de cryptage au milieu étant donné que cette méthode de cryptage peut être déchiffrée en même temps, l'intermédiaire peut réussir à déchiffrer le mot de passe et l'obtenir. les données, ce qui est très simple. Cette méthode de cryptage est facilement cassée. client_random
server_random
Problèmes existants :
, ce qui affectera sérieusement la vitesse de cryptage et de décryptage, puis affectera la capacité de l'utilisateur pour ouvrir la vitesse de la page.
Les données du serveur ne peuvent être cryptées qu'avec une clé privée (car si. il utilise une clé publique, le navigateur ne peut pas (elle ne peut pas être déchiffrée). Une fois que l'intermédiaire a obtenu la clé publique, il peut décrypter les données envoyées depuis le serveur, et elles sont à nouveau crackées.
Le cryptage symétrique est toujours utilisé pendant la phase de transmission des données, mais nous utilisons des clés de chiffrement symétriques Transmission cryptée symétriquement.
À ce stade, le serveur et le navigateur ont les mêmes client_random
, server_random
et pre_master
, puis le serveur et le navigateur utiliseront ces trois ensembles de nombres aléatoires pour générer des clés symétriques . Avec la clé secrète symétrique, les deux parties peuvent utiliser un cryptage symétrique pour transmettre des données.
CA (Certificat numérique)
Utilise une méthode hybride symétrique et asymétrique pour réaliser une transmission cryptée des données. Mais il y a toujours un problème, le serveur peut être usurpé par des pirates. De cette manière, le navigateur accède au serveur du pirate informatique et celui-ci peut implémenter la clé publique et la clé privée sur son propre serveur. Cependant, le navigateur ne sait pas exactement que le site du pirate informatique est visité.
Le serveur doit prouver son identité et doit utiliser un certificat émis par une organisation faisant autorité est la CA (Certificate Authority), et le certificat émis est appelé certificat numérique.
Pour le navigateur, le certificat numérique a deux fonctions :
Prouver l'identité du serveur au navigateur via le certificat numérique
Le certificat numérique contient la clé publique du serveur
Jetons un coup d'œil au processus de requête HTTPS contenant le certificat numérique
Par rapport au processus de requête HTTPS sans certificats numériques, il y a deux changements principaux :
Le serveur ne renvoie pas directement la clé publique au navigateur, mais renvoie un numéro de certificat et la clé publique est incluse dans le certificat numérique
Il y a une opération de vérification de certificat supplémentaire du côté du navigateur. Une fois le certificat vérifié, le processus suivant continue. .
Référence
Comment expliquer l'asymétrie de manière facile à comprendre termes Chiffrement ?
Analyse du principe HTTPS - analyse approfondie avec questions
(1,6w mots) L'âme du navigateur Demander , combien pouvez-vous en récupérer ?
Tutoriel recommandé : Sécurité du serveur Web
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!