JP2015517146A - 安全な第三者データ記憶のためのシステム及び方法 - Google Patents

安全な第三者データ記憶のためのシステム及び方法 Download PDF

Info

Publication number
JP2015517146A
JP2015517146A JP2015503217A JP2015503217A JP2015517146A JP 2015517146 A JP2015517146 A JP 2015517146A JP 2015503217 A JP2015503217 A JP 2015503217A JP 2015503217 A JP2015503217 A JP 2015503217A JP 2015517146 A JP2015517146 A JP 2015517146A
Authority
JP
Japan
Prior art keywords
key
file
encrypted
additional
encrypted file
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
JP2015503217A
Other languages
English (en)
Other versions
JP6182589B2 (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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2015517146A publication Critical patent/JP2015517146A/ja
Application granted granted Critical
Publication of JP6182589B2 publication Critical patent/JP6182589B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

安全な第三者データ記憶のためのコンピュータ実装方法は、1)サーバ側コンピューティングデバイスで、ユーザアカウントの下に記憶された暗号化ファイルにアクセスするクライアントシステムからの要求を識別することと、2)要求に応答して、暗号化キーと、クライアント側キーで暗号化されている復号キーとを含むユーザアカウントに指定された非対称キーペアを識別することと、3)クライアントシステムから、クライアント側キーを受信することと、4)復号キーをクライアント側キーで復号することと、5)復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることとを含むことができる。多様な他の方法、システム、及びコンピュータで読み取り可能な媒体もまた開示される。

Description

