JP7025101B2 - 暗号オブジェクトを管理する方法、コンピュータ実装方法、システムおよびプログラム - Google Patents

暗号オブジェクトを管理する方法、コンピュータ実装方法、システムおよびプログラム Download PDF

Info

Publication number
JP7025101B2
JP7025101B2 JP2020522808A JP2020522808A JP7025101B2 JP 7025101 B2 JP7025101 B2 JP 7025101B2 JP 2020522808 A JP2020522808 A JP 2020522808A JP 2020522808 A JP2020522808 A JP 2020522808A JP 7025101 B2 JP7025101 B2 JP 7025101B2
Authority
JP
Japan
Prior art keywords
hsm
cryptographic
key
hsms
load
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.)
Active
Application number
JP2020522808A
Other languages
English (en)
Other versions
JP2021501358A (ja
Inventor
シュマッツ、マルティン
ビョールクヴィスト、マティアス
ラメシャン、ナヴァニース
ビルケ、ローベルト
チェン、イーイー
ガサット、ミッチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021501358A publication Critical patent/JP2021501358A/ja
Application granted granted Critical
Publication of JP7025101B2 publication Critical patent/JP7025101B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Description

本発明は、一般に、コンピュータ化されたクライアントと対話するハードウェア・セキュリティ・モジュール(HSM:hardware security module)を含むシステムにおいて暗号オブジェクトを管理するためのコンピュータ実装方法、ならびに関連するコンピュータ化されたシステムの分野に関する。より詳細には、HSMの鍵管理システムにおけるエントロピーの枯渇を緩和する(すなわち、延期する、または防止さえする)ことを目的とする方法を対象とする。
鍵管理は暗号システムにおける暗号鍵の管理に関連し、これには鍵の生成、記憶、使用、破棄、および置換などの操作が含まれる。鍵管理には、特定の暗号プロトコル、鍵サーバ、および他の手順が必要となる。
一般に、鍵管理システム(KMS:key management system)は、クライアント(デバイス、アプリケーション)用の暗号鍵を生成し、配布し、より一般的には管理するシステムである。KMSはセキュリティのいくつかの側面に対処し得、これらは、安全な鍵の生成から、安全な鍵の取り扱いおよびクライアントへの記憶までに及ぶ。KMSは典型的には鍵の生成、配布、および置換のためのバックエンド機能を含む。さらに、鍵の挿入、クライアント・デバイスでの鍵の記憶および管理のための特定のクライアント機能を統合し得る。
モノのインターネットおよびクラウド・コンピューティングの発展に伴い、コネクテッド・デバイスおよびアプリケーションのセキュリティにとって、鍵管理および鍵管理システムはますます重要になっている。
ハードウェア・セキュリティ・モジュール(HSM)は、暗号操作(すなわち、暗号処理)および強力な認証を実行するための鍵を保護および管理する物理コンピューティング・デバイスである。そのようなモジュールは、典型的にはコンピュータ(たとえば、ネットワーク・サーバ)に直接取り付けられる物理デバイス(たとえば、プラグイン・カード)である。
HSMは典型的には、改ざんおよびバス・プロービングを防ぐための安全な暗号プロセッサ・チップを備える。一般に、HSMは、改ざんの証拠および改ざん耐性を提供する(たとえば、改ざん検出時に鍵を削除する)ように設計され得る。HSMシステムは、管理している鍵を安全にバックアップできる場合がある。HSMは典型的にはクラスタ化されて高い可用性を提供するので、最新のデータセンタ環境の高可用性要件に適合している。とりわけ、オンライン・バンキング・アプリケーションおよび公開鍵インフラストラクチャなどのインフラストラクチャの一部を形成し得る。
機能の中でもとりわけ、HSMは、典型的には物理的過程を利用して十分なランダム性のソース(エントロピーによって特徴付けられるもの)を生成する特定のハードウェアに依存し得る。使用可能なランダム性は、ランダムな鍵の生成に使用される。
そのようなHSMでは、乱数生成(RNG:random number generation)処理は、HSMのエントロピー・プールで使用可能なエントロピーの量によって制限される。エントロピー・プールが枯渇してしまった場合(たとえば、高負荷時)、RNGをそれ以上実行できなくなる。そのような場合、鍵および初期化ベクトル(IV:initialization vector)をそれ以上生成できなくなり、それらの生成は、追加のエントロピーが使用可能になるまで遅延する。このように、高負荷時にはKMSのパフォーマンスが損なわれ得る。
本発明の態様によれば、本発明は、鍵管理システムにおいて暗号オブジェクトを管理するためのコンピュータ実装方法として具現化される。このシステムは、1つまたは複数のハードウェア・セキュリティ・モジュール、すなわち、HSMのセットと、(実際にはクライアントと対話する)ユーザに代わってHSMと対話するクライアントと、を含む。この方法は、セットの各HSMについて、各HSMのエントロピー・プールもしくは負荷またはその両方を監視することを含む。HSMのエントロピー・プールとは、暗号オブジェクトを生成するためにこのHSMで使用可能なエントロピーを指す。HSMにおいて誘導される負荷は、暗号オブジェクトを取得するためにユーザがクライアントと対話することから生じる負荷である。監視されているエントロピー・プールもしくは負荷またはその両方に応じて、前記各HSMにおいて暗号オブジェクトが生成される。したがって、そのようなオブジェクトが生成される程度は、監視されているエントロピー・プールもしくは負荷またはその両方に依存する。
本手法により、HSMにおいてエントロピーがまだ使用可能である場合に、クライアントからの現在のニーズを超えて暗号オブジェクトを蓄積することが可能になる。その後、高負荷によってエントロピーが枯渇してしまった場合に、蓄積されたオブジェクトを使用して、依然として要求に十分にサービス提供することができる。したがって、本解決策により、安全な環境(HSM)において、パフォーマンスを確保しながら(高負荷でも暗号材料がまだ配布される)、潜在的なエントロピーの枯渇の問題を緩和(防止できない場合は、延期など)することが可能になる。
各HSMにおいて誘導される負荷を監視することができる。実際に、エントロピーが主要なボトルネック・リソースであると仮定すると、現在の残存エントロピーの指標として、HSMにおける負荷を監視するだけで十分である。そのような場合、各HSMにおいて暗号オブジェクトが生成される程度は、監視されている負荷に依存する。たとえば、監視されている負荷が所与の負荷閾値を下回った場合、そのようなオブジェクトが生成される速度が増加する。
上述のように、本方法によれば、暗号オブジェクトは、将来の使用のために暗号オブジェクトの予備を蓄積するように、HSMにおいて生成することができる。さらに、生成されたオブジェクトの安全な環境を確保するために、生成されたオブジェクトの少なくとも一部(たとえば、ラップ解除された暗号鍵)をHSMに記憶するように指示することができる。
生成されるオブジェクトはとりわけ、暗号鍵(対称鍵もしくは非対称鍵またはその両方を含む)と、初期化ベクトルと、を含み得る。クライアントの要求に応じて、続いてHSMにおいて暗号操作を実行することができ、これにより初期化ベクトルが、データ暗号化などのための暗号プリミティブへの入力として、暗号鍵と共に使用される。
生成された暗号鍵および初期化ベクトルは、たとえば、少なくとも一時的にHSMに記憶され得る。加えて、生成処理は、各HSMに存在するマスター鍵に基づいて、HSMにおいて生成された鍵をラップして、ラップされた鍵を取得するための鍵ラップ処理を含むことができる。次いで、ラップされた鍵を、後で(たとえば、クライアントの、またはその付近の)外部記憶媒体に記憶するために、(たとえば、クライアントに)供給することができる。
ここで、HSMの限られた記憶能力に対処するための適応的な管理が考えられる。すなわち、実施形態では、各HSMのメモリ容量が監視される。たとえば、暗号オブジェクトを生成する前などにこの容量を継続的にチェックすることができる。このようにして、生成されたオブジェクトを全て維持するか、外部に記憶するかを適切に判断することができる。
すなわち、メモリ容量が十分である場合、たとえば、所与の閾値よりも大きい場合、以前に供給されたラップされた鍵に対応する(ラップ解除された)鍵は、必ずしも削除される必要はない。
このように、暗号操作を実行するクライアントの1つから要求を後で受信した場合(この要求には、以前に供給されたラップされた鍵またはその識別子が付属する)、HSMのうちの1つにおいて対応する鍵を見つけようとするだけで十分であり得る。次いで、要求された暗号操作は、見つかった鍵に基づいて、HSMのうちの前記1つにおいて実行することができる。
ここで、チェックされた監視されているメモリ容量が不十分である場合(たとえば、所与の閾値よりも小さい場合)、後で外部記憶媒体に記憶するために、HSMにおいて生成された暗号オブジェクトが供給され得、対応する暗号オブジェクトがこのHSMから削除される。
供給されるオブジェクトは、典型的にはラップされた鍵を含み、それによって対応する暗号材料をHSMから削除することができる。削除される材料はとりわけ、たとえば、ラップされた状態もしくはラップ解除された状態またはその両方の暗号鍵を含み得る。加えて、供給される暗号材料は初期化ベクトルも含むことができるので、そのような初期化ベクトルもHSMから削除され得る。
これにより、HSM上のメモリスペースを節約することが可能になる。それにもかかわらず、以下で説明する本発明の実施形態によれば、削除された材料は、必要に応じて復元することができる。
たとえば、クライアントは暗号操作を実行する要求を送信し得、要求はHSMから以前に供給されたラップされた鍵を含む。次いで、そのような要求を受信した場合、HSMは、対応する鍵を復元するために、このHSMに存在するマスター鍵に従って、受信したラップされた鍵をラップ解除することに進み得る。したがって、要求された暗号操作は、HSMにおいて、復元された鍵に基づいて実行することができる。
実際には、要求(ラップされた鍵が付属する)を受信した場合、まずHSMの1つにおいて対応する鍵を見つけようとし、そのような鍵を見つけられなかった場合、効率上の理由から鍵のラップ解除に進み得る。
監視されているメモリ容量は、前記各HSMにおいて、前記各HSMのキャッシュ・メモリとして構成されるハードウェア・メモリ・デバイスの容量とすることができる。
実施形態では、暗号オブジェクトは、監視されているエントロピー・プールもしくは負荷またはその両方のパラメータ化された関数に従って、HSMにおいて生成される。この関数はさらに、関数の1つまたは複数のパラメータに関する受信した入力に従って更新され得る。
また、本方法は、対応する統計を取得するように、HSMにおいて生成済みの暗号オブジェクトを監視することを含むことができる。したがって、そのような統計を参照データ(たとえば、達成すべき目標)と比較することにより、続いて、そのような比較の結果に基づいて、HSMにおいて暗号オブジェクトを生成することが可能になる。
本明細書に記載の本発明の実施形態は、HSMにおける負荷の監視に少なくとも部分的に基づくことができる。しかしながら、変形例では、主に各HSMのエントロピー・プールを監視し得る。その場合、HSMにおいて暗号オブジェクトが生成される程度は、負荷ではなく、監視されているエントロピー・プールに依存する。また、監視されているエントロピー・プールが所与のエントロピー閾値を超えた場合に、そのようなオブジェクトが生成される速度が増加する。
ここで、デュアル方式が考えられる。たとえば、HSMにおいて誘導される負荷を主に監視し得るが、HSMにおける現在の負荷を現在のエントロピー値に適合させるように、並行して(たとえば、残存エントロピーの推定値に基づいて)各HSMのエントロピー・プールを監視し得る。すなわち、監視されているエントロピー・プールの現在の値に対してこのHSMにおいて誘導される負荷を調整するために、HSMにおいて暗号オブジェクトが(可能なときに可能な限り)蓄積され得る。同じ方式を各HSMにおいて並行して実装することができる。このようにして、グローバルなHSMの負荷をグローバルな現在のエントロピーに対して調整することができる。
全ての場合において、HSMのいずれかのエントロピー・プールの潜在的なエントロピーの枯渇を緩和するように暗号オブジェクトを生成するため本方法を使用し得る。
他の態様によれば、本発明は、暗号オブジェクトを管理するためのコンピュータ化されたシステム、たとえば鍵管理システムとして具現化される。システムは、1つまたは複数のHSMのセットと、ユーザに代わってHSMのセットと対話するように構成されるクライアントと、を含む。一方で、本方法と一貫して、システムは、エントロピー・プールもしくは前記各HSMにおいて誘導される負荷またはその両方を監視するように構成される。他方、システムは、監視されている値に応じて、各HSMにおいて暗号オブジェクトが生成されるようにする。その結果、そのようなオブジェクトが生成される程度は、監視されている値に依存する。
本発明の実施形態では、クライアントはクラウドに実装される。クライアントはとりわけ、コンテナ、仮想マシン、もしくはそれぞれのコンピュータ・デバイスまたはそれらの組み合わせとして実装され得る。
最後の態様によれば、本発明は、上述のような鍵管理システムにおいて暗号オブジェクトを管理するためのコンピュータ・プログラム製品として具現化される。コンピュータ・プログラム製品は、プログラム命令を具現化したコンピュータ可読記憶媒体を含む。プログラム命令は、1つまたは複数のプロセッサによって実行可能であって、セットの各HSMに対して、本方法によるステップを実行させるものである。
ここで、本発明を具現化するコンピュータ化されたシステム、方法、およびコンピュータ・プログラム製品を、非限定的な例として、添付図面を参照して説明する。
添付図面は、同様の参照番号が別々の図にわたって同一または機能的に同様の要素を指し、以下の詳細な説明と共に本明細書に組み込まれ、その一部を形成するものであり、さらに様々な実施形態を例示し、全てが本開示による様々な原理および利点を説明するのに役立つ。
実施形態による、暗号オブジェクトを管理するための方法の高レベルのステップを示すフローチャートである。 実施形態に含まれる、ユーザに代わってハードウェア・セキュリティ・モジュール(HSM)と対話するクライアントからの要求を管理するための方法の高レベルのステップを示すフローチャートである。 実施形態における、クライアントがユーザに代わってHSMと対話し、クライアントがクラウドで動作する鍵管理システムの選択されたコンポーネントおよびアクターを概略的に示す図である。 本発明の実施形態に含まれる、HSMのエントロピー・プールと、ユーザがHSMのクライアントと対話すること、ならびにこのHSMにおける暗号オブジェクトの予防的生成によって、このHSMにおいて誘導される負荷との典型的な時間発展を比較したプロットである。 図1に示す生成処理への入力として与えられる様々なタイプの暗号オブジェクトの例示的な理想的な再分割を表す円グラフである。
添付図面は、実施形態に含まれるコンピュータ化されたシステムの簡略化された表現を示している。図中の同様または機能的に同様の要素には、特に明記しない限り、同じ参照番号が割り当てられている。
以下の説明は次のように構成されている。まず、一般的な実施形態および高レベルの変形例について説明する(セクション1)。次のセクションでは、より具体的な実施形態および技術的な実装の詳細について述べる(セクション2)。
1.一般的な実施形態および高レベルの変形例
図1、図3および図4を参照して、本発明の一態様を最初に説明し、これは鍵管理システム1において暗号オブジェクトを管理するためのコンピュータ実施方法に関するものである。
そのようなシステムを図3に示す。これは、1つまたは複数のハードウェア・セキュリティ・モジュール11~13(以下、HSM)のセットに加え、ユーザ50に代わってHSM11~13と対話するクライアント31~33を含む。本方法は単一のHSMを含むシステムに既に実装されている場合があるが、そのような方法は、以下で想定するように複数のHSMを含む可能性が高い。実際には、ユーザ50はクライアント31~33と対話し、これによりHSMによって実行される様々な暗号処理操作(強力な認証、暗号化、復号など)が引き起こされて、暗号化/復号されたデータなどのデータがクライアントに供給される。
一般に、本明細書で提案する方法は、HSMのエントロピー・プールもしくはHSMで誘導される負荷またはその両方の監視を中心に展開して、暗号オブジェクトを予防的に生成するようにして、HSMにおけるエントロピーの枯渇に関連する問題を回避する(または少なくとも延期する)。
そのような方法が図1のようにステップS100にて開始すると仮定する。次に、各HSM11、12、13について、図1のループS110に示すように、エントロピー・プールもしくはこのHSMで誘導される負荷またはその両方が継続的に監視される。「エントロピー・プール」とは、このHSMが暗号オブジェクト(以下、CO)を生成するために使用可能なエントロピーを指し、「負荷」とは、ユーザ50がこのHSMからCO50を取得するためにクライアント31~33と対話することによって、このHSMで誘導される負荷である。図3を参照されたい。これについては後で詳細に説明する。
次に、各HSM11、12、13において、監視されているエントロピー・プールもしくは負荷またはその両方に応じてCOをS140にて生成することができ、これは典型的には現在の負荷/エントロピー・レベルを継続的にチェックすることS130を含む。その結果、各HSMでそのようなオブジェクトがS140にて生成される程度は、このHSMに対して監視されているエントロピー・プールもしくは負荷またはその両方に依存する。そのようなステップが、セットの各HSMに対して並行して実施される。
本明細書で前述したように、いくつかのHSMが含まれ得(典型的には同じリージョンに対して3つ以上)、HSMは典型的には、より高い可用性を提供するためにクラスタ化されることが想定される。本発明の実施形態では、クライアントとHSMとの間に1対1のマッピングが存在し得る。換言すれば、実装およびリソース管理を容易にするために、1つのクライアントが一度に1つのHSMと対話する。変形例では、クライアントの高可用性を確保するために、異なる可用性ゾーンに分散した複数のクライアントを各HSMに割り当て得る。たとえば、(所与のデータセンタ内の)2つの物理マシンが2つの別々のラックに配置される場合、異なる可用性ゾーンは2つの別々のラックに対応し得る。ここで、(一方のラック上の)物理マシンが故障した場合、他方のラックに残っているホット・スペア(物理マシン)により、サービスを引き続き利用可能にすることができる。同じリージョン内に複数の可用性ゾーンが存在することができる。リージョンは、たとえば、特定のリージョン(エリア/市/国)内のデータセンタを指す場合がある。しかしながら、他のアーキテクチャおよび他のマッピングも考えられる。
クライアントは、1つまたは複数のマシンで動作するコンピュータ化されたリソースであり、たとえば、アプリケーションまたはコンテナ(複数の分離されたユーザ空間のインスタンスを可能にするもの)であり得る。そうでなければ、クライアントは、仮想マシン(VM:virtual machine)または個別の物理デバイスであり得、またはこれらを含み得る。全ての場合において、クライアント31~33は、たとえば背景技術のセクションで述べたような大規模インフラストラクチャ向けのクラウド・サービスとして暗号処理操作を提供するために、(図3で想定するように)クラウド30に実装することができる。特にクラウド実装において、生成されたCOを配布するために必要なメタデータを割り当てるなどのために、ユーザ50とクライアントとの間に中間(たとえばソフトウェア)レイヤが含まれ得ることに留意されたい。しかしながらより一般的には、本発明は、たとえば、データ暗号化/復号(場合によってはストリーミングされるデータ)、認証、デジタル署名、もしくは任意の機密データ処理またはそれらの組み合わせを含む、任意の暗号アプリケーションに使用され得る。
たとえば、図3のシステム1はN個のHSMを含み得、N個のクライアント31~33とそれぞれ対話する(N≧2であるが、Nははるかに大きい可能性が高い)。(図3の太い矢印のように)クライアント31~33とHSM11~13との間に1対1のマッピングを仮定すると、HSM11~13のそれぞれに関して上記のステップが簡単に実行され得る。すなわち、監視されているリソースは、(i)各HSMがCOを生成するための各HSMのエントロピー・プール、もしくは(ii)1人または複数人のユーザがCOを取得するために前記各HSMにマッピングされたクライアントと対話することによって各HSMで誘導される負荷、またはその両方に対応し得る。
本明細書で企図するHSM11~13は耐改ざんデバイスであり、安全性の高い暗号処理操作を実行できる安全な物理環境を提供する。HSMはハードウェアベースの乱数生成器を含む。HSMによって生成されたデータ、たとえば、生成された乱数から取得されたデータは、ある程度までクライアント31~33が使用できる(クライアントのみが使用でき、ユーザは使用できない)。より正確には、そのようなデータは、クライアントで動作する選択されたアプリケーションで使用可能にすることができ、それらのアプリケーションは典型的には、HSMによって生成されたデータにアクセスし、別の方法でHSMと通信するために、適切に認証およびログインされる。それでもなお、HSMは比較的分離されたデバイスのままであり、限られた数のクライアントによって使用される。
エントロピーとは、暗号処理操作で使用するための、HSM11~13で使用可能なランダム・データのランダム性の度合いを表す。ランダム性は、それ自体が知られているように、たとえばノイズ、電気信号の変動、または任意の外乱などの一部の物理的ソースに基づいて、専用のランダム性生成器から収集され得る。変形例では、ランダム生成器はまた、一部の外因性イベント、たとえば、クライアント要求のタイミングに関連付けられたビットもしくはそのような要求に含まれるデータまたはその両方に基づき得る。しかしながら、そのような変形例は、生成される数のランダム性の度合いに影響を与える体系的なパターンを含むことができることに留意されたい。
前述のように、本手法は予防的にCOを事前生成することに相当するので、HSM11~13の負荷が低い/使用可能なエントロピーが大きい場合に、そのようなオブジェクトを蓄積することが可能になる。COの予備を蓄積することにより、後で適切に要求にサービス提供することが可能になり、これらがHSMに高負荷時に押し寄せた場合でも可能である。COが蓄積されるということは、後で使用するために、現在のニーズを超えて事前に生成されることを意味する。これはまた、低負荷時に、典型的には、現在の要求を満たすために、事前生成されたCOの一部のみが配布されることを意味する。
その結果、後で使用するためにエントロピーを記憶する代わりに、ここでは使用可能なエントロピーを、使用可能になり次第すぐに使用することができる。このように、本手法はエントロピーの使い果たしに対処するだけでなく、COの事前生成に応じてパフォーマンスを改善することも可能になる。また、負荷を考慮することにより、本明細書に記載の実施形態は、HSM11~13の現在の作業負荷に過度に影響を与えない。
本方法は、鍵管理システムにおけるエントロピーの枯渇を緩和する(すなわち延期する、または防止さえする)ことを目的とする。さもなければ、エントロピーの枯渇は、負荷が所与の閾値Tを超えた時点で発生する可能性があり得る。図4を参照されたい。詳細には、HSMによって使用される乱数生成処理は、各HSMのエントロピー・プールにおいて使用可能なエントロピーの量によって制限され、これは生成処理の現在の負荷および現在の供給速度に依存する。エントロピー・プールが枯渇した場合、乱数生成(以下、RNG)を実行することができない。したがって、鍵および初期化ベクトル(IV:initialization vector)をそれ以上生成できなくなり、追加のエントロピーが使用可能になるまでそれらの生成が遅延する。
このように、高負荷時にはパフォーマンスおよびセキュリティが損なわれ得るが、本発明の利点により、HSMを修正する必要なく、エントロピーの枯渇を緩和することが可能になる。すなわち、既存のHSMに依存することができ、これらは必ずしも修正される必要はない。
RNGは、仮想化環境で動作するアプリケーションなど、多くのセキュリティ・アプリケーションにとっての課題である。その点で、本手法の実施形態は、本発明の実施形態のように、クライアント31~33とHSMとの間の1対1のマッピングに応じて容易に拡張可能である。使用可能なエントロピーをすぐに使用することに加えて、生成されたオブジェクトをHSMに記憶できる程度まで、COの事前生成を安全に管理することができる。本明細書に記載の実施形態のように、最も重要なデータをHSMで維持することができ、あまり重要でないデータの記憶は、クライアント側などに外部化することができる。
したがって、本発明の実施形態は、パフォーマンスとセキュリティとを両立し、さらに、HSMを修正する必要なく、容易に拡張することができる。これにより、全体として、クライアント31~33をクラウドに実装することが完全に適切になる。したがって、実施形態のように、本方法はクラウドベースのサービスとして有利に提供することができる。
変形例の中でもとりわけ、以下に説明するように、3つのクラスの実施形態が考えられる。
第1の手法は、たとえば、乱数、暗号鍵、またはHSMにおける他の任意の暗号関連オブジェクトに関する要求による負荷を監視することS110のみからなる。この手法はエントロピーに依存せず、エントロピー・プール(たとえば、乱数供給源)は監視されない。
第2の手法は、エントロピー・プールのみを監視するもの(すなわち、乱数供給源の補充)である。この第2の手法は負荷に依存しない。負荷自体は監視されないが、典型的には常に中/高であると想定され得る。それでもやはり、エントロピーは典型的には、(たとえば、任意の適切な統計モデル、機械学習モデル、または分析関数を介して)現在の負荷に基づいて推定される必要があり得るので、エントロピーを監視することは、最終的には、負荷も監視し、これからエントロピーを予想することに相当し得る。
第3の手法は、たとえば、高および低閾値の方法を使用して、HSMのエントロピー・プールと負荷との両方を監視するものである。このようにして、たとえば、オンライン負荷(需要)とエントロピー・プール(供給)とを一致させるために二重制約最適化方式を実装できる、完全にバランスの取れた管理システムを考えることができる。換言すれば、要求にサービス提供するために事前に生成されたオブジェクトを提供して、エントロピーの補充を可能にすることによって、オンライン負荷を効果的に下げることができる。このように、負荷を現在測定されている(というよりは推定されている)エントロピー値に調整することにより、HSMを(ほぼ)定常状態に維持するように、負荷をエントロピー・プールに一致させることができる。
理想的には、監視されているエントロピー・プールに比例して、もしくは監視されている負荷に反比例して、またはその両方で、HSMにおいてCOがS140にて生成される。しかしながら、COが生成されるペースの関係は、実際には多少粗くてもよい。たとえば、エントロピーが所与のそれぞれの閾値を超える場合、もしくは負荷が所与のそれぞれの閾値を下回る場合、またはその両方の場合に、一定の生成速度が適用され得る。図4を参照されたい。
図4の例では、暗号オブジェクトは2値処理に従ってS140にて生成され、すなわち、それらが(エントロピー/負荷レベルに応じて)生成されるか否かであり、監視されている値との正味の比例関係(または逆の関係の比例)を必ずしも必要としない。しかしながら、一般に、負荷が所与のそれぞれの閾値を下回る場合に、現在の負荷がこの閾値を超える場合よりも多くのオブジェクトがS140にて生成される。同様に、エントロピーが所与のそれぞれの閾値を超える場合に、エントロピーがその閾値を下回る場合よりも多くのオブジェクトを生成することができる。最後に、図4の例では、簡単にする目的で、図示したエントロピーと負荷との両方に対して閾値Tが同一になるように選ばれていることに留意されたい(そうでなければグラフは負荷とエントロピーとに対して自由な単位を仮定する)。しかしながら、実際には、単位は異なる可能性があるので、そのような閾値が同一である理由はない。
本明細書に記載の本発明の実施形態は、エントロピーではなく、各HSM11、12、13で誘導される負荷を監視することS110に主に基づいている。換言すれば、各HSM11、12、13でそのようなオブジェクトがS140にて生成される程度は、監視されている負荷に依存する。実際には、監視されている負荷が所与の負荷閾値を下回った場合、そのようなオブジェクトがS140にて生成される速度が増加する。図4で想定しているように、エントロピーが重要なボトルネック・リソースであるとすれば、所与のHSMの現在のエントロピー・プールおよび負荷は、典型的には時間の経過と共におおよそ逆に変化する。したがって、実際には負荷を監視すれば通常は十分であり、エントロピー・プールを明示的に監視する必要はない。それでもなお、COを実際に生成するために必要な計算リソースなど、追加的な要因がHSMの負荷にさらに影響し得る。そのため、エントロピー・プールおよび負荷は、実際には時間の経過と共に完全な反比例で変化しない場合がある。
それにもかかわらず、本発明の実施形態では、本方法は負荷非依存ではない。換言すれば、負荷は明示的に監視され、監視されている負荷値はCOが生成される程度に影響する。当業者が知っているように、ネットワークのノードでリアルタイムの負荷を監視できるようにするいくつかの方法が知られている。
HSMの負荷はとりわけ、クライアント31~33から測定され得(HSMの既知の特性を考慮すると、1対1のマッピングでは特に簡単である)、またはHSM自体で測定され得(対応する機能が搭載されている場合)、さらにはゲートウェイもしくはネットワークの任意の適切なノードにおいて、このノードにはクライアントによって行われた要求が継続的に通知されると仮定して、測定され得る。CO生成処理S140は最終的にHSMで行われるが、ネットワークのノード(たとえば、トラフィック・コントローラ)から制御され得る。変形例では、この処理はいくつかのノードにわたって非局在化(delocalize)される。ネットワーク・トラフィック管理ソリューションのような、様々な中間構成が考えられる。
実施形態では、生成されたCOの少なくとも一部を、CO生成が行われたHSM11、12、13にS143にて記憶して、生成されたオブジェクトを保護するようにさらに指示される。それでもやはり、最も重要なデータ(たとえば、マスター鍵、ラップ解除された形式の暗号鍵)だけはHSM内で厳重に維持される必要があるが、後で詳細に説明するように、あまり重要でないデータの記憶を外部化して、HSMのメモリスペースを節約することができる。
その点で、S140にて生成されたCOは、典型的には、対称鍵もしくは非対称鍵またはその両方を含み得る暗号鍵に加え、初期化ベクトル(IV)を含む。IVはデータ暗号化用の秘密鍵と共に、暗号プリミティブへの入力として使用される。すなわち、そのようなベクトルは、同じクリア・データを暗号化した結果が、異なるベクトルが使用される度に異なるように、暗号化アルゴリズムへの追加のランダム入力として使用される。しかしながら、IVは暗号鍵よりも重要でなく、公開することができるので、場合によってはHSMの外部に、たとえばクライアント31~33に、またはそれらの近く41~43に記憶することができる。
図1に見られるように、生成された暗号鍵およびIVを、それらがS141にて生成されたHSM11、12、13に、少なくとも一時的にS143にて記憶するように指示することができる。その目的で、HSM11~13にはハードウェア・メモリが搭載され、これはHSM用のキャッシュ・メモリとして構成することができる。ハードウェア・キャッシュは、HSMによって、そこに記憶されたデータにアクセスするための(時間またはエネルギーの観点での)平均コストを削減するために使用される。
前述のように、生成されたオブジェクトの一部は、それにもかかわらず、後で外部記憶媒体41~43に記憶されるように、各HSM11、12、13によってクライアントなどにS150にて供給される。図3で想定しているように、外部記憶媒体41~43は、たとえば、クライアント31~33に取り付けられるか、またはこれらと密接なデータ通信を行い、すなわち、クライアント空間にあり(ユーザ空間にはない)、ここにデータをまだ比較的安全に記憶することができる。このようにして、供給された材料(または関連する材料)の少なくとも一部を、後でステップS170にて削除することができる。
そのようなオブジェクトをHSM11~13に記憶および維持するか否かは、以下で説明する実施形態のように、実際には選択されたストレージ戦略に依存し、これはHSMのメモリ容量の監視をさらに含み得る。具体的には、生成された暗号鍵およびIVは、後述のように、HSMのメモリ容量に応じて、まずHSMに記憶され、後で削除され得る。
実施形態では、生成ステップS140全体は、以前にS141にて生成された鍵のうちの1つまたは複数を、ローカルに、すなわち各HSM11、12、13でS145にてラップすることをさらに含む。これは、それ自体が知られているように、各HSM11、12、13にあるマスター鍵に基づいて実行される。それに応じて、1つまたは複数のラップされた鍵がそれぞれS145にて取得される。
ステップS145にて取得されたラップされた鍵の記憶は、外部記憶媒体41~43に(関係する各HSMによって)S150にて外部化することができる。典型的には、ステップS145およびS150は単一のステップとして、ラップ処理の一部として実装され、これにより、鍵をラップすると、(図1が示唆し得るものに反して)ラップされた鍵はすぐに供給される。しかしながら、変形例では、ラップされた鍵は、たとえば現在のネットワーク・トラフィック状況に適応するために、要求元のユーザ/クライアントに供給される前にHSMのキャッシュに一時的に保持され得る。全ての場合において、クライアント31~33は、ラップされた鍵を複製するか、またはその識別子を維持することができる。それでもなお、たとえばHSMに記憶された鍵ハンドルへのローカル・マッピングを使用して、対応する(ラップ解除された)鍵を後で必要に応じて識別することができる。なお、「ラップ解除された」という用語は、ここではラップ解除された形式またはラップされていない形式の鍵を表すために使用していることに留意されたい。
図1に示すように、HSM11~13に記憶されている暗号材料を削除するか否かは、HSMのメモリ容量に基づくことができる。その目的で、HSMのメモリ容量がS120にて監視される。このようにして、たとえば、新たなCO生成ステップS140の前に、所与のHSMのメモリ容量を継続的に120、160にてチェックすることができる。そこで、仮にS160にてメモリ容量が十分であった(たとえば、所与の容量閾値よりも大きい)場合、このHSMから暗号材料を削除する必要はなく、処理はステップS100に戻る。新たなサイクルが開始し、それによって現在の負荷/エントロピー・レベルがS130にてチェックされ、負荷/エントロピーが許せば、このHSMはCO生成140の新たなサイクルに進んで、さらなるクライアント要求にサービス提供するなどし得る。
しかしながら、仮にS160にてこのHSMのメモリ容量が不十分であった(たとえば、所与の容量閾値よりも小さい)場合、以前にS150にて供給されたCOに対応する材料をS170にて削除して、このHSMのスペースを節約することができる。
前述のように、S150にて供給されたCOは、以前にS145にて取得されたラップされた鍵を含むことができる。したがって、ラップされた鍵は、それらが取得されたHSMから削除することができる(ラップされた鍵は、典型的にはローカルに、ラップ処理S145~S150の一部として削除されることに留意されたい)。加えて、ステップS150にて供給されたラップされた鍵に対応する暗号鍵(ラップ解除された形式)もステップS170にて削除することができる。
また、ステップS150にて供給されたCOは、HSM11、12、13で以前にS141にて生成されたIVをさらに含み得る。したがって、ステップS170であろうと、それ以前(たとえば、S150にてラップされた鍵を供給したとき)であろうと、S150にて供給されたIVもこのHSMから削除され得る。
全ての場合において、上記のシナリオでは、ラップ解除された形式の鍵がHSM11~13で維持されるかまたはS170にて削除されることを常に想定している。そのような鍵は、セキュリティ上の理由で、HSMから離れることを意図していない。したがって、最終的に削除されるCOのセットは、外部記憶媒体41~43にS150にて供給されるオブジェクトのセットとは異なる可能性があり、ただし、いくらかの重複および対応関係が存在する。たとえば、鍵(ラップされた形式のみ)をクライアント・デバイスにS150にて供給して、その上に記憶することができるので、対応する鍵(ラップされた形式とラップ解除された形式との両方)をHSMから削除することができる。そのような削除は不利にはならず、その理由は、図2を参照して後述するように、後続の要求にはラップされた鍵が付属し得、付属するラップされた鍵をHSMにおいて、そこにあるマスター鍵に従ってラップ解除することができるためである。
ステップS150~S170の方式により、HSMのキャッシュの飽和に関連する潜在的な問題を緩和することが可能になる。反対に、従来の解決策では、高負荷はエントロピーの枯渇につながり得るだけでなく、加えて、HSMのキャッシュの飽和がもたらされ得る。ここでは、機密性の低いデータ(ラップされた鍵およびIVなど)の記憶を外部化することにより、外部化された材料に対応する暗号材料をHSM11~13から削除することが可能になる。しかしながら、そのような削除は、図2を参照して以下で説明するように、要求にサービス提供するパフォーマンスに影響を与えないように、HSMのメモリ容量が飽和した場合にのみ含まれる。
全ての場合において、マスター鍵はHSMにおいて維持される必要がある。マスター鍵およびラップ解除された鍵は、HSMから離れることを意図しておらず、上述の実施形態のように、ラップ解除された鍵をHSMからS170にて削除できることを想起されたい。
ここで図2をより詳細に参照して、システムによるクライアント要求の処理に関する実施形態を説明する。前述のように、将来の使用S200のためにCOの予備を蓄積するために、各HSM11、12、13においてCOをS140にて生成することができる。具体的には、クライアント31~33の1つの要求S200を受信すると、HSM11、12、13は受信した要求に従って、暗号操作をS210~S245にて実行し得る。この際、たとえばデータ暗号化のために、HSMで実装された暗号プリミティブへの入力として、1つまたは複数のIVが1つまたは複数の暗号鍵と共に使用され得る。
しかしながら、この時点で、選択されたストレージ戦略次第で、ラップ解除された鍵がHSMにある場合と、ない場合とがある。また、図1を参照して説明したような実施形態では、暗号オブジェクトの一部はHSMで維持されるが(メモリ容量が十分な場合)、他の一部のオブジェクトは欠落している。欠落しているオブジェクトは、メモリ容量が不十分であったときに作成されたオブジェクトに対応し、したがってそれらの記憶は外部化されており、対応する暗号材料はその後削除されている。したがって、場合によっては、クライアント要求に基づいて最初に適切な鍵をHSMで見つける必要があり得、またはこの鍵が、以下で説明するように、要求と共に提供されるラップされた鍵に基づいて、最初にラップ解除される必要があり得る。
図2に見られるように、ステップS200にて、暗号操作を実行する要求が、クライアント31~33のうちの1つからHSMに受信され得る。この要求にはラップされた鍵が付属し、これは以前にクライアントにS150にて供給されたものである。要求に基づいて、HSMコントローラ(図示せず)は、HSM11、12、13のうちの1つにおいて、要求に付属するラップされた鍵に対応する鍵をS210、S220にて最初に見つけようとし得る。S220にて一致が見つかったと仮定すると、要求された暗号操作を、見つかった鍵を保護しているHSMにおいて、その鍵に基づいてS240にて実行することができる。
いくつかの変形例が考えられる。たとえば、要求には、ラップされた鍵自体ではなく、ラップされた鍵の識別子が付属し得る。その場合、要求と共に受信した識別子に対応する鍵をS210、S220にて見つけようとする。その点で、ステップS200~S220は、それ自体が知られているように、ハッシュおよび鍵ハンドルに基づいて実行され得る。たとえば、ステップS210にて、最初に、ラップされた鍵のハッシュ(すなわち、このハッシュはステップS200で受信した識別子である)を、HSMに記憶された鍵ハンドルへのローカル・マッピングと比較し得る。S220にて一致が見つかると、対応する鍵ハンドルを使用して、対応する(ラップ解除された)鍵にアクセスする。
しかしながら、ステップS220にて一致が見つからなかった場合、ラップされた鍵が、その鍵をラップ解除するのに必要である。その目的で、ステップS200にて要求と共に提供されたラップされた鍵があれば、それを使用し得る。ラップされた鍵自体の代わりにラップされた鍵の識別子が提供された場合、ラップされた鍵を取得するには、要求元のクライアントとの追加の通信(図示せず)が必要になる。そのような状況に対処するために、適切なプロトコルが実装され得る。ラップされた鍵を受信すると(それによって要求はここで完了する)、HSMは、そこに存在するマスター鍵に従って、受信したラップされた鍵をS230にてラップ解除することに進む。これにより、対応する(ラップ解除された)鍵が復元される。要求された暗号操作は、復元された鍵に基づいて、ステップS245にて最終的に実行される。
必要に応じて、HSMが要求された操作を適切に実行するために、要求内でラップされた鍵データと共にIVが提供される。
図1および図2に具体的に示した実施形態によって、パフォーマンスおよびセキュリティを維持しながら、HSMにおけるエントロピーの枯渇の問題と、潜在的なキャッシュの飽和との両方に対処することが可能になる。低負荷/高エントロピー時には、将来の要求を考慮してCOが蓄積される。しかしながら、HSMの残存メモリ容量が少ない場合、暗号材料の一部はHSMに維持されない。それでもなお、図2の方式により、HSMで維持される(HSMから離れない)より重要な暗号オブジェクト(たとえば、マスター鍵)に基づいて、削除された材料(たとえば、ラップ解除された鍵)を安全に復元することが可能になる。
再び図1を参照して、ステップS140にて暗号材料が生成される仕方に関連する追加の実施形態をここで説明する。たとえば、各HSM11、12、13において、監視されているエントロピー・プールもしくは負荷またはその両方のパラメータ化された関数に従って、COがS140にて生成され得る。この関数は、自動的な方法に基づいて、たとえばユーザから(ただし、クライアントを介して)または何らかのコントローラからHSMにおいて受信した入力に従って、S149にて更新され得るパラメータを含み得る。全ての場合において、ステップS148にて受信した入力(関数のパラメータに関するもの)を使用して、この関数をS149にて更新する。この関数は、生成プロファイル(単数または複数)を定義する。COのタイプによって、生成プロファイルは異なり得る。したがって、関数はとりわけ、生成されるCOの理想的な速度と、現在の負荷/エントロピー・レベルとの関係(すなわち比率)を定義し得る。
この関数は、たとえば、分析的(かつ、場合によってはパラメトリック)であるか、または数値的であり得る(たとえば、単なるテーブルであり得る)。この関数は、たとえば、いくつかの関数(たとえば、S140にて生成されるCOのタイプごとに1つ)に分解するためにパラメトリックであり得る。
加えて、HSMにおいて予防的に到達すべき目標を設定するため参照データに依存することができる。たとえば、対応する統計をS146にて取得するように、生成されたCOを各HSM11、12、13において監視し得る。次いで、そのような統計を参照データとS147にて比較することができる。したがって、その後S140にて生成されるCOは、ステップS147にて実行された比較の結果に、S149にて基づくことができる。たとえば、COの生成プロファイルを決定するために使用される生成関数は、比較結果に基づいて、参照データからの指示に沿ってCOを生成するようにステップS149にて更新され得る。
そのような参照データは、たとえば、アプリケーション固有の目標であり得る。そのようなデータは、図5の円グラフに示すように、異なるタイプのCO(たとえば、対称鍵、非対称鍵、IVなど)の間の比率をさらに指定し得る。
次に、他の態様によれば、本発明は、COを管理するためのコンピュータ化されたシステム1、たとえば、鍵管理システム(KMS)、またはKMSのサブシステムとして具現化することができる。そのようなシステムの主な態様は、本方法を参照して既に前述している。そのため、そのようなシステムを、以下でごく簡潔に説明する。CO管理システム1は、1つまたは複数のHSM11~13を含み(およびいくつかのHSMを含むことができる)、ならびに前述のように、ユーザ50に代わってHSM11~13のセットと対話するように構成されるクライアント31~33を含む。
クライアントとHSMとの間には1対1のマッピングが存在することができる。換言すれば、実装およびリソース管理を容易にするために、1つのクライアントが一度に1つのHSMと対話する。しかしながら、他のアーキテクチャも考えられる。
全ての場合において、システムは、動作中の、各HSM11、12、13のエントロピー・プールもしくは各HSMにおいて誘導される負荷またはその両方を監視するように構成される。加えて、図1を参照して前述したように、システム1は、各HSMが監視されているエントロピー・プールもしくは負荷またはその両方に応じてCOをS140にて生成するようにする。その結果、そのようなオブジェクトがS140にて生成される程度は、動作中の、監視されているエントロピー・プールもしくは負荷またはその両方に依存する。そのようなシステム1により、低負荷/高エントロピー時にCOを蓄積することが可能になる。
実施形態では、システム1は、図1および図2を参照して前述したように、HSMのキャッシュの飽和を防止するように要求を処理するようさらに構成され得る。その目的で、各HSMのメモリ容量が監視される必要がある。セキュリティ上の理由で、そのようなメモリは、各HSMのキャッシュ・メモリとして構成されるハードウェア・メモリとすることができる。
実施形態では、クライアント31~33はクラウド30に実装される。クライアントはとりわけ、アプリケーション、コンテナとして実装され、仮想マシンもしくはそれぞれのコンピュータ・デバイスまたはその両方であるか、またはそれらを含み得る。クライアント31~33は、たとえば、図3で想定しているように、異なるデバイスに実装されたコンテナで構成され得る。
クラウドは、リソースの所有者が、たとえば一定期間、それらのリソースの一部または全てをユーザに動的に割り当て得るように編成されたコンピュータ・リソースのセットである。クライアント31~33が実装されるクラウドは、プライベート・クラウド、すなわち、ユーザおよび所有者が同じ組織に属するクラウドであり得る。変形例では、このクラウドは外部クラウド、たとえばパブリック・クラウドであり、ユーザと所有者とが異なる組織に属する。たとえばセキュリティまたは信頼性などの理由で、所有者またはユーザが、自身の計算をサード・パーティのインフラストラクチャで実行させたくない場合に、プライベート・クラウドを使用することができる。
次に、最後の態様によれば、本発明は、KMSにおいてCOを管理するためのコンピュータ・プログラム製品として具現化することができる。このコンピュータ・プログラム製品は、プログラム命令を具現化したコンピュータ可読記憶媒体を含み、プログラム命令は、1つまたは複数のプロセッサによって、後者に本方法によるステップを取らせるために実行可能である。本コンピュータ・プログラムの態様については、セクション2.2で詳細に説明する。
このプログラムは、たとえば、クライアントおよびHSMにおいて(非局在化された方法で)、または特定のノード(たとえば、HSM)において動作し得る。加えて、このプログラムは、場合により、HSMまたはクライアントとHSMとの両方と対話することを許可されたコントローラを含み得る。当業者には当然のことながら、多くの可能なアーキテクチャが考えられる。
上記の実施形態は、添付図面を参照して簡潔に説明しており、いくつかの変形例を含み得る。上記の特徴のいくつかの組み合わせが考えられる。
2.特定の実施形態 - 技術的な実装の詳細
2.1 クラウド実装
本開示はクラウド・コンピューティングを含む実施形態に言及するが、本明細書において述べた教示の実装はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られているまたは今後開発される他の任意のタイプのコンピューティング環境と組み合わせて実装することが可能である。クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの対話によって迅速に供給およびリリースすることが可能な、設定可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特性と、少なくとも3つのサービス・モデルと、少なくとも4つの展開モデルと、を含み得る。
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド・コンシューマは、サービスのプロバイダとの人的な対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的に供給することができる。
ブロード・ネットワーク・アクセス:能力はネットワークを介して使用することができ、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースをプールして、様々な物理リソースおよび仮想リソースが需要に応じて動的に割り当ておよび再割り当てされるマルチ・テナント・モデルを使用して複数のコンシューマにサービス提供する。一般にコンシューマは、提供されるリソースの正確な位置に対して何もできず、知っているわけでもないが、より高い抽象化レベル(たとえば、国、州、またはデータセンタなど)における位置を特定できる場合があるという点で位置非依存の感覚がある。
迅速な弾力性:能力を迅速かつ弾力的に、場合によっては自動的に供給して素早くスケール・アウトし、迅速に解放して素早くスケール・インすることができる。コンシューマにとって、供給可能な能力は無制限であるように見えることが多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウドシステムは、サービスのタイプ(たとえば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適したある抽象化レベルでの計量機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、管理、および報告して、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供することができる。
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS:Software as a Service):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を可能性のある例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション能力を含む、基盤となるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス(PaaS:Platform as a Service):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または取得したアプリケーションをクラウド・インフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、展開されたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS:Infrastructure as a Service):コンシューマに提供される能力は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアをコンシューマが展開し動作させることが可能な、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースを供給することである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションを制御し、場合によっては選択したネットワーキング・コンポーネント(たとえば、ホスト・ファイアウォール)を限定的に制御する。
展開モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは組織専用に運用される。これは組織または第三者によって管理され得、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャはいくつかの組織によって共有され、共通の利害関係(たとえば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項など)を有する特定のコミュニティをサポートする。これは組織または第三者によって管理され得、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模な業界団体に対して利用可能にされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または独自技術(たとえば、クラウド間の負荷分散のためのクラウド・バースティング)によって結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を合成したものである。
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味論的相互運用性に重点を置いたサービス指向型である。クラウド・コンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
2.2 システム、方法、およびコンピュータ・プログラム製品
本発明は、任意の可能な技術的詳細レベルの統合での、システム、方法、もしくはコンピュータ・プログラム製品またはそれらの組み合わせであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(単数または複数)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持し記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはそれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:portable compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリー・スティック(登録商標)、フレキシブル・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的に符号化されたデバイス、およびそれらの任意の適切な組み合わせを含む。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を伝播する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または導線を介して伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいはインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組み合わせを含み得る。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶できるようにする。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、あるいはSmalltalk(登録商標)、C++、もしくは同様のもののオブジェクト指向プログラミング言語と、Cプログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語とを含む、1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続され得、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。一部の実施形態では、たとえば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate array)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic array)を含む電子回路は、本発明の態様を実行するために、電子回路を個人向けにするためのコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行し得る。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書で説明している。フローチャート図もしくはブロック図またはその両方の各ブロック、ならびにフローチャート図もしくはブロック図またはその両方におけるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
これらのコンピュータ可読プログラム命令を汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行された命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を生成するようなマシンを生成し得る。また、これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製造品を含むような特定の仕方で機能するように、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイスまたはそれらの組み合わせに指示することができるコンピュータ可読記憶媒体に記憶され得る。
また、コンピュータ可読プログラム命令をコンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させることによって、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行された命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するようなコンピュータ実施処理を生成し得る。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能(群)を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。一部の代替的実装形態では、ブロックに示した機能は、図に示した順序以外で実施され得る。たとえば、関与する機能性に応じて、連続して示した2つのブロックは、実際には実質的に同時に実行され得、またはそれらのブロックは、場合によっては逆の順序で実行され得る。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方におけるブロックの組み合わせは、指定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースのシステムによって実装できることにも留意されたい。
本発明は、限られた数の実施形態、変形例、および添付図面を参照して説明しているが、当業者には、本発明の範囲から逸脱することなく様々な変更が行われ得、均等物に置換され得ることが理解されよう。具体的には、本発明の範囲から逸脱することなく、所与の実施形態、変形例において述べた、または図示した(デバイス様または方法様の)特徴は、他の実施形態、変形例、または図面の他の特徴と組み合わせられるか、またはこれに置き換わり得る。したがって、添付の特許請求の範囲内に留まる上記の実施形態または変形例のいずれかに関して説明した特徴の様々な組み合わせが考えられる。加えて、本発明の範囲から逸脱することなく、特定の状況または材料を本発明の教示に適合させるために、多くの小さな修正が加えられ得る。そのため、本発明は開示した特定の実施形態に限定されず、本発明は添付の特許請求の範囲内に入る全ての実施形態を含むものとする。加えて、上記で明示的に触れた以外の多くの変形例が考えられる。

