[Zope-dev] Salt-weakness in zope.app.authentication passwordmanagers?

Martijn Faassen faassen at startifact.com
Mon Jan 19 11:32:01 EST 2009


Hi there,

Uli Fouquet wrote:
> I'd be glad to provide a fix for this, but I am undecided how we could
> support administrators best to upgrade their password bases.

I'm speaking here mostly from a position of ignorance of these affairs, 
but is it possible to upgrade the current passwords to a more secure 
version without knowing those passwords?

> Currently, three (not mutual exclusive) approaches come to my mind:
> 
> 1) the fixed password managers could be registered under different 
>    names. Support of the old ones could slowly run out and users could
>    be warned, if they still use the old password managers.

If we were to fix the old password managers, would the old passwords 
break? If not, that would at least provide better security for newly 
stored passwords right away without having to change applications.

>    The old password managers then could be used as a fallback. This 
>    would weaken security (as two different hashes would allow one to 
>    authenticate with the same password), but not very much (you get a 
>    chance of 2:8**20 instead of 1:8**20 in worst case).

If it's not possible to update the existing password managers to the new 
behavior a new name + fallback sounds like the best way to go.

>    Paranoid folks should be able to disable the fallback and expect 
>    complaints from their users. Default policy might be to disable
>    fallback.

Possibly simply register 2 new names then, one without fallback and one 
with.

> 2) A commandline tool should be available, that can at least get old 
>    (encrypted) passwords and tell how they look hashed proper. 
>    Administrators had to take care for storing them in site.zcml, their 
>    LDAP or wherever they store passwords.

Why a commandline tool? Wouldn't it be better to just have an API to 
help upgrade passwords?

> 3) A commandline tool could also update existing ZCML files. This might 
>    fix the problems for most users.

I don't think that would fix it for most users. In fact I think those 
few hashes that are stored in ZCML are not a great security risk; if 
malicious people can read those the risk to the application is far 
greater already. The risk is bigger for larger password databases that 
fall into the wrong hands, as far as I understand it.

> There might be smarter approaches. Any hints are very welcome.

The most important part I think is to document well what people should 
be doing. I.e. use the new password managers (or tell them to upgrade 
and their old ones will be fine), and how they should go about upgrading 
existing passwords.

I think we should ask people to write their own upgrade code as we do 
not know where these passwords are stored. I'm storing them in a 
relational database in some cases, for instance. We could provide 
upgrade code for some common scenarios, but I'd be fine if we had a good 
document with instructions instead.

Regards,

Martijn



More information about the Zope-Dev mailing list