exam questions

Exam CISSP All Questions

View all questions & answers for the CISSP exam

Exam CISSP topic 1 question 152 discussion

Actual exam question from ISC's CISSP
Question #: 152
Topic #: 1
[All CISSP Questions]

A user's credential for an application is stored in a relational database. Which control protects the confidentiality of the credential while it is stored?

  • A. Use a salted cryptographic hash of the password.
  • B. Validate passwords using a stored procedure.
  • C. Allow only the application to have access to the password field in order to verify user authentication.
  • D. Encrypt the entire database and embed an encryption key in the application.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
izaman2022
Highly Voted 2 years, 4 months ago
Selected Answer: A
Its absurd that D is listed as the correct answer, when the second part of the answer says "embed an encryption key in the application."
upvoted 8 times
Az900500
7 months, 2 weeks ago
Very absurd and even surprise that's the selected answer by Examtopic
upvoted 1 times
...
...
JAckThePip
Highly Voted 2 years, 4 months ago
Answer is A "Hashes cannot be used to discover the contents of the original message, or any of its other characteristics, but can be used to determine whether the message has changed. In this way, hashes provide confidentiality, but not integrity." https://www.sciencedirect.com/topics/computer-science/hash-function
upvoted 6 times
dmo_d
1 year, 9 months ago
Determine wether a message has changed is the goal of integrity. This is why hashing provides integrity only. P.S.: Even scientists make mistakes ;-)
upvoted 1 times
...
...
angellorv
Most Recent 2 months, 1 week ago
Selected Answer: A
ANS A is correct. Storing passwords in plain text is NOT a secure solution - this is my understanding of ANS B and C. ANS A: Hashing is a one way function - practically impossible to reverse. A good cryptographic hash function has lesser number of Collisions. Additionally, adding salt, pepper, and a number of iterations will result in a method to store passwords more securely than a simple hash. Hashing with salt, pepper, and several iterations to the passwords provides a better solution. ANS D: Encrypting the password and then storing it, IS NOT the best solution (encryption functions are reversible). When taking the CISSP exam, one has to keep in mind laws such as GDPR, therefore for this question I would keep in mind the rules of the CNIL (French National Commission on Informatics and Liberty) - it recommends that any password be transformed by a non-reversible cryptographic function.
upvoted 2 times
...
KJ44
3 months, 3 weeks ago
Selected Answer: D
All answers but D are in regards to passwords, NOT credentials. Plus, encrypting a database to ensure confidentiality makes sense. I pick D.
upvoted 1 times
...
nerdo9
5 months, 2 weeks ago
Selected Answer: D
I also selected 'A' while practicing, but that satisfies integrity. The key word is confidentiality, the correct answer is D.
upvoted 1 times
...
Dtony66
9 months, 3 weeks ago
Selected Answer: A
A is the answer. Are these really correct answers from the CISSP exam? Why would you embed an encryption key in the application?
upvoted 1 times
...
eboehm
10 months, 2 weeks ago
Selected Answer: A
its disturbing the amount of people persuing a security certification and think D is the correct answer. Would you really embed aka hard code the encryption key inside of the application software? You might as well hard code the password too!
upvoted 4 times
...
splash2357
1 year, 1 month ago
Selected Answer: A
Going with A. Hashed password are not reversible (or extremely hard to reverse it) back to the original form (strong hashing algorithms). Encryption do provide extra layer of protection, however, ciphertexts can be reverted back to their original form with a decryption key. Just in case both the key and the DB records are leaked, the DB records in cleartext would be leaked. Example of such incident includes the Adobe breach at 2013: https://www.csoonline.com/article/540070/network-security-adobe-confirms-stolen-passwords-were-encrypted-not-hashed.html
upvoted 1 times
...
Rifandy
1 year, 1 month ago
How come given answer D, what if size of the DB is large then need to encrypt entirely?
upvoted 1 times
...
629f731
1 year, 1 month ago
Selected Answer: A
A is correct because option "D" proposes to encrypt the entire database and embed an encryption key in the application. While this measure provides a level of protection, it is not best suited to protect the confidentiality of specific user credentials in the database. Using a single encryption key for the entire database and embedding it in your application can compromise security if that key is compromised or accessed.
upvoted 1 times
...
homeysl
1 year, 4 months ago
Selected Answer: D
D. It says relational DB. You encrypt the table or DB.
upvoted 1 times
...
MShaaban
1 year, 6 months ago
I see people saying hash is for integrity which is correct. But at the same time it’s a one way process like you can’t extract the password from the hash. I see A and D are valid. I wonder if the exam would have such similar answers. I would be doomed
upvoted 4 times
...
Bach1968
1 year, 7 months ago
Selected Answer: D
Option D, encrypting the entire database and embedding an encryption key in the application, can indeed be an effective control to protect the confidentiality of the credential while stored. By encrypting the entire database, including the stored credentials, unauthorized access to the database would not reveal the plaintext passwords. The encryption key, which is embedded in the application, is required to decrypt the database and access the stored credentials. This provides an additional layer of protection against unauthorized access to the sensitive information. Encrypting the database ensures that even if an attacker gains access to the stored data, they would not be able to read the credentials without the encryption key. It adds an extra level of security beyond just hashing and salting the passwords. Therefore, option D, encrypting the entire database and embedding an encryption key in the application, is a valid control to protect the confidentiality of the credential while stored in a relational database.
upvoted 3 times
...
HughJassole
1 year, 8 months ago
D sounds wrong but A is hashing, which provides integrity only: "Integrity ensures that data is maintained and that no unauthorized changes have been made to the data. One example of this is signature hashing, such as an MD5 or SHA256 checksum." D talks about encryption, which is confidentiality.
upvoted 1 times
...
dmo_d
1 year, 9 months ago
Selected Answer: D
D is the right one. Credentials comprises of user id AND authentication token (password). This is why answer A is wrong as it covers only the password part. Second the question was what provides confidentiality to the credentials. Hashing does not provide confidentiality but it provides integrity only.
upvoted 4 times
DeepCyber
1 year, 8 months ago
agreed! They are taking about credential and not only password. Also, They are looking for protection while password is stored in the database. Salt helps to ensure attacker can't crack but we also need to protect hashed password to ensure It never reaches in the hand of attacker. Answer should be D.
upvoted 2 times
...
...
Tygrond87
1 year, 9 months ago
Selected Answer: B
Option C is the correct answer because it addresses the access control aspect of the question. By allowing only the application to have access to the password field in order to verify user authentication, it ensures that only authorized entities can access the credential. Access controls are a critical security control to prevent unauthorized access to sensitive information.
upvoted 1 times
jackdryan
1 year, 9 months ago
A is correct
upvoted 1 times
...
...
Cg007
1 year, 10 months ago
A What is password salting? Password salting is a technique to protect passwords stored in databases by adding a string of 32 or more characters and then hashing them. Salting prevents hackers who breach an enterprise environment from reverse-engineering passwords and stealing them from the database.
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago