JP2014529272A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2014529272A5 JP2014529272A5 JP2014533394A JP2014533394A JP2014529272A5 JP 2014529272 A5 JP2014529272 A5 JP 2014529272A5 JP 2014533394 A JP2014533394 A JP 2014533394A JP 2014533394 A JP2014533394 A JP 2014533394A JP 2014529272 A5 JP2014529272 A5 JP 2014529272A5
- Authority
- JP
- Japan
- Prior art keywords
- secure
- operating system
- guest
- guest operating
- support system
- 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
Links
- 238000004891 communication Methods 0.000 claims description 102
- 230000015654 memory Effects 0.000 claims description 8
- JOXIMZWYDAKGHI-UHFFFAOYSA-M toluene-4-sulfonate Chemical compound CC1=CC=C(S([O-])(=O)=O)C=C1 JOXIMZWYDAKGHI-UHFFFAOYSA-M 0.000 claims 2
- 230000026676 system process Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 29
- 230000004048 modification Effects 0.000 description 6
- 238000006011 modification reaction Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2S)-2-[[(2S)-6-amino-2-[[(2S)-6-amino-2-[[(2S,3R)-2-[[(2S,3R)-2-[[(2S)-6-amino-2-[[(2S)-2-[[(2S)-6-amino-2-[[(2S)-2-[[(2S)-2-[[(2S)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 2
- 230000001413 cellular Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 2
- 230000003287 optical Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000004568 cement Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 235000010384 tocopherol Nutrition 0.000 description 1
- 235000019731 tricalcium phosphate Nutrition 0.000 description 1
Description
セキュア通信を適切に構成することは、多くの状況において困難である場合がある。例えば、セキュア通信プロトコル(例えば、セキュアなソケット層(SSL)およびトランスポート層セキュリティ(LLS)プロトコル)を、オペレーティングシステム内において構成することができる。オペレーティングシステム内においてプロトコルを構成するためには、認証機関からの証明および/またはセキュア通信のベースを形成する鍵対を構成する必要がある。このようなオペレーティングシステムの構成は困難であるばかりでなく、各プロトコル実行、オペレーティングシステムおよび/またはアプリケーションは、セキュア通信へのアクセスのために異なる構成要求(例えば、暗号機能)を持ち得る。異なる構成要求は実行するのが困難であるだけでなく、オペレーティングシステムまたはアプリケーションが適切に強化されていない場合、侵入者によるサーバの障害に起因して、証明および/または秘密鍵が損失する危険性が生じる。秘密鍵の損失が生じた場合、鍵が侵入者によって使用される可能性が生じるため、セキュア通信の暗号による恩恵における信頼性が失われる。
オペレーティングシステム構成から暗号法の負荷を無くそうとする試みが行われてきた結果、いくつかのアプリケーションプログラミングインターフェースが得られている。例えば、鍵そのものをゲストオペレーティングシステムへ晒すことなく暗号プリミティブを露出させるために、公開鍵暗号標準PKCS#11が仮想マシン内において用いられている。しかし、この解決法の場合、PKCS#11を用いるための要求がソフトウェアによって異なるため、構成が困難になり得る。セキュア通信の利用を有効に簡略化するために多様な技術が用いられているものの、タスクの複雑性に起因して、用いられる技術の成功においてばらつきがある。
以下の記載において、多様な実施形態について説明する。説明目的のため、実施形態の深い理解のために、特定の構成および詳細について説明する。しかし、当業者にとっては、これらの実施形態は特定の詳細無しに実行することが可能であることが明らかであろう。さらに、周知の特徴については、実施形態の説明を不明瞭にしないために、省略または簡略化する場合がある。
本明細書中に記載および提案される技術は、ゲストオペレーティングシステムの代わりであるサポートシステムにおけるセキュア通信を実行するためのシステムおよび方法を含む。例えば、仮想化環境中のサポートシステム(例えば、ハイパーバイザ)は、ホスト上の1つ以上のゲストオペレーティングシステムのうちのゲストオペレーティングシステムの代わりに、通信について交渉、暗号化および復号化することができる。1つ以上のゲストオペレーティングシステムの通常の管理義務のうち最上位において、ハイパーバイザは、宛先コンピューティングシステムとゲストオペレーティングシステムとの間のメッセージも処理し得る。ハイパーバイザは、ゲストオペレーティングシステムを特定する認証情報を用いて、宛先コンピューティングシステムと共にセキュア通信チャンネルを生成および維持し得る。セキュア通信チャンネルが開いている間、ハイパーバイザは、関連付けられた鍵、秘密および他の状態情報を各セキュア通信セッションについて保存し得る。各入来通信または発出通信の経路設定を調査することにより、ハイパーバイザは、通信の処理に用いることが可能な状態(例えば、通信の暗号化または復号化)を整合させることができる。ハイパーバイザによるメッセージの処理により、セキュア通信をゲストオペレーティングシステムに対してトランスペアレントとすることができる。例えば、ゲストオペレーティングシステムは、ハイパーバイザによって取得されホストから出る前に暗号化される復号化メッセージを仮想ドライバを通じて送り得る。セキュア通信を提供することにより、ハイパーバイザは、ゲストオペレーティングシステムの秘密をゲストオペレーティングシステムの障害から保護し、また、ゲストオペレーティングシステムの構成の負荷を低減することができる。また、セキュア通信により、メッセージのインテグリティ、真正性および/または機密性の恩恵も得られる。
図1に示す環境100の一例において、サポートシステム内におけるセキュア通信の実行を少なくとも1つの実施形態に従って行うことができる。物理的マシン104上のハイパーバイザ102は、ゲストオペレーティングシステム106にサービス提供し得る。ゲストオペレーティングシステム106は、他のコンピューティングデバイス(例えば、ラップトップ108、デスクトップ110およびモバイルデバイス112(例えば、携帯電話))とのメッセージの送受信を行い得る。例えば、図2〜図4は、セキュアメッセージの送信および/または受信に用いることが可能なプロセスの例示を示す。ハイパーバイザ102は、コンピューティングデバイス108、110および112とセキュアな接続について交渉し、各セキュアな接続と関連付けられた状態情報114を保存することができる。クリアテキストメッセージ120(またはゲストオペレーティングシステム106内において実行するより高レベルのアプリケーションによって暗号化されたメッセージ)は、ゲストオペレーティングシステム106によって送信され得、ハイパーバイザ102によって取得され得る。ハイパーバイザ102は、ゲストオペレーティングシステム106および宛先コンピューティングデバイスと関連付けられた状態情報114を用いて、セキュアメッセージ122をクリアテキストメッセージ120から作成し得る。その後、セキュアメッセージ122は、宛先コンピューティングデバイス108、110および112へと送られ得る。
入来セキュアメッセージも、ハイパーバイザによって処理され得る。入来セキュアメッセージ122がハイパーバイザによって調査されることにより、宛先ゲストオペレーティングシステムと、ソースコンピューティングデバイス108、110および112とが決定され得る。決定された宛先およびソースを用いて、その後、ハイパーバイザ102は、関連付けられた状態情報114を用いて、クリアテキストメッセージ120の作成および/またはセキュアメッセージ122のインテグリティの確認を行い得る。その後、クリアテキストメッセージ120がゲストオペレーティングシステム106へと送られ得る。
ハイパーバイザ102について、ゲストオペレーティングシステムのためのサポートシステムの一例として述べてきたが、他の構成も可能である(例えば、他のハードウェアおよび/またはソフトウェア実行)。ハイパーバイザは、ゲストオペレーティングシステムに対する仮想化サポートシステム(例えば、Xen(登録商標)システム中のDom0、Hyper−Vシステム中の親パーティション、および仮想化システムによって提供されるサービス)としてみなすことができる。一実施形態において、セキュリティコンポーネント(例えば、暗号プロセッサまたはハードウェアセキュリティモジュール(HSM))を用いることができる。複数のゲストオペレーティングシステムが106がHSMによってサポートされているかに応じて、ハイパーバイザは、HSMおよびゲストオペレーティングシステムとの通信を促進し得る。例えば、ハイパーバイザ102は、セキュアメッセージをゲストオペレーティングシステム宛先と共にHSMへと経路設定し得る。その後、HSMから受信されたクリアテキストメッセージがハイパーバイザ102によって受信され、ゲストオペレーティングシステム106へと経路設定され得る。別の実施形態において、サポートシステムは、仮想化ドライバであり得る。仮想化ドライバにより、ハッシュメッセージ認証コード(HMAC)および暗号化の利用を通じて、セキュアな接続の恩恵を得ることができる(例えば、メッセージインテグリティ、真正性および機密性)。例えば、ゲストオペレーティングシステムによる仮想化ドライバの使用は、セキュアな接続の使用を示し得る。ドライバは、HMACおよび暗号化発出メッセージに署名し得る。HMACは、メッセージインテグリティおよび機関を証明することができる。なぜならば、メッセージに署名できるのは秘密鍵の所有者だけであり、署名によってもハッシュ関数を通じてメッセージのインテグリティが確認されるからである。暗号化された後は、メッセージの秘密が合理的に保持されているものとみなすことができる。別の実施形態において、サポートシステム(単数または複数)により、ゲストシステム(例えば、オペレーティングシステムがコンピュータシステムのハードウェア上において直接実行しているコンピュータシステム)のためのセキュア通信が可能になる。例えば、サポートシステムは、コンピューティングリソースであり得、他のコンピューティングリソースであり得るゲストシステムの代わりに、メッセージを受信する。コンピューティングシステムは、クリアテキストメッセージをゲストシステムから受信し、これらのメッセージをセキュアなプロトコルによって送信できるように処理する。受信されたメッセージを処理して、クリアテキストとして宛先ゲストシステムへと送る。1つの利点として、アクセスしている認証情報からゲストシステムを保護できる点がある。例えば、ユーザが認証情報へのアクセスを許可する設定を選択しない限り、ゲストシステムは認証情報へ直接アクセスすることはできない。いくつかの実施形態において、サービスプロバイダのみが認証情報へアクセスすることができ、ゲストシステムはアクセスすることができない。
クリアテキストメッセージは信頼境界を残さないため、少なくともいくつかの状況において、メッセージがセキュアであるかについて検討する必要があり得る。信頼境界は、全てのサブシステムが信頼性を有するシステムにより、定義され得る。クリアテキストメッセージは、物理的マシン境界においてまたはHSMへの信頼性のある接続を介して作成されるため、クリアテキストメッセージは、信頼性のあるコンピューティングデバイス(例えば、ネットワークデバイス)の境界を残さない場合がある。ゲストオペレーティングシステムがサポートシステムよりもセキュアではないと見なされた場合(例えば、アプリケーションまたはシステムが常に展開している場合)、秘密は、実際はサポートシステムにおいてよりセキュアであるとみなされ得る。例えば、アプリケーションが脆弱性を持つ場合、この脆弱性を侵入者が利用して、ゲストオペレーティングシステム内へ侵入する場合がある。しかし、プライベート情報はハイパーバイザに保存されているため、侵入者はプライベート情報(例えば、秘密鍵)にアクセスすることはできない。なぜならば、プライベート情報は、ゲストオペレーティングシステムからはアクセスできないからである。いくつかの実施形態において、ゲストオペレーティングシステムにアクセスできるのは、ユーザのみであり得る。なぜならば、ハイパーバイザおよび他のコンピューティングリソースは、エンティティによって管理されている場合があるからである。エンティティが強化システムにおいてユーザよりも経験が長い場合、ユーザは、エンティティにプライベート情報およびセキュアな接続を管理してもらうことを望み得る。
セキュアな通信の責任をゲストオペレーティングシステムからサポートシステム(例えば、ハイパーバイザ)へと移した場合、いくつかの利点が実現され得る。例えば、セキュア通信のオペレーティングシステムへの依存性を無くすことができる。セキュア通信をハイパーバイザによって実行することにより、多様なバージョンおよびブランドのゲストオペレーティングシステムがセキュア通信を利用することが可能になる。セキュア通信プロトコルのバージョンは、ハイパーバイザにおいて更新することができ、ゲストオペレーティングシステムへの影響も低減する。セキュア通信構成の複雑性増加または矛盾の可能性をほとんど引き起こすことなく、ゲストオペレーティングシステムを更新することができる。サポートシステムにおける実行により、自動化がより実際的になり得る。ハイパーバイザの構成は複数のホスト上において類似しているため、ゲストオペレーティングシステム間の差が同じではない場合でも、自動化は、ハイパーバイザをターゲットとするだけでよい。セキュア通信の自動構成(例えば、SSLおよび/またはTLS)が望ましい。なぜならば、このような自動構成により、サーバ管理者は、サーバの手動での構成を自身で学ばなくて済む。アプリケーションプログラミングインターフェース(API)自動化によるSSL/TLSのイネーブルおよび/または証明および他の秘密のリサイクルも、自動化によってイネーブルされ得る。自動化により、セキュア通信を最小の構成で開発者に対してよりトランスペアレントとすることができる。なぜならば、クリアテキストによって送られるメッセージは、(ゲストオペレーティングシステムではなく)サポートシステムによってセキュアされるからである。例えば、開発者は、通信チャンネル(例えば、ドライバ、アダプタ、IPアドレスまたはゲストオペレーティングシステム上において視認可能なポート)を用いて通信してセキュア通信をリクエストせよと、アプリケーションに命令するだけでよい。サポートシステム(例えば、ハイパーバイザ)は、チャンネルを通じてメッセージを受信し、アプリケーションによって指定された宛先デバイスとのセキュア通信をゲストオペレーティングシステム上において実行することができる。セキュア通信機能をサポート層へ移すことによる他の利点を非限定的に挙げると、任意のアプリケーション特有の再構成または変更(暗号アジリティ)の必要無くプロトコルをその場で更新できる点、オペレーティングシステムまたはアプリケーション特有のサポートを必要とすることなく任意のハードウェア暗号加速を標準的方法でレバレッジできる点がある。
一実施形態において、図1に示すようなホストマシン上のハイパーバイザは、ゲストオペレーティングシステムの代わりに、セキュア通信プロセス200を通じて通信をセキュアにし得る。プロセス200のうち一部または全て(または本明細書中に記載の他の任意のプロセスまたはその変更例および/または組み合わせ)を、1つ以上のコンピュータシステムの制御下において行うことができる。これら1つ以上のコンピュータシステムは、実行可能な命令によって構成され、1つ以上のプロセッサ上において集合的に実行するか、ハードウェアによって集合的に実行するかまたはその組み合わせによって集合的に実行するコードとして実行することができる(例えば、実行可能な命令、1つ以上のコンピュータプログラムまたは1つ以上のアプリケーション)。コードは、コンピュータで読み出し可能な記憶媒体上に(例えば、1つ以上のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形態で)保存することができる。コンピュータで読み出し可能な記憶媒体は、非一時的であり得る。
ハイパーバイザは、入来メッセージ201を受信し得る。メッセージがさらなるセキュリティ処理を必要とする場合(202)、ハイパーバイザは、リクエストをゲストオペレーティングシステムおよび外部コンピューティングシステムとのセキュア通信のリクエストとして受信し得る(203)。そうではない場合、ハイパーバイザは、メッセージを未処理のまま転送し得る(222)。ハイパーバイザは、ゲストオペレーティングシステムの代わりに、ゲストオペレーティングシステム認証情報(例えば、IPアドレス、鍵および/または証明情報)を用いてセキュアなプロトコルについて交渉し得る(204)。プロトコルおよびその状態(例えば、交換鍵、秘密および他の状態データ)に関連する情報は、保存され得(206)、ゲストオペレーティングシステムと関連付けられ得る。その後、メッセージは、外部コンピューティングシステムおよび/またはゲストオペレーティングシステムからハイパーバイザにより受信され得る(208)。メッセージが入来する(210)と、ハイパーバイザは、ゲストオペレーティングシステム宛先および外部コンピューティングシステムソースを決定し得る(212)。宛先およびソースを用いて、ハイパーバイザは、状態情報およびゲストオペレーティングシステム認証情報を参照して、入来メッセージを復号化(214)および確認し得る。確認により、メッセージのインテグリティおよび真正性を確認することができる。その後、クリアテキストメッセージがゲストオペレーティングシステムへと送られ得る(216)。通信が完了する(218)と、ハイパーバイザは、外部コンピューティングシステムへの通信リンクを終了させ、関連付けられた状態情報を除去することにより、通信を終了させ得る(220)。そうではない場合(218)、システムは、より多数のメッセージを待機し得る(208)。
クリアテキスト発出メッセージがゲストオペレーティングシステムから受信される(210)と、ハイパーバイザは、ゲストオペレーティングシステムソースをメッセージの関連付けられた宛先と共に用いて、状態情報を取り出すことができる(224)。状態情報を用いて、ハイパーバイザは、HMACクリアテキスト発出メッセージの暗号化および/またはHMACクリアテキスト発出メッセージへの署名を行い得る(226)。その後、暗号化発出メッセージは、宛先へと送られ得る(228)。通信が完了する(218)と、ハイパーバイザは、セッションを終了させ得る(220)。そうではない場合、ハイパーバイザは、次のメッセージを待機し得る(208)。
図2に示すプロセス200において、いくつかの利点を得ることができる。新規の入来セキュア通信メッセージは、ゲストオペレーティングシステムにとってトランスペアレントとなり得る。新規入来通信により、ハイパーバイザは、宛先ゲストオペレーティングシステムに接触する必要無く、リクエストの発行元と交渉することができる。ハイパーバイザが交渉を完了した後、セキュアメッセージを発行元とゲストオペレーティングシステムとの間において送達することができる。複数のゲストオペレーティングシステムに対し、各ゲストオペレーティングシステムについての認証情報へのアクセスを有する単一のハイパーバイザによってサービス提供をすることも可能である。各ゲストオペレーティングシステムは、自身の認証情報を持ち得る(例えば、証明、IPアドレス、鍵および他の個々の情報)。これらの認証情報は、ハイパーバイザによって制御される物理的ホストへ分解され得る。ハイパーバイザがゲストオペレーティングシステムと外界との間のゲートウェイとして機能するため、ハイパーバイザは、交渉に参加する外部システムによる構成または知識を必要とすることなく、ゲストオペレーティングシステムそれぞれの代わりに交渉することができる。例えば、入来通信は、ハードウェアインターフェースを通じて進入し得る。ハイパーバイザは、ハードウェアインターフェースからの通信を受信し、通信がセキュア通信であると決定し得る。ゲストオペレーティングシステムの認証情報を用いて、ハイパーバイザは、ゲストオペレーティングシステムの役割を担って、セキュアな接続を生成および維持することができる。ハイパーバイザが常にゲストオペレーティングシステムへのルートの一部となっているため、セキュアな接続を用いたコンピューティングデバイスは、ハイパーバイザがゲストオペレーティングシステムの代わりにメッセージを交渉およびセキュアにしていることを認識できない。
ハイパーバイザの構成は、発出および入来するセキュアな接続について選択肢を選択することを含み得る。一実施形態において、管理者は、セキュアにすべき通信を決定するための複数の選択肢中から選択することができる(例えば、全接続をセキュアにすること、セキュアなポートおよび非セキュアなポートを定義すること、メッセージをセキュアなものとして取り扱うべきかを自動検出すること、セキュアなIPアドレスおよび非セキュアなIPアドレスを定義すること、セキュアなアダプタおよび非セキュアなアダプタを定義すること)。例えば、ポート22および80上のネットワークトラフィックは非セキュアなものとして取り扱うが、ポート443上のトラフィックはセキュアにされ得る。別の実施形態において、ゲストオペレーティングシステムは、2つのIPアドレスを持ち得る。IPアドレスのうち1つを用いて非セキュアメッセージを受信することができ、第2のアドレスは、セキュアな接続を形成および維持するようハイパーバイザに通知し得る。ハイパーバイザは、通信を明示的情報または暗示的情報によってセキュアにすべきか否かを決定し得る。一実施形態において、入来ネットワークトラフィックが暗示的に(例えば、検査により)定義され得る。例えば、入来トラフィックがプロトコル(例えば、SSL/TLS)を通じてセキュアにされたように見える場合、ハイパーバイザは、決定されたセキュアなプロトコルを用い得る。別の実施形態において、入来ネットワークトラフィックが明示的に定義され得る(例えば、指定されたポートまたはIPアドレス上のトラフィック)。
図3を参照して、コンピュータシステム(例えば、図1の物理的マシン104)によって実行することが可能なプロセスが図示される。一実施形態において、ホストマシン上のハイパーバイザは、受信プロセスを通じて受信されたセキュアメッセージを処理し得る(300)。ハイパーバイザは、入来メッセージを受信し得る(302)。メッセージがセキュアメッセージではない場合(304)、およびメッセージがセキュア通信制御メッセージである場合(306)、セキュア通信制御プロセスに追随することができる。制御メッセージの例を挙げると、ハンドシェーキングまたは再交渉があり得る。ハイパーバイザ制御プロセスは、交渉においてゲストオペレーティングシステム認証情報を用いる宛先ゲストオペレーティングシステムを決定することができる(308)。状態情報と関連付けられる送信者が決定され得る(310)。決定された情報を用いて、ハイパーバイザは、ゲストオペレーティングシステムの代わりに、セキュアな接続についての変更または作成を送信者と共に交渉し得る(312)。新規状態情報および変更された状態情報を保存し、ゲストオペレーティングシステムおよび送信者と関連付けることができる(314)。別の例において、ハイパーバイザは、リクエストを傍受して、セキュアな接続を再確立することができる。保存された状態情報(例えば、セッション情報)を用いて、通信を再開することができる。
メッセージがセキュアなメッセージである場合(304)、ハイパーバイザは、ゲストオペレーティングシステム宛先の決定(316)および送信者情報の決定(318)を行うことにより、メッセージ受信プロセスを開始することができる。宛先および送信者情報を用いて、ハイパーバイザは、関連付けられた状態情報を検索することができる。状態情報を用いて、ハイパーバイザは、メッセージの復号化(320)および/または確認を行い得る。その後、復号化メッセージは、ゲストオペレーティングシステムへと送られ得る(322)。復号化(322)および/または確認が失敗した場合、ハイパーバイザは、失敗に応答し得る(別のメッセージをリクエストすること、失敗を報告すること、接続を終了することおよび/または接続を再交渉すること)。
メッセージがセキュアメッセージではないと決定された場合(304)、およびセキュア通信制御メッセージではないと決定された場合(306)、メッセージを非セキュアメッセージとして取り扱うことができる(324)。ユーザ設定に応じて、非セキュアメッセージを許可または非許可にすることができる。いくつかの実施形態において、全ての非セキュアメッセージが拒否され得る。他の実施形態において、非セキュアメッセージが、非セキュアメッセージ取り扱いプロセスへ付与され得る。例えば、ハイパーバイザは、ゲストオペレーティングシステム上の定義されたポートに対する全メッセージをセキュアにすることができ、他の定義されたポートは非セキュアメッセージを受信し得ると決定することができる。一実施形態において、規則をファイアウォールと協調させることにより、非セキュアメッセージルートを信頼性のあるネットワークの外部において遮断し、セキュアにされたメッセージはファイアウォールを通過することができる。
ここで図4を参照して、図4は、コンピュータシステム(例えば、図1の物理的マシン104)によって実行することが可能なプロセスを示す。図4に示すように、ホストマシン上のハイパーバイザは、ゲストオペレーティングシステムからメッセージを受信した場合、セキュアな送信プロセス(例えば、送信プロセス400)を用い得る。ハイパーバイザは、発出メッセージをゲストオペレーティングシステムから受信し得る(402)。メッセージが現在のセキュアな接続の一部ではなく(406)、セキュアな接続を必要としている場合(408)、セキュアな接続について交渉することができる。例えば、セキュアな接続を確立または再交渉することが必要となり得る。ゲストオペレーティングシステムの認証情報を用いて、ゲストオペレーティングシステムの代わりに、ハイパーバイザがセキュアな接続について交渉することができる(410)。接続の状態は、セキュアな接続のゲストオペレーティングシステムおよび受信者と関連付けられたものとして保存され得る(412)。動作後にセキュアな接続を作成したか(412)または現在の接続を有する(406)場合、状態情報を用いて、受信されたメッセージを暗号化することができる(414)。その後、暗号化メッセージを受信者へ送ることができる(416)。いくつかの実施形態において、非セキュアメッセージが許可され得、現在のセキュアな接続は持たず(406)、セキュアな接続も不要である(408)。非セキュアメッセージは、ユーザ設定に従ってこのように処理され得る(418)。一実施形態において、全ての通信をセキュアにする必要がある。任意の非セキュア通信が落下しかつ/またはエラーを発生し得る。
ハイパーバイザは、メッセージの送信をセキュアにするかを決定し得る。ハイパーバイザは、セキュア通信の必要性を明示的または暗示的に決定し得る。例えば、接続が現在宛先コンピューティングシステムへ開かれている場合、当該宛先との通信は、セキュア通信を用いているものとして暗示的に推定される。別の例において、各入来メッセージを検査することにより、セキュアにみえるメッセージまたはセキュアにする必要があるメッセージがハイパーバイザによって処理され得る。いくつかの実施形態において、全ての発出通信がセキュアにされたと推定される。別の実施形態において、ゲストオペレーティングシステムは、新規のセキュア通信チャンネルをAPI呼を通じて宛先と共に開くようリクエストし得る。そうではない場合、通信は、通常の通信チャンネルを通じて行われ得る。他の実施形態において、ゲストオペレーティングシステムは、通信チャンネル(例えば、ドライバ、仮想アダプタ、IPアドレスまたはポート)を用いることにより、セキュア通信を明示的に選択し得る。
よって、サポートシステム(例えば、ハイパーバイザ)は、複数のコンピューティングデバイスと、ホストマシン上の複数のゲストオペレーティングシステムとの間の接続をセキュアにし得る。セキュアな接続について、初期入来リクエストおよび初期発出リクエスト双方に対応することができる。ゲストオペレーティングシステムへ割り当てられた認証情報を用いて、サポートシステムは、セキュアな接続の生成および維持において、ゲストオペレーティングシステムの代わりに機能することができる。サポートシステムは、通信チャンネルを用いて、ゲストオペレーティングシステムそれぞれについて、セキュアにすべき通信または通過させるべき通信を決定することができる。一実施形態において、サポートシステムは、メッセージヘッダ(例えば、HTTPヘッダ)を変更して、通信がセキュアな接続を通じて受信されたことを示すことができる。
ハイパーバイザは、制御面によって管理され得るデータ面内のホストシステム内に常駐し得る。変更についてのリクエストが、制御面によって受信され得、データ面中のコンピューティングリソース上において行われ得る。例えば、図5に示すように、ユーザは、コンピューティングリソース上のセキュア通信をイネーブルするよう、制御面にリクエストし得る。制御面は、ユーザからこのリクエストを受信し得る(502)。これに応答して、制御面は、鍵およびリクエストを生成し得、コンピューティングリソースについて証明を発行するようリクエストし得る(504)。証明情報は、取り付け、保存および必要な場合の使用のために、コンピューティングリソースのサポートシステム(例えば、ハイパーバイザ)へと送達され得る(506)。ユーザから提供された設定を用いて、セキュア通信がイネーブルされ得る(508)。
ユーザによって指定された構成が、複数のチャンネル(例えば、API呼、アプリケーションおよびウェブサイト)を通じて受信され得る。サポートシステム中にセキュア通信を構成するためのウェブサイト600の例を図6に示す。ウェブサイト600は、ウェブブラウザ602によってアクセスされ得る。このウェブサイトは、現在の構成情報(例えば、サーバの名称604、現在の証明情報606および現在のセキュアなプロトコル構成情報608)を含み得る。値と交換でセキュア通信を追加してくださいとの申し出610が、ユーザへのサービスとして提供され得る。ユーザは、セキュア通信サービスを構成するために、複数の選択肢612から選択することができる。図示の実施形態において、ユーザは、複数の選択肢から、セキュアにすべき通信を選択することができる。これらの選択肢を挙げると、「常にセキュア通信を用いる」、「特定のポートのみをセキュア通信に用いる」、「セキュア通信を自動検出する」、「特定のIPアドレスをセキュア通信のためまたは仮想Ethernet(登録商標)アダプタによって用いる」などがある。所望であれば、ユーザは、メッセージ(例えば、HTTPヘッダ)を変更することにより、通信がセキュアにされた旨の通知もリクエストし得る。その後、ユーザは、ボタンをクリックして、選択されたゲストオペレーティングシステム上のセキュア通信をイネーブルし得る(616)。図示の実施形態において、セキュア通信は、設定されている最中である。進捗インジケータ618は、自動設定プロセスの進捗を示し得、これにより、ハイパーバイザが選択されたゲストオペレーティングシステムの代わりに通信をセキュアにすることが可能になる。
ユーザがボタン616をクリックしてセキュア通信をイネーブルした後、制御面は、選択されたゲストオペレーティングシステムのためのセキュア通信を設定するプロセスを開始し得る。例えば、制御面は、ゲストオペレーティングシステムのためのセキュア通信を設定せよとのリクエストを受信し得る。制御面は、ゲストオペレーティングシステムの代わりに、公開/プライベート鍵対を生成し得る。ゲストオペレーティングシステムについての識別情報および公開鍵を用いて、制御面は、ゲストオペレーティングシステムへデジタル証明を発行せよとリクエストする。その後、制御面は、セキュア通信設定情報(例えば、デジタル証明、鍵および他のセキュアな情報)を信頼性のあるネットワークを通じてハイパーバイザへと送達し得る。ハイパーバイザは、ゲストオペレーティングシステムの代わりに、セキュア通信の作成に用いられるセキュアな設定情報を保存し得る。完了後、ハイパーバイザは、設定が完了した旨を制御面へ通知し得る。その後、制御面は、設定が完了し、セキュア通信をイネーブルすることができる旨をユーザに通知し得る。いくつかの実施形態において、このプロセスは、ボタン616のクリックによるさらなるユーザによる介入を必要とすることなく、実行され得る。他の実施形態において、ユーザは、介入することができる(例えば、ユーザのためにデジタル証明および/または鍵対情報を生成するのではなく、デジタル証明および/または鍵対情報をインポートする)。
サービスプロバイダ712は、サポートシステムのイネーブルを通じてセキュア通信をイネーブルして、ゲストシステム706および728との通信を傍受およびセキュアにすることができる。ゲストシステムの例を挙げると、物理的コンピュータシステムのハードウェア上において直接実行するオペレーティングシステムを含む物理的コンピュータシステムである。サービスプロバイダ認証情報の生成および使用(700)の例を図7に示す。顧客は、コンピューティングリソース702を通じて、顧客によって維持されているゲストシステム706上のセキュア通信をイネーブルするようリクエストし得る。制御面内のサーバ704は、セキュア通信をイネーブルせよとのリクエストを受信し得、ゲストシステム706の認証情報710を生成せよとのリクエストを生成し得る。制御面は、コンピューティングリソースをデータ面(例えば、ゲストシステム706)内において管理し得る。認証情報生成器708は、認証情報710を生成および設定し得る。この認証情報生成は、有効なデジタル証明を得るための証明機関と接触することを含み得る。認証情報710を受信すると、サーバ704は、ゲストシステム706のセキュア通信を担当するサポートシステムへ認証情報を送り得る。一実施形態において、サポートシステムは、ネットワークデバイスであり得る(例えば、ネットワークに取り付けられたセキュリティコンポーネント718)。図7に示す実施形態において、ネットワークに取り付けられたセキュリティコンポーネント718はスイッチ716内に含まれるが、ネットワークに取り付けられたセキュリティコンポーネント718は、他の実施形態において独立型にしてもよい。ネットワークに取り付けられたセキュリティコンポーネント718は、認証情報710および構成を受信して、ゲストシステム706へ到着かつゲストシステム706から発出される通信をセキュアにし得る。例えば、入来セキュアメッセージ720は、ゲートウェイ721によってサービスプロバイダ712へと受信され得、内部ネットワーク714を通じてスイッチ716へと経路設定され得、これにより、セキュア通信サービスがゲストシステム706へと提供される。ネットワークに取り付けられたセキュリティコンポーネント718は、入来セキュアメッセージ720を復号化および/または確認し得、その結果、クリアテキストメッセージ722が得られる。その後、クリアテキストメッセージ722は、宛先ゲストシステム706へと送られ得る。ゲストシステム706からの発出メッセージは、ネットワークに取り付けられたセキュリティコンポーネント718によって傍受され得る。発出メッセージは、セキュアにされ(暗号化を含む)、その後内部ネットワーク714を通じてゲートウェイ721から送られ、インターネット724を通過して宛先システムに到着する。
図7に示す別の実施形態において、セキュリティコンポーネント730は、ホストコンピュータ728(例えば、高度ネットワークインターフェースカード(NIC)またはセキュリティコプロセッシングハードウェア)中に常駐し得る。セキュリティコンポーネント730は、ホストコンピュータ728への入来通信を傍受し、入来セキュアメッセージ720を復号化することができる。復号化されたクリアテキストメッセージ722は、仮想化されていてもされていなくても、ホストコンピュータ728内のゲストシステムへと送られ得る。発出クリアテキスト通信も、傍受されてセキュアにされ(暗号化を含む)、その結果、セキュア通信が得られる。
本開示の例示的実施形態は、以下の記載を鑑みて説明することができる。
1.セキュア通信を提供するための、コンピュータで実行される方法であって、実行可能な命令と共に構成された1つ以上のコンピュータシステムによる制御下において、ゲストオペレーティングシステムと関連付けられた1組の認証情報をハイパーバイザによって受信することと、ゲストオペレーティングシステムの代わりであるハイパーバイザが1組の認証情報を用いて、コンピューティングデバイスとのセキュアな接続をセキュアなプロトコルによって確立することであって、ハイパーバイザは、セキュアな接続のローカルエンドポイントとして機能する、ことと、ゲストオペレーティングシステムからコンピューティングデバイスへの1つ以上の発出メッセージをハイパーバイザによって受信することと、ゲストオペレーティングシステムの代わりであるハイパーバイザが、セキュアなプロトコルおよび1組の認証情報を用いて、ゲストオペレーティングシステムからコンピューティングデバイスへの1つ以上の発出メッセージを暗号化することであって、1つ以上の発出メッセージは、1つ以上の発出暗号化メッセージとなる、ことと、ハイパーバイザがセキュアなプロトコルを用いて発出暗号化メッセージをコンピューティングデバイスへと送信することと、コンピューティングデバイスからの1つ以上の入来暗号化メッセージをハイパーバイザによって受信することと、ゲストオペレーティングシステムの代わりであるハイパーバイザにより、セキュアなプロトコルおよび1組の認証情報を用いて復号化を行って、コンピューティングデバイスからの1つ以上の入来暗号化メッセージを1つ以上の入来復号化メッセージとすることと、1つ以上の入来復号化メッセージをゲストオペレーティングシステムへと送信することと、を含む。
2.節1のコンピュータで実行される方法において、交渉することは、ゲストオペレーティングシステムおよびコンピューティングデバイスと関連付けられたものとしてプロトコル状態情報を保存することを含み、プロトコル状態情報は、ゲストオペレーティングシステムの識別情報およびコンピューティングデバイスを用いて取り出すことができ、プロトコル状態情報は、1つ以上の発出メッセージの暗号化時および1つ以上の暗号化入来メッセージの復号化時において用いられる。
3.節2のコンピュータで実行される方法において、復号化することは、1つ以上の暗号化入来メッセージを調査して、入来通信において参照されたコンピューティングデバイスおよびゲストオペレーティングシステムの識別情報を決定することと、ゲストオペレーティングシステムおよびコンピューティングデバイスの決定された識別情報を用いて、プロトコル状態情報を取り出すことと、取り出されたプロトコル状態情報を用いて、1つ以上の暗号化入来メッセージを復号化することとを含む。
4.節2のコンピュータで実行される方法において、暗号化は、ゲストオペレーティングシステムから1つ以上の発出メッセージを受信することであって、ゲストオペレーティングシステムは識別情報を有する、ことと、1つ以上の発出メッセージを調査して、1つ以上の発出メッセージにおいて参照されたコンピューティングデバイスの識別情報を決定することと、ゲストオペレーティングシステムおよびコンピューティングデバイスの識別情報を用いて、プロトコル状態情報を取り出すことと、取り出されたプロトコル状態情報を用いて、1つ以上の発出メッセージを暗号化することとを含む。
5.節1のコンピュータで実行される方法において、復号化することは、1つ以上の入来復号化メッセージをゲストオペレーティングシステムへと経路設定することであって、ゲストオペレーティングシステムは、ハイパーバイザによって管理される1組の2つ以上のゲストオペレーティングシステムに含まれる。
6.節1のコンピュータで実行される方法において、復号化することは、1つ以上の入来暗号化メッセージのインテグリティおよび真正性を確認した後、1つ以上の入来復号化メッセージをゲストオペレーティングシステムへ提供することを含む。
7.セキュア通信を提供するための、コンピュータで実行される方法であって、実行可能な命令と共に構成された1つ以上のコンピュータシステムによる制御下において、デバイスとのセキュアな接続について、ホストシステム上のゲストオペレーティングシステムへのリクエストをホストシステムのサポートシステムによって受信することであって、ホストシステムは、サポートシステムを有し、少なくとも1つのゲストオペレーティングシステムをホストするように構成される、ことと、ゲストオペレーティングシステムと関連付けられた1組の認証情報をサポートシステムによって受信することと、サポートシステムがゲストオペレーティングシステムの代わりに1組の認証情報を用いて、デバイスとのセキュアな接続を確立することであって、サポートシステムは、ゲストオペレーティングシステムの代わりにセキュアな接続のエンドポイントとして機能する、ことと、サポートシステムがゲストオペレーティングシステムとデバイスとの間の1つ以上の通信をセキュアな接続を介して送信することであって、サポートシステムは、1つ以上の通信を処理して、セキュアな接続をイネーブルする、こととを含む。
8.節7のコンピュータで実行される方法において、方法は、ホストシステム上の第2のゲストオペレーティングシステムに対する第2のデバイスとの第2のセキュアな接続についてのリクエストをホストシステムのサポートシステムによって受信することと、第2のゲストオペレーティングシステムと関連付けられた第2の1組の認証情報をサポートシステムによって取り出すことと、サポートシステムが第2のゲストオペレーティングシステムの代わりに第2の1組の認証情報を用いて、第2のデバイスとの第2のセキュアな接続を確立することであって、サポートシステムは、第2のゲストオペレーティングシステムの代わりに第2のセキュアな接続のエンドポイントとして機能する、ことと、サポートシステムから第2のセキュアな接続を介して第2のゲストオペレーティングシステムと第2のデバイスとの間の1つ以上の第2の通信を送信することとをさらに含む。
9.節7のコンピュータで実行される方法において、1組の認証情報を用いることは、サポートシステムがゲストオペレーティングシステムの代わりに1組の認証情報を保存することであって、1組の認証情報は、ゲストオペレーティングシステムにとって読み出し不可能である、ことをさらに含む。
10.節7のコンピュータで実行される方法において、サポートシステムはハイパーバイザである。
11.節7のコンピュータで実行される方法において、1つ以上の通信を送信することは、1つ以上の通信をセキュアなプロトコルを用いて暗号化することをさらに含む。
12.節11のコンピュータで実行される方法において、セキュアなプロトコルは、トランスポート層セキュリティである。
13.節7のコンピュータで実行される方法において、サポートシステムは、ハードウェアセキュリティモジュールである。
14.節7のコンピュータで実行される方法において、サポートシステムは、ホストシステム内の別個のプロセッサである。
15.節7のコンピュータで実行される方法において、サポートシステムは、通信のうち少なくとも一部をセキュアな接続を介して暗号化する。
16.セキュアな接続をイネーブルするためのコンピュータシステムであって、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を含むメモリであって、命令により、コンピュータシステムは、少なくとも以下を行う:1組のゲストシステムを有するサポートシステムが、1組のゲストシステムからゲストシステムへ方向付けられたセキュア通信を受信することと、サポートシステムが、セキュア通信が方向付けられた1組のゲストシステムからゲストシステムを選択することと、ホストシステムが選択されたゲストオペレーティングシステムの識別情報を示す1組の認証情報を用いて復号化メッセージを選択されたゲストオペレーティングシステムへ提供することであって、復号化メッセージはセキュア通信から作成され、認証情報は、選択されたゲストシステムにとって利用不可能である、こと。
17.節16のシステムにおいて、システムは、ハードウェアセキュリティモジュールをさらに含み、ハードウェアセキュリティモジュールは、1つ以上のプロセッサと通信し、ハードウェアセキュリティモジュールは、暗号化サービスおよび復号化サービスを1つ以上のプロセッサのうち少なくとも1つへ提供し、ハードウェアセキュリティモジュールは、メッセージの復号化のために、サポートシステムにとってアクセス可能である。
18.節16のシステムにおいて、サポートシステムは、ハードウェアセキュリティモジュールである。
19.節16のシステムにおいて、サポートシステムはネットワークデバイスであり、サポートシステムは、1つ以上のゲストシステムと、セキュア通信の受信元であるネットワークとの間に配置される。
20.節17のシステムにおいて、復号化メッセージを提供することは、セキュア通信をハードウェアセキュリティモジュールへ送信することと、復号化メッセージをハードウェアセキュリティモジュールから受信することとをさらに含む。
21.節16のシステムにおいて、復号化メッセージを提供することは、セキュア通信を第1の通信チャンネルを通じて受信することであって、第1のチャンネルを通じた受信により、サポートシステムはセキュア通信を復号化し、サポートシステムは、第1のチャンネルを通じて受信された通信を復号化するように構成される、ことと、第2の通信チャンネルを通じて受信された1つ以上の通信をゲストシステムへと送ることであって、サポートシステムは、第2のチャンネルを通じて受信された通信を通過するように構成される、こととをさらに含む。
22.節16のシステムにおいて、復号化メッセージを提供することは、復号化メッセージが以前暗号化された旨を示すように、復号化メッセージをを変更することをさらに含む。
23.節16のシステムにおいて、1組の認証情報は、ゲストオペレーティングシステムに割り当てられた秘密鍵を含む。
24.1つ以上のコンピュータで読み出し可能な記憶媒体であって、記憶媒体上には、実行可能な命令が集合的に保存され、命令がコンピュータシステムの1つ以上のプロセッサによって実行されると、コンピュータシステムは、少なくとも以下を行う:ゲストシステムに対する、デバイスとのセキュアな接続についてのリクエストをサポートシステムが受信することと、ゲストシステムと関連付けられた1組の認証情報をサポートシステムが取り出すことであって、認証情報は、ゲストシステムによるアクセスから保護される、ことと、サポートシステムがゲストシステムの代わりに1組の認証情報を用いてデバイスとのセキュアな接続を確立することであって、サポートシステムは、ゲストシステムの代わりにセキュアな接続のエンドポイントとして機能する、ことと、サポートシステムがセキュアな接続を介してゲストシステムとデバイスとの間の1つ以上の通信を送ること。
25.節24のコンピュータで読み出し可能な記憶媒体において、媒体は命令をさらに含み、命令がコンピュータシステムの1つ以上のプロセッサによって実行されると、コンピュータシステムは、少なくとも以下を行う:ゲストシステムへセキュアな接続サービスを付加せよとのリクエストを受信することであって、サービスは、ゲストシステムの代わりに、サポートシステムを用いてセキュアな接続を管理する、ことと、ゲストシステムについての1組の認証情報の生成をリクエストすることと、サポートシステムが1組の認証情報を保存すること。
26.節25のコンピュータで読み出し可能な記憶媒体において、媒体は命令をさらに含み、コンピュータシステムの1つ以上のプロセッサによって命令が実行された場合、コンピュータシステムは、少なくとも以下を行う:セキュアな接続サービスを有料でゲストシステムへ追加するとの申し出をユーザへ送ることと、セキュアな接続サービスの付加の対価として料金をユーザから受領することであって、値の受領は、セキュアな接続サービスをゲストシステムへ付加せよとのリクエストを示す、こと。
27.節26のコンピュータで読み出し可能な記憶媒体において、サポートシステムは、ネットワークハードウェア、ネットワークカード、ドライバおよびハイパーバイザからなる群から選択される。
28.節24のコンピュータで読み出し可能な記憶媒体において、セキュアな接続についてのリクエストは、通信チャンネルの利用を通じて発生し、通信チャンネルを通じた接続は、セキュアにされるように構成される。
29.節28のコンピュータで読み出し可能な記憶媒体において、通信チャンネルは、ポート、仮想アダプタおよびソースIPアドレスからなる群から選択される。
30.節24のコンピュータで読み出し可能な記憶媒体において、サポートシステムは、ゲストシステムへ取り付けられたネットワークインターフェースカード内に埋設される。
1.セキュア通信を提供するための、コンピュータで実行される方法であって、実行可能な命令と共に構成された1つ以上のコンピュータシステムによる制御下において、ゲストオペレーティングシステムと関連付けられた1組の認証情報をハイパーバイザによって受信することと、ゲストオペレーティングシステムの代わりであるハイパーバイザが1組の認証情報を用いて、コンピューティングデバイスとのセキュアな接続をセキュアなプロトコルによって確立することであって、ハイパーバイザは、セキュアな接続のローカルエンドポイントとして機能する、ことと、ゲストオペレーティングシステムからコンピューティングデバイスへの1つ以上の発出メッセージをハイパーバイザによって受信することと、ゲストオペレーティングシステムの代わりであるハイパーバイザが、セキュアなプロトコルおよび1組の認証情報を用いて、ゲストオペレーティングシステムからコンピューティングデバイスへの1つ以上の発出メッセージを暗号化することであって、1つ以上の発出メッセージは、1つ以上の発出暗号化メッセージとなる、ことと、ハイパーバイザがセキュアなプロトコルを用いて発出暗号化メッセージをコンピューティングデバイスへと送信することと、コンピューティングデバイスからの1つ以上の入来暗号化メッセージをハイパーバイザによって受信することと、ゲストオペレーティングシステムの代わりであるハイパーバイザにより、セキュアなプロトコルおよび1組の認証情報を用いて復号化を行って、コンピューティングデバイスからの1つ以上の入来暗号化メッセージを1つ以上の入来復号化メッセージとすることと、1つ以上の入来復号化メッセージをゲストオペレーティングシステムへと送信することと、を含む。
2.節1のコンピュータで実行される方法において、交渉することは、ゲストオペレーティングシステムおよびコンピューティングデバイスと関連付けられたものとしてプロトコル状態情報を保存することを含み、プロトコル状態情報は、ゲストオペレーティングシステムの識別情報およびコンピューティングデバイスを用いて取り出すことができ、プロトコル状態情報は、1つ以上の発出メッセージの暗号化時および1つ以上の暗号化入来メッセージの復号化時において用いられる。
3.節2のコンピュータで実行される方法において、復号化することは、1つ以上の暗号化入来メッセージを調査して、入来通信において参照されたコンピューティングデバイスおよびゲストオペレーティングシステムの識別情報を決定することと、ゲストオペレーティングシステムおよびコンピューティングデバイスの決定された識別情報を用いて、プロトコル状態情報を取り出すことと、取り出されたプロトコル状態情報を用いて、1つ以上の暗号化入来メッセージを復号化することとを含む。
4.節2のコンピュータで実行される方法において、暗号化は、ゲストオペレーティングシステムから1つ以上の発出メッセージを受信することであって、ゲストオペレーティングシステムは識別情報を有する、ことと、1つ以上の発出メッセージを調査して、1つ以上の発出メッセージにおいて参照されたコンピューティングデバイスの識別情報を決定することと、ゲストオペレーティングシステムおよびコンピューティングデバイスの識別情報を用いて、プロトコル状態情報を取り出すことと、取り出されたプロトコル状態情報を用いて、1つ以上の発出メッセージを暗号化することとを含む。
5.節1のコンピュータで実行される方法において、復号化することは、1つ以上の入来復号化メッセージをゲストオペレーティングシステムへと経路設定することであって、ゲストオペレーティングシステムは、ハイパーバイザによって管理される1組の2つ以上のゲストオペレーティングシステムに含まれる。
6.節1のコンピュータで実行される方法において、復号化することは、1つ以上の入来暗号化メッセージのインテグリティおよび真正性を確認した後、1つ以上の入来復号化メッセージをゲストオペレーティングシステムへ提供することを含む。
7.セキュア通信を提供するための、コンピュータで実行される方法であって、実行可能な命令と共に構成された1つ以上のコンピュータシステムによる制御下において、デバイスとのセキュアな接続について、ホストシステム上のゲストオペレーティングシステムへのリクエストをホストシステムのサポートシステムによって受信することであって、ホストシステムは、サポートシステムを有し、少なくとも1つのゲストオペレーティングシステムをホストするように構成される、ことと、ゲストオペレーティングシステムと関連付けられた1組の認証情報をサポートシステムによって受信することと、サポートシステムがゲストオペレーティングシステムの代わりに1組の認証情報を用いて、デバイスとのセキュアな接続を確立することであって、サポートシステムは、ゲストオペレーティングシステムの代わりにセキュアな接続のエンドポイントとして機能する、ことと、サポートシステムがゲストオペレーティングシステムとデバイスとの間の1つ以上の通信をセキュアな接続を介して送信することであって、サポートシステムは、1つ以上の通信を処理して、セキュアな接続をイネーブルする、こととを含む。
8.節7のコンピュータで実行される方法において、方法は、ホストシステム上の第2のゲストオペレーティングシステムに対する第2のデバイスとの第2のセキュアな接続についてのリクエストをホストシステムのサポートシステムによって受信することと、第2のゲストオペレーティングシステムと関連付けられた第2の1組の認証情報をサポートシステムによって取り出すことと、サポートシステムが第2のゲストオペレーティングシステムの代わりに第2の1組の認証情報を用いて、第2のデバイスとの第2のセキュアな接続を確立することであって、サポートシステムは、第2のゲストオペレーティングシステムの代わりに第2のセキュアな接続のエンドポイントとして機能する、ことと、サポートシステムから第2のセキュアな接続を介して第2のゲストオペレーティングシステムと第2のデバイスとの間の1つ以上の第2の通信を送信することとをさらに含む。
9.節7のコンピュータで実行される方法において、1組の認証情報を用いることは、サポートシステムがゲストオペレーティングシステムの代わりに1組の認証情報を保存することであって、1組の認証情報は、ゲストオペレーティングシステムにとって読み出し不可能である、ことをさらに含む。
10.節7のコンピュータで実行される方法において、サポートシステムはハイパーバイザである。
11.節7のコンピュータで実行される方法において、1つ以上の通信を送信することは、1つ以上の通信をセキュアなプロトコルを用いて暗号化することをさらに含む。
12.節11のコンピュータで実行される方法において、セキュアなプロトコルは、トランスポート層セキュリティである。
13.節7のコンピュータで実行される方法において、サポートシステムは、ハードウェアセキュリティモジュールである。
14.節7のコンピュータで実行される方法において、サポートシステムは、ホストシステム内の別個のプロセッサである。
15.節7のコンピュータで実行される方法において、サポートシステムは、通信のうち少なくとも一部をセキュアな接続を介して暗号化する。
16.セキュアな接続をイネーブルするためのコンピュータシステムであって、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を含むメモリであって、命令により、コンピュータシステムは、少なくとも以下を行う:1組のゲストシステムを有するサポートシステムが、1組のゲストシステムからゲストシステムへ方向付けられたセキュア通信を受信することと、サポートシステムが、セキュア通信が方向付けられた1組のゲストシステムからゲストシステムを選択することと、ホストシステムが選択されたゲストオペレーティングシステムの識別情報を示す1組の認証情報を用いて復号化メッセージを選択されたゲストオペレーティングシステムへ提供することであって、復号化メッセージはセキュア通信から作成され、認証情報は、選択されたゲストシステムにとって利用不可能である、こと。
17.節16のシステムにおいて、システムは、ハードウェアセキュリティモジュールをさらに含み、ハードウェアセキュリティモジュールは、1つ以上のプロセッサと通信し、ハードウェアセキュリティモジュールは、暗号化サービスおよび復号化サービスを1つ以上のプロセッサのうち少なくとも1つへ提供し、ハードウェアセキュリティモジュールは、メッセージの復号化のために、サポートシステムにとってアクセス可能である。
18.節16のシステムにおいて、サポートシステムは、ハードウェアセキュリティモジュールである。
19.節16のシステムにおいて、サポートシステムはネットワークデバイスであり、サポートシステムは、1つ以上のゲストシステムと、セキュア通信の受信元であるネットワークとの間に配置される。
20.節17のシステムにおいて、復号化メッセージを提供することは、セキュア通信をハードウェアセキュリティモジュールへ送信することと、復号化メッセージをハードウェアセキュリティモジュールから受信することとをさらに含む。
21.節16のシステムにおいて、復号化メッセージを提供することは、セキュア通信を第1の通信チャンネルを通じて受信することであって、第1のチャンネルを通じた受信により、サポートシステムはセキュア通信を復号化し、サポートシステムは、第1のチャンネルを通じて受信された通信を復号化するように構成される、ことと、第2の通信チャンネルを通じて受信された1つ以上の通信をゲストシステムへと送ることであって、サポートシステムは、第2のチャンネルを通じて受信された通信を通過するように構成される、こととをさらに含む。
22.節16のシステムにおいて、復号化メッセージを提供することは、復号化メッセージが以前暗号化された旨を示すように、復号化メッセージをを変更することをさらに含む。
23.節16のシステムにおいて、1組の認証情報は、ゲストオペレーティングシステムに割り当てられた秘密鍵を含む。
24.1つ以上のコンピュータで読み出し可能な記憶媒体であって、記憶媒体上には、実行可能な命令が集合的に保存され、命令がコンピュータシステムの1つ以上のプロセッサによって実行されると、コンピュータシステムは、少なくとも以下を行う:ゲストシステムに対する、デバイスとのセキュアな接続についてのリクエストをサポートシステムが受信することと、ゲストシステムと関連付けられた1組の認証情報をサポートシステムが取り出すことであって、認証情報は、ゲストシステムによるアクセスから保護される、ことと、サポートシステムがゲストシステムの代わりに1組の認証情報を用いてデバイスとのセキュアな接続を確立することであって、サポートシステムは、ゲストシステムの代わりにセキュアな接続のエンドポイントとして機能する、ことと、サポートシステムがセキュアな接続を介してゲストシステムとデバイスとの間の1つ以上の通信を送ること。
25.節24のコンピュータで読み出し可能な記憶媒体において、媒体は命令をさらに含み、命令がコンピュータシステムの1つ以上のプロセッサによって実行されると、コンピュータシステムは、少なくとも以下を行う:ゲストシステムへセキュアな接続サービスを付加せよとのリクエストを受信することであって、サービスは、ゲストシステムの代わりに、サポートシステムを用いてセキュアな接続を管理する、ことと、ゲストシステムについての1組の認証情報の生成をリクエストすることと、サポートシステムが1組の認証情報を保存すること。
26.節25のコンピュータで読み出し可能な記憶媒体において、媒体は命令をさらに含み、コンピュータシステムの1つ以上のプロセッサによって命令が実行された場合、コンピュータシステムは、少なくとも以下を行う:セキュアな接続サービスを有料でゲストシステムへ追加するとの申し出をユーザへ送ることと、セキュアな接続サービスの付加の対価として料金をユーザから受領することであって、値の受領は、セキュアな接続サービスをゲストシステムへ付加せよとのリクエストを示す、こと。
27.節26のコンピュータで読み出し可能な記憶媒体において、サポートシステムは、ネットワークハードウェア、ネットワークカード、ドライバおよびハイパーバイザからなる群から選択される。
28.節24のコンピュータで読み出し可能な記憶媒体において、セキュアな接続についてのリクエストは、通信チャンネルの利用を通じて発生し、通信チャンネルを通じた接続は、セキュアにされるように構成される。
29.節28のコンピュータで読み出し可能な記憶媒体において、通信チャンネルは、ポート、仮想アダプタおよびソースIPアドレスからなる群から選択される。
30.節24のコンピュータで読み出し可能な記憶媒体において、サポートシステムは、ゲストシステムへ取り付けられたネットワークインターフェースカード内に埋設される。
図8は、多様な実施形態による態様を実行するための例示的環境800の態様を示す。理解されるように、説明目的のためにウェブベースの環境を用いているが、多様な実施形態を実行するために適宜異なる環境も利用可能である。この環境は、電子クライアントデバイス802を含む。電子クライアントデバイス802は、リクエスト、メッセージまたは情報を適切なネットワーク804を介して送受信し、情報をデバイスのユーザへと搬送するように動作可能な任意の適切なデバイスを含み得る。このようなクライアントデバイスの例を挙げると、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、パーソナルデータアシスタント、電子ブックリーダなどがある。ネットワークは、任意の適切なネットワークを含み得る(例えば、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、または他の任意のそのようなネットワークまたはその組み合わせ)。このようなシステムに用いられるコンポーネントは、選択されたネットワークおよび/または環境の種類に少なくとも部分的に依存し得る。このようなネットワークを介した通信のためのプロトコルおよびコンポーネントは周知であり、本明細書中においては説明を控える。ネットワークを介した通信は、有線接続または無線接続ならびにその組み合わせによってイネーブルされ得る。この例において、ネットワークはインターネットを含む。なぜならば、環境は、リクエストの受信およびこの受信に応答してコンテンツ提供を行うウェブサーバ806を含むからである。しかし、他のネットワークの場合、類似の目的のための別のデバイスを用いることが当業者にとって明らかである。
例示的環境は、少なくとも1つのアプリケーションサーバ808およびデータ記憶部810を含む。いくつかのアプリケーションサーバ、層または他の要素、プロセスまたはコンポーネントを連鎖または構成し、タスク(例えば、適切なデータ記憶部からのデータ入手)を行うように相互作用することが可能であることが理解される。本明細書中において用いられる「データ記憶部」という用語は、データの保存、アクセスおよび取り出しが可能な任意のデバイスまたはデバイスの組み合わせを指す(例えば、任意の標準的環境、分散環境またはクラスター環境における任意の組み合わせおよび数のデータサーバ、データベース、データ記憶装置、およびデータ記憶媒体)。アプリケーションサーバは、データ記憶部と必要に応じて一体化してクライアントデバイスのための1つ以上のアプリケーションの態様を実行し、データアクセスおよびアプリケーションのための事業論理のほとんどを取り扱う任意の適切なハードウェアおよびソフトウェアを含み得る。アプリケーションサーバは、アクセス制御サービスをデータ記憶部と協調して提供し、コンテンツ(例えば、ユーザへ転送すべきテキスト、グラフィック、音声および/またはビデオ)を生成することができる。このコンテンツは、ウェブサーバにより、HTML、XMLまたは本例においては別の適切なの構造化言語の形態でユーザへ提供され得る。全てのリクエストおよび応答ならびにクライアントデバイス802とアプリケーションサーバ808との間のコンテンツ送達の取り扱いは、ウェブサーバによって取り扱われ得る。ウェブサーバおよびアプリケーションサーバは不要であり、あくまで例示的なコンポーネントであることが理解される。なぜならば、本明細書中に記載される構造化コードは、本明細書中の別の箇所において述べた任意の適切なデバイスまたはホストマシン上において実行することが可能であるからである。
データ記憶部810は、いくつかの別個のデータ表、データベースまたは特定の態様に関連するデータを保存する他のデータ保存機構および媒体を含み得る。例えば、図示のデータ記憶部は、生成側のコンテンツを提供するために用いられ得る、生成データ812およびユーザ情報816を保存する機構を含む。また、データ記憶部がログデータ814を保存する機構を含む様子が図示されている。ログデータ814は、報告、分析または他のそのような目的に用いられ得る。データ記憶部中に保存される必要があり得る他の多数の態様があり得る(例えば、ページ画像情報のためのものおよび正しい情報へのアクセスのためのものであって、上記に羅列した機構のうち任意のものに適宜保存することができるかまたはデータ記憶部810中のさらなる機構中に保存することができるもの)ことが理解される。データ記憶部810は、自身と関連付けられた論理を通じて、アプリケーションサーバ808からの命令を受信し、これに応答してデータの入手、更新または処理を行うように動作可能である。一例において、ユーザは、特定の種類のアイテムについて、検索リクエストを提出し得る。この場合、データ記憶部は、ユーザ情報にアクセスしてユーザの識別情報を確認することができ、カタログ詳細情報にアクセスして、その種類のアイテムについての情報を入手することができる。その後、この情報は、(ユーザデバイス802上のブラウザを介してユーザが視認することが可能なウェブページ上の結果リスティング中の情報として)ユーザへと返送され得る。特定の対象アイテムについての情報は、専用ページ内において視認してもよいし、あるいはブラウザの窓内において視認してもよい。
各サーバは典型的には、一般的管理およびそのサーバの動作についての実行可能なプログラム命令を提供するオペレーティングシステムを含み、典型的には、命令を保存している、コンピュータで読み出し可能な記憶媒体を含む(例えば、ハードディスク、ランダムアクセスメモリ、リードオンリーメモリ)。これらの命令がサーバのプロセッサによって実行された場合、サーバは、意図される機能を行う。オペレーティングシステムの適切な実行およびサーバの一般的機能は公知であるかまたは市販されており、当業者であれば、特に本明細書中の開示内容を鑑みれば容易に実行することができる。
一実施形態における環境は、分散型コンピューティング環境であり、通信リンクを介して1つ以上のコンピュータネットワークまたは直接接続を用いて相互接続されたいくつかのコンピュータシステムおよびコンポーネントを用いる。しかし、当業者であれば、このようなシステムは、より少数またはより多数の図8に示すコンポーネントを有するシステムにおいても同様に機能することができることを理解する。よって、図8中のシステム800の記載は本質的に例示的なものとしてとられるべきであり、本開示の範囲を制限するものではない。
多様な実施形態は、広範な多様な動作環境においてさらに実行することができる。これらの動作環境は、いくつかの場合において、多数のアプリケーションのうち任意のものを作動させるために用いることが可能な1つ以上のユーザコンピュータ、コンピューティングデバイスまたは処理デバイスを含み得る。ユーザまたはクライアントデバイスは、多数の汎用パーソナルコンピュータのうち任意のものを含み得る(例えば、標準オペレーティングシステムを実行するデスクトップまたはラップトップコンピュータ、ならびにモバイルソフトウェアを実行しかつ多数のネットワーキングプロトコルおよびメッセージングプロトコルをサポートすることが可能なセルラーデバイス、無線デバイスおよびハンドヘルドデバイス)。このようなシステムは、開発およびデータベース管理などの目的のための多様な市販のオペレーティングシステムおよび他の公知のアプリケーションのうち任意のものを実行する多数のワークステーションも含み得る。これらのデバイスは、他の電子デバイスも含み得る(例えば、ダミー端末、シンクライアント、ゲーミングシステム、およびネットワーク経由での通信が可能な他のデバイス)。
ほとんどの実施形態においては、多様な市販のプロトコル(例えば、TCP/IP、OSI、FTP、UPnP、NFS、CIFSおよびAppleTalk)のうち任意のものを用いて通信をサポートする当業者にとって周知の少なくとも1つのネットワークが用いられる。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワークおよびこれらの任意の組み合わせであり得る。
ウェブサーバを用いる実施形態において、ウェブサーバは、多様なサーバまたはミッドティアアプリケーションのうち任意のものを実行し得る(例えば、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Javaサーバ、および事業アプリケーションサーバ)。サーバ(単数または複数)は、ユーザデバイスからのリクエストに応答して、例えば、任意のプログラミング言語(例えば、Java(登録商標)、C、C#またはC++、または任意のスクリプト記述言語(例えば、Perl、Python、またはTCL、ならびにこれらの組み合わせ))で記述された1つ以上のスクリプトまたはプログラムとして実行され得る1つ以上のウェブアプリケーションを実行することにより、プログラムまたはスクリプトを実行することもできる。サーバ(単数または複数)は、データベースサーバも含み得る(例を非限定的に挙げると、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)およびIBM(登録商標)から市販されているもの)。
環境は、上記したような多様なデータ記憶部および他のメモリおよび記憶媒体を含み得る。これらは、多様な位置に常駐し得る(例えば、コンピュータのうち1つ以上に対してローカルな(かつ/または常駐する)記憶媒体またはネットワーク上のコンピュータのうち任意のものまたは全てから遠隔位置にあるもの)。特定の1組の実施形態において、情報は、当業者にとって周知のストレージエリアネットワーク(「SAN」)中に常駐し得る。同様に、コンピュータ、サーバまたは他のネットワークデバイスに起因する機能を行うための任意の必要なファイルをローカルかつ/またはリモートに適宜保存することができる。システムがコンピュータ化されたデバイスを含む場合、そのようなデバイスはそれぞれ、バスを介して電気的に接続されたハードウェア要素を含み得、これらの要素は、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド)、ならびに少なくとも1つの出力デバイス(例えば、表示デバイス、プリンタまたはスピーカ)を含み得る。このようなシステムは、1つ以上の記憶装置も含み得る(例えば、ディスクドライブ、光学記憶デバイスおよび固体記憶デバイス(例えば、ランダムアクセスメモリ(「RAM」)またはリードオンリーメモリ(「ROM」)、およびリムーバブル媒体デバイス、メモリカード、フラッシュカード)。
このようなデバイスは、コンピュータで読み出し可能な記憶媒体リーダー、通信デバイス(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイス)、および上述したようなワーキングメモリも含み得る。コンピュータで読み出し可能な記憶媒体リーダーは、コンピュータで読み出し可能な記憶媒体と接続することもできるし、あるいは、このような記憶媒体を受容するように構成することもできる。この記憶媒体は、リモート記憶装置、ローカル記憶装置、固定記憶装置および/またはコンピュータで読み出し可能な情報を一時的にかつ/またはより永続的に収容、保存、送信および取り出すためのリムーバブル記憶装置ならびに記憶媒体を示す。システムおよび多様なデバイスは典型的には、多数のソフトウェアアプリケーション、モジュール、サービスまたは少なくとも1つのワーキングメモリデバイス内に含まれる他の要素も含む(例えば、オペレーティングシステムおよびアプリケーションプログラム(例えば、クライアントアプリケーションまたはウェブブラウザ))。別の実施形態は、上記と異なる多数の変更例を含み得ることが理解される。例えば、カスタマイズされたハードウェアを用いてもよいし、かつ/または、特定の要素をハードウェア、ソフトウェア(例えば、ポータブルソフトウェア(例えば、アプレット))あるいは両方において実行してもよい。さらに、他のコンピューティングデバイス(例えば、ネットワーク入力/出力デバイス)への接続も利用可能である。
コードまたはコードの一部を収容する記憶媒体およびコンピュータで読み出し可能な媒体は、当該分野において公知のまたは利用される任意の適切な媒体を含み得る(例えば、記憶媒体および通信媒体(例を非限定的に挙げると、情報(例えば、コンピュータで読み出し可能な命令、データ構造、プログラムモジュールまたは他のデータ)の保存および/または送信のための任意の方法または技術で実行される揮発性媒体および不揮発性媒体、リムーバブル媒体および非リムーバブル媒体がある(例えば、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル汎用ディスク(DVD)または他の光学記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶装置、あるいは所望の情報の保存に用いることができかつシステムデバイスによるアクセスが可能な他の任意の媒体))。本明細書中に記載の開示内容および教示内容に基づいて、当業者であれば、多様な実施形態を実行するための他の様態および/または方法が存在することを理解する。
よって、本明細書および図面は、限定的なものとしてではなく、例示的なものとしてみなされるべきである。しかし、本明細書および図面において、特許請求の範囲中に記載のような多様な実施形態のより広い意図および範囲から逸脱することなく、多様な変更例および改変例が可能であることが明らかである。
他の変更例が、本開示の意図の範囲内にある。よって、開示の技術は多様な変更例および代替的構造が可能であるものの、その特定の例示の実施形態を図面中に示し、詳細に上述してきた。しかし、特許請求の範囲を開示の特定の形態(単数または複数)に限定することは意図されておらず、逆に、本発明は、全ての変更例、代替的構造および添付の特許請求の範囲中に定義されるような多様な実施形態の意図および範囲内に収まる均等例を網羅することが理解される。
開示の実施形態を記述する文脈において(特に、以下の特許請求の範囲の文脈において)「a」および「an」および「the」などの用語が用いられた場合、本明細書中に明記無き限りまたは文脈と矛盾しない限り、単数および複数双方を網羅するものとして解釈されるべきである。「comprising」、「having」、「including」および「containing」などの用語は、他に明記無き限り、オープンエンドの用語として解釈されるべきである(すなわち、「〜を非限定的に含む」という意味の用語として解釈されるべきである)。「接続される」という用語は、途中に中断が有る場合でも、部分的または全体的に含まれるか、取り付けられるか、または共に接合されているものとして解釈されるべきである。本明細書中、値の範囲について言及する場合、本明細書中に他に明記無き限り、あくまで各別個の値が範囲内に収まることを個別に述べるための手短な方法を意図したものであり、各別個の値を本明細書中においてあたかも個々に言及しているかのように援用する。本明細書中に記載される全ての方法は、本明細書中に他に明記無き限りまたは文脈と明らかに矛盾しない限り、任意の適切な順序で行うことができる。本明細書中、任意の例および全ての例または例示的な言い回し(例えば、「例えば、など」)が用いられた場合、ひとえに多様な実施形態をより深く例示するために用いたものであり、他に明記無き限り、特許請求の範囲を限定するものではない。本明細書中、いかなる言い回しも、本発明の実行にとって必須の特許請求の範囲に記載されていない要素として解釈されるべきではない。
本発明者らが本発明を実行するための最適な態様を含む本開示の好適な実施形態について、本明細書中において記載してきた。当業者であれば、上記の記載を読めば、これらの好適な実施形態の変更例を理解する。本発明者らは、当業者がこのような変更例を適切に用いることを期待し、本発明者らは、本発明が本明細書中に具体的に記載した様態と異なる様態で実行されることが可能であることを意図する。よって、本発明は、特許請求の範囲に記載される内容について、適用可能な法律によって許される全ての改変例および均等例を含む。さらに、その全ての可能な変更例における上記の要素の任意の組み合わせは、本明細書中に他に明記無き限りまたは文脈と明らかに矛盾しない限り、本発明によって包含される。
本明細書中引用される全ての参考文献(例えば、公開文献、特許出願および特許)を、本明細書中全体において各参考文献が個々に具体的に記載されているかのように、ここに参考により援用する。
Claims (15)
- セキュア通信を提供するための、コンピュータで実行される方法であって、
実行可能な命令と共に構成された1つ以上のコンピュータシステムによる制御下において、
ホストシステムのサポートシステムが、前記ホストシステム上のゲストオペレーティングシステムに対する、デバイスとのセキュアな接続についてのリクエストを受信することであって、前記ホストシステムは、前記サポートシステムを有し、少なくとも1つのゲストオペレーティングシステムをホストするように構成されることと、
前記ゲストオペレーティングシステムと関連付けられた1組の認証情報を前記サポートシステムが受信することと、
前記サポートシステムが前記ゲストオペレーティングシステムの代わりに、前記1組の認証情報を用いて前記デバイスとのセキュアな接続を確立することであって、前記サポートシステムは、前記ゲストオペレーティングシステムの代わりに前記セキュアな接続のエンドポイントとして機能することと、
前記サポートシステムが前記セキュアな接続を介して前記ゲストオペレーティングシステムと前記デバイスとの間の1つ以上の通信を送信することであって、前記サポートシステムは、前記1つ以上の通信を処理して、前記セキュアな接続をイネーブルすることと
を含む、方法。 - 前記ホストシステム上の第2のゲストオペレーティングシステムに対する第2のデバイスとの第2のセキュアな接続についてのリクエストを前記ホストシステムの前記サポートシステムが受信することと、
前記第2のゲストオペレーティングシステムと関連付けられた第2の1組の認証情報を前記サポートシステムが取り出すことと、
前記サポートシステムが前記第2のゲストオペレーティングシステムの代わりに、前記第2の1組の認証情報を用いて、前記第2のデバイスとの第2のセキュアな接続を確立することであって、前記サポートシステムは、前記第2のゲストオペレーティングシステムの代わりに前記第2のセキュアな接続のエンドポイントとして機能することと、
前記サポートシステムが前記第2のセキュアな接続を介して前記第2のゲストオペレーティングシステムと前記第2のデバイスとの間の1つ以上の第2の通信を送信することと
をさらに含む、請求項1に記載のコンピュータで実行される方法。 - 前記1組の認証情報を用いることは、前記サポートシステムが前記ゲストオペレーティングシステムの代わりに、前記1組の認証情報を保存することをさらに含み、前記1組の認証情報は、前記ゲストオペレーティングシステムにとって読み出し不可能である、請求項1に記載のコンピュータで実行される方法。
- 前記サポートシステムはハイパーバイザであり、前記ホストシステムに取り付けられたハードウェアセキュリティモジュールであるか、前記ホストシステムへ取り付けられたネットワークインターフェースカード内に埋設されるか、または前記ホストシステム内の別個のプロセッサである、請求項1に記載のコンピュータで実行される方法。
- 1つ以上の通信を送信することは、前記1つ以上の通信をセキュアなプロトコルを用いて暗号化することをさらに含む、請求項1に記載のコンピュータで実行される方法。
- 前記セキュアなプロトコルは、トランスポート層セキュリティである、請求項5に記載のコンピュータで実行される方法。
- セキュアな接続サービスを前記ホストシステム上の前記ゲストオペレーティングシステムに追加せよとのリクエストを受信し、前記ゲストオペレーティングシステムの代わりに、前記サポートシステムを用いてセキュアな接続を管理することと、
前記ゲストオペレーティングシステムと関連付けられた1組の認証情報をリクエストすることと、
前記サポートシステムが前記1組の認証情報を保存することと
をさらに含む、請求項1に記載のコンピュータで実行される方法。 - 前記セキュアな接続サービスを前記ゲストオペレーティングシステムへ追加することについて料金を請求すること
をさらに含む、請求項7に記載のコンピュータで実行される方法。 - 前記サポートシステムは、前記通信のうち少なくとも一部を前記セキュアな接続を介して暗号化する、請求項1に記載のコンピュータで実行される方法。
- セキュアな接続をイネーブルするためのコンピュータシステムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行可能な命令を含むメモリであって、前記命令により、前記コンピュータシステムは、
1組のゲストシステムを有するサポートシステムが、前記1組のゲストシステム中の1つのゲストシステムへ方向付けられたセキュア通信を受信することと、
前記サポートシステムが、前記セキュア通信が方向付けられた前記1つのゲストシステムを、前記1組のゲストシステムから選択することと、
ホストシステムが前記選択されたゲストシステムの識別情報を示す1組の認証情報を用いて復号化メッセージを前記選択されたゲストシステムへ提供することであって、前記復号化メッセージは前記セキュア通信から作成され、前記認証情報は、前記選択されたゲストシステムにとって利用不可能であること
を少なくとも行う、
システム。 - ハードウェアセキュリティモジュールをさらに含み、前記ハードウェアセキュリティモジュールは、前記1つ以上のプロセッサと通信し、前記ハードウェアセキュリティモジュールは、暗号化サービスおよび復号化サービスを前記1つ以上のプロセッサのうち少なくとも1つへ提供し、前記ハードウェアセキュリティモジュールは、前記メッセージの復号化のために、前記サポートシステムにアクセス可能である、請求項10に記載のシステム。
- 前記サポートシステムはネットワークデバイスであり、前記サポートシステムは、前記1つ以上のゲストシステムと、前記セキュア通信の受信元であるネットワークとの間に配置される、請求項10に記載のシステム。
- 復号化メッセージを提供することは、
前記セキュア通信を第1の通信チャンネルを通じて受信することであって、前記第1のチャンネルを通じた受信により、前記サポートシステムが前記セキュア通信を復号化し、前記サポートシステムは、前記第1のチャンネルを通じて受信された通信を復号化するように構成されることと、
第2のチャンネルを通じて受信された1つ以上の通信を前記1つのゲストシステムへと送ることであって、前記サポートシステムは、第2のチャンネルを通じて受信された通信を送るように構成されることと
をさらに含む、請求項10に記載のシステム。 - 復号化メッセージを提供する前に、前記復号化メッセージがセキュアな接続を通して受信されたことを示すように前記復号化メッセージのヘッダを変更すること、をさらに含む、請求項10に記載のシステム。
- 前記1組の認証情報は、前記ゲストシステムに割り当てられた秘密鍵を含む、請求項10に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/248,980 US9037511B2 (en) | 2011-09-29 | 2011-09-29 | Implementation of secure communications in a support system |
US13/248,980 | 2011-09-29 | ||
PCT/US2012/057918 WO2013049571A1 (en) | 2011-09-29 | 2012-09-28 | Implementation of secure communications in a support system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014529272A JP2014529272A (ja) | 2014-10-30 |
JP2014529272A5 true JP2014529272A5 (ja) | 2015-07-09 |
JP5799173B2 JP5799173B2 (ja) | 2015-10-21 |
Family
ID=47993497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014533394A Active JP5799173B2 (ja) | 2011-09-29 | 2012-09-28 | サポートシステムにおけるセキュア通信の実行 |
Country Status (10)
Country | Link |
---|---|
US (2) | US9037511B2 (ja) |
EP (1) | EP2761426B1 (ja) |
JP (1) | JP5799173B2 (ja) |
CN (2) | CN103842958B (ja) |
AU (2) | AU2012315751C1 (ja) |
BR (1) | BR112014007798B1 (ja) |
CA (1) | CA2849911C (ja) |
RU (1) | RU2584570C2 (ja) |
SG (2) | SG2014011571A (ja) |
WO (1) | WO2013049571A1 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9027084B2 (en) | 2008-07-28 | 2015-05-05 | Evan S. Huang | Methods and apparatuses for securely operating shared host devices with portable apparatuses |
US9270453B2 (en) | 2011-06-30 | 2016-02-23 | Verizon Patent And Licensing Inc. | Local security key generation |
US8943318B2 (en) * | 2012-05-11 | 2015-01-27 | Verizon Patent And Licensing Inc. | Secure messaging by key generation information transfer |
US8990554B2 (en) | 2011-06-30 | 2015-03-24 | Verizon Patent And Licensing Inc. | Network optimization for secure connection establishment or secure messaging |
US9154527B2 (en) | 2011-06-30 | 2015-10-06 | Verizon Patent And Licensing Inc. | Security key creation |
US9037511B2 (en) | 2011-09-29 | 2015-05-19 | Amazon Technologies, Inc. | Implementation of secure communications in a support system |
US10103875B1 (en) * | 2011-12-20 | 2018-10-16 | Amazon Technologies, Inc. | Authentication through a secret holding proxy |
US9930066B2 (en) | 2013-02-12 | 2018-03-27 | Nicira, Inc. | Infrastructure level LAN security |
CN104219208B (zh) * | 2013-06-03 | 2018-11-13 | 华为技术有限公司 | 一种数据输入的方法、装置 |
US10033693B2 (en) | 2013-10-01 | 2018-07-24 | Nicira, Inc. | Distributed identity-based firewalls |
US9106620B2 (en) | 2013-11-14 | 2015-08-11 | Comcast Cable Communications, Llc | Trusted communication session and content delivery |
US9442751B2 (en) | 2014-03-24 | 2016-09-13 | International Business Machines Corporation | Virtual credential adapter for use with virtual machines |
US11087006B2 (en) | 2014-06-30 | 2021-08-10 | Nicira, Inc. | Method and apparatus for encrypting messages based on encryption group association |
US9407612B2 (en) * | 2014-10-31 | 2016-08-02 | Intel Corporation | Technologies for secure inter-virtual network function communication |
FR3029311B1 (fr) * | 2014-11-27 | 2017-01-06 | Thales Sa | Procede de gestion d'une architecture et architecture associee |
US10606626B2 (en) * | 2014-12-29 | 2020-03-31 | Nicira, Inc. | Introspection method and apparatus for network access filtering |
US9553721B2 (en) * | 2015-01-30 | 2017-01-24 | Qualcomm Incorporated | Secure execution environment communication |
US10552619B2 (en) * | 2015-07-20 | 2020-02-04 | Intel Corporation | Technologies for secure trusted I/O access control |
US10230529B2 (en) * | 2015-07-31 | 2019-03-12 | Microsft Technology Licensing, LLC | Techniques to secure computation data in a computing environment |
US10324746B2 (en) | 2015-11-03 | 2019-06-18 | Nicira, Inc. | Extended context delivery for context-based authorization |
US10228926B2 (en) * | 2016-01-28 | 2019-03-12 | T-Mobile Usa, Inc. | Remote support installation mechanism |
US9898326B2 (en) * | 2016-02-23 | 2018-02-20 | Red Hat Israel, Ltd. | Securing code loading in a virtual environment |
US10846121B2 (en) * | 2016-03-18 | 2020-11-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Using nano-services to secure multi-tenant networking in datacenters |
US11388588B2 (en) * | 2016-05-13 | 2022-07-12 | Nokia Solutions And Networks Oy | Optimized small data transmission over uplink |
US10333775B2 (en) | 2016-06-03 | 2019-06-25 | Uptake Technologies, Inc. | Facilitating the provisioning of a local analytics device |
WO2017210496A1 (en) * | 2016-06-03 | 2017-12-07 | Uptake Technologies, Inc. | Provisioning a local analytics device |
RU2626550C1 (ru) * | 2016-08-09 | 2017-07-28 | Акционерное Общество "Научно-Исследовательский Институт Микроэлектронной Аппаратуры "Прогресс" | Программно-аппаратная платформа и способ ее реализации для беспроводных средств связи |
US10798073B2 (en) | 2016-08-26 | 2020-10-06 | Nicira, Inc. | Secure key management protocol for distributed network encryption |
US10938837B2 (en) | 2016-08-30 | 2021-03-02 | Nicira, Inc. | Isolated network stack to manage security for virtual machines |
US10447668B1 (en) | 2016-11-14 | 2019-10-15 | Amazon Technologies, Inc. | Virtual cryptographic module with load balancer and cryptographic module fleet |
US10461943B1 (en) * | 2016-11-14 | 2019-10-29 | Amazon Technologies, Inc. | Transparently scalable virtual hardware security module |
US10609160B2 (en) | 2016-12-06 | 2020-03-31 | Nicira, Inc. | Performing context-rich attribute-based services on a host |
US11032246B2 (en) | 2016-12-22 | 2021-06-08 | Nicira, Inc. | Context based firewall services for data message flows for multiple concurrent users on one machine |
US10503536B2 (en) | 2016-12-22 | 2019-12-10 | Nicira, Inc. | Collecting and storing threat level indicators for service rule processing |
US10581960B2 (en) | 2016-12-22 | 2020-03-03 | Nicira, Inc. | Performing context-rich attribute-based load balancing on a host |
US10805332B2 (en) | 2017-07-25 | 2020-10-13 | Nicira, Inc. | Context engine model |
US10803173B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Performing context-rich attribute-based process control services on a host |
US10812451B2 (en) | 2016-12-22 | 2020-10-20 | Nicira, Inc. | Performing appID based firewall services on a host |
GB2558918B (en) * | 2017-01-19 | 2020-01-29 | Exacttrak Ltd | Security Device |
US10447697B2 (en) | 2017-05-25 | 2019-10-15 | Bank Of America Corporation | Data leakage and information security using access control |
US10778651B2 (en) | 2017-11-15 | 2020-09-15 | Nicira, Inc. | Performing context-rich attribute-based encryption on a host |
US10862773B2 (en) | 2018-01-26 | 2020-12-08 | Nicira, Inc. | Performing services on data messages associated with endpoint machines |
US10802893B2 (en) | 2018-01-26 | 2020-10-13 | Nicira, Inc. | Performing process control services on endpoint machines |
US11729612B2 (en) * | 2018-03-08 | 2023-08-15 | Cypress Semiconductor Corporation | Secure BLE just works pairing method against man-in-the-middle attack |
US11240135B1 (en) | 2018-05-23 | 2022-02-01 | Open Invention Network Llc | Monitoring VNFCs that are composed of independently manageable software modules |
KR102323763B1 (ko) * | 2019-01-04 | 2021-11-08 | 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 | 호스트 시스템과 데이터 처리 가속기 사이의 보안 통신을 제공하기 위한 방법 및 시스템 |
JP7127585B2 (ja) * | 2019-03-12 | 2022-08-30 | オムロン株式会社 | セーフティシステムおよびメンテナンス方法 |
US11132457B2 (en) * | 2019-03-21 | 2021-09-28 | Microsoft Technology Licensing, Llc | Editing using secure temporary session-based permission model in a file storage system |
US11658821B2 (en) * | 2019-04-23 | 2023-05-23 | At&T Mobility Ii Llc | Cybersecurity guard for core network elements |
WO2021009744A1 (en) * | 2019-07-15 | 2021-01-21 | Mystery Story Technology Ltd. | System, device and methods for secure exchange of text messages |
US11539718B2 (en) | 2020-01-10 | 2022-12-27 | Vmware, Inc. | Efficiently performing intrusion detection |
US11108728B1 (en) | 2020-07-24 | 2021-08-31 | Vmware, Inc. | Fast distribution of port identifiers for rule processing |
US11956350B2 (en) * | 2021-03-31 | 2024-04-09 | Seagate Technology Llc | Yes and no secret sharing with hidden access structures |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606663B1 (en) | 1998-09-29 | 2003-08-12 | Openwave Systems Inc. | Method and apparatus for caching credentials in proxy servers for wireless user agents |
US6735634B1 (en) | 1999-06-10 | 2004-05-11 | Blue Coat Systems | Method for real time protocol media recording |
US6895501B1 (en) | 2000-03-13 | 2005-05-17 | Wrq, Inc. | Method and apparatus for distributing, interpreting, and storing heterogeneous certificates in a homogenous public key infrastructure |
ES2249450T3 (es) | 2000-07-05 | 2006-04-01 | ERNST & YOUNG LLP | Metodo y aparato para proporcionar servicios informaticos. |
EP2112625A3 (en) | 2001-06-12 | 2010-03-10 | Research in Motion | Methods for pre-processing and rearranging secure E-mail for exchange with a mobile data communication device |
US8340283B2 (en) | 2004-06-30 | 2012-12-25 | International Business Machines Corporation | Method and system for a PKI-based delegation process |
US7587366B2 (en) | 2004-10-14 | 2009-09-08 | International Business Machines Corporation | Secure information vault, exchange and processing system and method |
US7437447B2 (en) | 2004-11-12 | 2008-10-14 | International Business Machines Corporation | Method and system for authenticating a requestor without providing a key |
US7685635B2 (en) * | 2005-03-11 | 2010-03-23 | Microsoft Corporation | Systems and methods for multi-level intercept processing in a virtual machine environment |
US7581229B2 (en) * | 2005-03-11 | 2009-08-25 | Microsoft Corporation | Systems and methods for supporting device access from multiple operating systems |
US20060294366A1 (en) * | 2005-06-23 | 2006-12-28 | International Business Machines Corp. | Method and system for establishing a secure connection based on an attribute certificate having user credentials |
US20090119504A1 (en) | 2005-08-10 | 2009-05-07 | Riverbed Technology, Inc. | Intercepting and split-terminating authenticated communication connections |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
JP2007266938A (ja) | 2006-03-28 | 2007-10-11 | Seiko Epson Corp | デジタルストリームデータ通信 |
JP2008078878A (ja) | 2006-09-20 | 2008-04-03 | Nec Corp | セッション制御システム、セッション代行装置、通信方法、およびプログラム |
US8479264B2 (en) | 2006-09-29 | 2013-07-02 | Micron Technology, Inc. | Architecture for virtual security module |
ES2384227T3 (es) * | 2006-10-19 | 2012-07-02 | Motorola Mobility, Inc. | Método y aparato para la recuperación después de desconexiones de red en una red entre entidades pares |
JP2008299617A (ja) | 2007-05-31 | 2008-12-11 | Toshiba Corp | 情報処理装置、および情報処理システム |
JP2009223776A (ja) | 2008-03-18 | 2009-10-01 | Univ Of Tsukuba | 情報処理システム及び情報処理システム用プログラム並びにクライアント装置のアクセス制御方法 |
US8364983B2 (en) * | 2008-05-08 | 2013-01-29 | Microsoft Corporation | Corralling virtual machines with encryption keys |
US9235705B2 (en) | 2008-05-19 | 2016-01-12 | Wontok, Inc. | Secure virtualization system software |
AU2009259876A1 (en) * | 2008-06-19 | 2009-12-23 | Servicemesh, Inc. | Cloud computing gateway, cloud computing hypervisor, and methods for implementing same |
JP2010062738A (ja) | 2008-09-02 | 2010-03-18 | Fujitsu Ltd | ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置 |
US8051432B2 (en) | 2008-11-14 | 2011-11-01 | Novell, Inc. | Techniques for establishing virtual devices |
US8732700B2 (en) * | 2008-12-18 | 2014-05-20 | Vmware, Inc. | Virtualization system with a remote proxy |
US8296567B2 (en) | 2009-07-15 | 2012-10-23 | Research In Motion Limited | System and method for exchanging key generation parameters for secure communications |
EP3002703B1 (en) * | 2009-12-14 | 2017-08-30 | Citrix Systems Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
US20110225093A1 (en) | 2010-03-11 | 2011-09-15 | Cahn Robert S | Depository-Based Security Trading System |
CN102195940A (zh) * | 2010-03-12 | 2011-09-21 | 北京路模思科技有限公司 | 一种基于虚拟机技术安全输入和提交数据的方法和系统 |
JP5499913B2 (ja) | 2010-06-02 | 2014-05-21 | ソニー株式会社 | 通信装置、通信方法及び通信システム |
US8572728B2 (en) | 2010-06-08 | 2013-10-29 | Hewlett-Packard Development Company, L.P. | Initiation of storage device scans |
KR101673622B1 (ko) | 2011-01-28 | 2016-11-08 | 삼성전자주식회사 | 무선통신 시스템에서 서비스품질에 따른 서비스 제공 방법 및 장치 |
US20120310679A1 (en) | 2011-06-03 | 2012-12-06 | Kent Dana Olson | Method and apparatus for insuring against crop losses |
US9037511B2 (en) * | 2011-09-29 | 2015-05-19 | Amazon Technologies, Inc. | Implementation of secure communications in a support system |
-
2011
- 2011-09-29 US US13/248,980 patent/US9037511B2/en active Active
-
2012
- 2012-09-28 RU RU2014117204/08A patent/RU2584570C2/ru active
- 2012-09-28 JP JP2014533394A patent/JP5799173B2/ja active Active
- 2012-09-28 EP EP12834621.0A patent/EP2761426B1/en active Active
- 2012-09-28 SG SG2014011571A patent/SG2014011571A/en unknown
- 2012-09-28 BR BR112014007798-3A patent/BR112014007798B1/pt active IP Right Grant
- 2012-09-28 CN CN201280047648.3A patent/CN103842958B/zh active Active
- 2012-09-28 CN CN201710256404.0A patent/CN106998331B/zh active Active
- 2012-09-28 WO PCT/US2012/057918 patent/WO2013049571A1/en active Application Filing
- 2012-09-28 AU AU2012315751A patent/AU2012315751C1/en active Active
- 2012-09-28 SG SG10201605750TA patent/SG10201605750TA/en unknown
- 2012-09-28 CA CA2849911A patent/CA2849911C/en active Active
-
2015
- 2015-05-18 US US14/714,982 patent/US9607162B2/en active Active
- 2015-08-20 AU AU2015215904A patent/AU2015215904B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5799173B2 (ja) | サポートシステムにおけるセキュア通信の実行 | |
JP2014529272A5 (ja) | ||
CA3098836C (en) | Key management system and method | |
CN110199508B (zh) | 敏感数据跨内容分发网络的安全数据分配 | |
JP6165883B2 (ja) | 安全な仮想マシン移行 | |
US10122692B2 (en) | Handshake offload | |
US10298577B1 (en) | Credential vending to processes | |
US20160373412A1 (en) | Load balancing with handshake offload | |
WO2022119960A1 (en) | Highly-available cryptographic keys | |
US11582195B1 (en) | Parallel encrypted data streams for virtual private networks | |
US11750566B1 (en) | Configuring virtual computer systems with a web service interface to perform operations in cryptographic devices | |
US11838270B1 (en) | Session control management for virtual private networks using artificial data packets | |
WO2016205238A1 (en) | Handshake offload |