[crossfire] Challenge-Response login, proof of concept implementation ready
Mark Wedel
mwedel at sonic.net
Sat Jun 14 15:11:57 CDT 2008
AnMaster wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> I have locally a proof of concept challenge-response login for use in crossfire (HMAC-SHA256).
>
> However how should it be added to server protocol exactly, setup command? I'd prefer
> upgrading protocol version.
Depends on a few things. Do you expect this change to only be in the trunk,
or also backport to the stable release?
If only in the trunk, then perhaps increasing the protocol version, and making
that the only supported authentication method in fairly short order may be the
right thing to do. For the trunk, we are not guaranteeing a lot of backwards
compatibility.
However, the stable release does guarantee some level of backwards
compatibility. The problem with the protocol version (and why setup is often
used instead) is that with just a number, it is not clear what has changed and
if in fact and old client can operate on that newer server.
Also, before committing any changes, the proposed protocol changes should be
documented (like the current protocol commands - what does the server & client
send to each other. That provides more concrete examples of how the changes
will be implemented, and allows for better/more meaningful conversation.
>
> Backward compatibility would be supported by plain text login once and then upgrade
> password in player file to store the "shared secret", then HMAC-SHA256 would be used in
> future to log in. I feel that it is less of an issue storing an unencrypted shared secret
> on the server than, as we currently do, sending it in plain text over network.
Almost certainly true - file access controls on the server itself can still be
used to prevent unauthorized folks from looking at the player files. And for
many systems, the password actually is stored in plain text (look at the #if in
crypt_string())
More information about the crossfire
mailing list