秘密計算とは何か

## はじめに
本記事ではプライバシー強化技術(PETs)の要素技術の一つである、秘密計算について解説します。プライバシー強化技術全体についての説明は下記記事をご覧ください。

https://qiita.com/m0r1take/items/7b02d7558441f1b8900e

また、本技術に関する簡易的な検証を行った記事も近日公開予定ですので合わせてご覧ください。

## 秘密計算とは
秘密計算はデータを秘匿化したまま分析・処理を実行する技術です。
従来より、データベース内のデータの保管、収集・提供時等の通信中においては暗号化されることが一般的です。一方で、分析処理を行う場合、生データに復元して実行する必要がありました。
複数の組織でデータを連携して分析する場合、委託先・クラウド環境等外部の環境で分析を行う場合においては生データを用いて処理を行う必要があります。そのため、外部の環境に攻撃者が存在すると不適切な利用等のプライバシー侵害の恐れがありました。
分析・処理に秘密計算を用いることで、外部の環境に攻撃者が存在したとしても、元のデータを復元することを困難にし、プライバシーの保護を強化・実現しています。

:::note 
秘密計算を用いることで、ISO/IEC 29100プライバシーフレームワークで定められているData Minimization(目的に沿ってパーソナルデータへのアクセス、収集するパーソナルデータ、個人の特定や属性推定などの処理を必要最小限にする)を強化することが期待されます。
:::

## 秘密計算の実現方式
秘密計算には複数の実現方式があります。本記事では代表的な手法を3つご説明します。
### マルチパーティ計算(Multi Party Computation)
マルチパーティ計算は下記の流れで実行されます。
1. データを単体では意味の無い形式(シェアと呼ぶ)に分割する
1. 各シェアを異なるサーバー上で処理する
1. 各サーバーの処理結果を統合し、プロセス全体の処理結果を得る  

サーバーの管理者を分けることで、サーバーの管理者が結託しない限りデータの復元を困難にし、データを秘匿化したまま分析・処理を可能にしています。

<div align="center"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223676/1e59d5d7-512d-e591-5702-1a6cbaa53073.png" width="500"><br>マルチパーティ計算を用いた加算のイメージ</div>


### 準同型暗号(Homomorphic Encryption)
準同型暗号は一部の暗号方式が持つ準同型性を利用した実現方式です。

:::note 
群の準同型の定義
群$(G, *), (H, ・)$において、写像$f:G→H$が$a,b∈G$に対して $f(a * b) = f(a)・f(b)$を満たす時、$f$を群の準同型写像という。
:::

$f$を暗号化関数$Enc()$、演算$*,・$を加法とすると、$Enc(a + b) = Enc(a) + Enc(b)$となり、$a,b$をそれぞれ暗号化したものを足しあわせた結果と、$a + b$を暗号化した結果が等しいことを意味します。
この性質を利用することで、データを秘匿化したまま分析・処理を可能にしています。
<div align="center"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223676/c5abb97c-5beb-1e4b-d43a-9c59ec8d042b.png" width="600"><br>準同型暗号を用いた加算のイメージ</div>

:::note 
加法に対して準同型性を持つ暗号化方式を「加法準同型暗号」、乗法に対して準同型暗号性を持つ暗号化方式を「乗法準同型暗号」、加法と乗法の両方に対して準同型性を持つ暗号化方式を「完全準同型暗号」と言います。
:::

### TEE(Trusted Execution Environment)を用いた方式
TEEとはTrusted Exectuion Environmentの略で、ハードウェア上に隔離される信頼可能な領域のことを指します。主な信頼可能な領域としては「CPU」、「メモリの一部領域」、「CPUと信頼可能なメモリ領域の間の通信路」であり、信頼可能な領域でのみ生のデータを処理することで、他領域やOSなどからデータを秘匿化する秘密計算の実現手法の一つとしても利用されています。

<div align="center"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223676/cae30779-5021-8d27-6008-1de2aa207085.png" width="500"><br>TEEを用いた加算のイメージ</div>


## 秘密計算の適用事例

### 1. BWWC調査(MPC)
BWWC(ボストン女性労働委員会)は、2015年から2年ごとにマルチパーティ計算を用いてボストン地域の従業員の性別・人種等による賃金格差を算出しています。2023年の年次報告書では、「男女間の賃金格差が縮小していること」、「人種・民族間の賃金格差は依然として大きいこと」等が報告されており、調査結果を基に協力企業と賃金格差解消のための効果的な施策の議論とその共有を行なっています。

<div align="center"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223676/94765e71-4933-a10a-43dd-51e36035e625.png" width="500"> <br> 
図出所：<a href="https://thebwwc.org/mpc">Data Privacy — Boston Women's Workforce Council</a></div>

