秘密計算とは
秘密計算とは、データの中身を誰にも見せないまま、必要な計算結果だけを取り出す技術の総称です。とくに、複数の組織がそれぞれの秘密データを持ち寄り、互いに中身を明かさずに共同で計算する方式が代表的。データを差し出さずに、その答えだけを分け合えるのが、この技術の面白いところでしょう。
英語表記:Secure Computation(秘密計算・広義)/Secure Multi-Party Computation(MPC・複数組織での秘密計算)
中身を見せずに、どうやって計算するのか
代表的な仕組みが秘密分散です。これは、元のデータを意味のない断片に分割し、複数の場所へバラバラに預ける方法を指します。断片を一つだけ見ても、元の値はまったく分からないのがポイントです。各場所では断片のまま計算を進め、最後に結果を合わせると、ちゃんと正しい答えだけが得られる。前項で紹介した準同型暗号や、ハードウェアで隔離する信頼実行環境(TEE)と並んで、データを守りながら計算する三本柱の一つに数えられます。
企業がデータを「出さずに」協力できる
ビジネスで効いてくるのは、競合や他業種とデータを共有せずに、共同の分析だけができる場面です。たとえば複数の銀行が、それぞれの顧客情報を一切見せ合わずに、業界をまたいだ不正取引のパターンだけを割り出す。医療機関が患者データを外に出さずに、複数施設の傾向を共同で調べる。「データは渡せないが、知見は共有したい」という長年のジレンマを解く鍵になります。自社の資産を手放さずに価値を引き出せる、というわけです。
過信しないための注意
便利な一方で、計算や通信の負担が大きくなりやすく、どんな処理にも気軽に使えるわけではありません。導入には専門知識も要ります。それでも、データを直接渡さずに連携できる利点は大きく、プライバシー規制が厳しくなるなかで存在感を増しています。守りたいデータの価値と、技術の手間が見合うかを見極めて選ぶのがよいでしょう。
Topic始まりは「2人の富豪、どちらが金持ち?」という問い
秘密計算の出発点は、1982年に研究者のAndrew Yaoが提起した「ミリオネア問題」だとされています。2人の富豪が、自分の資産額を相手には決して明かさず、それでいて「どちらが金持ちか」だけを知りたい。一見すると意地悪なぞなぞのような問いです。この奇妙なパズルを真面目に解こうとしたことから、秘密計算の研究が始まりました。生成AIのブームよりはるか昔に芽生えた、地道な暗号研究の系譜なのです。
秘密計算に関するよくある質問
- 「秘密計算」と「秘密分散」は同じものですか?
- 厳密には別です。秘密計算は中身を秘匿したまま計算する技術全体を指す大きな言葉で、秘密分散はそれを実現する代表的な手法の一つです。データを断片に分けて分散させる仕組みが秘密分散にあたります。
- ふつうの暗号化と何が違うのですか?
- 守れる場面が違います。一般の暗号化は保管中や通信中のデータを守りますが、計算に使うときはいったん中身を戻す必要があります。秘密計算は、計算している最中も中身を見せないままにできる点が大きな違いです。
- 1社だけでも役立ちますか、それとも複数社が必要ですか?
- 両方の使い方があります。複数の組織がデータを持ち寄る連携が代表例ですが、自社のデータを外部のクラウドに中身を見せずに預けて計算させる、といった単独利用にも応用できます。目的に応じて方式を選びます。