Methods for Securely Distributing Computer Software Products
First Claim
1. A computer-implemented method for distributing a software module by a distribution server having access to a plurality of software modules, comprising:
- (a) encrypting said software module with an encryption key;
(b) distributing said software module that is encrypted in (a), over a network, from said distribution server to storage of a computing device of a user;
(c) establishing an exchange between the distribution server and the computing device of the user, the exchange including,(i) establishing a user key pair between the distribution server and the computing device of the user; and
(ii) establishing a client key pair between the distribution server and the computing device of the user, the exchange between the distributor server and the computing device of the user defining multi-layer encryption from the user and client key pairs;
(d) preparing a decryption key for transmission to the computing device of the user, the preparing includes encrypting the decryption key with a layer defined from the client key pair and then encrypting the decryption key with a layer defined from the user key pair, defining the multi-layer encryption of the encryption key; and
(e) transmitting the decryption key having the multi-layer encryption to the computing device of the user, the decryption key, once removed of the multi-layer encryption at the computing device, being used to decrypt the software module present at the storage of the computing device.
3 Assignments
0 Petitions
Accused Products
Abstract
A product distribution and payment system for limited use or otherwise restricted digital software products. Digital content data comprising a software product to be rented is made available to customers through a detachable local storage medium, such as a DVD or CD-ROM disc, or over a network connection. The product digital content is capable of being accessed and played back through a computer or game console at the customer site. The software product may comprise a limited use product that is restricted in the number of plays or duration of use. The customer is allowed to download and purchase the product using his computer or playback console. The product purchase information is encoded and transmitted to the content distributor. When the preset time or number of plays has elapsed the software program is frozen and access to the program is not allowed. In one embodiment of the present invention, a two-way, public key/private key encryption system is implemented to transmit the product and usage information between the server providing the software product and the customer computer system.
-
Citations
20 Claims
-
1. A computer-implemented method for distributing a software module by a distribution server having access to a plurality of software modules, comprising:
-
(a) encrypting said software module with an encryption key; (b) distributing said software module that is encrypted in (a), over a network, from said distribution server to storage of a computing device of a user; (c) establishing an exchange between the distribution server and the computing device of the user, the exchange including, (i) establishing a user key pair between the distribution server and the computing device of the user; and (ii) establishing a client key pair between the distribution server and the computing device of the user, the exchange between the distributor server and the computing device of the user defining multi-layer encryption from the user and client key pairs; (d) preparing a decryption key for transmission to the computing device of the user, the preparing includes encrypting the decryption key with a layer defined from the client key pair and then encrypting the decryption key with a layer defined from the user key pair, defining the multi-layer encryption of the encryption key; and (e) transmitting the decryption key having the multi-layer encryption to the computing device of the user, the decryption key, once removed of the multi-layer encryption at the computing device, being used to decrypt the software module present at the storage of the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for distributing a software product from a distribution server having access to a plurality of software products, the software product having one or more features, comprising:
-
(a) encrypting said software product with an encryption key; (b) distributing said software product that is encrypted in (a), over a network, from said distribution server to storage of a computing device of a user; (c) establishing an exchange between the distribution server and the computing device of the user, the exchange including, (i) establishing a user key pair between the distribution server and the computing device of the user; (ii) establishing a client key pair between the distribution server and the computing device of the user, the exchange between the distributor server and the computing device of the user defining multi-layer encryption from the user and client key pairs; (d) preparing a decryption key for transmission to the computing device of the user, the preparing includes encrypting the decryption key with a layer defined from the client key pair and then encrypting the decryption key with a layer defined from the user key pair, defining the multi-layer encryption of the encryption key; and (e) transmitting the decryption key having the multi-layer encryption to the computing device of the user, the decryption key, once removed of the multi-layer encryption at the computing device, being used to decrypt at least one of the features of the software product present at the storage of the computing device. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computer-implemented method for distributing a software product from a distribution server having access to a plurality of software products, the software product having one or more features, comprising:
-
(a) establishing an exchange between the distribution server and the computing device of the user, the exchange including, (i) establishing a user key pair between the distribution server and the computing device of the user; (ii) establishing a client key pair between the distribution server and the computing device of the user, the exchange between the distributor server and the computing device of the user defining multi-layer encryption from the user and client key pairs; (b) for a particular software product, preparing a decryption key for transmission to the computing device of the user, the preparing includes encrypting a decryption key for the particular software product with a layer defined from the client key pair and then encrypting the decryption key with a layer defined from the user key pair, defining the multi-layer encryption of the encryption key; and (c) transmitting the decryption key having the multi-layer encryption to the computing device of the user, the decryption key, once removed of the multi-layer encryption at the computing device, being used to decrypt at least one of the features of the software product present at the storage of the computing device. - View Dependent Claims (20)
-
Specification