JP2022089781A - システム、方法、およびコンピュータ・プログラム製品(データ・セントリック・オブジェクトの複数段階保護) - Google Patents

システム、方法、およびコンピュータ・プログラム製品(データ・セントリック・オブジェクトの複数段階保護) Download PDF

Info

Publication number
JP2022089781A
JP2022089781A JP2021194758A JP2021194758A JP2022089781A JP 2022089781 A JP2022089781 A JP 2022089781A JP 2021194758 A JP2021194758 A JP 2021194758A JP 2021194758 A JP2021194758 A JP 2021194758A JP 2022089781 A JP2022089781 A JP 2022089781A
Authority
JP
Japan
Prior art keywords
encrypted data
data
security module
hardware security
location
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.)
Pending
Application number
JP2021194758A
Other languages
English (en)
Inventor
ソフィア、トーマス、アントニー
Thomas Sofia Anthony
キャフリー、エム、ジェームス
M Caffrey James
ギナダー、トーマス
Ginader Thomas
カトニカ、ジー、ジェイソン
G Katonica Jason
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 JP2022089781A publication Critical patent/JP2022089781A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Figure 2022089781000001
【課題】物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護する。
【解決手段】コンピューティング・システムは、認証されたユーザから暗号化されたデータにアクセスする要求を受信する。暗号化されたデータは、暗号化に使用されたデータ暗号化鍵に関する情報を含む。コンピューティング・システムは、ユーザが認証されたコンピュータ・システムに暗号化されたデータを提供する。コンピュータ・システムは、ハードウェア・セキュリティ・モジュールの場所に関連付けられたハードウェア・セキュリティ・モジュール内に記憶されたマスター鍵によって保護された復号鍵のセットを含む。ハードウェア・セキュリティ・モジュールは、データ暗号化鍵が復号鍵のセットのうちの1つに対応するとの判定に基づいて、暗号化されたデータを復号する。復号鍵のセットは、ハードウェア・セキュリティ・モジュールの場所に基づいて決定される。
【選択図】図1

Description

