Part 4 · Lifecycle Management Intermediate 10 min read

SCEP : introduction au protocole et mise en œuvre en entreprise

SCEP (Simple Certificate Enrollment Protocol) est le protocole le plus largement déployé pour automatiser l'enrôlement de certificats sur les parcs d'équipements en entreprise, les plateformes MDM et les infrastructures réseau. Défini dans la RFC 8894, SCEP s'appuie sur HTTP et l'encapsulation de messages PKCS#7 pour permettre aux équipements de demander des certificats à une CA à l'aide d'un mot de passe de challenge partagé. Ce guide explique le fonctionnement de SCEP, le compare à ACME et EST, détaille son rôle dans les déploiements Intune, JAMF et SCCM, et indique quand envisager une migration vers une alternative moderne.

En bref

Type
Educational
Niveau
Intermediate
Chapitre
31 sur 34

Vue d'ensemble

Le Simple Certificate Enrollment Protocol (SCEP) est l'un des mécanismes les plus anciens et les plus largement déployés pour automatiser l'enrôlement des certificats numériques en environnement d'entreprise. Conçu à l'origine par Cisco à la fin des années 1990 et formalisé dans la RFC 8894 (septembre 2020), SCEP permet aux équipements réseau, aux terminaux mobiles et aux serveurs de demander et de recevoir des certificats auprès d'une autorité de certification sans intervention manuelle.

Malgré l'apparition de protocoles plus récents comme ACME et EST (Enrollment over Secure Transport), SCEP reste profondément ancré dans les infrastructures d'entreprise. C'est le protocole d'enrôlement par défaut de toutes les grandes plateformes de Mobile Device Management (MDM), notamment Microsoft Intune, JAMF Pro et SCCM/MECM. Des millions de routeurs, commutateurs, concentrateurs VPN et contrôleurs Wi-Fi reposent sur SCEP pour le cycle de vie de leurs certificats. Le remplacer ne se résume que rarement à un simple basculement.

Ce guide explique le fonctionnement de SCEP au niveau protocolaire, sa place aux côtés d'ACME et EST, son usage en entreprise dans les déploiements MDM, les risques de sécurité qu'il comporte et les cas dans lesquels une migration vers une alternative plus moderne est pertinente.

Qu'est-ce que SCEP et pourquoi compte-t-il encore ?

SCEP (Simple Certificate Enrollment Protocol) est un protocole de gestion de certificats qui permet aux équipements de demander et de récupérer automatiquement des certificats X.509 auprès d'une autorité de certification via HTTP comme couche de transport. Il a été conçu pour un cas d'usage précis : permettre aux équipements réseau et aux terminaux non assistés d'obtenir des certificats sans qu'un administrateur ait à générer manuellement une Certificate Signing Request (CSR), à la soumettre à une CA et à installer le certificat obtenu à la main.

Le protocole combine PKCS#7 (CMS) pour le chiffrement et la signature des messages, et PKCS#10 pour le format du CSR. Un secret partagé, appelé mot de passe de challenge (challenge password), authentifie la demande initiale d'enrôlement, alors que l'équipement ne dispose encore d'aucun certificat propre. Ce mécanisme d'amorçage est ce qui a rendu SCEP pratique pour le provisionnement à grande échelle d'équipements au début des années 2000, mais il est aussi à l'origine de ses limites de sécurité les plus marquantes.

SCEP reste pertinent aujourd'hui pour une raison simple : la base installée. Les réseaux d'entreprise comportent des dizaines de milliers d'équipements, des routeurs Cisco et points d'accès Aruba aux postes Windows gérés par Intune, configurés pour enrôler leurs certificats via SCEP. Les plateformes MDM ont standardisé l'utilisation de profils SCEP pour distribuer les certificats d'identité à leurs équipements gérés. Le protocole est intégré aux modèles de configuration, à l'infrastructure NDES (Network Device Enrollment Service) et aux runbooks opérationnels dans tous les secteurs.

Remplacer SCEP ne consiste pas seulement à déployer un nouveau protocole : il faut aussi mettre à jour chaque profil d'équipement, reconfigurer chaque connecteur MDM, reformer les équipes d'exploitation et valider que chaque terminal peut s'enrôler avec succès via le protocole de remplacement. Pour la plupart des organisations, il s'agit d'une migration sur plusieurs années, pas d'un projet de week-end.

