秘密計算

【超入門】秘密計算って何?図で概要をわかりやすく解説!

超入門 秘密計算

本記事では、秘密計算についての概要をわかりやすく解説しています。本記事を読むことで、秘密計算を簡単に理解できます。概要説明を目的とするので、細い技術仕様などは極力加えずに解説しています。

はじめに

今日では、DX(デジタルトランスフォーメーション)を始めとして、企業のデジタル化が加速しています。特に、GAFAを代表するような企業群はユーザの行動情報などのパーソナルデータを活用し、大きな価値提供を行なっています。その一方で、プライバシーが守られていないのではないか?という問題が顕在化しています。

さらに、世界各国でプライバシーに関する法整備が進みつつある、という事実があります。2020年1月には、アメリカ・カリフォルニア州に居住する個人からの個人情報の収集と処理に関して定めたCCPA法が定められ、同年10月には、中国で初となる「個人情報保護法」の草案が公表されています。このように、世界中で、プライバシー保護に対する関心が高まっています。

そんなプライバシー保護に有力な技術として、秘密計算が注目されています。

秘密計算を用いることで、データを秘匿状態で活用でき、個人に関する情報を知らずとも統計的な分析結果を得ることが可能となるため、ユーザのプライバシー保護を考える企業にとっては有用性がとても高いと考えられています。

秘密計算とは?

この技術は、英語では Secure Computing と呼び、日本では秘密計算、または秘匿計算と呼ばれます。秘密計算技術は、簡単に説明すると「暗号化したままの状態で計算を実行する技術」です。

従来のデータ分析は、生データに対し、統計処理、機械学習などの分析アルゴリズムを用意し、分析を行なっていました。これに対し、秘密計算は、生データではなく、秘匿化、つまりデータを無意味化した状態のまま、従来と同じように分析アルゴリズムを用いて、分析を行うことができます。また、この際、生データと同じ精度の分析結果を出すことができます。

秘密計算技術を用いると、データの統計処理、機械学習などの分析時でもデータを秘匿化したままの状態で扱えるため、セキュリティ水準が飛躍的に高くなるというメリットがあります。

これまでは、高い水準のデータの秘匿化であっても、サーバー内に保存しておくデータを暗号化しておく形であり、データを活用しようとする場合は、元の状態に復号化して分析を行うため、漏洩や不正利用のリスクを避けることはできませんでした。しかし、秘密計算技術を用いることで、このリスクも避けることができます。

秘密計算の種類

秘密計算の仕組みの代表的なものは2つあります。

  • 秘密分散+MPCベース
  • 完全準同型暗号ベース

秘密分散+MPCベースの秘密計算は、データを分割し物理的に計算空間を分けるというアーキテクチャでデータの秘匿性を担保しているのに対し、完全準同型暗号ベースは、鍵を用いて暗号化することで秘匿性を担保するという性質の違いがあります。

秘密分散+MPCベースの秘密計算は、システムのアーキテクチャの設計から検討する必要があり、学習コストが高いです。一方、完全準同型暗号ベースのものは、専用の暗号を用いることで比較的簡単に扱うことが可能です。

一見、完全準同型暗号ベースのほうが簡単で便利ではないかと思うのですが、暗号化したデータの計算時に完全準同型暗号ベースのものはかなりコストが掛かってしまいます。そのため、機械学習などの分析に用いるのは現段階では、かなり厳しい状況となっています。

秘密分散+MPCベースの秘密計算の場合は、構築難度は高い反面、計算スピードは完全準同型暗号ベースに比較して早いことが一般的に知られています。ある研究では同一の計算を実行する際、秘密分散+MPCベースの秘密計算に比べ、完全準同型暗号ベースの秘密計算は、実行時間が約5万倍近く長かったという演算結果が得られています。 (下記表参照)

 

参照元:菊池 亮 五十嵐 大 秘密計算の発展 (2018) https://www.jstage.jst.go.jp/article/essfr/12/1/12_12/_pdf

先述したように、完全準同型暗号ベースの秘密計算は、導入は容易であるものの、計算スピードが遅くなる傾向にあります。これに対し、秘密分散+MPCベースの秘密計算は、計算の構築難度が高いものの、計算スピードが早いです。

詳細な両者のメリット・デメリットの比較は以下の記事にて解説しています。

https://acompany.tech/blog/mpc-homomorphic-encryption/

本記事では、データ分析の観点での秘密計算に焦点をあてるため、計算スピードが早く、データ分析に適している秘密分散+MPCベースの秘密計算について解説していきます。

秘密分散法

秘密分散法では、元のデータをいくつかの断片情報に分割し、データを無意味化する仕組みです。この断片化されたデータのことを、シェアと言います。シェアはそれ単体からは元のデータの情報はわからないようになっているので、一部のシェアだけが何者かに知られたとしても、データの中身を知られることはありません。また、元のデータに復元する際には必要なシェアを揃えることで復元可能です。復元に必要なシェアの個数は、例えば3つのシェアの内2つというように調整することも可能です。

 

なお、秘密分散法の技術的解説は以下の記事にて行っています。

https://acompany.tech/blog/technology-secret-sharing/

MPC(マルチパーティ計算)

MPC(マルティパーティ計算)は、簡単に説明すると複数のサーバー間で通信を行いながら、同じ計算を同時に行うという仕組みです。(英語表記では、Multi-party computation)

マルチパーティとは、複数のコンピュータという意味です。

MPCの仕組みでは、常にサーバー同士で通信(ピアツーピア通信)を行い同じアルゴリズムで計算を行うので計算のスピードが一台で計算するよりも落ちてしまうというデメリットが存在しますが、一方でデータの安全性を高められる大きなメリットがあります。なぜなら、秘密分散による秘匿状態を維持しながら、計算を実行することができるからです。

 

(QuickMPCは、Acompanyが独自開発した秘密計算エンジンです。)

なお、MPCに関する技術的な詳細は以下の記事にて解説しています。

https://acompany.tech/blog/technology-multi-party-computation/

秘密計算の仕組み

秘密分散+MPCベースの秘密計算は、対象となるデータを秘密分散法を用いて断片化し無意味化を行い、各シェアを別々の計算を行うサーバーに送ります。各シェアを別々のサーバーで同じ計算をMPCを用いて実行することで、分析が施された分析シェアになります。これらを集めてくることで、分析の結果を複合します。

この仕組を用いると、例えばサーバー①はA社、サーバー②はB社、サーバー③はC社というように計算を行う企業を分けて、自社のデータのシェアの一部を自社が管理を行うといったことが実現可能です。シェアの一部でも保有しておけば、他社が元のデータを復元することはできないので、データの中身を保護したまま複数の企業で安全にデータ分析を行うことができます。

 

まとめ

秘密計算には、いくつかの手法が存在しており、代表的なものは、

  • 秘密分散+MPCベース
  • 完全準同型暗号ベース

の2種類です。

どちらの技術も社会実装に向けて国内でもAcompanyを始め、研究開発が進んでいます。

特にデータ分析という文脈では、秘密分散+MPCベースの応用は国内外問わず大きな注目を集めています。

データは、21世紀の石油と言われる昨今では、データセキュリティの重要性が増し、これらの技術は非常に重要な役割を担っていくことになるでしょう。

メンバー募集

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

✅ ソフトウェアエンジニア
✅ マーケティング
✅ バックオフィス

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

話を聞きたい!

-秘密計算
-, , , ,

© 2021 秘密計算の国内最大ブログ | Acompany Co., Ltd. Powered by AFFINGER5