Hi,

I was just wondering why you you are using AES_ENCRYPT for storing "passwords" in Invenio. (I say "passwords" as I realise you are actually storing the e-mail address encrypted with the password).

I'm not an expert on security, but the issue with AES_ENCRYPT is that it can be *decrypted*(1) whereas a one way hash (e.g. SHA) can't. Also, why don't you store and encrypt a random number per user rather than use the e-mail address? This would be *slightly* more secure(2) and avoid the problem where users must reset their passwords.

Just to be clear, I don't see a potential attack here.

Apologies if you've answered this many times before.

Regards,

Adrian.

1) I realise all decryption would give you is the e-mail address. I suppose if an attacker for some reason has the encrypted passwords but nothing else, they can use a dictionary attack to get the e-mails and log-in.

2) I say slightly as it requires the attacker to know the random numbers rather than just the (possibly public) e-mail. But if they have access to the DB, they probably have the random numbers.


--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Reply via email to