(57)【要約】【課題】  タイムスタンプなど、第３者機関が発行する電子署名の実施と同時に、クライアント側で自己発行する電子署名も同時に実施することによって、より安全性、信頼性の高い複合電子署名の実施方法を提供する。【解決手段】  自己発行可能な電子署名と、外部機関が実施する公的な認証情報に関する電子署名を複合して実行し、自己発行した電子署名を含むオリジナルデータのダイジェスト値を、外部機関が発行する電子署名に記録する。【選択図】  図２  
2005303951.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルデータに関する生成者や発行元、存在時点、ディジタルデータ自体の不変性および真正性などを証明する目的で実施される電子署名の実施方法であって、
クライアントの電子署名対象のディジタルデータに対して、クライアントの情報処理装置と電子署名生成手段により生成する第１の電子署名と、第３者機関である電子署名発行機関が発行する第２の電子署名の少なくともふたつの電子署名を連続して実施し、後から実施する電子署名は、電子署名対象のディジタルデータに最初の電子署名を実施する前のディジタルデータと、最初の電子署名を実施した後のディジタルデータそれぞれに対して実施されることを特徴とする複合電子署名の実施方法。
【請求項２】
ディジタルデータに電子署名の実施を要求する前記クライアントの情報処理装置は、ディジタルデータを生成または開くためのアプリケーションソフトウエアと、ネットワーク接続手段と、内蔵、または外部接続可能な記憶手段と、電子署名を実施するための電子署名生成ソフトウエアと、を有し、
当該電子署名生成ソフトウエアは、電子署名埋め込み領域を電子署名対象ディジタルデータの中、または、追加して生成する電子署名埋め込み領域生成手段と、電子署名対象のディジタルデータの任意の領域に関するダイジェスト値を計算するダイジェスト値計算手段と、電子署名に含む認証情報を生成する第１の認証情報生成手段と、少なくとも前記ダイジェスト値の計算手段で算出した電子署名対象ディジタルデータの任意の領域に関するダイジェスト値と前記電子署名に含む第１の認証情報の生成手段で生成した第１の認証情報とからなる第１の電子署名情報を暗号化するための第１の暗号化手段と、を有し、
また、前記電子署名発行機関は、情報処理装置を有し、当該情報処理装置は、ネットワーク接続手段と、内蔵、または、外部接続可能な記憶手段と、電子署名発行手段と、を有し、
当該電子署名発行手段は、第２の認証情報生成手段と、少なくともクライアントから送られてきたダイジェスト値と当該第２の認証情報生成手段で生成した第２の認証情報とからなる第２の電子署名情報を暗号化するための第２の暗号化手段と、を有し、
クライアントが電子署名対象のディジタルデータを生成または開いた状態で前記電子署名生成ソフトウエアを起動するか、または、電子署名生成ソフトウエアを起動した後、電子署名対象のディジタルデータを呼び出すことにより、電子署名対象ディジタルデータに対する電子署名処理を実行すると、前記クライアントの情報処理装置と当該電子署名生成ソフトウエアは、電子署名対象ディジタルデータに前記電子署名埋め込み領域生成手段を用いて、電子署名対象ディジタルデータの中、または追加して、少なくとも２箇所の電子署名埋め込み領域を生成し、前記ダイジェスト値計算手段を用いて当該電子署名対象ディジタルデータから、前記少なくとも２箇所の電子署名埋め込み領域を除いた領域に関する第１のダイジェスト値を計算し、少なくとも当該第１のダイジェスト値と前記第１の認証情報生成手段で生成した認証情報からなる第１の電子署名情報を前記第１の暗号化手段を用いて暗号化した第１の電子署名トークンを作成して、前記生成した少なくとも２箇所の電子署名埋め込み領域のいずれかに書き込むことによって自己発行した電子署名を施した第１の電子署名済みディジタルデータを生成し、
前記ダイジェスト値計算手段を用いて、当該第１の電子署名済みディジタルデータから、前記少なくとも２箇所の電子署名埋め込み領域のうち、前記第１の電子署名トークンが書き込まれている電子署名埋め込み領域以外の電子署名埋め込み領域を除いた領域に関する第２のダイジェスト値を計算し、前記クライアントの情報処理装置が有するネットワーク接続手段を用いて前記電子署名発行機関の情報処理装置に接続して前記第２のダイジェスト値、あるいは第１のダイジェスト値と第２のダイジェスト値のふたつのダイジェスト値を送信すると共に、
前記電子署名発行機関の情報処理装置の電子署名発行手段は、前記第２の認証情報生成手段を用いて生成した第２の認証情報と、前記クライアントから受信した第２のダイジェスト値、あるいは第１のダイジェスト値と第２のダイジェスト値の二つのダイジェスト値からなる第２の電子署名情報を、前記第２の暗号化手段を用いて暗号化した第２の電子署名トークンを作成してクライアントの情報処理装置にネットワーク経由で返信し、
当該第２の電子署名トークンを受信したクライアントの情報処理装置と電子署名生成ソフトウエアは、前記第１の電子署名済みディジタルデータ内に生成、または追加された電子署名埋め込み領域のうち、第１の電子署名トークンが書き込まれていない電子署名埋め込み領域に当該第２の電子署名トークンを書き込むことにより、第２の電子署名済みディジタルデータを生成して、電子署名対象ディジタルデータに電子署名を実施することを特徴とする請求項１に記載の複合電子署名の実施方法。
【請求項３】
前記クライアントの電子署名生成ソフトウエアは、第１の暗号化手段である第１の秘密鍵と第１の暗号化手段で暗号化された情報を復号するための第１の公開鍵、および、第２の暗号化手段で暗号化された情報を復号するための第２の公開鍵を有し、
前記電子署名発行機関の電子署名発行手段は、第１の暗号化手段である第１の秘密鍵と第１の公開鍵、および、第２の暗号化手段である第２の秘密鍵と第２の公開鍵を有することを特徴とする請求項１または２に記載の複合電子署名の実施方法。
【請求項４】
前記第２の認証情報生成手段が生成する認証情報は、前記電子署名発行機関が所有する基準時計に由来する時刻情報であることを特徴とする請求項１、２または３に記載の複合電子署名の実施方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルデータの生成または発行元、存在時点、ディジタルデータ自体の不変性および真正性などを証明するために実施される電子署名の実施方法に関する。
【背景技術】
【０００２】
ディジタルデータに関する生成者、当該データの真正性を証明するために実施される電子署名や、電子署名の一種であって当該ディジタルデータの存在時点を証明するために第３者である時刻認証機関が発行する、自身が所有する正確かつ公正な基準時計に由来する時刻情報を含むディジタルタイムスタンプが実用化されている。
【０００３】
ディジタルタイムスタンプ（以後タイムスタンプと記す）においては、タイムスタンプを要求するクライアント側の情報処理装置の内部時計が示す時刻では、正確性と公正性が検証できないため、前述のような第３者である時刻認証機関にタイムスタンプの発行を依頼することになる。このようなタイムスタンプの実施と検証を容易に実施できるシステムとして出願人は特許文献１を提案している。
【０００４】
特許文献１に記載のシステムは、タイムスタンプの実施を第３者である外部機関に依頼するというセンタ・サーバ型のタイムスタンプシステムに関する提案であって、クライアントがタイムスタンプ対象のディジタルデータに対してタイムスタンプ処理を実行すると、タイムスタンプ押印システムは、当該タイムスタンプ対象のディジタルデータのダイジェスト値を計算して、前記外部機関にネットワーク経由で当該ダイジェスト値とクライアント端末のＩＤを送信する。
【０００５】
当該ダイジェスト値とクライアント端末のＩＤを受信した外部機関は、まず、当該ダイジェスト値を受信した時刻情報と当該ダイジェスト値とクライアント端末のＩＤからなる原タイムスタンプ情報を作成する。つぎに、原タイムスタンプ情報を第１の暗号化手段である第１の秘密鍵で暗号化して、第１の電子署名を生成する。この第１の電子署名は一般に公開し誰でも入手可能な第１の復号手段である第１の公開鍵で復号可能とする。また、原タイムスタンプ情報を第２の暗号化手段である第２の秘密鍵で暗号化して、第２の電子署名を生成する。この第２の電子署名を復号する手段は一般には公開せず、外部機関のみが所有している。
【０００６】
そして、外部機関は原タイムスタンプ情報の生データと、第１の電子署名と、第２の電子署名からなる電子署名トークンを作成してクライアントに返信し、当該電子署名トークンを受信したクライアント端末とタイムスタンプ押印システムは、タイムスタンプ対象のディジタルデータに当該電子署名トークンを埋め込むか、または追加して書き込むことでタイムスタンプ処理を実施する。
【０００７】
タイムスタンプの真正性とタイムスタンプ対象のディジタルデータの不変性、または非改ざん性を検証するためには、ふたつの方法があり、ひとつは検証者は当該タイムスタンプが実施されたディジタルデータの情報処理装置上で開き、検証ソフトウエアを起動すると、当該情報処理装置および検証ソフトウエアは、まず、当該ディジタルデータから電子署名トークンを抽出し、あらかじめ入手しておいた第１の復号手段である第１の公開鍵を使って電子署名トークン内の第１の電子署名を復号して原スタンプ情報を得て、復号した原スタンプ情報と電子署名トークンに含まれている原スタンプ情報を比較し、両者が一致しなかった場合は電子署名トークンが改変されたことになるので、当該タイムスタンプを否認する。
【０００８】
一致した場合は、当該情報処理装置と検証ソフトウエアは当該ディジタルデータから電子署名トークンを除いた領域に関するダイジェスト値を計算して、当該ダイジェスト値と原タイムスタンプ情報に記録されているダイジェスト値を比較する。両者が一致しなかった場合は、当該ディジタルデータはタイムスタンプ実施後に何らかの手段によって改変されていることになるので、当該タイムスタンプを否認する。一致した場合は当該タイムスタンプを認証する。以上の検証をオフラインでの検証として提案している。
【０００９】
また、もうひとつの検証方法として、検証者は当該タイムスタンプが実施されたディジタルデータを情報処理装置上で開き、検証ソフトウエアを起動すると、当該情報処理装置および検証ソフトウエアは、まず、当該ディジタルデータから電子署名トークンを抽出し、電子署名トークン自体を前記外部機関に送信する。当該電子署名トークンを受信した外部機関は、当該機関が保有している第２の電子署名を復号するための第２の復号手段を使って、前述のオフライン検証と同様に、復号した原スタンプ情報と電子署名トークンに含まれている原スタンプ情報を比較し、比較した結果が一致するか否かをクライアントに返信する。前記比較結果が一致した場合は前述と同様のダイジェスト値の比較をする。原スタンプ情報の比較またはダイジェスト値の比較いずれかが一致しない場合は、タイムスタンプを否認する。以上の検証をオンラインでの検証として提案している。
【特許文献１】特開２００３−２４４１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述した特許文献１に記載のシステムでは、ディジタルデータに関して真正性、不変性、存在時点を証明するために、クライアントの情報端末のＩＤとタイムスタンプ対象ディジタルデータのダイジェスト値、および、外部機関の保有する時計による時刻情報をタイムスタンプ内に含んでいる。そして、タイムスタンプのオフライン、オンラインの検証のためにふたつの暗号化手段と、それぞれに対応する復号手段を用いている。
【００１１】
しかしながら、タイムスタンプを実施する時点で、後にタイムスタンプを検証し当該タイムスタンプが実施されたディジタルデータの真正性を検証する手段として、ディジタルデータの製作者や発信者、当該ディジタルデータを生成した情報処理装置の位置情報、あるいは、そのほかの何らかの情報を原情報とする電子署名情報をタイムスタンプに含めたいという要望がある。そして、そられの原情報の多くは、第３者機関が管理する情報ではなく、クライアントの情報処理装置や、クライアントの所有するなんらかのアイテム、たとえば、個人認証カードや、電子印鑑などに記憶されている情報である。
【００１２】
そこで本発明の技術的課題は、タイムスタンプなど、第３者機関が発行する電子署名の実施と同時に、クライアント側で自己発行する電子署名も同時に実施することによって、より安全性、信頼性の高い複合電子署名の実施方法を提供することである。
【課題を解決するための手段】
【００１３】
上記の技術的課題を解決するために本発明で講じた手段は次のとおりである。
【００１４】
本発明の請求項１に係る複合電子署名の実施方法では、クライアントがディジタルデータに対して電子署名を実施するにあたり、まず、クライアントの情報処理装置にインストールされている自己発行可能な第１の電子署名と、外部機関に発行を依頼する第２の電子署名の少なくともふたつの電子署名を連続して実施し、後から実施される電子署名は最初の電子署名が実施されるまえのディジタルデータと最初の電子署名が実施された後のディジタルデータのそれぞれに対して実施されることを特徴としている。
【００１５】
つぎに、本発明の請求項２に係る複合電子署名の実施方法において、クライアントの情報処理装置は、ディジタルデータを作成したり、開示するための各種アプリケーションソフトウエアがインストールされていて、ネットワークに接続可能であり、内蔵または外部接続可能な記憶装置を有し、かつ、電子署名生成ソフトウエアがインストールされている。そして、当該電子署名生成ソフトウエアは、電子署名対象のディジタルデータに電子署名を埋め込むために、当該ディジタルデータ内や当該ディジタルデータに追加することで電子署名の埋め込み領域を生成する手段と、当該電子署名対象ディジタルデータの任意の領域に関するダイジェスト値を計算する手段と、当該電子署名生成ソフトウエアが生成する電子署名に含む認証情報を生成する第１の認証情報生成手段と、少なくともダイジェスト値と第１の認証情報からなる第１の電子署名情報を暗号化するための第１の暗号化手段を持っている。また、電子署名発行機関はネットワーク接続手段と、内蔵または外部接続可能な記憶手段と、電子署名発行手段を持つ情報処理装置を有している。そして、前記電子署名発行手段は、発行する電子署名に含む第２の認証情報を生成する第２の認証情報生成手段と、少なくともクライアントから送られてきたダイジェスト値と前記第２の認証情報からなる第２の電子署名情報を暗号化するための第２の暗号化手段を持っている。
【００１６】
また、クライアントは、電子署名対象のディジタルデータに電子署名を実施する際、電子署名対象ディジタルデータを生成するか、または、開いた状態で、前記電子署名生成ソフトウエアを起動するか、あるいは、電子署名生成ソフトウエアを起動した後に、電子署名対象ディジタルデータを呼び出すことで電子署名の実施が開始される。
【００１７】
まず、クライアントの情報処理装置と電子署名生成ソフトウエアは、電子署名対象のディジタルデータに、前記電子署名埋め込み領域生成手段を用いて、当該ディジタルデータのデータ領域内または、当該ディジタルデータに追加して、少なくとも２箇所の電子署名埋め込み領域を生成し、前記ダイジェスト値計算手段を用いて当該電子署名対象ディジタルデータから、生成した少なくともふたつの電子署名埋め込み領域を除いたデータ領域に関する第１のダイジェスト値を計算する。そして、前記第１の認証情報生成手段を用いて生成した第１の認証情報と前記第１のダイジェスト値からなる第１の電子署名情報を、前記第１の暗号化手段によって暗号化して第１の電子署名トークンを作成して、前記少なくともふたつの電子署名埋め込み領域のいずれかに書き込むことにより第１の電子署名済みディジタルデータを作成する。
【００１８】
つぎに、前記ダイジェスト値計算手段を用いて、前記第１の電子署名済みディジタルデータから、第１の電子署名トークンが埋め込まれていない電子署名埋め込み領域を除いた領域に関するダイジェスト値すなわち第２のダイジェスト値を計算する。そして、ネットワーク経由で電子署名発行機関に当該第２のダイジェスト値、あるいは第１のダイジェスト値と第２のダイジェスト値を送信する。
【００１９】
また、電子署名発行機関は、ネットワーク経由でクライアントから受信した第２のダイジェスト値、あるいは第１のダイジェスト値と第２のダイジェスト値と、電子署名発行機関の持つ第２の認証情報生成手段で生成した第２の認証情報からなる第２の電子署名情報を、第２の暗号化手段で暗号化して、第２の電子署名トークンを生成して、クライアントにネットワーク経由で返信する。
【００２０】
そして、第２の電子署名トークンを受信したクライアントの情報処理装置と電子署名生成ソフトウエアは、第２の電子署名トークンを、第１の電子署名トークンが書き込まれていない電子署名埋め込み領域に書き込むことにより第２の電子署名実施済みディジタルデータを作成して、少なくともふたつの電子署名を電子署名対象ディジタルデータに実施することを特徴としている。
【００２１】
次に本発明の請求項３に係る複合電子署名の実施方法において、クライアントの情報処理装置にインストールされている電子署名生成ソフトウエアは、前記第１の暗号化手段である第１の秘密鍵と、当該第１の秘密鍵で暗号化した情報を復号することができる第１の公開鍵と、第２の暗号化手段である第２の秘密鍵で暗号化した情報を復号することができる第２の公開鍵、すなわち、第１の秘密鍵、第１の公開鍵、第２の公開鍵の３つの鍵を持っており、また、電子署名発行機関の電子署名発行手段は、第１の暗号化手段である第１の秘密鍵と、当該第１の秘密鍵で暗号化した情報を復号することができる第１の公開鍵と、第２の暗号化手段である第２の秘密鍵と、当該第２の秘密鍵で暗号化した情報を復号することができる第２の公開鍵、すなわち、第１の秘密鍵、第２の秘密鍵、第１の公開鍵、第２の公開鍵の４の鍵を持っていることを特徴としている。
【００２２】
そして、本発明の請求項４に係る複合電子署名の実施方法において、電子署名発行機関の第２の認証情報生成手段が生成する認証情報は、当該電子署名発行機関が所有する基準時計に由来する時刻情報であることを特徴としている。
【発明の効果】
【００２３】
以上述べたように、本発明に係る複合電子署名の実施方法によれば、クライアント側で自己発行可能な電子署名、すなわち公に共有する情報以外の情報（たとえば、データ作成者、承認者、発信者などの個人や事業者、あるいは、使用した情報処理装置のＩＤなど）を証明するための電子署名は、クライアント側で自己発行し、その電子署名情報も含めるように第３者の外部機関である電子署名発行機関が公に共有する情報（たとえば、時刻情報や位置情報、電子署名の受理番号や発行番号）を証明するための電子署名とを合わせて実施することで複数の情報を複合化した電子署名を実施することが実現できる。
【００２４】
また、クライアントには暗号化手段をひとつ、復号手段をふたつ与え、電子署名発行機関は暗号化手段をふたつ、復号手段をふたつ持ち、処理能力の高い電子署名発行機関側のみが所有する第２の暗号化手段を複雑で堅牢なものにすることによって、第１の暗号化手段で作成されたクライアント側で自己発行する第１の電子署名の信頼性と安全性を高めることが可能となる。
【発明を実施するための最良の形態】
【００２５】
以下に図面を使って本発明を具体的に説明する。図１は本発明を実施するに必要なシステムを示すシステム図である。図中、２０は電子署名発行機関であり、２１は電子署名発行機関が所有する情報処理装置である。また、３０はネットワーク接続装置である。４０はクライアントの情報処理装置であり、ネットワーク１０を介して電子署名発行機関２０の情報処理装置２１と接続可能であり、互いに情報を授受することができる。
【００２６】
図２は図１に関するブロック図であって、２２は前記電子署名発行機関２０を構成する情報処理装置２１の制御演算部であり、電子署名発行ソフトウエア２３により電子署名の発行処理を制御している。また、２４は情報処理装置２１に内蔵された記憶装置などの記憶部であって、図示した実施例では情報処理装置２１に内蔵されている構成をとっているが、当然情報処理装置２１に外部接続する記憶装置などであってもかまわない。
【００２７】
４１はクライアントの情報処理装置４０を構成する制御演算部であって、各種ディジタルデータを生成したり、開示したりするためのアプリケーションソフトウエア４２と、電子署名処理を実行するための電子署名生成ソフトウエア４３を制御している。４４はネットワーク接続部、４５は記憶装置などの記憶部であり、図示した実施例では情報処理装置４０に内蔵されている構成をとっているが、当然これらも情報処理装置４０に外部接続する機器であってもかまわない。
【実施例１】
【００２８】
図３から図５は本発明の第１の実施例を示している。まず、図３の（Ａ）から（Ｃ）のごとく、クライアントは自身の情報処理装置４０で電子署名対象のディジタルデータ５０を開いたのち、電子署名生成ソフトウエア４３を起動する。情報処理装置４０と電子署名生成ソフトウエア４３は、電子署名対象ディジタルデータ５０のデータ領域内にふたつの電子署名埋め込み領域５１と５２を生成してディジタルデータ５０ａを作成する。そして、ディジタルデータ５０ａから電子署名領域５１と５２を除いた領域に関する第１のダイジェスト値５５を計算する。つぎに、第１の認証情報５６を生成し、当該認証情報５６と第１のダイジェスト値５５からなる第１の電子署名情報５７を作成し、当該第１の電子署名情報５７を第１の秘密鍵２５で暗号化することにより、第１の電子署名トークン５３を作成する。
【００２９】
つぎに図４の（Ｄ）から（Ｆ）のごとく、情報処理装置４０と電子署名生成ソフトウエア４３は、第１の電子署名トークン５３を、ディジタルデータ５０ａの第１の電子署名埋め込み領域５１に埋め込んでディジタルデータ５０ｂを作成した後、当該ディジタルデータ５０ｂから第２の電子署名埋め込み領域５２のみを除いたデータ領域に関する第２のダイジェスト値５８を計算する。すなわち、この時点で、電子署名対象ディジタルデータ５０のオリジナルデータ領域に関する第１のダイジェスト値５５と、クライアント側で自己発行した第１の電子署名トークン５３を埋め込んだ後の、オリジナルデータ領域と第１の電子署名トークン５３を合わせたデータ領域に関する第２のダイジェスト値５８の、ふたつのダイジェスト値が得られたことになる。
【００３０】
そして、クライアントの情報処理装置４０と電子署名生成ソフトウエアは、ネットワーク１０を介して電子署名発行機関２０の情報処理２１に接続して、前記第１のダイジェスト値５５と第２のダイジェスト値５８を送信する。電子署名発行機関２０の情報処理装置２１は、受信した第１のダイジェスト値５５と第２のダイジェスト値５８を受信すると、第２の認証情報６１を生成して、当該第２の認証情報６１と第１のダイジェスト値５５と第２のダイジェスト値５８からなる第２の電子署名情報６２を、第２の秘密鍵２６で暗号化して第２の電子署名トークン６３を作成する。
【００３１】
続いて図５の（Ｇ）から（Ｈ）のごとく、電子署名発行機関２０は第２の電子署名トークン６３をクライアントの情報処理装置４０に返信し、当該第２の電子署名トークン６３を受信した情報処理装置４０と電子署名生成ソフトウエア４３は、ディジタルデータ５０ｂの第２の電子署名埋め込み領域５２に第２の電子署名トークン６３を書き込むことにより、電子署名実施済みのディジタルデータ６０が完成する。図６に示したステップＳ１〜Ｓ１３は、上記本発明の第１の実施例の処理手順を説明したフローチャートである。
【００３２】
以上の電子署名方法によって、自己発行可能な認証情報に関する電子署名と、より公的な認証情報に対するより高セキュリティの電子署名を複合して実施することができ、たとえ、第２の電子署名よりセキュリティ階層的に低位に存在する第１の電子署名が解読されて破られ、電子署名内容が改ざんされたとしても、第２の電子署名にはオリジナルデータ領域に関する第１のダイジェスト値５５と、第１の電子署名も含んだデータ領域に関する第２のダイジェスト値５８の両方の情報を保有しているため、第２の電子署名の検証により、第１の電子署名内容が改ざんされた事実を検出することができる。
【実施例２】
【００３３】
次に本発明の第２の実施例について説明する。図７は、電子署名発行機関２０の情報処理装置２１にインストールされている電子署名発行ソフトウエア２３の機能を概念化した概念図であって、当該ソフトウエア２３は各種ディジタルデータを暗号化するための第１の秘密鍵２５と、第１の秘密鍵２５で暗号化した情報を復号するための第１の公開鍵２７、および、第２の秘密鍵２６と第２の公開鍵２８の、計４つの暗号化と復号のための鍵を持っている。また、２９は電子署名発行機関２０が発行する電子署名に含む第２の認証情報６１を生成あるいは供給するための第２認証情報生成ソフトウエアである。
【００３４】
同様に図８は、クライアントの情報処理装置４０にインストールされている電子署名生成ソフトウエア４３の機能を概念化した概念図であって、当該ソフトウエア２３は各種ディジタルデータを暗号化するための第１の秘密鍵２５と、第１の秘密鍵２５で暗号化した情報を復号するための第１の公開鍵２７、および、第２の公開鍵２８を持っている。しかし、クライアント側では第２の秘密鍵２６は持たない。また、４４はクライアントが自己発行する電子署名に含む第１の認証情報５６を生成あるいは供給するための第１の認証情報生成ソフトウエアであり、４５はディジタルデータの任意の領域に関するダイジェスト値を計算するための、ダイジェスト値計算ソフトウエアである。このように、第３者機関である電子署名発行機関２０はふたつの暗号化手段とそれに対応するふたつの復号手段を持ち、また、クライアントは電子署名発行機関の暗号化手段に対応するふたつの復号手段を同様に持つが、暗号化手段に関しては、電子署名発行機関２０ふたつの暗号化手段のうちのひとつしか持たないことを特徴としている。
【００３５】
図９〜図１２は本発明の第２の実施例を具体的に説明するものであり、まず、図９（Ａ）から（Ｃ）のごとく、クライアントは自身の情報処理装置４０で電子署名対象のディジタルデータ７０を開いたのち、電子署名生成ソフトウエア４３を起動する。情報処理装置４０と電子署名生成ソフトウエア４３は電子署名対象ディジタルデータ７０のデータ領域内に四つの電子署名埋め込み領域７１、７２、７３、７４を生成してディジタルデータ７０ａを作成する。そして、ディジタルデータ７０ａから電子署名領域７１、７２、７３、７４を除いた領域に関する第１のダイジェスト値７５を計算する。つぎに、第１の認証情報７６を生成し、当該認証情報７６と第１のダイジェスト値７５からなる第１の電子署名情報７７を作成し、当該第１の電子署名情報７７を第１の秘密鍵２５で暗号化することにより、第１の電子署名トークン７８を作成する。
【００３６】
つぎに図１０の（Ｄ）から（Ｆ）のごとく、情報処理装置４０と電子署名生成ソフトウエア４３は、第１の電子署名トークン７８を、ディジタルデータ７０ａの第１の電子署名埋め込み領域７１に埋め込んでディジタルデータ７０ｂを作成した後、当該ディジタルデータ７０ｂから電子署名埋め込み領域７２、７３、７４を除いたデータ領域に関する第２のダイジェスト値７９を計算する。すなわち、この時点で、電子署名対象ディジタルデータ７０のオリジナルデータ領域に関する第１のダイジェスト値７５と、クライアント側で自己発行した第１の電子署名トークン７８を埋め込んだ後の、オリジナルデータ領域と第１の電子署名トークン７８を合わせたデータ領域に関する第２のダイジェスト値７９の、ふたつのダイジェスト値が得られたことになる。
【００３７】
そして、クライアントの情報処理装置４０と電子署名生成ソフトウエア４３は、ネットワーク１０を介して電子署名発行機関２０の情報処理装置２１に接続して、前記第１のダイジェスト値７５と第２のダイジェスト値７９および、クライアント側で自己発行した電子署名トークン７８を送信する。電子署名発行機関２０の情報処理装置２１は、受信した第１のダイジェスト値７５と第２のダイジェスト値７９を受信すると、第２の認証情報８１を生成して、当該第２の認証情報８１と第１のダイジェスト値７５と第２のダイジェスト値７９からなる第２の電子署名情報８２を、第２の秘密鍵２６で暗号化して第２の電子署名トークン８３を作成する。
【００３８】
次に、図１１の（Ｇ）、（Ｈ）のごとく、電子署名発行機関２０の情報処理装置２１は、受信した第１の電子署名トークン７８を第１の公開鍵２７で復号した後、前記第２認証情報生成ソフトウエア２９で電子署名発行機関２０が生成した第２の電子署名情報８２を加えて第３の電子署名情報８４を生成し、再度第１の秘密鍵２５で暗号化することにより第３の電子署名トークン８５を作成する。このとき、第３の電子署名情報８４にクライアントから送られた第２のダイジェスト値７９と、認証情報以外のなんらかの情報を書き込むための情報書き込み領域８７を加えることも考えられる。第３の電子署名トークン８５の情報書き込み領域８７は、電子署名発行機関とクライアント双方が公開鍵、秘密鍵を所有しているため、どちらにおいても復号して情報の書き換えと再暗号化が可能となっている。
【００３９】
また、生成した第３の電子署名情報８４を今度は第２の秘密鍵２６で暗号化することにより、第４の電子署名トークン８６を作成する。第４の電子署名トークン８６を生成した第２の秘密鍵２６に相対する第２の公開鍵２８は、電子署名発行機関２０とクライアントの双方が所有しているため、両者でその内容が検証可能であるが、第２の秘密鍵２６は電子署名発行機関２０のみが所有しているので、情報書き込み領域８７を設けた場合、電子署名発行機関２０のみが書き換え可能で、クライアントは書き換えることができない。しかし、両者ともに第３と第４の電子署名トークン８５、８６は復号が可能であり、電子署名に記録されている認証情報と、認証情報の対象であるディジタルデータは検証ができ、情報書き込み領域８７を除いて両者の内容は一致する。もし一致しない場合は、クライアント側で電子署名内容を改変したことになり、この場合は電子署名を否認する。
【００４０】
そして、図１２（Ｊ）、（Ｋ）のごとく、電子署名発行機関２０は新たに作成した３つの電子署名トークン８３、８５、８６をクライアントの情報処理装置４０に返信する。電子署名トークンを受信したクライアントの情報処理装置４０と電子署名生成ソフトウエアは３つの電子署名をディジタルデータに生成した電子署名埋め込み領域にそれぞれ埋め込むことにより、電子署名実施済みディジタルデータ９０を作成して、電子署名処理を完了する。尚、図１３に示したステップＳ１４〜Ｓ２８は、上述した第２の実施例の処理手順を説明したフローチャートである。
【００４１】
以上のように、クライアント側で発行した電子署名を包み込んで電子署名発行機関の電子署名が実施され、かつ、電子署名内にクライアントと電子署名発行機関双方で書き換え自在な情報書き込み領域を設けることが可能となり、本電子署名の利便性が高まると同時に応用先が広がる。
【図面の簡単な説明】
【００４２】
【図１】本発明に係る復号電子署名の実施方法を実現するため必要な基本的なシステムを示したシステム図である。
【図２】システムのブロック図である。
【図３】本発明の第１の実施例の概念図である。
【図４】同じく本発明の第１の実施例の概念図である。
【図５】同じく本発明の第１の実施例の概念図である。
【図６】本発明の第１の実施例のフローチャートである。
【図７】電子署名発行機関の電子署名発行ソフトウエアの機能概念図である。
【図８】クライアントの電子署名生成ソフトウエアの機能概念図である。
【図９】本発明の第２の実施例の概念図である。
【図１０】同じく本発明の第２の実施例の概念図である。
【図１１】同じく本発明の第２の実施例の概念図である。
【図１２】同じく本発明の第２の実施例の概念図である。
【図１３】本発明の第２の実施例のフローチャートである。
【符号の説明】
【００４３】
１０…ネットワーク
２０…電子署名発行機関
２１…電子署名発行機関の情報処理装置
２２…制御演算部
２３…電子署名発行ソフトウエア
２４…記憶部
２５…第１の秘密鍵
２６…第２の秘密鍵
２７…第１の公開鍵
２８…第２の公開鍵
２９…第２認証情報生成ソフトウエア
３０…電子署名発行機関のネットワーク接続装置
４０…クライアントの情報処理装置
４１…制御演算部
４２…アプリケーションソフトウエア
４３…電子署名生成ソフトウエア
４４…ネットワーク接続部
４５…記憶部
５０…第１の実施例における電子署名対象のディジタルデータ
５１…第１の電子署名埋め込み領域
５２…第２の電子署名埋め込み領域
５３…第１の電子署名トークン
５５…第１ダイジェスト値
５６…第１の認証情報
５７…第１の電子署名情報
５８…第２のダイジェスト値
６０…電子署名が実施されたディジタルデータ
６１…第２の認証情報
６２…第２の電子署名情報
６３…第２の電子署名トークン
７０…第２の実施例における電子署名対象ディジタルデータ
７１…電子署名埋め込み領域
７２…電子署名埋め込み領域
７３…電子署名埋め込み領域
７４…電子署名埋め込み領域
７５…第１のダイジェスト値
７６…第１の認証情報
７７…第１の電子署名情報
７８…第１の電子署名トークン
８１…第２の認証情報
８２…第２の電子署名情報
８３…第２の電子署名トークン
８４…第３の電子署名情報
８５…第３の電子署名トークン
８６…第４の電子署名トークン
８７…情報書き込み領域
９０…電子署名が実施されたディジタルデータ
【図１】
2005303951.tif 000003
【図２】
2005303951.tif 000004
【図３】
2005303951.tif 000005
【図４】
2005303951.tif 000006
【図５】
2005303951.tif 000007
【図６】
2005303951.tif 000008
【図７】
2005303951.tif 000009
【図８】
2005303951.tif 000010
【図９】
2005303951.tif 000011
【図１０】
2005303951.tif 000012
【図１１】
2005303951.tif 000013
【図１２】
2005303951.tif 000014
【図１３】
2005303951.tif 000015