Claims (25)

  1. 鍵管理システムにおいて暗号オブジェクトを管理する方法であって、前記システムは、1つまたは複数のハードウェア・セキュリティ・モジュール(HSM)のセットと、クライアントと対話するユーザに代わって前記HSMと対話する前記クライアントと、を含み、前記方法は、前記セットの各HSMについて、
    前記鍵管理システムのプロセッサを使用して、暗号オブジェクトを生成するための前記各HSMのエントロピー・プール、もしくはそのような暗号オブジェクトを取得するために前記ユーザが前記クライアントと対話することによって前記各HSMにおいて誘導される負荷、またはその両方を監視するステップと、
    そのようなオブジェクトが生成される程度が、前記監視されているエントロピー・プールもしくは負荷またはその両方に依存するように、前記プロセッサを使用して、前記監視されているエントロピー・プールもしくは負荷またはその両方に応じて、前記各HSMにおいて暗号オブジェクトを生成するステップと、
    を含む、方法。
  2. 監視するステップは、前記各HSMにおいて誘導される前記負荷を監視するステップを、含み、前記各HSMにおいてそのようなオブジェクトが生成される前記程度は、前記監視されている負荷が所与の負荷閾値を下回った場合に、そのようなオブジェクトが生成される速度が増加するように、前記監視されている負荷に依存する、
    請求項1に記載の方法。
  3. 前記暗号オブジェクトは、将来の使用のために暗号オブジェクトの予備を蓄積するように、前記各HSMにおいて生成される、
    請求項1に記載の方法。
  4. 前記生成された暗号オブジェクトの少なくとも一部を前記各HSMに記憶するように指示するステップを、さらに含む、
    請求項3に記載の方法。
  5. 前記各HSMにおいて前記暗号オブジェクトを生成するステップは、暗号鍵および初期化ベクトルを生成するステップを、含み、前記暗号鍵は対称鍵もしくは非対称鍵またはその両方を含む、
    請求項4に記載の方法。
  6. 前記クライアントのうちの1つの要求に応じて、前記各HSMにおいて暗号操作を実行するステップを、さらに含み、これにより前記初期化ベクトルのうちの1つまたは複数が、データ暗号化のための暗号プリミティブへの入力として、1つまたは複数の暗号鍵と共に使用される、
    請求項5に記載の方法。
  7. 前記生成された暗号鍵および初期化ベクトルを前記各HSMに記憶するように指示するステップを、さらに含む、
    請求項5に記載の方法。
  8. 前記各HSMにおいて前記暗号オブジェクトを生成するステップは、前記各HSMに存在するマスター鍵に基づいて、それぞれ1つまたは複数のラップされた鍵を取得するために前記各HSMにおいて生成された前記鍵のうちの1つまたは複数をラップするステップを、さらに含む、
    請求項7に記載の方法。
  9. 後で外部記憶媒体に記憶するために、前記各HSMにおいて取得された前記ラップされた鍵のうちの1つまたは複数を供給すること
    をさらに含む、請求項8に記載の方法。
  10. 前記クライアントの1つから、暗号操作を実行する要求を受信することであって、前記要求は、前記クライアントに以前に供給されたラップされた鍵、またはこのラップされた鍵の識別子を含む、受信するステップと、
    前記HSMのうちの1つにおいて、前記要求と共に受信された前記ラップされた鍵または前記識別子に対応する鍵を見つけるステップと、
    前記見つかった鍵に基づいて、前記HSMのうちの前記1つにおいて前記要求された暗号操作を実行するステップと、
    をさらに含む、請求項9に記載の方法。
  11. 前記暗号オブジェクトを生成する前に、前記HSMのメモリ容量をチェックするステップと、
    前記監視されているメモリ容量が所与のメモリ容量閾値よりも小さい場合、後で外部記憶媒体に記憶するために、前記各HSMにおいて生成された前記暗号オブジェクトのうちの1つまたは複数を供給して、前記供給された1つまたは複数の暗号オブジェクトに対応する1つまたは複数の暗号オブジェクトを前記各HSMから削除するステップと、
    をさらに含む、請求項8に記載の方法。
  12. 前記供給された暗号オブジェクトは、前記HSMにおいて以前に取得された1つまたは複数のラップされた鍵を含む、
    請求項11に記載の方法。
  13. 前記削除される1つまたは複数の暗号オブジェクトは、前記供給された1つまたは複数のラップされた鍵に対応する1つまたは複数の暗号鍵を含む、
    請求項12に記載の方法。
  14. 前記削除される暗号鍵は、前記供給されたラップされた鍵に対応するラップされた鍵とラップ解除された鍵との両方を含む、
    請求項13に記載の方法。
  15. 前記供給された暗号オブジェクトは、前記HSMにおいて以前に生成された初期化ベクトルをさらに含み、
    前記削除される1つまたは複数の暗号オブジェクトは、前記供給された初期化ベクトルをさらに含む、
    請求項14に記載の方法。
  16. 前記クライアントのうちの1つから暗号操作を実行する要求を受信することであって、前記要求は、前記各HSMから以前に供給されたラップされた鍵を含む、受信するステップと、
    対応する鍵を復元するために、前記各HSMに存在するマスター鍵に従って、前記受信したラップされた鍵をラップ解除するステップと、
    前記各HSMにおいて前記復元された鍵に基づいて前記要求された暗号操作を実行するステップと、
    をさらに含む、請求項14に記載の方法。
  17. 前記監視されているメモリ容量は、前記各HSMにおいて、前記各HSMのキャッシュ・メモリとして構成されるハードウェア・メモリ・デバイスの容量である、
    請求項11に記載の方法。
  18. 前記暗号オブジェクトは、前記監視されているエントロピー・プールもしくは負荷またはその両方のパラメータ化された関数に従って、前記各HSMにおいて生成され、
    前記方法は、前記機能の1つまたは複数のパラメータに関する入力を受信し、前記受信した入力に従って前記機能を更新するステップを、さらに含む、
    請求項1に記載の方法。
  19. 前記暗号オブジェクトを生成する前に、
    対応する統計を取得するように、前記各HSMにおいて生成済みの暗号オブジェクトを監視するステップと
    比較結果を取得するために、そのような統計を参照データと比較することであって、続いて、前記取得された比較結果に基づいて、前記各HSMにおいて前記暗号オブジェクトが生成される、比較するステップと
    をさらに含む、請求項1に記載の方法。
  20. 監視するステップは、前記各HSMの前記エントロピー・プールを監視するステップを、含み、前記各HSMにおいてそのようなオブジェクトが生成される前記程度は、前記監視されているエントロピー・プールが所与のエントロピー閾値を超えた場合に、そのようなオブジェクトが生成される速度が増加するように、前記監視されているエントロピー・プールに依存する、
    請求項1に記載の方法。
  21. 前記暗号オブジェクトは、前記各HSMの前記エントロピー・プールの潜在的なエントロピーの枯渇を緩和するように生成される、
    請求項2に記載の方法。
  22. 前記各HSMの前記エントロピー・プールを監視するステップを、さらに含み、
    前記暗号オブジェクトを生成するステップは、前記監視されているエントロピー・プールの現在の値に対して、前記各HSMにおいて誘導される前記負荷を調整するために、前記各HSMにおいてそのようなオブジェクトを蓄積するステップを、含む、
    請求項2に記載の方法。
  23. 暗号オブジェクトを管理するシステムであって、1つまたは複数のハードウェア・セキュリティ・モジュール(HSM)のセットと、ユーザに代わって前記HSMのセットと対話するように構成されるクライアントと、を含み、
    請求項1~22の何か1項に記載の各ステップをコンピュータ・ハードウェアによる手段として構成した、システム。
  24. 請求項1~22の何か1項に記載の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
  25. 請求項24に記載の前記コンピュータ・プログラムを、記録したコンピュータ可読記憶媒体。
