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 questionsBase64 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.
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.
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).
Keep practicing
Take the free KCSA practice test
Ten exam-style questions with answers and explanations, plus the exam facts and study guides.
More questions
Other KCSA practice questions
- Question 1Which information does a user need to verify a signed container image?
- Question 2A container running in a Kubernetes cluster has permission to modify host processes on th…
- Question 3What is a multi-stage build?
- Question 4What is the difference between gVisor and Firecracker?
- Question 5Which of the following statements on static Pods is true?
- Question 6A cluster is failing to pull more recent versions of images from k8s.gcr.io. Why may this…
