(57)【特許請求の範囲】
【請求項１】
外部装置とＳＳＬ通信が可能な通信装置であって、
証明書を記憶する記憶手段と、
前記記憶手段に記憶された前記証明書から選択された前記ＳＳＬ通信に用いられる証明書がＣＡの署名がない証明書であるか、若しくは、ＣＡの署名のある証明書であるＣＡ署名証明書であるか、を判定する第１の判定手段と、
前記外部装置から前記通信装置にアクセスしたユーザが管理者であるか否かを判定する第２の判定手段と、
前記第１の判定手段により、前記ＳＳＬ通信に用いられる証明書は前記ＣＡの署名がない証明書であると判定され、かつ、前記第２の判定手段により前記ユーザが管理者でないと判定される場合、前記外部装置と前記通信装置の間の前記ＳＳＬ通信において、前記通信装置からのサービスを提供することができない旨を表示するためのエラーページを生成して前記外部装置に送信する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記第１の判定手段により、前記ＳＳＬ通信に用いられる証明書は前記ＣＡの署名がない証明書であると判定され、かつ、前記第２の判定手段により前記ユーザが管理者でないと判定される場合、前記制御手段は、前記ＣＡ署名証明書を前記通信装置にインストールするためのインストールページを前記外部装置に送信しないことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１の判定手段により、前記ＳＳＬ通信に用いられる証明書は前記ＣＡの署名がない証明書であると判定され、かつ、前記第２の判定手段により前記ユーザが管理者であると判定される場合、前記制御手段は、前記インストールページを前記外部装置に送信することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記第１の判定手段により、前記ＳＳＬ通信に用いられる証明書は前記ＣＡ署名証明書であると判定される場合、前記制御手段は、前記ユーザから要求されるコンテンツを前記外部装置に送信する、ことを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記記憶手段に記憶された前記証明書から選択された前記ＳＳＬ通信に用いられる証明書を用いた前記ＳＳＬ通信の実行が許可されると、ログインページを前記外部装置に送信する送信手段、をさらに有し、
前記第２の判定手段は、前記送信手段により送信された前記ログインページ上でログインした前記ユーザが管理者であるか否かを判定することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
証明書を記憶する記憶手段を有し、外部装置と前記ＳＳＬ通信が可能な通信装置において実行される制御方法であって、
前記記憶手段に記憶された前記証明書から選択された前記ＳＳＬ通信に用いられる証明書がＣＡの署名がない証明書であるか、若しくは、ＣＡの署名のある証明書であるＣＡ署名証明書であるか、を判定する第１の判定工程と、
前記外部装置から前記通信装置にアクセスしたユーザが管理者であるか否かを判定する第２の判定工程と、
前記第１の判定工程において、前記ＳＳＬ通信に用いられる証明書は前記ＣＡの署名がない証明書であると判定され、かつ、前記第２の判定工程において前記ユーザが管理者でないと判定される場合、前記外部装置と前記通信装置の間の前記ＳＳＬ通信において、前記通信装置からのサービスを提供することができない旨を表示するためのエラーページを生成して前記外部装置に送信する制御工程と、
を有することを特徴とする制御方法。
【請求項７】
請求項６に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＴＴＰサーバ機能を有する通信装置、制御方法およびプログラムに関する。
【背景技術】
【０００２】
画像処理装置等で動作するＨＴＴＰサーバもしくはＨＴＴＰＳサーバ（ＳＳＬをベースとしてセキュリティ機能を付加したＨＴＴＰ）は、ＨＴＴＰもしくはＨＴＴＰＳでの要求に基づいてＷｅｂページを表示する。ＨＴＴＰＳの通信には、サーバのなりすましの防止と通信路の暗号化のためにＳＳＬ（Secure Socket Layer）証明書を必要とする。この証明書がない場合、サーバはクライアントからのＨＴＴＰＳのリクエストを受けることができない。
【０００３】
更に、このＳＳＬ証明書には、認証局（ＣＡ：Certificate Authority）の署名のある証明書（以後、ＣＡ署名証明書）と、ＣＡの署名のない自己署名証明書の２つがある。そして、自己署名証明書を使用する場合はサーバのなりすましを防止することができない。そのため自己署名証明書を使用するＨＴＴＰＳサーバに接続したユーザは、サーバが提示する自己署名証明書を信用するか否かを判断しなければならない。
【０００４】
一方、ＣＡ署名証明書は高価であり、更に証明書はユーザのネットワーク上での機器のホスト名を含むため、画像処理装置等の組み込み機器の出荷時にインストールすることはできない。よって、このような組み込み機器は、メーカが作成した自己署名証明書がインストールされた状態で出荷されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１３０４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
Ｗｅｂアプリケーションが動作するサーバ側の画像処理装置等とＰＣのブラウザ間でＳＳＬ通信を行う場合、通信路の暗号化と機器のなり済ましを防止するために、サーバ側にＳＳＬ証明書が必要となる。このＳＳＬ証明書には、ＣＡ署名証明書とＣＡの署名のない自己署名証明書の２つがある。ＣＡ署名証明書は機器の情報（ホスト名など）を含むためサーバ毎にＣＡから取得する必要があり、またＣＡ署名証明書は高価である。このため、サーバ側の画像処理装置の出荷時にはＣＡ署名証明書はインストールされず、自己署名証明書がインストールされて出荷されている。これは、ＳＳＬ証明書がないとクライアントからのＳＳＬ通信を一切受けることがでないため、クライアント側のユーザにＳＳＬ証明書が存在しないことを通知することもできないためである。
【０００７】
しかし、自己署名証明書はだれもが作成できるものであるため、攻撃者が機器になりすますことを防止する役にはたたない。また通信路の暗号化には使用できるが、なりすましによって通信路を盗聴される可能性がある。そのため、安全なＳＳＬ通信を行うためにはＣＡ署名証明書をサーバ側の画像処理装置にインストールして使用する必要がある。
【０００８】
特許文献１には、自己署名証明書しかない場合、証明書のインストールページをクライアントに返す技術が記載されている。しかし、証明書のインストールページは、機器の管理者のみが使用できるべきものであるが、一般ユーザによる証明書インストールページへのアクセス制限を行うことができなかった。
【０００９】
本発明の目的は、上記従来技術の問題点を解決することにある。
【００１０】
本発明の特徴は、デフォルトの自己署名証明書しかない場合、証明書のインストールページを管理者のみに返し、一般ユーザに対してはエラーメッセージを返すことができる技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明の一態様に係る通信装置は以下のような構成を備える。即ち、外部装置とＳＳＬ通信が可能な通信装置であって、証明書を記憶する記憶手段と、前記記憶手段に記憶された前記証明書から選択された前記ＳＳＬ通信に用いられる証明書がＣＡの署名がない証明書であるか、若しくは、ＣＡの署名のある証明書であるＣＡ署名証明書であるか、を判定する第１の判定手段と、前記外部装置から前記通信装置にアクセスしたユーザが管理者であるか否かを判定する第２の判定手段と、前記第１の判定手段により、前記ＳＳＬ通信に用いられる証明書は前記ＣＡの署名がない証明書であると判定され、かつ、前記第２の判定手段により前記ユーザが管理者でないと判定される場合、前記外部装置と前記通信装置の間の前記ＳＳＬ通信において、前記通信装置からのサービスを提供することができない旨を表示するためのエラーページを生成して前記外部装置に送信する制御手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、管理者のみにＣＡ署名証明書のインストールページを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係るＨＴＴＰサーバを含むネットワークシステムの構成を示すブロック図。
【図２】実施形態に係るＨＴＴＰサーバのＨＤＤに記憶されている情報を説明する図。
【図３】従来のＨＴＴＰサーバでＳＳＬ証明書がない場合の処理（Ａ）と、デフォルト証明書として自己署名証明書を持つ場合にリクエストを受けた時の処理（Ｂ）の概略を示す図。
【図４】図３（Ａ）に対応するブラウザの画面例を説明する図。
【図５】本実施形態に係るＨＴＴＰサーバの起動時の処理を説明するフローチャート。
【図６】ブラウザからのリクエストがあったときの本実施形態に係るＨＴＴＰサーバ１０２の処理を説明するフローチャート。
【図７】本実施形態に係る処理の流れを説明するシーケンス図。
【図８】実施形態に係る図６の処理に対応して、ブラウザで表示される画面例を示す図。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
図１は、本実施形態に係るＨＴＴＰサーバ１０２（ＨＴＴＰサーバ機能を有する通信装置）を含むネットワークシステムの構成を示すブロック図である。
【００１６】
ＨＴＴＰサーバ１０２は、ネットワーク１０１を介してクライアントであるＰＣ１０８と接続され、これらの間でＨＴＴＰ通信を行う。ＨＴＴＰサーバ１０２は、ネットワークアダプタ１０４、ＣＰＵ１０５、メモリ１０６、ＨＤＤ（ハードディスクドライブ）１０７を有し、これらはバス１０３を介して接続されている。ネットワークアダプタ１０４は、ネットワーク１０１を介して他の機器との通信を制御する。ＣＰＵ１０５は、メモリ１０６に記憶されたプログラムを実行してＨＴＴＰサーバ１０２全体の動作を制御するとともに、ＨＴＴＰの処理やＳＳＬの暗号化等を行う。メモリ１０６はＣＰＵ１０５により実行されるプログラムを記憶しており、またＣＰＵ１０５がデータの処理を行う際に必要なワークメモリを提供している。ＨＤＤ１０７は、ＣＰＵ１０５が実行するＨＴＴＰサーバプログラムやＨＴＭＬなどのＷｅｂコンテンツを保持している。
【００１７】
図２は、実施形態に係るＨＴＴＰサーバ１０２のＨＤＤ１０７に記憶されている情報を説明する図である。
【００１８】
ＨＤＤ１０７には、ＨＴＴＰサーバプログラム２０１、ログインサービスのプログラム２０２、エラーページのプログラム２０３、Ｗｅｂコンテンツ２０４、ＣＡ署名証明書インストールページのプログラム２０５が記憶されている。更に、デフォルト証明書の情報を記憶するデフォルト証明書記憶部２０６、ＣＡ署名証明書の情報を記憶するＣＡ署名証明書記憶部２０７が設けられている。
【００１９】
図３（Ａ）（Ｂ）は、ＨＴＴＰサーバでＳＳＬ証明書がない場合の処理（Ａ）と、デフォルト証明書として自己署名証明書を持つ場合にリクエストを受けた時の処理（Ｂ）の概略を示す図である。
【００２０】
図３（Ａ）に示す証明書がない場合は、ＰＣ３０１からＨＴＴＰサーバ３０２にリクエストが来てもＨＤＤ３０３に証明書が保存されていない。このため、３０５で示すようにＳＳＬ通信を行うことができない。そのためＰＣ３０１で動作するブラウザは、通信エラーをユーザに対して提示する。この場合、ＰＣ３０１にエラーレスポンスが返送されないため、ＰＣ３０１のユーザは、３０４に示すように、証明書がないために通信できないのか、或いは通信中にエラーが発生したのかといった、通信ができない理由を知ることができない。
【００２１】
図３（Ｂ）は、デフォルト証明書として自己署名証明書を持つ実施形態に係るＨＴＴＰサーバ１０２の場合を示す。ＰＣ１０８はＨＴＴＰサーバ１０２にＨＤＤ１０７に保存されているデフォルト証明書３１０を使用したＳＳＬ通信によりリクエストを送信する（３１１）。そのときのブラウザの画面例を、図４の４０１に示す。
【００２２】
図４は、図３（Ａ）に対応するブラウザの画面例を説明する図である。
【００２３】
次にＨＴＴＰサーバ１０２は、デフォルト証明書３１０を使用したＳＳＬ通信により、リクエストに対するレスポンスを送信する（３１２）。するとブラウザでは、図４の４０２で示すダイアログを表示し、ユーザに対してＣＡの署名のないデフォルト証明書を信頼して通信を継続するかどうかの判断を要求する（３１３）。
【００２４】
ここでユーザがデフォルト証明書を信頼すると判断すると、リクエストしたＷｅｂコンテンツがログインの必要なものであれば、図４の４０３に示すように、ＨＴＴＰサーバ１０２へのログインするための画面を表示する。そしてこの画面を使用してログインに成功すれば、図４の４０４で示すように、Ｗｅｂコンテンツの表示を行う。尚、ログインが不要なコンテンツの場合は、図４の４０３をスキップして直接、４０４で、Ｗｅｂコンテンツを表示する。
【００２５】
図５は、本実施形態に係るＨＴＴＰサーバ１０２の起動時の処理を説明するフローチャートである。この処理はメモリ１０６に格納されたプログラムをＣＰＵ１０５が実行することにより実現される。
【００２６】
Ｓ５０１で、ＨＴＴＰサーバ１０２が起動するとＳ５０２に進み、ＨＤＤ１０７のデフォルト証明書記憶部２０６及びＣＡ署名証明書記憶部２０７から、選択されているＳＳＬ証明書の情報を取得する。次にＳ５０３に進み、その取得したＳＳＬ証明書の情報から、その証明書が自己署名証明書（即ち、ＣＡ署名証明書でない）であるデフォルト証明書であるか否かを判定する。ここでデフォルト証明書であると判定するとＳ５０４に進み、デフォルト証明書フラグ（メモリ１０６に設けられている）をオンに設定して、この起動処理を終了する。一方、Ｓ５０３で、デフォルト証明書でない（即ち、ＣＡ署名証明書である）と判断するとＳ５０４をスキップ（デフォルト証明書フラグをオフ）して起動処理を終了する。
【００２７】
図６は、ブラウザからのリクエストがあったときの本実施形態に係るＨＴＴＰサーバ１０２の処理を説明するフローチャートである。この処理はメモリ１０６に格納されたプログラムをＣＰＵ１０５が実行することにより実現される。
【００２８】
また図８は、実施形態に係る図６の処理に対応して、ブラウザで表示される画面例を示す図である。
【００２９】
この処理は、ＰＣ１０８のブラウザからＨＴＴＰサーバ１０２にリクエストが発行されることにより開始され、まずＳ６０１で、そのリクエストを受信する。このときブラウザは、図８の８０２で示すダイアログを表示し、ユーザに対してＣＡの署名のないデフォルト証明書を信頼して通信を継続するかどうかの判断を要求する。尚、図８の８０１は、図６の処理が開始されるときのブラウザの初期画面を示す。次にＳ６０２に進み、ＨＴＴＰサーバ１０２は、メモリ１０６のデフォルト証明書フラグを取得し、Ｓ６０３で、そのデフォルト証明書フラグがオンかどうかを判定する。ここでデフォルト証明書フラグがオフであるとＣＡ署名証明書が使用されているのでＳ６０４に進んで、通常のＨＴＴＰレスポンス処理を実行する。即ち、Ｓ６０４では、通常のＨＴＴＰリクエストに対する処理を行い、Ｓ６０５で、要求されたＷｅｂコンテンツをレスポンスとして送信して、このレスポンス処理を終了する。
【００３０】
一方Ｓ６０３で、デフォルト証明書フラグがオンであればＳ６０７に進み、ログインセッション情報を取得する。次にＳ６０８に進み、有効なログインセッションが取得されたか否かを判定する。ここで有効なログインセッションが取得できていなければＳ６１４に進み、図８の８０３のようなログインページを送信して、このＨＴＴＰリクエスト・レスポンス処理を終了する。
【００３１】
即ち、レスポンスを受信したブラウザは、図８の８０３で示すログインページを表示してユーザのログインを待つ。ここでユーザが、ユーザＩＤとパスワードを入力してログインが行われると、ブラウザは、再度ＨＴＴＰサーバ１０２にリクエストを送信する。これによりＳ６０１からの処理が実行される。
【００３２】
一方、Ｓ６０８で、ログインセッションが有効であると判定するとＳ６０９に進み、ログインセッション情報に基づいて、ログインしたユーザが管理者であるか、一般ユーザであるかを判定する。ここでログインユーザが、一般ユーザであると判定するとＳ６１２に進み、エラーページを生成する。そして次にＳ６１３に進み、Ｓ６１２で生成したエラーページをレスポンスとしてＰＣ１０８に送信して、このＨＴＴＰリクエスト・レスポンス処理を終了する。
【００３３】
このエラーレスポンスを受信したブラウザは、例えば図８の８０５のようなエラーページを表示する。
【００３４】
図８の８０５では、信頼できないデフォルト証明書が使用されているのでサービスを提供することができない旨が表示される。
【００３５】
一方Ｓ６０９で、ログインユーザ管理者であればＳ６１０に進み、ＣＡ署名証明書インストールページを生成する。次にＳ６１１に進み、Ｓ６１０で生成したＣＡ署名証明書インストールページを、レスポンスとしてＰＣ１０８に送信して、このＨＴＴＰリクエスト・レスポンス処理を終了する。
【００３６】
このレスポンスを受信したブラウザは、図８の８０４のようなＣＡ署名証明書インストールページを表示する。
【００３７】
図７は、本実施形態に係る処理の流れを説明するシーケンス図である。
【００３８】
図７において、ＨＴＴＰサーバ１０２は、Ｗｅｂコンテンツ７０１、ログインサービス７０２、ＣＡ署名証明書インストールページ７０３、エラーページ７０４のオブジェクトを有している。これらのオブジェクトはＨＤＤ１０７（図２）に保存されており、実行時にメモリ１０６にロードされる。
【００３９】
まず７０５で、ＰＣ１０８からＨＴＴＰサーバ１０２に対してリクエストメッセージが送信される。ここでＨＴＴＰサーバ１０２に登録されているＳＳＬ証明書を判別し、その証明書がＣＡ署名証明書である場合、７０６で、ＨＴＴＰサーバ１０２はＷｅｂコンテンツ７０１に対してリクエスト処理メッセージを送信する。Ｗｅｂコンテンツ７０１は、このリクエストの内容を処理してレスポンスデータを生成し、７０７で、ＨＴＴＰサーバ１０２に対してレスポンスメッセージを返信する。そしてＨＴＴＰサーバ１０２は、７０８で、この受け取ったレスポンスメッセージをレスポンスメッセージとしてＰＣ１０８に送信する。
【００４０】
一方、ＨＴＴＰサーバ１０２に登録されているＳＳＬ証明書がデフォルト証明書だけである場合は、７０５で、ＨＴＴＰサーバ１０２はＰＣ１０８からリクエストメッセージを受信する。このときは７０９で、ＨＴＴＰサーバ１０２は、ログインサービス７０２に対してログインセッションチェックメッセージを送信する。そしてログインサービス７０２は、７１０で、ログインセッション情報をＨＴＴＰサーバ１０２に返信する。
【００４１】
ここでログインしていない場合は、無効なログインセッションがログインサービス７０２から返されるため、ＨＴＴＰサーバ１０２は、７１１で、ログインサービス７０２に対してログイン処理リクエストメッセージを送信する。このときログインサービス７０２は、７１２で、ログインレスポンスとしてログインページを返信し、ＨＴＴＰサーバ１０２は、７１３で、ログインページメッセージ（図８の８０３に相当）をＰＣ１０８に返信する。
【００４２】
一方、ユーザがログインを行うと、７０５で、ＰＣ１０８からリクエストメッセージ７０５がＨＴＴＰサーバ１０２に送信される。ＨＴＴＰサーバ１０２は、そのログインしたユーザが管理者であるか、一般ユーザであるかを判定する。ログインユーザが管理者である場合、７１４で、ＨＴＴＰサーバ１０２は、ＣＡ署名証明書インストールページ７０３に対して証明書インストールページリクエストを送信する。これによりＣＡ署名証明書インストールページ７０３はインストールページを生成し、７１５で、ＨＴＴＰサーバ１０２にインストールページを返信する。そしてＨＴＴＰサーバ１０２は、７１６で、ＰＣ１０８に対してＣＡ署名証明書インストールページ（図８の８０４に相当）を返信して応答する。
【００４３】
一方、ログインユーザが一般ユーザである場合は、７１７で、ＨＴＴＰサーバ１０２はエラーページ７０４に対してエラーページリクエストを送信する。これによりエラーページ７０４はエラーページを生成し、７１８で、ＨＴＴＰサーバ１０２にエラーページを返信する。そしてＨＴＴＰサーバ１０２は、７１９で、ＰＣ１０８に対してエラーページレスポンス（図８の８０５に相当）を返信してエラー応答する。尚、このエラーページレスポンスでは、管理者の呼び出しページを返送しても良い。
【００４４】
ＨＴＴＰサーバ１０２の管理者は、ＣＡ署名証明書インストールページ（図８の８０４）でＣＡ署名証明書をインストールするとＨＴＴＰサーバ１０２を再起動する。これによりＨＴＴＰサーバ１０２では、ＣＡ署名証明書を使用したＳＳＬ通信が可能になる。
【００４５】
以上説明したように本実施形態によれば、自己署名証明書のみをもつＨＴＴＰＳサーバにアクセスしたユーザに対して、ＨＴＴＰＳサーバはセキュリティ的に問題のあるサーバであることを明示できる。
【００４６】
更に、実施形態によれば、サーバの管理者のみに対してのみＣＡ署名証明書のインストールページを提供することを可能とする。
【図１】
0005969756.tif 000002
【図２】
0005969756.tif 000003
【図３】
0005969756.tif 000004
【図４】
0005969756.tif 000005
【図５】
0005969756.tif 000006
【図６】
0005969756.tif 000007
【図７】
0005969756.tif 000008
【図８】
0005969756.tif 000009