(57)【要約】【課題】  印刷が行える場所を制限することのできるプリンタを提供する。【解決手段】  プリンタ３０は、その時点のプリンタ位置情報に依存したプリンタ公開鍵を生成し、印刷クライアント２０に送信する。印刷クライアント２０は、クライアント公開鍵をプリンタ公開鍵で暗号化し、暗号化クライアント公開鍵として、プリンタ３０に送信する。プリンタ３０では、その時点のプリンタ位置情報に依存したプリンタ秘密鍵を生成し、このプリンタ秘密鍵で暗号化クライアント公開鍵を復号して、クライアント公開鍵を取得する。【選択図】  図１
2005138322.tif 000002
【特許請求の範囲】
【請求項１】
印刷データに基づいて印刷を行うプリンタであって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を取得する、プリンタ位置情報取得手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第１プリンタ位置情報とする、第１プリンタ位置情報取得手段と、
前記第１プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
前記印刷クライアントから、前記プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより生成された暗号化クライアント公開鍵を受信する、暗号化クライアント公開鍵受信手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第２プリンタ位置情報とする、第２プリンタ位置情報取得手段と、
前記第２プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント公開鍵受信手段で受信した前記暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得する、クライアント公開鍵取得手段と、
を備えることを特徴とするプリンタ。
【請求項２】
共通鍵を生成する共通鍵生成手段と、
前記クライアント公開鍵を、前記共通鍵を用いて暗号化し、暗号化共通鍵を生成する暗号化共通鍵生成手段と、
前記暗号化共通鍵を前記印刷クライアントに送信する、暗号化共通鍵送信手段と、
をさらに備えることを特徴とする請求項１に記載のプリンタ。
【請求項３】
前記暗号化共通鍵生成手段で前記暗号化共通鍵を生成した後に、前記クライアント公開鍵は破棄する、ことを特徴とする請求項２に記載のプリンタ。
【請求項４】
前記印刷クライアントから、前記共通鍵を用いて印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵生成手段で生成した前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
をさらに備えることを特徴とする請求項３に記載のプリンタ。
【請求項５】
前記印刷クライアントで生成された共通鍵を、クライアント秘密鍵を用いて暗号化することにより生成された暗号化共通鍵を受信する、暗号化共通鍵受信手段と、
前記暗号化共通鍵を前記クライアント公開鍵を用いて復号し、共通鍵を取得する、共通鍵取得手段と、
をさらに備えることを特徴とする請求項１に記載のプリンタ。
【請求項６】
前記共通鍵取得手段で前記共通鍵を取得した後に、前記クライアント公開鍵は破棄する、ことを特徴とする請求項５に記載のプリンタ。
【請求項７】
前記印刷クライアントから、前記共通鍵を用いて印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵取得手段で取得した前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
をさらに備えることを特徴とする請求項６に記載のプリンタ。
【請求項８】
当該プリンタが前記印刷クライアントから印刷の要求を受け付けた後に、前記第２プリンタ位置情報取得手段は、前記プリンタ位置情報取得手段からプリンタ位置情報を取得する、ことを特徴とする請求項１乃至請求項７のいずれかに記載のプリンタ。
【請求項９】
前記暗号化クライアント公開鍵を受信した際に、これを前記印刷の要求であると判断することを特徴とする請求項８に記載のプリンタ。
【請求項１０】
前記プリンタ公開鍵生成手段で、前記プリンタ公開鍵を生成する際にプリンタ秘密鍵が生成された場合でも、このプリンタ秘密鍵は保存されることなく破棄される、ことを特徴とする請求項１乃至請求項９のいずれかに記載のプリンタ。
【請求項１１】
前記プリンタ秘密鍵生成手段で、前記プリンタ秘密鍵を生成する際にプリンタ公開鍵が生成された場合でも、このプリンタ公開鍵は保存されることなく破棄される、ことを特徴とする請求項１乃至請求項１０のいずれかに記載のプリンタ。
【請求項１２】
前記プリンタ公開鍵生成手段は、前記第１プリンタ位置情報に加えて、当該プリンタの固有の情報である機器固有情報を含むパスフレーズを用いて、プリンタ公開鍵を生成するとともに、
前記プリンタ秘密鍵生成手段も、前記第２プリンタ位置情報に加えて、前記機器固有情報を含むパスフレーズを用いて、プリンタ秘密鍵を生成する、
ことを特徴とする請求項１乃至請求項１１のいずれかに記載のプリンタ。
【請求項１３】
印刷データに基づいて印刷を行うプリンタの制御方法であって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を取得するプリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第１プリンタ位置情報とするステップと、
前記第１プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成するステップと、
前記生成したプリンタ公開鍵を、プリンタ公開鍵保持手段に保持させるステップと、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信するステップと、
前記印刷クライアントから、前記プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより生成された暗号化クライアント公開鍵を受信するステップと、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第２プリンタ位置情報とするステップと、
前記第２プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成するステップと、
前記プリンタ秘密鍵を用いて、前記受信した前記暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得するステップと、
を備えることを特徴とするプリンタの制御方法。
【請求項１４】
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムであって、
前記プリンタは、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を取得する、プリンタ位置情報取得手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第１プリンタ位置情報とする、第１プリンタ位置情報取得手段と、
前記第１プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
を備え、
前記印刷クライアントは、
プリンタ公開鍵の送信を要求する公開鍵送信要求を、前記プリンタに送信する、公開鍵送信要求送信手段を備えており、
前記プリンタは、
前記印刷クライアントから送信された前記公開鍵送信要求を受信する、公開鍵送信要求受信手段と、
前記受信した公開鍵送信要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
をさらに備え、
前記印刷クライアントは、
前記プリンタから送信された前記プリンタ公開鍵を受信する、プリンタ公開鍵受信手段と、
前記プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより、暗号化クライアント公開鍵を生成する、暗号化クライアント公開鍵生成手段と、
前記暗号化クライアント公開鍵をプリンタに送信する、暗号化クライアント公開鍵送信手段と、
をさらに備え、
前記プリンタは、
前記印刷クライアントから送信された前記暗号化クライアント公開鍵を受信する、暗号化クライアント公開鍵受信手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第２プリンタ位置情報とする、第２プリンタ位置情報取得手段と、
前記第２プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント公開鍵受信手段で受信した前記暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得する、クライアント公開鍵取得手段と、
をさらに備えることを特徴とする印刷システム。
【請求項１５】
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムの制御方法であって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を取得するプリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第１プリンタ位置情報とするステップと、
前記第１プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成するステップと、
前記生成したプリンタ公開鍵を、プリンタ公開鍵保持手段に保持させるステップと、
プリンタ公開鍵の送信を要求する公開鍵送信要求を、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記公開鍵送信要求を受信するステップと、
前記受信した公開鍵送信要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を、前記プリンタから前記印刷クライアントに送信するステップと、
前記印刷クライアントにおいて、前記プリンタから送信された前記プリンタ公開鍵を受信するステップと、
前記プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより、暗号化クライアント公開鍵を生成するステップと、
前記暗号化クライアント公開鍵を、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記暗号化クライアント公開鍵を受信するステップと、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第２プリンタ位置情報とするステップと、
前記第２プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成するステップと、
前記プリンタ秘密鍵を用いて、前記受信した前記暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得するステップと、
を備えることを特徴とする印刷システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ及び印刷システムに関し、特に、印刷データの印刷を行える場所を制限することのできるプリンタ及びそのようなプリンタを有する印刷システムに関する。
【背景技術】
【０００２】
近年、プリンタを用いたビジネスモデルとして、プリンタメーカがユーザにプリンタを無償で貸し出し、ユーザがこのプリンタを用いて印刷した枚数だけ、そのプリンタメーカに使用料を支払うという形態が、注目されてきている。このようなビジネスモデルにおいては、印刷枚数に応じた課金の他に、使用期間に応じた課金や、使用インク量に応じた課金などが考えられる。
【０００３】
また、コンピュータ等の印刷クライアントからプリンタに印刷データを送信する際に、この印刷データを印刷できるプリンタの位置を制限して、印刷データのセキュリティを確保したいという要望もある。このような要望に対応して、コンピュータからプリンタに印刷データを暗号化して送信するとともに、この暗号化された印刷データが、復号できるプリンタの位置を制限する技術が、特開平１１−３３１１４４号公報（以下、特許文献１という）に開示されている。
【０００４】
この特許文献１の印刷システムでは、暗号化サーバが暗号化鍵と復号化鍵を管理することとしている。そして、データを送信するコンピュータは、暗号化サーバから暗号化鍵を取得する際に、その復号化鍵を送信してもよい位置を指定するとともに、この暗号化鍵で印刷データを暗号化して、プリンタに送信する。この暗号化された印刷データを受信したプリンタでは、プリンタの位置を暗号化サーバに送信し、暗号化サーバでは、そのプリンタの位置がコンピュータに指定された位置と合致した場合にのみ、復号化鍵をプリンタに送信することとしている。
【特許文献１】特開平１１−３３１１４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したようなプリンタを無償で貸し出すビジネスモデルでは、プリンタメーカから貸し出されたプリンタを、ユーザが無断で転売したり、他人に貸し出したりしてしまうと、プリンタメーカがプリンタの使用に応じた課金をすることができなくなってしまう。このため、プリンタメーカとしては、貸し出したプリンタが使用できる場所、つまり、正常な印刷ができる場所を、その貸し出したユーザの場所に限定したい。
【０００６】
特許文献１の印刷システムでは、暗号化されたデータを送信する際に、そのデータを復号できるプリンタの位置を指定できるのみであり、無断で移動されたプリンタであっても、そのプリンタの位置を正しく指定してしまえば、印刷を実行できてしまう。
【０００７】
そこで本発明は、前記課題に鑑みてなされたものであり、予め登録された場所でしか、印刷することのできないプリンタ、及び、そのようなプリンタを含む印刷システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係るプリンタは、印刷データに基づいて印刷を行うプリンタであって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を取得する、プリンタ位置情報取得手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第１プリンタ位置情報とする、第１プリンタ位置情報取得手段と、
前記第１プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
前記印刷クライアントから、前記プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより生成された暗号化クライアント公開鍵を受信する、暗号化クライアント公開鍵受信手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第２プリンタ位置情報とする、第２プリンタ位置情報取得手段と、
前記第２プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント公開鍵受信手段で受信した前記暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得する、クライアント公開鍵取得手段と、
を備えることを特徴とする。
【０００９】
この場合、共通鍵を生成する共通鍵生成手段と、
前記クライアント公開鍵を、前記共通鍵を用いて暗号化し、暗号化共通鍵を生成する暗号化共通鍵生成手段と、
前記暗号化共通鍵を前記印刷クライアントに送信する、暗号化共通鍵送信手段と、
をさらに備えるようにしてもよい。
【００１０】
さらに、前記暗号化共通鍵生成手段で前記暗号化共通鍵を生成した後に、前記クライアント公開鍵は破棄するようにしてもよい。
【００１１】
さらに、前記印刷クライアントから、前記共通鍵を用いて印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵生成手段で生成した前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
を備えるようにしてもよい。
【００１２】
一方、前記印刷クライアントで生成された共通鍵を、クライアント秘密鍵を用いて暗号化することにより生成された暗号化共通鍵を受信する、暗号化共通鍵受信手段と、
前記暗号化共通鍵を前記クライアント公開鍵を用いて復号し、共通鍵を取得する、共通鍵取得手段と、
をさらに備えるようにしてもよい。
【００１３】
この場合、前記共通鍵取得手段で前記共通鍵を取得した後に、前記クライアント公開鍵は破棄するようにしてもよい。
【００１４】
さらに、前記印刷クライアントから、前記共通鍵を用いて印刷データを暗号化することにより生成された暗号化印刷データを受信する、暗号化印刷データ受信手段と、
前記共通鍵取得手段で取得した前記共通鍵を用いて、前記暗号化印刷データを復号し、印刷データを取得する、印刷データ取得手段と、
を備えるようにしてもよい。
【００１５】
また、当該プリンタが前記印刷クライアントから印刷の要求を受け付けた後に、前記第２プリンタ位置情報取得手段は、前記プリンタ位置情報取得手段からプリンタ位置情報を取得するようにしてもよい。
【００１６】
この場合、前記暗号化クライアント公開鍵を受信した際に、これを前記印刷の要求であると判断するようにしてもよい。
【００１７】
また、前記プリンタ公開鍵生成手段で、前記プリンタ公開鍵を生成する際にプリンタ秘密鍵が生成された場合でも、このプリンタ秘密鍵は保存されることなく破棄されるようにしてもよい。
【００１８】
また、前記プリンタ秘密鍵生成手段で、前記プリンタ秘密鍵を生成する際にプリンタ公開鍵が生成された場合でも、このプリンタ公開鍵は保存されることなく破棄されるようにしてもよい。
【００１９】
前記プリンタ公開鍵生成手段は、前記第１プリンタ位置情報に加えて、当該プリンタの固有の情報である機器固有情報を含むパスフレーズを用いて、プリンタ公開鍵を生成するとともに、
前記プリンタ秘密鍵生成手段も、前記第２プリンタ位置情報に加えて、前記機器固有情報を含むパスフレーズを用いて、プリンタ秘密鍵を生成するようにしてもよい。
【００２０】
本発明に係るプリンタの制御方法は、印刷データに基づいて印刷を行うプリンタの制御方法であって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を取得するプリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第１プリンタ位置情報とするステップと、
前記第１プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成するステップと、
前記生成したプリンタ公開鍵を、プリンタ公開鍵保持手段に保持させるステップと、
印刷クライアントからの要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信するステップと、
前記印刷クライアントから、前記プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより生成された暗号化クライアント公開鍵を受信するステップと、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第２プリンタ位置情報とするステップと、
前記第２プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成するステップと、
前記プリンタ秘密鍵を用いて、前記受信した前記暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得するステップと、
を備えることを特徴とする。
【００２１】
本発明に係る印刷システムは、
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムであって、
前記プリンタは、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を取得する、プリンタ位置情報取得手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第１プリンタ位置情報とする、第１プリンタ位置情報取得手段と、
前記第１プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成する、プリンタ公開鍵生成手段と、
前記プリンタ公開鍵生成手段で生成したプリンタ公開鍵を保持する、プリンタ公開鍵保持手段と、
を備え、
前記印刷クライアントは、
プリンタ公開鍵の送信を要求する公開鍵送信要求を、前記プリンタに送信する、公開鍵送信要求送信手段を備えており、
前記プリンタは、
前記印刷クライアントから送信された前記公開鍵送信要求を受信する、公開鍵送信要求受信手段と、
前記受信した公開鍵送信要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を印刷クライアントに送信する、プリンタ公開鍵送信手段と、
をさらに備え、
前記印刷クライアントは、
前記プリンタから送信された前記プリンタ公開鍵を受信する、プリンタ公開鍵受信手段と、
前記プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより、暗号化クライアント公開鍵を生成する、暗号化クライアント公開鍵生成手段と、
前記暗号化クライアント公開鍵をプリンタに送信する、暗号化クライアント公開鍵送信手段と、
をさらに備え、
前記プリンタは、
前記印刷クライアントから送信された前記暗号化クライアント公開鍵を受信する、暗号化クライアント公開鍵受信手段と、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第２プリンタ位置情報とする、第２プリンタ位置情報取得手段と、
前記第２プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する、プリンタ秘密鍵生成手段と、
前記プリンタ秘密鍵を用いて、前記暗号化クライアント公開鍵受信手段で受信した前記暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得する、クライアント公開鍵取得手段と、
をさらに備えることを特徴とする。
【００２２】
本発明に係る印刷システムの制御方法は、
印刷データに基づいて印刷を行うプリンタと、このプリンタに接続される印刷クライアントとを有する、印刷システムの制御方法であって、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を取得するプリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第１プリンタ位置情報とするステップと、
前記第１プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成するステップと、
前記生成したプリンタ公開鍵を、プリンタ公開鍵保持手段に保持させるステップと、
プリンタ公開鍵の送信を要求する公開鍵送信要求を、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記公開鍵送信要求を受信するステップと、
前記受信した公開鍵送信要求に応じて、前記プリンタ公開鍵保持手段に保持されているプリンタ公開鍵を、前記プリンタから前記印刷クライアントに送信するステップと、
前記印刷クライアントにおいて、前記プリンタから送信された前記プリンタ公開鍵を受信するステップと、
前記プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより、暗号化クライアント公開鍵を生成するステップと、
前記暗号化クライアント公開鍵を、前記印刷クライアントから前記プリンタに送信するステップと、
前記プリンタにおいて、前記印刷クライアントから送信された前記暗号化クライアント公開鍵を受信するステップと、
前記プリンタ位置情報取得手段からプリンタ位置情報を取得し、これを第２プリンタ位置情報とするステップと、
前記第２プリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成するステップと、
前記プリンタ秘密鍵を用いて、前記受信した前記暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得するステップと、
を備えることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、予め登録された場所でしか、印刷することのできないプリンタ、及び、そのようなプリンタを含む印刷システムを提供することができる。
【発明を実施するための最良の形態】
【００２４】
〔第１実施形態〕
まず、図１に基づいて、本発明の第１実施形態に係る印刷システムの処理の概要を説明する。図１に示すように、本実施形態においては、プリンタ３０の設置時に、プリンタ３０が設置されている位置を表すプリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵（プリンタ公開鍵）と秘密鍵（プリンタ秘密鍵）を生成し、プリンタ３０はプリンタ公開鍵は保持するが、プリンタ秘密鍵は破棄する（ステップ〔１〕）。
【００２５】
一方、印刷クライアント２０は、ユーザが入力したパスフレーズ等を用いて、公開鍵（クライアント公開鍵）と秘密鍵（クライアント秘密鍵）を生成し、印刷クライアント２０はこれらクライアント公開鍵とクライアント秘密鍵の双方を保持する。印刷クライアント２０が生成するクライアント公開鍵とクライアント秘密鍵は、印刷クライアント２０の位置情報に依存しない公開鍵と秘密鍵である。
【００２６】
そして、任意のタイミングで、印刷クライアント２０はプリンタ３０にプリンタ公開鍵の送信を要求し、プリンタ３０はプリンタ公開鍵を印刷クライアント２０に送信する（ステップＳ〔３〕）。
【００２７】
プリンタ公開鍵を受信した印刷クライアント２０は、クライアント公開鍵をプリンタ公開鍵で暗号化し、暗号化クライアント公開鍵を生成する（ステップＳ〔４〕）。そして、この暗号化クライアント公開鍵を、印刷クライアント２０からプリンタ３０へ送信する（ステップＳ〔５〕）。
【００２８】
暗号化クライアント公開鍵を受信したプリンタ３０では、印刷クライアント２０からの印刷要求を受け付けた時点で、この暗号化クライアント公開鍵を復号して、クライアント公開鍵を取得する。具体的には、プリンタ３０は、その時のプリンタ位置情報を取得して、このプリンタ位置情報を少なくとも含むパスフレーズを用いてプリンタ公開鍵とプリンタ秘密鍵を生成する（ステップ〔６〕）。そして、この生成されたプリンタ秘密鍵で、受信した暗号化クライアント公開鍵を復号する（ステップ〔７〕）。この際、プリンタ公開鍵は保存することなく、破棄する。
【００２９】
プリンタ３０の位置がステップ〔１〕でプリンタ公開鍵を生成した場所から移動されていなければ、暗号化クライアント公開鍵は復号されてクライアント公開鍵をプリンタ３０は取得できる。しかし、プリンタ３０の位置がステップ〔１〕でプリンタ公開鍵を生成した場所から移動されていれば、プリンタ３０は暗号化クライアント公開鍵を復号することはできず、プリンタ３０はクライアント公開鍵を取得することができない。
【００３０】
次に、プリンタ３０は、適当な乱数等を用いて共通鍵を生成するとともに（ステップ〔８〕）、取得したクライアント公開鍵でこの共通鍵を暗号化して、暗号化共通鍵として、印刷クライアント２０に送信する（ステップ〔９〕）。
【００３１】
印刷クライアント２０は、暗号化共通鍵を受信した時点で、保存してあるクライアント秘密鍵を用いて、この受信した暗号化共通鍵を復号して、共通鍵を取得する（ステップ〔１０〕）。続いて、印刷クライアント２０は、印刷データをこの共通鍵を用いて暗号化し（ステップ〔１１〕）、暗号化印刷データとして、プリンタ３０に送信する（ステップ〔１２〕）。
【００３２】
この暗号化印刷データを受信したプリンタ３０では、共通鍵を用いて、この暗号化印刷データを復号し、印刷データを取得する（ステップ〔１３〕）。結局、この印刷システムにおいては、暗号化クライアント公開鍵は、設置された位置から移動されていないプリンタ３０においては、ステップ〔６〕で取得したプリンタ秘密鍵を用いて復号できるが、移動されたプリンタ３０においては復号できなくなる。これにより、プリンタ３０が正常に使える位置を、ステップ〔１〕でプリンタ公開鍵を生成した位置に限定することができるのである。
【００３３】
この説明から分かるように、印刷クライアント２０で、クライアント公開鍵とクライアント秘密鍵を生成するのは、任意のタイミングであり、プリンタ３０へ印刷を要求する前であればよい。
【００３４】
暗号化クライアント公開鍵を印刷クライアント２０からプリンタ３０へ送信するタイミングも任意である。印刷を要求する際に、印刷クライアント２０からプリンタ３０へ送信すれば、これが印刷を要求するトリガーとなるので、プリンタ３０は、この暗号化クライアント公開鍵を受信した時点で、ステップ〔６〕を実行して、プリンタ秘密鍵を取得すればよい。一方、印刷を要求する前に、暗号化クライアント公開鍵を印刷クライアント２０からプリンタ３０へ予め送信する場合には、プリンタ３０では、受信した暗号化クライアント公開鍵を復号することなく、保持しておく必要がある。そして、プリンタ３０は、印刷クライアント２０から印刷の要求を受け付けた時点で、ステップ〔６〕を実行して、プリンタ秘密鍵を取得する必要がある。
【００３５】
次に、図２に基づいて、本実施形態に係る印刷システムの構成を説明する。図２は、本実施形態に係る印刷システムのハードウェア構成を示すブロック図である。
【００３６】
この図２に示すように、本実施形態に係る印刷システムは、ネットワーク１０に接続された印刷クライアント２０と、同じくネットワーク１０に接続されたプリンタ３０とを備えている。本実施形態においては、ネットワーク１０は、ＴＣＰ／ＩＰ（transmission control protocol/internet protocol）を用いたインターネットにより構成されている。但し、ネットワーク１０の態様は、インターネットに限るものではなく、例えば、イーサーネット（登録商標）等のＬＡＮにより構成されていてもよい。
【００３７】
印刷クライアント２０は、例えば、ホストコンピュータやパーソナルコンピュータと呼ばれる各種のコンピュータにより構成されている。このネットワーク１０に接続される印刷クライアントの台数は任意であり、１台でもよく、複数台でもよい。また、この印刷クライアントは、コンピュータに限られるものではなく、例えば、撮影した画像を印刷する必要のあるデジタルカメラや、印刷画像データをコンテンツとして蓄積してあるコンテンツサーバ等でもよい。
【００３８】
また本実施形態においては、プリンタ３０はいわゆるネットワークプリンタである。本実施形態においては、特にプリンタ３０は、暗号化印刷データを印刷クライアント２０から受信し、この暗号化印刷データを共通鍵で復号して、印刷を行う。
【００３９】
本実施形態においては、プリンタ３０は、ネットワーク１０に直接接続されており、プリンタ３０は固有のネットワークアドレスを有している。したがって、印刷クライアント２０は、このネットワークアドレスを指定することにより、暗号化印刷データをプリンタ３０に送信することができる。
【００４０】
なお、この図２においては、プリンタ３０は、ネットワーク１０に直接接続されているが、プリンタサーバを介して接続するようにしてもよい。また、このネットワーク１０に接続されるプリンタの台数は任意であり、１台でもよく、複数台でもよい。
【００４１】
図３は、プリンタ３０の内部構成を説明するためのブロック図である。この図３に示すように、プリンタ３０は、ＣＰＵ（Central Processing Unit）４０と、ＲＡＭ（Random Access Memory）４２と、ＲＯＭ（Read Only Memory）４４とを備えており、これらは互いに内部バス４６を介して接続されている。また、この内部バス４６には、通信用のインターフェース４８が接続されており、この通信用のインターフェース４８を介して、上述したネットワーク１０にプリンタ３０が接続されている。さらに、内部バス４６には、インターフェース５０が接続されており、このインターフェース５０には印刷エンジン５２が接続されている。
【００４２】
また、内部バス４６には、位置検出部５４が接続されている。この位置検出部５４は、プリンタ３０が設置されている位置を特定する機能を有する。本実施形態においては、例えば、ＧＰＳ（global positioning system）により構成されており、このプリンタ３０が設置されている位置の緯度、経度、高度が特定できるようになっている。現時点におけるＧＰＳの精度は、緯度、経度、高度において、それぞれ±１０ｍ程度であると言われている。
【００４３】
但し、この位置検出部５４は、ＧＰＳを用いた構成に限らず、例えば、無線ＬＡＮによりこのプリンタ３０がネットワーク１０に接続されている場合には、このプリンタ３０が収容されている無線基地局に基づいて、プリンタ３０の位置を特定するようにしてもよい。或いは、ＰＨＳ（Personal Handyphone System）などの移動体通信技術を利用して、プリンタ３０の位置を特定するようにしてもよい。
【００４４】
また、位置検出部５４にＧＰＳ機能とＰＨＳ機能の双方を搭載し、通常はＧＰＳを用いて設置位置を検出するが、電波事情等によりＧＰＳを用いて位置検出ができない場合には、ＰＨＳにより位置検出をするようにしてもよい。
【００４５】
さらに本実施形態に係るプリンタ３０は、内部バス４６に接続されたＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）５６を不揮発性半導体記憶装置として、備えている。このＥＥＰＲＯＭ５６に格納された情報は、プリンタ３０の電源をオフにした場合でも、保持されることになる。
【００４６】
また、図３においては、位置検出部５４をプリンタ３０に内蔵しているが、この位置検出部５４は、図４に示すように、プリンタ３０の外付けにするようにしてもよい。例えば、必要が生じたときに、ＧＰＳを搭載した携帯電話をプリンタ３０に接続し、プリンタ３０に位置検出機能を持たせるようにしてもよい。
【００４７】
図５は、印刷クライアント２０の内部構成を説明するためのブロック図である。この図５に示すように、本実施形態に係る印刷クライアント２０は、コンピュータ本体６０とディスプレイ６２とを備えて構成されている。
【００４８】
コンピュータ本体６０は、ＣＰＵ６４と、ＲＡＭ６６と、ＲＯＭ６８とを備えており、これらは互いに内部バス７０を介して接続されている。また、この内部バス７０には、通信用のインターフェース７２が接続されており、この通信用のインターフェース７２を介して、上述したネットワーク１０に印刷クライアント２０が接続されている。
【００４９】
さらに、内部バス７０には、インターフェース７４が接続されており、このインターフェース７４には大容量記憶装置であるハードディスク７６が接続されている。また、内部バス７０には、インターフェース７８が接続されており、このインターフェース７８から延びるケーブル８０を介して、上述したディスプレイ６２が接続されている。
【００５０】
次に、図１を用いて説明した処理を実現するために、プリンタ３０、及び、印刷クライアント２０で実行される処理を詳しく説明する。
【００５１】
まず、図６に基づいて、プリンタ３０の設置時にプリンタ３０で実行されるプリンタ公開鍵生成処理について説明する。この図６は、プリンタ３０で実行されるプリンタ公開鍵生成処理を説明するフローチャートである。このプリンタ公開鍵生成処理は、プリンタのＲＯＭ４４に格納されているプリンタ公開鍵生成プログラムをＣＰＵ４０が読み込んで実行することにより実現される処理である。
【００５２】
図６に示すように、まず、プリンタ３０は、プリンタ３０の操作者に設置認定情報を入力するように要求する（ステップＳ１００）。例えば、プリンタ３０は、このプリンタ３０に設けられている表示パネルに、設置認証情報を入力する指示を、表示する。操作者は、例えば、プリンタ３０に設けられている操作パネルを操作して、設置認証情報を入力する。例えば、本実施形態においては、この設置認証情報は、設置認証情報用のＩＤとパスワードの組み合わせにより構成されている。したがって、操作者は、操作パネルから、これら設置認証情報用のＩＤとパスワードとを入力する。
【００５３】
次に、プリンタ３０は、入力された設置認証情報が、予めこのプリンタ３０に登録されている設置認証情報と一致するかどうかを判断する（ステップＳ１０２）。具体的には、上述したように、操作者が入力した設置認証情報用のＩＤとパスワードが、予めプリンタ３０に登録されている設置認証情報用のＩＤとパスワードと一致するかどうかを判断する。本実施形態においては、例えば、プリンタ３０の製品出荷時に、ＥＥＰＲＯＭ５６にこの設置認証情報用のＩＤとパスワードが格納されており、この設置認証情報用のＩＤとパスワードを知り得るのは、このプリンタ３０の製造メーカだけという仕組みになっている。
【００５４】
設置認証情報が一致しなかった場合（ステップＳ１０２：Ｎｏ）には、プリンタ３０は、プリンタ３０の表示パネルに設置認証情報が一致しなかった旨を表示し（ステップＳ１０４）、このプリンタ公開鍵生成処理を終了する。
【００５５】
一方、設置認証情報が一致した場合（ステップＳ１０２：Ｙｅｓ）には、プリンタ３０は、このプリンタ３０の機器固有情報を取得する（ステップＳ１０６）。ここで、機器固有情報とは、このプリンタ３０に関して、固有に割り当てられている識別情報であり、例えば、プリンタ３０の製造シリアルナンバー、ＭＡＣアドレス等がある。
【００５６】
次に、プリンタ３０は、位置検出部５４から、その時点におけるプリンタ３０のプリンタ位置情報を取得する（ステップＳ１０８）。続いて、プリンタ３０は、機器固有情報とプリンタ位置情報とを用いてパスフレーズを作成する（ステップＳ１１０）。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、単純に機器固有情報の後ろにプリンタ位置情報をつなげることにより、パスフレーズを作成する。なお、パスフレーズは、これら機器固有情報及びプリンタ位置情報以外のデータを含んでいてもよい。
【００５７】
次に、プリンタ３０は、作成したパスフレーズを用いて、公開鍵暗号法により、プリンタ公開鍵を生成する（ステップＳ１１２）。公開鍵暗号法では、使用するパスフレーズが同じであれば、再び、公開鍵と秘密鍵とを生成しても、同じものが生成されるという性質を有している。続いて、プリンタ３０は、この生成したプリンタ公開鍵を格納して保持する（ステップＳ１１４）。なお、プリンタ公開鍵を生成する際に、プリンタ秘密鍵が生成された場合でも、このプリンタ秘密鍵は保存されることなく破棄される。これにより、本実施形態に係るプリンタ公開鍵生成処理が終了する。
【００５８】
図７は、ステップＳ１１４でプリンタ公開鍵が格納されるプリンタ公開鍵格納部ＴＢ１０の一例を示す図である。本実施形態においては、このプリンタ公開鍵格納部ＴＢ１０は、ＥＥＰＲＯＭ５６内に形成される。このため、このプリンタ公開鍵格納部ＴＢ１０に格納されたプリンタ公開鍵は、プリンタ３０の電源がオフになっても不揮発的に保持される。
【００５９】
図８は、印刷クライアント２０で実行されるクライアント公開鍵秘密鍵生成処理を説明するフローチャートである。このクライアント公開鍵秘密鍵生成処理は、印刷クライアントのＲＯＭ６８又はハードディスク７６に格納されているクライアント公開鍵秘密鍵生成プログラムをＣＰＵ６４が読み込んで実行することにより実現される処理である。また、このクライアント公開鍵秘密鍵生成処理が起動されるタイミングは、印刷データを送信する前の任意のタイミングで起動されればよい。例えば、本実施形態においては、ユーザが印刷クライアント２０を設置した後の任意のタイミングでユーザにより起動されることとしている。
【００６０】
まず、印刷クライアント２０は、パスフレーズを作成する（ステップＳ１２０）。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、ユーザが任意のフレーズを入力したり、プリンタ３０が乱数を生成したりして、このパスフレーズを生成する。
【００６１】
次に、印刷クライアント２０は、作成したパスフレーズを用いて、公開鍵暗号法により、クライアント公開鍵とクライアント秘密鍵を生成する（ステップＳ１２２）。続いて、印刷クライアント２０は、この生成したクライアント公開鍵とクライアント秘密鍵を格納して保持する（ステップＳ１２４）。これにより、本実施形態に係るクライアント公開鍵秘密鍵生成処理が終了する。
【００６２】
図９は、ステップＳ１２４でクライアント公開鍵とクライアント秘密鍵が格納されるクライアント公開鍵秘密鍵格納部ＴＢ２０の一例を示す図である。本実施形態においては、このクライアント公開鍵秘密鍵格納部ＴＢ２０は、ハードディスク７６内に形成される。このため、このクライアント公開鍵秘密鍵格納部ＴＢ２０に格納されたクライアント公開鍵とクライアント秘密鍵は、印刷クライアント２０の電源がオフになっても不揮発的に保持される。
【００６３】
図１０及び図１１は、印刷クライアント２０で実行される印刷要求処理を説明するフローチャートである。この印刷要求処理は、印刷クライアントのＲＯＭ６８又はハードディスク７６に格納されている印刷要求プログラムをＣＰＵ６４が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷要求処理は、ユーザが印刷すべきデータを作成し、プリンタ３０で印刷を行うように印刷クライアント２０に指示した際に起動される処理である。
【００６４】
この図１０に示すように、まず印刷クライアント２０は、プリンタ３０に接続する（ステップＳ１４０）。本実施形態においては、印刷クライアント２０は、プリンタ３０のネットワークアドレスを指定することにより、印刷クライアント２０とプリンタ３０との間の接続を確立する。
【００６５】
次に、印刷クライアント２０は、プリンタ３０へ認証情報を送信する（ステップＳ１４２）。本実施形態においては、この認証情報として、印刷クライアントを特定するためのクライアントＩＤと、パスワードとの組み合わせを用いている。したがって、印刷クライアント２０は、クライアントＩＤとパスワードとを、プリンタ３０へ送信する。
【００６６】
これに続いて、印刷クライアント２０は、プリンタ３０から認証が受け入れられたか否かを示す認証結果を受信するので、この認証結果に基づいて、プリンタ３０で認証が認められたかどうかを判断する（ステップＳ１４４）。
【００６７】
認証が認められなかったと判断した場合（ステップＳ１４４：Ｎｏ）には、プリンタ３０で認証が認められず、このためプリンタ公開鍵を取得することができない旨をユーザに通知する（ステップＳ１４６）。そして、プリンタ３０との間の接続を終了し（ステップＳ１４８）、この印刷要求処理を終了する。
【００６８】
一方、上述したステップＳ１４４で、認証が認められたと判断した場合（ステップＳ１４４：Ｙｅｓ）には、印刷クライアント２０は、公開鍵取得要求をプリンタ３０へ送信する（ステップＳ１５０）。そして、プリンタ３０からプリンタ公開鍵を受信したかどうかを判断する（ステップＳ１５２）。プリンタ３０からプリンタ公開鍵を受信していない場合（ステップＳ１５２：Ｎｏ）には、このステップＳ１５２を繰り返して待機する。
【００６９】
一方、プリンタ３０からプリンタ公開鍵を受信した場合（ステップＳ１５２：Ｙｅｓ）には、印刷クライアント２０は、クライアント公開鍵秘密鍵格納部ＴＢ２０から、クライアント公開鍵を取得する（ステップＳ１５４）。そして、ステップＳ１５２で受信したプリンタ公開鍵を用いて、クライアント公開鍵を暗号化し、暗号化クライアント公開鍵を生成する（ステップＳ１５６）。続いて、印刷クライアント２０は、この生成した暗号化クライアント公開鍵をプリンタ３０に送信する（ステップＳ１５８）。
【００７０】
なお、ステップＳ１４２、ステップＳ１４４及びステップＳ１４６における認証処理は、必ずしも必要なものではなく、この認証処理は省略することも可能である。
【００７１】
次に、図１１に示すように、印刷クライアント２０は、プリンタ３０から暗号化共通鍵を受信したかどうかを判断する（ステップＳ１８０）。この暗号化共通鍵を受信していない場合（ステップＳ１８０：Ｎｏ）には、印刷クライアント２０は、プリンタ３０から解読不能通知を受信したかどうかを判断する（ステップＳ１８２）。
【００７２】
この解読不能通知を受信していない場合（ステップＳ１８０：Ｎｏ）には、ステップＳ１８０からの処理を繰り返す。一方、解読不能通知を受信した場合（ステップＳ１８０：Ｙｅｓ）には、印刷クライアント２０は、ユーザに暗号化クライアント公開鍵がプリンタ３０で復号できなかった旨を通知する（ステップＳ１８４）。そして、プリンタ３０との接続を終了し（ステップＳ２１０）、この印刷要求処理を終了する。
【００７３】
一方、上述したステップＳ１８０で暗号化共通鍵を受信したと判断した場合（ステップＳ１８０：Ｙｅｓ）には、クライアント公開鍵秘密鍵格納部ＴＢ２０からクライアント秘密鍵を取得する（ステップＳ２００）。そして、印刷クライアント２０は、このクライアント秘密鍵を用いて、受信した暗号化共通鍵を復号して、共通鍵を取得する（ステップＳ２０２）。
【００７４】
次に、印刷クライアント２０は、印刷データを生成する（ステップＳ２０４）。この印刷データは、プリンタ３０が実際に印刷を行うのに必要となるデータである。
【００７５】
次に、印刷クライアント２０は、ステップＳ２０２で復号した共通鍵を用いて、印刷データを暗号化して、暗号化印刷データを生成する（ステップＳ２０６）。続いて、印刷クライアント２０は、この暗号化印刷データを、プリンタ３０に送信する（ステップＳ２０８）。具体的には、プリンタ３０のネットワークアドレスを指定して、ネットワーク１０に暗号化印刷データを送出する。続いて、ステップＳ２０２で取得した共通鍵を破棄する（ステップＳ２０９）。そして、印刷クライアント２０は、プリンタ３０との接続を終了し（ステップＳ２１０）、この印刷要求処理を終了する。
【００７６】
次に、図１２乃至図１４に基づいて、印刷クライアント２０の印刷要求処理に対応して、プリンタ３０で実行される印刷実行処理について説明する。図１２乃至図１４は、プリンタ３０で実行される印刷実行処理を説明するフローチャートである。この印刷実行処理は、プリンタ３０のＲＯＭ４４に格納されている印刷実行プログラムをＣＰＵ４０が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷実行処理は、定常的に実行されている処理である。
【００７７】
図１２に示すように、プリンタ３０は、印刷クライアント２０からの接続を待っており、印刷クライアント２０から接続を要求された場合に、印刷クライアント２０と接続を確立する（ステップＳ２６０）。続いて、プリンタ３０は、印刷クライアント２０から認証情報を受信したかどうかを判断する（ステップＳ２６２）。認証情報を受信していない場合（ステップＳ２６２：Ｎｏ）には、このステップＳ２６２の処理を繰り返して待機する。
【００７８】
一方、認証情報を印刷クライアント２０から受信した場合（ステップＳ２６２：Ｙｅｓ）には、その認証情報がこのプリンタ３０に予め登録してある認証情報と一致するかどうかを判断する（ステップＳ２６４）。具体的には、上述したように、印刷クライアント２０から印刷クライアントＩＤとパスワードが認証情報として送信されてくるので、この印刷クライアントＩＤとパスワードが、このプリンタ３０に予め登録されている印刷クライアントＩＤとパスワードと一致するかどうかを判断する。
【００７９】
認証情報が一致しなかった場合（ステップＳ２６４：Ｎｏ）には、プリンタ３０は印刷クライアント２０に、認証が受け入れられなかった旨の認証結果を送信し（ステップＳ２６６）する。そして、プリンタ３０は、印刷クライアント２０との接続を終了し（ステップＳ２６８）して、この印刷実行処理を終了する。
【００８０】
一方、ステップＳ２６４で認証が一致したと判断した場合（ステップＳ２６４：Ｙｅｓ）には、プリンタ３０は印刷クライアント２０に、認証が受け入れられた旨の認証結果を送信する（ステップＳ２７０）。
【００８１】
次に、プリンタ３０は、印刷クライアント２０から公開鍵取得要求を受信したかどうかを判断する（ステップＳ２７２）。この公開鍵取得要求を受信していない場合（ステップＳ２７２：Ｎｏ）には、このステップＳ２７２の処理を繰り返して待機する。
【００８２】
公開鍵取得要求を受信した場合（ステップＳ２７２：Ｙｅｓ）には、プリンタ３０は、プリンタ公開鍵格納部ＴＢ１０から、プリンタ公開鍵を取得する（ステップＳ２７４）。続いて、プリンタ３０は、このプリンタ公開鍵を印刷クライアント２０に送信する（ステップＳ２７６）。
【００８３】
次に、プリンタ３０は、印刷クライアント２０から暗号化クライアント公開鍵を受信したかどうかを判断する（ステップＳ２７８）。この暗号化クライアント公開鍵を受信していない場合（ステップＳ２７８：Ｎｏ）には、このステップＳ２７８を繰り返して待機する。
【００８４】
一方、暗号化クライアント公開鍵を受信した場合（ステップＳ２７８：Ｙｅｓ）には、図１３に示すように、プリンタ３０は自らの機器固有情報を取得する（ステップＳ３００）。続いて、プリンタ３０は、位置検出部５４から、その時点におけるプリンタ３０のプリンタ位置情報を取得する（ステップＳ３０２）。このようにプリンタ位置情報を、その都度、位置検出部５４から取得することとしているのは、プリンタ３０が当初設置された場所から別の場所に移動されている可能性があり、このような場合にはプリンタ３０で印刷が行われないようにするためである。
【００８５】
次に、プリンタ３０は、機器固有情報とプリンタ位置情報とに基づいて、パスフレーズを作成する（ステップＳ３０４）。このパスフレーズの作成手法は、上述したプリンタ公開鍵生成処理におけるステップＳ１１０と同じ手法である必要がある。なぜなら、パスフレーズが異なると、印刷クライアント２０から送信された暗号化クライアント公開鍵を、プリンタ秘密鍵で復号できなくなってしまうからである。
【００８６】
次に、プリンタ３０は、パスフレーズを用いて、公開鍵暗号法によりプリンタ公開鍵とプリンタ秘密鍵とを生成する（ステップＳ３０６）。続いて、プリンタ３０は、生成されたプリンタ秘密鍵を用いて、受信した暗号化クライアント公開鍵を復号して、クライアント公開鍵を取得する（ステップＳ３０８）。続いて、プリンタ３０は、ステップＳ３０６で生成したプリンタ公開鍵とプリンタ秘密鍵とを破棄する（ステップＳ３１０）。
【００８７】
次に、プリンタ３０は、プリンタ秘密鍵を用いて暗号化クライアント公開鍵の復号ができたかどうかを判断する（ステップＳ３１２）。復号ができなかった場合（ステップＳ３１２：Ｎｏ）には、解読不能通知を印刷結果情報として、印刷クライアント２０に送信し（ステップＳ３１４）し、印刷クライアント２０との接続を終了して（ステップＳ３１６）、この印刷実行処理を終了する。すなわち、プリンタ公開鍵生成処理を実行した時と、今回の印刷実行処理を実行した時との場所が異なっている場合には、プリンタ３０が別の場所に移動されたことになるので、暗号化クライアント公開鍵を復号するためのプリンタ秘密鍵を生成することができない。このため、プリンタ３０は印刷を行うことができないこととなる。
【００８８】
一方、プリンタ秘密鍵を用いて暗号化クライアント公開鍵の復号ができた場合（ステップＳ３１２：Ｙｅｓ）には、プリンタ３０は、例えば乱数を用いて、共通鍵を生成する（ステップＳ３１８）。共通鍵暗号方式には種々のものが知られており、例えば、ＤＥＳ（data encryption standard）方式や、トリプルＤＥＳ、Ｒｉｊｎｄａｅｌ（ラインデール）などがある。
【００８９】
次に、プリンタ３０は、ステップＳ３０８で取得したクライアント公開鍵を用いて、ステップＳ３１８で生成した共通鍵を暗号化して、暗号化共通鍵を生成する（ステップＳ３２０）。
【００９０】
次に、プリンタ３０は、この暗号化共通鍵を印刷クライアント２０に送信する（ステップＳ３２２）。具体的には、印刷クライアント２０のネットワークアドレスを指定して、ネットワーク１０に暗号化共通鍵を送出する。
【００９１】
次に、図１４に示すように、プリンタ３０は、印刷クライアント２０から暗号化印刷データを受信したかどうかを判断する（ステップＳ３４０）。暗号化印刷データを受信していない場合（ステップＳ３４０：Ｎｏ）には、このステップＳ３４０の処理を繰り返して待機する。
【００９２】
一方、暗号化印刷データを受信した場合（ステップＳ３４０：Ｙｅｓ）には、プリンタ３０は、この受信した暗号化印刷データを、ステップＳ３１８で生成した共通鍵で復号し、印刷データを取得する（ステップＳ３４２）。続いて、プリンタ３０は、得られた印刷データに基づいて、印刷エンジン５２を駆動した印刷を実行する（ステップＳ３４４）。具体的には、印刷データの言語解釈を行い、印刷エンジン５２に適合した印刷要求データを生成する。そして、この印刷要求データを印刷エンジン５２に送信することにより、印刷エンジン５２で印刷用紙等に印刷が行われる。
【００９３】
次に、プリンタ３０は、ステップＳ３１８で生成した共通鍵を破棄する（ステップＳ３４６）。そして、上述したステップＳ２６０の処理に戻る。
【００９４】
図１５は、上述した各処理をハードウェアにより実現した場合の構成を示す機能ブロック図である。この図１５に示すように、プリンタ３０には、このプリンタ３０の設置されている場所を特定するためのプリンタ位置情報を取得する位置検出部５４が設けられている。プリンタ公開鍵生成部１００は、位置検出部５４からプリンタ位置情報を取得し、このプリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ公開鍵を生成し、保持する。
【００９５】
印刷クライアント２０は、クライアント公開鍵とクライアント秘密鍵とを生成し保持する、クライアント公開鍵秘密鍵生成部２００を備えている。また、印刷クライアント２０は、プリンタ公開鍵の送信を要求する公開鍵送信要求を、プリンタに送信する、公開鍵送信要求送信部２０２を備えている。
【００９６】
プリンタ３０の公開鍵送信部では、印刷クライアント２０から送信された公開鍵送信要求を受信し、プリンタ公開鍵を印刷クライアントに送信する。
【００９７】
印刷クライアントのプリンタ公開鍵受信部２０４では、プリンタ３０から送信された前プリンタ公開鍵を受信する。また、暗号化クライアント公開鍵生成部２０６では、プリンタ公開鍵を用いてクライアント公開鍵を暗号化することにより、暗号化クライアント公開鍵を生成する。そして、暗号化クライアント公開鍵送信部２０８では、暗号化クライアント公開鍵をプリンタに送信する。
【００９８】
プリンタ３０の暗号化クライアント公開鍵受信部１０４では、印刷クライアント２０から送信された暗号化クライアント公開鍵を受信する。また、プリンタ秘密鍵生成部１０６では、位置検出部５４からプリンタ位置情報を取得し、このプリンタ位置情報を少なくとも含むパスフレーズを用いて、プリンタ秘密鍵を生成する。
【００９９】
クライアント公開鍵取得部１０８では、プリンタ秘密鍵を用いて、暗号化クライアント公開鍵受信部１０４で受信した暗号化クライアント公開鍵を復号し、クライアント公開鍵を取得する。
【０１００】
プリンタ３０の共通鍵生成部１１０では、共通鍵暗号法により共通鍵を生成する。暗号化共通鍵生成部１１２では、クライアント公開鍵取得部１０８で取得したクライアント公開鍵を、共通鍵で暗号化し、暗号化共通鍵を生成する。暗号化共通鍵送信部１１４では、この生成した暗号化共通鍵を、印刷クライアント２０に送信する。
【０１０１】
印刷クライアント２０の暗号化共通鍵受信部２１０では、プリンタ３０から送信された暗号化共通鍵を受信する。共通鍵取得部２１６では、受信した暗号化共通鍵を、クライアント秘密鍵を用いて復号し、共通鍵を取得する。また、印刷データ生成部２１４では、印刷データを生成する。暗号化印刷データ生成部２１６では、印刷データ生成部２１６で生成した印刷データを、共通鍵を用いて暗号化し、暗号化印刷データを生成する。暗号化印刷データ送信部２１８では、この生成した暗号化印刷データを、プリンタ３０に送信する。
【０１０２】
プリンタ３０の暗号化印刷データ受信部１１６では、印刷クライアント２０から送信された暗号化印刷データを受信する。印刷データ取得部１１８では、共通鍵生成部１１０で生成した共通鍵を用いて、暗号化印刷データを復号し、印刷データを取得する。そして、印刷実行部１２０で、この印刷データに基づいた印刷を行う。
【０１０３】
以上のように、本実施形態に係る印刷システムによれば、プリンタ３０はプリンタ公開鍵を生成した場所でのみ正常な印刷が行えるようにしたので、プリンタ３０の使用できる場所をプリンタ公開鍵を生成した場所に限定することができる。すなわち、本実施形態におけるプリンタ３０では、このプリンタ３０がプリンタ公開鍵を生成した場所と異なる場所に移動された場合には、印刷クライアント２０から送信された暗号化クライアント公開鍵を正しく復号できないので、正しいクライアント公開鍵を取得することができない。
【０１０４】
しかも、本実施形態においては、印刷データは共通鍵を用いて暗号化されている。一般に、公開鍵暗号法による秘密鍵でデータを復号する速度よりも、共通鍵暗号法による共通鍵でデータを復号する速度の方が、１０００倍程度速いと言われている。このため、データ量の大きい印刷データを、プリンタ３０では、共通鍵を用いて迅速に復号することができるようになる。
【０１０５】
また、これに伴って、本実施形態に係る印刷システムによれば、印刷クライアント２０は、暗号化して送信した暗号化印刷データの印刷をできるプリンタを、実質的に制限することができるので、印刷クライアント２０のユーザが意図していない位置にあるプリンタで印刷が行われしまうのを回避することができる。
【０１０６】
〔第２実施形態〕
上述した第１実施形態においては、プリンタ３０側で共通鍵を生成することとしたが、本実施形態においては、印刷クライアント２０側で共通鍵を生成するようにしたものである。
【０１０７】
まず、図１６に基づいて、本発明の第２実施形態に係る印刷システムの処理の概要を説明する。図１６に示すように、本実施形態においては、プリンタ３０の設置時に、プリンタ３０が設置されている位置を表すプリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵（プリンタ公開鍵）と秘密鍵（プリンタ秘密鍵）を生成し、プリンタ３０はプリンタ公開鍵は保持するが、プリンタ秘密鍵は破棄する（ステップ〔１〕）。
【０１０８】
一方、印刷クライアント２０は、ユーザが入力したパスフレーズ等を用いて、公開鍵（クライアント公開鍵）と秘密鍵（クライアント秘密鍵）を生成し、印刷クライアント２０はこれらクライアント公開鍵とクライアント秘密鍵の双方を保持する。印刷クライアント２０が生成するクライアント公開鍵とクライアント秘密鍵は、印刷クライアント２０の位置情報に依存しない公開鍵と秘密鍵である。
【０１０９】
そして、任意のタイミングで、印刷クライアント２０はプリンタ３０にプリンタ公開鍵の送信を要求し、プリンタ３０はプリンタ公開鍵を印刷クライアント２０に送信する（ステップＳ〔３〕）。
【０１１０】
プリンタ公開鍵を受信した印刷クライアント２０は、クライアント公開鍵をプリンタ公開鍵で暗号化し、暗号化クライアント公開鍵を生成する（ステップＳ〔４〕）。そして、この暗号化クライアント公開鍵を、印刷クライアント２０からプリンタ３０へ送信する（ステップＳ〔５〕）。
【０１１１】
暗号化クライアント公開鍵を受信したプリンタ３０では、印刷クライアント２０からの印刷要求を受け付けた時点で、この暗号化クライアント公開鍵を復号して、クライアント公開鍵を取得する。具体的には、プリンタ３０は、その時のプリンタ位置情報を取得して、このプリンタ位置情報を少なくとも含むパスフレーズを用いてプリンタ公開鍵とプリンタ秘密鍵を生成する（ステップ〔６〕）。そして、この生成されたプリンタ秘密鍵で、受信した暗号化クライアント公開鍵を復号する（ステップ〔７〕）。この際、プリンタ公開鍵は保存することなく、破棄する。
【０１１２】
プリンタ３０の位置がステップ〔１〕でプリンタ公開鍵を生成した場所から移動されていなければ、暗号化クライアント公開鍵は復号されてクライアント公開鍵をプリンタ３０は取得できる。しかし、プリンタ３０の位置がステップ〔１〕でプリンタ公開鍵を生成した場所から移動されていれば、プリンタ３０は暗号化クライアント公開鍵を復号することはできず、プリンタ３０はクライアント公開鍵を取得することができない。
【０１１３】
また、印刷クライアント２０では、プリンタ３０に印刷を要求する際に、適当な乱数等を用いて共通鍵を生成するとともに（ステップ〔８〕）、クライアント秘密鍵でこの共通鍵を暗号化して、暗号化共通鍵として、プリンタ３０に送信する（ステップ〔９〕）。
【０１１４】
プリンタ３０では、暗号化共通鍵を受信した時点で、ステップ〔７〕で取得したクライアント公開鍵を用いて、この受信した暗号化共通鍵を復号して、共通鍵を取得する（ステップ〔１０〕）。
【０１１５】
さらに、印刷クライアント２０は、印刷データを生成し、この印刷データを共通鍵を用いて暗号化し（ステップ〔１１〕）、暗号化印刷データとして、プリンタ３０に送信する（ステップ〔１２〕）。
【０１１６】
この暗号化印刷データを受信したプリンタ３０では、ステップ〔１０〕で取得した共通鍵を用いて、この暗号化印刷データを復号し、印刷データを取得する（ステップ〔１３〕）。結局、この印刷システムにおいては、暗号化クライアント公開鍵は、設置された位置から移動されていないプリンタ３０においては、ステップ〔６〕で取得したプリンタ秘密鍵を用いて復号できるが、移動されたプリンタ３０においては復号できなくなる。これにより、プリンタ３０が正常に使える位置を、ステップ〔１〕でプリンタ公開鍵を生成した位置に限定することができるのである。
【０１１７】
この説明から分かるように、印刷クライアント２０で、クライアント公開鍵とクライアント秘密鍵を生成するのは、任意のタイミングであり、プリンタ３０へ印刷を要求する前であればよい。
【０１１８】
暗号化クライアント公開鍵と暗号化共通鍵を印刷クライアント２０からプリンタ３０へ送信するタイミングも任意である。印刷を要求する際に、印刷クライアント２０からプリンタ３０へこれら送信すれば、これが印刷を要求するトリガーとなるので、プリンタ３０は、この暗号化クライアント公開鍵又は暗号化共通鍵を受信した時点で、ステップ〔６〕を実行して、プリンタ秘密鍵を取得すればよい。一方、印刷を要求する前に、暗号化クライアント公開鍵と暗号化共通鍵を印刷クライアント２０からプリンタ３０へ送信する場合には、プリンタ３０では、受信した暗号化クライアント公開鍵を復号することなく、保持しておく必要がある。そして、プリンタ３０は、印刷クライアント２０から印刷の要求を受け付けた時点で、ステップ〔６〕を実行して、プリンタ秘密鍵を取得する必要がある。
【０１１９】
図１７及び図１８は、印刷クライアント２０で実行される印刷要求処理を説明するフローチャートであり、図１７は上述した図１０の処理に続く処理である。この印刷要求処理は、印刷クライアントのＲＯＭ６８又はハードディスク７６に格納されている印刷要求プログラムをＣＰＵ６４が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷要求処理は、ユーザが印刷すべきデータを作成し、プリンタ３０で印刷を行うように印刷クライアント２０に指示した際に起動される処理である。
【０１２０】
図１７のステップＳ４００に至るまでの処理は、上述した第１実施形態の図１０と同様である。図１０のステップＳ１５８に続いて、図１７に示すように、印刷クライアント２０は、共通鍵を生成する（ステップＳ４００）。
【０１２１】
次に、印刷クライアント２０は、クライアント公開鍵秘密鍵格納部ＴＢ２０からクライアント秘密鍵を取得する（ステップＳ４０２）。そして、印刷クライアント２０は、このクライアント秘密鍵を用いて、ステップＳ４００で生成した共通鍵を暗号化して、暗号化共通鍵を生成する（ステップＳ４０４）。続いて、印刷クライアント２０は、暗号化共通鍵をプリンタ３０に送信する（ステップＳ４０６）。
【０１２２】
次に、印刷クライアント２０は、印刷データを生成する（ステップＳ４０８）。この印刷データは、プリンタ３０が実際に印刷を行うのに必要となるデータである。
【０１２３】
次に、印刷クライアント２０は、ステップＳ４００で生成した共通鍵を用いて、印刷データを暗号化して、暗号化印刷データを生成する（ステップＳ４１０）。続いて、ステップＳ４００で生成した共通鍵を破棄する（ステップＳ４１１）。
【０１２４】
次に、図１８に示すように、印刷クライアント２０は、この暗号化印刷データを、プリンタ３０に送信する（ステップＳ４１２）。具体的には、プリンタ３０のネットワークアドレスを指定して、ネットワーク１０に暗号化印刷データを送出する。
【０１２５】
次に、印刷クライアント２０は、プリンタ３０から印刷結果情報を受信したかどうかを判断する（ステップＳ４１４）。印刷結果情報を受信していない場合（ステップＳ４１４：Ｎｏ）には、このステップＳ４１４の処理を繰り返して待機する。一方、印刷結果情報を受信した場合（ステップＳ４１４：Ｙｅｓ）には、その印刷結果情報が印刷完了通知であるかどうかを判断する（ステップＳ４１６）。
【０１２６】
この印刷結果情報が印刷完了通知である場合（ステップＳ４１６：Ｙｅｓ）には、プリンタ３０で印刷が正常に終了したことを意味しているので、ユーザにプリンタ３０で印刷が完了した旨を通知する（ステップＳ４１８）。一方、受信した印刷結果情報が印刷完了通知でない場合（ステップＳ４１６：Ｎｏ）には、その印刷結果情報が解読不能通知であるかどうかを判断する（ステップＳ４２０）。
【０１２７】
印刷結果情報が解読不能通知である場合（ステップＳ４２０：Ｙｅｓ）には、ユーザに、プリンタ３０で暗号化クライアント公開鍵の復号ができなかったため、印刷が行われなかった旨を通知する（ステップＳ４２２）。一方、印刷結果情報が解読不能通知でない場合（ステップＳ４２０：Ｎｏ）には、その他の何らかのエラーであると考えられるので、ユーザに、そのエラーの種類に応じた通知を行う（ステップＳ４２４）。
【０１２８】
これらステップＳ４１８、ステップＳ４２２、及び、ステップＳ４２４の後、印刷クライアント２０は、プリンタ３０との接続を終了し（ステップＳ４２６）、この印刷要求処理を終了する。
【０１２９】
次に、図１９及び図２０に基づいて、印刷クライアント２０の印刷要求処理に対応して、プリンタ３０で実行される印刷実行処理について説明する。図１９及び図２０は、プリンタ３０で実行される印刷実行処理を説明するフローチャートであり、図１９は上述した図１２の処理に続く処理である。この印刷実行処理は、プリンタ３０のＲＯＭ４４に格納されている印刷実行プログラムをＣＰＵ４０が読み込んで実行することにより実現される処理である。本実施形態においては、この印刷実行処理は、定常的に実行されている処理である。
【０１３０】
図１９のステップＳ４５０に至るまでの処理は、上述した第１実施形態の図１２及び図１３と同様である。図１３のステップＳ３１２に続いて、図１９に示すように、プリンタ３０は、印刷クライアント２０から暗号化共通鍵を受信したかどうかを判断する（ステップＳ４５０）。暗号化共通鍵を受信していない場合（ステップＳ４５０：Ｎｏ）には、このステップＳ４５０の処理を繰り返して待機する。
【０１３１】
一方、暗号化共通鍵を受信した場合（ステップＳ４５０：Ｙｅｓ）には、ステップＳ３０８で取得したクライアント公開鍵を用いて、この暗号化共通鍵を復号し、共通鍵を取得する（ステップＳ４５２）。
【０１３２】
次に、図２０に示すように、プリンタ３０は、印刷クライアント２０から暗号化印刷データを受信したかどうかを判断する（ステップＳ４５４）。暗号化印刷データを受信していない場合（ステップＳ４５４：Ｎｏ）には、このステップＳ４５４の処理を繰り返して待機する。
【０１３３】
一方、暗号化印刷データを受信した場合（ステップＳ４５４：Ｙｅｓ）には、プリンタ３０は、この受信した暗号化印刷データを、ステップＳ４５２で取得した共通鍵で復号し、印刷データを取得する（ステップＳ４５６）。続いて、プリンタ３０は、得られた印刷データに基づいて、印刷エンジン５２を駆動した印刷を実行する（ステップＳ４５８）。具体的には、印刷データの言語解釈を行い、印刷エンジン５２に適合した印刷要求データを生成する。そして、この印刷要求データを印刷エンジン５２に送信することにより、印刷エンジン５２で印刷用紙等に印刷が行われる。
【０１３４】
次に、プリンタ３０は、ステップＳ４５２で取得した共通鍵を破棄する（ステップＳ４６０）。続いて、プリンタ３０は、印刷クライアント２０に印刷完了通知を送信する（ステップＳ４６２）。そして、図１２のステップＳ２６０の処理に戻る。
【０１３５】
図２１は、上述した各処理をハードウェアにより実現した場合の構成を示す機能ブロック図であり、上述した第１実施形態の図１５に対応する図である。この図１５と異なる部分を説明すると、印刷クライアント２０の共通鍵生成部３００では、共通鍵暗号法により共通鍵を生成する。暗号化共通鍵生成部３０２では、クライアント公開鍵秘密鍵生成部２００で生成したクライアント公開鍵を用いて、共通鍵を暗号化し、暗号化共通鍵を生成する。暗号化共通鍵送信部３０４では、この生成した暗号化共通鍵を、プリンタ２０に送信する。
【０１３６】
プリンタ３０の暗号化共通鍵受信部４００では、印刷クライアント２０から送信された暗号化共通鍵を受信する。共通鍵取得部４０２では、受信した暗号化共通鍵を、クライアント公開鍵取得部１０８で取得したクライアント公開鍵を用いて復号し、共通鍵を取得する。
【０１３７】
一方、印刷クライアント２０の印刷データ生成部２１４では、印刷データを生成する。暗号化印刷データ生成部２１６では、印刷データ生成部２１６で生成した印刷データを、共通鍵生成部３００で生成した共通鍵を用いて暗号化し、暗号化印刷データを生成する。暗号化印刷データ送信部２１８では、この生成した暗号化印刷データを、プリンタ３０に送信する。
【０１３８】
プリンタ３０の暗号化印刷データ受信部１１６では、印刷クライアント２０から送信された暗号化印刷データを受信する。印刷データ取得部１１８では、共通鍵取得部４０２で取得した共通鍵を用いて、暗号化印刷データを復号し、印刷データを取得する。そして、印刷実行部１２０で、この印刷データに基づいた印刷を行う。
【０１３９】
なお、本実施形態に係る印刷システムが実行するこれ以外の処理は、上述した第１実施形態と同様であるので、詳しい説明は省略する。
【０１４０】
以上のように、本実施形態に係る印刷システムによっても、上述した第１実施形態と同様に、プリンタ３０はプリンタ公開鍵を生成した場所でのみ正常な印刷が行えるようにしたので、プリンタ３０の使用できる場所をプリンタ公開鍵を生成した場所に限定することができる。すなわち、本実施形態におけるプリンタ３０では、このプリンタ３０がプリンタ公開鍵を生成した場所と異なる場所に移動された場合には、印刷クライアント２０から送信された暗号化クライアント公開鍵を正しく復号できないので、正しいクライアント公開鍵を取得することができない。
【０１４１】
しかも、本実施形態においては、印刷データは共通鍵を用いて暗号化されているため、プリンタ３０における暗号化印刷データの復号に要する時間を可及的に短くすることができる。
【０１４２】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態においては、プリンタ位置情報に加えて、機器固有情報をパスフレーズに用いたが、機器固有情報は必ずしも必要なものではない。
【０１４３】
また、使用できる位置を制限するデータ受信装置としてプリンタを例示して説明したが、本発明はプリンタに限定されるものではない。さらに、データ送信装置も、印刷クライアントに限定されるものではない。
【０１４４】
例えば、データ送受信システムにおけるデータ送信装置が画像撮影用のデジタルカメラであり、データ受信装置がデジタルカメラで撮影した画像データを蓄積するデータサーバであってもよい。この場合、デジタルカメラからデータサーバに送信されるクライアント公開鍵は、データサーバから受信した公開鍵を用いて暗号化されており、この暗号化されたクライアント公開鍵を受信したデータサーバでは、上述した手法によりクライアント公開鍵を取得する。
【０１４５】
また、デジタルカメラから送信されるデータは、データサーバが生成した共通鍵（第１実施形態）又はデジタルカメラが生成した共通鍵（第２実施形態）を用いて暗号化されており、この暗号化されたデータを受信したデータサーバは、共通鍵を用いてこれを復号し、データを取得する。そして、データサーバは、データの復号できた場合には、そのデータを蓄積することとなる。
【０１４６】
また、上述した実施形態では、プリンタ３０の印刷媒体が印刷用紙である場合を例に説明したが、印刷媒体はこれに限るものではなく、例えば、ＯＨＰシート等の他の印刷媒体であっても本発明を適用することができる。
【０１４７】
さらに、上述の実施形態で説明した各処理については、これら各処理を実行するためのプログラムをフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＲＯＭ、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、このプログラムが記録された記録媒体を印刷クライアント２０及び／又はプリンタ３０に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【０１４８】
また、印刷クライアント２０及び／又はプリンタ３０は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、印刷クライアント２０及び／又はプリンタ３０の備える他のプログラムを活用し、記録媒体には印刷クライアント２０及び／又はプリンタ３０が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を記録するようにしてもよい。
【０１４９】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、印刷クライアント２０及び／又はプリンタ３０に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【０１５０】
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ印刷クライアント２０及び／又はプリンタ３０は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
【図面の簡単な説明】
【０１５１】
【図１】本発明の第１実施形態に係る印刷システムにおける共通鍵、プリンタ公開鍵、プリンタ秘密鍵、クライアント公開鍵、及び、クライアント秘密鍵の用い方を説明する図。
【図２】第１実施形態に係る印刷システムの全体構成を説明するブロック図。
【図３】第１実施形態に係るプリンタのハードウェア構成を説明するブロック図。
【図４】プリンタのハードウェア構成の変形例を説明するブロック図。
【図５】第１実施形態に係る印刷クライアントのハードウェア構成を説明する図。
【図６】第１実施形態におけるプリンタ公開鍵生成処理を説明するフローチャートを示す図。
【図７】第１実施形態におけるプリンタ公開鍵格納部の構成の一例を示す図。
【図８】第１実施形態におけるクライアント公開鍵秘密鍵生成処理を説明するフローチャートを示す図。
【図９】第１実施形態におけるクライアント公開鍵秘密鍵格納部の構成の一例を示す図。
【図１０】第１実施形態における印刷要求処理を説明するフローチャートを示す図（その１）。
【図１１】第１実施形態における印刷要求処理を説明するフローチャートを示す図（その２）。
【図１２】第１実施形態における印刷実行処理を説明するフローチャートを示す図（その１）。
【図１３】第１実施形態における印刷実行処理を説明するフローチャートを示す図（その２）。
【図１４】第１実施形態における印刷実行処理を説明するフローチャートを示す図（その３）。
【図１５】第１実施形態に係る印刷システムの処理をハードウェアにより実現した場合を説明する機能ブロック図。
【図１６】本発明の第２実施形態に係る印刷システムにおける共通鍵、プリンタ公開鍵、プリンタ秘密鍵、クライアント公開鍵、及び、クライアント秘密鍵の用い方を説明する図。
【図１７】第２実施形態における印刷要求処理を説明するフローチャートを示す図（その１）。
【図１８】第２実施形態における印刷要求処理を説明するフローチャートを示す図（その２）。
【図１９】第２実施形態における印刷実行処理を説明するフローチャートを示す図（その１）。
【図２０】第２実施形態における印刷実行処理を説明するフローチャートを示す図（その２）。
【図２１】第２実施形態に係る印刷システムの処理をハードウェアにより実現した場合を説明する機能ブロック図。
【符号の説明】
【０１５２】
１０  ネットワーク
２０  印刷クライアント
３０  プリンタ
４０  ＣＰＵ
４２  ＲＡＭ
４４  ＲＯＭ
４６  内部バス
４８、５０  インターフェース
５２  印刷エンジン
５４  位置検出部
５６  ＥＥＰＲＯＭ
６０  コンピュータ本体
６２  ディスプレイ
６４  ＣＰＵ
６６  ＲＡＭ
６８  ＲＯＭ
７０  内部バス
７２、７４、７８  インターフェース
７６  ハードディスク
【図１】
2005138322.tif 000003
【図２】
2005138322.tif 000004
【図３】
2005138322.tif 000005
【図４】
2005138322.tif 000006
【図５】
2005138322.tif 000007
【図６】
2005138322.tif 000008
【図７】
2005138322.tif 000009
【図８】
2005138322.tif 000010
【図９】
2005138322.tif 000011
【図１０】
2005138322.tif 000012
【図１１】
2005138322.tif 000013
【図１２】
2005138322.tif 000014
【図１３】
2005138322.tif 000015
【図１４】
2005138322.tif 000016
【図１５】
2005138322.tif 000017
【図１６】
2005138322.tif 000018
【図１７】
2005138322.tif 000019
【図１８】
2005138322.tif 000020
【図１９】
2005138322.tif 000021
【図２０】
2005138322.tif 000022
【図２１】
2005138322.tif 000023