Skip to content

2024 Q3 Review Beveiligingsvoorschriften #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Sep 20, 2024
64 changes: 55 additions & 9 deletions ch01_Inleiding.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,59 @@ De koppelvlakstandaarden dienen te leiden tot een maximum aan interoperabiliteit

## Digikoppeling standaarden

De Digikoppeling standaarden bestaan uit de volgende documenten (groene blokken zijn onderdeel van de Digikoppeling standaard):

*Specificatie van de koppelvlakstandaarden*

De koppelvlakspecificatie beschrijft de eisen die gesteld worden aan de adapters om interoperabel met elkaar te kunnen communiceren. De hele set informatie die tezamen nodig is voor een complete generieke Digikoppeling koppelvlakdefinitie bestaat uit:

- Interfacedefinitie.

- Beveiligingsvoorschriften en standaarden voor de transport laag, signing en encryptie (cipher suites).
De documentatie is als volgt opgebouwd:

![Overzicht van de onderdelen van de Digikoppeling Standaard, de standaard is onderverdeeld in normatieve en ondersteunende onderdelen](media/DK_Specificatie_structuur.svg "Digikoppeling Standaard")

<details>
<summary> Tekstalternatief </summary>
<ul>
<li>Digikoppeling Standaard
<ul>
<li> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/beheer/">DK Beheermodel en releasebeleid</a>* </li>
<li> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/actueel/">DK Overzicht Actuele Documentatie en Compliance</a>* </li>
<li> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/architectuur">DK Architectuur</a>*
<ul>
<li> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/idauth/">DK Identificatie en Authenticatie</a>*
<ul>
<li><i> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/gbachtcert/">Digikoppeling Gebruik en Achtergronden Certificaten</a></i>† </li>
</ul>
</li>
<li> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/beveilig/">DK Beveiligingsstandaarden en voorschriften</a>* </li>
<li>Koppelvlakstandaarden
<ul>
<li> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/wus/">DK Koppelvlakstandaard WUS</a>*
<ul>
<li><i><a href="https://gitdocumentatie.logius.nl/publicatie/dk/bpwus">Best-practice WUS</a></i>† </li>
</ul>
</li>
<li> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/ebms/">DK Koppelvlakstandaard ebMS2</a>*
<ul>
<li> <i><a href="https://gitdocumentatie.logius.nl/publicatie/dk/bpebms">Best-practice ebMS2</a></i>† </li>
</ul>
</li>
<li> <a href="https://gitdocumentatie.logius.nl/publicatie/dk/gb/">DK Koppelvlakstandaard Grote Berichten</a>*
<ul>
<li> <i><a href="https://gitdocumentatie.logius.nl/publicatie/dk/bpgb">Best-practice Grote Berichten</a></i>†</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i><a href="https://gitdocumentatie.logius.nl/publicatie/dk/watisdk/">Wat is Digikoppeling</a></i>†
</li>
</ul>
</li>
</ul>
<p>* Normatief document</p>
<p>† Ondersteunend document</p>
</details>

- Alle groene documenten vallen onder het beheer zoals geformaliseerd in het [[[?DK-Beheermodel]]].

- Alle goedgekeurde documenten zijn te vinden op de website van Logius: [[[DK-Doc]]].



5 changes: 2 additions & 3 deletions ch02_Identificatie.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Het organisatie identificatienummer (OIN) is het identificerende nummer voor org

De bron voor identificatie van organisaties is een erkend register dat is opgenomen in het OIN beleid. In de meeste gevallen is dit het Handelsregister. Het OIN kan worden opgezocht in het OIN Register.

Zie [[?Digikoppeling Identificatie-Authenticatie]]] voor meer informatie.