組織及び消費者が第三者サービスを使用してデータを記憶することが増えている。第三者記憶サービスは、柔軟性、低資本金、アドオンサービス、データ共有、及びデータへの集中型アクセスを含む、多数の利点を顧客に提供することができる。
多くの第三者記憶の顧客は、データを第三者記憶業者に提出する前にそのデータを暗号化することを望むか、又はそれを行う必要がある。例えば、個人消費者は、プライバシーに対する懸念により第三者記憶業者に送信されるデータを暗号化することを望む場合がある。同様に、組織は、政府による法令、他の組織とのパートナーシップ契約書等の内部又は外部のデータ保護要件の順守を確実にするために、第三者記憶業者に送信されるデータを暗号化することを望む場合がある。残念ながら、データを第三者記憶システムに提出する前にそのデータを暗号化することによって、顧客は、データを重複排除する第三者記憶業者の試みを妨げる場合がある。例えば、2人の顧客が異なる暗号化方式(例として、異なるキー)を用いて同一のファイルを暗号化する場合、結果として得られる暗号化ファイルは異なるものとなり、第三者記憶業者がそのファイルを重複排除して、複数回参照される単一ファイルにするのを防ぐ可能性がある。加えて、第三者記憶システムに提出する前にファイルを暗号化することは、ファイルにセキュリティ走査を実施すること、ファイルのカスタムビューを生成することなど、対象とされる他のユーザとファイルを効率的に共有する、及び/又はファイルに他のサービスを実施する第三者記憶サービスの能力を妨げる場合がある。
上記の制限を考慮して、本開示は、安全な第三者データ記憶のための追加及び改善されたシステム及び方法の必要性を特定する。
本開示は、概して、安全な第三者データ記憶のためのシステム及び方法に関する。より詳細に後述されるように、安全化されたデータ(例えば、ファイル及び/又はファイルの暗号化キー)を暗号化及び復号するための非対称キーペアを第三者記憶サーバ上に維持し、これらの非対称キーペアの復号キーをクライアントによって維持される暗号化キーで暗号化することによって、本明細書に記載されるシステム及び方法は、第三者記憶サーバが必要に応じてデータを暗号化するのを可能にするが、安全化されたデータにアクセスするためには、クライアントが復号キーを提出することを必要とすることができる。
一実施形態では、安全な第三者データ記憶のためのコンピュータ実装方法は、1)サーバ側コンピューティングデバイスで、ユーザアカウントの下に記憶された暗号化ファイルにアクセスするクライアントシステムからの要求を識別すること(要求されたアクセスが暗号化ファイルの復号を必要とする)と、2)要求に応答して、暗号化キーと、クライアント側キーで暗号化されている復号キーとを含むユーザアカウントに指定された非対称キーペアを識別することと、3)クライアントシステムから、クライアント側キーを受信することと、4)復号キーをクライアント側キーで復号することと、5)復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることとを含むことができる。
いくつかの例では、クライアント側キーを受信することは、クライアント側キーを不揮発性メモリ内に記憶することなくクライアント側キーを揮発性メモリ内に記憶することを含むことができる。復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることは、多様な工程のうちのいずれかを含むことができる。いくつかの実施形態では、復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることは、1)暗号化ファイルを暗号化するために使用されるファイルキー(暗号化キーで暗号化されている)を識別することと、2)ファイルキーを復号キーで復号することと、3)暗号化ファイルをファイルキーで復号することとを含むことができる。
いくつかの例では、復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることは、暗号化ファイルの暗号化されていないバージョンを記述するメタデータを生成することを含むことができる。これらの例では、メタデータを生成することは、1)暗号化ファイルの暗号化されていないバージョンのセキュリティ走査を実施すること、2)暗号化ファイルの暗号化されていないバージョン内のコンテンツに基づいて、暗号化ファイルの暗号化されていないバージョンを索引付けすること、及び/又は3)暗号化ファイルの暗号化されていないバージョンのプレビューを生成することを含むことができる。
いくつかの実施形態では、復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることは、1)ユーザアカウントを含む複数のユーザアカウントに指定された追加の非対称キーペアであって、追加の暗号化キーと、暗号化キーで暗号化されている追加の復号キー(例えば、ユーザアカウントに指定された非対称キーペアの追加の復号キー)とを含む、非対称キーペアを識別することと、2)追加の復号キーを復号キー(例えば、ユーザアカウントに指定された非対称キーペアの復号キー)で復号することと、3)暗号化ファイルを暗号化するために使用されるファイルキー(追加の暗号化キーで暗号化されている)を識別することと、4)ファイルキーを追加の復号キーで復号することと、5)暗号化ファイルをファイルキーで復号することとを含むことができる。
いくつかの例では、暗号化ファイルの暗号化されていないバージョンにアクセスすることは、暗号化ファイルの暗号化されていないバージョンをクライアントシステムに送信することを含むことができる。加えて、又は代替として、暗号化ファイルの暗号化されていないバージョンにアクセスすることは、暗号化ファイルの暗号化されていないバージョンへのアクセスを追加のユーザアカウントに提供することであって、1)追加の非対称キーペアが追加のユーザアカウントに指定され、2)追加の非対称キーペアが追加の暗号化キーと、追加の復号キーとを含み、かつ3)追加の復号キーが追加のクライアント側キーで暗号化される、追加のユーザアカウントに提供することを含むことができる。これらの実施形態では、暗号化ファイルの暗号化されていないバージョンへのアクセスを追加のユーザアカウントに提供することは、1)暗号化ファイルを暗号化するために使用されるファイルキー(暗号化キーで暗号化されている)を識別することと、2)ファイルキーを復号キーで復号することと、3)ファイルキーのコピーを追加の暗号化キーで暗号化することとを含むことができる。
いくつかの例では、コンピュータ実装方法はまた、1)暗号化ファイルの暗号化されていないバージョンにアクセスするように指定された追加のユーザアカウントを識別することであって、a)追加の非対称キーペアが、追加のユーザアカウントに指定され、b)追加の非対称キーペアが、追加の暗号化キーと、追加の復号キーとを含み、c)追加の復号キーが追加のクライアント側キーで暗号化される、追加のユーザアカウントを識別することと、2)復号キーを追加の暗号化キーで暗号化することとを含むことができる。これらの例では、コンピュータ実装方法は、1)追加のユーザアカウントを介して暗号化ファイルに更にアクセスする追加のクライアントシステムからの追加の要求を識別すること(追加の要求されたアクセスが暗号化ファイルの復号を必要とする)と、2)復号キーを追加の復号キーで復号することと、3)復号キーを使用して、追加のユーザアカウントを介して暗号化ファイルの暗号化されていないバージョンにアクセスすることとを更に含むことができる。
一例では、コンピュータ実装方法はまた、1)クライアントシステムから暗号化ファイルの暗号化されていないバージョンを受信することと、2)暗号化ファイルを、a)暗号化ファイルの暗号化されていないバージョンの少なくとも1つの特性に基づいてファイルキーを生成し、b)暗号化ファイルの暗号化されていないバージョンをファイルキーで暗号化することによって生成することと、3)ファイルキーを暗号化キーで暗号化することとを含むことができる。この例では、コンピュータ実装方法は、暗号化ファイルを、ファイルキーで暗号化される追加の暗号化ファイルで重複排除することを更に含むことができる。
一実施形態では、上記の方法を実装するためのシステムは、1)サーバ側コンピューティングデバイスで、ユーザアカウントの下に記憶された暗号化ファイルにアクセスするクライアントシステムからの要求を識別するようにプログラムされる識別モジュール(要求されたアクセスが暗号化ファイルの復号を必要とする)と、2)要求に応答して、暗号化キーと、クライアント側キーで暗号化されている復号キーとを含むユーザアカウントに指定された非対称キーペアを識別するようにプログラムされるキーモジュールと、3)クライアントシステムから、クライアント側キーを受信するようにプログラムされる受信モジュールと、4)復号キーをクライアント側キーで復号するようにプログラムされる復号モジュールと、5)復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスするようにプログラムされるアクセスモジュールとを含み得る。本システムはまた、識別モジュール、キーモジュール、受信モジュール、復号モジュール、及びアクセスモジュールを実行するように構成される、少なくとも1つのプロセッサを含み得る。
一部の実施例において、上記に説明される方法は、コンピュータで読み取り可能な記憶媒体上に、コンピュータで読み取り可能な命令としてコード化され得る。例えば、コンピュータ読み取り可能な記憶媒体は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、コンピューティングデバイスに、1)サーバ側コンピューティングデバイスで、ユーザアカウントの下に記憶された暗号化ファイルにアクセスするクライアントシステムからの要求を識別すること(要求されたアクセスが暗号化ファイルの復号を必要とし)と、2)要求に応答して、暗号化キーと、クライアント側キーで暗号化されている復号キーとを含むユーザアカウントに指定された非対称キーペアを識別することと、3)クライアントシステムから、クライアント側キーを受信することと、4)復号キーをクライアント側キーで復号することと、5)復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることと、を行わせることができる、1つ以上のコンピュータ実行可能な命令を含み得る。
下記により詳細に説明されるように、安全化されたデータを暗号化及び復号するための非対称キーペアを第三者記憶サーバ上に維持し、非対称キーペアの復号キーをクライアントによって維持される暗号化キーで暗号化することによって、本明細書に記載されるシステム及び方法は、暗号化されていない状態で、安全化されたデータにアクセスするために必要なクライアント側復号キーを記憶することなく、クライアントデータを安全に記憶及び暗号化することができる。それにより、これらのシステム及び方法は、第三者記憶システムへのアクセスを得た攻撃者が、暗号化されていない状態の安全化されたデータにアクセスするのを防ぐことができ、同時に、この安全化されたデータの共有、重複排除、分析、及び/又は索引付けを更に可能にする、及び/又は容易にする。
上に記述される実施形態のうちのいずれかからの特性は、本明細書に記載の一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特性、及び利点は、添付の図面及び特許請求の範囲と共に以下の詳細な説明を一読することでより完全に理解されるであろう。
添付の図面は、多数の例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明と共に、これらの図面は、本開示の多様な原理を例証及び説明する。
安全な第三者データ記憶のための例示的なシステムのブロック図である。 安全な第三者データ記憶のための例示的なシステムのブロック図である。 安全な第三者データ記憶のための例示的な方法の流れ図である。 安全な第三者データ記憶のための例示的なシステムのブロック図である。 安全な第三者データ記憶のための例示的なシステムのブロック図である。 安全な第三者データ記憶のための例示的なシステムのブロック図である。 安全な第三者データ記憶のための例示的なシステムのブロック図である。 本明細書に記載及び/又は例解される実施形態のうちの1つ以上を実装することが可能な例示的なコンピューティングシステムのブロック図である。 本明細書に記載及び/又は例解される実施形態のうちの1つ以上を実装することが可能な例示的なコンピューティングネットワークのブロック図である。
図面を通して、同一の参照文字及び説明は、類似しているが必ずしも同一ではない要素を示す。本明細書に記載の例示的な実施形態は多様な修正及び代替形態が可能であるが、具体的な実施形態が、図面において例として示されており、本明細書に詳細に説明されるであろう。しかしながら、本明細書に記載の例示的な実施形態は、開示される特定の形態に限定されることを意図するものではない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正、同等物、及び代替物を網羅する。
図1〜2及び4〜7を参照することにより、以下に安全な第三者データ記憶のための例示的なシステムの詳細な説明が提供される。対応するコンピュータ実装方法の詳細な説明はまた、図3と併せて提供される。更に、本明細書に記載の実施形態のうちの1つ以上を実装することが可能な例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明は、それぞれに、図8及び9と併せて提供される。
図1は、安全な第三者データ記憶のための例示的なシステム100のブロック図である。この図に例解されるように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含み得る。例えば、下記により詳細に説明されるように、例示的なシステム100は、サーバ側コンピューティングデバイスで、ユーザアカウントの下に記憶された暗号化ファイルにアクセスするクライアントシステムからの要求を識別するようにプログラムされる識別モジュール104を含むことができる。例示的なシステム100はまた、暗号化キーと、クライアント側キーで暗号化されている復号キーとを含む、ユーザアカウントに指定された非対称キーペアを識別するようにプログラムされるキーモジュール106を含み得る。
加えて、下記により詳細に記載されるように、例示的なシステム100は、クライアントシステムからクライアント側キーを受信するようにプログラムされる受信モジュール108を含むことができる。例示的なシステム100は、復号キーをクライアント側キーで復号するようにプログラムされる復号モジュール110を含むことができる。例示的なシステム100は、復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスするようにプログラムされるアクセスモジュール112を含むことができる。別個の要素として例解されるが、図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表し得る。
ある実施形態において、図1のモジュール102のうちの1つ以上は、コンピューティングデバイスにより実行されるとき、コンピューティングデバイスに1つ以上のタスクを実施させ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、下記により詳細に記載されるように、モジュール102のうちの1つ以上は、図2に例解されるデバイス(例えば、コンピューティングデバイス202及び/又はクライアントシステム206)、図8のコンピューティングシステム810、及び/又は図9の例示的なネットワークアーキテクチャ900の部分等、1つ以上のコンピューティングデバイスに記憶され、そこで作動するように構成されるソフトウェアモジュールを表し得る。図1のモジュール102のうちの1つ以上はまた、1つ以上のタスクを実施するように構成される、1つ以上の特殊目的のコンピュータの全て又は部分を表し得る。
図1の例示的なシステム100は、多様な方法で実装されてもよい。例えば、例示的なシステム100の全て又は一部分は、図2の例示的なシステム200の部分を表し得る。図2に示されるように、システム200は、ネットワーク204を介してクライアントシステム206と通信する(例えば、第三者記憶サービスをクライアントシステム206に提供する)コンピューティングデバイス202を含むことができる。
一実施形態では、図1のモジュール102のうちの1つ以上は、コンピューティングデバイス202の少なくとも1つのプロセッサによって実行されるとき、安全な第三者データ記憶内でコンピューティングデバイス202を容易にすることができる。例えば、下記により詳細に記載されるように、モジュール102のうちの1つ以上は、コンピューティングデバイス202に、1)サーバ側コンピューティングデバイス202で、ユーザアカウント240の下に記憶された暗号化ファイル242にアクセスするクライアントシステム206からの要求210を識別すること、2)要求210に応答して、暗号化キー222と、クライアント側キー230で暗号化されている暗号化された復号キー224とを含むユーザアカウント240に指定された非対称キーペア220を識別すること、3)クライアントシステム206からクライアント側キー230を受信すること、4)暗号化された復号キー224をクライアント側キー230で復号すること(例えば、復号キー226をもたらすこと)、5)復号キー226を使用して、暗号化ファイル242(例えば、ファイル244)の暗号化されていないバージョンにアクセスすること、を行わせることができる。
コンピューティングデバイス202及びクライアントシステム206は概して、コンピュータ実行可能な命令を読み取ることが可能な任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス202及びクライアントシステム206の例としては、これらに限定されないが、サーバ、デスクトップ、ラップトップ、タブレット、携帯電話、携帯情報端末(PDA)、マルチメディアプレーヤ、埋め込みシステム、これらのうちの1つ以上の組み合わせ、図8の例示的なコンピューティングシステム810、又は任意の他の好適なコンピューティングデバイスが挙げられる。
ネットワーク204は、概して、通信又はデータ転送を容易にすることが可能な任意の媒体又はアーキテクチャを表す。ネットワーク204の例としては、これらに限定されないが、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、インターネット、電力線通信(PLC)、セルラーネットワーク(例えば、GSMネットワーク(「GSM」は登録商標))、図9の例示的なネットワークアーキテクチャ900、等が挙げられる。ネットワーク204は、無線又は有線接続を使用して通信又はデータ転送を容易にし得る。一実施形態では、ネットワーク204は、コンピューティングデバイス202とクライアントシステム206との間の通信を容易にすることができる。
図3は、安全な第三者データ記憶のための例示的なコンピュータ実装方法300の流れ図である。図3に示される工程は、任意の好適なコンピュータで実行可能なコード及び/又はコンピューティングシステムにより実施されてもよい。一部の実施形態において、図3に示される工程は、図1のシステム100の構成要素のうちの1つ以上、図2のシステム200、図8のコンピューティングシステム810、及び/又は図9の例示的なネットワークアーキテクチャ900の部分により実施されてもよい。
図3に例解されるように、工程302では、本明細書に記載されるシステムのうちの1つ以上は、サーバ側コンピューティングデバイスで、ユーザアカウントの下に記憶された暗号化ファイルにアクセスするクライアントシステムからの要求を識別することができる。例えば、工程302では、識別モジュール104は、図2のコンピューティングデバイス202の一部として、ユーザアカウント240の下に記憶された暗号化ファイル242にアクセスするクライアントシステム206からの要求210を識別することができる。上記の例のいずれにおいても、要求されたアクセスは、暗号化ファイルの復号を必要とするか又はそれを伴い得る。
いくつかの例では、サーバ側コンピューティングデバイスは、第三者記憶システムの一部として動作することができる。本明細書で使用されるとき、用語「第三者記憶システム」は、ユーザの代わりにデータを記憶することが可能であるクラウドベースの記憶システムを含む任意のタイプ又は形態の記憶システムを指す。いくつかの例では、第三者記憶システムは、多数の異なる実体のデータを記憶することができる。少なくとも1つの例では、第三者記憶システムでデータを記憶する実体は、互いに(例えば、実体を超えるデータの非特権アクセスを防ぐために)、侵入者(例えば、第三者記憶システム内に記憶されたデータにアクセスする権限を付与されていない実体)、及び/又は第三者記憶システムの1人以上の管理者に対してデータの安全性を必要とし得る。いくつかの例では、第三者記憶システムは、単一インスタンスの記憶システム(即ち、多数の所有者のコンテンツの各項目の単一インスタンスのみ記憶するように構成される記憶システム)を表すか又は含むことができる。
したがって、クライアントシステムは、同様に、第三者記憶システムの使用を容易にするための任意のシステムを含むことができる。いくつかの例では、クライアントシステムは、サーバ側コンピューティングデバイスの所有者及び/又は管理者とは異なる実体によって所有及び/又は管理されてもよい。
本明細書で使用されるとき、用語「ファイル」は、これらに限定されないが、ファイル、データオブジェクト、データセグメント、データストリームの部分、データベース、データベース入力、及び/又は電子文書を含む任意の好適な単位のデータを指すことができる。加えて、語句「ユーザアカウント」は、データ所有者に対応し得る任意の識別子及び/又は特権システム(例えば、データ所有者によって所有されるデータを識別する、及び/又はデータ所有者による使用のためにデータ所有者によって所有されるデータを確保するために使用される)を指すことができる。
識別モジュール104は、多様なタイプの要求のうちのいずれかを識別することができる。例えば、下記により詳細に説明されるように、識別モジュール104は、クライアントシステムのための暗号化ファイルの暗号化されていないバージョンを取り出す要求を識別することができる。加えて、又は代替として、識別モジュール104は、ファイルのアクセス可能なバージョンを別のユーザアカウントと共有する要求を識別することができる。いくつかの例では、識別モジュール104は、ファイルに1つ以上のプロシージャ(例えば、暗号化ファイルの暗号化されていないバージョンへのアクセスを必要とするプロシージャ)を実施する要求を識別することができる。
識別モジュール104は、多様なコンテクストのうちのいずれかにおける要求を受信することができる。例えば、識別モジュール104は、クライアントシステムからユーザ起動要求を受信することができる。加えて、又は代替として、下記により詳細に説明されるように、識別モジュール104は、暗号化ファイルへのアクセスを可能にするクライアントシステムからクライアント側キーを単純に受信することによって暗号化ファイルにアクセスする暗黙の要求を受信することができる。
図3に戻り、工程304では、本明細書に記載されるシステムのうちの1つ以上は、要求に応答して、暗号化キーと、クライアント側キーで暗号化されている復号キーとの両方を含むユーザアカウントに指定された非対称キーペアを識別することができる。例えば、工程304では、キーモジュール106は、図2のコンピューティングデバイス202の一部として、要求210に応答して、暗号化キー222と、クライアント側キー230で暗号化されている暗号化された復号キー224との両方を含むユーザアカウント240に指定された非対称キーペア220を識別することができる。
本明細書で使用されるとき、語句「非対称キーペア」は、暗号化キー(又は「公開キー」)及び復号キー(又は「秘密キー」)の両方を含む暗号キーの任意のペアを指すことができる。暗号化キーは、キーで暗号化されたデータを安全化するために秘密性を必要としないあらゆるキーを含み得る。例えば、暗号化キーは、非対称キーアルゴリズムを用いてデータを暗号化するために使用されてもよい。その結果として、暗号化キーで暗号化されたデータを復号することは、非対称キーペアの対応する復号キーを必要とし得る。いくつかの例では、非対称キーペアは、第三者記憶システム上、及び/又はそれによって記憶されてもよい。少なくとも1つの例では、暗号化キーも復号キーも第三者記憶システムの外側に分配され得ない。
加えて、語句「クライアント側キー」は、本明細書で使用されるとき、任意の好適な暗号キー、又は非対称キーペアの復号キーを暗号化及び/若しくは復号するためのキーを指すことができる。いくつかの例では、クライアント側キーは、対称キー(例えば、データを暗号化すること、及び前記データを復号することの両方に使用可能なキー)を含み得る。例えば、クライアント側キーは、AES(Advanced Encryption Standard)仕様書(例えば、AES−256)に従ってデータを暗号化及び復号するように構成されてもよい。いくつかの例では、クライアント側キーは、クライアントシステム上で生成されてもよい。例えば、クライアント側キーは、パスワードベースのキー導出関数(例えば、PBKDF2)等のキー導出関数を用いて生成されてもよい。
いくつかの例では、クライアント側キーは、クライアントシステムにキャッシュされ得る。加えて、又は代替として、クライアント側キーは、パスワードから必要に応じて生成され(例えば、クライアントシステム又は第三者記憶システムのいずれかで生成され)てもよい。いくつかの例では、クライアント側キーは、外部キーストアから取り出されてもよい。下記により詳細に説明されるように、いくつかの例では、クライアント側キーは、サーバ側コンピューティングデバイス上、及び/又はサーバ側コンピューティングデバイスによって実装される第三者記憶システム内に記憶されない場合がある。いくつかの例では、クライアント側キーは、対応するクライアントによってのみアクセス可能であってもよい。このクライアントは、組織、共有された秘密を有するグループ、コンピューティングデバイス、及び/又は任意の他の好適な実体に相当し得る。
いくつかの例では、本明細書に記載されるシステムのうちの1つ以上は、非対称キーペア内の暗号化キーを使用して、暗号化ファイルを暗号化した可能性がある。例えば、本明細書に記載されるシステムのうちの1つ以上は、クライアントシステムから暗号化ファイルの暗号化されていないバージョンを受信し、次いで暗号化ファイルを生成することができる。これらのシステムは、暗号化ファイルの暗号化されていないバージョンの少なくとも1つの特性に基づいてファイルキーを生成し、次いで、ファイルキーで、暗号化ファイルの暗号化されていないバージョンを暗号化することによって生成することができる。例えば、これらのシステムは、暗号化ファイルの暗号化されていないバージョンのハッシュを導出し、ハッシュをファイルキーの基礎とすることができる。このように、本明細書に記載されるシステム及び方法は、同一の暗号化されていないファイルから同一の暗号化ファイルを生成し、クライアントにわたる重複排除を可能にすることができる。
例えば、本明細書に記載されるシステムは、暗号化ファイルに、ファイルキーで暗号化される追加の暗号化ファイルとの重複排除を行うことができる。ファイルキーを生成すると、これらのシステムは、ファイルキーを暗号化キーで暗号化することができる。用語「重複排除」は、本明細書で使用されるとき、データが単一インスタンスデータ記憶システムに重複して記憶されるのを検出及び防止するための動作を含む、単一インスタンスデータ記憶システムに使用される記憶領域の量を減少させることに関する1つ以上の動作を指すことができる。重複排除は、任意の好適な重複排除技術又はアルゴリズムを用いて実施され得る。いくつかの例では、重複排除は、ファイルレベルの重複排除を含み得る。加えて、又は代替として、重複排除は、ブロックレベルの重複排除を含んでもよい。
暗号化ファイルの暗号化されていないバージョンを暗号化することに加えて、いくつかの例では、本明細書に記載されるシステムのうちの1つ以上は、暗号化ファイルの暗号化されていないバージョンに基づいて(例えば、暗号化ファイルの暗号化されていないバージョンを暗号化し、それにより暗号化ファイルの暗号化されていないバージョンへのアクセスを失う前に)、1つ以上の動作を実施することができる。例えば、本明細書に記載されるシステムのうちの1つ以上は、暗号化ファイルの暗号化されていないバージョンのコンテンツを索引付けし、暗号化ファイルの暗号化されていないバージョンにアンチマルウェア走査を実施し、暗号化ファイルの暗号化されていないバージョンのコンテンツのプレビューを生成するなどを行うことができる。これらの例では、これらのシステムは、暗号化ファイルが暗号化された時点で、暗号化ファイルの暗号化されていないバージョンから生成されたメタデータを暗号化ファイルと関連付けることができる。
キーモジュール106は、任意の好適な様式でユーザアカウントに指定された非対称キーペアを識別することができる。いくつかの例では、第三者記憶システムは、各々が、指定された異なる非対称キーペアを有する、複数のユーザアカウントのデータをホストすることができる。したがって、キーモジュール106は、クライアントシステムによって提供される1つ以上の識別子及び/又は認証情報に従ってユーザアカウントの非対称キーペアを識別することができる。
図3に戻り、工程306では、本明細書に記載されるシステムのうちの1つ以上は、クライアントシステムから、クライアント側キーを受信することができる。例えば、工程306では、受信モジュール108は、図2のコンピューティングデバイス202の一部として、クライアントシステム206からクライアント側キー230を受信することができる。
前述のように、いくつかの例では、クライアント側キーは、サーバ側に(即ち、サーバ側コンピューティングデバイス及び/又は関連付けられた第三者記憶システムに)記憶されない場合がある。例えば、受信モジュール108は、クライアント側キーを受信し、クライアント側キーを不揮発性メモリ内に記憶することなくクライアント側キーを揮発性メモリ内に記憶することができる。本明細書で使用されるとき、語句「揮発性メモリ」は、あらゆる非持続的及び/又は一時的記憶場所を指すことができる。いくつかの例では、語句「揮発性メモリ」は、ランダムアクセスメモリを指すことができる。加えて、語句「不揮発性メモリ」は、あらゆる持続的記憶場所を指すことができる。例えば、語句「不揮発性メモリ」は、1つ以上のファイルを記憶するためにファイルシステムによって使用される記憶デバイスを指すことができる。いくつかの例では、受信モジュール108は、クライアント側キーを受信することができ、使用後にはクライアント側キーを保存しなくてもよい。例えば、受信モジュール108は、クライアントシステムとのセッションが終了した後、クライアント側キーを破棄することができる。
受信モジュール108は、多様な方法のうちのいずれかでクライアントシステムからクライアント側キーを受信することができる。例えば、受信モジュール108は、クライアントシステムから直接クライアント側キーを受信することができる。加えて、又は代替として、受信モジュール108は、クライアント側キーを表すデータを受信することによってクライアントシステムからクライアント側キーを受信することができ、そこからクライアント側キーが生成され得る。例えば、受信モジュール108は、クライアントシステムからキー導出関数のパスワードを受信し、このキー導出関数を使用して、パスワードからクライアント側キーを生成することができる。この例では、受信モジュール108はまた、パスワードを不揮発性メモリ内にのみ保存し、及び/又はパスワードを使用して、クライアント側キーを生成するとパスワードを破棄することができる。
図3に戻り、工程308では、本明細書に記載されるシステムのうちの1つ以上は、復号キーをクライアント側キーで復号することができる。例えば、工程308では、復号モジュール110は、図2のコンピューティングデバイス202の一部として、暗号化された復号キー224をクライアント側キー230で復号する(例えば、復号キー226をもたらす)ことができる。
復号モジュール110は、復号キーを任意の好適な様式で復号することができる。例えば、復号モジュール110は、復号キーの復号化されたバージョンを生成する所定の対称キーアルゴリズムに従って、クライアント側キーを復号キーに適用することができる。
工程310では、本明細書に記載されるシステムのうちの1つ以上は、復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることができる。例えば、工程310では、アクセスモジュール112は、図2のコンピューティングデバイス202の一部として、復号キー226を使用して、暗号化ファイル242の暗号化されていないバージョン(例えば、ファイル244)にアクセスすることができる。
アクセスモジュール112は、多様な方法のいずれかで、復号キーを使用して、暗号化ファイルの暗号化されていないバージョンにアクセスすることができる。例えば、アクセスモジュール112は、暗号化ファイルを暗号化するために使用されるファイルキーを識別することができる。この例では、ファイルキーは、暗号化キーで暗号化され得る。したがって、アクセスモジュール112は、ファイルキーを復号キーで復号し、次いで暗号化ファイルをファイルキーで復号することができる。
アクセスモジュール112は、多様な目的のいずれかに対して暗号化ファイルの暗号化されていないバージョンにアクセスすることができる。例えば、上記に詳述されるように、クライアントシステムからの要求は、暗号化ファイルの暗号化されていないバージョンを取り出す要求を含むことができる。したがって、アクセスモジュール112は、暗号化ファイルの暗号化されていないバージョンをクライアントシステムに(例えば、要求に応答して)送信することができる。
図4は、安全な第三者データ記憶のための例示的なシステム400を例解する。図4に示されるように、例示的なシステム400は、第三者記憶サーバ420によって容易にされる第三者記憶サービスを介して1つ以上のファイルを記憶するように構成されるクライアントシステム410を含むことができる。例えば、クライアントシステム410は、暗号化されていないファイル446を第三者記憶サーバ420に以前に送信した可能性がある。第三者記憶サーバ420は、クライアントシステム410と関連付けられた非対称キーペア430を識別し、暗号化キー432を用いて暗号化されていないファイル446を暗号化した可能性がある。一例では、クライアントシステム410は、現時点では暗号化ファイル440として第三者記憶サーバ420に記憶されている、暗号化されていないファイル446を取り出すことを試みることができる。例えば、工程450では、クライアントシステム410は、暗号化されていないファイル446を要求し、クライアント側キー412を含むメッセージを第三者記憶サーバ420に送信することができる。第三者記憶サーバ420は、それに応じて、クライアント側キー412を受信し、クライアント側キー412を使用のためにメモリ内に維持することができる。
工程452では、第三者記憶サーバ420は、非対称キーペア430を識別し、暗号化された復号キー434をクライアント側キー412を用いて復号して、復号キー436をもたらすことができる。工程454では、第三者記憶サーバ420は、復号キー436を使用して、暗号化されたファイルキー442を復号し、暗号化ファイル440のファイルキー444を得ることができる。工程456では、第三者記憶サーバ420は、ファイルキー444を使用して、暗号化ファイル440を復号し、暗号化されていないファイル446を得ることができる。工程458では、第三者記憶サーバ420は、暗号化されていないファイル446をクライアントシステム410に送信し、クライアントシステム410による要求を満たすことができる。加えて、第三者記憶サーバ420は、クライアント側キー412、復号キー436、及びファイルキー444を破棄し、暗号化されていないファイル446を削除することができる。
図3の工程310に戻り、いくつかの例では、アクセスモジュール112は、暗号化ファイルの暗号化されていないバージョンにアクセスして、暗号化ファイルの暗号化されていないバージョンを記述するメタデータを生成することができる。いくつかの例では、アクセスモジュール112は次に、暗号化ファイルの暗号化されていないバージョンがもはや第三者記憶システムで直接アクセスできなくなった後であっても、暗号化ファイルを記述したメタデータは利用可能なままであるように、メタデータを暗号化ファイルと関連して記憶することができる。
例えば、アクセスモジュール112は、(例えば、暗号化ファイルが何らかのマルウェアを含むか、又は何らかの他のセキュリティリスクをもたらすかを判定するために)暗号化ファイルの暗号化されていないバージョンにセキュリティ走査を実施することができる。別の例では、アクセスモジュール112は、暗号化ファイルの暗号化されていないバージョン内のコンテンツに基づいて暗号化ファイルの暗号化されていないバージョンを索引付けする(例えば、暗号化ファイルの暗号化されていないバージョンへアクセスすることなくそのコンテンツに基づいて暗号化ファイルを探すのを容易にする)ことができる。更なる例では、アクセスモジュール112は、暗号化ファイルの暗号化されていないバージョン内のコンテンツに基づいて暗号化ファイルの暗号化されていないバージョンのプレビューを生成する(例えば、暗号化ファイルの暗号化されていないバージョンへアクセスすることなく暗号化ファイルを閲覧するのを容易にする)ことができる。加えて、又は代替として、上記に詳述されるように、いくつかの例では、本明細書に記載される1つ以上のシステムは、暗号化ファイルの暗号化されていないバージョンが最初にアップロードされるときに(例えば、暗号化前に)、上述される動作のうちの1つ以上を実施することができる。
いくつかの例では、アクセスモジュール112は、暗号化ファイルの暗号化されていないバージョンへのアクセスを別の関係者に提供することができる。例えば、アクセスモジュール112は、暗号化ファイルの暗号化されていないバージョンへのアクセスを別のユーザアカウントに提供することができる。この例では、追加の非対称キーペアは、追加の暗号化キーと、追加の復号キーとを含む追加のユーザアカウントに指定されてもよい。追加の復号キーは、追加のクライアント側キー(例えば、追加のユーザアカウントに対応する追加のクライアントシステムに関連する)で暗号化されてもよい。この例では、アクセスモジュール112は、暗号化ファイルを暗号化するために使用されるファイルキーを最初に識別することによって暗号化ファイルの暗号化されていないバージョンへのアクセスを追加のユーザアカウントに提供することができる。暗号化ファイルがユーザアカウントに関連し得ることにより、ファイルキーは、暗号化キー(即ち、ユーザアカウントに対応する非対称キーペアの暗号化キー)で暗号化されてもよい。アクセスモジュール112は次に、ファイルキーを復号キーで復号し、ファイルキーのコピーを追加の暗号化キーで暗号化することができる。このように、追加のユーザアカウントは、暗号化ファイルへのアクセス(例えば、追加のクライアント側キーを提出してファイルキーを復号し、ファイルキーによる暗号化ファイルの復号を可能にすることによる)を有することができる。
図5は、安全な第三者データ記憶のための例示的なシステム500を例解する。図5に示されるように、例示的なシステム500は、第三者記憶サーバ520によって容易にされた第三者記憶サービスを介して1つ以上のファイルを記憶し、及び/又はそれにアクセスするように構成されるクライアントシステム510(1)及び510(2)を含むことができる。例えば、第三者記憶サーバ520は、クライアントシステム510(1)の代わりに暗号化ファイル540を記憶することができる。この例では、非対称キーペア530(1)は、クライアントシステム510(1)に対応することができ、非対称キーペア530(2)は、クライアントシステム510(2)に対応することができる。したがって、暗号化ファイル540は、暗号化キー532(1)で暗号化されるファイルキー544で暗号化され、暗号化されたファイルキー542(1)として記憶されてもよい。
工程550では、クライアントシステム510(1)は、暗号化ファイル540の暗号化されていないコンテンツへのアクセスをクライアントシステム510(2)と共有する要求を第三者記憶サーバ520に送信することができる。この要求は、クライアント側キー512(1)を含むことができる。第三者記憶サーバ520は、クライアント側キー512(1)を受信し、工程552で、暗号化された復号キー534(1)をクライアント側キー512(1)で復号して、復号キー536(1)を得ることができる。工程554では、第三者記憶サーバ520は、暗号化されたファイルキー542(1)を復号キー536(1)で復号して、ファイルキー544を得ることができる。工程556では、第三者記憶サーバ520は、ファイルキー544を暗号化キー532(2)で暗号化して、暗号化されたファイルキー542(2)を得て、将来の使用のために暗号化されたファイルキー542(2)を記憶することができる。工程558では、第三者記憶サーバ520は、暗号化ファイル540の暗号化されていないコンテンツにアクセスするクライアントシステム510(2)からの要求を受信することができる。この要求は、クライアント側キー512(2)を含み、第三者記憶サーバ520が暗号化された復号キー534(2)を復号するのを可能にし、それによりファイルキー544を得て、暗号化ファイル540を復号するために暗号化されたファイルキー542(2)を復号することができる。
いくつかの例では、アクセスモジュール112は、追加のユーザアカウントに対応する追加のクライアント側キーがユーザアカウントの復号キーを復号するのを可能にすることによって、暗号化ファイルの暗号化されていないバージョンへのアクセスを追加のユーザアカウントに提供することができる。例えば、アクセスモジュール112は、暗号化ファイルの暗号化されていないバージョンにアクセスするように指定された追加のユーザアカウントを識別することができる。この例では、追加の非対称キーペアは、追加の暗号化キーと、追加の復号キーとの両方を含む追加のユーザアカウントに指定されてもよい。追加の復号キーは、追加のクライアント側キー(例えば、追加のユーザアカウントに対応する追加のクライアントシステムに関連する)で暗号化されてもよい。
上述の例では、アクセスモジュール112は、復号キーを追加の暗号化キーで暗号化すること(例えば、後の使用のために暗号化された復号キーを追加のユーザアカウントで記憶すること)によって、暗号化ファイルの暗号化されていないバージョンへのアクセスを追加のユーザアカウントに提供することができる。例えば、本明細書に記載されるシステムのうちの1つ以上は、後で、追加のユーザアカウントを介して暗号化ファイルに更にアクセスする追加のクライアントシステムからの追加の要求を識別することができる。これらのシステムは次に、復号キーを追加の復号キーで復号し、この復号キーを使用して、追加のユーザアカウントを介して(例えば、この復号キーを使用して、暗号化ファイルが暗号化されたファイルキーを復号し、次いでこのファイルキーで暗号化ファイルを復号することによって)、暗号化ファイルの暗号化されていないバージョンにアクセスすることができる。いくつかの例では、上述される手法は、ユーザアカウントと追加のユーザアカウントとの間の多数のファイルを共有するために使用されてもよい。この手法はまた、いくつかの暗号処理工程を除外する(例えば、共有された各ファイルの別個の暗号化されたファイルキーの生成を必要としないことによって)ことができる。
図6は、安全な第三者データ記憶のための例示的なシステム600を例解する。図6に示されるように、例示的なシステム600は、第三者記憶サーバ620によって容易にされた第三者記憶サービスを介して1つ以上のファイルを記憶し、及び/又はそれにアクセスするように構成されるクライアントシステム610(1)及び610(2)を含むことができる。例えば、第三者記憶サーバ620は、クライアントシステム610(1)の代わりに暗号化ファイル640、642、及び644を記憶することができる。この例では、非対称キーペア630(1)は、クライアントシステム610(1)に対応することができ、非対称キーペア630(2)は、クライアントシステム610(2)に対応することができる。したがって、暗号化ファイル640、642、及び644は、暗号化されたファイルキー641、643、及び645でそれぞれ暗号化されてもよく、同様に暗号化キー632(1)で暗号化されてもよい。
工程650では、クライアントシステム610(1)は、暗号化ファイル640、642、及び644の暗号化されていないコンテンツへのアクセスをクライアントシステム610(2)と共有する要求を第三者記憶サーバ620に送信することができる。この要求は、クライアント側キー612(1)を含むことができる。第三者記憶サーバ620は、クライアント側キー612(1)を受信し、工程652で、暗号化された復号キー634(1)をクライアント側キー612(1)で復号して、復号キー636(1)を得ることができる。
工程654では、第三者記憶サーバ620は、復号キー636(1)を暗号化キー632(2)で暗号化して、暗号化された復号キー638を得ることができる。第三者記憶サーバ620は次に、将来の使用のために暗号化された復号キー638を記憶することができる。その後、工程656では、クライアントシステム610(2)は、暗号化ファイル640、642、及び644のうちの1つ以上にアクセスするクライアント側キー612(2)を含む要求を第三者記憶サーバ620に送信することができる。第三者記憶サーバ620は次に、暗号化された復号キー638を暗号化された復号キー634(2)で復号して復号キー636(1)を得て、かつ暗号化されたファイルキー641、643、及び645のうちの1つ以上を復号キー636(1)で復号して、暗号化ファイル640、642、及び644のうちの1つ以上の暗号化されていないコンテンツを得ることによってアクセスを提供することができる。
図3の工程310に戻り、いくつかの例では、アクセスモジュール112は、ユーザアカウントのグループの会員であることに基づいて暗号化ファイルの暗号化されていないバージョンへのアクセスを提供することができる。例えば、アクセスモジュール112は、ユーザアカウントを含むユーザアカウントのグループに指定された追加の非対称キーペアを識別することができる。追加の非対称キーペアは、追加の暗号化キーと、追加の復号キーとを含むことができる。追加の復号キーは、ユーザアカウントの非対称キーペアに対応する暗号化キーで暗号化されてもよい。アクセスモジュール112は次に、追加の復号キーを復号キーで復号することができる。アクセスモジュール112は、暗号化ファイルを暗号化するために使用されるファイルキーを更に識別することができる。ファイルキーは、追加の暗号化キーで暗号化されてもよい。アクセスモジュール112は、ファイルキーを追加の復号キーで復号し、暗号化ファイルをファイルキーで復号することができる。更なる例では、アクセスモジュール112は、ファイルキーの代わりに追加の暗号化キーで暗号化されてもよい。この例では、アクセスモジュール112は、暗号化ファイルを追加の復号キーで単純に復号することができる。
図7は、安全な第三者データ記憶のための例示的なシステム700を例解する。図7に示されるように、例示的なシステム700は、第三者記憶サーバ720によって容易にされた第三者記憶サービスを介して1つ以上のファイルを記憶し、及び/又はそれにアクセスするように構成されるクライアントシステム710(1)、710(2)、及び710(3)を含むことができる。例えば、第三者記憶サーバ720は、クライアントシステム710(1)〜(3)の代わりに暗号化ファイル746、747、及び748を記憶することができる。この例では、パーソナル非対称キーペア730(1)は、クライアントシステム710(1)に対応することができ、グループ非対称キーペア740(2)は、グループ(例えば、各々が暗号化された復号キー744(1)、744(2)、及び744(3)をそれぞれ持つ、グループ復号キー738の暗号化されたバージョンを有する、クライアントシステム710(1)、710(2)、及び710(3)で)としてクライアントシステム710(1)〜(3)に対応することができる。暗号化ファイル746、747、及び748は、暗号化キー742で暗号化されてもよい。
工程750では、クライアントシステム710(1)は、暗号化ファイル740の暗号化されていないコンテンツにアクセスする要求を第三者記憶サーバ720に送信することができる。この要求は、クライアント側キー712(1)を含むことができる。第三者記憶サーバ720は、クライアント側キー712(1)を受信し、工程752では、暗号化された復号キー734(1)をクライアント側キー712(1)で復号して、パーソナル復号キー736(1)を得ることができる。工程754では、第三者記憶サーバ720は、暗号化された復号キー744(1)をパーソナル復号キー736(1)で復号して、グループ復号キー738を得ることができる。工程756では、第三者記憶サーバ720は、暗号化ファイル746をグループ復号キー738で復号して、暗号化されていないファイル749を得ることができる。工程758では、第三者記憶サーバ720は、暗号化されていないファイル749をクライアントシステム710(1)に送信することができる。同様の様式で、第三者記憶サーバ720は、暗号化された復号キー744(2)及び744(3)をクライアント側キー712(2)及び712(3)でそれぞれ復号することによって、クライアントシステム710(2)及び710(3)に対する暗号化ファイル746、747、及び/又は748の暗号化されていないバージョンを得ることができる。あるいは、前述のように、いくつかの例では、暗号化ファイル746、747、及び748は各々、それぞれのファイルキーで暗号化されてもよく、同様に、各々が暗号化キー742で暗号化されてもよい。これらの例では、第三者記憶サーバ720は、ファイルキーをグループ復号キー738で復号し、次いで暗号化ファイル746、747、及び748をそれぞれのファイルキーで復号することができる。
上記に説明されるように、安全化されたデータを暗号化及び復号するための非対称キーペアを第三者記憶サーバ上に維持し、非対称キーペアの復号キーをクライアントによって維持される暗号化キーで暗号化することによって、本明細書に記載されるシステム及び方法は、暗号化されていない状態で、安全化されたデータにアクセスするために必要なクライアント側復号キーを記憶することなく、クライアントデータを安全に記憶及び暗号化することができる。それにより、これらのシステム及び方法は、この安全化されたデータの共有、重複排除、分析、及び/若しくは索引付けを更に可能にし、並びに/又は容易にしながら、第三者記憶システムへのアクセスを得た攻撃者が暗号化されていない状態の安全化されたデータにアクセスするのを防ぐことができる。
図8は、本明細書に記載及び/又は例解される実施形態のうちの1つ以上を実装することが可能な例示的なコンピューティングシステム810のブロック図である。例えば、コンピューティングシステム810の全て又は一部分は、単独又は他の要素との組み合わせのいずれかで、本明細書に記載される工程を識別すること、受信すること、生成すること、暗号化すること、重複排除すること、記憶すること、復号すること、使用すること、アクセスすること、送信すること、生成すること、実施すること、索引付けすること、及び提供することのうちの1つ以上を実施し得る、及び/又はそれを実施するための手段であり得る。コンピューティングシステム810の全て又は一部分はまた、本明細書に記載及び/又は例解される任意の他の工程、方法、又はプロセスを実施し得る、及び/又は実施するための手段であり得る。
コンピューティングシステム810は、コンピュータで読み取り可能な命令を実行することが可能な任意の単一又はマルチプロセッサコンピューティングデバイス又はシステムを広範に表す。コンピューティングシステム810の例としては、これらに限定されないが、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ノートデバイス、又は任意の他のコンピューティングシステム又はデバイスが挙げられる。最も基本的な構成において、コンピューティングシステム810は、少なくとも1つのプロセッサ814及びシステムメモリ816を含み得る。
プロセッサ814は、概して、データ処理又は命令の解釈及び実行が可能な任意のタイプ又は形態の処理ユニットを表す。ある実施形態において、プロセッサ814は、ソフトウェアアプリケーション又はモジュールから命令を受信し得る。これらの命令は、プロセッサ814に、本明細書に記載及び/又は例解される例示的な実施形態のうちの1つ以上の機能を実施させ得る。
システムメモリ816は、概して、データ及び/又は他のコンピュータで読み取り可能な命令を記憶することが可能な揮発性又は非揮発性の記憶デバイス又は媒体の任意のタイプ又は形態を表す。システムメモリ816の例としては、これらに限定されないが、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必ずしも必要ではないが、ある実施形態において、コンピューティングシステム810は、揮発性メモリユニット(例えば、システムメモリ816等)及び非揮発性記憶デバイス(例えば、以下に詳細に説明されるように、一次記憶デバイス832等)を含み得る。一実施例において、図1からのモジュール102のうちの1つ以上は、システムメモリ816にロードされ得る。
ある実施形態において、例示的なコンピューティングシステム810はまた、プロセッサ814及びシステムメモリ816に加えて、1つ以上の構成要素又は要素を含んでもよい。例えば、図8に例解されるように、コンピューティングシステム810は、通信基盤818を介して各々が相互接続され得る、メモリコントローラ820、入力/出力(I/O)コントローラ822、及び通信インターフェース812を含んでもよい。通信基盤812は、概して、コンピューティングデバイスの1つ以上の構成要素の間の通信を容易にすることが可能な任意のタイプ又は形態の基盤を表し得る。通信基盤812の例としては、これらに限定されないが、通信バス(ISA、PCI、PCIe、類似のバス等)及びネットワークが挙げられる。
メモリコントローラ818は、概して、コンピューティングシステム810の1つ以上の構成要素間でメモリ若しくはデータを扱う、又は通信を制御することが可能な任意のタイプ又は形態のデバイスを表し得る。例えば、ある実施形態において、メモリコントローラ818は、通信基盤812を介して、プロセッサ814、システムメモリ816、及びI/Oコントローラ820との間で通信を制御し得る。
I/Oコントローラ820は、概して、コンピューティングデバイスの入力及び出力機能を調整及び/又は制御することが可能な任意のタイプ又は形態のモジュールを表し得る。例えば、ある実施形態において、I/Oコントローラ820は、プロセッサ814、システムメモリ816、通信インターフェース822、ディスプレイアダプタ826、入力インターフェース830、及び記憶インターフェース834のような、コンピューティングシステム810の1つ以上の要素間のデータの転送を制御又は容易にし得る。
通信インターフェース822は、広範に、例示的なコンピューティングシステム810と1つ以上の追加のデバイスとの間の通信を容易にすることが可能な任意のタイプ若しくは形態の通信デバイス又はアダプタを表し得る。例えば、ある実施形態において、通信インターフェース822は、コンピューティングシステム810と、追加のコンピューティングシステムを含む私的又は公的なネットワークとの間の通信を容易にし得る。通信インターフェース822の例としては、これらに限定されないが、有線ネットワークインターフェース(ネットワークインターフェースカード等)、無線ネットワークインターフェース(無線ネットワークインターフェースカード等)、モデム、及び任意の他の好適なインターフェースが挙げられる。少なくとも1つの実施形態において、通信インターフェース822は、インターネット等の、ネットワークへの直接的なリンクを介して、リモートサーバへ直接的な接続を提供し得る。通信インターフェース822はまた、例えば、ローカルエリアネットワーク(イーサネットネットワーク(「イーサネット」は登録商標、以下同じ)等)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、携帯電話接続、衛星データ接続、又は任意の他の好適な接続を通じて、間接的にかかる接続を提供してもよい。
ある実施形態において、通信インターフェース822はまた、外部バス又は通信チャンネルを介して、コンピューティングシステム810と、1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成されるホストアダプタを表し得る。ホストアダプタの例としては、これらに限定されないが、SCSIホストアダプタ、USBホストアダプタ、IEEE 1394ホストアダプタ、SATA及びeSATAホストアダプタ、ATA及びPATAホストアダプタ、ファイバーチャンネルインターフェースアダプタ、イーサネットアダプタ等が挙げられる。通信インターフェース822はまた、コンピューティングシステム810が、分散型又はリモートコンピューティングに関与することを可能にし得る。例えば、通信インターフェース822は、実行のためにリモートデバイスから命令を受信するか、又はリモートデバイスへ命令を送信することができる。
図8に例解されるように、コンピューティングシステム810はまた、ディスプレイアダプタ826を介して通信基盤812に連結される少なくとも1つのディスプレイデバイス824を含んでもよい。ディスプレイデバイス824は、概して、ディスプレイアダプタ826によって転送される情報を視覚的に表示することが可能な任意のタイプ又は形態のデバイスを表し得る。同様に、ディスプレイアダプタ826は、概して、ディスプレイデバイス812上で表示するために、通信基盤824から(又は、当該分野で周知の、フレームバッファから)グラフィック、テキスト、及び他のデータを転送するように構成される任意のタイプ又は形態のデバイスを表す。
図8に例解されるように、例示的なコンピューティングシステム810はまた、入力インターフェース830を介して通信基盤812に連結される少なくとも1つの入力デバイス828を含んでもよい。入力デバイス828は、概して、例示的なコンピューティングシステム810に、コンピュータ又は人間のいずれかが生成した入力を提供することが可能な任意のタイプ又は形態の入力デバイスを表し得る。入力デバイス828の例としては、これらに限定されないが、キーボード、ポインティングデバイス、音声認識デバイス、又は任意の他の入力デバイスが挙げられる。
図8に例解されるように、例示的なコンピューティングシステム810はまた、記憶インターフェース834を介して通信基盤812に連結される一次記憶デバイス832及びバックアップ記憶デバイス833を含んでもよい。記憶デバイス832及び833は、概して、データ及び/又は他のコンピュータで読み取り可能な命令を記憶することが可能な任意のタイプ又は形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス832及び833は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ(「フロッピー」は登録商標、以下同じ)、磁気タイプドライブ、光ディスクドライブ、フラッシュドライブ等であり得る。記憶インターフェース834は、概して、記憶デバイス832及び833とコンピューティングシステム810の他の構成要素との間でデータを転送するための任意のタイプ又は形態のインターフェース又はデバイスを表す。
ある実施形態において、記憶デバイス832及び833は、コンピュータソフトウェア、データ、又は他のコンピュータで読み取り可能な情報を記憶するように構成される取り外し可能な記憶ユニットから読み取る、及び/又は取り外し可能な記憶ユニットに書き込むように構成されてもよい。好適な取り外し可能な記憶ユニットの例としては、これらに限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイス等が挙げられる。記憶デバイス832及び833はまた、コンピュータソフトウェア、データ、又は他のコンピュータで読み取り可能な命令がコンピューティングシステム810にロードされることを可能にするための他の類似の構造又はデバイスを含んでもよい。例えば、記憶デバイス832及び833は、ソフトウェア、データ、又は他のコンピュータで読み取り可能な情報を読み取る及び書き込むように構成され得る。記憶デバイス832及び833はまた、コンピューティングシステム810の一部であってもよく、又は他のインターフェースシステムを通じてアクセスされる別個のデバイスであってもよい。
多くの他のデバイス又はサブシステムが、コンピューティングシステム810に接続され得る。反対に、本明細書に記載及び/又は例解される実施形態を実践するために、図8に例解される構成要素及びデバイスの全てが存在する必要はない。上で言及されるデバイス及びサブシステムはまた、図8に示されるものとは異なる方法で相互接続されてもよい。コンピューティングシステム810はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を用いてもよい。例えば、本明細書に開示される例示的な実施形態のうちの1つ以上は、コンピュータで読み取り可能な記憶媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータで読み取り可能な命令、又はコンピュータ制御論理とも称される)としてコード化され得る。「コンピュータで読み取り可能な記憶媒体」という句は、概して、コンピュータで読み取り可能な命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ読み取り可能な記憶媒体の例としては、これらに限定されないが、搬送波等の伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ及びフロッピーディスク)、光記憶媒体(例えば、CD−又はDVD−ROM)、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、及び他の分散システム等の非一時的型媒体が挙げられる。
コンピュータプログラムを含むコンピュータで読み取り可能な記憶媒体は、コンピューティングシステム810にロードされ得る。次いで、コンピュータで読み取り可能な記憶媒体上に記憶されるコンピュータプログラムの全ての又は一部分は、システムメモリ816、並びに/又は記憶デバイス832及び833の多様な部分に記憶され得る。プロセッサ814により実行されるとき、コンピューティングシステム810にロードされるコンピュータプログラムは、プロセッサ814に、本明細書に記載及び/又は例解される例示的な実施形態のうちの1つ以上の機能を実施させ得る、及び/又は実施するための手段であり得る。更に又は代替的に、本明細書に記載及び/又は例解される例示的な実施形態のうちの1つ以上は、ファームウェア及び/又はハードウェアに実装され得る。例えば、コンピューティングシステム810は、本明細書に開示される例示的な実施形態のうちの1つ以上を実装するように適合される、特定用途向け集積回路(ASIC)として構成されてもよい。
図9は、クライアントシステム910、920、及び930、並びにサーバ940及び945がネットワーク950に連結され得る、例示的なネットワークアーキテクチャ900のブロック図である。上記に詳述されるように、ネットワークアーキテクチャ900の全て又は一部分は、単独又は他の要素との組み合わせのいずれかで、本明細書に開示される工程を識別すること、受信すること、生成すること、暗号化すること、重複排除すること、記憶すること、復号すること、使用すること、アクセスすること、送信すること、生成すること、実施すること、索引付けすること、及び提供することのうちの1つ以上を実施し得る、及び/又はそれを実施するための手段であり得る。ネットワークアーキテクチャ900の全て又は一部分はまた、本開示に記載される他の工程及び特性を実施するために使用され得る、及び/又は実施するための手段であり得る。
クライアントシステム910、920、及び930は、概して、図8の例示的なコンピューティングシステム810等の、コンピューティングデバイス又はシステムの任意のタイプ又は形態を表し得る。同様に、サーバ940及び945は、概して、多様なデータベースサービスを提供する及び/又はあるソフトウェアアプリケーションを作動させるように構成される、アプリケーションサーバ又はデータベースサーバ等のコンピューティングデバイス又はシステムを表す。ネットワーク950は、概して、例えば、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを表す。一実施例において、クライアントシステム910、920、及び/若しくは930、並びに/又はサーバ940及び/若しくは945は、図1からのシステム100の全ての又は一部分を含んでもよい。
図9に例解されるように、1つ以上の記憶デバイス960(1)〜(N)は、サーバ940に直接接続され得る。同様に、1つ以上の記憶デバイス970(1)〜(N)は、サーバ945に直接接続され得る。記憶デバイス960(1)〜(N)及び記憶デバイス970(1)〜(N)は、概して、データ及び/又は他のコンピュータで読み取り可能な命令を記憶することが可能な任意のタイプ又は形態の記憶デバイス又は媒体を表す。ある実施形態において、記憶デバイス960(1)〜(N)及び記憶デバイス970(1)〜(N)は、NFS、SMB、又はCIFS等の、多様なプロトコルを使用してサーバ940及び945と通信するように構成されるネットワーク接続記憶(NAS)デバイスを表し得る。
サーバ940及び945はまた、記憶エリアネットワーク(SAN)ファブリック980に接続され得る。SANファブリック980は、概して、複数の記憶デバイス間の通信を容易にすることが可能な任意のタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック980は、サーバ940及び945と複数の記憶デバイス990(1)〜(N)及び/又は知的記憶アレイ995との間の通信を容易にし得る。SANファブリック980はまた、デバイス990(1)〜(N)及びアレイ995が、クライアントシステム910、920、及び930にローカルで接続されたデバイスとして現れるような様式で、ネットワーク950並びにサーバ940及び945を介して、クライアントシステム910、920、及び930と記憶デバイス990(1)〜(N)及び/又は知的記憶アレイ995との間の通信を容易にし得る。記憶デバイス960(1)〜(N)及び記憶デバイス970(1)〜(N)と同様に、記憶デバイス990(1)〜(N)及び知的記憶アレイ995は、概して、データ及び/又は他のコンピュータで読み取り可能な命令を記憶することが可能な任意のタイプ又は形態の記憶デバイス又は媒体を表す。
ある実施形態において、及び図8の例示的なコンピューティングシステム810を参照して、図8の通信インターフェース822等の通信インターフェースは、各クライアントシステム910、920、及び930とネットワーク950との間の接続性を提供するために使用されてもよい。クライアントシステム910、920、及び930は、例えば、ウェブブラウザ又はその他のクライアントソフトウェアを使用して、サーバ940又は945上の情報にアクセスすることが可能であり得る。そのようなソフトウェアは、クライアントシステム910、920、及び930が、サーバ940、サーバ945、記憶デバイス960(1)〜(N)、記憶デバイス970(1)〜(N)、記憶デバイス990(1)〜(N)、又は知的記憶アレイ995によりホストされるデータにアクセスすることを可能にし得る。図9は、データを交換するためのネットワーク(インターネット等)の使用を描写するが、本明細書に記載及び/又は例解される実施形態は、インターネット又はいかなる特定のネットワークに基づく環境にも限定されない。
少なくとも1つの実施形態において、本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ940、サーバ945、記憶デバイス960(1)〜(N)、記憶デバイス970(1)〜(N)、記憶デバイス990(1)〜(N)、知的記憶アレイ995、又はそれらの任意の組み合わせ上にロードされ、それによって実行され得る。本明細書に開示される少なくとも1つの例示的な実施形態の全て又は一部分は、コンピュータプログラムとしてとしてコード化され、サーバ940に記憶され、サーバ945により作動され、ネットワーク950を通じてクライアントシステム910、920、及び930に分散され得る。
上記に詳述されるように、コンピューティングシステム810及び/又はネットワークアーキテクチャ900の1つ以上の構成要素は、単独又は他の要素との組み合わせのいずれかで、安全な第三者データ記憶のための例示的な方法の1つ以上の工程を実施し得る、及び/又はそれを実施するための手段であり得る。
先述の開示は、特定のブロック図、流れ図、及び実施例を使用して多様な実施形態を説明するが、本明細書に記載及び/又は例解される各ブロック図の構成要素、流れ図の工程、動作、及び/又は構成要素は、個別に及び/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(又はそれらの任意の組み合わせ)構成を使用して、実装されてもよい。更に、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャが同じ機能性を達成するために実装することができるため、事実上例示的なものと見なされるべきである。
一部の実施例において、図1の例示的なシステム100の全ての又は一部分は、クラウドコンピューティング又はネットワークに基づく環境の部分を表し得る。クラウドコンピューティング環境は、インターネットを介して多様なサービス及びアプリケーションを提供することができる。これらのクラウドに基づくサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤等)は、ウェブブラウザ又は他のリモートインターフェースを通じてアクセス可能であり得る。本明細書に記載の多様な機能は、リモートデスクトップ環境又は任意の他のクラウドに基づくコンピューティング環境を通じて提供され得る。
本明細書に記載及び/又は例解されるプロセスパラメータ及び工程の順序は、ほんの一例として提供され、所望に応じて変更することができる。例えば、本明細書に例解及び/又は記載される工程が特定の順序で示される又は論議されるが、これらの工程は、必ずしも例解又は論議される順序で実施される必要はない。本明細書に記載及び/又は例解される多様な例示的な方法はまた、本明細書に記載及び/又は例解される工程のうちの1つ以上を省略してもよく、又は開示されるものに加えて追加の工程を含んでもよい。
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈において、本明細書に記載及び/又は例解されているが、これらの例示的な実施形態のうちの1つ以上は、実際に分散を行うために使用されるコンピュータで読み取り可能な記憶媒体の特定のタイプにかかわらず、多様な形態のプログラム製品として分散され得る。本明細書に開示の実施形態はまた、あるタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータで読み取り可能な記憶媒体上又はコンピューティングシステムに記憶され得る、他の実行可能なファイルを含んでもよい。一部の実施例において、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの1つ以上を実施するように、コンピューティングシステムを構成し得る。
更に、本明細書に記載のモジュールのうちの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を1つの形態から別の形態へ変換し得る。例えば、本明細書に列挙されるモジュールのうちの1つ以上は、コンピューティングデバイスを安全な第三者記憶のためのデバイスに変換することができる。別の例として、本明細書に列挙されるモジュールのうちの1つ以上は、暗号化ファイルを暗号化されていないファイルに変換することができる。
先行の説明は、他の当業者が、本明細書に開示される例示的な実施形態の多様な態様を最大限に利用することを可能にするように提供されている。この例示的な説明は、包括的であること、又は開示されるいずれの正確な形態にも限定されることを意図するものではない。多くの修正及び変形が、本開示の趣旨及び範囲から逸脱することなく可能である。本明細書に開示される実施形態は、あらゆる点で具体例であり、制限するものではないと見なされるべきである。本開示の範囲を決定する際、添付の特許請求の範囲及びその均等物への参照がなされるべきである。
特に記されない限り、本明細書及び特許請求の範囲に使用される用語「a」又は「an」は、「少なくとも1つの」を意味すると解釈される。更に、使用の容易さのために、本明細書及び特許請求の範囲に使用される際、単語「含む」及び「有する」は、単語「備える」と同義であり、かつ同じ意味を有する。

