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

NIS2 Compliance — Architecture Mapping

How the Connected Trade Network architecture maps to NIS2 Directive obligations, and what gaps remain.

The NIS2 Directive (EU 2022/2555) replaces NIS1 and significantly tightens cybersecurity requirements for “essential” and “important” entities across the EU. In the Netherlands it is implemented through the Cyberbeveiligingswet (Cbw), in force since mid-2025.

CTN is touched by NIS2 on multiple layers simultaneously:

  • Most CTN participants (logistics service providers, freight forwarders, shipping lines, terminal operators) are themselves NIS2-obliged entities under the Transport sector.
  • DIL as the orchestrator of CTN may itself fall under “Digital Infrastructure” / “ICT service management” as a B2B platform operator running shared sectoral infrastructure.
  • Several connected systems (KvK, eHerkenning, sectoral data spaces) are operated by entities that are themselves NIS2-obliged.

Even where DIL is not directly NIS2-obliged, participants must perform supply-chain security assessments on CTN under Article 21(2)(d). CTN must therefore be designed and operated such that participants can confidently include CTN in their own NIS2 attestations.

NIS2 imposes ten categories of risk-management measures (Article 21(2)) that registered entities must implement, plus governance, reporting, and supervision obligations. The ten measures are:

#Article 21(2) measureCTN relevance
aRisk analysis & information system security policiesCTN architecture risk register, security policies
bIncident handlingCTN-wide incident response, CSIRT-DSP coordination
cBusiness continuity & crisis managementRTO/RPO targets, DR plan, backup strategy
dSupply-chain securityStrongest CTN driver — participants assess CTN as supplier
eSecurity in acquisition, development, maintenanceSecure SDLC, code review, dependency management
fPolicies for assessing effectivenessSecurity testing, audit cadence, KPIs
gCyber hygiene & trainingOperations team training, secure ops practices
hCryptography policiesTLS 1.3, key management, rotation, JWS algorithms
iHuman resources, access control, asset managementRBAC, least privilege, joiner/mover/leaver flow
jMFA, secured comms, secured emergency commsM2M auth, MFA on admin surfaces, secure runbooks

In addition: 24-hour early warning to CSIRT, 72-hour incident notification, one-month final report; mandatory registration with the competent authority (RDI in NL); management body accountability with personal liability and training obligations.

Penalties: up to €10M or 2% of worldwide turnover for essential entities, €7M or 1.4% for important entities.

Architecture mapping — Article 21(2) measures

Section titled “Architecture mapping — Article 21(2) measures”

(a) Risk analysis and information security policies

Section titled “(a) Risk analysis and information security policies”
AspectStatusReference
Architecture-level risk register✅ Maintained11-risks
Security architecture documentation✅ Published08-crosscutting
Information Security Policy (DIL-level)⚠️ GapDIL to publish; CTN inherits
Acceptable Use / participant obligations⚠️ GapParticipation agreement to extend

Gap actions: DIL-level Information Security Policy needs to be published and referenced from this document. Participant obligations regarding security must be made part of the CTN participation agreement.

AspectStatusReference
Centralised logging (auth, authorisation, admin)🚧 In designAzure Monitor / Sentinel target
Detection rules for anomalous token use🚧 In designSentinel analytics rules
Incident response runbook (24h/72h/1M)⚠️ GapOwner: DIL operations
CSIRT-DSP communication template⚠️ GapAligned with NCSC-NL guidance
Participant notification mechanism⚠️ GapStatus page + email distribution

Gap actions: Document the 24h/72h/1M reporting flow (who decides, who signs, who notifies); set up the CSIRT-DSP contact path; define participant notification channels.

(c) Business continuity and crisis management

Section titled “(c) Business continuity and crisis management”
AspectStatusReference
RTO/RPO targets per component⚠️ GapTo define: ASR, IdP
Backup strategy (PostgreSQL, config, secrets)🚧 PartialAzure Flexible Server backups; Key Vault soft-delete
Multi-region / failover plan⚠️ GapActive/passive design needed
DR test cadence⚠️ GapAnnual full DR test recommended
Crisis communication plan⚠️ GapTogether with (b)

Gap actions: Define RTO/RPO per critical component, document Azure region-failover design, schedule the first DR test.

(d) Supply-chain security — strongest driver

Section titled “(d) Supply-chain security — strongest driver”

CTN’s role here is dual: CTN is supplier to its participants, and CTN itself depends on suppliers (Azure, KvK, KBO, VIES, GLEIF, eHerkenning, identity providers, etc.).

As supplier to participants:

AspectStatusReference
ISO 27001 / SOC 2 attestation⚠️ GapRoadmap item for DIL
Penetration test reports⚠️ GapAnnual pentest recommended
SBOM for ASR containers⚠️ GapGenerate via Syft in CI/CD
Vulnerability disclosure policy (security.txt)⚠️ GapPublish on every CTN-operated portal
Audit log accessibility for participants🚧 In designPer-participant audit trail export

As consumer of suppliers:

AspectStatusReference
Supplier inventory with criticality assessment⚠️ GapOwner: DIL operations
Contractual security requirements (DPA, SLA)🚧 PartialAzure: enterprise agreement
Continuous monitoring of supplier security posture⚠️ GapPeriodic review process

Gap actions: Pursue ISO 27001 certification, publish CVD policy with security.txt, establish SBOM generation in CI/CD, create supplier inventory.

(e) Security in acquisition, development, and maintenance

Section titled “(e) Security in acquisition, development, and maintenance”
AspectStatusReference
Secure SDLC defined🚧 PartialCode review, branch protection in GitHub
Dependency scanning in CI/CD🚧 PartialMaven dependency audit; expand to full SCA (e.g. OWASP Dependency-Check, Dependabot, Snyk)
Container image scanning⚠️ GapTrivy or Defender for Containers
Patching SLA for runtime / images⚠️ GapDefine max-age per severity
Secure coding standards✅ Documented08-crosscutting/ctn-coding-standards

Gap actions: Add container image scanning to CI/CD, define and document patching SLA, expand dependency scanning to SCA-grade tooling.

AspectStatusReference
Security KPIs / metrics⚠️ GapDefine: MTTR, patching latency, etc.
Internal audit cadence⚠️ GapAnnual minimum
External audit / pentest cadence⚠️ GapAnnual external pentest
Tabletop exercises⚠️ GapAnnual incident response drill

Gap actions: Define security KPIs and reporting cadence, schedule first external pentest and tabletop exercise.

AspectStatusReference
Operations team security training⚠️ GapAnnual baseline + role-specific
Phishing simulation⚠️ GapQuarterly
Awareness for management body⚠️ GapNIS2-specific board training is mandatory

Gap actions: Establish annual training programme for operations and management body (Cbw makes the latter a personal-liability matter for directors).

AspectStatusReference
TLS 1.3+ enforced on all interfaces✅ Constraint02-constraints
Encryption at rest (AES-256)✅ ConstraintAzure default; Key Vault for keys
JWS signing for VAD tokens✅ Implemented08-crosscutting
Key rotation policy⚠️ GapDocument per key type (token signing, TLS, secrets)
Cryptographic algorithm policy⚠️ GapApproved-algorithms list; deprecation procedure

Gap actions: Document key-rotation policy and cryptographic algorithm policy as architecture decisions (ADRs).

(i) Human resources, access control, asset management

Section titled “(i) Human resources, access control, asset management”
AspectStatusReference
RBAC enforced on all admin surfaces✅ Constraint02-constraints
Least privilege on Azure subscriptions🚧 In designRBAC review needed
Joiner/Mover/Leaver process for CTN ops staff⚠️ GapDIL HR + Entra ID lifecycle
Asset inventory (Azure resources, secrets, certificates)🚧 PartialAzure Resource Graph; needs curation
Privileged Access Management (PAM / PIM)⚠️ GapEntra PIM for Global Admin / Owner roles

Gap actions: Implement Entra PIM for elevated roles, define and document JML process, curate asset inventory.

(j) MFA, secured communications, secured emergency communications

Section titled “(j) MFA, secured communications, secured emergency communications”
AspectStatusReference
MFA on all admin / management surfaces✅ ConstraintKeycloak MFA / federated IdP MFA (per ADR-00008)
M2M authentication via OAuth 2.0 client credentials✅ Implemented08-crosscutting
Secured communications (TLS, JWS)✅ ImplementedAlready covered in (h)
Out-of-band emergency communication channel⚠️ GapE.g. Signal-based DIL ops bridge

Gap actions: Establish out-of-band crisis communication channel for DIL operations team.

CTN’s 2026 authorisation model — VAD validated locally at every data provider — keeps the trust surface small. From a NIS2 perspective two artefact categories are critical:

  1. JWKS endpoints for the VAD signing key are critical infrastructure. Compromise = ability to forge tokens. Hardening: HSM-backed signing keys (Azure Key Vault Managed HSM or equivalent), documented rotation procedure, monitoring of key-usage anomalies.

  2. Trust list management. Adding or removing parties from the association trust list is a privileged operation — requires its own change-control process equivalent to CA root operations.

Both points warrant their own ADRs.

When later phases introduce additional artefacts (an OPA-based policy engine, dual-token validation) those will bring their own NIS2 controls; design notes are parked under docs/_out-of-scope-2026/.

CategoryItems✅ Met🚧 Partial / In design⚠️ Gap
(a) Risk analysis & policies4202
(b) Incident handling5023
(c) Business continuity5014
(d) Supply-chain security8026
(e) SDLC security5122
(f) Effectiveness assessment4004
(g) Cyber hygiene & training3003
(h) Cryptography5302
(i) HR / access / assets5122
(j) MFA / secure comms4301
Totals4810929

Roughly 21% of NIS2 control points are met today, 19% partially in place, and 60% remain as gaps. This is consistent with a project still in active build-out and is not unusual at this stage; the value of this document is to make the gaps explicit and actionable.

Short term (Q3 2026):

  • Publish DIL-level Information Security Policy and reference from CTN docs.
  • Document 24h / 72h / 1M incident reporting flow with named owners.
  • Define RTO / RPO per critical component.
  • Publish vulnerability disclosure policy (security.txt) on all CTN portals.
  • Establish SBOM generation and container image scanning in CI/CD.

Medium term (Q4 2026 / Q1 2027):

  • Pursue ISO 27001 certification for DIL operations.
  • First external pentest and tabletop exercise.
  • Implement Entra PIM for elevated roles.
  • Document key-rotation and cryptographic algorithm policies as ADRs.
  • Establish supplier inventory and supplier-security review process.

Strategic positioning:

  • A complete NIS2-readiness pack (this mapping + ISO 27001 + pentest reports + SBOM + CVD policy) makes CTN a stronger commercial proposition to participants who feel NIS2 pressure themselves.
  • EU Directive 2022/2555 (NIS2)
  • Cyberbeveiligingswet (NL implementation, in force mid-2025)
  • ENISA NIS2 implementation guidance
  • NCSC-NL CSIRT-DSP reporting guidance
  • 02-constraints — Security and integration constraints
  • 08-crosscutting — Cross-cutting security concepts
  • 10-quality — Quality requirements
  • 11-risks — Risk register

In samenwerking met

Connected Trade NetworkConclusionData in LogisticsContargoInland Terminals GroupVan Berkel