(57)【特許請求の範囲】
【請求項１】
署名対象に電子署名を施した署名者の電子証明書と署名時刻を署名データの一部として持つ署名済み電子データを検証要求に応じて検証し、検証結果を回答する電子署名検証装置であって、
前記署名済み電子データと前記検証結果を対応つけて記憶する記憶部と、
前記電子証明書の失効情報を認証局から取得し、当該電子証明書の有効性を確認するとともに署名対象に改ざんがないかを確認して署名済み電子データの検証を行い、当該検証結果を前記記憶部に記憶させる検証部と、
前記記憶部に記憶された検証結果を用いて署名済み電子データの検証を行う簡易検証部と、
検証要求を受けた署名済み電子データが前記検証部にて未認証又は署名時刻から所定時間経過後であれば前記検証部による検証を実行させ、その他の状態であれば前記簡易検証部による簡易検証を実行させる検証選択部と、
を有することを特徴とする電子署名検証装置。
【請求項２】
前記失効情報の有効期限を確認する有効期限確認部を更に有し、
前記検証選択部は、前記検証要求が署名時刻からの前記所定時間経過後であったとしても前記失効期限が有効期限内と確認すれば前記簡易検証部による簡易検証を実行させる請求項１に記載の電子署名検証装置。
【請求項３】
署名対象に電子署名を施した署名者の電子証明書と署名時刻を署名データの一部として持つ署名済み電子データを検証要求に応じて検証し、検証結果を回答する電子署名検証装置であって、
前記署名済み電子データと前記検証結果を対応つけて記憶する記憶部と、
前記電子証明書の失効情報を認証局から取得し、当該電子証明書の有効性を確認するとともに署名対象に改ざんがないかを確認して署名済み電子データの検証を行い、当該検証結果を前記記憶部に記憶させる検証部と、
前記記憶部に記憶された検証結果を用いて署名済み電子データの検証を行う簡易検証部と、
前記失効情報の有効期限を確認する有効期限確認部と、
検証要求を受けた署名済み電子データが前記検証部にて未認証又は前記失効期限が有効期限外と確認すれば前記検証部による検証を実行させ、その他の状態であれば前記簡易検証部による簡易検証を実行させる検証選択部と、
を有することを特徴とする電子署名検証装置。
【請求項４】
検証結果を前記記憶部に記憶する際に検証結果の改ざんを検知する改ざん検知用データを生成し、改ざん検知用データ用いて検証結果の改ざんを検出する検証結果改ざん検出部を更に有し、
前記簡易検証部は、前記検証結果改ざん検出部にて改ざんを検知すると検証結果として検証ＮＧとする請求項１から３のうちのいずれか１項に記載の電子署名検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、署名対象に電子署名を施した署名者の電子証明書と署名時刻を署名データの一部として持つ署名済み電子データを検証要求に応じて検証し、検証結果を回答する電子署名検証装置に関する。
【背景技術】
【０００２】
従来、電子署名サーバ、認証局及びユーザ端末を有する電子署名システムにおいて、電子署名サーバは、ユーザ端末から電子署名が要求されると、認証局によりユーザに対して発行された電子証明書を用いて、電子データに対して署名を施し、保存していた。
【０００３】
このような電子署名システムでは、改ざん検知状態におく電子データに対して電子署名やタイムスタンプを施し、電子署名やタイムスタンプが施された電子データを保存対象として保存してきていた。
【０００４】
ユーザ端末がこの保存された電子データにアクセスする場合、ユーザ端末は、電子署名サーバに対して電子署名検証要求を行い、電子署名サーバは、電子署名検証要求に応じて電子データの電子署名の検証を行う。したがって、電子署名サーバは、電子署名検証装置としても機能する。このような電子データの電子署名の検証において、電子署名検証装置は、電子データの改ざんの有無や、署名に使用された電子証明書の発行者、所有者、有効期限、失効の有無等を、この電子証明書を発行した認証局から取得するデータを用いて判定し、電子データの正当性を確認している（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−９８７８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、このように電子署名の検証は一連の処理を実行するために一定の処理時間を要し、大量の電子署名検証要求が電子署名検証装置に集中すると、電子署名検証装置の処理の負荷が増大するとともに、電子署名検証装置が検証結果を出力するまでの時間が長くなるという課題があった。
【０００７】
電子署名検証装置が検証結果を出力するまでの時間を短縮するために、電子署名検証要求の度に電子署名を検証する代わりに、過去の電子署名の検証で得られた検証結果を用いてその検証結果を今回の検証結果として出力し、電子署名を簡易検証することも考えられる。しかしながら、電子データの改ざんの脅威が電子署名後に次第に大きくなることを考慮すると、過去の電子署名の検証で得られた検証結果をそのまま再利用することは、時間の経過とともに出力される検証結果に対する信頼性が低下するという課題があった。
【０００８】
本発明の目的は、電子署名検証を高速かつ高い信頼性で行うことができる電子署名検証装置を提供することである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するために、本発明は、署名対象に電子署名を施した署名者の電子証明書と署名時刻を署名データの一部として持つ署名済み電子データを検証要求に応じて検証し、検証結果を回答する電子署名検証装置であって、署名済み電子データと検証結果を対応つけて記憶する記憶部と、電子証明書の失効情報を認証局から取得し、当該電子証明書の有効性を確認するとともに署名対象に改ざんがないかを確認して署名済み電子データの検証を行い、当該検証結果を前記記憶部に記憶させる検証部と、記憶部に記憶された検証結果を用いて署名済み電子データの検証を行う簡易検証部と、検証要求を受けた署名済み電子データが検証部にて未認証又は署名時刻から所定時間経過後であれば検証部による検証を実行させ、その他の状態であれば前記簡易検証部による簡易検証を実行させる検証選択部と、を有することを特徴とする電子署名検証装置を提供する。
【００１０】
かかる電子署名検証装置は、失効情報の有効期限を確認する有効期限確認部を更に有し、検証選択部は、検証要求が署名時刻からの所定時間経過後であったとしても失効期限が有効期限内と確認すれば簡易検証部による簡易検証を実行させるのが好ましい。
【００１１】
また、本発明は、署名対象に電子署名を施した署名者の電子証明書と署名時刻を署名データの一部として持つ署名済み電子データを検証要求に応じて検証し、検証結果を回答する電子署名検証装置であって、署名済み電子データと検証結果を対応つけて記憶する記憶部と、電子証明書の失効情報を認証局から取得し、当該電子証明書の有効性を確認するとともに署名対象に改ざんがないかを確認して署名済み電子データの検証を行い、当該検証結果を前記記憶部に記憶させる検証部と、記憶部に記憶された検証結果を用いて署名済み電子データの検証を行う簡易検証部と、失効情報の有効期限を確認する有効期限確認部と、検証要求を受けた署名済み電子データが検証部にて未認証又は失効期限が有効期限外と確認すれば検証部による検証を実行させ、その他の状態であれば簡易検証部による簡易検証を実行させる検証選択部と、を有することを特徴とする電子署名検証装置を提供する。
【００１２】
かかる電子署名検証装置は、検証結果を記憶部に記憶する際に検証結果の改ざんを検知する改ざん検知用データを生成し、改ざん検知用データ用いて検証結果の改ざんを検出する検証結果改ざん検出部を更に有し、簡易検証部は、検証結果改ざん検出部にて改ざんを検知すると検証結果として検証ＮＧとするのが好ましい。
【発明の効果】
【００１３】
本発明によれば、電子署名検証を高速かつ高い信頼性で行うことができる電子署名検証装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明による電子署名検証装置が用いられる電子署名システムの構成図である。
【図２】ファイル保管レコードのデータ構造を示す図である。
【図３】検証結果保管レコードの第１のデータ構造を示す図である。
【図４】図１の電子署名サーバの処理フローチャートである。
【図５】検証結果保管レコードの第２のデータ構造を示す図である。
【図６】図１の電子署名サーバの処理フローチャートの変形例である。
【図７】検証結果保管レコードの第３のデータ構造を示す図である。
【図８】図１の電子署名サーバの処理フローチャートの変形例である。
【図９】図１の電子署名サーバの処理フローチャートの変形例である。
【発明を実施するための形態】
【００１５】
本発明による電子署名検証装置の実施の形態を、図面を参照しながら説明する。
本発明による電子署名検証装置は、電子署名の検証の信頼性を確保する必要がある場合には、一連の処理を実行して電子署名の検証を行うことを選択し、電子署名の検証の信頼性が確保されている場合には、電子署名の過去の検証結果を用いて簡易に検証することを選択する装置である。
【００１６】
図１は、本発明による電子署名検証装置が用いられる電子署名システムの構成図である。図１に示す電子署名システムは、例えば、社内システムに適用され、記憶装置１と、電子署名検証装置としての電子署名サーバ２と、ユーザ端末３と、認証局４と、通信ネットワーク５と、を有する。
【００１７】
記憶装置１は、電子証明書の発行対象者であるユーザの情報（例えば、ユーザ識別番号（ＩＤ）、氏名、メールアドレス、所属等の情報）を保管するユーザ情報管理データベース（ＤＢ）を記憶する。このために、記憶装置１は、フラッシュメモリ、ＥＥＰＲＯＭ等の書換え自在の不揮発性メモリ、磁気ハードディスク、書換え自在の光ディスク及びそのドライブ等の少なくともいずれかによって構成される。なお、ユーザ情報管理ＤＢに記録されたデータを、システム管理者によって追加、更新又は削除することができる。
【００１８】
電子署名サーバ２は、電子署名サーバ２が保管している署名対象としての電子ファイル、電子ファイルに電子署名が施されて生成される署名済み電子データの検証等の機能を実現する。このために、電子署名サーバ２は、通信ネットワーク５を通じて記憶装置１、ユーザ端末３及び認証局４との通信を行う通信インタフェース（Ｉ／Ｆ）部２１と、電子署名サーバ２の各種制御を行う制御部２２と、記憶部２３と、計時部２４と、を有する。
【００１９】
通信Ｉ／Ｆ部２１は、所定の通信プロトコルで通信を行う通信インタフェース及びドライバから構成される。制御部２２は、ＣＰＵ，ＲＯＭ，ＲＡＭ等から構成され、電子署名サーバ２の制御全般についてプログラムに従って処理を行う。このために、制御部２２は電子署名部２２１と、検証部２２２と、簡易検証部２２３と、検証選択部２２４と、有効期限確認部２２５と、検証結果改ざん検出部２２６と、を有する。
【００２０】
電子署名部２２１は、ユーザ端末３からの電子署名要求に応じて、記憶部２３に記憶されている署名対象である電子ファイルに電子署名を行う。このとき、署名対象に電子署名を施した署名者の電子証明書と署名時刻を署名データの一部として持つ署名済み電子データが生成される。また、電子署名部２２１は、電子ファイルに対応させてキャッシュ使用可能期間を記憶部２３に記憶させる。検証部２２２は、認証局４から電子署名に使用された電子証明書の有効性の検証に必要な最新の証明書失効リスト（ＣＲＬ(Certificate Revocation List)）を失効情報として取得し、署名済み電子データの検証を行い、記憶部２３に検証結果を保存する。簡易検証部２２３は、検証部２２２によって得られて記憶部２３に保存された署名済み電子データの過去の検証結果であるキャッシュを用いて署名済み電子データの検証結果として出力する簡易検証を行う。検証選択部２２４は、検証結果のキャッシュの有無、検証結果のキャッシュの使用可能な期間である所定時間としてのキャッシュ使用可能期間又はＣＲＬ有効期限に応じて、検証部２２２による検証と簡易検証部２２３による簡易検証のいずれを行うかを選択する。有効期限確認部２２５は、検証部２２２が取得したＣＲＬの更新予定をＣＲＬ有効期限として管理する。検証結果改ざん検出部２２６は、改ざん検出用データを生成し、生成した改ざん検出用データを記憶部２３に保存し、改ざん検出用データを用いて検出結果のキャッシュの改ざんを検出する。
【００２１】
記憶部２３は、フラッシュメモリ、ＥＥＰＲＯＭ等の書換え自在の不揮発性メモリ、磁気ハードディスク、書換え自在の光ディスク及びそのドライブ等の少なくともいずれかによって構成される。また、記憶部２３は、署名済み電子データ、電子ファイル、電子ファイルのファイル名、電子ファイルのキャッシュ使用可能期間、検証結果のキャッシュ、検証結果のキャッシュの改ざんを検知する改ざん検知用データ、ＣＲＬ、制御部２２で使用する各種制御情報等を記憶する。
【００２２】
計時部２４は、検証部２２２による検証と簡易検証部２２３による簡易検証のいずれを選択するかを決定するために用いる現在の時刻を検証選択部２２４に提供する。このために、計時部２４は、クロック等によって構成される。
【００２３】
ユーザ端末３は、記憶部２３への電子ファイルの保管、記憶部２３に保管されている電子ファイルの閲覧、記憶部２３に保管されている電子ファイルに対する署名、記憶部２３に保管されている電子ファイルの署名済み電子データの署名検証、キャッシュ使用可能期間の設定等を行う。このために、ユーザ端末３は、例えば、パーソナルコンピュータ（ＰＣ）によって構成される。また、ユーザ端末３は、通信ネットワーク５を通じて電子署名サーバ２との通信を行う通信Ｉ／Ｆ部３１と、記憶部２３又は記憶部３５内の電子ファイルの指定等のユーザ端末３の各種制御を行う制御部３２と、ＰＩＮ(Personal Identification Number)のようなパスワード、キャッシュ使用可能期間等を入力する入力部３３と、電子ファイルの内容、署名結果、検証結果等を表示する表示部３４と、制御部３２で使用する各種制御情報等を記憶する記憶部３５と、を有する。なお、入力部３３によって入力されるキャッシュ使用可能期間は、例えば、ユーザ端末３からの電子ファイルへのアクセスが頻繁に行われることが予測されるとともに検証結果のキャッシュを使用しても信頼性が確保されると想定する期間の開始日時と終了日時とが設定され、開始日時を署名時刻に設定することや、２４時間、４８時間等の任意の期間に設定することができる。
【００２４】
通信Ｉ／Ｆ部３１は、所定の通信プロトコルで通信を行う通信インタフェース及びドライバから構成される。制御部３２は、ＣＰＵ，ＲＯＭ，ＲＡＭ等の少なくともいずれかから構成され、ユーザ端末３の制御全般についてプログラムに従って処理を行う。入力部３３は、マウス、キーボード等によって構成される。表示部３４は、ＬＣＤ等によって構成される。記憶部３５は、フラッシュメモリ、ＥＥＰＲＯＭ等の書換え自在の不揮発性メモリ、磁気ハードディスク、書換え自在の光ディスク及びそのドライブ等の少なくともいずれかによって構成される。
【００２５】
認証局４は、電子署名サーバ２からの要求に基づいて、公開鍵及びユーザ情報を含む電子証明書、秘密鍵及びＰＩＮによって構成されたＰ１２（ＰＫＣＳ(Public Key Cryptography Standards) ＃１２）ファイルのようなパスワード付電子証明書を生成する。ここで、ＰＫＣＳとは、ＰＫＩ(Public Key Infrastructure：公開鍵基盤)で利用する電子証明書や秘密鍵などのフォーマットを定めた標準であり、ＰＫＣＳ＃１２とは１２番目にあたり、秘密鍵と電子証明書を交換するためのフォーマットが定義される。また、認証局４は、自局で発行した各証明書が有効期限内に失効させられたかの情報を管理する。この情報は定期的に更新され、リスト形式のデータとしてひとまとめにしたものをＣＲＬと呼び、認証局４は、このＣＲＬを外部へ供給する。このために、認証局４は、通信ネットワーク５を通じて電子署名サーバ２との通信を行う通信Ｉ／Ｆ部４１と、認証局４の各種制御を行う制御部４２と、制御部４２で使用する各種制御情報等を記憶する記憶部４３と、を有する。
【００２６】
通信Ｉ／Ｆ部４１は、所定の通信プロトコルで通信を行う通信インタフェース及びドライバから構成される。制御部４２は、ＣＰＵ，ＲＯＭ，ＲＡＭ等から構成され、認証局４の制御全般についてプログラムに従って処理を行う。記憶部４３は、フラッシュメモリ、ＥＥＰＲＯＭ等の書換え自在の不揮発性メモリ、磁気ハードディスク、書換え自在の光ディスク及びそのドライブ等の少なくともいずれかによって構成される。
【００２７】
通信ネットワーク５は、記憶装置１、電子署名サーバ２、ユーザ端末３及び認証局４に接続される。このために、通信ネットワーク５は、専用回線、インターネット、携帯電話回線、一般公衆回線等の遠隔地間又は屋内の離れた場所間でデータの送受信が可能となる通信回線によって構成される。
【００２８】
図２は、ファイル保管レコードのデータ構造を示す図である。図２に示すファイル保管レコードは、記憶部２３に格納され、ファイル名と、キャッシュ使用可能期間（開始日時及び終了日時）と、を有する。このようなファイル保管レコードは、検証部２２２による検証と簡易検証部２２３による簡易検証のうちのいずれを行うかを選択するために検証選択部２２４によって参照される。
【００２９】
図３は、検証結果保管レコードの第１のデータ構造を示す図である。図３に示す検証結果保管レコードは、記憶部２３に格納され、キーとなるファイル名と、検証結果と、検証時データハッシュと、改ざん検出用データと、を有する。このような検証結果保管レコードは、検証結果のキャッシュを用いて簡易検証を行うために簡易検証部２２３に参照されるとともに、検証結果の改ざんを検出するために検証結果改ざん検出部２２６によって参照される。
【００３０】
検証結果は、表示部３４に表示するのが好ましいデータが用いられ、この場合、署名者名、署名時刻及び署名用証明書の情報が用いられる。検証時データハッシュは、電子ファイルをハッシュ関数に通すことによって記憶部２３に保存されている電子ファイルから取得される一意なデータであり、例えば、所定のビット数（例えば、１６０ビット）の固定値となる。後に説明するように、検証時データハッシュを用いることによって、電子ファイルの改ざんを検出することができる。改ざん検出用データは、例えば、検証結果保管レコードの改ざんを防止するために検証結果保管レコードから構成されるハッシュデータである。
【００３１】
次に、図１の電子署名サーバの処理フローについて説明する。なお、以下に説明する処理フローは、制御部２２で実行されるプログラムによって制御される。
【００３２】
図４は、図１の電子署名サーバの処理フローチャートである。この処理フローにおいて、図２に示すデータ構造のファイル管理レコード及び図３に示すデータ構造の検証結果保管レコードが用いられる。
【００３３】
図４に示す処理フローでは、先ず、検証選択部２２４は、電子ファイルを参照しようとするユーザ端末３から当該電子ファイルに対応する署名済み電子データを検証するよう署名検証要求を受信する（ステップＳ１）。次に、検証選択部２２４は、署名検証要求された電子ファイルの検証結果のキャッシュが記憶部２３に保存されているか否か、すなわち、検証部２２２による検証が未検証（初回）であるか否か判断する（ステップＳ２）。検証結果のキャッシュが記憶部２３に保存されていない、すなわち、検証部２２２による検証が未検証（初回）であると判断された場合、検証選択部２２４は、検証部２２２により署名済み電子データの検証を行うことを選択する。その結果、検証部２２２は、ユーザ端末３によって署名検証要求された電子ファイルを記憶部２３から取得し（ステップＳ３）、認証局４から失効情報を取得して電子署名の検証処理を行い（ステップＳ４）、検証結果のキャッシュを電子ファイルのハッシュとともに記憶部２３に保存する（ステップＳ５）。このときに保存される電子ファイルのハッシュは、図２の検証時データハッシュに対応する。次に、検証結果改ざん検出部２２６は、検証結果のキャッシュにハッシュ関数をかけることによって改ざん検知用データを生成し、改ざん検知用データを記憶部２３に保存する（ステップＳ６）。次に、検証部２２２は、検証部２２２による検証が完了したことの報告、すなわち、検証部２２２によって検証された電子ファイルの署名済み電子データの検証結果についての情報を、ユーザ端末３に送信し（ステップＳ７）、本ルーチンを終了する。
【００３４】
一方、ステップＳ２において検証結果のキャッシュが記憶部２３に保存されている、すなわち、検証部２２２による検証が未検証（初回）でないと判断された場合、検証選択部２２４は、計時部２４に現在時刻を問い合わせるとともに、記憶部２３に格納されたファイル管理レコードのキャッシュ使用可能期間を参照し、現在時刻とキャッシュ使用可能期間とを比較することによって現在時刻がキャッシュ使用可能期間内であるか否か判断する（ステップＳ８）。現在時刻がキャッシュ使用可能期間内でないと判断された場合、ステップＳ３に進む。それに対し、現在時刻がキャッシュ使用可能期間内であると判断された場合、検証選択部２２４は、簡易検証部２２３により検証結果のキャッシュを用いて署名済み電子データの簡易検証を行うことを選択する。その結果、簡易検証部２２３は、対象となる電子ファイルをハッシュ関数に通すことによって作られた最新の電子ファイルのハッシュが検証時データハッシュと一致するか否か判断する（ステップＳ９）。電子ファイルのハッシュが検証時データハッシュに一致しないと判断された場合、簡易検証部２２３は、電子ファイルが改ざんされたと判断し、簡易検証のＮＧ報告、すなわち、改ざんがあるという情報を、ユーザ端末３に送信し（ステップＳ１０）、本ルーチンを終了する。
【００３５】
一方、ステップＳ９において電子ファイルのハッシュが検証時データハッシュに一致すると判断された場合、簡易検証部２２３は、検証結果のキャッシュを記憶部２３から取得し、検証結果のキャッシュを用いた簡易検証を行う（ステップＳ１１）。次に、検証結果改ざん検出部２２６は、記憶部２３に保管されている検証結果のキャッシュが改ざんされているか否かを、改ざん検出用データを用いて判断する（ステップＳ１２）。すなわち、検証結果改ざん検出部２２６は、検証結果のキャッシュが改ざん検出用データと一致するか否か判断し、これらが一致している場合には、検証結果が改ざんされていないと判断し、これらが異なる場合には、検証結果が改ざんされていると判断する。検証結果のキャッシュが改ざんされている場合、ステップＳ１０に進む。それに対し、検証結果のキャッシュが改ざんされていない場合、簡易検証部２２３は、簡易検証部２２３による簡易検証がＯＫであることの報告、すなわち、改ざんがないという情報を、ユーザ端末３に送信し（ステップＳ１３）、本ルーチンを終了する。
【００３６】
図４に示す処理フローによれば、ステップＳ２で検証結果のキャッシュが記憶部２３に保存されていないと判断された場合には、ステップＳ４で検証部２２２による検証処理を行い、ステップＳ８で現在時刻がキャッシュ使用可能期間内であり、かつ、ステップＳ２で検証結果のキャッシュが記憶部２３に保存されていると判断された場合には、ステップＳ１１で簡易検証部２２３による簡易検証処理を行っている。したがって、ユーザ端末３からの電子ファイルへのアクセスが頻繁に行われることが予測されるとともに検証結果の信頼性が確保される一定時間では、検証結果のキャッシュを記憶部２３に保存して再利用することによって、電子署名検証を高速で行うことができる。
【００３７】
また、ステップＳ８で現在時刻がキャッシュ使用可能期間内でないと判断された場合にも、ステップＳ４で検証部２２２による検証処理を行っている。したがって、ユーザ端末３からの電子ファイルへのアクセスが頻繁に行われることが予測されるとともに検証結果の信頼性が確保され、キャッシュ使用可能期間で指定される一定時間を越えると、検証結果のキャッシュの再利用を禁止することによって、電子署名検証を高い信頼性で行うことができる。
【００３８】
さらに、ステップＳ６で改ざん検知用データを生成し、ステップＳ１２で検証結果のキャッシュが改ざんされているか否かを、改ざん検知用データを用いて判断することによって、検証結果のキャッシュの改ざんを検出することができるので、電子署名検証の信頼性を更に高くすることができる。なお、ステップＳ１２で検証結果の改ざんを検出した場合にステップＳ１０に進まずにステップＳ３に進み、簡易検証部２２３から検証部２２２による検証を実行させてもよい。
【００３９】
図５は、検証結果保管レコードの第２のデータ構造を示す図である。図５に示す検証結果保管レコードは、記憶部２３に格納され、キーとなる検証時データハッシュと、検証結果と、改ざん検出用データと、を有する。
【００４０】
図６は、図１の電子署名サーバの処理フローチャート変形例である。この処理フローにおいて、図２に示すデータ構造のファイル管理レコード及び図５に示すデータ構造の検証結果保管レコードが用いられる。
【００４１】
図６に示す処理フローでは、ステップＳ１で署名検証要求を受信した後、検証選択部２２４は、電子ファイルのハッシュを検証時データハッシュとして取得し（ステップＳ２１）、その後、ステップＳ２に進む。また、ステップＳ２で検証結果のキャッシュが記憶部２３に保存されていると判断された場合には、ステップＳ８で現在時刻がキャッシュ使用可能期間内であると判断された後、ステップＳ９の判定を行うことなくステップＳ１１で簡易検証部２２３による簡易検証処理を行っている。このようにファイル名の代わりに検証時データハッシュを検証結果管理レコードのキーとして用いることによって、処理を簡略化することができる。
【００４２】
図７は、検証結果保管レコードの第３のデータ構造を示す図である。図７に示す検証結果保管レコードは、記憶部２３に格納され、キーとなるファイル名と、検証結果と、ＣＲＬ有効期限と、検証時データハッシュと、改ざん検出用データと、を有する。
【００４３】
図８は、図１の電子署名サーバの処理フローチャート変形例である。この処理フローにおいて、図２に示すデータ構造のファイル管理レコード及び図７に示すデータ構造の検証結果保管レコードが用いられる。
【００４４】
図８に示す処理フローでは、ステップＳ２で検証結果のキャッシュが記憶部２３に保存されていると判断された場合には、検証選択部２２４は、計時部２４に現在時刻を問い合わせるとともに、記憶部２３に格納された検証結果保管レコードのＣＲＬ有効期限を参照し、現在時刻とＣＲＬ有効期限とを比較することによって現在時刻がＣＲＬ有効期限内であるか否か判断する（ステップＳ３１）。現在時刻がＣＲＬ有効期限内でないと判断された場合、ステップＳ３に進む。それに対し、現在時刻がＣＲＬ有効期限内であると判断された場合、ステップＳ９に進む。
【００４５】
また、ステップＳ３で電子ファイルを記憶部２３から取得した後、検証部２２２は、認証局４からＣＲＬを取得し（ステップＳ３２）、ステップＳ４に進む。さらに、ステップＳ５で検証結果のキャッシュを記憶部２３に保存した後、認証部２２２は、最新のＣＲＬ有効日を記憶部２３に保存し、ステップＳ６に進む。
【００４６】
図８に示す処理フローによれば、ステップＳ２で検証結果のキャッシュが記憶部２３に保存されていないと判断された場合又はステップＳ３１で現在時刻がＣＲＬ有効期限内でないと判断された場合には、ステップＳ４で検証部２２２による検証処理を行い、ステップＳ３１で現在時刻がＣＲＬ有効期限内であると判断された場合には、ステップＳ１１で簡易検証部２２３による簡易検証処理を行っている。したがって、記憶部２３に保存される検証結果のキャッシュをＣＲＬの更新に合わせて更新することによって、電子証明書の有効性が変化しない期間だけ検証結果のキャッシュを再利用するので、電子署名検証を高速かつ高い信頼性で行うことができる。
【００４７】
図９は、図１の電子署名サーバの処理フローチャートの変形例である。この処理フローにおいて、図２に示すデータ構造のファイル管理レコード及び図７に示すデータ構造の検証結果保管レコードが用いられる。
【００４８】
図９に示す処理フローでは、ステップＳ２で検証結果のキャッシュが記憶部２３に保存されていると判断された場合には、検証選択部２２４は、計時部２４に現在時刻を問い合わせるとともに、記憶部２３に格納されたファイル保管レコードのキャッシュ使用可能期間を参照し、現在時刻とキャッシュ使用可能期間とを比較することによって現在時刻がキャッシュ使用可能期間内であるか否か判断する（ステップＳ４１）。現在時刻がキャッシュ使用可能期間内でないと判断された場合、ステップＳ３１に進む。それに対し、現在時刻がキャッシュ使用可能期間内であると判断された場合、ステップＳ９に進む。
【００４９】
図９に示す処理フローによれば、ステップＳ４１で現在時刻がキャッシュ使用期間内でないと判断され、かつ、ステップＳ３１で現在時刻がＣＲＬ有効期限内であると判断された場合には、ステップＳ１１で簡易検証部２２３による簡易検証処理を行い、ステップＳ４１で現在時刻がキャッシュ使用期間内でないと判断され、かつ、ステップＳ３１で現在時刻がＣＲＬ有効期限内でないと判断された場合には、ステップＳ４で検証部２２２による検証処理を行っている。したがって、ユーザ端末３からの電子ファイルへのアクセスが頻繁に行われることが予測されるとともに検証結果の信頼性が確保され、キャッシュ使用可能期間で指定される一定時間を越えたとしても、検証結果のキャッシュの再利用を許可している。また、記憶部２３に保存される検証結果のキャッシュをＣＲＬの更新に合わせて更新することによって、電子証明書の有効性が変化しない期間だけ検証結果のキャッシュを再利用している。その結果、電子署名検証を高速かつ高い信頼性で行うことができる。
【００５０】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、本発明による電子署名検証装置を有する電子署名システムを社内システムに適用する場合について説明したが、社内システム以外のシステムに対しても、本発明による電子署名検証装置を有する電子署名システムを適用することができる。
【００５１】
電子ファイル、電子ファイルのキャッシュ使用可能期間及び検証結果のキャッシュを記憶部２３に保存する場合について説明したが、電子ファイル及び電子ファイルのキャッシュ使用可能期間を保存するファイル保存装置と、検証結果のキャッシュを保存する検証結果保存装置とを、電子署名サーバ２とは別に設けることもできる。この場合、電子署名サーバ２は、ファイル保存装置に保存された電子ファイル及び電子ファイルのキャッシュ使用可能期間と、検証結果保存装置に保存された検証結果のキャッシュとを、通信ネットワーク５を介して読み取ることができるようにする。
【００５２】
失効情報としてＣＲＬを用いた場合について説明したが、失効情報として、認証局４にある証明書が失効させられているか否かを問い合わせる方式ＯＣＳＰ(Online Certificate Status Protocol)を用いて得られた結果を、ＣＲＬの代わりに又はＣＲＬと組み合わせて用いることもできる。
【００５３】
電子ファイルに電子署名のみを施す場合について説明したが、電子ファイルに電子署名を施すとともに、通信ネットワーク５に接続されたタイムスタンプ局（図示せず）によって電子ファイルにタイムスタンプを施すこともできる。
【００５４】
検証結果のキャッシュをハッシュ関数に通すことによって改ざん検出用データを作成する場合について説明したが、検証結果のキャッシュをハッシュ関数以外の関数に通すことによって改ざん検出用データを作成することもできる。
【符号の説明】
【００５５】
１    記憶装置
２    電子署名サーバ
３    ユーザ端末
４    認証局
５    通信ネットワーク
２１，３１，４１    通信Ｉ／Ｆ部
２２，３２，４２    制御部
２３，３５，４３    記憶部
３３    入力部
３４    表示部
２２１    電子署名部
２２２    検証部
２２３    簡易検証部
２２４    検証選択部
２２５    有効期限確認部
２２６    検証結果改ざん検出部
【図１】
0005414425.tif 000002
【図２】
0005414425.tif 000003
【図３】
0005414425.tif 000004
【図４】
0005414425.tif 000005
【図５】
0005414425.tif 000006
【図６】
0005414425.tif 000007
【図７】
0005414425.tif 000008
【図８】
0005414425.tif 000009
【図９】
0005414425.tif 000010