(57)【要約】【課題】順次生成された情報全体を改竄したような場合であっても、その改竄をより効果的に検知できるようにした情報処理システムおよび情報処理プログラムを提供する。【解決手段】情報処理システムの認証子生成手段は順次生成された情報から認証子を生成し、証明情報要求手段は前記認証子生成手段により生成された認証子の一部に対して第三者機関による認証子の証明情報を要求する。【選択図】図１
2008060745.tif 000002
【特許請求の範囲】
【請求項１】
順次生成された情報から認証子を生成する認証子生成手段と、
前記認証子生成手段により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求手段
を具備することを特徴とする情報処理システム。
【請求項２】
前記認証子の一部に対する証明情報を受信する証明情報受信手段と、
前記証明情報受信手段により受信された前記証明情報を、前記認証子の一部と対応付けて記憶する証明情報記憶手段
を更に具備することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報である
ことを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
順次生成された情報から認証子を生成する認証子生成手段と、
前記情報および前記認証子生成手段により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求手段
を具備することを特徴とする情報処理システム。
【請求項５】
順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶する証明情報記憶手段と、
前記証明情報記憶手段により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証手段
を具備することを特徴とする情報処理システム。
【請求項６】
コンピュータに、
順次生成された情報から認証子を生成する認証子生成機能と、
前記認証子生成機能により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求機能
を実現させることを特徴とする情報処理プログラム。
【請求項７】
コンピュータに、
前記認証子の一部に対する証明情報を受信する証明情報受信機能と、
前記証明情報受信機能により受信された前記証明情報を、前記認証子の一部と対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能
を更に実現させることを特徴とする請求項６に記載の情報処理プログラム。
【請求項８】
前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報である
ことを特徴とする請求項６または７に記載の情報処理プログラム。
【請求項９】
コンピュータに、
順次生成された情報から認証子を生成する認証子生成機能と、
前記情報および前記認証子生成機能により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求機能
を実現させることを特徴とする情報処理プログラム。
【請求項１０】
コンピュータに、
順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能と、
前記証明情報記憶制御機能により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証機能
を実現させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムおよび情報処理プログラムに関する。
【背景技術】
【０００２】
計算機が社会に浸透するにあたって、そのセキュリティの観点から、計算機の利用履歴（ログ）の改竄を防止および検知するための技術、特に改竄されているかどうかを検証するための認証子（改竄検知コード、メッセージダイジェスト、検証値、ハッシュなどと呼ばれることもある）に関する技術が注目されている。
履歴の改竄を防止または検知するための技術として次のようなものがある。
（１）物理的に書き換え不能にするもの。
（２）外部からアクセス不能にするもの。
（３）履歴自体を暗号化するもの。
（４）複数の記録から照合するもの。
（５）ログに改竄検知コードや署名を付与するもの。
【０００３】
物理的に書き換え不能にするものとして、改竄不能または改竄の記録が残る記録媒体を使うものがある。
例えば履歴をＣＤ−Ｒなど書き換え不能な記録媒体（あるいは変更／削除したデータがそのまま残る追記型記録媒体）に記録するものとして、特許文献１や特許文献２などがある。
【０００４】
また、例えば履歴を外部からアクセス不能にすることで、外部からの改竄を防止するものとしては、装置的なものが多く、特許文献３、特許文献４、特許文献５、特許文献６などがあり、一般的には装置の外部から内部の履歴を改竄することは困難である。
他に、リアルタイムにログをリモートロケーションに順次送信してしまうことで改竄を防止するもの（特許文献７）などもある。
履歴自体を暗号化するものは、情報漏えいを防止すると同時に、鍵を持たず復号や再暗号化ができない者には改竄できない。特許文献８や特許文献９などである。
【０００５】
複数の記録から照合するものは、複数の履歴を保存しこれらの記録内容を相互に照合することで改竄を検知する。同一内容を複数に記録したり、重要な一部だけを別に記録したり、別々の関連する履歴を照合したり、履歴以外の情報（例えばパケット）を収集して照合するものなどがある。同一の内容を記録する場合は、改竄を検知するだけでなく、改竄されていない方の履歴から改竄された履歴を復元することもできる。特許文献１０、特許文献１１、特許文献１２、特許文献１３、特許文献１４などである。
【０００６】
ログに改竄検知コードや署名を付与するものとしては、通信時にログやデータに署名するものや、履歴に改竄されているかどうかを検証するための認証子を付加して記録するものなどがある。通信時に署名するものとしては特許文献１５や特許文献１６などがある。また、認証子を使うものとしては、特許文献１７、特許文献１８、特許文献１９などがある。
【０００７】
書き換え不能な記録媒体によって改竄を物理的に防止する方法として、ＣＤ−Ｒのような書き換え不能な記録媒体に記録する方法がある。ＣＤ−Ｒのような書き換え不能な記録媒体への記録は、ハードディスクなどと違い時間がかかる場合が多い。そこでまずハードディスクのような記録装置に記録した後で書き換え不能な記録媒体に書き写す方法などが行われる。
【０００８】
管理者でも改竄できないとする履歴管理方法として、前述の特許文献１９がある。これは、履歴に認証子を付加して記録するもので、認証子により改竄されているかどうかを検知することができる。
特に、記録する履歴の認証子を、記録する履歴情報とその直前に記録された履歴の認証子とから算出した値に署名を施すことによって得るため、単に行ごとの履歴改竄だけでなく、履歴間の時系列的な関係の改竄まで検知可能である。このように直前の履歴（の認証子など）を使って認証子を算出する方法はよく使われており、前述の特許文献１７の他、特許文献２０なども同様である。
【０００９】
履歴の改竄検知は基本的に、前述したように認証子によって行われるが、改竄検知の可能性は認証子の連続性によって支えられている。
履歴情報の内容の改竄に対しては、認証子がもつそのハッシュ値だけで改竄を検知することができる。一方、履歴を削除するような改竄に対しては、認証子がもつハッシュ値だけでは検知できない。これに対しては、時系列的に並ぶ前後の認証子間の関係によって、たとえ履歴の一部を削除した場合であっても、その認証子の関係が崩れることにより、改竄を検知することができるのである。
【００１０】
この方法だけでは、完全に改竄を検知するためには、記録された認証子を順次さかのぼり、最初の履歴まで辿る必要がある。
【００１１】
特許文献２１では、通信の当事者が相手のログに対して署名するようにしている。
【特許文献１】特開２０００−３２２６４７号公報
【特許文献２】特開２０００−０９９４０１号公報
【特許文献３】特開２０００−０３５９９１号公報
【特許文献４】特開２００１−０４３１９３号公報
【特許文献５】特開２００１−０４３２６９号公報
【特許文献６】特開２００５−３０１９８０号公報
【特許文献７】特開２００３−０９９２９５号公報
【特許文献８】特開２００２−２９７５４０号公報
【特許文献９】特開２００５−１９７８１０号公報
【特許文献１０】特開２０００−１６３３７４号公報
【特許文献１１】特開２０００−２８５０７６号公報
【特許文献１２】特開２００１−１４２７６４号公報
【特許文献１３】特開２００２−３４４４３９号公報
【特許文献１４】特開２００４−２０６５６４号公報
【特許文献１５】特開２００１―２２２２１９号公報
【特許文献１６】特開２００２−００７２８８号公報
【特許文献１７】特開平１０−１２３９５０号公報
【特許文献１８】特開２００１−３３７６００号公報
【特許文献１９】特開２００２−０８２８３４号公報
【特許文献２０】特開２００５−１２２４８３号公報
【特許文献２１】特開２００１―２２２２１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようにした情報処理システムおよび情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１３】
請求項１の発明は、順次生成された情報から認証子を生成する認証子生成手段と、前記認証子生成手段により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求手段を具備することを特徴とする。
【００１４】
請求項２の発明は、請求項１の発明において、前記認証子の一部に対する証明情報を受信する証明情報受信手段と、前記証明情報受信手段により受信された前記証明情報を、前記認証子の一部と対応付けて記憶する証明情報記憶手段を更に具備することを特徴とする。
【００１５】
請求項３の発明は、請求項１または請求項２の発明において、前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報であることを特徴とする。
【００１６】
請求項４の発明は、順次生成された情報から認証子を生成する認証子生成手段と、前記情報および前記認証子生成手段により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求手段を具備することを特徴とする。
【００１７】
請求項５の発明は、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶する証明情報記憶手段と、前記証明情報記憶手段により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証手段を具備することを特徴とする。
【００１８】
請求項６の発明は、コンピュータに、順次生成された情報から認証子を生成する認証子生成機能と、前記認証子生成機能により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求機能を実現させることを特徴とする。
【００１９】
請求項７の発明は、請求項６の発明において、コンピュータに、前記認証子の一部に対する証明情報を受信する証明情報受信機能と、前記証明情報受信機能により受信された前記証明情報を、前記認証子の一部と対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能を更に実現させることを特徴とする。
【００２０】
請求項８の発明は、請求項６または請求項７の発明において、前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報であることを特徴とする。
【００２１】
請求項９の発明は、コンピュータに、順次生成された情報から認証子を生成する認証子生成機能と、前記情報および前記認証子生成機能により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求機能を実現させることを特徴とする。
【００２２】
請求項１０の発明は、コンピュータに、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能と、前記証明情報記憶制御機能により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証機能を実現させることを特徴とする。
【発明の効果】
【００２３】
請求項１に記載の情報処理システムによれば、本構成を有していない場合に比較して、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようになる。
【００２４】
請求項２に記載の情報処理システムによれば、本構成を有していない場合に比較して、自己が記憶している情報に基づいて改竄を検知することができ、改竄をより効率的に検知できるようになる。
【００２５】
請求項３に記載の情報処理システムによれば、本構成を有していない場合に比較して、改竄の検知の信頼性を向上できるようになる。
【００２６】
請求項４に記載の情報処理システムによれば、本構成を有していない場合に比較して、順次生成された情報が記録媒体に記憶された場合であっても、その改竄をより効率的に検知できるようになる。
【００２７】
請求項５に記載の情報処理システムによれば、本構成を有していない場合に比較して、以前の認証子に対応付けられた証明情報までを検証することで済み、効率的な検証ができるようになる。
【００２８】
請求項６に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようになる。
【００２９】
請求項７に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、自己が記憶している情報に基づいて改竄を検知することができ、改竄をより効率的に検知できるようになる。
【００３０】
請求項８に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、改竄の検知の信頼性を向上できるようになる。
【００３１】
請求項９に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、順次生成された情報が記録媒体に記憶された場合であっても、その改竄をより効率的に検知できるようになる。
【００３２】
請求項１０に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、以前の認証子に対応付けられた証明情報までを検証することで済み、効率的な検証ができるようになる。
【発明を実施するための最良の形態】
【００３３】
まず、本実施の形態の理解を助けるために、その概略を説明する。
本実施の形態は、次のいずれか１つ以上の目的を有している。
（１）認証子により履歴の真正性を保証する履歴管理を行う情報処理システム、情報処理プログラム、情報処理装置または情報処理方法において、行単位の改竄だけでなく、履歴全体の改竄に対しても有効で、管理者などシステム内部の者またはそれらの共謀による改竄を防ぐことを目的とする。
（２）また、履歴管理が処理的にも経済的にも低コストであることを目的とする。
（３）また、改竄検知処理が効率的であることを目的とする。
（４）また、長期保管を目的としてログを複数の交換可能な記録媒体に転記する場合でも、転記時の改竄を防ぎ、検証も容易であることを目的とする。
（５）また、従来の認証子による履歴管理方法と組み合わせることが可能でより堅牢なセキュリティを提供することを目的とする。
【００３４】
前述の目的のいずれかを達成するために、本実施の形態は、次のように作用する。
履歴情報を履歴の改竄を検知するための認証子とともに記録する履歴管理に関するものであって、記録する一部の履歴に対し、該履歴の認証子に基づいてタイムスタンプを付与する。
さらに、少なくとも記録する最初の履歴に対して、その認証子によるタイムスタンプを付与するようにしてもよい。
さらに、システムの起動時に履歴を記録し、その履歴に対して認証子によるタイムスタンプを付与するようにしてもよい。
同様にシステムの停止直前にも履歴を記録し、その履歴に対して認証子によるタイムスタンプを付与するようにしてもよい。
一定件数の履歴を記録したり一定時間の経過ごとに、その直後の履歴にタイムスタンプを付与するようにしてもよい。その場合、タイムスタンプを付与する方法および間隔は、予め設定しておいてもよいし、管理者によって設定できるようにしてもよい。
【００３５】
また、前述のような履歴管理によって記録された履歴に対する検証は、次のように行う。
履歴が改竄されているかどうかを、その履歴の認証子と、その直前の認証子とから検証する。このとき直前の認証子が正当であることを仮定している。したがって、より確実に検証を行うには、直前の認証子が正当であるかどうかを検証する必要がある。直前の認証子を検証するには、直前の履歴とそのまた直前の認証子とから検証しなければならず、ここでもそのまた直前の認証子の正当性を仮定している。このように順次さかのぼって認証子の正当性を検証する。ただし、タイムスタンプが付加された履歴までさかのぼったときは、履歴とその直前の認証子とからではなく、タイムスタンプによって認証子の正当性を検証する。
【００３６】
その他として、次のようにもできる。
履歴は履歴記憶部に記録するとともに、タイムスタンプトークンは履歴の認証子と関連づけてタイムスタンプ保管部に保管する。なお、タイムスタンプトークンとは、信頼のおける時刻と文書などの情報に対し、変更、改竄があったかどうかを検知できる情報、もしくはそれを指し示す情報のことをいう。たとえば、文書などの情報のハッシュデータに時刻情報等を付与して発行する。
履歴を記録媒体に保存する場合、保存対象である一連の履歴のうち、少なくとも最初と最後の履歴の認証子にはタイムスタンプが付与されており、履歴とともにタイムスタンプを記録媒体に保存する。
【００３７】
以下、図面に基づき好適な実施の形態を説明する。
図１は、一実施の形態の概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、プログラム、システムおよび方法の説明をも兼ねている。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散または並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続を含む。
また、システムとは、複数のコンピュータ、ハードウェア、装置等がネットワーク等で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
以下、順次生成された情報として、計算機に対する操作等のログ（履歴）を主に例示して説明する。また、前記第三者機関による認証子の証明情報として、タイムスタンプを主に例示して説明する。
【００３８】
本実施の形態では、図１に示すように、情報処理システム１０と第三者機関２０とが通信ネットワーク３０を介して接続されている。
情報処理システム１０は、認証子生成モジュール１１、証明情報要求モジュール１２、証明情報受信モジュール１３、証明情報記憶モジュール１４、検証モジュール１５を有している。
認証子生成モジュール１１は、順次生成された情報から認証子を生成する。
証明情報要求モジュール１２は、通信ネットワーク３０と接続しており、認証子生成モジュール１１により生成された認証子の一部に対して第三者機関２０による認証子の証明情報を要求する。そして、第三者機関２０による認証子の証明情報は、前記要求の時期に関する証明情報である。また、前記情報および認証子生成モジュール１１により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求することもできる。
【００３９】
証明情報受信モジュール１３は、通信ネットワーク３０と接続しており、第三者機関２０による認証子の一部に対する証明情報を受信する。この受信する証明情報は、証明情報要求モジュール１２による要求に対するものである。
証明情報記憶モジュール１４は、証明情報受信モジュール１３により受信された証明情報を、前記認証子の一部と対応付けて記憶する。また、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関２０による証明情報を対応付けて記憶することもできる。
検証モジュール１５は、証明情報記憶モジュール１４により記憶されている認証子を検証する場合に、該認証子以前の認証子に対応付けられた証明情報を検証する。なお、検証モジュール１５は、認証子生成モジュール１１等のモジュールを有している情報処理システム１０とは異なる情報処理システムに具備されていてもよい。
【００４０】
より具体的に、図２を用いて、履歴管理モジュール２００内のモジュール構成例を説明する。
履歴管理モジュール２００は、図１の認証子生成モジュール１１から検証モジュール１５に対応する。履歴管理モジュール２００は、履歴記憶モジュール２１０、認証子生成モジュール２２０、検証モジュール２３０、タイムスタンプ取得処理モジュール２４０、タイムスタンプ保管モジュール２５０、設定格納モジュール２６０を有している。
履歴記憶モジュール２１０は、少なくとも日時情報を含む履歴情報（属性情報など）と前記履歴情報の改竄を検知するための認証子とを履歴として順次記録する。また、タイムスタンプ取得処理モジュール２４０がタイムスタンプを付加すると判定した場合には、タイムスタンプトークンを取得してから履歴を記録する。
【００４１】
認証子生成モジュール２２０は、前記認証子を履歴情報と直前の履歴の認証子の値とから算出する。
また、認証子生成モジュール２２０は、履歴情報のハッシュ値（要約関数による値）と直前の履歴の認証子の値とから計算した値に対して秘密鍵による暗号化（電子署名）を施すことにより認証子を算出することもできる。
また、認証子生成モジュール２２０は、前記秘密鍵と直前の履歴の認証子の値とを、外部からアクセス不能な状態で内部に保持し、内部に保持した該秘密鍵と該直前の履歴の認証子とを使用して認証子を算出するとともに、算出した認証子でもって内部に保持する認証子を更新することもできる。
また、認証子生成モジュール２２０は、具体的には耐タンパー性をもったＩＣカード、ＵＳＢ機器、装置、またはトークン等によって実現される。
【００４２】
検証モジュール２３０は、さらに、第１の検証モジュールと第２の検証モジュールを有しており、その２つのモジュールを用いて検証する。第１の検証モジュールは、履歴が改竄されているかどうかを、履歴の認証子と履歴情報のハッシュ値と直前の履歴の認証子の値とから検証する。第２の検証モジュールは、該履歴から直前のタイムスタンプが付加された履歴までの各履歴をそれぞれ第１の検証モジュールで検証するとともに、直前のタイムスタンプが付加された履歴をその履歴の認証子の値と履歴情報に含まれる日時情報とのタイムスタンプで検証する。
【００４３】
タイムスタンプ取得処理モジュール２４０は、順次記録する履歴の各々に対しタイムスタンプを付加するかどうかを記録時に判定し、付加すると判定した場合には、履歴の認証子の値に基づいてタイムスタンプトークンを取得する。
また、タイムスタンプ取得処理モジュール２４０は、設定格納部に格納された設定情報に基づいて特定したタイムスタンプを付加する間隔によって、順次記録する履歴に対しタイムスタンプを付加するかどうかを判定する。
【００４４】
タイムスタンプ保管モジュール２５０は、取得した前記タイムスタンプトークンを付加対象の履歴と対応づけて保管する。
また、タイムスタンプ保管モジュール２５０は、認証子によって履歴とタイムスタンプトークンとを対応付けて保管することもできる。
また、タイムスタンプ保管モジュール２５０は、履歴ＩＤによって履歴とタイムスタンプトークンとを対応付けて保管することもできる。
【００４５】
設定格納モジュール２６０は、前述の履歴記憶モジュール２１０等の各モジュールにおける処理に必要な設定を格納しており、各モジュールが処理に必要となった際に参照される。また、この設定は、履歴管理モジュール２００の管理者によって行われる場合のほか、履歴記憶モジュール２１０等のモジュールが他のモジュールの設定を格納する場合もある。
【００４６】
図３を用いて、ログ出力の例を説明する。この例では、ログは図３に示すようにテーブル形式（ＣＳＶ形式を含む）で記録する。操作の履歴は１行に対応しており、履歴情報（日時欄３０１等）、改竄を検知するための認証子（認証子欄３０６）、およびタイムスタンプ付加情報（タイムスタンプ付加情報欄３０７）とを履歴として記録する。履歴情報は、日時（日時欄３０１）、操作したユーザ名（ユーザ欄３０２）、操作の名前（操作欄３０３）、操作対象（操作対象欄３０４）、操作対象の場所（場所欄３０５）からなる。履歴に付加したタイムスタンプは、タイムスタンプトークンがログとは別に保管され、認証子によって関連づけされる。
【００４７】
タイムスタンプ付加情報欄３０７に記録されるタイムスタンプ付加情報（図３では「ＴＳ」）は、タイムスタンプが付加されているかどうかを示し、簡便のためにログに記録される。あくまでも簡便のためであって、タイムスタンプ付加情報自体は、改竄防止／検知の目的としては必ずしも必要でない。この例では、タイムスタンプが付加された履歴であれば「ＴＳ」を記録し、付加されていなければ何も記録しない。また、例にあげたログ出力内容の構成、履歴情報に含まれる内容、認証子の値（データ長など）、タイムスタンプ付加情報の形態は、説明のために簡略化したものであって、実際の内容はこの限りではない。
【００４８】
本実施の形態では、特に認証子の算出方法については限定しない。認証子の算出方法については、従来技術のいずれかの方法で算出すればよい。ここでは簡単に、一般的な認証子の算出方法の例を図４に示し説明する。図４は、算出すべき認証子に対応するログ（２行目、履歴情報４０１のある行）とその直前のログ等（１行目）を示している。
【００４９】
認証子を求める手順は概ね次のとおりである。
（１）履歴情報４０１（日時欄３０１から場所欄３０５に記録されている情報）のハッシュ値を求める。
（２）求めたハッシュ値に、直前の履歴の認証子４０２を加えて、（暗号化されていない）認証子の元を算出する。
（３）認証子の元に対して秘密鍵による暗号化を施して、認証子４０３を得る。一般的には、電子署名とも呼ばれる。
この手順を式で示すと、次のようになる。
認証子の値  ＝  秘密鍵による暗号化（  履歴情報のハッシュ値  ＋  直前の認証子の値  ）
【００５０】
この算出方法は例であって、基本的な流れを変えずに、変形することができる。
履歴情報のハッシュ値を求める方法としては、履歴情報をパラメタとしてどのように使用するのか、あるいはハッシュ関数（要約関数）に何を使用するかなどがある。ただし、履歴情報のハッシュ値を求める方法は、必要に応じて公開することができ、第三者が同様に同じ値を計算できなければならない。また、履歴情報のハッシュ値と直前の認証子とから暗号化されていない認証子の元を算出する方法も、加算だけでなく、たとえばＸＯＲなどのビット演算や、「３１の（直前の認証子）乗  ＋  履歴情報のハッシュ値」など様々ある。この演算も同様に、必要に応じて第三者に公開されなければならない。
最後に秘密鍵による暗号化を施して認証子を得る。
【００５１】
第三者は、このようにして得られた認証子を、公開鍵を用いて復号でき、履歴が改竄されていないかを検証することができる。公開される算出方法で、第三者は履歴情報からハッシュ値を算出することができる。また同じく履歴情報のハッシュ値を、認証子を復号した値と直前の認証子の値とから逆算することもできる。そして、実際に算出したハッシュ値と、逆算したハッシュ値とを照合することにより、履歴情報が改竄されていないかどうかを確認できる。
【００５２】
履歴情報からハッシュ値を求める方法を知っていても、秘密鍵を知らなければ暗号化できないので、検知されないように履歴を改竄することはできない。また、履歴を削除した場合も、前後の履歴の認証子との関係が崩れてしまうので検知可能である。
認証子を安全に生成する上で特に重要なのは、ログを改竄できる立場にいる人間に、秘密鍵を知られないようにすることである。ログの真正性を保証する必要がある場合は、外部の人間だけでなく、管理者のような内部の人間からも秘密鍵を守る必要がある。そのために秘密鍵はＩＣカードのような耐タンパー性を有する装置内に保管され、外部に秘密鍵が漏れないように、秘密鍵による暗号化はＩＣカードの中で行われるのが望ましい（例えば、特許文献１７、特許文献１９参照）。
【００５３】
本実施の形態では、履歴に対するタイムスタンプを、その認証子から得る。
たとえば、算出された認証子を改めて履歴のハッシュ値とみなし、この値をパラメタとして、ネットワークで接続されたタイムスタンプ局（ＴＳＡ）にタイムスタンプ生成要求を送信する。タイムスタンプ局は、ハッシュ値と時刻情報とを統合し、これをタイムスタンプ局の秘密鍵で暗号化することによりタイムスタンプトークン（ＴＳＴ）を生成して返信する。このようにして得たタイムスタンプトークンを履歴に付加してタイムスタンプとして保管する。
【００５４】
図５に、タイムスタンプ保管モジュール２５０の具体例を示す。履歴のタイムスタンプトークン（ＴＳＴ、タイムスタンプトークン欄５２２に記録）は、データベース５１０に実装されたタイムスタンプトークン保管モジュール５１１に、認証子（認証子欄５２１に記録）と関連づけて保存され、ログに記録された認証子から、その履歴のタイムスタンプトークンを取得できる。
図５は、タイムスタンプトークン保管５３１の指示があると、データベース５１０内のタイムスタンプトークン保管モジュール５１１が管理しているタイムスタンプトークンテーブル５２０に記録する例を示している。
また、図５の例では、キーとして認証子だけを使用している。適切なハッシュ関数を選択することにより、実際の認証子の値（ハッシュ値）が衝突する可能性を非常に低くすることができるので、キーとしては認証子だけで十分と考えられる。あるいは万が一の衝突を避けるために、たとえば履歴の日時情報と組にしたものをキーとするなど工夫してもよい。
【００５５】
本実施の形態では、すべてではなく一部の履歴に対してタイムスタンプを付加している。
図６に、タイムスタンプを付加する履歴を特定する例として、一定間隔ごとの履歴に対してタイムスタンプを付加する実施例を示す。この例では、あらかじめ定められた履歴の間隔（件数）ごとにタイムスタンプを付加する。その間隔は、ログ設定情報の一部として、管理者６１０などによる操作によって設定できてもよい。その設定は、設定格納モジュール２６０によって格納される。
システムとして設定できる間隔の値には、下限や上限を設けてもよい。
この値に１を指定すれば、１件ごとにタイムスタンプを付加することが可能になる。しかし、多くのタイムスタンプを付加することは、処理時間および金銭的なコストがかかるため、システムとして設定可能な下限を設けた方がより安全である。
【００５６】
同様に、間隔として大きな値を指定すれば、それだけタイムスタンプを付加せずに済むので、コスト的には負担が少なくてよくなるが、時系列を遡ってログの真正性を検証する際に、より多くの履歴を遡る必要があり、また後述するようにログを交換可能な記録メディアに移す際にも適切な単位で移せなくなる恐れもある。したがって設定可能な上限を設けた方がより安全なシステムを構築できる。いずれにせよ、不適切な値を設定することにより本来の目的が果たせなくなることを防止するようにするとよい。
【００５７】
この例の他に、一定時間ごと（例えば毎日所定時刻に）や、履歴の量（履歴情報などを含めたバイト数）ごとにタイムスタンプを付加するなどの方法もある。
また、一定間隔ごと以外に、特定の履歴にタイムスタンプを付加するようにしてもよい。たとえば、システムを起動した直後や、停止する直前などの履歴にタイムスタンプを付加するようにする。この場合、システム起動やシステム停止について履歴をログに記録し、これにタイムスタンプを付加する。起動時および停止時の履歴にタイムスタンプを付加することは、履歴記録の開始時および終了時にタイムスタンプを取得するという点でも有効である。なにより重要であるのは、これによって最低でもログの最初の履歴にタイムスタンプが付加されることである。図７に示す例では、システム起動のログ７０１が発生すると、それに応じてタイムスタンプを取得する。その結果、図７ではタイムスタンプ付加情報欄３０７では、タイムスタンプ有７０２が記録される。
【００５８】
あるいはさらに、ユーザーのログイン／ログアウトごとにタイムスタンプを付加するようにしてもよい。文書管理システムであれば、文書のライフサイクルとして重要な、文書の生成（または登録）と破棄（または削除）とに対してタイムスタンプを付加するようにしてもよい。より自由度を持たせるために、管理者などの指示により、任意の履歴に対してタイムスタンプを付加するようにしてもよい。ただし、前述のとおり、実際に実現する場合には、タイムスタンプ付加の量を増やすとコストが増加するので、必要以上に付加しないことが肝要である。
【００５９】
前述のように、タイムスタンプを付加する履歴を特定する実施例として、さまざまな変形があるが、コストの面から、すべての履歴にはタイムスタンプを付加しないようにすることも可能である。つまり、タイムスタンプを付加する履歴を一部に限定することで、現実的なコストで且つ効果的にタイムスタンプを付加できるようになる。
【００６０】
次にタイムスタンプを付加する際の検証処理について説明する。図８に、タイムスタンプ付き履歴を記録する手順を示す。この例では、履歴にタイムスタンプを付加する処理の前に、その履歴からさかのぼり、その直前にタイムスタンプを付加した履歴までの間の全ての履歴に対して、タイムスタンプと認証子による履歴の検証を行い、履歴が改竄されていないことが確認された上でタイムスタンプを付加する。手順を示すと以下の（１）〜（３）となる。これは、図８の（１）〜（３）と対応する。
（１）直前のタイムスタンプを検証する。つまり、図８では、履歴テーブル３００内の最終行（新履歴８０３）が現在のログであるが、それの直前の「ＴＳ」マークがある行（直前のタイムスタンプ付加履歴８０１）を、タイムスタンプトークン保管モジュール５１１内のタイムスタンプトークンテーブル５２０を用いて検証する。
（２）以降の履歴の認証子を順次検証する。つまり、図８では、履歴８０２の認証子を「ＴＳ」マークがある行（直前のタイムスタンプ付加履歴８０１）の検証結果を順次用いながら検証を行う。
（３）新たな履歴の認証子を算出し、認証子によるタイムスタンプを取得し保管してからログに履歴を記録する。つまり、図８では、新履歴８０３の行にある履歴情報から認証子を算出し、その認証子によるタイムスタンプを取得し、タイムスタンプトークン保管モジュール５１１内のタイムスタンプトークンテーブル５２０に認証子をタイムスタンプを対応付けて保管する。その後、新履歴８０３の行に「ＴＳ」マークを付加する。
このようにタイムスタンプ付加前に検証しておくことにより、毎回のように認証子による検証をさかのぼって行わなくても、タイムスタンプの検証を行うだけで、それ以前の履歴に対しては検証済みとすることが可能となる。
【００６１】
図９に、交換可能な記録媒体へのログの転記を示す。
この例では、パフォーマンス向上のため、最初にログはハードディスク（ＨＤＤ９３０、タイムスタンプトークン保管モジュール５１１）上に記録される（ファイル形式やデータベースへの記録など）が、ハードディスクの容量が限られていることと長期保管を目的として、ハードディスク上に記録されたログは後でＤＶＤ−Ｒメディア（ＤＶＤ−Ｒ（０１）９１０、ＤＶＤ−Ｒ（０２）９２０）に転記される。
ＤＶＤ−Ｒメディアに記録するのは、ＤＶＤ−Ｒが改変検知可能な追記型の交換可能な記録媒体であるためであるが、書き換え不能または改変検知可能で、交換可能な記録媒体であればよく、たとえばＣＤ−Ｒメディアなどに記録してもよい。
ＤＶＤ−Ｒメディアにログを書き写すタイミングは、管理者の指示によってでも良いし、ハードディスクに記録されているログの量が一定に達したとき、もしくは時間によって定期的に行ってもよい。
【００６２】
この例では、ＤＶＤ−Ｒメディア１枚に記録できる４．７Ｇバイトを最大として、タイムスタンプが付加された履歴から、タイムスタンプが付加された履歴までのまとまりを１単位として、これを１つのログファイルとしてメディアに記録する。このログ単位は、最初と最後の履歴以外にも、すなわちその間の履歴にもタイムスタンプが付加されていてよい。ＤＶＤ−Ｒメディアには、ログファイルの他に、メディアに記録するログに含まれる全てのタイムスタンプも併せて記録される。つまり、図９では、ＤＶＤ−Ｒ（０１）９１０には、ログファイル（１０００）９１１、タイムスタンプトークン（１００１）９１２が記録され、ＤＶＤ−Ｒ（０２）９２０には、ログファイル（２０００）９２１、タイムスタンプトークン（２００１）９２２が記録される。ログファイル（１０００）９１１は、履歴テーブル３００のＴＳ１０１がある履歴１００からＴＳ２００がある履歴２００まで（ログ９３１）の履歴情報である。同様に、ログファイル（２０００）９２１は、履歴テーブル３００のＴＳ２００がある履歴２００からＴＳ３００がある履歴３００まで（ログ９３２）の履歴情報である。また、タイムスタンプトークン（１００１）９１２、タイムスタンプトークン（２００１）９２２は、図５のタイムスタンプトークンテーブル５２０に対応する。
ＤＶＤ−Ｒメディアに記録した最後の履歴は、次にＤＶＤ−Ｒメディアに記録するログ単位の最初の履歴として重複して記録される。つまり、図９では、履歴テーブル３００内の「履歴２００、ＴＳ２００」の行がログ９３１（ログファイル（１０００）９１１）とログ９３２（ログファイル（２０００）９２１）の両方に含まれている。これにより、ＤＶＤ−Ｒメディアに記録される履歴の最初は、常にタイムスタンプが付加されることになり、また、複数のメディアに分割して保管されるログの連続性がより明確になる。
【００６３】
繰り返しではあるが、メディアに記録される最初の履歴に対してタイムスタンプが付加されていれば、それ以降のメディアに記録されたログに対して、認証子により検証が可能である。したがって、認証子による検証が保証されている状況においては、検証に最低必要なのは最初の履歴のタイムスタンプだけである。
一方、最後のタイムスタンプを記録するのは、メディアに記録されたログ全体を完全ではないが簡単に検証するためであり、またログ全体に対して認証子だけでなく第三者による保証を得るためでもある。最後のタイムスタンプによって、その時刻にそのデータ（つまり最初の履歴から関連が保証されているに違いない最後の履歴の認証子）が存在し、それ以後改変されていないことが、第三者機関であるタイムスタンプ局によって保証される。よって完全ではないけれども簡単にログ全体を検証するには最後の履歴のタイムスタンプだけを、その時刻と最後の履歴の認証子でもって検証すればよい。
【００６４】
同様に最初と最後の履歴以外のタイムスタンプは、必ずしも検証に必要とはされないが、必要とするレベルに応じて検証を簡略化するために用いることができ、第三者機関による保証として真正性をより補強する。
さらにまた同様に認証子による検証が保証されている状況では必要ないが、ＤＶＤ−Ｒメディアに記録するログファイル全体に対してタイムスタンプを付加しても良い。
【００６５】
図１０は、本実施の形態の一つとして、文書管理システムのシステム構成を示す図である。これは、文書管理システムにおけるログを管理するものである。
文書管理システムは、ネットワーク（ネットワーク１１００、インターネット１０９０）で接続されたいくつかのサーバ（ログ管理サーバ１０１０等）によって構成され、同じくネットワークに接続されたクライアント（クライアントＰＣ１０５０、クライアントＰＣ１０６０）から利用できる。
サーバには、文書を管理する文書管理サーバＡ１０２０、文書管理サーバＢ１０３０、ログを管理するログ管理サーバ１０１０、およびシステムに共通してユーザーのログイン／ログアウトを管理する共通ログインサーバ１０４０がある。ネットワーク１１００はルータ１０７０を通じてインターネット１０９０にも接続されており、インターネット１０９０経由で外部にあるクライアントＰＣ１０６０からも利用可能である。より具体的には、文書管理サーバ（文書管理サーバＡ１０２０、文書管理サーバＢ１０３０）はＷｅｂアプリケーションサーバとして実現されており、さらにクライアントＰＣ１０６０はＷｅｂブラウザを使用して文書管理サーバ（文書管理サーバＡ１０２０、文書管理サーバＢ１０３０）にアクセスするものとする。
【００６６】
本システムにおける各種の履歴情報は、各サーバからログ管理サーバ１０１０へネットワーク１１００経由で転送され、ログ管理サーバ１０１０によって一括管理される。たとえば、ユーザーがログインしたりログアウトしたりすると、その履歴情報が共通ログインサーバ１０４０からログ管理サーバ１０１０へ送信される。また文書を登録、閲覧、削除などすると、同様にその履歴情報が文書管理サーバＡ１０２０または文書管理サーバＢ１０３０からログ管理サーバ１０１０へ送信される。
ログ管理サーバ１０１０には、ログ管理データベース１０１４、ＩＣカード端末機１０１１、およびＤＶＤ−Ｒドライブ１０１３が接続されている。
ログ管理データベース１０１４は、履歴や履歴に付加したタイムスタンプトークンなどを格納し管理する。また、ログに関する各種設定の値についても格納されている。
ＩＣカード端末機１０１１には、履歴管理用ＩＣカード１０１２がセットされる。ログ管理サーバ１０１０はＩＣカード端末機１０１１を介して履歴管理用ＩＣカード１０１２と接続可能である。
【００６７】
履歴管理用ＩＣカード１０１２には、履歴の認証子を算出したり検証したりするアプリケーションがインストールされている。
履歴管理用ＩＣカード１０１２は、カード内部で生成した秘密鍵と公開鍵のペアを内部に保管し、さらに認証子を算出するために必要な前の認証子の値を内部に保管する機能を有している。履歴管理用ＩＣカード１０１２は耐タンパー性を有し、内部に保管している秘密鍵および前の認証子の値は外部からは一切アクセス不能になっており、秘密鍵を取得したり内部に保持する前の認証子を改竄したりすることが不可能になっている。なお、公開鍵はＩＣカード端末機１０１１を介して読み取りのみ可能である。
ＤＶＤ−Ｒドライブ１０１３は、ログ管理データベース１０１４に格納した履歴やタイムスタンプトークンを、ＤＶＤ−Ｒメディアに記録するのに用いる。
【００６８】
図１１にログ管理処理の流れについて概要を示す。
ステップＳ１２０１では、文書管理サーバＡ１０２０がログ管理サーバ１０１０に対して、履歴情報を出力する。
ステップＳ１２０２では、ログ管理サーバ１０１０は、文書管理サーバＡ１０２０より履歴情報を受信する。そして、履歴管理用ＩＣカード１０１２に対して、認証子算出を指示する。
ステップＳ１２０３では、履歴管理用ＩＣカード１０１２は、ログ管理サーバ１０１０からの指示に応じて、認証子を算出する。
ステップＳ１２０４では、ログ管理サーバ１０１０は、直前の履歴の検証を行う。
ステップＳ１２０５では、ログ管理サーバ１０１０は、タイムスタンプを付加するか否かの判定を行う。
ステップＳ１２０６では、ログ管理サーバ１０１０での処理は、ステップＳ１２０５の判定結果に基づいて、タイムスタンプを付加するのであればステップＳ１２０７へ進み、タイムスタンプを付加することが不要であればステップＳ１２０９へ進む。
ステップＳ１２０７では、ログ管理サーバ１０１０は、前回のタイムスタンプ付き履歴から検証を行う。そして、タイムスタンプ局１０８０に対して、タイムスタンプ生成の指示を行う。
ステップＳ１２０８では、タイムスタンプ局１０８０は、ログ管理サーバ１０１０からの指示に応じて、タイムスタンプを生成する。
ステップＳ１２０９では、ログ管理サーバ１０１０は、履歴を記録する。この結果を文書管理サーバＡ１０２０へ通知する。
ステップＳ１２１０では、文書管理サーバＡ１０２０は、ログ管理サーバ１０１０からの履歴出力結果を受信する。そして、次の処理を行う。
【００６９】
次にログ管理処理を詳細に説明する。
ログ管理サーバ１０１０では、各サーバから履歴情報が送られると、受信した履歴情報からハッシュ値を算出する。このときに用いられるハッシュ関数は、必要に応じて公開されることにより、管理者などによって勝手に変更できず、また自前で履歴の正当性を検証することも可能とする。
ログ管理サーバ１０１０は、算出した履歴情報のハッシュ値を入力パラメタとして、ＩＣカード端末機１０１１を介して履歴管理用ＩＣカード１０１２に、履歴の認証子の算出を要求する。
履歴管理用ＩＣカード１０１２は、入力されたハッシュ値と、内部に保持する前の認証子の値とを計算し、さらに計算結果の値を、内部に保持する秘密鍵でもって暗号化（署名）することによって、新たな認証子を得る。算出した認証子は結果としてログ管理サーバ１０１０に返されるとともに、次の認証子の計算に使うために履歴管理用ＩＣカード１０１２の内部に保管される。
【００７０】
ログ管理サーバ１０１０は、直前の履歴が改竄されていないことを確認するために、算出された認証子を検証する。算出された認証子を履歴管理用ＩＣカード１０１２の公開鍵で復号し、さらに求めた履歴情報のハッシュ値から、履歴管理用ＩＣカード１０１２の内部で保持していた前の認証子の値を逆算する。その値を直前の履歴の認証子と照合する。
照合の結果、二つの認証子の値が異なれば、改竄された可能性があるとみなし、管理者に通知したりシステムを緊急停止したりするなどの処理を行う。
照合した結果が正しければ、履歴にタイムスタンプを付加するかどうかを、ログ管理データベース１０１４に格納された設定に従って決定する。設定には、履歴を何件記録するごとにタイムスタンプを付加するか、その件数についての情報が含まれており、ログ管理サーバ１０１０は前回タイムスタンプを付加した履歴から現在の履歴までの数をカウントしている。なお、この設定に関わらず、ログ管理サーバ１０１０は、ログ管理サーバ１０１０の起動時および停止直前に、起動または停止に関する履歴をタイムスタンプ付きで記録する。
【００７１】
カウントしている値が設定した件数に達しない間は、履歴情報とその認証子とを履歴としてログ管理データベース１０１４に記録する。
カウントしている値が設定した件数に達した場合、前回のタイムスタンプ付き履歴から現在までの履歴を検証し、改竄されていないことが判明した場合は、記録する履歴のタイムスタンプトークンを取得して、履歴情報とその認証子とを履歴としてログ管理データベース１０１４に記録するとともに、タイムスタンプトークンを認証子に関連づけてログ管理データベース１０１４に保管し、カウンタの値をリセットする。
【００７２】
前回のタイムスタンプ付き履歴から現在までの履歴を検証するには、まず前回のタイムスタンプ付き履歴をタイムスタンプで検証することから始める。その履歴が正しいかどうかは、その履歴情報に含まれる日時および認証子がタイムスタンプとあっているかどうかで確認する。あとは順次、履歴の認証子を履歴管理用ＩＣカード１０１２の公開鍵で復号しながら、その値が履歴情報のハッシュ値と直前の履歴の認証子とから計算で求める値と同じかどうかを確認し、ログが改竄されていないことを検証する。
【００７３】
履歴にタイムスタンプを付加するには、改竄されていないことが検証できた後、履歴の認証子をハッシュ値とみなし、これをパラメタとして、インターネット１０９０を介して接続したタイムスタンプ局１０８０にタイムスタンプの生成を要求する。タイムスタンプ局１０８０は送られたハッシュ値（認証子）とその時点の時刻からタイムスタンプトークンを生成しログ管理サーバ１０１０へ返信する。このようにして、ログ管理サーバ１０１０は、返信されたタイムスタンプトークンを受信すると、履歴情報とその認証子とを履歴としてログ管理データベース１０１４に記録するとともに、タイムスタンプトークンを認証子に関連づけてログ管理データベース１０１４に保管する。
【００７４】
ログ管理サーバ１０１０は、設定内容に従って、ログの量が設定された一定量に達したり、設定された期間が経過したりするごとに、ログ管理データベース１０１４に記録されているログの内容を自動的にＤＶＤ−Ｒに書き写したり、管理者に通知したりする。ＤＶＤ−Ｒドライブ１０１３に記録可能なメディアがセットされていない場合はＤＶＤ−Ｒに書き写す代わりに管理者に同様に通知する。また、ＤＶＤ−Ｒメディア一枚分のログを一括して書き写す場合は書き写しが完了した時に、あるいは複数回に分けてメディアに追記していく場合はこれ以上追記できなくなった時に、ＤＶＤ−Ｒメディアへの記録が完了したことを管理者に通知する。
【００７５】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図１２に示すように、一般的なコンピュータであり、具体的には認証子生成モジュール１１、証明情報要求モジュール１２、証明情報受信モジュール１３、証明情報記憶モジュール１４、検証モジュール１５等のプログラムを実行するＣＰＵ９０１と、そのプログラムやデータを記憶するＲＡＭ９０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ９０３と、補助記憶装置であるＨＤ９０４と、キーボード、マウス等のデータを入力する入力装置９０６と、ＣＲＴや液晶ディスプレイ等の出力装置９０５と、通信ネットワークと接続するための通信回線インタフェース９０７、そして、それらをつないでデータのやりとりをするためのバス９０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００７６】
なお、図１２に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１２に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えばＡＳＩＣ等）で構成してもよい。また、特に、パーソナルコンピュータの他、携帯電話、ゲーム機、カーナビ機、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機（多機能複写機とも呼ばれ、スキャナ、プリンタ、複写機、ファックス等の機能を有している）などに組み込まれていてもよい。
【００７７】
なお、説明したプログラムについては、記録媒体に格納することも可能であり、また、そのプログラムを通信手段によって提供することもできる。その場合、例えば、上記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えることもできる。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去および書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、上記のプログラムまたはその一部は、上記記録媒体に記録して保存や流通等させることが可能である。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにはこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に乗せて搬送することも可能である。
さらに、上記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。
【図面の簡単な説明】
【００７８】
【図１】本実施の形態の構成例を示すブロック図である。
【図２】履歴管理モジュール内の構成例を示すブロック図である。
【図３】ログ出力の例を示す説明図である。
【図４】一般的な認証子の算出方法の例を示す説明図である。
【図５】タイムスタンプ保管モジュールの具体例を示す説明図である。
【図６】タイムスタンプを付加すべき履歴を特定する例を示す説明図である。
【図７】システム起動時の履歴にタイムスタンプを付加する例を示す説明図である。
【図８】タイムスタンプ付き履歴を記録する手順例を示す説明図である。
【図９】交換可能な記録媒体への転記例（長期保管用）を示す説明図である。
【図１０】本実施の形態の一つのシステム構成例（文書管理システムにおけるログ管理サーバ）を示す説明図である。
【図１１】ログ管理処理の流れ（概要）を示す説明図である。
【図１２】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００７９】
１０…情報処理システム
１１…認証子生成モジュール
１２…証明情報要求モジュール
１３…証明情報受信モジュール
１４…証明情報記憶モジュール
１５…検証モジュール
２０…第三者機関
３０…通信ネットワーク
２００…履歴管理モジュール
２１０…履歴記憶モジュール
２２０…認証子生成モジュール
２３０…検証モジュール
２４０…タイムスタンプ取得処理モジュール
２５０…タイムスタンプ保管モジュール
２６０…設定格納モジュール
３００…履歴テーブル
１０１０…ログ管理サーバ
１０１１…ＩＣカード端末機
１０１２…履歴管理用ＩＣカード
１０１３…ＤＶＤ−Ｒドライブ
１０１４…ログ管理データベース
１０２０…文書管理サーバＡ
１０２１、１０３１…文書ＤＢ
１０３０…文書管理サーバＢ
１０４０…共通ログインサーバ
１０５０、１０６０…クライアントＰＣ
１０７０…ルータ
１０８０…タイムスタンプ局
１０９０…インターネット
１１００…ネットワーク
【図１】
2008060745.tif 000003
【図２】
2008060745.tif 000004
【図３】
2008060745.tif 000005
【図４】
2008060745.tif 000006
【図５】
2008060745.tif 000007
【図６】
2008060745.tif 000008
【図７】
2008060745.tif 000009
【図８】
2008060745.tif 000010
【図９】
2008060745.tif 000011
【図１０】
2008060745.tif 000012
【図１１】
2008060745.tif 000013
【図１２】
2008060745.tif 000014