JP2018523228A - データ隠蔽によるセキュリティ - Google Patents

データ隠蔽によるセキュリティ Download PDF

Info

Publication number
JP2018523228A
JP2018523228A JP2017568472A JP2017568472A JP2018523228A JP 2018523228 A JP2018523228 A JP 2018523228A JP 2017568472 A JP2017568472 A JP 2017568472A JP 2017568472 A JP2017568472 A JP 2017568472A JP 2018523228 A JP2018523228 A JP 2018523228A
Authority
JP
Japan
Prior art keywords
file
obfuscated
data
data file
obfuscated data
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
JP2017568472A
Other languages
English (en)
Other versions
JP6397590B2 (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.)
Cryptomove inc
Original Assignee
Cryptomove inc
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 Cryptomove inc filed Critical Cryptomove inc
Publication of JP2018523228A publication Critical patent/JP2018523228A/ja
Application granted granted Critical
Publication of JP6397590B2 publication Critical patent/JP6397590B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES 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/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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Respiratory Apparatuses And Protective Means (AREA)

Abstract

コンピュータネットワーク上に分散されたデータストアに格納されるデータのセキュリティを向上させることに関する方法、デバイス及び実施形態。一例では、保護されることになるソースデータは複数のファイルにパーティショニングされ、ファイルのそれぞれは、例えば暗号化のようにして難読化され、それにより複数の難読化データファイルが作成される。どのようにして難読化データファイルのそれぞれが難読化されたかに関する情報は、関連するトレースファイルに格納される。複数の難読化データファイルは、複数の難読化データファイルのそれぞれを異なるランダムに選択されたコンピュータに送信ことを含むデータ移動プロセスによって、コンピュータネットワークのあちこちに移動させられる。ここで、該コンピュータは、難読化データを及びトレースファイルをさらに難読化して、該難読化データ及びトレースファイルを次のランダムに選択されたコンピュータに送信する。【選択図】図4

Description

