情報処理システムおよび情報処理プログラム
【課題】順次生成された情報全体を改竄したような場合であっても、その改竄をより効果的に検知できるようにした情報処理システムおよび情報処理プログラムを提供する。
【解決手段】情報処理システムの認証子生成手段は順次生成された情報から認証子を生成し、証明情報要求手段は前記認証子生成手段により生成された認証子の一部に対して第三者機関による認証子の証明情報を要求する。
【解決手段】情報処理システムの認証子生成手段は順次生成された情報から認証子を生成し、証明情報要求手段は前記認証子生成手段により生成された認証子の一部に対して第三者機関による認証子の証明情報を要求する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システムおよび情報処理プログラムに関する。
【背景技術】
【0002】
計算機が社会に浸透するにあたって、そのセキュリティの観点から、計算機の利用履歴(ログ)の改竄を防止および検知するための技術、特に改竄されているかどうかを検証するための認証子(改竄検知コード、メッセージダイジェスト、検証値、ハッシュなどと呼ばれることもある)に関する技術が注目されている。
履歴の改竄を防止または検知するための技術として次のようなものがある。
(1)物理的に書き換え不能にするもの。
(2)外部からアクセス不能にするもの。
(3)履歴自体を暗号化するもの。
(4)複数の記録から照合するもの。
(5)ログに改竄検知コードや署名を付与するもの。
【0003】
物理的に書き換え不能にするものとして、改竄不能または改竄の記録が残る記録媒体を使うものがある。
例えば履歴をCD−Rなど書き換え不能な記録媒体(あるいは変更/削除したデータがそのまま残る追記型記録媒体)に記録するものとして、特許文献1や特許文献2などがある。
【0004】
また、例えば履歴を外部からアクセス不能にすることで、外部からの改竄を防止するものとしては、装置的なものが多く、特許文献3、特許文献4、特許文献5、特許文献6などがあり、一般的には装置の外部から内部の履歴を改竄することは困難である。
他に、リアルタイムにログをリモートロケーションに順次送信してしまうことで改竄を防止するもの(特許文献7)などもある。
履歴自体を暗号化するものは、情報漏えいを防止すると同時に、鍵を持たず復号や再暗号化ができない者には改竄できない。特許文献8や特許文献9などである。
【0005】
複数の記録から照合するものは、複数の履歴を保存しこれらの記録内容を相互に照合することで改竄を検知する。同一内容を複数に記録したり、重要な一部だけを別に記録したり、別々の関連する履歴を照合したり、履歴以外の情報(例えばパケット)を収集して照合するものなどがある。同一の内容を記録する場合は、改竄を検知するだけでなく、改竄されていない方の履歴から改竄された履歴を復元することもできる。特許文献10、特許文献11、特許文献12、特許文献13、特許文献14などである。
【0006】
ログに改竄検知コードや署名を付与するものとしては、通信時にログやデータに署名するものや、履歴に改竄されているかどうかを検証するための認証子を付加して記録するものなどがある。通信時に署名するものとしては特許文献15や特許文献16などがある。また、認証子を使うものとしては、特許文献17、特許文献18、特許文献19などがある。
【0007】
書き換え不能な記録媒体によって改竄を物理的に防止する方法として、CD−Rのような書き換え不能な記録媒体に記録する方法がある。CD−Rのような書き換え不能な記録媒体への記録は、ハードディスクなどと違い時間がかかる場合が多い。そこでまずハードディスクのような記録装置に記録した後で書き換え不能な記録媒体に書き写す方法などが行われる。
【0008】
管理者でも改竄できないとする履歴管理方法として、前述の特許文献19がある。これは、履歴に認証子を付加して記録するもので、認証子により改竄されているかどうかを検知することができる。
特に、記録する履歴の認証子を、記録する履歴情報とその直前に記録された履歴の認証子とから算出した値に署名を施すことによって得るため、単に行ごとの履歴改竄だけでなく、履歴間の時系列的な関係の改竄まで検知可能である。このように直前の履歴(の認証子など)を使って認証子を算出する方法はよく使われており、前述の特許文献17の他、特許文献20なども同様である。
【0009】
履歴の改竄検知は基本的に、前述したように認証子によって行われるが、改竄検知の可能性は認証子の連続性によって支えられている。
履歴情報の内容の改竄に対しては、認証子がもつそのハッシュ値だけで改竄を検知することができる。一方、履歴を削除するような改竄に対しては、認証子がもつハッシュ値だけでは検知できない。これに対しては、時系列的に並ぶ前後の認証子間の関係によって、たとえ履歴の一部を削除した場合であっても、その認証子の関係が崩れることにより、改竄を検知することができるのである。
【0010】
この方法だけでは、完全に改竄を検知するためには、記録された認証子を順次さかのぼり、最初の履歴まで辿る必要がある。
【0011】
特許文献21では、通信の当事者が相手のログに対して署名するようにしている。
【特許文献1】特開2000−322647号公報
【特許文献2】特開2000−099401号公報
【特許文献3】特開2000−035991号公報
【特許文献4】特開2001−043193号公報
【特許文献5】特開2001−043269号公報
【特許文献6】特開2005−301980号公報
【特許文献7】特開2003−099295号公報
【特許文献8】特開2002−297540号公報
【特許文献9】特開2005−197810号公報
【特許文献10】特開2000−163374号公報
【特許文献11】特開2000−285076号公報
【特許文献12】特開2001−142764号公報
【特許文献13】特開2002−344439号公報
【特許文献14】特開2004−206564号公報
【特許文献15】特開2001―222219号公報
【特許文献16】特開2002−007288号公報
【特許文献17】特開平10−123950号公報
【特許文献18】特開2001−337600号公報
【特許文献19】特開2002−082834号公報
【特許文献20】特開2005−122483号公報
【特許文献21】特開2001―222219号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
本発明は、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようにした情報処理システムおよび情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0013】
請求項1の発明は、順次生成された情報から認証子を生成する認証子生成手段と、前記認証子生成手段により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求手段を具備することを特徴とする。
【0014】
請求項2の発明は、請求項1の発明において、前記認証子の一部に対する証明情報を受信する証明情報受信手段と、前記証明情報受信手段により受信された前記証明情報を、前記認証子の一部と対応付けて記憶する証明情報記憶手段を更に具備することを特徴とする。
【0015】
請求項3の発明は、請求項1または請求項2の発明において、前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報であることを特徴とする。
【0016】
請求項4の発明は、順次生成された情報から認証子を生成する認証子生成手段と、前記情報および前記認証子生成手段により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求手段を具備することを特徴とする。
【0017】
請求項5の発明は、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶する証明情報記憶手段と、前記証明情報記憶手段により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証手段を具備することを特徴とする。
【0018】
請求項6の発明は、コンピュータに、順次生成された情報から認証子を生成する認証子生成機能と、前記認証子生成機能により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求機能を実現させることを特徴とする。
【0019】
請求項7の発明は、請求項6の発明において、コンピュータに、前記認証子の一部に対する証明情報を受信する証明情報受信機能と、前記証明情報受信機能により受信された前記証明情報を、前記認証子の一部と対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能を更に実現させることを特徴とする。
【0020】
請求項8の発明は、請求項6または請求項7の発明において、前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報であることを特徴とする。
【0021】
請求項9の発明は、コンピュータに、順次生成された情報から認証子を生成する認証子生成機能と、前記情報および前記認証子生成機能により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求機能を実現させることを特徴とする。
【0022】
請求項10の発明は、コンピュータに、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能と、前記証明情報記憶制御機能により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証機能を実現させることを特徴とする。
【発明の効果】
【0023】
請求項1に記載の情報処理システムによれば、本構成を有していない場合に比較して、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようになる。
【0024】
請求項2に記載の情報処理システムによれば、本構成を有していない場合に比較して、自己が記憶している情報に基づいて改竄を検知することができ、改竄をより効率的に検知できるようになる。
【0025】
請求項3に記載の情報処理システムによれば、本構成を有していない場合に比較して、改竄の検知の信頼性を向上できるようになる。
【0026】
請求項4に記載の情報処理システムによれば、本構成を有していない場合に比較して、順次生成された情報が記録媒体に記憶された場合であっても、その改竄をより効率的に検知できるようになる。
【0027】
請求項5に記載の情報処理システムによれば、本構成を有していない場合に比較して、以前の認証子に対応付けられた証明情報までを検証することで済み、効率的な検証ができるようになる。
【0028】
請求項6に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようになる。
【0029】
請求項7に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、自己が記憶している情報に基づいて改竄を検知することができ、改竄をより効率的に検知できるようになる。
【0030】
請求項8に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、改竄の検知の信頼性を向上できるようになる。
【0031】
請求項9に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、順次生成された情報が記録媒体に記憶された場合であっても、その改竄をより効率的に検知できるようになる。
【0032】
請求項10に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、以前の認証子に対応付けられた証明情報までを検証することで済み、効率的な検証ができるようになる。
【発明を実施するための最良の形態】
【0033】
まず、本実施の形態の理解を助けるために、その概略を説明する。
本実施の形態は、次のいずれか1つ以上の目的を有している。
(1)認証子により履歴の真正性を保証する履歴管理を行う情報処理システム、情報処理プログラム、情報処理装置または情報処理方法において、行単位の改竄だけでなく、履歴全体の改竄に対しても有効で、管理者などシステム内部の者またはそれらの共謀による改竄を防ぐことを目的とする。
(2)また、履歴管理が処理的にも経済的にも低コストであることを目的とする。
(3)また、改竄検知処理が効率的であることを目的とする。
(4)また、長期保管を目的としてログを複数の交換可能な記録媒体に転記する場合でも、転記時の改竄を防ぎ、検証も容易であることを目的とする。
(5)また、従来の認証子による履歴管理方法と組み合わせることが可能でより堅牢なセキュリティを提供することを目的とする。
【0034】
前述の目的のいずれかを達成するために、本実施の形態は、次のように作用する。
履歴情報を履歴の改竄を検知するための認証子とともに記録する履歴管理に関するものであって、記録する一部の履歴に対し、該履歴の認証子に基づいてタイムスタンプを付与する。
さらに、少なくとも記録する最初の履歴に対して、その認証子によるタイムスタンプを付与するようにしてもよい。
さらに、システムの起動時に履歴を記録し、その履歴に対して認証子によるタイムスタンプを付与するようにしてもよい。
同様にシステムの停止直前にも履歴を記録し、その履歴に対して認証子によるタイムスタンプを付与するようにしてもよい。
一定件数の履歴を記録したり一定時間の経過ごとに、その直後の履歴にタイムスタンプを付与するようにしてもよい。その場合、タイムスタンプを付与する方法および間隔は、予め設定しておいてもよいし、管理者によって設定できるようにしてもよい。
【0035】
また、前述のような履歴管理によって記録された履歴に対する検証は、次のように行う。
履歴が改竄されているかどうかを、その履歴の認証子と、その直前の認証子とから検証する。このとき直前の認証子が正当であることを仮定している。したがって、より確実に検証を行うには、直前の認証子が正当であるかどうかを検証する必要がある。直前の認証子を検証するには、直前の履歴とそのまた直前の認証子とから検証しなければならず、ここでもそのまた直前の認証子の正当性を仮定している。このように順次さかのぼって認証子の正当性を検証する。ただし、タイムスタンプが付加された履歴までさかのぼったときは、履歴とその直前の認証子とからではなく、タイムスタンプによって認証子の正当性を検証する。
【0036】
その他として、次のようにもできる。
履歴は履歴記憶部に記録するとともに、タイムスタンプトークンは履歴の認証子と関連づけてタイムスタンプ保管部に保管する。なお、タイムスタンプトークンとは、信頼のおける時刻と文書などの情報に対し、変更、改竄があったかどうかを検知できる情報、もしくはそれを指し示す情報のことをいう。たとえば、文書などの情報のハッシュデータに時刻情報等を付与して発行する。
履歴を記録媒体に保存する場合、保存対象である一連の履歴のうち、少なくとも最初と最後の履歴の認証子にはタイムスタンプが付与されており、履歴とともにタイムスタンプを記録媒体に保存する。
【0037】
以下、図面に基づき好適な実施の形態を説明する。
図1は、一実施の形態の概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、プログラム、システムおよび方法の説明をも兼ねている。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散または並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続を含む。
また、システムとは、複数のコンピュータ、ハードウェア、装置等がネットワーク等で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
以下、順次生成された情報として、計算機に対する操作等のログ(履歴)を主に例示して説明する。また、前記第三者機関による認証子の証明情報として、タイムスタンプを主に例示して説明する。
【0038】
本実施の形態では、図1に示すように、情報処理システム10と第三者機関20とが通信ネットワーク30を介して接続されている。
情報処理システム10は、認証子生成モジュール11、証明情報要求モジュール12、証明情報受信モジュール13、証明情報記憶モジュール14、検証モジュール15を有している。
認証子生成モジュール11は、順次生成された情報から認証子を生成する。
証明情報要求モジュール12は、通信ネットワーク30と接続しており、認証子生成モジュール11により生成された認証子の一部に対して第三者機関20による認証子の証明情報を要求する。そして、第三者機関20による認証子の証明情報は、前記要求の時期に関する証明情報である。また、前記情報および認証子生成モジュール11により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求することもできる。
【0039】
証明情報受信モジュール13は、通信ネットワーク30と接続しており、第三者機関20による認証子の一部に対する証明情報を受信する。この受信する証明情報は、証明情報要求モジュール12による要求に対するものである。
証明情報記憶モジュール14は、証明情報受信モジュール13により受信された証明情報を、前記認証子の一部と対応付けて記憶する。また、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関20による証明情報を対応付けて記憶することもできる。
検証モジュール15は、証明情報記憶モジュール14により記憶されている認証子を検証する場合に、該認証子以前の認証子に対応付けられた証明情報を検証する。なお、検証モジュール15は、認証子生成モジュール11等のモジュールを有している情報処理システム10とは異なる情報処理システムに具備されていてもよい。
【0040】
より具体的に、図2を用いて、履歴管理モジュール200内のモジュール構成例を説明する。
履歴管理モジュール200は、図1の認証子生成モジュール11から検証モジュール15に対応する。履歴管理モジュール200は、履歴記憶モジュール210、認証子生成モジュール220、検証モジュール230、タイムスタンプ取得処理モジュール240、タイムスタンプ保管モジュール250、設定格納モジュール260を有している。
履歴記憶モジュール210は、少なくとも日時情報を含む履歴情報(属性情報など)と前記履歴情報の改竄を検知するための認証子とを履歴として順次記録する。また、タイムスタンプ取得処理モジュール240がタイムスタンプを付加すると判定した場合には、タイムスタンプトークンを取得してから履歴を記録する。
【0041】
認証子生成モジュール220は、前記認証子を履歴情報と直前の履歴の認証子の値とから算出する。
また、認証子生成モジュール220は、履歴情報のハッシュ値(要約関数による値)と直前の履歴の認証子の値とから計算した値に対して秘密鍵による暗号化(電子署名)を施すことにより認証子を算出することもできる。
また、認証子生成モジュール220は、前記秘密鍵と直前の履歴の認証子の値とを、外部からアクセス不能な状態で内部に保持し、内部に保持した該秘密鍵と該直前の履歴の認証子とを使用して認証子を算出するとともに、算出した認証子でもって内部に保持する認証子を更新することもできる。
また、認証子生成モジュール220は、具体的には耐タンパー性をもったICカード、USB機器、装置、またはトークン等によって実現される。
【0042】
検証モジュール230は、さらに、第1の検証モジュールと第2の検証モジュールを有しており、その2つのモジュールを用いて検証する。第1の検証モジュールは、履歴が改竄されているかどうかを、履歴の認証子と履歴情報のハッシュ値と直前の履歴の認証子の値とから検証する。第2の検証モジュールは、該履歴から直前のタイムスタンプが付加された履歴までの各履歴をそれぞれ第1の検証モジュールで検証するとともに、直前のタイムスタンプが付加された履歴をその履歴の認証子の値と履歴情報に含まれる日時情報とのタイムスタンプで検証する。
【0043】
タイムスタンプ取得処理モジュール240は、順次記録する履歴の各々に対しタイムスタンプを付加するかどうかを記録時に判定し、付加すると判定した場合には、履歴の認証子の値に基づいてタイムスタンプトークンを取得する。
また、タイムスタンプ取得処理モジュール240は、設定格納部に格納された設定情報に基づいて特定したタイムスタンプを付加する間隔によって、順次記録する履歴に対しタイムスタンプを付加するかどうかを判定する。
【0044】
タイムスタンプ保管モジュール250は、取得した前記タイムスタンプトークンを付加対象の履歴と対応づけて保管する。
また、タイムスタンプ保管モジュール250は、認証子によって履歴とタイムスタンプトークンとを対応付けて保管することもできる。
また、タイムスタンプ保管モジュール250は、履歴IDによって履歴とタイムスタンプトークンとを対応付けて保管することもできる。
【0045】
設定格納モジュール260は、前述の履歴記憶モジュール210等の各モジュールにおける処理に必要な設定を格納しており、各モジュールが処理に必要となった際に参照される。また、この設定は、履歴管理モジュール200の管理者によって行われる場合のほか、履歴記憶モジュール210等のモジュールが他のモジュールの設定を格納する場合もある。
【0046】
図3を用いて、ログ出力の例を説明する。この例では、ログは図3に示すようにテーブル形式(CSV形式を含む)で記録する。操作の履歴は1行に対応しており、履歴情報(日時欄301等)、改竄を検知するための認証子(認証子欄306)、およびタイムスタンプ付加情報(タイムスタンプ付加情報欄307)とを履歴として記録する。履歴情報は、日時(日時欄301)、操作したユーザ名(ユーザ欄302)、操作の名前(操作欄303)、操作対象(操作対象欄304)、操作対象の場所(場所欄305)からなる。履歴に付加したタイムスタンプは、タイムスタンプトークンがログとは別に保管され、認証子によって関連づけされる。
【0047】
タイムスタンプ付加情報欄307に記録されるタイムスタンプ付加情報(図3では「TS」)は、タイムスタンプが付加されているかどうかを示し、簡便のためにログに記録される。あくまでも簡便のためであって、タイムスタンプ付加情報自体は、改竄防止/検知の目的としては必ずしも必要でない。この例では、タイムスタンプが付加された履歴であれば「TS」を記録し、付加されていなければ何も記録しない。また、例にあげたログ出力内容の構成、履歴情報に含まれる内容、認証子の値(データ長など)、タイムスタンプ付加情報の形態は、説明のために簡略化したものであって、実際の内容はこの限りではない。
【0048】
本実施の形態では、特に認証子の算出方法については限定しない。認証子の算出方法については、従来技術のいずれかの方法で算出すればよい。ここでは簡単に、一般的な認証子の算出方法の例を図4に示し説明する。図4は、算出すべき認証子に対応するログ(2行目、履歴情報401のある行)とその直前のログ等(1行目)を示している。
【0049】
認証子を求める手順は概ね次のとおりである。
(1)履歴情報401(日時欄301から場所欄305に記録されている情報)のハッシュ値を求める。
(2)求めたハッシュ値に、直前の履歴の認証子402を加えて、(暗号化されていない)認証子の元を算出する。
(3)認証子の元に対して秘密鍵による暗号化を施して、認証子403を得る。一般的には、電子署名とも呼ばれる。
この手順を式で示すと、次のようになる。
認証子の値 = 秘密鍵による暗号化( 履歴情報のハッシュ値 + 直前の認証子の値 )
【0050】
この算出方法は例であって、基本的な流れを変えずに、変形することができる。
履歴情報のハッシュ値を求める方法としては、履歴情報をパラメタとしてどのように使用するのか、あるいはハッシュ関数(要約関数)に何を使用するかなどがある。ただし、履歴情報のハッシュ値を求める方法は、必要に応じて公開することができ、第三者が同様に同じ値を計算できなければならない。また、履歴情報のハッシュ値と直前の認証子とから暗号化されていない認証子の元を算出する方法も、加算だけでなく、たとえばXORなどのビット演算や、「31の(直前の認証子)乗 + 履歴情報のハッシュ値」など様々ある。この演算も同様に、必要に応じて第三者に公開されなければならない。
最後に秘密鍵による暗号化を施して認証子を得る。
【0051】
第三者は、このようにして得られた認証子を、公開鍵を用いて復号でき、履歴が改竄されていないかを検証することができる。公開される算出方法で、第三者は履歴情報からハッシュ値を算出することができる。また同じく履歴情報のハッシュ値を、認証子を復号した値と直前の認証子の値とから逆算することもできる。そして、実際に算出したハッシュ値と、逆算したハッシュ値とを照合することにより、履歴情報が改竄されていないかどうかを確認できる。
【0052】
履歴情報からハッシュ値を求める方法を知っていても、秘密鍵を知らなければ暗号化できないので、検知されないように履歴を改竄することはできない。また、履歴を削除した場合も、前後の履歴の認証子との関係が崩れてしまうので検知可能である。
認証子を安全に生成する上で特に重要なのは、ログを改竄できる立場にいる人間に、秘密鍵を知られないようにすることである。ログの真正性を保証する必要がある場合は、外部の人間だけでなく、管理者のような内部の人間からも秘密鍵を守る必要がある。そのために秘密鍵はICカードのような耐タンパー性を有する装置内に保管され、外部に秘密鍵が漏れないように、秘密鍵による暗号化はICカードの中で行われるのが望ましい(例えば、特許文献17、特許文献19参照)。
【0053】
本実施の形態では、履歴に対するタイムスタンプを、その認証子から得る。
たとえば、算出された認証子を改めて履歴のハッシュ値とみなし、この値をパラメタとして、ネットワークで接続されたタイムスタンプ局(TSA)にタイムスタンプ生成要求を送信する。タイムスタンプ局は、ハッシュ値と時刻情報とを統合し、これをタイムスタンプ局の秘密鍵で暗号化することによりタイムスタンプトークン(TST)を生成して返信する。このようにして得たタイムスタンプトークンを履歴に付加してタイムスタンプとして保管する。
【0054】
図5に、タイムスタンプ保管モジュール250の具体例を示す。履歴のタイムスタンプトークン(TST、タイムスタンプトークン欄522に記録)は、データベース510に実装されたタイムスタンプトークン保管モジュール511に、認証子(認証子欄521に記録)と関連づけて保存され、ログに記録された認証子から、その履歴のタイムスタンプトークンを取得できる。
図5は、タイムスタンプトークン保管531の指示があると、データベース510内のタイムスタンプトークン保管モジュール511が管理しているタイムスタンプトークンテーブル520に記録する例を示している。
また、図5の例では、キーとして認証子だけを使用している。適切なハッシュ関数を選択することにより、実際の認証子の値(ハッシュ値)が衝突する可能性を非常に低くすることができるので、キーとしては認証子だけで十分と考えられる。あるいは万が一の衝突を避けるために、たとえば履歴の日時情報と組にしたものをキーとするなど工夫してもよい。
【0055】
本実施の形態では、すべてではなく一部の履歴に対してタイムスタンプを付加している。
図6に、タイムスタンプを付加する履歴を特定する例として、一定間隔ごとの履歴に対してタイムスタンプを付加する実施例を示す。この例では、あらかじめ定められた履歴の間隔(件数)ごとにタイムスタンプを付加する。その間隔は、ログ設定情報の一部として、管理者610などによる操作によって設定できてもよい。その設定は、設定格納モジュール260によって格納される。
システムとして設定できる間隔の値には、下限や上限を設けてもよい。
この値に1を指定すれば、1件ごとにタイムスタンプを付加することが可能になる。しかし、多くのタイムスタンプを付加することは、処理時間および金銭的なコストがかかるため、システムとして設定可能な下限を設けた方がより安全である。
【0056】
同様に、間隔として大きな値を指定すれば、それだけタイムスタンプを付加せずに済むので、コスト的には負担が少なくてよくなるが、時系列を遡ってログの真正性を検証する際に、より多くの履歴を遡る必要があり、また後述するようにログを交換可能な記録メディアに移す際にも適切な単位で移せなくなる恐れもある。したがって設定可能な上限を設けた方がより安全なシステムを構築できる。いずれにせよ、不適切な値を設定することにより本来の目的が果たせなくなることを防止するようにするとよい。
【0057】
この例の他に、一定時間ごと(例えば毎日所定時刻に)や、履歴の量(履歴情報などを含めたバイト数)ごとにタイムスタンプを付加するなどの方法もある。
また、一定間隔ごと以外に、特定の履歴にタイムスタンプを付加するようにしてもよい。たとえば、システムを起動した直後や、停止する直前などの履歴にタイムスタンプを付加するようにする。この場合、システム起動やシステム停止について履歴をログに記録し、これにタイムスタンプを付加する。起動時および停止時の履歴にタイムスタンプを付加することは、履歴記録の開始時および終了時にタイムスタンプを取得するという点でも有効である。なにより重要であるのは、これによって最低でもログの最初の履歴にタイムスタンプが付加されることである。図7に示す例では、システム起動のログ701が発生すると、それに応じてタイムスタンプを取得する。その結果、図7ではタイムスタンプ付加情報欄307では、タイムスタンプ有702が記録される。
【0058】
あるいはさらに、ユーザーのログイン/ログアウトごとにタイムスタンプを付加するようにしてもよい。文書管理システムであれば、文書のライフサイクルとして重要な、文書の生成(または登録)と破棄(または削除)とに対してタイムスタンプを付加するようにしてもよい。より自由度を持たせるために、管理者などの指示により、任意の履歴に対してタイムスタンプを付加するようにしてもよい。ただし、前述のとおり、実際に実現する場合には、タイムスタンプ付加の量を増やすとコストが増加するので、必要以上に付加しないことが肝要である。
【0059】
前述のように、タイムスタンプを付加する履歴を特定する実施例として、さまざまな変形があるが、コストの面から、すべての履歴にはタイムスタンプを付加しないようにすることも可能である。つまり、タイムスタンプを付加する履歴を一部に限定することで、現実的なコストで且つ効果的にタイムスタンプを付加できるようになる。
【0060】
次にタイムスタンプを付加する際の検証処理について説明する。図8に、タイムスタンプ付き履歴を記録する手順を示す。この例では、履歴にタイムスタンプを付加する処理の前に、その履歴からさかのぼり、その直前にタイムスタンプを付加した履歴までの間の全ての履歴に対して、タイムスタンプと認証子による履歴の検証を行い、履歴が改竄されていないことが確認された上でタイムスタンプを付加する。手順を示すと以下の(1)〜(3)となる。これは、図8の(1)〜(3)と対応する。
(1)直前のタイムスタンプを検証する。つまり、図8では、履歴テーブル300内の最終行(新履歴803)が現在のログであるが、それの直前の「TS」マークがある行(直前のタイムスタンプ付加履歴801)を、タイムスタンプトークン保管モジュール511内のタイムスタンプトークンテーブル520を用いて検証する。
(2)以降の履歴の認証子を順次検証する。つまり、図8では、履歴802の認証子を「TS」マークがある行(直前のタイムスタンプ付加履歴801)の検証結果を順次用いながら検証を行う。
(3)新たな履歴の認証子を算出し、認証子によるタイムスタンプを取得し保管してからログに履歴を記録する。つまり、図8では、新履歴803の行にある履歴情報から認証子を算出し、その認証子によるタイムスタンプを取得し、タイムスタンプトークン保管モジュール511内のタイムスタンプトークンテーブル520に認証子をタイムスタンプを対応付けて保管する。その後、新履歴803の行に「TS」マークを付加する。
このようにタイムスタンプ付加前に検証しておくことにより、毎回のように認証子による検証をさかのぼって行わなくても、タイムスタンプの検証を行うだけで、それ以前の履歴に対しては検証済みとすることが可能となる。
【0061】
図9に、交換可能な記録媒体へのログの転記を示す。
この例では、パフォーマンス向上のため、最初にログはハードディスク(HDD930、タイムスタンプトークン保管モジュール511)上に記録される(ファイル形式やデータベースへの記録など)が、ハードディスクの容量が限られていることと長期保管を目的として、ハードディスク上に記録されたログは後でDVD−Rメディア(DVD−R(01)910、DVD−R(02)920)に転記される。
DVD−Rメディアに記録するのは、DVD−Rが改変検知可能な追記型の交換可能な記録媒体であるためであるが、書き換え不能または改変検知可能で、交換可能な記録媒体であればよく、たとえばCD−Rメディアなどに記録してもよい。
DVD−Rメディアにログを書き写すタイミングは、管理者の指示によってでも良いし、ハードディスクに記録されているログの量が一定に達したとき、もしくは時間によって定期的に行ってもよい。
【0062】
この例では、DVD−Rメディア1枚に記録できる4.7Gバイトを最大として、タイムスタンプが付加された履歴から、タイムスタンプが付加された履歴までのまとまりを1単位として、これを1つのログファイルとしてメディアに記録する。このログ単位は、最初と最後の履歴以外にも、すなわちその間の履歴にもタイムスタンプが付加されていてよい。DVD−Rメディアには、ログファイルの他に、メディアに記録するログに含まれる全てのタイムスタンプも併せて記録される。つまり、図9では、DVD−R(01)910には、ログファイル(1000)911、タイムスタンプトークン(1001)912が記録され、DVD−R(02)920には、ログファイル(2000)921、タイムスタンプトークン(2001)922が記録される。ログファイル(1000)911は、履歴テーブル300のTS101がある履歴100からTS200がある履歴200まで(ログ931)の履歴情報である。同様に、ログファイル(2000)921は、履歴テーブル300のTS200がある履歴200からTS300がある履歴300まで(ログ932)の履歴情報である。また、タイムスタンプトークン(1001)912、タイムスタンプトークン(2001)922は、図5のタイムスタンプトークンテーブル520に対応する。
DVD−Rメディアに記録した最後の履歴は、次にDVD−Rメディアに記録するログ単位の最初の履歴として重複して記録される。つまり、図9では、履歴テーブル300内の「履歴200、TS200」の行がログ931(ログファイル(1000)911)とログ932(ログファイル(2000)921)の両方に含まれている。これにより、DVD−Rメディアに記録される履歴の最初は、常にタイムスタンプが付加されることになり、また、複数のメディアに分割して保管されるログの連続性がより明確になる。
【0063】
繰り返しではあるが、メディアに記録される最初の履歴に対してタイムスタンプが付加されていれば、それ以降のメディアに記録されたログに対して、認証子により検証が可能である。したがって、認証子による検証が保証されている状況においては、検証に最低必要なのは最初の履歴のタイムスタンプだけである。
一方、最後のタイムスタンプを記録するのは、メディアに記録されたログ全体を完全ではないが簡単に検証するためであり、またログ全体に対して認証子だけでなく第三者による保証を得るためでもある。最後のタイムスタンプによって、その時刻にそのデータ(つまり最初の履歴から関連が保証されているに違いない最後の履歴の認証子)が存在し、それ以後改変されていないことが、第三者機関であるタイムスタンプ局によって保証される。よって完全ではないけれども簡単にログ全体を検証するには最後の履歴のタイムスタンプだけを、その時刻と最後の履歴の認証子でもって検証すればよい。
【0064】
同様に最初と最後の履歴以外のタイムスタンプは、必ずしも検証に必要とはされないが、必要とするレベルに応じて検証を簡略化するために用いることができ、第三者機関による保証として真正性をより補強する。
さらにまた同様に認証子による検証が保証されている状況では必要ないが、DVD−Rメディアに記録するログファイル全体に対してタイムスタンプを付加しても良い。
【0065】
図10は、本実施の形態の一つとして、文書管理システムのシステム構成を示す図である。これは、文書管理システムにおけるログを管理するものである。
文書管理システムは、ネットワーク(ネットワーク1100、インターネット1090)で接続されたいくつかのサーバ(ログ管理サーバ1010等)によって構成され、同じくネットワークに接続されたクライアント(クライアントPC1050、クライアントPC1060)から利用できる。
サーバには、文書を管理する文書管理サーバA1020、文書管理サーバB1030、ログを管理するログ管理サーバ1010、およびシステムに共通してユーザーのログイン/ログアウトを管理する共通ログインサーバ1040がある。ネットワーク1100はルータ1070を通じてインターネット1090にも接続されており、インターネット1090経由で外部にあるクライアントPC1060からも利用可能である。より具体的には、文書管理サーバ(文書管理サーバA1020、文書管理サーバB1030)はWebアプリケーションサーバとして実現されており、さらにクライアントPC1060はWebブラウザを使用して文書管理サーバ(文書管理サーバA1020、文書管理サーバB1030)にアクセスするものとする。
【0066】
本システムにおける各種の履歴情報は、各サーバからログ管理サーバ1010へネットワーク1100経由で転送され、ログ管理サーバ1010によって一括管理される。たとえば、ユーザーがログインしたりログアウトしたりすると、その履歴情報が共通ログインサーバ1040からログ管理サーバ1010へ送信される。また文書を登録、閲覧、削除などすると、同様にその履歴情報が文書管理サーバA1020または文書管理サーバB1030からログ管理サーバ1010へ送信される。
ログ管理サーバ1010には、ログ管理データベース1014、ICカード端末機1011、およびDVD−Rドライブ1013が接続されている。
ログ管理データベース1014は、履歴や履歴に付加したタイムスタンプトークンなどを格納し管理する。また、ログに関する各種設定の値についても格納されている。
ICカード端末機1011には、履歴管理用ICカード1012がセットされる。ログ管理サーバ1010はICカード端末機1011を介して履歴管理用ICカード1012と接続可能である。
【0067】
履歴管理用ICカード1012には、履歴の認証子を算出したり検証したりするアプリケーションがインストールされている。
履歴管理用ICカード1012は、カード内部で生成した秘密鍵と公開鍵のペアを内部に保管し、さらに認証子を算出するために必要な前の認証子の値を内部に保管する機能を有している。履歴管理用ICカード1012は耐タンパー性を有し、内部に保管している秘密鍵および前の認証子の値は外部からは一切アクセス不能になっており、秘密鍵を取得したり内部に保持する前の認証子を改竄したりすることが不可能になっている。なお、公開鍵はICカード端末機1011を介して読み取りのみ可能である。
DVD−Rドライブ1013は、ログ管理データベース1014に格納した履歴やタイムスタンプトークンを、DVD−Rメディアに記録するのに用いる。
【0068】
図11にログ管理処理の流れについて概要を示す。
ステップS1201では、文書管理サーバA1020がログ管理サーバ1010に対して、履歴情報を出力する。
ステップS1202では、ログ管理サーバ1010は、文書管理サーバA1020より履歴情報を受信する。そして、履歴管理用ICカード1012に対して、認証子算出を指示する。
ステップS1203では、履歴管理用ICカード1012は、ログ管理サーバ1010からの指示に応じて、認証子を算出する。
ステップS1204では、ログ管理サーバ1010は、直前の履歴の検証を行う。
ステップS1205では、ログ管理サーバ1010は、タイムスタンプを付加するか否かの判定を行う。
ステップS1206では、ログ管理サーバ1010での処理は、ステップS1205の判定結果に基づいて、タイムスタンプを付加するのであればステップS1207へ進み、タイムスタンプを付加することが不要であればステップS1209へ進む。
ステップS1207では、ログ管理サーバ1010は、前回のタイムスタンプ付き履歴から検証を行う。そして、タイムスタンプ局1080に対して、タイムスタンプ生成の指示を行う。
ステップS1208では、タイムスタンプ局1080は、ログ管理サーバ1010からの指示に応じて、タイムスタンプを生成する。
ステップS1209では、ログ管理サーバ1010は、履歴を記録する。この結果を文書管理サーバA1020へ通知する。
ステップS1210では、文書管理サーバA1020は、ログ管理サーバ1010からの履歴出力結果を受信する。そして、次の処理を行う。
【0069】
次にログ管理処理を詳細に説明する。
ログ管理サーバ1010では、各サーバから履歴情報が送られると、受信した履歴情報からハッシュ値を算出する。このときに用いられるハッシュ関数は、必要に応じて公開されることにより、管理者などによって勝手に変更できず、また自前で履歴の正当性を検証することも可能とする。
ログ管理サーバ1010は、算出した履歴情報のハッシュ値を入力パラメタとして、ICカード端末機1011を介して履歴管理用ICカード1012に、履歴の認証子の算出を要求する。
履歴管理用ICカード1012は、入力されたハッシュ値と、内部に保持する前の認証子の値とを計算し、さらに計算結果の値を、内部に保持する秘密鍵でもって暗号化(署名)することによって、新たな認証子を得る。算出した認証子は結果としてログ管理サーバ1010に返されるとともに、次の認証子の計算に使うために履歴管理用ICカード1012の内部に保管される。
【0070】
ログ管理サーバ1010は、直前の履歴が改竄されていないことを確認するために、算出された認証子を検証する。算出された認証子を履歴管理用ICカード1012の公開鍵で復号し、さらに求めた履歴情報のハッシュ値から、履歴管理用ICカード1012の内部で保持していた前の認証子の値を逆算する。その値を直前の履歴の認証子と照合する。
照合の結果、二つの認証子の値が異なれば、改竄された可能性があるとみなし、管理者に通知したりシステムを緊急停止したりするなどの処理を行う。
照合した結果が正しければ、履歴にタイムスタンプを付加するかどうかを、ログ管理データベース1014に格納された設定に従って決定する。設定には、履歴を何件記録するごとにタイムスタンプを付加するか、その件数についての情報が含まれており、ログ管理サーバ1010は前回タイムスタンプを付加した履歴から現在の履歴までの数をカウントしている。なお、この設定に関わらず、ログ管理サーバ1010は、ログ管理サーバ1010の起動時および停止直前に、起動または停止に関する履歴をタイムスタンプ付きで記録する。
【0071】
カウントしている値が設定した件数に達しない間は、履歴情報とその認証子とを履歴としてログ管理データベース1014に記録する。
カウントしている値が設定した件数に達した場合、前回のタイムスタンプ付き履歴から現在までの履歴を検証し、改竄されていないことが判明した場合は、記録する履歴のタイムスタンプトークンを取得して、履歴情報とその認証子とを履歴としてログ管理データベース1014に記録するとともに、タイムスタンプトークンを認証子に関連づけてログ管理データベース1014に保管し、カウンタの値をリセットする。
【0072】
前回のタイムスタンプ付き履歴から現在までの履歴を検証するには、まず前回のタイムスタンプ付き履歴をタイムスタンプで検証することから始める。その履歴が正しいかどうかは、その履歴情報に含まれる日時および認証子がタイムスタンプとあっているかどうかで確認する。あとは順次、履歴の認証子を履歴管理用ICカード1012の公開鍵で復号しながら、その値が履歴情報のハッシュ値と直前の履歴の認証子とから計算で求める値と同じかどうかを確認し、ログが改竄されていないことを検証する。
【0073】
履歴にタイムスタンプを付加するには、改竄されていないことが検証できた後、履歴の認証子をハッシュ値とみなし、これをパラメタとして、インターネット1090を介して接続したタイムスタンプ局1080にタイムスタンプの生成を要求する。タイムスタンプ局1080は送られたハッシュ値(認証子)とその時点の時刻からタイムスタンプトークンを生成しログ管理サーバ1010へ返信する。このようにして、ログ管理サーバ1010は、返信されたタイムスタンプトークンを受信すると、履歴情報とその認証子とを履歴としてログ管理データベース1014に記録するとともに、タイムスタンプトークンを認証子に関連づけてログ管理データベース1014に保管する。
【0074】
ログ管理サーバ1010は、設定内容に従って、ログの量が設定された一定量に達したり、設定された期間が経過したりするごとに、ログ管理データベース1014に記録されているログの内容を自動的にDVD−Rに書き写したり、管理者に通知したりする。DVD−Rドライブ1013に記録可能なメディアがセットされていない場合はDVD−Rに書き写す代わりに管理者に同様に通知する。また、DVD−Rメディア一枚分のログを一括して書き写す場合は書き写しが完了した時に、あるいは複数回に分けてメディアに追記していく場合はこれ以上追記できなくなった時に、DVD−Rメディアへの記録が完了したことを管理者に通知する。
【0075】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図12に示すように、一般的なコンピュータであり、具体的には認証子生成モジュール11、証明情報要求モジュール12、証明情報受信モジュール13、証明情報記憶モジュール14、検証モジュール15等のプログラムを実行するCPU901と、そのプログラムやデータを記憶するRAM902と、本コンピュータを起動するためのプログラム等が格納されているROM903と、補助記憶装置であるHD904と、キーボード、マウス等のデータを入力する入力装置906と、CRTや液晶ディスプレイ等の出力装置905と、通信ネットワークと接続するための通信回線インタフェース907、そして、それらをつないでデータのやりとりをするためのバス908により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【0076】
なお、図12に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図12に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよい。また、特に、パーソナルコンピュータの他、携帯電話、ゲーム機、カーナビ機、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(多機能複写機とも呼ばれ、スキャナ、プリンタ、複写機、ファックス等の機能を有している)などに組み込まれていてもよい。
【0077】
なお、説明したプログラムについては、記録媒体に格納することも可能であり、また、そのプログラムを通信手段によって提供することもできる。その場合、例えば、上記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えることもできる。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去および書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、上記のプログラムまたはその一部は、上記記録媒体に記録して保存や流通等させることが可能である。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにはこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に乗せて搬送することも可能である。
さらに、上記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。
【図面の簡単な説明】
【0078】
【図1】本実施の形態の構成例を示すブロック図である。
【図2】履歴管理モジュール内の構成例を示すブロック図である。
【図3】ログ出力の例を示す説明図である。
【図4】一般的な認証子の算出方法の例を示す説明図である。
【図5】タイムスタンプ保管モジュールの具体例を示す説明図である。
【図6】タイムスタンプを付加すべき履歴を特定する例を示す説明図である。
【図7】システム起動時の履歴にタイムスタンプを付加する例を示す説明図である。
【図8】タイムスタンプ付き履歴を記録する手順例を示す説明図である。
【図9】交換可能な記録媒体への転記例(長期保管用)を示す説明図である。
【図10】本実施の形態の一つのシステム構成例(文書管理システムにおけるログ管理サーバ)を示す説明図である。
【図11】ログ管理処理の流れ(概要)を示す説明図である。
【図12】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【0079】
10…情報処理システム
11…認証子生成モジュール
12…証明情報要求モジュール
13…証明情報受信モジュール
14…証明情報記憶モジュール
15…検証モジュール
20…第三者機関
30…通信ネットワーク
200…履歴管理モジュール
210…履歴記憶モジュール
220…認証子生成モジュール
230…検証モジュール
240…タイムスタンプ取得処理モジュール
250…タイムスタンプ保管モジュール
260…設定格納モジュール
300…履歴テーブル
1010…ログ管理サーバ
1011…ICカード端末機
1012…履歴管理用ICカード
1013…DVD−Rドライブ
1014…ログ管理データベース
1020…文書管理サーバA
1021、1031…文書DB
1030…文書管理サーバB
1040…共通ログインサーバ
1050、1060…クライアントPC
1070…ルータ
1080…タイムスタンプ局
1090…インターネット
1100…ネットワーク
【技術分野】
【0001】
本発明は、情報処理システムおよび情報処理プログラムに関する。
【背景技術】
【0002】
計算機が社会に浸透するにあたって、そのセキュリティの観点から、計算機の利用履歴(ログ)の改竄を防止および検知するための技術、特に改竄されているかどうかを検証するための認証子(改竄検知コード、メッセージダイジェスト、検証値、ハッシュなどと呼ばれることもある)に関する技術が注目されている。
履歴の改竄を防止または検知するための技術として次のようなものがある。
(1)物理的に書き換え不能にするもの。
(2)外部からアクセス不能にするもの。
(3)履歴自体を暗号化するもの。
(4)複数の記録から照合するもの。
(5)ログに改竄検知コードや署名を付与するもの。
【0003】
物理的に書き換え不能にするものとして、改竄不能または改竄の記録が残る記録媒体を使うものがある。
例えば履歴をCD−Rなど書き換え不能な記録媒体(あるいは変更/削除したデータがそのまま残る追記型記録媒体)に記録するものとして、特許文献1や特許文献2などがある。
【0004】
また、例えば履歴を外部からアクセス不能にすることで、外部からの改竄を防止するものとしては、装置的なものが多く、特許文献3、特許文献4、特許文献5、特許文献6などがあり、一般的には装置の外部から内部の履歴を改竄することは困難である。
他に、リアルタイムにログをリモートロケーションに順次送信してしまうことで改竄を防止するもの(特許文献7)などもある。
履歴自体を暗号化するものは、情報漏えいを防止すると同時に、鍵を持たず復号や再暗号化ができない者には改竄できない。特許文献8や特許文献9などである。
【0005】
複数の記録から照合するものは、複数の履歴を保存しこれらの記録内容を相互に照合することで改竄を検知する。同一内容を複数に記録したり、重要な一部だけを別に記録したり、別々の関連する履歴を照合したり、履歴以外の情報(例えばパケット)を収集して照合するものなどがある。同一の内容を記録する場合は、改竄を検知するだけでなく、改竄されていない方の履歴から改竄された履歴を復元することもできる。特許文献10、特許文献11、特許文献12、特許文献13、特許文献14などである。
【0006】
ログに改竄検知コードや署名を付与するものとしては、通信時にログやデータに署名するものや、履歴に改竄されているかどうかを検証するための認証子を付加して記録するものなどがある。通信時に署名するものとしては特許文献15や特許文献16などがある。また、認証子を使うものとしては、特許文献17、特許文献18、特許文献19などがある。
【0007】
書き換え不能な記録媒体によって改竄を物理的に防止する方法として、CD−Rのような書き換え不能な記録媒体に記録する方法がある。CD−Rのような書き換え不能な記録媒体への記録は、ハードディスクなどと違い時間がかかる場合が多い。そこでまずハードディスクのような記録装置に記録した後で書き換え不能な記録媒体に書き写す方法などが行われる。
【0008】
管理者でも改竄できないとする履歴管理方法として、前述の特許文献19がある。これは、履歴に認証子を付加して記録するもので、認証子により改竄されているかどうかを検知することができる。
特に、記録する履歴の認証子を、記録する履歴情報とその直前に記録された履歴の認証子とから算出した値に署名を施すことによって得るため、単に行ごとの履歴改竄だけでなく、履歴間の時系列的な関係の改竄まで検知可能である。このように直前の履歴(の認証子など)を使って認証子を算出する方法はよく使われており、前述の特許文献17の他、特許文献20なども同様である。
【0009】
履歴の改竄検知は基本的に、前述したように認証子によって行われるが、改竄検知の可能性は認証子の連続性によって支えられている。
履歴情報の内容の改竄に対しては、認証子がもつそのハッシュ値だけで改竄を検知することができる。一方、履歴を削除するような改竄に対しては、認証子がもつハッシュ値だけでは検知できない。これに対しては、時系列的に並ぶ前後の認証子間の関係によって、たとえ履歴の一部を削除した場合であっても、その認証子の関係が崩れることにより、改竄を検知することができるのである。
【0010】
この方法だけでは、完全に改竄を検知するためには、記録された認証子を順次さかのぼり、最初の履歴まで辿る必要がある。
【0011】
特許文献21では、通信の当事者が相手のログに対して署名するようにしている。
【特許文献1】特開2000−322647号公報
【特許文献2】特開2000−099401号公報
【特許文献3】特開2000−035991号公報
【特許文献4】特開2001−043193号公報
【特許文献5】特開2001−043269号公報
【特許文献6】特開2005−301980号公報
【特許文献7】特開2003−099295号公報
【特許文献8】特開2002−297540号公報
【特許文献9】特開2005−197810号公報
【特許文献10】特開2000−163374号公報
【特許文献11】特開2000−285076号公報
【特許文献12】特開2001−142764号公報
【特許文献13】特開2002−344439号公報
【特許文献14】特開2004−206564号公報
【特許文献15】特開2001―222219号公報
【特許文献16】特開2002−007288号公報
【特許文献17】特開平10−123950号公報
【特許文献18】特開2001−337600号公報
【特許文献19】特開2002−082834号公報
【特許文献20】特開2005−122483号公報
【特許文献21】特開2001―222219号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
本発明は、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようにした情報処理システムおよび情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0013】
請求項1の発明は、順次生成された情報から認証子を生成する認証子生成手段と、前記認証子生成手段により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求手段を具備することを特徴とする。
【0014】
請求項2の発明は、請求項1の発明において、前記認証子の一部に対する証明情報を受信する証明情報受信手段と、前記証明情報受信手段により受信された前記証明情報を、前記認証子の一部と対応付けて記憶する証明情報記憶手段を更に具備することを特徴とする。
【0015】
請求項3の発明は、請求項1または請求項2の発明において、前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報であることを特徴とする。
【0016】
請求項4の発明は、順次生成された情報から認証子を生成する認証子生成手段と、前記情報および前記認証子生成手段により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求手段を具備することを特徴とする。
【0017】
請求項5の発明は、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶する証明情報記憶手段と、前記証明情報記憶手段により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証手段を具備することを特徴とする。
【0018】
請求項6の発明は、コンピュータに、順次生成された情報から認証子を生成する認証子生成機能と、前記認証子生成機能により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求機能を実現させることを特徴とする。
【0019】
請求項7の発明は、請求項6の発明において、コンピュータに、前記認証子の一部に対する証明情報を受信する証明情報受信機能と、前記証明情報受信機能により受信された前記証明情報を、前記認証子の一部と対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能を更に実現させることを特徴とする。
【0020】
請求項8の発明は、請求項6または請求項7の発明において、前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報であることを特徴とする。
【0021】
請求項9の発明は、コンピュータに、順次生成された情報から認証子を生成する認証子生成機能と、前記情報および前記認証子生成機能により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求機能を実現させることを特徴とする。
【0022】
請求項10の発明は、コンピュータに、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能と、前記証明情報記憶制御機能により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証機能を実現させることを特徴とする。
【発明の効果】
【0023】
請求項1に記載の情報処理システムによれば、本構成を有していない場合に比較して、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようになる。
【0024】
請求項2に記載の情報処理システムによれば、本構成を有していない場合に比較して、自己が記憶している情報に基づいて改竄を検知することができ、改竄をより効率的に検知できるようになる。
【0025】
請求項3に記載の情報処理システムによれば、本構成を有していない場合に比較して、改竄の検知の信頼性を向上できるようになる。
【0026】
請求項4に記載の情報処理システムによれば、本構成を有していない場合に比較して、順次生成された情報が記録媒体に記憶された場合であっても、その改竄をより効率的に検知できるようになる。
【0027】
請求項5に記載の情報処理システムによれば、本構成を有していない場合に比較して、以前の認証子に対応付けられた証明情報までを検証することで済み、効率的な検証ができるようになる。
【0028】
請求項6に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、順次生成された情報全体を改竄されたような場合であっても、その改竄をより効率的に検知できるようになる。
【0029】
請求項7に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、自己が記憶している情報に基づいて改竄を検知することができ、改竄をより効率的に検知できるようになる。
【0030】
請求項8に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、改竄の検知の信頼性を向上できるようになる。
【0031】
請求項9に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、順次生成された情報が記録媒体に記憶された場合であっても、その改竄をより効率的に検知できるようになる。
【0032】
請求項10に記載の情報処理プログラムによれば、本構成を有していない場合に比較して、以前の認証子に対応付けられた証明情報までを検証することで済み、効率的な検証ができるようになる。
【発明を実施するための最良の形態】
【0033】
まず、本実施の形態の理解を助けるために、その概略を説明する。
本実施の形態は、次のいずれか1つ以上の目的を有している。
(1)認証子により履歴の真正性を保証する履歴管理を行う情報処理システム、情報処理プログラム、情報処理装置または情報処理方法において、行単位の改竄だけでなく、履歴全体の改竄に対しても有効で、管理者などシステム内部の者またはそれらの共謀による改竄を防ぐことを目的とする。
(2)また、履歴管理が処理的にも経済的にも低コストであることを目的とする。
(3)また、改竄検知処理が効率的であることを目的とする。
(4)また、長期保管を目的としてログを複数の交換可能な記録媒体に転記する場合でも、転記時の改竄を防ぎ、検証も容易であることを目的とする。
(5)また、従来の認証子による履歴管理方法と組み合わせることが可能でより堅牢なセキュリティを提供することを目的とする。
【0034】
前述の目的のいずれかを達成するために、本実施の形態は、次のように作用する。
履歴情報を履歴の改竄を検知するための認証子とともに記録する履歴管理に関するものであって、記録する一部の履歴に対し、該履歴の認証子に基づいてタイムスタンプを付与する。
さらに、少なくとも記録する最初の履歴に対して、その認証子によるタイムスタンプを付与するようにしてもよい。
さらに、システムの起動時に履歴を記録し、その履歴に対して認証子によるタイムスタンプを付与するようにしてもよい。
同様にシステムの停止直前にも履歴を記録し、その履歴に対して認証子によるタイムスタンプを付与するようにしてもよい。
一定件数の履歴を記録したり一定時間の経過ごとに、その直後の履歴にタイムスタンプを付与するようにしてもよい。その場合、タイムスタンプを付与する方法および間隔は、予め設定しておいてもよいし、管理者によって設定できるようにしてもよい。
【0035】
また、前述のような履歴管理によって記録された履歴に対する検証は、次のように行う。
履歴が改竄されているかどうかを、その履歴の認証子と、その直前の認証子とから検証する。このとき直前の認証子が正当であることを仮定している。したがって、より確実に検証を行うには、直前の認証子が正当であるかどうかを検証する必要がある。直前の認証子を検証するには、直前の履歴とそのまた直前の認証子とから検証しなければならず、ここでもそのまた直前の認証子の正当性を仮定している。このように順次さかのぼって認証子の正当性を検証する。ただし、タイムスタンプが付加された履歴までさかのぼったときは、履歴とその直前の認証子とからではなく、タイムスタンプによって認証子の正当性を検証する。
【0036】
その他として、次のようにもできる。
履歴は履歴記憶部に記録するとともに、タイムスタンプトークンは履歴の認証子と関連づけてタイムスタンプ保管部に保管する。なお、タイムスタンプトークンとは、信頼のおける時刻と文書などの情報に対し、変更、改竄があったかどうかを検知できる情報、もしくはそれを指し示す情報のことをいう。たとえば、文書などの情報のハッシュデータに時刻情報等を付与して発行する。
履歴を記録媒体に保存する場合、保存対象である一連の履歴のうち、少なくとも最初と最後の履歴の認証子にはタイムスタンプが付与されており、履歴とともにタイムスタンプを記録媒体に保存する。
【0037】
以下、図面に基づき好適な実施の形態を説明する。
図1は、一実施の形態の概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、プログラム、システムおよび方法の説明をも兼ねている。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散または並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続を含む。
また、システムとは、複数のコンピュータ、ハードウェア、装置等がネットワーク等で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
以下、順次生成された情報として、計算機に対する操作等のログ(履歴)を主に例示して説明する。また、前記第三者機関による認証子の証明情報として、タイムスタンプを主に例示して説明する。
【0038】
本実施の形態では、図1に示すように、情報処理システム10と第三者機関20とが通信ネットワーク30を介して接続されている。
情報処理システム10は、認証子生成モジュール11、証明情報要求モジュール12、証明情報受信モジュール13、証明情報記憶モジュール14、検証モジュール15を有している。
認証子生成モジュール11は、順次生成された情報から認証子を生成する。
証明情報要求モジュール12は、通信ネットワーク30と接続しており、認証子生成モジュール11により生成された認証子の一部に対して第三者機関20による認証子の証明情報を要求する。そして、第三者機関20による認証子の証明情報は、前記要求の時期に関する証明情報である。また、前記情報および認証子生成モジュール11により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求することもできる。
【0039】
証明情報受信モジュール13は、通信ネットワーク30と接続しており、第三者機関20による認証子の一部に対する証明情報を受信する。この受信する証明情報は、証明情報要求モジュール12による要求に対するものである。
証明情報記憶モジュール14は、証明情報受信モジュール13により受信された証明情報を、前記認証子の一部と対応付けて記憶する。また、順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関20による証明情報を対応付けて記憶することもできる。
検証モジュール15は、証明情報記憶モジュール14により記憶されている認証子を検証する場合に、該認証子以前の認証子に対応付けられた証明情報を検証する。なお、検証モジュール15は、認証子生成モジュール11等のモジュールを有している情報処理システム10とは異なる情報処理システムに具備されていてもよい。
【0040】
より具体的に、図2を用いて、履歴管理モジュール200内のモジュール構成例を説明する。
履歴管理モジュール200は、図1の認証子生成モジュール11から検証モジュール15に対応する。履歴管理モジュール200は、履歴記憶モジュール210、認証子生成モジュール220、検証モジュール230、タイムスタンプ取得処理モジュール240、タイムスタンプ保管モジュール250、設定格納モジュール260を有している。
履歴記憶モジュール210は、少なくとも日時情報を含む履歴情報(属性情報など)と前記履歴情報の改竄を検知するための認証子とを履歴として順次記録する。また、タイムスタンプ取得処理モジュール240がタイムスタンプを付加すると判定した場合には、タイムスタンプトークンを取得してから履歴を記録する。
【0041】
認証子生成モジュール220は、前記認証子を履歴情報と直前の履歴の認証子の値とから算出する。
また、認証子生成モジュール220は、履歴情報のハッシュ値(要約関数による値)と直前の履歴の認証子の値とから計算した値に対して秘密鍵による暗号化(電子署名)を施すことにより認証子を算出することもできる。
また、認証子生成モジュール220は、前記秘密鍵と直前の履歴の認証子の値とを、外部からアクセス不能な状態で内部に保持し、内部に保持した該秘密鍵と該直前の履歴の認証子とを使用して認証子を算出するとともに、算出した認証子でもって内部に保持する認証子を更新することもできる。
また、認証子生成モジュール220は、具体的には耐タンパー性をもったICカード、USB機器、装置、またはトークン等によって実現される。
【0042】
検証モジュール230は、さらに、第1の検証モジュールと第2の検証モジュールを有しており、その2つのモジュールを用いて検証する。第1の検証モジュールは、履歴が改竄されているかどうかを、履歴の認証子と履歴情報のハッシュ値と直前の履歴の認証子の値とから検証する。第2の検証モジュールは、該履歴から直前のタイムスタンプが付加された履歴までの各履歴をそれぞれ第1の検証モジュールで検証するとともに、直前のタイムスタンプが付加された履歴をその履歴の認証子の値と履歴情報に含まれる日時情報とのタイムスタンプで検証する。
【0043】
タイムスタンプ取得処理モジュール240は、順次記録する履歴の各々に対しタイムスタンプを付加するかどうかを記録時に判定し、付加すると判定した場合には、履歴の認証子の値に基づいてタイムスタンプトークンを取得する。
また、タイムスタンプ取得処理モジュール240は、設定格納部に格納された設定情報に基づいて特定したタイムスタンプを付加する間隔によって、順次記録する履歴に対しタイムスタンプを付加するかどうかを判定する。
【0044】
タイムスタンプ保管モジュール250は、取得した前記タイムスタンプトークンを付加対象の履歴と対応づけて保管する。
また、タイムスタンプ保管モジュール250は、認証子によって履歴とタイムスタンプトークンとを対応付けて保管することもできる。
また、タイムスタンプ保管モジュール250は、履歴IDによって履歴とタイムスタンプトークンとを対応付けて保管することもできる。
【0045】
設定格納モジュール260は、前述の履歴記憶モジュール210等の各モジュールにおける処理に必要な設定を格納しており、各モジュールが処理に必要となった際に参照される。また、この設定は、履歴管理モジュール200の管理者によって行われる場合のほか、履歴記憶モジュール210等のモジュールが他のモジュールの設定を格納する場合もある。
【0046】
図3を用いて、ログ出力の例を説明する。この例では、ログは図3に示すようにテーブル形式(CSV形式を含む)で記録する。操作の履歴は1行に対応しており、履歴情報(日時欄301等)、改竄を検知するための認証子(認証子欄306)、およびタイムスタンプ付加情報(タイムスタンプ付加情報欄307)とを履歴として記録する。履歴情報は、日時(日時欄301)、操作したユーザ名(ユーザ欄302)、操作の名前(操作欄303)、操作対象(操作対象欄304)、操作対象の場所(場所欄305)からなる。履歴に付加したタイムスタンプは、タイムスタンプトークンがログとは別に保管され、認証子によって関連づけされる。
【0047】
タイムスタンプ付加情報欄307に記録されるタイムスタンプ付加情報(図3では「TS」)は、タイムスタンプが付加されているかどうかを示し、簡便のためにログに記録される。あくまでも簡便のためであって、タイムスタンプ付加情報自体は、改竄防止/検知の目的としては必ずしも必要でない。この例では、タイムスタンプが付加された履歴であれば「TS」を記録し、付加されていなければ何も記録しない。また、例にあげたログ出力内容の構成、履歴情報に含まれる内容、認証子の値(データ長など)、タイムスタンプ付加情報の形態は、説明のために簡略化したものであって、実際の内容はこの限りではない。
【0048】
本実施の形態では、特に認証子の算出方法については限定しない。認証子の算出方法については、従来技術のいずれかの方法で算出すればよい。ここでは簡単に、一般的な認証子の算出方法の例を図4に示し説明する。図4は、算出すべき認証子に対応するログ(2行目、履歴情報401のある行)とその直前のログ等(1行目)を示している。
【0049】
認証子を求める手順は概ね次のとおりである。
(1)履歴情報401(日時欄301から場所欄305に記録されている情報)のハッシュ値を求める。
(2)求めたハッシュ値に、直前の履歴の認証子402を加えて、(暗号化されていない)認証子の元を算出する。
(3)認証子の元に対して秘密鍵による暗号化を施して、認証子403を得る。一般的には、電子署名とも呼ばれる。
この手順を式で示すと、次のようになる。
認証子の値 = 秘密鍵による暗号化( 履歴情報のハッシュ値 + 直前の認証子の値 )
【0050】
この算出方法は例であって、基本的な流れを変えずに、変形することができる。
履歴情報のハッシュ値を求める方法としては、履歴情報をパラメタとしてどのように使用するのか、あるいはハッシュ関数(要約関数)に何を使用するかなどがある。ただし、履歴情報のハッシュ値を求める方法は、必要に応じて公開することができ、第三者が同様に同じ値を計算できなければならない。また、履歴情報のハッシュ値と直前の認証子とから暗号化されていない認証子の元を算出する方法も、加算だけでなく、たとえばXORなどのビット演算や、「31の(直前の認証子)乗 + 履歴情報のハッシュ値」など様々ある。この演算も同様に、必要に応じて第三者に公開されなければならない。
最後に秘密鍵による暗号化を施して認証子を得る。
【0051】
第三者は、このようにして得られた認証子を、公開鍵を用いて復号でき、履歴が改竄されていないかを検証することができる。公開される算出方法で、第三者は履歴情報からハッシュ値を算出することができる。また同じく履歴情報のハッシュ値を、認証子を復号した値と直前の認証子の値とから逆算することもできる。そして、実際に算出したハッシュ値と、逆算したハッシュ値とを照合することにより、履歴情報が改竄されていないかどうかを確認できる。
【0052】
履歴情報からハッシュ値を求める方法を知っていても、秘密鍵を知らなければ暗号化できないので、検知されないように履歴を改竄することはできない。また、履歴を削除した場合も、前後の履歴の認証子との関係が崩れてしまうので検知可能である。
認証子を安全に生成する上で特に重要なのは、ログを改竄できる立場にいる人間に、秘密鍵を知られないようにすることである。ログの真正性を保証する必要がある場合は、外部の人間だけでなく、管理者のような内部の人間からも秘密鍵を守る必要がある。そのために秘密鍵はICカードのような耐タンパー性を有する装置内に保管され、外部に秘密鍵が漏れないように、秘密鍵による暗号化はICカードの中で行われるのが望ましい(例えば、特許文献17、特許文献19参照)。
【0053】
本実施の形態では、履歴に対するタイムスタンプを、その認証子から得る。
たとえば、算出された認証子を改めて履歴のハッシュ値とみなし、この値をパラメタとして、ネットワークで接続されたタイムスタンプ局(TSA)にタイムスタンプ生成要求を送信する。タイムスタンプ局は、ハッシュ値と時刻情報とを統合し、これをタイムスタンプ局の秘密鍵で暗号化することによりタイムスタンプトークン(TST)を生成して返信する。このようにして得たタイムスタンプトークンを履歴に付加してタイムスタンプとして保管する。
【0054】
図5に、タイムスタンプ保管モジュール250の具体例を示す。履歴のタイムスタンプトークン(TST、タイムスタンプトークン欄522に記録)は、データベース510に実装されたタイムスタンプトークン保管モジュール511に、認証子(認証子欄521に記録)と関連づけて保存され、ログに記録された認証子から、その履歴のタイムスタンプトークンを取得できる。
図5は、タイムスタンプトークン保管531の指示があると、データベース510内のタイムスタンプトークン保管モジュール511が管理しているタイムスタンプトークンテーブル520に記録する例を示している。
また、図5の例では、キーとして認証子だけを使用している。適切なハッシュ関数を選択することにより、実際の認証子の値(ハッシュ値)が衝突する可能性を非常に低くすることができるので、キーとしては認証子だけで十分と考えられる。あるいは万が一の衝突を避けるために、たとえば履歴の日時情報と組にしたものをキーとするなど工夫してもよい。
【0055】
本実施の形態では、すべてではなく一部の履歴に対してタイムスタンプを付加している。
図6に、タイムスタンプを付加する履歴を特定する例として、一定間隔ごとの履歴に対してタイムスタンプを付加する実施例を示す。この例では、あらかじめ定められた履歴の間隔(件数)ごとにタイムスタンプを付加する。その間隔は、ログ設定情報の一部として、管理者610などによる操作によって設定できてもよい。その設定は、設定格納モジュール260によって格納される。
システムとして設定できる間隔の値には、下限や上限を設けてもよい。
この値に1を指定すれば、1件ごとにタイムスタンプを付加することが可能になる。しかし、多くのタイムスタンプを付加することは、処理時間および金銭的なコストがかかるため、システムとして設定可能な下限を設けた方がより安全である。
【0056】
同様に、間隔として大きな値を指定すれば、それだけタイムスタンプを付加せずに済むので、コスト的には負担が少なくてよくなるが、時系列を遡ってログの真正性を検証する際に、より多くの履歴を遡る必要があり、また後述するようにログを交換可能な記録メディアに移す際にも適切な単位で移せなくなる恐れもある。したがって設定可能な上限を設けた方がより安全なシステムを構築できる。いずれにせよ、不適切な値を設定することにより本来の目的が果たせなくなることを防止するようにするとよい。
【0057】
この例の他に、一定時間ごと(例えば毎日所定時刻に)や、履歴の量(履歴情報などを含めたバイト数)ごとにタイムスタンプを付加するなどの方法もある。
また、一定間隔ごと以外に、特定の履歴にタイムスタンプを付加するようにしてもよい。たとえば、システムを起動した直後や、停止する直前などの履歴にタイムスタンプを付加するようにする。この場合、システム起動やシステム停止について履歴をログに記録し、これにタイムスタンプを付加する。起動時および停止時の履歴にタイムスタンプを付加することは、履歴記録の開始時および終了時にタイムスタンプを取得するという点でも有効である。なにより重要であるのは、これによって最低でもログの最初の履歴にタイムスタンプが付加されることである。図7に示す例では、システム起動のログ701が発生すると、それに応じてタイムスタンプを取得する。その結果、図7ではタイムスタンプ付加情報欄307では、タイムスタンプ有702が記録される。
【0058】
あるいはさらに、ユーザーのログイン/ログアウトごとにタイムスタンプを付加するようにしてもよい。文書管理システムであれば、文書のライフサイクルとして重要な、文書の生成(または登録)と破棄(または削除)とに対してタイムスタンプを付加するようにしてもよい。より自由度を持たせるために、管理者などの指示により、任意の履歴に対してタイムスタンプを付加するようにしてもよい。ただし、前述のとおり、実際に実現する場合には、タイムスタンプ付加の量を増やすとコストが増加するので、必要以上に付加しないことが肝要である。
【0059】
前述のように、タイムスタンプを付加する履歴を特定する実施例として、さまざまな変形があるが、コストの面から、すべての履歴にはタイムスタンプを付加しないようにすることも可能である。つまり、タイムスタンプを付加する履歴を一部に限定することで、現実的なコストで且つ効果的にタイムスタンプを付加できるようになる。
【0060】
次にタイムスタンプを付加する際の検証処理について説明する。図8に、タイムスタンプ付き履歴を記録する手順を示す。この例では、履歴にタイムスタンプを付加する処理の前に、その履歴からさかのぼり、その直前にタイムスタンプを付加した履歴までの間の全ての履歴に対して、タイムスタンプと認証子による履歴の検証を行い、履歴が改竄されていないことが確認された上でタイムスタンプを付加する。手順を示すと以下の(1)〜(3)となる。これは、図8の(1)〜(3)と対応する。
(1)直前のタイムスタンプを検証する。つまり、図8では、履歴テーブル300内の最終行(新履歴803)が現在のログであるが、それの直前の「TS」マークがある行(直前のタイムスタンプ付加履歴801)を、タイムスタンプトークン保管モジュール511内のタイムスタンプトークンテーブル520を用いて検証する。
(2)以降の履歴の認証子を順次検証する。つまり、図8では、履歴802の認証子を「TS」マークがある行(直前のタイムスタンプ付加履歴801)の検証結果を順次用いながら検証を行う。
(3)新たな履歴の認証子を算出し、認証子によるタイムスタンプを取得し保管してからログに履歴を記録する。つまり、図8では、新履歴803の行にある履歴情報から認証子を算出し、その認証子によるタイムスタンプを取得し、タイムスタンプトークン保管モジュール511内のタイムスタンプトークンテーブル520に認証子をタイムスタンプを対応付けて保管する。その後、新履歴803の行に「TS」マークを付加する。
このようにタイムスタンプ付加前に検証しておくことにより、毎回のように認証子による検証をさかのぼって行わなくても、タイムスタンプの検証を行うだけで、それ以前の履歴に対しては検証済みとすることが可能となる。
【0061】
図9に、交換可能な記録媒体へのログの転記を示す。
この例では、パフォーマンス向上のため、最初にログはハードディスク(HDD930、タイムスタンプトークン保管モジュール511)上に記録される(ファイル形式やデータベースへの記録など)が、ハードディスクの容量が限られていることと長期保管を目的として、ハードディスク上に記録されたログは後でDVD−Rメディア(DVD−R(01)910、DVD−R(02)920)に転記される。
DVD−Rメディアに記録するのは、DVD−Rが改変検知可能な追記型の交換可能な記録媒体であるためであるが、書き換え不能または改変検知可能で、交換可能な記録媒体であればよく、たとえばCD−Rメディアなどに記録してもよい。
DVD−Rメディアにログを書き写すタイミングは、管理者の指示によってでも良いし、ハードディスクに記録されているログの量が一定に達したとき、もしくは時間によって定期的に行ってもよい。
【0062】
この例では、DVD−Rメディア1枚に記録できる4.7Gバイトを最大として、タイムスタンプが付加された履歴から、タイムスタンプが付加された履歴までのまとまりを1単位として、これを1つのログファイルとしてメディアに記録する。このログ単位は、最初と最後の履歴以外にも、すなわちその間の履歴にもタイムスタンプが付加されていてよい。DVD−Rメディアには、ログファイルの他に、メディアに記録するログに含まれる全てのタイムスタンプも併せて記録される。つまり、図9では、DVD−R(01)910には、ログファイル(1000)911、タイムスタンプトークン(1001)912が記録され、DVD−R(02)920には、ログファイル(2000)921、タイムスタンプトークン(2001)922が記録される。ログファイル(1000)911は、履歴テーブル300のTS101がある履歴100からTS200がある履歴200まで(ログ931)の履歴情報である。同様に、ログファイル(2000)921は、履歴テーブル300のTS200がある履歴200からTS300がある履歴300まで(ログ932)の履歴情報である。また、タイムスタンプトークン(1001)912、タイムスタンプトークン(2001)922は、図5のタイムスタンプトークンテーブル520に対応する。
DVD−Rメディアに記録した最後の履歴は、次にDVD−Rメディアに記録するログ単位の最初の履歴として重複して記録される。つまり、図9では、履歴テーブル300内の「履歴200、TS200」の行がログ931(ログファイル(1000)911)とログ932(ログファイル(2000)921)の両方に含まれている。これにより、DVD−Rメディアに記録される履歴の最初は、常にタイムスタンプが付加されることになり、また、複数のメディアに分割して保管されるログの連続性がより明確になる。
【0063】
繰り返しではあるが、メディアに記録される最初の履歴に対してタイムスタンプが付加されていれば、それ以降のメディアに記録されたログに対して、認証子により検証が可能である。したがって、認証子による検証が保証されている状況においては、検証に最低必要なのは最初の履歴のタイムスタンプだけである。
一方、最後のタイムスタンプを記録するのは、メディアに記録されたログ全体を完全ではないが簡単に検証するためであり、またログ全体に対して認証子だけでなく第三者による保証を得るためでもある。最後のタイムスタンプによって、その時刻にそのデータ(つまり最初の履歴から関連が保証されているに違いない最後の履歴の認証子)が存在し、それ以後改変されていないことが、第三者機関であるタイムスタンプ局によって保証される。よって完全ではないけれども簡単にログ全体を検証するには最後の履歴のタイムスタンプだけを、その時刻と最後の履歴の認証子でもって検証すればよい。
【0064】
同様に最初と最後の履歴以外のタイムスタンプは、必ずしも検証に必要とはされないが、必要とするレベルに応じて検証を簡略化するために用いることができ、第三者機関による保証として真正性をより補強する。
さらにまた同様に認証子による検証が保証されている状況では必要ないが、DVD−Rメディアに記録するログファイル全体に対してタイムスタンプを付加しても良い。
【0065】
図10は、本実施の形態の一つとして、文書管理システムのシステム構成を示す図である。これは、文書管理システムにおけるログを管理するものである。
文書管理システムは、ネットワーク(ネットワーク1100、インターネット1090)で接続されたいくつかのサーバ(ログ管理サーバ1010等)によって構成され、同じくネットワークに接続されたクライアント(クライアントPC1050、クライアントPC1060)から利用できる。
サーバには、文書を管理する文書管理サーバA1020、文書管理サーバB1030、ログを管理するログ管理サーバ1010、およびシステムに共通してユーザーのログイン/ログアウトを管理する共通ログインサーバ1040がある。ネットワーク1100はルータ1070を通じてインターネット1090にも接続されており、インターネット1090経由で外部にあるクライアントPC1060からも利用可能である。より具体的には、文書管理サーバ(文書管理サーバA1020、文書管理サーバB1030)はWebアプリケーションサーバとして実現されており、さらにクライアントPC1060はWebブラウザを使用して文書管理サーバ(文書管理サーバA1020、文書管理サーバB1030)にアクセスするものとする。
【0066】
本システムにおける各種の履歴情報は、各サーバからログ管理サーバ1010へネットワーク1100経由で転送され、ログ管理サーバ1010によって一括管理される。たとえば、ユーザーがログインしたりログアウトしたりすると、その履歴情報が共通ログインサーバ1040からログ管理サーバ1010へ送信される。また文書を登録、閲覧、削除などすると、同様にその履歴情報が文書管理サーバA1020または文書管理サーバB1030からログ管理サーバ1010へ送信される。
ログ管理サーバ1010には、ログ管理データベース1014、ICカード端末機1011、およびDVD−Rドライブ1013が接続されている。
ログ管理データベース1014は、履歴や履歴に付加したタイムスタンプトークンなどを格納し管理する。また、ログに関する各種設定の値についても格納されている。
ICカード端末機1011には、履歴管理用ICカード1012がセットされる。ログ管理サーバ1010はICカード端末機1011を介して履歴管理用ICカード1012と接続可能である。
【0067】
履歴管理用ICカード1012には、履歴の認証子を算出したり検証したりするアプリケーションがインストールされている。
履歴管理用ICカード1012は、カード内部で生成した秘密鍵と公開鍵のペアを内部に保管し、さらに認証子を算出するために必要な前の認証子の値を内部に保管する機能を有している。履歴管理用ICカード1012は耐タンパー性を有し、内部に保管している秘密鍵および前の認証子の値は外部からは一切アクセス不能になっており、秘密鍵を取得したり内部に保持する前の認証子を改竄したりすることが不可能になっている。なお、公開鍵はICカード端末機1011を介して読み取りのみ可能である。
DVD−Rドライブ1013は、ログ管理データベース1014に格納した履歴やタイムスタンプトークンを、DVD−Rメディアに記録するのに用いる。
【0068】
図11にログ管理処理の流れについて概要を示す。
ステップS1201では、文書管理サーバA1020がログ管理サーバ1010に対して、履歴情報を出力する。
ステップS1202では、ログ管理サーバ1010は、文書管理サーバA1020より履歴情報を受信する。そして、履歴管理用ICカード1012に対して、認証子算出を指示する。
ステップS1203では、履歴管理用ICカード1012は、ログ管理サーバ1010からの指示に応じて、認証子を算出する。
ステップS1204では、ログ管理サーバ1010は、直前の履歴の検証を行う。
ステップS1205では、ログ管理サーバ1010は、タイムスタンプを付加するか否かの判定を行う。
ステップS1206では、ログ管理サーバ1010での処理は、ステップS1205の判定結果に基づいて、タイムスタンプを付加するのであればステップS1207へ進み、タイムスタンプを付加することが不要であればステップS1209へ進む。
ステップS1207では、ログ管理サーバ1010は、前回のタイムスタンプ付き履歴から検証を行う。そして、タイムスタンプ局1080に対して、タイムスタンプ生成の指示を行う。
ステップS1208では、タイムスタンプ局1080は、ログ管理サーバ1010からの指示に応じて、タイムスタンプを生成する。
ステップS1209では、ログ管理サーバ1010は、履歴を記録する。この結果を文書管理サーバA1020へ通知する。
ステップS1210では、文書管理サーバA1020は、ログ管理サーバ1010からの履歴出力結果を受信する。そして、次の処理を行う。
【0069】
次にログ管理処理を詳細に説明する。
ログ管理サーバ1010では、各サーバから履歴情報が送られると、受信した履歴情報からハッシュ値を算出する。このときに用いられるハッシュ関数は、必要に応じて公開されることにより、管理者などによって勝手に変更できず、また自前で履歴の正当性を検証することも可能とする。
ログ管理サーバ1010は、算出した履歴情報のハッシュ値を入力パラメタとして、ICカード端末機1011を介して履歴管理用ICカード1012に、履歴の認証子の算出を要求する。
履歴管理用ICカード1012は、入力されたハッシュ値と、内部に保持する前の認証子の値とを計算し、さらに計算結果の値を、内部に保持する秘密鍵でもって暗号化(署名)することによって、新たな認証子を得る。算出した認証子は結果としてログ管理サーバ1010に返されるとともに、次の認証子の計算に使うために履歴管理用ICカード1012の内部に保管される。
【0070】
ログ管理サーバ1010は、直前の履歴が改竄されていないことを確認するために、算出された認証子を検証する。算出された認証子を履歴管理用ICカード1012の公開鍵で復号し、さらに求めた履歴情報のハッシュ値から、履歴管理用ICカード1012の内部で保持していた前の認証子の値を逆算する。その値を直前の履歴の認証子と照合する。
照合の結果、二つの認証子の値が異なれば、改竄された可能性があるとみなし、管理者に通知したりシステムを緊急停止したりするなどの処理を行う。
照合した結果が正しければ、履歴にタイムスタンプを付加するかどうかを、ログ管理データベース1014に格納された設定に従って決定する。設定には、履歴を何件記録するごとにタイムスタンプを付加するか、その件数についての情報が含まれており、ログ管理サーバ1010は前回タイムスタンプを付加した履歴から現在の履歴までの数をカウントしている。なお、この設定に関わらず、ログ管理サーバ1010は、ログ管理サーバ1010の起動時および停止直前に、起動または停止に関する履歴をタイムスタンプ付きで記録する。
【0071】
カウントしている値が設定した件数に達しない間は、履歴情報とその認証子とを履歴としてログ管理データベース1014に記録する。
カウントしている値が設定した件数に達した場合、前回のタイムスタンプ付き履歴から現在までの履歴を検証し、改竄されていないことが判明した場合は、記録する履歴のタイムスタンプトークンを取得して、履歴情報とその認証子とを履歴としてログ管理データベース1014に記録するとともに、タイムスタンプトークンを認証子に関連づけてログ管理データベース1014に保管し、カウンタの値をリセットする。
【0072】
前回のタイムスタンプ付き履歴から現在までの履歴を検証するには、まず前回のタイムスタンプ付き履歴をタイムスタンプで検証することから始める。その履歴が正しいかどうかは、その履歴情報に含まれる日時および認証子がタイムスタンプとあっているかどうかで確認する。あとは順次、履歴の認証子を履歴管理用ICカード1012の公開鍵で復号しながら、その値が履歴情報のハッシュ値と直前の履歴の認証子とから計算で求める値と同じかどうかを確認し、ログが改竄されていないことを検証する。
【0073】
履歴にタイムスタンプを付加するには、改竄されていないことが検証できた後、履歴の認証子をハッシュ値とみなし、これをパラメタとして、インターネット1090を介して接続したタイムスタンプ局1080にタイムスタンプの生成を要求する。タイムスタンプ局1080は送られたハッシュ値(認証子)とその時点の時刻からタイムスタンプトークンを生成しログ管理サーバ1010へ返信する。このようにして、ログ管理サーバ1010は、返信されたタイムスタンプトークンを受信すると、履歴情報とその認証子とを履歴としてログ管理データベース1014に記録するとともに、タイムスタンプトークンを認証子に関連づけてログ管理データベース1014に保管する。
【0074】
ログ管理サーバ1010は、設定内容に従って、ログの量が設定された一定量に達したり、設定された期間が経過したりするごとに、ログ管理データベース1014に記録されているログの内容を自動的にDVD−Rに書き写したり、管理者に通知したりする。DVD−Rドライブ1013に記録可能なメディアがセットされていない場合はDVD−Rに書き写す代わりに管理者に同様に通知する。また、DVD−Rメディア一枚分のログを一括して書き写す場合は書き写しが完了した時に、あるいは複数回に分けてメディアに追記していく場合はこれ以上追記できなくなった時に、DVD−Rメディアへの記録が完了したことを管理者に通知する。
【0075】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図12に示すように、一般的なコンピュータであり、具体的には認証子生成モジュール11、証明情報要求モジュール12、証明情報受信モジュール13、証明情報記憶モジュール14、検証モジュール15等のプログラムを実行するCPU901と、そのプログラムやデータを記憶するRAM902と、本コンピュータを起動するためのプログラム等が格納されているROM903と、補助記憶装置であるHD904と、キーボード、マウス等のデータを入力する入力装置906と、CRTや液晶ディスプレイ等の出力装置905と、通信ネットワークと接続するための通信回線インタフェース907、そして、それらをつないでデータのやりとりをするためのバス908により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【0076】
なお、図12に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図12に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよい。また、特に、パーソナルコンピュータの他、携帯電話、ゲーム機、カーナビ機、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(多機能複写機とも呼ばれ、スキャナ、プリンタ、複写機、ファックス等の機能を有している)などに組み込まれていてもよい。
【0077】
なお、説明したプログラムについては、記録媒体に格納することも可能であり、また、そのプログラムを通信手段によって提供することもできる。その場合、例えば、上記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えることもできる。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去および書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、上記のプログラムまたはその一部は、上記記録媒体に記録して保存や流通等させることが可能である。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにはこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に乗せて搬送することも可能である。
さらに、上記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。
【図面の簡単な説明】
【0078】
【図1】本実施の形態の構成例を示すブロック図である。
【図2】履歴管理モジュール内の構成例を示すブロック図である。
【図3】ログ出力の例を示す説明図である。
【図4】一般的な認証子の算出方法の例を示す説明図である。
【図5】タイムスタンプ保管モジュールの具体例を示す説明図である。
【図6】タイムスタンプを付加すべき履歴を特定する例を示す説明図である。
【図7】システム起動時の履歴にタイムスタンプを付加する例を示す説明図である。
【図8】タイムスタンプ付き履歴を記録する手順例を示す説明図である。
【図9】交換可能な記録媒体への転記例(長期保管用)を示す説明図である。
【図10】本実施の形態の一つのシステム構成例(文書管理システムにおけるログ管理サーバ)を示す説明図である。
【図11】ログ管理処理の流れ(概要)を示す説明図である。
【図12】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【0079】
10…情報処理システム
11…認証子生成モジュール
12…証明情報要求モジュール
13…証明情報受信モジュール
14…証明情報記憶モジュール
15…検証モジュール
20…第三者機関
30…通信ネットワーク
200…履歴管理モジュール
210…履歴記憶モジュール
220…認証子生成モジュール
230…検証モジュール
240…タイムスタンプ取得処理モジュール
250…タイムスタンプ保管モジュール
260…設定格納モジュール
300…履歴テーブル
1010…ログ管理サーバ
1011…ICカード端末機
1012…履歴管理用ICカード
1013…DVD−Rドライブ
1014…ログ管理データベース
1020…文書管理サーバA
1021、1031…文書DB
1030…文書管理サーバB
1040…共通ログインサーバ
1050、1060…クライアントPC
1070…ルータ
1080…タイムスタンプ局
1090…インターネット
1100…ネットワーク
【特許請求の範囲】
【請求項1】
順次生成された情報から認証子を生成する認証子生成手段と、
前記認証子生成手段により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求手段
を具備することを特徴とする情報処理システム。
【請求項2】
前記認証子の一部に対する証明情報を受信する証明情報受信手段と、
前記証明情報受信手段により受信された前記証明情報を、前記認証子の一部と対応付けて記憶する証明情報記憶手段
を更に具備することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報である
ことを特徴とする請求項1または2に記載の情報処理システム。
【請求項4】
順次生成された情報から認証子を生成する認証子生成手段と、
前記情報および前記認証子生成手段により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求手段
を具備することを特徴とする情報処理システム。
【請求項5】
順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶する証明情報記憶手段と、
前記証明情報記憶手段により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証手段
を具備することを特徴とする情報処理システム。
【請求項6】
コンピュータに、
順次生成された情報から認証子を生成する認証子生成機能と、
前記認証子生成機能により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求機能
を実現させることを特徴とする情報処理プログラム。
【請求項7】
コンピュータに、
前記認証子の一部に対する証明情報を受信する証明情報受信機能と、
前記証明情報受信機能により受信された前記証明情報を、前記認証子の一部と対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能
を更に実現させることを特徴とする請求項6に記載の情報処理プログラム。
【請求項8】
前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報である
ことを特徴とする請求項6または7に記載の情報処理プログラム。
【請求項9】
コンピュータに、
順次生成された情報から認証子を生成する認証子生成機能と、
前記情報および前記認証子生成機能により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求機能
を実現させることを特徴とする情報処理プログラム。
【請求項10】
コンピュータに、
順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能と、
前記証明情報記憶制御機能により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証機能
を実現させることを特徴とする情報処理プログラム。
【請求項1】
順次生成された情報から認証子を生成する認証子生成手段と、
前記認証子生成手段により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求手段
を具備することを特徴とする情報処理システム。
【請求項2】
前記認証子の一部に対する証明情報を受信する証明情報受信手段と、
前記証明情報受信手段により受信された前記証明情報を、前記認証子の一部と対応付けて記憶する証明情報記憶手段
を更に具備することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報である
ことを特徴とする請求項1または2に記載の情報処理システム。
【請求項4】
順次生成された情報から認証子を生成する認証子生成手段と、
前記情報および前記認証子生成手段により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求手段
を具備することを特徴とする情報処理システム。
【請求項5】
順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶する証明情報記憶手段と、
前記証明情報記憶手段により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証手段
を具備することを特徴とする情報処理システム。
【請求項6】
コンピュータに、
順次生成された情報から認証子を生成する認証子生成機能と、
前記認証子生成機能により生成された認証子の一部に対して認証子の証明情報を要求する証明情報要求機能
を実現させることを特徴とする情報処理プログラム。
【請求項7】
コンピュータに、
前記認証子の一部に対する証明情報を受信する証明情報受信機能と、
前記証明情報受信機能により受信された前記証明情報を、前記認証子の一部と対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能
を更に実現させることを特徴とする請求項6に記載の情報処理プログラム。
【請求項8】
前記認証子の証明情報は、前記要求の時期に関する第三者機関による証明情報である
ことを特徴とする請求項6または7に記載の情報処理プログラム。
【請求項9】
コンピュータに、
順次生成された情報から認証子を生成する認証子生成機能と、
前記情報および前記認証子生成機能により生成された認証子を記録する記録媒体の記録容量に応じて、該認証子の証明情報を要求する証明情報要求機能
を実現させることを特徴とする情報処理プログラム。
【請求項10】
コンピュータに、
順次生成された情報、該情報に対応する認証子および該認証子の一部に対応する第三者機関による証明情報を対応付けて記憶部に記憶させるように制御する証明情報記憶制御機能と、
前記証明情報記憶制御機能により記憶されている前記情報を前記認証子に基づいて検証する場合に、該認証子以前の認証子に対応付けられた前記証明情報を検証する検証機能
を実現させることを特徴とする情報処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−60745(P2008−60745A)
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願番号】特願2006−232898(P2006−232898)
【出願日】平成18年8月30日(2006.8.30)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願日】平成18年8月30日(2006.8.30)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]