JP4395832B2 - Printer, print client and printing system - Google Patents

Printer, print client and printing system Download PDF

Info

Publication number
JP4395832B2
JP4395832B2 JP2003377129A JP2003377129A JP4395832B2 JP 4395832 B2 JP4395832 B2 JP 4395832B2 JP 2003377129 A JP2003377129 A JP 2003377129A JP 2003377129 A JP2003377129 A JP 2003377129A JP 4395832 B2 JP4395832 B2 JP 4395832B2
Authority
JP
Japan
Prior art keywords
printer
client
random number
public key
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003377129A
Other languages
Japanese (ja)
Other versions
JP2005138418A (en
Inventor
敏 博 島
嶋 輝 人 小
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003377129A priority Critical patent/JP4395832B2/en
Priority to US10/980,432 priority patent/US20050152543A1/en
Publication of JP2005138418A publication Critical patent/JP2005138418A/en
Application granted granted Critical
Publication of JP4395832B2 publication Critical patent/JP4395832B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、プリンタ、印刷クライアント及び印刷システムに関し、特に、印刷データの印刷を行える場所を制限することのできるプリンタ、そのようなプリンタに印刷を要求できる場所を制限することのできる印刷クライアント、並びに、そのようなプリンタ及び印刷クライアントを有する印刷システムに関する。   The present invention relates to a printer, a print client, and a printing system, and in particular, a printer capable of restricting a place where print data can be printed, a print client capable of restricting a place where such a printer can request printing, and And a printing system having such a printer and a print client.

近年、プリンタを用いたビジネスモデルとして、プリンタメーカがユーザにプリンタを無償で貸し出し、ユーザがこのプリンタを用いて印刷した枚数だけ、そのプリンタメーカに使用料を支払うという形態が、注目されてきている。このようなビジネスモデルにおいては、印刷枚数に応じた課金の他に、使用期間に応じた課金や、使用インク量に応じた課金などが考えられる。   In recent years, as a business model using a printer, a form in which a printer maker rents a printer free of charge to a user and the user pays the printer maker for the number of copies printed using the printer has been attracting attention. . In such a business model, in addition to charging according to the number of printed sheets, charging according to the usage period, charging according to the amount of ink used, and the like are conceivable.

また、コンピュータ等の印刷クライアントからプリンタに印刷データを送信する際に、この印刷データを印刷できるプリンタの位置を制限して、印刷データのセキュリティを確保したいという要望もある。このような要望に対応して、コンピュータからプリンタに印刷データを暗号化して送信するとともに、この暗号化された印刷データが、復号できるプリンタの位置を制限する技術が、特開平11−331144号公報(以下、特許文献1という)に開示されている。   In addition, when print data is transmitted from a print client such as a computer to a printer, there is a demand for ensuring the security of the print data by limiting the position of the printer that can print the print data. In response to such a demand, a technique for encrypting print data from a computer and transmitting it to a printer and restricting the position of the printer where the encrypted print data can be decrypted is disclosed in Japanese Patent Application Laid-Open No. 11-331144. (Hereinafter referred to as Patent Document 1).

この特許文献1の印刷システムでは、暗号化サーバが暗号化鍵と復号化鍵を管理することとしている。そして、データを送信するコンピュータは、暗号化サーバから暗号化鍵を取得する際に、その復号化鍵を送信してもよい位置を指定するとともに、この暗号化鍵で印刷データを暗号化して、プリンタに送信する。この暗号化された印刷データを受信したプリンタでは、プリンタの位置を暗号化サーバに送信し、暗号化サーバでは、そのプリンタの位置がコンピュータに指定された位置と合致した場合にのみ、復号化鍵をプリンタに送信することとしている。
特開平11−331144号公報
In the printing system of Patent Document 1, an encryption server manages an encryption key and a decryption key. Then, when acquiring the encryption key from the encryption server, the computer that transmits the data specifies the position where the decryption key may be transmitted, and encrypts the print data with this encryption key, Send to printer. The printer that has received the encrypted print data transmits the printer position to the encryption server. The encryption server only decrypts the decryption key when the printer position matches the position specified by the computer. Is sent to the printer.
JP-A-11-331144

上述したようなプリンタを無償で貸し出すビジネスモデルでは、プリンタメーカから貸し出されたプリンタを、ユーザが無断で転売したり、他人に貸し出したりしてしまうと、プリンタメーカがプリンタの使用に応じた課金をすることができなくなってしまう。このため、プリンタメーカとしては、貸し出したプリンタが使用できる場所、つまり、正常な印刷ができる場所を、その貸し出したユーザの場所に限定したい。   In the business model for renting printers as described above free of charge, if a user resells a printer lent by a printer manufacturer without permission, or if the user rents the printer to another person, the printer maker charges for the use of the printer. You will not be able to. For this reason, the printer manufacturer wants to limit the place where the lent printer can be used, that is, the place where normal printing can be performed to the rented user's place.

特許文献1の印刷システムでは、暗号化されたデータを送信する際に、そのデータを復号できるプリンタの位置を指定できるのみであり、無断で移動されたプリンタであっても、そのプリンタの位置を正しく指定してしまえば、印刷を実行できてしまう。   In the printing system of Patent Document 1, when transmitting encrypted data, only the position of the printer that can decrypt the data can be specified. Even if the printer is moved without permission, the position of the printer can be determined. If you specify it correctly, you can print.

また、プリンタのビジネスモデルと同様に、コンピュータ等に関しても、メーカーが無償で貸し出して、使用料を徴収するビジネスモデルも考えられる。この場合には、コンピュータが使用できる場所を、その貸し出しをしたユーザの場所に限定する必要がある。   Similarly to the printer business model, a computer model or the like can be rented free of charge by the manufacturer to collect usage fees. In this case, it is necessary to limit the place where the computer can be used to the place of the rented user.

そこで本発明は、前記課題に鑑みてなされたものであり、予め登録された場所でしか、印刷することのできないプリンタ、印刷クライアント、並びに、そのようなプリンタ及び印刷クライアントを含む印刷システムを提供することを目的とする。   Accordingly, the present invention has been made in view of the above problems, and provides a printer, a print client, and a printing system including such a printer and a print client that can print only at a location registered in advance. For the purpose.

上記課題を解決するため、本発明に係るプリンタは、印刷データに基づいて印刷を行うプリンタであって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報をプリンタ位置情報取得手段から取得し、これを第1プリンタ位置情報とする、第1プリンタ位置情報取得手段と、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
前記印刷クライアントから、前記プリンタ公開鍵を用いてクライアント乱数を暗号化することにより生成された暗号化クライアント乱数を受信する、暗号化クライアント乱数受信手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第2プリンタ位置情報とする、第2プリンタ位置情報取得手段と、
前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得する、クライアント乱数取得手段と、
プリンタ乱数を生成する、プリンタ乱数生成手段と、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
前記印刷クライアントから、印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
を備えることを特徴とする。
In order to solve the above problems, a printer according to the present invention is a printer that performs printing based on print data,
First printer position information acquisition means for acquiring printer position information for specifying a location where the printer is installed from printer position information acquisition means, and using this as first printer position information;
Printer public key generation means for generating a printer public key using a passphrase including at least the first printer position information;
Printer public key holding means for holding the printer public key generated by the printer public key generating means;
A printer public key transmission unit that transmits a printer public key held in the printer public key holding unit to the print client in response to a request from the print client;
An encrypted client random number receiving means for receiving an encrypted client random number generated by encrypting a client random number using the printer public key from the print client;
Second printer position information acquisition means for acquiring printer position information from the printer position information acquisition means and using this as second printer position information;
A printer secret key generating means for generating a printer secret key using a passphrase including at least the second printer position information;
Client random number obtaining means for decrypting the encrypted client random number using the printer private key and obtaining a client random number;
A printer random number generating means for generating a printer random number;
A common key generation means for generating a common key using the printer random number and the client random number;
Encrypted print data receiving means for receiving encrypted print data generated by encrypting print data from the print client;
Print data acquisition means for decrypting the encrypted print data and acquiring the print data using the common key;
It is characterized by providing.

この場合、前記印刷クライアントから、クライアント公開鍵を受信する、クライアント公開鍵受信手段と、
前記クライアント公開鍵を用いて、前記プリンタ乱数を暗号化することにより、暗号化プリンタ乱数を生成する、暗号化プリンタ乱数生成手段と、
前記暗号化プリンタ乱数を前記印刷クライアントに送信する、暗号化プリンタ乱数送信手段と、
をさらに備えるようにしてもよい。
In this case, client public key receiving means for receiving a client public key from the print client;
Encrypted printer random number generation means for generating an encrypted printer random number by encrypting the printer random number using the client public key;
An encrypted printer random number transmission means for transmitting the encrypted printer random number to the print client;
May be further provided.

また、前記暗号化クライアント乱数受信手段で前記暗号化クライアント乱数を受信した後、及び/又は、前記暗号化印刷データ受信手段で前記暗号化印刷データを受信した後に、前記第2プリンタ位置情報取得手段は、前記プリンタ位置情報取得手段からプリンタ位置情報を取得するようにしてもよい。   In addition, after receiving the encrypted client random number by the encrypted client random number receiving unit and / or after receiving the encrypted print data by the encrypted print data receiving unit, the second printer position information acquiring unit The printer position information may be acquired from the printer position information acquisition means.

また、前記プリンタ公開鍵生成手段で、前記プリンタ公開鍵を生成する際にプリンタ秘密鍵が生成された場合でも、このプリンタ秘密鍵は保存されることなく破棄されるようにしてもよい。   Further, even when the printer public key is generated when the printer public key generation unit generates the printer public key, the printer private key may be discarded without being saved.

また、前記プリンタ秘密鍵生成手段で、前記プリンタ秘密鍵を生成する際にプリンタ公開鍵が生成された場合でも、このプリンタ公開鍵は保存されることなく破棄されるようにしてもよい。   Further, even when a printer public key is generated when the printer private key generation unit generates the printer private key, the printer public key may be discarded without being saved.

また、前記プリンタ秘密鍵生成手段で生成された前記プリンタ秘密鍵は、前記クライアント乱数取得手段で前記暗号化クライアント乱数を復号した後に、破棄されるようにしてもよい。   Further, the printer secret key generated by the printer secret key generation unit may be discarded after the client random number acquisition unit decrypts the encrypted client random number.

また、前記共通鍵生成手段で生成された前記共通鍵は、前記印刷データ取得手段で前記暗号化印刷データを復号した後に、破棄されるようにしてもよい。   The common key generated by the common key generation unit may be discarded after the encrypted print data is decrypted by the print data acquisition unit.

また、前記プリンタ公開鍵生成手段は、前記第1プリンタ位置情報に加えて、当該プリンタの固有の情報である機器固有情報を含むパスフレーズを用いて、プリンタ公開鍵を生成するとともに、
前記プリンタ秘密鍵生成手段も、前記第2プリンタ位置情報に加えて、前記機器固有情報を含むパスフレーズを用いて、プリンタ秘密鍵を生成するようにしてもよい。
The printer public key generation unit generates a printer public key using a passphrase including device specific information that is unique information of the printer in addition to the first printer position information.
The printer secret key generation means may generate a printer secret key using a passphrase including the device specific information in addition to the second printer position information.

本発明に係るプリンタの制御方法は、
印刷データに基づいて印刷を行うプリンタの制御方法であって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報をプリンタ位置情報取得手段から取得し、これを第1プリンタ位置情報とするステップと、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成するステップと、
前記生成したプリンタ公開鍵を、プリンタ公開鍵保持手段に保持させるステップと、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信するステップと、
前記印刷クライアントから、前記プリンタ公開鍵を用いてクライアント乱数を暗号化することにより生成された暗号化クライアント乱数を受信するステップと、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第2プリンタ位置情報とするステップと、
前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成するステップと、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するステップと、
プリンタ乱数を生成するステップと、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
前記印刷クライアントから、印刷データを暗号化することにより生成された暗号化印刷データを受信するステップと、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得するステップと、
を備えることを特徴とする。
The printer control method according to the present invention includes:
A method for controlling a printer that performs printing based on print data,
Acquiring printer position information for specifying a place where the printer is installed from the printer position information acquiring means, and using the acquired position information as first printer position information;
Generating a printer public key using a passphrase including at least the first printer position information;
Holding the generated printer public key in a printer public key holding unit;
Transmitting a printer public key held in the printer public key holding unit to the print client in response to a request from the print client;
Receiving an encrypted client random number generated by encrypting a client random number using the printer public key from the print client;
Acquiring printer position information from the printer position information acquisition means, and using this as second printer position information;
Generating a printer private key using a passphrase including at least the second printer position information;
Decrypting the encrypted client random number using the printer private key to obtain a client random number;
Generating a printer random number;
Generating a common key using the printer random number and the client random number;
Receiving encrypted print data generated by encrypting print data from the print client;
Using the common key to decrypt the encrypted print data to obtain print data;
It is characterized by providing.

本発明に係る印刷クライアントは、
印刷データを生成する印刷クライアントであって、
当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報をプリンタ位置情報取得手段から取得し、これを第1クライアント位置情報とする、第1クライアント位置情報取得手段と、
前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵を生成する、クライアント公開鍵生成手段と、
前記クライアント公開鍵生成手段で生成したクライアント公開鍵を保持する、クライアント公開鍵保持手段と、
プリンタからの要求に応じて、前記クライアント公開鍵保持手段に保持されているクライアント公開鍵をプリンタに送信する、クライアント公開鍵送信手段と、
前記プリンタから、前記クライアント公開鍵を用いてプリンタ乱数を暗号化することにより生成された暗号化プリンタ乱数を受信する、暗号化プリンタ乱数受信手段と、
前記クライアント位置情報取得手段からクライアント位置情報を取得し、これを第2クライアント位置情報とする、第2クライアント位置情報取得手段と、
前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント秘密鍵を生成する、クライアント秘密鍵生成手段と、
前記クライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得する、プリンタ乱数取得手段と、
クライアント乱数を生成する、クライアント乱数生成手段と、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
前記共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成する、暗号化印刷データ生成手段と、
前記プリンタに前記暗号化印刷データを送信する、暗号化印刷データ送信手段と、
を備えることを特徴とする。
The print client according to the present invention includes:
A print client that generates print data,
First client position information acquisition means for acquiring client position information for specifying a place where the print client is installed from printer position information acquisition means, and using this as first client position information;
Client public key generation means for generating a client public key using a passphrase including at least the first client position information;
Client public key holding means for holding the client public key generated by the client public key generating means;
In response to a request from the printer, a client public key transmission unit that transmits the client public key held in the client public key holding unit to the printer;
An encrypted printer random number receiving means for receiving an encrypted printer random number generated by encrypting a printer random number using the client public key from the printer;
Second client position information acquisition means for acquiring client position information from the client position information acquisition means and using this as second client position information;
Client secret key generating means for generating a client secret key using a passphrase including at least the second client position information;
A printer random number obtaining means for decrypting the encrypted printer random number using the client secret key and obtaining a printer random number;
A client random number generating means for generating a client random number;
A common key generation means for generating a common key using the printer random number and the client random number;
Encrypted print data generation means for generating encrypted print data by encrypting the print data using the common key;
Encrypted print data transmission means for transmitting the encrypted print data to the printer;
It is characterized by providing.

本発明に係る印刷クライアントの制御方法は、
印刷データを生成する印刷クライアントの制御方法であって、
当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報をプリンタ位置情報取得手段から取得し、これを第1クライアント位置情報とするステップと、
前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵を生成するステップと、
前記生成したクライアント公開鍵を、クライアント公開鍵保持手段に保持させるステップと、
プリンタからの要求に応じて、前記クライアント公開鍵保持手段に保持されているクライアント公開鍵をプリンタに送信するステップと、
前記プリンタから、前記クライアント公開鍵を用いてプリンタ乱数を暗号化することにより生成された暗号化プリンタ乱数を受信するステップと、
前記クライアント位置情報取得手段からクライアント位置情報を取得し、これを第2クライアント位置情報とするステップと、
前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント秘密鍵を生成するステップと、
前記クライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得するステップと、
クライアント乱数を生成するステップと、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
前記共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成するステップと、
前記プリンタに前記暗号化印刷データを送信するステップと、
を備えることを特徴とする。
The print client control method according to the present invention includes:
A method of controlling a print client that generates print data,
Acquiring client position information for specifying the location where the print client is installed from the printer position information acquisition means, and using the client position information as first client position information;
Generating a client public key using a passphrase including at least the first client location information;
Holding the generated client public key in a client public key holding unit;
Transmitting a client public key held in the client public key holding means to the printer in response to a request from the printer;
Receiving, from the printer, an encrypted printer random number generated by encrypting a printer random number using the client public key;
Acquiring client position information from the client position information acquiring means, and setting it as second client position information;
Generating a client secret key using a passphrase including at least the second client location information;
Decrypting the encrypted printer random number using the client secret key to obtain a printer random number;
Generating a client random number;
Generating a common key using the printer random number and the client random number;
Generating encrypted print data by encrypting the print data using the common key;
Transmitting the encrypted print data to the printer;
It is characterized by providing.

本発明に係る印刷システムは、
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムであって、
前記プリンタは、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報をプリンタ位置情報取得手段から取得し、これを第1プリンタ位置情報とする、第1プリンタ位置情報取得手段と、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
を備えており、
前記印刷クライアントは、前記プリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を、前記プリンタに送信する、プリンタ公開鍵送信要求送信手段を備えており、
前記プリンタは、
前記印刷クライアントから送信された前記プリンタ公開鍵送信要求を受信する、プリンタ公開鍵送信要求受信手段と、
前記プリンタ公開鍵送信要求を受信した場合に、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
を備えており、
前記印刷クライアントは、
前記プリンタから送信された前記プリンタ公開鍵を受信する、プリンタ公開鍵受信手段と、
クライアント乱数を生成する、クライアント乱数生成手段と、
前記プリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成する、暗号化クライアント乱数生成手段と、
前記暗号化クライアント乱数を、前記プリンタに送信する、暗号化クライアント乱数送信手段と、
を備えており、
前記プリンタは、
前記印刷クライアントから送信された前記暗号化クライアント乱数を受信する、暗号化クライアント乱数受信手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第2プリンタ位置情報とする、第2プリンタ位置情報取得手段と、
前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得する、クライアント乱数取得手段と、
プリンタ乱数を生成する、プリンタ乱数生成手段と、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
前記印刷クライアントから、印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
を備えることを特徴とする。
The printing system according to the present invention includes:
A printing system having a printer that performs printing based on print data and a print client connected to the printer,
The printer is
First printer position information acquisition means for acquiring printer position information for specifying a location where the printer is installed from printer position information acquisition means, and using this as first printer position information;
Printer public key generation means for generating a printer public key using a passphrase including at least the first printer position information;
Printer public key holding means for holding the printer public key generated by the printer public key generating means;
With
The print client includes a printer public key transmission request transmission unit that transmits a printer public key transmission request for requesting transmission of the printer public key to the printer;
The printer is
A printer public key transmission request receiving means for receiving the printer public key transmission request transmitted from the print client;
A printer public key transmission unit that transmits a printer public key held in the printer public key holding unit to a print client when the printer public key transmission request is received;
With
The print client
A printer public key receiving means for receiving the printer public key transmitted from the printer;
A client random number generating means for generating a client random number;
An encrypted client random number generating means for generating an encrypted client random number by encrypting the client random number using the printer public key;
An encrypted client random number transmission means for transmitting the encrypted client random number to the printer;
With
The printer is
An encrypted client random number receiving means for receiving the encrypted client random number transmitted from the print client;
Second printer position information acquisition means for acquiring printer position information from the printer position information acquisition means and using this as second printer position information;
A printer secret key generating means for generating a printer secret key using a passphrase including at least the second printer position information;
Client random number obtaining means for decrypting the encrypted client random number using the printer private key and obtaining a client random number;
A printer random number generating means for generating a printer random number;
A common key generation means for generating a common key using the printer random number and the client random number;
Encrypted print data receiving means for receiving encrypted print data generated by encrypting print data from the print client;
Print data acquisition means for decrypting the encrypted print data and acquiring the print data using the common key;
It is characterized by providing.

本発明に係る印刷システムの制御方法は、
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムの制御方法であって、
前記プリンタの設置されている場所を特定するためのプリンタ位置情報をプリンタ位置情報取得手段から取得し、これを第1プリンタ位置情報とするステップと、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成するステップと、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持するステップと、
前記印刷クライアントから前記プリンタに、前記プリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記プリンタ公開鍵送信要求を受信するステップと、
前記プリンタ公開鍵送信要求を受信した場合に、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を、前記プリンタから前記印刷クライアントに送信するステップと、
前記印刷クライアントにおいて、前記プリンタから送信された前記プリンタ公開鍵を受信するステップと、
前記印刷クライアントにおいて、クライアント乱数を生成するステップと、
前記プリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成するステップと、
前記暗号化クライアント乱数を、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記暗号化クライアント乱数を受信するステップと、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第2プリンタ位置情報とするステップと、
前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成するステップと、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するステップと、
前記プリンタにおいて、プリンタ乱数を生成するステップと、
前記プリンタにおいて、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
印刷データを暗号化することにより生成された暗号化印刷データを、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記暗号化印刷データを受信するステップと、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得するステップと、
を備えることを特徴とする。
A control method of a printing system according to the present invention includes:
A control method for a printing system, comprising: a printer that performs printing based on print data; and a print client connected to the printer.
Acquiring printer position information for specifying a place where the printer is installed from a printer position information acquisition unit, and using the printer position information as first printer position information;
Generating a printer public key using a passphrase including at least the first printer position information;
Holding the printer public key generated by the printer public key generating means;
Transmitting a printer public key transmission request for requesting transmission of the printer public key from the print client to the printer;
Receiving the printer public key transmission request transmitted from the print client in the printer;
Transmitting the printer public key held in the printer public key holding means from the printer to the print client when the printer public key transmission request is received;
Receiving the printer public key transmitted from the printer at the print client;
Generating a client random number in the print client;
Generating an encrypted client random number by encrypting the client random number using the printer public key;
Transmitting the encrypted client random number from the print client to the printer;
Receiving the encrypted client random number transmitted from the print client in the printer;
Acquiring printer position information from the printer position information acquisition means, and using this as second printer position information;
Generating a printer private key using a passphrase including at least the second printer position information;
Decrypting the encrypted client random number using the printer private key to obtain a client random number;
Generating a printer random number in the printer;
In the printer, using the printer random number and the client random number to generate a common key;
Transmitting encrypted print data generated by encrypting print data from the print client to the printer;
Receiving the encrypted print data in the printer;
Using the common key to decrypt the encrypted print data to obtain print data;
It is characterized by providing.

本発明によれば、予め登録された場所でしか、印刷することのできないプリンタ、印刷クライアント、並びに、そのようなプリンタ及び印刷クライアントを含む印刷システムを提供することができる。   According to the present invention, it is possible to provide a printer, a print client, and a printing system including such a printer and a print client that can print only at a location registered in advance.

まず、図1に基づいて、本実施形態に係る印刷システムの処理の概要を説明する。図1に示すように、本実施形態においては、プリンタ30の設置時に、プリンタ30が設置されている位置を表すプリンタ位置情報を少なくとも含むパスフレーズを用いてプリンタ公開鍵とプリンタ秘密鍵を生成し、プリンタ30はプリンタ公開鍵は保持するが、プリンタ秘密鍵は破棄する(ステップ〔1〕)。そして、プリンタ30は、印刷データを送信したい印刷クライアント20からプリンタ公開鍵を要求された場合は、保持しているプリンタ公開鍵をその印刷クライアント20に送信する(ステップ〔2〕)。   First, an outline of processing of the printing system according to the present embodiment will be described with reference to FIG. As shown in FIG. 1, in this embodiment, when the printer 30 is installed, a printer public key and a printer private key are generated using a passphrase including at least printer position information indicating the position where the printer 30 is installed. The printer 30 holds the printer public key but discards the printer private key (step [1]). When a printer public key is requested from the print client 20 that wants to transmit print data, the printer 30 transmits the held printer public key to the print client 20 (step [2]).

印刷クライアント20では、乱数発生器を用いて、適当な乱数を生成し、これをクライアント乱数とする(ステップ〔3〕)。そして、印刷クライアント20は、受信したプリンタ公開鍵を用いて、クライアント乱数を暗号化し、暗号化クライアント乱数を生成する(ステップ〔4〕)。続いて、印刷クライアント20は、この暗号化クライアント乱数を、プリンタ30に送信する(ステップ〔5〕)。   The print client 20 uses a random number generator to generate an appropriate random number, which is used as a client random number (step [3]). Then, the print client 20 encrypts the client random number using the received printer public key, and generates an encrypted client random number (step [4]). Subsequently, the print client 20 transmits the encrypted client random number to the printer 30 (step [5]).

この暗号化クライアント乱数を受信したプリンタ30では、再度、プリンタ位置情報を取得し、このプリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵とプリンタ秘密鍵を生成する(ステップ〔6〕)。そして、プリンタ30は、ここで生成されたプリンタ秘密鍵を用いて、暗号化クライアント乱数を復号し、クライアント乱数を取得する(ステップ〔7〕)。なお、プリンタ公開鍵は保存することなく、破棄されるとともに、プリンタ秘密鍵もステップ〔7〕の処理の後、破棄される。   The printer 30 that has received the encrypted client random number acquires printer position information again, and generates a printer public key and a printer private key using a passphrase including at least the printer position information (step [6]). . Then, the printer 30 uses the printer private key generated here to decrypt the encrypted client random number and obtain the client random number (step [7]). The printer public key is discarded without being saved, and the printer private key is also discarded after the process of step [7].

一方、印刷クライアント20においては、印刷クライアント20の設置時に、印刷クライアント20が設置されている位置を表すクライアント位置情報を少なくとも含むパスフレーズを用いてクライアント公開鍵とクライアント秘密鍵を生成し、印刷クライアント20はクライアント公開鍵は保持するが、クライアント秘密鍵は破棄する(ステップ〔8〕)。そして、印刷クライアント20は、プリンタ30からクライアント公開鍵を要求された場合は、保持しているクライアント公開鍵をそのプリンタ30に送信する(ステップ〔9〕)。   On the other hand, the print client 20 generates a client public key and a client secret key using a passphrase including at least client position information indicating a position where the print client 20 is installed when the print client 20 is installed. 20 holds the client public key but discards the client private key (step [8]). When the printer client 30 requests a client public key, the print client 20 transmits the held client public key to the printer 30 (step [9]).

プリンタ30では、乱数発生器を用いて、適当な乱数を生成し、これをプリンタ乱数とする(ステップ〔10〕)。そして、プリンタ30は、受信したクライアント公開鍵を用いて、プリンタ乱数を暗号化し、暗号化プリンタ乱数を生成する(ステップ〔11〕)。続いて、プリンタ30は、この暗号化プリンタ乱数を、印刷クライアント20に送信する(ステップ〔12〕)。   In the printer 30, an appropriate random number is generated using a random number generator, and this is set as a printer random number (step [10]). Then, the printer 30 encrypts the printer random number using the received client public key, and generates an encrypted printer random number (step [11]). Subsequently, the printer 30 transmits the encrypted printer random number to the print client 20 (step [12]).

この暗号化プリンタ乱数を受信した印刷クライアント20では、再度、クライアント位置情報を取得し、このクライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵とクライアント秘密鍵を生成する(ステップ〔13〕)。そして、印刷クライアント20は、ここで生成されたクライアント秘密鍵を用いて、暗号化プリンタ乱数を復号し、プリンタ乱数を取得する(ステップ〔14〕)。なお、クライアント公開鍵は保存することなく、破棄されるとともに、クライアント秘密鍵も、ステップ〔14〕の処理の後、破棄される。   The print client 20 that has received the encrypted printer random number acquires the client position information again, and generates a client public key and a client secret key using a passphrase including at least the client position information (step [13]). ). Then, the print client 20 decrypts the encrypted printer random number using the client secret key generated here, and acquires the printer random number (step [14]). The client public key is discarded without being saved, and the client secret key is also discarded after the process of step [14].

