Le principe de fonctionnement et la différence entre HTTP et HTTPS

1. Les concepts de base de HTTP et HTTPS

HTTP (HyperText Transfer Protocol: HyperText Transfer Protocol): C'est le protocole réseau le plus utilisé sur Internet. Il s'agit d'un standard pour les requêtes et réponses client et serveur (TCP), utilisé pour transférer l'hypertexte du serveur Web vers le serveur local. le protocole de transmission du navigateur , qui peut rendre le navigateur plus efficace et réduire la transmission sur le réseau.

HTTPS (HyperText Transfer Protocol Secure: HyperText Transfer Protocol Secure): canal HTTP avec la sécurité comme objectif, c'est-à-dire qu'une couche SSL est ajoutée à HTTP. La base de sécurité de HTTPS est SSL, donc SSL est requis pour les détails du chiffrement . L'objectif principal du développement HTTPS est de fournir une authentification d'identité pour les serveurs de sites Web et de protéger la confidentialité et l'intégrité des données échangées.


Deuxièmement, la différence entre HTTP et HTTPS

1. Le protocole HTTPS nécessite une CA (autorité de certification) pour demander un certificat. En règle générale, il y a moins de certificats gratuits, donc des frais sont exigés.

2. HTTP est un protocole de transmission hypertexte, les informations sont transmises en texte brut et les données ne sont pas cryptées, tandis que HTTPS est un protocole de transmission crypté SSL sécurisé .

3. HTTP et HTTPS utilisent des méthodes de connexion complètement différentes et les ports utilisés sont différents. HTTP est le port 80 et HTTPS est le port 443.

4. La connexion HTTP est très simple et sans état . Le protocole HTTPS est un protocole réseau construit par le protocole SSL + HTTP qui peut être utilisé pour la transmission cryptée et l'authentification d'identité. Il est plus sûr que le protocole HTTP.


Troisièmement, le principe de fonctionnement de HTTP

Insérez la description de l'image ici
1. Le client établit une connexion TCP avec le serveur (prise de contact à trois)
2. Une fois la connexion établie, le client envoie une requête au serveur
3. Le serveur répond après avoir reçu la requête envoyée par le client et envoie le informations de réponse au client
4. Le serveur Après l'envoi des informations de réponse, la connexion TCP sera déconnectée, HTTP est donc sans état et la prochaine visite ne connaîtra pas le processus de la visite précédente.
5. Le client reçoit les informations de réponse, le navigateur l'analyse et analyse le fichier html Après le rendu d'une page Web sur le navigateur


Quatrièmement, le principe de fonctionnement de HTTPS

Insérez la description de l'image ici
1. Le client lance une requête HTTPS

L'utilisateur entre une URL https dans le navigateur, puis se connecte au port 443 du serveur.

2. Envoyez le certificat

Le serveur utilisant le protocole HTTPS doit disposer d'un ensemble de certificats numériques. Cet ensemble de certificats est en fait une paire de clés publiques et privées. La clé publique est comme un verrou et la clé privée est une clé. Seule cette clé privée peut s'ouvrir la clé publique. Si d'autres personnes ne peuvent pas l'ouvrir, elles ne pourront pas voir le contenu qu'elle contient.

Le serveur envoie le certificat au client. Ce certificat est en fait une clé publique, qui ne contient que de nombreuses informations, telles que l'autorité émettrice du certificat, l'heure d'expiration, etc.

3. Le client résout le certificat

Cette partie du travail est effectuée par le TLS du client. Tout d'abord, il vérifiera si la clé publique est valide. Si une anomalie est détectée, une boîte d'avertissement apparaîtra, indiquant qu'il y a un problème avec le certificat.

4. Générez une clé aléatoire

S'il n'y a pas de problème avec le certificat, générez une clé symétrique aléatoire
5. Cryptez la clé symétrique

La clé publique crypte la clé symétrique, comme mentionné ci-dessus, la valeur aléatoire est verrouillée avec un verrou, de sorte qu'à moins qu'il n'y ait une clé, le contenu verrouillé ne peut pas être vu.

6. Transmettre des informations cryptées

Le but de l'envoi de la clé symétrique chiffrée au serveur est de permettre au serveur d'obtenir la clé symétrique, puis la communication entre le client et le serveur peut être chiffrée et déchiffrée par cette clé symétrique.

7. Le serveur déchiffre les informations

Après avoir déchiffré avec la clé privée, le serveur obtient la clé symétrique transmise par le client, puis crypte le contenu symétriquement à travers la clé. Le cryptage dit symétrique consiste à mélanger les informations avec la clé symétrique via un certain algorithme. À moins que vous connaissez la clé symétrique, vous ne pouvez pas obtenir le contenu, et le client et le serveur connaissent cette clé, donc tant que l'algorithme de chiffrement est suffisamment fort et que la clé symétrique est suffisamment complexe, les données sont suffisamment sûres.

8. Transmission d'informations cryptées

Cette partie de l'information est l'information chiffrée par le serveur avec la clé symétrique et peut être restaurée sur le client.

9. Le client déchiffre les informations

Le client utilise la clé symétrique générée précédemment pour déchiffrer les informations transmises à partir du segment de service, puis obtient le contenu déchiffré. Même si le tiers écoute les données pendant tout le processus, il est impuissant.


Cinq, les avantages et les inconvénients du HTTPS

1. Avantages:

(1) Utilisez le protocole HTTPS pour authentifier les utilisateurs et les serveurs afin de garantir que les données sont envoyées au bon client et serveur;

(2) Le protocole HTTPS est un protocole réseau construit par le protocole SSL + HTTP pour la transmission cryptée et l'authentification d'identité. Il est plus sûr que le protocole http. Il peut empêcher le vol ou la modification des données pendant la transmission et garantir l'intégrité des données .

(3) HTTPS est la solution la plus sécurisée dans l'architecture actuelle. Bien qu'elle ne soit pas absolument sécurisée, elle augmente considérablement le coût des attaques man-in-the-middle.

(4) Google a ajusté son algorithme de moteur de recherche en août 2014, et a déclaré que «par rapport au même site Web HTTP, un site Web qui utilise le cryptage HTTPS sera mieux classé dans les résultats de recherche».

2. Inconvénients:

(1) La phase de négociation du protocole HTTPS est relativement longue, ce qui prolongera le temps de chargement de la page de près de 50% et augmentera la consommation d'énergie de 10% à 20%;

(2) La mise en cache de connexion HTTPS n'est pas aussi efficace que HTTP, ce qui augmentera la surcharge de données et la consommation d'énergie, et même les mesures de sécurité existantes seront affectées en conséquence;

(3) Les certificats SSL nécessitent de l'argent. Plus le certificat est puissant, plus le coût est élevé. Les sites Web personnels et les petits sites Web ne sont pas nécessaires et ne sont généralement pas utilisés.

(4) Les certificats SSL doivent généralement être liés à une adresse IP et plusieurs noms de domaine ne peuvent pas être liés à la même adresse IP. Les ressources IPv4 ne peuvent pas prendre en charge cette consommation.

(5) La portée de cryptage du protocole HTTPS est également relativement limitée et a peu d'effet sur les attaques de pirates informatiques, les attaques par déni de service, le piratage de serveur, etc. Le plus important est que le système de chaîne de crédit des certificats SSL n'est pas sécurisé, en particulier lorsque certains pays peuvent contrôler les certificats racine de l'autorité de certification, les attaques man-in-the-middle sont également possibles.

Je suppose que tu aimes

Origine blog.csdn.net/isfor_you/article/details/113415313
conseillé
Classement