JP2020522808A 2017-11-01 2018-10-19 暗号オブジェクトを管理する方法、コンピュータ実装方法、システムおよびプログラム Active JP7025101B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/800,173 US10623183B2 (en) 2017-11-01 2017-11-01 Postponing entropy depletion in key management systems with hardware security modules
US15/800,173 2017-11-01
PCT/IB2018/058137 WO2019086995A1 (en) 2017-11-01 2018-10-19 Postponing entropy depletion in key management systems with hardware security modules

Publications (2)

Publication Number Publication Date
JP2021501358A JP2021501358A (ja) 2021-01-14
JP7025101B2 true JP7025101B2 (ja) 2022-02-24

Family

ID=66243375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020522808A Active JP7025101B2 (ja) 2017-11-01 2018-10-19 暗号オブジェクトを管理する方法、コンピュータ実装方法、システムおよびプログラム

Country Status (6)

Country Link
US (1) US10623183B2 (ja)
JP (1) JP7025101B2 (ja)
CN (1) CN111279663B (ja)
DE (1) DE112018004332B4 (ja)
GB (1) GB2581308B (ja)
WO (1) WO2019086995A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11764948B1 (en) * 2018-04-30 2023-09-19 Amazon Technologies, Inc. Cryptographic service interface
US10909250B2 (en) * 2018-05-02 2021-02-02 Amazon Technologies, Inc. Key management and hardware security integration
US10984115B2 (en) 2018-12-04 2021-04-20 Bank Of America Corporation System for triple format preserving encryption
US11139969B2 (en) * 2018-12-04 2021-10-05 Bank Of America Corporation Centralized system for a hardware security module for access to encryption keys
US10826693B2 (en) * 2018-12-04 2020-11-03 Bank Of America Corporation Scalable hardware encryption
CN110417726B (zh) 2019-05-27 2021-08-24 腾讯科技(深圳)有限公司 一种密钥管理方法及相关设备
US11640475B1 (en) * 2019-11-26 2023-05-02 Gobeep, Inc. Systems and processes for providing secure client controlled and managed exchange of data between parties
EP4128651A4 (en) * 2020-03-31 2024-04-24 Entrust Corp HARDWARE SECURITY MODULE PROXY DEVICE FOR STORAGE EXPANSION
US11943367B1 (en) * 2020-05-19 2024-03-26 Marvell Asia Pte, Ltd. Generic cryptography wrapper
CN112801641B (zh) * 2021-02-05 2023-09-19 广州聚汇信息技术有限公司 支付网关限购控制方法及其装置、设备与介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008103988A (ja) 2006-10-19 2008-05-01 Fujitsu Ltd 暗号通信システム、装置、方法及びプログラム
JP2010503252A (ja) 2006-08-31 2010-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング・プラットフォームの証明
JP2013214050A (ja) 2012-03-30 2013-10-17 Freescale Semiconductor Inc ランダム値生成方法およびシステム
JP2015144373A (ja) 2014-01-31 2015-08-06 株式会社日立製作所 情報処理装置
JP2016061915A (ja) 2014-09-17 2016-04-25 株式会社リコー 情報処理装置、情報処理システム、情報処理方法及びプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016275A (en) 1988-10-28 1991-05-14 International Business Machines Corporation Buffered encryption/decryption
US7983423B1 (en) 2007-10-29 2011-07-19 Netapp, Inc. Re-keying based on pre-generated keys
US9674892B1 (en) 2008-11-04 2017-06-06 Aerohive Networks, Inc. Exclusive preshared key authentication
US9495190B2 (en) * 2009-08-24 2016-11-15 Microsoft Technology Licensing, Llc Entropy pools for virtual machines
DE102009046436A1 (de) 2009-11-05 2011-05-12 Robert Bosch Gmbh Kryptographisches Hardwaremodul bzw. Verfahren zur Aktualisierung eines kryptographischen Schlüssels
US8341500B2 (en) * 2010-08-31 2012-12-25 Apple Inc. Detecting corrupted data for a system having non-volatile memory
US9590959B2 (en) * 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US20140229732A1 (en) * 2013-02-12 2014-08-14 Amazon Technologies, Inc. Data security service
US10211977B1 (en) * 2013-02-12 2019-02-19 Amazon Technologies, Inc. Secure management of information using a security module
DE102013209147A1 (de) 2013-05-16 2014-11-20 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Nutzungsberechtigung des Zugriffs auf echte Zufallsbitfolgen durch mehrere Nutzer
US20150117636A1 (en) * 2013-10-30 2015-04-30 Apriva, Llc System and method for performing a secure cryptographic operation on a mobile device
GB2520489A (en) * 2013-11-20 2015-05-27 Ibm Deletion of content in digital storage systems
US20150160924A1 (en) * 2013-12-06 2015-06-11 Sonic Ip, Inc. Methods, Systems, and Media for Generating Random Numbers
US20150160925A1 (en) * 2013-12-06 2015-06-11 Sonic Ip, Inc. Methods, Systems, and Media for Generating Random Numbers
KR101604009B1 (ko) * 2014-05-12 2016-03-17 주식회사 키페어 공인인증을 위한 보안 토큰 및 그 구동 방법
EP3195521B1 (en) * 2014-08-29 2020-03-04 Visa International Service Association Methods for secure cryptogram generation
US9819495B2 (en) * 2014-10-02 2017-11-14 Qualcomm Incorporated Systems and methods of dynamically adapting security certificate-key pair generation
GB2531248B (en) * 2014-10-08 2017-02-22 Ibm Controlled use of a hardware security module
EP3010264A1 (en) 2014-10-16 2016-04-20 Gemalto Sa Method to manage subscriptions in a provisioning server
US9548862B1 (en) * 2014-11-17 2017-01-17 Safelogic, Inc. Managing entropy in computing devices for cryptographic key generation
US9767293B2 (en) * 2015-02-13 2017-09-19 International Business Machines Corporation Content based hardware security module assignment to virtual machines
US9658832B2 (en) 2015-05-18 2017-05-23 Red Hat Israel, Ltd. Multi-factor entropy sourcing for random number generators
US10348704B2 (en) 2015-07-30 2019-07-09 Helder Silvestre Paiva Figueira Method for a dynamic perpetual encryption cryptosystem
US9979794B2 (en) 2015-09-17 2018-05-22 Ericsson Ab Entropy sharing in a large distributed system based on entropy verification by an entropy broker
US9379890B1 (en) * 2015-12-07 2016-06-28 Workiva Inc. System and method for managing cryptographic keys

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010503252A (ja) 2006-08-31 2010-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング・プラットフォームの証明
JP2008103988A (ja) 2006-10-19 2008-05-01 Fujitsu Ltd 暗号通信システム、装置、方法及びプログラム
JP2013214050A (ja) 2012-03-30 2013-10-17 Freescale Semiconductor Inc ランダム値生成方法およびシステム
JP2015144373A (ja) 2014-01-31 2015-08-06 株式会社日立製作所 情報処理装置
JP2016061915A (ja) 2014-09-17 2016-04-25 株式会社リコー 情報処理装置、情報処理システム、情報処理方法及びプログラム

