Vous travaillez dans l’IT ? peut être étes vous sysadmin, développeur ou encore devops et lors d’un entretien vous avez eu cette question ? Expliquez moi ce qu’est le protocole HTTPS ou encore comment fonctionne-t-il ?
Si vous êtes RH je pense que cet article pourra aussi vous aider à poser cette question et à mieux comprendre la réponse de vos candidats.
En tout cas, peu importe de quel côté de la barrière êtes vous, vous pourrez désormais savoir mieux appréhender cette question. Certes, je vulgarise la réponse et ne rentre pas dans tous les détails techniques (les détails du protocole, les chiffrements…).
Histoire
HTTP pour HyperText Transfer Protocol, sans lui le web ne serait pas ce qu’il est. Peut être n’aurait-il pas existé ? Attention, ne pas confondre HTTP protocole d’échanges et HTML format ou plutôt language de développement web interprété par les navigateur internet.
Le protocole HTTP est donc un protocole d’échanges d’informations en deux machines client et serveur. Mais voilà comme tout échange, certaines personnes tentent de s’initier dan sle conversation de manière malveillante. Souvent considéré comme des hackers, ces personnes font usage de plusieurs méthodes pour capturer les paquets (informations) entre le client et le serveur. Le protocole HTTP peu sécurisé regorge de failles dans ce domaine (man in the middle, sniffing…).
Pour sécuriser, ce protocole a évolué vers les HTTPS ou HyperText Transfer Protocol Secure. Son principe ? permettre l’échange d’informations de manière sécurisée.
Pour réaliser ce chiffrement, il a été nécessaire d’utiliser un protocole. Et le premier a été SSL ou Secure Socket Layer. Il a bien vécu pourrait-on dir e:
- SSL 1.0 : jamais paru (Netscape)
- SSL 2.0 : 1995 – 2011
- SSL 3.0 : 1996 – 2015
Puis au fur et à mesure de la découverte de failles, une évolution plus substancielle a été nécessaire : le TLS ou Transport Layer Security.
Là encore avec des évolutions pour permettre de garantir la sécurité d’échanges des paquets mais également de permettre de servir les pages web toujours plus vites.
- TLS 1.1 : 2006 – 2020
- TLS 1.2 : 2008
- TLS 1.3 : 2018
Communication entre le client et le serveur
Mais du coup comment se passe cette communication sécuriser ? Voici un résumé du déroulement de cet échange :
- (préalable) Serveur : obtention d’un certificat auprès d’une authorité de certification (principe clefs publique/privé)
- Client : dit Hello au serveur et lui indique la version TLS et les suites cryptographiques supportées
- Serveur : répond Hello au client et indique les TLS et suite crypto utilisés + certificat et clef publique
- Client : vérifie la validité du certificat auprès de l’autorité de certification externe (différents niveaux de délégation)
- Client : Fourni une clef symétrique pour les prochains échanges (clef chiffrée avec la clef publique fourni par le serveur)
- Client/Serveur : échanges avec la clef symétrique