You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`identity`| None | N/A | N/A | N/A | Resources written as-is without encryption. When set as the first provider, the resource will be decrypted as new values are written.
145
-
`secretbox`| XSalsa20 and Poly1305 | Strong | Faster | 32-byte | A newer standard and may not be considered acceptable in environments that require high levels of review.
146
-
`aesgcm`| AES-GCM with random nonce | Must be rotated every 200k writes | Fastest | 16, 24, or 32-byte | Is not recommended for use except when an automated key rotation scheme is implemented.
147
-
`aescbc`| AES-CBC with [PKCS#7](https://datatracker.ietf.org/doc/html/rfc2315) padding | Weak | Fast | 32-byte | Not recommended due to CBC's vulnerability to padding oracle attacks.
148
-
`kms v1` | Uses envelope encryption scheme: Data is encrypted by data encryption keys (DEKs) using AES-CBC with [PKCS#7](https://datatracker.ietf.org/doc/html/rfc2315) padding (prior to v1.25), using AES-GCM starting from v1.25, DEKs are encrypted by key encryption keys (KEKs) according to configuration in Key Management Service (KMS) | Strongest | Slow (_compared to `kms v2`_) | 32-bytes | Simplifies key rotation, with a new DEK generated for each encryption, and KEK rotation controlled by the user. [Configure the KMS V1 provider](/docs/tasks/administer-cluster/kms-provider#configuring-the-kms-provider-kms-v1).
149
-
`kms v2` | Uses envelope encryption scheme: Data is encrypted by data encryption keys (DEKs) using AES-GCM, DEKs are encrypted by key encryption keys (KEKs) according to configuration in Key Management Service (KMS) | Strongest | Fast | 32-bytes | The recommended choice for using a third party tool for key management. Available in beta from `v1.27`. A new DEK is generated at startup and reused for encryption. The DEK is rotated when the KEK is rotated. [Configure the KMS V2 provider](/docs/tasks/administer-cluster/kms-provider#configuring-the-kms-provider-kms-v2).
150
-
{{< /table >}}
141
+
The following table describes each available provider:
142
+
143
+
<!-- localization note: if it makes sense to adapt this table to work for your localization,
144
+
please do that. Each sentence in the English original should have a direct equivalent in the adapted
145
+
layout, although this may not always be possible -->
146
+
<table class="complex-layout">
147
+
<caption style="display: none;">Providers for Kubernetes encryption at rest</caption>
148
+
<thead>
149
+
<tr>
150
+
<th>Name</th>
151
+
<th>Encryption</th>
152
+
<th>Strength</th>
153
+
<th>Speed</th>
154
+
<th>Key length</th>
155
+
</tr>
156
+
</thead>
157
+
<tbody id="encryption-providers-identity">
158
+
<!-- list identity first, even when the remaining rows are sorted alphabetically -->
<td colspan="4">Resources written as-is without encryption. When set as the first provider, the resource will be decrypted as new values are written. Existing encrypted resources are <strong>not</strong> automatically overwritten with the plaintext data.
168
+
The <tt>identity</tt> provider is the default if you do not specify otherwise.</td>
169
+
</tr>
170
+
</tbody>
171
+
<tbody id="encryption-providers-that-encrypt">
172
+
<tr>
173
+
<th rowspan="2" scope="row"><tt>aescbc</tt></th>
174
+
<td>AES-CBC with <a href="https://datatracker.ietf.org/doc/html/rfc2315">PKCS#7</a> padding</td>
175
+
<td>Weak</td>
176
+
<td>Fast</td>
177
+
<td>32-byte</td>
178
+
</tr>
179
+
<tr>
180
+
<td colspan="4">Not recommended due to CBC's vulnerability to padding oracle attacks. Key material accessible from control plane host.</td>
181
+
</tr>
182
+
<tr>
183
+
<th rowspan="2" scope="row"><tt>aesgcm</tt></th>
184
+
<td>AES-GCM with random nonce</td>
185
+
<td>Must be rotated every 200,000 writes</td>
186
+
<td>Fastest</td>
187
+
<td>16, 24, or 32-byte</td>
188
+
</tr>
189
+
<tr>
190
+
<td colspan="4">Not recommended for use except when an automated key rotation scheme is implemented. Key material accessible from control plane host.</td>
191
+
</tr>
192
+
<tr>
193
+
<th rowspan="2" scope="row"><tt>kms</tt> v1</th>
194
+
<td>Uses envelope encryption scheme with DEK per resource.</td>
195
+
<td>Strongest</td>
196
+
<td>Slow (<em>compared to <tt>kms</tt> version 2</em>)</td>
197
+
<td>32-bytes</td>
198
+
</tr>
199
+
<tr>
200
+
<td colspan="4">
201
+
Data is encrypted by data encryption keys (DEKs) using AES-GCM;
202
+
DEKs are encrypted by key encryption keys (KEKs) according to
203
+
configuration in Key Management Service (KMS).
204
+
Simple key rotation, with a new DEK generated for each encryption, and
205
+
KEK rotation controlled by the user.
206
+
<br />
207
+
Read how to <a href="/docs/tasks/administer-cluster/kms-provider#configuring-the-kms-provider-kms-v1">configure the KMS V1 provider</a>.
<td colspan="4">Uses relatively new encryption technologies that may not be considered acceptable in environments that require high levels of review. Key material accessible from control plane host.</td>
239
+
</tr>
240
+
</tbody>
241
+
</table>
151
242
152
243
Each provider supports multiple keys - the keys are tried in order for decryption, and if the provider
153
244
is the first provider, the first key is used for encryption.
0 commit comments