Plaque It!
Sponsored by: Flash of Genius |
[0001] Reference is made to commonly assigned U.S. patent application Ser. No. ______ filed concurrently herewith, entitled “Copy Protection Using Multiple Security Levels on a Programmable CD-ROM” by Barnard et al, U.S. patent application Ser. No. 09/211,763 filed Dec. 15, 1998, entitled “Method for Insuring Uniqueness of an Original CD” by Mueller et al, and U.S. patent application Ser. No. 09/393,527 filed Sep. 10, 1999, entitled “Hybrid Optical Recording Disc with Copy Protection” by Ha et al; the disclosures of which are incorporated herein by reference.
[0002] The present invention relates to copy protection for information recorded on a compact disc or other optically recorded disc.
[0003] Consumer purchase of optical discs that contain audio, video, software, or data has generated a multi-billion-dollar industry. Recently, the advent of low-cost optical recording media and drives has enabled widespread unauthorized copy of this content. To defeat this, various copy protection schemes have been proposed. However, some of those schemes rely on characteristics of the digital data stream, which can be copied by sophisticated low-cost recorders using bit-for-bit copying. Other schemes rely on changing the characteristics of the optical disc in ways that make it difficult to both write and read. Still other schemes rely on network connections or secondary “key” disc schemes that do not allow stand-alone protection.
[0004] Horstmann (U.S. Pat. No. 6,044,469) discloses a software protection mechanism with a protector module that reads a license file and executes code based upon the license that has been purchased. Thus, it protects software at the logical level, especially for parts of the software for which rights have not been granted. If this system were included on a compact disc (CD), a reproduction of this disc using a standard CD writer would make a copy with all the existing access in place.
[0005] Asai et al (U.S. Pat. No. Re. 35,839) describes a method of using an identifier region on a compact disc to store data that is compared with data stored elsewhere on the disc to verify authenticity. While this protects the data on a logical level, a simple bit-for-bit copy of the disc would subvert this protection scheme.
[0006] DeMont (U.S. Pat. No. 5,982,889) teaches a method for verifying the authenticity of a user's access to information products. The disadvantage of this system is that authentication is done via a central site. The user who does not wish to (or cannot) connect to the network is excluded from using this product.
[0007] Hasebe, et al (U.S. Pat. No. 5,555,304) describe a system, which is keyed to the individual user and to computer used. This limits an authorized user to the use of the program on a single computer, and severely restricts the users' mobility or ability to upgrade their equipment. Further, while this patent also claims the use of data stored in an un-rewritable area of a disc, the manner in which it is made un-rewritable leaves open the possibility of copying the data (including the “un-rewritable” portion) to a fresh disc.
[0008] A series of patents by Fite et al (U.S. Pat. Nos. 5,400,319, 5,513,169, 5,541,904, 5,805,549, and 5,930,215) discloses a method of creating a machine-readable serial number code on optical discs by selectively removing the reflective layer from small areas of the disc in a way that creates a definable code. The disadvantage to such a system is that special equipment is required to write this special code.
[0009] Kanamaru (U.S. Pat. No. 5,940,505) teaches how a CD-ROM may be copy-protected. However, all embodiments of Kanamaru's invention require auxiliary hardware, either in the form of an integrated circuit or an additional computer board, to decrypt the information on the disc.
[0010] O'Connor et al., U.S. Pat. No. 5,745,568 discloses a method and system for securing CD-ROM (compact disc-read only memory) data for retrieval by a specified computer system. A region of an optical disc is encrypted with a hardware identifier as an encryption key. The hardware identifier is associated to the selected computer hardware. The software program files contained in the CD-ROM are encrypted therein using the hardware identifier as an encryption key. The selected software programs on the CD-ROM are installed on the selected computer by decrypting the software program files using the hardware identifier as an encryption key.
[0011] Akiyama et al., U.S. Pat. No. 5,805,699, propose a software copying system which enables copyrighted software recorded in a master storage medium to be copied to a user's target storage medium in a legitimate manner. The master storage medium (i.e., CD-ROM) has a software identifier, and the target storage medium has a storage medium identifier. The two identifiers are sent to a central site, which manages licensing for the rights to copy software products. At the central site, a first signature is generated from the two identifiers which is sent back to the computer user. In the computer of the user a second signature is generated from the same two identifiers. Only when the two signatures coincide with each other can the software programs be copied from the master storage medium to the target storage medium.
[0012] Chandra et al., U.S. Pat. No. 4,644,493 discloses a method and apparatus which restricts software distribution used on magnetic media to use on a single computer. The original software contained on the magnetic medium is functionally uncopyable until it is modified by the execution of a program stored in a tamper-proof co-processor, which forms a part of the computer.
[0013] Indeck et al., U.S. Pat. No. 5,740,244 discloses an implementation by which a software product on a magnetic medium may first instruct a computer in which it is inserted to read a fingerprint of a specified portion of the product and to compare this fingerprint with a pre-recorded version of the same fingerprint. If the fingerprints match, then the software product may permit the computer to further read and implement the application software stored thereon.
[0014] There are various problems associated with these methods. One is that many of them are open to what are known as “hacks,” which means that if one user determines the method of decrypting or using the application, it is very easy for that person to disseminate the manner of gaining access to the application. Some methods prevent this problem by making the use of a particular application dependent upon a particular hardware combination. This approach creates a problem of portability. The legitimate user cannot use the application on a computer in a different location. The application may fail to start if users change their hardware configuration, such as by an upgrade.
[0015] It is therefore an object of the present invention to provide a way for providing copy protection (but which can be created on standard CD-mastering and writing equipment) cannot be subverted by a bit-for-bit copying scheme on standard CD-writers.
[0016] This object is achieved by a copy-protected optical disc, comprising:
[0017] a) a preformed identification number (ID) which is impressed upon the optical disc during optical disc manufacture;
[0018] b) a unique identification number for the optical disc which was written on the optical disc after it is manufactured; and
[0019] c) an encrypted program written onto the optical disc wherein the encryption of such program is based upon the preformed ID and the unique identification number.
[0020] This invention prevents the discovery of a generic hack while also providing portability, so that the authorized user is not restricted to using a single computer system. Also unlike much of the prior art it doesn't require a central rights granting facility to be contacted whenever the software is to be used or installed.
[0021] The use of both a physically-based key (a preformed ID) and a logically-based key (a unique ID) eliminates a number of methods of duplication. Simple bit-for-bit duplication is avoided because it will not copy the preformed ID, which is encoded in the physical structure of the disc tracks. “Sharing” of software between users or customers is avoided because such shared software will not run without the correct unique ID, even if (as might be the case) both users are using discs with the same preformed ID. This recording method creates an executable file, which is locked.
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029] Turning now to
[0030] Writable compact optical discs, including Programmable CD-ROM, rely in part on groove modulation. The disc
[0031] The groove oscillation frequency is modulated with a signal known as Absolute Time In Pre-groove, or ATIP. ATIP contains information about the location of the track relative to the entire recording surface of the optical disc
[0032] In the disc
[0033] In the ROM area of a Programmable CD-ROM optical disc the groove is further modulated in the form of depressions which correspond disc program data. The format in which non-audio information is stored on a CD is known as the “Yellow Book” standard.
[0034] The first session (ROM area) of the disc
[0035] The disc
[0036] Turning next to
[0037] Turning next to
[0038] The customer starts by designating the files to be encrypted. These files may include both data and executable programs or just executable programs. The customer then enters information corresponding to the preformed ID
[0039] Cryptography and cryptographic functions are well known in the art. A good description can be found in Applied Cryptography, B. Schneier, John Wiley and Sons, Inc., New York, 1996, the contents of which is incorporated herein by reference. In our example, we will use the following notation:
TABLE 1 Cryptographic notation Symbol Meaning P Program to be encrypted E Encrypting function B Preformed ID U Unique ID I Concatenated ID = BU X Encrypted program = E(P, I)
[0040] Any encryption function may be used for this invention which satisfies the following properties: the computation E(P,I) is feasible, i.e. E is computable in polynomial time; the polynomial time algorithm for calculation of E
[0041] Encryption follows the steps:
[0042] 1. The preformed ID B and the unique ID U are obtained;
[0043] 2. The two ID's are concatenated I=BU to give the encryption/decryption key I;
[0044] 3. The concatenated ID is used by the encryption algorithm E to calculate the encrypted program, X=E(P,I).
[0045] Decryption follows the steps:
[0046] 1. The preformed ID B and the unique ID U are obtained;
[0047] 2. The two ID's are concatenated I=BU to give the encryption/decryption key I;
[0048] 3. The concatenated ID is used by the decryption algorithm E
[0049] Turning next to
[0050] The discs
[0051] The customer then prepares the disc for encryption. This is shown schematically as step
[0052] Turning now to
[0053] The customer then prepares the disc for encryption. This is shown schematically as step
[0054] Turning now to
[0055] If no such hacking software is present on the end-user's system, the decryption program reads the Drive ID in step
[0056] In step
[0057] The decryption program remains in the background (step
[0058] Turning now to
[0059] The pirate may instead have a Programmable CD-ROM disc with one or more duly-registered programs, but may illicitly copy other programs from other users'Programmable CD-ROM discs (step
[0060] The pirate may be aware of the importance of the unique ID
[0061] The pirate may be aware not only of the unique ID
[0062] The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.
PARTS LIST 10 Compact disc in accordance with this invention 12 Center hole 14 First session of the disc, pressed in the manufacturing process 16 Second session of the disc; start of writable area 18 Third session of the disc 20 User-writable area of the disc (optional) 22 Preformed identification number 24 Unique identification number 30 Encrypted executable package 32 Wrapping software 34 Anti-hacking routines 36 Polymorphic data and/or commands 38 De-encrypting routines 40 Encrypted executable 48 Block 50 Block 52 Block 58 Block 60 Block 62 Block 64 Block 66 Block 68 Block 70 Block 72 Block 74 Inclusive block 76 Inclusive block 80 Block 82 Block 84 Block 86 Block 88 Block 90 Block 92 Block 94 Block 96 Block 100 Block 102 Block 104 Decision block 106 Stop block 108 Block 110 Block 116 Block 118 Block 120 Block 122 Decision block 124 Block 146 Block 148 Static Block 150 Block 152 Block 154 Block 160 Block 162 Block 164 Block 166 Block 168 Block 170 Block 172 Block 174 Block 176 Block