Het OIN register is bereikbaar op [*https://portaal.digikoppeling.nl/registers/*](https://portaal.digikoppeling.nl/registers/).
Zie [[[?DK-IDAuth]]] voor meer informatie.

Het OIN register is bereikbaar via het [[[DK-Portaal]]].
10 changes: 5 additions & 5 deletions ch03_PKIoverheid certificaten.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

| Standaarden | Status | Genoemd in |
| --- | --- | --- |
| PKIoverheid certificaten & CRL Profile | Verplicht | PKIoverheid Programma van Eisen [[PKI Policy]], [[rfc3447]]|
| PKIoverheid certificaten & CRL Profile | Verplicht | [[[PKIO-PvE]]], [[rfc3447]]|

## Wat is PKIoverheid?

### PKIoverheid

PKIoverheid is de public key infrastructure in Nederland waarmee PKIoverheid certificaten worden uitgegeven en toegepast conform afspraken die zijn vastgelegd in het PKIoverheid Programma van Eisen.

Zie ook het document [[?Digikoppeling-Cert]] en [[?PKIoverheid]]
Zie ook het document [[[?DK-gbachtcert]]] en [[[?PKIoverheid]]]

### PKIoverheid certificaat

Expand All @@ -26,17 +26,17 @@ Digikoppeling vereist dat de communicatiepartners PKIoverheid private root certi

| Nr | Voorschrift | Toelichting |
| --- | --- | --- |
| PKI001 | Gebruik OIN in subject serial number veld is verplicht | Dit is afgesproken met de TSPs in de Digikoppeling Overeenkomsten. Zij verstrekken PKIoverheid certificaten met het OIN in het subject.serialnumber field conform de OIN systematiek als het een certificaat betreft dat voor Digikoppeling wordt gebruikt. [[PKI CA]] |
| PKI001 | Gebruik OIN in subject serial number veld is verplicht | Dit is afgesproken met de TSPs in de Digikoppeling Overeenkomsten. Zij verstrekken PKIoverheid certificaten met het OIN in het subject.serialnumber field conform de OIN systematiek als het een certificaat betreft dat voor Digikoppeling wordt gebruikt. [[PKI-CA]] |
| PKI002 | PKIoverheid certificaat moet geldig zijn (het mag niet zijn verlopen of ingetrokken). | |
| PKI003<br>(WT004) | De geldigheid van het certificaat wordt getoetst met betrekking tot de geldigheidsdatum en de Certificate Revocation List(CRL) die voldoet aan de eisen van PKI-overheid. | |
| PKI004<br>(WT005) | De betreffende CRL dient zowel voor de versturende als ontvangende partij te benaderen zijn. | |
| PKI005 | Het certificaat moet zijn van het type PKIoverheid private root (PKI Staat der Nederlanden Private Root) <sup>1</sup>. <br><br><sup>1</sup> Uitzondering is wanneer er in het kader van certificaatbeheer op 1 server reden is om PKIO public root certificaten te gebruiken voor zowel koppeling als voor webserver. Hier dienen dan bilateraal afspraken over te worden gemaakt tussen de partijen.<br>(Bij gebruik van PKIO public root certificaten is een specifieke eis en aandachtspunt dat deze vanwege externe regelgeving altijd binnen drie tot vijf dagen vervangen moeten kunnen worden.)<br>Deze uitzondering is toegestaan tot 01-12-2022<br><br>Voor Serviceaanbieders en Servicegebruikers geldt dat zij uiterlijk per 1-1-2021 gebruik moeten maken van private root certificaten| PKIOverheid geeft aan dat voor machine-naar-machine (M2M) verkeer (zoals Digikoppeling) Private root certificaten gebruikt dienen te worden.|
| PKI005 | Het certificaat moet zijn van het type PKIoverheid private root (PKI Staat der Nederlanden Private Root) <br>Voor Serviceaanbieders en Servicegebruikers geldt dat zij vanaf 1-1-2021 gebruik moeten maken van private root certificaten| PKIOverheid geeft aan dat voor machine-naar-machine (M2M) verkeer (zoals Digikoppeling) Private root certificaten gebruikt dienen te worden.|

### PKIoverheid programma van eisen

1. Een PKIoverheid certificaat dient conform de eisen van het PKIoverheid PvE te worden uitgegeven door de Trust Service Providers (TSP).

1. De te gebruiken certificaten in de productie omgeving voldoen aan de eisen van PKIoverheid (PvE) en de inhoud van de identificerende velden in het certificaat dienen te voldoen aan de afspraken zoals gesteld in de functionele eisen in het document [[?Digikoppeling Identificatie-Authenticatie]]. Met het toepassen van PKIoverheid-certificaten die Digikoppeling compliant zijn, wordt hieraan voldaan.
1. De te gebruiken certificaten in de productie omgeving voldoen aan de eisen van PKIoverheid (PvE) en de inhoud van de identificerende velden in het certificaat dienen te voldoen aan de afspraken zoals gesteld in de functionele eisen in het document [[[?DK-IDAuth]]]. Met het toepassen van PKIoverheid-certificaten die Digikoppeling compliant zijn, wordt hieraan voldaan.

1. Certificaten voor productie wijken af van certificaten voor test doordat zij op verschillende ‘roots’ zijn gebaseerd, respectievelijk 'Staat der Nederlanden Root Private Root’ en ‘PKI TRIAL root’.

Expand Down
12 changes: 8 additions & 4 deletions ch04_TLS .md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# TLS
# TLS (Transport Layer Security)

Transport Layer Security (TLS) is een protocol dat een veilige versleutelde verbinding legt tussen systemen waardoor gegevens vertrouwelijk en compleet wordt uitgewisseld. Binnen de context van Digikoppeling verplicht TLS het gebruik van wederzijde authenticatie van de betrokken partijen, zodat alleen geautoriseerde systemen kunnen communiceren met elkaar.

## Standaarden

Expand All @@ -18,15 +20,17 @@
| TLS004 | Een Serviceaanbieder is <span class="underline">verplicht</span> TLS versie 1.2 te ondersteunen, daarnaast is het <span class="underline">aanbevolen</span> voor een Serviceaanbieder om TLS versie 1.3 te ondersteunen. Als een Serviceaanbieder TLS versie 1.3 aanbiedt dan is het aanbevolen voor Serviceafnemers om TLS 1.3 te gebruiken | NCSC geeft aan: “De beste bescherming wordt momenteel geboden door de meest recente TLS versie: TLS 1.3” Zie [[NCSC 2021]] |
||TLS 1.0 en TLS 1.1 zijn niet meer toegestaan|Niet meer toegestaan binnen de Digikoppeling standaard vanaf 10-9-2016 |
| TLS005 | Het is verplicht voor communicatie over HTTPS port 443 te gebruiken | Port 443 is de standaard poort voor HTTPS verkeer |
| TLS006 | Het is verplicht te voldoen aan de NCSC ICT-beveiligingsrichtlijnen voor TLS | Zie H3 van [[NCSC 2021]] |
| TLS006 | Het is verplicht te voldoen aan de NCSC ICT-beveiligingsrichtlijnen voor TLS | Zie H3 van [[NCSC 2021]] (*) |

(*) Zie https://www.ncsc.nl/documenten/publicaties/2023/september/18/maak-je-organisatie-quantumveilig voor specifieke adviezen NCSC/AIVD t.a.v. Post Quantum Cryptografie

## Onderbouwing

Zowel de Digikoppeling-koppelvlakstandaard ebMS2 als de Digikoppeling-koppelvlakstandaard WUS en Digikopppeling-koppelvlakstandaard Grote Berichten schrijven het gebruik voor van (tweezijdig) TLS om de berichtenstroom te beveiligen. Het protocol TLS heeft betrekking op het communicatiekanaal. De Digikoppeling-koppelvlakstandaarden stellen deze eis dus aan de transportlaag en aan de authenticatie van organisaties.

In Digikoppeling is ervoor gekozen om PKIoverheid certificaten te gebruiken op het niveau van het communicatiekanaal (TLS) om de directe communicatiepartners te authenticeren. TLS kan niet toegepast worden om end-to-end authenticatie uit te voeren in een multi-hop (voor ebMS2) omgeving; zie daarvoor berichtniveau beveiliging in de [[?Digikoppeling Architectuur]] documentatie.
In Digikoppeling is ervoor gekozen om PKIoverheid certificaten te gebruiken op het niveau van het communicatiekanaal (TLS) om de directe communicatiepartners te authenticeren. TLS kan niet toegepast worden om end-to-end authenticatie uit te voeren in een multi-hop (voor ebMS2) omgeving; zie daarvoor berichtniveau beveiliging in de [[[?DK-Architectuur]]] documentatie.

## Overwegingen

Het NCSC adviseert om TLS altijd te configureren op basis van [[NCSC 2021]] voor Transport Layer Security].
Het NCSC adviseert om TLS altijd te configureren op basis van [[NCSC 2021]] voor Transport Layer Security.

