(57)【特許請求の範囲】
【請求項１】
異なる長期署名方式であるＸＡｄＥＳおよびＰＡｄＥＳに対応するＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを原本データに対して取得する電子署名データ取得手段と、
前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の当該電子署名データに対して各々発行されたタイムスタンプを取得するタイムスタンプ取得手段と、
所定のサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データと各々の前記タイムスタンプを検証する検証情報を取得する検証情報取得手段と、
前記原本データ、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データ、各々の前記タイムスタンプ、前記検証情報の非改竄性を確認するためのＸＡｄＥＳ用およびＰＡｄＥＳ用の各々の長期署名対象データを、前記原本データに対して並行して取得する長期署名対象データ取得手段と、
前記取得した各々の長期署名対象データを所定のサーバに送信し、当該各々の長期署名対象データに対して各々発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得手段と、
を具備したことを特徴とする長期署名用端末。
【請求項２】
前記タイムスタンプ取得手段は、ＸＡｄＥＳ用の前記電子署名データとＸＡｄＥＳ用の前記タイムスタンプとを含み、所定のサーバで生成されたＸＡｄＥＳ−Ｔと、ＰＡｄＥＳ用の前記タイムスタンプとを、所定のサーバから並行して取得し、
前記長期署名データ取得手段は、所定のサーバによってＸＡｄＥＳ用の前記長期署名対象データにＸＡｄＥＳ用の前記アーカイブタイムスタンプを付与されたＸＡｄＥＳ用の前記長期署名データと、ＰＡｄＥＳ用の前記アーカイブタイムスタンプとを所定のサーバから並行して取得するとともに、ＰＡｄＥＳ用の前記長期署名対象データにＰＡｄＥＳ用の前記アーカイブタイムスタンプを付与されたＰＡｄＥＳ用の前記長期署名データを生成して取得する
ことを特徴とする請求項１に記載の長期署名用端末。
【請求項３】
前記原本データはＰＤＦ形式のデータであり、
前記電子署名データ取得手段は、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データを、共通の１つの前記ＰＤＦ形式のデータから取得することを特徴とする請求項１、又は請求項２に記載の長期署名用端末。
【請求項４】
ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同一のタイムスタンプ用秘密鍵でタイムスタンプが付与されており、
前記検証情報取得手段は、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データに対して共通な一の検証情報を取得することを特徴とする請求項１、請求項２、又は請求項３に記載の長期署名用端末。
【請求項５】
前記原本データが複数の場合、前記原本データごとに前記長期署名方式を指定する指定手段を具備し、
前記長期署名データ取得手段は、前記指定した長期署名方式による長期署名データを取得することを特徴とする請求項１、請求項２、請求項３、又は請求項４に記載の長期署名用端末。
【請求項６】
前記タイムスタンプ取得手段と、前記検証情報取得手段と、前記長期署名データ取得手段のうちの少なくとも２つは、同一のサーバと通信することを特徴とする請求項１、請求項２、請求項３、請求項４、又は請求項５に記載の長期署名用端末。
【請求項７】
長期署名用端末から、原本データに対して生成された、異なる長期署名方式であるＸＡｄＥＳおよびＰＡｄＥＳに対応するＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを取得する電子署名データ取得手段と、
ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データをタイムスタンプサーバに送信して、当該タイムスタンプサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の当該電子署名データごとに発行されたタイムスタンプを各々取得するタイムスタンプ取得手段と、
前記取得した各々のタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信手段と、
前記取得したＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データと各々のタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信手段と、
前記原本データに対して生成された、前記原本データ、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データ、各々の前記タイムスタンプ、前記検証情報の非改竄性を確認するためのＸＡｄＥＳ用およびＰＡｄＥＳ用の各々の長期署名対象データを前記長期署名用端末から並行して取得する長期署名対象データ取得手段と、
前記取得した各々の長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに各々発行されたアーカイブタイムスタンプを取得するアーカイブタイムスタンプ取得手段と、
前記取得した各々のアーカイブタイムスタンプを前記長期署名用端末に送信するアーカイブタイムスタンプ送信手段と、
を具備したことを特徴とする長期署名用サーバ。
【請求項８】
前記タイムスタンプ送信手段は、ＸＡｄＥＳ用の前記電子署名データとＸＡｄＥＳ用の前記タイムスタンプとを含むＸＡｄＥＳ−Ｔを生成するとともに、前記ＸＡｄＥＳ−Ｔと、ＰＡｄＥＳ用の前記タイムスタンプとを並行して送信し、
前記アーカイブタイムスタンプ送信手段は、ＸＡｄＥＳ用の前記長期署名対象データにＸＡｄＥＳ用の前記アーカイブタイムスタンプを付与してＸＡｄＥＳ用の前記長期署名データを生成するとともに、ＸＡｄＥＳ用の前記長期署名データと、ＰＡｄＥＳ用の前記アーカイブタイムスタンプとを所定のサーバから並行して送信する
ことを特徴とする請求項７に記載の長期署名用サーバ。
【請求項９】
ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、各々の前記タイムスタンプは、同一のタイムスタンプ用秘密鍵でタイムスタンプが付与されており、
前記検証情報送信手段は、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データに対して共通な一の検証情報を収集して前記長期署名用端末に送信することを特徴とする請求項７、又は請求項８に記載の長期署名用サーバ。
【請求項１０】
異なる長期署名方式であるＸＡｄＥＳおよびＰＡｄＥＳに対応するＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを原本データに対して取得する電子署名データ取得機能と、
前記取得したＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを所定のサーバに送信し、当該所定のサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の当該電子署名データに対して各々発行されたタイムスタンプを取得するタイムスタンプ取得機能と、
所定のサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データと各々の前記タイムスタンプを検証する検証情報を取得する検証情報取得機能と、
前記原本データ、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データ、各々の前記タイムスタンプ、前記検証情報の非改竄性を確認するためのＸＡｄＥＳ用およびＰＡｄＥＳ用の各々の長期署名対象データを、前記原本データに対して並行して取得する長期署名対象データ取得機能と、
前記取得した各々の長期署名対象データを所定のサーバに送信し、当該各々の長期署名対象データに対して各々発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得機能と、
をコンピュータで実現する長期署名用端末プログラム。
【請求項１１】
前記タイムスタンプ取得機能は、ＸＡｄＥＳ用の前記電子署名データとＸＡｄＥＳ用の前記タイムスタンプとを含む、所定のサーバで生成されたＸＡｄＥＳ−Ｔと、ＰＡｄＥＳ用の前記タイムスタンプとを所定のサーバから並行して取得し、
前記長期署名データ取得機能は、所定のサーバによってＸＡｄＥＳ用の前記長期署名対象データにＸＡｄＥＳ用の前記アーカイブタイムスタンプを付与されたＸＡｄＥＳ用の前記長期署名データと、ＰＡｄＥＳ用の前記アーカイブタイムスタンプとを所定のサーバから並行して取得するとともに、ＰＡｄＥＳ用の前記長期署名対象データにＰＡｄＥＳ用の前記アーカイブタイムスタンプを付与されたＰＡｄＥＳ用の前記長期署名データを生成して取得することを特徴とする請求項１０に記載の長期署名用端末プログラム。
【請求項１２】
長期署名用端末から、原本データに対して生成された、異なる長期署名方式であるＸＡｄＥＳおよびＰＡｄＥＳに対応するＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを取得する電子署名データ取得機能と、
前記取得したＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データをタイムスタンプサーバに送信して、当該タイムスタンプサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の当該電子署名データごとに発行されたタイムスタンプを各々取得するタイムスタンプ取得機能と、
前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信機能と、
前記取得したＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データと各々のタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信機能と、
前記原本データに対して生成された、前記原本データ、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データ、各々の前記タイムスタンプ、前記検証情報の非改竄性を確認するためのＸＡｄＥＳ用およびＰＡｄＥＳ用の各々の長期署名対象データを前記長期署名用端末から並行して取得する長期署名対象データ取得機能と、
前記取得した各々の長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに各々発行されたアーカイブタイムスタンプを取得するアーカイブタイムスタンプ取得機能と、
前記取得した各々のアーカイブタイムスタンプを前記長期署名用端末に送信するアーカイブタイムスタンプ送信手段と、
をコンピュータで実現する長期署名用サーバプログラム。
【請求項１３】
前記タイムスタンプ送信機能は、ＸＡｄＥＳ用の前記電子署名データとＸＡｄＥＳ用の前記タイムスタンプとを含むＸＡｄＥＳ−Ｔを生成するとともに、前記ＸＡｄＥＳ−Ｔと、ＰＡｄＥＳ用の前記タイムスタンプとを並行して送信し、
前記アーカイブタイムスタンプ送信機能は、ＸＡｄＥＳ用の前記長期署名対象データにＸＡｄＥＳ用の前記アーカイブタイムスタンプを付与してＸＡｄＥＳ用の前記長期署名データを生成するとともに、ＸＡｄＥＳ用の前記長期署名データと、ＰＡｄＥＳ用の前記アーカイブタイムスタンプとを所定のサーバから並行して送信することを特徴とする請求項１２に記載の長期署名用サーバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、長期署名用端末、長期署名用サーバ、長期署名用端末プログラム、及び長期署名用サーバプログラムに関し、例えば、長期署名データを作成するものに関する。
【背景技術】
【０００２】
電子データの非改竄性（真正）を証明するために、電子データを秘密鍵で暗号化することにより電子署名を行い、当該秘密鍵に対応する公開鍵で電子データを復号化することにより検証する電子署名が広く利用されている。
電子データを公開鍵で復号化することにより、当該電子データは当該公開鍵に対応する秘密鍵で暗号化されたことを確認できるが、当該秘密鍵を有しているのは署名者であるので、当該電子データが当該署名者によるものであると認定することができる。例えるなら、秘密鍵は印鑑として機能し、公開鍵は印鑑証明書として機能している。
公開鍵は、認証局が発行する公開鍵証明書により配布され、配布を受けたものは当該証明書により公開鍵の真正を確認できるようになっている。
【０００３】
ところで、電子署名は、署名などに用いた暗号アルゴリズムの危殆化などに対処するため有効期限が設定されている。
また、有効期限前であっても、署名者の都合で失効したり、秘密鍵の遺漏などによりルート証明書以下の全ての証明書が失効する場合もある。
そこで、この問題に対処するため、特許文献１に示されているように、電子署名の有効性を永続させるための電子署名フォーマット（以下、長期署名フォーマット）が規定されている。
【０００４】
長期署名フォーマットでは、原本データと電子署名に対して、電子署名よりも有効期限の長いタイムスタンプであるアーカイブタイムスタンプを付与することにより、電子署名の有効期限が経過した後も電子データの正当性を保証する。
そして、当該アーカイブタイムスタンプの有効期限が経過する前に、当該アーカイブタイムスタンプよりも有効期限が長い第２世代のアーカイブタイムスタンプを付与することにより有効期限を延長する。以下、第３世代、第４世代、・・・、と有効期限を延長していくことにより、原本データの非改竄性の検証が長期に渡って可能となる。
【０００５】
従来は、長期署名サービスの提供を受けるためには、ユーザは、署名用の秘密鍵や原本データを長期署名サービス事業者に渡す必要があり、機密情報（秘密鍵、原本データ）を外部に出さなくてはならないという問題があった。
若しくは、機密情報をユーザ側に保持したまま複数の原本データに長期署名を行いたい、つまり、ユーザが長期署名サービスの提供を受けずに長期署名する場合には、ユーザ側に長期署名システムを構築し、証明書の管理、タイムスタンプ取得、失効情報取得などの運用を行う必要があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００３−５３３９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、ユーザ側に機密情報を保持したまま、複数の原本データに対して長期署名を行うことを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記目的を達成するために、請求項１に記載の発明では、異なる長期署名方式であるＸＡｄＥＳおよびＰＡｄＥＳに対応するＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを原本データに対して取得する電子署名データ取得手段と、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の当該電子署名データに対して各々発行されたタイムスタンプを取得するタイムスタンプ取得手段と、所定のサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データと各々の前記タイムスタンプを検証する検証情報を取得する検証情報取得手段と、前記原本データ、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データ、各々の前記タイムスタンプ、前記検証情報の非改竄性を確認するためのＸＡｄＥＳ用およびＰＡｄＥＳ用の各々の長期署名対象データを、前記原本データに対して並行して取得する長期署名対象データ取得手段と、前記取得した各々の長期署名対象データを所定のサーバに送信し、当該各々の長期署名対象データに対して各々発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得手段と、を具備したことを特徴とする長期署名用端末を提供する。
請求項２に記載の発明では、前記タイムスタンプ取得手段は、ＸＡｄＥＳ用の前記電子署名データとＸＡｄＥＳ用の前記タイムスタンプとを含み、所定のサーバで生成されたＸＡｄＥＳ−Ｔと、ＰＡｄＥＳ用の前記タイムスタンプとを、所定のサーバから並行して取得し、前記長期署名データ取得手段は、所定のサーバによってＸＡｄＥＳ用の前記長期署名対象データにＸＡｄＥＳ用の前記アーカイブタイムスタンプを付与されたＸＡｄＥＳ用の前記長期署名データと、ＰＡｄＥＳ用の前記アーカイブタイムスタンプとを所定のサーバから並行して取得するとともに、ＰＡｄＥＳ用の前記長期署名対象データにＰＡｄＥＳ用の前記アーカイブタイムスタンプを付与されたＰＡｄＥＳ用の前記長期署名データを生成して取得することを特徴とする請求項１に記載の長期署名用端末を提供する。
請求項３に記載の発明では、前記原本データはＰＤＦ形式のデータであり、前記電子署名データ取得手段は、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データを、共通の１つの前記ＰＤＦ形式のデータから取得することを特徴とする請求項１、又は請求項２に記載の長期署名用端末を提供する。
請求項４に記載の発明では、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同一のタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報取得手段は、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データに対して共通な一の検証情報を取得することを特徴とする請求項１、請求項２、又は請求項３に記載の長期署名用端末を提供する。
請求項５に記載の発明では、前記原本データが複数の場合、前記原本データごとに前記長期署名方式を指定する指定手段を具備し、前記長期署名データ取得手段は、前記指定した長期署名方式による長期署名データを取得することを特徴とする請求項１、請求項２、請求項３、又は請求項４に記載の長期署名用端末を提供する。
請求項６に記載の発明では、前記タイムスタンプ取得手段と、前記検証情報取得手段と、前記長期署名データ取得手段のうちの少なくとも２つは、同一のサーバと通信することを特徴とする請求項１、請求項２、請求項３、請求項４、又は請求項５に記載の長期署名用端末を提供する。
請求項７に記載の発明では、長期署名用端末から、原本データに対して生成された、異なる長期署名方式であるＸＡｄＥＳおよびＰＡｄＥＳに対応するＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを取得する電子署名データ取得手段と、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データをタイムスタンプサーバに送信して、当該タイムスタンプサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の当該電子署名データごとに発行されたタイムスタンプを各々取得するタイムスタンプ取得手段と、前記取得した各々のタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信手段と、前記取得したＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データと各々のタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信手段と、前記原本データに対して生成された、前記原本データ、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データ、各々の前記タイムスタンプ、前記検証情報の非改竄性を確認するためのＸＡｄＥＳ用およびＰＡｄＥＳ用の各々の長期署名対象データを前記長期署名用端末から並行して取得する長期署名対象データ取得手段と、前記取得した各々の長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに各々発行されたアーカイブタイムスタンプを取得するアーカイブタイムスタンプ取得手段と、前記取得した各々のアーカイブタイムスタンプを前記長期署名用端末に送信するアーカイブタイムスタンプ送信手段と、を具備したことを特徴とする長期署名用サーバを提供する。
請求項８に記載の発明では、前記タイムスタンプ送信手段は、ＸＡｄＥＳ用の前記電子署名データとＸＡｄＥＳ用の前記タイムスタンプとを含むＸＡｄＥＳ−Ｔを生成するとともに、前記ＸＡｄＥＳ−Ｔと、ＰＡｄＥＳ用の前記タイムスタンプとを並行して送信し、前記アーカイブタイムスタンプ送信手段は、ＸＡｄＥＳ用の前記長期署名対象データにＸＡｄＥＳ用の前記アーカイブタイムスタンプを付与してＸＡｄＥＳ用の前記長期署名データを生成するとともに、ＸＡｄＥＳ用の前記長期署名データと、ＰＡｄＥＳ用の前記アーカイブタイムスタンプとを所定のサーバから並行して送信することを特徴とする請求項７に記載の長期署名用サーバを提供する。
請求項９に記載の発明では、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、各々の前記タイムスタンプは、同一のタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報送信手段は、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データに対して共通な一の検証情報を収集して前記長期署名用端末に送信することを特徴とする請求項７、又は請求項８に記載の長期署名用サーバを提供する。
請求項１０に記載の発明では、異なる長期署名方式であるＸＡｄＥＳおよびＰＡｄＥＳに対応するＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを原本データに対して取得する電子署名データ取得機能と、前記取得したＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを所定のサーバに送信し、当該所定のサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の当該電子署名データに対して各々発行されたタイムスタンプを取得するタイムスタンプ取得機能と、所定のサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データと各々の前記タイムスタンプを検証する検証情報を取得する検証情報取得機能と、前記原本データ、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データ、各々の前記タイムスタンプ、前記検証情報の非改竄性を確認するためのＸＡｄＥＳ用およびＰＡｄＥＳ用の各々の長期署名対象データを、前記原本データに対して並行して取得する長期署名対象データ取得機能と、前記取得した各々の長期署名対象データを所定のサーバに送信し、当該各々の長期署名対象データに対して各々発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得機能と、をコンピュータで実現する長期署名用端末プログラムを提供する。
請求項１１に記載の発明では、前記タイムスタンプ取得機能は、ＸＡｄＥＳ用の前記電子署名データとＸＡｄＥＳ用の前記タイムスタンプとを含む、所定のサーバで生成されたＸＡｄＥＳ−Ｔと、ＰＡｄＥＳ用の前記タイムスタンプとを所定のサーバから並行して取得し、前記長期署名データ取得機能は、所定のサーバによってＸＡｄＥＳ用の前記長期署名対象データにＸＡｄＥＳ用の前記アーカイブタイムスタンプを付与されたＸＡｄＥＳ用の前記長期署名データと、ＰＡｄＥＳ用の前記アーカイブタイムスタンプとを所定のサーバから並行して取得するとともに、ＰＡｄＥＳ用の前記長期署名対象データにＰＡｄＥＳ用の前記アーカイブタイムスタンプを付与されたＰＡｄＥＳ用の前記長期署名データを生成して取得することを特徴とする請求項１０に記載の長期署名用端末プログラムを提供する。
請求項１２に記載の発明では、長期署名用端末から、原本データに対して生成された、異なる長期署名方式であるＸＡｄＥＳおよびＰＡｄＥＳに対応するＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データを取得する電子署名データ取得機能と、前記取得したＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データをタイムスタンプサーバに送信して、当該タイムスタンプサーバからＸＡｄＥＳ用およびＰＡｄＥＳ用の当該電子署名データごとに発行されたタイムスタンプを各々取得するタイムスタンプ取得機能と、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信機能と、前記取得したＸＡｄＥＳ用およびＰＡｄＥＳ用の電子署名データと各々のタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信機能と、前記原本データに対して生成された、前記原本データ、ＸＡｄＥＳ用およびＰＡｄＥＳ用の前記電子署名データ、各々の前記タイムスタンプ、前記検証情報の非改竄性を確認するためのＸＡｄＥＳ用およびＰＡｄＥＳ用の各々の長期署名対象データを前記長期署名用端末から並行して取得する長期署名対象データ取得機能と、前記取得した各々の長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに各々発行されたアーカイブタイムスタンプを取得するアーカイブタイムスタンプ取得機能と、前記取得した各々のアーカイブタイムスタンプを前記長期署名用端末に送信するアーカイブタイムスタンプ送信手段と、をコンピュータで実現する長期署名用サーバプログラムを提供する。
請求項１３に記載の発明では、前記タイムスタンプ送信機能は、ＸＡｄＥＳ用の前記電子署名データとＸＡｄＥＳ用の前記タイムスタンプとを含むＸＡｄＥＳ−Ｔを生成するとともに、前記ＸＡｄＥＳ−Ｔと、ＰＡｄＥＳ用の前記タイムスタンプとを並行して送信し、前記アーカイブタイムスタンプ送信機能は、ＸＡｄＥＳ用の前記長期署名対象データにＸＡｄＥＳ用の前記アーカイブタイムスタンプを付与してＸＡｄＥＳ用の前記長期署名データを生成するとともに、ＸＡｄＥＳ用の前記長期署名データと、ＰＡｄＥＳ用の前記アーカイブタイムスタンプとを所定のサーバから並行して送信することを特徴とする請求項１２に記載の長期署名用サーバプログラムを提供する。
【発明の効果】
【０００９】
本発明によれば、端末側とサーバ側が協働することにより、ユーザ側に機密情報を保持したまま長期署名を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】長期署名システムの構成を説明するための図である。
【図２】本実施の形態で使用する長期署名データの種類を説明するための図である。
【図３】ＰＡｄＥＳについて詳細に説明するための図である。
【図４】ＸＡｄＥＳについて詳細に説明するための図である。
【図５】長期署名データを生成する手順の前半を説明するためのフローチャートである。
【図６】長期署名データを生成する手順の後半を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
（１）実施形態の概要
長期署名システム１は、複数の原本データに対して、原本データと署名用の秘密鍵を外部に出さずにクライアント端末３に保持したまま、長期署名サーバ２と協働して、これら複数の原本データの個々について長期署名データを生成することができる。
長期署名システム１では、長期署名方式にＰＡｄＥＳとＸＡｄＥＳがあり、原本データごとに方式を指定し、これら複数の方式が混在したまま、同時並行して長期署名データを生成することができる。
【００１２】
また、長期署名システム１では、同時に複数の長期署名方式を利用する際に、それぞれの長期署名方式において、署名用の秘密鍵と対となる公開鍵証明書を発行した認証局秘密鍵が同じで、かつ、タイムスタンプ用の秘密鍵と対となる公開鍵証明書を発行したＴＳＡ認証局秘密鍵が同じとすることにより検証情報が全ての原本データで共通となり、単一の検証情報を処理すればよい。
更に、他のサーバとの接続などの複雑な手続は、長期署名サーバ２が代行することにより、クライアント端末３の接続対象を長期署名サーバ２に集約することができる。
このように、長期署名システム１では、検証情報の取得、タイムスタンプの取得、証明書管理（最新の公開鍵証明書と失効情報を常に収集する）などを長期署名サーバ２が代行すると共に、ＰＡｄＥＳとＸＡｄＥＳを同時に作成することができる。
【００１３】
（２）実施形態の詳細
図１は、長期署名システム１の構成を説明するための図である。
長期署名システム１は、長期署名サーバ２、クライアント端末３、タイムスタンプサーバ５、リポジトリサーバ６、７などがインターネット４で通信可能に接続されて構成されている。
【００１４】
長期署名サーバ２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２、記憶部２３、入出力Ｉ／Ｆ２４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２５、表示部２６、通信制御部２７などから構成されている。
【００１５】
ＣＰＵ２１は、記憶部２３などに記憶されたプログラムに従って情報処理や長期署名サーバ２の各部の制御を行う中央処理装置である。
本実施の形態では、クライアント端末３やタイムスタンプサーバ５、リポジトリサーバ６、７と通信しながらクライアント端末３と協働して長期署名データを作成する。
【００１６】
ＲＯＭ２２は、読み取り専用のメモリであって、長期署名サーバ２が動作するための基本的なプログラムやパラメータなどが記憶されている。
ＲＡＭ２５は、読み書きが可能なメモリであって、長期署名サーバ２がクライアント端末３などと通信して長期署名データを作成するためのワーキングメモリなどを提供する。
【００１７】
記憶部２３は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、長期署名サーバ２を動作させるためのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や長期署名データを生成するためのプログラムなどが記憶されている。
表示部２６は、例えば、液晶やＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などを用いた表示装置を備えており、長期署名サーバ２の運用担当者などが長期署名サーバ２を操作するための各種画面を表示する。
【００１８】
入出力Ｉ／Ｆ２４は、例えば、各種操作スイッチ、キーボード、マウスなどの入出力装置を備えており、運用担当者などは入出力Ｉ／Ｆ２４から長期署名サーバ２を操作することができる。
通信制御部２７は、インターネット４を介してクライアント端末３、タイムスタンプサーバ５、リポジトリサーバ６、７などと通信する。なお、インターネット４は、他の形態の通信網であってもよい。
【００１９】
クライアント端末３は、ＣＰＵ３１、ＲＯＭ３２、記憶部３３、通信制御部３４、ＲＡＭ３５、表示部３６、入出力Ｉ／Ｆ３７などから構成されている。
【００２０】
ＣＰＵ３１は、記憶部３３などに記憶されたプログラムに従って情報処理やクライアント端末３の各部の制御を行う中央処理装置である。
本実施の形態では、長期署名サーバ２との各種情報の送受信、秘密鍵による電子署名を行ったり、長期署名サーバ２と協働して長期署名データを生成したりなどする。
【００２１】
ＲＯＭ３２は、読み取り専用のメモリであって、クライアント端末３が動作するための基本的なプログラムやパラメータなどが記憶されている。
ＲＡＭ３５は、読み書きが可能なメモリであって、例えば、クライアント端末３が長期署名サーバ２と通信しながら長期署名データを生成する際にワーキングメモリを提供する。
【００２２】
記憶部３３は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、クライアント端末３を動作させるためのＯＳや電子署名を行うための秘密鍵、当該秘密鍵に対応する公開鍵の公開鍵証明書、長期署名対象となっている原本データなどが記憶されている。
【００２３】
また、長期署名データを作成するためのプログラムは、作成の度に長期署名サーバ２からクライアント端末３にダウンロードするように構成してもよいし、あるいは、予め記憶部３３に記憶しておき、これを使用するように構成することもできる。
【００２４】
表示部３６は、例えば、液晶やＣＲＴなどを用いた表示装置を備えており、クライアント端末３のユーザがクライアント端末３を操作するための各種画面を表示する。
【００２５】
入出力Ｉ／Ｆ３７は、例えば、キーボード、マウス、ＩＣカードリーダライタなどの入出力装置を備えている。
ＩＣカードリーダライタは、ＩＣカードを接続してクライアント端末３とＩＣカードの通信を仲介する。
ＩＣカードは、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などを備えた情報処理装置であり、例えば、クライアント端末３を使用するユーザを認証するためのユーザ認証情報などが記憶されている。
また、秘密鍵や公開鍵証明書などをＩＣカードに記憶させ、ＩＣカードの秘密鍵を使って電子署名するようにクライアント端末３を構成することもできる。
【００２６】
通信制御部３４は、インターネット４を介して長期署名サーバ２との通信を行う。タイムスタンプサーバ５、リポジトリサーバ６、７などの通信は、長期署名サーバ２が代行するため、通信制御部３４は、長期署名サーバ２にアクセスすればよい。
【００２７】
タイムスタンプサーバ５は、タイムスタンプを発行するサーバであり、ＴＳＡ（Ｔｉｍｅ  Ｓｔａｍｐｉｎｇ  Ａｕｔｈｏｒｉｔｙ：タイムスタンプ局）に設置されている。
タイムスタンプサーバ５は、時刻配信局の配信する時刻によって補正される正確な時計を有しており、タイムスタンプ発行対象となる電子データを受信すると、これに当該時計による現在日時刻を付してタイムスタンプ用の秘密鍵で電子署名（暗号化）することによりタイムスタンプを発行する。本実施の形態では、ＳＴＳ（署名タイムスタンプ）と、ＡＴＳ（アーカイブタイムスタンプ）または、ＤＴＳ（ドキュメントタイムスタンプ）を発行する。
【００２８】
リポジトリサーバ６は、ＴＳＡ−ＣＡ（Ｔｉｍｅ  Ｓｔａｍｐｉｎｇ  Ａｕｔｈｏｒｉｔｙ  Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ：タイムスタンプ認証局）に設置されたサーバであって、タイムスタンプの検証に用いる公開鍵証明書（ＳＴＳやＡＴＳに用いた秘密鍵に対応する公開鍵の公開鍵証明書）の失効情報（ＣＲＬ：Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）を提供する。
失効情報にリストアップされていない公開鍵証明書は失効していないため、これによって公開鍵証明書の有効性を確認し、当該有効な公開鍵証明書によってタイムスタンプの有効性を確認することができる。
【００２９】
リポジトリサーバ７は、ＣＡ（Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ）に設置されたサーバであって、クライアント端末３の行った電子署名の検証に用いる公開鍵証明書（クライアント端末３の秘密鍵に対応する公開鍵の公開鍵証明書）の失効情報を提供する。
失効情報にリストアップされていない公開鍵証明書は失効していないため、これによって公開鍵証明書の有効性を確認し、当該有効な公開鍵証明書によってクライアント端末３の行った電子署名の有効性を確認することができる。
リポジトリサーバ６とリポジトリサーバ７が提供する失効情報は、定期・不定期（例えば、２４時間ごと）に更新される。
【００３０】
以上に説明した、長期署名システム１では、クライアント端末３と長期署名サーバ２で役割を分割し、クライアント・サーバ間の通信により長期署名処理を協働して行う。
これによって、機密情報（原本データ、署名秘密鍵）を外部に出さずにクライアント端末３に保持したまま長期署名データを生成することができる。
【００３１】
また、長期署名システム１では、公開鍵証明書や失効情報の収集、各サーバへの接続情報の管理といった、複雑な処理を長期署名サーバ２に代行させ、クライアント端末３の接続先を長期署名サーバ２に集約することができる。
【００３２】
図２は、本実施の形態で使用する長期署名データの種類を説明するための図である。
本実施の形態では、長期署名フォーマットとしてＰＡｄＥＳ（ＰＤＦ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ）とＸＡｄＥＳ（ＸＭＬ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ）を用いる。
【００３３】
図２（ａ）は、ＰＡｄＥＳを説明するための概念図である。
ＰＡｄＥＳは、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式の文書データ（以下、ＰＤＦ文書）に対して規定されている長期署名フォーマットである。
ＰＡｄＥＳは、原本データであるＰＤＦ文書に対して、電子署名、ＳＴＳ、検証情報、及びＡＴＳなどを付与することにより、原本データと一体となって生成される。
【００３４】
図２（ｂ）は、ＸＡｄＥＳを説明するための概念図である。
ＸＡｄＥＳは、文書データ、画像データ、音声データ、動画データなど、原本データの種類を問わずに規定されている長期署名フォーマットである。ＰＤＦ文書に対してもＸＡｄＥＳによる長期署名が可能である。
ＸＡｄＥＳは、電子署名、ＳＴＳ、失効情報、ＡＴＳなどを用いて構成されており、原本データとは別に形成される。
【００３５】
図３は、ＰＡｄＥＳについて詳細に説明するための図である。
ＰＡｄＥＳは、ＥＴＳＩ（Ｅｕｒｏｐｅａｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ：欧州電気通信標準化機構）により作成され、欧州連合で広く認識されており、人が読むことができる文書を含むアプリケーションに適した電子署名の概念であって、他の２つの電子署名である人が読むことができる文書を含まないアプリケーションに適したＣＡｄＥＳ（ＣＭＳ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ）やＸＡｄＥＳ（ＸＭＬ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ）の概念を補足するものである。
更に、ＣＡｄＥＳは、電子署名にＳＴＳを付すなどした、より高度な電子署名のフォーマットであり、ＣＡｄＥＳ−Ｔ、ＣＡｄＥＳ−Ｃなどの各種の形式が存在する。
【００３６】
図３（ａ）は、ＰＡｄＥＳによる長期署名フォーマットの構成を示している。この図は、第１世代のＰＡｄＥＳを示しており、ＰＡｄＥＳ（１ｓｔ）と図示してある。
ＰＡｄＥＳでは、保存対象となる原本データであるＰＤＦ文書をＰＤＦ文書Ａ、Ｂに分割し、その間にＣＡｄＥＳを結合することによりＰＤＦ文書に電子署名する。
以下、ＰＤＦ文書Ａ、ＢにＣＡｄＥＳを結合することにより電子署名を付した原本データを署名済みＰＤＦ文書と呼ぶことにする。
なお、ＰＤＦ文書の分割箇所は、ＰＡｄＥＳのタグ情報に記録されている。
【００３７】
ＰＡｄＥＳでは、ＣＡｄＥＳのうち、電子署名にＳＴＳを付与したＣＡｄＥＳ−Ｔを用いる。
署名前ＣＡｄＥＳデータは、電子署名に用いる秘密鍵の「公開鍵証明書の参照情報」、及び、「原本ハッシュ値（原本データのハッシュ値）、公開鍵証明書ハッシュ値（当該公開鍵証明書のハッシュ値）」を用いて構成されている。
公開鍵証明書には、例えば、公開鍵、公開鍵の所有者、認証局、認証局の署名などが含まれている。
【００３８】
ＣＡｄＥＳ−ＢＥＳは、署名前ＣＡｄＥＳデータと、署名値を用いて構成されている。
この署名値は、ＣＡｄＥＳ−ＢＥＳ内の「原本ハッシュ値、公開鍵証明書ハッシュ値」（あるいは署名前ＣＡｄＥＳデータとしてもよい）に対してユーザの秘密鍵で電子署名を行った値である。この署名値により、原本データに対して電子署名されたことになる。
【００３９】
ＳＴＳは、タイムスタンプサーバ５がＣＡｄＥＳ−ＢＥＳの「署名値」に対して発行した署名タイムスタンプである。より詳細には、当該署名値のハッシュ値に現在日時刻を付与してタイムスタンプサーバ５のタイムスタンプ用秘密鍵で電子署名した署名値である。
【００４０】
ＰＡｄＥＳは、このように構成された署名済みＰＤＦ文書に検証情報とＤＴＳを付与して構成される。ここでは、第１世代のＤＴＳであるため、ＤＴＳ（１ｓｔ）と図示してある。
検証情報は、署名値やＳＴＳを検証するための証明書群と失効情報群から構成されており、より詳細には、電子署名やＳＴＳに用いた秘密鍵に対応する公開鍵証明書やこれらの認証パス上での公開鍵証明書などの証明書群と、公開鍵証明書の失効情報群（失効した公開鍵証明書のリスト）が含まれている。
ユーザの電子署名やＳＴＳに使用した秘密鍵に対応する公開鍵証明書が失効情報群のリストに含まれていないことを確認することにより、これら秘密鍵が有効であることを確認することができ、これによってＣＡｄＥＳ−Ｔの正当性を検証することができる。
【００４１】
ＤＴＳ（１ｓｔ）は、原本データ、電子署名、ＳＴＳ、検証情報などの非改竄性を検証するための情報（例えば、これらのハッシュ値、以下、長期署名対象データ）に対して発行されたタイムスタンプである。
ＤＴＳ（１ｓｔ）は、ユーザの電子署名やＳＴＳの有効期間内に発行される。
そのため、ＤＴＳ（１ｓｔ）の有効期間内であれば、例え、ＣＡｄＥＳ−Ｔの署名値やＳＴＳの有効期限が経過したり、あるいは、有効期限内に有効性を失った場合であっても、ＤＴＳ（１ｓｔ）によって、これらの非改竄性を担保することができ、これによって、原本データの非改竄性を検証することができる。
【００４２】
図３（ｂ）は、第２世代のＰＡｄＥＳにより長期署名データの有効期限が延長されたところを示した図である。図では、第２世代のＰＡｄＥＳをＰＡｄＥＳ（２ｎｄ）と示してある。
ＰＡｄＥＳ（２ｎｄ）は、ＰＡｄＥＳ（１ｓｔ）にＤＴＳ（１ｓｔ）の検証情報とＤＴＳ（２ｎｄ）を付与して構成されている。
ＤＴＳ（２ｎｄ）は、第２世代のドキュメントタイムスタンプであって、ＰＡｄＥＳ（１ｓｔ）の非改竄性を検証するための情報（例えば、ＰＡｄＥＳ（１ｓｔ）とＤＴＳ（１ｓｔ）の検証情報を結合した情報のハッシュ値）に対して発行されたタイムスタンプである。
【００４３】
ＤＴＳ（２ｎｄ）は、ＤＴＳ（１ｓｔ）の有効期限よりも長い有効期限を有しており、ＤＴＳ（１ｓｔ）の有効期限が経過する前にＰＡｄＥＳ（１ｓｔ）に対して発行される。
そのため、ＤＴＳ（１ｓｔ）が有効期限を経過したり、あるいは、有効期限内に有効性を失った場合であっても、ＤＴＳ（２ｎｄ）が有効であれば、ＰＡｄＥＳ（１ｓｔ）の非改竄性を担保することができる。
【００４４】
図示しないが、更に、第３世代、第４世代、・・・、とＰＡｄＥＳの世代を重ねることができる。
このように、ＰＡｄＥＳでは、最新のＡＴＳが有効性を失う前に、最新のＤＴＳよりも有効期限が長いＤＴＳを追加して世代を重ねることにより、ＰＡｄＥＳの有効期限を順次延長することができる。
【００４５】
図４は、ＸＡｄＥＳについて詳細に説明するための図である。
ＸＡｄＥＳによる長期署名フォーマットは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）言語を用いて以下のように構成される。
署名前ＸＡｄＥＳデータは、クライアント端末３が電子署名を行う対象となる署名対象データを格納したＸＭＬ要素であって、ＫｅｙＩｎｆｏ、署名対象プロパティ、ＳｉｇｎｅｄＩｎｆｏの各要素から構成されている。署名前ＸＡｄＥＳデータをクライアント端末３が電子署名することによりＸＡｄＥＳ−ＢＥＳが生成される。
【００４６】
ＫｅｙＩｎｆｏには、クライアント端末３が電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書が設定されている。
署名対象プロパティには、公開鍵証明書ハッシュ値が設定されている。
ＳｉｇｎｅｄＩｎｆｏには、原本ハッシュ値、及び署名プロパティハッシュ値（署名対象プログラムのハッシュ値）が設定されている。
【００４７】
ＸＡｄＥＳ−ＢＥＳは、上記の署名前ＸＡｄＥＳデータとＳｉｇｎａｔｕｒｅＶａｌｕｅを要素として構成されている。
ＳｉｇｎａｔｕｒｅＶａｌｕｅには、ＳｉｇｎｅｄＩｎｆｏをクライアント端末３が秘密鍵で署名した署名値が設定されている。
このように、クライアント端末３がＳｉｇｎｅｄＩｎｆｏに対して電子署名することにより、原本データに対する署名が行われる。
【００４８】
ＸＡｄＥＳ−Ｔは、上記のＸＡｄＥＳ−ＢＥＳと署名タイムスタンプを要素として構成されている。
署名タイムスタンプには、ＸＡｄＥＳ−ＢＥＳに対して発行されたＳＴＳが設定されている。ＳＴＳは、タイムスタンプサーバ５において、ＳｉｇｎａｔｕｒｅＶａｌｕｅのハッシュ値に現在日時刻を付与して、これをタイムスタンプサーバ５の秘密鍵で電子署名したものである。
【００４９】
ＸＡｄＥＳ−ＸＬは、上記のＸＡｄＥＳ−Ｔと検証情報を要素として構成されている。
検証情報は、ＸＡｄＥＳ−Ｔで用いられている署名値とＳＴＳを検証するための証明書群と失効情報群から構成されており、ＰＡｄＥＳと同様である。
ＸＡｄＥＳ−Ａ（１ｓｔ）は、上記のＸＡｄＥＳ−ＸＬとＡＴＳ（１ｓｔ）を要素として構成されている。
ＡＴＳ（１ｓｔ）は、第１世代のＡＴＳであって、ＰＡｄＥＳと同様である。
【００５０】
ＸＡｄＥＳの検証も、ＰＡｄＥＳと同様に行われる。即ち、ＡＴＳ（１ｓｔ）によりＸＡｄＥＳ−ＸＬが検証され、検証情報により、ＸＡｄＥＳ−Ｔが検証され、ＳＴＳにより署名値が検証され、署名値によって原本データの非改竄性が検証される。
【００５１】
第１の世代のＸＡｄＥＳは、以上のように構成されているが、ＰＡｄＥＳと同様に、第２世代のＡＴＳ（２ｎｄ）、第３世代のＡＴＳ（３ｒｄ）、・・・と、ＡＴＳを付与していくことにより検証可能な期間を延長していくことができる。
【００５２】
図５は、長期署名システム１で長期署名データを生成する手順の前半を説明するためのフローチャートである。
以下の処理は、クライアント端末３のＣＰＵ３１と、長期署名サーバ２のＣＰＵ２１が所定のプログラムに従って行うものである。
【００５３】
本実施の形態では、ＰＡｄＥＳとＸＡｄＥＳが混在する場合に、これらを同時に並行して生成する場合について説明する。
何れも、ユーザの署名用秘密鍵と原本データは、外部に出さずにクライアント端末３に保持したままＰＡｄＥＳとＸＡｄＥＳによる長期署名データを作成する。
そして、ＰＡｄＥＳとＸＡｄＥＳに共通する処理を共通化することにより、処理工程を簡略化する。
【００５４】
なお、本実施の形態は、ＰＡｄＥＳとＸＡｄＥＳが混在せず、一方の方式の長期署名のみ行う場合にも適用することができる。この場合、他方の長期署名方式の処理ステップは、省略することができる。
また、原本データは、単数でも複数でもよく、例えば、ＰＡｄＥＳ用の原本データが３個、ＸＡｄＥＳ用のデータが５個、あるいはＰＡｄＥＳ用の原本データのみ６個など、任意の個数の組合せに対して同時に長期署名を行うことができる。
このように、長期署名システム１では、原本データによってＰＡｄＥＳとＸＡｄＥＳの両方を出力したり、何れかに切り換えたりすることができる。
【００５５】
まず、クライアント端末３は、長期署名対象となる原本データを格納するディレクトリ（フォルダ）に原本データが格納されたか否かを監視している（ステップ５）。
原本データが格納されていない場合は（ステップ５；Ｎ）、引き続き監視を継続し、原本データが格納された場合は（ステップ５；Ｙ）、ユーザ名、パスワードなどのログイン情報を長期署名サーバ２に送信する（ステップ１０）。
【００５６】
このログイン情報の送信は、予めクライアント端末３にログイン情報を記憶しておき、自動的に行ってもよいし、あるいは、クライアント端末３がユーザが装着したＩＣカードから読み取ってもよいし、更には、表示部３６にログイン画面を表示して、ユーザが入力し、これを送信してもよい。
【００５７】
長期署名サーバ２は、クライアント端末３からログイン情報を受信すると、これによってユーザを認証してログイン処理を行い、ログイン処理が完了した旨をクライアント端末３に送信する（ステップ１５）。
【００５８】
クライアント端末３は、ログイン処理が完了すると、原本データごとに何れの方式で長期署名するかを指定する。
指定方法は、例えば、ＰＤＦ文書は、ＰＡｄＥＳで長期署名し、他の形式のデータは、ＸＡｄＥＳで長期署名するように自動的に長期署名方式を割り当ててもよいし、ユーザが手動で原本データごとに設定してもよく、任意の方法を用いることができる。
また、原本データがＰＤＦ形式でない場合であっても、ダミーのＰＤＦ台紙に添付ファイルの形で原本データを付与し、ＰＡｄＥＳを生成したり、これと同時にＸＡｄＥＳを生成したりすることもできる。
【００５９】
クライアント端末３は、ＸＡｄＥＳを生成する原本データに対しては、原本データごとに原本ハッシュ値を計算し、署名用の秘密鍵の公開鍵証明書と原本ハッシュ値を長期署名サーバ２に送信する（ステップ２０）。
【００６０】
長期署名サーバ２は、クライアント端末３から公開鍵証明書と原本ハッシュ値を受信すると、これらを用いて原本データごとのＳｉｇｎｅｄＩｎｆｏを生成し、クライアント端末３に送信する（ステップ２５）。
クライアント端末３は、長期署名サーバ２からＳｉｇｎｅｄＩｎｆｏを受信すると、原本データごとに署名用の秘密鍵で電子署名する（ステップ３０）。
【００６１】
また、クライアント端末３は、ＰＡｄＥＳを生成する原本データに対しては、公開鍵証明書の参照情報、公開鍵証明書のハッシュ値、及び原本ハッシュ値から署名前ＣＡｄＥＳデータを生成し、その中の「原本ハッシュ値、公開鍵証明書ハッシュ値」に対して署名用の秘密鍵で電子署名し、ＣＡｄＥＳ−ＢＥＳを作成する（ステップ３５）。
なお、クライアント端末３は、ＸＡｄＥＳ、ＰＡｄＥＳにかかわらず、複数の原本データに対して同じ秘密鍵で電子署名する。
【００６２】
次に、クライアント端末３は、ＸＡｄＥＳ用の署名値（ＸＡｄＥＳ−ＢＥＳに含まれる署名値）と、ＰＡｄＥＳ用の署名値（ＣＡｄＥＳ−ＢＥＳに含まれる署名値）を長期署名サーバ２に送信する（ステップ４０）。
【００６３】
長期署名サーバ２は、これらの署名値を受信すると、これらをタイムスタンプサーバ５に送信してＳＴＳを署名値ごとに発行してもらい、これら署名値に対するＳＴＳをタイムスタンプサーバ５から受信して取得する（ステップ４５）。
なお、タイムスタンプサーバ５は、これらの署名値に対して同じＴＳＡ認証局秘密鍵で発行されたＴＳＡ公開鍵証明書の対となる秘密鍵でＳＴＳを発行する。
【００６４】
なお、タイムスタンプサーバ５にアクセスが集中しており、長期署名サーバ２がタイムスタンプサーバにアクセスできなかった場合、長期署名サーバ２がクライアント端末３に待ち時間を指定し（例えば、１０分）、クライアント端末３が指定された時間にアクセスをリトライするように構成することもできる。
【００６５】
長期署名サーバ２は、ＸＡｄＥＳに関しては、先にクライアント端末３が送信した公開鍵証明書、ＳｉｇｎｅｄＩｎｆｏ、署名値を用いてＸＡｄＥＳ−ＢＥＳを作成し、これにタイムスタンプサーバ５から取得したＳＴＳを付与してＸＡｄＥＳ−Ｔを作成する（ステップ５０）。長期署名サーバ２は、作成したＸＡｄＥＳ−Ｔを所定のディレクトリに保存する。
【００６６】
そして、長期署名サーバ２は、保存したＸＡｄＥＳ−Ｔで用いられている署名値とＳＴＳの検証に必要な公開鍵証明書と失効情報を判断し、定期的にリポジトリサーバ６、７にアクセスして、これらの公開鍵証明書と失効情報を収集する。
【００６７】
長期署名システム１では、ＰＡｄＥＳとＸＡｄＥＳについて、同じ署名用の秘密鍵で電子署名し、同じＴＳＡ認証局秘密鍵で発行されたＴＳＡ公開鍵証明書の対となるタイムスタンプ用の秘密鍵でＳＴＳを発行するため、検証情報は、ＰＡｄＥＳとＸＡｄＥＳにかかわらず、処理対象となっている全ての原本データで共通となるため、長期署名サーバ２は、一の検証情報を生成してクライアント端末３に送信すればよい。これによって、検証情報の生成が容易となると共に、長期署名サーバ２とクライアント端末３の通信を共有化することができる。
【００６８】
次に、長期署名サーバ２は、ＸＡｄＥＳ−Ｔ（所定のフォルダに保存したものと同じもの）、ＰＡｄＥＳ用のＳＴＳ、及びＥＳ−Ｔチケットをクライアント端末３に送信する（ステップ５５）。
ＥＳ−Ｔチケットには、クライアント端末３が以降の処理を開始する時間を指定する情報や、長期署名サーバ２が以降の処理を再開する際に処理対象となっているＰＡｄＥＳやＸＡｄＥＳを特定する情報などが含まれている。
【００６９】
クライアント端末３は、長期署名サーバ２から、これらの情報を受信して格納する（ステップ６０）。
次に、クライアント端末３は、ＰＡｄＥＳ用のＳＴＳを用いて原本データごとのＰＡｄＥＳ−Ｔを生成する（ステップ６５）。
【００７０】
以上で前半の処理は終了し、クライアント端末３は、ＥＳ−Ｔチケットで指定された時間まで長期署名データ生成処理を休止する。この休止期間は、リポジトリサーバ６、７で失効情報などが更新される時間を見込んだ時間であり、例えば、２４時間程度である。
このように休止期間を設けるのは、リポジトリサーバ６、７が提供する失効情報が最新のものに更新されるまでの時間を稼ぐためである。即ち、クライアント端末３が電子署名したり、タイムスタンプサーバ５がＳＴＳを発行した時点で、本来は公開鍵証明書が失効しているにもかかわらず、まだ失効情報などが更新されていない事態を回避するためである。
【００７１】
図６は、長期署名システム１で長期署名データを生成する手順の後半を説明するためのフローチャートである。
クライアント端末３は、ＥＳ−Ｔチケットで指定された所定時間が経過したか監視する（ステップ１００）。
所定時間が経過していない場合（ステップ１００；Ｎ）、クライアント端末３は、監視を継続する。
一方、所定時間が経過した場合（ステップ１００；Ｙ）、クライアント端末３は、ログイン情報を長期署名サーバ２に送信する（ステップ１０５）。
【００７２】
長期署名サーバ２は、クライアント端末３からログイン情報を受信すると、これによってユーザを認証してログイン処理を行い、ログイン処理が完了した旨をクライアント端末３に送信する（ステップ１１０）。
クライアント端末３は、長期署名サーバ２からログイン処理が完了した旨を受信すると、格納しておいたＥＳ−Ｔチケットを長期署名サーバ２に送信する（ステップ１１５）。
【００７３】
長期署名サーバ２は、クライアント端末３からＥＳ−Ｔチケットを受信すると、これを確認し、クライアント端末３が何れのＰＡｄＥＳとＸＡｄＥＳに係る処理を続行しようとしているのかを認識する。
これにより、長期署名サーバ２は、これらＰＡｄＥＳとＸＡｄＥＳで使用する検証情報を特定し、クライアント端末３に送信する（ステップ１２０）。
【００７４】
クライアント端末３は、長期署名サーバ２から検証情報を受信すると、ＸＡｄＥＳ−Ｔに検証情報を付与してＸＡｄＥＳ−ＸＬを生成することにより検証情報を埋め込む。
更に、クライアント端末３は、署名済みＰＤＦ文書に検証情報を加えることにより、ＡＴＳ（１ｓｔ）を付与する前のＰＡｄＥＳに検証情報を埋め込む（ステップ１２５）。
【００７５】
ここで、検証情報は、今回処理対象となっている全ての原本データに対して共通であるため、一の検証情報をそれぞれＰＡｄＥＳとＸＡｄＥＳに埋め込めばよく、クライアント端末３が行う通信処理を単純化することができる。
【００７６】
次に、クライアント端末３は、ＡＴＳ（１ｓｔ）を付与する前のＸＡｄＥＳとＤＴＳ（１ｓｔ）を付与する前のＰＡｄＥＳから、原本データごとに長期署名対象データをそれぞれ生成し、これを長期署名サーバ２に送信してＡＴＳ（１ｓｔ）とＤＴＳ（１ｓｔ）の取得を要求する（ステップ１３０）。
【００７７】
長期署名サーバ２は、クライアント端末３から長期署名対象データを受信すると、これらのタイムスタンプ要求をタイムスタンプサーバ５に送信し、タイムスタンプサーバ５から、これらに対して長期署名対象データごとに発行されたタイムスタンプを受信してＡＴＳ（１ｓｔ）とＤＴＳ（１ｓｔ）を取得する（ステップ１３５）。
このタイムスタンプ要求は、例えば、長期署名対象データのハッシュ値を長期署名サーバ２に送信するなどして行い、ＡＴＳ（１ｓｔ）とＤＴＳ（１ｓｔ）の取得は、例えば、タイムスタンプサーバ５から受信したタイムスタンプを、それぞれの長期署名対象データに付与することにより行われる。
【００７８】
次に、長期署名サーバ２は、ＸＡｄＥＳに関しては、所定のディレクトリに保存しておいたＸＡｄＥＳ−Ｔに検証情報とＡＴＳ（１ｓｔ）を付与してＸＡｄＥＳ−Ａ（１ｓｔ）を生成する。
次に、長期署名サーバ２は、ＰＡｄＥＳ用のＤＴＳ（１ｓｔ）、及びＸＡｄＥＳ−Ａ（１ｓｔ）をクライアント端末３に送信する（ステップ１４０）。
【００７９】
クライアント端末３は、ＸＡｄＥＳに関しては、ＸＡｄＥＳ−Ａ（１ｓｔ）を受信して保存する。
一方、ＰＡｄＥＳに関しては、ＰＡｄＥＳ用のＤＴＳ（１ｓｔ）を受信してＤＴＳ（１ｓｔ）付与前のＰＡｄＥＳに埋め込み、第１世代のＰＡｄＥＳを生成して保存する（ステップ１４５）。
【００８０】
以上に説明した実施の形態により、次のような効果を得ることができる。
（１）クライアント端末３は、電子署名に用いる秘密鍵や原本データなどの機密情報を外部に出さずにＰＡｄＥＳやＸＡｄＥＳによる長期署名データを生成することができる。
（２）原本データによって適切な長期署名フォーマットを選択することができ、補完性や閲覧性、または再利用性にあわせた証拠データ（ＰＡｄＥＳかＸＡｄＥＳ、若しくは両方）が作成できる。
（３）クライアント端末３は、タイムスタンプサーバ５、リポジトリサーバ６、７に個別にアクセスする必要が無く、長期署名サーバ２にアクセスするだけで複数のＰＡｄＥＳやＸＡｄＥＳによる長期署名データを生成することができる。
（４）署名用の秘密鍵とＳＴＳ用の秘密鍵を処理対象となる複数の原本データに対して共通とすることにより、これらに対する検証情報を共通化することができる。このように、原本データごとに検証情報を作成する必要が無いため、クライアント端末３と長期署名サーバ２の通信回数を低減できる上、検証情報を用いた処理が容易になる。
（５）長期署名サーバ２は、クライアント端末３に単一の検証情報を送信するので、共通処理をまとめることで通信回数を低減することができる。
【００８１】
（６）タイムスタンプサーバ５、リポジトリサーバ６、７のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒｓ）などのアクセス情報に変更が生じた場合でも、変更対応は長期署名サーバ２が行い、クライアント端末３は、アクセス情報の再設定の必要が無い。
（７）証明書類の複雑な管理は、長期署名サーバ２が行うため、これらの管理をクライアント端末３側で行わなくてよい。
（８）長期署名に関わるクライアント端末３の通信は長期署名サーバ２のみのため、ネットワーク・セキュリティの設定が簡単になる。
（９）長期署名サーバ２が、検証情報の収集、タイムスタンプの取得、証明書管理を代行することができる。
（１０）長期署名処理をクライアント側とサーバ側に適切に分離処理することができ、これによって、公開鍵証明書やタイムスタンプの運用管理をサーバ側で行い、ユーザの負担を軽減することができる。
【００８２】
以上に説明した実施の形態により、次のような構成を得ることができる。
クライアント端末３は、ＰＡｄＥＳやＸＡｄＥＳの対象となる複数の原本データを処理する。
そして、クライアント端末３は、ＰＡｄＥＳに関しては、署名前ＣＡｄＥＳデータに電子署名して署名値を取得し、ＸＡｄＥＳに関しては、署名前ＸＡｄＥＳデータに電子署名して署名値を取得する。
このため、複数の原本データの電子署名データ（署名値）を前記原本データごとに取得する電子署名データ取得手段を備えている。
また、クライアント端末３は、署名値を長期署名サーバ２に送信し、長期署名サーバ２は、これをタイムスタンプサーバ５に送信してＳＴＳを発行してもらう。
そして、長期署名サーバ２は、ＣＡｄＥＳに関しては、ＳＴＳをクライアント端末３に送信し、ＸＡｄＥＳに関しては、ＳＴＳをＸＡｄＥＳ−Ｔに付与してクライアント端末３に送信し、クライアント端末３は、これらを受信する。
このため、クライアント端末３は、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバから当該電子署名データに対して発行されたタイムスタンプ（ＳＴＳ）を取得するタイムスタンプ取得手段を備えている。
更にクライアント端末３は、署名値やタイムスタンプを検証する検証情報を長期署名サーバ２から受信するため、所定のサーバから前記電子署名データと前記タイムスタンプを検証する検証情報を取得する検証情報取得手段を備えている。
また、クライアント端末３は、ＣＡｄＥＳやＸＡｄＥＳ対して、原文データ、署名値、タイムスタンプ、失効情報などの非改竄性を確認するための情報として長期署名対象データを生成するため、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記原本データごとに取得する長期署名対象データ取得手段を備えている。
そして、クライアント端末３は、当該ハッシュ値を長期署名サーバ２に送信し、長期署名サーバ２は、これに対するＡＴＳをタイムスタンプサーバ５から取得する。そして、クライアント端末３は、ＰＡｄＥＳに関しては、長期署名サーバ２からＡＴＳを受信し、これを用いてＰＡｄＥＳを生成することにより長期署名データを取得し、ＸＡｄＥＳに関しては、長期署名サーバ２からＡＴＳが付与されたＸＡｄＥＳを受信することにより長期署名データを取得するため、前記取得した長期署名対象データを所定のサーバに送信し、当該長期署名対象データに対して発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得手段を備えている。
【００８３】
また、長期署名システム１では、同時に行う各長期署名方式間で、署名用の秘密鍵が同じで、とタイムスタンプ用の秘密鍵と対となる公開鍵証明書を発行したＴＳＡ認証局秘密鍵が同じ、とすることにより、各長期署名データにおける検証情報を共通とすることができるため、前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同じＴＳＡ認証局秘密鍵で発行されたＴＳＡ公開鍵証明書の対となるタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報取得手段は、前記各長期署名方式に対して共通な一の検証情報を取得している。
【００８４】
また、クライアント端末３は、原本データごとにＰＡｄＥＳとＸＡｄＥＳの何れで長期署名データを生成するか指定することができるため、前記原本データごとに長期署名方式を指定する指定手段を備えており、前記長期署名データ取得手段は、前記指定した長期署名方式による長期署名データを取得する。
【００８５】
クライアント端末３は、長期署名サーバ２と通信して長期署名データを生成する。また、例えば、ＳＴＳと検証情報の取得に関しては長期署名サーバ２にアクセスし、ＡＴＳの取得にはクライアント端末３にアクセスするなど、各種の変形が可能であるため、前記タイムスタンプ取得手段と、検証情報取得手段と、長期署名データ取得手段のうちの少なくとも２つは、同一のサーバと通信している。
【００８６】
長期署名サーバ２は、クライアント端末３から署名値を受信するため、長期署名用端末から、複数の原本データごとに生成された電子署名データを取得する電子署名データ取得手段を備えている。
そして、長期署名サーバ２は、取得した署名値に対するタイムスタンプ要求をタイムスタンプサーバ５に送信してＳＴＳを発行してもらうため、前記取得した複数の電子署名データに対するタイムスタンプ要求をタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該電子署名データごとに発行されたタイムスタンプを取得するタイムスタンプ取得手段を備えている。
また、長期署名サーバ２は、タイムスタンプサーバ５から発行されたＳＴＳを、ＰＡｄＥＳに関してはＤＴＳの状態でクライアント端末３に送信し、ＸＡｄＥＳの場合は、ＸＡｄＥＳ−ＢＥＳに付与してクライアント端末３に送信するため、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信手段を備えている。
更に、長期署名サーバ２は、署名値とＳＴＳの検証情報をリポジトリサーバ６、７から収集して検証情報を生成し、クライアント端末３に送信するため、前記取得した電子署名データとタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信手段を備えている。
また、クライアント端末３は、ＣＡｄＥＳやＸＡｄＥＳ対して、原文データ、署名値、タイムスタンプ、失効情報などの非改竄性を確認するための長期署名対象データを生成して長期署名サーバ２に送信し、長期署名サーバ２は、これを受信するため、前記原本データごとに生成された、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記長期署名用端末から取得する長期署名対象データ取得手段を備えている。
そして、長期署名サーバ２は、このハッシュ値をタイムスタンプサーバ５に送信してタイムスタンプサーバ５からＡＴＳ及びＤＴＳを受信するため、前記取得した長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに発行されたアーカイブタイムスタンプ（及びドキュメントタイムスタンプ）を取得するアーカイブタイムスタンプ（及びドキュメントタイムスタンプ）取得手段を備えている。
【００８７】
また、長期署名サーバ２は、署名値が同一の秘密鍵で成され、ＳＴＳも同じＴＳＡ認証局秘密鍵で発行されたＴＳＡ公開鍵証明書の対となる秘密鍵で成されているため、複数の原本データに対して共通の検証情報を収集してクライアント端末３に送信するため、前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同じＴＳＡ認証局秘密鍵で発行されたＴＳＡ公開鍵証明書の対となるタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報送信手段は、前記複数の原本データに対して共通な一の検証情報を収集して前記長期署名用端末に送信している。
【００８８】
クライアント端末３は、複数の原本データの電子署名データを前記原本データごとに取得する電子署名データ取得機能と、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバから当該電子署名データに対して発行されたタイムスタンプを取得するタイムスタンプ取得機能と、所定のサーバから前記電子署名データと前記タイムスタンプを検証する検証情報を取得する検証情報取得機能と、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記原本データごとに取得する長期署名対象データ取得機能と、前記取得した長期署名対象データを所定のサーバに送信し、当該長期署名対象データに対して発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得機能と、をコンピュータで実現する長期署名用端末プログラムを実行して長期署名データを生成する。
【００８９】
長期署名サーバ２は、長期署名用端末から、複数の原本データごとに生成された電子署名データを取得する電子署名データ取得機能と、前記取得した複数の電子署名データに対するタイムスタンプ要求をタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該電子署名データごとに発行されたタイムスタンプを取得するタイムスタンプ取得機能と、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信機能と、前記取得した電子署名データとタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信機能と、前記原本データごとに生成された、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記長期署名用端末から取得する長期署名対象データ取得機能と、前記取得した長期署名対象データに対するタイムスタンプ要求をタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに発行されたアーカイブタイムスタンプ、及びドキュメントタイムスタンプを取得するアーカイブタイムスタンプ（及びドキュメントタイムスタンプ）取得機能と、をコンピュータで実現する長期署名用サーバプログラムを実行して長期署名データを生成する。
【符号の説明】
【００９０】
１  長期署名システム
２  長期署名サーバ
３  クライアント端末
４  インターネット
５  タイムスタンプサーバ
６  リポジトリサーバ
７  リポジトリサーバ
【図１】
0005700423.tif 000002
【図２】
0005700423.tif 000003
【図３】
0005700423.tif 000004
【図４】
0005700423.tif 000005
【図５】
0005700423.tif 000006
【図６】
0005700423.tif 000007