JP2016510962A - 暗号化ネットワークストレージスペース - Google Patents

暗号化ネットワークストレージスペース Download PDF

Info

Publication number
JP2016510962A
JP2016510962A JP2015561842A JP2015561842A JP2016510962A JP 2016510962 A JP2016510962 A JP 2016510962A JP 2015561842 A JP2015561842 A JP 2015561842A JP 2015561842 A JP2015561842 A JP 2015561842A JP 2016510962 A JP2016510962 A JP 2016510962A
Authority
JP
Japan
Prior art keywords
data
unique
encryption key
user
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015561842A
Other languages
English (en)
Inventor
アレクサンダー アンブロス
アレクサンダー アンブロス
ネイク パリール
ネイク パリール
Original Assignee
ジャンプトゥー メディア インコーポレイテッド
ジャンプトゥー メディア インコーポレイテッド
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 ジャンプトゥー メディア インコーポレイテッド, ジャンプトゥー メディア インコーポレイテッド filed Critical ジャンプトゥー メディア インコーポレイテッド
Publication of JP2016510962A publication Critical patent/JP2016510962A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/2143Clearing memory, e.g. to prevent the data from being stolen
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

一意のストレージスペースが一意の識別子に関連付けられる。リモートデバイス(サーバ、コンピュータ、スマートフォン等)はクライアントデバイスから一意の識別子及びユーザパスワードを受信する。リモートデバイスは、該一意の識別子及び該ユーザパスワードを用いて一意のストレージスペースに固有の暗号化鍵を生成し、該暗号化鍵を用いてクライアントデバイスから受信したデータを暗号化し、暗号化されたデータを該一意のストレージスペースに格納し、該暗号化鍵を用いてクライアントデバイスから要求されたデータを復号して復号されたデータをクライアントデバイスに送信し、該暗号化鍵と、暗号化されていないデータと、復号されたデータと、を削除する。【選択図】図1

Description