関連出願の相互参照
本出願は、2015年5月19日に出願された米国仮特許出願第62/163,804号に対する優先権を主張するものであり、その全ての内容が参照により本明細書に組み込まれる。
セキュリティは、コンピュータネットワークにおいて重要な関心事である。データを保護する1つの方法は、ファイアウォール、パスワード、ドングル、物理キー、分離、生体認証又は他の手段のような静的セキュリティ手段を介して、コンピュータネットワークへの認可されない侵入を防ぐことである。このような対策にもかかわらず、攻撃者はそのような理論的に安全なネットワークへのアクセスを得ている。攻撃者がネットワークへのアクセスを得ると、攻撃者は多くの場合、名前、生年月日、社会保障番号、銀行口座情報、クレジットカード情報、知的財産等のような機密データを入手することができる。攻撃者は、このような情報を、小売業者、健康保険会社、銀行等のような大手企業から入手することに成功している。場合によっては、攻撃者は、セキュアなネットワーク、ストレージデバイス等へのアクセスが認可された従業員又はその他の人物のような、「内部」の攻撃者である。このような場合、攻撃者は、セキュアなネットワークへの認可されない侵入を防ぐいずれの境界セキュリティをもバイパスする必要なく、悪意のある目的で機密データを入手することができる。
本明細書では、コンピュータネットワーク上に分散されたデータストアに格納されたデータのセキュリティを向上させる技術について提示する。ユーザがコンピュータ化された永続データストア内に秘密情報を暗号化して保存する際、保存されたデータは、暗号攻撃の標的になることがよくある。攻撃の間に、標的の秘密についてのデータ(例えば、標的の秘密を含む暗号化データ)を入手することは、暗号解読の試みのシーケンスにおいて必要なステップである。攻撃の目的は、暗号化データのデコードから、暗号化方法の理解、続く攻撃にて使用するための暗号化キーの発見など、多岐に渡り得る。しかしながら、全ての場合において、攻撃の標的となるデータを識別することは必須条件であり、そのようなデータの識別なしでは暗号攻撃を開始できず、ましてや目的達成に近づくことすら不可能である。
データの識別がなければ、暗号攻撃は役に立たない。本開示の技術は、格納されたデータを難読化し、データ名を変更し、該データを分散されたデータストアのあちこちに移動させ続ける連続的な隠蔽プロセスを可能にする。データの難読化は、データの一部が一致していることの決定を困難にするようにデータを変更することを含む。この動的アプローチのため、認可されない個人(本明細書では「攻撃者」と称する)は、名、サイズ、内容、アクセス時間、使用パターン等によって標的データを識別することができない。したがって、攻撃するべきデータがどれであるかを攻撃者に知られないという理由だけで、攻撃者に標的データを攻撃されることを防ぐことができる。たとえ攻撃者がデータストア全体を掌握しようとしても、データストアがネットワーク上に広がっている場合、攻撃者の勝算は薄い。同時に、本開示の技術によって保護されたデータストアに対する総当たり攻撃は、時間及びコンピューティングリソースの両方のコストが高くなるため、実行不可能である。1つの例では、各ファイルは4つのコピー(3つはバックアップ及び冗長性の目的のため)を伴う12個の部分に分割されており、保護された1つのファイルに対して暗号攻撃を開始する前に該保護されたファイルの在処を特定するだけで、計算によると10,000ファイルの分散データストア内における約2476個の部分の組み合わせを調べなければならない。この数が宇宙の推定原子数(2272個)に比べてどれほど大きいか、考えてみてほしい。本開示の技術は、格納されたデータを連続的に難読化して移動させることにより、特定の保護されたデータファイルの識別を事実上不可能にする。
保護されたファイルの識別を防止することなく、該ファイルの内容及び名を暗号化するだけでは、依然としてセキュリティは危険にさらされている。攻撃者が暗号化されたデータを入手した場合には、攻撃者は暗号化されたデータを復号する可能性がある。あるいは、攻撃者は、そのデータを復号できないにもかかわらず、暗号化されたデータの所有者を脅迫する可能性がある。さらに、今日において安全と考えられている暗号化方法は、解読技術の進歩によって、明日には安全でなくなる可能性がある。場合によっては、攻撃者は膨大な量のコンピューティングリソースを適用することができ、それによって総当たり攻撃を成功させ、結果的に保護されたファイルを復号してその秘密情報にアクセスする可能性がある。加えて、攻撃者は、表面的には難攻不落に思われた暗号化方式を解読する秘密アルゴリズムを所有している可能性がある。したがって、暗号化されたデータを識別可能な攻撃者がいることは、それ自体が深刻なリスクである。
標的ファイルの識別手段が保護されていない場合、攻撃者はファイル名、サイズ、内容、アクセス時間、使用パターン等によって、ファイルを選択できる可能性がある。時には、攻撃者は、内部者の助けを借りる外部者や、データストアを熟知している内部者であることに留意されたい。そのような内部者は、自身の内部者としての知識に基づいて、データを識別できる可能性がある。また、場合によっては、データが残りの部分に対する参照を含んでいるため、必要なデータの一部だけを識別すれば十分である。標的データを分離する能力を拒むことにより攻撃を撃退することは、アクセス制御をバイパスすることに成功した外部の攻撃者だけでなく、悪意あるシステム管理者のような正当なストレージアクセスを有する内部攻撃者に対しても、強力な保護として機能する。
データを保護するためのいくつかの技術は、データが格納されている安全なネットワークへのアクセスを攻撃者が得ることを防止することに依存している。しかしながら、大企業や中小企業におけるコンピュータネットワーク侵害について頻繁に報道されることから明らかなように、そのような静的境界ネットワークセキュリティ技術では、多くの場合において不十分である。
本開示の技術は、データが格納されているネットワークへのアクセスを攻撃者が得ている場合であっても、コンピュータシステム(例えば、企業のコンピュータシステム)がデータを保護することを可能にする。一例において、企業は、初期の難読化プロセス及びデータ移動プロセスを含む連続的な隠蔽プロセスによって、ソースデータを保護する。初期の難読化プロセスは、複数の難読化データファイルをソースデータに基づいて生成する企業のコンピュータシステムを含んでおり、ここで、ソースデータを再生成するには、該難読化データファイルの全てが必要とされる。初期の難読化プロセスは、ソースデータを難読化してパーティショニングし、結果として複数のファイルを生じさせるコンピュータシステムを含んでいると共に、該複数のファイルのデータを難読化し、結果として複数の難読化データファイルを生じさせるコンピュータシステムをさらに含んでいる。データの難読化は、例えば、選択されたデータの圧縮、パーティショニング、暗号化、ビット分散又は周期的排他的論理和(XOR)等を含むことができるか、なかでも、該選択されたデータへのランダムデータの追加を含むことができる。
この例のデータ移動プロセスは、コンピュータシステムが、難読化データファイルのそれぞれを異なる初期コンピュータシステムに送信することから始まる。初期コンピュータシステムのそれぞれは、既定の間隔の後に、受信した難読化データファイルをさらに暗号化し、ランダムに名を変更し、ランダムに選択されたコンピュータに送信することを含む伝搬プロセスを開始し、このランダムに選択されたコンピュータは、別の既定の間隔の後に、難読化データファイルをさらに暗号化し、ランダムに名を変更し、別のランダムに選択されたコンピュータに送信することを含む伝搬プロセスを継続する。いくつかの実施形態では、該既定の間隔の後に、難読化データファイルは、インテリジェントに選択されたコンピュータに送信される。いくつかの実施形態では、ランダムに選択される名は、一意に生成され、例えば、ランダムに生成される暗号名のように生成される。例えば、名は、暗号化キー又はシードに基づいて、暗号学的に生成され得る。他の実施形態では、ランダムに選択される名は、ランダムだが既定の方法にて生成される。さらに他の実施形態では、難読化データファイルは、インテリジェントに名が変更される。データ移動プロセス中に利用される種々のコンピュータは、企業のプライベートネットワーク上のコンピュータのようにプライベートネットワーク上にあってもよく、1つ以上のクラウドコンピューティングプロバイダ/ストレージプロバイダのネットワーク上のコンピュータのように非結合ネットワーク(unbounded network)の一部であってもよく、それらの任意の組み合わせであってもよい。
攻撃者が本開示の技術によって保護されたデータへのアクセスを得ることに成功するには、攻撃者はまず、保護されたデータについての難読化データファイルの全てにアクセスしなければならない。難読化データファイルはランダムに命名されて(複数の独立した企業のネットワークに広がっていてもよい)コンピュータプールの間でランダムに移動させられるため、難読化データファイルの在処を特定することは、内部攻撃者にとっても非常に困難である。さらに、難読化データファイルの全てがソースデータの再生成に必要とされるため、難読化データファイルの全てを所有していない攻撃者の誰かがソースデータの再生成に成功してしまうことを効果的に防止することができる。
内部攻撃者にとってもソースデータを決定するのが困難であることを示す一例において、企業は、本開示の技術を用いて、データストアに格納された10,000個のソースファイルを保護する。10,000個のソースファイルのそれぞれについての初期の難読化プロセス中では、ソースファイルのそれぞれが処理されて、12個の難読化データファイルが作成される。冗長性とバックアップの理由から、難読化データファイルのそれぞれについて追加の3つのバージョンもまた作成され、それによって難読化データファイルのそれぞれの難読化されたバージョンが合計4つとなり、その結果、データストア内には4×12×10,000個、すなわち480,000個の難読化データファイルが生じる。
選択されたソースデータに対する暗号攻撃を開始するためには、12個の難読化データファイルの正しいセットが識別されると共に、それらを適切に並べる必要がある。しかしながら、これらの480,000個の難読化されたデータファイルは、ファイル名、サイズ、内容、アクセス時間、使用パターン等に基づく区別ができないため、攻撃者は、選択されたソースファイルを再生成するのに必要な12個の難読化データファイルの唯一のセットを識別して順序付けるために、総当たり攻撃を試みる必要が生じる。難読化データファイルの数及び難読化データファイルの並び順に基づく分析によって、難読化データファイルの可能な並び順の組み合わせが2476通り存在することが判明した。前述のように、この数は、宇宙の推定原子数(2272)よりも大きい。
1つ以上の実施形態が、添付の図面における図中に例として示される。これらの図面において、同様の参照符号は、同様の要素を示す。
図1は、種々の実施形態と一致する、ネットワーク環境の図である。 図2は、種々の実施形態と一致する、データを連続的に隠蔽する方法を示すフロー図である。 図3は、種々の実施形態と一致する、ソースデータを難読化して複数の難読化データファイルを作成する方法を示すフロー図である。 図4は、種々の実施形態と一致する、データ移動プロセスの方法を示すフロー図である。 図5は、種々の実施形態と一致する、種々のコンピューティングデバイス間を移動させられるデータを示す図である。 図6は、種々の実施形態と一致する、ソースデータを再生成する方法を示すフロー図である。 図7は、種々の実施形態と一致する、本明細書に記載された少なくともいくつかの動作を実装され得る処理システムの例を示すブロック図である。
本明細書において、「実施形態」「一実施形態」又はそれに類する語についての参照は、記載されている特定の特徴、機能、構造又は特性が本開示の少なくとも1つの実施形態に含まれることを意味する。このような語句が本明細書に複数現れていたとしても、必ずしも全てが同じ実施形態を指すとは限らない。他方、参照される実施形態は、必ずしも相互に排他的なものではない。
さらに、本明細書において、用語「引き起こす(cause)」及びその変形は、直接的な因果関係又は間接的な因果関係のいずれかを示す。例えば、コンピュータシステムは、第2のコンピュータシステムに対してアクションを実行させるように命令、要求又は問い合わせを行うためのメッセージを送信することにより、該アクションを「引き起こす」ことができる。このプロセス中には、任意の数の仲介デバイスが、該メッセージを検査及び/又は中継してもよい。このとき、最終的にアクションが実行されるかどうかをデバイスが知り得なくても、該デバイスは動作を「引き起こす」ことができる。
本明細書では、メッセージや信号等の他のデバイス(受信デバイス)への送信又は伝達についての任意の参照は、その情報内容が最終的に受信デバイスまで配信されるという意図を伴ってメッセージが送信されることを意味することに留意されたい。したがって、そのような参照は、メッセージが受信デバイスに直接送信されなければならないことを意味しない。すなわち、他に述べられていない限り、受信者デバイスへの配信の前にメッセージ又は信号を「そのまま」又は改変された形式のいずれかにて受信及び転送する、1つ以上の仲介エンティティが存在し得る。この明確化はまた、本明細書におけるメッセージ/信号の他のデバイスからの受信についての任意の参照にも適用される。すなわち、本明細書にて他に述べられていない限り、直接的なポイントツーポイント通信は必要とされない。
また、本明細書では、メッセージや信号等の他のデバイス(受信デバイス)への送信又は伝達についての参照は、その情報内容が最終的に受信デバイスまで配信されるという意図を伴ってメッセージが送信されることを意味することに留意されたい。したがって、そのような参照は、メッセージが受信デバイスに直接送信されなければならないことを意味しない。すなわち、他に述べられていない限り、受信者デバイスへの配信の前にメッセージ又は信号を「そのまま」又は改変された形式のいずれかにて受信及び転送する、1つ以上の仲介エンティティが存在し得る。この明確化はまた、本明細書におけるメッセージ/信号の他のデバイスからの受信についての任意の参照にも適用される。すなわち、本明細書にて他に述べられていない限り、直接的なポイントツーポイント通信は必要とされない。
図1は、種々の実施形態と一致する、ネットワーク環境の図である。ネットワーク環境100は、ファイアウォールによって保護されている3つのネットワークである、企業ネットワーク110、第1のネットワーク140及び第2のネットワーク170を含む。3つのネットワークのそれぞれは、ネットワークの構成要素であるコンピューティングデバイス間のデータ通信を可能にする通信ネットワークを含む。例えば、企業ネットワーク110は、通信ネットワーク115を含み、通信ネットワーク115は、複数のデバイス(例えば、デバイス125A、デバイス125N等。まとめて「複数のデバイス125」と称する)を含んでおり、複数のデバイス125が互いに通信することを可能にし、ファイアウォール120を備えている、等である。第1のネットワーク140は、通信ネットワーク145を含み、通信ネットワーク145は、複数のデバイス(例えば、デバイス155A、デバイス155N等。まとめて「デバイス155」と称する)を含んでおり、複数のデバイス155が互いに通信することを可能にし、ファイアウォール150を備えている、等である。第2のネットワーク170は、通信ネットワーク175を含み、通信ネットワーク175は、複数のデバイス(例えば、デバイス185A、デバイス185N等。まとめて「デバイス185」と称する)を含んでおり、複数のデバイス185が互いに通信することを可能にし、ファイアウォール180を備えている、等である。
3つのネットワークのそれぞれのファイアウォールは、認可されないネットワークトラフィックをネットワーク内に入れないことによってネットワークを保護する障壁として機能する。例えば、ファイアウォール120は企業ネットワーク110を保護し、ファイアウォール150は第1のネットワーク140を保護し、ファイアウォール180は第2のネットワーク170を保護する。パブリック通信ネットワーク105は、パブリックネットワークであって、例えば、インターネット又は任意の他のパブリックネットワークである。パブリック通信ネットワーク105は、複数のデバイス(例えば、デバイス130A、デバイス130N等)を含んでおり、デバイス130、ファイアウォール120、ファイアウォール150、ファイアウォール180等が全て互いに通信することを可能にする。
通信ネットワーク115,145及び175、並びに、パブリック通信ネットワーク105は、コンピュータ間のデータ通信を可能にする任意のタイプのネットワークであり得る。種々の実施形態では、通信ネットワーク115,145及び175、並びに、パブリック通信ネットワーク105のうちの1つ以上が、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、仮想プライベートネットワーク(VPN)、プライベートネットワーク、パブリックネットワーク、セルラーネットワーク、短距離無線ネットワーク、無線ローカルエリアネットワーク(WLAN)等のいずれかであり得る、又は、それを含み得る。セルラーネットワークは、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、グローバル移動通信システム(GSM)、ロングタームエボリューション(LTE)、2G、3G、4G等のような種々のタイプのいずれかであり得る。短距離無線ネットワークは、短距離無線通信に使用され、ブルートゥース、ブルートゥース低エネルギー(BLE)、近距離通信(NFC)等の種々のタイプのいずれかであり得る。同様に、WLANは、とりわけ、種々のタイプのIEEE802.11ネットワークのような種々のタイプのいずれかであり得る。パブリック通信ネットワーク105は、インターネットのよう任意のタイプのパブリック通信ネットワークであり得る。
デバイス125,130,155及び185は、任意のタイプのコンピューティングデバイスであり得、とりわけ、コンピューティングデバイスは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ファイルサーバ、ネットワーク接続ストレージ(NAS)デバイス、モバイルデバイス又はサーバであり得る。モバイルデバイスの例には、スマートフォン、タブレット、ポータブルメディアデバイス、ウェアラブルデバイス、ラップトップ及び他のポータブルコンピュータが含まれる。
いくつかの実施形態では、第1のネットワーク140は、第1のクラウドストレージ又はコンピューティングプロバイダを表し、第2のネットワーク170は、第2のクラウドストレージ又はコンピューティングプロバイダを表し、第1及び第2のクラウドストレージ又はコンピューティングプロバイダは、別々の独立した企業である。
図2は、種々の実施形態と一致する、データを連続的に隠蔽する方法を示すフロー図である。ブロック205では、コンピュータシステムが、ソースデータを受信する。該コンピュータシステムは、任意のタイプのコンピューティングデバイスであり得、とりわけ、例えば図1のデバイス125,130,155又は180のうちいずれかであり得る。さらに、コンピュータシステムは、種々の機構のいずれかによって、ソースデータを受信することができる。例えば、別のコンピュータシステムは、ソースデータをコンピュータシステムに送信することができ、そのコンピュータシステムは、該ソースデータを受信する。別の例としては、ユーザは、コンピュータシステムの入力機構を介して、ソースデータを入力することができる。入力機構の例には、ワードプロセッサアプリケーション、スプレッドシートアプリケーション、音声認識アプリケーション、光学認識アプリケーション、キーボード、マイクロフォン、カメラ等が含まれる。
ブロック210では、コンピュータシステムは、ソースデータを難読化して、それにより複数の難読化データファイルを作成する。複数の難読化データファイルは、難読化データファイルの1つ以上のセットを含むことができ、ソースデータを再生成するには、任意の選択された難読化データファイルのセットにおける全ての難読化データファイルが必要である。いくつかの実施形態では、冗長性又はバックアップの理由のために、複数セットの難読化データファイルが作成される。複数セットの難読化データファイルが作成された場合には、任意のセットがソースデータを再生成するために使用可能である。
選択されたデータを難読化することは、選択されたデータ又は選択されたデータのバージョンを、1つ以上のアルゴリズムを実行することによって変換することを含んでいる。このようなアルゴリズムとしては、例えば、圧縮アルゴリズム、データパーティショニングアルゴリズム、暗号化アルゴリズム、ビット分散アルゴリズム、データ並べ替えアルゴリズム、周期的排他的論理和(XOR)アルゴリズム等が挙げられる。選択されたデータを難読化することは、選択されたデータ又は選択されたデータのバージョンにランダムデータを追加することによって、選択されたデータを変換することをさらに含み得る。いくつかの実施形態では、暗号化アルゴリズムは、暗号学的に計算されたデジタルダイジェストを選択されたデータに追加する。例えば、暗号化アルゴリズムは、SHA−512アルゴリズムのようなセキュアハッシュアルゴリズム(SHA)を利用することができ、これにより、選択されたデータに暗号学的に計算されたデジタルダイジェストを付加することができる。
選択されたデータのバージョンは、選択されたデータ又は選択されたデータから導出される任意のデータを含んでいる。選択されたデータから導出される任意のデータとしては、例えば、選択されたデータを変換するアルゴリズムを実行することによって、選択されたデータから導出されるデータが挙げられる。さらに、選択されたデータのバージョンから導出されるデータは、それ自体が選択されたデータのバージョンである。例えば、選択されたソースデータのバージョンとしては、以下のいずれかが挙げられる:選択されたソースデータ、選択されたソースデータを入力として採用する圧縮アルゴリズムを実行することにより生成されたデータ、選択されたソースデータを入力として採用する圧縮アルゴリズムを実行することにより生成されたデータを入力として採用する暗号化アルゴリズムを実行することにより生成されたデータ。とりわけ、ブロック210は、図3のフロー図300に示す方法によって実施され得る。ここでは、図3の例を参照することが有用である。
図3は、種々の実施形態と一致する、ソースデータを難読化して複数の難読化データファイルを作成する方法を示すフロー図である。図2のブロック210は、とりわけフロー図300の方法によって実現することができる。ブロック305では、図2のコンピュータシステムのようなコンピュータシステムは、種々の圧縮アルゴリズムのいずれかを実行することによってソースデータ又はソースデータのバージョンを圧縮し、それによりソースデータの圧縮されたバージョンを作成する。
ブロック310では、コンピュータシステムは、種々の並べ替えアルゴリズムのうちの任意のものを実行することによってソースデータ又はソースデータのバージョンを並べ替え、それによりソースデータの並べ替えられたバージョンを生成する。並べ替えアルゴリズムは、ビットレベル、バイトレベル、ワードレベル、ブロックレベルのような任意の選択された粒度にてデータを並べ替えることができる。並べ替えアルゴリズムは、http://www.cse.uconn.edu/~zshi/course/cse5302/ref/yhilewitz_thesis.pdf(アーカイブされたバージョンは、https://web.archive.org/web/20160423040108/http://www.cse.uconn.edu/~zshi/course/cse5302/ref/yhilewitz_thesis.pdfにて入手可能である)に示されるように、当技術分野において周知である。
いくつかの実施形態では、並び順データファイルは、難読化データファイルと併せてデータストア内に格納される。難読化データファイルのそれぞれは、関連する並び順データファイルを有し得る。この関連する並び順データファイルは、どのようにして関連する難読化データファイルの並び順アルゴリズムを逆転させるかに関する情報を含んでいる。並び順データファイルは、他の任意の難読化データファイル又は並び順データファイルとしてデータストア内に格納される。図2のブロック205のソースデータのようなソースデータについて、p個のファイル(例えばブロック210、ブロック320)にパーティショニングされ、各ファイルがc個のコピーを有する場合、データストア内には2×p×c個の関連するデータファイルが格納され得る。このことは、難読化データファイルのそれぞれが、それぞれの並び順を有しており、データ移動プロセス中において、関連する難読化データファイル若しくは他の難読化データファイル、又は他の並び順データファイルとは無関係に、ストア内を移動することに起因する。並び順データファイルは、データ移動プロセス中に難読化データファイルと実質的に同じように移動することができ、このとき並び順データファイルのそれぞれは、それ自体のトレースファイルを伴っている。
並び順データファイルは、コンピューティングデバイスにとって見かけ上区別することができず、該並び順データがコンピューティングデバイスによって他の難読化データファイル又は並び順ファイルと何らの異なる扱いをされることもない。並び順ファイルを移動する際、コンピューティングデバイスは、難読化データファイルと共に送信されるものと同じ種類のパルスメッセージを送信し、並び順データファイルは、ソースデータを再生成する(例えば、図6のブロック625)ためのデータ取得の際に、難読化データファイルと共に取得される。上述のように、コンピューティングデバイスは、データ移動プロセス中と実質的に同様の方法により、並び順データファイル及び難読化データファイルを処理する。しかしながら、ソースデータを再生成するためにデータファイルを取得する際に、起点のコンピュータシステム(例えば、図2のブロック205のコンピュータシステム)が、ソースデータを再生成するために取得された難読化データファイル及び並び順データファイルを受信する場合には、起点のコンピュータシステムは、並び順データファイルのデータを使用して、それにより難読化データファイルのデータの並べ替えを元に戻す。
ブロック315では、コンピュータシステムは、種々の暗号化アルゴリズムのいずれかを実行することによってソースデータ又はソースデータのバージョンを暗号化し、それによってソースデータの暗号化されたバージョンを生成する。いくつかの実施形態では、暗号化アルゴリズムは、暗号化されることになるデータに加えて、暗号化キー又はシードを必要とする。該暗号化キー又はシードは、該コンピュータシステムにとって専用であり得る(例えば、データを暗号化するために専ら該コンピュータシステムによって使用され、他のコンピューティングデバイスによっては使用されない)。例えば、該暗号化キー及びシードは、該コンピュータシステムにとって専用であり得る。
ブロック320では、コンピュータシステムは、種々のデータパーティショニングアルゴリズムのいずれかを実行することにより、ソースデータ又はソースデータのバージョンをパーティショニングして、それにより複数のファイルを作成する。データパーティショニングアルゴリズムは、入力データを複数の出力ファイルに分割し、また、該アルゴリズムは、各出力ファイルが入力データを再生成するのに必要となるように入力データを分割し得る。入力データは、種々の方法のいずれかで分割され得る。例えば、入力データは、均等なサイズ、ランダムなサイズ、準ランダムサイズ等の連続的な部分となるように分割されてもよく、該連続的な部分は、出力ファイルを作成するために使用され得る。ここで、出力ファイルのそれぞれは、連続的な入力データの一部分を含んでいる。別の例としては、入力データは、非連続的なランダムに選択された部分(例えば、ビット、バイト、ワード、ブロック等)、準ランダムに選択された部分、決定論的に選択された部分等となるように分割されてもよく、該選択された部分は、出力ファイルを作成するために結合され得る。ここで、出力ファイルのそれぞれは、非連続的な入力データを含んでいる。
ブロック325では、コンピュータシステムは、種々の暗号化アルゴリズムのいずれかを実行することにより、該複数のファイル又は該複数のファイルのバージョンを暗号化して、それにより該複数のファイルの暗号化されたバージョンを作成する。いくつかの実施形態では、暗号化アルゴリズムは、暗号化されることになるデータに加えて、暗号化キー又はシードを必要とする。いくつかの実施形態では、該暗号化キー又はシードは、該コンピュータシステムにとってプライベートであり得る(例えば、暗号化キーは、暗号化アルゴリズムの実行において、いかなる他のコンピューティングデバイスによっても使用されない)。
ブロック330では、コンピュータシステムは、種々のデータパディングアルゴリズムのいずれかを実行することにより、該複数のファイル又は該複数のファイルのバージョンに対して、ランダムに生成されたデータ、準ランダムに生成されたデータ、決定論的に生成されたデータ等を追加して、それにより該複数のファイルのパディングされたバージョンを作成する。該複数のファイルのサイズが異なるいくつかの実施形態では、コンピュータシステムによって追加されたデータによって、該複数のファイルのそれぞれが同じサイズになる。
ブロック335では、コンピュータシステムは、種々の周期的XORアルゴリズムのいずれかを実行することにより、該複数のファイル又は該複数ファイルのバージョンを周期的XOR処理して、それにより該複数ファイルのXOR処理されたバージョンを作成する。一例では、該複数のファイルのうち第1のファイル及び第2のファイルをXOR処理して第1のファイルのバージョンを作成し、該複数のファイルのうち該第2のファイル及び第3のファイルをXOR処理して第2のファイルのバージョンを作成する。いくつかの実施形態では、XOR処理されることになる2つのファイルが同じサイズでない場合、2つのファイルのうちの小さい方に、0、1、ランダムに生成されたデータ、決定論的に生成されたデータ等をパディングして、それによりXORアルゴリズムの実行を容易にする。他の実施形態では、XOR処理されることになる2つのファイルが同じサイズでない場合、両方のファイルの最初のNビット又はNバイトのみをXORする。Nは、例えば、2つのファイルのうち小さい方のサイズに等しいものであり得る。
ブロック340では、コンピュータシステムは、種々のビット分散アルゴリズムのいずれかを実行することにより、該複数のファイル又は該複数のファイルのバージョンをビット分散させて、それにより該複数のファイルのビット分散バージョンを作成する。ビット分散アルゴリズムは、上記のHilewitzの参考文献によって示されているように、当技術分野において周知である。いくつかの実施形態では、データを変換することによってデータを難読化する他のアルゴリズムを実行して、それによりソースデータ又は該複数のファイルのバージョンを作成する。図2のブロック210における複数の難読化データファイルは、ブロック320〜340のいずれかによって作成された該複数のファイルのバージョンであってもよく、ブロック210の一部として実行される他のアルゴリズムによって作成された該複数のファイルのバージョンであってもよい。
図2に戻り、ブロック215では、コンピュータシステムは、難読化データファイルに対応するトレースファイルを生成する。いくつかの実施形態では、トレースファイルのそれぞれが単一の難読化データファイルにマッピングされ、難読化データファイルのそれぞれが単一のトレースファイルにマッピングされるように、難読化データファイルとトレースファイルとの間に1対1のマッピングが存在している。トレースファイルは、トレースファイルがマッピングされた難読化データファイルの作成方法に関する情報を含んでいる。例えば、トレースファイルは、トレースファイルがマッピングされている難読化データファイルを生成するために実行された特定のアルゴリズム、実行された特定のアルゴリズムのシーケンス、実行された特定のアルゴリズムの構成情報等を含み得る。一例では、難読化データファイルにマッピングされるトレースファイルは、難読化ファイルが作成されたことの情報であって、ソースデータに対して最初に特定の圧縮アルゴリズムを実行し、次に特定の並べ替えアルゴリズムを実行し、次に特定の暗号化キー及びシードを用いて特定の暗号化アルゴリズムを実行し、次に制御値の特定のセットを用いて特定のデータパーティションアルゴリズムを実行し、最後に特定の暗号化キー及びシードを用いて特定の暗号化アルゴリズムを実行することによって、該難読化ファイルが作成されたことの情報を含んでいる。
いくつかの実施形態では、コンピュータシステムが特定のソースデータを再生成することを可能にするために、特定のソースデータに対応する難読化データファイルのセットへのアクセスを必要とすることに加えて、コンピュータシステムは、難読化データファイルのセットに対応するトレースファイルへのアクセスを必要としてもよい。難読化データファイルが必要とされるのは、特定のソースデータの情報(難読化された形式ではあるが)が難読化データファイルに含まれているためである。トレースファイルが必要とされるのは、難読化データファイルに基づいて特定のソースデータを再生成する方法に関する情報がトレースファイルに含まれているためである。特定の作成プロセスに従って難読化データファイルが作成された場合、トレースファイルは、作成プロセスを逆行させることができる情報であって、該特定のソースデータを該難読化データファイルに基づいて再生成させることができる情報を含んでいる。
トレースファイルは、トレースファイルがマッピングされた難読化データファイルの識別情報をさらに含み得る。識別情報は、難読化データファイルを確実に識別することを可能にする。いくつかの実施形態では、識別情報は、難読化データファイルの内容に基づいてハッシュアルゴリズムにより生成されるハッシュ値であり、該ハッシュアルゴリズムは、難読化データファイルの内容に対して一意である。換言すると、難読化データファイルのデータとは異なるデータを包含するいかなるファイルも、該難読化データファイルとは異なるハッシュ値を有することになる。
ブロック220では、コンピュータシステムは、難読化データファイル及びトレースファイルをコンピューティングデバイスに送信して、それによりデータ移動プロセスを可能にする。とりわけ、ブロック220のコンピューティングデバイスは、例えば、図1のデバイス125,130,155又は185のいずれかであり得る。いくつかの実施形態では、コンピュータシステムは、第1のコンピューティングデバイスをコンピューティングデバイスのセットからランダムに、準ランダムに、決定論的に等により選択し、該コンピュータシステムは、複数の難読化データファイルのうちの第1の難読化データファイルと、第1の難読化データファイルにマッピングされたトレースファイルとを、第1のコンピューティングデバイスに送信する。コンピュータシステムは、第2のコンピューティングデバイスを同様に選択し、複数の難読化データファイルのうちの第2の難読化データファイルと、第2の難読化データファイルにマッピングされたトレースファイルとを、第2のコンピューティングデバイスに送信する。コンピュータシステムが全ての難読化データファイル及び難読化データファイルに対応するトレースファイルをブロック220のコンピューティングデバイスに送信するまで、コンピュータシステムはこのプロセスを繰り返す。
コンピュータシステムが難読化データファイル及びトレースファイルを送信することにより可能になるデータ移動プロセスは、種々のデータ移動プロセスのいずれかであり得る。例えば、ブロック220にて可能になるデータ移動プロセスは、とりわけ、図4のフロー図400に示される方法であり得る。前述のように、攻撃者が本開示の技術によって保護されたデータへのアクセスを得ることに成功するためには、攻撃者はまず、保護されたデータを再生成するのに必要な全ての難読化データファイルにアクセスする必要がある。いくつかの実施形態では、データ移動プロセスは、プール又はコンピューティングデバイスのセット内にて、ランダムに、準ランダムに、決定論的に等により移動させることを含んでいる。結果として、任意の難読化データファイルを任意のコンピューティングデバイス上に配置することができるため、難読化データファイルの在処を特定することは極めて困難である。
さらに、攻撃者が複数の独立した企業のネットワーク上に配置され得る全てのコンピューティングデバイスをフリーズさせることができない限り、特定のソースデータを再生成するのに必要な難読化データファイルを全て得ることは、事実上不可能である。例えば、ソースデータが難読化させられて10個の難読化データファイルが作成された場合、難読化データファイルはそれぞれ、最初は10個の異なるコンピューティングデバイス、すなわち第1のコンピューティングデバイスから第10のコンピューティングデバイスに配置され得る。その時点において、攻撃者は第1のコンピューティングデバイスへのアクセスを得て、第1のコンピューティングデバイス上の全てのファイルのコピーを入手することができる。その後、攻撃者は、第10のコンピューティングデバイスへのアクセスを得ることができる。しかしながら、元は10番目のコンピューティングデバイスにあった難読化データファイルは、既に11番目のコンピューティングデバイスに移動されており、ここで、該難読化データファイルは、別のランダムな名によって名を変更されており、かつ、再度暗号化されている。
この例によって示されるように、攻撃者が全てのコンピューティングデバイスを同じ時間又は実質的に同じ時間にフリーズさせることができない限り、必要な難読化データファイルの全てのコピーを入手することは事実上不可能になる。全ての難読化データファイルがソースデータの再生成に必要とされるいくつかの実施形態では、難読化データファイルの全てを所有していない攻撃者の誰かがソースデータの再生成に成功してしまうことを、効果的に防止することができる。さらに、攻撃者が全てのコンピューティングデバイスを同時にフリーズし、本開示の技術のバージョンを用いて保護された10,000個のファイルを含むデータストアの全てのデータを入手できたとしても、データストアに対する総当たり攻撃は、先に説明した例のように、約2476通りの部分の組み合わせを選別する必要があることになる。加えて、難読化データファイルが移動される途中である場合には、同時フリーズが起こることがある。そのような場合には、該ファイルを含むデータは、完全には格納されておらず、むしろ部分的に格納されてコンピューティングデバイス間を部分的に移動させられる過程にあるため、攻撃者は、難読化データファイルの使用可能なコピーを入手できない可能性がある。
ブロック225では、コンピュータシステムは、難読化データファイル及びトレースファイルをクリーンアップする。選択されたファイルのクリーンアップは、選択されたファイルの削除、選択されたファイルのデータのゼロ消去、選択されたファイルを格納するために以前に利用されたストレージ空間の解放、選択されたファイルに対する(1つ又は複数の)ポインタの除去等のいずれかを含み得る。
図4は、種々の実施形態と一致する、データ移動プロセスの方法を示すフロー図である。図4のデータ移動プロセスは、とりわけ、図2のブロック220にて可能になるデータ移動プロセスであり得る。ブロック405では、コンピューティングデバイスは、難読化データファイル及びトレースファイルを受信する。図4のコンピューティングデバイスは、とりわけ、図1のデバイス125,130,155又は185のいずれかであり得る。ブロック410では、コンピューティングデバイスは、ブロック405で受信された、難読化データファイルの名及びトレースファイルの名を生成する。それぞれの名は、ランダムに生成され、準ランダムに生成され、決定論的に生成される等のような種々の方法のいずれかにて生成され得る。前述のように、ランダムに生成される名は、一意となるように、ランダムだが既定の方法により生成される等、種々の方法にて生成され得る。
ブロック415では、コンピューティングデバイスは、難読化データファイルをさらに難読化して、それにより難読化データファイルの修正されたバージョンを作成する。前述のように、選択されたデータを難読化することは、圧縮アルゴリズム、データパーティショニングアルゴリズム、暗号化アルゴリズム、ビット分散アルゴリズム、データ並べ替えアルゴリズム、周期的排他的論理和(XOR)アルゴリズム等のような1つ以上のアルゴリズムの実行によって、該選択されたデータ又は該選択されたデータのバージョンを変換することを含んでいる。選択されたデータを難読化することは、該選択されたデータ又は該選択されたデータのバージョンにランダムデータを追加することにより、該選択されたデータを変換することをさらに含み得る。一例では、コンピューティングデバイスは、難読化データファイル及び暗号化キーを入力として採用すると共に該難読化データファイルの改変されたバージョンを出力する暗号化アルゴリズムを適用することによって、難読化データファイルを難読化する。この例では、暗号化キーは、コンピューティングデバイスにとって専用にデータを暗号化するために使用され、該暗号化キーは、コンピューティングデバイスにとって専用である。
ブロック420では、コンピューティングデバイスは、さらなる難読化(すなわち、ブロック415のさらなる難読化)に基づいて、トレースファイルを更新する。トレースファイルを更新することにより、ブロック415の難読化を逆行させることができ、それによりブロック405にて受信された難読化データファイルを再生成することができる。一例では、コンピューティングデバイスは、ブロック415の暗号化を逆行させることを可能にする(例えば、ブロック415の出力である暗号化ファイルを復号できることを可能にする)暗号化情報を用いて、トレースファイルを更新する。トレースファイルは、難読化データファイルの改変されたバージョンの識別情報を用いて、さらに更新することができる。このような識別情報としては、例えば、難読化データファイルの改変されたバージョンのハッシュ値等が挙げられる。該識別情報は、難読化データファイルの改変されたバージョンを確実に識別することを可能にする。例えば、トレースファイルは、使用された特定の暗号化アルゴリズム、暗号化アルゴリズムにより使用された任意のパラメータ、使用された暗号化キーに関する情報、難読化データファイルの改変されたバージョンの内容に基づきハッシュアルゴリズムによって生成されるハッシュ値であって、難読化データファイルの改変されたバージョンの確実な識別を可能にするハッシュ値、等に関する情報を用いて更新され得る。
ブロック425では、コンピューティングデバイスは、トレースファイルを難読化して、それによりトレースファイルの改変されたバージョンを作成する。一例では、コンピューティングデバイスは、トレースファイル及び暗号化キーを入力として採用すると共に難読化データファイルの改変されたバージョンを出力する暗号化アルゴリズムを適用することによって、トレースファイルを難読化する。
ブロック430では、コンピューティングデバイスは、パルスメッセージを送信する。パルスメッセージは、トレースファイル若しくは難読化データファイル、又はトレースファイル若しくは難読化データファイルの選択されたバージョンの位置を選択されたコンピュータシステムに通知するために、選択されたコンピュータシステムに送信されるメッセージである。パルスメッセージは、コンピューティングデバイスの識別子を含むことができ、該識別子としては、例えば、コンピューティングデバイスのインターネットプロトコル(IP)アドレス、コンピューティングデバイスの名、コンピューティングデバイスのネットワークインタフェースのメディアアクセス制御(MAC)アドレス、コンピューティングデバイスのシリアル番号又はコンピューティングデバイスのハードウェアコンポーネント等が挙げられる。該識別子は、難読化データファイル又はトレースファイルを取得するために必要な時間の短縮を可能にし得る。選択されたコンピュータシステムは、とりわけ、ソースデータを保護するための初期要求を受信したコンピュータシステムであり得る。例えば、選択されたコンピュータシステムは、図2のブロック205のコンピュータシステムであり得る。
いくつかの実施形態では、トレースファイル又は難読化データファイルが、図4のデータ移動プロセスによって移動させられた際に、パルスメッセージは、トレースファイル又は難読化データファイルが辿った経路と同じ経路を辿る。パルスメッセージは、それぞれのコンピューティングデバイス上にパルス痕跡ファイルを残し、パルスメッセージは、該パルス痕跡ファイルを伝って元のコンピューティングシステム(例えば、図2のステップ205のコンピュータシステム)へと移動する。図5は、データ移動プロセスの複数回の実行によって種々のコンピューティングデバイス間で移動させられる難読化データファイルの一例を示す。パルス痕跡ファイルのそれぞれは、前のパルス痕跡ファイルへのリンクを包含することができ、それにより、選択されたコンピュータシステムからトレースファイル又は難読化データファイルの現在の位置まで導くことが可能なパルス痕跡を含んでいる。
ユーザが本開示の技術によって保護されたデータストアから保存されたファイルを取得する際には、取得するコンピュータシステムは、選択されたコンピュータシステムから全てのトレースファイル又は難読化データファイルの現在位置へとパルス痕跡を辿ると共に、それらのトレースファイル又は難読化データファイルを該取得するコンピュータシステムに戻すよう配信し得る。該取得するコンピュータシステムは、取得されたトレースファイルの情報に基づいて、難読化データファイルを結合すると共に難読化プロセスを逆行させることができ、それによりソースデータを生成する。
いくつかの実施形態では、選択されたパルス痕跡ファイル(パルスファイルとも称する)の名は、パルスメッセージを開始する選択されたトレースファイル名から暗号学的に導出され得る。したがって、トレースファイル名が決して重複しない実施形態では、異なる難読化データファイルについてのパルス痕跡ファイルは、決してそれらの名が重複しない。パルス痕跡ファイルは、一時的なものであり得る。例えば、特定のコンピュータシステムは、同じ難読化データファイル又はトレースファイルに基づく新しいパルスが特定のコンピュータシステムを通過するたびに、既存のパルス痕跡ファイルを削除することができる。いくつかの実施形態では、パルス痕跡ファイルは、データストア内において連続的にその名を変更し、消滅し、異なる名前にて再出現する。このような実施形態において、パルス痕跡ファイルに対する総当たり攻撃の困難さは、難読化データファイルに対する攻撃と非常に類似している。
ブロック435では、コンピューティングデバイスは、既定の時間量だけ待機する。いくつかの実施形態では、ユーザは、既定の時間量を設定ファイル内に入力することによって該既定の量を設定し、コンピューティングデバイスは、設定ファイル又は設定ファイルより導出されたファイルにアクセスして、それにより該既定の時間量を決定する。他の実施形態では、該既定の時間は、ユーザによって設定された後にトレースファイルに追加され、コンピューティングデバイスは、トレースファイルにアクセスして、それにより該既定の時間量を決定する。さらに他の実施形態では、既定の時間量は、とりわけ、ランダムに、準ランダムに、又は、決定論的に決定される。
ブロック440では、コンピューティングデバイスは、max_depthに達したかどうかを決定する。フロー図400に示されるデータ移動プロセスは、複数のコンピューティングデバイスによって、複数回実行され得る。例えば、第1のコンピューティングデバイスは、難読化データファイル及びトレースファイルを受信し、フロー図400の方法を適用して、さらなる難読化データファイル及びトレースファイルを次のコンピューティングデバイスへと送信することができる。この次のコンピューティングデバイスは、フロー図400の方法を適用して、さらに別の難読化データファイル及びトレースファイルを別の次のコンピューティングデバイスに送信すること等ができる。
難読化データファイルがあまり頻繁に(例えば、月に1回)移動されない実施形態のようないくつかの実施形態では、データの再生成には、x移動の頻度が低いために限られた難読化回数による影響を逆行させる必要があるだけであるため、データ移動のそれぞれにおけるブロック415の適用は、さほど多くはない。難読化されたデータが頻繁に(例えば、1時間に1回)移動される実施形態のような他の実施形態では、データの再生成には、移動の頻度が高いために非常に多くの難読化回数による影響を逆行させる必要があり得るため、データ移動のそれぞれにおけるブロック415の適用が非常に多くなる可能性がある。1年の間、難読化データファイルが1時間に1度(フロー図400の処理に続いて)移動させられた場合、ブロック415は8,000回を超えて適用される可能性があり、ソースデータを再生成するには、8,000回を超える難読化の影響を逆行させる必要があり得る。ソースデータを再生成するための8,000回を超える難読化の影響を逆行させるには、8,000回を超える難読化を逆行させるのに必要な計算リソース及び時間が非常に多くなるため、計算処理及び時間が膨大になる可能性がある。例えば、ブロック415の難読化が暗号化アルゴリズムを実行することを含む場合、8,000回を超える暗号化の影響を逆行させるには、8,000回を超える復号を実行する必要がある。
このような状況が起こることを防止するため、いくつかの実施形態では、最大深度(max_depth)値が規定される。max_depth値は、ブロック415の難読化が、データ移動プロセス中に難読化データファイルの複数のバージョンに適用される最大回数に関する制限を設定する。同様に、min_depth値は、ブロック415の難読化が、データ移動プロセス中に難読化データファイルの複数のバージョンに適用される最小回数に関する制限を設定する。いくつかの実施形態では、max_depthは、図5に従って実行されるデータ移動プロセスが順方向503に進んでいる場合のような、データ移動プロセスが順方向に進んでいる場合にのみ到達され得る。ここでは、図5の例を参照することが有用である。図5は、種々の実施形態と一致する、種々のコンピューティングデバイス間を移動させられるデータを示す図である。
図5の例では、第1のランダムデバイス505は、保護されることになるソースデータの初期難読化を遂行して、それにより、例えば図2の方法を実行することによって、データ移動プロセスを可能にする。ソースデータの初期難読化を遂行して(例えば、ブロック210によって)複数の難読化されたデータファイルを作成し、(例えば、ブロック215によって)トレースファイルの初期生成を遂行した後、第1のランダムデバイス505は、難読化データファイル及び関連するトレースファイルを第2のランダムデバイス510に送信して(ステップ507)、それによりデータ移動プロセスを可能にする。ここで、データ移動プロセスは、順方向(例えば、順方向503)で開始する。第2のランダムデバイス510は、(例えば、ブロック415にて作成された)第2世代の難読化データファイル及び(例えば、ブロック425にて作成された)関連するトレースファイルを第3のランダムデバイス515に送信することによって、データ移動プロセスを順方向(例えば、順方向503)に継続し(ステップ512)、ここで第3のランダムデバイス515は、データ移動プロセスを継続する(ステップ517)。第2世代の難読化データファイルは、該難読化データファイルの1つのバージョンである。いくつかの実施形態では、第2世代の難読化データファイルは、ブロック415が難読化データファイルに基づいて2回実行された後における該難読化データファイルの該バージョンである。
データ移動プロセスは、第9のランダムデバイス520によって継続され、ここで第9のランダムデバイス520は、第8世代の難読化データファイルを受信して(ステップ522)、第9世代の難読化データファイル及び関連するトレースファイルを第10のランダムデバイス525に送信する(ステップ527)ことによってデータ移動プロセスを継続する。第10のランダムデバイス525は、(例えば、ブロック415で作成された)第9世代の難読化データファイルをさらに難読化して、それにより第10世代の難読化データファイルを作成する。(例えば、ブロック435によって)既定の時間量待機した後、第10のランダムデバイス525は、該max_depthに到達したと決定する。この例では、max_depthは(例えば、ブロック440によって)10に設定されている。
max_depthに到達したと決定されると、データ移動プロセスは、min_depthに到達するまで逆方向(例えば、逆方向504)に継続される。第10ランダムデバイス525は、(例えば、ブロック445によって)難読化データファイルを難読化解除して第9世代の難読化データファイルを再生成し、第9世代の難読化データファイルを第9のランダムデバイス520に送信し(ステップ532。また、例えばブロック450によっても)、ここで第9のランダムデバイス520は、データ移動プロセスを逆方向504に継続する(ステップ537)。データ移動プロセスは、第3のランダムデバイス515によって逆行して継続され、ここで第3のランダムデバイス515は、再生成された第3世代の難読化データファイルを受信し(ステップ542)、(例えば、ブロック445によって)第3世代の難読化データファイルを難読化解除して第2世代の難読化データを再生成し、再生成された第2世代の難読化データファイルを第2のランダムデバイス510に送信する(ステップ547)。第2のランダムデバイス510は、再生成された第2世代の難読化データファイルを(例えば、ブロック445によって)難読化解除して、それにより第1世代の難読化データファイルを再生成し、再生成された第1世代の難読化データファイルを第1のランダムデバイス505に送信する(ステップ553)。
このとき、第1のランダムデバイス505は、min_depthに到達したと決定する。この例では、min_depthは1に設定されている。min_depthに到達したと決定されると、データ移動プロセスは、第1のランダムデバイス505よって再び順方向503に継続される。第1のランダムデバイス505は、新たな第2世代の難読化データファイル及び関連するトレースファイルを第11のランダムデバイス530に送信し(ステップ508)、ここで第11のランダムデバイス530は、データ移動プロセスを順方向503に継続する(ステップ513)。このプロセスは、ステップ528の後、max_depthに再び到達するまで継続され、max_depthに到達した時、データ移動プロセスは、ステップ553の後、再びmin_depthに達するまで、再び逆方向504に継続され(ステップ533)、min_depthに到達した時、データ移動プロセスは再び順方向503に継続される。
いくつかの実施形態では、データ移動プロセスが逆方向に継続される際に、ブロック405にて受信された難読化データファイルは、格納される前に難読化される(ブロック415)ことに留意されたい。これにより、特定のコンピューティングデバイス上に、順方向の間に存在していた状態と同じ状態(例えば、同じ暗号化データを有する状態)の難読化データファイルが存在することが回避される。その結果、攻撃者は、難読化データファイルが特定のコンピューティングデバイスによって逆方向に受信されている際に、該特定のコンピューティングデバイス上にて同じ難読化データファイルを見つけることができなくなる。
図4の説明に戻り、ブロック445では、コンピューティングデバイスは、難読化データファイル及びトレースファイル、又は難読化データファイル及びトレースファイルの改変されたバージョンを難読化解除する。難読化データファイル及びトレースファイルの改変されたバージョンはそれぞれ、以前にブロック415及び425にて作成されたものである。ブロック445では、コンピューティングデバイスは、(ブロック415及び425の難読化の前に)難読化プロセスを逆行させて、それにより難読化データファイル及びトレースファイルを再生成する。識別情報がハッシュ値である場合のように、トレースファイルの識別情報が難読化データファイルのデータを一意に検証可能な実施形態では、トレースファイルのハッシュ値は、難読化データファイルのデータに基づいて計算されるハッシュ値と比較され得る。ハッシュ値が一致しない場合には、コンピューティングデバイスは、難読化データファイルが不適切に改変されたこと及びセキュリティ違反が発生したことの決定をすることができる。コンピューティングデバイスは、前のコンピューティングデバイス(すなわち、不適切に改変された難読化データファイルを現在のコンピューティングデバイスに送信したもの)が信頼されないコンピュータであるとさらに決定することができ、前のコンピューティングデバイスの識別情報を、信頼されたコンピュータデータベースに追加することができる。ここで、信頼されたコンピュータデータベースは、信頼されたコンピュータ及び信頼されないコンピュータの識別を可能にするデータベースである。
ブロック450では、コンピューティングデバイスは、再生成された難読化データファイル及びトレースファイルを、前のコンピューティングデバイスに送信する。前のコンピューティングデバイスは、ブロック405にて難読化データファイル及びトレースファイルを受信したコンピューティングデバイスであり得る。いくつかの実施形態では、難読化データファイルを難読化解除するために、難読化データファイルを特定のコンピューティングデバイスに送信する必要がある。例えば、特定のコンピューティングデバイスが私有鍵に基づいてファイルを暗号化することによりファイルを難読化する場合、特定のコンピューティングデバイスが該ファイルを暗号化するのに使用された秘密鍵へのアクセスを有する唯一のコンピューティングデバイスファイルであり得るため、ファイルの復号には該ファイルを特定のコンピューティングデバイスに送信することが必要であり得る。
ブロック465では、コンピューティングデバイスは、難読化データファイル及びトレースファイルをクリーンアップする。選択されたファイルのクリーンアップは、選択されたファイルの削除、選択されたファイルのデータのゼロ消去、選択されたファイルを格納するために以前に利用されたストレージ空間の解放、選択されたファイルに対する(1つ又は複数の)ポインタの除去等のいずれかが含まれ得る。ブロック455で、コンピューティングデバイスは、min_depthに到達したかどうかについて決定する。min_depthは、例えば、図5のmin_depth501であり得る。いくつかの実施形態では、min_depthは、図5のデータ移動プロセスが逆方向504に進行している場合のように、データ移動プロセスが逆方向に進行している場合にのみ到達され得る。ブロック460では、コンピューティングデバイスは、難読化データファイル及びトレースファイル、又は、難読化データファイル及びトレースファイルの1つのバージョンを、次のコンピューティングデバイスに送信する。いくつかの実施形態では、コンピューティングデバイスは、ランダムに、準ランダムに、決定論的に等により、コンピューティングデバイスのセットから次のコンピューティングデバイスを選択する。例えば、コンピューティングデバイスのセットは、とりわけ、図1のデバイス125A,130A,155A又は185Aのいずれかであり得る。
図6は、種々の実施形態と一致する、ソースデータを再生成する方法を示すフロー図である。図6の方法は、図2の方法と組み合わせて実行することができる。ブロック605では、図2のコンピュータシステムのようなコンピュータシステムは、複数のハッシュ値を生成する。ハッシュ値は、いくつかの実施形態では、ブロック215で生成されたトレースファイルに含まれる識別情報であり得る。ハッシュ値のそれぞれは、ブロック210の複数の難読化データファイルの異なる1つの内容に基づいて、ハッシュアルゴリズムを実行することによって生成される。ブロック215のトレースファイルのそれぞれが識別情報を含み、該識別情報がハッシュ値である実施形態では、ブロック220にて難読化データファイル及びトレースファイルが送信される際に、トレースファイルは、難読化データファイルを一意的に識別するために使用され得るハッシュ値を含んでいる。
ブロック610では、コンピュータシステムは、ハッシュ値をストレージデバイスにて格納する。ハッシュ値は、種々の方法のいずれかにて格納され得る。例えば、ハッシュ値は、データベース内の1つ以上のファイル等の中に格納され得る。該1つ以上のファイル又は該データベースは、暗号化され得る、又は、他の方法にて難読化され得る。ブロック615では、コンピュータシステムは、ブロック220のコンピューティングデバイスのようなコンピューティングデバイスに、ハッシュ値を送信する。コンピュータシステムがパルスメッセージを受信する実施形態のようないくつかの実施形態では、コンピュータシステムは、パルスメッセージを介して受信された識別子に基づいて、ハッシュ値の1つ以上をコンピューティングデバイスに送信する。該識別子は、図4のブロック430の識別子であり得ると共に、識別子を含むパルスメッセージを送信したコンピューティングデバイスを一意に識別することができる。
特定のコンピューティングデバイスがハッシュ値を受信した際に、コンピューティングデバイスは、該ハッシュ値をコンピューティングデバイスがアクセスした任意のトレースファイルのハッシュ値と比較し得る。受信されたハッシュ値がトレースファイルのハッシュ値と一致する場合、コンピュータシステムは、該トレースファイルにマッピングされた難読化データファイルをコンピュータシステムに返信するプロセスを開始し得る。難読化データファイルがデータ移動のそれぞれを伴って追加の難読化層を追加するデータ移動プロセスの一部として移動させられているため、難読化データファイルを返信するプロセスは、データ移動プロセスに従い得るが、逆方向に行われる。例えば、図5を参照すると、第10のランダムデバイス525がハッシュ値を受信し、かつ、該ハッシュ値がステップ527にて受信されたトレースファイルのハッシュ値と一致する場合には、ステップ527で受信された難読化データファイルは、例えばステップ532、その後のステップ537等によって行われるような難読化データファイル及びトレースファイルの移動によって、トレースファイル及び難読化データファイルがコンピュータシステムに到達するまで、逆方向504に返信される。
ブロック620では、コンピュータシステムは、難読化データファイル及び難読化データファイルに関連するトレースファイルを受信する。ブロック625では、コンピュータシステムは、難読化データファイル及びトレースファイルに基づいて、ソースデータを再生成する。トレースファイルは、該トレースファイルがマッピングされた難読化データファイルがどのように作成されたかについての情報を含むため、コンピュータシステムは、該トレースファイルの情報を使用して、それにより該トレースファイルにマッピングされた難読化データファイルについての難読化プロセスを逆行させることができる。例えば、難読化データファイルが図2のブロック215にて生成された場合、コンピュータシステムは、ブロック210の難読化データファイル及びブロック215のトレースファイルに基づいて、ブロック205のソースデータを再生成することができる。
図7は、種々の実施形態と一致する、本明細書に記載された少なくともいくつかの動作を実装され得る処理システムの例を示すブロック図である。処理システムは、上述した方法/アルゴリズムのいずれかを実行可能なシステムを表す処理デバイス700であり得る。例えば、処理デバイス700は、とりわけ、図1のデバイス125,130,155又は185のいずれかであり得る。システムは、図7に示すような2つ以上の処理デバイスを含んでいてもよく、該処理デバイスは、ネットワーク又は複数のネットワークを介して互いに結合されていてもよい。ネットワークは、通信ネットワークと称され得る。
図示の実施形態では、処理デバイス700は、1つ以上のプロセッサ710、メモリ711、通信デバイス712及び1つ以上入力/出力(I/O)デバイス713を含んでおり、これらの全てがインターコネクト714を介して互いに結合されている。インターコネクト714は、1つ以上の導電トレース、バス、ポイントツーポイント接続、コントローラ、アダプタ及び/又は他の従来の接続デバイスであってもよく、それらを含んでいてもよい。プロセッサ710のそれぞれは、例えば、1つ以上の汎用プログラマブルマイクロプロセッサ若しくはマイクロプロセッサコア、マイクロコントローラ、特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ等、又は、そのようなデバイスの組み合わせであってもよく、それらを含んでいてもよい。(1つ以上の)プロセッサ710は、処理デバイス700の全体的な動作を制御する。メモリ711は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)(消去可能かつプログラム可能であってもよい)、フラッシュメモリ、小型ハードディスクドライブ、若しくは他の適切なタイプのストレージデバイス、又は、そのようなデバイスの組み合わせであってもよく、それらを含んでいてもよい。メモリ711は、上述の技術に従って動作を実行するように(1つ以上の)プロセッサ710を構成するデータ及び命令を格納してもよい。通信デバイス712は、例えば、イーサネットアダプタ、ケーブルモデム、Wi−Fiアダプタ、セルラートランシーバ、ブルートゥーストランシーバ等又はそれらの組み合わせであってもよく、それらを含んでいてもよい。処理デバイス700の特定の性質及び目的に応じて、I/Oデバイス713は、ディスプレイ(タッチスクリーンディスプレイであってもよい)、オーディオスピーカ、キーボード、マウス又は他のポインティングデバイス、マイクロフォン、カメラ等のようなデバイスを含み得る。
プロセス又はブロックは所定の順序で提示されるが、代替の実施形態は、ステップを有するルーチンを実行してもよく、ブロックを有するシステムを異なる順序で採用してもよい。また、いくつかのプロセスまたはブロックは、代替若しくは部分的組み合わせを提供するように削除、移動、追加、細分化、結合及び/又は改変されてもよく、複製され(例えば、複数回実施され)てもよい。これらのプロセス又はブロックのそれぞれは、種々の異なる方法にて実施することができる。加えて、プロセス又はブロックは時には直列に実行されるものとして示されているが、これらのプロセス又はブロックは、代わりに並列に実行されてもよく、異なる時間に実行されてもよい。プロセス又はステップが値又は計算に「基づいて」いる場合、該プロセス又はステップは、少なくとも該値又は該計算に基づいて解釈されるべきである。
ここで紹介した技術を実施するためのソフトウェア又はファームウェアは、機械可読記憶媒体に格納されていてもよく、また、1つ以上の汎用又は専用のプログラム可能なマイクロプロセッサによって実行されてもよい。本明細書にて使用される「機械可読媒体」は、情報を機械(機械は、例えば、コンピュータ、ネットワークデバイス、携帯電話、携帯情報端末(PDA)、製造ツール、1つ以上のプロセッサを備えた任意のデバイス等であってもよい)によってアクセス可能な形式にて格納可能な任意の機構を含んでいる。例えば、機械アクセス可能媒体は、記録可能/記録不可能媒体(例えば、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスなど)等を含んでいる。
上述の実施形態のいずれか及び全ては、それが上記で他に述べられている範囲又はそのような実施形態が機能及び/又は構造において互いに排他的である範囲を除いて、互いに組み合わせられ得ることに留意されたい。
本発明は、特定の例示的な実施形態を参照して記載されているが、本発明は、記載された実施形態には限定されず、添付の特許請求の範囲の趣旨及び範囲内の改変及び変更を伴って実施され得ることが認識されるであろう。したがって、本明細書及び図面は、限定的な意味ではなく、例示的な意味であるとみなされるべきである。
処理デバイス700、デバイス125,130,155又は185等のいずれかに関連する物理的及び機能的コンポーネント(例えば、デバイス、エンジン、モジュール及びデータリポジトリ等)は、回路、ファームウェア、ソフトウェア、他の実行可能な命令又はそれらの任意の組み合わせとして実施され得る。例えば、機能的コンポーネントは、専用の回路、1つ以上の適切にプログラムされたプロセッサ、単一基板チップ、フィールドプログラマブルゲートアレイ、実行可能な命令によって構成された汎用コンピューティングデバイス、実行可能命令によって構成された仮想マシン、実行可能な命令によって構成されたクラウドコンピューティング環境又はそれらの任意の組み合わせの形態にて実施され得る。例えば、記載の機能コンポーネントは、プロセッサ又は他の集積回路チップによって実行可能な有形ストレージメモリ上における命令として実装され得る。有形ストレージメモリは、コンピュータ可読データストレージであり得る。有形ストレージメモリは、揮発性メモリ又は不揮発性メモリであってもよい。いくつかの実施形態では、揮発性メモリは、「非一時的」と考えられてもよく、これは、一時的な信号ではないという意味である。図に記載されているメモリ空間及びストレージは、揮発性メモリ又は不揮発性メモリを含む有形ストレージメモリによっても実装され得る。
それぞれの機能的コンポーネントは、他の機能的コンポーネントとは個々に独立して動作してもよい。機能的コンポーネントの一部又は全部は、同じホストデバイス上で実行されてもよく、別個のデバイス上で実行されてもよい。該別個のデバイスは、それらの動作を調査させるために、1つ以上の通信チャネル(例えば、無線又は有線チャネル)を介して結合され得る。機能的構成要素の一部又は全部は、1つの構成コンポーネントとして組み合わされてもよい。単一の機能コンポーネントは、複数のサブコンポーネントに分割されてもよく、ここで、各サブコンポーネントは、単一のコンポーネントの個別の1つ又は複数の方法ステップを実行する。
いくつかの実施形態では、少なくともいくつかの機能的コンポーネントは、メモリ空間へのアクセスを共有する。例えば、1つの機能的コンポーネントは、別の機能的コンポーネントによってアクセスされたデータ又は別の機能コンポーネントによって変換されたデータにアクセスしてもよい。機能的コンポーネントが物理的接続又は仮想的接続を直接的又は間接的に共有しており、それによってある機能的コンポーネントによってアクセス又は改変されたデータに別の機能コンポーネントがアクセスすることが可能になる場合に、機能的コンポーネントは、互いに「結合」されているとみなされてよい。いくつかの実施形態では、少なくともいくつかの機能的コンポーネントは、(例えば、機能コンポーネントの一部を実装する実行可能命令を再構成することによって)リモートにアップグレード又は改変され得る。上述の他のアレイ、システム及びデバイスは、種々の用途のために、追加の、少ない数の又は異なる機能的コンポーネントを含んでいてもよい。

