JP2022520323A - アナリティクスのための難読化データへのセキュアなマルチレベル・アクセス - Google Patents

アナリティクスのための難読化データへのセキュアなマルチレベル・アクセス Download PDF

Info

Publication number
JP2022520323A
JP2022520323A JP2021539099A JP2021539099A JP2022520323A JP 2022520323 A JP2022520323 A JP 2022520323A JP 2021539099 A JP2021539099 A JP 2021539099A JP 2021539099 A JP2021539099 A JP 2021539099A JP 2022520323 A JP2022520323 A JP 2022520323A
Authority
JP
Japan
Prior art keywords
data
obfuscation
obfuscated
user
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021539099A
Other languages
English (en)
Other versions
JP7438607B2 (ja
Inventor
シュマッツ、マーティン
ラメシャン、ナヴァニース
サグマイスター、パトリシア
チェン、イユ
グサト、ミッチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2022520323A publication Critical patent/JP2022520323A/ja
Application granted granted Critical
Publication of JP7438607B2 publication Critical patent/JP7438607B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

難読化データをユーザに提供するためのコンピュータ実施方法では、最初に、データにアクセスするユーザ・リクエストを受け取り、次いで、受け取ったリクエストに関連づけられた許可レベルを識別する。次に、保護付きエンクレーブ内で、受け取ったリクエストに対応する難読化データにアクセスする。アクセスされたデータは、識別された許可レベルに適合する難読化レベルを与える難読化アルゴリズムを用いて難読化されている。最後に、アクセスされた難読化データを、保護付きエンクレーブからユーザに提供する。関連するシステムおよびコンピュータ・プログラム製品も開示される。

Description

本発明は、一般に、例えば難読化されたデータ(以後、難読化データ)に基づいてアナリティクス(analytics)を実行するために難読化データをユーザに提供するためのコンピュータ実施方法(computer-implemented method)およびシステムの分野に関する。特に、本発明は、このようなデータを要求しているユーザの許可レベルに適合する難読化レベルを与える難読化アルゴリズムに依拠した方法を対象としている。
アナリティクスは、データの系統的なコンピュータ解析に関係し、特に、データの中の隠れたパターンの獲得および解釈を含む。したがって、データに対するアナリティクスは、データから価値を生み出すことができる。例えば、企業は、このようなパターンを理解するため、および、ビジネス・トレンドを予測しもしくは業績を向上させるため、またはビジネス・トレンドを予測し業績を向上させるために、データにアナリティクスを適用することがある。
しかしながら、データ所有権、プライバシー、規制上の要求および差別に関する問題が、アナリティクスの実際の可能性を制限している。例えば、プライバシー法(一般的なデータ保護規制)、業務上の秘密、機密情報などに由来するプライバシー上の懸念が多数存在する。その結果、データの小さな部分だけがアナリティクスに対して使用可能であり、それらのデータは慎重に取り扱われなければならない。
一態様によれば、本発明は、難読化データをユーザに提供するためのコンピュータ実施方法として実施される。最初に、データにアクセスするユーザ・リクエストが受け取られる。受け取ったリクエストに関連づけられた許可レベルが識別される。次に、保護されたエンクレーブ(以後、保護付きエンクレーブ)内で、受け取ったリクエストに対応する難読化データがアクセスされる。アクセスされたデータは、識別された許可レベルに適合する難読化レベルを与える難読化アルゴリズムを用いて難読化されたデータである。最後に、アクセスされた難読化データが、保護付きエンクレーブからユーザに提供される。
ユーザに難読化データが提供された後、ユーザは通常、その難読化データに基づいてアナリティクス(または他の認知操作(cognitive operation))を実行する。
この手法では、(難読化を始めとして)全てのセンシティブな操作(sensitive operation)が、保護付きエンクレーブ内で実行されることが好ましい。このようにすると、多数のユーザが、さまざまなアクセス権に従属する膨大な量のデータと対話することができるエコシステム内で、セキュリティを維持することができる。好ましい実施形態によれば、この手法により、(例えばデータ所有者によって規定された)データ使用許可を維持し、他の潜在的要件(法律、規制、契約要件など)を満たしつつ、ユーザが、大量に使用可能なデータ、例えばデータ・レイク(data lake)内の大量に使用可能なデータに基づいてアナリティクスを実行することを可能にすることができるようになる。その結果、異なるユーザが、場合によっては、同じデータに、しかし異なる難読化レベルでアクセスすることができる。このような難読化レベルは、一般に公開されたデータと完全に非公開のデータとの間のアクセス可能性の中間レベルを設定する。
実施形態では、この方法がさらに、難読化データを提供する前に、保護付きエンクレーブ内で、アクセスされた難読化データを、ユーザ鍵を用いて暗号化することを含む。このユーザ鍵は、最終的には、暗号化された難読化データに加えてユーザに提供される。このようにすると、ユーザ鍵を除き、保護付きエンクレーブを離れた全てのデータが(セキュリティ上の理由から)暗号化されており、ユーザは、提供された暗号化されたデータを、このユーザ鍵を使用して復号することができる。
この方法はさらに、ユーザ鍵の平バージョンに加えて、ユーザ鍵の暗号化されたバージョンを、(保護付きエンクレーブから)ユーザに提供することを含むことが好ましい。それでも、ユーザは、ユーザ鍵の暗号化されたバージョンをシステムに提供することにより、その後に、必要に応じて、(平の形態の)ユーザ鍵を再び受け取ることを要求することができる。
好ましい実施形態では、保護付きエンクレーブが鍵管理システムとデータ通信し、この方法がさらに、前記鍵管理システムにおいて、続いて難読化データを暗号化するのに使用するユーザ鍵を生成することを含む。
保護付きエンクレーブは、難読化されていないデータ(non-obfuscated data)(以後、非難読化データ)を暗号化された形態で記憶する第1のデータベースとデータ通信することが好ましい。その場合、難読化データには、(やはり保護付きエンクレーブ内で)以下のようにアクセスする。最初に、第1のデータベースから、まだ難読化されていない暗号化されたデータが取得される。第1のデータベースから取得するデータは、受け取ったリクエストの中で要求されているデータに対応するデータである。次いで、第1のデータベースから取得した暗号化されたデータが復号される。最後に、復号されたデータが、前記難読化アルゴリズムを使用して難読化される。すなわち、データは、セキュアなストレージに由来するデータから、要求に応じて難読化される。
実施形態では、この方法がさらに、保護付きエンクレーブ内でデータを継続的に暗号化すること、およびその結果生じた暗号化されたデータを第1のデータベースに継続的に記憶することを含む。第1のデータベースは、データ・レイクとして構成されていることが好ましい。
好ましい実施形態では、保護付きエンクレーブが、難読化データを暗号化された形態で記憶する第2のデータベースとデータ通信する。その場合、難読化データにアクセスすることは、受け取ったリクエストの中で要求されているデータが第2のデータベース内で既に使用可能であるかどうかを調べることを含むことができる。使用可能である場合には、要求されているデータに対応する暗号化された(難読化)データが、第2のデータベースから取得される。次いで、取得した暗号化された難読化データが復号されて、復号された難読化データを続いてユーザに提供することができるようにする。上述のとおり、提供されるデータは、用いる鍵は異なるが(エクスポートされる前に)再暗号化されることが好ましい。要求されているデータが第2のデータベース内でまだ使用可能でない場合には、上述のとおり、第1のデータベースから、要求されているデータに対応する暗号化されたデータが取得される。
この方法はさらに、保護付きエンクレーブ内で、難読化データを、管理鍵(management key)を用いて暗号化すること、および、これによって暗号化された難読化データを第2のデータベースに記憶することを含むことが好ましい。したがって、第2のデータベースは、システムの効率を向上させるためにキャッシュとして効果的に使用される。
以前に述べたとおり、保護付きエンクレーブは、鍵管理システムとデータ通信することができる。したがって、この方法はさらに、前記鍵管理システムにおいて、難読化データを暗号化するのに使用する管理鍵を生成することを含むことが好ましい。
実施形態では、受け取ったリクエストが所与の難読化レベルを指定している。その場合には、前記所与の難読化レベルが識別された許可レベルに適合する場合にのみ、難読化データがアクセスされる。
変形実施形態では、リクエストが、リクエストの中で参照されているデータを用いて達成すべき目的を指定することができる。その場合、アクセスされた難読化データは、前記目的に従って選択された難読化アルゴリズムを用いて、その結果生じる難読化レベルが識別された許可レベルに適合するとの条件で難読化されたデータである。
他の変形実施形態では、リクエストが、難読化アルゴリズムを指定することができる。その場合、難読化データは、指定された難読化アルゴリズムを用いて難読化されたものであり、この方法はさらに、このアルゴリズムによって生み出される難読化レベルを、この難読化レベルが識別された許可レベルに適合するように選択することを含む。
場合によっては、このような全ての変形実施形態(すなわち所与の難読化レベル、目的または難読化アルゴリズム自体を指定する変形実施形態)を、ユーザ・インタフェースにおける選択肢として提案することができる。
さまざまな難読化アルゴリズムが企図され得る。例えば、難読化アルゴリズムは、ナイーヴ匿名化(naive anonymization)、K匿名性(K-anonymity)、差分プライバシー(differential privacy)、準同型暗号(homomorphic-encryption)、データ集約(data aggregation)およびデータ・サンプリング(data sampling)のうちの1つまたは複数に依拠することができる。
別の態様によれば、本発明は、コンピュータ化されたシステム(computerized system)(以後、コンピュータ化システム)として実施される。このシステムは、リクエスト処理モジュールおよび保護付きエンクレーブを備え、これらは、それぞれ、例えばサーバ内に提供される。本発明の方法と一致して、このリクエスト処理モジュールは、データにアクセスするユーザ・リクエストを受け取り、受け取ったユーザ・リクエストに関連づけられた許可レベルを識別するように構成されている。さらに、このモジュールは、(保護付きエンクレーブを介して、)異なる難読化レベルを与える1つまたは複数の難読化アルゴリズムを用いてデータを難読化するように適合されている。さらに、このモジュールは、ユーザ・リクエストに対応する難読化データにアクセスするように設計されており、このデータは、前記難読化アルゴリズムのうちの1つまたは複数の難読化アルゴリズムを用いて、リクエストを受け取った後に識別された許可レベルに適合する難読化レベルを与えるように難読化されている。最後に、このモジュールは、ユーザ・リクエストに応答して、保護付きエンクレーブを介してアクセスされた難読化データを提供することができる。
このリクエスト処理モジュールはさらに、保護付きエンクレーブ内で、リクエスト処理モジュールがアクセスした難読化データを、ユーザ鍵を用いて暗号化し、ユーザ・リクエストに応答して、暗号化された難読化データに加えて、このようなユーザ鍵をユーザに提供するように構成されていることが好ましい。
実施形態では、このシステムがさらに、このようなユーザ鍵を生成するように適合された鍵管理システムを備える。さもなければ、このシステムは、このような鍵管理システムとデータ通信することができる。
このシステムは、さらに、以前に論じた、非難読化データを暗号化された形態で記憶する第1のデータベース、および難読化データを暗号化された形態で記憶する第2のデータベースを備えることが好ましい。
別の態様によれば、本発明は、難読化データをユーザに提供するためのコンピュータ・プログラム製品として実施される。このコンピュータ・プログラム製品はコンピュータ可読ストレージ媒体を含み、このコンピュータ可読ストレージ媒体は、コンピュータ可読ストレージ媒体とともに実施されたプログラム命令を有する。このプログラム命令は、1つまたは複数のプロセッサによって、本発明の方法によるステップを実施させるように実行可能である。
次に、添付図面を参照して、本発明を実施するコンピュータ化システム、方法およびコンピュータ・プログラム製品を、非限定的な例として説明する。
次に、以下の図面を参照して、本発明の好ましい実施形態を、単なる例として説明する。それらの別々の図の全体を通じて、同じ参照符号は、同一の要素または機能的に類似の要素を指している。
本発明の実施形態による、システムの選択された構成要素を概略的に示す図である。 本発明の好ましい実施形態、システムの選択された構成要素、およびシステム内で実行される基本操作に従って描かれた図である。 本発明の実施形態による、難読化データをユーザに提供するための好ましい方法のステップを示す詳細流れ図である。
添付図面は、実施形態に含まれるデバイスまたはデバイスの部分の簡略化された表現を示している。そうではないと示されていない限り、図中の類似の要素または機能的に類似の要素には同じ符号参照が割り当てられている。
次に、図1~図3の全体を参照して、本発明の第1の実施形態を説明する。この実施形態は、難読化データをユーザに提供するためのコンピュータ実施方法に関する。
例示のため、以下の文脈を仮定する。データ所有者5は、データ所有者5が生成(S200)したデータ、または他の形でデータ所有者5が所有するデータを、データ・ストレージ手段25に記憶する。データ・ストレージ手段25は、データ・レイクとして構成されていてもよい。そのようなデータは、通常、暗号化されて、例えば暗号化サーバ20を介して暗号化されて、記憶される。加えて、一部のユーザ10は、そのようなデータに対してアナリティクスを実行することを欲することがある。その目的で、ユーザ10は、図1に示されているコンピュータ化されたエコシステム1の部分を形成するサーバ30と対話する。そのようなユーザは、任意の実体(entity)(人間実体、法律上の実体、もしくはコンピュータ化された実体、例えば自動化されたプロセス、またはこれらの組合せ)とすることができることに留意されたい。しかしながら、全ての場合で、ユーザ・リクエストは、コンピュータ化された実体によって仲介される。すなわち、コンピュータ化された対話が仮定されている。
本発明の方法が提案することは、ユーザ10からのリクエストを、ユーザの許可レベルに基づいて処理することである。このようなリクエストに応答して、データが、難読化された形態で(すなわち変更されて)ユーザに供給される。提供されるデータの難読化レベルは、ユーザの許可レベルに依存する。本発明の文脈では、難読化は、元のデータに含まれる情報の全てを保持することがないように元のデータを変更すること、すなわち、例えば所有者、プライバシー法および規制上の必要によって設定された許可に由来する要件などさまざまな要件を潜在的に満たすように、元の情報の少なくとも一部が失われることを意味する。ユーザ10に返されるデータが、法律の規定に背くこと、または法律の規定を逃れることを意図するものではないことに留意されたい。
詳細には、例えばサーバ30内に実装されたリクエスト処理モジュールにおいて、データにアクセスするリクエスト(S10、S12)をユーザ10から受け取ると仮定する。次いで、(可能な場合に)そのリクエストに応じるためのステップを実行するために、そのリクエストに関連づけられた許可レベルが識別される(S10)。この許可レベルは、リクエストを受け取った後に、またはリクエスト自体の部分として、またはリクエストを受け取る前にも識別することができることに留意されたい。任意の認証機構を企図することができる。
次に、保護付きエンクレーブ32内で、難読化データがアクセスされる(S30~S50)。この難読化データは、受け取ったリクエストの中で指定されているデータに対応するデータである。アクセスされたデータは、適当な難読化アルゴリズムを用いて難読化される(S50)または難読化されたデータである。すなわち、このアルゴリズムは、以前に識別(S10)された許可レベルに適合する(S12、S14)難読化レベルを与えるものでなければならない。したがって、本発明の方法の核をなす原理は、データ・アクセス許可を、データを難読化するのに使用するデータ難読化アルゴリズムの強度に関連づけることである。難読化アルゴリズムの例は後に論じる。
最後に、ステップS30~S50でアクセスされた難読化データを、保護付きエンクレーブ32から、リクエストを送ったユーザ10に提供する(S82)。難読化データ36を受け取った(S82)後、ユーザ10は、例えば、提供(S82)された難読化データ36に基づいてアナリティクス、解析または任意の種類の認知操作を実行する(S100)ことができる。
保護付きエンクレーブは、アクセスが制限された、コンピュータ化されたエリアである。このようなエンクレーブは、例えば、単純に、例えば一組の中央処理ユニットCPU命令によって割り当てられた、コンピュータ化システムのメモリの1つまたは複数の(好ましくは暗号化された)非公開領域からなることがある。すなわち、このような命令は、ユーザレベル・コードが、より高次の特権レベルにおいても実行されるプロセスから保護された、メモリの(好ましくは暗号化された)非公開領域を割り当てることを可能にする。厳格なアクセス制御および制限されたネットワーク可視性で単一のアプリケーションに対して排他的に使用されたときにメモリ暗号化を有するセキュアなブート・サーバは、保護付きエンクレーブの例である。
保護付きエンクレーブはさらに、そのエンクレーブを通るネットワーク・アクセスを制限するように構成されていてもよい。例えば、ネットワーク・エンクレーブは、そのネットワーク・エンクレーブへのアクセスを、周囲のネットワークの選択された実体、アプリケーションまたはサービスに制限するように、その周囲のネットワークから分離されていてもよい。より一般的には、保護付きエンクレーブの特定のリソースが、外部実体またはネットワークとの対話を制限するように設計されていてもよい。さもなければ、セキュアなアクセス制御手段、例えば内部ファイアウォールなどの専用リソースを含むセキュアなアクセス制御手段、およびネットワーク・アドミッション・コントロール手段(network admissions control means)によって、アクセスが制限されてもよい。
保護付きエンクレーブは、特に、仮想化された組込み前のサービス指向アーキテクチャ(service-oriented architecture)(SOA)プラットホームとして実装することができる。それでも、このプラットホームは、場合により、信頼できるアプリケーションのホストをつとめることができ、それらの信頼できるアプリケーションが、制御されたセキュアなやり方ではあるけれども、ユーザおよび他の外部システムと対話することを可能にすることができる。
一般に、本明細書で使用される保護付きエンクレーブは、例えばハードウェア(例えば排他的に使用されるセキュアなブート・サーバ)として、または(例えばIntel(登録商標) Software Guard Extensions SGXに基づく)ソフトウェアとして、またはzSeries Secure Service Container(SSC)として実装することができる。Intelは、米国および他の国々におけるIntel Corporationまたはその系列会社の登録商標である。
この場合には、(難読化ステップS50を始めとして)全てのセンシティブな操作が、保護付きエンクレーブ内で実行される。このようにすると、多数のユーザが、それへのアクセスがさまざまなタイプおよびレベルの許可に従属する膨大な量のデータと対話することができるエコシステム内で、セキュリティを維持することができる。
単純な実施態様では、ユーザ10が、所与の難読化レベルのデータにアクセスするリクエストを送る(S12)。図3で仮定されているように、そのリクエストに関連づけられた許可レベル(すなわちユーザの許可レベル)を(所望の難読化レベルを識別(S12)する前または後に)識別する(S10)。識別(S12)された所与の難読化レベルが、識別(S10)された許可レベルに適合する場合には、以前に説明したとおりに難読化データがアクセスされ(S30~S50)、難読化データがユーザに供給される(S82)。
より巧緻な他の実施態様では、ユーザが、(例えばこのようなデータに対して実行するアナリティクスに関する)ユーザの目的を指定することができ、その場合、システムは、後に詳細に論じるようにして、適当なアルゴリズム、またはそのアルゴリズムによって生み出される難読化レベルを自動的に選択する。
慣例によって、最も高い許可レベルが、任意の難読化レベルを有するデータへのアクセスを許すような態様で、許可レベルを定義することができる。例えば、intel x86命令セットの特権レベルと同様に、この許可レベルは、0(最も特権的)から、nは、n-1よりも特権的でなく、n-1は、n-2よりも特権的でないとして、n>0までの範囲の値をとることができる。以下同様である。したがって、レベルnに対して使用可能な任意のリソースは、0からnまでの許可レベルに対しても使用可能であろう。したがって、難読化レベルも同様に、0(低い変更レベルに対応する)からm>1(より高い変更レベルに対応する)の範囲でコード化することができる。したがって、所望のデータ難読化レベルlおよびリクエストを送ったユーザに対して識別されたデータ・アクセス許可レベルkが与えられたとすると、要求されているデータへのアクセスが許されるのは、許可レベルが、(特権の意味において)データ難読化レベルよりも高いかまたはデータ難読化レベルに等しい場合、すなわちl≦kの場合のみである。したがって、高い許可レベルを有する許可されたユーザ(例えばデータ所有者)は通常、どんな難読化レベルを有するデータにでもアクセスすることができる。
最終的に供給(S82)されるデータ36は難読化されているため、リクエストを送ったユーザの許可レベルを考慮することにより、供給(S82)されたデータに付属する全ての権利を尊重することができる。
本発明の発明者の認識によれば、この手法により、データ所有者によって規定されたデータ使用許可を維持しつつ、もしくは他の潜在的要件を満たしつつ、またはこの両方を達成しつつ、ユーザが、大量に使用可能なデータ、例えばデータ・レイク内の大量に使用可能なデータに基づいてアナリティクスを実行することを可能にすることができるようになる。次に、本発明の特定の実施形態を参照して、これの全てを詳細に説明する。
最初に、図3を参照すると、本発明の方法はさらに、保護付きエンクレーブ32内で、アクセスされた難読化データを、ユーザ鍵を用いて暗号化する(S64)ことを含むことができる。ステップS64は、難読化データをユーザに提供(S82)する前に実行される。暗号化された難読化データに加えて、このユーザ鍵がユーザ10に提供(S82)される(すなわち供給される)。このようにすると、(ユーザ鍵を除き、)保護付きエンクレーブを離れた全てのデータ36がセキュリティ上の理由から暗号化されており、それにもかかわらず、ユーザは、提供されたデータを、提供されたユーザ鍵を使用して復号することができる。
実施形態では、さらに、ユーザ鍵の平バージョンに加えて、ユーザ鍵の暗号化されたバージョンを、(保護付きエンクレーブ32から)ユーザ10に提供(S82)することができる。このようにすると、ユーザは、最初に、提供されたデータを、提供された(平の)ユーザ鍵に基づいて復号することができ、次いで、この鍵を(セキュリティ上の理由から)削除することができる。それでも、ユーザは、ユーザ鍵の暗号化されたバージョンを提供することにより、その後に、必要に応じて、(平の形態の)ユーザ鍵を再び受け取ることを要求することができる(ここでは対称暗号化スキームが企図されている)。
このユーザ鍵は、ユーザに対して、例えば鍵管理システム(key management system)(KMS)を介して生成された暗号鍵である。図1に示されているように、例えば、保護付きエンクレーブ32はKMS40とデータ通信することができる。したがって、KMS40に依拠してユーザ鍵を生成する(S62)ことができ、ユーザ鍵は、保護付きエンクレーブ32で受け取られ、続いて難読化データを暗号化する(S64)ために使用される。場合によってはKMSを階層的鍵管理システム(hierarchical key management system)(HKMS)とすることができ、ユーザ鍵を、例えば、HKMSの所与の階層レベルにおいてそれ自体が知られている方法に従って生成されたユーザレベル鍵とすることができる。
実施形態では、保護付きエンクレーブ32が、非難読化データを暗号化された形態で記憶する第1のデータベース25(例えばデータ・レイク)とデータ通信する。その場合には、最初に、このデータベース25から、暗号化されたデータが取得され(S22)、次いで、保護付きエンクレーブ32内で、この暗号化されたデータがアクセスされ得る。前記暗号化されたデータは、受け取った(S10)リクエストの中で要求されているデータに対応する。次に、取得した(S22)暗号化されたデータを(依然として保護付きエンクレーブ32内で)復号し(S40、S42~S44)、次いで、復号されたデータを、適当に選択された難読化アルゴリズムを使用して難読化する(S50)。すなわち、データは、セキュアなストレージ25に由来するデータから、要求に応じて難読化される。この場合も、復号プロセスS40はKMSを有利に含むことができる。すなわち、復号(S44)が、最初に、KMSの鍵(例えばマスター鍵)にアクセスする(S42)ことを必要とすることがある。
図1および図2に示されているように、データの所有者5によってデータが継続的に生成されS200ことができ、したがって、(例えば専用サーバ20によって)データが継続的に暗号化され(S15)、第1のデータベース25に記憶され得る。暗号化ステップ(S15)は、保護付きエンクレーブ22内で実行されることが好ましいことに留意されたい。保護付きエンクレーブ22が、サーバ30内に提供されたエンクレーブ32に対応する必要は必ずしもない。むしろ、エンクレーブ22は、所有者データをストレージ25に記憶するために使用される専用暗号化サーバ20内に提供することができる。
以前に述べたとおり、第1のデータベース25は、例えばデータ・レイク、すなわち膨大な量の生データまたは改良されたデータをネイティブ・フォーマットで保持しているストレージ・リポジトリとして構成することができる。データ・レイクは通常、Hadoop互換オブジェクト・ストレージ(Hadoop-compatible object storage)に依拠し、それに従って組織体のデータがHadoopプラットホームへロードされる。次いで、データがHadoopクラスタ上にある場合、場合によっては、ビジネス・アナリティクスおよびデータ・マイニング・ツールを、データに適用することができる。しかしながら、Hadoopを組み込まなくても、組織体のニーズおよび目的に応じて、データ・レイクを効果的に使用することもできる。より一般的に言うと、データ・レイクは、データの問合せがあるまでは、通常、スキーマ(schema)およびデータ要件が定義されない大きなデータ・プールである。
本発明の文脈では、データ所有者が、例えば、必要な難読化レベルを、データ・ユーザの信用レベルの関数として指定することができる。その結果、異なるユーザが、場合によっては、同じデータに、しかし異なる難読化レベルでアクセスすることができる。このような難読化レベルは、一般に公開されたデータと完全に非公開のデータとの間のアクセス可能性の中間レベルを設定する。
図1および図3をさらに参照すると、保護付きエンクレーブ32は、第2のデータベース35とデータ通信することが好ましい。第2のデータベース35は、(例えば以前の問合せに応答して)既に難読化されているS50データを暗号化された形態で記憶している。その場合、難読化データには通常、最初に、要求されているデータが第2のデータベース35内で既に使用可能であるかどうかを調べる(S18)ことによってアクセスされる(S30~S50)。要求されているデータが、実際に、データベース35内で既に使用可能であると判定された場合には(S18:はい)、このような難読化データの暗号化されたバージョンをこのデータベース35から取得する(S21)(それらは保護付きエンクレーブにロードされる)。次いで、取得(S21)したデータが、(例えばKMSから鍵(例えばマスター鍵)を取得する(S32)ことによって)復号され(S30、S32~S34)、続いて、ユーザ10に提供される(S60、S82)。ステップS18で、要求されているデータが第2のデータベース35内でまだ使用可能でないと判定された場合には、以前に説明したとおり、要求されているデータが第1のデータベース25から取得され、復号されてから、難読化され、ユーザに渡される。
システムをより効率的にするため、次いで、図3の流れ図に示されているように、難読化(S50)されている必要があるデータを、キャッシュとして効果的に働く第2のデータベース35に記憶する。すなわち、最初に、最近難読化(S50)したデータを(保護付きエンクレーブ32内で)(ユーザ鍵とは異なる)管理鍵を使用して暗号化し(S70、S72~S74)、次いで、第2のデータベース35に記憶する(S90)ことができる。この場合も、KMS40によって提供された鍵を使用することができる。すなわち、保護付きエンクレーブ32内で使用するために、難読化データを暗号化する(S74)のに使用する管理鍵をKMSから取得する(S72)ことができる。第2のデータベースに記憶(S90)された後、難読化データは、後続の関連する問合せに対して直ちに使用可能である(S10~S18:はい。S21)。
図3で仮定されているように、受け取った(S12)リクエストが、所与の所望の難読化レベルを既に指定していることがある。その場合には、指定された難読化レベルがステップS10で識別された許可レベルに適合する(S14:はい)場合にのみ、難読化データにアクセスされる(S30~S50)。
より巧緻な手法では、受け取ったリクエストが、リクエストの中で参照されているデータを用いて(例えばアナリティクスに関して)達成すべき目的を指定することができる。その場合、システムは、ステップS50で、難読化アルゴリズムを(前記目的に従って)自動的に選択すること、または、適当なアルゴリズムを用いて以前に難読化された、キャッシュされたデータにアクセスすることができる。全てのケースで、システムは、アクセスされたS30~S50データが、前記目的に従って選択された難読化アルゴリズムを用いて、その結果生じる難読化レベルが識別された許可レベルに適合するとの条件で難読化されたS50データであることを保証する。
受け取ったリクエストが、特に、そのようなデータを用いて実行するアナリティクスに関して達成すべき目的を指定することができ、前記目的に従って難読化アルゴリズムが選択される。例えば、ユーザが、データ範囲の問合せ、計数などから傾向を見つけることを欲することがある。その場合、生み出される難読化は、匿名化されたヒストグラム/スケッチ・ベースの計数スキームなどと等価であることがある。
他の手法では、受け取ったリクエストが、所望の難読化アルゴリズム自体を指定することができる。その場合には、アクセス(S30~S50)された難読化データが、指定された難読化アルゴリズムを用いて難読化されるが、システムは、そのアルゴリズムによって生み出される難読化レベルを、この難読化レベルが以前に識別された許可レベルに適合するように選択する(可能でない場合にはエラー・メッセージが返される)。例えば、難読化アルゴリズムの標準セットが使用可能であることがあり、その場合、ユーザは、所与のアルゴリズムを選択するよう促される。
ユーザ問合せを可能にするために使用されるユーザ・インタフェースまたはプログラムは、上述のものを含む、いくつかの選択肢をユーザに提供することができることに留意されたい。したがって、それによってユーザは、難読化レベルを選択すること、または目的もしくは難読化アルゴリズム自体を指定することができる。
このようなアルゴリズムは、特に、ナイーヴ匿名化アルゴリズム、K匿名性アルゴリズム、差分プライバシー・アルゴリズム、準同型暗号特性保存(homomorphic-encryption property-preserving)アルゴリズム、データ集約アルゴリズム、もしくはサンプリング・アルゴリズムなど、またはそれらの組合せを含むことができる。このようなアルゴリズムは全て、さまざまなやり方で、場合によってはさまざまな強度で、元の情報を変更する。すなわち、したがって、アクセス可能性のさまざまな中間レベルを提供することができる。全てのケースで、アクセスは、指定されたアルゴリズムがユーザ・アクセス・レベルに適合する場合にのみ提供される。
次に、図1および図2をより詳細に参照して、本発明の別の実施形態を説明する。この実施形態は、コンピュータ化システム1に関する。このようなシステムのある種の特徴は、本発明の方法に関して既に暗黙のうちに説明されており、以下では簡単に説明するだけに留める。このようなシステム1は、少なくともリクエスト処理モジュールを含み、リクエスト処理モジュールは通常、サーバ30においてソフトウェアとして実装される。
さもなければ、システム(例えばサーバ30)は、保護付きエンクレーブ32を、ハードウェアとしてもしくはソフトウェアとしてまたはその両方として提供する(すなわち形成する)ように設計されている。全てのケースで、リクエスト処理モジュールは、以前に説明したステップ、すなわち、データにアクセスするユーザ・リクエストを受け取るステップ、そのようなリクエストに関連づけられた許可レベルを識別するステップ、および以前に論じたセンシティブ操作を実行する(S30~S70)ステップを実行するように構成されている。すなわち、このリクエスト処理モジュールは、(保護付きエンクレーブ32を介して、)1つまたは複数の難読化アルゴリズムを用いてデータを、異なる難読化レベルを提供するように難読化するように適合されている。さもなければ、このモジュールは、ユーザ・リクエストに対応する難読化データにアクセスするように構成されている。
以前に論じたとおり、場合によっては、難読化データをキャッシュすることができる。しかしながら、全てのケースで、データは、ユーザに対して識別された許可レベルに適合する難読化レベルを与えるように、1つまたは複数の難読化アルゴリズムを用いて難読化されており、またはそのように難読化されていなければならない。最後に、このモジュールは、ユーザ・リクエストに応答して、保護付きエンクレーブ32を介してアクセスされた難読化データを提供する。
論じたとおり、さらに、暗号化された難読化データに加えてユーザ鍵をユーザに渡す前に難読化データを、ユーザ鍵を用いて暗号化するように、リクエスト処理モジュールを構成することもできる。システム1は、特に、このようなユーザ鍵、ならびにステップS30、S40、S60およびS70に関して以前に説明した操作を実行した後にシステムが必要とする任意の鍵を生成するように適合されたKMS40を備えていてもよい(またはそのようなKMS40と通信するように設計されていてもよい)。
さらに、システム1は、(非難読化データを暗号化された形態で記憶する)第1のデータベース25、および既に難読化されたデータを(暗号化された形態で)記憶する第2のデータベース35を備えることが好ましい。第2のデータベース35はキャッシュの役目を果たす。
次に、別の実施形態によればさらに、本発明を、難読化データをユーザに提供するためのコンピュータ・プログラム製品として実施することもできる。このコンピュータ・プログラム製品はコンピュータ可読ストレージ媒体を含み、このコンピュータ可読ストレージ媒体は、コンピュータ可読ストレージ媒体とともに実施されたプログラム命令を有する。このプログラム命令は、(例えばサーバ30の)1つまたは複数のプロセッサによって、本発明の方法に関して以前に説明したステップを実施させるように実行可能である。
したがって、本発明は、インテグレーションのあらゆる可能な技術的詳細レベルにおいて、システム、方法もしくはコンピュータ・プログラム製品、またはこれらの組合せであることができる。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことができる。
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は、例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、消去可能なプログラマブル・リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的にエンコードされたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造体、およびこれらの適当な組合せを含む。本明細書で使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはそれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、またはこれらの組合せを含むことができる。それぞれのコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、もしくは集積回路用の構成データであってもよく、またはSmalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同種のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されてもよく、または全体が遠隔コンピュータもしくは遠隔サーバ上で実行されてもよい。上記の最後のシナリオでは、遠隔コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実施するために、例えばプログラム可能論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)またはプログラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
本明細書では、本発明の態様が、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方の図を参照して説明される。それらの流れ図もしくはブロック図またはその両方の図のそれぞれのブロック、およびそれらの流れ図もしくはブロック図またはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解される。
これらのコンピュータ可読プログラム命令は、機械を形成する汎用コンピュータ、専用コンピュータまたは他のプログラム可能データ処理装置のプロセッサに、それらのコンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行されるこれらの命令が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作を実施する手段を生成するような態様で提供することができる。これらのコンピュータ可読プログラム命令はさらに、特定の方式で機能するようにコンピュータ、プログラム可能データ処理装置もしくは他のデバイスまたはこれらの組合せに指図することができるコンピュータ可読ストレージ媒体に、その中に命令が記憶されたコンピュータ可読ストレージ媒体が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作の態様を実施する命令を含む製品を含むような態様で記憶することができる。
コンピュータ可読プログラム命令はさらに、コンピュータ、他のプログラム可能装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータによって実施されるプロセスを生み出すために、このコンピュータ、他のプログラム可能データ処理装置または他のデバイス上に、このコンピュータ、他のプログラム可能装置または他のデバイス上で実施されるこれらの命令が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作を実施するような態様でロードすることができる。
添付図中の流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、それらの流れ図またはブロック図のそれぞれのブロックは、指定された論理機能を実施する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替実施態様では、ブロックに示された機能を、図に示された順序とは異なる順序で実施することができる。例えば、連続して示された2つのブロックが、実際は、実質的に同時に実行されることがあり、または、含まれる機能によってはそれらのブロックが逆の順序で実行されることもある。それらのブロック図もしくは流れ図またはその両方の図のそれぞれのブロック、ならびにそれらのブロック図もしくは流れ図またはその両方の図のブロックの組合せを、指定された機能もしくは動作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実施するハードウェアベースの専用システムによって実施することができることにも留意すべきである。
限られた数の実施形態、変形実施形態および添付図面を参照して本発明を説明してきたが、本発明の範囲から逸脱することなく、さまざまな変更を加えること、および等価物で代用することができることを当業者は理解するであろう。特に、所与の実施形態もしくは変形実施形態に記載された(デバイスのようなまたは方法のような)特徴または図面に示された(デバイスのようなまたは方法のような)特徴を、本発明の範囲から逸脱することなく、別の実施形態、変形実施形態または図面の別の特徴と組み合わせること、または別の特徴の代わりに使用することができる。したがって、上記の実施形態または変形実施形態のいずれかに関して説明した特徴のさまざまな組合せであって、添付の特許請求の範囲に留まるさまざまな組合せを企図することができる。さらに、特定の状況または材料を本発明の教示に適合させるために、本発明の教示の範囲から逸脱することなく多くの軽微な変更を加えることができる。したがって、本発明が、開示された特定の実施形態に限定されないこと、および本発明が、添付の特許請求の範囲に含まれる全ての実施形態を含むことが意図されている。さらに、上で明示的に触れたもの以外の多くの変形実施形態を企図することができる。