SCEP, ACME et EST : comparaison des protocoles d'enrôlement

SCEP n'est pas le seul protocole d'enrôlement de certificats disponible. Comprendre comment il se compare à ACME et EST aide les organisations à choisir le protocole adapté à chaque cas d'usage.

Les différences clés tiennent au modèle de sécurité et à l'écosystème pris en charge. Le mot de passe de challenge de SCEP est un secret pré-partagé qui, s'il est intercepté ou réutilisé, permet un enrôlement non autorisé. EST repose sur une authentification mutuelle TLS, cryptographiquement plus robuste, mais qui nécessite que le client possède déjà un certificat ou une ancre de confiance. ACME élimine les secrets pré-partagés en validant le contrôle d'un domaine par des challenges automatisés, mais ce modèle ne fonctionne que lorsque l'entité qui s'enrôle contrôle un nom de domaine ou une zone DNS.

En pratique, la plupart des entreprises exécuteront plusieurs protocoles d'enrôlement en parallèle : ACME pour le TLS exposé sur le web, SCEP pour le MDM et les équipements réseau historiques, et EST pour les infrastructures plus récentes qui le prennent en charge.

SCEP

Défini dans la RFC 8894. Utilise HTTP comme transport avec une encapsulation des messages en PKCS#7/CMS. Authentifie l'enrôlement initial par un mot de passe de challenge partagé. Prend en charge l'enrôlement, le renouvellement et la récupération du certificat de la CA. Pas de support natif pour l'initiation de la révocation de certificats. Largement supporté par les équipements réseau, les plateformes MDM et Microsoft NDES. Adapté aux parcs d'équipements gérés, aux infrastructures réseau et à l'enrôlement piloté par MDM.

ACME

Défini dans la RFC 8555. Utilise HTTPS avec des charges utiles JSON et des signatures JWS. Authentifie via des challenges automatisés de validation de domaine (HTTP-01, DNS-01, TLS-ALPN-01). Conçu pour une émission et un renouvellement de certificats entièrement automatisés et zéro touche pour les serveurs web. Popularisé par Let's Encrypt. Adapté aux certificats TLS de serveurs web, aux charges de travail cloud-native et aux pipelines DevOps lorsque le contrôle du domaine peut être prouvé de manière programmatique.

EST (Enrollment over Secure Transport)

Défini dans la RFC 7030. Utilise HTTPS comme transport, avec des opérations RESTful. Authentifie via certificats client TLS, HTTP Basic/Digest, ou tout mécanisme d'authentification de la couche HTTP. Prend en charge l'enrôlement, le réenrôlement, la récupération du certificat de la CA et la découverte des attributs de CSR. Conçu comme un remplaçant moderne de SCEP, avec des propriétés de sécurité renforcées. Adapté aux environnements qui ont besoin d'un enrôlement authentifié sans recourir au modèle de validation de domaine d'ACME.

Fonctionnement de SCEP étape par étape

Un enrôlement SCEP suit une séquence définie d'échanges de messages HTTP entre le client (l'équipement qui demande un certificat) et le serveur SCEP (qui fait face à la CA).

1

Récupération du certificat de la CA (GetCACert)

Avant tout enrôlement, le client doit obtenir le certificat de la CA et, le cas échéant, le certificat de la RA (Registration Authority). Le client envoie une requête HTTP GET à l'URL du serveur SCEP avec l'opération `GetCACert`. Le serveur répond avec le certificat de la CA ou une chaîne de certificats au format PKCS#7. Le client s'en sert pour chiffrer les messages suivants, afin que seule la CA puisse les lire.

2

Interrogation des capacités de la CA (GetCACaps)

Le client interroge le serveur SCEP sur les capacités prises en charge en envoyant une requête `GetCACaps`. Le serveur répond par une liste en texte clair des algorithmes et fonctionnalités supportés, tels que `AES`, `SHA-256`, `POSTPKIOperation`, `Renewal` et `SCEPStandard`. Le client en déduit les algorithmes de chiffrement et de hashage à utiliser dans sa demande d'enrôlement.

3

Génération et encapsulation du CSR

Le client génère une paire de clés et construit une Certificate Signing Request PKCS#10 contenant le subject name souhaité, les subject alternative names et le mot de passe de challenge. Le client encapsule ensuite ce CSR dans une enveloppe PKCS#7 : le CSR est chiffré avec la clé publique de la CA (garantissant la confidentialité) et signé avec la clé privée nouvellement générée du client (apportant la preuve de possession). Cette double encapsulation, chiffrée puis signée, est une particularité distinctive de SCEP.

4

Demande d'enrôlement (PKCSReq)

Le client envoie le CSR encapsulé au serveur SCEP via une requête HTTP POST (ou GET avec des données encodées en base64) en utilisant l'opération `PKIOperation`. Le serveur SCEP désencapsule le message : il déchiffre l'enveloppe à l'aide de la clé privée de la CA, vérifie la signature du client comme preuve de possession et valide le mot de passe de challenge selon sa politique configurée.

5

Traitement de la requête par la CA

La CA (ou la RA) évalue la demande d'enrôlement. Selon la configuration, ce traitement peut être automatique (le mot de passe de challenge correspond et la demande est conforme à la politique : le certificat est émis immédiatement) ou manuel (la demande est mise en file d'attente pour approbation par un administrateur). En mode manuel, le serveur SCEP renvoie un statut `PENDING`.

6

Le client interroge périodiquement (CertPoll)

Si le serveur a répondu PENDING, le client envoie régulièrement des requêtes `GetCertInitial` pour vérifier si le certificat a été émis. L'intervalle d'interrogation est généralement défini dans le profil SCEP. Une fois que la CA a approuvé et signé le certificat, le serveur renvoie le certificat émis, encapsulé dans une enveloppe PKCS#7.

7

Installation du certificat

Le client reçoit le certificat signé, le valide par rapport au certificat de la CA obtenu à l'étape 1 et l'installe dans son magasin de certificats local ou son keystore. L'équipement dispose désormais d'un certificat d'identité valide et peut s'authentifier auprès des ressources réseau via mutual TLS, 802.1X, VPN ou Wi-Fi.

SCEP dans les déploiements MDM en entreprise

Le cas d'usage moderne le plus fréquent de SCEP est la distribution de certificats d'identité aux équipements gérés par les plateformes de Mobile Device Management. Voici comment les principales solutions MDM mettent en œuvre SCEP.

Dans ces trois plateformes, le flux d'enrôlement SCEP est transparent pour l'utilisateur final. L'agent MDM présent sur l'équipement gère automatiquement la génération de clés, la création du CSR, l'insertion du mot de passe de challenge et l'installation du certificat. Du point de vue de l'utilisateur, son équipement « dispose » simplement d'un certificat qui lui permet de se connecter au Wi-Fi d'entreprise, au VPN ou à la messagerie.

Microsoft Intune avec NDES

Intune utilise des profils SCEP pour pousser les instructions d'enrôlement de certificats vers les équipements Windows, iOS, Android et macOS gérés. Le flux d'enrôlement transite par NDES (Network Device Enrollment Service) de Microsoft, qui joue le rôle de RA entre l'équipement et la CA d'entreprise (généralement Microsoft AD CS). Intune génère un mot de passe de challenge à usage unique pour chaque demande d'enrôlement via l'Intune Certificate Connector, qui valide la demande avant de la transmettre à NDES. Cette architecture ajoute une couche de sécurité au SCEP brut en garantissant que chaque challenge est à usage unique et lié à un équipement spécifique.

JAMF Pro

JAMF utilise des profils SCEP pour enrôler les équipements macOS et iOS avec des certificats d'identité. Il peut se connecter à un serveur SCEP externe (tel que NDES ou l'endpoint SCEP d'une CA tierce) ou utiliser la CA intégrée de JAMF. Les profils SCEP sont embarqués dans les profils de configuration poussés lors de l'enrôlement des équipements, ce qui permet de provisionner les certificats dès la mise en service initiale.

SCCM / MECM

La plateforme on-premises de gestion des terminaux de Microsoft utilise des profils de certificats SCEP en lien avec NDES et AD CS. Le client Configuration Manager présent sur chaque équipement traite le profil SCEP, génère le CSR et communique avec NDES pour obtenir le certificat. Ce modèle est en production dans des milliers d'entreprises depuis plus d'une décennie et reste l'épine dorsale de la distribution de certificats on-premises.

Considérations de sécurité et durcissement

SCEP a été conçu à une époque où les périmètres réseau étaient bien définis et la gestion des équipements étroitement encadrée. Son modèle de sécurité reflète ces hypothèses, et plusieurs aspects exigent un durcissement attentif dans les environnements modernes.

