Patent Publication Number: US-8984658-B2

Title: Copyright protection data processing system and reproduction device

Description:
This application is a Divisional of U.S. application Ser. No. 12/524,604, filed Jul. 27, 2009, now U.S. Pat. No. 8,250,664 issued on Aug. 21, 2012, which is a national stage application of International Application No. PCT/JP2008/000311, filed Feb. 22, 2008. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Technical Field 
     The present invention relates to an art of protecting copyrights of digital contents such as movie and music. 
     2. Background Art 
     In recent years, with the increase in storage capacities of recording media and the spread of broadband networks, there has become widespread a system in which digital contents are distributed by being recorded in recording media or via a broadband network. Note that the digital contents are generated by digitizing copyrighted works such as movie and music, and are hereinafter referred to just as “contents”. In such a system, copyrights of contents need to be protected, and playback and copying of the contents need to be restricted under the agreement with copyright holders of the contents. As a conventional art for protecting copyright works against unauthorized acts such as copying of the copyright works without permission of copyright holders thereof, there has been known a method using an encryption technique. Also, there has been known a method of recording a program in a recording medium in addition to a content, and implementing a virtual machine that is an execution environment of the program in a playback device for playing back the content recorded in the recording medium. This art is disclosed in the Patent Document 1. When the recording medium is inserted into the playback device, the playback device reads the program from the inserted recording medium, and executes the read program in an execution environment (virtual machine) included therein. The content recorded in the recording medium is protected based on the program. When the program is executed, the protection of the content is cancelled, thereby enabling playback of the content. 
     On the other hand, in the process of manufacturing commercial recording media (hereinafter, referred to as “ROM media”) having contents recorded therein, it is important to check the quality of the contents. It takes time to manufacture commercial ROM media. After frequent checking of the quality, the commercial ROM media are released in the market. Such commercial ROM media are generally manufactured by transferring the recorded contents to recording media such as R media and frequently performing the quality check of the contents and re-creation of the contents. Here, playback devices are capable of playing back both contents recorded in ROM media and contents recorded in R media. Also, it is impossible to judge whether a recording medium is an R medium manufactured for testing (quality check) in the process of manufacturing ROM media or an R medium manufactured by copying a ROM medium in an unauthorized manner. Accordingly, copyrights of contents might be infringed.
     Patent Document 1: U.S. Pat. No. 7,058,284   

     However, if playback devices are prohibited from playing back contents recorded in R media, there occurs a problem that it takes more time to manufacture commercial ROM media. Conversely, if playback devices are permitted to play back contents recorded in R media, there occurs a problem that copyrights might be infringed. 
     In view of these, the present invention aims to provide a copyright protection data processing system and a playback device capable of solving the above problems. 
     SUMMARY OF THE INVENTION 
     In order to solve the above problem, the present invention provides a content playback device for playing back a digital content, the content playback device comprising: an information acquisition unit operable to acquire a content playback program to be used for playing back the digital content on a recording medium in which the digital content, the content playback program, and a digital signature attached to the content playback program are recorded; a medium type judgment unit operable to judge whether a medium type of the recording medium is a read-only type or a recordable type; a signature verification unit operable to perform verification of the digital signature using different signature verification methods between the read-only type and the recordable type; and a playback permission determination unit operable to prohibit performing playback of the digital content made by execution of the content playback program if the verification is unsuccessful. 
     Also, the content playback program may include a header part and an instruction code part, the signature verification unit may perform, as preprocessing of the verification of the digital signature, hash operation on at least one portion of the header part and all portions of the instruction code part, and perform the verification using a value obtained as a result of the hash operation, regardless of whether the judged medium type is the read-only type or the recordable type. 
     Also, the signature verification unit may use all the portions of the header part. 
     Also, the header part may include an instruction code size field defining a size of the instruction code part, and the signature verification unit may overwrite the instruction code size field with a fixed value before performing the hash operation if the judged medium type is the recordable type. 
     Also, the signature verification unit may perform the hash operation on the at least one portion of the header part and all the portions of the instruction code part, perform bit-inversion on the value obtained as a result of the hash operation, and perform the verification of the digital signature using a value obtained as a result of the bit-inversion, if the judged medium type is the recordable type. 
     Also, the content playback device may further comprise an encryption judgment unit operable to judge whether the digital content is encrypted, wherein the playback permission determination unit may further prohibit performing playback of the digital content made by execution of the content playback program if the digital content is judged to be encrypted. 
     The present invention provides a content provider terminal device for recording a digital content, the content provider terminal device comprising: a no-signature program storage unit operable to store therein a content playback program to be used for playing back the digital content; a transmission unit operable to transmit the content playback program and signature type information indicating whether a signature type of a digital signature to be attached to the content playback program is a test release type or an official release type; a reception unit operable to receive the content playback program to which the digital signature having the signature type indicated by the signature type information is attached; and a recording unit operable to record, in a recording medium, the content playback program to which the digital signature is attached and the digital content. 
     The present invention provides a certification authority terminal device for attaching a digital signature to a content playback program to be used for playing back a digital content, the certification authority terminal device comprising: a reception unit operable to receive, from a content provider terminal device for providing the digital content, the content playback program and signature type information indicating whether a signature type of a digital signature to be attached to the content playback program is a test release type or an official release type; a signature generation attachment unit operable to generate a digital signature using a different signature generation method for each of the signature types, and attach the generated digital signature to the content playback program; and a transmission unit operable to transmit, to the content provider terminal device, the content playback program to which the digital signature is attached. 
     Also, the content playback program may include a header part and an instruction code part, if the signature type information indicates the official release type, the signature generation attachment unit may perform hash operation on at least one portion of the header part and all portions of the instruction code part, and generate the digital signature using a value obtained as a result of the hash operation, and if the signature type information indicates the test release type, the signature generation attachment unit may perform hash operation on the at least one portion of the header part and all the portions of the instruction code part, perform bit-inversion on a value obtained as a result of the hash operation, and generate the digital signature using a value obtained as a result of the bit-inversion. 
     Also, the signature generation attachment unit may use all the portions of the header part. 
     Also, the header part may include a size field defining a size of the instruction code part, and the signature generation attachment unit may overwrite the size field with a fixed value before performing the hash operation if the signature type information indicates the test release type. 
     The present invention provides a recording medium for recording therein a digital content and a content playback program that is a program for performing playback processing of the digital content, wherein if the content playback program has an official release type, a digital signature having the official release type is attached to the content playback program, and if the content playback program has a test release type, a digital signature having the test release type is attached to the content playback program. 
     The present invention provides a content playback method of playing back a digital content, the content playback method comprising: an information acquisition step of acquiring a content playback program to be used for playing back the digital content on a recording medium in which the digital content, the content playback program, and a digital signature attached to the content playback program are recorded; a medium type judgment step of judging whether a medium type of the recording medium is a read-only type or a recordable type; a signature verification step of performing verification of the digital signature using different signature verification methods between the read-only type and the recordable type; and a playback permission determination step of prohibiting playback of the digital content made by execution of the content playback program if the verification is unsuccessful. 
     The present invention provides a content supply method of recording a digital content, the content supply method comprising: a no-signature program storage step of storing a content playback program to be used for playing back the digital content; a transmission step of transmitting the content playback program and signature type information indicating whether a signature type of a digital signature to be attached to the content playback program is a test release type or an official release type; a reception step of receiving the content playback program to which the digital signature having the signature type indicated by the signature type information is attached; and a recording step of recording, in a recording medium, the content playback program to which the digital signature is attached and the digital content. 
     The present invention provides a program certification method for attaching a digital signature to a program, the program certification method comprising: a reception step of receiving, from a content provider terminal device for providing the digital content, the content playback program and signature type information indicating whether a signature type of a digital signature to be attached to the content playback program is a test release type or an official release type; a signature generation attachment step of generating a digital signature using a different signature generation method for each of the signature types, and attaching the generated digital signature to the content playback program; and a transmission step of transmitting, to the content provider terminal device, the content playback program to which the digital signature is attached. 
     The present invention provides a content playback control program, comprising: an information acquisition step of acquiring a content playback program to be used for playing back the digital content on a recording medium in which the digital content, the content playback program, and a digital signature attached to the content playback program are recorded; a medium type judgment step of judging whether a medium type of the recording medium is a read-only type or a recordable type; a signature verification step of performing verification of the digital signature using different signature verification methods between the read-only type and the recordable type; and a playback permission determination step of prohibiting performing playback of the digital content made by execution of the content playback program if the verification is unsuccessful. 
     The present invention provides an integrated circuit that relates to a content playback device for playing back a digital content, the integrated circuit comprising: an information acquisition unit operable to acquire a content playback program to be used for playing back the digital content on a recording medium in which the digital content, the content playback program, and a digital signature attached to the content playback program are recorded; a medium type judgment unit operable to judge whether a medium type of the recording medium is a read-only type or a recordable type; a signature verification unit operable to perform verification of the digital signature using different signature verification methods between the read-only type and the recordable type; and a playback permission determination unit operable to prohibit performing playback of the digital content made by execution of the content playback program if the verification is unsuccessful. 
     The present invention provides a copyright protection data processing system composed of a certification authority terminal device for attaching a digital signature to a content playback program to be used for playing back a digital content, a content provider terminal device for recording the digital content and the content playback program in a recording medium, and a content playback device for playing back the digital content, wherein the certification authority terminal device comprises: a first reception unit operable to receive the content playback program and signature type information from the content provider terminal device, the signature type information indicating whether a signature type of the digital signature to be attached to the content playback program is a test release type or an official release type; a signature type recording unit operable to add the received signature type information to the content playback program; a signature generation attachment unit operable to generate the digital signature using a different signature generation method for each of the signature types, and attach the generated digital signature to the content playback program to generate a signature program having the digital signature attached thereto; and a first transmission unit operable to transmit the generated signature program to the content provider terminal device, the content provider terminal device comprises: a no-signature program storage unit operable to store therein the content playback program; an acquisition unit operable to acquire the signature type information indicating the signature type of the digital signature to be attached to the content playback program; a second transmission unit operable to transmit the content playback program and the signature type information to the certification authority terminal device; a second reception unit operable to receive the signature program from the certification authority terminal device; and a recording unit operable to record the signature program and the digital content in the recording medium, and the content playback device comprises: an information acquisition unit operable to acquire the signature program on the recording medium; a medium type judgment unit operable to judge whether a medium type of the recording medium is a read-only type or a recordable type; a signature verification unit operable to perform verification of the digital signature using different signature verification methods between the read-only type and the recordable type; and a playback permission determination unit operable to prohibit performing playback of the digital content made by execution of the content playback program if the verification is unsuccessful. 
     In the content market where manufacturers of playback devices develop playback devices and content providers develop contents, the operation check of contents under development is performed using as many playback devices as possible to find defects in advance. The manufacturers of playback devices and the content providers correct the defects of playback devices and the defects of the contents respectively so as to perform the compatibility verification. Then, high-quality contents are released. This brings merits to the content providers. For example, it is possible to reduce the recall risk due to the playback impossibility caused by the defects of the contents. Also, it is possible to realize a highly-attractive user interface by performing tuning in accordance with the ability of playback devices even if the ability is low. 
     If cooperative manufacturers of playback devices provide content providers with special playback devices for normally executing even a program to which no signature is attached that is recorded in an R medium, the content providers can perform the compatibility verification to realize the correction cycle of assessing contents and correcting defects of the contents in a shortened period. However, it takes time to have negotiations with many manufacturers of playback devices in order to have them prepare such special playback devices. Also, if software of commercially available playback devices needs to be updated due to some defects, it is highly possible that software of the special playback devices managed by content providers has the same defects as that of the commercially available playback devices and needs to be updated. In such a case, it takes time to send back the special playback devices having the defects to the manufacturers of the special playback devices to have the software updated. Furthermore, there might occur a case in which some of the manufacturers of playback devices might refuse to update the software or refuse to provide with the special playback devices from the beginning. 
     In view of these, by defining a common specification for R media such that playback of a content is permitted in a case where a digital signature having a test release type is attached to a program corresponding to the content, content providers have a certification authority issue a digital signature having the test release type for the program. As a result, it is possible to perform the playback compatibility using the program to which the digital signature having the test release type is attached and an R medium in which the content is recorded. In this case, it is unnecessary to manufacture ROM media. This shortens a period for performing a series of correction cycles including assessment, correction, and reassessment of contents by a period necessary for manufacturing ROM media. It is true that it takes time and money to have a digital signature having the test release type issued. However, the digital signature having the test release type is issued without verifying data of the digital signature, unlike the issuance of a digital signature having an official release type. Accordingly, it takes less time and money to issue a digital signature having the test release type than a digital signature having the official release type. On the other hand, it is unnecessary to have all the manufacturers of playback devices prepare special playback devices. The content providers only have to purchase commercially available playback devices, and store a program to which a digital signature having the test release type is attached and a content in an R medium so as to perform the compatibility verification. This brings great merits to the content providers. 
     However, on the other hand, assume that if a specification is defined such that execution of a program to which a digital signature having the test release type is attached is permitted, some of manufacturers of playback devices might manufacture playback devices having poor implementations, and execute a program to which a digital signature having the test release type is attached without judging whether the digital signature has the test release type or the official release type. In such a case, there is a possibility that the playback devices manufactured by such manufacturers might execute a program to which a digital signature having the official release type is attached, as well as a program to which a digital signature having the test release type is attached. Assume that a content prepared by breaking a code and a program to which a digital signature having the official release type is attached is written from a commercially available ROM medium into an R medium and, a playback device having poor implementation plays back the content. In such a case, the program is executed, and as a result the content is normally played back. If manufacturers of playback devices perform implementation such that execution of a program to which a digital signature having the test release type is attached is supported, it is possible not to mistakenly execute a program to which a digital signature having the official release type is attached, by making playback devices have the structure in which signature type is certainly judged and poor implementation cannot be performed. 
     The present invention can reduce poor implementation made by manufacturers of playback devices to make, by partially modifying a procedure of signature generation and a procedure of signature verification depending on whether a signature has the test release type or the official release type. 
     According to the present invention with the above structures, it is possible to realize both the efficient manufacturing of commercial ROM media and the protection of copyrights of contents. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram showing the structure of a copyright protection data processing system according to a first embodiment of the present invention; 
         FIG. 2  is a block diagram showing the structure of a signature generation device according to the first embodiment; 
         FIG. 3  is a block diagram showing the structure of a recording device according to the first embodiment; 
         FIG. 4  is a block diagram showing the structure of a playback device according to the first embodiment; 
         FIG. 5  shows an example of a signature program according to the first embodiment; 
         FIG. 6  shows the operations of the signature generation device according to the first embodiment; 
         FIG. 7  shows the operations of the recording device according to the first embodiment; 
         FIG. 8  shows the operations of the playback device according to the first embodiment; 
         FIG. 9  shows the structure of an LSI realizing the functions of the playback device according to the first embodiment; 
         FIG. 10  is a block diagram showing the structure of a copyright protection data processing system according to a second embodiment; 
         FIG. 11  is a block diagram showing a certification terminal device according to the second embodiment; 
         FIG. 12  is a block diagram showing a content provider terminal device according to the second embodiment; 
         FIG. 13  is a block diagram showing a signature program according to the second embodiment; 
         FIG. 14  shows the structure showing a playback device according to the second embodiment; 
         FIG. 15  shows the operations of the certification terminal device according to the second embodiment; 
         FIG. 16  shows the operations of the content provider terminal device according to the second embodiment; 
         FIG. 17  shows the operations of the playback device according to the second embodiment; 
         FIG. 18  shows the operations of the playback device according to the second embodiment; and 
         FIG. 19  shows the structure of an LSI that realizes the functions of the playback device according to the second embodiment. 
     
    
    
     DESCRIPTION OF CHARACTERS 
     
         
         
           
               101 : program generation organization 
               102 : signature generation device 
               103 : content provider terminal device 
               104 : recording device 
               105 : recording medium 
               106 : playback device 
               1001 : certification terminal device 
               1002 : content provider terminal device 
               1003 : recording medium 
               1004 : playback device 
           
         
       
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The following describes an embodiment of the present invention with reference to the drawings. 
     First Embodiment 
     1.1 Structure of Copyright Protection Data Processing System 
     A copyright protection data processing system according to a first embodiment of the present invention includes, as shown in  FIG. 1 , a program generation organization  101 , a signature generation device  102 , a content provider terminal device  103 , a recording device  104 , a recording medium  105 , and a playback device  106 . 
     The program generation organization  101  generates a program necessary for playing back a content, transmits the generated program to the signature generation device  102 , and receives a signature program having a signature attached thereto from the signature generation device  102 . 
     The recording device  104  receives the signature program from the program generation organization  101 , and receives a content protected by the signature program from the content provider terminal device  103 . Furthermore, the recording device  104  reads, from the recording medium  105 , medium type information showing a medium type of the recording medium  105 , and determines whether to permit recording of the received content. If determining to permit recording of the content, the recording device  104  records the received signature program and content in the recording medium  105 . 
     The playback device  106  reads, from the recording medium  105 , the signature program, the content, and the medium type information showing the medium type of the recording medium  105 . Then, the playback device  106  determines whether to permit playback of the received content. If determining to permit playback of the content, the playback device  106  plays back the protected content by executing the signature program. 
     At this time, the content recorded in the recording medium  105  is protected by the program recorded in the same recording medium  105 . As a method of protecting a content, it is possible to employ the structure in which a program calculates secret information in predetermined intervals, and encrypts the content using the secret information as key data, for example. An encryption technique used here may be a known method such as the DES encryption and the AES encryption. Furthermore, since an XOR operation based on the secret information may be employed instead of the encryption technique, the description of the method of content protection is omitted here. 
     1.2 Structure of Signature Generation Device  102   
     The signature generation device  102  includes, as shown in  FIG. 2 , an I/O unit  201 , a signature type writing unit  202 , and a signature generation attachment unit  203 . 
     The signature generation device  102  is specifically composed of a microprocessor, a RAM, a ROM, a hard disk, and the like, though not shown in the figure. A computer program is stored in the RAM, the ROM, and the hard disk. Functions of the signature generation device  102  are achieved by the microprocessor operating in accordance with the computer program. 
     Note that each of the functional units of the signature generation device  102 , such as the I/O unit  201 , the signature type writing unit  202 , and the signature generation attachment unit  203 , is typically realized as an LSI that is an integrated circuit. These functional units may be may be separately integrated into one chip, or integrated into one chip including part or all of the functional units. 
     Here, the LSI may be called an IC, a system LSI, a super LSI, and an ultra LSI, depending on the integration degree. 
     Also, a method of forming integrated circuits is not limited to LSIs, and may be realized using a dedicated circuit or a general-purpose processor. Furthermore, it is possible to form integrated circuits with use of an FPGA (Field Programmable Gate Array) programmable after manufacturing LSIs or a reconfigurable processor in which connection and setting of the circuit cell inside an LSI can be reconfigured. 
     Furthermore, when a new technology for forming integrated circuits that replaces LSIs becomes available as a result of progress in semiconductor technology or semiconductor-derived technologies, the functional units may be integrated using such technology. One possibility lies in adaptation of biotechnology. 
     Finally, the functional units may be realized with software, or by combining an LSI and software. Also, the software may be tamper-resistant. 
     (1) I/O Unit  201   
     The I/O unit  201  receives, from the program generation organization  101 , a program to which a signature is to be attached and a request for signature type of the signature to be attached to the program (test release type or official release type). 
     Also, the I/O unit  201  receives, from the signature generation attachment unit  203 , a program in which a signature generated by the signature generation attachment unit  203  is recorded, and transmits the received program to the program generation organization  101 . 
     (2) Signature Type Writing Unit  202   
     The signature type writing unit  202  writes the requested signature type received by the I/O unit  201  into the program received by the I/O unit  201 . 
       FIG. 5  shows an example of the data structure of a program. The program is composed of a header part  510 , an instruction code part  520 , and a signature data part  530 . The signature type writing unit  202  writes the signature type requested by the program generation organization  101  into a signature type storage region  511  included in the header part  510 . For example, if the test release type is requested, the signature type writing unit  202  writes signature type information “0x01” into the signature type storage region  511 . If the official release type is requested, the signature type writing unit  202  writes signature type information “0x10” into the signature type storage region  511 . Also, instruction codes are stored in an instruction code storage region included in the instruction code part  520 . Furthermore, signatures generated by the signature generation device  102  are stored in a signature data storage region included in the signature data part  530 . 
     (3) Signature Generation Attachment Unit  203   
     The signature generation attachment unit  203  generates a signature for the program into which the signature type is written, and records the generated signature in the signature data storage region included in the signature data part  530  of the program. Then, the signature generation attachment unit  203  transmits the program in which the generated signature is recorded (hereinafter, referred to as “signature program”) to the I/O unit  201 . 
     1.3 Structure of Recording Device  104   
     The recording device  104  includes, as shown in  FIG. 3 , an I/O unit  301 , a medium type judgment unit  302 , a signature type judgment unit  303 , and a recording permission determination unit  304 . 
     The recording device  104  is specifically composed of a microprocessor, a RAM, a ROM, a hard disk, and the like, though not shown in the figure. A computer program is stored in the RAM, the ROM, and the hard disk. Functions of the recording device  104  are achieved by the microprocessor operating in accordance with the computer program. 
     Note that each of the functional units of the recording device  104 , such as the I/O unit  301 , the medium type judgment unit  302 , the signature type judgment unit  303 , and the recording permission determination unit  304 , is typically realized as an LSI that is an integrated circuit. These functional units may be separately integrated into one chip, or integrated into one chip including part or all of the functional units. 
     Here, the LSI may be called an IC, a system LSI, a super LSI, and an ultra LSI, depending on the integration degree. 
     Also, a method of forming integrated circuits is not limited to LSIs, and may be realized using a dedicated circuit or a general-purpose processor. Furthermore, it is possible to form integrated circuits with use of an FPGA programmable after manufacturing LSIs or a reconfigurable processor in which connection and setting of the circuit cell inside an LSI can be reconfigured. 
     Furthermore, when a new technology for forming integrated circuits that replaces LSIs becomes available as a result of progress in semiconductor technology or semiconductor-derived technologies, the functional units may be integrated using such technology. One possibility lies in adaptation of biotechnology. 
     Finally, the functional units may be realized with software, or by combining an LSI and software. Also, the software may be tamper-resistant. 
     (1) I/O Unit  301   
     The I/O unit  301  receives a signature program from the program generation organization  101 , and receives a content from the content provider terminal device  103 , and furthermore reads medium type information from the recording medium  105 . 
     Also, if judging to permit recording of the received content and signature program, the I/O unit  301  records the content and the signature program in the recording medium  105 . 
     (2) Medium Type Judgment Unit  302   
     The medium type judgment unit  302  specifies a medium type based on the medium type information read by the I/O unit  301 , and transmits the specified medium type to the recording permission determination unit  303 . 
     Here, the medium type indicates a medium type of recording medium, such as a ROM (Read Only Memory), an R (Recordable), and an RW (ReWritable). Since the medium type can be identified with use of a known method such as an identification method that uses an identifier (ID) recorded on a recording medium, the description thereof is omitted here. In the following descriptions, identifiers “0x001”, “0x010”, and “0x100” are respectively recorded in the ROM, the R, and the RW, as an example. 
     (3) Signature Type Judgment Unit  303   
     The signature type judgment unit  304  reads signature type information stored in a signature type storage region  511  included in a header part  510  of the signature program received by the I/O unit  301 , and specifies a signature type of the signature, and transmits the specified signature type to the recording permission determination unit  303 . 
     (4) Recording Permission Determination Unit  304   
     The recording permission determination unit  304  determines whether to permit recording of the content and the signature program, based on both the medium type specified by the medium type judgment unit  302  and the signature type specified by the signature type judgment unit  303 . 
     Specifically, if the medium type and the signature type are respectively specified as R (0x010) and test release type (0x01), the recording permission determination unit  304  permits recording of the content and the signature program in the recording medium. If the medium type and the signature type are respectively specified as R (0x010) and official release type (0x10), the recording permission determination unit  304  prohibits recording of the content and the signature program in the recording medium. 
     1.4 Structure of Playback Device  106   
     The playback device  106  includes, as shown in  FIG. 4 , an I/O unit  401 , a signature verification unit  402 , a signature type judgment unit  403 , a medium type judgment unit  404 , a playback permission determination unit  405 , and a playback unit  406 . 
     The playback device  106  is specifically composed of a microprocessor, a RAM, a ROM, a hard disk, and the like, though not shown in the figure. A computer program is stored in the RAM, the ROM, and the hard disk. Functions of the playback device  106  are achieved by the microprocessor operating in accordance with the computer program. 
     Note that each of the functional units of the playback device  106 , such as the I/O unit  401 , the signature verification unit  402 , the signature type judgment unit  403 , the medium type judgment unit  404 , the playback permission determination unit  405 , and the playback unit  406 , is typically realized an LSI that is an integrated circuit. These functional units may be separately integrated into one chip, or integrated into one chip including part or all of the functional units.  FIG. 9  shows an example of the manufacture of the system LSI. In  FIG. 9 , the functional units surrounded by a dashed line are integrated into one chip as an LSI. 
     Here, the LSI may be called an IC, a system LSI, a super LSI, and an ultra LSI, depending on the integration degree. 
     Also, a method of forming integrated circuits is not limited to LSIs, and may be realized using a dedicated circuit or a general-purpose processor. Furthermore, it is possible to form integrated circuits with use of an FPGA programmable after manufacturing LSIs or a reconfigurable processor in which connection and setting of the circuit cell inside an LSI can be reconfigured. 
     Furthermore, when a new technology for forming integrated circuits that replaces LSIs becomes available as a result of progress in semiconductor technology or semiconductor-derived technologies, the functional units may be integrated using such technology. One possibility lies in adaptation of biotechnology. 
     Finally, the functional units may be realized with software, or by combining an LSI and software. Also, the software may be tamper-resistant. 
     (1) I/O Unit  401   
     The I/O unit  401  reads a signature program, a content, and medium type information from the recording medium  105 , and transmits the read signature program to the signature verification unit  402 , and transmits the read medium type information to the medium type judgment unit  404 . 
     (2) Signature Verification Unit  402   
     The signature verification unit  402  verifies a signature stored in a signature data part  530  of a signature program read by the I/O unit  401 , and judges whether the program is an authentic program. Also, it is possible to check the completeness of the program by performing signature verification. For example, it is possible to check whether signature type information stored in a signature type storage region  511  included in a header part  510  of the program is not tampered with. If judging that the program is not an authentic program as a result of the signature verification, the playback device  106  does not perform subsequent playback processing, and stops the operations. 
     (3) Signature Type Judgment Unit  403   
     The signature type judgment unit  403  reads the signature type information stored in the signature type storage region  511  included in the header part  510  of the signature program received by the I/O unit  401  to specify a signature type, and transmits the specified signature type to the playback permission determination unit  405 . 
     (4) Medium Type Judgment Unit  404   
     The medium type judgment unit  404  specifies a medium type based on the medium type information read by the I/O unit  401 , and transmits the specified medium type to the playback permission determination unit  405 . 
     Here, the medium type indicates a medium type of recording medium, such as a ROM (Read Only Memory), an R (Recordable), and an RW (ReWritable). Since the medium type can be identified with use of a known method such as an identification method that uses an identifier (ID) recorded on a recording medium, the description thereof is omitted here. In the following descriptions, identifiers “0x001”, “0x010”, and “0x100” are respectively recorded in the ROM, the R, and the RW, as an example. 
     (5) Playback Permission Determination Unit  405   
     The playback permission determination unit  405  determines whether to permit playback of the content using the signature program, based on both the medium type specified by the medium type judgment unit  404  and the signature type specified by the signature type judgment unit  403 . 
     Specifically, if the medium type and the signature type are respectively specified as R (0x010) and test release type (0x01), the playback permission determination unit  405  permits playback of the content. If the medium type and the signature type are respectively specified as R (0x010) and official release type (0x10), the playback permission determination unit  405  prohibits playback of the content. This is because the combination of R and test release type indicates that the recording medium is an R medium manufactured for test purpose in the manufacturing process of a ROM medium, and the combination of R and official release signature indicates that the recording medium is an R medium manufactured by copying a ROM medium in an unauthorized manner. 
     (6) Playback Unit  406   
     If the playback permission determination unit  405  permits playback of the content, the playback unit  406  executes a signature program read from the recording medium  105 , in an execution environment thereof. Then, the playback unit  406  descrambles the content that has been scrambled (data that has been modified) based on secret information calculated using the program, so as to play back the content. 
     1.5 Operations of Signature Generation Device  102   
     The operations of the signature generation device  102  are described with reference to  FIG. 6 . 
     The I/O unit  201  included in the signature generation device  102  receives, from the program generation organization  101 , a program necessary for playing back a content and a request for signature type of a signature to be attached to the program (test release type or official release type) (Step S 601 ). Based on the requested signature type received from the I/O unit  201 , the signature type writing unit  202  writes signature type information into the signature type storage region  511  included in the header part  510  of the received program (“0x01” in case of test release type and “0x10” in case of official release signature) (Step S 602 ). 
     The signature generation attachment unit  203  generates a signature for the program into which the signature type information is written by the signature type writing unit  202  in Step S 602 , and writes the generated signature into the signature data storage region included in the signature data part  530  of the program (Step S 603 ). The I/O unit  201  transmits the signature program to which the signature is attached by the signature generation attachment unit  203  to the program generation organization  101  (Step S 604 ). 
     1.6 Operations of Recording Device  104   
     The operations of the recording device  104  are described with reference to  FIG. 7 . 
     The I/O unit  301  included in the recording device  104  receives the signature program necessary for playing back the content from the program generation organization  101 , receives the content from the content provider terminal device  103 , and receives medium type information from the recording medium  105  (Step S 701 ). The medium type judgment unit  302  specifies a medium type of the recording medium (for example, ROM, R, or RW) based on the medium type information received from the I/O unit  301 , and transmits the specified medium type to the recording permission determination unit  304  (Step S 702 ). 
     The signature type judgment unit  303  reads signature type information stored in the signature type storage region  511  included in the header part  510  of the signature program received from the I/O unit  301 , and specifies a signature type of the signature attached to the received program (test release type or official release type), and transmits the specified signature type to the recording permission determination unit  304  (Step S 703 ). Based on both the medium type received from the medium type judgment unit  302  and the signature type received from the signature type judgment unit  303 , the recording permission determination unit  304  determines whether to permit recording of the received signature program and content in the recording medium  105  (Step S 704 ). 
     If the recording permission determination unit  304  determines to permit recording of the content, the I/O unit  301  records the signature program and the corresponding content in the recording medium  105  (Step S 705 ). 
     1.7 Operations of Playback Device  106   
     The operations of the playback device  106  are described with reference to  FIG. 8 . 
     The I/O unit  401  included in the playback device  106  reads the signature program necessary for playing back the content, the corresponding content, and the medium type information from the recording medium  105  (Step S 801 ). The signature verification unit  402  verifies the signature stored in the signature data part  530  of the signature program received from the I/O unit  401 , to judge whether the signature program is an authentic program. If judging that the program is not an authentic program, the subsequent playback processing is not performed (Step S 802 ). 
     The signature type judgment unit  403  reads signature type information stored in the signature type storage region  511  included in the header part  510  of the signature program received from the I/O unit  401  to specify the signature type of the signature attached to the received program (test release type or official release type), and transmits the specified signature type to the playback permission determination unit  405  (Step S 803 ). The medium type judgment unit  404  specifies a medium type (ROM, R, or RW, for example) based on the medium type information received from the I/O unit  401 , and transmits the specified medium type to the playback permission determination unit  405  (Step S 804 ). 
     The playback permission determination unit  405  determines whether to permit playback of the received content, based on both the recording medium received from the medium type judgment unit  404  and the signature type received from the signature type judgment unit  403  (Step S 805 ). If the playback permission determination unit  405  determines to permit playback of the content, the playback unit  406  executes the signature program read from the recording medium  105  in an execution environment included in the playback unit  406 , and the playback unit  406  descrambles the content that has been scrambled (data that has been modified) based on secret information calculated using the program, so as to play back the content (Step S 806 ). 
     Modification Examples 
     While the present invention has been described based on the above embodiment, the present invention is of course not limited to the above embodiment. The present invention also includes the following cases. 
     (1) In the above embodiment, the signature generation device receives a request for signature type, and writes the signature type into a program which is received together with the request. The present invention is not limited to this structure. Alternatively, the following structure may be employed, for example: the signature generation device stores therein both a pair of public keys for signatures having test release type and a pair of public keys for signatures having official release type, and uses a different key for generating a signature depending on a requested signature type instead of writing signature type information. Further alternatively, the following structure may be employed: the signature generation device writes signature type information into a header part of a program, and furthermore uses a different key for generating a signature depending on a requested signature type. 
     (2) In the above embodiment, the two signature types are used, namely the test release type and the official release type. The present invention is not limited to this structure. Alternatively, it may be employ two or more types, such as a test release type for ROM media, a test release type for R media, an official release type for ROM media, and downloaded content type, instead of the test release type and the official release type. Similarly, the medium type is not limited to the three types, namely the ROM, the R, and the RW. Furthermore, the present invention is not limited to the structure in which a judgment on whether test release type or official release type is made based on a signature type of a signature attached to a program. Alternatively, it may be possible to employ the structure, for example, in which a signature is attached not to a program but to a content, and the judgment is made based on a signature type of the signature attached to the content. Further alternatively, the judgment may be made based on information recorded in the recording medium independently from the content and the program. In other words, as long as information that enables appropriate judgment on whether test release type or official release type is recorded in the recording medium, the information does not necessarily need to be in a form of signature type. 
     (3) In the above embodiment, a content recorded in a recording medium is protected by a program recorded in the same recording medium. The present invention is not limited to this structure. Alternatively, the following structure may be employed. For example, in addition to protection of the content by a program (for example, with use of secret information calculated by operations of the program, the content is scrambled or values of data are partially modified), the content is further protected by being encrypted. Further alternatively, the content may be protected using two or more copyright protection techniques. In this case, the recording permission determination unit of the recording device and the playback permission determination unit of the playback device may respectively determine whether to permit recording and playback of the content, based on whether the content is encrypted using a second copyright protection technique or whether the content has a signature attached thereto using the second copyright protection technique, in addition to the medium type and the signature type. Here, the second copyright protection technique is a protection technique other than the protection technique using program described in the above embodiment. As the second protection technique, it may be possible to use a known protection technique such as a protection technique using content encryption. Accordingly, the description thereof is omitted here. For example, if the medium type and the signature type are respectively specified as R and official release and the content is encrypted using the second copyright protection technique or the content has a signature attached thereto using the second copyright protection technique, the recording permission determination unit and the playback permission determination unit respectively may permit recording and playback of the content. Also, if the medium type and the signature type are respectively specified as R and official release, and the content is not encrypted using the second copyright protection technique, and the content does not have a signature attached thereto using the second copyright protection technique, the recording permission determination unit and the playback permission determination unit respectively may prohibit recording and playback of the content. 
     (4) In the above embodiment, the recording device determines whether to permit recording of a content based on both a medium type and a signature type. The present invention is not limited to this structure. Alternatively, whether to permit recording may be determined based on one of the medium type and the signature type. Further alternatively, the following system may be employed. For example, the recording device records the content without making a determination on whether to permit recording of the content, and then the playback device determines whether to permit playback of the content. Further alternatively, after verifying a signature attached to the program, the recording device may determine whether to permit recording of the content by specifying a signature type of the attached signature. 
     (5) In the above embodiment, after verifying a signature, the playback device specifies a signature type of the signature. The present invention is not limited to this structure. Alternatively, the following structure may be employed, for example: after specifying the signature type, the playback device verifies the signature. Further alternatively, in the structure in which keys for generating signatures differ between signature types, the playback device may verify the signature using a key corresponding to the specified signature type. The same also applies to the case of recording by the recording device. 
     (6) In the above embodiment, the playback device determines whether to permit playback of a content based on a medium type and a signature type. The present invention is not limited to this structure. Alternatively, the following structure may be employed. For example, if the medium type is judged to be a ROM, the playback device verifies a signature. If the program is judged to be an authentic program as a result of the verification, the playback device permits playback of the content, regardless of which signature type the signature has. On the other hand, if the medium type is judged to be a medium other than a ROM, the playback device determines whether to permit playback of the content with reference to the signature type. In this way, the step of referring to the signature type may be skipped depending on the judged medium type. Furthermore, the step of referring to the medium type may be skipped depending on the specified signature type, conversely. Moreover, if an encryption method or a signature method according to the second copyright protection technique is used for protecting a content, the step of referring to the medium type or the step of referring to the signature type may be skipped depending on whether the content is protected using the second copyright protection technique. The same also applies to the case of recording by the recording device. 
     (7) In the above embodiment, the recording device records a content and a program in a recording medium, and transmits the recorded content and program to the playback device. The present invention is not limited to this structure. Alternatively, for example, only the content may be recorded in the recording medium, and the program may be transmitted to the playback device via a network. Further alternatively, only the program may be recorded in the recording medium, and the content may be transmitted to the playback device via a network, on the contrary. Further alternatively, both the content and the program may be transmitted to the playback device via a network without being recorded in the recording medium. In this case, judgment on whether to permit playback of the content is made based on the signature type and whether the content is protected (the content is encrypted or has a signature attached thereto) using the second copyright protection technique. 
     (8) The recording device according to the above embodiment may include an instruction reception unit operable to receive one of an instruction to encrypt a content or an instruction to generate a signature for the content and attach the generated signature to the content or receive a signature for the content and attach the received signature to the content. The recording device may determine whether to permit recording of the content, based on the above received instruction in addition to the medium type and the signature type. 
     (9) All or part of the functional units of each of the above devices may be composed of a removable IC card or a single module. The IC card or the single module is a computer system composed of a microprocessor, a ROM, a RAM, and the like. The IC card or the module may include a super-multifunctional LSI. Functions of the IC card or the module are achieved by the microprocessor operating in accordance with the computer program. The IC card or the module may be tamper-resistant. 
     (10) The present invention may be the above methods. Also, the present invention may be a computer program that realizes the methods by a computer, or a digital signal composed of the computer program. 
     Furthermore, the present invention may be a computer-readable storage medium such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray Disc), and a semiconductor memory, which stores the computer program or the digital signal. Furthermore, the present invention may be the computer program or the digital signal stored on the storage medium. 
     Furthermore, the present invention may be the computer program or the digital signal transmitted via an electric communication network, a wireless or wired communication network, a network such as Internet, data broadcasting, and the like. 
     Furthermore, the present invention may be a computer system that includes a microprocessor and a memory, and the microprocessor may operate in accordance with the computer program, and the memory may store therein the computer program. 
     Furthermore, the program or the digital signal may be executed by another independent computer system, by transferring the program or the digital signal to the recording medium, or by transferring the program or the digital signal via a network or the like. 
     (11) The present invention also includes the following cases. 
     Second Embodiment 
     2.1 Structure of Copyright Protection Data Processing System 
     The copyright protection data processing system is composed of, as shown in  FIG. 10 , a certification authority terminal device  1001 , a content provider terminal device  1002 , a recording medium  1003 , and a playback device  1004 . 
     The certification authority terminal device  1001  provides the playback device  1004  with a public key (certification authority public key) stored in the certification authority. Furthermore, the certification authority terminal device  1001  receives a program to which a digital signature is not attached (hereinafter “no-signature program”) from the content provider terminal device, and provides the content provider terminal device  1002  with a program to which a digital signature is attached using a secret key stored in the certification authority (hereinafter “signature program”). 
     The content provider terminal device  1002  generates a program necessary for playing back a content, and transmits the generated program to the certification authority terminal device  1001 . Also, the content provider terminal device  1002  receives the program to which a digital signature is attached (hereinafter, “signature program”) from the certification authority terminal device  1001 , and records the received signature program in the recording medium  1003 . Furthermore, the content provider terminal device  1002  records a content that has been encrypted in the recording medium  1003 . Note that it is unnecessary to encrypt the content. Here, the program recorded in the recording medium  1003  is a program to be used for playing back the content. For example, the program has a security function of detecting a status in which the playback device  1004  is maliciously analyzed, the safety problem, and an abnormal status in which key data to be stored in the playback device  1004  is damaged, a navigation function of displaying and controlling a screen for user operation, and a menu function. 
     The playback device  1004  reads the signature program and the content from the recording medium  1003 , and further reads medium type information showing a medium type of the recording medium, and determines whether to permit playback of the read content. If judging to permit playback of the content, the playback device  1004  plays back the protected content by executing the signature program. 
     At this time, the content recorded in the recording medium  1003  is protected by the program recorded in the same recording medium  1003 . As a method of protecting a content, it is possible to employ the structure in which a program calculates secret information in predetermined intervals, and encrypts the content using the secret information as key data, for example. An encryption technique used here may be a known method such as the DES encryption and the AES encryption. Furthermore, since an XOR operation based on the secret information may be employed instead of the encryption technique, the description of the method of content protection is omitted here. 
     2.2 Structure of Certification Authority Terminal Device  1001   
     The certification authority terminal device  1001  includes, as shown in  FIG. 11 , a reception unit  1101 , a transmission unit  1102 , a signature type writing unit  1103 , a signature generation attachment unit  1104 , a certification authority public key/secret key storage unit  1105 , and a certification authority public key/secret key generation unit  1106 . 
     The certification authority terminal device  1001  is specifically composed of a microprocessor, a RAM, a ROM, a hard disk, and the like, though not shown in the figure. A computer program is stored in the RAM, the ROM, and the hard disk. Functions of the certification authority terminal device  1001  are achieved by the microprocessor operating in accordance with the computer program. 
     Note that each of the functional units of the certification authority terminal device  1001 , such as the reception unit  1101 , the transmission unit  1102 , the signature type writing unit  1103 , the signature generation attachment unit  1104 , the certification authority public key/secret key storage unit  1105 , and the certification authority public key/secret key generation unit  1106 , is typically realized as an LSI that is an integrated circuit. These functional units may be separately integrated into one chip, or integrated into one chip including part or all of the functional units. 
     Here, the LSI may be called an IC, a system LSI, a super LSI, and an ultra LSI, depending on the integration degree. 
     Also, a method of forming integrated circuits is not limited to LSIs, and may be realized using a dedicated circuit or a general-purpose processor. Furthermore, it is possible to form integrated circuits with use of an FPGA (Field Programmable Gate Array) programmable after manufacturing LSIs or a reconfigurable processor in which connection and setting of the circuit cell inside an LSI can be reconfigured. 
     Furthermore, when a new technology for forming integrated circuits that replaces LSIs becomes available as a result of progress in semiconductor technology or semiconductor-derived technologies, the functional units may be integrated using such technology. One possibility lies in adaptation of biotechnology. 
     Finally, the functional units may be realized with software, or by combining an LSI and software. Also, the software may be tamper-resistant. 
     (1) Reception Unit  1101   
     The reception unit  1101  receives, from the content provider terminal device  1002 , a no-signature program and a request for signature type of a signature to be attached to the no-signature program (test release type or official release type). 
     (2) Transmission Unit  1102   
     The transmission unit  1102  transmits a signature program received from the signature generation attachment unit  1104  to the content provider terminal device  1002 . 
     Furthermore, the transmission unit  1102  transmits a certification authority public key generated by the certification authority public key/secret key generation unit  1107  to the playback device  1004 . 
     (3) Signature Type Writing Unit  1103   
     The signature type writing unit  1103  writes a signature type received by the reception unit  1101  into a program received by the reception unit  1101 . 
       FIG. 13  shows an example of the data structure of a program. The program is composed of a header part  1310 , an instruction code part  1320 , and a signature data part  1330 . The signature type writing unit  1103  writes the signature type requested by the program generation organization  101  into a signature type storage region  1311  included in the header part  1310 . For example, if the test release type is requested, the signature type writing unit  1103  writes signature type information “0x01” into the signature type storage region  1311 . If the official release type is requested, the signature type writing unit  1103  writes signature type information “0x10” into the signature type storage region  1311 . Also, instruction codes are stored in an instruction code storage region included in the instruction code part  1320 . Furthermore, signatures generated by the signature generation attachment unit  1104  are stored in a signature data storage region included in the signature data part  1330 . 
     (4) Signature Generation Attachment Unit  1104   
     The signature generation attachment unit  1104  generates a signature for a program into which a signature type is written, with use of a certification authority secret key stored in the certification authority public key/secret key storage unit  1105 . Then, the signature generation attachment unit  1104  records the generated signature in the signature data storage region included in the signature data part  1330  of the program. The program in which the generated signature is recorded (hereinafter, “signature program”) is transmitted to the content provider terminal device  1002  via the transmission unit  1102 . 
     (5) Certification Authority Public Key/Secret Key Storage Unit  1105   
     The certification authority public key/secret key storage unit  1105  stores therein a pair of a certification authority public key and a certification authority secret key generated by the certification authority public key/secret key generation unit  1106 . The certification authority public key is transmitted to the playback device  1004  via the transmission unit  1102 . The certification authority secret key is used by the signature generation attachment unit  1104  for generating a signature in the certification authority terminal device  1001 . 
     (6) Certification Authority Public Key/Secret Key Generation Unit  1106   
     The public key/secret key generation unit  1106  generates a pair of a certification authority public key to be transmitted to the playback device  1004  and a secret key corresponding to the certification authority public key. 
     2.3 Structure of Content Provider Terminal Device  1002   
     The content provider terminal device  1002  includes, as shown in  FIG. 12 , a reception unit  1201 , a transmission unit  1202 , a signature program storage unit  1203 , a no-signature program generation unit  1204 , a no-signature program storage unit  1205 , a content protection type input unit  1206 , a content storage unit  1207 , an encryption key storage unit  1208 , an encryption unit  1209 , and a recording unit  1210 . 
     The content provider terminal device  1002  is specifically composed of a microprocessor, a RAM, a ROM, a hard disk, and the like, though not shown in the figure. A computer program is stored in the RAM, the ROM, and the hard disk. Functions of the content provider terminal device  1002  are achieved by the microprocessor operating in accordance with the computer program. 
     Note that each of the functional units of the content provider terminal device  1002 , such as the reception unit  1201 , the transmission unit  1202 , the signature program storage unit  1203 , the no-signature program generation unit  1204 , the no-signature program storage unit  1205 , the content protection type input unit  1206 , the content storage unit  1207 , the encryption key storage unit  1208 , the encryption unit  1209 , and the recording unit  1210 , is typically realized as an LSI that is an integrated circuit. These functional units may be separately integrated into one chip, or integrated into one chip including part or all of the functional units. 
     Here, the LSI may be called an IC, a system LSI, a super LSI, and an ultra LSI, depending on the integration degree. 
     Also, a method of forming integrated circuits is not limited to LSIs, and may be realized using a dedicated circuit or a general-purpose processor. Furthermore, it is possible to form integrated circuits with use of an FPGA (Field Programmable Gate Array) programmable after manufacturing LSIs or a reconfigurable processor in which connection and setting of the circuit cell inside an LSI can be reconfigured. 
     Furthermore, when a new technology for forming integrated circuits that replaces LSIs becomes available as a result of progress in semiconductor technology or semiconductor-derived technologies, the functional units may be integrated using such technology. One possibility lies in adaptation of biotechnology. 
     Finally, the functional units may be realized with software, or by combining an LSI and software. Also, the software may be tamper-resistant. 
     (1) Reception Unit  1201   
     The reception unit  1201  receives a signature program from the certification authority terminal device  1001 . 
     (2) Transmission Unit  1202   
     The transmission unit  1202  transmits a no-signature program stored in the no-signature program storage unit  1205  to the certification authority terminal device  1001 . 
     (3) Signature Program Storage Unit  1203   
     The signature program storage unit  1203  receives, via the reception unit  1201 , a signature program to which a signature has been attached by the certification authority terminal device  1001 , and stores therein the received signature program. 
     (4) No-Signature Program Generation Unit  1204   
     The no-signature program generation unit  1204  generates a no-signature program, and stores the generated no-signature program in the no-signature program storage unit  1205 . 
     (5) No-Signature Program Storage Unit  1205   
     The no-signature program storage unit  1205  stores therein a no-signature program generated by the no-signature program generation unit  1204 . The stored no-signature program is transmitted to the certification authority terminal device  1001  via the transmission unit  1202 . 
     (6) Content Protection Type Input Unit  1206   
     The content protection type input unit  1206  inputs a content protection type of a content via an operator. Note that the content provider terminal device  1002  may acquire a medium type of the recording medium  1003  to judge the content protection type, instead of input via the operator. 
     (7) Content Storage Unit  1207   
     The content storage unit  1207  stores therein a content to be recorded in the recording medium  1003 . 
     (8) Encryption Key Storage Unit  1208   
     The encryption key storage unit  1208  stores therein an encryption key for encrypting a content to be recorded in the recording medium  1003 . 
     (9) Encryption Unit  1209   
     The encryption unit  1209  encrypts a content stored in the content storage unit  1207  using an encryption key stored in the encryption key storage unit  1208 . However, the structure of the encryption unit  1209  is not limited to this. Alternatively, the encryption unit  1209  may or may not encrypt a content, based on a content protection type input by the content protection type input unit  1206  for identifying an encryption status of a content, such as a status in which the content is encrypted or not. Specifically, if a content protection type “encryption protection” is input, the encryption unit  1209  encrypts the content. If a content protection type “anti-tampering” is input, the encryption unit  1209  generates data for detecting tampering for the content. If a content protection type “no-protection” is input, the encryption unit  1209  does not encrypt the content and not generate data for detecting tampering for the content. 
     (10) Recording Unit  1210   
     The recording unit  1210  records, in the recording medium  1003 , a signature program stored in the signature program storage unit  1203  and a content on which processing is performed by the encryption unit  1209  based on the content protection type. 
       FIG. 13  shows an example of the recording medium  1003  in which the above data is recorded by the recording unit  1210 . The signature program is recorded in the signature program storage region  1301 , and the content is recorded in the content storage region  1302 . 
     2.4 Structure of Playback Device  1004   
     The playback device  1004  includes, as shown in  FIG. 14 , a reading unit  1401 , a signature type judgment unit  1402 , a certification authority public key storage unit  1403 , a signature verification unit  1404 , a medium type judgment unit  1405 , a content protection type judgment unit  1406 , a playback permission determination unit  1407 , and a playback unit  1408 . 
     The playback device  1004  is specifically composed of a microprocessor, a RAM, a ROM, a hard disk, and the like, though not shown in the figure. A computer program is stored in the RAM, the ROM, and the hard disk. Functions of the playback device  1004  are achieved by the microprocessor operating in accordance with the computer program. 
     Note that each of the functional units of the playback device  1004 , such as the reading unit  1401 , the signature type judgment unit  1402 , the certification authority public key storage unit  1403 , the signature verification unit  1404 , the medium type judgment unit  1405 , the content protection type judgment unit  1406 , the playback permission determination unit  1407 , and the playback unit  1408 , is typically realized as an LSI that is an integrated circuit. These functional units may be separately integrated into one chip, or integrated into one chip including part or all of the functional units.  FIG. 19  shows an example of the manufacture of the system LSI. In  FIG. 19 , the functional units surrounded by a dashed line are integrated into one chip as an LSI. 
     Here, the LSI may be called an IC, a system LSI, a super LSI, and an ultra LSI, depending on the integration degree. 
     Also, a method of forming integrated circuits is not limited to LSIs, and may be realized using a dedicated circuit or a general-purpose processor. Furthermore, it is possible to form integrated circuits with use of an FPGA (Field Programmable Gate Array) programmable after manufacturing LSIs or a reconfigurable processor in which connection and setting of the circuit cell inside an LSI can be reconfigured. 
     Furthermore, when a new technology for forming integrated circuits that replaces LSIs becomes available as a result of progress in semiconductor technology or semiconductor-derived technologies, the functional units may be integrated using such technology. One possibility lies in adaptation of biotechnology. 
     Finally, the functional units may be realized with software, or by combining an LSI and software. Also, the software may be tamper-resistant. 
     (1) Reading Unit  1401   
     The reading unit  1401  reads a signature program, a content, and medium type information from the recording medium  1003 , and transmits the read signature program to the signature type judgment unit  1402 , and transmits the read medium type information to the medium type judgment unit  1405 . 
     (2) Signature Type Judgment Unit  1402   
     The signature type judgment unit  1402  reads signature type information stored in the signature type storage region  1311  of the header part  1310  of the signature program received by the reading unit  1401 , and specifies a signature type. Then, the signature type judgment unit  1402  transmits a result of the specification to the signature verification unit  1404  and the playback permission determination unit  1407 . 
     Here, the signature type indicates a type of a signature such as the test release type and the official release type. Regarding an identifier corresponding to a signature type, the test release type corresponds to an identifier T “0x01”, and the official release type corresponds to an identifier C “0x10”. 
     (3) Certification Authority Public Key Storage Unit  1403   
     The certification authority public key storage unit  1403  stores therein a public key corresponding to a secret key stored in the certification authority terminal device  1001 . The certification authority public key is used for verifying a signature attached by the certification authority terminal device  1001 . 
     (4) Signature Verification Unit  1404   
     The signature verification unit  1404  receives signature type information judged by the signature type judgment unit  1402 , and verifies a signature stored in the signature data part  1330  of a signature program received by the reading unit  1401  based on a specified signature type of the signature. The signature verification unit  1404  judges whether the program is an authentic program based on a result of the verification. Also, it is possible to check the completeness of the program by performing signature verification (for example, it is possible to check whether signature type information stored in the signature type storage region  1311  is not tampered with). The signature verification unit  1404  transmits verification result information showing the result of the signature verification to the playback permission determination unit  1407 . 
     (5) Medium Type Judgment Unit  1405   
     The medium type judgment unit  1405  specifies a medium type of a recording medium based on medium type information received by the reading unit  1401 , and transmits the specified medium type to the playback permission determination unit  1407 . 
     Here, the medium type indicates a medium type of recording medium, such as a ROM (Read Only Memory), an R (Recordable), and an RW (ReWritable). Since the medium type can be identified with use of a known method such as an identification method that uses an identifier (ID) recorded on a recording medium, the description thereof is omitted here. In the following descriptions, identifiers “0x001”, “0x010”, and “0x100” are respectively recorded in the ROM, the R, and the RW, as an example. 
     (6) Content Protection Type Judgment Unit  1406   
     The content protection type judgment unit  1406  analyzes the content read by the reading unit  1401 , and specifies a content protection type of the content identifying, for example, a status in which whether the content is encrypted, and transmits the specified content protection type to the playback permission determination unit  1407 . 
     Here, the content protection type indicates a type of a status of a content, such as a status in which a content has data for detecting tampering, a status in which the content has been encrypted, and a status in which the content has not been encrypted. Since the content protection type can be identified with use of a known method such as a method of checking data of the content (specifically, analyzing values of a CPI (COPY PERMISSION INDICATOR)) and a method of making identification based on whether logical data is stored (specifically, checking whether a specific directory (example: AACS directory) stored on a disc indicating that the content is protected by encryption. Accordingly, the description thereof is omitted here. As an example, in the case where a content is protected by encryption, an identifier E “0x10” is recorded. In the case where a content is not protected, an identifier F “0x01” is recorded. 
     (7) Playback Permission Determination Unit  1407   
     Based on verification result information showing a result of verification performed by the signature verification unit  1404 , a signature type specified by the signature type judgment unit  1402 , a medium type specified by the medium type judgment unit  1405 , and a content protection type specified by the content protection type judgment unit  1406 , the playback permission determination unit  1407  determines whether to permit playback of a content using the signature program. 
     Note that the playback permission determination unit  1407  may determine whether to permit playback of the content, based on a combination of the verification result information showing the result of the verification performed by the signature verification unit  1404 , the signature type specified by the signature type judgment unit  1402 , the medium type specified by the medium type judgment unit  1405 , and the content protection type specified by the content protection type judgment unit  1406 , or based on part of these pieces of information. 
     Specifically, if the signature verification is unsuccessful, the playback permission determination unit  1407  determines to stop playing back the content, or determines to play back the content without executing the signature program. On the other hand, the playback permission determination unit  1407  may determine whether to permit playback of the content based on a combination of a signature type specified by the signature type judgment unit  1402 , a medium type specified by the medium type judgment unit  1405 , and a content protection type specified by the content protection type judgment unit  1406 , irrespective of a result of signature verification. Specifically, if the signature type, the medium type, and the content protection type are respectively specified as T (0x01), R (0x010), and F (0x001), the playback permission determination unit  1407  permits playback of the content. If the signature type, the medium type, and the content protection type are respectively specified as C (0x10), R (0x010), and F (0x001), the playback permission determination unit  1407  prohibits playback of the content. This is because the combination of R and test release type indicates that the recording medium is an R medium manufactured for test purpose in the manufacturing process of a ROM medium, and the combination of R and official release type indicates that the recording medium is an R medium manufactured by copying a ROM medium in an unauthorized manner. 
     (8) Playback Unit  1408   
     If the playback permission determination unit  1407  determines to permit playback of a content, the playback unit  1408  executes a signature program read from the recording medium  1003 , in an execution environment thereof. Then, the playback unit  1408  descrambles the content that has been scrambled (data that has been modified) based on secret information calculated using the program, so as to play back the content. On the other hand, if the playback permission determination unit  1407  determines to prohibit playback of the content, the playback unit  1408  may not execute the signature program read from the recording medium  1003  and may not play back the content. Alternatively, the playback unit  1408  may playback the content without executing the signature program read from the recording medium  1003 . 
     2.5 Operations of Certification Authority Terminal Device  1001   
     The following describes the operations of the certification authority terminal device  1001 . 
     The certification authority public key/secret key generation unit  1106  of the certification authority terminal device  1001  generates a pair of a certification authority public key and a certification authority secret key, and stores the generated pair of the keys in the certification authority public key/secret key storage unit  1105 . For convenience of the copyright protection data processing system, only one pair of a certification authority public key and a certification authority secret key is necessary. Accordingly, once one pair of keys is generated, it is unnecessary to generate another one pair of keys unless the certification authority public key/secret key storage unit is damaged and cannot be restored, or the certification authority secret key is leaked. 
     The following describes a flow of attaching a signature to a program, with reference to  FIG. 15 . 
     The reception unit  1101  of the certification authority terminal device  1001  receives, from the content provider terminal device  1002 , a program necessary for playing back a content, and a request for signature type of a signature to be attached to the program (test release type or official release type) (Step S 1501 ). Based on the request for the signature type of the signature to be attached, which has been received from the reception unit  1101 , the signature type writing unit  1103  writes signature type information into the signature type storage region  1311  included in the header part  1310  of the received program (“0x01” in case of test release type and “0x10” in case of official release type) (Step S 1502 ). 
     If the signature type information indicates the official release type (Step S 1503 : official release type), the signature generation attachment unit  1104  generates a signature having the official release type (Step S 1504 ). If the signature type information indicates the test release type (Step S 1503 : test release type), the signature generation attachment unit  1104  generates a signature having the test release type (Step S 1505 ). For example, the signature generation attachment unit  1104  generates a signature having the official release type for a hash value of the entire header part  1310  and instruction code part  1320  of the signature program. On the other hand, the signature generation attachment unit  1104  calculates a hash value of the entire header part  1310  of and instruction code part  1320  of the signature program, and generates a signature for the hash value on which bit-inversion is performed. In this example, since it is possible to generate a signature having the official release type and a signature having the test release type with use of the same value, no special data is necessary for generating signatures for each signature type. Note that a procedure of generating and attaching a signature is not necessarily limited to the procedure described above. Alternatively, a procedure of generating and attaching a signature and a target to which the signature is to be attached may be different from those described above. 
     The signature generation attachment unit  1104  writes the generated signature into the signature data storage region  1330  included in the signature data part  1330  of the program. The transmission unit  1102  transmits, to the content provider terminal device  1002 , a signature program to which the signature is attached by the signature generation attachment unit  1104  (Step S 1506 ). 
     2.6 Operations of Content Provider Terminal Device  1002   
     The following describes the operations of the content provider terminal device  1002 , with reference to  FIG. 16 . 
     The no-signature program generation unit  1204  generates a no-signature program, and stores the generated no-signature program in the no-signature program storage unit  1205 . The generated no-signature program is transmitted to the certification authority terminal device  1001  via the transmission unit  1202 . The signature program storage unit  1203  receives, via the reception unit  1201 , a signature program to which a signature has been attached. The content protection type input unit  1206  receives input of a content protection type (Step S 1601 ). If the received content protection type is “encryption protection” (Step S 1602 : encryption), the encryption unit  1209  encrypts a content stored in the content storage unit  1207  with use of an encryption key stored in the encryption key storage unit  1208  (Step S 1603 ). If the received content protection type is “no-protection” (Step S 1602 : no-encryption), the flow proceeds to Step S 1604 . The encryption unit  1209  records the signature program, and an encrypted content or an unencrypted content in the recording medium  1003  (Step S 1604 ). 
     2.7 Operations of Playback Device  1004   
     The following describes the operations of the playback device  1004 , with reference to  FIG. 17  and  FIG. 18 . 
     The reading unit  1401  of the playback device  1004  reads a content, a signature program necessary for playing back the content, and medium type information from the recording medium  1003 . Also, the signature type judgment unit  1402  reads signature type information (test release type or official release type) stored in the signature type storage region  1311  included in the header part  1310  of the signature program received from the reading unit  1401 . Then, the signature type judgment unit  1402  specifies a signature type of a signature attached to the received program (for example, test release type T (0x01) or official release type C (0x10)), and transmits the specified signature type to the signature verification unit  1404  and the playback permission determination unit  1407  (Step S 1701 ). 
     If the signature type information indicates the official release type (Step S 1702 : official release type), the signature verification unit  1404  verifies the signature using a signature verification procedure for official release type (Step S 1703 ). If the signature type information indicates the test release type (Step S 1702 : test release type), the signature verification unit verifies the signature using a signature verification procedure for test release type (Step S 1704 ). For example, according to the signature verification procedure for official release type, signature verification is performed using a hash value for the entire header part  1310  and instruction code part  1320  of the signature program and a value written into the signature data storage region of the header part  1310  of the signature program. On the other hand, according to the signature verification procedure for test release type, signature verification is performed using a hash value for the entire header part  1310  and instruction code part  1320  of the signature program, on which bit-inversion is performed, and a value written into the signature data storage region of the header part  1310  of the signature program. 
     If the signature verification is unsuccessful (Step S 1705 : NO), the signature verification unit  1404  transmits a result of the signature verification to the playback unit  1408 . Then, the playback unit  1408  stops playing back the content (S 1706 ). 
     If the signature verification is successful (Step S 1705 : YES), the medium type judgment unit  1405  specifies a medium type (for example, ROM, R, or RW) based on the medium type information received from the input unit  1401 , and transmits the specified medium type to the playback permission determination unit  1407  (Step S 1707 ). 
     The content protection type judgment unit  1406  specifies a content protection type (for example, encryption protection “E” or no-protection “F”) based on the content received from the input unit  1401 , and transmits the specified content protection type to the playback permission determination unit  1407  (Step S 1708 ). 
     Based on the medium type received from the medium type judgment unit  1405 , the signature type received from the signature type judgment unit  1402 , and the content protection type received from the content protection type judgment unit  1406 , the playback permission determination unit  1407  determines whether to permit playback of the received content (Step S 1709 ). If the playback permission determination unit  1407  determines to permit playback of the content (Step  1710 : YES), the playback unit  1408  executes the signature program read from the recording medium  1003  in an execution environment thereof, and descrambles the content that has been scrambled (data that has been modified) based on secret information calculated using the signature program, so as to playback the content (Step S 1711 ). Also, if determining to prohibit playback of the content (Step  1710 : NO), the playback permission determination unit  1407  transmits a result of the playback permission determination to the playback unit  1408 , and the playback unit  1408  stops playing back the content (Step S 1712 ). 
     Modification Examples 
     While the present invention has been described based on the above embodiments, the present invention is of course not limited to the above embodiments. The present invention also includes the following cases. 
     (1) In the above embodiments, a signature having official release type is a signature generated for a hash value of the entire header part and instruction code part of a signature program. Also, a signature having the test release type is a signature generated for a hash value of the entire header part and instruction code part of a signature program, on which bit-inversion is performed. However, the present invention is not limited to this structure. Alternatively, it is enough that a difference lies between the signature generation procedure for official release type and the signature generation procedure for test release type. The following describes a signature generation procedure for official release type and a signature generation procedure for test release type in the case where the signature generation procedure for test release type does not include performance of bit-inversion on a hash value for a program to which a signature is to be attached. 
     (1-1) In the above embodiments, although the signature generation procedure for test release type includes performance of bit-inversion, it may be possible to modify a value in another invertible manner. For example, in the case of the test release type, it may be possible to generate a signature for a result obtained by replacing between a one higher byte and a one lower byte, for a result obtained by performing an XOR operation using the hash value and a fixed value. 
     (1-2) It may be possible to appropriately switch between pairs of keys for generating a signature. For example, the signature generation device may store therein both a pair of public keys for generating a signature having the test release type and a pair of public keys for generating a signature having the official release type, and may properly use a key for generating a signature based on a request for signature type, instead of writing the signature type into a header part of a signature program. 
     (1-3) It may be possible to store different information in a header part of a signature program depending on whether a signature has the test release type or the official release type. For example, if the header part of the signature program includes a size field defining a size of an instruction code part, it may be possible to modify a value in the size field. In this case, a signature having the official release type is a signature generated for a hash value of the entire header part and instruction code part of the signature program. A signature having the test release type is a signature generated for a value, which is obtained by calculating a hash value for the entire data and entire instruction code part, and performing bit-inversion on the calculated hash value. The data is the size field included in the header part of the signature program that has been converted into a fixed value (for example, data embedded with a value “0”). 
     (1-4) It may be possible to switch a program to which a signature is to be attached, based on whether the signature has the test release type or the official release type. For example, it may be possible to generate a signature having the official release type for a hash value of the entire header part and instruction code part of a signature program. It may be possible to generate a signature having the test release type for a hash value of the entire instruction code part of a signature program. 
     (1-5) A signature having the official release type may be generated for a hash value of the entire header part and instruction code part of a signature program. A signature having the test release type may be generated for a hash value for the entire header part and instruction code part of a signature program to which a constant value is added (for example, a character “TEST” is inserted at the head). Note that a signature to be generated by adding the constant value and calculating a hash value may be not a signature having the test release type, but a signature having the official release type. Alternatively, it may be possible to generate both a signature having the test release type and a signature having the official release type by adding a different constant value, and then calculating a hash value. Note that the constant value may be inserted into a various portion, such as the head of the header part, the end of the instruction code part, a portion between the header part and the instruction code part, and a portion within the instruction code part. 
     (1-6) It may be possible to perform bit-inversion, and then calculate a hash value. For example, a signature having the official release type may be generated for a hash value of the entire header part and instruction code part of a signature program. Also, a signature having the test release type may be generated for a hash value of data that is obtained by performing bit-inversion on the entire header part and instruction code part of a signature program. Note that a portion on which 
     bit-inversion to be performed is not limited to all the portions of the header part and the instruction code part of the signature program. Bit-inversion may be performed on only the header part or only the instruction code part of the signature program. 
     (1-7) It may be possible to calculate a signature and then perform bit-inversion. For example, a signature having the official release type may be generated for a hash value of the entire header part and instruction code part of a signature program. Also, a signature having the test release type may be generated by calculating a hash value of the entire header part and instruction code part of a signature program and inverting bits of the signature. 
     (2) In the above embodiment, the two signature types are used, namely the test release type and the official release type. The present invention is not limited to this structure. Alternatively, it may be employ two or more types, such as a test release type for ROM media, a test release type for R media, an official release type for ROM media, and downloaded content type, instead of the test release type and the official release type. Similarly, the medium type is not limited to the three types, namely the ROM, the R, and the RW. Furthermore, the present invention is not limited to the structure in which a judgment on whether test release type or official release type is made based on a signature type of a signature attached to a program. Alternatively, it may be possible to employ the structure, for example, in which a signature is attached not to a program but to a content, and the judgment is made based on a signature type of the signature attached to the content. Further alternatively, the judgment may be made based on information recorded in the recording medium independently from the content and the program. In other words, as long as information that enables appropriate judgment on whether test release type or official release type is recorded in the recording medium, the information does not necessarily need to be in a form of signature type. 
     (3) In the above embodiment, a content recorded in a recording medium is protected by a program recorded in the same recording medium. The present invention is not limited to this structure. Alternatively, the following structure may be employed. For example, in addition to protection of the content by a program (for example, with use of secret information calculated by operations of the program, the content is scrambled or values of data are partially modified), the content is further protected by being encrypted. Further alternatively, the content may be protected using two or more copyright protection techniques. In this case, the recording permission determination unit of the recording device and the playback permission determination unit of the playback device may respectively determine whether to permit recording and playback of the content, based on whether the content is encrypted using a second copyright protection technique or whether the content has a signature attached thereto using the second copyright protection technique, in addition to the medium type and the signature type. For example, if the medium type and the signature type are respectively specified as R and official release and the content is encrypted using the second copyright protection technique or the content has a signature attached thereto using the second copyright protection technique, the recording permission determination unit and the playback permission determination unit respectively may permit recording and playback of the content. Also, if the medium type and the signature type are respectively specified as R and official release, and the content is not encrypted using the second copyright protection technique, and the content does not have a signature attached thereto using the second copyright protection technique, the recording permission determination unit and the playback permission determination unit respectively may prohibit recording and playback of the content. 
     (4) In the above embodiment, the recording device determines whether to permit recording of a content based on both a medium type and a signature type. The present invention is not limited to this structure. Alternatively, whether to permit recording may be determined based on one of the medium type and the signature type. Further alternatively, the following system may be employed. For example, the recording device records the content without making a determination on whether to permit recording of the content, and then the playback device determines whether to permit playback of the content. Further alternatively, after verifying a signature attached to the program, the recording device may determine whether to permit recording of the content by specifying a signature type of the attached signature. 
     (5) In the above embodiment, after verifying a signature, the playback device specifies a signature type of the signature. The present invention is not limited to this structure. Alternatively, the following structure may be employed, for example: after specifying the signature type, the playback device verifies the signature. Further alternatively, in the structure in which keys for generating signatures differ between signature types, the playback device may verify the signature using a key corresponding to the specified signature type. The same also applies to the case of recording by the recording device. 
     (6) In the above embodiment, the playback device determines whether to permit playback of a content based on a medium type and a signature type. The present invention is not limited to this structure. Alternatively, the following structure may be employed. For example, if the medium type is judged to be a ROM, the playback device verifies a signature. If the program is judged to be an authentic program as a result of the verification, the playback device permits playback of the content, regardless of which signature type the signature has. On the other hand, if the medium type is judged to be a medium other than a ROM, the playback device determines whether to permit playback of the content with reference to the signature type. In this way, the step of referring to the signature type may be skipped depending on the judged medium type. Furthermore, the step of referring to the medium type may be skipped depending on the specified signature type, conversely. Moreover, if an encryption method or a signature method according to the second copyright protection technique is used for protecting a content, the step of referring to the medium type or the step of referring to the signature type may be skipped depending on whether the content is protected using the second copyright protection technique. The same also applies to the case of recording by the recording device. 
     (7) In the above embodiment, the recording device records a content and a program in a recording medium, and transmits the recorded content and program to the playback device. The present invention is not limited to this structure. Alternatively, for example, only the content may be recorded in the recording medium, and the program may be transmitted to the playback device via a network. Further alternatively, only the program may be recorded in the recording medium, and the content may be transmitted to the playback device via a network, on the contrary. Further alternatively, both the content and the program may be transmitted to the playback device via a network without being recorded in the recording medium. In this case, judgment on whether to permit playback of the content is made based on the signature type and whether the content is protected (the content is encrypted or has a signature attached thereto) using the second copyright protection technique. 
     (8) The recording device according to the above embodiment may include an instruction reception unit operable to receive one of an instruction to encrypt a content or an instruction to generate a signature for the content and attach the generated signature to the content or receive a signature for the content and attach the received signature to the content. The recording device may determine whether to permit recording of the content, based on the above received instruction in addition to the medium type and the signature type. 
     (9) All or part of the functional units of each of the above devices may be composed of a removable IC card or a single module. The IC card or the single module is a computer system composed of a microprocessor, a ROM, a RAM, and the like. The IC card or the module may include a super-multifunctional LSI. Functions of the IC card or the module are achieved by the microprocessor operating in accordance with the computer program. The IC card or the module may be tamper-resistant. 
     (10) The present invention may be the above methods. Also, the present invention may be a computer program that realizes the methods by a computer, or a digital signal composed of the computer program. 
     Furthermore, the present invention may be a computer-readable storage medium such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray Disc), and a semiconductor memory, which stores the computer program or the digital signal. Furthermore, the present invention may be the computer program or the digital signal stored on the storage medium. 
     Furthermore, the present invention may be the computer program or the digital signal transmitted via an electric communication network, a wireless or wired communication network, a network such as Internet, data broadcasting, and the like. 
     Furthermore, the present invention may be a computer system that includes a microprocessor and a memory, and the microprocessor may operate in accordance with the computer program, and the memory may store therein the computer program. 
     Furthermore, the program or the digital signal may be executed by another independent computer system, by transferring the program or the digital signal to the recording medium, or by transferring the program or the digital signal via a network or the like. 
     (11) The present invention also includes the following cases. 
     The present invention provides a playback device for playing back a digital content, the playback device comprising: a reading unit operable to receive the digital content, a program necessary for playing back the digital content, and a medium type of a recording medium in which the digital content and the program necessary are recorded; a signature type judgment unit operable to judge a signature type of a signature attached to the program; a medium type judgment unit operable to judge the medium type of the recording medium; and a playback permission determination unit operable to determine whether to permit playback of the content, based on results of the judgments made by the signature type judgment unit and the medium type judgment unit. 
     The present invention provides the playback device, further comprising a signature verification unit operable to verify the signature attached to the program, wherein if a result of the verification performed by the signature verification unit is unsuccessful, the content is not played back. 
     The present invention provides the playback device, wherein the signature verification unit switch verification contents, based on the signature type judged by the signature type judgment unit. 
     The present invention provides the playback device, wherein if the signature type judged by the signature type judgment unit is an official release type, the signature verification unit performs a hash operation on the entire header part and instruction code part of the program, and verifies the signature using a value obtained as a result of the hash operation and signature data described in a signature data part of the program, and if the signature type judged by the signature type judgment unit is a test release type, the signature verification unit performs a hash operation on the entire header part and signature data part of the program, and verifies the signature using a correction value, which is obtained by performing bit-inversion on a value obtained as a result of the hash operation, and the signature data described in the signature data part of the program. 
     The present invention provides the playback device, wherein if the signature type judged by the signature type judgment unit is the official release type, the signature verification unit performs a hash operation on the entire header part and instruction code part of the program, and verifies the signature using a value obtained as a result of the hash operation and signature data described in the signature data part of the program, and if the signature type judged by the signature type judgment unit is the test release type, the signature verification unit performs a hash operation on a combination of the data part of the program and data that is the instruction code size field of the header part of the program overwritten with a fixed value, and performs signature verification on a value obtained as a result of the hash operation. 
     The present invention provides the playback device, further comprising an encryption judgment unit operable to judge whether the content is encrypted, wherein the playback permission determination unit determines whether to permit playback of the content, based on a result of the judgment made by the encryption judgment unit and one of the results of the judgments made by the signature type judgment unit and the medium type judgment unit. 
     The present invention provides the playback device, wherein the playback permission determination unit determines whether to permit playback of the content, based on the results of the judgments made by the signature type judgment unit, the medium type judgment unit, and the encryption judgment unit. 
     The present invention provides a content provider terminal device for recording a digital content, the content provider terminal device comprising: a no-signature program generation unit operable to generate a program necessary for playing back the digital content; a no-signature program storage unit operable to store therein the program generated by the no-signature program generation unit; a transmission unit operable to transmit the program stored in the no-signature program storage unit; a reception unit operable to receive a signature program that is the program transmitted by the transmission unit and to which a signature is attached; a signature program storage unit operable to store therein the signature program received by the reception unit; and a recording unit operable to record the signature program stored in the signature program storage unit in a signature program storage region of a recording medium. 
     The present invention provides the content provider terminal device, wherein the transmission unit transmits a signature type of the signature together with the program to which no signature is attached. 
     The present invention provides the content provider terminal device, comprising: a content storage unit operable to store therein the digital content to be recorded in the recording medium; an encryption key storage unit operable to store therein an encryption key for encrypting the digital content to be recorded in the recording medium; and an encryption unit operable to encrypt the digital content stored in the content storage unit using the encryption key stored in the encryption key storage unit. 
     The present invention provides the content provider terminal device, comprising a content protection type input unit operable to input a protection type indicating a protection status of the content, wherein the encryption unit determines whether to encrypt the content based on the protection type input by the content protection type input unit. 
     The present invention provides the content provider terminal device, wherein if the protection type of the content input by the content protection type input unit is the encryption type, the encryption unit encrypts the content using the encryption key, and if the protection type is the no-encryption type, the encryption unit does not encrypt the content. 
     The present invention provides a certification authority terminal device for attaching a signature to a no-signature program having no signature attached thereto, the certification authority terminal device comprising: a certification authority public key/secret key generation unit operable to generate a pair of a certification authority public key and a certification authority secret key to be used for generating a signature for the program and verifying the signature; a certification authority public key/secret key storage unit operable to store therein the pair of the certification authority public key and the certification authority secret key generated by the certification authority public key/secret key generation unit; a reception unit operable to receive the no-signature program from the content provider terminal device; a signature generation attachment unit operable to attach a signature to the no-signature program received by the reception unit; and a transmission unit operable to transmit the program to which the signature has been attached by the signature generation attachment unit. 
     The present invention provides the certification authority terminal device, further comprising a signature type writing unit operable to write a signature type of the signature received by the reception unit into a header part of the no-signature program received by the reception unit. 
     The present invention provides the certification authority terminal device, wherein the signature generation attachment unit switches a signature generation method for generating a signature based on the signature type received by the reception unit. 
     The present invention provides the certification authority terminal device, wherein if the signature type received by the reception unit is the official release type, the signature generation attachment unit performs hash operation for the entire header part and instruction code part of the no-signature program, and generates a signature for a value obtained as a result of the hash operation, and if the signature type received by the reception unit is the test release type, the signature generation attachment unit performs hash operation for the entire header part and instruction code part of the no-signature program, performs bit-inversion on a value obtained as a result of the hash operation to obtain a correction value, and generates a signature for the obtained correction value. 
     The present invention provides the certification authority terminal device, wherein if the signature type received by the reception unit is the official release type, the signature generation attachment unit performs hash operation for the entire header part and instruction code part of the no-signature program, and generates a signature for a value obtained as a result of the hash operation, and if the signature type is the test release type, the signature generation attachment unit performs hash operation for data generated by a combination of data generated by overwriting the size field of the instruction code part of the header part of the no-signature program with a fixed value and the instruction code part of the no-signature program, and generates a signature for a value obtained as a result of the hash operation. 
     The present invention provides a recording medium for recording therein a digital content and a program to which a signature is attached by a content provider terminal device, wherein the program to which the signature is attached includes a region for storing therein a signature type of the signature. 
     The present invention provides a copyright protection data processing system composed of a certification authority terminal device for generating a signature for a program necessary for playing back a digital content and attaching the generated signature to the program, a content provider terminal device for recording the digital content and the program in a recording medium, and a playback device for playing back the digital content, wherein the certification authority terminal device comprises: a certification authority public key/secret key generation unit operable to generate a pair of a certification authority public key and a certification authority secret key to be used for generating the signature for the program and verifying the signature; a certification authority public key/secret key storage unit operable to store therein the pair of the certification authority public key and the certification authority secret key generated by the certification authority public key/secret key generation unit; a reception unit operable to receive a no-signature program to which no signature is attached from the content provider terminal device; a signature generation attachment unit operable to attach a signature to the no-signature program received by the reception unit; and a transmission unit operable to transmit a signature program to which the signature is attached by the signature generation attachment unit, and the content provider terminal device comprises: a no-signature program generation unit operable to generate the program that is necessary for playing back the digital content and to which no signature is attached; a no-signature program storage unit operable to store therein the no-signature program generated by the no-signature program generation unit; a transmission unit operable to transmit the no-signature program stored in the no-signature program storage unit; a reception unit operable to receive a signature program that is the no-signature program transmitted by the transmission unit to which the signature is attached; a signature program storage unit operable to store therein the signature program received by the reception unit; and a recording unit operable to record, in a signature program storage region of the recording medium, the signature program stored in the signature program storage unit, and the playback device comprises: a reading unit operable to receive the digital content, the program necessary for playing back the digital content, and a medium type of the recording medium in which the digital content and the program are recorded; a signature type judgment unit operable to judge a signature type of the signature attached to the program; a medium type judgment unit operable to judge the medium type of the recording medium; the signature type judgment unit; and a playback permission determination unit operable to determine whether to play back the digital content, based on results of the judgments made by the signature type judgment unit and the medium type judgment unit. 
     The present invention provides the copyright protection data processing system, wherein the playback device further comprises a signature verification unit operable to verify the signature attached to the program, and the certification authority terminal device further comprises a signature type writing unit operable to write the signature type received by the reception unit into the header part of the no-signature program received by the reception unit, and if the signature is not authentic as a result of the verification performed by the signature verification unit, the playback device does not play back the digital content. 
     The present invention provides the copyright protection data processing system, wherein the signature generation attachment unit switches the signature generation based on the signature type received by the reception unit, and the signature verification unit switches the signature verification based on the signature type judged by the signature type judgment unit. 
     The present invention provides the copyright protection data processing system, wherein if the signature type judged by the signature type judgment unit is the official release type, the signature verification unit performs hash operation for the entire header part and instruction code part of the program, verifies the signature using a value obtained as a result of the hash operation and signature data described in the signature data part of the program, and if the signature type judged by the signature type judgment unit is the test release type, the signature verification unit performs hash operation for the entire header part and data part of the program, performs bit-inversion on a value obtained as a result of the hash operation to obtain a correction value, verifies the signature using the correction value and the signature data described in the signature data part of the program, and if the signature type judged by the signature type judgment unit is the official release type, the signature generation attachment unit performs hash operation for the entire header part and instruction code part of the no-signature program, and generates a signature for a value obtained as a result of the hash operation. 
     The present invention provides a playback method of playing back a digital content, the playback method comprising: a reading step of receiving the digital content, a program necessary for playing back the digital content, and a medium type of a recording medium in which the digital content and the program are recorded; a signature type judgment step of judging a signature type of a signature attached to the program; a medium type judgment step of judging the medium type of the recording medium; and a playback permission determination step of determining whether to permit playback of the digital content based on results of the judgments made by the signature type judgment step and the medium type judgment step. 
     The present invention provides a content provision method of recording a digital content, the content provision method comprising: a no-signature program generation step of generating a no-signature program that is necessary for playing back the digital content and to which no signature is attached; a no-signature program storage step of storing the no-signature program generated in the no-signature program generation step; a transmission step of transmitting the no-signature program stored in the no-signature program storage step; a reception step of receiving a signature program that is the no-signature program transmitted in the transmission step to which a signature is attached; a signature program storage step of storing the signature program received in the reception step; and a recording step of recording, in a signature program storage region of a recording medium, the signature program stored in the signature program storage step. 
     The present invention provides a certification method of attaching a signature to a received no-signature program to which no signature is attached, the certification method comprising: a certification authority public key/secret key generation step of generating a pair of a certification authority public key and a certification authority secret key to be used for generating a signature for the no-signature program and verifying the signature; a certification authority public key/secret key storage step of storing the pair of the certification authority public key and the certification authority secret key generated in the certification authority public key/secret key generation step; a reception step of receiving the no-signature program based on the content provision method; a signature generation attachment step of attaching a signature to the no-signature program received in the reception step; and a transmission step of transmitting the signature program to which the signature is attached in the signature attachment step. 
     The present invention provides a program for use in a playback device for playing back a digital content, wherein the program comprising: a reading step of receiving the digital content, a program necessary for playing back the digital content, and a medium type of a recording medium in which the digital content and the program are recorded; a signature type judgment step of judging a signature type of a signature attached to the program; a medium type judgment step of judging the medium type of the recording medium; and a playback permission determination step of determining whether to permit playback of the digital content based on results of the judgments made by the signature type judgment step and the medium type judgment step. 
     The present invention provides the program that is recorded in a computer-readable program recording medium. 
     The present invention provides an integrated circuit that relates to a playback device for playing back a digital content, the integrated circuit comprising: a reading unit operable to receive the digital content, a program necessary for playing back the digital content, and a medium type of a recording medium in which the digital content and the program are recorded; a signature type judgment unit operable to judge a signature type of a signature attached to the program; a medium type judgment unit operable to judge the medium type of the recording medium; and a playback permission determination unit operable to determine whether to permit playback of the digital content based on results of the judgments made by the signature type judgment unit and the medium type judgment unit. 
     (12) The present invention may be any combination of the above embodiments and modifications. 
     The present invention can be managerially, continuously, and repeatedly used in an industry that sells contents and in an industry that manufactures and sells devices that use the contents.