Patent Publication Number: US-6990026-B2

Title: Data processing apparatus and memory card

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2003-120093, filed Apr. 24, 2003, the entire contents of which are incorporated herein by reference. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a data processing apparatus capable of dealing with a recording medium having a function of controlling secrecy of data and a memory. 
     2. Description of the Related Art 
     The security function to protect data has become more important for a memory card used as an input/output device for data processing apparatuses as the storage volume of a memory card has become bigger. An existing security function of this kind is conventionally the data protection function using a password (e.g., Jpn. Pat. Appln. KOHYO Publication No. 8-505964). 
     However, this data protection function based on a password achieves only a low access-limit level, and therefore cannot cope with high multimedia technologies. 
     BRIEF SUMMARY OF THE INVENTION 
     The present invention is directed to substantially obviate one or more of the problems due to limitations and disadvantages of the related art. 
     According to an embodiment of the present invention, a data processing apparatus comprises a mount to which a recording medium having a lock/unlock function is attached; a determination unit which determines whether the recording medium attached to the mount has the lock/unlock function; a locking unit which locks the recording medium to protect data recorded on the recording medium; and an unlocking unit which unlocks the recording medium locked by the locking unit based on a predetermined condition. 
     According to another embodiment of the present invention, a memory card having a lock/unlock function, comprises a locking unit which locks the memory card; an unlocking unit which unlocks the memory card locked by the locking unit; a memory which stores condition data on which locking or unlocking is performed; and a controller which limits access to recorded data in the memory card by the locking unit or the unlocking unit based on the condition data stored in the memory. 
     Additional objects and advantages of the present invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the present invention. 
     The objects and advantages of the present invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
       The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the present invention and, together with the general description given above and the detailed description of the embodiments given below, serve to explain the principles of the present invention in which: 
         FIG. 1  is a block diagram showing the configuration of a main part of a first embodiment of the present invention; 
         FIG. 2  is a flowchart showing the procedure of a data writing processing in the first embodiment; 
         FIG. 3  is a flowchart showing the procedure of a data reading processing in the first embodiment; 
         FIG. 4  is a flowchart showing the procedure of a data writing processing in a second embodiment of the present invention; 
         FIG. 5  is a flowchart showing the procedure of one example of a data writing processing in the second embodiment; 
         FIG. 6  is a flowchart showing the procedure of another example of a data writing processing in the second embodiment; 
         FIG. 7  is a flowchart showing the procedure of a data reading processing in the second embodiment; 
         FIG. 8  is a flowchart showing the procedure of a start-up processing in a third embodiment of the present invention; 
         FIG. 9  is a flowchart showing the procedure of a start-up processing in a fourth embodiment of the present invention; 
         FIG. 10  is a flowchart showing the procedure of a start-up processing in a fifth embodiment of the present invention; and 
         FIG. 11  is a flowchart showing the procedure of a start-up processing in a sixth embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     An embodiment of a data processing apparatus according to the present invention will now be described with reference to the accompanying drawings. 
       FIG. 1  is a block diagram showing the configuration of a data processing apparatus in the embodiment of the present invention. 
     As shown in  FIG. 1 , the data processing apparatus according to the embodiment of the present invention comprises a CPU  11 , a main memory  12 , a card controller  13 , a card mount  14 , an input/output controller  15 , an input device  16 , a display controller  17 , and a display device  18 . The main memory  12  stores an access-limit application program  121  which realizes a data-secrecy control processing, including a lock/unlock function as shown in  FIGS. 2 to 11 . The main memory  12  comprises a registry  122  used for storing condition data and the like in the lock/unlock processing. A recording medium  21  having a data-secrecy-control function at a high access-limit level based on a data encryption processing, authentication processing, and the like is detachably attached to the card mount  14 , and is thus attached to the apparatus main body. An SD (secure digital) memory card as the recording medium  21  is attached directly or via a card adapter to the apparatus main body. 
     The SD memory card  21  attached to the card mount  14  includes an interface (I/F) unit  211 , an authentication/lock/unlock processing unit  212 , a protected-data storage area (protected area)  213 , and a normal-data storage area  214  which is not protected. The interface unit  211  includes a circuit which controls an interface to the host&#39;s side (the apparatus main body), and performs input/output control to access (read/write) data with respect to the apparatus main body. The authentication/lock/unlock processing unit  212  is realized by a microprocessor and firmware (F/W) to perform a predetermined authentication procedure and a lock/unlock processing. The protected area  213  is a data storage area which is accessible only when the authentication procedure is successful. The data storage area  214  is a data storage area which is accessible without involving the authentication procedure. 
     The CPU  11  controls the entire system including the units as described above. In this embodiment, the processing for controlling data secrecy, including a lock/unlock processing as shown in  FIGS. 2 to 11  targeted on recording media, are executed according to the access limit application program  121  stored in the main memory  12 . The main memory  12  provides a program storage area for storing various programs including the OS executed by the CPU  11 , and a work area for various data processings. In the present embodiment, the access limit application program  121  performs a processing for controlling data secrecy, including the lock/unlock processing as shown in  FIGS. 2 to 11  described later, and the registory  122  holds condition data and the like used for the lock/unlock processing. 
     The card controller  13  performs data writing/reading control in writing/reading data on/from the SD memory card  21  attached to the card mount  14  under control of the CPU  11 . In this embodiment, input/output control in the lock/unlock processing as shown in the figures is carried out in corporation with the authentication/lock/unlock processing unit  212  in the SD memory card, in the processing of the access limit application program  121  executed by the CPU  11 . The card mount  14  has a card slot through which the SD memory card  21  is inserted and pulled out directly or via a card adapter. The SD memory card  21  attached to the card slot is connected to the connector of the apparatus main body. 
     The input device  16  connected to the input/output controller  15  comprises, for example, a keyboard, a pointing device, or the like. In this embodiment, the input device  16  is used to input a password to lock/unlock the SD memory card  21 . 
       FIG. 2  shows the outline of a data writing processing including a card lock function, in the entire system in the first embodiment.  FIG. 3  shows the outline of a data reading processing including a card unlock function, also in the entire system in the first embodiment.  FIGS. 2 and 3  each show a processing targeted on an SD memory card  21  having a protected area  213  which has already been set. If no protected area  213  is set in the SD memory card  21  attached to the card mount  14 , the processing of an authentication procedure is omitted. 
     In the data writing processing of  FIG. 2 , it is determined whether the SD card  21  attached to the card mount  14  supports the lock/unlock function or not when data to be protected is written (step W 11 ). If the SD memory card  21  does not support the lock/unlock function (No in step W 12 ), a message indicating that writing is performed with no lock is displayed on the display device  18  (step W 21 ). The data to be protected is encrypted (step W 22 ) and written into the SD memory card  21  (step W 23 ). The writing with no lock is the same as the data writing in an existing conventional SD memory card. 
     If the SD memory card  21  supports the lock/unlock function (Yes in step W 12 ), presence of a protected area  213  is checked. Then, a predetermined authentication procedure is carried out between the authentication/lock/unlock processing unit  212  in the SD memory card  21  and the access limit application program  121  in the program area, which is executed by the CPU  11  (step W 13 ). 
     If the authentication is not successful in the authentication procedure (No in step W 14 ), an error message indicating a failure of writing is displayed on the display device  18 , and the processing ends (step W 24 ). 
     If the authentication is completed successfully (Yes in step W 14 ), the data to be protected is encrypted (step W 15 ). Input of a password is then suggested. When a password is input (step W 16 ), the encrypted data is written into the SD memory card  21  (step W 17 ). 
     After writing the encrypted data into the SD memory card  21 , the SD memory card  21  is locked with the input password (step W 18 ). If the lock is not successful (No in step W 19 ), the data written into the SD memory card  21  is erased (step W 25 ). A message indicating a failure of locking is displayed and the processing ends (step W 26 ). 
     If the lock is completed successfully (Yes in step W 19 ), the data writing with the lock with the password is finished. The password for the lock is recorded on the SD memory card  21 . As a result, the function of protecting data recorded on the SD memory card  21  is improved much more. For example, this is because the card itself is locked even if a third party capable of decrypting the encrypted recorded data should obtain the SD memory card  21 . 
     In the processing ( FIG. 3 ) of reading data from the SD memory card  21  on which the data writing with a lock has been performed, it is determined whether the SD memory card  21  attached to the card mount  14  supports the lock/unlock function or not (step R 11 ). 
     If the SD memory card  21  does not support the lock/unlock function (No in step R 12 ), a message indicative of data reading without a lock is displayed on the display device  18  (step R 21 ), and it is determined that a protected area  213  is present. Then, a predetermined authentication procedure is carried out between the authentication/lock/unlock processing unit  212  in the SD memory card  21  and the access limit application program  121  executed by the CPU  11  (step R 22 ). 
     If the authentication is not successful in the authentication procedure (No in step R 23 ), an error message indicating a failure of reading is displayed on the display device  18 , and the processing ends (step R 26 ). If the authentication is completed successfully (Yes in step R 23 ), the encrypted data with no lock is read from the SD memory card  21  (step R 24 ). Input of a password is then suggested. If the data cannot be read successfully (No in step R 25 ), an error message indicating a failure of reading is displayed on the display device  18  and the processing ends (step R 26 ). If the data is read successfully (Yes in step R 25 ), the reading of data with no lock ends. 
     If the SD memory card  21  supports the lock/unlock function (Yes in step R 12 ), input of a password for indicating an accessing person is then suggested. When a password is input (step R 13 ), the validity of the input password is checked, and the SD memory card  21  is unlocked (step R 14 ). To confirm the validity of the input password at this time, a password used for locking the card is read from a predetermined area of the SD memory card  21 , and is compared with the input password. 
     If the unlocking is not successful (No in step R 15 ), an error message indicating a failure of reading is displayed on the display device  18 , and the processing ends (step R 26 ). If the unlocking is completed successfully (Yes in step R 15 ), presence of the protected area  213  is checked, and a predetermined authentication procedure is carried out between the authentication/lock/unlock processing unit  212  in the SD memory card  21  and the access limit application program  121  in the program area, which is executed by the CPU  11  (step R 16 ). 
     If the authentication is not successful in the authentication procedure (No in step R 17 ), an error message indicating a failure of reading is displayed on the display device  18 , and the processing ends (step R 26 ). If the authentication is completed successfully (Yes in step R 17 ), the encrypted data with a lock is read from the SD memory card  21 , and the processing ends (step R 18 ). 
     Since the memory card has the lock/unlock function as described above, a higher-level multiple data protection is possible in addition to the authentication and the encryption even in a situation that encrypted data can be decrypted. The data-secrecy-control function is improved much more. 
     Other embodiments of the data processing apparatus according to the present invention will be described. The same portions as those of the first embodiment will be indicated in the same reference numerals and their detailed description will be omitted. 
       FIG. 4  shows a data writing processing of the access limit application program  121  according to a second embodiment.  FIG. 7  shows a data reading processing thereof. 
     In the data writing processing of  FIG. 4 , it is determined whether the SD card  21  attached to the card mount  14  supports the lock/unlock function or not when data to be protected is written (step W 31 ). If the SD memory card  21  does not support the lock/unlock function (No in step W 31 ), a message indicating that cards supporting no lock/unlock function cannot be treated is displayed on the display device  18  (step W 36 ), and the processing ends. 
     If the SD memory card  21  supports the lock/unlock function (Yes in step W 31 ), it is subsequently determined whether the SD memory card  21  is locked or not (step W 32 ). 
     If the SD memory card  21  is not locked (No in step W 32 ), input of a password is suggested. When a password is then input (step W 33 ), data is written into the SD memory card  21  (step W 34 ). Further, the SD memory card  21  is locked with the input password, and the writing processing ends (step W 35 ). 
     If the SD memory card  21  is locked (Yes in step W 32 ), a message indicating that the memory card  21  is locked is displayed on the display device  18  (step W 41 ), and further, input of a password is suggested. When a password is then input (step W 42 ), the validity of the input password is checked, and unlocking of the SD memory card  21  is suggested (step W 43 ). 
     If the unlocking is not successful (No in step W 44 ), an error message indicating a failure of unlocking is displayed on the display device  18 , and the processing ends (step W 45 ). 
     If the unlocking is completed successfully (Yes in step W 44 ), input of a password is suggested. When a password is then input (step W 33 ), data is written into the SD memory card  21  (step W 34 ), and the SD memory card  21  is locked with the input password. Then, the processing ends (step W 35 ). 
     In the above described data writing processing into the SD memory card  21  (step W 34 ), data is actually written into the SD memory card  21 . The processings differ depending on whether the data is written into the normal data storage area  214  or the protected area  213 .  FIG. 5  shows the processing of writing data into the normal data storage area  214  at this time.  FIG. 6  shows the other processing of writing data into the protected area  213 . 
     In case of writing data into normal data storage area  214  as shown in  FIG. 5 , the data to be written is encrypted (step W 51 ). The encrypted data is written into the data storage area  214  in the SD memory card  21 , and the processing ends (step W 52 ). 
     In the processing ( FIG. 6 ) of writing data into the protected area  213 , a predetermined authentication procedure is carried out with the authentication/lock/unlock processing unit  212  in the SD memory card  21  (step W 61 ). If the authentication is not successful (No in step W 62 ), an error message indicating a failure of writing is displayed on the display device  18 , and the processing ends (step W 65 ). 
     If the authentication is completed successfully (Yes in step W 62 ), the data to be protected is encrypted (step W 63 ), and the encrypted data is written into the protected area  213  in the SD memory card  21  (step W 64 ). 
     In the data reading processing of  FIG. 7 , it is determined whether the SD memory card  21  attached to the card mount  14  supports the lock/unlock function or not (step R 31 ). If the SD memory card  21  does not support the lock/unlock function (No in step R 31 ), a message indicating that the memory card  21  does not support the lock/unlock function is displayed on the display device  18  (step R 37 ). Then, the reading processing is performed on the SD memory card  21  (step R 36 ), and the processing ends. 
     If the SD memory card  21  supports the lock/unlock function (Yes in step R 31 ), it is determined whether the SD memory card  21  is locked or not (step R 32 ). 
     If the SD memory card  21  is not locked (No in step R 32 ), the reading processing is executed on the SD memory card  21  (step R 36 ), and the processing ends. 
     If the SD memory card  21  is locked (Yes in step R 32 ), input of a password for releasing the lock is then suggested. When a password is input (step R 33 ), the SD memory card  21  is unlocked with the key (step R 34 ). 
     If the unlocking is not successful (No in step R 35 ), an error message indicating a failure of unlocking is displayed on the display device  18 , and the processing ends (step R 36 ). 
     In the above-described data reading processing from the SD memory card  21  (step R 36 ), the processing of reading data from the normal data storage area  214  and the processing of reading data from the protected area  213  are different from each other like in the data writing processing. An authentication procedure is performed in the data reading processing from the protected area  213 , like in the case of the writing processing to the protected area  213  described previously. 
     Thus, once the SD memory card  21  is locked, data cannot be read from the SD memory card  21  before the SD memory card  21  is unlocked with the same password used to lock the card. As a result, the secrecy of data recorded on the SD memory card  21  is improved much more. 
     In the second embodiment described above, if the SD memory card  21  does not support the lock/unlock function in the wiring processing into the SD memory card  21  (No in step W 31 ), a message indicating that cards which do not support the lock/unlock function cannot be handled is displayed on the display device  18  (step W 36 ), and the writing processing ends. However, as indicated by broken lines in  FIG. 4 , data writing with no lock may be enabled like in the first embodiment described previously. 
     Described next will be a third embodiment which realizes a much higher data-secrecy-control function, using the lock/unlock function described above. In the third embodiment, a password is obtained through a predetermined procedure with respect to data recorded on the SD memory card  21 . With use of the password, the data recorded on the SD memory card  21  can be used for a predetermined limited period. The third embodiment will now be described with reference to  FIGS. 1 ,  7 , and  8 . 
     In the third embodiment, data indicative of a preset control-expiration limit (step S 11  in  FIG. 8 ) is obtained as the access limit application program  121  starts up. Further, data indicative of the current date/time is obtained (step S 12 ). Both of these data items are compared with each other to determine whether the current date/time is over the preset control-expiration limit or not (step S 13 ). The data indicative of the control-expiration limit is encrypted and set in advance, for example, in the registry  122  of the main memory  12 . This data is read from the registry  122  at the time of start-up, and is obtained by performing a decryption processing. The current date/time data is obtained from a clock module (RTC) operating in the apparatus main body via the OS (Operating System). 
     If the current date/time is after the preset control-expiration limit, i.e., over the control-expiration limit (No in step S 13 ), an error message indicating that the expiration limit is over is displayed on the display device  18  (step S 15 ). The access limit application program  121  is taken as causing a start-up error, and the access to the SD memory card  21  is made invalid. 
     If the current date/time is not after the preset control-expiration limit, i.e., within the control-expiration limit (Yes in step S 13 ), the SD memory card  21  is locked (step S 14 ), and the processing is continued. 
     With respect to the locked SD memory card  21 , data recorded on the SD memory card  21  can be used by unlocking the SD memory card  21  with a password (see steps R 33  to R 36  in  FIG. 7 ). 
     By using this function, various data services such as a trial listening to music, a preview of a film, a demonstration of a game, and the like can be provided maintaining high secrecy with their trial periods limited. In this case, much higher data protection is possible if data of the expiration limit of an allowable trial use is encrypted and stored in the protected area  213  in the SD memory card  21 . 
     Described next will be a fourth embodiment of the present invention, which uses the lock/unlock function described above. In the fourth embodiment, a password is obtained through a predetermined procedure with respect to data recorded on the SD memory card  21 . With use of the password, the data recorded on the SD memory card  21  can be used up to a predetermined preset number of times. The fourth embodiment will be described with reference to  FIGS. 1 ,  7 , and  9 . 
     In the fourth embodiment, data indicative of a preset maximum number of starts the program can be started up is obtained as the access limit application program  121  starts up (step S 21  in  FIG. 9 ). Further, data indicative of another number of starts, i.e., how many times the program  121  has been started up till the current start-up is obtained (step S 22 ). Both of these data items are compared with each other to determine whether the number of starts the program  121  has been started up till the current start-up exceeds the preset maximum number of starts or not (step S 23 ). The data indicative of the maximum number of starts is encrypted and set in advance, for example, in the registry  122  of the main memory  12 . This data is read from the registry  122  at the time of start-up, and is obtained by performing a decryption processing. The other data indicative of the number of times the program  121  has been started up till the current start-up can be obtained, for example, by using a particular area of the registry  122  as a start number counter and by incrementing the content of the counter for every start-up of the application. The contents (count value) i.e., of the number of starts may be encrypted and held in the start number counter. 
     If the number of starts till the current start-up exceeds the preset maximum number of starts (Yes in step S 23 ), an error message thereof is displayed on the display device  18  (step S 26 ). Then, the access limit application program  121  is taken as causing a start-up error, and the access to the SD memory card  21  is made invalid. 
     If the number of starts till the current start-up does not exceed the preset maximum number of starts (No in step S 23 ), the number of start till the current start-up is updated (+1) (step S 24 ). Then, the SD memory card  21  is locked (step S 25 ), and the start-up processing continues. 
     With respect to the locked SD memory card  21 , data recorded on the SD memory card  21  can be used by unlocking the SD memory card  21  with a password (see steps R 33  to R 36  in  FIG. 7 ). 
     By using this function, various data can be provided maintaining high secrecy and limiting the number of times the data can be used. In this case, much higher data protection is possible if data indicative of the maximum number of allowable uses is encrypted and stored in the protected area  213  in the SD memory card  21 . 
     Described next will be a fifth embodiment of the present invention, which uses the lock function as described above. In the fifth embodiment, use of data recorded on the SD memory card  21  is allowed only within a preset control-expiration limit. The fifth embodiment will now be described with reference to  FIGS. 1 and 10 . 
     In the fifth embodiment shown in  FIG. 10 , data indicative of a preset control-expiration limit (step S 31 ) is obtained as the access limit application program  121  starts up. Further, data indicative of the current date/time is obtained (step S 32 ). Both of these data items are compared with each other to determine whether the current date/time is over the preset control-expiration limit or not (step S 33 ). An example of obtaining each data item at this time has already been described in the third embodiment, and therefore, explanation of the example will be omitted. 
     If the current date/time is not over the preset control-expiration limit, i.e., within the control-expiration limit (No in step S 33 ), the start-up processing is continued. If the current date/time is over the preset control-expiration limit, i.e., the control-expiration limit has expired (Yes in step S 33 ), the SD memory card  21  is locked (step S 34 ), and an error message thereof is displayed on the display device  18  (step S 35 ). The access to the SD memory card  21  is then made invalid. 
     By using this function of controlling the usable period, various data can be provided maintaining high secrecy. In this case, much higher data protection is possible if data of the expiration limit of the usable period is encrypted and stored in the protected area  213  in the SD memory card  21 . 
     Described next will be a sixth embodiment of the present invention, which uses the lock function described above. In the sixth embodiment, use of the data recorded on the SD memory card  21  is allowed up to a predetermined preset number of times. The sixth embodiment will be described with reference to  FIGS. 1  and  11 . 
     In the sixth embodiment, data indicative of a preset maximum number of allowable starts is obtained as the access limit application program  121  starts up (step S 41  in  FIG. 11 ). Further, data indicative of another number of starts, i.e., how many times the program  121  has been started up till the current start-up is obtained (step S 42 ). Both of these data items are compared with each other to determine whether the number of starts till the current start-up exceeds the preset maximum number of allowable starts or not (step S 43 ). An example of obtaining each data item at this time has already been described in the fourth embodiment, and therefore, explanation of the example will be omitted. 
     If the number of starts till the current start-up exceeds the preset maximum number of allowable starts (Yes in step S 43 ), the SD memory card  21  is locked (step S 45 ), and an error message indicating that the preset maximum number is exceeded is displayed on the display device  18  (step S 46 ). Then, the access to the SD memory card  21  is made invalid. 
     If the number of starts till the current start-up does not exceed the preset maximum number of allowable starts, the number of starts till the current start-up is updated (+1) (step S 44 ), and the start-up processing continues. 
     By using this function of limiting the number of uses, various data can be provided limiting the number of times the data can be used. In this case, much higher data protection is possible if data indicative of the maximum number of allowable uses is encrypted and stored in the protected area  213  in the SD memory card  21 . 
     While the description above refers to particular embodiments of the present invention, it will be understood that many modifications may be made without departing from the spirit thereof. Though the above embodiments teaches that the SD card is unlocked based on one of time data, the number of accesses, and the accessing source, it is possible to modify the embodiments to unlock the SD card based on setting data including one of the time data, the number of accesses, and the accessing source. The accompanying claims are intended to cover such modifications as would fall within the true scope and spirit of the present invention. The presently disclosed embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims, rather than the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.