3

In this report on the recent ParkMobile breach, the article has this comment from the company:

“You are correct that bcrypt hashed and salted passwords were obtained,” Perkins said when asked about the screenshot in the database sales thread. “Note, we do not keep the salt values in our system,” he said.

If the salts are not "in the system", how could a system match a user-entered password to their salted hashes?

11
  • 2
    This is better to be asked in information security. Delete this before asking there. Simple reasons 1) derived from users information 2) They don't use.
    – kelalaka
    Apr 30 '21 at 11:59
  • Or 3) they keep the salts off-device (and retrieve them only when needed)
    – poncho
    Apr 30 '21 at 13:24
  • @kelalaka: If (1), does it just rely on the attacker knowing what derivation is being used. (2) doesn't seem likely, since they quote specifically says "salted passwords" Apr 30 '21 at 14:43
  • @poncho: You'd need the salt for every login, so how could you keep them off-device? Apr 30 '21 at 14:44
  • 1
    I noticed in the comments following the article that there seems to be a rollicking discussion about this. One of the commenters by the name of 'Rob', pretty much sums it up, by saying, “it stores the output of a fairly robust one-way password hashing algorithm called bcrypt”; “Note, we do not keep the salt values in our system”; Pick one. The bcrypt hash includes the salt.
    – mti2935
    Apr 30 '21 at 14:51
9

In this report on the recent ParkMobile breach, the article has this comment from the company: “You are correct that bcrypt hashed and salted passwords were obtained... Note, we do not keep the salt values in our system...”

The article states that "spokesman" Jeff Perkins made this comment.

Per ParkMobile's website, Mr. Perkins's title is "Chief Marketing and Product Officer."

With all due respect to the marketing folks, Mr. Perkin's may not be completely up to speed on all the technical details of ParkMobile's password hashing, and may not be speaking with perfect precision. Therefore, one answer to your question might simply be that his statement is not technically correct.

If the salts are not "in the system", how could a system match a user-entered password to their salted hashes?

This is a reasonable question to ask, since typically one stores the salts along with the hashes for bcrypt. That is, typically, the format of the stored bcrypt output is:

$2b$[cost]$[22 character salt][31 character hash]

Therefore, typically, the salt would be stored in the same database as the hash.

Without seeing the actual data from the data breach it is hard to say for sure what is going on here.

One answer is just that Mr. Perkins is wrong. However, there are certainly other possibilities, such as:

  • By "salt" he actually means "pepper."
  • They separate the bcrypt outputs (for example at the "$" characters) and actually do store the hash in a different database than the salt. In this case they still need to store the salt, and maybe the "system" in the quote is the hash database rather than the salt database. Note that this possibility is complete speculation (and atypical bcrypt usage).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.