Exposition du mot de passe de challenge

Le mot de passe de challenge est le seul mécanisme d'authentification pour l'enrôlement initial. Si un attaquant obtient un mot de passe de challenge valide, il peut enrôler un équipement malveillant et recevoir un certificat de confiance. Atténuez ce risque en utilisant des mots de passe à usage unique générés dynamiquement (comme le fait Intune), en imposant de courtes fenêtres d'expiration aux challenges, et en ne transmettant jamais de mot de passe de challenge sur un canal non chiffré.

Pas de chiffrement de transport natif

Les messages SCEP sont chiffrés au niveau applicatif (PKCS#7), mais le transport HTTP lui-même n'est pas chiffré par défaut. Si le contenu du CSR est protégé, les métadonnées comme l'adresse IP de l'équipement demandeur et le fait qu'un enrôlement est en cours restent visibles pour les observateurs du réseau. Déployez les endpoints SCEP derrière des reverse proxies HTTPS chaque fois que possible.

Authentification client peu robuste

Contrairement à EST, qui peut s'appuyer sur des certificats client TLS pour une authentification mutuelle, SCEP repose entièrement sur le mot de passe de challenge pour identifier le client lors de l'enrôlement initial. Il n'existe donc aucun lien cryptographique entre l'équipement qui s'enrôle et une identité préexistante. Le mot de passe de challenge est un token au porteur, et les tokens au porteur peuvent être dérobés.

Sécurité de la clé de la RA

Le certificat et la clé privée de la RA du serveur SCEP servent à déchiffrer chaque demande d'enrôlement. La compromission de cette clé permet à un attaquant de déchiffrer tous les messages d'enrôlement en transit et d'extraire les mots de passe de challenge ainsi que les données de preuve de possession de clé privée. Protégez les clés de la RA avec des modules matériels de sécurité (HSM) et restreignez l'accès au serveur SCEP.

Renouvellement de certificat sans ré-authentification

SCEP permet le renouvellement à l'aide d'un certificat existant valide qui signe la demande de renouvellement, en contournant le mot de passe de challenge. Pratique, mais cela signifie qu'un certificat compromis peut servir à en obtenir un nouveau indéfiniment. Imposez un nombre maximal de renouvellements et exigez un réenrôlement périodique avec un nouveau challenge pour les parcs d'équipements à longue durée de vie.

Quand migrer de SCEP vers ACME ou EST

SCEP n'est pas près de disparaître, mais certains signaux indiquent clairement qu'une organisation devrait commencer à planifier une migration pour des cas d'usage précis.

1

Certificats TLS de serveurs web

Si vous utilisez SCEP pour enrôler des certificats TLS de serveurs web, ACME est un meilleur choix. ACME offre une émission et un renouvellement entièrement automatisés avec une validation plus robuste, sans secrets partagés, et un support natif dans tous les principaux serveurs web et reverse proxies. La trajectoire de migration est bien documentée et des outils comme certbot et Caddy la rendent simple.

2

Infrastructures réseau modernes

Les équipements réseau plus récents de fournisseurs comme Cisco (IOS-XE), Aruba et Fortinet prennent de plus en plus en charge EST en parallèle de SCEP. Pour les nouveaux déploiements, privilégiez EST lorsque l'équipement le supporte. L'authentification mutuelle TLS d'EST élimine entièrement la faiblesse du mot de passe de challenge.

3

Architectures zero-trust

Si votre organisation met en place un modèle de sécurité zero-trust, l'authentification initiale faible de SCEP est mal adaptée. EST et ACME offrent tous deux une garantie d'identité plus forte lors de l'enrôlement, en cohérence avec les principes du zero-trust selon lesquels chaque assertion d'identité doit être vérifiée.

4

Préparation au post-quantique

La dépendance de SCEP à l'encapsulation de messages PKCS#7/CMS le lie aux algorithmes cryptographiques classiques. À mesure que les organisations préparent la transition de leur PKI vers les algorithmes post-quantiques, les protocoles comme EST, qui fonctionnent sur du TLS standard, seront plus simples à mettre à jour, puisqu'ils héritent des suites cryptographiques supportées par TLS.

5

Conservez SCEP là où il est ancré

Pour les déploiements MDM existants, les équipements réseau historiques qui ne supportent que SCEP et les environnements dans lesquels NDES est profondément intégré aux workflows opérationnels, continuer à utiliser SCEP avec un durcissement approprié est plus pragmatique que de forcer une migration. Concentrez les efforts de migration sur les nouveaux déploiements et les cas d'usage où l'amélioration de la sécurité justifie le coût opérationnel.

Bonnes pratiques pour les déploiements SCEP

1

Utilisez des mots de passe de challenge à usage unique

N'utilisez jamais de mots de passe de challenge statiques ou à longue durée de vie. Configurez votre serveur SCEP ou votre connecteur MDM pour générer un challenge unique pour chaque demande d'enrôlement, avec une fenêtre de validité courte (idéalement moins de 60 minutes). C'est la mesure de durcissement la plus impactante pour tout déploiement SCEP.

2

Déployez SCEP derrière HTTPS

Bien que les messages SCEP soient chiffrés au niveau applicatif, encapsuler l'ensemble de l'échange dans TLS apporte une défense en profondeur. Placez votre endpoint SCEP derrière un reverse proxy HTTPS pour vous prémunir contre les fuites de métadonnées et les attaques man-in-the-middle sur le transport HTTP.

3

Protégez les clés de la RA dans un HSM

La clé privée de la Registration Authority est le composant le plus sensible d'un déploiement SCEP. Stockez-la dans un module matériel de sécurité pour empêcher son extraction, et auditez régulièrement l'accès au serveur SCEP.

4

Appliquez des politiques de certificats et de clés

Configurez votre CA pour rejeter les requêtes SCEP qui ne respectent pas les standards de l'organisation : tailles de clé minimales (RSA 2048 ou plus, ECDSA P-256 ou plus), formats de subject name approuvés, durées de validité maximales et key usages requis. Ne vous reposez pas sur le client pour faire appliquer la politique.

5

Surveillez l'activité d'enrôlement

Journalisez chaque demande d'enrôlement SCEP, qu'elle aboutisse ou non. Levez des alertes sur les anomalies : pics d'enrôlement, requêtes depuis des plages d'IP inattendues, échecs répétés de validation de challenge, ou requêtes portant sur des subject names hors du schéma attendu. SCEP n'embarque pas d'audit natif : la surveillance doit donc être mise en place au niveau du serveur SCEP et de la CA.

6

Anticipez le renouvellement avant expiration

Le renouvellement SCEP exige que le certificat existant soit encore valide. Configurez les équipements pour déclencher le renouvellement bien avant l'expiration (au moins 20 % de la durée de vie du certificat restant). Si un certificat expire avant son renouvellement, l'équipement doit passer par un réenrôlement complet avec un nouveau mot de passe de challenge, ce qui implique généralement une intervention administrateur dans les environnements MDM.

7

Cloisonnez l'infrastructure SCEP

Placez votre serveur SCEP et votre infrastructure NDES dans un segment réseau dédié, avec des contrôles d'accès stricts. Seuls les équipements gérés et les connecteurs MDM doivent pouvoir atteindre l'endpoint SCEP. Exposer SCEP au reste du réseau ou à Internet augmente considérablement la surface d'attaque.

Comment nous aidons

Evertrust & SCEP : introduction au protocole et mise en œuvre en entreprise

Serveur SCEP natif avec durcissement entrepriseEvertrust PKI embarque un serveur SCEP natif qui prend en charge les mots de passe de challenge à usage unique générés dynamiquement, des politiques d'enrôlement configurables et un audit complet en standard, sans nécessiter d'infrastructure NDES dédiée.

Enrôlement multi-protocoleGérez les enrôlements SCEP, ACME, EST et CMP depuis une plateforme unique. À mesure que vous migrez des charges de travail de SCEP vers des protocoles modernes, Evertrust offre un plan de contrôle unifié, sans avoir à exploiter des infrastructures parallèles.

Visibilité complète sur le cycle de vie des certificatsEvertrust CLM suit chaque certificat enrôlé via SCEP au même titre que ceux émis par d'autres protocoles, vous offrant un inventaire complet avec surveillance des expirations, contrôles de conformité aux politiques et workflows de renouvellement automatisés.

Intégration MDM transparenteEvertrust se connecte à Microsoft Intune, JAMF et SCCM en tant qu'endpoint SCEP, en assurant une émission de certificats de niveau entreprise avec une application des politiques plus stricte que le NDES natif, tout en restant pleinement compatible avec les profils MDM existants.