JP2024054263A - クラウドベースの鍵管理 - Google Patents
クラウドベースの鍵管理 Download PDFInfo
- Publication number
- JP2024054263A JP2024054263A JP2024017791A JP2024017791A JP2024054263A JP 2024054263 A JP2024054263 A JP 2024054263A JP 2024017791 A JP2024017791 A JP 2024017791A JP 2024017791 A JP2024017791 A JP 2024017791A JP 2024054263 A JP2024054263 A JP 2024054263A
- Authority
- JP
- Japan
- Prior art keywords
- dek
- wrapped
- client
- encryption
- key
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000012546 transfer Methods 0.000 claims description 4
- 238000013475 authorization Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0822—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
【課題】マルチテナントクラウドベースのシステムにおいて、鍵管理サービスによって暗号鍵を管理する方法及びシステムを提供する。【解決手段】鍵管理サービスは、ラップされたデータ暗号鍵(DEK)の要求をクライアントから受け取り、ランダムキーを生成し、クライアントに対応する暗号化コンテキストをフェッチし、ランダムキーとラップされたDEKでエンコードされる暗号化コンテキストとを含むラップされたDEKを生成する。その後、鍵管理サービスは、ラップされたDEKをクライアントに返す。【選択図】図3
Description
分野
一実施形態は、一般にクラウドベースのコンピュータシステムに向けられ、特にクラウドベースのコンピュータシステムにおける暗号鍵の管理に向けられる。
一実施形態は、一般にクラウドベースのコンピュータシステムに向けられ、特にクラウドベースのコンピュータシステムにおける暗号鍵の管理に向けられる。
背景の情報
鍵管理サービス(Key Management Service:KMS)は、暗号システムにおける暗号鍵の管理を提供する。管理は、鍵の生成、交換、保存、使用、暗号シュレッディング(すなわち、破壊)、および置換の機能を含む。それは、暗号プロトコル設計、鍵サーバ、ユーザ手順、および他の関連するプロトコルを含む。
鍵管理サービス(Key Management Service:KMS)は、暗号システムにおける暗号鍵の管理を提供する。管理は、鍵の生成、交換、保存、使用、暗号シュレッディング(すなわち、破壊)、および置換の機能を含む。それは、暗号プロトコル設計、鍵サーバ、ユーザ手順、および他の関連するプロトコルを含む。
KMS内の鍵は、データを暗号化および復号化し、データをそれが記憶された場所で保護するために使用される暗号素材を含む1つ以上の鍵バージョンを表す論理エンティティである。暗号化アルゴリズムの一部として処理されるとき、鍵は、暗号化中に平文をどのように暗号文に変換し、復号化中に暗号文をどのように平文に変換するかを指定する。KMSは、一般に、2種類の暗号鍵を認識する。それらは、マスター暗号鍵(Master Encryption Key:MEK)およびデータ暗号鍵(Data Encryption Key:DEK)である。KMSを使用してマスター暗号鍵を生成した後、ユーザは、KMSがユーザに返すデータ暗号鍵を生成するために、APIを使用することができる。KMSは生鍵およびラップされた鍵を返す。典型的には、ユーザは、ラップされた鍵のみを保存する。
概要
実施形態は、マルチテナントクラウドベースのシステムにおける暗号鍵を管理することに向けられる。実施形態は、ラップされたデータ暗号鍵(DEK)の要求をクライアントから受け取る。実施形態は、ランダムキーを生成し、クライアントに対応する暗号化コンテキストをフェッチする。実施形態は、ランダムキーとラップされたDEKでエンコードされる暗号化コンテキストとを含むラップされたDEKを生成する。その後、実施形態は、ラップされたDEKをクライアントに返す。
実施形態は、マルチテナントクラウドベースのシステムにおける暗号鍵を管理することに向けられる。実施形態は、ラップされたデータ暗号鍵(DEK)の要求をクライアントから受け取る。実施形態は、ランダムキーを生成し、クライアントに対応する暗号化コンテキストをフェッチする。実施形態は、ランダムキーとラップされたDEKでエンコードされる暗号化コンテキストとを含むラップされたDEKを生成する。その後、実施形態は、ラップされたDEKをクライアントに返す。
詳細な説明
一実施形態は、ラップされたデータ暗号鍵(DEK)のヘッダーでエンコードされ、信頼できる属性として機能するカスタムタグおよび値を含めることによって、ラップされたDEKを生成する。その後、ラップされたDEKをアンラップする要求を受信したとき、または、そうでなければラップされたDEKへのアクセスを承認するときに、ポリシーの決定を実施することに、タグおよび値は、使用される。
一実施形態は、ラップされたデータ暗号鍵(DEK)のヘッダーでエンコードされ、信頼できる属性として機能するカスタムタグおよび値を含めることによって、ラップされたDEKを生成する。その後、ラップされたDEKをアンラップする要求を受信したとき、または、そうでなければラップされたDEKへのアクセスを承認するときに、ポリシーの決定を実施することに、タグおよび値は、使用される。
開示されるように、ラップされたDEKは、鍵管理サービス(KMS)によって要求者(たとえば、ユーザまはたアプリケーション)に発行される。ラップされたDEKは、ラップされたDEKをアンラップする目的で、後でKMSに返送される。要求者を承認する責任はKMSにある。しかしながら、クラウド環境において、ユーザ、アプリケーション、およびラップされたDEKの数は、非常に多くなる可能性がある。一例において、100万を超える可能性のあるラップされたDEKのKMSによるアクセスの承認を処理するための解決策が必要である。
図1は、本発明の実施形態によるKMS70の高レベルの概要を示す。複数のKMSクライアント72は、1つ以上のウェブサーバ76からのリプリゼンテーショナルステートトランスファー(Representational State Transfer:REST)アプリケーションプロ
グラムインターフェース(Application Program Interface:API)を使用して、鍵を要
求する。鍵を要求してその鍵を利用できるクライアント72は、データベース81を含む。一実施形態では、データベース81は、テーブルおよびテーブルスペースに格納される機密データの暗号化を可能にする透過的データ暗号化(Transparent Data Encryption:
TDE)を含むオラクル社製のデータベースである。データが暗号化された後、このデー
タは、承認されたユーザまたはアプリケーションがこのデータにアクセスする際に、承認されたユーザまたはアプリケーション用に透過的に復号される。本実施形態では、データベース81は、KMS-DBエージェント85を含む。他の要求クライアント72は、ク
ラウド環境内の様々なクラウドサービス82、様々なカスタマーアプリケーション83、またはアカウント管理者によって操作される管理コンソール84を含むことができる。
グラムインターフェース(Application Program Interface:API)を使用して、鍵を要
求する。鍵を要求してその鍵を利用できるクライアント72は、データベース81を含む。一実施形態では、データベース81は、テーブルおよびテーブルスペースに格納される機密データの暗号化を可能にする透過的データ暗号化(Transparent Data Encryption:
TDE)を含むオラクル社製のデータベースである。データが暗号化された後、このデー
タは、承認されたユーザまたはアプリケーションがこのデータにアクセスする際に、承認されたユーザまたはアプリケーション用に透過的に復号される。本実施形態では、データベース81は、KMS-DBエージェント85を含む。他の要求クライアント72は、ク
ラウド環境内の様々なクラウドサービス82、様々なカスタマーアプリケーション83、またはアカウント管理者によって操作される管理コンソール84を含むことができる。
一実施形態では、1つ以上のウェブサーバ76はクラウドベースのサーバである。実施形態では、ウェブサーバ76は、クロスドメインアイデンティティ管理(System for Cross-Domain Identity Management:SCIM)のためのREST API75ベースのシステムを公開する中間層コンポーネント76によって実装される。一実施形態では、中間層76は、データ層92と通信するステートレスマイクロサービスのセットを含む。
一実施形態では、中間層76を実装することができるマイクロサービスは、独立して配備可能なサービスである。一実施形態では、「マイクロサービス」という用語は、複雑なアプリケーションが言語に依存しないAPIを使用して互いに通信する小さな独立したプロセスから構成される、ソフトウェアアーキテクチャ設計パターンを考慮している。一実施形態では、マイクロサービスは、小型で高度に切り離されたサービスであり、各々は、小型タスクを行うことに焦点を当てるであろう。一実施形態では、マイクロサービスアーキテクチャスタイルは、単一のアプリケーションを1組の小さなサービスとして開発するため、それぞれがそれ自体のプロセスで実行するため、および軽量メカニズム(例えば、
ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol:HTTP)リソースA
PI)と通信するためのアプローチである。一実施形態では、マイクロサービスは、同じ
機能の全部または多くを実行するモノリシックサービスと比較して、置換しやすい。さらに、各マイクロサービスは、他のマイクロサービスに悪影響を及ぼすことなく更新されるであろう。対照的に、モノリシックサービスの一部分への更新は、モノリシックサービスの他の部分に望ましくないまたは意図しない否定的な影響を与えるかもしれない。一実施形態では、マイクロサービスは、それらの能力の周辺において有益に編成されるであろう。一実施形態では、マイクロサービスのコレクションのそれぞれに対する起動時間は、それらのマイクロサービスのすべてのサービスを集合的に実行する単一のアプリケーションに対する起動時間よりもはるかに短い。いくつかの実施形態では、そのようなマイクロサービスの各々に対する起動時間は、約1秒以下であるが、そのような単一アプリケーションの起動時間は、約1分、数分、またはそれより長いかもしれない。
ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol:HTTP)リソースA
PI)と通信するためのアプローチである。一実施形態では、マイクロサービスは、同じ
機能の全部または多くを実行するモノリシックサービスと比較して、置換しやすい。さらに、各マイクロサービスは、他のマイクロサービスに悪影響を及ぼすことなく更新されるであろう。対照的に、モノリシックサービスの一部分への更新は、モノリシックサービスの他の部分に望ましくないまたは意図しない否定的な影響を与えるかもしれない。一実施形態では、マイクロサービスは、それらの能力の周辺において有益に編成されるであろう。一実施形態では、マイクロサービスのコレクションのそれぞれに対する起動時間は、それらのマイクロサービスのすべてのサービスを集合的に実行する単一のアプリケーションに対する起動時間よりもはるかに短い。いくつかの実施形態では、そのようなマイクロサービスの各々に対する起動時間は、約1秒以下であるが、そのような単一アプリケーションの起動時間は、約1分、数分、またはそれより長いかもしれない。
一実施形態では、中間層76などのマイクロサービスアーキテクチャは、サービス指向アーキテクチャ(Service Oriented Architecture:SOA)が柔軟で独立して配備可能な
ソフトウェアシステムを構築するための専門化(すなわち、システム内のタスクの分離)手法および実装手法を指す。マイクロサービスアーキテクチャにおけるサービスは、目的を果たすためにネットワークを介して互いに通信するプロセスである。一実施形態では、これらのサービスは、技術に捕らわれないプロトコルを使用する。一実施形態では、それらのサービスは、小さい粒度を有し、かつ、軽量プロトコルを使用する。一実施形態では、それらのサービスは独立して配備可能である。システムの機能を異なる小さなサービスに分散させることによって、システムのコヒージョンが増強され、システムの結合が低減される。これにより、システムの変更、ならびにシステムへの機能および品質の追加をいつでも容易に行うことができる。また、これは、連続的なリファクタリングを通じて、個々のサービスのアーキテクチャが出現することを可能にし、それゆえ、大きなアップフロント設計の必要性を低減するとともにソフトウェアを早期かつ連続的にリリースすることを可能にする。
ソフトウェアシステムを構築するための専門化(すなわち、システム内のタスクの分離)手法および実装手法を指す。マイクロサービスアーキテクチャにおけるサービスは、目的を果たすためにネットワークを介して互いに通信するプロセスである。一実施形態では、これらのサービスは、技術に捕らわれないプロトコルを使用する。一実施形態では、それらのサービスは、小さい粒度を有し、かつ、軽量プロトコルを使用する。一実施形態では、それらのサービスは独立して配備可能である。システムの機能を異なる小さなサービスに分散させることによって、システムのコヒージョンが増強され、システムの結合が低減される。これにより、システムの変更、ならびにシステムへの機能および品質の追加をいつでも容易に行うことができる。また、これは、連続的なリファクタリングを通じて、個々のサービスのアーキテクチャが出現することを可能にし、それゆえ、大きなアップフロント設計の必要性を低減するとともにソフトウェアを早期かつ連続的にリリースすることを可能にする。
一実施形態では、マイクロサービスアーキテクチャにおいて、アプリケーションは、サービスのコレクションとして開発され、各サービスは、それぞれのプロセスを実行し、軽量プロトコルを使用して通信する(例えば、各マイクロサービスに固有のAPI)。マイクロサービスアーキテクチャにおいて、個々のサービス/能力へのソフトウェアの分解は、
提供されるサービスに応じて異なるレベルの粒度で行われてもよい。サービスは、ランタイムコンポーネント/プロセスである。各マイクロサービスは、他のモジュール/マイクロサービスと対話することができる自己内蔵モジュールである。各マイクロサービスは、他のマイクロサービスによってコンタクトされ得る、アンネームドユニバーサルポートを有する。一実施形態では、マイクロサービスのアンネームドユニバーサルポートは、マイクロサービスが慣習によって(たとえば、従来のHTTPポートとして)公開し、同じサービス内の任意の他のモジュール/マイクロサービスがマイクロサービスと対話することを可
能にする標準通信チャネルである。マイクロサービスまたは任意の他の自己内蔵型機能モジュールは、一般的に「サービス」と称され得る。
提供されるサービスに応じて異なるレベルの粒度で行われてもよい。サービスは、ランタイムコンポーネント/プロセスである。各マイクロサービスは、他のモジュール/マイクロサービスと対話することができる自己内蔵モジュールである。各マイクロサービスは、他のマイクロサービスによってコンタクトされ得る、アンネームドユニバーサルポートを有する。一実施形態では、マイクロサービスのアンネームドユニバーサルポートは、マイクロサービスが慣習によって(たとえば、従来のHTTPポートとして)公開し、同じサービス内の任意の他のモジュール/マイクロサービスがマイクロサービスと対話することを可
能にする標準通信チャネルである。マイクロサービスまたは任意の他の自己内蔵型機能モジュールは、一般的に「サービス」と称され得る。
データ層92は、ハードウェアセキュリティモジュール(Hardware Security Module:
HSM)94およびデータベース95を含む。HSMは、強力な認証のためにデジタル鍵
を保護および管理するとともに暗号処理を提供する物理的なコンピューティングデバイスである。これらのモジュールは、従来より、コンピュータまたはネットワークサーバに直接取り付けられるプラグインカードまたは外部装置の形態をとる。MEKはHSM94内に常駐し、HSM94はMEKに関わる暗号サービスを提供する。アプリケーション鍵およびすべてのメタデータは、データベース95内に格納される。中間層76およびデータ層92のすべての構成要素は、いくつかの実施形態では、高可用性(High Availability
:HA)および災害時リカバリー(Disaster Recovery:DR)を伴って実装される。
HSM)94およびデータベース95を含む。HSMは、強力な認証のためにデジタル鍵
を保護および管理するとともに暗号処理を提供する物理的なコンピューティングデバイスである。これらのモジュールは、従来より、コンピュータまたはネットワークサーバに直接取り付けられるプラグインカードまたは外部装置の形態をとる。MEKはHSM94内に常駐し、HSM94はMEKに関わる暗号サービスを提供する。アプリケーション鍵およびすべてのメタデータは、データベース95内に格納される。中間層76およびデータ層92のすべての構成要素は、いくつかの実施形態では、高可用性(High Availability
:HA)および災害時リカバリー(Disaster Recovery:DR)を伴って実装される。
一実施形態では、中間層76およびデータ層92は、オラクル社製のマルチテナント、クラウドスケール、アイデンティティアクセスマネジメント(Identity Access Management:IAM)プラットフォームであるアイデンティティクラウドサービス(Identity Cloud Service:IDCS)によって提供される認証サービスによって実装される。IDCSは、認証、承認、監査、およびフェデレーションを提供する。IDCSは、パブリッククラウド上で動作するカスタムアプリケーションおよびサービスへのアクセス、ならびにオンプレミスシステムを管理する。代替または追加の実施形態では、IDCSはまた、公衆クラウドサービスへのアクセスを管理することもできる。例えば、IDCSは、様々なサービス/アプリケーション/システムにわたってシングルサインオン(Single Sign On:SSO)機能を提供するために利用され得る。ユーザおよびクライアントは、最初にIDCSに対して認証し、KMSへのアクセスに適したトークンを獲得しなければならない。境界認証
は、IDCSクラウドゲートによって実施される。KMS APIへの細やかなアクセス
は、クライアントと管理者とを区別するために使用される適切な範囲および役割を有する認証モジュールによって実施される。IDCSのさらなる詳細は、米国特許9,838,376に開示されており、その開示は参照により本明細書に組み込まれる。
は、IDCSクラウドゲートによって実施される。KMS APIへの細やかなアクセス
は、クライアントと管理者とを区別するために使用される適切な範囲および役割を有する認証モジュールによって実施される。IDCSのさらなる詳細は、米国特許9,838,376に開示されており、その開示は参照により本明細書に組み込まれる。
図2は、本発明の一実施形態によるコンピュータサーバ/システム10のブロック図で
ある。単一のシステムとして示されているが、システム10の機能は、分散システムとして実装することができる。さらに、本明細書で開示される機能は、ネットワーク上で互いに接続され得る個別のサーバまたはデバイス上で実装され得る。さらに、システム10の1つ以上の構成要素は含まれなくてもよい。たとえば、サーバの機能のために、システム10は、プロセッサおよびメモリを含む必要があり得るが、キーボードまたはディスプレイなど、図2に示される他の構成要素のうちの1つ以上を含まなくてもよい。システム10の全部または一部は、いくつかの実施形態では、図1に示される構成要素のいずれかまたは全てを実装するために使用されてもよい。
ある。単一のシステムとして示されているが、システム10の機能は、分散システムとして実装することができる。さらに、本明細書で開示される機能は、ネットワーク上で互いに接続され得る個別のサーバまたはデバイス上で実装され得る。さらに、システム10の1つ以上の構成要素は含まれなくてもよい。たとえば、サーバの機能のために、システム10は、プロセッサおよびメモリを含む必要があり得るが、キーボードまたはディスプレイなど、図2に示される他の構成要素のうちの1つ以上を含まなくてもよい。システム10の全部または一部は、いくつかの実施形態では、図1に示される構成要素のいずれかまたは全てを実装するために使用されてもよい。
システム10は、情報を通信するためのバス12または他の通信メカニズムと、情報を処理するためにバス12に接続されたプロセッサ22とを含む。プロセッサ22は、汎用または専用プロセッサのいずれのタイプとしてもよい。システム10は、情報およびプロセッサ22によって実行されるべき命令を記憶するためのメモリ14をさらに含む。メモリ14は、ランダムアクセスメモリ(Random Access Memory:RAM)、読み取り専用メモリ(Read Only Memory:ROM)、磁気もしくは光ディスクなどの静的な記憶装置、または任意の他のタイプのコンピュータ可読媒体のうちの任意の組み合わせから構成され得る。システム10は、ネットワークへのアクセスを提供するための、ネットワークインターフェースカードなどの通信デバイス20をさらに含む。したがって、ユーザは、直接、またはネットワークまたは任意の他の方法を介してリモートで、システム10とインターフェース接続することができる。
コンピュータ可読媒体は、プロセッサ22によってアクセスされ得る任意の利用可能な媒体であってよく、揮発性媒体および不揮発性媒体の両方、取り外し可能媒体および取り外し不能媒体の両方、ならびに通信媒体を含む。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波若しくは他のトランスポートメカニズムなどのような、変調されたデータ信号中の他のデータを含んでもよく、任意の情報配信媒体を含む。
プロセッサ22は、バス12を介して液晶ディスプレイ(Liquid Crystal Display:L
CD)などのディスプレイ24にさらに接続される。キーボード26およびコンピュータ
マウスなどのカーソル制御装置28は、ユーザがシステム10とインターフェース接続できるようにバス12にさらに接続される。
CD)などのディスプレイ24にさらに接続される。キーボード26およびコンピュータ
マウスなどのカーソル制御装置28は、ユーザがシステム10とインターフェース接続できるようにバス12にさらに接続される。
一実施形態では、メモリ14は、プロセッサ22によって実行されると機能を提供するソフトウェアモジュールを記憶する。モジュールは、システム10のオペレーティングシステム機能を提供するオペレーティングシステム15を含む。モジュールは、KMS機能、および本明細書で開示される他のすべての機能を提供するKMSモジュール16をさらに含む。システム10は、より大きなシステムの一部とすることができる。したがって、システム10は、上述したIDCS機能などの追加機能を含むための1つ以上の追加機能モジュール18を含むことができる。データベース17は、モジュール16および18のためのセントラライズドストレージを提供するとともに、キー、パスワードなどを格納するためにバス12に接続される。一実施形態では、データベース17は、格納されたデータを管理するために構造化クエリ言語(Structured Query Language:SQL)を使用する
ことができるリレーショナルデータベース管理システム(Relational Database Managemen
t System:RDBMS)である。
ことができるリレーショナルデータベース管理システム(Relational Database Managemen
t System:RDBMS)である。
ラップされたDEKのアンラッピングに関連して、既知のKMS解決策は、認証および承認を、追加の認証済みデータ(Additional Authenticated Data:AAD)として知ら
れているユーザ指定の属性に利用する。AADは、Galois/Counter Mode(GCM)など
の認証暗号化モードの機能である。GCMにおいて、暗号化されたすべてのデータもまた、保護された(すなわち、認証された)インテグリティである。インテグリティが保護される(すなわち、認証される)べきであるが暗号化されていない他のデータをAADと呼ぶ。
れているユーザ指定の属性に利用する。AADは、Galois/Counter Mode(GCM)など
の認証暗号化モードの機能である。GCMにおいて、暗号化されたすべてのデータもまた、保護された(すなわち、認証された)インテグリティである。インテグリティが保護される(すなわち、認証される)べきであるが暗号化されていない他のデータをAADと呼ぶ。
しかしながら、既知の解決策では、ユーザ指定の属性は、外部ソースから一般的に受信され、要求者によって明示的に指定されなければならない。たとえば、アマゾン社製の「AWS KMS」では、ラップされたデータフォーマットが使用され、暗号化コンテキス
トのエンコードであり、ラップされたデータフォーマットにはないAADの結果をアンラップに含めることができる。任意のAADは、アンラッププロセスでラップされたDEKとともにREST APIにパラメータとして提供(すなわち、オペレータ制御)される
必要がある。
トのエンコードであり、ラップされたデータフォーマットにはないAADの結果をアンラップに含めることができる。任意のAADは、アンラッププロセスでラップされたDEKとともにREST APIにパラメータとして提供(すなわち、オペレータ制御)される
必要がある。
同様に、グーグル社製の「Cloud KMS」では、ファイルが暗号化されたときに
追加の認証データが使用されたのであれば、暗号文が復号化されたときに(すなわち、ラップされた鍵そのものが提供されることなく)、同じ追加の認証データが指定されなければならない、ということをユーザは指示される。
追加の認証データが使用されたのであれば、暗号文が復号化されたときに(すなわち、ラップされた鍵そのものが提供されることなく)、同じ追加の認証データが指定されなければならない、ということをユーザは指示される。
既知の解決策とは対照的に、実施形態は、ラップされたデータ暗号鍵から黙示的に得られる信頼できる属性を用いてデータ暗号鍵へのアクセスを最適化することによって、ラップされたDEKの承認要求の有効性を改善する。具体的には、実施形態では、ラップされたDEKは、たとえば、https://tools.ietf.org/html/rfc7516で開示されている、標準
のJavaScript Object Notation(JSON)Web Encryption(JWE)構造によって表される。実施形態は、カスタム属性をラップされた/暗号化されたフォーマットでエンコードする。さらに、カスタムタグおよび値は、ラップされたDEKのJWE保護されたヘッダーにセットされる。ラップされたDEKへのアクセスを実施するためにユーザおよびグループの情報を利用することに加えて、ラップされたDEKでエンコードされたタグおよび値もまた使用される。要求者は、タグを明示的に指定する必要はない。代わりに、タグは、ラップされたDEKから黙示的に取得される。タグは、ラップされたDEKに追加的な承認を実施するために用いられる。
のJavaScript Object Notation(JSON)Web Encryption(JWE)構造によって表される。実施形態は、カスタム属性をラップされた/暗号化されたフォーマットでエンコードする。さらに、カスタムタグおよび値は、ラップされたDEKのJWE保護されたヘッダーにセットされる。ラップされたDEKへのアクセスを実施するためにユーザおよびグループの情報を利用することに加えて、ラップされたDEKでエンコードされたタグおよび値もまた使用される。要求者は、タグを明示的に指定する必要はない。代わりに、タグは、ラップされたDEKから黙示的に取得される。タグは、ラップされたDEKに追加的な承認を実施するために用いられる。
KMSの実施形態によってラップされたDEKが構成されると、必要なタグ/値はラップされたDEKでエンコードされる。したがって、セットされたタグ/値は、信頼できる機関によってセットされたと見なすことができる。
KMSの実施形態によってセットされたタグは、次のようなポリシーの決定を実施するために使用される:
● 所与の顧客/テナンシー用に製造(または要求)されたDEKは、IDCSのようなクラウドベースの環境において、異なる顧客/テナンシーによってアンラップされない。
● 所与のデータセンターのアプリケーションまたは管理者は、同じデータセンターで作成されて提供された、ラップされたデータの暗号化を管理できる。
● 世界中の多くの政府が施行を始めたデータの支配権、居住、およびローカリゼーションのルールの尊厳を保証および順守するため、ラップされたDEKは、同じ法域でのみアンラップされる必要がある。
● 所与の顧客/テナンシー用に製造(または要求)されたDEKは、IDCSのようなクラウドベースの環境において、異なる顧客/テナンシーによってアンラップされない。
● 所与のデータセンターのアプリケーションまたは管理者は、同じデータセンターで作成されて提供された、ラップされたデータの暗号化を管理できる。
● 世界中の多くの政府が施行を始めたデータの支配権、居住、およびローカリゼーションのルールの尊厳を保証および順守するため、ラップされたDEKは、同じ法域でのみアンラップされる必要がある。
実施形態では、要求されたポリシー方針を示すラップされたDEKにタグ/値を組み込むことによってホリシーの決定は実施される。タグ/値としてのラップされたDEKに、ポリシーの識別子または手引きは追加で埋め込まれ得る。
運用時に、承認の決定のために、実施形態は、ラップされたDEKからタグ情報をフェッチし、ユーザがどこからログインしているかといったことや、ユーザが所有するグループまたは管理者の特権のような、ユーザに属するタグ情報と比較する。十分に一致する場合、承認の決定は成功し、アンラッピングが許可される。
ラップされたDEKへのアクセスを承認することを目的としたタグの組み込みおよび黙示的なフェッチングは、既存の解決策に対する技術的改善である。
実施形態では、REST API /admin/v1/DataEncryptionKeyGeneratorを使用してDEKを
作成するときに、ラップされたDEKは、応答としてクライアント/ユーザに返される。DEKのアンラッピングは、HSM94(MEKが格納されている場所)によって実行される一方、ラップされたDEKのフォーマットはKMSの実施形態によって定義される。
作成するときに、ラップされたDEKは、応答としてクライアント/ユーザに返される。DEKのアンラッピングは、HSM94(MEKが格納されている場所)によって実行される一方、ラップされたDEKのフォーマットはKMSの実施形態によって定義される。
ロールベースアクセス制御(Role Based Access Control:RBAC)および上述した
ような属性の使用に加えて、実施形態を使用する細かなアクセスは、ラップされたDEKに黙示的に組み込まれたタグ(および値)を利用する。
ような属性の使用に加えて、実施形態を使用する細かなアクセスは、ラップされたDEKに黙示的に組み込まれたタグ(および値)を利用する。
実施形態では、以下の追加のタグが、生成されたラップされたDEKに組み込まれ得る:
● "urn:opc:kms:regionID": "uscom-central-1"
● "urn:opc:kms:locationID": "uscom"
● "urn:opc:kms:siID": "FF91E56E58F34CB8A806A86137966627"
● "urn:opc:kms:regionID": "uscom-central-1"
● "urn:opc:kms:locationID": "uscom"
● "urn:opc:kms:siID": "FF91E56E58F34CB8A806A86137966627"
「SIID」とは、IDCSのようなマルチテナント鍵管理クラウドソリューションでテナント(すなわち、ストライプ(stripe)またはスプライス(splice))を識別するサービスインスタンス識別子を示す。提示された(ラップされたDEK入力ペイロードから)SIIDが現在の実行コンテキスト(すなわち、要求が向けられた場所)のSIIDと異なる場合、ラップされたDEKは誤った顧客テナンシーで提示される。従って、要求は拒否される。
IDCSおよびオラクルパブリッククラウドは、リージョンおよび利用可能なドメイン内にホストされる。リージョンはローカライズされた地理的領域であり、利用可能なドメインはリージョン内にある1つ以上のデータセンターである。リージョンは、いくつかの利用可能なドメインから構成される。ほとんどのリソースは、仮想クラウドネットワークのような固有のリージョンであるか、またはコンピュートインスタンスのような利用可能な固有のドメインである。
ラップされた鍵に組み込まれた「regionID」は、リージョンに相当する。ロケーションは、リージョンの集合である。データ権限は、リージョンおよびロケーションと一致する場合と一致しない場合とがある。しかしながら、リージョンからデータ権限を導くために、外部ポリシーマッピングが考案され得る。従って、いくつかの実施形態では、鍵が製造された場所および鍵が要求/アクセスされている場所を追跡することは重要である。
実施形態では、実際の属性(およびそれらの値)は、実質的に問題ではない。以下に示
すように、タグの検証はラップされたDEKをアンラップする前に行われるため、タグの検証は最適である。
すように、タグの検証はラップされたDEKをアンラップする前に行われるため、タグの検証は最適である。
実施形態は、要求者がラップされたDEKのアンラップを承認するか否かの承認決定評価を最適化するための既知の解決策を、承認決定に寄与し得るラップされたDEKに組み込まれた属性を利用することによって改善する。これらのリソース属性(すなわち、ラップされたDEKからの属性)をフェッチするための追加のステップは、それがすでにリソースに存在するため不要である。これは、それ自体が最適化である。さらに、ラップされたDEKのアンラップは、HSMによって実行される暗号集約型操作である。アンラップ以前にタグを検証することによって、実施形態は、KMSインスタンスにラップされたDEKを誤って示したかどうかを判断できる。これは、さらなる最適化である。
実施形態は、ラップされたDEKを表し、オープンで相互運用可能なDEK表現構成をKMSに提供するためにJWEを使用する。任意のタグ/値は、JWEでエンコードされ得る。タグは、ラップされたDEKを識別するために使用できる。加えて、組み込まれたタグ/値は、ラップされたDEKの操作にアクセス制御を実施するために使用される。実施形態は、ラップされたDEKへのアクセスを実施するために、ラップされたDEKから(組み込まれたタグから)承認情報を黙示的に導く。
ラップされたDEKは、A256GCM暗号化(ラッピングアルゴリズム)とともにDEKの暗号化に使用されるMEK(保護されたヘッダーの子)を参照する自己記述型のエンベロープデータ構造である。構造は、JSON Web Encryption(JWE)構造である。実
施形態では、ラップされたデータ暗号鍵およびアンラップされたデータ暗号鍵(生鍵)のフォーマットは、以下の通りである:
施形態では、ラップされたデータ暗号鍵およびアンラップされたデータ暗号鍵(生鍵)のフォーマットは、以下の通りである:
図3は、一実施形態による、KMSによってラップされたDEKを生成するための機能のフロー図である。実施形態では、図3の機能は、図2のKMSモジュール16によって、または図1の中間層76およびデータ層92によって実装される。一実施形態では、図
3(および以下の図4)のフロー図の機能は、メモリまたは他のコンピュータ可読媒体もしくは有形媒体に記憶されたソフトウェアによって実装され、プロセッサによって実行される。他の実施形態では、機能は、ハードウェア(例えば、特定用途向け集積回路(AS
IC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などの使用を通じて)、またはハードウェアとソフトウェアとの任意の組合せ
によって提供され得る。
3(および以下の図4)のフロー図の機能は、メモリまたは他のコンピュータ可読媒体もしくは有形媒体に記憶されたソフトウェアによって実装され、プロセッサによって実行される。他の実施形態では、機能は、ハードウェア(例えば、特定用途向け集積回路(AS
IC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などの使用を通じて)、またはハードウェアとソフトウェアとの任意の組合せ
によって提供され得る。
302において、ラップされたDEKの要求がクライアントから受信され、サービスインスタンス用の(マルチテナントの実施形態では)生DEKが受信される。一般的に、生DEKは、アンラップされた鍵であり、メタデータまたはその他の情報は添付されていない。実施形態では、要求はREST APIを介して受信される。実施形態では、クライ
アントは、IDCSまたは別のタイプのクラウドサービスといったマルチテナントサービスの一部である。
アントは、IDCSまたは別のタイプのクラウドサービスといったマルチテナントサービスの一部である。
304において、ランダムキー「K」が生成される。
306において、リージョンID(複数の地理的リージョンを有する実施形態では)を含むAAD情報(または、より一般的には、「暗号化コンテキスト」)、サービスIDおよびロケーションIDはフェッチされる。ロケーションIDは、実施形態では、クライアントが要求を行っている場所を示す。
308において、304のランダムキーおよび306のAAD情報を用いて、ラップされたDEKが生成される。
310において、保護されたヘッダー、暗号化された鍵、初期化ベクトル(Initialization Vector:IV)、および認証タグを含むJWE応答が生成される。IVは、ランダ
ムで予測不可能な値であり、隠されたものではなく、各暗号化の開始時に使用される。認証付き暗号モード(たとえば、GCM)における認証タグは、データが何かしらの方法で変更されたかどうかを判断するためのチェックサムを行うための値である。データが変更されていなければ、送信タグと計算タグとは同じでなければならない。タグは、暗号化データおよびAADの両方を保護する。
ムで予測不可能な値であり、隠されたものではなく、各暗号化の開始時に使用される。認証付き暗号モード(たとえば、GCM)における認証タグは、データが何かしらの方法で変更されたかどうかを判断するためのチェックサムを行うための値である。データが変更されていなければ、送信タグと計算タグとは同じでなければならない。タグは、暗号化データおよびAADの両方を保護する。
312において、ラップされたDEKと生DEKは、応答でクライアントに返される。
図4は、一実施形態によるKMSによってラップされたDEKをアンラップするための機能のフロー図である。実施形態では、図4の機能は、図2のKMSモジュール16によって、または図1の中間層76およびデータ層92によって実装される。
402において、(マルチテナントの実施形態では)サービスインスタンス用に、ラップされたDEKをアンラップするための要求が受信される。実施形態では、要求は、REST APIを介して受信され、ラップされたDEKはJWEの形式である。
404において、JWE形式でのラップされたDEKがパースされる。
406において、パースステータスが失敗した場合、機能は終了し、エラーメッセージが出力される。入力において構文エラーがあった場合にパースステータスが失敗する。
408において、AADの詳細は、410以降の以下の機能で検証される。リージョンID、サービスID、およびロケーションIDなどの値は、実施形態では、クラウドベースのシステムにおいて顧客区分がセットアップされるときに管理上割り当てられる定義さ
れたリージョン、サービスまたはロケーションのリストにこれらの値が現れるかどうかを決定することによって検証される。
れたリージョン、サービスまたはロケーションのリストにこれらの値が現れるかどうかを決定することによって検証される。
410において、リージョンIDが検証される。有効でない場合、機能は終了し、エラーメッセージが出力される。
412において、サービスIDが検証される。有効でない場合、機能は終了し、エラーメッセージが出力される。
414において、ロケーションIDが検証される。有効でない場合、機能は終了し、エラーメッセージが出力される。
416において、HSMにあるMEKは検証される。有効でない場合、機能は終了し、エラーメッセージが出力される。
418において、HSMはラップされたDEK、IVおよびAADを用いてラップされたDEKをアンラップする。したがって、実施形態におけるすべての検証は、ラップされたDEKがアンラップされる(すなわち、ラップされた鍵が復号化される)前に行われる。
420において、アンラップされた生鍵は、クライアントに返される。
上記開示されるように、実施形態はAADのリージョンID、サービスIDおよびロケーションIDの値を使用するが、要求を検証することに役立つことができる他の任意のタグ/値/パラメータを使用できる。ラップされた鍵は、生成時にAAD領域に格納された適切な値を有する。これらの値は、隠されたものではないが、AADにあるため、調べることなく、これらの値を変更することはできない。鍵がアンラップされて使用されるときに、「正しい」値が、設定データから判断され、AADに格納された値と比較される。それらが一致しない場合、鍵は使用できない。
異なるポリシーは、どのアイテムが必要で、何が一致する必要があるかを判断できる。ラップされた鍵を所持するものは誰でもAAD領域を読み取ることができるため、これは主に設定エラーを検出するためのものである。しかしながら、APIが、実行されるチェックと、構成された値の取得元とを制御する場合、これはセキュリティ対策として機能し、鍵が誤ったコンテキストで使用されることを防ぐことができる。
開示されるように、実施形態は、鍵のヘッダーに組み込まれたAADを有するラップされたDEKを生成した。ラップされたDEKをアンラップする要求を受信したときに、組み込まれたAADは、KMSによる検証に使用される。したがって、外部AADは必要ない。
いくつかの実施形態が、本明細書で具体的に例示および/または説明される。しかしな
がら、開示された実施形態の修正および変形は、本発明の思想および意図された範囲から逸脱することなく、上記教示によって、および添付のクレームの範囲内に含まれることが理解されるであろう。
がら、開示された実施形態の修正および変形は、本発明の思想および意図された範囲から逸脱することなく、上記教示によって、および添付のクレームの範囲内に含まれることが理解されるであろう。
Claims (20)
- マルチテナントクラウドベースのシステムにおける暗号鍵を管理するための方法であって、
ラップされたデータ暗号鍵(Hardware Security Module:DEK)の要求をクライアントから受け取ることと、
ランダムキーを生成することと、
前記クライアントに対応する暗号化コンテキストをフェッチすることと、
前記ランダムキーと前記ラップされたDEKでエンコードされる前記暗号化コンテキストとを含む前記ラップされたDEKを生成することと、
前記ラップされたDEKを前記クライアントに返すことと、を含む方法。 - 前記暗号化テキストは、前記クライアントのロケーション、前記クライアントのリージョン、および前記クライアントのテナントのうちの少なくとも一つを含む、請求項1に記載の方法。
- 前記暗号化コンテキストは、追加の認証済みデータを含む、請求項1に記載の方法。
- 前記ラップされたDEKは、ヘッダーを含み、
前記暗号化コンテキストは、前記ヘッダーでエンコードされる、請求項1に記載の方法。 - 前記ラップされたDEKは、JavaScript Object Notation(JSON)Web Encryption(JWE)構造を含む、請求項1に記載の方法。
- 前記ラップされたDEKをアンラップする要求を受け取ることと、
前記ラップされたDEKをパースすることと、
前記クライアントに基づく前記暗号化コンテキストを検証することと、
ハードウェアセキュリティモジュール(Hardware Security Module:HSM)にあるマスター暗号鍵(Master Encryption Key:MEK)を検証することと、
アンラップされたDEKを返すこととをさらに含む、請求項1に記載の方法。 - 前記生成する前記ラップされたDEKは、初期化ベクトル(Initialization Vector:
IV)および認証タグ鍵をさらに含む、請求項1に記載の方法。 - 前記要求は、リプリゼンテーショナルステートトランスファー(Representational State Transfer:REST)アプリケーションプログラムインターフェース(Application Program Interface:API)を含む、請求項1に記載の方法。
- プロセッサによって実行されると、前記プロセッサに、マルチテナントクラウドベースのシステムにおける暗号鍵を管理させる命令を記憶したコンピュータ可読媒体であって、
前記管理することは、
ラップされたデータ暗号鍵(DEK)の要求をクライアントから受け取ることと、
ランダムキーを生成することと、
前記クライアントに対応する暗号化コンテキストをフェッチすることと、
前記ランダムキーと前記ラップされたDEKでエンコードされる前記暗号化コンテキストとを含む前記ラップされたDEKを生成することと、
前記ラップされたDEKを前記クライアントに返すこととを含む、コンピュータ可読媒体。 - 前記暗号化テキストは、前記クライアントのロケーション、前記クライアントのリージョン、および前記クライアントのテナントのうちの少なくとも一つを含む、請求項9に記載のコンピュータ可読媒体。
- 前記暗号化コンテキストは、追加の認証済みデータを含む、請求項9に記載のコンピュータ可読媒体。
- 前記ラップされたDEKは、ヘッダーを含み、
前記暗号化コンテキストは、前記ヘッダーでエンコードされる、請求項9に記載のコンピュータ可読媒体。 - 前記ラップされたDEKは、JavaScript Object Notation(JSON)Web Encryption(JWE)構造を含む、請求項9に記載のコンピュータ可読媒体。
- 前記管理することは、
前記ラップされたDEKをアンラップする要求を受け取ることと、
前記ラップされたDEKをパースすることと、
前記クライアントに基づく前記暗号化コンテキストを検証することと、
ハードウェアセキュリティモジュール(HSM)にあるマスター暗号鍵(MEK)を検証することと、
アンラップされたDEKを返すこととをさらに含む、請求項9に記載のコンピュータ可読媒体。 - 前記生成する前記ラップされたDEKは、初期化ベクトル(IV)および認証タグ鍵をさらに含む、請求項9に記載のコンピュータ可読媒体。
- 前記要求は、リプリゼンテーショナルステートトランスファー(REST)アプリケーションプログラムインターフェース(API)を含む、請求項9に記載のコンピュータ可読媒体。
- 1つ以上のマイクロサービスを含む中間層と、
前記中間層に結合され、1つ以上のデータベースおよび1つ以上のハードウェアセキュリティモジュールを含むデータ層とを備え、
前記1つ以上のマイクロサービスは、
ラップされたデータ暗号鍵(DEK)の要求をクライアントから受け取り、
ランダムキーを生成し、
前記クライアントに対応する暗号化コンテキストをフェッチし、
前記ランダムキーと前記ラップされたDEKでエンコードされる前記暗号化コンテキストとを含む前記ラップされたDEKを生成し、
前記ラップされたDEKを前記クライアントに返す、マルチテナントクラウドベースの鍵管理システム。 - 前記暗号化テキストは、前記クライアントのロケーション、前記クライアントのリージョン、および前記クライアントのテナントのうちの少なくとも一つを含む、請求項17に記載のマルチテナントクラウドベースの鍵管理システム。
- 前記ラップされたDEKは、JavaScript Object Notation(JSON)Web Encryption(JWE)構造を含む、請求項17に記載のマルチテナントクラウドベースの鍵管理システム。
- 前記1つ以上のマイクロサービスは、さらに、
前記ラップされたDEKをアンラップする要求を受け取り、
前記ラップされたDEKをパースし、
前記クライアントに基づく前記暗号化テキストを検証し、
ハードウェアセキュリティモジュール(HSM)にあるマスター暗号鍵(MEK)を検証し、
アンラップされたDEKを返す、請求項17に記載のマルチテナントクラウドベースの鍵管理システム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201841023140 | 2018-06-21 | ||
IN201841023140 | 2018-06-21 | ||
US16/269,736 | 2019-02-07 | ||
US16/269,736 US11398900B2 (en) | 2018-06-21 | 2019-02-07 | Cloud based key management |
PCT/US2019/032434 WO2019245676A1 (en) | 2018-06-21 | 2019-05-15 | Cloud based key management |
JP2020558424A JP2021527970A (ja) | 2018-06-21 | 2019-05-15 | クラウドベースの鍵管理 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020558424A Division JP2021527970A (ja) | 2018-06-21 | 2019-05-15 | クラウドベースの鍵管理 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024054263A true JP2024054263A (ja) | 2024-04-16 |
Family
ID=68982350
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020558424A Pending JP2021527970A (ja) | 2018-06-21 | 2019-05-15 | クラウドベースの鍵管理 |
JP2024017791A Pending JP2024054263A (ja) | 2018-06-21 | 2024-02-08 | クラウドベースの鍵管理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020558424A Pending JP2021527970A (ja) | 2018-06-21 | 2019-05-15 | クラウドベースの鍵管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11398900B2 (ja) |
EP (1) | EP3811558A1 (ja) |
JP (2) | JP2021527970A (ja) |
WO (1) | WO2019245676A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956600B2 (en) * | 2018-10-31 | 2021-03-23 | Salesforce.Com, Inc. | Highly available encryption framework for multiple different computing environments |
US11695559B2 (en) * | 2019-09-30 | 2023-07-04 | Salesforce, Inc. | Nested tenancy that permits a hierarchy having a plurality of levels |
US11263310B2 (en) * | 2019-11-26 | 2022-03-01 | Red Hat, Inc. | Using a trusted execution environment for a proof-of-work key wrapping scheme that verifies remote device capabilities |
US11520878B2 (en) * | 2019-11-26 | 2022-12-06 | Red Hat, Inc. | Using a trusted execution environment for a proof-of-work key wrapping scheme that restricts execution based on device capabilities |
US11522683B2 (en) * | 2020-12-04 | 2022-12-06 | International Business Machines Corporation | Multi-phase protection for data-centric objects |
US11223489B1 (en) | 2021-02-23 | 2022-01-11 | Garantir LLC | Advanced security control implementation of proxied cryptographic keys |
US11418329B1 (en) | 2021-05-28 | 2022-08-16 | Garantir LLC | Shared secret implementation of proxied cryptographic keys |
US11218317B1 (en) | 2021-05-28 | 2022-01-04 | Garantir LLC | Secure enclave implementation of proxied cryptographic keys |
US11502827B1 (en) | 2021-09-03 | 2022-11-15 | Garantir LLC | Exporting remote cryptographic keys |
US11799633B1 (en) * | 2021-09-27 | 2023-10-24 | Workday, Inc. | Enabling using external tenant master keys |
US11658812B1 (en) * | 2022-09-29 | 2023-05-23 | Cloudflare, Inc. | Distributed key management system |
US11895227B1 (en) | 2023-05-23 | 2024-02-06 | Cloudflare, Inc. | Distributed key management system with a key lookup service |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8300831B2 (en) * | 2010-04-26 | 2012-10-30 | International Business Machines Corporation | Redundant key server encryption environment |
US8601600B1 (en) * | 2010-05-18 | 2013-12-03 | Google Inc. | Storing encrypted objects |
TW201215070A (en) | 2010-06-14 | 2012-04-01 | Revere Security Corp | Key Management Systems and methods for shared secret ciphers |
US8914632B1 (en) | 2011-12-21 | 2014-12-16 | Google Inc. | Use of access control lists in the automated management of encryption keys |
US8782441B1 (en) | 2012-03-16 | 2014-07-15 | Google Inc. | Methods and systems for storage of large data objects |
US20140019753A1 (en) | 2012-07-10 | 2014-01-16 | John Houston Lowry | Cloud key management |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US10211977B1 (en) | 2013-02-12 | 2019-02-19 | Amazon Technologies, Inc. | Secure management of information using a security module |
US9231923B1 (en) | 2013-11-12 | 2016-01-05 | Amazon Technologies, Inc. | Secure data destruction in a distributed environment using key protection mechanisms |
US9413730B1 (en) | 2014-06-04 | 2016-08-09 | Skyhigh Networks, Inc. | Encryption in the cloud using enterprise managed keys |
US9887836B1 (en) * | 2014-09-26 | 2018-02-06 | Amazon Technologies, Inc. | Unified management of cryptographic keys using virtual keys and referrals |
KR102021213B1 (ko) * | 2014-10-31 | 2019-09-11 | 콘비다 와이어리스, 엘엘씨 | 엔드 투 엔드 서비스 계층 인증 |
US9667416B1 (en) | 2014-12-18 | 2017-05-30 | EMC IP Holding Company LLC | Protecting master encryption keys in a distributed computing environment |
EP3257227B1 (en) * | 2015-02-13 | 2021-03-31 | Visa International Service Association | Confidential communication management |
US10243739B1 (en) | 2015-03-30 | 2019-03-26 | Amazon Technologies, Inc. | Validating using an offload device security component |
US9961076B2 (en) * | 2015-05-11 | 2018-05-01 | Genesys Telecommunications Laboratoreis, Inc. | System and method for identity authentication |
US9973481B1 (en) * | 2015-06-16 | 2018-05-15 | Amazon Technologies, Inc. | Envelope-based encryption method |
US9379890B1 (en) * | 2015-12-07 | 2016-06-28 | Workiva Inc. | System and method for managing cryptographic keys |
US10810583B2 (en) | 2016-04-29 | 2020-10-20 | Digital Asset Holdings | Digital asset modeling |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US9838376B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Microservices based multi-tenant identity and data security management cloud service |
US10637853B2 (en) * | 2016-08-05 | 2020-04-28 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US10693638B1 (en) | 2016-12-01 | 2020-06-23 | Amazon Technologies, Inc. | Protected cryptographic environment |
JP6411696B1 (ja) | 2016-12-13 | 2018-10-24 | 株式会社日立製作所 | バージョン管理システムおよびバージョン管理方法 |
US10042685B1 (en) | 2017-03-17 | 2018-08-07 | Accenture Global Solutions Limited | Extensible single point orchestration system for application program interfaces |
EP3376687A1 (en) | 2017-03-17 | 2018-09-19 | Xieon Networks S.à r.l. | Determination of channel osnr and channel osnr margin at real network conditions |
US11750609B2 (en) | 2017-04-28 | 2023-09-05 | Cyberark Software Ltd. | Dynamic computing resource access authorization |
US10454915B2 (en) | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10623186B1 (en) * | 2017-11-10 | 2020-04-14 | Amazon Technologies, Inc. | Authenticated encryption with multiple contexts |
US10922132B1 (en) | 2017-12-11 | 2021-02-16 | Amazon Technologies, Inc. | Secure migration of servers from customer networks to service provider systems |
US11347868B2 (en) | 2018-04-17 | 2022-05-31 | Domo, Inc | Systems and methods for securely managing data in distributed systems |
US10909250B2 (en) | 2018-05-02 | 2021-02-02 | Amazon Technologies, Inc. | Key management and hardware security integration |
US10979403B1 (en) * | 2018-06-08 | 2021-04-13 | Amazon Technologies, Inc. | Cryptographic configuration enforcement |
US11075753B2 (en) | 2018-07-11 | 2021-07-27 | Akeyless Security LTD. | System and method for cryptographic key fragments management |
-
2019
- 2019-02-07 US US16/269,736 patent/US11398900B2/en active Active
- 2019-05-15 EP EP19728806.1A patent/EP3811558A1/en active Pending
- 2019-05-15 WO PCT/US2019/032434 patent/WO2019245676A1/en active Application Filing
- 2019-05-15 JP JP2020558424A patent/JP2021527970A/ja active Pending
-
2024
- 2024-02-08 JP JP2024017791A patent/JP2024054263A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2019245676A1 (en) | 2019-12-26 |
US20190394024A1 (en) | 2019-12-26 |
JP2021527970A (ja) | 2021-10-14 |
EP3811558A1 (en) | 2021-04-28 |
CN112005522A (zh) | 2020-11-27 |
US11398900B2 (en) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2024054263A (ja) | クラウドベースの鍵管理 | |
US8856530B2 (en) | Data storage incorporating cryptographically enhanced data protection | |
US11184158B1 (en) | Secure key exchange electronic transactions | |
CN110489996B (zh) | 一种数据库数据安全管理方法及系统 | |
US20140143543A1 (en) | Delegate authorization in cloud-based storage system | |
US10469491B2 (en) | Access control in an information centric network | |
US20140380048A1 (en) | Method and a server for processing a request from a terminal to access a computer resource | |
US20080263644A1 (en) | Federated authorization for distributed computing | |
US20200186359A1 (en) | Generic code signing client with downloadable modules | |
CN108701094A (zh) | 在基于云的应用中安全地存储和分发敏感数据 | |
TW202011712A (zh) | 密碼運算、創建工作密鑰的方法、密碼服務平台及設備 | |
CN112671720A (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
US11218317B1 (en) | Secure enclave implementation of proxied cryptographic keys | |
US11777721B2 (en) | Method and apparatus for two-step data signing | |
CA3160111A1 (en) | Shared secret implementation of proxied cryptographic keys | |
US20230299973A1 (en) | Service registration method and device | |
CN111506915B (zh) | 授权访问的控制方法、装置和系统 | |
US11804957B2 (en) | Exporting remote cryptographic keys | |
WO2022144024A1 (en) | Attribute-based encryption keys as key material for key-hash message authentication code user authentication and authorization | |
CN112005522B (zh) | 基于云的密钥管理 | |
US11954672B1 (en) | Systems and methods for cryptocurrency pool management | |
US20220417032A1 (en) | Distributed signing system | |
Corella et al. | Strong and convenient multi-factor authentication on mobile devices | |
Tabatabaei | Evaluation of Security in Hadoop | |
Ashley et al. | SESAME |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240308 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240308 |