続いて、印刷クライアント20は、クライアント乱数とプリンタ乱数とに基づいて、1つの変数を生成し、この変数を用いて、共通鍵を生成する(ステップ〔15〕)。変数の生成手法は、例えば、クライアント乱数とプリンタ乱数を掛け合わせる、クライアント乱数とプリンタ乱数の排他的論理和を算出する、適当に組み合わせた式をかける、等がある。   Subsequently, the print client 20 generates one variable based on the client random number and the printer random number, and generates a common key using this variable (step [15]). The variable generation method includes, for example, multiplying the client random number and the printer random number, calculating the exclusive OR of the client random number and the printer random number, and multiplying appropriately.

続いて、印刷クライアント20は、印刷データを生成し、この共通鍵を用いて、印刷データを暗号化し、暗号化印刷データを生成する(ステップ〔16〕)。そして、この暗号化印刷データを、プリンタ30に送信する(ステップ〔17〕)。   Subsequently, the print client 20 generates print data, encrypts the print data using this common key, and generates encrypted print data (step [16]). The encrypted print data is transmitted to the printer 30 (step [17]).

一方、プリンタ30においては、ステップ〔7〕で取得したクライアント乱数と、ステップ〔10〕で生成したプリンタ乱数とに基づいて、1つの変数を生成し、この変数を用いて、共通鍵を生成する(ステップ〔18〕)。ここで、変数の生成手法は、印刷クライアント20のステップ〔15〕と同じにする必要がある。換言すれば、ここで生成される変数は、ステップ〔15〕で生成される変数と同じにする必要がある。続いて、プリンタ30は、生成した共通鍵を用いて、受信した暗号化印刷データを復号し、印刷データを取得する(ステップ〔19〕)。そして、プリンタ30は、この取得した印刷データに基づいて、印刷を行う。   On the other hand, in the printer 30, one variable is generated based on the client random number acquired in step [7] and the printer random number generated in step [10], and a common key is generated using this variable. (Step [18]). Here, the variable generation method needs to be the same as step [15] of the print client 20. In other words, the variable generated here must be the same as the variable generated in step [15]. Subsequently, the printer 30 uses the generated common key to decrypt the received encrypted print data and obtain the print data (step [19]). Then, the printer 30 performs printing based on the acquired print data.

結局、プリンタ30においては、プリンタ公開鍵を生成した位置から移動していなければ、暗号化クライアント乱数を復号することができ、したがって、適切な共通鍵を生成することができる。一方、印刷クライアント20においては、クライアント公開鍵を生成した位置から移動していなければ、暗号化プリンタ乱数を復号することができ、したがって、適切な共通鍵を生成することができる。プリンタ30と印刷クライアント20の双方で、適切な共通鍵を生成できれば、プリンタ30と印刷クライアント20とで同じ共通鍵を保持していることなる。すなわち、印刷クライアント20で共通鍵を用いて暗号化された暗号化印刷データを、プリンタ30で同じ共通鍵を用いて復号することができるようになるのである。   Eventually, if the printer 30 has not moved from the position where the printer public key is generated, the encrypted client random number can be decrypted, and therefore an appropriate common key can be generated. On the other hand, if the print client 20 has not moved from the position where the client public key has been generated, the encrypted printer random number can be decrypted, and therefore an appropriate common key can be generated. If both the printer 30 and the print client 20 can generate an appropriate common key, the printer 30 and the print client 20 have the same common key. That is, the encrypted print data encrypted using the common key by the print client 20 can be decrypted by the printer 30 using the same common key.

この説明から分かるように、プリンタ公開鍵をプリンタ30から印刷クライアント20に送信するタイミングは、プリンタ30の設置後、印刷要求の発生までの間の任意のタイミングでよい。但し、プリンタ30の使用できる位置を制限するためには、ステップ〔6〕のプリンタ秘密鍵の生成は、印刷クライアント20で印刷要求が発生した後に行うことが望ましい。具体的には、ステップ〔6〕のプリンタ秘密鍵の生成は、プリンタ30が暗号化クライアント乱数を受信した後、及び/又は、暗号化印刷データを受信した後にすることが望ましい。   As can be seen from this description, the timing at which the printer public key is transmitted from the printer 30 to the print client 20 may be any timing after the printer 30 is installed until a print request is generated. However, in order to limit the positions where the printer 30 can be used, it is desirable to generate the printer private key in step [6] after a print request is generated in the print client 20. Specifically, the generation of the printer private key in step [6] is preferably performed after the printer 30 receives the encrypted client random number and / or after receiving the encrypted print data.

同様に、クライアント公開鍵を印刷クライアント20からプリンタ30に送信するタイミングは、印刷クライアント20の設置後、印刷要求の発生までの任意のタイミングでよい。但し、印刷クライアント20の使用できる位置を制限するためには、ステップ〔13〕のクライアント秘密鍵の生成は、印刷クライアント20で印刷要求が発生した後に行うことが望ましい。具体的には、ステップ〔13〕のクライアント秘密鍵の生成は、ユーザが印刷クライアント20に印刷の実行を指示した後に行われることが望ましい。   Similarly, the timing for transmitting the client public key from the print client 20 to the printer 30 may be any timing after the installation of the print client 20 until a print request is generated. However, in order to limit the positions where the print client 20 can be used, it is desirable to generate the client private key in step [13] after a print request is generated in the print client 20. Specifically, the generation of the client secret key in step [13] is preferably performed after the user instructs the print client 20 to execute printing.

次に、図2に基づいて、本実施形態に係る印刷システムの構成を説明する。図2は、本実施形態に係る印刷システムのハードウェア構成を示すブロック図である。   Next, the configuration of the printing system according to the present embodiment will be described with reference to FIG. FIG. 2 is a block diagram illustrating a hardware configuration of the printing system according to the present embodiment.

