Subject | Lightweight SRP Alternative |
---|---|
Author | Jim Starkey |
Post date | 2010-11-15T02:52Z |
OK, here's a lightweight alternative to SRP for symmetrical
authentication that defeats man in the middle attacks:
1. Client initiates connection
2. Server sends client a challenge string and authentication algorithm.
3. Client generates a session key, and encrypts { challenge, session
key, session algorithm } using password as key to the
authentication algorithm
4. Server decodes message and prepares the encrypt subsequent traffic
with session key / algorithm
A man in the middle can't decrypt #3 and is locked out of the subsequent
conversation. If the server is counterfeit, it doesn't have the
password and can't decrypt the session key.
This requires a password, which can't exist for database creation, but
an installation password would suffice.
Rather than using the actual password, the SHA-1 of the password should
be used instead so the password is never retained on either client or
server.
The server should take care never to repeat a challenge, so the the
session can't be replayed.
It's light and simple. Is it robust?
[Non-text portions of this message have been removed]
authentication that defeats man in the middle attacks:
1. Client initiates connection
2. Server sends client a challenge string and authentication algorithm.
3. Client generates a session key, and encrypts { challenge, session
key, session algorithm } using password as key to the
authentication algorithm
4. Server decodes message and prepares the encrypt subsequent traffic
with session key / algorithm
A man in the middle can't decrypt #3 and is locked out of the subsequent
conversation. If the server is counterfeit, it doesn't have the
password and can't decrypt the session key.
This requires a password, which can't exist for database creation, but
an installation password would suffice.
Rather than using the actual password, the SHA-1 of the password should
be used instead so the password is never retained on either client or
server.
The server should take care never to repeat a challenge, so the the
session can't be replayed.
It's light and simple. Is it robust?
[Non-text portions of this message have been removed]