Nouveau cap technologique pour les certificats SSL
Certificate Transparency (CT) est un projet Google de journalisation, d’audit et de surveillance des certificats émis par les autorités de certification (AC). Le but de cette initiative est d’empêcher les AC d’émettre des certificats à clés publiques à l’insu des propriétaires des domaines concernés. En ce sens, Google Chrome exige des autorités de certification qu’elles enregistrent tous leurs certificats SSL Extended Validation (EV) dans des registres vérifiables publiquement, condition indispensable à l’affichage de la barre d’adresse verte dans son navigateur. Ce billet fait le point sur l’implication d’un tel changement dans SSL, tout en détaillant le plan d’accompagnement des clients Symantec dans cette transition.
Prévention des émissions non autorisées
Composante indispensable des systèmes de sécurité en ligne, les certificats SSL protègent les opérations d’e-commerce, les transactions de banque en ligne, ou plus simplement les serveurs de messagerie électronique. Un certificat SSL remplit deux grandes fonctions :
- Il crypte les échanges entre un navigateur client et un site Web pour prévenir toute lecture de ces informations par un tiers.
- Il fournit aux internautes des informations fiables sur l’identité du site Web qu’ils visitent.
À l’image de Symantec, les autorités de certification (AC) émettrices de certificats SSL procèdent à une validation rigoureuse de ces informations d’identification. Pour ce faire, elles investissent des moyens conséquents dans la vérification de l’identité des entreprises et de leurs droits de propriété sur les sites Web à protéger. Ce n’est qu’au terme de cette procédure que des certificats OV (Organization Validation) ou EV (Extended Validation) sont délivrés. Toutefois, toutes les AC ne se valent pas, comme en témoignent certains cas récents de certificats émis pour des sites Web réputés à la demande de tiers non autorisés.
La détection rapide de ces émissions non autorisées joue un rôle crucial dans l’élimination de la fraude aux certificats. À cet égard, Certificate Transparency (CT) offre un mécanisme préventif viable.
Fonctionnement de Certificate Transparency (CT)
CT repose sur quatre acteurs principaux :
- Les AC
- Les serveurs de journalisation – qui servent de référentiels publics des certificats SSL
- Les auditeurs (navigateurs Web ou tout client qui accepte les certificats SSL)
- Les contrôleurs
Avant d’émettre un certificat SSL, une AC envoie toutes les informations afférentes à un ou plusieurs serveurs de journalisation auxquels l’AC et les auditeurs font confiance. Le serveur de journalisation accepte le certificat et émet une vérification unique et cryptographiquement inviolable à l’attention de l’AC. C’est ce que l’on appelle l’horodatage de certificat signé – SCT. Ainsi, lorsque l’AC émet le certificat, elle y intègre cette/ces preuve(s). Il existe d’autres moyens de les obtenir, mais nous y reviendrons plus tard.
Système TLS/SSL actuel vs. TLS/SSL avec CT
Lorsqu’un navigateur se rend sur un site Web équipé d’un certificat SSL, il valide d’abord ce certificat sur la base d’une série de vérifications standard. Le projet CT propose que les navigateurs, qui jouent le rôle d’auditeurs dans son mécanisme, passent également en revue les preuves SCT incluses dans le certificat. CT fournit des indications quant au nombre de preuves qu’un certificat doit apporter en fonction de sa période de validité. Un navigateur vérifie donc les preuves SCT émises par les serveurs de journalisation de confiance. Pour être valide, une preuve SCT doit être émise par un serveur de journalisation dont le navigateur détient la clé publique, signe de sa fiabilité. Notons que dans ce cas, le navigateur n’effectue pas une vérification en temps réel auprès du serveur de journalisation. Aujourd’hui, seul Google Chrome prévoit d’appliquer le mécanisme CT. Le principal rôle du navigateur est d’inciter les AC à publier les certificats qu’elles comptent émettre et à y inclure une/des preuve(s) d’une telle publication.
Il est possible de développer et déployer des contrôleurs CT chargés de vérifier les certificats nouvellement ajoutés aux serveurs de journalisation. Cette surveillance a pour objectif de détecter toute émission non autorisée de certificat pour des sites Web particuliers.
Hormis leur intégration aux certificats SSL, les preuves SCT peuvent se présenter sous la forme d’extensions TLS ou d’« agrafages OCSP » (OCSP stapling). Ces méthodes nécessitent cependant une configuration avancée des serveurs Web.
CT constitue un bon moyen de rassembler tous les certificats SSL émis au sein d’un ou plusieurs référentiels publics. Si une AC décide de ne pas inscrire ses certificats SSL sur des serveurs de journalisation, libre aux navigateurs de leur faire confiance ou non. Dans la configuration CT initiale, prévue début 2015, le navigateur Google Chrome n’affichera plus la barre d’adresse verte pour les certificats EV n’intégrant pas les preuves SCT requises. D’aucun pourront rétorquer qu’au lieu de créer des référentiels publics, il est toujours possible d’examiner tous les certificats publiquement accessibles afin de détecter d’éventuelles émissions non autorisées. Toutefois, cette méthode prendra certainement plus de temps qu’une simple vérification des preuves de publication. Ainsi, la valeur intrinsèque de CT repose sur sa mise en application par le/les navigateur(s). En d’autres termes, en l’absence d’un vaste pool diversifié de contrôleurs CT, ce projet ne pourra pas tenir toutes ses promesses. Or, à l’heure de la rédaction de ce billet, Google Chrome est le seul grand navigateur s’engageant officiellement à prendre en charge CT. En outre, l’efficacité du système CT passe aussi par son intégration des applications PC/mobiles et des services Web présents dans l’écosystème SSL.
Étant donné qu’ils n’ont pas à passer tout le Web au crible, les contrôleurs CT sont appelés à détecter relativement plus rapidement les émissions non autorisées de certificats. Toutefois, tous les propriétaires de sites ne disposeront pas des ressources nécessaires au développement et à l’exécution de tels contrôleurs. Seules les grandes entreprises sont donc susceptibles d’en créer.
CAA, une alternative ?
En réalité, CT ne résout pas le problème des émissions non autorisées, mais facilite leur détection. D’autres solutions comme CAA (Certification Authority Authorization) recourent à des méthodes différentes pour réellement agir sur la prévention des émissions non autorisées. Dans CAA, un propriétaire de site Web spécifie dans les enregistrements DNS l’AC autorisée à émettre des certificats pour son site. Avant d’émettre un certificat, chaque AC participante doit donc vérifier qu’elle y est autorisée. Certes, ses détracteurs pourront toujours arguer qu’un tel système n’a rien de contraignant. Mais, si sa mise en application par les auditeurs/navigateurs suit un schéma similaire à celui de CT, alors CAA pourra lutter efficacement contre les émissions non autorisées de certificats.
Ce que Symantec peut faire pour vous
Nous envisageons de lancer une grande concertation avec tous nos clients SSL EV existants pour définir ensemble leurs exigences de confidentialité sur leurs certificats SSL EV internes. Ainsi, nous veillerons à ce que leurs données internes restent privées et n’apparaissent pas sur les registres CT publics. Quant aux certificats SSL EV externes, ils seront automatiquement publiés dans les registres CT d’ici février 2015, ce afin de maintenir l’affichage de la barre d’adresse verte dans Chrome. Enfin, la publication CT sera facultative sur les futurs certificats SSL EV. Pour en savoir plus, lisez l’article de notre base de connaissances sur le sujet.
Restez connecté
Pour ne rien manquer de l’actu sécurité et des derniers articles de nos blogs, suivez-nous sur Twitter ou sur Facebook. Pour des conseils et solutions aux problèmes utilisateurs les plus courants, rejoignez notre forum spécial support.