この図2に示すように、本実施形態に係る印刷システムは、ネットワーク10に接続された印刷クライアント20と、同じくネットワーク10に接続されたプリンタ30とを備えている。本実施形態においては、ネットワーク10は、TCP/IP(transmission control protocol/internet protocol)を用いたインターネットにより構成されている。但し、ネットワーク10の態様は、インターネットに限るものではなく、例えば、イーサーネット(登録商標)等のLANにより構成されていてもよい。   As shown in FIG. 2, the printing system according to the present embodiment includes a print client 20 connected to the network 10 and a printer 30 also connected to the network 10. In the present embodiment, the network 10 is configured by the Internet using TCP / IP (transmission control protocol / internet protocol). However, the form of the network 10 is not limited to the Internet, and may be configured by a LAN such as Ethernet (registered trademark).

印刷クライアント20は、例えば、ホストコンピュータやパーソナルコンピュータと呼ばれる各種のコンピュータにより構成されている。本実施形態では、特に印刷クライアント20は、共通鍵で印刷データを暗号化した暗号化印刷データを生成し、この暗号化印刷データをネットワーク10を介してプリンタ30に送信する。このネットワーク10に接続される印刷クライアントの台数は任意であり、1台でもよく、複数台でもよい。また、この印刷クライアントは、コンピュータに限られるものではなく、例えば、撮影した画像を印刷する必要のあるデジタルカメラや、印刷画像データをコンテンツとして蓄積してあるコンテンツサーバ等でもよい。   The print client 20 is composed of various computers called a host computer and a personal computer, for example. In the present embodiment, in particular, the print client 20 generates encrypted print data obtained by encrypting print data with a common key, and transmits the encrypted print data to the printer 30 via the network 10. The number of print clients connected to the network 10 is arbitrary, and may be one or plural. The print client is not limited to a computer, and may be, for example, a digital camera that needs to print a captured image, a content server that stores print image data as content, or the like.

また本実施形態においては、プリンタ30はいわゆるネットワークプリンタである。本実施形態においては、特にプリンタ30は、暗号化印刷データを印刷クライアント20から受信し、この暗号化印刷データを共通鍵で復号して、印刷を行う。   In the present embodiment, the printer 30 is a so-called network printer. In the present embodiment, in particular, the printer 30 receives the encrypted print data from the print client 20, decrypts the encrypted print data with the common key, and performs printing.

本実施形態においては、プリンタ30は、ネットワーク10に直接接続されており、プリンタ30は固有のネットワークアドレスを有している。したがって、印刷クライアント20は、このネットワークアドレスを指定することにより、暗号化印刷データをプリンタ30に送信することができる。   In the present embodiment, the printer 30 is directly connected to the network 10, and the printer 30 has a unique network address. Therefore, the print client 20 can transmit the encrypted print data to the printer 30 by designating this network address.

なお、この図2においては、プリンタ30は、ネットワーク10に直接接続されているが、プリンタサーバを介して接続するようにしてもよい。また、このネットワーク10に接続されるプリンタの台数は任意であり、1台でもよく、複数台でもよい。   In FIG. 2, the printer 30 is directly connected to the network 10, but may be connected via a printer server. The number of printers connected to the network 10 is arbitrary, and may be one or a plurality.

図3は、プリンタ30の内部構成を説明するためのブロック図である。この図3に示すように、プリンタ30は、CPU(Central Processing Unit)40と、RAM(Random Access Memory)42と、ROM(Read Only Memory)44とを備えており、これらは互いに内部バス46を介して接続されている。また、この内部バス46には、通信用のインターフェース48が接続されており、この通信用のインターフェース48を介して、上述したネットワーク10にプリンタ30が接続されている。さらに、内部バス46には、インターフェース50が接続されており、このインターフェース50には印刷エンジン52が接続されている。   FIG. 3 is a block diagram for explaining the internal configuration of the printer 30. As shown in FIG. 3, the printer 30 includes a central processing unit (CPU) 40, a random access memory (RAM) 42, and a read only memory (ROM) 44. Connected through. In addition, a communication interface 48 is connected to the internal bus 46, and the printer 30 is connected to the network 10 through the communication interface 48. Further, an interface 50 is connected to the internal bus 46, and a print engine 52 is connected to the interface 50.

また、内部バス46には、位置検出部54が接続されている。この位置検出部54は、プリンタ30が設置されている位置を特定する機能を有する。本実施形態においては、例えば、GPS(global positioning system)により構成されており、このプリンタ30が設置されている位置の緯度、経度、高度が特定できるようになっている。現時点におけるGPSの精度は、緯度、経度、高度において、それぞれ±10m程度であると言われている。   In addition, a position detector 54 is connected to the internal bus 46. The position detection unit 54 has a function of specifying the position where the printer 30 is installed. In the present embodiment, for example, a GPS (global positioning system) is used, and the latitude, longitude, and altitude of the position where the printer 30 is installed can be specified. It is said that the current GPS accuracy is about ± 10 m in each of latitude, longitude, and altitude.

但し、この位置検出部54は、GPSを用いた構成に限らず、例えば、無線LANによりこのプリンタ30がネットワーク10に接続されている場合には、このプリンタ30が収容されている無線基地局に基づいて、プリンタ30の位置を特定するようにしてもよい。或いは、PHS(Personal Handyphone System)などの移動体通信技術を利用して、プリンタ30の位置を特定するようにしてもよい。   However, the position detection unit 54 is not limited to the configuration using the GPS. For example, when the printer 30 is connected to the network 10 by a wireless LAN, the position detection unit 54 is connected to the wireless base station in which the printer 30 is accommodated. Based on this, the position of the printer 30 may be specified. Alternatively, the position of the printer 30 may be specified using mobile communication technology such as PHS (Personal Handyphone System).

また、位置検出部54にGPS機能とPHS機能の双方を搭載し、通常はGPSを用いて設置位置を検出するが、電波事情等によりGPSを用いて位置検出ができない場合には、PHSにより位置検出をするようにしてもよい。   In addition, both the GPS function and the PHS function are mounted on the position detection unit 54, and the installation position is normally detected using the GPS. However, if the position cannot be detected using the GPS due to radio wave conditions or the like, You may make it detect.

さらに本実施形態に係るプリンタ30は、内部バス46に接続されたEEPROM(Electrically Erasable Programmable ROM)56を不揮発性半導体記憶装置として、備えている。このEEPROM56に格納された情報は、プリンタ30の電源をオフにした場合でも、保持されることになる。   Furthermore, the printer 30 according to the present embodiment includes an EEPROM (Electrically Erasable Programmable ROM) 56 connected to the internal bus 46 as a nonvolatile semiconductor memory device. The information stored in the EEPROM 56 is retained even when the printer 30 is turned off.

また、図3においては、位置検出部54をプリンタ30に内蔵しているが、この位置検出部54は、図4に示すように、プリンタ30の外付けにするようにしてもよい。例えば、必要が生じたときに、GPSを搭載した携帯電話をプリンタ30に接続し、プリンタ30に位置検出機能を持たせるようにしてもよい。   In FIG. 3, the position detector 54 is built in the printer 30, but the position detector 54 may be externally attached to the printer 30 as shown in FIG. 4. For example, when necessary, a mobile phone equipped with GPS may be connected to the printer 30 so that the printer 30 has a position detection function.

図5は、印刷クライアント20の内部構成を説明するためのブロック図である。この図5に示すように、本実施形態に係る印刷クライアント20は、コンピュータ本体60とディスプレイ62とを備えて構成されている。   FIG. 5 is a block diagram for explaining the internal configuration of the print client 20. As shown in FIG. 5, the print client 20 according to this embodiment includes a computer main body 60 and a display 62.

コンピュータ本体60は、CPU64と、RAM66と、ROM68とを備えており、これらは互いに内部バス70を介して接続されている。また、この内部バス70には、通信用のインターフェース72が接続されており、この通信用のインターフェース72を介して、上述したネットワーク10に印刷クライアント20が接続されている。   The computer main body 60 includes a CPU 64, a RAM 66, and a ROM 68, which are connected to each other via an internal bus 70. In addition, a communication interface 72 is connected to the internal bus 70, and the print client 20 is connected to the network 10 via the communication interface 72.

さらに、内部バス70には、インターフェース74が接続されており、このインターフェース74には大容量記憶装置であるハードディスク76が接続されている。また、内部バス70には、位置検出部77が接続されている。この位置検出部77は、印刷クライアント20が設置されている位置を特定する機能を有する。本実施形態においては、例えば、GPS(global positioning system)により構成されており、この印刷クライアント20が設置されている位置の緯度、経度、高度が特定できるようになっている。   Further, an interface 74 is connected to the internal bus 70, and a hard disk 76 that is a mass storage device is connected to the interface 74. In addition, a position detection unit 77 is connected to the internal bus 70. The position detection unit 77 has a function of specifying the position where the print client 20 is installed. In the present embodiment, for example, a GPS (global positioning system) is used, and the latitude, longitude, and altitude of the position where the print client 20 is installed can be specified.

但し、この位置検出部77は、GPSを用いた構成に限らず、例えば、無線LANによりこの印刷クライアント20がネットワーク10に接続されている場合には、この印刷クライアント20が収容されている無線基地局に基づいて、印刷クライアント20の位置を特定するようにしてもよい。或いは、PHS(Personal Handyphone System)などの移動体通信技術を利用して、印刷クライアント20の位置を特定するようにしてもよい。   However, the position detection unit 77 is not limited to the configuration using the GPS. For example, when the print client 20 is connected to the network 10 by a wireless LAN, the wireless base in which the print client 20 is accommodated. The position of the print client 20 may be specified based on the station. Alternatively, the position of the print client 20 may be specified using mobile communication technology such as PHS (Personal Handyphone System).

また、位置検出部77にGPS機能とPHS機能の双方を搭載し、通常はGPSを用いて設置位置を検出するが、電波事情等によりGPSを用いて位置検出ができない場合には、PHSにより位置検出をするようにしてもよい。   The position detector 77 is equipped with both a GPS function and a PHS function, and usually detects the installation position using the GPS. However, if the position cannot be detected using the GPS due to radio wave conditions or the like, the position is detected by the PHS. You may make it detect.

さらに、内部バス70には、インターフェース78が接続されており、このインターフェース78から延びるケーブル80を介して、上述したディスプレイ62が接続されている。   Further, an interface 78 is connected to the internal bus 70, and the above-described display 62 is connected via a cable 80 extending from the interface 78.

また、図5においては、位置検出部77を印刷クライアント20に内蔵しているが、この位置検出部77は、図6に示すように、印刷クライアント20の外付けにするようにしてもよい。例えば、必要が生じたときに、GPSを搭載した携帯電話を印刷クライアント20に接続し、印刷クライアント20に位置検出機能を持たせるようにしてもよい。   In FIG. 5, the position detection unit 77 is built in the print client 20, but the position detection unit 77 may be externally attached to the print client 20, as shown in FIG. For example, when necessary, a mobile phone equipped with GPS may be connected to the print client 20 so that the print client 20 has a position detection function.

次に、図1を用いて説明した処理を実現するために、プリンタ30、及び、印刷クライアント20で実行される処理を詳しく説明する。   Next, processing executed by the printer 30 and the print client 20 in order to realize the processing described with reference to FIG. 1 will be described in detail.

まず、図7に基づいて、プリンタ30の設置時にプリンタ30で実行されるプリンタ公開鍵生成処理について説明する。この図7は、プリンタ30で実行されるプリンタ公開鍵生成処理を説明するフローチャートである。このプリンタ公開鍵生成処理は、プリンタのROM44に格納されているプリンタ公開鍵生成プログラムをCPU40が読み込んで実行することにより実現される処理である。   First, a printer public key generation process executed by the printer 30 when the printer 30 is installed will be described with reference to FIG. FIG. 7 is a flowchart for describing printer public key generation processing executed by the printer 30. This printer public key generation process is realized by the CPU 40 reading and executing a printer public key generation program stored in the ROM 44 of the printer.

図7に示すように、まず、プリンタ30は、プリンタ30の操作者に設置認定情報を入力するように要求する(ステップS100)。例えば、プリンタ30は、このプリンタ30に設けられている表示パネルに、設置認証情報を入力する指示を、表示する。操作者は、例えば、プリンタ30に設けられている操作パネルを操作して、設置認証情報を入力する。例えば、本実施形態においては、この設置認証情報は、設置認証情報用のIDとパスワードの組み合わせにより構成されている。したがって、操作者は、操作パネルから、これら設置認証情報用のIDとパスワードとを入力する。   As shown in FIG. 7, first, the printer 30 requests the operator of the printer 30 to input installation authorization information (step S100). For example, the printer 30 displays an instruction to input installation authentication information on a display panel provided in the printer 30. For example, the operator operates the operation panel provided in the printer 30 and inputs the installation authentication information. For example, in the present embodiment, this installation authentication information is configured by a combination of an ID and password for installation authentication information. Therefore, the operator inputs the ID and password for the installation authentication information from the operation panel.

次に、プリンタ30は、入力された設置認証情報が、予めこのプリンタ30に登録されている設置認証情報と一致するかどうかを判断する(ステップS102)。具体的には、上述したように、操作者が入力した設置認証情報用のIDとパスワードが、予めプリンタ30に登録されている設置認証情報用のIDとパスワードと一致するかどうかを判断する。本実施形態においては、例えば、プリンタ30の製品出荷時に、EEPROM56にこの設置認証情報用のIDとパスワードが格納されており、この設置認証情報用のIDとパスワードを知り得るのは、このプリンタ30の製造メーカだけという仕組みになっている。   Next, the printer 30 determines whether or not the input installation authentication information matches the installation authentication information registered in advance in the printer 30 (step S102). Specifically, as described above, it is determined whether the ID and password for installation authentication information input by the operator match the ID and password for installation authentication information registered in the printer 30 in advance. In the present embodiment, for example, when the printer 30 is shipped, the installation authentication information ID and password are stored in the EEPROM 56. The printer 30 can know the installation authentication information ID and password. It is a structure that only manufacturers of

設置認証情報が一致しなかった場合(ステップS102:No)には、プリンタ30は、プリンタ30の表示パネルに設置認証情報が一致しなかった旨を表示し(ステップS104)、このプリンタ公開鍵生成処理を終了する。   If the installation authentication information does not match (step S102: No), the printer 30 displays on the display panel of the printer 30 that the installation authentication information does not match (step S104), and generates this printer public key. The process ends.

一方、設置認証情報が一致した場合(ステップS102:Yes)には、プリンタ30は、このプリンタ30の機器固有情報を取得する(ステップS106)。ここで、機器固有情報とは、このプリンタ30に関して、固有に割り当てられている識別情報であり、例えば、プリンタ30の製造シリアルナンバー、MACアドレス等がある。   On the other hand, when the installation authentication information matches (step S102: Yes), the printer 30 acquires device-specific information of the printer 30 (step S106). Here, the device unique information is identification information uniquely assigned to the printer 30 and includes, for example, a manufacturing serial number and a MAC address of the printer 30.

次に、プリンタ30は、位置検出部54から、その時点におけるプリンタ30のプリンタ位置情報を取得する(ステップS108)。続いて、プリンタ30は、機器固有情報とプリンタ位置情報とを用いてパスフレーズを作成する(ステップS110)。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、単純に機器固有情報の後ろにプリンタ位置情報をつなげることにより、パスフレーズを作成する。なお、パスフレーズは、これら機器固有情報及びプリンタ位置情報以外のデータを含んでいてもよい。   Next, the printer 30 acquires the printer position information of the printer 30 at that time from the position detection unit 54 (step S108). Subsequently, the printer 30 creates a passphrase using the device specific information and the printer position information (step S110). Various methods for creating the passphrase can be considered. In this embodiment, the passphrase is created by simply connecting the printer position information to the device specific information. The passphrase may include data other than the device specific information and the printer position information.

次に、プリンタ30は、作成したパスフレーズを用いて、公開鍵暗号法により、公開鍵(プリンタ公開鍵)と秘密鍵(プリンタ秘密鍵)とを生成する(ステップS112)。公開鍵暗号法では、使用するパスフレーズが同じであれば、再び、公開鍵と秘密鍵とを生成しても、同じものが生成されるという性質を有している。続いて、プリンタ30は、この生成したプリンタ公開鍵とプリンタ秘密鍵のうち、プリンタ公開鍵のみを格納して保持する(ステップS114)。なお、プリンタ秘密鍵は保存されることなく破棄される。これにより、本実施形態に係るプリンタ公開鍵生成処理が終了する。   Next, the printer 30 generates a public key (printer public key) and a private key (printer private key) by public key cryptography using the created passphrase (step S112). Public key cryptography has the property that if the same passphrase is used, the same key is generated even if the public key and the private key are generated again. Subsequently, the printer 30 stores and holds only the printer public key among the generated printer public key and printer private key (step S114). Note that the printer private key is discarded without being saved. Thereby, the printer public key generation process according to the present embodiment is completed.

図8は、ステップS114でプリンタ公開鍵が格納されるプリンタ公開鍵格納部TB10の一例を示す図である。本実施形態においては、このプリンタ公開鍵格納部TB10は、EEPROM56内に形成される。このため、このプリンタ公開鍵格納部TB10に格納されたプリンタ公開鍵は、プリンタ30の電源がオフになっても不揮発的に保持される。   FIG. 8 is a diagram illustrating an example of the printer public key storage unit TB10 in which the printer public key is stored in step S114. In the present embodiment, the printer public key storage unit TB10 is formed in the EEPROM 56. Therefore, the printer public key stored in the printer public key storage unit TB10 is held in a nonvolatile manner even when the printer 30 is turned off.

次に、図9に基づいて、印刷クライアント20の設置時に印刷クライアント20で実行されるクライアント公開鍵生成処理について説明する。この図9は、印刷クライアント20で実行されるクライアント公開鍵生成処理を説明するフローチャートである。このクライアント公開鍵生成処理は、印刷クライアント20のROM68又はハードディスク76に格納されているクライアント公開鍵生成プログラムをCPU64が読み込んで実行することにより実現される処理である。   Next, a client public key generation process executed by the print client 20 when the print client 20 is installed will be described with reference to FIG. FIG. 9 is a flowchart for explaining client public key generation processing executed by the print client 20. This client public key generation process is a process realized by the CPU 64 reading and executing a client public key generation program stored in the ROM 68 or the hard disk 76 of the print client 20.

図9に示すように、まず、印刷クライアント20は、印刷クライアント20の操作者に設置認定情報を入力するように要求する(ステップS150)。例えば、印刷クライアント20は、この印刷クライアント20のディスプレイ62に、設置認証情報を入力する指示を、表示する。操作者は、例えば、印刷クライアント20のキーボードを操作して、設置認証情報を入力する。例えば、本実施形態においては、この設置認証情報は、設置認証情報用のIDとパスワードの組み合わせにより構成されている。したがって、操作者は、操作パネルから、これら設置認証情報用のIDとパスワードとを入力する。   As shown in FIG. 9, first, the print client 20 requests the operator of the print client 20 to input installation authorization information (step S150). For example, the print client 20 displays an instruction to input installation authentication information on the display 62 of the print client 20. For example, the operator operates the keyboard of the print client 20 to input the installation authentication information. For example, in the present embodiment, this installation authentication information is configured by a combination of an ID and password for installation authentication information. Therefore, the operator inputs the ID and password for the installation authentication information from the operation panel.

次に、印刷クライアント20は、入力された設置認証情報が、予めこの印刷クライアント20に登録されている設置認証情報と一致するかどうかを判断する(ステップS152)。具体的には、上述したように、操作者が入力した設置認証情報用のIDとパスワードが、予め印刷クライアント20に登録されている設置認証情報用のIDとパスワードと一致するかどうかを判断する。本実施形態においては、例えば、印刷クライアント20の製品出荷時に、ハードディスク76にこの設置認証情報用のIDとパスワードが格納されており、この設置認証情報用のIDとパスワードを知り得るのは、この印刷クライアント20の製造メーカだけという仕組みになっている。   Next, the print client 20 determines whether or not the input installation authentication information matches the installation authentication information registered in the print client 20 in advance (step S152). Specifically, as described above, it is determined whether the ID and password for installation authentication information input by the operator matches the ID and password for installation authentication information registered in the print client 20 in advance. . In this embodiment, for example, when the print client 20 is shipped, the installation authentication information ID and password are stored in the hard disk 76, and the ID and password for the installation authentication information can be known. Only the manufacturer of the print client 20 is configured.

設置認証情報が一致しなかった場合(ステップS152:No)には、印刷クライアント20は、印刷クライアント20のディスプレイ62に設置認証情報が一致しなかった旨を表示し(ステップS154)、このクライアント公開鍵生成処理を終了する。   If the installation authentication information does not match (step S152: No), the print client 20 displays on the display 62 of the print client 20 that the installation authentication information does not match (step S154), and this client disclosure. The key generation process ends.

一方、設置認証情報が一致した場合(ステップS152:Yes)には、印刷クライアント20は、この印刷クライアント20の機器固有情報を取得する(ステップS156)。ここで、機器固有情報とは、この印刷クライアント20に関して、固有に割り当てられている識別情報であり、例えば、印刷クライアント20の製造シリアルナンバー、MACアドレス等がある。   On the other hand, when the installation authentication information matches (step S152: Yes), the print client 20 acquires the device unique information of the print client 20 (step S156). Here, the device unique information is identification information uniquely assigned to the print client 20 and includes, for example, a manufacturing serial number and a MAC address of the print client 20.

次に、印刷クライアント20は、位置検出部77から、その時点における印刷クライアント20のクライアント位置情報を取得する(ステップS158)。続いて、印刷クライアント20は、機器固有情報とクライアント位置情報とを用いてパスフレーズを作成する(ステップS160)。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、単純に機器固有情報の後ろにクライアント位置情報をつなげることにより、パスフレーズを作成する。なお、パスフレーズは、これら機器固有情報及びクライアント位置情報以外のデータを含んでいてもよい。   Next, the print client 20 acquires the client position information of the print client 20 at that time from the position detection unit 77 (step S158). Subsequently, the print client 20 creates a passphrase using the device specific information and the client position information (step S160). Various methods for creating the passphrase can be considered. In the present embodiment, the passphrase is created by simply connecting the client position information to the device specific information. The passphrase may include data other than the device specific information and the client position information.

次に、印刷クライアント20は、作成したパスフレーズを用いて、公開鍵暗号法により、公開鍵(クライアント公開鍵)と秘密鍵(クライアント秘密鍵)とを生成する(ステップS162)。公開鍵暗号法では、使用するパスフレーズが同じであれば、再び、公開鍵と秘密鍵とを生成しても、同じものが生成されるという性質を有している。続いて、印刷クライアント20は、この生成したクライアント公開鍵とクライアント秘密鍵のうち、クライアント公開鍵のみを格納して保持する(ステップS164)。なお、クライアント秘密鍵は保存されることなく破棄される。これにより、本実施形態に係るクライアント公開鍵生成処理が終了する。   Next, the print client 20 generates a public key (client public key) and a private key (client private key) by public key cryptography using the created passphrase (step S162). Public key cryptography has the property that if the same passphrase is used, the same key is generated even if the public key and the private key are generated again. Subsequently, the print client 20 stores and holds only the client public key among the generated client public key and client secret key (step S164). The client secret key is discarded without being saved. Thereby, the client public key generation process according to the present embodiment is completed.

図10は、ステップS164でクライアント公開鍵が格納されるクライアント公開鍵格納部TB20の一例を示す図である。本実施形態においては、このクライアント公開鍵格納部TB20は、ハードディスク76内に形成される。このため、このクライアント公開鍵格納部TB20に格納されたクライアント公開鍵は、印刷クライアント20の電源がオフになっても不揮発的に保持される。   FIG. 10 is a diagram illustrating an example of the client public key storage unit TB20 in which the client public key is stored in step S164. In the present embodiment, the client public key storage unit TB20 is formed in the hard disk 76. Therefore, the client public key stored in the client public key storage unit TB20 is held in a nonvolatile manner even when the print client 20 is turned off.

図11乃至図13は、印刷クライアント20で実行される印刷要求処理を説明するフローチャートである。この印刷要求処理は、印刷クライアントのROM68又はハードディスク76に格納されている印刷要求プログラムをCPU64が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷要求処理は、ユーザが印刷すべきデータを作成し、プリンタ30で印刷を行うように印刷クライアント20に指示した際に起動される処理である。   FIGS. 11 to 13 are flowcharts illustrating print request processing executed by the print client 20. This print request processing is realized by the CPU 64 reading and executing a print request program stored in the ROM 68 or the hard disk 76 of the print client. In the present embodiment, this print request process is a process that is started when the user creates data to be printed and instructs the print client 20 to perform printing with the printer 30.

この図11に示すように、まず、印刷クライアント20は、プリンタ30にプリンタ公開鍵の送信を要求するプリンタ公開鍵取得要求を送信する(ステップS200)。続いて、印刷クライアント20は、プリンタ30からプリンタ公開鍵を受信したかどうかを判断する(ステップS202)。プリンタ公開鍵を受信していない場合(ステップS202:No)には、このステップS202の処理を繰り返して待機する。   As shown in FIG. 11, first, the print client 20 transmits a printer public key acquisition request for requesting the printer 30 to transmit a printer public key (step S200). Subsequently, the print client 20 determines whether a printer public key has been received from the printer 30 (step S202). If the printer public key has not been received (step S202: No), the process of step S202 is repeated and waits.

一方、プリンタ公開鍵を受信した場合(ステップS202:Yes)には、印刷クライアント20は乱数を生成し、これをクライアント乱数とする(ステップS204)。本実施形態においては、CPU64がソフトウェア的に乱数を生成する。   On the other hand, when the printer public key is received (step S202: Yes), the print client 20 generates a random number and sets this as a client random number (step S204). In the present embodiment, the CPU 64 generates a random number in software.

次に、印刷クライアント20は、ステップS202で受信したプリンタ公開鍵を用いて、ステップS204で生成したクライアント乱数を暗号化し、暗号化クライアント乱数を生成する(ステップS205)。そして、この暗号化クライアント乱数をプリンタ30に送信する(ステップS206)。   Next, the print client 20 encrypts the client random number generated in step S204 using the printer public key received in step S202, and generates an encrypted client random number (step S205). Then, this encrypted client random number is transmitted to the printer 30 (step S206).

次に、印刷クライアント20は、プリンタ30から解読不能通知を受信したかどうかを判断する(ステップS208)。この解読不能通知を受信した場合(ステップS208:Yes)には、ユーザにプリンタ30が暗号化クライアント乱数を復号できなかった旨を通知し(ステップS210)、この印刷要求処理を終了する。   Next, the print client 20 determines whether or not a deciphering notification has been received from the printer 30 (step S208). When this unbreakable notification is received (step S208: Yes), the user is notified that the printer 30 has not been able to decrypt the encrypted client random number (step S210), and this print request process is terminated.

一方、ステップS208で解読不能通知を受信していない場合(ステップS208:No)には、プリンタ30からクライアント公開鍵取得要求を受信したかどうかを判断する(ステップS212)。クライアント公開鍵取得要求を受信していない場合(ステップS212:No)には、上述したステップS208からを繰り返す。   On the other hand, if the unbreakable notification has not been received in step S208 (step S208: No), it is determined whether a client public key acquisition request has been received from the printer 30 (step S212). If the client public key acquisition request has not been received (step S212: No), the above-described step S208 is repeated.

一方、クライアント公開鍵取得要求を受信した場合(ステップS212:Yes)には、印刷クライアント20は、クライアント公開鍵格納部TB20から、クライアント公開鍵を取得する(ステップS214)。続いて、印刷クライアント20は、このクライアント公開鍵をプリンタ30に送信する(ステップS216)。   On the other hand, when the client public key acquisition request is received (step S212: Yes), the print client 20 acquires the client public key from the client public key storage unit TB20 (step S214). Subsequently, the print client 20 transmits this client public key to the printer 30 (step S216).

次に、図12に示すように、印刷クライアント20は、プリンタ30から暗号化プリンタ乱数を受信したかどうかを判断する(ステップS250)。暗号化プリンタ乱数を受信していない場合(ステップS250:No)には、このステップS250を繰り返して待機する。   Next, as shown in FIG. 12, the print client 20 determines whether an encrypted printer random number has been received from the printer 30 (step S250). If the encrypted printer random number has not been received (step S250: No), this step S250 is repeated to stand by.

一方、暗号化プリンタ乱数を受信した場合(ステップS250:Yes)には、印刷クライアント20は、印刷クライアント20の機器固有情報を取得する(ステップS252)。続いて、印刷クライアント20は、位置検出部77から、その時点における印刷クライアント20のクライアント位置情報を取得する(ステップS254)。このようにクライアント位置情報を、その都度、位置検出部77から取得することとしているのは、印刷クライアント20が当初設置された場所から別の場所に移動されている可能性があり、このような場合には印刷クライアント20で印刷が行われないようにするためである。   On the other hand, when the encrypted printer random number is received (step S250: Yes), the print client 20 acquires device specific information of the print client 20 (step S252). Subsequently, the print client 20 acquires the client position information of the print client 20 at that time from the position detection unit 77 (step S254). In this way, the client position information is acquired from the position detection unit 77 each time, because there is a possibility that the print client 20 has been moved from the place where it was originally installed to another place. In this case, the print client 20 is prevented from performing printing.

次に、印刷クライアント20は、機器固有情報とクライアント位置情報とに基づいて、パスフレーズを作成する(ステップS256)。このパスフレーズの作成手法は、上述したクライアント公開鍵生成処理におけるステップS160と同じ手法である必要がある。なぜなら、パスフレーズが異なると、プリンタ30から送信された暗号化プリンタ乱数を、クライアント秘密鍵で復号できなくなってしまうからである。   Next, the print client 20 creates a passphrase based on the device specific information and the client position information (step S256). This passphrase creation method needs to be the same as step S160 in the client public key generation process described above. This is because if the passphrase is different, the encrypted printer random number transmitted from the printer 30 cannot be decrypted with the client secret key.

次に、印刷クライアント20は、ステップS256で生成したパスフレーズを用いて、公開鍵暗号法によりクライアント公開鍵とクライアント秘密鍵とを生成する(ステップS258)。続いて、印刷クライアント20は、生成されたクライアント秘密鍵を用いて、受信した暗号化プリンタ乱数を復号し、プリンタ乱数を取得する(ステップS260)。続いて、印刷クライアント20は、ステップS258で生成したクライアント公開鍵とクライアント秘密鍵とを破棄する(ステップS262)。   Next, the print client 20 generates a client public key and a client secret key by public key cryptography using the passphrase generated in step S256 (step S258). Subsequently, the print client 20 decrypts the received encrypted printer random number using the generated client private key, and acquires the printer random number (step S260). Subsequently, the print client 20 discards the client public key and client secret key generated in step S258 (step S262).

次に、印刷クライアント20は、ステップS260で暗号化プリンタ乱数が復号され、プリンタ乱数を取得することができたかどうかを判断する(ステップS264)。暗号化プリンタ乱数の復号ができなかった場合(ステップS264:No)には、ユーザに、印刷クライアント20が移動されてしまったため暗号化プリンタ乱数の復号ができない旨を通知して(ステップS266)、この印刷要求処理を終了する。   Next, the print client 20 determines whether or not the encrypted printer random number has been decrypted in step S260 and the printer random number has been acquired (step S264). If the encrypted printer random number cannot be decrypted (step S264: No), the user is notified that the encrypted printer random number cannot be decrypted because the print client 20 has been moved (step S266). This print request process is terminated.

一方、暗号化プリンタ乱数の復号ができた場合(ステップS264:Yes)には、ステップS204で生成したクライアント乱数と、ステップS260で取得したプリンタ乱数とを用いて、1つの変数を生成する(ステップS268)。変数の生成手法には様々な手法が考えられるが、本実施形態においては、例えば、(1)クライアント乱数とプリンタ乱数を掛け合わせる、(2)クライアント乱数とプリンタ乱数の排他的論理和を算出する、(3)適当に組み合わせた式をかけるのいずれかの手法で生成する。   On the other hand, if the encrypted printer random number can be decrypted (step S264: Yes), one variable is generated using the client random number generated in step S204 and the printer random number acquired in step S260 (step S264). S268). There are various variable generation methods. In the present embodiment, for example, (1) the client random number and the printer random number are multiplied, and (2) the exclusive OR of the client random number and the printer random number is calculated. , (3) Multiply appropriately combined formulas to generate.

次に、図13に示すように、印刷クライアント20は、ステップS268で生成した変数を用いて、共通鍵を生成する(ステップS300)。続いて、印刷クライアント20は、印刷データを生成する(ステップS302)。この印刷データは、プリンタ30が実際に印刷を行うのに必要となるデータである。   Next, as shown in FIG. 13, the print client 20 generates a common key using the variable generated in step S268 (step S300). Subsequently, the print client 20 generates print data (step S302). This print data is data necessary for the printer 30 to actually perform printing.

次に、印刷クライアント20は、生成した印刷データを、ステップS300で生成した共通鍵を用いて暗号化し、暗号化印刷データを生成する(ステップS304)。続いて、印刷クライアント20は、この暗号化印刷データをプリンタ30に送信する(ステップS306)。続いて、印刷クライアント20は、ステップS300で生成した共通鍵を破棄する(ステップS308)。続いて、印刷クライアント20は、ステップS204で生成したクライアント乱数と、ステップS260で取得したプリンタ乱数と、ステップS268で生成した変数を、破棄する(ステップS310)。   Next, the print client 20 encrypts the generated print data using the common key generated in step S300, and generates encrypted print data (step S304). Subsequently, the print client 20 transmits the encrypted print data to the printer 30 (step S306). Subsequently, the print client 20 discards the common key generated in step S300 (step S308). Subsequently, the print client 20 discards the client random number generated in step S204, the printer random number acquired in step S260, and the variable generated in step S268 (step S310).

次に、印刷クライアント20は、プリンタ30から解読不能通知を受信したかどうかを判断する(ステップS312)。この解読不能通知を受信した場合(ステップS312:Yes)には、ユーザに暗号化印刷データの復号ができなかった旨を通知して、この印刷要求処理を終了する。   Next, the print client 20 determines whether or not an undecipherable notification is received from the printer 30 (step S312). If this decryption notification is received (step S312: Yes), the user is notified that the encrypted print data could not be decrypted, and the print request process is terminated.

