概要

タイムスタンプ(時刻認証)は、電子データが「ある時刻に確かに存在し、それ以降改ざんされていないこと」を第三者機関(TSA:Time Stamping Authority)が証明する仕組みです。デジタル署名は署名者の正当性と改ざん検知を保証しますが、署名鍵が将来漏洩したり証明書が失効・期限切れになると、過去にさかのぼって署名の有効性を疑われるおそれがあります。この弱点を補い、契約書・電子帳簿などの証拠能力を長期にわたって維持する技術が長期署名(PAdES-LTV・XAdES など)です。SC試験では午後問題で「なぜ単純な署名だけでは不十分か」を説明させる出題が見られます。

仕組みと動作原理

なぜデジタル署名だけでは長期的な非否認性が担保できないか

RSAとデジタル署名で解説した通り、署名は「送信者の秘密鍵で署名 → 公開鍵で検証」という仕組みで改ざん検知と認証を実現します。しかし、この検証には次の3つの前提が常に必要です。

  1. 署名鍵(秘密鍵)が署名時点で正当な所有者のみによって管理されていたこと
  2. 検証時点で証明書が失効していないこと(PKI・CRL/OCSP参照)
  3. 署名アルゴリズム・鍵長が検証時点でも安全であること

これらは時間とともに崩れます。署名した瞬間は正当でも、数年後に秘密鍵が漏洩したと判明すれば「その署名は漏洩前のものか後のものか」を区別できません。証明書は通常1〜3年で有効期限が切れ、CRL/OCSPの失効情報もCAが永久に保持するとは限りません。契約書のように10年単位で証拠として保持すべき文書では、これは致命的な弱点です。

単純なデジタル署名 と 長期署名(LTV) の違い
単純なデジタル署名 長期署名(PAdES-LTV等)
署名時刻の証明
署名者の主張のみ(PC内蔵時計)
TSAが第三者として時刻を証明
証明書失効後の検証
有効性を証明できない
署名時点の失効情報を保存し検証可能
署名鍵漏洩発覚後
過去の署名も無効と疑われる
漏洩前のTSタイムスタンプで正当性を証明
長期保存への対応
アルゴリズム危殆化に弱い
アーカイブタイムスタンプで再保護できる

TSA(Time Stamping Authority)によるタイムスタンプの仕組み

TSAは信頼できる第三者機関として、対象データが「ある時刻に存在したこと」を証明するタイムスタンプトークンを発行します。データそのものではなく、そのハッシュ値のみを送るのがポイントです。

1. 利用者:対象データ(署名済み文書など)のハッシュ値を計算
2. 利用者 → TSA:ハッシュ値を送信(原本は送らない=機密性を維持)
3. TSA:受信したハッシュ値 + 信頼できる時刻情報を結合し、TSA自身の秘密鍵で署名
4. TSA → 利用者:タイムスタンプトークン(TST)を返却
5. 利用者:TSTを文書に添付・保管
タイムスタンプ発行の流れ
1
利用者
対象データのハッシュ値を計算
原本はTSAに送らない
2
利用者 → TSA
ハッシュ値を送信し時刻証明を要求
3
TSA
ハッシュ値+時刻情報にTSA秘密鍵で署名
TST(タイムスタンプトークン)を生成
4
TSA → 利用者
TSTを返却
5
検証者
TSTのTSA署名とハッシュ値を照合
その時刻に文書が存在したことを確認

第三者機関が発行するため、利用者自身のPC時計を改ざんしても偽造できません。また文書のハッシュ値だけをやり取りするため、機密文書の内容をTSAに開示せずに時刻証明を受けられます。

長期署名(PAdES-LTV / XAdES)の考え方

長期署名は、デジタル署名+タイムスタンプ+検証情報(証明書・失効情報)をひとまとめにアーカイブし、将来いつ検証しても正当性を証明できるようにする方式です。代表例が PDF向けの PAdES-LTV(PDF Advanced Electronic Signatures - Long Term Validation)や XML向けの XAdES です。

