Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
DCFirst Claim
1. A computer-implemented process for executing encrypted computer program code while maintaining protection against copying of corresponding decrypted executable computer program code, wherein the encrypted computer program code is associated with first executable computer program code, the process comprising the steps of:
- through an operating system of a computer, reading, loading and executing the first executable computer program code as a first process having a protected memory area;
the first process authorizing decryption and decrypting the encrypted computer program code into second executable computer program code and storing the second executable computer program code in the protected memory area; and
the first process causing loading and execution of the second executable computer program code in the protected memory area.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Some of these problems with digital information protection systems may be overcome by providing a mechanism which allows a content provider to encrypt digital information without requiring either a hardware or platform manufacturer or a content consumer to provide support for the specific form of corresponding decryption. This mechanism can be provided in a manner which allows the digital information to be copied easily for back-up purposes and to be transferred easily for distribution, but which should not permit copying of the digital information in decrypted form. In particular, the encrypted digital information is stored as an executable computer program which includes a decryption program that decrypts the encrypted information to provide the desired digital information, upon successful completion of an authorization procedure by the user. In combination with other mechanisms that track distribution, enforce royalty payments and control access to decryption keys, the present invention provides an improved method for identifying and detecting sources of unauthorized copies. Suitable authorization procedures also enable the digital information to be distributed for a limited number of uses and/or users, thus enabling per-use fees to be charged for the digital information.
355 Citations
35 Claims
-
1. A computer-implemented process for executing encrypted computer program code while maintaining protection against copying of corresponding decrypted executable computer program code, wherein the encrypted computer program code is associated with first executable computer program code, the process comprising the steps of:
-
through an operating system of a computer, reading, loading and executing the first executable computer program code as a first process having a protected memory area; the first process authorizing decryption and decrypting the encrypted computer program code into second executable computer program code and storing the second executable computer program code in the protected memory area; and the first process causing loading and execution of the second executable computer program code in the protected memory area. - View Dependent Claims (2, 3)
-
-
4. A computer program product comprising:
-
a computer readable medium having computer program code defining first executable computer program code and encrypted computer program code stored thereon wherein the first executable computer program code, when read, loaded and executed through an operating system of a computer executes as a first process having a protected memory area, wherein the first process authorizes decryption and decrypts the encrypted computer program code into second executable computer program code and stores the second executable computer program code in the protected memory area; and
wherein the first process causes loading and execution of the second executable computer program code in the protected memory area. - View Dependent Claims (5, 6)
-
-
7. A computer system comprising:
-
a processor for executing computer program code; a main memory connected to the processor for storing digital information including executable computer program code at memory locations addressed by the processor; and an operating system defined by executable computer program code stored in the memory and executed by the processor and having a command which when executed by the processor defines means for creating a fit process in response to a request specifying a process identifier and a memory location in the main memory, wherein the process identifier indicates a second process making the request and the memory location stores executable computer program code which when executed defines the first process.
-
-
8. A computer system having an operating system for executing encrypted computer program code, comprising:
-
means for storing the encrypted computer program code in a file accessible through the operating system, wherein the file also includes first executable computer program code; means, invokable through the operating system, for reading, loading and executing the first executable computer program code from the file as a first process having a protected memory area; the first process defining means for authorizing decryption and means for decrypting the encrypted computer program code into second executable computer program code and storing the second executable computer program code in the protected memory area; and the first process defining means for causing loading and execution of the second executable computer program code in the protected memory area. - View Dependent Claims (9, 10)
-
-
11. A digital information product, comprising:
a computer readable medium with computer readable information stored thereon, wherein the computer readable information comprises; a first portion of executable computer program code; and a second portion of encrypted digital information; and wherein the first portion of executable program code, when executed, defines means, operative in response to requests for digital information, for accessing the second portion of encrypted digital information, for authorizing decryption, and for decrypting the encrypted digital information, and for outputting the decrypted digital information. - View Dependent Claims (12, 13, 14, 15)
-
16. A computer program product including a self-decrypting encrypted executable computer program code, comprising:
a computer readable medium having computer program code stored thereon, wherein the computer program code defines; a first portion, a second portion, wherein the first portion, when executed by a computer, defines means for loading the second portion into memory of the computer, and a third portion defining the encrypted executable computer program code, wherein the second portion, when executed by a computer, defines means for communicating with an operating system of the computer to receive requests for computer program code from the encrypted executable computer program code from the third portion, and for processing the requests to access and decrypt the encrypted executable computer program code and for providing the decrypted executable computer program code from the third portion to the operating system.
-
17. A process for executing encrypted executable computer program code on a computer system having a processor, memory and operating system, comprising the steps of:
-
receiving computer program code having a first portion defining a start up routine, a second portion, and a third portion containing the encrypted executable computer program code; executing the first portion of the received computer program code using the processor, wherein the step of executing causes the second portion to be loaded into the memory of the computer system, and generating requests from the operating system for data from the encrypted executable computer program code which are received by the executed second portion, and accessing and decrypting the encrypted executable computer program code and returning, using the second portion of the decrypted executable computer program code to the operating system.
-
-
18. A computer system having an operating system, for executing encrypted computer program code, comprising:
-
a computer readable medium in which encrypted computer program code is stored in a data file accessible through the operating system, wherein the data file also includes first executable computer program code; wherein the operating system is responsive to requests to read, load and execute the first executable computer program code from the data file as a first process having a protected memory area; wherein the first process authorizes decryption and decrypts the encrypted computer program code into second executable computer program code and stores the second executable computer program code in the protected memory area; and wherein the first process causes loading and execution of the second executable computer program code in the protected memory area. - View Dependent Claims (19, 20)
-
-
21. A process for providing access to encrypted digital information while maintaining protection against copying of corresponding decrypted digital information, wherein the encrypted digital information is associated with executable computer program code for decrypting the digital information, the process comprising:
-
receiving computer-readable data defining the executable computer program code and the encrypted digital information; executing the executable computer program code such that the executable computer program code has a protected memory area; authorizing decryption; and decrypting the encrypted digital information and storing the decrypted digital information in the protected memory area. - View Dependent Claims (22, 23, 24, 25, 30)
-
-
26. A device for providing access to encrypted digital information while maintaining protection against copying of corresponding decrypted digital information, wherein the encrypted digital information is associated with executable computer program code for decrypting the digital information, the device comprising:
-
means for receiving computer-readable data defining the executable computer program code and the encrypted digital information; means for executing the executable computer program code such that the executable computer program code has a protected memory area; means for authorizing decryption; and means for decrypting the encrypted digital information and storing the decrypted digital information in the protected memory area. - View Dependent Claims (27, 28, 29)
-
-
31. A device for providing access to encrypted digital information while maintaining protection against copying of corresponding decrypted digital information, wherein the encrypted digital information is associated with executable computer program code for decrypting the digital information, the device comprising:
-
an input through which computer-readable data defining the encrypted digital information and the associated executable computer program code is received; a processor having a first input for receiving the executable computer program code and associating the executable computer program code with a protected memory area, and a second input for receiving the encrypted digital information, wherein the processor authorizes decryption and decrypts the encrypted digital information according to the executable computer program code and stores the decrypted digital information in the protected memory area. - View Dependent Claims (32, 33, 34, 35)
-
Specification