セキュアマルチパーティ計算

Secure Multi-Party Computation

セキュアマルチパーティ計算とは

セキュアマルチパーティ計算(MPC)とは、複数の参加者がそれぞれの入力データを互いに開示することなく、共同で計算を行うための暗号プロトコルです。各参加者は計算結果のみを知ることができ、他の参加者のデータは一切知ることができません。

表:セキュアマルチパーティ計算の要点まとめ
ひとことで言うと複数の参加者が、自分のデータを見せずに共同で計算する技術。
どこで使う同業他社との統計比較、複数病院での共同研究、業界ベンチマーク。
注意点参加者間の通信量が多い。参加者数が増えると処理が重くなる。

AIセキュリティでの応用

MPCはAIセキュリティにおいて、複数組織間でのモデル共同訓練、プライバシー保護推論、連合学習のセキュリティ強化などに活用されます。例えば、複数の病院が患者データを共有せずに共同で診断モデルを訓練したり、モデル提供者とユーザーがそれぞれのモデルとデータを保護しながら推論を実行したりすることが可能です。秘密分散法を用いたMPCでは、データを複数のシェアに分割し、各サーバーが1つのシェアのみを保持します。

図:MPCのしくみ
1データを分割断片にして配る
▶
2各自が断片を保持単独では意味がない
▶
3分担して計算断片のまま処理
▶
4結果を統合答えだけが得られる
▶
5元データは秘匿誰にも見られない

課題と実装

MPCの主な課題は、通信コストと計算オーバーヘッドです。参加者間の通信ラウンド数が増えるとレイテンシが増大し、特にディープニューラルネットワークのような複雑な計算では実行時間が大幅に増加します。効率的なプロトコルの開発(ガーブルド回路の最適化、OT拡張など)や、準同型暗号との組み合わせによるハイブリッドアプローチが研究されています。CrypTenなどのフレームワークにより、開発者が暗号の専門知識なしにMPCベースのAIを実装しやすくなっています。