この記事で分かること
- 「秘密分散」とは何かを直感的に理解できる(専門知識不要)
- XOR秘密分散とShamir秘密分散の違いと、どちらが安全か
- 暗号化との決定的な違い——鍵の紛失リスク・容量問題・管理コストまで
- AIサービスに個人情報を渡さずに使うための仕組み
- 数学的に証明された「復元不可能性」とは何を意味するか
「秘密を分散する」とはどういうことか
あなたが100億円の財産を持っているとします。この財産を守るために金庫に保管することにしました。しかし、金庫が一つだと、その金庫を破られれば全てを失います。
そこで考えたのが、「財産を10個に分けて、10か所の別々の金庫に保管する」という方法です。どれか一つが盗まれても、残り9つが安全ならば財産の大部分は守られます。
秘密分散(Secret Sharing)は、これをデータに応用した暗号技術です。秘密にしたい情報を複数の「断片(シェア)」に分割し、それぞれを別々の場所に保管します。一定数以上のシェアを集めないと元の情報を復元できないという数学的な特性を持っています。
具体的なイメージ:金庫の3つの鍵
もう少し具体的に考えてみましょう。あなたの会社の金庫を開けるために、3本の鍵が必要だとします。しかし、3本全部が必要なのではなく「3本のうち2本あれば開けられる」というルールです。
- 鍵Aを社長が持つ
- 鍵Bを経理部長が持つ
- 鍵Cを顧問弁護士が持つ
社長と経理部長が揃えば金庫を開けられます。社長が急に不在になっても、経理部長と顧問弁護士がいれば対応できます。しかし、社長一人では開けられません。これが「2-of-3の秘密分散」の基本的な考え方です。
2種類の秘密分散:XORとShamir
XOR秘密分散(シンプルで高速)
XOR(排他的論理和)という演算を使って秘密を分割する方式です。例えば、秘密の数字「42」を2つのシェアに分割するとします:
- ランダムな数「71」をシェアAとする
- 「42 XOR 71 = 93」をシェアBとする
シェアAとシェアBを両方持っていれば「93 XOR 71 = 42」で元の42を復元できます。しかし、どちらか一方だけでは、元の数字について何の情報も得られません。
特徴: 計算が高速・シンプル。すべてのシェアがないと復元不可能(2-of-2のみ)。
Shamir秘密分散(より柔軟で強力)
1979年にAdi Shamir(RSA暗号の「S」)が考案した数学的に厳密な秘密分散方式です。多項式(グラフでいう曲線)の性質を利用します。一本の直線を引くには2点が必要、一本の2次曲線を引くには3点が必要——という原理と同じです。
秘密を多項式上の「点」として埋め込み、各シェアを多項式上の別の点とします。しきい値(k)以上の点を集めると多項式を復元でき、秘密を取り出せます。しきい値未満の点では、元の秘密について一切の情報が得られないことが数学的に証明されています。
特徴: k-of-n(例:3-of-5、4-of-7)など柔軟な設計が可能。情報理論的に安全(コンピュータがどれだけ高速になっても解読不可能)。
| 比較項目 | XOR | Shamir |
|---|---|---|
| 数学的基礎 | ビット演算 | 有限体上の多項式 |
| しきい値設計 | 2-of-2のみ | k-of-n(柔軟) |
| 計算速度 | 非常に高速 | やや遅いが実用的 |
| 安全性の根拠 | 情報理論的に安全 | 情報理論的に安全 |
| 実用例 | 高速処理が必要な場面 | 分散管理・バックアップ |
なぜAIサービスにおいて秘密分散が重要なのか
ChatGPTやClaudeなどのAIサービスを使う場合、通常はあなたの入力データがAIサービス事業者のサーバーに送信されます。これは避けられません。問題は、その送信データに個人情報・機密情報が含まれている場合です。
- 顧客名・住所・電話番号
- 患者の病歴・診断情報
- 契約書の守秘義務対象情報
- 社員の給与・評価データ
これらの情報が外部のAIサーバーに渡ることは、個人情報保護法・守秘義務・GDPR等の観点から問題になりえます。
秘密分散を使うと何が変わるか
PII Firewallが実装している秘密分散の仕組みでは、次のようなフローになります:
- ユーザーの入力に含まれる個人情報(例:「田中太郎 03-1234-5678」)を検知する
- 個人情報を秘密分散で複数のシェアに分割する
- AIサービスにはシェアの一部(個人情報が復元できない断片)だけを送信する
- 残りのシェアはユーザー側のシステムが保持する
- AIの回答が戻ってきた後、保持していたシェアと組み合わせて元の情報に復元する
AIサービスが受け取るのは、数学的に元の情報を復元できない断片だけです。AIサービス事業者は、ユーザーの個人情報を物理的に知ることができません。
「暗号化すればいいのでは?」——3つの見落とされがちな問題
問題1:暗号鍵の保管・管理コスト
暗号化の本質的なジレンマは「鍵をどこに安全に保管するか」です。よくある失敗例:
- 暗号鍵をコード内にハードコードしてしまう
- 暗号鍵と暗号化済みデータを同じサーバーに置く
- 暗号鍵をメールやSlackで共有してしまう
- 複数サービスで同じ鍵を使い回す
秘密分散との違い: シェアそのものが「鍵なし」で復元不可能な断片です。別途「鍵を管理する仕組み」が不要で、設計がシンプルになります。
問題2:暗号鍵の紛失リスク
「鍵を失くしたら終わり」——これが暗号化の致命的なリスクです。暗号鍵を失った場合、そのデータは誰にも復元できなくなります。逆に、鍵のバックアップを取り過ぎると、バックアップ自体が漏洩リスクになります。
秘密分散との違い: 2-of-3のShamir方式なら、シェアを3か所に分散保管できます。1か所のシェアが失われても、残り2つで復元できます。「紛失しても大丈夫」と「単体では復元不可能」を両立できます。
問題3:暗号化によるデータ容量・処理速度の増加
暗号化は、データを変換する際に容量が増えることがあります。
- ブロック暗号のパディング: AESは16バイト単位でデータを処理するため、端数が生じるとパディングが追加される
- Base64エンコード: 暗号化データをテキスト形式で送受信する際、バイナリをBase64に変換するとデータ量が約33%増加する
秘密分散との違い: XOR秘密分散では、シェアのサイズは元データとほぼ同じです。Shamir方式でも、各シェアは元データに近いサイズに収まります。
暗号化 vs 秘密分散:まとめ比較
| 比較項目 | 暗号化(AES等) | 秘密分散(Shamir等) |
|---|---|---|
| 安全性の根拠 | 計算量的安全性(鍵長に依存) | 情報理論的安全性(計算量に依存しない) |
| 鍵管理 | 必要(KMS等が必要) | 不要(シェアが鍵を兼ねる) |
| 鍵紛失リスク | 高い(失うとデータ永久消失) | 低い(k-of-n設計で冗長化可能) |
| データ容量増加 | あり(パディング・Base64等) | ほぼなし |
| 量子コンピュータへの耐性 | 脆弱(十分な計算力で解読可能) | 耐性あり(情報理論的に安全) |
| 設計の複雑さ | 鍵管理の仕組みが別途必要 | シェア分散設計のみでよい |
「復元不可能性」の数学的保証とは何を意味するか
Shamir秘密分散の場合: しきい値未満のシェアからは、いかなる計算手法を使っても、どれだけ計算能力が高くても、元の情報について何も分からないことが数学的に証明されています。これを「情報理論的安全性」といいます。
例えば2-of-3のShamir秘密分散で、あなたが1つのシェアしか持っていない攻撃者だとします。このシェアから得られる情報は「元の秘密は0から∞の間のどこかの数字である」というゼロ情報しかありません。量子コンピュータを使っても、この数学的事実は変わりません。
暗号化がコンピュータの計算能力の進化に常に追いかけられているのとは異なり、秘密分散の安全性はコンピュータの進化と無関係です。
PII Firewallの実装
PII Firewallは、秘密分散をAIサービスとの連携に応用したプロダクトです。
- Freeプラン: XOR秘密分散(2-of-2)を実装。ローカルシェアとAPIシェアに分割し、AIサービスには復元不可能な断片のみを送信
- Starterプラン以上: Shamir秘密分散(2-of-3)を実装。ユーザー・PII Firewallサーバー・AIサービスの3者に分散。2つを組み合わせないと復元できないため、いずれか1者が完全に侵害されても個人情報は漏洩しない
- Businessプラン: さらに差分プライバシーを組み合わせ、統計的処理の段階でも個人の特定を防止
これにより、ChatGPT・Claude・GeminiなどのどのアーキテクチャのAIを使う場合でも、APIレベルで個人情報を保護できます。
まとめ:秘密分散は「信頼しなくても安全な設計」を可能にする
従来のセキュリティは「信頼できる相手にデータを渡す」という考え方が基本でした。しかし、AIサービスが爆発的に普及した今、「AIサービス事業者を完全に信頼する」という前提は成立しにくくなっています。
秘密分散は、「相手を信頼しなくても、数学的に安全が保証される設計」を実現します。
- AIに仕事をさせながら
- 個人情報はAIサーバーに届かず
- コンプライアンスを自動的に充足する
これが、秘密分散がAI時代のプライバシー技術として注目されている理由です。
関連用語
- XOR(排他的論理和): 2つの値が異なれば1、同じなら0を返すビット演算
- 有限体(Galois Field): Shamir秘密分散で使われる数学的構造
- しきい値(Threshold): 秘密を復元するために最低限必要なシェア数
- 情報理論的安全性: 計算能力に依存せず、数学的・論理的に解読不可能であることの保証
- 差分プライバシー: 統計データにランダムノイズを加え、個人の特定を防ぐ技術