(57)【要約】【課題】  装置間の通信経路が暗号化されているか否かに応じて、印刷装置がプリントクライアントに送信する認証プリント機能に関する能力情報を異ならせる仕組みを提供することを目的とする。【解決手段】  ＭＦＰ１０１は、通信装置から暗号化された通信経路を介して印刷装置の属性情報を取得するリクエストを受信したことに従って、リクエストに対する応答として、パスワードを使用する認証プリントをサポートすることを示す情報を少なくとも含む属性情報を通信装置に対して送信する。また、ＭＦＰ１０１は、通信装置から暗号化されていない通信経路を介して印刷装置の属性情報を取得するリクエストを受信したことに少なくとも従って、リクエストに対する応答として、認証プリントをサポートしていないことを示す情報を少なくとも含む属性情報を送信する。【選択図】  図４
2019181865.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置であって、
通信装置から前記印刷装置の属性情報を取得するリクエストを受信する受信制御手段と、
前記通信装置から暗号化された通信経路を介して前記印刷装置の属性情報を取得するリクエストを受信したことに従って、前記リクエストに対する応答として、パスワードを使用する認証プリントをサポートすることを示す情報を少なくとも含む属性情報を前記通信装置に対して送信するよう制御し、前記通信装置から暗号化されていない通信経路を介して前記印刷装置の属性情報を取得するリクエストを受信したことに少なくとも従って、前記リクエストに対する応答として、前記認証プリントをサポートしていないことを示す情報を少なくとも含む属性情報を送信するよう制御する送信制御手段と、
を有することを特徴とする印刷装置。
【請求項２】
前記印刷装置の属性情報を取得するリクエストが暗号化された通信経路を介して送信されたか否かを判断する判断手段を更に備えることを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記送信制御手段は、前記通信装置から暗号化された通信経路を介して前記印刷装置の属性情報を取得するリクエストを受信したことに従って、前記リクエストに対する応答として、パスワードを使用する認証プリントをサポートすることを示す情報と、パスワードのハッシュ化に使用すべきハッシュアルゴリズムを示す情報とを少なくとも含む属性情報を送信するよう制御することを特徴とする請求項１又は２に記載の印刷装置。
【請求項４】
前記送信制御手段は、前記リクエストを送信した通信装置のプリントクライアントが特定の条件を満たすプリントクライアントであれば、前記通信装置から暗号化されていない通信経路を介して前記印刷装置の属性情報を取得するリクエストを受信した場合であっても、パスワードを使用する認証プリントをサポートすることを示す情報と、パスワードのハッシュ化に使用すべきハッシュアルゴリズムを示す情報とを少なくとも含む属性情報を前記通信装置に対して送信するよう制御することを特徴とする請求項３に記載の印刷装置。
【請求項５】
通信装置のプリントクライアントから受信したリクエストに含まれるＵｓｅｒ−Ａｇｅｎｔ情報に基づいて、前記プリントクライアントが特定の条件を満たすプリントクライアントであるか否かを判断する第２の判断手段を更に備えることを特徴とする請求項４に記載の印刷装置。
【請求項６】
印刷データを受信するよう制御する第２の受信制御手段と、
認証プリントの設定がなされた印刷データを暗号化されていない通信経路を介して受信し、尚且つ、当該印刷データに含まれる前記認証プリントのパスワードがハッシュ化されていない場合、当該受信した印刷データに基づく印刷が行われないよう制御する制御手段と、
を更に備えることを特徴とする請求項１乃至５のいずれか１項に記載の印刷装置。
【請求項７】
印刷装置の制御方法であって、
通信装置から前記印刷装置の属性情報を取得するリクエストを受信する受信制御工程と、
前記通信装置から暗号化された通信経路を介して前記印刷装置の属性情報を取得するリクエストを受信したことに従って、前記リクエストに対する応答として、パスワードを使用する認証プリントをサポートすることを示す情報を少なくとも含む属性情報を前記通信装置に対して送信するよう制御し、前記通信装置から暗号化されていない通信経路を介して前記印刷装置の属性情報を取得するリクエストを受信したことに少なくとも従って、前記リクエストに対する応答として、前記認証プリントをサポートしていないことを示す情報を少なくとも含む属性情報を送信するよう制御する送信制御工程と、
を有することを特徴とする制御方法。
【請求項８】
請求項７に記載の印刷装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを受信し、シートに画像を印刷する印刷装置に関するものである。
【背景技術】
【０００２】
従来から、ネットワークを介して通信装置から印刷データを受信し、当該受信した印刷データに基づきシートに画像を印刷する印刷装置が知られている。また、近年、個々の印刷装置を使用するために設計されたプリンタドライバ（又はプリントアプリケーション）を介さずに印刷データを生成することが知られている。例えば、通信装置のオペレーティングシステム（ＯＳ）の機能として提供される汎用のプリントクライアントやクラウド上のプリントサーバなどが提供する汎用のプリントクライアントによって印刷データを生成し、印刷装置に送信する手段が知られている。このような汎用のプリントクライアントでは、印刷装置に印刷を実行させるためのネットワークプロトコル（ＩＰＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）に基づいて印刷を行う仕組みが実装されている。このプロトコルに従い印刷装置と通信装置が通信を行うことで印刷を実現する。
【０００３】
特許文献１では、検索で見つかったネットワーク上の画像処理装置に対して、ＩＰＰなどのネットワークプロトコルに従った印刷データを送信することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１７１４７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＩＰＰに準拠する汎用のプリントクライアントを使用して印刷を行う場合、プリントクライアントは、印刷装置から事前に受信した能力情報に基づいて当該印刷装置が有する能力に則った機能を提供する。例えば、ＩＰＰを使用する印刷システムでは、セキュアな印刷を行うための機能（認証プリント機能とも呼ぶ）が定義されている。認証プリント機能を使用する場合、プリントクライアントは、ユーザにより設定されたＰＩＮコード等のパスワードを含む印刷ジョブを印刷装置に対して送信する。パスワードを含む印刷データを受信した印刷装置は、パスワードが印刷装置の操作部に入力されるまで印刷を行わないよう制御する。
【０００６】
ここで、ＩＰＰの認証プリント機能をサポートする印刷装置は、能力情報として、認証プリント機能をサポートしていること、及び、認証プリントにおけるパスワードのハッシュ化でサポートするアルゴリズムを示す情報を送信する。
【０００７】
また、認証プリント機能を使用する場合、プリントクライアントがＰＩＮコードなどのパスワードを印刷装置がサポートするハッシュアルゴリズムでハッシュ化して送信するのが一般的である。しかしながら、プリントクライアントの種類やバージョンによっては、認証プリント機能で使用するパスワードのハッシュ化をサポートしていない場合がある。そのようなプリントクライアントにおいて認証プリントを行おうとする場合、ハッシュ化されていない平文のパスワードが通信経路上に流れる恐れがありセキュリティ上の課題がある。
【０００８】
本発明は上述の課題の少なくとも１つを鑑みなされたものである。本発明は、装置間の通信経路が暗号化されているか否かに応じて、印刷装置がプリントクライアントに送信する認証プリント機能に関する能力情報を異ならせることを目的の１つとする。また、本発明の別の目的は、通信経路の暗号化状況と相手先のプリントクライアントの種別に応じて、印刷装置が相手先のプリントクライアントに送信する認証プリント機能に関する能力情報を適切に異ならせることである。
【課題を解決するための手段】
【０００９】
上記の少なくとも１つの目的を達成するために本発明の印刷装置は、印刷装置であって、通信装置から前記印刷装置の属性情報を取得するリクエストを受信する受信制御手段と、前記通信装置から暗号化された通信経路を介して前記印刷装置の属性情報を取得するリクエストを受信したことに従って、前記リクエストに対する応答として、パスワードを使用する認証プリントをサポートすることを示す情報を少なくとも含む属性情報を前記通信装置に対して送信するよう制御し、前記通信装置から暗号化されていない通信経路を介して前記印刷装置の属性情報を取得するリクエストを受信したことに少なくとも従って、前記リクエストに対する応答として、前記認証プリントをサポートしていないことを示す情報を少なくとも含む属性情報を送信するよう制御する送信制御手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、装置間の通信経路が暗号化されているか否かに応じて、認証プリント機能の利用可否を異ならせることで、セキュリティを高めることを目的の１つとする。また、本発明は、通信経路の暗号化状況と相手先のプリントクライアントの種別に応じて、印刷装置が相手先のプリントクライアントに送信する認証プリント機能に関する能力情報を適切に異ならせる仕組みを提供することを目的の１つとする。
【図面の簡単な説明】
【００１１】
【図１】印刷システムの一例を示す図である。
【図２】ＭＦＰ１０１のハードウェア構成の一例を示す図である。
【図３】印刷システムにおける処理手順の一例を説明するシーケンス図である。
【図４】能力応答の一例を説明する図である。
【図５】ＭＦＰ１０１の制御の一例を説明するフローチャートである。
【図６】ＭＦＰ１０１の制御の一例を説明するフローチャートである。
【図７】ＭＦＰ１０１の制御の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らない。
【００１３】
＜第１の実施形態＞
まず図１を用いて、本発明に係る印刷システムの構成を説明する。本実施形態に係る印刷システムは、通信装置１０２ａ〜ｂ、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１０１、ＡＰ（アクセスポイント）１０３を含む。ネットワーク１００上には、ＭＦＰ１０１、ＡＰ１０３が互いに通信可能に接続されている。本実施形態では印刷装置の一例としてＭＦＰ１０１を説明する。また、通信装置の一例として、通信装置１０２ａ〜１０２ｂを説明する。本実施形態では、一例として、通信装置１０２ａ〜ｂがスマートフォンやタブレット端末などのモバイル端末である場合を例示している。なお、通信装置１０２はＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などの通信装置であってもよい。
【００１４】
通信装置１０２ａ〜ｂはＡＰ１０３を介してネットワーク１００上のＭＦＰ１０１と互いに通信することができる。なお、通信装置１０２がＰＣの場合、ＬＡＮケーブルを介してネットワーク１００に接続し、ＭＦＰ１０１と通信する接続形態であっても良い。
【００１５】
なお、本実施形態では、印刷システムの一例として上記の構成を説明するが、これに限定されるものではない。１つ以上の通信装置と印刷装置とがネットワークを介して通信可能に接続されていればよい。なお、ＡＰ１０３を介した通信は例えばＩＥＥＥ８０２．１１シリーズに準拠する無線通信である。更に、通信装置１０２とＭＦＰ１０１がＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）や、Ｗｉ−Ｆｉ  Ａｗａｒｅ（登録商標）などのアドホックネットワークを介したダイレクト無線通信で相互通信することもできる。
【００１６】
まず、ＭＦＰ１０１について説明する。ＭＦＰ１０１は原稿上の画像を読み取る読取機能、シートに画像を印刷する印刷機能を有する。ＭＦＰ１０１は、ネットワークを介して受信した印刷データに基づく印刷処理を実行することができる。また、ＭＦＰ１０１は、ホスト側（通信装置側）でＰＩＮコードなどのパスワードが設定された印刷データをストレージに記憶し、ＭＦＰ１０１の操作部を介してＰＩＮコードなどのパスワードが入力されるまで印刷を待機するＰＩＮプリント機能を備えている。
【００１７】
図２は、ＭＦＰ１０１のハードウェア構成を示すブロック図である。ＭＦＰ１０１はシート上の画像を読み取る読取機能、シートに画像を印刷する印刷機能を有する。他にもＭＦＰ１０１は、画像を外部の通信装置に送信するファイル送信機能などを有している。
【００１８】
なお、本実施形態では印刷装置の一例としてＭＦＰ１０１を説明するが、これに限定されるものではない。例えば、読取機能を有さないＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等の印刷装置であってもよい。
【００１９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１を含む制御部１１０は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ１１１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１２又はストレージ１１４に記憶された制御プログラムを読み出して、印刷制御や読取制御などの各種制御を行う。ＲＯＭ１１２は、ＣＰＵ１１１で実行可能な制御プログラムを格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１３は、ＣＰＵ１１１の主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ１１４は、印刷データ、画像データ、各種プログラム、及び各種設定情報を記憶する。本実施形態ではストレージ１１４としてＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の補助記憶装置を想定しているが、ＨＤＤの代わりにＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの不揮発性メモリを用いるようにしても良い。このように、ＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３等のハードウェアは、いわゆるコンピュータを構成している。
【００２０】
なお、本実施形態のＭＦＰ１０１では、１つのＣＰＵ１１１が１つのメモリ（ＲＡＭ１１３）を用いて後述するフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば複数のＣＰＵ、ＲＡＭ、ＲＯＭ、及びストレージを協働させて後述するフローチャートに示す各処理を実行することもできる。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のハードウェア回路を用いて一部の処理を実行するようにしてもよい。
【００２１】
操作部インタフェース（Ｉ／Ｆ）１１５は、操作部１１６と制御部１１０を接続する。操作部１１６には、タッチパネル機能を有する液晶表示部や各種ハードキーなどが備えられ、情報を表示する表示部やユーザの指示を受け付ける受付部として機能する。
【００２２】
読取部Ｉ／Ｆ１１７は、読取部１１８と制御部１１０を接続する。読取部１１８は原稿を読み取って、読取画像を生成する。なお、生成された読取画像はストレージ１１４又はＲＡＭ１１３に格納されるものとする。読取部１１８によって生成された読取画像は通信装置に送信されたり、シート上への画像の印刷に用いられたりする。
【００２３】
画像処理部１２４は、ネットワークを介して受信した印刷データを展開し印刷画像を生成するＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）を備えている。印刷部Ｉ／Ｆ１１９は、印刷部１２０と制御部１１０を接続する。画像処理部１２４によって印刷データを解析して生成された印刷画像は印刷部Ｉ／Ｆ１１９を介して制御部１１０から印刷部１２０に転送される。印刷部１２０は制御部１１０を介して制御コマンド及び印刷画像を受信し、当該画像に基づいて給紙カセット（不図示）から給送されたシートに画像を印刷する。なお、印刷部１２０の印刷方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。また、熱転写方式などその他の印刷方式を適用することもできる。シート処理部Ｉ／Ｆ１２１は、制御部１１０とシート処理部１２２を接続する。シート処理部１２２はＣＰＵ１１１からの制御コマンドを受信し、その制御コマンドに従って印刷部１２０により印刷されたシートに後処理を施す。例えば、複数のシートを揃える、シートにパンチ穴を開ける、複数のシートを綴じる、などの後処理を実行する。
【００２４】
また、制御部１１０は、通信部Ｉ／Ｆ１２３を介してネットワーク１００に接続される。通信部Ｉ／Ｆ１２３は、ネットワーク１００上の通信装置に画像や情報を送信したり、ネットワーク１００上の通信装置から印刷データや情報を受信したりする。
【００２５】
図１の説明に戻り、通信装置１０２ａ〜ｂについて説明する。通信装置１０２ａ〜ｂは、ＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）に準拠するプリントクライアントを備えている。プリントクライアントは印刷装置の探索や、印刷データに対する印刷設定を受け付ける機能を有する。また、所望の印刷装置に印刷データを送信する機能を有する。
【００２６】
ところで、ＩＰＰに準拠する汎用のプリントクライアントを使用して印刷を行う場合、プリントクライアントは、ＭＦＰ１０１等の印刷装置から事前に受信した能力情報に基づいて当該印刷装置が有する能力に則った機能を提供する。本実施形態のＭＦＰ１０１は、セキュアな印刷を行うための機能（認証プリント機能や、セキュアプリント機能とも呼ぶ）としてＰＩＮプリント機能を備えている。本実施形態において、ＰＩＮプリント機能などの認証プリント機能を使用する場合、プリントクライアントは、ユーザにより設定されたＰＩＮコード等のパスワードを含む印刷ジョブを印刷装置に対して送信する。パスワードを含む印刷データを受信したＭＦＰ１０１は、パスワードが印刷装置の操作部に入力されるまで印刷を行わないよう制御する。ここで、ＰＩＮプリント機能などの認証プリント機能をサポートする印刷装置は、能力情報として、認証プリント機能をサポートしていること、及び、認証プリントにおけるパスワードのハッシュ化でサポートするアルゴリズムを示す情報を送信する。
【００２７】
また、ＰＩＮプリント機能を使用する場合、プリントクライアントがＰＩＮコードなどのパスワードを印刷装置がサポートするハッシュアルゴリズムでハッシュ化して送信するのが一般的である。しかしながら、プリントクライアントの種類やバージョンによっては、認証プリント機能で使用するパスワードのハッシュ化をサポートしていない場合がある。そのようなプリントクライアントにおいてＰＩＮプリントなどの認証プリントを行おうとする場合、ハッシュ化されていない平文のパスワードが通信経路上に流れる恐れがありセキュリティ上の課題がある。
【００２８】
上記課題を鑑み、本実施形態では装置間の通信経路が暗号化されているか否かに応じて、印刷装置がプリントクライアントに送信する認証プリント機能に関する能力情報を異ならせる仕組みを提供する。以下具体的な仕組みについて説明する。
【００２９】
以下、本実施形態におけるＩＰＰの通信シーケンスについて説明する。図３は、通信装置１０２とＭＦＰ１０１との通信の一例を示すシーケンス図である。ここでは、説明のため、通信装置１０２ａにインストールされたプリントクライアントは、暗号化されていない通信経路を用いてＩＰＰに準拠する印刷を行うものとして説明する。一方、通信装置１０２ｂにインストールされたプリントクライアントは、暗号化された通信経路を用いてＩＰＰに準拠する印刷を行うものとして説明する。なお、暗号化された通信経路とは、ＩＰＰに準拠するデータ通信を行うために通信装置と画像形成装置の間で確立した通信経路が、ＴＬＳやＳＳＬ等により暗号化されていることを意味する。以降、通信経路が、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）やＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）により暗号化された通信経路を用いてＩＰＰに準拠する印刷を行うことをＩＰＰＳと呼ぶものとする。
【００３０】
通信装置１０２ａのユーザは、通信装置１０２ａの操作部を介してプリントクライアントを起動するユーザ操作を行う（３０１）。プリントクライアントを起動するユーザ操作を受け付けた通信装置１０２ａは、周囲の画像形成装置などのプリンタを探索する探索要求をブロードキャストする（３０２）。例えば、探索要求はｍＤＮＳ（Ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ）などを使用することができる。
【００３１】
探索要求を受信したＭＦＰ１０１は、検索に対する応答を送信する（３０３）。ＭＦＰ１０１などのプリンタからの応答を受信した通信装置１０２ａは、暗号化されていない通信経路（ＩＰＰ）を介してプリンタの所有する能力などを含むプリンタの属性情報を取得するためのリクエストを送信する（３０４）。なお、複数のプリンタが見つかった場合や、プリンタを確認する目的で図示省略の選択画面を表示し、当該選択画面を介して選択されたプリンタに対してリクエストを送信するよう構成にしてもよい。
【００３２】
ここでは、通信装置１０２ａは、ＩＰＰで規定されているＧｅｔ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓコマンドを使用して、ＭＦＰ１０１に取得リクエストを送信するものとする。
【００３３】
暗号化されていない通信経路を介してプリンタの属性情報を取得するためのリクエストであるＧｅｔ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓを受信したＭＦＰ１０１は、当該リクエストのレスポンスとして、ＭＦＰ１０１の属性情報を送信する（３０５）。図４を用いてＭＦＰ１０１が送信する属性情報を説明する。図４（ａ）は、暗号化されていない通信経路を介して属性情報のリクエストを受け付けた場合に応答する属性情報の一例を示している。図４（ａ）に示す３０４の応答として送信するプリンタの属性情報には、サポートするファイルタイプを示す情報、ＰＩＮプリント機能をサポートしていないことを示す情報、その他の印刷能力を示す情報、後処理の能力を示す情報などが含まれている。このように、暗号化されていない通信経路で属性情報の取得リクエストを受信した場合、敢えて、ＰＩＮプリント機能をサポートしていないことを示す能力情報を含む属性情報を応答する。なお、図４に示す属性情報は説明のために示した一例であり、属性の名称や属性値はこれに限定されるものではない。
【００３４】
図３の説明に戻り、属性情報を受信した通信装置１０２ａは、プリンタの属性情報を更新する（３０６）。この処理により、通信装置１０２ａのプリントクライアントはプリンタの能力にあった印刷設定画面を表示することができる状態となる。
【００３５】
続けて通信装置１０２ａは、３０６で更新した属性情報に基づき印刷設定画面を表示する（３０７）。具体的には、通信装置１０２ａのプリントクライアントは、更新した属性情報に基づき、ＰＩＮプリント機能に関する設定をグレーアウト又は非表示とした印刷設定画面を表示する。従って、暗号化されていない通信経路でＩＰＰの印刷を行うケースにおいて、ＰＩＮプリント機能が設定されることを抑制することができる。
【００３６】
一方、暗号化された通信経路でＩＰＰの印刷を行うケースについて通信装置１０２ｂとの通信を例に説明する。３１１〜３１３では、通信装置１０２ｂとＭＦＰ１０１は、３００〜３０３と同様にＭＦＰ１０１の探索処理を実行する。続けて、ＭＦＰ１０１などのプリンタからの応答を受信した通信装置１０２ｂは、暗号化された通信経路（ＩＰＰＳ）を介してプリンタの所有する能力などを含むプリンタの属性情報を取得するためのリクエストを送信する（３１４）。
【００３７】
暗号化された通信経路を介してプリンタの属性情報を取得するためのリクエストであるＧｅｔ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓを受信したＭＦＰ１０１は、当該リクエストのレスポンスとして、ＭＦＰ１０１の属性情報を送信する（３１５）。図４（ｂ）は、暗号化された通信経路を介して属性情報のリクエストを受け付けた場合に応答する属性情報の一例を示している。図４（ｂ）に示す３１４の応答として送信するプリンタの属性情報には、サポートするファイルタイプを示す情報、ＰＩＮプリント機能をサポートしていることを示す情報、サポートするハッシュ化方式を示す情報が含まれている。また、その他の印刷能力を示す情報、後処理の能力を示す情報も含まれている。このように、暗号化された通信経路で属性情報の取得リクエストを受信した場合は、ＰＩＮプリント機能をサポートしていることを示す能力情報を含む属性情報を応答する。
【００３８】
３１６〜３１７では、通信装置１０２ｂは、３０６〜３０７と同様に、属性情報の更新処理と、印刷設定画面の表示処理を行う。通信装置１０２ｂのプリントクライアントは、更新した属性情報に基づき、ＰＩＮプリント機能に関する設定を行うことが可能な印刷設定画面を表示する。ユーザは、図示省略の印刷設定画面を介してＰＩＮプリント機能を有効にすることができる。通信端末１０２ｂのプリントクライアントは、操作部を介して及びＰＩＮコードが設定され、印刷開始の操作を受け付けたことに従って、印刷データを生成する。この際、プリントクライアントは、ＭＦＰ１０１がサポートするハッシュ化方式を使用してＰＩＮコードのハッシュデータを生成して印刷データと共に送信する。
【００３９】
＜ＭＦＰ１０１の制御＞
ＭＦＰ１０１における制御について説明する。図５及び６は、ＭＦＰ１０１の制御を示すフローチャートである。図５及び６のフローチャートに示す各動作（ステップ）は、ＣＰＵ１１１がＲＯＭ１１２又はストレージ１１４に記憶された各制御モジュールを実現するためのプログラムをＲＡＭ１１３に読み出し、実行することにより実現される。なお、本実施形態において、印刷処理やデータの送受信処理などは各Ｉ／Ｆや各機能を実現するためのハードウェアと協働して実現されるものとする。
【００４０】
図５のフローチャートは、ＭＦＰ１０１における属性情報の送受信に関する処理を説明するためのフローチャートである。Ｓ５０１において、ＣＰＵ１１１は、通信装置１０２ａ、ｂなどの外部端末から属性情報の取得リクエストを受信したか否かを判断する。外部端末から属性情報の取得リクエストを受信した場合は、処理をＳ５０２に進め、外部端末から属性情報の取得リクエストを受信していない場合は、リクエストを待つ。
【００４１】
Ｓ５０２において、ＣＰＵ１１１は、暗号化された通信経路を介してＳ５０１の属性情報の取得リクエストを受信したか否かを判断する。ＣＰＵ１１１は、ＴＬＳ／ＳＳＬ等により暗号化された通信経路を介して、属性情報の取得リクエストを受信した場合は、処理をＳ５０３に進め、暗号化されていない通信経路を介して属性情報の取得リクエストを受信した場合は、処理をＳ５０４に進める。
【００４２】
Ｓ５０３において、ＣＰＵ１１１は、ＰＩＮプリント機能をサポートすることを示す情報を含む属性情報を生成する。ここで生成する属性情報は、例えば、図４（ｂ）で説明した属性情報である。一方、Ｓ５０４において、ＣＰＵ１１１は、ＰＩＮプリント機能をサポートしないことを示す情報を含む属性情報を生成する。ここで生成する属性情報は、例えば、図４（ａ）で説明した属性情報である。
【００４３】
Ｓ５０５において、ＣＰＵ１１１は、外部端末から受信した属性情報の取得リクエストに対する応答としてＳ５０３又はＳ５０４で生成した属性情報を送信する。送信が完了すると一連の処理を終了する。
【００４４】
続けて、図６のフローチャートを用いて、ＭＦＰ１０１における印刷データの受信及び印刷処理について説明する。
【００４５】
Ｓ６０１において、ＣＰＵ１１１は、ネットワーク１００を介して印刷データを受信したか否かを判断する。印刷データを受信した場合は処理をＳ６０２に進め、印刷データを受信していない場合は処理をＳ６０６に進める。
【００４６】
Ｓ６０２において、ＣＰＵ１１１は、受信した印刷データの印刷属性にＰＩＮプリントを行うことを示す設定が含まれているか判断する。受信した印刷データの印刷属性にＰＩＮプリントを行うことを示す設定が含まれている場合は、処理をＳ６０３に進め、受信した印刷データの印刷属性にＰＩＮプリントを行うことを示す設定が含まれていない場合は、処理をＳ６０９に進める。
【００４７】
Ｓ６０３では、ＣＰＵ１１１は、ＰＩＮプリントに関するセキュリティが保たれているか否かを判断する。ＣＰＵ１１１は、印刷データに付与されているＰＩＮコードが、ＭＦＰ１０１がサポートする方式でハッシュ化されている場合や、暗号化された通信経路を介して印刷データを受信した場合に、ＰＩＮプリントに関するセキュリティが保たれていると判断する。一方、ＣＰＵ１１１は、暗号化されていない通信経路を介して印刷データを受信し、尚且つ、印刷データに付与されているＰＩＮコードが平文である場合、ＰＩＮプリントに関するセキュリティが保たれていないと判断する。ＰＩＮプリントに関するセキュリティが保たれていると判断した場合、処理をＳ６０４に進め、ＰＩＮプリントに関するセキュリティが保たれていないと判断した場合、処理をＳ６０５に進める。
【００４８】
Ｓ６０４では、ＣＰＵ１１１は、受信した印刷データをＰＩＮプリント用の記憶領域に格納する。格納が完了するとＳ６０１の処理に戻る。一方、Ｓ６０５では、ＣＰＵ１１１は、受信した印刷データを破棄し、Ｓ６０１の処理に戻る。この処理によりデータ全体が暗号化されておらず、尚且つＰＩＮコードが平文で送信されているケースにおいては、当該ＰＩＮプリントに基づく印刷を行わないよう制御することができる。
【００４９】
続けて、ＰＩＮプリントの実行について説明する。Ｓ６０６において、ＣＰＵ１１１は、ＰＩＮプリントを実行するユーザ指示を受け付けたか否かを判断する。例えば、操作部１１６上に表示された図示省略のメニュー画面からＰＩＮプリントを行うための表示アイテムを選択するユーザ操作を検知すると、ＰＩＮプリントを実行するユーザ指示を受け付けたと判断し、処理をＳ６０７へ進める。一方、ＰＩＮプリントを行うための表示アイテムを選択するユーザ操作を検知していない場合、ＰＩＮプリントを実行するユーザ指示を受け付けていないと判断し、処理をＳ６１０に進める。
【００５０】
Ｓ６０７において、ＣＰＵ１１１は、ＰＩＮコードの入力を受け付ける。具体的には、ＣＰＵ１１１は、ストレージ１１４のＰＩＮプリント用の記憶領域に記憶された印刷データの中から、印刷するデータをユーザに選択させるための選択画面を操作部１１６上に表示する。また、ＣＰＵ１１１は、印刷データを選択するユーザ操作を受け付けると、ＰＩＮコードを入力するための入力画面を表示する。入力画面を介してＰＩＮコードが入力されＯＫキーが押下されると、処理をＳ６０８に進める。
【００５１】
Ｓ６０８において、ＣＰＵ１１１は、印刷データの「ｊｏｂ−ｐａｓｓｗｏｒｄ」属性として付与されているＰＩＮコードとＳ６０７で入力されたＰＩＮコードが一致するか判断する。印刷データに付与されているＰＩＮコードがハッシュ化されていない場合（即ち、平文である場合）、印刷データに付与されているＰＩＮコードと入力されたＰＩＮコードが一致するか否かを判断する。一方、印刷データに付与されているＰＩＮコードがハッシュ化されている場合、当該付与されているＰＩＮコードのハッシュ値と、Ｓ６０７で入力されたＰＩＮコードをＳＨＡ−２などのアルゴリズムでハッシュ化したハッシュ値とが一致するか否かを判断する。なお、ハッシュアルゴリズムの種類は印刷データに付与されている「ｊｏｂ−ｐａｓｓｗｏｒｄ−ｅｎｃｒｙｐｔｉｏｎ」の印刷属性に基づき決定される。ハッシュアルゴリズムは印刷データに付与されているＰＩＮコード（若しくはＰＩＮコードのハッシュ値）とＳ６０７で入力されたＰＩＮコード（若しくはＰＩＮコードのハッシュ値）が一致する場合、処理をＳ６０９に進める。一方、印刷データに付与されているＰＩＮコード（若しくはＰＩＮコードのハッシュ値）とＳ６０７で入力されたＰＩＮコード（若しくはＰＩＮコードのハッシュ値）が一致しない場合、Ｓ６０７の処理に戻り、ＰＩＮコードの再入力を待つ。
【００５２】
Ｓ６０９において、ＣＰＵ１１１は、画像処理部１２４、印刷部１２０と協働して印刷処理を実行する。ＣＰＵ１１１は、画像処理部１２４と協働し、印刷データに基づき印刷画像を生成する。生成した印刷画像は印刷部１２０に転送され、印刷部１２０によってシートへの印刷が実行され、図示省略の排紙トレイに印刷物が出力される。
【００５３】
一方、Ｓ６１０において、ＣＰＵ１１１は、電源をＯＦＦにする指示を受け付けたか否かを判断する。電源をＯＦＦにする指示を受け付けた場合は一連の処理を終了する。一方、電源をＯＦＦにする指示を受け付けていない場合は、Ｓ６０１に戻り印刷データの受信や、ユーザ操作の受け付けを待つ。
【００５４】
なお、本実施形態では、認証プリント機能の一例としてＰＩＮプリント機能を例示したがこれに限定されるものではない。例えば、ＰＩＮコードの代わりにパスワードを使用することもできる。なお、認証にパスワードを使用するかＰＩＮコードを使用するかなどといったルールは、例えば、ＰＷＧで定義された「ｊｏｂ−ｐａｓｓｗｏｒｄ−ｒｅｐｅｒｔｏｉｒｅ−ｓｕｐｐｏｒｔｅｄ」のオペレーションを用いて設定することができる。ＭＦＰ１０１が認証にＰＩＮコードを用いたい場合、アスキー文字の数字（０ｘ３０−０ｘ３９）のみでパスワードを構成することを示す「ｉａｎａ＿ｕｓ−ａｓｃｉｉ＿ｄｉｇｉｔｓ」を指定すればよい。また、認証にパスワードを使用する場合、「ｉａｎａ＿ｕｓ−ａｓｃｉｉ＿ｃｏｍｐｌｅｘ」などを指定すればよい。
【００５５】
以上説明した通り、本実施形態によれば、装置間の通信経路が暗号化されているか否かに従って、プリントクライアントに通知する認証プリント機能の利用可否を異ならせることができる。従って、暗号化されていない通信経路上に平文のパスワードが流れることを抑制することができ、セキュリティを高めることができる。
【００５６】
また、本実施形態では、暗号化されていない通信経路を介して印刷データを受信した場合であって、尚且つ、当該印刷データに付与された認証プリント機能のパスワードがハッシュ化されていない場合は、当該印刷データを破棄する。従って、パスワードが第三者に漏洩している可能性がある印刷データに基づく印刷を行わないようにすることができる。従って、セキュリティを高めることができる。
【００５７】
＜第２の実施形態＞
第１の実施形態では、装置間の通信経路が暗号化されているか否かに従って、プリントクライアントに通知する認証プリント機能の利用可否を異ならせる仕組みについて説明した。
【００５８】
第２の実施形態のＭＦＰ１０１では、第１の実施形態に加えて、通信相手先のプリントクライアントの種別に応じて、認証プリント機能の利用可否を異ならせることについて説明する。第２の実施形態では、認証プリント機能で使用するパスワードのハッシュ化をサポートしていないプリントクライアントと、認証プリント機能で使用するパスワードのハッシュ化をサポートするプリントクライアントがあることに着目する。認証プリント機能で使用するパスワードのハッシュ化をサポートするプリントクライアントであれば、暗号化されていない通信経路で印刷データを送信する場合においても認証プリント用のパスワードがハッシュ化して送信される。即ち、パスワードのハッシュ化をサポートするプリントクライアントは、暗号化されていない通信経路上に平文でパスワードを送信しない。これを鑑み、第２の実施形態では、第１の実施形態の制御に加えて、プリントクライアントの種類やバージョンに基づきプリントクライアントに通知する認証プリント機能の利用可否を異ならせる制御を行う。
【００５９】
なお、第２の実施形態において、前提となる装置のハードウェア構成は第１の実施形態と同様である。第１の実施形態と同様の構成については、詳細な説明は省略する。
【００６０】
図７は、第１の実施形態で説明した図５のフローチャートに代えて実行されるＭＦＰ１０１における属性情報の送受信に関する処理を説明するためのフローチャートである。図５のフローチャートの各処理に加えて、Ｓ６１０に示すプリントクライアントの種類を判断する処理を追加している。
【００６１】
Ｓ７０１において、ＣＰＵ１１１は、Ｓ５０１と同様に、属性情報の取得リクエストを受信したか否かの判断を行う。属性情報の取得リクエストを受信した場合は、処理をＳ７１０に進め、属性情報の取得リクエストを受信していない場合は、処理をＳ７０２に進める。
【００６２】
Ｓ７１０において、ＣＰＵ１１１は、属性情報の取得リクエストを送信したプリントクライアントが特定の種類のクライアントであるか否かを判断する。ＣＰＵ１１１は、属性情報の取得リクエストを送信したプリントクライアントが特定の種類のクライアントであると判断した場合は、処理をＳ７０３に進める。一方、ＣＰＵ１１１は、属性情報の取得リクエストを送信したプリントクライアントが特定の種類のクライアントでないと判断した場合は、処理をＳ７０４に進める。
【００６３】
ここで、ＩＰＰにおけるプリンタの属性情報の取得リクエスト（Ｇｅｔ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓコマンド）は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）の仕組みに則って送信される。ＣＰＵ１１１は、プリンタの属性情報を取得するためのＨＴＴＰリクエストを構成するＨＴＴＰヘッダ情報を解析し、ＨＴＴＰリクエストを送信したプリントクライアントのＵｓｅｒ−Ａｇｅｎｔ情報を取得する。なお、ＨＴＴＰリクエストに含まれるＵｓｅｒ−Ａｇｅｎｔ情報は、プリントクライアントの種類やバージョンに基づき異なる情報が記載されている。続いて、ＣＰＵ１１１は、取得したＵｓｅｒ−Ａｇｅｎｔ情報に基づき、リクエストを送信したプリントクライアントが特定の種類のクライアントであるか否かを判断する。なお、特定の種類のプリントクライアントとは、事前に認証プリントのパスワードのハッシュ化をサポートしていることが確認できているといった条件を満たすクライアントであるものとする。具体的には、ＭＦＰ１０１のストレージ１１４には、パスワードのハッシュ化をサポートしていることが事前に確認できているプリントクライアントに対応するＵｓｅｒ−Ａｇｅｎｔ情報のリストが記憶されている。ＣＰＵ１１１は、取得したＵｓｅｒ−Ａｇｅｎｔ情報が当該リストに含まれている場合に、特定の種類のプリントクライアントであると判断する。一方、ＣＰＵ１１１は、取得したＵｓｅｒ−Ａｇｅｎｔ情報が当該リストに含まれていない場合に、特定の種類のプリントクライアントでないと判断する。本実施形態では、ホワイトリストを使用する場合を例示したがこれに限定されるものではない。パスワードのハッシュ化をサポートしていないことが事前に確認できているプリントクライアントに対応するＵｓｅｒ−Ａｇｅｎｔ情報をリスト化したブラックリストに基づき特定の種類のクライアントであるか否かを判断することもできる。
【００６４】
Ｓ７０２〜Ｓ７０５の処理は、第１の実施形態で説明したＳ５０２〜Ｓ５０５の処理と同様のため説明を省略する。
【００６５】
以上説明した第２の実施形態によれば、第１の実施形態の制御に加えて、通信相手先のプリントクライアントの種別に応じて、認証プリント機能の利用可否を異ならせることができるようになる。従って、認証プリント機能で使用するパスワードのハッシュ化をサポートするプリントクライアントであれば、暗号化されていない通信経路であったとしても認証プリント機能を使用することが可能になる。
【００６６】
＜その他の実施形態＞
本発明は、上述の各実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣやＦＰＧＡ）によっても実現可能である。
【符号の説明】
【００６７】
１０１  ＭＦＰ
１０２  通信装置
１１１  ＣＰＵ
【図１】
2019181865.tif 000003
【図２】
2019181865.tif 000004
【図３】
2019181865.tif 000005
【図４】
2019181865.tif 000006
【図５】
2019181865.tif 000007
【図６】
2019181865.tif 000008
【図７】
2019181865.tif 000009