関連出願の参照
本願は、参照により本願に援用される2013年3月13日出願の米国仮出願第61/779,984号、ならびに2013年3月22日出願の第61/804,501号の優先権を主張する。
本発明は、暗号化ストレージ装置に関する。
仮想「クラウド」ネットワークは、サードパーティによって提供及び保守され、インターネットへのアクセスを有する有線及び無線ネットワークを含むデータ通信ネットワーク経由でユーザがアクセス可能なハードウェア及びソフトウェアリソースの集合体を指す。インターネットに接続されたリモートデバイスやコンピュータに格納されたプライベートデータを安全にするために、様々な方法が提案され実装されてきた。従来のクラウドデータストレージソリューションには、暗号化されていない、又は暗号化されたストレージが含まれる。暗号化ストレージソリューションには、ディスク暗号化又はファイル暗号化が含まれてよく、いずれもデータを安全にするために暗号化鍵を用いる。暗号化ストレージソリューションを含むリモートデバイス及びコンピュータは、システム管理者からアクセス可能であり、システム管理者によって保守される。システム管理者及びコンピュータシステムは、安全にされたデータを復号又は読み取りするために、典型的にはデータベースに格納される暗号化鍵を制御する。リモートデータストレージソリューションのユーザは典型的には、ログイン認証情報及びパスワードを用いることにより、インターネットに接続された装置及びコンピュータ内に含まれる自分のデータにアクセス可能である。典型的に、ユーザは自分のデータのための暗号化鍵を保持又は制御しない。リモートデータストレージソリューションの大半は、インターネット経由でアクセス可能な遠隔地におけるプライベートデータの安全な格納を望む消費者及びビジネスによって主に利用されている。典型的な安全なデータストレージソリューションには、(a)システム管理者及びコンピュータシステムによって制御されるリモートデバイス及びコンピュータにデータを安全に格納すること、及び(b)システム管理者及びコンピュータシステムによって保守されるリモートデバイス及びコンピュータにあるプライベートデータ及びデータベースに安全にアクセスすること、の必要性が存在する、数多くの潜在的な安全面の問題が含まれる。
例えば、Lumme−Maki−Vepsalainen(米国特許出願US20130019299 Al)は、認証を必要とする特定の格納されたデータへユーザがアクセスする必要性に応じ、該格納されたデータへの要求であって、ユーザを識別しない要求をデータクラウドへ送信すること含む方法を開示している。Lumme−Maki−Vepsalainenは、自分のリモートデータストレージへのアクセスを試みるユーザを識別する必要性を排除することによりセキュリティの強化を提供するが、(a)暗号化鍵を作成又は格納する、及び(b)安全にされたデータの復号又は読み取りする、ためのシステム管理者の能力なしでより安全な暗号化されたデータ格納を行う必要性が未だにある。また、インターネットに接続された装置及びコンピュータ上のデータ及びデータベースにリモートアクセスする際の、向上した安全性と匿名性の必要性も存在する。
本発明の一の態様によれば、暗号化データをリモートデバイス(サーバ、コンピュータ、スマートフォン等)に格納する方法は、ユーザ固有の一意の識別子とユーザパスワードとをクライアントデバイスからリモートデバイスにネットワーク経由で転送することであって、一意の識別子が一意のストレージスペースに固有であること、を含む。該方法は、リモートデバイスが、一意の識別子とユーザパスワードとを用いて一意の格納スペースに固有の暗号化鍵を生成すること、クライアントデバイスから一意のストレージスペースへと暗号化されていないデータを転送すること、暗号化されていないデータをリモートデバイスによって暗号化鍵を用いて暗号化して暗号化データを生成すること、暗号化データを一意のストレージスペースに格納すること、及び、暗号化されていないデータと暗号化鍵とをリモートデバイスから削除すること、を更に含む。
本発明の別の態様によれば、リモートデバイスからデータを取得する方法は、ユーザ固有の一意の識別子とユーザパスワードとをクライアントデバイスから前記リモートデバイスにネットワーク経由で転送することであって、一意の識別子が一意のストレージスペースに固有であること、を含む。該方法は、前記リモートデバイスが、前記一意の識別子と前記ユーザパスワードとを用いて前記一意のストレージスペースに固有の暗号化鍵を生成すること、暗号化されたデータを前記リモートデバイスによって前記暗号化鍵を用いて復号して復号データを生成すること、復号されたデータを前記一意のストレージスペースから前記クライアントデバイスへと転送すること、及び、復号されたデータと暗号化鍵とを前記リモートデバイスから削除すること、を更に含む。
本発明の別の態様によれば、暗号化されたデータを格納するための装置(サーバ、コンピュータ、スマートフォン等)は、1以上の一意のストレージスペースを画定するストレージであって、1以上の一意のストレージスペースが一意の識別子に関連付けられる、ストレージを含む。該装置は、ネットワーク経由でのクライアントデバイスへの接続のためのネットワークインターフェースコントローラを更に含む。該装置は、クライアントデバイスから一意の識別子とユーザパスワードとを受信し、一意の識別子とユーザパスワードとを用いて一意のストレージスペースに固有の暗号化鍵を生成し、クライアントデバイスから受信されたデータを暗号化鍵を用いて暗号化して暗号化されたデータを一意のストレージスペースに格納し、クライアントデバイスによって要求されたデータを暗号化鍵を用いて復号して復号されたデータをクライアントデバイスに送信し、暗号化鍵、暗号化されていないデータ、及び復号されたデータを削除するよう構成される暗号化エンジンを更に含む。
添付の図面を参照して、本発明の実施形態が、例示のみを目的として以下に説明される。
ソフトウェアコンポーネントのブロック図である。 ハードウェアコンポーネントのブロック図である。 一意の暗号化クラウド及びデータストレージを作成するプロセス図である。 一意の暗号化クラウド及びデータストレージへの認証のプロセス図である。 一意の暗号化クラウドでデータを暗号化及び格納するプロセス図である。 一意の暗号化クラウド及びデータストレージからデータを復号及び読み取りするプロセス図である。
本発明は、インターネットに接続されたリモートデバイス及びコンピュータ上の暗号化データストレージに関する。より具体的には、本発明は、仮想クラウドネットワーク内のリモートデバイス及びコンピュータ上にデータストレージ及びデータベースを作成及び保護することに関する。より具体的には、本発明は、仮想クラウドネットワーク内の暗号化データストレージ及びデータベースに対する安全で匿名のアクセスを提供できる。
本発明は、いかなる人物またはシステムからアクセス可能な暗号化鍵も無しに、リモートデバイス及びコンピュータ上で暗号化データストレージの安全な作成及びアクセスを提供できる。暗号化データストレージの作成及びアクセスのための安全な機構は、ユーザが(a)リモートデバイス及びコンピュータに暗号化データストレージを安全に作成すること、(b)暗号化鍵を作成するために必要な情報の制御をリモートデバイス及びコンピュータから分離すること、(c)リモート格納された暗号化データに安全かつ匿名でアクセスすること、を可能にする。これらのプロセスを組み合わせて用いることで、インターネットに接続されたリモートデバイス又はコンピュータ上でユーザの暗号化データストレージの作成を開始したユーザによってのみアクセス及び保守が可能な、安全な暗号化データストレージの作成が可能となる。
本発明は、リモートデータストレージソリューションのユーザに、暗号化データストレージへのリモートアクセス中、認証セッションの一部としてプライベート暗号化鍵を作成するために必要な情報の唯一の所有者権限とアクセスを提供できる。より具体的には、ユーザのプライベート暗号化鍵は、システム管理者またはコンピュータシステムからアクセスされるデータベースに格納されることは決してない。ユーザにより開始された暗号化及び復号のプロセス(これらのプロセスは明示的なユーザ許可を必要とし、特定のユーザの要求によってのみ開始できる)中、暗号化鍵はシステムによってリアルタイムで生成される。
本発明はユーザに、全システム及びログを含む完全なデータプライバシーとセキュリティのために、暗号化データ値をデータベース内に格納し、暗号化ファイルをクラウドストレージスペースに格納することにより、インターネットに接続されたリモートデバイス及びコンピュータに保存された暗号化データの完全な制御を提供できる。本発明は、リモートストレージ装置又はコンピュータでの安全な認証プロセスを通じたユーザの暗号化データへの安全なアクセスを提供できる。認証に成功すると、ユーザは暗号化クラウドストレージスペースにデータファイルを、又はデータ値を暗号化クラウドデータベースに、格納できる。暗号化クラウドデータベース及び暗号化クラウドストレージは、リモートデバイス又はコンピュータ上で利用可能な他のシステム認証済アプリケーションまたはアプリによって用いられることができる。
アプリケーションには、ブラウズ及びダウンロード用のアプリ、安全なファイル共有アプリ、安全な電子メールアプリ、安全なテキスト、音声、及び動画アプリが含まれる。これらのクラウドベースアプリケーションは、ユーザデータの完全なプライバシーのために、暗号化ユーザ履歴及びログ、暗号化ユーザ電子メール、暗号化ユーザチャット、音声及び動画ログ等の暗号化データ値を安全に格納できる。本発明は、インターネットに接続されたリモートデバイス及びコンピュータ上、及び仮想クラウドネットワーク内の暗号化ストレージソリューション内にあるデータへのアクセスに対する完全な制御をユーザに提供できる。
本発明をより詳細に説明すると、図1及び図2にはそれぞれ、本発明の実施形態を実装するために用いられることのできる複数のソフトウェア及びハードウェアコンポーネントが示されている。
100 暗号化エンジン
110 暗号化及び復号鍵の生成
120 データの暗号化
130 データの復号
140 暗号化ハッシュの生成
150 一意のクラウド識別子の生成
200 クラウド認証エンジン
210 一意の暗号化クラウドストレージスペースの作成
220 一意の暗号化クラウドへの認証
230 認証セッションの作成
300 プロセッサ
302 入力デバイス
304 グラフィックプロセッサ
306 ネットワークインターフェースコントローラ
320 プロセッサ
322 メモリ
324 ネットワークインターフェースコントローラ
326 ストレージ装置
901 パーソナル暗号化鍵
902 パーソナルアクセスパスワード
903 一意のクラウドストレージ識別子
904 認証済みセッション
905 クラウドコンピュータデータベース
906 クラウドコンピュータストレージスペース
907 入力データ
908 グラフィックユーザインタフェース(GUI)
909 クライアントデバイス又はコンピュータ
910 サーバコンピュータ
図2を参照すると、クライアントデバイス909は、プロセッサ(例えばCPU)300、入力装置302、グラフィックプロセッサ(例えばGPU)304、ネットワークインターフェースコントローラ306、及びメモリ(図示せず)を含んでよい。サーバ910はプロセッサ(例えばCPU)320、ランダムアクセスメモリ(RAM)322、ネットワークインターフェースコントローラ324、及びクラウドコンピュータデータベース905、クラウドコンピュータファイルストレージ906等として機能するストレージ装置326、を含んでよい。サーバ910はリモートデバイスの一例であり、リモートデバイスのその他の例には、コンピュータ、モバイル装置(例えばスマートフォン)等が含まれる。
図1及び図2の実施形態を参照すると、まず、リモートサーバコンピュータ910にアクセスするユーザによって一意の暗号化クラウドストレージスペースが作成(210)される。ユーザによって必要とされ要求された場合、暗号化鍵110がランタイムで生成及び利用される。暗号化鍵110はどこにも格納されず、いかなる人物又はシステムによるアクセスも可能でないことが好ましい。暗号化鍵110は、データ又はデータベースの暗号化の間、一時的にメモリに存在する。認証済みユーザは(a)データファイルを暗号化クラウドコンピュータストレージスペース906に、及び(b)データ値を暗号化クラウドコンピュータデータベース905に、安全に格納できる一方、システム管理者及びコンピュータシステムは暗号化鍵110に読み取り又はアクセスできず、暗号化データを読み取り又はアクセスできない。
更に詳細に、図1及び図2の実施形態を参照すると、本発明はユーザに、クライアントデバイス又はコンピュータ909から、リモートサーバコンピュータ910へのアクセスを有するグラフィックユーザインタフェース(GUI)908内で、一意の暗号化クラウドストレージ210を作成することを可能にする。リモートサーバコンピュータ910へのアクセスが可能なGUI908は、典型的には、統合ウェブサイト、Webベースアプリケーション、デスクトップソフトウェア、又はモバイルソフトウェア経由でアクセス可能である。GUI908は、ユーザが一意の暗号化クラウドストレージ210とインタラクションするフロントエンドグラフィック環境である。GUI908はWebサイト、Webベースアプリケーション、デスクトップソフトウェア、又はモバイルソフトウェアに統合可能である。ユーザは一意の暗号化クラウドストレージ210を作成し、GUI908内で、一意のクラウド認証220による認証済みセッション230でプライベートデータにアクセス可能である。認証セッション230は、ユーザデータの暗号化と復号に用いられるデータを含む。成功した認証セッション230は、ユーザに、プライベートファイルを暗号化クラウドコンピュータストレージスペース906に、又はデータ値を暗号化クラウドコンピュータデータベース905に、格納させる。成功した認証セッション230により、ユーザはデータファイルを暗号化クラウドコンピュータストレージスペース906に、又はデータ値を暗号化クラウドコンピュータデータベース905に、格納できる。暗号化クラウドコンピュータデータベース905及び暗号化クラウドコンピュータストレージスペース906は、仮想クラウドネットワーク内の接続された機器又はコンピュータ上で利用可能な他のシステム認証済アプリケーション又はアプリによって用いられることができる。一意の暗号化クラウドストレージ210におけるファイルの格納及び暗号化は、GUI908内でユーザによってトリガされるファイルの転送によって開始する。ファイルは、サーバコンピュータ910に転送されると、一時変数「A」内に格納される。一時変数「A」は、データの暗号化プロセス120に記載のとおり暗号化エンジン100を用いて暗号化される。暗号化された値が返されると、値は暗号化クラウドコンピュータストレージスペース906に格納され、暗号化されない値は変数「A」からクリアされ、サーバコンピュータのシステムメモリ901から削除される。暗号化ファイルは暗号化クラウドコンピュータストレージスペース906に格納され、それを作成したユーザによってのみアクセス及び復号が可能である。データの復号プロセス130に記載のとおり、復号プロセスは暗号化エンジン100を利用する。暗号化クラウドコンピュータデータベースプロセス905におけるデータ値の格納及び暗号化は、ユーザによって渡される値が、暗号化クラウドコンピュータストレージ906ではなく暗号化クラウドコンピュータデータベース905から格納及び読み取りされる点を除いて、暗号化クラウドコンピュータストレージプロセス906におけるデータファイルの格納と暗号化と略同様である。
ここで図3を参照すると、一意の暗号化クラウドストレージ210の作成は、クラウド認証エンジン200が、要求されるパラメータ「クラウド名(cloud name)」及び「パスワード(password)」と共にアクションコマンド「作成(create)」を受信した際にトリガされる。クラウド認証エンジン200は、サーバコンピュータ910上にインストールされ実行されるソフトウェアコンポーネント又はスクリプトとして実装されてよい。クラウド認証エンジン200は、具体的な所定のIPアドレス及びインバウンドポートにおいてコマンドを待機する;それは、クラウドコンピュータデータベース905において一意の暗号化クラウドストレージ210を新たに作成し、(a)データベース内の既存の一意の暗号化クラウドストレージを、(b)クラウド名とパスワードの組み合わせクエリと照合するよう構成される。両パラメータは、GUI908コンポーネントで入力されたままの生の状態で受信され、一時変数に格納される。GUI908は、ユーザが一意の暗号化クラウドストレージ210とインタラクションするフロントエンドグラフィック環境である。GUI908はWebサイト、Webベースアプリケーション、デスクトップソフトウェア、又はモバイルソフトウェアに統合可能である。入力されると、パラメータはチェックされ、要求されたパラメータが最小限のセキュリティ要件と最小限の値の長さ要件を満たせば、「クラウド名」として渡されたその値は、同じ名前を持つ既存の一意の暗号化クラウド210を探すために、データベース内でクエリされる。「クラウド名」は一意の識別子であり、すなわち一意の値とされ、同一システム上には1つしか存在できない。「クラウド名」の既存のインスタンスが見つからない場合、一意の暗号化クラウドストレージ210の作成が開始できる。一意のクラウドストレージ識別子903(「クラウド名」とも呼ぶ)を除く全ての値は、一意のクラウド固有の暗号化内に格納される。
第1のステップにおいて、一意の暗号化クラウドストレージ210の作成は、一意のクラウド識別子150を生成する。この値は第1のJSON配列に格納される;JSON、またはJavaScript(登録商標) Object Notationは、データ交換向けの、単純なデータ構造を表すために設計されたテキストベースのオープン標準である。一意のクラウド識別子150の生成は、暗号化エンジン100が、要求されるパラメータ「マウスエントロピー(mouse entropy)」と共にコマンド「一意のクラウド識別子を生成(generate unique cloud identification)」150を受信した際にトリガされる。本実装において、暗号化エンジンプロセス100は、Unix(登録商標)エポック時間、16桁のランダムな数字、及びフロントエンドGUI908から渡されたマウスエントロピー、を用いる。これらの値は、一時変数「Z」において組み合わされる。変数「Z」は、内部プロセス140を用いて暗号学的にハッシュ化される。暗号化ハッシュ140の生成は、暗号化エンジン100が、要求されるパラメータ「値(value)」と共にコマンド「ハッシュ(hash)」を受信した際にトリガされる。値パラメータは一時変数「Z」に格納される。このプロセスが成功裏に完了すると、変数「Z」の値はクリアされ、メモリから削除される。暗号化エンジン100は、例えばグローバルなシステム(SHA−2、SHA−3)によって定義された不可逆暗号ハッシュ化方法の1つを用いて変数「Z」の値をハッシュ化し、このプロセスの結果としてそれを返す。クラウド認証エンジン200は、プロセス150に記載される一意のクラウド識別コードを生成及び返す暗号化エンジン100と通信する。
更に詳細に図3を参照すると、暗号化エンジン100は、サーバコンピュータ910上でインストール及び実行されるソフトウェアコンポーネント又はスクリプトである。サーバコンピュータ910は、一意の暗号化クラウド210とインタラクションする、又はその一部である、サーバコンピュータ910に存在するストレージ及びメモリ内のデータ値及びデータファイルを格納及び実行する(図2参照)。暗号化エンジン100は、具体的な所定のIPアドレス及びインバウンドポートにおいてコマンドを待機する;暗号化エンジン100は、ユーザデータを暗号化し、ユーザデータを復号し、暗号化鍵を構築及び生成し、ユーザセッションに暗号化鍵を読み書きし、暗号化ハッシュ140を生成するように構成される。変数の値はクリアされ、メモリから削除される。暗号化ハッシュ生成プロセス140から返された値は一時変数「B」に格納される。変数「B」の値はクラウドコンピュータデータベース905内で、マッチする既存の値があるかどうかクエリされる。クラウドコンピュータデータベース905内で一意のクラウド識別子150が見つかったら、一意のクラウド識別子生成プロセス150は、生成されたクラウド識別子150が一意であり既存の一意の暗号化クラウド210のデータベース内で見つからなくなるまでループされ繰り返される。このプロセスの結果として、ハッシュ化された一意の値が返される。一意の識別子の値は一時変数に格納され、一意の暗号化クラウド210の作成が成功した後、変数からクリアされる。
第2のステップにおいて、一意の暗号化クラウドストレージ210の作成は、暗号化鍵を生成する。クラウド認証エンジン200は、プロセス110に記載のとおりクラウド固有の暗号化鍵を生成して返す暗号化エンジン100と通信する。プライベート暗号化/復号鍵110の作成は、暗号化エンジン100が、要求されるパラメータ「パスワード(password)」及び「一意のクラウド識別子(unique cloud identification)」と共にアクションコマンド「鍵の生成(generate key)」を受信した際にトリガされる。「パスワード」及び「一意のクラウド識別子」パラメータが手動で渡されない場合、これらはクラウド認証セッション904から読み取られる。認証セッション904は、一意の暗号化クラウド210にアクセスを試みる認証済ユーザからのデータを保持する暗号化された一連のデータ値を含む。パスワードパラメータは生の未ハッシュ状態で受信され、一時変数に格納される。一時変数には一意のクラウド識別子150も格納される。生の未ハッシュパスワード及び一意のクラウド識別子150は組み合わされて1つの値にされ、一時変数「C」に格納される。変数「C」は内部的に渡され、140に記載の暗号化ハッシュを生成する。返された値は最終結果であり、クラウド固有の暗号化鍵である。「パスワード」と「一意のクラウド識別子」との組み合わせは、同じ暗号化鍵を生成するよう構成されている。この機能の結果はセッション、データベース、又はその他任意の永久ストレージに格納されることなく、プロセス完了時にメモリから削除される。暗号化鍵は一時変数内に格納され、一意の暗号化クラウド210の作成が成功した後、変数からクリアされる。暗号化鍵はいかなる時点においても格納されない。
第3のステップにおいて、一意の暗号化クラウドストレージ210の作成は、クラウドアクセスパスワードの不可逆ハッシュ値を生成する。この値は、第1のJSON配列に格納される。クラウド認証エンジン200は、プロセス140に記載のとおり「クラウドパスワード(cloud password)」のハッシュ値を生成して返す暗号化エンジン100と通信する。ハッシュ値は一時変数に格納され、クラウドの作成が成功した後で変数からクリアされる。
第4のステップにおいて、一意の暗号化クラウドストレージ210の作成は、2つの別個のJSONデータ配列を作成する。第1の配列は、システムによって読み取られることのできるシステム固有の、機密でない、要求された情報を含む;これは、「クラウド名」、「一意のクラウド識別子」、「作成日(date created)」、「ハッシュ化パスワード(hashed password)」等の値、及びその他の機密でないデータを含む。第2の配列は空で、プロセス110に記載のとおり暗号化エンジンによって暗号化されている。これは将来的なデータを格納するための安全で暗号化されたスペースとして機能する。データの第1の配列及び第2の配列は、一意の暗号化クラウドを作成するデータベースに格納される。全ての変数はクリアされ、内容は破壊される。
図4を参照すると、クラウド認証エンジン200が、要求されるパラメータ「クラウド名」及び「パスワード」と共にアクションコマンド「認証(authenticate)」を受信すると、一意の暗号化クラウド220への認証がトリガされる。両パラメータは、GUI908コンポーネントで入力されたままの生の状態で受信され、一時変数に格納される。GUI908は、ユーザが一意の暗号化クラウドストレージ210とインタラクションするフロントエンドグラフィック環境である。GUIはWebサイト、Webベースアプリケーション、デスクトップソフトウェア、又はモバイルソフトウェアに統合可能である。GUI908に入力されると、パラメータはチェックされ、要求されたパラメータが最小限のセキュリティ要件と最小限の値の長さ要件を満たせば一意の暗号化クラウドへの認証アクセスプロセス220は継続され、さもなければ失敗する。
第1のステップにおいて、一意の暗号化クラウド220への認証は、一意の暗号化クラウドアクセスパスワードの不可逆ハッシュ値を生成する。クラウド認証エンジン200は、プロセス140に記載のとおり「クラウドパスワード」のハッシュ値を生成して返す暗号化エンジン100と通信する。暗号化エンジン100は、サーバコンピュータ910上でインストール及び実行されるソフトウェアコンポーネント又はスクリプトである。暗号化エンジン100は、具体的な所定のIPアドレス及びインバウンドポートにおいてコマンドを待機する;暗号化エンジン100は、ユーザデータを暗号化し、ユーザデータを復号し、暗号化鍵を構築及び生成し、ユーザセッションに暗号化鍵を読み書きし、暗号化ハッシュ140を生成するように構成される。暗号化ハッシュ140の生成は、暗号化エンジン100が、要求されるパラメータ「値」と共にコマンド「ハッシュ」を受信した際にトリガされる。値パラメータは一時変数「Z」に格納される。プロセスが成功裏に完了すると、変数「Z」の値はクリアされ、メモリから削除される。暗号化エンジン100は、例えばグローバルなシステム(SHA−2、SHA−3)によって定義された不可逆暗号ハッシュ化方法の1つを用いて変数「Z」の値をハッシュ化し、このプロセスの結果としてそれを返す。変数の値はクリアされ、メモリから削除される。ハッシュ値は一時変数に格納され、一意の暗号化クラウド認証220が成功した後で変数からクリアされる。
第2のステップにおいて、一意の暗号化クラウド220への認証は「クラウド名」と「ハッシュ化パスワード」との組み合わせを探してデータベースをクエリする。データベース内に一致が見つかると、一意の暗号化クラウドへの認証プロセス220は継続され、見つからない場合には失敗する。
第3のステップにおいて、一意の暗号化クラウド220への認証は「クラウド名」、「クラウドの一意の識別子」、及び「パスワードの生の値(raw value of the password)」を内部的に渡して認証セッション904を作成し、プロセス230に記載のとおり認証セッションを作成する。認証セッション904は、一意の暗号化クラウド210にアクセスを試みる認証済ユーザからのデータを保持する暗号化された一連のデータ値を含む。
認証セッションを作成するプロセス230は、クラウド認証エンジン200が、要求されるパラメータ「クラウド名」、「クラウドの一意の識別子」、及び「生パスワード(raw password)」と共にアクションコマンド「セッションの作成(create session)」を受信した際にトリガされる。
第1のステップにおいて、認証セッションの作成プロセス230は、暗号化鍵のグローバルに設定されたシステム値を取得する。認証セッションは暗号化された形で格納されるのが好ましい。セッションはクライアントサイドに格納されるため、なりすましの可能性を防ぐため、その内部の情報は常に保護される必要がある。暗号化鍵は、ハウジングシステム内の全てのセッション値を暗号化及び復号するために用いられる静的値である。暗号化鍵は一時変数に格納され、セッションの作成が成功した後で変数からクリアされる。
第2のステップにおいて、認証セッションの作成プロセス230は、全てのセッション変数を格納するJSON配列を作成する。「クラウド名」、「クラウドの一意の識別子」、及び「生のパスワード」は、JSON配列に格納され、一時変数に格納される。
第3のステップにおいて、認証セッションの作成230は、配列を暗号化し、ハウジングシステムの設定により制限時間と有効性が設定されているセッションを作成する。このステップは認証セッションの作成を完了する。認証セッション904が作成されてクライアントサイドに格納されると、一意の暗号化されたクラウドの認証、すなわち「ログイン」が完了する。
図5を参照すると、データ暗号化プロセス120は、暗号化エンジン100が、要求されるパラメータ「データ」と共にアクションコマンド「データの暗号化」を受信した際にトリガされる。「データ」パラメータは、ユーザが自分の一意な暗号化クラウドにアップロードしようとしている、907で表される暗号化されていないファイルである。入力データ907は、ユーザが一意の暗号化クラウドに安全に格納することを望んでいる、ユーザのデータの暗号化されていない形である。暗号化エンジン100は、サーバコンピュータ910上でインストール及び実行されるソフトウェアコンポーネント又はスクリプトである。サーバコンピュータ910は、一意の暗号化クラウド210とインタラクションするのに用いられる、又はその一部である、サーバコンピュータに存在するストレージ及びメモリ内のデータ値及びデータファイルを格納及び実行する。暗号化エンジン100は、具体的な所定のIPアドレス及びインバウンドポートにおいてコマンドを待機する。暗号化エンジン100は、ユーザデータを暗号化し、ユーザデータを復号し、暗号化鍵を構築及び生成し、ユーザセッションに暗号化鍵を読み書きし、暗号化ハッシュ140を生成するように構成される。データパラメータは一時変数「A」に格納され、データの暗号化が成功裏に完了した後でクリアされる。
第1のステップにおいて、データの暗号化プロセス120はクライアントサイドセッションからのデータを、「一意のクラウド識別子」、「生のパスワード」及び「クラウド名」へのアクセスを提供する一時変数に格納する。これはプロセス110と内部的に通信して、110に記載のとおり一意のクラウド暗号化鍵を生成する。プライベート暗号化/復号鍵を作成するプロセス110は、暗号化エンジン100が、要求されるパラメータ「パスワード」及び「一意のクラウド識別子」と共にアクションコマンド「鍵の生成」を受信した際にトリガされる。「パスワード」及び「一意のクラウド識別子」パラメータが手動で渡されない場合、これらはクラウド認証セッション230から読み取られる。パスワードパラメータは生の未ハッシュ状態で受信され、一時変数に格納される。一時変数には一意のクラウド識別子903も格納される。生の未ハッシュパスワード及び一意のクラウド識別子903は組み合わされて1つの値にされ、一時変数「C」に格納される。変数「C」は内部的に渡され、140に記載の暗号化ハッシュを生成する。暗号化ハッシュを生成するプロセス140は、暗号化エンジン100が、要求されるパラメータ「値」と共にコマンド「ハッシュ」を受信した際にトリガされる。値パラメータは一時変数「A」に格納される。このプロセスが成功裏に完了した後、一時変数「A」の値はクリアされメモリから削除される。暗号化エンジン100は、例えばグローバルなシステム(SHA−2、SHA−3)によって定義された不可逆暗号ハッシュ化方法の1つを用いて変数「A」の値をハッシュ化し、このプロセスの結果としてそれを返す。変数の値はクリアされメモリから削除される。返された値は最終結果であり、クラウド固有のパーソナル暗号化鍵901である。パーソナル暗号化鍵901は、一意の暗号化クラウド上でパーソナルユーザデータを暗号化及び復号するのに用いられる。暗号化鍵は「一意のクラウド識別子」903と「パーソナルアクセスパスワード(personal access password)」902から生成される。ユーザによって必要とされ要求された場合にのみ、暗号化鍵110がランタイムで生成される。これはどこにも格納されないが、データの暗号化又は復号のために必要とされる間メモリ内に残存する。暗号化プロセス120又は復号プロセス130が完了するとすぐにメモリからクリアされる。「一意のクラウド識別子」と「パーソナルアクセスパスワード」との同じ組み合わせからは、常に同じ暗号化鍵901が生成される。ユーザの要求で、ユーザによってパスワードが変更された場合、暗号化鍵901は変更され、一意の暗号化クラウドに既に格納されているユーザの全データは、ユーザの旧パスワードを使って復号され、ユーザの新パスワードを使って再度暗号化される必要がある。「パスワード」と「一意のクラウド識別子」との組み合わせは、同じ暗号化鍵を生成するように構成されている。この機能の結果はセッション、データベース、又はその他任意の永久ストレージに格納されない。プロセス完了時にメモリから削除される。内部プロセス110が一意のクラウド暗号化鍵の生成に成功すると、これは一時変数「B」に格納され、暗号化プロセス120が完了すると一時変数「B」はクリア及び破壊される。
第2のステップにおいて、データの暗号化プロセス120は変数「A」を、システム定義された暗号化アルゴリズム(例えばAES、RSA、Serpent、Two−fish)を利用して変数「B」の暗号化鍵によって暗号化する。暗号化されたデータは返され、プリファレンスに従ってクラウドコンピュータストレージスペース906又はクラウドコンピュータデータベース905のいずれかに格納される。クラウドコンピュータデータベース905は、クラウドでホストされた一連のサーバ上で運用されるSQL又は非SQLデータベースである。クラウドコンピュータストレージスペース906は、仮想化ストレージプールにデータが格納されるネットワーク化されたオンラインストレージサーバの一モデルである。変数はクリアされ、システムメモリから削除される。これにより、データの暗号化プロセス120が完了する。
図6を参照すると、データの復号プロセス130は、暗号化エンジン100が、要求されるパラメータ「暗号化データ(encrypted data)」と共にアクションコマンド「データの復号化(decrypt data)」を受信した際にトリガされる。「暗号化データ」パラメータは以前に暗号化され、ファイルストレージプリファレンスに従って暗号化クラウドコンピュータストレージスペース906又は暗号化クラウドコンピュータデータベース905内に格納されたファイルである。ユーザは、一意の暗号化クラウド210からユーザのクライアントデバイス又はコンピュータ909にファイルをダウンロード及び復号できる。クライアントデバイス又はコンピュータ909は、GUI908とのインタラクションに用いられるユーザ装置上にあるストレージ又はメモリを表す;この一例が、Webブラウザ内のセッションデータである。暗号化エンジン100は、サーバコンピュータ910上でインストール及び実行されるソフトウェアコンポーネント又はスクリプトである。サーバコンピュータ910は、一意の暗号化クラウド210とインタラクションする、又はその一部である、サーバコンピュータに存在するストレージ及びメモリ内のデータ値及びデータファイルを格納及び実行する。暗号化エンジン100は、具体的な所定のIPアドレス及びインバウンドポートにおいてコマンドを待機する。暗号化エンジン100は、ユーザデータを暗号化し、ユーザデータを復号し、暗号化鍵を構築及び生成し、ユーザセッションに暗号化鍵を読み書きし、暗号化ハッシュ140を生成するように構成される。暗号化データパラメータは一時変数「A」に格納され、データの復号が成功裏に完了した後でクリアされる。
第1のステップにおいて、データの復号プロセス130はクライアントサイドセッションからのデータを、「一意のクラウド識別子」、「生のパスワード」及び「クラウド名」へのアクセスを提供する一時変数に格納する。システムはプロセス110と内部的に通信して、110に記載のとおり一意のクラウド復号鍵を生成する。プライベート暗号化/復号鍵を作成するプロセス110は、暗号化エンジンプロセス110が、要求されるパラメータ「パスワード」及び「一意のクラウド識別子」と共にアクションコマンド「鍵の生成」を受信した際にトリガされる。「パスワード」及び「一意のクラウド識別子」パラメータが手動で渡されない場合、これらはクラウド認証セッション904から読み取られる。パスワードパラメータは生の未ハッシュ状態で受信され、一時変数に格納される。一時変数には一意のクラウド識別子903も格納される。生の未ハッシュパスワード及び一意のクラウド識別子903は組み合わされて1つの値にされ、一時変数「C」に格納される。変数「C」は内部的に渡され、140に記載の暗号化ハッシュを生成する。暗号化ハッシュを生成するプロセス140は、暗号化エンジン100が、要求されるパラメータ「値」と共にコマンド「ハッシュ」を受信した際にトリガされる。値パラメータは一時変数「A」に格納される。このプロセスが成功裏に完了した後、一時変数「A」の値はクリアされメモリから削除される。暗号化エンジン100は、例えばグローバルなシステム(SHA−2、SHA−3)によって定義された不可逆暗号ハッシュ化方法の1つを用いて変数「A」の値をハッシュ化し、このプロセスの結果としてそれを返す。変数の値はクリアされメモリから削除される。返された値は最終結果であり、クラウド固有の暗号化鍵901である。パーソナル暗号化鍵901は、一意の暗号化クラウド上でパーソナルユーザデータを暗号化及び復号化するのに用いられる。暗号化鍵は「一意のクラウド識別子」903と「パーソナルアクセスパスワード」902から生成される。ユーザによって必要とされ要求された場合にのみ、暗号化鍵がランタイムで生成される。これはどこにも格納されないが、データの暗号化又は復号化のために必要とされる間メモリ内に残存する。暗号化プロセス120又は復号化プロセス130が完了するとすぐにメモリからクリアされる。「一意のクラウド識別子」と「パーソナルアクセスパスワード」との同じ組み合わせからは、常に同じ暗号化鍵が生成される。ユーザの要求で、ユーザによってパスワードが変更された場合、暗号化鍵は変更され、一意の暗号化クラウドに既に格納されているユーザの全データは、ユーザの旧パスワードを使って復号化され、ユーザの新パスワードを使って再度暗号化される必要がある。「パスワード」と「一意のクラウド識別子」との組み合わせは、同じ暗号化鍵を生成するように構成されている。パーソナル暗号化鍵901は、一意の暗号化クラウド上のパーソナルユーザデータの暗号化及び復号化に用いられる。暗号化鍵は、「一意のクラウド識別子」903及び「パーソナルアクセスパスワード」902から生成される。本実施形態において、パーソナルアクセス902パスワードは一意の暗号化クラウドシステムに必須の要素である。パスワードは、プロセス110に記載のとおり、一意のパーソナル暗号化鍵を生成するために用いられる。パーソナルアクセスパスワードはサーバコンピュータ910には格納されない。ユーザによって必要とされ要求された場合にのみ、暗号化鍵がランタイムで生成される。これはどこにも格納されないが、データの暗号化又は復号化のために必要とされる間メモリ内に残存する。暗号化プロセス120又は復号化プロセス130が完了するとすぐにメモリからクリアされる。「一意のクラウド識別子」と「パーソナルアクセスパスワード」との同じ組み合わせからは、常に同じ暗号化鍵901が生成される。ユーザの要求で、ユーザによってパスワードが変更された場合、暗号化鍵は変更され、一意の暗号化クラウドに既に格納されているユーザの全データは、ユーザの旧パスワードを使って復号され、ユーザの新パスワードを使って再度暗号化される必要がある。この機能の結果はセッション、データベース、又はその他任意の永久ストレージに格納されない。プロセス完了時にメモリから削除される。内部プロセス110が一意のクラウド復号鍵の生成に成功すると、これは一時変数「B」に格納され、暗号化プロセス120が完了すると一時変数「B」はクリア及び破壊される。
第2のステップにおいて、データの復号プロセス130は変数「A」を、システム定義された暗号化アルゴリズム(例えばAES、RSA、Serpent、Two−fish)を利用して変数「B」の暗号化鍵によって暗号化する。復号されたデータ907は返され、暗号化されていない方たちでダウンロードされる。変数はクリアされ、システムメモリから削除される。これにより、データの復号プロセス130が完了する。
本明細書内の例は、暗号化されていない/復号済みデータをクライアントデバイスと、サーバやコンピュータ等のリモートデバイスとの間で送信することについて記載されているが、送信されるデータが、リモートデバイスでのストレージにおける暗号化とは別に暗号化されてよいことが、当業者によって理解される。例えば、HTTPS等の技術、又はセキュリティ証明書を用いて、送信時にデータを保護することができ、また、その他の方式の暗号化によっても保護可能である。
上述の内容は、特定の非限定的な例示的実施形態を提供するが、上述の事項の組み合わせ、部分集合、変異が想定されることが理解されるべきである。意図される独占権は請求の範囲によって定義される。

