(57)【特許請求の範囲】
【請求項１】
１以上の画像処理装置と通信可能に接続されているコンピュータに、
ユーザによって入力された情報に基づく第１の認証情報を前記コンピュータに送信する前記画像処理装置から前記第１の認証情報を受信する受信処理と、
ユーザによる情報の入力を受け付ける受付処理と、
前記受信処理によって受信された前記第１の認証情報と、前記受付処理によって受け付けられた前記情報に基づく第２の認証情報とが、それらが一致すると判断される一致条件を満たしているか否かを判定する判定処理と、
前記判定処理によって前記一致条件を満たしていると判定された前記第１の認証情報の送信元の前記画像処理装置を選択する選択処理と、
を実行させる選択プログラムであって、
前記受付処理によって受け付けられた前記情報を記憶部に記憶させる記憶処理であって、前記記憶部に他の前記情報が記憶されている場合はその情報に上書きせずに別の情報として記憶させる記憶処理を前記コンピュータに実行させ、
前記判定処理において、前記受信処理によって受信された前記第１の認証情報と、前記記憶部に記憶されている１以上の前記情報に基づく１以上の前記第２の認証情報のうちいずれかの前記第２の認証情報とが前記一致条件を満たしていると、前記一致条件を満たしていると判定する、選択プログラム。
【請求項２】
請求項１に記載の選択プログラムであって、
前記選択処理は、１以上の前記画像処理装置の識別子を前記コンピュータの表示部に一覧表示してユーザによる前記識別子の選択を受け付けるものであり、前記判定処理によって前記一致条件を満たしていると判定された前記第１の認証情報の送信元の前記画像処理装置の前記識別子を識別可能に表示する、選択プログラム。
【請求項３】
請求項１又は請求項２に記載の選択プログラムであって、
前記選択処理によって選択された前記画像処理装置に画像データを送信する送信処理を前記コンピュータに実行させ、
前記第１の認証情報は、前記画像処理装置に入力された前記情報に基づいて算出されたハッシュ値であり、
前記第２の認証情報は、前記受付処理によって受け付けられた前記情報に基づいて、前記画像処理装置と同じハッシュ関数を用いて算出されたハッシュ値である、選択プログラム。
【請求項４】
請求項１乃至請求項３のいずれか一項に記載の選択プログラムであって、
前記第１の認証情報は、前記画像処理装置に入力された前記情報と当該画像処理装置に固有の情報とに基づくハッシュ値であり、
前記第２の認証情報は、前記受付処理によって受け付けられた前記情報と、前記第１の認証情報を前記コンピュータに送信した前記画像処理装置に固有の情報とに基づくハッシュ値である、選択プログラム。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載の選択プログラムであって、
前記受信処理において、一つの前記画像処理装置から１以上の前記第１の認証情報を受信し、
前記判定処理において、前記受信処理によって受信された１以上の前記第１の認証情報のうちいずれかの前記第１の認証情報と、前記記憶部に記憶されている１以上の前記情報に基づく１以上の前記第２の認証情報のうちいずれかの前記第２の認証情報とが前記一致条件を満たしていると、前記一致条件を満たしていると判定する、選択プログラム。
【請求項６】
請求項４に記載の選択プログラムであって、
前記選択処理によって選択された前記画像処理装置に画像データを送信する送信処理を前記コンピュータに実行させ、
前記第１の認証情報は、前記画像処理装置に入力された前記情報に基づいて算出されたハッシュ値であり、
前記第２の認証情報は、前記受付処理によって受け付けられた前記情報に基づいて、前記画像処理装置と同じハッシュ関数を用いて算出されたハッシュ値であり、
前記選択処理によって選択された前記画像処理装置から公開鍵を受信する公開鍵受信処理と、
前記公開鍵に基づく暗号化鍵を用いて前記画像データを暗号化する暗号化処理と、を前記コンピュータに実行させ、
前記送信処理において、前記暗号化処理によって暗号化された前記画像データを送信する、選択プログラム。
【請求項７】
請求項６に記載の選択プログラムであって、
前記選択処理によって選択された前記画像処理装置の前記暗号化鍵を当該画像処理装置に対応付けて記憶部に記憶させる記憶処理を前記コンピュータに実行させ、
前記暗号化処理において、ユーザによって指定された前記画像処理装置に対応する前記暗号化鍵が前記記憶部に記憶されている場合は、その記憶されている前記暗号化鍵を用いて前記画像データを暗号化し、
前記送信処理において、前記暗号化処理によって暗号化された前記画像データを前記指定された画像処理装置に送信する、選択プログラム。
【請求項８】
通信部と、
ユーザによって入力された情報に基づく第１の認証情報を送信する画像処理装置から前記通信部を介して前記第１の認証情報を受信する受信部と、
ユーザによる情報の入力を受け付ける受付部と、
前記受信部によって受信された前記第１の認証情報と、前記受付部によって受け付けられた前記情報に基づく第２の認証情報とが、それらが一致すると判断される一致条件を満たしているか否かを判定する判定部と、
前記判定部によって前記一致条件を満たしていると判定された前記第１の認証情報の送信元の前記画像処理装置を選択する選択部と、
前記受付部によって受け付けられた前記情報を記憶部に記憶させる記憶処理であって、前記記憶部に他の前記情報が記憶されている場合はその情報に上書きせずに別の情報として記憶させる記憶処理を実行する処理部と、
を備えるコンピュータであって、
前記判定部は、前記受信部によって受信された前記第１の認証情報と、前記記憶部に記憶されている１以上の前記情報に基づく１以上の前記第２の認証情報のうちいずれかの前記第２の認証情報とが前記一致条件を満たしていると、前記一致条件を満たしていると判定する、コンピュータ。
【請求項９】
請求項８に記載のコンピュータであって、
前記受信部は、一つの前記画像処理装置から１以上の前記第１の認証情報を受信し、
前記判定部は、前記受信処理によって受信された１以上の前記第１の認証情報のうちいずれかの前記第１の認証情報と、前記記憶部に記憶されている１以上の前記情報に基づく１以上の前記第２の認証情報のうちいずれかの前記第２の認証情報とが前記一致条件を満たしていると、前記一致条件を満たしていると判定する、コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにおいて１以上の画像処理装置の中から目的の画像処理装置を選択する技術に関する。
【背景技術】
【０００２】
従来、複数のプリンタの中から目的のプリンタをユーザに選択させる場合に、プリンタを絞り込むための絞り込み条件の指定を受け付け、指定された絞り込み条件に適合するプリンタのプリンタ情報（ＩＰアドレスやモデル名）を一覧表示し、一覧表示したプリンタ情報の中から目的のプリンタのプリンタ情報を選択させる技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０２０４０３号公報（図１１、図１２）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術によると、プリンタ情報としてＩＰアドレスやモデル名を表示するので、例えば、ユーザが目的のプリンタのＩＰアドレスやモデル名を把握していない場合には、プリンタが絞り込まれても目的のプリンタを選択できないという問題がある。
また、例えば、プリンタに偽装した装置からＩＰアドレス等を送信された場合は、その偽装した装置を選択してしまう可能性があり、目的のプリンタを選択できないという問題がある。
【０００５】
本明細書では、コンピュータにおいて１以上の画像処理装置の中から目的の画像処理装置をより確実に選択できる技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される選択プログラムは、１以上の画像処理装置と通信可能に接続されているコンピュータに、ユーザによって入力された情報に基づく第１の認証情報を前記コンピュータに送信する前記画像処理装置から前記第１の認証情報を受信する受信処理と、ユーザによる情報の入力を受け付ける受付処理と、前記受信処理によって受信された前記第１の認証情報と、前記受付処理によって受け付けられた前記情報に基づく第２の認証情報とが、それらが一致すると判断される一致条件を満たしているか否かを判定する判定処理と、前記判定処理によって前記一致条件を満たしていると判定された前記第１の認証情報の送信元の前記画像処理装置を選択する選択処理と、を実行させる。
【０００７】
また、前記選択処理は、１以上の前記画像処理装置の識別子を前記コンピュータの表示部に一覧表示してユーザによる前記識別子の選択を受け付けるものであり、前記判定処理によって前記一致条件を満たしていると判定された前記第１の認証情報の送信元の前記画像処理装置の前記識別子を識別可能に表示してもよい。
【０００８】
また、上記選択プログラムは、前記選択処理によって選択された前記画像処理装置に画像データを送信する送信処理を前記コンピュータに実行させ、前記第１の認証情報は、前記画像処理装置に入力された前記情報に基づいて算出されたハッシュ値であり、前記第２の認証情報は、前記受付処理によって受け付けられた前記情報に基づいて、前記画像処理装置と同じハッシュ関数を用いて算出されたハッシュ値であってもよい。
【０００９】
また、前記第１の認証情報は、前記画像処理装置に入力された前記情報と当該画像処理装置に固有の情報とに基づくハッシュ値であり、前記第２の認証情報は、前記受付処理によって受け付けられた前記情報と、前記第１の認証情報を前記コンピュータに送信した前記画像処理装置に固有の情報とに基づくハッシュ値であってもよい。
【００１０】
また、上記選択プログラムは、前記受付処理によって受け付けられた前記情報を記憶部に記憶させる記憶処理であって、前記記憶部に他の前記情報が記憶されている場合はその情報に上書きせずに別の情報として記憶させる記憶処理を前記コンピュータに実行させ、前記受信処理において、一つの前記画像処理装置から１以上の前記第１の認証情報を受信し、前記判定処理において、前記受信処理によって受信された１以上の前記第１の認証情報のうちいずれかの前記第１の認証情報と、前記記憶部に記憶されている１以上の前記情報に基づく１以上の前記第２の認証情報のうちいずれかの前記第２の認証情報とが前記一致条件を満たしていると、前記一致条件を満たしていると判定してもよい。
【００１１】
また、上記選択プログラムは、前記選択処理によって選択された前記画像処理装置から公開鍵を受信する公開鍵受信処理と、前記公開鍵に基づく暗号化鍵を用いて前記画像データを暗号化する暗号化処理と、を前記コンピュータに実行させ、前記送信処理において、前記暗号化処理によって暗号化された前記画像データを送信してもよい。
【００１２】
また、上記選択プログラムは、前記選択処理によって選択された前記画像処理装置の前記暗号化鍵を当該画像処理装置に対応付けて記憶部に記憶させる記憶処理を前記コンピュータに実行させ、前記暗号化処理において、ユーザによって指定された前記画像処理装置に対応する前記暗号化鍵が前記記憶部に記憶されている場合は、その記憶されている前記暗号化鍵を用いて前記画像データを暗号化し、前記送信処理において、前記暗号化処理によって暗号化された前記画像データを前記指定された画像処理装置に送信してもよい。
【００１３】
本明細書によって開示される画像処理装置は、コンピュータと通信可能に接続される画像処理装置であって、ユーザによる情報の入力を受け付ける受付部と、前記受付部によって受け付けられた情報に基づく第１の認証情報を前記コンピュータに送信する送信部と、を備える。
【００１４】
また、前記第１の認証情報は、前記受付部によって受け付けられた前記情報に基づいて算出されたハッシュ値であってもよい。
【００１５】
また、前記第１の認証情報は、前記受付部によって受け付けられた前記情報と当該画像処理装置に固有の情報とに基づくハッシュ値であってもよい。
【００１６】
また、上記画像処理装置は、前記受付部によって受け付けられた前記情報を記憶部に記憶させる記憶制御部であって、前記記憶部に他の前記情報が記憶されている場合はその情報に上書きせずに別の情報として記憶させる記憶制御部を備え、前記送信部は、前記記憶部に記憶されている１以上の前記情報に基づく１以上の前記第１の認証情報を前記コンピュータに送信してもよい。
【００１７】
本明細書によって開示されるコンピュータは、通信部と、ユーザによって入力された情報に基づく第１の認証情報を送信する画像処理装置から前記通信部を介して前記第１の認証情報を受信する受信部と、ユーザによる情報の入力を受け付ける受付部と、前記受信部によって受信された前記第１の認証情報と、前記受付部によって受け付けられた前記情報に基づく第２の認証情報とが、それらが一致すると判断される一致条件を満たしているか否かを判定する判定部と、前記判定部によって前記一致条件を満たしていると判定された前記第１の認証情報の送信元の前記画像処理装置を選択する選択部と、を備える。
【００１８】
なお、本発明は、選択方法、選択システム、選択プログラムを記録した記録媒体等の種々の態様で実現することができる。
また、本発明に備わる各部の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各部の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【発明の効果】
【００１９】
上記の選択プログラム、画像処理装置、及び、コンピュータによると、コンピュータにおいて１以上の画像処理装置の中から目的の画像処理装置をより確実に選択できる。
【図面の簡単な説明】
【００２０】
【図１】実施形態１に係る印刷システムを示す模式図。
【図２】ＰＣの電気的構成を簡略化して示すブロック図。
【図３】プリンタの電気的構成を簡略化して示すブロック図。
【図４】ユニバーサルプリンタドライバを用いた印刷の流れを示す模式図。
【図５】文字情報入力処理の流れを示すフローチャート。
【図６】識別子選択処理の流れを示すフローチャート。
【図７】プリンタ選択画面の模式図。
【図８】実施形態２に係る識別子選択処理の流れを示すフローチャート。
【図９】共通鍵生成処理の流れを示すシーケンスチャート。
【図１０】印刷処理の流れを示すシーケンスチャート。
【図１１】実施形態３に係る公開鍵取得処理の流れを示すシーケンスチャート。
【図１２】印刷処理の流れを示すシーケンスチャート。
【発明を実施するための形態】
【００２１】
＜実施形態１＞
本発明の実施形態１を図１ないし図７によって説明する。
（１）印刷システムの全体構成
図１は、実施形態１に係る印刷システム１を示す模式図である。
印刷システム１は、実施形態１に係る選択プログラムとしてのユニバーサルプリンタドライバ３０（図２参照）がインストールされているコンピュータ（ＰＣ）２と、実施形態１に係る画像処理装置としてのプリンタ３とで構成されており、これらは通信ネットワーク４を介して通信可能に接続されている。通信ネットワーク４は、サブネットＮ１、サブネットＮ２、サブネットＮ３、及び、これらのサブネットが接続される基幹ネットワークＮ４によって構成されている。
【００２２】
ＰＣ２は携帯可能なパーソナルコンピュータ、携帯電話、携帯情報端末などであり、ユーザはＰＣ２を持って移動することができる。ＰＣ２にインストールされているユニバーサルプリンタドライバ３０は複数機種のプリンタを制御可能なプリンタドライバである。ユーザは移動先のサブネットにＰＣ２を接続し、その移動先のサブネットに接続されているプリンタ３をユニバーサルプリンタドライバ３０によって制御することにより、移動先のサブネットに接続されているプリンタ３に印刷を実行させることができる。
【００２３】
１以上のプリンタ３は互いに同じ機種であってもよいし、互いに異なる機種であってもよい。また、複数のプリンタ３の中にはユニバーサルプリンタドライバ３０が制御不能な機種が含まれていてもよい。以降の説明において単にプリンタ３というときはプリンタ３ａ〜３ｉのいずれか一つのことをいう。
【００２４】
（２）コンピュータの構成
図２は、ＰＣ２の電気的構成を簡略化して示すブロック図である。ＰＣ２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、表示部２４、操作部２５、ネットワークインタフェース（ネットワークＩ／Ｆ）２６、及び、記憶部２７を備えて構成されている。
【００２５】
ＣＰＵ２１は、ＲＯＭ２２や記憶部２７に記憶されている各種のプログラムを実行することによってＰＣ２の各部を制御する。ＲＯＭ２２にはＣＰＵ２１によって実行される各種のプログラムやデータなどが記憶されている。ＲＡＭ２３はＣＰＵ２１が各種の処理を実行するための主記憶装置として用いられる。
表示部２４は、液晶ディスプレイなどの表示装置、表示装置を駆動する駆動回路等を備えて構成されている。
【００２６】
操作部２５は、マウスやキーボードなどの入力装置を備えて構成されている。
ネットワークインタフェース２６は、通信ネットワーク４を介してプリンタ３などの外部の装置と通信可能に接続されている。
記憶部２７は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部２７には、オペレーティングシステム（ＯＳ）２８、ワードプロセッサ、表計算ソフト、画像編集ソフトなどのアプリケーションプログラム(アプリケーション)２９、ユニバーサルプリンタドライバ３０、各種のデータなどが記憶される。
【００２７】
（３）プリンタの構成
図３は、ユニバーサルプリンタドライバ３０が制御可能な機種のプリンタ３の電気的構成を簡略化して示すブロック図である。
プリンタ３は、制御部３１、印刷部３２、操作部３３、記憶部３４、及び、ネットワークインタフェース（ネットワークＩ／Ｆ）３５を備えて構成されている。
【００２８】
制御部３１は、ＣＰＵ３１ａ、ＲＯＭ３１ｂ、ＲＡＭ３１ｃ等を備えて構成されている。ＣＰＵ３１ａは、ＲＯＭ３１ｂに記憶されている各種のプログラムを実行することによってプリンタ３の各部を制御する。ＲＯＭ３１ｂにはＣＰＵ３１ａによって実行される各種のプログラムやデータなどが記憶されている。ＲＡＭ３１ｃはＣＰＵ３１ａが各種の処理を実行するための主記憶装置として用いられる。
【００２９】
印刷部３２は、紙などの被記録媒体が収容される用紙トレイ、用紙トレイに収容されている被記録媒体を１枚ずつ搬送する搬送部、搬送部によって搬送されている被記録媒体に電子写真方式やインクジェット方式で画像を形成する画像形成部などを備えて構成されている。
操作部３３は、液晶ディスプレイなどの表示装置や各種の操作ボタンを備えて構成されている。ユーザは操作ボタンを操作することにより、各種の設定や、後述する文字情報の入力などを行うことができる。
【００３０】
記憶部３４は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。
ネットワークインタフェース３５は、通信ネットワーク４を介してＰＣ２などの外部の装置と通信可能に接続されている。
【００３１】
制御部３１と操作部３３とは受付部の一例である。制御部３１とネットワークインタフェース３５とは送信部の一例である。制御部３１は記憶制御部の一例である。
【００３２】
（４）ユニバーサルプリンタドライバを用いた印刷の流れ
図４は、ユニバーサルプリンタドライバ３０を用いた印刷の流れを示す模式図である。印刷画面４１はアプリケーション２９を実行しているＣＰＵ２１（以下、単に「アプリケーション２９」という）によって表示される画面である。なお、図４に示す印刷画面４１は一例であり、表示内容やレイアウトはアプリケーション２９によって異なる。
【００３３】
印刷画面４１では、ユーザは印刷を実行させるプリンタ３を指定することができる。ユニバーサルプリンタドライバ３０は特定の１機種のプリンタ３に対応するものではないので、ユーザはユニバーサルプリンタドライバ３０を用いて印刷を実行する場合は、プリンタ３ではなくユニバーサルプリンタドライバ３０を直接指定する。
【００３４】
ユニバーサルプリンタドライバ３０が指定されている状態でユーザが［プロパティ］ボタン４１ａをクリックすると、アプリケーション２９からユニバーサルプリンタドライバ３０が呼び出される。
アプリケーション２９からユニバーサルプリンタドライバ３０が呼び出されると、ＣＰＵ２１はユニバーサルプリンタドライバ３０を実行し、プリンタ選択画面４２を表示する。以降の説明ではユニバーサルプリンタドライバ３０を実行しているＣＰＵ２１のことを単にユニバーサルプリンタドライバ３０という。
【００３５】
図示するようにプリンタ選択画面４２は「お気に入り」タブ４２ａと「利用可能プリンタ一覧」タブ４２ｂとで構成されている。なお、プリンタ選択画面４２が表示された直後は「お気に入り」タブ４２ａが初期表示される。
【００３６】
「お気に入り」タブ４２ａは、過去に「利用可能プリンタ一覧」タブ４２ｂで選択されたことのあるプリンタ３の識別子が一覧表示されるタブである。「お気に入り」タブ４２ａでユーザが目的のプリンタ３の識別子をマウスでクリックすると、選択した識別子の背景色が変化することにより、その識別子が選択状態になる。
図中のプリンタ名及びＩＰアドレスは識別子の一例である。なお、識別子はプリンタ名及びＩＰアドレスのいずれか一方のみであってもよい。また、識別子はプリンタ３を識別できる情報であればプリンタ名やＩＰアドレスに限られず、例えばプリンタ３のホスト名であってもよい。
【００３７】
「利用可能プリンタ一覧」タブ４２ｂは、過去に選択されたことのあるプリンタ３であるか否かによらず、ＰＣ２と同じサブネットに接続されているプリンタ３のうち利用可能なプリンタ３の識別子が一覧表示されるタブである。
「利用可能プリンタ一覧」タブ４２ｂがユーザによりクリックされると、ユニバーサルプリンタドライバ３０はＰＣ２と同じサブネットに接続されている各プリンタ３にＩＰアドレスやプリンタ名などのプリンタ情報を要求するデータをブロードキャストによって送信する。そして、ユニバーサルプリンタドライバ３０はその返答として得られたプリンタ情報に基づいて制御可能なプリンタ３であるか否かを判別し、制御可能なプリンタ３の識別子を「利用可能プリンタ一覧」タブ４２ｂに一覧表示する。
【００３８】
「利用可能プリンタ一覧」タブ４２ｂにおいて、ユーザは目的のプリンタの識別子をマウスでクリックすることにより、その識別子を選択状態にすることができる。識別子が選択状態にされている状態でユーザが［ＯＫ］ボタン４２ｃをクリックすると、選択状態にされている識別子に対応するプリンタ３がユニバーサルプリンタドライバ３０の制御対象のプリンタ３として設定される。
プリンタ選択画面４２で［ＯＫ］ボタン４２ｃをクリックすると、プリンタ選択画面４２が閉じ、印刷条件を設定するための印刷条件設定画面４３が表示される。印刷条件設定画面４３でユーザが［ＯＫ］ボタン４３ａをクリックすると、印刷条件設定画面４３が閉じて印刷画面４１に戻る。
【００３９】
印刷画面４１でユーザが［ＯＫ］ボタン４１ｂをクリックすると、アプリケーション２９からＯＳ２８を介してユニバーサルプリンタドライバ３０に印刷命令が出力される。
ユニバーサルプリンタドライバ３０は、アプリケーション２９から印刷命令が出力されると、出力された印刷命令と印刷条件設定画面４３で設定された印刷条件とに基づいて印刷データを生成する。そして、生成した印刷データを、制御対象として設定されているプリンタ３、すなわちプリンタ選択画面４２で選択された識別子に対応するプリンタ３に送信して印刷を実行させる。
【００４０】
印刷データは画像データの一例である。プリンタ３に印刷データを送信する処理は送信処理の一例である。
【００４１】
（４−１）目的のプリンタとＰＣとに同じ文字情報を入力することによって選択する方法
前述したようにユーザは「利用可能プリンタ一覧」タブ４２ｂで目的のプリンタ３の識別子をマウスでクリックすることによって目的のプリンタ３の識別子を選択状態にすることができるが、本実施形態では「利用可能プリンタ一覧」タブ４２ｂで目的のプリンタ３の識別子をマウスでクリックする方法以外にも、目的のプリンタ３の識別子を選択状態にすることができる。
【００４２】
ユーザは、まず目的のプリンタ３が設置されている場所まで行き、プリンタ３の操作部３３を介して、任意の文字情報を入力する。ユーザがプリンタ３に文字情報を入力すると、プリンタ３はその文字情報に基づくハッシュ値を生成する。
【００４３】
次に、ユーザはＰＣ２に戻り、「利用可能プリンタ一覧」タブ４２ｂを表示させる。このとき、ＰＣ２から送信されるプリンタ情報の要求に応じて、プリンタ３はプリンタ情報と生成したハッシュ値とをＰＣ２に送信する。
そして、ユーザはプリンタ３に入力した文字情報と同じ文字情報を「利用可能プリンタ一覧」タブ４２ｂの入力フィールド４２ｄに入力し、「検索」ボタン４２ｅをクリックする。
プリンタ３から受信したハッシュ値と入力フィールド４２ｄに入力された文字情報に基づくハッシュ値とが一致すると、「利用可能プリンタ一覧」タブ４２ｂにおいて、ユーザが文字情報を入力したプリンタ３の識別子が選択状態となる。これにより、ユーザは目的のプリンタ３の識別子を把握していなくても、目的のプリンタ３の識別子を選択状態にすることができる。
【００４４】
ＰＣ２がプリンタ３からハッシュ値とＩＰアドレスとを受信する処理は受信処理の一例である。「利用可能プリンタ一覧」タブ４２ｂを表示して文字情報の入力を受け付ける処理は受付処理の一例である。プリンタ３から受信したハッシュ値と入力フィールド４２ｄに入力された文字情報に基づくハッシュ値とが一致するか否かを判定する処理は判定処理の一例である。「プリンタ３から受信したハッシュ値と入力フィールド４２ｄに入力された文字情報に基づくハッシュ値とが一致すること」は、一致条件の一例である。ユーザが文字情報を入力したプリンタ３の識別子を選択状態にする処理は選択処理の一例である。プリンタ３から受信したハッシュ値は第１の認証情報の一例である。入力フィールド４２ｄに入力された文字情報に基づくハッシュ値は第２の認証情報の一例である。
【００４５】
（４−２）文字情報入力処理
図５は、上述した「目的のプリンタとＰＣとに同じ文字情報を入力することによって選択する方法」においてプリンタ３で実行される文字情報入力処理の流れを示すフローチャートである。本処理はユーザがプリンタ３の操作部３３を操作して文字情報の入力を選択すると開始される。
【００４６】
Ｓ１０１では、ＣＰＵ３１ａは、新たな文字情報を入力するか又は記憶部３４に記憶されている文字情報を用いるかの選択を受け付けるための画面を操作部３３の表示装置に表示する。ＣＰＵ３１ａは、ユーザにより新たな文字情報を入力する選択がされた場合はＳ１０２に進み、記憶部３４に記憶されている文字情報を用いる選択がされた場合はＳ１０６に進む。
【００４７】
Ｓ１０２では、ＣＰＵ３１ａはユーザによる文字情報の入力を受け付ける。
Ｓ１０３では、ＣＰＵ３１ａはＳ１０２で入力された文字情報を記憶部３４に記憶する。このとき、ＣＰＵ３１ａは、記憶部３４に他の文字情報が記憶されている場合はその文字情報に上書きせずに別の文字情報として記憶させる。
【００４８】
Ｓ１０４では、ＣＰＵ３１ａはＳ１０２で入力された文字情報とプリンタ３のＩＰアドレスとからハッシュ値を算出し、記憶部３４に記憶する。
プリンタ３のＩＰアドレスは「画像処理装置に固有の情報」の一例である。なお、ここでは「画像処理装置に固有の情報」としてＩＰアドレスを例に説明するが、「画像処理装置に固有の情報」はサブネット内でプリンタ３を一意に識別可能な情報であればこれに限られるものではなく、例えばホスト名であってもよい。
【００４９】
Ｓ１０５では、ＣＰＵ３１ａは記憶部３４に記憶されている文字情報毎に、当該文字情報とプリンタ３のＩＰアドレスとからハッシュ値を算出することにより、ハッシュ値の集合を得る。ハッシュ値の集合は記憶部３４に記憶される。ハッシュ値の集合は「１以上の情報に基づく１以上の第１の認証情報」の一例である。
【００５０】
（４−３）識別子選択処理
図６は、上述した「目的のプリンタとＰＣとに同じ文字情報を入力することによって選択する方法」においてＰＣ２で実行される識別子選択処理の流れを示すフローチャートである。
本処理はプリンタ３からＰＣ２に戻ったユーザが「利用可能プリンタ一覧」タブ４２ｂを表示させ、［検索］ボタン４２ｅをクリックすると開始される。
ＰＣ２においてもユーザは新たな文字情報を入力するか又は記憶部２７に記憶されている文字情報を用いるかを選択することができる。ユーザは新たな文字情報を入力する場合は入力フィールド４２ｄに文字情報を入力してから［検索］ボタン４２ｅをクリックするものとし、記憶部２７に記憶されている文字情報を用いる場合は入力フィールド４２ｄに文字情報を入力せずに［検索］ボタン４２ｅをクリックするものとする。
【００５１】
Ｓ２０１では、ユニバーサルプリンタドライバ３０は、入力フィールド４２ｄに文字情報が入力されているか否かを判断し、入力されている場合はＳ２０２に進み、入力されていない場合はＳ２０５に進む。
Ｓ２０２では、ユニバーサルプリンタドライバ３０は入力フィールド４２ｄに入力されている文字情報を記憶部２７に記憶させる。このとき、ユニバーサルプリンタドライバ３０は、記憶部２７に他の文字情報が記憶されている場合はその文字情報に上書きせずに別の文字情報として記憶させる。
入力フィールド４２ｄに入力されている文字情報を記憶部２７に記憶する処理は記憶処理の一例である。
【００５２】
Ｓ２０３では、ユニバーサルプリンタドライバ３０は入力フィールド４２ｄに入力されている文字情報と、ＰＣ２にハッシュ値を送信したプリンタ３のＩＰアドレスとから、プリンタ３がハッシュ値の算出に用いたハッシュ関数と同じハッシュ関数を用いてハッシュ値を算出する。ここで、同じ文字情報と同じＩＰアドレスとを用いて同じハッシュ関数によってハッシュ値を算出した場合には、同じハッシュ値が算出されるものとする。
Ｓ２０４では、ユニバーサルプリンタドライバ３０はＳ２０３で算出したハッシュ値がプリンタ３から受信した１以上のハッシュ値のうち何れかのハッシュ値と一致するか否かを判定し、一致する場合はＳ２０７に進み、一致しない場合は処理を終了する。
【００５３】
Ｓ２０５では、ユニバーサルプリンタドライバ３０は記憶部２７に記憶されている文字情報毎に、その文字情報とＰＣ２にハッシュ値を送信したプリンタ３のＩＰアドレスとから、プリンタ３がハッシュ値の算出に用いたハッシュ関数と同じハッシュ関数を用いてハッシュ値を算出することにより、ハッシュ値の集合を得る。ハッシュ値の集合は「１以上の情報に基づく１以上の第２の認証情報」の一例である。
【００５４】
Ｓ２０６では、ユニバーサルプリンタドライバ３０はＳ２０５で算出した１以上のハッシュ値のうち何れかのハッシュ値が、プリンタ３から受信した１以上のハッシュ値のうち何れかのハッシュ値と一致するか否かを判定し、一致する場合はＳ２０７に進み、いずれも一致しない場合は処理を終了する。
Ｓ２０７では、ユニバーサルプリンタドライバ３０は、図７に示すように、ＰＣ２にハッシュ値を送信したプリンタ３の識別子以外の識別子を「利用可能プリンタ一覧」タブ４２ｂ上で非表示にし、当該プリンタ３の識別子を選択状態にする。
【００５５】
選択状態にされている識別子によって識別されるプリンタ３は、「第２の認証情報と一致すると判定された第１の認証情報の送信元の画像処理装置」の一例である。
【００５６】
（６）実施形態の効果
例えば、普段図１に示すサブネットＮ１にＰＣ２を接続して作業しているユーザが、サブネットＮ２が敷設されている場所にＰＣ２を持って移動し、移動先でＰＣ２をサブネットＮ２に接続したとする。そして、ユーザはサブネットＮ２に接続されているプリンタ３ｆに印刷を行わせたいとする。
この場合、ユーザは普段サブネットＮ１に接続されているプリンタ３を利用していることから、サブネットＮ２に接続されているプリンタ３のプリンタ名やＩＰアドレスが「利用可能プリンタ一覧」タブ４２ｂに一覧表示されても、どれがプリンタ３ｆのプリンタ名やＩＰアドレスであるか判らないこともある。
【００５７】
このような場合、実施形態１に係るユニバーサルプリンタドライバ３０によると、ユーザは目的のプリンタ３とＰＣ２とを操作してそれぞれに同じ文字情報を入力することにより、「利用可能プリンタ一覧」タブ４２ｂにおいて目的のプリンタ３の識別子を選択状態にさせることができる。
【００５８】
このように、ユニバーサルプリンタドライバ３０によると、ユーザは目的のプリンタ３の識別子を把握していなくても、目的のプリンタ３をより確実に選択できる。これにより、ユーザは目的のプリンタ３の識別子を自身で調べる必要がなく、ユーザの利便性が向上する。
【００５９】
更に、ユニバーサルプリンタドライバ３０は、各プリンタ３の識別子を「利用可能プリンタ一覧」タブ４２ｂに一覧表示するものであり、入力フィールド４２ｄに入力された文字情報に基づくハッシュ値と一致すると判定されたハッシュ値の送信元のプリンタ３の識別子を識別可能に表示する。これにより、ユーザは目的のプリンタ３の識別子が選択されたことを画面上で確認できる。
【００６０】
更に、ユニバーサルプリンタドライバ３０によると、第１の認証情報はプリンタ３に入力された文字情報に基づいて算出されたハッシュ値であり、第２の認証情報は入力フィールド４２ｄに入力された文字情報に基づいて、プリンタ３と同じハッシュ関数を用いて算出されたハッシュ値である。
ここで、あるユーザが目的のプリンタ３に入力した文字情報を他のユーザが不正に取得し、プリンタ３を模倣した別の装置にその文字情報を入力し、その別の装置からＰＣ２に第１の認証情報を送信させる場合を考える。この場合、ＰＣ２が別の装置を目的のプリンタ３として認証してしまい、本来のプリンタ３に送信されるべき印刷データが別のプリンタ３に送信されてしまう虞がある。つまり、別の装置が本来のプリンタ３になり済まして不正に印刷データを取得してしまう虞がある。
暗号化されたデータとは異なり、ハッシュ値は元のデータに復号化されることが考慮されたデータではないので、本来のプリンタ３を模倣する装置がハッシュ値を取得したとしても、プリンタ３に入力された文字情報をそのハッシュ値から解読することは困難である。このため、第１の認証情報をハッシュ値として送信するようにすると、ユーザが本来のプリンタ３に入力した文字情報が他のユーザに容易に知られてしまうことを防ぐことができる。
【００６１】
更に、ユニバーサルプリンタドライバ３０によると、第１の認証情報は、プリンタ３に入力された文字情報と当該プリンタ３のＩＰアドレスとから算出されたハッシュ値であり、第２の認証情報は、ＰＣ２で実行される受付処理によって受け付けられた文字情報と、第１の認証情報をＰＣ２に送信したプリンタ３のＩＰアドレスとから算出されたハッシュ値である。
文字情報のみからハッシュ値を生成した場合は、そのハッシュ値が不正に取得され、本来のプリンタ３を模倣する装置からＰＣ２にそのハッシュ値が送信されると、本来のプリンタ３を模倣する装置から送信されてきたハッシュ値と、ユーザがＰＣ２に入力した文字情報から算出されるハッシュとが一致してしまう。このため、別の装置が本来のプリンタ３になり済まして不正に印刷データを取得してしまう虞がある。
プリンタ３に入力された文字情報と当該プリンタ３のＩＰアドレスとからハッシュ値を算出した場合には、そのハッシュ値が不正に取得され、本来のプリンタ３を模倣する装置からＰＣ２にそのハッシュ値が送信されたとしても、そのハッシュ値は、ＰＣ２においてユーザが入力する文字情報と、本来のプリンタ３を模倣する装置のＩＰアドレスとに基づいて生成されるハッシュ値と一致しない。なぜなら、ＰＣ２に送信されたハッシュ値は本来のプリンタ３のＩＰアドレスに基づいて生成されたものであるからである。
このように、ユーザが入力した文字情報とプリンタ３のＩＰアドレスとに基づいてハッシュ値を生成すると、ハッシュ値が不正に取得されても、別の装置に不正に印刷データが取得されてしまう虞を低減できる。
【００６２】
更に、ユニバーサルプリンタドライバ３０によると、入力フィールド４２ｄに入力された文字情報を記憶部２７に記憶させるので、ユーザが同じ文字情報を入力する手間を低減できる。また、ユニバーサルプリンタドライバ３０によると、複数の文字情報を記憶できるので、ＰＣ２が複数のユーザによって共有されている場合に、異なるユーザが異なる情報を入力したとしても、いずれのユーザも文字情報を入力する手間を低減できる。
【００６３】
また、実施形態１に係るプリンタ３によると、ユーザはプリンタ３で文字情報を入力することにより、ＰＣ２に第１の認証情報を送信できる。これにより、ＰＣ２において１以上のプリンタ３の中からそのプリンタ３を選択できる。
【００６４】
更に、プリンタ３によると、第１の認証情報としてハッシュ値を送信するので、第１の認証情報を他のユーザに容易に知られてしまうことを防ぐことができる。
【００６５】
更に、プリンタ３によると、第１の認証情報は、プリンタ３に入力された文字情報と当該プリンタ３のＩＰアドレスとに基づく情報であるので、印刷データが不正に取得されてしまう可能性を低減できる。
【００６６】
更に、プリンタ３によると、ユーザによって入力された文字情報が記憶されるので、ユーザが同じ文字情報を入力する手間を低減できる。また、プリンタ３によると、複数の文字情報を記憶できるので、１台のプリンタ３が複数のユーザによって共有される場合に、異なるユーザが異なる情報を入力したとしても、いずれのユーザも情報を入力する手間を低減できる。
【００６７】
＜実施形態２＞
次に、本発明の実施形態２を図８ないし図１０によって説明する。
実施形態２は実施形態１の変形例である。実施形態１に係るユニバーサルプリンタドライバ３０は印刷データを暗号化せずにプリンタ３に送信するが、暗号化せずに送信すると通信ネットワーク４上でその印刷データが盗聴される虞もある。
このため、実施形態２では、共通鍵暗号化方式によって印刷データを暗号化する。共通鍵暗号化方式の詳細については後述するが、概略を説明すると、プリンタ３とＰＣ２とでお互いの公開鍵を交換して双方で同じ共通鍵を生成し、生成した共通鍵を用いてデータを暗号化及び復号化するものである。
【００６８】
ただし、共通鍵暗号化方式を用いる場合は、公開鍵の取得元のプリンタ３が本来のプリンタ３であることが重要である。なぜなら、本来のプリンタ３になり済ましている別のプリンタ３から公開鍵を取得してしまうと、暗号化した印刷データが別のプリンタ３で復号化されてしまうからである。
【００６９】
例えば電子メールなどで共通鍵暗号化方式を用いる場合は公開鍵の信頼性を保証する認証局から送信相手の公開鍵を取得することが行われている。しかしながら、プリンタのレベルではこのような公開鍵の信頼性を保証する認証局は一般に存在しない。
そこで、実施形態２では、実施形態１で説明した構成、すなわち、プリンタ３に入力された文字情報と当該プリンタ３のＩＰアドレスとからハッシュ値を算出構成によって別の装置が目的のプリンタ３になり済ましている可能性を低減した上で、共通鍵暗号化方式によって印刷データを暗号化する。逆に言うと、実施形態２において共通鍵暗号化方式を採用できる理由は、プリンタ３に入力された文字情報と当該プリンタ３のＩＰアドレスとからハッシュ値を算出することにより、別の装置が目的のプリンタ３になり済ましている可能性を低減できるからである。
【００７０】
また、実施形態２では、処理効率の低下を抑制するために、生成した共通鍵をプリンタ３及びユニバーサルプリンタドライバ３０の双方において記憶しておき、共通鍵が記憶されている場合はその記憶されている共通鍵を用いて暗号化及び復号化する場合を例に説明する。
【００７１】
（１）識別子選択処理
図８は、実施形態２に係る識別子選択処理の流れを示すフローチャートである。本処理はプリンタ３からＰＣ２に戻ったユーザが「利用可能プリンタ一覧」タブ４２ｂの［検索］ボタン４２ｅをクリックすると開始される。
実施形態２に係る識別子選択処理においてＳ２０１〜Ｓ２０７までの処理は実施形態１に係る識別子選択処理と実質的に同一であるので同一の符号を付して説明を省略する。
【００７２】
Ｓ３０１では、ユニバーサルプリンタドライバ３０は、選択状態にされている識別子によって識別されるプリンタ３との間で以下に説明する共通鍵生成処理を実行する。
【００７３】
図９は、共通鍵生成処理の流れを示すシーケンスチャートである。
Ｓ４０１では、ユニバーサルプリンタドライバ３０とプリンタ３との間で通信ネットワーク４を介してお互いの公開鍵を交換する。ユニバーサルプリンタドライバ３０がプリンタ３から公開鍵を受信する処理は公開鍵受信処理の一例である。
Ｓ４０２では、ユニバーサルプリンタドライバ３０は乱数を生成し、生成した乱数をプリンタ３の公開鍵で暗号化する。
【００７４】
Ｓ４０３では、プリンタ３は乱数を生成し、生成した乱数をユニバーサルプリンタドライバ３０の公開鍵で暗号化する。
Ｓ４０４では、ユニバーサルプリンタドライバ３０とプリンタ３との間で、通信ネットワーク４を介して、暗号化した乱数を交換する。
Ｓ４０５では、ユニバーサルプリンタドライバ３０はプリンタ３から受信した乱数をＰＣ２の秘密鍵で復号化する。
【００７５】
Ｓ４０６では、ユニバーサルプリンタドライバ３０は復号化した乱数と、Ｓ４０２でユニバーサルプリンタドライバ３０自身が生成した乱数とに基づいて共通鍵を生成する。
Ｓ４０７では、ユニバーサルプリンタドライバ３０はＳ４０６で生成した共通鍵を一意に識別するための鍵ＩＤを生成する。
【００７６】
Ｓ４０８では、ユニバーサルプリンタドライバ３０はＳ４０６で生成した共通鍵と、Ｓ４０７で生成した鍵ＩＤと、プリンタ３のＩＰアドレスとを対応付けて記憶部２７に記憶させる。
共通鍵、鍵ＩＤ、及び、プリンタ３のＩＰアドレスを対応付けて記憶部２７に記憶する処理は、記憶処理の一例である。
【００７７】
Ｓ４０９では、プリンタ３はユニバーサルプリンタドライバ３０から受信した乱数をプリンタ３の秘密鍵で復号化する。
Ｓ４１０では、プリンタ３は復号化した乱数と、Ｓ４０３でプリンタ３自身が生成した乱数とに基づいて共通鍵を生成する。
【００７８】
Ｓ４１１では、プリンタ３はＳ４１０で生成した共通鍵を一意に識別するための鍵ＩＤを生成する。Ｓ４１１で生成される鍵ＩＤは、前述したＳ４０７で生成される鍵ＩＤと同じものであるとする。
なお、プリンタ３側では鍵ＩＤを生成せず、前述したＳ４０７で生成された鍵ＩＤをユニバーサルプリンタドライバ３０から取得してもよい。
Ｓ４１２では、プリンタ３はＳ４１０で生成した共通鍵とＳ４１１で生成した鍵ＩＤとを対応付けて記憶部３４に記憶する。
【００７９】
（２）印刷処理
図１０は、実施形態２に係る印刷処理の流れを示すシーケンスチャートである。本処理はアプリケーション２９からユニバーサルプリンタドライバ３０に印刷命令が出力されると開始される。
ここで、「目的のプリンタとＰＣとに同じ文字情報を入力することによって選択する方法」の場合はユーザが［検索］ボタン４２ｅをクリックするのでＳ３０１において共通鍵が生成されるが、マウスで識別子をクリックすることによって選択した場合は［検索］ボタン４２ｅはクリックされないので共通鍵は生成されない。マウスで識別子をクリックすることによって選択した場合には共通鍵を生成しない理由は、マウスで識別子をクリックすることによって選択した場合は文字情報が入力されないので、公開鍵を受信するプリンタ３が目的のプリンタ３であるか又は目的のプリンタ３になり済ました別の装置であるかを判断できず、目的のプリンタ３になり済ました別の装置から公開鍵を受信してしまう虞があるからである。
【００８０】
このため、アプリケーション２９によって表示される印刷画面４１で［ＯＫ］ボタン４１ｂがクリックされてユニバーサルプリンタドライバ３０に印刷命令が出力されたとき、制御対象として設定されているプリンタ３との間で共通鍵が生成されている場合もあれば、生成されていない場合もあることになる。
そこで、ユニバーサルプリンタドライバ３０は、アプリケーション２９から印刷命令が出力されると、制御対象として設定されているプリンタ３との間で共通鍵が生成されているか否かを判定し、共通鍵が生成されている場合はその共通鍵を用いて印刷データを暗号化し、共通鍵が生成されていない場合は印刷データを暗号化せずに送信する。
【００８１】
Ｓ５０１では、ユニバーサルプリンタドライバ３０は制御対象として設定されているプリンタ３のＩＰアドレスに対応する共通鍵が記憶部２７に記憶されているか否かを判定し、記憶されている場合はＳ５０２に進み、記憶されていない場合はＳ５０３に進む。
【００８２】
Ｓ５０２では、ユニバーサルプリンタドライバ３０は制御対象として設定されているプリンタ３に対応する共通鍵を用いて印刷データを暗号化する。印刷データを暗号化する処理は暗号化処理の一例である。また、制御対象として設定されているプリンタ３は「ユーザによって指定された画像処理装置」の一例である。
【００８３】
Ｓ５０３では、ユニバーサルプリンタドライバ３０は、Ｓ５０１で共通鍵が記憶されていると判定した場合はＳ５０２で暗号化した印刷データとその印刷データの暗号化に用いた共通鍵の鍵ＩＤとをプリンタ３に送信し、一方、Ｓ５０１で共通鍵が記憶されていないと判定した場合は暗号化されていない印刷データをプリンタ３に送信する。
【００８４】
Ｓ５０４では、プリンタ３は印刷データが暗号化されているか否かを判定し、暗号化されている場合はＳ５０５に進み、暗号化されていない場合はＳ５０７に進む。
Ｓ５０５では、プリンタ３はＳ５０３で受信した鍵ＩＤに対応する共通鍵が記憶部３４に記憶されているか否かを判定し、記憶されている場合はＳ５０６に進み、記憶されていない場合は処理を終了する。
【００８５】
Ｓ５０６では、プリンタ３はＳ５０６で受信した鍵ＩＤに対応する共通鍵を用いて印刷データを復号化する。
Ｓ５０７では、プリンタ３はＳ５０３で受信した暗号化されていない印刷データ、又は、Ｓ５０６で復号化された印刷データが表す画像を印刷する。
【００８６】
（３）実施形態の効果
以上説明した実施形態２に係るユニバーサルプリンタドライバ３０によると、印刷データを暗号化して送信するので、印刷データの盗聴を抑制できる。
また、ユニバーサルプリンタドライバ３０によると、プリンタ３に入力された文字情報と当該プリンタ３のＩＰアドレスとに基づくハッシュ値を第１の認証情報として用いるので、プリンタ３を模倣する別の装置が本来のプリンタ３から不正に取得した第１の認証情報をＰＣ２に送信して本来のプリンタ３になり済まそうとしても、プリンタ３を模倣する別の装置から送信された第１の認証情報は第２の認証情報と一致せず、「利用可能プリンタ一覧」タブ４２ｂにおいてその別の装置の識別子は選択状態にならなくなる。
つまり、ユニバーサルプリンタドライバ３０によると、本来のプリンタ３になり済ました別の装置から公開鍵を取得してしまう可能性を低減できる。
よってユニバーサルプリンタドライバ３０によると、印刷データが別のプリンタ３で復号化されてしまう可能性を低減しつつ、印刷データの盗聴を抑制できる。
【００８７】
更に、ユニバーサルプリンタドライバ３０によると、共通鍵をプリンタ３と対応付けて記憶しておくので、プリンタ３にも同様に共通鍵を記憶しておけば、共通鍵が記憶されているプリンタ３が指定された場合にはそのプリンタ３から公開鍵を取得して共通鍵を生成しなくてよく、共通鍵を生成することによる処理効率の低下を抑制できる。
【００８８】
＜実施形態３＞
次に、本発明の実施形態３を図１１ないし図１２によって説明する。
実施形態２では公開鍵に基づく暗号化鍵として共通鍵を用いる場合を例に説明したが、公開鍵に基づく暗号化鍵は公開鍵そのものであってもよい。
【００８９】
図１１は、ＰＣ２がプリンタ３から公開鍵を取得して記憶する公開鍵取得処理の流れを示すシーケンスチャートである。
Ｓ６０１では、プリンタ３はプリンタ３の公開鍵をユニバーサルプリンタドライバ３０に送信する。
Ｓ６０２では、ユニバーサルプリンタドライバ３０はプリンタ３の公開鍵とプリンタ３のＩＰアドレスとを対応付けて記憶部２７に記憶する。
【００９０】
図１２は、実施形態３に係る印刷処理の流れを示すシーケンスチャートである。本処理はアプリケーション２９からユニバーサルプリンタドライバ３０に印刷命令が出力されると開始される。
Ｓ７０１では、ユニバーサルプリンタドライバ３０は制御対象として設定されているプリンタ３のＩＰアドレスに対応する公開鍵が記憶部２７に記憶されているか否かを判定し、記憶されている場合はＳ７０２に進み、記憶されていない場合はＳ７０３に進む。
【００９１】
Ｓ７０２では、ユニバーサルプリンタドライバ３０は制御対象として設定されているプリンタ３のＩＰアドレスに対応する公開鍵を用いて印刷データを暗号化する。
Ｓ７０３では、ユニバーサルプリンタドライバ３０は、Ｓ７０１で公開鍵が記憶されていると判定した場合はＳ７０２で暗号化した印刷データをプリンタ３に送信し、一方、Ｓ７０１で公開鍵が記憶されていないと判定した場合は暗号化されていない印刷データをプリンタ３に送信する。
【００９２】
Ｓ７０４では、プリンタ３は印刷データが暗号化されているか否かを判定し、暗号化されている場合はＳ７０５に進み、暗号化されていない場合はＳ７０６に進む。
Ｓ７０５では、プリンタ３は自身の秘密鍵を用いて印刷データを復号化する。
Ｓ７０６では、プリンタ３はＳ７０３で受信した暗号化されていない印刷データ、又は、Ｓ７０５で復号化された印刷データが表す画像を印刷する。
【００９３】
以上説明した実施形態３に係るユニバーサルプリンタドライバ３０によると、共通鍵を生成しないので、共通鍵を生成する場合に比べて処理を簡素にできる。
【００９４】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００９５】
（１）上記実施形態ではプリンタ３から受信したハッシュ値とＰＣ２に入力された文字情報に基づいて生成されたハッシュ値とが一致するか否かを判定したが、例えば第１の認証情報として文字情報を送信し、ＰＣ２に入力された文字情報と完全に一致すると、それらが一致すると判定してもよい。あるいは、文字情報の先頭から所定数の文字、あるいは後ろから所定数の文字が一致すれば、それらが一致すると判断してもよい。
【００９６】
（２）上記実施形態では、選択処理として、ＰＣ２にハッシュ値を送信したプリンタ３の識別子以外の識別子を「利用可能プリンタ一覧」タブ４２ｂ上で非表示にし、当該プリンタ３の識別子を選択状態にする場合を例に説明したが、ＰＣ２にハッシュ値を送信したプリンタ３の識別子以外の識別子も「利用可能プリンタ一覧」タブ４２ｂに表示したままにし、当該プリンタ３の識別子のみを選択状態にしてもよい。
あるいは、ＰＣ２にハッシュ値を送信したプリンタ３の識別子以外の識別子も「利用可能プリンタ一覧」タブ４２ｂに表示したままにし、ＰＣ２にハッシュ値を送信したプリンタ３の識別子を他の識別子と識別可能に表示し、ユーザがその識別可能に表示されている識別子をマウスでクリックすることによって選択状態にする構成であってもよい。
あるいは、第２の認証情報と一致すると判定された第１の認証情報の送信元のプリンタ３が１台だけである場合は、自動的にその１台のプリンタ３を選択して印刷条件設定画面４３に進む構成であってもよい。この場合は［検索］ボタン４２ｅをクリックした後の選択処理にユーザが介在しないことになる。
つまり、上記実施形態に係る選択処理は、ユーザが介在してもよいし、ユーザが介在しなくてもよい。
【００９７】
（３）上記実施形態では第１の認証情報、及び、第２の認証情報として、ユーザが入力した文字情報とプリンタ３のＩＰアドレスとから算出したハッシュ値を例に説明したが、第１の認証情報、及び、第２の認証情報はユーザが入力した文字情報そのものであってもよいし、ＩＰアドレスは用いず文字情報から算出したハッシュ値であってもよい。
【００９８】
（４）上記実施形態ではユニバーサルプリンタドライバ３０及びプリンタ３の双方において、ユーザによって入力された文字情報を記憶しておく場合を例に説明したが、入力された文字情報を記憶せずユーザに毎回入力させる構成であってもよいし、ユニバーサルプリンタドライバ３０及びプリンタ３の一方においてのみ文字情報を記憶する構成であってもよい。
【００９９】
（５）上記実施形態２では、ユニバーサルプリンタドライバ３０は生成した共通鍵をプリンタ３のＩＰアドレスと対応付けて記憶部２７に登録する場合を例に説明したが、選択状態にされている識別子に対応するプリンタ３を表す論理プリンタをＯＳに登録するための［登録］ボタンを「利用可能プリンタ一覧」タブ４２ｂに設けてもよい。
【０１００】
そして、ユニバーサルプリンタドライバ３０は、［検索］ボタン４２ｅがクリックされた後に［登録］ボタンがクリックされた場合は、選択状態にされている識別子に対応するプリンタ３の論理プリンタをＯＳに登録するとともに、そのプリンタ３との間で生成されている共通鍵とその共通鍵の鍵ＩＤとをその論理プリンタに対応付けて記憶部２７に記憶させてもよい。ここで、登録される論理プリンタには、使用するプリンタドライバとしてユニバーサルプリンタドライバ３０が設定されるものとする。
【０１０１】
論理プリンタを登録した場合には、アプリケーション２９によって表示される印刷画面４１でその論理プリンタを指定することができる。ユニバーサルプリンタドライバ３０が設定されている論理プリンタが指定されて［ＯＫ］ボタン４１ｂがクリックされた場合は、ユニバーサルプリンタドライバ３０に印刷命令が出力される。
なお、ここでは共通鍵を例に説明したが、実施形態３で説明した公開鍵の場合も同様である。
【０１０２】
（６）上記実施形態では印刷データの暗号化方式として共通鍵暗号化方式や公開鍵暗号化方式を例に説明したが、暗号化方式はこれらに限定されるものではない。どのような暗号化方式を用いるかは適宜に選択可能である。
【０１０３】
（７）上記実施形態ではプリンタ３から戻ったユーザが「利用可能プリンタ一覧」タブ４２ｂを表示させるとプリンタ３にプリンタ情報とハッシュ値とを要求する場合を例に説明したが、予め「利用可能プリンタ一覧」タブ４２ｂが表示されている状態でプリンタ３に文字情報を入力し、ユーザが「検索」ボタン４２ｅをクリックするとプリンタ３にハッシュ値を要求する構成であってもよい。
【０１０４】
（８）上記実施形態では画像処理装置としてプリンタを例に説明したが、画像処理装置は、例えば原稿を読み取って画像データを生成し、生成した画像データをＰＣ２に送信するスキャナであってもよいし、ＰＣ２から送信された画像データを外部のファクシミリ装置にファクシミリ送信するファクシミリ装置であってもよい。
【０１０５】
スキャナの場合はＰＣ２からスキャナに画像データは送信されないが、１以上のスキャナの中から目的のスキャナを選択するために、実施形態１で説明した構成を適用することができる。ファクシミリ装置の場合はＰＣ２からファクシミリ装置に画像データが送信されるので、盗聴を低減するために、実施形態２や実施形態３で説明した暗号化の構成を適用することもできる。
【符号の説明】
【０１０６】
１・・・印刷システム、２・・・コンピュータ、３・・・プリンタ、４・・・通信ネットワーク、２１・・・ＣＰＵ、２２・・・ＲＯＭ、２３・・・ＲＡＭ、２４・・・表示部、２５・・・操作部、２６・・・ネットワークインタフェース、２７・・・記憶部、３０・・・ユニバーサルプリンタドライバ、３１・・・制御部、３２・・・印刷部、３３・・・操作部、３４・・・記憶部、３５・・・ネットワークインタフェース、４１・・・印刷画面、４２・・・プリンタ選択画面、４２ａ・・・「お気に入り」タブ、４２ｂ・・・「利用可能プリンタ一覧」タブ、４２ｄ・・・入力フィールド
【図１】
0005779987.tif 000002
【図２】
0005779987.tif 000003
【図３】
0005779987.tif 000004
【図４】
0005779987.tif 000005
【図５】
0005779987.tif 000006
【図６】
0005779987.tif 000007
【図７】
0005779987.tif 000008
【図８】
0005779987.tif 000009
【図９】
0005779987.tif 000010
【図１０】
0005779987.tif 000011
【図１１】
0005779987.tif 000012
【図１２】
0005779987.tif 000013