Claims (19)

  1. ファイルのデータの移動及び難読化によって該ファイルをセキュア化する方法であって、
    コンピュータによって、ソースデータファイルを受信するステップと、
    前記コンピュータによって、前記ソースデータファイルのデータを難読化するステップであって、前記難読化は、
    前記ソースデータファイルの1つのバージョンを圧縮して、それにより前記ソースデータファイルの圧縮されたバージョンを作成すること、
    前記ソースデータファイルの1つのバージョンをビット分散して、それにより前記ソースデータファイルのビット分散されたバージョンを作成すること、及び、
    前記ソースデータファイルの選択されたバージョンに基づいて、複数の難読化データファイルを生成することであって、前記選択されたバージョンは、前記ソースデータファイルの前記圧縮されたバージョン若しくは前記ビット分散されたバージョン又はそれらの並べ替えであること
    によって行われ、前記複数の難読化データファイルを生成することは、
    前記選択されたバージョンのデータをパーティショニングして、それにより前記複数の難読化データファイルの複数の初期バージョンを作成することであって、前記複数の初期バージョンが結合されたデータは、前記選択されたバージョンの前記データを含むこと、
    前記複数の難読化データファイルのそれぞれについて、ランダム名を生成すること、
    前記複数の難読化データファイルのそれぞれのバージョンにランダムデータを追加して、それにより前記複数の難読化データファイルのパディングされたデータのバージョンを作成すること、
    前記複数の難読化データファイルのバージョンを周期的に排他的論理和(XOR)処理して、それにより前記複数の難読化データファイルの複数のXORバージョンを作成すること、及び
    前記複数の難読化データファイルのバージョンを暗号化して、それにより前記複数の難読化データファイルの複数の暗号化されたバージョンを作成することであって、前記複数の難読化データファイルは、前記複数の難読化データファイルの前記複数のパディングされたデータのバージョン、前記複数の難読化データファイルの前記複数のXORバージョン、前記複数の難読化データファイルの前記複数の暗号化されたバージョン又はそれらの並べ替えに対応すること
    を含んでいる、ステップと、
    前記コンピュータによって、前記複数の難読化データファイルに対応している複数のトレースファイルを生成するステップであって、
    前記複数のトレースファイルのそれぞれは、前記複数の難読化データファイルのうちの異なる1つにマッピングされており、
    前記複数の難読化データファイルのうちの異なる1つにマッピングされている前記複数のトレースファイルのそれぞれは、前記複数の難読化データファイルのうちの異なる1つに関する難読化情報を含んでおり、
    前記複数のトレースファイルのそれぞれの難読化情報は、前記複数の難読化データファイルに基づいて前記ソースデータファイルを再生成することを可能にする、ステップと、
    前記コンピュータによって、前記複数のトレースファイルを暗号化するステップと、
    前記コンピュータによって、通信ネットワークを介して、前記複数の難読化データファイルのそれぞれと、前記難読化データファイルのそれぞれにマッピングされている前記複数のトレースファイルとを、複数のサーバのプール内における異なるサーバに送信するステップであって、それによりデータ移動プロセスを可能し、ここで、前記複数の難読化データファイルのそれぞれは、周期的に改変されて前記プール内における別のサーバに転送され、それにより前記ソースデータファイルの前記データをさらに難読化及び隠蔽する、ステップと、
    前記コンピュータによって、前記ソースデータファイル、前記複数の難読化データファイル及び前記複数のトレースファイルをクリーンアップするステップと、
    を備えている、方法。
  2. 複数のハッシュ値を生成するステップであって、前記複数のハッシュ値のそれぞれは、前記複数の難読化データファイルのうちの異なる1つを確実に識別するステップと、
    前記複数のハッシュ値をストレージデバイスにて格納するステップと、
    前記複数のハッシュ値の一部又は全部を、前記複数のサーバのプールにおける1つ以上のサーバに送信することによって前記複数の難読化データファイルの取得をトリガするステップであって、それによって前記1つ以上のサーバが前記複数の難読化データファイルを識別できるようにするステップと、をさらに備えており、
    前記トレースファイルのそれぞれは、前記トレースファイルのそれぞれがマッピングされている前記難読化データファイルのそれぞれを確実に識別するハッシュ値を含んでいる、請求項1に記載の方法。
  3. 前記ソースデータファイルは、前記ソースデータファイルの1つのバージョンであり、
    前記ソースデータファイルの前記圧縮されたバージョン及び前記ビット分散されたバージョンは、それぞれ、前記ソースデータファイルの1つのバージョンであり、
    前記複数の難読化データファイルの前記複数の初期バージョン、前記複数の難読化データファイルの前記複数のパディングされたデータのバージョン、前記複数の難読化データファイルの前記複数のXORバージョン及び前記複数の難読化データファイルの前記複数の暗号化されたバージョンは、前記複数の難読化データファイルのそれぞれのバージョンであり、
    前記データ移動プロセスの一部である前記複数の難読化データファイルの前記周期的な改変は、前記複数の難読化データファイルの暗号化であり、
    前記通信ネットワークは、非結合通信ネットワークであり、
    前記ソースデータファイルの前記クリーンアップは、前記ソースデータファイルの削除、前記複数の難読化データファイルの削除、前記複数の難読化データファイルのデータのゼロ消去、前記複数の難読化データファイルを格納するために以前に利用されたストレージ空間の解放、前記複数の難読化データファイルに対する複数のポインタの除去又はそれらの任意の組み合わせを含んでいる、請求項1に記載の方法。
  4. サーバによって、コンピュータから、難読化データファイルを受信するステップであって、
    前記難読化データファイルは、ソースデータファイルから導出される複数の難読化データファイルのうちの1つであり、
    前記難読化データファイルは、暗号化アルゴリズムの実行によって、かつ、データパーティショニングアルゴリズム、圧縮アルゴリズム、ビット分散アルゴリズム、データパディングアルゴリズム、周期的排他的論理和(XOR)アルゴリズム又はそれらの任意の組み合わせの実行によって、前記ソースデータファイルから導出され、
    前記複数の難読化データファイルは、前記ソースデータファイルの再生成を可能にする、
    ステップと、
    前記サーバによって、前記コンピュータから、トレースファイルを受信するステップであって、
    前記トレースファイルは、暗号化されたファイルであり、
    前記トレースファイルは、前記難読化データファイルの生成に関する難読化情報を含み、
    前記難読化情報は、前記複数の難読化データファイルに基づいて、前記ソースデータファイルを再生成することを可能にする、
    ステップと、
    前記サーバによって、前記難読化データファイルをさらに難読化するステップであって、それにより前記難読化データファイルの改変されたバージョンを作成するステップと、
    前記サーバによって、前記難読化データファイルの前記さらなる難読化に関する難読化情報を用いて、前記トレースファイルを更新するステップであって、それにより、前記難読化データファイルの前記改変されたバージョンに基づいて、前記ソースデータファイルの再生成を可能にするステップと、
    前記トレースファイルをさらに難読化するステップであって、それにより前記トレースファイルの改変されたバージョンを生成するステップと、
    前記サーバによって、前記難読化データファイルの前記改変されたバージョン及び前記トレースファイルの前記改変されたバージョンを第2のサーバに送信するステップと、
    前記サーバによって、前記難読化データファイルの前記改変されたバージョン及び前記トレースファイルの前記改変されたバージョンをクリーンアップするステップと
    を備えている、方法。
  5. 前記トレースファイルは、複数のトレースファイルのうちの1つであり、
    前記複数のトレースファイルのそれぞれは、異なる難読化情報を含んでおり、
    前記複数のトレースファイルのそれぞれからの前記異なる難読化情報は、前記複数の難読化データファイルに基づいて前記ソースデータファイルを再生成することを可能にするために必要とされる、請求項4に記載の方法。
  6. 前記トレースファイルのそれぞれは、前記複数の難読化データファイルのうちの異なる1つにマッピングされ、前記複数の難読化データファイルのそれぞれは、前記複数のトレースファイルのうちの異なる1つにマッピングされる、請求項5に記載の方法。
  7. 選択された難読化データファイルにマッピングされる選択されたトレースファイルの難読化情報は、前記選択された難読化データファイルを前記ソースデータファイルから導出するために、データパーティショニングアルゴリズム、圧縮アルゴリズム、ビット分散アルゴリズム、データパディングアルゴリズム又は周期的XOR処理アルゴリズムのうち何れが実行されたかを識別するデータを含んでいる、請求項6に記載の方法。
  8. 前記トレースファイルは、前記複数の難読化データファイルのうちの選択された難読化データファイルにマッピングされ、
    前記トレースファイルは、前記選択された難読化データファイルのデータが不適切に改変されていたかどうかの決定を可能にする選択されたハッシュ値を含んでおり、
    不適切に改変された前記選択された難読化データファイルの前記データは、セキュリティ違反を示し、
    前記選択された難読化データファイルのデータが不適切に改変されていなかった場合には、前記選択されたハッシュ値は、前記選択された難読化データファイルの確実な識別を可能にする、請求項4に記載の方法。
  9. 前記難読化されたデータファイルについて計算されたハッシュ値を計算するステップと、
    前記トレースファイルに基づいて、前記選択されたハッシュ値を決定するステップと、
    前記計算されたハッシュ値と前記選択されたハッシュ値とを比較するステップと、
    前記計算されたハッシュ値と前記選択されたハッシュ値が異なる値である場合には、前記コンピュータが信頼されないコンピュータであることを決定するステップと、
    前記コンピュータについての識別データを、信頼されないコンピュータの識別を可能にする信頼されたコンピュータデータベースに追加するステップと
    をさらに備えている、請求項8に記載の方法。
  10. 信頼されないコンピュータの識別を可能にする信頼されたコンピュータデータベースにアクセスするステップであって、それにより前記第2のコンピュータが信頼されないコンピュータであるかどうかを決定するステップをさらに備えており、
    前記難読化データファイルの改変されたバージョン及び前記トレースファイルの改変されたバージョンを前記第2のサーバに送信する前記ステップは、前記第2のサーバが信頼されたコンピュータであると決定されたことに基づく、請求項4に記載の方法。
  11. 前記第2のサーバが信頼されたコンピュータであると決定されることは、前記信頼されたコンピュータデータベースを介して前記第2のサーバが信頼されていないコンピュータとは識別されないことに基づいており、
    前記複数の難読化データファイルに基づいて前記ソースデータファイルを再生成することを可能にするには、前記難読化情報及び前記複数の難読化データファイルのそれぞれに加えて、他のデータが必要であり、
    前記第2のコンピュータの前記識別データは、前記第2のコンピュータのインターネットプロトコル(IP)アドレス、前記第2のコンピュータの名、前記第2のコンピュータのネットワークインタフェースのメディアアクセス制御(MAC)アドレス、又は、前記第2のコンピュータ若しくは前記第2のコンピュータのハードウェアコンポーネントのシリアルナンバーのいずれかを含んでおり、
    前記難読化データファイルが暗号化アルゴリズムの実行によって前記ソースデータファイルから導出されることは、前記コンピュータにて格納された暗号化キーに基づいて前記コンピュータにより暗号化アルゴリズムが実行されることを含んでおり、
    前記難読化データファイルをさらに難読化する前記ステップは、前記サーバにて格納された暗号化キーに基づいて前記サーバが前記暗号化アルゴリズムを実行して、それにより前記難読化されたデータファイルの改変されたバージョンを作成することを含んでおり、
    前記サーバ及び前記コンピュータは、同じタイプのコンピューティングデバイスである、請求項10に記載の方法。
  12. パルスメッセージを生成するステップであって、前記パルスメッセージは、前記難読化データファイルに基づくハッシュ値を含むことによって前記難読化データファイルの確実な識別を可能にし、前記第2のサーバが前記難読化データファイルを受信したことを示すと共に、前記第2のサーバの識別データを含む、ステップと、
    前記パルスメッセージを前記コンピュータに送信し、それにより前記第2のサーバが前記難読化データファイルを受信したことをコンピュータに通知することによって、前記難読化データファイルを取得するために必要な時間の短縮を可能にするステップと
    をさらに備えている、請求項4に記載の方法。
  13. 前記難読化データファイルをさらに難読化する前記ステップは、前記難読化データファイルのデータを入力として受信し、前記難読化データファイルの改変されたバージョンのデータを出力する暗号化アルゴリズムを実行することによって達成され、
    前記難読化データファイルが前記ソースデータファイルから導出されることは、前記難読化データファイルについてのランダム名を生成するランダム名生成アルゴリズムの実行によって前記ソースデータファイルから導出されることを含んでいる、請求項4に記載の方法。
  14. プロセッサと、
    前記プロセッサに結合されたネットワークインタフェースと、
    前記プロセッサに結合され、複数の命令を格納しているメモリであって、前記複数の命令は、前記プロセッサによって実行された際に、
    ネットワークインタフェースを介して、コンピュータから、難読化データファイルを受信する操作であって、
    前記難読化データファイルは、ソースデータファイルから導出された複数の難読化データファイルのうちの1つであり、
    前記難読化データファイルは、前記ソースデータファイルから導出される暗号化ファイルであり、
    前記複数の難読化データファイルは、前記ソースデータファイルを再生成することを可能にする、
    操作と、
    前記コンピュータから、トレースファイルを受信する操作であって、
    前記トレースファイルは、暗号化ファイルであり、
    前記トレースファイルは、前記難読化データファイルの生成に関する難読化情報を含んでおり、
    前記難読化情報は、前記難読化データファイルに基づいて、前記ソースデータファイルを再生成することを可能にする、
    操作と、
    前記難読化データファイルをさらに難読化する操作であって、それにより前記難読化データファイルの改変されたバージョンを作成する操作と、
    前記難読化データファイルの前記改変されたバージョンを作成するために前記難読化データファイルのデータがどのように改変されたかを示す難読化情報を用いて、前記トレースファイルを更新する操作と、
    前記トレースファイルをさらに難読化する操作であって、それにより前記トレースファイルの改変されたバージョンを生成する操作と、
    前記難読化データファイルの前記改変されたバージョン及び前記トレースファイルの前記改変されたバージョンを第2のサーバに送信する操作と、
    前記難読化データファイルの前記改変されたバージョン及び前記トレースファイルの前記改変されたバージョンをクリーンアップする操作と、
    を含む複数の操作を、前記コンピューティングシステムに実行させる命令である、メモリと、
    を備えている、サーバ。
  15. 前記トレースファイルは、最大深度値を含んでおり、前記複数の操作は、さらに、
    難読化深度値を決定する操作であって、
    前記難読化深度値は、前記難読化データファイルの幾つのバージョンがサーバセットによって作成されたかを示しており、
    前記サーバセットにおけるサーバのそれぞれは、前記難読化データファイルの1つのバージョンを作成する、
    操作と、
    前記難読化深度値を前記最大深度値と比較する操作であって、
    前記難読化データファイルをさらに難読化する前記操作は、前記難読化深度値が前記最大深度値よりも小さいという決定に応答するものである、
    操作と、
    を含んでいる、請求項14に記載のサーバ。
  16. 前記難読化データファイルをさらに難読化する前記操作は、前記サーバに関連する暗号化キーを使用することによって前記難読化データファイルを暗号化して、それにより前記難読化データファイルの前記改変されたバージョンを作成することを含んでいる、請求項14に記載のサーバ。
  17. 前記暗号化キーは、複数のファイルを暗号化するために専ら前記サーバによって使用される、請求項16に記載のサーバ。
  18. 前記難読化データファイルの前記改変されたバージョンを前記第2のサーバに送信する前記操作は、前記ソースデータファイルのデータへの認可されないアクセスを妨害するデータ移動プロセスの一部として行われる、請求項14に記載のサーバ。
  19. 前記トレースファイルは、選択されたハッシュ値を含んでおり、前記複数の操作は、さらに、
    前記選択されたハッシュ値を前記トレースファイルから抽出する操作と、
    前記難読化データファイルの計算されたハッシュ値を計算する操作と、
    前記トレースファイルに基づいて、前記選択されたハッシュ値を決定する操作と、
    前記計算されたハッシュ値と前記選択されたハッシュ値とを比較する操作と、
    前記計算されたハッシュ値と前記選択されたハッシュ値とが異なる値である場合には、前記コンピュータが信頼されないコンピュータであると決定する操作と、
    前記コンピュータの識別データを、信頼されないコンピュータの識別を可能にする信頼されたコンピュータデータベースに追加する操作と、
    を含んでいる、請求項14に記載のサーバ。
