複数の原本データの電子署名データを前記原本データごとに取得する電子署名データ取得手段と、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバから当該電子署名データに対して発行されたタイムスタンプを取得するタイムスタンプ取得手段と、所定のサーバから前記電子署名データと前記タイムスタンプを検証する検証情報を取得する検証情報取得手段と、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記原本データごとに取得する長期署名対象データ取得手段と、前記取得した長期署名対象データを所定のサーバに送信し、当該長期署名対象データに対して発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得手段と、を具備したことを特徴とする長期署名用端末。前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同一のタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報取得手段は、前記複数の原本データに対して共通な一の検証情報を取得することを特徴とする請求項1に記載の長期署名用端末。前記原本データごとに長期署名方式を指定する指定手段を具備し、前記長期署名データ取得手段は、前記指定した長期署名方式による長期署名データを取得することを特徴とする請求項1、又は請求項2に記載の長期署名用端末。前記タイムスタンプ取得手段と、前記検証情報取得手段と、前記長期署名データ取得手段のうちの少なくとも2つは、同一のサーバと通信することを特徴とする請求項1、請求項2、又は請求項3に記載の長期署名用端末。長期署名用端末から、複数の原本データごとに生成された電子署名データを取得する電子署名データ取得手段と、前記取得した複数の電子署名データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該電子署名データごとに発行されたタイムスタンプを取得するタイムスタンプ取得手段と、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信手段と、前記取得した電子署名データとタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信手段と、前記原本データごとに生成された、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記長期署名用端末から取得する長期署名対象データ取得手段と、前記取得した長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに発行されたアーカイブタイムスタンプを取得するアーカイブタイムスタンプ取得手段と、を具備したことを特徴とする長期署名用サーバ。前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同一のタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報送信手段は、前記複数の原本データに対して共通な一の検証情報を収集して前記長期署名用端末に送信することを特徴とする請求項5に記載の長期署名用サーバ。複数の原本データの電子署名データを前記原本データごとに取得する電子署名データ取得機能と、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバから当該電子署名データに対して発行されたタイムスタンプを取得するタイムスタンプ取得機能と、所定のサーバから前記電子署名データと前記タイムスタンプを検証する検証情報を取得する検証情報取得機能と、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記原本データごとに取得する長期署名対象データ取得機能と、前記取得した長期署名対象データを所定のサーバに送信し、当該長期署名対象データに対して発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得機能と、をコンピュータで実現する長期署名用端末プログラム。長期署名用端末から、複数の原本データごとに生成された電子署名データを取得する電子署名データ取得機能と、前記取得した複数の電子署名データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該電子署名データごとに発行されたタイムスタンプを取得するタイムスタンプ取得機能と、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信機能と、前記取得した電子署名データとタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信機能と、前記原本データごとに生成された、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記長期署名用端末から取得する長期署名対象データ取得機能と、前記取得した長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに発行されたアーカイブタイムスタンプを取得するアーカイブタイムスタンプ取得機能と、をコンピュータで実現する長期署名用サーバプログラム。本発明は、ユーザ側に機密情報を保持したまま、複数の原本データに対して長期署名を行うことを目的とする。本発明は、前記目的を達成するために、請求項1に記載の発明では、複数の原本データの電子署名データを前記原本データごとに取得する電子署名データ取得手段と、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバから当該電子署名データに対して発行されたタイムスタンプを取得するタイムスタンプ取得手段と、所定のサーバから前記電子署名データと前記タイムスタンプを検証する検証情報を取得する検証情報取得手段と、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記原本データごとに取得する長期署名対象データ取得手段と、前記取得した長期署名対象データを所定のサーバに送信し、当該長期署名対象データに対して発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得手段と、を具備したことを特徴とする長期署名用端末を提供する。請求項2に記載の発明では、前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同一のタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報取得手段は、前記複数の原本データに対して共通な一の検証情報を取得することを特徴とする請求項1に記載の長期署名用端末を提供する。請求項3に記載の発明では、前記原本データごとに長期署名方式を指定する指定手段を具備し、前記長期署名データ取得手段は、前記指定した長期署名方式による長期署名データを取得することを特徴とする請求項1、又は請求項2に記載の長期署名用端末を提供する。請求項4に記載の発明では、前記タイムスタンプ取得手段と、前記検証情報取得手段と、前記長期署名データ取得手段のうちの少なくとも2つは、同一のサーバと通信することを特徴とする請求項1、請求項2、又は請求項3に記載の長期署名用端末を提供する。請求項5に記載の発明では、長期署名用端末から、複数の原本データごとに生成された電子署名データを取得する電子署名データ取得手段と、前記取得した複数の電子署名データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該電子署名データごとに発行されたタイムスタンプを取得するタイムスタンプ取得手段と、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信手段と、前記取得した電子署名データとタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信手段と、前記原本データごとに生成された、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記長期署名用端末から取得する長期署名対象データ取得手段と、前記取得した長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに発行されたアーカイブタイムスタンプを取得するアーカイブタイムスタンプ取得手段と、を具備したことを特徴とする長期署名用サーバを提供する。請求項6に記載の発明では、前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同一のタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報送信手段は、前記複数の原本データに対して共通な一の検証情報を収集して前記長期署名用端末に送信することを特徴とする請求項5に記載の長期署名用サーバを提供する。請求項7に記載の発明では、複数の原本データの電子署名データを前記原本データごとに取得する電子署名データ取得機能と、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバから当該電子署名データに対して発行されたタイムスタンプを取得するタイムスタンプ取得機能と、所定のサーバから前記電子署名データと前記タイムスタンプを検証する検証情報を取得する検証情報取得機能と、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記原本データごとに取得する長期署名対象データ取得機能と、前記取得した長期署名対象データを所定のサーバに送信し、当該長期署名対象データに対して発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得機能と、をコンピュータで実現する長期署名用端末プログラムを提供する。請求項8に記載の発明では、長期署名用端末から、複数の原本データごとに生成された電子署名データを取得する電子署名データ取得機能と、前記取得した複数の電子署名データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該電子署名データごとに発行されたタイムスタンプを取得するタイムスタンプ取得機能と、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信機能と、前記取得した電子署名データとタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信機能と、前記原本データごとに生成された、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記長期署名用端末から取得する長期署名対象データ取得機能と、前記取得した長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに発行されたアーカイブタイムスタンプを取得するアーカイブタイムスタンプ取得機能と、をコンピュータで実現する長期署名用サーバプログラムを提供する。本発明によれば、端末側とサーバ側が協働することにより、ユーザ側に機密情報を保持したまま長期署名を行うことができる。1実施形態の概要長期署名システム1は、複数の原本データに対して、原本データと署名用の秘密鍵を外部に出さずにクライアント端末3に保持したまま、長期署名サーバ2と協働して、これら複数の原本データの個々について長期署名データを生成することができる。長期署名システム1では、長期署名方式にPAdESとXAdESがあり、原本データごとに方式を指定し、これら複数の方式が混在したまま、同時並行して長期署名データを生成することができる。また、長期署名システム1では、同時に複数の長期署名方式を利用する際に、それぞれの長期署名方式において、署名用の秘密鍵と対となる公開鍵証明書を発行した認証局秘密鍵が同じで、かつ、タイムスタンプ用の秘密鍵と対となる公開鍵証明書を発行したTSA認証局秘密鍵が同じとすることにより検証情報が全ての原本データで共通となり、単一の検証情報を処理すればよい。更に、他のサーバとの接続などの複雑な手続は、長期署名サーバ2が代行することにより、クライアント端末3の接続対象を長期署名サーバ2に集約することができる。このように、長期署名システム1では、検証情報の取得、タイムスタンプの取得、証明書管理最新の公開鍵証明書と失効情報を常に収集するなどを長期署名サーバ2が代行すると共に、PAdESとXAdESを同時に作成することができる。2実施形態の詳細図1は、長期署名システム1の構成を説明するための図である。長期署名システム1は、長期署名サーバ2、クライアント端末3、タイムスタンプサーバ5、リポジトリサーバ6、7などがインターネット4で通信可能に接続されて構成されている。長期署名サーバ2は、CPUCentralProcessingUnit21、ROMReadOnlyMemory22、記憶部23、入出力I/F24、RAMRandomAccessMemory25、表示部26、通信制御部27などから構成されている。CPU21は、記憶部23などに記憶されたプログラムに従って情報処理や長期署名サーバ2の各部の制御を行う中央処理装置である。本実施の形態では、クライアント端末3やタイムスタンプサーバ5、リポジトリサーバ6、7と通信しながらクライアント端末3と協働して長期署名データを作成する。ROM22は、読み取り専用のメモリであって、長期署名サーバ2が動作するための基本的なプログラムやパラメータなどが記憶されている。RAM25は、読み書きが可能なメモリであって、長期署名サーバ2がクライアント端末3などと通信して長期署名データを作成するためのワーキングメモリなどを提供する。記憶部23は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、長期署名サーバ2を動作させるためのOSOperatingSystemや長期署名データを生成するためのプログラムなどが記憶されている。表示部26は、例えば、液晶やCRTCathodeRayTubeなどを用いた表示装置を備えており、長期署名サーバ2の運用担当者などが長期署名サーバ2を操作するための各種画面を表示する。入出力I/F24は、例えば、各種操作スイッチ、キーボード、マウスなどの入出力装置を備えており、運用担当者などは入出力I/F24から長期署名サーバ2を操作することができる。通信制御部27は、インターネット4を介してクライアント端末3、タイムスタンプサーバ5、リポジトリサーバ6、7などと通信する。なお、インターネット4は、他の形態の通信網であってもよい。クライアント端末3は、CPU31、ROM32、記憶部33、通信制御部34、RAM35、表示部36、入出力I/F37などから構成されている。CPU31は、記憶部33などに記憶されたプログラムに従って情報処理やクライアント端末3の各部の制御を行う中央処理装置である。本実施の形態では、長期署名サーバ2との各種情報の送受信、秘密鍵による電子署名を行ったり、長期署名サーバ2と協働して長期署名データを生成したりなどする。ROM32は、読み取り専用のメモリであって、クライアント端末3が動作するための基本的なプログラムやパラメータなどが記憶されている。RAM35は、読み書きが可能なメモリであって、例えば、クライアント端末3が長期署名サーバ2と通信しながら長期署名データを生成する際にワーキングメモリを提供する。記憶部33は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、クライアント端末3を動作させるためのOSや電子署名を行うための秘密鍵、当該秘密鍵に対応する公開鍵の公開鍵証明書、長期署名対象となっている原本データなどが記憶されている。また、長期署名データを作成するためのプログラムは、作成の度に長期署名サーバ2からクライアント端末3にダウンロードするように構成してもよいし、あるいは、予め記憶部33に記憶しておき、これを使用するように構成することもできる。表示部36は、例えば、液晶やCRTなどを用いた表示装置を備えており、クライアント端末3のユーザがクライアント端末3を操作するための各種画面を表示する。入出力I/F37は、例えば、キーボード、マウス、ICカードリーダライタなどの入出力装置を備えている。ICカードリーダライタは、ICカードを接続してクライアント端末3とICカードの通信を仲介する。ICカードは、CPU、ROM、RAM、EEPROMElectricallyErasableandProgrammableROMなどを備えた情報処理装置であり、例えば、クライアント端末3を使用するユーザを認証するためのユーザ認証情報などが記憶されている。また、秘密鍵や公開鍵証明書などをICカードに記憶させ、ICカードの秘密鍵を使って電子署名するようにクライアント端末3を構成することもできる。通信制御部34は、インターネット4を介して長期署名サーバ2との通信を行う。タイムスタンプサーバ5、リポジトリサーバ6、7などの通信は、長期署名サーバ2が代行するため、通信制御部34は、長期署名サーバ2にアクセスすればよい。タイムスタンプサーバ5は、タイムスタンプを発行するサーバであり、TSATimeStampingAuthority:タイムスタンプ局に設置されている。タイムスタンプサーバ5は、時刻配信局の配信する時刻によって補正される正確な時計を有しており、タイムスタンプ発行対象となる電子データを受信すると、これに当該時計による現在日時刻を付してタイムスタンプ用の秘密鍵で電子署名暗号化することによりタイムスタンプを発行する。本実施の形態では、STS署名タイムスタンプと、ATSアーカイブタイムスタンプまたは、DTSドキュメントタイムスタンプを発行する。リポジトリサーバ6は、TSA-CATimeStampingAuthorityCertificateAuthority:タイムスタンプ認証局に設置されたサーバであって、タイムスタンプの検証に用いる公開鍵証明書STSやATSに用いた秘密鍵に対応する公開鍵の公開鍵証明書の失効情報CRL:CertificateRevocationListを提供する。失効情報にリストアップされていない公開鍵証明書は失効していないため、これによって公開鍵証明書の有効性を確認し、当該有効な公開鍵証明書によってタイムスタンプの有効性を確認することができる。リポジトリサーバ7は、CACertificateAuthorityに設置されたサーバであって、クライアント端末3の行った電子署名の検証に用いる公開鍵証明書クライアント端末3の秘密鍵に対応する公開鍵の公開鍵証明書の失効情報を提供する。失効情報にリストアップされていない公開鍵証明書は失効していないため、これによって公開鍵証明書の有効性を確認し、当該有効な公開鍵証明書によってクライアント端末3の行った電子署名の有効性を確認することができる。リポジトリサーバ6とリポジトリサーバ7が提供する失効情報は、定期不定期例えば、24時間ごとに更新される。以上に説明した、長期署名システム1では、クライアント端末3と長期署名サーバ2で役割を分割し、クライアントサーバ間の通信により長期署名処理を協働して行う。これによって、機密情報原本データ、署名秘密鍵を外部に出さずにクライアント端末3に保持したまま長期署名データを生成することができる。また、長期署名システム1では、公開鍵証明書や失効情報の収集、各サーバへの接続情報の管理といった、複雑な処理を長期署名サーバ2に代行させ、クライアント端末3の接続先を長期署名サーバ2に集約することができる。図2は、本実施の形態で使用する長期署名データの種類を説明するための図である。本実施の形態では、長期署名フォーマットとしてPAdESPDFAdvancedElectronicSignaturesとXAdESXMLAdvancedElectronicSignaturesを用いる。図2aは、PAdESを説明するための概念図である。PAdESは、PDFPortableDocumentFormat形式の文書データ以下、PDF文書に対して規定されている長期署名フォーマットである。PAdESは、原本データであるPDF文書に対して、電子署名、STS、検証情報、及びATSなどを付与することにより、原本データと一体となって生成される。図2bは、XAdESを説明するための概念図である。XAdESは、文書データ、画像データ、音声データ、動画データなど、原本データの種類を問わずに規定されている長期署名フォーマットである。PDF文書に対してもXAdESによる長期署名が可能である。XAdESは、電子署名、STS、失効情報、ATSなどを用いて構成されており、原本データとは別に形成される。図3は、PAdESについて詳細に説明するための図である。PAdESは、ETSIEuropeanTelecommunicationsStandardsInstitute:欧州電気通信標準化機構により作成され、欧州連合で広く認識されており、人が読むことができる文書を含むアプリケーションに適した電子署名の概念であって、他の2つの電子署名である人が読むことができる文書を含まないアプリケーションに適したCAdESCMSAdvancedElectronicSignaturesやXAdESXMLAdvancedElectronicSignaturesの概念を補足するものである。更に、CAdESは、電子署名にSTSを付すなどした、より高度な電子署名のフォーマットであり、CAdES-T、CAdES-Cなどの各種の形式が存在する。図3aは、PAdESによる長期署名フォーマットの構成を示している。この図は、第1世代のPAdESを示しており、PAdES1stと図示してある。PAdESでは、保存対象となる原本データであるPDF文書をPDF文書A、Bに分割し、その間にCAdESを結合することによりPDF文書に電子署名する。以下、PDF文書A、BにCAdESを結合することにより電子署名を付した原本データを署名済みPDF文書と呼ぶことにする。なお、PDF文書の分割箇所は、PAdESのタグ情報に記録されている。PAdESでは、CAdESのうち、電子署名にSTSを付与したCAdES-Tを用いる。署名前CAdESデータは、電子署名に用いる秘密鍵の公開鍵証明書の参照情報、及び、原本ハッシュ値原本データのハッシュ値、公開鍵証明書ハッシュ値当該公開鍵証明書のハッシュ値を用いて構成されている。公開鍵証明書には、例えば、公開鍵、公開鍵の所有者、認証局、認証局の署名などが含まれている。CAdES-BESは、署名前CAdESデータと、署名値を用いて構成されている。この署名値は、CAdES-BES内の原本ハッシュ値、公開鍵証明書ハッシュ値あるいは署名前CAdESデータとしてもよいに対してユーザの秘密鍵で電子署名を行った値である。この署名値により、原本データに対して電子署名されたことになる。STSは、タイムスタンプサーバ5がCAdES-BESの署名値に対して発行した署名タイムスタンプである。より詳細には、当該署名値のハッシュ値に現在日時刻を付与してタイムスタンプサーバ5のタイムスタンプ用秘密鍵で電子署名した署名値である。PAdESは、このように構成された署名済みPDF文書に検証情報とDTSを付与して構成される。ここでは、第1世代のDTSであるため、DTS1stと図示してある。検証情報は、署名値やSTSを検証するための証明書群と失効情報群から構成されており、より詳細には、電子署名やSTSに用いた秘密鍵に対応する公開鍵証明書やこれらの認証パス上での公開鍵証明書などの証明書群と、公開鍵証明書の失効情報群失効した公開鍵証明書のリストが含まれている。ユーザの電子署名やSTSに使用した秘密鍵に対応する公開鍵証明書が失効情報群のリストに含まれていないことを確認することにより、これら秘密鍵が有効であることを確認することができ、これによってCAdES-Tの正当性を検証することができる。DTS1stは、原本データ、電子署名、STS、検証情報などの非改竄性を検証するための情報例えば、これらのハッシュ値、以下、長期署名対象データに対して発行されたタイムスタンプである。DTS1stは、ユーザの電子署名やSTSの有効期間内に発行される。そのため、DTS1stの有効期間内であれば、例え、CAdES-Tの署名値やSTSの有効期限が経過したり、あるいは、有効期限内に有効性を失った場合であっても、DTS1stによって、これらの非改竄性を担保することができ、これによって、原本データの非改竄性を検証することができる。図3bは、第2世代のPAdESにより長期署名データの有効期限が延長されたところを示した図である。図では、第2世代のPAdESをPAdES2ndと示してある。PAdES2ndは、PAdES1stにDTS1stの検証情報とDTS2ndを付与して構成されている。DTS2ndは、第2世代のドキュメントタイムスタンプであって、PAdES1stの非改竄性を検証するための情報例えば、PAdES1stとDTS1stの検証情報を結合した情報のハッシュ値に対して発行されたタイムスタンプである。DTS2ndは、DTS1stの有効期限よりも長い有効期限を有しており、DTS1stの有効期限が経過する前にPAdES1stに対して発行される。そのため、DTS1stが有効期限を経過したり、あるいは、有効期限内に有効性を失った場合であっても、DTS2ndが有効であれば、PAdES1stの非改竄性を担保することができる。図示しないが、更に、第3世代、第4世代、、とPAdESの世代を重ねることができる。このように、PAdESでは、最新のATSが有効性を失う前に、最新のDTSよりも有効期限が長いDTSを追加して世代を重ねることにより、PAdESの有効期限を順次延長することができる。図4は、XAdESについて詳細に説明するための図である。XAdESによる長期署名フォーマットは、XMLExtensibleMarkupLanguage言語を用いて以下のように構成される。署名前XAdESデータは、クライアント端末3が電子署名を行う対象となる署名対象データを格納したXML要素であって、KeyInfo、署名対象プロパティ、SignedInfoの各要素から構成されている。署名前XAdESデータをクライアント端末3が電子署名することによりXAdES-BESが生成される。KeyInfoには、クライアント端末3が電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書が設定されている。署名対象プロパティには、公開鍵証明書ハッシュ値が設定されている。SignedInfoには、原本ハッシュ値、及び署名プロパティハッシュ値署名対象プログラムのハッシュ値が設定されている。XAdES-BESは、上記の署名前XAdESデータとSignatureValueを要素として構成されている。SignatureValueには、SignedInfoをクライアント端末3が秘密鍵で署名した署名値が設定されている。このように、クライアント端末3がSignedInfoに対して電子署名することにより、原本データに対する署名が行われる。XAdES-Tは、上記のXAdES-BESと署名タイムスタンプを要素として構成されている。署名タイムスタンプには、XAdES-BESに対して発行されたSTSが設定されている。STSは、タイムスタンプサーバ5において、SignatureValueのハッシュ値に現在日時刻を付与して、これをタイムスタンプサーバ5の秘密鍵で電子署名したものである。XAdES-XLは、上記のXAdES-Tと検証情報を要素として構成されている。検証情報は、XAdES-Tで用いられている署名値とSTSを検証するための証明書群と失効情報群から構成されており、PAdESと同様である。XAdES-A1stは、上記のXAdES-XLとATS1stを要素として構成されている。ATS1stは、第1世代のATSであって、PAdESと同様である。XAdESの検証も、PAdESと同様に行われる。即ち、ATS1stによりXAdES-XLが検証され、検証情報により、XAdES-Tが検証され、STSにより署名値が検証され、署名値によって原本データの非改竄性が検証される。第1の世代のXAdESは、以上のように構成されているが、PAdESと同様に、第2世代のATS2nd、第3世代のATS3rd、と、ATSを付与していくことにより検証可能な期間を延長していくことができる。図5は、長期署名システム1で長期署名データを生成する手順の前半を説明するためのフローチャートである。以下の処理は、クライアント端末3のCPU31と、長期署名サーバ2のCPU21が所定のプログラムに従って行うものである。本実施の形態では、PAdESとXAdESが混在する場合に、これらを同時に平行して生成する場合について説明する。何れも、ユーザの署名用秘密鍵と原本データは、外部に出さずにクライアント端末3に保持したままPAdESとXAdESによる長期署名データを作成する。そして、PAdESとXAdESに共通する処理を共通化することにより、処理工程を簡略化する。なお、本実施の形態は、PAdESとXAdESが混在せず、一方の方式の長期署名のみ行う場合にも適用することができる。この場合、他方の長期署名方式の処理ステップは、省略することができる。また、原本データは、単数でも複数でもよく、例えば、PAdES用の原本データが3個、XAdES用のデータが5個、あるいはPAdES用の原本データのみ6個など、任意の個数の組合せに対して同時に長期署名を行うことができる。このように、長期署名システム1では、原本データによってPAdESとXAdESの両方を出力したり、何れかに切り換えたりすることができる。まず、クライアント端末3は、長期署名対象となる原本データを格納するディレクトリフォルダに原本データが格納されたか否かを監視しているステップ5。原本データが格納されていない場合はステップ5;N、引き続き監視を継続し、原本データが格納された場合はステップ5;Y、ユーザ名、パスワードなどのログイン情報を長期署名サーバ2に送信するステップ10。このログイン情報の送信は、予めクライアント端末3にログイン情報を記憶しておき、自動的に行ってもよいし、あるいは、クライアント端末3がユーザが装着したICカードから読み取ってもよいし、更には、表示部36にログイン画面を表示して、ユーザが入力し、これを送信してもよい。長期署名サーバ2は、クライアント端末3からログイン情報を受信すると、これによってユーザを認証してログイン処理を行い、ログイン処理が完了した旨をクライアント端末3に送信するステップ15。クライアント端末3は、ログイン処理が完了すると、原本データごとに何れの方式で長期署名するかを指定する。指定方法は、例えば、PDF文書は、PAdESで長期署名し、他の形式のデータは、XAdESで長期署名するように自動的に長期署名方式を割り当ててもよいし、ユーザが手動で原本データごとに設定してもよく、任意の方法を用いることができる。また、原本データがPDF形式でない場合であっても、ダミーのPDF台紙に添付ファイルの形で原本データを付与し、PAdESを生成したり、これと同時にXAdESを生成したりすることもできる。クライアント端末3は、XAdESを生成する原本データに対しては、原本データごとに原本ハッシュ値を計算し、署名用の秘密鍵の公開鍵証明書と原本ハッシュ値を長期署名サーバ2に送信するステップ20。長期署名サーバ2は、クライアント端末3から公開鍵証明書と原本ハッシュ値を受信すると、これらを用いて原本データごとのSignedInfoを生成し、クライアント端末3に送信するステップ25。クライアント端末3は、長期署名サーバ2からSignedInfoを受信すると、原本データごとに署名用の秘密鍵で電子署名するステップ30。また、クライアント端末3は、PAdESを生成する原本データに対しては、公開鍵証明書の参照情報、公開鍵証明書のハッシュ値、及び原本ハッシュ値から署名前CAdESデータを生成し、その中の原本ハッシュ値、公開鍵証明書ハッシュ値に対して署名用の秘密鍵で電子署名し、CAdES-BESを作成するステップ35。なお、クライアント端末3は、XAdES、PAdESにかかわらず、複数の原本データに対して同じ秘密鍵で電子署名する。次に、クライアント端末3は、XAdES用の署名値XAdES-BESに含まれる署名値と、PAdES用の署名値CAdES-BESに含まれる署名値を長期署名サーバ2に送信するステップ40。長期署名サーバ2は、これらの署名値を受信すると、これらをタイムスタンプサーバ5に送信してSTSを署名値ごとに発行してもらい、これら署名値に対するSTSをタイムスタンプサーバ5から受信して取得するステップ45。なお、タイムスタンプサーバ5は、これらの署名値に対して同じTSA認証局秘密鍵で発行されたTSA公開鍵証明書の対となる秘密鍵でSTSを発行する。なお、タイムスタンプサーバ5にアクセスが集中しており、長期署名サーバ2がタイムスタンプサーバにアクセスできなかった場合、長期署名サーバ2がクライアント端末3に待ち時間を指定し例えば、10分、クライアント端末3が指定された時間にアクセスをリトライするように構成することもできる。長期署名サーバ2は、XAdESに関しては、先にクライアント端末3が送信した公開鍵証明書、SignedInfo、署名値を用いてXAdES-BESを作成し、これにタイムスタンプサーバ5から取得したSTSを付与してXAdES-Tを作成するステップ50。長期署名サーバ2は、作成したXAdES-Tを所定のディレクトリに保存する。そして、長期署名サーバ2は、保存したXAdES-Tで用いられている署名値とSTSの検証に必要な公開鍵証明書と失効情報を判断し、定期的にリポジトリサーバ6、7にアクセスして、これらの公開鍵証明書と失効情報を収集する。長期署名システム1では、PAdESとXAdESについて、同じ署名用の秘密鍵で電子署名し、同じTSA認証局秘密鍵で発行されたTSA公開鍵証明書の対となるタイムスタンプ用の秘密鍵でSTSを発行するため、検証情報は、PAdESとXAdESにかかわらず、処理対象となっている全ての原本データで共通となるため、長期署名サーバ2は、一の検証情報を生成してクライアント端末3に送信すればよい。これによって、検証情報の生成が容易となると共に、長期署名サーバ2とクライアント端末3の通信を共有化することができる。次に、長期署名サーバ2は、XAdES-T所定のフォルダに保存したものと同じもの、PAdES用のSTS、及びES-Tチケットをクライアント端末3に送信するステップ55。ES-Tチケットには、クライアント端末3が以降の処理を開始する時間を指定する情報や、長期署名サーバ2が以降の処理を再開する際に処理対象となっているPAdESやXAdESを特定する情報などが含まれている。クライアント端末3は、長期署名サーバ2から、これらの情報を受信して格納するステップ60。次に、クライアント端末3は、PAdES用のSTSを用いて原本データごとのPAdES-Tを生成するステップ65。以上で前半の処理は終了し、クライアント端末3は、ES-Tチケットで指定された時間まで長期署名データ生成処理を休止する。この休止期間は、リポジトリサーバ6、7で失効情報などが更新される時間を見込んだ時間であり、例えば、24時間程度である。このように休止期間を設けるのは、リポジトリサーバ6、7が提供する失効情報が最新のものに更新されるまでの時間を稼ぐためである。即ち、クライアント端末3が電子署名したり、タイムスタンプサーバ5がSTSを発行した時点で、本来は公開鍵証明書が失効しているにもかかわらず、まだ失効情報などが更新されていない事態を回避するためである。図6は、長期署名システム1で長期署名データを生成する手順の後半を説明するためのフローチャートである。クライアント端末3は、ES-Tチケットで指定された所定時間が経過したか監視するステップ100。所定時間が経過していない場合ステップ100;N、クライアント端末3は、監視を継続する。一方、所定時間が経過した場合ステップ100;Y、クライアント端末3は、ログイン情報を長期署名サーバ2に送信するステップ105。長期署名サーバ2は、クライアント端末3からログイン情報を受信すると、これによってユーザを認証してログイン処理を行い、ログイン処理が完了した旨をクライアント端末3に送信するステップ110。クライアント端末3は、長期署名サーバ2からログイン処理が完了した旨を受信すると、格納しておいたES-Tチケットを長期署名サーバ2に送信するステップ115。長期署名サーバ2は、クライアント端末3からES-Tチケットを受信すると、これを確認し、クライアント端末3が何れのPAdESとXAdESに係る処理を続行しようとしているのかを認識する。これにより、長期署名サーバ2は、これらPAdESとXAdESで使用する検証情報を特定し、クライアント端末3に送信するステップ120。クライアント端末3は、長期署名サーバ2から検証情報を受信すると、XAdES-Tに検証情報を付与してXAdES-XLを生成することにより検証情報を埋め込む。更に、クライアント端末3は、署名済みPDF文書に検証情報を加えることにより、ATS1stを付与する前のPAdESに検証情報を埋め込むステップ125。ここで、検証情報は、今回処理対象となっている全ての原本データに対して共通であるため、一の検証情報をそれぞれPAdESとXAdESに埋め込めばよく、クライアント端末3が行う通信処理を単純化することができる。次に、クライアント端末3は、ATS1stを付与する前のXAdESとDTS1stを付与する前のPAdESから、原本データごとに長期署名対象データをそれぞれ生成し、これを長期署名サーバ2に送信してATS1stとDTS1stの取得を要求するステップ130。長期署名サーバ2は、クライアント端末3から長期署名対象データを受信すると、これらのタイムスタンプ要求をタイムスタンプサーバ5に送信し、タイムスタンプサーバ5から、これらに対して長期署名対象データごとに発行されたタイムスタンプを受信してATS1stとDTS1stを取得するステップ135。このタイムスタンプ要求は、例えば、長期署名対象データのハッシュ値を長期署名サーバ2に送信するなどして行い、ATS1stとDTS1stの取得は、例えば、タイムスタンプサーバ5から受信したタイムスタンプを、それぞれの長期署名対象データに付与することにより行われる。次に、長期署名サーバ2は、XAdESに関しては、所定のディレクトリに保存しておいたXAdES-Tに検証情報とATS1stを付与してXAdES-A1stを生成する。次に、長期署名サーバ2は、PAdES用のDTS1st、及びXAdES-A1stをクライアント端末3に送信するステップ140。クライアント端末3は、XAdESに関しては、XAdES-A1stを受信して保存する。一方、PAdESに関しては、PAdES用のDTS1stを受信してDTS1st付与前のPAdESに埋め込み、第1世代のPAdESを生成して保存するステップ145。以上に説明した実施の形態により、次のような効果を得ることができる。1クライアント端末3は、電子署名に用いる秘密鍵や原本データなどの機密情報を外部に出さずにPAdESやXAdESによる長期署名データを生成することができる。2原本データによって適切な長期署名フォーマットを選択することができ、補完性や閲覧性、または再利用性にあわせた証拠データPAdESかXAdES、若しくは両方が作成できる。3クライアント端末3は、タイムスタンプサーバ5、リポジトリサーバ6、7に個別にアクセスする必要が無く、長期署名サーバ2にアクセスするだけで複数のPAdESやXAdESによる長期署名データを生成することができる。4署名用の秘密鍵とSTS用の秘密鍵を処理対象となる複数の原本データに対して共通とすることにより、これらに対する検証情報を共通化することができる。このように、原本データごとに検証情報を作成する必要が無いため、クライアント端末3と長期署名サーバ2の通信回数を低減できる上、検証情報を用いた処理が容易になる。5長期署名サーバ2は、クライアント端末3に単一の検証情報を送信するので、共通処理をまとめることで通信回数を低減することができる。6タイムスタンプサーバ5、リポジトリサーバ6、7のURLUniformResourceLocatorsなどのアクセス情報に変更が生じた場合でも、変更対応は長期署名サーバ2が行い、クライアント端末3は、アクセス情報の再設定の必要が無い。7証明書類の複雑な管理は、長期署名サーバ2が行うため、これらの管理をクライアント端末3側で行わなくてよい。8長期署名に関わるクライアント端末3の通信は長期署名サーバ2のみのため、ネットワークセキュリティの設定が簡単になる。9長期署名サーバ2が、検証情報の収集、タイムスタンプの取得、証明書管理を代行することができる。10長期署名処理をクライアント側とサーバ側に適切に分離処理することができ、これによって、公開鍵証明書やタイムスタンプの運用管理をサーバ側で行い、ユーザの負担を軽減することができる。以上に説明した実施の形態により、次のような構成を得ることができる。クライアント端末3は、PAdESやXAdESの対象となる複数の原本データを処理する。そして、クライアント端末3は、PAdESに関しては、署名前CAdESデータに電子署名して署名値を取得し、XAdESに関しては、署名前XAdESデータに電子署名して署名値を取得する。このため、複数の原本データの電子署名データ署名値を前記原本データごとに取得する電子署名データ取得手段を備えている。また、クライアント端末3は、署名値を長期署名サーバ2に送信し、長期署名サーバ2は、これをタイムスタンプサーバ5に送信してSTSを発行してもらう。そして、長期署名サーバ2は、CAdESに関しては、STSをクライアント端末3に送信し、XAdESに関しては、STSをXAdES-Tに付与してクライアント端末3に送信し、クライアント端末3は、これらを受信する。このため、クライアント端末3は、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバから当該電子署名データに対して発行されたタイムスタンプSTSを取得するタイムスタンプ取得手段を備えている。更にクライアント端末3は、署名値やタイムスタンプを検証する検証情報を長期署名サーバ2から受信するため、所定のサーバから前記電子署名データと前記タイムスタンプを検証する検証情報を取得する検証情報取得手段を備えている。また、クライアント端末3は、CAdESやXAdES対して、原文データ、署名値、タイムスタンプ、失効情報などの非改竄性を確認するための情報として長期署名対象データを生成するため、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記原本データごとに取得する長期署名対象データ取得手段を備えている。そして、クライアント端末3は、当該ハッシュ値を長期署名サーバ2に送信し、長期署名サーバ2は、これに対するATSをタイムスタンプサーバ5から取得する。そして、クライアント端末3は、PAdESに関しては、長期署名サーバ2からATSを受信し、これを用いてPAdESを生成することにより長期署名データを取得し、XAdESに関しては、長期署名サーバ2からATSが付与されたXAdESを受信することにより長期署名データを取得するため、前記取得した長期署名対象データを所定のサーバに送信し、当該長期署名対象データに対して発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得手段を備えている。また、長期署名システム1では、同時に行う各長期署名方式間で、署名用の秘密鍵が同じで、とタイムスタンプ用の秘密鍵と対となる公開鍵証明書を発行したTSA認証局秘密鍵が同じ、とすることにより、各長期署名データにおける検証情報を共通とすることができるため、前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同じTSA認証局秘密鍵で発行されたTSA公開鍵証明書の対となるタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報取得手段は、前記各長期署名方式に対して共通な一の検証情報を取得している。また、クライアント端末3は、原本データごとにPAdESとXAdESの何れで長期署名データを生成するか指定することができるため、前記原本データごとに長期署名方式を指定する指定手段を備えており、前記長期署名データ取得手段は、前記指定した長期署名方式による長期署名データを取得する。クライアント端末3は、長期署名サーバ2と通信して長期署名データを生成する。また、例えば、STSと検証情報の取得に関しては長期署名サーバ2にアクセスし、ATSの取得にはクライアント端末3にアクセスするなど、各種の変形が可能であるため、前記タイムスタンプ取得手段と、検証情報取得手段と、長期署名データ取得手段のうちの少なくとも2つは、同一のサーバと通信している。長期署名サーバ2は、クライアント端末3から署名値を受信するため、長期署名用端末から、複数の原本データごとに生成された電子署名データを取得する電子署名データ取得手段を備えている。そして、長期署名サーバ2は、取得した署名値に対するタイムスタンプ要求をタイムスタンプサーバ5に送信してSTSを発行してもらうため、前記取得した複数の電子署名データに対するタイムスタンプ要求をタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該電子署名データごとに発行されたタイムスタンプを取得するタイムスタンプ取得手段を備えている。また、長期署名サーバ2は、タイムスタンプサーバ5から発行されたSTSを、PAdESに関してはDTSの状態でクライアント端末3に送信し、XAdESの場合は、XAdES-BESに付与してクライアント端末3に送信するため、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信手段を備えている。更に、長期署名サーバ2は、署名値とSTSの検証情報をリポジトリサーバ6、7から収集して検証情報を生成し、クライアント端末3に送信するため、前記取得した電子署名データとタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信手段を備えている。また、クライアント端末3は、CAdESやXAdES対して、原文データ、署名値、タイムスタンプ、失効情報などの非改竄性を確認するための長期署名対象データを生成して長期署名サーバ2に送信し、長期署名サーバ2は、これを受信するため、前記原本データごとに生成された、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記長期署名用端末から取得する長期署名対象データ取得手段を備えている。そして、長期署名サーバ2は、このハッシュ値をタイムスタンプサーバ5に送信してタイムスタンプサーバ5からATS及びDTSを受信するため、前記取得した長期署名対象データをタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに発行されたアーカイブタイムスタンプ及びドキュメントタイムスタンプを取得するアーカイブタイムスタンプ及びドキュメントタイムスタンプ取得手段を備えている。また、長期署名サーバ2は、署名値が同一の秘密鍵で成され、STSも同じTSA認証局秘密鍵で発行されたTSA公開鍵証明書の対となる秘密鍵で成されているため、複数の原本データに対して共通の検証情報を収集してクライアント端末3に送信するため、前記電子署名データは、同一の署名用秘密鍵で電子署名されていると共に、前記タイムスタンプは、同じTSA認証局秘密鍵で発行されたTSA公開鍵証明書の対となるタイムスタンプ用秘密鍵でタイムスタンプが付与されており、前記検証情報送信手段は、前記複数の原本データに対して共通な一の検証情報を収集して前記長期署名用端末に送信している。クライアント端末3は、複数の原本データの電子署名データを前記原本データごとに取得する電子署名データ取得機能と、前記取得した電子署名データを所定のサーバに送信し、当該所定のサーバから当該電子署名データに対して発行されたタイムスタンプを取得するタイムスタンプ取得機能と、所定のサーバから前記電子署名データと前記タイムスタンプを検証する検証情報を取得する検証情報取得機能と、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記原本データごとに取得する長期署名対象データ取得機能と、前記取得した長期署名対象データを所定のサーバに送信し、当該長期署名対象データに対して発行されたアーカイブタイムスタンプが付与された長期署名データを取得する長期署名データ取得機能と、をコンピュータで実現する長期署名用端末プログラムを実行して長期署名データを生成する。長期署名サーバ2は、長期署名用端末から、複数の原本データごとに生成された電子署名データを取得する電子署名データ取得機能と、前記取得した複数の電子署名データに対するタイムスタンプ要求をタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該電子署名データごとに発行されたタイムスタンプを取得するタイムスタンプ取得機能と、前記取得したタイムスタンプを前記長期署名用端末に送信するタイムスタンプ送信機能と、前記取得した電子署名データとタイムスタンプの検証情報を所定のサーバから収集し、前記長期署名用端末に送信する検証情報送信機能と、前記原本データごとに生成された、前記原本データ、前記電子署名データ、前記タイムスタンプ、前記検証情報の非改竄性を確認するための長期署名対象データを前記長期署名用端末から取得する長期署名対象データ取得機能と、前記取得した長期署名対象データに対するタイムスタンプ要求をタイムスタンプサーバに送信して、当該タイムスタンプサーバから当該長期署名対象データごとに発行されたアーカイブタイムスタンプ、及びドキュメントタイムスタンプを取得するアーカイブタイムスタンプ及びドキュメントタイムスタンプ取得機能と、をコンピュータで実現する長期署名用サーバプログラムを実行して長期署名データを生成する。