説明

電子署名検証装置

【課題】多重電子署名検証を高速かつ高い信頼性で行うことができる電子署名検証装置を提供する。
【解決手段】検証手段112は、署名データの各々に含まれる電子証明書の有効性及び電子署名文書の改ざんの有無を検証して検証結果データを生成する。簡易検証手段113は、記憶部11に記憶されている過去の検証結果データを用いて検証する。検証選択手段115は、検証対象の署名データが同一の電子署名文書において最新のものであり又は対応する検証情報が存在しないものであれば検証手段112による検証を選択し、その他の署名データは簡易検証手段113による検証を選択可能にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子署名が施された電子署名文書とその検証結果データを記憶し、検証要求を受けると、電子署名文書に施された全ての署名データについて検証して検証結果データを生成し、検証結果データから検証結果を生成して出力する電子署名検証装置に関する。
【背景技術】
【0002】
従来、電子署名サーバ、認証局及びユーザ端末を有する電子署名システムにおいて、電子署名サーバは、ユーザ端末から電子署名が要求されると、認証局によりユーザに対して発行された電子証明書を用いて、電子データに対して署名を施し、保存していた。
【0003】
この保存された電子データにユーザ端末からアクセスする場合、ユーザ端末から電子署名サーバに対して電子署名検証要求信号を送信し、電子署名サーバは、電子署名検証要求信号を受信すると、当該電子データの電子署名の検証処理を実行する。電子署名の検証において、電子署名検証装置は、電子データの改ざんの有無や、署名に使用された電子証明書の発行者、所有者、有効期限、失効の有無等を、この電子証明書を発行した認証局から取得するデータを用いて判定し、電子データの正当性を確認している。
【0004】
電子データを長期間に亘って保存する場合、世代順に1番内側から1番外側まで多重に電子署名が施される多重電子署名が用いられる。この場合、1番内側に施される最初の電子署名は、電子データに対して施され、その次に施される電子署名から1番外側に施される最新の電子署名は、これまでの署名が施された電子データに対して施されるだけでなく、これ以前に施された電子署名に使用された電子証明書及びその有効性を判定する失効情報に対しても施される。多重電子署名が施された電子データの検証は、電子証明書の有効性の確認及び署名対象に改ざんがないかの確認を電子署名の1番外側から1番内側まで世代を遡って実行することによって行われる(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−300955号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、多重電子署名の検証は、電子署名の1番外側から1番内側まで世代を遡って一つ一つの電子署名について一連の処理を実行するために一定の処理時間を要し、多重になるに従って電子署名検証装置の処理の負荷が増大するとともに、電子署名検証装置が検証結果を出力するまでの時間が長くなるという課題があった。
【0007】
本発明の目的は、多重電子署名検証を高速かつ高い信頼性で行うことができる電子署名検証装置を提供することである。
【課題を解決するための手段】
【0008】
かかる課題を解決するために、本発明は、電子署名が施された電子署名文書とその検証結果データを記憶する記憶部と、検証要求を受けると、電子署名文書に施された全ての署名データについて検証して検証結果データを生成し、検証結果データから検証結果を生成して出力する制御部を有する電子署名検証装置であって、電子署名文書は、電子ファイル、署名が施される度に生成される署名時刻を含む署名データ、及び当該署名に用いた電子証明書の有効性の判断が可能な情報を含む検証情報から少なくとも構成され、制御部は、署名データの各々に含まれる電子証明書の有効性及び電子署名文書の改ざんの有無を検証して検証結果データを生成する検証手段と、記憶部に記憶されている過去の検証結果データを用いて検証する簡易検証手段と、検証対象の署名データが同一の電子署名文書において最新のものであり又は対応する検証情報が存在しないものであれば検証手段による検証を選択し、その他の署名データは簡易検証手段による検証を選択可能にする検証選択手段と、を有することを特徴とする電子署名検証装置を提供する。
【0009】
かかる電子署名検証装置では、簡易検証手段は、過去の検証結果データに改ざんがある場合、検証情報を用いて、対応する署名データに含まれる電子証明書の有効性及び電子署名文書の改ざんの有無を検証して検証結果データを生成するのが好ましい。
【0010】
かかる電子署名検証装置は、制御部は、電子署名文書を指定した署名要求を受け取ると、当該電子署名文書に署名データがなければ当該署名者の電子証明書を用いて電子ファイルに対する署名データを生成して当該電子署名文書に追加し、当該電子署名文書に既に署名データがあり、かつ、当該署名データに対応する検証情報がなければ、検証手段にて検証して検証結果データを記憶部に記憶し、電子署名文書に検証情報を追加した後に、署名者の電子証明書を用いて所定の署名対象に対する署名データを生成して当該電子署名文書に追加し、当該電子署名文書に既に署名データがあり、かつ、当該署名データに対応する検証情報があれば、簡易検証手段にて検証して検証結果データを更新する電子署名手段を更に有するのが好ましい。
【発明の効果】
【0011】
本発明によれば、多重電子署名検証を高速かつ高い信頼性で行うことができる電子署名検証装置を提供することができる。
【図面の簡単な説明】
【0012】
【図1】本発明による電子署名検証装置が用いられる電子署名システムの構成図である。
【図2】電子署名サーバの記憶部における電子署名文書領域のデータ構造を示す図である。
【図3】電子署名サーバの記憶部における検証結果領域のデータ構造を示す図である。
【図4】電子署名サーバの記憶部におけるユーザ情報領域のデータ構造を示す図である。
【図5】署名要求に応じて行う図1の電子署名サーバの処理のフローチャートである。
【図6】検証要求に応じて行う図1の電子署名サーバの処理のフローチャートである。
【発明を実施するための形態】
【0013】
本発明による電子署名検証装置の実施の形態を、図面を参照しながら説明する。
本発明による電子署名検証装置は、検証対象の署名データが同一の電子署名文書において最新のもの又は対応する検証情報が存在しないものであれば、署名データの各々に含まれる電子証明書の有効性及び電子署名文書の改ざんの有無を検証して検証結果データとすることを選択し、その他の署名データは過去の検証結果データを用いた検証を選択可能にする装置である。
【0014】
図1は、本発明による電子署名検証装置が用いられる電子署名システムの構成図である。図1に示す電子署名システムは、例えば、社内システムに適用され、電子署名検証装置としての電子署名サーバ1と、ユーザ端末2と、認証局3と、通信ネットワーク4と、を有する。以下の説明では、「電子署名」を単に「署名」ともいい、「電子証明書」を単に「証明書」ともいう。
【0015】
電子署名サーバ1は、電子署名文書に施された全ての署名データについての検証等の機能を実現する。このために、電子署名サーバ1は、記憶部11と、電子署名サーバ1の各種制御を行う制御部12と、計時部13と、通信ネットワーク4を通じてユーザ端末2及び認証局3との通信を行う通信インタフェース(I/F)部14と、を有する。
【0016】
記憶部11は、フラッシュメモリ、EEPROM等の書換え自在の不揮発性メモリ、磁気ハードディスク、書換え自在の光ディスク及びそのドライブ等の少なくともいずれかによって構成される。記憶部11は、電子署名文書領域と、検証結果領域と、ユーザ情報領域と、を有する。また、記憶部11は、制御部12で使用する各種制御情報等を記憶する。
【0017】
図2は、電子署名サーバの記憶部における電子署名文書領域のデータ構造を示す図である。電子署名文書は、保管対象である電子ファイルと、署名を施した結果である署名データと、署名の際に使用した電子証明書等の有効性を確認する検証情報とによって構成される。特に、保管対象に電子署名を多重に施す場合、電子ファイルに電子署名が施される度に署名データ及び検証情報が生成され、これらの署名データ及び検証情報が記憶部11に記憶される。
【0018】
後に説明する電子署名文書コードに関連付けられた一群のデータを電子署名文書と称する。また、電子ファイルは、ユーザが生成して保管対象にするオリジナルの電子文書そのものである。
【0019】
電子署名文書コードは、電子署名サーバ1が保管対象として電子ファイルを通信I/F部14にて外部から受信して記憶部11に最初に記憶するときに付与される独自のコードである。その後に重畳して電子署名文書に署名が施されるときには、電子署名文書コードは、対応付けの基準として用いられる。このような電子署名文書コードは、電子ファイルが記憶部11に記憶されたときに電子署名システムによって付与される。
【0020】
署名データは、電子署名を施した際に使用した署名者の電子証明書、デジタル署名値、署名時刻、署名者名等を含む。署名データは、保管対象に対して電子署名が施される度に生成される。
【0021】
検証情報は、署名データと対を成す情報であって、署名データを検証した際の電子証明書の有効性確認の根拠情報である。すなわち、検証情報を用いて署名データを再検証することができる。具体的には、検証情報は、検証時の電子証明書失効リスト(CRL(Certificate Revocation List))と、当該CRLを発行した認証局3の電子証明書と、を含んでいる。
【0022】
図2では、第4世代までの署名が施された電子署名文書を示している。この場合、先ず、電子ファイルを署名対象にして、第1世代の署名になる署名データaが生成され、電子署名文書が生成される。次に、新たな署名を重ねて施すときに、署名データaを再検証する際に使用する検証情報aを生成し、電子ファイル、署名データa及び検証情報aを新たな署名対象とし、第2世代の署名になる署名データbが生成される。同様にして、電子ファイル、署名データa及び検証情報aの他に第2世代の署名の署名データb及び検証情報bを署名対象にし、第3世代の署名の署名データcが生成され、その後、電子ファイル、署名データa、検証情報a、署名データb及び検証情報bの他に第3世代の署名の署名データc及び検証情報cを署名対象にし、第4世代の署名の署名データdが生成される。
【0023】
ここでは、第4世代の署名が最も新しい署名となり、これを最新の署名データという。この電子署名文書に更に署名が施されるとき、最新の署名データの検証情報を生成し、最新の署名データ及び生成した検証情報が署名対象に追加され、新たな署名データが生成され、新たな署名データが電子署名文書に追加して、電子署名文書が更新される。なお、上述した第1世代、第2世代等々の署名世代は、電子ファイルに順次重ねて署名を施すので、最も古い署名を第1世代の署名データと称し、次の署名を第2世代の署名データと称し、n番目の署名を第n世代の署名データと称している。
【0024】
図3は、電子署名サーバの記憶部における検証結果領域のデータ構造を示す図である。検証結果領域は、電子署名文書の各署名データを検証した結果である検証結果データを検証結果改ざん検知用データと対応付けて記憶する領域である。なお、検証結果領域は、電子署名文書の検証が行われた際に当該電子署名文書に含まれる署名データごとにレコードが作成される。検証結果領域の各レコードは、電子署名文書コード、署名世代、検証結果データ及び検証結果改ざん検知用データが対応付けられている。
【0025】
署名世代は、電子署名文書における複数の署名データにおいて古い順に第1世代、第2世代、第3世代等々と付すためのコードである。この署名世代は、各署名データが電子署名文書コードで対応付けられている複数の署名データにおける署名時刻から古い順に第1世代、第2世代、第3世代等々と判断される。
【0026】
検証結果データは、各署名データについて検証処理を施した際の結果データであって、署名者名、署名時刻、署名に使用した電子証明書、署名対象への改ざんの有無、電子証明書の失効の有無等を含む。
【0027】
検証結果改ざん検知用データは、検証結果データの信頼性を担保するために検証結果領域の各レコードの改ざんの有無を検知するためのデータである。具体的には、検証結果改ざん検知用データは、検証結果改ざん検知用データ以外のデータである電子署名文書コード、署名世代及び検証結果データのハッシュ値である。
【0028】
図3に示す例では、電子署名文書コード「00000001」の電子署名文書には第1世代から第3世代までの署名データがあり、これらの署名世代ごとに検証結果データ及び検証結果改ざん検知用データが対応付けられて記憶部11に記憶されている。電子署名文書コード「00000002」及び「00000004」の電子署名文書には第1世代の署名データがあり、第1世代の検証結果データ及び検証結果改ざん検知用データが対応付けられて記憶部11に記憶されている。同様に、電子署名文書コード「00000003」の電子署名文書には第1世代から第2世代までの署名データがあり、これらの署名世代ごとに検証結果データ及び検証結果改ざん検知用データが対応付けられて記憶部11に記憶されている。
【0029】
図4は、電子署名サーバの記憶部におけるユーザ情報領域のデータ構造を示す図である。ユーザ情報領域は、ユーザIDをユーザの電子証明書に対応付けて記憶する領域であって、署名要求があるとユーザIDに対応する電子証明書を読み出す際に参照される。ユーザ情報領域の各レコードには、ユーザID、電子証明書、氏名及び所属が保存されている。なお、電子証明書は、電子証明書そのものを保存しても保存場所へのパスであってもよい。
【0030】
制御部12は、CPU,ROM,RAM等から構成され、電子署名サーバ1の制御全般についてプログラムに従って処理を行う。このために、制御部12は、電子署名手段111と、検証手段112と、簡易検証手段113と、検証結果改ざん検出手段114と、検証選択手段115と、結果送信手段116と、を有する。
【0031】
電子署名手段111は、ユーザ端末2からの署名要求を受けると、署名要求に含まれるユーザIDで特定されるユーザの電子証明書を記憶部11のユーザ情報領域から読み出し、署名対象に署名を施す。ここで、署名対象とは、署名を施す対象であるデータの総称であって、第1世代の署名対象は電子ファイルとなる。第2世代の署名対象は、電子ファイルと第1世代の署名データ及び対応する検証情報となる。第3世代の署名対象は、第2世代の署名対象と第2世代の署名データ及び対応する検証情報となる。具体的には、電子署名手段111は、署名者の電子証明書を記憶部11のユーザ情報領域から読み出し、電子証明書に基づいて署名対象のデジタル署名値を算出する。このとき、電子署名手段111は、計時部13から取得した現在時刻を署名時刻とする。そして、電子署名手段111は、これらのデジタル署名値、署名時刻及び使用した電子証明書を署名データとして記憶部11の電子署名文書領域に記憶させる。
【0032】
検証手段112は、検証対象の署名データを用いて、署名対象の改ざんがされていないこと及び署名に使用された電子証明書が有効であることを検証する。具体的には、検証手段112は、署名対象の改ざんの有無を判定するために、署名データの電子証明書を用いて署名対象のデジタル署名値を復号してハッシュ値を算出し、算出したハッシュ値と、記憶部11の電子署名文書領域に記憶されている署名対象から算出されるハッシュ値との一致を確認する。これらの値が一致しない場合、検証手段112は、「改ざん有り」と判定し、そうでない場合、検証手段112は、「改ざん無し」と判定する。また、検証手段112は、電子証明書の有効性を判定するために、認証局3からCRLを取得し、署名データの電子証明書がCRLに記載されているか否かを確認する。署名データの電子証明書がCRLに記載されている場合、検証手段112は、「有効性に問題有り」と判定し、そうでない場合、検証手段112は、「有効性に問題無し」と判定する。そして、検証手段112は、これらの検証の結果を検証結果データとして、電子署名文書コード及び署名世代と対応させて記憶部11の検証結果領域に記憶させる。さらに、検証手段112は、電子証明書の有効性の判定に使用したCRL及び認証局3の電子証明書を、検証情報として記憶部11の電子署名文書領域に署名データと対応付けて記憶させる。
【0033】
簡易検証手段113は、検証対象の署名データについて、過去の検証結果である検証結果データを検証結果として用いることによって、検証の効率を上げる処理を行う。具体的には、簡易検証手段113は、記憶部11の検証結果領域を参照し、検証対象の署名データに対応する検証結果データを読み出す。そして、後述する検証結果改ざん検出手段114により検証結果データの改ざんの有無を確認し、検証結果データの改ざんが無い場合、簡易検証手段113は、検証結果データをそのまま検証結果として用いる。一方、検証結果データの改ざんが有る場合、簡易検証手段113は、図示しないシステム管理者やシステムログに警告を通知する。その後、簡易検証手段113は、検証手段112と同様に、署名対象の改ざんの有無を判定する。また、簡易検証手段113は、電子証明書の有効性を判定するために、記憶部11の電子署名文書領域に記憶されている署名データに対応している検証情報からCRLを取得し、署名データの電子証明書がCRLに記載されているか否かを確認する。署名データの電子証明書がCRLに記載されている場合、簡易検証手段113は、「有効性に問題有り」と判定し、そうでない場合、簡易検証手段113は、「有効性に問題無し」と判定する。そして、簡易検証手段113は、これらの検証の結果を検証結果データとして、電子署名文書コード及び署名世代と対応させて記憶部11の検証結果領域に上書き記憶させ、検証結果データとして用いる。
【0034】
検証結果改ざん検出手段114は、検証結果改ざん検知用データを用いて、記憶部11の検証結果領域に記憶してある検証結果データの改ざんが有るか否かを検出する。具体的には、検証結果改ざん検出手段114は、検証結果データをハッシュ関数に通すことによって検証結果改ざん検知用データを生成し、このように生成された検証結果改ざん検知用データと、記憶部11の検証結果領域に記憶されている検証結果データを読み出して生成するハッシュとを比較し、これらが一致しなければ検証結果データに改ざんがあることを検出する。
【0035】
検証選択手段115は、電子署名文書の各署名データを検証するに当たり、各々の署名データについて、検証手段112と簡易検証手段113のいずれかで検証を行うかを選択する。具体的には、検証選択手段115は、検証対象の署名データが最新の署名データの場合には、検証手段による検証を選択する。また、検証選択手段115は、検証対象の署名データが未検証、すなわち、当該署名データに対する検証結果データが記憶部11の検証結果領域に存在しない場合にも、検証手段112による検証を選択する。一方、検証対象の署名データに対する検証結果データが記憶部11の検証結果領域に存在する場合には、簡易検証手段113による検証を選択する。
【0036】
結果送信手段116は、後述するユーザ端末2からの署名要求に応じて行う電子署名サーバ1の処理により得られる署名結果の送信、後述するユーザ端末2からの検証要求に応じて行う電子署名サーバ1の処理により得られる検証結果の抽出及び送信等を通信I/F部14を通じて行う。検証結果の抽出は、検証結果領域からの同一の電子署名文書コードの検証結果データを署名世代順に読み出して行う。
【0037】
計時部13は、署名が施された時刻である署名時刻、検証が行われた時刻である検証時刻等を取得するために、現在時刻を制御部12に提供する。このために、計時部13は、クロック等によって構成される。
【0038】
通信I/F部14は、所定の通信プロトコルで通信を行う通信インタフェース及びドライバから構成される。
【0039】
ユーザ端末2は、記憶部11に保管されている電子ファイルや電子署名文書に対し、閲覧、署名要求、検証要求、検証結果の表示等を行う。このために、ユーザ端末2は、例えば、パーソナルコンピュータ(PC)によって構成される。また、ユーザ端末2は、通信ネットワーク4を通じて電子署名サーバ1との通信を行う通信I/F部21と、ユーザ端末2の各種制御を行う制御部22と、PIN(Personal Identification Number)のようなパスワード等を入力する入力部23と、電子ファイルや電子署名文書の一覧等を表示する表示部24と、制御部22で使用する各種制御情報等を記憶する記憶部25と、を有する。
【0040】
通信I/F部21は、所定の通信プロトコルで通信を行う通信インタフェース及びドライバから構成される。制御部22は、CPU,ROM,RAM等の少なくともいずれかから構成され、ユーザ端末2の制御全般についてプログラムに従って処理を行う。入力部23は、マウス、キーボード等によって構成される。表示部24は、LCD等によって構成される。記憶部25は、フラッシュメモリ、EEPROM等の書換え自在の不揮発性メモリ、磁気ハードディスク、書換え自在の光ディスク及びそのドライブ等の少なくともいずれかによって構成される。
【0041】
表示部24に表示された電子ファイルや電子署名文書の一覧から検証対象が入力部23によって指定されると、制御部22は、電子署名文書コードを署名要求や検証要求とともに電子署名文書コードを電子署名サーバ1に送信する。なお、制御部22は、署名要求時には、ユーザ端末2を使用しているユーザのユーザIDも電子署名サーバ1に送信し、電子署名手段111は、ユーザIDから特定される電子証明書を記憶部11から読み出し、署名を行う。
【0042】
認証局3は、電子署名サーバ1からの要求に基づいて、公開鍵及びユーザ情報を含む電子証明書、秘密鍵及びPINによって構成されたP12(PKCS(Public Key Cryptography Standards) #12)ファイルのようなパスワード付電子証明書を生成する。ここで、PKCSとは、PKI(Public Key Infrastructure:公開鍵基盤)で利用する電子証明書や秘密鍵などのフォーマットを定めた標準であり、PKCS#12とは12番目にあたり、秘密鍵と電子証明書を交換するためのフォーマットが定義される。また、認証局3は、自局で発行した各証明書が有効期限内に失効させられたかの情報を管理する。この情報は定期的に更新され、リスト形式のデータとしてひとまとめにしたものをCRLと呼び、認証局3は、このCRLを外部へ供給する。このために、認証局3は、通信ネットワーク4を通じて電子署名サーバ1との通信を行う通信I/F部31と、認証局3の各種制御を行う制御部32と、CRL及び認証局3の電子証明書の他に制御部32で使用する各種制御情報等を記憶する記憶部33と、を有する。
【0043】
通信I/F部31は、所定の通信プロトコルで通信を行う通信インタフェース及びドライバから構成される。制御部32は、CPU,ROM,RAM等から構成され、認証局3の制御全般についてプログラムに従って処理を行う。記憶部33は、フラッシュメモリ、EEPROM等の書換え自在の不揮発性メモリ、磁気ハードディスク、書換え自在の光ディスク及びそのドライブ等の少なくともいずれかによって構成される。
【0044】
通信ネットワーク4は、電子署名サーバ1、ユーザ端末2及び認証局3に接続される。このために、通信ネットワーク4は、専用回線、インターネット、携帯電話回線、一般公衆回線等の遠隔地間又は屋内の離れた場所間でデータの送受信が可能となる通信回線によって構成される。
【0045】
次に、図1の電子署名サーバの処理フローについて説明する。なお、以下に説明する処理フローは、制御部12で実行されるプログラムによって制御される。
【0046】
図5は、署名要求に応じて行う図1の電子署名サーバの処理のフローチャートである。図5に示す処理フローは、電子署名サーバ1が電子署名文書を指定した署名要求をユーザ端末2から受け取る度に実行される。先ず、電子署名手段111は、記憶部11のユーザ情報領域に署名要求に含まれるユーザIDに対応する署名者の電子証明書が有るか否か判断する(ステップS1)。電子証明書が無い場合、結果送信手段116は、署名結果をユーザ端末2に送信し(ステップS2)、処理フローを終了する。
【0047】
それに対し、電子証明書が有る場合、電子署名手段111は、記憶部11の電子署名文書領域に過去に署名が有るか否か判断する(ステップS3)。過去に署名が無い場合、電子署名手段111は、当該署名者の電子証明書を用いて電子署名文書中の署名対象に対する署名データを生成して電子署名文書に追加し(ステップS4)、ステップS2に進む。
【0048】
それに対し、過去に署名が有る場合、検証選択手段115は、電子署名文書の全署名データを抽出し(ステップS5)、全署名データの中からこれから検証を行う署名データを設定する(ステップS6)。次に、検証選択手段115は、記憶部11の電子署名文書領域に検証情報が有るか否か判断する(ステップS7)。検証情報が無い場合、検証選択手段115は、検証手段112による検証を選択し、検証手段112は、署名データに含まれる電子証明書の有効性及び電子署名文書の改ざんの有無を検証して検証結果データを生成する(ステップS8)。次に、検証手段112は、検証結果データを記憶部11の検証結果領域に記憶させ(ステップS9)、検証情報を記憶部11の電子署名文書領域に記憶させる(ステップS10)。次に、検証選択手段115は、電子署名文書の全署名データの検証が終了したか否か判断する(ステップS11)。電子署名文書の全署名データの検証が終了した場合、ステップS4に進み、そうでない場合、ステップS6に戻る。
【0049】
それに対し、検証情報が有る場合、検証選択手段115は、簡易検証手段113による検証を選択し、検証結果改ざん検出部114は、検証結果データの改ざん検出処理を行い(ステップS12)、検証結果データに改ざんが有るか否か判断する(ステップS13)。改ざんが無い場合、ステップS11に進む。
【0050】
それに対し、改ざんが有る場合、簡易検証手段113は、図示しないシステム管理者やシステムログに警告を通知し(ステップS14)、記憶部11の電子署名文書領域から検証情報を取得する(ステップS15)。次に、簡易検証手段113は、署名データに含まれる電子証明書の有効性及び電子署名文書の改ざんの有無を検証して検証結果データを生成し(ステップS16)。記憶部11の検証結果領域に記憶されている検証結果データを更新し(ステップS17)、ステップS11に進む。
【0051】
図5に示す処理フローによれば、電子署名手段111は、ステップS3において電子署名文書に署名データがないと判断すれば、ステップS2において当該署名者の電子証明書を用いて前記電子ファイルに対する署名データを生成して当該電子署名文書に追加する。また、電子署名手段111は、ステップS3において電子署名文書に既に署名データがあると判断し、かつ、ステップS7において検証選択手段115が署名データに対応する検証情報がないと判断した場合、検証手段112にて検証して検証結果データを記憶部11の検証結果領域に記憶し、電子署名文書に検証情報を追加した後に、署名者の電子証明書を用いて署名対象に対する署名データを生成して当該電子署名文書に追加する。さらに、電子署名手段111は、ステップS3において電子署名文書に既に署名データがあると判断し、かつ、ステップS7において検証選択手段115が署名データに対応する検証情報があると判断した場合、簡易検証手段113にて検証して検証結果データを再利用する。このように簡易検証手段113による簡易検証を選択可能にすることによって、電子署名検証を更に高速で行うことができる。また、署名の際に予め検証結果データを生成することで簡易検証手段113による簡易検証を選択可能にする署名データの数すなわち署名世代数を多くすることができる。
【0052】
図6は、検証要求に応じて行う図1の電子署名サーバの処理のフローチャートである。図6に示す処理フローは、電子署名サーバ1が電子署名文書を指定した検証要求をユーザ端末2から受け取る度に実行される。先ず、検証選択手段115は、ユーザ端末2によって指定された電子署名文書を読み込む(ステップS21)。次に、検証選択手段115は、ユーザ端末2によって指定された電子署名文書が記憶部11の電子署名文書領域に記憶されているか否か判断する(ステップS22)。指定された電子署名文書が無い場合、結果送信手段116は、検証結果をユーザ端末2に送信し(ステップS23)、処理フローを終了する。
【0053】
それに対し、指定された電子署名文書が有る場合、検証選択手段115は、ステップS5及びS6の処理を行う。ステップS6において署名データが設定された後、検証選択手段115は、検証対象の署名データが同一の電子署名文書において最新のものであり又は対応する検証情報すなわち検証結果データが無いか否か判断する(ステップS24)。検証対象の署名データが同一の電子署名文書において最新のものであり又は対応する検証情報が無い場合、検証選択手段115は、検証手段112による検証を行うことを選択し、ステップS8,S9及びS11の処理を行う。そうでない場合、検証選択手段115は、簡易検証手段113による検証を行うことを選択し、ステップS12〜S17及びステップS11の処理を行う。なお、ステップS11において電子署名文書の全署名データの検証が終了したと判断された場合、結果送信手段116は、検証結果を抽出し(ステップS25)、ステップS23に進む。
【0054】
図6に示す処理フローによれば、検証選択手段115は、ステップS24において検証対象の署名データが同一の電子署名文書において最新のものであり又は対応する検証情報が存在しないものであると判断した場合、検証手段112による検証を選択し、その他の署名データは簡易検証手段113による検証を選択可能にしている。したがって、最新の署名は必ず検証され、他の署名も少なくとも1度検証され、電子署名の検証の信頼性が確保されている場合には、検証結果データをそのまま検証結果として抽出することによって、電子署名検証を高速で行うことができる。また、簡易検証手段113は、ステップS13において過去の検証結果データに改ざんがあると判断した場合、検証情報を用いて、対応する署名データに含まれる電子証明書の有効性及び電子署名文書の改ざんの有無を検証して検証結果データを再度生成し、更新する。
【0055】
したがって、電子署名の検証の信頼性が確保されている場合には、検証結果データをそのまま検証結果として抽出することによって、電子署名検証を高速で行うことができる。また、電子署名の検証の信頼性を確保する必要がある場合には、検証結果データを更新することによって、電子署名検証を高い信頼性で行うことができる。
【0056】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、本発明による電子署名検証装置を有する電子署名システムを社内システムに適用する場合について説明したが、社内システム以外のシステムに対しても、本発明による電子署名検証装置を有する電子署名システムを適用することができる。
【0057】
電子署名サーバ1が保管対象として電子ファイルを外部から受信し、電子ファイルを最初に記憶するときに電子署名文書コードを付与する場合について説明したが、電子署名サーバ1が保管対象として電子ファイルだけでなく電子署名文書も外部から受信し、これらを最初に記憶するときに電子署名文書コードを付すこともできる。
【0058】
検証結果改ざん検出手段114により検証結果データの改ざんを検出する場合について説明したが、検証結果データの改ざんのおそれがないことを他の方法によって保証することができる場合には、検証結果改ざん検出手段114による検証結果データの改ざんの検出を省略することができる。
【0059】
検証対象の署名データに対する検証結果データが存在する場合には簡易検証手段113による検証を選択する場合について説明したが、検証対象の署名データに対する検証結果データが存在する場合でも、署名の重要度、署名世代等に基づいて、信頼性のレベル及び処理時間に応じて簡易検証手段113の代わりに検証手段112による検証を選択することもできる。例えば、検証要求時に指定された特定の署名者(例えば、権限のある者)又は特定の署名世代(例えば、第1世代)のデータであるか否かを、検証選択手段115が署名データ中の署名者名、検証結果データの署名世代等を参照して判断し、簡易検証手段113の代わりに検証手段112による検証を選択する。また、信頼性を高くする必要がある場合は、検証手段112による検証を選択し、処理時間を短縮する必要がある場合は、簡易検証手段113による検証を選択することもできる。
【0060】
失効情報としてCRLを用いた場合について説明したが、失効情報として、認証局3にある証明書が失効させられているか否かを問い合わせる方式OCSP(Online Certificate Status Protocol)を用いて得られた結果を、CRLの代わりに又はCRLと組み合わせて用いることもできる。
【0061】
図5及び6の処理フローチャートにおいて、検証手段112又は簡易検証手段113による検証結果データの内容が「改ざん有り」又は「有効性に問題有り」にてNGであるか否かに関係なく全ての署名データについて検証を行う場合について説明したが、検証結果データの内容がNGである場合には処理を中止するようにすることもできる。
【0062】
図5のフローチャートにおいて、検証手段112による検証結果データの内容がNGであるか否かに関係なく署名を施す場合について説明したが、検証結果データの内容がNGである場合には処理を中止するようにすることもできる。
【0063】
電子署名文書領域、検証結果領域及びユーザ情報領域を記憶部11に保存する場合について説明したが、電子署名文書を保存するファイル保存装置と、検証結果データを保存する検証結果保存装置と、ユーザ情報を保存するユーザ情報管理データベースとを、電子署名サーバ1とは別に設けることもできる。この場合、電子署名サーバ1は、ファイル保存装置に保存された電子署名文書と、検証結果保存装置に保存された検証結果データと、ユーザ情報管理データベースに保存されたユーザ情報とを、通信ネットワーク4を介して読み取ることができるようにする。
【0064】
署名時に証明書のCRLとともに電子署名文書に署名を施す方法について説明したが、電子署名文書に署名のみを施すことを繰り返しても良い。この場合、対応する検証情報がない署名データが複数ある電子署名文書が生成されるため、あるタイミングで一括して検証情報を記憶して署名を施すこともできる。
【0065】
電子署名文書に電子署名のみを施す場合について説明したが、電子署名文書に電子署名を施すとともに、又は、電子署名文書に電子署名を施す代わりに、通信ネットワーク4に接続されたタイムスタンプ局(図示せず)によって電子署名文書にタイムスタンプを施すこともできる。
【0066】
検証結果データをハッシュ関数に通すことによって検証結果改ざん検知用データを生成する場合について説明したが、検証結果データをハッシュ関数以外の関数に通すことによって検証結果改ざん検知用データを生成することもできる。
【0067】
署名対象の選択方法は、第1世代が電子ファイルであり、第2世代が第1世代の署名データ及び対応する検証情報であり、第3世代が第2世代の署名データ及び対応する検証情報であり、第4世代が第3世代の署名データ及び対応する検証情報である等々とするなど、種々の選択方法を適用してもよい。
【符号の説明】
【0068】
1 電子署名サーバ
2 ユーザ端末
3 認証局
4 通信ネットワーク
11,25,33 記憶部
12,22,32 制御部
13 計時部
14,21,31 通信I/F部
23 入力部
24 表示部
111 電子署名手段
112 検証手段
113 簡易検証手段
114 検証結果改ざん検出手段
115 検証選択手段
116 結果送信手段

【特許請求の範囲】
【請求項1】
電子署名が施された電子署名文書とその検証結果データを記憶する記憶部と、
検証要求を受けると、前記電子署名文書に施された全ての署名データについて検証して検証結果データを生成し、前記検証結果データから検証結果を生成して出力する制御部を有する電子署名検証装置であって、
前記電子署名文書は、電子ファイル、署名が施される度に生成される署名時刻を含む署名データ、及び当該署名に用いた電子証明書の有効性の判断が可能な情報を含む検証情報から少なくとも構成され、
前記制御部は、
前記署名データの各々に含まれる電子証明書の有効性及び前記電子署名文書の改ざんの有無を検証して検証結果データを生成する検証手段と、
前記記憶部に記憶されている過去の検証結果データを用いて検証する簡易検証手段と、
検証対象の署名データが同一の電子署名文書において最新のものであり又は対応する検証情報が存在しないものであれば前記検証手段による検証を選択し、その他の署名データは簡易検証手段による検証を選択可能にする検証選択手段と、
を有することを特徴とする電子署名検証装置。
【請求項2】
前記簡易検証手段は、前記過去の検証結果データに改ざんがある場合、前記検証情報を用いて、対応する署名データに含まれる電子証明書の有効性及び前記電子署名文書の改ざんの有無を検証して検証結果データを生成する請求項1に記載の電子署名検証装置。
【請求項3】
前記制御部は、
電子署名文書を指定した署名要求を受け取ると、
当該電子署名文書に署名データがなければ当該署名者の電子証明書を用いて前記電子ファイルに対する署名データを生成して当該電子署名文書に追加し、
当該電子署名文書に既に署名データがあり、かつ、当該署名データに対応する検証情報がなければ、前記検証手段にて検証して検証結果データを前記記憶部に記憶し、前記電子署名文書に検証情報を追加した後に、署名者の電子証明書を用いて所定の署名対象に対する署名データを生成して当該電子署名文書に追加し、
当該電子署名文書に既に署名データがあり、かつ、当該署名データに対応する検証情報があれば、前記簡易検証手段にて検証して検証結果データを更新する電子署名手段を更に有する請求項1又は2に記載の電子署名検証装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−77933(P2011−77933A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−228676(P2009−228676)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000108085)セコム株式会社 (596)
【Fターム(参考)】