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