-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Julian Oliver wrote:
> yes, this is difficult. the closest you could get would be to sign the binary 
> with the public key but it still wouldn't defeat the problem of someone
> with enough know-how to compile their own client using that same key. it
> would however still solve the problem of many clients authenticating
> using the same key simultaneously.

First, that doesn't solve the cheating - everybody can sign their (even
hacked) client using the valid key. Second, how is the issue of multiple
clients using the same key relevant? This is relevant only for copy
protection (moot point for OSS game, I hope), not as a protection
against cheating.

> the public key would be just that, public. the private key however
> wouldn't be known to the client. that would reside on the server.
> 
> the source would be open, and the software still free (i think) - in the 
> sense of this not qualifying as 'Tivoisation' - but the actual key pairing
> itself would be secret.

>
> i send all mail and perform server/website administration using
ssh-agents.
> what i'm imagining would be like this, but reversed, where the server
has the
> private key and the signed binary client has the unique public
corresponding
> key.



You cannot do this - give out the public key(s) and claim that the
pairing is secret. It is not - each and every key has a well defined
mathematical binding to certain private key somewhere.

Again, this is not really relevant - I can always extract the correct
key from the official client. I could do it even if it is not open
source - witness the breaking of Blueray and HD-DVD encryption that
actually tried to implement this system - the key was extracted from the
binaries, despite heavy obfuscation. I can then re-use the official key
with my hacked client. If the client side is untrusted, this is a
worthless method, as the Blueray case proves.

> without knowing the private key it wouldn't be possible to generate a
> new public key. it would however be possible to author a modified client
> that "sent junk", as you say, using the same public key.

Yes, but I do not need to generate new public key to cheat. Reusing the
old one is more than enough. I do not need to run the normal and hacked
binaries side by side that are needed in order to trigger the key re-use
alarm.

Moreover, requiring an unique key for every binary to be actually useful
would very likely break GPL, because you are placing additional
technical restrictions, but withholding the parts required to make use
of the program as intended (the private keys). This clearly breaks GPL
v3 (the anti-DRM part - what you are describing is a DRM system, not an
anti-cheating system). It could be even argued to break GPL v2, but
there it is less clear (as the Tivo case proves).

In general, if the client is untrusted, no amount of encryption will
save you. It is like a bank sending out a safe full of money using a
crooked carrier somewhere to Nigeria or Iraq and expecting the money to
 come back intact. You can have the best safe in the world, but you are
giving it to people who would either steal it while in transit before it
gets in the safe (untrusted medium) or have all their time and equipment
needed to get in the safe and extract the cargo afterwards (untrusted
client). No amount of armour-plating of the safe nor the extra three
locks only you are holding the keys from will save the money if the safe
gets into an industrial workshop with a really big drill ... (our
enterprising hacker extracting the keys ...)

Regards,

Jan





-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHcCN7n11XseNj94gRAreUAJ9x9ylMr4huV8Xhvd2qoO6XE1yRYwCdFB01
fCQUiRfG8gqd1uGfF6d/f/E=
=EoDz
-----END PGP SIGNATURE-----

_______________________________________________
Soya-user mailing list
Soya-user@gna.org
https://mail.gna.org/listinfo/soya-user

Reply via email to