CROSS REFERENCE TO RELATED APPLICATION This application is a continuation of U.S. application Ser. No. 10/722,693, filed on Nov. 24, 2003, the disclosure of which is incorporated herein by reference.
BACKGROUND OF THE INVENTION 1. Field of the Invention
The present invention relates to a printer and a print system, and particularly relates to a printer and a print system which set a limit to a place where a printer operation can be executed.
2. Description of the Related Art
These days, as a business model using a printer, a model, in which a printer manufacturer lends a printer to a user without charge and the user pays the printer manufacturer only usage fees proportional to the number of sheets the user printed with this printer, is attracting considerable attraction. In such a business model, in addition to a charge proportional to the number of printed sheets, a charge proportional to the period of use, a charge proportional to the amount of ink used, and the like are planned.
However, in the aforementioned business model, if the user sells the printer borrowed from the printer manufacturer without permission or lends the printer to another person, the printer manufacturer cannot charge for the use of the printer. Therefore, the printer manufacturer wants to limit a place where the lent printer can be used, that is, a place where a proper print operation can be executed to a place of the user to whom the printer is lent.
SUMMARY OF THE INVENTION Hence, the present invention is made in view of the aforementioned problem, and an object of the present invention is to provide a printer and a print system capable of executing a proper print operation only in a place registered in advance.
In order to accomplish the aforementioned and other objects, according to one aspect of the present invention, a printer, comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition which acquires printer position information from the printer position information acquisition and regards this printer position information as first printer position information;
a public key generator which generates a public key with a passphrase containing at least the first printer position information;
a public key storage in which the public key generated by the public key generator is stored, the number of times the public key is allowed to be stored being limited to a predetermined number of times;
a print data receiver which receives print data encrypted with the public key;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the print data has been received and regards this printer position information as second printer position information;
a private key generator which generates a private key with a passphrase containing at least the second printer position information; and
a decrypter which decrypts the print data received by the print data receiver with the private key.
According to another aspect of the present invention, a printer, comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition which acquires printer position information from the printer position information acquisition and regards this printer position information as first printer position information;
a printer position information storage in which the first printer position information acquired by the first printer position information acquisition is stored, the number of times the first printer position information is allowed to be stored being limited to a predetermined number of times;
a public key generator which reads the first printer position information from the printer position information storage and generates a public key with a passphrase containing at least the first printer position information;
a print data receiver which receives print data encrypted with the public key;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the print data has been received and regards this printer position information as second printer position information;
a private key generator which generates a private key with a passphrase containing at least the second printer position information; and
a decrypter which decrypts the print data received by the print data receiver with the private key.
According to another aspect of the present invention, a printer, comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition which acquires printer position information from the printer position information acquisition and regards this printer position information as first printer position information;
a printer position information storage in which the first printer position information acquired by the first printer position information acquisition is stored, the number of times the first printer position information is allowed to be stored being limited to a predetermined number of times;
a public key acquisition request receiver which receives a public key acquisition request to request acquisition of a public key;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the public key acquisition receiver has received the public key acquisition request and regards this printer position information as second printer position information; and
a public key generator which compares the first printer position information stored in the printer position information storage and the second printer position information acquired by the second printer position information acquisition, and which generates a public key with a passphrase containing at least the first printer position information or the second printer position information when the first printer position information and the second printer position information coincide.
According to another aspect of the present invention, a control method of a printer, comprises the steps of:
acquiring printer position information to specify a place where the printer is installed from a printer position information acquisition and regarding this printer position information as first printer position information;
generating a public key with a passphrase containing at least the first printer position information;
storing the generated public key in a public key storage, the number of times the public key is allowed to be stored being limited to a predetermined number of times;
receiving print data encrypted with the public key;
acquiring printer position information from the printer position information acquisition when the print data has been received and regarding this printer position information as second printer position information;
generating a private key with a passphrase containing at least the second printer position information; and
decrypting the received print data with the private key.
According to another aspect of the present invention, a control method of a printer, comprises the steps of:
acquiring printer position information to specify a place where the printer is installed from a printer position information acquisition and regarding this printer position information as first printer position information;
storing the first printer position information in a printer position information storage, the number of times the first printer position information is allowed to be stored being limited to a predetermined number of times;
reading the first printer position information from the printer position information storage and generating a public key with a passphrase containing at least the first printer position information;
receiving print data encrypted with the public key;
acquiring printer position information from the printer position information acquisition when the print data has been received and regarding this printer position information as second printer position information;
generating a private key with a passphrase containing at least the second printer position information; and
decrypting the received print data with the private key.
According to another aspect of the present invention, a control method of a printer, comprises the steps of:
acquiring printer position information to specify a place where the printer is installed from a printer position information acquisition and regarding this printer position information as first printer position information;
storing the first printer position information in a printer position information storage, the number of times the first printer position information is allowed to be stored being limited to a predetermined number of times;
receiving a public key acquisition request to request acquisition of a public key;
acquiring printer position information from the printer position information acquisition when the public key acquisition request has been received and regarding this printer position information as second printer position information; and
comparing the first printer position information stored in the printer position information storage and the acquired second printer position information, and generating a public key with a passphrase containing at least the first printer position information or the second printer position information when the first printer position information and the second printer position information coincide.
According to another aspect of the present invention, a print system includes a printer and a print client, wherein
the printer comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition which acquires printer position information from the printer position information acquisition and regards this printer position information as first printer position information;
a public key generator which generates a public key with a passphrase containing at least the first printer position information; and
a public key storage in which the public key generated by the public key generator is stored, the number of times the public key is allowed to be stored being limited to a predetermined number of times,
the print client comprises:
a print data generator which generates print data to be printed by the printer; and
a print data transmitter which encrypts the print data with the public key and transmits the encrypted print data to the printer, and
the printer further comprises:
a print data receiver which receives the print data;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the print data has been received and regards this printer position information as second printer position information;
a private key generator which generates a private key with a passphrase containing at least the second printer position information; and
a decrypter which decrypts the print data received by the print data receiver with the private key.
According to another aspect of the present invention, a print system includes a printer and a print client, wherein
the printer comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition which acquires printer position information from the printer position information acquisition and regards this printer position information as first printer position information;
a printer position information storage in which the first printer position information acquired by the first printer position information acquisition is stored, the number of times the first printer position information is allowed to be stored being limited to a predetermined number of times; and
a public key generator which reads the first printer position information from the printer position information storage and generates a public key with a passphrase containing at least the first printer position information,
the print client comprises:
a print data generator which generates print data to be printed by the printer; and
a print data transmitter which encrypts the print data with the public key and transmits the encrypted print data to the printer, and
the printer further comprises:
a print data receiver which receives the print data;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the print data has been received and regards this printer position information as second printer position information;
a private key generator which generates a private key with a passphrase containing at least the second printer position information; and
a decrypter which decrypts the print data received by the print data receiver with the private key.
According to another aspect of the present invention, a print system includes a printer and a print client, wherein
the printer comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition which acquires printer position information from the printer position information acquisition and regards this printer position information as first printer position information; and
a printer position information storage in which the first printer position information acquired by the first printer position information acquisition is stored, the number of times the first printer position information is allowed to be stored being limited to a predetermined number of times,
the print client comprises:
a public key acquisition request transmitter which transmits a public key acquisition request to request acquisition of a public key, and
the printer further comprises:
a public key acquisition request receiver which receives the public key acquisition request;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the public key acquisition receiver has received the public key acquisition request and regards this printer position information as second printer position information; and
a public key generator which compares the first printer position information stored in the printer position information storage and the second printer position information acquired by the second printer position information acquisition, and generates a public key with a passphrase containing at least the first printer position information or the second printer position information when the first printer position information and the second printer position information coincide.
According to another aspect of the present invention, a printer, comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a public key generator which acquires printer position information from the printer position information acquisition, regards this printer position information as first printer position information, and generates a public key with a passphrase containing at least the first printer position information, when a person with proper authority makes a request;
a public key storage in which the public key generated by the public key generator is stored;
a print data receiver which receives print data encrypted with the public key;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the print data has been received and regards this printer position information as second printer position information;
a private key generator which generates a private key with a passphrase containing at least the second printer position information; and
a decrypter which decrypts the print data received by the print data receiver with the private key.
According to another aspect of the present invention, a printer, comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition and storage which acquires printer position information from the printer position information acquisition, regards this printer position information as first printer position information, and stores the first printer position information in a printer position information storage, when a person with proper authority makes a request;
a public key generator which reads the first printer position information from the printer position information storage and generates a public key with a passphrase containing at least the first printer position information;
a print data receiver which receives print data encrypted with the public key;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the print data has been received and regards this printer position information as second printer position information;
a private key generator which generates a private key with a passphrase containing at least the second printer position information; and
a decrypter which decrypts the print data received by the print data receiver with the private key.
According to another aspect of the present invention, a printer, comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition and storage which acquires printer position information from the printer position information acquisition, regards this printer position information as first printer position information, and stores the first printer position information in a printer position information storage, when a person with proper authority makes a request;
a public key acquisition request receiver which receives a public key acquisition request to request acquisition of a public key;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the public key acquisition receiver has received the public key acquisition request and regards this printer position information as second printer position information; and
a public key generator which compares the first printer position information stored in the printer position information storage and the second printer position information acquired by the second printer position information acquisition, and generates a public key with a passphrase containing at least the first printer position information or the second printer position information when the first printer position information and the second printer position information coincide.
According to another aspect of the present invention, a control method of a printer, comprises the steps of:
acquiring printer position information to specify a place where the printer is installed from a printer position information acquisition, regarding this printer position information as first printer position information, and generating a public key with a passphrase containing at least the first printer position information, when a person with proper authority makes a request;
storing the generated public key in a public key storage;
receiving print data encrypted with the public key;
acquiring printer position information from the printer position information acquisition when the print data has been received and regarding this printer position information as second printer position information;
generating a private key with a passphrase containing at least the second printer position information; and
decrypting the received print data with the private key.
According to another aspect of the present invention, a control method of a printer, comprises the steps of:
acquiring printer position information from a printer position information acquisition to specify a place where the printer is installed, regarding this printer position information as first printer position information, and storing the first printer position information in a printer position information storage, when a person with proper authority makes a request;
reading the first printer position information from the printer position information storage and generating a public key with a passphrase containing at least the first printer position information;
receiving print data encrypted with the public key;
acquiring printer position information from the printer position information acquisition when the print data has been received and regarding this printer position information as second printer position information;
generating a private key with a passphrase containing at least the second printer position information; and
decrypting the received print data with the private key.
According to another aspect of the present invention, a control method of a printer, comprises the steps of:
acquiring printer position information to specify a place where the printer is installed from a printer position information acquisition, regarding this printer position information as first printer position information, and storing the first printer position information in a printer position information storage, when a person with proper authority makes a request;
receiving a public key acquisition request to request acquisition of a public key;
acquiring printer position information from the printer position information acquisition when the public key acquisition request has been received and regarding this printer position information as second printer position information; and
comparing the first printer position information stored in the printer position information storage and the acquired second printer position information, and generating a public key with a passphrase containing at least the first printer position information or the second printer position information when the first printer position information and the second printer position information coincide.
According to another aspect of the present invention, a print system includes a printer and a print client, wherein
the printer comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a public key generator which acquires printer position information from the printer position information acquisition, regards this printer position information as first printer position information, and generates a public key with a passphrase containing at least the first printer position information, when a person with proper authority makes a request; and
a public key storage in which the public key generated by the public key generator is stored, the print client comprises:
a print data generator which generates print data to be printed by the printer; and
a print data transmitter which encrypts the print data with the public key and transmits the encrypted print data to the printer, and
the printer further comprises:
a print data receiver which receives the print data encrypted with the public key;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the print data has been received and regards this printer position information as second printer position information;
a private key generator which generates a private key with a passphrase containing at least the second printer position information; and
a decrypter which decrypts the print data received by the print data receiver with the private key.
According to another aspect of the present invention, a print system includes a printer and a print client, wherein
the printer comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed;
a first printer position information acquisition and storage which acquires printer position information from the printer position information acquisition, regards this printer position information as first printer position information, and stores the first printer position information in a printer position information storage, when a person with proper authority makes a request; and
a public key generator which reads the first printer posit ion information from the printer position information storage and generates a public key with a passphrase containing at least the first printer position information,
the print client comprises:
a print data generator which generates print data to be printed by the printer; and
a print data transmitter which encrypts the print data with the public key and transmits the encrypted print data to the printer, and
the printer further comprises:
a print data receiver which receives print data encrypted with the public key;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the print data has been received and regards this printer position information as second printer position information;
a private key generator which generates a private key with a passphrase containing at least the second printer position information; and
a decrypter which decrypts the print data received by the print data receiver with the private key.
According to another aspect of the present invention, a print system includes a printer and a print client, wherein
the printer comprises:
a printer position information acquisition which acquires printer position information to specify a place where the printer is installed; and
a first printer position information acquisition and storage which acquires printer position information from the printer position information acquisition, regards this printer position information as first printer position information, and stores the first printer position information in a printer position information storage, when a person with proper authority makes a request,
the print client comprises:
a public key acquisition request transmitter which transmits a public key acquisition request to request acquisition of a public key, and
the printer further comprises:
a public key acquisition request receiver which receives the public key acquisition request;
a second printer position information acquisition which acquires printer position information from the printer position information acquisition when the public key acquisition receiver has received the public key acquisition request and regards this printer position information as second printer position information; and
a public key generator which compares the first printer position information stored in the printer position information storage and the second printer position information acquired by the second printer position information acquisition, and generates a public key with a passphrase containing at least the first printer position information or the second printer position information when the first printer position information and the second printer position information coincide.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a diagram showing an example of the configuration of a print system according to a first embodiment of the present invention;
FIG. 2 is a diagram showing an example of the hardware configuration of a printer according to the first embodiment of the present invention;
FIG. 3 is a diagram showing an example of the configuration of a print client according to the first embodiment of the present invention;
FIG. 4 is a conceptual diagram explaining encryption and decryption of print data with a public key and a private key in the first embodiment of present invention;
FIG. 5 is a flowchart explaining a public key generation process executed by the printer according to the first embodiment of the present invention;
FIG. 6 is a diagram showing the structure of a public key storage formed in an EEPROM of the printer according to the first embodiment of the present invention;
FIG. 7 is a flowchart explaining a public key request process executed by the print client according to the first embodiment of the present invention;
FIG. 8 is a diagram showing an example of the structure of a public key table included in the print client according to the first embodiment of the present invention;
FIG. 9 is a part of a flowchart explaining a public key transmission process executed by the printer according to the first embodiment of the present invention;
FIG. 10 is a flowchart explaining a print request process executed by the print client according to the first embodiment of the present invention;
FIG. 11A is a flowchart explaining a print execution process executed by the printer according to the first embodiment of the present invention;
FIG. 11B is a diagram showing a hardware structure of the print client and the printer when the process according to the first embodiment of the present invention is realized by hardware;
FIG. 12 is a flowchart explaining a printer position information registration process executed by a printer according to a second embodiment of the present invention;
FIG. 13 is a diagram showing the structure of a printer position information storage formed in an EEPROM of the printer according to the second embodiment of the present invention;
FIG. 14 is a part of a flowchart explaining a public key transmission process executed by the printer according to the second embodiment of the present invention (First part);
FIG. 15A is a part of the flowchart explaining the public key transmission process executed by the printer according to the second embodiment of the present invention (Second part);
FIG. 15B is a diagram showing a hardware structure of the print client and the printer when the process according to the second embodiment of the present invention is realized by hardware;
FIG. 16 is a flowchart explaining a public key request process executed by a print client according to a third embodiment of the present invention;
FIG. 17 is a part of a flowchart explaining a public key transmission process executed by a printer according to the third embodiment of the present invention (First part);
FIG. 18A is a part of the flowchart explaining the public key transmission process executed by the printer according to the third embodiment of the present invention (Second part);
FIG. 18B is a diagram showing a hardware structure of the print client and the printer when the process according to the third embodiment of the present invention is realized by hardware;
FIG. 19A is a flowchart explaining a public key generation process executed by a printer according to a fourth embodiment of the present invention;
FIG. 19B is a diagram showing a hardware structure of the print client and the printer when the process according to the fourth embodiment of the present invent ion is real i zed by hardware;
FIG. 20A is a flowchart explaining a printer position information registration process executed by a printer according to a fifth embodiment of the present invention;
FIG. 20B is a diagram showing a hardware structure of the print client and the printer when the process according to the fifth embodiment of the present invention is realized by hardware;
FIG. 21 is a flowchart explaining a public key request process executed by a print client according to a sixth embodiment of the present invention;
FIG. 22 is a part of a flowchart explaining a public key transmission process executed by a printer according to the sixth embodiment of the present invention (First part);
FIG. 23 is a part of the flowchart explaining the public key transmission process executed by the printer according to the sixth embodiment of the present invention (Second part); and
FIG. 24 is a diagram showing a hardware structure of the print client and the printer when the process according to the sixth embodiment of the present invention is realized by hardware.
DETAILED DESCRIPTION OF THE EMBODIMENTSFirst Embodiment In a print system according to the first embodiment, a public key is generated with a passphrase containing at least printer position information which indicates a position where a printer is installed at this point in time, and the public key is stored in the printer. When transmission of a public key is requested by a print client, the printer reads the stored public key and transmits this public key to the print client. When the print client transmits print data to this printer, the print client transmits print transmitting data generated by encrypting the print data with the acquired public key. The printer which has received this print transmitting data generates, at the time of reception, a private key with a passphrase containing at least printer position information at this point in time, and executes a print operation only when the print transmitting data can be decrypted with this private key. In addition, by limiting the number of times of registration of the public key with the printer to one time, a proper print operation can be executed only in a place where the public key is registered with the printer. Further details will be given below.
First, the configuration of the print system according to this embodiment will be explained based onFIG. 1.FIG. 1 is a block diagram showing the hardware configuration of the print system according to this embodiment.
As shown inFIG. 1, the print system according to this embodiment includes aprint client20 and aprinter30 which are connected by aprinter cable10. Namely, theprinter30 is locally connected to theprint client20. However, theprint client20 and theprinter20 may be connected by wireless or by a network using Ethernet or the like. In this case,plural print clients20 may be connected to oneprinter30.
Theprint client20 is composed of any of various kinds of computers, for example, called a host computer and a personal computer. In this embodiment, in particular, theprint client20 generates print transmitting data by encrypting print data with a public key and transmits this print transmitting data to theprinter30 via theprinter cable10. Theprint client20 is not limited to a computer, and, for example, it may be a digital camera with a necessity to print a taken image, a content server in which print image data is stored as contents, or the like.
Further, in this embodiment, theprinter30 is a printer capable of generating a public key by public key cryptography only one time. The generated public key is stored and held in theprinter30. Theprinter30 receives the print transmitting data from theprint client20 and decrypts this print transmitting data with a private key generated with a passphrase containing at least printer position information at this point in time. When the print transmitting data can be decrypted, theprinter30 executes a print operation based on the print transmitting data, and when the print transmitting data cannot be decrypted, theprinter30 does not execute the print operation based on the print transmitting data.
Furthermore, in this embodiment, theprinter30 is designed so as not to obtain a proper print result from print data which is not encrypted with the public key. More specifically, theprinter30 treats the unencrypted print data as print transmitting data which cannot be decrypted with the private key.
FIG. 2 is a block diagram explaining the internal configuration of theprinter30. As shown inFIG. 2, theprinter30 includes a CPU (Central Processing Unit)40, a RAM (Random Access Memory)42, a ROM (Read Only Memory)44, and an EEPROM (Electrically Erasable Programmable ROM)45, and they are connected to one another via aninternal bus46. Acommunication interface48 is connected to theinternal bus46, and theprinter30 is connected to theaforementioned printer cable10 via thecommunication interface48. In addition, aninterface50 is connected to theinternal bus46, and aprint engine52 is connected to theinterface50. In this embodiment, theEEPROM45 functions as a rewritable nonvolatile memory device.
Moreover, aposition detector54 is connected to theinternal bus46. Thisposition detector54 has a function of specifying a position where theprinter30 is installed. In this embodiment, theposition detector54 is constituted, for example, by a GPS (global positioning system), and the latitude, longitude, and altitude of the position where theprinter30 is installed can be specified. It is said that the accuracy of the GPS at the present time is approximately ±10 m in the latitude, the longitude, and the altitude, respectively.
However, the constitution of theposition detector54 is not limited to the constitution using the GPS, and, for example, the position of theprinter30 may be specified by using mobile communication technology including the PHS (Personal Handyphone System).
Furthermore, ahard disk58 is connected to theinternal bus46 via aninterface56. In this embodiment, thehard disk58 functions as a rewritable nonvolatile memory device.
FIG. 3 is a block diagram explaining the internal configuration of theprint client20. As shown inFIG. 3, theprint client20 according to this embodiment includes a computermain unit60 and adisplay62.
The computermain unit60 includes aCPU64, aRAM66, and aROM68, and they are connected to one another via aninternal bus70. Acommunication interface72 is connected to theinternal bus70, and theprint client20 is connected to theaforementioned printer cable10 via thecommunication interface72.
In addition, aninterface74 is connected to theinternal bus70, and ahard disk76 which is a large capacity storage is connected to theinterface74. In this embodiment, thehard disk76 functions as are writable nonvolatile memory device. Moreover, aninterface78 is connected to theinternal bus70, and theaforementioned display62 is connected via acable80 which extends from theinterface78.
Next, a brief explanation of a process when theprint client20 performs printing with theprinter30 in the print system according to this embodiment will be given.
In this embodiment, in theprinter30, a public key is previously generated and stored in theEEPROM45. Theprinter30 generates this public key with a passphrase containing at least printer position information which indicates a position where theprinter30 is installed by the public key cryptography. Note that, at this time, a private key is not generated or is abandoned even if generated. When theprinter30 accepts a public key acquisition request from theprint client20, theprinter30 reads this public key from theEEPROM45 and transmits this public key to theprint client20 via theprinter cable10.
However, theprinter30 need not necessarily notify theprint client20 of the public key of theprinter30 via theprinter cable10. For example, if a user of theprint client20 has proper authority, the user can operate theprinter30, whereby it is also possible that the user operates a control panel of theprinter30 and acquires the public key of theprinter30. In this case, the user may record the public key of theprinter30 on a record medium such as a flexible disk and allow theprint client20 to read this public key.
Then, as shown inFIG. 4, the user of theprint client20 generates print data D05 which is data to be printed and designates theprinter30 for theprint client20 to execute a print operation.
Theprint client20 encrypts the print data D05 with the public key of theprinter30, which is previously acquired, to generate print transmitting data D10. Here, the print data D05 means original print data needed for a print operation executed by driving theprint engine52 in theprinter30. Incidentally, the print transmitting data D10 may contain data other than the print data D05 shown inFIG. 4.
Theprinter30 which has received the print transmitting data D10 temporarily stores the received print transmitting data D10 in theRAM42 as shown inFIG. 2. Theprinter30 then decrypts the encrypted print transmitting data D10 with a private key. More specifically, theprinter30 generates the private key with a passphrase containing at least printer position information at this point in time by the public key cryptography. By thus generating the private key every time the decryption of the print transmitting data D10 is tried, when the installation place of theprinter30 is moved, the print transmitting data encrypted with the public key generated before the movement cannot be decrypted by theprinter30 after the movement.
Subsequently, theprinter30 judges whether the print transmitting data D10 can be decrypted. When the print transmitting data D10 can be decrypted, theprinter30 executes a print operation based on the print data D05 acquired by decrypting the print transmitting data D10, and when the print transmitting data D10 cannot be decrypted, theprinter30 does not execute the print operation.
Next, the contents of the aforementioned process will be explained in detail using a flowchart.FIG. 5 is a flowchart explaining a public key generation process executed by theprinter30. This public key generation process is realized by making theCPU40 read and execute a public key generation program stored in theROM44 or thehard disk58 in theprinter30. Moreover, in this embodiment, this public key generation process is activated and executed when the user operates the control panel of theprinter30 to thereby instruct the execution of the public key generation process.
As shown inFIG. 5, when the public key generation process is executed, theprinter30 first judges whether a public key is already stored in the EEPROM45 (step S50). When the public key is already stored in the EEPROM45 (step S50: Yes), this public key generation process is completed without a new public key being generated.
On the other hand, when any public key is not yet stored in the EEPROM45 (step S50: No), theprinter30 acquires device-specific information on this printer30 (step S52). Here, the device-specific information is identification information specifically assigned to theprinter30, and it is, for example, a manufacturer's serial number, an MAC address, or the like of theprinter30.
Then, theprinter30 acquires printer position information on theprinter30 at this point in time from the position detector (step S54). Thereby, theprinter30 can acquire information on the installation position of theprinter30 at this point in time.
Subsequently, theprinter30 creates a passphrase with the device-specific information and the printer position information (step S56). There are various methods of creating the passphrase. In this embodiment, the passphrase is created by simply joining the printer position information after the device-specific information. Incidentally, the passphrase may contain data other than these device-specific information and printer position information.
Thereafter, theprinter30 generates a public key with the passphrase created in step S56 by the public key cryptography (step S58). Then, theprinter30 stores the generated public key in the EEPROM45 (step S60).FIG. 6 is a diagram showing the structure of a public key storage EP10 formed in a partial region of theEEPROM45. As shown inFIG. 6, the generated public key is stored and held in the public key storage EP10. Note that when a private key is also generated when the public key is generated, this private key is abandoned without being stored.
Thus, the public key generation process according to this embodiment is completed.
Next, processes in theprint client20 and theprinter30 when theprint client20 acquires a public key will be explained.
FIG. 7 is a flowchart explaining a public key request process executed by theprint client20. This public key request process is realized by making theCPU64 read and execute a public key request program stored in theROM68 or thehard disk76 in the print client. Moreover, in this embodiment, the public key request process is activated and executed when the user makes input to instruct the print client to activate a process of requesting a public key.
As shown inFIG. 7, in the public key request process, theprint client20 first establishes a connection with the printer30 (step S100). Subsequently, theprint client20 transmits authentication information to the printer30 (step S102). In this embodiment, a combination of a print client ID to specify the print client and a password is used as the authentication information. Accordingly, theprint client20 transmits the print client ID and the password to theprinter30.
Following the above step, theprint client20 receives an authentication result indicating whether authentication is accepted from theprinter30, and judges whether the authentication is accepted by theprinter30 based on the authentication result (step S104). When the authentication is not accepted (step S104: No), theprint client20 repeats the aforementioned process from step S102.
On the other hand, when the authentication is accepted (step S104: Yes), theprint client20 transmits a public key acquisition request to the printer30 (step S106). Then, theprint client20 judges whether a public key has been received from the printer30 (step S108). When the public key has not been received from the printer30 (step S108: No), theprint client20 stands by while repeating step S108.
On the other hand, when the public key has been received from the printer30 (step S108: Yes), the public key is stored (step S110). In this embodiment, theprint client20 is provided with a public key table TB10 on thehard disk76, and the acquired public key is stored and held in this public key table TB10.
FIG. 8 is a diagram showing an example of the structure of the public key table TB10. As shown inFIG. 8, the public key table TB10 includes an item TD10 which stores information to specify printers and an item TD11 which stores acquired public keys corresponding to the printers. As described just above, the public key table TB10 can hold public keys concerning plural printers on a printer-by-printer basis. Moreover, by storing the public keys in the public key table TB10 on thehard disk76 in this manner, even when theprint client20 is powered off and then powered on again, the public key acquired before the power-on can be read from thehard disk76 and used as it is.
As shown inFIG. 7, theprint client20 then cuts the connection with the printer30 (step S112). Thus, the public key request process shown inFIG. 7 is completed.
Next, a public key transmission process executed by theprinter30 corresponding to the public key request process in theprint client20 will be explained based onFIG. 9.FIG. 9 is a flowchart explaining the public key transmission process executed by theprinter30. This public key transmission process is realized by making theCPU40 read and execute a public key transmission program stored in theROM44 or thehard disk58 in the printer. In this embodiment, this public key transmission process is constantly executed at regular time intervals. Moreover, this public key transmission process is a process corresponding to the aforementioned public key request process.
As shown inFIG. 9, theprinter30 is waiting for a connection from theprint client20, and establishes a connection with theprint client20 when theprint client20 makes a request for the connection (step S120). This corresponds to the aforementioned step S100 on theprint client20 side. Subsequently, theprinter30 judges whether the authentication information has been received from the print client20 (step S122). When the authentication information has not been received (step S122: No), theprinter30 stands by while repeating the process in step S122.
On the other hand, when the authentication information has been received from the print client20 (step S122: Yes), theprinter30 judges whether this authentication information coincides with authentication information which is previously registered with the printer30 (step S124). Specifically, since the print client ID and the password are transmitted as the authentication information from theprint client20 as described above, theprinter30 judges whether these print client ID and password coincide with a print client ID and a password which are previously registered with theprinter30.
When these two pieces of authentication information do not coincide (step S124: No), theprinter30 transmits the authentication result indicating that the authentication is not accepted to the print client20 (step S126), and the connection with theprint client20 is completed in later-described step S136. On the other hand, when these two pieces of authentication information coincide (step S124: Yes), theprinter30 transmits the authentication result indicating that the authentication is accepted to the print client20 (step S128).
Thereafter, theprinter30 judges whether the public key acquisition request has been received from the print client20 (step S130). When the public key acquisition request has not been received (step S130: No), theprinter30 stands by while repeating the process in step S130.
When the public key acquisition request has been received (step S130: Yes), theprinter30 reads and acquires the public key from the public key storage EP10 in the EEPROM45 (step S132). Then, theprinter30 transmits the acquired public key to the print client20 (step S134). Thereafter, theprinter30 completes the connection with the print client20 (step S136) and returns to the aforementioned step S120.
Next, processes in theprint client20 and theprinter30 when theprint client20 wants to perform printing and transmits a print request to theprinter30 will be explained in detail.
FIG. 10 is a flowchart explaining a print request process executed by theprint client20. This print request process is realized by making the CPU64 read and execute a print request program stored in theROM68 or thehard disk76 of the print client. The print request process is activated and executed when the user inputs a print instruction to the print client.
As shown inFIG. 10, theprint client20 generates the print data DOS based on a print request from the user (step S160). The print data D05 is data necessary for an actual print operation when theprinter30 is an ordinary printer.
Then, theprint client20 reads the public key of theprinter30 from the public key table TB10 on the hard disk76 (step S162). Subsequently, theprint client20 encrypts the print data D05 with the public key of theprinter30 to generate the print transmitting data D10 (step S164). Incidentally, the print transmitting data D10 may contain data other than the print data Thereafter, theprint client20 establishes a connection with the printer30 (step S165). Theprint client20 then transmits the encrypted print transmitting data D10 to the printer30 (step S166).
Subsequently, theprint client20 judges whether print result information has been received from the printer30 (step S168). When the print result information has not been received (step S168: No), theprint client20 stands by while repeating the process in step S168. On the other hand, when the print result information has been received (step S168: Yes), theprint client20 judges whether the print result information is a print completion notice (step S170).
When this print result information is the print completion notice (step S170: Yes), it means that theprinter30 has properly completed the print operation, and hence theprint client20 notifies the user that theprinter30 has completed the print operation (step S172). On the other hand, when the received print result information is not the print completion notice (step S170: No), whether the print result information is an undecryptable notice is judged (step S174).
When the print result information is the undecryptable notice (step S174: Yes), theprint client20 notifies the user that since the print transmitting data D10 cannot be decrypted by theprinter30, the print operation is not executed (step S176). On the other hand, when the print result information is not the undecryptable notice (step S174: No), it is thought that some other error occurs, and hence theprint client20 gives notice according to the type of the error to the user (step S178).
After the notice in step S172, step S176, or step S178, theprint client20 cuts the connection with the printer30 (step S179). Thus, the print request process in theprint client20 is completed.
Next, a print execution process executed by theprinter30 corresponding to the print request process in theprint client20 will be explained based onFIG. 11A.FIG. 11A is a flowchart explaining the print execution process executed by theprinter30. This print execution process is realized by making theCPU40 read and execute a print execution program stored in theROM44 or thehard disk58 in theprinter30. In this embodiment, this print execution process is constantly executed at regular time intervals.
As shown inFIG. 11A, theprinter30 is waiting for a connection from theprint client20, and establishes a connection with theprint client20 via theprinter cable10 when theprint client20 makes a request for a connection (step S180). After the connection with theprint client20 has been established, theprinter30 judges whether the print transmitting data D10 has been received (step S182). When no print transmitting data D10 has been received (step S182: No), theprinter30 stands by while repeating the process in step S182.
On the other hand, when the print transmitting data D10 has been received (step S182: Yes), theprinter30 acquires its own device-specific information (step S184). Subsequently, theprinter30 acquires printer position information on theprinter30 at this point in time from the position detector54 (step186). The reason why the printer position information is acquired from theposition detector54 each time as described above is in order that, when theprinter30 is moved to a different place from a place where the public key was registered, a print operation cannot be executed by theprinter30.
Then, theprinter30 creates a passphrase with the device-specific information and the printer position information (step S188). This method of creating the passphrase needs to be the same method as in step S56 in the aforementioned public key generation process. This is because if the passphrases are different, a private key capable of decrypting the print transmitting data encrypted with the public key stored in theEEPROM45 cannot be generated.
Thereafter, theprinter30 generates a private key with the generated passphrase by the public key cryptography (step S190). If the installation position of theprinter30 is not moved, the passphrase used in this step S190 is the same as the passphrase used in step S58 in the aforementioned public key generation process. Therefore, the private key which corresponds to the public key generated in step S58 is generated. Subsequently, theprinter30 decrypts the received print transmitting data D10 with the generated private key and acquires the print data D05 (step S192).
Thereafter, theprinter30 judges whether the print transmitting data D10 can be decrypted with the private key (step S194). When the print transmitting data D10 can be decrypted (step S194: Yes), theprinter30 executes a print operation by driving theprint engine52 based on the acquired print data D05 (step S196). Specifically, theprinter30 performs a language interpretation of the print data D05 and generates print request data fitting theprint engine52. Then, by transmitting this print request data to theprint engine52, print sheets or the like are printed by theprint engine52.
At a point in time when the print operation has been properly completed, theprinter30 transmits the print completion notice that the print operation has been properly completed as the print result information to the print client20 (step S198).
Contrary to this, when it is judged in step S194 that the print transmitting data D10 cannot be decrypted (step S194: No), theprinter30 transmits the undecryptable notice as the print result information to the print client20 (step S200).
After step S198 or step S200, theprinter30 completes the connection with the print client20 (step S202). Then, theprinter30 returns to the aforementioned process in step S180.
FIG. 11B is a diagram showing a hardware structure of theprint client20 and theprinter30 when the aforementioned process is realized by hardware. As shown inFIG. 11B, theprinter30 includes theposition detector54 which acquires the printer position information to specify a place where theprinter30 is installed. Then, a first printerposition information acquisition100 acquires the printer position information from theposition detector54 and regards the printer position information as first printer position information. Apublic key generator102 generates a public key with a passphrase containing at least the first printer position information. However, even if a private key is generated when the public key is generated, the private key is abandoned.
The public key generated by the publickey generator102 is stored in the publickey storage104. However, the number of times the public key is allowed to be stored in the publickey storage104 is limited to a predetermined number of times (for example, one time).
According to user's request, a public keyacquisition request transmitter200 of theprint client20 transmits a public key acquisition request to theprinter30 at optional timing in order to request a transmission of a public key. A public keyacquisition request receiver110 receives the public key acquisition request. Then, a publickey transmitter112 reads the public key stored in the publickey storage104 and transmits the public key to theprint client20. Apublic key receiver202 of theprint client20 receives the public key and the public key is stored in a publickey storage204.
According to user's print request, aprint data generator210 of theprint client20 generates print data. Aprint data transmitter212 reads the public key from the publickey storage204, encrypts the print data with the public key, and transmits it to theprinter30.
Aprint data receiver120 of theprinter30 receives the print data. When the print data is received at theprinter30, a second printerposition information acquisition122 acquires printer position information from theposition detector54 and regards the printer position information as second printer position information. Then, a privatekey generator124 generates a private key with a passphrase containing at least the second printer position information. Adecrypter126 decrypts the print data received by theprint data receiver120 with the private key. Aselective print executor128 executes a print operation based on the print data when the print data is decrypted with the private key, but theselective print executor128 does not executes a print operation based on the print data when the print data is not decrypted with the private key.
As stated above, according to the print system of this embodiment, theprinter30 can generate a public key and register this public key with theEEPROM45 only one time, so that the installation place where theprinter30 can execute a proper print operation can be limited to a place where the public key is generated. Namely, based on a request from the user, theprinter30 generates a public key with a passphrase containing printer position information at this point in time, and stores the public key in theEEPROM45. When theprinter30 transmits a public key to theprint client20, theprinter30 reads the public key stored in theEEPROM45 and transmits this public key.
When theprint client20 transmits the print data D05 to theprinter30, theprint client20 transmits the print transmitting data D10 generated by encrypting the print data D05 with this public key. Each time theprinter30 receives the print transmitting data D10, theprinter30 acquires printer position information at that point in time, and generates a private key with a passphrase containing this printer position information. Then, theprinter30 decrypts the print transmitting data D10 with this private key, and when the print transmitting data D10 can be decrypted, theprinter30 executes a print operation, and when the print transmitting data D10 cannot be decrypted, theprinter30 does not execute the print operation. Accordingly, if the printer position information when the public key is stored in theEEPROM45 and the printer position information when the private key is generated are different, the received print transmitting data D10 cannot be properly decrypted, so that a proper print result cannot be obtained. Thus, the position where theprinter30 is used can be limited.
Second Embodiment In the second embodiment, a modification is made to the aforementioned first embodiment, and theprinter30 stores printer position information in place of a public key in theEEPROM45. Further details will be given below.
It should be mentioned that the configuration of a print system according to this embodiment is the same as that inFIG. 1 in the aforementioned first embodiment, the configuration of theprinter30 is the same as that inFIG. 2 described above, and that the configuration of theprint client20 is the same as that inFIG. 3 described above. Moreover, a public key request process, a print request process, and a print execution process according to this embodiment are the same as those in the aforementioned first embodiment.
However, in theprinter30 according to this embodiment, a printer position information registration process in place of the public key generation process is executed.
FIG. 12 is a flowchart explaining the printer position information registration process executed by theprinter30 according to this embodiment. This printer position information registration process is realized by making theCPU40 read and execute a printer position information registration program stored in theROM44 or thehard disk58 in theprinter30. Moreover, in this embodiment, this printer position information registration process is activated and executed when the user operates the control panel of theprinter30 to thereby instruct the execution of the printer position information registration process.
As shown inFIG. 12, in the printer position information registration process according to this embodiment, theprinter30 judges whether printer position information is already stored in the EEPROM45 (step S210). When the printer position information is already stored in the EEPROM45 (step S210: Yes), this printer position information registration process is completed.
On the other hand, when any printer position information is not stored in the EEPROM45 (step S210: No), theprinter30 acquires printer position information on theprinter30 at this point in time from the position detector54 (step S212). Thus, information on the installation position of theprinter30 at this point in time can be acquired.
Then, theprinter30 stores the acquired printer position information in the EEPROM45 (step S214).FIG. 13 is a diagram showing the structure of a printer position information storage EP20 formed in a partial region of theEEPROM45. As shown inFIG. 13, theprinter30 stores and holds the acquired printer position information in the printer position information storage EP20.
Thus, the printer position information registration process according to this embodiment is completed.
FIG. 14 andFIG. 15A are flowcharts explaining a public key transmission process according to this embodiment. As shown inFIG. 14, the public key transmission process according to this embodiment is the same as that in the aforementioned first embodiment up to step S130.
After step S130, in the public key transmission process according to this embodiment, theprinter30 acquires device-specific information (step S218). Here, similarly to the aforementioned first embodiment, the device-specific information is identification information specifically assigned to theprinter30, and it is, for example, a manufacturer's serial number, an MAC address, or the like of theprinter30.
Then, as shown inFIG. 15A, theprinter30 reads the printer position information stored in the printer position information storage EP20 from the EEPROM45 (step S220). Namely, in this embodiment, each time the transmission of a public key is requested by theprint client20, a public key is generated by the public key cryptography, but the printer information used for a passphrase for the public key is fixed. Therefore, each time a public key is generated, the same public key is obtained.
Subsequently, theprinter30 creates a passphrase with the device-specific information and the printer position information (step S222). There are various methods of creating the passphrase. In this embodiment, the passphrase is created by simply joining the printer position information after the device-specific information. Incidentally, the passphrase may contain data other than these device-specific information and printer position information.
Thereafter, theprinter30 generates a public key with the passphrase created in step S222 by the public key cryptography (step S224). Then, theprinter30 transmits the generated public key to the print client20 (step S226). Subsequently, theprinter30 completes the connection with the print client20 (step S228), and returns to step S120 inFIG. 14.
FIG. 15B is a diagram showing a hardware structure of theprint client20 and theprinter30 when the aforementioned process is realized by hardware. A different point from the aforementionedFIG. 11B will be explained. Theprinter30 includes a printerposition information storage140 in which first printer position information acquired by the first printerposition information acquisition100 is stored. However, the number of times the first printer position information is allowed to be stored in the printerposition information storage140 is limited to a predetermined number of times (for example, one time).
If the public keyacquisition request receiver110 receives the public key acquisition request, then a publickey generator142 reads the first printer position information from the printerposition information storage140, and generates a public key with a passphrase containing at least the first printer position information. Then, publickey transmitter144 transmits the public key generated by the publickey generator142 to theprint client20. However, even if a private key is generated when publickey generator142 generates the public key, the private key is abandoned.
As stated above, according to the print system of this embodiment, theprinter30 can register only one piece of printer position information which is contained in a passphrase when theprinter30 generates a public key, so that the installation place where theprinter30 can execute a proper print operation can be limited to a place where the printer position information is registered with theEEPROM45. Namely, based on a request from the user, theprinter30 registers printer position information at some point in time with theEEPROM45. Each time the transmission of a public key is requested by theprint client20, theprinter30 reads the printer position information from theEEPROM45, generates a public key with a passphase containing the printer position information, and transmits the public key to theprint client20.
When theprint client20 transmits the print data D05 to theprinter30, theprint client20 transmits the print transmitting data D10 generated by encrypting the print data DOS with this public key. Each time theprinter30 receives the print transmitting data D10, theprinter30 acquires printer position information at that point in time, and generates a private key with a passphrase containing this printer position information. Then, theprinter30 decrypts the print transmitting data D10 with this private key, and when the print transmitting data D10 can be decrypted, theprinter30 executes a print operation, and when the print transmitting data D10 cannot be decrypted, theprinter30 does not execute the print operation. Accordingly, if the printer position information registered with theEEPROM45 and the printer position information when the private key is generated are different, the received print transmitting data D10 cannot be properly decrypted, so that a proper print result cannot be obtained. Thus, the position where theprinter30 is used can be limited.
Third Embodiment In the third embodiment, a modification is made to the aforementioned second embodiment, and the generation of a public key is stopped when theprinter30 is moved. Further details will be given below.
It should be mentioned that the configuration of a print system according to this embodiment is the same as that inFIG. 1 in the aforementioned first embodiment, the configuration of theprinter30 is the same as that inFIG. 2 described above, and that the configuration of theprint client20 is the same as that inFIG. 3 described above. Moreover, a print request process, a print execution process, and a printer position information registration process according to this embodiment are the same as those in the aforementioned second embodiment.
However, a public key request process according to this embodiment is slightly different from that in the aforementioned second embodiment.FIG. 16 is a flowchart explaining the contents of the public key request process according to this embodiment.
As shown inFIG. 16, the process from step S100 to step S112 is the same as that in the aforementioned second embodiment, but when it is judged in step S108 that the public key has not been received (step S108: No), it is judged whether printer movement information has been received from the printer30 (step S300). When the printer movement information has not been received (step S300: No), the process from step S108 is repeated.
On the other hand, when the printer movement information has been received (step S300: Yes), the user is notified that the public key cannot be generated because theprinter30 has been moved (step S302). Then, the connection with theprinter30 is cut (step S112), and the public key request process is completed.
FIG. 17 andFIG. 18A are flowcharts explaining the contents of a public key transmission process according to this embodiment. As shown inFIG. 17, the public key transmission process according to this embodiment is the same as that in the aforementioned first embodiment up to step S130.
After step S130, in the public key transmission process according to this embodiment, theprinter30 acquires printer position information stored in the printer position information storage EP20 (step S310). Subsequently, theprinter30 acquires printer position information on theprinter30 at this point in time from the position detector54 (step S312).
Then, theprinter30 judges whether the printer position information acquired from the printer position information storage EP20 and the printer position information acquired from theposition detector54 coincide with each other (step S314). When these two piece of printer position information do not coincide (step S314: No), this indicates that theprinter30 is moved, compared with when the printer position information was registered in the printer position information registration process, whereby theprinter30 transmits the printer movement information to theprint client20 without generating a public key (step S316). Thereafter, as shown inFIG. 18A, the connection with theprint client20 is cut (step S328), and the public key transmission process is completed.
On the other hand, as shown inFIG. 17, when the printer position information acquired from the printer position information storage EP20 and the printer position information acquired from theposition detector54 coincide (step S314: Yes), theprinter30 acquires device-specific information as shown inFIG. 18A (step S320).
Then, theprinter30 creates a passphrase with the device-specific information and the printer position information acquired in step S310 or step S312 (step S322). There are various methods of creating the passphrase. In this embodiment, the passphrase is created by simply joining the printer position information after the device-specific information. Incidentally, the passphrase may contain data other than these device-specific information and printer position information.
Thereafter, theprinter30 generates a public key with the passphrase created in step S322 by the public key cryptography (step S324). Then, theprinter30 transmits the generated public key to the print client20 (step S326). Subsequently, theprinter30 completes the connection with the print client20 (step S328), and returns to step S120 inFIG. 17.
FIG. 18B is a diagram showing a hardware structure of theprint client20 and theprinter30 when the aforementioned process is realized by hardware. A different point from the aforementionedFIG. 15B will be explained. When the public keyacquisition request receiver110 of theprinter30 receives the public key acquisition request, the second printerposition information acquisition122 acquires second printer position information from theposition detector54. Then, a publickey generator160 compares the first printer position information stored in the printerposition information storage140 and the second printer position information acquired by the second printerposition information acquisition122. If the first printer position information and the second printer position information coincide, then the publickey generator160 generates a public key with a passphrase containing at least the first printer position information or the second printer position information. A publickey transmitter162 transmits the public key generated by the publickey generator160 to theprint client20.
As stated above, according to the print system of this embodiment, the generation of a public key is stopped when the position where printer position information is registered with theprinter30 and the position of theprinter30 when the generation of the public key is tried are different, whereby the position where theprinter30 generates a public key and transmits the public key to theprint client20 can be limited. Hence, the position where theprinter30 can be properly used can be limited.
Fourth Embodiment In a print system according to the fourth embodiment, a public key is generated with a passphrase containing at least printer position information which indicates a position where a printer is installed at this point in time, and stored in the printer. The generation of the public key is executed by the printer only when being requested by a particular person whose inputted public key generation authentication information coincides with registered public key generation authentication information.
When transmission of a public key is requested by the print client, the printer reads a stored public key and transmits this public key to the print client. When the print client transmits print data to this printer, the print client transmits print transmitting data generated by encrypting the print data with the acquired public key. The printer which has received this print transmitting data generates, at the time of reception, a private key with a passphrase containing at least printer position information at this point in time, and executes a print operation only when the print transmitting data can be decrypted with this private key. By doing so, a proper print operation can be executed only in a position where a person with proper authority registered the public key with the printer. Further details will be given below.
It should be mentioned that the configuration of the print system according to this embodiment is the same as that inFIG. 1 described above, the internal configuration of theprinter30 is the same as that inFIG. 2 described above, and that the internal configuration of theprint client20 is the same as that inFIG. 3 described above.
First, a brief explanation of a process when theprint client20 performs printing with theprinter30 in the print system according to this embodiment will be given.
In this embodiment, theprinter30 generates a public key based on a request from a person with proper authority and stores the public key in theEEPROM45. In this embodiment, whether an operator is a person with proper authority or not is judged by making the operator input public key generation authentication information from the control panel of theprinter30. Moreover, in this embodiment, this public key generation authentication information is composed of a combination of an ID and a password. The public key generation authentication information may be inputted from theprint client20 and transmitted to theprinter30 via theprinter cable10. Further, when theprinter30 is a network printer, the public key generation authentication information may be transmitted to theprinter30 from a different place via the network. The process thereafter is the same as that in the aforementioned first embodiment.
Next, the contents of a process in the print system according to this embodiment will be explained in detail using a flowchart.FIG. 19A is a flowchart explaining a public key generation process executed by theprinter30. This public key generation process is realized by making theCPU40 read and execute a public key generation program stored in theROM44 or thehard disk58 in theprinter30. Moreover, in this embodiment, this public key generation process is activated and executed when an operator (for example, a person in charge of maintenance in a manufacturer of the printer30) operates the control panel of theprinter30 to thereby instruct the execution of the public key generation process.
As shown inFIG. 19A, when the public key generation process is executed, theprinter30 first requests the operator to input public key generation authentication information (step S446). In this embodiment, the operator inputs an ID and a password as the public key generation authentication information from the control panel of theprinter30.
Then, theprinter30 judges whether the public key generation authentication information has been inputted (step S448). When the public key generation authentication information has not been inputted (step S448: No), theprinter30 stands by while repeating the process in step S448.
On the other hand, when the public key generation authentication information has been inputted (step S448: Yes), theprinter30 judges whether the inputted public key generation authentication information coincides with registered public key generation authentication information (step S450). In this embodiment, the registered public key generation authentication information is previously stored in theROM44, theEEPROM45, or thehard disk58. Therefore, theprinter30 reads the stored public key generation authentication information, and judges whether the read public key generation authentication information coincides with the public key generation authentication information inputted by the operator. Specifically, whether registered ID and password coincide with the ID and password inputted by the operator is judged.
When these two pieces of public key generation authentication information do not coincide (step S450: No), this public key generation process is completed without a new public key being generated.
On the other hand, when these two pieces of public key generation authentication information coincide (step S450: Yes), theprinter30 acquires device-specific information on this printer30 (step S452). Here, the device-specific information is identification information specifically assigned to theprinter30, and it is, for example, a manufacturer's serial number, an MAC address, or the like of theprinter30.
Then, theprinter30 acquires printer position information on theprinter30 at this point in time from the position detector54 (step S454). Thereby, theprinter30 can acquire information on the installation position of theprinter30 at this point in time.
Subsequently, theprinter30 creates a passphrase with the device-specific information and the printer position information (step S456). There are various methods of creating the passphrase. In this embodiment, the passphrase is created by simply joining the printer position information after the device-specific information. Incidentally, the passphrase may contain data other than these device-specific information and printer position information.
Thereafter, theprinter30 generates a public key with the passphrase created in step S456 by the public key cryptography (step S458). Then, theprinter30 stores the generated public key in theEEPROM45 shown inFIG. 6 (step S560). Note that when a private key is also generated when the public key is generated, the private key is abandoned without being stored.
Thus, the public key generation process according to this embodiment is completed.
It should be mentioned that in this embodiment, a public key request process is the same as that inFIG. 7 described above, a public key transmission process is the same as that inFIG. 9 described above, a print request process is the same as that inFIG. 10 described above, and that a print execution process is the same as that inFIG. 11A described above.
FIG. 19B is a diagram showing a hardware structure of theprint client20 and theprinter30 when the aforementioned process is realized by hardware. A different point from the aforementionedFIG. 11B will be explained. If a generation of a public key is requested, an authentication information requester300 of theprinter30 requests an operator to input authentication information. Anauthentication judgment section301 judges whether the inputted authentication information coincides with registered authentication information. If the inputted authentication information and the registered authentication information coincide, theauthentication judgment section301 judges that the operator has proper authority.
If the operator has the proper authority, a first printerposition information acquisition302 acquires printer position information from theposition detector54, and regards the printer position information as first printer position information. Then, a publickey generator304 generates a public key with a passphrase containing at least the first printer position information, and the generated public key is stored in a publickey storage306.
As stated above, according to the print system of this embodiment, theprinter30 can generate a public key and register the public key with theEEPROM45 only when a person with proper authority provides instructions, whereby the installation place where theprinter30 can execute a proper print operation can be limited.
More specifically, when an operator with proper authority requests theprinter30 to generate a public key, theprinter30 generates a public key with a passphrase containing printer position information at this point in time and stores the public key in theEEPROM45. On the other hand, in the case of an operator without proper authority, theprinter30 does not generate a public key. When transmitting a public key to theprint client20, theprinter30 reads the public key stored in theEEPROM45 and transmits this public key.
When theprint client20 transmits the print data D05 to theprinter30, theprint client20 transmits the print transmitting data D10 generated by encrypting the print data D05 with this public key. Each time theprinter30 receives the print transmitting data D10, theprinter30 acquires printer position information at that point in time, and generates a private key with a passphrase containing this printer position information. Then, theprinter30 decrypts the print transmitting data D10 with this private key, and when the print transmitting data D10 can be decrypted, theprinter30 executes a print operation, and when the print transmitting data D10 cannot be decrypted, theprinter30 does not execute the print operation. Accordingly, if the printer position information when the public key is stored in theEEPROM45 and the printer position information when the private key is generated are different, the received print transmitting data D10 cannot be properly decrypted, so that a proper print result cannot be obtained. Thus, the position where theprinter30 can be used can be limited to a place where the person with proper authority instructs theprinter30 to generate the public key.
Moreover, as long as the operator has proper authority, the operator can change the public key stored in theEEPROM45, and hence, even when the installation place of the printer is changed for good reason by the printer manufacturer or the like, the operator can continue to use theprinter30. Namely, if the operator with proper authority instructs theprinter30 to generate a public key again in a new installation place of theprinter30, the new public key is generated based on printer position information on this place and stored in theEEPROM45. Accordingly, theprinter30 can be used effectively.
Fifth Embodiment In the fifth embodiment, a modification is made to the aforementioned fourth embodiment, and theprinter30 stores printer position information in place of a public key in theEEPROM45. Further details will be given below.
It should be mentioned that the configuration of a print system according to this embodiment is the same as that inFIG. 1 in the aforementioned first embodiment, the configuration of theprinter30 is the same as that inFIG. 2 described above, and that the configuration of theprint client20 is the same as that inFIG. 3 described above. Moreover, a public key request process, a print request process, and a print execution process according to this embodiment are the same as those in the aforementioned first embodiment.
However, in theprinter30 according to this embodiment, a printer position information registration process in place of the public key generation process in the fourth embodiment is executed.
FIG. 20A is a flowchart explaining the printer position information registration process executed by theprinter30 according to this embodiment. This printer position information registration process is realized by making theCPU40 read and execute a printer position information registration program stored in theROM44 or thehard disk58 in theprinter30. Moreover, in this embodiment, this printer position information registration process is activated and executed when an operator (for example, a person in charge of maintenance in a manufacturer of the printer30) operates the control panel of theprinter30 to thereby instruct the execution of the printer position information registration process.
As shown inFIG. 20A, when the public key generation process is executed, theprinter30 first requests the operator to input printer position information registration authentication information (step S506). In this embodiment, the operator inputs an ID and a password as the printer position information registration authentication information from the control panel of theprinter30.
Then, theprinter30 judges whether the printer position information registration authentication information has been inputted (step S508). When the printer position information registration authentication information has not been inputted (step S508: No), theprinter30 stands by while repeating the process in step S508.
On the other hand, when the printer position information registration authentication information has been inputted (step S508: Yes), theprinter30 judges whether the inputted printer position information registration authentication information coincides with registered printer position information registration authentication information (step S510). In this embodiment, the registered printer position information registration authentication information is previously stored in theROM44, theEEPROM45, or thehard disk58. Therefore, theprinter30 reads the stored printer position information registration authentication information, and judges whether the read printer position information registration authentication information coincides with the printer position information registration authentication information inputted by the operator. Specifically, whether registered ID and password coincide with the ID and password inputted by the operator is judged.
When these two pieces of printer position information registration authentication information do not coincide (step S510: No), this printer position information registration process is completed without new printer position information being registered.
On the other hand, when these two pieces of printer position information registration authentication information coincide (step S510: Yes), theprinter30 acquires printer position information on thisprinter30 at this point in time from the position detector54 (step S512). Thereby, theprinter30 can acquire information on the installation position of theprinter30 at this point in time.
Subsequently, theprinter30 stores the acquired printer position information in theEEPROM45 shown inFIG. 13 (step S514). Thus, the printer position information registration process according to this embodiment is completed.
It should be mentioned that a public key transmission process according to this embodiment is the same as that inFIG. 14 andFIG. 15A described above.
FIG. 20B is a diagram showing a hardware structure of theprint client20 and theprinter30 when the aforementioned process is realized by hardware. A different point from the aforementionedFIG. 19B will be explained. If theauthentication judgment section301 judges that the operator has proper authority, then the first printerposition information acquisition302 acquires printer position information from theposition detector54 and regards the printer position information as first printer position information. The first printer position information is stored in a first printerposition information storage310.
If the public keyacquisition request receiver110 receives the public key acquisition request, then a publickey generator312 reads the first printer position information from the first printerposition information storage310 and generates a public key with a passphrase containing at least the first printer position information. The publickey transmitter112 transmits the generated public key to theprint client20.
As stated above, according to the print system of this embodiment, only when a person with proper authority provides instructions, theprinter30 stores printer position information at this point in time in theEEPROM45, whereby the installation place where theprinter30 can execute a proper print operation can be limited.
More specifically, when an operator with proper authority requests theprinter30 to register new printer position information, theprinter30 stores printer position at this point in time in theEEPROM45. On the other hand, in the case of an operator without proper authority, theprinter30 does not store printer position information in theEEPROM45. When transmitting a public key to theprint client20, theprinter30 generates a public key with a passphrase containing at least the printer position information stored in theEEPROM45 and transmits this public key.
When theprint client20 transmits the print data D05 to theprinter30, theprint client20 transmits the print transmitting data D10 generated by encrypting the print data DOS with this public key. Each time theprinter30 receives the print transmitting data D10, theprinter30 acquires printer position information at that point in time, and generates a private key with a passphrase containing this printer position information. Then, theprinter30 decrypts the print transmitting data D10 with this private key, and when the print transmitting data D10 can be decrypted, theprinter30 executes a print operation, and when the print transmitting data D10 cannot be decrypted, theprinter30 does not execute the print operation. Accordingly, if the printer position information stored in theEEPROM45 and the printer position information when the private key is generated are different, the received print transmitting data D10 cannot be properly decrypted, so that a proper print result cannot be obtained. Thus, the position where theprinter30 can be used can be limited to a place where the person with proper authority registered the printer position information with theprinter30.
Moreover, as long as the operator has proper authority, the operator can change the printer position information stored in theEEPROM45, and hence, even when the installation place of theprinter30 is changed for good reason by the printer manufacturer or the like, the operator can continue to use theprinter30. Namely, if the operator with proper authority instructs theprinter30 to register printer position information again in a new installation place of theprinter30, printer position information on this place is stored in theEEPROM45. Accordingly, the printer can be used effectively.
Sixth Embodiment In the sixth embodiment, a modification is made to the aforementioned fifth embodiment, and the generation of a public key is stopped when theprinter30 is moved from a place where a person with proper authority registered printer position information. Further details will be given below.
It should be mentioned that the configuration of a print system according to this embodiment is the same as that inFIG. 1 in the aforementioned first embodiment, the configuration of theprinter30 is the same as that inFIG. 2 described above, and that the configuration of theprint client20 is the same as that inFIG. 3 described above. Moreover, a print request process, a print execution process, and a printer position information registration process according to this embodiment are the same as those in the aforementioned fifth embodiment.
However, a public key request process according to this embodiment is slightly different from that in the aforementioned fifth embodiment.FIG. 21 is a flowchart explaining the contents of the public key request process according to this embodiment.
As shown inFIG. 21, the process from step S100 to step S112 is the same as that in the aforementioned fifth embodiment, but when it is judged in step S108 that the public key has not been received (step S108: No), it is judged whether printer movement information has been received from the printer30 (step S600). When the printer movement information has not been received (step S600: No), the process from step S108 is repeated.
On the other hand, when the printer movement information has been received (step S600: Yes), the user is notified that the public key cannot be generated because theprinter30 has been moved from a place where a person with proper authority registered printer position information (step S602). Then, the connection with theprinter30 is cut (step S112), and the public key request process is completed.
FIG. 22 andFIG. 23 are flowcharts explaining the contents of a public key transmission process according to this embodiment. As shown inFIG. 22, the public key transmission process according to this embodiment is the same as that in the aforementioned first embodiment up to step S130.
After step S130, in the public key transmission process according to this embodiment, theprinter30 acquires printer position information stored in the printer position information storage EP20 (step S610). Subsequently, theprinter30 acquires printer position information on theprinter30 at this point in time from the position detector54 (step S612).
Then, theprinter30 judges whether the printer position information acquired from the printer position information storage EP20 and the printer position information acquired from theposition detector54 coincide with each other (step S614). When these two piece of printer position information do not coincide (step S614: No), this indicates that theprinter30 is moved, compared with when the person with proper authority registered the printer position information in the printer position information registration process, whereby theprinter30 transmits printer movement information to theprint client20 without generating a public key (step S616). Thereafter, as shown inFIG. 23, the connection with theprint client20 is cut (step S628), and the public key transmission process is completed.
On the other hand, as shown inFIG. 22, when the printer position information acquired from the printer position information storage EP20 and the printer position information acquired from theposition detector54 coincide (step S614: Yes), theprinter30 acquires device-specific information as shown inFIG. 23 (step S620).
Then, theprinter30 creates a passphrase with the device-specific information and the printer position information acquired in step S610 or step S612 (step S622). There are various methods of creating the passphrase. In this embodiment, the passphrase is created by simply joining the printer position information after the device-specific information. Incidentally, the passphrase may contain data other than these device-specific information and printer position information.
Thereafter, theprinter30 generates a public key with the passphrase created in step S622 by the public key cryptography (step S624). Then, theprinter30 transmits the generated public key to the print client20 (step S626). Subsequently, theprinter30 completes the connection with the print client20 (step S628), and returns to step S120 inFIG. 22.
FIG. 24B is a diagram showing a hardware structure of theprint client20 and theprinter30 when the aforementioned process is realized by hardware. A different point from the aforementionedFIG. 20B will be explained. If the public keyacquisition request receiver110 receives the public key acquisition request, then the second printerposition information acquisition122 acquires second printer position information from theposition detector54. Then, a publickey generator320 compares the first printer position information stored in the printerposition information storage310 and the second printer position information acquired by the second printerposition information acquisition122. If the first printer position information and the second printer position information coincide, then the publickey generator320 generates a public key with a passphrase containing at least the first printer position information or the second printer position information. A publickey transmitter122 transmits the public key generated by the publickey generator320 to theprint client20.
As stated above, according to the print system of this embodiment, the generation of a public key is stopped when the position where a person with proper authority registered printer position information with theprinter30 and the position of theprinter30 when the generation of a public key is tried are different, whereby the position where theprinter30 generates a public key and transmits the public key to theprint client20 can be limited. Hence, the position where theprinter30 can be properly used can be limited.
Moreover, as long as the operator has proper authority, the operator can change the printer position information stored in theEEPROM45, and hence, even when the installation place of theprinter30 is changed for good reason by the printer manufacturer or the like, the operator can continue to use theprinter30. Namely, if the operator with proper authority instructs theprinter30 to register printer position information again in a new installation place of theprinter30, printer position information on this place is stored in theEEPROM45, and a public key can be generated again. Accordingly, the printer can be used effectively.
It should be mentioned that the present invention is not limited to the aforementioned embodiments, and various changes may be made therein. For example, in the aforementioned first embodiment, the number of times the public key can be stored in theEEPROM45 is limited to one time, but may be limited to a predetermined number of times such as two times, three times, or the like. Similarly, in the second embodiment and the third embodiment, the number of times the printer position information can be stored in theEEPROM45 is limited to one time, but may be limited to a predetermined number of times such as two times, three times, or the like.
In the aforementioned fourth embodiment, the public key generation authentication information indicating whether the operator has proper authority or not is composed of a combination of an ID and a password, and in the fifth embodiment and the sixth embodiment, the printer position information registration authentication information indicating whether the operator has proper authority or not is composed of a combination of an ID and a password, but the public key generation authentication information and the printer position information registration authentication information are not limited to the combination of an ID and a password. For example, it is also possible that a fingerprint of a person with proper authority is registered, a fingerprint of an operator is read, and when both fingerprints coincide, it is judged that the operator has proper authority.
Further, in the aforementioned respective embodiments, the printer is explained as an example of a data receiving device which sets a limit to a position where it can be used, the present invention is not limited to the printer. Moreover, a data transmitting device is not limited to the print client.
For example, in a data transmitting and receiving system, the data transmitting device may be a digital camera for taking images and the data receiving device may be a data server which stores data on the images taken by the digital camera. In this case, data transmitted from the digital camera is encrypted with a public key received from the data server, and the data server which has received this data generates a private key by the aforementioned method and decrypts the data. When the received data can be decrypted, the data server stores the data, and the received data cannot be decrypted, the data server does not store the data.
Moreover, in the data transmitting and receiving system, the data transmitting device may be a personal computer and the data receiving device may be a projector which projects image data transmitted from the personal computer. In this case, data transmitted from the personal computer is encrypted with a public key received from the projector, and the projector which has received this data generates a private key by the aforementioned method and decrypts the data. When the received data can be decrypted, the projector projects the data, and the received data cannot be decrypted, the projector does not project the data.
Further, in the data transmitting and receiving system, the data transmitting device may be a content server for music or the like and the data receiving device may be a playback device for content data such as music transmitted from the content server. In this case, data transmitted from the content server is encrypted with a public key received from the playback device, and the playback device which has received this data generates a private key by the aforementioned method and decrypts the data. When the received data can be decrypted, the playback device plays back the data, and the received data cannot be decrypted, the playback device does not play back the data.
Furthermore, the aforementioned embodiments are explained with the case where a print medium for theprinter30 is a print sheet as an example, but the print medium is not limited to this, and the present invention can be applied to other print media such as an OHP sheet and the like.
Besides, as for each process explained in the aforementioned embodiments, it is possible to record a program to execute each process on a record medium such as a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), a ROM, a memory card, or the like and distribute this program in the form of the record medium. In this case, the aforementioned embodiments can be realized by making theprint client20 and/or theprinter30 read the record medium on which this program is recorded and execute this program.
Moreover, theprint client20 and/or theprinter30 sometimes has other programs such as an operating system, other application programs, and the like. In this case, by using these other programs in theprint client20 and/or theprinter30, a command, which calls a program to realize a process equal to that in the aforesaid embodiments out of programs in theprint client20 and/or theprinter30, may be recorded on the record medium.
Further, such a program can be distributed not in the form of the record medium but in the form of a carrier wave via a network. The program transmitted in the form of the carrier wave over the network is incorporated in theprint client20 and/or theprinter30, and the aforesaid embodiments can be realized by executing this program.
Furthermore, when being recorded on the record medium or transmitted as the carrier wave over the network, the program is sometimes encrypted or compressed. In this case, theprint client20 and/or theprinter30 which has read the program from the record medium or the carrier wave needs to execute the program after decrypting or expanding the program.