Claims (24)

  1. 暗号化データをリモートデバイスに格納する方法であって、
    ユーザ固有の一意の識別子とユーザパスワードとをクライアントデバイスから前記リモートデバイスにネットワーク経由で転送するステップであって、前記一意の識別子が一意のストレージスペースに固有である、ステップと、
    前記リモートデバイスが、前記一意の識別子と前記ユーザパスワードとを用いて前記一意のストレージスペースに固有の暗号化鍵を生成するステップであって、前記暗号化鍵が前記リモートデバイスの揮発性メモリ内に一時的に作成される、ステップと、
    前記クライアントデバイスから前記一意のストレージスペースへとデータを転送するステップと、
    前記データを前記リモートデバイスによって前記暗号化鍵を用いて暗号化して暗号化データを生成するステップと、
    前記暗号化データを前記一意のストレージスペースに格納するステップと、
    前記データの暗号化に成功した後、前記データを削除し、前記暗号化鍵を前記リモートデバイスの前記揮発性メモリから削除するステップと、
    を含む、方法。
  2. 請求項1に記載の方法であって、前記一意の識別子をランダムに生成することにより前記一意のストレージスペースを作成するステップと、前記一意の識別子と前記一意のストレージスペースとの間の関連付けを前記リモートデバイスに格納するステップと、を更に含む、方法。
  3. 請求項2に記載の方法であって、前記一意の識別子をランダムに生成することは、少なくともユーザエントロピーからハッシュ値を算出することを含む、方法。
  4. 請求項3に記載の方法であって、前記ハッシュ値を算出することは、不可逆暗号ハッシュを適用することを含む、方法。
  5. 請求項1に記載の方法であって、前記リモートデバイスから前記暗号化鍵を削除する前に、前記クライアントデバイスから受信された追加データの暗号化及び前記クライアントデバイスによって要求されるデータの復号化の期間にわたって、前記リモートデバイスの前記揮発性メモリ内に前記暗号化鍵を保持するステップを更に含む、方法。
  6. 請求項1に記載の方法であって、前記暗号化鍵を生成するステップは、前記一意の識別子と前記ユーザパスワードとの暗号ハッシュを算出することを含む、方法。
  7. 請求項1に記載の方法であって、前記データは、前記クライアントデバイスにアクセス可能な1以上のサーバーベースアプリケーションに関連付けられ、前記データは、ブラウジングデータ、ダウンロードデータ、ユーザ履歴又はログ、電子メールメッセージ、チャットメッセージ、音声ログ、及び動画ログのうち1以上を含む、方法。
  8. 請求項1に記載の方法であって、
    ハッシュ化されたユーザパスワードを、前記一意の識別子と関連付けて前記リモートデバイスに格納するステップと、
    前記クライアントデバイスから前記一意の識別子と前記ユーザパスワードを受信する際、前記リモートデバイスが、前記受信されたユーザパスワードを前記格納されたハッシュ化されたユーザパスワードと比較して前記ユーザを認証するステップと、
    前記ユーザが認証される際、前記クライアントデバイスにおける前記ユーザ向けに認証済みセッションを作成するステップと、を更に含む、方法。
  9. 請求項8に記載の方法であって、前記リモートデバイスが、前記暗号化鍵を用いて前記認証済みセッションのセッション変数を暗号化し、前記セッション変数を前記クライアントデバイスに格納するステップを更に含む、方法。
  10. 請求項1に記載の方法であって、前記一意の識別子と前記ユーザパスワードとを前駆クライアントデバイスから前記リモートデバイスに転送するステップは、セッション変数から前記一意の識別子と前記ユーザパスワードとを読み込むことを含む、方法。
  11. 請求項1に記載の方法であって、前記ユーザパスワードに代わる新規ユーザパスワードを受信する際、前記リモートデバイスが、前記暗号化鍵を用いて前記一意のストレージスペースに格納されたデータを復号し、前記新規ユーザパスワードと前記一意の識別子とから生成された新規暗号化鍵を用いて前記格納されたデータを暗号化する、方法。
  12. 請求項1に記載の方法であって、前記一意のストレージスペースは、データファイルを格納するためのメモリを含む、方法。
  13. 請求項1に記載の方法であって、前記一意のストレージスペースは、データベースを含む、方法。
  14. 請求項1に記載の方法であって、前記データは、暗号化されない形式で前記クライアントデバイスから前記一意のストレージスペースへと転送される、方法。
  15. リモートデバイスからデータを取得する方法であって、
    ユーザ固有の一意の識別子とユーザパスワードとをクライアントデバイスから前記リモートデバイスにネットワーク経由で転送するステップであって、前記一意の識別子が一意のストレージスペースに固有である、ステップと、
    前記リモートデバイスが、前記一意の識別子と前記ユーザパスワードとを用いて前記一意のストレージスペースに固有の暗号化鍵を生成するステップであって、前記リモートデバイスが前記暗号化鍵を前記リモートデバイスの揮発性メモリ内に一時的に作成するステップと、
    暗号化されたデータを前記リモートデバイスによって前記暗号化鍵を用いて復号して復号データを生成するステップと、
    前記復号されたデータを前記一意のストレージスペースから前記クライアントデバイスへと転送するステップと、
    前記暗号化されたデータの復号に成功した後、前記復号されたデータを削除し、前記暗号化鍵を前記リモートデバイスの前記揮発性メモリから削除するステップと、
    を含む、方法。
  16. 暗号化されたデータを格納するための装置であって、
    1以上の一意のストレージスペースを画定するストレージであって、前記1以上の一意のストレージスペースがユーザ固有の一意の識別子に関連付けられる、ストレージと、
    ネットワーク経由でのクライアントデバイスへの接続のためのネットワークインターフェースコントローラと、
    前記クライアントデバイスから前記一意の識別子とユーザパスワードとを受信し、前記一意の識別子と前記ユーザパスワードとを用いて前記一意のストレージスペースに固有の暗号化鍵を生成して揮発性メモリ内で前記暗号化鍵を一時的に作成し、前記クライアントデバイスから受信されたデータを前記暗号化鍵を用いて暗号化して暗号化されたデータを前記一意のストレージスペースに格納し、前記クライアントデバイスによって要求されたデータを前記暗号化鍵を用いて復号して復号されたデータを前記クライアントデバイスに送信し、前記暗号化鍵の利用に成功した後で前記暗号化鍵を前記揮発性メモリから削除し、暗号化されていないデータ又は復号されたデータを削除するよう構成される暗号化エンジンと、
    を含む、装置。
  17. 請求項16に記載の装置であって、一意の識別子をランダムに生成することにより一意のストレージスペースを作成し、各一意の識別子と各一意のストレージスペースとの間の関連付けを格納するように構成される認証エンジンを更に含む、装置。
  18. 請求項16に記載の装置であって、ハッシュ化ユーザパスワードを前記一意の識別子と関連付けて格納し、前記クライアントデバイスから前記一意の識別子と前記ユーザパスワードとを受信した際、受信されたユーザパスワードを前記格納されたハッシュ化ユーザパスワードと比較して前記ユーザを認証し、前記クライアントデバイスにおける認証済みユーザ向けに認証済みセッションを作成するように構成される認証エンジンを更に含む、装置。
  19. 請求項18に記載の装置であって、前記暗号化エンジンは、前記認証済みセッションのセッション変数を前記暗号化鍵を用いて暗号化するよう更に構成され、前記認証エンジンは、前記セッション変数を前記クライアントデバイスに格納するように構成される、装置。
  20. 請求項16に記載の装置であって、前記暗号化エンジンは、少なくともユーザエントロピーからハッシュ値を算出することにより前記一意の識別子をランダムに生成するように更に構成される、装置。
  21. 請求項20に記載の装置であって、前記ハッシュ値を算出することは、不可逆暗号ハッシュを適用することを含む、装置。
  22. 請求項16に記載の装置であって、前記暗号化エンジンは、前記暗号化鍵を削除する前に、前記クライアントデバイスから受信されたデータの暗号化及び前記クライアントデバイスによって要求されるデータの復号化の期間にわたって、前記暗号化鍵を前記揮発性メモリ内に保持するように更に構成される、装置。
  23. 請求項16に記載の装置であって、前記暗号化エンジンは、前記一意の識別子と前記ユーザパスワードとの暗号ハッシュを算出することにより前記暗号化鍵を生成するように更に構成される、装置。
  24. 請求項16に記載の装置であって、前記データは、前記クライアントデバイスにアクセス可能な1以上のサーバーベースアプリケーションに関連付けられ、前記データは、ブラウジングデータ、ダウンロードデータ、ユーザ履歴又はログ、電子メールメッセージ、チャットメッセージ、音声ログ、及び動画ログのうち1以上を含む、装置。
