(57)【要約】【課題】ログの存在時刻を証明するＴＳＡにおける処理負荷の増大を防止すること。【解決手段】実施形態に係るログ管理装置は、コンピュータシステムにおいて出力されるログメッセージを取得する。また、ログ管理装置は、新たなログメッセージを取得した場合に、新たなログメッセージよりも過去に取得したログメッセージを用いて算出したハッシュ値と新たなログメッセージとを結合した情報のハッシュ値を算出する。また、ログ管理装置は、所定時間が経過した場合、又は、所定量のログメッセージを取得した場合に、直近に算出したハッシュ値をタイムスタンプ局に送信することで、かかるハッシュ値の算出元となったログメッセージ群が存在した時刻を示す時刻情報をかかるログメッセージ群に付与する。【選択図】図２
2013003968.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて出力されるログメッセージを順次取得する取得部と、
前記取得部によって取得されたログメッセージよりも過去に取得された過去ログメッセージと所定データとの結合情報を特定するための特定データと、前記ログメッセージとの結合情報を特定するための新たな特定データを算出し、前記取得部によって新たなログメッセージが取得された場合に、所定データとしての前記新たな特定データと該新たなログメッセージとの結合情報を特定するための特定データを算出する算出部と、
所定時間が経過した場合、又は、前記取得部によって所定量のログメッセージが取得された場合に、前記算出部によって直近に算出された特定データをタイムスタンプ局に送信することで、該特定データによって特定されるログメッセージ群が存在した時刻を示す時刻情報を該ログメッセージ群に付与する付与部と
を備えたことを特徴とするログ管理装置。
【請求項２】
前記取得部によってログメッセージが取得された場合に、前記コンピュータシステムにおいて出力されるログメッセージを検証する検証装置が保持する非対称鍵暗号方式の公開鍵を用いて、前記ログメッセージを暗号化する暗号化部と、
前記付与部によって特定データに時刻情報が付与された場合に、該特定データと前記暗号化部によって暗号化された暗号化ログメッセージとを前記検証装置に送信する送信部と
をさらに備えたことを特徴とする請求項１に記載のログ管理装置。
【請求項３】
前記算出部によって前記ログメッセージを用いて特定データが算出され、かつ、前記暗号化部によって前記ログメッセージが暗号化された後に、該ログメッセージを削除する削除部
をさらに備えたことを特徴とする請求項２に記載のログ管理装置。
【請求項４】
ログ管理装置で実行されるログ管理方法であって、
コンピュータシステムにおいて出力されるログメッセージを順次取得する取得工程と、
前記取得工程によって取得されたログメッセージよりも過去に取得された過去ログメッセージと所定データとの結合情報を特定するための特定データと、前記ログメッセージとの結合情報を特定するための新たな特定データを算出し、前記取得工程によって新たなログメッセージが取得された場合に、所定データとしての前記新たな特定データと該新たなログメッセージとの結合情報を特定するための特定データを算出する算出工程と、
所定時間が経過した場合、又は、前記取得工程によって所定量のログメッセージが取得された場合に、前記算出工程によって直近に算出された特定データをタイムスタンプ局に送信することで、該特定データによって特定されるログメッセージ群が存在した時刻を示す時刻情報を該ログメッセージ群に付与する付与工程と
を含んだことを特徴とするログ管理方法。
【請求項５】
コンピュータシステムにおいて出力されるログメッセージを順次取得する取得手順と、
前記取得手順によって取得されたログメッセージよりも過去に取得された過去ログメッセージと所定データとの結合情報を特定するための特定データと、前記ログメッセージとの結合情報を特定するための新たな特定データを算出し、前記取得手順によって新たなログメッセージが取得された場合に、所定データとしての前記新たな特定データと該新たなログメッセージとの結合情報を特定するための特定データを算出する算出手順と、
所定時間が経過した場合、又は、前記取得手順によって所定量のログメッセージが取得された場合に、前記算出手順によって直近に算出された特定データをタイムスタンプ局に送信することで、該特定データによって特定されるログメッセージ群が存在した時刻を示す時刻情報を該ログメッセージ群に付与する付与手順と
をコンピュータに実行させることを特徴とするログ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ログ管理装置、ログ管理方法及びログ管理プログラムに関する。
【背景技術】
【０００２】
従来、コンピュータシステムにおいては、情報セキュリティの確保や迅速な障害対応等の観点からログの管理が行われている。例えば、コンピュータシステムを監査する監査者は、コンピュータシステム内のサーバや通信機器等によって出力されるログを監視することで、情報セキュリティが確保されているか否かを監査したり、システム障害が発生しているか否かを監査したりする。
【０００３】
このような監査に用いられるログの性質上、ログが出力された時刻は重要な情報となる。すなわち、ログ管理においては、ログが出力された時刻の情報（ログのタイムスタンプ）に対する改竄有無を検証できることが望ましい。そこで、電子データが存在していた時刻を証明するタイムスタンプ局（以下、「ＴＳＡ：Time  Stamp  Authority」と表記する場合がある）と呼ばれる第三者機関にログの存在時刻を証明させることで、ログのタイムスタンプに対する改竄有無を検証できるとも考えられる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】R.Gerhards  et  al,  "The  Syslog  Protocol",  Network  Working  Group,  RFC5424,  March  2009,  ［online］,［平成２３年６月１０日検索］、インターネット＜http://tools.ietf.org/html/rfc5424＞
【非特許文献２】C.Adams  et  al,  "Internet  X.509  Public  Key  Infrastructure  Time-Stamp  Protocol  (TSP)",  Network  Working  Group,  RFC3161,  August  2001,  ［online］,［平成２３年６月１０日検索］、インターネット＜http://tools.ietf.org/html/rfc3161＞
【非特許文献３】日本電信電話株式会社,  "PSEC-KEM  仕様書  version  2.2",平成20年4月14日,  ［online］,［平成２３年６月１０日検索］、インターネット＜http://info.isl.ntt.co.jp/crypt/psec/specifications.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術には、ＴＳＡの負荷が増大するおそれがある。具体的には、上記の従来技術では、コンピュータシステムによって出力される各ログの存在時刻をＴＳＡに証明させることを要するが、コンピュータシステムからは膨大なログが出力されるので、ＴＳＡによる存在時刻の証明処理の負荷が増大するおそれがある。
【０００６】
本発明は、上記に鑑みてなされたものであって、ログの存在時刻を証明するＴＳＡにおける処理負荷の増大を防止することができるログ管理装置、ログ管理方法及びログ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態に係るログ管理装置は、コンピュータシステムにおいて出力されるログメッセージを順次取得する取得部と、前記取得部によって取得されたログメッセージよりも過去に取得された過去ログメッセージと所定データとの結合情報を特定するための特定データと、前記ログメッセージとの結合情報を特定するための新たな特定データを算出し、前記取得部によって新たなログメッセージが取得された場合に、所定データとしての前記新たな特定データと該新たなログメッセージとの結合情報を特定するための特定データを算出する算出部と、所定時間が経過した場合、又は、前記取得部によって所定量のログメッセージが取得された場合に、前記算出部によって直近に算出された特定データをタイムスタンプ局に送信することで、該特定データによって特定されるログメッセージ群が存在した時刻を示す時刻情報を該ログメッセージ群に付与する付与部とを備えたことを特徴とする。
【発明の効果】
【０００８】
実施形態に係るログ管理装置、ログ管理方法及びログ管理プログラムは、ログの存在時刻を証明するＴＳＡにおける処理負荷の増大を防止することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係るログ管理システムの構成例を示す図である。
【図２】図２は、実施例１に係るログ管理装置の構成例を示す図である。
【図３】図３は、実施例１に係るログ管理装置の制御部による処理の一例を示す図である。
【図４】図４は、実施例１に係るログ管理装置の制御部による処理の一例を示す図である。
【図５】図５は、実施例１に係る監査者端末の構成例を示す図である。
【図６】図６は、実施例１に係る監査者端末のログメッセージ検証部による処理の一例を示す図である。
【図７】図７は、実施例１に係るログ管理装置による処理手順を示すフローチャートである。
【図８】図８は、実施例１に係るログ管理装置による処理手順を示すフローチャートである。
【図９】図９は、実施例１に係る監査者端末による処理手順を示すフローチャートである。
【図１０】図１０は、ログ管理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明に係るログ管理装置、ログ管理方法及びログ管理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。
【実施例１】
【００１１】
［ログ管理システムの構成］
まず、図１を用いて、実施例１に係るログ管理装置を含むログ管理システムについて説明する。図１は、実施例１に係るログ管理システムの構成例を示す図である。図１に例示するように、実施例１に係るログ管理システム１には、ログ出力システム１０−１〜１０−ｎと、ＴＳＡ２０と、ログ管理装置１００と、監査者端末２００とが含まれ、これらの各装置がネットワークＮ１を介して接続されている。
【００１２】
ログ出力システム１０−１〜１０−ｎは、ログメッセージを出力する装置であり、例えば、ＰＣ（Personal  Computer）やサーバ等の情報処理装置や、スイッチ等の通信機器等である。なお、「ログメッセージ」とは、１以上の処理時刻及び処理内容の組合せを示すものとする。例えば、「ログメッセージ」は、「Ｙ年Ｍ月ｈ時ｍ１分  処理を開始する」といった１個の処理時刻及び処理内容の組合せである場合や、「Ｙ年Ｍ月ｈ時ｍ１分  処理を開始する」、「Ｙ年Ｍ月ｈ時ｍ２分  エラー発生」及び「Ｙ年Ｍ月ｈ時ｍ３分  処理を終了する」といった複数個の処理時刻及び処理内容の組合せである場合もある。ただし、ログメッセージが複数個の処理時刻及び処理内容の組合せである場合には、全ての処理時刻が所定の時間内（例えば、３分間）であることが望ましい。
【００１３】
ＴＳＡ２０は、正確な時刻情報であるタイムスタンプを電子データに付与することにより、かかる電子データが存在していた時刻を証明する。実施例１に係るＴＳＡ２０は、例えば、ログ管理装置１００からログメッセージのハッシュ値を受信した場合に、かかるハッシュ値と現在時刻とを結合した「タイムスタンプトークン」を生成する。さらに、ＴＳＡ２０は、かかるタイムスタンプトークンを自システム（ＴＳＡ２０）の秘密鍵を用いて暗号化することにより、タイムスタンプトークンのデジタル署名を生成する。このとき、ＴＳＡ２０は、タイムスタンプトークンのハッシュ値を暗号化することで、タイムスタンプトークンのデジタル署名を生成してもよい。そして、ＴＳＡ２０は、署名済みのタイムスタンプトークンをログ管理装置１００に送信する。なお、ＴＳＡ２０は、図示しない時刻サーバ（例えば、ＮＴＰ（Network  Time  Protocol）サーバ等）と通信可能であり、ＮＴＰサーバ等から正確な時刻情報を取得することができる。
【００１４】
ログ管理装置１００は、ログ出力システム１０−１〜１０−ｎによって出力されるログメッセージを管理するログサーバである。かかるログ管理装置１００は、ログメッセージのハッシュ値をＴＳＡ２０に送信することで、ログメッセージの存在時刻を証明するためのタイムスタンプトークンをＴＳＡ２０から取得する。これにより、ログ管理装置１００によって管理される各ログメッセージは、第三者機関であるＴＳＡ２０によって存在時刻が証明される。
【００１５】
監査者端末２００は、監査者によって利用される検証装置であり、例えば、ＰＣ（Personal  Computer）等の情報処理装置である。かかる監査者端末２００は、ログ管理装置１００からログメッセージやタイムスタンプトークンを受信し、かかるタイムスタンプトークンを用いて、ログメッセージやログメッセージのタイムスタンプに対する改竄有無を検証する。なお、監査者端末２００による処理については、図５及び図６を用いて後述する。
【００１６】
ここで、実施例１に係るログ管理装置１００は、ログ出力システム１０−１〜１０−ｎによってログメッセージが出力されるたびに各ログメッセージのハッシュ値をＴＳＡ２０に送信せず、複数のログメッセージから生成したハッシュ値をＴＳＡ２０に送信する。言い換えれば、実施例１に係るログ管理装置１００は、各ログメッセージに対応するタイムスタンプトークンをＴＳＡ２０に生成させるのではなく、複数のログメッセージに対して１つのタイムスタンプトークンを生成させる。
【００１７】
具体的には、ログ管理装置１００は、ログ出力システム１０−１〜１０−ｎによって新たなログメッセージが出力された場合に、新たなログメッセージのハッシュ値を算出するのではなく、新たなログメッセージと、過去に出力されたログメッセージから生成したハッシュ値とを連結した文字列のハッシュ値を算出する。ログ管理装置１００は、ログ出力システム１０−１〜１０−ｎによって新たなログメッセージが出力されるたびに、同様の手順により複数のログメッセージに対応するハッシュ値を算出する。そして、ログ管理装置１００は、ログ出力システム１０−１〜１０−ｎによって所定数のログメッセージが出力された場合や、所定時間が経過した場合に、最後に算出したハッシュ値（現在時刻に最も近い時刻に算出したハッシュ値）をＴＳＡ２０に送信することで、複数のログメッセージに対応するタイムスタンプトークンを生成させる。
【００１８】
このように、実施例１に係るログ管理装置１００は、複数のログメッセージに対して１つのタイムスタンプトークンを生成させるので、ＴＳＡ２０における処理負荷の増大を防止することができる。さらに、ログ管理装置１００は、複数のログメッセージに対応するタイムスタンプトークンをＴＳＡ２０から取得するので、各ログメッセージの存在時刻をＴＳＡ２０に証明させることができ、この結果、ログメッセージの信頼性を向上させることができる。
【００１９】
以下に、このようなログ管理装置１００について詳細に説明する。なお、ログ管理装置１００は、監査者以外のシステム管理者等によってログが改竄されることを防止するために、平文のログメッセージを削除する処理等も行うが、この点については以下で説明する。また、以下では、ログ管理装置１００について説明した後に、監査者端末２００による検証処理について説明する。
【００２０】
［ログ管理装置の構成］
図２を用いて、実施例１に係るログ管理装置１００について説明する。図２は、実施例１に係るログ管理装置１００の構成例を示す図である。図２に例示するように、実施例１に係るログ管理装置１００は、記憶部１１０と、制御部１２０とを有する。
【００２１】
なお、図２では図示することを省略したが、ログ管理装置１００は、ネットワークＮ１を介して他の装置（ログ出力システム１０−１〜１０−ｎ、ＴＳＡ２０、監査者端末２００等）との間で各種データを送受するためのインタフェースを有する。また、ログ管理装置１００は、各種情報や操作指示を入力するための入力部（キーボード、マウス等）や、各種情報を表示する表示デバイス（液晶表示装置等）を有してもよい。
【００２２】
記憶部１１０は、ハードディスクや半導体メモリ素子等の記憶デバイスであり、各種データを記憶する。実施例１に係る記憶部１１０は、図２に例示するように、鍵記憶部１１１と、ログ記憶部１１２とを有する。
【００２３】
鍵記憶部１１１は、図１に示した監査者端末２００によって公開される公開鍵を記憶する。具体的に説明すると、監査者端末２００は、暗号化方式として非対称鍵暗号（asymmetric  key  cryptosystem）を採用しており、非対称鍵暗号用の公開鍵と秘密鍵とを保持する。そして、監査者端末２００は、公開鍵をログ管理装置１００に公開する一方で、秘密鍵については自装置（監査者端末２００）のみで保持する。ログ管理装置１００の鍵記憶部１１１は、監査者端末２００によって公開されている公開鍵を記憶する。ここで、非対称鍵暗号では、暗号化に公開鍵が用いられ、復号化に秘密鍵が用いられるが、公開鍵で暗号化された暗号化文書をかかる公開鍵で復号化することはできない。すなわち、鍵記憶部１１１に記憶されている公開鍵で暗号化された暗号化文書は、監査者端末２００のみによって復号化することができる。
【００２４】
ログ記憶部１１２は、ログ出力システム１０−１〜１０−ｎによって出力されるログメッセージ等に関する各種データを記憶する。ここで、ログ記憶部１１２は、平文のログメッセージを記憶せず、鍵記憶部１１１に記憶されている公開鍵によって暗号化されたログメッセージ（以下、「暗号化ログメッセージ」と表記する場合がある）を記憶する。また、ログ記憶部１１２は、ログメッセージから生成されたハッシュ値や、ＴＳＡ２０によって生成されたタイムスタンプトークン等を記憶する。ログ記憶部１１２によって記憶される各種情報は、制御部１２０によって更新されるので、ログ記憶部１１２については後述の制御部１２０とともに説明する。
【００２５】
制御部１２０は、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。実施例１に係る制御部１２０は、図２に例示するように、取得部１２１と、暗号化部１２２と、特定データ算出部１２３と、タイムスタンプ付与部１２４と、送信部１２５とを有する。
【００２６】
取得部１２１は、ログ出力システム１０−１〜１０−ｎによって出力されたログメッセージを取得する。例えば、取得部１２１は、ネットワークＮ１を介してログ出力システム１０−１〜１０−ｎにアクセスすることにより、ログ出力システム１０−１〜１０−ｎによって新たに出力されたログメッセージを取得する。また、例えば、ログ出力システム１０−１〜１０−ｎによって新たなログメッセージがログ管理装置１００に送信される場合には、取得部１２１は、ログ出力システム１０−１〜１０−ｎから新たなログメッセージを受信することで、ログ出力システム１０−１〜１０−ｎによって出力されたログメッセージを取得する。
【００２７】
暗号化部１２２は、取得部１２１によって取得されたログメッセージを暗号化する。具体的には、暗号化部１２２は、鍵記憶部１１１に記憶されている非対称鍵暗号用の公開鍵を用いて、取得部１２１によって取得された平文のログメッセージを暗号化することで暗号化ログメッセージを生成し、生成した暗号化ログメッセージをログ記憶部１１２に格納する。
【００２８】
特定データ算出部１２３は、取得部１２１によってログメッセージが取得された場合に、取得されたログメッセージと、かかるログメッセージよりも過去に取得されたログメッセージとの結合情報を特定するための特定データを算出する。なお、実施例１に係る特定データ算出部１２３は、特定データとしてハッシュ値を算出するものとする。
【００２９】
具体的には、特定データ算出部１２３は、取得部１２１によって新たなログメッセージが取得された場合に、かかる新たなログメッセージよりも過去に取得部１２１によって取得されたログメッセージから算出したハッシュ値と、かかる新たなログメッセージとを連結し、連結した文字列のハッシュ値を算出する。そして、特定データ算出部１２３は、暗号化部１２２によって新たなログメッセージから生成された暗号化ログメッセージに対応付けて、算出したハッシュ値をログ記憶部１１２に格納する。その後に取得部１２１によって新たなログメッセージがさらに取得された場合には、特定データ算出部１２３は、さらに取得された新たなログメッセージと、前述において算出したハッシュ値とを連結した文字列のハッシュ値を算出する。なお、特定データ算出部１２３は、例えば、ＭＤ５（Message  Digest  Algorithm  5）やＳＨＡ（Secure  Hash  Algorithm）等のハッシュ関数を用いて、ハッシュ値を算出する。
【００３０】
ところで、ログ管理システム１にログ管理装置１００が導入された当初であって、ログ管理装置１００がログメッセージをログ出力システム１０−１等から取得したことがない場合には、ログ管理装置１００は、ハッシュ値も記憶していない。したがって、特定データ算出部１２３は、ログ出力システム１０−１等から１個目のログメッセージを取得した場合には、かかる１個目のログメッセージのハッシュ値を算出する。そして、特定データ算出部１２３は、ログ出力システム１０−１等から２個目のログメッセージを取得した場合には、２個目のログメッセージと、１個目のログメッセージのハッシュ値とを連結し、連結した文字列のハッシュ値を算出する。同様に、特定データ算出部１２３は、ログ出力システム１０−１等から「ｉ」個目のログメッセージを取得した場合には、「ｉ」個目のログメッセージと、「ｉ−１」個目のログメッセージを取得した際に算出したハッシュ値とを連結した文字列のハッシュ値を算出する。
【００３１】
ここで、暗号化部１２２又は特定データ算出部１２３は、暗号化部１２２による暗号化処理及び特定データ算出部１２３によるハッシュ値算出処理が終了した後に、平文のログメッセージを削除する。すなわち、実施例１に係るログ管理装置１００は、平文のログメッセージをログ記憶部１１２等の記憶部に保持しない。これにより、ログ管理装置１００は、監査者以外のシステム管理者等によってログメッセージが改竄されることを防止できる。
【００３２】
タイムスタンプ付与部１２４は、ログ管理装置１００によって管理されているログメッセージに対して、ＴＳＡ２０によって生成されるタイムスタンプを付与する。具体的には、タイムスタンプ付与部１２４は、所定のタイミングとなった場合に、特定データ算出部１２３によって直近（現在時刻に最も近い時刻）に算出されたハッシュ値をＴＳＡ２０に送信することで、かかるハッシュ値に対応するタイムスタンプトークンをＴＳＡ２０に生成させる。例えば、タイムスタンプ付与部１２４は、所定時間が経過した場合、又は、取得部１２１によって所定数のログメッセージが取得された場合に、特定データ算出部１２３によって直近に算出されたハッシュ値をＴＳＡ２０に送信する。これにより、タイムスタンプ付与部１２４は、ＴＳＡ２０に送信したハッシュ値によって特定されるログメッセージ群が存在した時刻を示す時刻情報をかかるログメッセージ群に付与することができる。
【００３３】
このとき、ＴＳＡ２０は、タイムスタンプ付与部１２４からハッシュ値を受信した場合に、かかるハッシュ値と現在時刻とを結合したタイムスタンプトークンを生成する。さらに、ＴＳＡ２０は、かかるタイムスタンプトークン又はタイムスタンプトークンのハッシュ値を自システム（ＴＳＡ２０）の秘密鍵を用いて暗号化することにより、タイムスタンプトークンのデジタル署名を生成する。そして、ＴＳＡ２０は、タイムスタンプトークンとデジタル署名とをタイムスタンプ付与部１２４に送信する。
【００３４】
これにより、タイムスタンプ付与部１２４は、特定データ算出部１２３によって最後に算出されたハッシュ値に対応するタイムスタンプトークンと、かかるタイムスタンプトークンのデジタル署名とを取得することができる。そして、タイムスタンプ付与部１２４は、ＴＳＡ２０に送信したハッシュ値に対応付けて、ＴＳＡ２０から取得したタイムスタンプトークン及びデジタル署名をログ記憶部１１２に格納する。
【００３５】
送信部１２５は、タイムスタンプ付与部１２４によってタイムスタンプトークン及びデジタル署名が取得された場合に、かかるタイムスタンプトークン及びデジタル署名とともに、暗号化部１２２によって生成された暗号化ログメッセージと、特定データ算出部１２３によって算出されたハッシュ値とを監査者端末２００に送信する。このとき、送信部１２５は、監査者端末２００に送信していない暗号化ログメッセージ及びハッシュ値をログ記憶部１１２から取得し、取得した暗号化ログメッセージ及びハッシュ値を監査者端末２００に送信する。
【００３６】
ここで、図３及び図４を用いて、ログ管理装置１００の制御部１２０による処理について説明する。図３及び図４は、実施例１に係るログ管理装置１００の制御部１２０による処理の一例を示す図である。図３に示した例において、取得部１２１は、ログメッセージ「ｉ」を取得したものとする。なお、「ｉ」は「１」以上の数値を示し、取得部１２１によって取得されたログメッセージの順番を示すものとする。例えば、ログメッセージ「ｉ−１」は、取得部１２１によってログメッセージ「ｉ」よりも１つ前に取得されたログメッセージであることを示す。
【００３７】
かかる場合に、暗号化部１２２は、鍵記憶部１１１に記憶されている公開鍵（監査者端末２００によって公開されている監査者の公開鍵）を用いて、取得部１２１によって取得されたログメッセージ「ｉ」を暗号化することで、暗号化ログメッセージ「ｉ」を生成する（ステップＳ１１）。
【００３８】
また、特定データ算出部１２３は、ログメッセージ「ｉ」を用いてハッシュ値を算出する。ここで、特定データ算出部１２３は、取得部１２１によってログメッセージ「ｉ−１」が取得された時点で、かかるログメッセージ「ｉ−１」等を用いてハッシュ値「ｉ−１」を算出している。特定データ算出部１２３は、取得部１２１によってログメッセージ「ｉ」が取得された場合には、ログメッセージ「ｉ」よりも１つ前に取得されたログメッセージ「ｉ−１」等を用いて算出したハッシュ値「ｉ−１」と、ログメッセージ「ｉ」とを連結する（ステップＳ１２）。そして、特定データ算出部１２３は、連結した文字列のハッシュ値「ｉ」を算出する（ステップＳ１３）。なお、特定データ算出部１２３は、この後に取得部１２１によってログメッセージ「ｉ＋１」が取得された場合に、かかるログメッセージ「ｉ＋１」と連結するハッシュ値としてハッシュ値「ｉ」を用いる。
【００３９】
そして、暗号化部１２２又は特定データ算出部１２３は、ステップＳ１１における暗号化処理と、ステップＳ１２及びＳ１３におけるハッシュ値算出処理が終了した後に、平文のログメッセージ「ｉ」を削除する（ステップＳ１４）。
【００４０】
このようにして、暗号化部１２２は、取得部１２１によって取得されたログメッセージから暗号化ログメッセージを生成し、特定データ算出部１２３は、取得部１２１によって取得されたログメッセージからハッシュ値を算出する。これにより、ログ記憶部１１２に記憶される暗号化ログメッセージ及びハッシュ値は、図４に示した例のようになる。
【００４１】
具体的には、図４に示した例において、取得部１２１によってログメッセージ「ｉ」が取得された場合に、暗号化部１２２は、暗号化ログメッセージ「ｉ」を生成する。また、特定データ算出部１２３は、ログメッセージ「ｉ」とハッシュ値「ｉ−１」とを連結した文字列のハッシュ値「ｉ」を算出する。続いて、取得部１２１によってログメッセージ「ｉ＋１」が取得された場合に、暗号化部１２２は、暗号化ログメッセージ「ｉ＋１」を生成し、特定データ算出部１２３は、ログメッセージ「ｉ＋１」とハッシュ値「ｉ」とを連結した文字列のハッシュ値「ｉ＋１」を算出する。同様にして、取得部１２１によってログメッセージ「ｉ＋２」が取得された場合には、暗号化部１２２は、暗号化ログメッセージ「ｉ＋２」を生成し、特定データ算出部１２３は、ログメッセージ「ｉ＋２」とハッシュ値「ｉ＋１」とを連結した文字列のハッシュ値「ｉ＋２」を算出する。また、取得部１２１によってログメッセージ「ｉ＋３」が取得された場合には、暗号化部１２２は、暗号化ログメッセージ「ｉ＋３」を生成し、特定データ算出部１２３は、ログメッセージ「ｉ＋３」とハッシュ値「ｉ＋２」とを連結した文字列のハッシュ値「ｉ＋３」を算出する。
【００４２】
そして、タイムスタンプ付与部１２４は、所定時間が経過するか、又は、取得部１２１によって所定数の新たなログメッセージが取得されるたびに、特定データ算出部１２３によって最後に算出されたハッシュ値をＴＳＡ２０に送信する。例えば、図４に示した例において、タイムスタンプ付与部１２４は、取得部１２１によって新たなログメッセージが「４回」取得されるたびに、ハッシュ値をＴＳＡ２０に送信するものとする。また、図４に示した例では、タイムスタンプ付与部１２４は、ハッシュ値「ｉ−１」をＴＳＡ２０に送信し、ハッシュ値「ｉ−１」に対応するタイムスタンプを取得しているものとする。
【００４３】
かかる場合に、タイムスタンプ付与部１２４は、ハッシュ値「ｉ」が算出された時点では、かかるハッシュ値「ｉ」をＴＳＡ２０に送信しない。これは、ハッシュ値「ｉ−１」をＴＳＡ２０に送信した後、取得部１２１によって新たに取得されたログメッセージがログメッセージ「ｉ」だけであり、取得部１２１によるログメッセージの取得回数が「４回」でないからである。同様の理由により、タイムスタンプ付与部１２４は、ハッシュ値「ｉ＋１」、「ｉ＋２」をＴＳＡ２０に送信しない。そして、タイムスタンプ付与部１２４は、ハッシュ値「ｉ＋３」を算出した場合には、かかるハッシュ値「ｉ＋３」をＴＳＡ２０に送信する。これは、ハッシュ値「ｉ−１」をＴＳＡ２０に送信した後、取得部１２１によって新たに取得されたログメッセージがログメッセージ「ｉ」、「ｉ＋１」、「ｉ＋２」、「ｉ＋３」であり、取得部１２１によるログメッセージの取得回数が「４回」に達したからである。
【００４４】
これにより、タイムスタンプ付与部１２４は、ハッシュ値「ｉ＋３」に対応するタイムスタンプトークンと、かかるタイムスタンプトークンのデジタル署名とをＴＳＡ２０から取得する。そして、タイムスタンプ付与部１２４は、ハッシュ値「ｉ＋３」に対応付けて、ＴＳＡ２０から取得したタイムスタンプトークン及びデジタル署名をログ記憶部１１２に格納する。
【００４５】
そして、送信部１２５は、図４に示したログ記憶部１１２に記憶されている各種データを監査者端末２００に送信する。例えば、送信部１２５は、図４に示した例において、暗号化ログメッセージ「ｉ−１」以前の暗号化ログメッセージやハッシュ値については監査者端末２００に送信済みである場合には、暗号化ログメッセージ「ｉ」、「ｉ＋１」、「ｉ＋２」及び「ｉ＋３」と、ハッシュ値「ｉ」、「ｉ＋１」、「ｉ＋２」及び「ｉ＋３」と、ハッシュ値「ｉ＋３」に対応するタイムスタンプトークン及びデジタル署名を監査者端末２００に送信する。
【００４６】
このように、ログ管理装置１００は、新たなログメッセージを取得するたびに、過去のログメッセージも用いて順次ハッシュ値を算出し、特定のハッシュ値についてのみＴＳＡ２０に送信することで、タイムスタンプトークンを取得する。すなわち、ログ管理装置１００は、ログメッセージを取得するたびにＴＳＡ２０にタイムスタンプトークンを生成させることはないので、ＴＳＡ２０によるタイムスタンプトークン生成処理等の負荷が増大することを防止できる。
【００４７】
また、ログ管理装置１００は、特定のハッシュ値についてのみタイムスタンプトークンを取得するが、かかるハッシュ値は、過去のログメッセージに関する情報も含まれる。このため、かかるタイムスタンプトークンに含まれる時刻情報は、複数のログメッセージが存在した時刻を示すことができる。図４に示した例を用いて説明すると、ハッシュ値「ｉ＋３」に対応するタイムスタンプトークン「ｉ＋３」は、ログメッセージ「１」〜「ｉ＋３」から生成されたハッシュ値に対応するといえる。したがって、タイムスタンプトークン「ｉ＋３」は、ログメッセージ「１」〜「ｉ＋３」の存在時刻を証明することができる。同様に、図４に例示したタイムスタンプトークン「ｉ−１」は、ログメッセージ「１」〜「ｉ−１」が存在した時刻を証明することができる。さらに、タイムスタンプトークン「ｉ−１」及び「ｉ＋３」は、ログメッセージが作成された時刻を証明することができる。具体的には、タイムスタンプトークン「ｉ−１」及び「ｉ＋３」は、双方のタイムスタンプトークンが示す時刻の間に、ログメッセージ「ｉ」〜「ｉ＋３」が作成されたことを証明することができる。
【００４８】
また、ログ管理装置１００は、複数の暗号化ログメッセージと、各暗号化ログメッセージに対応するハッシュ値と、所定のハッシュ値に対応するタイムスタンプトークンと、かかるタイムスタンプトークンのデジタル署名をログ記憶部１１２に保持する。すなわち、ログ管理装置１００は、平文のログメッセージを保持せずに、監査者端末２００が保持する秘密鍵のみで復号化可能な暗号化ログメッセージを保持する。このため、ログ管理装置１００にログイン可能なシステム管理者等は、平文のログメッセージを改竄することができず、この結果、改竄した平文のログメッセージから暗号化ログメッセージやハッシュ値を再生成することができない。言い換えれば、監査者以外のシステム管理者等は、監査者によって検出されないようにログメッセージを改竄することができない。このようなことから、実施例１に係るログ管理装置１００は、ログメッセージの改竄を防止することができる。
【００４９】
なお、図４では、タイムスタンプ付与部１２４が、ハッシュ値「ｉ」、「ｉ＋１」及び「ｉ＋２」をＴＳＡ２０に送信せずに、ハッシュ値「ｉ＋３」をＴＳＡ２０に送信する例を示した。すなわち、図４では、タイムスタンプ付与部１２４が、所定数のログメッセージおきに、かかるログメッセージに対応するハッシュ値をＴＳＡ２０に送信する例を示した。しかし、この例に限られず、タイムスタンプ付与部１２４は、ログ出力システム１０−１〜１０−ｎによって多数のログメッセージが出力されない場合には、特定データ算出部１２３によってハッシュ値が算出されるたびに、かかるハッシュ値をＴＳＡ２０に送信してもよい。
【００５０】
例えば、タイムスタンプ付与部１２４は、１時間が経過した場合、又は、取得部１２１によって新たなログメッセージが「４回」取得された場合に、特定データ算出部１２３によって最後に算出されたハッシュ値をＴＳＡ２０に送信するものとする。このとき、１時間が経過する間に、ログ出力システム１０−１〜１０−ｎによって１つのログメッセージ「ｉ」しか出力されない場合には、送信部１２５は、ログメッセージ「ｉ」に対応するハッシュ値「ｉ」をＴＳＡ２０に送信する。そして、次の１時間が経過する間に、ログ出力システム１０−１〜１０−ｎによって１つのログメッセージ「ｉ＋１」しか出力されない場合には、送信部１２５は、ログメッセージ「ｉ＋１」に対応するハッシュ値「ｉ＋１」をＴＳＡ２０に送信する。このように、タイムスタンプ付与部１２４は、所定時間内に所定数以上のハッシュ値を送信することはないので、各ログメッセージに対応するハッシュ値を送信する場合であっても、ＴＳＡ２０における処理負荷の増大を防止することができる。
【００５１】
また、図４に示した例では、送信部１２５が複数の暗号化ログメッセージと複数のハッシュ値とを送信する例を示したが、上記例のように、タイムスタンプ付与部１２４によって各ログメッセージに対応するタイムスタンプトークンが取得される場合には、１組の暗号化ログメッセージ及びハッシュ値を監査者端末２００に送信することとなる。
【００５２】
［監査者端末の構成］
次に、図５を用いて、実施例１に係る監査者端末２００について説明する。図５は、実施例１に係る監査者端末２００の構成例を示す図である。図５に例示するように、実施例１に係る監査者端末２００は、記憶部２１０と、制御部２２０とを有する。
【００５３】
なお、図５では図示することを省略したが、監査者端末２００は、ネットワークＮ１を介して他の装置（ログ管理装置１００等）との間で各種データを送受するためのインタフェースを有する。また、監査者端末２００は、各種情報や操作指示を入力するための入力部（キーボード、マウス等）や、各種情報を表示する表示デバイス（液晶表示装置等）を有してもよい。
【００５４】
記憶部２１０は、ハードディスクや半導体メモリ素子等の記憶デバイスである。実施例１に係る記憶部２１０は、図５に例示するように、ログ記憶部２１１と、検証結果記憶部２１２とを有する。
【００５５】
ログ記憶部２１１は、ログ管理装置１００から受信した暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン及びデジタル署名を記憶する。また、検証結果記憶部２１２は、暗号化ログメッセージ等に対する検証結果を記憶する。なお、ログ記憶部２１１及び検証結果記憶部２１２によって記憶される各種情報は、制御部２２０によって更新されるので、ログ記憶部２１１及び検証結果記憶部２１２については後述の制御部２２０とともに説明する。
【００５６】
制御部２２０は、ＣＰＵ、ＭＰＵ等の電子回路、ＡＳＩＣやＦＰＧＡ等の集積回路である。実施例１に係る制御部２２０は、図５に例示するように、受信部２２１と、ログメッセージ検証部２２２と、タイムスタンプ検証部２２３とを有する。
【００５７】
受信部２２１は、ログ管理装置１００から暗号化ログメッセージ等を受信する。具体的には、受信部２２１は、ログ管理装置１００の送信部１２５によって送信される暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン及びデジタル署名を受信し、受信した各種情報をログ記憶部２１１に格納する。
【００５８】
なお、図４を用いて説明したように、ログ管理装置１００の送信部１２５は、所定時間（例えば、１時間）内にログ出力システム１０−１〜１０−ｎによって複数のログメッセージが出力された場合には、複数の暗号化ログメッセージと、複数のハッシュ値と、１組のタイムスタンプトークン及びデジタル署名を送信する。かかる場合には、受信部２２１は、複数の暗号化ログメッセージと、複数のハッシュ値と、１組のタイムスタンプトークン及びデジタル署名を受信することになる。
【００５９】
ログメッセージ検証部２２２は、受信部２２１によって暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン及びデジタル署名が受信された場合に、非対称鍵暗号用の秘密鍵を用いて暗号化ログメッセージを復号化する。このとき、ログメッセージ検証部２２２は、受信部２２１によって複数の暗号化ログメッセージが受信された場合には、全ての暗号化ログメッセージを復号化し、ログメッセージ毎に改竄有無を検証する。
【００６０】
具体的には、ログメッセージ検証部２２２は、復号化した複数のログメッセージのうち、検証対象のログメッセージと、かかる検証対象のログメッセージよりも過去に出力されたログメッセージから算出されたハッシュ値とを連結し、連結した文字列のハッシュ値を算出する。そして、ログメッセージ検証部２２２は、算出したハッシュ値と、検証対象のログメッセージに対応するハッシュ値とが同一である場合には、検証対象のログメッセージが改竄されていないと判定し、双方が同一でない場合には、検証対象のログメッセージが改竄されていると判定する。ログメッセージ検証部２２２は、受信部２２１によって受信された各暗号化ログメッセージについて、同様の検証処理を行い、復号化の各ログメッセージと検証結果とを検証結果記憶部２１２に格納する。これにより、監査者は、検証結果記憶部２１２を参照することで、平文のログメッセージを確認することができるとともに、かかるログメッセージの改竄有無を確認することができる。
【００６１】
ここで、図６を用いて、監査者端末２００のログメッセージ検証部２２２による処理について説明する。図６は、実施例１に係る監査者端末２００のログメッセージ検証部２２２による処理の一例を示す図である。図６に示した例において、受信部２２１は、図４に例示した暗号化ログメッセージ「ｉ」、「ｉ＋１」、「ｉ＋２」及び「ｉ＋３」と、ハッシュ値「ｉ」、「ｉ＋１」、「ｉ＋２」及び「ｉ＋３」とを受信したものとする。また、ここでは、ログメッセージ検証部２２２の検証対象が暗号化ログメッセージ「ｉ」である場合を例に挙げて説明する。
【００６２】
ログメッセージ検証部２２２は、受信部２２１によって受信された暗号化ログメッセージ「ｉ」を検証する場合に、非対称鍵暗号用の秘密鍵を用いて暗号化ログメッセージ「ｉ」を復号化することで、平文のログメッセージ「ｉ」を生成する（ステップＳ２１）。続いて、ログメッセージ検証部２２２は、平文のログメッセージ「ｉ」とハッシュ値「ｉ−１」とを連結し（ステップＳ２２）、連結した文字列のハッシュ値を算出する（ステップＳ２３）。なお、ログ記憶部２１１には受信部２２１によって過去に受信されたハッシュ値が記憶されているので、ログメッセージ検証部２２２は、ログ記憶部２１１からハッシュ値「ｉ−１」を取得する。
【００６３】
続いて、ログメッセージ検証部２２２は、ステップＳ２３において算出したハッシュ値と、受信部２２１によって受信されたハッシュ値「ｉ」とを比較する（ステップＳ２４）。そして、ログメッセージ検証部２２２は、比較結果である検証結果と、ステップＳ２１において生成した平文のログメッセージ「ｉ」とを対応付けて検証結果記憶部２１２に格納する。
【００６４】
なお、図６では図示することを省略したが、ログメッセージ検証部２２２は、暗号化ログメッセージ「ｉ＋１」、「ｉ＋２」及び「ｉ＋３」についても同様の検証処理を行い、検証結果と平文のログメッセージ「ｉ＋１」、「ｉ＋２」及び「ｉ＋３」とを対応付けて検証結果記憶部２１２に格納する。
【００６５】
図５の説明に戻って、タイムスタンプ検証部２２３は、受信部２２１によって暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン及びデジタル署名が受信された場合に、タイムスタンプトークン及びデジタル署名を用いて、ログメッセージの存在時刻及び作成時刻を検証したり、タイムスタンプトークンが示す時刻から現在時刻までの間にログメッセージが改竄されたか否かを検証する。
【００６６】
具体的には、タイムスタンプ検証部２２３は、まず、受信部２２１によって受信されたデジタル署名を用いて、受信部２２１によって受信されたタイムスタンプトークンがＴＳＡ２０によって生成されたか否かを検証する。例えば、ＴＳＡ２０が、タイムスタンプトークンのハッシュ値をＴＳＡ２０の秘密鍵により暗号化することでデジタル署名を生成した場合には、タイムスタンプ検証部２２３は、ＴＳＡ２０の公開鍵を用いてデジタル署名を復号化する。さらに、タイムスタンプ検証部２２３は、受信部２２１によって受信されたタイムスタンプトークンのハッシュ値を算出する。そして、タイムスタンプ検証部２２３は、双方のハッシュ値が同一である場合には、受信部２２１によって受信されたタイムスタンプトークンがＴＳＡ２０によって生成されたと判定し、双方のハッシュ値が同一でない場合には、かかるタイムスタンプトークンがＴＳＡ２０によって生成されておらず、ＴＳＡ２０になりすました他の者によって生成されたと判定する。
【００６７】
続いて、タイムスタンプ検証部２２３は、タイムスタンプトークンから時刻情報を取り除くことで、ハッシュ値を取り出す。そして、タイムスタンプ検証部２２３は、受信部２２１によって受信された複数のハッシュ値のうち、タイムスタンプトークンに対応するハッシュ値（特定データ算出部１２３によって最後に算出されたハッシュ値）と、タイムスタンプトークンから取り出したハッシュ値とを比較する。そして、タイムスタンプ検証部２２３は、双方のハッシュ値が同一である場合には検証成功と判定し、双方のハッシュ値が同一でない場合には検証失敗と判定する。
【００６８】
具体的には、タイムスタンプ検証部２２３は、検証成功である場合には、タイムスタンプトークンに含まれる時刻情報が示す時刻に、受信部２２１によって受信された複数の暗号化ログメッセージが存在していたと判定するとともに、かかる時刻情報が示す時刻から現在時刻までの間にかかる複数の暗号化ログメッセージが改竄されていないと判定する。また、タイムスタンプ検証部２２３は、例えば、図４に例示したタイムスタンプトークン「ｉ−１」及びタイムスタンプトークン「ｉ＋３」について検証成功である場合には、双方のタイムスタンプトークンが示す時刻の間に、ログメッセージ「ｉ」〜「ｉ＋３」が作成されたと判定する。
【００６９】
また、タイムスタンプ検証部２２３は、検証失敗である場合には、タイムスタンプトークンに含まれる時刻情報が示す時刻にかかる複数の暗号化ログメッセージが存在していたとは限らないと判定するとともに、かかる時刻情報が示す時刻から現在時刻までの間にかかる複数の暗号化ログメッセージが改竄された可能性があると判定する。
【００７０】
そして、タイムスタンプ検証部２２３は、このような検証結果を検証結果記憶部２１２に格納する。これにより、監査者は、検証結果記憶部２１２を参照することで、ログメッセージの存在時刻及び作成時刻を確認することができるとともに、かかるログメッセージの改竄有無を確認することができる。
【００７１】
［ログ管理装置による処理手順］
次に、図７及び図８を用いて、実施例１に係るログ管理装置１００による処理の手順について説明する。図７及び図８は、実施例１に係るログ管理装置１００による処理手順を示すフローチャートである。なお、図７では、ログ管理装置１００によるログメッセージの受信処理手順を説明し、図８では、ログ管理装置１００によるログメッセージの送信処理手順を説明する。
【００７２】
図７に示すように、ログ管理装置１００は、ログ出力システム１０−１〜１０−ｎから平文であるログメッセージを取得したか否かを判定する（ステップＳ１０１）。ここで、ログ管理装置１００は、ログメッセージを取得していない場合には（ステップＳ１０１否定）、ログメッセージを取得するまで待機する。
【００７３】
一方、ログ管理装置１００は、ログ出力システム１０−１〜１０−ｎからログメッセージを取得した場合には（ステップＳ１０１肯定）、監査者端末２００によって公開されている非対称鍵暗号用の公開鍵を用いて、平文のログメッセージを暗号化する（ステップＳ１０２）。これにより、ログ管理装置１００は、暗号化ログメッセージを生成する。
【００７４】
また、ログ管理装置１００は、ログ出力システム１０−１〜１０−ｎから取得したログメッセージと、かかるログメッセージよりも前に取得した過去のログメッセージから生成したハッシュ値とを連結する（ステップＳ１０３）。そして、ログ管理装置１００は、連結した文字列のハッシュ値を算出する（ステップＳ１０４）。なお、ログ管理装置１００は、ステップＳ１０２における処理手順と、ステップＳ１０３及びＳ１０４における処理手順とを並行して行ってもよい。
【００７５】
そして、ログ管理装置１００は、ステップＳ１０２〜Ｓ１０４における処理手順が終了した後に、ログ出力システム１０−１〜１０−ｎから取得した平文のログメッセージを削除する（ステップＳ１０５）。
【００７６】
このようにして、ログ管理装置１００は、ログ出力システム１０−１〜１０−ｎからログメッセージを取得するたびに（ステップＳ１０１肯定）、ステップＳ１０２〜Ｓ１０５における処理手順を行う。
【００７７】
続いて、図８に示すように、ログ管理装置１００は、所定時間が経過したか、又は、ログ出力システム１０−１〜１０−ｎから所定数のログメッセージを取得したか否かを判定する（ステップＳ２０１）。ここで、ログ管理装置１００は、双方の条件を満たさない場合には（ステップＳ２０１否定）、いずれかの条件を満たすまで待機する。
【００７８】
一方、ログ管理装置１００は、所定時間が経過したか、又は、ログ出力システム１０−１〜１０−ｎから所定数のログメッセージを取得した場合には（ステップＳ２０１肯定）、図７に示したステップＳ１０４において算出したハッシュ値のうち、最後（現在時刻に最も近い時刻）に算出したハッシュ値をＴＳＡ２０に送信する（ステップＳ２０２）。これにより、ログ管理装置１００は、かかるハッシュ値に対応するタイムスタンプトークンをＴＳＡ２０から取得する（ステップＳ２０３）。なお、図８では省略したが、ログ管理装置１００は、タイムスタンプトークンのデジタル署名についてもＴＳＡ２０から取得する。
【００７９】
そして、ログ管理装置１００は、監査者端末２００に送信していない暗号化ログメッセージ及びハッシュ値をログ記憶部２１１から取得し、取得した暗号化ログメッセージ及びハッシュ値と、ＴＳＡ２０から取得したタイムスタンプトークン及びデジタル署名を監査者端末２００に送信する（ステップＳ２０４）。
【００８０】
［監査者端末による処理手順］
次に、図９を用いて、実施例１に係る監査者端末２００による処理の手順について説明する。図９は、実施例１に係る監査者端末２００による処理手順を示すフローチャートである。
【００８１】
図９に示すように、監査者端末２００は、ログ管理装置１００から、暗号化ログメッセージ、ハッシュ値、タイムスタンプトークン等の各種データを受信したか否かを判定する（ステップＳ３０１）。ここで、監査者端末２００は、ログ管理装置１００から各種データを受信していない場合には（ステップＳ３０１否定）、各種データを受信するまで待機する。
【００８２】
一方、監査者端末２００は、ログ管理装置１００から暗号化ログメッセージ等を受信した場合には（ステップＳ３０１肯定）、受信した暗号化ログメッセージを検証する（ステップＳ３０２）。かかる検証処理は、図６を用いて説明した処理手順と同様である。
【００８３】
また、監査者端末２００は、ログ管理装置１００からタイムスタンプトークン及びデジタル署名を受信した場合に（ステップＳ３０１肯定）、かかるデジタル署名を用いて、タイムスタンプトークンがＴＳＡ２０によって生成されたか否かを検証する（ステップＳ３０３）。
【００８４】
そして、監査者端末２００は、ログ管理装置１００から受信したハッシュ値のうちタイムスタンプトークンに対応するハッシュ値と、タイムスタンプトークンに含まれるハッシュ値とを比較する（ステップＳ３０４）。これにより、監査者端末２００は、タイムスタンプトークンに含まれる時刻情報が、タイムスタンプトークンに含まれるハッシュ値に対応する各ログメッセージの存在時刻や作成時刻を示すか否かを判定する。
【００８５】
［実施例１の効果］
上述してきたように、実施例１に係るログ管理装置１００は、ログ出力システム１０−１〜１０−ｎにおいて出力されるログメッセージを取得する取得部１２１と、取得部１２１によって新たなログメッセージが取得された場合に、かかる新たなログメッセージよりも過去に取得されたログメッセージを特定するためのハッシュ値とかかる新たなログメッセージとを結合した情報のハッシュ値を算出する特定データ算出部１２３と、所定のタイミングになった場合に、特定データ算出部１２３によって直近に算出されたハッシュ値をタイムスタンプ局に送信することで、かかるハッシュ値によって特定されるログメッセージ群が存在した時刻を示す時刻情報を付与するタイムスタンプ付与部１２４とを有する。
【００８６】
すなわち、実施例１に係るログ管理装置１００は、新たなログメッセージを取得するたびに、過去のログメッセージも用いて順次ハッシュ値を算出し、特定のハッシュ値についてのみＴＳＡ２０に送信することで、タイムスタンプトークンを取得する。したがって、実施例１に係るログ管理装置１００は、ログメッセージを取得するたびにＴＳＡ２０にタイムスタンプトークンを生成させることはないので、ＴＳＡ２０によるタイムスタンプトークン生成処理等の負荷が増大することを防止できる。
【００８７】
また、実施例１に係るログ管理装置１００は、取得部１２１によって新たなログメッセージが取得された場合に、ログ出力システム１０−１〜１０−ｎにおいて出力されるログメッセージを検証する監査者端末２００が保持する非対称鍵暗号方式の公開鍵を用いて、かかる新たなログメッセージを暗号化する暗号化部１２２と、タイムスタンプ付与部１２４によってハッシュ値に時刻情報が付与された場合に、かかるハッシュ値と暗号化部１２２によって暗号化された暗号化ログメッセージとを監査者端末２００に送信する送信部１２５とを有する。
【００８８】
これにより、実施例１に係るログ管理装置１００は、ログ出力システム１０−１〜１０−ｎにおいて出力されるログメッセージを、監査者端末２００のみによって復号化することができる暗号化ログメッセージとして管理することができる。
【００８９】
また、実子例１に係るログ管理装置１００は、特定データ算出部１２３によって新たなログメッセージを用いてハッシュ値を算出され、かつ、暗号化部１２２によって新たなログメッセージが暗号化された後に、かかる新たなログメッセージを削除する。
【００９０】
すなわち、実施例１に係るログ管理装置１００は、平文のログメッセージを保持せずに、監査者端末２００が保持する秘密鍵のみで復号化可能な暗号化ログメッセージを保持する。このため、ログ管理装置１００は、ログメッセージが改竄されることを防止でき、この結果、改竄された平文のログメッセージから暗号化ログメッセージやハッシュ値を再生成されることを防止できる。
【実施例２】
【００９１】
ところで、本発明に係るログ管理装置、ログ管理方法及びログ管理プログラムは、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例２では、本発明に係るログ管理装置、ログ管理方法及びログ管理プログラムの他の実施例について説明する。
【００９２】
［処理主体］
上記実施例１では、ログ管理装置１００が、ログ出力システム１０−１〜１０−ｎからログメッセージを収集し、収集したログメッセージに対して暗号化処理やタイムスタンプ付与処理等を行う例を示した。しかし、この例に限られず、ログ出力システム１０−１〜１０−ｎがログ管理装置１００と同様の機能を有してもよい。すなわち、上記実施例１では、ログ管理装置１００とログ出力システム１０−１〜１０−ｎとを分離した実施形態を示したが、ログ管理装置１００とログ出力システム１０−１等とが統合されてもよい。なお、ログ管理装置１００とログ出力システム１０−１等とが統合される場合には、ログ出力システム１０−１等は、ログ管理装置１００が有する取得部１２１を有しなくてもよい。
【００９３】
［タイムスタンプトークンの生成契機］
また、上記実施例１では、タイムスタンプ付与部１２４が、所定時間が経過した場合や、取得部１２１によって所定数の新たなログメッセージが取得された場合に、特定データ算出部１２３によって最後に算出されたハッシュ値をＴＳＡ２０に送信する例を示した。しかし、この例に限られず、タイムスタンプ付与部１２４は、取得部１２１によって新たに取得されたログメッセージの総サイズが所定値以上になった場合に、特定データ算出部１２３によって最後に算出されたハッシュ値をＴＳＡ２０に送信してもよい。
【００９４】
［システム構成］
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、上記実施例１では、暗号化部１２２又は特定データ算出部１２３が、暗号化処理及びハッシュ値算出処理が終了した後に平文のログメッセージを削除する例を示した。ここで、暗号化部１２２又は特定データ算出部１２３が平文のログメッセージを削除するのではなく、ログ管理装置１００が、平文のログメッセージを削除する削除部を有してもよい。
【００９６】
［プログラム］
また、上記実施例において説明したログ管理装置１００が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施例１に係るログ管理装置１００が実行する処理をコンピュータが実行可能な言語で記述したログ管理プログラムを作成することもできる。この場合、コンピュータがログ管理プログラムを実行することにより、上記実施例１と同様の効果を得ることができる。さらに、かかるログ管理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたログ管理プログラムをコンピュータに読み込ませて実行することにより上記実施例１と同様の処理を実現してもよい。以下に、図２に示したログ管理装置１００と同様の機能を実現するログ管理プログラムを実行するコンピュータの一例を説明する。
【００９７】
図１０は、ログ管理プログラムを実行するコンピュータ１０００を示す図である。図１０に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００９８】
メモリ１０１０は、図１０に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図１０に例示するように、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、図１０に例示するように、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース１０５０は、図１０に例示するように、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、図１０に例示するように、例えばディスプレイ１０６１に接続される。
【００９９】
ここで、図１０に例示するように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記のログ管理プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。例えば、図２に例示した取得部１２１と同様の情報処理を実行する取得手順と、暗号化部１２２と同様の情報処理を実行する暗号化手順と、特定データ算出部１２３と同様の情報処理を実行する特定データ算出手順と、タイムスタンプ付与部１２４と同様の情報処理を実行するタイムスタンプ付与手順と、送信部１２５と同様の情報処理を実行する送信手順とが記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【０１００】
また、上記実施例で説明したログ管理装置１００が保持する各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、取得手順、暗号化手順、特定データ算出手順、タイムスタンプ付与手順、送信手順を実行する。
【０１０１】
なお、ログ管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ログ管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１０２】
１  ログ管理システム
２０  ＴＳＡ
１００  ログ管理装置
１１０  記憶部
１１１  鍵記憶部
１１２  ログ記憶部
１２０  制御部
１２１  取得部
１２２  暗号化部
１２３  特定データ算出部
１２４  タイムスタンプ付与部
１２５  送信部
２００  監査者端末
２１０  記憶部
２１１  ログ記憶部
２１２  検証結果記憶部
２２０  制御部
２２１  受信部
２２２  ログメッセージ検証部
２２３  タイムスタンプ検証部
【図１】
2013003968.tif 000003
【図２】
2013003968.tif 000004
【図３】
2013003968.tif 000005
【図４】
2013003968.tif 000006
【図５】
2013003968.tif 000007
【図６】
2013003968.tif 000008
【図７】
2013003968.tif 000009
【図８】
2013003968.tif 000010
【図９】
2013003968.tif 000011
【図１０】
2013003968.tif 000012