HTTP (Hypertext Transfer Protocol) est actuellement le protocole le plus utilisé sur Internet. À mesure que les gens sont de plus en plus conscients de la sécurité des réseaux, le HTTPS est de plus en plus adopté. Que nous visitions des sites Web commerciaux ou que nous nous connections à des blogs, des forums, etc., nous sommes tous protégés par HTTPS. Même les navigateurs grand public tels que Google Chrome et Firefox ont marqué tous les sites HTTP comme dangereux.
Pourquoi HTTPS est-il plus sécurisé que HTTP ? Avant de répondre à cette question, nous devons d’abord comprendre ce que sont HTTP et HTTPS.
Le processus d'accès HTTP et HTTPS
Depuis le développement d'Internet jusqu'à nos jours, HTTP a été le protocole standard pour la transmission d'informations sur Internet. Les informations transférées peuvent être des documents, des fichiers, des images, des vidéos, etc. entre ordinateurs sur Internet.
Lors du processus de requête HTTP, il n'y a pas de processus de confirmation d'identité entre le client et le serveur. Toutes les données sont transmises en texte clair et en « stries » sur Internet, donc. il est facile d'être attaqué par un pirate informatique.
Comme vous pouvez le voir sur l'image ci-dessus, la requête envoyée par le client peut facilement être interceptée par des pirates si le pirate se fait passer pour le serveur à ce moment-là, il peut renvoyer des informations arbitraires au client sans que celui-ci ne le remarque, c'est pourquoi on entend souvent le mot « détournement ».
Et HTTPS est en fait HTTP avec SSL (HTTP + SSL = HTTPS). Lorsque vous voyez HTTPS dans la barre d'adresse de votre navigateur, cela signifie que toutes les communications avec le site Web seront cryptées, rendant ainsi l'ensemble de la visite plus sécurisée.
Pourquoi HTTPS est plus sécurisé que HTTP
La sécurité du HTTPS se reflète souvent sous trois aspects :
Authentification du serveur, via le serveur Vérification d'identité, l'utilisateur peut savoir qu'il communique actuellement avec le serveur correspondant.
Confidentialité des données, les autres parties ne peuvent pas comprendre le contenu des données envoyées car les données soumises sont cryptées.
Intégrité des données, la transmission portera le code d'authentification du message (MAC) pour vérification, de sorte que les données transmises ne seront pas modifiées par l'autre partie.
Vous pouvez donner un exemple pour comparer. Une requête HTTP est constituée de plusieurs lignes de texte qui suivent le protocole HTTP, comme la requête GET suivante :
GET /helloupyun.txt HTTP/1.1 User-Agent: curl/7.73.0 libcurl/7.73.0 OpenSSL/1.1.l zlib/1.2.11 Host: www.upyun.com Accept-Language: en
La requête sera envoyée directement en texte clair Puisqu'elle est en texte clair, le protocole commande et. syntaxe Les personnes ayant une compréhension de base peuvent obtenir et comprendre la signification de la demande à condition de surveiller le processus d'envoi de la demande. Par conséquent, lors de l’envoi de données telles que des mots de passe via HTTP, la sécurité est extrêmement faible.
En revanche, HTTPS utilise SSL (ou TLS) pour crypter les requêtes et les réponses HTTP. Ainsi, dans l'exemple ci-dessus, une personne qui surveille la requête verra une chaîne de nombres aléatoires, qui n'est pas un texte lisible.
GsERHg9YDMpYk0VVDiRvw1H5miNieJeJ/FNUjgH0BmVAWII6+T4MnDwmCMZUI/orxP3HGwYCSIvyzS3MpmmSe4iaWKCOHH==
Le processus de cryptage utilise SSL (Secure Socket Layer), une technologie de sécurité standard qui couvre les clés asymétriques et les clés symétriques.
Chiffrement symétrique
Le chiffrement symétrique fait référence à un algorithme de chiffrement qui utilise la même clé pour le chiffrement et le déchiffrement.
Les algorithmes de cryptage actuellement courants incluent : DES, AES, IDEA, etc.
Cryptage asymétrique
Le cryptage asymétrique utilise deux clés, une clé publique et une clé privée clé, nous utiliserons la clé publique pour crypter le mot de passe du compte du site Web et d'autres données, puis utiliserons la clé privée pour décrypter les données. Cette clé publique sera envoyée à tous ceux qui consultent le site Web, tandis que la clé privée appartient uniquement au serveur du site Web lui-même.
Algorithmes de chiffrement asymétriques actuellement courants : RSA, DSA, DH, etc.
Les suites couramment utilisées, telles que la suite de chiffrement ChaCha20-Poly1305, utilisent ces deux algorithmes, où Chacha20 fait référence à l'algorithme de chiffrement symétrique et Poly1305 fait référence à l'algorithme d'authentification d'identité.
En nous référant au document RFC, nous pouvons comprendre que ChaCha20 fournit une force de cryptage de 256 bits, ce qui est suffisant en tant qu'algorithme de cryptage symétrique pour assurer la sécurité HTTPS.
Poly1305, en tant qu'algorithme d'authentification d'identité, fournit une authentification, qui peut empêcher les attaquants d'insérer de fausses informations dans des flux de données sécurisés pendant le processus de prise de contact TLS. L'algorithme Poly1305 fournit une force de cryptage de sécurité. d'environ 100 bits est suffisant pour empêcher ce type d'attaque.
En général, par rapport au HTTP, HTTPS crypte non seulement les données en tant que méthode de cryptage, mais donne également au site Web une carte d'identité sûre et digne de confiance.
Parlons de quelques avantages et inconvénients du HTTPS
Dans l'ensemble, HTTPS présente les cinq avantages suivants :
● Maximum Maximiser la sécurité des données et des transactions sur le Web ;
● Crypter les informations sensibles ou confidentielles des utilisateurs
● Améliorer les classements dans les moteurs de recherche
● Éviter les messages dans le navigateur ; L'invite « dangereux » apparaît
● Améliorez la confiance des utilisateurs dans le site Web.
Relativement, les inconvénients sont également essentiels :
● Le protocole HTTPS prend un temps relativement long dans la phase de prise de contact, ce qui affectera la vitesse globale de chargement des pages
● Il faudra plus de cycles CPU sur le navigateur et le serveur pour crypter/déchiffrer les données ● Les certificats SSL nécessitent généralement des frais pour être obtenus, et le coût n'est souvent pas faible ; ● Il n'est pas sûr au sens absolu Lorsque le site Web est attaqué et que le serveur est piraté, HTTPS ne peut fondamentalement fournir aucune protection de sécurité. Tutoriels d'articles connexes :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!