[Zope-PTK] PROPOSAL: A Confidence Mechanism in User Role Mana
gement
Christopher Petrilli
petrilli@digicool.com
Thu, 10 Feb 2000 09:08:22 -0500
On 2/9/00 11:47 PM, Rob Page at rob.page@digicool.com wrote:
>> So, if cleartext is less trustworthy because it's sniffable, it
>> follows that using cleartext once compromises the secure
>> channels as well, and so they should be no more trusted than cleartext
> UNTIL
>> the password's been changed. Oh. But, if you are now
> less-than-confident
>> of the remote user, you can't let them change the password so as to
> become trusted
>> again! D'oh. Seems like a Catch 22, I must not be getting something.
>
> This is a valid point. This is why many sites have you login over SSL.
> Perhaps they assign you an expiring cookie which you can carry around
> and over unsecure channels. Ideally, password specification and
> password presentation are all done over secure comm - then you don't
> have to discount the confidence in the password as an accurate
> authentication mechanism.
This is what I was mentioning at the bottom of another email, which is that
you have the following chain of events:
* User is presented a login form over HTTP
* Form is POSTED via SSL, which sets a cookie in the browser
* Cookie is volatile and used for auth during session
The cookie must be something non-guessable, so I proposed the following:
base64(sha1(username + ip_address + random_int))
This gives you a token that should not be "guessable" and in addition, as
long as you keep the random integer chosen around, you can validate that the
cookie is valid using 2 options:
* Recompute auth information and compare (the correct way, long story)
* Store IP address and precalced cookie, and compare those.
Chris
--
| Christopher Petrilli Python Powered Digital Creations, Inc.
| petrilli@digicool.com http://www.digicool.com