[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4395832B2 - プリンタ、印刷クライアント及び印刷システム - Google Patents

プリンタ、印刷クライアント及び印刷システム Download PDF

Info

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

Links

Images

Landscapes

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

Description

本発明は、プリンタ、印刷クライアント及び印刷システムに関し、特に、印刷データの印刷を行える場所を制限することのできるプリンタ、そのようなプリンタに印刷を要求できる場所を制限することのできる印刷クライアント、並びに、そのようなプリンタ及び印刷クライアントを有する印刷システムに関する。
近年、プリンタを用いたビジネスモデルとして、プリンタメーカがユーザにプリンタを無償で貸し出し、ユーザがこのプリンタを用いて印刷した枚数だけ、そのプリンタメーカに使用料を支払うという形態が、注目されてきている。このようなビジネスモデルにおいては、印刷枚数に応じた課金の他に、使用期間に応じた課金や、使用インク量に応じた課金などが考えられる。
また、コンピュータ等の印刷クライアントからプリンタに印刷データを送信する際に、この印刷データを印刷できるプリンタの位置を制限して、印刷データのセキュリティを確保したいという要望もある。このような要望に対応して、コンピュータからプリンタに印刷データを暗号化して送信するとともに、この暗号化された印刷データが、復号できるプリンタの位置を制限する技術が、特開平11−331144号公報(以下、特許文献1という)に開示されている。
この特許文献1の印刷システムでは、暗号化サーバが暗号化鍵と復号化鍵を管理することとしている。そして、データを送信するコンピュータは、暗号化サーバから暗号化鍵を取得する際に、その復号化鍵を送信してもよい位置を指定するとともに、この暗号化鍵で印刷データを暗号化して、プリンタに送信する。この暗号化された印刷データを受信したプリンタでは、プリンタの位置を暗号化サーバに送信し、暗号化サーバでは、そのプリンタの位置がコンピュータに指定された位置と合致した場合にのみ、復号化鍵をプリンタに送信することとしている。
特開平11−331144号公報
上述したようなプリンタを無償で貸し出すビジネスモデルでは、プリンタメーカから貸し出されたプリンタを、ユーザが無断で転売したり、他人に貸し出したりしてしまうと、プリンタメーカがプリンタの使用に応じた課金をすることができなくなってしまう。このため、プリンタメーカとしては、貸し出したプリンタが使用できる場所、つまり、正常な印刷ができる場所を、その貸し出したユーザの場所に限定したい。
特許文献1の印刷システムでは、暗号化されたデータを送信する際に、そのデータを復号できるプリンタの位置を指定できるのみであり、無断で移動されたプリンタであっても、そのプリンタの位置を正しく指定してしまえば、印刷を実行できてしまう。
また、プリンタのビジネスモデルと同様に、コンピュータ等に関しても、メーカーが無償で貸し出して、使用料を徴収するビジネスモデルも考えられる。この場合には、コンピュータが使用できる場所を、その貸し出しをしたユーザの場所に限定する必要がある。
そこで本発明は、前記課題に鑑みてなされたものであり、予め登録された場所でしか、印刷することのできないプリンタ、印刷クライアント、並びに、そのようなプリンタ及び印刷クライアントを含む印刷システムを提供することを目的とする。
上記課題を解決するため、本発明に係るプリンタは、印刷データに基づいて印刷を行うプリンタであって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報をプリンタ位置情報取得手段から取得し、これを第1プリンタ位置情報とする、第1プリンタ位置情報取得手段と、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
前記印刷クライアントから、前記プリンタ公開鍵を用いてクライアント乱数を暗号化することにより生成された暗号化クライアント乱数を受信する、暗号化クライアント乱数受信手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第2プリンタ位置情報とする、第2プリンタ位置情報取得手段と、
前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得する、クライアント乱数取得手段と、
プリンタ乱数を生成する、プリンタ乱数生成手段と、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
前記印刷クライアントから、印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
を備えることを特徴とする。
この場合、前記印刷クライアントから、クライアント公開鍵を受信する、クライアント公開鍵受信手段と、
前記クライアント公開鍵を用いて、前記プリンタ乱数を暗号化することにより、暗号化プリンタ乱数を生成する、暗号化プリンタ乱数生成手段と、
前記暗号化プリンタ乱数を前記印刷クライアントに送信する、暗号化プリンタ乱数送信手段と、
をさらに備えるようにしてもよい。
また、前記暗号化クライアント乱数受信手段で前記暗号化クライアント乱数を受信した後、及び/又は、前記暗号化印刷データ受信手段で前記暗号化印刷データを受信した後に、前記第2プリンタ位置情報取得手段は、前記プリンタ位置情報取得手段からプリンタ位置情報を取得するようにしてもよい。
また、前記プリンタ公開鍵生成手段で、前記プリンタ公開鍵を生成する際にプリンタ秘密鍵が生成された場合でも、このプリンタ秘密鍵は保存されることなく破棄されるようにしてもよい。
また、前記プリンタ秘密鍵生成手段で、前記プリンタ秘密鍵を生成する際にプリンタ公開鍵が生成された場合でも、このプリンタ公開鍵は保存されることなく破棄されるようにしてもよい。
また、前記プリンタ秘密鍵生成手段で生成された前記プリンタ秘密鍵は、前記クライアント乱数取得手段で前記暗号化クライアント乱数を復号した後に、破棄されるようにしてもよい。
また、前記共通鍵生成手段で生成された前記共通鍵は、前記印刷データ取得手段で前記暗号化印刷データを復号した後に、破棄されるようにしてもよい。
また、前記プリンタ公開鍵生成手段は、前記第1プリンタ位置情報に加えて、当該プリンタの固有の情報である機器固有情報を含むパスフレーズを用いて、プリンタ公開鍵を生成するとともに、
前記プリンタ秘密鍵生成手段も、前記第2プリンタ位置情報に加えて、前記機器固有情報を含むパスフレーズを用いて、プリンタ秘密鍵を生成するようにしてもよい。
本発明に係るプリンタの制御方法は、
印刷データに基づいて印刷を行うプリンタの制御方法であって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報をプリンタ位置情報取得手段から取得し、これを第1プリンタ位置情報とするステップと、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成するステップと、
前記生成したプリンタ公開鍵を、プリンタ公開鍵保持手段に保持させるステップと、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信するステップと、
前記印刷クライアントから、前記プリンタ公開鍵を用いてクライアント乱数を暗号化することにより生成された暗号化クライアント乱数を受信するステップと、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第2プリンタ位置情報とするステップと、
前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成するステップと、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するステップと、
プリンタ乱数を生成するステップと、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
前記印刷クライアントから、印刷データを暗号化することにより生成された暗号化印刷データを受信するステップと、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得するステップと、
を備えることを特徴とする。
本発明に係る印刷クライアントは、
印刷データを生成する印刷クライアントであって、
当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報をプリンタ位置情報取得手段から取得し、これを第1クライアント位置情報とする、第1クライアント位置情報取得手段と、
前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵を生成する、クライアント公開鍵生成手段と、
前記クライアント公開鍵生成手段で生成したクライアント公開鍵を保持する、クライアント公開鍵保持手段と、
プリンタからの要求に応じて、前記クライアント公開鍵保持手段に保持されているクライアント公開鍵をプリンタに送信する、クライアント公開鍵送信手段と、
前記プリンタから、前記クライアント公開鍵を用いてプリンタ乱数を暗号化することにより生成された暗号化プリンタ乱数を受信する、暗号化プリンタ乱数受信手段と、
前記クライアント位置情報取得手段からクライアント位置情報を取得し、これを第2クライアント位置情報とする、第2クライアント位置情報取得手段と、
前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント秘密鍵を生成する、クライアント秘密鍵生成手段と、
前記クライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得する、プリンタ乱数取得手段と、
クライアント乱数を生成する、クライアント乱数生成手段と、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
前記共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成する、暗号化印刷データ生成手段と、
前記プリンタに前記暗号化印刷データを送信する、暗号化印刷データ送信手段と、
を備えることを特徴とする。
本発明に係る印刷クライアントの制御方法は、
印刷データを生成する印刷クライアントの制御方法であって、
当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報をプリンタ位置情報取得手段から取得し、これを第1クライアント位置情報とするステップと、
前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵を生成するステップと、
前記生成したクライアント公開鍵を、クライアント公開鍵保持手段に保持させるステップと、
プリンタからの要求に応じて、前記クライアント公開鍵保持手段に保持されているクライアント公開鍵をプリンタに送信するステップと、
前記プリンタから、前記クライアント公開鍵を用いてプリンタ乱数を暗号化することにより生成された暗号化プリンタ乱数を受信するステップと、
前記クライアント位置情報取得手段からクライアント位置情報を取得し、これを第2クライアント位置情報とするステップと、
前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント秘密鍵を生成するステップと、
前記クライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得するステップと、
クライアント乱数を生成するステップと、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
前記共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成するステップと、
前記プリンタに前記暗号化印刷データを送信するステップと、
を備えることを特徴とする。
本発明に係る印刷システムは、
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムであって、
前記プリンタは、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報をプリンタ位置情報取得手段から取得し、これを第1プリンタ位置情報とする、第1プリンタ位置情報取得手段と、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
を備えており、
前記印刷クライアントは、前記プリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を、前記プリンタに送信する、プリンタ公開鍵送信要求送信手段を備えており、
前記プリンタは、
前記印刷クライアントから送信された前記プリンタ公開鍵送信要求を受信する、プリンタ公開鍵送信要求受信手段と、
前記プリンタ公開鍵送信要求を受信した場合に、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
を備えており、
前記印刷クライアントは、
前記プリンタから送信された前記プリンタ公開鍵を受信する、プリンタ公開鍵受信手段と、
クライアント乱数を生成する、クライアント乱数生成手段と、
前記プリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成する、暗号化クライアント乱数生成手段と、
前記暗号化クライアント乱数を、前記プリンタに送信する、暗号化クライアント乱数送信手段と、
を備えており、
前記プリンタは、
前記印刷クライアントから送信された前記暗号化クライアント乱数を受信する、暗号化クライアント乱数受信手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第2プリンタ位置情報とする、第2プリンタ位置情報取得手段と、
前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得する、クライアント乱数取得手段と、
プリンタ乱数を生成する、プリンタ乱数生成手段と、
前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
前記印刷クライアントから、印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
を備えることを特徴とする。
本発明に係る印刷システムの制御方法は、
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムの制御方法であって、
前記プリンタの設置されている場所を特定するためのプリンタ位置情報をプリンタ位置情報取得手段から取得し、これを第1プリンタ位置情報とするステップと、
前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成するステップと、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持するステップと、
前記印刷クライアントから前記プリンタに、前記プリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記プリンタ公開鍵送信要求を受信するステップと、
前記プリンタ公開鍵送信要求を受信した場合に、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を、前記プリンタから前記印刷クライアントに送信するステップと、
前記印刷クライアントにおいて、前記プリンタから送信された前記プリンタ公開鍵を受信するステップと、
前記印刷クライアントにおいて、クライアント乱数を生成するステップと、
前記プリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成するステップと、
前記暗号化クライアント乱数を、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記暗号化クライアント乱数を受信するステップと、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第2プリンタ位置情報とするステップと、
前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成するステップと、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するステップと、
前記プリンタにおいて、プリンタ乱数を生成するステップと、
前記プリンタにおいて、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
印刷データを暗号化することにより生成された暗号化印刷データを、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記暗号化印刷データを受信するステップと、
前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得するステップと、
を備えることを特徴とする。
本発明によれば、予め登録された場所でしか、印刷することのできないプリンタ、印刷クライアント、並びに、そのようなプリンタ及び印刷クライアントを含む印刷システムを提供することができる。
まず、図1に基づいて、本実施形態に係る印刷システムの処理の概要を説明する。図1に示すように、本実施形態においては、プリンタ30の設置時に、プリンタ30が設置されている位置を表すプリンタ位置情報を少なくとも含むパスフレーズを用いてプリンタ公開鍵とプリンタ秘密鍵を生成し、プリンタ30はプリンタ公開鍵は保持するが、プリンタ秘密鍵は破棄する(ステップ〔1〕)。そして、プリンタ30は、印刷データを送信したい印刷クライアント20からプリンタ公開鍵を要求された場合は、保持しているプリンタ公開鍵をその印刷クライアント20に送信する(ステップ〔2〕)。
印刷クライアント20では、乱数発生器を用いて、適当な乱数を生成し、これをクライアント乱数とする(ステップ〔3〕)。そして、印刷クライアント20は、受信したプリンタ公開鍵を用いて、クライアント乱数を暗号化し、暗号化クライアント乱数を生成する(ステップ〔4〕)。続いて、印刷クライアント20は、この暗号化クライアント乱数を、プリンタ30に送信する(ステップ〔5〕)。
この暗号化クライアント乱数を受信したプリンタ30では、再度、プリンタ位置情報を取得し、このプリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵とプリンタ秘密鍵を生成する(ステップ〔6〕)。そして、プリンタ30は、ここで生成されたプリンタ秘密鍵を用いて、暗号化クライアント乱数を復号し、クライアント乱数を取得する(ステップ〔7〕)。なお、プリンタ公開鍵は保存することなく、破棄されるとともに、プリンタ秘密鍵もステップ〔7〕の処理の後、破棄される。
一方、印刷クライアント20においては、印刷クライアント20の設置時に、印刷クライアント20が設置されている位置を表すクライアント位置情報を少なくとも含むパスフレーズを用いてクライアント公開鍵とクライアント秘密鍵を生成し、印刷クライアント20はクライアント公開鍵は保持するが、クライアント秘密鍵は破棄する(ステップ〔8〕)。そして、印刷クライアント20は、プリンタ30からクライアント公開鍵を要求された場合は、保持しているクライアント公開鍵をそのプリンタ30に送信する(ステップ〔9〕)。
プリンタ30では、乱数発生器を用いて、適当な乱数を生成し、これをプリンタ乱数とする(ステップ〔10〕)。そして、プリンタ30は、受信したクライアント公開鍵を用いて、プリンタ乱数を暗号化し、暗号化プリンタ乱数を生成する(ステップ〔11〕)。続いて、プリンタ30は、この暗号化プリンタ乱数を、印刷クライアント20に送信する(ステップ〔12〕)。
この暗号化プリンタ乱数を受信した印刷クライアント20では、再度、クライアント位置情報を取得し、このクライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵とクライアント秘密鍵を生成する(ステップ〔13〕)。そして、印刷クライアント20は、ここで生成されたクライアント秘密鍵を用いて、暗号化プリンタ乱数を復号し、プリンタ乱数を取得する(ステップ〔14〕)。なお、クライアント公開鍵は保存することなく、破棄されるとともに、クライアント秘密鍵も、ステップ〔14〕の処理の後、破棄される。
続いて、印刷クライアント20は、クライアント乱数とプリンタ乱数とに基づいて、1つの変数を生成し、この変数を用いて、共通鍵を生成する(ステップ〔15〕)。変数の生成手法は、例えば、クライアント乱数とプリンタ乱数を掛け合わせる、クライアント乱数とプリンタ乱数の排他的論理和を算出する、適当に組み合わせた式をかける、等がある。
続いて、印刷クライアント20は、印刷データを生成し、この共通鍵を用いて、印刷データを暗号化し、暗号化印刷データを生成する(ステップ〔16〕)。そして、この暗号化印刷データを、プリンタ30に送信する(ステップ〔17〕)。
一方、プリンタ30においては、ステップ〔7〕で取得したクライアント乱数と、ステップ〔10〕で生成したプリンタ乱数とに基づいて、1つの変数を生成し、この変数を用いて、共通鍵を生成する(ステップ〔18〕)。ここで、変数の生成手法は、印刷クライアント20のステップ〔15〕と同じにする必要がある。換言すれば、ここで生成される変数は、ステップ〔15〕で生成される変数と同じにする必要がある。続いて、プリンタ30は、生成した共通鍵を用いて、受信した暗号化印刷データを復号し、印刷データを取得する(ステップ〔19〕)。そして、プリンタ30は、この取得した印刷データに基づいて、印刷を行う。
結局、プリンタ30においては、プリンタ公開鍵を生成した位置から移動していなければ、暗号化クライアント乱数を復号することができ、したがって、適切な共通鍵を生成することができる。一方、印刷クライアント20においては、クライアント公開鍵を生成した位置から移動していなければ、暗号化プリンタ乱数を復号することができ、したがって、適切な共通鍵を生成することができる。プリンタ30と印刷クライアント20の双方で、適切な共通鍵を生成できれば、プリンタ30と印刷クライアント20とで同じ共通鍵を保持していることなる。すなわち、印刷クライアント20で共通鍵を用いて暗号化された暗号化印刷データを、プリンタ30で同じ共通鍵を用いて復号することができるようになるのである。
この説明から分かるように、プリンタ公開鍵をプリンタ30から印刷クライアント20に送信するタイミングは、プリンタ30の設置後、印刷要求の発生までの間の任意のタイミングでよい。但し、プリンタ30の使用できる位置を制限するためには、ステップ〔6〕のプリンタ秘密鍵の生成は、印刷クライアント20で印刷要求が発生した後に行うことが望ましい。具体的には、ステップ〔6〕のプリンタ秘密鍵の生成は、プリンタ30が暗号化クライアント乱数を受信した後、及び/又は、暗号化印刷データを受信した後にすることが望ましい。
同様に、クライアント公開鍵を印刷クライアント20からプリンタ30に送信するタイミングは、印刷クライアント20の設置後、印刷要求の発生までの任意のタイミングでよい。但し、印刷クライアント20の使用できる位置を制限するためには、ステップ〔13〕のクライアント秘密鍵の生成は、印刷クライアント20で印刷要求が発生した後に行うことが望ましい。具体的には、ステップ〔13〕のクライアント秘密鍵の生成は、ユーザが印刷クライアント20に印刷の実行を指示した後に行われることが望ましい。
次に、図2に基づいて、本実施形態に係る印刷システムの構成を説明する。図2は、本実施形態に係る印刷システムのハードウェア構成を示すブロック図である。
この図2に示すように、本実施形態に係る印刷システムは、ネットワーク10に接続された印刷クライアント20と、同じくネットワーク10に接続されたプリンタ30とを備えている。本実施形態においては、ネットワーク10は、TCP/IP(transmission control protocol/internet protocol)を用いたインターネットにより構成されている。但し、ネットワーク10の態様は、インターネットに限るものではなく、例えば、イーサーネット(登録商標)等のLANにより構成されていてもよい。
印刷クライアント20は、例えば、ホストコンピュータやパーソナルコンピュータと呼ばれる各種のコンピュータにより構成されている。本実施形態では、特に印刷クライアント20は、共通鍵で印刷データを暗号化した暗号化印刷データを生成し、この暗号化印刷データをネットワーク10を介してプリンタ30に送信する。このネットワーク10に接続される印刷クライアントの台数は任意であり、1台でもよく、複数台でもよい。また、この印刷クライアントは、コンピュータに限られるものではなく、例えば、撮影した画像を印刷する必要のあるデジタルカメラや、印刷画像データをコンテンツとして蓄積してあるコンテンツサーバ等でもよい。
また本実施形態においては、プリンタ30はいわゆるネットワークプリンタである。本実施形態においては、特にプリンタ30は、暗号化印刷データを印刷クライアント20から受信し、この暗号化印刷データを共通鍵で復号して、印刷を行う。
本実施形態においては、プリンタ30は、ネットワーク10に直接接続されており、プリンタ30は固有のネットワークアドレスを有している。したがって、印刷クライアント20は、このネットワークアドレスを指定することにより、暗号化印刷データをプリンタ30に送信することができる。
なお、この図2においては、プリンタ30は、ネットワーク10に直接接続されているが、プリンタサーバを介して接続するようにしてもよい。また、このネットワーク10に接続されるプリンタの台数は任意であり、1台でもよく、複数台でもよい。
図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が接続されている。
また、内部バス46には、位置検出部54が接続されている。この位置検出部54は、プリンタ30が設置されている位置を特定する機能を有する。本実施形態においては、例えば、GPS(global positioning system)により構成されており、このプリンタ30が設置されている位置の緯度、経度、高度が特定できるようになっている。現時点におけるGPSの精度は、緯度、経度、高度において、それぞれ±10m程度であると言われている。
但し、この位置検出部54は、GPSを用いた構成に限らず、例えば、無線LANによりこのプリンタ30がネットワーク10に接続されている場合には、このプリンタ30が収容されている無線基地局に基づいて、プリンタ30の位置を特定するようにしてもよい。或いは、PHS(Personal Handyphone System)などの移動体通信技術を利用して、プリンタ30の位置を特定するようにしてもよい。
また、位置検出部54にGPS機能とPHS機能の双方を搭載し、通常はGPSを用いて設置位置を検出するが、電波事情等によりGPSを用いて位置検出ができない場合には、PHSにより位置検出をするようにしてもよい。
さらに本実施形態に係るプリンタ30は、内部バス46に接続されたEEPROM(Electrically Erasable Programmable ROM)56を不揮発性半導体記憶装置として、備えている。このEEPROM56に格納された情報は、プリンタ30の電源をオフにした場合でも、保持されることになる。
また、図3においては、位置検出部54をプリンタ30に内蔵しているが、この位置検出部54は、図4に示すように、プリンタ30の外付けにするようにしてもよい。例えば、必要が生じたときに、GPSを搭載した携帯電話をプリンタ30に接続し、プリンタ30に位置検出機能を持たせるようにしてもよい。
図5は、印刷クライアント20の内部構成を説明するためのブロック図である。この図5に示すように、本実施形態に係る印刷クライアント20は、コンピュータ本体60とディスプレイ62とを備えて構成されている。
コンピュータ本体60は、CPU64と、RAM66と、ROM68とを備えており、これらは互いに内部バス70を介して接続されている。また、この内部バス70には、通信用のインターフェース72が接続されており、この通信用のインターフェース72を介して、上述したネットワーク10に印刷クライアント20が接続されている。
さらに、内部バス70には、インターフェース74が接続されており、このインターフェース74には大容量記憶装置であるハードディスク76が接続されている。また、内部バス70には、位置検出部77が接続されている。この位置検出部77は、印刷クライアント20が設置されている位置を特定する機能を有する。本実施形態においては、例えば、GPS(global positioning system)により構成されており、この印刷クライアント20が設置されている位置の緯度、経度、高度が特定できるようになっている。
但し、この位置検出部77は、GPSを用いた構成に限らず、例えば、無線LANによりこの印刷クライアント20がネットワーク10に接続されている場合には、この印刷クライアント20が収容されている無線基地局に基づいて、印刷クライアント20の位置を特定するようにしてもよい。或いは、PHS(Personal Handyphone System)などの移動体通信技術を利用して、印刷クライアント20の位置を特定するようにしてもよい。
また、位置検出部77にGPS機能とPHS機能の双方を搭載し、通常はGPSを用いて設置位置を検出するが、電波事情等によりGPSを用いて位置検出ができない場合には、PHSにより位置検出をするようにしてもよい。
さらに、内部バス70には、インターフェース78が接続されており、このインターフェース78から延びるケーブル80を介して、上述したディスプレイ62が接続されている。
また、図5においては、位置検出部77を印刷クライアント20に内蔵しているが、この位置検出部77は、図6に示すように、印刷クライアント20の外付けにするようにしてもよい。例えば、必要が生じたときに、GPSを搭載した携帯電話を印刷クライアント20に接続し、印刷クライアント20に位置検出機能を持たせるようにしてもよい。
次に、図1を用いて説明した処理を実現するために、プリンタ30、及び、印刷クライアント20で実行される処理を詳しく説明する。
まず、図7に基づいて、プリンタ30の設置時にプリンタ30で実行されるプリンタ公開鍵生成処理について説明する。この図7は、プリンタ30で実行されるプリンタ公開鍵生成処理を説明するフローチャートである。このプリンタ公開鍵生成処理は、プリンタのROM44に格納されているプリンタ公開鍵生成プログラムをCPU40が読み込んで実行することにより実現される処理である。
図7に示すように、まず、プリンタ30は、プリンタ30の操作者に設置認定情報を入力するように要求する(ステップS100)。例えば、プリンタ30は、このプリンタ30に設けられている表示パネルに、設置認証情報を入力する指示を、表示する。操作者は、例えば、プリンタ30に設けられている操作パネルを操作して、設置認証情報を入力する。例えば、本実施形態においては、この設置認証情報は、設置認証情報用のIDとパスワードの組み合わせにより構成されている。したがって、操作者は、操作パネルから、これら設置認証情報用のIDとパスワードとを入力する。
次に、プリンタ30は、入力された設置認証情報が、予めこのプリンタ30に登録されている設置認証情報と一致するかどうかを判断する(ステップS102)。具体的には、上述したように、操作者が入力した設置認証情報用のIDとパスワードが、予めプリンタ30に登録されている設置認証情報用のIDとパスワードと一致するかどうかを判断する。本実施形態においては、例えば、プリンタ30の製品出荷時に、EEPROM56にこの設置認証情報用のIDとパスワードが格納されており、この設置認証情報用のIDとパスワードを知り得るのは、このプリンタ30の製造メーカだけという仕組みになっている。
設置認証情報が一致しなかった場合(ステップS102:No)には、プリンタ30は、プリンタ30の表示パネルに設置認証情報が一致しなかった旨を表示し(ステップS104)、このプリンタ公開鍵生成処理を終了する。
一方、設置認証情報が一致した場合(ステップS102:Yes)には、プリンタ30は、このプリンタ30の機器固有情報を取得する(ステップS106)。ここで、機器固有情報とは、このプリンタ30に関して、固有に割り当てられている識別情報であり、例えば、プリンタ30の製造シリアルナンバー、MACアドレス等がある。
次に、プリンタ30は、位置検出部54から、その時点におけるプリンタ30のプリンタ位置情報を取得する(ステップS108)。続いて、プリンタ30は、機器固有情報とプリンタ位置情報とを用いてパスフレーズを作成する(ステップS110)。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、単純に機器固有情報の後ろにプリンタ位置情報をつなげることにより、パスフレーズを作成する。なお、パスフレーズは、これら機器固有情報及びプリンタ位置情報以外のデータを含んでいてもよい。
次に、プリンタ30は、作成したパスフレーズを用いて、公開鍵暗号法により、公開鍵(プリンタ公開鍵)と秘密鍵(プリンタ秘密鍵)とを生成する(ステップS112)。公開鍵暗号法では、使用するパスフレーズが同じであれば、再び、公開鍵と秘密鍵とを生成しても、同じものが生成されるという性質を有している。続いて、プリンタ30は、この生成したプリンタ公開鍵とプリンタ秘密鍵のうち、プリンタ公開鍵のみを格納して保持する(ステップS114)。なお、プリンタ秘密鍵は保存されることなく破棄される。これにより、本実施形態に係るプリンタ公開鍵生成処理が終了する。
図8は、ステップS114でプリンタ公開鍵が格納されるプリンタ公開鍵格納部TB10の一例を示す図である。本実施形態においては、このプリンタ公開鍵格納部TB10は、EEPROM56内に形成される。このため、このプリンタ公開鍵格納部TB10に格納されたプリンタ公開鍵は、プリンタ30の電源がオフになっても不揮発的に保持される。
次に、図9に基づいて、印刷クライアント20の設置時に印刷クライアント20で実行されるクライアント公開鍵生成処理について説明する。この図9は、印刷クライアント20で実行されるクライアント公開鍵生成処理を説明するフローチャートである。このクライアント公開鍵生成処理は、印刷クライアント20のROM68又はハードディスク76に格納されているクライアント公開鍵生成プログラムをCPU64が読み込んで実行することにより実現される処理である。
図9に示すように、まず、印刷クライアント20は、印刷クライアント20の操作者に設置認定情報を入力するように要求する(ステップS150)。例えば、印刷クライアント20は、この印刷クライアント20のディスプレイ62に、設置認証情報を入力する指示を、表示する。操作者は、例えば、印刷クライアント20のキーボードを操作して、設置認証情報を入力する。例えば、本実施形態においては、この設置認証情報は、設置認証情報用のIDとパスワードの組み合わせにより構成されている。したがって、操作者は、操作パネルから、これら設置認証情報用のIDとパスワードとを入力する。
次に、印刷クライアント20は、入力された設置認証情報が、予めこの印刷クライアント20に登録されている設置認証情報と一致するかどうかを判断する(ステップS152)。具体的には、上述したように、操作者が入力した設置認証情報用のIDとパスワードが、予め印刷クライアント20に登録されている設置認証情報用のIDとパスワードと一致するかどうかを判断する。本実施形態においては、例えば、印刷クライアント20の製品出荷時に、ハードディスク76にこの設置認証情報用のIDとパスワードが格納されており、この設置認証情報用のIDとパスワードを知り得るのは、この印刷クライアント20の製造メーカだけという仕組みになっている。
設置認証情報が一致しなかった場合(ステップS152:No)には、印刷クライアント20は、印刷クライアント20のディスプレイ62に設置認証情報が一致しなかった旨を表示し(ステップS154)、このクライアント公開鍵生成処理を終了する。
一方、設置認証情報が一致した場合(ステップS152:Yes)には、印刷クライアント20は、この印刷クライアント20の機器固有情報を取得する(ステップS156)。ここで、機器固有情報とは、この印刷クライアント20に関して、固有に割り当てられている識別情報であり、例えば、印刷クライアント20の製造シリアルナンバー、MACアドレス等がある。
次に、印刷クライアント20は、位置検出部77から、その時点における印刷クライアント20のクライアント位置情報を取得する(ステップS158)。続いて、印刷クライアント20は、機器固有情報とクライアント位置情報とを用いてパスフレーズを作成する(ステップS160)。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、単純に機器固有情報の後ろにクライアント位置情報をつなげることにより、パスフレーズを作成する。なお、パスフレーズは、これら機器固有情報及びクライアント位置情報以外のデータを含んでいてもよい。
次に、印刷クライアント20は、作成したパスフレーズを用いて、公開鍵暗号法により、公開鍵(クライアント公開鍵)と秘密鍵(クライアント秘密鍵)とを生成する(ステップS162)。公開鍵暗号法では、使用するパスフレーズが同じであれば、再び、公開鍵と秘密鍵とを生成しても、同じものが生成されるという性質を有している。続いて、印刷クライアント20は、この生成したクライアント公開鍵とクライアント秘密鍵のうち、クライアント公開鍵のみを格納して保持する(ステップS164)。なお、クライアント秘密鍵は保存されることなく破棄される。これにより、本実施形態に係るクライアント公開鍵生成処理が終了する。
図10は、ステップS164でクライアント公開鍵が格納されるクライアント公開鍵格納部TB20の一例を示す図である。本実施形態においては、このクライアント公開鍵格納部TB20は、ハードディスク76内に形成される。このため、このクライアント公開鍵格納部TB20に格納されたクライアント公開鍵は、印刷クライアント20の電源がオフになっても不揮発的に保持される。
図11乃至図13は、印刷クライアント20で実行される印刷要求処理を説明するフローチャートである。この印刷要求処理は、印刷クライアントのROM68又はハードディスク76に格納されている印刷要求プログラムをCPU64が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷要求処理は、ユーザが印刷すべきデータを作成し、プリンタ30で印刷を行うように印刷クライアント20に指示した際に起動される処理である。
この図11に示すように、まず、印刷クライアント20は、プリンタ30にプリンタ公開鍵の送信を要求するプリンタ公開鍵取得要求を送信する(ステップS200)。続いて、印刷クライアント20は、プリンタ30からプリンタ公開鍵を受信したかどうかを判断する(ステップS202)。プリンタ公開鍵を受信していない場合(ステップS202:No)には、このステップS202の処理を繰り返して待機する。
一方、プリンタ公開鍵を受信した場合(ステップS202:Yes)には、印刷クライアント20は乱数を生成し、これをクライアント乱数とする(ステップS204)。本実施形態においては、CPU64がソフトウェア的に乱数を生成する。
次に、印刷クライアント20は、ステップS202で受信したプリンタ公開鍵を用いて、ステップS204で生成したクライアント乱数を暗号化し、暗号化クライアント乱数を生成する(ステップS205)。そして、この暗号化クライアント乱数をプリンタ30に送信する(ステップS206)。
次に、印刷クライアント20は、プリンタ30から解読不能通知を受信したかどうかを判断する(ステップS208)。この解読不能通知を受信した場合(ステップS208:Yes)には、ユーザにプリンタ30が暗号化クライアント乱数を復号できなかった旨を通知し(ステップS210)、この印刷要求処理を終了する。
一方、ステップS208で解読不能通知を受信していない場合(ステップS208:No)には、プリンタ30からクライアント公開鍵取得要求を受信したかどうかを判断する(ステップS212)。クライアント公開鍵取得要求を受信していない場合(ステップS212:No)には、上述したステップS208からを繰り返す。
一方、クライアント公開鍵取得要求を受信した場合(ステップS212:Yes)には、印刷クライアント20は、クライアント公開鍵格納部TB20から、クライアント公開鍵を取得する(ステップS214)。続いて、印刷クライアント20は、このクライアント公開鍵をプリンタ30に送信する(ステップS216)。
次に、図12に示すように、印刷クライアント20は、プリンタ30から暗号化プリンタ乱数を受信したかどうかを判断する(ステップS250)。暗号化プリンタ乱数を受信していない場合(ステップS250:No)には、このステップS250を繰り返して待機する。
一方、暗号化プリンタ乱数を受信した場合(ステップS250:Yes)には、印刷クライアント20は、印刷クライアント20の機器固有情報を取得する(ステップS252)。続いて、印刷クライアント20は、位置検出部77から、その時点における印刷クライアント20のクライアント位置情報を取得する(ステップS254)。このようにクライアント位置情報を、その都度、位置検出部77から取得することとしているのは、印刷クライアント20が当初設置された場所から別の場所に移動されている可能性があり、このような場合には印刷クライアント20で印刷が行われないようにするためである。
次に、印刷クライアント20は、機器固有情報とクライアント位置情報とに基づいて、パスフレーズを作成する(ステップS256)。このパスフレーズの作成手法は、上述したクライアント公開鍵生成処理におけるステップS160と同じ手法である必要がある。なぜなら、パスフレーズが異なると、プリンタ30から送信された暗号化プリンタ乱数を、クライアント秘密鍵で復号できなくなってしまうからである。
次に、印刷クライアント20は、ステップS256で生成したパスフレーズを用いて、公開鍵暗号法によりクライアント公開鍵とクライアント秘密鍵とを生成する(ステップS258)。続いて、印刷クライアント20は、生成されたクライアント秘密鍵を用いて、受信した暗号化プリンタ乱数を復号し、プリンタ乱数を取得する(ステップS260)。続いて、印刷クライアント20は、ステップS258で生成したクライアント公開鍵とクライアント秘密鍵とを破棄する(ステップS262)。
次に、印刷クライアント20は、ステップS260で暗号化プリンタ乱数が復号され、プリンタ乱数を取得することができたかどうかを判断する(ステップS264)。暗号化プリンタ乱数の復号ができなかった場合(ステップS264:No)には、ユーザに、印刷クライアント20が移動されてしまったため暗号化プリンタ乱数の復号ができない旨を通知して(ステップS266)、この印刷要求処理を終了する。
一方、暗号化プリンタ乱数の復号ができた場合(ステップS264:Yes)には、ステップS204で生成したクライアント乱数と、ステップS260で取得したプリンタ乱数とを用いて、1つの変数を生成する(ステップS268)。変数の生成手法には様々な手法が考えられるが、本実施形態においては、例えば、(1)クライアント乱数とプリンタ乱数を掛け合わせる、(2)クライアント乱数とプリンタ乱数の排他的論理和を算出する、(3)適当に組み合わせた式をかけるのいずれかの手法で生成する。
次に、図13に示すように、印刷クライアント20は、ステップS268で生成した変数を用いて、共通鍵を生成する(ステップS300)。続いて、印刷クライアント20は、印刷データを生成する(ステップS302)。この印刷データは、プリンタ30が実際に印刷を行うのに必要となるデータである。
次に、印刷クライアント20は、生成した印刷データを、ステップS300で生成した共通鍵を用いて暗号化し、暗号化印刷データを生成する(ステップS304)。続いて、印刷クライアント20は、この暗号化印刷データをプリンタ30に送信する(ステップS306)。続いて、印刷クライアント20は、ステップS300で生成した共通鍵を破棄する(ステップS308)。続いて、印刷クライアント20は、ステップS204で生成したクライアント乱数と、ステップS260で取得したプリンタ乱数と、ステップS268で生成した変数を、破棄する(ステップS310)。
次に、印刷クライアント20は、プリンタ30から解読不能通知を受信したかどうかを判断する(ステップS312)。この解読不能通知を受信した場合(ステップS312:Yes)には、ユーザに暗号化印刷データの復号ができなかった旨を通知して、この印刷要求処理を終了する。
一方、解読不能通知を受信していない場合(ステップS312:No)には、プリンタ30から印刷完了通知を受信したかどうかを判断する(ステップS316)。印刷完了通知を受信していない場合(ステップS316:No)には、上述したステップS312からを繰り返す。
一方、印刷完了通知を受信した場合(ステップS316:Yes)には、印刷が正常に完了したことになるので、この印刷要求処理を終了する。
次に、図14乃至図16に基づいて、印刷クライアント20の印刷要求処理に対応して、プリンタ30で実行される印刷実行処理について説明する。図14乃至図16は、プリンタ30で実行される印刷実行処理を説明するフローチャートである。この印刷実行処理は、プリンタ30のROM44に格納されている印刷実行プログラムをCPU40が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷実行処理は、定常的に実行されている処理である。
図14に示すように、プリンタ30は、印刷クライアント20からプリンタ公開鍵取得要求を受信したかどうかを判断する(ステップS350)。このプリンタ公開鍵取得要求を受信していない場合(ステップS350:No)には、このステップS350の処理を繰り返して待機する。
一方、プリンタ公開鍵取得要求を受信した場合(ステップS350:Yes)には、プリンタ30は、プリンタ公開鍵格納部TB10からプリンタ公開鍵を取得する(ステップS352)。続いて、プリンタ30は、このプリンタ公開鍵を印刷クライアント20に送信する(ステップS354)。
次に、プリンタ30は、印刷クライアント20から暗号化クライアント乱数を受信したかどうかを判断する(ステップS356)。この暗号化クライアント乱数を受信していない場合(ステップS356:No)には、このステップS356の処理を繰り返して待機する。
一方、暗号化クライアント乱数を受信した場合(ステップS356:Yes)には、プリンタ30は自らの機器固有情報を取得する(ステップS358)。続いて、プリンタ30は、位置検出部54から、その時点におけるプリンタ30のプリンタ位置情報を取得する(ステップS360)。このようにプリンタ位置情報を、その都度、位置検出部54から取得することとしているのは、プリンタ30が当初設置された場所から別の場所に移動されている可能性があり、このような場合にはプリンタ30で印刷が行われないようにするためである。
次に、プリンタ30は、機器固有情報とプリンタ位置情報とに基づいて、パスフレーズを作成する(ステップS362)。このパスフレーズの作成手法は、上述したプリンタ公開鍵生成処理におけるステップS110と同じ手法である必要がある。なぜなら、パスフレーズが異なると、印刷クライアント20から送信された暗号化クライアント乱数を、プリンタ秘密鍵で復号できなくなってしまうからである。
次に、プリンタ30は、パスフレーズを用いて、公開鍵暗号法によりプリンタ公開鍵とプリンタ秘密鍵とを生成する(ステップS364)。続いて、図15に示すように、プリンタ30は、生成されたプリンタ秘密鍵を用いて、受信した暗号化クライアント乱数を復号して、クライアント乱数を取得する(ステップS400)。続いて、プリンタ30は、ステップS364で生成したプリンタ公開鍵とプリンタ秘密鍵とを破棄する(ステップS402)。
次に、プリンタ30は、ステップS400で暗号化クライアント乱数が復号され、クライアント乱数を取得することができたかどうかを判断する(ステップS404)。暗号化クライアント乱数の復号ができなかった場合(ステップS404:No)には、印刷クライアント20に、プリンタ30が移動されてしまったため暗号化クライアント乱数の復号ができない旨の解読不能通知を送信して(ステップS406)、上述したステップS350の処理に戻る。
一方、暗号化クライアント乱数の復号ができた場合(ステップS404:Yes)には、プリンタ30は、印刷クライアント20にクライアント公開鍵の送信を要求するクライアント公開鍵取得要求を送信する(ステップS408)。続いて、プリンタ30は、印刷クライアント20からクライアント公開鍵を受信したかどうかを判断する(ステップS410)。クライアント公開鍵を受信していない場合(ステップS410:No)には、このステップS410の処理を繰り返して待機する。
一方、クライアント公開鍵を受信した場合(ステップS410:Yes)には、プリンタ30は乱数を生成し、これをプリンタ乱数とする(ステップS412)。本実施形態においては、CPU40がソフトウェア的に乱数を生成する。
次に、プリンタ30は、ステップS410で受信したクライアント公開鍵を用いて、ステップS412で生成したプリンタ乱数を暗号化し、暗号化プリンタ乱数を生成する(ステップS414)。そして、この暗号化プリンタ乱数を印刷クライアント20に送信する(ステップS416)。
次に、図16に示すように、プリンタ30は、印刷クライアント20から解読不能通知を受信したかどうかを判断する(ステップS450)。この解読不能通知を受信した場合(ステップS450:Yes)には、プリンタ30は、上述したステップS350の処理に戻る。
一方、ステップS450で解読不能通知を受信していない場合(ステップS450:No)には、印刷クライアント20から暗号化印刷データを受信したかどうかを判断する(ステップS452)。暗号化印刷データを受信していない場合(ステップS452:No)には、上述したステップS450からを繰り返す。
一方、暗号化印刷データを受信した場合(ステップS452:Yes)には、ステップS400で取得したクライアント乱数と、ステップS412で生成したプリンタ乱数とを用いて、1つの変数を生成する(ステップS454)。このステップS454における変数の生成手法は、上述したステップS268における変数の生成手法と同じである必要がある。このため、ここで生成される変数は、ステップS268で生成される変数と同じになる。
次に、プリンタ30は、ステップS454で生成した変数を用いて、共通鍵を生成する(ステップS456)。このステップS456で生成される共通鍵は、ステップS300で生成される共通鍵と同じになる。なぜなら、共通鍵を生成する際に使用する変数が、ステップS300と同じだからである。
次に、プリンタ30は、この共通鍵を用いて、受信した暗号化印刷データを復号し、印刷データを取得する(ステップS458)。続いて、プリンタ30は、暗号化印刷データの復号ができたかどうかを判断する(ステップS459)。暗号化印刷データの復号ができなかった場合(ステップS459:No)には、プリンタ30は解読不能通知を印刷クライアント20に送信し(ステップS470)、上述したステップS350の処理に戻る。
一方、暗号化印刷データの復号ができた場合(ステップS459:Yes)には、プリンタ30は、得られた印刷データに基づいて、印刷エンジン52を駆動した印刷を実行する(ステップS460)。具体的には、印刷データの言語解釈を行い、印刷エンジン52に適合した印刷要求データを生成する。そして、この印刷要求データを印刷エンジン52に送信することにより、印刷エンジン52で印刷用紙等に印刷が行われる。
次に、プリンタ30は、ステップS456で生成した共通鍵を破棄する(ステップS462)。続いて、プリンタ30は、ステップS400で取得したクライアント乱数と、ステップS412で生成したプリンタ乱数と、ステップS456で生成した変数を破棄する(ステップS464)。続いて、プリンタ30は、印刷が正常に完了した旨の印刷完了通知を印刷クライアント20に送信する(ステップS466)。そして、上述したステップS350の処理に戻る。
図17は、上述した各処理をハードウェアにより実現した場合の構成を示す機能ブロック図である。この図17に示すように、プリンタ30を設置する際に、プリンタ30の設置されている場所を特定するためのプリンタ位置情報を位置検出部54から取得し、これを第1プリンタ位置情報とし、プリンタ公開鍵生成部100は、この第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する。そして、プリンタ公開鍵生成部100で生成したプリンタ公開鍵を、プリンタ公開鍵保持部102に保持させる。
一方、印刷クライアント20を設置する際に、印刷クライアント20の設置されている場所を特定するためのクライアント位置情報を位置検出部77から取得し、これを第1クライアント位置情報とし、クライアント公開鍵生成部220は、この第1クライアント位置情報を少なくとも含むパスフレーズを用いて、クライアント公開鍵を生成する。そして、クライアント公開鍵生成部220で生成したクライアント公開鍵を、クライアント公開鍵保持部222に保持させる。
そして、本実施形態においては、印刷クライアント20は、ユーザから印刷を要求された場合に、プリンタ公開鍵送信要求送信部200が、プリンタ公開鍵の送信を要求するプリンタ公開鍵送信要求を、プリンタ30に送信する。プリンタ30では、印刷クライアント20から送信されたプリンタ公開鍵送信要求を、プリンタ公開鍵送信要求受信部106で受信する。このプリンタ公開鍵送信要求を受信した場合には、プリンタ30では、プリンタ公開鍵送信部106が、プリンタ公開鍵保持部102に保持されているプリンタ公開鍵を読み出して、印刷クライアント20に送信する。
印刷クライアント20では、プリンタ公開鍵受信部202で、プリンタ30から送信されたプリンタ公開鍵を受信する。そして、クライアント乱数生成部204で、クライアント乱数を生成する。続いて、暗号化クライアント乱数生成部206で、プリンタ公開鍵受信部202で受信したプリンタ公開鍵を用いて、このクライアント乱数を暗号化することにより、暗号化クライアント乱数を生成する。続いて、暗号化クライアント乱数送信部208は、この暗号化クライアント乱数を、プリンタ30に送信する。
プリンタ30の暗号化クライアント乱数受信部110では、印刷クライアント20から送信された暗号化クライアント乱数を受信する。また、プリンタ30では、位置検出部54からプリンタ位置情報を取得し、これを第2プリンタ位置情報とし、プリンタ秘密鍵生成部112は、この第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する。そして、クライアント乱数取得部114は、プリンタ秘密鍵生成部112で生成したプリンタ秘密鍵を用いて、暗号化クライアント乱数を復号して、クライアント乱数を取得する。
また、プリンタ30のクライアント公開鍵送信要求送信部120は、印刷クライアント20に、クライアント公開鍵の送信を要求するクライアント公開鍵送信要求を送信する。このクライアント公開鍵送信要求は、印刷クライアント20のクライアント公開鍵送信要求受信部224で受信される。このクライアント公開鍵送信要求を受信した場合、印刷クライアント20のクライアント公開鍵送信部226は、クライアント公開鍵保持部222から、公開鍵を取得して、プリンタ30に送信する。
印刷クライアント20から送信されたクライアント公開鍵は、プリンタ30のクライアント公開鍵受信部122で受信される。クライアント公開鍵を受信した場合、プリンタ30のプリンタ乱数生成部124は、プリンタ乱数を生成する。そして、暗号化プリンタ乱数生成部126は、このプリンタ乱数を、クライアント公開鍵を用いて暗号化し、暗号化プリンタ乱数を生成する。続いて、暗号化プリンタ乱数送信部128は、この生成した暗号化プリンタ乱数を、印刷クライアント20に送信する。
プリンタ30から送信された暗号化プリンタ乱数は、暗号化プリンタ乱数受信部240で受信される。この暗号化プリンタ乱数を受信した印刷クライアント20では、クライアント秘密鍵生成部242が、位置検出部からその時点のクライアント位置情報を取得して、これを第2クライアント位置情報とし、この第2クライアント位置情報を少なくとも含むパスフレーズを用いてクライアント秘密鍵を生成する。プリンタ乱数取得部244は、この生成したクライアント秘密鍵を用いて、暗号化プリンタ乱数を復号し、プリンタ乱数を取得する。そして、共通鍵生成部246は、クライアント乱数生成部204で生成したクライアント乱数と、プリンタ乱数取得部244で取得したプリンタ乱数とを用いて、1つの共通鍵を生成する。
次に、印刷クライアント20は、印刷データ生成部260で印刷データを生成する。続いて、暗号化印刷データ生成部262は、共通鍵を用いて、この印刷データを暗号化し、暗号化印刷データを生成する。そして、暗号化印刷データ送信部264は、この暗号化印刷データを、プリンタ30に送信する。
印刷クライアント20から送信された暗号化印刷データは、プリンタ30の暗号化印刷データ受信部130で受信される。また、共通鍵取得部132では、プリンタ乱数生成部124で生成したプリンタ乱数と、クライアント乱数取得部114で取得したクライアント乱数とを用いて、共通鍵を生成する。そして、印刷データ取得部134では、この共通鍵を用いて、暗号化印刷データを復号し、印刷データを取得し、印刷実行部136では、この印刷データに基づいて印刷を実行する。
以上のように、本実施形態に係る印刷システムによれば、印刷クライアント20はクライアント公開鍵を生成した場所でのみ正常な印刷要求をすることができ、プリンタ30はプリンタ公開鍵を生成した場所でのみ正常な印刷を行うことができる。このため、印刷クライアント20とプリンタ30の使用できる場所を制限することができる。
すなわち、本実施形態におけるプリンタ30では、このプリンタ30がプリンタ公開鍵を生成した場所と異なる場所に移動された場合には、印刷クライアント20から送信された暗号化クライアント乱数を正しく復号できないので、正しいクライアント乱数を取得することができない。このため、プリンタ30は正しい共通鍵を生成できないのである。
一方、本実施形態における印刷クライアント20では、この印刷クライアント20がクライアント公開鍵を生成した場所と異なる場所に移動された場合には、プリンタ30から送信された暗号化プリンタ乱数を正しく復号できないので、正しいプリンタ乱数を取得することができない。このため、印刷クライアント20は正しい共通鍵を生成できないのである。
しかも、本実施形態においては、印刷データは共通鍵を用いて暗号化されている。一般に、公開鍵暗号法による秘密鍵でデータを復号する速度よりも、共通鍵暗号法による共通鍵でデータを復号する速度の方が、1000倍程度速いと言われている。このため、データ量の大きい印刷データを、共通鍵を用いて迅速に復号することができるようになる。
また、これに伴って、本実施形態に係る印刷システムによれば、印刷クライアント20は、暗号化して送信した暗号化印刷データの印刷をできるプリンタの位置を、実質的に制限することができるので、印刷クライアント20のユーザが意図していない位置にあるプリンタで印刷が行われしまうのを回避することができる。
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態においては、プリンタ位置情報に加えて、機器固有情報をパスフレーズに用いたが、機器固有情報は必ずしも必要なものではない。
また、使用できる位置を制限するデータ受信装置としてプリンタを例示して説明したが、本発明はプリンタに限定されるものではない。さらに、データ送信装置も、印刷クライアントに限定されるものではない。
例えば、データ送受信システムにおけるデータ送信装置が画像撮影用のデジタルカメラであり、データ受信装置がデジタルカメラで撮影した画像データを蓄積するデータサーバであってもよい。この場合、デジタルカメラから送信される乱数はデータサーバから受信した公開鍵を用いて暗号化されており、この暗号化された乱数を受信したデータサーバでは、上述した手法により乱数を取得して、共通鍵を取得する。また、データサーバから送信される乱数はデジタルカメラから受信した公開鍵を用いて暗号化されており、この暗号化された乱数を受信したデジタルカメラでは、上述した手法により乱数を取得して、共通鍵を取得する。そして、デジタルカメラから送信されるデータは、共通鍵を用いて暗号化されており、この暗号化されたデータを受信したデータサーバは、取得した共通鍵を用いてこれを復号し、データを取得する。そして、データサーバは、データの復号できた場合には、そのデータを蓄積することとなる。
また、上述した実施形態では、プリンタ30の印刷媒体が印刷用紙である場合を例に説明したが、印刷媒体はこれに限るものではなく、例えば、OHPシート等の他の印刷媒体であっても本発明を適用することができる。
さらに、上述の実施形態で説明した各処理については、これら各処理を実行するためのプログラムをフレキシブルディスク、CD−ROM(Compact Disc-Read Only Memory)、ROM、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、このプログラムが記録された記録媒体を印刷クライアント20及び/又はプリンタ30に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
また、印刷クライアント20及び/又はプリンタ30は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、印刷クライアント20及び/又はプリンタ30の備える他のプログラムを活用し、記録媒体には印刷クライアント20及び/又はプリンタ30が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を記録するようにしてもよい。
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、印刷クライアント20及び/又はプリンタ30に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ印刷クライアント20及び/又はプリンタ30は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
本発明の一実施形態に係る印刷システムにおける共通鍵、公開鍵、及び、秘密鍵の用い方を説明する図。 本実施形態に係る印刷システムの全体構成を説明するブロック図。 本実施形態に係るプリンタのハードウェア構成を説明するブロック図。 プリンタのハードウェア構成の変形例を説明するブロック図。 本実施形態に係る印刷クライアントのハードウェア構成を説明する図。 印刷クライアントのハードウェア構成の変形例を説明する図。 本実施形態におけるプリンタ公開鍵生成処理を説明するフローチャートを示す図。 本実施形態におけるプリンタ公開鍵格納部の構成の一例を示す図。 本実施形態におけるクライアント公開鍵生成処理を説明するフローチャートを示す図。 本実施形態におけるクライアント公開鍵格納部の構成の一例を示す図。 本実施形態における印刷要求処理を説明するフローチャートを示す図(その1)。 本実施形態における印刷要求処理を説明するフローチャートを示す図(その2)。 本実施形態における印刷要求処理を説明するフローチャートを示す図(その3)。 本実施形態における印刷実行処理を説明するフローチャートを示す図(その1)。 本実施形態における印刷実行処理を説明するフローチャートを示す図(その2)。 本実施形態における印刷実行処理を説明するフローチャートを示す図(その3)。 本実施形態に係る印刷システムの処理をハードウェアにより実現した場合を説明する機能ブロック図。
符号の説明
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 位置検出部

Claims (7)

  1. 印刷データに基づいて印刷を行うプリンタであって、
    リンタ位置情報取得手段が検出した位置情報を、当該プリンタの設置されている場所を特定するためのプリンタ位置情報として取得し、これを第1プリンタ位置情報とする、第1プリンタ位置情報取得手段と、
    前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、第1のプリンタ公開鍵と第1のプリンタ秘密鍵とを生成するが、前記第1のプリンタ秘密鍵は破棄する、プリンタ公開鍵生成手段と、
    前記プリンタ公開鍵生成手段で生成した前記第1のプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
    印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されている前記第1のプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
    印刷要求が発生した前記印刷クライアントから、前記第1のプリンタ公開鍵を用いてクライアント乱数を暗号化することにより生成された暗号化クライアント乱数を受信する、暗号化クライアント乱数受信手段と、
    暗号化クライアント乱数受信手段が前記暗号化クライアント乱数を受信した後に、前記プリンタ位置情報取得手段が検出した位置情報を、前記プリンタ位置情報として取得し、これを第2プリンタ位置情報とする、第2プリンタ位置情報取得手段と、
    前記プリンタ公開鍵生成手段と同一の手法により、前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、第2のプリンタ公開鍵と第2のプリンタ秘密鍵とを生成するが、前記第2のプリンタ公開鍵は破棄する、プリンタ秘密鍵生成手段と、
    前記プリンタ秘密鍵生成手段で生成された前記第2のプリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するとともに、前記第2のプリンタ秘密鍵は保持することなく破棄する、クライアント乱数取得手段と、
    プリンタ乱数を生成する、プリンタ乱数生成手段と、
    前記印刷クライアントから、クライアント公開鍵を受信する、クライアント公開鍵受信手段と、
    前記クライアント公開鍵を用いて、前記プリンタ乱数を暗号化することにより、暗号化プリンタ乱数を生成する、暗号化プリンタ乱数生成手段と、
    前記暗号化プリンタ乱数を前記印刷クライアントに送信する、暗号化プリンタ乱数送信手段と、
    当該プリンタと前記印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
    前記印刷クライアントから、前記送信した暗号化プリンタ乱数を復号することにより取得したプリンタ乱数と前記クライアント乱数とを用いて生成された共通鍵を用いて印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
    前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
    前記印刷データ取得手段で前記暗号化印刷データを復号した後に、前記共通鍵生成手段で生成された前記共通鍵を破棄する、共通鍵破棄手段と、
    を備えることを特徴とするプリンタ。
  2. 前記プリンタ公開鍵生成手段は、前記第1プリンタ位置情報に加えて、当該プリンタの固有の情報である機器固有情報を含むパスフレーズを用いて、前記第1のプリンタ公開鍵と前記第のプリンタ秘密鍵とを生成するとともに、
    前記プリンタ秘密鍵生成手段も、前記第2プリンタ位置情報に加えて、前記機器固有情報を含むパスフレーズを用いて、前記第2のプリンタ公開鍵と前記第2のプリンタ秘密鍵とを生成する、
    ことを特徴とする請求項1に記載のプリンタ。
  3. 印刷データに基づいて印刷を行うプリンタの制御方法であって、
    リンタ位置情報取得手段が検出した位置情報を、当該プリンタの設置されている場所を特定するためのプリンタ位置情報として取得し、これを第1プリンタ位置情報とするステップと、
    前記第1プリンタ位置情報を少なくとも含むパスフレーズを用いて、第1のプリンタ公開鍵と第1のプリンタ秘密鍵とを生成するステップと、
    前記第1のプリンタ公開鍵を、プリンタ公開鍵保持手段に保持させるステップと、
    前記第1のプリンタ秘密鍵を、破棄するステップと、
    印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されている前記第1のプリンタ公開鍵を印刷クライアントに送信するステップと、
    印刷要求が発生した前記印刷クライアントから、前記第1のプリンタ公開鍵を用いてクライアント乱数を暗号化することにより生成された暗号化クライアント乱数を受信するステップと、
    前記暗号化クライアント乱数を受信した後に、前記プリンタ位置情報取得手段が検出した位置情報を、前記プリンタ位置情報として取得し、これを第2プリンタ位置情報とするステップと、
    前記第1のプリンタ公開鍵と前記第1のプリンタ秘密鍵の生成手法と同一の手法により、前記第2プリンタ位置情報を少なくとも含むパスフレーズを用いて、第2のプリンタ公開鍵と第2のプリンタ秘密鍵とを生成するステップと、
    前記第2のプリンタ秘密鍵を用いて、前記暗号化クライアント乱数を復号して、クライアント乱数を取得するステップと、
    前記第2のプリンタ公開鍵と前記第2のプリンタ秘密鍵とを破棄するステップと、
    プリンタ乱数を生成するステップと、
    前記印刷クライアントから、クライアント公開鍵を受信するステップと、
    前記クライアント公開鍵を用いて、前記プリンタ乱数を暗号化することにより、暗号化プリンタ乱数を生成するステップと、
    前記暗号化プリンタ乱数を前記印刷クライアントに送信するステップと、
    当該プリンタと前記印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
    前記印刷クライアントから、前記送信した暗号化プリンタ乱数を復号することにより取得したプリンタ乱数と前記クライアント乱数とを用いて生成された共通鍵を用いて印刷データを暗号化することにより生成された暗号化印刷データを受信するステップと、
    前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得するステップと、
    前記暗号化印刷データを復号した後に、前記共通鍵を破棄するステップと、
    を備えることを特徴とするプリンタの制御方法。
  4. 印刷データを生成する印刷クライアントであって、
    クライアント位置情報取得手段が検出した位置情報を、当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報として取得し、これを第1クライアント位置情報とする、第1クライアント位置情報取得手段と、
    前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、第1のクライアント公開鍵と第1のクライアント秘密鍵とを生成するが、第1のクライアント秘密鍵は破棄する、クライアント公開鍵生成手段と、
    前記クライアント公開鍵生成手段で生成した前記第1のクライアント公開鍵を保持する、クライアント公開鍵保持手段と、
    プリンタからの要求に応じて、前記クライアント公開鍵保持手段に保持されている前記第1のクライアント公開鍵をプリンタに送信する、クライアント公開鍵送信手段と、
    当該印刷クライアントに印刷要求が発生した後に、前記プリンタから、前記第1のクライアント公開鍵を用いてプリンタ乱数を暗号化することにより生成された暗号化プリンタ乱数を取得する、暗号化プリンタ乱数取得手段と、
    前記暗号化プリンタ乱数取得手段が前記暗号化プリンタ乱数を取得した後に、前記クライアント位置情報取得手段が検出した位置情報を、前記クライアント位置情報として取得し、これを第2クライアント位置情報とする、第2クライアント位置情報取得手段と、
    前記クライアント公開鍵生成手段と同一の手法により、前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、第2のクライアント公開鍵と第2のクライアント秘密鍵とを生成するとともに、前記第2のクライアント公開鍵は破棄する、クライアント秘密鍵生成手段と、
    前記クライアント秘密鍵生成手段で生成された前記第2のクライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得するとともに、前記第2のクライアント秘密鍵は保持することなく破棄する、プリンタ乱数取得手段と、
    クライアント乱数を生成する、クライアント乱数生成手段と、
    前記プリンタから、プリンタ公開鍵を受信する、プリンタ公開鍵受信手段と、
    前記プリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成する、暗号化クライアント乱数生成手段と、
    前記暗号化クライアント乱数を前記プリンタに送信する、暗号化クライアント乱数送信手段と、
    前記プリンタと当該印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成する、共通鍵生成手段と、
    前記共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成する、暗号化印刷データ生成手段と、
    前記プリンタに前記暗号化印刷データを送信する、暗号化印刷データ送信手段と、
    前記暗号化印刷データ生成手段で前記印刷データを暗号化した後に、前記共通鍵生成手段で生成された前記共通鍵を破棄する、共通鍵破棄手段と、
    を備えることを特徴とする印刷クライアント。
  5. 印刷データを生成する印刷クライアントの制御方法であって、
    クライアント位置情報取得手段が検出した位置情報を、当該印刷クライアントの設置されている場所を特定するためのクライアント位置情報として取得し、これを第1クライアント位置情報とするステップと、
    前記第1クライアント位置情報を少なくとも含むパスフレーズを用いて、第1のクライアント公開鍵と第1のクライアント秘密鍵とを生成するステップと、
    前記第1のクライアント公開鍵を、クライアント公開鍵保持手段に保持させるステップと、
    前記第1のクライアント秘密鍵を、破棄するステップと、
    プリンタからの要求に応じて、前記クライアント公開鍵保持手段に保持されている前記第1のクライアント公開鍵をプリンタに送信するステップと、
    当該印刷クライアントに印刷要求が発生した後に、前記プリンタから、前記第1のクライアント公開鍵を用いてプリンタ乱数を暗号化することにより生成された暗号化プリンタ乱数を取得するステップと、
    前記暗号化プリンタ乱数を取得した後に、前記クライアント位置情報取得手段が検出した位置情報を、前記クライアント位置情報として取得し、これを第2クライアント位置情報とするステップと、
    前記第1のクライアント公開鍵と前記第1のクライアント秘密鍵の生成手法と同一の手法により、前記第2クライアント位置情報を少なくとも含むパスフレーズを用いて、第2のクライアント公開鍵と第2のクライアント秘密鍵とを生成するステップと、
    前記第2のクライアント秘密鍵を用いて、前記暗号化プリンタ乱数を復号して、プリンタ乱数を取得するステップと、
    前記第2のクライアント公開鍵と前記第2のクライアント秘密鍵とを破棄するステップと、
    クライアント乱数を生成するステップと、
    前記プリンタから、プリンタ公開鍵を受信するステップと、
    前記プリンタ公開鍵を用いて、前記クライアント乱数を暗号化することにより、暗号化クライアント乱数を生成するステップと、
    前記暗号化クライアント乱数を前記プリンタに送信するステップと、
    前記プリンタと当該印刷クライアントとの間で共通に定められた手法により、前記プリンタ乱数と前記クライアント乱数とを用いて、共通鍵を生成するステップと、
    前記共通鍵を用いて、印刷データを暗号化することにより、暗号化印刷データを生成するステップと、
    前記プリンタに前記暗号化印刷データを送信するステップと、
    前記印刷データを暗号化した後に、前記共通鍵を破棄するステップと、
    を備えることを特徴とする印刷クライアントの制御方法。
  6. 印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムであって、
    前記プリンタは、
    リンタ位置情報取得手段が検出した位置情報を、当該プリンタの設置されている場所を特定するためのプリンタ位置情報として取得し、これを第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共通鍵破棄手段と、
    を備えることを特徴とする印刷システム。
  7. 印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムの制御方法であって、
    前記プリンタのプリンタ位置情報取得手段が検出した位置情報を、前記プリンタの設置されている場所を特定するためのプリンタ位置情報として取得し、これを第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共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得するステップと、
    前記プリンタが前記暗号化印刷データを復号した後に、前記プリンタにおける前記共通鍵を破棄するステップと、
    を備えることを特徴とする印刷システムの制御方法。
JP2003377129A 2003-11-04 2003-11-06 プリンタ、印刷クライアント及び印刷システム Expired - Fee Related JP4395832B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003377129A JP4395832B2 (ja) 2003-11-06 2003-11-06 プリンタ、印刷クライアント及び印刷システム
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 (ja) 2003-11-06 2003-11-06 プリンタ、印刷クライアント及び印刷システム

Publications (2)

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

Family

ID=34687954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003377129A Expired - Fee Related JP4395832B2 (ja) 2003-11-04 2003-11-06 プリンタ、印刷クライアント及び印刷システム

Country Status (1)

Country Link
JP (1) JP4395832B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8045195B2 (en) 2007-03-16 2011-10-25 Oki Data Corporation Image forming apparatus and image forming system
EP2211497A1 (fr) 2009-01-26 2010-07-28 Gemalto SA Procédé d'établissement de communication sécurisée sans partage d'information préalable
JP6168415B2 (ja) 2014-05-27 2017-07-26 パナソニックIpマネジメント株式会社 端末認証システム、サーバ装置、及び端末認証方法
CN105635039B (zh) 2014-10-27 2019-01-04 阿里巴巴集团控股有限公司 一种网络安全通信方法及通信装置
JP6548172B2 (ja) * 2017-06-12 2019-07-24 パナソニックIpマネジメント株式会社 端末認証システム、サーバ装置、及び端末認証方法

Also Published As

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

Similar Documents

Publication Publication Date Title
US7506159B2 (en) Printer and print system
JP4026126B2 (ja) サーバコンピュータ及び印刷システム
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 (ja) プリンタ、印刷クライアント、及び、印刷システム
JP2007082208A (ja) 電子ドキュメントをセキュリティ面で安全にドメイン間で伝送するシステム、方法、およびプログラム
JP4395832B2 (ja) プリンタ、印刷クライアント及び印刷システム
JP3979192B2 (ja) プリンタ及び印刷システム、並びに、データ受信装置及びデータ送受信システム
JP2007088727A (ja) デバイス、無線lan設定システムおよび無線lan設定方法
JP4345056B2 (ja) プリンタ及び印刷システム
JP2012098894A (ja) 印刷システム及び印刷制御方法
JP4370564B2 (ja) プリンタ、印刷システム、及び、位置情報による暗号化データ処理システム
JP4400180B2 (ja) プリンタ及び印刷システム
JPH1173391A (ja) データ通信システムおよび方法
JP5065876B2 (ja) 情報処理装置、情報処理システムおよび情報処理装置で実行されるプログラム
JP4168394B2 (ja) プリンタ及び印刷システム
JP4020108B2 (ja) アドホックネットワーク通信方式および方法ならびにノード装置およびそのプログラム
JP4337474B2 (ja) プリンタ及び印刷システム
JP4269749B2 (ja) プリンタ、及び、印刷システム
JP2011061574A (ja) 無線通信装置と無線通信システム
JP3979322B2 (ja) プリンタ、印刷システム、及び、サーバ
JP4227327B2 (ja) 周辺機器、制御装置、制御方法、及び、制御するプログラムを記憶した媒体
JP4337473B2 (ja) プリンタ及び印刷システム
JP4232510B2 (ja) プリンタ、及び、印刷システム
JP4018376B2 (ja) 制御装置、制御方法、及び、制御プログラムを記憶した媒体

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