(57)【要約】  監査システム（１）の監査装置（２０）は、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログ（図１の例では、管理ログ（顧客Ａ））をセンタ（１０）のログ保存サーバ（１３）から受信する。そして、センタ（１０）は、管理ログを全て続いて、監査装置（２０）は、受信された管理ログのうち、顧客本人のログをハッシュ値化して全てハッシュ値化された管理ログ（図１の例では、管理ログ（顧客Ａ：ハッシュ値化））を作成し、センタ（１０）のハッシュ値化ログ公開サーバから全体がハッシュ値化された管理ログ（図１の例では、管理ログ（ハッシュ値化））を受信する。そして、監査装置（２０）は、自らハッシュ値化した管理ログ（顧客Ａ：ハッシュ値化）と、受信された管理ログ（ハッシュ値化）とを比較して、ログの正当性を検証する。
2008117471.tif 000002
【特許請求の範囲】
【請求項１】
複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査方法をコンピュータに実行させる監査プログラムであって、
他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信手順と、
前記全体ログ受信手順によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成手順と、
ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信手順と、
前記ハッシュ値化ログ生成手順によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信手順によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証手順と、
をコンピュータに実行させることを特徴とする監査プログラム。
【請求項２】
前記ハッシュ値化ログ受信手順は、前記サーバを管理するセンタから前記ハッシュ値化ログを受信することを特徴とする請求項１に記載の監査プログラム。
【請求項３】
前記ハッシュ値化ログ受信手順は、他の顧客から前記ハッシュ値化ログを受信することを特徴とする請求項１に記載の監査プログラム。
【請求項４】
複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査システムであって、
他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信手段と、
前記全体ログ受信手段によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成手段と、
ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信手段と、
前記ハッシュ値化ログ生成手段によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信手段によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証手段と、
を備えることを特徴とする監査システム。
【請求項５】
前記ハッシュ値化ログ受信手段は、前記サーバを管理するセンタから前記ハッシュ値化ログを受信することを特徴とする請求項４に記載の監査システム。
【請求項６】
前記ハッシュ値化ログ受信手段は、他の顧客から前記ハッシュ値化ログを受信することを特徴とする請求項４に記載の監査システム。
【請求項７】
複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査方法であって、
他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信工程と、
前記全体ログ受信工程によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成工程と、
ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信工程と、
前記ハッシュ値化ログ生成工程によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信工程によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証工程と、
を含んだことを特徴とする監査方法。
【請求項８】
前記ハッシュ値化ログ受信工程は、前記サーバを管理するセンタから前記ハッシュ値化ログを受信することを特徴とする請求項７に記載の監査方法。
【請求項９】
前記ハッシュ値化ログ受信工程は、他の顧客から前記ハッシュ値化ログを受信することを特徴とする請求項７に記載の監査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査プログラム、監査システムおよび監査方法に関する。
【背景技術】
【０００２】
従来より、複数の顧客が資源を共有するサーバを用いて行われるサービス（例えば、オンデマンドサービス）において、顧客がセンタの運用状況の監査を実施している。例えば、オンデマンドサービスにおいて、サービスを提供した量に基づいた従量課金が行われる場合、そのサービス提供量を知ることができるのはサービス運用を行うデータセンタのみである。このことは、従来のリソース固定割当で定額課金の場合には、サービス提供量と課金が関連しないため気にする必要がなかったが、センタによる計測値が重要となる従量課金では、センタが計測値に改ざんを行っていないことを提示しなければ顧客が課金額に疑念を抱くことになりかねない。【０００３】
このような対策として、センタが運用ポリシを定め、技術的対策を行い、それが確実に実施されたことを提示するために監査が実施される。例えば、特許文献１および特許文献２では、監査に利用されるログをサーバから収集し、そのログを蓄積する技術が開示されている。このような技術を利用して蓄積されたログを用いて、センタの運用状況の監査を実施することが考えられる。【０００４】
【特許文献１】特開２００２−４１４５６２号公報
【特許文献２】特開２００４−２９５３０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、複数の顧客が資源を共用し、監査に利用されるログを記憶するサーバに複数の顧客の情報が混在する場合には、顧客のログが本人以外にも開示されてしまうので、顧客の個人情報を適切に保護できないという問題がある。【０００６】
また、複数の顧客が資源を共用しているシステムにおいて、顧客ごとにログを分離して各顧客が本人のログのみを監査した場合に、全てのログを参照しなければ監査結果に対して充分な信憑性を与えることができないので、適切な監査が行えないという問題がある。【０００７】
そこで、この発明は、顧客の個人情報を保護するとともに、適切な監査を実行する監査プログラム、監査システムおよび監査方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査方法をコンピュータに実行させる監査プログラムであって、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信手順と、前記全体ログ受信手順によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成手順と、ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信手順と、前記ハッシュ値化ログ生成手順によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信手順によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証手順と、をコンピュータに実行させることを特徴とする。【０００９】
また、本発明は、上記の発明において、前記ハッシュ値化ログ受信手順は、前記サーバを管理するセンタから前記ハッシュ値化ログを受信することを特徴とする。【００１０】
また、本発明は、上記の発明において、前記ハッシュ値化ログ受信手順は、他の顧客から前記ハッシュ値化ログを受信することを特徴とする。【００１１】
また、本発明は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査システムであって、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信手段と、前記全体ログ受信手段によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成手段と、ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信手段と、前記ハッシュ値化ログ生成手段によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信手段によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証手段と、を備えることを特徴とする。【００１２】
また、本発明は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査方法であって、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信工程と、前記全体ログ受信工程によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成工程と、ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信工程と、前記ハッシュ値化ログ生成工程によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信工程によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証工程と、を含んだことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログをサーバから受信し、受信された全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成し、全体のログがハッシュ値化された全体のハッシュ値化ログを受信し、生成されたハッシュ値化ログと受信されたハッシュ値化ログとを比較して、ログの正当性を検証するので、他の顧客に関する情報を一方向関数でハッシュ値化して秘匿しつつ、全体のログを参照できるようにする結果、顧客の個人情報を保護するとともに、適切な監査を実行することが可能である。【００１４】
また、本発明によれば、サーバを管理するセンタからハッシュ値化ログを受信するので、第三者を介さずに、センタから直接ハッシュ値化ログを受信する結果、例えば、ログの改ざんが発見された場合に、その改ざんの原因を容易に特定することが可能である。【００１５】
また、本発明によれば、他の顧客からハッシュ値化ログを受信するので、サーバを管理するセンタから直接受信せずに、第三者を介す結果、より適切な監査を実行することが可能である。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例１に係る監査システムの概要および特徴を説明するための図である。
【図２】図２は、実施例１に係るセンタの構成を示すブロック図である。
【図３】図３は、サーバログの一例を説明するための図である。
【図４】図４は、管理ログの一例を説明するための図である。
【図５】図５は、監査ログの一例を説明するための図である。
【図６】図６は、ハッシュ値化された管理ログの一例を説明するための図である。
【図７】図７は、共通ログから他のログを生成する処理を説明するための図である。
【図８】図８は、ハッシュ値化処理および署名生成処理を説明するための図である。
【図９】図９は、全体署名について説明するための図である。
【図１０】図１０は、実施例１に係る監査装置の構成を示すブロック図である。
【図１１】図１１は、サーバログ記憶部が記憶するサーバログの一例を説明するための図である。
【図１２】図１２は、管理ログ記憶部が記憶する管理ログの一例を説明するための図である。
【図１３】図１３は、監査ログ記憶部に記憶される監査ログの一例を説明するための図である。
【図１４】図１４は、ハッシュ値化管理ログ記憶部に記憶されるハッシュ値化された管理ログの一例を説明するための図である。
【図１５】図１５は、ハッシュ値化監査ログ記憶部に記憶されるハッシュ値化された監査ログの一例を説明するための図である。
【図１６】図１６は、ログ検証処理を説明するための図である。
【図１７】図１７は、署名検証処理を具体的に説明するための図である。
【図１８】図１８は、ログ検証処理を説明するための図である。
【図１９】図１９は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２０】図２０は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２１】図２１は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２２】図２２は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２３】図２３は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２４】図２４は、実施例１に係る監査装置によるハッシュ値化ログ検証処理の流れを示すフローチャート図である。
【図２５】図２５は、実施例２に係る監査システムの概要および特徴を説明するための図である。
【図２６】図２６は、監査プログラムを実行するコンピュータを示す図である。
【符号の説明】
【００１７】
１  監査システム
１０  センタ
１１  サーバプール
１２  管理サーバ
１３  ログ保存サーバ
１４  ハッシュ値化ログ公開サーバ
２０  監査装置
２１  通信制御Ｉ／Ｆ
２２  制御部
２２ａ  全体ログ受信部
２２ｂ  ログ検証部
２２ｃ  ハッシュ値化ログ生成部
２２ｄ  ハッシュ値化ログ受信部
２２ｅ  ハッシュ値化ログ検証部
２３  記憶部
２３ａ  サーバログ記憶部
２３ｂ  管理ログ記憶部
２３ｃ  監査ログ記憶部
２３ｄ  ハッシュ値化管理ログ記憶部
２３ｅ  ハッシュ値化監査ログ記憶部
３０  ネットワーク
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、この発明に係る監査システムの実施例を詳細に説明する。
【実施例１】
【００１９】
以下の実施例では、実施例１に係る監査システムの概要および特徴、センタの構成、監査装置の構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。【００２０】
［実施例１に係る監査システムの概要および特徴］
まず最初に、図１を用いて、実施例１に係る監査システムの概要および特徴を説明する。図１は、実施例１に係る監査システムの概要および特徴を説明するための図である。【００２１】
実施例１の監査システム１では、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証することを概要とする。そして、顧客の個人情報を保護するとともに、適切な監査を実行する点に主たる特徴がある。【００２２】
この主たる特徴について具体的に説明すると、監査システム１は、各種サービスを提供し、各サーバ（後に図２を用いて詳述する管理サーバ、ログ保存サーバ、ハッシュ値化ログ公開サーバ）のログを管理するセンタ１０と、そのセンタ１０の運用状況の監査を実施する監査装置とを備え、図示しないネットワークを介してそれぞれ接続される。【００２３】
このような構成のもと、実施例１に係る監査システム１の監視装置２０は、図１に示すように、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログ（図１の例では、管理ログ（顧客Ａ））をセンタ１０のログ保存サーバ１３から受信する（図１の（１）参照）。そして、センタ１０は、管理ログを全てハッシュ値化したハッシュ値化ログをハッシュ値化ログ公開サーバに登録する（図１の（２）参照）。【００２４】
続いて、監査装置２０は、受信された管理ログのうち、顧客本人のログをハッシュ値化して全てハッシュ値化された管理ログ（図１の例では、管理ログ（顧客Ａ：ハッシュ値化））を作成し（図１の（３）参照）、センタ１０のハッシュ値化ログ公開サーバから全体がハッシュ値化された管理ログ（図１の例では、管理ログ（ハッシュ値化））を受信する（図１の（４）参照）。【００２５】
そして、監査装置２０は、自らハッシュ値化した管理ログ（顧客Ａ：ハッシュ値化）と、受信された管理ログ（ハッシュ値化）とを比較して、ログの正当性を検証する（図１の（５）参照）。具体的には、監査装置２０は、管理ログ（顧客Ａ：ハッシュ値化）と管理ログ（ハッシュ値化）とを比較して、一致するか否かを判定し、一致しない場合には、ログが不一致である旨のエラーを所定の出力部に出力する。一方、監査装置２０は、ログが一致する場合には、ログが正当なものであるとし、ログが無改ざんであると判断する。【００２６】
このように、監査システム１は、他の顧客に関する情報を一方向関数でハッシュ値化して秘匿しつつ、全体のログを参照できるようにする結果、上記した主たる特徴のごとく、顧客の個人情報を保護するとともに、適切な監査を実行することが可能である。【００２７】
［センタの構成］
次に、図２を用いて、図１に示したセンタ１０の構成を説明する。図２は、実施例１に係るセンタ１０の構成を示すブロック図であり、図３は、サーバログの一例を説明するための図であり、図４は、管理ログの一例を説明するための図であり、図５は、監査ログの一例を説明するための図であり、図６は、ハッシュ値化された管理ログの一例を説明するための図であり、図７は、共通ログから他のログを生成する処理を説明するための図であり、図８は、ハッシュ値化処理および署名生成処理を説明するための図であり、図９は、全体署名について説明するための図である。【００２８】
図２に示すように、このセンタ１０は、各顧客が利用するサーバ（サーバプール）１１、管理サーバ１２、ログ保存サーバ１３およびハッシュ値化ログ公開サーバ１４を備え、バスなどを介して接続される。なお、本構成全体に対してセキュリティポリシーの制定や運用ルールの制定が行われており、保存されたログに対して無改ざん性が保たれていることが技術的および運用状況に対する監査等により確認できることとする。【００２９】
サーバプール１１は、複数のサーバ（割当済サーバと未割当サーバ）を有し、各顧客に利用するサーバを必要に応じて未割当サーバから割り当てて、割当済サーバとする。このサーバプール１１内の各サーバは、サーバ内のログ情報として、サーバログ（例えば、アプリケーションの動作履歴等）をログファイル内に記憶し、定期的にログ保存サーバ１３に出力する。なお、このログ情報は、顧客に占有的に割り当てられたサーバが出力するログ情報であり、各顧客は自身の占有期間中のサーバログの参照が可能である。【００３０】
具体的には、図３に例示するように、各サーバは、ログファイル内ではひとつのログ情報を１行のログレコードとして、通し番号、記録日時、対象顧客、発生事象および無改ざん証明（署名）を記録する。「通し番号」および「記録日時」は、ログの欠損や事後改ざん防止のために用いられる。「対象顧客」は、そのログレコードがどの顧客に関するものかを示す。「発生事象」は、実際に記録されるログの内容であり、任意の情報が記入されうる。「無改ざん証明（署名）」は、そのレコードが記録した時点から改変されていないことを証明するための電子署名である。署名生成については図８を用いて後述する。この電子署名のうち、全体署名とは、ログファイル切り替え時点で、そのログファイル内の全レコードの署名情報に対してさらに付与される無改ざん署名である。【００３１】
管理サーバ１２は、割当状況の管理やネットワークの設定等について行い、複数顧客に関するログ（例えば、サーバ割当や運用に関する監査情報など）が混在するログ情報として管理ログを記憶する。具体的には、管理サーバ１２は、ログ情報として、全情報が揃ったオリジナルのログファイルである共通ログ（図４に例示）を記憶し、定期的にログ保存サーバ１３に出力する。【００３２】
ログ保存サーバ１３は、各サーバから出力されたサーバログおよび管理サーバのログについて記録し、ログ保存サーバ自体の監査情報についてもログ保存サーバ内に監査ログ（図５に例示）として保存する。この際に、複数顧客毎の情報に分離しつつ記録を行い、全顧客に公開すべき情報およびその顧客に関係するログが記録される顧客毎ログを作成して記憶する。また、ログ保存サーバ１３は、ハッシュ値化された管理ログ（ハッシュ値化）を作成して、ハッシュ値化ログ公開サーバ１４に出力する。【００３３】
ここで、図７を用いて、ログ保存サーバ１３が共通管理ログから他のログを作成する処理を説明する。同図に示すように、ログ保存サーバ１３は、全顧客に共通する管理ログから各顧客用の管理ログ（顧客Ａ、顧客Ｂ）と、ハッシュ値化ログ公開サーバ１４を介して公開されるハッシュ値化された管理ログ（ハッシュ値化）とを作成する。図７の例を用いて説明すると、ログ保存サーバ１３は、管理ログ（顧客Ａ）として、顧客Ａ以外の「対象顧客」および顧客Ａ以外に関する「発生事象」をハッシュ値化する。また、ログ保存サーバ１３は、管理ログ（ハッシュ値化）として、全ての「対象顧客」および全ての「発生事象」をハッシュ値化する。【００３４】
なお、ログ保存サーバ１３は、長期間のログを保存する場合は一定期間（１日、１週間または１ヶ月等）ごとにログファイルを切り替えていくものとし、サーバログは顧客が切り替わった時点でもログファイルを切り替えるものとする。【００３５】
ハッシュ値化ログ公開サーバ１４は、さらに分離妥当性検証のための情報（ハッシュ値化された管理ログおよび監査ログ）を記憶する。具体的には、ハッシュ値化ログ公開サーバ１４は、全ての「対象顧客」および全ての「発生事象」がハッシュ値化された管理ログ（図６に例示）と、全ての「対象顧客」および全ての「発生事象」がハッシュ値化された監査ログを記憶し、監査装置（顧客）２０からの要求があった場合に、その情報を通知する。なお、このハッシュ値化されたログはセンタ担当者経由でなく全顧客が匿名で取得可能なハッシュ値化ログ公開サーバ１４から取得する。【００３６】
ここで、図８および図９を用いて、各サーバがログに付与する署名の作成処理およびハッシュ値化処理について説明する。図８に示すように、顧客名は一意性の確認のみ可能な顧客ＩＤに変換する。この顧客ＩＤは、各顧客は自身の顧客ＩＤは通知されるが他の顧客と顧客ＩＤとの関係は通知されない。なお、顧客ＩＤは、ログファイルごとに顧客との対応を変化させることも可能であり、その場合は個々のログファイルごとに各顧客の顧客ＩＤが通知される。【００３７】
また、発生事象については一方向関数を用いてハッシュ値に変換され記録される。このハッシュ関数についてはセンタおよび全顧客が知っているものとする。この手順を踏むことで、他顧客のログ情報について内容の隠蔽が行われる。ただし、これだけだとログレコードの出現頻度から処理の流れを推測される可能性があるため、かく乱のための情報としてダミーログレコードが挿入される。これは適当な頻度で各顧客処理として挿入され、発生事象にはダミーである旨が記載される。なお、ハッシュ値計算時に通し番号および記録日時の情報が加えられ、同一の発生事象であっても異なるハッシュ値となるため、発生事象のハッシュ値から元の事象が推定されることはない。【００３８】
さらに、ログレコードの署名生成では、ハッシュ値化したレコードの情報に基づいて生成する。各顧客の署名検証時にはハッシュ値化に相当する処理を行ったうえで署名検証がされる。こうすることで、ハッシュ値化したログレコードとオリジナルのログレコードの署名を同一にすることができ、後述する検証時にも無改ざん確認に利用することができる。また、図９に示すように、ログファイル切り替え時点で、そのログファイル内の全レコードの署名情報に対してさらに無改ざん署名を全体署名として作成し、付与する。【００３９】
［監査装置の構成］
次に、図１０を用いて、図１に示した監査装置２０の構成を説明する。図１０は、実施例１に係る監査装置２０の構成を示すブロック図であり、図１１は、サーバログ記憶部が記憶するサーバログの一例を説明するための図であり、図１２は、管理ログ記憶部が記憶する管理ログの一例を説明するための図であり、図１３は、監査ログ記憶部に記憶される監査ログの一例を説明するための図であり、図１４は、ハッシュ値化管理ログ記憶部に記憶されるハッシュ値化された管理ログの一例を説明するための図であり、図１５は、ハッシュ値化監査ログ記憶部に記憶されるハッシュ値化された監査ログの一例を説明するための図であり、図１６は、ログ検証処理を説明するための図であり、図１７は、署名検証処理を具体的に説明するための図であり、図１８は、ログ検証処理を説明するための図である。【００４０】
図１０に示すように、この監査装置２０は、通信制御Ｉ／Ｆ２１、制御部２２、記憶部２３を備え、ネットワーク３０を介してセンタ１０と接続される。以下にこれらの各部の処理を説明する。【００４１】
通信制御Ｉ／Ｆ２１は、接続されるセンタ１０との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御Ｉ／Ｆ２１は、は、センタ１０との間でログに関する情報を受信する。【００４２】
記憶部２３は、制御部２２による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、サーバログ記憶部２３ａ、管理ログ記憶部２３ｂ、監査ログ記憶部２３ｃ、ハッシュ値化管理ログ記憶部２３ｄおよびハッシュ値化監査ログ記憶部２３ｅを備える。【００４３】
サーバログ記憶部２３ａは、センタ１０のログ保存サーバ１３から受信したサーバログを記憶する。具体的な例を挙げて説明すると、図１１に示すように、サーバログ記憶部２３ａは、顧客Ａ自身が利用するサーバ１およびサーバ３のサーバログを記憶する。このサーバログ記憶部２３ａは、ログファイル内ではひとつのログ情報を１行のログレコードとして、通し番号、記録日時、対象顧客、発生事象および無改ざん証明（署名）を記録する。【００４４】
管理ログ記憶部２３ｂは、センタ１０のログ保存サーバ１３から受信した管理ログを記憶する。具体的な例を挙げて説明すると、図１２に示すように、管理ログ記憶部２３ｂは、顧客Ａ以外の「対象顧客」および顧客Ａ以外に関する「発生事象」がハッシュ値化され、全顧客共通の情報と顧客Ａ自身の情報についてはハッシュ値化されていない管理ログ（顧客Ａ）を記憶する。つまり、顧客Ａには、他の顧客に関する情報を閲覧することができないので、適切に個人情報を保護することとなる。【００４５】
監査ログ記憶部２３ｃは、センタ１０のログ保存サーバ１３から受信した監査ログを記憶する。具体的な例を挙げて説明すると、図１３に示すように、監査ログ記憶部２３ｃは、管理ログ（顧客Ａ）と同様に、顧客Ａ以外の「対象顧客」および顧客Ａ以外に関する「発生事象」がハッシュ値化され、全顧客共通の情報と顧客Ａ自身の情報についてはハッシュ値化されていない監査ログ（顧客Ａ）を記憶する。【００４６】
ハッシュ値化管理ログ記憶部２３ｄは、後述するハッシュ値化ログ生成部２２ｃによってハッシュ値化された管理ログ（ハッシュ値化）を記憶する。具体的には、ハッシュ値化管理ログ記憶部２３ｄは、図１４に示すように、全ての「対象顧客」および全ての「発生事象」がハッシュ値化された管理ログ（ハッシュ値化）を記憶する。【００４７】
ハッシュ値化監査ログ記憶部２３ｅは、後述するハッシュ値化ログ生成部２２ｃによってハッシュ値化された監査ログ（ハッシュ値化）を記憶する。具体的には、図１５に示すように、ハッシュ値化監査ログ記憶部２３ｅは、管理ログ（ハッシュ値化）と同様に、全ての「対象顧客」および全ての「発生事象」がハッシュ値化された監査ログ（ハッシュ値化）を記憶する。【００４８】
制御部２２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、全体ログ受信部２２ａ、ログ検証部２２ｂ、ハッシュ値化ログ生成部２２ｃ、ハッシュ値化ログ受信部２２ｄおよびハッシュ値化ログ検証部２２ｅを備える。なお、全体ログ受信部２２ａは、特許請求の範囲に記載の「全体ログ受信手段」に対応し、ハッシュ値化ログ生成部２２ｃは、特許請求の範囲に記載の「ハッシュ値化ログ生成手段」に対応し、ハッシュ値化ログ受信部２２ｄは、特許請求の範囲に記載の「ハッシュ値化ログ受信手段」に対応し、ハッシュ値化ログ検証部２２ｅは、特許請求の範囲に記載の「ログ検証手段」に対応する。【００４９】
全体ログ受信部２２ａは、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれるログ（管理ログおよび監査ログ）をセンタ１０のログ保存サーバ１３から受信する。具体的には、全体ログ受信部２２ａは、センタ１０に対して監査を行う旨を通知し、その通知を受信したセンタ１０から送付された顧客が利用しているサーバのサーバログ、他の顧客に関するログが一方向関数でハッシュ値化された管理ログおよび監査ログをセンタ１０のログ保存サーバ１３から受信し、それぞれをサーバログ記憶部２３ａ、管理ログ記憶部２３ｂ、監査ログ記憶部２３ｃに記憶させる。【００５０】
ログ検証部２２ｂは、受信したサーバログ、管理ログおよび監査ログに矛盾がないかを検証する。具体的な例を挙げて説明すると、図１６に示すように、ログ検証部２２ｂは、全体ログ受信部２２ａによってセンタ１０からログが受信されると、ログファイルのレコード単位での検証を実施する。各レコード内に付与された署名が正しいことを確認することで、レコード単位での改ざんが試みられていないことを検証する。また、ログ検証部２２ｂは、レコード間の通し番号の一貫性や記録日時の順序性、発生事象自体が妥当かについても確認を行う。ログファイルの全体全体署名の検証を実施する。【００５１】
そして、ログ検証部２２ｂは、ログファイル内の全レコードの署名に対して付与された全体署名が妥当かを検証し、レコードの追加や削除、交換が行われていないことを確認する。続いて、ログ検証部２２ｂは、監査ログに記載されたログ操作に対応する記録が各ログに対して存在しているか対応の確認を行う。これにより、ログ保存サーバが関与しないところでログに変更がなされていないことを確認する。また、ログ検証部２２ｂは、管理ログ内のサーバ配備情報とサーバログの対応を確認する。これにより、サーバログの過不足を検証する。【００５２】
ここで、図１７を用いて、署名検証処理を説明する。ログ検証部２２ｂは、オリジナルレコードをハッシュ値化してハッシュレコードを生成し、そのハッシュレコードに対して署名を検証する。そして、レコード署名全体と全体署名の無矛盾を検証する。なお、詳しい検証処理の説明については、後にフローを用いて詳述する。【００５３】
ハッシュ値化ログ生成部２２ｃは、受信された管理ログおよび監査ログのうち、顧客本人のログをハッシュ値化して全てハッシュ値化された管理ログおよび監査ログを作成する。具体的には、ハッシュ値化ログ生成部２２ｃは、管理ログ記憶部２３ｂおよび監査ログ記憶部２３ｃによって記憶された管理ログおよび監査ログのうち、顧客本人の「対象顧客」および「発生事象」をハッシュ値化した管理ログ（顧客Ａ：ハッシュ値化）および監査ログ（顧客Ａ：ハッシュ値化）を作成して、ハッシュ値化管理ログ記憶部２３ｄおよびハッシュ値化監査ログ記憶部２３ｅにそれぞれ記憶させる。【００５４】
ハッシュ値化ログ受信部２２ｄは、センタ１０のハッシュ値化ログ公開サーバから全体の管理ログがハッシュ値化された管理ログ（ハッシュ値化）を受信する。具体的には、ハッシュ値化ログ受信部２２ｄは、センタ１０のハッシュ値化ログ公開サーバから全体の管理ログがハッシュ値化された管理ログ（ハッシュ値化）を受信し、受信されたそれらのログを後述するハッシュ値化ログ検証部２２ｅに通知する。【００５５】
ハッシュ値化ログ検証部２２ｅは、自らハッシュ値化した管理ログ（顧客Ａ：ハッシュ値化）と、受信された管理ログ（ハッシュ値化）とを比較して、ログの正当性を検証する。具体的には、ハッシュ値化ログ検証部２２ｅは、図１８に示すように、管理ログ（顧客Ａ：ハッシュ値化）と管理ログ（ハッシュ値化）とを比較して、一致するか否かを判定し、一致しない場合には、ログが不一致である旨のエラーを所定の出力部に出力する。一方、監査装置２０は、ログが一致する場合には、ログが正当なものであるとし、ログが無改ざんであると判断する。【００５６】
［監査装置による処理］
次に、図１９〜図２４を用いて、実施例１に係る監査装置２０による処理を説明する。図１９〜図２３は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図であり、図２４は、実施例１に係る監査装置によるハッシュ値化ログ検証処理の流れを示すフローチャート図である。【００５７】
まず、図１９〜図２３を用いて、監査装置２０によるログ検証処理の流れを説明する。監査装置２０は、センタ１０からサーバログ、管理ログおよび監査ログを受信すると、全てのログを順に選択し（ステップＳ１０１）、全てのログが署名検証を終了したか判定する（ステップＳ１０２）。そして、全てのログが終了していない場合には（ステップＳ１０２否定）、ログ内の全レコードを順に選択し（ステップＳ１０３）、全レコードが終了したかを判定する（ステップＳ１０４）。【００５８】
その結果、監査装置２０は、全レコードが終了していない場合には（ステップＳ１０４否定）、レコードがハッシュ値化されているかを判定する（ステップＳ１０５）。そして、監査装置２０は、レコードがハッシュ値化されていない場合には（ステップＳ１０５否定）、レコードをハッシュ値化した後（ステップＳ１０６）、または、レコードがハッシュ値化されている場合には（ステップＳ１０５肯定）、署名検証を行う（ステップＳ１０７）。【００５９】
そして、監査装置２０は、検証が成功したかを判定し（ステップＳ１０８）、成功しなかった場合には（ステップＳ１０８否定）、レコード署名エラーを出力する（ステップＳ１０９）。また、監査装置２０は、検証が成功した場合には（ステップＳ１０８肯定）、顧客名が自分であるかを判定する（ステップＳ１１０）。その結果、監査装置２０は、顧客名が自分でない場合には（ステップＳ１１０否定）、ステップＳ１０３に戻る。また、監査装置２０は、顧客名が自分である場合には（ステップＳ１１０肯定）、発生事象確認を行い（ステップＳ１１１）、発生事象が適切か判定する（ステップＳ１１２）。【００６０】
その結果、監査装置２０は、発生事象が適切でない場合には（ステップＳ１１２否定）、事象エラーを出力した後（ステップＳ１１３）、または、発生事象が適切である場合には（ステップＳ１１２肯定）、ステップＳ１０３に戻る。【００６１】
ここで、ステップＳ１０４に戻って、監査装置２０は、全レコードが終了した場合には（ステップＳ１０４肯定）、レコード署名および全体の署名を検証する処理を行い（ステップＳ１１４）、検証が成功であるか否かを判定する（ステップＳ１１５）。その結果、監査装置２０は、検証が成功でない場合には（ステップＳ１１５否定）、ファイル署名がエラーである旨を出力した後（ステップＳ１１６）、または、検証が成功である場合には（ステップＳ１１５肯定）、ステップＳ１０１に戻る。【００６２】
ここで、ステップＳ１０２に戻って、監査装置２０は、全てのログの検証処理が終了した場合には（ステップＳ１０２）、図２０に示すように、監査ログ以外のログを順に選択し（ステップＳ２０１）、全ログが終了したか判定する（ステップＳ２０２）。その結果、監査装置２０は、全ログが終了していない場合には（ステップＳ２０２否定）、ログ内の全レコードを順に選択し（ステップＳ２０３）、全レコードが終了したかを判定する（ステップＳ２０４）。その結果、監査装置２０は、全レコードが終了していない場合には（ステップＳ２０４否定）、チェック済みフラグをクリアし（ステップＳ２０４）、ステップＳ２０３に戻り、また全レコードが終了している場合には（ステップＳ２０４肯定）、ステップＳ２０１に戻る。【００６３】
ここで、ステップＳ２０２に戻って、監査装置２０は、全ログが終了している場合には（ステップＳ２０２肯定）、監査ログの全レコードを順に選択し（ステップＳ２０６）、全レコードについて終了したか否かを判定する（ステップＳ２０７）。その結果、監視装置２０は、全レコードについて終了していない場合には（ステップＳ２０７否定）、顧客名が自分であるか判定する（ステップＳ２０８）。その結果、監査装置２０は、顧客名が自分でない場合には（ステップＳ２０８否定）、ステップＳ２０６に戻り、また顧客名が自分である場合には（ステップＳ２０８肯定）、発生事象がログ切替であるか判定する（ステップＳ２０９）。その結果、監査装置２０は、発生事象がログ切替である場合には（ステップＳ２０９肯定）、切替前後のログファイルを取得し（ステップＳ２１０）、切替前のログが存在するかを判定する（ステップＳ２１１）。【００６４】
そして、監査装置２０は、切替前のログが存在しない場合には（ステップＳ２１１否定）、切替前ログが無い旨のエラーを出力する（ステップＳ２１２）。また、監査装置２０は、切替前のログが存在ある場合には（ステップＳ２１１肯定）、切替前ログ終了時刻が妥当であるかを判定する（ステップＳ２１３）。その結果、監査装置２０は、切替前ログ終了時刻が妥当でない場合には（ステップＳ２１３否定）、切替前ログ終了時刻のエラーを出力する（ステップＳ２１４）。【００６５】
また、監査装置２０は、切替前ログ終了時刻が妥当である場合には（ステップＳ２１３肯定）、切替後のログが存在するかを判定する（ステップＳ２１５）。切替後のログが存在しない場合には（ステップＳ２１５否定）、切替後ログが無い旨のエラーを出力する（ステップＳ２１６）。また、監査装置２０は、切替後のログが存在ある場合には（ステップＳ２１５肯定）、切替後ログ開始時刻が妥当であるかを判定する（ステップＳ２１７）。その結果、監査装置２０は、切替後ログ開始時刻が妥当でない場合には（ステップＳ２１７否定）、切替後ログ開始時刻のエラーを出力し（ステップＳ２１８）、ステップＳ２０６に戻る。【００６６】
ここで、ステップＳ２０９に戻って、監査装置２０は、監査装置２０は、発生事象がログ切替でない場合には（ステップＳ２０９否定）、発生事象がログ記録であるか判定する（ステップＳ２１９）。その結果、監視装置２０は、発生事象がログ記録でない場合には（ステップＳ２１９否定）、ステップＳ２０６に戻り、また発生事象がログ記録である場合には（ステップＳ２１９肯定）、記録先ログファイルを取得し（ステップＳ２２０）、記憶先ログが存在するか判定する（ステップＳ２２１）。その結果、監視装置２０は、記憶先ログが存在しない場合には（ステップＳ２２１否定）、ログファイルが無い旨のエラーを出力し（ステップＳ２２２）、ステップＳ２０６に戻る。【００６７】
また、監視装置２０は、記憶先ログが存在する場合には（ステップＳ２２１肯定）、記録レコードを探索し（ステップＳ２２３）、レコードが存在するか判定する（ステップＳ２２４）。その結果、監視装置２０は、レコードが存在しない場合には（ステップＳ２２４否定）、レコードが無い旨のエラーを出力し（ステップＳ２２５）、一方、レコードが存在する場合には（ステップＳ２２４肯定）、チェック済みフラグをセットし（ステップＳ２２６）、ステップＳ２０６に戻る。【００６８】
ここで、ステップＳ２０７に戻って、監視装置２０は、全レコードについて終了している場合には（ステップＳ２０７肯定）、図２１に示すように、監査ログ以外のログを順に選択し（ステップＳ３０１）、全ログが終了したかを判定する（ステップＳ３０２）。その結果、監視装置２０は、全ログが終了していない場合には（ステップＳ３０２否定）、ログ内の全レコードを順に選択し（ステップＳ３０３）、全レコードが終了したかを判定する（ステップＳ３０４）。その結果、監視装置２０は、全レコードが終了している場合には（ステップＳ３０４肯定）、ステップＳ３０１に戻り、また全レコードが終了していない場合には（ステップＳ３０４否定）、顧客名が自分であるかを判定する（ステップＳ３０５）。【００６９】
この結果、監査装置２０は、顧客名が自分でない場合には（ステップＳ３０５否定）、ステップ３０３に戻り、また顧客名が自分である場合には（ステップＳ３０５肯定）、チェック済フラグがセットされているか判定する（ステップＳ３０６）。そして、監査装置２０は、その結果、チェック済フラグがセットされていない場合には（ステップＳ３０６否定）、監査ログが無い旨のエラーを出力し（ステップＳ３０７）、また、チェック済フラグがセットされている場合には（ステップＳ３０６肯定）、ステップＳ３０３に戻る。【００７０】
ここで、ステップＳ３０２に戻って、監査装置２０は、全ログが終了していた場合には（ステップＳ３０２肯定）、図２２に示すように、サーバが割り当てられた時刻を記憶する割当期間テーブルを作成する（ステップＳ４０１）。そして、監査装置２０は、サーバログの切替前後の割当を結合し（ステップＳ４０２）、割当期間テーブルを順に選択して（ステップＳ４０３）、全エントリが終了したかを判定する（ステップＳ４０４）。その結果、監査装置２０は、全エントリが終了していない場合には（ステップＳ４０４否定）、開始時刻および終了時刻のフラグをクリアして（ステップＳ４０５）、ステップＳ４０３に戻る。【００７１】
一方、監査装置２０は、全エントリが終了している場合には（ステップＳ４０４肯定）、管理ログの全レコードを順に選択し（ステップＳ４０６）、全レコードが終了したか判定する（ステップＳ４０７）。その結果、監査装置２０は、全レコードが終了していない場合には（ステップＳ４０７否定）、顧客名が自分であるかを判定する（ステップＳ４０８）。その結果、監査装置２０は、顧客名が自分でない場合には（ステップＳ４０８否定）、ステップＳ４０６に戻り、顧客名が自分である場合には（ステップＳ４０８肯定）、発生事象がサーバの割当であるか判定する（ステップＳ４０９）。【００７２】
その結果、監査装置２０は、発生事象がサーバの割当である場合には（ステップＳ４０９肯定）、対応する割当期間を探索し（ステップＳ４１０）、合致するエントリが存在するか判定する（ステップＳ４１１）。そして、監査装置２０は、合致するエントリが存在しない場合には（ステップＳ４１１否定）、サーバの割り当てログがエラーであることを出力し、ステップＳ４０６に戻る。また、監査装置２０は、合致するエントリが存在する場合には（ステップＳ４１１肯定）、開始時刻フラグがセットされ（ステップＳ４１３）、ステップＳ４０６に戻る。【００７３】
また、ステップＳ４０９に戻って、監査装置２０は、発生事象がサーバの割当でない場合には（ステップＳ４０９否定）、発生事象がサーバ割当解除であるかを判定する（ステップＳ４１４）。その結果、監査装置２０は、発生事象がサーバ割当解除でない場合には（ステップＳ４１４否定）、ステップＳ４０６に戻り、また、発生事象がサーバ割当解除である場合には（ステップＳ４１４肯定）、対応する割当期間を探索し（ステップＳ４１５）、合致するエントリが存在するか判定する（ステップＳ４１６）。【００７４】
そして、監査装置２０は、合致するエントリが存在しない場合には（ステップＳ４１６否定）、サーバ割当解除ログがエラーであることを出力し（ステップＳ４１７）、ステップＳ４０６に戻る。また、監査装置２０は、合致するエントリが存在する場合には（ステップＳ４１７肯定）、終了時刻フラグをセットして（ステップＳ４１８）、ステップＳ４０６に戻る。【００７５】
ここで、ステップＳ４０７戻って、監視装置２０は、全レコードが終了した場合には（ステップＳ４０７）、図２３に示すように、割当期間テーブルを順に選択し（ステップＳ５０１）、全エントリ終了したか判定する（ステップＳ５０２）。その結果、監査装置２０は、全エントリ終了した場合には（ステップＳ５０２肯定）、処理を終了する。一方、監査装置２０は、全エントリ終了していない場合には（ステップＳ５０２否定）、開始時刻フラグをセットしているかを判定する（ステップＳ５０３）。【００７６】
そして、監査装置２０は、開始時刻フラグをセットしていない場合には（ステップＳ５０３否定）、監査範囲開始時点で割当状態であるか判定する（ステップＳ５０４）。その結果、監査装置２０は、監査範囲開始時点で割当状態でない場合には（ステップＳ５０４否定）、サーバ割当がエラーであることを出力する（ステップＳ５０５）。また、監査装置２０は、監査範囲開始時点で割当状態である場合には（ステップＳ５０４肯定）、終了時刻フラグがセットされているか判定する（ステップＳ５０６）。【００７７】
その結果、監査装置２０は、終了時刻フラグがセットされていない場合には（ステップＳ５０６否定）、監査範囲終了時点で割当状態であるかを判定する（ステップＳ５０７）。そして、監査装置２０は、監査範囲終了時点で割当状態でない場合には（ステップＳ５０７否定）、サーバ割当解除がエラーであることを出力し（ステップＳ５０８）、その後、ステップＳ５０１に戻る。【００７８】
続いて、図２４を用いて、ハッシュ値化ログ検証処理を説明する。まず、監査装置２０は、ログ検証処理を行った後、管理ログおよび監査ログを順に選択し（ステップＳ６０１）、全ログが終了したか判定する（ステップＳ６０２）。そして、監査装置２０は、全ログが終了していない場合には（ステップＳ６０２否定）、ログをコピーし（ステップＳ６０４）、コピーされたログのレコードを順に選択して（ステップＳ６０４）、全レコードが終了したか判定する（ステップＳ６０５）。また、監査装置２０は、全ログが終了した場合には（ステップＳ６０２肯定）、処理を終了する。【００７９】
そして、監査装置２０は、全レコードが終了していない場合には（ステップＳ６０５否定）、レコードがハッシュ値化済であるか判定する（ステップＳ６０６）。その結果、監査装置２０は、レコードがハッシュ値化済でない場合には（ステップＳ６０６否定）、レコードをハッシュ値化して置換して（ステップＳ６０７）、ステップＳ６０４に戻る。【００８０】
ここで、ステップＳ６０５に戻って、監査装置２０は、全レコードが終了した場合には（ステップＳ６０５肯定）、センタ１０からハッシュ値化ログを受信し（ステップＳ６０８）、自らハッシュ値化した管理ログと、受信された管理ログとを比較して（ステップＳ６０９）、一致するか判定する（ステップＳ６１０）。この結果、監査装置２０は、自らハッシュ値化した管理ログと受信された管理ログとが一致しない場合には（ステップＳ６１０否定）、ハッシュログが不一致であることを出力する（ステップＳ６１１）。また、監査装置２０は、自らハッシュ値化した管理ログと受信された管理ログとが一致する場合には（ステップＳ６１０肯定）、ログが正当であるとして、ステップＳ６０１に戻る。【００８１】
[実施例１の効果]
上述してきたように、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログをセンタ１０から受信し、受信された全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成し、全体のログがハッシュ値化された全体のハッシュ値化ログを受信し、生成されたハッシュ値化ログと受信されたハッシュ値化ログとを比較して、ログの正当性を検証するので、他の顧客に関する情報を一方向関数でハッシュ値化して秘匿しつつ、全体のログを参照できるようにする結果、顧客の個人情報を保護するとともに、適切な監査を実行することが可能である。【００８２】
また、実施例１によれば、各サーバを管理するセンタ１０からハッシュ値化ログを受信するので、第三者を介さずに、センタ１０から直接ハッシュ値化ログを受信する結果、例えば、ログの改ざんが発見された場合に、その改ざんの原因を容易に特定することが可能である。
【実施例２】
【００８３】
ところで、上記の実施例１では、センタ１０から全体がハッシュ値化されたログを受信する場合を説明したが、本発明はこれに限定されるものではなく、他の顧客から全体がハッシュ値化されたログを受信するようにしてもよい。【００８４】
そこで、以下の実施例２では、他の顧客から全体がハッシュ値化されたログを受信し、その受信されたハッシュ値ログと自らがハッシュ値化したログとを比較してログを検証する場合として、図２５を用いて、実施例２における監査システム１ａの概要と特徴について説明する。図２５は、実施例２に係る監査システム１ａの概要および特徴を説明するための図である。【００８５】
まず最初に、実施例２に係る監査システム１ａの概要および特徴を説明する。図２５に示すように、監査システム１ａの各監査装置２０Ａ、２０Ｂは、実施例１と同様に、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを受信し、そのログを各顧客がハッシュ値化する（図２５（１）〜（２）参照）。【００８６】
そして、実施例１とは異なり、実施例２に係る監査システム１ａは、各顧客の監査装置２０Ａ、２０Ｂがハッシュ値化したログを顧客間で相互に交換する（図２５の（３）参照）。なお、図１の例では、第三者機関４０の仲介により匿名性を維持しつつ交換する方法を記載しているが、これに限定されるものではない。【００８７】
その後、各顧客の監査装置２０Ａ、２０Ｂは、各顧客は自身の生成したハッシュ値化ログと他顧客の生成したものを比較することで、自身が受け取ったログと他顧客が受け取ったログが同一の共通ログに由来するものであることの確認を行う（図２５の（４）参照）。【００８８】
このように実施例２によれば、他の顧客からハッシュ値化ログを受信するので、センタ１０から直接受信せずに、第三者を介す結果、より適切な監査を実行することが可能である。
【実施例３】
【００８９】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例３として本発明に含まれる他の実施例を説明する。【００９０】
（１）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、全体ログ受信部２２ａとログ検証部２２ｂを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【００９１】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。【００９２】
（２）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図２６を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図２６は、監査プログラムを実行するコンピュータを示す図である。【００９３】
同図に示すように、監査装置としてのコンピュータ６００は、ＨＤＤ６１０、ＲＡＭ６２０、ＲＯＭ６３０およびＣＰＵ６４０をバス６５０で接続して構成される。【００９４】
そして、ＲＯＭ６３０には、上記の実施例と同様の機能を発揮する監査プログラム、つまり、図２６に示すように、全体ログ受信プログラム６３１、ログ検証プログラム６３２、ハッシュ値化ログ生成プログラム６３３、ハッシュ値化ログ受信プログラム６３４およびハッシュ値化ログ検証プログラム６３５が予め記憶されている。なお、プログラム６３１〜６３５については、図１０に示した監査装置２０の各構成要素と同様、適宜統合または分散してもよい。【００９５】
そして、ＣＰＵ６４０が、これらのプログラム６３１〜６３５をＲＯＭ６３０から読み出して実行することで、図２６に示すように、各プログラム６３１〜６３５は、全体ログ受信プロセス６４１、ログ検証プロセス６４２、ハッシュ値化ログ生成プロセス６４３、ハッシュ値化ログ受信プロセス６４４およびハッシュ値化ログ検証プロセス６４５として機能するようになる。各プロセス６４１〜６４５は、図１０に示した、全体ログ受信部２２ａ、ログ検証部２２ｂ、ハッシュ値化ログ生成部２２ｃ、ハッシュ値化ログ受信部２２ｄおよびハッシュ値化ログ検証部２２ｅにそれぞれ対応する。【００９６】
また、ＨＤＤ６１０には、図２６に示すように、サーバログテーブル６１１、管理ログテーブル６１２、監査ログテーブル６１３、ハッシュ値化管理ログテーブル６１４およびハッシュ値化監査ログテーブル６１５が設けられる。なお、サーバログテーブル６１１、管理ログテーブル６１２、監査ログテーブル６１３、ハッシュ値化管理ログテーブル６１４およびハッシュ値化監査ログテーブル６１５は、図１０に示したサーバログ記憶部２３ａ、管理ログ記憶部２３ｂ、監査ログ記憶部２３ｃ、ハッシュ値化管理ログ記憶部２３ｄおよびハッシュ値化監査ログ記憶部２３ｅに対応する。そして、ＣＰＵ６４０は、サーバログテーブル６１１、管理ログテーブル６１２、監査ログテーブル６１３、ハッシュ値化管理ログテーブル６１４およびハッシュ値化監査ログテーブル６１５に対してデータを登録するとともに、サーバログテーブル６１１、管理ログテーブル６１２、監査ログテーブル６１３、ハッシュ値化管理ログテーブル６１４およびハッシュ値化監査ログテーブル６１５からサーバログデータ６２１、管理ログデータ６２２、監査ログデータ６２３、ハッシュ値化管理ログデータ６２４およびハッシュ値化監査ログデータ６２５を読み出してＲＡＭ６２０に格納し、ＲＡＭ６２０に格納されたサーバログデータ６２１、管理ログデータ６２２、監査ログデータ６２３、ハッシュ値化管理ログデータ６２４およびハッシュ値化監査ログデータ６２５に基づいて情報を管理する処理を実行する。
【産業上の利用可能性】
【００９７】
以上のように、本発明に係る監査プログラム、監査システムおよび監査方法は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証することに有用であり、特に、顧客の個人情報を保護するとともに、適切な監査を実行する場合に適する。
【図１】
2008117471.tif 000003
【図２】
2008117471.tif 000004
【図３】
2008117471.tif 000005
【図４】
2008117471.tif 000006
【図５】
2008117471.tif 000007
【図６】
2008117471.tif 000008
【図７】
2008117471.tif 000009
【図８】
2008117471.tif 000010
【図９】
2008117471.tif 000011
【図１０】
2008117471.tif 000012
【図１１】
2008117471.tif 000013
【図１２】
2008117471.tif 000014
【図１３】
2008117471.tif 000015
【図１４】
2008117471.tif 000016
【図１５】
2008117471.tif 000017
【図１６】
2008117471.tif 000018
【図１７】
2008117471.tif 000019
【図１８】
2008117471.tif 000020
【図１９】
2008117471.tif 000021
【図２０】
2008117471.tif 000022
【図２１】
2008117471.tif 000023
【図２２】
2008117471.tif 000024
【図２３】
2008117471.tif 000025
【図２４】
2008117471.tif 000026
【図２５】
2008117471.tif 000027
【図２６】
2008117471.tif 000028
【手続補正書】
【提出日】平成21年6月1日(2009.6.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査方法をコンピュータに実行させる監査プログラムであって、
他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信手順と、
前記全体ログ受信手順によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成手順と、
ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信手順と、
前記ハッシュ値化ログ生成手順によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信手順によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証手順と、
をコンピュータに実行させることを特徴とする監査プログラム。
【請求項２】
前記ハッシュ値化ログ受信手順は、前記サーバを管理するセンタから前記ハッシュ値化ログを受信することを特徴とする請求項１に記載の監査プログラム。
【請求項３】
前記ハッシュ値化ログ受信手順は、他の顧客から前記ハッシュ値化ログを受信することを特徴とする請求項１に記載の監査プログラム。
【請求項４】
複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査システムであって、
他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信手段と、
前記全体ログ受信手段によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成手段と、
ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信手段と、
前記ハッシュ値化ログ生成手段によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信手段によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証手段と、
を備えることを特徴とする監査システム。
【請求項５】
複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査方法であって、
他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信工程と、
前記全体ログ受信工程によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成工程と、
ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信工程と、
前記ハッシュ値化ログ生成工程によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信工程によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証工程と、
を含んだことを特徴とする監査方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査プログラム、監査システムおよび監査方法に関する。
【背景技術】
【０００２】
従来より、複数の顧客が資源を共有するサーバを用いて行われるサービス（例えば、オンデマンドサービス）において、顧客がセンタの運用状況の監査を実施している。例えば、オンデマンドサービスにおいて、サービスを提供した量に基づいた従量課金が行われる場合、そのサービス提供量を知ることができるのはサービス運用を行うデータセンタのみである。このことは、従来のリソース固定割当で定額課金の場合には、サービス提供量と課金が関連しないため気にする必要がなかったが、センタによる計測値が重要となる従量課金では、センタが計測値に改ざんを行っていないことを提示しなければ顧客が課金額に疑念を抱くことになりかねない。
【０００３】
このような対策として、センタが運用ポリシを定め、技術的対策を行い、それが確実に実施されたことを提示するために監査が実施される。例えば、特許文献１および特許文献２では、監査に利用されるログをサーバから収集し、そのログを蓄積する技術が開示されている。このような技術を利用して蓄積されたログを用いて、センタの運用状況の監査を実施することが考えられる。
【０００４】
【特許文献１】特開２００２−４１４５６２号公報
【特許文献２】特開２００４−２９５３０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、複数の顧客が資源を共用し、監査に利用されるログを記憶するサーバに複数の顧客の情報が混在する場合には、顧客のログが本人以外にも開示されてしまうので、顧客の個人情報を適切に保護できないという問題がある。
【０００６】
また、複数の顧客が資源を共用しているシステムにおいて、顧客ごとにログを分離して各顧客が本人のログのみを監査した場合に、全てのログを参照しなければ監査結果に対して充分な信憑性を与えることができないので、適切な監査が行えないという問題がある。
【０００７】
そこで、この発明は、顧客の個人情報を保護するとともに、適切な監査を実行する監査プログラム、監査システムおよび監査方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査方法をコンピュータに実行させる監査プログラムであって、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信手順と、前記全体ログ受信手順によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成手順と、ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信手順と、前記ハッシュ値化ログ生成手順によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信手順によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証手順と、をコンピュータに実行させることを特徴とする。
【０００９】
また、本発明は、上記の発明において、前記ハッシュ値化ログ受信手順は、前記サーバを管理するセンタから前記ハッシュ値化ログを受信することを特徴とする。
【００１０】
また、本発明は、上記の発明において、前記ハッシュ値化ログ受信手順は、他の顧客から前記ハッシュ値化ログを受信することを特徴とする。
【００１１】
また、本発明は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査システムであって、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信手段と、前記全体ログ受信手段によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成手段と、ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信手段と、前記ハッシュ値化ログ生成手段によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信手段によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証手段と、を備えることを特徴とする。
【００１２】
また、本発明は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証する監査方法であって、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを前記サーバから受信する全体ログ受信工程と、前記全体ログ受信工程によって受信された前記全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成するハッシュ値化ログ生成工程と、ログ全体がハッシュ値化されたハッシュ値化ログを受信するハッシュ値化ログ受信工程と、前記ハッシュ値化ログ生成工程によって生成された前記ハッシュ値化ログと前記ハッシュ値化ログ受信工程によって受信された前記ハッシュ値化ログとを比較して、ログの正当性を検証するログ検証工程と、を含んだことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログをサーバから受信し、受信された全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成し、全体のログがハッシュ値化された全体のハッシュ値化ログを受信し、生成されたハッシュ値化ログと受信されたハッシュ値化ログとを比較して、ログの正当性を検証するので、他の顧客に関する情報を一方向関数でハッシュ値化して秘匿しつつ、全体のログを参照できるようにする結果、顧客の個人情報を保護するとともに、適切な監査を実行することが可能である。
【００１４】
また、本発明によれば、サーバを管理するセンタからハッシュ値化ログを受信するので、第三者を介さずに、センタから直接ハッシュ値化ログを受信する結果、例えば、ログの改ざんが発見された場合に、その改ざんの原因を容易に特定することが可能である。
【００１５】
また、本発明によれば、他の顧客からハッシュ値化ログを受信するので、サーバを管理するセンタから直接受信せずに、第三者を介す結果、より適切な監査を実行することが可能である。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、この発明に係る監査システムの実施例を詳細に説明する。
【実施例１】
【００１７】
以下の実施例では、実施例１に係る監査システムの概要および特徴、センタの構成、監査装置の構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。
【００１８】
［実施例１に係る監査システムの概要および特徴］
まず最初に、図１を用いて、実施例１に係る監査システムの概要および特徴を説明する。図１は、実施例１に係る監査システムの概要および特徴を説明するための図である。
【００１９】
実施例１の監査システム１では、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証することを概要とする。そして、顧客の個人情報を保護するとともに、適切な監査を実行する点に主たる特徴がある。
【００２０】
この主たる特徴について具体的に説明すると、監査システム１は、各種サービスを提供し、各サーバ（後に図２を用いて詳述する管理サーバ、ログ保存サーバ、ハッシュ値化ログ公開サーバ）のログを管理するセンタ１０と、そのセンタ１０の運用状況の監査を実施する監査装置とを備え、図示しないネットワークを介してそれぞれ接続される。
【００２１】
このような構成のもと、実施例１に係る監査システム１の監視装置２０は、図１に示すように、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログ（図１の例では、管理ログ（顧客Ａ））をセンタ１０のログ保存サーバ１３から受信する（図１の（１）参照）。そして、センタ１０は、管理ログを全てハッシュ値化したハッシュ値化ログをハッシュ値化ログ公開サーバに登録する（図１の（２）参照）。
【００２２】
続いて、監査装置２０は、受信された管理ログのうち、顧客本人のログをハッシュ値化して全てハッシュ値化された管理ログ（図１の例では、管理ログ（顧客Ａ：ハッシュ値化））を作成し（図１の（３）参照）、センタ１０のハッシュ値化ログ公開サーバから全体がハッシュ値化された管理ログ（図１の例では、管理ログ（ハッシュ値化））を受信する（図１の（４）参照）。
【００２３】
そして、監査装置２０は、自らハッシュ値化した管理ログ（顧客Ａ：ハッシュ値化）と、受信された管理ログ（ハッシュ値化）とを比較して、ログの正当性を検証する（図１の（５）参照）。具体的には、監査装置２０は、管理ログ（顧客Ａ：ハッシュ値化）と管理ログ（ハッシュ値化）とを比較して、一致するか否かを判定し、一致しない場合には、ログが不一致である旨のエラーを所定の出力部に出力する。一方、監査装置２０は、ログが一致する場合には、ログが正当なものであるとし、ログが無改ざんであると判断する。
【００２４】
このように、監査システム１は、他の顧客に関する情報を一方向関数でハッシュ値化して秘匿しつつ、全体のログを参照できるようにする結果、上記した主たる特徴のごとく、顧客の個人情報を保護するとともに、適切な監査を実行することが可能である。
【００２５】
［センタの構成］
次に、図２を用いて、図１に示したセンタ１０の構成を説明する。図２は、実施例１に係るセンタ１０の構成を示すブロック図であり、図３は、サーバログの一例を説明するための図であり、図４は、管理ログの一例を説明するための図であり、図５は、監査ログの一例を説明するための図であり、図６は、ハッシュ値化された管理ログの一例を説明するための図であり、図７は、共通ログから他のログを生成する処理を説明するための図であり、図８は、ハッシュ値化処理および署名生成処理を説明するための図であり、図９は、全体署名について説明するための図である。
【００２６】
図２に示すように、このセンタ１０は、各顧客が利用するサーバ（サーバプール）１１、管理サーバ１２、ログ保存サーバ１３およびハッシュ値化ログ公開サーバ１４を備え、バスなどを介して接続される。なお、本構成全体に対してセキュリティポリシーの制定や運用ルールの制定が行われており、保存されたログに対して無改ざん性が保たれていることが技術的および運用状況に対する監査等により確認できることとする。
【００２７】
サーバプール１１は、複数のサーバ（割当済サーバと未割当サーバ）を有し、各顧客に利用するサーバを必要に応じて未割当サーバから割り当てて、割当済サーバとする。このサーバプール１１内の各サーバは、サーバ内のログ情報として、サーバログ（例えば、アプリケーションの動作履歴等）をログファイル内に記憶し、定期的にログ保存サーバ１３に出力する。なお、このログ情報は、顧客に占有的に割り当てられたサーバが出力するログ情報であり、各顧客は自身の占有期間中のサーバログの参照が可能である。
【００２８】
具体的には、図３に例示するように、各サーバは、ログファイル内ではひとつのログ情報を１行のログレコードとして、通し番号、記録日時、対象顧客、発生事象および無改ざん証明（署名）を記録する。「通し番号」および「記録日時」は、ログの欠損や事後改ざん防止のために用いられる。「対象顧客」は、そのログレコードがどの顧客に関するものかを示す。「発生事象」は、実際に記録されるログの内容であり、任意の情報が記入されうる。「無改ざん証明（署名）」は、そのレコードが記録した時点から改変されていないことを証明するための電子署名である。署名生成については図８を用いて後述する。この電子署名のうち、全体署名とは、ログファイル切り替え時点で、そのログファイル内の全レコードの署名情報に対してさらに付与される無改ざん署名である。
【００２９】
管理サーバ１２は、割当状況の管理やネットワークの設定等について行い、複数顧客に関するログ（例えば、サーバ割当や運用に関する監査情報など）が混在するログ情報として管理ログを記憶する。具体的には、管理サーバ１２は、ログ情報として、全情報が揃ったオリジナルのログファイルである共通ログ（図４に例示）を記憶し、定期的にログ保存サーバ１３に出力する。
【００３０】
ログ保存サーバ１３は、各サーバから出力されたサーバログおよび管理サーバのログについて記録し、ログ保存サーバ自体の監査情報についてもログ保存サーバ内に監査ログ（図５に例示）として保存する。この際に、複数顧客毎の情報に分離しつつ記録を行い、全顧客に公開すべき情報およびその顧客に関係するログが記録される顧客毎ログを作成して記憶する。また、ログ保存サーバ１３は、ハッシュ値化された管理ログ（ハッシュ値化）を作成して、ハッシュ値化ログ公開サーバ１４に出力する。
【００３１】
ここで、図７を用いて、ログ保存サーバ１３が共通管理ログから他のログを作成する処理を説明する。同図に示すように、ログ保存サーバ１３は、全顧客に共通する管理ログから各顧客用の管理ログ（顧客Ａ、顧客Ｂ）と、ハッシュ値化ログ公開サーバ１４を介して公開されるハッシュ値化された管理ログ（ハッシュ値化）とを作成する。図７の例を用いて説明すると、ログ保存サーバ１３は、管理ログ（顧客Ａ）として、顧客Ａ以外の「対象顧客」および顧客Ａ以外に関する「発生事象」をハッシュ値化する。また、ログ保存サーバ１３は、管理ログ（ハッシュ値化）として、全ての「対象顧客」および全ての「発生事象」をハッシュ値化する。
【００３２】
なお、ログ保存サーバ１３は、長期間のログを保存する場合は一定期間（１日、１週間または１ヶ月等）ごとにログファイルを切り替えていくものとし、サーバログは顧客が切り替わった時点でもログファイルを切り替えるものとする。
【００３３】
ハッシュ値化ログ公開サーバ１４は、さらに分離妥当性検証のための情報（ハッシュ値化された管理ログおよび監査ログ）を記憶する。具体的には、ハッシュ値化ログ公開サーバ１４は、全ての「対象顧客」および全ての「発生事象」がハッシュ値化された管理ログ（図６に例示）と、全ての「対象顧客」および全ての「発生事象」がハッシュ値化された監査ログを記憶し、監査装置（顧客）２０からの要求があった場合に、その情報を通知する。なお、このハッシュ値化されたログはセンタ担当者経由でなく全顧客が匿名で取得可能なハッシュ値化ログ公開サーバ１４から取得する。
【００３４】
ここで、図８および図９を用いて、各サーバがログに付与する署名の作成処理およびハッシュ値化処理について説明する。図８に示すように、顧客名は一意性の確認のみ可能な顧客ＩＤに変換する。この顧客ＩＤは、各顧客は自身の顧客ＩＤは通知されるが他の顧客と顧客ＩＤとの関係は通知されない。なお、顧客ＩＤは、ログファイルごとに顧客との対応を変化させることも可能であり、その場合は個々のログファイルごとに各顧客の顧客ＩＤが通知される。
【００３５】
また、発生事象については一方向関数を用いてハッシュ値に変換され記録される。このハッシュ関数についてはセンタおよび全顧客が知っているものとする。この手順を踏むことで、他顧客のログ情報について内容の隠蔽が行われる。ただし、これだけだとログレコードの出現頻度から処理の流れを推測される可能性があるため、かく乱のための情報としてダミーログレコードが挿入される。これは適当な頻度で各顧客処理として挿入され、発生事象にはダミーである旨が記載される。なお、ハッシュ値計算時に通し番号および記録日時の情報が加えられ、同一の発生事象であっても異なるハッシュ値となるため、発生事象のハッシュ値から元の事象が推定されることはない。
【００３６】
さらに、ログレコードの署名生成では、ハッシュ値化したレコードの情報に基づいて生成する。各顧客の署名検証時にはハッシュ値化に相当する処理を行ったうえで署名検証がされる。こうすることで、ハッシュ値化したログレコードとオリジナルのログレコードの署名を同一にすることができ、後述する検証時にも無改ざん確認に利用することができる。また、図９に示すように、ログファイル切り替え時点で、そのログファイル内の全レコードの署名情報に対してさらに無改ざん署名を全体署名として作成し、付与する。
【００３７】
［監査装置の構成］
次に、図１０を用いて、図１に示した監査装置２０の構成を説明する。図１０は、実施例１に係る監査装置２０の構成を示すブロック図であり、図１１は、サーバログ記憶部が記憶するサーバログの一例を説明するための図であり、図１２は、管理ログ記憶部が記憶する管理ログの一例を説明するための図であり、図１３は、監査ログ記憶部に記憶される監査ログの一例を説明するための図であり、図１４は、ハッシュ値化管理ログ記憶部に記憶されるハッシュ値化された管理ログの一例を説明するための図であり、図１５は、ハッシュ値化監査ログ記憶部に記憶されるハッシュ値化された監査ログの一例を説明するための図であり、図１６は、ログ検証処理を説明するための図であり、図１７は、署名検証処理を具体的に説明するための図であり、図１８は、ログ検証処理を説明するための図である。
【００３８】
図１０に示すように、この監査装置２０は、通信制御Ｉ／Ｆ２１、制御部２２、記憶部２３を備え、ネットワーク３０を介してセンタ１０と接続される。以下にこれらの各部の処理を説明する。
【００３９】
通信制御Ｉ／Ｆ２１は、接続されるセンタ１０との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御Ｉ／Ｆ２１は、は、センタ１０との間でログに関する情報を受信する。
【００４０】
記憶部２３は、制御部２２による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、サーバログ記憶部２３ａ、管理ログ記憶部２３ｂ、監査ログ記憶部２３ｃ、ハッシュ値化管理ログ記憶部２３ｄおよびハッシュ値化監査ログ記憶部２３ｅを備える。
【００４１】
サーバログ記憶部２３ａは、センタ１０のログ保存サーバ１３から受信したサーバログを記憶する。具体的な例を挙げて説明すると、図１１に示すように、サーバログ記憶部２３ａは、顧客Ａ自身が利用するサーバ１およびサーバ３のサーバログを記憶する。このサーバログ記憶部２３ａは、ログファイル内ではひとつのログ情報を１行のログレコードとして、通し番号、記録日時、対象顧客、発生事象および無改ざん証明（署名）を記録する。
【００４２】
管理ログ記憶部２３ｂは、センタ１０のログ保存サーバ１３から受信した管理ログを記憶する。具体的な例を挙げて説明すると、図１２に示すように、管理ログ記憶部２３ｂは、顧客Ａ以外の「対象顧客」および顧客Ａ以外に関する「発生事象」がハッシュ値化され、全顧客共通の情報と顧客Ａ自身の情報についてはハッシュ値化されていない管理ログ（顧客Ａ）を記憶する。つまり、顧客Ａには、他の顧客に関する情報を閲覧することができないので、適切に個人情報を保護することとなる。
【００４３】
監査ログ記憶部２３ｃは、センタ１０のログ保存サーバ１３から受信した監査ログを記憶する。具体的な例を挙げて説明すると、図１３に示すように、監査ログ記憶部２３ｃは、管理ログ（顧客Ａ）と同様に、顧客Ａ以外の「対象顧客」および顧客Ａ以外に関する「発生事象」がハッシュ値化され、全顧客共通の情報と顧客Ａ自身の情報についてはハッシュ値化されていない監査ログ（顧客Ａ）を記憶する。
【００４４】
ハッシュ値化管理ログ記憶部２３ｄは、後述するハッシュ値化ログ生成部２２ｃによってハッシュ値化された管理ログ（ハッシュ値化）を記憶する。具体的には、ハッシュ値化管理ログ記憶部２３ｄは、図１４に示すように、全ての「対象顧客」および全ての「発生事象」がハッシュ値化された管理ログ（ハッシュ値化）を記憶する。
【００４５】
ハッシュ値化監査ログ記憶部２３ｅは、後述するハッシュ値化ログ生成部２２ｃによってハッシュ値化された監査ログ（ハッシュ値化）を記憶する。具体的には、図１５に示すように、ハッシュ値化監査ログ記憶部２３ｅは、管理ログ（ハッシュ値化）と同様に、全ての「対象顧客」および全ての「発生事象」がハッシュ値化された監査ログ（ハッシュ値化）を記憶する。
【００４６】
制御部２２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、全体ログ受信部２２ａ、ログ検証部２２ｂ、ハッシュ値化ログ生成部２２ｃ、ハッシュ値化ログ受信部２２ｄおよびハッシュ値化ログ検証部２２ｅを備える。なお、全体ログ受信部２２ａは、特許請求の範囲に記載の「全体ログ受信手段」に対応し、ハッシュ値化ログ生成部２２ｃは、特許請求の範囲に記載の「ハッシュ値化ログ生成手段」に対応し、ハッシュ値化ログ受信部２２ｄは、特許請求の範囲に記載の「ハッシュ値化ログ受信手段」に対応し、ハッシュ値化ログ検証部２２ｅは、特許請求の範囲に記載の「ログ検証手段」に対応する。
【００４７】
全体ログ受信部２２ａは、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれるログ（管理ログおよび監査ログ）をセンタ１０のログ保存サーバ１３から受信する。具体的には、全体ログ受信部２２ａは、センタ１０に対して監査を行う旨を通知し、その通知を受信したセンタ１０から送付された顧客が利用しているサーバのサーバログ、他の顧客に関するログが一方向関数でハッシュ値化された管理ログおよび監査ログをセンタ１０のログ保存サーバ１３から受信し、それぞれをサーバログ記憶部２３ａ、管理ログ記憶部２３ｂ、監査ログ記憶部２３ｃに記憶させる。
【００４８】
ログ検証部２２ｂは、受信したサーバログ、管理ログおよび監査ログに矛盾がないかを検証する。具体的な例を挙げて説明すると、図１６に示すように、ログ検証部２２ｂは、全体ログ受信部２２ａによってセンタ１０からログが受信されると、ログファイルのレコード単位での検証を実施する。各レコード内に付与された署名が正しいことを確認することで、レコード単位での改ざんが試みられていないことを検証する。また、ログ検証部２２ｂは、レコード間の通し番号の一貫性や記録日時の順序性、発生事象自体が妥当かについても確認を行う。ログファイルの全体全体署名の検証を実施する。
【００４９】
そして、ログ検証部２２ｂは、ログファイル内の全レコードの署名に対して付与された全体署名が妥当かを検証し、レコードの追加や削除、交換が行われていないことを確認する。続いて、ログ検証部２２ｂは、監査ログに記載されたログ操作に対応する記録が各ログに対して存在しているか対応の確認を行う。これにより、ログ保存サーバが関与しないところでログに変更がなされていないことを確認する。また、ログ検証部２２ｂは、管理ログ内のサーバ配備情報とサーバログの対応を確認する。これにより、サーバログの過不足を検証する。
【００５０】
ここで、図１７を用いて、署名検証処理を説明する。ログ検証部２２ｂは、オリジナルレコードをハッシュ値化してハッシュレコードを生成し、そのハッシュレコードに対して署名を検証する。そして、レコード署名全体と全体署名の無矛盾を検証する。なお、詳しい検証処理の説明については、後にフローを用いて詳述する。
【００５１】
ハッシュ値化ログ生成部２２ｃは、受信された管理ログおよび監査ログのうち、顧客本人のログをハッシュ値化して全てハッシュ値化された管理ログおよび監査ログを作成する。具体的には、ハッシュ値化ログ生成部２２ｃは、管理ログ記憶部２３ｂおよび監査ログ記憶部２３ｃによって記憶された管理ログおよび監査ログのうち、顧客本人の「対象顧客」および「発生事象」をハッシュ値化した管理ログ（顧客Ａ：ハッシュ値化）および監査ログ（顧客Ａ：ハッシュ値化）を作成して、ハッシュ値化管理ログ記憶部２３ｄおよびハッシュ値化監査ログ記憶部２３ｅにそれぞれ記憶させる。
【００５２】
ハッシュ値化ログ受信部２２ｄは、センタ１０のハッシュ値化ログ公開サーバから全体の管理ログがハッシュ値化された管理ログ（ハッシュ値化）を受信する。具体的には、ハッシュ値化ログ受信部２２ｄは、センタ１０のハッシュ値化ログ公開サーバから全体の管理ログがハッシュ値化された管理ログ（ハッシュ値化）を受信し、受信されたそれらのログを後述するハッシュ値化ログ検証部２２ｅに通知する。
【００５３】
ハッシュ値化ログ検証部２２ｅは、自らハッシュ値化した管理ログ（顧客Ａ：ハッシュ値化）と、受信された管理ログ（ハッシュ値化）とを比較して、ログの正当性を検証する。具体的には、ハッシュ値化ログ検証部２２ｅは、図１８に示すように、管理ログ（顧客Ａ：ハッシュ値化）と管理ログ（ハッシュ値化）とを比較して、一致するか否かを判定し、一致しない場合には、ログが不一致である旨のエラーを所定の出力部に出力する。一方、監査装置２０は、ログが一致する場合には、ログが正当なものであるとし、ログが無改ざんであると判断する。
【００５４】
［監査装置による処理］
次に、図１９〜図２４を用いて、実施例１に係る監査装置２０による処理を説明する。図１９〜図２３は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図であり、図２４は、実施例１に係る監査装置によるハッシュ値化ログ検証処理の流れを示すフローチャート図である。
【００５５】
まず、図１９〜図２３を用いて、監査装置２０によるログ検証処理の流れを説明する。監査装置２０は、センタ１０からサーバログ、管理ログおよび監査ログを受信すると、全てのログを順に選択し（ステップＳ１０１）、全てのログが署名検証を終了したか判定する（ステップＳ１０２）。そして、全てのログが終了していない場合には（ステップＳ１０２否定）、ログ内の全レコードを順に選択し（ステップＳ１０３）、全レコードが終了したかを判定する（ステップＳ１０４）。
【００５６】
その結果、監査装置２０は、全レコードが終了していない場合には（ステップＳ１０４否定）、レコードがハッシュ値化されているかを判定する（ステップＳ１０５）。そして、監査装置２０は、レコードがハッシュ値化されていない場合には（ステップＳ１０５否定）、レコードをハッシュ値化した後（ステップＳ１０６）、または、レコードがハッシュ値化されている場合には（ステップＳ１０５肯定）、署名検証を行う（ステップＳ１０７）。
【００５７】
そして、監査装置２０は、検証が成功したかを判定し（ステップＳ１０８）、成功しなかった場合には（ステップＳ１０８否定）、レコード署名エラーを出力する（ステップＳ１０９）。また、監査装置２０は、検証が成功した場合には（ステップＳ１０８肯定）、顧客名が自分であるかを判定する（ステップＳ１１０）。その結果、監査装置２０は、顧客名が自分でない場合には（ステップＳ１１０否定）、ステップＳ１０３に戻る。また、監査装置２０は、顧客名が自分である場合には（ステップＳ１１０肯定）、発生事象確認を行い（ステップＳ１１１）、発生事象が適切か判定する（ステップＳ１１２）。
【００５８】
その結果、監査装置２０は、発生事象が適切でない場合には（ステップＳ１１２否定）、事象エラーを出力した後（ステップＳ１１３）、または、発生事象が適切である場合には（ステップＳ１１２肯定）、ステップＳ１０３に戻る。
【００５９】
ここで、ステップＳ１０４に戻って、監査装置２０は、全レコードが終了した場合には（ステップＳ１０４肯定）、レコード署名および全体の署名を検証する処理を行い（ステップＳ１１４）、検証が成功であるか否かを判定する（ステップＳ１１５）。その結果、監査装置２０は、検証が成功でない場合には（ステップＳ１１５否定）、ファイル署名がエラーである旨を出力した後（ステップＳ１１６）、または、検証が成功である場合には（ステップＳ１１５肯定）、ステップＳ１０１に戻る。
【００６０】
ここで、ステップＳ１０２に戻って、監査装置２０は、全てのログの検証処理が終了した場合には（ステップＳ１０２）、図２０に示すように、監査ログ以外のログを順に選択し（ステップＳ２０１）、全ログが終了したか判定する（ステップＳ２０２）。その結果、監査装置２０は、全ログが終了していない場合には（ステップＳ２０２否定）、ログ内の全レコードを順に選択し（ステップＳ２０３）、全レコードが終了したかを判定する（ステップＳ２０４）。その結果、監査装置２０は、全レコードが終了していない場合には（ステップＳ２０４否定）、チェック済みフラグをクリアし（ステップＳ２０４）、ステップＳ２０３に戻り、また全レコードが終了している場合には（ステップＳ２０４肯定）、ステップＳ２０１に戻る。
【００６１】
ここで、ステップＳ２０２に戻って、監査装置２０は、全ログが終了している場合には（ステップＳ２０２肯定）、監査ログの全レコードを順に選択し（ステップＳ２０６）、全レコードについて終了したか否かを判定する（ステップＳ２０７）。その結果、監視装置２０は、全レコードについて終了していない場合には（ステップＳ２０７否定）、顧客名が自分であるか判定する（ステップＳ２０８）。その結果、監査装置２０は、顧客名が自分でない場合には（ステップＳ２０８否定）、ステップＳ２０６に戻り、また顧客名が自分である場合には（ステップＳ２０８肯定）、発生事象がログ切替であるか判定する（ステップＳ２０９）。その結果、監査装置２０は、発生事象がログ切替である場合には（ステップＳ２０９肯定）、切替前後のログファイルを取得し（ステップＳ２１０）、切替前のログが存在するかを判定する（ステップＳ２１１）。
【００６２】
そして、監査装置２０は、切替前のログが存在しない場合には（ステップＳ２１１否定）、切替前ログが無い旨のエラーを出力する（ステップＳ２１２）。また、監査装置２０は、切替前のログが存在ある場合には（ステップＳ２１１肯定）、切替前ログ終了時刻が妥当であるかを判定する（ステップＳ２１３）。その結果、監査装置２０は、切替前ログ終了時刻が妥当でない場合には（ステップＳ２１３否定）、切替前ログ終了時刻のエラーを出力する（ステップＳ２１４）。
【００６３】
また、監査装置２０は、切替前ログ終了時刻が妥当である場合には（ステップＳ２１３肯定）、切替後のログが存在するかを判定する（ステップＳ２１５）。切替後のログが存在しない場合には（ステップＳ２１５否定）、切替後ログが無い旨のエラーを出力する（ステップＳ２１６）。また、監査装置２０は、切替後のログが存在ある場合には（ステップＳ２１５肯定）、切替後ログ開始時刻が妥当であるかを判定する（ステップＳ２１７）。その結果、監査装置２０は、切替後ログ開始時刻が妥当でない場合には（ステップＳ２１７否定）、切替後ログ開始時刻のエラーを出力し（ステップＳ２１８）、ステップＳ２０６に戻る。
【００６４】
ここで、ステップＳ２０９に戻って、監査装置２０は、監査装置２０は、発生事象がログ切替でない場合には（ステップＳ２０９否定）、発生事象がログ記録であるか判定する（ステップＳ２１９）。その結果、監視装置２０は、発生事象がログ記録でない場合には（ステップＳ２１９否定）、ステップＳ２０６に戻り、また発生事象がログ記録である場合には（ステップＳ２１９肯定）、記録先ログファイルを取得し（ステップＳ２２０）、記憶先ログが存在するか判定する（ステップＳ２２１）。その結果、監視装置２０は、記憶先ログが存在しない場合には（ステップＳ２２１否定）、ログファイルが無い旨のエラーを出力し（ステップＳ２２２）、ステップＳ２０６に戻る。
【００６５】
また、監視装置２０は、記憶先ログが存在する場合には（ステップＳ２２１肯定）、記録レコードを探索し（ステップＳ２２３）、レコードが存在するか判定する（ステップＳ２２４）。その結果、監視装置２０は、レコードが存在しない場合には（ステップＳ２２４否定）、レコードが無い旨のエラーを出力し（ステップＳ２２５）、一方、レコードが存在する場合には（ステップＳ２２４肯定）、チェック済みフラグをセットし（ステップＳ２２６）、ステップＳ２０６に戻る。
【００６６】
ここで、ステップＳ２０７に戻って、監視装置２０は、全レコードについて終了している場合には（ステップＳ２０７肯定）、図２１に示すように、監査ログ以外のログを順に選択し（ステップＳ３０１）、全ログが終了したかを判定する（ステップＳ３０２）。その結果、監視装置２０は、全ログが終了していない場合には（ステップＳ３０２否定）、ログ内の全レコードを順に選択し（ステップＳ３０３）、全レコードが終了したかを判定する（ステップＳ３０４）。その結果、監視装置２０は、全レコードが終了している場合には（ステップＳ３０４肯定）、ステップＳ３０１に戻り、また全レコードが終了していない場合には（ステップＳ３０４否定）、顧客名が自分であるかを判定する（ステップＳ３０５）。
【００６７】
この結果、監査装置２０は、顧客名が自分でない場合には（ステップＳ３０５否定）、ステップ３０３に戻り、また顧客名が自分である場合には（ステップＳ３０５肯定）、チェック済フラグがセットされているか判定する（ステップＳ３０６）。そして、監査装置２０は、その結果、チェック済フラグがセットされていない場合には（ステップＳ３０６否定）、監査ログが無い旨のエラーを出力し（ステップＳ３０７）、また、チェック済フラグがセットされている場合には（ステップＳ３０６肯定）、ステップＳ３０３に戻る。
【００６８】
ここで、ステップＳ３０２に戻って、監査装置２０は、全ログが終了していた場合には（ステップＳ３０２肯定）、図２２に示すように、サーバが割り当てられた時刻を記憶する割当期間テーブルを作成する（ステップＳ４０１）。そして、監査装置２０は、サーバログの切替前後の割当を結合し（ステップＳ４０２）、割当期間テーブルを順に選択して（ステップＳ４０３）、全エントリが終了したかを判定する（ステップＳ４０４）。その結果、監査装置２０は、全エントリが終了していない場合には（ステップＳ４０４否定）、開始時刻および終了時刻のフラグをクリアして（ステップＳ４０５）、ステップＳ４０３に戻る。
【００６９】
一方、監査装置２０は、全エントリが終了している場合には（ステップＳ４０４肯定）、管理ログの全レコードを順に選択し（ステップＳ４０６）、全レコードが終了したか判定する（ステップＳ４０７）。その結果、監査装置２０は、全レコードが終了していない場合には（ステップＳ４０７否定）、顧客名が自分であるかを判定する（ステップＳ４０８）。その結果、監査装置２０は、顧客名が自分でない場合には（ステップＳ４０８否定）、ステップＳ４０６に戻り、顧客名が自分である場合には（ステップＳ４０８肯定）、発生事象がサーバの割当であるか判定する（ステップＳ４０９）。
【００７０】
その結果、監査装置２０は、発生事象がサーバの割当である場合には（ステップＳ４０９肯定）、対応する割当期間を探索し（ステップＳ４１０）、合致するエントリが存在するか判定する（ステップＳ４１１）。そして、監査装置２０は、合致するエントリが存在しない場合には（ステップＳ４１１否定）、サーバの割り当てログがエラーであることを出力し、ステップＳ４０６に戻る。また、監査装置２０は、合致するエントリが存在する場合には（ステップＳ４１１肯定）、開始時刻フラグがセットされ（ステップＳ４１３）、ステップＳ４０６に戻る。
【００７１】
また、ステップＳ４０９に戻って、監査装置２０は、発生事象がサーバの割当でない場合には（ステップＳ４０９否定）、発生事象がサーバ割当解除であるかを判定する（ステップＳ４１４）。その結果、監査装置２０は、発生事象がサーバ割当解除でない場合には（ステップＳ４１４否定）、ステップＳ４０６に戻り、また、発生事象がサーバ割当解除である場合には（ステップＳ４１４肯定）、対応する割当期間を探索し（ステップＳ４１５）、合致するエントリが存在するか判定する（ステップＳ４１６）。
【００７２】
そして、監査装置２０は、合致するエントリが存在しない場合には（ステップＳ４１６否定）、サーバ割当解除ログがエラーであることを出力し（ステップＳ４１７）、ステップＳ４０６に戻る。また、監査装置２０は、合致するエントリが存在する場合には（ステップＳ４１７肯定）、終了時刻フラグをセットして（ステップＳ４１８）、ステップＳ４０６に戻る。
【００７３】
ここで、ステップＳ４０７戻って、監視装置２０は、全レコードが終了した場合には（ステップＳ４０７）、図２３に示すように、割当期間テーブルを順に選択し（ステップＳ５０１）、全エントリ終了したか判定する（ステップＳ５０２）。その結果、監査装置２０は、全エントリ終了した場合には（ステップＳ５０２肯定）、処理を終了する。一方、監査装置２０は、全エントリ終了していない場合には（ステップＳ５０２否定）、開始時刻フラグをセットしているかを判定する（ステップＳ５０３）。
【００７４】
そして、監査装置２０は、開始時刻フラグをセットしていない場合には（ステップＳ５０３否定）、監査範囲開始時点で割当状態であるか判定する（ステップＳ５０４）。その結果、監査装置２０は、監査範囲開始時点で割当状態でない場合には（ステップＳ５０４否定）、サーバ割当がエラーであることを出力する（ステップＳ５０５）。また、監査装置２０は、監査範囲開始時点で割当状態である場合には（ステップＳ５０４肯定）、終了時刻フラグがセットされているか判定する（ステップＳ５０６）。
【００７５】
その結果、監査装置２０は、終了時刻フラグがセットされていない場合には（ステップＳ５０６否定）、監査範囲終了時点で割当状態であるかを判定する（ステップＳ５０７）。そして、監査装置２０は、監査範囲終了時点で割当状態でない場合には（ステップＳ５０７否定）、サーバ割当解除がエラーであることを出力し（ステップＳ５０８）、その後、ステップＳ５０１に戻る。
【００７６】
続いて、図２４を用いて、ハッシュ値化ログ検証処理を説明する。まず、監査装置２０は、ログ検証処理を行った後、管理ログおよび監査ログを順に選択し（ステップＳ６０１）、全ログが終了したか判定する（ステップＳ６０２）。そして、監査装置２０は、全ログが終了していない場合には（ステップＳ６０２否定）、ログをコピーし（ステップＳ６０４）、コピーされたログのレコードを順に選択して（ステップＳ６０４）、全レコードが終了したか判定する（ステップＳ６０５）。また、監査装置２０は、全ログが終了した場合には（ステップＳ６０２肯定）、処理を終了する。
【００７７】
そして、監査装置２０は、全レコードが終了していない場合には（ステップＳ６０５否定）、レコードがハッシュ値化済であるか判定する（ステップＳ６０６）。その結果、監査装置２０は、レコードがハッシュ値化済でない場合には（ステップＳ６０６否定）、レコードをハッシュ値化して置換して（ステップＳ６０７）、ステップＳ６０４に戻る。
【００７８】
ここで、ステップＳ６０５に戻って、監査装置２０は、全レコードが終了した場合には（ステップＳ６０５肯定）、センタ１０からハッシュ値化ログを受信し（ステップＳ６０８）、自らハッシュ値化した管理ログと、受信された管理ログとを比較して（ステップＳ６０９）、一致するか判定する（ステップＳ６１０）。この結果、監査装置２０は、自らハッシュ値化した管理ログと受信された管理ログとが一致しない場合には（ステップＳ６１０否定）、ハッシュログが不一致であることを出力する（ステップＳ６１１）。また、監査装置２０は、自らハッシュ値化した管理ログと受信された管理ログとが一致する場合には（ステップＳ６１０肯定）、ログが正当であるとして、ステップＳ６０１に戻る。
【００７９】
[実施例１の効果]
上述してきたように、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログをセンタ１０から受信し、受信された全体のログのうち、ハッシュ値化されていないログをハッシュ値化してハッシュ値化ログを生成し、全体のログがハッシュ値化された全体のハッシュ値化ログを受信し、生成されたハッシュ値化ログと受信されたハッシュ値化ログとを比較して、ログの正当性を検証するので、他の顧客に関する情報を一方向関数でハッシュ値化して秘匿しつつ、全体のログを参照できるようにする結果、顧客の個人情報を保護するとともに、適切な監査を実行することが可能である。
【００８０】
また、実施例１によれば、各サーバを管理するセンタ１０からハッシュ値化ログを受信するので、第三者を介さずに、センタ１０から直接ハッシュ値化ログを受信する結果、例えば、ログの改ざんが発見された場合に、その改ざんの原因を容易に特定することが可能である。
【実施例２】
【００８１】
ところで、上記の実施例１では、センタ１０から全体がハッシュ値化されたログを受信する場合を説明したが、本発明はこれに限定されるものではなく、他の顧客から全体がハッシュ値化されたログを受信するようにしてもよい。
【００８２】
そこで、以下の実施例２では、他の顧客から全体がハッシュ値化されたログを受信し、その受信されたハッシュ値ログと自らがハッシュ値化したログとを比較してログを検証する場合として、図２５を用いて、実施例２における監査システム１ａの概要と特徴について説明する。図２５は、実施例２に係る監査システム１ａの概要および特徴を説明するための図である。
【００８３】
まず最初に、実施例２に係る監査システム１ａの概要および特徴を説明する。図２５に示すように、監査システム１ａの各監査装置２０Ａ、２０Ｂは、実施例１と同様に、他の顧客に関するログが一方向関数でハッシュ値化されたハッシュ値化ログと顧客本人のログとが含まれる全体のログを受信し、そのログを各顧客がハッシュ値化する（図２５（１）〜（２）参照）。
【００８４】
そして、実施例１とは異なり、実施例２に係る監査システム１ａは、各顧客の監査装置２０Ａ、２０Ｂがハッシュ値化したログを顧客間で相互に交換する（図２５の（３）参照）。なお、図１の例では、第三者機関４０の仲介により匿名性を維持しつつ交換する方法を記載しているが、これに限定されるものではない。
【００８５】
その後、各顧客の監査装置２０Ａ、２０Ｂは、各顧客は自身の生成したハッシュ値化ログと他顧客の生成したものを比較することで、自身が受け取ったログと他顧客が受け取ったログが同一の共通ログに由来するものであることの確認を行う（図２５の（４）参照）。
【００８６】
このように実施例２によれば、他の顧客からハッシュ値化ログを受信するので、センタ１０から直接受信せずに、第三者を介す結果、より適切な監査を実行することが可能である。
【実施例３】
【００８７】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例３として本発明に含まれる他の実施例を説明する。
【００８８】
（１）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、全体ログ受信部２２ａとログ検証部２２ｂを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８９】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９０】
（２）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図２６を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図２６は、監査プログラムを実行するコンピュータを示す図である。
【００９１】
同図に示すように、監査装置としてのコンピュータ６００は、ＨＤＤ６１０、ＲＡＭ６２０、ＲＯＭ６３０およびＣＰＵ６４０をバス６５０で接続して構成される。
【００９２】
そして、ＲＯＭ６３０には、上記の実施例と同様の機能を発揮する監査プログラム、つまり、図２６に示すように、全体ログ受信プログラム６３１、ログ検証プログラム６３２、ハッシュ値化ログ生成プログラム６３３、ハッシュ値化ログ受信プログラム６３４およびハッシュ値化ログ検証プログラム６３５が予め記憶されている。なお、プログラム６３１〜６３５については、図１０に示した監査装置２０の各構成要素と同様、適宜統合または分散してもよい。
【００９３】
そして、ＣＰＵ６４０が、これらのプログラム６３１〜６３５をＲＯＭ６３０から読み出して実行することで、図２６に示すように、各プログラム６３１〜６３５は、全体ログ受信プロセス６４１、ログ検証プロセス６４２、ハッシュ値化ログ生成プロセス６４３、ハッシュ値化ログ受信プロセス６４４およびハッシュ値化ログ検証プロセス６４５として機能するようになる。各プロセス６４１〜６４５は、図１０に示した、全体ログ受信部２２ａ、ログ検証部２２ｂ、ハッシュ値化ログ生成部２２ｃ、ハッシュ値化ログ受信部２２ｄおよびハッシュ値化ログ検証部２２ｅにそれぞれ対応する。
【００９４】
また、ＨＤＤ６１０には、図２６に示すように、サーバログテーブル６１１、管理ログテーブル６１２、監査ログテーブル６１３、ハッシュ値化管理ログテーブル６１４およびハッシュ値化監査ログテーブル６１５が設けられる。なお、サーバログテーブル６１１、管理ログテーブル６１２、監査ログテーブル６１３、ハッシュ値化管理ログテーブル６１４およびハッシュ値化監査ログテーブル６１５は、図１０に示したサーバログ記憶部２３ａ、管理ログ記憶部２３ｂ、監査ログ記憶部２３ｃ、ハッシュ値化管理ログ記憶部２３ｄおよびハッシュ値化監査ログ記憶部２３ｅに対応する。そして、ＣＰＵ６４０は、サーバログテーブル６１１、管理ログテーブル６１２、監査ログテーブル６１３、ハッシュ値化管理ログテーブル６１４およびハッシュ値化監査ログテーブル６１５に対してデータを登録するとともに、サーバログテーブル６１１、管理ログテーブル６１２、監査ログテーブル６１３、ハッシュ値化管理ログテーブル６１４およびハッシュ値化監査ログテーブル６１５からサーバログデータ６２１、管理ログデータ６２２、監査ログデータ６２３、ハッシュ値化管理ログデータ６２４およびハッシュ値化監査ログデータ６２５を読み出してＲＡＭ６２０に格納し、ＲＡＭ６２０に格納されたサーバログデータ６２１、管理ログデータ６２２、監査ログデータ６２３、ハッシュ値化管理ログデータ６２４およびハッシュ値化監査ログデータ６２５に基づいて情報を管理する処理を実行する。
【産業上の利用可能性】
【００９５】
以上のように、本発明に係る監査プログラム、監査システムおよび監査方法は、複数の顧客が資源を共有するサーバから監査に利用されるログを受信し、当該ログの正当性を検証することに有用であり、特に、顧客の個人情報を保護するとともに、適切な監査を実行する場合に適する。
【図面の簡単な説明】
【００９６】
【図１】図１は、実施例１に係る監査システムの概要および特徴を説明するための図である。
【図２】図２は、実施例１に係るセンタの構成を示すブロック図である。
【図３】図３は、サーバログの一例を説明するための図である。
【図４】図４は、管理ログの一例を説明するための図である。
【図５】図５は、監査ログの一例を説明するための図である。
【図６】図６は、ハッシュ値化された管理ログの一例を説明するための図である。
【図７】図７は、共通ログから他のログを生成する処理を説明するための図である。
【図８】図８は、ハッシュ値化処理および署名生成処理を説明するための図である。
【図９】図９は、全体署名について説明するための図である。
【図１０】図１０は、実施例１に係る監査装置の構成を示すブロック図である。
【図１１】図１１は、サーバログ記憶部が記憶するサーバログの一例を説明するための図である。
【図１２】図１２は、管理ログ記憶部が記憶する管理ログの一例を説明するための図である。
【図１３】図１３は、監査ログ記憶部に記憶される監査ログの一例を説明するための図である。
【図１４】図１４は、ハッシュ値化管理ログ記憶部に記憶されるハッシュ値化された管理ログの一例を説明するための図である。
【図１５】図１５は、ハッシュ値化監査ログ記憶部に記憶されるハッシュ値化された監査ログの一例を説明するための図である。
【図１６】図１６は、ログ検証処理を説明するための図である。
【図１７】図１７は、署名検証処理を具体的に説明するための図である。
【図１８】図１８は、ログ検証処理を説明するための図である。
【図１９】図１９は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２０】図２０は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２１】図２１は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２２】図２２は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２３】図２３は、実施例１に係る監査装置によるログ検証処理の流れを示すフローチャート図である。
【図２４】図２４は、実施例１に係る監査装置によるハッシュ値化ログ検証処理の流れを示すフローチャート図である。
【図２５】図２５は、実施例２に係る監査システムの概要および特徴を説明するための図である。
【図２６】図２６は、監査プログラムを実行するコンピュータを示す図である。
【符号の説明】
【００９７】
１  監査システム
１０  センタ
１１  サーバプール
１２  管理サーバ
１３  ログ保存サーバ
１４  ハッシュ値化ログ公開サーバ
２０  監査装置
２１  通信制御Ｉ／Ｆ
２２  制御部
２２ａ  全体ログ受信部
２２ｂ  ログ検証部
２２ｃ  ハッシュ値化ログ生成部
２２ｄ  ハッシュ値化ログ受信部
２２ｅ  ハッシュ値化ログ検証部
２３  記憶部
２３ａ  サーバログ記憶部
２３ｂ  管理ログ記憶部
２３ｃ  監査ログ記憶部
２３ｄ  ハッシュ値化管理ログ記憶部
２３ｅ  ハッシュ値化監査ログ記憶部
３０  ネットワーク
【国際調査報告】
2008117471.tif 000029
2008117471.tif 000030
2008117471.tif 000031
2008117471.tif 000032