ビッグデータの氾濫するIT社会の最重要課題の1つに、プライバシー保護があります。データを誰にも見られないまま、知りたい情報だけがわかるように処理する究極のプライバシー保護技術――秘密計算について紹介しましょう。
知られたくない情報を、使える情報に変えるプライバシー保護術~秘密計算のしくみとは?
昨晩、私の発表が楽しみで眠れなかった人はいますか? いませんね(笑い)。きっと恥ずかしくて手を挙げられなかったのでしょうね。でも、ご安心ください。今からご紹介するプライバシー保護技術=秘密計算を使えば、知られたくない情報を、使える情報に変えることができます。
秘密計算とは、データを見ないで(隠したまま)、知りたい結果だけがわかるように処理する技術です。
例えば、テストの平均点を知りたい場合、次のようにして各々の点数を秘密にしながら計算することができます。下図をご覧ください。
まず、各点数を、足すと元の点数になるようなでたらめな2つの数に分け、2つの数を別々のコンピュータに送ります。それぞれのコンピュータは、受け取った数の平均値を計算します。最後に2つのコンピュータから平均値を集めて足し合わせます。すると、元のテストの点数の平均点が計算できています。この計算過程では誰も点数を見ていないことがポイントです。
これは比較的やさしい、秘密計算の足し算の例でした。もう少し頑張って計算をすると、秘密計算の掛け算もできるようになります。これは実はすごいことで、足し算と掛け算をうまく組み合わせることで、プライバシーを守りつつ、あらゆる計算ができます!
ただし、計算に時間がかかりすぎるという問題があります。それは、プライバシー保護のために、ごちゃごちゃと、とても大変な計算をする必要があるからです。
計算時間の問題を解決するアイディアとして、この例では、各々の点数を封筒に入れた後、シャッフルすればよいということがわかりました。
私は、このような秘密計算の高速化に取り組んでいます。知られたくない情報を安心して使える情報にできるように、そしてみなさんにも安心して「濱田の発表が楽しみ」と言っていただけるように、これからも秘密計算の研究を続けたいと思います。(笑い)