前回、MPCの仕組みの記事を書いたのですが、このMPC技術、実は適用がとても大事なので、それも記します。 技術的な仕組みと適用、どちらを先に読めば良いかですが、仕組みを先に理解した方が良いのではと僕は思います。
この技術のおさらい
この技術は、任意のデータを分散秘匿化して、分散秘匿化したまま演算できる技術です。
例をあげると任意のデータを3つに分散し、分散したデータそれぞれで演算しても、元のデータを復元できるというものです。
一番大事なこと
この技術を適用して、任意のデータを複数箇所に分散すれば、どれかが漏洩したとしても、データは復元できません。ですが、全データを集めてしまえば簡単に復元できてしまいます。
ここがとても大事なのことで、「分散しているデータを集めて復元できる」ことはとても大事なことで、技術的にはできるべきだろうと思いますが、それをしてはいけないのです。 もしそうした利用シーンをこの技術を適用するのなら、分散ストレージの利用で十分です。
考えてみください。 仮に利用シーンにセキュアに分散しているデータを集めて復元することがあったなら、そこで情報漏洩してしまえば、秘匿演算の価値は無に帰してしまうのです。
適用すべき、適用すべきでない利用シーン
秘匿分散格納しているのに分散したまま演算ができる。この利点を最大限に活かした利用シーンがあります。それは、個人の秘匿されるべきデータを収集し、その統計や分析の演算をして結果だけを得るケースです。 具体的には?
適用すべきシーン
例えば個人の健康状態情報などはどうでしょう?
個人の健康情報情報は、社会施策や医療施策にとっては1情報に過ぎずません。 こうしたケースでは、統計や分析結果こそを必要としているので、個人の情報を復元する必要性はありません。
販売のマーケティング情報も似たようなものです。前段でデータ分類をする必要はありますが、1個人の情報にはほとんど価値がなく、それらの統計や分析結果だけが重要なのです。
こうした利用シーンがこの技術の適用どころです。
適用が不向きなシーン
逆に言い換えれば、復元する必要がある利用シーンは例外なく適用は不向きです。
そうしたシーンで利用するのなら、単なる秘匿化|暗号化で十分で、わざわざ様々が工数、コストをかけて秘匿だけでなく、分散格納する必要などありません。 秘匿化したまま演算する価値とは、そういうことなのです。
この技術を使った実装について
統計や分析結果を得るためですから、平均、分散、標準偏差に相関、分析のために結果変数をlog演算するなどはとても重要な演算です。
もうお気づきでしょうが、統計や分析に利用するので、単独データの演算などは、実装しても実は使う機会がないはずなのです。 もちろん単位精度のための底の上げ下げのためなら、単純な乗算や加算が必要なのですが、それらは秘匿分散前にしておけばよいことで、秘匿化した後の必要性を考えたなら具備する優先度はとても低いと言えるのです。
秘匿化もできる、そのまま演算もできる。それなら、どんなデータでも、と考えたくなりますが、それは違うのです。
繰り返しになりますが、「復元するシーンがあり、そこで情報漏洩してしまえば、秘匿演算の価値は無に帰してしまう」のです。