フリーワード検索


タグ検索

  • 注目キーワード
    業種
    目的・課題
    専門家
    国・地域

NRI トップ ナレッジ・インサイト 用語解説 用語解説一覧 秘密計算

秘密計算

Secure Computation

  • Facebook
  • Twitter
  • LinkedIn

秘密計算とは

データを暗号化したまま計算することができる技術の総称。秘匿計算などとも呼ばれ、データ分析でのプライバシー保護を強化する技術のひとつ。秘密計算技術により、機密データの直接的な送受信を避け、暗号化したままデータ分析が実施できることから、組織間のデータ共有などアナリティクスの高度化につながると期待されている。

暗号化したまま計算ができる

秘密計算は、データやそれに関わるプライバシーを保護するという点では、通常の暗号と変わりません。しかし、暗号化されたデータは、計算を委託する者のもとで復号する必要がなく、暗号化されたデータのまま、ある種の計算を実行することができます。計算結果は、計算を依頼した者のもとに返送され、復号することで得られます。
最近のデータ分析のプロジェクトでは、クラウドサービス事業者のサービス上でデータ分析をするケースや、社外委託のもとでデータ分析を行うケースが非常に多くなっています。これらの場面では、社内の機密データを社外に渡すこととなり、情報漏洩の観点でリスクが生じてしまいます。「委託におけるデータ分析」と「プライバシー保護」を同時に扱う場面において、データを暗号化したまま計算する技術として秘密計算の利用が期待されています。
通常、暗号は、データの中身を他人に見られることを避けるという目的で利用されます。そのため、暗号は通信の秘密を守るという目的とともに発展してきました。しかし、近年は、データの取り扱いに関するルールが厳格化し、データの蓄積・加工・分析・利用などの各段階において、様々なプレーヤーがデータに触れることが増えたため、暗号化したまま計算する技術が注目されています。

秘密計算技術の2つの方式

主要な方式として、複雑な暗号関数を作る「準同型暗号方式」と、データを分割する「秘密分散方式」があります。
「準同型暗号方式」の代表的な方法としては、「Gentryの制限付き準同型暗号方式」があります。倍数と偶数ノイズをうまく利用することで、暗号化を行います。「データm」を暗号化する場合に、「秘密鍵p」を用意します。データmに対して、pの倍数と、偶数のランダムな数値(ノイズ)を加えて暗号化します。秘密鍵を持つ者は、暗号化した数値を秘密鍵pと2で割った余りを見るだけで、データの内容を判定できますが、秘密鍵を持たない者には、数値の意味が把握できません。pの倍数や、偶数のランダムな数値(ノイズ)を非常に大きな値することで、データの解読も難しくなります。一方で、数値の意味がわからないまま、暗号化した数値で計算することができるため、データの秘匿性を保ったまま、外部業者に計算などを委託できます。

「秘密分散方式」は、データをシェアと呼ばれる暗号化された情報に分割し、これを複数のサーバに一つずつ分散して配置する方式です。n次多項式がn+1個のデータ点があれば特定できることを利用して情報を分割します。一定数以上のシェアが集まらない限り情報の処理や復元できないように分割されます。 図は、データが3つのシェアに分割され、別々の環境に保存されている状況を表しています。3つのシェアのうち、ここでは2つのシェアを利用してデータを処理します。データを復元して計算するのではなく、シェアのまま計算するため、データの秘匿性を保ったまま、計算などを委託できます。

実用化するためには課題も多い

2つの方式には、それぞれメリットデメリットが存在します。
「準同型暗号方式」は、自分と委託先の1対1の間で計算を完結することができます。しかし、暗号化したデータが巨大になってしまい、計算や通信に必要なコストが元データの何倍にも多くなるという欠点があります。
「秘密分散方式」は、比較的計算時間は短く済む方式ですが、シェアを分割配布するために複数のサーバを要し、システム全体として複雑になり、設計や管理コストが増える欠点があります。
また、どちらの方式も、四則演算の処理を中心に考えられており、複雑なモデリングを扱う機械学習や深層学習の領域では、実用化に向けた研究が盛んに行われているという状況です。
秘密計算の技術は、データ分析を高度化するためだけではなく、情報銀行やブロックチェーン上での情報の授受など、プライバシー保護のための次世代の基礎技術として広く活用が想定されています。

  • Facebook
  • Twitter
  • LinkedIn