Que signifie HTTPS ?
HTTPS est le principal protocole utilisé pour envoyer des données entre un navigateur Web et un site Web. HTTPS utilise TLS (transport layer security) pour chiffrer les demandes et les réponses HTTP, ce qui en fait une version sécurisée (d’où le « S ») du même protocole. Il est utilisé dans diverses applications telles que les connexions à différents comptes, le commerce électronique et les applications de messagerie électronique, pour n’en citer que quelques-unes.
REMARQUE : les certificats TLS sont souvent appelés certificats TLS/SSL.
Comment fonctionne le HTTPS ? (les bases)
HTTPS est une mise en application du cryptage TLS sur le protocole HTTP. Par conséquent, lorsqu’un utilisateur visite un site qui prend en charge le protocole HTTPS, il bénéficie des avantages suivants en matière de sécurité :
- Authentification : permet de vérifier l’identité du site Web. Par exemple, si la barre du navigateur affiche https://www.entrust.com, vous pouvez être sûr qu’il appartient à Entrust Corporation.
- Cryptage : permet de cacher les données en mouvement à des tiers.
- Intégrité : vérifie que les données n’ont pas été altérées.
Pourquoi l’authentification dans HTTPS est-elle si importante ?
L’authentification d’un site Web est importante car elle permet à un visiteur de vérifier l’identité et la propriété d’un site Web, ce qui l’aide à faire la distinction entre un vrai site Web et un site Web potentiellement faux ou frauduleux.
Un visiteur peut se retrouver sur un site Web incorrect par le biais de divers vecteurs d’attaque tels que la saturation du DNS, les logiciels malveillants ou les sites de phishing.
L’association d’une identité à un site Web est généralement effectuée par une organisation tierce, telle qu’une autorité de certification (AC), qui suit des consignes industrielles strictes.
Comment fonctionne l’identité dans HTTPS ?
Un navigateur Web qui se connecte à un site Web utilisera un certificat TLS/SSL délivré par une autorité de certification telle qu’Entrust pour s’authentifier sur un site Web HTTPS.
Demander un certificat TLS/SSL
Pour ajouter une identité à un site Web, un certificat TLS/SSL doit être demandé par le propriétaire du site Web et émis par une Certificate Authority publiquement reconnue, telle qu’Entrust. Un certificat TLS/SSL est analogue à un passeport numérique pour une entreprise car il comprend des détails vérifiés tels que :
- URL(s) du site Web
- L’organisation qui possède le site Web
- Les dates d’émission et d’expiration du certificat
- Le nom de l’autorité de certification qui a émis le certificat
- La clé publique (utilisée pour le cryptage des données)
Pour obtenir un certificat TLS/SSL, le propriétaire d’un site Web doit suivre les étapes suivantes :
- Générer une demande de signature de certificat (CSR), qui inclut une paire de clés publiques/privées
- Démontrer à l’autorité de certification qu’elle contrôle les domaines à inclure dans le certificat TLS/SSL
- Prouver l’identité de l’organisation et son autorisation à demander un certificat TLS/SSL au nom de l’organisation
Une fois le processus de vérification terminé, le certificat TLS/SSL est émis et peut ensuite être installé par le propriétaire du site Web sur les sites appropriés. Le certificat TLS/SSL est ensuite présenté chaque fois qu’un visiteur se connecte à l’URL d’un site Web par l’intermédiaire de https://
Comment un site Web partage-t-il son identité avec ses visiteurs ?
Lorsqu’un visiteur se rend sur un site Web HTTPS, son navigateur Web reçoit une copie du certificat TLS/SSL. En cliquant sur l’icône du cadenas à gauche de la barre URL, puis en sélectionnant Connexion sécurisée et Certificat valide, le certificat du site Web s’affiche comme dans l’image ci-dessous.
Un visiteur du site peut ouvrir l’onglet Détails pour afficher plus d’informations sur l’organisation propriétaire du site Web, comme dans l’image ci-dessous.
Détails du certificat SSL pour entrust.com
Si le certificat affiche les détails de l’entreprise du propriétaire du site Web (nom de l’entreprise, emplacement), il s’agit d’un certificat de validation étendue (VE) ou de validation d’organisation (VO).
Comment un navigateur vérifie-t-il un certificat TLS/SSL ?
Un navigateur effectue une série de contrôles pour vérifier que le certificat TLS/SSL présenté par le site web est exact et légitime. Le navigateur le fera :
- Vérifiez la signature numérique de l’autorité de certification pour vous assurer que le certificat a été émis par une autorité de certification figurant dans le magasin racine de confiance du navigateur
- Vérifiez que le domaine du certificat SSL correspond au domaine du site Web auquel le visiteur accède
- Vérifiez que le certificat SSL est valide et qu’il n’a pas expiré ou été révoqué
après avoir effectué ces contrôles, le navigateur du visiteur du site affichera https:// et une icône de verrouillage devant l’URL du site Web.
L’image ci-dessous montre que le certificat du site Web a été émis par Entrust et qu’il comprend une signature numérique d’Entrust que le navigateur du visiteur du site peut utiliser pour vérifier que le certificat est valide et émis par Entrust.
Signature numérique sur un certificat SSL émis par l’autorité de certification Entrust
Magasins racine
Afin de vérifier le certificat TLS/SSL d’un site web, un navigateur a besoin d’une copie de la clé publique de la Certificate Authority, qui est stockée dans le magasin racine du navigateur.
Un magasin racine contient les certificats numériques et les clés publiques associées de chaque autorité de certification à laquelle il fait confiance.
Chemin de certification pour le certificat SSL d’Entrust.com
- Le certificat supérieur est le certificat racine. Il est préchargé dans le magasin racine du navigateur.
- Le certificat du milieu est le certificat intermédiaire. Il est signé numériquement par l’AC du certificat racine et le navigateur lui fera donc également confiance. Le navigateur vérifie la signature à l’aide de la clé publique d’Entrust provenant du certificat racine préchargé.
- Le certificat du bas est le certificat d’entité finale et constitue le certificat TLS/SSL d’Entrust envoyé par le serveur Web lorsque le navigateur se connecte au site. Le navigateur peut vérifier le certificat de l’entité finale en utilisant la signature numérique du certificat intermédiaire.
Comment le cryptage en HTTPS fonctionne-t-il ?
Sur tout site Web HTTPS où un visiteur saisit des informations (données de carte bancaire, données de connexion, formulaire à remplir, etc.), avant que les données ne soient envoyées du navigateur au serveur, le navigateur crypte les données à l’aide de la clé publique du certificat TLS/SSL du site Web.
Le processus de cryptage est un moyen de brouiller les données en transit afin qu’elles ne puissent être lues que par les parties autorisées. Le cryptage traduit donc un texte en clair lisible par l’homme en un texte chiffré inintelligible.
Le cryptage donne l’impression que les données sont aléatoires, mais les données cryptées suivent un modèle logique et prévisible. Mais il est nécessaire que le site Web recevant les données dispose de la bonne clé privée pour décrypter les données.
Aperçu de haut niveau du processus de chiffrement et de déchiffrement
Qu’est-ce qu’une clé en cryptographie ?
Une clé cryptographique est une chaîne de caractères utilisée dans un algorithme de cryptage pour modifier les données en texte clair afin qu’elles paraissent aléatoires. La clé cryptographique est utilisée pour crypter et décrypter les données.
Quels sont les différents types de cryptage ?
Il existe deux grands types de chiffrement :
Chiffrement symétrique
Le cryptage symétrique ne comprend qu’une seule clé, qui est utilisée et partagée entre toutes les parties communicantes pour crypter et décrypter la communication. Bien que le cryptage symétrique soit plus rapide que le cryptage asymétrique, il ne s’agit pas d’une forme de cryptage évolutive en raison des complexités associées à la distribution sécurisée de la clé.
Chiffrement asymétrique
Le cryptage asymétrique (également appelé cryptage par clé publique) comprend deux clés distinctes. Une clé (la clé publique) est accessible à tous et est utilisée pour le cryptage. Une deuxième clé (la clé privée) est gardée en sécurité par le destinataire et est utilisée pour le décryptage. Le cryptage asymétrique est plus lent que le cryptage symétrique, mais la distribution des clés entre plusieurs utilisateurs est plus facile.
Qu’est-ce qu’un algorithme de chiffrement ?
Un algorithme de cryptage est la méthode qui convertit le texte en clair en texte chiffré. Le texte en clair est converti en texte chiffré lorsqu’un algorithme de cryptage modifie les données de manière prévisible à l’aide d’une clé privée. Le texte chiffré peut ainsi être reconverti en texte en clair à l’aide d’une clé de décryptage.
Les algorithmes de cryptage symétrique les plus connus sont les suivants :
- AES
- 3-DES
- SNOW
Les algorithmes de cryptage asymétrique les plus courants sont les suivants :
- RSA
- Cryptographie à courbe elliptique (CCE)
Qu’est-ce que la poignée de main TLS/SSL ?
Une connexion TLS est lancée en suivant une séquence souvent appelée « poignée de main TLS/SSL ». Ce processus est lancé lorsqu’un visiteur ouvre un site Web qui utilise un certificat TLS/SSL. Le processus commence entre le périphérique de l’utilisateur et le site Web auquel il se connecte.
Étapes 1 et 2 : Salutation et négociation des suites de chiffrement
Le navigateur du visiteur du site Web et le serveur Web se saluent et conviennent des suites (algorithmes) de chiffrement à utiliser.
Étapes 3 et 4 : Échange de certificats et de clés
Le serveur Web envoie une copie de son certificat TLS/SSL et de son certificat intermédiaire, ainsi que la clé publique, au navigateur du visiteur du site Web. Le navigateur du visiteur du site Web vérifie la validité du certificat TLS/SSL sur la base de sa signature numérique et du certificat racine dans le magasin de certificats racine du navigateur.
Étape 5 : Salutation du serveur terminée
Si toutes les vérifications du navigateur passent, un canal de communication sécurisé unidirectionnel est établi entre le navigateur et le serveur Web.
Étapes 6 à 10 : Échange de clé client et changement de spécification de chiffrement
Le navigateur Web et le serveur Web passent du chiffrement asymétrique au chiffrement symétrique en configurant une nouvelle clé de chiffrement partagée, via le canal de communication unidirectionnel sécurisé, car il est plus rapide et plus efficace. La façon dont cette clé de session partagée est créée dépend de la suite de cryptage qui a été convenue après la négociation de la suite de cryptage à l’étape 2.
Une fois la clé de session générée, le processus de poignée de main TLS est terminé et le navigateur Web et le serveur Web utilisent la clé de session pour chiffrer et déchiffrer toutes les données échangées.