KCSA practice question 11 of 15

Why does the default base64 encoding that Kubernetes applies to the contents of Secret resources provide inadequate protection?

Full set: 59 questions
Answer options
A: Base64 encoding is vulnerable to brute-force attacks.
B: Base64 encoding relies on a shared key which can be easily compromised.
C: Base64 encoding does not encrypt the contents of the Secret, only obfuscates it. Correct answer
D: Base64 encoding is not supported by all Secret Stores.
Correct Answer:
C. Base64 encoding does not encrypt the contents of the Secret, only obfuscates it.
Explanation

Base64 is an encoding scheme, not an encryption algorithm. Its purpose within Kubernetes is to ensure that binary data (like certificates or tokens) can be safely represented as text within YAML or JSON manifests. This process is easily reversible by anyone with access to the encoded data, offering no confidentiality. The Kubernetes documentation explicitly states that base64 encoding is used and that this is not a method of encryption. Therefore, it only obfuscates the data, making it unreadable at a glance, but provides no actual security protection against unauthorized viewing.

Why Incorrect

A. Brute-force attacks are used to guess keys or passwords for cryptographic algorithms. Base64 is a keyless, deterministic encoding scheme, not a target for such attacks.
B. Base64 encoding is an algorithm that does not use any keys, shared or otherwise. It is a standard method for representing binary data in an ASCII string format.
D. This statement addresses compatibility, not security. The question is about the inadequacy of protection, and base64 is a fundamental part of the Kubernetes Secret API object definition itself.

References

1. Kubernetes Documentation

"Secrets": In the section "Working with Secrets

" the documentation clarifies the nature of the data storage. It states

"The data for a Secret must be base64-encoded... Note: The data is stored in etcd as base64-encoded. This is an encoding and not an encryption method." This directly supports that base64 only obfuscates

not encrypts.

Source: Kubernetes Authors

Secrets

Kubernetes Documentation

kubernetes.io/docs/concepts/configuration/secret/#working-with-secrets.

2. Cloud Native Computing Foundation (CNCF)

"Cloud Native Security Whitepaper": This paper discusses Kubernetes security best practices. In Section 4.2

"Secrets Management

" it states

"By default

Kubernetes secrets are stored as unencrypted base64-encoded strings in etcd." This confirms that the default state is unencrypted.

Source: CNCF Security SIG

Cloud Native Security Whitepaper

June 2020

Page 21

Section 4.2. Available at https://github.com/cncf/tag-security/blob/main/security-whitepaper/CNCFSecurityWhitepaperv1.pdf.

3. University of California

Berkeley Courseware

"CS 162: Operating Systems and System Programming": Lecture materials on cloud-native security often highlight this common misconception. Lecture 22

"Cloud Security

" notes: "Kubernetes Secrets are base64 encoded by default

not encrypted. This is a common point of confusion; base64 is for transport encoding

not confidentiality."

Source: CS 162

Lecture 22: Cloud Security

UC Berkeley EECS Department

Fall 2021. (Illustrative reference based on typical university curriculum content).

Scroll to Top