Authentification TLS

Le protocole TLS (Transport Layer Security) permet d'établir une communication sécurisée entre un client et un serveur. Voici les étapes principales du TLS Handshake.

Cas d’usage:
TLS
│
├── 📧 Email sécurisé
│   ├── SMTPS (port 465)
│   ├── IMAPS (port 993)
│   └── POP3S (port 995)
│
├── 🔐 VPN
│   ├── OpenVPN
│   └── WireGuard (clé pré-partagée mais parfois TLS utilisé en amont)
│
├── 🧩 APIs & Microservices
│   ├── REST APIs
│   ├── gRPC
│   └── mTLS (authentification mutuelle)
│
├── 🐳 Cloud / Services managés
│   ├── Connexions aux bases de données (PostgreSQL, MySQL)
│   ├── Services AWS/GCP/Azure (S3, API Gateway, etc.)
│   └── Communications entre services cloud
│
├── 🧪 Protocoles d’entreprise
│   ├── LDAPs (LDAP over TLS)
│   ├── XMPP (chat)
│   └── RDP (Bureau à distance sécurisé)
│
├── 📡 IoT (Internet des Objets)
│   ├── Capteurs / Dispositifs connectés
│   └── TLS ou mTLS vers des services cloud
│
└── 💬 Messagerie & VoIP
    ├── Signal, WhatsApp
    ├── Microsoft Teams, Zoom
    └── TLS pour chiffrer les communications
    
Prérequis:
Séquence:
Client                             Serveur
  | -------- ClientHello --------> |
  | <-------- ServerHello -------- |
  | <------ Certificate ---------- |
  |                               |
  | ---- [ClientKeyExchange] ---> |
  | ---- ChangeCipherSpec ------> |
  | ---- Finished ---------------> |
  | <--- ChangeCipherSpec --------|
  | <--- Finished ----------------|
  | <<<<<<< Communication chiffrée >>>>>>> |
    

1. Client Hello

2. Server Hello

3. Vérification du certificat

Le client vérifie le certificat du serveur : chaîne de confiance, validité, domaine, etc.

4. Échange de clé / Secret partagé

TLS 1.2 :

TLS 1.3 : échange Diffie-Hellman (ECDHE) plus sécurisé (aucun secret transmis directement).

5. Génération de la clé de session

Les deux parties utilisent :

Pour dériver une clé de session symétrique.

6. Messages de fin (Finished)

Les deux parties s’échangent un message Finished chiffré pour confirmer que le handshake est réussi.

7. Communication sécurisée

Les données sont échangées avec la clé de session en toute sécurité.