(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-06
(54)【発明の名称】個人データ保護
(51)【国際特許分類】
H04L 9/14 20060101AFI20241029BHJP
G06F 21/62 20130101ALI20241029BHJP
【FI】
H04L9/14
G06F21/62 345
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024523637
(86)(22)【出願日】2022-10-18
(85)【翻訳文提出日】2024-06-17
(86)【国際出願番号】 US2022047034
(87)【国際公開番号】W WO2023069444
(87)【国際公開日】2023-04-27
(32)【優先日】2021-10-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】519161872
【氏名又は名称】ライブランプ インコーポレーテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】アーノルド、ジェイムズ、キュー.
(72)【発明者】
【氏名】クマール、シャレヤス
(57)【要約】
個人データ・プライバシーを保護するシステムであって、個人データが受信されるときには知られていない方法によって、データの将来の処理を可能にしながら、個々のデータ項目に対する参照を作成し、それは、指定された処理への入力として元の個人データを用いて、処理及び表現の組み合わせを特定するために用いることができる。生の個人データは、抽出され、セキュアなデータベース内に挿入され、主要なキーは、取り出すために個人データに割り当てられる。個人データ・リポジトリは、高セキュリティ・ゾーン内に維持される。システムは、処理された個人データを取り出すサービスと、属性及び個人データ・キーを含む解析された記録ファイルと、をさらに含む。
【特許請求の範囲】
【請求項1】
個人データのプライバシーを保護するためのシステムであって、前記システムは、
1つ又は複数のプロセッサと通信する1つ又は複数の第1の記憶装置上で実施されるプライベート・ゾーンと、
前記1つ又は複数のプロセッサと通信する1つ又は複数の第2の記憶装置上で実施される変換ゾーンと、
1つ又は複数の第3の記憶装置上で実施される一般ゾーンと、
個人データ・キー作成サブルーチンと、
を備え、
前記1つ又は複数の記憶装置は、生データの記録及び命令セットを備える複数の個人データ・ファイルを格納しており、前記命令セットは、前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに生データのセット内の特定のデータ項目を識別させ、
前記変換ゾーンは、前記特定のデータ項目の各々と前記特定のデータ項目の各々のための対応する個人データ・キーとの間のマッピングを備える個人データ・キー・マップ及び命令セットを備え、前記命令セットは、前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに前記特定のデータ項目の各々を前記対応する個人データ・キーにより置換させ、
前記一般ゾーンは、解析された記録のセットを備え、生データの前記記録内の前記特定のデータ項目は、前記対応する個人データ・キーにより置換され、
前記個人データ・キー作成サブルーチンは、前記1つ又は複数のプロセッサ上で実行し、前記1つ又は複数のプロセッサに、
特定のデータ項目を受信させ、
前記特定のデータ項目に対応する一意の識別子を生成させ、
乱数又は疑似乱数ソルトを生成させ、
前記一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成させ、
前記ソルト付きの一意の識別子をハッシュし、元の前記特定のデータ項目に対応する前記個人データ・キーを生成させるように構成される、
システム。
【請求項2】
前記プライベート・ゾーンは、知る必要がある人のみにアクセスを提供するように構成されるプライベート・ゾーン・セキュリティ・プロトコルを備える、
請求項1に記載のシステム。
【請求項3】
前記変換ゾーンは、指定された人のみにアクセスを提供するように構成される変換ゾーン・セキュリティ・プロトコルを備える、
請求項2に記載のシステム。
【請求項4】
前記一般ゾーンは、デベロッパーにアクセスを可能にするように構成される一般ゾーン・セキュリティ・プロトコルを備える、
請求項3に記載のシステム。
【請求項5】
個人データ保護のためのシステムであって、前記システムは、
1つ又は複数のプロセッサと、
前記1つ又は複数のプロセッサと通信する1つ又は複数の記憶装置と、を備え、前記記憶装置は、命令セットを備え、前記命令セットは、前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに、
少なくとも1つのデータ・コントローラから複数のデータ記録を受信させ、
データ記録のセット内の特定のデータ項目を識別させ、
前記特定のデータ項目の各々に対応する一意の識別子を生成し、各一意の識別子のために乱数又は疑似乱数ソルトを生成し、各一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成し、各ソルト付きの一意の識別子をハッシュし、前記特定のデータ項目の各々に対応する個人データ・キーを生成することによって、前記特定のデータ項目の各々のための前記個人データ・キーを作成させ、
前記特定のデータ項目、対応する個人データ・キーのセット及び関連付けられたメタデータのセットを、前記1つ又は複数の記憶装置上の制限されたアクセス・ゾーン内の個人データ・キー・マップに格納させ、
前記特定のデータ項目を前記対応する個人データ・キーにより置換させ、前記個人データ・キーを備える解析された記録のセットを作成させる、
システム。
【請求項6】
個人データ・ワークフローの方法であって、前記方法は、
少なくとも1つのデータ・コントローラからプライベート・ゾーン内の生の個人データのセットを受信するステップと、
前記生の個人データのセットを取り込み、前記生の個人データのセット内の特定のデータ項目を識別するステップと、
前記特定のデータ項目の各々のための一意の識別子を生成し、各一意の識別子のために乱数又は疑似乱数ソルトを生成し、各一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成し、各ソルト付きの一意の識別子をハッシュし、前記特定のデータ項目の各々に対応する個人データ・キーを生成することによって、前記生の個人データのセット内の前記特定のデータ項目の各々のための前記個人データ・キーを作成するステップと、
前記生の個人データのセット内の前記特定のデータ項目の各々のために、前記特定のデータ項目、その対応する個人データ・キー及び関連付けられたメタデータのセットを、変換ゾーン内の個人データ・キー・マップに格納するステップと、
前記特定のデータ項目を前記対応する個人データ・キーにより置換し、前記個人データ・キーを前記プライベート・ゾーンに返送するステップと、
前記特定のデータ項目に対応する前記個人データ・キーを備える解析された記録のセットを作成するステップと、
を含む方法。
【請求項7】
前記方法は、前記解析された記録のセットを読み出すステップと、前記解析された記録のセット内の前記解析された記録の少なくとも1つを個人データ変換サービスに転送するステップと、をさらに含む、
請求項6に記載の方法。
【請求項8】
前記個人データ変換サービスは、前記少なくとも1つの解析された記録内の個人データを置換する、
請求項7に記載の方法。
【請求項9】
前記方法は、宛先プラットフォームに特有の第2のハッシュ・キーを用いて、第2のハッシュを実行するステップをさらに含む、
請求項7に記載の方法。
【請求項10】
前記方法は、前記解析された記録を、前記第2のハッシュ・キーに対応する前記宛先プラットフォームに送信するステップをさらに含む、
請求項9に記載の方法。
【請求項11】
前記方法は、複数の宛先プラットフォームの各々に対応する前記第2のハッシュ・キーを格納するステップをさらに含む、
請求項10に記載の方法。
【請求項12】
特定のデータ項目に対応する個人データ・キーを生成するための方法であって、前記方法は、
プロセッサで前記特定のデータ項目の1つを受信するステップと、
前記特定のデータ項目に対応する一意の識別子を生成するステップと、
前記プロセッサで乱数又は疑似乱数ソルトを生成するステップと、
前記プロセッサで前記一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成するステップと、
前記特定のデータ項目に対応する前記個人データ・キーを生成するために、前記プロセッサで前記ソルト付きの一意の識別子をハッシュするステップと、
を含む方法。
【請求項13】
前記一意の識別子は、汎用一意識別子(UUID)を備える、
請求項12に記載の方法。
【請求項14】
前記ハッシュするステップは、SHA-256ハッシュ・アルゴリズムを用いて実行される、
請求項13に記載の方法。
【請求項15】
個人データ・キー・エンジンであって、
1つ又は複数のプロセッサと、
命令を格納する非一時的コンピュータ可読媒体と、を備え、前記命令は、前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに、
特定のデータ項目を受信させ、
前記特定のデータ項目に対応する一意の識別子を生成させ、
疑似乱数ソルトを生成させ、
前記一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成させ、
前記ソルト付きの一意の識別子をハッシュし、元の前記特定のデータ項目に対応する個人データ・キーを生成させる、
個人データ・キー・エンジン。
【請求項16】
前記一意の識別子は、汎用一意識別子(UUID)を備える、
請求項15に記載の個人データ・キー・エンジン。
【請求項17】
前記命令は、SHA-256ハッシュをさらに備え、前記ソルト付きの一意の識別子をハッシュする、
請求項16に記載の個人データ・キー・エンジン。
【発明の詳細な説明】
【技術分野】
【0001】
データ・プライバシー環境において、データ・コントローラは、個人データがデジタル環境内で処理される目的及び手段を制御する当事者である。データ・プロセッサは、データ・コントローラのために個人データを処理する当事者である。個人データは、識別されたか識別可能な自然人に関する任意の情報を意味する。識別可能な自然人は、直接的又は間接的に、特に、識別子、例えば、名前、識別番号、位置データ、オンライン識別子を参照することによって、又は、その自然人の物理的、生理的、遺伝子的、精神的、経済的、文化的若しくは社会的アイデンティティに特有の1つ又は複数の因子を参照することによって識別可能な人である。データ・コントローラは、個人データを用いて、ウェブサイト活動をカスタマイズし、コンテンツを所与の個人に合わせ、個人的嗜好に基づいて広告を選択し、多くの他の有用な機能を実行することができる。しかしながら、このデータが関係する個人のプライバシーを保護するために、すべての個人データは、セキュアに保たれなければならず、認可された受取人のみに公表されなければならない。
【背景技術】
【0002】
ほとんどすべての場合において、適用できるプライバシー法及び規制は、元の(すなわち、生の)個人データが、プライバシーを保護するために、元のデータ・コントローラ又はデータ・プロセッサのみによって、且つ、有効な業務目的のためにのみ保たれなければならないことを要求する。したがって、個人データをカスタマイズ目的に用いるために、生の個人データを変え、個人データに関連付けられた元のデータ対象者(すなわち、人)に関して戻ることができない偽名データを生成しなければならない。偽名データは、偽名データとは別に保たれる追加情報のない、個人データに関連付けられたデータ対象者の識別をもはや可能にしないデータとして定義される。これは、匿名データと異なり、匿名データは、データに結合されうる任意の追加情報の存在に関係なく、データ対象者を可逆的に識別するすべての可能性を除去するように処理されるデータである。
【0003】
さまざまな手段は、個人データを処理するために用いられ、正規化、暗号化及び暗号学的ハッシュを含むがこれらに限定されるものではない。これらのプロセスは、多数のバリエーションを有し、データ・コントローラ、データ・プロセッサ、ウェブサイト、広告主及び他のエンティティの間で交換される偽名データを生成する。正規化の実例として、メール・アドレスの「John.O’Shea@mail.com」を考える。データ処理に応じて、正規化されたメール・アドレスは、「johnoshea@mail.com」、「john.oshea@mail.com」、「john.o’shea@mail.com」又は他のバリエーションかもしれない。次に、正規化されたメール・アドレスは、例えば、暗号化又は暗号学的ハッシュによりさらに処理される。暗号化及びハッシュもまた、例えば、異なる暗号化キー、ハッシュ/暗号化技術及び暗号化ソルトを用いる変形を有する。この種の処理の最終的な値は、偽名とみなされ、プライバシーの喪失なしでカスタマイズ目的のために交換可能である。
【0004】
この実例から分かるように、異なる偽名化方法が可能である。データが1つの方法によって正規化され、偽名化データを作成し、元のデータが破棄される場合、データ・プロセッサは、偽名化の間、異なって正規化されたであろうデータを用いる要求を処理することができない。それが既存の技術であるか又は将来導入されうるものであるかに関わりなく、データ・プロセッサは、適用される正規化の方法に関係なく、使用可能であるような形でそのデータを保持することが有利であると発見しうる。これは、データ・プロセッサの処理の柔軟性を増加させるとともに、関連データのプライバシーを依然として保護する。したがって、データ・プロセッサは、以下の同時の問題に直面しうる。すなわち、(1)不正開示の可能性を最小化するやり方で個人データを保持する方法、(2)現在の方法と異なる将来導入されうる偽名化方法をサポートする方法、及び、(3)通常のコンピューティング環境下で処理可能であり、「設計によるプライバシー」の原則をサポートするファイルを生成する方法である。次に要求されることは、個人データが受信されるときには知られていない方法によって、データの将来の処理も可能にしながら、個人データのプライバシーを保護する方法である。
【0005】
この背景の章に言及されたものは、本発明に関する従来技術であるとは認められない。
【発明の概要】
【課題を解決するための手段】
【0006】
本発明は、個人データが受信されるときには知られていない方法によって、データの将来の処理を可能にしながら、個人データのプライバシーを保護するシステム及び方法に関する。個人データは、セキュアに格納可能であり、データの不正開示を防止する。これは、個々のデータ項目に対する参照を作成することによって達成され、それは、指定された処理への入力として元の個人データを用いて、処理及び表現の組み合わせを特定するために用いることができる。さまざまな実施例では、システム及び方法は、生の個人データを抽出し、データをセキュアなデータベース内に挿入するプロセスと、取り出すために主要なキーを個人データに割り当てるプロセスと、高セキュリティ・ゾーン内に維持され、経営方針及び個人データの可視性を防止するための人員アクセス制限を有する個人データ・リポジトリと、処理された(例えば、正規化され、暗号化され、及び/又はハッシュされた)個人データを取り出すサービスと、属性及び個人データ・キーを含む解析された記録ファイルと、を含んでもよい。
【0007】
本発明のこれら及び他の特徴、目的及び利点は、以下に記載されている図面に関連して、以下の詳細な説明についての考慮から、よりよく理解される。
【図面の簡単な説明】
【0008】
【
図1】本発明の一実施例による個人データ・ワークフローの図である。
【
図2】本発明の一実施例による個人データ・ワークフローを実施するハードウェアの構造上の図である。
【
図3】本発明の一実施例による変換ゾーンのためのデータ・フローの詳細の図である。
【
図4】本発明の一実施例による変換ゾーンのためのデータ・フローを実施するハードウェアの構造上の図である。
【発明を実施するための形態】
【0009】
本発明がさらに詳細に記載される前に、本発明の範囲は、請求項のみによって限定されるので、本発明が記載されている特定の実施例に限定されるものではなく、特定の実施例を記載する際に用いられる用語がそれらの特定の実施例のみを記載するためであり、限定的であることを意図するものではないことを理解されたい。
【0010】
本願明細書において記載した本発明の特定の実施例のためのプロセス及び方法は、3つのデータ記憶ゾーンを利用する。これらのゾーンは、物理的に若しくは論理的に分離して個々のローカル記憶媒体上で、又は、1つ若しくは複数のクラウド記憶媒体にわたり実施されてもよい。本願明細書において、ゾーンは、一般ゾーン、プライベート・ゾーン及び変換ゾーンと称される。一般ゾーンは、一般のセキュリティを適用し、会社内でプライベートであるが、全体的にプロバイダでデベロッパーに見えている。個人データは、一般ゾーンに入れられない。プライベート・ゾーンもまた、一般のセキュリティを適用し、会社内でプライベートであるが、アクセスは、会社の技術サービス及び知る必要があるデベロッパーのサブセットに限定されている。プライベート・ゾーンは、個人データを含む顧客ファイルを受理及び処理するために用いられる。ファイルは、このゾーンにおいて一時的であり、ファイルが取り込み処理を完了するとすぐに、すべての個人データは削除される。最後に、変換ゾーンは、最高のセキュリティ・ゾーンであり、方針によって訓練された会社の人員の小さいセットに制限される。変換ゾーンへのアクセスを提供するネットワークは、認可されたトラフィックのみに制限され、外部アクセスは許可されない。変換ゾーンは、暗号化キーのような非常に感度が高いデータを含む。
【0011】
データ・セキュリティのための会社経営方針は、データへのアクセスを最小化することを含んでもよい。本発明の実施態様では、プロバイダ会社内の特定の組織は、システムにアクセスする必要のない人々及び組織のアクセスが否定されるように、個人データを収納するシステムを維持するように指定される。さらに、指定された組織内の人々は、データ・セキュリティに関する特別な訓練をされ、これらの人々は、彼らの管理の下でデータの守秘性を法的に保護しなければならない。
【0012】
以下に提供されるゾーンの説明を参照して、本発明の一実施例による一般の個人データ・ワークフロー概要は、
図1を参照して説明されてもよい。ステップ1で、外部データ・コントローラは、生の個人データを有する記録を含むファイルを作成する。これらのファイルは、プライベート・ゾーン内で利用可能となる。
【0013】
取り込み計算エンジン・ステップ26で、取り込みプロセスは、これらの生の個人データ・ファイル1への到着をモニタし、それらを処理する。取り込みエンジン26は、生の個人データ入力の各記録を調査し、特定の個人データ項目を識別し、個人データ変換サービス3にそれらを渡す。
【0014】
次に、個人データ変換サービス3は、生の個人データを入力として受け取る。次に、それは、キー管理サービス9を用いて、各項目のための個人データ・キーを作成する。個人データ・キーが作成されると、次に、個人データ変換サービス3は、キー、個人データ及び関連付けられたメタデータを個人データ・キー・マップ10内に格納する。個人データ・キー・マップ10は、暗号化データベースである。個人データ・キーは、取り込みエンジン26に返される。
【0015】
次に、取り込みエンジン26は、個人データ・キーを受信し、元の生の項目を個人データ・キーにより置換する。次に、それは、解析された記録4を作成する。取り込みが終わると、すべての個人データは、元の入力から除去されている。解析された記録4は、次の処理のために格納される。
【0016】
次の処理の間、記録処理ステップ5から始めて、記録処理モジュールは、個人データ・キーを含む解析された記録を読み出す。それは、個人データ変換サービス3に接し、暗号化されハッシュされ正規化された個人データを取り出し、これらの新しい値を用いて、解析された記録4において個人データ・キーを置換する。
【0017】
次に、分散処理6は、解析された記録4に1つの最後の変換を実行する。暗号化されハッシュされた個人データの各項目は、宛先プラットフォームに特有のキーで暗号化される。それゆえ、異なる宛先に送信されている「同じ」データは異なり、2つの宛先が暗号化されハッシュされた個人データ項目を相関させることを不可能にする。
【0018】
個人データ変換サービス・ステップ3に戻ると、サービスは、真上で参照した暗号化を実行する。それは、最初に、標準キーを用いて、暗号化されハッシュされた個人データ項目を復号する。次に、それは、キー管理サービス9を用いて、宛先プラットフォームに特有の暗号化キーを取り出す。この宛先に特有のキーを用いて、データ項目を暗号化する。
【0019】
最後に、宛先プラットフォーム・ステップ8で、更新された解析された記録は、宛先プラットフォームに送信される。
【0020】
個人データ・キーは、以下の特性を有する特定の実施例において実施される。これらの特性は、さらに以下で参照するために、文字が割り当てられる。
【0021】
個人データ・キーの特性Aは、各個人データ・キーが、個人データの項目に一意に関連付けられるのを可能にすべきであるということである。個人データ変換サービスは、生の個人データを露出させず、暗号化されハッシュされ正規化された個人データに対するアクセスを提供する。個人データ・キーは、クライアントが要求のために提示する値である。したがって、個人データ・キーは、個々の個人データに一意的にマップすべきである。
【0022】
個人データ・キーの特性Bは、解析された記録が個人アイデンティティを保護するように、個人データ・キーが実施されるべきであるということである。解析された記録は、比較的低いセキュリティの一般ゾーン内に維持される。それらは、公共に対する露出からは保護されているが、プロバイダ会社内の人々に見えている。それは、会社内の悪人による窃盗又は露出に対してファイルを脆弱にする。したがって、解析された記録ファイルが(会社方針に反して)会社の外側に送信される場合、個人データ・キーは、特定の記録を個々の人々に関連付けることを可能にするべきでない。
【0023】
個人データ・キーの特性Cは、個人データ・キー・マップの系統的プローブ(systematic probe)を防止するようにそれらが実施されるべきであるということである。この保護は、2つの問題に対処する。最初に、それは、周知の個人が与えられると、その個人のためのマップ・データを取り出すのを防止する。次に、それは、マップから取り出されるデータが与えられると、データに関連付けられた個人を識別するのを防止する。個人データ・キー・マップへのアクセスは、認可されたユーザに限定され、マップは、比較的セキュアな変換ゾーン内で保護されている。しかしながら、悪人がそのアクセスを利用したい場合、個人データ・キーは、データを個人に関連付ける努力を妨害するべきである。
【0024】
個人データ・キーの特性Dは、それらが任意の新しい正規化、ハッシュ及び暗号化方法をサポートし、既存の解析された記録が新しい方法によって処理されるのを可能にするべきであるということである。
【0025】
個人データ・キーは、高セキュリティ変換ゾーンにおいて生成される。変換ゾーンの構成要素はまた、暗号化された個人データを管理し、正規化及び暗号学的ハッシュを提供する。概要において、個人データ・キーの作成は、次のステップを続行してもよい。最初に、生の個人データは、「A.Smith」のように、符号化のために提示される。新しい汎用一意識別子(UUID:universally unique identifier)は、データのために生成される。UUIDは、典型的には、コンピュータ・システムにおける情報に用いられる128ビット・ラベルである。UUIDは、タイムスタンプを有するMACアドレスの連結、名前空間識別子のハッシュ及び乱数生成による作成を含むがこれらに限定されず、複数の方法で作成されてもよい。任意の所与のアイデンティティ空間における多数の潜在的UUIDのために、それらは、実際上は一意である。「A.Smith」のための実例UUIDは、「8399d898-b826-11eb-8529-0242ac130003」でありえる。一旦UUIDが作成されると、次に、それは暗号学的にソルトされる。暗号学的に周知なように、ソルトは、データをハッシュするもののような、一方向関数への追加の入力として用いられる乱数又は疑似乱数データである。この場合、ソルト付きUUIDは、「8399d898-b826-11eb-8529-0242ac130003+334573c16f9c2006」でありえる。次に、ソルト付きUUIDは、ハッシュされ、個人キーを生ずる。1つの特定の非限定的な実例では、SHA-256ハッシュ技術を用いて、この場合、個人キーは、「ad3aa2cdabe4781e44950d7077c1f006828167b84e9f8a08a1705749437138ad」でありえる。上述したように、個人データ・キーは、元の個人データを置換し、生の個人データ・ファイルを解析された記録に変換する。
【0026】
このように生成される個人キーは、上述した特性の各々を満たす。すでに上述したように、プロセスは、名前「A.Smith」のような個人データ項目から開始する。この値を解析された記録内に残すことは、記録のデータを個人に直接関連付けるのを可能にし、それにより、プライバシーを破る。生の個人データをキーとして用いることは、上述した特性Bに合格しない。
【0027】
各UUIDは、128ビット値であり、約3.4×1038の可能性を表現する。約79億(7.9×109)の世界人口(2021)を前提とすると、UUIDは、個人データを一意的に識別するための多くの容量を提供する。UUIDと個人データとの間の明確なリンクが存在しないので、UUIDは、上述した特性A及びBに合格する。他方、UUIDは、予測可能な方法、例えば、以下のシーケンスで生成可能である。
3c153032-b8c9-11eb-8529-0242ac130003
3c1532e4-b8c9-11eb-8529-0242ac130003
3c153654-b8c9-11eb-8529-0242ac130003
3c153730-b8c9-11eb-8529-0242ac130003
UUIDがキーとして用いられる場合、これらの値の類似性は、敵がUUIDの範囲を予測することを可能にしうる。これは、ひいては、予測されたキー値を用いて、個人データ・キー・マップの系統的プローブを可能にするかもしれない。悪人は、この種のプローブを潜在的に用いてプライバシーを破ることができ、したがって、この性質のUUIDは、特性Cに合格しない。
【0028】
暗号学的ソルトを適用することは、乱数性をUUIDに追加する。特に上述した実例では64ビットが追加される。UUID及びソルトの両方が実際のキーに現れる場合、ソルト付きUUIDは、生のUUIDと同じ特性を有する。すなわち、悪人がソルトを決定することができる場合、ソルトは、セキュリティを強化しない。したがって、生のソルト付きUUIDは、特性A及びBを満たすが、特性Cに合格しない。
【0029】
ソルト付きUUIDを暗号学的にハッシュすることは、より大きいキー空間にわたりそれらの値を分散させる。上述した実例では、ソルト付きUUIDは、一意の乱数の192ビット値(およそ6.3×1057の可能性)を作成する。SHA-256を用いて、例えば、生のソルト付きUUIDは、256ビットのダイジェスト空間(およそ1.2×1077の範囲)に分散される。任意の個人データ入力がソルト付きUUIDにマップされることを前提とすると、SHA-256ダイジェストは、データのための一意のキーを生成する。したがって、特性Aが満たされる。解析された記録は、個人データの代わりにSHA-256ダイジェストを含む。SHA-256ダイジェストが解析可能な場合であっても(現在の技術では不可能である)、基礎値は、ソルト付きUUIDであり、元の個人データから切断される。したがって、解析された記録自体を用いて、個人データを導き出すことはできず、特性Bを満たす。
【0030】
個人データ・キーが特性Cを満たすかの検査は、2つの部分に分けられてもよい。最初に、特性「C.a」と考えられてもよいことにおいて、周知の個人のための個人データが与えられると、それは、関連付けられたデータを見つけるために用いることができるだろうか?例えば、悪人がA.Smithの名前を所有し、他の関連した情報を見つけたいと仮定する。それは、個人データ・キー(ad3a...38ad)を周知のデータ(「A.Smith」)から導き出すことを必要とする。元のキーを作成するプロセスは、UUID及び乱数ソルトを生成した。これらの値の両方は、複製するのが極めて困難である。UUIDの作成時間が時間内の1秒まで縮小できる場合であっても、悪人は、考慮すべき1630億の可能性を有する。64ビット乱数ソルトの決定は、さらに困難である。セキュアな乱数発生を用いて、64ビット値は、考慮すべき1.8×1019の可能性を与える。合わせて考えると、悪人は、考慮すべき2.8×1030の潜在的なソルト付きUUIDを有する。この数を文脈に入れるために、地球の年齢は、45億年すなわち1.4×1017秒と推定される。したがって、悪人は、可能性のすべてを点検するために、地球の創造以来、1秒につきおよそ10兆項目を評価しなければならない。
【0031】
或いは、悪人は、レインボー・テーブルを通してのように、直接SHA-256ダイジェスト値を精査しようとしうる。ソルトがレインボー・テーブルの攻撃に対する有効な対抗であるので、このアプローチも可能ではない。生のUUID+ソルトは、6.3×1057の可能性を有する。これらの値は、1.2×1077のSHA-256ダイジェスト可能性に分散され、1.9×1019の可能性ごとにおよそ1つの有効なダイジェストを与える。さらに重要なことに、実際の個人データは、1057ではなく、おそらく1012の可能性に限定されている。したがって、実際の個人データ・キーは、全体のSHA-256ダイジェスト空間において1065のエントリごとにおよそ1を占める。したがって、個人データ・キーは、特性C.a.を満たす。
【0032】
本願明細書において特性C.b.と称されるものについて、反対方向から問題に取り組んでもよい。すなわち、暗号化されハッシュされ正規化された個人データが個人データ・キー・マップから取り出されることを前提とすると、ゴールは、そのデータを周知の個人に関連付けるのを防止することである。この試みは、2つのアプローチを用いることができる。1つは、暗号化されハッシュされ正規化された個人データを直接攻撃することである。現在の技術では、符合化されたデータのハッシュを復号し、解析することは不可能である。他のアプローチは、脆弱性として個人データ・キーを用いて、暗号化されハッシュされ正規化された個人データを周知の人に関連付けることである。この問題は、上述したC.a.と同じ問題を解決する。したがって、個人データ・キーは、特性C.b.を満たす。
【0033】
特性Dに関して、個人データ変換サービスは、すべての正規化、ハッシュ及び暗号化をそのクライアントに提供する。重要なことに、個人データ・キーの作成は、正規化、ハッシュ及び暗号化から完全に独立して行うことができる。したがって、最初に、解析された記録ファイルが作成可能であり、その後、個人データ変換サービスは、新しい正規化、ハッシュ又は暗号化方法によって増強可能である。記録処理モジュール又は分散モジュールは、入力として古い解析された記録を用いることができ、新しい正規化、ハッシュ又は暗号化方法を要求することができる。したがって、個人データ・キーは、特性Dを満たす。
【0034】
図2を以下に参照して、これらのプロセスを実行するシステムの実施態様のためのハードウェア・アーキテクチャを説明しうる。外部データ・コントローラ20は、個人ファイルをセキュアなプライベート・ゾーン22に転送する。データ・コントローラ22は、自分自身のコンピューティング環境を実行する外部のエンティティ(例えば、会社)によって動作される。それらは、特定のネットワーキング許可が与えられ、ネットワーク・ファイアウォール36を通してデータをプライベート・ゾーン22に渡す。これらの許可は、アカウント・アクセスのためのログイン及びパスワードに加えてネットワーク構成という形をとる。ネットワーク構成は、電子アクセスを制御し、データ・コントローラ20からのトラフィックを可能にし、未知のソースからネットワーク・トラフィックをブロックする。ログイン及びパスワードは、データ・コントローラ20をさらに点検し、不正アクセスからの第2のレベルの保護を与える。認可されたユーザのみが、有効なログイン及びパスワードの組み合わせを有する。各データ・コントローラ20は、生の個人データを有する個人データ・ファイル24をプライベート・ゾーン22の物理記憶装置内に入れる。これらは、取り込み計算エンジン26に提示される。
【0035】
取り込み計算エンジン26は、プライベート・ゾーン22内の計算エンジン・ハードウェア上で動作する。この取り込み計算エンジン26は、生の個人データ・ファイル24を読み出し、各記録を処理し、生の個人データ項目を個人データ・キーにより置換し、これらの解析された記録を一般ゾーン30内の解析された記録記憶システム28の物理記憶装置に転送する。取り込み計算エンジン26が個人データ・ファイルの処理を終了し、解析された記録が生成されたとき、個人データ・ファイル24は除去される。その時点で、生の個人データのすべてのインスタンスは、データ・プロセッサ20のドメイン内で除去される。
【0036】
図3は、上述したシステムを用いたプロセスにおけるステップのさらなる実例を変換ゾーン32に焦点を合わせて提供する。この場合、人「A.Smith」及び「B.Jones」に関連した個人情報を含む2つの記録は、データ・コントローラから受信される。この情報は、データ・コントローラ入力34において示される。記録の情報は、各人のためのメール・アドレス及び住所をさらに含む。取り込み計算エンジン26では、出力された解析された記録28は、これらの6つの個々のデータ点の各々のための個人データ・キーを含む。変換ゾーン32において、個人データ変換サービス3は、出力された解析された記録内に格納されたキーを、個人データ・キー・マップ10内の暗号化されたデータ及びメタデータに関連付ける。
【0037】
図4を参照して、変換ゾーン32を実施するハードウェア・アーキテクチャを説明しうる。取り込み26、記録処理5及び分散6は、高セキュリティ変換ゾーン32からの機能に依存する。それらは、特定のネットワーキング許可が与えられ、ネットワーク・ファイアウォール36を通してデータを変換ゾーン32に渡す。特定の実施例では、それらは、変換ゾーン32のハードウェア・リソースに直接アクセスすることができない。すなわち、それらは、個人データ・キー・マップ10にも、キー管理9にも、乱数発生器34にも直接のアクセスを有さない。さらに、変換ゾーン32は、セキュリティの複数のレベルによって保護されている。物理セキュリティは、現実世界の施設へのアクセスを制御する。換言すれば、認可されていない人は、データ・センタ施設に対する物理的な入場が否定される。ネットワーク構成は、電子アクセスを制御し、周知のクライアントからのトラフィックを可能にし、未知のソースからネットワーク・トラフィックをブロックする。この例では、すべての3つのクライアント(取り込み26、記録処理5及び分散6)は、変換ゾーン32の所有者によって制御される。それらは、変換ゾーン32の外側で動作するが、未知のクライアントは、個人データ変換サービス3へのアクセスが否定される。変換ゾーン32に対するアクセスを有するすべての人員に、特別なセキュリティ訓練が行われる。経営方針及び実践は、変換ゾーン32に対するアクセスを制限する。
【0038】
個人データ・キー・マップ10及びキー管理システム9は、専門の暗号化された記憶装置を占め、関連付けられたデータを保護する。物理デバイスが悪人によって盗まれる(又はセキュリティ方針の外側でアクセスされる)場合であっても、生の個人データ及び生の暗号化キーは、悪人に露出されない。
【0039】
個人データ変換サービス3は、変換ゾーン32内の計算エンジン・ハードウェア上で動作する。この構成要素は、生の個人データへのアクセスを防止し、特定のサービスをクライアントに提供する。第1に、個人データが与えられると、それは、個人データ・キーを作成するというサービスを提供する。これは、個人データ・キーの生成、生の個人データを暗号化すること、及び、新しいキー及び暗号化されたデータを個人データ・キー・マップ10に追加することを含む。第2に、個人データ・キーが与えられると、それは、関連付けられた個人データのための暗号化されハッシュされ正規化された値を計算するというサービスを提供する。第3に、1つのキーで暗号化されたデータが与えられると、それは、他のキーで暗号化された同じデータを返すというサービスを提供する。すなわち、暗号化されハッシュされ正規化されたデータを1つのキー空間から他に変換する。
【0040】
乱数ソルト値は、個人データ・キーの生成に決定的な役割を果たす。専門ハードウェアである乱数発生器34は、暗号学的ソルトに用いられる乱数データを提供する。変換ゾーンの他の構成要素と同様に、乱数発生器34には、変換ゾーン32の外側からアクセスできない。
【0041】
特定のデータ・プライバシーの実施態様では、「データ最小化」及びデータ保持限度(明示的又は暗示的)のゴールが存在してもよい。換言すれば、データ・コントローラ又はデータ・プロセッサは、個人データを収集し、業務ニーズに基づいて特定の期間の間それを保ち、次に、そのデータを自動的に破棄することを望むかもしれない。
図3は、個人データ・キー・マップ10の各記録に関連付けられたメタデータ列40を示す。特定の非限定的な実例では、メタデータは、満了値を含むことができる。記憶装置ハードウェア及び個人データ・キー・マップ10の詳細に応じて、この満了は、ハードウェア又はソフトウェアを通して実施可能である。いずれの方法でも、個人データ・キー・マップ10のエントリは、人間の介入なしで削除可能であり、データ保持限度が尊重されることを確実にする。
【0042】
上述した本発明の代替の実施例は、解析された記録のプライベート・エンベロープである。この代替例は、暗号化された個人データを解析された記録ファイルに入れる。プライベート・エンベロープは、以下の構造を備えることができる。
[protocol_id][initialization_vector][encrypted_payload]
暗号文「encrypted_payload」は、変換ゾーン32内のサービスに渡され、復号され、次に、暗号化されハッシュされ正規化された個人データに処理可能である。基礎データは、生の個人データ又はおそらく匿名の識別子と解釈可能である。いずれの方法でも、生のペイロードの両方のタイプは、概して、この目的のために個人データと考えられる。
【0043】
プライベート・エンベロープ・アプローチにおいて、処理すべき解析された記録が与えられると、ワークフローは、セキュアな変換ゾーン32において個人データ変換サービス3を呼び出す。サービスは、暗号化された個人データを受信し、それを復号し、選択された動作を適用し、ハッシュされた個人データを下流のプラットフォームのために生成し、ハッシュされた個人データを呼び出し側に返す。すべての暗号化及び復号動作は、セキュアな変換ゾーン32において起こる。暗号化キーは、変換ゾーン32のみにおいて存在し、おそらくキー・ローテーションを用いて、セキュア・キー管理サービス9によって管理される。新しい解析された記録は、単独で暗号化された個人データを露出させる。(オプションで、これは、セキュリティをさらに改善するために二重に暗号化可能である。)新しい記録は、柔軟な正規化及び次のハッシュ/暗号化のために生の個人データを回復することを可能にする。
【0044】
プライベート・エンベロープ・アプローチの利点は、新しい正規化、ハッシュ及び暗号化の要求が個人データ変換サービス3を更新することによってサポート可能であるということである。個人データ変換サービス3は、元の、生の個人データを回復することができるので、この代替例の下で以前取り込まれたすべてのファイルは、新しい宛先のために使用可能である。顧客は、以前取り込まれたファイルを再送する必要なく、新しいプラットフォームへの送達を要求することができる。さらに、顧客は、顧客が用いる予定であった宛先プラットフォームを予め宣言する必要はない。
【0045】
プライベート・エンベロープ・アプローチの他の利点は、それが解析された記録ファイル内の各個人データ項目の単一の表現を用いるということである。異なる符号化を有する「同じ」データの重複は、発生しない。
【0046】
プライベート・エンベロープ・アプローチの潜在的欠点は、それが暗号化された個人データを解析された記録内に直接挿入するということである。本発明の特定の実施例によると、それらの解析された記録ファイルは、一般ゾーン30内に格納される。現代の暗号化を破ることの難しさにもかかわらず、データを直接アクセス可能にすることは、潜在的懸念である。
【0047】
プライベート・エンベロープ・アプローチの他の潜在的欠点は、暗号化された個人データが特定の標準下では、依然として個人データと考えられるということであり、この代替例では、解析された記録は、適用できる法及び規制によって地理的に制限されうることを意味する。これは、すべての解析された記録の処理が特定の地理的な位置において起こらなければならないことを意味する。すなわち、オンボーディング、ワークフロー及び分散は、同じ地理的エリアにおいて起こらなければならない。
【0048】
プライベート・エンベロープ・アプローチのさらに他の潜在的欠点は、暗号化された個人データを解析された記録内に直接入れることがまた顧客の期待に矛盾しうるということである。「設計によるプライバシー」及び「データ最小化」の原則は、データ・プロバイダの商業的決定に影響し、暗号化された個人データの直接の使用は、結果として否定的な結果を有するかもしれない。
【0049】
本発明の他の代替実施例は、解析された記録の予め計算された暗号化されハッシュされた個人データを用いる。この代替例は、基本的な解析された記録フレームワークを再利用するが、それは、ハッシュされた個人データ・フィールドのための重複値を挿入する。正規化ルール及びハッシュ技術のセットが与えられると、取り込みは、すべての正規化及びすべてのハッシュを適用し、各個人データ入力値のために複数のハッシュ値を生成する。すべての「重複」値は、解析された記録ファイルに追加される。
【0050】
正規化のために、適用すべき複数のルールが、個人データの異なるタイプのための異なるルールとともに存在する。例えば、メール・アドレスは、以下の仮定的正規化を受けるかもしれない。
J.O’Shea@mail.com→joshea@mail.com(小文字、点なし、句読点なし)
J.O’Shea@mail.com→j.oshea@mail.com(小文字、句読点なし)
J.O’Shea@mail.com→JOShea@mail.com(ケース保持、点なし、句読点なし)
J.O’Shea@mail.com→j.o’shea@mail.com(小文字のみ)
ハッシュのオプションは、非限定的な実例としてSHA-1、SHA-256及びMD5技術を含んでもよい。したがって、この実例では、入力ファイル内の単一のメール・アドレスは、解析された記録において、4×3=12(すなわち、4つの正規化、各ハッシュの3つの方法)のハッシュされたEメール値を作成してもよい。
【0051】
この予め計算するアプローチの利点は、それが、既存のセキュリティ及びデータ倫理フレームワークを用いるということである。それはまた、既存のオンボーディング構成要素に対する最小の混乱をもって現在の解析された記録フォーマットを拡大する。最後に、解析された記録における結果として生じるハッシュされた個人データは、分散ファイル6を準備するために直接使用可能である。しかしながら、個人データ変換サービス3が変換ゾーン32において正規化、ハッシュ及び暗号化動作を管理することが依然として望ましい。
【0052】
予め計算するアプローチの潜在的欠点は、新しい動作が追加されると、それが、古い解析された記録を用いることができないということである。すなわち、新しい宛先が新しい正規化動作を必要とする場合、既存の解析された記録内のデータを用いることができない。元の生の個人データは利用できず、新しい正規化されたハッシュ値は、既存データから作成することができない。統合の問題に対処するとき、同じ問題があてはまる。分散プラットフォームとの交換が機能せず、プロバイダが、その正規化及びハッシュを修正する必要がある場合、入力データは、再送達及び再処理されなければならない。
【0053】
予め計算するアプローチの他の潜在的欠点は、解析された記録の記憶が拡大され、重複ハッシュ個人データ値が追加されるということである。しかしながら、これは、追加の下流のプラットフォームのための将来の使用を制限することを犠牲にして減少可能である。
【0054】
予め計算するアプローチのさらに他の潜在的欠点は、オーディエンス・ストア(audience store)が重複ハッシュ個人データ値で拡大するということである(オーディエンス・ストアは、データ・アクセスによって管理される)。現在ハッシュされた個人データは、匿名の識別子として扱われ、解析された記録ファイルの匿名の識別子は、オーディエンス・ストアにおいて保持される。オーディエンス・ストアは、無期限に保持されるので、これは、解析された記録記憶装置より潜在的に重要である。さらに、オーディエンス・ストアのサイズを増加させることは、ストアの各利用によって発生する、関連付けられた処理のための読み出し/書き込みオーバーヘッドを追加する。
【0055】
予め計算するアプローチのさらに他の潜在的欠点は、それがより厳しいプライバシー法及び規制を有する特定の管区における処理をサポートしないということである。
【0056】
予め計算するアプローチのさらに他の潜在的欠点は、プロバイダが分散のための重複ハッシュされた値を有する解析された記録を準備するとき、特定のプラットフォームのために分散ファイルから無関係な値を省略する必要があるということである。例えば、会社Aにデータを送信するとき、すべての会社Aでないハッシュされた個人データを省略する必要がある。
【0057】
予め計算するアプローチのさらに他の潜在的欠点は、ハッシュされた個人データ・オブジェクトが内部値、すなわち、個人データのタイプ、適用される正規化及び用いられるハッシュ技術を特徴付ける必要があるということである。本発明の特定の実施例によるオブジェクトは、黙示的な正規化ルールを有する。オブジェクト定義は、正規化動作を明確に特定する必要がある。
【0058】
本願明細書に説明されたシステム及び方法は、さまざまな実施例において、ハードウェア及びソフトウェアのあらゆる組み合わせによって実施されてもよい。例えば、1つの実施例において、システム及び方法は、それぞれが、プロセッサに結合されたコンピュータ可読記憶媒体に記憶されたプログラム命令を実行する1つ又は複数のプロセッサを含む、1つのコンピュータ・システム又はコンピュータ・システムの集合によって実施されてもよい。プログラム命令は、本願明細書に説明された機能を実施する場合がある。図面に示され且つ本願明細書に説明されたさまざまなシステム及び方法は、実例の実施態様を表す。方法におけるステップの順序は変更されてもよく、さまざまな要素がシステムに対して追加、修正又は省略されてもよい。
【0059】
本願明細書に説明された計算システム又は計算デバイスは、クラウド計算システム又は非クラウド計算システムのハードウェア部分を用いて実施されてもよい。コンピュータ・システムは、コモディティ・サーバ、パーソナル・コンピュータ・システム、デスクトップ・コンピュータ、ラップトップ又はノートブック・コンピュータ、メインフレーム・コンピュータ・システム、ハンドヘルド・コンピュータ、ワークステーション、ネットワーク・コンピュータ、コンシューマ・デバイス、アプリケーション・サーバ、記憶装置、携帯電話、又は一般的にあらゆるタイプのコンピューティング・ノード又はデバイスを含むが、これらに限定されないさまざまなタイプのデバイスのいずれかでもよい。コンピューティング・システムは、入力/出力(I/O)インタフェースを介してシステム・メモリに結合された1つ又は複数のプロセッサ(そのうちいずれかが、複数の処理コアを含んでもよく、処理コアは、シングルスレッド又はマルチスレッドでもよい)を含む。コンピュータ・システムは、I/Oインタフェースに結合されたネットワーク・インタフェースをさらに含んでもよい。
【0060】
さまざまな実施例において、コンピュータ・システムは、1つのプロセッサを含むシングル・プロセッサ・システム又は複数のプロセッサを含むマルチプロセッサ・システムでもよい。プロセッサは、コンピューティング命令を実行することができるあらゆる適切なプロセッサでもよい。例えば、さまざまな実施例において、プロセッサは、さまざまな命令セット・アーキテクチャのいずれかを実施する汎用又は組み込みプロセッサでもよい。マルチプロセッサ・システムにおいて、それぞれのプロセッサは、一般的に、ただし必ずしもそうではないが、同じ命令セットを実施してもよい。コンピュータ・システムは、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク又はインターネットなどの通信ネットワーク上で他のシステム及び/又は構成要素と通信するための1つ又は複数のネットワーク通信デバイス(例えば、ネットワーク・インタフェース)も含む。例えば、コンピューティング・デバイスにおいて実行するクライアント・アプリケーションは、さまざまなサブシステムにおいて実施されるようにクラウド・コンピューティング又は非クラウド・コンピューティング環境において本願明細書に説明されたシステムの構成要素のうちの1つ又は複数を実施する単一のサーバ又はサーバのクラスタにおいて実行するサーバ・アプリケーションと通信するためにネットワーク・インタフェースを使用してもよい。他の実例において、コンピュータ・システムにおいて実行するサーバ・アプリケーションのインスタンスは、他のコンピュータ・システムにおいて実施されうるアプリケーションの他のインスタンスと通信するためにネットワーク・インタフェースを使用してもよい。
【0061】
コンピューティング・デバイスは、1つ又は複数の持続的記憶装置及び/又は1つ又は複数のI/Oデバイスも含む。さまざまな実施例において、持続的記憶装置は、ディスク・ドライブ、テープ・ドライブ、ソリッド・ステート・メモリ、その他の大容量記憶装置、又はあらゆるその他の持続的記憶装置に対応する場合がある。コンピュータ・システム(又はそこで動作する分配アプリケーション又はオペレーティング・システム)は、望みに応じて、持続的記憶装置に命令及び/又はデータを記憶してもよく、必要に応じて、記憶された命令及び/又はデータを検索してもよい。例えば、いくつかの実施例において、持続的記憶装置は、サーバ・ノードに取り付けられたソリッド・ステート・ドライブを含んでもよい。複数のコンピュータ・システムは、同じ持続的記憶装置を共有してもよい又は持続的記憶装置のプールを共有してもよく、プールにおけるデバイスは、同じ又は異なる記憶技術を表す。
【0062】
コンピュータ・システムは、プロセッサによってアクセス可能なコード/命令及びデータを記憶しうる1つ又は複数のシステム・メモリを含む。システム・メモリは、例えば、アクセス速度に基づいてメモリにおける情報をスワップするように設計されたシステムにおける複数のレベルのメモリ及びメモリ・キャッシュを含んでもよい。インターリービング及びスワッピングは、仮想メモリ実行における持続的記憶装置に拡張してもよい。メモリを実施するために使用される技術は、例えば、スタティック・ランダム・アクセス・メモリ(RAM:random-access memory)、ダイナミックRAM、読み出し専用メモリ(ROM:read-only memory)、不揮発性メモリ又はフラッシュ・タイプ・メモリを含んでもよい。持続的記憶装置に関して、複数のコンピュータ・システムは、同じシステム・メモリを共有してもよい又はシステム・メモリのプールを共有してもよい。1つ又は複数のシステム・メモリは、本願明細書に説明されたルーチンを実施するためにプロセッサによって実行可能なプログラム命令を含んでもよい。さまざまな実施例において、プログラム命令は、バイナリ、アセンブリ言語、Java(登録商標)などのあらゆるインタープリタ型言語、C/C++などのコンパイラ型言語、又はそれらのあらゆる組み合わせにおいて符号化されてもよい。ここで示された特定の言語は単なる実例である。いくつかの実施例において、プログラム命令は、複数の別々のクライアント、サーバ・ノード及び/又はその他の構成要素を実施してもよい。
【0063】
いくつかの実施態様において、プログラム命令は、オペレーティング・システムを実施するために実行可能な命令を含んでもよく、オペレーティング・システムは、UNIX(登録商標)、LINUX、MacOS(商標)、又はMicrosoft Windows(登録商標)(商標)などのさまざまなオペレーティング・システムのうちのいずれかでもよい。プログラム命令のいずれか又はすべては、コンピュータ・プログラム製品又はソフトウェアとして提供されてもよく、これは、命令が記憶された非一時的コンピュータ可読記憶媒体を含んでもよく、これは、さまざまな実施態様に従ってプロセスを行うためにコンピュータ・システム(又はその他の電子デバイス)をプログラムするために使用されてもよい。非一時的コンピュータ可読記憶媒体は、マシン(例えば、コンピュータ)によって読み出し可能な形式(例えば、ソフトウェア)で情報を記憶するためのあらゆる機構を含んでもよい。一般的に言えば、非一時的コンピュータアクセス可能媒体は、磁気又は光学的媒体、例えば、I/Oインタフェースを介してコンピュータ・システムに結合されたディスク又はDVD/CD-ROMなどのコンピュータ可読記憶媒体又はメモリ媒体を含んでもよい。非一時的コンピュータ可読記憶媒体は、システム・メモリ又は他のタイプのメモリとしてコンピュータ・システムのいくつかの実施例において含まれてもよいRAM又はROMなどのあらゆる揮発性又は不揮発性媒体を含んでもよい。他の実施態様において、プログラム命令は、ネットワーク・インタフェースを介して実施されてもよいなど、ネットワーク及び/又は有線又は無線リンクなどの通信媒体を介して搬送される光学的、音響的又はその他の形式の伝播される信号(例えば、搬送波、赤外線信号、デジタル信号など)を使用して通信されてもよい。ネットワーク・インタフェースは、その他のコンピュータ・システム又はあらゆるタイプの外部電子デバイスを含んでもよい他のデバイスとインタフェースするために使用されてもよい。概して、ネットワークを介して他のデバイスにおいてアクセス可能なシステム・メモリ、持続的記憶装置及び/又は遠隔記憶装置は、データ・ブロック、データ・ブロックの複製、データ・ブロック及び/又はそれらの状態に関連付けられたメタデータ、データベース構成情報及び/又は本願明細書に説明されたルーチンを実施する際に使用可能なあらゆるその他の情報を記憶してもよい。
【0064】
特定の実施態様では、I/Oインタフェースは、プロセッサ、システム・メモリ及びネットワーク・インタフェース又はその他の周辺インタフェースを介するものを含む、システムにおけるあらゆる周辺デバイスの間のI/Oトラフィックを調整してもよい。いくつかの実施例において、I/Oインタフェースは、1つの構成要素(例えば、システム・メモリ)からのデータ信号を他の構成要素(例えば、プロセッサ)によって使用するのに適したフォーマットに変換するための、あらゆる必要なプロトコル、タイミング又はその他のデータ変換を行ってもよい。いくつかの実施例において、I/Oインタフェースは、例えば、ペリフェラル・コンポーネント・インターコネクト(PCI:Peripheral Component Interconnect)バス規格又はユニバーサル・シリアル・バス(USB:Universal Serial Bus)規格のバリアントなど、さまざまなタイプの周辺バスを介して取り付けられるデバイスのためのサポートを含んでもよい。また、いくつかの実施例において、インタフェース・トゥ・システム・メモリなどの、I/Oインタフェースの機能のうちのいくつか又はすべては、直接プロセッサに組み込まれてもよい。
【0065】
ネットワーク・インタフェースは、コンピュータ・システムと、例えば、その他のコンピュータ・システム(1つ又は複数の記憶システム・サーバ・ノード、主要ノード、読み出し専用ノード・ノード、及び/又は本願明細書に説明されたデータベース・システムのクライアントを実施してもよい)などの、ネットワークに取り付けられたその他のデバイスと、の間でデータが交換されることを可能にしてもよい。加えて、I/Oインタフェースは、コンピュータ・システムとさまざまなI/Oデバイス及び/又は遠隔記憶装置との間の通信を可能にしてもよい。入力/出力デバイスは、いくつかの実施例において、1つ又は複数のディスプレイ端子、キーボード、キーパッド、タッチパッド、スキャニング・デバイス、音声又は光学認識デバイス又は1つ若しくは複数のコンピュータ・システムによってデータを入力又は検索するのに適したあらゆるその他のデバイスを含んでもよい。これらは、特定のコンピュータ・システムに直接接続されるか、又は、クラウド・コンピューティング環境若しくは複数のコンピュータ・システムを含むその他のシステムにおける複数のコンピュータ・システムに一般的に接続されてもよい。複数の入力/出力デバイスは、コンピュータ・システムと通信して存在してもよい、又は、コンピュータ・システムを含む分散システムのさまざまなノードに分散させられてもよい。本願明細書に説明されたユーザ・インタフェースは、さまざまなタイプのディスプレイ・スクリーン技術を使用するユーザに見えてもよい。いくつかの実施態様において、入力は、タッチスクリーン技術を使用してディスプレイを通じて受信されてもよく、その他の実施態様において、入力は、キーボード、マウス、タッチパッド若しくはその他の入力技術又はこれらの技術のあらゆる組み合わせを通じて受信されてもよい。
【0066】
いくつかの実施例において、類似の入力/出力デバイスは、コンピュータ・システムとは別個であってもよく、ネットワーク・インタフェース上でなど、有線又は無線接続を介してコンピュータ・システムを含む分散システムの1つ又は複数のノードと相互作用してもよい。ネットワーク・インタフェースは、一般的に1つ又は複数のワイヤレス・ネットワーキング・プロトコル(例えば、Wi-Fi/IEEE802.11又は他のワイヤレス・ネットワーキング規格)をサポートしてもよい。ネットワーク・インタフェースは、例えば、その他のタイプのイーサネット(登録商標)・ネットワークなどの、あらゆる適切な有線又は無線の一般的データ・ネットワークを介した通信をサポートしてもよい。加えて、ネットワーク・インタフェースは、アナログ音声ネットワーク又はデジタル・ファイバ・通信ネットワークなどの遠隔通信/電話通信ネットワークを介して、ファイバ・チャネル・ストレージ・エリア・ネットワーク(SAN:Storage Area Network)などのストレージ・エリア・ネットワークを介して、又は、あらゆるその他の適切なタイプのネットワーク及び/又はプロトコルを介して通信をサポートしてもよい。
【0067】
本願明細書に説明された分散システムの実施例のいずれか又はそれらの構成要素のいずれかは、クラウド・コンピューティング環境において1つ又は複数のネットワーク・ベース・サービスとして実施されてもよい。例えば、データベース・システムのデータベース・ティア内の読み書きノード及び/又は読み出し専用ノードは、本願明細書に説明された分散記憶システムを使用するデータベース・サービス及び/又はその他のタイプのデータ記憶サービスをネットワーク・ベース・サービスとしてクライアントに提供してもよい。いくつかの実施例において、ネットワーク・ベース・サービスは、ネットワーク上で相互運用可能なマシン同士の相互作用をサポートするように設計されたソフトウェア及び/又はハードウェア・システムによって実施されてもよい。ウェブ・サービスは、ウェブ・サービス記述言語(WSDL:Web Services Description Language)などの、マシン処理可能フォーマットにおいて記述されたインタフェースを有してもよい。その他のシステムは、ネットワーク・ベース・サービスのインタフェースの記述によって規定された形式でネットワーク・ベース・サービスと相互作用してもよい。例えば、ネットワーク・ベース・サービスは、その他のシステムが呼び出してもよいさまざまなオペレーションを定義してもよく、さまざまなオペレーションをリクエストするときにその他のシステムが従うと予想されうる特定のアプリケーション・プログラミング・インタフェース(API:application programming interface)を定義してもよい。
【0068】
さまざまな実施例において、ネットワーク・ベース・サービスは、ネットワーク・ベース・サービス・リクエストに関連付けられたパラメータ及び/又はデータを含むメッセージの使用を介してリクエストされてもよい又は呼び出されてもよい。このようなメッセージは、拡張マークアップ言語(XML:Extensible Markup Language)などの特定のマークアップ言語に従ってフォーマットされてもよい、及び/又はシンプル・オブジェクト・アクセス・プロトコル(SOAP:Simple Object Access Protocol)などのプロトコルを使用してカプセル化されてもよい。ネットワーク・ベース・サービス・リクエストを行うために、ネットワーク・ベース・サービス・クライアントは、リクエストを含むメッセージを組み立て、ハイパーテキスト転送プロトコル(HTTP:Hypertext Transfer Protocol)などのインターネット・ベース・アプリケーション層転送プロトコルを使用して、ウェブ・サービスに対応するアドレス可能なエンドポイント(例えば、ユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator))にメッセージを搬送してもよい。いくつかの実施例において、ネットワーク・ベース・サービスは、メッセージ・ベース技術ではなくレプリゼンテーショナル・ステート・トランスファ(REST:Representational State Transfer)技術を使用して実施されてもよい。例えば、REST技術に従って実施されるネットワーク・ベース・サービスは、PUT、GET又はDELETEなどのHTTP方法内に含まれたパラメータを介して呼び出されてもよい。
【0069】
別段の定めがない限り、本願明細書において使用されるすべての技術的及び科学的用語は、本発明が属する技術分野の当業者によって一般的に理解されるものと同じ意味を有する。本願明細書に説明されたものと類似又は同等のあらゆる方法及び材料も本発明の実用又は試験において使用することができるが、限定された数の例示的な方法及び材料が本願明細書に説明されている。本願明細書における発明の概念から逸脱することなく多くのさらなる修正が可能であることが当業者に明らかとなるであろう。
【0070】
本願明細書において使用されるすべての用語は、文脈と一致する可能な限り最も広い形式で解釈されるべきである。特に、用語「備える」及び「備えている」は、非排他的な方法で、要素、構成要素又はステップを参照するものと解釈されるべきであり、参照された要素、構成要素若しくはステップが存在してもよい、又は利用されてもよい、又は明示的には参照されない他の要素、構成要素若しくはステップと組み合わせられてもよいことを示す。本願明細書においてグループ分けが使用されている場合、そのグループのすべての個々のメンバー及びそのグループの可能なすべての組み合わせ及び部分的な組み合わせは、開示において個々に含まれることが意図されている。本願明細書において範囲が述べられている場合、範囲内のすべての部分的な範囲及び範囲内のすべての区別できる点は、開示において個々に含まれることが意図されている。本願明細書において引用されたすべての参照物は、本願明細書の開示と不一致が生じない範囲で参照により本願明細書に組み込まれる。
【0071】
本発明は、例示的でしかなく、添付の請求項に示されたような本発明の完全な範囲を限定しないことが意図された好適且つ代替的な実施例を参照して説明されている。
【手続補正書】
【提出日】2023-03-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
個人データのプライバシーを保護するためのシステムであって、前記システムは、
1つ又は複数のプロセッサと通信する1つ又は複数の第1の記憶装置上で実施されるプライベート・ゾーンと、
前記1つ又は複数のプロセッサと通信する1つ又は複数の第2の記憶装置上で実施される変換ゾーンと、
1つ又は複数の第3の記憶装置上で実施される一般ゾーンと、
個人データ・キー作成サブルーチンと、
を備え、
前記1つ又は複数の
第1の記憶装置は、生データの記録及び命令セットを備える複数の個人データ・ファイルを格納しており、前記命令セットは、前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに生データのセット内の特定のデータ項目を識別させ、
前記変換ゾーンは、前記特定のデータ項目の各々と前記特定のデータ項目の各々のための対応する個人データ・キーとの間のマッピングを備える個人データ・キー・マップ及び命令セットを備え、前記命令セットは、前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに前記特定のデータ項目の各々を前記対応する個人データ・キーにより置換させ、
前記一般ゾーンは、解析された記録のセットを備え、生データの前記記録内の前記特定のデータ項目は、前記対応する個人データ・キーにより置換され、
前記個人データ・キー作成サブルーチンは、前記1つ又は複数のプロセッサ上で実行し、前記1つ又は複数のプロセッサに、
特定のデータ項目を受信させ、
前記特定のデータ項目に対応する一意の識別子を生成させ、
乱数又は疑似乱数ソルトを生成させ、
前記一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成させ、
前記ソルト付きの一意の識別子をハッシュし、元の前記特定のデータ項目に対応する前記個人データ・キーを生成させるように構成される、
システム。
【請求項2】
前記プライベート・ゾーンは、知る必要がある人のみにアクセスを提供するように構成されるプライベート・ゾーン・セキュリティ・プロトコルを備える、
請求項1に記載のシステム。
【請求項3】
前記変換ゾーンは、指定された人のみにアクセスを提供するように構成される変換ゾーン・セキュリティ・プロトコルを備える、
請求項2に記載のシステム。
【請求項4】
前記一般ゾーンは、デベロッパーにアクセスを可能にするように構成される一般ゾーン・セキュリティ・プロトコルを備える、
請求項3に記載のシステム。
【請求項5】
個人データ保護のためのシステムであって、前記システムは、
1つ又は複数のプロセッサと、
前記1つ又は複数のプロセッサと通信する1つ又は複数の記憶装置と、を備え、前記記憶装置は、命令セットを備え、前記命令セットは、前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに、
少なくとも1つのデータ・コントローラから複数のデータ記録を受信させ、
前記複数のデータ記
録内の特定のデータ項目を識別させ、
前記特定のデータ項目の各々に対応する一意の識別子を生成し、各一意の識別子のために乱数又は疑似乱数ソルトを生成し、各一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成し、各ソルト付きの一意の識別子をハッシュし、前記特定のデータ項目の各々に対応する個人データ・キーを生成することによって、前記特定のデータ項目の各々のための前記個人データ・キーを作成させ、
前記特定のデータ項目、対応する個人データ・キーのセット及び関連付けられたメタデータのセットを、前記1つ又は複数の記憶装置上の制限されたアクセス・ゾーン内の個人データ・キー・マップに格納させ、
前記特定のデータ項目を前記対応する個人データ・キーにより置換させ、前記個人データ・キーを備える解析された記録のセットを作成させる、
システム。
【請求項6】
個人データ・ワークフローの方法であって、前記方法は、
少なくとも1つのデータ・コントローラからプライベート・ゾーン内の生の個人データのセットを受信するステップと、
前記生の個人データのセットを取り込み、前記生の個人データのセット内の特定のデータ項目を識別するステップと、
前記特定のデータ項目の各々のための一意の識別子を生成し、各一意の識別子のために乱数又は疑似乱数ソルトを生成し、各一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成し、各ソルト付きの一意の識別子をハッシュし、前記特定のデータ項目の各々に対応する個人データ・キーを生成することによって、前記生の個人データのセット内の前記特定のデータ項目の各々のための前記個人データ・キーを作成するステップと、
前記生の個人データのセット内の前記特定のデータ項目の各々のために、前記特定のデータ項目、その対応する個人データ・キー及び関連付けられたメタデータのセットを、変換ゾーン内の個人データ・キー・マップに格納するステップと、
前記特定のデータ項目を前記対応する個人データ・キーにより置換し、前記個人データ・キーを前記プライベート・ゾーンに返送するステップと、
前記特定のデータ項目に対応する前記個人データ・キーを備える解析された記録のセットを作成するステップと、
を含む方法。
【請求項7】
前記方法は、前記解析された記録のセットを読み出すステップと、前記解析された記録のセット内の前記解析された記録の少なくとも1つを個人データ変換サービスに転送するステップと、をさらに含む、
請求項6に記載の方法。
【請求項8】
前記個人データ変換サービスは、前記少なくとも1つの解析された記録内の個人データを置換する、
請求項7に記載の方法。
【請求項9】
前記方法は、宛先プラットフォームに特有の第2のハッシュ・キーを用いて、第2のハッシュを実行するステップをさらに含む、
請求項7に記載の方法。
【請求項10】
前記方法は、前記解析された記録を、前記第2のハッシュ・キーに対応する前記宛先プラットフォームに送信するステップをさらに含む、
請求項9に記載の方法。
【請求項11】
前記方法は、複数の宛先プラットフォームの各々に対応する前記第2のハッシュ・キーを格納するステップをさらに含む、
請求項10に記載の方法。
【請求項12】
特定のデータ項目に対応する個人データ・キーを生成するための方法であって、前記方法は、
プロセッサで前記特定のデータ項目の1つを受信するステップと、
前記特定のデータ項目に対応する一意の識別子を生成するステップと、
前記プロセッサで乱数又は疑似乱数ソルトを生成するステップと、
前記プロセッサで前記一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成するステップと、
前記特定のデータ項目に対応する前記個人データ・キーを生成するために、前記プロセッサで前記ソルト付きの一意の識別子をハッシュするステップと、
を含む方法。
【請求項13】
前記一意の識別子は、汎用一意識別子(UUID)を備える、
請求項12に記載の方法。
【請求項14】
前記ハッシュするステップは、SHA-256ハッシュ・アルゴリズムを用いて実行される、
請求項13に記載の方法。
【請求項15】
個人データ・キー・エンジンであって、
1つ又は複数のプロセッサと、
命令を格納する非一時的コンピュータ可読媒体と、を備え、前記命令は、前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに、
特定のデータ項目を受信させ、
前記特定のデータ項目に対応する一意の識別子を生成させ、
疑似乱数ソルトを生成させ、
前記一意の識別子を前記ソルトに連結し、ソルト付きの一意の識別子を生成させ、
前記ソルト付きの一意の識別子をハッシュし、元の前記特定のデータ項目に対応する個人データ・キーを生成させる、
個人データ・キー・エンジン。
【請求項16】
前記一意の識別子は、汎用一意識別子(UUID)を備える、
請求項15に記載の個人データ・キー・エンジン。
【請求項17】
前記命令は、SHA-256ハッシュをさらに備え、前記ソルト付きの一意の識別子をハッシュする、
請求項16に記載の個人データ・キー・エンジン。
【国際調査報告】