一方、解読不能通知を受信していない場合(ステップS312:No)には、プリンタ30から印刷完了通知を受信したかどうかを判断する(ステップS316)。印刷完了通知を受信していない場合(ステップS316:No)には、上述したステップS312からを繰り返す。   On the other hand, when the undecipherable notification has not been received (step S312: No), it is determined whether a print completion notification has been received from the printer 30 (step S316). When the print completion notification has not been received (step S316: No), the above-described step S312 is repeated.

一方、印刷完了通知を受信した場合(ステップS316:Yes)には、印刷が正常に完了したことになるので、この印刷要求処理を終了する。   On the other hand, when the print completion notification is received (step S316: Yes), the printing is normally completed, and thus the print request process is ended.

次に、図14乃至図16に基づいて、印刷クライアント20の印刷要求処理に対応して、プリンタ30で実行される印刷実行処理について説明する。図14乃至図16は、プリンタ30で実行される印刷実行処理を説明するフローチャートである。この印刷実行処理は、プリンタ30のROM44に格納されている印刷実行プログラムをCPU40が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷実行処理は、定常的に実行されている処理である。   Next, a print execution process executed by the printer 30 in response to the print request process of the print client 20 will be described with reference to FIGS. 14 to 16 are flowcharts for explaining the print execution process executed by the printer 30. FIG. This print execution process is a process realized by the CPU 40 reading and executing a print execution program stored in the ROM 44 of the printer 30. In the present embodiment, this print execution process is a process that is regularly executed.

図14に示すように、プリンタ30は、印刷クライアント20からプリンタ公開鍵取得要求を受信したかどうかを判断する(ステップS350)。このプリンタ公開鍵取得要求を受信していない場合(ステップS350:No)には、このステップS350の処理を繰り返して待機する。   As shown in FIG. 14, the printer 30 determines whether a printer public key acquisition request has been received from the print client 20 (step S350). If the printer public key acquisition request has not been received (step S350: No), the process of step S350 is repeated and waits.

一方、プリンタ公開鍵取得要求を受信した場合(ステップS350:Yes)には、プリンタ30は、プリンタ公開鍵格納部TB10からプリンタ公開鍵を取得する(ステップS352)。続いて、プリンタ30は、このプリンタ公開鍵を印刷クライアント20に送信する(ステップS354)。   On the other hand, when the printer public key acquisition request is received (step S350: Yes), the printer 30 acquires the printer public key from the printer public key storage unit TB10 (step S352). Subsequently, the printer 30 transmits this printer public key to the print client 20 (step S354).

次に、プリンタ30は、印刷クライアント20から暗号化クライアント乱数を受信したかどうかを判断する(ステップS356)。この暗号化クライアント乱数を受信していない場合(ステップS356:No)には、このステップS356の処理を繰り返して待機する。   Next, the printer 30 determines whether an encrypted client random number has been received from the print client 20 (step S356). If this encrypted client random number has not been received (step S356: No), the process of step S356 is repeated and waits.

一方、暗号化クライアント乱数を受信した場合(ステップS356:Yes)には、プリンタ30は自らの機器固有情報を取得する(ステップS358)。続いて、プリンタ30は、位置検出部54から、その時点におけるプリンタ30のプリンタ位置情報を取得する(ステップS360)。このようにプリンタ位置情報を、その都度、位置検出部54から取得することとしているのは、プリンタ30が当初設置された場所から別の場所に移動されている可能性があり、このような場合にはプリンタ30で印刷が行われないようにするためである。   On the other hand, when the encrypted client random number is received (step S356: Yes), the printer 30 acquires its own device-specific information (step S358). Subsequently, the printer 30 acquires the printer position information of the printer 30 at that time from the position detection unit 54 (step S360). In this way, the printer position information is acquired from the position detection unit 54 each time, because there is a possibility that the printer 30 is moved from the place where it was originally installed to another place. This is to prevent the printer 30 from printing.

次に、プリンタ30は、機器固有情報とプリンタ位置情報とに基づいて、パスフレーズを作成する(ステップS362)。このパスフレーズの作成手法は、上述したプリンタ公開鍵生成処理におけるステップS110と同じ手法である必要がある。なぜなら、パスフレーズが異なると、印刷クライアント20から送信された暗号化クライアント乱数を、プリンタ秘密鍵で復号できなくなってしまうからである。   Next, the printer 30 creates a passphrase based on the device specific information and the printer position information (step S362). This passphrase creation method needs to be the same as step S110 in the printer public key generation process described above. This is because if the passphrase is different, the encrypted client random number transmitted from the print client 20 cannot be decrypted with the printer private key.

次に、プリンタ30は、パスフレーズを用いて、公開鍵暗号法によりプリンタ公開鍵とプリンタ秘密鍵とを生成する(ステップS364)。続いて、図15に示すように、プリンタ30は、生成されたプリンタ秘密鍵を用いて、受信した暗号化クライアント乱数を復号して、クライアント乱数を取得する(ステップS400)。続いて、プリンタ30は、ステップS364で生成したプリンタ公開鍵とプリンタ秘密鍵とを破棄する(ステップS402)。   Next, the printer 30 uses the passphrase to generate a printer public key and a printer private key by public key cryptography (step S364). Next, as shown in FIG. 15, the printer 30 uses the generated printer private key to decrypt the received encrypted client random number to obtain the client random number (step S400). Subsequently, the printer 30 discards the printer public key and printer private key generated in step S364 (step S402).

次に、プリンタ30は、ステップS400で暗号化クライアント乱数が復号され、クライアント乱数を取得することができたかどうかを判断する(ステップS404)。暗号化クライアント乱数の復号ができなかった場合(ステップS404:No)には、印刷クライアント20に、プリンタ30が移動されてしまったため暗号化クライアント乱数の復号ができない旨の解読不能通知を送信して(ステップS406)、上述したステップS350の処理に戻る。   Next, the printer 30 determines whether or not the encrypted client random number has been decrypted in step S400 and the client random number has been acquired (step S404). If the encrypted client random number cannot be decrypted (step S404: No), an unbreakable notification is sent to the print client 20 indicating that the encrypted client random number cannot be decrypted because the printer 30 has been moved. (Step S406), it returns to the process of step S350 mentioned above.

一方、暗号化クライアント乱数の復号ができた場合(ステップS404:Yes)には、プリンタ30は、印刷クライアント20にクライアント公開鍵の送信を要求するクライアント公開鍵取得要求を送信する(ステップS408)。続いて、プリンタ30は、印刷クライアント20からクライアント公開鍵を受信したかどうかを判断する(ステップS410)。クライアント公開鍵を受信していない場合(ステップS410:No)には、このステップS410の処理を繰り返して待機する。   On the other hand, if the encrypted client random number can be decrypted (step S404: Yes), the printer 30 transmits a client public key acquisition request for requesting transmission of the client public key to the print client 20 (step S408). Subsequently, the printer 30 determines whether a client public key is received from the print client 20 (step S410). If the client public key has not been received (step S410: No), the process of step S410 is repeated and the process waits.

一方、クライアント公開鍵を受信した場合(ステップS410:Yes)には、プリンタ30は乱数を生成し、これをプリンタ乱数とする(ステップS412)。本実施形態においては、CPU40がソフトウェア的に乱数を生成する。   On the other hand, when the client public key has been received (step S410: Yes), the printer 30 generates a random number and sets this as a printer random number (step S412). In the present embodiment, the CPU 40 generates a random number in software.

次に、プリンタ30は、ステップS410で受信したクライアント公開鍵を用いて、ステップS412で生成したプリンタ乱数を暗号化し、暗号化プリンタ乱数を生成する(ステップS414)。そして、この暗号化プリンタ乱数を印刷クライアント20に送信する(ステップS416)。   Next, the printer 30 encrypts the printer random number generated in step S412 using the client public key received in step S410, and generates an encrypted printer random number (step S414). Then, this encrypted printer random number is transmitted to the print client 20 (step S416).

次に、図16に示すように、プリンタ30は、印刷クライアント20から解読不能通知を受信したかどうかを判断する(ステップS450)。この解読不能通知を受信した場合(ステップS450:Yes)には、プリンタ30は、上述したステップS350の処理に戻る。   Next, as illustrated in FIG. 16, the printer 30 determines whether or not an undecipherable notification is received from the print client 20 (step S450). If this undecipherable notification is received (step S450: Yes), the printer 30 returns to the process of step S350 described above.

一方、ステップS450で解読不能通知を受信していない場合(ステップS450:No)には、印刷クライアント20から暗号化印刷データを受信したかどうかを判断する(ステップS452)。暗号化印刷データを受信していない場合(ステップS452:No)には、上述したステップS450からを繰り返す。   On the other hand, if an unbreakable notification has not been received in step S450 (step S450: No), it is determined whether encrypted print data has been received from the print client 20 (step S452). When the encrypted print data has not been received (step S452: No), the above-described step S450 is repeated.

一方、暗号化印刷データを受信した場合(ステップS452:Yes)には、ステップS400で取得したクライアント乱数と、ステップS412で生成したプリンタ乱数とを用いて、1つの変数を生成する(ステップS454)。このステップS454における変数の生成手法は、上述したステップS268における変数の生成手法と同じである必要がある。このため、ここで生成される変数は、ステップS268で生成される変数と同じになる。   On the other hand, when encrypted print data is received (step S452: Yes), one variable is generated using the client random number acquired in step S400 and the printer random number generated in step S412 (step S454). . The variable generation method in step S454 needs to be the same as the variable generation method in step S268 described above. For this reason, the variable produced | generated here becomes the same as the variable produced | generated by step S268.

次に、プリンタ30は、ステップS454で生成した変数を用いて、共通鍵を生成する(ステップS456)。このステップS456で生成される共通鍵は、ステップS300で生成される共通鍵と同じになる。なぜなら、共通鍵を生成する際に使用する変数が、ステップS300と同じだからである。   Next, the printer 30 generates a common key using the variable generated in step S454 (step S456). The common key generated in step S456 is the same as the common key generated in step S300. This is because the variables used when generating the common key are the same as those in step S300.

次に、プリンタ30は、この共通鍵を用いて、受信した暗号化印刷データを復号し、印刷データを取得する(ステップS458)。続いて、プリンタ30は、暗号化印刷データの復号ができたかどうかを判断する(ステップS459)。暗号化印刷データの復号ができなかった場合(ステップS459:No)には、プリンタ30は解読不能通知を印刷クライアント20に送信し(ステップS470)、上述したステップS350の処理に戻る。   Next, the printer 30 uses the common key to decrypt the received encrypted print data and obtain the print data (step S458). Subsequently, the printer 30 determines whether or not the encrypted print data has been decrypted (step S459). If the encrypted print data could not be decrypted (step S459: No), the printer 30 sends a decryption notification to the print client 20 (step S470), and returns to the process of step S350 described above.

一方、暗号化印刷データの復号ができた場合(ステップS459:Yes)には、プリンタ30は、得られた印刷データに基づいて、印刷エンジン52を駆動した印刷を実行する(ステップS460)。具体的には、印刷データの言語解釈を行い、印刷エンジン52に適合した印刷要求データを生成する。そして、この印刷要求データを印刷エンジン52に送信することにより、印刷エンジン52で印刷用紙等に印刷が行われる。   On the other hand, if the encrypted print data can be decrypted (step S459: Yes), the printer 30 executes printing with the print engine 52 driven based on the obtained print data (step S460). Specifically, the print data is interpreted in language, and print request data suitable for the print engine 52 is generated. Then, by transmitting this print request data to the print engine 52, the print engine 52 performs printing on a print sheet or the like.

次に、プリンタ30は、ステップS456で生成した共通鍵を破棄する(ステップS462)。続いて、プリンタ30は、ステップS400で取得したクライアント乱数と、ステップS412で生成したプリンタ乱数と、ステップS456で生成した変数を破棄する(ステップS464)。続いて、プリンタ30は、印刷が正常に完了した旨の印刷完了通知を印刷クライアント20に送信する(ステップS466)。そして、上述したステップS350の処理に戻る。   Next, the printer 30 discards the common key generated in step S456 (step S462). Subsequently, the printer 30 discards the client random number acquired in step S400, the printer random number generated in step S412 and the variable generated in step S456 (step S464). Subsequently, the printer 30 transmits a print completion notification indicating that printing has been normally completed to the print client 20 (step S466). And it returns to the process of step S350 mentioned above.

図17は、上述した各処理をハードウェアにより実現した場合の構成を示す機能ブロック図である。この図17に示すように、プリンタ30を設置する際に、プリンタ30の設置されている場所を特定するためのプリンタ位置情報を位置検出部54から取得し、これを第1プリンタ位置情報とし、プリンタ公開鍵生成部100は、この第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する。そして、プリンタ公開鍵生成部100で生成したプリンタ公開鍵を、プリンタ公開鍵保持部102に保持させる。   FIG. 17 is a functional block diagram showing a configuration when the above-described processes are realized by hardware. As shown in FIG. 17, when the printer 30 is installed, printer position information for specifying the place where the printer 30 is installed is acquired from the position detection unit 54, and this is used as the first printer position information. The printer public key generation unit 100 generates a printer public key using a passphrase including at least the first printer position information. Then, the printer public key generated by the printer public key generation unit 100 is held in the printer public key holding unit 102.

一方、印刷クライアント20を設置する際に、印刷クライアント20の設置されている場所を特定するためのクライアント位置情報を位置検出部77から取得し、これを第1クライアント位置情報とし、クライアント公開鍵生成部220は、この第1クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵を生成する。そして、クライアント公開鍵生成部220で生成したクライアント公開鍵を、クライアント公開鍵保持部222に保持させる。   On the other hand, when the print client 20 is installed, client position information for specifying the place where the print client 20 is installed is acquired from the position detection unit 77, and this is used as the first client position information to generate a client public key. The unit 220 generates a client public key using a passphrase including at least the first client position information. Then, the client public key generation unit 220 holds the client public key in the client public key holding unit 222.

そして、本実施形態においては、印刷クライアント20は、ユーザから印刷を要求された場合に、プリンタ公開鍵送信要求送信部200が、プリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を、プリンタ30に送信する。プリンタ30では、印刷クライアント20から送信されたプリンタ公開鍵送信要求を、プリンタ公開鍵送信要求受信部106で受信する。このプリンタ公開鍵送信要求を受信した場合には、プリンタ30では、プリンタ公開鍵送信部106が、プリンタ公開鍵保持部102に保持されているプリンタ公開鍵を読み出して、印刷クライアント20に送信する。   In this embodiment, when the print client 20 is requested to print by the user, the printer public key transmission request transmission unit 200 sends a printer public key transmission request for requesting transmission of the printer public key to the printer 30. Send to. In the printer 30, the printer public key transmission request received from the print client 20 is received by the printer public key transmission request receiving unit 106. When the printer public key transmission request is received, in the printer 30, the printer public key transmission unit 106 reads out the printer public key held in the printer public key holding unit 102 and transmits it to the print client 20.

印刷クライアント20では、プリンタ公開鍵受信部202で、プリンタ30から送信されたプリンタ公開鍵を受信する。そして、クライアント乱数生成部204で、クライアント乱数を生成する。続いて、暗号化クライアント乱数生成部206で、プリンタ公開鍵受信部202で受信したプリンタ公開鍵を用いて、このクライアント乱数を暗号化することにより、暗号化クライアント乱数を生成する。続いて、暗号化クライアント乱数送信部208は、この暗号化クライアント乱数を、プリンタ30に送信する。   In the print client 20, the printer public key receiving unit 202 receives the printer public key transmitted from the printer 30. Then, the client random number generation unit 204 generates a client random number. Subsequently, the encrypted client random number generation unit 206 generates an encrypted client random number by encrypting the client random number using the printer public key received by the printer public key receiving unit 202. Subsequently, the encrypted client random number transmission unit 208 transmits the encrypted client random number to the printer 30.

プリンタ30の暗号化クライアント乱数受信部110では、印刷クライアント20から送信された暗号化クライアント乱数を受信する。また、プリンタ30では、位置検出部54からプリンタ位置情報を取得し、これを第2プリンタ位置情報とし、プリンタ秘密鍵生成部112は、この第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する。そして、クライアント乱数取得部114は、プリンタ秘密鍵生成部112で生成したプリンタ秘密鍵を用いて、暗号化クライアント乱数を復号して、クライアント乱数を取得する。   The encrypted client random number receiving unit 110 of the printer 30 receives the encrypted client random number transmitted from the print client 20. Further, in the printer 30, the printer position information is acquired from the position detection unit 54, and this is used as the second printer position information. The printer secret key generation unit 112 uses the passphrase including at least the second printer position information, Generate a printer private key. Then, the client random number acquisition unit 114 decrypts the encrypted client random number using the printer secret key generated by the printer secret key generation unit 112 and acquires the client random number.