JP2017568472A 2015-05-19 2016-05-18 データ隠蔽によるセキュリティ Expired - Fee Related JP6397590B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562163804P 2015-05-19 2015-05-19
US62/163,804 2015-05-19
PCT/US2016/033098 WO2016187315A1 (en) 2015-05-19 2016-05-18 Security via data concealment

Publications (2)

Publication Number Publication Date
JP2018523228A true JP2018523228A (ja) 2018-08-16
JP6397590B2 JP6397590B2 (ja) 2018-09-26

Family

ID=57320686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017568472A Expired - Fee Related JP6397590B2 (ja) 2015-05-19 2016-05-18 データ隠蔽によるセキュリティ

Country Status (6)

Country Link
US (3) US9753931B2 (ja)
EP (1) EP3298533B1 (ja)
JP (1) JP6397590B2 (ja)
IL (1) IL255745B (ja)
SG (1) SG11201804478VA (ja)
WO (1) WO2016187315A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101966032B1 (ko) * 2019-01-07 2019-04-04 동양대학교 산학협력단 디렉토리 목록정보 변경을 이용한 데이터 숨김방법
KR20210103381A (ko) * 2020-02-13 2021-08-23 주식회사 루닛 데이터의 전향적 전처리 장치 및 그 방법
KR20210110495A (ko) * 2020-02-29 2021-09-08 동양대학교 산학협력단 클러스터의 할당을 임의로 조작할 수 있는 디스크 할당방법

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016187315A1 (en) 2015-05-19 2016-11-24 Cryptomove, Inc. Security via data concealment
US10642786B2 (en) 2015-05-19 2020-05-05 Cryptomove, Inc. Security via data concealment using integrated circuits
US10664439B2 (en) 2015-05-19 2020-05-26 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
US10037330B1 (en) 2015-05-19 2018-07-31 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
US10110566B2 (en) * 2015-07-21 2018-10-23 Baffle, Inc. Systems and processes for executing private programs on untrusted computers
CA3071965C (en) 2017-08-10 2024-01-16 Shardsecure, Inc. Method for securing data utilizing microshard fragmentation
US11012235B2 (en) * 2017-09-11 2021-05-18 Mx Technologies. Inc. Securing data based on randomization
KR102438784B1 (ko) * 2018-01-05 2022-09-02 삼성전자주식회사 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법
CN110266742B (zh) * 2018-03-12 2020-10-09 大唐移动通信设备有限公司 鉴权数据的处理方法、鉴权数据服务器及鉴权系统
EP3547197A1 (en) * 2018-03-27 2019-10-02 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
CN110321727A (zh) * 2018-03-29 2019-10-11 阿里巴巴集团控股有限公司 应用程序信息的存储、处理方法及装置
WO2020046278A1 (en) * 2018-08-28 2020-03-05 Visa International Service Association Methodology to obfuscate sensitive information in mobile application background snapshot
SG11202102202RA (en) * 2018-09-24 2021-04-29 Visa Int Service Ass Key management for multi-party computation
US11250169B2 (en) 2019-05-02 2022-02-15 Bank Of America Corporation System for real-time authenticated obfuscation of electronic data
US11973743B2 (en) 2019-12-13 2024-04-30 TripleBlind, Inc. Systems and methods for providing a systemic error in artificial intelligence algorithms
US11431688B2 (en) 2019-12-13 2022-08-30 TripleBlind, Inc. Systems and methods for providing a modified loss function in federated-split learning
US10924460B2 (en) 2019-12-13 2021-02-16 TripleBlind, Inc. Systems and methods for dividing filters in neural networks for private data computations
US11528259B2 (en) 2019-12-13 2022-12-13 TripleBlind, Inc. Systems and methods for providing a systemic error in artificial intelligence algorithms
US11321430B2 (en) 2020-01-08 2022-05-03 Bank Of America Corporation Big data distributed processing and secure data transferring with obfuscation
US11363029B2 (en) 2020-01-08 2022-06-14 Bank Of America Corporation Big data distributed processing and secure data transferring with hyper fencing
US11379603B2 (en) 2020-01-08 2022-07-05 Bank Of America Corporation Big data distributed processing and secure data transferring with fallback control
US11314874B2 (en) 2020-01-08 2022-04-26 Bank Of America Corporation Big data distributed processing and secure data transferring with resource allocation and rebate
US11334408B2 (en) 2020-01-08 2022-05-17 Bank Of America Corporation Big data distributed processing and secure data transferring with fault handling
US11258854B2 (en) 2020-01-31 2022-02-22 Bank Of America Corporation Data sharding for transmission over a high generation cellular network
US11947701B2 (en) * 2020-11-20 2024-04-02 T-Mobile Usa Inc. Techniques for preventing malicious use of biometric data
WO2022109215A1 (en) * 2020-11-20 2022-05-27 TripleBlind, Inc. Systems and methods for providing a blind de-identification of privacy data
US20220253541A1 (en) * 2021-02-10 2022-08-11 Bank Of America Corporation System for electronic data obfuscation through alteration of data format
US11580249B2 (en) 2021-02-10 2023-02-14 Bank Of America Corporation System for implementing multi-dimensional data obfuscation
US11907268B2 (en) 2021-02-10 2024-02-20 Bank Of America Corporation System for identification of obfuscated electronic data through placeholder indicators
US11625377B1 (en) 2022-02-03 2023-04-11 TripleBlind, Inc. Systems and methods for enabling two parties to find an intersection between private data sets without learning anything other than the intersection of the datasets
US11539679B1 (en) 2022-02-04 2022-12-27 TripleBlind, Inc. Systems and methods for providing a quantum-proof key exchange

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004336702A (ja) * 2003-04-15 2004-11-25 Ntt Communications Kk データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
JP2007213405A (ja) * 2006-02-10 2007-08-23 Global Friendship Inc 割符情報の管理方法および管理装置
US7707117B1 (en) * 2003-03-24 2010-04-27 Cybersource Corporation Method and apparatus for communicating state information in an electronic transaction message
JP2010517119A (ja) * 2007-01-18 2010-05-20 パナソニック株式会社 難読化支援装置
US20120265737A1 (en) * 2010-04-13 2012-10-18 Empire Technology Development Llc Adaptive compression
US20120272329A1 (en) * 2007-11-15 2012-10-25 International Business Machines Corporation Obfuscating sensitive data while preserving data usability
US20140019756A1 (en) * 2013-01-25 2014-01-16 Concurix Corporation Obfuscating Trace Data
US20140237614A1 (en) * 2006-12-01 2014-08-21 Maidsafe Ltd Communication system and method
US20140337985A1 (en) * 2013-05-08 2014-11-13 Jorge Enrique Muyshondt Security in Digital Manufacturing Systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000004681A1 (en) * 1998-07-16 2000-01-27 Francis Lambert Method for secure data transmission and storage
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US7478268B2 (en) 2005-09-13 2009-01-13 International Business Machines Corporation Deallocation of memory in a logically-partitioned computer
US8473438B2 (en) * 2010-04-13 2013-06-25 Empire Technology Development Llc Combined-model data compression
CN102316127B (zh) * 2010-06-29 2014-04-23 阿尔卡特朗讯 无线通信系统中基于分布式存储的文件传输方法
US10102543B2 (en) * 2013-10-10 2018-10-16 Elwha Llc Methods, systems, and devices for handling inserted data into captured images
WO2015094258A1 (en) 2013-12-19 2015-06-25 Hewlett-Packard Development Company, L.P. Transmission of command strings and status strings via memory bus
US10037330B1 (en) 2015-05-19 2018-07-31 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
WO2016187315A1 (en) 2015-05-19 2016-11-24 Cryptomove, Inc. Security via data concealment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707117B1 (en) * 2003-03-24 2010-04-27 Cybersource Corporation Method and apparatus for communicating state information in an electronic transaction message
JP2004336702A (ja) * 2003-04-15 2004-11-25 Ntt Communications Kk データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
JP2007213405A (ja) * 2006-02-10 2007-08-23 Global Friendship Inc 割符情報の管理方法および管理装置
US20140237614A1 (en) * 2006-12-01 2014-08-21 Maidsafe Ltd Communication system and method
JP2010517119A (ja) * 2007-01-18 2010-05-20 パナソニック株式会社 難読化支援装置
US20120272329A1 (en) * 2007-11-15 2012-10-25 International Business Machines Corporation Obfuscating sensitive data while preserving data usability
US20120265737A1 (en) * 2010-04-13 2012-10-18 Empire Technology Development Llc Adaptive compression
US20140019756A1 (en) * 2013-01-25 2014-01-16 Concurix Corporation Obfuscating Trace Data
US20140337985A1 (en) * 2013-05-08 2014-11-13 Jorge Enrique Muyshondt Security in Digital Manufacturing Systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101966032B1 (ko) * 2019-01-07 2019-04-04 동양대학교 산학협력단 디렉토리 목록정보 변경을 이용한 데이터 숨김방법
KR20210103381A (ko) * 2020-02-13 2021-08-23 주식회사 루닛 데이터의 전향적 전처리 장치 및 그 방법
KR102395564B1 (ko) 2020-02-13 2022-05-10 주식회사 루닛 데이터의 전향적 전처리 장치 및 그 방법
KR20210110495A (ko) * 2020-02-29 2021-09-08 동양대학교 산학협력단 클러스터의 할당을 임의로 조작할 수 있는 디스크 할당방법
KR102408150B1 (ko) 2020-02-29 2022-06-10 동양대학교 산학협력단 클러스터의 할당을 임의로 조작할 수 있는 디스크 할당방법

