JP2021500669A - セキュア・プロセッサ・ベースのクラウド・コンピューティング環境において情報を保護するための方法、装置、およびコンピュータ・プログラム - Google Patents

セキュア・プロセッサ・ベースのクラウド・コンピューティング環境において情報を保護するための方法、装置、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2021500669A
JP2021500669A JP2020522703A JP2020522703A JP2021500669A JP 2021500669 A JP2021500669 A JP 2021500669A JP 2020522703 A JP2020522703 A JP 2020522703A JP 2020522703 A JP2020522703 A JP 2020522703A JP 2021500669 A JP2021500669 A JP 2021500669A
Authority
JP
Japan
Prior art keywords
software
function
control plane
secure enclave
secure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020522703A
Other languages
English (en)
Other versions
JP7110339B2 (ja
JP2021500669A5 (ja
Inventor
ブラウン、ビクター
リントン、ジェブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021500669A publication Critical patent/JP2021500669A/ja
Publication of JP2021500669A5 publication Critical patent/JP2021500669A5/ja
Application granted granted Critical
Publication of JP7110339B2 publication Critical patent/JP7110339B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/12Flow control between communication endpoints using signalling between network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

【課題】セキュア・プロセッサ・ベースのエンクレーブを使用して1つまたは複数のソフトウェア定義制御機能、または計算ノードを含むハイパーコンバージド・クラウドのようなクラウド環境内の構成要素を保護する。【解決手段】1つまたは複数のセキュア・エンクレーブは、環境内でインスタンス化される。NFVベースの制御プレーン構成要素のような制御プレーンは、セキュア・エンクレーブ内でホストされ、セキュア・エンクレーブ自体がインスタンス化され仮想化またはコンテナ化され得る。制御プレーンは関連するデータ・プレーンを有し、その構成要素は1つまたは複数の計算ノードにまたがる。1つまたは複数のAPIが制御プレーンと、セキュア・エンクレーブの外部に配置された様々なデータ・プレーン構成要素との間の接続性を提供する。NFVベースの制御プレーンは、APIを通じて構成情報(例えば、ルーティング・テーブル)を分散されたデータ・プレーンに提供する。メモリ内ワークロード保護を用いて制御プレーンを安全にホストすることによって、本アプローチは、ロード時の整合性を保証し、例えば権限のある攻撃者またはその他のシステム・プロセスによる、セキュリティ侵害からリアルタイムに保護する。【選択図】図5

Description

本開示は、一般に、データセンタ動作環境におけるデータ処理システムに関する。
クラウド・コンピューティングは、良く知られた情報技術(IT)の提供モデルであり、これによって、共有リソース、ソフトウェア、および情報が、インターネットを介して、コンピュータおよびその他のデバイスにオン・デマンドで提供される。クラウド・コンピューティングは、ITコストと複雑さを大幅に軽減し、同時に、ワークロード最適化とサービス提供を改善する。クラウド計算リソースは、通常、大規模なサーバ・ファーム内に収容され、サーバ・ファームは、典型的に、仮想化アーキテクチャを用いて1つまたは複数のネットワーク・アプリケーションを実行し、これらのアプリケーションは、仮想サーバ、または、いわゆる「仮想マシン」(VM)の内部で動作し、データセンタ施設内の物理サーバにマッピングされる。仮想マシンは、通常、物理リソースを仮想マシンに割り当てる制御プログラムであるハイパーバイザ上で稼働する。
クラウド・コンピューティング環境では、サーバ、ストレージ・デバイスなどの複数のITコンポーネントを、単一のコンピューティング・パッケージにグループ化し、いわゆるコンバージド・インフラストラクチャを作ることもよく知られている。近年は、全ての構成要素が仮想化される、完全にソフトウェア定義されたインフラストラクチャである、ハイパーコンバージド・インフラストラクチャ(HCI)を提供する考え方がより拡大している。これらのハイパーコンバージド・ソリューションは、オン・プレミスのインフラストラクチャを、仮想化および自動化の機能と併せて用いることで、パブリック・クラウドのような経験を可能とする。これらは、モジューラ式で拡張可能なビルディング・ブロックによる、高信頼ストレージ、高速ネットワーク、拡張性、および極めて強力なコンピューティングの組合せを提供する。必要に応じて、ノードを追加することにより、容易にクラスタを拡張することができる。この種の市販ソリューションであるIBM(R) Hyperconverged Systems powered by Nutanixは、Nutanix Enterprise Cloud Platformのソフトウェアと、IBM(R) Power Systemsとを組み合わせたハイパーコンバージド・インフラストラクチャ(HCI)・ソリューションである。この統合ソリューションは、管理し易く、簡単に拡張できるインフラストラクチャを用いた、トランザクション分析およびコグニティブ分析のワークロードの需要をターゲットとしている。
米国特許第8578175号 米国特許第8954752号
"Draft NIST Working Definition of Cloud Computing", Peter Mell and Tim Grance, October 7, 2009
現在のハイパーコンバージド・クラウド(hyperconverged cloud)・ソリューションでは、ネットワークは、ソフトウェアによって定義され、ネットワーク機能仮想化(NFV:Network Function Virtualization)制御プレーン機能の形態を取り、特定のハードウェアに紐づかずに、冗長化された高い可用性を有する仮想化またはコンテナ化された構成要素として動作する。これらは、基本的なルーティング/スイッチ制御プレーン機能、ロード・バランシング、ファイアウォール、または、次世代ファイアウォールなどのより複雑な上位レイヤのネットワーク機能、あるいは、それらの組合せから構成され得る。動作中、これらは、例えば共通APIのセットを通じて、高度に分散されたデータ・プレーンに構成情報を提供する。しかし、現在のシステムでは、これらの重要機能は必ずしも、特段の整合性保証または権限のある攻撃(privileged attack)への耐性を伴って提供されるものではなく、したがって、権限のあるシステム・レベルの攻撃者またはセキュリティ侵害されたプロセスが、例えばネットワーク制御プレーン機能を攻撃することによって、システム規模のセキュリティ侵害または稼働停止を引き起こす危険性がある。
この課題を解決する必要性が残されている。
セキュア・プロセッサ・ベースのエンクレーブ(enclave)を使用して1つまたは複数のソフトウェア定義制御機能または、計算ノードを含むハイパーコンバージド・クラウドのようなクラウド環境内の構成要素を保護する。1つまたは複数のセキュア・エンクレーブは、当該環境内でインスタンス化される。NFVベースの制御プレーン構成要素のような制御プレーンは、セキュア・エンクレーブ内でホストされ、セキュア・エンクレーブ自体がインスタンス化され仮想化またはコンテナ化され得る。制御プレーンは関連するデータ・プレーンを有し、その構成要素は1つまたは複数の計算ノードにまたがる。1つまたは複数のAPIが制御プレーンと、セキュア・エンクレーブの外部に配置された様々なデータ・プレーン構成要素との間の接続を提供する。NFVベースの制御プレーンは、APIを通じて構成情報(例えば、ルーティング・テーブル)を分散されたデータ・プレーンに提供する。メモリ内ワークロード保護を用いて制御プレーンを安全にホストすることによって、本アプローチは、ロード時の整合性を保証し、例えば権限のある攻撃者または悪意あるその他のシステム・プロセスによる、セキュリティ侵害からリアルタイムに保護する。
上記に、本開示の主題に関連する特性の一部を概説した。これらの特性は、単に例示として解釈されるべきである。以下に説明するように、本開示の主題を異なる方法で適用することにより、または、本主題に変更を加えることにより、他の多くの有益な結果を得ることができる。
発明の主題およびその有利性をよく理解するため、添付の図面と併せて、以下の説明を参照する。
例示的な実施形態の態様例が実装され得る、分散されたデータ処理環境のブロック図の例である。 例示的な実施形態の態様例が実施され得る、データ処理システムのブロック図の例である。 本開示の主題が実装され得る、クラウド・コンピューティング・アーキテクチャの例を説明する図である。 ネットワーク・ベース・アプライアンスを使用して1つまたは複数のクラウド・ベースの提供物の配備を促進し得る、動作環境の例を説明する図である。 本開示の技術が実装される、ハイパーコンバージド・クラウド・インフラストラクチャを示す図である。 セキュア・プロセッサ・ベースのエンクレーブによるアプローチを用いて1つまたは複数の制御プレーン機能を保護する、典型的なソフトウェア定義ネットワークを示す図である。
ここで、図面、特に図1〜2を参照すると、本開示の例示的な実施形態が実装され得る、データ処理環境が例示されている。図1〜2は、例示に過ぎず、本開示の主題の態様または実施形態が実装され得る環境に関する限定を主張または含意することを意図しないことが理解されるべきである。本開示の主題の思想および範囲から逸脱することなく、図示された環境に対して多くの変更が加えられてよい。
クライアント−サーバ技術
ここで図面を参照すると、図1は、例示的な実施形態の態様が実装され得る、分散データ処理システムの例を示す図形表現である。分散データ処理システム100は、例示的な実施形態の態様が実施され得る、コンピュータのネットワークを含むことができる。分散データ処理システム100は、少なくとも1つのネットワーク102を含み、これが、分散データ処理システム100内で互いに接続される様々なデバイスおよびコンピュータ間に通信リンクを提供するために使用される媒体となる。ネットワーク102は、有線通信リンク、無線通信リンク、または、光ファイバ・ケーブルなどの接続を含むことができる。
図示された例では、サーバ104およびサーバ106が、ストレージ・ユニット108と共にネットワーク102に接続されている。さらに、クライアント110、112、および114もまた、ネットワーク102に接続されている。これらのクライアント110、112、および114は、例えば、パーソナル・コンピュータ、ネットワーク・コンピュータなどでよい。図示された例では、サーバ104は、起動ファイル、オペレーティング・システム・イメージ、ならびにクライアント110、112、および114に対するアプリケーションなどのデータを提供する。図示された例では、クライアント110、112、および114は、サーバ104に対するクライアントである。分散データ処理システム100は、図示されていない、さらなるサーバ、クライアント、およびその他のデバイスを含むことができる。
図示された例では、分散データ処理システム100は、ネットワークおよびゲートウェイの世界規模の集合を表すネットワーク102を有するインターネットであり、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)の一連のプロトコルを使用して互いに通信する。インターネットの中心には、データおよびメッセージを転送する、数千もの商業、行政、教育、およびその他のコンピュータ・システムから成る、主要ノード間またはホスト・コンピュータ間の高速データ通信回線の基幹ネットワークがある。当然ながら、分散データ処理システム100は、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)などの、多くの異なる種類のネットワークを含むように実装することもできる。上述したように、図1は、例示を意図し、本開示の主題の異なる実施形態に対するアーキテクチャ上の限定を意図するものではなく、それ故に、図1に示した個々の構成要素は、本発明の例示的な実施形態が実装され得る環境について限定するものとみなすべきではない。
ここで図2を参照すると、例示的な実施形態の態様が実装され得る、データ処理システム例のブロック図が示されている。データ処理システム200は、図1のクライアント110のようなコンピュータの一例であり、本開示の例示的な実施形態のプロセスを実装するコンピュータ使用可能なコードまたは命令がその中に配置され得る。
ここで図2を参照すると、例示的な実施形態が実装され得る、データ処理システムのブロック図が示されている。データ処理システム200は、図1のサーバ104またはクライアント110のようなコンピュータの一例であり、例示的な実施形態について、プロセスを実装するコンピュータ使用可能なプログラム・コードまたは命令がその中に配置され得る。この具体的な実例では、データ処理システム200は、通信ファブリック202を含み、プロセッサ・ユニット204、メモリ206、持続性ストレージ208、通信ユニット210、入出力(I/O)ユニット212、およびディスプレイ214の間の通信を提供する。
プロセッサ・ユニット204は、メモリ206にロードされ得る、ソフトウェアに対する命令を実行するように働く。プロセッサ・ユニット204は、個々の実装に応じて、1つまたは複数のプロセッサのセットか、または、マルチ・プロセッサのコアであってよい。さらに、プロセッサ・ユニット204は、主プロセッサが単一チップ上で副プロセッサと同居する、1つまたは複数の異種プロセッサ・システムを用いて実装され得る。別の具体的な実例のように、プロセッサ・ユニット204は、複数の同種プロセッサを含む、対称マルチ・プロセッサ(SMP)・システムであってもよい。
メモリ206および持続性ストレージ208は、ストレージ・デバイスの例である。ストレージ・デバイスは、一時的、または持続的、あるいはその両方として情報を格納することができる何らかのハードウェアである。メモリ206は、これらの実例において、例えば、ランダム・アクセス・メモリまたはその他の何らかの適切な揮発性または不揮発性のストレージ・デバイスであってよい。持続性ストレージ208は、個々の実装に応じて、様々な形態を取ることができる。例えば、持続性ストレージ208は、1つまたは複数のコンポーネントまたはデバイスを含むことができる。例えば、持続性ストレージ208は、ハード・ドライブ、フラッシュ・メモリ、書き換え可能な光ディスク、書き換え可能な磁気テープ、または前記のうちのいくつかの組合せであってよい。持続性ストレージ208によって使用される媒体はまた、取り外し可能であってよい。例えば、取り外し可能なハード・ドライブが持続性ストレージ208に使用され得る。
通信ユニット210は、これらの実例では、他のデータ処理システムまたはデバイスとの通信を提供する。これらの実例では、通信ユニット210はネットワーク・インタフェース・カードである。通信ユニット210は、物理通信リンクおよび無線通信リンクのいずれか一方または両方を使用することで、通信を提供することができる。
入出力ユニット212は、データ処理システム200に接続され得る他のデバイスとのデータの入出力を可能とする。例えば、入出力ユニット212は、キーボードおよびマウスを通じてユーザ入力のための接続を提供することができる。さらに、入出力ユニット212は、出力をプリンタに送信することができる。ディスプレイ214は、ユーザに情報を表示するメカニズムを提供する。
オペレーティング・システムおよびアプリケーションに対する命令、またはプログラムは、持続性ストレージ208に配置される。これらの命令は、プロセッサ・ユニット204によって実行するために、メモリ206にロードされ得る。メモリ206のようなメモリ内に配置され得る、コンピュータに実装された命令を用いて、異なる実施形態のプロセスがプロセッサ204によって実施され得る。これらの命令は、プログラム・コード、コンピュータ使用可能プログラム・コード、または、コンピュータ可読プログラム・コードと称され、プロセッサ・ユニット204内のプロセッサによって読み出され、実行され得る。異なる実施形態におけるプログラム・コードは、メモリ206または持続性ストレージ208のような、異なる物理的または有形のコンピュータ可読媒体上で具現化することができる。
プログラム・コード216は、選択的に取り外し可能なコンピュータ可読媒体218上に関数形式で配置され、プロセッサ・ユニット204による実行のために、データ処理システム200にロードされるか、または転送され得る。プログラム・コード216およびコンピュータ可読媒体218は、これらの実例において、コンピュータ・プログラム製品220を形成する。1つの実例では、コンピュータ可読媒体218は、例えば、ドライブまたはその他のデバイスに挿入または配置される、光ディスクまたは磁気ディスクのような有形の形態であってよく、前記ドライブまたはその他のデバイスは、持続性ストレージ208の一部のハード・ドライブのような、ストレージ・デバイスに転送するためにある持続性ストレージ208の一部である。有形の形態において、コンピュータ可読媒体218はまた、データ処理システム200に接続される、ハード・ドライブ、USBメモリ(thumb drive)、または、フラッシュ・メモリのような、持続性ストレージの形態を取ることもできる。コンピュータ可読媒体218の有形の形態はまた、コンピュータ記録可能ストレージ媒体とも称される。いくつかの場合では、コンピュータ記録可能媒体218は取り外し可能でなくてもよい。
あるいは、プログラム・コード216は、通信ユニット210への通信リンクを介して、または、入出力ユニット212への接続を介して、あるいはその両方によって、コンピュータ可読媒体218からデータ処理システム200に転送され得る。前記通信リンク、または前記接続、あるいはその両方は、具体的な実例において物理的または無線であってよい。コンピュータ可読媒体はまた、プログラム・コードを含む通信リンクまたは無線伝送のような無形媒体の形態であってもよい。データ処理システム200について説明される別のコンポーネントは、別の実施形態が実装され得る方法に対して、アーキテクチャ上の限定を課すことを意味するものではない。別の例示的な実施形態は、データ処理システム200について説明されたものに加えるか、または、置き換えられるコンポーネントを含むデータ処理システムにおいて実装され得る。図2のその他のコンポーネントは、図示された具体的な実例と異なってもよい。一例として、データ処理システム200におけるストレージ・デバイスは、データを格納することができる任意のハードウェア装置である。メモリ206、持続性ストレージ208、およびコンピュータ可読媒体218は、有形の形態にあるストレージ・デバイスの例である。
別の実例では、バス・システムを用いて通信ファブリック202を実装してもよく、バス・システムは、システム・バスまたは入出力バスなどの、1つまたは複数のバスを含むことができる。当然ながら、バス・システムは、バス・システムに接続された異なるコンポーネント間または異なるデバイス間のデータ転送を提供する、任意の適切な種類のアーキテクチャを用いて実装され得る。さらに、通信ユニットは、モデムまたはネットワーク・アダプタなどの、データを伝送および受信するために使用される1つまたは複数のデバイスを含むことができる。さらに、メモリは、例えば、メモリ206または、通信ファブリック202内にあり得るインタフェースおよびメモリ・コントローラ・ハブに見られるようなキャッシュであってよい。
本発明の動作を実行するためのコンピュータ・プログラム・コードは、Java(R)(TM)、Smalltalk(R)、C++、C#、Objective−Cなどのオブジェクト指向プログラミング言語および、従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで記述され得る。プログラム・コードは、全てユーザのコンピュータ上で実行するか、一部をユーザのコンピュータ上で実行するか、スタンド・アロンのソフトウェア・パッケージとして実行するか、一部をユーザのコンピュータ上で、一部をリモート・コンピュータ上で実行するか、または、全てリモート・コンピュータまたはリモート・サーバ上で実行することができる。後半のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または、この接続は、外部コンピュータに対して(例えば、インターネット・サービス・プロバイダを用いたインターネットを介して)確立されてもよい。
当業者は、図1〜2のハードウェアが実装に応じて異なってよいことを理解するであろう。フラッシュ・メモリ、同等の不揮発性メモリ、または、光ディスク・ドライブなどの、その他の内部ハードウェアまたは周辺デバイスが、図1〜2に示されたハードウェアに追加して、または置き換えて、使用されてよい。また、例示的な実施形態のプロセスは、本開示の主題の思想および範囲から逸脱することなく、前述したSMPシステム以外に、マルチプロセッサ・データ処理システムにも適用することができる。
後述するように、本明細書に記載する技術は、図1に示すような標準的なクライアント−サーバのパラダイムと併せて動作することができ、このパラダイムでは、クライアント・マシンが、インターネットにアクセス可能な、1つまたは複数のマシンのセット上で実行するウェブ・ベースのポータルと通信する。エンド・ユーザは、前記ポータルにアクセスし、やり取りすることができる、インターネット接続可能なデバイス(例えば、デスクトップ・コンピュータ、ネットブック・コンピュータ、インターネット利用可能なモバイル・デバイスなど)を操作する。典型的に、各クライアントまたはサーバ・マシンは、図2に示すような、ハードウェアおよびソフトウェアを含むデータ処理システムであり、これらのエンティティが、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、またはその他の何らかの通信媒体もしくは通信リンクのようなネットワークを介して、互いに通信する。データ処理システムは、典型的に、1つまたは複数のプロセッサ、オペレーティング・システム、1つまたは複数のアプリケーション、および1つまたは複数のユーティリティを含む。データ処理システム上のアプリケーションは、中でもHTTP、SOAP、XML、WSDL、UDDI、およびWSFLを含むがこれに限定されない、ウェブ・サービスへのネイティブ・サポートを提供する。SOAP、WSDL、IDDI、およびWSFLに関する情報は、これらの標準の開発および維持を担うワールド・ワイド・ウェブ・コンソーシアム(W3C)から入手可能であり、HTTPおよびXMLに関するさらなる情報は、インターネット・エンジニアリング・タスク・フォース(IETF)から入手可能である。これらの標準を熟知しているものとみなす。
クラウド・コンピューティング・モデル
クラウド・コンピューティングは、設定可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、プロセッシング、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールに対する、便利で、オン・デマンドのネットワーク・アクセスを可能とするサービス提供モデルであり、これらのリソースは、最小限の管理労力またはサービスのプロバイダとの最小限のやり取りで、迅速にプロビジョニングされ、かつリリースされ得る。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの配備モデルを含むが、それらのより詳細な説明は、"Draft NIST Working Definition of Cloud Computing", Peter Mell and Tim Grance, October 7, 2009に記載され、かつ明示されている。
特に、典型的な特徴を以下に示す。
オン・デマンドのセルフ・サービス:クラウド利用者は、一方的に、サーバ時間やネットワーク・ストレージなどのコンピューティング機能を、サービス・プロバイダとの人的相互作用を必要とせずに、必要に応じて、自動的にプロビジョニングすることができる。
広域ネットワーク・アクセス:ネットワークを介して機能を利用することができ、これらの機能が、異種のシン・クライアントまたはシック・クライアントのプラットフォーム(例えば、携帯電話、ラップトップ・コンピュータ、およびPDA)による利用を促進する、標準的なメカニズムを通じてアクセスされる。
リソース・プール:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを使用する複数の利用者に提供するために、必要に応じて動的に割り当ておよび再割り当てされる、異なる物理リソースおよび仮想リソースを用いてプールされる。位置独立の概念があり、利用者は一般的に、提供されたリソースの正確な位置を知ることも制御することもないが、より高い抽象度での位置(例えば、国、州、またはデータセンタ)を特定することができてよい。
迅速な弾性:機能は、迅速に、かつ、弾性的に、場合によっては自動的に、素早くスケール・アウトし、かつ、迅速にリリースされ、素早くスケール・インするよう提供され得る。利用者には、プロビジョニング可能な機能は、しばしば、無制限に見え、任意の時に任意の量が購入され得る。
計測されたサービス:クラウド・システムは、サービス種別(例えば、ストレージ、プロセッシング、帯域幅、およびアクティブ・ユーザ・アカウント)に応じた抽象度における計測機能を活用することによって、リソース利用量を自動的に制御し、最適化する。リソース利用率は、モニタされ、制御され、かつ、レポートされ、利用サービスのプロバイダおよび利用者の両者に透明性を提供する。
典型的なサービス・モデルを以下に示す。
ソフトウェア・アズ・ア・サービス(SaaS):利用者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを利用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースのeメール)などのシン・クライアント・インタフェースを通じて様々なクライアント・デバイスからアクセス可能である。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、限られたユーザ特有のアプリケーション構成設定を除く、個々のアプリケーション機能をも含む、根底にあるクラウド・インフラストラクチャを管理または制御しない。
プラットフォーム・アズ・ア・サービス(PaaS):利用者に提供される機能は、プロバイダがサポートするプログラミング言語またはツールを用いて作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャ上に配備することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、根底にあるクラウド・インフラストラクチャを管理または制御しないが、配備されたアプリケーションおよび、場合によっては環境構成をホストするアプリケーションを制御することができる。
インフラストラクチャ・アズ・ア・サービス(IaaS):利用者に提供される機能は、プロセッシング、ストレージ、ネットワーク、およびその他の基本的なコンピューティング・リソースを提供することであり、利用者は、任意のソフトウェアを配備し、実行することができ、これはオペレーティング・システムおよびアプリケーションを含んでもよい。利用者は、根底にあるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションについては制御することができ、場合によっては、ネットワーク・コンポーネント(例えば、ホストのファイアウォール)の選択について限定的な制御が可能である。
典型的な配備モデルを以下に示す。
プライベート・クラウド:クラウド・インフラストラクチャは、1つの組織のために単独で動作する。クラウドは、前記組織またはサード・パーティによって管理され得、オン・プレミスまたはオフ・プレミスに存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共通の関心(例えば、任務、セキュリティ要件、ポリシ、およびコンプライアンスの考慮)を有する特定のコミュニティをサポートする。クラウドは、前記組織またはサード・パーティによって管理され得、オン・プレミスまたはオフ・プレミスに存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般の利用者または大規模な業種グループが利用可能であり、クラウド・サービスを販売する組織が保有する。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成物であり、それらは、固有のエンティティを維持しながらも、データおよびアプリケーションの可搬性を実現する、標準化技術、または独自開発の技術(例えば、クラウド間のロード・バランシングのためのクラウド・バースティング)によって互いに結合している。
クラウド・コンピューティング環境は、無国籍、低結合(low coupling)、モジュール方式、および意味的相互運用性(semantic interoperability)に重点を置いたサービス指向型の環境である。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。典型的なクラウド・コンピューティング・ノードは、上記図2に示す通りである。特に、クラウド・コンピューティング・ノード内には、多数の他の汎用または特定用途のコンピューティング・システム環境または構成と共に動作する、コンピュータ・システム/サーバがある。コンピュータ・システム/サーバと共に使用するのに適した、よく知られたコンピューティング・システム、環境、または構成、あるいはそれらの組合せの例は、限定されるものではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、携帯またはノート型デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能な電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記システムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などを含む。コンピュータ・システム/サーバは、コンピュータ・システムによって実行されるプログラム・モジュールなどの、コンピュータ・システムが実行可能な命令の一般的な文脈で説明され得る。一般的に、プログラム・モジュールは、特定のタスクを実行するか、または、特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータ・システム/サーバは、分散クラウド・コンピューティング環境内で実行され得、タスクは、通信ネットワークを介してリンクされるリモート処理デバイスによって実行される。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル・コンピュータ・システムおよびリモート・コンピュータ・システムのどちらのストレージ媒体にも配置され得る。
ここで図3を参照すると、さらなる背景として、クラウド・コンピューティング環境によって提供される機能的な抽象レイヤのセットが図示されている。図3に示すコンポーネント、レイヤ、および機能は、例示のみを意図しており、本発明の実施形態はこれに限定されないことを予め理解するべきである。図示したように、以下に説明するレイヤおよびそれに対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ300は、ハードウェアおよびソフトウェアのコンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレームを含み、1つの例では、IBM(R)zSeries(R)システム;RISC(Reduced Instruction Set Computer)アーキテクチャ・ベースのサーバを含み、また1つの例では、IBM pSeries(R)システム;IBM xSeries(R)システム;IBM BladeCenter(R)システム;ストレージ・デバイス;ネットワークおよびネットワーキング・コンポーネントを含む。ソフトウェア・コンポーネントの例は、ネットワーク・アプリケーション・サーバ・ソフトウェアを含み、1つの例では、IBM WebSphere(R)アプリケーション・サーバ・ソフトウェア、およびデータベース・ソフトウェアを含み、また1つの例では、IBM DB2(R)データベース・ソフトウェアを含む。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界中の多くの司法権の下で登録された、International Business Machines Corporationの登録商標である。)
仮想化レイヤ302は、仮想エンティティを提供することができる抽象レイヤを提供し、仮想エンティティの例として、仮想サーバ;仮想ストレージ;仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム;ならびに仮想クライアントが提供され得る。
1つの例では、管理レイヤ304は、以下に説明する機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために使用される、コンピューティング・リソースおよびその他のリソースの動的な調達を提供する。計測および課金は、クラウド・コンピューティング環境内でリソースが使用されることに伴うコスト追跡、および、これらのリソースの消費に対する課金または支払請求を提供する。1つの例では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウド利用者およびタスクの本人確認と、データおよびその他のリソースの保護とを提供する。ユーザ・ポータルは、利用者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルを満たすようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル・アグリーメント(SLA)の計画および履行は、クラウド・コンピューティング・リソースの事前配置およびその調達を提供し、SLAに従って、前記リソースの将来的な要件が予測される。
ワークロード・レイヤ306は、クラウド・コンピューティング環境が使用され得る機能性の例を提供する。このレイヤが提供し得るワークロードおよび機能の例は、マッピングおよびナビゲーション;ソフトウェア開発およびライフサイクル管理;バーチャル・クラスルームの教育提供;データ分析処理;トランザクション処理;ならびにその他(例えば、プライベート・クラウドにおける企業特有の機能)を含む。
本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書に詳述する教示の実装は、クラウド・コンピューティング環境に限定されるものではないことが予め理解される。むしろ、本発明の実施形態は、既知の、または今後開発される、他の種類のいずれのコンピューティング環境とも併せて実装され得る。
例えば、典型的なクラウド・コンピューティング環境は、フロント・エンドのアイデンティティ・マネージャ、ビジネス・サポート・サービス(BSS)機能コンポーネント、操作支援サービス(OSS)機能コンポーネント、および計算クラウド・コンポーネントを含む、高水準の機能性コンポーネントのセットを有する。アイデンティティ・マネージャは、クライアントにアイデンティティ管理を提供するよう要求する際のインタフェースを担い、このコンポーネントは、ニューヨーク州アーモンク市のIBM社から入手可能な、Tivoli Federated Identity Manager(TFIM)などの、1つまたは複数の既知のシステムと共に実装され得る。適切な場合に、TFIMはフェデレーティッド・シングル・サイン・オン(F−SSO)を他のクラウド・コンポーネントに提供するために使用され得る。ビジネス・サポート・サービス・コンポーネントは、課金サポートのような特定の管理機能を提供する。操作支援サービス・コンポーネントは、仮想マシン(VM)インスタンスなどの他のクラウド・コンポーネントのプロビジョニングおよび管理を提供するために使用される。仮想マシンは、ソフトウェア上にインストールされる、オペレーティング・システムまたはアプリケーション環境であって、ハードウェア・マシンを模倣する。クラウド・コンポーネントは、主要な計算リソースを表し、典型的には、クラウドを介してアクセス可能となるターゲット・アプリケーションを実行するために使用される、複数の仮想マシン・インスタンスである。1つまたは複数のデータベースは、ディレクトリ、ログ、およびその他の作業データを格納するために使用される。これらのコンポーネントの全て(フロント・エンド・アイデンティティ・マネージャを含む)は、クラウドの「内部」に配置されるが、これは必要条件ではない。別の実施形態では、アイデンティティ・マネージャは、クラウドの外部で動作してもよい。サービス・プロバイダもまた、クラウドの外部で動作してもよい。
一部のクラウドは、非従来型のIPネットワークに基づく。したがって、例えば、クラウドは、MACアドレスのハッシュを用いた特別な単層IPルーティングによる2階層CLOSベースのネットワークに基づくことができる。本明細書に記載する技術は、このような非従来型のクラウドにおいても使用することができる。
近年利用可能なクラウド・ベースのサービスの大部分は、ベア・メタルまたは仮想マシン(VM)のいずれかを通じて提供されるが、「コンテナ」技術もまた、使用することができる。ベア・メタル環境では、アプリケーションは、専用のクラウド・インフラストラクチャおよびOSプラットフォームの基盤からインストールされ、実行され、提供される。このような環境は、専用の、かつ特定のハードウェアおよびオペレーティング・システム構成を使用する。仮想マシンは、これに対し、ホスト・システムの内部で実行する、完全なるゲスト・ホストである。仮想マシンが使用される場合、ハードウェア環境を仮想化するハイパーバイザの制御下において、アプリケーションがインストールされ、パッケージ化され、および実行される。一方、コンテナは、アプリケーションの基幹部分(クラウド・サービスと称されることがある)およびその従属部分のみを含む動作環境を提供し、Linuxなどのオペレーティング・システムの単一インスタンス内で複数のコンテナを実行することができる。Dockerは、単一のLinuxカーネルを全ての実行インスタンスと共有する仮想化プラットフォーム(コンテナと称する)である。単一のDockerコンテナは、共有カーネル上で実行するため軽量であり、利用可能なリソースの使用を効率化する。コンテナは多くの次世代クラウドのプラットフォーム・アズ・ア・サービス(PaaS)開発者によって広く使用されている。したがって、例えば、IBM(R) Bluemix(TM)は、IBM Containersを使用してDockerコンテナを実行するPaaSクラウド・プラットフォームであるが、これに限定されない。Dockerコンテナは既存のオペレーティング・システムおよび共有バイナリ上で実行するため、VMよりもコンパクトであり、そのため、コンテナ・ソリューションはしばしば、より高速で、より少ないメモリ要件を有する。
図4は、VMベースのリソース仮想化をサポートする典型的なITインフラストラクチャを示し、後述する本開示の技術が、本インフラストラクチャの1つの実施形態において実装され得る。説明のため、共有(パブリック)リソースを提供するITデータセンタを「プロバイダ」とし、これらの共有リソースを使用して、その(あらゆる形態の)データおよびアプリケーションをホスト、格納、および管理する顧客または企業を「サブスクライバ」(または、「顧客」もしくは「テナント」)とする。図4に、仮想マシンのホスティング環境(あるいは、本明細書ではデータセンタまたは「クラウド」と称する)の例が図示されている。この環境は、典型的に、ハイパーバイザ管理VLAN406を介して物理データセンタ・ネットワーク404に接続される、ホスト・マシン(HVs)402(例えば、サーバまたは物理マシン・コンピューティング・デバイス)を含む。明示されてはいないが、典型的に、本環境はロード・バランサ、ネットワーク・データ・スイッチ(例えば、トップ・オブ・ラック・スイッチ)、ファイアウォールなども含む。図4に示すように、物理サーバ402はそれぞれ、仮想化技術を用いて1つまたは複数の仮想マシン(VM)408を動的に提供するように構成される。このような技術は、例えば、VMware(R)他から市販されている。サーバ仮想化は、当分野ではよく知られた技術である。図示したように、複数のVMが単一のホスト・マシンに配置され、ホスト・マシンのCPU、メモリ、およびその他のリソースを共有することができ、それによって、組織のデータセンタ利用率を向上する。この環境では、テナント・アプリケーション410はネットワーク・アプライアンス412でホストされ、テナント・データはデータ・ストアおよびデータベース414に格納される。アプリケーションおよびデータ・ストアは、典型的には、ネットワーク管理/ストレージVLAN416を介して、物理データセンタ・ネットワーク404に接続される。仮想マシン、アプリケーション、およびテナント・データは、まとめて、サブスクライバがアクセス可能な仮想化されたリソース管理ドメイン405を表す。このドメインを通じて、サブスクライバの従業員は(様々な役割ベースの権限を用いて)、プロバイダによって割り当てられ、かつ物理的なITインフラストラクチャに支えられた仮想化リソースにアクセスし、これを管理することができる。本インフラストラクチャの下部は、プロバイダがアクセス可能な管理ドメイン415を示す。このドメインは、プロバイダ従業員用管理ポータル418、BSS/OSS管理機能420、様々なアイデンティティおよびアクセス管理機能422、セキュリティ・ポリシ・サーバ424、および、サーバ・イメージ428を管理するための管理機能426を含む。これらの機能は、管理VLAN430を介して物理データセンタ・ネットワークを仲介する。プロバイダの従業員は、ITデータセンタ・インフラストラクチャ(例えば、ハードウェアおよびソフトウェアのインストール、設定、モニタリング、技術サポート、課金など)を管理するために使用する、オペレーショナル・アンド・ビジネス・サポート・サービス(OSS/BSS)にアクセス可能な特別な権限(および、場合によっては特定のクライアント/ネットワーク)を有する。
一般的に、クラウド・コンピューティング・インフラストラクチャは、ネットワークを介して接続されたホスト・マシン(例えば、サーバまたは物理マシン・コンピューティング・デバイスなど)および1つまたは複数の管理サーバを含む、仮想マシンまたはコンテナ・ベースのホスティング環境を提供する。典型的には、物理サーバはそれぞれ、VMware ESX/ESXiまたはDockerなどの仮想化技術を用いて、1つまたは複数の仮想マシンまたはコンテナを動的に提供するように構成される。
限定を意味しない実装において、典型的なプラットフォーム技術は、VMware vSphere4.1 Update 1および5.0を用いたIBM System x(R) seversであるが、これに限定されない。
本分野ではまた、上述したように、利用可能なクラウドのプラットフォーム、トポロジ、および機能についての情報を収集する(あるいは、他のデータ・ソースから取得する)よう一般的に動作するメカニズムおよびシステムを含むクラウド・アーキテクチャを構成またはプロビジョニングすることが知られている。典型的には、クラウド・セキュリティは、仮想境界ネットワーク(DMZ)、ネットワーク・セグメンテーション、ストレージ・アイソレーション、不正侵入防止システム(IPS:Intrusion Prevention System)の配備、セキュリティ情報およびイベント管理(SIEM)の配備、リバース・プロキシ、ファイアウォール、SSL通信、既存SIEMを用いた構成、多要素認証(multi-factor authentication)、リスク・ベース認証などを含むが、これらに限定されない、様々な技術を用いて実装および実施され得る。
クラウド・アプリケーション・パッケージは、IBM(R) Cloudオープン・クラウド・マネージメント・プラットフォーム(SmartCloud(R) Orchestratorとしても知られている)、またはIBM(R) Bluemix(TM)などのプラットフォーム・アズ・ア・サービス(PaaS)インフラストラクチャを用いて配備され得る。クラウド・コンピューティング環境はまた、様々な配備および管理ツールを含むことができる。例えば、IBM Cloudは、IBM(R) Cloud Manager with OpenStackを含む。Cloud Managerは、クラウドのエンド・ユーザのための、クラウド管理を単純化するセルフ・サービス・ポータルである。Cloud Manager with OpenStackは、ユーザが、ITまたはシステム管理者の視点ではなく、エンド・ユーザの視点に合わせて仮想アプライアンスおよびワークロードを取り扱うことを可能とする。セルフ・サービス機能は、サーバのプロビジョニングおよびプロビジョニング解除(配備として知られるプロセス)、配備のドラフティングおよびクローニング、配備のスナップショット作成、サーバの起動と終了、および既存サーバのサイズ変更などの、パブリックまたはプライベート・クラウドの多数の共通動作を実行するプロセスを単純化する。
セキュア・エンクレーブを使用して使用中データを保護する
以下に、本開示の主題についてのさらなる背景の詳細を記載する。
デジタル・データは、時に、3つの段階のうちの1つにあるものとして特徴付けられる:すなわち、使用中データ、移動中データ、および休止中データである。使用中データは、コンピュータ・メモリ内のデータを指す。その特性から、使用中データは、ビジネス、政府機関、およびその他の公共機関への関わりが増している。特に、使用中データ(すなわち、メモリ内)は、しばしば、デジタル証明書、暗号鍵、知的財産(ソフトウェア・アルゴリズム、設計データ)、および個人を特定できる情報を含むが、これらに限定されない、機密データを含む。したがって、使用中データが漏洩すると、暗号化された休止中データおよび移動中データへのアクセスが可能となってしまう。
使用中データは典型的に、いくつかの方式のうちの1つによって保護されることが多い。不正アクセスまたは窃盗の発生時にデータの可視化を防止する暗号化は、移動中データおよび休止中データを保護するために一般的に使用されており、使用中データを保護するためにも好ましい方法であることが広く認知されつつある。この目的で、メモリを暗号化するためのソリューションを提案または提供する複数のプロジェクトがある。例えば、ユーザ・プログラムのみがアクセスできるようにメモリを暗号化することが知られており、これは、プロセッサ側の特定のハードウェア位置に配置される鍵によって実現され、各メモリ読み出しまたは書き込みについて、データを複合化または暗号化するためにこの鍵が使用され得る。使用中データを保護するための別のアプローチでは、CPUベースでキーを格納する。このアプローチでは、RAM内に暗号鍵を保持する代わりに、CPUのレジスタを使用して暗号鍵を格納するよう、オペレーティング・システムのカーネル・パッチがオペレーティング・システムを変更する。特に、メモリ内の暗号鍵に不正にアクセスし得る攻撃から休止中データの暗号鍵が保護されるように、鍵はRAM内ではなくCPU内部に保持される。
使用中データを保護するための、さらに別のアプローチが、メモリ内のプライベート領域である「エンクレーブ」である。エンクレーブ・データは、RAMにある間に暗号化されるが、CPUおよびCPUキャッシュの内部では平文として利用可能である。エンクレーブのアプローチは、メモリ・ユニットとプロセッサとの間に特別なレジスタおよび回路を使用し、それらが、メモリからのデータを復号化し、メモリへのデータを暗号化するために必要な鍵を保持し、また、好ましくは、他のいかなる場所(オペレーティング・システムを含む)にも鍵を格納しない、という点で、単純なメモリ暗号化とは異なる。特別なアトミックな命令が、これらのレジスタが鍵を格納する唯一の場所であることを保証する。このアプローチの市販品の例は、Intel Software Guard Extensions(SGX)、IBM Power9 SMF、および旧IBM SecureBlue++アーキテクチャを含む。例えば、SGXは、ユーザ・レベルのコードがエンクレーブを配置することを可能にする命令のセットであり、これは、通常のプロセス・メモリとは違い、より高い権限レベルで実行するプロセスからも保護される。この種の典型的なソリューションでは、「セキュア」プロセッサは、該当するコアがセキュア実行ファイルを実行する場合にのみ、セキュア実行ファイルおよびデータを平文に可視化できるCPUコアを含む。このような実行に先立って、他のソフトウェアまたは他のこのようなセキュア・オブジェクトからコードおよびデータが視認できないように、セキュア実行ファイルのコードおよびデータ(まとめて、セキュア・オブジェクト)は、関連する外部メモリに暗号化された形態で格納される。セキュア実行ファイルのコードおよびデータはまた、メモリからCPUコアへ伝送される際には視認できない。セキュア・オブジェクトの暗号鍵は管理モジュールに生成または提供され、セキュア・オブジェクトはこの暗号鍵の下で暗号化される。実行時、様々な制御技術が使用され、セキュア・オブジェクトの機密情報が、外部メモリからCPUへのパス上で復号化され、CPUから外部メモリへのパスで暗号化されることが可能となる。本プロセスのさらなる詳細は、例えば、米国特許第8578175号および第8954752号に見出され得、これらの開示は、参照により本明細書に組み込まれている。
クラウド・システムのためのセキュア・プロセッサ・ベースの制御プレーン機能仮想化
上述した背景を用いて、本開示の技術を説明する。以下に示すように、本明細書に記載する技術は、ソフトウェア定義ネットワーク(SDN:Software Defined Networks)およびネットワーク機能仮想化(NFV:Network Function Virtualization)として知られる通信ネットワークの進展を活用する。SDNおよびNFVは、ITクラウド・アーキテクチャを使用して、通信ハードウェアをソフトウェアから切り離し、ネットワーク機能が例えば1つのベンダによるハードウェアとソフトウェアの両方を含むアプライアンスとして実装される、従来型のネットワーク設備のアーキテクチャ・モデルを打ち崩す。単一のネットワーク・アプライアンスに代わって、SDNおよびNFVを用いると、ハードウェアの切り替えが共用化され、ネットワーク・ソフトウェアが分離され、仮想化され、かつクラウド内に配備され、それによって、コストを削減し、ネットワーク機能の配備を高速かつ容易にし、また、動的に変更かつ拡張できるようにする。
本開示に従って、セキュア・プロセッサ・ベースのエンクレーブおよび関連するメモリ内保護を使用して、ハイパーコンバージド・クラウドのようなクラウド環境における、1つまたは複数のソフトウェア定義制御機能または構成要素を保護する。ソフトウェア定義機能には、様々な種類があってよく、例えば、ネットワーク機能、ストレージ機能、電力機能、オーケストレーション機能などであってよい。
ここで説明する好ましい実施形態において、ソフトウェア定義機能は、ネットワーキング機能であって、特に、制御プレーンである。ルーティングにおいて、制御プレーンはネットワーク・トポロジを決定し、パケットがどのようにルーティングされるかを定義するルーティング・テーブルを構築し、かつこれを維持するよう動作する。ルーティング・テーブルは、典型的に、宛先アドレスのリストと、これらのアドレスに関連する出力インタフェースを含む。制御プレーン機能は、ルーティング・プロトコルを管理すること、様々なサービス品質(QoS)を定義することなどを含む。制御プレーンは、データ(または転送)・プレーンとは区別され、データ・プレーンは、通常は分散され、制御プレーンによってルーティング・テーブル内に提供された情報に従って、ネットワーク・トラフィックを、宛先に対する1つまたは複数のパスに従って転送するために使用される。いくつかのルーティング・アーキテクチャでは、データ・プレーンは、制御プレーンによって提供されたルーティング・テーブルを格納する、独自のデータベースを有する。データ・プレーンは、データ・パケットの受信および処理を実際に担っている。
本明細書に記載するアプローチは、特定のハードウェアに紐づかずに、冗長化された高い可用性を有する仮想化またはコンテナ化された構成要素として動作する、ネットワーク機能仮想化(NFV)の制御プレーン機能を提供するものである。これらは、基本的なルーティング/スイッチ制御プレーン機能、ロード・バランシング、ファイアウォール、または、次世代ファイアウォールなどの、より複雑な上位レイヤのネットワーク機能、あるいはそれらの組合せから構成され得る。
図5は、基本的な実装シナリオを示す。本実施形態では、クラウド・インフラストラクチャ500は、多数の計算ノード502を含むハイパーコンバージド・クラウドである。計算ノードは、上述したように、仮想マシン上、コンテナ上、またはベア・メタル上にも実装され得る。本開示によると、1つまたは複数のセキュア・エンクレーブ504は、既知の方法で環境内にインスタンス化される。したがって、上述したように、セキュア・エンクレーブは、セキュア・プロセッサ・ベースのメモリ内での使用中データのセキュリティ・メカニズムを用いて実装され得る。また、図示されるように、NFVベースの制御プレーン構成要素506などの制御プレーンが、計算ノード502a上に実装されたセキュア・エンクレーブ504内でホストされる。本実施形態では、制御プレーン506はセキュア・エンクレーブ内でホストされ、すなわち隔離され、それ自体がVMまたはコンテナのうちの1つの中でインスタンス化される。制御プレーン506は、関連するデータ・プレーン508を有し、その構成要素は、好ましくは、計算ノードのうちの1つまたは複数に渡って(分散されたネットワーク・データ・プレーンとして)分散される。そのため、図示されるように、データ・プレーン508は、制御プレーンをホストする、仮想化またはコンテナ化されたセキュア・エンクレーブをサポートする、計算ノード502a上でサポートされた部分と同時に、他の計算ノード502bおよび502c上でサポートされた他の部分を有する。好ましくは、計算ノード502a上でサポートされたデータ・プレーンの当該部分は、制御プレーンをホストするセキュア・エンクレーブ内では実行しない。
セキュア・エンクレーブ504内の制御プレーン506と、セキュア・エンクレーブの外部に配置された様々なデータ・プレーン構成要素との間に接続510が提供される。好ましい実施形態では、接続510は、1つまたは複数のアプリケーション・プログラミング・インタフェース(API)を介して提供される。好ましくは、他のネットワークおよびセキュリティ機能が、エンクレーブ内で保護された制御プレーンを介して、部分的に管理または制御され得るように、少なくとも1つのこのようなAPIは外部化されたAPIである。動作中、NFVベースの制御プレーン506は、これらのインタフェースを介して、制御および構成情報(例えば、ルーティング・テーブル)を分散されたデータ・プレーンに提供する。
図5は、仮想マシンまたはコンテナ内でインスタンス化されたセキュア・エンクレーブ504内でホストされる制御プレーンの構成要素(ソフトウェア定義機能)を示すが、一方で、別のアプローチでは、セキュア・エンクレーブ内の仮想マシンまたはコンテナとしてインスタンス化されたソフトウェア定義機能を有する。
したがって、本開示によると、制御プレーンは、メモリ内ワークロード保護を用いて安全にホストされ、ロード時の整合性を保証し、かつ、例えば権限を有する攻撃者または悪意のある他のシステム・プロセスによる、(制御プレーンの)セキュリティ侵害に対してリアルタイムで保護する。制御プレーン機能に対してこのような保護を提供することができるセキュア・メモリ技術の限定的でない例は、Intel SGX、または、IBM Power9 SMF、あるいはその両方を含み、上述したように、これらは機密性の高いワークロードをこのクラスの攻撃から保護するよう設計されている。また上述のように、セキュア・プロセッサ技術のこのクラスにおいて提供されるセキュア・エンクレーブは、仮想マシンまたは、Dockerコンテナなどのコンテナの形態を取ることができる。このような方法で制御プレーンをホストすることによって、ハイパーコンバージド・ソフトウェア定義ネットワーク(SDN)に対する1つまたは複数のネットワーク機能仮想化(NFV)構成要素に、メモリ内保護が適用される。保護されたメモリ・エンクレーブもまた、Intel TXTおよびPower Secure Bootのような高信頼コンピューティングの基本機能によって提供されるロード時の暗号整合性(cryptographic integrity)確認を利用することができる。典型的な、ただし限定的でない実施形態において、このような方法で保護される典型的なNFV機能は、基本的なレイヤ2またはレイヤ3のルーティングまたはスイッチング、あるいはその両方、ファイアウォール、およびロード・バランシングを含む。
好ましくは、セキュア・エンクレーブは、限られたデバイス・ツリーを有するコンテナまたは仮想マシンの形態を取り、内部的な攻撃面を最小化する。この目的で、クラウド・コンピューティング環境はクライアント(テナント)レベルのパーティションを含む。クライアント・パーティション内では、クライアント/テナントが既知のメカニズム、例えばSSLを介したパスワード付きロギングによる、唯一のセキュア・アクセスを有する。さらに、分離したメモリ・パーティションがセキュア・エンクレーブとして確立され、制御プレーン(またはその構成要素)がこの後者のパーティション内に配置(またはダウンロード)される。一度初期化されると(例えば、セキュア・ブート・プロセスを通じて)、制御プレーンをホストするパーティションは、好ましくは、クライアント・アプリケーション・プログラミング・インタフェース(API)のみを介してクライアント・パーティションにアクセスできる。言い換えれば、好ましくは、コマンドおよびデータは、クライアントと制御プレーンとの間のみでクライアントAPIを介して交換され得る。このアプローチでは、好ましくは、APIは、クライアント・パーティションおよび制御プレーンをホストするパーティションの両方がアクセス可能な共有メモリ領域内で動作する。
図6は、本開示の技術に従って実装されるVMベースのSDNの例を示す。本例は、ネットワーク仮想化の完全な実装フレームワークを供給するネットワーク・オーバーレイ・ソリューションである、IBM Software Defined Network for Virtual Environments(SDN VE)を用いて実装される。SDN VEは、複数ハイパーバイザを有する、サーバを中心としたソリューションであり、IP接続を提供する任意の物理ネットワークの上に仮想ネットワークをオーバーレイさせる、複数のコンポーネントを含む。図示するように、SDN VEソリューション600は、4つの基本ソフトウェア・コンポーネントから成り、これらの組合せにより効果的なホスト・ベースのネットワーク仮想化を提供する。SDN VE Virtual Switch602は、ハイパーバイザ604内にあるソフトウェアである。これは、各仮想ネットワークの開始点および終点として機能し、いくつかのこのようなネットワーク601、603、および605が図示されている。SDN VE Virtual Switchは、UDPオーバーレイ上にレイヤ2およびレイヤ3のネットワーク仮想化を提供し、仮想ネットワークのデータ・パスを実装する。仮想スイッチはまた、仮想マシン(VM)アドレスの自動検出、VM移行、およびネットワーク・ポリシ設定をサポートするための制御プレーン機能を実施する。本開示によると、これらの制御プレーン機能のうち1つまたは複数が上述した方法でセキュア・エンクレーブ内にホストされる。接続サービス606は、VMアドレスをSDN VE仮想ネットワークに参加している仮想スイッチに配布する。接続サービス・ソフトウェアは、好ましくは、仮想アプライアンスのクラスタとして配備される。管理コンソール608は、SDN VEを設定するための制御の集約部である。これが、各仮想ネットワーク、制御ポリシ、および仮想スイッチへの配布ポリシを設定する。また、これは、管理者が個々の仮想ネットワークを管理するのに役立つ。好ましくは、管理コンソール・ソフトウェアは仮想アプライアンスとしてサーバ上に常駐する。最後に、VLANベースおよびIPベースのゲートウェイ610は、SDN VEが、SDN VE環境の外部にあるネットワークおよびサーバとの相互運用性を確立することを可能とする。レイヤ2ネットワークに対しては、SDN VEはVLANベースのゲートウェイを提供する。レイヤ3ネットワークに対しては、当該ソフトウェアはIPベースのゲートウェイを提供する。
SDNには、オーバーレイおよびネイティブの、2つのアーキテクチャ・モデルがある。オーバーレイSDNでは、SDNは既存IPネットワークの最上位に配備される、Openflow SDNでは、ルータ・アプライアンスは、レイヤ2のデータ転送スイッチおよび、例えばOpenFlow通信プロトコルを用いてレイヤ2スイッチにアクセスするネットワーク制御ソフトウェアに置き換えられる。
上述したように、SDNは、仮想マシンのアプローチの代わりにDockerコンテナを用いて実装されてもよい。
本開示の技術は、制御プレーンがデータ・プレーンと切り離され、かつセキュア・エンクレーブ内でホストされ、APIを用いて、両者の間で制限された通信を可能とするとき、大きな利益を供与する。上述したように、本明細書に記載のアプローチは、1つまたは複数の制御ブレーン機能に対して、先進的なハードウェア・ルーティングされた、メモリ内のワークロード保護を使用し、ロード時における整合性を保証し、かつ、権限のある攻撃者またはシステム・プロセスによるセキュリティ侵害からリアルタイムに保護する。このように、システム・レベルのプロセスまたは、ハイパーバイザもしくはオペレーティング・システムのルート・ユーザは、メモリのコンテンツを読み取りまたは変更することができず、それによって、重要な制御プレーン構成要素を保護する。本明細書に記載の、セキュア・プロセッサにおけるセキュア・エンクレーブ内の制御プレーンを保護するアプローチは、したがって、高レベルのシステム機能仮想化によって起こりかねない(例えば、攻撃者による)いかなるシステム規模の稼働停止またはセキュリティ侵害の発生をも防止する。記載したように、本アプローチは、制御プレーン構成要素およびデータ(例えば、ルーティング・テーブル)の機密性および整合性を、物理的な攻撃からだけでなく、権限のあるソフトウェアを含むシステムの部分上の他の全てのソフトウェアからも、また、権限のあるソフトウェアに感染してルート権限を奪取し得るマルウェアからも保護する、セキュアCPU技術を適宜活用する。さらに、NFV制御プレーン機能と分散データ・プレーンとの間の接続を提供するために必要なAPIが外部化されるため、サード・パーティのネットワーキング・ベンダが付加価値のある追加的なネットワークおよびセキュリティ機能を提供することが可能となっている。ここで説明したセキュア・エンクレーブ・アーキテクチャは、これらのパートナが、システムにネイティブなサービスに加えて独自の付加価値型サービスの整合性保証を得ることを可能にする。
本明細書に記載の本アプローチは、主にNFVの文脈で説明されたが、これは限定を意図するものではなく、セキュア・エンクレーブを使用してソフトウェア定義機能をホストする本アプローチは、ストレージ管理、電力管理、仮想マシンおよびコンテナのオーケストレーション、ならびにそれらの組合せを含む、他の制御機能に拡大適用することができる。
より一般的には、開示された主題の文脈におけるコンピューティング・デバイスは、それぞれ、ハードウェアおよびソフトウェアを含むデータ処理システムであり、これらのエンティティが、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、またはその他の何らかの通信媒体またはリンクなどのネットワークを介して、互いに通信する。データ処理システム上のアプリケーションは、ウェブおよびその他の既知のサービスに対するネイティブ・サポート、ならびに、中でもHTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI、およびWSFLを含むがこれに限定されない、プロトコルを提供する。SOAP、WSDL、UDDI、およびWSFLに関する情報は、これらの標準の開発および維持を担うWorld Wide Web Consortium(W3C)から入手可能であり、HTTP、FTP、SMTPおよびXMLに関するさらなる情報は、Internet Engineering Task Force(IETF)から入手可能である。これらの既知の標準およびプロトコルを熟知しているものとみなす。
本明細書に記載する技術は、単純なn層アーキテクチャ、ウェブ・ポータル、フェデレーティッド・システムなどを含む様々なデータセンタ・アーキテクチャ内に、またはこれらと併用して、実装され得る。本明細書に記載する技術はまた、プライベート、パブリック、またはハイブリッドであるかにかかわらず、疎結合サーバ(「クラウド」ベースを含む)環境において実施され得る。
さらに一般的には、本明細書に記載の主題は、完全にハードウェアによる実施形態、完全にソフトウェアによる実施形態、または、ハードウェアとソフトウェアのどちらの構成要素も含む実施形態の形態を取ることができる。好ましい実施形態では、高信頼プラットフォーム・モジュール機能が、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されない、ソフトウェアによって実装される。さらに、ダウンロードおよび削除のインタフェースならびに機能性は、コンピュータまたは任意の命令実行システムによって、またはこれに関連して、ユーザにプログラム・コードを提供するコンピュータ使用可能またはコンピュータ可読媒体からアクセス可能な、コンピュータ・プログラム製品の形態を取ることができる。このことを目的として、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはこれに関連して、使用するプログラムを含むか、格納することができる任意の装置であってよい。この媒体は、電子的、磁気的、光学的、電磁気、赤外線、または、半導体のシステム(または、装置もしくはデバイス)であってよい。コンピュータ可読媒体の例は、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、固定磁気ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク−読み出し専用メモリ(CD−ROM)、コンパクト・ディスク−読み出し/書き込み(CD−R/W)およびDVDを含む。コンピュータ可読媒体は、有形で、非一過性の製品である。
コンピュータ・プログラム製品は、前記機能のうち1つまたは複数を実装するためのプログラム命令(またはプログラム・コード)を有する製品であってよい。これらの命令またはコードは、リモート・データ処理システムからネットワークを介してダウンロードされた後に、データ処理システム内の非一過性のコンピュータ可読ストレージ媒体に格納され得る。あるいは、これらの命令またはコードは、サーバ・データ処理システム内のコンピュータ可読ストレージ媒体に格納され、リモート・システム内のコンピュータ可読ストレージ媒体において使用するために、リモート・データ処理システムにネットワークを介してダウンロードされるように適用され得る。
典型的な実施形態では、セキュリティ・マネージャが特殊用途のコンピューティング・プラットフォームに実装され、好ましくは、1つまたは複数のプロセッサによって実行されるソフトウェアに実装される。ソフトウェアは、1つまたは複数のデータ・ストア、あるいは1つまたは複数のプロセッサに関連するメモリにおいて維持され、当該ソフトウェアは、1つまたは複数のコンピュータ・プログラムとして実装され得る。併せて、この特殊用途のハードウェアおよびソフトウェアは上述した機能性を含む。
上記に、本発明の特定の実施形態によって実施される動作の特定の順序を説明したが、このような順序は例示的なものであって、代わりの実施形態が異なる順序で、特定動作を組み合わせて、または、特定の動作を重複させるなどして、動作を実施してもよいことを理解するべきである。本明細書における所与の実施形態の参照は、説明された実施形態が特定の機能、構造、または特徴を含むことができる一方、全ての実施形態が特定の機能、構造、または特徴を必ずしも含む必要がないことを意味する。
最後に、システムの所与のコンポーネントを別々に説明したが、当業者は、当該機能のいくつかが、所与の命令、プログラム・シーケンス、コードの一部などにおいて組み合わされ、または共有されてもよいことを理解するであろう。
本明細書に記載の技術は、一般的に、技術または技術分野に対して上述した改善を供与し、また、上述したようなワークロード管理スキームの具体的な技術的改善を供与する。
上述した本発明を元に、以下に示す権利を請求する。

