概要
タイムスタンプ(時刻認証)は、電子データが「ある時刻に確かに存在し、それ以降改ざんされていないこと」を第三者機関(TSA:Time Stamping Authority)が証明する仕組みです。デジタル署名は署名者の正当性と改ざん検知を保証しますが、署名鍵が将来漏洩したり証明書が失効・期限切れになると、過去にさかのぼって署名の有効性を疑われるおそれがあります。この弱点を補い、契約書・電子帳簿などの証拠能力を長期にわたって維持する技術が長期署名(PAdES-LTV・XAdES など)です。SC試験では午後問題で「なぜ単純な署名だけでは不十分か」を説明させる出題が見られます。
仕組みと動作原理
なぜデジタル署名だけでは長期的な非否認性が担保できないか
RSAとデジタル署名で解説した通り、署名は「送信者の秘密鍵で署名 → 公開鍵で検証」という仕組みで改ざん検知と認証を実現します。しかし、この検証には次の3つの前提が常に必要です。
- 署名鍵(秘密鍵)が署名時点で正当な所有者のみによって管理されていたこと
- 検証時点で証明書が失効していないこと(PKI・CRL/OCSP参照)
- 署名アルゴリズム・鍵長が検証時点でも安全であること
これらは時間とともに崩れます。署名した瞬間は正当でも、数年後に秘密鍵が漏洩したと判明すれば「その署名は漏洩前のものか後のものか」を区別できません。証明書は通常1〜3年で有効期限が切れ、CRL/OCSPの失効情報もCAが永久に保持するとは限りません。契約書のように10年単位で証拠として保持すべき文書では、これは致命的な弱点です。
TSA(Time Stamping Authority)によるタイムスタンプの仕組み
TSAは信頼できる第三者機関として、対象データが「ある時刻に存在したこと」を証明するタイムスタンプトークンを発行します。データそのものではなく、そのハッシュ値のみを送るのがポイントです。
1. 利用者:対象データ(署名済み文書など)のハッシュ値を計算
2. 利用者 → TSA:ハッシュ値を送信(原本は送らない=機密性を維持)
3. TSA:受信したハッシュ値 + 信頼できる時刻情報を結合し、TSA自身の秘密鍵で署名
4. TSA → 利用者:タイムスタンプトークン(TST)を返却
5. 利用者:TSTを文書に添付・保管
第三者機関が発行するため、利用者自身のPC時計を改ざんしても偽造できません。また文書のハッシュ値だけをやり取りするため、機密文書の内容をTSAに開示せずに時刻証明を受けられます。
長期署名(PAdES-LTV / XAdES)の考え方
長期署名は、デジタル署名+タイムスタンプ+検証情報(証明書・失効情報)をひとまとめにアーカイブし、将来いつ検証しても正当性を証明できるようにする方式です。代表例が PDF向けの PAdES-LTV(PDF Advanced Electronic Signatures - Long Term Validation)や XML向けの XAdES です。
| 構成要素 | 役割 |
|---|---|
| 署名(ES) | 文書への署名者本人による署名 |
| 署名タイムスタンプ | 署名が行われた時刻をTSAが証明 |
| 検証情報(証明書・CRL/OCSP応答) | 署名時点で証明書が有効だったことを示す情報を同梱 |
| アーカイブタイムスタンプ | 署名・検証情報全体に定期的に再度タイムスタンプを付与 |
アーカイブタイムスタンプによる延命
ハッシュ関数や署名アルゴリズムは将来的に危殆化(脆弱化)する可能性があります(例:SHA-1の危殆化)。長期署名では、アルゴリズムが危殆化する前に、署名・検証情報全体に対して新しいアルゴリズムでアーカイブタイムスタンプを再付与します。これを有効期限が切れる前に繰り返すことで、数十年単位でも証拠能力を維持できます。
時刻T1:文書に署名 + 署名タイムスタンプ付与
時刻T2(証明書失効前):検証情報(CRL/OCSP応答)を追加
時刻T3(アルゴリズム危殆化の兆候前):アーカイブタイムスタンプ①を付与
時刻T4(さらに将来):アーカイブタイムスタンプ②を付与(連鎖的に延命)
この「危殆化前に検証情報ごと再タイムスタンプする」という発想が、単純な署名との決定的な違いです。
SC試験での頻出ポイント
- 署名だけでは長期的な非否認性を担保できない理由:証明書失効・鍵漏洩発覚・アルゴリズム危殆化により、過去の署名の正当性を後から証明できなくなるため
- TSAが原本ではなくハッシュ値のみを受け取る理由:機密性の保持と通信量削減の両方が目的
- タイムスタンプが証明するのは「時刻の正当性」であり「署名者の正当性」ではない:両者は別の役割
- アーカイブタイムスタンプの目的:ハッシュ関数・署名アルゴリズムの危殆化に備え、危殆化前に検証情報全体を再保護すること
- PAdES-LTV・XAdESの位置付け:署名+タイムスタンプ+検証情報を一体化し、長期保存文書の証拠能力を維持する標準規格
よくある誤問・ひっかけパターン
誤り① 「タイムスタンプはデータの改ざん検知だけを目的とする」→ 誤。改ざん検知(完全性)に加え、「その時刻にデータが存在したこと」という時刻の証明が本質的な目的です。デジタル署名の完全性検証とは目的が異なります。
誤り② 「証明書が失効・期限切れになれば、それ以前の署名もすべて無効になる」→ 誤。署名時点で有効だったことを示す検証情報(CRL/OCSP応答)とタイムスタンプを保存しておけば、証明書失効後も署名当時の正当性を証明できます。これが長期署名の存在意義です。
誤り③ 「一度タイムスタンプを付与すれば、その文書は永久に検証可能である」→ 誤。TSAの署名アルゴリズムやハッシュ関数もいずれ危殆化します。危殆化する前にアーカイブタイムスタンプで再保護しなければ、長期的な証拠能力は維持できません。
関連用語
- 公開鍵暗号(RSA)とデジタル署名 — 署名の基本原理。本記事はその限界と補完策を扱う
- PKIと証明書管理 — 証明書失効(CRL/OCSP)の仕組みが長期署名の検証情報の土台となる
- ハッシュ関数とMAC — タイムスタンプはハッシュ値に対して発行される
重要キーワード
| 用語 | 説明 |
|---|---|
| TSA(Time Stamping Authority) | 第三者としてデータの存在時刻を証明するタイムスタンプ局 |
| タイムスタンプトークン(TST) | TSAがハッシュ値と時刻情報に署名して発行する証明データ |
| 長期署名(LTV) | 署名・タイムスタンプ・検証情報を一体化し将来も検証可能にする方式 |
| PAdES-LTV | PDF文書向けの長期署名規格 |
| XAdES | XML文書向けの長期署名規格 |
| アーカイブタイムスタンプ | アルゴリズム危殆化前に検証情報全体へ再付与するタイムスタンプ |