行政書士とブロックチェーン15
デジタルデータがいつ作られた、発行したのか証明するタイムスタンプは重要である。
このタイプスタンプにも、ハッシュ値が使われている。
まず、ある時点で存在していたことを証明するドキュメントを作成し用意する。このドキュメントのMD5のハッシュ値を作成するのである。このハッシュ値に、現在時刻を足して第2文書を作成し、ハッシュ値を作成する。最もシンプルなタイムスタンプである。
この方法には次のような大きな欠点がある。
①悪意のある第三者によって、いつでも時刻データの書き換えが
可能であること。
②悪意ではなくても、時刻データが正確であるとは限らないないこと。
タイムスタンプは、こと2つの問題に対するしくみである。
タイムスタンプを使用する場合、TSA、TAAという2つの機関がある。
TSAはタイムスタンプを押してくれる機関である。時刻証明して欲しい企業や個人の求めに応じタイムスタンプを押してくれる機関である。TAAは正確な時刻[ミリ秒レベルの精緻]の発信を行う機関である。TSAがTAAから正確な時刻の配信を受ける。
このしくみであるが、①あるデータ対して時刻証明して欲しい、そのデータのハッシュ値をTSAに送信する。→②TSAはそこに時刻データを付加して、タイムトクーンと呼ばれるデータを作る。[ハッシュ値]→③TSAは自分の秘密鍵を使って、タイムスタンプ
トークンにデジタル署名を施す。つまり、悪意のある者による時刻の内容の書き換えが不可能になる。TSAが秘密鍵を厳正に限り、
時刻の書き換えは不可能である。
元の時刻を検証する場合は、次の手順を踏めばよい。
①検証対象のもと文書をハッシュ関数にかけ、ハッシュ値を作成する。
②タイムスタンプトークンを、TSAの公開鍵で復号し、ハッシュ値と時刻を得て、そこからさらにハッシュ値だけを取り出す。
③2つの経路で得られたハッシュ値同士を比較し、合致していれば、TSAがタイムスタンプ押したときはその文書が存在していたし、タイムスタンプを押して以降その文書変更は加えられていない。