Skip to content

Commit 61eb5f7

Browse files
authored
docs(review): review neda
1 parent 4bd3790 commit 61eb5f7

File tree

1 file changed

+27
-31
lines changed

1 file changed

+27
-31
lines changed
Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,62 @@
11
---
22
meta:
33
title: Cryptographic details of Scaleway Key Manager
4-
description: This document details the cryptographic mechanisms of Scaleway Key Manager with adherence to ANSSI-PA-079 recommendations
4+
description: This page describes the cryptographic mechanisms used by Scaleway Key Manager, in accordance with ANSSI-PA-079 recommendations.
55
content:
66
h1: Cryptographic details of Scaleway Key Manager
7-
paragraph: This document details the cryptographic mechanisms of Scaleway Key Manager with adherence to ANSSI-PA-079 recommendations
7+
paragraph: This page describes the cryptographic mechanisms used by Scaleway Key Manager, in accordance with ANSSI-PA-079 recommendations.
88
tags: key-manager security
9+
categories:
10+
- identity-and-access-management
911
dates:
10-
validation: 2025-04-30
11-
posted: 2025-04-30
12+
validation: 2025-05-12
13+
posted: 2025-05-12
1214
---
1315

1416
## Cryptographic primitives
1517

1618
### Random number generation
1719

18-
#### Generating KEKs
20+
#### Key encryption key (KEK) generation
1921

20-
Scaleway Key Manager uses a **Cryptographically Secure Pseudorandom Number Generator (CSPRNG)**
21-
to generate both keying material for managed keys and cryptographic unique IVs.
22+
Scaleway Key Manager uses a **C**ryptographically **S**ecure **P**seudorandom **N**umber **G**enerator (CSPRNG) to generate both keying material for managed keys and cryptographically unique initialization vectors (IVs).
2223

23-
The CSPRNG relies on recent Linux provided ChaCha-based PRNG, which is seeded with high-entropy and unpredictable sources:
24-
- Timing variations from hardware events
25-
- True Random Number Generators (TRNGs), such as the `RDSEED`/`RDRAND` instructions on AMD64 family processors
24+
This CSPRNG is based on the ChaCha-based pseudorandom number generator provided by modern Linux kernels. It is seeded with high-entropy, unpredictable sources, such as:
25+
26+
- Timing variations from hardware events
27+
- True Random Number Generators (TRNGs), including the `RDSEED` and `RDRAND` instructions available on AMD64 processors
2628

2729
<Message type="note">
28-
Conforms to ANSSI-PA-079 R14.
30+
Complies with ANSSI-PA-079 Recommendation R14.
2931
</Message>
3032

31-
<Message type="warning">
32-
That section does not apply to key imported by users via the Bring Your Own Key (BYOK) mechanism.
33+
<Message type="important">
34+
The information in the section above does not apply to keys imported via the Bring Your Own Key (BYOK) mechanism.
3335
</Message>
3436

3537

3638
#### Customer-provided KEKs (BYOK)
3739

38-
Scaleway's Key Manager supports Bring Your Own Key (BYOK), so customer can import their
39-
own key material without relying on Scaleway to generate keys for them. In this case,
40-
the user has the responsibility to provide a strong key material.
40+
Scaleway Key Manager supports Bring Your Own Key (BYOK), allowing customers to import their own key material. In this model, Scaleway does not generate keys on behalf of the customer. Instead, the responsibility for generating strong key material lies with the user.
4141

42-
The provided material is not used as is. It is derived using the **HKDF algorithm with SHA2-256**
43-
as the hash algorithm, with secure random bytes injected as salt.
42+
Imported key material is is not used directly, but processed using the **HKDF algorithm with SHA-256** as the hash function, incorporating secure random bytes as salt.
4443

4544
### Symmetric encryption
4645

47-
Scaleway Key Manager uses **AES-256-GCM** (AES with 256-bit key in Galois Counter Mode) with
48-
authenticated associated data (AEAD) to encrypt and decrypt user-provided payload.
49-
50-
To reduce the risk of key overuse, plaintext payloads cannot exceed 64 KiB.
46+
Scaleway Key Manager uses **AES-256-GCM** (AES with a 256-bit key in Galois/Counter Mode) with authenticated associated data (AEAD) for encrypting and decrypting user payloads.
5147

52-
For each encryption operation, a 96-bit Initialization Vector (IV)
53-
is generated using the CSPRNG described in the previous section.
48+
To reduce the risk of key overuse, plaintext payloads are limited to a maximum size of 64 KiB. a unique 96-bit initialization vector (IV) is generated using the CSPRNG described in the section above.
5449

5550
<Message type="note">
56-
Conforms to ANSSI-PA-079 R1, R4, R12.
51+
Complies with ANSSI-PA-079 Recommendations R1, R4, and R12.
5752
</Message>
5853

59-
<Message type="warning">
60-
The Key Manager uses AES-256-GCM algorithm internally, but this does not constrain users to the same algorithm for their DEKs.
61-
We recommend using cryptographic libraries like Tink, which handle DEK management with robust and reviewed algorithms.
62-
Scaleway provides a Tink integrations for Go and Python, which is the preferred integration method.
63-
- [Tink Python integration](https://github.com/scaleway/tink-py-scwkms)
64-
- [Ting Go integration](https://github.com/scaleway/tink-go-scwkms)
54+
<Message type="important">
55+
While Key Manager internally uses AES-256-GCM, this does not restrict users to the same algorithm for their data encryption keys (DEKs).
56+
We recommend using cryptographic libraries like Tink, which handle DEK management with robust and reviewed algorithms.
57+
Scaleway provides Tink integrations for Go and Python, which is the preferred integration method.
58+
59+
- [Tink Python integration](https://github.com/scaleway/tink-py-scwkms)
60+
- [Ting Go integration](https://github.com/scaleway/tink-go-scwkms)
6561

6662
</Message>

0 commit comments

Comments
 (0)