JP2020506597A - データ・マスキング - Google Patents

データ・マスキング Download PDF

Info

Publication number
JP2020506597A
JP2020506597A JP2019539767A JP2019539767A JP2020506597A JP 2020506597 A JP2020506597 A JP 2020506597A JP 2019539767 A JP2019539767 A JP 2019539767A JP 2019539767 A JP2019539767 A JP 2019539767A JP 2020506597 A JP2020506597 A JP 2020506597A
Authority
JP
Japan
Prior art keywords
data
mask
encryption key
new
computer
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.)
Pending
Application number
JP2019539767A
Other languages
English (en)
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 JP2020506597A publication Critical patent/JP2020506597A/ja
Pending legal-status Critical Current

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/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
    • 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/602Providing cryptographic facilities or services
    • 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
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/04Masking or blinding

Abstract

【課題】 データ・プロバイダ・コンピュータにおいてデータをマスキングし、(信頼できない)データ・ユーザ・コンピュータに送る方法、装置及びコンピュータ・プログラムを提供する。【解決手段】 送られるデータ内の少なくとも1つの所定のデータ項目について、一方向性関数をそのデータ項目に適用して第1の値を生成し、現在のエポックについての現在の暗号化鍵を用いて決定的暗号化スキームを介して第1の値を暗号化することによりマスク・データ項目を生成し、そのデータ項目をマスク・データ項目に置換することによって、データ・マスキングが提供される。データ・プロバイダ・コンピュータは、マスク・データをデータ・ユーザ・コンピュータに送る。現在のエポックの満了時に、データ・プロバイダ・コンピュータは、新しいエポックにおける暗号化スキームのための新しい暗号化鍵を生成し、現在の及び新しい暗号化鍵に依存するマスク更新データを生成し、マスク更新データをデータ・ユーザ・コンピュータに送る。マスク更新データにより、データ・ユーザ・コンピュータにおいて、現在の暗号化鍵を用いて生成されたマスク・データ項目を新しい暗号化鍵を用いて生成されたマスク・データ項目に更新することが可能になる。【選択図】 図3

Description