Also Published As

Publication number Publication date
DE112018004332B4 (de) 2022-09-01
US20190132127A1 (en) 2019-05-02
JP2021501358A (ja) 2021-01-14
US10623183B2 (en) 2020-04-14
DE112018004332T5 (de) 2020-05-20
CN111279663A (zh) 2020-06-12
CN111279663B (zh) 2022-06-07
GB2581308B (en) 2021-02-17
WO2019086995A1 (en) 2019-05-09
GB202007960D0 (en) 2020-07-15
GB2581308A (en) 2020-08-12

Similar Documents

Publication Publication Date Title
JP7025101B2 (ja) 暗号オブジェクトを管理する方法、コンピュータ実装方法、システムおよびプログラム
US10394475B2 (en) Method and system for memory allocation in a disaggregated memory architecture
US8769269B2 (en) Cloud data management
KR101966767B1 (ko) 클라우드 서비스를 위한 암호화 키 관리 시스템
US9071587B2 (en) Optimizing deployment of virtual machines by pre-generating a virtual machine's first-boot metadata by cloud controller
US11050622B2 (en) System, method and computer program product for network function optimization based on locality and function type
CA2914940A1 (en) Pre-configure and pre-launch compute resources
US9628504B2 (en) Deploying a security appliance system in a high availability environment without extra network burden
US11550713B1 (en) Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) Fast distributed caching using erasure coded object parts
US10146455B2 (en) Device, system and method for storing data
JP2022502882A (ja) ハイブリッド・クラウドkmsソリューションにおけるhsmの自己破壊方法、システム、プログラム
AU2021236350B2 (en) Virtual machine perfect forward secrecy
CN116746114A (zh) 安全数据移动
US20200218325A1 (en) Increased data storage throttling during power failure
US11418327B2 (en) Automatic provisioning of key material rotation information to services
US11456867B2 (en) Trust-anchoring of cryptographic objects
US10931443B2 (en) Hierarchical key management based on bitwise XOR operations
Sakib et al. A proposal on cloud based data centre using shared memory of mobile storage by virtualization
Hu et al. A Design of Cloud Storage Gateway Based on Data Dispersal

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200612

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20200930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220201

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20220201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220208

R150 Certificate of patent or registration of utility model

Ref document number: 7025101

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150