Claims (24)

  1. セキュア・プロセッサ・ベースのクラウド・コンピューティング環境において情報を保護するための方法であって、
    前記セキュア・プロセッサ・ベースのクラウド・コンピューティング環境内にセキュア・エンクレーブをインスタンス化することと、
    前記クラウド・コンピューティング環境内で高い権限レベルで実行する1つまたは複数のプロセスから制御プレーンが保護されるように、前記セキュア・エンクレーブ内で、ソフトウェア定義機能の制御プレーンをホストすることであって、前記制御プレーンが、前記セキュア・エンクレーブの外部に配置された、関連するデータ・プレーンを有する、前記ホストすることと、
    前記セキュア・エンクレーブ内の前記制御プレーンと、前記セキュア・エンクレーブの外部に配置された前記データ・プレーンとの間に接続性を提供することと、
    前記セキュア・エンクレーブ内から前記ソフトウェア定義機能の前記制御プレーンを実行することと
    を含む、方法。
  2. 前記セキュア・エンクレーブが、仮想マシンおよびコンテナのうちの1つの中でインスタンス化される、請求項1に記載の方法。
  3. 前記ソフトウェア定義機能が、前記セキュア・エンクレーブ内の仮想マシンまたはコンテナとしてインスタンス化される、請求項1に記載の方法。
  4. 前記ソフトウェア定義機能が、ネットワーク機能、ストレージ機能、電力機能、ならびに、仮想マシンおよびコンテナのオーケストレーション機能のうちの1つの仮想機能である、請求項1に記載の方法。
  5. 前記ネットワーク機能が、ルータ、スイッチ、ファイアウォール、およびロード・バランサのうちの1つである、請求項4に記載の方法。
  6. 前記ソフトウェア定義機能の前記制御プレーンのロード時における前記セキュア・エンクレーブの整合性を検証することをさらに含む、請求項1に記載の方法。
  7. 外部化されたアプリケーション・プログラミング・インタフェース(API)を介して接続性が提供される、請求項1に記載の方法。
  8. 前記ソフトウェア定義機能の前記制御プレーンによって生成された制御データが、前記APIを介して前記データ・プレーンに渡され、ソフトウェア定義ネットワーク(SDN)内の安全なネットワーク機能仮想化(NFV)を促進する、ルーティング・テーブルを含む、請求項7に記載の方法。
  9. セキュア・プロセッサ・ベースのクラウド・コンピューティング環境において情報を保護するための装置であって、
    1つまたは複数のハードウェア・プロセッサと、
    前記ハードウェア・プロセッサによって実行されるコンピュータ・プログラム命令を保持するコンピュータ・メモリと
    を含み、前記コンピュータ・プログラム命令が、
    前記セキュア・プロセッサ・ベースのクラウド・コンピューティング環境内にセキュア・エンクレーブをインスタンス化することと、
    前記クラウド・コンピューティング環境内で高い権限レベルで実行するプロセスから制御プレーンが保護されるように、前記セキュア・エンクレーブ内でソフトウェア定義機能の制御プレーンをホストすることであって、前記制御プレーンが、前記セキュア・エンクレーブの外部に配置された、関連するデータ・プレーンを有する、前記ホストすることと、
    前記セキュア・エンクレーブ内の前記制御プレーンと、前記セキュア・エンクレーブの外部に配置された前記データ・プレーンとの間に接続性を提供することと、
    前記セキュア・エンクレーブ内から前記ソフトウェア定義機能の前記制御プレーンを実行することと
    を行うように構成される、装置。
  10. 前記セキュア・エンクレーブが、仮想マシンおよびコンテナのうちの1つの中でインスタンス化される、請求項9に記載の装置。
  11. 前記ソフトウェア定義機能が、前記セキュア・エンクレーブ内の仮想マシンまたはコンテナとしてインスタンス化される、請求項9に記載の装置。
  12. 前記ソフトウェア定義機能が、ネットワーク機能、ストレージ機能、電力機能、ならびに、仮想マシンおよびコンテナのオーケストレーション機能のうちの1つの仮想機能である、請求項9に記載の装置。
  13. 前記ネットワーク機能が、ルータ、スイッチ、ファイアウォール、およびロード・バランサのうちの1つである、請求項12に記載の装置。
  14. 前記コンピュータ・プログラム命令が、前記ソフトウェア定義機能の前記制御プレーンのロード時における前記セキュア・エンクレーブの整合性を検証するように、さらに構成される、請求項9に記載の装置。
  15. 接続性を提供するように構成された前記コンピュータ・プログラム命令が、1つまたは複数の外部化されたアプリケーション・プログラミング・インタフェース(API)である、請求項9に記載の装置。
  16. 前記ソフトウェア定義機能の前記制御プレーンによって生成された制御データが、前記APIを介して前記データ・プレーンに渡され、ソフトウェア定義ネットワーク(SDN)内の安全なネットワーク機能仮想化(NFV)を促進する、ルーティング・テーブルを含む、請求項15に記載の装置。
  17. セキュア・プロセッサ・ベースのクラウド・コンピューティング環境内で情報を保護するために、データ処理システム内で使用するための、非一過性のコンピュータ可読媒体中のコンピュータ・プログラム製品であって、
    前記コンピュータ・プログラム製品が、前記データ処理システム内で実行されるコンピュータ・プログラム命令を保持し、前記コンピュータ・プログラム命令が、
    前記セキュア・プロセッサ・ベースのクラウド・コンピューティング環境内にセキュア・エンクレーブをインスタンス化することと、
    前記クラウド・コンピューティング環境内で高い権限レベルで実行するプロセスから前記制御プレーンが保護されるように、前記セキュア・エンクレーブ内でソフトウェア定義機能の制御プレーンをホストすることであって、前記制御プレーンが、前記セキュア・エンクレーブの外に配置された関連するデータ・プレーンを有する、前記ホストすることと、
    前記セキュア・エンクレーブ内の前記制御プレーンと、前記セキュア・エンクレーブの外に配置された前記データ・プレーンとの間の接続性を提供することと、
    前記ソフトウェア定義機能の前記制御プレーンを前記セキュア・エンクレーブ内から実行することと
    を行うように構成される、コンピュータ・プログラム製品。
  18. 前記セキュア・エンクレーブが、仮想マシン、および、コンテナのうちの1つの中でインスタンス化される、請求項17に記載のコンピュータ・プログラム製品。
  19. 前記ソフトウェア定義機能が、前記セキュア・エンクレーブ内部の仮想マシンまたはコンテナとしてインスタンス化される、請求項17に記載のコンピュータ・プログラム製品。
  20. 前記ソフトウェア定義機能が、ネットワーク機能、ストレージ機能、電力機能、ならびに、仮想マシンおよびコンテナのオーケストレーション機能のうちの1つの仮想機能である、請求項17に記載のコンピュータ・プログラム製品。
  21. 前記ネットワーク機能が、ルータ、スイッチ、ファイアウォール、およびロード・バランサのうちの1つである、請求項20に記載のコンピュータ・プログラム製品。
  22. 前記コンピュータ・プログラム命令が、前記ソフトウェア定義機能の前記制御プレーンのロード時における前記セキュア・エンクレーブの整合性を検証するように、さらに構成される、請求項17に記載のコンピュータ・プログラム製品。
  23. 接続性を提供するように構成された前記コンピュータ・プログラム命令が、1つまたは複数の外部化されたアプリケーション・プログラミング・インタフェース(API)である、請求項17に記載のコンピュータ・プログラム製品。
  24. 前記ソフトウェア定義機能の前記制御プレーンによって生成された制御データが、前記APIを介して前記データ・プレーンに渡され、ソフトウェア定義ネットワーク(SDN)内の安全なネットワーク機能仮想化(NFV)を促進する、ルーティング・テーブルを含む、請求項23に記載のコンピュータ・プログラム製品。