Claims (34)

  1. 難読化データをユーザに提供するためのコンピュータ実施方法であって、前記方法が、
    データにアクセスするリクエストをユーザから受け取ることと、
    受け取った前記リクエストに関連づけられた許可レベルを識別することと、
    保護付きエンクレーブ内で、受け取った前記リクエストに対応する難読化データにアクセスすることであって、アクセスされた前記データが、識別された前記許可レベルに適合する難読化レベルを与える難読化アルゴリズムを用いて難読化されたものである、アクセスすることと、
    アクセスされた前記難読化データを、前記保護付きエンクレーブから前記ユーザに提供することと
    を含む、コンピュータ実施方法。
  2. 前記方法がさらに、
    前記難読化データを提供する前に、前記保護付きエンクレーブ内で、アクセスされた前記難読化データを、ユーザ鍵を用いて暗号化することと、
    暗号化された前記難読化データに加えて、前記ユーザ鍵を前記ユーザに提供することと
    を含む、請求項1に記載の方法。
  3. 前記方法がさらに、前記ユーザ鍵の平バージョンに加えて、前記ユーザ鍵の暗号化されたバージョンを、前記保護付きエンクレーブから前記ユーザに提供することを含む、
    請求項2に記載の方法。
  4. 前記保護付きエンクレーブが鍵管理システムとデータ通信し、前記方法がさらに、前記鍵管理システムにおいて、続いて前記難読化データを暗号化するのに使用する前記ユーザ鍵を生成することを含む、
    請求項2に記載の方法。
  5. 前記保護付きエンクレーブが、非難読化データを暗号化された形態で記憶する第1のデータベースとデータ通信し、
    前記難読化データにアクセスすることが、前記保護付きエンクレーブ内で、
    前記第1のデータベースから、受け取った前記リクエストの中で要求されているデータに対応する暗号化されたデータを取得すること、
    取得した前記暗号化されたデータを復号すること、および
    復号された前記データを、前記難読化アルゴリズムを使用して難読化すること
    を含む、請求項1に記載の方法。
  6. 前記方法がさらに、保護付きエンクレーブ内でデータを継続的に暗号化すること、およびその結果生じた暗号化された前記データを前記第1のデータベースに継続的に記憶することを含む、
    請求項5に記載の方法。
  7. 前記第1のデータベースがデータ・レイクである、
    請求項6に記載の方法。
  8. 前記保護付きエンクレーブが、難読化データを暗号化された形態で記憶する第2のデータベースとデータ通信し、
    前記難読化データにアクセスすることがさらに、
    受け取った前記リクエストの中で要求されている前記データが前記第2のデータベース内で既に使用可能であるかどうかを調べること、
    使用可能である場合に、
    前記第2のデータベースから、要求されている前記データに対応する暗号化された難読化データを取得すること、および
    取得した前記暗号化された難読化データを復号して、復号された前記難読化データを続いて前記ユーザに提供することができるようにすること
    を含み、使用可能でない場合には、前記第1のデータベースから、受け取った前記リクエストの中で要求されているデータに対応する前記暗号化されたデータが取得される、
    請求項5に記載の方法。
  9. 前記方法がさらに、前記保護付きエンクレーブ内で、前記難読化データを、管理鍵を用いて暗号化すること、およびこれによって暗号化された前記難読化データを前記第2のデータベースに記憶することを含む、
    請求項8に記載の方法。
  10. 前記保護付きエンクレーブが鍵管理システムとデータ通信し、前記方法がさらに、前記鍵管理システムにおいて、前記難読化データを暗号化するのに使用する前記管理鍵を生成することを含む、
    請求項9に記載の方法。
  11. 受け取った前記リクエストが所与の難読化レベルを指定しており、
    前記所与の難読化レベルが、識別された前記許可レベルに適合する場合にのみ、前記難読化データにアクセスされる、
    請求項1に記載の方法。
  12. 受け取った前記リクエストがさらに、前記リクエストの中で参照されている前記データを用いて達成すべき目的を指定しており、
    アクセスされた前記難読化データが、前記目的に従って選択された難読化アルゴリズムを用いて、その結果生じる難読化レベルが識別された前記許可レベルに適合するとの条件で難読化されたデータを含む、
    請求項1に記載の方法。
  13. 受け取った前記リクエストがさらに、難読化アルゴリズムを指定しており、
    アクセスされた前記難読化データが、指定された前記難読化アルゴリズムを用いて難読化されたデータを含み、前記方法がさらに、前記アルゴリズムによって生み出される難読化レベルを、この難読化レベルが識別された前記許可レベルに適合するように選択することを含む、
    請求項1に記載の方法。
  14. 前記難読化アルゴリズムが、ナイーヴ匿名化、K匿名性、差分プライバシー、準同型暗号、データ集約およびデータ・サンプリングのうちの1つまたは複数に依拠する、
    請求項1に記載の方法。
  15. 前記方法がさらに、アクセスされた前記難読化データを前記ユーザに提供した後に、提供された前記難読化データに基づいてアナリティクスを実行することを含む、
    請求項1に記載の方法。
  16. コンピュータ化システムであって、
    リクエスト処理モジュールと、
    保護付きエンクレーブと
    を備え、
    前記リクエスト処理モジュールが、
    データにアクセスするユーザ・リクエストを受け取り、
    受け取ったユーザ・リクエストに関連づけられた許可レベルを識別し、
    前記保護付きエンクレーブを介して、
    異なる難読化レベルを与える1つまたは複数の難読化アルゴリズムを用いてデータを難読化し、
    ユーザ・リクエストに対応する難読化データにアクセスする
    ように構成されており、
    前記データが、前記難読化アルゴリズムのうちの1つまたは複数の難読化アルゴリズムを用いて、識別された許可レベルに適合する難読化レベルを与えるように難読化されており、
    前記リクエスト処理モジュールがさらに、
    ユーザ・リクエストに応答して、前記保護付きエンクレーブを介して、アクセスされた難読化データを提供する
    ように構成されている、コンピュータ化システム。
  17. 前記リクエスト処理モジュールがさらに、
    前記保護付きエンクレーブ内で、前記リクエスト処理モジュールがアクセスした難読化データを、ユーザ鍵を用いて暗号化し、
    ユーザ・リクエストに応答して、暗号化された難読化データに加えて、このようなユーザ鍵を前記ユーザに提供する
    ように構成されている、請求項16に記載のコンピュータ化システム。
  18. 前記システムがさらに、このようなユーザ鍵を生成するように適合された鍵管理システムを備える、
    請求項17に記載のコンピュータ化システム。
  19. 前記システムがさらに、非難読化データを暗号化された形態で記憶する第1のデータベース、および難読化データを暗号化された形態で記憶する第2のデータベースを備える、
    請求項16に記載のコンピュータ化システム。
  20. 前記システムが、前記ユーザ鍵の平バージョンに加えて、前記ユーザ鍵の暗号化されたバージョンを、前記保護付きエンクレーブから前記ユーザに提供するように動作可能である、請求項17に記載のコンピュータ化システム。
  21. 前記保護付きエンクレーブが鍵管理システムとデータ通信し、前記システムが、前記鍵管理システムにおいて、続いて前記難読化データを暗号化するのに使用する前記ユーザ鍵を生成するように動作可能である、
    請求項17に記載のコンピュータ化システム。
  22. 前記保護付きエンクレーブが、非難読化データを暗号化された形態で記憶する第1のデータベースとデータ通信し、
    前記難読化データにアクセスするための機構が、前記保護付きエンクレーブ内で、
    前記第1のデータベースから、受け取った前記リクエストの中で要求されているデータに対応する暗号化されたデータを取得すること、
    取得した前記暗号化されたデータを復号すること、および
    復号された前記データを、前記難読化アルゴリズムを使用して難読化すること
    を含む、請求項16に記載のコンピュータ化システム。
  23. 前記システムがさらに、保護付きエンクレーブ内でデータを継続的に暗号化するための手段、およびその結果生じた暗号化された前記データを前記第1のデータベースに継続的に記憶するための手段を備える、
    請求項22に記載のコンピュータ化システム。
  24. 前記第1のデータベースがデータ・レイクである、
    請求項23に記載のコンピュータ化システム。
  25. 前記保護付きエンクレーブが、難読化データを暗号化された形態で記憶する第2のデータベースとデータ通信し、前記難読化データにアクセスするための機構がさらに、
    受け取った前記リクエストの中で要求されている前記データが前記第2のデータベース内で既に使用可能であるかどうかを調べること、
    使用可能である場合に、
    前記第2のデータベースから、要求されている前記データに対応する暗号化された難読化データを取得すること、および
    取得した前記暗号化された難読化データを復号して、復号された前記難読化データを続いて前記ユーザに提供することができるようにすること
    を含み、使用可能でない場合には、前記第1のデータベースから、受け取った前記リクエストの中で要求されているデータに対応する前記暗号化されたデータが取得される、
    請求項22に記載のコンピュータ化システム。
  26. 前記システムがさらに、前記保護付きエンクレーブ内で、前記難読化データを、管理鍵を用いて暗号化するための手段、およびこれによって暗号化された前記難読化データを前記第2のデータベースに記憶するための手段を備える、
    請求項25に記載のコンピュータ化システム。
  27. 前記保護付きエンクレーブが鍵管理システムとデータ通信し、前記システムがさらに、前記鍵管理システムにおいて、前記難読化データを暗号化するのに使用する前記管理鍵を生成するための手段を備える、
    請求項26に記載のコンピュータ化システム。
  28. 受け取った前記リクエストが所与の難読化レベルを指定しており、
    前記所与の難読化レベルが識別された前記許可レベルに適合する場合にのみ、前記難読化データにアクセスされる、
    請求項16に記載のコンピュータ化システム。
  29. 受け取った前記リクエストがさらに、前記リクエストの中で参照されている前記データを用いて達成すべき目的を指定しており、
    アクセスされた前記難読化データが、前記目的に従って選択された難読化アルゴリズムを用いて、その結果生じる難読化レベルが識別された前記許可レベルに適合するとの条件で難読化されたデータを含む、
    請求項16に記載のコンピュータ化システム。
  30. 受け取った前記リクエストがさらに、難読化アルゴリズムを指定しており、
    アクセスされた前記難読化データが、指定された前記難読化アルゴリズムを用いて難読化されたデータを含み、前記方法がさらに、前記アルゴリズムによって生み出される難読化レベルを、この難読化レベルが識別された前記許可レベルに適合するように選択することを含む、
    請求項16に記載のコンピュータ化システム。
  31. 前記難読化アルゴリズムが、ナイーヴ匿名化、K匿名性、差分プライバシー、準同型暗号、データ集約およびデータ・サンプリングのうちの1つまたは複数に依拠する、
    請求項16に記載のコンピュータ化システム。
  32. 前記システムがさらに、アクセスされた前記難読化データを前記ユーザに提供した後に、提供された前記難読化データに基づいてアナリティクスを実行するための手段を備える、
    請求項16に記載のコンピュータ化システム。
  33. 難読化データをユーザに提供するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品がコンピュータ可読ストレージ媒体を含み、前記コンピュータ可読ストレージ媒体が、前記コンピュータ可読ストレージ媒体とともに実施されたプログラム命令を有し、前記プログラム命令が、1つまたは複数のプロセッサによって、前記1つまたは複数のプロセッサに、
    データにアクセスするリクエストをユーザから受け取ることと、
    受け取った前記リクエストに関連づけられた許可レベルを識別することと、
    保護付きエンクレーブを介して、受け取った前記リクエストに対応する難読化データにアクセスすることであって、アクセスされた前記データが、識別された前記許可レベルに適合する難読化レベルを与える難読化アルゴリズムを用いて難読化されている、アクセスすることと、アクセスされた前記難読化データを、前記保護付きエンクレーブから前記ユーザに提供すること
    を実行させるように実行可能である、コンピュータ・プログラム製品。
  34. コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されたときに請求項1から15のいずれかに記載の方法を実行するように適合されたプログラム・コード手段を含む、コンピュータ・プログラム。
