(57)【要約】      （修正有）【課題】電子署名の有効性を延長する際の処理負荷の軽減。【解決手段】署名延長サーバは、電子署名の有効性の延長の際、延長対象データをハッシュ関数の内部状態の値Ｓに保存する（Ｓ３０５）。また、署名延長サーバは、内部状態の値Ｓを前回の延長の際に保存された値に設定し（Ｓ３０２Ａ）、内部状態の値Ｓを、最後のタイムスタンプトークンに基づいて更新する（Ｓ３０３Ａ、Ｓ３０４）。【選択図】図７
2014204309.tif 000002
【特許請求の範囲】
【請求項１】
署名対象となる署名対象データと該署名対象データに付与された電子署名を示す署名値とを含む複数のデータからなる延長対象データ、のハッシュ値を取得するハッシュ取得手段と、
前記ハッシュ取得手段により取得されたハッシュ値と、タイムスタンプ発行要求をタイムスタンプ発行装置に送信するタイムスタンプ要求手段と、
前記タイムスタンプ要求手段が送信したハッシュ値と時刻を示す時刻データとを含むタイムスタンプトークンデータを、前記タイムスタンプ発行装置から受信するタイムスタンプ受信手段と、
前記タイムスタンプ受信手段により受信されたタイムスタンプトークンデータを、前記延長対象データに追加する署名延長手段と、
を含み、
前記ハッシュ取得手段は、
ハッシュ関数の内部状態を予め定められた内部状態に設定する設定手段と、
前記延長対象データに基づいて、前記ハッシュ関数の内部状態を、前記設定手段により設定された内部状態から更新する状態更新手段と、
予め定められたアルゴリズムに従い、前記状態更新手段により更新された後の内部状態から前記延長対象データのハッシュ値を算出する算出手段と、
前記状態更新手段により更新された後の内部状態を示すデータを新たな内部状態データとして状態記憶手段に記憶させる手段と、を含み、
前記設定手段は、
前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を、前記予め定められた内部状態ではなく、前記状態記憶手段に記憶される内部状態に設定し、
前記状態更新手段は、
前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新することを、前記延長対象データに含まれるタイムスタンプトークンデータに基づいて行うこと、
を特徴とする署名延長装置。
【請求項２】
前記設定手段は、
前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を、前記状態記憶手段に最後に記憶された内部状態に設定し、
前記状態更新手段は、
前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新することを、前記延長対象データに最後に追加されたタイムスタンプトークンデータに基づいて行うこと、
を特徴とする請求項１に記載の署名延長装置。
【請求項３】
署名対象となる署名対象データと該署名対象データに付与された電子署名を示す署名値とを含む複数のデータからなる延長対象データ、のハッシュ値を取得するハッシュ取得手段と、
前記ハッシュ取得手段により取得されたハッシュ値と、タイムスタンプ発行要求をタイムスタンプ発行装置に送信する要求手段と、
前記要求手段が送信したハッシュ値と時刻を示す時刻データとを含むデータを、前記タイムスタンプ発行装置から受信する受信手段と、
前記タイムスタンプ受信手段により受信されたデータを、前記延長対象データに追加する署名延長手段と、
を含み、
前記ハッシュ取得手段は、
ハッシュ関数の内部状態を予め定められた内部状態に設定する設定手段と、
前記延長対象データに基づいて、前記ハッシュ関数の内部状態を、前記設定手段により設定された内部状態から更新する状態更新手段と、
予め定められたアルゴリズムに従い、前記状態更新手段により更新された後の内部状態から前記延長対象データのハッシュ値を算出する算出手段と、
前記状態更新手段により更新された後の内部状態を示すデータを新たな内部状態データとして状態記憶手段に記憶させる手段と、を含み、
前記設定手段は、
前記延長対象データに追加データが存在する場合、前記ハッシュ関数の内部状態を、前記予め定められた内部状態ではなく、前記状態記憶手段に記憶される内部状態に設定し、
前記状態更新手段は、
前記延長対象データに追加データが含まれる場合、前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新することを、前記延長対象データに含まれる追加データに基づいて行うこと、
を特徴とする署名延長装置。
【請求項４】
ハッシュ関数の内部状態を予め定められた内部状態に設定する設定手段、
署名対象となる署名対象データと該署名対象データに付与された電子署名を示す署名値とを含む複数のデータからなる延長対象データ、に基づいて前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新する状態更新手段、
前記状態更新手段により更新された後の内部状態を示すデータを新たな内部状態データとして状態記憶手段に記憶させる手段、
予め定められたアルゴリズムに従い、前記状態更新手段により更新された後の内部状態から前記延長対象データのハッシュ値を算出する算出手段、
前記算出手段により算出されたハッシュ値と、タイムスタンプ発行要求をタイムスタンプ発行装置に送信するタイムスタンプ要求手段、
前記タイムスタンプ要求手段が送信したハッシュ値と時刻を示す時刻データとを含むタイムスタンプトークンデータを、前記タイムスタンプ発行装置から受信するタイムスタンプ受信手段、
前記タイムスタンプ受信手段により受信されたタイムスタンプトークンデータを、前記延長対象データに追加する署名延長手段、
としてコンピュータを機能させるためのプログラムであって、
前記設定手段は、
前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を、前記予め定められた内部状態ではなく、前記状態記憶手段に最後に記憶された内部状態に設定し、
前記状態更新手段は、
前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新することを、前記延長対象データに最後に追加されたタイムスタンプトークンデータに基づいて行うこと、
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、署名延長装置及びプログラムに関する。
【背景技術】
【０００２】
下記特許文献１には、署名付きデータに付加された署名者による署名の有効性を延長する署名延長証書を順次作成する署名延長サーバが記載されている。署名延長サーバは、署名付きデータのハッシュを含み、更に署名を付加されている署名延長証書を入力し、入力した署名延長証書に付加されている署名を検証する。また、署名延長サーバは、入力した署名延長証書のハッシュを計算する。また、署名延長サーバは、計算した署名延長証書のハッシュと、入力した署名延長証書に含まれる署名付きデータのハッシュとを含み、且つ、新たな署名を付加した新署名延長証書、を作成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−０９１３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、電子署名の有効性を延長する際の処理負荷を軽減することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するための請求項１の発明は、署名対象となる署名対象データと該署名対象データに付与された電子署名を示す署名値とを含む複数のデータからなる延長対象データ、のハッシュ値を取得するハッシュ取得手段と、前記ハッシュ取得手段により取得されたハッシュ値と、タイムスタンプ発行要求をタイムスタンプ発行装置に送信するタイムスタンプ要求手段と、前記タイムスタンプ要求手段が送信したハッシュ値と時刻を示す時刻データとを含むタイムスタンプトークンデータを、前記タイムスタンプ発行装置から受信するタイムスタンプ受信手段と、前記タイムスタンプ受信手段により受信されたタイムスタンプトークンデータを、前記延長対象データに追加する署名延長手段と、を含み、前記ハッシュ取得手段は、ハッシュ関数の内部状態を予め定められた内部状態に設定する設定手段と、前記延長対象データに基づいて、前記ハッシュ関数の内部状態を、前記設定手段により設定された内部状態から更新する状態更新手段と、予め定められたアルゴリズムに従い、前記状態更新手段により更新された後の内部状態から前記延長対象データのハッシュ値を算出する算出手段と、前記状態更新手段により更新された後の内部状態を示すデータを新たな内部状態データとして状態記憶手段に記憶させる手段と、を含み、前記設定手段は、前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を、前記予め定められた内部状態ではなく、前記状態記憶手段に記憶される内部状態に設定し、前記状態更新手段は、前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新することを、前記延長対象データに含まれるタイムスタンプトークンデータに基づいて行うこと、を特徴とする署名延長装置である。
【０００６】
また、請求項２に記載の署名延長装置は、請求項１に記載の署名延長装置において、前記設定手段が、前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を、前記状態記憶手段に最後に記憶された内部状態に設定し、前記状態更新手段が、前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新することを、前記延長対象データに最後に追加されたタイムスタンプトークンデータに基づいて行うこと、を特徴とする。
【０００７】
上記課題を解決するための請求項３の発明は、署名対象となる署名対象データと該署名対象データに付与された電子署名を示す署名値とを含む複数のデータからなる延長対象データ、のハッシュ値を取得するハッシュ取得手段と、前記ハッシュ取得手段により取得されたハッシュ値と、タイムスタンプ発行要求をタイムスタンプ発行装置に送信する要求手段と、前記要求手段が送信したハッシュ値と時刻を示す時刻データとを含むデータを、前記タイムスタンプ発行装置から受信する受信手段と、前記タイムスタンプ受信手段により受信されたデータを、前記延長対象データに追加する署名延長手段と、を含み、前記ハッシュ取得手段は、ハッシュ関数の内部状態を予め定められた内部状態に設定する設定手段と、前記延長対象データに基づいて、前記ハッシュ関数の内部状態を、前記設定手段により設定された内部状態から更新する状態更新手段と、予め定められたアルゴリズムに従い、前記状態更新手段により更新された後の内部状態から前記延長対象データのハッシュ値を算出する算出手段と、前記状態更新手段により更新された後の内部状態を示すデータを新たな内部状態データとして状態記憶手段に記憶させる手段と、を含み、前記設定手段は、前記延長対象データに追加データが存在する場合、前記ハッシュ関数の内部状態を、前記予め定められた内部状態ではなく、前記状態記憶手段に記憶される内部状態に設定し、前記状態更新手段は、前記延長対象データに追加データが含まれる場合、前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新することを、前記延長対象データに含まれる追加データに基づいて行うこと、を特徴とする署名延長装置である。
【０００８】
上記課題を解決するための請求項４の発明は、ハッシュ関数の内部状態を予め定められた内部状態に設定する設定手段、署名対象となる署名対象データと該署名対象データに付与された電子署名を示す署名値とを含む複数のデータからなる延長対象データ、に基づいて前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新する状態更新手段、前記状態更新手段により更新された後の内部状態を示すデータを新たな内部状態データとして状態記憶手段に記憶させる手段、予め定められたアルゴリズムに従い、前記状態更新手段により更新された後の内部状態から前記延長対象データのハッシュ値を算出する算出手段、前記算出手段により算出されたハッシュ値と、タイムスタンプ発行要求をタイムスタンプ発行装置に送信するタイムスタンプ要求手段、前記タイムスタンプ要求手段が送信したハッシュ値と時刻を示す時刻データとを含むタイムスタンプトークンデータを、前記タイムスタンプ発行装置から受信するタイムスタンプ受信手段、前記タイムスタンプ受信手段により受信されたタイムスタンプトークンデータを、前記延長対象データに追加する署名延長手段、としてコンピュータを機能させるためのプログラムであって、前記設定手段は、前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を、前記予め定められた内部状態ではなく、前記状態記憶手段に最後に記憶された内部状態に設定し、前記状態更新手段は、前記延長対象データにタイムスタンプトークンデータが含まれる場合、前記ハッシュ関数の内部状態を前記設定手段により設定された内部状態から更新することを、前記延長対象データに最後に追加されたタイムスタンプトークンデータに基づいて行うこと、を特徴とするプログラムである。
【発明の効果】
【０００９】
請求項１、３、４の発明によれば、電子署名の有効性を延長する際の処理負荷を軽減できる。
【００１０】
請求項２の発明によれば、本構成を有しない場合と比較して、電子署名の有効性を延長する際の処理負荷を、より軽減できる。
【図面の簡単な説明】
【００１１】
【図１】署名延長サーバのハードウェア構成を示す図である。
【図２】延長対象データの一例を示す図である。
【図３】署名延長サーバとタイムスタンプ局サーバとの間で行われる処理の一例を示すシーケンス図である。
【図４Ａ】延長対象データの一例を示す図である。
【図４Ｂ】延長対象データの一例を示す図である。
【図４Ｃ】延長対象データの一例を示す図である。
【図５】ハッシュ値取得ルーチンの一例を示すフロー図である。
【図６】内部状態列の一例を示す図である。
【図７】ハッシュ値取得ルーチンの一例を示すフロー図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【００１３】
図１は、本発明の実施形態に係る署名延長装置のハードウェア構成を示す図である。本実施形態の場合、署名延長装置は、サーバコンピュータである署名延長サーバ２として実現される。本実施形態の場合、署名延長サーバ２は医療機関（例えば病院）に設置され、制御部２ａ、主記憶２ｂ、ハードディスク２ｃ、及びネットワークインタフェース２ｄ等を備える。
【００１４】
制御部２ａは、マイクロプロセッサであり、主記憶２ｂに格納される署名延長プログラムに従って各種情報処理を実行する。主記憶２ｂは、ＲＯＭ及びＲＡＭによって実現され、署名延長プログラムの他、各種情報処理に必要な情報を格納する。ここで、署名延長プログラムは、コンピュータ読み取り可能な情報記憶媒体（例えば、ＤＶＤ（登録商標）−ＲＯＭ）から読み出されて主記憶２ｂに格納される。署名延長プログラムは、ネットワークを介してダウンロードされて主記憶２ｂに格納されてもよい。
【００１５】
また、ハードディスク２ｃには、各種情報が格納される。本実施形態の場合、ハードディスク２ｃには、複数の延長対象データが記憶される。
【００１６】
図２は、延長対象データの一例を示す図である。同図に示すように、延長対象データは、電子文書と、署名値と、を含む複数のデータからなる。すなわち、延長対象データは、電子文書及び署名値の他に、属性情報、署名タイムスタンプ、証明書ＣＲＬ参照データ、及び証明書ＣＲＬ実データなどを含む。電子文書に付与された電子署名の有効期限が延長されている場合、後述するタイムスタンプトークン（以下、ＴＳＴと表記する）が延長対象データに含まれる。ここでは、電子署名の有効期限が延長されていない場合を想定しているため、図２では、延長対象データにＴＳＴが含まれていない。延長対象データは、いわゆる長期署名フォーマット（例えば、CAdES）のデータであり、これら複数のデータを連結して保持している。なお、ＣＲＬは、Certificate Revocation Listの略である。
【００１７】
なお、電子文書は、署名対象のデータであり、ここでは、患者の診療記録が記載された紙文書のスキャン画像を示す画像データである。なお、電子文書は、文書作成アプリケーションにより作成された文書データであってもよい。署名値は、電子文書に付与された電子署名を示す。署名値は、電子文書から生成されたハッシュ値を秘密鍵で暗号化してなる値である。また、属性情報は、署名値の属性を示す。また、署名タイムスタンプは、署名値から生成されるハッシュ値をタイムスタンプ局サーバ４（以下、ＴＳＡ４と表記する）に送信することでＴＳＡ４から受信されるデータである。署名タイムスタンプは、ハッシュ値と、ＴＳＡ４がハッシュ値を受信した時刻と、から秘密鍵を用いて生成された電子署名を示す。また、証明書ＣＲＬ実データは、署名値を検証するために必要な証明書パス及びＣＲＬの実データであり、証明書ＣＲＬ参照データは、証明書パス及びＣＲＬの参照先を示すデータである。
【００１８】
次に、ネットワークインタフェース２ｄについて説明する。ネットワークインタフェース２ｄは、署名延長サーバ２をネットワークと通信可能に接続するためのインタフェースである。ネットワークインタフェース２ｄは、制御部２ａの命令に従って情報をネットワークに送信する。また、ネットワークインタフェース２ｄは、ネットワークから受信した情報を、制御部２ａに渡す。
【００１９】
ネットワークインタフェース２ｄにより、署名延長サーバ２は、ネットワークを介してＴＳＡ４と通信可能に接続されている。
【００２０】
ＴＳＡ４は、図示していない時刻源と接続されている。ＴＳＡ４の意義については後述する。
【００２１】
署名延長サーバ２は、電子文書に付与された電子署名の有効性の延長を行う。すなわち、署名延長サーバ２は、ＴＳＡ４との間で図３のシーケンス図に示す処理を実行することにより、電子文書に付与された電子署名の有効性の延長を行う。すなわち、制御部２ａ（ハッシュ値取得手段、タイムスタンプ要求手段）は、例えば電子文書に付与された電子署名の有効期限が切れる前に、後述するハッシュ値取得ルーチンを実行することにより、延長対象データのハッシュ値を取得し（Ｓ１０１）、取得したハッシュ値とタイムスタンプ発行要求をＴＳＡ４に送信する（Ｓ１０２）。
【００２２】
そして、ハッシュ値を受信したＴＳＡ４は、受信したハッシュ値に基づいてＴＳＴを生成し（Ｓ１０３）、生成したＴＳＴを署名延長サーバ２に送信する（Ｓ１０４）。すなわち、Ｓ１０３でＴＳＡ４は、上記時刻源から現在時刻を示す時刻データを取得する。そして、ＴＳＡ４は、署名延長サーバ２から受信したハッシュ値と時刻データとを含むデータを生成し、生成したデータを予め定められたハッシュ関数（ここでは、SHA256）に代入してハッシュ値を算出する。そして、ＴＳＡ４は、算出したハッシュ値をＴＳＡ４の秘密鍵で暗号化してＴＳＡ署名を生成し、生成したＴＳＡ署名と上記データとを含む上記ＴＳＴを生成する。なお、ＴＳＴは、アーカイブタイムスタンプとも呼ばれる。
【００２３】
その後、ＴＳＴを受信した署名延長サーバ２において、制御部２ａは、ＴＳＴに基づいて、ハードディスク２ｃに記憶される延長対象データを更新する（Ｓ１０５）。すなわち、Ｓ１０５で制御部２ａ（署名延長手段）は、延長対象データにＴＳＴを追加する。ＴＳＴは最後尾のデータとして追加される。追加されたＴＳＴの有効期限まで、電子文書に付与された電子署名の有効性が延長される。
【００２４】
図４Ａは、電子文書に付与された電子署名の有効性が延長されたときの延長対象データを示す。同図に示すように、延長対象データに、ＴＳＴ（１）が含まれる。なお、括弧内の数字は、ＴＳＴ（１）が一番目に追加されたタイムスタンプトークンであることを示す。
【００２５】
また、署名延長サーバ２は、ＴＳＡ４との間で図３のシーケンス図に示す処理を再実行することにより、電子文書に付与された電子署名の有効性の再延長も行う。本実施形態の場合、署名延長サーバ２は、延長対象データに最後に追加されたＴＳＴの有効期限が切れる前に、ＴＳＡ４との間で図３のシーケンス図に示す処理を実行する。こうすることで、署名延長サーバ４は、延長対象データに新たなＴＳＴを追加し、これにより、電子文書に付与された電子署名の有効性の再延長を行う。図４Ｂは、最後のＴＳＴがＴＳＴ（１）であるときに図３に示す処理が実行された後の延長対象データを示す。同図に示すように、ＴＳＴ（２）が追加されている。これは、延長が二回行われたことを示す。また、図４Ｃは、最後のＴＳＴがＴＳＴ（Ｎ−１）であるときに図３に示す処理が実行された後の延長対象データを示す。同図に示すように、ＴＳＴ（Ｎ）が追加されている。これは、延長がＮ回行われたことを示す。
【００２６】
次に、ハッシュ値取得ルーチンについて説明する。図５は、ハッシュ値取得ルーチンを示すフロー図である。図５に示すハッシュ値取得ルーチンは、延長対象データにＴＳＴが一つも含まれない場合、すなわち、一回目の延長で行われる。
【００２７】
まず、制御部２ａは、ハードディスク２ｃから延長対象データを読み出す（Ｓ３０１）。そして、制御部２ａ（設定手段）は、ハッシュ関数（ここでは、SHA256）の内部状態の値Ｓを、予め定められている値ＳINIに設定する（Ｓ３０２）。また、制御部２ａ（状態更新手段）は、Ｓ３０１で読み出した延長対象データを、先頭から、予め定められたデータ長のデータ複数からなるデータ列ｂ［１］、ｂ［２］、・・・［ｍ］に分割する（Ｓ３０３）。本実施形態では、内部状態の値Ｓは、３２ビットの符号無し整数であり、値ＳINIは「０」である。
【００２８】
そして、制御部２ａ（状態更新手段）は、上記データ列に含まれるデータ一つ一つについて先頭のデータから順番にＳ３０３のステップを実行することにより、内部状態の値Ｓを更新する。すなわち、Ｓ３０３で制御部２ａは、内部状態の値Ｓと、データｂ［ｉ］と、を予め定められた状態関数Ｆ（Ｓ、ｂ［ｉ］）に代入し、状態関数Ｆ（Ｓ、ｂ［ｉ］）の関数値で内部状態の値Ｓを更新する。
【００２９】
例えば、Ｓ３０３で制御部２ａは、以下に説明する処理を行う。すなわち、制御部２ａは、内部状態の値Ｓの最上位ビットが「０」であるか否かを判定し、値Ｓの最上位ビットが「０」である場合、「２＊Ｓ＋ｂ［ｉ］」を状態関数Ｆ（Ｓ、ｂ［ｉ］）の関数値として取得する。ここで、演算子「＊」は、符号無しの整数の乗算を表す。一方、制御部２ａは、値Ｓの最上位ビットが「０」でない場合、「（２＊Ｓ＋ｂ［ｉ］）＾Ｐ」を状態関数Ｆ（Ｓ、ｂ［ｉ］）の関数値として取得する。ここで、演算子「＾」はビット単位の排他的論理和演算を表し、Ｐは予め定められた固定のワードである。
【００３０】
そして、制御部２ａは、Ｓ３０３のステップにより更新された後の内部状態の値Ｓを、ハードディスク２ｃ（状態記憶手段）に保存する（Ｓ３０４）。ここでは、制御部２ａは、更新後の内部状態の値Ｓを、内部状態の値Ｓのデータ列である内部状態列の最後の要素として保存する。図６は、内部状態列の一例を示す。括弧内の数字は、値Ｓが何番目の要素であるかを示す。図５に示すハッシュ値取得ルーチンは、一回目の延長で行われるので、内部状態列には、Ｓ（１）のみが含まれることとなる。
【００３１】
また、制御部２ａ（算出手段）は、所定のアルゴリズムに従って、更新後の内部状態の値Ｓから延長対象データのハッシュ値を算出する（Ｓ３０６）。すなわち、制御部２ａは、更新後の内部状態の値Ｓを予め定められた整数「ｎ」で除算したときの余りを算出する。
【００３２】
ところで、二回目以降の延長においても、図５に示すハッシュ値取得ルーチンにより、延長対象データのハッシュ値を取得してよいように思われる。
【００３３】
しかしながら、図５に示すハッシュ値取得ルーチンでは、延長対象データの全部がハッシュ計算に用いられる。そのため、例えば、電子文書のデータサイズが大きい場合、延長の度に、多量の処理負荷が掛かることになる。
【００３４】
この点、署名延長サーバ２では、延長対象データにＴＳＴが含まれる場合、すなわち二回目以降の延長において、図５に示すハッシュ値取得ルーチンの代わりに、図７に示すハッシュ値取得ルーチンが実行されるようになっている。これにより、電子文書に付与された電子署名の有効性の延長の際の処理負荷が軽減されるよう図られている。
【００３５】
すなわち、二回目以降の延長でも、制御部２ａは、上述したＳ３０１のステップの処理を実行する。但し、制御部２ａ（状態設定手段）は、Ｓ３０１のステップの後、Ｓ３０２のステップの処理の代わりに、Ｓ３０２Ａのステップの処理を実行する。すなわち、Ｓ３０２Ａで制御部２ａは、内部状態の値Ｓを、値ＳＩＮＩではなく、内部状態列のうちの最後の値ＳＦＩＮＡＬに設定する。また、制御部２ａ（状態更新手段）は、Ｓ３０２Ａのステップの後、Ｓ３０３のステップの処理の代わりに、Ｓ３０３Ａのステップの処理を実行する。すなわち、Ｓ３０３Ａで制御部２ａは、Ｓ３０１で読み出した延長対象データ全体を分割して上記データ列ｂ［１］、ｂ［２］、・・・［ｍ］を得るのではなく、当該延長対象データのうちの最後尾のＴＳＴ（延長対象データに最後に追加されたＴＳＴ）を先頭から分割して上記データ列ｂ［１］、ｂ［２］、・・・［ｍ］を得る。そして、制御部２ａ（状態更新手段）は、一回目の延長の際と同様に、上述したＳ３０４のステップの処理を実行する。また、制御部２ａは、上述したＳ３０５及びＳ３０６のステップの処理を実行する。
【００３６】
図７に示すハッシュ値取得ルーチンにより、二回目以降の延長では、延長対象データ全部ではなく、内部状態の値ＳとＴＳＴだけがハッシュ計算に用いられる。そのため、二回目以降の延長における処理負荷が軽減される。
【００３７】
例えば、病院に１００００人の患者がおり、患者一人当たり１０００個の文書がある場合を想定する。ｅ−文書法のガイドラインでは、電子保管のための要件として、解像度３００ｄｐｉ以上のフルカラースキャンが挙げられており、電子文書一つ当たりのデータサイズは、約１３９キロバイトとなる。また、例えば、ハッシュ関数SHA256で得られる内部状態の値Ｓは約３キロバイトとなる。そのため、延長の度に図５に示すハッシュ値取得ルーチンが実行される場合、二回目以降の延長一回当たり、概ね「１００００×１０００×１３９キロバイト」（すなわち、１．３９テラバイト）のデータ量がハッシュ計算に用いられることになる。この点、この署名延長サーバ２では、ハッシュ計算に用いられる二回目以降の延長一回当たりのデータ量が、概ね「１００００×１０００×３キロバイト」（すなわち、３０ギガバイト）と、大幅に軽減される。
【００３８】
なお、本発明の実施形態は、上記実施形態だけに限らない。例えば、ハッシュ関数は、SHA256以外のハッシュ関数であってもよい。
【００３９】
また、例えば、上記実施形態では、制御部２ａは、図５のハッシュ値取得ルーチンを一回目の延長で行い、図７のハッシュ値取得ルーチンを二回目以降の延長で行っている。しかしながら、Ｌ（Ｌは２以上の整数）回目の延長まで図５のハッシュ値取得ルーチンが実行され、「Ｌ＋１」回目以降の延長から図７のハッシュ値取得ルーチンが実行されてもよい。
【００４０】
また、例えば、図７に示すハッシュ値取得ルーチンにおいて、Ｓ３０５のステップが省略されてもよい。この場合、一回目の延長で得られた内部状態の値Ｓだけが内部状態列に格納されるため、Ｓ３０２Ａにおいて、一回目の延長で得られた値が常に内部状態の値Ｓとして設定されることとなる。そのため、Ｓ３０４で制御部２ａが、ＴＳＴ（１）以降の全部のＴＳＴからなるデータに基づいて、内部状態の値Ｓを更新するようにすればよい。すなわち、Ｓ３０３Ａで制御部２ａ（状態更新手段）が、ＴＳＴ（１）以降の全部のＴＳＴからなる上記データを、先頭からデータ列ｂ［１］、ｂ［２］、・・・［ｍ］に分割すればよい。
【符号の説明】
【００４１】
２  署名延長サーバ、２ａ  制御部、２ｂ  主記憶、２ｃ  ハードディスク、２ｄ  ネットワークインタフェース、４  タイムスタンプ局サーバ。
【図１】
2014204309.tif 000003
【図２】
2014204309.tif 000004
【図３】
2014204309.tif 000005
【図４Ａ】
2014204309.tif 000006
【図４Ｂ】
2014204309.tif 000007
【図４Ｃ】
2014204309.tif 000008
【図５】
2014204309.tif 000009
【図６】
2014204309.tif 000010
【図７】
2014204309.tif 000011