すべてのプログラマーが知っておくべきプライバシー コンピューティング テクノロジーのトップ 10

元のアドレス:すべてのエンジニアが知っておくべき 10 のプライバシー強化テクノロジー

著者: ショーン・ファルコナー

翻訳と照合: オープン プライバシー コンピューティングとPrimiHub

私たちはエンジニアとして、機械学習、分析、データ共有などのデータ駆動型のワークフローをサポートしながら、機密データを悪用から保護し、さまざまなデータ保護法を遵守する必要があります。幸いなことに、プライベート コンピューティングの最近の進歩は、データのプライバシーを保護するだけでなく、データの効率的な利用にも役立ちます。

この記事では、実用化および商用化に向けて急速に進歩しているすべてのエンジニアが知っておくべき 10 種類のプライバシー強化テクノロジ (PET) について説明します。

1. プライバシー強化技術とは何ですか?

プライバシー強化テクノロジーには、顧客名、電話番号、電子メール アドレスなどの機密データのプライバシーとセキュリティを強化するテクノロジーが含まれます。これらのテクノロジーは、データ プライバシー法や規制へのコンプライアンスを確保する場合でも、次のデータ侵害を防ぐためにシステムを強化する場合でも、フルスタック開発者のツールキットに不可欠な部分です。

プライバシー強化テクノロジーはその多様性にもかかわらず、いくつかの共通のテーマを強調する傾向があります。

  • 匿名化

  • 難読化 (トークン化、暗号化、擬似匿名化)

  • 機密データを分離または一元化する

  • ゼロトラスト/分散トラスト (マルチパーティ計算を含む)

2. プライバシー強化テクノロジーはなぜ重要ですか?

個人には機密の個人データを秘密にしておく権利があるため、プライバシー強化テクノロジーは重要です。近年、データ侵害の件数が増加しているため、ユーザーの間でプライバシーに対する意識が高まり、使用するアプリや Web サイトでデータを保護することが求められています。規制当局は、国内のデータセキュリティ法や個人プライバシー保護法などの新しいデータプライバシー規制を策定する措置を講じています。外国のCCPA(カリフォルニア)、CPA(コロラド)、GDPR(EU)、DCIA(カナダ)など

3. プライバシー強化技術の例

3.1 安全なマルチパーティ計算

セキュア マルチパーティ コンピューティング (Secure Multiparty Compute、MPC) は、複数の参加者間で計算を分散する暗号化の分野であり、個々の参加者は他の参加者のデータを見ることはできません。中心的なアイデアは、さまざまな当事者が個人データを他の当事者に開示することなくデータを計算し、共通の望ましい結果に到達する方法を提供することです。

古典的な使用例は、平均給与の問題です。給与を他人に公開せずに、従業員グループの平均給与を計算するにはどうすればよいでしょうか?

MPC は、次の一連の操作を通じてこの問題を解決できます。

任意の順序でワーカーに番号を付ける

  1. 最初のワーカーは非常に大きな乱数を選択し、その値に自分の給与を加算し、その結果を 2 番目のワーカーに転送します (下の画像を参照)。
  2. 2 番目のワーカーは自分の給与を共有値に加算し、その結果を 3 番目のワーカーに転送し、すべてのワーカーが給与を拠出するまでこれを繰り返します。
  3. 最後の従業員が給与を追加し、最終結果を最初の従業員に送信します。
  4. 最初の従業員はランダムな数値を選択したため、合計からその数値を引いて、すべての給与の合計を取得できます。次に、この結果をワーカーの総数で割ることで平均を計算できます。

MPC の例の説明: 労働者 A は乱数 W を選択し、それを自分の給与に加算し、その合計を労働者 B に渡し、労働者 B は自分の給与をその合計に加算して、労働者 C に渡します。労働者 A は最終的な合計額を取得し、平均賃金を計算できます。

MPC は 1970 年代初頭に初めて導入され、1980 年代後半に初めて正式化されましたが、学術研究から商用製品の実際的な問題解決に移行したのはつい最近のことです。MPC は現在、不正行為の検出、心疾患の分析、プライベート データセットにわたる特徴の集約など、幅広いアプリケーションで使用されています。

これはプライバシーを保護する非常に強力な方法ですが、いくつかの制限があります。MPC を使用すると、既存のシステムに計算オーバーヘッドが追加され、異なる関係者間の通信コストが高くなります。このため、多くの問題に対して MPC の使用は非実用的になります。

3.2 匿名化技術

匿名化は、データセットから個人情報を削除するプロセスです。トークン化やk-匿名化など、さまざまな匿名化方法があります。

トークン化

