+8618149523263

La différence entre HTTPS et HTTP

Dec 04, 2021

HTTPS (nom complet : Hyper Text Transfer Protocol over SecureSocket Layer) est un canal HTTP dont l'objectif est la sécurité. Sur la base de HTTP, le cryptage de la transmission et l'authentification de l'identité assurent la sécurité du processus de transmission [1]. HTTPS ajoute SSL sur la base de HTTP. La base de sécurité de HTTPS est SSL, SSL est donc requis pour les détails du cryptage. HTTPS a un port par défaut différent de HTTP et une couche de cryptage/authentification (entre HTTP et TCP). Ce système fournit des méthodes d'authentification et de communication cryptées. Il est largement utilisé dans les communications sensibles à la sécurité sur le World Wide Web, telles que les paiements de transaction.


HTTPS est principalement composé de deux parties : HTTP + SSL/TLS, c'est-à-dire qu'une couche de module de traitement des informations chiffrées est ajoutée à HTTP. La transmission des informations entre le serveur et le client sera cryptée via TLS, de sorte que les données transmises sont toutes des données cryptées.


Principe HTTP

① Le navigateur du client' doit d'abord établir une connexion avec le serveur via le réseau. La connexion est établie via TCP. Généralement, le numéro de port pour la connexion TCP est 80. Une fois la connexion établie, le client envoie une requête au serveur. Le format de la demande est le suivant : URL (Uniform Resource Identifier), numéro de version du protocole, suivi des informations MIME, y compris les modificateurs de la demande, les informations client et le contenu de la licence.

② Après réception de la demande, le serveur donnera les informations de réponse correspondantes. Le format est une ligne d'état, comprenant le numéro de version du protocole des informations, un code de réussite ou d'erreur, et les informations MIME incluent des informations sur le serveur, des informations sur l'entité et le contenu possible.


Principe HTTPS

① Le client envoie la liste des algorithmes qu'il supporte et un nombre aléatoire utilisé pour générer la clé au serveur ;

② Le serveur sélectionne un algorithme de chiffrement dans la liste d'algorithmes et l'envoie ainsi qu'un certificat contenant la clé publique du serveur au client ; le certificat contient également l'identification du serveur à des fins d'authentification, et le serveur fournit également un utilisateur utilisé comme nombre aléatoire pour générer la clé ;

③ Le client vérifie le certificat du serveur' (pour la vérification du certificat, vous pouvez vous référer à la signature numérique), et extrait la clé publique du serveur' puis, générez une chaîne de mot de passe aléatoire appelée pre_master_secret et utilisez la clé publique du serveur' pour le chiffrer (voir chiffrement/déchiffrement asymétrique) et envoyez les informations chiffrées au serveur ;

④ Le client et le serveur calculent indépendamment les clés de cryptage et MAC sur la base de pre_master_secret et de la valeur aléatoire du client et du serveur (se référer à l'algorithme d'échange de clés DH) ;

⑤ Le client envoie la valeur MAC de tous les messages d'établissement de liaison au serveur ;

Le serveur envoie la valeur MAC de tous les messages de prise de contact au client


avantage


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 au bon serveur ;


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


HTTPS est la solution la plus sécurisée dans l'architecture actuelle. Bien qu'il ne soit pas absolument sécurisé, il augmente considérablement le coût des attaques de l'homme du milieu.


défaut


Dans le même environnement réseau, le protocole HTTPS prolongera le temps de chargement des pages de près de 50 % et augmentera la consommation électrique de 10 à 20 %. De plus, le protocole HTTPS affectera également le cache, augmentant la surcharge de données et la consommation d'énergie.


La sécurité du protocole HTTPS a une portée et a peu d'effet sur les attaques de pirates, les attaques par déni de service et le piratage de serveur.


Le plus important est que le système de chaîne de crédit du certificat SSL n'est pas sécurisé. Surtout lorsque certains pays peuvent contrôler le certificat racine CA, les attaques de l'homme du milieu sont également possibles.


Augmentation des coûts. Une fois HTTPS déployé, le travail du protocole HTTPS augmentera la consommation de ressources informatiques supplémentaires. Par exemple, l'algorithme de cryptage du protocole SSL et le nombre d'interactions SSL occuperont une certaine quantité de ressources informatiques et de coûts de serveur. Dans le scénario d'applications d'accès utilisateur à grande échelle, le serveur doit effectuer des opérations de chiffrement et de déchiffrement fréquentes, et presque chaque octet doit être chiffré et déchiffré, ce qui entraîne des coûts de serveur. Avec le développement de la technologie du cloud computing, le coût d'utilisation des serveurs déployés dans les centres de données a progressivement diminué après l'augmentation de l'échelle. Par rapport à l'amélioration de la sécurité d'accès des utilisateurs, le coût des intrants est tombé à un niveau acceptable.


Envoyez demande