It's been quite a while since I looked into the details, but I do know
that the SyncML (or OMA DM as it is known now) protocol provide
authentication with HTTP as one of the available transport protocols.
I think it uses a shared secret. Might be worth looking into. See
http://member.openmobilealliance.org/ftp/public_documents/dm/Permanent_documents/OMA-DM-Security-V1_2_0-20050120-D.zip
 for the general architecture and details.

Regards,
Mark

On Mon, Jan 11, 2010 at 12:48 PM, Twylite <twyl...@crypt.co.za> wrote:
> Hi,
>> CHAP: (originally from PPP)
>>
>> send a challenge string from server to client. The client sends back
>> H(challenge || password). Someone now has to brute-force the password
>> if the communication is intercepted. The downside is that the password
>> is stored in plaintext on the server.
> Another downside: when using HTTP as your transport, you always require
> an initial HTTP request the get the challenge.  In addition the server
> must track the tuple (username, challenge, clientIp, timeIssued), or
> more generally implement sessions using cookies.
>
> You _can_ turn this into a stateless protocol (ISO 9798-2 protocol 1) by
> deriving a shared secret K = KDF(password) for some Key Derivation
> Function KDF, and sending something like E[K]( T || S || username ) or
> username || T || HMAC(k, T || S || username ), where T is a timestamp
> and S is the distinguished identity of the server.  The server must
> store T on every transaction, and reject an authentication attempt if T
> is older than or equal to the stored T.
>
> Note that you must store KDF(password) on the server, and it cannot be
> salted as the client must compute KDF(password) on demand.
>
> To ensure that you can still support a web interface, it must be
> possible for the server to accept a plaintext password (via a form POST
> over HTTP or HTTPS) and compare it against a stored value.  KDF() will
> allow this, but because it cannot be salted it may susceptible to
> rainbow table attacks (depending on the function used).
>> There are methods that solve both problems (not storing the password
>> on the server, and not sending the password over the wire), but you
>> enter a major patent mine field if you try to use them.
> Moreover, many are not compatible with submitting a plaintext password
> in a form.
>
> Regards,
> Twylite
>
>
> _______________________________________________
> fossil-users mailing list
> fossil-users@lists.fossil-scm.org
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to