JP2021539099A 2019-02-15 2020-02-11 アナリティクスのための難読化データへのセキュアなマルチレベル・アクセス Active JP7438607B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/278,028 2019-02-15
US16/278,028 US11416633B2 (en) 2019-02-15 2019-02-15 Secure, multi-level access to obfuscated data for analytics
PCT/IB2020/051074 WO2020165756A1 (en) 2019-02-15 2020-02-11 Secure, multi-level access to obfuscated data for analytics

Publications (2)

Publication Number Publication Date
JP2022520323A true JP2022520323A (ja) 2022-03-30
JP7438607B2 JP7438607B2 (ja) 2024-02-27

Family

ID=72040646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021539099A Active JP7438607B2 (ja) 2019-02-15 2020-02-11 アナリティクスのための難読化データへのセキュアなマルチレベル・アクセス

Country Status (6)

Country Link
US (1) US11416633B2 (ja)
JP (1) JP7438607B2 (ja)
CN (1) CN113396415A (ja)
DE (1) DE112020000134T5 (ja)
GB (1) GB2595167A (ja)
WO (1) WO2020165756A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308234B1 (en) 2020-04-02 2022-04-19 Wells Fargo Bank, N.A. Methods for protecting data
US11902424B2 (en) * 2020-11-20 2024-02-13 International Business Machines Corporation Secure re-encryption of homomorphically encrypted data
US20220253541A1 (en) * 2021-02-10 2022-08-11 Bank Of America Corporation System for electronic data obfuscation through alteration of data format
US11907268B2 (en) * 2021-02-10 2024-02-20 Bank Of America Corporation System for identification of obfuscated electronic data through placeholder indicators
US11580249B2 (en) 2021-02-10 2023-02-14 Bank Of America Corporation System for implementing multi-dimensional data obfuscation
US20220271914A1 (en) * 2021-02-24 2022-08-25 Govermment of the United of America as represented by the Secretary of the Navy System and Method for Providing a Secure, Collaborative, and Distributed Computing Environment as well as a Repository for Secure Data Storage and Sharing
US11941151B2 (en) * 2021-07-16 2024-03-26 International Business Machines Corporation Dynamic data masking for immutable datastores

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199517A1 (en) * 2003-04-02 2004-10-07 Fabio Casati Method and system for operating a data warehouse for event management
US7266847B2 (en) * 2003-09-25 2007-09-04 Voltage Security, Inc. Secure message system with remote decryption service
US20070112869A1 (en) * 2005-11-15 2007-05-17 Solix, Inc. System and method for managing data in a database
US8347396B2 (en) * 2007-11-30 2013-01-01 International Business Machines Corporation Protect sensitive content for human-only consumption
US20110154061A1 (en) * 2009-12-21 2011-06-23 Babu Chilukuri Data secure memory/storage control
US11301592B2 (en) 2010-01-28 2022-04-12 Pure Storage, Inc. Distributed storage with data obfuscation and method for use therewith
US8544104B2 (en) * 2010-05-10 2013-09-24 International Business Machines Corporation Enforcement of data privacy to maintain obfuscation of certain data
US20110282862A1 (en) * 2010-05-14 2011-11-17 Telcordia Technologies, Inc. System and method for preventing nformation inferencing from document collections
US8543821B1 (en) 2011-10-28 2013-09-24 Amazon Technologies, Inc. Scalably displaying sensitive data to users with varying authorization levels
US9361481B2 (en) 2013-11-01 2016-06-07 Anonos Inc. Systems and methods for contextualized data protection
CN104679781A (zh) 2013-12-02 2015-06-03 中国移动通信集团福建有限公司 一种数据模糊处理的方法及装置
US10049185B2 (en) * 2014-01-28 2018-08-14 3M Innovative Properties Company Perfoming analytics on protected health information
EP3164805B1 (en) 2014-07-02 2021-09-15 Document Corporation IP Unit Trust Method and system for selective document redaction
US10055601B1 (en) * 2014-07-31 2018-08-21 Larry Hamid Method and system for securing data
US9584517B1 (en) * 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
SG11201808317XA (en) 2014-09-23 2018-10-30 Fhoosh Inc Secure high speed data storage, access, recovery, and transmission
GB2535183B (en) * 2015-02-11 2017-02-15 Livedrive Internet Ltd Methods and systems for virtual file storage and encryption
US9904793B2 (en) * 2015-03-23 2018-02-27 Intel Corporation Systems, methods, and apparatus to provide private information retrieval
US10230739B2 (en) * 2015-06-26 2019-03-12 Board Of Regents, The University Of Texas System System and device for preventing attacks in real-time networked environments
US9953176B2 (en) 2015-10-02 2018-04-24 Dtex Systems Inc. Method and system for anonymizing activity records
US20170124258A1 (en) 2015-11-04 2017-05-04 Mmodal Ip Llc Dynamic De-Identification of Healthcare Data
US11295635B2 (en) 2015-12-14 2022-04-05 Hitachi, Ltd. Data processing system and data processing method
US10686767B2 (en) * 2016-02-02 2020-06-16 Apple Inc. Method for securing user data with DRM keys
JP6353861B2 (ja) 2016-03-30 2018-07-04 ビートレンド株式会社 情報配信方法、情報配信システム及び情報配信プログラム
SG11201809476VA (en) * 2016-04-29 2018-11-29 Privitar Ltd Computer-implemented privacy engineering system and method
CN106611129A (zh) 2016-12-27 2017-05-03 东华互联宜家数据服务有限公司 数据脱敏方法、装置及系统
US10931652B2 (en) 2017-01-24 2021-02-23 Microsoft Technology Licensing, Llc Data sealing with a sealing enclave
WO2019026776A1 (ja) 2017-08-02 2019-02-07 日本電信電話株式会社 暗号化通信装置、暗号化通信システム、暗号化通信方法、およびプログラム
US20190121998A1 (en) * 2017-10-20 2019-04-25 Dornerworks, Ltd. Computer system data guard
US11468186B2 (en) 2017-10-30 2022-10-11 Equifax Inc. Data protection via aggregation-based obfuscation
US10803197B1 (en) * 2018-04-13 2020-10-13 Amazon Technologies, Inc. Masking sensitive information in records of filtered accesses to unstructured data
US10897480B2 (en) * 2018-07-27 2021-01-19 The Boeing Company Machine learning data filtering in a cross-domain environment
US20200174990A1 (en) * 2018-11-29 2020-06-04 Anthony Turner Pratkanis Accountably Redactable Data Structures
US20200193057A1 (en) * 2018-12-13 2020-06-18 Amaris.Ai Pte. Ltd. Privacy enhanced data lake for a total customer view

