Le Simple Certificate Enrollment Protocol (SCEP) a été développé par Verisign pour Cisco au début des années 2000 afin de pouvoir utiliser une méthode simplifiée pour demander des certificats. Auparavant, il fallait générer manuellement une demande de certificat pour chaque appareil du réseau, la transmettre à une autorité de certification, puis réinstaller manuellement le certificat délivré sur l'appareil correspondant.
Une normalisation IETF n'a eu lieu que deux décennies plus tard avec le RFC 8894.
À l'origine, SCEP a été conçu pour fournir des certificats aux périphériques réseau tels que les commutateurs et les routeurs. Aujourd'hui, beaucoup plus de types d'appareils supportent la demande de certificat via SCEP.
Il peut s'agir, par exemple, de
- Smartphones et tablettes avec Apple iOS ou Android
- Ordinateur personnel avec Microsoft Windows depuis la version 8.1, ainsi que les versions correspondantes de Windows Server
- Installations téléphoniques
- Clients légers
- Routeurs, commutateurs, points d'accès
- Solutions de gestion des appareils mobiles comme AirWatch ou Microsoft Intune
- Il existe également pour Linux les implémentations client correspondantes
Les services de certificats Microsoft Actve Directory prennent en charge le protocole SCEP par le biais du service d'inscription des périphériques réseau (Network Device Enrollment Service, NDES) depuis Windows Server 2003.
Fonctionnement
Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.
Le problème fondamental par rapport à un membre du domaine Active Directory auquel les Demande de certificat via RPC/DCOM est que les appareils concernés ne disposent pas d'une identité gérée de manière centralisée qui pourrait être utilisée pour leur identification automatique, comme c'est le cas pour Kerberos dans Active Directory. En outre, tous les appareils devraient parler une interface standardisée permettant de demander des certificats auprès de n'importe quel produit d'autorité de certification.
Dans ce cas, le serveur SCEP agit comme un intermédiaire entre le terminal qui a besoin d'un certificat et l'autorité de certification.
Tout d'abord, un administrateur (dans le sens de : quelqu'un qui gère un terminal qui doit recevoir un certificat) se connecte au serveur SCEP avec son identifiant. Dans le cas du NDES, il s'agit d'un identifiant Active Directory. Celui-ci est nécessaire pour la demande de certificats sur un qui est configuré pour être utilisé sur le serveur NDES..
Le concept initial prévoyait que l'administrateur mentionné soit une personne physique qui effectue cette étape manuellement. Dans la pratique, cette étape est toutefois généralement déléguée à un logiciel de gestion (par exemple Mobile Device Management tel que VMware AirWatch ou Microsoft Intune).
Si le serveur NDES constate que l'administrateur est autorisé à demander des certificats, il lui fournit un mot de passe à usage unique (One Time Password, OTP).


Ce mot de passe à usage unique est maintenant déposé sur le terminal avec l'adresse du serveur NDES. L'appareil est maintenant en mesure de générer une paire de clés ainsi qu'une demande de certificat et de les envoyer au serveur NDES. Il s'authentifie avec le mot de passe à usage unique configuré précédemment.

Au lieu d'un mot de passe à usage unique, l'appareil peut s'identifier s'identifier avec un certificat existant, Le certificat peut être renouvelé s'il contient la même identité et s'il a été délivré par la même autorité de certification (le mode de renouvellement ne fonctionne que si l'autorité de certification qui a délivré les certificats à renouveler est membre de l'Union européenne). NTAuthCertificates est). De même, il serait possible, configurer un mot de passe statique, c'est-à-dire qui ne change pas, ou désactiver complètement l'exigence d'un mot de passe, Il est possible d'utiliser la fonction d'enregistrement, mais cela ne devrait pas être fait pour des raisons de sécurité.
Avant de générer la demande de certificat, une requête est envoyée au serveur NDES (opération GetCACaps) afin de déterminer les fonctions prises en charge par le serveur.

De même, le certificat d'autorité de certification (opération GetCACert) est demandé. Dans le cas du NDES, le certificat d'autorité de certification n'est toutefois pas le seul à être renvoyé. Certificat d'autorité d'enregistrement (RA), Il s'agit du certificat „CEP Encryption“ que l'autorité de certification a délivré au serveur NDES, le désignant ainsi comme son suppléant.

Une fois que le terminal a authentifié l'autorité de certification à l'aide du certificat de l'autorité d'enregistrement, une demande de certificat est créée au format PKCS#10. Celle-ci contient comme attribut (si utilisé) le mot de passe à usage unique.

La demande de certificat PKCS#10 est ensuite envoyée dans une Syntaxe du message cryptographique (CMS, une évolution de la norme PKCS#7) SignedData structure de données et signée, selon le cas, avec un certificat auto-signé (en cas de première demande) ou un certificat existant déjà délivré par la même autorité de certification (en cas de renouvellement), puis envoyée à l'autorité de certification.
Les informations confidentielles telles que le mot de passe à usage unique contenu dans la demande de certificat en tant qu'attribut „ChallengePassword“ sont cryptées avec la clé publique du certificat RA demandé précédemment. Pour cette raison, il n'est généralement pas possible de soumettre une demande de certificat générée manuellement via SCEP par un tiers, car celui-ci ne dispose généralement pas de la clé privée pour signer le message CMS (qui doit correspondre à la clé publique de la demande de certificat) et le mot de passe à usage unique doit déjà être saisi dans la demande de certificat lors de sa création.

Si l'authentification par mot de passe à usage unique ou par certificat a réussi, le serveur NDES envoie la demande de certificat par courrier électronique. RPC/DCOM à l'autorité de certification, où le certificat est délivré (ou la demande de certificat refusée). La demande de certificat PKCS#10 est alors emballée dans un nouveau message CMS (PKCS#7) et signée par le serveur NDES au moyen de son certificat RA („Enrollment Agent“), ce qui permet à l'autorité de certification de vérifier la présence d'une signature valable (malheureusement, cette vérification n'a pas lieu dans la configuration par défaut, elle doit être activée séparément). Cela empêche les demandes de certificat de passer par le service NDES directement contre l'autorité de certification.
Il s'agit en l'occurrence pas pour obtenir un Inscription à la demande de (EOBO) processus. En conséquence, les paramètres des agents d'enregistrement de certificats restreints sur l'autorité de certification n'ont aucun effet sur le processus.
Si le certificat a été émis, il est transmis au serveur NDES, qui délivre à son tour le certificat au terminal demandeur.

