(57)【要約】【課題】  印刷が行える場所を制限することのできるプリンタを提供する。【解決手段】  プリンタ３０は、設置された際にプリンタ位置情報に依存した秘密鍵を生成し、これを保持する。印刷クライアント２０から要求された場合は、その時点のプリンタ位置情報に依存した公開鍵を生成し、印刷クライアント２０に送信する。印刷クライアント２０は、この公開鍵を用いて共通鍵を暗号化し、プリンタ３０に送信するとともに、この共通鍵を用いて印刷データを暗号化し、プリンタ３０に送信する。プリンタ３０では、保持していた秘密鍵を用いて、暗号化された共通鍵を復号するとともに、その共通鍵を用いて、印刷データを復号する。【選択図】  図１
2005125607.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）、ＲＯＭ、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、このプログラムが記録された記録媒体を印刷クライアント２０及び／又はプリンタ３０に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【０１０５】
また、印刷クライアント２０及び／又はプリンタ３０は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、印刷クライアント２０及び／又はプリンタ３０の備える他のプログラムを活用し、記録媒体には印刷クライアント２０及び／又はプリンタ３０が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を記録するようにしてもよい。
【０１０６】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、印刷クライアント２０及び／又はプリンタ３０に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【０１０７】
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ印刷クライアント２０及び／又はプリンタ３０は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
【図面の簡単な説明】
【０１０８】
【図１】本発明の第１実施形態に係る印刷システムにおける共通鍵、公開鍵、及び、秘密鍵の用い方を説明する図。
【図２】第１実施形態に係る印刷システムの全体構成を説明するブロック図。
【図３】第１実施形態に係るプリンタのハードウェア構成を説明するブロック図。
【図４】プリンタのハードウェア構成の変形例を説明するブロック図。
【図５】第１実施形態に係る印刷クライアントのハードウェア構成を説明する図。
【図６】第１実施形態における秘密鍵生成処理を説明するフローチャートを示す図。
【図７】第１実施形態における秘密鍵格納部の構成の一例を示す図。
【図８】第１実施形態における印刷要求処理を説明するフローチャートを示す図（その１）。
【図９】第１実施形態における公開鍵要求処理を説明するフローチャートを示す図（その２）。
【図１０】第１実施形態における印刷実行処理を説明するフローチャートを示す図（その１）。
【図１１】第１実施形態における印刷実行処理を説明するフローチャートを示す図（その２）。
【図１２】第１実施形態に係る印刷システムの処理をハードウェアにより実現した場合を説明する機能ブロック図。
【図１３】第２実施形態における公開鍵生成処理を説明するフローチャートを示す図。
【図１４】第２実施形態における公開鍵格納部の一例を示す図。
【図１５】第２実施形態における印刷実行処理を説明するフローチャートを示す図。
【符号の説明】
【０１０９】
１０  ネットワーク
２０  印刷クライアント
３０  プリンタ
４０  ＣＰＵ
４２  ＲＡＭ
４４  ＲＯＭ
４６  内部バス
４８、５０  インターフェース
５２  印刷エンジン
５４  位置検出部
５６  ＥＥＰＲＯＭ
６０  コンピュータ本体
６２  ディスプレイ
６４  ＣＰＵ
６６  ＲＡＭ
６８  ＲＯＭ
７０  内部バス
７２、７４、７８  インターフェース
７６  ハードディスク
【図１】
2005125607.tif 000003
【図２】
2005125607.tif 000004
【図３】
2005125607.tif 000005
【図４】
2005125607.tif 000006
【図５】
2005125607.tif 000007
【図６】
2005125607.tif 000008
【図７】
2005125607.tif 000009
【図８】
2005125607.tif 000010
【図９】
2005125607.tif 000011
【図１０】
2005125607.tif 000012
【図１１】
2005125607.tif 000013
【図１２】
2005125607.tif 000014
【図１３】
2005125607.tif 000015
【図１４】
2005125607.tif 000016
【図１５】
2005125607.tif 000017