また、プリンタ30のクライアント公開鍵送信要求送信部120は、印刷クライアント20に、クライアント公開鍵の送信を要求するクライアント公開鍵送信要求を送信する。このクライアント公開鍵送信要求は、印刷クライアント20のクライアント公開鍵送信要求受信部224で受信される。このクライアント公開鍵送信要求を受信した場合、印刷クライアント20のクライアント公開鍵送信部226は、クライアント公開鍵保持部222から、公開鍵を取得して、プリンタ30に送信する。   The client public key transmission request transmission unit 120 of the printer 30 transmits a client public key transmission request for requesting transmission of the client public key to the print client 20. This client public key transmission request is received by the client public key transmission request receiving unit 224 of the print client 20. When the client public key transmission request is received, the client public key transmission unit 226 of the print client 20 acquires the public key from the client public key holding unit 222 and transmits it to the printer 30.

印刷クライアント20から送信されたクライアント公開鍵は、プリンタ30のクライアント公開鍵受信部122で受信される。クライアント公開鍵を受信した場合、プリンタ30のプリンタ乱数生成部124は、プリンタ乱数を生成する。そして、暗号化プリンタ乱数生成部126は、このプリンタ乱数を、クライアント公開鍵を用いて暗号化し、暗号化プリンタ乱数を生成する。続いて、暗号化プリンタ乱数送信部128は、この生成した暗号化プリンタ乱数を、印刷クライアント20に送信する。   The client public key transmitted from the print client 20 is received by the client public key receiving unit 122 of the printer 30. When the client public key is received, the printer random number generation unit 124 of the printer 30 generates a printer random number. Then, the encrypted printer random number generation unit 126 encrypts the printer random number using the client public key, and generates an encrypted printer random number. Subsequently, the encrypted printer random number transmission unit 128 transmits the generated encrypted printer random number to the print client 20.

プリンタ30から送信された暗号化プリンタ乱数は、暗号化プリンタ乱数受信部240で受信される。この暗号化プリンタ乱数を受信した印刷クライアント20では、クライアント秘密鍵生成部242が、位置検出部からその時点のクライアント位置情報を取得して、これを第2クライアント位置情報とし、この第2クライアント位置情報を少なくとも含むパスフレーズを用いてクライアント秘密鍵を生成する。プリンタ乱数取得部244は、この生成したクライアント秘密鍵を用いて、暗号化プリンタ乱数を復号し、プリンタ乱数を取得する。そして、共通鍵生成部246は、クライアント乱数生成部204で生成したクライアント乱数と、プリンタ乱数取得部244で取得したプリンタ乱数とを用いて、1つの共通鍵を生成する。   The encrypted printer random number transmitted from the printer 30 is received by the encrypted printer random number receiving unit 240. In the print client 20 that has received the encrypted printer random number, the client secret key generation unit 242 acquires the current client location information from the location detection unit, and uses this as the second client location information. A client secret key is generated using a passphrase including at least information. The printer random number acquisition unit 244 uses the generated client private key to decrypt the encrypted printer random number and acquire the printer random number. Then, the common key generation unit 246 generates one common key using the client random number generated by the client random number generation unit 204 and the printer random number acquired by the printer random number acquisition unit 244.

次に、印刷クライアント20は、印刷データ生成部260で印刷データを生成する。続いて、暗号化印刷データ生成部262は、共通鍵を用いて、この印刷データを暗号化し、暗号化印刷データを生成する。そして、暗号化印刷データ送信部264は、この暗号化印刷データを、プリンタ30に送信する。   Next, the print client 20 generates print data with the print data generation unit 260. Subsequently, the encrypted print data generation unit 262 encrypts the print data using the common key, and generates encrypted print data. Then, the encrypted print data transmission unit 264 transmits this encrypted print data to the printer 30.

印刷クライアント20から送信された暗号化印刷データは、プリンタ30の暗号化印刷データ受信部130で受信される。また、共通鍵取得部132では、プリンタ乱数生成部124で生成したプリンタ乱数と、クライアント乱数取得部114で取得したクライアント乱数とを用いて、共通鍵を生成する。そして、印刷データ取得部134では、この共通鍵を用いて、暗号化印刷データを復号し、印刷データを取得し、印刷実行部136では、この印刷データに基づいて印刷を実行する。   The encrypted print data transmitted from the print client 20 is received by the encrypted print data receiving unit 130 of the printer 30. The common key acquisition unit 132 generates a common key using the printer random number generated by the printer random number generation unit 124 and the client random number acquired by the client random number acquisition unit 114. Then, the print data acquisition unit 134 uses this common key to decrypt the encrypted print data to acquire the print data, and the print execution unit 136 executes printing based on the print data.

以上のように、本実施形態に係る印刷システムによれば、印刷クライアント20はクライアント公開鍵を生成した場所でのみ正常な印刷要求をすることができ、プリンタ30はプリンタ公開鍵を生成した場所でのみ正常な印刷を行うことができる。このため、印刷クライアント20とプリンタ30の使用できる場所を制限することができる。   As described above, according to the printing system according to the present embodiment, the print client 20 can make a normal print request only at the location where the client public key is generated, and the printer 30 is where the printer public key is generated. Only normal printing can be done. For this reason, the place where the print client 20 and the printer 30 can be used can be restricted.

すなわち、本実施形態におけるプリンタ30では、このプリンタ30がプリンタ公開鍵を生成した場所と異なる場所に移動された場合には、印刷クライアント20から送信された暗号化クライアント乱数を正しく復号できないので、正しいクライアント乱数を取得することができない。このため、プリンタ30は正しい共通鍵を生成できないのである。   That is, in the printer 30 according to the present embodiment, when the printer 30 is moved to a location different from the location where the printer public key is generated, the encrypted client random number transmitted from the print client 20 cannot be correctly decrypted. Unable to get client random number. For this reason, the printer 30 cannot generate a correct common key.

一方、本実施形態における印刷クライアント20では、この印刷クライアント20がクライアント公開鍵を生成した場所と異なる場所に移動された場合には、プリンタ30から送信された暗号化プリンタ乱数を正しく復号できないので、正しいプリンタ乱数を取得することができない。このため、印刷クライアント20は正しい共通鍵を生成できないのである。   On the other hand, in the print client 20 according to the present embodiment, when the print client 20 is moved to a location different from the location where the client public key is generated, the encrypted printer random number transmitted from the printer 30 cannot be correctly decrypted. The correct printer random number cannot be obtained. For this reason, the print client 20 cannot generate a correct common key.

しかも、本実施形態においては、印刷データは共通鍵を用いて暗号化されている。一般に、公開鍵暗号法による秘密鍵でデータを復号する速度よりも、共通鍵暗号法による共通鍵でデータを復号する速度の方が、1000倍程度速いと言われている。このため、データ量の大きい印刷データを、共通鍵を用いて迅速に復号することができるようになる。   Moreover, in the present embodiment, the print data is encrypted using a common key. In general, it is said that the speed of decrypting data with a common key using a common key cryptosystem is about 1000 times faster than the speed of decrypting data with a secret key based on a public key cryptosystem. For this reason, print data with a large amount of data can be quickly decrypted using the common key.

また、これに伴って、本実施形態に係る印刷システムによれば、印刷クライアント20は、暗号化して送信した暗号化印刷データの印刷をできるプリンタの位置を、実質的に制限することができるので、印刷クライアント20のユーザが意図していない位置にあるプリンタで印刷が行われしまうのを回避することができる。   Accordingly, according to the printing system according to the present embodiment, the print client 20 can substantially limit the position of the printer that can print the encrypted print data that has been encrypted and transmitted. Thus, it is possible to avoid printing by a printer in a position not intended by the user of the print client 20.

なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態においては、プリンタ位置情報に加えて、機器固有情報をパスフレーズに用いたが、機器固有情報は必ずしも必要なものではない。   In addition, this invention is not limited to the said embodiment, A various deformation | transformation is possible. For example, in the above-described embodiment, the device unique information is used as the passphrase in addition to the printer position information, but the device unique information is not necessarily required.

また、使用できる位置を制限するデータ受信装置としてプリンタを例示して説明したが、本発明はプリンタに限定されるものではない。さらに、データ送信装置も、印刷クライアントに限定されるものではない。   Further, although the printer has been described as an example of the data receiving device that restricts the usable position, the present invention is not limited to the printer. Further, the data transmission apparatus is not limited to the print client.

例えば、データ送受信システムにおけるデータ送信装置が画像撮影用のデジタルカメラであり、データ受信装置がデジタルカメラで撮影した画像データを蓄積するデータサーバであってもよい。この場合、デジタルカメラから送信される乱数はデータサーバから受信した公開鍵を用いて暗号化されており、この暗号化された乱数を受信したデータサーバでは、上述した手法により乱数を取得して、共通鍵を取得する。また、データサーバから送信される乱数はデジタルカメラから受信した公開鍵を用いて暗号化されており、この暗号化された乱数を受信したデジタルカメラでは、上述した手法により乱数を取得して、共通鍵を取得する。そして、デジタルカメラから送信されるデータは、共通鍵を用いて暗号化されており、この暗号化されたデータを受信したデータサーバは、取得した共通鍵を用いてこれを復号し、データを取得する。そして、データサーバは、データの復号できた場合には、そのデータを蓄積することとなる。   For example, the data transmission device in the data transmission / reception system may be a digital camera for photographing an image, and the data reception device may be a data server that stores image data photographed by the digital camera. In this case, the random number transmitted from the digital camera is encrypted using the public key received from the data server, and the data server that has received the encrypted random number acquires the random number by the above-described method, Obtain a common key. In addition, the random number transmitted from the data server is encrypted using the public key received from the digital camera, and the digital camera that has received the encrypted random number acquires the random number by the above-described method, and Get the key. The data transmitted from the digital camera is encrypted using the common key, and the data server that receives the encrypted data decrypts the data using the acquired common key and obtains the data. To do. When the data server can decrypt the data, the data server accumulates the data.

また、上述した実施形態では、プリンタ30の印刷媒体が印刷用紙である場合を例に説明したが、印刷媒体はこれに限るものではなく、例えば、OHPシート等の他の印刷媒体であっても本発明を適用することができる。   In the above-described embodiment, the case where the print medium of the printer 30 is a print sheet has been described as an example. However, the print medium is not limited to this, and may be another print medium such as an OHP sheet. The present invention can be applied.

さらに、上述の実施形態で説明した各処理については、これら各処理を実行するためのプログラムをフレキシブルディスク、CD−ROM(Compact Disc-Read Only Memory)、ROM、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、このプログラムが記録された記録媒体を印刷クライアント20及び/又はプリンタ30に読み込ませ、実行させることにより、上述した実施形態を実現することができる。   Further, for each process described in the above embodiment, a program for executing each process is recorded on a recording medium such as a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), a ROM, or a memory card. Thus, it can be distributed in the form of a recording medium. In this case, the above-described embodiment can be realized by causing the print client 20 and / or the printer 30 to read and execute the recording medium on which the program is recorded.

また、印刷クライアント20及び/又はプリンタ30は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、印刷クライアント20及び/又はプリンタ30の備える他のプログラムを活用し、記録媒体には印刷クライアント20及び/又はプリンタ30が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を記録するようにしてもよい。   The print client 20 and / or the printer 30 may include other programs such as an operating system and another application program. In this case, other programs provided in the print client 20 and / or the printer 30 are utilized, and processing equivalent to that in the above-described embodiment is realized from the programs provided in the print client 20 and / or the printer 30 on the recording medium. An instruction that calls the program may be recorded.

さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、印刷クライアント20及び/又はプリンタ30に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。   Furthermore, such a program can be distributed not as a recording medium but as a carrier wave through a network. The program transmitted in the form of a carrier wave on the network is taken into the print client 20 and / or the printer 30, and the above-described embodiment can be realized by executing this program.

また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ印刷クライアント20及び/又はプリンタ30は、そのプログラムの復号や伸張を行った上で、実行する必要がある。   Also, when a program is recorded on a recording medium or transmitted as a carrier wave on a network, the program may be encrypted or compressed. In this case, the print client 20 and / or the printer 30 that read the program from the recording medium or the carrier wave needs to execute the program after decoding or decompressing the program.

本発明の一実施形態に係る印刷システムにおける共通鍵、公開鍵、及び、秘密鍵の用い方を説明する図。FIG. 3 is a diagram for explaining how to use a common key, a public key, and a secret key in the printing system according to the embodiment of the present invention. 本実施形態に係る印刷システムの全体構成を説明するブロック図。1 is a block diagram illustrating an overall configuration of a printing system according to an embodiment. 本実施形態に係るプリンタのハードウェア構成を説明するブロック図。FIG. 2 is a block diagram illustrating a hardware configuration of the printer according to the embodiment. プリンタのハードウェア構成の変形例を説明するブロック図。FIG. 9 is a block diagram for explaining a modified example of the hardware configuration of the printer. 本実施形態に係る印刷クライアントのハードウェア構成を説明する図。FIG. 3 is a diagram illustrating a hardware configuration of a print client according to the present embodiment. 印刷クライアントのハードウェア構成の変形例を説明する図。The figure explaining the modification of the hardware constitutions of a print client. 本実施形態におけるプリンタ公開鍵生成処理を説明するフローチャートを示す図。FIG. 5 is a flowchart illustrating printer public key generation processing according to the present embodiment. 本実施形態におけるプリンタ公開鍵格納部の構成の一例を示す図。FIG. 3 is a diagram illustrating an example of a configuration of a printer public key storage unit according to the present embodiment. 本実施形態におけるクライアント公開鍵生成処理を説明するフローチャートを示す図。The figure which shows the flowchart explaining the client public key production | generation process in this embodiment. 本実施形態におけるクライアント公開鍵格納部の構成の一例を示す図。The figure which shows an example of a structure of the client public key storage part in this embodiment. 本実施形態における印刷要求処理を説明するフローチャートを示す図(その1)。FIG. 3 is a first flowchart illustrating a print request process according to the present embodiment. 本実施形態における印刷要求処理を説明するフローチャートを示す図(その2)。FIG. 9 is a second flowchart illustrating a print request process according to the present embodiment. 本実施形態における印刷要求処理を説明するフローチャートを示す図(その3)。FIG. 10 is a third flowchart illustrating a print request process according to the present embodiment. 本実施形態における印刷実行処理を説明するフローチャートを示す図(その1)。FIG. 5 is a first flowchart illustrating a flowchart for explaining print execution processing according to the present embodiment; 本実施形態における印刷実行処理を説明するフローチャートを示す図(その2)。FIG. 6 is a second flowchart illustrating a print execution process according to the present embodiment. 本実施形態における印刷実行処理を説明するフローチャートを示す図(その3)。FIG. 6 is a third flowchart illustrating a print execution process according to the present embodiment. 本実施形態に係る印刷システムの処理をハードウェアにより実現した場合を説明する機能ブロック図。The functional block diagram explaining the case where the processing of the printing system concerning this embodiment is realized by hardware.

符号の説明Explanation of symbols

10 ネットワーク
20 印刷クライアント
30 プリンタ
40 CPU
42 RAM
44 ROM
46 内部バス
48、50 インターフェース
52 印刷エンジン
54 位置検出部
56 EEPROM
60 コンピュータ本体
62 ディスプレイ
64 CPU
66 RAM
68 ROM
70 内部バス
72、74、78 インターフェース
76 ハードディスク
77 位置検出部
10 Network 20 Print Client 30 Printer 40 CPU
42 RAM
44 ROM
46 Internal bus 48, 50 Interface 52 Print engine 54 Position detector 56 EEPROM
60 Computer body 62 Display 64 CPU
66 RAM
68 ROM
70 Internal buses 72, 74, 78 Interface 76 Hard disk 77 Position detector

Claims (7)

