(57)【要約】【課題】  セキュリティ保護された通信を行う情報処理装置、該情報処理装置を実現するためのプログラム、および該プログラムを格納する記録媒体を提供すること。【解決手段】  本情報処理装置１１０は、ネットワーク１０２を介して外部装置１５０と通信する情報処理装置であり、当該情報処理装置が対応している複数のセキュア通信方式を管理する管理手段１１８と、使用するセキュア通信方式の選択基準を規定する選択基準情報を記憶する記憶手段１２０と、選択基準情報に条件付けられる基準指標値を取得する取得手段１２２，１２６，１２８と、外部装置１５０との通信単位毎に、上記選択基準情報と、取得された基準指標値とに基づいて、当該情報処理装置１１０が使用するセキュア通信方式を選択する選択手段１１６とを含む。【選択図】  図２
2013258566.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部装置と通信する情報処理装置であって、
当該情報処理装置が対応している複数のセキュア通信方式を管理する管理手段と、
使用するセキュア通信方式の選択基準を規定する選択基準情報を記憶する記憶手段と、
前記選択基準情報に条件付けられる基準指標値を取得する取得手段と、
前記外部装置との通信単位毎に、前記選択基準情報と、取得された前記基準指標値とに基づいて、当該情報処理装置が使用するセキュア通信方式を選択する選択手段と
を含む、情報処理装置。
【請求項２】
前記取得手段は、前記基準指標値として、前記通信単位の通信時のデータ転送時間に関連する値および前記通信単位の通信で伝送するデータに設定されたセキュリティ属性値の少なくとも１つの値を取得する、請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、前記基準指標値として、前記通信単位の通信時のネットワークのトラフィック量を取得し、前記選択手段は、より大きな前記トラフィック量に対してより低いセキュリティ強度を有するセキュア通信方式を選択する、請求項１または２に記載の情報処理装置。
【請求項４】
前記取得手段は、前記基準指標値として、前記通信単位の通信で伝送するデータのデータサイズを取得し、前記選択手段は、より大きな前記データサイズに対してより低いセキュリティ強度を有するセキュア通信方式を選択する、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記取得手段は、前記基準指標値として、前記通信単位の通信で伝送するデータに設定された機密度を取得し、前記選択手段は、より高い機密度に対してより高いセキュリティ強度を有するセキュア通信方式を選択する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記選択基準情報は、複数の基準指標値の組み合わせに対して条件付けており、
前記取得手段は、それぞれが、前記基準指標値として、前記通信単位の通信時のネットワークのトラフィック量、前記通信単位の通信で伝送するデータのデータサイズ、または前記通信単位の通信で伝送するデータに設定された機密度を取得する複数の手段を含み、
前記選択手段は、前記選択基準情報と、取得された複数の基準指標値とに基づいて、当該情報処理装置が使用するセキュア通信方式を選択する、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記複数の基準指標値のうちの第１の基準指標値が、前記機密度であり、前記複数の基準指標値のうちの第２の基準指標値が、前記トラフィック量または前記データサイズであり、前記選択手段は、第１の機密度に対して第１のセキュリティ強度を有するセキュア通信方式を選択し、第１の機密度よりも低い機密度に対しては、より大きな前記トラフィック量または前記データサイズに対してより低いセキュリティ強度を有するセキュア通信方式を選択する、請求項６に記載の情報処理装置。
【請求項８】
前記複数の基準指標値のうちの第１の基準指標値が、前記トラフィック量であり、前記複数の基準指標値のうちの第２の基準指標値が、前記データサイズであり、前記選択手段は、より大きな前記トラフィック量に対してより低いセキュリティ強度を有するセキュア通信方式を候補として選び、より大きな前記データサイズに対してより低いセキュリティ強度を有するセキュア通信方式を候補として選び、前記基準指標値間に設定された優先度に従い、前記トラフィック量に応じて選ばれた候補および前記データサイズに応じて選ばれた候補のいずれかを選択する、請求項６に記載の情報処理装置。
【請求項９】
コンピュータを、
当該情報処理装置が対応している複数のセキュア通信方式を管理する管理手段、
使用するセキュア通信方式の選択基準を規定する選択基準情報を記憶する記憶手段、
前記選択基準情報に条件付けられる基準指標値を取得する取得手段、および
ネットワークを介して通信する外部装置との通信単位毎に、前記選択基準情報と、取得された前記基準指標値とに基づいて、当該情報処理装置が使用するセキュア通信方式を選択する選択手段
として機能させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを格納するコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラムおよび記録媒体に関し、より詳細には、セキュリティ保護された通信を行う情報処理装置、該情報処理装置を実現するためのプログラム、および該プログラムを格納する記録媒体に関する。
【背景技術】
【０００２】
クライアントがサーバにサービスを要求し、サーバがクライアントの要求に応じてサービスを提供する、いわゆるクライアント−サーバ・モデルの情報処理システムにおいて、クライアントおよびサーバ間のデータ通信を暗号化する技術が知られている。上記クライアント−サーバ・モデルにおける暗号通信技術は、例えばＲＦＣ５２４６で規格化されている（非特許文献１）。上記暗号通信技術は、ＳＳＬ（Secure Socket Layer）あるいはＴＬＳ（Transport Layer Security）プロトコルとして広く知られており、ＨＴＴＰ（HyperText Transfer Protocol）、ＬＤＡＰ（Lightweight Directory Access Protocol）、ＳＭＴＰ（Simple Mail Transfer Protocol）、ＸＭＰＰ（eXtensible Messaging and Presence Protocol）などのアプリケーション層のプロトコル通信を暗号化する用途で使用されている。
【０００３】
典型的には、クライアントおよびサーバは、それぞれ複数の暗号アルゴリズムおよび鍵長をサポートしており、上述したＳＳＬ／ＴＬＳでは、双方で対応する暗号アルゴリズムおよび鍵長の中で最も暗号強度が高いものが選択される。あるいは、暗号強度が最高のものではなくても、サーバ側で任意の暗号アルゴリズムおよび鍵長を設定し、既定の暗号アルゴリズムおよび鍵長を使用させる場合もある。このような場合は、いずれの暗号アルゴリズムおよび鍵長が、どのような理由で選択されたのかにかかわらず、同一クライアントおよびサーバ間では、同一の暗号アルゴリズムおよび鍵長を用いた暗号化通信が行われ、暗号通信方式が固定されてしまう。
【０００４】
上述したような暗号アルゴリズムまたは暗号モジュールの固定化に対処すべく、特開２００９−０８９０４５号公報（特許文献１）は、暗号モジュールにその機能および性能を記述した暗号評価情報を紐付けし、指定条件に対して、このデータを参照して出力する暗号モジュール選定手順を開示する。特許文献１では、（１）脆弱性が発見された暗号アルゴリズムを使用せず別の方式のものに切り替えたり、（２）同じアルゴリズムで複数ある異なる実装の中から処理速度を優先して実装モジュールを選択したり、（３）消費メモリ量が少ない実装モジュールを優先して選択したり、または（４）特定のベンダの実装モジュールを優先して選択するというように、条件に基づいて暗号モジュールを選択することができる。
【０００５】
また、特開２００７−２５１４９２号公報（特許文献２）は、あらかじめ記憶されているセキュリティ関連情報に基づいてセキュリティ通信を実現した通信装置を開示する。特許文献２の通信装置は、上記セキュリティ関連情報が不正であるか有効であるかを判断する判断手段を備え、上記判断手段により判断処理を、送信動作の進行状況に応じて複数回行うようにしたことを特徴としている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
通信の状況によっては、通信速度を優先させたい場合や、暗号強度を優先させたい場合がある。しかしながら、上述した通り、非特許文献１の従来技術では、使用する暗号アルゴリズムおよび鍵長を明示的に設定してしまうと、クライアントおよびサーバ間で暗号アルゴリズムおよび鍵長が固定されてしまうため、状況に合わせて柔軟に対応することができず、充分ではなかった。
【０００７】
上記特許文献１の従来技術では、所定の状況に応じて暗号モジュールを変更することができるものの、上記所定の状況は、暗号方式の危殆化、バグの発見、装置の高速化などの静的な状況に合わせて対応できるに止まり、通信毎に変化する状況に合わせて柔軟に対応することができず、充分なものではなかった。特許文献２の従来技術も同様に、通信毎に変化する状況に合わせて柔軟に対応することができず、充分なものではなかった。
【０００８】
本発明は、上記従来技術における問題点に鑑みてなされたものであり、本発明は、通信単位毎に変化し得る状況に柔軟に対応してセキュア通信方式を選択し、セキュリティ保護された通信を行う情報処理装置、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、上記課題を解決するために、下記特徴を有する情報処理装置を提供する。本情報処理装置は、ネットワークを介して外部装置と通信する情報処理装置であり、当該情報処理装置が対応している複数のセキュア通信方式を管理する管理手段と、使用するセキュア通信方式の選択基準を規定する選択基準情報を記憶する記憶手段と、上記選択基準情報に条件付けられる基準指標値を取得する取得手段と、外部装置との通信単位毎に、上記選択基準情報と、取得された前記基準指標値とに基づいて、当該情報処理装置が使用するセキュア通信方式を選択する選択手段とを含む。
【発明の効果】
【００１０】
上記構成によれば、通信単位毎に変化し得る状況に柔軟に対応してセキュア通信方式を選択し、セキュリティ保護された通信を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態によるサーバ装置およびクライアント装置が接続されるネットワーク環境の概略図。
【図２】本実施形態によるサーバ装置およびクライアント装置上で実現される機能ブロック図。
【図３】本実施形態によるサーバ装置およびクライアント装置間で実行される処理を示すシーケンス図。
【図４】本実施形態によるサーバ装置が実行する暗号通信方式の選択処理を示すフローチャート。
【図５】本実施形態で参照される暗号通信方式選択基準ポリシのデータ構造を例示する図。
【図６】本実施形態によるサーバ装置が実行する、暗号通信方式の候補を取得する処理を示すフローチャート。
【図７】本実施形態で参照される複数の基準指標が条件付けられたポリシのデータ構造を例示する図。
【図８】（Ａ）データ転送速度に対して基準指標値を対応付けるテーブルおよび（Ｂ）文書管理部で管理される管理テーブルのデータ構造を例示する図。
【図９】本実施形態によるサーバ装置のハードウェア構成図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下の説明では、ネットワークを介して外部装置とセキュア通信を行う情報処理装置として、ネットワークを介してクライアント装置と暗号通信を行うサーバ装置を一例として説明する。
【００１３】
図１は、本実施形態によるサーバ装置１１０およびクライアント装置１５０が接続されるネットワーク環境１００を例示する図である。図１に示すように、サーバ装置１１０およびクライアント装置１５０は、インターネットやＬＡＮ（Local Area Network）などを含み構成されたネットワーク１０２を介して、相互に接続される。クライアント−サーバ型システムにおいて、サーバ装置１１０は、クライアントからの要求に応答してサービスを提供するサーバであり、クライアント装置１５０は、サーバに対してサービスを要求するクライアントである。
【００１４】
説明する実施形態においては、サーバ装置１１０は、ＨＴＴＰ（HyperText Transfer Protocol）によるウェブ・サーバ機能を備え、クライアント装置１５０からのＨＴＴＰリクエストを受信し、リクエストを処理して、クライアント装置１５０へＨＴＴＰレスポンスを送信する。クライアント装置１５０は、ブラウザなどを実装しており、当該クライアント装置１５０の操作者からの入力操作に応答して、ＵＲＬで指定されるサーバ装置１１０に対してＨＴＴＰリクエストを送信し、サーバ装置１１０からのＨＴＴＰレスポンスを受信し、受信したデータをブラウザ上に表示する。
【００１５】
図１に示すネットワーク環境１００には、さらに、ネットワーク１０２を介してサーバ装置１１０に接続されたトラフィック量測定用装置１７０が設けられている。トラフィック量測定用装置１７０は、詳細は後述するが、ネットワーク１０２のトラフィックの混雑具合を定量するためにサーバ装置１１０が通信する相手方装置である。
【００１６】
上記クライアント装置１５０およびサーバ装置１１０間の通信は、データが平文で伝送される非暗号通信およびデータが暗号化されて伝送される暗号通信のいずれかによって行われる。説明する実施形態において、非暗号通信は、ＨＴＴＰプロトコルによる通信であり、暗号通信は、ＨＴＴＰｓ（HTTP over SSL/TLS）プロトコルによる通信である。しかしながら、非暗号通信および暗号通信は、特に限定されるものではなく、他の実施形態では、ＳＭＴＰ、ＸＭＰＰ、ＬＤＡＰ、ＰＯＰ（Post Office Protocol）、ＩＭＡＰ（Internet Message Access Protocol）またはＦＴＰ（File Transfer Protocol）などのアプリケーション層プロトコルを非暗号通信とし、ＳＳＬ／ＴＬＳなどの下位セキュア通信プロトコルを用いる対応アプリケーション層プロトコル（ＳＭＴＰｓ（SMTP over SSL/TLS）など）を暗号通信としてもよい。
【００１７】
本実施形態によるサーバ装置１１０は、クライアント装置１５０との間で確立する暗号通信について、時々刻々と変化する状況または通信毎に変化する動的な状況に対応して、暗号通信で使用する暗号通信方式を動的に選択する機能を備える。以下、図２〜図８を参照しながら、本実施形態によるサーバ装置１１０およびクライアント装置１５０間で行われる、動的な状況に対応して暗号通信を確立し暗号通信によるデータ伝送を行うまでの処理について説明する。
【００１８】
図２は、本実施形態によるサーバ装置１１０およびクライアント装置１５０上に実現される機能ブロックを示す図である。図２に示すクライアント装置１５０は、通信部１５２と、暗号通信部１５４と、ブラウザ１６０とを含む。通信部１５２は、ＴＣＰ（Transmission Control Protocol/Internet Protocol）／ＩＰ（Internet Protocol）プロトコル・スタックを備えており、ＴＣＰ／ＩＰ通信を行うための通信手段である。暗号通信部１５４は、ＳＳＬ／ＴＬＳプロトコルなどの暗号通信機能を実装し、通信部１５２およびブラウザ１６０間で動作して、暗号通信を実現する。
【００１９】
ブラウザ１６０は、ＨＴＴＰクライアントであり、指定されたＵＲＬのスキーム名に基づいてプロトコルを判断し、非暗号通信プロトコルが指定される場合には、暗号通信部１５４を使用せず、直接、通信部１５２を介してサーバと通信する。ブラウザ１６０は、一方で、暗号通信プロトコルが指定される場合には、暗号通信部１５４を呼び出して、暗号通信部１５４を経由して、通信部１５２を介してサーバと通信する。
【００２０】
暗号通信部１５４は、暗号化／復号部１５６と、折衝部１５８とを含む。折衝部１５８は、ブラウザ１６０からの呼び出しに応答して、暗号通信方式に関してサーバ装置１１０とネゴシエーションを行い、暗号通信で使用する暗号通信方式を決定し、さらに共通鍵を交換する。暗号化／復号部１５６は、折衝部１５８により決定された暗号通信方式で、交換された共通鍵を用いて暗号通信によりデータ送受信を行う。暗号化／復号部１５６は、より具体的には、ブラウザ１６０からのリクエストを暗号化し、通信部１５２を介してサーバ装置１１０へ暗号化されたリクエストを送信する。暗号化／復号部１５６は、通信部１５２を介して受信したサーバ装置１１０からの暗号化されたレスポンスを復号して、ブラウザ１６０へ復号したレスポンスを渡す。
【００２１】
これに対して、図２に示すサーバ装置１１０は、通信部１１２と、暗号化／復号部１１４と、暗号通信方式選択部１１６と、暗号通信方式管理部１１８と、暗号通信方式選択ポリシ格納部１２０と、ネットワークトラフィック量取得部１２２と、文書管理部１２４と、機密度取得部１２６と、データサイズ取得部１２８と、ウェブ・サーバ部１３０とを含む。通信部１１２は、ＴＣＰ／ＩＰプロトコル・スタックを備えており、ＴＣＰ／ＩＰ通信を行うための通信手段である。暗号化／復号部１１４、暗号通信方式選択部１１６、暗号通信方式管理部１１８、暗号通信方式選択ポリシ格納部１２０、ネットワークトラフィック量取得部１２２、機密度取得部１２６およびデータサイズ取得部１２８は、本実施形態による暗号通信機能を実装し、ウェブ・サーバ部１３０および通信部１１２間で暗号通信を実現する。
【００２２】
説明する実施形態では、ブラウザ１６０から受信するリクエストについて、暗号通信または非暗号通信であるかは、異なるポート番号を割り当てることにより区別される。非暗号通信に対応したポート番号で受けたリクエストは、直接ウェブ・サーバ部１３０へ渡される。一方、暗号通信に対応したポート番号で受けたリクエストは、暗号化／復号部１１４を経由して、ウェブ・サーバ部１３０へ渡される。
【００２３】
暗号化／復号部１１４は、クライアント装置１５０の折衝部１５８からのリクエストを受信すると、暗号通信方式選択部１１６に問い合わせる。暗号通信方式選択部１１６は、問い合わせに対応して、暗号通信方式に関してクライアント装置１５０とネゴシエーションを行い、詳細は後述するが、暗号通信で使用する暗号通信方式を決定し、さらに共通鍵を交換する。
【００２４】
暗号化／復号部１１４は、暗号通信方式選択部１１６により返却された暗号通信方式により、交換された共通鍵を用いて暗号通信によりデータ送受信を行う。暗号化／復号部１１４は、より具体的には、通信部１１２を介して受信したクライアント装置１５０からの暗号化されたリクエストを復号して、復号したリクエストを上位のウェブ・サーバ部１３０へ渡す。暗号化／復号部１１４は、ウェブ・サーバ部１３０から渡されたレスポンスを暗号化し、通信部１１２を介してクライアント装置１５０へ暗号化されたレスポンスを送信する。
【００２５】
暗号通信方式管理部１１８は、当該サーバ装置１１０が対応している使用可能な暗号通信方式を管理する管理手段である。暗号通信方式は、説明する実施形態においては、暗号アルゴリズムおよびその鍵長の組み合わせとして構成される。なお、ここでは、暗号アルゴリズムおよび鍵長で指定される暗号通信方式を選択の対象とするが、他の実施形態では、データ完全性を保証するメッセージ認証コード・アルゴリズムおよびその長さを指定する他のセキュア通信方式を選択の対象としてもよい。
【００２６】
当該サーバ装置１１０が対応できる暗号通信方式の暗号アルゴリズムとしては、代表的なものとして、３ＤＥＳ（Triple Data Encryption Standard）、ＲＣ４、（Rivest Cipher 4）、ＡＥＳ（Advanced Encryption Standard）を挙げることができるが、その他、ＩＤＥＡ（International Data Encryption Algorithm）、ＤＥＳ、ＲＣ２、ＲＣ５、ＲＣ６、ＣＡＳＴ−１２８、ＣＡＳＴ−２５６、Ｃａｍｅｌｌｉａ、ＳＥＥＤなどの他の共通鍵暗号方式を挙げることができる。鍵長としては、代表的なものとして１２８ビットおよび２５６ビットを挙げることができるが、他のビット長のものを妨げるものではない。
【００２７】
暗号通信方式選択ポリシ格納部１２０は、使用する暗号通信方式の選択基準を規定する暗号通信方式選択ポリシ（以下、単にポリシと参照する。）を記憶する記憶手段である。上記暗号通信方式選択部１１６は、クライアント装置１５０との所定の通信単位毎に、上記ポリシに基づいて、当該サーバ装置１１０が使用する暗号通信方式を選択する。上記暗号通信方式選択部１１６は、上記ポリシを参照し、まず何を基準指標として暗号通信方式を選択するかを決定する。ネットワークトラフィック量取得部１２２、機密度取得部１２６およびデータサイズ取得部１２８は、それぞれ、上記ポリシに条件付けられる基準指標の値を取得する取得手段である。暗号通信方式の選択が行われる上記所定の通信単位は、例えば、セッションや、ファイルなどの所定のデータを伝送する間の通信の単位である。
【００２８】
上記暗号通信方式選択部１１６は、条件付けられる基準指標に対応した取得部１２２，１２６，１２８に問い合わせて、上記基準指標の値を取得し、暗号通信方式選択ポリシ格納部１２０に格納されるポリシと、取得された基準指標値とに基づいて、クライアント装置１５０との通信において当該サーバ装置１１０が使用する暗号通信方式を選択する。上記暗号通信方式選択部１１６は、さらに、選択した暗号通信方式が当該サーバ装置１１０で使用可能であるかを暗号通信方式管理部１１８に問い合わせて、またクライアント装置１５０で使用可能な暗号通信方式を考慮して、最終的に使用する暗号通信方式を決定し、暗号化／復号部１１４に渡す。使用可能であった場合には、選択された暗号通信方式に決定され、一方、使用不可であった場合には、例えば既定値の暗号通信方式に決定することができる。
【００２９】
ネットワークトラフィック量取得部１２２およびデータサイズ取得部１２８は、上述した基準指標値として、通信単位の通信時のデータ転送時間に関連する値を取得する。ネットワークトラフィック量取得部１２２は、より具体的には、データ転送時間に関連する値として、通信単位の通信時のネットワーク１０２のトラフィック量を取得する。トラフィック量は、ネットワーク１０２の当該サーバ装置１１０と同一のネットワーク・セグメント内に配置されたトラフィック量測定用装置１７０に対し所定サイズのデータの送受信し、転送にかかった所要時間から計算することができる。
【００３０】
文書管理部１２４は、サーバ装置１１０がクライアント装置１５０へ提供する文書ファイルを保管する場所であり、内部に文書ファイルのデータサイズや機密度などの属性値を管理する管理テーブルを備える。データサイズ取得部１２８は、文書管理部１２４の管理テーブルを検索して、データ転送時間に関連する値として、通信単位の通信で伝送しようとしている文書ファイルのデータサイズを取得する。
【００３１】
機密度取得部１２６は、文書管理部１２４の管理テーブルを検索して、通信単位の通信で伝送しようとしている文書ファイルに設定された機密度を取得する。ここで、機密度とは、セキュリティのレベルを規定するセキュリティ属性値であり、秘匿性、重要度、データの種類（個人情報と非個人情報の別など）などとも呼ばれる、データの機密度を指標する値である。なお、サーバ装置１１０がクライアント装置１５０へ提供しようする文書ファイルは、文書識別子などで識別され、あらかじめクライアント装置１５０に案内されたＵＲＬ等のアクセス情報に基づき、ＳＳＬ／ＴＬＳのネゴシエーション時に、文書ファイルを要求するブラウザ１６０が該文書ファイルの文書識別子を暗号通信部１５４に渡すことによって、暗号通信のハンドシェイク時にサーバ装置１１０側で該文書ファイルを特定することができるようになる。
【００３２】
上記暗号通信方式選択部１１６は、上記ポリシに基づき、より大きなトラフィック量に対して、より低い暗号強度を有する暗号通信方式を選択することができる。あるいは、上記暗号通信方式選択部１１６は、より大きなファイルのデータサイズに対して、より低い暗号強度を有する暗号通信方式を選択することができる。これにより、クライアント−サーバ間でデータ転送に比較的長い時間を要する状況において、データの暗号化／復号に要する時間を削減し、要求されるデータ転送速度を確保し、または、要求される時間内にデータ転送を完了することができる。さらに、上記暗号通信方式選択部１１６は、取得されるより高いファイルの機密度に対して、より高い暗号強度を有する暗号通信方式を選択することができる。これにより、機密度が高い場合は、暗号強度を高める一方で、データ伝送に要求される機密度が比較的高くはない場合に、データの暗号化／復号に要する時間を削減し、データ転送速度または所要時間を改善することができる。
【００３３】
また、上記ポリシには、複数の基準指標値の組み合わせに対する条件を記載することができる。この場合、上記暗号通信方式選択部１１６は、上記ポリシと、取得された複数の基準指標値とに基づいて、使用する暗号通信方式を選択することができる。
【００３４】
特定の例のポリシでは、複数の基準指標値のうちの第１の基準指標値を上記機密度とし、第２の基準指標値をトラフィック量またはデータサイズとすることができる。この場合に、上記暗号通信方式選択部１１６は、例えば最上位の機密度に対して最も強度の高い暗号通信方式を選択し、最上位の機密度よりも低い機密度に対しては、より大きなトラフィック量またはデータサイズに対してより低い暗号強度を有する暗号通信方式を選択するよう構成することができる。
【００３５】
また、他の例のポリシでは、上記複数の基準指標値のうちの第１の基準指標値をトラフィック量とし、第２の基準指標値をデータサイズとし、両方をデータ転送時間に関する指標値としてもよい。この場合に、上記暗号通信方式選択部１１６は、より大きなトラフィック量に対して、より低い暗号強度を有する暗号通信方式を候補として選び、より大きなデータサイズに対して、より低い暗号強度を有する暗号通信方式を候補として選び、基準指標値間に設定された優先度に従って、トラフィックまたはデータサイズに応じて選ばれた候補のいずれかを選択することができる。上記基準指標値間に設定される優先度は、例えば、データサイズ優先またはトラフィック量優先のいずれかとすることができる。
【００３６】
以下、図３および図４を参照しながら、本実施形態による動的な状況に対応した暗号通信の確立から暗号通信によるデータ伝送までの処理フローを説明する。図３は、本実施形態によるサーバ装置１１０およびクライアント装置１５０間で実行される処理を示すシーケンス図である。図３に示す処理は、所定の通信単位毎に実行される。
【００３７】
図３に示す処理は、クライアント装置１５０において、ブラウザ１６０上で暗号通信プロトコルを指定したＵＲＬへのアクセス指示が行われたことに対応して、ステップＳ１０１から開始される。ステップＳ１０１では、クライアント装置１５０は、暗号通信部１５４により、Ｃｌｉｅｎｔ＿Ｈｅｌｌｏメッセージをサーバ装置１１０に対して送信する。Ｃｌｉｅｎｔ＿Ｈｅｌｌｏメッセージには、クライアント装置１５０側で使用可能な暗号通信方式（暗号アルゴリズムおよび鍵長）のリストが含まれる。
【００３８】
ステップＳ１０２では、サーバ装置１１０は、Ｃｌｉｅｎｔ＿Ｈｅｌｌｏメッセージに応答して、暗号通信方式選択部１１６により、暗号通信方式の選択処理を実行し、Ｃｌｉｅｎｔ＿Ｈｅｌｌｏメッセージを送信してきたクライアント装置１５０との間で当該通信単位に使用する暗号通信方式を決定する。ステップＳ１０３では、サーバ装置１１０は、Ｓｅｒｖｅｒ＿Ｈｅｌｌｏメッセージを返信する。Ｓｅｒｖｅｒ＿Ｈｅｌｌｏメッセージには、上記決定された暗号通信方式（暗号アルゴリズムおよび鍵長）が含まれる。ステップＳ１０４では、サーバ装置１１０は、例えばＸ．５０９で規定された形式のサーバの証明書を伏したＳｅｒｖｅｒ＿Ｃｅｒｔｉｆｉｃａｔｅメッセージを送信し、ステップＳ１０５で、一連のやり取りが無事に終了したことを示すＳｅｒｖｅｒ＿Ｈｅｌｌｏ＿Ｄｏｎｅメッセージを送信する。
【００３９】
ステップＳ１０６では、クライアント装置１５０は、上記ステップＳ１０１〜ステップＳ１０３でのやり取りした際に取り決められた暗号通信方式の暗号アルゴリズムを使用して、プリマスタ・シークレットデータを生成し暗号化して、該データと共にＣｌｉｅｎｔ＿Ｋｅｙ＿Ｅｘｃｈａｎｇｅメッセージを送信する。ステップＳ１０７では、クライアント装置１５０は、双方で決定された暗号化通信方式で通信を行うことを宣言するＥｘｃｈａｎｇｅ＿Ｃｉｐｈｅｒ＿Ｓｐｅｃメッセージを送信し、ステップＳ１０８で、Ｆｉｎｉｓｈｅｄメッセージを送信して、サーバ装置１１０とのやり取りが正常に終了したことをサーバ装置１１０に通知する。ステップＳ１０９では、サーバ装置１１０は、同様にＥｘｃｈａｎｇｅ＿Ｃｉｐｈｅｒ＿Ｓｐｅｃメッセージを送信し、ステップＳ１１０でＦｉｎｉｓｈｅｄメッセージを送信する。
【００４０】
以降は、双方でプリマスタ・シークレットデータから、取り決められた暗号通信方式の鍵長のセッション鍵が生成され、暗号化されたセッションが開始される。ステップＳ１１１では、クライアント装置１５０は、ＳＳＬ／ＴＬＳを介してＨＴＴＰリクエストを送信し、ステップＳ１１２で、サーバ装置１１０は、ＳＳＬ／ＴＬＳを介してＨＴＴＰレスポンスを返信する。
【００４１】
図４は、本実施形態によるサーバ装置１１０が実行する、暗号通信方式の選択処理を示すフローチャートである。図４に示す処理は、図３に示したステップＳ１０２の処理で呼び出されて、ステップＳ２００から開始される。ステップＳ２０１では、暗号通信方式選択部１１６は、暗号通信方式選択ポリシ格納部１２０内のポリシを参照し、暗号通信方式の選択に用いる基準指標を決定する。
【００４２】
図５は、本実施形態で参照されるポリシのデータ構造を例示する図である。図５（Ａ）に例示するポリシでは、ｐｒｉｏｒｉｔｙ要素で、基準指標として、トラフィック量（「Ｔｒａｆｆｉｃ」）が指定されて、ｍａｐｐｉｎｇ要素で、３段階のレベル値（ｌｉｇｈｔ，ｍｏｄｅｒａｔｅ，ｈｅａｖｙ）に対応して３つの暗号通信方式が対応付けられている。図５（Ｂ）および（Ｃ）に示すポリシも同様に、それぞれ、基準指標としてデータサイズ（「Ｄａｔａｓｉｚｅ」）および機密度（「Ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ」）を指定し、３段階のレベル値に対応して３つの暗号通信方式を対応付けている。図５（Ａ）に示す例に従うと、ステップＳ２０１では、トラフィック量が基準指標として決定される。
【００４３】
ステップＳ２０２では、暗号通信方式選択部１１６は、決定された基準指標に対応した取得部に問い合わせて、基準指標値を取得する。基準指標がトラフィック量であれば、ネットワークトラフィック量取得部１２２に問い合わせが行われ、基準指標値としてトラフィック量が取得される。また、基準指標が機密度およびデータサイズであれば、それぞれ、機密度取得部１２６およびデータサイズ取得部１２８に問い合わせが行われ、機密度およびデータサイズが取得される。基準指標が複数ある場合は、各基準指標に対応した各取得部に問い合わせが行われる。
【００４４】
図５（Ａ）に示す例では、ネットワークトラフィック量取得部１２２は、計算されたデータ転送速度からトラフィック量のレベルを示す値を求めて、暗号通信方式選択部１１６に返却する。図８（Ａ）は、トラフィック量のレベルを求める際に参照されるテーブルであって、データ転送速度に対して基準指標値を対応付けるテーブルのデータ構造を例示する。図８（Ａ）に例示するように、トラフィック量測定用装置１７０とのデータ送受信により計算されたデータ転送速度は、その属する範囲により、トラフィックのレベルを表す所定の基準指標値に対応付けられ、その値が暗号通信方式選択部１１６に返却される。図８（Ａ）の例では、データ転送速度が５ＭＢ／ｓ以上であればレベル「ｌｉｇｈｔ」が、１ＭＢ／ｓ以上５ＭＢ／ｓ未満であればレベル「ｍｏｄｅｒａｔｅ」が、１ＭＢ／ｓ以下であれば、レベル「ｈｅａｖｙ」が判定される。
【００４５】
また、図８（Ｂ）は、文書管理部１２４で管理される管理テーブルのデータ構造を例示する。上記と同様に、図５（Ｂ）に示す例では、データサイズ取得部１２８は、文書管理部１２４の図８（Ｂ）に示すような管理テーブルから、文書識別子で特定される文書ファイルのデータサイズの属性値を取得して、暗号通信方式選択部１１６に返却する。図８（Ｂ）の例では、文書識別子「１」で識別される文書については、サイズ「ｓｍａｌｌ」が取得され、文書識別子「８」で識別される文書については、サイズ「ｂｉｇ」が取得される。
【００４６】
また、図５（Ｃ）に示す例では、機密度取得部１２６は、文書管理部１２４の管理テーブルから、文書識別子で特定される文書の機密度の属性値を取得して、暗号通信方式選択部１１６に返却する。図８（Ｂ）の例では、文書識別子「１」で識別される文書については、機密度「ｌｅｖｅｌ１」が取得され、文書識別子「８」で識別される文書については、サイズ「ｌｅｖｅｌ２」が取得される。
【００４７】
ステップＳ２０３では、暗号通信方式選択部１１６は、暗号通信方式選択ポリシ格納部１２０内のポリシを参照して、取得された基準指標値に対応する暗号通信方式の候補を取得する。また、詳細は後述するが、ポリシ内に基準指標が複数指定されている場合は、各基準指標値に対応付けられる暗号通信方式の候補のうち所定の優先度に従ったものが取得される。
【００４８】
図５（Ａ）に示す例では、トラフィックのレベル「ｌｉｇｈｔ」に対して「ＡＥＳ＿２５６」が候補として取得され、レベル「ｍｏｄｅｒａｔｅ」に対して「ＡＥＳ＿１２８」が候補として取得され、レベル「ｈｅａｖｙ」に対して「ＲＣ４＿１２８」が候補として取得される。なお、図５（Ａ）の表記では、「ＡＥＳ＿２５６」は、ＡＥＳ暗号方式の２５６ビット鍵長を意味する。図５（Ａ）に示す例では、ポリシは、より大きなトラフィック量に対して、より低い暗号強度を有する暗号通信方式が指定されている。例えば、トラフィック量が「ｈｅａｖｙ」である場合に、暗号強度が比較的低いが高速なＲＣ４暗号方式の１２８ビット鍵長の暗号通信方式が選択される。トラフィック量が「ｍｏｄｅｒａｔｅ」である場合には、ＲＣ４暗号方式の１２８ビット鍵長の暗号通信方式よりも暗号強度が高いが速度が劣るＡＥＳ暗号方式の１２８ビット鍵長の暗号通信方式が選択される。また、トラフィック量が「ｌｉｇｈｔ」である場合には、選択肢の中で最も暗号強度は高いが最も速度が劣るＡＥＳ暗号方式の２５６ビット鍵長の暗号通信方式が選択される。
【００４９】
ステップＳ２０４では、暗号通信方式選択部１１６は、取得された候補の暗号通信方式が使用可能であるかを暗号通信方式管理部１１８に問い合わせる。ステップＳ２０５では、問い合わせ結果により候補が使用可能であるか否かを判定する。ここでは、使用可能であるか否かの判断は、クライアント装置１５０で使用可能な暗号通信方式のリストを踏まえて行われる。
【００５０】
ステップＳ２０５で、候補が使用可能であると判定された場合（ＹＥＳ）は、ステップＳ２０６へ処理を分岐させる。ステップＳ２０６では、暗号通信方式選択部１１６は、取得された候補の暗号通信方式を、最終的な使用する暗号通信方式として選択し、暗号化／復号部１１４に渡し、ステップＳ２０８で本処理を終了させる。一方、ステップＳ２０５で、候補が使用不可であると判定された場合（ＮＯ）は、ステップＳ２０７へ処理を分岐させる。この場合は、暗号通信方式管理部１１８は、既定の暗号通信方式を返却する。ステップＳ２０７では、暗号通信方式選択部１１６は、既定の暗号通信方式を、最終的な使用する暗号通信方式として選択し、暗号化／復号部１１４に渡し、ステップＳ２０８で本処理を終了させる。
【００５１】
以下、図６および図７を参照しながら、複数の基準指標が指定されるポリシおよび該ポリシに対応した暗号通信方式の選択処理について説明する。図６は、本実施形態によるサーバ装置１１０が実行する、暗号通信方式の候補を取得する処理を示すフローチャートである。図７は、本実施形態で参照される複数の基準指標が条件付けられたポリシのデータ構造を例示する図である。
【００５２】
図６に示す処理は、図４に示したステップＳ２０３に対応し、ステップＳ２０３の処理で呼び出されて、ステップＳ３００から開始される。ここでは、図４に示したステップＳ２０１で、１または複数の基準指標が決定され、図４に示したステップＳ２０２で、１または複数の基準指標値が取得されているものとする。
【００５３】
ステップＳ３０１〜ステップＳ３０３のループでは、暗号通信方式選択部１１６は、ポリシに指定された基準指標毎に、ステップＳ３０２の処理を実行する。図７に示すように、ポリシには、ｐｒｉｏｒｉｔｙ要素またはｆｉｒｓｔｐｒｉｏｒｉｔｙ要素で示される複数の基準指標が指定される場合がある。図７（Ａ）に示すｆｉｒｓｔｐｒｉｏｒｉｔｙ要素は、最優先の基準指標を指定するものであり、ａｐｐｌｉｅｄｌｅｖｅｌ要素により、最優先の基準指標が適用されるレベルが指定される。図７（Ｂ）に示すｐｒｉｏｒｉｔｙ要素は、並列に基準指標を指定するものであり、ｍａｔｃｈｉｎｇｐｒｉｏｒｉｔｙ要素によって基準指標間の優先度が指定される。
【００５４】
ステップＳ３０２では、暗号通信方式選択ポリシ格納部１２０内のポリシを参照して、取得された各基準指標値に対応する暗号通信方式を取得する。ステップＳ３０１〜ステップＳ３０３のループを抜けると、ステップＳ３０４では、暗号通信方式選択部１１６は、複数の候補が取得されたか否かを判定する。ステップＳ３０４で、複数の候補がないと判定された場合（ＮＯ）は、ステップＳ３０５へ処理を分岐させる。基準指標が１つしか指定されていなかった場合、各基準指標値に対応する暗号通信方式が同一であった場合は、複数の候補がないと判定される。ステップＳ３０５では、暗号通信方式選択部１１６は、取得された唯一の基準指標値に対応する暗号通信方式を候補とし、ステップＳ３０７で本処理を終了する。
【００５５】
一方、ステップＳ３０４で、複数の候補が有ると判定された場合（ＹＥＳ）は、ステップＳ３０６へ処理を分岐させる。ステップＳ３０６では、暗号通信方式選択部１１６は、取得された評価指標値に対応する複数の暗号通信方式のうちの所定の優先ルールに従ったものを候補とし、本処理を終了する。
【００５６】
図７（Ａ）に例示するポリシでは、最優先の基準指標として、機密度（「Ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ」）が指定され、最優先の基準指標が適用されるレベルとして、機密度「ｌｅｖｅｌ３」が指定されている。また、通常の基準指標として、トラフィック量（「Ｔｒａｆｆｉｃ」）が指定されている。この場合、機密度が「ｌｅｖｅｌ３」の場合は、機密度「ｌｅｖｅｌ３」に対応付けられた暗号通信方式が選択され、機密度が「ｌｅｖｅｌ３」以外の場合は、機密度を基準指標として使用せずに、代わりに、トラフィック量を基準指標として用いて、トラフィック量のレベルに対応した暗号通信方式が選択されることになる。
【００５７】
図７（Ａ）では、機密度「ｌｅｖｅｌ３」の場合にはＡＥＳ暗号方式の２５６ビットが使用され、そうでない場合は、トラフィック量が少ない場合には暗号強度の高い暗号通信方式を選択し、トラフィック量が多い場合には暗号強度が相対的に低い暗号通信方式を選択するよう構成されている。図７（Ａ）に示したポリシを使用することにより、高い機密性が求められる文書については高いセキュリティを確保する一方で、そうでない文書に対しては、転送時間を重視して、暗号通信方式を選択することができる。
【００５８】
また、機密度とトラフィック量とはお互いの性質が異なるものであるが、文書のデータサイズとネットワークのトラフィック量とは、どちらもデータ転送に要する時間の要因となるという点で共通の性質を有する。図７（Ｂ）に例示するポリシは、同じ軸の基準指標を複数組み合わせたものであり、基準指標として、トラフィック量（「Ｔｒａｆｆｉｃ」）およびデータサイズ（「Ｄａｔａｓｉｚｅ」）が指定され、ｍａｔｃｈｉｎｇｐｒｉｏｒｉｔｙ要素によって速度優先「Ｓｐｅｅｄ」が優先ルールとして指定されている。
【００５９】
この場合、図４に示したステップＳ２０２で、データサイズおよびトラフィック量の両方の基準指標値が取得され、図６のステップＳ３０２で、対応する暗号通信方式が取得される。そして、取得した複数の暗号通信方式が一致すれば、ステップＳ３０５でそれが選択される。一方、取得した複数の暗号通信方式が不一致の場合、ステップＳ３０６で、速度優先「Ｓｐｅｅｄ」の優先ルールに従って、複数のうち暗号強度が低く、処理速度が速い方の暗号通信方式が選択される。また、ｍａｔｃｈｉｎｇｐｒｉｏｒｉｔｙ要素によって暗号強度優先「ｓｅｃｕｒｉｔｙ」が優先ルールとして指定することにより、複数のうちの処理速度は劣るが暗号強度が高い方の暗号通信方式を選択させることができる。上記構成により、データ転送時間を削減するという目的において、詳細に暗号通信方式を条件付けることが可能となり、データ転送時間の多少に応じて暗号通信方式を選択したいという要望に応えることができる。
【００６０】
以下、図９を参照しながら、本実施形態によるサーバ装置１１０のハードウェア構成について説明する。図９は、本実施形態によるサーバ装置１１０のハードウェア構成を示す図である。本実施形態によるサーバ装置１１０は、デスクトップ型のパーソナル・コンピュータ、ワークステーションなどの汎用コンピュータなどとして構成されている。図９に示すサーバ装置１１０は、シングルコアまたはマルチコアのＣＰＵ（Central Processing Unit）１２と、ＣＰＵ１２とメモリとの接続を担うノースブリッジ１４と、該ノースブリッジ１４と専用バスまたはＰＣＩバスを介して接続され、ＰＣＩバスやＵＳＢなどのＩ／Ｏとの接続を担うサウスブリッジ１６とを含む。
【００６１】
ノースブリッジ１４には、ＣＰＵ１２の作業領域を提供するＲＡＭ（Random Access Memory）１８と、映像信号を出力するグラフィックボード２０とが接続される。グラフィックボード２０には、アナログＲＧＢ、ＨＤＭＩ（High-Definition Multimedia Interface）、ＤＶＩ（Digital Visual Interface）、ＤｉｓｐｌａｙＰｏｒｔ（登録商標）などの映像出力インタフェースを介してディスプレイ５０に接続される。
【００６２】
サウスブリッジ１６には、ＰＣＩ（Peripheral Component Interconnect）２２、ＬＡＮポート２４、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.）１３９４インタフェース２６、ＵＳＢ（Universal Serial Bus）ポート２８、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの補助記憶装置３０、オーディオ入出力３２、シリアルポート３４が接続される。補助記憶装置３０は、コンピュータ装置を制御するためのＯＳ、上述した機能部を実現するための制御プログラムや各種システム情報や各種設定情報を格納する。ＬＡＮポート２４は、サーバ装置１１０をネットワーク１０２に接続させるインタフェース機器である。
【００６３】
ＵＳＢポート２８には、キーボード５２およびマウス５４などの入力装置が接続されてもよく、当該サーバ装置１１０の操作者からの各種指示の入力を受け付けるためのユーザ・インタフェースを提供することができる。本実施形態によるサーバ装置１１０は、補助記憶装置３０から制御プログラムを読み出し、ＲＡＭ１８が提供する作業空間に展開することにより、ＣＰＵ１２の制御の下、上述した各機能部および各処理を実現する。
【００６４】
以上説明したように、本実施形態によれば、通信単位毎に変化し得る状況に柔軟に対応してセキュア通信方式を選択し、セキュリティ保護された通信を行う情報処理装置、プログラムおよび記録媒体を提供することができる。
【００６５】
上記構成により、トラフィック量が多く、クライアント−サーバ間のデータ転送に時間がかかる状況下において、データの暗号化に要する時間を削減することで要求されるデータ転送速度を確保することができる。また、クライアント−サーバ間で送受信するデータサイズが大きくデータ転送に時間がかかる状況下において、データの暗号化に要する時間を削減することで要求される時間内でデータ転送を完了させることができる。さらに、送受信するデータに設定された機密度が高い場合に高いセキュリティを確保できる方式でデータを暗号化し、機密度が高くはない場合にはデータの暗号化に要する時間を削減することで要求されるデータ転送速度を確保することができる。
【００６６】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【００６７】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００６８】
１２…ＣＰＵ、１４…ノースブリッジ、１６…サウスブリッジ、１８…ＲＡＭ、２０…グラフィックボード、２２…ＰＣＩ、２４…ＬＡＮポート、２６…ＩＥＥＥ１３９４インタフェース、２８…ＵＳＢポート、３０…補助記憶装置、３２…オーディオ入出力、３４…シリアルポート、５０…ディスプレイ、５２…キーボード、５４…マウス、１００…ネットワーク環境、１０２…ネットワーク、１１０…サーバ装置、１１２…通信部、１１４…暗号化／復号部、１１６…暗号通信方式選択部、１１８…暗号通信方式管理部、１２０…暗号通信方式選択ポリシ格納部、１２２…ネットワークトラフィック量取得部、１２４…文書管理部、１２６…機密度取得部、１２８…データサイズ取得部、１３０…ウェブ・サーバ部、１５０…クライアント装置、１５２…通信部、１５４…暗号通信部、１５６…暗号化／復号部、１５８…折衝部、１６０…ブラウザ、１７０…トラフィック量測定用装置
【先行技術文献】
【特許文献】
【００６９】
【特許文献１】特開２００９−０８９０４５号公報
【特許文献２】特開２００７−２５１４９２号公報
【図１】
2013258566.tif 000003
【図２】
2013258566.tif 000004
【図３】
2013258566.tif 000005
【図４】
2013258566.tif 000006
【図５】
2013258566.tif 000007
【図６】
2013258566.tif 000008
【図７】
2013258566.tif 000009
【図８】
2013258566.tif 000010
【図９】
2013258566.tif 000011