説明

暗号モジュール配信システム、暗号管理サーバ装置、暗号処理装置、クライアント装置、暗号管理プログラム、暗号処理プログラム、およびクライアントプログラム

【課題】暗号モジュールのないクライアント装置に、安全に暗号モジュールを配信する。
【解決手段】暗号モジュール配信システムにおいて、暗号管理サーバ装置は、暗号モジュールを格納し、暗号処理装置と鍵を共有し、共有した鍵で暗号モジュールを暗号化し、暗号化された暗号モジュールをクライアント装置に送信し、暗号処理装置は、暗号管理サーバと鍵を共有し、共有した鍵を格納し、クライアント装置より暗号化された暗号モジュールを受信し、格納された鍵を用いて復号した暗号モジュールをクライアント装置へ送信し、暗号化された暗号モジュールを、格納された鍵を用いて復号し、クライアント装置は、暗号管理サーバから暗号化された暗号モジュールを受信し、受信した暗号化された暗号モジュールを暗号処理装置に送信し、復号された暗号モジュールを暗号処理装置から受信し、暗号処理装置通信処理部により受信した暗号モジュールを格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号管理サーバ装置と、クライアント装置と、暗号装置とを備えた暗号モジュール配信システムであって、暗号管理サーバ装置が、クライアントに暗号モジュールを配信する技術に関する。
【背景技術】
【0002】
従来、サーバとクライアント装置から構成され、サーバとクライアント装置の間で通信を行うシステムにおいて、その通信データについて、盗聴や改ざんなどがされないように安全に送受信する方法が研究されている。また、クライアント装置で動作する暗号アルゴリズムを容易に更新・追加可能な方法が研究されている。
このような方法としては、例えば、暗号文と共に暗号文を復号するために新規暗号アルゴリズムを配信する方法(特許文献1)や、サーバとクライアント装置の間ですでに共有している暗号アルゴリズムを使って秘匿性のある情報(新規暗号アルゴリズム)を更新する方法(特許文献2)などがある。
【特許文献1】特開平10−41934号公報
【特許文献2】特開2000−261427号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上述した特許文献1については、送られた新規暗号アルゴリズムの正当性をクライアント装置で検証することができないという問題がある。
また、上述した特許文献2については、サーバとクライアント装置の間で安全なアルゴリズムを1つ以上共有していることが予め必要であるため、そもそも、安全なアルゴリズムを構築できていないシステムにおいては、秘匿性のある情報を通信することができないという問題がある。
【0004】
本発明は、このような事情に鑑みてなされたもので、その目的は、サーバとクライアント装置から構成されるシステムにおいて、秘匿性のある情報をセキュリティを確保して通信することができる暗号モジュール配信システムを提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明は、互いに通信が可能な、暗号管理サーバ装置(例えば、本実施形態における暗号管理サーバ装置101)と、暗号処理装置(例えば、本実施形態における暗号ハードウェア103)と、クライアント装置(例えば、本実施形態におけるクライアント装置102)とを有する暗号モジュール配信システムにおいて、暗号管理サーバ装置は、暗号モジュールを格納する暗号モジュール格納部(例えば、本実施形態における暗号モジュールDB206)と、暗号処理装置と共通で利用可能な共有鍵を共有する鍵共有部(例えば、本実施形態における鍵共有部205)と、共有鍵で暗号モジュールを暗号化する暗号モジュール暗号化部(例えば、本実施形態における暗号モジュール暗号化部207)と、暗号化された暗号モジュールをクライアント装置に送信するクライアント装置通信処理部(例えば、本実施形態における通信機能202)と、を有し、暗号処理装置は、暗号管理サーバと共通で利用可能な共有を共有する鍵共有部(例えば、本実施形態における鍵共有部404)と、 暗号化された暗号モジュールをクライアント装置より受信し、この受信した暗号化された暗号モジュールを、前記共有鍵を用いて復号する暗号モジュール復号部(例えば、本実施形態における暗号モジュール復号部405)と、前記復号した暗号モジュールをクライアント装置へ送信するクライアント装置通信処理部と(例えば、本実施形態における通信機能402)と、クライアント装置より受信した暗号化された暗号モジュールを、鍵格納部に格納された鍵を用いて復号する暗号モジュール復号部と、を有し、クライアント装置は、暗号管理サーバから暗号化された暗号モジュールを受信するサーバ通信処理部(例えば、本実施形態における通信機能302)と、受信した暗号化された暗号モジュールを暗号処理装置に送信し、復号された暗号モジュールを暗号処理装置から受信する暗号処理装置通信処理部(例えば、本実施形態における暗号ハードウェア管理制御部305)と、暗号処理装置通信処理部により受信した暗号モジュールを格納する暗号モジュール格納部(例えば、本実施形態における暗号モジュールDB303)と、を有することを特徴とする暗号モジュール配信システムである。
【0006】
本発明は、互いに通信が可能な、暗号管理サーバ装置(例えば、本実施形態における暗号管理サーバ装置601)と、暗号処理装置(例えば、本実施形態における暗号ハードウェア701)と、クライアント装置とを有する暗号モジュール配信システムにおいて、暗号管理サーバ装置は、暗号モジュールを格納する暗号モジュール格納部と、暗号処理装置と共通で利用可能な共有鍵を共有する鍵共有部と、共有鍵で暗号モジュールを識別する認証子を生成する認証子生成部(例えば、本実施形態におけるMAC生成部607)と、暗号モジュールおよび認証子(例えば、本実施形態におけるMAC)をクライアント装置に送信するクライアント装置通信処理部と、を有し、暗号処理装置は、暗号管理サーバと共通で利用可能な共有鍵を共有する鍵共有部と、クライアント装置より認証子を受信し、当該受信した認証子に対して、前記鍵格納部に格納された共有鍵を用いて認証子の正当性検証を行う認証子検証部(例えば、本実施形態におけるMAC検証部705)と、 前記正当性検証を行った結果をクライアント装置へ送信するクライアント装置通信処理部と、を有し、クライアント装置は、暗号管理サーバより暗号モジュールおよび認証子を受信するサーバ通信処理部と、サーバ通信処理部によって受信した認証子を暗号処理装置に送信し、認証子の正当性検証結果を受信する暗号処理装置通信処理部と、暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、前記受信した暗号モジュールを格納する暗号モジュール格納部と、を有することを特徴とする暗号モジュール配信システムである。
【0007】
本発明は、上述に記載の暗号モジュール配信システムであって、暗号管理サーバ装置は、共有鍵で暗号モジュールを暗号化する暗号モジュール暗号化部を有し、クライアント装置通信処理部が、暗号モジュール暗号化部によって暗号化された暗号モジュールおよび認証子生成部によって生成された認証子をクライアント装置に送信し、暗号処理装置は、クライアント装置通信処理部が、暗号化された暗号モジュールおよび認証子をクライアント装置より受信し、共有鍵を用いて暗号化された暗号モジュールを復号した暗号モジュールと認証子の正当性検証を行った結果とをクライアント装置へ送信し、クライアント装置は、暗号処理装置通信処理部が、サーバ通信処理部によって受信する暗号化された暗号モジュールおよび認証子を暗号処理装置に送信し、復号された暗号モジュールおよび認証子の正当性検証結果を受信し、暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、復号された暗号モジュールを暗号モジュール格納部に格納することを特徴とする暗号モジュール配信システムである。
【0008】
本発明は、上述に記載の暗号モジュール配信システムであって、暗号管理サーバ装置は、暗号モジュールを暗号処理装置が処理可能なデータサイズに分割して分割暗号モジュールを生成する暗号モジュール分割部(例えば、本実施形態における暗号モジュール分割部1207)とを有し、暗号モジュール暗号化部が、共有鍵で分割暗号モジュール毎に暗号化し、クライアント装置通信処理部が、暗号化された分割暗号モジュール全てをクライアント装置に送信し、暗号処理装置は、クライアント装置通信処理部が、暗号化された分割暗号モジュールをクライアント装置より受信し、共有鍵を用いて復号した分割暗号モジュールをクライアント装置へ送信し、暗号モジュール復号部が、クライアント装置より受信した暗号化された分割暗号モジュールを、共有鍵を用いて復号し、クライアント装置は、暗号処理装置通信処理部より受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部(例えば、本実施形態における暗号モジュール結合部1307)を有し、サーバ通信処理部が、暗号管理サーバより暗号化された分割暗号モジュール全てを受信し、暗号処理装置通信処理部が、受信した暗号化された分割暗号モジュールを暗号処理装置に送信し、復号された分割暗号モジュールを受信し、暗号モジュール結合部が、暗号モジュール結合部によって結合された暗号モジュールを暗号モジュール格納部に格納することを特徴とする暗号モジュール配信システムである。
【0009】
本発明は、上述に記載の暗号モジュール配信システムであって、暗号管理サーバ装置は、暗号モジュールを暗号処理装置が処理可能なデータサイズに分割して分割暗号モジュールを生成する暗号モジュール分割部とを有し、記認証子生成部が、共有鍵で分割暗号モジュール毎に認証子を生成し、クライアント装置通信処理部が、分割暗号モジュールと認証子全てをクライアント装置に送信し、暗号処理装置は、クライアント装置通信処理部が、クライアント装置より分割暗号モジュールおよび認証子を受信し、共有鍵を用いて認証子の正当性検証を行った結果をクライアント装置へ送信し、認証子検証部が、クライアント装置より受信した分割暗号モジュールおよび認証子に対して、共有鍵を用いて認証子の正当性検証を行い、クライアント装置は、受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、記サーバ通信処理部が、暗号管理サーバより分割暗号モジュールおよび認証子全てを受信し、暗号処理装置通信処理部が、受信した分割暗号モジュールおよび認証子を暗号処理装置に送信し、認証子の正当性検証結果を受信し、暗号処理装置通信処理部により受信した認証子の検証結果が全て正当であることを示す情報であるならば、暗号モジュール結合部によって結合された暗号モジュールを暗号モジュール格納部に格納することを特徴とする暗号モジュール配信システムである。
【0010】
本発明は、上述に記載の暗号モジュール配信システムであって、暗号化された分割暗号モジュールは、少なくとも2つ以上の異なる鍵のいずれかによってそれぞれ暗号化されていることを特徴とする暗号モジュール配信システムである。
【0011】
本発明は、上述に記載の暗号モジュール配信システムであって、認証子は、少なくとも2つ以上の異なる鍵のいずれかによってそれぞれ生成されていることを特徴とする暗号モジュール配信システムである。
【0012】
本発明は、暗号処理装置とクライアント装置と通信し、当該クライアント装置に暗号モジュールを配信する暗号管理サーバ装置であって、暗号モジュールを格納する暗号モジュール格納部と、暗号処理装置と共通で利用可能な共有鍵を共有する鍵共有部と、当該共有鍵で暗号モジュールを暗号化する暗号モジュール暗号化部と、当該暗号化された暗号モジュールをクライアント装置に送信するクライアント装置通信処理部と、を備えることを特徴とする暗号管理サーバ装置である。
【0013】
本発明は、暗号処理装置とクライアント装置と通信し、当該クライアント装置に暗号モジュールを配信する暗号管理サーバ装置であって、暗号モジュールを格納する暗号モジュール格納部と、暗号処理装置と共通で利用可能な共有鍵を共有する鍵共有部と、当該共有鍵で暗号モジュールを識別する認証子を生成する認証子生成部と、暗号モジュールおよび認証子をクライアント装置に送信するクライアント装置通信処理部と、を備えることを特徴とする暗号管理サーバ装置である。
【0014】
本発明は、共有鍵で暗号モジュールを暗号化する暗号モジュール暗号化部と、をさらに有し、クライアント装置通信処理部は、当該暗号化された暗号モジュールをクライアント装置に送信することをさらに特徴とする暗号管理サーバ装置である。
【0015】
本発明は、暗号モジュールを暗号処理装置が処理可能なデータサイズに分割して分割暗号モジュールを生成する暗号モジュール分割部をさらに有し、暗号モジュール暗号化部が、共有鍵で分割暗号モジュール毎に暗号化し、クライアント装置通信処理部が、暗号化された分割暗号モジュール全てをクライアント装置に送信することを特徴とする暗号管理サーバ装置である。
【0016】
本発明は、暗号モジュールを暗号処理装置が処理可能なデータサイズに分割して分割暗号モジュールを生成する暗号モジュール分割部とを有し、認証子生成部が、共有鍵で分割暗号モジュール毎に認証子を生成し、クライアント装置通信処理部が、分割暗号モジュールと認証子全てをクライアント装置に送信することを特徴とする暗号管理サーバ装置である。
【0017】
本発明は、暗号管理サーバ装置と暗号処理装置と通信し、暗号管理サーバ装置より暗号モジュールを配信されるクライアント装置であって、暗号管理サーバから暗号化された暗号モジュールを受信するサーバ通信処理部と、受信した暗号化された暗号モジュールを暗号処理装置に送信し、復号された暗号モジュールを暗号処理装置から受信する暗号処理装置通信処理部と、暗号処理装置通信処理部により受信した暗号モジュールを格納する暗号モジュール格納部と、を有することを特徴とするクライアント装置である。
【0018】
本発明は、暗号管理サーバ装置と暗号処理装置と通信し、暗号管理サーバ装置より暗号モジュールを配信されるクライアント装置であって、暗号管理サーバより暗号モジュールおよび認証子を受信するサーバ通信処理部と、サーバ通信処理部によって受信した認証子を暗号処理装置に送信し、当該認証子の正当性検証結果を受信する暗号処理装置通信処理部と、暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、受信した暗号モジュールを格納する暗号モジュール格納部と、を有することを特徴とするクライアント装置である。
【0019】
本発明は、暗号処理装置通信処理部が、サーバ通信処理部によって受信する暗号化された暗号モジュールおよび認証子を暗号処理装置に送信し、復号された暗号モジュールおよび認証子の正当性検証結果を受信し、暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、復号された暗号モジュールを暗号モジュール格納部に格納することを特徴とするクライアント装置である。
【0020】
本発明は、暗号処理装置通信処理部より受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、サーバ通信処理部が、暗号管理サーバより暗号化された分割暗号モジュール全てを受信し、暗号処理装置通信処理部が、受信した暗号化された分割暗号モジュールを暗号処理装置に送信し、復号された分割暗号モジュールを受信し、暗号モジュール結合部が、暗号モジュール結合部によって結合された暗号モジュールを暗号モジュール格納部に格納することを特徴とするクライアント装置である。
【0021】
本発明は、受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、サーバ通信処理部が、暗号管理サーバより分割暗号モジュールおよび認証子全てを受信し、暗号処理装置通信処理部が、受信した分割暗号モジュールおよび認証子を暗号処理装置に送信し、認証子の正当性検証結果を受信し、暗号処理装置通信処理部により受信した認証子の検証結果が全て正当であることを示す情報であるならば、暗号モジュール結合部によって結合された暗号モジュールを暗号モジュール格納部に格納することを特徴とするクライアント装置である。
【0022】
本発明は、暗号管理サーバ装置とクライアント装置と通信し、暗号管理サーバからクライアント装置に暗号モジュールを配信するときの暗号処理を行う暗号処理装置であって、暗号管理サーバと共通で利用可能な共有鍵を共有する鍵共有部と、暗号化された暗号モジュールをクライアント装置より受信し、この受信した暗号化された暗号モジュールを、共有鍵を用いて復号する暗号モジュール復号部と、復号した暗号モジュールをクライアント装置へ送信するクライアント装置通信処理部と、を有することを特徴とする暗号処理装置である。
【0023】
本発明は、暗号管理サーバ装置とクライアント装置と通信し、暗号管理サーバからクライアント装置に暗号モジュールを配信するときの暗号処理を行う暗号処理装置であって、暗号管理サーバより暗号モジュールおよび認証子を受信するサーバ通信処理部と、サーバ通信処理部によって受信した認証子を暗号処理装置に送信し、当該認証子の正当性検証結果を受信する暗号処理装置通信処理部と、暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、受信した暗号モジュールを格納する暗号モジュール格納部と、を有することを特徴とする暗号処理装置である。
【0024】
本発明は、暗号処理装置通信処理部が、サーバ通信処理部によって受信する暗号化された暗号モジュールおよび認証子を暗号処理装置に送信し、復号された暗号モジュールおよび認証子の正当性検証結果を受信し、暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、復号された暗号モジュールを暗号モジュール格納部に格納することを特徴とする暗号処理装置である。
【0025】
本発明は、暗号処理装置通信処理部より受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、サーバ通信処理部が、暗号管理サーバより暗号化された分割暗号モジュール全てを受信し、暗号処理装置通信処理部が、受信した暗号化された分割暗号モジュールを暗号処理装置に送信し、復号された分割暗号モジュールを受信し、暗号モジュール結合部が、暗号モジュール結合部によって結合された暗号モジュールを暗号モジュール格納部に格納することを特徴とする暗号処理装置である。
【0026】
本発明は、受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、サーバ通信処理部が、暗号管理サーバより分割暗号モジュールおよび認証子全てを受信し、暗号処理装置通信処理部が、受信した分割暗号モジュールおよび認証子を暗号処理装置に送信し、認証子の正当性検証結果を受信し、暗号処理装置通信処理部により受信した認証子の検証結果が全て正当であることを示す情報であるならば、暗号モジュール結合部によって結合された暗号モジュールを暗号モジュール格納部に格納することを特徴とする暗号処理装置である。
【0027】
本発明は、暗号処理装置とクライアント装置と通信が可能なコンピュータに、暗号モジュール格納部に暗号モジュールを格納するステップと、鍵共有部に、暗号処理装置と共通で利用可能な共有鍵を共有するステップと、暗号モジュール暗号化部が、当該共有鍵で暗号モジュールを暗号化するステップと、クライアント装置通信処理部が、当該暗号化された暗号モジュールをクライアント装置に送信するステップと、を実行させるための暗号管理プログラムである。
【0028】
本発明は、暗号管理サーバ装置と暗号処理装置と通信が可能なコンピュータに、サーバ通信処理部が、暗号管理サーバから暗号化された暗号モジュールを受信するステップと、暗号処理装置通信処理部が、受信した暗号化された暗号モジュールを暗号処理装置に送信し、復号された暗号モジュールを暗号処理装置から受信するステップと、暗号モジュール格納部が、暗号処理装置通信処理部により受信した暗号モジュールを格納するステップと、を実行させるためのクライアントプログラムである。
【0029】
本発明は、暗号管理サーバ装置とクライアント装置と通信が可能なコンピュータに、鍵共有部が、暗号管理サーバと共通で利用可能な共有鍵を共有するステップと、暗号モジュール復号部が、暗号化された暗号モジュールをクライアント装置より受信し、この受信した暗号化された暗号モジュールを、共有鍵を用いて復号するステップと、クライアント装置通信処理部が、復号した暗号モジュールをクライアント装置へ送信するステップと、を実行させるための暗号処理プログラムである。
【発明の効果】
【0030】
以上説明したように、本発明によれば、クライアント装置側で暗号アルゴリズム(プログラム)をまったく保持していない場合であっても、暗号処理を行う暗号処理装置を補助的に使ってクライアント装置に暗号アルゴリズムを送信することで、クライアント装置で新規暗号アルゴリズムを利用可能な状態にすることができる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の一実施形態による暗号モジュール配信システムについて図面を参照して説明する。
まず、本システムの概要について説明する。本システムにおいては、サーバとクライアント装置とが接続され、サーバとクライアント装置間において暗号モジュールを用いて暗号化された情報を送受信することが可能なシステムである。ここで、暗号モジュールを定期的に切り替えることも可能である。このような、暗号モジュールを切り替え可能な暗号システムとしては、暗号の手法ごとに暗号方式に依存しないインターフェースを規定し、各暗号ベンダが実装可能なフレームワークがいくつか存在する。例えば、Microsoft(登録商標)のCryptAPIやSun(登録商標)のJCA(Java(登録商標) Cryptographic Architecture)/JCE(Java(登録商標) Cryptographic Extensions)やOpen Group(登録商標)のCDSA(Common Data Security Architecture)などがある。
【0032】
これらのフレームワークでは、暗号化/復号、署名生成/検証、認証子生成/検証などの暗号の手法ごとに暗号モジュールにアクセスするインターフェースを規定し、インターフェースに従って、例えば、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)などの暗号方式を実装することが可能になっている。そして、暗号やセキュリティの専門家がシステム構築時に、これらの実装された暗号の中から適切な暗号方式をあらかじめ選択し、いずれの暗号方式を利用するかを示す暗号方式パラメータをフレームワークに入力して、暗号方式を切り替えることが可能である。
【0033】
このようなフレームワークを利用する場合、アプリケーションシステムの運用上のセキュリティポリシが変更された場合、従来であれば暗号やセキュリティの専門家が、再度システムに適した暗号方式を選定する必要があり、暗号やセキュリティの専門家の人材リソースの問題やコストの問題に直面する。また、既存の暗号方式の不備が発見されたり、新しい暗号が発表されたりした際に、運用中のシステムに対して、暗号方式の変更をスムーズに適用するのが難しい。さらには、セキュリティを実施する環境に応じて、必要なセキュリティ強度や処理速度などが違う場合に、最適なセキュリティを実現することも、従来システムでは難しい問題である。
本システムにおいては、暗号方式の切り替えが可能な暗号システムでは、この問題についても解決することが可能である。
【0034】
<第1の実施形態>
図1は、本発明の第1の実施形態による暗号モジュール配信システムの構成を示す概略ブロック図である。
本暗号システムは、暗号モジュール308と暗号評価記述ファイル309とを含む暗号パッケージ307を送信する暗号管理サーバ装置350と、受信した暗号パッケージ307を用いて暗号処理を行う暗号クライアント装置150とから構成される。暗号評価記述ファイル309に記述される暗号の評価とは、対応する暗号モジュール308の暗号方式の信頼度や強度等が数値化された情報であり、例えば、実装している暗号方式の安全性や暗号の処理速度、暗号に利用可能な鍵長などである。
【0035】
暗号管理サーバ装置350は、暗号モジュール308を蓄積した暗号モジュールDB353と、暗号評価記述ファイル309を蓄積した暗号評価DB354と、暗号モジュールDB353と暗号評価DB354との管理を行う暗号管理部351と、暗号モジュールDB353と暗号評価DB354とに新規の情報を登録する暗号登録部355と、暗号クライアント装置150の要求に応じて最適な暗号パッケージ307を暗号モジュールDB353と暗号評価DB354とから読み出して送信する暗号配信部352とを備える。
【0036】
暗号クライアント装置150は、暗号制御マネージャ部152を介して暗号実装部153が提供する暗号機能を呼び出して利用するアプリケーションやミドルウェアである上位システム部151と、暗号管理サーバ装置350から送信された暗号パッケージ307の受信や暗号実装部153から提供される暗号機能の切り替えを行う暗号制御マネージャ部152と、主要な暗号方式による暗号処理をハードウェアとして実現した耐タンパーな暗号ハードウェア部450と、暗号方式を実装した暗号モジュール308が実行可能・利用可能な状態にされて暗号機能を提供する暗号実装部153とから構成される。暗号管理サーバ装置350は、暗号クライアント装置150からの要求に基づき、暗号の初期登録・配信・更新の3つの手順を行うことで、適切な暗号パッケージ307を暗号クライアント装置150に送信する。
【0037】
ここで、暗号の初期登録とは、暗号クライアント装置150が暗号モジュール308を有せず、暗号実装部153が存在しない場合に、暗号クライアント装置150の暗号ハードウェア部450を利用して、利用上必要不可欠な暗号モジュール308を暗号管理サーバ装置350から暗号実装部153に安全に送信することである。
暗号の配信とは、暗号管理サーバ装置350が、暗号クライアント装置150から受信した暗号要求に応じて、適切な暗号モジュール308または暗号パッケージ307を選定して暗号クライアント装置150に送信することである。暗号要求は暗号に関する条件情報を含み、条件情報は、暗号化や署名生成などの暗号方式の分類(暗号のカテゴリ)、暗号モジュール308を作成したメーカ、暗号モジュール308が動作するハードウェアの情報、および、暗号の評価情報などがある。暗号の評価情報は、本実施形態例のように、暗号評価記述ファイル309として、暗号モジュール308とは独立したファイルとして扱われることとしても良い。
【0038】
暗号の更新とは、新規の暗号モジュール308を登録したり、危殆化した暗号方式を利用した該当する暗号モジュール308を削除したり、暗号モジュール308のバグを発見し既存の暗号モジュール308とその暗号モジュール308が実行されている暗号実装部153を更新したり、計算機の処理速度の高速化等に伴って暗号の評価を変更したりした際に、暗号管理サーバ装置350上の暗号モジュールDB353や暗号評価DB354に」記憶された情報を更新し、この更新した暗号パッケージ307の情報を、暗号クライアント装置150に対して定期的に送信したり、暗号クライアント装置150からの要求に基づいて送信したりして、暗号管理サーバ装置350が新しい暗号モジュール308を送信することや既存の暗号実装部が使えなくなったことを通知することである。
【0039】
図2は、暗号クライアント装置150の詳細な構成図である。暗号制御マネージャ部152は、暗号処理情報DB157を持つ暗号処理制御部156と、暗号モジュールDB164と、暗号評価DB163と、暗号モジュール選定ポリシ158とハードウェアプロファイル160とを持つ暗号モジュール選定部159と、鍵情報DB165と、その鍵情報DB165へのアクセス制御ポリシが記述されたアクセス制御ポリシ161を持つ鍵情報管理部162と、暗号制御マネージャポリシ167を持つ暗号管理部166と、暗号ハードウェア部450と通信を行う暗号ハードウェア管理制御部170と、外部との通信を行う通信機能155と、通信機能155と連携するアルゴリズムネゴシエーション部168と、通信機能155と連携するセキュア通信管理部169とから構成される。
【0040】
暗号処理制御部156は、上位システム部151からの暗号処理呼び出しに基づき、鍵生成処理、鍵登録処理、暗号処理を行う。
鍵生成処理の場合、暗号処理制御部156は、上位システム部151から指定された暗号方式、鍵長、暗号方式パラメータを暗号処理情報DB157に登録した際の暗号処理の識別子により、指定された暗号方式に対する暗号モジュール308を暗号モジュール選定部159により選定する。
【0041】
暗号処理制御部156が、選定された暗号モジュール308をメモリ上にロードし暗号実装部153として実行状態にさせる。暗号処理制御部156が、指定された暗号処理の識別子に対応する鍵生成のための暗号方式パラメータを鍵情報管理部162経由で鍵情報DB165から引き出す。暗号処理制御部156が、指定された鍵長と引き出した暗号方式パラメータで暗号実装部153を呼び出すと、暗号実装部153は鍵情報を生成する。暗号処理制御部156は、生成された鍵情報を受け取る。暗号処理制御部156は、暗号実装部153が生成した鍵情報を鍵情報管理部162経由で鍵情報DB165に登録してその鍵情報に対応する鍵識別子を受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報DB157に保存し、暗号処理の識別子を上位システム部151に返す。
【0042】
鍵登録の場合、暗号処理制御部156は、上位システム部151から指定された鍵情報を、鍵情報管理部162を経由して鍵情報DB165に登録して鍵識別子を受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報DB157に保存し、暗号処理の識別子を上位システム部151に返す。
【0043】
暗号処理の場合、上位システム部151から指定された暗号に関する条件情報と暗号処理対象データ(平文)と鍵生成または鍵登録を行った際に受け取った暗号処理の識別子とを受け取り、暗号に関する条件情報を参照して適切な暗号モジュール308を暗号モジュール選定部159により選定し、選定された暗号モジュール308をメモリ上にロードして暗号実装部153として実行させ、指定された暗号処理の識別子に対応する鍵情報を鍵情報管理部162経由で鍵情報DB165から引き出し、指定された暗号処理対象データと引き出した鍵情報とを、呼び出した暗号実装部153に入力し、対応して処理された暗号データを受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報DB157に保存し、暗号処理の識別子を返す。暗号処理の際に利用した鍵情報などを暗号処理の識別子に結びつけることにより、暗号処理の再実行や復号を簡単に実施することができるようにする。
【0044】
暗号モジュールDB164は、暗号管理サーバ装置350から受信した暗号モジュール308を格納する記憶部である。
暗号評価DB354は、暗号管理サーバ装置350から受信した暗号評価記述ファイル309を格納する記憶部である。
暗号モジュール選定部159は、暗号化や署名生成などの暗号のカテゴリ、暗号モジュール308を作成したメーカ、暗号モジュール308が動作するハードウェアの情報、および、暗号の評価情報などの暗号に関する条件情報を、上位システム部151からの入力を元に、暗号モジュールDB164が記憶している暗号モジュール308の中から一番適切な暗号モジュール308を選定する。暗号モジュール308の選定にあたっては、暗号クライアント装置150のハードウェア情報を記述したハードウェアプロファイル160に適合するものの中から選び、かつ、暗号クライアント装置150を利用する利用者のポリシを記述した暗号モジュール選定ポリシ158にも従うようにする。
【0045】
ハードウェアプロファイル160とは、例えば、暗号クライアント装置150のCPUアーキテクチャ、CPUクロック、搭載メモリ量などの情報を含む情報である。暗号モジュール選定ポリシ158とは、例えば、入力条件により選定された暗号が複数ある場合に利用者が優先したい条件、利用者が優先的に利用したい暗号のメーカ、利用者が利用禁止にしたい暗号方式などを含む情報である。
【0046】
このように、暗号モジュール選定部159は、上位システム部151からの入力情報と、ハードウェアプロファイル160と、暗号モジュール選定ポリシ158とを参照して、入力情報に一致する暗号モジュール308を選定する。暗号モジュール選定部159が暗号モジュール308を一意に選定した場合には、選定した暗号モジュール308を暗号モジュールDB164から取り出す。暗号モジュール選定部159は、暗号モジュール308が一意に選定できなかった場合は、エラーを出力する。
【0047】
鍵情報管理部162は、暗号実装部153を呼び出す際に指定される鍵情報や暗号方式パラメータなどの情報を鍵情報DB165へデータを記憶させ、または読み出す。鍵情報管理部162は、指定される鍵情報や暗号方式パラメータの情報がひとつではない場合、複数の情報をひとつにまとめて引き出せるように関連付けを行って、鍵情報DB165に登録する。また、鍵情報管理部162は、鍵情報DB165から鍵情報や暗号方式パラメータを引き出す際には、暗号モジュール選定ポリシ158に従い、複数ある上位システム部151からの鍵情報へのアクセス制御を行う。
【0048】
鍵情報管理部162は、上位システム部151から指定されたクレデンシャル(アクセスのための鍵やパスワードなど)とアクセスしたい鍵識別子と鍵識別子に関連付けられた暗号処理の識別子とにより、そのクレデンシャルの正当性を検証する。鍵情報管理部162は、クレデンシャルの持ち主に対してアクセス可能な鍵情報DB165の鍵情報の規定を記述したアクセス制御ポリシ161に基づき、アクセス可否を判定し、アクセス可ならば、暗号処理の識別子に対応する鍵識別子を鍵情報DB165から引き出し、鍵識別子に対応する鍵情報や暗号方式パラメータを引き出し、上位システム部151にこれを返す。一方、アクセス不可ならば、上位システム部151にエラーを返す。
【0049】
暗号管理部166では、通信機能155を介して暗号管理サーバ装置350と通信を行い、暗号の初期登録・配信・更新の手順に従って、暗号パッケージ307等の受信を行う。暗号管理部166が暗号管理サーバ装置350から暗号パッケージ307等を受信する際には、暗号制御マネージャポリシ167の内容に従って処理する。暗号制御マネージャポリシ167の内容は、例えば、以下の5つである。1つめは、暗号管理サーバ装置350との通信におけるサーバ認証の実施可否である。2つめは、暗号管理サーバ装置350からの暗号パッケージ307等の受信時の暗号化可否である。3つめは、暗号管理サーバ装置350からの暗号パッケージ307等の受信時の改ざん検出子(MAC(Message Authentication Code))付加可否である。4つめは、受信した暗号パッケージ307等の認証子の検証実施可否である。5つめは、暗号評価DB163と暗号モジュールDB164とに記憶された暗号パッケージ307を定期的に更新可否や更新頻度などを示す定期更新に関する設定情報、などとする。
【0050】
暗号ハードウェア管理制御部170は、暗号ハードウェア部450と通信を行い、暗号管理サーバ装置350から、暗号の初期登録の手順に従って暗号パッケージ307の受信を行う。暗号パッケージ307の受信の際には、暗号パッケージ307自身が暗号化されている場合、暗号ハードウェア部450にて暗号パッケージ307を復号する。また、暗号モジュール308に改ざん検出子が付加されていることを検出すると、暗号ハードウェア部450が暗号モジュール308の改ざん検出を行う。
【0051】
アルゴリズムネゴシエーション部168は、通信機能155と連携し、2つの暗号クライアント装置間で安全な通信セッションを構築する事前に、通信セッションの構築で利用する暗号方式、通信セッションで利用する暗号方式の調停を行う。暗号方式の調停を行う際には、以下の4つの調停方法のいずれかで調停を行えるようにする。
【0052】
第1の調停方法は、自身の暗号モジュールDB164に記憶された暗号モジュール308が提供する暗号方式群のみからアルゴリズムネゴシエーション部168が一方的に暗号方式を決定する。自身のアルゴリズムネゴシエーション部168は、上位システム部151から指定された1つ以上の暗号方式の分類(暗号のカテゴリ)、暗号制御マネージャポリシ、ハードウェアプロファイル、暗号に関する条件情報から、暗号評価DB163と暗号モジュールDB164とを参照して適切な暗号モジュール308を選定し、暗号方式を決定する。暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに選定を行い、暗号方式を決定する。
【0053】
このとき、アルゴリズムネゴシエーション部168は、上位システム部151から暗号方式が未決定である暗号方式の分類が指定された場合は、指定された暗号に関する条件情報を参照して暗号の配信の手順を行い暗号管理サーバ装置350から暗号モジュール308を受信し、その暗号モジュール308の暗号方式を結果とする。それでも未決定の場合は、アルゴリズムネゴシエーション部168は、上位システム部151にエラーを返す。
【0054】
アルゴリズムネゴシエーション部168が暗号方式を決定すると、上位システム部151から指定された相手方の暗号制御マネージャ部152の宛先に対して、暗号方式調停方法番号と、結果として出力された暗号方式の分類と暗号方式の対応群と、暗号モジュール308が足りない場合の暗号管理サーバ装置350からの受信可否に関する情報を送信する。受信した相手方の暗号制御マネージャ部152は、指定された暗号方式の暗号モジュール308を所持しているかを暗号評価DB163および暗号モジュールDB164から検索し、すべての暗号方式に対して適切な暗号モジュール308が存在する場合には通信可能である返信を行う。
【0055】
相手方の暗号制御マネージャ部152は、存在しない暗号モジュール308があった場合、暗号管理サーバ装置350からの受信可否に関する情報に従って処理する。すなわち、受信可の場合は、暗号の配信の手順に従って、暗号方式に対する暗号モジュール308を受信し、受信完了後、通信可能である返信を行う。受信不可の場合や、受信可の場合でも適切な暗号モジュール308が受信できなかった場合、通信不可能である返信を行う。自身の暗号制御マネージャ部152は、相手方の暗号制御マネージャ部152からの返信を上位システム部151に転送する。
【0056】
第2の調停方法は、相手方の暗号制御マネージャ部152が保持する暗号方式群のみから相手の暗号制御マネージャ部152が一方的に暗号方式を決定する。これは上記第1の調停方法と対称の処理となり同様の手順である。
【0057】
第3の調停方法は、双方の暗号制御マネージャ部152が保持する暗号方式群から自身の暗号制御マネージャ部152が共通の暗号方式を決定する。
自身の暗号制御マネージャ部152のアルゴリズムネゴシエーション部168は、上位システム部151から指定された1つ以上の暗号方式の分類(暗号のカテゴリ)、相手方の暗号制御マネージャ部152の宛先から、相手方の暗号制御マネージャ部152に対して暗号方式調停方法番号、暗号方式の分類を送信する。相手方の暗号制御マネージャ部152は、受信した暗号方式の分類、ハードウェアプロファイルから、暗号評価DB163および暗号モジュールDB164を参照して該当するすべての暗号モジュール308を選び、選んだすべての暗号モジュール308が対応する暗号方式一覧を作成する。
【0058】
この際、相手方の暗号制御マネージャ部152は、暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに暗号モジュール308を選び、暗号方式一覧を作成する。相手方の暗号制御マネージャ部152は、暗号方式の分類ごとの暗号方式一覧を自身の暗号制御マネージャ部152に送信する。暗号方式の分類ごとの暗号方式一覧を受信した自身の暗号制御マネージャ部152は、上位システム部151から指定された1つ以上の暗号方式の分類(暗号のカテゴリ)、暗号制御マネージャポリシ、ハードウェアプロファイル、暗号に関する条件情報から、暗号評価DB163および暗号モジュールDB164を参照して適切な暗号モジュール308を選定し、選定した暗号モジュール308から暗号方式を決定する。
【0059】
この際、暗号制御マネージャ部152は、暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに選定を行い、暗号方式を決定する。例えば、次の場合、暗号方式の分類に対する暗号方式は決定されたとする。まず、自身の暗号制御マネージャ部152で選定した暗号方式が暗号方式一覧に存在する場合。次に、自身の暗号制御マネージャ部152が受信した暗号方式一覧のいずれかの暗号方式に対応する暗号モジュール308を所持している場合。それ以外の場合、暗号方式の分類に対する暗号方式は未決定とする。
【0060】
暗号制御マネージャ部152は、未決定の暗号方式の分類がある場合、受信した暗号方式一覧のいずれかを指定して、暗号の配信の手順に従い、暗号管理サーバ装置350から暗号モジュール308を受信する。暗号制御マネージャ部152は、対応する暗号モジュール308を受信できるまで暗号方式一覧のすべての暗号方式について同様の処理を繰り返す。それでも未決定の場合、該当の暗号方式の分類に関する暗号方式は未決定とする。すべての暗号方式の分類に対して、上記の処理が完了したら、相手方の暗号制御マネージャ部152に対して、すべての暗号方式の分類に対する暗号方式の決定/未決定を送信する。
【0061】
第4の調停方法は、双方の暗号制御マネージャ部の保持する暗号方式群から相手方の暗号制御マネージャ部152に共通の暗号方式を決定する。これは第3の調停方法の場合と対称の処理となり同様の手順である。
アルゴリズムネゴシエーション部168は、以上の4つの調停方法のいずれかで調停を行う。
【0062】
セキュア通信管理部169は、通信機能155と連携し、他の暗号クライアント装置150との間で安全な通信セッションを構築する。セキュア通信管理部169は、安全なセッションを構築する際には、アルゴリズムネゴシエーション部168により、通信セッション構築で利用するための暗号方式と通信セッションで利用するための暗号方式を決定した後に、セッション鍵共有を行う。安全な通信セッションの構築後は、決定した暗号方式に従い、セッション鍵を利用して、通信データの暗号化や通信データの改ざん防止のための認証子の付加を行うことができるようにする。また、セキュア通信管理部169は、一度、構築した通信セッションは、一定時間内は再利用できるように、通信セッションの保持を行うことができるようにする。
【0063】
セキュア通信管理部169は、上位システム部151から指定された通信相手の宛先にセキュア接続要求を送信し、セキュア接続の開始を通知する。次に、セキュア通信管理部169は、事前にアルゴリズムネゴシエーション部168が決定した暗号方式の分類に従ってセキュア接続を確立する。暗号方式の分類には、例えば、認証、鍵共有、共通鍵情報暗号化(ストリーム暗号あるいはブロック暗号)、公開鍵暗号、データ認証(MAC認証または署名認証)、擬似乱数生成(ストリーム暗号および公開鍵暗号の場合のみ)、セッション鍵導出、MAC鍵導出(MAC認証の場合のみ)、などの分類がある。セキュア通信管理部169は、セキュア接続に認証が必要な場合、認証処理を行う。
【0064】
次に、セキュア通信管理部169は、鍵共有処理により鍵の共有を行い、セキュアセッションを確立する。ただし、公開鍵暗号の暗号方式が調停されている場合、鍵共有処理は行わない。公開鍵暗号なしで暗号化通信を行う場合には、共有した鍵からセッション鍵導出方式により、セッション鍵を作成し、共通鍵情報暗号化方式に従って送信したいデータを暗号化し、暗号化データを相手に送信する。通信相手は、同様の方法でセッション鍵を作成し、共通鍵情報暗号化方式に従って受信したデータを復号する。
【0065】
セキュア通信管理部169は、公開鍵暗号ありで暗号化通信を行う場合には、擬似乱数生成方式に従ってランダムなセッション鍵を作成し、共通鍵情報暗号化方式に従ってセッション鍵で送信したいデータを暗号化し、信頼機関から通信相手の公開鍵を受信し、公開鍵暗号方式に従って通信相手の公開鍵でセッション鍵自体を暗号化し、暗号化データと暗号化セッション鍵を相手に送信する。通信相手は、自分の秘密鍵で暗号化セッション鍵を復号し、共通鍵情報暗号化方式に従ってセッション鍵で受信したデータを復号する。
【0066】
セキュア通信管理部169は、データ認証子付き通信を行う場合であってMAC認証の場合、共有した鍵からMAC鍵導出方式により、MAC鍵を作成し、MAC認証方式に従って送信したいデータにMACデータを付加し、MAC付きデータを相手に送信する。通信相手は、同様の方法でMAC鍵を作成し、MAC認証方式に従って受信したデータのMACを検証する。
【0067】
セキュア通信管理部169は、データ認証子付き通信を行う場合で署名認証の場合、自分の秘密鍵で署名を付加し、署名付きデータを相手に送信する。通信相手は、相手の公開鍵が登録されている信頼機関から通信相手の公開鍵を受信し、相手の公開鍵の正当性を検証し、検証が正しく終了した場合、署名認証方式に従って相手の公開鍵で受信した署名付きデータを検証する。
【0068】
図3は、暗号管理サーバ装置350の詳細な構成図である。暗号管理サーバ装置350は、暗号モジュールDB353と、暗号評価DB354と、暗号モジュールDB353と暗号評価DB354とに記憶された情報の読み出しや更新等の処理を行う暗号管理部351と、暗号モジュールDB353と暗号評価DB354とに情報の登録を行う暗号登録部355と、暗号クライアント装置150へ暗号の送信を行う暗号配信部352とから構成される。
【0069】
暗号モジュールDB353は、予め記憶するかユーザによって入力される暗号モジュール308を記憶するデータベースである。
暗号評価DB354は、予め記憶するかユーザに入力される暗号評価記述ファイル309を記憶するデータベースである。
【0070】
暗号管理部351は、暗号管理サーバ装置350のユーザに対して、暗号モジュールDB353と暗号評価DB354に格納された暗号モジュール308や暗号パッケージ307の検索、暗号評価部の内容表示、管理している暗号のリスト表示、既存の暗号の更新、既存の暗号の削除、新規の暗号の登録、暗号配信部の起動/終了を行うインターフェースを備える。暗号管理部351は、新規の暗号を登録する場合は、暗号登録部355へ登録依頼を行う。
【0071】
暗号登録部355は、暗号パッケージ登録部357と複合型記述生成部358とを備えている。
暗号配信部352は、暗号パッケージ配信制御部359と、配布ポリシ371を持つ暗号パッケージ配布構成部370と、配布ポリシ371を持つ配布暗号モジュール選定部360とを備える。暗号配信部352は、暗号クライアント装置150からの要求を解釈し、暗号の初期登録・配信・更新の3つの手順を実施する待ち受けサービスを実行する。また、この待ち受けサービスは、処理内容のログを記録する。
【0072】
配布暗号モジュール選定部360では、暗号の初期登録・配信・更新の3つの手順と暗号クライアント装置150からの要求に基づき、配信に適切な暗号モジュール308を選定する。暗号の初期登録の場合、配信する暗号モジュール308は、利用上必要不可欠であると規定し、配布ポリシ371に記述された暗号方式である。
暗号パッケージ配布構成部370では、配布暗号モジュール選定部360で選定された暗号モジュール308を元に、配布ポリシ371に従って、暗号モジュール308と、暗号モジュール308に対応する暗号評価記述ファイル309とを暗号パッケージ307として配布可能な形にするための構成処理を行う。配布ポリシ371は、例えば、以下の4つの項目が記述されている。
【0073】
第1の項目は、暗号パッケージ307の配布の際の暗号化の可否である。第2の項目は、暗号パッケージ307の暗号化の暗号方式である。第3の項目は、暗号パッケージ307の配布の際の改ざん検出子の付加の可否である。第4の項目は、暗号パッケージ307の改ざん検出子の暗号方式である。
暗号パッケージ配布構成部370が行う構成処理では、暗号評価DB354に格納された内容を暗号評価記述ファイル309として特定の形式で生成し、暗号パッケージ307に対して暗号管理サーバ装置350が配布認定する目的で認証子を付加し、暗号モジュール308と暗号評価記述ファイル309とをペアにして、暗号パッケージ307としてまとめる。
【0074】
また、暗号パッケージ配布構成部370は、複数の暗号モジュール308を組み合わせた暗号モジュール308を、複数の暗号モジュール308とそれぞれに対応する暗号評価記述ファイル309とをまとめて1つの暗号パッケージとしても良い。また、暗号パッケージ配布構成部370が行う構成処理では、暗号クライアント装置150の暗号制御マネージャポリシや暗号管理サーバ装置350の配布ポリシ371に従って、暗号パッケージ307の暗号化および改ざん検出子の付加、そのための鍵生成と鍵管理を行う。
【0075】
<第2の実施形態>
第1の実施形態では、最適な暗号方式の選定を、暗号クライアント装置が処理する場合について説明したが、第2の実施の形態は、暗号管理サーバ装置が最適な暗号方式の選定を主導で行う。すなわち、図4に示す暗号モジュール配信システムでは、暗号管理サーバ装置1350が選定した暗号方式の結果情報をモジュール選定ポリシ記憶部110が管理および利活用するサーバ強連携機構である。特に、モジュール選定ポリシ記憶部110の計算能力が乏しい場合、暗号管理サーバ装置1350が演算支援することで、暗号クライアント装置1100内の応答パフォーマンスを向上させることができる。
【0076】
具体的には、上位システム部1151からの要求に最適な暗号モジュール308の選定を暗号管理サーバ装置1350が実施し、暗号クライアント装置1100の暗号制御マネージャ部1152はその結果を受け取り、その要求条件と最適な暗号モジュール308との関係を当該装置内の暗号情報記憶部1600で管理する。暗号制御マネージャ部1152は、上位システム部151からの要求とこの要求に最適な暗号モジュール308との関係に基づき、上位システム部151からの暗号処理制御要求に応じた処理を行う。よって、第1の実施形態と異なり、暗号クライアント装置1100は、暗号モジュール308の全選定機能や暗号モジュール308の選定に必要となる暗号パッケージ307の管理および暗号管理サーバ装置1350らの受信を必ずしも必要としない。
【0077】
図4は、本発明の第2の実施形態による暗号モジュール配信システムの概略構成を示すブロック図である。本システムは、1個以上の暗号クライアント装置1100、1個以上の暗号ハードウェア1450及び暗号管理サーバ装置1350を備えている。暗号ハードウェア1450は、第1の実施形態と同様である。ここで、暗号ハードウェア1450は、1個の暗号クライアント装置1100につき、複数接続する形態でもよい。また暗号ハードウェア1450を暗号クライアント装置1100内部に実装する形態でもよい。
【0078】
図5は、暗号クライアント装置1100の構成を示すブロック図である。暗号クライアント装置1100は、上位システム部1151と、暗号制御マネージャ部1152と、暗号実装部1153と、通信機能1155とを備えている。また選定ポリシ1158は、安全性、処理速度、リソースに関する優先情報を設定したファイルである。上位システム部1151および暗号実装部1153は、第1の実施形態と同様の構成・機能である。
【0079】
暗号制御マネージャ部1152は、暗号処理制御部1156と、鍵管理部1162と、暗号情報記憶部1600と、暗号パッケージ管理部1166と、暗号ハードウェア管理制御部1170とを備えている。
暗号処理制御部1156は、上位システム部1151から暗号処理条件を含む暗号処理制御要求を受け付ける機能と、暗号情報記憶部1600を参照して暗号処理条件に紐づいた暗号モジュール1153を特定する機能と、暗号処理実行タイミングに従って暗号実装部1153へ暗号処理を要求する機能と、当該暗号処理に対する暗号処理IDを発行して当該暗号処理に関する情報と関連付けて暗号情報記憶部1600に記憶させる機能と、暗号実装部1153からの暗号処理結果および当該暗号処理に関する暗号処理IDとを上位システム部1151へ出力する機能とをもっている。
【0080】
鍵管理部1162は、上位システム部1151からの要求に従い、暗号情報記憶部1600の鍵情報DB1165への鍵情報の登録、削除、取得、検索、更新処理を行う機能と、暗号鍵の登録が正常に実施された場合に鍵IDを発行して当該登録処理に関する情報と関連づけて暗号情報記憶部1600に記憶させる機能と、各処理結果を場合により暗号処理IDや鍵IDを含めて上位システム部1151へ出力する機能をもっている。
【0081】
暗号情報記憶部1600は、選定DB1601と、暗号モジュールリンクDB1602と、暗号モジュールDB1603と、鍵情報DB1165と、暗号処理DB1604とを記憶する機能を備えている。また、暗号情報記憶部1600は、鍵管理部1162や暗号処理制御部1156および暗号パッケージ管理部1166からの要求に従い、暗号情報記憶部1600が備える各DBを制御管理する機能をもっていることとしても良い。
【0082】
選定DB1601のデータ構造は、図6に示す通りである。暗号モジュールリンクDB1602のデータ構造は、図7に示す通りである。暗号モジュールDB1603のデータ構造は、図8に示す通りである。鍵情報DB1165のデータ構造は、図9に示す通りである。暗号処理DB1604のデータ構造は、図10に示す通りである。図11に、暗号情報記憶部1600が備える各データベースの論理関係を示す。
【0083】
暗号パッケージ管理部1166は、以下に説明する機能を有している。
まず、暗号パッケージ管理部1166は、上位システム部1151から入力された選定条件、選定ポリシ及びハードウェアプロファイルを含む情報を通信機能1155経由で暗号管理サーバ装置1350へ送信して得られる、選定された暗号パッケージ307のアルゴリズムID、 暗号評価記述ID、 暗号モジュールID及び推奨される鍵長情報を暗号情報記憶部1600に登録する機能を持っている。
【0084】
また、暗号パッケージ管理部1166は、上位システム部1151から入力された選定条件を基に選定DBを特定して暗号化アルゴリズムから対応される鍵生成エンジンのアルゴリズムIDを特定する機能を持っている。
また、暗号パッケージ管理部1166は、暗号管理サーバ装置1350にて選定された鍵生成エンジンのアルゴリズムID、暗号評価記述ID及び暗号モジュールIDを暗号情報記憶部1600に登録する機能を持っている。
【0085】
また、暗号パッケージ管理部1166は、上位システム部1151から入力された要求に基づき通信機能1155経由で暗号管理サーバ装置1350に対して最終初期登録日時および最終初期登録ドメインを入力として暗号パッケージ初期登録プロトコルを実行し、必要最低限の暗号パッケージ307を暗号管理サーバ装置1350からダウンロードして暗号情報記憶部1600に登録する機能を持っている。
【0086】
また、暗号パッケージ管理部1166は、上位システム部1151から入力された選定条件、選定ポリシ、ハードウェアプロファイル及び端末内に保持する暗号パッケージ307のリストを含む情報を通信機能1155経由で暗号管理サーバ装置1350へ送信し、当該暗号管理サーバ装置1350にて選定された暗号パッケージ307の実体及びその付帯情報(アルゴリズムID、暗号評価記述ID、暗号モジュールID)を入手して暗号情報記憶部1600に登録する機能を持っている。
【0087】
また、暗号パッケージ管理部1166は、暗号管理サーバ装置1350からの更新通知の通知先登録及び更新事象発生時に暗号制御マネージャ部1152が行うアクションのポリシ設定を行える機能を持っている。
また、暗号パッケージ管理部1166は、上位システム部1151から要求された内容と暗号制御マネージャ部1152に保持した最後の更新通知識別子に基づき通信機能1155経由で暗号管理サーバ装置1350と連携して暗号制御マネージャ部1152に保持している暗号パッケージ307の実体と暗号パッケージ307の選定ポリシと暗号パッケージ307の紐付けについて更新処理を実行する機能を持っている。
【0088】
また、暗号パッケージ管理部1166は、上位システム部1151から要求された暗号パッケージ307の実体を暗号情報記憶部1600から削除して当該暗号パッケージ307に紐付けられた暗号情報記憶部1600が備える各データベースの関連付けを解除する機能を持っている。
また、暗号パッケージ管理部1166は、上位システム部1151から入力された移行先ドメイン情報、ハードウェアプロファイル及び当該装置内に保持する暗号パッケージ307のリストを含む情報を通信機能1155経由で暗号管理サーバ装置1350へ送信し、暗号管理サーバ装置1350にて選定された持ち出し規制の対象となる暗号パッケージ情報を取得して暗号クライアント装置1100内に保持する対象の暗号パッケージ307を削除する機能とをもっている。
【0089】
暗号ハードウェア管理制御部1170は、暗号制御マネージャ部1152の各部からの要求に応じて通信機能1155経由で暗号ハードウェアへの通信制御を行う機能をもっている。
通信機能1155は、暗号パッケージ管理部1166や暗号ハードウェア管理制御部1170と相手通信装置または暗号ハードウェアとが相互に通信するための機能をもっている。
【0090】
図12は、暗号管理サーバ装置1350の構成を示す機能ブロック図である。暗号管理サーバ装置1350は、サーバ上位システム部1380と、通信機能1356と、暗号管理サーバ制御部1352と、暗号パッケージ記憶部1355と、サーバ暗号制御マネージャ部1390とを備えている。
【0091】
サーバ上位システム部1380は、暗号クライアント装置1100のサーバ上位システム部1380と同様の機能に加え、暗号管理に関するシステム管理者からの制御要求を暗号管理サーバ制御部1352に送信する機能とをもっている。
通信機能1356は、暗号管理サーバ制御部1352やサーバ暗号制御マネージャ部1390と相手通信装置、暗号ハードウェアまたは暗号ハードウェアの動作を模擬したシミュレータとが相互に通信するための機能をもっている。
【0092】
暗号管理サーバ制御部1352は、暗号パッケージ管制部1359と、暗号パッケージ管理部1351と、暗号パッケージ配布構成部1370と、配布暗号パッケージ選定部1373とを備えている。
暗号パッケージ管制部1359は、サーバ上位システム部1380からの要求により暗号パッケージ307を登録する機能と、サーバ上位システム部1380からの要求により既に登録済みの暗号パッケージを更新する機能と、ベンダからの暗号パッケージ提供時に該当する暗号パッケージの出所の確認を行うためのベンダ認定認証子を検証する機能と、複数の単体型暗号評価記述部または複数の複合型暗号評価記述部を組み合わせて複合型暗号評価記述部を生成する機能と、暗号モジュールDB1355に登録されている暗号パッケージ307を検索および一覧を取得する機能と、サーバ上位システム部1380からの要求により暗号モジュール308及び関連する暗号パッケージ307を暗号モジュールDB1355から削除する機能と、暗号パッケージ記憶部1355に対して行った登録・更新・削除処理に対するログを出力する機能とをもっている。
【0093】
暗号パッケージ管理部1351は、複数の暗号クライアント装置1100からの管制要求を同時に並行して処理する機能と、暗号パッケージ307の初期登録処理、配信処理、更新処理、選定処理、更新通知処理および暗号管理ドメイン移行処理を行う機能と、暗号クライアント装置1100と暗号管理サーバ装置1350との間でセキュリティ保護された通信路を確立するための機能と、当該暗号管理サーバ装置1350が管理するドメイン内に存在する暗号クライアント管理装置の状況を管理する機能と、暗号パッケージ307の初期登録処理、配信処理、更新処理、選定処理、更新通知処理および暗号管理ドメイン移行処理に対するログを生成する機能とをもっている。
【0094】
暗号パッケージ配布構成部1370は、配布暗号パッケージ選定部1373で選ばれた暗号パッケージ307を暗号モジュールDB1355から取得する機能と、暗号モジュールDB1355に格納された各記述項目のデータをXMLといった暗号評価記述形式で構成して出力する機能と、暗号パッケージ官制部1359のセキュリティ通信で使用する鍵に関して指定のセキュリティ方式に応じてサーバ暗号制御マネージャ部1390に処理を依頼して鍵生成を行う機能と、暗号クライアント装置1100のIDや鍵のセキュリティ方式を含む情報を元に鍵に関する情報の管理を行う機能と、暗号管理サーバ装置1350の配布ポリシで定義されたセキュリティレベル及びセキュリティ方式に応じて暗号管理サーバ装置1350から暗号クライアント装置1100に対して送信する情報に対するデータ秘匿やデータ認証のセキュリティ処理を行う機能とをもっている。
【0095】
配布暗号パッケージ選定部1373は、暗号パッケージ初期登録処理における初期登録判定、暗号方式の選択及び暗号パッケージ選択を行う機能と、暗号パッケージ配信処理における配信判定及び暗号パッケージの選択を行う機能と、暗号パッケージ更新処理における配信判定を行う機能と、暗号パッケージ更新処理における更新暗号リスト取得及び暗号パッケージの選択を行う機能と、暗号パッケージ選定処理における選択判定及び暗号パッケージ選択を行う機能と、暗号管理ドメイン移行処理のおける移動判定およびドメイン移動処理情報の生成を行う機能と、選定条件、選定ポリシ及びハードウェアポリシを満たす暗号パッケージを暗号パッケージ記憶部から検索する機能とをもっている。
【0096】
暗号モジュールDB1355は、登録されている暗号モジュール308を記録管理する暗号モジュールDB1353と暗号評価記述ファイル309を記録管理する暗号評価DB1354とを備えている。
サーバ暗号制御マネージャ部1390は、暗号クライアント装置1100の暗号制御マネージャ部1152と同様の機能に加え、暗号管理サーバ制御部1352と連携して暗号管理サーバ装置1350内の暗号資産管理制御や他通信装置との暗号認証通信を行う機能をもっている。
【0097】
<第3の実施形態>
次に、上述した暗号モジュール配信システムにおける暗号の初期登録処理にて、暗号管理サーバが、暗号処理ハードウェアを用いてクライアント装置に暗号モジュールを配信する動作例について、詳細に説明する。
また、本実施形態例では、暗号処理装置として暗号処理ハードウェアを用いることとするが、暗号処理装置は、ハードウェアに限るものではなく、ソフトウェアで実装することとしても良い。
【0098】
図13は、本発明による第3の実施形態の暗号モジュール配信システムの構成を示す図である。
本実施形態による暗号モジュール配信システムは、暗号管理サーバ装置101と、クライアント装置102と、クライアント装置102に接続された暗号ハードウェア103とを備えている。暗号管理サーバ装置101は、暗号モジュールを記憶し、暗号処理をハードウェアとして実現した耐タンパーな暗号ハードウェア103との間で、セキュアセッションを確立して、クライアント装置102に暗号モジュールを安全に配信する。
第3の実施形態では、初期暗号モジュールを共通鍵暗号方式にて暗号化し、暗号管理サーバ装置101から暗号ハードウェア103に配信する。この際、暗号管理サーバ装置101と暗号ハードウェア103とが、共通鍵を用いて通信を行う。
【0099】
以下、本発明による第3の実施形態の構成について説明する。
図14は、本発明による第3の実施形態の暗号管理サーバ装置の構成を示すブロック図である。暗号管理サーバ装置201は、通信機能202と、配布暗号モジュール選定部203と、鍵生成部204と、鍵共有部205と、暗号モジュールDB206と、暗号モジュール暗号化部207とを備えている。暗号管理サーバ装置201は、図13における暗号管理サーバ装置101に対応する。
【0100】
通信機能202は、クライアント装置301と通信し、各種情報の送受信を行う。配布暗号モジュール選定部203は、例えば、クライアント装置301の端末識別情報に基づいて、暗号モジュールDB206から暗号モジュールを読み出す。鍵生成部204は、暗号ハードウェア401へ暗号モジュールを送信するための共通鍵を生成する。鍵共有部205は、暗号ハードウェア401の鍵共有部404と連携して鍵共有を行い、生成したセッション鍵を用いて鍵生成部204に生成された共通鍵を暗号ハードウェア401に送信する。暗号モジュールDB206には、予め複数の暗号モジュールが記憶されている。暗号モジュール暗号化部207は、暗号ハードウェア401へ送信する暗号モジュールを鍵生成部204によって生成される鍵を用いて暗号化する。
【0101】
図15は、本発明による第3の実施形態のクライアント装置の構成を示すブロック図である。クライアント装置301は、通信機能302と、暗号モジュールDB303と、端末情報格納部304と、暗号ハードウェア管理制御部305と、暗号実装部306とを備えている。クライアント装置301は、図13におけるクライアント装置102に対応する。
通信機能302は、暗号管理サーバ装置201と通信し、各種情報の送受信を行う。暗号モジュールDB303は、暗号管理サーバ装置201から送信される暗号モジュールを記憶する。端末情報格納部304は、クライアント装置301の個体の情報である端末情報を記憶し、クライアント装置301の識別情報である端末識別情報に対応付けて、例えば、CPUやメモリ容量などを数値化した情報である性能情報や、インストール済みのアプリケーションの情報などが記憶される。暗号ハードウェア管理制御部305は、暗号ハードウェア401と通信を行い、暗号管理サーバ装置201から送信される暗号モジュールを取得する。暗号実装部306には、受信する暗号モジュールが利用可能な状態に実装されており、暗号処理を行う。
【0102】
図16は、本発明による第3の実施形態の暗号ハードウェアの構成を示すブロック図である。暗号ハードウェア401は、通信機能402と、鍵格納部403と、鍵共有部404と、暗号モジュール復号部405とを備えている。暗号ハードウェア401は、図13における暗号ハードウェア103に対応する。
通信機能402は、クライアント装置301と、またはクライアント装置301の暗号ハードウェア管理制御部305を介して暗号管理サーバ装置201と通信を行う。鍵格納部403は、暗号管理サーバ装置201から送信される共通鍵を記憶する。鍵共有部404は、暗号管理サーバ装置201の鍵共有部205と連携して鍵共有を行い、生成したセッション鍵を用いて鍵生成部204に生成された共通鍵を暗号ハードウェア401に送信する。暗号モジュール復号部405は、鍵格納部403に記憶された共通鍵を用いて、受信するデータ(暗号モジュール)を復号する。
【0103】
次に、図17を参照して、第3の実施形態の動作例を説明する。
図17は、本発明による第3の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
まず、クライアント装置301の通信機能302が、暗号管理サーバ装置201に、初期暗号モジュール登録要求を送信する(ステップS1)。暗号管理サーバ装置201の通信機能202が、初期暗号モジュール登録要求を受信すると、クライアント装置301に対し、端末情報要求を送信する(ステップS2)。
【0104】
クライアント装置301の通信機能302が、送信された端末情報要求を受信すると、通信機能302が、端末情報格納部304に格納されているクライアント装置301の端末情報を暗号管理サーバ装置201へ送信する(ステップS3)。暗号管理サーバ装置201の通信機能202が、端末情報を受信すると、配布暗号モジュール選定部203が、例えば、端末の識別情報ごとに暗号モジュールの識別情報との対応表を予め記憶しておくこととして、受信した端末情報に含まれる端末識別情報に基づいてこの対応表を参照して、要求を送ってきたクライアント装置301の端末識別情報に対応する暗号モジュールを、クライアント装置301で利用可能な暗号モジュールとして暗号モジュールDB206から選定し、読み出す(ステップS4)。ここで、端末の識別情報と暗号モジュールの識別情報との対応表のデータ例を図34に示す。図34に示されるように、対応表には、例えば、端末の識別情報である端末IDに対応付けて、搭載中の暗号モジュールの識別情報と、搭載可能暗号モジュールの識別情報とが記憶される。
【0105】
配布暗号モジュール選定部203が、暗号モジュールDB206から暗号モジュールを選定した場合は、暗号管理サーバ装置201の通信機能202が、クライアント装置301に処理の続行を示す情報を送信する。一方、配布暗号モジュール選定部203が、クライアント装置301にて利用可能な暗号モジュールを選定できなかった場合は、通信機能202からクライアント装置301に処理の終了を示す情報を送信する(ステップS5)。
【0106】
クライアント装置301の通信機能302が、暗号管理サーバ装置201から処理の続行を示す情報を受信すると、初期登録情報の要求を暗号管理サーバ装置201へ送信する(ステップS6)。一方、クライアント装置301の通信機能302が、暗号管理サーバ装置201の通信機能202から処理の終了を示す情報を受信した場合、クライアント装置301と暗号管理サーバ装置201との間の通信を終了する。
【0107】
暗号管理サーバ装置201の通信機能202が、初期登録情報の要求を受信すると、鍵生成部204が、クライアント装置301に送信する暗号モジュールを暗号化するための共通鍵を生成する(ステップS7)。そして、暗号管理サーバ装置201の鍵共有部205が、暗号ハードウェア401の鍵共有部404と鍵共有方式による鍵共有を行う。鍵共有方式は、例えば、Diffie−Hellman鍵共有などでも良い。
【0108】
上記Diffie−Hellman鍵共有とは、共通鍵暗号方式における鍵の受け渡しを安全に行うために提案された方式である。すなわち、暗号管理サーバ装置201の鍵生成部204と、暗号ハードウェア401の鍵共有部404が、それぞれ公開鍵と秘密鍵を用意し、公開鍵を公開する。そして、それぞれが自身の秘密鍵に基づいて生成するデータを相手に送信し、それぞれが自身の秘密鍵と受信したデータとに基づいて共有鍵(以下、セッション鍵)を生成する方法である。このように鍵共有を行うことで、送受信されるデータが第三者に盗聴されても、第三者は秘密鍵を持たないためにセッション鍵を生成することができない。
【0109】
暗号管理サーバ装置201の鍵共有部205が、このような鍵共有方式によりセッション鍵の生成に成功すると、クライアント装置301の暗号ハードウェア管理制御部305を介して、暗号ハードウェア401に、セキュアセッションの確立を通知する。同様に、暗号ハードウェア401の鍵共有部404は、セッション鍵の生成に成功すると、暗号管理サーバ装置201に、セキュアセッションの確立を通知する(ステップS8、ステップS9)。ここで、暗号管理サーバ装置201の鍵共有部205と暗号ハードウェア401の鍵共有部404とが、生成したセッション鍵を用いて、送信側が情報を暗号化し、受信側が情報を復号化して通信を行うことを、セキュアセッションにより通信するという。
【0110】
暗号管理サーバ装置201と暗号ハードウェア401との間にセキュアセッションが確立すると、暗号管理サーバ装置201の鍵共有部205が、セッション鍵で共通鍵を暗号化して、セキュアセッションにより、クライアント装置301の通信機能302を介して暗号ハードウェア401に送信する(ステップS10)。暗号ハードウェア401は、受信した共通鍵を、鍵共有部によってセッション鍵を用いて復号して、鍵格納部403に格納する(ステップS11)。
【0111】
暗号ハードウェア401は、共通鍵を取得すると、通信機能402を介して、クライアント装置301にセキュアセッション切断通知を送信する(ステップS12)。暗号管理サーバ装置201は、セキュアセッション切断通知を受信すると、暗号モジュール暗号化部207が、ステップS4で選定した暗号モジュールを、ステップS7で生成した共通鍵に基づいて暗号化する(ステップS13)。暗号管理サーバ装置201の通信機能202は、暗号化された暗号モジュールを、クライアント装置301に送信する(ステップS14)。
【0112】
クライアント装置301の通信機能302が、暗号化された暗号モジュールを受信すると、暗号管理サーバ装置201に、暗号モジュールを正常に受信できたことを示す暗号モジュール受信結果通知を送信する(ステップS15)。そして、暗号管理サーバ装置201の通信機能202が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置201の通信機能202が、クライアント装置301に、初期暗号エンジン登録処理の終了を示す情報を送信する(ステップS16)。
【0113】
また、クライアント装置301の通信機能302が、暗号化された暗号モジュールを受信できなければ、クライアント装置301の通信機能302が、暗号管理サーバ装置201に、暗号モジュールを正常に受信できなかったことを示す暗号モジュール受信結果通知を送信する。そして、暗号管理サーバ装置201の通信機能202が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置201の通信機能202は、暗号モジュールを再送信する。通信機能202は、予め設定された回数を超えて暗号モジュールの再送信処理を行い、暗号モジュールを正常に受信できなかった場合には、エラーとして処理を終了する。
【0114】
クライアント装置301の通信機能302が、初期暗号エンジン登録処理の終了を示す情報を受信した場合、暗号ハードウェア管理制御部305が、暗号ハードウェア401に、暗号管理サーバ装置201から受信した暗号モジュールを送信する(ステップS17)。
そして、暗号ハードウェア401の通信機能402が、暗号化された暗号モジュールを受信すると、暗号エンジン復号部405が、鍵格納部403に記憶された共通鍵を読み出して、この共通鍵を用いて暗号モジュールを復号し(ステップS18)、復号された暗号モジュールを通信機能402により暗号管理サーバ装置201に送信する(ステップS19)。クライアント装置301の暗号ハードウェア管理制御部305が暗号モジュールを受信すると、暗号モジュールを暗号実装部306に実装して、利用可能状態にさせる。さらに、暗号モジュールDB303に、暗号実装部306に格納した暗号モジュールを格納する(ステップS20)。
【0115】
<第4の実施形態>
次に、上述した暗号モジュール配信システムの鍵の配送について、他の実施形態について説明する。第3の実施形態では、暗号モジュールは暗号化された状態で送信されたが、第4の実施形態では、暗号モジュールは暗号化されず、完全性を検証可能なMACを付加する。MACは、メッセージ認証子であり、例えば、秘密鍵であるMAC鍵とハッシュ関数とを組み合わせて算出するMAC値である。メッセージとMACを取得した受信者は、メッセージからMAC値を算出することで、送信者が秘密鍵の所有者であることの確認や、メッセージ送信中に改ざんなどの不正行為が行われていないかを検証することができる。
【0116】
第4の実施形態による暗号モジュール配信システムは第3の実施形態と同様の構成をしており、同様の構成・処理については説明を省略する。以下、第4の実施形態に特有の構成・処理についてのみ説明する。
図18は、本発明による第4の実施形態の暗号管理サーバ装置の構成を示すブロック図である。暗号管理サーバ装置601は、通信機能602と、配布暗号モジュール選定部603と、鍵生成部604と、鍵共有部605と、暗号モジュールDB606と、MAC生成部607とを備えている。暗号管理サーバ装置601は、図13における暗号管理サーバ装置101に対応する。MAC生成部607は、暗号ハードウェア701へ送信する暗号モジュールに、鍵生成部604に生成される鍵を用いて生成するMACを付加する。
【0117】
クライアント装置301は、第3の実施形態と同様の構成である。
図19は、本発明による第4の実施形態の暗号ハードウェアの構成を示すブロック図である。暗号ハードウェア701は、通信機能702と、鍵格納部703と、鍵共有部704と、MAC検証部705とを備えている。暗号ハードウェア701は、図13における暗号ハードウェア103に対応する。
MAC検証部705は、鍵格納部703に記憶されたMAC鍵を用いて、受信するデータ(暗号モジュール)のMACを検証する。
【0118】
次に、図20を参照して、第4の実施形態の動作例を説明する。
図20は、本発明による第4の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
まず、クライアント装置301の通信機能302は、暗号管理サーバ装置601に、初期暗号モジュール登録要求を送信する(ステップS31)。暗号管理サーバ装置601の通信機能602が、初期暗号モジュール登録要求を受信すると、クライアント装置301に対し、端末情報要求を送信する(ステップS32)。
【0119】
クライアント装置301の通信機能302が、送信された端末情報要求を受信すると、通信機能302が、端末情報格納部304に格納されているクライアント装置301の端末情報を暗号管理サーバ装置601へ送信する(ステップS33)。暗号管理サーバ装置601の通信機能602が、端末情報を受信すると、配布暗号モジュール選定部603が、例えば、端末の識別情報ごとに暗号モジュールの識別情報との対応表を予め記憶しており、受信した端末情報に含まれる端末識別情報に基づいてこの対応表を参照して、要求を送ってきたクライアント装置301の端末識別情報に対応する暗号モジュールを、クライアント装置301で利用可能な暗号モジュールとして暗号モジュールDB606から選定し、読み出す(ステップS34)。
【0120】
配布暗号モジュール選定部603が、暗号モジュールDB606から暗号モジュールを選定した場合は、暗号管理サーバ装置601の通信機能602が、クライアント装置301に処理の続行を示す情報を送信する。一方、配布暗号モジュール選定部603が、クライアント装置301にて利用可能な暗号モジュールを選定できなかった場合は、通信機能602からクライアント装置301に処理の終了を示す情報を送信する(ステップS35)。
【0121】
クライアント装置301の通信機能302が、暗号管理サーバ装置601から処理の続行を示す情報を受信すると、初期登録情報の要求を暗号管理サーバ装置601へ送信する(ステップS36)。一方、クライアント装置301の通信機能302が、暗号管理サーバ装置601の通信機能602から処理の終了を示す情報を受信した場合、クライアント装置301と暗号管理サーバ装置601との間の通信を終了する。
【0122】
暗号管理サーバ装置601の通信機能602が、初期登録情報の要求を受信すると、鍵生成部604が、クライアント装置301に送信する暗号モジュールにMACを付加するためのMAC鍵を生成する(ステップS37)。そして、暗号管理サーバ装置601の鍵共有部605が、暗号ハードウェア701の鍵共有部704と鍵共有方式による鍵共有を行う。鍵共有方式は、例えば、Diffie−Hellman鍵共有などでも良い。
【0123】
暗号管理サーバ装置601の鍵共有部605が、このような鍵共有方式によりセッション鍵の生成に成功すると、クライアント装置301の暗号ハードウェア管理制御部305を介して、暗号ハードウェア701に、セキュアセッションの確立を通知する。同様に、暗号ハードウェア701の鍵共有部704は、セッション鍵の生成に成功すると、暗号管理サーバ装置601に、セキュアセッションの確立を通知する(ステップS38、ステップS39)。ここで、暗号管理サーバ装置601の鍵共有部605と暗号ハードウェア701の鍵共有部704とが、生成したセッション鍵を用いて、送信側が情報を暗号化し、受信側が情報を復号化して通信を行うことを、セキュアセッションにより通信するという。
【0124】
暗号管理サーバ装置601と暗号ハードウェア701との間にセキュアセッションが確立すると、暗号管理サーバ装置601の鍵共有部605が、セッション鍵でMAC鍵を暗号化して、セキュアセッションにより、クライアント装置301の通信機能302を介して暗号ハードウェア701に送信する(ステップS40)。暗号ハードウェア701は、受信したMAC鍵を、鍵共有部によってセッション鍵を用いて復号して、鍵格納部703に格納する(ステップS41)。
【0125】
暗号ハードウェア701は、MAC鍵を取得すると、通信機能702を介して、クライアント装置301にセキュアセッション切断通知を送信する(ステップS42)。暗号管理サーバ装置601は、セキュアセッション切断通知を受信すると、MAC生成部607が、ステップS34で選定した暗号モジュールを、ステップS37で生成したMAC鍵に基づいてMAC(値)を算出する(ステップS43)。暗号管理サーバ装置601の通信機能602は、暗号モジュールと算出したMACとを、クライアント装置301に送信する(ステップS44)。
【0126】
クライアント装置301の通信機能302が、暗号モジュールとMACとを受信すると、暗号管理サーバ装置601に、暗号モジュールを正常に受信できたことを示す暗号モジュール受信結果通知を送信する(ステップS45)。そして、暗号管理サーバ装置601の通信機能602が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置601の通信機能602が、クライアント装置301に、初期暗号エンジン登録処理の終了を示す情報を送信する(ステップS46)。
【0127】
また、クライアント装置301の通信機能302が、暗号化された暗号モジュールとMACとを受信できなければ、クライアント装置301の通信機能302が、暗号管理サーバ装置601に、暗号モジュールとMACとを正常に受信できなかったことを示す暗号モジュール受信結果通知を送信する。そして、暗号管理サーバ装置601の通信機能602が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置601の通信機能602は、暗号モジュールを再送信する。通信機能602は、予め設定された回数を超えて暗号モジュールとMACとの再送信処理を行い、暗号モジュールとMACとを正常に受信できなかった場合には、エラーとして処理を終了する。
【0128】
クライアント装置301の通信機能302が、初期暗号エンジン登録処理の終了を示す情報を受信した場合、暗号ハードウェア管理制御部305が、暗号ハードウェア701に、暗号管理サーバ装置601から受信した暗号モジュールとMACとを送信する(ステップS47)。
そして、暗号ハードウェア701の通信機能702が、暗号モジュールとMACとを受信すると、MAC検証部705が、鍵格納部703に記憶したMAC鍵を読み出して、このMAC鍵を用いてMACを検証する(ステップS48)。すなわち、MAC検証部705は、MACが暗号モジュールとMAC鍵とに基づいて算出されたものであれば、MACが正当であることを示す検証結果を生成し、MACが暗号モジュールとMAC鍵とに基づいて算出されたものでなければ、MACが正当ではないことを示す検証結果を生成する。
【0129】
MAC検証部705は、検証結果を通信機能702により暗号管理サーバ装置601に送信する(ステップS49)。クライアント装置301の暗号ハードウェア管理制御部305は、検証結果を受信し、検証結果が正当であることを示す場合は、受信した暗号モジュールを暗号実装部306に実装して、利用可能状態にさせる。さらに、暗号モジュールDB303に、暗号実装部306に格納した暗号モジュールを格納する(ステップS50)。暗号ハードウェア管理制御部305は、受信した検証結果が、正当でないことを示す場合は、エラーとして処理を終了する。
【0130】
<第5の実施形態>
次に、上述した暗号モジュール配信システムの鍵の配送について、他の実施形態について説明する。第5の実施形態では、配信する暗号モジュールを共通鍵で暗号化した上で、MACを付加する。
【0131】
第5の実施形態による暗号モジュール配信システムは第3の実施形態および第4の実施形態と同様の構成をしており、同様の構成・処理については説明を省略する。以下、第5の実施形態に特有の構成・処理についてのみ説明する。
図21は、本発明による第5の実施形態の暗号管理サーバ装置の構成を示すブロック図である。暗号管理サーバ装置901は、通信機能902と、配布暗号モジュール選定部903と、鍵生成部904と、鍵共有部905と、暗号モジュールDB906と、MAC生成部907と、暗号モジュール暗号化部908とを備えている。暗号管理サーバ装置901は、図13における暗号管理サーバ装置101に対応する。
【0132】
クライアント装置301は、第3の実施形態と同様の構成である。
図22は、本発明による第5の実施形態の暗号ハードウェアの構成を示すブロック図である。暗号ハードウェア1001は、通信機能1002と、鍵格納部1003と、鍵共有部1004と、暗号モジュール復号部1005と、MAC検証部1006とを備えている。暗号ハードウェア1001は、図13における暗号ハードウェア103に対応する。
【0133】
次に、図23を参照して、第5の実施形態の動作例を説明する。
図23は、本発明による第5の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
まず、クライアント装置301の通信機能302は、暗号管理サーバ装置901に、初期暗号モジュール登録要求を送信する(ステップS61)。暗号管理サーバ装置901は、通信機能902にて初期暗号モジュール登録要求を受信すると、通信機能902からクライアント装置301に対し、端末情報要求を送信する(ステップS62)。
【0134】
クライアント装置301の通信機能302が、送信された端末情報要求を受信すると、通信機能302が、端末情報格納部304に格納されているクライアント装置301の端末情報を暗号管理サーバ装置901へ送信する(ステップS63)。暗号管理サーバ装置901の通信機能902が、端末情報を受信すると、配布暗号モジュール選定部903が、例えば、端末の識別情報ごとに暗号モジュールの識別情報との対応表を予め記憶しておくこととして、受信した端末情報に含まれる端末識別情報に基づいてこの対応表を参照して、要求を送ってきたクライアント装置301の端末識別情報に対応する暗号モジュールを、クライアント装置301で利用可能な暗号モジュールとして暗号モジュールDB906から選定し、読み出す(ステップS64)。
【0135】
配布暗号モジュール選定部903が、暗号モジュールDB906から暗号モジュールを選定した場合は、暗号管理サーバ装置901の通信機能902が、クライアント装置301に処理の続行を示す情報を送信する。一方、配布暗号モジュール選定部903が、クライアント装置301にて利用可能な暗号モジュールを選定できなかった場合は、通信機能902からクライアント装置301に処理の終了を示す情報を送信する(ステップS65)。
【0136】
クライアント装置301の通信機能302が、暗号管理サーバ装置901から処理の続行を示す情報を受信すると、初期登録情報の要求を暗号管理サーバ装置901へ送信する(ステップS66)。一方、クライアント装置301の通信機能302が、暗号管理サーバ装置901の通信機能902から処理の終了を示す情報を受信した場合、クライアント装置301と暗号管理サーバ装置901との間の通信を終了する。
【0137】
暗号管理サーバ装置901の通信機能902が、初期登録情報の要求を受信すると、鍵生成部904が、クライアント装置301に送信する暗号モジュールを暗号化するための共通鍵と、暗号モジュールにMACを付加するためのMAC鍵とを生成する(ステップS67)。ここで、暗号モジュールを暗号化するための共通鍵とMACを生成するためのMAC鍵は同一でも良い。そして、暗号管理サーバ装置901の鍵共有部905が、暗号ハードウェア1001の鍵共有部1004と鍵共有方式による鍵共有を行う。鍵共有方式は、例えば、Diffie−Hellman鍵共有などでも良い。
【0138】
暗号管理サーバ装置901の鍵共有部905が、このような鍵共有方式によりセッション鍵の生成に成功すると、クライアント装置301の暗号ハードウェア管理制御部305を介して、暗号ハードウェア1001に、セキュアセッションの確立を通知する。同様に、暗号ハードウェア1001の鍵共有部1004は、セッション鍵の生成に成功すると、暗号管理サーバ装置901に、セキュアセッションの確立を通知する(ステップS68、ステップS69)。ここで、暗号管理サーバ装置901の鍵共有部905と暗号ハードウェア1001の鍵共有部1004とが、生成したセッション鍵を用いて、送信側が情報を暗号化し、受信側が情報を復号化して通信を行うことを、セキュアセッションにより通信するという。
【0139】
暗号管理サーバ装置901と暗号ハードウェア1001との間にセキュアセッションが確立すると、暗号管理サーバ装置901の鍵共有部905が、セッション鍵で共通鍵とMAC鍵とを暗号化して、セキュアセッションにより、クライアント装置301の通信機能302を介して暗号ハードウェア1001に送信する(ステップS70)。暗号ハードウェア1001は、受信した共通鍵とMAC鍵とを、鍵共有部によってセッション鍵を用いて復号して、鍵格納部1003に格納する(ステップS71)。
【0140】
暗号ハードウェア1001は、共通鍵とMAC鍵とを取得すると、通信機能1002を介して、クライアント装置301にセキュアセッション切断通知を送信する(ステップS72)。暗号管理サーバ装置901は、セキュアセッション切断通知を受信する。そして、暗号モジュール暗号化部908が、ステップS67で生成した共通鍵に基づいて暗号モジュールを暗号化する(ステップS73)。さらに、MAC生成部907が、ステップS67で生成したMAC鍵に基づいて、暗号モジュールのMAC(値)を算出する(ステップS74)。ここで、暗号モジュールのMACを算出した後に、暗号モジュールとMACとを合わせてステップS67で生成した共通鍵に基づいて暗号化した情報をクライアント装置301に送信しても良い。暗号管理サーバ装置901の通信機能902は、暗号化された暗号モジュールと算出したMACとを、クライアント装置301に送信する(ステップS75)。
【0141】
クライアント装置301の通信機能302が、暗号化された暗号モジュールとMACとを受信すると、暗号管理サーバ装置901に、暗号化された暗号モジュールとMACとを正常に受信できたことを示す暗号モジュール受信結果通知を送信する(ステップS76)。そして、暗号管理サーバ装置901の通信機能902が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置901の通信機能902が、クライアント装置301に、初期暗号エンジン登録処理の終了を示す情報を送信する(ステップS77)。
【0142】
また、クライアント装置301の通信機能302が、暗号化された暗号モジュールとMACとを受信できなければ、クライアント装置301の通信機能302が、暗号管理サーバ装置901に、暗号モジュールとMACとを正常に受信できなかったことを示す暗号モジュール受信結果通知を送信する。そして、暗号管理サーバ装置901の通信機能902が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置901の通信機能902は、暗号化された暗号モジュールとMACとを再送信する。通信機能902は、予め設定された回数を超えて暗号化された暗号モジュールとMACとの再送信処理を行い、暗号化された暗号モジュールとMACとを正常に受信できなかった場合には、エラーとして処理を終了する。
【0143】
クライアント装置301の通信機能302が、初期暗号エンジン登録処理の終了を示す情報を受信した場合、暗号ハードウェア管理制御部305が、暗号ハードウェア1001に、暗号管理サーバ装置901から受信した暗号化された暗号モジュールとMACとを送信する(ステップS78)。
そして、暗号ハードウェア1001の通信機能1002が、暗号化された暗号モジュールとMACとを受信すると、暗号モジュール復号部1005が、鍵格納部1003に記憶された共通鍵を読み出して、この共通鍵を用いて暗号化された暗号モジュールを復号する(ステップS79)。さらに、MAC検証部1006が、鍵格納部1003に記憶したMAC鍵を読み出して、このMAC鍵を用いてMACが正当であるか否かを検証し(ステップS80)、検証結果を生成する。
【0144】
通信機能1002は、復号した暗号モジュールと検証結果とを暗号管理サーバ装置901に送信する(ステップS81)。クライアント装置301の暗号ハードウェア管理制御部305は、暗号モジュールと検証結果とを受信し、検証結果が正当であることを示す場合は、受信した暗号モジュールを暗号実装部306に実装して、利用可能状態にさせる。さらに、暗号モジュールDB303に、暗号実装部306に格納した暗号モジュールを格納する(ステップS82)。暗号ハードウェア管理制御部305は、受信した検証結果が、正当でないことを示す場合は、エラーとして処理を終了する。
【0145】
<第6の実施形態>
次に、上述した暗号モジュール配信システムの鍵の配送について、他の実施形態について説明する。
第1から第5の実施形態では、配信する暗号モジュール全体を1ファイルとして暗号化またはMACを付加して送信しているが、暗号ハードウェアの処理能力の制限等により、暗号ハードウェアが大きなデータを処理できない場合がありえる。そこで、暗号モジュールを予め決められたサイズに分割して送信する。すなわち、図27に示すように、暗号管理サーバ装置が暗号モジュールを予め定められたサイズに分割し、鍵を用いて暗号化した上で、クライアント装置に送信する。クライアント装置は、受信したぞれぞれの分割暗号モジュールを1つずつ暗号ハードウェアに復号させ、復号された暗号モジュールを結合する。これにより、暗号ハードウェアが一度に復号するデータの容量が小さくて済む。
【0146】
第6の実施形態では、第1の実施形態に加えて、暗号モジュールを予め決められたサイズに分割して送信する動作例を示す。すなわち、配信する暗号モジュールを共通鍵で暗号化した上で、暗号モジュールを分割する。第6の実施形態による暗号モジュール配信システムは第3の実施形態と同様の構成をしており、同様の構成・処理については説明を省略する。以下、第6の実施形態に特有の構成・処理についてのみ説明する。
図24は、本発明による第6の実施形態の暗号管理サーバ装置の構成を示すブロック図である。暗号管理サーバ装置1201は、通信機能1202と、配布暗号モジュール選定部1203と、鍵生成部1204と、鍵共有部1205と、暗号モジュールDB1206と、暗号モジュール分割部1207と、暗号モジュール暗号化部1208とを備えている。暗号管理サーバ装置1201は、図13における暗号管理サーバ装置101に対応する。
【0147】
図25は、本発明による第6の実施形態のクライアント装置の構成を示すブロック図である。クライアント装置1301は、通信機能1302と、端末情報格納部1304と、暗号ハードウェア管理制御部1305と、暗号実装部1306と、暗号モジュール結合部1307とを備えている。クライアント装置1301は、図13におけるクライアント装置102に対応する。
暗号ハードウェア401は、第3の実施形態と同様の構成である。
【0148】
次に、図26を参照して、第6の実施形態の動作例を説明する。
図26は、本発明による第6の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
まず、クライアント装置1301の通信機能1302は、暗号管理サーバ装置1201に、初期暗号モジュール登録要求を送信する(ステップS91)。暗号管理サーバ装置1201の通信機能1202が、初期暗号モジュール登録要求を受信すると、クライアント装置1301に対し、端末情報要求を送信する(ステップS92)。
【0149】
クライアント装置1301の通信機能1302が、送信された端末情報要求を受信すると、通信機能1302が、端末情報格納部1304に格納されているクライアント装置1301の端末情報を暗号管理サーバ装置1201へ送信する(ステップS93)。暗号管理サーバ装置1201の通信機能1202が、端末情報を受信すると、配布暗号モジュール選定部1203が、例えば、端末の識別情報ごとに暗号モジュールの識別情報との対応表を予め記憶しておくこととして、受信した端末情報に含まれる端末識別情報に基づいてこの対応表を参照して、要求を送ってきたクライアント装置1301の端末識別情報に対応する暗号モジュールを、クライアント装置1301で利用可能な暗号モジュールとして暗号モジュールDB1206から選定し、読み出す(ステップS94)。
【0150】
配布暗号モジュール選定部1203が、暗号モジュールDB1206から暗号モジュールを選定した場合は、暗号管理サーバ装置1201の通信機能1202が、クライアント装置1301に処理の続行を示す情報を送信する。一方、配布暗号モジュール選定部1203が、クライアント装置1301にて利用可能な暗号モジュールを選定できなかった場合は、通信機能1202からクライアント装置1301に処理の終了を示す情報を送信する(ステップS95)。
【0151】
クライアント装置1301の通信機能1302が、暗号管理サーバ装置1201から処理の続行を示す情報を受信すると、初期登録情報の要求を暗号管理サーバ装置1201へ送信する(ステップS96)。一方、クライアント装置1301の通信機能1302が、暗号管理サーバ装置1201の通信機能1202から処理の終了を示す情報を受信した場合、クライアント装置1301と暗号管理サーバ装置1201との間の通信を終了する。
【0152】
暗号管理サーバ装置1201の通信機能1202が、初期登録情報の要求を受信すると、鍵生成部1204が、クライアント装置1301に送信する暗号モジュールを暗号化するための共通鍵を生成する(ステップS97)。ここで、鍵生成部1204は、暗号モジュールを暗号化するための共通鍵を複数個生成しても良い。そして、暗号管理サーバ装置1201の鍵共有部1205が、暗号ハードウェア401の鍵共有部404と鍵共有方式による鍵共有を行う。鍵共有方式は、例えば、Diffie−Hellman鍵共有などでも良い。
【0153】
暗号管理サーバ装置1201の鍵共有部1205が、このような鍵共有方式によりセッション鍵の生成に成功すると、クライアント装置1301の暗号ハードウェア管理制御部1305を介して、暗号ハードウェア401に、セキュアセッションの確立を通知する。同様に、暗号ハードウェア401の鍵共有部404は、セッション鍵の生成に成功すると、暗号管理サーバ装置1201に、セキュアセッションの確立を通知する(ステップS98、ステップS99)。ここで、暗号管理サーバ装置1201の鍵共有部1205と暗号ハードウェア401の鍵共有部404とが、生成したセッション鍵を用いて、送信側が情報を暗号化し、受信側が情報を復号化して通信を行うことを、セキュアセッションにより通信するという。
【0154】
暗号管理サーバ装置1201と暗号ハードウェア401との間にセキュアセッションが確立すると、暗号管理サーバ装置1201の鍵共有部1205が、鍵生成部1204に生成された1または複数の共通鍵をセッション鍵で暗号化して、セキュアセッションにより、クライアント装置1301の通信機能1302を介して暗号ハードウェア401に送信する(ステップS100)。暗号ハードウェア401は、受信した1または複数の共通鍵を、鍵共有部によってセッション鍵を用いて復号して、鍵格納部403に格納する(ステップS101)。
【0155】
暗号ハードウェア401は、1または複数の共通鍵を取得すると、通信機能402を介して、クライアント装置1301にセキュアセッション切断通知を送信する(ステップS102)。暗号管理サーバ装置1201は、セキュアセッション切断通知を受信すると、暗号モジュール分割部1207が、ステップS94で選定した暗号モジュールを、予め定められたサイズ以下になるように分割し、複数(例えば、N個)の分割暗号モジュールとする(ステップS103)。暗号モジュール暗号化部1208が、鍵生成部1204に生成された共通鍵を使って分割暗号モジュールを暗号化する(ステップS104)。
【0156】
この際、ステップS97で複数の共通鍵を生成し、暗号ハードウェア401に送信している場合は、分割暗号モジュール毎にそれぞれ異なる共通鍵を用いて暗号化するようにしても良い。また,暗号管理サーバ装置1201と暗号ハードウェア401で予め決められた関数を共有することにより、送信した1つの鍵からその関数を用いて複数の鍵を導出し、それら導出した複数の鍵の範囲で分割暗号モジュール毎に暗号化する鍵を変えても良い。
【0157】
暗号管理サーバ装置1201の通信機能1202が、暗号化された分割暗号モジュールを、クライアント装置1301に、1個ずつN回送信する(ステップS105、ステップS106)。
【0158】
クライアント装置1301の通信機能1302が、暗号化された分割暗号モジュールを受信すると、暗号管理サーバ装置1201に分割暗号モジュールを正常に受信できたことを示す暗号モジュール受信結果通知を送信する(ステップS107)。そして、暗号管理サーバ装置1201の通信機能1202が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置1201の通信機能1202が、クライアント装置1301に、初期暗号エンジン登録処理の終了を示す情報を送信する(ステップS108)。
【0159】
また、クライアント装置1301の通信機能1302が、暗号化された分割暗号モジュールを受信できなければ、クライアント装置1301の通信機能1302が、暗号管理サーバ装置1201に、暗号モジュールを正常に受信できなかったことを示す暗号モジュール受信結果通知を送信する。そして、暗号管理サーバ装置1201の通信機能1202が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置1201の通信機能1202は、暗号モジュールを再送信する。通信機能1202は、予め設定された回数を超えて暗号モジュールの再送信処理を行い、分割暗号モジュールを正常に受信できなかった場合には、エラーとして処理を終了する。
【0160】
クライアント装置1301の通信機能1302が、初期暗号エンジン登録処理の終了を示す情報を受信した場合、暗号ハードウェア管理制御部1305が、暗号ハードウェア401に、暗号管理サーバ装置1201から受信した暗号モジュールを送信する(ステップS109)。
そして、暗号ハードウェア401の通信機能402が、暗号化された分割暗号モジュールを受信すると、暗号エンジン復号部405が、鍵格納部403に記憶された共通鍵を読み出して、この共通鍵を用いて分割暗号モジュールを復号し(ステップS110)、復号された分割暗号モジュールを通信機能402によりクライアント装置1301に送信する(ステップS111)。
【0161】
分割暗号モジュールの送受信は分割数と同じ回数(N回)行う。クライアント装置1301の暗号ハードウェア管理制御部1305が、分割暗号モジュールの分割数と同じ回数だけ分割暗号モジュールを受信すると、暗号モジュール結合部1307が、受信した全ての分割暗号モジュールを結合する(ステップS112)。クライアント装置1301の暗号ハードウェア管理制御部1305が、結合された暗号モジュールを受信すると、暗号モジュールを暗号実装部1306に実装して、利用可能状態にさせる。暗号ハードウェア管理制御部1305は、暗号モジュールDB1303に、暗号実装部1306に格納した暗号モジュールを格納する(ステップS113)。
【0162】
<第7の実施形態>
次に、上述した暗号モジュール配信システムの鍵の配送について、他の実施形態について説明する。第6の実施形態では、第3の実施形態に加えて暗号モジュールを予め定められたサイズに分割して送信する動作例を示したが、第4の実施形態のような、MACを付加した暗号モジュールを配信する場合にも、暗号モジュールを予め定められたサイズに分割して送信するようにしても良い。
【0163】
第7の実施形態では、配信する暗号モジュールを分割した後、それぞれの分割暗号モジュールに対してMACを付加して配信する。第7の実施形態による暗号モジュール配信システムは第4の実施形態と同様の構成をしており、同様の構成・処理については説明を省略する。以下、第7の実施形態に特有の構成・処理についてのみ説明する。
【0164】
図28は、本発明による第7の実施形態の暗号管理サーバ装置の構成を示すブロック図である。暗号管理サーバ装置1401は、通信機能1402と、配布暗号モジュール選定部1403と、鍵生成部1404と、鍵共有部1405と、暗号モジュールDB1406と、暗号モジュール分割部1407と、MAC生成部1408とを備えている。暗号管理サーバ装置1401は、図13における暗号管理サーバ装置101に対応する。
【0165】
図29は、本発明による第7の実施形態のクライアント装置の構成を示すブロック図である。クライアント装置1501は、通信機能1502と、端末情報格納部1504と、暗号ハードウェア管理制御部1505と、暗号実装部1506と、暗号モジュール結合部1507とを備えている。クライアント装置1501は、図13におけるクライアント装置102に対応する。
暗号ハードウェアは、第4の実施形態と同様の構成である暗号ハードウェア701とする。暗号ハードウェア701は、図13における暗号ハードウェア103に対応する。
【0166】
次に、図30を参照して、第7の実施形態の動作例を説明する。
図30は、本発明による第7の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
まず、クライアント装置1501の通信機能1502は、暗号管理サーバ装置1401に、初期暗号モジュール登録要求を送信する(ステップS121)。暗号管理サーバ装置1401の通信機能1402が、初期暗号モジュール登録要求を受信すると、クライアント装置1501に対し、端末情報要求を送信する(ステップS122)。
【0167】
クライアント装置1501の通信機能1502が、送信された端末情報要求を受信すると、通信機能1502が、端末情報格納部1504に格納されているクライアント装置1501の端末情報を暗号管理サーバ装置1401へ送信する(ステップS123)。暗号管理サーバ装置1401の通信機能1402が、端末情報を受信すると、配布暗号モジュール選定部1403が、例えば、端末の識別情報ごとに暗号モジュールの識別情報との対応表を予め記憶しておくこととして、受信した端末情報に含まれる端末識別情報に基づいてこの対応表を参照して、要求を送ってきたクライアント装置1501の端末識別情報に対応する暗号モジュールを、クライアント装置1501で利用可能な暗号モジュールとして暗号モジュールDB1406から選定し、読み出す(ステップS124)。
【0168】
配布暗号モジュール選定部1403が、暗号モジュールDB1406から暗号モジュールを選定した場合は、暗号管理サーバ装置1401の通信機能1402が、クライアント装置1501に処理の続行を示す情報を送信する。一方、配布暗号モジュール選定部1403が、クライアント装置1501にて利用可能な暗号モジュールを選定できなかった場合は、通信機能1402からクライアント装置1501に処理の終了を示す情報を送信する(ステップS125)。
【0169】
クライアント装置1501の通信機能1502が、暗号管理サーバ装置1401から処理の続行を示す情報を受信すると、初期登録情報の要求を暗号管理サーバ装置1401へ送信する(ステップS126)。一方、クライアント装置1501の通信機能1502が、暗号管理サーバ装置1401の通信機能1402から処理の終了を示す情報を受信した場合、クライアント装置1501と暗号管理サーバ装置1401との間の通信を終了する。
【0170】
暗号管理サーバ装置1401の通信機能1402が、初期登録情報の要求を受信すると、鍵生成部1404が、クライアント装置1501に送信する暗号モジュールにMACを付加するためのMAC鍵を生成する(ステップS127)。ここで、鍵生成部1404は、暗号モジュールを暗号化するためのMAC鍵を複数個生成しても良い。そして、暗号管理サーバ装置1401の鍵共有部1405が、暗号ハードウェア701の鍵共有部704と鍵共有方式による鍵共有を行う。鍵共有方式は、例えば、Diffie−Hellman鍵共有などでも良い。
【0171】
暗号管理サーバ装置1401の鍵共有部1405が、このような鍵共有方式によりセッション鍵の生成に成功すると、クライアント装置1501の暗号ハードウェア管理制御部1505を介して、暗号ハードウェア701に、セキュアセッションの確立を通知する。同様に、暗号ハードウェア701の鍵共有部704は、セッション鍵の生成に成功すると、暗号管理サーバ装置1401に、セキュアセッションの確立を通知する(ステップS128、ステップS129)。ここで、暗号管理サーバ装置1401の鍵共有部1405と暗号ハードウェア701の鍵共有部704とが、生成したセッション鍵を用いて、送信側が情報を暗号化し、受信側が情報を復号化して通信を行うことを、セキュアセッションにより通信するという。
【0172】
暗号管理サーバ装置1401と暗号ハードウェア701との間にセキュアセッションが確立すると、暗号管理サーバ装置1401の鍵共有部1405が、鍵生成部1404に生成された1または複数のMAC鍵をセッション鍵で暗号化して、セキュアセッションにより、クライアント装置1501の通信機能1502を介して暗号ハードウェア701に送信する(ステップS130)。暗号ハードウェア701は、受信した1または複数のMAC鍵を、鍵共有部によってセッション鍵を用いて復号して、鍵格納部703に格納する(ステップS131)。
【0173】
暗号ハードウェア701は、1または複数のMAC鍵を取得すると、通信機能702を介して、クライアント装置1501にセキュアセッション切断通知を送信する(ステップS132)。暗号管理サーバ装置1401は、セキュアセッション切断通知を受信すると、暗号モジュール分割部1407が、ステップS124で選定した暗号モジュールを、予め定められたサイズ以下になるように分割し、複数(例えば、N個)の分割暗号モジュールとする(ステップS133)。MAC生成部1408が、鍵生成部1404に生成されたMAC鍵を使って分割暗号モジュールのMACを生成する(ステップS134)。
【0174】
この際、ステップS127で複数のMAC鍵を生成し、暗号ハードウェア701に送信している場合は、分割暗号モジュール毎にそれぞれ異なるMAC鍵を用いてMAC生成するようにしても良い。また,暗号管理サーバ装置1401と暗号ハードウェア701で予め決められた関数を共有することにより、送信した1つの鍵からその関数を用いて複数の鍵を導出し、それら導出した複数の鍵の範囲で分割暗号モジュール毎にMAC生成する鍵を変えても良い。
【0175】
暗号管理サーバ装置1401の通信機能1402が、MACが付加された分割暗号モジュールを、クライアント装置1501に、1個ずつN回送信する(ステップS135、ステップS136)。
【0176】
クライアント装置1501の通信機能1502が、MACが付加された分割暗号モジュールを受信すると、暗号管理サーバ装置1401に分割暗号モジュールを正常に受信できたことを示す暗号モジュール受信結果通知を送信する(ステップS137)。そして、暗号管理サーバ装置1401の通信機能1402が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置1401の通信機能1402が、クライアント装置1501に、初期暗号エンジン登録処理の終了を示す情報を送信する(ステップS138)。
【0177】
また、クライアント装置1501の通信機能1502が、MACが付加された分割暗号モジュールを受信できなければ、クライアント装置1501の通信機能1502が、暗号管理サーバ装置1401に、暗号モジュールを正常に受信できなかったことを示す暗号モジュール受信結果通知を送信する。そして、暗号管理サーバ装置1401の通信機能1402が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置1401の通信機能1402は、暗号モジュールを再送信する。通信機能1402は、予め設定された回数を超えて暗号モジュールの再送信処理を行い、分割暗号モジュールを正常に受信できなかった場合には、エラーとして処理を終了する。
【0178】
クライアント装置1501の通信機能1502が、初期暗号エンジン登録処理の終了を示す情報を受信した場合、暗号ハードウェア管理制御部1505が、暗号ハードウェア701に、暗号管理サーバ装置1401から受信したMACが付加された分割暗号モジュールを送信する(ステップS139)。
そして、暗号ハードウェア701の通信機能702が、MACが付加された分割暗号モジュールを受信すると、暗号エンジン復号部405が、鍵格納部703に記憶された共通鍵を読み出して、このMAC鍵を用いてMAC検証を行い、(ステップS140)、MACが正当であるか否かを示す検証結果を通信機能702によりクライアント装置1501に送信する(ステップS141)。
【0179】
分割暗号モジュールの送受信(ステップS139〜ステップS141の処理)は分割数と同じ回数(N回)行う。クライアント装置1501の暗号ハードウェア管理制御部1505が、分割暗号モジュールの分割数と同じ回数だけ分割暗号モジュールを受信すると、暗号モジュール結合部1507が、受信した全ての分割暗号モジュールを結合する(ステップS142)。クライアント装置1501の暗号ハードウェア管理制御部1505が、結合された暗号モジュールを受信すると、暗号モジュールを暗号実装部1506に実装して、利用可能状態にさせる。暗号ハードウェア管理制御部1505は、暗号モジュールDB1503に、暗号実装部1506に格納した暗号モジュールを格納する(ステップS143)。
【0180】
<第8の実施形態>
次に、上述した暗号モジュール配信システムの鍵の配送について、他の実施形態について説明する。第7の実施形態では、第4の実施形態に加えて暗号モジュールを予め定められたサイズに分割して送信する動作例を示したが、第5の実施形態のような、暗号化された上にMACを付加した暗号モジュールを配信する場合にも、暗号モジュールを予め定められたサイズに分割して送信するようにしても良い。
【0181】
第8の実施形態では、配信する暗号モジュールを分割した後、それぞれの分割暗号モジュールを暗号化し、さらにMACを付加して配信する。第8の実施形態による暗号モジュール配信システムは第5の実施形態と同様の構成をしており、同様の構成・処理については説明を省略する。以下、第8の実施形態に特有の構成・処理についてのみ説明する。
【0182】
図31は、本発明による第8の実施形態の暗号管理サーバ装置の構成を示すブロック図である。暗号管理サーバ装置1701は、通信機能1702と、配布暗号モジュール選定部1703と、鍵生成部1704と、鍵共有部1705と、暗号モジュールDB1706と、暗号モジュール分割部1707と、MAC生成部1708と、暗号モジュール暗号化部1709とを備えている。暗号管理サーバ装置1701は、図13における暗号管理サーバ装置101に対応する。
【0183】
図32は、本発明による第8の実施形態のクライアント装置の構成を示すブロック図である。クライアント装置1801は、通信機能1802と、暗号モジュールDB1803端末情報格納部1804と、暗号ハードウェア管理制御部1805と、暗号実装部1806と、暗号モジュール結合部1807とを備えている。クライアント装置1801は、図13におけるクライアント装置102に対応する。
暗号ハードウェアは、第5の実施形態と同様の構成である暗号ハードウェア1001とする。暗号ハードウェア1001は、図13における暗号ハードウェア103に対応する。
【0184】
次に、図33を参照して、第8の実施形態の動作例を説明する。
図33は、本発明による第8の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
まず、クライアント装置1801の通信機能1802は、暗号管理サーバ装置1701に、初期暗号モジュール登録要求を送信する(ステップS151)。暗号管理サーバ装置1701の通信機能1702が、初期暗号モジュール登録要求を受信すると、クライアント装置1801に対し、端末情報要求を送信する(ステップS152)。
【0185】
クライアント装置1801の通信機能1802が、送信された端末情報要求を受信すると、通信機能1802が、端末情報格納部1804に格納されているクライアント装置1801の端末情報を暗号管理サーバ装置1701へ送信する(ステップS153)。暗号管理サーバ装置1701の通信機能1702が、端末情報を受信すると、配布暗号モジュール選定部1703が、例えば、端末の識別情報ごとに暗号モジュールの識別情報との対応表を予め記憶しておくこととして、受信した端末情報に含まれる端末識別情報に基づいてこの対応表を参照して、要求を送ってきたクライアント装置1801の端末識別情報に対応する暗号モジュールを、クライアント装置1801で利用可能な暗号モジュールとして暗号モジュールDB1706から選定し、読み出す(ステップS154)。
【0186】
配布暗号モジュール選定部1703が、暗号モジュールDB1706から暗号モジュールを選定した場合は、暗号管理サーバ装置1701の通信機能1702が、クライアント装置1801に処理の続行を示す情報を送信する。一方、配布暗号モジュール選定部1703が、クライアント装置1801にて利用可能な暗号モジュールを選定できなかった場合は、通信機能1702からクライアント装置1801に処理の終了を示す情報を送信する(ステップS155)。
【0187】
クライアント装置1801の通信機能1802が、暗号管理サーバ装置1701から処理の続行を示す情報を受信すると、初期登録情報の要求を暗号管理サーバ装置1701へ送信する(ステップS156)。一方、クライアント装置1801の通信機能1802が、暗号管理サーバ装置1701の通信機能1702から処理の終了を示す情報を受信した場合、クライアント装置1801と暗号管理サーバ装置1701との間の通信を終了する。
【0188】
暗号管理サーバ装置1701の通信機能1702が、初期登録情報の要求を受信すると、鍵生成部1704が、クライアント装置1801に送信する暗号モジュールを暗号化するための共通鍵と、暗号モジュールにMACを付加するためのMAC鍵とを生成する(ステップS157)。ここで、鍵生成部1704は、共通鍵とMAC鍵とをそれぞれ複数個生成しても良い。そして、暗号管理サーバ装置1701の鍵共有部1705が、暗号ハードウェア1001の鍵共有部1004と鍵共有方式による鍵共有を行う。鍵共有方式は、例えば、Diffie−Hellman鍵共有などでも良い。
【0189】
暗号管理サーバ装置1701の鍵共有部1705が、このような鍵共有方式によりセッション鍵の生成に成功すると、クライアント装置1801の暗号ハードウェア管理制御部1805を介して、暗号ハードウェア1001に、セキュアセッションの確立を通知する。同様に、暗号ハードウェア1001の鍵共有部1004は、セッション鍵の生成に成功すると、暗号管理サーバ装置1701に、セキュアセッションの確立を通知する(ステップS158、ステップS159)。ここで、暗号管理サーバ装置1701の鍵共有部1705と暗号ハードウェア1001の鍵共有部1004とが、生成したセッション鍵を用いて、送信側が情報を暗号化し、受信側が情報を復号化して通信を行うことを、セキュアセッションにより通信するという。
【0190】
暗号管理サーバ装置1701と暗号ハードウェア1001との間にセキュアセッションが確立すると、暗号管理サーバ装置1701の鍵共有部1705が、鍵生成部1704に生成された1または複数の共通鍵およびMAC鍵をセッション鍵で暗号化して、セキュアセッションにより、クライアント装置1801の通信機能1802を介して暗号ハードウェア1001に送信する(ステップS160)。暗号ハードウェア1001は、受信した1または複数の共通鍵およびMAC鍵を、鍵共有部によってセッション鍵を用いて復号して、鍵格納部1003に格納する(ステップS161)。
【0191】
暗号ハードウェア1001は、1または複数の共通鍵およびMAC鍵を取得すると、通信機能1002を介して、クライアント装置1801にセキュアセッション切断通知を送信する(ステップS162)。暗号管理サーバ装置1701は、セキュアセッション切断通知を受信すると、暗号モジュール分割部1707が、ステップS124で選定した暗号モジュールを、予め定められたサイズ以下になるように分割し、複数(例えば、N個)の分割暗号モジュールとする(ステップS163)。暗号モジュール暗号化部1709が、鍵生成部1704に生成された共通鍵に基づいて、分割暗号モジュールを暗号化する。さらに、MAC生成部1708が、鍵生成部1704に生成されたMAC鍵を使って分割暗号モジュールのMACを生成する(ステップS164)。ここで、暗号モジュールのMACを生成した後に、暗号モジュールとMACとを合わせて鍵生成部1704に生成された共通鍵に基づいて暗号化しても良い。
【0192】
この際、ステップS157で複数の共通鍵を生成し、暗号ハードウェア1001に送信している場合は、分割暗号モジュール毎にそれぞれ異なる共通鍵を用いて暗号化するようにしても良い。また,暗号管理サーバ装置1701と暗号ハードウェア1001で予め決められた関数を共有することにより、送信した1つの鍵からその関数を用いて複数の鍵を導出し、それら導出した複数の鍵の範囲で分割暗号モジュール毎に暗号化する鍵を変えても良い。さらに、ステップS157で複数のMAC鍵を生成し、暗号ハードウェア1001に送信している場合は、分割暗号モジュール毎にそれぞれ異なるMAC鍵を用いてMAC生成するようにしても良い。また,暗号管理サーバ装置1701と暗号ハードウェア1001で予め決められた関数を共有することにより、送信した1つの鍵からその関数を用いて複数の鍵を導出し、それら導出した複数の鍵の範囲で分割暗号モジュール毎にMAC生成する鍵を変えても良い。
【0193】
暗号管理サーバ装置1701の通信機能1702が、暗号化かつMACが付加された分割暗号モジュールを、クライアント装置1801に、1個ずつN回送信する(ステップS165、ステップS166)。
【0194】
クライアント装置1801の通信機能1802が、暗号化かつMACが付加された分割暗号モジュールを受信すると、暗号管理サーバ装置1701に暗号化かつ分割暗号モジュールを正常に受信できたことを示す暗号モジュール受信結果通知を送信する(ステップS167)。そして、暗号管理サーバ装置1701の通信機能1702が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置1701の通信機能1702が、クライアント装置1801に、初期暗号エンジン登録処理の終了を示す情報を送信する(ステップS168)。
【0195】
また、クライアント装置1801の通信機能1802が、暗号化かつMACが付加された分割暗号モジュールを受信できなければ、クライアント装置1801の通信機能1802が、暗号管理サーバ装置1701に、暗号モジュールを正常に受信できなかったことを示す暗号モジュール受信結果通知を送信する。そして、暗号管理サーバ装置1701の通信機能1702が暗号モジュール受信結果通知を受信すると、暗号管理サーバ装置1701の通信機能1702は、暗号モジュールを再送信する。通信機能1702は、予め設定された回数を超えて暗号モジュールの再送信処理を行い、分割暗号モジュールを正常に受信できなかった場合には、エラーとして処理を終了する。
【0196】
クライアント装置1801の通信機能1802が、初期暗号エンジン登録処理の終了を示す情報を受信した場合、暗号ハードウェア管理制御部1805が、暗号ハードウェア1001に、暗号管理サーバ装置1701から受信した暗号化かつMACが付加された分割暗号モジュールを送信する(ステップS169)。
そして、暗号ハードウェア1001の通信機能1002が、暗号化かつMACが付加された分割暗号モジュールを受信すると、暗号モジュール復号部1005が、鍵格納部1003に記憶された共通鍵を読み出して、読み出した共通鍵に基づいて分割暗号モジュールを復号する。また、MAC検証部1006が、鍵格納部1003に記憶されたMAC鍵を読み出して、このMAC鍵を用いてMAC検証を行う(ステップS170)。通信機能1002が、復号された分割暗号モジュールと、MACが正当であるか否かを示す検証結果とをクライアント装置1801に送信する(ステップS171)。
【0197】
分割暗号モジュールの送受信(ステップS169〜ステップS171の処理)は分割数と同じ回数(N回)行う。クライアント装置1801の暗号ハードウェア管理制御部1805が、分割暗号モジュールの分割数と同じ回数だけ分割暗号モジュールを受信すると、暗号モジュール結合部1807が、受信した全ての分割暗号モジュールを結合する(ステップS172)。クライアント装置1801の暗号ハードウェア管理制御部1805が、結合された暗号モジュールを受信すると、暗号モジュールを暗号実装部1806に実装して、利用可能状態にさせる。暗号ハードウェア管理制御部1805は、暗号モジュールDB1803に、暗号実装部1806に格納した暗号モジュールを格納する(ステップS173)。
【0198】
以上説明したように、本発明によれば、サーバが端末装置に暗号アルゴリズム(プログラム)を送信する場合、端末装置は暗号処理を行うハードウェアを使って、送信されたデータ(プログラム)の正当性を検証し、正しい場合に端末装置に組み込むことで、送信されたアルゴリズム(プログラム)が正当なものであるか否かを検証する。また、一旦、サーバから暗号アルゴリズム(プログラム)が送信され、端末装置に組み込んだ場合は、暗号処理を行うハードウェアは使わずに暗号アルゴリズム(プログラム)を受信し、組み込む。この場合も送られたデータ(プログラム)の正当性を検証可能である。
【0199】
すなわち、クライアント装置側で暗号アルゴリズム(プログラム)を全く保持していない場合に、暗号処理を行うハードウェアを補助的に使ってサーバからクライアント装置に暗号アルゴリズムを送信することで、クライアント装置で新規暗号アルゴリズムを利用可能な状態にすることができる。
【0200】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより暗号モジュールの配布を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0201】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【図面の簡単な説明】
【0202】
【図1】本発明の第1の実施形態による暗号モジュール配信システムの構成を示すブロック図である。
【図2】本発明の第1の実施形態による暗号クライアント装置の構成を示すブロック図である。
【図3】本発明の第1の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図4】本発明の第2の実施形態による暗号モジュール配信システムの構成を示すブロック図である。
【図5】本発明の第2の実施形態による暗号クライアント装置の構成を示すブロック図である。
【図6】本発明の第2の実施形態による選定DBのデータ構成例を示す図である。
【図7】本発明の第2の実施形態による暗号モジュールリンクDBのデータ構成例を示す図である。
【図8】本発明の第2の実施形態による暗号モジュールDBのデータ構成例を示す図である。
【図9】本発明の第2の実施形態による鍵情報DBのデータ構成例を示す図である。
【図10】本発明の第2の実施形態による暗号処理DBのデータ構成例を示す図である。
【図11】本発明の第2の実施形態によるデータベースの論理構成を示す図である。
【図12】本発明の第2の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図13】本発明の第3の実施形態による暗号モジュール配信システムの構成を示す図である。
【図14】本発明の第3の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図15】本発明の第3の実施形態によるクライアント装置の構成を示すブロック図である。
【図16】本発明の第3の実施形態による暗号ハードウェアの構成を示すブロック図である。
【図17】本発明の第3の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
【図18】本発明の第4の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図19】本発明の第4の実施形態による暗号ハードウェアの構成を示すブロック図である。
【図20】本発明の第4の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
【図21】本発明の第5の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図22】本発明の第5の実施形態による暗号ハードウェアの構成を示すブロック図である。
【図23】本発明の第5の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
【図24】本発明の第6の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図25】本発明の第6の実施形態によるクライアント装置の構成を示すブロック図である。
【図26】本発明の第6の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
【図27】本発明の第6の実施形態による暗号モジュール配信システムの動作例を示す概念図である。
【図28】本発明の第7の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図29】本発明の第7の実施形態によるクライアント装置の構成を示すブロック図である。
【図30】本発明の第7の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
【図31】本発明の第8の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図32】本発明の第8の実施形態によるクライアント装置の構成を示すブロック図である。
【図33】本発明の第8の実施形態による暗号モジュール配信システムの動作例を示すシーケンス図である。
【図34】本発明の実施形態による端末の識別情報と暗号モジュールの識別情報との対応表を示す図である。
【符号の説明】
【0203】
101 暗号管理サーバ装置
102 クライアント装置
103 暗号ハードウェア
150 暗号クライアント装置
151 上位システム部
152 暗号制御マネージャ部
153 暗号実装部
154 暗号実装I/F部
155 通信機能
156 暗号処理制御部
157 暗号処理情報DB
158 暗号モジュール選定ポリシ
159 暗号モジュール選定部
160 ハードウェアプロファイル
161 アクセス制御ポリシ
162 鍵情報管理部
163 暗号評価DB
164 暗号モジュールDB
165 鍵情報DB
166 暗号管理部
167 暗号制御マネージャポリシ
168 アルゴリズムネゴシエーション部
169 セキュア通信管理部
170 暗号ハードウェア管理制御部
201 暗号管理サーバ装置
202 通信機能
203 配布暗号モジュール選定部
204 鍵生成部
205 鍵共有部
206 暗号モジュールDB
207 暗号モジュール暗号化部
301 クライアント装置
302 通信機能
303 暗号モジュールDB
304 端末情報格納部
305 暗号ハードウェア管理制御部
306 暗号実装部
307 暗号パッケージ
308 暗号モジュール
309 暗号評価記述ファイル
350 暗号管理サーバ装置
351 暗号管理部
352 暗号配信部
353 暗号モジュールDB
354 暗号評価DB
355 暗号登録部
356 通信機能
357 暗号パッケージ登録部
358 複合型記述生成部
359 暗号パッケージ配信制御部
360 配布暗号モジュール選定部
370 暗号パッケージ配布構成部
371 配布ポリシ
401 暗号ハードウェア
402 通信機能
403 鍵格納部
404 鍵共有部
405 暗号モジュール復号部
450 暗号ハードウェア部
601 暗号管理サーバ装置
602 通信機能
603 配布暗号モジュール選定部
604 鍵生成部
605 鍵共有部
606 暗号モジュールDB
607 MAC生成部
701 暗号ハードウェア
702 通信機能
703 鍵格納部
704 鍵共有部
705 MAC検証部
901 暗号管理サーバ装置
902 通信機能
903 配布暗号モジュール選定部
904 鍵生成部
905 鍵共有部
906 暗号モジュールDB
907 MAC生成部
908 暗号モジュール暗号化部
1001 暗号ハードウェア
1002 通信機能
1003 鍵格納部
1004 鍵共有部
1005 暗号モジュール復号部
1006 MAC検証部
1151 上位システム部
1152 暗号制御マネージャ部
1153 暗号実装部
1155 通信機能
1156 暗号処理制御部
1158 選定ポリシ
1160 ハードウェアプロファイル
1162 鍵管理部
1165 鍵情報DB
1166 暗号パッケージ管理部
1170 暗号ハードウェア管理制御部
1201 暗号管理サーバ装置
1202 通信機能
1203 配布暗号モジュール選定部
1204 鍵生成部
1205 鍵共有部
1206 暗号モジュールDB
1207 暗号モジュール分割部
1208 暗号モジュール暗号化部
1301 クライアント装置
1302 通信機能
1303 暗号モジュールDB
1304 端末情報格納部
1305 暗号ハードウェア管理制御部
1306 暗号実装部
1307 暗号モジュール結合部
1350 暗号管理サーバ装置
1351 暗号パッケージ管理部
1352 暗号管理サーバ制御部
1353 暗号モジュールDB
1354 暗号評価DB
1355 暗号パッケージ記憶部
1356 通信機能
1359 暗号パッケージ官制部
1370 暗号パッケージ配布構成部
1371 配布ポリシ
1372 ドメイン情報
1373 配布暗号パッケージ選定部
1380 サーバ上位システム部
1390 サーバ暗号制御マネージャ部
1401 暗号管理サーバ装置
1402 通信機能
1403 配布暗号モジュール選定部
1404 鍵生成部
1405 鍵共有部
1406 暗号モジュールDB
1407 暗号モジュール分割部
1408 MAC生成部
1450 暗号ハードウェア
1501 クライアント装置
1502 通信機能
1503 暗号モジュールDB
1504 端末情報格納部
1505 暗号ハードウェア管理制御部
1506 暗号実装部
1507 暗号モジュール結合部
1600 暗号情報記憶部
1601 選定DB
1602 暗号モジュールリンクDB
1603 暗号モジュールDB
1604 暗号処理DB
1701 暗号管理サーバ装置
1702 通信機能
1703 配布暗号モジュール選定部
1704 鍵生成部
1705 鍵共有部
1706 暗号モジュールDB
1707 暗号モジュール分割部
1708 MAC生成部
1709 暗号モジュール暗号化部
1801 クライアント装置
1802 通信機能
1803 暗号モジュールDB
1804 端末情報格納部
1805 暗号ハードウェア管理制御部
1806 暗号実装部
1807 暗号モジュール結合部

【特許請求の範囲】
【請求項1】
互いに通信が可能な、暗号管理サーバ装置と、暗号処理装置と、クライアント装置とを有する暗号モジュール配信システムにおいて、
前記暗号管理サーバ装置は、
暗号モジュールを格納する暗号モジュール格納部と、
暗号処理装置と共通で利用可能な共有鍵を共有する鍵共有部と、
当該共有鍵で前記暗号モジュールを暗号化する暗号モジュール暗号化部と、
当該暗号化された暗号モジュールをクライアント装置に送信するクライアント装置通信処理部と、
を有し、
前記暗号処理装置は、
暗号管理サーバと共通で利用可能な共有鍵を共有する鍵共有部と、
暗号化された暗号モジュールをクライアント装置より受信し、この受信した暗号化された暗号モジュールを、前記共有鍵を用いて復号する暗号モジュール復号部と、
前記復号した暗号モジュールをクライアント装置へ送信するクライアント装置通信処理部と、を有し、
前記クライアント装置は、
前記暗号管理サーバから暗号化された暗号モジュールを受信するサーバ通信処理部と、
前記受信した暗号化された暗号モジュールを暗号処理装置に送信し、復号された暗号モジュールを前記暗号処理装置から受信する暗号処理装置通信処理部と、
前記暗号処理装置通信処理部により受信した暗号モジュールを格納する暗号モジュール格納部と、
を有することを特徴とする暗号モジュール配信システム。
【請求項2】
互いに通信が可能な、暗号管理サーバ装置と、暗号処理装置と、クライアント装置とを有する暗号モジュール配信システムにおいて、
前記暗号管理サーバ装置は、
暗号モジュールを格納する暗号モジュール格納部と、
暗号処理装置と共通で利用可能な共有鍵を共有する鍵共有部と、
当該共有鍵で前記暗号モジュールを識別する認証子を生成する認証子生成部と、
暗号モジュールおよび認証子をクライアント装置に送信するクライアント装置通信処理部と、
を有し、
前記暗号処理装置は、
暗号管理サーバと共通で利用可能な共有鍵を共有する鍵共有部と、
クライアント装置より認証子を受信し、当該受信した認証子に対して、前記鍵格納部に格納された共有鍵を用いて認証子の正当性検証を行う認証子検証部と、
前記正当性検証を行った結果をクライアント装置へ送信するクライアント装置通信処理部と、
を有し、
前記クライアント装置は、
前記暗号管理サーバより暗号モジュールおよび認証子を受信するサーバ通信処理部と、
前記サーバ通信処理部によって受信した認証子を暗号処理装置に送信し、当該認証子の正当性検証結果を受信する暗号処理装置通信処理部と、
前記暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、前記受信した暗号モジュールを格納する暗号モジュール格納部と、
を有することを特徴とする暗号モジュール配信システム。
【請求項3】
前記暗号管理サーバ装置は、
前記共有鍵で前記暗号モジュールを暗号化する暗号モジュール暗号化部を有し、
前記クライアント装置通信処理部が、前記暗号モジュール暗号化部によって暗号化された暗号モジュールをクライアント装置に送信し、
前記暗号処理装置は、
クライアント装置通信処理部が、暗号化された暗号モジュールおよび認証子をクライアント装置より受信し、前記共有鍵を用いて暗号化された暗号モジュールを復号した暗号モジュールと当該認証子の正当性検証を行った結果とをクライアント装置へ送信し、
前記クライアント装置は、
暗号処理装置通信処理部が、前記サーバ通信処理部によって受信する暗号化された暗号モジュールおよび認証子を暗号処理装置に送信し、復号された暗号モジュールおよび認証子の正当性検証結果を受信し、
前記暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、復号された暗号モジュールを暗号モジュール格納部に格納する
ことを特徴とする請求項2に記載の暗号モジュール配信システム。
【請求項4】
前記暗号管理サーバ装置は、
暗号モジュールを暗号処理装置が処理可能なデータサイズに分割して分割暗号モジュールを生成する暗号モジュール分割部とを有し、
前記暗号モジュール暗号化部が、前記共有鍵で前記分割暗号モジュール毎に暗号化し、
前記クライアント装置通信処理部が、前記暗号化された分割暗号モジュール全てをクライアント装置に送信し、
前記暗号処理装置は、
クライアント装置通信処理部が、暗号化された分割暗号モジュールをクライアント装置より受信し、前記共有鍵を用いて復号した分割暗号モジュールをクライアント装置へ送信し、
前記暗号モジュール復号部が、クライアント装置より受信した暗号化された分割暗号モジュールを、前記共有鍵を用いて復号し、
前記クライアント装置は、
前記暗号処理装置通信処理部より受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、
前記サーバ通信処理部が、前記暗号管理サーバより暗号化された分割暗号モジュール全てを受信し、
前記暗号処理装置通信処理部が、前記受信した暗号化された分割暗号モジュールを暗号処理装置に送信し、復号された分割暗号モジュールを受信し、
暗号モジュール結合部が、前記暗号モジュール結合部によって結合された暗号モジュールを前記暗号モジュール格納部に格納する
ことを特徴とする請求項1または請求項3のうちいずれかに記載の暗号モジュール配信システム。
【請求項5】
前記暗号管理サーバ装置は、
暗号モジュールを暗号処理装置が処理可能なデータサイズに分割して分割暗号モジュールを生成する暗号モジュール分割部とを有し、
前記認証子生成部が、共有鍵で前記分割暗号モジュール毎に認証子を生成し、
前記クライアント装置通信処理部が、前記分割暗号モジュールと前記認証子全てをクライアント装置に送信し、
前記暗号処理装置は、
クライアント装置通信処理部が、クライアント装置より分割暗号モジュールおよび認証子を受信し、前記共有鍵を用いて認証子の正当性検証を行った結果をクライアント装置へ送信し、
前記認証子検証部が、クライアント装置より受信した分割暗号モジュールおよび認証子に対して、前記共有鍵を用いて認証子の正当性検証を行い、
前記クライアント装置は、
受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、
前記サーバ通信処理部が、前記暗号管理サーバより分割暗号モジュールおよび認証子全てを受信し、
前記暗号処理装置通信処理部が、前記受信した分割暗号モジュールおよび認証子を暗号処理装置に送信し、認証子の正当性検証結果を受信し、
前記暗号処理装置通信処理部により受信した認証子の検証結果が全て正当であることを示す情報であるならば、前記暗号モジュール結合部によって結合された暗号モジュールを前記暗号モジュール格納部に格納する
ことを特徴とする請求項2または請求項3のうちいずれかに記載の暗号モジュール配信システム。
【請求項6】
前記暗号化された分割暗号モジュールは、少なくとも2つ以上の異なる鍵のいずれかによってそれぞれ暗号化されていることを特徴とする請求項4に記載の暗号モジュール配信システム。
【請求項7】
前記認証子は、少なくとも2つ以上の異なる鍵のいずれかによってそれぞれ生成されていることを特徴とする請求項5に記載の暗号モジュール配信システム。
【請求項8】
暗号処理装置とクライアント装置と通信し、当該クライアント装置に暗号モジュールを配信する暗号管理サーバ装置であって、
暗号モジュールを格納する暗号モジュール格納部と、
前記暗号処理装置と共通で利用可能な共有鍵を共有する鍵共有部と、
当該共有鍵で前記暗号モジュールを暗号化する暗号モジュール暗号化部と、
当該暗号化された暗号モジュールを前記クライアント装置に送信するクライアント装置通信処理部と、
を備えることを特徴とする暗号管理サーバ装置。
【請求項9】
暗号処理装置とクライアント装置と通信し、当該クライアント装置に暗号モジュールを配信する暗号管理サーバ装置であって、
暗号モジュールを格納する暗号モジュール格納部と、
前記暗号処理装置と共通で利用可能な共有鍵を共有する鍵共有部と、
当該共有鍵で前記暗号モジュールを識別する認証子を生成する認証子生成部と、
前記暗号モジュールおよび前記認証子を前記クライアント装置に送信するクライアント装置通信処理部と、
を備えることを特徴とする暗号管理サーバ装置。
【請求項10】
前記共有鍵で前記暗号モジュールを暗号化する暗号モジュール暗号化部と、をさらに有し、
前記クライアント装置通信処理部は、当該暗号化された暗号モジュールを前記クライアント装置に送信すること
をさらに特徴とする請求項9に記載の暗号管理サーバ装置。
【請求項11】
前記暗号モジュールを暗号処理装置が処理可能なデータサイズに分割して分割暗号モジュールを生成する暗号モジュール分割部をさらに有し、
前記暗号モジュール暗号化部が、前記共有鍵で前記分割暗号モジュール毎に暗号化し、
前記クライアント装置通信処理部が、前記暗号化された分割暗号モジュール全てをクライアント装置に送信する
ことを特徴とする請求項8または請求項10に記載の暗号管理サーバ装置。
【請求項12】
暗号モジュールを暗号処理装置が処理可能なデータサイズに分割して分割暗号モジュールを生成する暗号モジュール分割部とを有し、
前記認証子生成部が、共有鍵で前記分割暗号モジュール毎に認証子を生成し、
前記クライアント装置通信処理部が、前記分割暗号モジュールと前記認証子全てをクライアント装置に送信する
ことを特徴とする請求項9または請求項10に記載の暗号管理サーバ装置。
【請求項13】
暗号管理サーバ装置と暗号処理装置と通信し、前記暗号管理サーバ装置より暗号モジュールを配信されるクライアント装置であって、
前記暗号管理サーバから暗号化された暗号モジュールを受信するサーバ通信処理部と、
前記受信した暗号化された暗号モジュールを前記暗号処理装置に送信し、復号された暗号モジュールを前記暗号処理装置から受信する暗号処理装置通信処理部と、
前記暗号処理装置通信処理部により受信した暗号モジュールを格納する暗号モジュール格納部と、
を有することを特徴とするクライアント装置。
【請求項14】
暗号管理サーバ装置と暗号処理装置と通信し、前記暗号管理サーバ装置より暗号モジュールを配信されるクライアント装置であって、
前記暗号管理サーバより暗号モジュールおよび認証子を受信するサーバ通信処理部と、
前記サーバ通信処理部によって受信した認証子を暗号処理装置に送信し、当該認証子の正当性検証結果を受信する暗号処理装置通信処理部と、
前記暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、前記受信した暗号モジュールを格納する暗号モジュール格納部と、
を有することを特徴とするクライアント装置。
【請求項15】
前記暗号処理装置通信処理部が、前記サーバ通信処理部によって受信する暗号化された暗号モジュールおよび認証子を暗号処理装置に送信し、復号された暗号モジュールおよび認証子の正当性検証結果を受信し、
前記暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、復号された暗号モジュールを暗号モジュール格納部に格納する
ことを特徴とする請求項14に記載のクライアント装置。
【請求項16】
前記暗号処理装置通信処理部より受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、
前記サーバ通信処理部が、前記暗号管理サーバより暗号化された分割暗号モジュール全てを受信し、
前記暗号処理装置通信処理部が、前記受信した暗号化された分割暗号モジュールを暗号処理装置に送信し、復号された分割暗号モジュールを受信し、
暗号モジュール結合部が、前記暗号モジュール結合部によって結合された暗号モジュールを前記暗号モジュール格納部に格納する
ことを特徴とする請求項13または請求項15のうちいずれかに記載のクライアント装置。
【請求項17】
受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、
前記サーバ通信処理部が、前記暗号管理サーバより分割暗号モジュールおよび認証子全てを受信し、
前記暗号処理装置通信処理部が、前記受信した分割暗号モジュールおよび認証子を暗号処理装置に送信し、認証子の正当性検証結果を受信し、
前記暗号処理装置通信処理部により受信した認証子の検証結果が全て正当であることを示す情報であるならば、前記暗号モジュール結合部によって結合された暗号モジュールを前記暗号モジュール格納部に格納する
ことを特徴とする請求項14または請求項15のうちいずれかに記載のクライアント装置。
【請求項18】
暗号管理サーバ装置とクライアント装置と通信し、前記暗号管理サーバから前記クライアント装置に暗号モジュールを配信するときの暗号処理を行う暗号処理装置であって、
前記暗号管理サーバと共通で利用可能な共有鍵を共有する鍵共有部と、
暗号化された暗号モジュールをクライアント装置より受信し、この受信した暗号化された暗号モジュールを、前記共有鍵を用いて復号する暗号モジュール復号部と、
前記復号した暗号モジュールをクライアント装置へ送信するクライアント装置通信処理部と、
を有することを特徴とする暗号処理装置。
【請求項19】
暗号管理サーバ装置とクライアント装置と通信し、前記暗号管理サーバから前記クライアント装置に暗号モジュールを配信するときの暗号処理を行う暗号処理装置であって、
前記暗号管理サーバより暗号モジュールおよび認証子を受信するサーバ通信処理部と、
前記サーバ通信処理部によって受信した認証子を暗号処理装置に送信し、当該認証子の正当性検証結果を受信する暗号処理装置通信処理部と、
前記暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、前記受信した暗号モジュールを格納する暗号モジュール格納部と、
を有することを特徴とする暗号処理装置。
【請求項20】
前記暗号処理装置通信処理部が、前記サーバ通信処理部によって受信する暗号化された暗号モジュールおよび認証子を暗号処理装置に送信し、復号された暗号モジュールおよび認証子の正当性検証結果を受信し、
前記暗号処理装置通信処理部により受信した認証子の正当性検証結果が正当であることを示す情報であるならば、復号された暗号モジュールを暗号モジュール格納部に格納する
ことを特徴とする請求項19に記載の暗号処理装置。
【請求項21】
前記暗号処理装置通信処理部より受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、
前記サーバ通信処理部が、前記暗号管理サーバより暗号化された分割暗号モジュール全てを受信し、
前記暗号処理装置通信処理部が、前記受信した暗号化された分割暗号モジュールを暗号処理装置に送信し、復号された分割暗号モジュールを受信し、
暗号モジュール結合部が、前記暗号モジュール結合部によって結合された暗号モジュールを前記暗号モジュール格納部に格納する
ことを特徴とする請求項18または請求項20のうちいずれかに記載の暗号処理装置。
【請求項22】
受信した分割暗号モジュール全てを結合して暗号モジュールを復元する暗号モジュール結合部を有し、
前記サーバ通信処理部が、前記暗号管理サーバより分割暗号モジュールおよび認証子全てを受信し、
前記暗号処理装置通信処理部が、前記受信した分割暗号モジュールおよび認証子を暗号処理装置に送信し、認証子の正当性検証結果を受信し、
前記暗号処理装置通信処理部により受信した認証子の検証結果が全て正当であることを示す情報であるならば、前記暗号モジュール結合部によって結合された暗号モジュールを前記暗号モジュール格納部に格納する
ことを特徴とする請求項19または請求項20のうちいずれかに記載の暗号処理装置。
【請求項23】
暗号処理装置とクライアント装置と通信が可能なコンピュータに、
暗号モジュール格納部に暗号モジュールを格納するステップと、
鍵共有部に、前記暗号処理装置と共通で利用可能な共有鍵を共有するステップと、
暗号モジュール暗号化部が、当該共有鍵で前記暗号モジュールを暗号化するステップと、
クライアント装置通信処理部が、当該暗号化された暗号モジュールを前記クライアント装置に送信するステップと、
を実行させるための暗号管理プログラム。
【請求項24】
暗号管理サーバ装置と暗号処理装置と通信が可能なコンピュータに、
サーバ通信処理部が、前記暗号管理サーバから暗号化された暗号モジュールを受信するステップと、
暗号処理装置通信処理部が、前記受信した暗号化された暗号モジュールを前記暗号処理装置に送信し、復号された暗号モジュールを前記暗号処理装置から受信するステップと、
暗号モジュール格納部が、前記暗号処理装置通信処理部により受信した暗号モジュールを格納するステップと、
を実行させるためのクライアントプログラム。
【請求項25】
暗号管理サーバ装置とクライアント装置と通信が可能なコンピュータに、
鍵共有部が、前記暗号管理サーバと共通で利用可能な共有鍵を共有するステップと、
暗号モジュール復号部が、暗号化された暗号モジュールをクライアント装置より受信し、この受信した暗号化された暗号モジュールを、前記共有鍵を用いて復号するステップと、
クライアント装置通信処理部が、前記復号した暗号モジュールをクライアント装置へ送信するステップと、
を実行させるための暗号処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate


【公開番号】特開2009−89000(P2009−89000A)
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願番号】特願2007−255963(P2007−255963)
【出願日】平成19年9月28日(2007.9.28)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成15年度から平成17年度、独立行政法人情報通信研究機構、高度通信・放送研究に関する委託事業、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【出願人】(397065136)株式会社横須賀テレコムリサーチパーク (28)
【Fターム(参考)】