Homomorphic encryption definition
大きなデータセットに対して、その機密性を保持しながら計算を実行する必要がある場合、どうすればいいでしょうか。 言い換えれば、たとえば、ユーザー データについて、分析を計算する計算エンジンには内容を知らせずに分析を収集したい場合です。 あるいは、クラウド サービスのプロバイダーで、ドキュメントの暗号化されたストレージをサポートしているが、ユーザーが最初に復号化することなくドキュメントを編集できるようにしたい場合です。
この手法の特筆すべき点は、暗号化されたデータに対して必要な操作や計算を行うことで、暗号化されていないデータに対して行ったのと同じ結果を(暗号化された形で)得られるということです。
「同形式暗号化は、秘密鍵へのアクセスを必要とせずに暗号化されたデータに対して直接計算を実行できるという点で、一般的な暗号化手法と異なります。 この分野の「公式」な標準、ガイダンス、および開発に関する情報を管理する業界標準コンソーシアムである Homomorphic Encryption Standardization によれば、「このような計算の結果は暗号化された状態のままであり、後の時点で秘密鍵の所有者が明らかにすることが可能です」。 これにより、どの段階でもデータの機密性を損なうことなく、同じ計算解析ソリューションを使用することができます。
このような暗号スイートを設計するアイデアは、大部分が実験的で、1970年代末に提案されました。
Homomorphic Encryption のどこが違うのか
HTTPS (SSL/TLS によって実現) やエンドツーエンドのチャット メッセージングなど、業界標準のコンテキストで暗号について考える場合、すべての暗号は本質的に安全で、機密性と完全性が保証されると思い込んでいます。 これは、ホモモーフィック暗号化を一般的な暗号システムと区別する 1 つの顕著な違いです。
ホモモーフィック暗号化が機能するために、その暗号スイートは変更できるように設計されており、データの整合性を保証できないことを意味します。 これは欠陥ではなく、暗号化されたデータの操作を容易にする意図された機能です。
可鍛性とは、暗号化されたテキストを、元のテキストの意味を変更する別の有効な暗号化テキストに変換できる暗号アルゴリズムの特性です。 さらに、データを変換するユーザーは、元の暗号化されていないデータが何であるかを知る必要も推論する必要もありません。
簡単に言うと、私が CSO の編集者に「CSO は素晴らしい」という内容の暗号メールを送った場合、この暗号テキストを盗むことができるがその意味を知らない中間者 (MitM) 攻撃者は、編集者が解読すると「I hate CSO!」と読める別の暗号文字列に変換する可能性があります。「
もちろん、実用的な電子メール暗号化システムには、データの完全性を保護する対策が施されており、アルゴリズムやその実装に脆弱性がない限り、このシナリオは事実上不可能です。 さらに、メッセージ認証チェックサム (たとえば、MD5 または SHA ハッシュ) は、データの完全性を検証するのに役立ちます。 懸念されるのは、たとえば、暗号化されたデータで作業する計算エンジンが、欠陥のあるアルゴリズムにより、データや暗号化された結果にエラーを導入する場合です。 ホモモルフィック暗号の性質上、このようなエラーを発見するのは特に難しくなります。
Types of homomorphic encryption
すべてのデータは数字です(コンピュータは2進数で動きます)。 暗号学は数学の一分野であり、数字を直接扱います。 つまり、暗号化と復号化は、数字に対する複雑な操作の遊びに過ぎません。
同相暗号化には 3 つのタイプがあります。
- Somewhat homomorphic encryption (SHE) はより寛容ですが、まだ制限があり、与えられたデータセットで数回だけ加算と乗算の両方が可能です。
- Fully homomorphic encryption (FHE) はすべての世界のベストで、データに対して異なるタイプの操作を無制限に許可しますが、パフォーマンスは大きく犠牲になります。
各アプローチは、パフォーマンス、ユーティリティ、保護のいずれかを提供する方向に傾いており、FHE は非常に集約的で、現在は非効率です (したがって、実際のシナリオではパフォーマンスが低い)。
現在のホモモーフィック暗号化の開発は、最適解を得るために 3 つの間で常にバランスをとる作業です。 たとえば、クラウド オペレーターが暗号化されたデータに対してさまざまな数学的演算を実行できるようになります。 暗号化されたストレージは、そのような業界が実施するセキュリティ対策ですが、そこから洞察を得るために、まずユーザー データを復号化しなければならない場合、さらなる課題が発生します
たとえば、患者のケース ファイルから機械学習を使用する予測分析を導き出すことは、医師が病気の治療法を特定するのに役立ちます。 ホモモルフィック暗号化では、患者のファイルを最初に復号化する必要性がなくなります。 分析アルゴリズムは、暗号化された患者データで動作するように調整され、暗号化された形でも結果を出すことができる。 この結果を復号化すると、暗号化されていない患者ファイルから得られたのと同じ洞察が得られます。
この使用例は、オンライン広告にも適用されます。 GDPR のような法律による制約が増える中、ユーザーのプライバシーを保護しながらパーソナライズされた広告を提供することは、難しい課題となっています。 ホモモルフィック暗号化により、ユーザー情報の機密性を損なうことなく、暗号化されたユーザー データから分析と洞察を導き出すことができます。
Outsourced Cloud Storage
Outourcing data storage は、人件費の削減と本格的な安全なデータ センターのメンテナンスに伴う頭痛を解消する上で、コスト効果の高い戦略かもしれません。 さらに、プロジェクトによっては、自国の司法権では十分な法的保護が得られないため、国境を越えてデータベースをアウトソースする必要がある場合があります。 実際の例として、非営利の活動家組織である WikiLeaks が、主要なサーバーをスウェーデンでホストしていることを考えてみましょう。
暗号化はデータ保存の問題を解決しますが、暗号化されたデータをその暗号された状態で追加または変更することは、同形式の暗号化が対処できる問題です。 具体的には、元 Google エンジニアが特権を悪用してプラットフォームのユーザーの一部をストーカーしたような事件の可能性をつぶすことができます。
ホモモルフィック暗号化では、データはクラウドに安全に保存され、暗号化された情報を計算および検索する能力があります。 理想的な環境では、クラウド内のデータを所有するユーザーだけが、データとホモモルフィック暗号化の結果を復号化する能力を持ちます。
この技術を試してみたい場合、Homomorphic Encryption Standardization Web サイトでは、多くのオープン ソース実装のホモモルフィック暗号化を提供しています。 Microsoft SEAL は、エンドツーエンドで暗号化されたデータ ストレージおよび計算サービスを構築する開発者を支援するために、「暗号化されたデータに対して直接計算を実行できるようにする暗号化ライブラリ」を提供しています
。