本コラムでは、Fierblocks社の「7 Reasons Why MPC Is The Next Generation of Private Key Security」を翻訳して紹介します。
https://www.fireblocks.com/blog/7-reasons-why-mpc-is-the-next-generation-of-private-key-security/
Cygnosが採用したFireblocksの基盤技術であるMPCについて解説しています。興味がある方は是非ご一読ください。
暗号資産を管理する機関投資家の中で、マルチシグネチャー・ウォレットは、シングルキー・ウォレットよりも資産の安全性を高めるという点において標準的な技術となっています。しかし、昨今、Multi-Party Computation (MPC)「マルチパーティコンピュテーション」という新たな暗号技術のブレークスルーにより、新世代のキー管理の時代が到来してきました。
MITのデジタルカレンダーイニシアティブのシニア・アドバイザーであるMichael J. Caseyは、MPCはユーザービリティとセキュリティの聖杯として歓迎されはじめていると語りました。
しかし、多くの技術開発がそうであるように、初期の段階では誤った情報や混乱が広まるのが一般的です。Fireblocksでは、MPCの最先端の研究を活用し、その結果、顧客、規制当局、パートナーにMPCの実装やユースケースについての教育に多くの時間を費やしてきました。
この記事では、MPCとしきい値署名がマルチシグ技術を超え、最終的には次世代の秘密鍵セキュリティに必要な柔軟性とセキュリティをもたらすと考える理由をいくつか紹介します。
1. MPCには単一障害点が存在しない
マルチシグネチャー構成と同様に、MPCベースのソリューションにおいては、一箇所で秘密鍵が作成されたり、保管されたりすることはありません。MPCテクノロジーは、サイバー犯罪や内部の不正行為・共謀から鍵を保護し、従業員や関係者が暗号資産を盗むことを防ぎます。
2. MPCはプロトコルに依存しない
全ての暗号資産プロトコルがマルチシグネチャーをサポートしているわけではなく、プロトコルによって実装方法は大きく異なります。これにより、マルチシグネチャーのプロバイダーが新しいチェーンをサポートすることは難しくなっています。
さらに、全てのウォレットがマルチシグネチャーのスマートコントラクトからの暗号資産の送付をサポートしているわけではありません。このため、マルチシグネチャーのスマートコントラクトアドレスから暗号資産を移動する際に、様々な問題や摩擦が一部の取引所との間で生じます。
しかしながら、MPCは、ほとんどのブロックチェーンで使用されている標準化された暗号署名アルゴリズム(ECDSAまたはEdDSA)上で動作するため、異なるブロックチェーン間でのMPCの実装が可能です。これにより、MPCを利用する機関投資家は、迅速かつ容易に新しい暗号資産をプラットフォームで利用することが可能になります。
3. MPC技術は、学術的に検証され実用化されている
MPC技術は、暗号資産ウォレットの文脈においては、比較的最近になってからしか利用されていませんでしたが、1980年代初頭から学術研究のトピックとなっており、広範な公開ピアレビューを受けてきました。
https://eprint.iacr.org/2019/114.pdf
このことを念頭に置き、MPCを使用する全てのベンダーは、NCCグループの様な暗号評価および侵入テストプロバイダーに多大な投資を行い、その実装を検討しています。
MPCの実装はブロックチェーンプロトコルに依存しないため(上記の#2を参照)、攻撃対象領域は最小限に抑えられ、各レビューでは全てのプロトコルの実装が修正されます。残念ながら、各プロトコルではウォレットプロバイダが異なるコードを実装する必要があるため、オンチェーンのマルチシグソリューションではそうはいきません。
マルチシグの実装がうまくいかなかったときのよく知られた例がいくつかあります。
- The Multi-Sig Parity Wallet – 貧弱な実装に起因して3,000万ドル相当のEthereumがハッキングされたことがあります
- Parity Wallet Hacked (Again) – ハッカーはウォレットへのアクセスに成功し、3億ドル相当のEthereumを凍結させました。一部のユーザーは30万ドル相当の暗号資産を失いました。
- Vulnerabilities in Bitcoin Multi-sig – Bitcoin マルチシグチェック実装の脆弱性が開発環境に展開され、このコードベースが普及しているにもかかわらず、未だに脆弱性が残っていることが判明しました。
4. MPC技術はオペレーションの柔軟性を高める
組織が成長するにつれ、暗号資産へのアクセスと送付のプロセスを適宜調整する必要があります。これには、取引に署名するために必要な従業員の数を決定すること、新しい従業員を雇用する際に新しいキーシェアとして追加すること、従業員が退職する際にキーシェアを取り消すこと、取引に署名するために必要な閾値を変更すること(例:「4人中3人」から「8人中4人」に変更すること)などが含まれます。
このシナリオでは、マルチシグのアドレスはウォレットにあらかじめ設定されているため、組織にさまざまな課題をもたらします。
つまり、一度ウォレットが作成されると、「M of N」の構造が固定されます。例えば、新しい従業員が採用され、マルチシグのウォレットの署名を'3 of 4'から'3 of 5'に変更したい場合は、次のようにします。
a. 新しいスキームで新しいウォレットを作成する
b. 全ての資産を新しいウォレットに移動
c. ウォレットのアドレスが変更されたことをすべての取引先に通知する
(c)のステップは非常に困難かつ危険であり、カウンターパーティが誤って古いウォレットアドレスに暗号資産を送る可能性があります。仮にそこに送金された場合、これらの仮想通貨は永遠に失われることになる。(訳注:古いウォレットの秘密鍵を保管しておいた場合はその限りではありません)
対照的に、MPC は、署名スキームの継続的な変更と維持を可能にします。例えば、「3 of 4」の設定から他の設定に変更するには、既存の担当者が新しい分散計算と新しいユーザー・シェアの追加に同意する必要があります。このプロセスでは、ブロックチェーンのウォレットアドレス(入金アドレス)が維持されます。これらの結果として、
- 新しいウォレットを作る必要がありません
- 資産を移動する必要がありません
- 取引先は引き続き既存のアドレスを利用可能です
これにより、オペレーションのスケールアップやチームの運用方法に合わせた調整を摩擦なく行うことができ、重要なオペレーションの変更により誤って資金を失うリスクを排除することができます。
5. MPCは最安のトランザクション手数料を実現する
ビットコインのP2SHマルチシグであれ、Ethereumのスマートコントラクトベースのマルチシグであれ、マルチシグをベースにしたウォレットは、通常のシングルアドレスによる取引よりも通常手数料が高くなります。
しかし、MPCベースのウォレットは、ブロックチェーン上では単一のウォレットアドレスとして表現され、実際の分散署名はブロックチェーンの外で計算されます。これは、トランザクションの手数料を可能な限り低く抑えることを意味します。
これは、特にB2Cアプリケーションにおいて、1日に数百件のトランザクションを発行する際に重要になりえます。
6. MPCベースのソリューションは、秘匿署名とオフチェーンのアカウンタビリティを可能にする
アカウンタビリティは、おそらくMPCベースのソリューションで最も誤解されている側面の1つです。
署名に関してオンチェーンの透明性を持つことは、組織にとって有益に見えるかもしれませんが、 実際には多くのプライバシーの問題が発生します。さらに重要なのは、署名スキームとワークフローが即座にすべての人に公開されてしまうことで、セキュリティ上の問題も生じてしまうということです。
機関投資家は、誰が署名できるのか、何人のユーザーが署名したのか、何人のユーザーが署名を求められているのか、その他の機密情報の中でも、組織に対する物理的な攻撃の対象となる可能性があるため、明らかにしたくない場合があります。
かわりに、MPCは、各共同署名コンポーネントが、部外者に公開されることなく、どの鍵が署名に参加したかを監査できるように、オフチェーンのアカウンタビリティを提供しています。例えば、Fireblocksは、各署名サイクルに参加した鍵の監査ログを保持しており、クライアントが希望すれば、クライアント側でも監査ログを保持することができます。
さらに、手数料とミュータビリティに関連する制限のため、オンチェーン・マルチシグを採用しているエンタープライズ・ウォレット・プロバイダーの中には、顧客の組織構造やポリシーに関係なく、ホットウォレットに2/3の署名スキームしか使用できないものもあります(#4および#5参照)。
通常、1つのシェアはウォレットプロバイダーに、1つのシェアはクライアントに、1つのシェアはバックアップとして保持されます。しかし、クライアントのシェアはクライアントの全ユーザーに分散しているため、取引が署名されたときに、どのユーザーがそのシェアを使用したかを正確に知ることができる暗号化をされた保証はありません。このため、「アカウンタビリティ」の主張は信頼性に欠けます。
しかし、MPCに基づいたソリューションは、これらの欠陥を取り除き、真のアカウンタビリティを果たすための徹底した信頼できる記録を提供することができます。
7. MPC技術でハードウェアの分離を強化
ハードウェア隔離モジュール(耐タンパ装置 およびセキュア・エンクレーブ)は、システムが危殆化した場合に暗号化された資料を保護する重要な手段です。しかし、秘密鍵を保護するための最も安全なソリューションを提供するには、耐タンパ装置だけでは十分ではありません。
同様に、MPCだけでは解決策の一部に過ぎません。その結果、MPCも耐タンパ装置も代替技術であるという誤解が生まれています。
その代わり、耐タンパ装置のようなハードウェア隔離モジュールに加えてMPCを使用することは、耐タンパ装置だけでは完全な防弾性がないために重要です(耐タンパ装置技術のこの評価を参照)。
さらに、耐タンパ装置を使用した実装では、認証トークンまたは耐タンパ装置クライアントが漏洩した場合、攻撃者はウォレットを空にすることができるという事実に悩まされます。実際、クライアントの認証資格情報やトランザクション生成コードが漏洩するだけで、これらの項目は耐タンパ装置の中には存在しません。
Fireblocksでは、MPCと耐タンパ装置の技術を組み合わせて、システムのセキュリティを指数関数的に向上させ、真の多層防御セキュリティアーキテクチャを構築します。
このようにして、FireblocksのMPCキーマテリアルはすべて、ハードウェアで分離されたIntel SGXテクノロジー対応のサーバー(Intelのセキュア・エンクレーブ)とモバイルデバイスのセキュア・エンクレーブ(TEE)に保存・分散されています。さらに、MPCアルゴリズムとポリシーエンジンの実行は、すべてセキュアエンクレイブの内部に実装されており、悪意のある外部や内部のアクターが実行やポリシーエンジンを変更することを防ぎます。
結論
機関投資家は、競争力を維持するためには、セキュリティとアクセシビリティの間に妥協は許されないことを知っています。MPC技術により、企業は市場機会を獲得し、これまで不可能だった安全な環境で暗号資産を展開することが可能になります。