(57)【要約】【課題】印刷クライアントからプリンタにネットワークを介して送信する印刷送信用データのセキュリティを確保する。【解決手段】プリンタ３０、３２は、プリンタ位置情報を順次蓄積していき、統計的手法によりその代表値を統計プリンタ位置情報として算出していく。印刷クライアント２０、２２から公開鍵を要求された場合には、プリンタ３０、３２は、統計プリンタ位置情報を含むパスフレーズを用いて公開鍵の生成を行い、印刷クライアント２０、２２に送信する。印刷クライアント２０、２２ではこの公開鍵を用いて印刷データＤ０５を暗号化して、印刷送信用データＤ１０を生成し、プリンタ３０、３２に送信する。プリンタ３０、３２では、この時点における統計プリンタ位置情報を含むパスフレーズを用いて秘密鍵の生成を行い、印刷データＤ１０の復号を行う。【選択図】　図１
2004029938.tif 000002
【特許請求の範囲】
【請求項１】
印刷送信用データを受信する、印刷送信用データ受信手段と、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を検出する、プリンタ位置情報検出手段と、
前記プリンタ位置情報検出手段からプリンタ位置情報を取得する、プリンタ位置情報取得手段と、
前記プリンタ位置情報取得手段で取得したプリンタ位置情報のばらつきを補償するために、前記プリンタ位置情報に基づいて補償プリンタ位置情報を生成する、補償プリンタ位置情報生成手段と、
前記補償プリンタ位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で前記印刷送信用データが復号できた場合には、前記印刷送信用データに基づく印刷を実行し、復号できなかった場合には、前記印刷送信用データに基づく印刷を実行しない、選択印刷実行手段と、
を備えることを特徴とするプリンタ。
【請求項２】
前記プリンタ位置情報検出手段から、所定の周期でプリンタ位置情報を取得して蓄積プリンタ位置情報として蓄積する、プリンタ位置情報蓄積手段と、
前記プリンタ位置情報蓄積手段により蓄積された蓄積プリンタ位置情報から、統計的手法で算出される代表値である、統計プリンタ位置情報を算出する、統計プリンタ位置情報算出手段と、
をさらに備えており、
前記補償プリンタ位置情報生成手段は、前記プリンタ位置情報取得手段で取得したプリンタ位置情報と、前記統計プリンタ位置情報との差が、所定範囲内であれば、前記統計プリンタ位置情報を前記補償プリンタ位置情報とする、
ことを特徴とする請求項１に記載のプリンタ。
【請求項３】
印刷クライアントから送信された公開鍵取得要求を受信する、公開鍵取得要求受信手段と、
前記公開鍵取得要求受信手段が、前記公開鍵取得要求を受信した場合には、前記統計プリンタ位置情報算出手段の算出した前記統計プリンタ位置情報を取得する、公開鍵用位置情報取得手段と、
前記公開鍵用位置情報取得手段で取得した前記統計プリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成する、公開鍵生成手段と、
前記公開鍵生成手段により生成された公開鍵を、前記公開鍵取得要求を送信した前記印刷クライアントに送信する、公開鍵送信手段と、
をさらに備えることを特徴とする請求項２に記載のプリンタ。
【請求項４】
前記補償プリンタ位置情報生成手段は、前記プリンタ位置情報取得手段で取得したプリンタ位置情報と、この周囲の位置情報とを、前記補償プリンタ位置情報の候補としており、
前記選択印刷実行手段は、前記複数の補償プリンタ位置情報の候補のうちのいずれか１つを用いて前記印刷送信用データが復号できた場合には、前記印刷送信用データに基づく印刷を実行し、前記複数の補償プリンタ位置情報の候補のいずれを用いても前記印刷送信用データが復号できなかった場合には、前記印刷送信用データに基づく印刷を実行しない、
ことを特徴とする請求項１に記載のプリンタ。
【請求項５】
前記補償プリンタ位置情報生成手段は、前記プリンタ位置情報を中心として、前記プリンタ位置情報検出手段の最小測定単位のＮ倍（Ｎは自然数）の範囲内にある位置情報を、前記補償プリンタ位置情報の候補とする、ことを特徴とする請求項４に記載のプリンタ。
【請求項６】
印刷クライアントから送信された公開鍵取得要求を受信する、公開鍵取得要求受信手段と、
前記公開鍵取得要求受信手段が、前記公開鍵取得要求を受信した場合には、前記プリンタ位置情報検出手段からプリンタ位置情報を取得する、公開鍵用位置情報取得手段と、
前記公開鍵用位置情報取得手段で取得した前記プリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成する、公開鍵生成手段と、
前記公開鍵生成手段により生成された公開鍵を、前記公開鍵取得要求を送信した前記印刷クライアントに送信する、公開鍵送信手段と、
をさらに備えることを特徴とする請求項５に記載のプリンタ。
【請求項７】
前記印刷クライアントから認証情報を受信する、認証情報受信手段と、
前記認証情報受信手段で受信した認証情報が、予め登録されている認証情報と一致するかどうかを判断する、認証情報判断手段と、
をさらに備えるとともに、
前記公開鍵は、前記認証情報判断手段で認証情報が一致した場合にのみ、前記印刷クライアントに送信される、ことを特徴とする請求項３又は請求項６に記載のプリンタ。
【請求項８】
当該プリンタに関する固有の情報である機器固有情報を取得する、機器固有情報取得手段をさらに備えており、
前記パスフレーズは、少なくとも前記プリンタ位置情報と前記機器固有情報とを含んでいる、
ことを特徴とする請求項１乃至請求項７のいずれかに記載のプリンタ。
【請求項９】
少なくとも１台のプリンタと、前記プリンタにネットワークを介して接続される少なくとも１台の印刷クライアントとを有する、印刷システムであって、
前記プリンタは、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を検出する、プリンタ位置情報検出手段と、
前記プリンタ位置情報検出手段から、所定の周期でプリンタ位置情報を取得して蓄積プリンタ位置情報として蓄積する、プリンタ位置情報蓄積手段と、
前記プリンタ位置情報蓄積手段により蓄積された蓄積プリンタ位置情報から、統計的手法で算出される代表値である、統計プリンタ位置情報を算出する、統計プリンタ位置情報算出手段と、
前記統計プリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成し、前記印刷クライアントに送信する、公開鍵送信手段と、
を備え、
前記印刷クライアントは、
前記公開鍵を用いて印刷データを暗号化して、送信用印刷データを生成する、送信用印刷データ生成手段と、
前記送信用印刷データを前記プリンタに送信する、送信用印刷データ送信手段と、
を備え、
前記プリンタは、さらに、
前記印刷クライアントの送信した前記印刷送信用データを受信する、印刷送信用データ受信手段と、
前記プリンタ位置情報検出手段からプリンタ位置情報を取得する、プリンタ位置情報取得手段と、
前記プリンタ位置情報取得手段で取得したプリンタ位置情報と、前記統計プリンタ位置情報との差が、所定範囲内であれば、前記統計プリンタ位置情報を補償プリンタ位置情報とする、補償プリンタ位置情報生成手段と、
前記補償プリンタ位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で前記印刷送信用データが復号できた場合には、前記印刷送信用データに基づく印刷を実行し、復号できなかった場合には、前記印刷送信用データに基づく印刷を実行しない、選択印刷実行手段と、
を備えることを特徴とする印刷システム。
【請求項１０】
少なくとも１台のプリンタと、前記プリンタにネットワークを介して接続される少なくとも１台の印刷クライアントとを有する、印刷システムであって、
前記プリンタは、
当該プリンタの設置されている場所を特定するためのプリンタ位置情報を検出する、プリンタ位置情報検出手段と、
前記プリンタ位置情報検出手段から、プリンタ位置情報を取得し、このプリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成して、前記印刷クライアントに送信する、公開鍵送信手段と、
を備え、
前記印刷クライアントは、
前記公開鍵を用いて印刷データを暗号化して、送信用印刷データを生成する、送信用印刷データ生成手段と、
前記送信用印刷データを前記プリンタに送信する、送信用印刷データ送信手段と、
を備え、
前記プリンタは、さらに、
前記印刷クライアントの送信した前記印刷送信用データを受信する、印刷送信用データ受信手段と、
前記プリンタ位置情報検出手段からプリンタ位置情報を取得する、プリンタ位置情報取得手段と、
前記プリンタ位置情報取得手段で取得したプリンタ位置情報と、この周囲の位置情報とを、補償プリンタ位置情報の候補とし、前記複数の補償プリンタ位置情報の候補のうちのいずれか１つを含むパスフレーズを用いて生成した秘密鍵で、前記印刷送信用データが復号できた場合には、前記印刷送信用データに基づく印刷を実行し、前記複数の補償プリンタ位置情報の候補のいずれを用いても前記印刷送信用データが復号できなかった場合には、前記印刷送信用データに基づく印刷を実行しない、選択印刷実行手段と、
を備えることを特徴とする印刷システム。
【請求項１１】
送信用データを受信する、送信用データ受信手段と、
当該データ受信装置の設置されている場所を特定するための位置情報を検出する、位置情報検出手段と、
前記位置情報検出手段から位置情報を取得する、位置情報取得手段と、
前記位置情報取得手段で取得した位置情報のばらつきを補償するために、前記位置情報に基づいて補償位置情報を生成する、補償位置情報生成手段と、
前記補償位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で前記送信用データが復号できた場合には、前記送信用データに基づく処理を実行し、復号できなかった場合には、前記送信用データに基づく処理を実行しない、選択処理実行手段と、
を備えることを特徴とするデータ受信装置。
【請求項１２】
少なくとも１台のデータ受信装置と、前記データ受信装置にネットワークを介して接続される少なくとも１台のデータ送信装置とを有する、データ送受信システムであって、
前記データ受信装置は、
当該データ受信装置の設置されている場所を特定するための位置情報を検出する、位置情報検出手段と、
前記位置情報検出手段から、所定の周期で位置情報を取得して蓄積位置情報として蓄積する、位置情報蓄積手段と、
前記位置情報蓄積手段により蓄積された蓄積位置情報から、統計的手法で算出される代表値である、統計位置情報を算出する、統計位置情報算出手段と、
前記統計位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成し、前記データ送信装置に送信する、公開鍵送信手段と、
を備え、
前記データ送信装置は、
前記公開鍵を用いてデータを暗号化して、送信用データを生成する、送信用データ生成手段と、
前記送信用データを前記データ受信装置に送信する、送信用データ送信手段と、
を備え、
前記データ受信装置は、さらに、
前記データ送信装置の送信した前記送信用データを受信する、送信用データ受信手段と、
前記位置情報検出手段から位置情報を取得する、位置情報取得手段と、
前記位置情報取得手段で取得した位置情報と、前記統計位置情報との差が、所定範囲内であれば、前記統計位置情報を補償位置情報とする、補償位置情報生成手段と、
前記補償位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で前記印刷送信用データが復号できた場合には、前記送信用データに基づく処理を実行し、復号できなかった場合には、前記送信用データに基づく処理を実行しない、選択処理実行手段と、
を備えることを特徴とするデータ送受信システム。
【請求項１３】
少なくとも１台のデータ受信装置と、前記データ受信装置にネットワークを介して接続される少なくとも１台のデータ送信装置とを有する、データ送受信システムであって、
前記データ受信装置は、
当該データ受信装置の設置されている場所を特定するための位置情報を検出する、位置情報検出手段と、
前記位置情報検出手段から、位置情報を取得し、この位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成して、前記データ送信装置に送信する、公開鍵送信手段と、
を備え、
前記データ送信装置は、
前記公開鍵を用いてデータを暗号化して、送信用データを生成する、送信用データ生成手段と、
前記送信用データを前記データ受信装置に送信する、送信用データ送信手段と、
を備え、
前記データ受信装置は、さらに、
前記データ送信装置の送信した前記送信用データを受信する、送信用データ受信手段と、
前記位置情報検出手段から位置情報を取得する、位置情報取得手段と、
前記位置情報取得手段で取得した位置情報と、この周囲の位置情報とを、補償位置情報の候補とし、前記複数の補償位置情報の候補のうちのいずれか１つを含むパスフレーズを用いて生成した秘密鍵で、前記送信用データが復号できた場合には、前記送信用データに基づく処理を実行し、前記複数の補償位置情報の候補のいずれを用いても前記送信用データが復号できなかった場合には、前記送信用データに基づく処理を実行しない、選択処理実行手段と、
を備えることを特徴とするデータ送受信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ及び印刷システム、並びに、データ受信装置及びデータ送受信システムに関し、特に、プリンタ及びデータ受信装置に送信されるデータのセキュリティを確保したプリンタ及び印刷システム、並びに、データ受信装置及びデータ送受信システムに関する。
【０００２】
【従来の技術】
今日、ネットワークを用いてプリンタを共有する印刷システムが、盛んに使用されるようになってきている。すなわち、１つのネットワークに、印刷クライアントとしてコンピュータを複数接続するとともに、例えば１台のプリンタをこのネットワークに接続することにより、複数の印刷クライアントからの印刷データを１台のプリンタが受け付けて、印刷を行うことができるようになってきている。
【０００３】
このようなネットワークを用いた印刷システムにおいては、様々なユーザが、各印刷クライアントから印刷データをプリンタに送信し、印刷を行うことができる。
【０００４】
【発明が解決しようとする課題】
しかしながら、印刷クライアントから送信された印刷データを、プリンタが無条件に印刷してしまうこととすると、ユーザが意図した場所に設置されていないプリンタであってもそのまま印刷がなされてしまうこととなる。特に、以前使用されていた場所から別な場所に移動されたプリンタの場合、ネットワーク上のアドレスである例えばＩＰアドレスは変更されていないこともあることから、移動後の場所にあるプリンタで、送信した印刷データの印刷が行われてしまうこととなる。このような事態は、印刷データのセキュリティを確保したいユーザにとっては、望ましくない。
【０００５】
さらには、印刷クライアントから送信された印刷データを、プリンタが無条件で印刷してしまうこととすると、本来そのプリンタで印刷する権限のない印刷クライアントからの印刷データまで、プリンタが印刷をしてしまうこととなる。この場合、そのプリンタで印刷できる印刷クライアントを制限できないこととなり、やはり好ましくない。特に、不正な意図をもって大量の印刷データを送信するユーザも存在し得ることを考えると、何らかの印刷制限を設ける必要がある。
【０００６】
また例えば、会社のある部署で使用していたプリンタを別の部署に移動させて、さらに使用する場合もある。このような場合、これまでそのプリンタで印刷する権限を有していた印刷クライアントであっても、プリンタの移動をした後には、このプリンタで印刷する権限を与えたくないことがある。このような状況において、印刷クライアントからの印刷データを、プリンタ側で印刷しないようにする技術の必要性が認められる。
【０００７】
そこで本発明は、前記課題に鑑みてなされたものであり、プリンタの設置されている位置情報に基づいて、印刷できる印刷データを制限することにより、印刷データ及びプリンタのセキュリティを確保した印刷システムを提供することを目的とする。また、データ受信装置の設置されている位置情報に基づいて、処理できるデータを制限することにより、送信するデータ及びデータ受信装置のセキュリティを確保したデータ送受信システムを提供することを目的とする。さらに、プリンタ及びデータ受信装置が検出する位置情報にある程度のばらつきが生じても、円滑に受信した印刷データを復号できる印刷システム、又は、円滑に受信データを復号できるデータ送受信システムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するため、本発明に係るプリンタは、印刷送信用データを受信する、印刷送信用データ受信手段と、当該プリンタの設置されている場所を特定するためのプリンタ位置情報を検出する、プリンタ位置情報検出手段と、前記プリンタ位置情報検出手段からプリンタ位置情報を取得する、プリンタ位置情報取得手段と、前記プリンタ位置情報取得手段で取得したプリンタ位置情報のばらつきを補償するために、前記プリンタ位置情報に基づいて補償プリンタ位置情報を生成する、補償プリンタ位置情報生成手段と、前記補償プリンタ位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で前記印刷送信用データが復号できた場合には、前記印刷送信用データに基づく印刷を実行し、復号できなかった場合には、前記印刷送信用データに基づく印刷を実行しない、選択印刷実行手段と、を備えることを特徴とする。
【０００９】
この場合、前記プリンタ位置情報検出手段から、所定の周期でプリンタ位置情報を取得して蓄積プリンタ位置情報として蓄積する、プリンタ位置情報蓄積手段と、前記プリンタ位置情報蓄積手段により蓄積された蓄積プリンタ位置情報から、統計的手法で算出される代表値である、統計プリンタ位置情報を算出する、統計プリンタ位置情報算出手段と、をさらに備えており、前記補償プリンタ位置情報生成手段は、前記プリンタ位置情報取得手段で取得したプリンタ位置情報と、前記統計プリンタ位置情報との差が、所定範囲内であれば、前記統計プリンタ位置情報を前記補償プリンタ位置情報とする、ようにしてもよい。
【００１０】
また、印刷クライアントから送信された公開鍵取得要求を受信する、公開鍵取得要求受信手段と、前記公開鍵取得要求受信手段が、前記公開鍵取得要求を受信した場合には、前記統計プリンタ位置情報算出手段の算出した前記統計プリンタ位置情報を取得する、公開鍵用位置情報取得手段と、前記公開鍵用位置情報取得手段で取得した前記統計プリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成する、公開鍵生成手段と、前記公開鍵生成手段により生成された公開鍵を、前記公開鍵取得要求を送信した前記印刷クライアントに送信する、公開鍵送信手段と、をさらに備えるようにしてもよい。
【００１１】
一方、前記補償プリンタ位置情報生成手段は、前記プリンタ位置情報取得手段で取得したプリンタ位置情報と、この周囲の位置情報とを、前記補償プリンタ位置情報の候補としており、前記選択印刷実行手段は、前記複数の補償プリンタ位置情報の候補のうちのいずれか１つを用いて前記印刷送信用データが復号できた場合には、前記印刷送信用データに基づく印刷を実行し、前記複数の補償プリンタ位置情報の候補のいずれを用いても前記印刷送信用データが復号できなかった場合には、前記印刷送信用データに基づく印刷を実行しない、ようにしてもよい。
【００１２】
この場合、前記補償プリンタ位置情報生成手段は、前記プリンタ位置情報を中心として、前記プリンタ位置情報検出手段の最小測定単位のＮ倍（Ｎは自然数）の範囲内にある位置情報を、前記補償プリンタ位置情報の候補とする、ようにしてもよい。
【００１３】
さらに、印刷クライアントから送信された公開鍵取得要求を受信する、公開鍵取得要求受信手段と、前記公開鍵取得要求受信手段が、前記公開鍵取得要求を受信した場合には、前記プリンタ位置情報検出手段からプリンタ位置情報を取得する、公開鍵用位置情報取得手段と、前記公開鍵用位置情報取得手段で取得した前記プリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成する、公開鍵生成手段と、前記公開鍵生成手段により生成された公開鍵を、前記公開鍵取得要求を送信した前記印刷クライアントに送信する、公開鍵送信手段と、を備えるようにしてもよい。
【００１４】
また、前記印刷クライアントから認証情報を受信する、認証情報受信手段と、前記認証情報受信手段で受信した認証情報が、予め登録されている認証情報と一致するかどうかを判断する、認証情報判断手段と、をさらに備えるとともに、前記公開鍵は、前記認証情報判断手段で認証情報が一致した場合にのみ、前記印刷クライアントに送信される、ようにしてもよい。
【００１５】
また、当該プリンタに関する固有の情報である機器固有情報を取得する、機器固有情報取得手段をさらに備えており、前記パスフレーズは、少なくとも前記プリンタ位置情報と前記機器固有情報とを含んでいる、ようにしてもよい。
【００１６】
本発明に係る印刷システムは、少なくとも１台のプリンタと、前記プリンタにネットワークを介して接続される少なくとも１台の印刷クライアントとを有する、印刷システムであって、前記プリンタは、当該プリンタの設置されている場所を特定するためのプリンタ位置情報を検出する、プリンタ位置情報検出手段と、前記プリンタ位置情報検出手段から、所定の周期でプリンタ位置情報を取得して蓄積プリンタ位置情報として蓄積する、プリンタ位置情報蓄積手段と、前記プリンタ位置情報蓄積手段により蓄積された蓄積プリンタ位置情報から、統計的手法で算出される代表値である、統計プリンタ位置情報を算出する、統計プリンタ位置情報算出手段と、前記統計プリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成し、前記印刷クライアントに送信する、公開鍵送信手段と、を備え、前記印刷クライアントは、前記公開鍵を用いて印刷データを暗号化して、送信用印刷データを生成する、送信用印刷データ生成手段と、前記送信用印刷データを前記プリンタに送信する、送信用印刷データ送信手段と、を備え、前記プリンタは、さらに、前記印刷クライアントの送信した前記印刷送信用データを受信する、印刷送信用データ受信手段と、前記プリンタ位置情報検出手段からプリンタ位置情報を取得する、プリンタ位置情報取得手段と、前記プリンタ位置情報取得手段で取得したプリンタ位置情報と、前記統計プリンタ位置情報との差が、所定範囲内であれば、前記統計プリンタ位置情報を補償プリンタ位置情報とする、補償プリンタ位置情報生成手段と、前記補償プリンタ位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で前記印刷送信用データが復号できた場合には、前記印刷送信用データに基づく印刷を実行し、復号できなかった場合には、前記印刷送信用データに基づく印刷を実行しない、選択印刷実行手段と、を備えることを特徴とする。
【００１７】
本発明に係る印刷システムは、少なくとも１台のプリンタと、前記プリンタにネットワークを介して接続される少なくとも１台の印刷クライアントとを有する、印刷システムであって、前記プリンタは、当該プリンタの設置されている場所を特定するためのプリンタ位置情報を検出する、プリンタ位置情報検出手段と、前記プリンタ位置情報検出手段から、プリンタ位置情報を取得し、このプリンタ位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成して、前記印刷クライアントに送信する、公開鍵送信手段と、を備え、前記印刷クライアントは、前記公開鍵を用いて印刷データを暗号化して、送信用印刷データを生成する、送信用印刷データ生成手段と、前記送信用印刷データを前記プリンタに送信する、送信用印刷データ送信手段と、を備え、前記プリンタは、さらに、前記印刷クライアントの送信した前記印刷送信用データを受信する、印刷送信用データ受信手段と、前記プリンタ位置情報検出手段からプリンタ位置情報を取得する、プリンタ位置情報取得手段と、前記プリンタ位置情報取得手段で取得したプリンタ位置情報と、この周囲の位置情報とを、補償プリンタ位置情報の候補とし、前記複数の補償プリンタ位置情報の候補のうちのいずれか１つを含むパスフレーズを用いて生成した秘密鍵で、前記印刷送信用データが復号できた場合には、前記印刷送信用データに基づく印刷を実行し、前記複数の補償プリンタ位置情報の候補のいずれを用いても前記印刷送信用データが復号できなかった場合には、前記印刷送信用データに基づく印刷を実行しない、選択印刷実行手段と、を備えることを特徴とする。
【００１８】
本発明に係るデータ受信装置は、送信用データを受信する、送信用データ受信手段と、当該データ受信装置の設置されている場所を特定するための位置情報を検出する、位置情報検出手段と、前記位置情報検出手段から位置情報を取得する、位置情報取得手段と、前記位置情報取得手段で取得した位置情報のばらつきを補償するために、前記位置情報に基づいて補償位置情報を生成する、補償位置情報生成手段と、前記補償位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で前記送信用データが復号できた場合には、前記送信用データに基づく処理を実行し、復号できなかった場合には、前記送信用データに基づく処理を実行しない、選択処理実行手段と、を備えることを特徴とする。
【００１９】
本発明に係るデータ送受信システムは、少なくとも１台のデータ受信装置と、前記データ受信装置にネットワークを介して接続される少なくとも１台のデータ送信装置とを有する、データ送受信システムであって、前記データ受信装置は、当該データ受信装置の設置されている場所を特定するための位置情報を検出する、位置情報検出手段と、前記位置情報検出手段から、所定の周期で位置情報を取得して蓄積位置情報として蓄積する、位置情報蓄積手段と、前記位置情報蓄積手段により蓄積された蓄積位置情報から、統計的手法で算出される代表値である、統計位置情報を算出する、統計位置情報算出手段と、前記統計位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成し、前記データ送信装置に送信する、公開鍵送信手段と、を備え、前記データ送信装置は、前記公開鍵を用いてデータを暗号化して、送信用データを生成する、送信用データ生成手段と、前記送信用データを前記データ受信装置に送信する、送信用データ送信手段と、を備え、前記データ受信装置は、さらに、前記データ送信装置の送信した前記送信用データを受信する、送信用データ受信手段と、前記位置情報検出手段から位置情報を取得する、位置情報取得手段と、前記位置情報取得手段で取得した位置情報と、前記統計位置情報との差が、所定範囲内であれば、前記統計位置情報を補償位置情報とする、補償位置情報生成手段と、前記補償位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で前記印刷送信用データが復号できた場合には、前記送信用データに基づく処理を実行し、復号できなかった場合には、前記送信用データに基づく処理を実行しない、選択処理実行手段と、を備えることを特徴とする。
【００２０】
本発明に係るデータ送受信システムは、少なくとも１台のデータ受信装置と、前記データ受信装置にネットワークを介して接続される少なくとも１台のデータ送信装置とを有する、データ送受信システムであって、前記データ受信装置は、当該データ受信装置の設置されている場所を特定するための位置情報を検出する、位置情報検出手段と、前記位置情報検出手段から、位置情報を取得し、この位置情報を少なくとも含むパスフレーズを用いて公開鍵を生成して、前記データ送信装置に送信する、公開鍵送信手段と、を備え、前記データ送信装置は、前記公開鍵を用いてデータを暗号化して、送信用データを生成する、送信用データ生成手段と、前記送信用データを前記データ受信装置に送信する、送信用データ送信手段と、を備え、前記データ受信装置は、さらに、前記データ送信装置の送信した前記送信用データを受信する、送信用データ受信手段と、前記位置情報検出手段から位置情報を取得する、位置情報取得手段と、前記位置情報取得手段で取得した位置情報と、この周囲の位置情報とを、補償位置情報の候補とし、前記複数の補償位置情報の候補のうちのいずれか１つを含むパスフレーズを用いて生成した秘密鍵で、前記送信用データが復号できた場合には、前記送信用データに基づく処理を実行し、前記複数の補償位置情報の候補のいずれを用いても前記送信用データが復号できなかった場合には、前記送信用データに基づく処理を実行しない、選択処理実行手段と、を備えることを特徴とする。
【００２１】
【発明の実施の形態】
〔第１実施形態〕
本発明の第１実施形態に係る印刷システムは、プリンタが設置されている位置を表すプリンタ位置情報を予め蓄積しておき、この蓄積したプリンタ位置情報に基づいて、統計的にそのプリンタのプリンタ位置情報を算出するとともに、この統計的に算出したプリンタ位置情報と、印刷データを受信した際のプリンタ位置情報との差が所定範囲内であれば、このプリンタのプリンタ位置情報を、統計的に算出したプリンタ位置情報に収斂させるようにしたものである。より詳しくを、以下に説明する。
【００２２】
まず、図１に基づいて、本実施形態に係る印刷システムの構成を説明する。図１は、本実施形態に係る印刷システムのハードウェア構成を示すブロック図である。
【００２３】
この図１に示すように、本実施形態に係る印刷システムは、ネットワーク１０に接続された印刷クライアント２０、２２と、同じくネットワーク１０に接続されたプリンタ３０、３２とを備えている。本実施形態においては、ネットワーク１０は、ＴＣＰ／ＩＰ（ｔｒａｎｓｍｉｓｓｉｏｎ　ｃｏｎｔｒｏｌ　ｐｒｏｔｏｃｏｌ／ｉｎｔｅｒｎｅｔ　ｐｒｏｔｏｃｏｌ）を用いたインターネットにより構成されている。但し、ネットワーク１０の態様は、インターネットに限るものではなく、例えば、イーサーネット等のＬＡＮや、インターネットとＬＡＮの混在により構成されていてもよい。
【００２４】
印刷クライアント２０、２２は、例えば、ホストコンピュータやパーソナルコンピュータと呼ばれる各種のコンピュータにより構成されている。本実施形態では、特に印刷クライアント２０、２２は、印刷データを暗号化した印刷送信用データを生成し、この印刷送信用データをネットワーク１０を介してプリンタ３０及び／又はプリンタ３２に送信する。このネットワーク１０に接続される印刷クライアントの台数は任意であり、１台でもよく、複数台でもよい。また、この印刷クライアント２０、２２は、コンピュータに限られるものではなく、例えば、撮影した画像を印刷する必要のあるデジタルカメラや、印刷画像データをコンテンツとして蓄積してあるコンテンツサーバ等でもよい。
【００２５】
また本実施形態においては、プリンタ３０、３２はいわゆるネットワークプリンタである。本実施形態においては、特にプリンタ３０、３２は、印刷送信用データを印刷クライアント２０及び／又は印刷クライアント２２から受信したときには、この印刷送信用データを復号できた場合にのみ、復号することにより取得された印刷データに基づく印刷を行う。
【００２６】
本実施形態においては、プリンタ３０、３２は、ネットワーク１０に直接接続されており、各プリンタ３０、３２は固有のネットワークアドレスを有している。したがって、印刷クライアント２０、２２は、このネットワークアドレスを指定することにより、印刷送信用データをプリンタ３０又はプリンタ３２に送信することができる。
【００２７】
但し、この図１においては、プリンタ３０、３２をネットワーク１０に直接接続しているが、プリンタサーバを介して接続するようにしてもよい。また、このネットワーク１０に接続されるプリンタの台数は任意であり、１台でもよく、複数台でもよい。
【００２８】
図２は、プリンタ３０の内部構成を説明するためのブロック図である。なお、プリンタ３２の内部構成もプリンタ３０と同様である。
【００２９】
この図２に示すように、プリンタ３０は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）４０と、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）４２と、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）４４とを備えており、これらは互いに内部バス４６を介して接続されている。また、この内部バス４６には、通信用のインターフェース４８が接続されており、この通信用のインターフェース４８を介して、上述したネットワーク１０にプリンタ３０が接続されている。さらに、内部バス４６には、インターフェース５０が接続されており、このインターフェース５０には印刷エンジン５２が接続されている。
【００３０】
また、内部バス４６には、位置検出部５４が接続されている。この位置検出部５４は、プリンタ３０が設置されている位置を特定する機能を有する。本実施形態においては、例えば、ＧＰＳ（ｇｌｏｂａｌ　ｐｏｓｉｔｉｏｎｉｎｇ　ｓｙｓｔｅｍ）により構成されており、このプリンタ３０が設置されている位置の緯度、経度、高度が特定できるようになっている。現時点におけるＧＰＳの精度は、緯度、経度、高度（Ｘ軸、Ｙ軸、Ｚ軸）において、それぞれ±１０ｍ程度であると言われている。
【００３１】
但し、この位置検出部５４は、ＧＰＳを用いた構成に限らず、例えば、無線ＬＡＮによりこのプリンタ３０がネットワーク１０に接続されている場合には、このプリンタ３０が収容されている無線基地局に基づいて、プリンタ３０の位置を特定するようにしてもよい。或いは、ＰＨＳ（Ｐｅｒｓｏｎａｌ　Ｈａｎｄｙｐｈｏｎｅ　Ｓｙｓｔｅｍ）などの移動体通信技術を利用して、プリンタ３０の位置を特定するようにしてもよい。
【００３２】
さらに、本実施形態に係るプリンタ３０の内部バス４６には、インターフェース５６が接続されており、このインターフェース５６を介して、書き換え可能な不揮発性記憶装置として、ハードディスク５８が接続されている。本実施形態においては、このハードディスク５８は、例えば、書き換え可能な不揮発性記憶装置であるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　Ｐｒｏｇｒａｍｍａｂｌｅ　ＲＯＭ）に置き換えることも可能である。
【００３３】
図３は、印刷クライアント２０の内部構成を説明するためのブロック図である。なお、本実施形態においては、印刷クライアント２２の内部構成も印刷クライアント２０と同様である。
【００３４】
この図３に示すように、本実施形態に係る印刷クライアント２０は、コンピュータ本体６０とディスプレイ６２とを備えて構成されている。
【００３５】
コンピュータ本体６０は、ＣＰＵ６４と、ＲＡＭ６６と、ＲＯＭ６８とを備えており、これらは互いに内部バス７０を介して接続されている。また、この内部バス７０には、通信用のインターフェース７２が接続されており、この通信用のインターフェース７２を介して、上述したネットワーク１０に印刷クライアント２０が接続されている。
【００３６】
さらに、内部バス７０には、インターフェース７４が接続されており、このインターフェース７４には大容量記憶装置であるハードディスク７６が接続されている。また、内部バス７０には、インターフェース７８が接続されており、このインターフェース７８から延びるケーブル８０を介して、上述したディスプレイ６２が接続されている。
【００３７】
次に、本実施形態に係る印刷システムにおいて、例えば、印刷クライアント２０がプリンタ３０で印刷を行う場合の処理を、概略的に説明する。
【００３８】
この場合、印刷クライアント２０は、予め、例えばプリンタ３０からこのプリンタ３０の公開鍵を取得しておく。本実施形態においては、この公開鍵の取得は、ネットワーク１０を介して行われる。すなわち、プリンタ３０は、公開鍵を要求してきた印刷クライアントが正当な権限を有しているかどうかを確認し、正当な権限を有する場合にのみ、公開鍵を通知する。但し、プリンタ３０の公開鍵は、必ずしもネットワーク１０を介して印刷クライアント２０に通知する必要はない。例えば、印刷クライアント２０のユーザが、正当な権限を有する者であれば、プリンタ３０の設置場所に出向いて、プリンタ３０を操作することができるのであるから、ユーザがプリンタ３０のコントロールパネルを操作して、プリンタ３０の公開鍵を取得するようにしてもよい。この場合、ユーザは、例えば、プリンタ３０の公開鍵をフレキシブルディスク等の記録媒体に記録し、これを印刷クライアント２０に読み込ませればよい。
【００３９】
次に、印刷クライアント２０のユーザは、印刷するべきデータを作成し、印刷クライアント２０に対してプリンタ３０を指定して印刷を指示する。図４は、印刷データＤ０５の暗号化及び復号の流れを説明する図である。
【００４０】
この図４に示すように、印刷クライアント２０は、取得した公開鍵を用いて印刷データＤ０５を暗号化し、印刷送信用データＤ１０を生成する。ここで、印刷データＤ０５は、プリンタ３０で印刷エンジン５２を駆動した印刷を行うのに必要となる本来の印刷データを示している。なお、印刷送信用データＤ１０は、この図４に示した印刷データＤ０５以外のデータを含んでいてもよい。続いて、印刷クライアント２０は、この生成した印刷送信用データＤ１０を、ネットワーク１０を介して、プリンタ３０に送信する。
【００４１】
この印刷送信用データＤ１０を受信したプリンタ３０は、図２に示すように、この受信した印刷送信用データＤ１０をＲＡＭ４２に一旦格納する。そして、プリンタ３０は、この暗号化された印刷送信用データＤ１０を秘密鍵を用いて復号して、印刷送信用データＤ１０に含まれている印刷データＤ０５を取得する。この復号ができた場合には、印刷送信用データＤ１０に含まれている印刷データＤ０５を、印刷エンジン５２に送信して印刷を行い、復号できなかった場合には、印刷は行わない。
【００４２】
なお、本実施形態においては、公開鍵及び秘密鍵の生成は、プリンタ３０の設けられている位置を示すプリンタ位置情報に依存して形成されるものであるが、詳しくは後述するものとする。
【００４３】
次に、プリンタ位置情報を印刷クライアント２０、２２が取得する場合における、印刷クライアント２０、２２及びプリンタ３０、３２の処理について、詳しく説明する。
【００４４】
図５は、印刷クライアント２０、２２で実行される公開鍵要求処理を説明するフローチャートである。この公開鍵要求処理は、印刷クライアントのＲＯＭ６８又はハードディスク７６に格納されている公開鍵要求プログラムをＣＰＵ６４が読み込んで実行することにより実現される処理である。ここでは、印刷クライアント２０からプリンタ３０に公開鍵を要求する場合を想定して説明する。
【００４５】
図５に示すように、この公開鍵要求処理においては、まず印刷クライアント２０は、プリンタ３０に接続する（ステップＳ１００）。本実施形態においては、印刷クライアント２０は、プリンタ３０のネットワークアドレスを指定することにより、印刷クライアント２０とプリンタ３０との間の接続を確立する。
【００４６】
次に、印刷クライアント２０は、プリンタ３０へ認証情報を送信する（ステップＳ１０２）。本実施形態においては、この認証情報として、印刷クライアントを特定するためのクライアントＩＤと、パスワードとの組み合わせを用いている。したがって、印刷クライアント２０は、クライアントＩＤとパスワードとを、プリンタ３０へ送信する。
【００４７】
これに続いて、印刷クライアント２０は、プリンタ３０から認証が受け入れられたか否かを示す認証結果を受信するので、この認証結果に基づいて、プリンタ３０で認証が認められたかどうかを判断する（ステップＳ１０４）。認証が認められなかった場合（ステップＳ１０４：Ｎｏ）には、上述したステップＳ１０２からを繰り返す。
【００４８】
一方、認証が認められた場合（ステップＳ１０４：Ｙｅｓ）には、印刷クライアント２０は、公開鍵取得要求をプリンタ３０へ送信する（ステップＳ１０６）。そして、プリンタ３０から公開鍵を受信したかどうかを判断する（ステップＳ１０８）。プリンタ３０から公開鍵を受信していない場合（ステップＳ１０８：Ｎｏ）には、このステップＳ１０８を繰り返して待機する。
【００４９】
一方、プリンタ３０から公開鍵を受信した場合（ステップＳ１０８：Ｙｅｓ）には、この公開鍵を格納する（ステップＳ１１０）。本実施形態においては、印刷クライアント２０は、ハードディスク７６に公開鍵テーブルＴＢ２０を設けており、取得したプリンタ位置情報は、この公開鍵テーブルＴＢ２０に格納され保持される。
【００５０】
図６は、この公開鍵テーブルＴＢ２０の構成の一例を示す図である。この図６に示すように、公開鍵テーブルＴＢ２０は、プリンタを特定するための情報を格納する項目Ｄ２０と、取得した公開鍵をプリンタに対応させて格納する項目Ｄ２１とを備えている。このように、公開鍵テーブルＴＢ２０は、複数のプリンタに関する公開鍵を、各プリンタ毎に保持することができるようになっている。また、このようにハードディスク７８の公開鍵テーブルＴＢ２０に公開鍵を格納することにより、印刷クライアント２０の電源がオフされて再び電源が投入された場合でも、それ以前に取得した公開鍵をそのままハードディスク７８から読み出して使用することができるようになっている。
【００５１】
この公開鍵テーブルＴＢ２０に、取得した公開鍵テーブルＴＢ２０を格納することにより、図５に示した公開鍵要求処理は終了する。
【００５２】
次に、図７に基づいて、プリンタ３０、３２で所定の周期で実行される位置情報蓄積処理について説明する。この図７は、プリンタ３０、３２で実行される位置情報蓄積処理を説明するフローチャートである。本実施形態においては、この位置情報蓄積処理は、例えば、１日１回の割合で実行される処理である。また、この位置情報蓄積処理は、プリンタのＲＯＭ４４又はハードディスク５８に格納されている位置情報蓄積プログラムをＣＰＵ４０が読み込んで実行することにより実現される処理である。ここでは、プリンタ３０を例にして、この位置情報蓄積処理を説明する。
【００５３】
図７に示すように、プリンタ３０は、まず、位置検出部５４から、このプリンタ３０のこの時点におけるプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを取得する（ステップＳ１２０）。次に、プリンタ３０は、ハードディスク５８から、このハードディスク５８に格納されている統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄを取得し、この統計プリンタ位置情報と、ステップＳ１２０で取得したプリンタ位置情報との差が、所定値以上であるかどうかを判断する（ステップＳ１２２）。ここで、統計プリンタ位置情報とは、統計的手法を用いて、これまで測定したプリンタ位置情報から算出した代表値を示しており、後述するステップＳ１３６で算出される。また、上述したようにプリンタ位置情報は、緯度、経度、高度（Ｘ軸、Ｙ軸、Ｚ軸）で特定されるので、本実施形態においては、ステップＳ１２０で取得したＸｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗのそれぞれと、統計プリンタ位置情報のＸｄ、Ｙｄ、Ｚｄのそれぞれとの差が、所定値以上であるかどうかを判断する。例えば｜Ｘｎｏｗ−Ｘｄ｜が１００ｍ以上であるかどうかを判断し、｜Ｙｎｏｗ−Ｙｄ｜が１００ｍ以上であるかどうかを判断し、｜Ｚｎｏｗ−Ｚｄ｜が１００ｍ以上であるかどうかを判断する。そして、いずれか１つでも１００ｍ以上であれば、ステップＳ１２０で取得したプリンタ位置情報と統計プリンタ位置情報との差が所定値以上であると判断する。
【００５４】
ステップＳ１２０で取得したプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗと、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄとの差が、所定値以上でないと判断した場合（ステップＳ１２２：Ｎｏ）には、これまでに測定した測定プリンタ位置情報Ｘ２〜Ｘ１００を、Ｘ１〜Ｘ９９に順次シフトする（ステップＳ１２４）。すなわち、本実施形態においては、これまで過去に測定したプリンタ位置情報を１００個分蓄積しておくこととしている。新たしく測定したプリンタ位置情報は、Ｘ１００、Ｙ１００、Ｚ１００に格納することとし、新たに１つプリンタ位置情報を測定する毎に、これを１つずつデクリメントする。すなわち、最も古いプリンタ位置情報は、Ｘ１、Ｙ１、Ｚ１となり、このＸ１、Ｙ１、Ｚ１に格納されているプリンタ位置情報は、次にプリンタ位置情報を取得した時点で破棄されることとなる。
【００５５】
次に、プリンタ３０は、測定プリンタ位置情報Ｘ１００にステップＳ１２０で取得したプリンタ位置情報Ｘｎｏｗを格納する（ステップＳ１２６）。続いて、プリンタ３０は、これまでに測定した測定プリンタ位置情報Ｙ２〜Ｙ１００を、Ｙ１〜Ｙ９９に順次シフトする（ステップＳ１２８）。そして、測定プリンタ位置情報Ｙ１００にステップＳ１２０で取得したプリンタ位置情報Ｙｎｏｗを格納する（ステップＳ１３０）。
【００５６】
次に、プリンタ３０は、これまでに測定した測定プリンタ位置情報Ｚ２〜Ｚ１００を、Ｚ１〜Ｚ９９に順次シフトする（ステップＳ１３２）。そして、測定プリンタ位置情報Ｚ１００にステップＳ１２０で取得したプリンタ位置情報Ｚｎｏｗを格納する（ステップＳ１３４）。
【００５７】
次に、プリンタ３０は、蓄積した測定プリンタ位置情報Ｘ１〜Ｘ１００、Ｙ１〜Ｙ１００、Ｚ１〜Ｚ１００に基づいて、新たな統計プリンタ位置情報を算出する（ステップＳ１３６）。統計プリンタ位置情報を算出するための統計的手法は、種々のものが考えられる。すなわち、測定プリンタ位置情報Ｘ１〜Ｘ１００を統計的にグラフ化すると、例えば図８に示すようになる。この図８のグラフにおいて、Ｘ軸は測定プリンタ位置情報Ｘ１〜Ｘ１００の値を示しており、Ｙ軸はその値に対応する測定プリンタ位置情報の個数Ｎを示している。このように測定プリンタ位置情報Ｘ１〜Ｘ１００の値が蓄積された場合、代表値を算出する統計的手法としては、次のようなものが考えられる。
【００５８】
（１）これら測定プリンタ位置情報Ｘ１〜Ｘ１００の平均値を求めて、これを統計プリンタ位置情報Ｘｄとする。すなわち、次の数式（１）で表すことができる。
【００５９】
【数１】
2004029938.tif 000003
（２）これら測定プリンタ位置情報Ｘ１〜Ｘ１００の最小値Ｘｍｉｎと、最大値Ｘｍａｘとを加算し、これを１／２にした値を、統計プリンタ位置情報Ｘｄとする。すなわち、次の数式（２）で表すことができる。
【００６０】
【数２】
2004029938.tif 000004
（３）これら測定プリンタ位置情報Ｘ１〜Ｘ１００の中央値（ｍｅｄｉａｎ）を求めて、これを統計プリンタ位置情報Ｘｄとする。
【００６１】
（４）これら測定した測定プリンタ位置情報Ｘ２〜Ｘ１００の最頻値（ｍｏｄｅ）を求めて、これを統計プリンタ位置情報Ｘｄとする。
【００６２】
このステップＳ１３６では、統計プリンタ位置情報Ｙｄ、Ｚｄについても、それぞれ、測定プリンタ位置情報Ｙ１〜Ｙ１００、Ｚ１〜Ｚ１００に基づいて、同様の統計的手法で算出する。
【００６３】
次に、プリンタ３０は、測定プリンタ位置情報Ｘ１〜Ｘ１００、Ｙ１〜Ｙ１００、Ｚ１〜Ｚ１００と、統計的手法により算出した統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄを、ハードディスク５８に格納する（ステップＳ１３８）。ハードディスク５８に格納するのは、プリンタ３０の電源をオフにしても、それまで蓄積した測定プリンタ位置情報Ｘ１〜Ｘ１００、Ｙ１〜Ｙ１００、Ｚ１〜Ｚ１００と、統計的手法により算出した統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄとが、失われないようにするためである。なお、測定プリンタ位置情報Ｘ１〜Ｘ１００、Ｙ１〜Ｙ１００、Ｚ１〜Ｚ１００と、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄとを格納する場所は、ハードディスクに限られるものではなく、例えばＥＥＰＲＯＭ等に格納するようにしてもよい。
【００６４】
一方、上述したステップＳ１２２で、位置検出部５４から取得したプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗと、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄとの差が、所定値以上であると判断した場合（ステップＳ１２２：Ｙｅｓ）には、プリンタ３０が別の場所に移動されたと判断することができるので、これまでに蓄積した測定プリンタ位置情報Ｘ１〜Ｘ１００、Ｙ１〜Ｙ１００、Ｚ１〜Ｚ１００と、統計的手法により算出した統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄとをクリアして消去する（ステップＳ１５０）。
【００６５】
次に、プリンタ３０は、測定プリンタ位置情報Ｘ１００に、ステップＳ１２０で取得したプリンタ位置情報Ｘｎｏｗを格納し（ステップＳ１５２）、測定プリンタ位置情報Ｙ１００に、ステップＳ１２０で取得したプリンタ位置情報Ｙｎｏｗを格納し（ステップＳ１５４）、測定プリンタ位置情報Ｚ１００に、ステップＳ１２０で取得したプリンタ位置情報Ｚｎｏｗを格納する（ステップＳ１５６）。そして、上述したステップＳ１３６からを実行する。
【００６６】
これにより、本実施形態に係る位置情報蓄積処理が終了する。
【００６７】
次に、図９に基づいて、印刷クライアント２０、２２の公開鍵要求処理に対応して、プリンタ３０、３２で実行される公開鍵送信処理について説明する。この図９は、プリンタ３０、３２で実行される公開鍵送信処理を説明するフローチャートである。この公開鍵送信処理は、プリンタのＲＯＭ４４又はハードディスク５８に格納されている公開鍵送信プログラムをＣＰＵ４０が読み込んで実行することにより実現される処理である。ここでも上述と同様に、印刷クライアント２０からプリンタ３０に公開鍵が要求された場合を想定して説明する。
【００６８】
図９に示すように、まず、プリンタ３０は、印刷クライアント２０と接続を確立する（ステップＳ１７０）。これは上述した印刷クライアント２０側のステップＳ１００に対応している。続いて、プリンタ３０は、印刷クライアント２０から認証情報を受信したかどうかを判断する（ステップＳ１７２）。認証情報を受信していない場合（ステップＳ１７２：Ｎｏ）には、このステップＳ１７２の処理を繰り返して待機する。
【００６９】
一方、認証情報を印刷クライアント２０から受信した場合（ステップＳ１７２：Ｙｅｓ）には、その認証情報がこのプリンタ３０に予め登録してある認証情報と一致するかどうかを判断する（ステップＳ１７４）。具体的には、上述したように、印刷クライアント２０からクライアントＩＤとパスワードが認証情報として送信されてくるので、このクライアントＩＤとパスワードが、このプリンタ３０に予め登録されているクライアントＩＤとパスワードと一致するかどうかを判断する。
【００７０】
認証情報が一致しなかった場合（ステップＳ１７４：Ｎｏ）には、プリンタ３０は印刷クライアント２０に、認証が受け入れられなかった旨の認証結果を送信し（ステップＳ１７６）、ステップＳ１７２の処理に戻る。一方、認証が一致した場合（ステップＳ１７４：Ｙｅｓ）には、プリンタ３０は印刷クライアント２０に、認証が受け入れられた旨の認証結果を送信する（ステップＳ１７８）。
【００７１】
なお、これらステップＳ１７２からステップＳ１７８の認証処理は、省くことも可能である。その場合、図５の位置情報要求処理におけるステップＳ１０２及びステップＳ１０４も省くことができる。
【００７２】
次に、プリンタ３０は、印刷クライアント２０から公開鍵取得要求を受信したかどうかを判断する（ステップＳ１８０）。この公開鍵取得要求を受信していない場合（ステップＳ１８０：Ｎｏ）には、このステップＳ１８０の処理を繰り返して待機する。
【００７３】
一方、印刷クライアント２０から公開鍵取得要求を受信した場合（ステップＳ１８０：Ｙｅｓ）には、プリンタ３０は、このプリンタ３０の機器固有情報を取得する（ステップＳ１８２）。ここで、機器固有情報とは、このプリンタ３０に関して、固有に割り当てられている識別情報であり、例えば、プリンタ３０の製造シリアルナンバー、ＭＡＣアドレス等がある。
【００７４】
次に、プリンタ３０は、ハードディスク５８から、その時点におけてハードディスク５８に格納されている統計プリンタ位置情報を取得する（ステップＳ１８４）。すなわち、これまで蓄積した測定した測定プリンタ位置情報の統計的な代表値である統計プリンタ位置情報を取得する。
【００７５】
次に、プリンタ３０は、機器固有情報と統計プリンタ位置情報とを用いてパスフレーズを作成する（ステップＳ１８６）。このパスフレーズの作成手法は種々のものが考えられるが、本実施形態においては、単純に機器固有情報の後ろに統計プリンタ位置情報をつなげることにより、パスフレーズを作成する。なお、パスフレーズは、これら機器固有情報及び統計プリンタ位置情報以外のデータを含んでいてもよい。
【００７６】
次に、プリンタ３０は、作成したパスフレーズを用いて、公開鍵暗号法により、公開鍵と秘密鍵とを生成する（ステップＳ１８８）。公開鍵暗号法では、使用するパスフレーズが同じであれば、再び、公開鍵と秘密鍵とを生成しても、同じものが生成されるという性質を有している。続いて、プリンタ３０は、この生成した公開鍵と秘密鍵のうち、公開鍵のみを印刷クライアント２０に送信する（ステップＳ１９０）。なお、秘密鍵は保存されることなく破棄される。これにより、本実施形態に係る位置情報送信処理が終了する。
【００７７】
次に、印刷クライアント２０、２２が印刷を行いたいときに、その印刷要求をプリンタ３０、３２に送信する場合の印刷クライアント２０、２２及びプリンタ３０、３２の処理について、詳しく説明する。
【００７８】
図１０は、印刷クライアント２０、２２で実行される印刷要求処理を説明するフローチャートである。この印刷要求処理は、印刷クライアントのＲＯＭ６８又はハードディスク７６に格納されている印刷要求プログラムをＣＰＵ６４が読み込んで実行することにより実現される処理である。ここでは、印刷クライアント２０からプリンタ３０に印刷を要求する場合を想定して説明する。
【００７９】
この図１０に示すように、印刷クライアント２０は、ユーザの印刷要求に基づいて、印刷データＤ０５を作成する（ステップＳ２００）。この印刷データＤ０５は、プリンタ３０が通常のプリンタである場合に、印刷を実際に行うのに必要となるデータである。
【００８０】
次に、印刷クライアント２０は、ハードディスク７６の公開鍵テーブルＴＢ２０から、プリンタ３０の公開鍵を読み出す（ステップＳ２０２）。続いて、印刷クライアント２０は、プリンタ３０の公開鍵を用いて、印刷データＤ０５を暗号化して、印刷送信用データＤ１０を生成する（ステップＳ２０４）。なお、印刷送信用データＤ１０は、印刷データＤ０５以外のデータを含んでいてもよい。
【００８１】
次に、印刷クライアント２０は、この暗号化した印刷送信用データを、プリンタ３０に送信する（ステップＳ２０６）。具体的には、プリンタ３０のネットワークアドレスを指定して、ネットワーク１０に印刷送信用データＤ１０を送出する。
【００８２】
次に、印刷クライアント２０は、プリンタ３０から印刷結果情報を受信したかどうかを判断する（ステップＳ２０８）。印刷結果情報を受信していない場合（ステップＳ２０８：Ｎｏ）には、このステップＳ２０８の処理を繰り返して待機する。一方、印刷結果情報を受信した場合（ステップＳ２０８：Ｙｅｓ）には、その印刷結果情報が印刷完了通知であるかどうかを判断する（ステップＳ２１０）。
【００８３】
この印刷結果情報が印刷完了通知である場合（ステップＳ２１０：Ｙｅｓ）には、プリンタ３０で印刷が正常に終了したことを意味しているので、ユーザにプリンタ３０で印刷が完了した旨を通知する（ステップＳ２１２）。一方、受信した印刷結果情報が印刷完了通知でない場合（ステップＳ２１０：Ｎｏ）には、その印刷結果情報が解読不能通知であるかどうかを判断する（ステップＳ２１４）。
【００８４】
印刷結果情報が解読不能通知である場合（ステップＳ２１４：Ｙｅｓ）には、ユーザに、プリンタ３０で印刷送信用データＤ１０の復号ができなかったため、印刷が行われなかった旨を通知する（ステップＳ２１６）。一方、印刷結果情報が解読不能通知でない場合（ステップＳ２１４：Ｎｏ）には、その他の何らかのエラーであると考えられるので、ユーザに、そのエラーの種類に応じた通知を行う（ステップＳ２１８）。
【００８５】
これらステップＳ２１２、ステップＳ２１６、及び、ステップＳ２１８の通知により、この印刷クライアント２０における印刷要求処理は終了する。
【００８６】
次に、図１１に基づいて、印刷クライアント２０、２２の印刷要求処理に対応して、プリンタ３０、３２で実行される印刷実行処理について説明する。図１１は、プリンタ３０、３２で実行される印刷実行処理を説明するフローチャートである。この印刷実行処理は、プリンタ３０、３２のＲＯＭ４４又はハードディスク５８に格納されている印刷実行プログラムをＣＰＵ４０が読み込んで実行することにより実現される処理である。ここでも上述と同様に、印刷クライアント２０からプリンタ３０に印刷が要求された場合を想定して説明する。
【００８７】
図１１に示すように、プリンタ３０は、印刷送信用データＤ１０をネットワーク１０から受信したかどうかを判断する（ステップＳ２３０）。何ら印刷送信用データＤ１０を受信していない場合（ステップＳ２３０：Ｎｏ）には、このステップＳ２３０の処理を繰り返して待機する。
【００８８】
一方、印刷送信用データＤ１０を受信した場合（ステップＳ２３０：Ｙｅｓ）には、プリンタ３０は自らの機器固有情報を取得する（ステップＳ２３２）。続いて、プリンタ３０は、位置検出部５４から、その時点におけるプリンタ３０のプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを取得する（ステップＳ２３４）。このようにプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを、その都度、位置検出部５４から取得することとしているのは、プリンタ３０が別の場所に移動された場合には、このプリンタ３０がユーザの意図しない場所に設置されている可能性があり、このような場合にはプリンタ３０で印刷が行われないようにするためである。
【００８９】
次に、プリンタ３０は、ハードディスク５８から統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄを取得し、この統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄと、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗとの差が、所定範囲内であるかどうかを判断する（ステップＳ２３６）。本実施形態においては、統計プリンタ位置情報Ｘｄとプリンタ位置情報Ｘｎｏｗとの差が、±２０ｍ以内であるかどうかを判断する。例えば、図１２に示すように、統計プリンタ位置情報Ｘｄが３５８９ｍという値であった場合、プリンタ位置情報Ｘｎｏｗが３５６９ｍ以上３６０９ｍ以下であるかどうかを判断する。同様に、プリンタ３０は、統計プリンタ位置情報Ｙｄとプリンタ位置情報Ｙｎｏｗとの差が、±２０ｍ以内であるかどうかを判断し、統計プリンタ位置情報Ｚｄとプリンタ位置情報Ｚｎｏｗとの差が、±２０ｍ以内であるかどうかを判断する。
【００９０】
統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄと、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗとの差が、所定範囲内であった場合（ステップＳ２３６）、つまり、｜Ｘｄ−Ｘｎｏｗ｜と｜Ｙｄ−Ｙｎｏｗ｜と｜Ｚｄ−Ｚｎｏｗ｜とのいずれもが２０ｍ以下であった場合には、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄに収斂させる（ステップＳ２３８）。例えば、図１２の例では、プリンタ位置情報Ｘｎｏｗが３６０９であった場合でも、プリンタ位置情報Ｘｎｏｗを３５８９に変更する。これは、プリンタ位置情報Ｙｎｏｗ、Ｚｎｏｗについても同様である。換言すれば、本実施形態においては、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄと、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗとの差が、所定範囲内にある場合には、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄを、その時点におけるプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗとして使用することを意味している。
【００９１】
次に、プリンタ３０は、機器固有情報と収斂された統計プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗとに基づいて、パスフレーズを作成する（ステップＳ２４０）。このパスフレーズの作成手法は、上述した公開鍵送信処理におけるステップＳ１８６と同じ手法である必要がある。なぜなら、パスフレーズが異なると、印刷クライアントに送信した公開鍵で暗号化された印刷送信用データＤ１０を、秘密鍵で復号できなくなってしまうからである。
【００９２】
次に、プリンタ３０は、パスフレーズを用いて、公開鍵暗号法により公開鍵と秘密鍵とを生成する（ステップＳ２４２）。続いて、プリンタ３０は、生成された秘密鍵を用いて、受信した印刷送信用データＤ１０を復号して、印刷データＤ０５を取得する（ステップＳ２４４）。
【００９３】
次に、プリンタ３０は、秘密鍵を用いて印刷送信用データＤ１０の復号ができたかどうかを判断する（ステップＳ２４６）。復号ができた場合（ステップＳ２４６：Ｙｅｓ）には、得られた印刷データＤ０５に基づいて、印刷エンジン５２を駆動した印刷を実行する（ステップＳ２４８）。具体的には、印刷データＤ０５の言語解釈を行い、印刷エンジン５２に適合した印刷要求データを生成する。そして、この印刷要求データを印刷エンジン５２に送信することにより、印刷エンジン５２で印刷用紙等に印刷が行われる。
【００９４】
このことから分かるように、本実施形態においては、ステップＳ２３８で収斂したプリンタ位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で印刷送信用データＤ１０が復号できた場合には、印刷送信用データＤ１０がプリンタ位置情報と合致したと判断することとなる。
【００９５】
この印刷が正常に完了した時点で、プリンタ３０は、印刷が正常に終了した旨の印刷完了通知を、印刷結果情報として、印刷クライアント２０に送信する（ステップＳ２５０）。そして、上述したステップＳ２３０の処理に戻る。
【００９６】
これに対して、ステップＳ２４６において、印刷送信用データの復号ができなかったと判断した場合（ステップＳ２４６：Ｎｏ）には、解読不能通知を印刷結果情報として、印刷クライアント２０に送信する（ステップＳ２５２）。すなわち、本実施形態においては、ステップＳ２３８で収斂したプリンタ位置情報を少なくとも含むパスフレーズを用いて秘密鍵を生成し、この秘密鍵で印刷送信用データが復号できなかった場合には、印刷送信用データがプリンタ位置情報と合致しなかった判断することとなる。そして、上述したステップＳ２３０の処理に戻る。
【００９７】
さらに、上述したステップＳ２３６において、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄと、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗとの差が、所定範囲内にないと判断した場合（ステップＳ２３６：Ｎｏ）にも、ステップＳ２５２において、解読不能通知を印刷結果情報として、印刷クライアント２０に送信する。
【００９８】
以上のように、本実施形態に係る印刷システムによれば、印刷クライアント２０、２２は、暗号化して送信した印刷送信用データＤ１０の印刷をできるプリンタを、プリンタ位置情報に基づいて限定することができるので、印刷クライアント２０、２２のユーザが意図していない位置にあるプリンタで印刷が行われしまうのを回避することができる。例えば、プリンタ３０が別の場所に移動されたが、ネットワーク１０内におけるプリンタ３０のネットワークアドレスは変更されていない場合に、印刷クライアント２０から誤って印刷送信用データＤ１０をこのプリンタ３０に送信してしまっても、プリンタ３０ではプリンタ位置情報が変更されているため、ステップＳ２４０で作成されるパスフレーズが移動前と異なったものになる。このため、このパスフレーズを用いて生成された秘密鍵を用いても、印刷送信用データＤ１０の復号はできず、プリンタ３０では印刷が行われない。このため、印刷データＤ０５のセキュリティを高めることができる。
【００９９】
一方、プリンタ３０、３２側においても、本来であればこのプリンタ３０、３２で印刷する権限のない者が、印刷データをこれらプリンタ３０、３２に送信して、大量の印刷をプリンタ３０、３２に実行させてしまうのを回避することができる。
【０１００】
また、本実施形態においては、パスフレーズに機器固有情報も含めることとしたので、何らかの理由により第三者が、プリンタ３０の位置を知得したとしても、プリンタ３０の機器固有情報が分からなければ、プリンタ３０で使用されているパスフレーズを特定することができない。このため、正当な権限なき第三者がプリンタ３０で印刷を実行する可能性を、極めて低いものとすることができる。
【０１０１】
さらに、本実施形態に係るプリンタ３０によれば、位置検出部５４で取得したプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗと、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄとのそれぞれの差が所定範囲内であれば、その時点におけるプリンタ３０のプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを、統計プリンタ位置情報Ｘｄ、Ｙｄ、Ｚｄに収斂させることとした。このため、位置検出部５４の検出精度の関係から、公開鍵送信処理において公開鍵を生成する際に使用したプリンタ位置情報と、印刷実行処理において秘密鍵を生成する際に使用するプリンタ位置情報との間にずれが生じていても、このずれを修正して、印刷送信用データＤ１０を復号できる秘密鍵を生成することができる。このため、印刷送信用データＤ１０を円滑に復号できるようになる。
【０１０２】
〔第２実施形態〕
本発明の第２実施形態は、プリンタ３０が受信した印刷送信用データＤ１０を復号する際には、位置検出部５４から取得したプリンタ位置情報のみならず、このプリンタ位置情報の周囲の位置情報も含めて複数のパスフレーズを生成し、こられのパスフレーズを用いて生成したいずれかの秘密鍵で印刷送信用データＤ１０が復号できた場合には、その印刷を実行するようにしたものである。より詳しくを、以下に説明する。
【０１０３】
なお、本実施形態に係るプリンタ３０、３２のハードウェア構成は、上述した図２と同様であり、上述した印刷クライアント２０、２２のハードウェア構成は、図３と同様である。また、印刷クライアント２０、２２が実行する処理も、上述した第１実施形態と同様である。但し、本実施形態に係るプリンタ３０、３２が実行する処理は、上述した第１実施形態と異なる。
【０１０４】
図１３は、本実施形態に係るプリンタ３０、３２で実行される公開鍵送信処理を説明するフローチャートであり、上述した図９に対応している。この図１３に示すように、本実施形態のプリンタ３０、３２が実行する公開鍵送信処理においては、ステップＳ１８２に続いて実行されるステップＳ３００の処理が、第１実施形態と異なる。
【０１０５】
すなわち、プリンタ３０、３２は、ステップＳ１８２で機器固有情報を取得した後、位置検出部５４からプリンタ位置情報を取得する（ステップＳ３００）。すなわち、プリンタ３０、３２は、その時点におけるプリンタのプリンタ位置情報を取得する。そして、ステップＳ１８６においては、機器固有情報と、ステップＳ３００で取得したプリンタ位置情報とに基づいて、パスフレーズを生成する。これ以外の処理は、上述した第１実施形態と同様である。
【０１０６】
図１４は、印刷クライアント２０、２２の印刷要求処理に対応して、プリンタ３０、３２で実行される印刷実行処理を説明するフローチャートであり、図１１に対応している。この印刷実行処理は、プリンタ３０、３２のＲＯＭ４４又はハードディスク５８に格納されている印刷実行プログラムをＣＰＵ４０が読み込んで実行することにより実現される処理である。ここでも上述と同様に、印刷クライアント２０からプリンタ３０に印刷が要求された場合を想定して説明する。
【０１０７】
図１４に示すように、プリンタ３０は、印刷送信用データＤ１０をネットワーク１０から受信したかどうかを判断する（ステップＳ３１０）。何ら印刷送信用データＤ１０を受信していない場合（ステップＳ３１０：Ｎｏ）には、このステップＳ３１０の処理を繰り返して待機する。
【０１０８】
一方、印刷送信用データＤ１０を受信した場合（ステップＳ３１０：Ｙｅｓ）には、プリンタ３０は自らの機器固有情報を取得する（ステップＳ３１２）。続いて、プリンタ３０は、位置検出部５４から、その時点におけるプリンタ３０のプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを取得する（ステップＳ３１４）。このようにプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを、その都度、位置検出部５４から取得することとしているのは、プリンタ３０が別の場所に移動された場合には、このプリンタ３０がユーザの意図しない場所に設置されている可能性があり、このような場合にはプリンタ３０で印刷が行われないようにするためである。
【０１０９】
次に、プリンタ３０は、２７個のパスフレーズを生成する（ステップＳ３１６）。本実施形態においては、パスフレーズは、機器固有情報の後ろにプリンタ位置情報を結合することにより作成されるが、この結合するプリンタ位置情報を、ステップＳ３１４で取得したプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗの他に、その周辺２６カ所の位置情報についてもパスフレーズを作成しておくのである。
【０１１０】
図１５は、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗと、その周辺２６カ所の位置情報の関係を説明する概念図である。この図１５に示すように、ステップＳ３１４で位置検出部５４から取得したプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを中心位置に据える。この場合、位置検出部５４の最小測定単位１つ分だけずらした位置情報が、その周囲に２６カ所存在することとなる。そこで、本実施形態においては、位置検出部５４のプリンタ位置情報が公開鍵を送信したときと比べてずれた場合でも、この公開鍵に基づいて暗号化された印刷送信用データＤ１０が復号できる秘密鍵を見つけだすべく、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗの周囲についても、これらを位置情報として用いたパスフレーズを生成しておくこととしたのである。
【０１１１】
この図１５の例では、位置検出部５４の最小測定単位が１０ｍ単位であるとしている。したがって、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗに加えて、次の２６カ所のプリンタ位置情報が追加で定められる。
【０１１２】
（１）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ、Ｚｎｏｗ
（２）プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ＋１０、Ｚｎｏｗ
（３）プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗ＋１０
（４）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ、Ｚｎｏｗ
（５）プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ−１０、Ｚｎｏｗ
（６）プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗ−１０
（７）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ＋１０、Ｚｎｏｗ
（８）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ、Ｚｎｏｗ＋１０
（９）プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ＋１０、Ｚｎｏｗ＋１０
（１０）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ−１０、Ｚｎｏｗ
（１１）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ、Ｚｎｏｗ−１０
（１２）プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ−１０、Ｚｎｏｗ−１０
（１３）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ−１０、Ｚｎｏｗ
（１４）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ、Ｚｎｏｗ−１０
（１５）プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ＋１０、Ｚｎｏｗ−１０
（１６）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ＋１０、Ｚｎｏｗ
（１７）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ、Ｚｎｏｗ＋１０
（１８）プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ−１０、Ｚｎｏｗ＋１０
（１９）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ＋１０、Ｚｎｏｗ＋１０
（２０）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ＋１０、Ｚｎｏｗ−１０
（２１）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ−１０、Ｚｎｏｗ＋１０
（２２）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ＋１０、Ｚｎｏｗ＋１０
（２３）プリンタ位置情報Ｘｎｏｗ＋１０、Ｙｎｏｗ−１０、Ｚｎｏｗ−１０
（２４）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ−１０、Ｚｎｏｗ＋１０
（２５）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ＋１０、Ｚｎｏｗ−１０
（２６）プリンタ位置情報Ｘｎｏｗ−１０、Ｙｎｏｗ−１０、Ｚｎｏｗ−１０
次に、図１４に示すように、プリンタ３０は、ステップＳ３１６で生成した２７個のパスフレーズを用いて、公開鍵暗号法により公開鍵と秘密鍵とを生成する（ステップＳ３１８）。したがって、本実施形態においては、２７個の公開鍵と２７個の秘密鍵とが生成されることとなる。続いて、プリンタ３０はカウンタＭを１に設定する（ステップＳ３２０）。
【０１１３】
次に、プリンタ３０は、Ｍ番目の秘密鍵を用いて、印刷送信用データＤ１０を復号する（ステップＳ３２２）。どのような順番で秘密鍵を使用するかは任意であるが、本実施形態においては、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを用いて生成した秘密鍵を一番始めに使用することとしている。なぜなら、位置検出部５４の再現性にもよるが、通常であれば、その時点で取得したプリンタ位置情報を用いて生成した秘密鍵で印刷送信用データＤ１０が復号できる可能性が最も高いと考えられるからである。
【０１１４】
次に、プリンタ３０は、秘密鍵を用いて印刷送信用データＤ１０の復号ができたかどうかを判断する（ステップＳ３２４）。復号ができた場合（ステップＳ３２４：Ｙｅｓ）には、得られた印刷データＤ０５に基づいて、印刷エンジン５２を駆動した印刷を実行する（ステップＳ３２６）。具体的には、印刷データＤ０５の言語解釈を行い、印刷エンジン５２に適合した印刷要求データを生成する。そして、この印刷要求データを印刷エンジン５２に送信することにより、印刷エンジン５２で印刷用紙等に印刷が行われる。
【０１１５】
このことから分かるように、本実施形態においては、ステップＳ３１６で２７カ所のプリンタ位置情報を少なくとも含むパスフレーズを生成し、これらのパスフレーズを用いてステップＳ３１８で２７個の秘密鍵を生成し、これら２７個の秘密鍵のいずれかで印刷送信用データＤ１０が復号できた場合には、印刷送信用データＤ１０がプリンタ位置情報と合致したと判断することとなる。
【０１１６】
この印刷が正常に完了した時点で、プリンタ３０は、印刷が正常に終了した旨の印刷完了通知を、印刷結果情報として、印刷クライアント２０に送信する（ステップＳ３２８）。そして、上述したステップＳ３１０の処理に戻る。
【０１１７】
これに対して、ステップＳ３２４において、印刷送信用データＤ１０の復号ができなかったと判断した場合（ステップＳ３２４：Ｎｏ）には、カウンタＭが２７であるかどうかを判断する（ステップＳ３３０）。カウンタＭが２７でない場合（ステップＳ３３０：Ｎｏ）、つまり、まだ生成した秘密鍵が残っている場合には、カウンタＭに１を加えて（ステップＳ３３２）、上述したステップＳ３２２からを繰り返す。
【０１１８】
一方、カウンタＭが２７である場合（ステップＳ３３０：Ｙｅｓ）、つまり、生成した秘密鍵が残っていない場合には、解読不能通知を印刷結果情報として、印刷クライアント２０に送信する（ステップＳ３３４）。すなわち、生成した２７個の秘密鍵のいずれでも、受信した印刷送信用データＤ１０の復号ができなかったことになるので、プリンタ３０は、印刷送信用データＤ１０がプリンタ位置情報と合致しなかった判断する。そして、上述したステップＳ３１０の処理に戻る。
【０１１９】
以上のように、本実施形態に係る印刷システムによれば、印刷クライアント２０、２２が送信する印刷データＤ０５のセキュリティを高めることができるとともに、プリンタ３０、３２自体のセキュリティを高めることができる。
【０１２０】
さらに、本実施形態に係るプリンタ３０によれば、位置検出部５４で取得したプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗと、このプリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗの周囲の位置情報とを用いて、パスフレーズを生成し、この生成したパスフレーズにより複数の秘密鍵を生成するとともに、この生成した秘密鍵のいずれかで印刷送信用データＤ１０が復号できるかどうかを試みることとした。このため、位置検出部５４の検出精度の関係から、公開鍵送信処理において公開鍵を生成する際に使用したプリンタ位置情報と、印刷実行処理において秘密鍵を生成する際に使用するプリンタ位置情報との間にずれが生じていても、このずれを吸収して、印刷送信用データＤ１０を復号できる秘密鍵を生成することができる。このため、印刷送信用データＤ１０を円滑に復号できるようになる。
【０１２１】
〔第３実施形態〕
本発明の第３実施形態は、上述した第２実施形態に変形を加えて、２７個のプリンタ位置情報の１つを選択して、この選択したプリンタ位置情報に基づいて、パスフレーズの生成、秘密鍵の生成、印刷送信用データＤ１０の復号を行い、復号できなかった場合には、残りのプリンタ位置情報の１つを選択するようにしたものである。より詳しくを、以下に説明する。
【０１２２】
本実施形態に係る印刷システムは、プリンタ３０、３２が実行する印刷実行処理以外は、上述した第２実施形態と同様である。図１６は、本実施形態に係る印刷実行処理の内容を説明するフローチャートである。
【０１２３】
この図１６に示すように、本実施形態においては、プリンタ３０は、ステップＳ３１４で位置検出部５４からプリンタ位置情報を取得した後、カウンタＭを１に設定する（ステップＳ４００）。
【０１２４】
次に、プリンタ３０は、Ｍ番目の位置情報を用いてパスフレーズを生成する（ステップＳ４０２）。本実施形態においては、機器固有情報の後ろに、Ｍ番目のプリンタ位置情報を結合することにより、パスフレーズを生成する。２７個の位置情報をどのような順番で選択するかは任意であるが、本実施形態においては、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを一番始めに選択することとしている。なぜなら、位置検出部５４の再現性にもよるが、通常であれば、その時点で取得したプリンタ位置情報を用いて生成した秘密鍵で印刷送信用データＤ１０が復号できる可能性が最も高いと考えられるからである。
【０１２５】
次に、プリンタ３０は、ステップＳ４０２で生成した１個のパスフレーズを用いて、公開鍵暗号法により公開鍵と秘密鍵とを生成する（ステップＳ４０４）。続いて、プリンタ３０は、生成された１つの秘密鍵を用いて、印刷送信用データＤ１０を復号する（ステップＳ４０６）。
【０１２６】
次に、プリンタ３０は、秘密鍵を用いて印刷送信用データＤ１０の復号ができたかどうかを判断する（ステップＳ４０８）。復号ができた場合（ステップＳ４０８：Ｙｅｓ）には、上述した第２実施形態と同様に、印刷を実行し（ステップＳ３２６）、印刷完了通知を印刷結果情報として、印刷クライアント２０に送信する（ステップＳ３２８）。
【０１２７】
これに対して、ステップＳ４０８において、印刷送信用データＤ１０の復号ができなかったと判断した場合（ステップＳ４０８：Ｎｏ）には、カウンタＭが２７であるかどうかを判断する（ステップＳ４１０）。カウンタＭが２７でない場合（ステップＳ４１０：Ｎｏ）、つまり、まだ使用していない位置情報が残っている場合には、カウンタＭに１を加えて（ステップＳ４１２）、上述したステップＳ４０２からを繰り返す。
【０１２８】
一方、カウンタＭが２７である場合（ステップＳ４１０：Ｙｅｓ）、つまり、使用していない位置情報が残っていない場合には、解読不能通知を印刷結果情報として、印刷クライアント２０に送信する（ステップＳ３３４）。すなわち、２７個の位置情報を用いて生成した秘密鍵のいずれでも、受信した印刷送信用データＤ１０の復号ができなかったことになるので、プリンタ３０は、印刷送信用データＤ１０がプリンタ位置情報と合致しなかった判断する。そして、上述したステップＳ３１０の処理に戻る。
【０１２９】
以上のように、本実施形態に係る印刷システムによっても、印刷クライアント２０、２２が送信する印刷データＤ０５のセキュリティを高めることができるとともに、プリンタ３０、３２自体のセキュリティを高めることができる。
【０１３０】
また、位置検出部５４の検出精度の関係からプリンタ位置情報にばらつきが生じて、公開鍵送信処理において公開鍵を生成する際に使用したプリンタ位置情報と、印刷実行処理において秘密鍵を生成する際に使用するプリンタ位置情報との間に、ずれが生じていても、このずれを吸収して、印刷送信用データＤ１０を復号できる秘密鍵を生成することができる。このため、印刷送信用データＤ１０を円滑に復号できるようになる。
【０１３１】
なお本発明は上記実施形態に限定されずに種々に変形可能である。例えば、上述した第２及び第３実施形態においては、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを中心として、その周囲の２６カ所の位置情報を、パスフレーズ生成用の候補として選定したが、その選定の態様及び個数はこれに限られるものではない。例えば、図１７に示すように、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを中心として、その周囲６カ所の位置情報を、パスフレーズ生成用の候補として選定するようにしてもよい。
【０１３２】
さらには、上述した第２及び第３実施形態においては、位置検出部５４の最小測定単位１つ分である±１０ｍの範囲までに含まれる位置情報を、パスフレーズ生成用の候補として選定したが、プリンタ位置情報Ｘｎｏｗ、Ｙｎｏｗ、Ｚｎｏｗを中心として、最小測定単位Ｎ個分（Ｎは自然数）の範囲までに含まれる位置情報を、パスフレーズ生成用の候補として選定するようにしてもよい。
【０１３３】
また、上述した実施形態におていは、Ｘ軸方向、Ｙ軸方向、及び、Ｚ軸方向のいずれの方向にも同じ距離で、パスフレーズ生成用の位置情報の範囲を設定したが、これらＸ軸方向、Ｙ軸方向、及び、Ｚ軸方向の距離は、必ずしも同じである必要はない。すなわち、Ｘ軸方向、Ｙ軸方向、及び、Ｚ軸方向の距離の設定がそれぞれ異なっていてもよい。また、Ｘ軸方向、Ｙ軸方向、及び、Ｚ軸方向における正負の方向で、その距離が異なっていてもよい。
【０１３４】
さらに、上述した実施形態においては、セキュリティを確保すべきデータを送信するデータ送信装置として印刷クライアントを例示し、そのデータを受信するデータ受信装置としてプリンタを例示して、本発明を説明したが、データ送受信システムにおけるデータ送信装置とデータ受信装置の組み合わせは、上記実施形態に限定されるものではない。例えば、データ送受信システムにおけるデータ送信装置が画像撮影用のデジタルカメラであり、データ受信装置がデジタルカメラで撮影した画像データを蓄積するデータサーバであってもよい。この場合、デジタルカメラから送信された送信用データが、データサーバで受信され、データサーバでは、上述した実施形態における処理を行い、この送信用データがデータサーバにおけるその時点の装置位置情報と合致した場合には、その送信用データに含まれているデータを蓄積し、合致しない場合には、その送信用データに含まれているデータを蓄積しないこととなる。
【０１３５】
また、データ送受信システムにおけるデータ送信装置がパーソナルコンピュータであり、データ受信装置がそのパーソナルコンピュータから送信された画像データを投影するプロジェクタであってもよい。この場合、パーソナルコンピュータから送信された送信用データが、プロジェクタで受信され、プロジェクタでは、上述した実施形態における処理を行い、この送信用データがプロジェクタにおけるその時点の装置位置情報と合致した場合には、その送信用データに含まれているデータを投影し、合致しない場合には、その送信用データに含まれているデータを投影しないこととなる。
【０１３６】
さらには、データ送受信システムにおけるデータ送信装置が音楽等のコンテンツサーバであり、データ受信装置がコンテンツサーバから送信された音楽等のコンテンツデータの再生装置であってもよい。この場合、コンテンツサーバから送信された送信用データが、再生装置で受信され、再生装置では、上述した実施形態における処理を行い、この送信用データが再生装置におけるその時点の装置位置情報と合致した場合には、その送信用データに含まれているデータを再生し、合致しない場合には、その送信用データに含まれているデータを再生しないこととなる。
【０１３７】
また、上述した実施形態では、プリンタ３０、３２の印刷媒体が印刷用紙である場合を例に説明したが、印刷媒体はこれに限るものではなく、例えば、ＯＨＰシート等の他の印刷媒体であっても本発明を適用することができる。
【０１３８】
さらに、上述の実施形態で説明した各処理については、これら各処理を実行するためのプログラムをフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）、ＲＯＭ、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、このプログラムが記録された記録媒体を印刷クライアント２０、２２及び／又はプリンタ３０、３２に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【０１３９】
また、印刷クライアント２０、２２及び／又はプリンタ３０、３２は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、印刷クライアント２０、２２及び／又はプリンタ３０、３２の備える他のプログラムを活用し、記録媒体には印刷クライアント２０、２２及び／又はプリンタ３０、３２が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を記録するようにしてもよい。
【０１４０】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、印刷クライアント２０、２２及び／又はプリンタ３０、３２に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【０１４１】
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ印刷クライアント２０、２２及び／又はプリンタ３０、３２は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
【０１４２】
【発明の効果】
以上説明したように、本発明に係るプリンタ及び印刷システムによれば、印刷データのセキュリティを高めつつ、プリンタのセキュリティも高めることができる。また、プリンタ位置情報検出手段の検出精度の関係で、プリンタ位置情報にばらつきが生じても、このばらつきを補償して、印刷送信用データの円滑な復号をすることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る印刷システムの構成の一例を示す図。
【図２】本発明の第１実施形態に係るプリンタのハードウェア構成の一例を示す図。
【図３】本発明の第１実施形態に係る印刷クライアントの構成の一例を示す図。
【図４】本発明の第１実施形態において、印刷データと印刷送信用データとの関係を説明する図。
【図５】本発明の第１実施形態に係る印刷クライアントが実行する公開鍵要求処理を説明するフローチャートを示す図。
【図６】本発明の第１実施形態に係る印刷クライアントが備える公開鍵テーブルの構成の一例を示す図。
【図７】本発明の第１実施形態に係るプリンタが実行する位置情報蓄積処理を説明するフローチャートを示す図。
【図８】本発明の第１実施形態に係るプリンタが蓄積したプリンタ位置情報の分布の一例をグラフにして示す図。
【図９】本発明の第１実施形態に係るプリンタが実行する公開鍵送信処理を説明するフローチャートを示す図。
【図１０】本発明の第１実施形態に係る印刷クライアントが実行する印刷要求処理を説明するフローチャートを示す図。
【図１１】本発明の第１実施形態に係るプリンタが実行する印刷実行処理を説明するフローチャートを示す図。
【図１２】本発明の第１実施形態に係るプリンタが、統計プリンタ位置情報をプリンタ位置情報とする範囲を説明する図。
【図１３】本発明の第２実施形態に係るプリンタが実行する公開鍵送信処理を説明するフローチャートを示す図。
【図１４】本発明の第２実施形態に係るプリンタが実行する印刷実行処理を説明するフローチャートを示す図。
【図１５】本発明の第２実施形態に係るプリンタが選定する、プリンタ位置情報の周囲にある２６カ所の位置関係を説明する図。
【図１６】本発明の第３実施形態に係るプリンタが実行する印刷実行処理を説明するフローチャートを示す図。
【図１７】本発明の第２及び第３実施形態の変形例を説明する図。
【符号の説明】
１０　ネットワーク
２０、２２　印刷クライアント
３０、３２　プリンタ
４０　ＣＰＵ
４２　ＲＡＭ
４４　ＲＯＭ
４６　内部バス
４８、５０　インターフェース
５２　印刷エンジン
５４　位置検出部
５８　ハードディスク
６０　コンピュータ本体
６２　ディスプレイ
６４　ＣＰＵ
６６　ＲＡＭ
６８　ＲＯＭ
７０　内部バス
７２、７４、７８　インターフェース
７６　ハードディスク
【図１】
2004029938.tif 000005
【図２】
2004029938.tif 000006
【図３】
2004029938.tif 000007
【図４】
2004029938.tif 000008
【図５】
2004029938.tif 000009
【図６】
2004029938.tif 000010
【図７】
2004029938.tif 000011
【図８】
2004029938.tif 000012
【図９】
2004029938.tif 000013
【図１０】
2004029938.tif 000014
【図１１】
2004029938.tif 000015
【図１２】
2004029938.tif 000016
【図１３】
2004029938.tif 000017
【図１４】
2004029938.tif 000018
【図１５】
2004029938.tif 000019
【図１６】
2004029938.tif 000020
【図１７】
2004029938.tif 000021