[ZODB-Dev] CHAP with ZEO
Jeremy Hylton
jeremy@digicool.com
Tue, 22 May 2001 10:28:48 -0400 (EDT)
>>>>> "MP" == Michel Pelletier <michel@digicool.com> writes:
MP> I'll have to read the RFC more closely. Do you know of any
MP> pre-existing digest auth python modules, perhaps from the work
MP> done on Grail?
There's client-side support in urllib2.
>> CHAP requires that the secret be available in plaintext
>> form. Irreversably encrypted password databases commonly
>> available cannot be used.
MP> I don't see how digest auth beats this limitation.
I didn't mean to suggest that it did. The HTTP digest RFC goes out of
its way to explain the many problems of digest-style authentication.
>> The HTTP digest authentication mechanism (RFC 2069) is a
>> variation on the same theme, but seems to be designed more
>> carefully. Certainly, the operational environment for PPP
>> servers is different than it is for HTTP servers. A ZEO
>> environment is more like HTTP than PPP.
MP> Really? I don't agree.
MP> There isn't really anything PPP specific about CHAP, I imagine
MP> it could be implemented over any protocol, simple, well-defined
MP> shared-secret challenges and responses.
The operating environments are different. A PPP server has far fewer
users than an HTTP server. They perform different kinds of
interactions.
That said, the HTTP digest mechanism has, for example, a discussion of
the man-in-the-middle attacks that CHAP is vulnerable to and some
means to limit the vulnerability by choosing a challenge with some
information about who is being challenged. I didn't see any of that
in CHAP.
Note that the CHAP protocol says that you should periodically
re-authentication the other side. The HTTP digest mechanism does it
per request. One or the other makes some sense.
>> As Andrew said in an earlier message, we do a disservice to the
>> community if we promote a system with a security infrastructure
>> that we know is substandard.
MP> CHAP is sub-standard weak authentication?
There is no question here. People have been using Kerberos since the
last millenium :-). For the kind of environment that Toby described,
it seems like a good solution.
Jeremy