JP2020522703A 2017-10-25 2018-10-18 セキュア・プロセッサ・ベースのクラウド・コンピューティング環境において情報を保護するための方法、装置、およびコンピュータ・プログラム Active JP7110339B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/793,432 2017-10-25
US15/793,432 US10872145B2 (en) 2017-10-25 2017-10-25 Secure processor-based control plane function virtualization in cloud systems
PCT/EP2018/078626 WO2019081348A1 (en) 2017-10-25 2018-10-18 VIRTUALIZATION OF CONTROL PLANE FUNCTION BASED ON A SECURE PROCESSOR IN CLOUD SYSTEMS

Publications (3)

Publication Number Publication Date
JP2021500669A true JP2021500669A (ja) 2021-01-07
JP2021500669A5 JP2021500669A5 (ja) 2021-02-18
JP7110339B2 JP7110339B2 (ja) 2022-08-01

Family

ID=63965665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020522703A Active JP7110339B2 (ja) 2017-10-25 2018-10-18 セキュア・プロセッサ・ベースのクラウド・コンピューティング環境において情報を保護するための方法、装置、およびコンピュータ・プログラム

Country Status (5)

Country Link
US (1) US10872145B2 (ja)
JP (1) JP7110339B2 (ja)
DE (1) DE112018004210T5 (ja)
GB (1) GB2581717A (ja)
WO (1) WO2019081348A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126699B2 (en) * 2018-02-07 2021-09-21 Nec Corporation Replica trusted execution environment: enabling seamless replication of trusted execution environment (TEE)-based enclaves in the cloud
US10949238B2 (en) * 2018-12-05 2021-03-16 Vmware, Inc. Decoupling compute and storage resources in cloud-based HCI (hyper-converged infrastructure)
US20200401436A1 (en) * 2019-06-18 2020-12-24 Tmrw Foundation Ip & Holding S. À R.L. System and method to operate 3d applications through positional virtualization technology
US10917288B2 (en) * 2019-06-25 2021-02-09 Bank Of America Corporation Adaptive edge-shift for enterprise contingency operations
JP7327057B2 (ja) 2019-09-30 2023-08-16 日本電気株式会社 コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム
US11288018B2 (en) * 2020-03-25 2022-03-29 Verizon Patent And Licensing Inc. Method and system for deploying a virtual distributed unit on a network device
US11057274B1 (en) * 2020-04-09 2021-07-06 Verizon Patent And Licensing Inc. Systems and methods for validation of virtualized network functions
US11763015B2 (en) * 2020-07-14 2023-09-19 Sympatic, Inc. Securely processing shareable data utilizing a vault proxy
CN114244724B (zh) * 2021-11-24 2023-08-29 中盈优创资讯科技有限公司 一种城域网控制平面向容器化演进的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003747A (ja) * 2010-06-21 2012-01-05 Intel Corp 複数の仮想マシンで共有されるネットワークインターフェースのための方法
JP2015103933A (ja) * 2013-11-25 2015-06-04 学校法人東京電機大学 ネットワーク制御システム及び方法
WO2016086991A1 (en) * 2014-12-04 2016-06-09 Nokia Solutions And Networks Management International Gmbh Steering of virtualized resources
WO2016181423A1 (en) * 2015-05-11 2016-11-17 Nec Corporation Communication apparaus, system, method, and program
US20170054696A1 (en) * 2014-09-03 2017-02-23 Amazon Technologies, Inc. Securing service control on third party hardware

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447872B2 (en) * 2002-05-30 2008-11-04 Cisco Technology, Inc. Inter-chip processor control plane communication
US7224668B1 (en) * 2002-11-27 2007-05-29 Cisco Technology, Inc. Control plane security and traffic flow management
US7606140B2 (en) * 2003-08-28 2009-10-20 Alcatel Lucent Distributed and disjoint forwarding and routing system and method
US7990993B1 (en) * 2008-02-20 2011-08-02 Juniper Networks, Inc. Platform-independent control plane and lower-level derivation of forwarding structures
US8954752B2 (en) 2011-02-23 2015-02-10 International Business Machines Corporation Building and distributing secure object software
US8578175B2 (en) 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
US8832465B2 (en) * 2012-09-25 2014-09-09 Apple Inc. Security enclave processor for a system on a chip
US8438631B1 (en) 2013-01-24 2013-05-07 Sideband Networks, Inc. Security enclave device to extend a virtual secure processing environment to a client device
US8448238B1 (en) 2013-01-23 2013-05-21 Sideband Networks, Inc. Network security as a service using virtual secure channels
EP3162017B1 (en) * 2014-06-30 2021-11-24 Alcatel Lucent Security in software defined network
US10491594B2 (en) * 2014-08-22 2019-11-26 Nokia Technologies Oy Security and trust framework for virtualized networks
US9442752B1 (en) * 2014-09-03 2016-09-13 Amazon Technologies, Inc. Virtual secure execution environments
US9684608B2 (en) * 2014-10-28 2017-06-20 Intel Corporation Maintaining a secure processing environment across power cycles
US9578008B2 (en) * 2015-05-11 2017-02-21 Intel Corporation Technologies for secure bootstrapping of virtual network functions
US9742790B2 (en) * 2015-06-16 2017-08-22 Intel Corporation Technologies for secure personalization of a security monitoring virtual network function
US10528721B2 (en) * 2016-10-20 2020-01-07 Intel Corporation Trusted packet processing for multi-domain separatization and security
US10277535B2 (en) * 2017-03-31 2019-04-30 Hewlett Packard Enterprise Development Lp Network switch systems including logical switches

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003747A (ja) * 2010-06-21 2012-01-05 Intel Corp 複数の仮想マシンで共有されるネットワークインターフェースのための方法
JP2015103933A (ja) * 2013-11-25 2015-06-04 学校法人東京電機大学 ネットワーク制御システム及び方法
US20170054696A1 (en) * 2014-09-03 2017-02-23 Amazon Technologies, Inc. Securing service control on third party hardware
WO2016086991A1 (en) * 2014-12-04 2016-06-09 Nokia Solutions And Networks Management International Gmbh Steering of virtualized resources
WO2016181423A1 (en) * 2015-05-11 2016-11-17 Nec Corporation Communication apparaus, system, method, and program

