ブロックチェーンのセキュリティ対策の一つ「暗号技術」の謎にせまる
ブロックチェーンにおいてセキュリティ対策は非常に重要です。そのセキュリティ対策の中でも、暗号技術というものがあります。 インターネット上には様々なデータが存在しており、他人にみられてはならない情報が数多く存在しています。もし見られてしまったら、その情報を悪用され、多大な損失につながる危険性もあるのです。 こういった他人に見られては困るような情報を盗まれないためにも、暗号技術というセキュリティ対策が非常に重要となっています。 今回は、見られては困るような情報を守るために必須なセキュリティ対策の中でも、暗号技術についてご紹介していこうと思います。


今日はセキュリティ対策の一つである暗号技術について説明しよう。

暗号ってよく謎を解く時に使うやつ?

その暗号と意味は同じじゃな。ただ、今回の暗号化はデータに対しておこなわれるもので、他人のデータを不正に利用しようとしている悪い奴らから守るための仕組みじゃ!

インターネット上には、僕たちのデータを不正に利用する人がいるんだね…怖い…

大丈夫じゃよ。今回は不正に利用されないためにも、暗号技術について詳しく説明するからよく聞いておくんじゃぞ!

不正に利用されないためにも自分で知識をもつ必要があるんだね。
暗号技術の基礎
暗号技術とは
まずはじめに、情報セキュリティを考える時に満たすべき3つの要素があることはご存知でしょうか。それは「機密性」、「完全性」、「可用性」の3つです。
「機密性」は第三者に盗聴されないように限られた人だけがデータにアクセスできるようにすることで、「完全性」はデータを改ざんから保護すること、「可用性」は必要なときにいつでも安全なアクセスができることを示しています。
この3つの中でも、暗号技術の場合は、機密性と完全性を維持するための情報セキュリティの技術基盤の1つとなっています。
次に暗号化の仕組みについて、解説していきたいと思います。暗号技術は、暗号化と復号化に必要な「鍵」と「アルゴリズム」(ルール)によって成り立っています。
例えば、データの送信側が平文でI LOVE YOUというデータを送ったとすると、この平文は秘密鍵の署名によって暗号化されます。この時、署名して暗号化すると、さっきの平文はK NQXG AQWといった暗号化テキストに変換されます。
しかし、この暗号化テキストを見ただけでは、これが本当に送信側の人がI LOVE YOU と送ったかどうかはわかりませんよね。
そこで、暗号化する時に使った鍵の対になっている鍵で署名をして複合化をすると、K NQXG AQWという暗号化テキストから、I LOVE YOUに変換されます。
復号化することによって、受信者側の人は送信側の人がI LOVE YOUと送ったということが分かるというわけです。
暗号化が必要な理由
次に、なぜデータには暗号化が必要なのかについて解説していきたいと思います。暗号化が必要な理由を簡単にいうと、個人情報などのデータを、不正に見られないようにするためです。
最近は、様々なWebサービスの浸透により、インターネットに預けるデータの種類と量が年々増加しております。
その中でも画像や動画の増加は、加速度的に増えており、データ容量の増加にも繋がっています。こういった様々なデータの中には、プライベートなデータやのぞき見されたくないデータもたくさん存在しています。
特に、個人情報を見るために必要なログインIDや、パスワードは絶対に他人に知られてはいけません。例えば、クレジットカードの情報を打ち込むときは必ず暗号化して送信がされていますが、暗号化をしてから送信をしなかった場合、途中で盗み見られる可能性があるので、お金に係る情報のやり取りの際には、絶対に暗号化が必要になります。これに加えて、住所などの個人情報も同じように暗号化が必須です。
特に、秘密鍵に関しては必ず暗号化が必要で、秘密鍵を盗まれてしまうとデータを盗まれたも同然です。そのため、仮想通貨の移動権限や所有権は、秘密鍵を持っているということと同義であるため、秘密鍵を取られた瞬間、仮想通貨の口座に入ってる残高も盗まれることになってしまいます。
以前、取引所でネムという仮想通貨が当時の価格で500億円分盗難されるという事件がありました。この事件の原因が、仮想通貨を管理していたウォレットの秘密鍵を取られたことで、盗難者がこの秘密鍵を使って、仮想通貨を自分の口座に移動してしまったのです。
こうなってしまうと、盗まれた仮想通貨を取り返す手段はもうありません。ですので、秘密鍵が盗まれた瞬間、口座の中身も盗まれてしまうというわけです。
では、この事件を繰り返さないためにはどうすれば良いのでしょうか。それは、秘密鍵を厳重に管理するしか現時点では方法はないです。
現時点では、とにかく厳重に管理するしか方法論がないということで、その対策としては、オンラインに触れさせない、紙に書いて置く、などとにかくオンライン上での管理をしないなどして秘密鍵を管理する必要があります。
2つの暗号方式
共通鍵(対象鍵)方式
暗号方式には有名なものが2種類あります。1つ目が、「共通鍵(対象鍵)方式」です。先ほど解説した暗号化処理と複合化処理を、共通の鍵を使っておこなう方式になっています。
どういうことかというと、送信側と受信側があらかじめ同じ鍵を共有しておいて、この鍵を利用して暗号化と複合化がおこなわれるということです。
共通鍵暗号の例としては、シーザー暗号が挙げられます。現在では、コンピュータを用いた共通鍵暗号が使われており、「AES」(Advanced Encryption Standard)という強力な暗号技術が普及して利用されているのです。
公開鍵(非対称鍵)方式
2つ目が、「公開鍵(非対称鍵)方式」です。公開鍵方式では、暗号化処理と複合化処理に別々の鍵を利用していますユーザーは公開鍵と秘密鍵のペアを作成し、公開鍵だけを公開しておきます。この公開鍵は、誰でも見られる状態にしておく必要があります。
次に、送信者は受信者の公開鍵で暗号化してから送信し、受信者は受け取った暗号文を受信者の秘密鍵で複合化することで、データのやり取りをおこないます。
公開鍵暗号方式では、「RSA」や「楕円曲線暗号」が有名なアルゴリズムで、Bitcoin(ビットコイン)の本人確認時などにも利用されています。
最近のセキュリティでは、公開鍵暗号方式を使うパターンが多くなってきています。

暗号化技術が、セキュリティ対策のためにどれだけ大切か理解できたじゃろうか?

うん!個人情報とか、クレジットカードの情報が盗まれちゃったら、大変なことになっちゃうもんね…そうならないためにも、暗号化技術は必須なんだね!

そうなんじゃよ。今回紹介した暗号化技術は、ブロックチェーンを使う時にも考慮しなきゃいけない内容じゃぞ。それ、まとめに入るぞい。
まとめ
今回紹介した暗号化技術は、個人情報や、クレジットカード情報など、盗まれたら多大な損失につながるものを守るためには、非常に重要な技術になります。
他にもセキュリティ対策は数多くありますが、その中でも必須の技術となっているので、しっかりと暗号化技術の仕組みを理解し、ブロックチェーンを使ったシステムを考える時にも、暗号化技術を取り入れる必要があります。
ハッカーはこういった個人情報を狙った攻撃を四六時中おこなっているので、盗まれないためにもしっかりと対策をおこなっていきましょう。