(57)【要約】【課題】  ひとつのディジタルデータに対して実施される複数の電子署名より構成される多重電子署名において、失効した電子署名を削除してディジタルデータのデータサイズの増大を防止すると共に、ディジタルデータに実施されたディジタルタイムスタンプを、有効期限を越えて保護、認証することができる電子署名方法を提供する。【解決手段】  ディジタルデータ４０に最初に電子署名を実施する時点で、あらかじめ複数の電子署名埋め込み領域（スロット５１、５２、５３）を生成し、各埋め込み領域に電子署名の存在やその内容、あるいは埋め込まれた順番を認識せしめる標識を持たせる。また、電子署名は、必要以上に他の電子署名をダイジェスト値の対象にしない。【選択図】      図２
2005229450.tif 000002
【特許請求の範囲】
【請求項１】
電子署名対象のディジタルデータのデータ領域内にデータ空隙領域を設けるか、または、当該ディジタルデータに新たにデータ記録領域を追加することにより、電子署名埋め込み領域を生成し、当該埋め込み領域に対し、電子署名生成ソフトウエアがインストールされているセンタ・サーバまたは情報処理装置によって生成された電子署名を埋め込む方式の電子署名方法であって、
電子署名対象のディジタルデータに対して最初に電子署名を生成する際に、上記の電子署名生成ソフトウエアが電子署名を埋め込むための埋め込み領域を生成すると同時に、別途、将来的に少なくともひとつの電子署名またはその他の情報を埋め込むためのブランク埋め込み領域を生成する一方、
上記最初に実施する電子署名は、電子署名の対象ディジタルデータから当該ディジタルデータ内に生成した全ての電子署名埋め込み領域を除いた部分に関するダイジェスト値を持ち、
上記ブランク埋め込み領域に将来的に埋め込む電子署名は、電子署名の対象ディジタルデータから当該ディジタルデータ内に生成した全ての電子署名埋め込み領域を除いた領域に関するダイジェスト値、又は、すでに埋め込まれている電子署名および当該電子署名が埋め込まれている電子署名埋め込み領域のうち、少なくともひとつの領域をダイジェスト値の対象に加え、他の電子署名および電子署名埋め込み領域を除いた領域に関するダイジェスト値を持つことを特徴とする電子署名方法。
【請求項２】
前記電子署名領域は、電子署名の埋め込み領域の存在を示すか、または、電子署名が埋め込まれているか否か、あるいは、埋め込まれている電子署名の情報の一部などを認知するための標識手段を有し、電子署名生成ソフトウエアは当該標識手段を読み取る手段を有し、電子署名の対象ディジタルデータに電子署名を実施するため当該電子署名生成ソフトウエアを起動すると、当該電子署名生成ソフトウエアは当該標識手段を読み取ることで、新規電子署名を埋め込むための領域が存在するか否かを判断し、新規電子署名を埋め込むための領域が存在しない場合は電子署名処理を中止するか、または、すでに埋め込まれている電子署名を削除したうえで、新たな電子署名を埋め込むよう操作者に対して要求することを特徴とする請求項１に記載の電子署名方法。
【請求項３】
正確かつ公正な基準時計に由来した時刻情報を含むディジタルタイムスタンプにおいて、
同時に生成する電子署名埋め込み領域を少なくとも３箇所とし、第１の電子署名埋め込み領域には当該ディジタルデータに対する最初のディジタルタイムスタンプを埋め込んでこれを永続的に保存し、第２および第３の電子署名埋め込み領域には事後２回目以降のディジタルタイムスタンプを埋め込み、すべての電子署名埋め込み領域に電子署名が埋め込まれた時点以降に実施するディジタルタイムスタンプには、２回目以降に実施された最も古いディジタルタイムスタンプを削除したうえで、最新のディジタルタイムスタンプを埋め込むことにより、常に、初回のディジタルタイムスタンプ、前回のディジタルタイムスタンプ、今回のディジタルタイムスタンプの、少なくとも３つのディジタルタイムスタンプ情報が記録されていることを特徴とする電子署名方法。
【請求項４】
前記第１の電子署名埋め込み領域に埋め込むディジタルタイムスタンプは、電子署名の対象ディジタルデータ領域から第１、第２、第３の３つの電子署名埋め込み領域を除いたデータに関するダイジェスト値の情報を有し、第２、第３の電子署名埋め込み領域に埋め込むディジタルタイムスタンプは、電子署名の対象ディジタルデータから、第２、第３の電子署名埋め込み領域を除いたデータに関するダイジェスト値の情報を有することを特徴とする請求項３に記載の電子署名方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルデータに対する電子署名の発行方法に関するものである。
【背景技術】
【０００２】
ディジタルデータの真正性や発行元の証明あるいは存在時点の認証に関する情報を公正に確認する手段として、電子署名が普及している。さらに、現在はひとつのディジタルデータに対して、認証目的や実施する事業者や人格が異なる複数の電子署名が実施される場合がある。一方、電子署名の対象ディジタルデータにすでに別の電子署名が実施されている場合は、すでに実施されている電子署名を含むディジタルデータに対して電子署名を実施する追加型の多重電子署名方式がとられている。 
【０００３】
また、各種ディジタルデータの真正性や存在時点を証明するために実施されるディジタルタイムスタンプも、電子署名の一種である。ディジタルタイムスタンプ（以後タイムスタンプ）は、タイムスタンプの対象データ自体、あるいは対象データのダイジェスト値を公正かつ正確な基準時計を所有する第３者機関に送付して、第３者機関が所有する基準時計に由来した時刻情報を含む電子署名トークンの発行を依頼し、発行された電子署名トークンを対象ディジタルデータに埋め込むことで、事後、電子署名検証ソフトウエアにより、当該ディジタルデータの真正性と存在時点を検証することが可能とする電子署名である。出願人も、特許文献１にてディジタルタイムスタンプに関する提案を行っている。
【特許文献１】特開２００３−２４４１３９
【発明の開示】
【発明が解決しようとする課題】
【０００４】
電子署名を発行する場合、通常、発行した電子署名の対象ディジタルデータを遡及可能なように、当該ディジタルデータのダイジェスト値などの固有情報を電子署名内に持たせている。しかしながら、追加型の多重電子署名のように複数の電子署名を実施時期をずらして埋め込む場合、実施時期が新しい電子署名は電子署名の対象ディジタルデータと過去に実施されている全ての電子署名も含めてダイジェスト値が計算され、その計算結果であるダイジェスト値の情報を新たに発行する電子署名に持たせる事になる。
【０００５】
複数の電子署名が実施されているディジタルデータにおいて、ひとつの電子署名の有効期限満了や暗号化のための鍵が解読されたなどで当該電子署名が失効したとしても、その電子署名より後に実施された電子署名は失効した電子署名を含むダイジェスト値を固有情報として持っているため、当該失効電子署名を削除する事ができず、データ容量が増大していくという問題が発生する。
【０００６】
また、電子署名の一態様であるディジタルデータの存在時点を証明するためのディジタルタイムスタンプにおいて、初回に発行され当該ディジタルデータに埋め込まれているディジタルタイムスタンプの有効期限が近づいてきた場合、初回のディジタルタイムスタンプの情報を残した上で新たにディジタルタイムスタンプを実施することにより、初回のディジタルタイムスタンプに記録されている最も古い存在時点を証明する時刻情報を、新たに実施したディジタルタイムスタンプの有効期限まで残すことが可能となる。そして、また新たに実施したタイムスタンプの有効期限がきた場合、複数のディジタルタイムスタンプ情報を含めて新たなタイムスタンプを実施する操作の繰り返しとなる。しかしながら、この方法も前述のとおりデータ容量が増大してしまうという問題点がある。
【０００７】
したがって本発明の技術的課題は、ひとつのディジタルデータに対して実施される複数の電子署名より構成される多重電子署名において、失効した電子署名を削除してディジタルデータのデータサイズの増大を防止すると共に、ディジタルデータに実施されたディジタルタイムスタンプを、有効期限を越えて保護、認証することができる電子署名方法を提供することである。
【課題を解決するための手段】
【０００８】
（１）  上記の技術的課題を達成するために、本発明の請求項１に係る電子署名方法は、電子署名対象のディジタルデータのデータ領域内にデータ空隙領域を設けるか、または、当該ディジタルデータに新たにデータ記録領域を追加することにより、電子署名埋め込み領域を生成し、当該埋め込み領域に対し、電子署名生成ソフトウエアがインストールされているセンタ・サーバまたは情報処理装置によって生成された電子署名を埋め込む方式の電子署名方法であって、電子署名対象のディジタルデータに対して最初に電子署名を生成する際に、上記の電子署名生成ソフトウエアが電子署名を埋め込むための埋め込み領域を生成すると同時に、別途、将来的に少なくともひとつの電子署名またはその他の情報を埋め込むためのブランク埋め込み領域を生成する一方、上記最初に実施する電子署名は、電子署名の対象ディジタルデータから当該ディジタルデータ内に生成した全ての電子署名埋め込み領域を除いた部分に関するダイジェスト値を持ち、上記ブランク埋め込み領域に将来的に埋め込む電子署名は、電子署名の対象ディジタルデータから当該ディジタルデータ内に生成した全ての電子署名埋め込み領域を除いた領域に関するダイジェスト値、又は、すでに埋め込まれている電子署名および当該電子署名が埋め込まれている電子署名埋め込み領域のうち、少なくともひとつの領域をダイジェスト値の対象に加え、他の電子署名および電子署名埋め込み領域を除いた領域に関するダイジェスト値を持つことを特徴としている。
【０００９】
（２）  また、本発明の請求項２に係る電子署名方法は、前記電子署名領域は、電子署名の埋め込み領域の存在を示すか、または、電子署名が埋め込まれているか否か、あるいは、埋め込まれている電子署名の情報の一部などを認知するための標識手段を有し、電子署名生成ソフトウエアは当該標識手段を読み取る手段を有し、電子署名の対象ディジタルデータに電子署名を実施するため当該電子署名生成ソフトウエアを起動すると、当該電子署名生成ソフトウエアは当該標識手段を読み取ることで、新規電子署名を埋め込むための領域が存在するか否かを判断し、新規電子署名を埋め込むための領域が存在しない場合は電子署名処理を中止するか、または、すでに埋め込まれている電子署名を削除したうえで、新たな電子署名を埋め込むよう操作者に対して要求することを特徴としている。
【００１０】
（３）  また、本発明の請求項３に係る電子署名方法は、正確かつ公正な基準時計に由来した時刻情報を含むディジタルタイムスタンプにおいて、同時に生成する電子署名埋め込み領域を少なくとも３箇所とし、第１の電子署名埋め込み領域には当該ディジタルデータに対する最初のディジタルタイムスタンプを埋め込んでこれを永続的に保存し、第２および第３の電子署名埋め込み領域には事後２回目以降のディジタルタイムスタンプを埋め込み、すべての電子署名埋め込み領域に電子署名が埋め込まれた時点以降に実施するディジタルタイムスタンプには、２回目以降に実施された最も古いディジタルタイムスタンプを削除したうえで、最新のディジタルタイムスタンプを埋め込むことにより、常に、初回のディジタルタイムスタンプ、前回のディジタルタイムスタンプ、今回のディジタルタイムスタンプの、少なくとも３つのディジタルタイムスタンプ情報が記録されていることを特徴としている。
【００１１】
（４）  更に本発明の請求項４に係る電子署名方法は、前記第１の電子署名埋め込み領域に埋め込むディジタルタイムスタンプは、電子署名の対象ディジタルデータ領域から第１、第２、第３の３つの電子署名埋め込み領域を除いたデータに関するダイジェスト値の情報を有し、第２、第３の電子署名埋め込み領域に埋め込むディジタルタイムスタンプは、電子署名の対象ディジタルデータから、第２、第３の電子署名埋め込み領域を除いたデータに関するダイジェスト値の情報を有することを特徴としている。
【００１２】
上記（１）で述べた請求項１に係る手段によれば、電子署名対象のディジタルデータに最初に電子署名を実施する時点で、当該ディジタルデータのデータ領域内にデータ空隙領域を設けるか、又は、当該ディジタルデータに追加するなどであらかじめ今回の電子署名を埋め込むための電子署名埋め込み領域（以下、電子署名スロット）を生成すると同時に、あらかじめ将来的に他の電子署名を埋め込むための電子署名スロットを複数生成しておく。そして、最初に生成する電子署名は、当該ディジタルデータから全ての電子署名スロットを除いたデータ領域に関して計算されたダイジェスト値の情報を有し、２番目以降に生成する電子署名は、当該ディジタルデータから全ての電子署名スロット領域を除いたデータ領域に関して計算されたダイジェスト値か、あるいは、最初に生成されてすでに当該ディジタルデータに対する第１の電子署名スロットに埋め込まれている電子署名などのように、すでにいずれかの電子署名スロットに埋め込まれている少なくとも１つの電子署名を含むと共に、当該ディジタルデータからその他の電子署名スロット領域を除いたデータの領域に関するダイジェスト値の情報を有していることになる。
【００１３】
このため、２番目以降に生成する電子署名は、当該ディジタルデータから全ての電子署名スロット領域を除いたデータ領域に関して計算されたダイジェスト値である場合、各電子署名は、他の電子署名と独立して存在することとなり、ある電子署名を削除したとしても、他の電子署名が記録しているダイジェスト値が変わってしまうことはない。
【００１４】
また、新たな電子署名を実施する際に、特定の電子署名とその埋め込み領域を含めてダイジェスト値を計算し、新たな電子署名に記録することで、特定の電子署名が失効したとしても、その内容は新たな電子署名に記録されているダイジェスト値に反映されており、特定の電子署名の内容が改ざんされた場合、新たな電子署名を検証することで認識することが可能となる。
【００１５】
次に、上記（２）で述べた請求項２に係る手段によれば、電子署名の対象ディジタルデータに生成される電子署名スロットは、電子署名スロットがすでに存在していることを知らしめ、更に当該電子署名スロット内に電子署名が埋め込まれているか否か、あるいは埋め込まれている電子署名の内容の一部たとえば電子署名を実施した時刻情報などを、情報処理装置に認知せしめる標識手段を持たせておく。同時に、電子署名生成ソフトウエアには専用プログラムなど当該標識手段を読み取る手段を持たせておき、電子署名処理を実行するに当たり、当該処理が当該ディジタルデータに対する最初の電子署名であるか否かを情報処理装置に判断せしめたり、また、すでに電子署名が実施されている場合は、どの電子署名スロットがブランクの電子署名スロットであるかを情報処理装置に認知せしめることが可能となる。
【００１６】
そして、新規に電子署名を実施しようとする場合、標識手段を読みとってブランクの電子署名スロットが存在しない場合には、電子署名を中止したり、すでに埋め込まれている電子署名を削除した上で、新たに電子署名処理を実行するように情報処理装置を介して操作者に対し要求することになる。
【００１７】
次に、上記（３）で述べた請求項３に係る手段によれば、電子署名の１態様であるディジタルタイムスタンプ（以後タイムスタンプ）を実施するにあたり、電子署名の対象ディジタルデータに最初にタイムスタンプを発行し埋め込む時点で、３箇所の電子署名スロットをあらかじめ生成し、第１の電子署名スロットに初回発行のタイムスタンプを埋め込み、このタイムスタンプは永続的に保持し、２回目、３回目に発行されたタイムスタンプは発行された順番に所定の電子署名スロットの埋め込み、４回目以降に発行されたタイムスタンプは２回目以降に発行されたタイムスタンプを埋め込んである電子署名スロットのうちで前々回に埋め込んだタイムスタンプを削除したうえで、新たに発行されたタイムスタンプを埋め込むことにより、当該ディジタルデータに最初にタイムスタンプを実施した時刻情報を有するタイムスタンプと、前回および今回タイムスタンプを実施した時刻情報を有するタイムスタンプの３つのタイムスタンプを埋め込むことを可能にしている。
【００１８】
更に上記（４）で述べた請求項４に係る手段によれば、前記第１の電子署名スロットに埋め込まれる初回に発行されたタイムスタンプは、電子署名の対象ディジタルデータから３箇所の電子署名スロット領域を除いたデータ領域に関するダイジェスト値の情報を持ち、第２、第３の電子署名スロットに埋め込まれる２回目以降に実施されるタイムスタンプは、当該ディジタルデータのうちの第２、第３の電子署名スロット領域はダイジェスト値の対象に含めず、第１の電子署名スロットに埋め込まれている電子署名はダイジェスト値の対象に含むことを特徴としている。このため、第２、および第３の電子署名スロットに埋め込まれるタイムスタンプは互いの電子署名スロットに埋め込まれているディジタルタイムスタンプをダイジェスト値の対象としていないため、削除、書き換えを自在に行うことが可能となる。
【発明の効果】
【００１９】
以上により、本発明に係る電子署名方法によれば、複数の電子署名を埋め込んだディジタルデータにおいて、いずれかの電子署名が失効した場合、失効した電子署名を削除したとしても、失効した電子署名より後に実施した電子署名のダイジェスト値に影響を与えることがない。
【００２０】
また、タイムスタンプ処理において、初回のタイムスタンプを実施する段階であらかじめ少なくとも３個のタイムスタンプを埋め込むことができるように電子署名対象のディジタルデータを加工しておくことにより、最も古い存在時点を証明する初回のタイムスタンプと、前回実施されたタイムスタンプと、今回実施されたタイムスタンプの３つのタイムスタンプに記録されている時刻情報を持つことができ、さらに、初回のタイムスタンプ情報は以後実施されるタイムスタンプの対象であるダイジェスト値に含まれているため、初回のタイムスタンプ情報を改ざんすることは不可能となる。
【００２１】
また、過去に実施されたタイムスタンプの有効期限が近づいた場合、当該タイムスタンプを削除して新たなタイムスタンプを実施することで、タイムスタンプ対象のディジタルデータの最も古い存在時刻を残したまま、タイムスタンプを継続的に認証することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下に、上述した本発明に係る電子署名方法の実施の形態を図面を参照して説明する。図１は本発明を実現するためのシステムの一例を示す構成図であり、図中、１０は公正かつ正確な時を刻む基準時計１１と、タイムスタンプ発行サーバ１２からなる時刻認証機関である。この時刻認証機関１０のタイムスタンプ発行サーバ１２は、クライアントからネットワーク３０を介して送信されてきたディジタルデータ、または、ディジタルデータのダイジェスト値に対して、受信を開始した時点での基準時計１１の時刻情報を含むタイムスタンプトークンを発行し、クライアントに返信する。１５ａおよび１５ｂは電子署名発行サーバであり、タイムスタンプ発行サーバ１２を運営する事業者と同じ事業者が運営していてもよいし、それぞれ別の事業者が運営していてもよい。また、図面では、符号１０を時刻認証機関としているが、時刻認証機関でなく１５ａ、１５ｂと同様な電子署名発行サーバを所有する電子署名発行機関であってもよい。当然、１５ａ、１５ｂが時刻認証機関の保有するタイムスタンプサーバであることも考えられる。
【００２３】
２１はクライアントＡが所有する情報処理装置であり、２２はクライアントＢが所有する情報処理装置であって、ともに、少なくともひとつの電子署名生成ソフトウエアがインストールされている。当然クライアントＡとクライアントＢは別の個人、または事業者であってもよいし、同一の個人、事業者であることも考えられる。また、クライアントＢが存在しない場合も考えられる。情報処理装置２１と２２は、互いにネットワーク３０や物理的記録媒体３５を用いてデータの授受が可能なように構成されている。
【００２４】
また、図示した実施例では、以下述べるように、クライアントＡの情報処理装置２１でディジタルデータにタイムスタンプ処理を実施し、事後、ネットワーク３０あるいは物理的記録媒体３５を使用してタイムスタンプや、その他の電子署名が埋め込まれたディジタルデータをクライアントＢの情報処理処置２２に送ることにより、クライアントＢは情報処理装置２２上で当該ディジタルデータファイルを開いて閲覧をしたり、更に新たな電子署名処理を実施することが可能となる。
【実施例１】
【００２５】
図２は、本発明の第１の実施例に係る具体的電子署名方法における最初の電子署名を実施する場合を説明している。図中、４０は図１に示したクライアントＡの情報処理装置２１で生成、または加工された電子署名の対象ディジタルデータである。クライアントＡは当該ディジタルデータ４０を情報処理装置２１上で開き、当該情報処理装置２１にインストールされている電子署名生成ソフトウエアを起動し、当該ディジタルデータ４０に対する電子署名処理を実施する。
【００２６】
電子署名生成ソフトウエアは、先ず当該ディジタルデータ４０にすでになんらかの電子署名が実施されているか否かを電子署名スロットに付随する電子署名標識の有無により判断する。今回は始めての電子署名の実施となるので、当該標識は存在せず当該ディジタルデータ４０には電子署名が実施されていないことが判断できる。そして、当該情報処理装置２１と当該電子署名生成ソフトウエアは、ディジタルデータ４０に複数の電子署名を埋め込むための領域、すなわち電子署名スロットを生成し、新たなディジタルデータ４１を作成する。本実施例においては符号５１、５２、５３で示した３つの電子署名スロットを生成した場合について説明している。また、各電子署名スロット５１、５２、５３には、電子署名スロットに電子署名が埋め込まれているか否かを電子署名生成ソフトウエアに認知せしめるための電子署名標識５４、５５、５６も同時に生成される。
【００２７】
つぎに、上記の情報処理装置２１および電子署名生成ソフトウエアは、新たに作成したディジタルデータ４１から全ての電子署名スロットを除いた領域に関するダイジェスト値を計算し、ネットワーク３０を介して前記時刻認証機関１０のタイムスタンプ発行サーバ１２に対し、計算された第１のダイジェスト値４２を送信する。
【００２８】
第１のダイジェスト値を受信した上記時刻認証機関１０のタイムスタンプ発行サーバ１２は、当該ダイジェスト値を受信開始した基準時計１１に由来する時刻情報１３と当該ダイジェスト値４２を合わせて暗号化して、初回タイムスタンプトークン１４を発行し、ネットワーク３０経由でクライアントＡの情報処理装置２１に返信する。この時、タイムスタンプトークン１４に、タイムスタンプトークン１４を解読するための公開鍵を合わせて返信することも考えられる。
【００２９】
以上の如く、初回タイムスタンプトークン１４を受信したクライアントＡの情報処理装置２１およびインストールされている電子署名生成ソフトウエアは、次に、ディジタルデータ４３の第１署名スロット５１に当該タイムスタンプトークンを埋め込み、同時に電子署名埋め込み標識５４を電子署名埋め込み済み標識５７に変更する。以上の処理によって初回タイムスタンプ処理が実施されたディジタルデータ４３を生成する。
【００３０】
図３は、初回の電子署名が実施されているディジタルデータに、２回目以降の電子署名を実施する場合の方法を説明している。本実施例では第２回目の電子署名もクライアントＡが実行する場合について述べているが、当然、クライアントＡ以外、たとえば図１におけるクライアントＢが、クライアントＡより受領した初回の電子署名が実施されているディジタルデータに対して２回目の電子署名を実行することも考えられる。
【００３１】
クライアントＡは初回の電子署名、すなわち本実施例ではタイムスタンプが実施されているディジタルデータ４３を情報処理装置２１上で開き、図１における電子署名発行サーバ１５（図１の１５ａ又は１５ｂ）での電子署名の発行を要求する電子署名生成ソフトウエアを起動する。当然、２回目の電子署名がタイムスタンプを目的とするものであれば、初回のタイムスタンプを実施するときと同じ電子署名生成ソフトウエアを起動する場合もある。電子署名生成ソフトウエアは各電子署名スロットの電子署名標識を読み取って、第２の電子署名スロット５２には電子署名が埋め込まれていないことを確認した上で、全ての電子署名スロットを除いたディジタルデータ４３に関する第２のダイジェスト値４４を計算し、その結果をネットワーク３０経由で電子署名発行サーバ１５に送信する。
【００３２】
最初のタイムスタンプにおけるダイジェスト値を計算する関数と、２回目の電子署名のダイジェスト値を計算する関数が同じであれば、当然、第１のダイジェスト値と第２のダイジェスト値は同じ値となる。本実施例では第１の電子署名スロットに埋め込まれている電子署名を第２の電子署名に記録するダイジェスト値の対象に含んでいないが、これを含む電子署名も当然あり得る。
【００３３】
第２のダイジェスト値を受信した電子署名発行サーバ１５は、第２のダイジェスト値４４と電子署名情報１６を合わせて暗号化し、第２の電子署名トークン１７を生成し、ネットワーク３０経由で前述したクライアントＡの情報処理装置２１に第２の電子署名トークン１７を返信する。この場合も電子署名トークン１７を復号するための公開鍵を添付して返信することも考えられる。
【００３４】
クライアントＡの情報処理装置２１とインストールされている電子署名生成ソフトウエアは、受信した電子署名トークン１７を第２の電子署名スロット５２に埋め込み、同時に電子署名埋め込み標識５５を電子署名埋め込み済み標識５８に変更する。以上の処理によって初回タイムスタンプ処理が実施されたディジタルデータ４５を生成する。
【００３５】
同様に第３の電子署名スロット５３に第３の電子署名トークンを埋め込まれた時点で、本ディジタルデータに当初生成された電子署名スロット５１、５２、５３の全てに電子署名が埋め込まれたことになる。第３の電子署名も全ての電子署名スロットを除いたディジタルデータ４３に関するダイジェスト値を持つものとすると、３つの電子署名とも他の電子署名および電子署名スロットを除いたダイジェスト値を持っているため、それぞれの電子署名は他の電子署名に対して独立となる。したがって、たとえば第２の電子署名を削除したとしても、第３の電子署名には何ら影響を与えない。
【００３６】
全ての電子署名スロット５１、５２、５３に電子署名が埋め込まれている時点で新たな電子署名を実施しょうとすると、電子署名生成ソフトウエアは電子署名スロットの電子署名標識を読み取り全ての電子署名スロットに電子署名が埋め込まれていることが認識できるため、これ以上の電子署名は実施できない旨を操作者に示して処理を中止する。あるいは、いずれかの電子署名を削除したうえで新たな電子署名を実行するように操作者に提案することも可能である。
【００３７】
図４は通常の多重電子署名の構造を示している。６０は電子署名対象のディジタルデータに最初の電子署名が実施されたディジタルデータである。６１は第１の電子署名であり、第１の電子署名６１を除いたディジタルデータ領域、すなわち、オリジナルのデータ領域に関するダイジェスト値の情報を有している。６２は第２の電子署名６３が実施されたディジタルデータであり、第２の電子署名６３は、オリジナルのデータ領域と第１の電子署名を合わせたデータ領域に関するダイジェスト値の情報を有している。以後、同様に６４は第３の電子署名６５が実施されたディジタルデータであり、６６は第４の電子署名６７が実施されたディジタルデータであり、それぞれの電子署名６１〜６７は、オリジナルデータと自身を除いて自身より早期に実施された電子署名を合わせたデータ領域に関するダイジェスト値の情報を持っている。
【００３８】
したがって、もっとも後に実施された電子署名以外は、他の電子署名のダイジェスト値の対象となっているため、いずれかの電子署名を削除すると、電子署名を検証するために新たにダイジェスト値を計算すると、その結果は検証対象の電子署名が所有しているダイジェスト値と異なってしまい電子署名は否認されてしまうという問題点が発生する。
【実施例２】
【００３９】
図５は本発明における第２の実施例を説明するものであり、もっとも早く実施されたタイムスタンプに記録されている存在時点を示す時刻情報を、永続的に認証するための具体的方法である。クライアントＡは未だ電子署名が実施されていないタイムスタンプ対象のディジタルデータ７０を情報処理装置２１上で開き、インストールされているタイムスタンプ生成ソフトウエアを起動してタイムスタンプ処理を実行すると、まず、電子署名標識が存在しないことを確認し、タイムスタンプ生成ソフトウエアはタイムスタンプ対象のディジタルデータ７０に３つの電子署名スロット８１、８２、８３を生成し、ディジタルデータ７１を作成する。なお、８４、８５、８６は各電子署名スロットの標識である。
【００４０】
つぎにタイムスタンプ生成ソフトウエアは、ディジタルデータ７１から電子署名スロット領域を除いた領域に関するダイジェスト値を計算し、その結果の第１のダイジェスト値７２をネットワーク３０を介して時刻認証機関１０のタイムスタンプ発行サーバ１２に送信する。
【００４１】
第１のダイジェスト値７２を受信した時刻認証機関１０のタイムスタンプ発行サーバ１２は当該ダイジェスト値を受信開始した基準時計１１に由来する時刻情報１３と当該ダイジェスト値を合わせて暗号化し、初回タイムスタンプトークン１４を発行し、ネットワーク経由でクライアントＡの情報処理装置２１に返信する。この時、タイムスタンプトークン１４に、タイムスタンプトークン１４を解読するための公開鍵を合わせて返信することも考えられる。
【００４２】
初回タイムスタンプトークン１４を受信したクライアントＡの情報処理装置２１およびインストールされている電子署名生成ソフトウエアは、ディジタルデータ７１の第１署名スロット８１に当該タイムスタンプトークンを埋め込み、同時に電子署名埋め込み標識８４を初回に発行された電子署名が埋め込み済みであることを示す標識８７に変更する。以上の処理によって初回タイムスタンプ処理が実施されたディジタルデータ７３を生成する。
【００４３】
図６は、最初のタイムスタンプが実施されたディジタルデータ７３のタイムスタンプの有効期限が近づいた場合など、再度タイムスタンプ処理を行う方法について説明している。まず、クライアントＡは情報処理装置２１上で、すでにタイムスタンプが実施されているディジタルデータ７３を開き、タイムスタンプ生成ソフトウエアを起動してタイムスタンプ処理を実行する。
【００４４】
タイムスタンプ生成ソフトウエアは当該ディジタルデータ７３に生成されている電子署名スロット８１、８２、８３の標識８４、８５、８６を読み取り、第２、第３の電子署名スロット８２、８３がブランクであることを確認し、当該ディジタルデータ７３から第２、第３の電子署名スロット８２、８３を除いた領域、すなわち、オリジナルのディジタルデータ領域と最初のタイムスタンプを合わせた領域に関する第２のダイジェスト値７４を計算し、ネットワーク３０を介して時刻認証機関１０のタイムスタンプ発行サーバ１２に送信する。
【００４５】
第２のダイジェスト値７４を受信したタイムスタンプ発行サーバ１２は初回のタイムスタンプトークンを発行したときと同様に、当該ダイジェスト値７４を受信開始した基準時計１１に由来する時刻情報１６と、当該ダイジェスト値７４を合わせて暗号化し、第２回目のタイムスタンプトークン１７を発行し、ネットワーク３０経由でクライアントＡの情報処理装置２１に返信する。
【００４６】
第２回目のタイムスタンプトークン１７を受信したクライアントＡの情報処理装置２１およびインストールされている電子署名生成ソフトウエアは、ディジタルデータ７３の第２署名スロット８２に当該タイムスタンプトークンを埋め込み、同時に電子署名埋め込み標識８５を第２回目に発行された電子署名が埋め込み済みであることを示す標識８８に変更する。以上の処理によって第２回目のタイムスタンプ処理が実施されたディジタルデータ７５を生成する。
【００４７】
更に同様の処理によって第３の電子署名スロット８３により新しいタイムスタンプを埋め込むことも可能である。この場合もダイジェスト値計算の対象領域は当該ディジタルデータ７５から第２、第３の電子署名スロット８２、８３を除いた領域、すなわち、オリジナルのディジタルデータ領域と最初のタイムスタンプを合わせた領域とする。したがって、ダイジェスト値を計算する関数が各回とも同じ関数であれば、２回目以降に得られるダイジェスト値は同じ値となる。
【００４８】
図７はすでに３回のタイムスタンプ処理が実施されているディジタルデータ７６に対して、初回のタイムスタンプを残したまま、４回目のタイムスタンプ処理を行う場合について説明している。クライアントＡは当該ディジタルデータ７６を情報処理装置２１で開き、タイムスタンプ生成ソフトウエアを起動する。
【００４９】
情報処理装置２１およびタイムスタンプ生成ソフトウエアはディジタルデータ７６の電子署名スロット８１、８２、８３の標識８７、８８、８９を読み取り、全ての電子署名スロットにタイムスタンプが埋め込まれており、新たなタイムスタンプを埋め込むことができないことを認知し、初回に発行されたタイムスタンプを除くふたつのタイムスタンプのうち、より過去に実施されたタイムスタンプを標識から読み取る。本実施例では、第２回目、第３回目に発行されたタイムスタンプトークンが当該ディジタルデータ７６に埋め込まれているので、より過去に実施された第２電子署名スロット８２に埋め込まれている第２回目に発行されたタイムスタンプトークンを削除すると同時に、第２回目に発行された電子署名が埋め込み済みであることを示す標識８８を未埋め込みを示す標識８５に戻したデジタルデータ７７を生成する。そして、当該ディジタルデータ７７から第２および第３電子署名スロット８２、８３を除いた領域に関する第４のダイジェスト値７８を計算し、その結果をネットワーク３０を介して時刻認証機関２１のタイムスタンプ発行サーバ１２に送信する。
【００５０】
第４のダイジェスト値７８を受信したタイムスタンプ発行サーバ１２は過去のタイムスタンプトークンを発行したときと同様に、当該ダイジェスト値７８を受信開始した基準時計１１に由来する時刻情報１８と当該ダイジェスト値を合わせて暗号化し、第４回目のタイムスタンプトークン１９を発行し、ネットワーク３０経由でクライアントＡの情報処理装置２１に返信する。
【００５１】
第４回目のタイムスタンプトークン１９を受信したクライアントＡの情報処理装置２１およびインストールされている電子署名生成ソフトウエアは、ディジタルデータ７７の第２署名スロット８２に当該タイムスタンプトークンを埋め込み、同時に電子署名埋め込み標識８５を第４回目に発行された電子署名が埋め込み済みであることを示す標識９０に変更する。以上の処理によって第４回目のタイムスタンプ処理が実施されたディジタルデータ７９を生成する。
【００５２】
以上の処理により、最初のタイムスタンプの情報のみを次のタイムスタンプのダイジェスト値の計算対象に含めることで、たとえ最初に実施されたタイムスタンプの暗号化の秘密鍵が漏洩したとしても、第２のタイムスタンプのダイジェスト値により最初に実施されたタイムスタンプおよびオリジナルデータ領域が改ざんされているか否かを検証することが可能となる。また、本発明によるタイムスタンプを実施されたディジタルデータは最初のタイムスタンプ、前回実施されたタイムスタンプ、今回実施された最新のタイムスタンプの３つのタイムスタンプをもち、当該ディジタルデータの存在時点とそこから最新タイムスタンプを実施する時点までの継続性を確認することが可能となっている。
【００５３】
図８は上述した本発明の第２の実施例におけるディジタルデータに対するタイムスタンプの実施手順を示すフローチャートであって、ステップＳ１〜Ｓ２は操作者による実施手順を示し、ステップＳ３〜Ｓ７及びステップＳ１６は、情報処理装置２１とタイムスタンプ生成ソフトウエアによる実施手順で、ステップＳ１３〜Ｓ１５は時刻認証機関１０による実施手順を示す。
【図面の簡単な説明】
【００５４】
【図１】本発明のシステム構成の一例を示す構成図。
【図２】本発明の実施例１における最初の電子署名生成方法を示すブロック図。
【図３】本発明の実施例２における２回目以降の電子署名生成方法を示すブロック図。
【図４】通常の多重電子署名方法を示す説明図。
【図５】本発明の実施例２における最初のタイムスタンプの生成方法を示すブロック図。
【図６】本発明の実施例２におけるタイムスタンプの追加方法を示すブロック図。
【図７】本発明の実施例２における４回目以降のタイムスタンプ生成方法を示すブロック図。
【図８】本発明の実施例２におけるタイムスタンプ生成手順を示したフローチャート。
【符号の説明】
【００５５】
１０          時刻認証機関
１１          時刻認証機関の保有する基準時計
１２          時刻認証機関の保有するタイムスタンプ発行サーバ
１３          ダイジェスト値を受信開始した時刻情報
１４          タイムスタンプトークン
１５、１５ａ、１５ｂ          電子署名発行サーバ
２１          クライアントＡの保有する情報処理装置
３０          ネットワーク
３５          物理的記録媒体
４０、７０        電子署名対象のディジタルデータ
４１、７１        電子署名スロットが生成されたディジタルデータ
４２、７２        ダイジェスト値
５１、５２、５３、８１、８２、８３          電子署名スロット
５４、５５、５６、８４、８５、８６          電子署名標識
５７、５８、８７、８６、８９、９０          電子署名が埋め込まれたことを示す電子署名標識
【図１】
2005229450.tif 000003
【図２】
2005229450.tif 000004
【図３】
2005229450.tif 000005
【図４】
2005229450.tif 000006
【図５】
2005229450.tif 000007
【図６】
2005229450.tif 000008
【図７】
2005229450.tif 000009
【図８】
2005229450.tif 000010