Claims (20)

  1. 安全な第三者データ記憶のためのコンピュータ実装方法であって、該方法の少なくとも一部分が少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法が、
    前記サーバ側コンピューティングデバイスで、ユーザアカウントの下に記憶された暗号化ファイルにアクセスするクライアントシステムからの要求を識別することであって、前記要求されたアクセスが前記暗号化ファイルの復号を必要とする、要求を識別することと、
    前記要求に応答して、前記ユーザアカウントに指定された非対称キーペアであって、暗号化キーと、クライアント側キーで暗号化されている復号キーとを含む、非対称キーペアを識別することと、
    前記クライアントシステムから、前記クライアント側キーを受信することと、
    前記復号キーを前記クライアント側キーで復号することと、
    前記復号キーを使用して、前記暗号化ファイルの暗号化されていないバージョンにアクセスすることと、を含む、コンピュータ実装方法。
  2. 前記復号キーを使用して、前記暗号化ファイルにアクセスすることが、
    前記暗号化ファイルを暗号化するために使用されるファイルキーであって、前記暗号化キーで暗号化される、ファイルキーを識別することと、
    前記ファイルキーを前記復号キーで復号することと、
    前記暗号化ファイルを前記ファイルキーで復号することと、を含む、請求項1に記載のコンピュータ実装方法。
  3. 前記暗号化ファイルにアクセスすることが、前記暗号化ファイルの前記暗号化されていないバージョンへのアクセスを追加のユーザアカウントに提供することを含み、
    追加の非対称キーペアが、前記追加のユーザアカウントに指定され、前記追加の非対称キーペアが、追加の暗号化キーと、追加のクライアント側キーで暗号化されている追加の復号キーとを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記暗号化ファイルの前記暗号化されていないバージョンへのアクセスを前記追加のユーザアカウントに提供することが、
    前記暗号化ファイルを暗号化するために使用されるファイルキーであって、前記暗号化キーで暗号化される、ファイルキーを識別することと、
    前記ファイルキーを前記復号キーで復号することと、
    前記ファイルキーのコピーを前記追加の暗号化キーで暗号化することと、を含む、請求項3に記載のコンピュータ実装方法。
  5. 前記暗号化ファイルにアクセスすることが、前記暗号化ファイルの前記暗号化されていないバージョンを前記クライアントシステムに送信することを含む、請求項1に記載のコンピュータ実装方法。
  6. 前記復号キーを使用して、前記暗号化ファイルの前記暗号化されていないバージョンにアクセスすることが、前記暗号化ファイルの前記暗号化されていないバージョンを記述するメタデータを生成することを含む、請求項1に記載のコンピュータ実装方法。
  7. 前記暗号化ファイルの前記暗号化されていないバージョンを記述する前記メタデータを生成することが、
    前記暗号化ファイルの前記暗号化されていないバージョンにセキュリティ走査を実施することと、
    前記暗号化ファイルの前記暗号化されていないバージョン内のコンテンツに基づいて、前記暗号化ファイルの前記暗号化されていないバージョンを索引付けすることと、
    前記暗号化ファイルの前記暗号化されていないバージョン内のコンテンツに基づいて、前記暗号化ファイルの前記暗号化されていないバージョンのプレビューを生成することとのうちの少なくとも1つを含む、請求項6に記載のコンピュータ実装方法。
  8. 前記クライアントシステムから前記暗号化ファイルの前記暗号化されていないバージョンを受信することと、
    前記暗号化ファイルを、
    前記暗号化ファイルの前記暗号化されていないバージョンの少なくとも1つの特性に基づいてファイルキーを生成し、
    前記暗号化ファイルの前記暗号化されていないバージョンを前記ファイルキーで暗号化することによって生成することと、
    前記ファイルキーを前記暗号化キーで暗号化することと、を更に含む、請求項1に記載のコンピュータ実装方法。
  9. 前記暗号化ファイルを前記ファイルキーで暗号化される追加の暗号化ファイルで重複排除することを更に含む、請求項8に記載のコンピュータ実装方法。
  10. 前記クライアント側キーを受信することが、前記クライアント側キーを不揮発性メモリ内に記憶することなく前記クライアント側キーを揮発性メモリ内に記憶することを含む、請求項1に記載のコンピュータ実装方法。
  11. 前記暗号化ファイルの前記暗号化されていないバージョンにアクセスするように指定された追加のユーザアカウントを識別することであって、追加の非対称キーペアが、前記追加のユーザアカウントに指定され、前記追加の非対称キーペアが、追加の暗号化キーと、追加のクライアント側キーで暗号化されている追加の復号キーとを含む、追加のユーザアカウントを識別することと、
    前記復号キーを前記追加の暗号化キーで暗号化することと、を更に含む、請求項1に記載のコンピュータ実装方法。
  12. 前記追加のユーザアカウントを介して前記暗号化ファイルに更にアクセスする追加のクライアントシステムからの追加の要求を識別することであって、前記追加の要求されたアクセスが、前記暗号化ファイルの復号を必要とする、追加の要求を識別することと、
    前記復号キーを前記追加の復号キーで復号することと、
    前記復号キーを使用して、前記追加のユーザアカウントを介して前記暗号化ファイルの前記暗号化されていないバージョンにアクセスすることと、を更に含む、請求項11に記載のコンピュータ実装方法。
  13. 前記復号キーを使用して、前記暗号化ファイルの前記暗号化されていないバージョンにアクセスすることが、
    前記ユーザアカウントを含む複数のユーザアカウントに指定された追加の非対称キーペアであって、追加の暗号化キーと、前記暗号化キーで暗号化されている追加の復号キーとを含む、追加の非対称キーペアを識別することと、
    前記追加の復号キーを前記復号キーで復号することと、
    前記暗号化ファイルを暗号化するために使用されるファイルキーであって、前記追加の暗号化キーで暗号化される、ファイルキーを識別することと、
    前記ファイルキーを前記追加の復号キーで復号することと、
    前記暗号化ファイルを前記ファイルキーで復号することと、を含む、請求項1に記載のコンピュータ実装方法。
  14. 安全な第三者データ記憶のためのシステムであって、該システムが、
    前記サーバ側コンピューティングデバイスで、ユーザアカウントの下に記憶された暗号化ファイルにアクセスするクライアントシステムからの要求を識別するようにプログラムされる識別モジュールであって、前記要求されたアクセスが前記暗号化ファイルの復号を必要とする、識別モジュールと、
    前記要求に応答して、前記ユーザアカウントに指定された非対称キーペアであって、暗号化キーと、クライアント側キーで暗号化されている復号キーとを含む、非対称キーペアを識別するようにプログラムされるキーモジュールと、
    前記クライアントシステムから、前記クライアント側キーを受信するようにプログラムされる受信モジュールと、
    前記復号キーを前記クライアント側キーで復号するようにプログラムされる復号モジュールと、
    前記復号キーを使用して、前記暗号化ファイルの暗号化されていないバージョンにアクセスするようにプログラムされるアクセスモジュールと、
    前記識別モジュール、前記キーモジュール、前記受信モジュール、前記復号モジュール、及び前記アクセスモジュールを実行するように構成される、少なくとも1つのプロセッサと、を備える、システム。
  15. 前記アクセスモジュールが、前記復号キーを使用して、
    前記暗号化ファイルを暗号化するために使用されるファイルキーであって、前記暗号化キーで暗号化される、ファイルキーを識別し、
    前記ファイルキーを前記復号キーで復号し、
    前記暗号化ファイルを前記ファイルキーで復号することによって、前記暗号化ファイルにアクセスするようにプログラムされる、請求項14に記載のシステム。
  16. 前記アクセスモジュールが、前記暗号化ファイルの前記暗号化されていないバージョンへのアクセスを追加のユーザアカウントに提供することによって前記暗号化ファイルにアクセスするようにプログラムされ、
    追加の非対称キーペアが、前記追加のユーザアカウントに指定され、前記追加の非対称キーペアが、追加の暗号化キーと、追加のクライアント側キーで暗号化されている追加の復号キーとを含む、請求項14に記載のシステム。
  17. 前記アクセスモジュールが、
    前記暗号化ファイルを暗号化するために使用されるファイルキーであって、前記暗号化キーで暗号化される、ファイルキーを識別し、
    前記ファイルキーを前記復号キーで復号し、
    前記ファイルキーのコピーを前記追加の暗号化キーで暗号化することによって、前記暗号化ファイルの前記暗号化されていないバージョンへのアクセスを前記追加のユーザアカウントに提供するようにプログラムされる、請求項16に記載のシステム。
  18. 前記アクセスモジュールが、前記暗号化ファイルの前記暗号化されていないバージョンを前記クライアントシステムに送信することによって前記暗号化ファイルにアクセスするようにプログラムされる、請求項14に記載のシステム。
  19. 前記アクセスモジュールが、前記復号キーを使用して、前記暗号化ファイルの前記暗号化されていないバージョンを記述するメタデータを生成することによって前記暗号化ファイルの前記暗号化されていないバージョンにアクセスするようにプログラムされる、請求項14に記載のシステム。
  20. コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
    前記サーバ側コンピューティングデバイスで、暗号化ファイルにアクセスするクライアントシステムからの要求を識別することであって、前記要求されたアクセスが前記暗号化ファイルの復号を要求する、要求を識別することと、
    前記要求に応答して、暗号化キーと、クライアント側キーで暗号化されている復号キーとを含む非対称キーペアを識別することと、
    前記クライアントシステムから、前記クライアント側キーを受信することと、
    前記復号キーを前記クライアント側キーで復号することと、
    前記復号キーを使用して、前記暗号化ファイルの暗号化されていないバージョンにアクセスすることと、を行わせる、1つ以上のコンピュータ実行可能な命令を含む、コンピュータ読み取り可能な記憶媒体。