印刷データに基づいて印刷を行うプリンタであって、
リンタ位置情報取得手段が検出した位置情報を、当該プリンタの設置されている場所を特定するためのプリンタ位置情報として取得し、これを第1プリンタ位置情報とする、第1プリンタ位置情報取得手段と、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、第1のプリンタ公開鍵と第1のプリンタ秘密鍵とを生成するが、前記第1のプリンタ秘密鍵は破棄する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成した前記第1のプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されている前記第1のプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
印刷要求が発生した前記印刷クライアントから、前記第1のプリンタ公開鍵を用いてクライアント乱数を暗号化することにより生成された暗号化クライアント乱数を受信する、暗号化クライアント乱数受信手段と、
暗号化クライアント乱数受信手段が前記暗号化クライアント乱数を受信した後に、前記プリンタ位置情報取得手段が検出した位置情報を、前記プリンタ位置情報として取得し、これを第2プリンタ位置情報とする、第2プリンタ位置情報取得手段と、
前記プリンタ公開鍵生成手段と同一の手法により、前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、第2のプリンタ公開鍵と第2のプリンタ秘密鍵とを生成するが、前記第2のプリンタ公開鍵は破棄する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵生成手段で生成された前記第2のプリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するとともに、前記第2のプリンタ秘密鍵は保持することなく破棄する、クライアント乱数取得手段と、
プリンタ乱数を生成する、プリンタ乱数生成手段と、
前記印刷クライアントから、クライアント公開鍵を受信する、クライアント公開鍵受信手段と、
前記クライアント公開鍵を用いて、前記プリンタ乱数を暗号化することにより、暗号化プリンタ乱数を生成する、暗号化プリンタ乱数生成手段と、
前記暗号化プリンタ乱数を前記印刷クライアントに送信する、暗号化プリンタ乱数送信手段と、
当該プリンタと前記印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
前記印刷クライアントから、前記送信した暗号化プリンタ乱数を復号することにより取得したプリンタ乱数と前記クライアント乱数とを用いて生成された共通鍵を用いて印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
前記印刷データ取得手段で前記暗号化印刷データを復号した後に、前記共通鍵生成手段で生成された前記共通鍵を破棄する、共通鍵破棄手段と、
を備えることを特徴とするプリンタ。
A printer that performs printing based on print data,
Position information printer position information acquiring unit detects, acquired as the printer position information for specifying a location which is installed in the printer, this is the first printer position information, the first printer position information acquiring means When,
A printer public key generating unit that generates a first printer public key and a first printer private key using a passphrase including at least the first printer position information, but discards the first printer private key. When,
Printer public key holding means for holding the first printer public key generated by the printer public key generation means;
A printer public key transmitting means for transmitting the first printer public key held in the printer public key holding means to the print client in response to a request from the print client;
An encrypted client random number receiving means for receiving an encrypted client random number generated by encrypting a client random number using the first printer public key from the print client in which a print request has occurred;
After the encrypted client random number receiving means receives the encrypted client random number, the position information detected by the printer position information acquiring means is acquired as the printer position information , and this is used as second printer position information. Printer position information acquisition means;
The second printer public key and the second printer private key are generated by using the passphrase including at least the second printer position information by the same method as the printer public key generation unit. A printer private key generating means for discarding the printer public key; and
Using the second printer secret key generated by the printer secret key generation means, the encrypted client random number is decrypted to obtain a client random number, and the second printer secret key is not retained. A client random number acquisition means to be discarded;
A printer random number generating means for generating a printer random number;
A client public key receiving means for receiving a client public key from the print client;
Encrypted printer random number generation means for generating an encrypted printer random number by encrypting the printer random number using the client public key;
An encrypted printer random number transmission means for transmitting the encrypted printer random number to the print client;
A common key generating means for generating a common key using the printer random number and the client random number by a method defined in common between the printer and the print client;
Encryption generated by encrypting print data using a common key generated using a printer random number obtained by decrypting the transmitted encrypted printer random number from the print client and the client random number Encrypted print data receiving means for receiving print data;
Print data acquisition means for decrypting the encrypted print data and acquiring the print data using the common key;
A common key discarding unit for destroying the common key generated by the common key generating unit after decrypting the encrypted print data by the print data acquiring unit;
A printer comprising:
前記プリンタ公開鍵生成手段は、前記第1プリンタ位置情報に加えて、当該プリンタの固有の情報である機器固有情報を含むパスフレーズを用いて、前記第1のプリンタ公開鍵と前記第のプリンタ秘密鍵とを生成するとともに、
前記プリンタ秘密鍵生成手段も、前記第2プリンタ位置情報に加えて、前記機器固有情報を含むパスフレーズを用いて、前記第2のプリンタ公開鍵と前記第2のプリンタ秘密鍵とを生成する、
ことを特徴とする請求項1に記載のプリンタ。
The printer public key generation means uses the passphrase including device unique information that is unique information of the printer in addition to the first printer position information, and uses the first printer public key and the first printer. Generate a private key and
The printer secret key generation unit also generates the second printer public key and the second printer secret key using a passphrase including the device specific information in addition to the second printer position information.
The printer according to claim 1 .
印刷データに基づいて印刷を行うプリンタの制御方法であって、
リンタ位置情報取得手段が検出した位置情報を、当該プリンタの設置されている場所を特定するためのプリンタ位置情報として取得し、これを第1プリンタ位置情報とするステップと、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、第1のプリンタ公開鍵と第1のプリンタ秘密鍵とを生成するステップと、
前記第1のプリンタ公開鍵を、プリンタ公開鍵保持手段に保持させるステップと、
前記第1のプリンタ秘密鍵を、破棄するステップと、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されている前記第1のプリンタ公開鍵を印刷クライアントに送信するステップと、
印刷要求が発生した前記印刷クライアントから、前記第1のプリンタ公開鍵を用いてクライアント乱数を暗号化することにより生成された暗号化クライアント乱数を受信するステップと、
前記暗号化クライアント乱数を受信した後に、前記プリンタ位置情報取得手段が検出した位置情報を、前記プリンタ位置情報として取得し、これを第2プリンタ位置情報とするステップと、
前記第1のプリンタ公開鍵と前記第1のプリンタ秘密鍵の生成手法と同一の手法により、前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、第2のプリンタ公開鍵と第2のプリンタ秘密鍵とを生成するステップと、
前記第2のプリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するステップと、
前記第2のプリンタ公開鍵と前記第2のプリンタ秘密鍵とを破棄するステップと、
プリンタ乱数を生成するステップと、
前記印刷クライアントから、クライアント公開鍵を受信するステップと、
前記クライアント公開鍵を用いて、前記プリンタ乱数を暗号化することにより、暗号化プリンタ乱数を生成するステップと、
前記暗号化プリンタ乱数を前記印刷クライアントに送信するステップと、
当該プリンタと前記印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
前記印刷クライアントから、前記送信した暗号化プリンタ乱数を復号することにより取得したプリンタ乱数と前記クライアント乱数とを用いて生成された共通鍵を用いて印刷データを暗号化することにより生成された暗号化印刷データを受信するステップと、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得するステップと、
前記暗号化印刷データを復号した後に、前記共通鍵を破棄するステップと、
を備えることを特徴とするプリンタの制御方法。
A method for controlling a printer that performs printing based on print data,
A step of position information printer position information acquiring unit detects, acquired as the printer position information for specifying a location which is installed in the printer, to do this the first printer position information,
Generating a first printer public key and a first printer private key using a passphrase including at least the first printer position information;
Holding the first printer public key in a printer public key holding unit;
Destroying the first printer private key;
Transmitting the first printer public key held in the printer public key holding means to the print client in response to a request from the print client;
Receiving an encrypted client random number generated by encrypting a client random number using the first printer public key from the print client in which the print request has occurred;
After receiving the encrypted client random number, acquiring the position information detected by the printer position information acquisition means as the printer position information, and using this as the second printer position information;
The second printer public key and the second printer can be obtained by using the passphrase including at least the second printer position information by the same method as the first printer public key and the first printer private key generation method. Generating a secret key;
Decrypting the encrypted client random number using the second printer private key to obtain a client random number;
Destroying the second printer public key and the second printer private key;
Generating a printer random number;
Receiving a client public key from the print client;
Generating an encrypted printer random number by encrypting the printer random number using the client public key;
Sending the encrypted printer random number to the print client;
Generating a common key using the printer random number and the client random number by a method commonly defined between the printer and the print client;
Encryption generated by encrypting print data using a common key generated using a printer random number obtained by decrypting the transmitted encrypted printer random number from the print client and the client random number Receiving print data; and
Using the common key to decrypt the encrypted print data to obtain print data;
Destroying the common key after decrypting the encrypted print data;
A printer control method comprising:
印刷データを生成する印刷クライアントであって、
クライアント位置情報取得手段が検出した位置情報を、当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報として取得し、これを第1クライアント位置情報とする、第1クライアント位置情報取得手段と、
前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、第1のクライアント公開鍵と第1のクライアント秘密鍵とを生成するが、第1のクライアント秘密鍵は破棄する、クライアント公開鍵生成手段と、
前記クライアント公開鍵生成手段で生成した前記第1のクライアント公開鍵を保持する、クライアント公開鍵保持手段と、
プリンタからの要求に応じて、前記クライアント公開鍵保持手段に保持されている前記第1のクライアント公開鍵をプリンタに送信する、クライアント公開鍵送信手段と、
当該印刷クライアントに印刷要求が発生した後に、前記プリンタから、前記第1のクライアント公開鍵を用いてプリンタ乱数を暗号化することにより生成された暗号化プリンタ乱数を取得する、暗号化プリンタ乱数取得手段と、
前記暗号化プリンタ乱数取得手段が前記暗号化プリンタ乱数を取得した後に、前記クライアント位置情報取得手段が検出した位置情報を、前記クライアント位置情報として取得し、これを第2クライアント位置情報とする、第2クライアント位置情報取得手段と、
前記クライアント公開鍵生成手段と同一の手法により、前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、第2のクライアント公開鍵と第2のクライアント秘密鍵とを生成するとともに、前記第2のクライアント公開鍵は破棄する、クライアント秘密鍵生成手段と、
前記クライアント秘密鍵生成手段で生成された前記第2のクライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得するとともに、前記第2のクライアント秘密鍵は保持することなく破棄する、プリンタ乱数取得手段と、
クライアント乱数を生成する、クライアント乱数生成手段と、
前記プリンタから、プリンタ公開鍵を受信する、プリンタ公開鍵受信手段と、
前記プリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成する、暗号化クライアント乱数生成手段と、
前記暗号化クライアント乱数を前記プリンタに送信する、暗号化クライアント乱数送信手段と、
前記プリンタと当該印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
前記共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成する、暗号化印刷データ生成手段と、
前記プリンタに前記暗号化印刷データを送信する、暗号化印刷データ送信手段と、
前記暗号化印刷データ生成手段で前記印刷データを暗号化した後に、前記共通鍵生成手段で生成された前記共通鍵を破棄する、共通鍵破棄手段と、
を備えることを特徴とする印刷クライアント。
A print client that generates print data,
First client position information acquisition means for acquiring position information detected by the client position information acquisition means as client position information for specifying the location where the print client is installed, and using this as the first client position information When,
A client public key generating means for generating a first client public key and a first client private key using a passphrase including at least the first client location information, but discarding the first client private key; ,
Client public key holding means for holding the first client public key generated by the client public key generating means;
In response to a request from the printer, a client public key transmitting unit that transmits the first client public key held in the client public key holding unit to the printer;
Encrypted printer random number acquisition means for acquiring, from the printer, an encrypted printer random number generated by encrypting a printer random number using the first client public key after a print request is generated in the print client When,
After the encrypted printer random number acquisition means acquires the encrypted printer random number, the position information detected by the client position information acquisition means is acquired as the client position information, and this is used as second client position information. 2 client location information acquisition means;
A second client public key and a second client private key are generated using a passphrase including at least the second client position information by the same method as the client public key generation unit, and the second client public key is generated. A client public key generation means for destroying the client public key; and
Using the second client secret key generated by the client secret key generation means, the encrypted printer random number is decrypted to obtain a printer random number, and the second client secret key is not retained. A printer random number acquisition means to be discarded;
A client random number generating means for generating a client random number;
A printer public key receiving means for receiving a printer public key from the printer;
An encrypted client random number generating means for generating an encrypted client random number by encrypting the client random number using the printer public key;
An encrypted client random number transmitting means for transmitting the encrypted client random number to the printer;
A common key generating means for generating a common key using the printer random number and the client random number by a method defined in common between the printer and the print client;
Encrypted print data generation means for generating encrypted print data by encrypting the print data using the common key;
Encrypted print data transmission means for transmitting the encrypted print data to the printer;
A common key discarding unit for destroying the common key generated by the common key generating unit after encrypting the print data by the encrypted print data generating unit;
A print client comprising:
印刷データを生成する印刷クライアントの制御方法であって、
クライアント位置情報取得手段が検出した位置情報を、当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報として取得し、これを第1クライアント位置情報とするステップと、
前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、第1のクライアント公開鍵と第1のクライアント秘密鍵とを生成するステップと、
前記第1のクライアント公開鍵を、クライアント公開鍵保持手段に保持させるステップと、
前記第1のクライアント秘密鍵を、破棄するステップと、
プリンタからの要求に応じて、前記クライアント公開鍵保持手段に保持されている前記第1のクライアント公開鍵をプリンタに送信するステップと、
当該印刷クライアントに印刷要求が発生した後に、前記プリンタから、前記第1のクライアント公開鍵を用いてプリンタ乱数を暗号化することにより生成された暗号化プリンタ乱数を取得するステップと、
前記暗号化プリンタ乱数を取得した後に、前記クライアント位置情報取得手段が検出した位置情報を、前記クライアント位置情報として取得し、これを第2クライアント位置情報とするステップと、
前記第1のクライアント公開鍵と前記第1のクライアント秘密鍵の生成手法と同一の手法により、前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、第2のクライアント公開鍵と第2のクライアント秘密鍵とを生成するステップと、
前記第2のクライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得するステップと、
前記第2のクライアント公開鍵と前記第2のクライアント秘密鍵とを破棄するステップと、
クライアント乱数を生成するステップと、
前記プリンタから、プリンタ公開鍵を受信するステップと、
前記プリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成するステップと、
前記暗号化クライアント乱数を前記プリンタに送信するステップと、
前記プリンタと当該印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
前記共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成するステップと、
前記プリンタに前記暗号化印刷データを送信するステップと、
前記印刷データを暗号化した後に、前記共通鍵を破棄するステップと、
を備えることを特徴とする印刷クライアントの制御方法。
A method of controlling a print client that generates print data,
Acquiring the position information detected by the client position information acquisition means as client position information for specifying the location where the print client is installed, and using this as the first client position information;
Generating a first client public key and a first client private key using a passphrase including at least the first client location information;
Causing the client public key holding means to hold the first client public key;
Destroying the first client private key;
Transmitting the first client public key held in the client public key holding means to the printer in response to a request from the printer;
Obtaining an encrypted printer random number generated by encrypting a printer random number from the printer using the first client public key after a print request is generated in the print client;
After acquiring the encrypted printer random number, acquiring the position information detected by the client position information acquisition means as the client position information, and using this as the second client position information;
The second client public key and the second client using a passphrase including at least the second client location information by the same technique as the first client public key and the first client secret key generation technique Generating a secret key;
Decrypting the encrypted printer random number using the second client private key to obtain a printer random number;
Destroying the second client public key and the second client private key;
Generating a client random number;
Receiving a printer public key from the printer;
Generating an encrypted client random number by encrypting the client random number using the printer public key;
Sending the encrypted client random number to the printer;
Generating a common key using the printer random number and the client random number by a method defined in common between the printer and the print client;
Generating encrypted print data by encrypting the print data using the common key;
Transmitting the encrypted print data to the printer;
Destroying the common key after encrypting the print data;
A control method for a print client, comprising:
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムであって、
前記プリンタは、
リンタ位置情報取得手段が検出した位置情報を、当該プリンタの設置されている場所を特定するためのプリンタ位置情報として取得し、これを第1プリンタ位置情報とする、第1プリンタ位置情報取得手段と、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、第1のプリンタ公開鍵と第1のプリンタ秘密鍵とを生成するが、前記第1のプリンタ秘密鍵は破棄する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成した前記第1のプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
を備えており、
前記印刷クライアントは、
クライアント位置情報取得手段が検出した位置情報を、当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報として取得し、これを第1クライアント位置情報とする、第1クライアント位置情報取得手段と、
前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、第1のクライアント公開鍵と第1のクライアント秘密鍵とを生成するが、第1のクライアント秘密鍵は破棄する、クライアント公開鍵生成手段と、
前記クライアント公開鍵生成手段で生成した前記第1のクライアント公開鍵を保持する、クライアント公開鍵保持手段と、
前記第1のプリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を、前記プリンタに送信する、プリンタ公開鍵送信要求送信手段を備えており、
前記プリンタは、さらに、
前記印刷クライアントから送信された前記プリンタ公開鍵送信要求を受信する、プリンタ公開鍵送信要求受信手段と、
前記プリンタ公開鍵送信要求を受信した場合に、前記プリンタ公開鍵保持手段に保持されている前記第1のプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
を備えており、
前記印刷クライアントは、さらに、
前記プリンタから送信された前記第1のプリンタ公開鍵を受信する、プリンタ公開鍵受信手段と、
クライアント乱数を生成する、クライアント乱数生成手段と、
前記第1のプリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成する、暗号化クライアント乱数生成手段と、
当該印刷クライアントに印刷要求が発生した後に、前記暗号化クライアント乱数を、前記プリンタに送信する、暗号化クライアント乱数送信手段と、
を備えており、
前記プリンタは、さらに、
前記印刷クライアントから送信された前記暗号化クライアント乱数を受信する、暗号化クライアント乱数受信手段と、
前記暗号化クライアント乱数受信手段が前記暗号化クライアント乱数を受信した後に、前記プリンタ位置情報取得手段が検出した位置情報を、前記プリンタ位置情報として取得し、これを第2プリンタ位置情報とする、第2プリンタ位置情報取得手段と、
前記プリンタ公開鍵生成手段と同一の手法により、前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、第2のプリンタ公開鍵と第2のプリンタ秘密鍵とを生成するが、前記第2のプリンタ公開鍵は破棄する、プリンタ秘密鍵生成手段と、
前記第2のプリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するとともに、前記第2のプリンタ秘密鍵は保持することなく破棄する、クライアント乱数取得手段と、
プリンタ乱数を生成する、プリンタ乱数生成手段と、
前記印刷クライアントから、第1のクライアント公開鍵を受信する、クライアント公開鍵受信手段と、
前記第1のクライアント公開鍵を用いて、前記プリンタ乱数を暗号化することにより、暗号化プリンタ乱数を生成する、暗号化プリンタ乱数生成手段と、
前記暗号化プリンタ乱数を前記印刷クライアントに送信する、暗号化プリンタ乱数送信手段と、
当該プリンタと前記印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数生成手段で生成した前記プリンタ乱数と前記クライアント乱数取得手段で取得した前記クライアント乱数とを用いて、第1共通鍵を生成する、第1共通鍵生成手段と、
を備えており、
前記印刷クライアントは、さらに、
前記プリンタから、前記暗号化プリンタ乱数を受信する、暗号化プリンタ乱数受信手段と、
前記暗号化プリンタ乱数受信手段で前記暗号化プリンタ乱数を受信した後に、前記クライアント位置情報取得手段が検出した位置情報を、前記クライアント位置情報として取得し、これを第2クライアント位置情報とする、第2クライアント位置情報取得手段と、
前記クライアント公開鍵生成手段と同一の手法により、前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、第2のクライアント公開鍵と第2のクライアント秘密鍵とを生成するとともに、前記第2のクライアント公開鍵は破棄する、クライアント秘密鍵生成手段と、
前記クライアント秘密鍵生成手段で生成された前記第2のクライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得するとともに、前記第2のクライアント秘密鍵は保持することなく破棄する、プリンタ乱数取得手段と、
前記プリンタと当該印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数取得手段で取得した前記プリンタ乱数と前記クライアント乱数生成手段で生成した前記クライアント乱数とを用いて、第2共通鍵を生成する、第2共通鍵生成手段と、
前記第2共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成する、暗号化印刷データ生成手段と、
前記プリンタに前記暗号化印刷データを送信する、暗号化印刷データ送信手段と、
前記暗号化印刷データ生成手段で前記印刷データを暗号化した後に、前記第2共通鍵生成手段で生成された前記第2共通鍵を破棄する、第2共通鍵破棄手段と、
を備えており、
前記プリンタは、さらに、
前記印刷クライアントから、前記暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記第1共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
前記印刷データ取得手段で前記暗号化印刷データを復号した後に、前記第1共通鍵生成手段で生成された前記第1共通鍵を破棄する、第1共通鍵破棄手段と、
を備えることを特徴とする印刷システム。
A printing system having a printer that performs printing based on print data and a print client connected to the printer,
The printer is
Position information printer position information acquiring unit detects, acquired as the printer position information for specifying a location which is installed in the printer, this is the first printer position information, the first printer position information acquiring means When,
A printer public key generating unit that generates a first printer public key and a first printer private key using a passphrase including at least the first printer position information, but discards the first printer private key. When,
Printer public key holding means for holding the first printer public key generated by the printer public key generation means;
With
The print client
First client position information acquisition means for acquiring position information detected by the client position information acquisition means as client position information for specifying the location where the print client is installed, and using this as the first client position information When,
A client public key generating means for generating a first client public key and a first client private key using a passphrase including at least the first client location information, but discarding the first client private key; ,
Client public key holding means for holding the first client public key generated by the client public key generating means;
Printer public key transmission request transmission means for transmitting a printer public key transmission request for requesting transmission of the first printer public key to the printer;
The printer further includes:
A printer public key transmission request receiving means for receiving the printer public key transmission request transmitted from the print client;
A printer public key transmission unit that transmits the first printer public key held in the printer public key holding unit to a print client when the printer public key transmission request is received;
With
The print client further includes:
A printer public key receiving means for receiving the first printer public key transmitted from the printer;
A client random number generating means for generating a client random number;
An encrypted client random number generating means for generating an encrypted client random number by encrypting the client random number using the first printer public key;
An encrypted client random number transmission means for transmitting the encrypted client random number to the printer after a print request is generated in the print client;
With
The printer further includes:
An encrypted client random number receiving means for receiving the encrypted client random number transmitted from the print client;
After the encrypted client random number receiving means receives the encrypted client random number, the position information detected by the printer position information acquiring means is acquired as the printer position information, and this is used as second printer position information. 2 printer position information acquisition means;
The second printer public key and the second printer private key are generated by using the passphrase including at least the second printer position information by the same method as the printer public key generation unit. A printer private key generating means for discarding the printer public key; and
Client random number obtaining means for decrypting the encrypted client random number using the second printer private key to obtain a client random number and discarding the second printer private key without holding it;
A printer random number generating means for generating a printer random number;
Client public key receiving means for receiving a first client public key from the print client;
An encrypted printer random number generating means for generating an encrypted printer random number by encrypting the printer random number using the first client public key;
An encrypted printer random number transmission means for transmitting the encrypted printer random number to the print client;
A first common key using the printer random number generated by the printer random number generation means and the client random number acquired by the client random number acquisition means by a method defined in common between the printer and the print client. A first common key generating means for generating
With
The print client further includes:
An encrypted printer random number receiving means for receiving the encrypted printer random number from the printer;
After the encrypted printer random number receiving means receives the encrypted printer random number, the position information detected by the client position information acquiring means is acquired as the client position information, and this is used as second client position information. 2 client location information acquisition means;
A second client public key and a second client private key are generated using a passphrase including at least the second client position information by the same method as the client public key generation unit, and the second client public key is generated. A client public key generation means for destroying the client public key; and
Using the second client secret key generated by the client secret key generation means, the encrypted printer random number is decrypted to obtain a printer random number, and the second client secret key is not retained. A printer random number acquisition means to be discarded;
A second common key using the printer random number acquired by the printer random number acquisition means and the client random number generated by the client random number generation means by a method defined in common between the printer and the print client. A second common key generating means for generating
Encrypted print data generating means for generating encrypted print data by encrypting the print data using the second common key;
Encrypted print data transmission means for transmitting the encrypted print data to the printer;
A second common key discarding unit for discarding the second common key generated by the second common key generation unit after the print data is encrypted by the encrypted print data generation unit;
With
The printer further includes:
From the print client, it receives the encrypted print data, and the encrypted print data receiving means,
Print data acquisition means for decrypting the encrypted print data and acquiring print data using the first common key;
A first common key discarding unit for discarding the first common key generated by the first common key generation unit after decrypting the encrypted print data by the print data acquisition unit;
A printing system comprising:
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムの制御方法であって、
前記プリンタのプリンタ位置情報取得手段が検出した位置情報を、前記プリンタの設置されている場所を特定するためのプリンタ位置情報として取得し、これを第1プリンタ位置情報とするステップと、
前記プリンタにおいて、前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、第1のプリンタ公開鍵と第1のプリンタ秘密鍵とを生成するステップと、
成した前記第1のプリンタ公開鍵をプリンタ公開鍵保持手段に保持するステップと、
前記第1のプリンタ秘密鍵を破棄するステップと、
前記印刷クライアントのクライアント位置情報取得手段が検出した位置情報を、前記印刷クライアントの設置されている場所を特定するためのクライアント位置情報として取得し、これを第1クライアント位置情報とするステップと、
前記印刷クライアントにおいて、前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、第1のクライアント公開鍵と第1のクライアント秘密鍵とを生成するステップと、
生成した前記第1のクライアント公開鍵をクライアント公開鍵保持手段に保持するステップと、
前記第1のクライアント秘密鍵を破棄するステップと、
前記印刷クライアントから前記プリンタに、前記第1のプリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記プリンタ公開鍵送信要求を受信するステップと、
前記プリンタ公開鍵送信要求を受信した場合に、前記プリンタ公開鍵保持手段に保持されている前記第1のプリンタ公開鍵を、前記プリンタから前記印刷クライアントに送信するステップと、
前記印刷クライアントにおいて、前記プリンタから送信された前記第1のプリンタ公開鍵を受信するステップと、
前記印刷クライアントにおいて、クライアント乱数を生成するステップと、
前記印刷クライアントにおいて、前記第1のプリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成するステップと、
前記印刷クライアントに印刷要求が発生した後に、前記暗号化クライアント乱数を、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記暗号化クライアント乱数を受信するステップと、
前記暗号化クライアント乱数を受信した後に、前記プリンタ位置情報取得手段が検出した位置情報を、前記プリンタ位置情報として取得し、これを第2プリンタ位置情報とするステップと、
前記プリンタにおいて、前記第1のプリンタ公開鍵と前記第1のプリンタ秘密鍵の生成手法と同一の手法により、前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、第2のプリンタ公開鍵と第2のプリンタ秘密鍵とを生成するステップと、
前記プリンタにおいて、前記第2のプリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するステップと、
前記第2のプリンタ公開鍵と前記第2のプリンタ秘密鍵とを破棄するステップと、
前記プリンタにおいて、プリンタ乱数を生成するステップと、
前記プリンタにおいて、前記印刷クライアントから送信されたクライアント公開鍵を受信するステップと、
前記プリンタにおいて、前記クライアント公開鍵を用いて、前記プリンタ乱数を暗号化することにより、暗号化プリンタ乱数を生成するステップと、
前記暗号化プリンタ乱数を前記プリンタから前記印刷クライアントに送信するステップと、
前記プリンタにおいて、前記プリンタと前記印刷クライアントとの間で共通に定められた手法により、生成した前記プリンタ乱数と復号して取得した前記クライアント乱数とを用いて、第1共通鍵を生成するステップと、
前記印刷クライアントにおいて、前記プリンタから送信された前記暗号化プリンタ乱数を受信するステップと、
前記暗号化プリンタ乱数を受信した後に、前記クライアント位置情報取得手段が検出した位置情報を、前記クライアント位置情報として取得し、これを第2クライアント位置情報とするステップと、
前記第1のクライアント公開鍵と前記第1のクライアント秘密鍵の生成手法と同一の手法により、前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、第2のクライアント公開鍵と第2のクライアント秘密鍵とを生成するステップと、
前記第2のクライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得するステップと、
前記第2のクライアント秘密鍵と前記第2のクライアント公開鍵とを破棄するステップと、
前記プリンタと前記印刷クライアントとの間で共通に定められた手法により、復号して取得した前記プリンタ乱数と生成した前記クライアント乱数とを用いて、第2共通鍵を生成するステップと、
前記第2共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成するステップと、
前記印刷クライアントから前記プリンタに前記暗号化印刷データを送信するステップと、
前記印刷データを暗号化した後に、前記第2共通鍵を破棄するステップと、
前記プリンタにおいて、前記暗号化印刷データを受信するステップと、
前記プリンタにおいて、前記第1共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得するステップと、
前記プリンタが前記暗号化印刷データを復号した後に、前記プリンタにおける前記共通鍵を破棄するステップと、
を備えることを特徴とする印刷システムの制御方法。
A control method for a printing system, comprising: a printer that performs printing based on print data; and a print client connected to the printer.
A step of position information printer position information acquisition means detects the printer, obtains the printer position information for specifying the installation has been that the location of the printer, to do this the first printer position information,
In the printer, the steps of the first and the printer location information using a pass phrase including at least, to generate the first printer public key and the first printer private key,
A step of holding the raw form and the first printer public key to the printer public key holding means,
Destroying the first printer private key;
Acquiring the position information detected by the client position information acquisition means of the print client as client position information for specifying the location where the print client is installed, and using this as the first client position information;
Generating a first client public key and a first client private key using a passphrase including at least the first client location information in the print client;
Holding the generated first client public key in a client public key holding unit;
Destroying the first client private key;
Transmitting a printer public key transmission request for requesting transmission of the first printer public key from the print client to the printer;
Receiving the printer public key transmission request transmitted from the print client in the printer;
Transmitting the first printer public key held in the printer public key holding means from the printer to the print client when the printer public key transmission request is received;
Receiving at the print client the first printer public key transmitted from the printer;
Generating a client random number in the print client;
Generating an encrypted client random number by encrypting the client random number using the first printer public key in the print client ;
Transmitting the encrypted client random number from the print client to the printer after a print request is generated in the print client;
Receiving the encrypted client random number transmitted from the print client in the printer;
After receiving the encrypted client random number, acquiring the position information detected by the printer position information acquisition means as the printer position information, and using this as the second printer position information;
In the printer, by using the same method as the first printer public key and the first printer private key generation method, using a passphrase including at least the second printer position information, the second printer public key and Generating a second printer private key;
In the printer, using the second printer private key, decrypting the encrypted client random number to obtain a client random number;
Destroying the second printer public key and the second printer private key;
Generating a printer random number in the printer;
Receiving the client public key transmitted from the print client in the printer;
Generating an encrypted printer random number by encrypting the printer random number using the client public key in the printer;
Transmitting the encrypted printer random number from the printer to the print client;
Oite the printer, by the method defined in common between the print client and the printer, using said client random number obtained by decrypting the generated said printer random number, generating a first common key And steps to
Receiving the encrypted printer random number transmitted from the printer at the print client;
After receiving the encrypted printer random number, acquiring the position information detected by the client position information acquisition means as the client position information, and using this as the second client position information;
The second client public key and the second client using a passphrase including at least the second client location information by the same technique as the first client public key and the first client secret key generation technique Generating a secret key;
Decrypting the encrypted printer random number using the second client private key to obtain a printer random number;
Destroying the second client private key and the second client public key;
Generating a second common key using the printer random number generated by decrypting the printer random number and the generated client random number by a method commonly defined between the printer and the print client;
Generating encrypted print data by encrypting the print data using the second common key;
Transmitting the encrypted print data from the print client to the printer;
Destroying the second common key after encrypting the print data;
Receiving the encrypted print data in the printer;
In the printer, using the first common key, decrypting the encrypted print data to obtain print data;
Destroying the common key in the printer after the printer decrypts the encrypted print data;
A control method for a printing system, comprising:
JP2003377129A 2003-11-04 2003-11-06 Printer, print client and printing system Expired - Fee Related JP4395832B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003377129A JP4395832B2 (en) 2003-11-06 2003-11-06 Printer, print client and printing system
US10/980,432 US20050152543A1 (en) 2003-11-04 2004-11-02 Printer and print system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003377129A JP4395832B2 (en) 2003-11-06 2003-11-06 Printer, print client and printing system