Variantes
NDES peut être configuré pour les modes de fonctionnement suivants :
- fonctionnement avec un mot de passe changeant (réglage par défaut) - chaque mot de passe ne peut être utilisé qu'une seule fois
- Fonctionnement avec un mot de passe statique - le mot de passe est le même à chaque fois, mais peut être modifié régulièrement grâce à une astuce
- Fonctionnement sans mot de passe - aucun mot de passe n'est demandé par NDES pour la demande de certificat (non recommandé)
Problèmes de sécurité
Lors de l'utilisation d'un service d'enregistrement pour des appareils en réseau, il convient de tenir compte des points suivants en matière de sécurité :
- L'authentification du protocole SCEP est relativement faible. La connaissance de l'identité du compte administrateur de l'appareil ou de l'un des mots de passe à usage unique donne droit à n'importe quelle demande de certificat. NDES peut également pour l'utilisation d'un mot de passe statique ou même à la Utilisation sans mot de passe ce qui est encore moins sûr.
- NDES n'est pas en mesure de vérifier les demandes de certificat par rapport à un ensemble de règles. Le modèle de certificat doit être configuré de manière à ce que l'identité contenue dans le certificat puisse être indiquée par le demandeur. En conséquence, les demandeurs autorisés obtiennent la signature de toutes les informations d'identité. Cette situation peut être résolue par l'utilisation d'un Modules de politique pour l'organisme de certification comme TameMyCerts mais il est fortement limité.
- Même si ce type de demande de certificat ne comporte pas de Inscription à la demande de (EOBO) et que, par défaut, les signatures des demandes de certificat envoyées par NDES à l'autorité de certification ne sont pas vérifiées une seule fois, les certificats d'autorité d'enregistrement du serveur NDES peuvent, dans certaines circonstances, être utilisés pour demander des certificats pour d'autres identités.
- La combinaison de ces facteurs peut permettre permettre à un attaquant de demander n'importe quel certificat via SCEP, Les utilisateurs peuvent également utiliser des outils de gestion des droits d'accès qui permettent, dans certaines circonstances, d'augmenter les droits d'accès au réseau jusqu'à la prise en charge de l'Active Directory.
Particularités
- L'implémentation Microsoft du protocole SCEP, appelée NDES, ne peut gérer qu'une seule combinaison d'autorité de certification et de modèle de certificat. Par conséquent, plusieurs serveurs NDES doivent être exploités s'il y a plusieurs cas d'utilisation qui doivent être servis par SCEP.
- Les certificats d'autorité d'enregistrement peuvent seulement avec Fournisseurs de services cryptographiques (CSP) et seules les clés RSA peuvent être utilisées pour ces derniers. Pour les certificats d'appareil demandés via NDES cette restriction ne s'applique pas.
- Une haute disponibilité pour NDES ne peut pas être mise en œuvre de manière judicieuse, car les mots de passe à usage unique ne peuvent pas être synchronisés entre plusieurs nœuds.
- L'installation d'un serveur NDES nécessite inutilement des droits d'administrateur d'entreprise, ce qui peut toutefois être contourné.
Conclusion
Avec SCEP et l'implémentation NDES de Microsoft, il est possible de distribuer automatiquement des certificats à des appareils qui ne disposent pas d'un identifiant Active Directory. Il peut s'agir d'appareils réseau comme les commutateurs ou les routeurs, mais aussi d'appareils mobiles comme les smartphones et les tablettes. Mais il est également possible, par exemple, d'équiper automatiquement les serveurs dans le cloud de certificats après leur installation.
Liens complémentaires :
- Configurer le Network Device Enrollment Service (NDES) pour qu'il fonctionne sans mot de passe
- Authentification au service d'enregistrement des périphériques réseau (NDES) avec un certificat existant (mode renouvellement)
- Configurer le service d'enregistrement des périphériques réseau (NDES) pour qu'il fonctionne avec un mot de passe statique
- Utiliser ses propres modèles de certificats d'autorité d'enregistrement (RA) pour le service d'enregistrement des périphériques réseau (NDES)
- Bases de la demande manuelle et automatique de certificats via Lightweight Directory Access Protocol (LDAP) et Remote Procedure Call / Distributed Common Object Model (RPC/DCOM)
- Configurer un modèle de périphérique pour le service d'enregistrement des périphériques réseau (NDES)
- Demande de certificat pour les systèmes Windows via le service d'enregistrement des périphériques réseau (NDES) avec Windows PowerShell
- Installer SSCEP pour Linux (Debian Buster) et demander des certificats via le service d'enregistrement des périphériques réseau (NDES)
Sources externes
- Active Directory Certificate Services (AD CS) : Service d'inscription des périphériques réseau (NDES) (Microsoft)
- Aperçu du protocole d'inscription simple au certificat (Cisco)
- Protocole simple d'inscription des certificats (Wikipedia)
- Vulnerability Note VU#971035 - Le protocole SCEP (Simple Certificate Enrollment Protocol) n'authentifie pas strictement les demandes de certificat (Université Carnegie Mellon)
- draft-nourse-scep-23 - Protocole simple d'inscription des certificats (Internet Engineering Task Force)
- RFC 7030 - Enrôlement par transport sécurisé (Internet Engineering Task Force)
- RFC 8894 - Protocole simple d'inscription des certificats (Internet Engineering Task Force)
Les commentaires sont fermés.