Certificate-based authentication is a cornerstone of robust IPsec deployments. When administrators rely on X.509 certificates to authenticate peers and enforce policies, they must also manage what happens when those certificates become compromised, expired, or otherwise invalid. This article dives into how certificate revocation lists (CRLs) interact with IKEv2-based VPNs, the operational mechanics, deployment considerations and best practices to ensure secure, resilient IPsec tunnels.
Why certificate revocation matters in IKEv2 deployments
IKEv2 (Internet Key Exchange version 2) is widely used for establishing and maintaining secure IPsec tunnels. Unlike pre-shared keys, certificate-based authentication scales better for enterprise and multi-tenant environments because it permits centralized identity management through a public key infrastructure (PKI). However, certificates are not flawless: private keys can be leaked, certificates can be issued incorrectly, or users can leave an organization. Failing to revoke compromised certificates breaks security guarantees because an attacker in possession of a valid certificate and private key can impersonate an authorized peer.
CRLs are one of the fundamental mechanisms standardized by the X.509 PKI profile to communicate which certificates are no longer trusted. For IKEv2, proper CRL checking prevents revoked certificates from completing authentication and thereby blocks malicious peers from establishing IPsec SAs (Security Associations).
How CRLs work in the context of IKEv2/IPsec
At a high level, a Certificate Revocation List is a signed list published by a CA that enumerates certificate serial numbers and the time of revocation. IKEv2 endpoints (VPN gateways, clients, or RAs) validate peer certificates by checking:
- Certificate chain validity (including intermediate CAs)
- Validity period (notBefore / notAfter)
- CRL distribution points (CDP) or alternative revocation mechanisms like OCSP
- CRL signature and whether the CRL is fresh and unexpired
During the IKE_AUTH exchange (after IKE_SA establishment and optional EAP), peers present certificates. Implementations typically perform CRL checks either by consulting locally cached CRLs (downloaded from the CA) or by querying an online responder (OCSP). If a certificate’s serial number appears on a valid CRL, the authentication must fail.
CRL Distribution Points and retrieval
X.509 certificates commonly contain a CRL Distribution Point (CDP) extension indicating where the CRL can be downloaded, often as an HTTP(S) URL, LDAP entry, or file path. IKEv2 implementations may fetch CRLs on demand or on a scheduled basis. Because CRLs can be large and retrieval can add latency, practical deployments usually maintain a CRL cache and refresh it periodically.
- HTTP/HTTPS: Most common for public CAs and internal PKIs. Simple to fetch but requires the client to support HTTP retrieval and trust the URL.
- LDAP: Useful for directory-integrated PKIs, enables certificate and CRL distribution within corporate networks.
- Local file: Static environments may distribute CRLs via configuration management, preloading them on devices.
CRL lifecycle and performance considerations
CRLs are periodically reissued by CAs (e.g., every 24 hours, weekly). Each CRL contains a “thisUpdate” and “nextUpdate” field that indicates validity. Implementations must check the CRL’s signature and ensure the CRL is not stale before trusting its contents. Key performance considerations include:
- Latency — Fetching a fresh CRL during authentication can add delay. To avoid boot-time or connection-time stalls, many systems prefetch CRLs or use OCSP for low-latency responses.
- Bandwidth and size — Large CRLs (particularly for large CAs) increase download time and memory footprint. Delta CRLs can help by delivering only changes since the last base CRL.
- Cache consistency — Cached CRLs must be refreshed before their nextUpdate timestamp to avoid false acceptance of revoked certs.
- Availability — If CRL servers are unreachable, policy controls whether authentication fails closed (deny) or open (allow). Strong security prefers fail-closed but this requires robust CRL distribution infrastructure.
Delta CRLs and partitioning
Delta CRLs contain only newly revoked certificates since a specified base CRL, reducing size and traffic. Large enterprises may also partition PKI hierarchies (e.g., issuing CAs per region or purpose) so each CRL remains small and targeted. Proper configuration of CRL lifetimes and delta CRLs aids both security and performance.
Alternative: OCSP and stapling
Online Certificate Status Protocol (OCSP) is an alternative to CRLs that supports per-certificate status queries, typically faster and smaller in transit. OCSP stapling (TLS) allows servers to present a fresh OCSP response to clients, reducing latency and preserving privacy. For IKEv2/IPsec, OCSP is less universally supported than CRLs, but some implementations can integrate OCSP responders into the authentication path or use local proxies that convert OCSP to cached CRL entries.
Consider OCSP when low-latency, per-certificate checks are required, but ensure the responder is highly available and authenticated, and consider caching strategies to protect against temporary OCSP outages.
Implementation specifics: strongSwan, Openswan, Cisco, Windows
Different IPsec/IKEv2 implementations have their own behaviors and configuration knobs around CRL handling:
- strongSwan: Offers configurable CRL and OCSP verification. Administrators can configure
cacert,crl, and OCSP settings inipsec.conf/strongswan.conf. strongSwan supports CRL fetching via plugins and caching; policy can be set to require fresh CRLs. - Openswan/Libreswan: Supports CRL checks based on local CRL files. Typically administrators keep CRLs in /etc/ipsec.d/crls and automate updates.
- Cisco ASA / IOS-XE: Enterprise appliances can be configured to use CRLs and OCSP, with options for periodic CRL fetch intervals and local caching. They also allow CRL checking per peer/group policy.
- Windows RRAS and NPS: Windows Server PKI and RRAS support CRL checking and integrate with Active Directory and LDAP distribution points. Administrators can use Group Policy to control CRL caching behavior.
When deploying, review the vendor documentation for how CRLs are validated (e.g., whether the CA certificate must explicitly sign the CRL, how intermediate CA CRLs are handled) and test fail-open vs. fail-closed behavior under CRL unavailability scenarios.
Security considerations and attack vectors
CRLs must be collected and validated securely:
- Signed CRLs: Always verify the CRL signature against the issuing CA’s public key. Accepting unsigned CRLs is a critical vulnerability.
- Man-in-the-middle: Use HTTPS or signed CRLs to defend against tampering. Plain HTTP fetch of CRLs can be intercepted unless CRL signatures are verified.
- Replay attacks: A stale CRL replayed by an attacker might allow a revoked cert to be accepted. Check the CRL’s thisUpdate/nextUpdate timestamps and prefer fresh CRLs that are within allowed validity windows.
- Availability attacks: An attacker could try to make CRL servers unreachable, forcing endpoints into a fail-open posture. Design for high availability and consider prefetched CRL caches with conservative refresh policies.
Operational hardening
To reduce exposure to these risks, follow these practices:
- Deploy redundant CRL distribution points (multiple HTTP/HTTPS endpoints, mirrored LDAP servers).
- Use short CRL validity windows for high-risk environments, balanced against signaling overhead.
- Implement monitoring and alerting for CRL expiration and distribution failures.
- Consider combining CRLs with OCSP and caching strategies to maintain both timeliness and availability.
Maintenance and automation
Effective CRL management requires automation. Typical operational tasks include:
- Automating CRL generation and publication on the CA immediately upon revocation events.
- Automating CRL distribution to VPN gateways and edge devices via configuration management tools (Ansible, Puppet, Chef) or via standard CDP endpoints.
- Monitoring CRL freshness and setting alerts when a CRL is near its nextUpdate or failed to refresh.
- Testing revocation workflows periodically (issue a short-lived test certificate, revoke it, and verify that authentication fails) to validate the entire pipeline.
For enterprises, integrate CRL operations into incident response—revoking a certificate should be a repeatable runbook item that triggers CRL publication and verification throughout the VPN estate.
Practical checklist for secure IKEv2 CRL deployments
- Ensure every issued certificate contains appropriate CDP and/or OCSP AIA extensions.
- Configure VPN endpoints to validate CRLs and check CRL signatures.
- Decide and document fail-open vs. fail-closed policies in case of CRL retrieval failures.
- Implement redundant CRL distribution (multiple CDP endpoints, mirrored storage).
- Use delta CRLs or short validity intervals to reduce client-side stale windows.
- Automate CRL publishing immediately after any revocation event.
- Periodically test revocation and CRL fetching across all device types in your environment.
Conclusion
Certificate revocation lists are a proven and essential mechanism to maintain the integrity of certificate-based IKEv2/IPsec authentication. While CRLs introduce operational complexity—latency, availability and distribution concerns—these are manageable with careful PKI design, caching strategies, redundancy and automation. A well-planned CRL strategy prevents compromised certificates from being misused and preserves trust across your IPsec tunnels.
For detailed implementation guides and vendor-specific configuration examples, consult your IKEv2 solution’s documentation and your CA’s publication settings. If you manage a VPN fleet, incorporate CRL testing and monitoring into your routine security checks to ensure revocations propagate quickly and reliably to all endpoints.
Published by Dedicated-IP-VPN