説明

ログ管理装置、ログ管理方法及びログ管理プログラム

【課題】ログの存在時刻を証明するTSAにおける処理負荷の増大を防止すること。
【解決手段】実施形態に係るログ管理装置は、コンピュータシステムにおいて出力されるログメッセージを取得する。また、ログ管理装置は、新たなログメッセージを取得した場合に、新たなログメッセージよりも過去に取得したログメッセージを用いて算出したハッシュ値と新たなログメッセージとを結合した情報のハッシュ値を算出する。また、ログ管理装置は、所定時間が経過した場合、又は、所定量のログメッセージを取得した場合に、直近に算出したハッシュ値をタイムスタンプ局に送信することで、かかるハッシュ値の算出元となったログメッセージ群が存在した時刻を示す時刻情報をかかるログメッセージ群に付与する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ログ管理装置、ログ管理方法及びログ管理プログラムに関する。
【背景技術】
【0002】
従来、コンピュータシステムにおいては、情報セキュリティの確保や迅速な障害対応等の観点からログの管理が行われている。例えば、コンピュータシステムを監査する監査者は、コンピュータシステム内のサーバや通信機器等によって出力されるログを監視することで、情報セキュリティが確保されているか否かを監査したり、システム障害が発生しているか否かを監査したりする。
【0003】
このような監査に用いられるログの性質上、ログが出力された時刻は重要な情報となる。すなわち、ログ管理においては、ログが出力された時刻の情報(ログのタイムスタンプ)に対する改竄有無を検証できることが望ましい。そこで、電子データが存在していた時刻を証明するタイムスタンプ局(以下、「TSA:Time Stamp Authority」と表記する場合がある)と呼ばれる第三者機関にログの存在時刻を証明させることで、ログのタイムスタンプに対する改竄有無を検証できるとも考えられる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】R.Gerhards et al, "The Syslog Protocol", Network Working Group, RFC5424, March 2009, [online],[平成23年6月10日検索]、インターネット<http://tools.ietf.org/html/rfc5424>
【非特許文献2】C.Adams et al, "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)", Network Working Group, RFC3161, August 2001, [online],[平成23年6月10日検索]、インターネット<http://tools.ietf.org/html/rfc3161>
【非特許文献3】日本電信電話株式会社, "PSEC-KEM 仕様書 version 2.2",平成20年4月14日, [online],[平成23年6月10日検索]、インターネット<http://info.isl.ntt.co.jp/crypt/psec/specifications.html>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術には、TSAの負荷が増大するおそれがある。具体的には、上記の従来技術では、コンピュータシステムによって出力される各ログの存在時刻をTSAに証明させることを要するが、コンピュータシステムからは膨大なログが出力されるので、TSAによる存在時刻の証明処理の負荷が増大するおそれがある。
【0006】
本発明は、上記に鑑みてなされたものであって、ログの存在時刻を証明するTSAにおける処理負荷の増大を防止することができるログ管理装置、ログ管理方法及びログ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態に係るログ管理装置は、コンピュータシステムにおいて出力されるログメッセージを順次取得する取得部と、前記取得部によって取得されたログメッセージよりも過去に取得された過去ログメッセージと所定データとの結合情報を特定するための特定データと、前記ログメッセージとの結合情報を特定するための新たな特定データを算出し、前記取得部によって新たなログメッセージが取得された場合に、所定データとしての前記新たな特定データと該新たなログメッセージとの結合情報を特定するための特定データを算出する算出部と、所定時間が経過した場合、又は、前記取得部によって所定量のログメッセージが取得された場合に、前記算出部によって直近に算出された特定データをタイムスタンプ局に送信することで、該特定データによって特定されるログメッセージ群が存在した時刻を示す時刻情報を該ログメッセージ群に付与する付与部とを備えたことを特徴とする。
【発明の効果】
【0008】
実施形態に係るログ管理装置、ログ管理方法及びログ管理プログラムは、ログの存在時刻を証明するTSAにおける処理負荷の増大を防止することができるという効果を奏する。
【図面の簡単な説明】
【0009】
【図1】図1は、実施例1に係るログ管理システムの構成例を示す図である。
【図2】図2は、実施例1に係るログ管理装置の構成例を示す図である。
【図3】図3は、実施例1に係るログ管理装置の制御部による処理の一例を示す図である。
【図4】図4は、実施例1に係るログ管理装置の制御部による処理の一例を示す図である。
【図5】図5は、実施例1に係る監査者端末の構成例を示す図である。
【図6】図6は、実施例1に係る監査者端末のログメッセージ検証部による処理の一例を示す図である。
【図7】図7は、実施例1に係るログ管理装置による処理手順を示すフローチャートである。
【図8】図8は、実施例1に係るログ管理装置による処理手順を示すフローチャートである。
【図9】図9は、実施例1に係る監査者端末による処理手順を示すフローチャートである。
【図10】図10は、ログ管理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0010】
以下に、本発明に係るログ管理装置、ログ管理方法及びログ管理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。
【実施例1】
【0011】
[ログ管理システムの構成]
まず、図1を用いて、実施例1に係るログ管理装置を含むログ管理システムについて説明する。図1は、実施例1に係るログ管理システムの構成例を示す図である。図1に例示するように、実施例1に係るログ管理システム1には、ログ出力システム10−1〜10−nと、TSA20と、ログ管理装置100と、監査者端末200とが含まれ、これらの各装置がネットワークN1を介して接続されている。
【0012】
ログ出力システム10−1〜10−nは、ログメッセージを出力する装置であり、例えば、PC(Personal Computer)やサーバ等の情報処理装置や、スイッチ等の通信機器等である。なお、「ログメッセージ」とは、1以上の処理時刻及び処理内容の組合せを示すものとする。例えば、「ログメッセージ」は、「Y年M月h時m1分 処理を開始する」といった1個の処理時刻及び処理内容の組合せである場合や、「Y年M月h時m1分 処理を開始する」、「Y年M月h時m2分 エラー発生」及び「Y年M月h時m3分 処理を終了する」といった複数個の処理時刻及び処理内容の組合せである場合もある。ただし、ログメッセージが複数個の処理時刻及び処理内容の組合せである場合には、全ての処理時刻が所定の時間内(例えば、3分間)であることが望ましい。
【0013】
TSA20は、正確な時刻情報であるタイムスタンプを電子データに付与することにより、かかる電子データが存在していた時刻を証明する。実施例1に係るTSA20は、例えば、ログ管理装置100からログメッセージのハッシュ値を受信した場合に、かかるハッシュ値と現在時刻とを結合した「タイムスタンプトークン」を生成する。さらに、TSA20は、かかるタイムスタンプトークンを自システム(TSA20)の秘密鍵を用いて暗号化することにより、タイムスタンプトークンのデジタル署名を生成する。このとき、TSA20は、タイムスタンプトークンのハッシュ値を暗号化することで、タイムスタンプトークンのデジタル署名を生成してもよい。そして、TSA20は、署名済みのタイムスタンプトークンをログ管理装置100に送信する。なお、TSA20は、図示しない時刻サーバ(例えば、NTP(Network Time Protocol)サーバ等)と通信可能であり、NTPサーバ等から正確な時刻情報を取得することができる。
【0014】
ログ管理装置100は、ログ出力システム10−1〜10−nによって出力されるログメッセージを管理するログサーバである。かかるログ管理装置100は、ログメッセージのハッシュ値をTSA20に送信することで、ログメッセージの存在時刻を証明するためのタイムスタンプトークンをTSA20から取得する。これにより、ログ管理装置100によって管理される各ログメッセージは、第三者機関であるTSA20によって存在時刻が証明される。
【0015】
監査者端末200は、監査者によって利用される検証装置であり、例えば、PC(Personal Computer)等の情報処理装置である。かかる監査者端末200は、ログ管理装置100からログメッセージやタイムスタンプトークンを受信し、かかるタイムスタンプトークンを用いて、ログメッセージやログメッセージのタイムスタンプに対する改竄有無を検証する。なお、監査者端末200による処理については、図5及び図6を用いて後述する。
【0016】
ここで、実施例1に係るログ管理装置100は、ログ出力システム10−1〜10−nによってログメッセージが出力されるたびに各ログメッセージのハッシュ値をTSA20に送信せず、複数のログメッセージから生成したハッシュ値をTSA20に送信する。言い換えれば、実施例1に係るログ管理装置100は、各ログメッセージに対応するタイムスタンプトークンをTSA20に生成させるのではなく、複数のログメッセージに対して1つのタイムスタンプトークンを生成させる。
【0017】
具体的には、ログ管理装置100は、ログ出力システム10−1〜10−nによって新たなログメッセージが出力された場合に、新たなログメッセージのハッシュ値を算出するのではなく、新たなログメッセージと、過去に出力されたログメッセージから生成したハッシュ値とを連結した文字列のハッシュ値を算出する。ログ管理装置100は、ログ出力システム10−1〜10−nによって新たなログメッセージが出力されるたびに、同様の手順により複数のログメッセージに対応するハッシュ値を算出する。そして、ログ管理装置100は、ログ出力システム10−1〜10−nによって所定数のログメッセージが出力された場合や、所定時間が経過した場合に、最後に算出したハッシュ値(現在時刻に最も近い時刻に算出したハッシュ値)をTSA20に送信することで、複数のログメッセージに対応するタイムスタンプトークンを生成させる。
【0018】
このように、実施例1に係るログ管理装置100は、複数のログメッセージに対して1つのタイムスタンプトークンを生成させるので、TSA20における処理負荷の増大を防止することができる。さらに、ログ管理装置100は、複数のログメッセージに対応するタイムスタンプトークンをTSA20から取得するので、各ログメッセージの存在時刻をTSA20に証明させることができ、この結果、ログメッセージの信頼性を向上させることができる。
【0019】
以下に、このようなログ管理装置100について詳細に説明する。なお、ログ管理装置100は、監査者以外のシステム管理者等によってログが改竄されることを防止するために、平文のログメッセージを削除する処理等も行うが、この点については以下で説明する。また、以下では、ログ管理装置100について説明した後に、監査者端末200による検証処理について説明する。
【0020】
[ログ管理装置の構成]
図2を用いて、実施例1に係るログ管理装置100について説明する。図2は、実施例1に係るログ管理装置100の構成例を示す図である。図2に例示するように、実施例1に係るログ管理装置100は、記憶部110と、制御部120とを有する。
【0021】
なお、図2では図示することを省略したが、ログ管理装置100は、ネットワークN1を介して他の装置(ログ出力システム10−1〜10−n、TSA20、監査者端末200等)との間で各種データを送受するためのインタフェースを有する。また、ログ管理装置100は、各種情報や操作指示を入力するための入力部(キーボード、マウス等)や、各種情報を表示する表示デバイス(液晶表示装置等)を有してもよい。
【0022】
記憶部110は、ハードディスクや半導体メモリ素子等の記憶デバイスであり、各種データを記憶する。実施例1に係る記憶部110は、図2に例示するように、鍵記憶部111と、ログ記憶部112とを有する。
【0023】
鍵記憶部111は、図1に示した監査者端末200によって公開される公開鍵を記憶する。具体的に説明すると、監査者端末200は、暗号化方式として非対称鍵暗号(asymmetric key cryptosystem)を採用しており、非対称鍵暗号用の公開鍵と秘密鍵とを保持する。そして、監査者端末200は、公開鍵をログ管理装置100に公開する一方で、秘密鍵については自装置(監査者端末200)のみで保持する。ログ管理装置100の鍵記憶部111は、監査者端末200によって公開されている公開鍵を記憶する。ここで、非対称鍵暗号では、暗号化に公開鍵が用いられ、復号化に秘密鍵が用いられるが、公開鍵で暗号化された暗号化文書をかかる公開鍵で復号化することはできない。すなわち、鍵記憶部111に記憶されている公開鍵で暗号化された暗号化文書は、監査者端末200のみによって復号化することができる。
【0024】
ログ記憶部112は、ログ出力システム10−1〜10−nによって出力されるログメッセージ等に関する各種データを記憶する。ここで、ログ記憶部112は、平文のログメッセージを記憶せず、鍵記憶部111に記憶されている公開鍵によって暗号化されたログメッセージ(以下、「暗号化ログメッセージ」と表記する場合がある)を記憶する。また、ログ記憶部112は、ログメッセージから生成されたハッシュ値や、TSA20によって生成されたタイムスタンプトークン等を記憶する。ログ記憶部112によって記憶される各種情報は、制御部120によって更新されるので、ログ記憶部112については後述の制御部120とともに説明する。
【0025】
制御部120は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路である。実施例1に係る制御部120は、図2に例示するように、取得部121と、暗号化部122と、特定データ算出部123と、タイムスタンプ付与部124と、送信部125とを有する。
【0026】
取得部121は、ログ出力システム10−1〜10−nによって出力されたログメッセージを取得する。例えば、取得部121は、ネットワークN1を介してログ出力システム10−1〜10−nにアクセスすることにより、ログ出力システム10−1〜10−nによって新たに出力されたログメッセージを取得する。また、例えば、ログ出力システム10−1〜10−nによって新たなログメッセージがログ管理装置100に送信される場合には、取得部121は、ログ出力システム10−1〜10−nから新たなログメッセージを受信することで、ログ出力システム10−1〜10−nによって出力されたログメッセージを取得する。
【0027】
暗号化部122は、取得部121によって取得されたログメッセージを暗号化する。具体的には、暗号化部122は、鍵記憶部111に記憶されている非対称鍵暗号用の公開鍵を用いて、取得部121によって取得された平文のログメッセージを暗号化することで暗号化ログメッセージを生成し、生成した暗号化ログメッセージをログ記憶部112に格納する。
【0028】
特定データ算出部123は、取得部121によってログメッセージが取得された場合に、取得されたログメッセージと、かかるログメッセージよりも過去に取得されたログメッセージとの結合情報を特定するための特定データを算出する。なお、実施例1に係る特定データ算出部123は、特定データとしてハッシュ値を算出するものとする。
【0029】
具体的には、特定データ算出部123は、取得部121によって新たなログメッセージが取得された場合に、かかる新たなログメッセージよりも過去に取得部121によって取得されたログメッセージから算出したハッシュ値と、かかる新たなログメッセージとを連結し、連結した文字列のハッシュ値を算出する。そして、特定データ算出部123は、暗号化部122によって新たなログメッセージから生成された暗号化ログメッセージに対応付けて、算出したハッシュ値をログ記憶部112に格納する。その後に取得部121によって新たなログメッセージがさらに取得された場合には、特定データ算出部123は、さらに取得された新たなログメッセージと、前述において算出したハッシュ値とを連結した文字列のハッシュ値を算出する。なお、特定データ算出部123は、例えば、MD5(Message Digest Algorithm 5)やSHA(Secure Hash Algorithm)等のハッシュ関数を用いて、ハッシュ値を算出する。
【0030】
ところで、ログ管理システム1にログ管理装置100が導入された当初であって、ログ管理装置100がログメッセージをログ出力システム10−1等から取得したことがない場合には、ログ管理装置100は、ハッシュ値も記憶していない。したがって、特定データ算出部123は、ログ出力システム10−1等から1個目のログメッセージを取得した場合には、かかる1個目のログメッセージのハッシュ値を算出する。そして、特定データ算出部123は、ログ出力システム10−1等から2個目のログメッセージを取得した場合には、2個目のログメッセージと、1個目のログメッセージのハッシュ値とを連結し、連結した文字列のハッシュ値を算出する。同様に、特定データ算出部123は、ログ出力システム10−1等から「i」個目のログメッセージを取得した場合には、「i」個目のログメッセージと、「i−1」個目のログメッセージを取得した際に算出したハッシュ値とを連結した文字列のハッシュ値を算出する。
【0031】
ここで、暗号化部122又は特定データ算出部123は、暗号化部122による暗号化処理及び特定データ算出部123によるハッシュ値算出処理が終了した後に、平文のログメッセージを削除する。すなわち、実施例1に係るログ管理装置100は、平文のログメッセージをログ記憶部112等の記憶部に保持しない。これにより、ログ管理装置100は、監査者以外のシステム管理者等によってログメッセージが改竄されることを防止できる。
【0032】
タイムスタンプ付与部124は、ログ管理装置100によって管理されているログメッセージに対して、TSA20によって生成されるタイムスタンプを付与する。具体的には、タイムスタンプ付与部124は、所定のタイミングとなった場合に、特定データ算出部123によって直近(現在時刻に最も近い時刻)に算出されたハッシュ値をTSA20に送信することで、かかるハッシュ値に対応するタイムスタンプトークンをTSA20に生成させる。例えば、タイムスタンプ付与部124は、所定時間が経過した場合、又は、取得部121によって所定数のログメッセージが取得された場合に、特定データ算出部123によって直近に算出されたハッシュ値をTSA20に送信する。これにより、タイムスタンプ付与部124は、TSA20に送信したハッシュ値によって特定されるログメッセージ群が存在した時刻を示す時刻情報をかかるログメッセージ群に付与することができる。
【0033】
このとき、TSA20は、タイムスタンプ付与部124からハッシュ値を受信した場合に、かかるハッシュ値と現在時刻とを結合したタイムスタンプトークンを生成する。さらに、TSA20は、かかるタイムスタンプトークン又はタイムスタンプトークンのハッシュ値を自システム(TSA20)の秘密鍵を用いて暗号化することにより、タイムスタンプトークンのデジタル署名を生成する。そして、TSA20は、タイムスタンプトークンとデジタル署名とをタイムスタンプ付与部124に送信する。
【0034】
これにより、タイムスタンプ付与部124は、特定データ算出部123によって最後に算出されたハッシュ値に対応するタイムスタンプトークンと、かかるタイムスタンプトークンのデジタル署名とを取得することができる。そして、タイムスタンプ付与部124は、TSA20に送信したハッシュ値に対応付けて、TSA20から取得したタイムスタンプトークン及びデジタル署名をログ記憶部112に格納する。
【0035】
送信部125は、タイムスタンプ付与部124によってタイムスタンプトークン及びデジタル署名が取得された場合に、かかるタイムスタンプトークン及びデジタル署名とともに、暗号化部122によって生成された暗号化ログメッセージと、特定データ算出部123によって算出されたハッシュ値とを監査者端末200に送信する。このとき、送信部125は、監査者端末200に送信していない暗号化ログメッセージ及びハッシュ値をログ記憶部112から取得し、取得した暗号化ログメッセージ及びハッシュ値を監査者端末200に送信する。
【0036】
ここで、図3及び図4を用いて、ログ管理装置100の制御部120による処理について説明する。図3及び図4は、実施例1に係るログ管理装置100の制御部120による処理の一例を示す図である。図3に示した例において、取得部121は、ログメッセージ「i」を取得したものとする。なお、「i」は「1」以上の数値を示し、取得部121によって取得されたログメッセージの順番を示すものとする。例えば、ログメッセージ「i−1」は、取得部121によってログメッセージ「i」よりも1つ前に取得されたログメッセージであることを示す。
【0037】
かかる場合に、暗号化部122は、鍵記憶部111に記憶されている公開鍵(監査者端末200によって公開されている監査者の公開鍵)を用いて、取得部121によって取得されたログメッセージ「i」を暗号化することで、暗号化ログメッセージ「i」を生成する(ステップS11)。
【0038】
また、特定データ算出部123は、ログメッセージ「i」を用いてハッシュ値を算出する。ここで、特定データ算出部123は、取得部121によってログメッセージ「i−1」が取得された時点で、かかるログメッセージ「i−1」等を用いてハッシュ値「i−1」を算出している。特定データ算出部123は、取得部121によってログメッセージ「i」が取得された場合には、ログメッセージ「i」よりも1つ前に取得されたログメッセージ「i−1」等を用いて算出したハッシュ値「i−1」と、ログメッセージ「i」とを連結する(ステップS12)。そして、特定データ算出部123は、連結した文字列のハッシュ値「i」を算出する(ステップS13)。なお、特定データ算出部123は、この後に取得部121によってログメッセージ「i+1」が取得された場合に、かかるログメッセージ「i+1」と連結するハッシュ値としてハッシュ値「i」を用いる。
【0039】
そして、暗号化部122又は特定データ算出部123は、ステップS11における暗号化処理と、ステップS12及びS13におけるハッシュ値算出処理が終了した後に、平文のログメッセージ「i」を削除する(ステップS14)。
【0040】
このようにして、暗号化部122は、取得部121によって取得されたログメッセージから暗号化ログメッセージを生成し、特定データ算出部123は、取得部121によって取得されたログメッセージからハッシュ値を算出する。これにより、ログ記憶部112に記憶される暗号化ログメッセージ及びハッシュ値は、図4に示した例のようになる。
【0041】
具体的には、図4に示した例において、取得部121によってログメッセージ「i」が取得された場合に、暗号化部122は、暗号化ログメッセージ「i」を生成する。また、特定データ算出部123は、ログメッセージ「i」とハッシュ値「i−1」とを連結した文字列のハッシュ値「i」を算出する。続いて、取得部121によってログメッセージ「i+1」が取得された場合に、暗号化部122は、暗号化ログメッセージ「i+1」を生成し、特定データ算出部123は、ログメッセージ「i+1」とハッシュ値「i」とを連結した文字列のハッシュ値「i+1」を算出する。同様にして、取得部121によってログメッセージ「i+2」が取得された場合には、暗号化部122は、暗号化ログメッセージ「i+2」を生成し、特定データ算出部123は、ログメッセージ「i+2」とハッシュ値「i+1」とを連結した文字列のハッシュ値「i+2」を算出する。また、取得部121によってログメッセージ「i+3」が取得された場合には、暗号化部122は、暗号化ログメッセージ「i+3」を生成し、特定データ算出部123は、ログメッセージ「i+3」とハッシュ値「i+2」とを連結した文字列のハッシュ値「i+3」を算出する。
【0042】
そして、タイムスタンプ付与部124は、所定時間が経過するか、又は、取得部121によって所定数の新たなログメッセージが取得されるたびに、特定データ算出部123によって最後に算出されたハッシュ値をTSA20に送信する。例えば、図4に示した例において、タイムスタンプ付与部124は、取得部121によって新たなログメッセージが「4回」取得されるたびに、ハッシュ値をTSA20に送信するものとする。また、図4に示した例では、タイムスタンプ付与部124は、ハッシュ値「i−1」をTSA20に送信し、ハッシュ値「i−1」に対応するタイムスタンプを取得しているものとする。
【0043】
かかる場合に、タイムスタンプ付与部124は、ハッシュ値「i」が算出された時点では、かかるハッシュ値「i」をTSA20に送信しない。これは、ハッシュ値「i−1」をTSA20に送信した後、取得部121によって新たに取得されたログメッセージがログメッセージ「i」だけであり、取得部121によるログメッセージの取得回数が「4回」でないからである。同様の理由により、タイムスタンプ付与部124は、ハッシュ値「i+1」、「i+2」をTSA20に送信しない。そして、タイムスタンプ付与部124は、ハッシュ値「i+3」を算出した場合には、かかるハッシュ値「i+3」をTSA20に送信する。これは、ハッシュ値「i−1」をTSA20に送信した後、取得部121によって新たに取得されたログメッセージがログメッセージ「i」、「i+1」、「i+2」、「i+3」であり、取得部121によるログメッセージの取得回数が「4回」に達したからである。
【0044】
これにより、タイムスタンプ付与部124は、ハッシュ値「i+3」に対応するタイムスタンプトークンと、かかるタイムスタンプトークンのデジタル署名とをTSA20から取得する。そして、タイムスタンプ付与部124は、ハッシュ値「i+3」に対応付けて、TSA20から取得したタイムスタンプトークン及びデジタル署名をログ記憶部112に格納する。
【0045】
そして、送信部125は、図4に示したログ記憶部112に記憶されている各種データを監査者端末200に送信する。例えば、送信部125は、図4に示した例において、暗号化ログメッセージ「i−1」以前の暗号化ログメッセージやハッシュ値については監査者端末200に送信済みである場合には、暗号化ログメッセージ「i」、「i+1」、「i+2」及び「i+3」と、ハッシュ値「i」、「i+1」、「i+2」及び「i+3」と、ハッシュ値「i+3」に対応するタイムスタンプトークン及びデジタル署名を監査者端末200に送信する。
【0046】
このように、ログ管理装置100は、新たなログメッセージを取得するたびに、過去のログメッセージも用いて順次ハッシュ値を算出し、特定のハッシュ値についてのみTSA20に送信することで、タイムスタンプトークンを取得する。すなわち、ログ管理装置100は、ログメッセージを取得するたびにTSA20にタイムスタンプトークンを生成させることはないので、TSA20によるタイムスタンプトークン生成処理等の負荷が増大することを防止できる。
【0047】
また、ログ管理装置100は、特定のハッシュ値についてのみタイムスタンプトークンを取得するが、かかるハッシュ値は、過去のログメッセージに関する情報も含まれる。このため、かかるタイムスタンプトークンに含まれる時刻情報は、複数のログメッセージが存在した時刻を示すことができる。図4に示した例を用いて説明すると、ハッシュ値「i+3」に対応するタイムスタンプトークン「i+3」は、ログメッセージ「1」〜「i+3」から生成されたハッシュ値に対応するといえる。したがって、タイムスタンプトークン「i+3」は、ログメッセージ「1」〜「i+3」の存在時刻を証明することができる。同様に、図4に例示したタイムスタンプトークン「i−1」は、ログメッセージ「1」〜「i−1」が存在した時刻を証明することができる。さらに、タイムスタンプトークン「i−1」及び「i+3」は、ログメッセージが作成された時刻を証明することができる。具体的には、タイムスタンプトークン「i−1」及び「i+3」は、双方のタイムスタンプトークンが示す時刻の間に、ログメッセージ「i」〜「i+3」が作成されたことを証明することができる。
【0048】
また、ログ管理装置100は、複数の暗号化ログメッセージと、各暗号化ログメッセージに対応するハッシュ値と、所定のハッシュ値に対応するタイムスタンプトークンと、かかるタイムスタンプトークンのデジタル署名をログ記憶部112に保持する。すなわち、ログ管理装置100は、平文のログメッセージを保持せずに、監査者端末200が保持する秘密鍵のみで復号化可能な暗号化ログメッセージを保持する。このため、ログ管理装置100にログイン可能なシステム管理者等は、平文のログメッセージを改竄することができず、この結果、改竄した平文のログメッセージから暗号化ログメッセージやハッシュ値を再生成することができない。言い換えれば、監査者以外のシステム管理者等は、監査者によって検出されないようにログメッセージを改竄することができない。このようなことから、実施例1に係るログ管理装置100は、ログメッセージの改竄を防止することができる。
【0049】
なお、図4では、タイムスタンプ付与部124が、ハッシュ値「i」、「i+1」及び「i+2」をTSA20に送信せずに、ハッシュ値「i+3」をTSA20に送信する例を示した。すなわち、図4では、タイムスタンプ付与部124が、所定数のログメッセージおきに、かかるログメッセージに対応するハッシュ値をTSA20に送信する例を示した。しかし、この例に限られず、タイムスタンプ付与部124は、ログ出力システム10−1〜10−nによって多数のログメッセージが出力されない場合には、特定データ算出部123によってハッシュ値が算出されるたびに、かかるハッシュ値をTSA20に送信してもよい。
【0050】
例えば、タイムスタンプ付与部124は、1時間が経過した場合、又は、取得部121によって新たなログメッセージが「4回」取得された場合に、特定データ算出部123によって最後に算出されたハッシュ値をTSA20に送信するものとする。このとき、1時間が経過する間に、ログ出力システム10−1〜10−nによって1つのログメッセージ「i」しか出力されない場合には、送信部125は、ログメッセージ「i」に対応するハッシュ値「i」をTSA20に送信する。そして、次の1時間が経過する間に、ログ出力システム10−1〜10−nによって1つのログメッセージ「i+1」しか出力されない場合には、送信部125は、ログメッセージ「i+1」に対応するハッシュ値「i+1」をTSA20に送信する。このように、タイムスタンプ付与部124は、所定時間内に所定数以上のハッシュ値を送信することはないので、各ログメッセージに対応するハッシュ値を送信する場合であっても、TSA20における処理負荷の増大を防止することができる。
【0051】
また、図4に示した例では、送信部125が複数の暗号化ログメッセージと複数のハッシュ値とを送信する例を示したが、上記例のように、タイムスタンプ付与部124によって各ログメッセージに対応するタイムスタンプトークンが取得される場合には、1組の暗号化ログメッセージ及びハッシュ値を監査者端末200に送信することとなる。
【0052】
[監査者端末の構成]
次に、図5を用いて、実施例1に係る監査者端末200について説明する。図5は、実施例1に係る監査者端末200の構成例を示す図である。図5に例示するように、実施例1に係る監査者端末200は、記憶部210と、制御部220とを有する。
【0053】
なお、図5では図示することを省略したが、監査者端末200は、ネットワークN1を介して他の装置(ログ管理装置100等)との間で各種データを送受するためのインタフェースを有する。また、監査者端末200は、各種情報や操作指示を入力するための入力部(キーボード、マウス等)や、各種情報を表示する表示デバイス(液晶表示装置等)を有してもよい。
【0054】
記憶部210は、ハードディスクや半導体メモリ素子等の記憶デバイスである。実施例1に係る記憶部210は、図5に例示するように、ログ記憶部211と、検証結果記憶部212とを有する。
【0055】
ログ記憶部211は、ログ管理装置100から受信した暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン及びデジタル署名を記憶する。また、検証結果記憶部212は、暗号化ログメッセージ等に対する検証結果を記憶する。なお、ログ記憶部211及び検証結果記憶部212によって記憶される各種情報は、制御部220によって更新されるので、ログ記憶部211及び検証結果記憶部212については後述の制御部220とともに説明する。
【0056】
制御部220は、CPU、MPU等の電子回路、ASICやFPGA等の集積回路である。実施例1に係る制御部220は、図5に例示するように、受信部221と、ログメッセージ検証部222と、タイムスタンプ検証部223とを有する。
【0057】
受信部221は、ログ管理装置100から暗号化ログメッセージ等を受信する。具体的には、受信部221は、ログ管理装置100の送信部125によって送信される暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン及びデジタル署名を受信し、受信した各種情報をログ記憶部211に格納する。
【0058】
なお、図4を用いて説明したように、ログ管理装置100の送信部125は、所定時間(例えば、1時間)内にログ出力システム10−1〜10−nによって複数のログメッセージが出力された場合には、複数の暗号化ログメッセージと、複数のハッシュ値と、1組のタイムスタンプトークン及びデジタル署名を送信する。かかる場合には、受信部221は、複数の暗号化ログメッセージと、複数のハッシュ値と、1組のタイムスタンプトークン及びデジタル署名を受信することになる。
【0059】
ログメッセージ検証部222は、受信部221によって暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン及びデジタル署名が受信された場合に、非対称鍵暗号用の秘密鍵を用いて暗号化ログメッセージを復号化する。このとき、ログメッセージ検証部222は、受信部221によって複数の暗号化ログメッセージが受信された場合には、全ての暗号化ログメッセージを復号化し、ログメッセージ毎に改竄有無を検証する。
【0060】
具体的には、ログメッセージ検証部222は、復号化した複数のログメッセージのうち、検証対象のログメッセージと、かかる検証対象のログメッセージよりも過去に出力されたログメッセージから算出されたハッシュ値とを連結し、連結した文字列のハッシュ値を算出する。そして、ログメッセージ検証部222は、算出したハッシュ値と、検証対象のログメッセージに対応するハッシュ値とが同一である場合には、検証対象のログメッセージが改竄されていないと判定し、双方が同一でない場合には、検証対象のログメッセージが改竄されていると判定する。ログメッセージ検証部222は、受信部221によって受信された各暗号化ログメッセージについて、同様の検証処理を行い、復号化の各ログメッセージと検証結果とを検証結果記憶部212に格納する。これにより、監査者は、検証結果記憶部212を参照することで、平文のログメッセージを確認することができるとともに、かかるログメッセージの改竄有無を確認することができる。
【0061】
ここで、図6を用いて、監査者端末200のログメッセージ検証部222による処理について説明する。図6は、実施例1に係る監査者端末200のログメッセージ検証部222による処理の一例を示す図である。図6に示した例において、受信部221は、図4に例示した暗号化ログメッセージ「i」、「i+1」、「i+2」及び「i+3」と、ハッシュ値「i」、「i+1」、「i+2」及び「i+3」とを受信したものとする。また、ここでは、ログメッセージ検証部222の検証対象が暗号化ログメッセージ「i」である場合を例に挙げて説明する。
【0062】
ログメッセージ検証部222は、受信部221によって受信された暗号化ログメッセージ「i」を検証する場合に、非対称鍵暗号用の秘密鍵を用いて暗号化ログメッセージ「i」を復号化することで、平文のログメッセージ「i」を生成する(ステップS21)。続いて、ログメッセージ検証部222は、平文のログメッセージ「i」とハッシュ値「i−1」とを連結し(ステップS22)、連結した文字列のハッシュ値を算出する(ステップS23)。なお、ログ記憶部211には受信部221によって過去に受信されたハッシュ値が記憶されているので、ログメッセージ検証部222は、ログ記憶部211からハッシュ値「i−1」を取得する。
【0063】
続いて、ログメッセージ検証部222は、ステップS23において算出したハッシュ値と、受信部221によって受信されたハッシュ値「i」とを比較する(ステップS24)。そして、ログメッセージ検証部222は、比較結果である検証結果と、ステップS21において生成した平文のログメッセージ「i」とを対応付けて検証結果記憶部212に格納する。
【0064】
なお、図6では図示することを省略したが、ログメッセージ検証部222は、暗号化ログメッセージ「i+1」、「i+2」及び「i+3」についても同様の検証処理を行い、検証結果と平文のログメッセージ「i+1」、「i+2」及び「i+3」とを対応付けて検証結果記憶部212に格納する。
【0065】
図5の説明に戻って、タイムスタンプ検証部223は、受信部221によって暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン及びデジタル署名が受信された場合に、タイムスタンプトークン及びデジタル署名を用いて、ログメッセージの存在時刻及び作成時刻を検証したり、タイムスタンプトークンが示す時刻から現在時刻までの間にログメッセージが改竄されたか否かを検証する。
【0066】
具体的には、タイムスタンプ検証部223は、まず、受信部221によって受信されたデジタル署名を用いて、受信部221によって受信されたタイムスタンプトークンがTSA20によって生成されたか否かを検証する。例えば、TSA20が、タイムスタンプトークンのハッシュ値をTSA20の秘密鍵により暗号化することでデジタル署名を生成した場合には、タイムスタンプ検証部223は、TSA20の公開鍵を用いてデジタル署名を復号化する。さらに、タイムスタンプ検証部223は、受信部221によって受信されたタイムスタンプトークンのハッシュ値を算出する。そして、タイムスタンプ検証部223は、双方のハッシュ値が同一である場合には、受信部221によって受信されたタイムスタンプトークンがTSA20によって生成されたと判定し、双方のハッシュ値が同一でない場合には、かかるタイムスタンプトークンがTSA20によって生成されておらず、TSA20になりすました他の者によって生成されたと判定する。
【0067】
続いて、タイムスタンプ検証部223は、タイムスタンプトークンから時刻情報を取り除くことで、ハッシュ値を取り出す。そして、タイムスタンプ検証部223は、受信部221によって受信された複数のハッシュ値のうち、タイムスタンプトークンに対応するハッシュ値(特定データ算出部123によって最後に算出されたハッシュ値)と、タイムスタンプトークンから取り出したハッシュ値とを比較する。そして、タイムスタンプ検証部223は、双方のハッシュ値が同一である場合には検証成功と判定し、双方のハッシュ値が同一でない場合には検証失敗と判定する。
【0068】
具体的には、タイムスタンプ検証部223は、検証成功である場合には、タイムスタンプトークンに含まれる時刻情報が示す時刻に、受信部221によって受信された複数の暗号化ログメッセージが存在していたと判定するとともに、かかる時刻情報が示す時刻から現在時刻までの間にかかる複数の暗号化ログメッセージが改竄されていないと判定する。また、タイムスタンプ検証部223は、例えば、図4に例示したタイムスタンプトークン「i−1」及びタイムスタンプトークン「i+3」について検証成功である場合には、双方のタイムスタンプトークンが示す時刻の間に、ログメッセージ「i」〜「i+3」が作成されたと判定する。
【0069】
また、タイムスタンプ検証部223は、検証失敗である場合には、タイムスタンプトークンに含まれる時刻情報が示す時刻にかかる複数の暗号化ログメッセージが存在していたとは限らないと判定するとともに、かかる時刻情報が示す時刻から現在時刻までの間にかかる複数の暗号化ログメッセージが改竄された可能性があると判定する。
【0070】
そして、タイムスタンプ検証部223は、このような検証結果を検証結果記憶部212に格納する。これにより、監査者は、検証結果記憶部212を参照することで、ログメッセージの存在時刻及び作成時刻を確認することができるとともに、かかるログメッセージの改竄有無を確認することができる。
【0071】
[ログ管理装置による処理手順]
次に、図7及び図8を用いて、実施例1に係るログ管理装置100による処理の手順について説明する。図7及び図8は、実施例1に係るログ管理装置100による処理手順を示すフローチャートである。なお、図7では、ログ管理装置100によるログメッセージの受信処理手順を説明し、図8では、ログ管理装置100によるログメッセージの送信処理手順を説明する。
【0072】
図7に示すように、ログ管理装置100は、ログ出力システム10−1〜10−nから平文であるログメッセージを取得したか否かを判定する(ステップS101)。ここで、ログ管理装置100は、ログメッセージを取得していない場合には(ステップS101否定)、ログメッセージを取得するまで待機する。
【0073】
一方、ログ管理装置100は、ログ出力システム10−1〜10−nからログメッセージを取得した場合には(ステップS101肯定)、監査者端末200によって公開されている非対称鍵暗号用の公開鍵を用いて、平文のログメッセージを暗号化する(ステップS102)。これにより、ログ管理装置100は、暗号化ログメッセージを生成する。
【0074】
また、ログ管理装置100は、ログ出力システム10−1〜10−nから取得したログメッセージと、かかるログメッセージよりも前に取得した過去のログメッセージから生成したハッシュ値とを連結する(ステップS103)。そして、ログ管理装置100は、連結した文字列のハッシュ値を算出する(ステップS104)。なお、ログ管理装置100は、ステップS102における処理手順と、ステップS103及びS104における処理手順とを並行して行ってもよい。
【0075】
そして、ログ管理装置100は、ステップS102〜S104における処理手順が終了した後に、ログ出力システム10−1〜10−nから取得した平文のログメッセージを削除する(ステップS105)。
【0076】
このようにして、ログ管理装置100は、ログ出力システム10−1〜10−nからログメッセージを取得するたびに(ステップS101肯定)、ステップS102〜S105における処理手順を行う。
【0077】
続いて、図8に示すように、ログ管理装置100は、所定時間が経過したか、又は、ログ出力システム10−1〜10−nから所定数のログメッセージを取得したか否かを判定する(ステップS201)。ここで、ログ管理装置100は、双方の条件を満たさない場合には(ステップS201否定)、いずれかの条件を満たすまで待機する。
【0078】
一方、ログ管理装置100は、所定時間が経過したか、又は、ログ出力システム10−1〜10−nから所定数のログメッセージを取得した場合には(ステップS201肯定)、図7に示したステップS104において算出したハッシュ値のうち、最後(現在時刻に最も近い時刻)に算出したハッシュ値をTSA20に送信する(ステップS202)。これにより、ログ管理装置100は、かかるハッシュ値に対応するタイムスタンプトークンをTSA20から取得する(ステップS203)。なお、図8では省略したが、ログ管理装置100は、タイムスタンプトークンのデジタル署名についてもTSA20から取得する。
【0079】
そして、ログ管理装置100は、監査者端末200に送信していない暗号化ログメッセージ及びハッシュ値をログ記憶部211から取得し、取得した暗号化ログメッセージ及びハッシュ値と、TSA20から取得したタイムスタンプトークン及びデジタル署名を監査者端末200に送信する(ステップS204)。
【0080】
[監査者端末による処理手順]
次に、図9を用いて、実施例1に係る監査者端末200による処理の手順について説明する。図9は、実施例1に係る監査者端末200による処理手順を示すフローチャートである。
【0081】
図9に示すように、監査者端末200は、ログ管理装置100から、暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン等の各種データを受信したか否かを判定する(ステップS301)。ここで、監査者端末200は、ログ管理装置100から各種データを受信していない場合には(ステップS301否定)、各種データを受信するまで待機する。
【0082】
一方、監査者端末200は、ログ管理装置100から暗号化ログメッセージ等を受信した場合には(ステップS301肯定)、受信した暗号化ログメッセージを検証する(ステップS302)。かかる検証処理は、図6を用いて説明した処理手順と同様である。
【0083】
また、監査者端末200は、ログ管理装置100からタイムスタンプトークン及びデジタル署名を受信した場合に(ステップS301肯定)、かかるデジタル署名を用いて、タイムスタンプトークンがTSA20によって生成されたか否かを検証する(ステップS303)。
【0084】
そして、監査者端末200は、ログ管理装置100から受信したハッシュ値のうちタイムスタンプトークンに対応するハッシュ値と、タイムスタンプトークンに含まれるハッシュ値とを比較する(ステップS304)。これにより、監査者端末200は、タイムスタンプトークンに含まれる時刻情報が、タイムスタンプトークンに含まれるハッシュ値に対応する各ログメッセージの存在時刻や作成時刻を示すか否かを判定する。
【0085】
[実施例1の効果]
上述してきたように、実施例1に係るログ管理装置100は、ログ出力システム10−1〜10−nにおいて出力されるログメッセージを取得する取得部121と、取得部121によって新たなログメッセージが取得された場合に、かかる新たなログメッセージよりも過去に取得されたログメッセージを特定するためのハッシュ値とかかる新たなログメッセージとを結合した情報のハッシュ値を算出する特定データ算出部123と、所定のタイミングになった場合に、特定データ算出部123によって直近に算出されたハッシュ値をタイムスタンプ局に送信することで、かかるハッシュ値によって特定されるログメッセージ群が存在した時刻を示す時刻情報を付与するタイムスタンプ付与部124とを有する。
【0086】
すなわち、実施例1に係るログ管理装置100は、新たなログメッセージを取得するたびに、過去のログメッセージも用いて順次ハッシュ値を算出し、特定のハッシュ値についてのみTSA20に送信することで、タイムスタンプトークンを取得する。したがって、実施例1に係るログ管理装置100は、ログメッセージを取得するたびにTSA20にタイムスタンプトークンを生成させることはないので、TSA20によるタイムスタンプトークン生成処理等の負荷が増大することを防止できる。
【0087】
また、実施例1に係るログ管理装置100は、取得部121によって新たなログメッセージが取得された場合に、ログ出力システム10−1〜10−nにおいて出力されるログメッセージを検証する監査者端末200が保持する非対称鍵暗号方式の公開鍵を用いて、かかる新たなログメッセージを暗号化する暗号化部122と、タイムスタンプ付与部124によってハッシュ値に時刻情報が付与された場合に、かかるハッシュ値と暗号化部122によって暗号化された暗号化ログメッセージとを監査者端末200に送信する送信部125とを有する。
【0088】
これにより、実施例1に係るログ管理装置100は、ログ出力システム10−1〜10−nにおいて出力されるログメッセージを、監査者端末200のみによって復号化することができる暗号化ログメッセージとして管理することができる。
【0089】
また、実子例1に係るログ管理装置100は、特定データ算出部123によって新たなログメッセージを用いてハッシュ値を算出され、かつ、暗号化部122によって新たなログメッセージが暗号化された後に、かかる新たなログメッセージを削除する。
【0090】
すなわち、実施例1に係るログ管理装置100は、平文のログメッセージを保持せずに、監査者端末200が保持する秘密鍵のみで復号化可能な暗号化ログメッセージを保持する。このため、ログ管理装置100は、ログメッセージが改竄されることを防止でき、この結果、改竄された平文のログメッセージから暗号化ログメッセージやハッシュ値を再生成されることを防止できる。
【実施例2】
【0091】
ところで、本発明に係るログ管理装置、ログ管理方法及びログ管理プログラムは、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例2では、本発明に係るログ管理装置、ログ管理方法及びログ管理プログラムの他の実施例について説明する。
【0092】
[処理主体]
上記実施例1では、ログ管理装置100が、ログ出力システム10−1〜10−nからログメッセージを収集し、収集したログメッセージに対して暗号化処理やタイムスタンプ付与処理等を行う例を示した。しかし、この例に限られず、ログ出力システム10−1〜10−nがログ管理装置100と同様の機能を有してもよい。すなわち、上記実施例1では、ログ管理装置100とログ出力システム10−1〜10−nとを分離した実施形態を示したが、ログ管理装置100とログ出力システム10−1等とが統合されてもよい。なお、ログ管理装置100とログ出力システム10−1等とが統合される場合には、ログ出力システム10−1等は、ログ管理装置100が有する取得部121を有しなくてもよい。
【0093】
[タイムスタンプトークンの生成契機]
また、上記実施例1では、タイムスタンプ付与部124が、所定時間が経過した場合や、取得部121によって所定数の新たなログメッセージが取得された場合に、特定データ算出部123によって最後に算出されたハッシュ値をTSA20に送信する例を示した。しかし、この例に限られず、タイムスタンプ付与部124は、取得部121によって新たに取得されたログメッセージの総サイズが所定値以上になった場合に、特定データ算出部123によって最後に算出されたハッシュ値をTSA20に送信してもよい。
【0094】
[システム構成]
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0095】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、上記実施例1では、暗号化部122又は特定データ算出部123が、暗号化処理及びハッシュ値算出処理が終了した後に平文のログメッセージを削除する例を示した。ここで、暗号化部122又は特定データ算出部123が平文のログメッセージを削除するのではなく、ログ管理装置100が、平文のログメッセージを削除する削除部を有してもよい。
【0096】
[プログラム]
また、上記実施例において説明したログ管理装置100が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施例1に係るログ管理装置100が実行する処理をコンピュータが実行可能な言語で記述したログ管理プログラムを作成することもできる。この場合、コンピュータがログ管理プログラムを実行することにより、上記実施例1と同様の効果を得ることができる。さらに、かかるログ管理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたログ管理プログラムをコンピュータに読み込ませて実行することにより上記実施例1と同様の処理を実現してもよい。以下に、図2に示したログ管理装置100と同様の機能を実現するログ管理プログラムを実行するコンピュータの一例を説明する。
【0097】
図10は、ログ管理プログラムを実行するコンピュータ1000を示す図である。図10に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
【0098】
メモリ1010は、図10に例示するように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図10に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図10に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図10に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図10に例示するように、例えばディスプレイ1061に接続される。
【0099】
ここで、図10に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のログ管理プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。例えば、図2に例示した取得部121と同様の情報処理を実行する取得手順と、暗号化部122と同様の情報処理を実行する暗号化手順と、特定データ算出部123と同様の情報処理を実行する特定データ算出手順と、タイムスタンプ付与部124と同様の情報処理を実行するタイムスタンプ付与手順と、送信部125と同様の情報処理を実行する送信手順とが記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
【0100】
また、上記実施例で説明したログ管理装置100が保持する各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、取得手順、暗号化手順、特定データ算出手順、タイムスタンプ付与手順、送信手順を実行する。
【0101】
なお、ログ管理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、ログ管理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0102】
1 ログ管理システム
20 TSA
100 ログ管理装置
110 記憶部
111 鍵記憶部
112 ログ記憶部
120 制御部
121 取得部
122 暗号化部
123 特定データ算出部
124 タイムスタンプ付与部
125 送信部
200 監査者端末
210 記憶部
211 ログ記憶部
212 検証結果記憶部
220 制御部
221 受信部
222 ログメッセージ検証部
223 タイムスタンプ検証部