JP2015561842A 2013-03-13 2014-03-13 暗号化ネットワークストレージスペース Pending JP2016510962A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361779984P 2013-03-13 2013-03-13
US61/779,984 2013-03-13
US201361804501P 2013-03-22 2013-03-22
US61/804,501 2013-03-22
PCT/CA2014/000208 WO2014138882A1 (en) 2013-03-13 2014-03-13 Encrypted network storage space

Publications (1)

Publication Number Publication Date
JP2016510962A true JP2016510962A (ja) 2016-04-11

Family

ID=51535656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015561842A Pending JP2016510962A (ja) 2013-03-13 2014-03-13 暗号化ネットワークストレージスペース

Country Status (7)

Country Link
US (1) US20160028699A1 (ja)
EP (1) EP2973191A4 (ja)
JP (1) JP2016510962A (ja)
CN (1) CN105359159A (ja)
BR (1) BR112015022767A2 (ja)
CA (1) CA2905576A1 (ja)
WO (1) WO2014138882A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421589B2 (en) * 2004-07-21 2008-09-02 Beachhead Solutions, Inc. System and method for lost data destruction of electronic data stored on a portable electronic device using a security interval
US9298942B1 (en) * 2013-12-31 2016-03-29 Google Inc. Encrypted augmentation storage
JP6367375B2 (ja) * 2014-06-02 2018-08-01 アイデバイシーズ エルエルシー リンキングアドレスを用いたネットワーク上でのセキュア通信のためのシステムと方法
US10430599B1 (en) * 2014-06-30 2019-10-01 EMC IP Holding Company LLC Filekey access to data
US9942208B2 (en) * 2014-11-14 2018-04-10 Microsoft Technology Licensing, Llc Updating stored encrypted data with enhanced security
WO2016103221A1 (en) * 2014-12-23 2016-06-30 Data Locker Inc. Computer program, method, and system for secure data management
US10015173B1 (en) * 2015-03-10 2018-07-03 Symantec Corporation Systems and methods for location-aware access to cloud data stores
US20160275295A1 (en) * 2015-03-19 2016-09-22 Emc Corporation Object encryption
US9948465B2 (en) * 2015-09-18 2018-04-17 Escher Group (Irl) Limited Digital data locker system providing enhanced security and protection for data storage and retrieval
CN106027615A (zh) * 2016-05-10 2016-10-12 乐视控股(北京)有限公司 对象存储方法和系统
US10097544B2 (en) * 2016-06-01 2018-10-09 International Business Machines Corporation Protection and verification of user authentication credentials against server compromise
US10592679B2 (en) * 2016-06-10 2020-03-17 Apple Inc. Support for changing encryption classes of files
CN107665311A (zh) * 2016-07-28 2018-02-06 中国电信股份有限公司 认证客户端、加密数据访问方法和系统
CN107819729B (zh) * 2016-09-13 2021-06-25 腾讯科技(深圳)有限公司 一种数据请求方法及其系统、接入设备、存储设备和存储介质
US10367639B2 (en) 2016-12-29 2019-07-30 Intel Corporation Graphics processor with encrypted kernels
JP6845431B2 (ja) * 2017-05-16 2021-03-17 富士通株式会社 情報処理装置および情報処理装置の制御方法
WO2019028493A1 (en) * 2017-08-08 2019-02-14 Token One Pty Ltd METHOD, SYSTEM AND COMPUTER-READABLE MEDIUM FOR USER AUTHENTICATION
CN107453880B (zh) * 2017-08-28 2020-02-28 国家康复辅具研究中心 一种云数据安全存储方法和系统
US11200349B2 (en) * 2017-10-25 2021-12-14 Boole Server S.R.L. Method for managing an access and display service of confidential information and data by means of a virtual desktop
US11216568B2 (en) * 2018-01-10 2022-01-04 Dropbox, Inc. Server-side rendering password protected documents
US11347868B2 (en) * 2018-04-17 2022-05-31 Domo, Inc Systems and methods for securely managing data in distributed systems
US11093911B2 (en) * 2018-09-28 2021-08-17 Paypal, Inc. Systems, methods, and computer program products providing an identity-storing browser
CN109660604B (zh) * 2018-11-29 2023-04-07 上海碳蓝网络科技有限公司 数据存取方法及设备
KR20200139034A (ko) * 2019-06-03 2020-12-11 삼성에스디에스 주식회사 블록체인 기반 컴퓨팅 시스템 및 그 시스템의 트랜잭션 관리 방법
US11277373B2 (en) * 2019-07-24 2022-03-15 Lookout, Inc. Security during domain name resolution and browsing
US11500815B2 (en) * 2020-03-26 2022-11-15 EMC IP Holding Company LLC Dual relationship-based hash structure for non-volatile memory technology
TWI735208B (zh) * 2020-04-20 2021-08-01 宜鼎國際股份有限公司 資料防護系統及方法
CN111695165B (zh) * 2020-04-20 2024-01-09 宜鼎国际股份有限公司 数据防护系统及方法
KR20210140851A (ko) * 2020-05-14 2021-11-23 삼성에스디에스 주식회사 복수의 블록체인 네트워크 간 데이터를 연동하는 방법 및 그 장치
US11616742B2 (en) * 2021-01-07 2023-03-28 Whatsapp Llc Methods and systems for end-to-end encrypted message history exchange
CN114844848A (zh) * 2022-03-16 2022-08-02 厦门市美亚柏科信息股份有限公司 一种即时通讯应用的本地数据存储方法及终端
CN116723170A (zh) * 2023-08-08 2023-09-08 成都初心互动科技有限公司 移动端设备唯一标识生成方法、装置、设备及介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
US6601170B1 (en) * 1999-12-30 2003-07-29 Clyde Riley Wallace, Jr. Secure internet user state creation method and system with user supplied key and seeding
US8842887B2 (en) * 2004-06-14 2014-09-23 Rodney Beatson Method and system for combining a PIN and a biometric sample to provide template encryption and a trusted stand-alone computing device
US7899189B2 (en) * 2004-12-09 2011-03-01 International Business Machines Corporation Apparatus, system, and method for transparent end-to-end security of storage data in a client-server environment
US8015116B2 (en) * 2005-01-21 2011-09-06 Newport Scientific Research Llc Methods for authentication
US20080104709A1 (en) * 2006-09-29 2008-05-01 Verus Card Services System and method for secure data storage
FR2919974B1 (fr) * 2007-08-08 2010-02-26 Fidalis Systeme d'information et procede d'identification par un serveur d'application d'un utilisateur
US8286004B2 (en) * 2009-10-09 2012-10-09 Lsi Corporation Saving encryption keys in one-time programmable memory
TWI381286B (zh) * 2009-11-02 2013-01-01 Univ Chaoyang Technology External authentication method for external storage devices
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
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
CN102638568B (zh) * 2012-03-02 2015-12-16 深圳市朗科科技股份有限公司 云存储系统及其数据管理方法
CN102724215B (zh) * 2012-07-07 2015-02-18 成都国腾实业集团有限公司 基于用户登录密码安全存放用户密钥并提高云平台数据安全的方法

