Définition simple
Le certificate pinning limite la confiance TLS d’une application à un certificat, une clé publique ou une empreinte attendue au lieu d’accepter uniquement la chaîne de confiance classique.
Définition technique
Lors de la connexion TLS, l’application effectue la validation normale du certificat puis compare un élément présenté par le serveur à une valeur préenregistrée. Le pin peut viser le certificat final ou, plus durablement, une clé publique selon l’implémentation.
Fonctionnement / rôle
Son rôle est d’ajouter une contrainte de confiance spécifique à l’application. Même si une autorité de certification normalement approuvée émet un certificat inattendu, la connexion peut être refusée si le pin ne correspond pas.
À quoi cela sert ?
Réduire le risque d’interception TLS dans des applications maîtrisées, notamment mobiles ou embarquées, lorsque l’identité du service est connue à l’avance.
Exemple concret
Une application mobile épingle la clé publique de son API. Après un renouvellement de certificat utilisant la même clé, la connexion continue ; avec une clé différente non prévue, elle est rejetée.
Problèmes fréquents
- Expiration ou rotation du certificat sans nouveau pin
- Changement de clé publique non anticipé
- Proxy TLS d’entreprise rendu incompatible avec l’application
- Application bloquée sans stratégie de secours lors d’une rotation
À retenir : Le pinning renforce la confiance mais augmente le risque opérationnel lors des renouvellements ; prévoyez toujours une stratégie de rotation.