IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-532112暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム
<>
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図1
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図2
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図3
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図4
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図5
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図6
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図7
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図8
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図9
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図10
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図11
  • 特表-暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-05
(54)【発明の名称】暗号通信のためのリソース・スケーリング実施方法、システム、およびプログラム
(51)【国際特許分類】
   H04L 9/16 20060101AFI20240829BHJP
【FI】
H04L9/16
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024508911
(86)(22)【出願日】2022-05-27
(85)【翻訳文提出日】2024-02-13
(86)【国際出願番号】 CN2022095615
(87)【国際公開番号】W WO2023024622
(87)【国際公開日】2023-03-02
(31)【優先権主張番号】17/411,383
(32)【優先日】2021-08-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【復代理人】
【識別番号】100091568
【弁理士】
【氏名又は名称】市位 嘉宏
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ワン、ヘン
(72)【発明者】
【氏名】チェン、ワンユエ
(72)【発明者】
【氏名】リュウ、チャンアン
(72)【発明者】
【氏名】リー、ジン
(72)【発明者】
【氏名】チェン、シャオリン
(72)【発明者】
【氏名】ジアン、ペンフイ
(57)【要約】
暗号通信のためのリソース・スケーリング実施方法が提供される。暗号化メッセージに関連付けられた暗号機能の制約が必須の暗号計算リソース要件を含まないとの決定に基づいて、プロセッサに関連付けられた暗号指標の分析を含む第1のリソース・スケーリング動作が実行される。暗号指標は、プロセッサによって実行された暗号機能の性能測定結果と共に、暗号化メッセージに関連付けられた情報を含む。暗号機能の制約および暗号指標の分析結果は、暗号化メッセージの暗号処理要件を決定すること、および暗号処理要件を暗号計算リソースのセットのうちの選択された暗号計算リソースに一致させ、暗号化メッセージの暗号処理要件に一致する暗号計算リソースのカスタマイズされたセットを識別することのために使用される。暗号計算リソースのカスタマイズされたセットは、暗号化メッセージに対してカスタマイズされた暗号機能を実行するために使用される。
【特許請求の範囲】
【請求項1】
暗号動作を実行するためのコンピュータ実装方法であって、前記コンピュータ実装方法が、
プロセッサ・システムを使用して、暗号化メッセージに関連付けられたリソース・スケーリング(RS)データを受信することと、
前記プロセッサ・システムを使用して、前記RSデータの動作ポリシー(OP)にアクセスすることであって、前記OPが暗号動作制約を定義する、前記アクセスすることと、
前記暗号動作制約が必須の暗号リソース要件を含まないとの決定に少なくとも部分的に基づいて、第1のリソース・スケーリング動作を実行することとを含み、前記第1のリソース・スケーリング動作が、
前記プロセッサ・システムを使用して、前記プロセッサ・システムに関連付けられた暗号指標の分析を実行することであって、
前記暗号指標が、
前記暗号化メッセージに関連付けられた情報、および
前記プロセッサ・システムによって実行された暗号動作の性能測定結果を含む、前記実行することと、
前記暗号動作制約および前記暗号指標の前記分析結果を使用して、
前記暗号化メッセージの暗号処理要件を決定すること、および
前記暗号処理要件を、使用可能な暗号計算リソースのセットのうちの選択された暗号計算リソースに一致させ、前記暗号化メッセージの前記暗号処理要件に一致するように選択された暗号計算リソースのカスタマイズされたセットを識別すること
を実行することと、
前記暗号計算リソースのカスタマイズされたセットを使用して、前記暗号化メッセージに対してカスタマイズされた暗号動作を実行することとを含む、コンピュータ実装方法。
【請求項2】
前記暗号動作制約が前記必須の暗号計算リソース要件を含むとの決定に少なくとも部分的に基づいて、
前記暗号化メッセージを、前記必須の暗号計算リソース要件によって識別された必須の暗号計算リソースのセットにルーティングすることと、
前記必須の暗号計算リソースのセットを使用して、前記暗号化メッセージに対して必須の暗号動作を実行することとを含む第2のリソース・スケーリング動作を実行することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記暗号化メッセージに対して暗号動作を実行することの要求を受信することと、
前記要求を実行する代わりに、前記要求を前記プロセッサ・システムにルーティングすることとを実行するように、オープンソースの暗号ソフトウェアを構成することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記オープンソースの暗号ソフトウェアが、オープンソースのセキュア・ソケット・レイヤ(SSL)ソフトウェアを含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記第1のリソース・スケーリング動作が、前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第1のリソース・スケーリング動作が、
前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含み、
前記第2のリソース・スケーリング動作が、
前記必須の暗号計算リソースのセットを使用して前記暗号化メッセージに対して必須の暗号動作を実行することから生じる更新された暗号指標の第2のセットを捕捉することと、
前記更新された暗号指標の第2のセットを使用して暗号指標を更新することとをさらに含む、請求項2に記載のコンピュータ実装方法。
【請求項7】
前記プロセッサが、機械学習アルゴリズムを利用して前記暗号化メッセージの前記暗号処理要件を決定するようにトレーニングされた予測モデルを備え、
前記暗号化メッセージに関連付けられた前記情報が、静的データを含んでいる暗号計算リソース・パターンを含み、
前記性能測定結果が、変化する動的データを含んでいる暗号指標を含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
プロセッサ・システムに通信可能に結合されたメモリを備えているコンピュータ・システムであって、前記プロセッサ・システムが、
暗号化メッセージに関連付けられたリソース・スケーリング(RS)データを受信することと、
前記RSデータの動作ポリシー(OP)にアクセスすることであって、前記OPが暗号動作制約を定義する、前記アクセスすることと、
前記暗号動作制約が必須の暗号計算リソース要件を含まないとの決定に少なくとも部分的に基づいて、第1のリソース・スケーリング動作を実行することとを含む動作を実行するように構成され、前記第1のリソース・スケーリング動作が、
前記プロセッサ・システムに関連付けられた暗号指標の分析であって、
前記暗号指標が、
前記暗号化メッセージに関連付けられた情報、および
前記プロセッサ・システムによって実行された暗号動作の性能測定結果を含む、前記分析と、
前記暗号動作制約および前記暗号指標の前記分析結果を使用して、
前記暗号化メッセージの暗号処理要件を決定すること、および
前記暗号処理要件を、使用可能な暗号計算リソースのセットのうちの選択された暗号計算リソースに一致させ、前記暗号化メッセージの前記暗号処理要件に一致するように選択された暗号計算リソースのカスタマイズされたセットを識別すること
を実行することと、
前記暗号計算リソースのカスタマイズされたセットを使用して、前記暗号化メッセージに対してカスタマイズされた暗号動作を実行することとを含む、コンピュータ・システム。
【請求項9】
前記暗号動作制約が前記必須の暗号計算リソース要件を含むとの決定に少なくとも部分的に基づいて、
前記暗号化メッセージを、前記必須の暗号計算リソース要件によって識別された必須の暗号計算リソースのセットにルーティングすることと、
前記必須の暗号計算リソースのセットを使用して、前記暗号化メッセージに対して必須の暗号動作を実行することとを含む第2のリソース・スケーリング動作を実行することをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項10】
前記暗号化メッセージに対して暗号動作を実行することの要求を受信することと、
前記要求を実行する代わりに、前記要求を前記プロセッサ・システムにルーティングすることとを実行するように、オープンソースの暗号ソフトウェアを構成することをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項11】
前記オープンソースの暗号ソフトウェアが、オープンソースのセキュア・ソケット・レイヤ(SSL)ソフトウェアを含む、請求項10に記載のコンピュータ・システム。
【請求項12】
前記第1のリソース・スケーリング動作が、前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項13】
前記第1のリソース・スケーリング動作が、
前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含み、
前記第2のリソース・スケーリング動作が、
前記必須の暗号計算リソースのセットを使用して前記暗号化メッセージに対して必須の暗号動作を実行することから生じる更新された暗号指標の第2のセットを捕捉することと、
前記更新された暗号指標の第2のセットを使用して暗号指標を更新することとをさらに含む、請求項9に記載のコンピュータ・システム。
【請求項14】
前記プロセッサが、機械学習アルゴリズムを利用して前記暗号化メッセージの前記暗号処理要件を決定するようにトレーニングされた予測モデルを備え、
前記暗号化メッセージに関連付けられた前記情報が、静的データを含んでいる暗号計算リソース・パターンを含み、
前記性能測定結果が、変化する動的データを含んでいる暗号指標を含む、請求項8に記載のコンピュータ・システム。
【請求項15】
暗号動作を実行するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、コンピュータ可読ストレージ媒体に格納されたコンピュータ可読プログラムを備え、前記コンピュータ可読プログラムが、プロセッサ・システム上で実行された場合に、前記プロセッサ・システムに、
暗号化メッセージに関連付けられたリソース・スケーリング(RS)データを受信することと、
前記RSデータの動作ポリシー(OP)にアクセスすることであって、前記OPが暗号動作制約を定義する、前記アクセスすることと、
前記暗号動作制約が必須の暗号計算リソース要件を含まないとの決定に少なくとも部分的に基づいて、第1のリソース・スケーリング動作を実行することとを含むプロセッサ・システムの方法を実行させ、前記第1のリソース・スケーリング動作が、
前記プロセッサ・システムに関連付けられた暗号指標の分析であって、
前記暗号指標が、
前記暗号化メッセージに関連付けられた情報、および
前記プロセッサ・システムによって実行された暗号動作の性能測定結果を含む、前記分析と、
前記暗号動作制約および前記暗号指標の前記分析結果を使用して、
前記暗号化メッセージの暗号処理要件を決定すること、および
前記暗号処理要件を、使用可能な暗号計算リソースのセットのうちの選択された暗号計算リソースに一致させ、前記暗号化メッセージの前記暗号処理要件に一致するように選択された暗号計算リソースのカスタマイズされたセットを識別すること
を実行することと、
前記暗号計算リソースのカスタマイズされたセットを使用して、前記暗号化メッセージに対してカスタマイズされた暗号動作を実行することとを含む、コンピュータ・プログラム製品。
【請求項16】
前記プロセッサ・システムの方法が、
前記暗号動作制約が前記必須の暗号計算リソース要件を含むとの決定に少なくとも部分的に基づいて、
前記暗号化メッセージを、前記必須の暗号計算リソース要件によって識別された必須の暗号計算リソースのセットにルーティングすることと、
前記必須の暗号計算リソースのセットを使用して、前記暗号化メッセージに対して必須の暗号動作を実行することとを含む第2のリソース・スケーリング動作を実行することをさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
前記プロセッサ・システムの方法が、
前記暗号化メッセージに対して暗号動作を実行することの要求を受信することと、
前記要求を実行する代わりに、前記要求を前記プロセッサ・システムにルーティングすることとを実行するように、オープンソースの暗号ソフトウェアを構成することをさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項18】
前記オープンソースの暗号ソフトウェアが、オープンソースのセキュア・ソケット・レイヤ(SSL)ソフトウェアを含む、請求項17に記載のコンピュータ・プログラム製品。
【請求項19】
前記第1のリソース・スケーリング動作が、
前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含み、
前記第2のリソース・スケーリング動作が、
前記必須の暗号計算リソースのセットを使用して前記暗号化メッセージに対して必須の暗号動作を実行することから生じる更新された暗号指標の第2のセットを捕捉することと、
前記更新された暗号指標の第2のセットを使用して暗号指標を更新することとをさらに含む、請求項16に記載のコンピュータ・プログラム製品。
【請求項20】
前記プロセッサが、機械学習アルゴリズムを利用して前記暗号化メッセージの前記暗号処理要件を決定するようにトレーニングされた予測モデルを備え、
前記暗号化メッセージに関連付けられた前記情報が、静的データを含んでいる暗号計算リソース・パターンを含み、
前記性能測定結果が、変化する動的データを含んでいる暗号指標を含む、請求項15に記載のコンピュータ・プログラム製品。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、プログラム可能なコンピュータ・システムに関連している。より詳細には、本発明は、暗号計算リソースを、例えば、ハイパーテキスト転送プロトコル・セキュア(HTTPS:hypertext transfer protocol secure)メッセージなどの暗号化接続要求を含む暗号化された通信を復号するための予測された要件または必須要件あるいはその両方に自動的に一致させるか、またはそれらの要件に合わせてスケーリングするための、コンピュータ・システム、コンピュータ実装方法、およびコンピュータ・プログラム製品に関連している。
【背景技術】
【0002】
HTTPSは、HTTPのセキュア版であり、WebブラウザとWebサイト・サーバの間でデータを送信するために使用される主要なプロトコルである。HTTPは、データ転送のセキュリティを向上させるために暗号化される。この暗号化は、ユーザが、金融口座、電子メール・サービス、または健康保険会社のWebサイトにログインすることなどによって機密データを送信する場合に、特に重要である。HTTPSは、暗号化プロトコルを使用して通信を暗号化する。このプロトコルは、トランスポート層セキュリティ(TLS:transport layer security)として知られており、以前はセキュア・ソケット・レイヤ(SSL:secure sockets layer)として知られていた。TLS(またはSSL)プロトコルは、非対称公開鍵基盤として知られているものを使用することによって通信を保護する。この種のセキュリティ・システムは、2つの異なる鍵、すなわち、秘密鍵および公開鍵を使用して、二者間の通信を暗号化する。秘密鍵は、Webサイトの所有者によって管理され、秘密に保たれる。秘密鍵は、Webサーバ上に存在し、公開鍵によって暗号化された情報を復号するために使用される。公開鍵は、セキュアな方法でサーバと情報をやりとりしたいすべての人によって使用可能である。公開鍵によって暗号化された情報は、秘密鍵のみによって復号され得る。
【0003】
機密アプリケーション・データは、ワーカ・ノード上のセキュア・エンクレーブによってシールされ得る。セキュア・エンクレーブは、アプリケーション機能の重要な側面が保護される、メモリの分離された信頼できる領域であり、機密アプリケーション・データを変更されずに機密に保つのに役立つ。言い換えると、セキュア・エンクレーブは、メイン・メモリの暗号化された部分である。セキュア・エンクレーブは、プロセッサに基づくセキュリティ・メカニズムによって堅牢にされる。特定のマシンのハードウェア(例えば、ワーカ・ノードのプロセッサ・チップ)から導出されたシールされた暗号鍵にタグ付けするセキュリティは、非常にセキュアである。
【0004】
コンピュータ・システムのコンピュータ・プロセッシング・ユニット(CPU:computerprocessing unit(s))の動作性能は、CPUが実行しなければならない処理タスクの量および性質によって、低下する可能性がある。暗号加速およびコプロセッサは、必要とされるタスクを有するCPUを支援することによって、ハードウェア性能を改善しようとする。暗号加速は、コプロセッサなどの追加のハードウェアを提供することによってシステム全体の性能を加速しようとする、ソフトウェアに基づくツールであり、暗号アルゴリズムが、CPUプロセッシング・コアとは別に暗号動作(または機能)を実行することができ、それによって、他の機能および動作に集中するように、CPUプロセッシング・コアを解放する。コプロセッサは、CPUが計算リソースをシステム全体にとって絶対不可欠なタスクに集中することを可能にするために、関連するCPUの選択されたプロセッサ集約型のタスクの実行を引き継ぐように構成されるという点において、補助プロセッサである。
【0005】
既知の暗号加速およびコプロセッサは、暗号動作の効率に対処しない。例えば、Webサーバは、性能および鍵保護の考慮のために、通常、オープンソース・ソフトウェア(例えば、OpenSSL(R))を利用してHTTPS復号を実行する。適切なオープンソース・ソフトウェア(OSS:open-source software)は、Webサーバで受信された暗号化接続要求を決定された暗号計算リソースに配信またはルーティングするエンジンを含むことができる。しかし、決定された暗号計算リソースは、暗号化された接続要求によって必要とされる暗号動作に明確に揃えられない(または一致しない)。例えば、ある条件の下では、暗号化接続要求のための適切な暗号プロセスが、高度なセキュリティの計算リソース(例えば、クラウドHSM(hardware security module:ハードウェア・セキュリティ・モジュール))において実行されなければならず、他の条件の下では、暗号化接続要求のための適切な暗号処理が、高度なセキュリティの計算リソースにおいて実行される必要がない。
【0006】
したがって、暗号動作を実行するための既知の技術は、そのような暗号動作の効率を改善せず、特に、高度なセキュリティの暗号計算リソースを含む、暗号計算リソースの無駄の多い非効率な使い過ぎを引き起こす。
【発明の概要】
【0007】
本発明の実施形態は、プロセッサ・システムを使用して、暗号化メッセージに関連付けられたリソース・スケーリング(RS:resource-scaling)データの動作ポリシー(OP:operationpolicy)にアクセスするコンピュータ実装方法を含み、OPは、暗号動作制約を定義する。暗号動作制約が必須の暗号計算リソース要件を含まないとの決定に少なくとも部分的に基づいて、プロセッサ・システムに関連付けられた暗号指標の分析を実行することを含む第1のリソース・スケーリング動作が実行される。暗号指標は、プロセッサ・システムによって実行された暗号動作から生じる性能測定結果と共に、暗号化メッセージに関連付けられた情報を含む。暗号動作制約および暗号指標の分析結果は、暗号化メッセージの暗号処理要件を決定するために使用され、決定された暗号処理要件を使用可能な暗号計算リソースのセットのうちの選択された暗号計算リソースに一致させるためにさらに使用され、それによって、暗号化メッセージの暗号処理要件に一致する暗号計算リソースのカスタマイズされたセットを識別または選択する。暗号計算リソースのカスタマイズされたセットは、暗号化メッセージに対してカスタマイズされた暗号動作を実行するために使用される。
【0008】
本発明の前述の実施形態によって提供される技術的利点は、必須の暗号リソース要件が、通常は、よりセキュアな暗号リソースを必要とするより高いセキュリティ・レベルを有する暗号化メッセージに適用されるため、すべての必須の暗号リソース要件を分割して取り出し、必須の要件が適切に適用されることを保証することを含む。必須の暗号リソース要件を有するメッセージを分割して取り出すことによって、残りのメッセージの種類が、それらのメッセージが必要とする暗号計算リソースに、より効率的に一致することができる。暗号制約および暗号指標の両方を使用して、残りのメッセージの種類を、それらのメッセージが必要とする暗号計算リソースに一致させることによって、この一致動作を改善するために、暗号ハードウェアの実際の過去の性能が活用され得る。
【0009】
本発明の前述の実施形態は、暗号化メッセージに対して暗号動作を実行するための要求を受信し、この要求を実行する代わりに、この要求をプロセッサ・システムにルーティングするように、オープンソースの暗号ソフトウェアを構成することをさらに含むことができる。
【0010】
本発明の前述の実施形態によって提供される技術的利点は、本発明のさまざまな実施形態の特徴および機能を組み込むように、既存のオープンソース・ソフトウェアが効率的に変更されることを可能にすることを含む。
【0011】
本発明の前述の実施形態は、第1のリソース・スケーリング動作に、暗号計算リソースのカスタマイズされたセットを使用して暗号化メッセージに対してカスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、更新された暗号指標の第1のセットを使用して暗号指標を更新することとを含めさせることをさらに含むことができる。
【0012】
本発明の前述の実施形態によって提供される技術的利点は、コンピュータ実装方法が、コンピュータ実装方法の各反復からのデータを累算することを可能にすることと、累算データを使用して、コンピュータ実装方法のその後の反復を改善することとを含む。
【0013】
本発明の実施形態は、前述のコンピュータ実装方法と実質的に同じ特徴を有するためのコンピュータ・システムおよびコンピュータ・プログラム製品も提供する。
【0014】
追加の特徴および長所が、本発明の技術によって実現される。本発明のその他の実施形態および態様は、本明細書において詳細に説明され、請求される発明の一部と見なされる。本発明を長所および特徴と共によく理解するために、説明および図面を参照されたい。
【0015】
本発明と見なされる本主題は、本明細書の最後にある特許請求の範囲において具体的に指摘され、明確に請求される。本発明の前述および他の特徴および利点は、添付の図面と併せて行われる以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0016】
図1】本発明の態様を具現化する通信システムを示す図である。
図2】本発明の態様を具現化するコンピュータ実装方法を示すフロー図である。
図3】本発明の態様を具現化する通信システム・アーキテクチャを示す図である。
図4】本発明の態様を具現化するシステムを示す図である。
図5】本発明の態様に従ってリソース・スケーリング・エンベロープ(RS-EVP:resource-scalingenvelope)データ拡張のデータ・フィールドを示す図である。
図6】本発明の態様に従ってシステムおよび方法の両方を示す図である。
図7】本発明の態様に従ってシステムおよび方法の両方を示す図である。
図8】本発明の態様を実装するために利用される機械学習システムを示す図である。
図9図8に示された機械学習システムによって実装される学習段階を示す図である。
図10】本発明の態様を実装することができる例示的なコンピューティング・システムの詳細を示す図である。
図11】本発明の実施形態に従ってクラウド・コンピューティング環境を示す図である。
図12】本発明の実施形態に従って抽象モデル・レイヤを示す図である。
【発明を実施するための形態】
【0017】
簡潔さの目的で、本発明の態様の作成および使用に関連する従来技術は、本明細書に詳細に記載されることもあれば、記載されないこともあり得る。具体的には、本明細書に記載された種々の技術的特徴を実装するためのコンピューティング・システムおよび特定のコンピュータ・プログラムのさまざまな態様は、よく知られている。したがって、簡潔さのために、多くの従来の実装に関する詳細は、本明細書では、周知のシステムまたは工程あるいはその両方の詳細を提供することなく、簡潔にのみ述べられるか、または全体的に省略される。
【0018】
本明細書において説明されるシステムの機能ユニットの多くは、モジュールとしてラベル付けされている。本発明の実施形態は、多種多様なモジュールの実装に当てはまる。例えば、モジュールは、カスタムVLSI回路またはゲート・アレイ、論理チップなどの市販の半導体、トランジスタ、あるいは他の個別のコンポーネントを含むハードウェア回路として実装され得る。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル・ロジック・デバイスなどの、プログラム可能なハードウェア・デバイスにおいて実装されることも可能である。モジュールは、さまざまな種類のプロセッサによって実行するために、ソフトウェアにおいて実装されることも可能である。例えば、実行可能コードの識別されたモジュールは、例えばオブジェクト、プロシージャ、または関数として編成されるコンピュータ命令の1つまたは複数の物理的または論理的ブロックを含むことができる。それにもかかわらず、識別されたモジュールの実行ファイルは、物理的に一緒に配置される必要はなく、異なる位置に格納された異種の命令を含むことができ、それらの命令は、論理的に一緒に結合された場合にモジュールとして機能し、モジュールの規定された目的を達成する。
【0019】
本明細書に示されたシステムのさまざまなコンポーネント、モジュール、副機能などは、例示および説明を容易にするために、別々に示されている。本発明の実施形態では、さまざまなコンポーネント、モジュール、副機能などによって実行される動作は、特に具体的に述べられない限り、本明細書に記載された本発明のさまざまな実施形態の範囲から逸脱することなく、示されたのとは異なって分配され得る。
【0020】
便宜のために、本明細書に記載された技術的機能または動作あるいはその両方の一部は、非公式の表現を使用して伝えられる。例えば、キャッシュ・メモリにデータが格納されたプロセッサは、データを「知っている」プロセッサとして説明され得る。同様に、データ読み込みコマンドをプロセッサに送信しているユーザは、データを読み込むようにプロセッサに「命じている」ユーザとして説明され得る。この「発明を実施するための形態」における任意のそのような非公式の表現が、非公式の表現の対応するより正式な技術的説明を対象にするように読まれるべきであるということが理解され、当業者は、そのような非公式の表現が、非公式の表現の対応する、より正式な技術的説明を対象にすることを理解されたい。
【0021】
ここで、本発明の態様の概要について説明すると、本発明の実施形態は、暗号化メッセージおよび関連するリソース・スケーリング(RS:resource-scaling)データを受信し、RSデータにおいてRS制約を使用して、暗号化メッセージが必須の暗号処理要件を有さないということを決定し、プロセッサ・システムによって実行された暗号動作から導出された暗号指標を決定し、RS制約および暗号指標を使用して、暗号化メッセージの必須でない暗号処理要件を決定するか、または予測するか、あるいはその両方を実行し、決定されたか、または予測されたか、あるいはその両方である暗号処理要件を使用して、使用可能な暗号計算リソースのセットのうちから、一致する暗号計算リソースまたは暗号計算リソースのカスタマイズされたセットあるいはその両方を識別するか、または選択するか、あるいはその両方を実行し、一致する暗号計算リソースまたは暗号計算リソースのカスタマイズされたセットあるいはその両方を使用して、暗号化メッセージに対してカスタマイズされた暗号動作(例えば、カスタマイズされた復号)を実行する、コンピュータ・システム、コンピュータ実装方法、およびコンピュータ・プログラム製品を提供する。
【0022】
本発明の実施形態では、使用可能な暗号計算リソースのセットは、送信されるさまざまな種類の暗号化メッセージに関して予想されるさまざまな種類の暗号処理要件と一致するように選択され得る。本発明の態様に従って、特定の種類の暗号化メッセージと一致する暗号計算リソースは、暗号計算リソースを無駄にせずに、暗号動作を特定の種類の暗号化メッセージに効率的に適用する暗号計算リソースである。したがって、本発明の実施形態は、暗号化メッセージの予測された暗号処理要件を、使用可能な暗号計算リソースの適合されたサブセットまたはカスタマイズされたサブセットに一致させ、それによって、使用可能な暗号計算リソースが適用される方法の効率を改善するために使用され得る。したがって、本発明の実施形態は、そのような暗号動作の効率を改善する新しい方法で暗号動作を実行し、特に、高度なセキュリティの暗号計算リソースを含む、暗号計算リソースの無駄のない効率的な使用をもたらす。
【0023】
本明細書では、本発明の前述の態様および本発明の他の態様が、RS(リソース・スケーリング)機能として説明される。本発明の一部の実施形態は、本明細書に記載されたさまざまな新しいRS機能または特徴あるいはその両方を組み込み、それによって、本発明の態様を具現化する新しいRS-OS-COFを形成するように本発明の態様に従って変更された、オープンソース・コンテナ・オーケストレーション・フレームワーク(OS-COF:open-source container orchestration framework)を使用して実装され得る。新しいRS-OS-COFは、コンテナ化されたアプリケーションの自動的なデプロイメントおよび管理を提供するように構成された、オープンソース・ソフトウェア(例えば、OpenSSLソフトウェア)および相互接続された物理コンピューティング・ノードまたは仮想コンピューティング・ノードあるいはその両方(すなわち、マシン)のクラスタを含むように構成され得る。
【0024】
ノードのRS-OS-COFクラスタは、2種類のノード、すなわちマスタ・ノードおよび1つまたは複数のワーカ・ノードを含むことができる。マスタ・ノードは、クラスタ内のワーカ・ノードを管理する役割を担う。マスタ・ノードは、例えば、アプリケーション・プログラミング・インターフェイス、ユーザ・インターフェイス、またはオープンソース・ソフトウェア(OSS:open-source software)インターフェイスから受信される、クラスタ内で実行されるすべての動作の入り口点である。ワーカ・ノードは、1つまたは複数のワークロードを実行し、クラスタ内の他のワーカ・ノード上で実行されている異なるワークロードとネットワーク接続する役割を担う。本発明の態様に従って、ノードのRS-OS-COFクラスタのマスタ・ノードは、RS機能を含むように変更され、それによって、RS-OS-COFワーキング・ノードを形成する。
【0025】
RS-OS-COFワーカ・ノード内の基本的なスケジューリング・ユニットは、例えばポッドなどのコンテナである。コンテナは、ワーカ・ノードに共同配置され、リソースを共有する。RS-OS-COF内の各コンテナには、ワーカ・ノードのクラスタ内の一意のコンテナ・インターネット・プロトコル・アドレスが割り当てられ、アプリケーションが競合のリスクを伴わずにポートを使用できるようにする。サービスは、多層アプリケーションの1つの層などの、一緒に機能するRS-OS-COFのコンテナのセットである。
【0026】
新しいRS-OS-COFは、暗号化メッセージを受信するように構成されることが可能であり、例えばHTTPS接続要求を含む、種々の形態を受け取ることができる。適切なRS-OS-COFの例は、本明細書に記載された新しいRS機能の種々の態様を組み込むように変更された、Kubernetes(R)オープンソース・プラットフォームである。本発明の一部の態様では、RS-OS-COFノードで暗号化メッセージが受信され、このノードは、暗号化メッセージに対して暗号動作を実行し、暗号化メッセージを復号またはアンパックして、下流の処理のための復号されたメッセージまたはアンパックされたメッセージ生成することの要求を、OSSに発行する。本発明の一部の実施形態では、OSSは、変更された市販のOS-COFツールであることができ、このツールは、従来の(または既知の)方法で既知の暗号動作を実行する能力を有するが、暗号化メッセージに対して暗号動作を実行することの要求を受信することに少なくとも部分的に基づいて、暗号動作をRS-OS-COFワーカ・ノードの新しいRSエンジンにルーティングするように変更されている。本発明の実施形態では、RSエンジンは、本発明の態様に従って暗号動作のハードウェア実装を提供するように構成される。本発明の一部の実施形態では、本発明の態様に従うRSエンジンの実装ならびに暗号アルゴリズムおよび暗号動作の制御は、既知の暗号動作を上回る改善された性能を提供し、特に、高度なセキュリティの暗号計算リソースを含む、暗号計算リソースの無駄のない効率的な使用をもたらす。
【0027】
本発明の実施形態では、複数のフィールドを含んでいるRSデータの新しいセット(またはストリーム)が、暗号化メッセージに関連付けられ、RS-OS-COFで受信される。RSデータは、動作ポリシー(OP)を定義する少なくとも1つのフィールドを含み、OPは、暗号化メッセージの暗号処理要件を決定するか、予測するか、または推定するか、あるいはその組み合わせを実行するときにRSエンジンによって適用または利用される、暗号動作制約を定義する複数のサブフィールドを含む。加えて、RSエンジンは、RS-OS-COFによって実行されたすべての暗号動作に関連付けられた(およびそれらの暗号動作から導出される)暗号指標を生成して分析するように構成される。本発明の実施形態では、暗号指標は、RS-OS-COFによって実行された暗号動作から生じる性能測定結果と共に、暗号化メッセージに関連付けられた情報を含む。
【0028】
暗号動作制約が、暗号化メッセージに適用されなければならない必須の暗号計算リソースを指定する場合、RSエンジンは、非予測的RS動作のセットを実行し、RSエンジンは、暗号化メッセージの暗号処理要件を予測するか、決定するか、または推定するか、あるいはその組み合わせを実行する、どの分析も実行する必要がない。非予測的RS動作では、指定された必須の暗号計算リソースが、使用可能な暗号計算リソースのセットのうちから選択され、その後、非予測的暗号動作を暗号化メッセージに適用するために使用される。
【0029】
暗号動作制約が、暗号化メッセージに適用されなければならない必須の暗号計算リソースを指定しない場合、RSエンジンは、動作ポリシー制約および暗号指標を使用して暗号化メッセージの暗号処理要件を予測するか、決定するか、または推定するか、あるいはその組み合わせを実行するように構成された予測的RS動作のセットを開始する。本発明の実施形態では、予測的RS動作は、予測された暗号処理要件を使用して、「カスタマイズされた」か、または「スケーリングされた」暗号計算リソースを、使用可能な暗号計算リソースのセットのうちから選択することを含むことができ、「選択された」か、「カスタマイズされた」か、または「スケーリングされた」か、あるいはその組み合わせである暗号計算リソースを使用して、「選択された」か、「カスタマイズされた」か、または「スケーリングされた」か、あるいはその組み合わせである暗号動作を暗号化メッセージに適用することを、さらに含むことができる。本発明の実施形態に従って、RSデータの暗号動作制約は、RSデータが関連付けられた暗号化メッセージに固有であり、異なる暗号化メッセージが、異なるOPを有する異なるRSデータを含むことができる。
【0030】
本発明の一部の実施形態では、予測的RS動作の一部またはすべては、RSエンジンが、「選択された」か、「カスタマイズされた」か、または「スケーリングされた」か、あるいはその組み合わせである暗号動作を暗号化メッセージに適用する「選択された」か、「カスタマイズされた」か、または「スケーリングされた」か、あるいはその組み合わせである暗号計算リソースを識別する過程で、RSエンジンを通過するデータ・トラフィックを収集するか、ディスパッチするか、分析するか、または管理するか、あるいはその組み合わせを実行するモジュールの構成を使用して実行され得る。本発明の一部の実施形態では、モジュールは、アルゴリズム処理モジュール、リソース管理モジュール、およびデータ・トラフィックに関連するモジュールの構成を含む。本発明の一部の実施形態では、データ・トラフィックに関連するモジュールは、トラフィック・ディスパッチャ・モジュール、トラフィック・アナライザ・モジュール、およびトラフィック指標コレクタ・モジュールを含むことができる。本発明の実施形態では、トラフィック・アナライザ・モジュールは、ディスパッチ原則(dispatch principles)に少なくとも部分的に基づいて、暗号化メッセージを分析するように構成される。本明細書では、予測的RS動作の一部またはすべてを実施するためにモジュールの構成がどのように動作するかのさらなる詳細が、以下で説明される。
【0031】
本発明の一部の実施形態では、予測的RS動作の一部またはすべては、機械学習アルゴリズムおよびモデルを使用して分類タスクまたは予測タスクあるいはその両方を実行するようにトレーニングされた第1の分類器を使用して実行され得る。本発明の一部の実施形態では、第1の分類器は、暗号動作制約および暗号指標を使用して、暗号化メッセージの必須でない暗号処理要件を予測するタスクを実行するようにトレーニングされ得る。本発明の一部の実施形態では、予測的RS動作の一部またはすべては、機械学習アルゴリズムおよびモデルを使用して分類タスクまたは予測タスクあるいはその両方を実行するようにトレーニングされた第2の分類器を使用して実行され得る。本発明の一部の実施形態では、第2の分類器は、第1の分類器によって予測された暗号処理要件を、一連の使用可能な暗号計算リソースの機能の説明と共に使用して、(暗号計算リソースを過度に浪費せずに)予測された暗号処理要件に一致するか、または予測された暗号処理要件を満たす(一連の使用可能な暗号計算リソースのうちから選ばれた)暗号計算リソースのカスタマイズされたセットを識別するタスクを実行するようにトレーニングされ得る。
【0032】
本発明の態様に従って、暗号化メッセージは、リソース・スケーリング・エンベロープ(RS-EVP)データ拡張として実装され得る。OSSでは、エンベロープは、公開鍵を使用して暗号化された対称鍵である。対称鍵を使用する暗号化および復号が計算的に高価であるため、メッセージは、そのような鍵を使用して直接暗号化されず、代わりに、対称「セッション」鍵を使用して暗号化され、次に、この鍵自体が公開鍵を使用して暗号化される。公開鍵を使用して暗号化された対称セッション鍵のこの組み合わせは、OSSではエンベロープと呼ばれる。
【0033】
本明細書に記載された本発明の前述の実施形態によって提供される技術的効果および利点は、必須の暗号リソース要件が、通常は、よりセキュアな暗号リソースを必要とするより高いセキュリティ・レベルを有する暗号化メッセージに適用されるため、すべての必須の暗号リソース要件を分割して取り出し、必須の要件が適切に適用されることを保証することを含む。必須の暗号リソース要件を有するメッセージを分割して取り出すことによって、残りのメッセージの種類が、それらのメッセージが必要とする暗号計算リソースに、より効率的に一致することができる。暗号制約および暗号指標の両方を使用して、残りのメッセージの種類を、それらのメッセージが必要とする暗号計算リソースに一致させることによって、この一致動作を改善するために、暗号ハードウェアの実際の過去の性能が活用され得る。
【0034】
本明細書に記載された本発明の実施形態によって提供される技術的効果および利点は、本発明の種々の実施形態の特徴および機能を組み込むように、既存のオープンソース・ソフトウェアが効率的に変更されることを可能にすることをさらに含む。
【0035】
本明細書に記載された本発明の実施形態によって提供される技術的効果および利点は、コンピュータ実装方法が、コンピュータ実装方法の各反復からのデータを累算することを可能にすることと、累算データを使用して、コンピュータ実装方法のその後の反復を改善することとをさらに含む。
【0036】
ここで、本発明の態様をより詳細に説明すると、図1は、本発明の実施形態に従ってRS-OS-COFシステム100を示している。図に示されているように、システム100は、有線またはワイヤレス・ネットワーク接続112を経由してアプリケーション・ポッド120と通信する外部実体110を含む。外部実体110は、ネットワーク接続112を経由して、RSデータ116を含んでいるHTTPSメッセージ114などの暗号化メッセージを送信できる任意の通信要素であることができる。本発明の態様に従って、アプリケーション・ノード120が1つまたは複数のノード130を含み、これらのノードのうちの少なくとも1つがRSエンジン140を含む。ノード130は、OSS160、RSデータ116、および暗号指標170を利用して、使用可能な暗号計算リソースのセット180のうちの1つまたは複数(すなわち、CCR-A182A、CCR-B182B、CCR-C182C、CCR-D182Dのうちの1つまたは複数)を認知的に選択することと、復号またはアンパックされたHTTPメッセージ131を生成するために、暗号計算リソースのセット180のうちの選択された暗号計算リソースを使用してカスタマイズされた暗号動作をHTTPSメッセージ114に適用することと、復号されたHTTPメッセージ131を、下流の処理のためにアプリケーション・コンテナ150に送信することとを実行するように構成される。
【0037】
図2は、本発明の態様に従ってコンピュータ実装方法200を示している。方法200は、RS-OS-COFシステム100(図1に示されている)によって実行される。適切な場合、方法200の説明は、図1に示されたシステム100の対応する要素を参照する。本発明の態様に従って、方法200は、ブロック202、204で開始し、アプリケーション・ポッド120が暗号化メッセージ(例えば、HTTPSメッセージ114)を受信し(ブロック202)、RSエンジン140が、受信された暗号化メッセージに関連付けられたRSデータ116にアクセスする(ブロック204)。方法200のブロック206で、RSエンジン140が、RSデータ116の動作ポリシー(OP)を抽出するか、またはこの動作ポリシー(OP)にアクセスし、このOPは、受信された暗号化メッセージに対して暗号動作を実行することに関するOP制約を定義する。
【0038】
判定ブロック208で、RSエンジン140は、暗号化メッセージがCCR180のうちの特定のCCRを使用して暗号によって処理されなければならないということを、OP制約が定義または指定するかどうかを判定する。判定ブロック208での質問に対する回答が「はい」である場合、方法200がブロック210に移動し、ブロック210で、RSエンジン140が、CCR180のうちの必要とされるCCR(例えば、CCR-D182D)を選択し、CCR180のうちの選択されたCCRを使用して、強制された暗号動作を暗号化メッセージに対して実行する。方法200が、ブロック210からブロック212に移動し、ブロック212で、RSエンジン140が、暗号指標(CM:cryptographic metrics)を、暗号化メッセージに対する強制された暗号動作の実行から開発する。本発明の実施形態に従って、ブロック212で開発されたCMが、ブロック218(まだ説明されていない)で使用されるCMに加算される。それに応じて、方法200の複数の反復の後に、ブロック218で使用されるCMが、方法200の複数の反復を通じて累算されている。方法200が、ブロック212から判定ブロック214に移動し、追加の暗号化メッセージが送信されているかどうかを判定する。判定ブロック214での質問に対する回答が「いいえ」である場合、方法200がブロック216に移動して終了する。判定ブロック214での質問に対する回答が「はい」である場合、方法200がブロック202に戻り、次の暗号化メッセージを受信する。
【0039】
判定ブロック208に戻り、判定ブロック208での質問に対する回答が「いいえ」である場合、方法200がブロック216に移動し、ブロック216で、RSエンジン140が累算されたCMまたはOP制約あるいはその両方にアクセスして分析する。判定ブロック220で、RSエンジン140が、OP制約および(判定ブロック220で実行された)CMの分析結果を使用して、暗号化メッセージの暗号要件を予測し、予測された暗号要件を使用可能なCCR180のうちの選択されたCCRに一致させようと試みる。
【0040】
本発明の一部の態様に従って、RSエンジン140を通過するデータ・トラフィックを収集するか、ディスパッチするか、分析するか、または管理するか、あるいはその組み合わせを実行するモジュールの構成を使用して、暗号化メッセージの暗号要件の予測を行うか、または予測された暗号要件を、使用可能なCCR180のうちの選択されたCCRに一致させるか、あるいはその両方を実行するようにRSエンジン140を構成することによって、判定ブロック220で説明された動作が実行され得る。本発明の一部の実施形態では、モジュールの構成は、アルゴリズム処理モジュール420(図4に示されている)、リソース管理モジュール430(図4に示されている)、およびデータ・トラフィックに関連するモジュールの構成を含む。本発明の一部の実施形態では、データ・トラフィックに関連するモジュールは、トラフィック・ディスパッチャ・モジュール442(図4に示されている)、トラフィック・アナライザ・モジュール446(図4に示されている)、およびトラフィック指標コレクタ・モジュール444(図4に示されている)を含むことができる。本発明の実施形態では、トラフィック・アナライザ・モジュール446は、ディスパッチ原則446A(図4に示されている)に少なくとも部分的に基づいて、暗号化メッセージを分析するように構成される。本明細書では、判定ブロック220に示された動作の一部またはすべてを実施するためにモジュールの構成がどのように動作するかのさらなる詳細が、以下で説明される。
【0041】
本発明の態様に従って、判定ブロック220で説明された動作は、機械学習アルゴリズム812(図8に示されている)およびモデル816(図8に示されている)を含んでいる分類器810(図8に示されている)を使用して、暗号化メッセージの暗号要件の予測を行うか、または予測された暗号要件を、使用可能なCCR180のうちの選択されたCCRに一致させるか、あるいはその両方を実行するように構成されるRSエンジン140を構成することによって、実行され得る。本発明の一部の実施形態では、判定ブロック220は、暗号動作制約および暗号指標を使用して、暗号化メッセージの必須でない暗号処理要件を予測するタスクを実行するように第1の分類器をトレーニングすることによって、実装され得る。第2の分類器は、第1の分類器によって予測された暗号処理要件を、一連の使用可能な暗号計算リソースの機能の説明と共に使用して、(暗号計算リソースを過度に浪費せずに)予測された暗号処理要件に一致するか、または予測された暗号処理要件を満たす(一連の使用可能な暗号計算リソースのうちから選ばれた)暗号計算リソースのカスタマイズされたセットを識別するタスクを実行するようにトレーニングされ得る。本明細書では、判定ブロック220で定義された動作を実行するために利用される予測動作または分類動作あるいはその両方を実行するために、分類器810がどのようにトレーニングされて使用されるかのさらなる詳細が、以下で説明される。
【0042】
判定ブロック220での質問に対する回答が「いいえ」である場合、方法200がブロック226に移動し、ブロック226で、RSエンジン140が、CCR180のデフォルトのセット(例えば、CCR180のうちのすべての必須でないCCR)を選択し、CCR180のデフォルトのセットを使用して、デフォルトの暗号動作を暗号化メッセージに対して実行する。方法200が、ブロック226からブロック212に移動し、ブロック212で、RSエンジン140が、暗号指標(CM)を、ブロック226での暗号化メッセージに対するデフォルトの暗号動作の実行から開発する。本発明の実施形態に従って、ブロック212で開発されたCMが、ブロック218で使用されるCMに加算される。それに応じて、方法200の複数の反復の後に、ブロック218で使用されるCMが、方法200の複数の反復を通じて累算されている。方法200が、ブロック212から判定ブロック214に移動し、追加の暗号化メッセージが送信されているかどうかを判定する。判定ブロック214での質問に対する回答が「いいえ」である場合、方法200がブロック216に移動して終了する。判定ブロック214での質問に対する回答が「はい」である場合、方法200がブロック202に戻り、次の暗号化メッセージを受信する。
【0043】
判定ブロック220に戻り、判定ブロック220での質問に対する回答が「はい」である場合、方法200がブロック222に移動し、ブロック222で、RSエンジン140が、CCR180のうちの、判定ブロック220で識別された一致またはスケーリングされたCCRを使用して、暗号動作を暗号化メッセージに対して実行する。方法200が、ブロック222からブロック224に移動し、ブロック224で、RSエンジン140が、CMを、暗号化メッセージに対する一致されたか、またはスケーリングされたか、あるいはその両方である暗号動作の実行から開発する。本発明の実施形態に従って、ブロック224で開発されたCMが、ブロック218で使用されるCMに加算される。方法200が、ブロック224から判定ブロック214に移動し、追加の暗号化メッセージが送信されているかどうかを判定する。判定ブロック214での質問に対する回答が「いいえ」である場合、方法200がブロック216に移動して終了する。判定ブロック214での質問に対する回答が「はい」である場合、方法200がブロック202に戻り、次の暗号化メッセージを受信する。
【0044】
図3は、本発明の実施形態に従ってRS-OS-COFシステム100Aを示している。システム100Aは、(図1に示された)システム100の機能原則を活用する。しかし、システム100Aは、システム100に示された機能原則が、特定のコンピューティング環境内でどのように適用されるかのさらなる詳細を示している。図3に示されているように、システム100Aは、アンテナ302を介してノード・クラスタ130Aおよび暗号計算リソース(CCR)のセット180Aとワイヤレス通信する外部実体(図示されていない)を含む。外部実体は、本発明の態様に従って、アンテナ302へのワイヤレス通信経路を経由して、RSデータ116を含んでいるHTTPSメッセージ114などの暗号化メッセージを送信できる任意の通信要素であることができる。ノード・クラスタ130Aは、図に示されているように構成されて配置されたマスタ・ノード132Aおよび複数のワーカ・ノード132B、132C、132Dを含んでいる。マスタ・ノード132Aは、Webサーバおよびアプリケーション・プログラムを収容するアプリケーション・ポッドを含んでいる。マスタ・ノード132AのWebサーバは、オープンソースのHAProxy(高可用性プロキシ)サーバ310として実装され得る。HAProxyサーバ310は、RSデータ116を含むHTTPSメッセージ114を受信するように構成される。マスタ・ノード132Aのアプリケーション・プログラムは、RSエンジン312を含む。ワーカ・ノード132B、132Cはそれぞれ、マスタ・ノード132Aの制御および指示に従ってノード・クラスタ130Aの特定のタスクを実行するために、図に示されているように構成されて配置されたアプリケーション・ポッドおよびアプリケーション・プログラムを含んでいる。ワーカ・ノード132Dは、本発明の態様に従ってマスタ・ノード132Aによって実行されるリソース・スケーリング動作をサポートするように、特に設計されている。より詳細には、ワーカ・ノード132Dは、RSエンジン312によって実行されるリソース・スケーリング動作(例えば、図2に示された方法200)をサポートするように構成された暗号計算リソース(CCR)アプリケーション・プログラム320を収容するアプリケーション・ポッド322を含んでいる。CCR320は、本発明の実施形態に従ってアクセスされてスケーリングされる暗号リソースを含み、本発明の種々の実施形態を使用して任意のリソースが利用され、スケーリングされることを示す。
【0045】
ノード・クラスタ130Aは、一連の暗号計算リソース(CCR)のセット180Aに通信可能に結合される。本発明の態様に従って、RSエンジン312およびCCRアプリケーション・プログラム320は、CCRの任意の組み合わせ180Aを識別して選択するために、RSデータ116内の命令を評価し、ノード・クラスタ130Aによって収集された暗号指標を分析するように構成されて配置され、CCRの任意の組み合わせ180Aは、クラウドHSM(ハードウェア・セキュリティ・モジュール)360、DBaaS(database as a service)362、Crypto Expressカード(cryptographicexpress card)364、CPACF(central processor assist forcryptographic function)コプロセッサ366、および追加のCCR368の任意の組み合わせであることができる。CCRの選択された組み合わせ180Aは、RSエンジン312およびCCRアプリケーション・プログラム320によって決定されたとおりに、HTTPSメッセージ114の特定の暗号処理の必要性のためにカスタマイズされる。
【0046】
本発明の実施形態では、クラウドHSM360は、暗号鍵のライフ・サイクルの保護のために設計された専用暗号プロセッサである。クラウドHSM360は、鍵を生成し、処理し、格納するように構成される。クラウドHSM360は、アプリケーションおよび署名活動を処理するユーザ自身の公開鍵基盤を構築するために使用され得る。クラウドHSM360は、堅牢にされた改ざん防止機能付きデバイス内で暗号鍵を安全に管理し、処理し、格納することによって、ユーザの暗号基盤を保護する。本発明の実施形態では、DBaaSインスタンス362は、クラウド・コンピューティングのセカンダリ・サービス・モデルおよびXaaS(anything as a service)の重要な構成要素であり、クラウド・コンピューティングおよびリモート・アクセスに関連するサービスの一般的なカテゴリを表す。XaaSは、インターネットを経由してサービスとしてユーザに現在配信されている多数の製品、ツール、および技術を認識する。本質的に、DBaaSインスタンス362は、アプリケーションおよびそれらに関連するデータと共に使用されるデータベースへのアクセスを提供するように構成された、管理されたサービスであり、STaaS(storage as a service)と比較して、より構造化された手法である。DBaaSインスタンス362は、APIを介してすべての下層のデータベース・インスタンスを制御するデータベース・マネージャ・コンポーネントを含むこともできる。このAPIは、通常はWebアプリケーションである管理コンソールを介して、ユーザによってアクセス可能であり、ユーザは、この管理コンソールを使用して、データベースを管理および構成することができ、データベース・インスタンスをプロビジョニングおよびデプロビジョニングすることさえできる。
【0047】
本発明の実施形態では、Crypto Expressカード364は、追加の暗号機能を実装するI/O接続されたカードである。Crypto Expressカード364は、コプロセッサであり、PKA復号、デジタル署名検証、およびデジタル署名生成(RSAおよびECCの変形を含む)のためのセキュア・キーおよびクリア・キーのサポートを含む、広範囲の呼び出し可能なサービスをサポートすることができる。代替として、Crypto Expressカード364は、より少ないサービスをサポートするという犠牲によって、より良いスループットを実現するためのアクセラレータとして構成され得る。本発明の実施形態では、CPACF(central processor assist for cryptographic function)コプロセッサ366は、ハードウェアにおいてDES、TDES、AES-128、AES-256、SHA-1、およびSHA-256暗号を使用して対称鍵暗号化を実行し、メッセージ・ダイジェストを計算するコプロセッサである。DES、TDES、AES-128、およびAES-256は、対称鍵暗号化に使用される。SHA-1およびSHA-256は、メッセージ・ダイジェストに使用される。本発明の実施形態では、追加のCCR368が、HTTPSメッセージ114として送信されるHTTPSメッセージの一種に暗号動作を効率的に適用するために使用される任意の他のCCRを含むことができる。
【0048】
図4~7は、本発明の実施形態に従ってRS-OS-COFアーキテクチャ100Bの種々の態様を示している。RS-OS-COFアーキテクチャの詳細を説明する前に、図4~7において使用される一部の用語の定義および説明が提供される。「トラフィック」という用語は、暗号計算リソース(CCR)180Aへの暗号要求、および暗号計算リソース(CCR)180Aから返される暗号応答を含む、暗号動作の実行に関連するデータ移動を表す。「応答時間」は、各暗号動作が処理される持続時間であることができる。「成功/失敗」は、現在処理されている暗号動作の結果である。「成功」は、暗号動作にエラーがなく、暗号計算リソース(CCR)180Aが「成功」応答を返すことを示す。暗号トラフィック指標462は、暗号動作が処理されている間に生成された指標およびログを含む。暗号トラフィック指標462は、「応答時間」、「成功/失敗」などを含む。
【0049】
暗号リソース・パターンは、「テナント・プロファイル」、「制約」、「コスト」、「制御インターフェイス」、および「能力インターフェイス」の集合である。暗号リソース・パターンは、分析のためのトラフィック・アナライザ446の入力である。「静的」は、「テナント・プロファイル」、「制約」、「コスト」、「制御インターフェイス」、および「能力インターフェイス」の種類を表す。これらは頻繁に変化しない。「テナント・プロファイル」は、テナントが所有するリソースに関する一般的な情報を含む。「制約」は、適合性と同じ意味を持ち、FIPS140などのセキュリティ規格を意味する。「コスト」は、アルゴリズムごとのコスト、CPU/メモリ/マシン/ディスク/暗号カードごとのコスト、およびスループット当たりのコストなどの、価格設定のことを指す。「リソース制御インターフェイス」431は、リソースを拡大する、リソースを縮小するなどの一連の方法を使用して、リソースを制御する。「リソース制御インターフェイス」431は、システム内のリソースを増やす/減らすために使用され得る。「能力インターフェイス」432は、暗号方法および持続方法を含む。暗号方法は、暗号化、復号、署名、検証などを実行するために使用される暗号アルゴリズムである。暗号方法は、EC法、RSA法、DH、Ciphers、Hashなどを含むが、これらに限定されない。
【0050】
リソース指標コレクタ436は、暗号計算リソースが稼働している間に、それらのリソースから指標およびログを収集する。「動的」は、リソースが稼働している間に生成される、動的な指標およびログ・データのことを指し、「現在のトラフィック・ワークロード」、「過去のデータおよび傾向」、および「安定性および信頼性」を含む。「現在のトラフィック・ワークロード」は、暗号計算リソースのワークロードの指標およびログのことを指す。リソースのワークロードは、例えば、アイドル、正常、および過負荷であることができる。「過去のデータおよび傾向」は、暗号リソースの過去のトラフィック・ワークロードの指標およびログのことを指す。「安定性および信頼性」は、暗号計算リソースの安定性または信頼性あるいはその両方を評価するために使用される指標およびログのことを指す。リソースが頻繁に非稼働になる場合、安定性および信頼性は悪い。リソースが稼働している間に、上記のすべてのものが指標およびログを生成し、それらの指標およびログが、リソース指標コレクタ436によって収集され得る。
【0051】
「異なるコンピューティング・モジュール」という用語において参照される「モジュール」は、暗号計算リソース(CCR)180Aのうちの1つを表す。「コスト・モデル」は、価格設定に関連する記述である。例えば、トラフィック・ディスパッチャ442は、暗号動作を暗号計算リソース(CCR)180Aのうちのコストの低い1つ(例えば、顧客)にディスパッチすることができる。
【0052】
ディスパッチ・ポリシー466Aは、トラフィック・ディスパッチャ・モジュール442がトラフィックを最適な暗号計算リソース320、180Aにディスパッチするために使用される。ディスパッチ・ポリシー466Aは、「反転しきい値」、「前提条件に基づく優先」、「アルゴリズムごとのコスト」、「応答時間」、「適合性リソース」から成る。ワークロードの増加に伴って、スループットがあるしきい値に達すると、暗号計算リソースの性能が急に低下する可能性がある。「反転しきい値」は、そのしきい値のことを指す。「前提条件に基づく優先」は、他のアルゴリズムの実行前に満たされなければならない条件のことを指す。例えば、図5に示されているように、CIPHER510Aは、AES、DESなどの一連の対称暗号化/復号アルゴリズムを表している。HASH510Bは、SHAおよびMD5などの一連のハッシュ・アルゴリズムを表している。他のアルゴリズムは、非対称暗号アルゴリズムを含む。ある状況において、アルゴリズム1はアルゴリズム2に依存する。例えば、アルゴリズム1は、アルゴリズム3からの出力を入力として必要とする可能性がある。この状況の下で、アルゴリズム2は、アルゴリズム1のPRE-CONDITION510である。「アルゴリズムごとのコスト」は、暗号計算リソースにおける1つの暗号動作当たりのコスト(または価格)のことを指す。「応答時間」は、暗号計算リソースにおいて処理されている1つの暗号動作の持続時間のことを指す。「適合性リソース」は、暗号動作が適合性要件を有し、適合性認証済み暗号計算リソースに配信されるべきである状況のことを指す。
【0053】
「コスト」という用語は、アルゴリズムごとのコスト、CPU/メモリ/マシン/ディスク/暗号カードごとのコスト、またはスループット当たりのコスト、あるいはその組み合わせなどの、価格設定のことを指す。「コスト・モデル」は、価格設定の選択のことを指し、例えば、トラフィックを、他の暗号計算リソースより低い価格を有する対象の暗号計算リソースにディスパッチするようにトラフィック・ディスパッチャ442に影響を与えることができる経済的選好などである。「企業」の選好は、トラフィックを、より高い価格を有することがあるが、より高速な応答時間を有することがある対象の暗号計算リソースにディスパッチするように、トラフィック・ディスパッチャ442に影響を与えることができる。
【0054】
アルゴリズム処理モジュール420および登録モジュール422は、次の目的を有する。暗号動作(例えば、暗号要求)が、EVPデータと共に入って来た場合、アルゴリズム処理モジュール420は、RS-EVPデータ拡張450を各暗号動作に添付し、次に、暗号動作をトラフィック・アナライザ446に送信する。登録モジュール422は、OpenSSLにおける既存のモジュールであり、OpenSSL EngineをOpenSSLに登録するために利用され得る。
【0055】
SAFETY-SENSITIVE512において参照される「適合性モジュール」は、セキュリティ適合性を満たすモジュールであることができる。例えば、IBM Cloud(R)Hyper Protect Crypto Servicesは、FIPS140-2レベル4認証済みハードウェア・セキュリティ・モジュールである。
【0056】
REAL_TIME514において参照される「リアルタイム要求」は、暗号動作の時間要件であることができる。暗号動作は、短時間で処理されるべき時間要件を有する。例えば、暗号動作は、100ミリ秒以内の処理の完了および応答メッセージの受信を要求するリアルタイム要求を有する可能性がある。
【0057】
I/O516は、鍵などの持続性データを格納することができる暗号計算リソースであることができる。I/O516は、持続性データを維持する能力を強調するためにある。I/O516は、RESOURCES518内のデータベース471またはクラウドHSM475であることができる。しかし、RESOURCES518のすべてが持続性データを維持する能力を有するわけではない。
【0058】
EVP要求は、OpenSSLからエンジン312Aに送信されるエンベロープ要求である。EVPデータは、1つのアルゴリズムに関するパラメータおよび機能を含む。RS-EVPデータ拡張450は、EVP要求の拡張である。
【0059】
リソース制御インターフェイス431は、リソースを拡大する、リソースを縮小するなどの、暗号計算リソースを制御するための一連の方法から成る。リソース制御インターフェイス431は、システム内のリソースを増やす/減らすために使用され得る。クラウド・コンピューティングにおけるクラウドの拡張性は、変化する要求を満たすために必要に依ってITリソースを増やすか、または減らす能力のことを指す。「拡大」は、システム内にリソースを増やすことを指す。「縮小」は、システムからリソースを減らすことを指す。
【0060】
能力インターフェイス432は、暗号方法および持続方法を含む。暗号方法は、暗号化、復号、署名、検証などを実行するために使用される暗号アルゴリズムである。暗号方法は、EC法、RSA法、DH、Ciphers、Hashなどを含むが、これらに限定されない。持続方法は、データをハードウェア上で持続させるために使用され得る、読み込み/格納に関連する方法である。持続方法は、鍵の読み込み/格納を含むが、これらに限定されない。
【0061】
情報インターフェイス433は、リソースのテナント・プロファイル、制約情報、およびコスト情報に関する情報を収集するための一連の方法を含む。「テナント・プロファイル」は、テナントが所有する暗号計算リソースに関する一般的な情報を含む。「制約」は、適合性と同じ意味を持ち、FIPS140-2などの何らかのセキュリティ規格を意味する。「コスト」は、アルゴリズムごとのコスト、CPU/メモリ/マシン/ディスク/暗号カードごとのコスト、またはスループット当たりのコスト、あるいはその組み合わせなどの、価格設定のことを指す。
【0062】
発見モジュール434は、登録情報をリソース制御インターフェイス431、能力インターフェイス432、および情報インターフェイス433から収集して、モジュール434のレジスタに登録し、その後、この情報をプッシャー435に配信する。
【0063】
プッシャー435は、静的データを発見モジュール434から収集し、動的データをリソース指標コレクタ436から収取し、その後、これらのデータを分析のためにトラフィック・アナライザ446にプッシュする。静的データは、リソース制御インターフェイス431、能力インターフェイス432、および情報インターフェイス433のデータを含む。動的データは、現在のトラフィック・ワークロード、過去のデータおよび傾向、ならびに安定性および信頼性のデータを含む。
【0064】
リソース指標コレクタ436は、暗号計算リソースの稼働中に、それらのソースから指標およびログを収集する。「現在のトラフィック・ワークロード」は、暗号計算リソースのワークロードの指標およびログのことを指す。暗号計算リソースのワークロードは、アイドル、正常、および過負荷であることができる。「過去のデータおよび傾向」は、暗号計算リソースの過去のトラフィック・ワークロードの指標およびログのことを指す。「安定性および信頼性」は、暗号計算リソースの安定性または信頼性あるいはその両方を評価するために使用される指標およびログのことを指す。リソースが頻繁に非稼働になる場合、安定性および信頼性は悪い。リソースが稼働している間に、上記のすべてのものが指標およびログを生成し、それらの指標およびログが、リソース指標コレクタ436によって収集され得る。
【0065】
ここで、図4~7をより詳細に説明すると、図4は、本発明の態様に従ってRS-OS-COFアーキテクチャ100Bを示すブロック図である。アーキテクチャ100Bは、(図1に示された)システム100および(図3に示された)システム100Aの機能原則を含み、活用する。しかし、アーキテクチャ100Bは、システム100、100Aに示された機能原則が、特定のコンピューティング環境内でどのように適用されるかのさらなる詳細を示している。図4に示されているように、上部から下部に移動し、アーキテクチャ100Bの第1の層は、RSデータ116を含むHTTPSメッセージ114を受信するために使用されるさまざまなWebサーバを含んでいる。第1の層は、Nginx(R)Webサーバ410、HAProxy Webサーバ310A、SSLユーティリティ412、および追加のWebサーバのサポート414を含むことができる。アーキテクチャ100Bの第2の層は、(図1に示された)OSS160に対応する一連のOSS要素160Aを含んでいる。OSS要素160Aは、暗号化および復号の作業を実行するように構成されて配置された、さまざまなアルゴリズム(例えば、ECDHE(一時的楕円曲線ディフィー・ヘルマン)、EC鍵生成など)を含んでいる。
【0066】
アーキテクチャ100Bの第3の層は、図に示されたように構成されて配置されたRSエンジン312A、リソース管理モジュール430、トラフィック・ディスパッチャ・モジュール442、トラフィック・アナライザ・モジュール446、およびトラフィック指標コレクタ・モジュール444を含んでいる。RSエンジン312Aは、アルゴリズム処理モジュール420および登録モジュール422を含んでいる。アーキテクチャ100Bの第4の層は、データベース471、ファイル・システム472、ホストCPU473、コンテナCPU474、クラウドHSM475、暗号カード476、暗号コプロセッサ477、および追加のCCR368を含むことができる、一連の暗号計算リソース(CCR)のセット180Bを含んでいる。データベース471およびファイル・システム472は、鍵の格納に使用されるCCRである。クラウドHSM475、暗号カード476、および暗号コプロセッサ477は、暗号動作(例えば、暗号化/復号)を実行するために使用されるハードウェアCCRである。ホストCPU473およびコンテナCPU474は、暗号動作(例えば、暗号化/復号)に使用されるCPUリソースである。クラウドHSM475は、基本的に、クラウド(例えば、図11に示されたクラウド・コンピューティング・システム50)に位置する暗号カードである。図4は、暗号指標160と共に、リソース・スケーリング・エンベロープ(RS-EVP)データ拡張450も示している。暗号指標160は、暗号トラフィック指標462、暗号計算リソース・パターン・データ464、および暗号計算リソース指標466を含んでいる。
【0067】
RS-EVPデータ拡張450は、RSエンジン312AがOSS要素160AのOpenSSLエンベロープ内のHTTPメッセージ114およびRS-EVPデータ拡張450をどのように処理するかに関する制約を表す動作ポリシーを含む。暗号トラフィック指標は、暗号動作を実行するときにアーキテクチャ100Bを通るデータ・トラフィックに関連する、応答時間、成功事例、失敗事例、および他の指標を含む。暗号計算リソース・パターン464は、例えば、テナント・プロファイル、制約、コスト、制御インターフェイス、および能力インターフェイスを含む、種々のパラメータを定義する静的データである。暗号計算リソース指標466は、現在のトラフィック、ワークロード、過去のデータ、過去の傾向、安定性、および信頼性などの、さまざまな動的に変化するデータを定義する動的データである。
【0068】
リソース管理モジュール430は、トラフィック・モデルまたはコスト・モデルあるいはその両方に従ってCCRモジュール180Bを拡大および縮小するために使用される。トラフィック・ディスパッチャ442は、コスト・モデルに従って、トラフィックを異なるコンピューティング・モジュールに送信する。トラフィック指標コレクタ・モジュールは、アーキテクチャが本明細書に記載されたリソース・スケーリング動作(例えば、図2に示された方法200)を実行することに基づいて、アーキテクチャ100Bによって生成された、トラフィック指標を収集する。トラフィック・アナライザ・モジュール446は、反転しきい値、前提条件に基づく優先、アルゴリズムごとのコスト、応答時間、および適合性リソースなどのポリシーを定義するディスパッチ・ポリシーに基づいて、暗号化メッセージ(例えば、HTTPSメッセージ114)を分析する。トラフィック・ディスパッチャ442、トラフィック指標コレクタ444、トラフィック・アナライザ446、およびリソース管理430は、マスタ・ノード132Aに存在する。本発明の一部の実施形態では、要素は、RSエンジン312に存在することができるか、またはアーキテクチャの視点からRSエンジン312と同じ層内にあることができる。
【0069】
【0070】
図5は、本発明の実施形態に従ってRS-EVPデータ拡張450Aを示すブロック図を示している。RS-EVPデータ拡張450Aは(図4に示された)RS-EVPデータ拡張450に対応するが、RS-EVPデータ拡張450Aは、本発明の一部の実施形態において動作ポリシーおよび動作ポリシー制約を定義するフィールドがどのように実装されるかのさらなる詳細を示している。図5に示されているように、RS-EVPデータ拡張450Aは、OPT_POLICY451(動作ポリシー)、EC_GROUP452(曲線に関連する情報)、EC_POINT453(曲線内の計算された点)、BIGNUM454(曲線内の基点、すなわち、秘密鍵)、POINT_CONV_FORM455(楕円曲線の点のエンコーディングのため)、および追加のフィールド456を含む、複数のフィールドを含んでいる。
【0071】
OPT_POLICY451は、動作ポリシー制約502を定義する。動作ポリシー制約502は、PRE-CONDITION510(他のアルゴリズムの実行前に満たされなければならない条件)、SAFETY_SENSITIVE512(適合性モジュールによって処理されなければならない)、REAL_TIME514(HTTPSメッセージ114がリアルタイム要求を有する)、I/O516(永続的要求および対象のデバイス)、およびRESOURCES518(HTTPSメッセージ114に対する暗号動作を実行するために使用されなければならないCCRを強制する)を含む。CIPHER510A、HASH510B、および追加の前提条件510Cは、PRE-CONDITION510が定義できるものの例である。暗号化/復号ハードウェア516A、暗号コプロセッサ477、クラウドHSM475、CPACFコプロセッサ366、データベース471、および追加のCCR368は、I/O516またはRESOURCES518あるいはその両方から呼び出される必須のCCRの例である。本明細書において後でより詳細な説明されるように、I/O516およびRESOURCES518が必須のCCRを識別した場合、トラフィック・アナライザ446が、対象のCCRにディスパッチするためのHTTPSメッセージ114をトラフィック・ディスパッチャ442に送信する。I/O516およびRESOURCES518が必須のCCRを識別しない場合、トラフィック・アナライザ446が、HTTPSメッセージ114、OPT_POLICY451、および暗号指標460を評価して、HTTPSメッセージ114の暗号要件を予測するか、または決定するか、あるいはその両方を実行し、その後、HTTPSメッセージ114の予測されたか、または決定されたか、あるいはその両方である暗号要件に一致するCCRの組み合わせ180Aを推奨する。
【0072】
図6は、本発明の態様に従って、アーキテクチャ100Bおよびアーキテクチャ100Bによって実行される方法602の両方を示す図を示している。概して、トラフィック指標コレクタ444は、暗号トラフィック指標462を収集して、トラフィック・アナライザ446に送信し、トラフィック・アナライザ446は、暗号計算リソース・パターン462を生成して、トラフィックを異なるコンピューティング・モジュールにディスパッチするようにトラフィック・ディスパッチャ442に指示する。暗号トラフィック指標444は、関連付けられているユーザ・レベルの暗号化要求を表すユーザ・レベルの指標、HTTPSメッセージ114の性能を表す性能指標(例えば、応答時間、CPU使用量、メモリ・コスト、ネットワーク使用量など)、アクセスされているリソースのセキュリティ・レベルを表す、アクセスされているリソースのセキュリティ・レベル指標、暗号化サービスの過去の成功率を表す成功/失敗指標、および暗号化サービスのアクセス頻度を表すアクセス頻度指標などを含む。トラフィック・ディスパッチャ442は、トラフィック・アナライザ446からの誘導に従い、コスト・モデルに従ってトラフィックを異なるコンピューティング・モジュールに送信する。
【0073】
暗号トラフィック・アナライザ446への入力は、暗号トラフィック指標コレクタ444からの暗号トラフィック指標、アルゴリズム処理モジュール420からのRS-EVPデータ拡張450、450A、およびリソース管理モジュール430からの暗号計算リソース・パターン/指標を含む。暗号トラフィック・アナライザ446の出力は、反転しきい値、前提条件に基づく優先、アルゴリズム呼び出しごとのコスト、応答時間、および適合性リソースを含んでいるディスパッチ・ポリシーを含む。
【0074】
ここで、第1の例においてステップS1~S7がどのように進むことができるかという文脈において、方法602が説明される。S1で、アルゴリズム処理モジュール420は、ECDHE要求をRS-EVPデータ拡張450と共にトラフィック・アナライザ446に送信する。RS-EVPデータ拡張450A内のI/O516の値は、「非永続性」である。RS-EVPデータ拡張450A内のRESOURCES518変数の値は、固定されているコンテナCPU474である。S2で、トラフィック・アナライザ・モジュール446は、S1で生成されたこの要求を受信し、リソースが必須のリソースを含んでいるということを検出し、そのため、さらに分析を実行する必要がなく、単に要求がトラフィック・ディスパッチャ・モジュール442に送信される。S3で、トラフィック・ディスパッチャ・モジュール442は、要求をCCR180BのコンテナCPU474にディスパッチする。S4で、トラフィック指標コレクタ・モジュール444は、コンテナCPU474の性能指標、成功率指標、アクセス頻度指標などを含む、暗号指標160の情報を収集する。S5で、トラフィック指標コレクタ444は、収集された暗号指標をトラフィック・アナライザ446にプッシュする。S6で、リソース管理モジュール430は、コンテナCPU474による暗号動作の実行に関連する暗号指標160を、トラフィック・アナライザ446にプッシュする。S7で、トラフィック・アナライザ446は、S1、S4、およびS6からの入力に基づいてディスパッチ・ポリシー446Aを生成し、ディスパッチ・ポリシー446Aをさらなる暗号要求のディスパッチに使用する。トラフィック・アナライザ446は、リソース管理モジュール430によって提供されたインターフェイスを利用して、HTTPSメッセージ114によって必要とされる暗号動作に一致するようにCCR180Bの拡大または縮小あるいはその両方を実行する。
【0075】
ここで、第2の例においてステップS1~S7がどのように進むことができるかという文脈において、方法602が説明される。S1で、アルゴリズム処理モジュール420は、EC鍵生成要求をRS-EVPデータ拡張450と共にトラフィック・アナライザ446に送信する。RS-EVPデータ拡張450A内のI/O516の値は、「永続性」である。RS-EVPデータ拡張450A内のRESOURCES518変数の値は、固定されているクラウドHSM475である。S2で、トラフィック・アナライザ・モジュール446は、S1で生成されたこの要求を受信し、リソースが必須のリソースを含んでいるということを検出し、そのため、さらに分析を実行する必要がなく、単に要求がトラフィック・ディスパッチャ・モジュール442に送信される。S3で、トラフィック・ディスパッチャ・モジュール442は、要求をCCR180BのクラウドHSM475にディスパッチする。S4で、トラフィック指標コレクタ・モジュール444は、クラウドHSM475の性能指標、成功率指標、アクセス頻度指標などを含む、暗号指標160の情報を収集する。S5で、トラフィック指標コレクタ444は、収集された暗号指標をトラフィック・アナライザ446にプッシュする。S6で、リソース管理モジュール430は、クラウドHSM475による暗号動作の実行に関連する暗号指標160を、トラフィック・アナライザ446にプッシュする。S7で、トラフィック・アナライザ446は、S1、S4、およびS6からの入力に基づいてディスパッチ・ポリシー446Aを生成し、ディスパッチ・ポリシー446Aをさらなる暗号要求のディスパッチに使用する。トラフィック・アナライザ446は、リソース管理モジュール430によって提供されたインターフェイスを利用して、HTTPSメッセージ114によって必要とされる暗号動作に一致するようにCCR180Bの拡大または縮小あるいはその両方を実行する。
【0076】
図7は、本発明の態様に従って、アーキテクチャ100Bのサブセットおよびアーキテクチャ100Bによって実行される方法702の両方を示す図を示している。より詳細には、図7は、リソース管理モジュール430Aを示しており、本発明の実施形態に従って、(図7に示された)リソース管理モジュール430がどのように実装されるかに関するさらなる詳細を示している。図に示されているように、リソース管理モジュール430Aは、リソース制御インターフェイス431、能力インターフェイス432、情報インターフェイス433、発見モジュール434、プッシャー435、およびリソース指標コレクタ436を含んでおり、図に示されたように構成されて配置されている。
【0077】
ここで、図7に示されたアーキテクチャ100Bの一部によってステップS11~S15がどのように実行されるかを参照して、方法702が説明される。S11で、リソース管理モジュール430A内で、発見モジュール434が、データおよび情報をリソース制御インターフェイス431(拡大、縮小)、能力インターフェイス432(暗号方法、持続方法)、および情報インターフェイス433(テナント・プロファイル、制約、コスト)から受信する。暗号方法は、EC法、RSA法、DH、Ciphers、Hashなどを含む。情報インターフェイス433は、いわゆる「取得」方法を使用して、テナント・プロファイル、制約、コストなどに関するリソース関連の情報を取り出す。S12で、リソース指標コレクタ436が、現在のトラフィック・ワークロード、過去のデータ、過去の傾向、ならびに安定性および信頼性に関する動的指標を収集する。S13で、プッシャー435が、S12の実行から得られるリソース指標コレクタ436からの入力を受信する。S13’で、プッシャー435が、S11の実行から得られる発見モジュール434、リソース指標コレクタ436からの入力を受信する。S14で、プッシャー435が、暗号計算リソース・パターン464および暗号計算リソース指標466をトラフィック・アナライザ・モジュール446にプッシュする。暗号計算リソース・パターン464は、一度だけ静的にプッシュされる。暗号計算リソース指標466は、定期的に動的にプッシュされる。S15で、トラフィック・アナライザ466が、リソース制御インターフェイス431を利用して、HTTPSメッセージ114によって必要とされる暗号動作に一致するようにCCR180Bの拡大または縮小あるいはその両方を実行する。
【0078】
ここで、本明細書において開示された本発明の態様を実装するために使用される機械学習技術のさらなる詳細が示される。本明細書に記載されたプロセッサのさまざまな予測機能または決定機能あるいはその両方は、機械学習技術または自然言語処理技術あるいはその両方を使用して実装され得る。一般に、機械学習技術は、機械学習アルゴリズムまたは自然言語処理アルゴリズムあるいはその両方のセットを実行するように構成されたプログラム可能なコンピュータとして実装される、いわゆる「ニューラル・ネットワーク」上で実行される。ニューラル・ネットワークは、神経生理学、認知科学/心理学、物理学(統計力学)、制御理論、コンピュータ科学、人工知能、統計学/数学、パターン認識、コンピュータ・ビジョン、並列処理、およびハードウェア(例えば、デジタル/アナログ/VLSI/光)を含む、さまざまな分野からの知識を組み込む。
【0079】
ニューラル・ネットワークおよびそれらの機械学習アルゴリズムの基本的な機能は、一種の機械知覚を介して構造化されていないセンサ・データを解釈することによって、パターンを認識することである。生来の形態での構造化されていない現実世界のデータ(例えば、画像、音声、テキスト、または時系列データ)が、コンピュータによって理解され、操作される数値形式(例えば、大きさおよび方向を有するベクトル)に変換される。機械学習アルゴリズムは、現実世界のデータ・ベクトルに含まれているパターン(または関係)が明らかにされて学習されるまで、現実世界のデータ・ベクトルに対して学習に基づく分析の複数の反復を実行する。学習されたパターン/関係は、例えば、現実世界のデータの分類(またはラベル付け)および現実世界のデータのクラスタ化を含む、さまざまなタスクを実行するために使用される予測モデルとして機能する。分類タスクは、多くの場合、ラベルとデータの間の相関関係を認識するようにニューラル・ネットワーク(すなわち、モデル)をトレーニングするために、ラベル付きデータセットの使用に依存する。このトレーニングは、教師あり学習として知られている。分類タスクの例としては、画像内の物体(例えば、一時停止標識、歩行者、通路標識など)を識別すること、ビデオ内のジェスチャーを認識すること、声を検出すること、音声において声を検出すること、特定の話者を識別すること、発話をテキストに書き写すことなどが挙げられる。クラスタ化タスクは、物体間の類似性を識別し、クラスタ化タスクは、共通する、物体の他のグループと区別するそれらの物体の特徴に従って、それらの物体をグループ化する。これらのグループは、「クラスタ」として知られている。
【0080】
ここで、本発明の態様を実装するために使用される機械学習技術の例が、図8および9を参照して説明される。本発明の実施形態に従って構成されて配置された機械学習モデルが、図8を参照して説明される。本明細書に記載された本発明の実施形態のうちの1つまたは複数を実装できる例示的なコンピューティング・システムおよびネットワーク・アーキテクチャが、図10を参照して詳細に説明される。
【0081】
図8は、本明細書に記載された本発明のさまざまな予測および決定の態様を実装できる分類器システム800を示すブロック図を示している。より詳細には、システム800の機能は、本発明の実施形態において予測機能および決定機能を実装するために使用される種々のモデルまたはサブモデルあるいはその両方を生成するために、本発明の実施形態において使用される。システム800は、ネットワーク804を介して分類器810と通信する複数のデータ・ソース802を含んでいる。本発明の一部の態様では、データ・ソース802は、ネットワーク804を回避し、分類器810に直接供給することができる。データ・ソース802は、本発明の実施形態に従って、分類器810によって評価されることになるデータ/情報入力を提供する。データ・ソース802は、分類器810によって作成されたモデル816をトレーニングするか、または更新するか、あるいはその両方を実行するために分類器810によって使用されるデータ/情報入力も提供する。データ・ソース802は、リアルタイム・データを収集するように構成されたセンサ、データ・リポジトリ(トレーニング・データ・リポジトリを含む)、および他の分類器からの出力を含むがこれらに限定されない、多種多様なデータ・ソースとして実装され得る。ネットワーク804は、ローカル・ネットワーク、広域ネットワーク、プライベート・ネットワーク、インターネットなどを含むがこれらに限定されない、任意の種類の通信ネットワークであることができる。
【0082】
分類器810は、(図10に示された)処理システム1000などのプログラム可能なコンピュータによって実行されるアルゴリズムとして実装され得る。図8に示されているように、分類器810は、一連の機械学習(ML:machine learning)アルゴリズム812、自然言語処理(NLP:naturallanguage processing)アルゴリズム814、およびMLアルゴリズム812によって生成(または学習)された関係(または予測)アルゴリズムであるモデル816を含んでいる。分類器810のアルゴリズム812、814、816は、例示および説明を容易にするために、別々に示されている。本発明の実施形態では、分類器810のさまざまなアルゴリズム812、814、816によって実行される機能は、図に示されたのとは異なって分配され得る。例えば、分類器810が、サブタスクを含んでいるタスク全体を実行するように構成された場合、一連のMLアルゴリズム812は、MLアルゴリズム812の一部が各サブタスクを実行し、MLアルゴリズム812の一部がタスク全体を実行するように、分割され得る。さらに、本発明の一部の実施形態では、NLPアルゴリズム814がMLアルゴリズム812内で統合され得る。
【0083】
NLPアルゴリズム814は音声認識機能を含み、音声認識機能は、分類器810およびより詳細にはMLアルゴリズム812が、自然言語データ(テキストおよび音声)を受信し、言語処理、情報検索、および機械学習の要素を適用して、自然言語入力から意味を導出し、場合によっては導出された意味に基づいてアクションを実行することを可能にする。本発明の態様に従って使用されるNLPアルゴリズム814は、音声合成機能を含むこともでき、音声合成機能は、分類器810が結果820を自然言語(テキストおよび音声)に変換し、結果820の側面を自然言語通信として伝達することを可能にする。
【0084】
NLPアルゴリズム814およびMLアルゴリズム812は、入力データ(すなわち、トレーニング・データおよび分析中のデータ)をデータ・ソース802から受信して評価する。MLアルゴリズム812は、入力データの形式を解釈して利用するために必要な機能を含む。例えば、データ・ソース802が画像データを含む場合、MLアルゴリズム812は、画像データを解釈するように構成された視覚認識ソフトウェアを含むことができる。MLアルゴリズム812は、分類器810が完了することを目的とするタスク全体およびサブタスクをモデル化する1つまたは複数のモデル816を、時間をかけて作成/トレーニング/更新するために、機械学習技術を受信されたトレーニング・データ(例えば、データ・ソース802のうちの1つまたは複数から受信されたデータ)に適用する。
【0085】
ここで図8および9を集合的に参照すると、図9は、前述のモデル816を生成するためにMLアルゴリズム812によって実行される学習段階900の例を示している。学習段階900では、分類器810が、トレーニング・データから特徴を抽出し、それらの特徴を、MLアルゴリズム812によって認識されて分析されるベクトル表現に変換する。対象のモデル(またはモデルのタスク)に対してトレーニング・データを「分類」し、分類されたトレーニング・データ間の関係を明らかにするために、MLアルゴリズム812によって特徴ベクトルが分析される。MLアルゴリズム812の適切な実装の例としては、ニューラル・ネットワーク、サポート・ベクター・マシン(SVM:support vector machines)、ロジスティック回帰、決定木、隠れマルコフ・モデル(HMM:hidden Markov Models)などが挙げられるが、これらに限定されない。MLアルゴリズム812によって実行される学習またはトレーニングは、教師あり、教師なし、または教師あり学習および教師なし学習の側面を含んでいるハイブリッドであることができる。教師あり学習は、トレーニング・データがすでに使用可能であり、分類/ラベル付けされている場合である。教師なし学習は、トレーニング・データが分類/ラベル付けされておらず、そのため、分類器810およびMLアルゴリズム812の反復によって開発されなければならない場合である。教師なし学習は、例えば、クラスタ化、異常検出、ニューラル・ネットワーク、深層学習などを含む、追加の学習/トレーニング方法を利用することができる。
【0086】
MLアルゴリズム812によってモデル816が十分にトレーニングされる場合、結果820の使用可能なバージョンを生成するために、「現実世界」のデータを生成するデータ・ソース802がアクセスされ、「現実世界」のデータがモデル816に適用される。本発明の一部の実施形態では、結果820が分類器810にフィードバックされ、MLアルゴリズム812によって、モデル816を更新するため、または改良するため、あるいはその両方のための追加のトレーニング・データとして使用され得る。
【0087】
本発明の態様では、MLアルゴリズム812およびモデル816は、特定の結果/決定の全体的精度を改善するために、(結果820を含む)それらの結果/決定のうちの個々の結果/決定に信頼度(CL:confidence levels)を適用するように構成され得る。MLアルゴリズム812またはモデル816あるいはその両方が、CLの値が既定のしきい値(TH:threshold)を下回る(すなわち、CL<TH)という決定を行うか、またはそのような結果を生成する場合、この結果/決定は、この決定/結果が有効でないという結論を正当化するほど十分に低い「信頼性」を有するとして分類されることが可能であり、この結論は、この決定/結果が下流の処理でいつ、どのように処理されるか、または処理されるかどうか、あるいはその組み合わせを決定するために使用され得る。CL>THである場合、この決定/結果が有効と見なされることが可能であり、この結論は、この決定/結果が下流の処理でいつ、どのように処理されるか、または処理されるかどうか、あるいはその組み合わせを決定するために使用され得る。多くの異なる既定のTHレベルが提供され得る。CL>THである決定/結果は、この決定/結果が下流の処理でいつ、どのように処理されるか、または処理されるかどうか、あるいはその組み合わせに優先順位を付けるために、最も高いCL>THから最も低いCL>THまでランク付けされ得る。
【0088】
本発明の態様では、分類器810は、信頼度(CL)を結果820に適用するように構成され得る。分類器810が、結果820におけるCLが既定のしきい値(TH)を下回る(すなわち、CL<TH)ということを決定した場合、結果820は、結果820における「信頼性なし」の分類を正当化するほど十分に低いとして分類され得る。CL>THである場合、結果820は、結果820が有効であるという決定を正当化するほど十分に高いとして分類され得る。CL>THである結果820が、最も高いCL>THから最も低いCL>THでまでランク付けされるように、多くの異なる既定のTHレベルが提供され得る。
【0089】
図10は、本明細書に記載された本発明の種々の実施形態のコンピュータベースのコンポーネントのいずれかを実装するために使用されるコンピュータ・システム1000の例を示している。コンピュータ・システム1000は、本発明の態様に従って、本明細書に記載された内容に基づく意味的監視動作の種々の態様を実行するために構成された例示的なコンピューティング・デバイス(「コンピュータ」)1020を含んでいる。コンピュータ1020に加えて、例示的なコンピュータ・システム1000は入力/出力コンポーネント1030を含んでおり、入力/出力コンポーネント1030は、コンピュータ1020を追加のシステム(図示されていない)に接続し、インターネット、イントラネット、またはワイヤレス通信ネットワーク、あるいはその組み合わせなどの、1つまたは複数の広域ネットワーク(WAN:wide area networks)またはローカル・エリア・ネットワーク(LAN:localarea networks)あるいはその両方を含むことができる。コンピュータ1020および追加のシステムは、例えばそれらの間でデータを伝達するために、ネットワーク1034を介して通信する。
【0090】
例示的なコンピュータ1020は、バス1032を介して通信するプロセッサ・コア1022、メイン・メモリ(「メモリ」)1028、および入力/出力コンポーネント1030を含んでいる。プロセッサ・コア1022は、キャッシュ・メモリ(「キャッシュ」)1024および制御1026を含んでおり、制御1026は、分岐予測構造ならびに関連する検索、ヒット、検出、および更新論理を含み、これらが以下でさらに詳細に説明される。キャッシュ1024は、プロセッサ1022のチップ上またはチップ外にある複数のキャッシュ・レベル(図示されていない)を含むことができる。メモリ1028は、例えば、プロセッサ1022による実行のために、制御1026によってキャッシュ1024との間で転送される格納されたさまざまなデータ、例えば、命令、ソフトウェア、ルーチンなどを含むことができる。入力/出力コンポーネント1030は、ディスプレイ、キーボード、モデム、ネットワーク・アダプタなど(図示されていない)の、コンピュータ1020との間でのローカルまたはリモートあるいはその両方の入力/出力動作を容易にする1つまたは複数のコンポーネントを含むことができる。
【0091】
本開示にはクラウド・コンピューティングの詳細な説明が含まれているが、本明細書において記載された教示の実装は、クラウド・コンピューティング環境に限定されないということを、あらかじめ理解されたい。むしろ本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
【0092】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含んでよい。
【0093】
特徴は、次のとおりである。
【0094】
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
【0095】
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
【0096】
リソース・プール:プロバイダの計算リソースは、プールされて、マルチテナント・モデルを使用して複数の利用者に提供され、さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高いレベルの抽象化では、場所(例えば、国、州、またはデータセンター)を指定できることがある。
【0097】
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
【0098】
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適したいくつかの抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【0099】
サービス・モデルは、次のとおりである。
【0100】
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
【0101】
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
【0102】
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御することができ、場合によっては、選ばれたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
【0103】
デプロイメント・モデルは、次のとおりである。
【0104】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0105】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0106】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
【0107】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0108】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを備えるインフラストラクチャである。
【0109】
ここで図11を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を備える。ノード10は、互いに通信し得る。ノード10は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化され得る(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図11に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解されたい。
【0110】
ここで図12を参照すると、クラウド・コンピューティング環境50(図11)によって提供される機能的抽象レイヤのセットが示されている。図12に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【0111】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0112】
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体を提供できる抽象レイヤを備える。
【0113】
1つの例では、管理レイヤ80は、以下で説明される機能を提供し得る。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよび他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書またはインボイスの送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクの識別情報の検証を行うとともに、データおよび他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0114】
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されるワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、トランザクション処理95、および暗号化された通信の暗号処理要件に一致するための暗号計算リソースの自動的拡大および縮小96が挙げられる。
【0115】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいる1つまたは複数のコンピュータ可読ストレージ媒体を含んでよい。
【0116】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-onlymemory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasableprogrammable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの、それ自体が一過性の信号であると解釈されるべきではない。
【0117】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、またはワイヤレス・ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0118】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路を個別化するためのコンピュータ可読プログラム命令を実行し得る。
【0119】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装されるということが理解されよう。
【0120】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
【0121】
コンピュータ可読プログラム命令は、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成する他のデバイス上で実行させる。
【0122】
図内のフローチャートおよびブロック図は、本発明の種々の実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表し得る。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生し得る。例えば、連続して示された2つのブロックは、実際には、含まれている機能に依って、実質的に同時に実行されるか、または場合によっては逆の順序で実行され得る。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装されるということにも留意されたい。
【0123】
本明細書において前に述べたように、本発明の態様の作成および使用に関連する従来技術は、周知であるため、本明細書に詳細に記載されることもあれば、記載されないこともある。しかし、背景を提供するために、本発明の1つまたは複数の実施形態の実装において利用されるさまざまな暗号方法および定義が、ここでさらに詳細に説明される。
【0124】
デジタル証明書は公開鍵暗号をサポートし、公開鍵暗号では、通信またはトランザクションに関与している各関係者が、公開鍵および秘密鍵と呼ばれる鍵の対を持つ。各関係者の公開鍵が公開され、一方、秘密鍵が秘密に保たれる。公開鍵は、特定の実体に関連付けられた数値であり、その実体と信頼できる情報のやりとりを行う必要があるすべての人に知られるよう意図されている。秘密鍵は、特定の実体のみに知られる(すなわち、秘密に保たれる)ことになっている数値である。標準的な公開鍵暗号システムでは、秘密鍵が、正確に1つの公開鍵に対応する。
【0125】
公開鍵暗号システム内では、すべての通信が公開鍵のみを含み、秘密鍵が送信されることも共有されることもないので、パブリックな情報のみを使用して機密メッセージが生成されることが可能であり、意図された受信者のみに所有されている秘密鍵のみを使用して復号され得る。さらに、公開鍵暗号は、認証(すなわち、デジタル署名)に加えて、プライバシー(すなわち、暗号化)に使用され得る。したがって、公開鍵暗号は、鍵の対(具体的には、データを復号するために使用される対応する秘密鍵と共に、データを暗号化するために使用される公開鍵)を使用する非対称方式である。公開鍵は、世界に公開されることが可能であり、一方、秘密鍵は秘密に保たれる。公開鍵のコピーを持っている任意の実体は、次に、情報を暗号化することができ、秘密鍵を所有している実体が、この暗号化された情報を復号して読み取ることができる。
【0126】
暗号化は、秘密の復号鍵を持っていないどの人によっても読むことができない形態へのデータの変換であり、暗号化は、情報の内容を、意図されていないどの人からも(暗号化されたデータを見ることができる人からさえ)隠蔽された状態に保つことによって、プライバシーを保証する。認証は、デジタル・メッセージの受信者が送信者の身元またはメッセージの完全性あるいはその両方を確信することができるようにするプロセスである。例えば、送信者がメッセージを暗号化した場合、元のメッセージ内のデータを暗号化メッセージの内容に変換するために、受信者の公開鍵が使用される。送信者は、公開鍵を使用してデータを暗号化し、受信者は、秘密鍵を使用して暗号化メッセージを復号する。
【0127】
証明書は、個人、コンピュータ・システム、そのシステム上で稼働している特定のサーバなどの実体の身元および鍵の所有権を保証するデジタル文書である。証明書は、認証機関によって発行される。認証機関(CA:certificate authority)は、他の人または実体のために証明書に署名するか、または証明書を発行することを信用されている実体であり、通常は、トランザクションにとっての信頼できる第三者である。CAは、通常、証明書に署名した実体を信用できるようにする、公開鍵とその所有者の間を結び付けることの保証に対する何らかの種類の法的責任を有する。多くのそのような認証機関が存在し、それらの認証機関は、証明書を発行するときに、実体の身元および鍵の所有権を検証する責任を負う。
【0128】
認証機関が実体の証明書を発行する場合、この実体は、公開鍵およびこの実体に関する何らかの情報を提供する。特殊なWebブラウザなどのソフトウェア・ツールは、この情報にデジタル署名して、認証機関に送信することができる。認証機関は、信頼できる第三者認証機関サービスを提供する企業または他の実体であってよい。その後、認証機関は、証明書を生成して返す。証明書は、証明書が有効である期間の日付、およびシリアル番号などの、他の情報を含むことができる。認証機関によって提供される値の一部は、検証要件に部分的に基づいて、中立的な信頼できる導入サービスとして役立ち、証明サービス慣行(CSP:certification service practices)において公開される。
【0129】
通常、CAが、要求している実体の公開鍵を含んでいる、新しいデジタル証明書に対する要求を受信した後に、CAは、CAの秘密鍵を使用して要求している実体の公開鍵に署名し、署名された公開鍵をデジタル証明書内に配置する。その後、トランザクションまたは通信中にデジタル証明書を受信するどの人も、CAの公開鍵を使用して、証明書内の署名された公開鍵を検証することができる。この意図は、実体の証明書が、実体が特定の公開鍵を所有しているということを検証することである。証明書内の情報を定義し、その情報のデータ形式を説明する複数の規格が存在する。
【0130】
「暗号」、「暗号システム」、「暗号化」、およびこれらと同等の用語は、本明細書では、例えば、許可なしで暗号解読するのが困難である方法でメッセージを変換するように構成されたアルゴリズムと呼ばれる規則に基づく計算を含む、数学的概念から導き出されたセキュアな情報および通信技術を表すために使用される。暗号は、コンピュータ・システムおよびアプリケーション間の通信を保護するために、暗号アルゴリズム、暗号化アルゴリズム、または暗号として知られている一連の手順を使用して、メッセージを暗号化および復号する。暗号一式は、第1のアルゴリズムを暗号化に使用し、第2のアルゴリズムをメッセージ認証に使用し、第3のアルゴリズムを鍵交換に使用することができる。プロトコルに組み込まれ、オペレーティング・システムおよびネットワーク化されたコンピュータ・システム上で実行されるソフトウェアに書き込まれる暗号アルゴリズムは、データの暗号化/復号のための公開鍵および秘密鍵の生成、メッセージ認証のためのデジタル署名および検証、ならびに鍵交換動作を含む。
【0131】
「非対称鍵暗号化アルゴリズム」およびこれと同等の用語は、本明細書において、メッセージを暗号化するための、作成者/送信者に関連付けられた公開鍵、およびその情報を復号するための、発信者のみが知っている秘密鍵という、鍵の対を使用する、公開鍵アルゴリズムまたは非対称鍵アルゴリズムを表すために使用される。
【0132】
「鍵」およびこれと同等の用語は、本明細書において、データをスクランブルまたはアンスクランブルするために明示的に作成されたランダムなビット列を表すために使用される。鍵は、すべての鍵が予測不可能かつ一意であることを保証するよう意図されたアルゴリズムを使用して設計される。このようにして構築された鍵が長いほど、暗号化コードを解読するのが困難になる。鍵は、使用される暗号化ソフトウェアの種類に基づいて、暗号化すること、復号すること、またはこれらの両方の機能を実行することに使用され得る。
【0133】
「秘密鍵」およびこれと同等の用語は、本明細書において、テキストの暗号化および復号のためのアルゴリズムを作動させるために公開鍵と対にされる鍵を表すために使用される。秘密鍵は、非対称鍵暗号化中に公開鍵暗号の一部として作成され、メッセージを復号して読み取り可能な形式に変換するために使用される。公開鍵および秘密鍵は、セキュア通信のために対にされる。秘密鍵は、鍵の開始者のみと共有され、セキュリティを保証する。例えば、Aがメッセージ送信者を表し、Bがメッセージ受信者を表す。AおよびBは、自分自身の公開鍵および秘密鍵の対をそれぞれ持っている。メッセージの開始者または送信者であるAは、メッセージをBに送信する。Aのメッセージが、Bの公開鍵を使用して暗号化され、一方、Bが、秘密鍵を使用してAの受信されたメッセージを復号する。Aが元のメッセージ送信者であることを保証するために、デジタル署名またはデジタル証明書が使用される。このことを検証するために、Bは次の手順に従う。Aが前に秘密鍵を使用してデジタル署名または証明書を暗号化しているはずであるため、Bが、Aの公開鍵を使用してデジタル署名を復号し、デジタル署名が、読み取り可能である場合、認証機関(CA)を使用して認証される。したがって、暗号化メッセージを送信することは、送信者が受信者の公開鍵および送信者の秘密鍵をデジタル証明書の暗号化に使用することを必要とする。したがって、受信者は、受信者の秘密鍵をメッセージの復号に使用し、一方、送信者の公開鍵がデジタル証明書の復号に使用される。
【0134】
「公開鍵」およびこれと同等の用語は、本明細書において、非対称鍵暗号化アルゴリズムを使用する公開鍵暗号化暗号において作成された暗号鍵の種類を表すために使用される。公開鍵は、メッセージを読めない形式に変換するために使用される。異なるが一致する秘密鍵を使用して、復号が実行される。公開鍵および秘密鍵は、セキュア通信を可能にするために対にされる。
【0135】
「デジタル署名」およびこれと同等の用語は、本明細書において、デジタル署名されたデータの利用者が、データが変更、削除、追加のいずれも行われていないことの妥当性を確認できるようにするための公開鍵暗号方法を組み込む技術を表すために使用される。例示的なデジタル署名技術/構成では、「署名者」がレコード・データをハッシュし、署名者の秘密鍵を使用してこのハッシュを暗号化する。暗号化されたハッシュは、署名である。レコード・データの利用者は、同じレコード・データをハッシュし、次に、公開鍵を使用して署名を復号し、署名者のハッシュを取得することができる。レコードの妥当性を確認しようとする利用者は、利用者のハッシュを署名者のハッシュと比較することができる。これら2つのハッシュ値が一致する場合、レコードのデータの内容およびソースが検証される。
【0136】
「楕円曲線暗号」(ECC:elliptic curve cryptography)という用語は、楕円曲線の数学的性質を使用して公開鍵暗号システムを生成するアルゴリズムを表す。すべての公開鍵暗号のように、ECCは、1つの方向に計算するのは簡単だが、逆転するのが非常に難しい数学関数に基づく。ECCの場合、この困難さは、公知の基点に関してランダムな楕円曲線要素の離散対数を計算すること、すなわち「楕円曲線離散対数問題」(ECDLP:elliptic curve discrete logarithm problem)の実現不可能性にある。「楕円曲線デジタル署名アルゴリズム(ECDSA:elliptic curve digital signature algorithm)」は、ECを使用する公開鍵暗号に広く使用されている署名アルゴリズムである。
【0137】
コプロセッサは、CPUが計算リソースをシステム全体にとって絶対不可欠なタスクに集中することを可能にするために、関連する中央処理装置(CPU)の選択されたプロセッサ集約型のタスクを実行する責任を引き継ぐ補助プロセッサである。コプロセッサのタスクは、入力/出力(I/O:input/output)インターフェイス、暗号化、文字列処理、浮動小数点演算、信号処理などを含むことができる。コプロセッサは、1つまたは複数の埋め込みシステム(ES:embedded systems)を含むことができる。ESは、より大きい機械的システムまたは電子的システムあるいはその両方の内部で1つまたは複数の専用機能を実行するコンピュータ・システムである。ESの例は、コンピュータのハードウェアとオペレーティング・システムの間でメディエータとして機能するブートストラップ・ローダ(またはブート・ローダ)である。一部のコンピュータ構成では、コプロセッサ自体が埋め込みシステムと見なされ得る。
【0138】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、本発明を制限するよう意図されていない。本明細書において使用されるとき、文脈において特に明確に示されない限り、単数形「a」、「an」、および「the」は、複数形を含むよう意図されている。「備える」または「備えている」あるいはその両方の用語は、本明細書で使用される場合、記載された特徴、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組み合わせの存在を示すが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組み合わせの存在または追加を除外していない。
【0139】
「例示的」という用語は、本明細書では「例、事例、または実例としての役割を果たす」ことを意味するために使用される。「例示的」として本明細書に記載された実施形態または設計は、必ずしも他の実施形態または設計よりも好ましいか、または有利であると解釈されるべきではない。「少なくとも1つ」および「1つまたは複数」という用語は、1以上の任意の整数(すなわち、1、2、3、4など)を含むことができる。「複数」という用語は、2以上の任意の整数(すなわち、2、3、4、5など)を含むことができる。「接続」という用語は、間接的「接続」および直接的「接続」の両方を含むことができる。
【0140】
「約」、「実質的に」、およびこれらと同等の用語は、本願書の出願時に使用できる機器に基づいて、特定の量の測定に関連付けられた誤差の程度を含むよう意図されている。例えば、「約」、「実質的に」、およびこれらと同等の用語は、特定の値の±8%または5%、あるいは2%の範囲を含むことができる。
【0141】
本発明は、限定された数の実施形態のみに関連して詳細に説明されたが、本発明がそのような開示された実施形態に限定されないということが、容易に理解されるはずである。むしろ本発明の範囲に応じた任意の数の変形、変更、置換、同等の構成を組み込むように変更され得る。さらに、本発明の種々の実施形態が説明されたが、本発明の態様が説明された実施形態の一部のみを含むことができるということが理解されるべきである。したがって、本発明は、前述の説明によって制限されると見なされるべきではなく、添付の特許請求の範囲のみによって制限される。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2024-04-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
暗号動作を実行するためのコンピュータ実装方法であって、前記コンピュータ実装方法が、
プロセッサ・システムを使用して、暗号化メッセージに関連付けられたリソース・スケーリング(RS)データを受信することと、
前記プロセッサ・システムを使用して、前記RSデータの動作ポリシー(OP)にアクセスすることであって、前記OPが暗号動作制約を定義する、前記アクセスすることと、
前記暗号動作制約が必須の暗号リソース要件を含まないとの決定に少なくとも部分的に基づいて、第1のリソース・スケーリング動作を実行することとを含み、前記第1のリソース・スケーリング動作が、
前記プロセッサ・システムを使用して、前記プロセッサ・システムに関連付けられた暗号指標の分析を実行することであって、
前記暗号指標が、
前記暗号化メッセージに関連付けられた情報、および
前記プロセッサ・システムによって実行された暗号動作の性能測定結果を含む、前記実行することと、
前記暗号動作制約および前記暗号指標の前記分析結果を使用して、
前記暗号化メッセージの暗号処理要件を決定すること、および
前記暗号処理要件を、使用可能な暗号計算リソースのセットのうちの選択された暗号計算リソースに一致させ、前記暗号化メッセージの前記暗号処理要件に一致するように選択された暗号計算リソースのカスタマイズされたセットを識別すること
を実行することと、
前記暗号計算リソースのカスタマイズされたセットを使用して、前記暗号化メッセージに対してカスタマイズされた暗号動作を実行することとを含む、コンピュータ実装方法。
【請求項2】
前記暗号動作制約が前記必須の暗号計算リソース要件を含むとの決定に少なくとも部分的に基づいて、
前記暗号化メッセージを、前記必須の暗号計算リソース要件によって識別された必須の暗号計算リソースのセットにルーティングすることと、
前記必須の暗号計算リソースのセットを使用して、前記暗号化メッセージに対して必須の暗号動作を実行することとを含む第2のリソース・スケーリング動作を実行することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記暗号化メッセージに対して暗号動作を実行することの要求を受信することと、
前記要求を実行する代わりに、前記要求を前記プロセッサ・システムにルーティングすることとを実行するように、オープンソースの暗号ソフトウェアを構成することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記オープンソースの暗号ソフトウェアが、オープンソースのセキュア・ソケット・レイヤ(SSL)ソフトウェアを含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記第1のリソース・スケーリング動作が、前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第1のリソース・スケーリング動作が、
前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含み、
前記第2のリソース・スケーリング動作が、
前記必須の暗号計算リソースのセットを使用して前記暗号化メッセージに対して必須の暗号動作を実行することから生じる更新された暗号指標の第2のセットを捕捉することと、
前記更新された暗号指標の第2のセットを使用して暗号指標を更新することとをさらに含む、請求項2に記載のコンピュータ実装方法。
【請求項7】
前記プロセッサが、機械学習アルゴリズムを利用して前記暗号化メッセージの前記暗号処理要件を決定するようにトレーニングされた予測モデルを備え、
前記暗号化メッセージに関連付けられた前記情報が、静的データを含んでいる暗号計算リソース・パターンを含み、
前記性能測定結果が、変化する動的データを含んでいる暗号指標を含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
プロセッサ・システムに通信可能に結合されたメモリを備えているコンピュータ・システムであって、前記プロセッサ・システムが、
暗号化メッセージに関連付けられたリソース・スケーリング(RS)データを受信することと、
前記RSデータの動作ポリシー(OP)にアクセスすることであって、前記OPが暗号動作制約を定義する、前記アクセスすることと、
前記暗号動作制約が必須の暗号計算リソース要件を含まないとの決定に少なくとも部分的に基づいて、第1のリソース・スケーリング動作を実行することとを含む動作を実行するように構成され、前記第1のリソース・スケーリング動作が、
前記プロセッサ・システムに関連付けられた暗号指標の分析であって、
前記暗号指標が、
前記暗号化メッセージに関連付けられた情報、および
前記プロセッサ・システムによって実行された暗号動作の性能測定結果を含む、前記分析と、
前記暗号動作制約および前記暗号指標の前記分析結果を使用して、
前記暗号化メッセージの暗号処理要件を決定すること、および
前記暗号処理要件を、使用可能な暗号計算リソースのセットのうちの選択された暗号計算リソースに一致させ、前記暗号化メッセージの前記暗号処理要件に一致するように選択された暗号計算リソースのカスタマイズされたセットを識別すること
を実行することと、
前記暗号計算リソースのカスタマイズされたセットを使用して、前記暗号化メッセージに対してカスタマイズされた暗号動作を実行することとを含む、コンピュータ・システム。
【請求項9】
前記暗号動作制約が前記必須の暗号計算リソース要件を含むとの決定に少なくとも部分的に基づいて、
前記暗号化メッセージを、前記必須の暗号計算リソース要件によって識別された必須の暗号計算リソースのセットにルーティングすることと、
前記必須の暗号計算リソースのセットを使用して、前記暗号化メッセージに対して必須の暗号動作を実行することとを含む第2のリソース・スケーリング動作を実行することをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項10】
前記暗号化メッセージに対して暗号動作を実行することの要求を受信することと、
前記要求を実行する代わりに、前記要求を前記プロセッサ・システムにルーティングすることとを実行するように、オープンソースの暗号ソフトウェアを構成することをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項11】
前記オープンソースの暗号ソフトウェアが、オープンソースのセキュア・ソケット・レイヤ(SSL)ソフトウェアを含む、請求項10に記載のコンピュータ・システム。
【請求項12】
前記第1のリソース・スケーリング動作が、前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項13】
前記第1のリソース・スケーリング動作が、
前記暗号計算リソースのカスタマイズされたセットを使用して前記暗号化メッセージに対して前記カスタマイズされた暗号動作を実行することから生じる更新された暗号指標の第1のセットを捕捉することと、
前記更新された暗号指標の第1のセットを使用して前記暗号指標を更新することとをさらに含み、
前記第2のリソース・スケーリング動作が、
前記必須の暗号計算リソースのセットを使用して前記暗号化メッセージに対して必須の暗号動作を実行することから生じる更新された暗号指標の第2のセットを捕捉することと、
前記更新された暗号指標の第2のセットを使用して暗号指標を更新することとをさらに含む、請求項9に記載のコンピュータ・システム。
【請求項14】
前記プロセッサが、機械学習アルゴリズムを利用して前記暗号化メッセージの前記暗号処理要件を決定するようにトレーニングされた予測モデルを備え、
前記暗号化メッセージに関連付けられた前記情報が、静的データを含んでいる暗号計算リソース・パターンを含み、
前記性能測定結果が、変化する動的データを含んでいる暗号指標を含む、請求項8に記載のコンピュータ・システム。
【請求項15】
請求項1~7の何れか1項に記載のコンピュータ実施方法を、コンピュータに実行させる、コンピュータ・プログラム
【請求項16】
請求項15に記載の前記コンピュータ・プログラムを、コンピュータ可読ストレージ媒体に記憶した、ストレージ媒体
【国際調査報告】