タイムスタンプ

タイムスタンプ

デジタル署名によって、文書ファイルなどのデジタルデータについて「誰が作成したか」ということと「改ざんされていない」ということを確認できます。ですが、データが「いつ存在していたか」ということはわかりません。データにタイムスタンプを付加することで、そのデータがいつ存在していたということを証明できます。

timestamp01.png
図 デジタル署名とタイムスタンプ

データにデジタル署名に加えてタイムスタンプを付加することで、より厳密な否認防止が可能です。たとえば、何らかの商品発注を行うシステムを考えます。発注データにデジタル署名とタイムスタンプを付加すれば、発注データを作成した発注者と発注内容が改ざんされていないことと発注データを作成した日時が信頼できる第三者機関によって保証されます。そのため、発注者が「発注なんかしていない」と否認できません。

タイムスタンプの付加

文書ファイルなどのデジタルデータにタイムスタンプを付加するためのプロトコルとしてTSP(Time Stamp Protocol)があります。TSPでは、信頼できる第三者機関によってデジタルデータがいつ存在していたかを保証します。タイムスタンプを付加する第三は機関がTSA(Time Stamp Authority)です。デジタルデータに対してタイムスタンプを付加する手順は次のようになります。

  1. タイムスタンプをデジタルデータに付加しようとする利用者は、タイムスタンプ要求として対象のデータのハッシュ値をTSAに送信します。
  2. TSAでは、タイムスタンプトークンを作成します。タイムスタンプトークンは、ハッシュ値に日時を付加して、TSAでデジタル署名したものです。
  3. TSAは、タイムスタンプ応答としてタイムスタンプトークンを利用者に送信します。
  4. 利用者は、タイムスタンプトークンを対象のデータと一緒に保存します。

timestamp02.png
図 タイムスタンプの付加

タイムスタンプを付加する対象としては、文書ファイルなどのデジタルデータに作成者がデジタル署名したものが最も一般的です。デジタル署名により、文書ファイルの作成者がわかり、改ざんされていないことが保証されます。これを保証するのはデジタル署名作成に利用した証明書を発行しているCAです。そして、タイムスタンプを付加した時点ですでにデジタル署名がされていたこと
がTSAによって保証されます。

timestamp03.png
図 タイムスタンプ付加の対象

アーカイブタイムスタンプ

デジタル署名を検証することによって、データの作成者と改ざんされていないことを確認できます。そのためには、署名した利用者のデジタル証明書が必要です。デジタル証明書には、有効期限があります。また、有効期限前でもCRLによって失効する場合があります。デジタル証明書の期限が切れたり、失効するとデジタル署名の検証ができなくなってしまう場合があります。デジタル署名に利用したデジタル証明書の有効期限が切れても、デジタル署名の検証ができるようにするためにアーカイブタイムスタンプがあります。

アーカイブタイムスタンプは、

  • 元のデータ、デジタル署名
  • 付加されたタイムスタンプ
  • 検証情報(証明書と関連する失効情報)

に対して付加されるタイムスタンプです。

timestamp04.png
図 アーカイブタイムスタンプ

アーカイブタイムスタンプによって、アーカイブタイムスタンプを付与した時点で、データ、デジタル署名、タイムスタンプ、検証情報が確かに存在していたことが保証されます。そして、タイムスタンプと検証情報から、デジタル署名は証明書が有効なときに付加されたものであることを確認して、デジタル署名の検証ができるようになります。
なお、タイムスタンプはTSAのデジタル証明書の有効期限が切れてしまうと、検証できなくなることがあります。そこで、アーカイブタイムスタンプは繰り返し付与することもできます。これまでのアーカイブタイムスタンプも含めたすべてのデータに対して、新しくアーカイブタイムスタンプを付加して、長期間にわたって元のデータのデジタル署名の検証が可能です。