Also Published As

Publication number Publication date
WO2014138882A4 (en) 2014-10-23
CA2905576A1 (en) 2014-09-18
EP2973191A1 (en) 2016-01-20
BR112015022767A2 (pt) 2017-07-18
CN105359159A (zh) 2016-02-24
EP2973191A4 (en) 2017-01-25
US20160028699A1 (en) 2016-01-28
WO2014138882A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
JP2016510962A (ja) 暗号化ネットワークストレージスペース
JP6609010B2 (ja) 複数許可データセキュリティ及びアクセス
US10826708B2 (en) Authenticating nonces prior to encrypting and decrypting cryptographic keys
US9589143B2 (en) Semi-trusted Data-as-a-Service platform
US9317714B2 (en) Storing user data in a service provider cloud without exposing user-specific secrets to the service provider
US11153085B2 (en) Secure distributed storage of encryption keys
US8954758B2 (en) Password-less security and protection of online digital assets
US11329962B2 (en) Pluggable cipher suite negotiation
US9973481B1 (en) Envelope-based encryption method
US8295490B1 (en) Method and system for storing and providing an encryption key for data storage
US9419799B1 (en) System and method to provide secure credential
US9246676B2 (en) Secure access for encrypted data
US8904504B2 (en) Remote keychain for mobile devices
US9749130B2 (en) Distributing keys for decrypting client data
US8977857B1 (en) System and method for granting access to protected information on a remote server
US20220014367A1 (en) Decentralized computing systems and methods for performing actions using stored private data
US9954828B1 (en) Protection of data stored in the cloud
US20220158829A1 (en) Computer system, device, and method for securing sensitive data in the cloud
US20210167955A1 (en) Data transmission
KR101140576B1 (ko) 암호화 문서에 대한 다자간 검색 시스템 및 그 방법
CN105518696B (zh) 对数据存储器执行操作
JP6965885B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
Kalaichelvi EnBloAES-ALPHA security framework to preserve confidentiality of outsourced data
Shalini et al. Implementation of Multi-Party Key Authentication and Steganography for Secured Data Transaction in Cloud
Iyer et al. Multi-part Dynamic Key Generation For Secure Data Encryption‖