Aujourd’hui la question de confiance numérique se pose de plus en plus au sein des organisations et plus largement au sein de la société elle-même. Les enjeux autour de la protection des données sont au cœur de notre quotidien. Il est alors nécessaire de s’intéresser de près à la notion d’infrastructure à clés publiques, plus connue sous le nom de PKI (Public Key Infrastructure). Concrètement, la PKI permet aux usagers de communiquer entre eux de manière sécurisée grâce à une carte d’identité numérique, encore appelée Certificat Numérique.
Ces certificats numériques ont la particularité d’avoir une durée de vie limité et donc une date d’expiration. Se pose alors la problématique de la gestion de leur renouvellement. Si cette gestion ne s’avère pas maitrisée, des conséquences lourdes apparaissent, comme l’interruption de services. Le coût financier engendré par une interruption de service (plateforme de e-commerce indisponible) et une mauvaise image de marque en sont les premières conséquences.
C’est ainsi que pour éviter cela, des mécanismes tel que l’auto-enrôlement ont été mis sur pied afin que l’entité client puisse d’elle-même demander un nouveau certificat avant l’expiration de celui en cours d’utilisation. Ces mécanismes d’auto-enrôlement se font au moyen des protocoles et dans la suite de cet article nous parlerons de l’un d’entre eux à savoir SCEP (Simple Certificate Enrollment Protocol).
Qu’est-ce que le protocole SCEP ?
Simple Certificate Enrollment Protocol, de l’acronyme SCEP est un protocole simple d’enregistrement de certificat basé sur HyperText Transfert Protocol (HTTP). Il permet d’automatiser le déploiement de certificats X.509 sur les matériels réseau (routeur, serveur, téléphone, ordinateur, etc) dans le cadre d’une infrastructure à clés publiques existante. SCEP est également très utilisé dans le cadre des MDM à savoir Mobile Device Management pour l’auto-enrôlement dans un réseau d’appareils mobile (téléphone, tablette, etc). En particulier, les appareils iOS qui prennent en charge la gestion des appareils mobiles (MDM), donnant aux entreprises la possibilité de gérer le déploiement d’iPhone et d’iPad à l’échelle de toute l’organisation.
Comment mettre en place un Protocole SCEP ?
Le protocole SCEP fonctionnant sur une architecture client/serveur ou encore sur le modèle requête/réponse en plus d’être basé sur le protocole HTTP, la mise en place de ce dernier requière tout d’abord deux entités principales :
- Le client, qui est le demandeur de certificat
- Le serveur SCEP qui s’interface entre le client et l’autorité de certification (AC), c’est lui qui authentifie les requêtes clients, les transmet à l’AC et délivre le certificat signé par l’AC.Nous verrons par la suite les différentes étapes entre la requête du client et la réponse du serveur.
SCEP : comment ça marche ?
Pour bien comprendre le fonctionnement d’un serveur SCEP, nous allons procéder de la manière suivante :
Tout d’abord nous allons énumérer les principales étapes du processus d’enrôlement de certificat coté client
- Considérant que le client a déjà acquis le ou les certificats d’AC en amont, la communication va commencer par la vérification de l’identité de l’autorité de certification.
- Une fois l’AC authentifiée, le client peut à présent initiersa demande de certificat en générant une requête Certificate Signing Request (CSR) au format PKCS#10. La requête est ensuite envoyée de manière sécurisée à l’aide du mécanisme d’enveloppement CMS (Cryptographic Message Syntax) via une requête HTTP.
- La requête n’est pas directement transférée à l’AC de notre PKI mais elle est envoyée au serveur SCEP au format PKCS#7. Celui-ci va tout d’abord authentifier la requête de certificat au moyen d’un secret pré-partagé encore appelé ChallengePasswordou au moyen d’un certificat auto-signé et authentifié par l’AC.
- Une fois la requête du client authentifiée par le serveur SCEP, la demande CSR au format PKCS#10 est envoyée par ce dernier à l’AC, puis celle-ci est traitée. Si le serveur SCEP renvoie un message CertRepavec le statut PENDING, le client entre en mode d’interrogation en envoyant périodiquement un message CertPoll (polling) à l’AC jusqu’à ce que l’opérateur de l’AC approuve ou rejette la demande suivant sa politique.
- Concernant le renouvellement, si l’opération est prise en charge par l’AC et si la politique de l’autorité de certification le permet, un nouveau certificat avec de nouvelles dates de validité peut être émis même si l’ancien est toujours valide. Le client devra donc utiliser un message RenewalReqet le signer avec le certificat en cours de validité.
Tout ceci peut se résumer sur le schéma ci-dessous :
SCEP : quelques cas d’usage
Aujourd’hui le protocole SCEP est largement déployé pour différentes raisons :
- Diminuer considérablement la charge de travail administrative via le déploiement et renouvellement de certificat.
- Authentification par certificat simplifiée.
- Gestion des appareils mobiles(MDM) : Avec le Bring Your Own Device (BYOD) aujourd’hui SCEP est également utilisé pour le déploiement de certificat dans un réseau d’appareils mobiles (smartphone, tablette, etc). En particulier pour les systèmes iOS qui supportent déjà le protocole. Le processus d’enrôlement est alors légèrement différent, nous allons l’illustrer sur la figure ci-contre :
Comment bien utiliser le protocole SCEP ?
- Un environnement réseau bien configuré
- Une infrastructure à clés publiques fonctionnelle et bien configurée
- Un serveur SCEP qui implémente la norme RFC 8894 c’est-à-dire, intégrant les principales opérations prises en charge par le protocole SCEP à savoir : Distribution de clé publique de l’autorité de certification, Inscription/Enrolmentet délivrance du certificat, renouvellement du certificat, requête de certificat, requête CRL.
- La configuration d’une authentification client sur le serveur SCEP
Quelles sont les limites du Protocole SCEP ?
Au regard de notre réflexion, les mécanismes d’auto-enrôlement répondent à la problématique de gestion de certificats. Mais fort est de notre constat que lorsque la taille de l’organisation devient considérable et qu’on fait face à un réseau de plusieurs infrastructures à clés publiques internes et externes, le nombre de clients et donc de certificats devient très important. Les mécanismes d’auto-enrôlement comme le protocole SCEP, deviennent alors très limités. C’est ainsi qu’une solution CLM (Certificate Life Management) s’avère indispensable. Un outil de CLM offre de nombreux services dont l’automatisation de l’enrôlement d’un grand réseau de certificats.
En quoi une solution de gestion automatisée de certificats (CLM) est essentielle ?
Aujourd’hui, le besoin de simplifier le monitoring des certificats n’est plus une option pour les grandes entreprises. Comme nous l’avons vu précédemment, les solutions d’enrôlement automatique de certificats bien qu’étant utiles sont très limitée à elles seules. Il devient donc essentiel de rajouter à cela une solution de gestion de certificats tels que notre solution logicielle BerryCert. Conçue pour supporter des réseaux de très grandes taille, BerryCert s’adapte à votre réseau, facilite la synchronisation et l’administration de toutes vos PKI internes et externes, joue également le rôle de serveur SCEP dans votre infrastructure. En outre, si vos AC ne supportent pas le protocole SCEP (OpenSSL par exemple), vous n’avez pas à vous inquiéter parce que BerryCert s’interfacera entre les requêtes client et vos différentes autorités de certification comme illustré ci-dessous :
Comment migrer de PKI en toute sérénité ?
Que ce soit pour changer d’Autorité de Certification ou de technologie de PKI, migrer vos certificats est une procédure complexe qui nécessite d’être soigneusement planifiée. En effet, il est...
Infographie sur la conformité des certificats numériques publics des acteurs du traitement et distribution d’eau
Nous avons réalisé une analyse détaillée des certificats numériques TLS exposés publiquement, via notre solution BerryCert, auprès de 101 acteurs du traitement et distribution d’eau. Découvrez...
Infographie sur la conformité des certificats numériques publics du secteur bancaire
Nous avons réalisé un audit des certificats numériques TLS exposés publiquement, via notre solution BerryCert, auprès de 146 acteurs du secteur bancaire. Découvrez les résultats au travers de cette...