En cryptographie, une Autorité de Certification (AC ou CA pour Certificate Authority en anglais) est un tiers de confiance permettant d'authentifier l'identité des correspondants. Une autorité de certification délivre des certificats décrivant des identités numériques et met à disposition les moyens de vérifier la validité des certificats qu'elle a fournis.
Les services des autorités de certification sont principalement utilisés dans le cadre de la sécurisation des communications numériques via le protocole Transport Layer Security (TLS) utilisé par exemple pour sécuriser les communications web (HTTPS) ou email (SMTP, POP3, IMAP... sur TLS), ainsi que pour la sécurisation des documents numériques (par exemple au moyen de signatures électroniques avancées telles que PAdES pour des documents PDF, ou via le protocole S/MIME pour les e-mails).
Utilisation dans le domaine des communications web
Certains navigateurs web modernes intègrent nativement une liste de certificats provenant de différentes Autorités de Certification choisies selon des règles internes définies par les développeurs du navigateur.
Lorsqu'une personne physique ou morale souhaite mettre en place un serveur web utilisant une communication HTTPS sécurisée par TLS, elle génère une clé publique, une clé privée puis envoie à l'une de ces autorités de certification une demande de signature de certificat (en anglais CSR : Certificate Signing Request) contenant sa clé publique ainsi que des informations sur son identité (coordonnées postales, téléphoniques, e-mail…).
Après vérification de l'identité du demandeur du certificat par une autorité d'enregistrement (RA), l'Autorité de Certification signe le CSR grâce à sa propre clé privée (et non pas avec la clé privée de la personne donc) qui devient alors un certificat puis le transmet en retour à la personne qui en a fait la demande.
Le certificat ainsi retourné sous forme de fichier informatique est intégré dans le serveur web du demandeur. Lorsqu'un utilisateur se connecte à ce serveur web, ce serveur lui transmet à son tour le certificat fourni précédemment par l'Autorité de Certification.
Le navigateur web du client authentifie le certificat du serveur grâce au certificat de l'Autorité de Certification (intégré nativement dans certains navigateurs, cf. ci-dessus) qui l'a signé précédemment. L'identité du serveur est ainsi confirmée à l'utilisateur par l'Autorité de Certification.
Le navigateur web contacte ensuite l'Autorité de Certification concernée pour savoir si le certificat du serveur n'a pas été révoqué (= invalidé) depuis qu'il a été émis par l'Autorité de Certification via une demande OCSP.
Auparavant, certains navigateurs téléchargeaient régulièrement des listes de révocation (CRL : Certificate Revocation List) de la part des Autorités de Certification au lieu de contacter directement celles-ci par des demandes OCSP. Ce processus a été abandonné depuis car utilisant inutilement beaucoup de bande passante.
les données transmises entre le serveur web et le client n'ont pas été modifiées durant le transfert : intégrité par hachage des données.
les données proviennent bien du serveur web connu et qu'il ne s'agit pas d'un serveur web tiers tentant d'usurper l'identité de celui-ci.
les données ne peuvent pas être interceptées par un tiers car elles sont chiffrées.
Fonctionnement interne
L'autorité de certification (AC) opère elle-même ou peut déléguer l'hébergement de la clé privée du certificat à un opérateur de certification (OC) ou autorité de dépôt. L'AC contrôle et audite l'opérateur de certification sur la base des procédures établies dans la Déclaration des Pratiques de Certification. L'AC est accréditée par une autorité de gestion de la politique qui lui permet d'utiliser un certificat renforcé utilisé par l'OC pour signer la clé publique selon le principe de la signature numérique.