トークン化は、機密データをトークンに置き換えるデータ難読化に対する非アルゴリズムのアプローチです。たとえば、顧客の名前「John Smith」は、トークン化された文字列「7afd3186-369f-4898-ac93-3a4e732ebf7c」に置き換えることができます。「John Smith」と文字列「7afd3186-369f-4898-ac93-3a4e732ebf7c」の間には数学的な関係がないため、トークン化プロセスにアクセスできない限り、トークン化されたデータから元のデータを取得する方法はありません。

名前とメールアドレスのシンプルなトークン化システム

長さを保持したトークン化、形式を保持したトークン化、ランダムなトークン化と一貫したトークン化など、さまざまなトークン化の手法とスタイルがあります。アプローチが異なれば、トレードオフも異なり、異なるユースケースをサポートできます。

k-匿名化

k-匿名化は、1990 年代後半に研究者の Latanya Sweeney と Pierangela Samarati によって初めて提案されました。データセット内の各個人の情報が少なくとも k-1 人の個人から区別できない場合、データセットは k-匿名性の特性を持ちます。

これは「多くの強み」のアプローチです。基本的に、全員がグループに属している場合、グループ内のレコードは 1 人の個人に対応する可能性があります。k-匿名化の欠点は、ランダム化がないため、攻撃者がデータに関する情報を推測できることです。さらに、攻撃者がある人物について何か知っている場合、これらのグループを使用してその人物について別のことを知ることができます。たとえば、データセット内の 60 歳以上の女性がすべて乳がんに罹患しており、攻撃者はジュリーが 60 歳以上でデータセット内にいることを知っている場合、攻撃者はジュリーが乳がんに罹患していることを知ることになります。

このリストにある多くの PET と同様、k 匿名化は、適切な保護手段を備えた他の技術と組み合わせることで強力なツールとなり得ます。

3.3 擬似匿名化

擬似匿名化は、フィールド値を仮名に置き換えることによって個人の身元を隠す難読化の一種です。擬似匿名化では、データ値をそれが参照する人や物 (データ主体) と関連付けることができないように、識別データの一部のみが削除されます。

擬似匿名化には、元の値に難読化された文字を混ぜる難読化や、元のデータの一部を隠すデータマスキングなど、いくつかの方法があります。

擬似匿名化を使用する場合、常に再識別のリスクが伴います。方法が異なればリスクも異なり、一部の方法は特定の規制に準拠していません。擬似匿名化にはさまざまな用途がありますが、それだけでは完全なデータ プライバシー ソリューションには不十分です。

3.4 準同型暗号化

暗号化の基本的な形式は紀元前 1900 年まで遡り、RSA、AES、DES などの最新の技術が安全なデータの送信と保存に広く使用されています。ただし、これらすべての手法の欠点は、データを操作するには、まずデータを復号化する必要があることです。これにより、復号化されたデータがメモリにキャッシュされたり、小さなコーディング エラーにより暗号化されていない機密データがログ ファイルやその他の場所に表示される可能性があるため、潜在的な攻撃対象領域が開かれます。これにより、セキュリティとコンプライアンスに関する懸念の範囲が拡大します。

準同型暗号化は、暗号化の「ゴールドスタンダード」として広く考えられています。これは、最初にデータを復号化せずに、暗号化されたデータに対して計算を実行できるようにする暗号化の形式です。表面的には、これは驚くべきことのように思えます。セキュリティを最大限に高めながら、完全なデータ ユーティリティを実現します。

しかし、実際には、完全準同型暗号化はパフォーマンスの課題に直面しており、妥当なパフォーマンスを提供できず、企業が使用するには過剰なコンピューティング リソースが必要になります。

準同型暗号は非常に複雑であり、暗号化されたデータに対するほぼすべての操作をサポートする必要があるため、パフォーマンスの課題に直面しています。理論的には、これは望ましい機能ですが、ほとんどのソフトウェア エンジニアにとって、データに対して任意の操作を実行する必要はありません。通常、非常に特殊な操作を実行するだけで十分です。

これは、顧客の機密データに関しては特に当てはまります。2 つの電話番号を乗算または除算したり、任意の部分文字列を取得したりする必要はありません。電話番号、生年月日、社会保障番号、その他多くの形式の機密顧客データには、非常に特殊な形式とコンポーネントがあります。

したがって、ポリモーフィック暗号化が機能します。準同型暗号化と同様に、ポリモーフィック暗号化は暗号化されたデータに対する操作をサポートしますが、エンジニアが通常機密データに対して実行する必要があるタイプと操作をサポートするように特別に設計されています。たとえば、社会保障番号の最後の 4 桁のインデックスを作成して復号化することや、顧客の信用スコアを実際に確認せずに、顧客の信用スコアが所定のしきい値を上回るか下回るかを判断することができます。ポリモーフィック暗号化は非常に強力な PET であり、現在すでに企業での使用が可能です。

3.5 フェデレーションラーニング