構成要素役割
署名(ES)文書への署名者本人による署名
署名タイムスタンプ署名が行われた時刻をTSAが証明
検証情報(証明書・CRL/OCSP応答)署名時点で証明書が有効だったことを示す情報を同梱
アーカイブタイムスタンプ署名・検証情報全体に定期的に再度タイムスタンプを付与
長期署名(LTV)を構成する要素
署名(ES)
署名者の秘密鍵による署名
署名タイムスタンプ
TSAが署名時刻を証明
証明書チェーン
署名時点の証明書一式
失効情報(CRL/OCSP)
署名時点で有効だった証拠
アーカイブタイムスタンプ
危殆化前に再タイムスタンプ
長期署名データ
将来にわたり検証可能

アーカイブタイムスタンプによる延命

ハッシュ関数や署名アルゴリズムは将来的に危殆化(脆弱化)する可能性があります(例:SHA-1の危殆化)。長期署名では、アルゴリズムが危殆化する前に、署名・検証情報全体に対して新しいアルゴリズムでアーカイブタイムスタンプを再付与します。これを有効期限が切れる前に繰り返すことで、数十年単位でも証拠能力を維持できます。

時刻T1:文書に署名 + 署名タイムスタンプ付与
時刻T2(証明書失効前):検証情報(CRL/OCSP応答)を追加
時刻T3(アルゴリズム危殆化の兆候前):アーカイブタイムスタンプ①を付与
時刻T4(さらに将来):アーカイブタイムスタンプ②を付与(連鎖的に延命)

この「危殆化前に検証情報ごと再タイムスタンプする」という発想が、単純な署名との決定的な違いです。

SC試験での頻出ポイント

  • 署名だけでは長期的な非否認性を担保できない理由:証明書失効・鍵漏洩発覚・アルゴリズム危殆化により、過去の署名の正当性を後から証明できなくなるため
  • TSAが原本ではなくハッシュ値のみを受け取る理由:機密性の保持と通信量削減の両方が目的
  • タイムスタンプが証明するのは「時刻の正当性」であり「署名者の正当性」ではない:両者は別の役割
  • アーカイブタイムスタンプの目的:ハッシュ関数・署名アルゴリズムの危殆化に備え、危殆化前に検証情報全体を再保護すること
  • PAdES-LTV・XAdESの位置付け:署名+タイムスタンプ+検証情報を一体化し、長期保存文書の証拠能力を維持する標準規格

よくある誤問・ひっかけパターン

誤り① 「タイムスタンプはデータの改ざん検知だけを目的とする」→ 。改ざん検知(完全性)に加え、「その時刻にデータが存在したこと」という時刻の証明が本質的な目的です。デジタル署名の完全性検証とは目的が異なります。

誤り② 「証明書が失効・期限切れになれば、それ以前の署名もすべて無効になる」→ 。署名時点で有効だったことを示す検証情報(CRL/OCSP応答)とタイムスタンプを保存しておけば、証明書失効後も署名当時の正当性を証明できます。これが長期署名の存在意義です。

誤り③ 「一度タイムスタンプを付与すれば、その文書は永久に検証可能である」→ 。TSAの署名アルゴリズムやハッシュ関数もいずれ危殆化します。危殆化する前にアーカイブタイムスタンプで再保護しなければ、長期的な証拠能力は維持できません。

関連用語

重要キーワード

用語説明
TSA(Time Stamping Authority)第三者としてデータの存在時刻を証明するタイムスタンプ局
タイムスタンプトークン(TST)TSAがハッシュ値と時刻情報に署名して発行する証明データ
長期署名(LTV)署名・タイムスタンプ・検証情報を一体化し将来も検証可能にする方式
PAdES-LTVPDF文書向けの長期署名規格
XAdESXML文書向けの長期署名規格
アーカイブタイムスタンプアルゴリズム危殆化前に検証情報全体へ再付与するタイムスタンプ