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

超入門 秘匿計算

本記事では、秘匿計算(秘密計算)についての概要をわかりやすく解説しています。概要説明を目的とするので、細い技術仕様などは極力無くし、秘匿計算(秘密計算)とは、こういうものなのかという理解できる内容となっています。

はじめに

今日では、DX(デジタルトランスフォーメーション)を始めとして、企業のデジタル化が加速しています。特に、GAFAを代表するような企業群はユーザの行動情報などのパーソナルデータを活用し、大きな価値提供を行なっています。その一方で、プライバシーが守られていないのではないか?という問題が顕在化しています。例えば、CES2020(CES:毎年1月にラスベガスで開催される世界最大のテクノロジー展示会)では、GAFAを始めとするメガテックベンチャーの話題の中心は「プライバシーをどう守るか」であり、2018年に施行されたEUのGDPR(EU一般データ保護規則)違反によって、フランスのデータ保護機関「情報処理と自由に関する国家委員会」(CNIL:Commission nationalede l’informatique et des libertes)がグーグルに5000万ユーロ(約62億円)の制裁金の支払いを命じた事例など、大きな動きがあります。

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

秘匿計算とは?

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

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

データを公開せず、生データと同じ精度で分析可能

(SeDi ComputationはAcompanyが提供する秘匿計算システムです。)

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

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

セキュリティ水準の向上

秘匿計算(秘密計算)の種類

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

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

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

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

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

秘密分散+MPCベースの秘匿計算(秘密計算)の場合は、構築難度は高い反面、計算スピードは完全準同型暗号ベースに比較して圧倒的に早く(2017年のある研究では数千倍の差)、また分散型のアーキテクチャであるという点から漏えい等のセキュリティに強い、また複数の組織や企業などでデータ活用を行うことに向いているという特徴があります。

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

秘密分散法

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

秘匿分散法

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

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

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

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

MPCのもつ安全性は大きく計算量的安全性と情報理論的安全性に大別されます。計算量的安全性とは,攻撃者が暗号を解読するのに非常に長い時間がかかることを安全性の根拠とする安全性概念であり,情報理論的安全性とは,攻撃者が無限のコンピュータ資源を持っていても解読が不可能であることを保証する安全性概念です。

マルチパーティ計算

秘匿計算の仕組み

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

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

秘密分散法+マルチパーティ計算

まとめ

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

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

の2種類です。

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

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

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

メンバー募集

Acompanyでは、秘匿計算の社会実装に向けてメンバーを絶賛募集中です!

優秀なメンバーが集まる環境で世の中に新しい価値を作る挑戦を僕らとしませんか?

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です