Operating a multi-homed enterprise network with your own Autonomous System Number (ASN) and Provider-Independent (PI) IPv4/IPv6 address allocations delivers resilience across multiple Tier-1 transit providers. However, standard BGP path selection prioritizes the longest prefix match. If a third party erroneously or maliciously advertises a more-specific route (e.g. advertising a /24 out of your /22 supernet), global internet traffic will steer toward the rogue announcer.
Resource Public Key Infrastructure (RPKI) combined with Route Origin Validation (ROV) solves this systemic vulnerability by cryptographically binding an IP address block to an authorized Origin AS.
The Architecture: ROA Cryptography & RTR Protocol
RPKI implementation operates in two discrete planes:
- Out-of-Band Cryptographic Validation: Network operators author Route Origin Authorizations (ROAs) inside their Regional Internet Registry (RIR)—such as the RIPE NCC in the UK and Europe. ROAs are digitally signed using X.509 PKI certificates anchored to the IANA root trust anchors.
- Router-to-RPKI (RTR) Synchronization (RFC 8210): Border routers do not perform heavy cryptographic math directly on line cards. Instead, a lightweight internal cache validator (e.g., NLnet Labs Routinator or OpenBSD rpki-client) periodically fetches and verifies the global RPKI repository and feeds a clean validation table to edge routers over the RPKI-to-Router (RTR) protocol (TCP port 3323/8282).
RPKI Route Validation States & BGP Policy
When an eBGP border router receives an IP prefix advertisement from an upstream peer, it queries its local RTR cache and evaluates the route into one of three distinct RFC 6811 states:
RFC 6811 Route Origin Validation State Machine
| Validation State | Evaluation Criteria | Production Policy Action | Security Posture |
|---|---|---|---|
| Valid (RFC 6811) | Prefix and Origin AS match an active, cryptographically signed ROA | Accept and assign standard or elevated Local-Preference (e.g. 100/110) | Exceptional |
| NotFound / Unknown | No ROA has been signed for the covered IP prefix by the address holder | Accept with baseline Local-Preference (e.g. 100) to maintain global reachability | Suitable |
| Invalid (AS Mismatch) | ROA exists for prefix, but originates from an unauthorized Autonomous System | Drop unconditionally at ingress (`reject` / Local-Pref 0) | Not Recommended |
| Invalid (MaxLength Exceeded) | Origin AS matches, but advertised prefix is longer than ROA MaxLength permits | Drop unconditionally (prevents unauthorized sub-prefix de-aggregation) | Not Recommended |
Production Router Implementation: Dropping Invalids
Validating routes without dropping invalids provides zero operational security. Border routers must be configured to unconditionally reject routes that fail cryptographic origin or prefix-length checks:
# --- Juniper Junos: Define RTR Session & Validation Policy ---
routing-options {
validation {
group ROUTINATOR-CLUSTER {
session 10.0.100.1 { port 8282; }
session 10.0.100.2 { port 8282; }
}
}
}
policy-options {
policy-statement RPKI-IMPORT-FILTER {
term REJECT-INVALID {
from {
protocol bgp;
validation-database invalid;
}
then {
syslog;
reject; # Drop RPKI Invalids unconditionally
}
}
term ACCEPT-VALID {
from {
protocol bgp;
validation-database valid;
}
then {
validation-state valid;
next policy;
}
}
term ACCEPT-UNKNOWN {
from {
protocol bgp;
validation-database unknown;
}
then {
validation-state unknown;
next policy; # Permit un-signed space to avoid partitioning
}
}
}
}Model BGP Route Propagation, Prefix Filtering & RTBH DDoS Triggers
Simulate /24 and /48 route boundary acceptance across Tier-1 carriers, AS-Path prepending, and RFC 7999 RTBH blackholing:
Enterprise Implementation Checklist
Deploying RPKI across an enterprise autonomous system requires executing three synchronized phases:
- Phase 1: ROA Signing in RIR: Audit all allocated PI address space. Create matching ROAs for every actively announced route with exact prefix lengths matching your BGP network statements. Allow 24 hours for global RIR repository propagation.
- Phase 2: Validator Deployment: Deploy redundant local RPKI validators (such as Routinator instances) across geographically separated data centre clusters with monitoring on synchronization latency.
- Phase 3: Router Policy & Soft Enforcement: Connect edge routers to the validators via RTR. Log invalid routes for 14 days to confirm zero internal false positives before committing the drop policy (`reject invalid`) to production line cards.