Also Published As

Publication number Publication date
JP7110339B2 (ja) 2022-08-01
US20190121960A1 (en) 2019-04-25
DE112018004210T5 (de) 2020-04-30
CN111164571A (zh) 2020-05-15
US10872145B2 (en) 2020-12-22
WO2019081348A1 (en) 2019-05-02
GB202006882D0 (en) 2020-06-24
GB2581717A (en) 2020-08-26

Similar Documents

Publication Publication Date Title
JP7110339B2 (ja) セキュア・プロセッサ・ベースのクラウド・コンピューティング環境において情報を保護するための方法、装置、およびコンピュータ・プログラム
US10680946B2 (en) Adding multi-tenant awareness to a network packet processing device on a software defined network (SDN)
US11044236B2 (en) Protecting sensitive information in single sign-on (SSO) to the cloud
US11775327B2 (en) Multiple single levels of security (MSLS) in a multi-tenant cloud
Padhy et al. Cloud computing: security issues and research challenges
US9553850B2 (en) Multi-tenant secure separation of data in a cloud-based application
Aiash et al. Secure live virtual machines migration: issues and solutions
Sabahi Virtualization-level security in cloud computing
US20170005990A1 (en) Systems, Methods and Computer Readable Medium To Implement Secured Computational Infrastructure for Cloud and Data Center Environments
US11327782B2 (en) Supporting migration of virtual machines containing enclaves
Shtern et al. An architecture for overlaying private clouds on public providers
Ristov et al. Security evaluation of open source clouds
Yao et al. CryptVMI: A flexible and encrypted virtual machine introspection system in the cloud
Alouane et al. Virtualization in cloud computing: NoHype vs HyperWall new approach
US20220070225A1 (en) Method for deploying workloads according to a declarative policy to maintain a secure computing infrastructure
Upadhyay et al. Secure live migration of VM's in Cloud Computing: A survey
US11385946B2 (en) Real-time file system event mapping to cloud events
Rathod et al. Secure live vm migration in cloud computing: A survey
CN111164571B (zh) 云系统中的基于安全处理的控制平面功能虚拟化
Vijaya Bharati et al. Data storage security in cloud using a functional encryption algorithm
Hou et al. Enabling user-policy-confined vm migration in trusted cloud computing
US20230421549A1 (en) Secure scalable bi-directional command and control across networks
US20230418650A1 (en) System and method for sharing secret with an agent running in a virtual computing instance
Londhe et al. Imperial Analysis of Threats and Vulnerabilities in Cloud Computing.
Cushman et al. Designing Hybrid Cloud Computing Framework using OpenStack for Supporting Multimedia with Security and Privacy

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220304

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220720

R150 Certificate of patent or registration of utility model

Ref document number: 7110339

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150