本発明は、一般に、データ・マスキングに関し、より具体的には、データ・プロバイダ・コンピュータにおいてデータをマスキングし、(信頼できない)データ・ユーザ・コンピュータに送る方法、装置及びコンピュータ・プログラム製品に関する。
データ・マスキングは、機密情報を含むデータを信頼性が低い環境にコピーする必要があるときに使用されるプロセスである。データ・マスキングの目的は、機密データ項目を隠す(又は「マスクする(mask)」)ようにデータの機密性を低下させ(de-sensitize)、データが全体として意図した目的のために有用なままであるようにすることである。例えば、データセットは、信頼できないパーティに漏らすべきではない、社会保障番号、パスポート・データ、クレジットカード番号、健康の記録の詳細等といった情報を含み得る。典型的な用途のシナリオとして、統計分析のためにデータセットを送り出すこと、現実的なワークロードを有するテスト環境においてアプリケーションを実行すること、顧客からサービス品質情報を収集すること、及びトランザクション処理が挙げられる。近年、サービスをサードパーティ及びクラウドに移動する傾向と共に、データ・プライバシーに関する問題が増大している。マスキングは、信頼できない環境における機密データの曝露を阻止し、国境を超えたデータの移動と関連した法的問題に対処する。
セキュリティのために、データ・マスキング・プロセスでは、マスク・データ項目(masked data item)が、オリジナルの非マスク・データ(unmasked data)についての情報を公開しないようにする必要がある。しかしながら、ユーザビリティ(usability)は、マスク・データセットが、参照整合性(referential integrity)を保持することを要求する。つまり、非マスク・データセットにおいて同じデータ項目が複数回発生する場合、それを一貫して同じマスク値にマッピングしなければならない。
多くのデータ・マスキング技術が提案されており、今日商業的に実施されている。例えば、マスキングは、ハッシングを介して実行され得る。ここで、データ項目は、データ・プロバイダの長期ハッシュ鍵と共にハッシュされる。次に、データ項目は、ユーザに送られたマスク・データにおける結果として得られるハッシュ値と置き換えられる。他の周知の方法は、置換(substitution)、シャフリング、削除(「ヌル化(nulling)」)、難読化、又は摂動技術に基づく。しかしながら、こうした方法は、データ・セキュリティに必要とされるますます厳しさを増す保証を提供することができない。さらに、これらの方法は、マスク・データ(masked data)の鍵再生成(rekeying)を可能にしない。所定のデータ項目とそのマスクされた形態との間の関係は決して変化せず、マスキングに使用される鍵を変更することができない。ハッシングでは、例えば、参照整合性を破壊せずに、ハッシュ鍵を変更することができない。例えば、金融機関などのセキュリティが重要な環境においては、規則的な鍵再生成動作、及び非マスク・データとマスク・データとの間の関係の定期的更新が求められる。定期的更新は、データが時間の経過と共に徐々に漏れる曝露のリスクも減らす。マスク・データセットは多くの場合大容量であるので、データ・プロバイダが最新の鍵を用いて完全なデータセットを再マスクしてユーザに再送する、そうした更新を最初から実行することは、非常に効率が悪い。
データ・プロバイダ・コンピュータにおいてデータをマスキングし、(信頼できない)データ・ユーザ・コンピュータに送る方法、装置及びコンピュータ・プログラムを提供する。
本発明の実施形態によれば、データ・プロバイダ・コンピュータにおけるデータ・マスキングのためのコンピュータ実施方法が提供される。方法は、データ・ユーザ・コンピュータに送られるデータにアクセスし、送られるデータ内の少なくとも1つの所定のデータ項目に対して、一方向性関数をそのデータ項目に適用して第1の値を生成し、現在のエポックについての現在の暗号化鍵を用いて決定的暗号化スキーム(deterministic encryption scheme)を介して第1の値を暗号化することによりマスク・データ項目を生成し、そのデータ項目をマスク・データ項目に置換することにより、マスク・データを生成することを含む。方法は、マスク・データをデータ・ユーザ・コンピュータに送ることと、現在のエポックの満了時に、新しいエポックにおける暗号化スキームのための新しい暗号化鍵を生成し、現在の及び新しい暗号化鍵に依存するマスク更新データを生成し、マスク更新データをデータ・ユーザ・コンピュータに送ることを含む。マスク更新データは、データ・ユーザ・コンピュータにおいて、現在の暗号化鍵を用いて生成されたマスク・データ項目を、新しい暗号化鍵を用いて生成されたマスク・データ項目に更新するのを可能にする。
本発明の実施形態は、参照整合性を保持しながら、マスキング鍵を更新し、マスク・データの鍵を再生成することができるセキュアなデータ・マスキング方法を提供する。以前にマスクされたデータを更新するための鍵再生成動作は、マスク・データのセキュリティを損なうことなく、信頼できないドメインにおいて、データ・ユーザにより行われ得る。
本発明の実施形態は、静的データ・マスキング・シナリオで用いることができ、そこでは、ユーザが必要とする全てのデータ(例えば、データベース全体、又は他の完全なデータセット)が、一回で、マスクされユーザに送られる。しかしながら、本発明を具体化する方法は、動的データ・マスキング・シナリオにおいても非常に有利である。動的データ・マスキング・シナリオにおいて、データは、要求に応じて、例えばユーザからの一連のアクセス要求に応答して、マスクされ、ユーザに送られる。データは、「オン・ザ・フライ式に(on-the-fly)」マスクし、オン・デマンドで(on demand)ユーザに送ることができる。両方のシナリオにおいて、現在のエポック中にマスクされ、送られるデータは、データ・プロバイダにより送られるマスク更新データを用いて、新しいエポックのために鍵再生成することができる。新しい暗号化鍵を生成し、マスク更新データを生成し、マスク更新データをデータ・ユーザ・コンピュータに送るステップは、その新しいエポック及び後の新しいエポックの各々の満了時に実行することができ、それにより、連続するエポックの各々について、繰り返しマスク・データの鍵を再生成することができる。動的シナリオにおいては、各々の新しいエポックについての新しい暗号化鍵を、そのエポックにおいて送り出される更なるデータをマスクするためのデータ・マスキング・ステップにおける現在の暗号化鍵として使用することができる。特に、新しいエポック(の少なくとも一部)の各々の間、データ・プロバイダ・コンピュータは、データ・ユーザ・コンピュータに送られる更なるデータにアクセスし、その更なるデータについて、新しい暗号化鍵をそのエポックについての現在の暗号化鍵として用いてマスク・データを生成するステップを実行することができる。次に、更なるマスク・データをデータ・ユーザ・コンピュータに送ることができる。マスク更新データを用いる鍵再生成動作は、現在の暗号化鍵を用いて生成されたマスク・データ項目を、新しい暗号化鍵を用いて生成されたマスク・データ項目に変換するので、以前のエポックにおいて送り出されたマスク・データと任意の所定のエポックについての新しい暗号化鍵を用いてマスクされたいずれかの更なるデータとの間の参照整合性が保持される。
好ましい実施形態のデータ・マスキング・ステップにおいて、一方向性関数をそのデータ項目及びデータ・プロバイダ・コンピュータの秘密鍵に適用することにより、データ項目に対応する第1の値が生成される。マスキング・プロセスのこの第1の層における秘密鍵の使用は、データ曝露に対する付加的なセキュリティを与える。マスキング・プロセスの第2の暗号化層及び関連したマスク更新データを異なる方法で構成し、基礎をなす暗号法のセキュリティに従って異なるセキュリティ保証を与えることができる。幾つかの実施形態においては、暗号化スキームは対称暗号化スキームを含み、マスク更新データは、現在の暗号化鍵及び新しい暗号化鍵を含むことができる。ここで、データ・ユーザは、暗号化スキームの復号アルゴリズムを介して、現在の暗号化鍵を用いて、各マスク・データ項目を復号して第1の値を取得し、新しい暗号化鍵を用いて暗号化スキームを介して第1の値を再暗号化することによって、以前に受け取ったデータの鍵を再生成することができる。これにより、多くの用途に対して十分に高いセキュリティ・レベルが与えられる。
幾つかの実施形態において、マスク更新データは、現在の及び新しい暗号化鍵の所定の関数δを含み、暗号化スキームは、sが現在の暗号化鍵であり、se+1が新しい暗号化鍵である場合に、Enc(δ,(Enc(s,X))=Enc(se+1,X)となるように、暗号化鍵kの下で値Xを暗号化するためのアルゴリズムEnc(k,X)を含む。ここで、データ・ユーザは、暗号化鍵k=δを用いて暗号化アルゴリズムEnc(k,X)を介して各マスク・データ項目を暗号化することによって、以前に受け取ったデータの鍵を再生成することができる。このことは、再マスキング・プロセスにより、データ項目についての最初に暗号化された第1の値が曝露されることもないという点で、非常に優れたセキュリティを与える。こうしたスキームの効率的な実施において、アルゴリズムEnc(k,X)=X及びδ=se+1/sである。
本発明の実施形態は、データ・ユーザ・コンピュータにおいてマスク・データを管理するためのコンピュータ実施方法を提供する。この方法は、データ・プロバイダ・コンピュータからマスク・データを受け取ることであって、マスク・データは、一方向性関数をデータ項目に適用して第1の値を生成し、現在のエポックについての現在の暗号化鍵を用いて決定的暗号化スキームを介して第1の値を暗号化することにより生成される少なくとも1つのマスク・データ項目を含む、受け取ることと、次に、マスク・データを格納することとを含む。方法は、現在のエポックの満了時に、データ・プロバイダ・コンピュータから、現在の暗号化鍵及び新しいエポックにおける暗号化スキームのための新しい暗号化鍵に依存するマスク更新データを受け取ることをさらに含む。マスク更新データを用いて、格納されたマスク・データ内の、現在の暗号化鍵を用いて生成された各マスク・データ項目を、新しい暗号化鍵を用いて生成されたマスク・データ項目に更新する。
本発明の実施形態は、データ・プロバイダ・コンピュータ又はデータ・ユーザ・コンピュータにより実行可能であり、コンピュータに上述のような方法を実行させるプログラム命令を具体化するコンピュータ可読ストレージ媒体をそれぞれが含むコンピュータ・プログラム製品を提供する。少なくとも1つの付加的な実施形態は、上述した方法を実施するように適合されたデータ・プロバイダ・コンピュータ又はデータ・ユーザ・コンピュータを含むシステムを提供する。
添付図面を参照して、例証及び限定されない例として、本発明の実施形態を以下により詳細に説明する。
ここで、添付図面を参照して、単なる例として、本発明の実施形態を説明する。
本発明を具体化するデータ・マスキング・スキームを実装するためのシステムの概略図である。 図1のシステムにおけるコンピュータの一般化した概略図である。 データ・マスキング・スキームの動作における、システム1において実行されるステップを示す。 データ・マスキング・スキームの動作における、システム1において実行されるステップをさらに示す。 データ・マスキング・システムの実施形態において実行されるより詳細なステップを示す。 データ・マスキング・システムの実施形態において実行されるより詳細なステップをさらに示す。 データ・マスキング・システムの別の実施形態において実行されるより詳細なステップを示す。 データ・マスキング・システムの別の実施形態において実行されるより詳細なステップをさらに示す。
本発明は、システム、方法、及び/又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの:すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び/又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び/又はエッジ・サーバを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、及び/又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実行するためのプロセスを提供するようにすることもできる。
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
図1に示されるシステム1は、ネットワーク4(ここで、ネットワーク4は、一般に、1つ又は複数のコンポーネント・ネットワーク、及び/又はインターネットを含む相互ネットワークを含む)を介して通信するように動作可能な、データ・プロバイダ・コンピュータ2及びデータ・ユーザ・コンピュータ3を含む。データ・プロバイダ(DP)コンピュータ2は、DPコンピュータ2に動作可能に結合された、ここではデータベース5で表されるストレージ内のデータセットにアクセスすることができる。データベース5は、動作中、データ・ユーザ(DU)コンピュータ3に送られるデータを含む。DPコンピュータ2は、それにより必要に応じて、データにアクセスし、データをマスクし、DUコンピュータ3に送ることができる、動的データ・マスキング・プロセスを実施する。特に、DUコンピュータ3に送られるデータは、常に、データを送り出する前にマスクしなければならない特定のデータ項目を含み得る。こうしたデータ項目は、DPコンピュータ2において予め定められており、例えば、当該データのタイプ、カテゴリ、性質、位置等によって、いずれかの従来の方法で定めることができる。例えば、DPコンピュータ2は、マスクされるデータ項目を決定するマスキング規則のセットを実装することができる。個々のデータ項目は、例えば、データ・フィールド、又はその部分(例えば、バイト)、又はデータのいずれかの他の定められた単位を含み得る。しかしながら、特定のデータ項目及び適用されるマスキング基準は、本明細書で説明されるマスキング・スキームとは別問題である。DUコンピュータ3は、ネットワーク4を介してマスク・データを受け取り、マスク・データを、本明細書ではDUコンピュータ3に動作可能に結合されたデータベース6により表されるストレージ内に格納する。以下に説明されるように、DUコンピュータ3は、データベース6内に格納されるマスク・データをさらに管理する。
システム1内に実装されるマスキング・スキームは、連続的期間、すなわち「エポック(epoch)」内に機能する。手短に言えば、任意の所定のエポックeにおいて、そのエポックの間、DPコンピュータ2により送り出されたデータは、マスキング鍵kを用いてマスクされる。任意のエポックeの満了時、新しいマスキング鍵ke+1が、DPコンピュータ2における新しいエポックに対して生成される。新しいマスキング鍵との一貫性を保つために、DUコンピュータ3において、以前に送り出されたマスク・データの鍵も再生成される。以下にさらに説明されるように、鍵再生成動作は、DPコンピュータ2により与えられるマスク更新データを用いる。
エポックは、システム1において様々な方法で定めることができ、異なるエポックは、固定した又は可変の期間を有することができる。例えば、新しいエポックは、規則的な間隔で定期的に開始することができ、その期間は、所望のように設定することができる。新しいエポックは、何らかのイベント、例えばシステムにおける悪意の介入の検出に応答して開始することもできる。
DPコンピュータ2は、データ所有者により操作することができ、データセット5は、データ所有者により格納された専用データを含むことができる。代替的に、DPコンピュータ2は、データ所有者の代わりにデータ・マスキングを実行するように委ねられたエンティティにより操作することができる。従って、一般に、マスクされるデータセットは、DPコンピュータ2にローカルのストレージ装置に格納すること、又は、例えば別のコンピュータ(例えば、データ所有者のコンピュータ)とのネットワーク上の通信を介して、DPコンピュータ2にアクセス可能な遠隔ストレージ装置内に格納することができる。
データ・ストレージ5、6は、一般に、1つ又は複数のデータ・ストレージ媒体を含むいずれかの便利なデータ・ストレージ装置を含むことができる。典型的な実装は、磁気又は光ディスクのような1つ又は複数のディスクを含むディスク・ストレージ装置を含み、それらは、例えばハードディスク・ドライブ内などコンピュータの内部にあってもよく、又は、例えばRAIDアレイのようなディスクドライブ・アレイ内など外部からアクセス可能なディスク装置により提供され得る。
DPコンピュータ2及びDUコンピュータ3の各々は、汎用又は専用コンピュータにより実装することができ、本明細書で説明される動作を実施するための機能を提供する1つ又は複数の(実又は仮想)マシンを含むことができる。この機能は、ハードウェア若しくはソフトウェア、又はその組み合わせで実装される論理により提供することができる。こうした論理は、コンピューティング装置によって実行される、プログラム・モジュールのようなコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造等を含むことができる。コンピューティング装置は、通信ネットワークを通じてリンクされる遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施することができる。分散型クラウド・コンピューティング環境において、データ及びプログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体内に配置することができる。
図2のブロック図は、システム1のコンピュータ2、3を実装するための例示的なコンピューティング装置を示す。装置は、本明細書では、汎用コンピューティング・デバイス10の形態で示される。コンピュータ10のコンポーネントは、処理ユニット11、システム・メモリ12、及びシステム・メモリ12を含む種々のシステム・コンポーネントを処理ユニット11に結合するバス13により表される1つ又は複数のプロセッサのような処理装置を含むことができる。
バス13は、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、及び種々のバス・アーキテクチャのいずれかを用いるプロセッサ又はローカル・バスを含む、幾つかのタイプのバス構造のうちのいずれかの1つ又は複数を表す。限定ではなく例としては、このようなアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture、ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture、MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカル・バス、及びPeripheral Component Interconnect(PCI)バスを含む。
コンピュータ10は、典型的には、種々のコンピュータ可読媒体を含む。このような媒体は、揮発性及び不揮発性媒体、並びに取り外し可能及び取り外し不能媒体を含む、コンピュータ10によりアクセス可能ないずれかの利用可能媒体とすることができる。例えば、システム・メモリ12は、ランダム・アクセス・メモリ(RAM)14及び/又はキャッシュ・メモリ15のような、揮発性メモリの形のコンピュータ可読媒体を含むことができる。コンピュータ10は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取り外し不能の不揮発性磁気媒体(一般的に「ハードドライブ」と呼ばれる)との間の読み書きのために、ストレージ・システム16を設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピー・ディスク」)との間の読み書きのための磁気ディスクドライブと、CD−ROM、DVD−ROM又は他の光媒体などの取り外し可能な不揮発性光ディスクとの間の読み書きのための光ディスクドライブとを設けることもできる。こうした例においては、それぞれを、1つ又は複数のデータ媒体インターフェースによりバス13に接続することができる。
メモリ12は、本発明の実施形態の機能を実行するように構成された1つ又は複数のプログラム・モジュールを有する少なくとも1つのプログラム製品を含むことができる。限定ではなく例として、メモリ12内に、プログラム・モジュール18のセット(少なくとも1つ)を有するプログラム/ユーティリティ17、並びにオペレーティング・システム、1つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを格納することができる。オペレーティング・システム、1つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの何らかの組み合わせの各々は、ネットワーキング環境の実装形態を含み得る。プログラム・モジュール18は、一般に、本明細書で説明されるような本発明の実施形態の機能及び/又は方法を実行する。
コンピュータ10は、キーボード、ポインティング・デバイス、ディスプレイ20等のような1つ又は複数の外部デバイス19;ユーザがコンピュータ10と対話することを可能にする1つ又は複数のデバイス;及び/又はコンピュータ10が1つ又は複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス(例えば、ネットワーク・カード、モデム等)と通信することもできる。このような通信は、入力/出力(I/O)インターフェース21を経由して行うことができる。さらに、コンピュータ10は、ネットワーク・アダプタ22を介して、ローカル・エリア・ネットワーク(LAN)、汎用広域ネットワーク(WAN)、及び/又はパブリック・ネットワーク(例えば、インターネット)などの1つ又は複数のネットワークと通信することもできる。示されるように、ネットワーク・アダプタ22は、バス13を介して、コンピュータ10の他のコンポーネントと通信する。図示されないが、コンピュータ10と共に他のハードウェア及び/又はソフトウェア・コンポーネントも使用できることを理解されたい。例として、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部のディスクドライブ・アレイ、RAIDシステム、テープ・ドライブ、及びデータ・アーカイブ・ストレージ・システム等が含まれる。
システム1の動作の前の設定手順において、DPコンピュータ2は、第1のエポックe=0についての第1のマスキング鍵kを生成する。説明される実施形態において、各エポックeについてのマスキング鍵kは、決定的暗号化スキームENCのための(少なくとも)1つの暗号化鍵sを含む。(決定的暗号化スキームは、鍵kの下で平文Xを暗号化するための暗号化アルゴリズムEnc(k,X)が、常に同じ鍵k及び平文Xについて同じ暗号文を生成するスキームである。)図3及び図4は、システム1の後の動作における動的データ・マスキング・スキームの基本的ステップを示す。
図3は、現在のエポックeにおけるDPコンピュータ2とDUコンピュータ3との間のデータ転送のために実行されるステップを示す。ステップ30において、DPコンピュータ2は、DUコンピュータ3に送られるデータにアクセスする。供給されるデータは、例えば、処理のために送り出されるオリジナルのデータセットの部分として、又はDuコンピュータ3からのデータ要求に応答して、又は新しいデータがデータベース5において利用可能になるときなど、様々な方法で決定され得る。いずれの場合も、DPコンピュータ2は、データベース5にアクセスして、必要なデータを取り出す。ステップ31において、DPコンピュータは、先に説明したマスキング基準に従ってマスクしなければならない、送られるデータにおいて、ここではxで示される任意のデータ項目を識別する。データが、これらの所定のデータ項目xの少なくとも1つを含むと仮定して、次に、DPコンピュータは、ステップ32〜34のプロセスを介して、マスク・データを生成する。特に、各データ項目xについて、ステップ32において、DPコンピュータ2は、ここではFで示される一方向性関数(one way function)を(少なくとも)そのデータ項目xに適用し、hで示される第1の値を生成する。(当技術分野において周知のように、一方向性関数は、逆関数にするのが困難な関数である。つまり、入力Xに適用されるとき、関数は出力Yを生成し、Yが与えられたときのX(X given Y)を推測するのは困難である(すなわち、計算的に実行不可能である)。ステップ33において、次に、DPコンピュータは、現在のエポックeについての現在の暗号化鍵sを用いて、決定的暗号化スキームENCを介して第1の値hを暗号化することにより、マスク・データ項目yi,eを生成する。ステップ34において、DPコンピュータ2は、オリジナルのデータ項目xを、送られるデータ内の対応するマスク・データ項目yi,eに置換する。ステップ35において、DPコンピュータ2は、ネットワーク4を介して、結果として得られるマスク・データ(マスク・データ項目及びマスクされていないデータ項目の両方を含み得る)をDUコンピュータ3に送る。ステップ36においてマスク・データを受け取ることに応答して、DUコンピュータは、マスク・データをデータベース6内に格納し、データ転送は完了する。
図4は、現在のエポックeの満了時に、システム1において実行されるステップを示す。ステップ40において、DPコンピュータ2は、新しいエポック(e+1)における暗号化スキームENCについての新しい暗号化鍵se+1を生成する。ステップ41において、DPコンピュータ2は、ここではδで示されるマスク更新データを生成する。マスク更新データδは、現在の暗号化鍵s及び新しい暗号化鍵se+1に依存し、DUコンピュータ3において、現在の暗号化鍵sを用いて生成されたマスク・データ項目yi,eを、新しい暗号化鍵se+1を用いて生成されたマスク・データ項目yi,e+1に更新することを可能にする。ステップ42において、DPコンピュータ2は、マスク更新データδをDUコンピュータ3に送り、ステップ43において、エポック・カウンタeを(e+1)に更新する。従って、新しい暗号化鍵se+1が、新しい現在のエポックにおける更なるデータ転送のための現在の暗号化鍵sになる。ステップ44におけるマスク更新データδの受信に応答して、DUコンピュータ3は、マスク更新データを用いて、データベース6に格納されたマスク・データの鍵を再生成する。特に、DUコンピュータ3は、マスク更新データδを用いて、各々のマスク・データ項目yi,e(古い現在の暗号化鍵seを用いて生成された)を、新しい現在の暗号化鍵se+1を用いて生成されたマスク・データ項目yi,e+1に更新する。次に、更新プロセスは終了する。
図4のプロセスは、新しいエポック及び各々の後の新しいエポックの満了時に再び実行され、これにより、暗号化鍵sは、各々の新しいエポックについて更新され、新しい暗号化鍵との一貫性のために、マスク更新データδを用いて、DUコンピュータ3に既に送られたマスク・データの鍵を再生成する。新しいエポックにおける、DUコンピュータ3に送られたあらゆる更なるデータも、そのエポックについての現在の暗号化鍵として新しい暗号化鍵を用いて、図3のプロセスを介して転送される。
マスキング・プロセスは、2つの層、すなわち一方向性関数Fを用いる静的な内側層と、決定的暗号化を用いるエポック特有の外側層とを含むことが分かる。これにより、マスキング鍵を更新し、オリジナルのマスクされていないデータ項目xを暴露することなく、各々の新しいエポックについてマスク・データの鍵を再生成することが可能になる。マスキング・プロセスは不可逆的であり、マスクされた値yi、eは、オリジナルのデータxについての情報を公開しない(暗号化鍵sが開示された場合でも)。鍵再生成動作は、ステップ44において信頼できないDUコンピュータによって実行されることがあり、以前のエポックにおいて送り出されたマスク・データと所定のエポックについての新しい暗号化鍵を用いてマスクされたいずれかの更なるデータとの間で参照整合性が保持されることを保証する。従って、スキームは、鍵進化(key evolution)による動的データ・マスキングを提供し、そこで、鍵の曝露は、過去にマスクされたデータの間の関係を開示せず、鍵再生成の場合、前にマスクされたデータの更新は、信頼できないエンティティにより実行され得る。
上記のスキームの実施は、以下のように形式化することができる。
鍵進化動的データ・マスキング。鍵進化動的データ・マスキング・スキームDDMは、データ空間
Figure 2020506597

マスクされた空間
Figure 2020506597

及び以下の条件を満たす多項式時間アルゴリズムDDM.setup、DDM.next、DDM.mask、及びDDM.updのセットからなる。
DDM.setup。アルゴリズムDDM.setupは、データ・プロバイダにより実行される確率的アルゴリズム(probabilistic algorithm)である。セキュリティ・パラメータλの入力時、このアルゴリズムは、システム・パラメータのセットpar、及びエポックe=0についてのマスキング鍵kを戻す。つまり、
Figure 2020506597

であり、ここで、rは、アルゴリズムが確率的であることを表す。
DDM.next。この確率的アルゴリズムも、データ・プロバイダにより実行される。par、エポックe≧0及びそのエポックについてのマスキング鍵kを入力すると、エポックe+1について、マスキング鍵ke+1及びマスク更新値δe+1が出力される。つまり、
Figure 2020506597

である。
DDM.mask。これは、データ・プロバイダにより実行される決定的単射アルゴリズムである。システム・パラメータpar、何らかの入力データ
Figure 2020506597

エポックe及びその対応するマスキング鍵kが与えられた場合、アルゴリズムは、マスクされた値
Figure 2020506597

を出力する。つまり、y←DDM.mask(par,x,e,k)である。
DDM.upd。この決定的アルゴリズムは、データ・ユーザにより実行され、マスク更新値を使用する。エポックeからのマスク・データy及びマスク更新値δe+1の入力時に、DDM.updは、yをye+1に更新し、つまり、ye+1←DDM.upd(y,δe+1)である。
上記のスキームの例示的な実施形態が、以下に詳細に説明される。幾つかの予備的なものを最初に説明する。
決定的対称暗号化。対称暗号化スキームSEは、鍵空間
Figure 2020506597

及び以下の条件を満たす3つの多項式時間アルゴリズムSE.KeyGen、SE.Enc、SE.Decからなる。
SE.KeyGen。鍵生成アルゴリズムSE.KeyGenは、入力としてセキュリティ・パラメータλを取り、暗号化鍵
Figure 2020506597

を生成する確率的アルゴリズムである。つまり、
Figure 2020506597

である。
SE.Enc。決定的暗号化アルゴリズムは、鍵
Figure 2020506597

及びメッセージ
Figure 2020506597

を取り、ここで、
Figure 2020506597

は、メッセージ空間であり、暗号文Cを戻す。s及びmに対してSE.Encを実行する動作のために、C←SE.Enc(s,m)と書き、Cは、出力暗号文を示すものとする。
SE.Dec。決定的暗号化アルゴリズムSE.Decは、鍵
Figure 2020506597

及び暗号文Cを取り、メッセージ
Figure 2020506597

を戻し、ここで、
Figure 2020506597

は、エラー記号を示す。s及びCに対してSE.Decを実行する動作のために、m←SE.Dec(s,C)と書き、mは、出力メッセージを示すものとする。
ハッシュ関数。我々は、ハッシュ関数
Figure 2020506597

をさらに使用し、ここで、
Figure 2020506597

は、ハッシュ関数のファミリーを示し、ハッシュ鍵
Figure 2020506597

を選択することにより、特定のインスタンスが選択される。入力xについてのハッシュ計算は、
Figure 2020506597

として示される。我々の構成において、我々は、(弱い)衝突困難性(collision resistant)があり、疑似乱数であり、逆関数にするのが困難な(一方向の)ハッシュ関数を使用する。
決定ディフィー・ヘルマン・グループ(Decisional Diffie−Hellman Groups)。以下の第2の構成は、決定ディフィー・ヘルマン仮定に基づく。我々は、決定ディフィー・ヘルマン・パラメータ生成器を多項式時間アルゴリズムDDHgenとして定義し、これは、セキュリティ・パラメータλの入力時に、位数pの巡回群
Figure 2020506597

の記載と共に整数pを生成する。
鍵進化DDMスキームのプライバシー。DDMの主要目的は、データ値のプライバシーを達成し、相手方がマスクされた値についての情報を得ることができず、それらを、過去のエポックにおいてマスクされた入力データにリンクできないことを保証することである。我々は、マスクされた値のプライバシーについての3つの区別性(indistinguishability)ベースの概念、及び相手方がマスキングを逆にし、以下のように、マスクされたものからの入力値の回復を不可能にする1つの概念について言及する。
IND−HOCH:正直な所有者(Honest Owner)とホストの破損(Corrupted Host)との区別性。これは、DDMの鍵進化動的態様に焦点を合わせた最も基本的なセキュリティ基準である。これは、正直であるべき所有者(データ・プロバイダ)を考慮し、対話の間、ホスト(データ・ユーザ)の破損を許容する。相手方は、妥協後の全てのエポックについての更新値にアクセスし、さらに、(大まかに言うと)破損前にマスクされた値を識別することができないはずである。
IND−COHH。ホストの破損(Corrupted Host)と正直な所有者(Honest Owner)との区別性。いずれかの時点における所有者(データ・プロバイダ)の破損をモデル化し、相手方は、妥協したエポックのマスキング鍵及び所有者の全ての秘密を学習する。その後、相手方は、所有者を制御することができるが、破損前にマスクされた値の間の対応を学習する必要はない。ホスト(データ・ユーザ)は、(大部分は)正直なままであると考えられる。
IND−COTH:所有者の破損(Corrupted Owner)とホストの一時的破損(Transiently Corrupted Host)との区別性。最初の2つの概念の改良点として、相手方は、その選択に従った複数のエポックの間、ホスト(データ・ユーザ)を一時的に破損させることがあり、また、所有者(データ・プロバイダ)を一度破損させることもある。相手方は、ホストを破損させる場合、特定のエポックの更新値を学習し、所有者を破損させる場合、エポックのマスキング鍵を学習する。所有者の秘密を暴露する前にマスクされたデータ値は、リンク不能なままにする必要がある。
不可逆性:この概念は、所有者(データ・プロバイダ)が第1のエポックにおいて完全に破損し、従って、相手方が全ての秘密を知るシナリオをモデル化する。さらに、マスキング動作は、マスクされた値の観察が、入力空間からの対応する入力を推測するための利点を相手方に与えないという点で、一方向性であるべきである。
図5及び図6は、決定的対称暗号化スキームSE=(SE.KeyGen,SE.Enc;SE.Dec)、及び衝突計算困難性鍵付きハッシュ関数
Figure 2020506597

のファミリーに基づいた、鍵進化データ・マスキング・スキームDDMSEを用いるシステム1の動作を示す。この構成において、各エポックeについてのマスキング鍵kは、暗号化スキームSEについての離散ランダム対称鍵sと、データ・プロバイダの長期(固定)秘密ハッシュ鍵hkとを含む。エポックe=0についての初期マスキング鍵k=(s,hk)は、
Figure 2020506597

を計算し、
Figure 2020506597

を選択することにより、設定動作においてDPコンピュータ2により生成される。
最初に図5のデータ転送手順を参照すると、ステップ50及びステップ51は、それぞれ図3のステップ30及びステップ31に対応する。ステップ52において、マスクされる各データ項目xについて、DPコンピュータ2は、ハッシュ関数
Figure 2020506597

をそのx及び秘密ハッシュ鍵hkに適用することにより、第1の値hを計算する、すなわち、
Figure 2020506597

ステップ53において、DPコンピュータ2は、現在のエポックeについての暗号化鍵sを用いて、暗号化スキームSEを介してハッシュ値hを暗号化することにより、マスク・データ項目yi,eを生成する、すなわち、yi,e←SE.Enc(s,h)。後のステップ54〜56は、図3のステップ34〜36に対応する。
図6の更新プロセスは、各々の現在のエポックeの満了時に実行される。ステップ60において、DPコンピュータ2は、次のエポックについての新しい暗号化鍵se+1を、
Figure 2020506597

として生成する。ステップ61において生成されたマスク更新データは、現在の暗号化鍵sと、新しい暗号化鍵se+1とを含む、すなわち、δ=(s,se+1)。ステップ62においてδをDUコンピュータ3に送った後、DPコンピュータは、s及びδを削除し、ステップ63において、エポック・カウントeを更新する。従って、新しい暗号化鍵se+1は、新しいエポックにおけるデータ転送のための現在の暗号化鍵sになる。ステップ64においてマスク更新データδ=(s,se+1)を受信すると、DUコンピュータ3は、データベース6内に格納されたマスク・データの鍵を再生成する。鍵再生成は、(a)復号アルゴリズムSE.Decを介して現在の暗号化鍵sを用いて各マスク・データ項目yi,eを復号して、第1の値hを得ること、及び(b)新しい暗号化鍵se+1を用いて暗号化アルゴリズムSE.Encを介して第1の値hを再暗号化し、これによりyi,e+1を得ることによって達成される。次に、DUコンピュータは、ステップ65においてマスク更新データδを削除し、更新プロセスが完了する。
上記の構成は、次のように、鍵進化DDMスキームのアルゴリズムに関して定めることができる。
DDMSE.setup(λ)
(a)対称暗号化鍵sを得るために、
Figure 2020506597

を実行する。
(b)ハッシュ鍵
Figure 2020506597

をランダムに選ぶ。
(c)k←(s,hk)及び
Figure 2020506597

とする。(par,k)を出力する。
DDMSE.next(par,e,k)。
(a)kを(s,hk)としてパースする。
(b)対称暗号化鍵se+1を得るために、
Figure 2020506597

を実行する。
(c)ke+1←(se+1,hk)とし、δe+1=(s,se+1)とする。
(d)(ke+1,δe+1)を出力する。
DDMSE.mask(par,x,e,k)。
(a)kを(s,hk)としてパースする。
(b)値
Figure 2020506597

を計算する。
(c)yi,eを出力する。
DDMSE.upd(yi,e,δe+1)。
(a)δe+1を(s,se+1)としてパースする。
(b)値yi,e+1←SE.Enc(se+1,SE.Dec(s,y))を計算する。
(c)yi,e+1を出力する。
前述の構成は、IND−HOCH及びIND−COHHのセキュリティ概念、並びに不可逆性要件を達成する効率的なDDMスキームを与える。
図7及び図8は、プロキシ再暗号化方式で更新が実行される離散対数仮定に基づいて、鍵進化データ・マスキング・スキームDDMDLを用いるシステム1の動作を示す。このスキームもまた、衝突困難性鍵付きハッシュ関数
Figure 2020506597

のファミリー及び決定的暗号化スキームを用いる。しかしながら、このスキームにおいて、マスク更新データは、現在及び新しい暗号化鍵s、se+1の所定の関数δを含み、暗号化スキームは、暗号化鍵kの下で値Xを暗号化するためのアルゴリズムEnc(k,X)を含み、Enc(δ,(Enc(s,X))=Enc(se+1,X)となる。その結果、マスク・データ項目は、暗号化鍵k=δを用いてアルゴリズムEnc(k、X)を介し、各マスク・データ項目を暗号化することによって更新できることになる。
既述のように、各エポックeについてのマスキング鍵kは、ランダム・エポック特有鍵sと、データ・プロバイダの長期ハッシュ鍵hkとを含む。エポックe=0における初期マスキング鍵k=(s,hk)は、設定動作において、DPコンピュータ2により生成される。この例においては、鍵sは、指数
Figure 2020506597

をランダムに選択することにより生成され、ここで、
Figure 2020506597

は、pを法とする整数の群である。ハッシュ鍵は、
Figure 2020506597

を選択することにより、既述のように生成される。
図7のデータ転送手順において、ステップ70〜72は、それぞれ図5のステップ50〜52に対応する。ここでステップ73において、DPコンピュータ2は、アルゴリズム
Figure 2020506597

を介して暗号化鍵sを用いてデータ項目xについてのハッシュ値hを暗号化することによって、マスク・データ項目yi,eを生成する、すなわち、
Figure 2020506597

後のステップ74〜76は、図5のステップ54〜56に対応する。図8の更新プロセスにおいて、DPコンピュータ2は、ステップ80において新しい暗号化鍵se+1
Figure 2020506597

として生成する。ステップ81において、現在及び新しい暗号化鍵の商として、マスク更新データが生成される:δ=se+1/s。ステップ82において、δをDUコンピュータ3に送った後、ステップ83において、DPコンピュータは、s及びδを削除し、エポック・カウントeを更新する。従って、新しい暗号化鍵se+1は、新しいエポックにおけるデータ転送のための現在の暗号化鍵sとなる。ステップ84においてマスク更新データδ=se+1/sを受信すると、DUコンピュータ3は、暗号化鍵k=δを用いてアルゴリズムEnc(k,X)を介して各マスク・データ項目yi,eを暗号化することによって、データベース6内のマスク・データの鍵を再生成する。従って、
Figure 2020506597

であり、これにより、マスク・データ項目は、yi,e+1に更新される。ステップ85において、DUコンピュータはマスク更新データδを削除し、更新プロセスは終了する。
第2の構成は、次のように、鍵進化DDMスキームのアルゴリズムに関して定めることができる。
DDMDL.setup(λ)。
(a)指数
Figure 2020506597

及びハッシュ鍵
Figure 2020506597

をランダムに選ぶ。
(b)k←(s,hk)及び
Figure 2020506597

とする。(par,k)を出力する。
DDMDL.next(par,e,k)。
(a)kを(s,hk)としてパースする。
(b)指数
Figure 2020506597

をランダムに選ぶ。
(c)ke+1←(se+1,hk)とし、δe+1=se+1/Sとする。
(d)(ke+1,δe+1)を出力する。
DDMDL.mask(par,x,e,k)。
(a)kを(s,hk)としてパースする。
(b)
Figure 2020506597

を計算する。
(c)yi,eを出力する。
DDMSE.upd(yi,e,δe+1)。
(a)
Figure 2020506597

を計算する。
(b)yi,e+1を出力する。
第2の構成は、不可逆性及び3つのセキュリティ概念IND−HOCH、IND−COHH、及びIND−COTHの全てを達成する、並外れてセキュアで効率的なDDMスキームを与える。マスクされた値を更新するために、データ・ユーザには、暗号化鍵自体は与えられず、現在及び新しい指数の商だけが与えられる。このことは、データ・ユーザがマスク・データを一貫して更新することを可能にするが、更新プロセスにおける内部ハッシュを公開せず、エポックにわたるマスクされた値の非連結性(unlinkability)を保証し、従って、IND−COTHセキュリティの最強の概念を満足させる。
上記の実施形態は、証明可能なセキュアな(provably-secure)暗号法に基づいた動的データ・マスキング・スキームを提供し、信頼できないドメインにおけるマスク・データの効率的かつ一貫した鍵再生成により鍵進化をサポートすることが分かるであろう。
もちろん、説明される例示的な実施形態に対して、多くの変更及び修正をなすことができる。例えば、当業者であれば、アルゴリズムEnc(k,X)及びEnc(δ,(Enc(s,X))=Enc(se+1,X)を満たすマスク更新値δのための代替的な構成も考えることができる。内部マスキング層において、他の一方向性関数Fを使用することもできる。また、この層内の静的秘密鍵hkの使用によりセキュリティが付加されるが、幾つかの実施形態においては、静的鍵hkを用いずに、一方向性関数をデータ項目xに適用することができる。例えば内部ハッシュhを公開しない実施形態において、静的鍵の使用はあまり重要でない。
上の第1の構成は、対称暗号化スキームを用いるが、効率の低下はあるが、所望であれば、非対称暗号化スキームを用いることもできる。非対称暗号化を用いる場合、暗号化及び復号のために異なる鍵対の鍵が用いられ、それにより、マスク更新データは、現在のエポックについての復号鍵、及び次のエポックについての暗号化鍵を含む。さらに、具体的な例は、動的データ・マスキング・スキームを説明するが、説明される原理を静的データ・マスキング・シナリオにおいて利点に適用することもできる。
本発明の種々の実施形態の説明は、例証の目的で提示したものであるが、網羅的であることも、又は開示された実施形態に限定することも意図しない。説明される実施形態の範囲から逸脱することなく、多くの修正及び変形が当業者には明らかであろう。本明細書で用いられる用語は、実施形態の原理、実際的な用途、若しくは市場において見いだされる技術に優る技術的改善を最も良く説明するように、又は当業者が本明細書で開示される実施形態を理解することを可能にするように、選択されたものである。
1:システム
2:データ・プロバイダ(DP)コンピュータ
3:データ・ユーザ(DU)コンピュータ
4:ネットワーク
5、6:データベース(データ・ストレージ)
10:コンピュータ
11:処理ユニット
12:メモリ
13:バス
18:プログラム・モジュール
19:外部デバイス

Claims (25)

  1. データ・プロバイダ・コンピュータにおけるデータ・マスキングのためのコンピュータ実施方法であって、
    プロセッサ・システムを用いて、データ・ユーザ・コンピュータに送られるデータにアクセスすることと、
    前記プロセッサ・システムを用いて、前記送られるデータ内の少なくとも1つの所定のデータ項目に対して、一方向性関数をそのデータ項目に適用して第1の値を生成し、現在のエポックについての現在の暗号化鍵を用いて決定的暗号化スキームを介して前記第1の値を暗号化することによりマスク・データ項目を生成し、そのデータ項目を前記マスク・データ項目に置換することにより、マスク・データを生成することと、
    前記マスク・データを前記データ・ユーザ・コンピュータに送ることと、
    前記現在のエポックの満了時に、新しいエポックにおける前記暗号化スキームのための新しい暗号化鍵を生成し、前記現在の及び新しい暗号化鍵に依存するマスク更新データを生成し、前記マスク更新データを前記データ・ユーザ・コンピュータに送ることと、
    を含み、
    前記マスク更新データは、前記データ・ユーザ・コンピュータにおいて、前記現在の暗号化鍵を用いて生成されたマスク・データ項目を、前記新しい暗号化鍵を用いて生成されたマスク・データ項目に更新することを可能にする、方法。
  2. 前記新しいエポック及び後の新しいエポックの各々の満了時に、前記新しい暗号化鍵を生成し、前記マスク更新データを生成し、前記マスク更新データを前記データ・ユーザ・コンピュータに送るステップを実行することを含む、請求項1に記載の方法。
  3. 前記新しいエポックの少なくとも一部の各々の間、
    前記データ・ユーザ・コンピュータに送られる更なるデータにアクセスすることと、
    前記更なるデータについて、そのエポックについての前記現在の暗号化鍵として前記新しい暗号化鍵を用いてマスク・データを生成し、前記更なるマスク・データを前記データ・ユーザ・コンピュータに送るステップを実行することと、
    を含む、請求項2に記載の方法。
  4. 前記暗号化スキームは、対称暗号化スキームを含み、前記マスク更新データは、前記現在の暗号化鍵及び前記新しい暗号化鍵を含む、請求項1に記載の方法。
  5. 前記一方向性関数を前記データ項目及び前記データ・プロバイダ・コンピュータの秘密鍵に適用して前記第1の値を生成することを含む、請求項4に記載の方法。
  6. 前記一方向性関数は、ハッシュ関数を含む、請求項5に記載の方法。
  7. 前記マスク更新データは、前記現在の及び新しい暗号化鍵の所定の関数δを含み、前記暗号化スキームは、
    が前記現在の暗号化鍵であり、se+1が前記新しい暗号化鍵である場合に、
    Enc(δ,(Enc(s,X))=Enc(se+1,X)
    となるように、暗号化鍵kの下で値Xを暗号化するためのアルゴリズムEnc(k,X)を含む、請求項1に記載の方法。
  8. 前記アルゴリズムEnc(k,X)=X及びδ=se+1/sである、請求項7に記載の方法。
  9. 前記一方向性関数を前記データ項目及び前記データ・プロバイダ・コンピュータの秘密鍵に適用して前記第1の値を生成することを含む、請求項8に記載の方法。
  10. 前記一方向性関数は、ハッシュ関数を含む、請求項9に記載の方法。
  11. データ・ユーザ・コンピュータにおいてマスク・データを管理するためのコンピュータ実施方法であって、
    プロセッサ・システムを用いて、データ・プロバイダ・コンピュータからマスク・データを受け取ることであって、前記マスク・データは、一方向性関数をデータ項目に適用して第1の値を生成し、現在のエポックについての現在の暗号化鍵を用いて決定的暗号化スキームを介して前記第1の値を暗号化することにより生成される少なくとも1つのマスク・データ項目を含む、受け取ることと、
    メモリを用いて、前記マスク・データを格納することと、
    前記現在のエポックの満了時に、前記データ・プロバイダ・コンピュータから、前記現在の暗号化鍵及び新しいエポックにおける前記暗号化スキームのための新しい暗号化鍵に依存するマスク更新データを受け取ることと、
    前記マスク更新データを用いて、前記格納されたマスク・データ内の、前記現在の暗号化鍵を用いて生成された各マスク・データ項目を、前記新しい暗号化鍵を用いて生成されたマスク・データ項目に更新することと、
    を含む、方法。
  12. 前記新しいエポック及び後の新しいエポックの各々の満了時に、
    前記データ・プロバイダ・コンピュータから、そのエポックについての前記暗号化鍵及び次のエポックにおける前記暗号化スキームのための新しい暗号化鍵に依存するマスク更新データを受け取ることと、
    そのマスク更新データを用いて、前記格納されたマスク・データ内の各マスク・データ項目を、前記新しい暗号化鍵を用いて生成されたマスク・データ項目に更新することと、
    を含む、請求項11に記載の方法。
  13. 前記新しいエポックの少なくとも一部の各々の間、
    前記データ・プロバイダ・コンピュータから、前記一方向性関数をデータ項目に適用して第1の値を生成し、そのエポックについての前記暗号化鍵を用いて前記暗号化スキームを介して前記第1の値を暗号化することにより生成される少なくとも1つのマスク・データ項目を含む更なるマスク・データを受け取ることと、
    前記更なるマスク・データを格納することと、
    を含む、請求項12に記載の方法。
  14. 前記暗号化スキームは対称暗号化スキームを含み、前記マスク更新データは、前記現在の暗号化鍵及び前記新しい暗号化鍵を含み、前記方法は、
    前記マスク更新データを用いて、前記暗号化スキームの復号アルゴリズムを介して、前記現在の暗号化鍵を用いてそのマスク・データ項目を復号して前記第1の値を取得し、前記新しい暗号化鍵を用いて前記暗号化スキームを介して前記第1の値を再暗号化することにより、前記格納されたマスク・データ内の各マスク・データ項目を更新することを含む、請求項11に記載の方法。
  15. 前記マスク更新データは、前記現在の及び新しい暗号化鍵の所定の関数δを含み、前記暗号化スキームは、
    が前記現在の暗号化鍵であり、se+1が前記新しい暗号化鍵である場合に、
    Enc(δ,(Enc(s,X))=Enc(se+1,X)
    となるように、暗号化鍵kの下で値Xを暗号化するためのアルゴリズムEnc(k,X)を含み、前記方法は、
    前記マスク更新データを用いて、前記暗号化鍵k=δを用いて前記アルゴリズムEnc(k,X)を介してそのマスク・データ項目を暗号化することにより、前記格納されたマスク・データ内の各マスク・データ項目を更新することを含む、請求項11に記載の方法。
  16. 前記アルゴリズムEnc(k,X)=X及びδ=se+1/sである、請求項15に記載の方法。
  17. データ・マスキングのためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、プログラム命令を含み、前記プログラム命令は、データ・プロバイダ・コンピュータにより実行可能であり、前記データ・プロバイダ・コンピュータに、
    データ・ユーザ・コンピュータに送られるデータにアクセスすることと、
    前記送られるデータ内の少なくとも1つの所定のデータ項目に対して、一方向性関数をそのデータ項目に適用して第1の値を生成し、現在のエポックについての現在の暗号化鍵を用いて決定的暗号化スキームを介して前記第1の値を暗号化することによりマスク・データ項目を生成し、そのデータ項目を前記マスク・データ項目に置換することにより、マスク・データを生成することと、
    前記マスク・データを前記データ・ユーザ・コンピュータに送ることと、
    前記現在のエポックの満了時に、新しいエポックにおける前記暗号化スキームのための新しい暗号化鍵を生成し、前記現在の及び新しい暗号化鍵に依存するマスク更新データを生成し、前記マスク更新データを前記データ・ユーザ・コンピュータに送ることと、
    を行わせ、
    前記マスク更新データは、前記データ・ユーザ・コンピュータにおいて、前記現在の暗号化鍵を用いて生成されたマスク・データ項目を、前記新しい暗号化鍵を用いて生成されたマスク・データ項目に更新することを可能にする、コンピュータ・プログラム。
  18. 前記プログラム命令は、前記データ・プロバイダ・コンピュータに、前記新しいエポック及び後の新しいエポックの各々の満了時に、前記新しい暗号化鍵を生成し、前記マスク更新データを生成し、前記マスク更新データを前記データ・ユーザ・コンピュータに送るステップを実行させるように、さらに実行可能である、請求項17に記載のコンピュータ・プログラム。
  19. 前記プログラム命令は、
    前記一方向性関数を前記データ項目及び前記データ・プロバイダ・コンピュータの秘密鍵に適用して前記第1の値を生成し、
    前記マスク更新データは、前記現在の及び新しい暗号化鍵の所定の関数δを含み、
    前記暗号化スキームは、sが前記現在の暗号化鍵であり、se+1が前記新しい暗号化鍵である場合に、Enc(δ,(Enc(s,X))=Enc(se+1,X)となるように、暗号化鍵kの下で値Xを暗号化するためのアルゴリズムEnc(k,X)を含む、ように実行可能である、請求項17に記載のコンピュータ・プログラム。
  20. マスク・データを管理するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、プログラム命令を含み、前記プログラム命令は、データ・ユーザ・コンピュータにより実行可能であり、前記データ・ユーザ・コンピュータに、
    データ・プロバイダ・コンピュータから、一方向性関数をデータ項目に適用して第1の値を生成し、現在のエポックについての現在の暗号化鍵を用いて決定的暗号化スキームを介して前記第1の値を暗号化することにより生成される少なくとも1つのマスク・データ項目を含むマスク・データを受信することに応答して、前記マスク・データを格納することと、
    前記データ・プロバイダ・コンピュータから、前記現在のエポックの満了時に、前記現在の暗号化鍵及び新しいエポックにおける前記暗号化スキームのための新しい暗号化鍵に依存するマスク更新データを受信することに応答して、前記マスク更新データを用いて、前記格納されたマスク・データ内の、前記現在の暗号化鍵を用いて生成された各マスク・データ項目を、前記新しい暗号化鍵を用いて生成されたマスク・データ項目に更新することと、
    を行わせる、コンピュータ・プログラム。
  21. 前記プログラム命令は、前記データ・ユーザ・コンピュータに、
    前記新しいエポック及び後の新しいエポックの各々の満了時に、前記データ・プロバイダ・コンピュータから、そのエポックについての前記暗号化鍵及び次のエポックにおける前記暗号化スキームのための新しい暗号化鍵に依存するマスク更新データを受け取ることに応答して、そのマスク更新データを用いて、前記格納されたマスク・データ内の各マスク・データ項目を、前記新しい暗号化鍵を用いて生成されたマスク・データ項目に更新すること、
    を行わせるようにさらに実行可能である、請求項20に記載のコンピュータ・プログラム。
  22. 前記マスク更新データは、前記現在の及び新しい暗号化鍵の所定の関数δを含み、
    前記暗号化スキームは、sが前記現在の暗号化鍵であり、se+1が前記新しい暗号化鍵である場合に、Enc(δ,(Enc(s,X))=Enc(se+1,X)となるように、暗号化鍵kの下で値Xを暗号化するためのアルゴリズムEnc(k,X)を含み、前記プログラム命令は、前記データ・ユーザ・コンピュータに、前記マスク更新データを用いて、暗号化鍵k=δを用いて前記アルゴリズムEnc(k、X)を介してそのマスク・データ項目を暗号化することにより、前記格納されたマスク・データ内の各マスク・データ項目を更新させるように実行可能である、請求項20に記載のコンピュータ・プログラム。
  23. ネットワークを介して通信するように動作可能なデータ・プロバイダ・コンピュータ及びデータ・ユーザ・コンピュータを含むシステムであって、
    前記データ・プロバイダ・コンピュータは、
    データ・ユーザ・コンピュータに送られるデータにアクセスし、
    前記送られるデータ内の少なくとも1つの所定のデータ項目に対して、一方向性関数をそのデータ項目に適用して第1の値を生成し、現在のエポックについての現在の暗号化鍵を用いて決定的暗号化スキームを介して前記第1の値を暗号化することによりマスク・データ項目を生成し、そのデータ項目を前記マスク・データ項目に置換することにより、マスク・データを生成し、
    前記マスク・データを前記データ・ユーザ・コンピュータに送り、
    前記現在のエポックの満了時に、新しいエポックにおける前記暗号化スキームのための新しい暗号化鍵を生成し、前記現在の及び新しい暗号化鍵に依存するマスク更新データを生成し、前記マスク更新データを前記データ・ユーザ・コンピュータに送る、
    ように適合され、
    前記データ・ユーザ・コンピュータは、前記データ・プロバイダ・コンピュータから前記マスク・データを受け取ることに応答して、前記マスク・データを格納し、前記データ・プロバイダ・コンピュータから前記マスク更新データを受け取ることに応答して、前記マスク更新データを用いて、前記格納されたマスク・データ内の、前記現在の暗号化鍵を用いて生成された各マスク・データ項目を、前記新しい暗号化鍵を用いて生成されたマスク・データ項目に更新するように適合される、システム。
  24. 前記データ・プロバイダ・コンピュータは、前記新しいエポック及び後の新しいエポックの各々の満了時に、前記新しい暗号化鍵を生成し、前記マスク更新データを生成し、前記マスク更新データを前記データ・ユーザ・コンピュータに送るようにさらに適合され、
    前記データ・ユーザ・コンピュータは、前記新しいエポックの各々の満了時に、前記データ・プロバイダ・コンピュータから前記マスク更新データを受け取ることに応答して、前記マスク更新データを用いて、前記格納されたマスク・データ内の各マスク・データを、前記新しい鍵を用いて生成されるマスク・データ項目に更新するようにさらに適合される、請求項23に記載のシステム。
  25. 前記データ・プロバイダ・コンピュータは、前記一方向性関数を前記データ項目及び前記データ・プロバイダ・コンピュータの秘密鍵に適用して前記第1の値を生成するように適合され、前記マスク更新データは、前記現在の及び新しい暗号化鍵の所定の関数δを含み、前記暗号化スキームは、sが前記現在の暗号化鍵であり、se+1が前記新しい暗号化鍵である場合に、Enc(δ,(Enc(s,X))=Enc(se+1,X)となるように、暗号化鍵kの下で値Xを暗号化するためのアルゴリズムEnc(k,X)を含むように適合され、
    前記データ・ユーザ・コンピュータは、前記マスク更新データを用いて、暗号化鍵k=δを用いて前記アルゴリズムEnc(k、X)を介してそのマスク・データ項目を暗号化することにより、前記格納されたマスク・データ内の各マスク・データを更新するように適合される、請求項23に記載のシステム。
JP2019539767A 2017-01-27 2018-01-02 データ・マスキング Pending JP2020506597A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/417,851 2017-01-27
US15/417,851 US10754970B2 (en) 2017-01-27 2017-01-27 Data masking
PCT/IB2018/050012 WO2018138587A1 (en) 2017-01-27 2018-01-02 Data masking

Publications (1)

Publication Number Publication Date
JP2020506597A true JP2020506597A (ja) 2020-02-27

Family

ID=62978393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019539767A Pending JP2020506597A (ja) 2017-01-27 2018-01-02 データ・マスキング

Country Status (6)

Country Link
US (3) US10754970B2 (ja)
JP (1) JP2020506597A (ja)
CN (1) CN110214325B (ja)
DE (1) DE112018000143T5 (ja)
GB (1) GB2574141B (ja)
WO (1) WO2018138587A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754970B2 (en) 2017-01-27 2020-08-25 International Business Machines Corporation Data masking
US10572262B2 (en) * 2017-07-17 2020-02-25 Arm Limited Register mapping of register specifiers to registers depending on a key value used for mapping at least two of the register specifiers
EP3794766A1 (en) * 2018-05-14 2021-03-24 Nchain Holdings Limited Computer-implemented systems and methods for using a blockchain to perform an atomic swap
US11200218B2 (en) 2019-04-17 2021-12-14 International Business Machines Corporation Providing consistent data masking using causal ordering
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
CN114039915B (zh) * 2020-07-20 2023-04-18 美商光禾科技股份有限公司 根据存取控制列表进行封包处理的方法和系统
US20220035939A1 (en) * 2020-08-03 2022-02-03 Jpmorgan Chase Bank, N.A. Method and system for dynamic data masking
US20220123935A1 (en) * 2020-10-19 2022-04-21 International Business Machines Corporation Masking sensitive information in a document
CN112182657B (zh) * 2020-10-26 2022-06-28 天津市城市规划设计研究总院有限公司 城市规划中大数据的脱敏方法
US11907402B1 (en) 2021-04-28 2024-02-20 Wells Fargo Bank, N.A. Computer-implemented methods, apparatuses, and computer program products for frequency based operations
US11941151B2 (en) * 2021-07-16 2024-03-26 International Business Machines Corporation Dynamic data masking for immutable datastores
CN114205142B (zh) * 2021-12-09 2023-05-30 建信金融科技有限责任公司 数据传输方法、装置、电子设备和存储介质
US11934327B2 (en) * 2021-12-22 2024-03-19 Microsoft Technology Licensing, Llc Systems and methods for hardware acceleration of data masking using a field programmable gate array

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206474A (ja) * 2002-12-25 2004-07-22 Internatl Business Mach Corp <Ibm> 識別情報生成装置、識別情報解決装置及びこれらを用いた情報システム、並びに、これらの制御方法及びプログラム
JP2005252384A (ja) * 2004-03-01 2005-09-15 Rikogaku Shinkokai 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法
JP2011019129A (ja) * 2009-07-09 2011-01-27 Nec Corp データ管理システム及びデータ管理方法
US20150149208A1 (en) * 2013-11-27 2015-05-28 Accenture Global Services Limited System for anonymizing and aggregating protected health information

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69828401D1 (de) 1998-10-12 2005-02-03 St Microelectronics Srl Verschlüsselungs-Methode und -Station für Paketvermittlungsnetzwerke auf der Grundlage digitaler chaotischer Modelle
US20020041684A1 (en) * 1999-01-29 2002-04-11 Mototsugu Nishioka Public-key encryption and key-sharing methods
WO2002062054A2 (en) * 2000-10-26 2002-08-08 General Instrument Corporation Initial viewing period for authorization of multimedia content
KR100657273B1 (ko) * 2004-08-05 2006-12-14 삼성전자주식회사 비밀 그룹에서 구성원 가입에 따른 그룹키 갱신 방법 및이를 이용한 비밀 그룹 통신 시스템
US9106409B2 (en) * 2006-03-28 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for handling keys used for encryption and integrity
US8130959B2 (en) * 2006-09-07 2012-03-06 International Business Machines Corporation Rekeying encryption for removable storage media
JP2008269173A (ja) * 2007-04-18 2008-11-06 Hitachi Ltd 計算機システム、ストレージシステムおよびデータ管理方法
CN101246789A (zh) * 2007-12-27 2008-08-20 北京儒田科技有限公司 多档微动开关
US8271747B2 (en) 2008-07-31 2012-09-18 Rambus Inc. Mask key selection based on defined selection criteria
US20100185843A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Hardware encrypting storage device with physically separable key storage device
US8375224B2 (en) * 2009-11-10 2013-02-12 Oracle International Corporation Data masking with an encrypted seed
US8892598B2 (en) * 2010-06-22 2014-11-18 Cleversafe, Inc. Coordinated retrieval of data from a dispersed storage network
JP5827467B2 (ja) * 2010-11-12 2015-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 電子文書中の部分テキストデータをマスクする方法、装置、サーバ及びコンピュータプログラム
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
US8726139B2 (en) * 2011-12-14 2014-05-13 Advanced Micro Devices, Inc. Unified data masking, data poisoning, and data bus inversion signaling
WO2013136324A1 (en) 2012-02-21 2013-09-19 Green Sql Ltd. Dynamic data masking system and method
TWI616762B (zh) * 2012-12-12 2018-03-01 財團法人資訊工業策進會 動態資料遮罩方法以及資料庫系統
US8817988B1 (en) * 2012-12-31 2014-08-26 Emc Corporation Variable epoch scheduler for proactive cryptography systems
US9626517B2 (en) * 2013-01-23 2017-04-18 Seagate Technology Llc Non-deterministic encryption
US10148430B1 (en) * 2013-04-17 2018-12-04 Amazon Technologies, Inc Revocable stream ciphers for upgrading encryption in a shared resource environment
US10460314B2 (en) * 2013-07-10 2019-10-29 Ca, Inc. Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions
US9087205B2 (en) * 2013-10-11 2015-07-21 Sap Se Shared encrypted storage
JP6208586B2 (ja) * 2014-01-16 2017-10-04 株式会社日立製作所 検索可能暗号処理システムおよび検索可能暗号処理方法
US9390283B2 (en) * 2014-04-02 2016-07-12 International Business Machines Corporation Controlling access in a dispersed storage network
US11563566B2 (en) * 2014-10-27 2023-01-24 Micro Focus Llc Key splitting
CN106156650B (zh) 2015-04-16 2019-11-19 深圳市腾讯计算机系统有限公司 数据保护系统及方法
CN106126220A (zh) 2016-06-21 2016-11-16 乐视控股(北京)有限公司 一种数据管理方法及装置
US10754970B2 (en) * 2017-01-27 2020-08-25 International Business Machines Corporation Data masking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206474A (ja) * 2002-12-25 2004-07-22 Internatl Business Mach Corp <Ibm> 識別情報生成装置、識別情報解決装置及びこれらを用いた情報システム、並びに、これらの制御方法及びプログラム
JP2005252384A (ja) * 2004-03-01 2005-09-15 Rikogaku Shinkokai 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法
JP2011019129A (ja) * 2009-07-09 2011-01-27 Nec Corp データ管理システム及びデータ管理方法
US20150149208A1 (en) * 2013-11-27 2015-05-28 Accenture Global Services Limited System for anonymizing and aggregating protected health information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
長谷部 浩司 ほか: "複数組織にまたがる疫学調査におけるプライバシー確保のための大容量耐タンパー装置HiGATEの適用方式", マルチメディア,分散,協調とモバイル(DICOMO2010)シンポジウム論文集, vol. 第2010巻,第1号, JPN6021029600, 30 June 2010 (2010-06-30), JP, pages 1755 - 1764, ISSN: 0004564128 *

Also Published As

Publication number Publication date
GB2574141B (en) 2020-05-20
CN110214325B (zh) 2023-07-28
US20200089903A1 (en) 2020-03-19
US20180218166A1 (en) 2018-08-02
DE112018000143T5 (de) 2019-07-25
GB2574141A (en) 2019-11-27
US10740484B2 (en) 2020-08-11
CN110214325A (zh) 2019-09-06
US20180218164A1 (en) 2018-08-02
GB201911905D0 (en) 2019-10-02
WO2018138587A1 (en) 2018-08-02
US10754970B2 (en) 2020-08-25
US11194921B2 (en) 2021-12-07

Similar Documents

Publication Publication Date Title
JP2020506597A (ja) データ・マスキング
JP6941183B2 (ja) データのトークン化
US20190356666A1 (en) Generating Cryptographic Function Parameters From Compact Source Code
TW202013928A (zh) 多方安全計算方法及裝置、電子設備
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
TW202009776A (zh) 多方安全計算方法及裝置、電子設備
Chen et al. Onion ring ORAM: efficient constant bandwidth oblivious RAM from (leveled) TFHE
CN102855452B (zh) 基于加密组块的快速数据加密策略遵从
Hao et al. Deleting secret data with public verifiability
US10880100B2 (en) Apparatus and method for certificate enrollment
US11902424B2 (en) Secure re-encryption of homomorphically encrypted data
JP2022531497A (ja) 一方向接続を介したデジタル資産所有物の移転
US20190327088A1 (en) Method for Leakage-Resilient Distributed Function Evaluation with CPU-Enclaves
US11075753B2 (en) System and method for cryptographic key fragments management
CA2983166A1 (en) Generating cryptographic function parameters based on an observed astronomical event
JP2023535040A (ja) マスターキーエスクロープロセス
US11569985B2 (en) Preserving inter-party data privacy in global data relationships
US10572635B2 (en) Automatic correction of cryptographic application program interfaces
US11921877B2 (en) Efficient random tokenization in the cloud
JP5513255B2 (ja) 代理署名システム、方法
Abraham et al. Proving possession and retrievability within a cloud environment: A comparative survey
Gagged et al. Improved secure dynamic bit standard technique for a private cloud platform to address security challenges
US20230161907A1 (en) Method and system for unifying de-identified data from mulitple sources
Baby et al. COBBS: a multicloud architecture for better business solutions
Renuka Devi et al. Securing Shared Data Based on Homomorphic Encryption Schemes

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190918

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210805

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20210916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220329

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20220513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220531