An organization is updating its credential storage architecture to protect user account passwords against offline precomputed table attacks. System analysis reveals that many users select identical plaintext passwords, which currently results in identical stored hash values within the credential database. Which of the following cryptographic techniques should the security administrator implement to ensure that identical passwords produce distinct stored hashes?
- Salting each password with a unique, randomly generated value prior to running the hashing algorithmAnswer
- BEncrypting the database password hashes using asymmetric RSA public keys
- CDigitally signing each password hash using the user's private key to ensure non-repudiation
- DGenerating a Certificate Signing Request for each user to bind their hash to an authenticated X.509 certificate
Answer
Salting each password with a unique, randomly generated value prior to running the hashing algorithm ensures that identical plaintext passwords produce distinct hash values.
Salting involves appending a unique, random value to a password before hashing. This ensures that even if two users choose the exact same plaintext password, their resulting stored hashes will be completely different. Consequently, precomputed rainbow table attacks become ineffective because the attacker would need to build a distinct precomputed table for every unique salt value.
Step-by-Step Solution
Key Concept
Cryptographic Salting and Hashing
Estimated Time:1m 15s