JP2015503217A 2012-03-26 2013-02-28 安全な第三者データ記憶のためのシステム及び方法 Active JP6182589B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/430,607 2012-03-26
US13/430,607 US8458494B1 (en) 2012-03-26 2012-03-26 Systems and methods for secure third-party data storage
PCT/US2013/028224 WO2013148052A1 (en) 2012-03-26 2013-02-28 Systems and methods for secure third-party data storage

Publications (2)

Publication Number Publication Date
JP2015517146A true JP2015517146A (ja) 2015-06-18
JP6182589B2 JP6182589B2 (ja) 2017-08-16

Family

ID=48484448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015503217A Active JP6182589B2 (ja) 2012-03-26 2013-02-28 安全な第三者データ記憶のためのシステム及び方法

Country Status (6)

Country Link
US (2) US8458494B1 (ja)
EP (1) EP2831803B1 (ja)
JP (1) JP6182589B2 (ja)
CN (1) CN104205123B (ja)
CA (1) CA2868766C (ja)
WO (1) WO2013148052A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966287B2 (en) * 2012-03-26 2015-02-24 Symantec Corporation Systems and methods for secure third-party data storage
US8458494B1 (en) * 2012-03-26 2013-06-04 Symantec Corporation Systems and methods for secure third-party data storage
US8762718B2 (en) * 2012-08-03 2014-06-24 Palo Alto Research Center Incorporated Broadcast deduplication for satellite broadband
US8904503B2 (en) 2013-01-15 2014-12-02 Symantec Corporation Systems and methods for providing access to data accounts within user profiles via cloud-based storage services
US9183403B2 (en) * 2013-06-28 2015-11-10 Hewlett-Packard Development Company, L.P. Key retrieval
DE102013108714B3 (de) * 2013-08-12 2014-08-21 Deutsche Post Ag Unterstützung einer Entschlüsselung von verschlüsselten Daten
CN105408913B (zh) * 2013-08-21 2019-03-15 英特尔公司 在云中隐私地处理数据
US9203815B1 (en) 2013-11-27 2015-12-01 Symantec Corporation Systems and methods for secure third-party data storage
US10331895B1 (en) * 2014-01-07 2019-06-25 Amazon Technologies, Inc. Forced data transformation policy
US9258122B1 (en) 2014-01-13 2016-02-09 Symantec Corporation Systems and methods for securing data at third-party storage services
US10389709B2 (en) * 2014-02-24 2019-08-20 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources
US9076004B1 (en) 2014-05-07 2015-07-07 Symantec Corporation Systems and methods for secure hybrid third-party data storage
US10303879B1 (en) 2014-11-06 2019-05-28 Amazon Technologies, Inc. Multi-tenant trusted platform modules
US10043015B2 (en) * 2014-11-20 2018-08-07 At&T Intellectual Property I, L.P. Method and apparatus for applying a customer owned encryption
SG11201708750TA (en) 2015-05-13 2017-11-29 Agency Science Tech & Res Network system, and methods of encrypting data, decrypting encrypted data in the same
US9397984B1 (en) 2015-06-25 2016-07-19 Xuesong Hu Apparatus and method for secure file transfer
CN105262743A (zh) * 2015-10-10 2016-01-20 山东超越数控电子有限公司 数据存储方法及安全装置、网络存储系统
US10037436B2 (en) * 2015-12-11 2018-07-31 Visa International Service Association Device using secure storage and retrieval of data
WO2017106938A1 (en) * 2015-12-24 2017-06-29 Haventec Pty Ltd Improved storage system
US10666642B2 (en) * 2016-02-26 2020-05-26 Ca, Inc. System and method for service assisted mobile pairing of password-less computer login
US10289865B1 (en) 2016-03-08 2019-05-14 Symantec Corporation Systems and methods for providing kinship-based accessibility to securely stored data
US10063372B1 (en) * 2016-03-25 2018-08-28 EMC IP Holding Company LLC Generating pre-encrypted keys
DE102017103519A1 (de) * 2017-02-21 2018-08-23 Uniscon Universal Identity Control Gmbh Verfahren zum gesicherten Zugriff auf Daten
CN108632215B (zh) * 2017-03-20 2021-04-20 展讯通信(上海)有限公司 数字通信加解密方法及装置
DE102017109424A1 (de) * 2017-05-03 2018-11-08 Uniscon Universal Identity Control Gmbh Verfahren zum gesicherten Zugriff auf Daten
US10664574B1 (en) * 2017-09-15 2020-05-26 Architecture Technology Corporation Distributed data storage and sharing in a peer-to-peer network
CN111615701B (zh) * 2017-11-23 2024-02-09 华为技术有限公司 一种用于存储加密数据的系统和方法
CN109818736A (zh) * 2018-12-24 2019-05-28 顺丰科技有限公司 Ssl解密装置、解密系统、解密方法
EP3915033A1 (en) * 2019-03-21 2021-12-01 Google LLC Content encryption
US10846413B2 (en) 2019-04-18 2020-11-24 Advanced New Technologies Co., Ltd. Data processing method and device
CN110929302B (zh) * 2019-10-31 2022-08-26 东南大学 一种数据安全加密存储方法及存储装置
CN110968743B (zh) * 2019-12-13 2021-07-06 支付宝(杭州)信息技术有限公司 针对隐私数据的数据存储、数据读取方法及装置
US11368287B2 (en) * 2020-05-19 2022-06-21 International Business Machines Corporation Identification of a creator of an encrypted object
GB2612062B (en) * 2021-10-20 2024-05-29 Sage Global Services Ltd Managing access to data
CN115129361B (zh) * 2022-08-26 2022-12-30 北京亿赛通科技发展有限责任公司 一种Java应用程序的安全加固方法及系统
CN115333875B (zh) * 2022-10-18 2023-02-10 北京网藤科技有限公司 一种数据共享的方法、系统、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000011001A (ja) * 1998-06-25 2000-01-14 Sharp Corp 検索装置及びその制御プログラムを記憶した媒体
JP2000172548A (ja) * 1998-12-11 2000-06-23 Nippon Telegr & Teleph Corp <Ntt> 電子データ管理方法,装置およびそのプログラム記録媒体
JP2002314527A (ja) * 2001-04-18 2002-10-25 Pumpkin House:Kk 暗号システムおよびその制御方法,暗号システムにおいて用いられる鍵管理サーバおよびクライアント,ならびにこれらの制御方法
JP2005190135A (ja) * 2003-12-25 2005-07-14 Canon Inc 情報処理装置及びその制御方法、プログラム
JP2006345261A (ja) * 2005-06-09 2006-12-21 Sharp Corp データ処理装置
JP2007531127A (ja) * 2004-03-29 2007-11-01 スマート インターネット テクノロジー シーアールシー ピーティーワイ リミテッド デジタルライセンス共有システム及び共有方法
JP2010097550A (ja) * 2008-10-20 2010-04-30 Intelligent Software:Kk ウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法
WO2011018852A1 (ja) * 2009-08-13 2011-02-17 株式会社日立ソリューションズ 重複排除機能付きデータ格納装置及び当該データ格納装置の検索インデックスを作成する制御装置
US20110154031A1 (en) * 2009-12-21 2011-06-23 International Business Machines Corporation Secure Kerberized Access of Encrypted File System

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085323A (en) * 1996-04-15 2000-07-04 Kabushiki Kaisha Toshiba Information processing system having function of securely protecting confidential information
GB2318486B (en) * 1996-10-16 2001-03-28 Ibm Data communications system
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
JP4206529B2 (ja) * 1998-09-17 2009-01-14 ソニー株式会社 コンテンツ管理方法及びコンテンツ記憶システム
US6820204B1 (en) * 1999-03-31 2004-11-16 Nimesh Desai System and method for selective information exchange
US20050192008A1 (en) * 1999-03-31 2005-09-01 Nimesh Desai System and method for selective information exchange
US7200230B2 (en) * 2000-04-06 2007-04-03 Macrovision Corporation System and method for controlling and enforcing access rights to encrypted media
US20010056541A1 (en) * 2000-05-11 2001-12-27 Natsume Matsuzaki File management apparatus
US6947556B1 (en) * 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
GB2367933B (en) * 2000-10-10 2002-10-23 F Secure Oyj Encryption
US20020071560A1 (en) * 2000-12-12 2002-06-13 Kurn David Michael Computer system having an autonomous process for centralized cryptographic key administration
US7711122B2 (en) * 2001-03-09 2010-05-04 Arcot Systems, Inc. Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
US7395436B1 (en) * 2002-01-31 2008-07-01 Kerry Nemovicher Methods, software programs, and systems for electronic information security
US7062656B2 (en) * 2002-02-22 2006-06-13 International Busness Machines Corporation Method for providing secure access to information held in a shared respiratory
JP3864867B2 (ja) * 2002-07-23 2007-01-10 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7320076B2 (en) * 2003-03-05 2008-01-15 Sun Microsystems, Inc. Method and apparatus for a transaction-based secure storage file system
US7703140B2 (en) * 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
EP2267624B1 (en) * 2004-04-19 2017-07-12 Lumension Security S.A. A generic framework for runtime interception and execution control of interpreted languages
CA2536611C (en) * 2004-06-14 2013-01-15 Research In Motion Limited Method and system for securing data utilizing redundant secure key storage
US7797342B2 (en) * 2004-09-03 2010-09-14 Sybase, Inc. Database system providing encrypted column support for applications
US8045714B2 (en) * 2005-02-07 2011-10-25 Microsoft Corporation Systems and methods for managing multiple keys for file encryption and decryption
WO2007044964A2 (en) * 2005-10-12 2007-04-19 Datacastle Corporation Method and system for data backup
ES2376883T3 (es) * 2006-02-07 2012-03-20 Nextenders (India) Private Limited Sistema de gestión de seguridad de documentos
US7505978B2 (en) 2006-02-13 2009-03-17 International Business Machines Corporation Aggregating content of disparate data types from disparate data sources for single point access
US8074078B2 (en) * 2006-05-15 2011-12-06 Research In Motion Limited System and method for remote reset of password and encryption key
WO2008124201A2 (en) * 2007-01-26 2008-10-16 Safenet, Inc. Secure file encryption
US20090046858A1 (en) * 2007-03-21 2009-02-19 Technology Properties Limited System and Method of Data Encryption and Data Access of a Set of Storage Devices via a Hardware Key
US20080181406A1 (en) * 2007-01-30 2008-07-31 Technology Properties Limited System and Method of Storage Device Data Encryption and Data Access Via a Hardware Key
KR101200572B1 (ko) * 2007-07-09 2012-11-13 삼성전자주식회사 공개 브로드캐스트 암호화를 이용한 인증 방법 및 컨텐츠재생 방법과 그 장치
US9158933B2 (en) * 2007-08-17 2015-10-13 Sybase, Inc. Protection of encryption keys in a database
JP2009245227A (ja) * 2008-03-31 2009-10-22 Fujitsu Ltd 情報記憶装置
US8345866B2 (en) * 2009-02-27 2013-01-01 Research In Motion Limited Secure data transfer on a handheld communications device
US8751826B2 (en) * 2009-04-01 2014-06-10 Salesforce.Com, Inc. Enhanced system security
EP2348450B1 (en) * 2009-12-18 2013-11-06 CompuGroup Medical AG Database system, computer system, and computer-readable storage medium for decrypting a data record
US9137017B2 (en) * 2010-05-28 2015-09-15 Red Hat, Inc. Key recovery mechanism
US8458494B1 (en) * 2012-03-26 2013-06-04 Symantec Corporation Systems and methods for secure third-party data storage
US8966287B2 (en) * 2012-03-26 2015-02-24 Symantec Corporation Systems and methods for secure third-party data storage

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000011001A (ja) * 1998-06-25 2000-01-14 Sharp Corp 検索装置及びその制御プログラムを記憶した媒体
JP2000172548A (ja) * 1998-12-11 2000-06-23 Nippon Telegr & Teleph Corp <Ntt> 電子データ管理方法,装置およびそのプログラム記録媒体
JP2002314527A (ja) * 2001-04-18 2002-10-25 Pumpkin House:Kk 暗号システムおよびその制御方法,暗号システムにおいて用いられる鍵管理サーバおよびクライアント,ならびにこれらの制御方法
JP2005190135A (ja) * 2003-12-25 2005-07-14 Canon Inc 情報処理装置及びその制御方法、プログラム
JP2007531127A (ja) * 2004-03-29 2007-11-01 スマート インターネット テクノロジー シーアールシー ピーティーワイ リミテッド デジタルライセンス共有システム及び共有方法
JP2006345261A (ja) * 2005-06-09 2006-12-21 Sharp Corp データ処理装置
JP2010097550A (ja) * 2008-10-20 2010-04-30 Intelligent Software:Kk ウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法
WO2011018852A1 (ja) * 2009-08-13 2011-02-17 株式会社日立ソリューションズ 重複排除機能付きデータ格納装置及び当該データ格納装置の検索インデックスを作成する制御装置
US20110154031A1 (en) * 2009-12-21 2011-06-23 International Business Machines Corporation Secure Kerberized Access of Encrypted File System
JP2013515385A (ja) * 2009-12-21 2013-05-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 暗号ファイル・システムへの安全ケルベロス化アクセス

Also Published As

Publication number Publication date
EP2831803B1 (en) 2018-12-19
CA2868766A1 (en) 2013-10-03
EP2831803A4 (en) 2015-11-04
US8458494B1 (en) 2013-06-04
CN104205123B (zh) 2017-02-22
US8745416B2 (en) 2014-06-03
US20130254558A1 (en) 2013-09-26
CN104205123A (zh) 2014-12-10
EP2831803A1 (en) 2015-02-04
JP6182589B2 (ja) 2017-08-16
WO2013148052A1 (en) 2013-10-03
CA2868766C (en) 2018-08-14

Similar Documents

Publication Publication Date Title
JP6182589B2 (ja) 安全な第三者データ記憶のためのシステム及び方法
US8966287B2 (en) Systems and methods for secure third-party data storage
US9076004B1 (en) Systems and methods for secure hybrid third-party data storage
US10140370B1 (en) Systems and methods for maintaining encrypted search indexes on third-party storage systems
US9202076B1 (en) Systems and methods for sharing data stored on secure third-party storage platforms
US9203815B1 (en) Systems and methods for secure third-party data storage
US8401185B1 (en) Systems and methods for securely deduplicating data owned by multiple entities
US8954758B2 (en) Password-less security and protection of online digital assets
US10157290B1 (en) Systems and methods for encrypting files
US8495392B1 (en) Systems and methods for securely deduplicating data owned by multiple entities
US9529733B1 (en) Systems and methods for securely accessing encrypted data stores
US8667281B1 (en) Systems and methods for transferring authentication credentials
US10015173B1 (en) Systems and methods for location-aware access to cloud data stores
US9313185B1 (en) Systems and methods for authenticating devices
JP6669929B2 (ja) シングルサインオンアプリケーション用の暗号化鍵を管理するためのシステム及び方法
US11489660B2 (en) Re-encrypting data on a hash chain
WO2016095152A1 (en) De-duplication of encrypted data
US10462113B1 (en) Systems and methods for securing push authentications
US10469457B1 (en) Systems and methods for securely sharing cloud-service credentials within a network of computing devices
WO2019040182A1 (en) SYSTEMS AND METHODS FOR ENCRYPTED FILES

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170529

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170607

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170724

R150 Certificate of patent or registration of utility model

Ref document number: 6182589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250