SCEP (Simple Certificate Enrollment Protocol)
SCEP (Simple Certificate Enrollment Protocol) is a protocol used to automate the enrollment, distribution, and renewal of digital certificates in large-scale environments.
It enables devices, such as laptops, mobile devices, network hardware, and servers, to request and receive certificates from a Certificate Authority (CA) securely without manual intervention.
Originally created by Cisco, SCEP is widely used in:
- Network infrastructure (routers, switches, firewalls)
- Mobile Device Management (MDM) (Microsoft Intune, MobileIron, Workspace ONE)
- VPN and Wi-Fi authentication
- Zero-trust and identity-based security models
- IoT devices that need certificates
What Problem Does SCEP Solve?
In enterprise networks, certificates are used for:
- Device authentication
- User authentication
- TLS encryption
- Wi-Fi 802.1X
- VPN access
- Secure email (S/MIME)
Without SCEP, certificates would need to be installed manually, which is:
- Time-consuming
- Error-prone
- Impossible at scale
SCEP enables devices to automatically generate keys, submit certificate requests, and obtain certificates securely.
How SCEP Works (Step-by-Step)
Below is the simplified SCEP workflow.
1. Device generates a key pair
The device creates:
- A private key (stored securely)
- A public key used in the certificate request
2. Device creates a Certificate Signing Request (CSR)
The CSR includes:
- Public key
- Device identity info
- Requested certificate type
3. Request is sent to the SCEP server
The device communicates with an SCEP endpoint, typically hosted on:
- Microsoft NDES (Network Device Enrollment Service)
- Cisco IOS
- Cloud PKI systems
4. Authentication (to prevent rogue requests)
Because SCEP is simple, authentication options include:
- SCEP challenge password (shared secret)
- One-time passwords
- Device identity validation via MDM
- Pre-authentication by Intune or Cisco ISE
5. CA reviews and issues the certificate
The Certificate Authority:
- Verifies the request
- Signs the certificate
- Sends it back to the device
6. Device installs the certificate
The device stores:
- The certificate
- The private key
- Intermediate CA chain
7. Automatic renewal
Before expiration, SCEP allows seamless renewal.
SCEP in Microsoft Intune
In Microsoft Intune, SCEP is used to deploy certificates to:
- Windows devices
- iOS/iPadOS
- Android
- macOS
Intune uses something called NDES (Network Device Enrollment Service) to bridge the gap between Intune and your internal Microsoft ADCS certificate authority.
The flow looks like this:
1. Intune tells the device: “Here’s where to get your certificate (SCEP URL).”
2. The device generates a key pair.
3. The device sends a CSR to NDES.
4. NDES forwards it to the CA.
5. CA issues a certificate.
6. Intune enforces renewal before expiration.
This enables:
- Wi-Fi authentication with EAP-TLS
- VPN authentication
- Zero-trust, certificate-based access
Security Considerations
SCEP is functional but old, so it has some limitations.
Issues:
- Weak authentication method (shared secret)
- No strong device identity validation unless enforced by MDM
- Limited cryptographic flexibility in early implementations
Mitigations:
- Always pair SCEP with an MDM (E.g., Intune).
- Use strong challenge passwords or one-time passwords
- Use network controls to restrict access to the SCEP URL
- Prefer modern alternatives when available
SCEP vs Modern Certificate Enrollment Options
SCEP remains common because it is:
- Lightweight
- Supported by nearly all devices
- Easy to integrate
When Should You Use SCEP?
SCEP is best when you need:
- Automated certificate deployment at scale
- Support across mixed OS environments
- Device-based certificate authentication
- Compatibility with older network equipment or IoT devices
- Integration with Intune or Cisco ISE
Summary
SCEP (Simple Certificate Enrollment Protocol) is a widely used protocol for automating certificate issuance and renewal across large networks. It allows devices to securely generate key pairs, submit certificate requests, and receive certificates from a CA with minimal manual involvement.
It is essential for:
- Wi-Fi and VPN authentication
- Mobile device certificate deployment
- Zero-trust security models
- Network infrastructure authentication