説明

情報処理プログラム及び情報処理装置

【課題】情報に施された電子署名に対する検証を行う場合にあって、次回の検証に用いるための、電子署名に対する検証の結果を記憶装置に記憶させるようにした情報処理プログラムを提供する。
【解決手段】情報処理プログラムは、コンピュータに、情報に施された電子署名に対する検証を行わせる指示を受け付け、電子署名に対応する電子証明書に基づき電子署名に対する検証を行い、改竄がないと判断された場合は、情報と、情報に施された電子署名と、電子署名に対応する電子証明書の有効期限を表す有効期限情報と、の組み合わせに対してハッシュ値を算出し、ハッシュ値に対してタイムスタンプを付与し、検証を行った電子署名を施した情報、電子署名、タイムスタンプが付与されたハッシュ値及び有効期限情報を対応させて記憶装置に出力し、改竄がないと判断された場合は、情報に改竄がないことを示す情報を出力する機能を実現させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム及び情報処理装置に関する。
【背景技術】
【0002】
電子署名に対する検証に関する技術がある。
これに関連する技術として、例えば、特許文献1には、検証鍵、ユーザ情報などの各種の情報を保持する検証装置が文書受理者に代わって検証を行い、検証結果に検証装置自身の署名を施すことを目的とし、保持部は、それぞれ、ユーザ検証鍵、ユーザ個人情報、ユーザ相互関係情報、及び文書情報を保持しており、署名付き文書が署名付き文書入力部から入力されると、ユーザID・文書種類識別部は各署名者のユーザIDと文書種類とを抽出し、署名検証部及び署名権限検証部は、必要なユーザ検証鍵、ユーザ個人情報、ユーザ相互関係情報、及び文書情報を上記保持部から取り出し、署名の検証、署名権限の検証を行い、署名部は、検証結果表示文作成部によって作成された検証結果に、検証装置署名鍵保持部に保持されている検証装置自身の署名を施し、出力部がそれを出力することが開示されている。
【0003】
また、例えば、特許文献2には、複数の電子文書の一括検証にかかる時間を短縮することを課題とし、電子文書の重要度を判定し、重要度が高いと判定した電子文書が有するすべての電子署名を検証して、その電子文書の検証結果を生成し、また、重要度が高くないと判定した電子文書が有する最新の電子署名を検証して、その電子文書の検証結果を生成することが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平08−101868号公報
【特許文献2】特開2008−98783号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、情報に施された電子署名に対する検証を行う場合にあって、次回の検証に用いるための、電子署名に対する検証の結果を記憶装置に記憶させるようにした情報処理プログラム及び情報処理装置を提供することを目的としている。
【課題を解決するための手段】
【0006】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、コンピュータに、情報に施された電子署名に対する検証を行わせる指示を受け付ける受付機能と、前記受付機能によって受け付けられた指示に応じて、前記電子署名に対応する電子証明書に基づき当該電子署名に対する検証を行う検証機能と、前記検証機能によって検証を行った電子署名を施した情報に改竄がないと判断された場合は、当該情報と、当該情報に施された電子署名と、当該電子署名に対応する電子証明書の有効期限を表す有効期限情報と、の組み合わせに対してハッシュ値を算出するハッシュ値算出機能と、前記ハッシュ値算出機能によって算出されたハッシュ値に対してタイムスタンプを付与するタイムスタンプ付与機能と、前記検証を行った電子署名を施した情報、当該電子署名、前記タイムスタンプ付与機能によってタイムスタンプが付与されたハッシュ値及び前記有効期限情報を対応させて記憶装置に出力する機能と、前記検証機能によって前記検証を行った電子署名を施した情報に改竄がないと判断された場合は、当該情報に改竄がないことを示す情報を出力する検証結果出力機能を実現させるための情報処理プログラムである。
【0007】
請求項2の発明は、前記コンピュータに、前記受付機能によって受け付けられた指示に応じて、前記記憶装置から前記検証を行った電子署名を施した情報に対応する前記ハッシュ値と前記有効期限情報を取得する取得機能と、前記取得機能によって取得された有効期限情報が表す有効期限内に現在はあるか否かを判断する判断機能と、前記判断機能によって有効期限内に現在はあると判断された場合は、タイムスタンプが付与されたハッシュ値の検証を行う第2の検証機能と、をさらに実現させ、前記検証結果出力機能は、前記第2の検証機能によって前記組み合わせに改竄がないと判断された場合は、前記検証を行った電子署名を施した情報に対して改竄がないことを示す情報を出力することを特徴とする請求項1に記載の情報処理プログラムである。
【0008】
請求項3の発明は、前記ハッシュ値算出機能は、前記電子証明書が複数ある場合は、該電子証明書の有効期限のうち最も短い有効期限を表す有効期限情報を用いて、ハッシュ値を算出することを特徴とする請求項1又は2に記載の情報処理プログラムである。
【0009】
請求項4の発明は、情報に施された電子署名に対する検証を行わせる指示を受け付ける受付手段と、前記受付手段によって受け付けられた指示に応じて、前記電子署名に対応する電子証明書に基づき当該電子署名に対する検証を行う検証手段と、前記検証手段によって検証を行った電子署名を施した情報に改竄がないと判断された場合は、当該情報と、当該情報に施された電子署名と、当該電子署名に対応する電子証明書の有効期限を表す有効期限情報と、の組み合わせに対してハッシュ値を算出するハッシュ値算出手段と、前記ハッシュ値算出手段によって算出されたハッシュ値に対してタイムスタンプを付与するタイムスタンプ付与手段と、前記検証を行った電子署名を施した情報、当該電子署名、前記タイムスタンプ付与手段によってタイムスタンプが付与されたハッシュ値及び前記有効期限情報を対応させて記憶装置に出力する手段と、前記検証手段によって前記検証を行った電子署名を施した情報に改竄がないと判断された場合は、当該情報に改竄がないことを示す情報を出力する検証結果出力手段を具備することを特徴とする情報処理装置である。
【発明の効果】
【0010】
請求項1の情報処理プログラムによれば、情報に施された電子署名に対する検証を行う場合にあって、次回の検証に用いるための、電子署名に対する検証の結果を記憶装置に記憶させることができる。
【0011】
請求項2の情報処理プログラムによれば、電子署名に対する2回目以降の検証を行う場合において、本構成を有しない場合と比較して、システムへの負担を軽減させることができる。
【0012】
請求項3の情報処理プログラムによれば、複数の電子証明書の有効期限が切れているにもかかわらず、以前に行われた電子署名に対する検証の結果を用いてしまうことを抑制することができる。
【0013】
請求項4の情報処理装置によれば、情報に施された電子署名に対する検証を行う場合にあって、次回の検証に用いるための、電子署名に対する検証の結果を記憶装置に記憶させることができる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態を実現するためのシステム構成の例を示す説明図である。
【図3】本実施の形態による処理例を示すフローチャートである。
【図4】署名関連テーブルのデータ構成例を示す説明図である。
【図5】本実施の形態による処理例(1)を示す説明図である。
【図6】本実施の形態による処理例(2)を示す説明図である。
【図7】本実施の形態による画面提示例を示す説明図である。
【図8】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0016】
本実施の形態である情報処理装置100は、情報に施された電子署名に対する検証を行うものであって、図1の例に示すように、検証指示モジュール110、文書・電子署名・検証結果記憶モジュール120、検証処理モジュール130を有している。
検証指示モジュール110は、検証指示受付モジュール112、検証指示制御モジュール114、検証結果取得モジュール116、提示モジュール118を有しており、主に
検証指示の受け取り、検証処理を制御し、検証結果の提示等を行う。
【0017】
検証指示受付モジュール112は、情報に施された電子署名に対する検証を行わせる指示を受け付ける。情報とは、コンピュータで扱える電子データである。以下、主に、電子文書を例として挙げて説明する。なお、電子文書とは、テキストデータ、場合によっては画像、動画、音声等の電子データ、又はこれらの組み合わせであり、記憶、編集及び検索等の対象となり、システム又は利用者間で個別の単位として交換できるものをいい、これらに類似するものを含む。また、内容としては、電子署名が施されるようなものであればよく、ビジネス文書等が該当する。
【0018】
検証指示制御モジュール114は、検証指示受付モジュール112によって受け付けられた指示に基づいて、他のモジュールを制御する。
検証結果取得モジュール116は、文書・電子署名・検証結果記憶モジュール120と接続されており、検証指示受付モジュール112によって受け付けられた指示に応じて、文書・電子署名・検証結果記憶モジュール120から検証を行った電子署名を施した情報に対応するハッシュ値と有効期限情報を取得する。また、情報、電子署名、タイムスタンプが付与されたハッシュ値及び有効期限情報の組み合わせを取得するようにしてもよい。
また、検証指示制御モジュール114は、文書・電子署名・検証結果記憶モジュール120内に対応するデータがない場合、つまり、検証結果取得モジュール116がハッシュ値と有効期限情報を取得できなかった場合は、電子署名検証モジュール140による検証を行うように制御する。
【0019】
提示モジュール118は、電子署名検証モジュール140による検証結果を示す情報を提示する。例えば、電子署名検証モジュール140によって検証を行った電子署名を施した情報に改竄がないと判断された場合は、その情報に改竄がないことを示す情報(具体的には、例えば、メッセージ等)を出力し、改竄があると判断された場合は、その情報に対して改竄があることを示す情報を出力し、電子証明書の有効期限を過ぎている場合は、その電子証明書が有効期限切れであることを示す情報を出力する。また、検証結果期限検証モジュール160による検証によって、情報、電子署名及び電子証明書の有効期限情報の組み合わせに改竄がないと判断された場合は、検証を行った電子署名を施した情報に対して改竄がないことを示す情報を出力する。したがって、その情報に対して以前に検証が行われ、その検証結果が記憶されており、その検証で使われた電子証明書の有効期限内であって、情報、電子署名及び電子証明書の有効期限情報の組み合わせに改竄がないと判断された場合は、情報に施された電子署名に対する検証を行うことなく、その情報に対して改竄がないことを示す情報を出力することになる。
なお、ここでの「出力」とは、情報提示を行う機器、プログラム等(具体的には、例えば、情報処理装置100に接続された表示装置、情報処理装置100と通信回線を介して接続されている他の情報処理装置のウェブブラウザ等)に出力することであり、具体的には、ディスプレイ等の表示装置への表示の他に、プリンタ等の印刷装置への印刷、スピーカー等の音声出力装置への音声の出力等があり、それらの組み合わせであってもよい。
【0020】
文書・電子署名・検証結果記憶モジュール120は、検証指示モジュール110の検証結果取得モジュール116及び検証結果生成モジュール150と接続されている。タイムスタンプ処理モジュール156によって、情報、電子署名、タイムスタンプが付与されたハッシュ値及び有効期限情報を対応させて文書・電子署名・検証結果記憶モジュール120に記憶させる。また、検証結果取得モジュール116が、検証指示受付モジュール112によって受け付けられた指示に応じて、その組み合わせを文書・電子署名・検証結果記憶モジュール120から取得する。
文書・電子署名・検証結果記憶モジュール120は、具体的には、例えば署名関連テーブル400を記憶する。図4は、署名関連テーブル400のデータ構成例を示す説明図である。
署名関連テーブル400は、文書欄410、電子署名欄420、検証結果欄430を有しており、検証結果欄430は、有効期限欄432、ハッシュ値欄434を有している。
文書欄410は、情報として電子文書を記憶する。例えば、文書名、URL(Uniform Resource Locator)等の電子文書が記憶されている場所であってもよい。
電子署名欄420は、その電子文書に施された電子署名を記憶する。例えば、URL等の電子署名が記憶されている場所であってもよい。
有効期限欄432は、電子証明書の有効期限を記憶する。電子証明書が複数ある場合は、有効期限を複数記憶する。
ハッシュ値欄434は、文書欄410、電子署名欄420、有効期限欄432にそれぞれ記憶されている情報の組み合わせに対するハッシュ値を記憶する。なお、このハッシュ値にはタイムスタンプ処理モジュール156によってタイムスタンプが付与されている。
なお、電子署名検証モジュール140による検証が行われていない場合(改竄ありと判断された場合も含む)は、有効期限欄432、ハッシュ値欄434には何も記憶されていない状態(いわゆるNULLの状態)である。この場合、検証結果取得モジュール116がハッシュ値と有効期限情報を取得できないこととなる。
【0021】
検証処理モジュール130は、電子署名検証モジュール140、検証結果生成モジュール150、検証結果期限検証モジュール160を有しており、主に、電子署名に対する検証を行い、その検証結果を文書・電子署名・検証結果記憶モジュール120に記憶させ、検証結果を用いた検証等を行う。
電子署名検証モジュール140は、検証指示受付モジュール112によって受け付けられた指示に応じて、電子署名に対応する電子証明書に基づき、その電子署名に対する検証を行う。ここでの検証は、一般的に用いられている検証を行えばよい。例えば、電子署名が、電子文書のハッシュ値を算出し、そのハッシュ値(メッセージダイジェストともいう)に対して秘密鍵を用いた暗号化である場合、その秘密鍵に対応した公開鍵である電子証明書を用いて復号し、電子文書のハッシュ値を算出し、復号した値と比較し、一致していれば改竄がないと判断し、一致していなければ改竄されていると判断するようにしてもよい。なお、電子文書のハッシュ値を算出するとは、平文である電子文書を引数としてハッシュ関数を計算することであり、その計算結果がハッシュ値である。
【0022】
検証結果生成モジュール150は、電子証明書有効期限抽出モジュール152、ハッシュ値算出モジュール154、タイムスタンプ処理モジュール156を有しており、文書・電子署名・検証結果記憶モジュール120と接続されており、主に、電子署名検証モジュール140による検証結果を文書・電子署名・検証結果記憶モジュール120に記憶させることを行う。
電子証明書有効期限抽出モジュール152は、検証に用いた電子証明書の有効期限を表す有効期限情報を取得する。電子証明書は、電子証明書発行事業者によって発行されるが、その有効期限が定められている。例えば、電子証明書発行事業者が管理するサーバーで有効期限が閲覧できるようになっており、これを参照することによって電子証明書の有効期限情報を取得する。複数の署名が施されている場合は、それぞれの証明書の有効期限を取得する。電子署名検証モジュール140は、電子証明書有効期限抽出モジュール152によって取得された電子証明書の有効期限情報を用いて、現在が有効期限内であるか否かを判断して、有効期限内である場合に検証を行い、有効期限内でない場合は、提示モジュール118にその旨を提示させるようにしてもよい。
【0023】
ハッシュ値算出モジュール154は、電子署名検証モジュール140によって検証を行った電子署名を施した情報に改竄がないと判断された場合は、その情報、その情報に施された電子署名と、その電子署名に対応する電子証明書有効期限抽出モジュール152によって取得された電子証明書の有効期限情報と、の組み合わせに対してハッシュ値を算出する。情報、電子署名及び電子証明書の有効期限情報の組み合わせであれば、どのような順番であってもよいし、他の情報を付加したものであってもよい。もちろんのことながら、電子署名が複数の場合も含み、それにともなって電子証明書の有効期限情報も複数の場合も含む。
また、ハッシュ値算出モジュール154は、複数の電子署名が施されている場合は、電子署名それぞれの電子証明書の有効期限のうち最も短い有効期限を表す有効期限情報を用いて、ハッシュ値を算出するようにしてもよい。検証に用いられる電子証明書は複数ある場合があり、電子証明書が複数あると判断した場合は、複数の有効期限のうち最も現在に近い有効期限を選択して、ハッシュ値を算出する。
【0024】
タイムスタンプ処理モジュール156は、ハッシュ値算出モジュール154によって算出されたハッシュ値に対してタイムスタンプを付与する。例えば、通信回線を介して接続されているタイムスタンプサーバー(第三者機関のTSA(Time−Stamping Authority、タイムスタンプ局)を用いて、タイムスタンプを付与する処理を行う。より具体的には、例えば、規格として定められている「IETF RFC 3161(Time Stamp Protocol)」等を用いて処理を行う。
そして、タイムスタンプ処理モジュール156は、検証を行った電子署名を施した情報、その電子署名、タイムスタンプが付与されたハッシュ値及び有効期限情報を対応させて文書・電子署名・検証結果記憶モジュール120に記憶させるように制御する。
【0025】
検証結果期限検証モジュール160は、検証結果取得モジュール116によって取得された有効期限情報が表す有効期限内であるか否かを判断する。つまり、現在がその有効期限内であるか否かを判断することによって、検証結果を活用できるか否かを判断している。そして、有効期限内であると判断した場合は、タイムスタンプが付与されたハッシュ値の検証を行う。ここでの検証は、例えば、タイムスタンプが付与されたハッシュ値に対してタイムスタンプサーバー240の公開鍵で復号したハッシュ値と情報、電子署名及び電子証明書の有効期限情報の組み合わせに対して算出されたハッシュ値とを比較し、一致していれば改竄がないと判断し、一致していなければ改竄されていると判断するようにしてもよい。
また、検証指示制御モジュール114は、検証結果期限検証モジュール160によって有効期限内ではないと判断された場合は、電子署名検証モジュール140による検証を行うように制御する。
【0026】
図2は、本実施の形態を実現するためのシステム構成の例を示す説明図である。
クライアント装置210、クライアント装置220、情報処理装置230、タイムスタンプサーバー240は、通信回線290を介してそれぞれ接続されている。
利用者がクライアント装置210、クライアント装置220を操作することによって、電子文書に施された電子署名に対する検証を行わせる指示を情報処理装置230に対して行わせる。
情報処理装置230は、図1に例示した情報処理装置100に対応するものである。利用者の指示を受け付けて、検証処理を行う。以前に検証した結果があれば、それを利用する。
タイムスタンプサーバー240は、検証結果に対してタイムスタンプを付与する。
【0027】
図3は、本実施の形態による処理例を示すフローチャートである。なお、検証指示制御モジュール114が、全体のフローを制御する。
ステップS302では、検証結果取得モジュール116が文書・電子署名・検証結果記憶モジュール120から検証結果を取得し、取得できた場合はステップS314へ進み、それ以外の場合はステップS304へ進む。
ステップS304では、電子署名検証モジュール140が電子署名の検証を行い、検証がOKの場合(改竄がない場合)はステップS306へ進み、それ以外の場合はステップS312へ進む。
【0028】
ステップS306では、電子証明書有効期限抽出モジュール152が電子署名に関連する全ての電子証明書の有効期限のうち、最も短い有効期限(つまり、現在日時に最も近い有効期限)を抽出する。
ステップS308では、ハッシュ値算出モジュール154が電子文書と電子署名と有効期限の組み合わせに対してハッシュ値を算出する。
【0029】
ステップS310では、タイムスタンプ処理モジュール156がハッシュ値に対してタイムスタンプを付与して検証結果を作成する。そして、文書・電子署名・検証結果記憶モジュール120に記憶させる。
ステップS312では、提示モジュール118が電子署名は無効として結果を提示する。
【0030】
ステップS314では、検証結果期限検証モジュール160が文書・電子署名・検証結果記憶モジュール120に記憶されている有効期限を用いて電子証明書は有効期限内か否かを判断し、有効期限内の場合はステップS316へ進み、それ以外の場合はステップS304へ進む。
ステップS316では、検証結果期限検証モジュール160が検証結果の検証を行い、検証がOKの場合はステップS318へ進み、それ以外の場合はステップS304へ進む。
ステップS318では、提示モジュール118が電子署名は有効として結果を提示する。
【0031】
図5は、本実施の形態による処理例(1)を示す説明図である。この処理例(1)は、検証結果が存在する場合を説明している。
ステップS502では、利用者510のクライアント装置210に対する操作によって、電子文書に施された電子署名に対する検証を行わせる指示を情報処理装置100(検証指示モジュール110の検証指示受付モジュール112)へ送信する。図7に例示するように、クライアント装置210は検証対象受付・検証結果提示画面700をクライアント装置210の画面に提示する。利用者510の操作によって、検証対象受付領域710に対象となる電子文書の名称が記載され、検証の指示が行われる。
【0032】
ステップS504、ステップS506では、検証指示モジュール110の検証指示制御モジュール114は検証結果取得モジュール116を制御して、文書・電子署名・検証結果記憶モジュール120からステップS502で指示された電子文書、その電子文書の電子署名、検証結果としての有効期限、ハッシュ値を取得する。
ステップS508では、検証指示モジュール110の検証指示制御モジュール114は検証結果取得モジュール116を制御して、検証処理モジュール130内の検証結果期限検証モジュール160にステップS506で取得したデータ(電子文書、その電子文書の電子署名、検証結果としての有効期限、ハッシュ値)を渡す。検証結果期限検証モジュール160は、電子文書、その電子文書の電子署名、検証結果としての有効期限の組み合わせからハッシュ値を算出し、ステップS506で取得したハッシュ値と比較することによって検証する。
【0033】
ステップS510では、検証処理モジュール130内の検証結果期限検証モジュール160は、検証結果を検証指示モジュール110内の提示モジュール118へ送信する。
ステップS512では、検証指示モジュール110内の提示モジュール118は、検証結果をクライアント装置210の画面に提示する。図7に例示するように、検証結果をクライアント装置210の検証対象受付・検証結果提示画面700の検証結果提示領域720に提示する。
【0034】
図6は、本実施の形態による処理例(2)を示す説明図である。この処理例(2)は、検証結果が存在しない場合を説明している。
ステップS602では、図5に例示したステップS502と同等の処理を行う。
ステップS604、ステップS606では、検証指示モジュール110の検証指示制御モジュール114は検証結果取得モジュール116を制御して、文書・電子署名・検証結果記憶モジュール120からステップS602で指示された電子文書、その電子文書の電子署名を取得する。なお、この処理例(2)では、検証結果としての有効期限、ハッシュ値は取得できない。したがって、検証結果期限検証モジュール160による検証ではなく、電子署名検証モジュール140による検証が行われることになる。
【0035】
ステップS608では、検証指示モジュール110の検証指示制御モジュール114は検証結果取得モジュール116を制御して、検証処理モジュール130内の電子署名検証モジュール140にステップS606で取得したデータ(電子文書、その電子文書の電子署名)を渡す。電子署名検証モジュール140は、その電子署名の検証を行う。
ステップS610、ステップS612では、検証処理モジュール130の検証結果生成モジュール150は、ステップS608での検証がOKの場合(改竄がないと判断した場合)、電子署名を検証するために利用した電子証明書の有効期限のうち、現在日時と最も近い日時の有効期限を抽出し、電子文書、電子署名、その有効期限の組み合わせに対するハッシュ値を算出し、このハッシュ値に対してタイムスタンプを付与するために、タイムスタンプサーバー240へ送信し、タイムスタンプサーバー240からタイムスタンプトークンを受け取る。このタイムスタンプトークンが、タイムスタンプを付与したハッシュ値である。
【0036】
ステップS614では、検証処理モジュール130のタイムスタンプ処理モジュール156は、電子文書、電子署名、その有効期限、タイムスタンプを付与したハッシュ値を文書・電子署名・検証結果記憶モジュール120に記憶させる。
ステップS616では、検証処理モジュール130内のタイムスタンプ処理モジュール156は、ステップS608での電子署名の検証結果を検証指示モジュール110内の提示モジュール118へ送信する。
ステップS618では、図5に例示したステップS512と同等の処理を行う。
【0037】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図8に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU801を用い、記憶装置としてRAM802、ROM803、HD804を用いている。HD804として、例えばハードディスクを用いてもよい。検証指示制御モジュール114、検証結果取得モジュール116、電子署名検証モジュール140、電子証明書有効期限抽出モジュール152、ハッシュ値算出モジュール154、タイムスタンプ処理モジュール156、検証結果期限検証モジュール160等のプログラムを実行するCPU801と、そのプログラムやデータを記憶するRAM802と、本コンピュータを起動するためのプログラム等が格納されているROM803と、補助記憶装置であるHD804と、キーボード、マウス等のデータを入力する入力装置806と、CRTや液晶ディスプレイ等の出力装置805と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース807、そして、それらをつないでデータのやりとりをするためのバス808により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【0038】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図8に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図8に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図8に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0039】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0040】
100…情報処理装置
110…検証指示モジュール
112…検証指示受付モジュール
114…検証指示制御モジュール
116…検証結果取得モジュール
118…提示モジュール
120…文書・電子署名・検証結果記憶モジュール
130…検証処理モジュール
140…電子署名検証モジュール
150…検証結果生成モジュール
152…電子証明書有効期限抽出モジュール
154…ハッシュ値算出モジュール
156…タイムスタンプ処理モジュール
160…検証結果期限検証モジュール

【特許請求の範囲】
【請求項1】
コンピュータに、
情報に施された電子署名に対する検証を行わせる指示を受け付ける受付機能と、
前記受付機能によって受け付けられた指示に応じて、前記電子署名に対応する電子証明書に基づき当該電子署名に対する検証を行う検証機能と、
前記検証機能によって検証を行った電子署名を施した情報に改竄がないと判断された場合は、当該情報と、当該情報に施された電子署名と、当該電子署名に対応する電子証明書の有効期限を表す有効期限情報と、の組み合わせに対してハッシュ値を算出するハッシュ値算出機能と、
前記ハッシュ値算出機能によって算出されたハッシュ値に対してタイムスタンプを付与するタイムスタンプ付与機能と、
前記検証を行った電子署名を施した情報、当該電子署名、前記タイムスタンプ付与機能によってタイムスタンプが付与されたハッシュ値及び前記有効期限情報を対応させて記憶装置に出力する機能と、
前記検証機能によって前記検証を行った電子署名を施した情報に改竄がないと判断された場合は、当該情報に改竄がないことを示す情報を出力する検証結果出力機能
を実現させるための情報処理プログラム。
【請求項2】
前記コンピュータに、
前記受付機能によって受け付けられた指示に応じて、前記記憶装置から前記検証を行った電子署名を施した情報に対応する前記ハッシュ値と前記有効期限情報を取得する取得機能と、
前記取得機能によって取得された有効期限情報が表す有効期限内に現在はあるか否かを判断する判断機能と、
前記判断機能によって有効期限内に現在はあると判断された場合は、タイムスタンプが付与されたハッシュ値の検証を行う第2の検証機能と、
をさらに実現させ、
前記検証結果出力機能は、前記第2の検証機能によって前記組み合わせに改竄がないと判断された場合は、前記検証を行った電子署名を施した情報に対して改竄がないことを示す情報を出力する
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記ハッシュ値算出機能は、前記電子証明書が複数ある場合は、該電子証明書の有効期限のうち最も短い有効期限を表す有効期限情報を用いて、ハッシュ値を算出する
ことを特徴とする請求項1又は2に記載の情報処理プログラム。
【請求項4】
情報に施された電子署名に対する検証を行わせる指示を受け付ける受付手段と、
前記受付手段によって受け付けられた指示に応じて、前記電子署名に対応する電子証明書に基づき当該電子署名に対する検証を行う検証手段と、
前記検証手段によって検証を行った電子署名を施した情報に改竄がないと判断された場合は、当該情報と、当該情報に施された電子署名と、当該電子署名に対応する電子証明書の有効期限を表す有効期限情報と、の組み合わせに対してハッシュ値を算出するハッシュ値算出手段と、
前記ハッシュ値算出手段によって算出されたハッシュ値に対してタイムスタンプを付与するタイムスタンプ付与手段と、
前記検証を行った電子署名を施した情報、当該電子署名、前記タイムスタンプ付与手段によってタイムスタンプが付与されたハッシュ値及び前記有効期限情報を対応させて記憶装置に出力する手段と、
前記検証手段によって前記検証を行った電子署名を施した情報に改竄がないと判断された場合は、当該情報に改竄がないことを示す情報を出力する検証結果出力手段
を具備することを特徴とする情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−23545(P2012−23545A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−159759(P2010−159759)
【出願日】平成22年7月14日(2010.7.14)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】