ビットコインの仕組みのひとつに「電子署名」というものがあります。
ビットコインを学ぶうえで知っておきたい知識のひとつと言えます。
ここでは、電子署名の特徴について解説していきます。
電子署名とは
電子署名とは、デジタル文書の作成者を証明する技術のことを指します。
これは、ネットでやり取りがされた文書が本人によるものであるのかを検証するときに利用されます。
契約書、公共事業、電子カルテなどで用いられ、ビットコインではトランザクションが正当なものであるかを証明するためにこの技術が使われております。
電子署名は、あらゆる文字列を固定長の値に変換する「ハッシュ」と、特定の人だけが情報にアクセスすることが可能な「公開鍵暗号」を利用した技術です。
検証のときは、送り主からドキュメントの原文と、この原文をハッシュ値で秘密鍵で暗号化した電子署名のふたつを相手に送ります。
これを受け取った相手は、公開鍵を使って電子署名を復号化し、原文のハッシュ値との一致を確認し、メッセージの改ざんがされていないかどうかを検証することができます。
公開鍵暗号
公開鍵暗号とは、公開鍵(暗号化する鍵)と秘密鍵(復号化する鍵)が異なる暗号方式のことを指します。
公開鍵で暗号化されたメッセージは、秘密鍵でのみ復号化できる仕組みとなっています。
公開鍵暗号のアルゴリズムは、数学的な難問を応用してメッセージが暗号化されており、手動やコンピュータを利用して解読をするときには、多くの時間が必要とされています。
公開鍵暗号は、さまざまな種類があり、ブロックチェーンでは楕円曲線暗号と呼ばれる技術が使用されています。
ハッシュ
ハッシュとは、一方向ハッシュ関数と呼ばれており、あらゆる入力値に対して常に同じ固定長の値を返す性質をもつ関数のことを指します。
ハッシュ関数によって出た値のことを「ハッシュ値」と呼び、どのような値が出てくるのかは予想できないようになっています。
テキストやファイルにも適用がされ、情報や原本が改ざんされていないことを証明するときに利用されます。
ブロックチェーンでは、「SHA-256」というハッシュ関数が使用されています。
公開鍵暗号方式のリスクと対策
公開鍵暗号方式は、ひとつの鍵のみを使う方式と比較してセキュリティ面が強いというメリットがあります。
しかし、公開鍵暗号方式では「なりすまし」が最も大きなリスクです。
例えば、通常はAさんがデータをBさんへ送るときに公開鍵を用いて暗号化します。
しかし、このときに第三者であるCさんがBさんのなりすましをしていた場合、AさんはBさんにデータを送っていると思い込むこととなります。
Cさんは、自身の秘密鍵によってデータを盗み見することができ、その後にBさんの本当の公開鍵を用いて暗号化してからBさんに送ることで、Bさんに気付かれずに「第三者による盗聴」ができてしまいます。
これを防ぐためには、Bさんが自分の公開鍵が自分のものだと証明することが重要となります。
Bさんは、認証局へ自分の公開鍵を届け出ることによって、電子証明書が発行され、なりすまし防止に繋がります。
「認証局」とは、公開鍵の証明を行って電子証明書の発行を行う第三者機関です。
まとめ
ビットコインの特徴である「電子署名」は、基礎的な知識なため、必ず特徴を理解しておきましょう。
他にも、ビットコインを学ぶためには「ブロックチェーン」や「ハッシュ関数」、「マイニング」などの特徴があります。
この辺りの知識も基礎知識として理解するようにしておきましょう。