電子文書の証拠保全
Problem Statement
電子文書は、紙文書と比較して、改ざんが容易、改ざん跡が残らず改ざんを事後に検出することが困難といった脆弱性を持っています。これらの脆弱性を緩和するために、電子署名や長期署名(タイムスタンプ)などが利用されています。
電子署名では、ハッシュ値を秘密鍵で暗号化し、電子文書に組み込みます。仮に秘密鍵が漏えいすると、この電子文書は安全ではなくなります。この場合、過去に署名した電子文書の安全性が損なわれます。タイムスタンプも同様に公開鍵暗号方式を使用しているため、危殆化、脆弱性、漏えいなどによって、有効性が失われます。
このため、電子署名は、一般的に有効期限が1〜3年、長期署名(タイムスタンプ)は10年で10年を越える場合は、再署名を行う必要があります。秘密鍵の漏えいなどが起きると、その署名は失効します。
また、長期署名(タイムスタンプ)は、国ごとに認められた時刻認証局が異なるため、証明したい国ごとに署名する必要があります。
日々発生する、すべての電子文書に対して電子署名や長期署名(タイムスタンプ)を行うことは現実的には困難であり、明示的に証拠を残しておきたい文書に対して、このような証拠担保のための処理を行うことが一般的です。
Solution Overview
ScalarDL に、電子文書のハッシュ値を記録しておくことで、危殆化と漏えいリスクに対応できるようになります。
ScalarDL に、電子文書のハッシュ値、電子署名済みの電子文書のハッシュ値、タイムスタンプ・トークン(長期署名によって生成されるトークン)を記録しておくことで、電子署名が危殆化(有効期限切れ)したり、秘密鍵の漏えいによって電子署名が失効したとしても、これらの改ざんを検知することを可能にします。
Why Scalar
ScalarDL は、アセット単位でデータを記録します。アセットにデータを追記すると、新たに記録されたデータは、前のデータのハッシュ値と連なる形で保存され、ハッシュのチェーンが構成されます。このため、古いデータほどハッシュチェーンが長くなり、改ざんが困難になり、危殆化に対応することができます。同じく秘密鍵が漏えいしたとしても、新しいデータが積み重なっている状態で過去のデータを変更すると、ハッシュチェーン全体を再計算して再構成する必要があるため、漏えいした秘密鍵を使って過去のデータを書き直すことは困難になっています。加えて、ScalarDL を Auditor 構成で構築した場合、データを記録したサーバーだけでなく、Auditor 側のデータも改ざんしなくてはならないため、記録されたデータを改ざんすることは非常に困難になっています。
このため、電子文書のハッシュ値、電子署名済みの電子文書のハッシュ値、タイムスタンプ・トークン(長期署名によって生成されるトークン)を記録しておけば、電子文書を証明するための証拠となるデータが改ざんされていないことを証明することができ、その有効性を証明することができます。また、ScalarDL のアセットは順序を証明することができるため、タイムスタンプ・トークンがアセットに記録されると、それよりも前に記録されたデータが、タイムスタンプ・トークンよりも前に存在していたことも証明することができます。