JP4395832B2 - Printer, print client and printing system - Google Patents
Printer, print client and printing system Download PDFInfo
- 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
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の印刷システムでは、暗号化サーバが暗号化鍵と復号化鍵を管理することとしている。そして、データを送信するコンピュータは、暗号化サーバから暗号化鍵を取得する際に、その復号化鍵を送信してもよい位置を指定するとともに、この暗号化鍵で印刷データを暗号化して、プリンタに送信する。この暗号化された印刷データを受信したプリンタでは、プリンタの位置を暗号化サーバに送信し、暗号化サーバでは、そのプリンタの位置がコンピュータに指定された位置と合致した場合にのみ、復号化鍵をプリンタに送信することとしている。
上述したようなプリンタを無償で貸し出すビジネスモデルでは、プリンタメーカから貸し出されたプリンタを、ユーザが無断で転売したり、他人に貸し出したりしてしまうと、プリンタメーカがプリンタの使用に応じた課金をすることができなくなってしまう。このため、プリンタメーカとしては、貸し出したプリンタが使用できる場所、つまり、正常な印刷ができる場所を、その貸し出したユーザの場所に限定したい。 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
また、プリンタのビジネスモデルと同様に、コンピュータ等に関しても、メーカーが無償で貸し出して、使用料を徴収するビジネスモデルも考えられる。この場合には、コンピュータが使用できる場所を、その貸し出しをしたユーザの場所に限定する必要がある。 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
印刷クライアント20では、乱数発生器を用いて、適当な乱数を生成し、これをクライアント乱数とする(ステップ〔3〕)。そして、印刷クライアント20は、受信したプリンタ公開鍵を用いて、クライアント乱数を暗号化し、暗号化クライアント乱数を生成する(ステップ〔4〕)。続いて、印刷クライアント20は、この暗号化クライアント乱数を、プリンタ30に送信する(ステップ〔5〕)。
The
この暗号化クライアント乱数を受信したプリンタ30では、再度、プリンタ位置情報を取得し、このプリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵とプリンタ秘密鍵を生成する(ステップ〔6〕)。そして、プリンタ30は、ここで生成されたプリンタ秘密鍵を用いて、暗号化クライアント乱数を復号し、クライアント乱数を取得する(ステップ〔7〕)。なお、プリンタ公開鍵は保存することなく、破棄されるとともに、プリンタ秘密鍵もステップ〔7〕の処理の後、破棄される。
The
一方、印刷クライアント20においては、印刷クライアント20の設置時に、印刷クライアント20が設置されている位置を表すクライアント位置情報を少なくとも含むパスフレーズを用いてクライアント公開鍵とクライアント秘密鍵を生成し、印刷クライアント20はクライアント公開鍵は保持するが、クライアント秘密鍵は破棄する(ステップ〔8〕)。そして、印刷クライアント20は、プリンタ30からクライアント公開鍵を要求された場合は、保持しているクライアント公開鍵をそのプリンタ30に送信する(ステップ〔9〕)。
On the other hand, the
プリンタ30では、乱数発生器を用いて、適当な乱数を生成し、これをプリンタ乱数とする(ステップ〔10〕)。そして、プリンタ30は、受信したクライアント公開鍵を用いて、プリンタ乱数を暗号化し、暗号化プリンタ乱数を生成する(ステップ〔11〕)。続いて、プリンタ30は、この暗号化プリンタ乱数を、印刷クライアント20に送信する(ステップ〔12〕)。
In the
この暗号化プリンタ乱数を受信した印刷クライアント20では、再度、クライアント位置情報を取得し、このクライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵とクライアント秘密鍵を生成する(ステップ〔13〕)。そして、印刷クライアント20は、ここで生成されたクライアント秘密鍵を用いて、暗号化プリンタ乱数を復号し、プリンタ乱数を取得する(ステップ〔14〕)。なお、クライアント公開鍵は保存することなく、破棄されるとともに、クライアント秘密鍵も、ステップ〔14〕の処理の後、破棄される。
The
続いて、印刷クライアント20は、クライアント乱数とプリンタ乱数とに基づいて、1つの変数を生成し、この変数を用いて、共通鍵を生成する(ステップ〔15〕)。変数の生成手法は、例えば、クライアント乱数とプリンタ乱数を掛け合わせる、クライアント乱数とプリンタ乱数の排他的論理和を算出する、適当に組み合わせた式をかける、等がある。
Subsequently, the
続いて、印刷クライアント20は、印刷データを生成し、この共通鍵を用いて、印刷データを暗号化し、暗号化印刷データを生成する(ステップ〔16〕)。そして、この暗号化印刷データを、プリンタ30に送信する(ステップ〔17〕)。
Subsequently, the
一方、プリンタ30においては、ステップ〔7〕で取得したクライアント乱数と、ステップ〔10〕で生成したプリンタ乱数とに基づいて、1つの変数を生成し、この変数を用いて、共通鍵を生成する(ステップ〔18〕)。ここで、変数の生成手法は、印刷クライアント20のステップ〔15〕と同じにする必要がある。換言すれば、ここで生成される変数は、ステップ〔15〕で生成される変数と同じにする必要がある。続いて、プリンタ30は、生成した共通鍵を用いて、受信した暗号化印刷データを復号し、印刷データを取得する(ステップ〔19〕)。そして、プリンタ30は、この取得した印刷データに基づいて、印刷を行う。
On the other hand, in the
結局、プリンタ30においては、プリンタ公開鍵を生成した位置から移動していなければ、暗号化クライアント乱数を復号することができ、したがって、適切な共通鍵を生成することができる。一方、印刷クライアント20においては、クライアント公開鍵を生成した位置から移動していなければ、暗号化プリンタ乱数を復号することができ、したがって、適切な共通鍵を生成することができる。プリンタ30と印刷クライアント20の双方で、適切な共通鍵を生成できれば、プリンタ30と印刷クライアント20とで同じ共通鍵を保持していることなる。すなわち、印刷クライアント20で共通鍵を用いて暗号化された暗号化印刷データを、プリンタ30で同じ共通鍵を用いて復号することができるようになるのである。
Eventually, if the
この説明から分かるように、プリンタ公開鍵をプリンタ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
同様に、クライアント公開鍵を印刷クライアント20からプリンタ30に送信するタイミングは、印刷クライアント20の設置後、印刷要求の発生までの任意のタイミングでよい。但し、印刷クライアント20の使用できる位置を制限するためには、ステップ〔13〕のクライアント秘密鍵の生成は、印刷クライアント20で印刷要求が発生した後に行うことが望ましい。具体的には、ステップ〔13〕のクライアント秘密鍵の生成は、ユーザが印刷クライアント20に印刷の実行を指示した後に行われることが望ましい。
Similarly, the timing for transmitting the client public key from the
次に、図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
印刷クライアント20は、例えば、ホストコンピュータやパーソナルコンピュータと呼ばれる各種のコンピュータにより構成されている。本実施形態では、特に印刷クライアント20は、共通鍵で印刷データを暗号化した暗号化印刷データを生成し、この暗号化印刷データをネットワーク10を介してプリンタ30に送信する。このネットワーク10に接続される印刷クライアントの台数は任意であり、1台でもよく、複数台でもよい。また、この印刷クライアントは、コンピュータに限られるものではなく、例えば、撮影した画像を印刷する必要のあるデジタルカメラや、印刷画像データをコンテンツとして蓄積してあるコンテンツサーバ等でもよい。
The
また本実施形態においては、プリンタ30はいわゆるネットワークプリンタである。本実施形態においては、特にプリンタ30は、暗号化印刷データを印刷クライアント20から受信し、この暗号化印刷データを共通鍵で復号して、印刷を行う。
In the present embodiment, the
本実施形態においては、プリンタ30は、ネットワーク10に直接接続されており、プリンタ30は固有のネットワークアドレスを有している。したがって、印刷クライアント20は、このネットワークアドレスを指定することにより、暗号化印刷データをプリンタ30に送信することができる。
In the present embodiment, the
なお、この図2においては、プリンタ30は、ネットワーク10に直接接続されているが、プリンタサーバを介して接続するようにしてもよい。また、このネットワーク10に接続されるプリンタの台数は任意であり、1台でもよく、複数台でもよい。
In FIG. 2, the
図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
また、内部バス46には、位置検出部54が接続されている。この位置検出部54は、プリンタ30が設置されている位置を特定する機能を有する。本実施形態においては、例えば、GPS(global positioning system)により構成されており、このプリンタ30が設置されている位置の緯度、経度、高度が特定できるようになっている。現時点におけるGPSの精度は、緯度、経度、高度において、それぞれ±10m程度であると言われている。
In addition, a
但し、この位置検出部54は、GPSを用いた構成に限らず、例えば、無線LANによりこのプリンタ30がネットワーク10に接続されている場合には、このプリンタ30が収容されている無線基地局に基づいて、プリンタ30の位置を特定するようにしてもよい。或いは、PHS(Personal Handyphone System)などの移動体通信技術を利用して、プリンタ30の位置を特定するようにしてもよい。
However, the
また、位置検出部54にGPS機能とPHS機能の双方を搭載し、通常はGPSを用いて設置位置を検出するが、電波事情等によりGPSを用いて位置検出ができない場合には、PHSにより位置検出をするようにしてもよい。
In addition, both the GPS function and the PHS function are mounted on the
さらに本実施形態に係るプリンタ30は、内部バス46に接続されたEEPROM(Electrically Erasable Programmable ROM)56を不揮発性半導体記憶装置として、備えている。このEEPROM56に格納された情報は、プリンタ30の電源をオフにした場合でも、保持されることになる。
Furthermore, the
また、図3においては、位置検出部54をプリンタ30に内蔵しているが、この位置検出部54は、図4に示すように、プリンタ30の外付けにするようにしてもよい。例えば、必要が生じたときに、GPSを搭載した携帯電話をプリンタ30に接続し、プリンタ30に位置検出機能を持たせるようにしてもよい。
In FIG. 3, the
図5は、印刷クライアント20の内部構成を説明するためのブロック図である。この図5に示すように、本実施形態に係る印刷クライアント20は、コンピュータ本体60とディスプレイ62とを備えて構成されている。
FIG. 5 is a block diagram for explaining the internal configuration of the
コンピュータ本体60は、CPU64と、RAM66と、ROM68とを備えており、これらは互いに内部バス70を介して接続されている。また、この内部バス70には、通信用のインターフェース72が接続されており、この通信用のインターフェース72を介して、上述したネットワーク10に印刷クライアント20が接続されている。
The computer main body 60 includes a
さらに、内部バス70には、インターフェース74が接続されており、このインターフェース74には大容量記憶装置であるハードディスク76が接続されている。また、内部バス70には、位置検出部77が接続されている。この位置検出部77は、印刷クライアント20が設置されている位置を特定する機能を有する。本実施形態においては、例えば、GPS(global positioning system)により構成されており、この印刷クライアント20が設置されている位置の緯度、経度、高度が特定できるようになっている。
Further, an
但し、この位置検出部77は、GPSを用いた構成に限らず、例えば、無線LANによりこの印刷クライアント20がネットワーク10に接続されている場合には、この印刷クライアント20が収容されている無線基地局に基づいて、印刷クライアント20の位置を特定するようにしてもよい。或いは、PHS(Personal Handyphone System)などの移動体通信技術を利用して、印刷クライアント20の位置を特定するようにしてもよい。
However, the
また、位置検出部77にGPS機能とPHS機能の双方を搭載し、通常はGPSを用いて設置位置を検出するが、電波事情等によりGPSを用いて位置検出ができない場合には、PHSにより位置検出をするようにしてもよい。
The
さらに、内部バス70には、インターフェース78が接続されており、このインターフェース78から延びるケーブル80を介して、上述したディスプレイ62が接続されている。
Further, an
また、図5においては、位置検出部77を印刷クライアント20に内蔵しているが、この位置検出部77は、図6に示すように、印刷クライアント20の外付けにするようにしてもよい。例えば、必要が生じたときに、GPSを搭載した携帯電話を印刷クライアント20に接続し、印刷クライアント20に位置検出機能を持たせるようにしてもよい。
In FIG. 5, the
次に、図1を用いて説明した処理を実現するために、プリンタ30、及び、印刷クライアント20で実行される処理を詳しく説明する。
Next, processing executed by the
まず、図7に基づいて、プリンタ30の設置時にプリンタ30で実行されるプリンタ公開鍵生成処理について説明する。この図7は、プリンタ30で実行されるプリンタ公開鍵生成処理を説明するフローチャートである。このプリンタ公開鍵生成処理は、プリンタのROM44に格納されているプリンタ公開鍵生成プログラムをCPU40が読み込んで実行することにより実現される処理である。
First, a printer public key generation process executed by the
図7に示すように、まず、プリンタ30は、プリンタ30の操作者に設置認定情報を入力するように要求する(ステップS100)。例えば、プリンタ30は、このプリンタ30に設けられている表示パネルに、設置認証情報を入力する指示を、表示する。操作者は、例えば、プリンタ30に設けられている操作パネルを操作して、設置認証情報を入力する。例えば、本実施形態においては、この設置認証情報は、設置認証情報用のIDとパスワードの組み合わせにより構成されている。したがって、操作者は、操作パネルから、これら設置認証情報用のIDとパスワードとを入力する。
As shown in FIG. 7, first, the
次に、プリンタ30は、入力された設置認証情報が、予めこのプリンタ30に登録されている設置認証情報と一致するかどうかを判断する(ステップS102)。具体的には、上述したように、操作者が入力した設置認証情報用のIDとパスワードが、予めプリンタ30に登録されている設置認証情報用のIDとパスワードと一致するかどうかを判断する。本実施形態においては、例えば、プリンタ30の製品出荷時に、EEPROM56にこの設置認証情報用のIDとパスワードが格納されており、この設置認証情報用のIDとパスワードを知り得るのは、このプリンタ30の製造メーカだけという仕組みになっている。
Next, the
設置認証情報が一致しなかった場合(ステップS102:No)には、プリンタ30は、プリンタ30の表示パネルに設置認証情報が一致しなかった旨を表示し(ステップS104)、このプリンタ公開鍵生成処理を終了する。
If the installation authentication information does not match (step S102: No), the
一方、設置認証情報が一致した場合(ステップS102:Yes)には、プリンタ30は、このプリンタ30の機器固有情報を取得する(ステップS106)。ここで、機器固有情報とは、このプリンタ30に関して、固有に割り当てられている識別情報であり、例えば、プリンタ30の製造シリアルナンバー、MACアドレス等がある。
On the other hand, when the installation authentication information matches (step S102: Yes), the
次に、プリンタ30は、位置検出部54から、その時点におけるプリンタ30のプリンタ位置情報を取得する(ステップS108)。続いて、プリンタ30は、機器固有情報とプリンタ位置情報とを用いてパスフレーズを作成する(ステップS110)。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、単純に機器固有情報の後ろにプリンタ位置情報をつなげることにより、パスフレーズを作成する。なお、パスフレーズは、これら機器固有情報及びプリンタ位置情報以外のデータを含んでいてもよい。
Next, the
次に、プリンタ30は、作成したパスフレーズを用いて、公開鍵暗号法により、公開鍵(プリンタ公開鍵)と秘密鍵(プリンタ秘密鍵)とを生成する(ステップS112)。公開鍵暗号法では、使用するパスフレーズが同じであれば、再び、公開鍵と秘密鍵とを生成しても、同じものが生成されるという性質を有している。続いて、プリンタ30は、この生成したプリンタ公開鍵とプリンタ秘密鍵のうち、プリンタ公開鍵のみを格納して保持する(ステップS114)。なお、プリンタ秘密鍵は保存されることなく破棄される。これにより、本実施形態に係るプリンタ公開鍵生成処理が終了する。
Next, the
図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
次に、図9に基づいて、印刷クライアント20の設置時に印刷クライアント20で実行されるクライアント公開鍵生成処理について説明する。この図9は、印刷クライアント20で実行されるクライアント公開鍵生成処理を説明するフローチャートである。このクライアント公開鍵生成処理は、印刷クライアント20のROM68又はハードディスク76に格納されているクライアント公開鍵生成プログラムをCPU64が読み込んで実行することにより実現される処理である。
Next, a client public key generation process executed by the
図9に示すように、まず、印刷クライアント20は、印刷クライアント20の操作者に設置認定情報を入力するように要求する(ステップS150)。例えば、印刷クライアント20は、この印刷クライアント20のディスプレイ62に、設置認証情報を入力する指示を、表示する。操作者は、例えば、印刷クライアント20のキーボードを操作して、設置認証情報を入力する。例えば、本実施形態においては、この設置認証情報は、設置認証情報用のIDとパスワードの組み合わせにより構成されている。したがって、操作者は、操作パネルから、これら設置認証情報用のIDとパスワードとを入力する。
As shown in FIG. 9, first, the
次に、印刷クライアント20は、入力された設置認証情報が、予めこの印刷クライアント20に登録されている設置認証情報と一致するかどうかを判断する(ステップS152)。具体的には、上述したように、操作者が入力した設置認証情報用のIDとパスワードが、予め印刷クライアント20に登録されている設置認証情報用のIDとパスワードと一致するかどうかを判断する。本実施形態においては、例えば、印刷クライアント20の製品出荷時に、ハードディスク76にこの設置認証情報用のIDとパスワードが格納されており、この設置認証情報用のIDとパスワードを知り得るのは、この印刷クライアント20の製造メーカだけという仕組みになっている。
Next, the
設置認証情報が一致しなかった場合(ステップS152:No)には、印刷クライアント20は、印刷クライアント20のディスプレイ62に設置認証情報が一致しなかった旨を表示し(ステップS154)、このクライアント公開鍵生成処理を終了する。
If the installation authentication information does not match (step S152: No), the
一方、設置認証情報が一致した場合(ステップS152:Yes)には、印刷クライアント20は、この印刷クライアント20の機器固有情報を取得する(ステップS156)。ここで、機器固有情報とは、この印刷クライアント20に関して、固有に割り当てられている識別情報であり、例えば、印刷クライアント20の製造シリアルナンバー、MACアドレス等がある。
On the other hand, when the installation authentication information matches (step S152: Yes), the
次に、印刷クライアント20は、位置検出部77から、その時点における印刷クライアント20のクライアント位置情報を取得する(ステップS158)。続いて、印刷クライアント20は、機器固有情報とクライアント位置情報とを用いてパスフレーズを作成する(ステップS160)。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、単純に機器固有情報の後ろにクライアント位置情報をつなげることにより、パスフレーズを作成する。なお、パスフレーズは、これら機器固有情報及びクライアント位置情報以外のデータを含んでいてもよい。
Next, the
次に、印刷クライアント20は、作成したパスフレーズを用いて、公開鍵暗号法により、公開鍵(クライアント公開鍵)と秘密鍵(クライアント秘密鍵)とを生成する(ステップS162)。公開鍵暗号法では、使用するパスフレーズが同じであれば、再び、公開鍵と秘密鍵とを生成しても、同じものが生成されるという性質を有している。続いて、印刷クライアント20は、この生成したクライアント公開鍵とクライアント秘密鍵のうち、クライアント公開鍵のみを格納して保持する(ステップS164)。なお、クライアント秘密鍵は保存されることなく破棄される。これにより、本実施形態に係るクライアント公開鍵生成処理が終了する。
Next, the
図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
図11乃至図13は、印刷クライアント20で実行される印刷要求処理を説明するフローチャートである。この印刷要求処理は、印刷クライアントのROM68又はハードディスク76に格納されている印刷要求プログラムをCPU64が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷要求処理は、ユーザが印刷すべきデータを作成し、プリンタ30で印刷を行うように印刷クライアント20に指示した際に起動される処理である。
FIGS. 11 to 13 are flowcharts illustrating print request processing executed by the
この図11に示すように、まず、印刷クライアント20は、プリンタ30にプリンタ公開鍵の送信を要求するプリンタ公開鍵取得要求を送信する(ステップS200)。続いて、印刷クライアント20は、プリンタ30からプリンタ公開鍵を受信したかどうかを判断する(ステップS202)。プリンタ公開鍵を受信していない場合(ステップS202:No)には、このステップS202の処理を繰り返して待機する。
As shown in FIG. 11, first, the
一方、プリンタ公開鍵を受信した場合(ステップS202:Yes)には、印刷クライアント20は乱数を生成し、これをクライアント乱数とする(ステップS204)。本実施形態においては、CPU64がソフトウェア的に乱数を生成する。
On the other hand, when the printer public key is received (step S202: Yes), the
次に、印刷クライアント20は、ステップS202で受信したプリンタ公開鍵を用いて、ステップS204で生成したクライアント乱数を暗号化し、暗号化クライアント乱数を生成する(ステップS205)。そして、この暗号化クライアント乱数をプリンタ30に送信する(ステップS206)。
Next, the
次に、印刷クライアント20は、プリンタ30から解読不能通知を受信したかどうかを判断する(ステップS208)。この解読不能通知を受信した場合(ステップS208:Yes)には、ユーザにプリンタ30が暗号化クライアント乱数を復号できなかった旨を通知し(ステップS210)、この印刷要求処理を終了する。
Next, the
一方、ステップ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
次に、図12に示すように、印刷クライアント20は、プリンタ30から暗号化プリンタ乱数を受信したかどうかを判断する(ステップS250)。暗号化プリンタ乱数を受信していない場合(ステップS250:No)には、このステップS250を繰り返して待機する。
Next, as shown in FIG. 12, the
一方、暗号化プリンタ乱数を受信した場合(ステップ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
次に、印刷クライアント20は、機器固有情報とクライアント位置情報とに基づいて、パスフレーズを作成する(ステップS256)。このパスフレーズの作成手法は、上述したクライアント公開鍵生成処理におけるステップS160と同じ手法である必要がある。なぜなら、パスフレーズが異なると、プリンタ30から送信された暗号化プリンタ乱数を、クライアント秘密鍵で復号できなくなってしまうからである。
Next, the
次に、印刷クライアント20は、ステップS256で生成したパスフレーズを用いて、公開鍵暗号法によりクライアント公開鍵とクライアント秘密鍵とを生成する(ステップS258)。続いて、印刷クライアント20は、生成されたクライアント秘密鍵を用いて、受信した暗号化プリンタ乱数を復号し、プリンタ乱数を取得する(ステップS260)。続いて、印刷クライアント20は、ステップS258で生成したクライアント公開鍵とクライアント秘密鍵とを破棄する(ステップS262)。
Next, the
次に、印刷クライアント20は、ステップS260で暗号化プリンタ乱数が復号され、プリンタ乱数を取得することができたかどうかを判断する(ステップS264)。暗号化プリンタ乱数の復号ができなかった場合(ステップS264:No)には、ユーザに、印刷クライアント20が移動されてしまったため暗号化プリンタ乱数の復号ができない旨を通知して(ステップS266)、この印刷要求処理を終了する。
Next, the
一方、暗号化プリンタ乱数の復号ができた場合(ステップ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
次に、印刷クライアント20は、生成した印刷データを、ステップS300で生成した共通鍵を用いて暗号化し、暗号化印刷データを生成する(ステップS304)。続いて、印刷クライアント20は、この暗号化印刷データをプリンタ30に送信する(ステップS306)。続いて、印刷クライアント20は、ステップS300で生成した共通鍵を破棄する(ステップS308)。続いて、印刷クライアント20は、ステップS204で生成したクライアント乱数と、ステップS260で取得したプリンタ乱数と、ステップS268で生成した変数を、破棄する(ステップS310)。
Next, the
次に、印刷クライアント20は、プリンタ30から解読不能通知を受信したかどうかを判断する(ステップS312)。この解読不能通知を受信した場合(ステップS312:Yes)には、ユーザに暗号化印刷データの復号ができなかった旨を通知して、この印刷要求処理を終了する。
Next, the
一方、解読不能通知を受信していない場合(ステップ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
図14に示すように、プリンタ30は、印刷クライアント20からプリンタ公開鍵取得要求を受信したかどうかを判断する(ステップS350)。このプリンタ公開鍵取得要求を受信していない場合(ステップS350:No)には、このステップS350の処理を繰り返して待機する。
As shown in FIG. 14, the
一方、プリンタ公開鍵取得要求を受信した場合(ステップ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
次に、プリンタ30は、印刷クライアント20から暗号化クライアント乱数を受信したかどうかを判断する(ステップS356)。この暗号化クライアント乱数を受信していない場合(ステップS356:No)には、このステップS356の処理を繰り返して待機する。
Next, the
一方、暗号化クライアント乱数を受信した場合(ステップ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
次に、プリンタ30は、機器固有情報とプリンタ位置情報とに基づいて、パスフレーズを作成する(ステップS362)。このパスフレーズの作成手法は、上述したプリンタ公開鍵生成処理におけるステップS110と同じ手法である必要がある。なぜなら、パスフレーズが異なると、印刷クライアント20から送信された暗号化クライアント乱数を、プリンタ秘密鍵で復号できなくなってしまうからである。
Next, the
次に、プリンタ30は、パスフレーズを用いて、公開鍵暗号法によりプリンタ公開鍵とプリンタ秘密鍵とを生成する(ステップS364)。続いて、図15に示すように、プリンタ30は、生成されたプリンタ秘密鍵を用いて、受信した暗号化クライアント乱数を復号して、クライアント乱数を取得する(ステップS400)。続いて、プリンタ30は、ステップS364で生成したプリンタ公開鍵とプリンタ秘密鍵とを破棄する(ステップS402)。
Next, the
次に、プリンタ30は、ステップS400で暗号化クライアント乱数が復号され、クライアント乱数を取得することができたかどうかを判断する(ステップS404)。暗号化クライアント乱数の復号ができなかった場合(ステップS404:No)には、印刷クライアント20に、プリンタ30が移動されてしまったため暗号化クライアント乱数の復号ができない旨の解読不能通知を送信して(ステップS406)、上述したステップS350の処理に戻る。
Next, the
一方、暗号化クライアント乱数の復号ができた場合(ステップ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
一方、クライアント公開鍵を受信した場合(ステップS410:Yes)には、プリンタ30は乱数を生成し、これをプリンタ乱数とする(ステップS412)。本実施形態においては、CPU40がソフトウェア的に乱数を生成する。
On the other hand, when the client public key has been received (step S410: Yes), the
次に、プリンタ30は、ステップS410で受信したクライアント公開鍵を用いて、ステップS412で生成したプリンタ乱数を暗号化し、暗号化プリンタ乱数を生成する(ステップS414)。そして、この暗号化プリンタ乱数を印刷クライアント20に送信する(ステップS416)。
Next, the
次に、図16に示すように、プリンタ30は、印刷クライアント20から解読不能通知を受信したかどうかを判断する(ステップS450)。この解読不能通知を受信した場合(ステップS450:Yes)には、プリンタ30は、上述したステップS350の処理に戻る。
Next, as illustrated in FIG. 16, the
一方、ステップ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
次に、プリンタ30は、この共通鍵を用いて、受信した暗号化印刷データを復号し、印刷データを取得する(ステップS458)。続いて、プリンタ30は、暗号化印刷データの復号ができたかどうかを判断する(ステップS459)。暗号化印刷データの復号ができなかった場合(ステップS459:No)には、プリンタ30は解読不能通知を印刷クライアント20に送信し(ステップS470)、上述したステップS350の処理に戻る。
Next, the
一方、暗号化印刷データの復号ができた場合(ステップS459:Yes)には、プリンタ30は、得られた印刷データに基づいて、印刷エンジン52を駆動した印刷を実行する(ステップS460)。具体的には、印刷データの言語解釈を行い、印刷エンジン52に適合した印刷要求データを生成する。そして、この印刷要求データを印刷エンジン52に送信することにより、印刷エンジン52で印刷用紙等に印刷が行われる。
On the other hand, if the encrypted print data can be decrypted (step S459: Yes), the
次に、プリンタ30は、ステップS456で生成した共通鍵を破棄する(ステップS462)。続いて、プリンタ30は、ステップS400で取得したクライアント乱数と、ステップS412で生成したプリンタ乱数と、ステップS456で生成した変数を破棄する(ステップS464)。続いて、プリンタ30は、印刷が正常に完了した旨の印刷完了通知を印刷クライアント20に送信する(ステップS466)。そして、上述したステップS350の処理に戻る。
Next, the
図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
一方、印刷クライアント20を設置する際に、印刷クライアント20の設置されている場所を特定するためのクライアント位置情報を位置検出部77から取得し、これを第1クライアント位置情報とし、クライアント公開鍵生成部220は、この第1クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵を生成する。そして、クライアント公開鍵生成部220で生成したクライアント公開鍵を、クライアント公開鍵保持部222に保持させる。
On the other hand, when the
そして、本実施形態においては、印刷クライアント20は、ユーザから印刷を要求された場合に、プリンタ公開鍵送信要求送信部200が、プリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を、プリンタ30に送信する。プリンタ30では、印刷クライアント20から送信されたプリンタ公開鍵送信要求を、プリンタ公開鍵送信要求受信部106で受信する。このプリンタ公開鍵送信要求を受信した場合には、プリンタ30では、プリンタ公開鍵送信部106が、プリンタ公開鍵保持部102に保持されているプリンタ公開鍵を読み出して、印刷クライアント20に送信する。
In this embodiment, when the
印刷クライアント20では、プリンタ公開鍵受信部202で、プリンタ30から送信されたプリンタ公開鍵を受信する。そして、クライアント乱数生成部204で、クライアント乱数を生成する。続いて、暗号化クライアント乱数生成部206で、プリンタ公開鍵受信部202で受信したプリンタ公開鍵を用いて、このクライアント乱数を暗号化することにより、暗号化クライアント乱数を生成する。続いて、暗号化クライアント乱数送信部208は、この暗号化クライアント乱数を、プリンタ30に送信する。
In the
プリンタ30の暗号化クライアント乱数受信部110では、印刷クライアント20から送信された暗号化クライアント乱数を受信する。また、プリンタ30では、位置検出部54からプリンタ位置情報を取得し、これを第2プリンタ位置情報とし、プリンタ秘密鍵生成部112は、この第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する。そして、クライアント乱数取得部114は、プリンタ秘密鍵生成部112で生成したプリンタ秘密鍵を用いて、暗号化クライアント乱数を復号して、クライアント乱数を取得する。
The encrypted client random
また、プリンタ30のクライアント公開鍵送信要求送信部120は、印刷クライアント20に、クライアント公開鍵の送信を要求するクライアント公開鍵送信要求を送信する。このクライアント公開鍵送信要求は、印刷クライアント20のクライアント公開鍵送信要求受信部224で受信される。このクライアント公開鍵送信要求を受信した場合、印刷クライアント20のクライアント公開鍵送信部226は、クライアント公開鍵保持部222から、公開鍵を取得して、プリンタ30に送信する。
The client public key transmission
印刷クライアント20から送信されたクライアント公開鍵は、プリンタ30のクライアント公開鍵受信部122で受信される。クライアント公開鍵を受信した場合、プリンタ30のプリンタ乱数生成部124は、プリンタ乱数を生成する。そして、暗号化プリンタ乱数生成部126は、このプリンタ乱数を、クライアント公開鍵を用いて暗号化し、暗号化プリンタ乱数を生成する。続いて、暗号化プリンタ乱数送信部128は、この生成した暗号化プリンタ乱数を、印刷クライアント20に送信する。
The client public key transmitted from the
プリンタ30から送信された暗号化プリンタ乱数は、暗号化プリンタ乱数受信部240で受信される。この暗号化プリンタ乱数を受信した印刷クライアント20では、クライアント秘密鍵生成部242が、位置検出部からその時点のクライアント位置情報を取得して、これを第2クライアント位置情報とし、この第2クライアント位置情報を少なくとも含むパスフレーズを用いてクライアント秘密鍵を生成する。プリンタ乱数取得部244は、この生成したクライアント秘密鍵を用いて、暗号化プリンタ乱数を復号し、プリンタ乱数を取得する。そして、共通鍵生成部246は、クライアント乱数生成部204で生成したクライアント乱数と、プリンタ乱数取得部244で取得したプリンタ乱数とを用いて、1つの共通鍵を生成する。
The encrypted printer random number transmitted from the
次に、印刷クライアント20は、印刷データ生成部260で印刷データを生成する。続いて、暗号化印刷データ生成部262は、共通鍵を用いて、この印刷データを暗号化し、暗号化印刷データを生成する。そして、暗号化印刷データ送信部264は、この暗号化印刷データを、プリンタ30に送信する。
Next, the
印刷クライアント20から送信された暗号化印刷データは、プリンタ30の暗号化印刷データ受信部130で受信される。また、共通鍵取得部132では、プリンタ乱数生成部124で生成したプリンタ乱数と、クライアント乱数取得部114で取得したクライアント乱数とを用いて、共通鍵を生成する。そして、印刷データ取得部134では、この共通鍵を用いて、暗号化印刷データを復号し、印刷データを取得し、印刷実行部136では、この印刷データに基づいて印刷を実行する。
The encrypted print data transmitted from the
以上のように、本実施形態に係る印刷システムによれば、印刷クライアント20はクライアント公開鍵を生成した場所でのみ正常な印刷要求をすることができ、プリンタ30はプリンタ公開鍵を生成した場所でのみ正常な印刷を行うことができる。このため、印刷クライアント20とプリンタ30の使用できる場所を制限することができる。
As described above, according to the printing system according to the present embodiment, the
すなわち、本実施形態におけるプリンタ30では、このプリンタ30がプリンタ公開鍵を生成した場所と異なる場所に移動された場合には、印刷クライアント20から送信された暗号化クライアント乱数を正しく復号できないので、正しいクライアント乱数を取得することができない。このため、プリンタ30は正しい共通鍵を生成できないのである。
That is, in the
一方、本実施形態における印刷クライアント20では、この印刷クライアント20がクライアント公開鍵を生成した場所と異なる場所に移動された場合には、プリンタ30から送信された暗号化プリンタ乱数を正しく復号できないので、正しいプリンタ乱数を取得することができない。このため、印刷クライアント20は正しい共通鍵を生成できないのである。
On the other hand, in the
しかも、本実施形態においては、印刷データは共通鍵を用いて暗号化されている。一般に、公開鍵暗号法による秘密鍵でデータを復号する速度よりも、共通鍵暗号法による共通鍵でデータを復号する速度の方が、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
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態においては、プリンタ位置情報に加えて、機器固有情報をパスフレーズに用いたが、機器固有情報は必ずしも必要なものではない。 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
さらに、上述の実施形態で説明した各処理については、これら各処理を実行するためのプログラムをフレキシブルディスク、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
また、印刷クライアント20及び/又はプリンタ30は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、印刷クライアント20及び/又はプリンタ30の備える他のプログラムを活用し、記録媒体には印刷クライアント20及び/又はプリンタ30が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を記録するようにしてもよい。
The
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、印刷クライアント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
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ印刷クライアント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
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
42 RAM
44 ROM
46
60
66 RAM
68 ROM
70
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:
前記プリンタ秘密鍵生成手段も、前記第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:
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)
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 |
-
2003
- 2003-11-06 JP JP2003377129A patent/JP4395832B2/en not_active Expired - Fee Related
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 | |
US20050152543A1 (en) | Printer and print system | |
US6901863B2 (en) | Printer and print system for executing a proper print operation only in a place registered in advance | |
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 | |
JP2007088727A (en) | Device, wireless lan setting system, and wireless lan setting method | |
JP4345056B2 (en) | Printer and printing system | |
JP2012098894A (en) | Printing system and print control method | |
JP4370564B2 (en) | Printer, printing system, and encrypted data processing system based on position information | |
JP4400180B2 (en) | Printer and printing system | |
JPH1173391A (en) | Data communication system and its method | |
JP5065876B2 (en) | Information processing apparatus, information processing system, and program executed by information processing apparatus | |
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 |