説明

通信内容監査方法および通信内容監査システム

【課題】クライアントとサーバとの間で行われたセキュア通信の通信内容について、真正性および客観性の高い、より厳密な監査を実現することを課題とする。
【解決手段】監査人端末装置は、サーバ装置が暗号化されたセッション鍵を復号するために用いる第1の秘密鍵と階層関係にある第2の秘密鍵を予め有する。監査人端末装置は、第2の秘密鍵を用いて、中継装置から取得した暗号化通信データに含まれる暗号化セッション鍵を復号する。次に、監査人端末装置は、復号の結果得られるセッション鍵を用いて、中継装置から取得した暗号化通信データを復号する。そして、監査人端末装置は、クライアント装置およびサーバ装置からそれぞれ取得したアクセスログ、および第2の秘密鍵により復号した通信データ(通信内容)を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュア通信を利用したクライアントとサーバとの間の通信事象および通信内容の真正性や客観性を担保する技術に関する。
【背景技術】
【0002】
近年、インターネットを利用した電子商取引が盛んとなり、例えば、RFC(Request For Comment)4346に開示されているプロトコル、SSL/TLS(Secure Socket Layer/Transport Layer Security)を用いたセキュア通信が脚光を浴びている。SSL/TLSは、インターネット上で情報を暗号化して送受信するためのプロトコルである。
【0003】
図10は、従来技術を示す図である。SSL/TLSを用いたセキュア通信を行うと、例えば、クライアントとサーバとの間でやり取りされるメッセージは暗号化される。このため、例えば、図10の(1)に示す無関係な第三者が、クライアントとサーバとの間でやり取りされるメッセージを取得し、取得したメッセージを復号してその内容を知ることはできない。このように、SSL/TLSを用いたセキュア通信を行うと、クライアントとサーバとの間の二者間の仮想的な秘密通信路を確保できる。よって、例えば、電子商取引などにおいてクライアントとサーバとの間でやり取りされる個人情報の漏洩や取引情報の改ざんなどを防止できる。
【0004】
ところで、例えば、不正な機密情報の持ち出しや、クライアントとサーバとの間の合意内容の否認などの通信事象が発生した場合には、セキュア通信の通信内容の監査が必要となる。例えば、この通信事象の一例を挙げれば、電子商取引におけるクライアントの発注行為の否認や、電子商取引におけるサーバの受注行為の否認などがある。
【0005】
上述したように、セキュア通信を利用してクライアントとサーバとの間でやり取りされるメッセージは暗号化されているので、原則、第三者がメッセージを復号してその内容を知ることはできない。よって、セキュア通信の内容を監査する監査人が、クライアントとサーバとの間でやり取りされるメッセージを取得し、取得したメッセージを直接復号して、その通信内容を監査することはできない。このため、通信内容の監査が必要となる通信事象が発生した場合に、例えば、次のような運用ポリシーが採用されている。
【0006】
まず、セキュア通信を利用してクライアントとサーバとの間でやり取りされたメッセージに関するアクセスログなどをクライアントやサーバにそれぞれ個別に記録しておく。そして、図10の(2)に示す監査人がクライアントやサーバに記録されているアクセスログを確認することにより、クライアントとサーバとの間の通信内容の監査を行う。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】C. Gentry, A. Silverberg, "Hierarchical ID-based cryptography", ASIACRYPT 2002, LNCS 2501, Springer-Verlag, pp.548-566, 2002.
【非特許文献2】John Bethencourt , Amit Sahai , Brent Waters, "Ciphertext-Policy Attribute-Based Encryption", Proceedings of the 2007 IEEE Symposium on Security and Privacy, p.321-334, May 20-23, 2007
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、上述した運用ポリシーは、例えば、RFC3161に開示されているタイムスタンプ技術を用いてアクセスログにタイムスタンプを付与することにより、アクセスログの真正性を担保することが可能となる。しかしながら、上述した運用ポリシーでは、アクセスログのもととなる通信事象そのものの存在確認を厳密に行う術はないので、アクセスログそのものが虚偽のものであるか否かまでは判別できない。つまり、上述した運用ポリシーでは、クライアントとサーバとの間のアクセスログが虚偽のものである可能性を否定できない。このため、上述した運用ポリシーでは、セキュア通信を利用したクライアントとサーバとの間の通信内容の監査を行う場合に、アクセスログの真正性および客観性を担保することが難しいという問題がある。
【0009】
本発明は、上記に鑑みてなされたものであって、クライアントとサーバとの間で行われたセキュア通信の通信内容についてより厳密な監査を実現することが可能な通信内容監査方法および通信内容監査システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明は、クライアント装置とサーバ装置との間で行われたセキュア通信の通信内容を監査する監査人端末装置を含む通信内容監査システムに適用される通信内容監査方法であって、前記クライアント装置は、階層鍵暗号を用いて、前記サーバ装置との間で行うセキュア通信に用いるセッション鍵を暗号化するステップと、前記暗号化セッション鍵を前記サーバ装置に送信するステップと、前記セッション鍵を用いて通信データを暗号化した暗号化通信データを前記サーバ装置との間でやり取りするステップとを含み、前記サーバ装置は、階層鍵暗号を用いて、前記クライアント装置から受信した暗号化セッション鍵を第一の秘密鍵により復号するステップと、前記第一の秘密鍵により暗号化セッション鍵を復号し、復号の結果得られるセッション鍵を用いて通信データを暗号化した暗号化通信データを前記クライアント装置との間でやり取りするステップとを含み、前記監査人端末装置は、前記セッション鍵により暗号化された状態で前記クライアント装置と前記サーバ装置との間でやり取りされる暗号化通信データを取得するステップと、前記第一の秘密鍵と階層関係にある第二の秘密鍵を用いて、前記暗号化通信データに含まれる暗号化セッション鍵を復号し、復号の結果得られるセッション鍵を用いて該暗号化通信データを復号するステップとを含むことを特徴とする。
【発明の効果】
【0011】
本発明によれば、クライアントとサーバとの間で行われたセキュア通信の通信内容について、真正性および客観性の高い、より厳密な監査を実現できる。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係る通信内容監査システムの概要および特徴を説明するための図である。
【図2】図2は、実施例1に係る通信内容監査システムの構成を示す図である。
【図3】図3は、実施例1に係る通信記録データの構成例を示す図である。
【図4】図4は、実施例1に係る監査人端末装置の構成を示す図である。
【図5】図5は、実施例1に係る監査人端末装置400における復号の概念を説明するための図である。
【図6】図6は、クライアント装置100とサーバ装置200との間で行われるハンドシェイクフェーズおよびアプリケーション通信フェーズの処理の流れを示す図である。
【図7】図7は、ハンドシェイクフェーズおよびアプリケーション通信フェーズにおける中継装置300による処理の流れを示す図である。
【図8】図8は、監査人端末装置400による処理の流れを示す図である。
【図9】図9は、通信内容復号プログラムを実行するコンピュータを示す図である。
【図10】図10は、従来技術を示す図である。
【発明を実施するための形態】
【0013】
以下に、図面を参照しつつ、本願の開示する通信内容監査方法および通信内容監査システムの一実施形態を詳細に説明する。
【実施例1】
【0014】
以下に説明する実施例1では、本発明に係る通信内容監査方法および通信内容監査システムの一実施形態として実施例1を説明する。なお、以下の実施例1により、本願の開示する発明が限定されるものではない。
【0015】
[通信内容監査システムの概要および特徴]
実施例1に係る通信内容監査システムは、クライアント装置とサーバ装置との間で行われたセキュア通信の通信内容を監査することを概要とする。そして、実施例1に係る通信内容監査システムは、クライアントとサーバとの間で行われたセキュア通信の通信内容の真正性および客観性を担保することが可能とする仕組みに特徴がある。
【0016】
図1は、実施例1に係る通信内容監査システムの概要および特徴を説明するための図である。図1に示すように、実施例1に係る通信内容監査システムは、クライアント装置と、サーバ装置と、中継装置と、監査人端末装置とを含む。中継装置は、クライアント装置とサーバ装置との間で行われたセキュア通信の通信データを中継するとともに、中継する通信データを記録する。
【0017】
クライアント装置およびサーバ装置は、階層鍵暗号を用いてセッション鍵を共有し、セッション鍵により暗号化した暗号化通信データをやり取りするセキュア通信を行う。
【0018】
監査人端末装置は、クライアント装置とサーバ装置との間でやり取りされた暗号化通信データを中継装置から取得する。また、監査人端末装置は、クライアント装置に記録されているサーバ装置との間のセキュア通信の履歴であるアクセスログ、およびサーバ装置に記録されているクライアント装置との間のセキュア通信の履歴であるアクセスログをそれぞれ取得する。
【0019】
また、監査人端末装置は、サーバ装置が暗号化されたセッション鍵を復号するために用いる第1の秘密鍵(図1の(1)参照)と階層関係にある第2の秘密鍵(図1の(2)参照)を予め有する。第2の秘密鍵は第1の秘密鍵よりも上位の鍵であり、第1の秘密鍵と同様に、暗号化されたセッション鍵を復号可能である。
【0020】
監査人端末装置は、第2の秘密鍵を用いて、中継装置から取得した暗号化通信データに含まれる暗号化セッション鍵を復号する。次に、監査人端末装置は、復号の結果得られるセッション鍵を用いて、中継装置から取得した暗号化通信データを復号する(図1の(3)参照)。そして、監査人端末装置は、クライアント装置およびサーバ装置からそれぞれ取得したアクセスログ、および第2の秘密鍵により復号した通信データ(通信内容)を出力する。
【0021】
従来、クライアント装置とサーバ装置との間で行われるセキュア通信とは無関係な第三者(図1の(4)参照)が、クライアント装置とサーバ装置との間でやり取りされる暗号化通信データを復号し、通信内容を知ることはできなかった(図1の(5)参照)。
【0022】
これに対して、監査人端末装置は、サーバ装置が有する第1の秘密鍵と階層関係にある第2の秘密鍵を有し、この第2の秘密鍵を用いて、クライアント装置とサーバ装置との間でやり取りされる暗号化通信データを復号することができる。クライアント装置やサーバ装置のユーザからみて信頼性のある者が、監査人端末装置のユーザである監査人(図1の(6)参照)となるので、クライアント装置とサーバ装置との間でやり取りされる通信データの機密性が損なわれることはない。
【0023】
また、監査人(図1の(6)参照)は、クライアント装置およびサーバ装置からそれぞれ取得したアクセスログ、およびクライアント装置とサーバ装置との間で実際にやり取りされた通信データの内容の双方に基づいて、セキュア通信の通信内容を監査できる。
【0024】
このようなことから、実施例1に係る通信内容監査システムによれば、クライアントとサーバとの間で行われたセキュア通信の通信内容について、真正性および客観性の高い、より厳密な監査ができる。
【0025】
[階層鍵暗号の概要(実施例1)]
実施例1に登場する階層鍵暗号の概要を説明する。実施例1で用いる階層鍵暗号は、以下の性質を有する階層鍵暗号とする。
【0026】
まず、データを暗号化あるいは復号する鍵について説明する。各ユーザは公開鍵PKと秘密鍵SKを持つ。「params」はシステムパラメータ、「M」は平文、「C」は暗号文とする。
暗号化を次の(A)のように記すものとする。
(A)HK_ENC(params,PK,M)=C
復号を次の(B)のように記すものとする。
(B)HK_DEC(params,SK,C)=M
また、PKとSKとの間で以下の関係を満たす場合には「ペアである」と称し、次の(C)のように記すものとする。
(C)HK_DEC(params,SK,HK_ENC(params,PK,M))=M、(Mは、任意の平文)
【0027】
各ユーザの秘密鍵は以下に説明するような半順序関係を有する。
まず、公開鍵の間に任意の半順序関係があるものとする。
公開鍵の半順序関係を次の(D)のように記すものとする。
(D)PKXPKPKY
秘密鍵の半順序関係を次の(E)のように記すものとする。
(E)SKXSKSKY
このとき、秘密鍵の間の半順序関係は、任意の平文Mにおいて、HK_ENC(params,PKY,M)=C((A)参照)を満たす電文Cが存在し、かつPKXPKPKY((D)参照)、かつPKXとSKXとがペアであるとき((C)参照)、HK_DEC(params,SKX,C)=Mの関係を満足するものと定義する。
【0028】
[階層型IDベース暗号の概要(実施例1)]
次に、実施例1に登場する階層型IDベース暗号(以下、「HIDE」と表記する)の概要を説明する。なお、階層型IDベース暗号の詳細については、「C. Gentry, A. Silverberg, "Hierarchical ID-based cryptography", ASIACRYPT 2002, LNCS 2501, Springer-Verlag, pp.548-566, 2002.」を参照されたい。
【0029】
(IDタプルと秘密鍵について)
「HIDE」では、各ユーザは階層に位置づけられ、その位置は固有の「IDタプル」で表現される。「IDタプル」は、ユーザを識別する情報であり公開鍵でもある。「IDタプル」は次の(F)のように記すものとする。
(F)ID-tuple_t=(ID1,...,IDt,tは自然数)
【0030】
階層のトップレベルのユーザを「ルートPKG」と称し、その「IDタプル」を“ID1”とする。「ルートPKG」の下位レベルの階層に存在する各ユーザの「IDタプル」は次の(G)のように記すものとする。
(G)ID-tuple_i={(ID1,...,IDi):1≦i<t}
【0031】
各ユーザは、その「IDタプル」に対応する秘密鍵を一つ所持する。秘密鍵は上位レベルの階層に存在するユーザに生成してもらう。
【0032】
(HIDEの機能について)
HIDEは、以下の5つの機能を有する。
(1)ルートセットアップ:「ルートPKG」のセットアップ
なお、ルートセットアップは次の(H)のように記すものとする。
(H)HIDE_Root_Setup(K)=<params,d>
K:セキュリティパラメータ
params:システムパラメータ
d:「ルートPKG」のマスターシークレット(秘密鍵)
【0033】
(2)下位レベルのセットアップ
全ての下位レベルユーザは、必ず「ルートPKG」のシステムパラメータを入手しなければならない。また、秘密鍵は上位のユーザにより生成される。
【0034】
(3)鍵生成:下位ユーザの秘密鍵の生成
鍵生成者の「IDタプル」はID-tuple_t=(ID1,...,IDt,tは自然数)とする。
なお、鍵生成は次の(I)のように記すものとする。
(I)HIDE_Extraction(params,d_t,ID-tuple_t+1)=d_t+1
params:Root_Setupで生成されたシステムパラメータ
d_t:鍵生成者となるユーザの秘密鍵
ID-tuple_t+1:鍵生成者となるユーザの「IDタプル(公開鍵)」
ただし、ID-tuple_t+1=(ID1,...,IDt,IDt+1,tは自然数)
d_t+1:鍵生成対象者となるユーザの秘密鍵
【0035】
(4)暗号化:任意の「IDタプル」で暗号化できる。
なお、暗号化は次の(J)のように記すものとする。
(J)HIDE_Encryption(params,ID-tuple,M)=C
params:HIDE_Root_Setupで生成されたシステムパラメータ
ID-tuple:「IDタプル(公開鍵)」
M:平文
C:暗号文
【0036】
(5)復号
暗号化に使われた「IDタプル」に対応する秘密鍵があれば復号可能である。
なお、復号は次の(K)のように記すものとする。
(K)HIDE_Decryption(params,d,C)=M
params:HIDE_Root_Setupで生成されたシステムパラメータ
d:HIDE_Extractionで生成された秘密鍵
C:HIDE_Encryptionで生成された暗号文
M:平文
【0037】
なお、任意の平文Mに対して、「IDタプル(ID-tuple)」のユーザの秘密鍵がdであるとき、以下が成り立つ。
すなわち、HIDE_Encryption(params,ID-tuple,M)=Cのとき、HIDE_Decryption(params,d,C)=M
【0038】
[階層型IDベース暗号の階層鍵暗号への対応について(実施例1)]
次に、実施例1に登場する階層型IDベース暗号の階層鍵暗号への対応について説明する。
【0039】
(鍵について)
以下の実施例1では、公開鍵PKとして「IDタプル」を使用する。PK=ID-tupleとする。
【0040】
(暗号化について)
また、以下の実施例1において、暗号化を表すHK_ENC(params,PK,M)は、HIDE_Encryption(params,PK,M)で定義し、PK=ID-tupleとする。
【0041】
(復号について)
また、以下の実施例1において、復号を表すHK_DEC(params,SK,C)は、HIDE_Decryption(params,SK,C)=Mで定義し、SK=dとする。
【0042】
(公開鍵の半順序関係について)
また、以下の実施例1において、PKXPKPKYは、PKX=(ID1,...,IDt)、PKY=(ID1,...,IDt,...,IDN)、1≦t≦Nとして、PKYの先頭からのID1〜IDtがPKXに一致するものとする。
【0043】
(秘密鍵の半順序関係について)
任意の平文Mにおいて、HK_ENC(params,PKY,M)=HIDE_Encryption(params,PKY,M)=Cを満たす電文Cが存在し、かつPKXPKPKY、かつPKXとSKXとがペアであるとき、HK_DEC(params,SKX,C)は、HIDE_Decryption(params,SKX,C)=Mを満たすものとする。
【0044】
[通信内容監査システムの構成(実施例1)]
図2は、実施例1に係る通信内容監査システムの構成を示す図である。図2に示すように、実施例1に係る通信内容監査システムは、複数のクライアント装置100と、複数のサーバ装置200と、中継装置300と、監査人端末装置400とを含む。
【0045】
なお、前提条件として、サーバ装置200が保有する秘密鍵「SK」は、監査人端末装置400が保有する秘密鍵「SKA」よりも下位の秘密鍵であるといった階層関係にあるものとする。これにより、サーバ装置200により暗号化されたデータは、監査人端末装置400が持つ秘密鍵「SKA」より復号可能となる。また、サーバ装置200の公開鍵「PK」とシステムパラメータ「params」は、設定ファイルやDNS(Domain Name Service)等の外部DB(Data Base)の既存技術を用いて、クライアント装置100側に予め知らせておくものとする。
【0046】
クライアント装置100およびサーバ装置200は、ネットワーク1や2を介して、SSL/TLSに基づいたハンドシェイクフェーズを実行する。なお、ネットワーク1や2は、例えば、公衆回線やインターネット、WAN(Wide Area Network)などに該当する。
【0047】
また、クライアント装置100およびサーバ装置200は、ハンドシェイクフェーズの電文のやり取りを実行することによりセキュア通信に用いるセッション鍵を共有する。なお、セッション鍵を暗号化する場合に、上述した階層鍵暗号を使用する。
【0048】
また、クライアント装置100およびサーバ装置200は、既存の共有鍵暗号方式などを用いて、アプリケーション通信フェーズを実行する。このアプリケーション通信フェーズでは、上述したハンドシェイクフェーズで取得されたセッション鍵を用いて、セキュア通信の上位のアプリケーションレベルに関するデータの暗号化や復号が行われる。また、上位のアプリケーションレベルのデータは、HTTP(Hyper Text Transfer Protocol)やFTP(File Transfer Protocol)、Telnetなどの既存のアプリケーションプロトコルに基づくものとする。
【0049】
また、クライアント装置100は、サーバ装置200との間で行ったセキュア通信に関するアクセスログを記録する。同様に、サーバ装置200は、クライアント装置100との間で行ったセキュア通信に関するアクセスログを記録する。なお、アクセスログには、アクセス日時など、アクセス時点を特定することが可能な情報が対応付けられて記録されているものとする。
【0050】
中継装置300は、クライアント装置100とサーバ装置200との間で発生する通信事象や、クライアント装置100とサーバ装置200との間でやり取りされる電文を通信記録データとして記録する。クライアント装置100とサーバ装置200との間で発生する通信事象には、例えば、不正な機密情報の持ち出しや電子商取引におけるクライアント装置100の発注行為の否認、電子商取引におけるサーバ装置200の受注行為の否認などの事象が含まれる。なお、クライアント装置100とサーバ装置200との間でやり取りされる電文とは、ハンドシェイクフェーズおよびアプリケーション通信フェーズにおいて、クライアント装置100とサーバ装置200との間でやり取りされる電文に該当する。
【0051】
図3は、実施例1に係る通信記録データの構成例を示す図である。図3に示すように、通信記録データは、管理情報、ハンドシェイク情報データ、アプリケーション通信データおよびタイムスタンプを有する。
【0052】
管理情報には、中継装置識別子、記録開始日時、記録終了日時、クライアント識別子およびサーバ識別子の各項目に関する情報に該当する。中継装置識別子は、通信記録データを記録した中継装置を特定する識別子であり、例えば、IPアドレスなど、中継装置300を一意に特定する可能な情報であればどのような情報でも利用することができる。記録開始日時は、中継装置300が通信記録データの記録を開始した日時である。記録終了日時は、中継装置300が通信記録データの記録を終了した日時である。クライアント識別子は、クライアント装置100を特定する識別子であり、例えば、IPアドレスなど、クライアント装置100を一意に特定する可能な情報であればどのような情報でも利用することができる。サーバ識別子は、サーバ装置200を特定する識別子であり、例えば、IPアドレスなど、サーバ装置200を一意に特定する可能な情報であればどのような情報でも利用することができる。
【0053】
管理情報は、監査人端末装置400において、中継装置300により記録された大量のデータの中から所定のデータを特定する場合に利用される。なお、図3に示す管理情報の各項目は、あくまで一例であり、適宜追加変更することができる。
【0054】
ハンドシェイク情報データは、クライアント装置100とサーバ装置200との間でハンドシェイクフェーズを実行することによりやり取りされる全電文に該当する。なお、ハンドシェイク情報データには、例えば、図3において「CS」で記すように、暗号化セッション鍵が含まれる。
【0055】
アプリケーション通信データは、クライアント装置100とサーバ装置200との間でアプリケーション通信フェーズを実行することによりやり取りされる全電文に該当する。アプリケーション情報データは、例えば、図3において「C1,C2,…,CN」で記される。
【0056】
タイムスタンプは、通信記録データに対して取得するタイムスタンプに該当する。通信記録データの存在証明と、通信記録データの改ざんの検査を行う場合に用いられる。なお、タイムスタンプについては、例えば、RFC3161に開示されている既存技術などを利用する。
【0057】
また、中継装置300は、監査人端末装置400からの要求に応じて、通信記録データを記録されたままの状態で監査人端末装置400に転送する。なお、中継装置300は、例えば、FTPなどのプロトコルを用いて通信記録データを監査人端末装置400に転送する。
【0058】
なお、中継装置300は、通信記録データを暗号化されたままの状態で記録する。また、中継装置300は、通信記録データの記録完了時にタイムスタンプを付与する。なお、中継装置300は、サーバ装置200が保有する秘密鍵「SK」、あるいは後述する監査人端末装置400が保有する秘密鍵「SKA」を有しないので、記録したクライアント−サーバ間の通信記録データの内容を復号・閲覧することはできない。このため、中継装置300の記録行為においても、クライアント−サーバ間の通信内容の機密性が担保される。
【0059】
図4は、実施例1に係る監査人端末装置の構成を示す図である。図4に示すように、監査人端末装置400は、アクセスログ取得部410、通信記録データ取得部420、通信記録データ検証部430、暗号化セッション鍵取得部440、セッション鍵取得部450、アプリケーションデータ取得部460および出力制御部470を有する。
【0060】
なお、監査人端末装置400は、システムパラメータ「params」を予め保持しているものとし、サーバ装置200が保有する秘密鍵「SK」よりも上位の秘密鍵「SKA」を予め保有するものとする。
【0061】
アクセスログ取得部410は、通信事象および通信内容の監査が必要となった場合に、クライアント装置100およびサーバ装置200からアクセスログを取得する。アクセスログは、クライアント装置100およびサーバ装置200に記録されているセキュア通信に関する履歴の情報である。例えば、アクセスログ取得部410は、後述する通信記録データ取得部420により取得された通信記録データに対応するアクセスログを取得する。
【0062】
通信記録データ取得部420は、通信事象および通信内容の監査が必要となった場合に、中継装置300から通信記録データを取得する。例えば、通信記録データ取得部420は、中継装置識別子、記録開始日時、記録終了日時、クライアント識別子およびサーバ識別子などの情報をキーとして、通信事象および通信内容の監査が必要となる通信記録データを中継装置300から取得する。
【0063】
通信記録データ検証部430は、タイムスタンプを利用して、通信記録データ取得部420により取得された通信記録データの改ざんの有無を検証する。例えば、通信記録データ検証部430は、通信記録データ取得部420により取得された通信記録データに含まれるタイムスタンプを利用することにより、通信記録データの改ざんの有無を検証する。
【0064】
暗号化セッション鍵取得部440は、通信記録データ取得部420により取得された通信記録データに含まれる暗号化セッション鍵を取得する。
【0065】
セッション鍵取得部450は、階層鍵暗号を用いて、暗号化セッション鍵取得部440により取得された暗号化セッション鍵を秘密鍵「SKA」により復号する。そして、セッション鍵取得部450は、セッション鍵を取得する。
【0066】
アプリケーションデータ取得部460は、通信記録データに含まれるアプリケーション通信データを取得する。そして、アプリケーションデータ取得部460は、例えば、共通鍵暗号を用いてアプリケーション通信データをセッション鍵により復号する。そして、アプリケーションデータ取得部460は、アプリケーションデータを取得する。
【0067】
図5は、実施例1に係る監査人端末装置400における復号の概念を説明するための図である。図5の5Aに示すように、セッション鍵取得部450は、階層鍵暗号を用いて暗号化セッション鍵「CS」を秘密鍵「SKA」により復号する。この復号により、セッション鍵取得部450は、セッション鍵「S」を取得する。次に、図5の5Bに示すように、アプリケーションデータ取得部460は、共通鍵暗号を用いて、アプリケーション通信データ「C1,C2,…,CN」をセッション鍵「S」により復号する。この復号により、アプリケーションデータ取得部460は、アプリケーションデータ「M1,M2,…,MN」を取得する。このアプリケーションデータが、セキュア通信によりクライアント装置100とサーバ装置200との間でやり取りされた通信内容に相当する。
【0068】
出力制御部470は、例えば、ディスプレイやモニタ(図示略)に、クライアント装置100およびサーバ装置200から取得したアクセスログ、およびアプリケーションデータを出力する。監査人端末装置400のユーザである監査人は、アクセスログおよびアプリケーションデータの双方に基づいて、通信事象および通信内容の監査を行う。
【0069】
[通信内容監査システムの処理(実施例1)]
図6〜図8を用いて、実施例1に係る通信内容監査システムの処理の流れを説明する。図6は、クライアント装置100とサーバ装置200との間で行われるハンドシェイクフェーズおよびアプリケーション通信フェーズの処理の流れを示す図である。図7は、ハンドシェイクフェーズおよびアプリケーション通信フェーズにおける中継装置300による処理の流れを示す図である。図8は、監査人端末装置400による処理の流れを示す図である。
【0070】
まず、図6を用いて、クライアント装置100とサーバ装置200との間で行われるハンドシェイクフェーズおよびアプリケーション通信フェーズの流れを説明する。
【0071】
図6に示すように、クライアント装置100とサーバ装置200との間で実行されるハンドシェイクフェーズによりセッション鍵が共有される。このセッション鍵は、アプリケーション通信フェーズにてアプリケーションデータを暗号化する場合に用いられる。セッション鍵を共有した後、クライアント装置100とサーバ装置200との間で、セッション鍵を用いたアプリケーション通信フェーズが実行される。
【0072】
なお、図6に記す「params」はシステムパラメータを示し、図6に記す「PK」はサーバ装置200の公開鍵を示し、図6に記す「SK」はサーバ装置200の秘密鍵を示し、図6に記す「S」はセッション鍵を示し、図6に記す「CS」は暗号化セッション鍵を示す。また、「Cipher_Alg」は共通鍵暗号のアルゴリズムであることを示す。
【0073】
ハンドシェイクフェーズについて説明する。クライアント装置100はセッション鍵を生成する(ステップS101)。例えば、セッション鍵は乱数「S」からなる。次に、クライアント装置100は、階層鍵暗号を用いてセッション鍵を暗号化する(ステップS102)。そして、クライアント装置100は、暗号化したセッション鍵「CS」をサーバ装置200に送信する(ステップS103)。
【0074】
サーバ装置200は、クライアント装置100から暗号化されたセッション鍵「CS」を受信すると、階層鍵暗号を用いて暗号化されたセッション鍵「CS」を秘密鍵「SK」により復号する(ステップS104)。ステップS101〜S104までがハンドシェイクフェーズに該当し、このハンドシェイクフェーズを完了することによりクライアント装置100とサーバ装置200との間でセッション鍵「S」が共有された状態となる。
【0075】
なお、上述したステップS104において、例えば、暗号化されたセッション鍵の他に、サーバ装置200側で生成した乱数をクライアント装置100とやり取りし、組み合わせる運用としてもよい。これにより、暗号強度を高めることができる。
【0076】
また、上述したステップS104において、セッション鍵を分割して、クライアント装置100がサーバ装置200に暗号文を送信する場合の鍵、サーバ装置200がクライアント装置100に暗号文を送信する場合の鍵、あるいは、MAC(Media Access Control)処理用の鍵などを生成し、アプリケーション通信フェーズにて利用するようにしてもよい。
【0077】
続いて、アプリケーション通信フェーズについて説明する。例えば、クライアント装置100はセッション鍵「S」を用いて平文(アプリケーションデータ)を暗号化する(ステップS105)。そして、クライアント装置100は、暗号文をサーバ装置200に送信する(ステップS106)。クライアント装置100は、サーバ装置200から暗号文を受信すると(ステップS107)、暗号文をセッション鍵「S」を用いて復号する(ステップS108)。
【0078】
サーバ装置200はセッション鍵「S」を用いて平文(アプリケーションデータ)を暗号化する(ステップS109)。そして、サーバ装置200は、暗号文をクライアント装置100に送信する(ステップS110)。サーバ装置200は、クライアント装置100から暗号文を受信すると(ステップS111)、暗号文をセッション鍵「S」を用いて復号する(ステップS112)。ステップS105〜S112までがアプリケーション通信フェーズに該当する。
【0079】
なお、上述したアプリケーション通信フェーズにおいて利用する共通鍵暗号のアルゴリズム(Cipher_Alg)としては、例えば、AES(Advanced Encryption Standard)やCamelliaなどを用いることができる。また、複数の共通鍵暗号方式に対応させるために、共通鍵暗号方式を決定するためのやり取りをハンドシェイクフェーズにて行う運用とすることもできる。
【0080】
次に、図7を用いて、ハンドシェイクフェーズおよびアプリケーション通信フェーズにおける中継装置300による処理の流れを説明する。
【0081】
図7に示すように、中継装置300は、ハンドシェイクフェーズにおいて次のように動作する。すなわち、中継装置300は、クライアント装置100から暗号化されたセッション鍵「CS」を受信すると(ステップS210)、暗号化されたセッション鍵「CS」を記録する(ステップS220)。そして、中継装置300は、暗号化されたセッション鍵「CS」をサーバ装置200に転送する(ステップS230)。
【0082】
図7に示すように、中継装置300は、アプリケーション通信フェーズにおいて次のように動作する。すなわち、中継装置300は、クライアント装置100から暗号文を受信すると(ステップS240)、暗号文を記録する(ステップS250)。そして、中継装置300は、暗号文をサーバ装置200に転送する(ステップS260)。また、中継装置300は、サーバ装置200から暗号文を受信すると(ステップS270)、暗号文を記録する(ステップS280)。そして、中継装置300は、暗号文をクライアント装置100に転送する(ステップS290)。
【0083】
続いて、図8を用いて、監査人端末装置400による処理の流れを説明する。図8に示すように、監査が必要な通信事象が発生すると(ステップS310,YES)、通信記録データ取得部420は、通信事象に対応する通信記録データを中継装置300から取得する(ステップS320)。なお、監査が必要な通信事象が発生していない場合には、同判定結果を「NO」としてステップS301の同判定を繰り返す。
【0084】
通信記録データ検証部430は、タイムスタンプを利用して、通信記録データ取得部420により取得された通信記録データの改ざんの有無を検証する(ステップS330)。暗号化セッション鍵取得部440は、通信記録データ取得部420により取得された通信記録データに含まれる暗号化セッション鍵を取得する(ステップS340)。
【0085】
セッション鍵取得部450は、階層鍵暗号を用いて、暗号化セッション鍵取得部440により取得された暗号化セッション鍵を秘密鍵「SKA」により復号し、セッション鍵を取得する(ステップS350)。アプリケーションデータ取得部460は、通信記録データからアプリケーション通信データを取得する(ステップS360)。共通鍵暗号を用いてアプリケーション通信データをセッション鍵により復号し、アプリケーションデータを取得する(ステップS370)。
【0086】
アクセスログ取得部410は、通信記録データ取得部420により取得された通信記録データに対応するアクセスログをクライアント装置100およびサーバ装置200から取得する(ステップS380)。出力制御部470は、クライアント装置100のアクセスログと、サーバ装置200のアクセスログと、アプリケーションデータとを出力する(ステップS390)。以上で、監査人端末装置400は処理を終了する。
【0087】
[実施例1による効果]
上述してきたように、監査人端末装置400は、サーバ装置200が保有する秘密鍵「SK」よりも上位の秘密鍵「SKA」を予め保有する。そして、監査人端末装置400は、クライアント装置100とサーバ装置200とのセキュア通信で用いられる暗号化セッション鍵「CS」を秘密鍵「SKA」により復号する。この復号の結果、監査人端末装置400は、セッション鍵「S」を取得し、このセッション鍵「S」を用いて、クライアント装置100とサーバ装置200とのセキュア通信の暗号文を復号し、クライアント装置100とサーバ装置200との間の通信内容を取得する。
【0088】
上述してきたように、実施例1に係る通信内容監査システムは、従来得ることができなかったクライアント装置とサーバ装置との間でやり取りされるセキュア通信の通信内容を取得できる。このため、実施例1に係る通信内容監査システムは、セキュア通信の通信内容を監査する場合に、実際にクライアント装置100とサーバ装置200との間でやり取りされた通信内容を利用できるようになる。このようなことから、実施例1に係る通信内容監査システムによれば、セキュア通信の通信内容の機密性を損なうことなく、真正性および客観性の高い監査が可能となる。
【0089】
また、実施例1に係る通信内容監査システムは、クライアント装置およびサーバ装置からそれぞれ取得したアクセスログ、およびクライアント装置とサーバ装置との間で実際にやり取りされた通信内容の双方に基づいて通信内容を監査できるようになる。このようなことから、実施例1に係る通信内容監査システムによれば、より厳密な監査ができる。
【0090】
また、実施例1に係る通信内容監査システムは、共有鍵暗号を用いてアプリケーション通信フェーズにてクライアント装置100とサーバ装置200との間でやり取りされるアプリケーションデータを、ハンドシェイクフェーズにおいて階層鍵暗号によりやり取りしたセッション鍵「S」を用いて暗号化あるいは復号を実行する。よって、実施例1に係る通信内容監査システムは、真正性および客観性の高い監査が可能であるとともに、汎用的なアプリケーション通信への適用も可能である。
【実施例2】
【0091】
以下、本発明にかかる通信内容監査方法および通信内容監査システムの他の実施形態を説明する。
【0092】
(1)装置構成等
図2に示した通信内容監査システムの各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、通信内容監査システムに複数の中継装置300を設けることもできる。例えば、中継装置300を複数設けることにより、企業ネットワーク単位やISP単位での通信データを記録する場合などにおいて、通信記録データの記録作業の負荷分散や記録範囲の制限が可能となる。
【0093】
また、図4に示した監査人端末装置400の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要せず、監査人端末装置400の各構成要素の分散・統合の具体的形態は図示のものに限られない。例えば、図4に示す監査人端末装置400が暗号化セッション鍵取得部440、セッション鍵取得部450、アプリケーションデータ取得部460を機能的または物理的に統合して構成する。このように、監査人端末装置400の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。なお、図4に示す通信記録データ取得部420を暗号化データ取得部と称してもよいし、図4に示す暗号化セッション鍵取得部440、セッション鍵取得部450およびアプリケーションデータ取得部460を機能的に統合したものを復号部と称してもよい。
【0094】
(2)通信内容復号プログラム
また、上記の実施例1で説明した監査人端末装置400の各種の処理機能(図8のステップS310〜S370等参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。
【0095】
そこで、以下では、図9を用いて、上記の実施例1で説明した監査人端末装置400の処理機能と同様の処理機能を実現する通信内容復号プログラムを実行するコンピュータの一例を説明する。図9は、通信内容復号プログラムを実行するコンピュータを示す図である。
【0096】
同図に示すように、監査人端末装置としてコンピュータ500は、各種演算処理を実行するCPU(Central Processing Unit)510を有する。また、コンピュータ500は、ユーザからデータの入力を受け付ける入力装置520および出力装置530を有する。
【0097】
なお、入力装置520は、例えば、キーボードやマウスなどに該当する。また、出力装置530は、モニタやディスプレイなどに該当する。なお、入力装置520がマウスを有する場合には、出力装置530が有するモニタと協働して、ポインティングデバイス機能を実現することもできる。また、入力装置520がタッチパッドなどの他の入力デバイスを有する場合にも、マウスの場合と同様にポインティングデバイス機能を実現できる。装置管理者は、ポインティングデバイス機能を利用して、監査人端末装置に関する各種設定を行うこともできる。
【0098】
また、コンピュータ500は、図9に示すように、記憶媒体からプログラム等を読取る媒体読取装置540と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置550を有する。また、コンピュータ500は、図9に示すように、各種情報を一時記憶するRAM(Random Access Memory)560と、ハードディスク装置570とを有する。そして、各装置510〜570は、バス580に接続される。
【0099】
なお、上述したCPU510の代わりに、例えば、MPU(Micro Processing Unit)などの電子回路、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路を用いることもできる。また、RAM560の代わりに、フラッシュメモリ(flash memory)などの半導体メモリ素子を用いることもできる。
【0100】
ハードディスク装置570には、上述した監査人端末装置400により実行される処理と同様の機能を発揮する通信内容復号プログラム571および通信内容復号用データ572が記憶されている。なお、この通信内容復号プログラム571を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【0101】
そして、CPU510が、通信内容復号プログラム571をハードディスク装置570から読み出してRAM560に展開することにより、図9に示すように、通信内容復号プログラム571は通信内容復号プロセス561として機能する。通信内容復号プロセス561は、ハードディスク装置570から読み出した通信内容復号用データ572等の各種データを適宜RAM560上の自身に割当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。
【0102】
なお、通信内容復号プロセス561は、例えば、図4に示した監査人端末装置400の通信記録データ取得部420、暗号化セッション鍵取得部440、セッション鍵取得部450、アプリケーションデータ取得部460等にて実行される処理に対応する。
【0103】
なお、通信内容復号プログラム571については、必ずしも最初からハードディスク装置570に記憶させておく必要はない。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500がこれらから各プログラムを読み出して実行するようにしてもよい。
【0104】
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ500に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておく。そして、コンピュータ500がこれらから各プログラムを読み出して実行するようにしてもよい。
【0105】
(3)通信内容監査方法
上記の実施例1で説明したクライアント装置100とサーバ装置200との間で行われたセキュア通信の通信内容を監査する監査人端末装置400を含む通信内容監査システムにより、例えば、以下のような通信内容監査方法が実現される。
【0106】
すなわち、監査人端末装置400が、セッション鍵により暗号化された状態でクライアント装置100とサーバ装置200との間でやり取りされる暗号化通信データを取得するステップと、第1の秘密鍵と階層関係にある第2の秘密鍵を用いて、暗号化通信データに含まれる暗号化セッション鍵を復号し、復号の結果得られるセッション鍵を用いて暗号化通信データを復号するステップとを行う通信内容監査方法が実現される。
【産業上の利用可能性】
【0107】
以上のように、本発明にかかる通信内容監査方法および通信内容監査システムは、クライアント装置とサーバ装置との間で行われたセキュア通信の通信内容を監査する場合に有用であり、特に、クライアントとサーバとの間で行われたセキュア通信の通信内容について、真正性および客観性の高い、より厳密な監査を実現することに適している。
【符号の説明】
【0108】
100 クライアント装置
200 サーバ装置
300 中継装置
400 監査人端末装置
410 アクセスログ取得部
420 通信記録データ取得部
430 通信記録データ検証部
440 暗号化セッション鍵取得部
450 セッション鍵取得部
460 アプリケーションデータ取得部
470 出力制御部
500 コンピュータ
510 CPU
520 入力装置
530 出力装置
540 媒体読取装置
550 ネットワークインターフェース装置
560 RAM
561 通信内容復号プロセス
570 ハードディスク装置
571 通信内容復号プログラム
572 通信内容復号用データ
580 バス

【特許請求の範囲】
【請求項1】
クライアント装置とサーバ装置との間で行われたセキュア通信の通信内容を監査する監査人端末装置を含む通信内容監査システムに適用される通信内容監査方法であって、
前記クライアント装置は、
階層鍵暗号を用いて、前記サーバ装置との間で行うセキュア通信に用いるセッション鍵を暗号化するステップと、
前記暗号化セッション鍵を前記サーバ装置に送信するステップと、
前記セッション鍵を用いて通信データを暗号化した暗号化通信データを前記サーバ装置との間でやり取りするステップと、
を含み、
前記サーバ装置は、
階層鍵暗号を用いて、前記クライアント装置から受信した暗号化セッション鍵を第一の秘密鍵により復号するステップと、
前記第一の秘密鍵により暗号化セッション鍵を復号し、復号の結果得られるセッション鍵を用いて通信データを暗号化した暗号化通信データを前記クライアント装置との間でやり取りするステップと
を含み、
前記監査人端末装置は、
前記セッション鍵により暗号化された状態で前記クライアント装置と前記サーバ装置との間でやり取りされる暗号化通信データを取得するステップと、
前記第一の秘密鍵と階層関係にある第二の秘密鍵を用いて、前記暗号化通信データに含まれる暗号化セッション鍵を復号し、復号の結果得られるセッション鍵を用いて該暗号化通信データを復号するステップと
を含むことを特徴とする通信内容監査方法。
【請求項2】
前記監査人端末装置は、
前記クライアント装置に記録されている前記サーバ装置との間の通信履歴、および前記サーバ装置に記録されている前記クライアント装置との間の通信履歴をそれぞれ取得するステップと、
前記第二の秘密鍵による前記暗号化通信データの復号の結果得られる通信データと、前記取得された各通信履歴とをあわせて出力するステップと
をさらに含むことを特徴とする請求項1に記載の通信内容監査方法。
【請求項3】
前記クライアント装置は、
共有鍵暗号を用いて前記サーバ装置に送信する通信データを前記セッション鍵により暗号化するとともに、該共有鍵暗号を用いて該サーバ装置から受信した前記暗号化通信データを該セッション鍵を用いて復号するステップをさらに含み、
前記サーバ装置は、
前記共有鍵暗号を用いて前記クライアント装置に送信する通信データを前記セッション鍵により暗号化するとともに、該共有鍵暗号を用いて該クライアント装置から受信した前記暗号化通信データを該セッション鍵を用いて復号するステップをさらに含むことを特徴とする請求項2に記載の通信内容監査方法。
【請求項4】
クライアント装置とサーバ装置との間で行われたセキュア通信の通信内容を監査する監査装置を含む通信内容監査システムであって、
前記クライアント装置は、
階層鍵暗号を用いて、前記サーバ装置との間で行うセキュア通信に用いるセッション鍵を暗号化する暗号化部と、
前記暗号化セッション鍵を前記サーバ装置に送信する送信部と、
前記セッション鍵を用いて通信データを暗号化した暗号化通信データを前記サーバ装置との間でやり取りする通信部と
を有し、
前記サーバ装置は、
階層鍵暗号を用いて、前記クライアント装置から受信した暗号化セッション鍵を第一の秘密鍵により復号する復号部と、
前記第一の秘密鍵により暗号化セッション鍵を復号し、復号の結果得られるセッション鍵を用いて通信データを暗号化した暗号化通信データを前記クライアント装置との間でやり取りする通信部と
を有し、
前記監査人端末装置は、
前記セッション鍵により暗号化された状態で前記クライアント装置と前記サーバ装置との間でやり取りされる暗号化通信データを取得する暗号化通信データ取得部と、
前記第一の秘密鍵と階層関係にある第二の秘密鍵を用いて、前記暗号化通信データに含まれる暗号化セッション鍵を復号し、復号の結果得られるセッション鍵を用いて該暗号化通信データを復号する復号部と
を有することを特徴とする通信内容監査システム。
【請求項5】
前記監査人端末装置は、
前記クライアント装置に記録されている前記サーバ装置との間の通信履歴、および前記サーバ装置に記録されている前記クライアント装置との間の通信履歴をそれぞれ取得するアクセスログ取得部と、
前記第二の秘密鍵による前記暗号化通信データの復号の結果得られる通信データと、前記取得された各通信履歴とをあわせて出力する出力部と
をさらに有することを特徴とする請求項4に記載の通信内容監査システム。
【請求項6】
前記クライアント装置は、
共有鍵暗号を用いて前記サーバ装置に送信する通信データを前記セッション鍵により暗号化するとともに、該共有鍵暗号を用いて該サーバ装置から受信した前記暗号化通信データを該セッション鍵を用いて復号するアプリケーション通信部を有し、
前記サーバ装置は、
前記共有鍵暗号を用いて前記クライアント装置に送信する通信データを前記セッション鍵により暗号化するとともに、該共有鍵暗号を用いて該クライアント装置から受信した前記暗号化通信データを該セッション鍵を用いて復号するアプリケーション通信部をさらに有することを特徴とする請求項5に記載の通信内容監査システム。

【図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


【公開番号】特開2011−254146(P2011−254146A)
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2010−124844(P2010−124844)
【出願日】平成22年5月31日(2010.5.31)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】