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.