本発明は一般にデータ保護に関し、より詳細には、物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護することに関する。
企業は自社のデータを保護するために、信頼の境界(perimeter of trust)を含むデータ保護システムを使用することが多い。
上記のようなシステムでは、信頼の境界の中で保護されているデータは、他の宛先に移動させることができない。
本発明の実施形態は、物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護するための方法を対象とする。非限定的な例示的なコンピュータ実装方法は、コンピューティング環境のコンピューティング・システムによって、認証されたユーザから暗号化されたデータにアクセスする要求を受信することであって、暗号化されたデータは、暗号化されたデータの暗号化に使用されたデータ暗号化鍵に関する情報を含む、受信することを含む。この方法はまた、コンピューティング・システムによって、ユーザが認証されたコンピュータ・システムに暗号化されたデータを提供することであって、コンピュータ・システムは、ハードウェア・セキュリティ・モジュールの場所に関連付けられた、ハードウェア・セキュリティ・モジュール内に記憶されたマスター鍵によって保護された復号鍵のセットを含む、提供することを含む。この方法はさらに、ハードウェア・セキュリティ・モジュールによって、データ暗号化鍵が復号鍵のセットのうちの1つに対応するとの判定に基づいて、暗号化されたデータを復号することであって、復号鍵のセットは、ハードウェア・セキュリティ・モジュールの場所に基づいて決定される、復号することを含む。
本発明の実施形態は、物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護するためのシステムを対象とする。非限定的な例示的なシステムは、相互に通信する第1のコンピューティング・システム、第2のコンピューティング・システム、およびデータ・ストレージ・デバイスを含む。第1のコンピューティング・システムは、第1の場所に配置され、第1の復号鍵のセットを保護する第1のマスター鍵を含む第1のハードウェア・セキュリティ・モジュールを含む。第2のコンピューティング・システムは、第2の場所に配置され、第2の復号鍵のセットを保護する第2のマスター鍵を含む第2のハードウェア・セキュリティ・モジュールを含む。第1の復号鍵のセットは、第1の場所に基づいて決定され、第2の復号鍵のセットは、第2の場所に基づいて決定される。
本発明の実施形態は、物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護するためのコンピュータ・プログラム製品を対象とする。非限定的な例示的なコンピュータ・プログラム製品は、プログラム命令を具現化するコンピュータ可読記憶媒体を含み、プログラム命令は、プロセッサによって実行可能であり、プロセッサに動作を実行させ、動作は、コンピューティング環境のコンピューティング・システムによって、認証されたユーザから暗号化されたデータにアクセスする要求を受信することであって、暗号化されたデータは、暗号化されたデータの暗号化に使用されたデータ暗号化鍵に関する情報を含む、受信することを含む。動作はまた、コンピューティング・システムによって、ユーザが認証されたコンピュータ・システムに暗号化されたデータを提供することであって、コンピュータ・システムは、ハードウェア・セキュリティ・モジュールの場所に関連付けられた、ハードウェア・セキュリティ・モジュール内に記憶されたマスター鍵によって保護された復号鍵のセットを含む、提供することを含む。動作はさらに、ハードウェア・セキュリティ・モジュールによって、データ暗号化鍵が復号鍵のセットのうちの1つに対応するとの判定に基づいて、暗号化されたデータを復号することであって、復号鍵のセットは、ハードウェア・セキュリティ・モジュールの場所に基づいて決定される、復号することを含む。
本発明の技術を通じて、追加の技術的特徴および利益が実現される。本発明の実施形態および態様は、本明細書で詳細に説明しており、特許請求した主題の一部と考えられる。より良く理解するために、詳細な説明および図面を参照されたい。
本明細書に記載した排他的権利の細目(the specifics of the exclusive rights)については、本明細書の末尾にある特許請求の範囲において具体的に示しており、明確に特許請求している。本発明の実施形態の前述の特徴および利点、ならびにその他の特徴および利点は、添付の図面と併せて解釈される以下の詳細な説明から明らかである。
本発明の1つまたは複数の実施形態による、物理的な場所に基づいてデータ・オブジェクトを保護するためのシステムを含むコンピューティング環境のブロック図である。 本発明の1つまたは複数の実施形態による、物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護するための方法のフロー図である。 本発明の1つまたは複数の実施形態によるコンピューティング・システムを示す図である。 本発明の1つまたは複数の実施形態によるクラウド・コンピューティング環境を示す図である。 本発明の1つまたは複数の実施形態による抽象化モデル・レイヤを示す図である。
本明細書に示す図は例示的なものである。本発明の思想から逸脱することなく、本明細書に記載した図または動作には多くの変形を行うことができる。たとえば、アクションは異なる順序で実行することができ、またはアクションを追加したり、削除したり、修正したりすることができる。また、「結合された(coupled)」という用語およびその変化形は、2つの要素の間に通信経路を有することを示しており、それらの間に介在する要素/接続がない、要素間の直接的な接続を含意するものではない。これらの変形は全て、本明細書の一部と考えられる。
実施形態は、物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護するための方法、システム、およびコンピュータ・プログラム製品を含む。例示的な実施形態では、各場所のコンピューティング・システムは、ハードウェア・セキュリティ・モジュール(HSM)に関連付けられおり、HSMは、そのコンピューティング・システムに記憶された鍵を保護するためのラッピング鍵としての役割を果たすマスター鍵を保護するために使用される。その結果、コンピューティング・システムに記憶された鍵はHSMに結び付けられる。例示的な実施形態では、暗号化されたデータへのアクセスは、HSMへのアクセスおよびコンピューティング・システムへのアクセスが可能なユーザに制限され、これは、従来型の企業向け技術、たとえば、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)などを通じて制御される。
1つの実施形態では、鍵の階層全体を解錠するために、マスター・シークレット(master secret)が使用される。いくつかの実施形態では、マスター・シークレットはコンピューティング・システム内のファイルに記憶され、このファイルはn個のランダムに生成された値によって保護され、これらの値を使用して、マスター・シークレットの暗号化に使用される暗号化鍵を導出する。1つの実施形態では、マスター鍵の作成は、コンピューティング・システムへの直接的な物理的アクセスが不可能な、信頼されたコンピューティング環境(trusted computing environment)内で実行される。そして、n個のランダムに生成された値自体は、HSMを用いた暗号化によって安全性を確保することができる。これにより、それらのランダムに生成された値が特定のHSMに結び付けられる。これらのランダムに生成された値は、コンピューティング・システム内の残りの暗号化/復号鍵へのアクセスを制御するために使用される。データが暗号化されるときに、暗号化中に使用された鍵に関する情報がデータ内に埋め込まれる。
ここで図1を参照すると、本発明の1つまたは複数の実施形態による、物理的な場所に基づいてデータ・オブジェクトを保護するためのシステムを含むコンピューティング環境100のブロック図が示されている。例示的な実施形態では、コンピューティング環境100は、複数のコンピューティング・システム110を含み、各コンピューティング・システム110は、ハードウェア・セキュリティ・モジュール(HSM)112を含む。例示的な実施形態では、コンピューティング・システム110のうちの1つまたは複数は、コンピューティング・システム、たとえば、図3に示すものに具現化され得る。他の実施形態では、コンピューティング・システム110のうちの1つまたは複数は、メインフレーム・コンピューティング・システム、たとえば、IBM(R)によって販売されているZ/ARCHITECTURE(R)メインフレーム・コンピュータに具現化され得る。他の実施形態では、コンピューティング・システム110のうちの1つまたは複数は、クラウド・コンピューティング・システム、たとえば、図4および図5に示すものに具現化され得る。HSM112は、デジタル鍵を防護および管理し、暗号化、復号、および他の暗号機能を実行するように構成される物理的なコンピューティング・デバイスである。1つの実施形態では、HSM112は、IBM(R)によって販売されているCRYPTOEXPRESSカードである。
コンピューティング環境100はまた、コンピューティング・システム110、認証システム130、およびデータ・ストレージ・システム140の間の通信を容易にするよう構成されるネットワーク120を含む。ネットワーク120は、パブリック(たとえば、インターネット)、プライベート(たとえば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、仮想プライベート・ネットワーク)のうちの1つまたは複数、あるいはそれらの組合せであり得、無線および有線伝送システム(たとえば、衛星、セルラー・ネットワーク、地上ネットワークなど)を含み得る。例示的な実施形態では、認証システム130は、従来型の企業向け技術、たとえば、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)などを使用して、コンピューティング・システムのユーザを認証するように構成される中央ID管理システム(centralized identity management system)である。認証システム130は、コンピューティング・システム、たとえば、図3に示すもの、またはクラウド・コンピューティング・システム、たとえば、図4および図5に示すものに具現化され得る。
コンピューティング環境100はさらに、コンピューティング環境内の任意のコンピューティング・システム110によってアクセス可能なデータ・オブジェクトを記憶するように構成されるデータ・ストレージ・システム140を含む。例示的な実施形態では、データ・オブジェクトのうちの1つまたは複数は、暗号化されたフォーマットで記憶される。データ・ストレージ・システム140は、コンピューティング・システム、たとえば、図3に示すもの、またはクラウド・コンピューティング・システム、たとえば、図4および図5に示すものに具現化され得る。
例示的な実施形態では、各HSM112は、鍵114を保護するためのラッピング鍵(wrapping key)としての役割を果たす固有のマスター鍵116a、116nを含む。鍵114は、鍵ストア118を解錠するために使用される。HSM112および固有のマスター鍵116a、116nを使用することにより、鍵ストア118およびその内容がHSM112に結び付けられ、それによって、暗号化されたデータ・オブジェクトへのアクセスが、そのHSM112へのアクセスおよび関連付けられたコンピューティング・システム110へのアクセスが可能なユーザに制限される。例示的な実施形態では、鍵ストア118は鍵の階層を含み、各鍵は、データ・ストレージ・システム140によって暗号化されたデータ・オブジェクトを復号するために使用される。例示的な実施形態では、各コンピューティング・システム110上の鍵114は、鍵ストア118内の鍵の階層の異なる部分またはサブセットを解錠するように構成される。
ここで図2を参照すると、本発明の1つまたは複数の実施形態による、物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護するための方法200のフロー図が示されている。ブロック202に示すように、方法200は、認証されたユーザから暗号化されたデータにアクセスする要求を受信することを含む。例示的な実施形態では、暗号化されたデータは、暗号化されたデータの暗号化に使用されたデータ暗号化鍵に関する情報を含む。次に、ブロック204に示すように、方法200は、ユーザが認証されたコンピュータ・システムに暗号化されたデータを提供することを含む。例示的な実施形態では、認証されたユーザは、コンピュータ・システムのユーザの同一性を検証するように構成されるコンピューティング環境の認証システムによって認証される。
例示的な実施形態では、コンピュータ・システムは、ハードウェア・セキュリティ・モジュール内に記憶されたマスター鍵によって保護された復号鍵のセットを含み、マスター鍵は、ハードウェア・セキュリティ・モジュールの場所に関連付けられる。復号鍵のセットは、コンピューティング環境の暗号化データ・ストレージ・デバイス内の暗号化されたデータ・オブジェクトのサブセットを復号するように構成される。例示的な実施形態では、マスター鍵は、ハードウェア・セキュリティ・モジュールに固有である。例示的な実施形態では、マスター鍵は、コンピューティング環境のセキュリティ管理者によってハードウェア・セキュリティ・モジュールにロードされる。
方法200はまた、ハードウェア・セキュリティ・モジュールによって、データ暗号化鍵が復号鍵のセットのうちの1つに対応するとの判定に基づいて、暗号化されたデータを復号することを含み、復号鍵のセットは、ハードウェア・セキュリティ・モジュールの場所に基づいて決定される。例示的な実施形態では、方法200は、データ暗号化鍵が復号鍵のセットのうちの1つに対応しないとの判定に基づいて、暗号化されたデータへのアクセスを拒否することを含む。例示的な実施形態では、場所に関連付けられたハードウェア・セキュリティ・モジュールの識別は、認証されたユーザの1つまたは複数の属性を特定することを含む。認証されたユーザの1つまたは複数の属性は、認証されたユーザの物理的な場所、認証されたユーザのアクセス・グループ、および認証されたユーザの組織内での役割、のうちの1つまたは複数を含む。
例示的な実施形態では、ユーザがコンピューティング環境内の保護されたデータにアクセスしたい場合、複数の認証チェックが実行される。まず、ユーザは認証システムとの間で認証を行わなければならない。次に、ユーザは保護されたデータをコンピューティング環境内のコンピューティング・システムに伝え、保護されたデータは、そのデータを保護するために使用されたデータ暗号化鍵(DEK:data encryption key)に関する埋め込み情報を含む。そして、DEKがコンピューティング・システム内で見つかり、DEKを使用して保護されたデータを復号する。保護されたデータの復号は、鍵の素材(key material)を復号して使用するために、HSMが利用可能な環境のみで成功する。結果として、物理的な境界を作成することができ、これにより、ユーザはコンピューティング環境全体にわたる異なるコンピューティング・システムにログインすることはできるが、ユーザは各コンピューティング・システムに関連付けられたHSMに基づいて、そのコンピューティング・システム内の特定のタイプの保護されたデータにしかアクセスできなくなる。
本発明の1つまたは複数の実施形態は、現在のデータ保護の方法よりも技術的な改善を提供する。例示的な実施形態では、コンピューティング環境は、システム管理者およびセキュリティ管理者の間の職務の分離を提供し、地理的に分散したコンピューティング環境において機密データのより高いレベルの保護および制御を可能にする。例示的な実施形態では、セキュリティ管理者は、コンピューティング・システムのシステム管理者とやり取りすることなく、そのコンピューティング・システムのHSMアクセスを除去することによって、そのコンピューティング・システムによる保護されたデータへのアクセスを排除することができる。加えて、システム管理者は、コンピューティング環境内のコンピューティング・システムをある場所から第2の場所へ複製することができるが、第2の場所のユーザが保護されたデータにアクセスできるようにするには、セキュリティ管理者は、HSMを第2の場所に供給することが必要になる。
ここで図3を参照すると、一実施形態によるコンピュータ・システム300が概略的に示されている。コンピュータ・システム300は、本明細書に記載のように、様々な通信技術を利用する任意の数のコンピューティング・デバイスおよびネットワークまたはそれらの組合せを含むまたは利用するあるいはその両方である電子コンピュータ・フレームワークとすることができる。コンピュータ・システム300は、容易にスケーリング可能な、拡張可能な、およびモジュール式のものとすることができ、異なるサービスに変化したり、一部の特徴を他の特徴とは独立して再構成したりする能力を有する。コンピュータ・システム300は、たとえば、サーバ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、またはスマートフォンであり得る。いくつかの例では、コンピュータ・システム300は、クラウド・コンピューティング・ノードであり得る。コンピュータ・システム300は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的なコンテキストで説明し得る。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム300は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境において実施され得る。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム記憶媒体に配置され得る。
図3に示すように、コンピュータ・システム300は、1つまたは複数の中央処理装置(CPU)301a、301b、301cなどを有する(集合的にまたは総称的にプロセッサ301と呼ぶ)。プロセッサ301は、シングル・コア・プロセッサ、マルチ・コア・プロセッサ、コンピューティング・クラスタ、または任意の数の他の構成とすることができる。処理回路とも呼ばれるプロセッサ301は、システム・バス302を介してシステム・メモリ303および他の様々なコンポーネントに結合される。システム・メモリ303は、読み取り専用メモリ(ROM)304およびランダム・アクセス・メモリ(RAM)305を含むことができる。ROM304は、システム・バス302に結合され、コンピュータ・システム300の特定の基本機能を制御する基本入力/出力システム(BIOS)を含み得る。RAMは、プロセッサ301によって使用するためにシステム・バス302に結合された読み出し/書き込みメモリである。システム・メモリ303は動作中に、前述の命令の動作のために一時的なメモリ・スペースを提供する。システム・メモリ303は、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ、フラッシュ・メモリ、または他の任意の適切なメモリ・システムを含むことができる。
コンピュータ・システム300は、システム・バス302に結合された入力/出力(I/O)アダプタ306および通信アダプタ307を含む。I/Oアダプタ306は、ハード・ディスク308または他の任意の同様のコンポーネントあるいはそれらの組合せと通信するスモール・コンピュータ・システム・インターフェース(SCSI)アダプタであり得る。I/Oアダプタ306およびハード・ディスク308は、本明細書では集合的にマス・ストレージ310と呼ぶ。
コンピュータ・システム300上で実行されるソフトウェア311は、マス・ストレージ310に記憶され得る。マス・ストレージ310は、プロセッサ301によって読み出し可能な有形の記憶媒体の一例であり、ソフトウェア311は、プロセッサ301によって実行される命令であって、たとえば、様々な図に関連して以下で本明細書で説明するようにコンピュータ・システム300を動作させる命令として記憶される。コンピュータ・プログラム製品の例、およびそのような命令の実行については、本明細書でより詳細に論じている。通信アダプタ307は、システム・バス302を外部ネットワークであり得るネットワーク312と相互接続して、コンピュータ・システム300が、他のそのようなシステムと通信することを可能にする。1つの実施形態では、システム・メモリ303の一部分およびマス・ストレージ310は、集合的にオペレーティング・システムを記憶し、このオペレーティング・システムは、図3に示す様々なコンポーネントの機能を調整するための任意の適切なオペレーティング・システム、たとえば、IBM(R)コーポレーションのz/OS(R)またはAIX(R)オペレーティング・システムなどであり得る。
ディスプレイ・アダプタ315およびインターフェース・アダプタ316を介してシステム・バス302に接続されるように追加の入力/出力デバイスを示している。1つの実施形態では、アダプタ306、307、315、および316は、中間のバス・ブリッジ(図示せず)を介してシステム・バス302に接続される1つまたは複数のI/Oバスに接続され得る。ディスプレイ319(たとえば、スクリーンまたはディスプレイ・モニタ)が、ディスプレイ・アダプタ315によってシステム・バス302に接続され、ディスプレイ・アダプタ315は、グラフィック集約的なアプリケーションのパフォーマンスを改善するためのグラフィック・コントローラおよびビデオ・コントローラを含み得る。インターフェース・アダプタ316を介してキーボード321、マウス322、スピーカー323などをシステム・バス302に相互接続することができ、インターフェース・アダプタ316は、たとえば、複数のデバイス・アダプタを単一の集積回路に統合したスーパーI/Oチップを含み得る。ハード・ディスク・コントローラ、ネットワーク・アダプタ、およびグラフィック・アダプタなどの周辺デバイスを接続するための適切なI/Oバスは、典型的には、周辺機器相互接続(PCI)などの一般的なプロトコルを含む。このため、図3に構成されるように、コンピュータ・システム300は、プロセッサ301の形態の処理機能と、システム・メモリ303およびマス・ストレージ310を含むストレージ機能と、キーボード321およびマウス322などの入力手段と、スピーカー323およびディスプレイ319を含む出力機能と、を含む。
いくつかの実施形態では、通信アダプタ307は、任意の適切なインターフェースまたはプロトコル、たとえば、とりわけ、インターネット・スモール・コンピュータ・システム・インターフェースなどを使用してデータを送信することができる。ネットワーク312は、とりわけ、セルラー・ネットワーク、無線ネットワーク、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、またはインターネットであり得る。外部コンピューティング・デバイスが、ネットワーク312を介してコンピュータ・システム300に接続し得る。いくつかの例では、外部コンピューティング・デバイスは、外部ウェブサーバまたはクラウド・コンピューティング・ノードであり得る。
図3のブロック図は、コンピュータ・システム300が図3に示した全てのコンポーネントを含むことを示すように意図していないことを理解されたい。むしろ、コンピュータ・システム300は、任意の適切なより少ないコンポーネント、または図3に示していない任意の適切な追加のコンポーネント(たとえば、追加のメモリ・コンポーネント、組み込みコントローラ、モジュール、追加のネットワーク・インターフェースなど)を含むことができる。さらなる、コンピュータ・システム300に関して本明細書に記載した実施形態は、任意の適切なロジックを用いて実装され得、ロジックは、本明細書で言及する場合、様々な実施形態において、任意の適切なハードウェア(たとえば、とりわけ、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(たとえば、とりわけ、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組合せを含むことができる。
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に列挙した教示の実装形態はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られているまたは今後開発される他の任意のタイプのコンピューティング環境と共に実装することが可能である。
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとのやり取りによって迅速に供給および解放することができる、設定可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの配備モデルとを含み得る。
特徴は以下の通りである。
オンデマンド・セルフ・サービス:クラウド・コンシューマは、サービスのプロバイダとの人的な対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的に供給することができる。
ブロード・ネットワーク・アクセス:能力はネットワークを介して利用することができ、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースをプールして、様々な物理リソースおよび仮想リソースが需要に応じて動的に割り当ておよび再割り当てされるマルチ・テナント・モデルを使用して複数のコンシューマにサービス提供する。一般にコンシューマは、提供されるリソースの正確な位置に対して何もできず、知っているわけでもないが、より高い抽象化レベル(たとえば、国、州、またはデータセンターなど)では位置を特定可能であり得るという点で位置非依存の感覚がある。
迅速な弾力性:能力を迅速かつ弾力的に、場合によっては自動的に供給して素早くスケール・アウトし、迅速に解放して素早くスケール・インすることができる。コンシューマにとって、供給可能な能力は無制限であるように見えることが多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウド・システムは、サービスのタイプ(たとえば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適したある抽象化レベルでの計量機能を活用して、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供することができる。
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブベースの電子メール)などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を可能性のある例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション機能を含む、基盤となるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または取得したアプリケーションをクラウド・インフラストラクチャ上に配備することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、配備されたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される能力は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをコンシューマが配備して動作させることが可能な、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースを供給することである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、配備されたアプリケーションを制御し、場合によっては選択したネットワーキング・コンポーネント(たとえば、ホスト・ファイアウォール)を限定的に制御する。
配備モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは組織専用に運用される。これは組織または第三者によって管理され得、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャはいくつかの組織によって共有され、共通の懸念(たとえば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項など)を有する特定のコミュニティをサポートする。これは組織または第三者によって管理され得、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模な業界団体に対して利用可能にされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または独自技術(たとえば、クラウド間の負荷分散のためのクラウド・バースティング)によって結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を合成したものである。
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味論的相互運用性に重点を置いたサービス指向型である。クラウド・コンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図4を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示のように、クラウド・コンピューティング環境50は1つまたは複数のクラウド・コンピューティング・ノード10を含み、これらを使用して、たとえば、パーソナル・デジタル・アシスタント(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはそれらの組合せなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信し得る。ノード10は相互に通信し得る。これらは、たとえば、上述のプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組合せなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(図示せず)。これにより、クラウド・コンピューティング環境50は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを維持する必要がない、インフラストラクチャ・アズ・ア・サービス、プラットフォーム・アズ・ア・サービス、またはソフトウェア・アズ・ア・サービス、あるいはそれらの組合せを提供することが可能になる。図4に示したコンピューティング・デバイス54A~Nのタイプは例示的なものにすぎないことが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能接続(たとえば、ウェブ・ブラウザを使用)あるいはその両方を介して任意のタイプのコンピュータ化デバイスと通信できることを理解されたい。
ここで図5を参照すると、クラウド・コンピューティング環境50(図4)によって提供される機能的抽象化レイヤのセットが示されている。図5に示したコンポーネント、レイヤ、および機能は例示的なものにすぎないことが意図されており、本発明の実施形態はこれらに限定されないことを事前に理解されたい。図示のように、以下のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66が含まれる。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は抽象化レイヤを提供し、抽象化レイヤから、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75が提供され得る。
一例では、管理レイヤ80は、下記の機能を提供し得る。リソース供給81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を提供する。計量および価格決定82は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する会計または請求とを提供する。一例では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマおよびタスクの同一性検証だけでなく、データおよび他のリソースに対する保護も提供する。ユーザ・ポータル83は、コンシューマおよびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されたサービス・レベルが満たされるような、クラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル合意(SLA)の計画および履行85は、SLAによれば将来要求されると予想されるクラウド・コンピューティング・リソースの事前手配および調達を提供する。
ワークロード・レイヤ90は、クラウド・コンピューティング環境が利用され得る機能性の例を提供する。このレイヤから提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ分析処理94、取引処理95、ならびにデータ保護96、が含まれる。
本明細書では、本発明の様々な実施形態について、関連する図面を参照して説明している。本発明の範囲から逸脱することなく、本発明の代替の実施形態を考案することができる。以下の説明および図面では、要素間の様々な接続および位置関係(たとえば、上、下、隣接など)を記載している。これらの接続または位置関係あるいはその両方は、特に指定のない限り、直接的または間接的なものとすることができ、本発明はこの点で限定されるものではない。したがって、エンティティの結合は、直接的または間接的な結合を指すことができ、エンティティ間の位置関係は、直接的または間接的な位置関係とすることができる。また、本明細書に記載の様々なタスクおよび処理ステップは、本明細書に詳細に記載していない追加のステップまたは機能性を有する、より包括的な手順または処理に組み込むことができる。
本明細書に記載の方法の1つまたは複数は、以下の技術のいずれかまたは組合せを用いて実装することができ、各技術は当技術分野ではよく知られているものであり、以下の技術とは、データ信号に対する論理関数を実装するための論理ゲートを有するディスクリート論理回路、適切な組合せ論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブル・ゲート・アレイ(PGA)、フィールド・プログラマブル・ゲート・アレイ(FPGA)などである。
簡潔にするために、本発明の態様の作成および使用に関連する従来技術は、本明細書では詳細に説明する場合があり、しない場合もある。具体的には、本明細書に記載の様々な技術的特徴を実装するためのコンピューティング・システムおよび特定のコンピュータ・プログラムの様々な態様は、よく知られている。したがって、簡潔さのために、多くの従来の実装の詳細については本明細書では簡単にしか言及せず、または完全に省略し、よく知られているシステムまたは処理あるいはその両方の詳細は提供しない。
いくつかの実施形態では、様々な機能または動作は、所与の場所において、または1つもしくは複数の装置またはシステムの動作に関連して、あるいはその両方で行うことができる。いくつかの実施形態では、所与の機能または動作の一部分は、第1のデバイスまたは場所において実行することができ、機能または動作の残りの部分は、1つまたは複数の追加のデバイスまたは場所において実行することができる。
本明細書で使用する用語は、特定の実施形態を説明するためのものにすぎず、限定的であることを意図するものではない。本明細書で使用する場合、単数形「a」、「an」および「the」は、文脈がそうでないことを明確に示さない限り、複数形も含むものとする。本明細書で使用される場合、「備える(comprises)」という用語、もしくは「備える(comprising)」という用語、またはその両方は、記述した特徴、整数、ステップ、動作、要素、もしくは構成要素、またはそれらの組合せの存在を示すものであるが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、もしくはそれらのグループ、またはそれらの組合せの存在または追加を排除するものではないということはさらに理解されよう。
以下の特許請求の範囲における全てのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作、および均等物は、明確に特許請求した他の特許請求要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むものとする。本開示は、例示および説明の目的で提示しているが、網羅的であることも、開示した形態に限定されることも意図したものではない。本開示の範囲および思想から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本開示の原理および実際の適用を最もよく説明し、企図した特定の用途に適した様々な修正を有する様々な実施形態について本開示を当業者が理解できるようにするために、実施形態を選択し、説明している。
本明細書に示す図は例示的なものである。本開示の思想から逸脱することなく、本明細書に記載した図またはステップ(もしくは動作)に多くの変形を行うことができる。たとえば、アクションは異なる順序で実行することができ、またはアクションを追加したり、削除したり、修正したりすることができる。また、「結合された」という用語は、2つの要素の間に信号経路を有することを示しており、それらの間に介在する要素/接続がない、要素間の直接的な接続を含意するものではない。これらの変形は全て、本開示の一部と考えられる。
特許請求の範囲および本明細書を解釈するために、以下の定義および略語を使用することにする。本明細書で使用する場合、「備える(comprises)」、「備える(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、「有する(having)」、「含む(contains)」もしくは「含む(containing)」という用語、またはそれらの他の任意の変化形は、非排他的な包含を含むものとする。たとえば、要素のリストを含む組成物、混合物、プロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的にリストしていない、あるいはそのような組成物、混合物、プロセス、方法、物品、または装置につきものの他の要素を含むことができる。
加えて、「例示的(exemplary)」という用語は、本明細書では、「例、事例、または実例としての役割を果たすこと」を意味するために使用している。「例示的」なものとして本明細書に記載している任意の実施形態または設計は、必ずしも他の実施形態または設計よりも好ましいまたは有利なものと解釈されるべきではない。「少なくとも1つ(at least one)」および「1つまたは複数(one or more)」という用語は、1以上の任意の整数、すなわち、1つ、2つ、3つ、4つなどを含むものと理解される。「複数(a plurality)」という用語は、2以上の任意の整数、すなわち、2つ、3つ、4つ、5つなどを含むものと理解される。「接続(connection)」という用語は、間接的な「接続」および直接的な「接続」の両方を含むことができる。
「約(about)」、「実質的(substantially)」、「およそ(approximately)」という用語、およびこれらの変化形は、本出願時に利用可能な機器に基づく特定の数量の測定に関連する誤差の程度を含むものとする。たとえば、「約」は、所与の値から±8%もしくは5%または2%の範囲を含むことができる。
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組合せであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリー・スティック(R)、フロッピー(R)・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組合せが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または有線で伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組合せなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組合せを含み得る。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してコンピュータ可読プログラム命令を実行することによって、電子回路を個人向けにし得る。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書で説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するための手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読ストレージ媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製造品を構成するように、コンピュータ可読ストレージ媒体に記憶され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはそれらの組合せに特定の方式で機能するように指示することができるものであってよい。
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するように、コンピュータ実装処理を作出するべく、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替的実装形態では、ブロックに記載した機能は、図示した順序以外で行われ得る。たとえば、関与する機能に応じて、連続して示した2つのブロックは、実際には実質的に同時に実行され得、またはそれらのブロックは、場合により逆の順序で実行され得る。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行するか、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用のハードウェア・ベースのシステムによって実装できることにも気付くであろう。
本発明の様々な実施形態の説明は、例示の目的で提示してきたが、網羅的であることも、開示した実施形態に限定されることも意図したものではない。記載した実施形態の範囲および思想から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用する用語は、実施形態の原理、実際の適用、もしくは市場に見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に記載した実施形態を理解できるようにするために選択した。
60 ハードウェアおよびソフトウェア
70 仮想化
80 管理
90 ワークロード
110 コンピューティング・システム
112 HSM
114 鍵
116a マスター鍵
116n マスター鍵
118 鍵ストア
120 ネットワーク
130 認証システム
140 データ・ストレージ・システム
300 コンピュータ・システム
301a CPU
301b CPU
301c CPU
302 システム・バス
303 システム・メモリ
304 ROM
305 RAM
306 I/Oアダプタ
307 通信アダプタ
308 ハード・ディスク
310 マス・ストレージ
311 ソフトウェア
312 ネットワーク
315 ディスプレイ・アダプタ
316 インターフェース・アダプタ
319 ディスプレイ
321 キーボード
322 マウス
323 スピーカー

Claims (20)

  1. 物理的な場所に基づいてデータ・オブジェクトを保護するためのシステムであって、
    相互に通信する第1のコンピューティング・システム、第2のコンピューティング・システム、およびデータ・ストレージ・デバイスを含むコンピューティング環境
    を備え、
    前記第1のコンピューティング・システムは、第1の場所に配置され、第1の復号鍵のセットを保護する第1のマスター鍵を含む第1のハードウェア・セキュリティ・モジュールを含み、
    前記第2のコンピューティング・システムは、第2の場所に配置され、第2の復号鍵のセットを保護する第2のマスター鍵を含む第2のハードウェア・セキュリティ・モジュールを含み、
    前記第1の復号鍵のセットは、前記第1の場所に基づいて決定され、
    前記第2の復号鍵のセットは、前記第2の場所に基づいて決定される、
    システム。
  2. 前記第1の復号鍵のセットは、前記データ・ストレージ・デバイス内の第1の暗号化されたデータ・オブジェクトのサブセットを復号するように構成される、請求項1に記載のシステム。
  3. 前記第2の復号鍵のセットは、前記データ・ストレージ・デバイス内の第2の暗号化されたデータ・オブジェクトのサブセットを復号するように構成され、前記第1の復号鍵のセットにより複合されたサブセットは前記第2の復号鍵のセットにより複合されたサブセットと異なる、請求項2に記載のシステム。
  4. 前記第1のコンピューティング・システムは、前記第1の場所の認証されたユーザから暗号化されたデータを受信するように構成され、前記暗号化されたデータは、前記暗号化されたデータの暗号化に使用されたデータ暗号化鍵に関する情報を含む、請求項1に記載のシステム。
  5. 前記第1のコンピューティング・システムは、データ暗号化鍵が前記第1の復号鍵のセットのうちの1つに対応するとの判定に基づいて、暗号化されたデータを復号するようにさらに構成される、請求項1に記載のシステム。
  6. 前記コンピューティング環境は、前記第1のコンピューティング・システムおよび前記第2のコンピューティング・システムへのユーザ・アクセスを制御する認証システムをさらに備える、請求項1に記載のシステム。
  7. 物理的な場所に基づいてコンピューティング環境内のデータ・オブジェクトを保護するための方法であって、
    前記コンピューティング環境のコンピューティング・システムによって、認証されたユーザから暗号化されたデータにアクセスする要求を受信することであって、前記暗号化されたデータは、前記暗号化されたデータの暗号化に使用されたデータ暗号化鍵に関する情報を含む、前記受信することと、
    前記コンピューティング・システムによって、前記ユーザが認証されたコンピュータ・システムに前記暗号化されたデータを提供することであって、前記コンピュータ・システムは、ハードウェア・セキュリティ・モジュールの場所に関連付けられた前記ハードウェア・セキュリティ・モジュール内に記憶されたマスター鍵によって保護された復号鍵のセットを含む、前記提供することと、
    前記ハードウェア・セキュリティ・モジュールによって、前記データ暗号化鍵が前記復号鍵のセットのうちの1つに対応するとの判定に基づいて、前記暗号化されたデータを復号することであって、前記復号鍵のセットは、前記ハードウェア・セキュリティ・モジュールの前記場所に基づいて決定される、前記復号することと、
    を含む、方法。
  8. 前記認証されたユーザは、前記コンピュータ・システムのユーザの同一性を検証するように構成される前記コンピューティング環境の認証システムによって認証される、請求項7に記載の方法。
  9. 前記マスター鍵は、前記ハードウェア・セキュリティ・モジュールに固有である、請求項7に記載の方法。
  10. 前記復号鍵のセットは、前記コンピューティング環境のデータ・ストレージ・デバイス内の暗号化されたデータ・オブジェクトのサブセットを復号するように構成される、請求項7に記載の方法。
  11. 前記データ暗号化鍵が前記復号鍵のセットのうちの1つに対応しないとの判定に基づいて、前記暗号化されたデータへのアクセスを拒否することをさらに含む、請求項7に記載の方法。
  12. 前記場所に関連付けられた前記ハードウェア・セキュリティ・モジュールの識別は、前記認証されたユーザの1つまたは複数の属性を特定することを含む、請求項7に記載の方法。
  13. 前記認証されたユーザの前記1つまたは複数の属性は、前記認証されたユーザの物理的な場所、前記認証されたユーザのアクセス・グループ、および前記認証されたユーザの組織内での役割、のうちの1つまたは複数を含む、請求項12に記載の方法。
  14. プログラム命令を具現化するコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、前記プログラム命令は、プロセッサによって実行可能であり、前記プロセッサに動作を実行させ、前記動作は、
    コンピューティング環境のコンピューティング・システムによって、認証されたユーザから暗号化されたデータにアクセスする要求を受信することであって、前記暗号化されたデータは、前記暗号化されたデータの暗号化に使用されたデータ暗号化鍵に関する情報を含む、前記受信することと、
    前記コンピューティング・システムによって、前記ユーザが認証されたコンピュータ・システムに前記暗号化されたデータを提供することであって、前記コンピュータ・システムは、ハードウェア・セキュリティ・モジュールの場所に関連付けられた前記ハードウェア・セキュリティ・モジュール内に記憶されたマスター鍵によって保護された復号鍵のセットを含む、前記提供することと、
    前記ハードウェア・セキュリティ・モジュールによって、前記データ暗号化鍵が前記復号鍵のセットのうちの1つに対応するとの判定に基づいて、前記暗号化されたデータを復号することであって、前記復号鍵のセットは、前記ハードウェア・セキュリティ・モジュールの前記場所に基づいて決定される、前記復号することと、
    を含む、コンピュータ・プログラム製品。
  15. 前記認証されたユーザは、前記コンピュータ・システムのユーザの同一性を検証するように構成される前記コンピューティング環境の認証システムによって認証される、請求項14に記載のコンピュータ・プログラム製品。
  16. 前記マスター鍵は、前記ハードウェア・セキュリティ・モジュールに固有である、請求項14に記載のコンピュータ・プログラム製品。
  17. 前記復号鍵のセットは、前記コンピューティング環境のデータ・ストレージ・デバイス内の暗号化されたデータ・オブジェクトのサブセットを復号するように構成される、請求項14に記載のコンピュータ・プログラム製品。
  18. 前記動作は、前記データ暗号化鍵が前記復号鍵のセットのうちの1つに対応しないとの判定に基づいて、前記暗号化されたデータへのアクセスを拒否することをさらに含む、請求項14に記載のコンピュータ・プログラム製品。
  19. 前記場所に関連付けられた前記ハードウェア・セキュリティ・モジュールの識別は、前記認証されたユーザの1つまたは複数の属性を特定することを含む、請求項14に記載のコンピュータ・プログラム製品。
  20. 前記認証されたユーザの前記1つまたは複数の属性は、前記認証されたユーザの物理的な場所、前記認証されたユーザのアクセス・グループ、および前記認証されたユーザの組織内での役割、のうちの1つまたは複数を含む、請求項19に記載のコンピュータ・プログラム製品。
JP2021194758A 2020-12-04 2021-11-30 システム、方法、およびコンピュータ・プログラム製品(データ・セントリック・オブジェクトの複数段階保護) Pending JP2022089781A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/111,560 2020-12-04
US17/111,560 US11522683B2 (en) 2020-12-04 2020-12-04 Multi-phase protection for data-centric objects

Publications (1)

Publication Number Publication Date
JP2022089781A true JP2022089781A (ja) 2022-06-16

Family

ID=79163994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021194758A Pending JP2022089781A (ja) 2020-12-04 2021-11-30 システム、方法、およびコンピュータ・プログラム製品(データ・セントリック・オブジェクトの複数段階保護)

Country Status (5)

Country Link
US (1) US11522683B2 (ja)
JP (1) JP2022089781A (ja)
CN (1) CN114595467A (ja)
DE (1) DE102021130942A1 (ja)
GB (1) GB2605233A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220353073A1 (en) * 2021-04-28 2022-11-03 Thales Dis Cpl Usa, Inc. Method for authenticating an end-user account, method for single authenticating within a cluster of hsm, and method for implementing access control
US11579783B1 (en) * 2022-03-09 2023-02-14 Vim Inc. Multi-tenant storage

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037237A1 (en) 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US9819987B2 (en) * 2010-11-17 2017-11-14 Verizon Patent And Licensing Inc. Content entitlement determinations for playback of video streams on portable devices
US8560846B2 (en) * 2011-01-13 2013-10-15 Hewlett-Packard Development Company, L.P. Document security system and method
US9330275B1 (en) * 2013-03-28 2016-05-03 Amazon Technologies, Inc. Location based decryption
US10873454B2 (en) 2014-04-04 2020-12-22 Zettaset, Inc. Cloud storage encryption with variable block sizes
US9860256B2 (en) * 2015-11-02 2018-01-02 Box, Inc. Geofencing of data in a cloud-based environment
US10615970B1 (en) 2017-02-10 2020-04-07 Wells Fargo Bank, N.A. Secure key exchange electronic transactions
US11398900B2 (en) 2018-06-21 2022-07-26 Oracle International Corporation Cloud based key management
US10826693B2 (en) * 2018-12-04 2020-11-03 Bank Of America Corporation Scalable hardware encryption

Also Published As

Publication number Publication date
US20220182233A1 (en) 2022-06-09
GB2605233A (en) 2022-09-28
US11522683B2 (en) 2022-12-06
GB202116712D0 (en) 2022-01-05
CN114595467A (zh) 2022-06-07
DE102021130942A1 (de) 2022-06-09

Similar Documents

Publication Publication Date Title
US9258290B2 (en) Secure administration of virtual machines
AU2020234675B2 (en) Binding secure keys of secure guests to a hardware security module
US11455429B2 (en) Container-based cryptography hardware security module management
JP2022089781A (ja) システム、方法、およびコンピュータ・プログラム製品(データ・セントリック・オブジェクトの複数段階保護)
JP2023551527A (ja) 準同型暗号化を使用したセキュアなコンピューティング・リソース配置
JP2022523770A (ja) セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール
JP2023511834A (ja) セキュア・ゲストへのセキュリティ・モジュールのセキュア・オブジェクトのバインディング
WO2023061220A1 (en) Managing proprietary structured objects
US11989282B2 (en) Open-source container data management
US9843605B1 (en) Security compliance framework deployment
US20210281561A1 (en) Certification for connection of virtual communication endpoints
US11558387B2 (en) Validation of approver identifiers in a cloud computing environment
US11824984B2 (en) Storage encryption for a trusted execution environment
US11645092B1 (en) Building and deploying an application
US11526534B2 (en) Replicating data changes through distributed invalidation
JP2023554503A (ja) コンテナベース環境のための統合型認証

Legal Events

Date Code Title Description
RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20211223

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240516