Maison >Problème commun >Quelle est la méthode de cryptage https ?
Cryptage HTTPS
Introduction
Http directement via du texte brut Les messages sont transmis entre le navigateur et le serveur, et le contenu de la communication peut facilement être intercepté et capturé.
Https utilise une combinaison de cryptage symétrique et de cryptage asymétrique pour communiquer.
Https n'est pas un nouveau protocole au niveau de la couche applicative, mais l'interface de communication HTTP utilise SSL et TLS pour renforcer le mécanisme de cryptage et d'authentification.
Méthode de cryptage
Cryptage symétrique : Le cryptage et le déchiffrement utilisent la même clé.
Cryptage asymétrique : les clés apparaissent par paires, divisées en clés publiques et clés privées. Le cryptage par clé publique nécessite un déchiffrement par clé privée, et le cryptage par clé privée nécessite un déchiffrement par clé publique.
La différence entre les deux
Le cryptage symétrique est rapide, tandis que le cryptage asymétrique est lent.
Le cryptage symétrique nécessite d'exposer la clé, ce qui n'est pas différent de la transmission en texte brut.
Le chiffrement asymétrique expose la clé publique pour le chiffrement du client, et le serveur utilise la clé privée pour déchiffrer.
Sélection du cryptage HTTPS
Inconvénients du cryptage symétrique
Le cryptage symétrique est rapide et adapté à l'algorithme de cryptage HTTPS, mais le mot de passe est transmis entre le serveur et navigateur Le processus clé a été surveillé et transmis en texte clair.
Inconvénients du chiffrement asymétrique
Le serveur expose uniquement la clé publique. Le navigateur utilise la clé publique pour chiffrer asymétriquement le message, et le serveur utilise la clé privée pour déchiffrer le message. Mais lorsque le serveur répond au navigateur, il ne peut utiliser que la clé privée pour chiffrer, et le navigateur ne peut utiliser que la clé publique pour déchiffrer. Cependant : la clé publique est connue de tous, et tout le monde peut lire le message répondu par le serveur pour le déchiffrer, cela ne peut donc pas résoudre le problème du serveur qui envoie le message au navigateur.
Cryptage HTTPS
Une combinaison de cryptage symétrique et de cryptage asymétrique
Le navigateur utilise l'URL HTTPS pour accéder au serveur et établir un lien SSL.
Le serveur reçoit le lien SSL et renvoie la clé publique A cryptée asymétriquement au navigateur
Le navigateur génère un nombre aléatoire comme clé cryptée symétriquement B
Parcourir Le Le navigateur utilise la clé publique A pour crypter la clé B qu'il a générée et obtient la clé C
Le navigateur envoie la clé C au serveur.
Le serveur utilise la clé privée D pour décrypter la clé reçue C et obtient la clé de chiffrement symétrique B.
La clé B peut être utilisée comme clé de cryptage symétrique pour communiquer entre le navigateur et le serveur.
Résumé
De cette façon, le navigateur et le serveur partagent une clé de cryptage symétrique B, et l'important est qu'elle ne soit pas interceptée. Le cryptage asymétrique n'est effectué qu'une seule fois lors de la transmission de la clé B, puis le cryptage symétrique est utilisé pour transmettre les données.
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!