ブロックチェーンは高い改ざん耐性を持っていると聞いたことはあるが、なぜこの特徴を持っているか知らない方は多いと思います。
そこで今回は、ブロックチェーンのセキュリティについてわかりやすく解説します。
この記事を読めば、ブロックチェーンが高い改ざん耐性を持っている理由や注意すべき点を理解することができます。
株式会社リッカ
<<あわせて読みたい>>
【ブロックチェーンの仕組みとは?】特徴や基礎をわかりやすく解説
ブロックチェーンのセキュリティが高い理由
ブロックチェーンのセキュリティが高い理由として、主に以下の3つが挙げられます。
- 暗号化されるから
- 分散化されるから
- コンセンサスアルゴリズムで正当性が担保されるから
それぞれを解説します。
暗号化されるから
ブロックチェーンは取引データを保存する際に、ハッシュ関数を利用して暗号化しています。
ブロックチェーンの特徴として、同じネットワークに参加している人はブロックチェーンに登録されている記録を誰でも閲覧することができるのですが、ハッシュ関数で暗号化することで取引の詳細は判別できないようになっています。
また、公開鍵暗号方式を応用した「署名」の仕組みによって、取引は本人が行ったことを証明しています。
※ハッシュ関数とは、入力されたデータを計算して決められた長さの文字列として結果を返す関数のことです。この関数に入力された文字列と出力された文字列の間に規則性はないため、出力結果から元の値を復元することは不可能といわれています。
分散化されるから
ブロックチェーンは分散型台帳技術ともいわれ、ブロックチェーン上に登録されたデータはネットワーク参加者全員が保有することになります。
これにより、特定の端末が攻撃されたとしても他の端末が正常なデータを保有しているため、他の端末との整合性が取れず、すぐに改ざんが発覚します。
また、分散化されることで特定の端末からデータを取得できなくなったとしても他端末からデータを取得することができるので、システム全体がダウンする可能性は限りなく低くなります。
コンセンサスアルゴリズムで正当性が担保されるから
コンセンサスアルゴリズムとは、ブロックチェーン上にブロックを追加する際に取引の内容が正しいかを決めるアルゴリズムのことです。
コンセンサスアルゴリズムにはいくつかの種類があります。例えば、仮想通貨のビットコインではPoW(Proof of Work)を採用しており、承認にかかる膨大な計算(マイニング)をしてもらう代わりに報酬としてビットコインを新規発行されることになっています。報酬を与えることによってマイニングをした人は不正をするメリットがなくなるため、中央管理者がいなくても正しい合意形成が実現できました。
<<あわせて読みたい>>
ブロックチェーンのマイニングとは?仕組みや必要性、マイニングの種類を徹底解説
ブロックがチェーン状に繋がるから
ブロックチェーンはデータをブロック単位で時系列順に保有するという特徴があります。
ブロックの中は図1のようになっており、このブロックの中身をハッシュ関数に渡して返ってきた値が次のブロックと繋げるチェーンの役割を果たします。
1つ前のブロックのデータが書き換えられた場合、ハッシュ関数が返す値も異なるものとなってしまうため、ブロックを繋げるチェーンの整合性が取れなくなります。これによって、不正なデータとして扱われるという仕組みになっています。
<<あわせて読みたい>>
【ブロックチェーンの7つのメリット】デメリットもわかりやすく解説
ブロックチェーンセキュリティの課題
ブロックチェーンのセキュリティに関しても注意すべき点があります。ブロックチェーンセキュリティの主な注意点は以下の3つです。
- Dappsの脆弱性をつかれる
- 誰でも匿名で参加できてしまう
- 安全性を高めると処理速度が遅くなる
- 秘密鍵の管理
それぞれを解説します。
Dappsの脆弱性をつかれる
Dapps(Decentralized Applications)は分散型アプリケーションともいい、ブロックチェーンを基盤としたアプリケーションの総称です。
ブロックチェーンそのものに問題がなかったとしても、その周辺で動くアプリケーションの脆弱性をつかれる可能性があります。
そのため、ブロックチェーン開発では、信頼ができるノウハウを持った開発パートナーと提携することが大切です。
<<あわせて読みたい>>
スマートコントラクトとは?メリットや活用事例、注意点をわかりやすく解説
誰でも匿名で参加できてしまう
こちらはいくつかあるブロックチェーンの種類の中で、パブリック型を使用している場合に発生します。例えばビットコインは、法人、一般人問わずにブロックチェーンネットワークに匿名で自由に参加できるようになります。この場合、悪意のあるユーザも参加できるため、システムに対して攻撃をされる可能性があります。
しかし、コンソーシアム型やプライベート型のブロックチェーンを利用することで、悪意のあるユーザが参加する可能性を低くすることはできます。
<<あわせて読みたい>>
【トレーサビリティとは?】わかりやすく簡単に解説!その意味や必要性、メリットについて
安全性を高めると処理速度が遅くなる
ブロックチェーンにブロックを追加する場合、取引の内容が正しいことを証明するために膨大な計算を必要としますが、この計算で求めるべき解答の難易度を上げることで不正なデータが安易に登録されることがなくなります。
しかし、計算の難易度を上げることによってブロックに追加するまでの時間もかかることになり、結果として処理速度が遅くなってしまう問題があります。
秘密鍵の管理
ブロックチェーンは公開鍵暗号方式を利用した署名によって取引データを登録しますが、秘密鍵を悪意のある人に知られてしまった場合、秘密鍵に紐づく資産が窃取される可能性があります。
そのため、ブロックチェーンを利用するにあたり秘密鍵の管理は厳重に行うことが大切です。
<<あわせて読みたい>>
【Web3とは?】ブロックチェーンが何を実現するのか?徹底解説
ブロックチェーンセキュリティで注意すべき主な攻撃
ここからはブロックチェーンを利用する際に、警戒すべき主な攻撃例を4つ解説します。
- 51%攻撃
- シビル攻撃
- フィッシング攻撃
- ルーティング攻撃(ソースルーティング攻撃)
それぞれを解説します。
51%攻撃
51%攻撃(51%問題)とは、ブロックチェーンネットワーク内のマシンパワーの過半数以上のパワーでマイニングを行うと実質的にネットワークを乗っ取られるというものです。
例えば、ビットコインではマイニングを行った結果ブロックが生成されていくのですが、その積み重ねとして最もブロックの数が多くなったチェーンが正しい取引記録であるとみなすルールがあります。
このルールを悪用すると、「正規のチェーンよりもブロック数を多く作ることができれば、いつかは悪意のあるチェーンが正規のブロック数を超える」ということになります。さらに言い換えると、「正規のチェーンで動いているマシンを超えるパワー(51%以上)のマシンを使うことで、ブロック数を超えることができる」ということになります。
これが51%攻撃(問題)です。
シビル攻撃
シビル攻撃とは、特定の個人、団体が複数のアカウントを作成してネットワークを操作しようことです。
ブロックチェーンを構成するにあたり、P2P(ピアツーピア)が活用されていますが、アカウント複数作成することでP2Pネットワークに人数以上の個人、団体が参加可能となり多数意見に影響を与えることができます。
フィッシング攻撃
フィッシング攻撃とは、偽サイトにアクセスするリンクを添付したメールなどを送り、受信者の情報を盗み出す攻撃です。
ブロックチェーンでは、ユーザーがもつウォレットの情報を盗み出すことによって、攻撃者が自由に暗号資産を流出させることが可能になります。
ルーティング攻撃(ソースルーティング攻撃)
ルーティング攻撃とは、送信元がIPパケットの経路を指定する機能を悪用して、本来外部からアクセスできないネットワークに侵入するものです。
これまで暗号資産などでは注目されていなかった攻撃方法ですが、BGPハイジャックやビットコインノードの集中化によってルーティング攻撃が有効になりつつあるため注意が必要です。
<<あわせて読みたい>>
【ブロックチェーンのトークンとは?】種類や違いをわかりやすく解説
万全なブロックチェーンセキュリティを行うには
セキュリティが高いと言われるブロックチェーンですが、より万全な対策を行うためには以下の3つのことが大切です。
- 基本的なセキュリティを徹底する
- コンソーシアム型を採用する
- 開発実績が多く、信頼できるパートナーと組む
それぞれを解説します。
基本的なセキュリティを徹底する
インターネットを利用するうえで最も基礎的なことになりますが、悪意のあるユーザによって情報の漏洩や改ざんができないように、基本的なセキュリティを徹底する必要があります。
これはブロックチェーンだけに関わるものではありませんが、セキュリティに対する知識を深めることは重要な要素です。
コンソーシアム型を採用する
ブロックチェーンには、パブリック型とコンソーシアム型などの種類が存在します。
コンソーシアム型はブロックチェーンネットワークに参加できる人を制限することができるものです。
パブリック型の代表例としてはビットコインがありますが、こちらは法人、個人問わず誰でも参加できるため、悪意のあるユーザも簡単に入りこむことができます。しかし、コンソーシアム型によって参加できる人を制限することによって、悪意のあるユーザが入りこむ可能性を低くすることができます。
<<あわせて読みたい>>
【ブロックチェーンの種類とは?】違いや特徴、活用事例をわかりやすく解説
開発実績が多く、信頼できるパートナーと組む
開発実績が多く、信頼できるパートナーと組むことは、ブロックチェーンシステムのセキュリティを高めるために大切なことです。
開発実績が多いということは、システムに関する問題点などのナレッジも多く持っていることに繋がります。そういったナレッジを持っている会社であればより良いシステムを提供することができます。
株式会社リッカ
<<あわせて読みたい>>
【ブロックチェーン開発とは?】メリットや活用法、注意点、開発事例を紹介
まとめ ブロックチェーンのセキュリティについて
今回はブロックチェーンのセキュリティに関して紹介をしました。ブロックチェーンは高い改ざん耐性を持つことがメリットですが、それを利用するユーザーや開発をする企業がセキュリティ意識を持たずにブロックチェーン技術を活用すると、メリットを活かしきることができません。
IT技術すべてに言えることですが、正しいセキュリティ知識を持ったうえで、情報の漏洩や改ざんの対策を取っていくことが大切です。
将来性が期待されるブロックチェーンですが、ブロックチェーン開発には独特のノウハウや注意点があります。ブロックチェーンやスマートコントラクトを活用したシステム開発は、株式会社リッカにご相談ください。
株式会社リッカ
<<あわせて読みたい>>
コメント