Methods and Systems for securely distributing
software in a subscription-based environment are provided. In an example embodiment, a Game Security Facility (“GSF”) associated with a
game server is used to manage secure communications with game clients. The GSF typically manages
secure communication of the accounting and billing information and
secure communication of game session data. In typical operation, the
game client generates a pass-
phrase that transparently includes a
unique identifier of the
machine upon which the subscription
software will reside. RSA-type key pairs that are then generated using this pass-
phrase will be associated uniquely with both the
game player and with the
machine upon which the
software resides, thus preventing unauthorized
copying to another
machine or unauthorized use by a
third party. A public key generated using this pass-
phrase is forwarded to the GSF, which uses it to generate a unique one-time random
session key (for use as a symmetric key) for each session with the
game client. The
session key is then encrypted for the
game client using the public key of the
client. Session data, including the original game files downloaded upon successfully subscribing, are then transmitted between the
game server and the game
client using encrypted versions of the
session key. In one embodiment, the game
client can
upgrade the machine upon which the subscription data resides, cause the session keys to be reissued using a new public key, and retain access to previously downloaded data.