The present invention relates to a master device which performs device certification relating to the validity of a detachable slave device, and to a data processing system including the master device and the slave device. The present invention also relates to a technique advantageous in applying to device certification performed by, for example, a PC (Personal Computer) for a battery and a removable storage, and device certification performed by an LBP (Laser Beam Printer) for a toner cartridge or a photoreceptor cartridge.
In order to determine the validity of a slave device attached to a master device, a technique of device certification can be employed. A basic certification method used for device certification is described in Patent document 1. According to the document, its basic certification method is carried out in such a manner that a demonstrator demonstrates to a certifier that the demonstrator holds a secret function called a certification function, without letting know the function itself. Therefore, the certifier selects certain data (challenge data), and transmits the same to the demonstrator. In response thereto, the demonstrator converts the challenge data using the certification function, and returns the obtained data (response data) to the certifier. The certifier that receives the response data also shares the certification function, and converts the transmitted challenge data using the certification function held by the certifier so as to compare its result and the response data. If they are equal to each other, it is determined that the demonstrator holds the legitimate certification function, and certifies its validity. For example, when a slave device is attached, a master device issues a certification command to the slave device so as to allow the slave device to issue a first random number. The master device encrypts the first random number, and adds a different second random number to the encrypted first random number to be returned to the slave device. The slave device extracts the second random number therefrom, and encrypts the extracted data to be returned to the master device. The master device decrypts the encrypted second random number, and if the second random number can be obtained from the decrypted result, it is determined that the slave device is true and correct. The master device corresponds to the certifier, the slave device corresponds to the demonstrator, the second random number corresponds to the challenge data, and the encryption/decryption algorithm for the random number corresponds to the certification function.
Patent document 1: Japanese Unexamined Patent
The certification result of the master device is reflected on the subsequent controlling mode performed by the master device for the slave device. The master device uses a data processor for its internal control and interface control with respect to the slave device. Such a data processor generally performs data processing without confidentiality. If device certification is performed using the data processor that performs data processing without confidentiality, the algorithm for generating a random number and the algorithm for encryption and decryption are possibly analyzed with ease. Therefore, it is preferable to use an individual chip (certification chip), for the process of generating a random number and the process of encryption and decryption, in which the confidentiality for internal operations is enhanced. At this time, a certification result obtained by the certification chip has to be naturally notified to the data processor that performs data processing without confidentiality. If the certification result is notified by using simple plain-text code data, the meaning and content thereof can be easily analyzed. Accordingly, even if the certification chip with confidentiality is used, there is a possibility that the effect achieved by using the individual chip is halved. Sophisticated encryption may be performed for the certification result. However, in order to perform the sophisticated encryption, it is necessary for the data processor used for internal control of the master device to execute a process of encryption and decryption. The process of encryption and decryption places a large burden on the data processor, and it is necessary to set aside a storage area for such a program, which results in a large burden on the master device in terms of data processing and capacity of a program memory.
An object of the present invention is to make it difficult to illegally analyze a device certification result without largely depending on a software process.
The foregoing and other objects, and novel characteristics of the present invention will be apparent from the description of the present specification and the appended drawings.
Summarized description of the representative outlines of the aspects of the present invention disclosed in this application is as follows.
A slave device (3) is detachably coupled to a master device (2) according to the present invention. The master device includes a master certification device (5) which is used for a certification process for the coupled slave device, and a master data processing device (6) which enables interface control with respect to the coupled slave device and interface control with respect to the master certification device. The master certification device makes a true-false determination on a response which is returned from the slave device after responding to a command from the master data processing device, divides a true-false determination result into a plurality of pieces of determination result data in accordance with a predetermined algorithm, outputs a part of the divided determination result data to the slave device, and outputs the rest to the master data processing device. The master data processing device recognizes the determination result on the basis of the part of the determination result data which is returned from the slave device and the rest of the determination result data which is given from the master certification device.
According to the above-described means, the certification result obtained by the master device for the slave device is notified to the master data processing device while making a part of the determination result data supplied from the master certification device to the master data processing device accompany with the rest of the determination result data supplied from the master certification device to the master data processing device through the slave device. Even when the part of the determination result data and the rest of the determination result data are plain text, they are given from different routes. Accordingly, the confidentiality for the determination result can be enhanced as compared to the case where all of the determination results are given from the master certification device to the master data processing device. Thus, it is not necessary to enhance the confidentiality for the determination result of the certification process by allowing the master data processing device to execute an encryption/decryption processing program. Further, one of the different routes through which the determination result data are given to the master data processing device is provided inside the master device, and the both of the determination result data are not given to the master data processing device from the slave device. If the both are given to the master data processing device from the slave device, illegal replication or imitation can be done only on the side of the slave device as a demonstrator to be certified. Thus, the certification result that means approval can be fabricated and input to the master device irrespective of the actual certification result.
There are separately provided first transfer routes (13, 14) through which the part of the determination result data obtained by the master certification device is transferred to the slave device, and second transfer routes (10, 15) through which the part of the determination result data is returned from the slave device. The same determination result data do not pass through the same route, so that the confidentiality for the determination result data themselves can be enhanced.
The second transfer route is a general-purpose bus (10) through which a command from the master data processing device is transmitted and a response from the slave device responding to the command is transmitted. A different command or command response can be provided at the head or rear of the determination result data. In this respect, too, the confidentiality for the determination result data themselves can be enhanced.
The part of the determination result data which is returned from the slave device through the general-purpose bus may be accompanied with dummy data. Further, the part of the determination result data which is returned from the slave device through the general-purpose bus may be accompanied with a response to a different command. It becomes difficult to discriminate the part of the determination result data on the transfer route. When accompanying the dummy data and the different command response, it is obviously necessary that a predetermined algorithm shared by the master device and the slave device is performed to be satisfied.
A data processing system according to the present invention includes a master device, and a slave device which is detachably coupled to the master device. The master device includes a master certification device which is used for a certification process for the coupled slave device, and a master data processing device which enables interface control with respect to the coupled slave device and interface control with respect to the master certification device. The master certification device makes a true-false determination on a response which is returned from the slave device after responding to a command from the master data processing device, divides a true-false determination result into a plurality of pieces of determination result data in accordance with a predetermined algorithm, outputs a part of the divided determination result data to the slave device, and outputs the rest to the master data processing device. The master data processing device recognizes the determination result on the basis of the part of the determination result data which is returned from the slave device and the rest of the determination result data which is given from the master certification device.
According to the data processing system, even when the part of the determination result data and the rest of the determination result data are plain text, they are given from different routes. Accordingly, the confidentiality for the determination result can be enhanced as compared to the case where all of the determination results are given from the master certification device to the master data processing device. Thus, it is not necessary to enhance the confidentiality for the determination result of the certification process by allowing the master data processing device to execute an encryption/decryption processing program.
The slave device may allow the part of the determination result data which is returned to the master device through the general-purpose bus to be accompanied with dummy data. Further, the slave device may allow the part of the determination result data which is returned to the slave device through the general-purpose bus to be accompanied with a response to a different command. It becomes difficult to discriminate the part of the determination result data on the transfer route. In this respect, the confidentiality for the determination result data themselves can be enhanced.
As a concrete configuration, the slave device includes a slave certification device (7) which is used for a certification process performed by the master device for the slave device, and a slave data processing device (8) which enables interface control with respect to the master device to which the slave device is coupled and interface control with respect to the slave certification device. In response to a first command (command issued in S7) from the master device, the slave certification device generates response data (data transmitted in S10), and the slave data processing device outputs the response data to the master device. In response to a second command (command issued in S16) from the master device, the slave certification device inputs a part of determination result data which are obtained by dividing a true-false determination result by the master device on the basis of the response data, and the slave data processing device returns the part of the determination result data to the master device.
As another concrete configuration of the slave device, in response to a second command from the master device, the slave certification device inputs a part of determination result data which are obtained by dividing a true-false determination result by the master device on the basis of the response data, and the slave certification device returns the part of the determination result data to the master device.
As still another concrete configuration of the slave device, in response to a second command from the master device, the slave data processing device inputs a part of determination result data which are obtained by dividing a true-false determination result by the master device on the basis of the response data, and the slave data processing device returns the part of the determination result data to the master device.
The slave device separately includes a first interface terminal to which the part of the divided determination result data is input from the master device, and a second interface terminal from which the part of the divided determination result data input from the first interface terminal is output to the master device. The same determination result data do not pass through the same route, so that the confidentiality for the determination result data themselves can be enhanced.
The second interface terminal is a general-purpose terminal which is used for inputting a command from the master device and for outputting a command response. A different command or command response can be provided at the head or rear of the determination result data. In this respect, too, the confidentiality for the determination result data themselves can be enhanced.
A data processing system, according to the present invention from another viewpoint, includes a master device, a slave device which is detachably coupled to the master device, and a peripheral device (20) which can be coupled to the master device and the slave device. The master device includes a master certification device which is used for a certification process for the coupled slave device, and a master data processing device which enables interface control with respect to the coupled slave device and interface control with respect to the master certification device. The master certification device makes a true-false determination on a response which is returned from the slave device after responding to a command from the master data processing device, divides a true-false determination result into a plurality of pieces of determination result data in accordance with a predetermined algorithm, outputs a part of the divided determination result data to the peripheral device, and outputs the rest to the master data processing device. The peripheral device outputs the part of the divided determination result data to the slave device. The master data processing device recognizes the determination result on the basis of the part of the determination result data which is returned from the slave device and the rest of the determination result data which is given from the master certification device. By providing the peripheral circuit on the transfer route through which the part of the divided determination result data is transmitted from the master device to the slave device, the route becomes more complicated. In this respect, the confidentiality for the determination result data themselves can be enhanced.
A master device, according to the present invention from another viewpoint, to which a slave device is detachably coupled includes a master certification device (5) which generates and converts certification data and makes a true-false determination on the certification data, and a master data processing device (6) which enables interface control with respect to the slave device and the master certification device. The master certification device makes a true-false determination on response data from the slave device responding to the generated certification data, divides a determination result into first and second determination result data, outputs the first determination result data to the slave device, and outputs the second determination result data to the master data processing device. The master data processing device recognizes the determination result on the basis of the first determination result data which are received from the slave device and the second determination result data which are received from the master certification device.
A data processing system, according to the present invention from another viewpoint, includes a master device (2), and a slave device (3) which is detachably coupled to the master device. The master device includes a master certification device (5) which generates and converts certification data and makes a true-false determination on the certification data, and a master data processing device (6) which enables interface control with respect to the slave device and the master certification device. The slave device includes a slave certification device (7) which generates and converts certification data and makes a true-false determination on the certification data, and a slave data processing device (8) which enables interface control with respect to the master device and the slave certification device. The master certification device makes a true-false determination on conversion data which are returned after the generated certification data are converted by the slave certification device, divides a determination result into first and second determination result data, outputs the first determination result data to the slave device, and outputs the second determination result data to the master data processing device. The master data processing device recognizes the determination result on the basis of the first determination result data which are received from the slave device and the second determination result data which are received from the master certification device.
[6]<<Data Processing System>>
Another data processing system (1C), according to the present invention from a viewpoint of mutual certification, includes a master device (2A), and a slave device (3A) which is detachably coupled to the master device. The master device includes a master certification device (5A) which generates and converts certification data and makes a true-false determination on the certification data, and a master data processing device (6A) which enables interface control with respect to the slave device and the master certification device. The slave device includes a slave certification device (7A) which generates and converts certification data and makes a true-false determination on the certification data, and a slave data processing device (8A) which enables interface control with respect to the master device and the slave certification device. The slave certification device makes a true-false determination on first conversion data which are returned after generated first certification data are converted by the master certification device. The master certification device makes a true-false determination on second conversion data which are returned after generated second certification data are converted by the slave certification device. The master data processing device obtains a certification result for the slave device by performing an operation using a first true-false determination result obtained by the slave certification device for the first conversion data and a second true-false determination result obtained by the master certification device for the second conversion data.
According to the above-described means, although the certification performed by the master device for the slave device is mutually performed by a certification process performed by the slave device for the master device and a certification process performed by the master device for the slave device, it is possible for the master data processing device to obtain the certification result for the slave device by performing an operation using the true-false determination data results obtained by the respective certification processes. The respective pieces of true-false determination result data are serially given from different routes, and the both pieces of true-false determination result data are used for the final certification, so that the confidentiality for the determination result can be enhanced as compared to the mutual certification separately using the respective determination results. It is not necessary to enhance the confidentiality for the determination result of the certification process by allowing the master data processing device to execute the encryption/decryption processing program.
In the above-described means, the master data processing device may receive the true-false determination result from any element in the slave device. For example, the master data processing device may receive the true-false determination result from the slave data processing device. Specifically, the slave data processing device gives a first true-false determination result obtained by the slave certification device for the first conversion data to the master data processing device. The master data processing device obtains a certification result for the slave device by performing an operation using a second true-false determination result for the second conversion data which are received from the master certification device and the first true-false determination result which are received from the slave data processing device.
Still another data processing system, according to the present invention from a viewpoint of mutual certification, includes a master device (2A), and a slave device (3A) which is detachably coupled to the master device. The master device includes a master certification device (5A) which generates and converts certification data and makes a true-false determination on the certification data, and a master data processing device (6A) which enables interface control with respect to the slave device and the master certification device. The slave device includes a slave certification device (7A) which generates and converts certification data and makes a true-false determination on the certification data, and a slave data processing device (8A) which enables interface control with respect to the master device and the slave certification device. The master data processing device converts first certification data generated by the slave certification device at the master certification device, and adds second certification data generated by the master certification device to the converted first-conversion-data to be output to the slave data processing device. The slave processing device allows the slave certification device to make a true-false determination on the first conversion data of the first certification data and to convert the second certification data, and outputs the determined first-determination-result-data and the converted second-conversion-data to the master data processing device. The master data processing device allows the master certification device to make a true-false determination on the second conversion data of the second certification data, and obtains a determination result for the slave device on the basis of the determined second-determination-result-data and the determined first-determination-result-data. As similar to the above, the confidentiality for the determination result can be enhanced.
Summarized description of the effects obtained by the representative aspects of the present invention disclosed in this application is as follows.
That is, it is possible to make it difficult to illegally analyze a device certification result without largely depending on a software process.
In
In the master device 2 of
Although not shown in the drawing, the master data processing device 6 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and a plurality of ports. The slave data processing device 8 also includes the same elements. The master data processing device 6 and the slave data processing device 8 are mutually coupled to each other through a bus 10 through each port. The master data processing device 6 and the slave data processing device 8 transmit and receive a command and a command response to/from each other through the bus 10. The master certification device 5 is coupled to a specific port of the master data processing device 6 through a bus 11, gives an operation command from the master data processing device 6 to the master certification device 5, and returns a response to the command to the master data processing device 6. As similar to the above, the slave certification device 7 is coupled to a specific port of the slave data processing device 8 through a bus 12, gives an operation command from the slave data processing device 8 to the slave certification device 7, and returns a response to the command to the slave data processing device 8.
Each of the master certification device 5 and the slave certification device 7 includes a random number generating unit, an encryption/decryption unit, a determination unit, and a sequencer, and the same encryption/decryption protocol (certification function) is set to the encryption/decryption unit of each of the master certification device 5 and the slave certification device 7 so as to perform a certification process to be described later. The master certification device 5 and the slave certification device 7 are instructed to operate on the basis of an operation command given from the outside, and returns a response to the command to the outside. However, an operation command that arbitrarily accesses from the outside to the inside is not supported. As the other elements, circuit and physical means that holds confidentiality of the inside may be provided. Each of the master certification device 5, the master data processing device 6, the slave certification device 7, and the slave data processing device 8 is formed as a semiconductor integrated circuit by using an individual chip. The master certification device 5 and the slave certification device 7 are mutually coupled to each other through a bus 13. The master data processing device 6 and the slave certification device 7 are mutually coupled to each other through a bus 15.
In
One of the divided determination result data is Xe, and the other of the divided determination result data is Ye.
One of the divided determination result data is transmitted to the master data processing device 6 from the bus 11 (S15), and the other of the divided determination result data is transmitted to the slave certification device 7 from the bus 13 (S18). When the master certification device 5 transfers one of the divided determination result data to the master data processing device through the bus 11 (S15), the master data processing device 6 that receives a part of the determination result data issues the command (first command) to the slave data processing device 8 (S16), and, in response thereto, the slave data processing device 8 issues a transfer request to the slave certification device 7 (S17). When the other of the determination result data is directly transmitted to the slave certification device 7 from the master certification device 5 through the bus 13 (S18), the slave certification device 7 transfers the same to the slave data processing device 8 (S19), and the slave data processing device 8 returns the other of the divided determination result data being received, as a command response, to the master data processing device from the bus 10 (S20). The master data processing device 6 couples one of the determination result data supplied from the master certification device through the bus 11 in S15 with the other of the determination result data supplied from the slave data processing device 8 through the bus 10 in S20 in accordance with a predetermined algorithm, and accordingly, the certification result for the slave device 3 can be recognized (S21). Post-processing in accordance with the success or the unsuccess of the recognized certification result is appropriately determined by an operation program for a different data processing device in the master data processing device 6 or the master device 2. When it is determined as unsuccess in the true-false determination of S9, the master data processing device 6 receives the result as a command response from the slave data processing device 8, so that the process may be shifted to the one for the unsuccessful certification.
According to this procedure, the certification result obtained by the master device 2 for the slave device 3 is notified to the master data processing device 6 while coupling one of the determination result data supplied from the master certification device 5 to the master data processing device 6 through the bus 11 with the other of the determination result data supplied from the master certification device 5 to the master data processing device 6 through the bus 13, the slave device 3, and the bus 10. Even when one of the determination result data and the other of the determination result data are plain text, they are given from different routes. Accordingly, the confidentiality for the determination result can be enhanced as compared to the case where all of the determination results are given from the master certification device 5 to the master data processing device 6. Thus, it is not necessary to enhance the confidentiality for the determination result of the certification process by allowing the master data processing device 6 to execute an encryption/decryption processing program. Accordingly, it is not necessary for the master data processing device 6 to execute the encryption/decryption processing program, so that a burden on the data processing is not increased and a storing area for such a program does not need to be secured. Further, one of the different routes through which the determination result data are given to the master data processing device 6 is the internal bus 11 of the master device 2, and the both of one and the other of the determination result data are not given to the master data processing device 6 from the slave device 3. If the both are given to the master data processing device 6 from the slave device 3, illegal replication or imitation can be done only on the side of the slave device 3 as a demonstrator to be certified. Thus, the certification result that means approval can be fabricated and input to the master device irrespective of the actual certification result. Such a situation can be also prevented.
There are separately provided the bus 13 through which the other of the determination result data obtained by the master certification device 5 is transferred to the slave device 3 and the bus 10 through which the other of the determination result data is returned from the slave device 3. The same determination result data do not pass through the same route such as the bus 10, so that the confidentiality for the determination result data themselves can be enhanced.
The bus 10 is a general-purpose bus through which a command from the master data processing device 6 is transmitted and a response from the slave device 3 responding to the command is transmitted. Thus, a different command or command response can be provided at the head or rear of the determination result data. For example, the other of the determination result data that is returned from the slave device 3 through the bus 10 may be accompanied with dummy data. In addition, the other of the determination result data that is returned from the slave device 3 through the bus 10 may be accompanied with a response to a different command. In this respect, too, the confidentiality for the determination result data themselves can be enhanced. Accordingly, it becomes difficult to illegally discriminate the other of the determination result data on the bus 10. When accompanying the dummy data and the different command response, the master device 2 and the slave device 3 share a predetermined algorithm for them, and perform the algorithm to be satisfied.
In the data processing system of
In
In
In
In
According to this procedure, although the certification performed by the master device 2A for the slave device 3A is mutually performed by a certification process performed by the slave device 3A for the master device 2A and a certification process performed by the master device 2A for the slave device 3A, it is possible for the master data processing device 6A to obtain the certification result for the slave device 3A by performing an operation using the true-false determination data results obtained by the respective certification processes. The respective pieces of true-false determination result data are serially given from different routes of the buses 10 and 11, and the both pieces of true-false determination result data are used for the final certification, so that the confidentiality for the determination result can be enhanced as compared to the mutual certification separately using the respective determination results. It is not necessary to enhance the confidentiality for the determination result of the certification process by allowing the master data processing device to execute the encryption/decryption processing program.
In
The invention achieved by the inventors has been described above in detail on the basis of the embodiment. However, it is obvious that the invention is not limited to the embodiment, but may be variously changed within a scope without departing from the gist of the invention. The original functions and configurations of the master device and the slave device are not limited to the above description, but may be appropriately changed.
The present invention can be widely applied to device certification between a laser beam printer and a toner cartridge and between a portable music player and its battery, in addition to device certification between a PC and a battery.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2006/309667 | 5/15/2006 | WO | 00 | 10/29/2008 |