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

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

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

特許7308002ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム
<>
  • 特許-ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム 図1
  • 特許-ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム 図2
  • 特許-ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム 図3
  • 特許-ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム 図4
  • 特許-ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム 図5
  • 特許-ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム 図6
  • 特許-ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-05
(45)【発行日】2023-07-13
(54)【発明の名称】ハイブリッド・クラウドKMSソリューションにおけるHSMの自己破壊方法、システム、プログラム
(51)【国際特許分類】
   G06F 21/60 20130101AFI20230706BHJP
   H04L 9/10 20060101ALI20230706BHJP
【FI】
G06F21/60
H04L9/10 A
【請求項の数】 17
(21)【出願番号】P 2021506553
(86)(22)【出願日】2019-09-19
(65)【公表番号】
(43)【公表日】2022-01-11
(86)【国際出願番号】 IB2019057926
(87)【国際公開番号】W WO2020065461
(87)【国際公開日】2020-04-02
【審査請求日】2022-02-22
(31)【優先権主張番号】16/144,251
(32)【優先日】2018-09-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ロー、エアランダー
(72)【発明者】
【氏名】ボッジレッディ、カルナカール
(72)【発明者】
【氏名】ヌネツ メンシャス、エンジェル
(72)【発明者】
【氏名】パヴォネ、マルコ
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2011-082727(JP,A)
【文献】米国特許第09413730(US,B1)
【文献】米国特許出願公開第2007/0094719(US,A1)
【文献】米国特許第09231923(US,B1)
【文献】特開2010-231404(JP,A)
【文献】米国特許出願公開第2013/0198850(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
H04L 9/08-9/10
(57)【特許請求の範囲】
【請求項1】
コンピュータの情報処理による方法であって、
コンピュータ・デバイスによって、物理的ハードウェア・セキュリティ・モジュールからプロキシ・ハードウェア・セキュリティ・モジュールをフェデレートすること、
前記コンピュータ・デバイスによって、前記プロキシ・ハードウェア・セキュリティ・モジュールを保管すること、
前記コンピュータ・デバイスによって、前記物理的ハードウェア・セキュリティ・モジュールから、複数の定期的識別通信のうちの第1の定期的識別通信を受け取ること、および
前記複数の定期的識別通信のうちの第2の定期的識別通信を前記コンピュータ・デバイスが受け取っていないことの結果として、前記コンピュータ・デバイスによって、前記プロキシ・ハードウェア・セキュリティ・モジュールを消去すること
を含む方法。
【請求項2】
前記コンピュータ・デバイスによる、前記プロキシ・ハードウェア・セキュリティ・モジュールの前記消去が、前記複数の定期的識別通信のうちの所定の数の連続する定期的識別通信を前記コンピュータ・デバイスが受け取っていないことに起因する、
請求項1に記載の方法。
【請求項3】
前記フェデレートすることが、前記コンピュータ・デバイスによって、前記物理的ハードウェア・セキュリティ・モジュールから機密資料をフェデレートすることを含む、
請求項2に記載の方法。
【請求項4】
前記機密資料が暗号化鍵である、
請求項3に記載の方法。
【請求項5】
前記コンピュータ・デバイスによる、前記プロキシ・ハードウェア・セキュリティ・モジュールの前記消去が、複数の定期的識別通信のうちの所定の数の連続する定期的識別通信を前記コンピュータ・デバイスが所定の時間内に受け取っていないことに起因する、
請求項1に記載の方法。
【請求項6】
前記コンピュータ・デバイスによって、前記物理的ハードウェア・セキュリティ・モジュールへの前記プロキシ・ハードウェア・セキュリティ・モジュールの結合を許可すること、および
前記コンピュータ・デバイスによって、前記物理的ハードウェア・セキュリティ・モジュールへの前記コンピュータ・デバイスの後続のいかなる結合も前記物理的ハードウェア・セキュリティ・モジュールが阻止することを許可すること
をさらに含む、
請求項5に記載の方法。
【請求項7】
前記コンピュータ・デバイスによって、前記結合中に、前記物理的ハードウェア・セキュリティ・モジュールから暗号化鍵をフェデレートすることをさらに含む、
請求項6に記載の方法。
【請求項8】
前記コンピュータ・デバイスによって、前記プロキシ・ハードウェア・セキュリティ・モジュールに対する変更の承認を前記コンピュータ・デバイスが前記物理的ハードウェア・セキュリティ・モジュールから受け取った結果としてのみ、前記変更を許す、
請求項5に記載の方法。
【請求項9】
前記コンピュータ・デバイスによって、前記物理的ハードウェア・セキュリティ・モジュールから機密資料をフェデレートすることをさらに含む、
請求項5に記載の方法。
【請求項10】
前記コンピュータ・デバイスの生成、維持、デプロイメント、およびサポートのうちの少なくとも1つをサービス・プロバイダが実行する、
請求項1に記載の方法。
【請求項11】
前記プロキシ・ハードウェア・セキュリティ・モジュールの前記保管が、サービス・プロバイダによって、サブスクリプション、広告、もしくは料金、またはこれらの組合せに基づいて提供される、
請求項1に記載の方法。
【請求項12】
前記コンピュータ・デバイスが、クラウド環境におけるサービスとして提供されたソフトウェアを含む、
請求項1に記載の方法。
【請求項13】
請求項1~12の何れか1項に記載の方法を、コンピュータ・デバイスに実行させる、コンピュータ・プログラム。
【請求項14】
請求項13に記載の前記コンピュータ・プログラムを、コンピュータ可読ストレージ媒体に記録した、ストレージ媒体
【請求項15】
請求項1~12の何れか1項に記載の方法を実行する、コンピュータ・デバイスおよび物理的ハードウェア・セキュリティ・モジュールを含むシステム。
【請求項16】
システムであって、
暗号化鍵を保管している物理的ハードウェア・セキュリティ・モジュールと、
前記物理的ハードウェア・セキュリティ・モジュールからフェデレートされた、フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールであり、前記暗号化鍵のフェデレートされたコピーを保管している、前記フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールと、
前記物理的ハードウェア・セキュリティ・モジュール上のプログラム命令であり、複数の定期的識別通信を送るための前記プログラム命令と、
前記フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュール上のプログラム命令であり、前記物理的ハードウェア・セキュリティ・モジュールから前記複数の定期的識別通信を受け取るための前記プログラム命令と、
前記フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュール上のプログラム命令であり、所定の第1の数の前記複数の定期的識別通信を前記フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールが受け取っていないことの結果として、前記フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールおよび前記暗号化鍵の前記フェデレートされたコピーを消去するための前記プログラム命令と
を含むシステム。
【請求項17】
前記フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュール上のプログラム命令であり、前記複数の定期的識別通信のうちの所定の第2の数の連続する定期的識別通信を前記フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールが受け取っていないことの結果として、前記フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールおよび前記暗号化鍵の前記フェデレートされたコピーを消去するための前記プログラム命令をさらに含む、
請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に、暗号化されたデータのセキュリティに関し、より詳細には、クラウドにおける暗号化鍵管理サービス(encrypted key management service)のセキュリティに関する。
【背景技術】
【0002】
高いセキュリティ・レベル(level of security)を望んでいる一部の企業およびその他のユーザは、それらのユーザの鍵および秘密が、物理的(physical)ハードウェア・セキュリティ・モジュール(hardwaresecurity module)(HSM)の中に保管されることを求めている。この物理的HSMは、ユーザのプレミス(premise)に保管し、ユーザの制御下に置くことができる。これらのユーザのうち一部のユーザは現在、さまざまな機能のためにクラウドを使用しており、その結果として、クラウド上での活動用の鍵管理サービス(KMS)を必要としている。
【0003】
従来の1つのシステムでは、セキュアな支払いシステムが、セキュアなバックエンド・サーバ上の仮想EMV型チップカードに、支払いトランザクション・プロキシ(payment transaction proxy)を供給する。ユーザは、それぞれのトランザクションにおいて、ユーザに代わってそのクラウドで支払いを行う権限をこのプロキシに与える。プロキシは、暗号鍵(cryptographic key)を危険にさらすことなくこのジョブを実行する。一部のユーザは、それらのユーザのプレミス上に保管された物理的HSMによって提供されるセキュリティ・レベルには満足しているが、クラウドにプロキシが存在し、そのプロキシがクラウド・サービス・プロバイダの制御下にあるという着想には満足していない。したがって、クラウドベースの一部のトランザクションに必要なアクセス可能性を提供するだけでなく、所望のセキュリティ・レベルもユーザに提供するシステムが求められている。
【発明の概要】
【0004】
本発明の第1の態様では、コンピュータ実施方法が、コンピュータ・デバイスによって、物理的ハードウェア・セキュリティ・モジュールからプロキシ・ハードウェア・セキュリティ・モジュールをフェデレートする(federate:連合、統合させる)こと、コンピュータ・デバイスによって、プロキシ・ハードウェア・セキュリティ・モジュールを保管すること、コンピュータ・デバイスによって、物理的ハードウェア・セキュリティ・モジュールから、複数の定期的識別通信(periodic identifying communication)のうちの第1の定期的識別通信を受け取ること、および複数の定期的識別通信のうちの第2の定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果として、コンピュータ・デバイスによって、プロキシ・ハードウェア・セキュリティ・モジュールを消去することを含む。先行技術は、クラウド上の従来のプロキシHSMが物理的HSMから切り離されても、プロキシHSMが依然として存在することがあるという欠点を有する。本発明のこの態様は、予想される定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果として、プロキシHSMがコンピュータ・デバイスによって消去されるという追加のセキュリティを提供する。
【0005】
本発明の有利な一態様では、コンピュータ・デバイスによる、プロキシ・ハードウェア・セキュリティ・モジュールの消去が、複数の定期的識別通信のうちの所定の数の連続する定期的識別通信をコンピュータ・デバイスが受け取っていないことに起因する。本発明のこの態様は、複数の定期的識別通信のうち受け取られていない連続する定期的識別通信の数が所定の数よりも少ない場合には、プロキシHSMが依然として存在するという追加の利点を提供する。
【0006】
本発明の別の態様では、コンピュータ・プログラム製品が、プログラム命令を実装したコンピュータ可読ストレージ媒体を含む。このプログラム命令は、物理的ハードウェア・セキュリティ・モジュールからプロキシ・ハードウェア・セキュリティ・モジュールをフェデレートすること、プロキシ・ハードウェア・セキュリティ・モジュールを保管すること、物理的ハードウェア・セキュリティ・モジュールから、複数の定期的識別通信のうちの第1の定期的識別通信を受け取ること、および複数の定期的識別通信のうちの第2の定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果として、プロキシ・ハードウェア・セキュリティ・モジュールを消去することをコンピュータ・デバイスに実行させるように、コンピュータ・デバイスによって実行可能である。先行技術は、クラウド上の従来のプロキシHSMが物理的HSMから切り離されても、プロキシHSMが依然として存在することがあるという欠点を有する。本発明のこの態様は、予想される定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果として、プロキシHSMがコンピュータ・デバイスによって消去されるという追加のセキュリティを提供する。
【0007】
本発明の有利な一態様では、コンピュータ・デバイスによって実行可能なプログラム命令が、複数の定期的識別通信のうちの所定の数の連続する定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果としてプロキシ・ハードウェア・セキュリティ・モジュールを消去することを、コンピュータ・デバイスに実行させる。本発明のこの態様は、複数の定期的識別通信のうち受け取られていない連続する定期的識別通信の数が所定の数よりも少ない場合には、プロキシHSMが依然として存在するという追加の利点を提供する。
【0008】
本発明の別の態様では、システムが、プロセッサ、コンピュータ可読メモリ、およびコンピュータ可読ストレージ媒体を含む。このシステムは、物理的ハードウェア・セキュリティ・モジュールからプロキシ・ハードウェア・セキュリティ・モジュールをフェデレートするためのプログラム命令と、プロキシ・ハードウェア・セキュリティ・モジュールを保管するためのプログラム命令と、物理的ハードウェア・セキュリティ・モジュールから、複数の定期的識別通信のうちの第1の定期的識別通信を受け取るためのプログラム命令と、複数の定期的識別通信のうちの第2の定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果として、プロキシ・ハードウェア・セキュリティ・モジュールを消去するためのプログラム命令を含む。これらのプログラム命令は、コンピュータ可読メモリを介してプロセッサによって実行するために、コンピュータ可読ストレージ媒体に記憶されている。先行技術は、クラウド上の従来のプロキシHSMが物理的HSMから切り離されても、プロキシHSMが依然として存在することがあるという欠点を有する。本発明のこの態様は、予想される定期的識別通信をシステムが受け取っていないことの結果として、プロキシHSMがシステムによって消去されるという追加のセキュリティを提供する。
【0009】
本発明の有利な一態様は、複数の定期的識別通信のうちの所定の数の連続する定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果としてプロキシ・ハードウェア・セキュリティ・モジュールを消去するためのプログラム命令を含む。本発明のこの態様は、複数の定期的識別通信のうち受け取られていない連続する定期的識別通信の数が所定の数よりも少ない場合には、プロキシHSMが依然として存在するという追加の利点を提供する。
【0010】
本発明の別の態様では、コンピュータ実施方法が、コンピュータ・デバイスによって、コンピュータ・デバイスからのプロキシ・ハードウェア・セキュリティ・モジュールのフェデレーション(federation:連携、認証連携、または認証情報を共有)を許可することを含み、プロキシ・ハードウェア・セキュリティ・モジュールがプログラム命令を含み、この方法がさらに、コンピュータ・デバイスによって、プロキシ・ハードウェア・セキュリティ・モジュールに複数の定期的識別通信を送信することを含む。このプログラム命令は、所定の第1の数の複数の定期的識別通信をプロキシ・ハードウェア・セキュリティ・モジュールが受け取っていないことの結果としてプロキシ・ハードウェア・セキュリティ・モジュールを消去するように、プロキシ・ハードウェア・セキュリティ・モジュールに命令する。先行技術は、クラウド上の従来のプロキシHSMが物理的HSMから切り離されても、プロキシHSMが依然として存在することがあるという欠点を有する。本発明のこの態様は、予想される定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果として、プロキシHSMがプロキシHSMによって消去されるという追加のセキュリティを提供する。
【0011】
本発明の有利な一態様では、このプログラム命令が、複数の定期的識別通信のうちの所定の第2の数の連続する定期的識別通信をプロキシ・ハードウェア・セキュリティ・モジュールが受け取っていないことの結果としてプロキシ・ハードウェア・セキュリティ・モジュールを消去するように、プロキシ・ハードウェア・セキュリティ・モジュールに命令する。本発明のこの態様は、複数の定期的識別通信のうち受け取られていない連続する定期的識別通信の数が所定の数よりも少ない場合には、プロキシHSMが依然として存在するという追加の利点を提供する。
【0012】
本発明の別の態様では、システムが、暗号化鍵(encryption key)を保管している物理的ハードウェア・セキュリティ・モジュールと、物理的ハードウェア・セキュリティ・モジュールからフェデレートされた、フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールであり、暗号化鍵のフェデレートされたコピーを保管している、フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールと、物理的ハードウェア・セキュリティ・モジュール上のプログラム命令であり、複数の定期的識別通信を送るためのプログラム命令と、フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュール上のプログラム命令であり、物理的ハードウェア・セキュリティ・モジュールから複数の定期的識別通信を受け取るためのプログラム命令と、フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュール上のプログラム命令であり、所定の第1の数の複数の定期的識別通信をフェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールが受け取っていないことの結果として、フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールおよび暗号化鍵のフェデレートされたコピーを消去するためのプログラム命令を含む。先行技術は、クラウド上の従来のプロキシHSMが物理的HSMから切り離されても、プロキシHSMが依然として存在することがあるという欠点を有する。本発明のこの態様は、プロキシHSM上のプログラム命令が、予想される定期的識別通信をプロキシHSMが受け取っていないことの結果として、プロキシHSMおよび暗号化鍵のコピーを消去するという追加のセキュリティを提供する。
【0013】
本発明の有利な一態様は、フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュール上のプログラム命令であり、複数の定期的識別通信のうちの所定の第2の数の連続する定期的識別通信をフェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールが受け取っていないことの結果として、フェデレートされたプロキシ・ハードウェア・セキュリティ・モジュールおよび暗号化鍵のフェデレートされたコピーを消去するためのプログラム命令を含む。本発明のこの態様は、複数の定期的識別通信のうち受け取られていない連続する定期的識別通信の数が所定の数よりも少ない場合には、プロキシHSMおよび暗号化鍵のコピーが依然として存在するという追加の利点を提供する。
【0014】
本発明は、以下の詳細な説明に、下記の複数の図面を参照して、本発明の例示的な実施形態の非限定的な例として説明されている。
【図面の簡単な説明】
【0015】
図1】本発明の一実施形態によるクラウド・コンピューティング・ノードを示す図である。
図2】本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。
図3】本発明の一実施形態による抽象化モデル層を示す図である。
図4】本発明の態様による一例示的な環境のブロック図である。
図5】本発明の態様による顧客ルート鍵(customer root key)を示す図である。
図6】本発明の態様による一例示的な方法の流れ図である。
図7】本発明の態様による一例示的な方法の流れ図である。
【発明を実施するための形態】
【0016】
上述の通り、高いセキュリティ・レベルを望んでいる一部のユーザは、それらのユーザの鍵および秘密が、ユーザのプレミスに保管されユーザの制御下に置かれた物理的HSMの中に保管されることを求めている。さまざまな機能のために現在クラウドを使用している、この高いセキュリティ・レベルを望んでいるユーザは、クラウド上での活動用のKMSを必要としているが、クラウドベースのプロキシHSMによって与えられる現在のセキュリティ・レベルに満足していないことがある。本発明の実施形態は、プロキシHSMが、そのプロキシHSMのフェデレーション元である物理的HSMとの連絡を失った場合に、プロキシHSMがそのプロキシHSM自体を消去することを求めることにより、プロキシHSMに対するセキュリティが追加されるという利益を提供する。
【0017】
本発明の任意選択の実施形態は、プロキシHSMによって受け取られないときにはその後にプロキシHSMがそのプロキシHSM自体を消去することができる識別通信の所定の数を確立することにより、選択されたセキュリティ・レベルを提供する。
【0018】
本発明は一般に、暗号化されたデータのセキュリティに関し、より詳細には、クラウドにおける暗号化鍵管理サービスのセキュリティに関する。本発明の態様によれば、物理的HSMが暗号化鍵を保管しており、物理的HSMからプロキシHSMがフェデレートされ、プロキシHSMが、暗号化鍵のフェデレートされたコピーを保管し、物理的HSMが、プロキシHSMに定期的識別通信を送り、プロキシHSMが、物理的HSMから定期的識別通信を受け取り、プロキシHSMが定期的識別通信を受け取っていない場合には、プロキシHSMが、そのプロキシHSM自体および暗号化鍵のフェデレートされたコピーを消去する。実施形態では、所定の数の連続する定期的識別通信をプロキシHSMが受け取っていない場合に、プロキシHSMが、そのプロキシHSM自体および暗号化鍵のフェデレートされたコピーを消去する。このようにして、本発明の実施態様は、クラウド上でアクセス可能な暗号化鍵のセキュリティ・レベルを有利に向上させる。
【0019】
有利には、本発明の実施形態は、セキュアなコンピュータ・デバイス、例えばHSMの機能の向上を提供する。より具体的には、本発明の態様は、オンプレミス物理的HSM(on-premise physical HSM)がプロキシHSMに識別通信を送る、これまでにはないステップと、識別通信が受け取られていない場合にプロキシHSMがそのプロキシHSM自体を消去する、これまでにはないステップとを利用して、セキュリティが増強されたクラウドベースの環境でコンピュータ・デバイスが動作することを可能にする。このようにして、クラウドベースのシステム・セキュリティを増強させるという技術的課題に対する技術的ソリューションが提供される。
【0020】
一部の顧客またはクライアント用途では、クラウドを通してデータまたはシステムにアクセスする必要がある。そのような用途では、クラウド上に存在する暗号化鍵が、ユーザのプレミスに保管されたオンプレミス物理的HSM上に存在する暗号化鍵よりもセキュアでないことがあり得るため、セキュリティが関心事である。ユーザは、オンプレミス物理的HSMを物理的に制御すること、およびオンプレミス物理的HSMへのアクセスを制御することができるため、ユーザのプレミスに保管されたオンプレミス物理的HSMは高いセキュリティおよび制御レベルを提供する。クラウドベースの一部のシステムでは、オンプレミス物理的HSMへのアクセスを許すことなしにクラウドを通した暗号化鍵へのアクセスが可能となるように、オンプレミス物理的HSMのコピーとしてクラウド上にプロキシHSMが生成される。プロキシHSMが存在するサーバはユーザの物理的制御下にはないため、一部のユーザは、クラウド上にプロキシHSMを有することを快く思わない。
【0021】
高いセキュリティ・レベルを望んでいるユーザはしばしば、それらのユーザの鍵もしくは秘密またはその両方が、ユーザのプレミスに物理的に存在するオンプレミス物理的HSMの中に保管されることを求める。クラウド・プロバイダがハイブリッド・ソリューションを生み出すため、しばしば、ユーザのオンプレミス物理的HSMをクラウドにフェデレートするプロキシHSMがクラウド内に存在する。オンプレミス物理的HSMとプロキシHSMとの間の物理的接続が(ユーザまたは他のある実体(entity)によって)除かれたときにプロキシHSMが残存している場合、それは、セキュリティの障害となり得る。本発明の実施形態は、顧客を保護し、クラウド・サービス・プロバイダの管理を単純にするためのシステムおよび方法を開示する。
【0022】
本発明の実施形態は、改ざんに抵抗し、支援するオンプレミス物理的HSMがもはや存在しないときには自己破壊するプロキシHSMをクラウド・プロバイダが生成するための方法を含む。本発明の実施形態は2つの構成要素を含むことができる。第1の構成要素は、ユーザの制御下にあるユーザのプレミスに存在するオンプレミス物理的HSMである。第2の構成要素は、クラウドに存在し、ユーザが物理的に制御することがほとんどまたは全くできないことがある読取り専用プロキシHSM(プロキシHSM)である。
【0023】
実施形態では、プロキシHSMが存在する物理的環境をクラウド・プロバイダが制御している場合であってもクラウド・プロバイダが変更することができない保護された環境で、プロキシHSMがランする。実施形態では、プロキシHSMの状態を変更するための直接のインタフェースが存在せず、プロキシHSMの状態を変更するための全ての操作が、ユーザの制御下にあるオンプレミス物理的HSMを通して実施される。
【0024】
実施形態では、ユーザによって承認された場合にのみ、プロキシHSMの更新をインストールすることができる。ハイブリッドHSMの実例をユーザが生成するときには、プロキシHSMが生成され、そのプロキシHSMがオンプレミス物理的HSMに結合される。実施形態では、オンプレミス物理的HSMへのプロキシの結合(binding)が1度だけ起こり、変更することができない。この結合プロセス中に、オンプレミス物理的HSMは公開鍵を提供し、秘密鍵をプレミス上に維持する。実施形態では、鍵ポリシーもしくはプロキシHSMまたはその両方に対するそれぞれの更新がオンプレミス物理的HSMによって署名されていなければならず、そうでなければ、それらのそれぞれの更新が、プロキシHSMが存在する保護された環境によって保護された更新適用コード(apply update code)によって拒絶されることになる。
【0025】
プロキシHSMは、ユーザによって制御されたオンプレミス物理的HSMに保管された秘密鍵によって署名された定期的識別通信(「ハートビート(heartbeat)」)を受け取ることを予期している。実施形態では、いくつかのハートビートが受け取られなかった場合に、プロキシHSMおよび公開鍵が消去される。
【0026】
プロキシHSMが消去された場合に、プロキシHSMのバックアップを復元することは、本発明の実施形態を回避することにはならないであろう。なぜなら、(1)プロキシHSMのバックアップは、プロキシHSMが存在する保護された環境に対してのみ復元することができるように暗号化されており、(2)保護された環境は、オンプレミス物理的HSMへの接続なしにはサービスを開始せず、(3)所定の数のハートビートが受け取られなかったときにはその後に、プロキシHSMが公開鍵を消去するためである。
【0027】
本発明は、インテグレーションの可能な任意の技術的詳細レベルにおいて、システム、方法、もしくはコンピュータ・プログラム製品、またはこれらの組合せであることができる。このコンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体を含むことができる。
【0028】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、消去可能なプログラマブル・リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的にコード化されたデバイス、例えばパンチカードまたは命令が記録された溝の中の一段高くなった構造体、およびこれらの任意の適当な組合せを含む。本明細書で使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、ウェーブガイドもしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
【0029】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークあるいはそれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはこれらの組合せを含んでもよい。それぞれのコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0030】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、もしくは集積回路用の構成データであってもよく、あるいは、Smalltalk(R)もしくはC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同種のプログラミング言語などの手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されてもよく、または全体が遠隔コンピュータもしくは遠隔サーバ上で実行されてもよい。上記の最後のシナリオでは、遠隔コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実施するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【0031】
本明細書では、本発明の態様が、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方の図を参照して説明される。それらの流れ図もしくはブロック図またはその両方の図のそれぞれのブロック、およびそれらの流れ図もしくはブロック図またはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解されるであろう。
【0032】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行される命令が、これらの流れ図もしくはブロック図またはその両方の図の1つまたは複数のブロックに指定された機能/動作を実施する手段を生成するように、機械を形成する汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供することができる。これらのコンピュータ可読プログラム命令はさらに、命令が記憶されたコンピュータ可読ストレージ媒体が、これらの流れ図もしくはブロック図またはその両方の図の1つまたは複数のブロックに指定された機能/動作の態様を実施する命令を含む製品を含むように、特定の方式で機能するようにコンピュータ、プログラム可能データ処理装置、もしくは他のデバイス、またはこれらの組合せに指図することができるコンピュータ可読ストレージ媒体に記憶することができる。
【0033】
コンピュータ可読プログラム命令はさらに、コンピュータ、他のプログラム可能装置、または他のデバイス上で実施される命令が、これらの流れ図もしくはブロック図またはその両方の図の1つまたは複数のブロックに指定された機能/動作を実施するように、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させて、コンピュータによって実施されるプロセスを生み出すために、このコンピュータ、他のプログラム可能データ処理装置、または他のデバイス上にロードすることができる。
【0034】
添付図中の流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を示す。この点に関して、それらの流れ図またはブロック図のそれぞれのブロックは、指定されたロジック機能を実施する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。いくつかの代替実施態様では、ブロックに示された機能を、図に示された順序とは異なる順序で実施することができる。例えば、連続して示された2つのブロックが、実際は、実質的に同時に実行されることがあり、または、含まれる機能によってはそれらのブロックが逆の順序で実行されることもある。それらのブロック図もしくは流れ図またはその両方の図のそれぞれのブロック、ならびにそれらのブロック図もしくは流れ図またはその両方の図のブロックの組合せを、指定された機能もしくは動作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実施するハードウェアベースの専用システムによって実施することができることにも留意されたい。
【0035】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実施態様はクラウド・コンピューティング環境に限定されないことを予め理解されたい。むしろ、本発明の実施形態は、現在知られているまたは後に開発される他の任意のタイプのコンピューティング環境とともに実施することができる。
【0036】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの最小限のインタラクションで迅速に供給およびリリースすることができる構成可能なコンピューティング・リソース(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械、およびサービス)の共有プールへの都合のよいオンデマンド・ネットワーク・アクセスを可能にするサービス配信モデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント(deployment)・モデルを含むことができる。
【0037】
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド・コンシューマ(cloud consumer)は、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能の供給を、サービスのプロバイダとのヒューマン・インタラクションを必要とすることなく必要に応じて自動的に一方的に受けることができる。
ブロード・ネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種シンまたはシック・クライアント・プラットホーム(例えば移動電話、ラップトップ、およびPDA)による使用を促進する標準的機構を通してアクセスされる。
リソース・プーリング(resource pooling):マルチテナント・モデルを使用して多数のコンシューマにサービスを提供するため、プロバイダのコンピューティング・リソースはプールされており、要求に応じて、異なる物理的および仮想リソースが動的に割当ておよび再割当てされる。コンシューマは一般に、提供されたリソースの正確な位置を制御できずまたは正確な位置を知らないが、より高次の抽象化レベル(例えば国、州、またはデータセンター)で位置を指定することができることがあるという意味で、位置独立の感覚がある。
ラピッド・エラスティシティ(rapid elasticity):機能は、素早くスケール・アウトするために迅速かつ弾力的に、場合によっては自動的に供給することができ、素早くスケール・インするために迅速にリリースすることができる。コンシューマにとって、供給に利用可能な機能はしばしば無限であるように見え、いつでも好きな量だけ購入することができる。
メジャード・サービス(measured service):クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、および使用中ユーザ・アカウント)に対して適切なある抽象化レベルで計測機能に介入することによって、リソースの使用状況を自動的に制御および最適化する。リソースの使用状況を監視、制御および報告して、利用されているサービスのプロバイダとコンシューマの両方に透明性を提供することができる。
【0038】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上でランしているプロバイダのアプリケーションを使用する機能である。ウェブ・ブラウザなどのシン・クライアント・インタフェース(例えばウェブベースの電子メール)を通してさまざまなクライアント・デバイスからアプリケーションにアクセス可能である。場合によっては可能な限られたユーザ固有のアプリケーション構成の設定を除けば、コンシューマは、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能さえも含む基礎を成すクラウド・インフラストラクチャを管理も制御もしない。
プラットホーム・アズ・ア・サービス(PaaS):コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上で、プロバイダがサポートするプログラミング言語およびツールを使用して作成されたコンシューマ作成または取得のアプリケーションをデプロイする機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎を成すクラウド・インフラストラクチャを管理も制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成は制御することができる。
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供されるこの機能は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースを供給する機能であり、ここでコンシューマは任意のソフトウェアをデプロイおよびランすることができ、このソフトウェアは、オペレーティング・システムおよびアプリケーションを含むことができる。コンシューマは、基礎を成すクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションは制御することができ、場合によっては、選択されたネットワーク構成要素(例えばホスト・ファイアウォール)を限定的に制御することができる。
【0039】
デプロイメント・モデルは以下の通りである。
プライベート・クラウド:このクラウドのインフラストラクチャは、組織体のためだけに運営される。インフラストラクチャは、その組織体または第三者が管理することができ、オンプレミスまたはオフプレミス(off-premise)で存在することができる。
コミュニティ・クラウド:このクラウドのインフラストラクチャは、いくつかの組織体によって共有され、利害(例えば任務、セキュリティ要件、方針、およびコンプライアンス上の問題)を共有する特定のコミュニティをサポートする。インフラストラクチャは、その組織体または第三者が管理することができ、オンプレミスまたはオフプレミスで存在することができる。
パブリック・クラウド:このクラウドのインフラストラクチャは、一般大衆または大きな産業グループが利用可能であり、クラウド・サービスを販売している組織体によって所有される。
ハイブリッド・クラウド:このクラウドのインフラストラクチャは、固有の実体を維持しているが、データおよびアプリケーション・ポータビリティを可能にする標準化された技術または独占技術(例えばクラウド間のロード・バランシングのためのクラウド・バースティング)によって1つに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成体である。
【0040】
クラウド・コンピューティング環境は、無国籍、低結合、モジュール性、および意味論的相互運用性に重きを置くサービス指向の環境である。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0041】
次に図1を参照すると、クラウド・コンピューティング・ノードの一例の概略図が示されている。クラウド・コンピューティング・ノード10は適当なクラウド・コンピューティング・ノードの一例に過ぎず、クラウド・コンピューティング・ノード10が、本明細書に記載された本発明の実施形態の使用または機能の範囲に関するいかなる限定も示唆することは意図されていない。とは言え、クラウド・コンピューティング・ノード10は、以上に記載されたいかなる機能も実装もしくは実行すること、または実装および実行することができる。
【0042】
クラウド・コンピューティング・ノード10にはコンピュータ・システム/サーバ12が存在し、コンピュータ・システム/サーバ12は、他の多数の汎用または専用コンピューティング・システム環境または構成とともに動作可能である。コンピュータ・システム/サーバ12とともに使用するのに適していることがある、よく知られたコンピューティング・システム、環境、もしくは構成、またはこれらの組合せの例は、限定はされないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能なコンシューマ電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、ならびに上記のいずれかのシステムまたはデバイスを含む分散クラウド・コンピューティング環境などを含む。
【0043】
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されているプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装した、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、およびデータ構造などを含むことができる。コンピュータ・システム/サーバ12は、通信ネットワークを介してリンクされた遠隔処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で使用することができる。分散クラウド・コンピューティング環境では、ローカル・コンピュータ・システム・ストレージ媒体と遠隔コンピュータ・システム・ストレージ媒体の両方にプログラム・モジュールを置くことができる。このストレージ媒体にはメモリ・ストレージ・デバイスが含まれる。
【0044】
図1に示されている通り、クラウド・コンピューティング・ノード10のコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12の構成要素は、限定はされないが、1つまたは複数のプロセッサまたは処理ユニット16、システム・メモリ28、およびバス18を含むことができ、バス18は、システム・メモリ28を含むさまざまなシステム構成要素をプロセッサ16に結合する。
【0045】
バス18は、メモリ・バスまたはメモリ・コントローラ、周辺バス、加速グラフィクス・ポート、およびプロセッサ・バスまたはローカル・バスを含む、さまざまなバス・アーキテクチャを使用したいくつかのタイプのバス構造体のうちの1つまたは複数のバス構造体を表す。例として、このようなアーキテクチャは、限定はされないが、インダストリ・スタンダード・アーキテクチャ(ISA)・バス、マイクロ・チャネル・アーキテクチャ(MCA)・バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)・ローカル・バス、およびペリフェラル・コンポーネント・インターコネクツ(PCI)・バスを含む。
【0046】
コンピュータ・システム/サーバ12は通常、さまざまなコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ12がアクセス可能な利用可能な任意の媒体とすることができ、揮発性媒体と不揮発性媒体の両方、取外し可能媒体と非取外し可能媒体の両方を含む。
【0047】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30もしくはキャッシュ・メモリ32またはその両方など、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12はさらに、他の取外し可能/非取外し可能な揮発性/不揮発性のコンピュータ・システム・ストレージ媒体を含むことができる。単なる例として、ストレージ・システム34は、非取外し可能な不揮発性の磁気媒体(図示せず。典型的には「ハード・ドライブ」と呼ばれる)からの読取り用、および非取外し可能な不揮発性の磁気媒体への書込み用に提供することができる。図示されてはいないが、取外し可能な不揮発性の磁気ディスク(例えば「フロッピー(R)・ディスク」)からの読取り用および取外し可能な不揮発性の磁気ディスクへの書込み用の磁気ディスク・ドライブ、ならびにCD-ROM、DVD-ROM、または他の光学式媒体などの取外し可能な不揮発性光ディスクからの読取り用および取外し可能な不揮発性の光ディスクへの書込み用の光ディスク・ドライブを提供することもできる。そのような場合には、それぞれを、1つまたは複数のデータ媒体インタフェースによってバス18に接続することができる。後にさらに示し、説明することになるが、メモリ28は、本発明の実施形態の機能を実行するように構成された一組の(例えば少なくとも1つの)プログラム・モジュールを有する少なくとも1つのプログラム製品を含むことができる。
【0048】
一組の(少なくとも1つの)プログラム・モジュール42、例えば、限定はされないが、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データなどを有するプログラム/ユーティリティ40を、メモリ28に記憶することができる。このオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらのある組合せはそれぞれ、ネットワーキング環境の一実施態様を含むことができる。プログラム・モジュール42は一般に、本明細書に記載されたような本発明の実施形態の機能もしくは方法またはその両方を実行する。
【0049】
コンピュータ・システム/サーバ12はさらに、キーボード、ポインティング・デバイス、ディスプレイ24など;ユーザがコンピュータ・システム/サーバ12と対話することを可能にする1つもしくは複数のデバイス;またはコンピュータ・システム/サーバ12が1つもしくは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えばネットワーク・カード、モデムなど)、あるいはこれらの組合せなどの、1つまたは複数の外部デバイス14と通信することができる。このような通信は、入力/出力(I/O)インタフェース22を介して実行することができる。さらに、コンピュータ・システム/サーバ12は、ネットワーク・アダプタ20を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、もしくは公衆ネットワーク(例えばインターネット)、またはこれらの組合せなどの1つまたは複数のネットワークと通信することができる。図示されているように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の残りの構成要素と通信する。示されてはいないが、他のハードウェア構成要素もしくはソフトウェア構成要素またはその両方を、コンピュータ・システム/サーバ12とともに使用することができることを理解すべきである。このような構成要素の例は、限定はされないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどを含む。
【0050】
次に図2を参照すると、例示的なクラウド・コンピューティング環境50が示されている。示されている通り、クラウド・コンピューティング環境50は1つまたは複数のクラウド・コンピューティング・ノード10を含み、これらのノードによって、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイス、例えばパーソナル・ディジタル・アシスタント(PDA)もしくは移動電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはこれらの組合せと通信することができる。ノード10は互いに通信することができる。それらのノードは、以上で説明したようなプライベート、コミュニティ、パブリック、またはハイブリッド・クラウド、あるいはこれらの組合せなど(図示せず)に、物理的にまたは仮想的にグループ分けすることができる。これによって、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットホーム、もしくはソフトウェア、またはこれらの組合せをサービスとして提供することができ、そのため、クラウド・コンシューマは、ローカル・コンピューティング・デバイス上にリソースを維持する必要がない。図2に示されたタイプのコンピューティング・デバイス54A~Nは単なる例であることが意図されていること、ならびにコンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワーク上もしくはアドレス指定可能なネットワーク接続上またはその両方で(例えばウェブ・ブラウザを使用して)、コンピュータ化された任意のタイプのデバイスと通信することができることを理解されたい。
【0051】
次に図3を参照すると、クラウド・コンピューティング環境50(図2)によって提供される一組の機能抽象化層が示されている。図3に示された構成要素、層、および機能は単なる例であることが意図されており、本発明の実施形態はそれらに限定されないことを予め理解しておくべきである。図示の通り、以下の層および対応する機能が提供される。
【0052】
ハードウェアおよびソフトウェア層60は、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング構成要素66を含む。いくつかの実施形態では、ソフトウェア構成要素が、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0053】
仮想化層70は抽象化層を提供し、この層から、仮想実体の以下の例を提供することができる:仮想サーバ71、仮想ストレージ72、仮想専用ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75。
【0054】
一例では、管理層80が後に説明する機能を提供することができる。リソース供給81は、クラウド・コンピューティング環境内でタスクを実施する目的に利用されるコンピューティング・リソースおよびその他のリソースの動的調達を提供する。計量および価格設定82は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースがアプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマおよびタスクの識別確認ならびにデータおよび他のリソースの保護を提供する。ユーザ・ポータル83は、コンシューマおよびシステム管理者に、クラウド・コンピューティング環境へのアクセスを提供する。サービス水準管理84は、必要なサービス水準が達成されるようなクラウド・コンピューティング・リソースの割振りおよび管理を提供する。サービス水準合意(Service Level Agreement)(SLA)計画および履行85は、SLAによって将来必要になると予想されるクラウド・コンピューティング・リソースの事前調整および調達を提供する。
【0055】
ワークロード層90は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ解析処理94、トランザクション処理95、および機密資料セキュリティ(secret material security)96を含む。
【0056】
本発明の実施態様は、プログラム・モジュール42のうちの1つまたは複数のプログラム・モジュール42が、図3の機密資料セキュリティ96の1つもしくは複数の機能を実行する(またはコンピュータ・システム/サーバ12に実行させる)ように構成された、図1のコンピュータ・システム/サーバ12を含むことができる。例えば、プログラム・モジュール42のうちの1つまたは複数のプログラム・モジュール42を、物理的ハードウェア・セキュリティ・モジュールからプロキシ・ハードウェア・セキュリティ・モジュールをフェデレートし、プロキシ・ハードウェア・セキュリティ・モジュールを保管し、物理的ハードウェア・セキュリティ・モジュールから定期的識別通信を受け取り、プログラム・モジュールが定期的識別通信を受け取っていないことの結果として、プロキシ・ハードウェア・セキュリティ・モジュールを消去するように構成することができる。
【0057】
図4は、本発明の態様による一例示的な環境のブロック図を示す。実施形態では、この環境が、クラウド上に存在するプロキシHSMに対する高いセキュリティ・レベルを提供するためのシステム100、例えば鍵管理サービス(KMS)を含む。この実施形態では、システム100が、ユーザの物理的プレミス上に存在するオンプレミス物理的HSM200を含む。実施形態では、オンプレミス物理的HSMが、コンピュータまたはネットワーク・サーバに直接に接続したプラグ・イン・カードまたは外部デバイスなどの1つのハードウェアである。例えば、図1のストレージ・システム34はオンプレミス物理的HSMとなり得る。実施形態では、図2のクラウド・コンピューティング環境50の1つのノード10がオンプレミス物理的HSM200となり得る。オンプレミス物理的HSM200には、マスター・キー暗号化鍵(master key encryption key)210ならびにいくつかの顧客ルート鍵(CRK)、この例では顧客ルート鍵CRK-X220、CRK-Y230、およびCRK-Z240が保管されている。この例には3つの顧客ルート鍵が示されているが、オンプレミスHSM200上にはそれよりも少数のまたはそれよりも多くの顧客ルート鍵が存在することができる。本明細書で使用されるとき、CRKは、他の鍵の暗号化または復号に使用されて機密保護を提供する暗号鍵を指す。本明細書に記載された一部の実施形態ではCRKが鍵をラップする(wrap)が、他の実施形態ではCRKが他のタイプの秘密をラップすることができることに留意されたい。
【0058】
オンプレミス物理的HSM200から専用クラウド(またはプロキシ)HSM300がフェデレートされ、専用クラウド(またはプロキシ)HSM300は、マスター・キー暗号化鍵210(秘密鍵)のコピー310(公開鍵)、およびこの例ではCRK-X220(秘密鍵)のコピー320(公開鍵)を含む。この用途では、フェデレートされるという用語が、クラウドに、オンプレミス物理的HSM200の仮想コピーが、プロキシHSM300の形態で作成されるようにコピーされることを意味すると理解される。実施形態では、プロキシHSM300が、オンプレミス物理的HSM200から遠隔の位置に位置する。他の実施形態では、プロキシHSM300が、オンプレミス物理的HSM200と同じファシリティ(facility)内に物理的に位置するクラウド・サーバ上に位置し、いくつかの実施形態では、そのクラウド・サーバとオンプレミス物理的HSM200がともに同じ実体によって所有もしくは運営されており、または所有および運営されている。実施形態では、プロキシHSM300が、図4のクラウド・サーバ500または図1のコンピュータ・システム/サーバ12などのクラウド・サーバ上に存在する仮想HSMである。例えば、図2のクラウド・コンピューティング環境50の1つのノード10はクラウド・サーバ500となり得る。この例では、プロキシHSM300が1つのCRKのコピーだけを含んでいるが、他の例は、オンプレミス物理的HSM200上に保管されたCRKのうちの2つ以上のCRKのコピーを含む。後に説明するが、プロキシHSM300にはオンプレミス物理的HSM200から識別通信400が送られる。実施形態では、プロキシHSM300からオンプレミス物理的HSM200への通信も存在し得る。このような通信は例えば、実行された動作またはアクセスされた鍵の確認を含み得る。実施形態では、通信400が、例えば有線または無線接続などのネットワーク接続上で、インターネット、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、または他のなんらかのネットワークを通して伝送される。
【0059】
図5に示されているように、CRK-X320は、メタデータ、ならびにラップされた(暗号化された)鍵のいくつかのバージョン(version)を含む。ラップされた鍵のこれらのいくつかのバージョンは、現在のバージョンまたはアクティブ鍵(active key)を含む。この例は、顧客ルート鍵を保護するラップされた鍵を示しているが、他の実施形態では、保護される情報が、他のあるタイプの秘密情報であることに留意されたい。
【0060】
図6は、本発明の態様による一例示的な方法の流れ図を示す。この方法のステップは、図4の環境で実行することができ、図4に示された要素を参照して説明される。
【0061】
ステップ610では、システム100が、コンピュータ・デバイスによって、オンプレミス物理的HSM200からプロキシHSM300をフェデレートする。この例では、コンピュータ・デバイスが、図4のクラウド・サーバ500などのクラウド・サーバである。ステップ620では、システム100が、コンピュータ・デバイスによって、プロキシHSM300を保管する。この例では、プロキシHSM300がクラウド・サーバ上に保管される。ステップ630では、システム100が、コンピュータ・デバイスによって、オンプレミス物理的HSM200から定期的識別通信を受け取る。ステップ640では、システム100が、所定の数の連続する定期的識別通信をコンピュータ・デバイスが受け取っていないことの結果として、コンピュータ・デバイスによって、プロキシHSM300を消去する。実施形態では、図4に関して説明した通り、オンプレミス物理的HSM200が、クラウド上に存在するプロキシHSM300に定期的識別通信(ハートビート)を送る。受け取るようにプロキシHSM300がプログラムされている識別通信をプロキシHSM300が受け取っていない場合、プロキシHSM300は、そのプロキシHSM自体を消去する。消去を引き起こすには十分であるとみなされる通信故障のしきい値は、プロキシHSM300が生成されるときにユーザによって設定される。実施形態では、所定の数の連続する識別通信が受け取られていないときに、消去が引き起こされる。他の実施形態では、設定された時間内に所定の数の識別通信が受け取られていないときに、消去が引き起こされる。例えば、5分の時間範囲内にプロキシHSM300によって識別通信が受け取られていない場合、プロキシHSM300はそのプロキシHSM自体を消去することになる。受け取られなかった通信の数、持続時間、およびパターンに関する他の判定基準を使用して、プロキシHSM300の消去を引き起こすこともできる。実施形態では、プロキシHSM300がそのプロキシHSM自体を消去するときに、プロキシHSM300が、公開鍵を含む、プロキシHSM300の中の全てのものを消去する。この例は、プロキシHSM300上で保護されている情報として暗号化鍵を使用しているが、本発明によれば、同様に、他の任意の秘密情報をプロキシHSM300上で保護することができことに留意されたい。
【0062】
プロキシHSM300の消去は例えば、プロキシHSM300およびクラウド上の全ての関連情報を、許容され得る方法によって上書きすることを含み得る。この方法は、限定はされないが、ディジタル0および1で上書きすることを含む。
【0063】
プロキシHSMを消去することが、所定の数の連続する定期的識別通信をオンプレミス物理的HSMが受け取っていないことに起因する一実施形態は、プロキシHSMを消去することが望まれていない場合にプロキシHSMを消去することを防ぐという利点を有する。例えば、電力または処理の軽度の中断の結果、1つまたは複数の識別通信がプロキシHSMによって受け取られないということが起こり得る。このことは特に、識別通信間の時間が非常に短い場合に起こり得る。この場合、いくつかの実施形態では、識別通信が受け取られなかったことに起因する消去を防ぐことが望ましい。
【0064】
オンプレミス物理的HSMへのプロキシHSMの結合が許可され、オンプレミス物理的HSMへのプロキシHSMの後続の結合が阻止される一実施形態は、プロキシHSMの変更されたバージョンの使用を防ぐという利点を有する。オンプレミス物理的HSMへのプロキシHSMの後続の結合を阻止すると、プロキシHSMの変更がオンプレミス物理的HSMに転送されないことになるため、セキュリティの侵害によってプロキシHSMが改ざんされることが防止される。これは、改ざんされたHSMがオンプレミス物理的HSMに結合されなくなることによる。
【0065】
プロキシHSMを消去することが、所定の数の定期的識別通信をオンプレミス物理的HSMが所定の時間内に受け取っていないことに起因する一実施形態は、プロキシHSMを消去することが望まれていない場合にプロキシHSMを消去することを防ぐという利点を有する。例えば、電力または処理の軽度の中断の結果、1つまたは複数の識別通信がプロキシHSMによって受け取られないということが起こり得る。このことは特に、識別通信間の時間が非常に短い場合に起こり得る。この場合、いくつかの実施形態では、識別通信が受け取られなかったことに起因する消去を防ぐことが望ましい。
【0066】
プロキシHSMに対する変更の承認をプロキシHSMがオンプレミス物理的HSMから受け取った結果としてのみその変更が許される一実施形態は、そのような全ての変更がユーザによって承認されることを保証することにより、プロキシHSMに対する無許可の変更を防ぐという利点を有する。
【0067】
(1)プロキシHSMを消去することが、所定の数の定期的識別通信をオンプレミス物理的HSMが所定の時間内に受け取っていないことに起因し、かつ(2)プロキシHSMに対する変更の承認をプロキシHSMがオンプレミス物理的HSMから受け取った結果としてのみその変更が許される一実施形態も有用である。これは、この実施形態が、プロキシHSMの無許可のコピーを使用するのがより困難な環境を生み出すためである。
【0068】
図7は、本発明の態様による一例示的な方法の流れ図を示す。この方法のステップは、図4の環境で実行することができ、図4に示された要素を参照して説明される。
【0069】
ステップ710で、システム100は、コンピュータ・デバイス(例えば図4のオンプレミス物理的HSM200)によって、コンピュータ・デバイスからのプロキシHSM(例えば図4のプロキシHSM300)のフェデレーションを許可する。プロキシHSMは、定期的識別通信をプロキシHSMが受け取っていないことの結果としてプロキシHSMを消去するようにプロキシHSMに命令するプログラム命令を含む。コンピュータ・デバイスからのプロキシHSMのフェデレーションをコンピュータ・デバイスが許可したとき、コンピュータ・デバイスは、例えばクラウド・サーバが、コンピュータ・デバイスからのデータをコピーしてプロキシHSMを生成することを許す。ステップ720で、システム100は、コンピュータ・デバイスによって、プロキシHSM300に定期的識別通信を送信する。
【0070】
実施形態では、サービス・プロバイダが、本明細書に記載されたプロセスを実行することを企てることができる。この場合、サービス・プロバイダは、1または複数の顧客のために本発明のプロセス・ステップを実行するコンピュータ・インフラストラクチャの生成、維持、デプロイメント、サポートなどを実行することができる。これらの顧客は例えば技術を使用するいずれかの企業であることがある。見返りとして、サービス・プロバイダは、サブスクリプション(subscription)契約もしくは料金(fee)契約またはその両方の下で顧客から支払いを受け取ることができ、あるいは1または複数の第三者への広告内容の販売によって支払いを受け取ることができ、あるいはその両方を受け取ることができる。
【0071】
さらなる追加の実施形態では、本発明が、ネットワークを介して、コンピュータ実施方法を提供する。この場合、コンピュータ・システム/サーバ12(図1)などのコンピュータ・インフラストラクチャを提供することができ、本発明のプロセスを実行するための1つまたは複数のシステムを獲得すること(例えば生成する、購入する、使用する、変更することなど)ができ、コンピュータ・インフラストラクチャにデプロイすることができる。この範囲で、システムのデプロイメントは、(1)コンピュータ・システム/サーバ12(図1に示されているような)などのコンピューティング・デバイス上にコンピュータ可読媒体からプログラム・コードをインストールすること、(2)コンピュータ・インフラストラクチャに1つまたは複数のコンピューティング・デバイスを追加すること、および(3)コンピュータ・インフラストラクチャの1つまたは複数の既存のシステムを組み込み、もしくは変更し、またはその両方を実行して、コンピュータ・インフラストラクチャが本発明のプロセスを実行することを可能にすること、のうちの1つまたは複数を含み得る。
【0072】
本発明のさまざまな実施形態の説明は例示のために提示されたものであり、それらの説明が網羅的であること、または開示された実施形態に限定されることは意図されていない。当業者には、記載された実施形態の範囲および思想を逸脱しない多くの変更および変形が明白になるであろう。本明細書で使用されている用語は、実施形態の原理、実際的用途、もしくは市場に出ている技術には見られない技術的改良を最もうまく説明するように、または本明細書に開示された実施形態を当業者が理解することができるように選択した。
図1
図2
図3
図4
図5
図6
図7