フェデレーテッド ラーニングは、分散型機械学習の一種です。機械学習では、通常、トレーニング データは複数のソース (電話、ラップトップ、IoT デバイスなど) から集約され、トレーニングのために中央サーバーに送信されます。しかし、これはプライバシーの観点から明らかに問題があります。

フェデレーテッド ラーニング モデルでは、トレーニングはローカルで行われ、結果は生の入力ではなく中央サーバーに報告されます。たとえば、中央の機械学習アプリケーションをすべてのデバイスで直接使用できます。ローカル モデルは、ユーザー入力とデバイスの使用状況に基づいて学習およびトレーニングします。その後、デバイスはトレーニング結果のみをローカル コピーから中央サーバーに送信します。

分散したすべてのデバイスからの結果が集約されますが、ユーザー データは表示されません。ユーザーのデバイスは、新しくトレーニングされた中央モデルで更新できます。Google の画像分類のための Federated Learning コードラボを使用して、これを自分で試すことができます。フェデレーテッド ラーニングにはいくつかの制限がありますが、デバイスと中央サーバーの間で頻繁に通信する必要があるため、大量のネットワーク帯域幅が必要になります。さらに、ローカル トレーニングには、デバイス上でモデル トレーニングを実際に実行するために十分なローカル コンピューティング能力とメモリが必要です。しかし、Google や Amazon などの企業は、このような PET に多額の投資を行っており、すでにコンピューティング コストを削減し、通信効率を向上させるいくつかの画期的な成果を上げています。

3.6 ゼロ知識証明

ゼロ知識証明は、ある当事者が、そのステートメントが真実であること以外の情報を明らかにすることなく、そのステートメントが真実であることを別の当事者に証明する方法です。

ゼロ知識証明の典型的な例は、Peggy (証明者) と Victor (検証者) という 2 人の登場人物が登場する Alibaba Cave です。ペギーとビクターは両方とも洞窟の入り口にいます。洞窟には 2 つの異なる入り口があり、2 つの異なる道 (A と B) につながっています。洞窟の中には二つの道を繋ぐ扉があるが、それは秘密の暗号でしか開けられない。ペギーはコードを所有しており、ビクターはそれを手に入れたいと考えていますが、ビクターはまずペギーが不正行為をしていないかどうかを確認したいと考えています。

ペギーはどのようにしてビクターに秘密のコード(鍵)を持っていることを示し、それを明かさないのでしょうか?

これを行うには、ペギーはどちらかのドア (A または B) から洞窟に入ることができます。洞窟に入ると、ビクターは洞窟に近づき、ペギーに叫び、2つの道のどちらかで戻るように頼みます。選択はランダムです。ビクターがパス A に戻るようにペギーに呼びかけたが、ペギーが実際にはパス B にいる場合、彼女が実際に秘密のコード (キー) を持っている場合にのみ、パス A 経由で戻ることができます。もちろん、ペギーが嘘をつき、すでにパス A にいた場合、彼女は幸運に恵まれるかもしれませんが、プロセスが十分な回数繰り返される限り、彼女が秘密コード (キー) を持っている場合にのみ、常に正確に戻ることができますこれは、ゼロ知識証明の基本概念であり、証明者は、ステートメントの外部の情報を明らかにすることなく、指定されたステートメントの真実性を証明できます。

ゼロ知識証明の課題は、答えが 100% 保証されておらず、計算量が多いことです。エラーのパフォーマンスを許容レベルまで下げるには、証明者と検証者の間で複数の対話が必要です。このため、このアプローチは低速または低電力のデバイスでは実用的ではありません。

3.7 差分プライバシー

差分プライバシーは、商業的な関心が高まっているプラ​​イバシー強化技術です。差分プライバシーの考え方は、データセットに少量のノイズを導入することで、クエリ結果から 1 人の個人に関する多くの情報を推測できなくなるというものです。差分プライバシーは、匿名化のような特定のプロセスではなく、アルゴリズムまたはプロセスが持つことができる特性です。

差分プライバシーは、元のデータにノイズを追加することにより、データにプライバシー保護層を追加します。したがって、得られたデータを使用してモデリングや分析を行うと、精度が低下します。差分プライバシーを賢く利用する鍵は、個人のプライバシーを保護しながら、正確な結果を取得する必要性のバランスを取ることです。

3.8 合成データ

合成データ (または「偽データ」) は、元のデータセットのパターンと構成を模倣して人工的に生成されたデータであり、データ匿名化の一種です。合成データは、実際の顧客の個人情報を公開することなく、テスト目的で実稼働データに類似したものをエンジニアに提供するなど、一部のユースケースでは優れたソリューションです。合成データは、不正検出システムで使用される機械学習モデルをトレーニングするためにも広く使用されています。

