@@ -819,27 +819,15 @@ If the VPN claims to support IPv6, it shall provide full, native IPv6 connectivi
The VPN shall use strong cryptography.
#### 5.2.14.2 MI-CRYPT-1: Pre-shared key mixing for post-quantum security
#### 5.2.14.3 MI-CRYPT-1: Use conformant cryptography
The VPN shall support mixing a preshared key (PSK) into the key derivation process to mitigate the risk of quantum-enabled decryption.
* Applicability: (optional, for requirements that depend on a feature)
* Reference: TR-CRYPT
* Objective: Confidentiality
* Preparation: Attach a debugger to the VPN client binding to cryptographic functions or capture traffic on all interfaces
* Activities: Create protocol trace when setting up a post-quantum safe tunnel or capture packet showing the encryption headers
* Verdict: Protocol trace or packet capture demonstrating that the PSK is incorporated into key derivation during tunnel establishment => PASS, otherwise FAIL
* Evidence: The protocol trace or packet capture demonstrating the mixing a preshared key into the key derivation process
#### 5.2.14.3 MI-CRYPT-2: Use conformant encryption
VPN encryption shall use cryptographic algorithms, keys, and parameters as described in EUCC Guidelines Cryptography v2 [\[3\]](#_ref_3) or demonstrably equivalent state-of-the-art mechanisms.
The product shall use cryptographic primitives and parameters as defined in Annex K.
* Reference: TR-CRYPT
* Objective: Confidentiality
* Preparation: Perform a factory reset or new installation of the VPN client.
* Activities: Start the VPN connection using the default configuration. Capture traffic on all interfaces.
* Verdict: The traffic pertaining to the VPN connection uses the algorithms, keys and parameters as described in EUCC guidelines or demonstrably equivalent state-of-the-art mechanisms.
* Verdict: The traffic pertaining to the VPN connection uses the primitives and parameters as described in Annex K.
* Evidence: Packet capture showing the encryption headers.
### 5.2.15 TR-LOGG: Logging and monitoring
@@ -1124,7 +1112,6 @@ This clause lists all the mitigations necessary to meet requirements for each se
1. CONF-3
1. CONF-4
1. CONF-5
1. CRYPT-2
1. DNSL-1
1. DNSL-2
1. DNSL-7
@@ -1173,7 +1160,6 @@ This clause lists all the mitigations necessary to meet requirements for each se
1. CONF-4
1. CONF-5
1. CRYPT-1
1. CRYPT-2
1. DNSL-1
1. DNSL-2
1. DNSL-3
@@ -1238,7 +1224,6 @@ This clause lists all the mitigations necessary to meet requirements for each se
1. CONF-4
1. CONF-5
1. CRYPT-1
1. CRYPT-2
1. DNSL-1
1. DNSL-2
1. DNSL-3
@@ -1295,7 +1280,6 @@ This clause lists all the mitigations necessary to meet requirements for each se
1. CONF-4
1. CONF-5
1. CRYPT-1
1. CRYPT-2
1. DNSL-1
1. DNSL-2
1. DNSL-3
@@ -1350,7 +1334,6 @@ TODO: update security analysis to better allow for this security profile's needs
1. CONF-2
1. CONF-3
1. CONF-4
1. CRYPT-2
1. DNSL-7 *
1. IPv6-1
1. LOGG-1
@@ -1389,7 +1372,6 @@ TODO: update security analysis to better allow for this security profile's needs
## X.1 State of the Art Cryptography (CRY-SOTA-unlisted)
This annex provides additional generic requirements around the use of state of the art cryptography. Annex K classifies cryptographic algorithm primitives as CRY-SOTA if they are listed in the ENISA ACM [REF] and are suitable for the implementation of supported security mechanisms of the product. This annex lists additional cryptographic algorithm primitives and schemes that are commonly existing on the market for VPNs that are classified as CRY-SOTA.
## X.2 Symmetric atomic primitives
### X.2.1 Block ciphers
No additional primitives.
### X.2.2 Stream ciphers
Block ciphers can be configured to behave like stream ciphers using counter (CTR) mode, as described in [ACM] clause 3.1. In addition, the stream ciphers included in Table X.2.2-1 are agreed as state of the art.
**Table X.2.2-1: State of the art stream ciphers.**
| ChaCha20 (RFC 8439) | 256 bit (key) | A modern stream cipher used in VPNs and TLS 1.3. Preferred for devices without AES hardware acceleration. Extending ChaCha20 with a larger 24-byte nonce (XChaCha20) to mitigate nonce collisions is included in this primitive. |
### X.2.3 Hash Functions
The additional hash functions are included in table X.2.3-1 are agreed as state of the art.
**Table X.2.3-1: State of the art hash functions.**
| ChaCha20-Poly1305 (RFC8439) | 256 bit(key)| Standard AEAD for TLS 1.3. Extending ChaCha20 with a larger 24-byte nonce (XChaCha20) to mitigate nonce collisions is included in this primitive. |
### X.3.6 Key protection
No additional schemes.
### X.3.7 Key derivation functions
The additional key derivation functions included in Table X.3.7-1 are agreed as state of the art.
**Table X.3.7-1: State of the art key derivation functions.**
| Blake2s (RFC 7693) | Key: 128 bit | Blake2s is used in modern VPN protocols. Blake supportes a keyed mode which makes it a suitable key derivation function. |
| Blake2b (RFC 7693) | Key: 256 bit | Blake2b is used in modern VPN protocols. Blake supportes a keyed mode which makes it a suitable key derivation function. |
| SipHash24 (https://eprint.iacr.org/2012/351) | Key: 128 bit | A pseudorandom random function (PRF) optimized for short inputs. Allowed use-cases for this PRF is limited to non-security critical use-cases, such as, for example, hash table creation and ID generation. For other use-cases, refere to other approved cryptographic functions. |
| Argon2id (RFC 9106, BSI-TR-02102-1) | (Output: 32 bytes, OpsLimit: 2, Memory: 19 MiB, Threats: 1) or higher | A resource intensive hash function to protect passwords. Can also be used as a KDF to derive secret keys from passwords. Generated entropy depends on the entropy of the password. |
| scrypt (RFC 7914) | (Cost: 2^17, block size 1024 bytes, parallelization 1) or higher | A resource intensive hash function to protect passwords. Can also be used as a KDF to derive secret keys from passwords. Generated entropy depends on the entropy of the password. |
### X.3.9 Key combiners
## X.4 Asymmetric atomic primitives
### X.4.1 RSA/Integer factorization
No additional primitives.
### X.4.2 Discrete logarithm in finite fields
No additional primitives.
### X.4.3 Discrete logarithm in elliptic curves
The additional elliptic curve parameters included in Table X.4.3-1 are agreed as state of the art.
> ![Note]
> It is noted that all mentioned curves in this sections are included in the ECDH umbrella and are thus usable for all applicable ECDH use cases.
**Table X.4.3-1: Additional elliptic curve parameters agreed as start of the art.**
| BSI TR-02102-2 "Cryptographic Mechanisms: Recommendations and Key Lengths: Use of Transport Layer Security (TLS)" (https://www.bsi.bund.de/dok/TR-02102-en) | 2026-01 | TLS is often used as a baseline for common tunneling protocols. |
| BSI TR-02102-3 "Cryptographic Mechanisms: Recommendations and Key Lengths – Use of Internet Protocol Security (IPsec) and Internet Key Exchange (IKEv2)" (https://www.bsi.bund.de/dok/TR-02102-en) | 2026-01 | |
| BSI TR-02102-4 "Cryptographic Mechanisms: Recommendations and Key Lengths – Use of Secure Shell (SSH)" | 2026-01 | SSH can act as tunnel, but mainly is used for node maintainance and deployments. |