【特許請求の範囲】
【請求項1】
コンピュータシステムにおいて出力されるログメッセージを順次取得する取得部と、
前記取得部によって取得されたログメッセージよりも過去に取得された過去ログメッセージと所定データとの結合情報を特定するための特定データと、前記ログメッセージとの結合情報を特定するための新たな特定データを算出し、前記取得部によって新たなログメッセージが取得された場合に、所定データとしての前記新たな特定データと該新たなログメッセージとの結合情報を特定するための特定データを算出する算出部と、
所定時間が経過した場合、又は、前記取得部によって所定量のログメッセージが取得された場合に、前記算出部によって直近に算出された特定データをタイムスタンプ局に送信することで、該特定データによって特定されるログメッセージ群が存在した時刻を示す時刻情報を該ログメッセージ群に付与する付与部と
を備えたことを特徴とするログ管理装置。
【請求項2】
前記取得部によってログメッセージが取得された場合に、前記コンピュータシステムにおいて出力されるログメッセージを検証する検証装置が保持する非対称鍵暗号方式の公開鍵を用いて、前記ログメッセージを暗号化する暗号化部と、
前記付与部によって特定データに時刻情報が付与された場合に、該特定データと前記暗号化部によって暗号化された暗号化ログメッセージとを前記検証装置に送信する送信部と
をさらに備えたことを特徴とする請求項1に記載のログ管理装置。
【請求項3】
前記算出部によって前記ログメッセージを用いて特定データが算出され、かつ、前記暗号化部によって前記ログメッセージが暗号化された後に、該ログメッセージを削除する削除部
をさらに備えたことを特徴とする請求項2に記載のログ管理装置。
【請求項4】
ログ管理装置で実行されるログ管理方法であって、
コンピュータシステムにおいて出力されるログメッセージを順次取得する取得工程と、
前記取得工程によって取得されたログメッセージよりも過去に取得された過去ログメッセージと所定データとの結合情報を特定するための特定データと、前記ログメッセージとの結合情報を特定するための新たな特定データを算出し、前記取得工程によって新たなログメッセージが取得された場合に、所定データとしての前記新たな特定データと該新たなログメッセージとの結合情報を特定するための特定データを算出する算出工程と、
所定時間が経過した場合、又は、前記取得工程によって所定量のログメッセージが取得された場合に、前記算出工程によって直近に算出された特定データをタイムスタンプ局に送信することで、該特定データによって特定されるログメッセージ群が存在した時刻を示す時刻情報を該ログメッセージ群に付与する付与工程と
を含んだことを特徴とするログ管理方法。
【請求項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