Also Published As

Publication number Publication date
US20200265159A1 (en) 2020-08-20
JP7438607B2 (ja) 2024-02-27
GB202111724D0 (en) 2021-09-29
GB2595167A (en) 2021-11-17
WO2020165756A1 (en) 2020-08-20
CN113396415A (zh) 2021-09-14
US11416633B2 (en) 2022-08-16
DE112020000134T5 (de) 2021-07-29

Similar Documents

Publication Publication Date Title
JP7438607B2 (ja) アナリティクスのための難読化データへのセキュアなマルチレベル・アクセス
Mehraeen et al. Security challenges in healthcare cloud computing: a systematic
Thillaiarasu et al. RETRACTED ARTICLE: A novel scheme for safeguarding confidentiality in public clouds for service users of cloud computing
US10666647B2 (en) Access to data stored in a cloud
US20150026462A1 (en) Method and system for access-controlled decryption in big data stores
WO2017129138A1 (zh) 数据仓库中的数据保护方法及装置
EP2513832A1 (en) Digital rights management using attribute-based encryption
WO2014207554A2 (en) Method and apparatus for providing database access authorization
Fugkeaw et al. Privacy-preserving access control model for big data cloud
Mhatre et al. Secure cloud-based federation for EHR using multi-authority ABE
US20170093752A1 (en) Access control for named domain networking
Raja et al. A hybrid data access control using aes and rsa for ensuring privacy in electronic healthcare records
US10546142B2 (en) Systems and methods for zero-knowledge enterprise collaboration
US10834060B2 (en) File sharing and policy control based on file link mechanism
Suthar et al. EncryScation: A novel framework for cloud iaas, daas security using encryption and obfuscation techniques
Elmogazy et al. Securing Healthcare Records In The Cloud Using Attribute-Based Encryption.
Mini et al. A comprehensive cloud security model with enhanced key management, access control and data anonymization features
JP2022511357A (ja) データ暗号化に基づく目的に固有のアクセス制御方法、および装置
JP6965885B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
Manimuthu et al. RETRACTED ARTICLE: An enhanced approach on distributed accountability for shared data in cloud
Alsubaih et al. Authorization as a service in cloud environments
Alsubaih et al. Privacy preserving model in semi-trusted cloud environment
Boumezbeur et al. Privacy-preserving access control for sharing health data in cloud environment
Dhyani E-Health data risks & protection for public cloud: An elderly healthcare usecase for Swedish municipality
Akinboro et al. Privacy enforcement on subscribers data in cloud computing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210817

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20210705

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240123

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20240124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240208

R150 Certificate of patent or registration of utility model

Ref document number: 7438607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150