Skip to content
Deze documentatie wordt actief uitgebreid — kom regelmatig terug.

DNS Record Validation

Alternative Authentication Method for CTN

DNS Record Validation provides a lightweight, low-assurance alternative to traditional business registry verification (LEI, KvK) for organization authentication in the Connected Trade Network. This method leverages existing DNS infrastructure to enable organizations to demonstrate domain control with minimal administrative overhead.

While legal registry-based verification provides strong assurance, it can be resource-intensive and may not be available for all organizations. DNS validation offers:

  • Low Friction: Requires only DNS record access
  • Automation-Friendly: Machine-verifiable with minimal manual oversight
  • Industry Precedent: Already used in SSL/TLS (ACME), email auth (SPF/DKIM/DMARC)
  • Quick Bootstrap: Enables rapid onboarding for pilot programs
  1. Association Register generates unique validation token for organization
  2. Organization publishes token in DNS under reserved namespace
  3. Association Register verifies DNS record via standard resolution
_ctn-register.example.org. IN TXT "ctn-validation-token-12345"

Alternative CNAME approach for delegated validation:

_ctn-register.example.org. IN CNAME _validated.ctn.network.
sequenceDiagram
    participant Org as Organization
    participant ASR as Association Register
    participant DNS as DNS System
    
    Org->>ASR: Request DNS validation
    ASR->>ASR: Generate unique token
    ASR-->>Org: Return token & instructions
    
    Org->>DNS: Create TXT record
    Note over DNS: _ctn-register.example.org<br/>TXT "ctn-validation-token-12345"
    
    Org->>ASR: Request verification
    ASR->>DNS: Query TXT record
    DNS-->>ASR: Return token
    ASR->>ASR: Validate token match
    
    alt Token matches
        ASR-->>Org: Validation successful
        ASR->>ASR: Mark as DNS-validated
    else Token mismatch
        ASR-->>Org: Validation failed
    end
  • Use cryptographically secure random generator
  • Minimum 128 bits of entropy
  • Base64url encoding for DNS compatibility
  • Include timestamp for expiration tracking
def validate_dns_record(domain: str, expected_token: str) -> bool:
"""Validate DNS TXT record for domain ownership."""
try:
# Query DNS for TXT records
records = dns.resolver.query(f"_ctn-register.{domain}", "TXT")
# Check each TXT record for token
for record in records:
if expected_token in str(record):
return True
return False
except dns.resolver.NXDOMAIN:
return False
  • Initial validation: Valid for 90 days
  • Renewal validation: Valid for 365 days
  • Automated monitoring for record removal
  • Grace period of 7 days for DNS issues
  • Classification: LOW ASSURANCE
  • Capability: Proves domain control only
  • Limitation: Does not verify legal entity identity
  • Risk: Temporary domain hijacking could enable impersonation
ThreatMitigation
DNS Cache PoisoningDNSSEC validation required
Subdomain TakeoverValidate apex domain only
Token ReuseTime-limited, single-use tokens
Social EngineeringClear labeling as low-assurance

Organizations validated via DNS receive restricted VAD claims:

{
"https://schemas.ctn.network/claims/validation/method": "DNS",
"https://schemas.ctn.network/claims/validation/assurance_level": "LOW",
"https://schemas.ctn.network/claims/validation/domain": "example.org",
"https://schemas.ctn.network/claims/validation/validated_at": "2025-01-15T10:00:00Z"
}
MethodAssuranceComplexityTimeCostUse Case
DNS ValidationLowLowMinutesFreeQuick onboarding, pilots
KvK RegistryHighMediumDays€€Dutch companies
LEI RegistrationHighHighWeeks€€€International corps
EORI VerificationHighMediumDays€€EU traders
eHerkenning (EH3/EH4)HighMediumMinutes–Days€€Dutch entities; optional, see below
Manual ReviewVariableHighWeeks€€€€Special cases

Optional. eHerkenning is not part of the 2026 baseline and is not required for any participant. It applies to Dutch entities only.

eHerkenning (EH3/EH4) is the Dutch government’s authorised-representation scheme. In CTN it is used as a step-up verification of organisational representation (a KvK cross-check), not as a domain-validation method and not as a login. The verification flow, evidence format, and security guardrails are described in Member Onboarding §3.6. It ranks as a HIGH-assurance identity verification alongside KvK and LEI; the resulting EHerkenning verification contributes to the participant’s trust level, which a data provider may consult when applying its local authorisation policy.

  • Manual token generation
  • Email-based instructions
  • Manual verification trigger
  • Limited to pilot participants
  • Self-service portal
  • Automated verification
  • API integration
  • Monitoring dashboard
  • Multi-domain validation
  • Subdomain delegation
  • DNSSEC enforcement
  • CAA record integration
dns_validation:
enabled: true
namespace: "_ctn-register"
token_length: 32
token_charset: "alphanumeric"
ttl_initial: 7776000 # 90 days
ttl_renewal: 31536000 # 365 days
grace_period: 604800 # 7 days
dnssec_required: false # Phase 3
allowed_record_types:
- TXT
- CNAME

Organizations validated via DNS:

  • Cannot access high-sensitivity data
  • Limited to read-only operations initially
  • Require additional verification for write access
  • Must transition to higher assurance within 12 months
  • RFC 8555: Automatic Certificate Management Environment (ACME)
  • RFC 7208: Sender Policy Framework (SPF)
  • RFC 6376: DomainKeys Identified Mail (DKIM)
  • RFC 7489: Domain-based Message Authentication (DMARC)
  • RFC 8659: DNS Certification Authority Authorization (CAA)

← Back to Building Blocks | ↑ Back to Index

In samenwerking met

Connected Trade NetworkConclusionData in LogisticsContargoInland Terminals GroupVan Berkel