Aller au contenu

EKU : Extended Key Usage

Gestion des clés

EKU : Extended Key Usage, usage étendu de la clé, extension des certificats X.509. « La liste des métiers pour lesquels un certificat a le droit de servir : authentifier un serveur, un client, signer du code, horodater », par analogie avec les catégories d'un permis de conduire : être autorisé à conduire une voiture n'a jamais permis de piloter un autobus, du moins tant que le contrôleur sait lire.

Définition : Extension décrite dans la RFC 5280 (identifiant d'objet 2.5.29.37). Elle contient des identifiants d'usage, par exemple serverAuth (1.3.6.1.5.5.7.3.1), clientAuth (1.3.6.1.5.5.7.3.2), codeSigning (1.3.6.1.5.5.7.3.3), emailProtection (1.3.6.1.5.5.7.3.4) ou timeStamping (1.3.6.1.5.5.7.3.8). Elle complète l'extension Key Usage, qui fixe les opérations cryptographiques permises (signature, chiffrement de clé…).

Contrôle : Le logiciel qui vérifie un certificat doit refuser un usage absent de la liste : un navigateur rejette un certificat de serveur dépourvu de serverAuth. Encore faut-il que chaque vérificateur le contrôle réellement, ce qui n'est pas toujours le cas des bibliothèques maison, toujours plus confiantes que les autres.

Abus en entreprise : Dans les services de certificats Active Directory, un modèle de certificat qui autorise l'authentification de client (ou l'usage universel « Any Purpose ») et laisse le demandeur choisir l'identité inscrite permet d'obtenir un certificat au nom d'un administrateur, puis de s'authentifier comme lui. Ces erreurs de configuration ont été popularisées en 2021 sous les noms ESC1 à ESC8.

Ce qui arrive si on s'en passe

Émettre des certificats sans EKU, ou avec un usage universel, permet de détourner un certificat obtenu pour un usage anodin vers un usage sensible : signer du code, s'authentifier comme client sur un VPN, se faire passer pour un serveur. Côté vérification, un service qui ne contrôle pas l'EKU accepte comme identité de client n'importe quel certificat issu de la même autorité, y compris celui d'un simple serveur web. Dans un annuaire Active Directory, un modèle de certificat mal réglé suffit à faire d'un utilisateur ordinaire un administrateur du domaine, sans exploiter la moindre faille logicielle.

Explication de la marmotte

Un certificat numérique sert de carte d'identité à un ordinateur ou à un logiciel. L'EKU est une mention inscrite dans ce certificat qui dit à quoi il a le droit de servir : prouver l'identité d'un site web, d'un utilisateur, signer un programme, etc. Un logiciel bien conçu refuse un certificat utilisé pour autre chose que ce qui est écrit. Si cette mention est absente ou trop large, un certificat prévu pour un usage simple peut être détourné pour un usage dangereux.

Où ce terme est utilisé

← Tout le glossaire