1

When a system must go from a powered down state to a fully operational state without any human intervention it therefore needs access to usable authentication credentials unattended. The system must recover and boot automatically without human intervention so the credentials must be stored in a readable format on the file-system.

We hear about passwords being hashed(+salted) at rest and encrypted in transmission but is encoding acceptable under the above scenario? For instance I was reading an article about WebSphere where they encode their system passwords using XOR and base64 and consider it as the best option.

Encrypting WebSphere Application Server system passwords — if you insist

Is encoding the best option for cases like this?

2 Answers 2

0

In the case of WebSphere, they appear to define "encoding" as "unkeyed encryption" -- encryption where the security comes from the secrecy of the algorithm rather than secrecy of a key.

For system credentials on a computer that needs to start up unattended, there isn't much practical difference between the two. In both cases, all the secret information is present at all times, and security comes from keeping attackers from being able to access those secrets: if an attacker can access the encrypted/encoded system credentials, they are almost certainly able to access the master key (encryption) or the decoding algorithm (encoding).

There are ways to protect the key in the case of encryption (TPM modules, smart cards), but since the system can start up unattended, an attacker can probably use them as a black box to decrypt the system credentials without needing to know the master key.

1

It's seems acceptable as long as you realize what the risks are and what the alternatives are. In the encoding case, anybody that can access the encoded password and knows how to decode, can get hold of the password and accesses the protected resources.

I wonder though, if a system knows how decode an encoded password, the system should also be able to decrypt a stored password using a master key. And that alternative is discussed in the reference link.The question in that case is how difficult is it for a third party to 'find' that master key.

I have a similar case, an automatic incremental backup that requires an encryption key. That key itself is stored, but encrypted by a kind of master key on my PC. The master key is stored somewhere and could be found or is reproducible though, if one knows how to.

I'd say that both cases classify as security by obscurity, which is bad if there are alternatives availabe. I'd prefer the backup case that perhaps offers more obscurity options. In the end, in both cases a secret is accessible for third parties.

2
  • It's true that in both cases the solution is not ideal and that choosing encoding goes against our gut instincts. But I've read a argument that actually puts encoding over the solution you prefer. That in fact encrypting passwords actually lowers the systems security. link I think its a very interesting discussion though as I never thought I'd choose encoding over encryption.
    – ismisepaul
    Jun 11, 2014 at 10:18
  • Thanks, interesting. The link in the question has a similar reasoning. The writer does mention that encryption "ups the attacker’s skill requirement a bit but that just makes it less convenient for legitimate users". I have to study the part following, that encryption actually weakens system security. Much of that seems to be based on system password management practices. For sure, I find it truly interesting to read the pro's and cons in that much detail.
    – Dick99999
    Jun 19, 2014 at 8:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .