22name : Encryption At Rest
33---
44
5- ## Why
5+ ### Encryption At Rest
6+
7+ #### Why
68
79Apache Kafka® ; does not directly support any form of encryption for data stored within a broker. This means that the contents
810of records sent to Apache Kafka are stored in the clear on the broker's disks. Anyone with sufficient access, such as a Kafka Administrator
@@ -20,7 +22,7 @@ data is now residing in the clear on the file systems of the service provider.
2022| :-----------------------------------------------------------------:|
2123| * Problem: Plain text records readable by the Kafka Admins* |
2224
23- ### Isn't TLS sufficient?
25+ ##### Isn't TLS sufficient?
2426
2527TLS encrypts the content _ in transit_ . It means that someone using a network sniffer cannot intercept what is being
2628sent over the wire between the application and the Kafka Broker. However, once the network packets arrive at the broker,
@@ -29,7 +31,7 @@ of the broker and in the clear when the data is written to the file system.
2931
3032TLS does not change the problem.
3133
32- ### Isn't storage volume encryption an answer?
34+ ##### Isn't storage volume encryption an answer?
3335
3436With storage volume encryption, the contents of the volume are encrypted with a single key. This approach provides some mitigations.
3537If the storage device is stolen or the storage device hijacked and attached to an attacker's computer, the attacker won't have
@@ -41,7 +43,7 @@ to be able to read the data, including the Kafka confidential records.
4143
4244Storage volume encryption doesn't really solve the problem.
4345
44- ### Can't the applications encrypt/decrypt the data?
46+ ##### Can't the applications encrypt/decrypt the data?
4547
4648It is possible for producing applications to encrypt data before sending it to Kafka, and for consuming applications to decrypt it
4749again. With this approach the brokers never possess the records in the clear and as they don't have encryption keys, they cannot
@@ -64,7 +66,7 @@ of a design flaw or bug are significant (confidentiality breach).
6466Having the applications encrypt/decrypt data themselves, whilst technically feasible, is not really a tenable solution
6567at the scale required for most enterprises.
6668
67- # Kroxylicious Topic Encryption
69+ #### Kroxylicious Topic Encryption
6870
6971The Kroxylicious Topic Encryption feature offers a solution to the problem. The proxy takes the responsibility
7072to encrypt and decrypt the messages. In this way, the Kafka Brokers never see the plain text content of
0 commit comments