5

I was recently going through the group policy editor in Windows. There is in an option of storing passwords with reversible encryption.

But in InfoSec, we always say that we should store passwords in such a way that it cannot be reverse engineered.

But why is that option there? any specific need or purpose?

8

Yes, that option is there mostly for legacy software/hardware purposes to support CHAP authentication. You shouldn't enable that setting otherwise.

The reason passwords have to be encrypted, rather than hashed, on the server is because the CHAP authentication protocol was designed with a different threat in mind. They were more worried about the password being sent over the network in plaintext (these were the days of telnet, ftp, and http so that was an accomplishment). So they implemented a process by which the server sent a random challenge or nonce string to the client that needed to be hashed by the client along with the password. This prevented people from sniffing the password off the network during transmission.

But since the server needed to calculate whether the client response was valid it also needed access to a plaintext copy of the password to hash with the challenge. So they encrypt the password to allow the server to decrypt it temporarily and make this comparison using the plaintext.

Today when newer protocols (like NTLM or Kerberos) want to implement this same network level of protection they just calculate the hash of the password first on the client before making the other transformations. That way they only need store a cryptographic hash of the password on the server.

  • I get that. But I dont get the point of storing the password using reversible encryption. I cannot visualise the use. – Skynet Feb 3 '17 at 4:37
  • @Skynet I edited my answer in an attempt to provide you with more background on why this was necessary. – PwdRsch Feb 3 '17 at 16:57
1

The only time it would make sense to do this is if the credentials need to be re-used in another system. Think of a password manager such as LastPass. The password manager cannot log you into the other system without knowing what your password is.

  • I got what you meant. But why would reversible encryption be needed. When lastpass wants to log me in, I should be prompted to enter the pass and then a hash will be computed and matched to the already computed hash and then I am logged in( This is the case normally with irreversible encryption). But can you tell me where would be reversible encryption practically be used so that I can visualise the scenario in a better way. – Skynet Feb 3 '17 at 4:54
  • @Skynet LasPass cannot do that because it doesn't authenticate the user itself, nor does it hold the computed hash. It just stores the credentials (encrypted) so that you get them out of them (unencrypted) and use them in another (third party) system. Consider e.g. your email credentials. You want to store them somewhere on your computer (preferably encrypted), but they're used to authenticate your computer to another server (the email server) and you need to pass them to that server unencrypted. – Hejazzman Oct 19 '18 at 15:16

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.