(57)【特許請求の範囲】
【請求項１】
ユーザ側システムにおいて、
ユーザ署名手段により電子情報をユーザ秘密鍵を用いて電子署名することにより第１のユーザ署名を生成し、ＭＤ生成手段により上記第１のユーザ署名から第１のメッセージダイジェスト（以下、ＭＤと呼ぶ）を生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤをセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名を上記ユーザ側システムへ送信する第２の送信ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名を受信してこのセンタ署名を上記電子情報及び上記第１のユーザ署名とともに記憶する第１の記憶ステップと、
上記センタ署名の有効期限に基づいた更新時期に、
上記ユーザ側システムにおいて、
上記ユーザ署名手段により上記第１の記憶ステップで記憶された電子情報に基づいて第２のユーザ署名を生成し、上記ＭＤ生成手段により上記第２のユーザ署名から上記第１のＭＤと同じ内容の第２のＭＤを生成し、第１のセンタ署名検証手段により上記第２のＭＤと上記センタ秘密鍵に対応するセンタ公開鍵と上記第１の記憶ステップで記憶されたセンタ署名を用いて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
ユーザ署名検証手段により上記第１の記憶ステップで記憶された電子情報及び第１のユーザ署名と上記ユ−ザ秘密鍵に対応するユーザ公開鍵を用いて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記ユーザ側システムにおいて、
更新制御手段により、上記第１の検証ステップの検証結果と上記第２の検証ステップの検証結果が共に正当であると判断された場合に、ＭＤ生成指示を出力し、
上記ＭＤ生成手段により、上記更新制御手段からのＭＤ生成指示に基づいて上記第１の記憶ステップで記憶されたユーザ署名から第１のＭＤと同じ内容の新ＭＤを生成して上記第１の記憶ステップで記憶されたセンタ署名と共に上記センタ側システムへ送信する第３の送信ステップと、
上記センタ側システムにおいて、
第２のセンタ署名検証手段により上記第３の送信ステップで送信された新ＭＤとセンタ署名とを受信して、上記新ＭＤと上記センタ署名と上記センタ秘密鍵に対応するセンタ公開鍵とを用いて上記電子情報が正当であるか否かを検証する第３の検証ステップと、
上記第３の検証ステップの検証結果が正当であると判断された場合に
上記センタ側システムにおいて、
上記センタ署名手段により上記第新ＭＤを新センタ秘密鍵を用いて署名することにより新センタ署名を生成し、この新センタ署名を上記ユーザ側システムへ送信する第４の送信ステップと、
上記上記ユーザ側システムにおいて、
上記署名付き電子情報生成手段により上記新センタ署名を受信してこの新センタ署名を上記電子情報及び上記ユーザ署名とともに記憶する第２の記憶ステップと、
を備えた電子署名方法。
【請求項２】
ユーザ側システムにおいて、ユーザ署名手段により電子情報を秘密鍵を用いて電子署名することによりユーザ署名を生成し、ＭＤ生成手段により上記第１のユーザ署名から第１のＭＤを生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤと有効期限とをセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名と上記有効期限を上記ユーザ側システムへ送信する第２の送信ステップと、
上記有効期限を有効期限保管手段に記憶する第３の記憶ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名と上記有効期限を受信して上記センタ署名と上記有効期限を上記電子情報及び上記第１のユーザ署名とともに記憶する第１の記憶ステップと、
上記第１の署名情報の有効期限に基づいた更新時期に、
上記第２のシステム（センタ側システム）において、
上記有効期限保管手段により期限切れ警告を上記ユーザ側システムへ送信する第５の送信ステップと、
上記ユーザ側システムにおいて、
上記ユーザ署名手段により上記第１の記憶ステップで記憶された電子情報に基づいて第２のユーザ署名を生成し、上記ＭＤ生成手段により上記センタ側システムからの期限切れ警告を受信すると、上記第２のユーザ署名から上記第１のＭＤと同じ内容の第２のＭＤを生成し、第１のセンタ署名検証手段により上記第２のＭＤと上記センタ秘密鍵に対応するセンタ公開鍵と上記第１の記憶ステップで記憶されたセンタ署名と上記有効期限を用いて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
ユーザ署名検証手段により上記センタ側システムからの期限切れ警告を受信すると、上記第１の記憶ステップで記憶された電子情報及び第１のユーザ署名と上記ユ−ザ秘密鍵に対応するユーザ公開鍵を用いて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記第ユーザ側システムにおいて、
更新制御手段により、上記第１の検証ステップの検証結果と上記第２の検証結果が共に正当であると判断された場合に、ＭＤ生成指示を出力し、
上記ＭＤ生成手段により、上記更新制御手段からのＭＤ生成指示に基づいて上記第１の記憶ステップで記憶された第１のユーザ署名から第１のＭＤと同じ内容の新ＭＤを生成して上記第１の記憶ステップで記憶されたセンタ署名と共に上記センタ側システムへ送信する第３の送信ステップと、
上記センタ側システムにおいて、第２のセンタ署名検証手段により上記第３の送信ステップで送信された新ＭＤとセンタ署名とを受信して、上記新ＭＤと上記センタ署名と上記有効期限保管手段からの有効期限と上記センタ秘密鍵に対応するセンタ公開鍵を用いて上記電子情報が正当であるか否かをする第３の検証ステップと、
上記センタ側システムにおいて、
上記センタ署名手段により、上記第３の検証ステップの検証結果が正当であると判断された場合に、上記新ＭＤと新たな有効期限を新センタ秘密鍵を用いて署名することにより新センタ署名を生成し、この新センタ署名を上記新たな有効期限と共に上記ユーザ側システムへ送信する第４の送信ステップと、
上記ユーザ側システムにおいて、
上記署名付き電子情報生成手段が、上記新センタ署名を受信するとこの新センタ署名と上記新たな有効期限を上記電子情報及び上記ユーザ署名とともに記憶する第２の記憶ステップと、
を備えた電子署名方法。
【請求項３】
ユーザ側システムにおいて、
ユーザ署名手段により電子情報をユーザ秘密鍵を用いて電子署名することによりユーザ署名を生成し、ＭＤ生成手段により上記ユーザ署名から第１のＭＤを生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤをセンタ秘密鍵生成手段により生成されたセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名に識別子を付して上記第１のＭＤと共に署名保管手段に記憶する第４の記憶ステップと、
この第４の記憶ステップで記憶した上記センタ署名の識別子を上記ユーザ側システムへ送信する第２の送信ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名の識別子を受信してこのセンタ署名の識別子を上記電子情報及び上記ユーザ署名とともに記憶する第１の記憶ステップと、
上記センタ署名の有効期限に基づいた更新時期に、
上記ユーザ側システムにおいて、
上記第１の記憶ステップで記憶したセンタ署名の識別子を上記センタ側システムへ送信する第６の送信ステップと、
上記ＭＤ生成手段により、上記第１の記憶ステップで記憶したセンタ署名に基づいて上記第１のＭＤと同じ内容の第２のＭＤを生成し、上記センタ側システムへ送信する第７の送信ステップと、
上記センタ側システムにおいて、
センタ署名検索手段により上記センタ署名の識別子を受信すると、この識別子に基づいて上記署名保管手段に記憶された新センタ署名を検索して取得し、
センタ署名検証手段により上記第２のＭＤを受信すると、この第２のＭＤと上記センタ署名検索手段により取得された新センタ署名に基づいて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
この第１の検証ステップの検証結果を上記ユーザ側システムへ送信する第８の送信ステップと、
上記ユーザ側システムにおいて、
ユーザ署名検証手段により上記第１の記憶ステップで記憶された電子情報及びユーザ署名と上記ユーザ秘密鍵に対応するユーザ公開鍵に基づいて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記ユーザ側システムにおいて、
電子情報検証手段により、上記センタ側システムから受信した上記第１の検証ステップの検証結果と上記第２の検証ステップの検証結果が共に正当であると判断された場合に、
上記センタ側システムにおいて、
上記第４の記憶ステップで上記署名保管手段に記憶された第１のＭＤとセンタ秘密鍵生成手段により生成された新センタ秘密鍵に基づいて新センタ署名を生成し、上記署名保管手段に記憶する第５の記憶ステップと、
を備えた電子署名方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、電子情報に電子署名を付加しその電子署名を認証する電子署名方法に関する。
【０００２】
【従来の技術】
図１２は特開平7-5809号公報に示された従来の文書の署名装置を説明する機能ブロック図である。図１２において、３０はユーザの作成した文書、３１は文書３０を走査しその画像信号を出力する走査器、３２は走査器３１が出力した画像信号をデジタル形式に変換し第１の信号として出力するＡ／Ｄ変換器、３３は第１の信号を圧縮する圧縮器、Eiは暗号化に用いる暗号化鍵、３５は圧縮された第１の信号を暗号化鍵Eiを用いて暗号化し第２の信号を生成する暗号器、E1[Di]は暗号化鍵Eiに対応する解読鍵Diを暗号化鍵E1で暗号化した暗号済解読鍵、３７は第２の信号に暗号化された解読鍵E1[Di]を付与して所定のフォーマットに従って符号化する符号器、３８は暗号器３５の使用する暗号化鍵Eiと符号器３７の使用する解読鍵E1[Di]を送るセンター、３９は符号化された情報から生成され文書３０に添付される署名ラベル、４０は符号器３７により符号化された情報から署名ラベルＬを生成する符号発生器である。
【０００３】
次に動作について説明する。この署名装置は、文書３０の画像信号を走査して、この文書３０の変造防止用の署名ラベルＬを生成するものである。まず、走査器３１は文書３０を走査し、その文書３０の画像信号を出力する。Ａ／Ｄ変換器３２はこの画像信号を受け取り、デジタル形式に変換し、第１の信号として出力する。圧縮器３３は第１の信号を圧縮して暗号器３５へ出力する。この圧縮は署名ラベルＬに記憶するデータの量を減少させるために行われる。
暗号器３５は周知のＲＳＡ方式のような公開鍵暗号方式のための暗号化鍵Eiを用いて第１の信号を暗号化し、この暗号化した信号を第２の信号として出力する。この際、鍵の解読を防ぐ為に十分に長い鍵Eiを用いる。暗号化された第２の信号は符号器３７によりある所定のフォーマットに従って符号化される。そして、符号器３７は符号発生器４０を制御して符号化された署名ラベルＬを生成させる。この署名ラベルＬは文書３０に添付されるものである。この際、第２の信号の解読を容易にするために、符号器３７により暗号化された解読鍵E1[Di]を第２の信号に付加する。なお、暗号化鍵Eiおよび暗号化された解読鍵E1[Di]はセンタ３８から送られる。
【０００４】
そして、この署名装置によって生成された署名ラベルＬは、文書３０の第１の信号に付加され、図示しないラベル付きの文書ＬＤとして保存される。
ラベル付き文書ＬＤを認証する際には、当該文書ＬＤの第１の信号（画像表現部分）と署名ラベルＬを比較することにより、文書３０が変造されているか否かが判断できる。すなわち、第１の信号を改変したとしても、暗号鍵Eiを用いない限り署名ラベルＬを変更することはできず、第１の信号と署名ラベルＬとを一致させることはできないからである。
【０００５】
【発明が解決しようとする課題】
上述のような従来の署名装置は以上のように構成されているため、署名が解読されない為に長い鍵を用いて署名情報を作成しなければならず、元の文書に多量の情報を追加することが必要であるという問題があった。
【０００６】
また、所定の満期期限で署名情報の更新し、署名情報の量を少なくする場合では、各期限内において文書が変更されていないことが認証できるのみであり、長期に渡って文書が変更されていないことが認証できなかった。
【０００７】
この発明は、かかる問題点を解決するためになされたもので、署名情報の量が少なく、長期に渡る文書の認証に適した電子情報署名方法を得ることを目的とする。
【０００８】
【課題を解決するための手段】
この発明に係る電子署名方法においては、
ユーザ側システムにおいて、
ユーザ署名手段により電子情報をユーザ秘密鍵を用いて電子署名することにより第１のユーザ署名を生成し、ＭＤ生成手段により上記第１のユーザ署名から第１のメッセージダイジェスト（以下、ＭＤと呼ぶ）を生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤをセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名を上記ユーザ側システムへ送信する第２の送信ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名を受信してこのセンタ署名を上記電子情報及び上記第１のユーザ署名とともに記憶する第１の記憶ステップと、
上記センタ署名の有効期限に基づいた更新時期に、
上記ユーザ側システムにおいて、
上記ユーザ署名手段により上記第１の記憶ステップで記憶された電子情報に基づいて第２のユーザ署名を生成し、上記ＭＤ生成手段により上記第２のユーザ署名から上記第１のＭＤと同じ内容の第２のＭＤを生成し、第１のセンタ署名検証手段により上記第２のＭＤと上記センタ秘密鍵に対応するセンタ公開鍵と上記第１の記憶ステップで記憶されたセンタ署名を用いて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
ユーザ署名検証手段により上記第１の記憶ステップで記憶された電子情報及び第１のユーザ署名と上記ユ−ザ秘密鍵に対応するユーザ公開鍵を用いて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記ユーザ側システムにおいて、
更新制御手段により、上記第１の検証ステップの検証結果と上記第２の検証ステップの検証結果が共に正当であると判断された場合に、ＭＤ生成指示を出力し、
上記ＭＤ生成手段により、上記更新制御手段からのＭＤ生成指示に基づいて上記第１の記憶ステップで記憶されたユーザ署名から第１のＭＤと同じ内容の新ＭＤを生成して上記第１の記憶ステップで記憶されたセンタ署名と共に上記センタ側システムへ送信する第３の送信ステップと、
上記センタ側システムにおいて、
第２のセンタ署名検証手段により上記第３の送信ステップで送信された新ＭＤとセンタ署名とを受信して、上記センタ署名と上記センタ秘密鍵に対応するセンタ公開鍵に基づいて上記電子情報が正当であるか否かを検証する第３の検証ステップと、
上記第３の検証ステップの検証結果が正当であると判断された場合に
上記センタ側システムにおいて、
上記センタ署名手段により上記第新ＭＤを新センタ秘密鍵を用いて署名することにより新センタ署名を生成し、この新センタ署名を上記ユーザ側システムへ送信する第４の送信ステップと、
上記上記ユーザ側システムにおいて、
上記署名付き電子情報生成手段により上記新センタ署名を受信してこの新センタ署名を上記電子情報及び上記ユーザ署名とともに記憶する第２の記憶ステップと、
を備えたものである。
【０００９】
また、ユーザ側システムにおいて、ユーザ署名手段により電子情報を秘密鍵を用いて電子署名することによりユーザ署名を生成し、ＭＤ生成手段により上記第１のユーザ署名から第１のＭＤを生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤと有効期限とをセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名と上記有効期限を上記ユーザ側システムへ送信する第２の送信ステップと、
上記有効期限を有効期限保管手段に記憶する第３の記憶ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名と上記有効期限を受信して上記センタ署名と上記有効期限を上記電子情報及び上記第１のユーザ署名とともに記憶する第１の記憶ステップと、
上記第１の署名情報の有効期限に基づいた更新時期に、
上記第２のシステム（センタ側システム）において、
上記有効期限保管手段により期限切れ警告を上記ユーザ側システムへ送信する第５の送信ステップと、
上記ユーザ側システムにおいて、
上記ユーザ署名手段により上記第１の記憶ステップで記憶された電子情報に基づいて第２のユーザ署名を生成し、上記ＭＤ生成手段により上記センタ側システムからの期限切れ警告を受信すると、上記第２のユーザ署名から上記第１のＭＤと同じ内容の第２のＭＤを生成し、第１のセンタ署名検証手段により上記第２のＭＤと上記センタ秘密鍵に対応するセンタ公開鍵と上記第１の記憶ステップで記憶されたセンタ署名と上記有効期限を用いて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
ユーザ署名検証手段により上記センタ側システムからの期限切れ警告を受信すると、上記第１の記憶ステップで記憶された電子情報及び第１のユーザ署名と上記ユ−ザ秘密鍵に対応するユーザ公開鍵を用いて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記第ユーザ側システムにおいて、
更新制御手段により、上記第１の検証ステップの検証結果と上記第２の検証結果が共に正当であると判断された場合に、ＭＤ生成指示を出力し、
上記ＭＤ生成手段により、上記更新制御手段からのＭＤ生成指示に基づいて上記第１の記憶ステップで記憶された第１のユーザ署名から第１のＭＤと同じ内容の新ＭＤを生成して上記第１の記憶ステップで記憶されたセンタ署名と共に上記センタ側システムへ送信する第３の送信ステップと、
上記センタ側システムにおいて、第２のセンタ署名検証手段により上記第３の送信ステップで送信された新ＭＤとセンタ署名とを受信して、上記新ＭＤと上記センタ署名と上記有効期限保管手段からの有効期限と上記センタ秘密鍵に対応するセンタ公開鍵を用いて上記電子情報が正当であるか否かをする第３の検証ステップと、
上記センタ側システムにおいて、
上記センタ署名手段により、上記第３の検証ステップの検証結果が正当であると判断された場合に、上記新ＭＤと新たな有効期限を新センタ秘密鍵を用いて署名することにより新センタ署名を生成し、この新センタ署名を上記新たな有効期限と共に上記ユーザ側システムへ送信する第４の送信ステップと、
上記ユーザ側システムにおいて、
上記署名付き電子情報生成手段が、上記新センタ署名を受信するとこの新センタ署名と上記新たな有効期限を上記電子情報及び上記ユーザ署名とともに記憶する第２の記憶ステップと、
を備えたものである。
【００１０】
ユーザ側システムにおいて、
ユーザ署名手段により電子情報をユーザ秘密鍵を用いて電子署名することによりユーザ署名を生成し、ＭＤ生成手段により上記ユーザ署名から第１のＭＤを生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤをセンタ秘密鍵生成手段により生成されたセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名に識別子を付して上記第１のＭＤと共に署名保管手段に記憶する第４の記憶ステップと、
この第４の記憶ステップで記憶した上記センタ署名の識別子を上記ユーザ側システムへ送信する第２の送信ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名の識別子を受信してこのセンタ署名の識別子を上記電子情報及び上記ユーザ署名とともに記憶する第１の記憶ステップと、
上記センタ署名の有効期限に基づいた更新時期に、
上記ユーザ側システムにおいて、
上記第１の記憶ステップで記憶したセンタ署名の識別子を上記センタ側システムへ送信する第６の送信ステップと、
上記ＭＤ生成手段により、上記第１の記憶ステップで記憶したセンタ署名に基づいて上記第１のＭＤと同じ内容の第２のＭＤを生成し、上記センタ側システムへ送信する第７の送信ステップと、
上記センタ側システムにおいて、
センタ署名検索手段により上記センタ署名の識別子を受信すると、この識別子に基づいて上記署名保管手段に記憶された新センタ署名を検索して取得し、
センタ署名検証手段により上記第２のＭＤを受信すると、この第２のＭＤと上記センタ署名検索手段により取得された新センタ署名に基づいて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
この第１の検証ステップの検証結果を上記ユーザ側システムへ送信する第８の送信ステップと、
上記ユーザ側システムにおいて、
ユーザ署名検証手段により上記第１の記憶ステップで記憶された電子情報及びユーザ署名と上記ユーザ秘密鍵に対応するユーザ公開鍵に基づいて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記ユーザ側システムにおいて、
電子情報検証手段により、上記センタ側システムから受信した上記第１の検証ステップの検証結果と上記第２の検証ステップの検証結果が共に正当であると判断された場合に、
上記センタ側システムにおいて、
上記第４の記憶ステップで上記署名保管手段に記憶された第１のＭＤとセンタ秘密鍵生成手段により生成された新センタ秘密鍵に基づいて新センタ署名を生成し、上記署名保管手段に記憶する第５の記憶ステップと、
を備えたものである。
【００１４】
【発明の実施の形態】
実施の形態１．
図１は、この発明の実施の形態１における電子情報署名システムのデータの流れを説明するシーケンス図である。この図１に示した電子情報署名システムは、文字、画像データ等からなる契約書等の電子情報の改変、偽造等を防止するシステムであり、１は電子情報を有する第１のシステムたるユーザ側システム、２は複数のユーザ側システム１が接続され、ユーザ側システム１の要求に応じて電子情報に署名を行う第２のシステムたるセンタ側システムである。３ａはユーザ側システム１に設けられたこの発明の特徴的な部分の１つである電子情報検証手段であり、電子情報が改変されていないかを検証し、改変されていないことを確認した場合に署名を更新する働きがある。同様に、３ｂはセンタ側システム２に設けられたこの発明の特徴的な部分の１つである電子情報検証手段であり、電子情報が改変されていないかを検証し、改変されていないことを確認した場合に署名を更新する働きがある。
【００１５】
次に、図１を用いて動作の概要を説明する。
まず、第１の送信ステップとして、ステップＳ１で、ユーザ側システム１は、センタ側システム２の署名を得るために、自己の有する電子情報のメッセージダイジェスト（以下、ＭＤと略す）を送信する。このＭＤは第１の情報である。ＭＤは電子情報から１方向性関数によって生成される電子情報の要約であり、ＭＤから電子情報の内容を知ることはできない。ただし、電子情報が改変されるとＭＤも変化するため、ＭＤに基づいて改変されているか否かの判断は可能となっている。従って、センタ側システムに電子情報の内容を公開することなく、署名を受けることができる。第１の情報としては、例えば、電子情報を周知のデータ圧縮技術によって圧縮したもの、又は電子情報そのものを用いてもよい。
【００１６】
次に第２の送信ステップとして、ステップＳ２ａで、ＭＤを受け取ったセンタ側システム２は、このＭＤから第１の署名情報たるセンタ署名を生成し、ユーザ側システム１に送信する。署名は、ＭＤをセンタのみが知っている第１の秘密鍵たる秘密鍵で暗号化したものであり、ＭＤが変わると生成される署名も変わるようになっている。
このセンタ署名を受け取ったユーザ側システム１は、第１の記憶ステップとして、電子情報、電子情報をユーザ側システム１のみが知っている秘密鍵を用いて生成したユーザ署名、及びセンタ側システム２から送信されたセンタ署名という３つの情報をまとめて署名付き電子情報として記憶する。この署名付き電子情報は、上述のようにユーザ側システム１及びセンタ側システム２の署名を含むため、ユーザ側システム１、あるいはセンタ側システム２の一方が電子情報を改変しようとしても、他方のシステムの署名を改変することができない。そのため、電子情報とユーザ署名、電子情報から生成したＭＤとセンタ署名との整合性を調べることにより不正を検出し、改変、偽造等を防止することができる。
【００１７】
以上で、署名付き電子情報の生成が終了する。しかし、ユーザ署名及びセンタ署名はそれぞれ秘密鍵によって暗号化された情報であり、多量の計算を行うことにより秘密鍵が解読される可能性がある。この問題を解決する方法として、容易に解読できない長さの署名を行う方法がある。しかし、この方法では署名付き電子情報のデータ量が多くなってしまうという別の問題が発生し、また解読不可能な期間が有限であるという問題がある。この発明では署名に期限を設け、署名の長さをこの期限内に解読できないような長さとすることにより、署名のデータ量を減らすことができる。
【００１８】
上述の期限を過ぎた署名は無効とされ、署名としての効力を持たないため、期限毎に署名を更新する必要がある。以下に、この更新処理の概要を説明する。
まず、ステップＳ３で、センタ側システム２が内部に記憶した期限を参照し、期限切れが近づくと期限切れ警告を送信する。
【００１９】
次に、検証ステップとして、ステップＳ４で、期限切れ警告を受け取ったユーザ側システム１が、電子情報検証手段３ａにより、ユーザ側システム１に記憶した署名付き電子情報の検証を行う。検証の結果、電子情報が改変されていないことが判明した場合には、第３の送信ステップとして、電子情報のＭＤとこのＭＤに対応するセンタ署名を送信する。
【００２０】
続いて、ステップＳ５で、ＭＤ及びセンタ署名を受け取ったセンタ側システム２が、電子情報検証手段３ｂにより受け取ったＭＤとセンタ署名とを用いてセンタ署名を検証する。検証の結果、センタ署名が正当であることを確認した場合には、第４の送信ステップとして、第２の秘密鍵たる新たな秘密鍵とＭＤを用いて、第２の署名情報たる新センタ署名を生成しユーザ側システム１へ送信する。
【００２１】
次に、第２の記憶ステップとして新センタ署名を受け取ったユーザ側システム１では、この新センタ署名、ユーザ署名、及び電子情報をまとめて署名付き電子情報として記憶する。
以上により、署名付き電子情報の更新が終了する。以降は、期限切れが近づく度に更新を繰り返す。
【００２２】
以上に示した電子情報署名システムによれば、電子情報の改変を少ないデータ量で長期間に渡って防止することができる。特に、署名の更新時に電子情報若しくは署名の正当性を検出し、正当であるときに署名付き電子情報の更新を行うため、現在の署名が正当であれば、過去における複数の期間に渡って電子情報が改変されていないことが保証される。一方、更新時に機能する電子情報検証手段３ａ、ｂを持たない従来のシステムでは、更新時に電子情報が書き換えられる可能性があり、長期にわたって電子情報が改変されていないことを保証できない。
【００２３】
◆システム詳細
次に、図１に示した電子情報検証システムのより詳細な実施の形態について説明する。図２は図１に示した電子情報検証システムの署名付き電子情報の作成処理を説明する機能ブロック図、図３は同様に署名付き電子情報の更新時における検証処理、図４も同様に署名付き電子情報の更新処理をそれぞれ説明する機能ブロック図である。
【００２４】
図２において、図１と同一の符号は同一又は相当の部分を表す。ｉ１ａは署名を付すべき電子情報、Ｓｕはユーザ側システム１が外部に対して秘密に保管する公開鍵暗号方式におけるユーザ秘密鍵、４は電子情報ｉ１ａをユーザ秘密鍵Ｓｕを用いて暗号化し、ユーザ署名ｉ２ａを生成するユーザ署名手段、５はユーザ署名ｉ２ａを受け付け、このユーザ署名ｉ２ａを一方向性関数（メッセージ要約関数とも呼ばれる）により要約しＭＤｉ３として出力するＭＤ生成手段である。
Ｓｃはセンタ側システム２が外部に対して秘密に保管する公開鍵暗号方式におけるセンタ秘密鍵、ｉ４はセンタ秘密鍵Ｓｃの解読の容易性に応じて定められ、センタ署名ｉ５ａの有効な日時を表す有効期限、６はユーザ署名ｉ２ａが送信したＭＤｉ３及び有効期限ｉ４をセンタ秘密鍵Ｓｃを用いて暗号化し、センタ署名ｉ５ａとして出力するセンタ署名手段、７は有効期限ｉ４を記憶する有効期限保管手段である。
１１は電子情報ｉ１ａ、ユーザ署名ｉ２ａ、及びセンタ側システム２が送信したセンタ署名ｉ５ａをまとめて１つの情報とし、この情報を署名付き電子情報ｉ６ａとして出力する署名付き電子情報生成手段である。
【００２５】
・署名付き電子情報作成処理
次に、図２を用いて署名付き電子情報ｉ６ａの作成処理動作について説明する。
まず、ユーザ側システム１において、ユーザ署名手段４は電子情報ｉ１ａを暗号化し、第３の署名情報たるユーザ署名ｉ２ａを生成する。この暗号化は第３の秘密鍵たるユーザ秘密鍵Ｓｕを用いて、例えばＲＳＡ方式のような公開鍵暗号方式によって行われる。ＭＤ生成手段５はユーザ署名ｉ２ａを受け取り、このユーザ署名ｉ２ａを基にＭＤｉ３を生成する。ＭＤｉ３は上述のように一方向生関数を用いてユーザ署名ｉ２ａを要約し、データ量を少なくした情報となっている。ＭＤ生成手段５によって生成されたＭＤｉ３はセンタ側システム２に送信される。
【００２６】
ＭＤｉ３を受け取ったセンタ側システム２では、センタ署名手段６がＭＤｉ３及び有効期限ｉ４をセンタ秘密鍵Ｓｃを用いて暗号化しセンタ署名ｉ５ａを生成する。暗号化は、上述ユーザ署名手段４と同様に、例えばＲＳＡ方式のような公開鍵暗号方式を用いて行う。また、有効期限ｉ４はセンタ署名ｉ５ａの作成時からセンタ署名ｉ５ａの解読が困難な期間を指定して生成され、有効期限保管手段７に保管される。
そして、センタ側システム２は生成したセンタ署名ｉ５ａとその有効期限ｉ４をユーザ側システム１へ送信する。
【００２７】
ユーザ側システム１では、センタ署名ｉ５ａとその有効期限ｉ４を受け取ると、電子情報ｉ１ａ、ユーザ署名ｉ２ａ、有効期限ｉ４及びセンタ署名ｉ５ａを１つの情報にまとめ、署名付き電子情報ｉ６ａを生成する。この署名付き電子情報ｉ６ａの生成は、署名付き電子情報生成手段１１が行う。そして、ユーザ側システム１にこの署名付き電子情報ｉ６ａを記憶する。
以上で、署名付き電子情報ｉ６ａの作成処理が完了する。
【００２８】
・署名付き電子情報更新処理
続いて、図３及び４を用いて署名付き電子情報ｉ６ａの更新処理を説明する。
まず、更新時の検証処理について図３を用いて説明する。図３は検証処理時の電子情報署名システムの動作を説明する機能ブロック図である。図３において、図１又は図２と同一の符号は同一又は相当の部分を表している。
８ａはＭＤ生成手段５より再生成ＭＤｉ８、署名付き電子情報ｉ６ａ内に記憶されているセンタ署名ｉ５ｂ、及び有効期限ｉ４ｂを受け取り、この３つの情報とセンタ公開鍵Ｐｃとを用いてセンタ署名が正当であるかを検証するセンタ署名検証手段である。ここで、センタ署名ｉ５ｂ、有効期限ｉ４ｂは、それぞれ電子情報作成時に記憶されたセンタ署名ｉ５ａ、有効期限ｉ４に相当するものであり、センタ署名が改変されていなければセンタ署名ｉ５ａ、有効期限ｉ４と同一の情報である。また、センタ公開鍵Ｐｃは、センタ秘密鍵Ｓｃに対応する復号のための鍵であり、センタ秘密鍵Ｓｃを生成したセンタ側システム２から取得される。
【００２９】
９は署名付き電子情報ｉ６ａより取り出した電子情報ｉ１ｂとユーザ署名ｉ２ｂとを受け取りユーザ公開鍵Ｐｕを用いてユーザ署名ｉ２ｂの正当性を検証するユーザ署名検証手段である。ここで、ユーザ署名ｉ２ｂ、電子情報ｉ１ｂは、更新対象となる署名付き電子情報ｉ６ｂに含まれる情報であり、それぞれ図２に示したユーザ署名ｉ２ａ、電子情報ｉ１ａに相当する。すなわち、ユーザ署名ｉ２ａとユーザ署名ｉ２ｂ、電子情報ｉ１ａと電子情報ｉ１ｂは、署名付き電子情報ｉ６ａが不正に書き換えられていない限り、同一のものである。また、ユーザ公開鍵Ｐｕは、ユーザ秘密鍵Ｓｕに対応する復号のための鍵であり、ユーザ側システム１に記憶されている。
【００３０】
次に、動作について説明する。
センタ側システム２に記憶された有効期限ｉ４の期限切れが近づくと、署名付き電子情報ｉ６ａを更新しなければならない。そこで、まずセンタ側システム２の有効期限保管手段７は、複数のセンタ署名ｉ５ａの有効期限ｉ４を監視する。そして、有効期限ｉ４が近づいたセンタ署名ｉ５ａを発見すると、当該センタ署名ｉ５ａに対応する署名付き電子情報ｉ６ａを管理するユーザ側システム１に対して期限切れ警告ｉ７を送信する。この期限切れ警告ｉ７は対象となるセンタ署名ｉ５ａを指定して行われる。この期限切れ警告ｉ７を行うことによって、ユーザー側システム１の署名付き電子情報の署名更新し忘れを防止することができる。
【００３１】
この期限切れ警告ｉ７はユーザ側システム１によって受信され、署名付き電子情報ｉ６ａが不正に改変されていないかが検証される。この検証は、ユーザ署名ｉ２ｂ及びセンタ署名ｉ５ｂの両面から行われるため、ユーザ側システム１単独、若しくはセンタ側システム２単独では、改変できないような厳重な鍵を掛けることができる。
まず、ユーザ側システム１が期限切れ警告ｉ７を受け付けると、ユーザ署名手段４が署名付き電子情報ｉ６ｂから電子情報ｉ１ｂを取得し、図２を用いて説明したのと同様にユーザ署名ｉ２ａを生成する。次に、ＭＤ生成手段５はユーザ署名ｉ２ａを受け取り、再生成ＭＤｉ８を生成する。この再生成ＭＤｉ８は図２を用いたＭＤｉ３の生成方法と同様の方法で行われ、電子情報ｉ６ｂが不正に改変されていない場合には、図２のＭＤｉ３と同一の情報となる。
【００３２】
つぎに、センタ署名検証手段８ａが再生成ＭＤｉ８、センタ署名ｉ５ｂ、及び有効期限ｉ４ｂを受け取り、センタ公開鍵Ｐｃによるセンタ署名の検証を行う。この検証はセンタ署名ｉ５ｂ、再生成ＭＤｉ８、有効期限ｉ４ｂ、及びセンタ秘密鍵Ｓｃに対応するセンタ公開鍵Ｐｃを用いて、周知の技術である署名検証処理によって実行される。この署名検証処理の一例としては、ＲＳＡ暗号系の署名検証処理を用いることができる。また、他のデジタル署名に用いられる暗号系の署名検証処理を用いてもよい。他の暗号系及び検証結果が得られる関数については、「電子情報通信ハンドブック」p361,電子情報通信学会編,オーム社(1988)に記載されている。
【００３３】
上述の検証からセンタ署名ｉ５ｂが正当であるか否かを示すセンタ署名検証結果ｉ９ａが生成される。センタ署名ｉ５ｂがセンタ側システム２で作られたものであり、かつ電子情報ｉ１ｂ及び有効期限ｉ４ｂが不正に書き換えられていない場合にはセンタ署名検証結果ｉ９ａは「正当」という値で出力される。それ以外のセンタ署名ｉ５ｂがセンタ側システム２で作られたものでない場合には、又は、電子情報ｉ１ｂ若しくは有効期限ｉ４ｂが不正に書き換えられている場合には、センタ署名検証結果ｉ９ａは「不正」という値で出力される。
なお、ここで有効期限ｉ４を過ぎていないかを検証してもよい。有効期限ｉ４を過ぎている場合にはセンタ署名検証結果ｉ９ａは「不正」という値で出力する。
【００３４】
次に、ユーザ署名の検証について説明する。
期限切れ警告ｉ７を受け付けたとき、ユーザ署名検証手段９がユーザ署名の正当性を検証する。まず、署名付き電子情報ｉ６ａから電子情報ｉ１ｂとユーザ署名ｉ２ｂを取り出す。そして、電子情報ｉ１ｂ、ユーザ署名ｉ２ｂ、及びユーザ秘密鍵Ｓｕに対応するユーザ公開鍵Ｐｕを用いてユーザ署名検証処理を行い、ユーザ署名検証結果ｉ１０ａを生成する。このユーザ署名検証処理は、上述のセンタ署名検証処理と同様の方法で行うことができる。
以上の処理により、センタ署名ｉ５ｂとユーザ署名ｉ２ｂの検証結果が得られる。
【００３５】
次に、図４を用いて署名付き電子情報ｉ６ａの更新処理動作を説明する。図４は更新処理動作を説明する機能ブロック図であり、図１、図２又は図３はと同一の符号は同一又は相当の部分を表している。１０はセンタ署名検証結果ｉ９ａとユーザ署名検証結果ｉ１０ａとを受け付け、センタ署名検証結果ｉ９ａとユーザ署名検証結果ｉ１０ａとが共に「正当」を示した場合に、署名付き電子情報ｉ６ａが改変されていない正当なものであると判断し、この判断結果に基づいてＭＤ生成手段５を制御して新ＭＤｉ３ｂを出力させる更新制御手段である。
【００３６】
更新処理動作は以下のように行われる。
まず、更新制御手段１０によりセンタ署名検証結果ｉ９ａとユーザ署名検証結果ｉ１０ａとが共に「正当」を示しているかを判断する。共に「正当」を示している場合には、ＭＤ生成を指示する制御信号をＭＤ生成手段５へ出力する。検証結果のどちらか一方、又は、両方が「不正」を示している場合には、署名付き電子情報ｉ６ａ、センタ署名ｉ５ｂ、ユーザ署名ｉ２ｂが改変された、或いは、署名者が不当であると判断して、エラーを出力し、署名付き電子情報ｉ６ａの更新を中止する。
【００３７】
更新制御手段１０からＭＤ生成を指示する制御信号を受け付けたＭＤ生成手段は、図２にて説明したＭＤｉ３の生成と同様にＭＤｉ３を生成し、新ＭＤｉ３ｂとしてセンタ側システム２へ送信する。この際、新ＭＤｉ３ｂの生成に用いるユーザ署名は、署名付き電子情報ｉ６ａから取得する。また、新ＭＤｉ３ｂと合わせてセンタ署名ｉ５ｂも送信する。図４では、センタ署名ｉ５ｂをＭＤ生成手段５より新ＭＤｉ３ｂと同時に送信しているが、新ＭＤｉ３ｂと同時にセンタ署名ｉ５ｂを送信し、或いはＭＤ生成手段５を経由して送信する必要は必ずしもなく、結果として更新時にセンタ署名ｉ５ｂと新ＭＤｉ３ｂがセンタ側システム２に送信されればよい。例えば、センタ署名ｉ５ｂの送信は、署名付き電子情報ｉ６ａの正当性を確認したＭＤ更新制御手段１０が行ってもよいし、別個に設けられた送信手段によって行ってもよい。
【００３８】
次に、センタ署名ｉ５ｂ及び新ＭＤｉ３ｂを受け取ったセンタ側システム２は、センタ署名ｉ５ｂの更新を開始する。まず、センタ署名検証手段８ｂはセンタ署名ｉ５ｂの正当性を検証し、その検証結果をセンタ署名検証結果ｉ９ｂとして出力する。センタ署名ｉ５ｂの正当性の判断は、ユーザ側システム１のセンタ署名検証手段８ａと同様の処理で行うことができる。また、そのセンタ署名検証結果ｉ９ｂは、「正当」又は「不正」のいずれかである。
【００３９】
また、センタ署名ｉ５ａの生成時に有効期限ｉ４及びＭＤｉ３について署名した場合においては、有効期限ｉ４をもセンタ署名の検証処理に用いる。この有効期限ｉ４は、有効期限保管手段７から取得された新ＭＤｉ３ｂに対応する有効期限ｉ４である。このとき、この有効期限ｉ４と現在の日時とを比較して、有効期限ｉ４を過ぎていないかを判断する。有効期限ｉ４を過ぎている場合にも、センタ署名検証結果ｉ９ａは「不正」という値で出力される。一方、センタ署名検証結果ｉ９ａ「正当」という値で出力される場合は、第１にセンタ署名ｉ５ｂがセンタ側システム２で作られた正当なものであること、第２に有効期限ｉ４を過ぎていないこと、の２つの要件全てを備える場合である。
有効期限ｉ４が過ぎると、センタ署名ｉ５ｂを解読される可能性が高くなるが、この有効期限ｉ４の検査処理を行うことにより、署名付き電子情報ｉ６ａが有効期限ｉ４内で更新されたことが確認でき、署名付き電子情報ｉ６ａの信頼性がより高くなる。
【００４０】
センタ署名手段６は、センタ署名検証結果ｉ９ｂが「正当」である場合、新たにセンタ秘密鍵Ｐｃを生成し、このセンタ秘密鍵Ｓｃを新センタ秘密鍵ｎｅｗＳｃとし、さらに、この新センタ秘密鍵ｎｅｗＳｃを用いて新センタ署名ｉ５ｃを生成する。新センタ署名ｉ５ｃは図２を用いて説明したセンタ署名ｉ５ａと同様に行われる。このとき、新ＭＤｉ３ｂはＭＤｉ３、新センタ秘密鍵ｎｅｗＳｃはセンタ秘密鍵Ｓｃに相当する。
また、図２を用いて説明した署名付き電子情報の作成処理と同様に、新たな有効期限ｉ４を設定し、この有効期限ｉ４をも含めて新センタ署名ｉ５ｃを生成する。
新たに設定された有効期限ｉ４と生成された新センタ署名ｉ５ｃは、ステップＳ５としてセンタ署名手段６よりユーザ側システム１へ送信される。
【００４１】
新センタ署名ｉ５ｃと有効期限ｉ４を受信したユーザ側システム１は、図２を用いて説明した署名付き電子情報の作成と同様に作成処理を行い、新しい署名付き電子情報ｉ６ｂを生成する。このとき、新しい署名付き電子情報ｉ１ｂは電子情報ｉ１ｂ、ユーザ署名ｉ２ｂ、有効期限ｉ４及び新センタ署名ｉ５ｃにより生成される。生成された署名付き電子情報ｉ１ｂはユーザ側システム１に記憶される。
以上で、署名付き電子情報ｉ６ａの更新が終了する。
なお、この署名の更新は何度も繰り返すことができる。
【００４２】
この実施の形態１では、署名付き電子情報に有効期限を含ませたが、必要に応じて、有効期限を含ませないようにすることもできる。
【００４３】
以上の電子情報署名システムによれば、更新時に署名付き電子情報の検証を行っているため、更新前の署名付き電子情報ｉ６ａにおける電子情報ｉ１ａと更新後の署名付き電子情報における電子情報ｉ１ｂとが同一のものであることが保証され、かつ、有効期限ｉ４内に解読されないような大きさの比較的小さいサイズの署名を付加すればよいため、署名付き電子情報のデータサイズを小さくすることができる。そして、更新を繰り返せば、署名の大きさに関わらず長期間に渡って文書の安全性、すなわち不正な改変、偽造等がないこと、が高い信頼性をもって保証できる。
【００４４】
実施の形態２．
実施の形態２は、センタ側システムでセンタ署名を自動的に更新し、電子情報の安全性を確保しつつ、ユーザ側システムとセンタ側システムの通信量を減少させる実施の形態である。
【００４５】
図５はこの実施の形態２の電子情報署名システムのデータの流れを説明するシーケンス図であり、署名付き電子情報の作成、更新処理、に加えて検証処理についてもその処理シーケンスを示している。図５において、図１と同一の符号は同一又は相当の部分を表す。１２は署名付き電子情報の持つ有効期限の期限切れが近づくと、センタ側システム２に記憶したＭＤｉ３若しくはセンタ署名ｉ５ｃ等の電子情報に関する情報を新しいセンタ秘密鍵ｎｅｗＳｃを用いて暗号化し、新センタ署名を生成する電子センタ署名更新手段である。この新センタ署名にも、有効期限ｉ４が設定されており、新たに設定した有効期限ｉ４の期限切れが近づくと、再びセンタ署名の更新が行われる。
【００４６】
次に動作について概要を説明する。
署名付き電子情報の作成は、まず、ステップＳ１で、実施の形態１と同様にＭＤｉ３が生成され、センタ側システム２側に送信され、センタ側システム２によってＭＤｉ３からセンタ署名ｉ５ａが生成される。
次に、ステップＳ２に移り、生成したセンタ署名ｉ５ａに識別子を付してセンタ側システム２で記憶するとともに、付した識別子をユーザ側システム１に送信する。
識別子を受け取ったユーザ側システム１は、識別子と電子情報ｉ２ａとを組み合わせて署名付き電子情報ｉ６ｃとして記憶する。
【００４７】
署名付き電子情報の作成が終了し、有効期限ｉ４の期限切れが近づくと、署名付き電子情報の更新が行われる。署名付き電子情報の更新は、実施の形態１と異なりセンタ側システム２側で行い、ユーザ側システム１とのＭＤｉ３及びセンタ署名ｉ５ａの交信は行わない。このため、ユーザ側システム１の処理負担を軽減すると共に、ユーザ側システム１及びセンタ側システム２を合わせたシステム全体としても通信量が削減されるので処理効率がよい。
【００４８】
センタ側システム２は複数のセンタ署名ｉ５ａを管理する。ここで１つのセンタ署名Ａの有効期限ｉ４の期限切れが近づいた場合の更新動作を説明すると、このセンタ署名Ａについて新たに新センタ秘密鍵ＮｅｗＳｃと有効期限ｉ４とを設定し、この新センタ秘密鍵ＮｅｗＳｃを用いて、自己のシステムに記憶したＭＤｉ３、若しくはセンタ署名ｉ５ａ等の電子情報に関する情報から新たにセンタ署名ｉ５ａを生成する。そして、生成したセンタ署名ｉ５ａをセンタ署名Ａの識別子に対応するセンタ署名ｉ５ａとして記憶する。
【００４９】
以降、有効期限ｉ４の期限切れが近づく度に同様の処理を行い。次々とセンタ署名を更新する。そのため、センタ秘密鍵Ｓｃを解読される危険性が極めて少なく、電子情報の不正な改変、偽造を防止することができる。また、更新時には実施の形態１と同様にセンタ署名の検証を行い、検証結果が「正当」である場合に更新を行うため、長期にわたって電子情報が改変されていないことが保証できる。
【００５０】
この電子情報署名システムでは、ユーザ側システム１はセンタ署名ｉ５ａに対応する識別子を持っているだけなので、このままでは、センタ署名ｉ５ａによる電子情報の正当性を検証できない。そこで、次に、署名付き電子情報の検証処理について説明する。
まず、ユーザ側システム１は、ステップＳ６で、検証しようとする署名付き電子情報から新ＭＤｉ３ｂを生成し、この新ＭＤｉ３ｂを当該署名付き電子情報に対応する識別子とともに送信する。
【００５１】
センタ側システム２では、送信された新ＭＤｉ３ｂ及び識別子を受け取り、新ＭＤｉ３ｂが改変されていないかどうか、新ＭＤｉ３ｂと識別子に対応するセンタ署名とセンタ公開鍵Ｐｃとを用いて検証する。このセンタ署名の検証は、実施の形態１で説明したのと同様に行われる。
【００５２】
そして、ステップＳ７にて、検証結果をユーザ側システム１へ送信する。ユーザ側システム１では、受け取った検証結果及びユーザ側システム１が独自に実施するユーザ署名ｉ２ａによる検証結果に基づいて、署名付き電子情報の正当性を判断する。
【００５３】
以上の電子情報署名システムによれば、センタ署名の更新時にＭＤを送信しないため、更新が高速に行え、かつユーザ側システム１かかる処理負荷を軽減することができる。また、ユーザ側システム１とセンタ側システム２との間の回線に発生する障害によって、センタ署名ｉ５ａの更新が行えず有効期限ｉ４を過ぎてしまうといった問題も生じない。
【００５４】
実施例２−１
◆システム詳細
次に、図５に示した電子情報署名システムの署名付き電子情報の作成処理、更新処理、及び検証処理の詳細ついて、それぞれ図６、図７、及び図８を用いて説明する。特に、この実施例２−１では、センタ署名更新のためにＭＤｉ３を保存し、このＭＤｉ３に基づいて新センタ署名ｉ５ｄを生成する方法を用いている。
図６は、この実施の形態２の電子情報署名システムの署名付き電子情報の作成処理を説明する機能ブロック図である。図６において、図５又は図２と同一の符号は同一又は相当の部分を表す。１３はセンタ署名手段６が生成したセンタ署名ｉ５ａを保管し、保管したセンタ署名ｉ５ａの識別子ｉ５ｄを出力する署名保管手段、１６はセンタ秘密鍵Ｓｃとこのセンタ秘密鍵Ｓｃに対応するセンタ公開鍵Ｐｃを生成するセンタ秘密鍵生成手段である。
【００５５】
・署名付き電子情報作成処理
次に署名付き電子情報ｉ６ｃの作成処理について説明する。
まず、ユーザ側システム１の署名付き電子情報ｉ６ｃの作成処理は、基本的に実施の形態１と同様である。異なるのは、ステップＳ２ｂでセンタ側システム２より識別子ｉ５ｄを受け取り、センタ署名ｉ５ａの代わりに受け取った識別子ｉ５ｄを署名付き電子情報ｉ６ｃとして保存する点である。従って、署名付き電子情報ｉ６ｃは、電子情報ｉ１ａ、ユーザ署名ｉ２ａ、及び識別子ｉ５ｄにより構成される。
【００５６】
次に、センタ側システム２での処理について説明すると、ステップＳ１で送信されたＭＤｉ３を受け取ったセンタ側システム２は、センタ秘密鍵Ｓｃ、センタ公開鍵Ｐｃ、及び有効期限ｉ４を生成し、実施の形態１の図２で説明したのと同様にセンタ署名ｉ５ａを生成する。このとき署名保管手段１３は、このセンタ署名ｉ５ａと、このセンタ署名ｉ５ａに対応するセンタ公開鍵Ｐｃ、有効期限ｉ４及びＭＤｉ３とを１つのセンタ署名情報ｉ１１として記憶する。この際、記憶したセンタ署名情報には他のセンタ署名情報の識別子とは異なる値を持つ識別子ｉ５ｄが割り当てられ、ステップＳ２ｂでユーザ側システム１に送信される。識別子ｉ５ｄには、例えば、署名保管手段１３におけるセンタ署名情報のアドレスを用いることができる。アドレスを用いた場合には、識別子ｉ５ｄをキーとして高速にセンタ署名情報を検索できる。
【００５７】
識別子ｉ５ｄを受け取ったユーザ側システム１では、上述のように識別子ｉ５ｄを署名付き電子情報ｉ６ｃとして保存する。この署名付き電子情報ｉ６ｃは、実施の形態１のようにセンタ署名ｉ５ａを直接保存する場合と比べて、データサイズが少なく記憶容量を節約することができるという特徴がある。すなわち、センタ署名ｉ５ａは、ＭＤｉ３及び有効期限ｉ４を暗号化した情報であるため、所定のデータサイズを有する。一方、識別子ｉ５ｄは数バイトのデータ量で構成できるため、データサイズが小さいという特徴がある。
以上で署名付き電子情報ｉ６ｃの作成処理が完了する。
【００５８】
・署名付き電子情報更新処理
次に、署名付き電子情報の更新処理について、図７を用いて詳細に説明する。
図７はこの実施の形態２の電子情報署名システムの署名付き電子情報の更新処理を説明する機能ブロック図である。図７において、図６と同一の符号は同一又は相当の部分を表す。
【００５９】
次に、動作について説明する。
署名保管手段１３は複数のセンタ署名情報ｉ１１を記憶し、それらのセンタ署名情報ｉ１１のうち有効期限ｉ４の期限切れが近づいているものがないかを常時監視している。もし、期限切れが近づいているものを発見した場合には、センタ署名ｉ５ａの更新処理を開始する。ここでは、複数のセンタ署名ｉ５ａのうちの１つセンタ署名Ａについて更新処理を行う場合について説明する。
まず、期限切れが近づいているセンタ署名Ａを発見すると、そのセンタ署名Ａに対応するＭＤｉ３をセンタ署名手段６へ出力する。センタ署名手段６では、このＭＤｉ３を受け取るとともに、センタ秘密鍵生成手段１６に新たなセンタ秘密鍵Ｓｃとこのセンタ秘密鍵Ｓｃに対応するセンタ公開鍵Ｐｃとを生成させ、これらをそれぞれ新センタ秘密鍵ＮｅｗＳｃ、新センタ公開鍵ｎｅｗＰｃとして受け取る。さらに、図示しない有効期限設定手段に新たな有効期限ｉ４を設定させる。そして、受け取ったＭＤｉ３と新しい有効期限ｉ４を新センタ秘密鍵ＮｅｗＳｃを用いて署名し、新センタ署名ｉ５ａを生成する。
【００６０】
この新センタ署名ｉ５ａは署名保管手段１３へ出力され、署名保管手段１３は受け取った新センタ署名ｉ５ａを新たに設定された有効期限ｉ４、センタ公開鍵ｎｅｗＰｃとともに記憶する。図９は、署名保管手段１３の内の記憶内容を示すメモリマップの例である。センタ署名ｉ５ａが更新される前は、１つの識別子ｉ５ｄに対するセンタ署名情報ｉ１１として、ＭＤｉ３、有効期限Ａ、センタ公開鍵ＰｃＡ、センタ署名Ａ、有効期限Ｂ、センタ公開鍵ＰｃＢ、及びセンタ署名Ｂを記憶している。有効期限Ａ及び有効期限Ｂは、それぞれセンタ署名Ａ、２に対する有効期限ｉ４であり、センタ署名Ａは最初に記憶されたセンタ署名ｉ５ａ、センタ署名Ｂは２番目に記憶されたセンタ署名ｉ５ａである。また、各センタ公開鍵ＰｃＡ、Ｂは、それぞれセンタ署名Ａ、Ｂに対応するセンタ公開鍵Ｐｃである。
【００６１】
センタ署名が更新されると、ＭＤｉ３、有効期限Ａ、センタ公開鍵ＰｃＡ、センタ署名Ａ、有効期限Ｂ、センタ公開鍵ＰｃＢ、及びセンタ署名Ｂに加えて、新センタ署名ｉ５ｄであるセンタ署名Ｃ、このセンタ署名Ｃに対する新しい有効期限Ｃ、及び新センタ公開鍵ｎｅｗＰｃがセンタ公開鍵ＰｃＣとして図９のように記憶される。
【００６２】
ここでは、過去にセンタ署名ｉ５ａが正常に更新されたかを検証できるようにするため、過去のセンタ署名ｉ５ａの履歴を記憶しているが、古くなったセンタ署名ｉ５ａ、有効期限ｉ４、及びセンタ公開鍵Ｐｃは消去しても良い。この場合には、多数の更新が行われても署名保管手段１３の必要記憶容量が変化しないという利点がある。
【００６３】
・署名付き電子情報検証処理
次に、署名付き電子情報の検証処理について、図８を用いて詳細に説明する。
図８はこの実施の形態２の電子情報署名システムの署名付き電子情報の検証処理を説明する機能ブロック図である。図８において、図６と同一の符号は同一又は相当の部分を表す。１４は識別子ｉ５ｄに基づき署名保管手段１３よりセンタ署名情報１１を検索するセンタ署名検索手段、１５はユーザ署名検証手段９よりユーザ署名検証結果ｉ１０ａを、センタ署名検証手段１７ａよりセンタ署名検証結果ｉ９ｂを受け取り、これらの検証結果に基づいて署名付き電子情報ｉ６ｃを検証する電子情報検証手段である。１７ａはセンタ署名情報ｉ１１及び再生ＭＤｉ８を受け取り、センタ署名ｉ５ｄを検証するセンタ署名検証手段１７ａである。
【００６４】
次に、動作について説明する。
署名付き電子情報ｉ６ｃを検証する場合には、まず、ユーザ署名手段４が電子情報ｉ１ｂからユーザ秘密鍵Ｓｕを用いてユーザ署名を生成する。そして、ＭＤ生成手段５がユーザ署名からＭＤｉ３を生成し、ステップＳ６で、このＭＤｉ３を再生成ＭＤｉ８として送信する。このとき、再生性ＭＤｉ８に対応する当該署名付き電子情報ｉ６ｃの識別子ｉ５ｄも送信される。この送信は、センタ署名ｉ５ａを用いた検証のために行われる。
一方、ユーザ側システム１でもユーザ署名ｉ２ｂを用いた検証が行われる。この検証は、図３を用いて説明した通りである。
【００６５】
ステップＳ６で送信された再生成ＭＤｉ８及び識別子ｉ５ｄを受信したセンタ側システム２では、センタ署名ｉ５ａを用いた検証が行われる。まず、識別子ｉ５ｄを受け取ったセンタ署名検索手段１４は、識別子ｉ５ｄをキーとして、署名保管手段１３に記憶された複数のセンタ署名情報ｉ１１の中から、当該識別子ｉ５ｄに対応するセンタ署名情報ｉ１１を検索する。検索されたセンタ署名情報ｉ１１はセンタ署名検証手段１７ａへ出力される。
【００６６】
センタ署名検証手段１７ａは、ユーザ側システム１から受け取った再生成ＭＤｉ８、センタ署名検証手段１４から受け取ったセンタ署名情報ｉ１１を用いてセンタ署名を検証する。すなわち、この検証は、センタ署名情報１１に含まれる最新（現在）の有効期限ｉ４及びセンタ公開鍵Ｐｃと、ユーザ側システム１から受け取った再生成ＭＤｉ８とを用い実施の形態１で説明したセンタ署名の検証処理と同様に行われる。検証の結果は、ステップＳ７でセンタ署名検証結果ｉ９ｂとして出力される。
【００６７】
なお、ここでセンタ署名が期限内に正常に更新されていたかを検証してもよい。この場合は、センタ署名情報ｉ１１に記憶されている過去のセンタ署名の履歴（センタ署名、有効期限、センタ公開鍵）を用いて上述のように検証をする。例えば、図９の更新後の例では、有効期限Ｂ、センタ公開鍵ＰｃＢ、及びセンタ署名Ｂを用いて上述のセンタ署名検証処理を行えば前々回の更新が正当にかつ有効期限内に行われたかを検証することができる。さらに、有効期限Ａ、センタ公開鍵ＰｃＡ、及びセンタ署名Ａを用いて上述のセンタ署名検証処理を行えば、３回前の更新が正当に行われたかを検証することができる。
このような過去の更新履歴まで検証する場合には、全ての検証結果が「正当」を示したときに、センタ署名検証結果ｉ９ｂを「正当」とする。過去の履歴において、「不正」が検出された場合には、そのときにセンタ署名が解読されていないことを保証できないため、センタ署名検証結果ｉ９ｂを「不正」とする。
過去の更新履歴まで検証する場合の効果は、過去においてセンタ署名が正常に更新されていたことが保証されるため、より厳密な検証を行えるということにある。
【００６８】
ステップＳ７にて、上述のようにセンタ署名検証結果ｉ９ｂが送信されるとユーザ側システム１で最終的な署名付き電子情報ｉ６ｃの検証処理が行われる。
センタ側システム２から送信されたセンタ署名検証結果ｉ９ｂは、電子情報検証手段１５に受け取られる。電子情報検証手段１５では、ユーザ署名検証結果ｉ１０ａとセンタ署名検証結果ｉ９ｂに基づいて、署名付き電子情報の検証結果、すなわち、電子情報検証結果ｉ１２を出力する。このとき、電子情報検証結果ｉ１２が「正当」を示す場合は、ユーザ署名検証結果ｉ１０ａ及びセンタ署名検証結果ｉ９ｂがともに「正当」である場合であり、それ以外は、「不正」を出力する。
【００６９】
以上のように、この実施例によれば、センタ署名の更新時にＭＤを送信しないため、更新が高速に行え、かつユーザ側システム１かかる負荷を軽減することができる。また、ユーザ側システム１とセンタ側システム２との間の回線に発生する障害によって、センタ署名ｉ５ａの更新が行えず有効期限ｉ４を過ぎてしまうといった問題も生じない。
【００７０】
実施例２−２．
次に、図５に示した電子情報署名システムの署名付き電子情報の更新処理、及び検証処理の詳細ついての他の実施例を図１０及び図１１を用いて説明する。
特に、この実施例２−２では、実施の形態２−１と異なり、センタ署名を新しいセンタ秘密鍵にて繰り返し暗号化する方法を用いて、センタ署名の解読を防止している。
図１０は、この実施例２−２の電子情報署名システムの署名付き電子情報の更新処理を説明する機能ブロック図である。図１０において、図５又は図７と同一の符号は同一又は相当の部分を表す。
【００７１】
次に動作について説明する。
署名付き電子情報の作成処理については、基本的に同様の処理が行われるため説明を省略する。ただし、後述するように署名保管手段１３に記憶される情報を変更しても良い。例えば、ＭＤｉ３を記憶する必要は必ずしもないので、ＭＤｉ３を記憶しないこととしてもよい。
【００７２】
・署名付き電子情報更新処理
続いて、図１０を用いて、署名付き電子情報の更新処理について説明する。
まず、有効期限ｉ４の期限切れが近づくと、署名保管手段７がセンタ署名手段６へセンタ署名ｉ５ｅを出力する。このセンタ署名ｉ５ｅは、現在有効な更新前のセンタ署名ｉ５ａである。また、このとき新たに有効期限ｉ４が設定され、さらにセンタ秘密鍵生成手段１６が新センタ秘密鍵ｎｅｗＳｃ及びこの新センタ秘密鍵ｎｅｗＳｃに対応した新センタ公開鍵ｎｅｗＰｃを生成する。
【００７３】
センタ署名手段６は、センタ署名ｉ５ｅ、新センタ秘密鍵ｎｅｗＳｃ、及び有効期限ｉ４を受け取り、新センタ秘密鍵ｎｅｗＳｃを用いてセンタ署名ｉ５ｅ及び有効期限ｉ４を暗号化し、新センタ署名ｉ５ｆを生成する。
【００７４】
センタ署名手段６が生成した新センタ署名ｉ５ｆは、署名保管手段７へ出力される。署名保管手段７は、新センタ公開鍵ｎｅｗＰｃ、及び有効期限ｉ４とともにこの新センタ署名ｉ５ｆを新たに追加記憶する。この際、更新前のセンタ署名ｉ５ｅ、更新前の有効期限ｉ４、及び更新前のセンタ公開鍵Ｐｃは消去せずに記憶しておく。例えば、図９に示すように記憶され、更新される。ただし、この実施例においては、センタ署名情報ｉ１１にＭＤを記憶しておく必要はない。
以上の更新処理が有効期限ｉ４が近づく度に実行される。
【００７５】
・署名付き電子情報検証処理
次に、署名付き電子情報検証処理について説明する。
署名付き電子情報の検証処理は、図８を用いて実施の形態２−１で説明したものと同様に行われる。ただし、センタ署名検証手段１７ａで行われる検証処理がことなるため、ここではその検証処理について図１１を用いて説明する。
【００７６】
*センタ署名検証手段の検証処理
図９に示した更新後のセンタ署名情報ｉ１１を例にとって、以下にその検証処理を説明する。
まず、最初にステップＳ２０〜Ｓ２２で現在のセンタ署名及び過去のセンタ署名ｉ５ｅ、ｆについて、検証処理を行う。ステップＳ２０〜Ｓ２２の処理は、入れ替え可能でどのような順番で実行してもよい。例えば、ステップＳ２２→Ｓ２０→Ｓ２１の順番で実行してもよい。以下にそれぞれの処理について説明する。
【００７７】
ステップＳ２０では、ユーザ側システム１から受け取った再生成ＭＤｉ８を最初に設定されたセンタ署名Ａで検証する。この検証処理は、再生成ＭＤｉ８、有効期限Ａ、センタ公開鍵ＰｃＡ、及びセンタ署名Ａを用いて、実施の形態１で説明したセンタ署名の検証処理と同様に行われ、その検証結果（すなわち、署名Ａ検証結果ｉ２０）が「正当」又は「不正」のいずれかで出力される。例えば、センタ署名Ａをしたときの電子情報ｉ１ａと検証時の電子情報ｉ１ｂとが異なる場合、署名Ａ検証結果ｉ２０は「不正」という値で出力され、ユーザ側システム１に記憶されている電子情報ｉ１ｂの正当性を検証することができる。
【００７８】
ステップＳ２１では、センタ署名Ａ、有効期限Ｂ、センタ署名Ｂ、及びセンタ公開鍵ＰｃＢを用いてセンタ署名Ａ、及び有効期限Ｂが不正に書き換えられていないかどうか正当性を検証する。この検証処理は、ステップＳ２０と同様に行い、署名Ｂ検証結果ｉ２１を得る。
【００７９】
ステップＳ２２では、センタ署名Ｂ、有効期限Ｃ、センタ署名Ｃ、及びセンタ公開鍵ＰｃＣを用いてセンタ署名Ｂ、及び有効期限Ｃが不正に書き換えられていないかどうか正当性を検証する。この検証処理は、ステップＳ２０と同様に行い、署名Ｃ検証結果ｉ２２を得る。
【００８０】
以上の処理では、２回の更新が行われた場合の検証処理を説明したが、ｎ回の更新が行われた場合には、それぞれの更新時に生成したセンタ署名を用いて、前回のセンタ署名ｉ５ｅ及び有効期限ｉ４の正当性をステップＳ２１又はＳ２２と同様に検証する。
【００８１】
次にステップＳ２３に移り、最後に、全ての署名検証結果（すなわち、署名Ａ検証結果ｉ２０、署名Ｂ検証結果ｉ２１、署名Ｃ検証結果ｉ２２）に基づいてセンタ署名検証結果ｉ９ｂを出力する。ここでは、全ての署名検証結果が「正当」を示しているかを判断する。すべて、「正当」を示している場合は、センタ署名検証結果ｉ９ｂとして「正当」を出力する。それ以外場合は、「不正」を出力する。
【００８２】
以上により得られたセンタ署名検証結果ｉ９ｂは、ユーザ側システム１へ送信され、実施例２−１で説明したように電子情報検証結果ｉ１１が求められる。
【００８３】
以上、この実施例によれば、センタ署名を有効期限ｉ４毎に異なる暗号で次々と暗号化し、署名の更新を行うため、長期にわたって署名付き電子情報ｉ６ａが改変されていないことが保証できる。
さらに、署名の更新はセンタ側システム２内で行うため、ユーザ側システム１側の負荷が少ないという利点がある。
また、更新前のセンタ署名を記憶せず、更新後のセンタ署名から生成するため、記憶容量を節約できるという利点がある。
【００８４】
【発明の効果】
この発明は、以上に説明したように構成されているので、以下に記載されるような効果を奏する。
【００８５】
この発明にかかる電子署名方法においては、
ユーザ側システムにおいて、
ユーザ署名手段により電子情報をユーザ秘密鍵を用いて電子署名することにより第１のユーザ署名を生成し、ＭＤ生成手段により上記第１のユーザ署名から第１のメッセージダイジェスト（以下、ＭＤと呼ぶ）を生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤをセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名を上記ユーザ側システムへ送信する第２の送信ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名を受信してこのセンタ署名を上記電子情報及び上記第１のユーザ署名とともに記憶する第１の記憶ステップと、
上記センタ署名の有効期限に基づいた更新時期に、
上記ユーザ側システムにおいて、
上記ユーザ署名手段により上記第１の記憶ステップで記憶された電子情報に基づいて第２のユーザ署名を生成し、上記ＭＤ生成手段により上記第２のユーザ署名から上記第１のＭＤと同じ内容の第２のＭＤを生成し、第１のセンタ署名検証手段により上記第２のＭＤと上記センタ秘密鍵に対応するセンタ公開鍵と上記第１の記憶ステップで記憶されたセンタ署名を用いて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
ユーザ署名検証手段により上記第１の記憶ステップで記憶された電子情報及び第１のユーザ署名と上記ユ−ザ秘密鍵に対応するユーザ公開鍵を用いて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記ユーザ側システムにおいて、
更新制御手段により、上記第１の検証ステップの検証結果と上記第２の検証ステップの検証結果が共に正当であると判断された場合に、ＭＤ生成指示を出力し、
上記ＭＤ生成手段により、上記更新制御手段からのＭＤ生成指示に基づいて上記第１の記憶ステップで記憶されたユーザ署名から第１のＭＤと同じ内容の新ＭＤを生成して上記第１の記憶ステップで記憶されたセンタ署名と共に上記センタ側システムへ送信する第３の送信ステップと、
上記センタ側システムにおいて、
第２のセンタ署名検証手段により上記第３の送信ステップで送信された新ＭＤとセンタ署名とを受信して、上記新ＭＤと上記センタ署名と上記センタ秘密鍵に対応するセンタ公開鍵とを用いて上記電子情報が正当であるか否かを検証する第３の検証ステップと、
上記第３の検証ステップの検証結果が正当であると判断された場合に
上記センタ側システムにおいて、
上記センタ署名手段により上記第新ＭＤを新センタ秘密鍵を用いて署名することにより新センタ署名を生成し、この新センタ署名を上記ユーザ側システムへ送信する第４の送信ステップと、
上記上記ユーザ側システムにおいて、
上記署名付き電子情報生成手段により上記新センタ署名を受信してこの新センタ署名を上記電子情報及び上記ユーザ署名とともに記憶する第２の記憶ステップと、
を備えたため、少ない署名情報で長期間にわたって電子情報の安全性を保つことができる。また、一方のシステム単独で電子情報及び１つの署名情報を改変した場合でも、他の署名情報を新たに生成できないため、その改変を検出することができ、長期間にわたって電子情報の安全性をより高く保つことができる。
【００８６】
また、ユーザ側システムにおいて、ユーザ署名手段により電子情報を秘密鍵を用いて電子署名することによりユーザ署名を生成し、ＭＤ生成手段により上記第１のユーザ署名から第１のＭＤを生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤと有効期限とをセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名と上記有効期限を上記ユーザ側システムへ送信する第２の送信ステップと、
上記有効期限を有効期限保管手段に記憶する第３の記憶ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名と上記有効期限を受信して上記センタ署名と上記有効期限を上記電子情報及び上記第１のユーザ署名とともに記憶する第１の記憶ステップと、
上記第１の署名情報の有効期限に基づいた更新時期に、
上記第２のシステム（センタ側システム）において、
上記有効期限保管手段により期限切れ警告を上記ユーザ側システムへ送信する第５の送信ステップと、
上記ユーザ側システムにおいて、
上記ユーザ署名手段により上記第１の記憶ステップで記憶された電子情報に基づいて第２のユーザ署名を生成し、上記ＭＤ生成手段により上記センタ側システムからの期限切れ警告を受信すると、上記第２のユーザ署名から上記第１のＭＤと同じ内容の第２のＭＤを生成し、第１のセンタ署名検証手段により上記第２のＭＤと上記センタ秘密鍵に対応するセンタ公開鍵と上記第１の記憶ステップで記憶されたセンタ署名と上記有効期限を用いて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
ユーザ署名検証手段により上記センタ側システムからの期限切れ警告を受信すると、上記第１の記憶ステップで記憶された電子情報及び第１のユーザ署名と上記ユ−ザ秘密鍵に対応するユーザ公開鍵を用いて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記第ユーザ側システムにおいて、
更新制御手段により、上記第１の検証ステップの検証結果と上記第２の検証結果が共に正当であると判断された場合に、ＭＤ生成指示を出力し、
上記ＭＤ生成手段により、上記更新制御手段からのＭＤ生成指示に基づいて上記第１の記憶ステップで記憶された第１のユーザ署名から第１のＭＤと同じ内容の新ＭＤを生成して上記第１の記憶ステップで記憶されたセンタ署名と共に上記センタ側システムへ送信する第３の送信ステップと、
上記センタ側システムにおいて、第２のセンタ署名検証手段により上記第３の送信ステップで送信された新ＭＤとセンタ署名とを受信して、上記新ＭＤと上記センタ署名と上記有効期限保管手段からの有効期限と上記センタ秘密鍵に対応するセンタ公開鍵を用いて上記電子情報が正当であるか否かをする第３の検証ステップと、
上記センタ側システムにおいて、
上記センタ署名手段により、上記第３の検証ステップの検証結果が正当であると判断された場合に、上記新ＭＤと新たな有効期限を新センタ秘密鍵を用いて署名することにより新センタ署名を生成し、この新センタ署名を上記新たな有効期限と共に上記ユーザ側システムへ送信する第４の送信ステップと、
上記ユーザ側システムにおいて、
上記署名付き電子情報生成手段が、上記新センタ署名を受信するとこの新センタ署名と上記新たな有効期限を上記電子情報及び上記ユーザ署名とともに記憶する第２の記憶ステップと、
を備えたため、少ない署名情報で長期間にわたって電子情報の安全性を保つことができる。また、一方のシステム単独で電子情報及び１つの署名情報を改変した場合でも、他の署名情報を新たに生成できないため、その改変を検出することができ、長期間にわたって電子情報の安全性をより高く保つことができる。
【００８７】
また、ユーザ側システムにおいて、
ユーザ署名手段により電子情報をユーザ秘密鍵を用いて電子署名することによりユーザ署名を生成し、ＭＤ生成手段により上記ユーザ署名から第１のＭＤを生成し、この第１のＭＤをセンタ側システムへ送信する第１の送信ステップと、
上記センタ側システムにおいて、
センタ署名手段により上記第１のＭＤを受信し、この第１のＭＤをセンタ秘密鍵生成手段により生成されたセンタ秘密鍵を用いて電子署名することによりセンタ署名を生成し、このセンタ署名に識別子を付して上記第１のＭＤと共に署名保管手段に記憶する第４の記憶ステップと、
この第４の記憶ステップで記憶した上記センタ署名の識別子を上記ユーザ側システムへ送信する第２の送信ステップと、
上記ユーザ側システムにおいて、
署名付き電子情報生成手段により上記センタ署名の識別子を受信してこのセンタ署名の識別子を上記電子情報及び上記ユーザ署名とともに記憶する第１の記憶ステップと、
上記センタ署名の有効期限に基づいた更新時期に、
上記ユーザ側システムにおいて、
上記第１の記憶ステップで記憶したセンタ署名の識別子を上記センタ側システムへ送信する第６の送信ステップと、
上記ＭＤ生成手段により、上記第１の記憶ステップで記憶したセンタ署名に基づいて上記第１のＭＤと同じ内容の第２のＭＤを生成し、上記センタ側システムへ送信する第７の送信ステップと、
上記センタ側システムにおいて、
センタ署名検索手段により上記センタ署名の識別子を受信すると、この識別子に基づいて上記署名保管手段に記憶された新センタ署名を検索して取得し、
センタ署名検証手段により上記第２のＭＤを受信すると、この第２のＭＤと上記センタ署名検索手段により取得された新センタ署名に基づいて上記電子情報が正当であるか否かを検証する第１の検証ステップと、
この第１の検証ステップの検証結果を上記ユーザ側システムへ送信する第８の送信ステップと、
上記ユーザ側システムにおいて、
ユーザ署名検証手段により上記第１の記憶ステップで記憶された電子情報及びユーザ署名と上記ユーザ秘密鍵に対応するユーザ公開鍵に基づいて上記電子情報が正当であるか否かを検証する第２の検証ステップと、
上記ユーザ側システムにおいて、
電子情報検証手段により、上記センタ側システムから受信した上記第１の検証ステップの検証結果と上記第２の検証ステップの検証結果が共に正当であると判断された場合に、
上記センタ側システムにおいて、
上記第４の記憶ステップで上記署名保管手段に記憶された第１のＭＤとセンタ秘密鍵生成手段により生成された新センタ秘密鍵に基づいて新センタ署名を生成し、上記署名保管手段に記憶する第５の記憶ステップと、
を備えたため、少ない署名情報で長期間にわたって電子情報の安全性を保つことができる。また、一方のシステム単独で電子情報及び１つの署名情報を改変した場合でも、他の署名情報を新たに生成できないため、その改変を検出することができ、長期間にわたって電子情報の安全性をより高く保つことができる。さらに、更新時にＭＤを送信しないため、更新が高速に行え、かつユーザ側システムにかかる負荷を軽減することができる。
【００８８】
また、電子情報を第３の秘密鍵を用いて署名することにより生成した第３の署名情報又は第１の署名情報の有効期限に基づいた更新時期に第１のシステムが、第３の署名情報を用いて電子情報が正当であるか否かを検証する第２の検証ステップを備え、第１の情報は、第３の署名情報に基づいて生成され、第３の送信ステップは、第２の検証ステップの検証結果が正当であると判断された場合に第１のシステムが、第１の情報に代えて、電子情報を第４の秘密鍵を用いて電子署名することにより生成した第４の署名情報に基づいて生成した第２の情報を第２のシステムへ送信し、第１の検証ステップは、第２のシステムが、第１の署名情報を用いて電子情報が正当であるか否かを検証し、第４の送信ステップは、第１の検証ステップの検証結果が正当であると判断された場合に第２のシステムが、第１の情報に代えて第２の情報を第２の秘密鍵を用いて電子署名することにより生成された第２の署名情報を送信するので、第１のシステム、第２のシステムの両方で電子署名が行われるため、一方のシステム単独で電子情報及び１つの署名情報を改変した場合でも、他の署名情報を新たに生成できないため、その改変を検出することができ、長期間にわたって電子情報の安全性をより高く保つことができる。
【００８９】
また、第１のシステムが、第１のシステム内の電子情報に基づいて生成された第１の情報を第２のシステムへ送信する第１の送信ステップと、第２のシステムが、受信した第１の情報を第１の秘密鍵を用いて電子署名することにより第１の署名情報を生成する第１の生成ステップと、第１の情報と第１の署名情報を第２のシステムに記憶する第１の記憶ステップと、第１の署名情報の有効期限に基づいた更新時期に第２のシステムが、第１の情報を第２の秘密鍵で電子署名することにより第２の署名情報を生成する第２の生成ステップと、第２の署名情報を記憶する第２の記憶ステップと、を備えたため、長期間にわたって電子情報の安全性を保つことができる。
【００９０】
また、第１のシステムが、第１のシステム内の電子情報に基づいて生成された第１の情報を第２のシステムへ送信する第１の送信ステップと、第２のシステムが、受信した第１の情報を第１の秘密鍵を用いて電子署名することにより第１の署名情報を生成する第１の生成ステップと、第１の情報と第１の署名情報を第２のシステムに記憶する第１の記憶ステップと、第１の署名情報の有効期限に基づいた更新時期に第２のシステムが、第１の署名情報を第２の秘密鍵を用いて電子署名することにより第２の署名情報を生成する第２の生成ステップと、第２の署名情報を第２のシステムに記憶する第２の記憶ステップと、を備えたため、長期間にわたって電子情報の安全性を保つことができる。
【図面の簡単な説明】
【図１】  この発明の実施の形態１における電子情報署名システムの署名／更新処理を説明するシーケンス図である。
【図２】  この発明の実施の形態１における電子署名システムの署名処理を説明する機能ブロック図である。
【図３】  この発明の実施の形態１における電子署名システムの検証／更新処理を説明する機能ブロック図である。
【図４】  この発明の実施の形態１における電子署名システムの署名更新処理を説明する機能ブロック図である。
【図５】  この発明の実施の形態２における電子情報署名システムの署名／更新／検証処理を説明するシーケンス図である。
【図６】  この発明の実施例２−１における電子署名システムの署名処理を説明する機能ブロック図である。
【図７】  この発明の実施例２−１における電子署名システムの更新処理を説明する機能ブロック図である。
【図８】  この発明の実施例２−１における電子署名システムの検証処理を説明する機能ブロック図である。
【図９】  この発明の実施例２−１におけるセンタ署名保管手段の記憶内容を示すメモリマップである。
【図１０】  この発明の実施例２−２における電子情報署名システムの署名更新処理を説明する機能ブロック図である。
【図１１】  この発明の実施例２−２における電子署名システムの検証処理を説明するフローチャートである。
【図１２】  従来の電子情報署名装置の構成を説明する機能ブロック図である。
【符号の説明】
１  ユーザ側システム、  ２  センタ側システム、  ３ａ、ｂ  電子情報検証手段、  ４  ユーザ署名手段、  ５  ＭＤ生成手段、  ６  センタ署名手段、  ７  有効期限保管手段、  ８ａ  センタ署名検証手段、  ９  ユーザ署名検証手段、  １０  更新制御手段、  １１  署名付き電子情報生成手段、  １２  センタ署名更新手段、  １３  署名保管手段、  １６  センタ秘密鍵生成手段、  １７  センタ署名検証手段
【図１】
0003724071.tif 000002
【図２】
0003724071.tif 000003
【図３】
0003724071.tif 000004
【図４】
0003724071.tif 000005
【図５】
0003724071.tif 000006
【図６】
0003724071.tif 000007
【図７】
0003724071.tif 000008
【図８】
0003724071.tif 000009
【図９】
0003724071.tif 000010
【図１０】
0003724071.tif 000011
【図１１】
0003724071.tif 000012
【図１２】
0003724071.tif 000013