準同型暗号化
準同型暗号化は、暗号化されたデータを復号化せずに計算を実行できる暗号化技術です。この数学は 1978 年から存在し、実用的な完全準同型バージョンは 2009 年から存在し、エンジニアリングのパフォーマンスは過去 10 年間で 10,000 倍向上しました。生産の準備ができているかどうかは、ここ数年で「いいえ」から「時々はい」になっています。
記事全文は以下に英語で記載されています。
準同型暗号化 (HE) は、暗号文の直接計算を可能にする暗号化方式のクラスです。復号化されたときの結果は、平文に対して同じ操作を実行した結果と同じになります。信頼できるクライアントが鍵を保持します。信頼できないサーバーは、データ自体を見ることなく、暗号化されたデータに対して分析、機械学習、または任意の関数を実行できます。
基本的な考え方
簡単な例: Encrypt(a) + Encrypt(b) = Encrypt(a + b) の暗号を想像してください。サーバーに Encrypt(5) および Encrypt(7) を送信すると、サーバーは合計を計算して Encrypt(12) を取得します。復号すると 12 が表示されます。サーバーは数値について何も学習しませんでしたが、正しい合計を生成しました。
実際の準同型スキームはより複雑ですが、原理は同じです。暗号文は基礎となる平文を反映する代数構造を持っています。
3 つのカテゴリ
- 部分準同型暗号化(PHE). 1 つの演算タイプ (加算または乗算のいずれか) をサポートします。両方はサポートしません。 RSA は乗法的に準同型です。パイリエは加法準同型です。実用的なアプリケーション (電子投票、プライベート集計) と妥当なパフォーマンスを備えています。
- ある程度の準同型暗号化 (SHE)。 加算と乗算の両方をサポートしますが、暗号文がノイズになりすぎて正しく復号化できなくなるまでの演算回数は限られています。
- 完全準同型暗号化(FHE). 任意の計算をサポートします。 Craig Gentry の 2009 年の画期的な成果により、最初の FHE スキームが導入されました。後続の世代 (BGV、BFV、CKKS、TFHE) により、速度は徐々に向上しました。
パフォーマンスの話
FHE の主な障害はパフォーマンスでした。 Gentry の元のスキームは、平文での計算よりも約 100 兆倍遅かった。現在の最先端技術 (近似算術の場合は CKKS、ブール回路の場合は TFHE) は、演算に応じて平文よりも 100 倍から 100,000 倍遅くなります。これでもまだ遅いですが、速度よりもデータの機密性が重要なユースケースで実際のアプリケーションを使用できるようになります。
- CKKS — 実数の近似算術。小さなエラーが許容される機械学習の推論に適しています。
- BGV、BFV — 正確な整数演算。データベース操作に適しています。
- TFHE — 高速ブートストラップを備えたブール回路。制御フローに適しています。
実際の展開
- Microsoft Edge のプライベート提案 は、ブラウザーがアクセスしようとしている URL を HE を使用して暗号化し、Microsoft が暗号化された入力に対して関連する提案を計算し、暗号化された結果を返します。
- Appleプライベート クラウド コンピューティングとプライベート フェデレーション ラーニング は、HE 関連の技術を使用して、個々の貢献を確認せずにユーザー モデルの更新を集約します。
- クラウド プロバイダー (AWS、Azure) は、暗号化された患者のゲノム分析などの特定のワークロードに対して FHE-as-a-service の提供を開始していますデータ.
- 銀行は、顧客データを共有せずに機関間のリスク分析にHEを使用します。
- 選挙システムは、個々の投票用紙を保護しながら、投票集計に加法準同型スキームを使用します。
主要ライブラリ
- Microsoft SEAL — オープンソース、成熟した、広範なスキームのサポート
- OpenFHE — コミュニティによって管理されているPALISADE
- Concrete — ザマのTFHEに焦点を当てたフレームワーク高レベル API
- HElib — IBM の研究ライブラリ
- tfhe-rs — TFHE
L制限事項と注意点
- CiphertextのRust実装size. 暗号化されたビットは数十キロバイトになる場合があります。暗号化された小さなデータセットはギガバイトになる場合があります。
- ノイズ バジェットが限られています。 各操作によりノイズが追加されます。最終的には復号化に失敗します。ブートストラップはノイズをリフレッシュしますが、コストがかかります。
- 関数の深さ。 深い計算には多くの乗算レベルが必要であり、パラメーター サイズが増加します。
- すべてに当てはまるわけではありません。 中間を調べる効率的な方法がないため、FHE では分岐や並べ替えなどの操作が扱いにくくなります。 values.
- Key Management. 復号化キーは非常に機密性が高く、それを失うことはデータへのアクセスを失うことを意味します。
HE 対 MPC 対 ZK
よく混同される 3 つのプライバシー保護テクノロジ:
- 準同型暗号化 — 一方の当事者が暗号化を行い、もう一方の当事者が暗号文を計算し、第一当事者がdecrypts.
- 安全なマルチパーティ計算 (MPC) — 複数のパーティが、入力を公開せずに共同で関数を計算します。プロトコルが異なれば、トレードオフも異なります。
- ゼロ知識証明 (ZK) — 追加情報を明らかにすることなく、ステートメントが真実であることを証明します。異なる目標: 計算ではなく証明。
これら 3 つは補完的です。最新のプライバシー システムはこれらを組み合わせていることがよくあります。
将来の
FHEのパフォーマンスは向上し続けています。ハードウェア アクセラレーション (HE に対する NVIDIA の CUDA サポート、Optalysys などのカスタム FPGA と ASIC、Intel の HE プリミティブ) により、平文計算とのギャップがさらに 1 桁減少しています。今後 5 ~ 10 年で、FHE は「興味深い研究」から「価値の高いプライバシーのユースケースの主流」に移行する可能性があります。従来の暗号化に代わるものではなく、それを補完するものです。
よくある質問
- 準同型暗号は安全ですか?
- 成熟したスキーム (CKKS、BGV、BFV、TFHE) は、エラーによる学習問題に基づいており、量子コンピューターに対しても安全であると考えられています。実装のバグとサイドチャネル攻撃には懸念が残ります。暗号理論は健全です。
- HE を使用してデータをクラウドに保存できますか?
- 特定のケースでは、そのとおりです。一部のクラウド プロバイダーは、暗号化されたデータの分析用に HE-as-a-service を提供しています。一般的なストレージの場合、保存時の暗号化とクライアント側の暗号化と比較すると、HE は過剰です。 HE は、クラウドがデータを復号せずに計算する必要がある場合に重要です。
- PHEとFHEの違いは何ですか?
- PHE は 1 つの演算タイプ (加算または乗算) をサポートします。 FHE は、両方を含む任意の計算をサポートします。 PHE は高速で実用的です。 FHE は遅いですが、完全に汎用的です。必要な操作が適切な場合は PHE を使用します。柔軟性が必要な場合は FHE を使用してください。
- HE は実際の製品に使用されていますか?
- ますます。 Microsoft Edge のプライベート提案、Apple のフェデレーテッド ラーニング、一部の銀行リスク分析、およびますます多くのヘルスケア ML アプリケーションで HE が使用されています。パフォーマンスが向上し、ツールが成熟するにつれて、採用範囲が広がっています。
- 量子コンピューターは HE を破壊できるでしょうか?
- 最新の格子ベースの HE スキーム (CKKS、BGV、BFV、TFHE) は量子耐性があると考えられています。それらのセキュリティは、ポスト量子暗号で使用されるのと同じ難しい問題に依存しています。暗号コミュニティは、HE をポスト量子安全暗号化の方向性の 1 つと考えています。