Also Published As

Publication number Publication date
WO2016187315A1 (en) 2016-11-24
EP3298533B1 (en) 2020-01-29
EP3298533A4 (en) 2019-01-02
US9753931B2 (en) 2017-09-05
IL255745A (en) 2018-01-31
JP6397590B2 (ja) 2018-09-26
EP3298533A1 (en) 2018-03-28
US20170357658A1 (en) 2017-12-14
US20180137130A1 (en) 2018-05-17
IL255745B (en) 2018-05-31
US10324892B2 (en) 2019-06-18
SG11201804478VA (en) 2018-06-28
US9898473B2 (en) 2018-02-20
US20160342608A1 (en) 2016-11-24

Similar Documents

Publication Publication Date Title
JP6397590B2 (ja) データ隠蔽によるセキュリティ
US10037330B1 (en) Security via dynamic data movement in a cloud-based environment
US20190303349A1 (en) Security via data concealment
US10664439B2 (en) Security via dynamic data movement in a cloud-based environment
US11057198B2 (en) Utilization of a proxy technique in escrow encryption key usage
US20120297206A1 (en) Securing Encrypted Virtual Hard Disks
EP3035641A1 (en) Method for file upload to cloud storage system, download method and device
US9363247B2 (en) Method of securing files under the semi-trusted user threat model using symmetric keys and per-block key encryption
US8181028B1 (en) Method for secure system shutdown
US11489660B2 (en) Re-encrypting data on a hash chain
WO2017000726A1 (zh) 一种密钥变换方法、装置及终端
CN104618096A (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
US11681499B2 (en) Data set including a secure key
JP2004147218A (ja) データ分割管理方法及びプログラム
US9594918B1 (en) Computer data protection using tunable key derivation function
US10642786B2 (en) Security via data concealment using integrated circuits
WO2020257183A1 (en) Security via data concealment
US10635826B2 (en) System and method for securing data in a storage medium
JP2008242665A (ja) 暗号化処理装置、暗号化処理方法及びファイル分割保存システム
WO2020205984A1 (en) Security via data concealment using integrated circuits
GB2522096A (en) Data encryption and decryption
EP3547197A1 (en) Security via dynamic data movement in a cloud-based environment
CN112947855B (zh) 一种基于硬件安全区的高效加密重复数据删除方法
Bel et al. Inkpack: A Secure, Data-Exposure Resistant Storage System
Bel et al. Inkpack

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180628

TRDD Decision of grant or rejection written
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180702

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180810

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180831

R150 Certificate of patent or registration of utility model

Ref document number: 6397590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees