A security engineer is designing an authentication microservice for an enterprise web application. The security policy requires storing user credentials in a manner that mitigates offline brute-force and precomputed rainbow table attacks if the credential database is compromised. Which of the following cryptographic techniques should the engineer implement to satisfy this requirement?
- Apply a salted key-stretching hashing algorithm with an adjustable work factor.Answer
- BEncrypt credentials using symmetric AES-256 encryption managed by a central key management service.
- CCompute an unsalted SHA-256 digest for each password to verify credential integrity.
- DGenerate an asymmetric digital signature for each plaintext credential to establish non-repudiation.
Answer
Apply a salted key-stretching hashing algorithm with an adjustable work factor.
Applying a salted key-stretching password hashing algorithm (such as Argon2, PBKDF2, or bcrypt) satisfies both requirements. Salting appends a unique random value to each password before hashing to defeat precomputed rainbow tables. Key stretching applies a high work factor through repeated iterations to slow down offline brute-force dictionary attacks.
Step-by-Step Solution
Key Concept
Salted Key-Stretching Hash Functions for Password Protection
Estimated Time:1m 30s