### 2. エストニア社会的な調査の実施(MPC)
エストニアで、2015年にマルチパーティ計算を用いて、大学在学中の労働量と予定通りに卒業できないことの相関関係を調査しました。
従来の匿名化技術ではデータが偏ってしまう、サンプル数が減少してしまうという問題がありましたが、MPCを利用することで、データを秘匿化した状態で正確な分析が可能になりました。この研究はエストニア税務関税庁が保有する個人納税額データベースと、教育研究省が保有する高等教育データベースを用いて行われています。
調査の結果として、「労働量と予定通りに卒業が出来ないこととの間に関係がないこと」、「エストニアの色々な分野の学生が同じくらい働いていること」等が明らかになりました。


<div align="center"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223676/d200e6b3-e0f4-7f8d-e23c-b59ccc8212ae.png" width="500"> <br> 
図出所：<a href="https://sharemind.cyber.ee/big-data-analytics-protection/">Track Big Data Between Government and Education</a></div>

### 3. Mastercard
Mastercard社はシンガポールの情報通信メディア開発庁(IMDA)が運営しているプライバシー強化技術(PET)サンドボックスに参加し、完全準同型暗号(FHE)を使用して、国境を超えた金融犯罪情報の共有を促進する方法を実証しました。この実証実験にはランダムに生成されたテストデータが使用され、実際のデータは使われませんでした。実証実験の結果、複数のデータストアから疑わしい口座を特定することができ、FHEを使用したプロセス全体がデータ保護法の遵守にプラスの影響を与えることが分かりました。

<div align="center"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223676/cb274a62-a5c1-3b2c-706b-f60352c9385a.png" width="500"> <br> 
図出所：<a href="https://www.imda.gov.sg/-/media/imda/files/programme/pet-sandbox/imda-pet-sandbox--case-study--mastercard.pdf">IMDA PET Sandbox  Case Study  Mastercard</a></div>

### 4. 生成AIへのTEEの利用
Appleは2023年6月のWWDC(Worldwide Developers Conference)で発表したApple Intelligenceにおいて、TEEの利用を公表しました。Appleはプライバシー保護を重視しながら生成AI技術を自社製品やサービスに統合していく方針が伺えます。
Googleは2023年7月にLLMにTEEを適用した方式を発表しました。大規模言語モデルの処理において、ユーザーのプライバシーを保護しつつ、高度な生成AI機能を提供することが可能になります。


<div align="center"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223676/3a91daa4-8bf9-9b39-e215-c6c927a07347.png" width="500"> <br>Google Cloudの高信頼実行環境(TEE)とデバイスの両者でLLMを用いるハイブリットアーキテクチャ<br> 
図出所：<a href="https://developers.googleblog.com/ja/enabling-more-private-gen-ai/">プライバシーを強化した生成 AI を実現する - Google Developers Blog</a></div>


## 個人情報該当性
個人情報に対して秘密計算技術を用いて秘匿化・暗号化を行なっても、依然として個人情報に該当することが個人情報保護法のガイドラインで明記されています。(2024年10月現在)
> 「個人に関する情報」とは~(中略)~暗号化等によって秘匿化されているかどうかを問わない。
> 出所：個人情報の保護に関する法律についてのガイドライン（通則編） ｜個人情報保護委員会, https://www.ppc.go.jp/personalinfo/legal/guidelines_tsusoku/

一方、適用事例で紹介したエストニアの社会的な調査については、下記前提のもと個人データの処理に該当しないものとして実施されたと報告されています。
> 個人データの処理に該当しない前提として，以下が挙げられている。
> ①研究目的
> ②導出されるのが統計データ
> ③秘密計算のソースコードについて事前のレビューがなされ，PIA（プライバシー影響評価）が実施
> ④秘密分散による秘密計算を行う組織間での結託を防止する契約が締結されていたこと
> 出所：板倉陽一郎, プライバシー保護技術の国内法制度における位置づけ, 第24回情報セキュリティ・シンポジウム, https://www.imes.boj.or.jp/jp/conference/citecs/24sympo/files/file2.pdf

日本国内においては個人情報の安全管理措置としての利用や、個人情報以外の営業秘密・知的財産を用いて組織間で安全にデータ分析を行うための方法として導入が進むと考えられます。

## まとめ
本記事では、プライバシー強化技術(PETs)の一つである秘密計算について解説しました。秘密計算はデータを秘匿化したまま分析・処理を行うことで、データ連携におけるプライバシー侵害のリスクを軽減します。代表的な実現方式として、マルチパーティ計算(MPC)、準同型暗号、TEEを用いた方式があり、それぞれ異なるアプローチでデータの保護を実現しています。また、秘密計算はBWWCやエストニアでの実例に見られるように、国際的なデータ連携やプライバシー保護においても実際に活用されており、今後さらに多くの場面での適用が期待されます。