(57)【要約】データまたはファイル・オブジェクトを、暗号化ゲートウェイを用いてリモートクラウド記憶装置またはリモートデータサーバーに送信するか書き込むシステム及び方法を開示する。１つの好適例では、通信システムが：ＴＬＳ（または等価なセキュリティで）暗号化されたペイロード内のデータをクライアント・アプリケーションから受信し、クライアントのＴＬＳ接続を終了させ、ペイロードを抽出してペイロード・データをキーマネージャからのキーで暗号化するように構成された暗号化ゲートウェイを含む。暗号化ゲートウェイは、ＴＬＳ接続を確立し、暗号化されて認証されたデータをＴＬＳペイロード内に挿入し、そしてＴＬＳ暗号化されたデータを、リモートクラウド記憶装置またはリモートデータサーバーに送信するか書き込んで記憶する。このシステムは、少なくとも１つのキーを、ペイロード内のデータの暗号化用に暗号化ゲートウェイに提供するように構成されたキーマネージャをさらに含む。
2018534884.tif 000002
【特許請求の範囲】
【請求項１】
暗号化ゲートウェイとして構成された第１計算装置と、
キーマネージャとを具えたシステムであって、
前記第１計算装置は、少なくとも１つのプロセッサ及び少なくとも１つのメモリを具え、前記暗号化ゲートウェイは、少なくとも１つの認証因子を用いてクライアント・アプリケーションを認証し、ペイロード内のデータを前記クライアント・アプリケーションから受信し、前記データを暗号化し、前記暗号化したデータをリモートクラウド記憶装置またはリモートサーバーに送信するか書き込むように構成され、
前記キーマネージャは、前記ペイロード内の前記データの暗号化用の少なくとも１つのキーを前記暗号化ゲートウェイに提供するように構成され、前記少なくとも１つのキーは、前記クライアント・アプリケーションまたは前記ペイロードに関連し、前記データの前記暗号化は、前記リモートクラウド記憶装置または前記リモートサーバーに関連するリモート側伝送プロトコルを使用する、システム。
【請求項２】
前記リモート側伝送プロトコルが、トランスポート層セキュリティまたはインターネット・プロトコル・セキュリティである、請求項１に記載のシステム。
【請求項３】
前記暗号化ゲートウェイが、前記キーマネージャからの少なくとも１つのキーを要求するための認証情報を前記クライアント・アプリケーションから受信する、請求項１に記載のシステム。
【請求項４】
前記暗号がゲートウェイが、認証付き対称暗号化を用いて前記データを暗号化する、請求項１に記載のシステム。
【請求項５】
前記キーマネージャが、少なくとも１つのキーを、前記第１計算装置の安全なポートを介して、またはローカル側ネットワークを通して、前記暗号化ゲートウェイ内にロードする、請求項１に記載のシステム。
【請求項６】
前記少なくとも１つのキーが、前記キーマネージャによってロードされた際に、前記クライアント・アプリケーションに関連する、請求項５に記載のシステム。
【請求項７】
前記キーマネージャが、前記リモート側伝送プロトコルと通信して、前記データの前記暗号化に使用するための少なくとも１つのキーを決定する、請求項１に記載のシステム。
【請求項８】
前記データをファイル・オブジェクトレベルで暗号化し、前記少なくとも１つのキーがファイル・オブジェクトに関連する、請求項７に記載のシステム。
【請求項９】
前記クライアント・アプリケーションが、伝送接続を用いて前記暗号化ゲートウェイと通信する、請求項１に記載のシステム。
【請求項１０】
前記暗号化ゲートウェイが、前記リモートクラウド記憶装置または前記リモートサーバーへの暗号化接続を取り決め、前記暗号化ゲートウェイが、前記クライアント・アプリケーションへの暗号化接続を取り決め、前記クライアント・アプリケーションが、クライアント・セッションにおいて、伝送プロトコルを用いて前記暗号化ゲートウェイと通信する、請求項１に記載のシステム。
【請求項１１】
前記暗号化ゲートウェイが、前記リモート側伝送プロトコルを用いて前記データを暗号化する前に、前記クライアント・セッションのクライアント・セッションキーを用いて、前記クライアント・アプリケーションからの前記ペイロードを暗号復号化する、請求項１０に記載のシステム。
【請求項１２】
前記リモートクラウド記憶装置または前記リモートサーバーへの前記暗号化接続に関連するクラウド・セッションキーを用いて、前記データを前記暗号化ゲートウェイによって暗号化する、請求項１１に記載のシステム。
【請求項１３】
前記暗号化ゲートウェイが、前記ペイロードを前記クライアント・アプリケーションから受信する前に、前記リモートクラウド記憶装置または前記リモートサーバーとの伝送セッションを設定し、前記暗号化ゲートウェイが、前記伝送セッションを用いて、前記クライアント・アプリケーションを含む複数のクライアント・アプリケーションからのデータを、前記リモートクラウド記憶装置または前記リモートサーバーに送信するか書き込む、請求項１に記載のシステム。
【請求項１４】
前記暗号化ゲートウェイが、伝送接続内のヘッダを修正するか伝送接続内にヘッダを挿入して、前記クライアント・アプリケーションをリモート接続に関連付け、あるいは、前記暗号化ゲートウェイが、ファイル・オブジェクト内のヘッダを修正するかファイル・オブジェクト内にヘッダを挿入して、前記クライアント・アプリケーションをリモート接続に関連付ける、請求項１３に記載のシステム。
【請求項１５】
前記キーマネージャが、前記第１計算装置または第２計算装置を用いて実現される、請求項１に記載のシステム。
【請求項１６】
暗号化ゲートウェイによって、リモートクラウド記憶装置またはリモートサーバーからデータまたはファイル・オブジェクトを読み出すことの要求を、クライアント・アプリケーションから受信するステップと、
第１ペイロード内の前記データまたはファイル・オブジェクトを、前記リモートクラウド記憶装置または前記リモートサーバーから受信するステップであって、前記データまたはファイル・オブジェクトが、前記リモートクラウド記憶装置または前記リモートサーバーに関連するリモート側伝送プロトコルを用いて暗号化されているステップと、
前記暗号化ゲートウェイの少なくとも１つのプロセッサによって、前記受信したデータまたはファイル・オブジェクトを暗号復号化するステップであって、前記暗号復号化は前記クライアント・アプリケーションのキーを使用し、該キーはメモリから読み出されるステップと、
前記暗号化ゲートウェイによって、クライアント側伝送プロトコルを用いて前記第１ペイロードを暗号化するステップと、
前記暗号化した第１ペイロードを、前記暗号化ゲートウェイから前記クライアント・アプリケーションへ送信するステップと
を含む方法。
【請求項１７】
前記暗号化ゲートウェイによって、前記クライアント・アプリケーションとのローカル側通信を終了するステップと、
暗号化アルゴリズムに関連する暗号復号化を、データの通信制御プロトコル・ストリームに対して実行するステップと、
前記第１ペイロードと独立した第２ペイロードの伝送暗号化用のデータを受信するステップと
をさらに含む、請求項１６に記載の方法。
【請求項１８】
少なくとも１つのプロセッサと、
命令を記憶するメモリとを具えたシステムであって、
前記命令は、前記少なくとも１つのプロセッサに、
ローカル側伝送により、ペイロード内のデータをクライアント・アプリケーションから受信し、
キーマネージャから、前記ペイロード内の前記データの暗号化用の少なくとも１つのキーを受信し、該少なくとも１つのキーは、前記クライアント・アプリケーションまたは前記ペイロードに関連し、
前記ペイロード内の前記データを暗号化し、該暗号化は、リモートクラウド記憶装置またはリモートサーバーに関連するリモート側伝送プロトコルを使用し、
前記暗号化したデータを、前記リモートクラウド記憶装置または前記リモートサーバーに送信するか書き込む
ことを指示するように構成されている、システム。
【請求項１９】
暗号化ゲートウェイのマルチプレクサまたはパケットエンジンによって、前記データを前記クライアント・アプリケーションから受信する、請求項１８に記載のシステム。
【請求項２０】
パケットエンジンまたは暗号化ゲートウェイによって、前記暗号化したデータを前記リモートクラウド記憶装置または前記リモートサーバーに送信するか書き込む、請求項１８に記載のシステム。
【請求項２１】
クライアントのトランスポート層セキュリティ（ＴＬＳ）接続を終了させるステップと、
ペイロードからデータを抽出するステップと、
キーマネージャからの暗号化キーを用いて、前記抽出したデータを暗号化するステップと、
クラウドサーバーまたはデータサーバーへのＴＬＳ接続を確立するステップと、
前記暗号化したデータを、キー関連の情報を有するＴＬＳペイロード内に挿入するステップと、
前記クラウドサーバーまたは前記データサーバーへの前記ＴＬＳ接続を終了するステップと、
前記暗号化したデータを、前記クラウドサーバーまたは前記データサーバーにあるメモリまたは記憶装置に記憶するステップと
を含む方法、
【請求項２２】
暗号化ゲートウェイとして構成された第１計算装置を具えたシステムであって、該第１計算装置は少なくとも１つのプロセッサ及び少なくとも１つのメモリを具え、前記暗号化ゲートウェイは、少なくとも１つの認証因子を用いてクライアントを認証し、該クライアントから伝送暗号化データを受信するようにさらに構成され、
前記暗号化ゲートウェイは、クライアントへの伝送接続を終了し、ペイロードを抽出し、該ペイロードを認証付きで暗号化するように構成され、
前記暗号化ゲートウェイは、前記暗号化され認証されたペイロードを、クラウドサーバーまたはデータサーバー用の伝送データパケットまたはフォーマット内に挿入し、前記クラウドサーバーまたは前記データサーバーへの伝送接続を確立するように構成され、
前記クラウドサーバーまたは前記データサーバーは、前記伝送接続を終了し、前記暗号化され認証されたペイロードをメモリまたは記憶装置に記憶する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、米国特許非仮出願第１５／２６４８４０号、２０１６年９月１４日出願、発明の名称”CLIENT(S) TO CLOUD OR REMOTE SERVER SECURE DATA OR FILE OBJECT ENCRYPTION GATEWAY”、発明者Anderson他、に基づいて優先権を主張し、また、米国特許仮出願第６２／２１９７９５号、２０１５年９月１７日出願、発明の名称”CLIENT(S) TO CLOUD OR REMOTE SERVER SECURE DATA OR FILE OBJECT ENCRYPTION GATEWAY”、発明者Anderson他、に基づいて優先権を主張し、これらの特許出願は、その全内容を参照することによって本明細書に全文が記載されているものとして含める。
【０００２】
本願は、米国特許出願第１４／２１９６５１号、２０１４年３月１９日出願、発明の名称”SECURE END-TO-END COMMUNICATION SYSTEM”、発明者Richard J. Takahashiに関連し、この特許出願は、その全内容を参照することによって本明細書に全文が記載されているものとして含める。
【０００３】
本願は、米国特許出願第１４／１７７３９２号、２０１４年２月１１日出願、発明の名称”SECURITY DEVICE WITH PROGRAMMABLE SYSTOLIC-MATRIX CRYPTOGRAPHIC MODULE AND PROGRAMMABLE INPUT/OUTPUT INTERFACE”、発明者Richard J. Takahashiに関連し、この特許出願はその全内容を参照することによって本明細書に全文が記載されているものとして含める。
【０００４】
技術の分野
本明細書に開示する少なくともいくつかの好適例は、安全な処理または記憶の全般に関するものである。
【背景技術】
【０００５】
背景
現在、リモート（遠隔）クラウドシステム及びリモートサーバーシステムは、暗号化に基づく分散ソフトウェアによって保護され、これらのシステムでは、各クライアントが暗号化キー（暗号鍵）を生成し操作して、自分のデータを送信前に暗号化する。分散暗号化（ローカルクライアント−リモートサーバー）は、大きなＣＰＵオーバーヘッドを伴う計算をクライアントにもたらして、非常に幅の広い攻撃ベクトルを許容する。例えば、敵対者は何人かのクライアントに一度に侵入することができる、というのは、各個別のクライアントがキーを不安全に記憶するソフトウェアベースの暗号化を使用しているからである。敵対者はクライアントのマシン（装置）に不正にアクセス（不正侵入（ハッキング））して暗号化キーを気付かれずにコピーする。また、クライアント・マシンのユーザ及び情報技術ネットワークの職員は、暗号化キーをコピーして敵対者に売る／与えることができる潜在的脅威である。何百人ものクライアントを有する分散型暗号化システムは、サポート・ネットワークの職員が外部及び内部の攻撃または脅威の両方からネットワークを保護するための負担を増加させる。これに加えて、ソフトウェア暗号化は、悪意ある不正侵入及び秘密裏の変更を受けやすい。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願第１４／１７７３９２号明細書
【特許文献２】米国特許出願第１４／２１９６５１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
説明の概要
本明細書では、集中型暗号化ゲートウェイを用いて、データまたはファイル・オブジェクトをリモートクラウド記憶装置またはリモートデータサーバーに送信または書込みするためのシステム及び方法を説明する。本節ではいくつかの好適例を要約する。
【課題を解決するための手段】
【０００８】
１つの好適例は、データ・オブジェクト記憶装置用の分散型暗号化の解決策を集中型暗号化の解決策に置き換え、集中型暗号化の解決策は、より信頼性があり、より安全であり、より扱い易く、そして多くの場合により高い性能を提供する。
【０００９】
１つの好適例では、集中型暗号化システム及び集中型キーマネージャが、分散型暗号化／キーマネージャ・システムよりもずっと容易に管理され保護される。
【００１０】
１つの好適例では、ペイロード暗号化方法が、認証付き対称暗号化アルゴリズムを用いて、ペイロードのファイル・オブジェクトまたはデータを暗号化または暗号復号化（暗号解読）する。ゲートウェイは、クライアント及び／またはオブジェクトに関連する特定のキーを用いてペイロード（ファイル・オブジェクトまたはデータ）を暗号化する。次に、ゲートウェイは、リモート側の伝送暗号化プロトコルによりペイロードを暗号化して、暗号化したペイロードをリモートサーバーまたはクラウドサーバーに送信する。
【００１１】
１つの好適例では、システムが：暗号化ゲートウェイとして構成された第１計算装置と；ルーターまたはスイッチと；キーマネージャとを含み、第１計算装置は、（例えば、データパス（データ経路）及び／または暗号化処理用の）少なくとも１つのプロセッサ及び少なくとも１つのメモリを具え、暗号化ゲートウェイは、ペイロード内のデータをクライアント・アプリケーション（例えば、クライアント・アプリケーションはハードウェアでもソフトウェアでも実現することができる）から受信し、このデータを暗号化して、暗号化したデータをリモートクラウド記憶装置またはリモートデータサーバーに送信するか書き込み；ルーターまたはスイッチは、ローカル側の伝送によりペイロードをクライアント・アプリケーションから暗号化ゲートウェイに提供するように構成され；キーマネージャは、少なくとも１つのキーを、ペイロード内のデータの暗号化用に暗号化ゲートウェイに提供するように構成され、少なくとも１つのキーは、クライアント・アプリケーション（またはそれに対応するクライアント）、あるいはペイロードに関連し、データの暗号化は、リモートクラウド記憶装置またはリモートサーバーに関連するリモート側の伝送（トランスポート）プロトコルを使用する。
【００１２】
１つの好適例では、方法が：暗号化ゲートウェイによって、ハードウェアまたはソフトウェアのクライアント・アプリケーションから、リモートクラウド記憶装置またはリモートサーバーからデータを読み出すことの要求を受信するステップと；リモートクラウド記憶装置またはリモートサーバーから第１ペイロード内のデータを受信するステップであって、このデータはリモートクラウド記憶装置またはリモートデータサーバーに関連するリモート側の伝送プロトコルを用いて暗号化されているステップと；暗号化ゲートウェイの少なくとも１つのプロセッサによって、受信した第１ペイロード内のデータを暗号復号化するステップであって、この暗号復号化は、クライアント・アプリケーションのキーを使用し、このキーはメモリから読み出されるステップと；暗号化ゲートウェイによって、クライアント側の伝送プロトコルを用いて第１ペイロードを暗号化するステップと；暗号化した第１ペイロードを、暗号化ゲートウェイからクライアント・アプリケーションに送信するステップとを含む（非限定的な例については図１を参照）。
【００１３】
１つの好適例では、暗号化ゲートウェイが：少なくとも１つのプロセッサと；命令を記憶するメモリとを含み、これらの命令は、少なくとも１つのプロセッサに：ローカル側の伝送によりペイロード内のデータをクライアント・アプリケーションから受信することと；キーマネージャから、ペイロード内のデータの暗号化用の少なくとも１つのキーを受信することであって、少なくとも１つのキーはクライアント・アプリケーションまたはペイロードに関連することと；ペイロード内のデータを暗号化することであって、この暗号化は、リモートクラウド記憶装置またはリモートサーバーに関連するリモート側の伝送プロトコルを使用することと；暗号化したデータをリモートクラウド記憶装置またはリモートサーバーに送信するか書き込むことと、を指示するように構成されている。
【００１４】
本発明は、これらの方法を実行する方法及び装置を含み、これらの方法及び装置は、これらの方法を実行するデータ処理システム、及びデータ処理システム上で実行されるとこれらのシステムにこれらの方法を実行させる命令を含むコンピュータ可読媒体を含む。
【００１５】
他の特徴は、添付した図面より、そして以下に続く詳細な説明より明らかになる。
【００１６】
実施形態を、限定ではなく例として、添付した図面中に図示し、これらの図面では同様な参照符号は同様な要素を示す。
【図面の簡単な説明】
【００１７】
【図１】一実施形態における通信システムの最上位レベルの図である。
【図２】一実施形態のＴＬＳ実現の詳細を示す図である。
【図３】一実施形態のＴＬＳ／ＭＡＣＳＥＣ実現の詳細を示す図である。
【図４】一実施形態のＭＡＣＳＥＣ実現の詳細を示す図である。
【図５】一実施形態におけるＴＬＳ（ＨＴＴＰＳ）接続を用いたクライアントとサーバーを示す図である。
【図６】一実施形態におけるＴＬＳ（ＨＴＴＰＳ）プロキシのデータフローを示す図である。
【図７】一実施形態における、ＨＴＴＰを使用するクライアント及びＴＬＳ（ＨＴＴＰＳ）を使用するサーバーを示す図である。
【図８】一実施形態における、ＨＴＴＰクライアント−ＴＬＳ（ＨＴＴＰＳ）サーバーのプロキシ接続のデータフローを示す図である。
【図９】一実施形態における、サーバーへのＴＬＳ（ＨＴＴＰＳ）持続接続を示す図である。
【発明を実施するための形態】
【００１８】
説明
以下の説明及び図面は例示的であり、限定的であるものと考えるべきでない。完全な理解をもたらすために多数の具体的詳細を記載している。しかし、特定例では、説明をあいまいにすることを避けるために、周知または慣用の詳細事項は記載していない。本開示中の「一実施形態」または「１つの実施形態」は、必ずしも同一の実施形態を参照せず、こうした参照は少なくとも１つを意味する。
【００１９】
本明細書中の「一実施形態」または「１つの実施形態」の参照は、その実施形態に関連して記載する特定の特徴、構造、または特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。本願中の種々の箇所における「一実施形態では」という語句の出現は、必ずしも全部が同じ実施形態を参照せず、他の実施形態を互いに除外する別個または代案の実施形態でもない。さらに、一部の実施形態は提示し得るが他の実施形態は提示しない種々の特徴を記載している。同様に、一部の実施形態では要件であり得るが他の実施形態では要件でない種々の要件を記載する。
【００２０】
以下、クライアントからゲートウェイへ接続し、ゲートウェイからクラウド及び／または何らかのリモートサーバーへ接続する、クライアント−クラウドまたはリモートサーバーの安全な通信システムを説明する。一実施形態では、データは伝送中に１０ギガビット〜１００ギガビットまたはより高いデータレートで二重暗号化される。
【００２１】
本明細書中に用いる「ＨＴＴＰＳ」は、ＨＴＴＰ（HyperText Transfer Protocol：ハイパーテキスト・トランスファー・プロトコル）オーバーＴＬＳ（Transport Layer Security：トランスポート層セキュリティ）またはＨＴＴＰオーバーＳＳＬ（Secure Socket Layer：セキュアソケット層）（または他の等価なセキュリティ（安全対策））と等価である。
【００２２】
図１〜４は通信システムの実施形態を示す。図１は、通信システムのあり方の例を示す。図２は、ＴＬＳトランスポート・セキュリティ（伝送上の安全対策）をシステムのローカル側及びリモート側の両方に有するシステムの実施形態を示す。図３は、ＴＬＳトランスポート・セキュリティをシステムのローカル側に有し、ＭＡＣＳＥＣ（Media Access Control SECurity：メディア（媒体）アクセス制御セキュリティ）トランスポート・セキュリティをシステムのリモート側に有するシステムの実施形態を示す。図４は、ＭＡＣＳＥＣトランスポート・セキュリティをシステムのローカル側及びリモート側の両方に有するシステムの実施形態を示す。
【００２３】
データフロー
一実施形態では、ローカル・クライアントがデータをクラウドまたはリモートサーバー・フローに送信するか書き込む。クライアントは、何らかの伝送暗号化法を、ゲートウェイへのファイル・オブジェクトまたはデータに対して使用する。ゲートウェイは、ローカル側の伝送を暗号復号化してプレーンテキスト（平文）のファイル・オブジェクトまたはデータを生成する。ゲートウェイは、クライアント及び／またはオブジェクトに関連する特定のキーを用いてペイロード（ファイル・オブジェクトまたはデータ）を暗号化する。次に、ゲートウェイは、リモート側の伝送暗号化プロトコルによりペイロードを暗号化して、リモートサーバーまたはクラウドサーバーに送信する。リモートサーバーまたはクラウドサーバーは、伝送プロトコルを暗号復号化する。この時点で、ペイロードはまだクライアントのキーによって暗号化されている。次に、暗号化されたペイロード・データを記憶する。集合ゲートウェイはリモート側通信（例えば、ＭＡＣＳＥＣ、ＩＰＳＥＣ（Internet Protocol SECurity：インターネット・プロトコル・セキュリティ）、ＴＬＳ）を終了して、必要に応じてデータのＴＣＰ（Transmission Control Protocol：通信制御プロトコル）ストリームに対して暗号化を実行し、次に新たな独立した暗号化（例えば、ＴＣＰ及びＴＬＳセッション）をリモート側で実行する。
【００２４】
一実施形態では、クラウドまたはリモートサーバーからデータが読み出されるか、ローカル・クライアントがデータを受信する。クライアントは、暗号化されて記憶されているデータをリモートサーバーまたはクラウドサーバーが読み出すことを要求する。リモートサーバーまたはクラウドサーバーは、リモート側の伝送プロトコルを用いてこのデータを暗号化する。ゲートウェイはこのデータを受信して、リモート側の伝送プロトコルを暗号復号化する。次に、ゲートウェイは、クライアントのキーを用いて、ペイロードのファイル・オブジェクトまたはデータを暗号復号化し、そしてクライアント側の伝送プロトコルを用いてデータを暗号化する。クライアントは伝送データを受信して暗号復号化する。集合ゲートウェイは、ローカル側通信（例えば、ＴＣＰ及びＴＬＳセッション）を終了し、必要に応じてデータのＴＣＰストリームの暗号復号化を実行し（例えば、ファイル伝送ストリーム中のファイル・オブジェクトを暗号化し）、そして新たな独立した伝送暗号化（例えば、ＭＡＣＳＥＣ、ＩＰＳＥＣ、ＴＬＳ）をリモート側で実行する。
【００２５】
伝送暗号化
一実施形態では、伝送暗号化方法を用いて、物理的な場所または建物間の伝送中にデータを保護する（即ち、ポイント−ツー−ポイント（拠点間）暗号化）。この伝送暗号化方法は、例えばＴＬＳ（Transport Security Layer）、ＩＰＳｅｃ（Internet Protocol Security）、ＭＡＣＳＥＣ（IEEE MAC Security Standard）、または他の何らかのカスタム（特注）伝送プロトコルのような工業規格とすることができる。一部の実施形態では、ＴＬＳ、ＭＡＣＳＥＣ、ＩＰＳｅｃのすべてが、クライアントのペイロード・キーを関連付けるために使用される認証情報を有する。
【００２６】
ペイロード暗号化
一実施形態では、ペイロード暗号化方法が認証付き対称暗号化アルゴリズム（例えば、ＡＥＳ−ＧＣＭ（Advanced Encryption Standard-Galois Counter Mode：米国の暗号化規格−ガロア・カウンターモード））を用いてペイロードのファイル・オブジェクトまたはデータを暗号化または暗号復号化する。この認証付き対称暗号化アルゴリズムは、正規クライアントのペイロード・キーをファイル・オブジェクトまたはデータに関連付けるために必要である。ペイロード・キー・マネージャは、クライアントのペイロード・キーをゲートウェイ内にロードすることを促進する。このクライアントのキーは、安全なポートを介してロードすることも、安全な方法を用いてネットワークを通してロードすることもできる。一旦、キーをゲートウェイ内にロードすると、キーは、ゲートウェイに接続されたクライアントに事前に関連付けられる。クライアントのキーは、伝送暗号化方法によって提供される情報に基づいてクライアントに関連付けられる。一旦、クライアントのキーがゲートウェイ内にロードされると、クライアントのキーは読み出すことも見せることもできない。ペイロード・キー・マネージャは、伝送暗号化プロトコルと通信して、クライアントが誰であるかを特定し、ペイロードの暗号化及び暗号復号化のためにファイル・オブジェクトまたはデータに関連付けるべきクライアントのペイロード・キーを決定する。主要な特徴の１つは、ペイロード・データをファイル・オブジェクト・レベルで暗号化し、クライアントのペイロード・キーをこのファイル・オブジェクトに関連付ける能力である。
【００２７】
以上の種々の実施形態についてのいくつかの利点は次の通りである：本発明を、例えば１０ギガビット〜１００ギガビットまたはより高いデータレート用にＦＰＧＡ（Field Programmable Gate Array：フィールド・プログラマブル・ゲートアレイ）またはＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）を用いてハードウェアで実現することは、暗号化システムへの外部攻撃に対する信頼性をもたらす。集中化された暗号化は、サイト全体にわたるのデータ暗号化のユーザ管理を簡略化する。高レートの暗号化は、ユーザ体験を害することのないリモート記憶を可能にする。一実施形態では、以上のための暗号または暗号化アルゴリズムを、以下に言及する収縮（シストリック）行列アーキテクチャ用いて実現することができる。
【００２８】
追加的な暗号化ゲートウェイの実施形態
一実施形態では、第１計算装置が暗号化ゲートウェイとして構成され、第１計算装置は、（例えば、データパス用及び／または暗号化処理用の）少なくとも１つのプロセッサ及び少なくとも１つのメモリを具えている。暗号化ゲートウェイは、１つまたは複数の認証因子を用いてクライアントを認証するように構成され、さらにＴＬＳ（または他の伝送暗号化）データをクライアント・アプリケーションから受信するように構成されている。暗号化ゲートウェイは、クライアントのＴＬＳ接続を終了させ、ペイロードを抽出してこのペイロードを認証付きで暗号化する。次に、暗号化ゲートウェイは、暗号化され認証されたペイロードをクラウドまたはデータサーバーのＴＬＳデータパケット／フォーマットに挿入する。暗号化ゲートウェイは、クラウドまたはデータサーバーのＴＬＳ接続を確立する。クラウドまたはデータサーバーはこのＴＬＳ接続を終了させ、このことはＴＣＰ終了を含み、暗号化され認証されたペイロードをクラウドまたはデータサーバーのメモリに記憶する。
【００２９】
一実施形態では、ある方法がクライアントのＴＬＳ接続を終了させ、このこともＴＣＰ終了を含み、データをペイロードから抽出し、抽出したデータを（キーマネージャからの暗号化キーを用いて）認証付きで暗号化する。ＴＬＳ接続がクラウドまたはデータサーバーへ設定され、暗号化され認証されたデータはキー関連付け情報と共にＴＬＳクラウドのペイロードに挿入される。クラウドまたはデータサーバーはこのＴＬＳ接続を終了させて、暗号化され認証されたペイロード・データはクラウドまたはデータサーバーのメモリ／記憶装置上に記憶される。
【００３０】
以下の節は、例えば保存データ（データ・アト・レスト）暗号化及び完全なＴＬＳ伝送セキュリティを共に１００Gbpsの全二重リンクの設計に関する実施形態を説明する。この設計はＴＬＳ及びクラウドサービス・ファイルの暗号化に限定されず、この説明は一例であり、一般設計の単一具体例におけるトレードオフの説明である。一実施形態では、以下に言及する収縮行列アーキテクチャを用いてＴＬＳアルゴリズムを実現することができる。
【００３１】
（本例で用いる）ＴＬＳバックグラウンド及び他の伝送暗号化方法は、例えばＩＰＳＥＣ、ＭＡＣＳＥＣ、またはカスタム（特注）の方法である。一実施形態では、伝送及びパケット処理を、以下に言及する収縮行列アーキテクチャを用いて実現することができる。
【００３２】
一実施形態では、トランスポート層セキュリティ（ＴＬＳ）またはセキュア・ソケット層（ＳＳＬ）を用いて、ＯＳＩ（Open System Interconnection：開放型システム間相互接続）モデルのレイヤー６（第６層）における伝送中データを保護する。ＴＬＳまたはＳＳＬは、すべてのアプリケーション層データに、証明書付き認証及び伝送暗号化を共に提供する。リモートクラウド記憶装置との関連では、ＴＬＳは、クライアントのデータがクラウドのサービスプロバイダのみに接続されることの確証をクライアントに与える。
【００３３】
ＴＬＳは、ＴＬＳ接続またはセキュア・ソケット・レイヤー（ＳＳＬ）接続を通してセッションキーを取り決めることによって動作する。単一のＴＬＳ接続は負担にならないが、装置内に取り決められるＴＬＳ接続の数が増加するに連れて、計算上の要求及び実時間（リアルタイム）遅延の両方において接続が次第に重荷になる
【００３４】
インライン暗号化
選択肢１：クライアント及びサーバーがＨＴＴＰＳ接続を使用する
ＨＴＴＰ情報をインラインで暗号化するために、図５に示すように、ハードウェアの暗号化ゲートウェイが、クライアント・アプリケーションとクラウド記憶装置との間のＴＬＳプロキシとして機能する。
【００３５】
図６に、ＴＬＳ接続を暗号復号化して再暗号化するプロセスのフローチャートを示す。
【００３６】
暗号化ゲートウェイは、クライアントへのＴＬＳ接続及びクラウドサーバーへのＴＬＳ接続を取り決める。ファイル・オブジェクトを保存データ（データ・アト・レスト）向けに暗号化する前に、クライアントのＴＬＳ暗号化を、クライアントのセッションキーを用いて暗号復号化する。ファイル・オブジェクトは、ファイル・オブジェクト・メタデータから導出したキー（例えばオブジェクトＩＤ）を用いて暗号化する。ファイル・オブジェクトを暗号化した後に、ＨＴＴＰストリームを、クラウドサーバーへの伝送用に、クラウドのセッションキーを用いて暗号化する。
【００３７】
プロキシ（ハードウェアの暗号化ゲートウェイ）が有効なクラウド証明書をクライアントに提供することができるものとすれば、この選択肢は、クラウドサーバー及びクライアント・アプリケーションが共に、トランスペアレントに（透過的に、無意識に）動作し続けることを可能にする。プロキシがクラウド領域についての有効な証明書を有さない場合、クライアントはプロキシの証明書をセキュリティの例外として受け入れる必要がある。
【００３８】
クライアント用及びクラウドサーバー用の両方にＴＬＳを使用するハードウェアの暗号化ゲートウェイの代償は、必要なＴＬＳネゴシエーション（情報交換）の数が、プロキシを使用しないことに比べて倍増することである。このことは、特に小サイズのファイルについては、追加されるネゴシエーション時間に起因して、クライアントにとっての処理性能を低下させ得る。このことはプロキシ（ハードウェアの暗号化ゲートウェイ）にも重い負荷をかける、というのは、プロキシはクライアントのＴＬＳセッションの集合体を処理しなければならないからである。
【００３９】
選択肢２：クライアントがＨＴＴＰを使用し、クラウドの記憶装置がＨＴＴＰＳを使用する
ＴＬＳプロキシ（ハードウェアの暗号化ゲートウェイ）の挿入による性能への影響を低減し、プロキシに対する負荷を軽減するために、システム内のＴＬＳ接続の数を低減することを試みることができる。このことを行う１つの方法は、クライアントの接続を手直しして非暗号化のＨＴＴＰ接続を使用することである。図７に示すように、全部のクライアント−プロキシの接続が顧客のサイト内に含まれるので、このことは内部のネットワーク・セキュリティに加えられる低リスクの変更である。
【００４０】
クライアントはＨＴＴＰのみを使用して通信するように修正されるので、ハードウェアの暗号化ゲートウェイはクライアントのみのＴＬＳプロキシとして機能する。ハードウェアの暗号化ゲートウェイは、クライアントのＨＴＴＰパケットをＨＴＴＰＳに変更する。このことは、ＴＬＳネゴシエーションの数を全部ＨＴＴＰＳの選択肢から半分に低減し、クライアント−プロキシのトラフィックにおける暗号復号化のレベル、及びプロキシ−クライアントのトラフィックにおける暗号化のレベルを取り除いて、クライアント及びプロキシの両方の計算負荷を軽減する。なお、この解決策はクライアント側のソフトウェアに変更を加える必要があり得る。
【００４１】
クライアントに対する暗号化を除外することによって節減されるステップを図８に示す。
【００４２】
選択肢３：プロキシ−サーバーの最適化
選択肢３は、クラウドサーバーとプロキシとの間のＴＬＳネゴシエーションの数を、選択肢１及び２の両方において使用する直接接続型のＨＴＴＰＳネットワークから低減することができる性能最適化の可能性を概説する。この最適化では、図９に示すように、ＴＬＳプロキシ（ハードウェアの暗号化ゲートウェイ）が、クラウドサーバーへのＴＬＳ持続接続を維持して、種々のクライアント接続を、これらのトンネルを通してトンネル接続する。
【００４３】
ハードウェアの暗号化ゲートウェイは、クライアントが何らかのデータ転送を開始する前にクラウドサーバーとのＴＬＳセッションを設定する。クライアントがクラウドサーバーとの間でデータを移動させる際に、ハードウェアの暗号化ゲートウェイは事前に開始されているＴＬＳセッションをクライアント用に使用して、クライアントのＩＰアドレス及びポート番号を有効なＴＬＳセッションのＩＰアドレス及びポート番号に変更する。
【００４４】
これに加えて、クライアント−サーバーのトラフィックについては、ハードウェアの暗号化ゲートウェイは、ＴＬＳヘッダを挿入し、サーバーのＴＣＰポート番号をＨＴＴＰＳに変更して、必要なＴＬＳ暗号化及び認証をすべて実行する。サーバー−クライアントのトラフィックについては、ハードウェアの暗号化ゲートウェイは上述したプロセスを逆にする。一実施形態では、リンクを再度取り決める必要がある前に、並びにクラウドの負荷バランスに影響を与える可能性がある際に、ＴＬＳセッションを有効にしたままにすることができる持続時間を決める必要性が存在する。
【００４５】
この選択肢は、選択肢１または選択肢２のいずれかと組み合わせて用いることができる。いずれの場合にも、特に多数の短命なクライアント接続の場合に必要なプロキシ−サーバーのＴＬＳセッションの数が低減される。この選択肢は、プロキシ−サーバー間の接続の遅延をクライアント−プロキシ間の接続とは無関係にし、これにより、クライアントは個別のクライアント接続の追加的な待ち時間を経験しない。
【００４６】
結論として、種々の実施形態では、汎用的なハードウェアの集合ゲートウェイが、通信の集中暗号化を可能にして、企業サイト及び他のサイトはそのままにする。一実施形態では、上記ハードウェアの暗号化ゲートウェイが、１秒当たり何百もの接続を取り決めて、何千ものＴＣＰ接続を同時に維持することができる。一実施形態では、ハードウェアの暗号化ゲートウェイが、リアルタイムの１００Gbps全二重ＴＬＳ用に、及びクライアント及びクラウドにとってトランスペアレントである保存データ（データ・アト・レスト）暗号化用にプログラム可能である。
【００４７】
一部の実施形態では、上記暗号化ゲートウェイを、米国特許出願第１４／１７７３９２号、２０１４年２月１１日出願、発明の名称”SECURITY DEVICE WITH PROGRAMMABLE SYSTOLIC-MATRIX CRYPTOGRAPHIC MODULE AND PROGRAMMABLE INPUT/OUTPUT INTERFACE” 発明者Richard J. Takahashi（特許文献１）、及び／または米国特許出願第１４／２１９６５１号、２０１４年３月１９日出願、発明の名称”SECURE END-TO-END COMMUNICATION SYSTEM”、発明者Richard J. Takahashi（特許文献２）に記載された、暗号化／暗号復号化及び／または通信の方法及びシステムによって実現することができ、あるいは、上記暗号化ゲートウェイがこうした方法及びシステムを用いることができる。例えば、以上の応用において説明したように、上記暗号化ゲートウェイは、収縮行列パケット及びマルチプレクサ（多重器）を用いて、パケットまたは他のデータを処理及び経路設定（ルーティング）することができる。
【００４８】
結び
開示した態様の少なくとも一部は、少なくとも部分的にソフトウェアで具体化することができる。即ち、これらの技術は、コンピュータシステムまたは他のデータ処理システムにおいて、そのプロセッサ、例えばマイクロプロセッサに応じて実行することができ、これらのプロセッサは、ＲＯＭ（Read Only Memory：読出し専用メモリ）、揮発性ＲＡＭ（Random Access Memory：ランダムアクセスメモリ）、不揮発性メモリ、キャッシュまたはリモート記憶装置のようなメモリに含まれる一連の命令を実行する。
【００４９】
種々の実施形態では、ハードワイヤード（配線接続）回路（例えば、１つ以上のハードウェア・プロセッサまたは他の計算装置）をソフトウェア命令と組み合わせて用いて、上記の技術を実現することができる（例えば、１つ以上の計算装置を用いて通信システムを実現することができる）。従って、これらの技術は、ハードウェア回路とソフトウェアとのどの特定の組合せにも限定されなければ、データ処理システムによって実行される命令のどの発生源にも限定されない。
【００５０】
一実施形態では、マイクロプロセッサとメモリとを相互接続する内部接続（例えば、バス及びシステムコア論理回路）を具えた計算装置を用いることができる。一例では、マイクロプロセッサがキャッシュメモリに結合されている。
【００５１】
上記相互接続は、マイクロプロセッサとメモリとをまとめて相互接続すると共に、これらを表示制御装置（ディスプレイ・コントローラ）及び表示装置（ディスプレイ・デバイス）にも相互接続し、入力／出力コントローラを通して入力／出力（Ｉ／Ｏ：Input/Output）装置のような周辺機器にも相互接続する。代表的なＩ／Ｏ装置は、マウス、キーボード、モデム、ネットワーク・インタフェース、プリンタ、スキャナ、ビデオカメラ、及び現在技術において周知である他の装置を含む。
【００５２】
上記相互接続は、種々のブリッジ、コントローラ、及び／またはアダプタを通して互いに接続された１つ以上のバスを含むことができる。一実施形態では、上記Ｉ／Ｏコントローラが、ＵＳＢ（Universal Serial Bus：ユニバーサル・シリアルバス）周辺機器を制御するためのＵＳＢアダプタ、及びＩＥＥＥ−１３９４周辺機器を制御するためのＩＥＥＥ−１３９４バスアダプタを含む。
【００５３】
上記メモリは、ＲＯＭ（読出し専用メモリ）、及び揮発性ＲＡＭ（ランダムアクセスメモリ）、及びハードドライブ（ハードディスク駆動装置）、フラッシュメモリ、等のような不揮発性メモリを含むことができる。
【００５４】
揮発性ＲＡＭはダイナミックＲＡＭ（ＤＲＡＭ：Dynamic RAM）として実現されるのが代表的であり、ダイナミックＲＡＭはメモリ内のデータをリフレッシュまたは維持するために絶えず電力を必要とする。不揮発性メモリは、一般に磁気ハードドライブ、光磁気ドライブ、または光学ドライブ（例えば、ＤＶＤ（Digital Versatile Disc：デジタル多用途ディスク）ＲＡＭ）、あるいはシステムから電力を断った後にもデータを維持する他の種類のメモリシステムが代表的である。不揮発性メモリはランダムアクセスメモリとすることもできる。
【００５５】
不揮発性メモリは、データ処理システム内の残りの構成要素に直接結合されたローカル装置とすることができる。モデムまたはイーサネット（登録商標）インタフェースのようなネットワーク・インタフェースを通してデータ処理システムに結合されたネットワーク記憶装置のようにシステムからリモート（遠隔）位置にある不揮発性メモリを使用することもできる。
【００５６】
一実施形態では、上記の計算装置のようなデータ処理システムを用いて次のもののうち１つ以上を実現する：暗号化ゲートウェイ、ルーター、スイッチ、キーマネージャ、クライアント・アプリケーション、クラウド記憶装置、負荷分散装置（ロード・バランサ）、及びファイアウォール。
【００５７】
一実施形態では、上記の計算装置のようなデータ処理システムを用いてユーザ端末装置を実現し、ユーザ端末装置は計算装置の制御用のユーザ・インタフェースを提供することができる。例えば、ユーザ・インタフェースは暗号化ゲートウェイの設定を可能にすることができる。ユーザ端末は、パーソナル・デジタル・アシスタント（ＰＤＡ：Personal Digital Assistant：個人用携帯端末）、セルラ電話機または他のモバイル機器、ノートブック型コンピュータ、またはデスクトップ型パーソナル・コンピュータの形態とすることができる。
【００５８】
一部の実施形態では、データ処理システムの１つ以上のサーバーを、複数のデータ処理システムのピア・ツー・ピア（対等な機器間通信）ネットワーク、あるいは分散コンピュータシステムのネットワークのサービスに置き換えることができる。こうしたピア・ツー・ピア・ネットワークまたは分散コンピュータシステムは、集合的にサーバー型データ処理システムとして見ることができる。
【００５９】
本発明の実施形態は、上記のマイクロプロセッサ及び／またはメモリにより実現することができる。例えば、説明した機能は、部分的にマイクロプロセッサ内のハードウェア論理回路により実現することができ、部分的にメモリに記憶された命令を用いて実現することができる。一部の実施形態は、上記マイクロプロセッサを用いて、メモリに記憶された追加的命令なしに実現することができる。一部の実施形態は、１つ以上の汎用マイクロプロセッサによる実行用にメモリに記憶された命令をを用いて実現される。従って、本発明はハードウェア及び／またはソフトウェアの特定の構成に限定されない。
【００６０】
本明細書の説明では、説明を簡略化するために、種々の機能及び動作を、ソフトウェア・コードによって実行または生成されるように記載していることがある。しかし、こうした表現が意味するものは、これらの機能がマイクロプロセッサのようなプロセッサによるコードの実行により生じる、ということであることは当業者の認める所である。その代わりに、あるいはそれと組み合わせて、これらの機能及び動作は、特定目的の回路を用いて、例えば特定用途向け集積回路（ＡＳＩＣ）またはフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）を用いて、ソフトウェア命令ありでもなしでも実現することができる。実施形態は、ハードウェア回路を用いてソフトウェア命令なしで、あるいはソフトウェア命令と組み合わせて実現することができる。従って、これらの技術は、ハードウェア回路とソフトウェアとの特定の組合せにも限定されなければ、データ処理システムによって実行される命令の特定の発生源にも限定されない。
【００６１】
一部の実施形態は全機能を果たすコンピュータ及びコンピュータシステムの形で実現することができるが、種々の実施形態は、種々の形態のコンピュータ製品として分散させることができ、そして、この分散を実際に行うために使用する特定種類のマシンまたはコンピュータ可読媒体にかかわらず適用することができる。
【００６２】
開示した態様の少なくとも一部は、少なくとも部分的にソフトウェアで具体化することができる。即ち、上記技術は、コンピュータシステムまたは他のデータ処理システムにおいて、そのプロセッサ、例えばマイクロプロセッサに応じて実行することができ、これらのプロセッサは、ＲＯＭ、揮発性ＲＡＭ、不揮発性メモリ、キャッシュまたはリモート記憶装置のようなメモリに含まれる一連の命令を実行する。
【００６３】
ハードウェア及び／またはソフトウェアを用いて、上記の実施形態を実現することができる。ソフトウェアは、「コンピュータ・プログラム」と称する一連の命令とすることができる。コンピュータプログラムは一般に１つ以上の命令を含み、これらの命令は、コンピュータ内の種々のメモリ及び記憶装置内に種々の時点に設定され、コンピュータ内の１つ以上のプロセッサによって読み出されて実行されると、上記の種々の態様に関与する要素を実行するために必要な動作をコンピュータに実行させる。
【００６４】
ある実施形態で使用するソフトウェアは、マシン可読媒体に記憶することができる。上記の実行可能なソフトウェアは、データ処理システムによって実行されると、このシステムに種々の方法を実行させる。上記の実行可能なソフトウェア及びデータは、例えばＲＯＭ、揮発性ＲＡＭ、不揮発性メモリ、及び／またはキャッシュを含む種々の場所に記憶することができる。このソフトウェア及び／またはデータの各部分は、これらの記憶装置のいずれにも記憶することができる。さらに、上記のデータ及び命令は、集中型サーバーまたはピア・ツー・ピア・ネットワークから取得することができる。データ及び命令の異なる部分を、異なる集中型サーバー及び／またはピア・ツー・ピア・ネットワークから、異なる時点に、異なる通信セッション中にも同じ通信セッション中にも取得することができる。これらのデータ及び命令は、その全体をアプリケーションの実行の前に取得することができる。その代わりに、これらのデータ及び命令の各部分を、実行が必要な際に、動的に、適時に取得することができる。従って、これらのデータ及び命令は、その全体を特定の時点にマシン可読媒体上に記憶する必要はない。
【００６５】
コンピュータ可読媒体の例は、とりわけ、揮発性及び不揮発性メモリデバイス、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリデバイス、フロッピー（登録商標）及び他のリムーバブル（着脱可能）ディスク、磁気ディスク記憶媒体、光記憶媒体（例えば、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ：Compact Disc ROM）、デジタル多用途ディスク（ＤＶＤ）、等）のような追記型及び非追記型媒体を含むが、それらに限定されない。
【００６６】
一般に、接触型のマシン可読媒体は、マシン（例えば、コンピュータ、ネットワーク装置、パーソナル・デジタル・アシスタント、製造ツール、１つ以上のプロセッサの組を有するあらゆる装置、等）によってアクセス可能な形態で情報を提供する（例えば、記憶する）あらゆる媒体を含む。
【００６７】
図面の一部は複数の操作を特定の順序で示していることがあるが、順序に依存しない操作は順序変更することができ、他の操作は組み合わせることも取り除くこともできる。いくつかの順序変更または他のグループ化を具体的に記載しているが、他のものは通常の当業者にとって明らかであり、従って代案の網羅的リストは提示しない。さらに、種々の段階または構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組合せで実現することができることを認識するべきである。
【００６８】
本明細書では、利益、他の利点、及び課題に対する解決策を特定の実施形態に関して説明してきた。しかし、これらの利益、利点、課題に対する解決策、及びあらゆる利益、利点、または解決策を生じさせるかより顕著にするあらゆる要素は、本発明の重要な、必要な、あるいは不可欠な特徴または要素として解釈するべきでない。
【００６９】
本明細書中の請求項の要素は、「...する手段」という句を用いて明示的に記載していない限り、３５  Ｕ．Ｓ．Ｃ．  １１２（米国特許法第１１２条）第６段落の条項の下で解釈するべきでない。
【００７０】
以上の明細書では、本発明はその好適な実施形態を参照して説明してきた。以下の特許請求の範囲に記載するより広い精神及び範囲から逸脱することなしに、これらの実施形態に種々の変更を加えることができることは明らかである。従って、明細書及び図面は、限定的意味でなく例示的意味に考えるべきである。
【図１】
2018534884.tif 000003
【図２】
2018534884.tif 000004
【図３】
2018534884.tif 000005
【図４】
2018534884.tif 000006
【図５】
2018534884.tif 000007
【図６】
2018534884.tif 000008
【図７】
2018534884.tif 000009
【図８】
2018534884.tif 000010
【図９】
2018534884.tif 000011
【国際調査報告】
2018534884.tif 000012
2018534884.tif 000013