Abstract:
Embodiments of the present invention include a control code read-out system in which a control code for access restriction corresponding to a playback control code of a recording medium is held in a playback apparatus, and the control code held in the playback apparatus is read-out when the recording medium is played back, and a comparison between the playback control code of the recording medium to be played back and the control code stored in the playback apparatus being made, and playback of the recording medium being performed only when there is coincidence between the two control codes. One embodiment of the system comprises a first portion for encrypting the control code of the playback apparatus and storing an encrypted control code in a control code storage portion, a second portion for read-out the encrypted control code from the control code storage portion, and decrypting, when playing back the recording medium.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a control code read-out system, and more particularly to a control code read-out system which reads out a region code, which is one of control codes in a DVD playback apparatus. 
   2. Related Art 
   In the DVD-Video (Digital Versatile Disc) specification which is a video specification of DVD, a region code is used. In the prior art, as disclosed in Japanese Unexamined Patent Publication (KOKAI) No.11-143642, a control code read-out system has been used to change this region code. 
     FIG. 5  shows an example of the configuration of a control code read-out system of the above-mentioned prior art. This control code read-out system of the past has a region code storing section  9 , a region code initialization mode switching section  5 , for allowing initialization of the region code, a password interpretation section  4  that interprets a password of a prescribed bit length that is input from a local bus  2  and a local bus interface  3 , a region code write section  6   a , a region code read-out section  6   b , and interface code interpretation section  7 , which interprets an interface code that is input from the local bus  2  and the local bus interface  3 , and a region code interface  8 . 
   In this control code read-out system of the past, in the initialization mode, if the input password and interface code coincides with a password and interface code that are stored in the region code initialization apparatus  1 , the region code is updated (initialized). 
   In the control code read-out system of the past, however, because protective measures of the region code such as encrypting are not provided, if the region code is stored in a file device, it is easy to decrypt the region code stored in the apparatus. 
   Additionally, because the control code read-out system of the past had no means for storing the number of changes of the region code, it was completely impossible for the user to change the region code. 
   Accordingly, it is an object of the present invention, in consideration of the above-noted drawbacks in the prior art, to provide a control code read-out system that can achieve access restriction by a region code, using only software. 
   It is another object of the present invention to provide a control code read-out system that can allow a user to change the region code. 
   SUMMARY OF THE INVENTION 
   In order to achieve the above-noted objects, the present invention has the following technical constitution. 
   Specially, the first aspect of the present invention is a control code read-out system which a control code for access restriction corresponding to a playback control code of a recording medium is held in a playback apparatus, and the control code held in the playback apparatus is read-out when the recording medium is played back, and a comparison between the playback control code of the recording medium to be played back and the control code stored in the playback apparatus being made, and playback of the recording medium being performed only when there is coincidence between these two, the system comprising: a first means for encrypting the control code of the playback apparatus and storing an encrypted control code in a control code storage means, a second means for read-out the encrypted control code from the control code storage means, and decrypting, when playing back the recording medium. 
   In the present invention, because the encrypted control code for restricting access is stored in the control code storage means, even should a third part read-out the encrypted control code in the control code storage means, it is not possible to decrypt the control code, thereby providing protection for the control code. 
   In the second aspect of the present invention, the control code read-out system further comprising a third means for initializing the control code storage means, when the encrypted control code is read out from the control code storage means and the encrypted control code does not exist in the control code storage means. 
   In the third aspect of the present invention, the third means encrypts a pre-established value so as to obtain an encrypted initialization value and storing the encrypted initialization value in the control code storage means. 
   In the fourth aspect of the present invention, the control code read-out system further comprising: a fourth means for storing a number of changes of the control code in an encrypted condition in a number of changes storage means, a fifth means which, based on an instruction of change of the control code held in the playback apparatus, reads out an encrypted number of changes from the number of changes storage means and decrypts the encrypted number of changes, a sixth means which, only when a number of changes decrypted by the fifth means has not reached a pre-established upper limit, encrypts a control code that is input with the instruction of change of the control code, and stores an encrypted control code in the control code storage means, and a seventh means which, only when the number of changes decrypted by the fifth means has not reached a pre-established upper limit, increments the decrypted number of changes by 1, encrypts an incremented number of changes, and stores the incremented number of changes in the number of changes storage means. 
   In the present invention, the number of changes of the control code is encrypted and stored in a number of changes storage means, and based on the instruction of a change in the control code, the fifth means decrypts the encrypted number of changes read out from the number of changes storage means and compares it with the pre-established upper limit so as to determine if the upper limit has been reached. Only if the upper limit has not been reached, the control code is encrypted and stored in the control code storage means. 
   In the fifth aspect of the present invention, the fifth means initializes the number of changes storage means, when the encrypted number of changes is readout from the number of changes storage means and the encrypted number of changes does not exist in the number of changes storage means. 
   In the sixth aspect of the present invention, the fifth means encrypts a pre-established value so as to obtain an encrypted initialization value and storing the encrypted initialization value in the number of changes storage means. 
   The seventh aspect of the present invention is a control code read-out system comprising; an eighth means which calculates a checksum of the encrypted control code and a checksum of the encrypted number of changes and stores the checksums in a checksum storage means, a ninth means for read-out the checksums from the checksum storage means; and a tenth means for performing a check of coincidence between the encrypted control code read out by the second means and checksum read out by the ninth means, and coincidence between the encrypted number of changes read out by the fifth means and checksum read out by the ninth means, so as to examine whether the encrypted control code or the encrypted number of changes have been tampered with, wherein the second means, upon receipt of test results indicated by the tenth means that tampering had not occurred, decrypts the encrypted control code read out from the control code storage means, and the fifth means, when receiving test results indicated by the tenth means that tampering had not occurred, decrypts the encrypted number of changes read out from the number of changes storage means. 
   In the present invention, only when the results of the test for tampering by the tenth means indicate that tampering has not occurred, decrypting of the encrypted control code and encrypted number of changes is permitted thereby enabling further protection of the control code and number of changes. 
   The eighth aspect of the present invention is a control code read-out system comprising an eleventh means for generating a random number, wherein the sixth means encrypts the control code by using a random number generated from the eleventh means, and the seventh means encrypts the number of changes by using a random number generated from the eleventh means. 
   In the ninth aspect of the present invention, the control code is a region code that stores in a DVD-Video disc player. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram of an embodiment of the present invention. 
       FIG. 2  is a flowchart illustrating operation of the embodiment of  FIG. 1  in response to a region code inquiry. 
       FIG. 3  is a flowchart illustrating operation of the embodiment of  FIG. 1  in response to receipt of a command to change the region code. 
       FIG. 4  is a flowchart illustrating initialization processing in FIG.  2  and FIG.  3 . 
       FIG. 5  is a block diagram of prior art. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Preferred embodiments of the present invention are described in detail below, with references made it to relevant accompanying drawings. 
     FIG. 1  is a block diagram showing an embodiment of a control code read-out system according to the present invention. This embodiment of a control code read-out system is comprises a data processing apparatus  10  and a file device  20 . 
   The data processing apparatus  10  includes a region code updating means (the first means)  11 , a region code read-out means (the second means)  12 , a number of changes updating means (the sixth means)  13 , a number of changes read-out means (the fourth means)  14 , a checksum updating means (the seventh means)  15 , a checksum read-out means (the eighth means)  16 , a random number generating means (the tenth means)  17 , and a tampering detection means (the ninth means)  18 . The file device  20  includes a region code storage means  21  that stores an encrypted region code, a number of changes storage means  22 , that stores an encrypted number of changes, and a checksum storage means  23  that stores a checksum of the encrypted region code and a checksum of the encrypted number of changes. The above-mentioned means  11 - 18  of the data processing apparatus  10  are implemented by software stored in a central processing unit (CPU). 
   The region code updating means  11  in the data processing apparatus  10  encrypts the region code and stores the encrypted region code in the region code storage means  21 . The region code read-out means  12  reads out an encrypted region code stored in the region code storage means  21 , and decrypts the encrypting thereof so as to obtain a decrypted region code. The number of changes updating means  13  encrypts the number of changes and stores it in the number of changes storage means  22 . The number of changes read-out means  14  reads out the encrypted number of changes stored in the number of changes storage means  22 , decrypts the encrypted number of changes, and obtains thereby the number of changes. 
   The checksum updating means  15  calculates the checksum of the encrypted region code and the checksum of the encrypted number of changes, and stores these checksum in the checksum storage means  23 . The checksum read-out means  16  reads out the checksum stored in the checksum storage means  23 . The random number generating means  17  generates a random number for encrypting. The tampering detection means  18  performs a check for agreement between the encrypted region code and the checksum of the encrypted region code, and agreement between the encrypted number of changes and the checksum of the encrypted number of changes, thereby performing a test as to whether or not the encrypted region code or encrypted number of changes have been tampered with. 
   Next, the operation of the embodiment shown in  FIG. 1  is described in detailed below, with references made to the flowcharts of  FIG. 2  to FIG.  4 . 
   In this embodiment, a DVD playback apparatus holds the region codes therein, and at the time of playback of a DVD-Video disc, and only when the region code of the playback apparatus itself coincides with the region code recorded on the DVD-Video disc that is to be played back, playback of the DVD-Video disc will be permitted. 
   First, the operation in the case in which there is an inquiry as to the number of the region code of the playback apparatus itself from the playback apparatus is as follows. In this case, the region code read-out means  12  in the data processing apparatus  10  examines if the encrypted region code is stored in the region code storage means  21  in the file device  20  (step A 1  in FIG.  2 ). If the region code is not stored therein, the initialization processing to be described below is performed (step A 2  in FIG.  2 ). 
   If, however, the region code had been stored therein, the region code read-out means  12  reads out the encrypted region code from the region code storage means  21  (step A 3  of FIG.  2 ). Then, the checksum read-out means  16  reads out the encrypted checksum stored in the checksum storage means  23  (step A 4  of FIG.  2 ). 
   Next, the tampering detection means  18  performs a test for agreement between the encrypted region code and the checksum of the encrypted region code, so as to determine whether or not the encrypted region code has been tampered with (step A 5  of FIG.  2 ). If, as a result of this tests, the tampering detection means  18  determines that tampering has occurred, error processing is performed (step A 6  of FIG.  2 ), and an abnormal termination occurs. If, however, the result of this test is that the tampering detection means  18  determines that tampering had not occurred, this fact is notified to the region code read-out means  12 , and the region code read-out means  12  decrypts the encrypting of the region code, notifying the playback apparatus of the thus-obtained region code (step A 7  of FIG.  2 ). 
   Next, the operation in the case in which the playback apparatus according to the present invention outputs a command to change the region code held therein is as follows. Because the region codes are assigned to the pre-established regions in the world, respectively, the case in which a DVD-Video playback apparatus is shipped to various regions by a manufacturer, it is necessary to change the region code held in the apparatus to suit the target region. Additionally, there are cases in which a user wants to change the region code held in the playback apparatus to the same value of region code recorded on the DVD-Video. In such cases, a command to change the region code stored in the playback apparatus is output to the data processing apparatus  10 . 
   In the above case, first the number of changes read-out means  14  in the data processing apparatus  10  examines if the encrypted number of changes is stored in the number of changes storage means  12  in the file device  20  (step B 1  of FIG.  3 ). If the number of changes had not been stored therein, initialization processing to be described below is performed (step B 2  of FIG.  3 ). If, however, the number of changes had been stored therein, the encrypted number of changes is read out from the number of changes storage means  22  by the number of changes read-out means  14  (step B 3  of FIG.  3 ). 
   Next, the checksum read-out means  16  reads out the checksum of the encrypted number of changes from the checksum storage means  23  (step B 4  of FIG.  3 ). Then, the tampering detection means  18 , in order to perform a determination as to whether or not the encrypted number of changes has been tampered with, performs a tests of agreement between the encrypted number of changes read out by the number of changes read-out means  14  and the checksum of number of changes read out by the checksum read-out means  16  (step B 5  of FIG.  3 ). 
   As a result of this test, if the tampering detection means  18  determines that tampering had occurred, error processing is performed (step B 6  of FIG.  3 ), and an abnormal termination occurs. If, however, the test results indicate that tampering had not occurred, this fact is notified to the number of changes read-out means  14 , and the encrypted number of changes is decrypted by the number of changes read-out means  14  (step B 7  of FIG.  3 ). The number of changes updating means  13  receives the decrypted number of changes from the number of changes read-out means  14 , and performs a tests as to whether the number of changes is within the pre-established upper limit (for example 5) of the number of changes (step B 8  of FIG.  3 ). 
   If the result of this determination is that the number of changes has reached the upper limit, error processing is performed, and abnormal termination occurs (B 9  of FIG.  3 ). If, however, the number of changes has not reached the pre-established upper limit, the number of changes updating means  13  increments the number of changes by 1, and after incrementing encrypts the incremented value and stores it in the number of changes storage means  22  (step B 10  of FIG.  3 ). 
   The region code updating means  11  encrypts the region code included in the instruction to change the region code received from the playback apparatus and stores it in the region code storage means  21  (step B 11  of FIG.  3 ). 
   In performing these operations, it is desirable that the encrypting method for the region code and the number of changes has redundancy in the encrypted information, and further that a random number is used so that the results are different every time. When encrypting the values 1 to 6, the simplest method is to perform replacement using a simple rule. For example, replacement of 1 by A, 2 by B, and 3 by C, and so forth, with replacement upon decrypting of A by 1, B by 2, and C by 3. In this case, if the storage location of the encrypted region code is known, there is a possibility that it can be easily decrypted. If a random number which causes the conversion to be made differently each time is used, there is a decrease in the danger of decrypting. However, because the amount of information to be hidden is small, it is not difficult to attempt to decrypt it. 
   However, if redundancy is imparted to the information, it becomes difficult to guess the information. One method of imparting redundancy to the information is, for example, the method described below. 
   In this method, if a one-digit integer x is to be converted to a 5-digit integer abcde (where a through e represent the digits from the ten thousand&#39;s place to the 1&#39;s place), the calculation is made using random numbers a, b, c, d, and e such that the relationship
 
 x=a+b−c+d−e   (1) 
 
is satisfied.
 
   In the above, a rearrangement of the above expression results in
 
x+c+e=a+b+d  (2). 
 
   Based on the above relationship, the value of c and e are determined first by the random number generating means  17 , x+c+e is calculated, and a, b, and d such that this calculated sum is equal to the values a+b+d are calculated. In the case of reversed conversion of a 5-digit integers abcde to a single-digit integer x, x is obtained by using the equation (1). 
   At step B 12 , the checksum updating means  15  calculates the checksum of the encrypted region code and the encrypted number of changes, this newly calculated checksum being stored in the checksum storage means  23  (step B 12  of FIG.  3 ). 
   The method of performing of the above-noted checksum calculation can be one, for example, in which the sum of the encrypted region code and encrypted number of changes is simply calculated, however, it is desirable that an electronic signature is used to check for tampering. 
   The initialization processing performed at steps A 2  and B 2  is described below, with reference made to the flowchart of FIG.  4 . First, the region code updating means  11  initializes the region code to a pre-established value (for example, in the case of DVD playback apparatus sold in Japan, the value of the region code is 2) (step C 1  of FIG.  4 ). Next, the region code updating means  11  encrypts the initialized region code using a random number generated by the random number generating means  17 , and stores the encrypted initialized region code in the region code storage means  21  (step C 2  of FIG.  4 ). 
   Next, the number of changes updating means  13  initializes the number of changes to 0 (step C 3  of FIG.  4 ). Then, the number of changes updating means  13  encrypts the initialized number of changes using a random number from the random number generating means  17 , and stores the encrypted initialized number of changes in the number of changes storage means  22  (step C 4  of FIG.  4 ). Finally, the checksum updating means  15  calculates the checksum of the encrypted initialized region code and the checksum of encrypted initialized number of changes, and stores these calculated checksums in the checksum storage mean  23  (step C 5  of FIG.  4 ). 
   Thus, in this embodiment of the present invention, because the region code is encrypted and stored in the region code storage means  21 , it is difficult to decrypt the region code, thereby enabling restriction of access by means of the region code according to the present invention. In this embodiment, the number of changes of the region code can be updated by the number of changes updating means  13 , and the number of changes is encrypted so that it cannot be easily tampered with, and furthermore it is possible to permit a user to change the region code within the limited number of times. 
   It will be understood that the foregoing embodiment of the present invention is not intended to restrict the present invention, and that the present invention maybe applied in the same manner to an access-restricting control code other than the region code. In the foregoing embodiment, the DVD playback apparatus includes a number of changes updating means  13 , a number of changes read-out means  14  and a number of changes storage means  22 , however, it is not essential for the present invention to have above-mentioned means which permit changing of the region code. 
   As described in detailed above, according to the present invention, a control code used in restricting access is stored in an encrypted form in a control code storage means, so that even if a third party reads the control code obtained from the control code storage means, it cannot be decrypted, and can only be decrypted by software in an authorized apparatus, thereby enabling access restriction using a control code according to the present invention and software alone. 
   Additionally, according to the present invention, only in the case in which a test results indicates that the tampering detection means determines that tampering has not been done, it is possible to decrypt the encrypting of the control code and number of times, so that it is possible to provide further protection for the control code and number of times, thereby improving the reliability of access restriction by means of a control code using software only.