秘密計算

暗号鍵のセキュリティはMPCによる秘密計算で大きく改善される?

MPCセキュリティ

この記事では、海外を中心として増加傾向にある「秘密鍵の管理と認証をMPCで行う事例」を解説していきます。

はじめに

インターネットの普及に伴い、膨大な量の情報がやりとりされるようになりました。中には、他者に知られては困るものもあり、それらの情報を安全に扱うために様々な暗号方式が考案、利活用され始めています。

その暗号方式の一つに、公開鍵暗号方式が存在します。この方式では、情報の受信者があらかじめ公開鍵と秘密鍵のペアを作成し、公開鍵を発信者に渡します。発信者は公開鍵を用いて送信情報を暗号化します。この時、受信者だけが秘密鍵を知っているということによって伝達情報の安全性を担保しています。

なお、公開鍵暗号方式についての詳細はこちらの記事において紹介しています。

従来の秘密鍵の管理方法

公開鍵暗号方式の肝とも言える、秘密鍵の管理方法として、マルチシグというものが存在しています。

マルチシグの定義は以下のように定められています。

2つ以上の公開鍵を登録して、それに対応する一部もしくは全部の秘密鍵による署名によってはじめて認証ができる仕組みをいう。

N個の秘密鍵のうちM個の秘密鍵が必要な場合、M of Nと表現され、例え1つの秘密鍵が盗まれても、残りのM-1個の秘密鍵が盗まれなければ、情報が漏洩しない仕組みとなっています。

例えば、公開鍵が3つ登録されていて、2つの秘密鍵を必要とするものは2 of 3と表現し、2つの秘密鍵が盗まれない限り、情報が漏洩しない状況を作ることができます。

従来の秘密鍵の管理方法の問題点

ただし、このマルチシグを用いる場合でも、その複数の秘密鍵を適切に保管しなければいけません。

例えば、同一サーバ上にM個の秘密鍵を保管していた場合、そのサーバが侵害されてしまってはM個の秘密鍵は全て盗まれてしまいます。 また、保管を分散させているのが同一ネットワークセグメント上のサーバである場合、1つのサーバが侵害されてしてまえば、そこを起点に他のサーバも侵害され、結局M個の秘密鍵が窃取されてしまう可能性が高くなっています。

さらに、企業などにおける担当者がM個の秘密鍵にアクセス可能な状況も、その担当者が犯行することを可能としてしまうため、避ける必要があります。

実際にマルチシグ実装が不適切であったため、仮想通貨情報が盗まれてしまった事例も発生しています。

MPCによる秘密鍵の管理

一方で、MPCを用いた秘密鍵の管理方法では、従来の秘密鍵管理方法とは異なり、秘密鍵の生データを保存・復号する必要がありません。

この手法では、従来の秘密鍵を部分化して暗号化し、それぞれを複数人に分散共有します。 秘密鍵は部分化された状態で分散共有されているため、その一部が漏洩してしまっても、完璧な秘密鍵を復元することはできません。

秘密鍵を用いた処理を実行する場合には、MPCを用いて部分化した秘密鍵を利用し、処理を実行します。 これによって、そもそも秘密鍵の生データを保存・復号することなく、秘匿したい情報を安全に運用することができます。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8e483770-2886-417a-bde7-53d60dce5d15/.002.jpeg

MPCによる秘密鍵の管理・認証に使用するメリット

単一障害点を持たないこと

MPCベースの秘密鍵はその特徴から、単一障害点を持ちません。単一障害点とは、その単一箇所が働かないと、システム全体が障害となってしまうような箇所を指します。

従来の秘密鍵の管理方法では、秘密鍵の生データが存在していること自体が単一障害点となっていました。

しかし、MPCベースの秘密鍵であれば、認証時に秘密鍵の生データが存在しないため、分散させた情報全てを窃取されない限り、サイバー攻撃を受けたり、内部犯行の被害を受けたりすることがありません。

MPCによる秘密鍵の管理に関する事例

MPCを用いた秘密鍵管理の事例として最も注目されている取り組みは、ビットコインなどの暗号通貨における署名です。

ビットコインの取引では、公開鍵から生成されるビットコインアドレスから支払いをする時に、そのアドレスの秘密鍵を持っているビットコイン所有者が秘密鍵を用いて署名します。

他の人はその署名と公開鍵を使って、その署名が秘密鍵を持った人によって行われたこと、また署名された後に本文が改ざんされていないことを確認することが出来ます。

このビットコインの所有権移動が発生する際には、マルチシグが用いられています。

改めて、マルチシグの定義を再掲します。

2つ以上の公開鍵を登録していて、それに対応する一部もしくは全部の秘密鍵による署名によってはじめて認証ができる仕組みをいう。

従来マルチシグで行われている秘密鍵の管理の代わりに、MPCを利用して管理することによって以下のメリットがあります。

  1. 運用の柔軟性が増す。 マルチシグを利用する場合、署名数が増加する際に、新たなウォレットのアドレスを全ての通知する必要があるため、この際に誤って送金処理を行ってしまう可能性があります。 しかし、MPCを用いると新たなウォレットアドレスを通知する必要性がなくなるので、運営時のミスによって資金を失ってしまう危険性がなくなります。
  2. トランザクション料金が安くなる マルチシグに基づくウォレットは通常高い手数料がかかります。 しかし、MPCベースのウォレットであれば、ブロックチェーン内での計算が発生せず、分散署名は外部計算となるのでトランザクション料金が安くなります。

実際に、ニューヨークに拠点をおく、デジタルアセット・セキュリティ関連スタートアップ「Curv」がMPCを用いたアプリケーションを展開しています。

このアプリケーションは、セキュリティ技術としてMPCを用いることによって、そもそも秘密鍵の生データを保存・復号する必要がないサービスとなっています。

まとめ

海外を中心に、秘密鍵の管理と認証がMPCを用いて行われる事例が増えてきています。 MPCを活用して秘密鍵の管理を行うことによって、従来の秘密鍵管理方法が抱えていた問題点を解消できます。 今後、日本においてもこの技術を用いたサービスが展開されていくことが期待されています。

  • 従来の秘密鍵の管理方法ではサイバー攻撃や内部犯行のリスクが高いという問題点が存在する。
  • MPCを用いた秘密鍵の管理を行うことで、単一障害点がなくなるというメリットがある。
  • 実際にアメリカを拠点とするスタートアップによりMPCを用いた秘密鍵管理のソリューションは実用化されている。

メンバー募集

Acompanyでは、秘密計算の社会実装に向けてメンバーを絶賛募集中です!
優秀なメンバーが集まる環境で世の中に新しい価値を作る挑戦を僕らとしませんか?
以下の分野のメンバーを募集中です!

✅ MPCエンジニア
✅ マーケティング
✅ バックオフィス

興味がある方は、まずは軽くお話しするだけでも大丈夫ですので、ぜひご連絡ください!😎

話を聞きたい!

-秘密計算
-, , , , , , ,

© 2020 Blog | Acompany Co., Ltd