Publications (2)

Publication Number Publication Date
JP2005138418A JP2005138418A (en) 2005-06-02
JP4395832B2 true JP4395832B2 (en) 2010-01-13

Family

ID=34687954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003377129A Expired - Fee Related JP4395832B2 (en) 2003-11-04 2003-11-06 Printer, print client and printing system

Country Status (1)

Country Link
JP (1) JP4395832B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8045195B2 (en) 2007-03-16 2011-10-25 Oki Data Corporation Image forming apparatus and image forming system
EP2211497A1 (en) * 2009-01-26 2010-07-28 Gemalto SA Secure communication establishment process, without sharing prior information
JP6168415B2 (en) 2014-05-27 2017-07-26 パナソニックIpマネジメント株式会社 Terminal authentication system, server device, and terminal authentication method
CN105635039B (en) 2014-10-27 2019-01-04 阿里巴巴集团控股有限公司 A kind of secure communication of network method and communication device
JP6548172B2 (en) * 2017-06-12 2019-07-24 パナソニックIpマネジメント株式会社 Terminal authentication system, server device, and terminal authentication method

Also Published As

Publication number Publication date
JP2005138418A (en) 2005-06-02

Similar Documents

Publication Publication Date Title
US7506159B2 (en) Printer and print system
JP4026126B2 (en) Server computer and printing system
US20050200890A1 (en) Printer and print system
US20050152543A1 (en) Printer and print system
JP2007088727A (en) Device, wireless lan setting system, and wireless lan setting method
JP2004102333A (en) Printer, print client and printing system
JP2007082208A (en) System, method, and program for safely transmitting electronic document between domains in terms of security
JP4395832B2 (en) Printer, print client and printing system
JP3979192B2 (en) Printer, printing system, data receiving apparatus and data transmitting / receiving system
JP2012098894A (en) Printing system and print control method
JP4345056B2 (en) Printer and printing system
JP4370564B2 (en) Printer, printing system, and encrypted data processing system based on position information
JP4400180B2 (en) Printer and printing system
JP5065876B2 (en) Information processing apparatus, information processing system, and program executed by information processing apparatus
JPH1173391A (en) Data communication system and its method
JP4168394B2 (en) Printer and printing system
JP4020108B2 (en) AD HOC NETWORK COMMUNICATION METHOD AND METHOD, NODE DEVICE, AND ITS PROGRAM
JP4337474B2 (en) Printer and printing system
JP4269749B2 (en) Printer and printing system
JP2011061574A (en) Radio communication device and radio communication system
JP3979322B2 (en) Printer, printing system, and server
JP4227327B2 (en) Peripheral device, control device, control method, and medium storing control program
JP4337473B2 (en) Printer and printing system
JP4232510B2 (en) Printer and printing system
JP4018376B2 (en) Control device, control method, and medium storing control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090828

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091008

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4395832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees