仮想通貨ビットコインの「公開鍵暗号」と「電子署名」という技術

前回も仮想通貨ビットコインでセキュリティのことを紹介しました。
ビットコインは暗号化技術が優れており、第3者に盗まれることがないように「公開鍵暗号」と「電子署名」という技術を使っています。

これは例えばAさんからBさんにビットコインを送金するときに、取引のデータをインターネットを通じてやり取りすることになりますが、との送金途中で誰かに抜き取られないようにすることができます。

今回はこの「公開鍵暗号」と「電子署名」という技術を紹介します。

前回紹介した記事も参考にしてください。
[kanren postid=76 ]

ビットコイン送金時に使う暗号化技術「公開鍵暗号」と「電子署名」

ビットコインはそのものをコピーしたり、改ざんしたりすることは不可能です。
また、取引所のクラウドサーバーに預けたビットコインが盗まれる心配もかなり低いです。

それではビットコインを送金中に誰かに抜き取られることはないのでしょうか。

ビットコインの送金は全てインターネット経由で行われます。
最近はセキュリティ技術も上がり、オンラインショッピングでクレジットカードをしようする方も多くなっています。

ビットコインではオープンなインターネット経由で送金をしていることは技術的に、セキュリティ的に問題ないのでしょうか。
その問題を解決するのが以下の2つの技術となります。

受け取る側が用意する「公開鍵暗号」方式

上記でも説明しましたが、仮想通貨ビットコインを送金するときは取引データをインターネットを経由してやり取りすることになりますが、送金途中で誰かに抜き取られないように、「公開鍵暗号」と「電子署名」という技術を使っています。

受けとる側が用意する「公開鍵暗号」は、あるデータを暗号化するときと、元のデータに戻す(復号)ときに別々の鍵を利用することで、第3者に暗号を破られないようにした技術です。
これはデータを送る人ではなく、受け取る側の人が上記の2つの鍵を用意するところが特徴です。

従来の暗号では、復号には同じ鍵が使用され、データを送る人と受け取る側の人が同じ鍵を利用することで、暗号化と復号化が行われました。
そのため、鍵そのものが盗まれてしまうと、そのデータが第3者から丸見えになってしまうという危険性もありました。

公開鍵暗号ではまず、データを受け取る人が「暗号化に使用する鍵」と「復号化に使用する鍵」を用意して、「暗号化に使用する鍵」だけを公開します。
これは誰でも見られるために「公開鍵」と言います。

データを送る人はその公開鍵をしようしてデータを暗号化し、送ります。
データを受け取った側の人は自分だけが持っている「復号化に使用する鍵」でそのデータを復号します。
これはデータを受け取る人だけが知っているので「秘密鍵」と言います。

この方式により、誰でも暗号化されたデータは盗むことはできますが、復号のための「秘密鍵」はそのデータを受け取る人しか持っていないので、第3者が暗号を解読することはできません。

送る側が用意する「電子署名」方式

「電子署名」は公開鍵暗号とは全く逆の流れになります。

データを送る人が「暗号化に使う秘密鍵」と「復号化に使う公開鍵」を用意し、「秘密鍵」で暗号化します。
「暗号化されたデータ」と「公開鍵」をデータを受け取る人に送ります。

これは「暗号化されたデータ」と「公開鍵」が同時に送られるので、その気になれば誰でも復号することは可能です。
これだと中身は誰でも確認することができます。

しかし、中身が誰でもわかるからこそ、わかることがあります。
それは、このデータを送ってきた人は、鍵を作成した本人に間違いないということです。

秘密鍵はデータの送り主しか知らないので、セットで生成した公開鍵で復号できたということは、このデータを送ったのはまさに本人だということがわかるわけです。
これが「署名」ということになります。

仮想通貨の技術ではブロックチェーンが使われます。
これは前回の記事でも紹介した通り、コピーや改ざんはできません。

さらに、ビットコインの取引記録は全てオープン担っています。
誰でも取引記録を見てチェックすることができますので、間違いなくAさんがBさんへ送金したという事実が残ります。

これが電子署名の技術を利用することで盗まれるということは無くなります。

元の所有者の許可なく送金されることはない

ビットコインの送金で元の所有者であるAさんの許可がなければ、誰に対しても送金することはできません。
ただし、二重払いや不正操作を防ぐために、個々の取引は第3者の手によってチェックされ、間違いなくAさん→Bさんへ送金したことが確認されて初めて取引が成立します。

この第3者の確認作業があるからこそビットコインによる送金の安全性が保たれているのです。