テストやその他のアプリケーションに十分現実的なデータを合成的に生成することは、複雑なプロセスです。たとえば、企業に同じ顧客名を持つ個別のテーブルを含む複数のデータベースがある場合、同じ顧客は両方のデータベースで同じ名前を持つことになります。理想的には、そのビジネス用に生成された合成データがこのパターンをキャプチャすることになります。

これは複雑な問題ですが、現在では多くの企業が商用ソリューションを提供しています。

3.9 信頼できる実行環境

Trusted Execution Environment (TEE) は、プライバシー保護に対するハードウェア ベースのアプローチです。TEE では、CPU にはメイン コンピュータのプロセスとメモリ パーティションからのハードウェア パーティションがあります。TEE 内のデータにはメイン プロセッサからアクセスできず、TEE と残りの CPU 間の通信は暗号化されます。暗号化されたデータに対する操作は、TEE 内でのみ実行できます。

Intel や AMD などのチップメーカーは現在、TEE チップを提供しています。AWS Nitro Enclaves は、このテクノロジーを使用して、セキュリティとプライバシーを維持しながら、個人を特定できる情報などの機密性の高いデータの処理に適した分離されたコンピューティング環境を作成します。

3.10 安全なマルチパーティ計算データプライバシーボールト

Data Privacy Vault は、機密データを分離し、管理、監視、使用するためのアクセスを安全に制御します。これはテクノロジーでもあり、アーキテクチャ設計パターンでもあります。Data Privacy Vault は、暗号化、トークン化、データ マスキングなどの PET と、ゼロ トラスト、ロギング、監査などのデータ セキュリティ技術、および分離の原則を組み合わせます。

例: データ プライバシー ボールトを使用すると、取り込み時に機密データがボールトに送信され、その後、トークン化されたデータがダウンストリームに保存されます。

上の図に示すように、顧客の個人を特定できる情報を既存のデータ ストレージとインフラストラクチャからデータ プライバシー ボールトに移動します。Data Privacy Vault は、すべての顧客の個人を特定できる情報の信頼できる唯一の情報源となり、既存のアプリケーション インフラストラクチャをデータ セキュリティとコンプライアンスの責任から効果的に解放します。データ プライバシーに対するこのアーキテクチャ設計アプローチには、データの常駐やローカリゼーションの複雑さが大幅に軽減されるという別の利点もあります。

このテクノロジーはもともと Apple や Netflix などの企業によって開発されました。データ プライバシーに関するベスト プラクティスのアプローチとして広く認識されているにもかかわらず、データ プライバシー ボールトは一部の大手テクノロジー企業以外には広く採用されていません。これは、Vault システムの構築に伴う複雑さによるものです。Shopify は 3 年かかり、94 人のエンジニアの協力を得て、独自バージョンのデータ プライバシー ボールトを構築しました。

4. プライバシーの未来

データプライバシーはコンプライアンスの問題であるだけでなく、ユーザーに対する責任でもあります。この分野では多くの成長と勢いがあり、エンジニアがより優れた安全なシステムを構築するのに役立つと同時に、企業が顧客に関して収集したデータを使用して製品を改善できるようになります。

これらのテクノロジーが商品化され、API や SDK などの抽象化レイヤーが開発されるにつれて、これらのテクノロジーを日常のエンジニアリング タスクに活用することは、プログラムで電話をかけたり、クレジット カード取引を発行したりするのと同じくらい簡単かつ一般的なものになるでしょう。

データのプライバシーは、CISO (最高情報セキュリティ責任者) だけの仕事ではなく、プライバシー責任者だけの仕事でもありません。全員の仕事でもあります。機密データを保護する技術的な側面を担当することが多いエンジニアとして、私たちはプライバシーを強化するツールと技術の領域を理解する必要があります。同時に、この理解を利用してプライバシーのベストプラクティスに従い、ユーザーが機密の個人データを共有する際に当社に寄せる信頼を尊重することが重要です。

PrimiHubは、暗号化専門家のチームによって構築されたオープンソースのプライバシー コンピューティング プラットフォームで、データ セキュリティ、暗号化、フェデレーテッド ラーニング、準同型暗号化などのプライバシー コンピューティング分野におけるテクノロジーとコンテンツの共有に重点を置いています。

Microsoft の公式発表: Visual Studio for Mac が廃止 中国の開発者チームによって作成されたプログラミング言語: MoonBit (月のウサギ) C++ の父、Bjarne Stroustrup が人生のアドバイスを共有 Linus も乱雑な略語を嫌い、TM は「GenPD」と呼ばれるもの Rust 1.72 .0 リリース、将来的にサポートされる最小バージョンは Windows 10 ウェンシン・イーヤン、 WordPress を 全社会に開放し「100 年計画」を開始 : Crumb green language V1.0 正式リリース
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/6662337/blog/10096531