Comment fonctionne HTTPS? - Guide du débutant

Comment fonctionne HTTPS? - Guide du débutant
Les autorités de certificat sont l'une des pierres angulaires les plus importantes pour la sécurité Internet. Une autorité de certificat est quelqu'un qui a confiance en tous, au début, quand personne ne fait confiance à personne d'autre. C'est alors le travail de cette autorité de certificat (un.k.un CA) pour s'assurer que la confiance est établie entre les serveurs et les clients avant d'établir une communication sur Internet.Un CA est important non seulement pour les HTTP utilisés par les navigateurs et les applications Web, mais aussi pour les e-mails cryptés, les mises à jour logicielles signées, les VPN et bien plus encore. Nous prendrons l'exemple prototypique de HTTPS et nous en apprendre davantage sur CA, dans ce contexte particulier. Bien que vous puissiez extrapoler le résultat à toute autre suite logicielle.

Problèmes avec HTTP et Texte brut

Internet est un canal de communication non fiable. Lorsque vous envoyez ou recevez des informations d'un ancien site http http: //www.exemple.com Dans votre navigateur, beaucoup de choses peuvent se produire au milieu de vos paquets.

  1. Un mauvais acteur peut intercepter la communication, copier les données par elles-mêmes, avant de la remettre à nouveau sur la chaîne vers vous ou le serveur à qui vous parliez. Sans la connaissance des deux parties, les informations sont compromises. Nous devons nous assurer que la communication est privé.
  2. Un mauvais acteur peut modifier les informations lorsqu'elles sont envoyées sur le canal. Bob aurait pu envoyer un message "X" Mais Alice recevrait "Y" de Bob, parce qu'un mauvais acteur a intercepté le message et l'a modifié. En d'autres termes, le intégrité du message est compromis.
  3. Enfin, et surtout, nous devons nous assurer que la personne à qui nous parlons est en effet qui ils disent être. Revenir au exemple.com domaine. Comment pouvons-nous nous assurer que le serveur qui nous a répondu est en effet le détenteur légitime de www.exemple.com? À tout moment de votre réseau, vous pouvez être mal dirigé vers un autre serveur. Un DNS quelque part est responsable de la conversion d'un nom de domaine, comme www.exemple.com, dans une adresse IP sur Internet public. Mais votre navigateur n'a aucun moyen de vérifier que l'adresse IP a traduit DNS.

Les deux premiers problèmes peuvent être résolus en chiffrant le message avant qu'il ne soit envoyé sur Internet au serveur. C'est-à-dire en passant à HTTPS. Cependant, le dernier problème, le problème de l'identité est l'endroit où une autorité de certificat entre en jeu.

Initiat Sessions HTTP cryptées

Le principal problème avec la communication cryptée sur un canal insécurité est «Comment le démarrer?"

La toute première étape impliquerait les deux parties, votre navigateur et le serveur, pour échanger les clés de chiffrement à échanger sur le canal insécurité. Si vous n'êtes pas familier avec le terme clés, considérez-les comme un mot de passe généré de très longtemps avec lequel vos données seront cryptées avant d'être envoyées sur la chaîne peu sûre.

Eh bien, si les clés sont envoyées sur une chaîne non sécurisée, n'importe qui peut écouter là-dessus et compromettre la sécurité de votre session HTTPS à l'avenir. De plus, comment pouvons-nous faire confiance que la clé envoyée par un serveur prétendant être www.exemple.com est en effet le propriétaire réel de ce nom de domaine? Nous pouvons avoir une communication cryptée avec une fête malveillante se faisant passer pour un site légitime et ne pas connaître la différence.

Ainsi, le problème d'assurer l'identité est important si nous souhaitons assurer une échange de clés sécurisé.

Autorités de certificat

Vous avez peut-être entendu parler de LetSencrypt, Digicert, Comodo et quelques autres services qui offrent des certificats TLS pour votre nom de domaine. Vous pouvez choisir celui qui correspond à votre besoin. Maintenant, la personne / l'organisation qui possède le domaine doit prouver en quelque sorte à son autorité de certificat qu'elle a en effet le contrôle du domaine. Cela peut être fait en créant un enregistrement DNS avec une valeur unique, comme demandé par l'autorité de certificat, ou vous pouvez ajouter un fichier à votre serveur Web, avec le contenu spécifié par l'autorité de certificat, le CA peut alors lire ce fichier et confirmez que vous êtes le propriétaire valide du domaine.

Ensuite, vous négociez un certificat TLS avec l'AC, et cela se traduit par une clé privée et un certificat TLS public délivré à votre domaine. Les messages chiffrés par votre clé privée peuvent ensuite être déchiffrés par le certificat public et vice versa. Ceci est connu sous le nom de cryptage asymétrique

Les navigateurs du client, comme Firefox et Chrome (parfois même le système d'exploitation), ont la connaissance des autorités de certificat. Ces informations sont cuites dans le navigateur / appareil dès le début (c'est-à-dire lorsqu'ils sont installés) afin qu'ils sachent qu'ils peuvent faire confiance à certains CAS. Maintenant, quand ils essaient de se connecter à www.exemple.com sur https et voir un certificat délivré par, disons digicert, le navigateur peut en fait vérifier que l'utilisation des clés stockées localement. En fait, il y a quelques étapes intermédiaires supplémentaires, mais c'est un bon aperçu simplifié de ce qui se passe.

Maintenant que le certificat fourni par www.exemple.com peut être fiable, ceci est utilisé pour négocier une clé de chiffrement symétrique unique qui est utilisée entre le client et le serveur pour le reste de sa session. Dans le chiffrement symétrique, une clé est utilisée pour crypter ainsi que le déchiffrement et est généralement beaucoup plus rapide que son homologue asymétrique.

Nuances

Si l'idée de TLS et de la sécurité Internet vous appelle, vous pouvez approfondir ce sujet en creusant dans le letsencrypt et leur TLS gratuit. Il y a beaucoup plus de minutié dans tout ce Rigmarole que ce qui a été indiqué ci-dessus.

Les autres ressources que je peux recommander pour en savoir plus sur TLS sont le blog de Troy Hunt et le travail effectué par EFF Like Https Everywhere. Toutes les ressources sont gratuites et vraiment bon marché à mettre en œuvre (il vous suffit de payer pour l'enregistrement du nom de domaine et les frais horaires VPS) et acquérir une expérience pratique.