7 changes: 4 additions & 3 deletions ch05_Cipher suites voor TLS, signing en encryptie .md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

| Nr | Voorschrift | Toelichting |
| --- | --- | --- |
| TLSCIPH001 | De gebruikte TLS cryptografische algoritmen moeten de NCSC classificatie ‘voldoende’ of ‘goed’ hebben. TLS cryptografische algoritmen met de NCSC classificatie ‘uit te faseren’ dienen zo spoedig mogelijk maar uiterlijk 01-01-2021 te worden uitgefaseerd. | Zie [[NCSC 2021]] |
| TLSCIPH001 | De gebruikte TLS cryptografische algoritmen moeten de NCSC classificatie ‘voldoende’ of ‘goed’ hebben. TLS-cryptografische algoritmen die de NCSC-classificatie ‘uit te faseren’ hebben, zijn sinds 1 januari 2021 niet meer toegestaan. | Zie [[NCSC 2021]] |

## XML Signing

Expand Down Expand Up @@ -39,5 +39,6 @@ In plaats daarvan is het dus wenselijk om gebruik te maken van een algoritme dat
| --- | --- | --- |
| ENC001 | Indien er gebruik wordt gemaakt van XML encryption op payload niveau dient de FIPS 197 standaard (AES) te worden gebruikt. | [[AES]] |
| ENC002 | Encryptie conform XML versleuteling [[xmlenc-core]] is verplicht | [[xmlenc-core]] |
| ENC003 | De ondersteunde data encryption (data versleuteling) algoritmen zijn: 3DES AES128 AES256 | [[xmlenc-core]] (Gebruik GCM mode indien beschikbaar anders CBC mode in combinatie met een signature) |
| ENC004 | Het Key transport algorithm maakt gebruik van de RSA-OAEP algoritmen. | [[rfc5756]], [xmlenc-core], [[rfc5756]]|
| ENC003 | De ondersteunde data encryption (data versleuteling) algoritmen zijn: _3DES(*)_ AES128 AES256 | [[xmlenc-core]] (Gebruik GCM mode indien beschikbaar anders CBC mode in combinatie met een signature) <BR><BR>(*) 3DES Encryptie - 2024:Verouderd, Vanaf 2025:Niet Gebruiken.<BR> 3DES Decryptie - Toegestaan voor Legacy applicaties; |
| ENC004 | Het Key transport algorithm maakt gebruik van de RSA-OAEP algoritmen. | [[rfc5756]], [[xmlenc-core]], [[rfc5756]]|

4 changes: 4 additions & 0 deletions media/DK_Specificatie_structuur.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.