SDL Cryptography & Data Protection 2 — Questions and Answers
Question 1: In SDL, what is 'key rotation' and why is it required for long-lived encryption keys?
- Changing the encryption algorithm periodically to stay current
- Replacing cryptographic keys at defined intervals to limit exposure from a compromised key (Correct answer)
- Distributing keys to multiple servers for redundancy
- Converting keys between different formats for compatibility
Correct answer: Replacing cryptographic keys at defined intervals to limit exposure from a compromised key
Key rotation limits the amount of data encrypted under any single key and reduces the damage if a key is compromised, which is a core SDL data protection requirement.
Question 2: Which of the following is an asymmetric encryption algorithm approved for use in SDL-compliant systems?
- AES-256
- ChaCha20
- Elliptic Curve Cryptography (ECC) with P-256 or higher (Correct answer)
- HMAC-SHA-256
Correct answer: Elliptic Curve Cryptography (ECC) with P-256 or higher
ECC with curves such as P-256 (NIST) is an approved asymmetric algorithm; AES and ChaCha20 are symmetric, and HMAC is a MAC scheme.
Question 3: What SDL practice is used to ensure that sensitive data (e.g., credit card numbers) is replaced with a non-sensitive placeholder while preserving format?
- Encryption
- Tokenization (Correct answer)
- Hashing
- Data masking at the presentation layer
Correct answer: Tokenization
Tokenization replaces sensitive data with a surrogate value (token) that maps back to the original only in a secure vault, reducing PCI-DSS scope.
Question 4: Under SDL, which practice BEST prevents cryptographic keys from being exposed in source code repositories?
- Encoding keys in Base64 before committing
- Storing keys in environment variables or a dedicated secrets management system (Correct answer)
- Compressing key files before commit
- Renaming key files to avoid detection by scanners
Correct answer: Storing keys in environment variables or a dedicated secrets management system
Storing keys in environment variables or dedicated secrets managers (e.g., Azure Key Vault, HashiCorp Vault) keeps them out of version control entirely.
Question 5: What is the cryptographic weakness that makes MD5 unsuitable for SDL-compliant password hashing?
- MD5 produces hashes that are too short to store
- MD5 is computationally expensive, making login slow
- MD5 is vulnerable to collision attacks and is too fast for brute-force resistance (Correct answer)
- MD5 can only hash ASCII characters
Correct answer: MD5 is vulnerable to collision attacks and is too fast for brute-force resistance
MD5 has known collision vulnerabilities and its speed makes it trivial to brute-force; SDL requires slow adaptive algorithms like bcrypt or Argon2 for passwords.
Question 6: In SDL data classification, which category of data typically requires the strongest encryption and strictest key management controls?
- Publicly available marketing data
- Internal employee directory information
- Regulated data such as PII, PHI, or financial records (Correct answer)
- System performance metrics and logs
Correct answer: Regulated data such as PII, PHI, or financial records
Regulated data like PII, PHI, and financial records carry legal and compliance obligations (GDPR, HIPAA, PCI-DSS) requiring the highest encryption and access controls.
Question 7: Which SDL principle ensures that even if a single cryptographic control fails, other independent controls still protect sensitive data?
- Single point of failure elimination
- Defense in depth (layered security) (Correct answer)
- Least privilege
- Separation of duties
Correct answer: Defense in depth (layered security)
Defense in depth applies multiple independent security layers so that a failure in one cryptographic control does not immediately expose the data.
In SDL, what is 'key rotation' and why is it required for long-lived encryption keys?