MTLS
Mutual TLS. La pratique qui rend obligatoire la présentation d'un certificat client en plus du certificat serveur, pour une authentification bidirectionnelle.
Définition
mTLS (mutual TLS) désigne la configuration TLS dans laquelle le serveur exige du client la présentation d'un certificat X.509 valide en plus de présenter le sien. Cette double authentification au niveau transport remplace ou complète les authentifications applicatives (mot de passe, JWT, OAuth) et est obligatoire pour de nombreux échanges EDI sécurisés : AS4 PEPPOL, certaines connexions SFTP entreprise, échanges banque-entreprise EBICS.
Origine
Le mécanisme mTLS est défini depuis TLS 1.0 (RFC 2246, 1999) via le message CertificateRequest envoyé par le serveur, puis CertificateVerify côté client. Il a été préservé et clarifié dans TLS 1.3 (RFC 8446). Le terme « mTLS » s'est imposé dans la pratique au début des années 2010 avec la généralisation des services en API et des architectures zero-trust.
Exemple en contexte
Un Access Point PEPPOL doit présenter à ses pairs un certificat émis par OpenPEPPOL, et exiger en retour le certificat OpenPEPPOL de l'AP émetteur. Le handshake TLS 1.3 mutual rejette toute connexion d'un client non certifié, et trace l'identité confirmée dans les journaux d'accès. C'est l'unique mécanisme d'authentification entre AP : aucun mot de passe n'est échangé.