Patent ID: 7664709

Claim:
A system including a server computer coupled to one or more client computers over a communications network, the system comprising: a customer database storing user information, the user information comprising a user identifier (ID), and a content database storing a plurality of software product titles, the customer database and content database embodied in at least one memory, the at least one memory coupled to the communications network; a distribution module programmed to distribute a software product from the plurality of software product titles to a user of a client computer of the one or more client computers upon request of the user, each software product being encrypted using a title public key; an encryption module programmed to encrypt a title private key for the software product using a first layer of encryption based on the user ID and a second layer of encryption based on a client computer identifier to create multi-layer encryption of the title private key, the multi-layer encryption using key pairs exchanged between both the server computer and the client computer; and a decryption module programmed to receive the multi-layer encryption of the title private key and, before gaining access to the title private key, decrypting each layer associated with the user ID and the client computer identifier to then allow use of the title private key for decryption of the software product that was encrypted using the title public key, such that decryption of the software product allows access to the software product.