(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-31
(54)【発明の名称】ストレージ上のデータのマルチ・オーナーシップの実施
(51)【国際特許分類】
H04L 9/08 20060101AFI20240124BHJP
H04L 9/14 20060101ALI20240124BHJP
【FI】
H04L9/08 A
H04L9/14
H04L9/08 D
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023533824
(86)(22)【出願日】2022-10-20
(85)【翻訳文提出日】2023-06-02
(86)【国際出願番号】 EP2022079194
(87)【国際公開番号】W WO2023094080
(87)【国際公開日】2023-06-01
(32)【優先日】2021-11-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】ドワルカナト、ラオ
(72)【発明者】
【氏名】バッハー、ウッツ
(57)【要約】
データを暗号化するセキュア・データ・アクセス・サービスを提供するコンピュータ実装方法が開示される。方法は、データ暗号化鍵を少なくとも2つの顧客ルート鍵によってラッピングすることであって、少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、かつ、少なくとも2つの顧客ルート鍵についてのラッピング構造は、セキュア・データ・アクセス・サービスによる暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従う、ラッピングすることと、ラッピング解除されたデータ暗号化鍵を使用してセキュア・データ・アクセス・サービスによってデータを暗号化することとを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
データを暗号化するセキュア・データ・アクセス・サービスを提供するコンピュータ実装方法であって、
データ暗号化鍵を少なくとも2つの顧客ルート鍵によってラッピングすることであって、前記少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、前記少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、かつ、前記少なくとも2つの顧客ルート鍵についてのラッピング構造は、前記セキュア・データ・アクセス・サービスによる前記暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従う、前記ラッピングすることと、
ラッピング解除されたデータ暗号化鍵を使用して前記セキュア・データ・アクセス・サービスによってデータを暗号化することと
を含む、方法。
【請求項2】
前記ラッピング構造は、前記データ暗号化鍵のラッピングについての前記少なくとも2つの顧客ルート鍵の適用の順序を定義する、請求項1に記載の方法。
【請求項3】
前記セキュア・データ・アクセス・サービスは、前記ラッピングされたデータ暗号化鍵のみを格納する、請求項1に記載の方法。
【請求項4】
前記異なるハードウェア・セキュリティ・モジュールは、物理的に異なるハードウェア・セキュリティ・モジュール、仮想的に異なるハードウェア・セキュリティ・モジュール、またはそれらの組み合わせである、請求項1に記載の方法。
【請求項5】
前記少なくとも2つの顧客ルート鍵は、m個の顧客ルート鍵のうちn個の顧客ルート鍵であり、m<nである、請求項1に記載の方法。
【請求項6】
前記少なくとも2つの顧客ルート鍵は、対称暗号化/復号鍵である、請求項1に記載の方法。
【請求項7】
前記少なくとも2つの顧客ルート鍵は、異なっている、請求項1に記載の方法。
【請求項8】
前記データ暗号化鍵は、対称性のまたは非対称の鍵である、請求項1に記載の方法。
【請求項9】
前記データ暗号化鍵は、限定された時間窓に対してのみ有効である、請求項1に記載の方法。
【請求項10】
前記ラッピング構造は、前記データ暗号化鍵のラッピング解除のための、前記少なくとも2つの顧客ルート鍵の適用の順序を定義する、請求項1に記載の方法。
【請求項11】
前記ラッピング解除されたデータ暗号化鍵は、セキュリティ・サービスから、最終的なデータ・アクセスについての他のデータ・アクセス機能へと通される、請求項1に記載の方法。
【請求項12】
データを暗号化するセキュア・データ・アクセス・サービスを提供するためのデータ保護システムであって、前記データ保護システムは、プロセッサおよび前記プロセッサと通信可能に結合されるメモリを含み、前記メモリは、実行されたときに、前記プロセッサに、
データ暗号化鍵を少なくとも2つの顧客ルート鍵によってラッピングすることであって、前記少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、前記少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、かつ、前記少なくとも2つの顧客ルート鍵についてのラッピング構造は、前記セキュア・データ・アクセス・サービスによる前記暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従う、前記ラッピングすることと、
ラッピング解除されたデータ暗号化鍵を使用して前記セキュア・データ・アクセス・サービスによってデータを暗号化することと
を可能にさせるプログラム・コード部分を格納する、データ保護システム。
【請求項13】
前記ラッピング構造は、前記データ暗号化鍵のラッピングについての前記少なくとも2つの顧客ルート鍵の適用の順序を定義する、請求項12に記載のデータ保護システム。
【請求項14】
前記セキュア・データ・アクセス・サービスは、前記ラッピングされたデータ暗号化鍵のみを格納する、請求項12に記載のデータ保護システム。
【請求項15】
前記異なるハードウェア・セキュリティ・モジュールは、物理的に異なるハードウェア・セキュリティ・モジュール、仮想的に異なるハードウェア・セキュリティ・モジュール、またはそれらの組み合わせである、請求項12に記載のデータ保護システム。
【請求項16】
前記少なくとも2つの顧客ルート鍵は、m個の顧客ルート鍵のうちn個の顧客ルート鍵であり、m<nである、請求項12に記載のデータ保護システム。
【請求項17】
前記少なくとも2つの顧客ルート鍵は、対称暗号化/復号鍵である、請求項12に記載のデータ保護システム。
【請求項18】
前記少なくとも2つの顧客ルート鍵は、異なっている、請求項12に記載のデータ保護システム。
【請求項19】
前記データ暗号化鍵は、限定された時間窓に対してのみ有効である、請求項12に記載のデータ保護システム。
【請求項20】
データ保護システムのためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、その上で具体化されるプログラム命令を備えるコンピュータ可読ストレージ媒体を含み、前記プログラム命令は、1または複数のコンピューティング・システムまたはコントローラによって実行可能であり、前記1または複数のコンピューティング・システムに、
データ暗号化鍵を少なくとも2つの顧客ルート鍵によってラッピングすることであって、前記少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、前記少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、かつ、前記少なくとも2つの顧客ルート鍵についてのラッピング構造は、前記セキュア・データ・アクセス・サービスによる前記暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従う、前記ラッピングすることと、
ラッピング解除されたデータ暗号化鍵を使用して前記セキュア・データ・アクセス・サービスによってデータを暗号化することと
を行わせる、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、安全なデータ・アクセスを提供するためのコンピュータ実装方法に関し、特に、データを暗号化するセキュア・データ・アクセス・サービスを提供するためのコンピュータ実装方法に関する。本開示は、さらに、データを暗号化するセキュア・データ・アクセス・サービスを提供するためのデータ保護システムおよびコンピュータ・プログラム製品に関する。
【0002】
特にクラウド・ストレージ・システムであるが、任意のストレージ・システム内の企業データまたは政府データを保護することは、サイバー攻撃の数の増加を考慮すると必須である。非常に多くの場合、クラウド内の機密データは、(ハードウェア・セキュリティ・モジュール)(HSM)サービスによって保護される。この例は、IBM(登録商標)からのKey ProtectまたはHyper Protect Crypto Serviceのような製品である。データ・サービスは、各HSM内の顧客ルート鍵(CRK)を使用し、そのデータを介してクライアント制御を与える。したがって、クラウド・オペレータは、通常、暗号化されたデータにアクセスしなくてよい。このコンセプトは、CRKローテーションおよびCRKを取り消すことによるデータの暗号消去も含み、これは、サービスがこれ以上データにアクセスできないことを意味する。
【0003】
しかしながら、HSMは、通常、クライアント管理者によって管理される。理論的にも、実際的にも、ユーザはデータにアクセスできるが、組織的な視点からは、ユーザは、アクセスできないものとする。今のところ、組織的なプロセスは、顧客またはクライアント・オペレータによる、暗号化されたデータへのアクセスを防止するのに使用されている。しかしながら、組織的なプロセスが「漏れない(water-tight)」ことはないことが証明されているので、このための技術的な実装を持つことは有用である。
【0004】
データの暗号化に関する開示がいくつかある。例えば、米国特許出願公開第2020/0195621号明細書は、第1のコンピューティング・デバイスからデータ復号要求を受信して、暗号化されたデータを復号すること、およびユーザ鍵がサーバ鍵を含む鍵階層に関連付けられているかを決定することを含む複数の権限鍵を使用して、データを暗号化および復号するための方法、装置およびコンピュータ・プログラム製品を開示する。
【0005】
加えて、米国特許出願公開第2019/0173674号明細書は、システムのダウンタイムまたは中断を必要としないマルチテナント・システムを実行するための鍵暗号鍵(key encryption key)(KEK)ローテーションを促進および有効にする方法を開示する。例示の方法は、既存のKEKを使用して、1つまたはそれ以上のDEKsのセットを復号し;新たなKEKを使用してDEKsを再暗号化し;すべてが同時にテナント要求のサービスを有効にしたままである。
【0006】
しかしながら、既知のソリューションの不利益は、個別または悪意のある管理者を完全に防止できないことによるアクセスがありうる。
【0007】
したがって、このセキュリティ・ホールを克服し、単一のオペレータまたは管理者が認証なしに暗号化されたデータにアクセスし得ることを技術的に防止することが必要となり得る。
【発明の概要】
【0008】
本開示の態様によれば、データを暗号化するセキュア・データ・アクセス・サービスを提要するコンピュータ実装方法が提供できる。方法は、データ暗号化鍵を少なくとも2つの顧客ルート鍵によってラップすることを含み、少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、かつ、少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、少なくとも2つの顧客ルート鍵についてのラッピング構造は、セキュア・データ・アクセス・サービスによる暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従って適用される。さらに、方法は、ラップ解除されているデータ暗号化鍵を使用して、データ・セキュリティ・アクセス・サービスによってデータを暗号化することを含む。
【0009】
本開示の他の態様によれば、データを暗号化するセキュア・データ・アクセス・サービスを提供するデータ保護システムが提供できる。システムは、プロセッサおよびプロセッサと通信可能に結合されたメモリを含み、メモリは、実行されたときにデータ暗号化鍵を少なくとも2つの顧客ルート鍵によってラップすることをプロセッサに可能にさせるプログラム・コード部分を格納し、少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、かつ、少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、少なくとも2つの顧客ルート鍵についてのラッピング構造は、セキュア・データ・アクセス・サービスによる暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従って適用される。プロセッサは、ラップ解除されているデータ暗号化鍵を使用して、データ・セキュリティ・アクセス・サービスによってデータを暗号化することを可能にされ得る。
【0010】
データを暗号化してセキュア・データ・アクセス・サービスを提供するための提案されるコンピュータ実装方法は、複数の利点、技術的効果、貢献もしくは改善またはこれらの組み合わせを提示できる。
【0011】
一般に、センシティブな、暗号化されたデータは、ここで提案される技術的コンセプトを用いることでよりよく保護され得る。有利には、単独で、いかなる第三者の制御なしに、単一のオペレータまたは管理者が暗号化されたデータにアクセスし得ることを防止できる。これは、データの二重のオーナーシップ、すなわち、新規なアクセス方法によって達成される。それによって、データ・アクセスが、ラップ解除されているデータ暗号化(復号)鍵のために、2つの顧客ルート鍵が組み合わされて使用された場合にのみ可能となり得ることを技術的に強制する。データ暗号化鍵またはデータ・アクセス鍵を保護するのに用いられる少なくとも2つの顧客ルート鍵は、それぞれのオペレータの個別のユーザIDにリンクされたハードウェア・セキュリティ・モジュールによって保護される。したがって、少なくとも2人のオペレータまたは管理者が、機密データへの任意のアクセスを促進するために、独立して必要となり得る。
【0012】
それによって、特にクラウド・コンピューティング環境において、不可能かつクラウド・ストレージ・プロバイダによって許可されていないデータ・アクセスは、無傷のままであり得る。さらに、少なくとも2つの顧客ルート鍵のうちの1つが、正式な政府の権限または他の有効な権限によって制御され得ることも強制され得る。
【0013】
結果として、実例では、オペレータが単独で会社の事務局長の給料にアクセスし得ることを完全に避けられる。
【0014】
他の態様は、顧客ルート鍵の各所有者が、データにアクセスすることを一方的にブロックできる。この態様の使用事例は、実際のデータについて使用されるデータ暗号化鍵へのアクセスを無効にすることによる、データへのアクセスを明確に無効にすることによって、コンテンツを暗号的に消去することを含む。
【0015】
以下では、方法およびシステムに適用可能な開示の追加的な実施形態が説明される。
【0016】
実施形態によれば、ラッピング構造は、データ暗号化鍵のラッピングに対する、少なくとも2つの顧客ルート鍵の適用の順序を定義し得る。ラッピング構造は、マルチユーザ・ルート鍵がデータ暗号化鍵DEKを暗号化または復号するのに用いられなければならない可能性があることも定義する、アクセス・ポリシーの一部として定義され得る。代替的に、少なくとも2つの顧客ルート鍵の適用の順序は、セキュア・データ・アクセス・サービス内で、または、ストレージ内で、セキュア・データ・アクセス・サービスによってのみアクセス可能なものと定義され得る。ラッピングの有用な順序は、顧客ルート鍵の昇順または降順によって定義され得る。この手法は、複数の顧客ルート鍵にも拡張可能である。
【0017】
実施形態によれば、セキュア・データ・アクセス・サービスは、ラップされたデータ暗号化鍵wDEKのみを格納できる。したがって、ラップ解除されているデータ暗号化鍵のみが、それに関連するデータを暗号化または復号するのに必要とできる限り、セキュア・データ・アクセス・サービス内で利用可能とできる。このようにして、セキュア・データ・アクセス・サービスは、一時的に証明された方法で構築され得る。代替的に、セキュア・データ・アクセス・サービスは、ラップされたデータ暗号化鍵もしくはデータ復号鍵またはその両方へのポインタのみを含み得る。
【0018】
有利な実施形態によれば、異なるハードウェア・セキュリティ・モジュールは、物理的に異なるハードウェア・セキュリティ・モジュール(HSM)、仮想的に異なるハードウェア・セキュリティ・モジュールまたはその混合であってよい。1つ(または複数の)HSMを使用することは、無許可のアクセスに対してデータを保護するために、最も安全な方法の1つであることが証明されている。提案されるコンセプトは、このセキュリティ・レベルをさらに高いレベルに引き上げる。
【0019】
さらなる実施形態によれば、少なくとも2つの顧客ルート鍵は、m個の顧客ルート鍵のうちのn個の顧客ルート鍵であり、ここでm>nである。これは、より多くの顧客ルート鍵が必要となり得ると、さらに保護レベルを拡張でき、すなわち、関連するユーザまたはオペレータの識別子(すなわち、ユーザID)を有する2以上のオペレータは、許可されたデータ・アクセスが必要である。さらに、この手法は、柔軟性を追加する。例として、5人のオペレータが一般にセキュアなデータへのアクセス権を持つことを許可されている場合、2人または3人または4人または5人のオペレータの任意の組み合わせのみが、データにアクセスすることが必要とできることを定義することができる。一般に、可能な組み合わせの数は、数式(m!/n!*(m-n)、ここでmは比較的nに近い)によって決定され得る。
【0020】
さらに、技術的な改善によって有効ともなり得る組織的な視点からは、n個の顧客ルート鍵の1つは、規制当局に属し得る。したがって、オペレータは、彼らの単独の組み合わせによってデータにアクセスすることは、許可され得ない。常に、グループの一部として規制者を有することが必要となる。結果として、非常に洗練されたポリシーが、適切なラッピング・スキームを通じて実装できる。
【0021】
さらなる実施形態によれば、少なくとも2つの顧客ルート鍵は、対称暗号/復号化鍵とできる。公にアクセス可能な通信ラインに沿って鍵が転送されないかもしれないので、対称鍵が十分であり得る。したがって、1つの暗号化/復号鍵のみが、セキュア・データ・アクセス・サービスによって要求され得、適用されなければならない可能性がある顧客ルート鍵に従う順序を容易に定義することができる。
【0022】
他の任意の実施形態によれば、少なくとも2つの顧客ルート鍵は、異なっている必要がある場合がある。この方法は、少なくとも2つの顧客ルート鍵が同じ値を持たないことを強制できるため、データ・セキュリティをさらに増大できる。したがって、1人の人間のオペレータが、2つのユーザIDを使ってログインすること、および、同じ顧客ルート鍵を使用することによる、データへのアクセスを取得できない。
【0023】
さらなる実施形態によれば、データ暗号化鍵は、対称または非対称の鍵とすることができる。それによって、ラッピング鍵、すなわち、顧客ルート鍵は、対称暗号化/復号鍵、または暗号化および復号のための非対称鍵対をラッピングするのに使用され得る。これは、データが公衆通信ラインの別の端で暗号化および復号される場合に有用である。
【0024】
他の実施形態によれば、データ暗号化鍵は、限定された時間窓に対してのみ有効であり得る。この特徴も、データ・セキュリティを向上できる。データ暗号化鍵が期限切れの場合、データは、古い暗号化鍵を用いて復号されなければならない場合があり(対称鍵の場合)、次いで、新たなデータ暗号化鍵を用いて再び暗号化される。さらに、新たなデータ暗号化鍵は、少なくとも2つの顧客ルート鍵を用いてラップされなければならない場合がある。そこから、新たなデータ暗号化鍵のみが、適切な暗号化と安全なデータの復号が有効にできる。
【0025】
他の実施形態によれば、ラッピング構造は、データ暗号化鍵のラッピングされないことに対する、少なくとも2つの顧客ルート鍵の適用の順序を定義し得る。したがって、データ暗号化/復号鍵をラッピングすること、およびデータ暗号化/復号鍵をラッピング解除することに対して、同じ順序が強制され得る。通常、これは、顧客ルート鍵の対称性のある特徴の結果である。これは、アクセス・ポリシーの体系化でもあり得る。
【0026】
他の実施形態によれば、ラップ解除されているデータ暗号化鍵は、セキュリティ・サービスから、最終的なデータ・アクセスについての他のデータ・アクセス機能へと通される。したがって、データ暗号化鍵は、データ・アクセスには直接的には使用されないが、そのときの他のサービスへのラップ解除されているデータ・アクセス鍵は、データにアクセスできる。これは、サービス・チェイニングに対する有効な手法であり得る。したがって、セキュア・データ・アクセス・サービスは、結局のところデータにアクセスするいくつかの他のサービスについて、そのラッピングされた/ラッピング解除されたサービスを提供できる。したがって、ラッピングすること/ラッピング解除すること中心的な制御は、複雑なサービス指向アーキテクチャ(service-oriented architecture)(SOA)内に存在し得る。このようなアーキテクチャは、無事にレガシー・インストレーション(legacy installations)を増大でき、データ・アクセスのより中心的な任意の調整された制御を改善できる。
【0027】
さらに、実施形態は、方法、コンピュータによる、もしくは、コンピュータに関連する、使用のためのプログラム・コードを提供するコンピュータ利用可能媒体もしくはコンピュータ可読媒体からアクセス可能な関連するコンピュータ・プログラム製品、または、任意の命令実行システムの形態とすることができる。この説明のために、コンピュータ利用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによる、もしくは、命令実行システム、装置またはデバイスに関連する、使用のためのプログラムを格納、通信、伝搬または転送する手段を含む、任意の装置であり得る。
【図面の簡単な説明】
【0028】
開示の実施形態が異なる主題を参照して説明されることに留意されたい。特に、ある実施形態が方法を参照して説明される一方、他の実施形態が装置を産法して説明される。しかしながら、当業者は、特に断りがない限り、上記のおよび後述の説明に加えて、主題の1つの種類に属する任意の特徴の組み合わせを寄せ集めるであろうし、特に、方法の特徴および装置およびシステムの特徴ならびにコンピュータ・プログラム製品の異なる主題に関する特徴の任意の組み合わせは、本文書内で開示されたと考えられる。
【0029】
上記の定義された態様および本開示のさらなる態様は、実施形態の例から明らかになり、明細書で説明され、開示が限定されない実施形態の例を参照して説明される。
【0030】
開示の好ましい実施形態は、単に例として、以下の図面を参照して説明される。
【0031】
【
図1】データを暗号化するセキュア・データ・アクセス・サービスを提供するための、発明のコンピュータ実装方法の実施形態のブロック図を示す。
【
図2】提案されるコンセプトに役立つコンポーネントの実施形態のブロック図を示す。
【
図3】データを暗号化するセキュア・データ・アクセス・サービスを提供するための、発明のデータ保護システムの実施形態のブロック図を示す。
【
図4】
図3によるシステムを含むコンピューティング・システムの実施形態を示す。
【
図5】実施形態によるクラウドコンピューティング環境を示す。
【発明を実施するための形態】
【0032】
この説明の文脈において、以下の慣習、用語もしくは説明またはこれらの組み合わせが使われ得る。
【0033】
用語「セキュア・データ・アクセス・サービス(secure data access service)」は、少なくとも2つの顧客ルート鍵によってラッピングされ得るデータ・アクセス鍵DEKを有する、暗号化されたデータにアクセスし、またはそれらを暗号化する、ここで提案されているデータ・サービスを示し得る。
【0034】
用語「暗号化されたデータ(encrypted data)」は、鍵によってエンコードされ得る情報またはデータによる暗号化における、既知の処理を示し得る。鍵は、対称鍵または非対称鍵であり得る。復号鍵が知られている場合に、暗号化されたデータは、再度アクセスのみされ得る。
【0035】
用語「ハードウェア・セキュリティ・モジュール(hardware security module)」は、デジタル・データ・アクセス鍵を保護し、管理し得る物理的なコンピューティング・デバイスを示し得る。これは、デジタル署名、強力な認証および他の暗号化機能のための暗号化および復号を有効化および実行することもできる。このようなハードウェア・セキュリティ・モジュールは、通常は、企業クラスのコンピュータ・システムで使用される。
【0036】
用語「ラッピング構造」は、データを保護するために適用され得る複数のラッピング鍵、すなわち、データ暗号化鍵による順序を示し得る。
【0037】
用語「アクセス・ポリシー」は、許可され得る特定のデータへのデータ・アクセスが従うルールを示し得る。しばしば、データ・アクセス・ポリシーは、組織的な要件を反映する。しかしながら、特別な技術的ルールが、順次的な方法で復号データに適用する必要があるアクセス・ポリシーで定義されることも可能である。例えば、複数の顧客ルート鍵がデータ暗号化鍵を復号するのに必要とされ得る場合、アクセス・ポリシーは、鍵が、鍵識別子または鍵自体の例えば昇べきまたは降べき(または他の任意の事前に定義された)順序で適用されなければならないことを定義し得る。
【0038】
用語「データ暗号化鍵」は、データをエンコードするのに必要なデジタル・ビット・シーケンスを示し得る。加えて、データ復号鍵は、データを再びデコードするのに必要なデジタル・ビット・シーケンスを示し得る。
【0039】
用語「ラップされたデータ暗号化鍵(wrapped data encryption key)」は、ラッピング鍵によって再び暗号化、すなわち、ラッピングされ得る、データ暗号化鍵を示し得る。
【0040】
以下では、図面の詳細な説明が与えられる。図面内のすべての指示は概要である。最初に、データを暗号化するセキュア・データ・アクセス・サービスを提供するコンピュータ実装方法の実施形態のブロック図が与えられる。その後、データを暗号化するセキュア・データ・アクセス・サービスを提供するデータ保護システムの実施形態とさらなる実施形態が説明される。
【0041】
図1は、データを暗号化するセキュア・データ・アクセス・サービスを提供するためのコンピュータ実装方法100の好ましい実施形態のブロック図を示す。方法100は、例えば、データ暗号化鍵を、および非対称鍵対の場合には、場合によっては復号鍵も、少なくとも2つの顧客ルート鍵によってラッピングすること102を含む。それによって、少なくとも2つの顧客ルート鍵が異なるユーザ識別子に割り当てられ、かつ、少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納される。さらに、少なくとも2つの顧客ルート鍵についてのラッピング構造は、セキュア・データ・アクセス・サービスによる暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従って適用される。アクセス・ポリシーの1つは、それにより2つの顧客ルート鍵がラッピング解除される順序を定義することができる。代替的に、このラッピング解除することの順序は、セキュア・データ・アクセス・サービスの中で体系化されてもよい。さらに、「n個のうちm個(m out of n)」ルールも、アクセス・ポリシーによって定義され得る。
【0042】
さらに、方法100は、ラッピング解除されたデータ暗号化鍵を使用して、セキュア・データ・アクセス・サービスによってデータを暗号化すること140を含む。データ暗号化鍵によってデータを安全にするために、任意の既知の暗号化方法が使用され得る。したがって、開示は、任意の形態でのデータ暗号化鍵の使用に限定されず、または、悪影響を及ぼさない。
【0043】
図2は、役立つコンポーネントの実施形態のブロック
図200を示す。セキュア・データ・アクセス・サービス202は、必須ではないが通常は、対称データ・アクセス鍵であり得るデータ暗号化鍵DEKによって暗号化される永続性データ204へのアクセスを管理する。データは、セキュア・データ・アクセス・サービスの一部として、または、外部的に格納され得る。さらに、データ・アクセス・サービス202は、ストレージ・システムのようなハードウェア・デバイス内に直接的に実装されてもよい。永続性データは、(図示の)セキュア・データ・アクセス・サービスの一部であってもよく、または、その永続性ストレージが、セキュア・データ・アクセス・サービス202の外側で管理されることができる。
【0044】
DEK210は、ラッピング解除されにセキュア・データ・アクセス・サービス202に格納されない。したがって、ラッピング解除された形態では、一時的な文字のみを有する。DEK210は、少なくとも2つの顧客ルート鍵の2番目CRK2を使用してラッピング解除されているときのみアクセスされることができる。顧客ルート鍵2を使用してラッピング208されたDEK210は、セキュア・データ・アクセス・サービス202内で一時的な形態のみで利用可能でもある。
【0045】
特に、少なくとも2つの顧客ルート鍵の1番目による第2のラッピング層が、顧客ルート鍵2によって、DEK210を安全にしている。したがって、DEK210は、2回ラッピングされる。しかしながら、顧客ルート鍵は、通常は、セキュア・データ・アクセス・サービス202内で一時的な形態でさえ利用可能とはならない。二重のラッピングされたDEK210のみが、形態DEK(w2)(w1) 206で利用可能である。
【0046】
顧客ルート鍵CRK1 214およびCRK2 218は、ハードウェア・セキュリティ・モジュール内に、もしくは蘭連するサービスHSM svc1 212およびHSM svc2 216内に、またはこれらの組み合わせの中に、互いに独立して格納される。セキュア・データ・アクセス・サービスがデータを暗号化または復号化するのに必要である場合、セキュア・データ・アクセス・サービス202は、DEK(w2)(w1) 206およびDEK(w2)上でそれぞれのHSM svc1 212およびHSM svc2 216からラッピング解除する操作を要求する。多くの顧客ルート鍵が必要とされるケースでは、それぞれのHSMへのさらに多くの呼び出しが必要とされる。
【0047】
結果として、かつ、既存の技術との対比では、管理者またはオペレータ222、226は、互いに独立している永続性データ204にアクセスできない。admin1のユーザID220を使用するオペレータ222は、顧客ルート鍵1を有効化または設定し得る一方、admin2のユーザID224を使用するオペレータ226は、独立して、顧客ルート鍵2を有効化または設定し得る。
【0048】
この実装形態は、基本的なバージョンを示していることに注目され得る。しかしながら、2以上の顧客ルート鍵を有する実装または「n個のうちm個」の実装は、多くのラッピング層に応じて行われる。
【0049】
先に言及されたコンポーネント間のフローは、以下のように要約されることができる。セキュア・データ・アクセス・サービスのインスタンス化の間、以下が起こる。データ・サービス・インスタンス化は、サービスについて必要とされるアクセス・ポリシーならびに特定の顧客ルート鍵識別子および関連するHSMによって開始される。次いで、データ・サービスは、実際のデータ暗号化(および対称鍵のケースでは復号)のために使用されるデータ暗号化鍵DEKを生成する。それによって、それぞれの組み合わせごとに、セキュア・データ・アクセス・サービスは、ラッピングのために使用されるためのCRKの順序を定義する。例えば、これは、鍵-IDの昇順で行われてもよい。しかしながら、他の任意のルールが、ラッピング/ラッピング解除(dewrapping)の順序に適用され得る。次に、セキュア・データ・アクセス・サービスは、順次、段階的にラッピングするか、またはラッピング解除するデータ暗号化鍵DEK、すなわち、ラッピングされたDEKをラッピングすることなど、組み合わせにおいて関連するHSMを問い合わせる。
【0050】
データ・アクセス・サービスの使用の間、以下が起こる。例えば、期限が切れているという理由で、ラップされていない、すなわち、一時的なDEKが利用可能でない場合、セキュア・データ・アクセス・サービスは、アクセス・ポリシー(例えば、5個のうち3個のシナリオでは、1-2-3を試行する)を満たす順序を選択し、セキュア・データ・アクセス・サービスは、複数のラッピングされたDEKを選択し、それを所与の順序で(例えば、鍵-IDの昇順または降順によって)ラッピング解除する。HSMの1つがデータ・サービスをサポートすることを拒否した場合、例えば、鍵が一時停止されているか、または、取り消されているケースでは、セキュア・データ・アクセス・サービスは、次の妥当な組み合わせを使用して、やり直す(例えば、2を有するラッピング解除が失敗した場合、やり直しは1-3-4)。最後に、ラッピング解除された(すなわち、一時的な)DEKが、データ・アクセス操作のために使用される。
【0051】
図3は、データを暗号化するセキュア・データ・アクセス・サービスを提供するデータ保護システム300の実施形態のブロック図を示す。データ保護システム300(要するに、システム300)は、プロセッサ302およびプロセッサ302と通信可能に結合されたメモリ304を含み、メモリ304は、実行されたときにプロセッサ302に-特に、セキュア・データ・アクセス・サービス・モジュール310のラッピング・モジュール306によって-、少なくとも2つの顧客ルート鍵によるデータ暗号化鍵をラップすることを可能にさせる、プログラム・コード部分を格納する。それによって、少なくとも2つの顧客ルート鍵が異なるユーザ識別子に割り当てられ、少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納される。さらに、少なくとも2つの顧客ルート鍵についてのラッピング構造は、セキュア・データ・アクセス・サービスによる暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従って適用される。
【0052】
加えて、プロセッサ302は、特に、セキュア・データ・アクセス・サービス・モジュール310(
図2 202参照)の暗号化ユニットによって、ラップ解除されたデータ暗号化鍵を使用するセキュア・データ・アクセス・サービスによるデータを暗号化することが有効にされる。
【0053】
すべての機能ユニット、モジュールおよび機能ブロック、特に、プロセッサ302、メモリ304、セキュア・データ・アクセス・サービス・モジュール310ならびにラッピング・モジュール306および暗号化ユニット308は、選択された1対1の方式での信号またはメッセージの交換ために互いに通信可能に結合され得ることを理解されたい。代替的に、機能ユニット、モジュールおよび機能ブロックは、選択的な信号またはメッセージの交換のために、システム内部バス・システム312にリンクされることができる。
【0054】
開示の実施形態は、プログラム・コードを格納もしくは実行または両方を行うために適しているプラットフォームに関係なく、実質的にいかなる種類のコンピュータでも一緒に実装され得る。
図4は、例として、提案された方法に関連するプログラム・コードを実行するのに適するコンピュータ・システム400を示す。
【0055】
コンピューティング・システム400は、適当なコンピューティング・システムの単なる一例であり、本明細書で説明される発明の実施形態の使用または機能性の範囲に関するいかなる限定も示唆するように意図されず、それにかかわらず、コンピューティング・システム400は、実施されること、または上記で述べた機能性のいずれかを実行すること、あるいはその両方が可能である。コンピューティング・システム400には、コンポーネントがあり、コンポーネントは、多数の他の汎用または専用コンピューティング・システム環境または構成を用いて動作可能である。コンピュータ・システム/サーバ400を用いた使用に適当であり得る周知のコンピューティング・システム、環境、または構成、あるいはそれらの組み合わせの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち式またはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル家電、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記システムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などを含むが、これらに限定されない。コンピュータ・システム/サーバ400は、コンピュータ・システム400によって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的文脈において説明され得る。概して、プログラム・モジュールは、特定のタスクを実行し、または特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム/サーバ400は、通信ネットワークを通してリンクされたリモート処理デバイスによってタスクが実行される、分散型クラウド・コンピューティング環境において実施され得る。分散型クラウド・コンピューティング環境では、プログラム・モジュールが、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム記憶媒体内に位置し得る。
【0056】
図面に示されるように、コンピュータ・システム/サーバ400は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム/サーバ400のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット402、システム・メモリ404、およびシステム・メモリ404を含む様々なシステム・コンポーネントをプロセッサ402に連結するバス406を含み得るが、これらに限定されない。バス406は、メモリ・バスまたはメモリ・コントローラ、周辺バス、高速グラフィック・ポート、および多様なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、複数種類のバス構造のいずれかの1つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(ISA)・バス、マイクロ・チャネル・アーキテクチャ(MCA)・バス、拡張ISA(EISA)・バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)・ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)・バスを含む。コンピュータ・システム/サーバ400は、典型的には多様なコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ400によってアクセス可能な任意の利用可能な媒体であってもよく、それは、揮発性媒体および不揮発性媒体の両方、リムーバブル媒体および非リムーバブル媒体の両方を含む。
【0057】
システム・メモリ404は、コンピュータ・システム可読媒体を、ランダム・アクセス・メモリ(RAM)408またはキャッシュ・メモリ410あるいはその両方などの揮発性メモリの形態で含み得る。コンピュータ・システム/サーバ400は、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータ・システム記憶媒体をさらに含み得る。単なる例として、ストレージ・システム412は、非リムーバブル不揮発性磁気媒体(図示せず、かつ典型的には「ハード・ドライブ」と呼ばれる)からの読み出しおよび書き込みのために提供され得る。図示されないが、リムーバブル不揮発性磁気ディスク(例えば、「フロッピー・ディスク」)からの読み出しおよび書き込みのための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光学媒体などのリムーバブル不揮発性光ディスクからの読み出しまたは書き込みのための光学ディスク・ドライブが、提供されてもよい。このような事例では、それぞれが、1つまたは複数のデータ媒体インターフェースによってバス406に接続され得る。さらに図示され、後述されるように、メモリ404は、本発明の実施形態の機能を実行するように構成されるプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
【0058】
プログラム・モジュール416のセット(少なくとも1つ)を有するプログラム/ユーティリティは、限定ではなく例として、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に、メモリ404に記憶され得る。オペレーティング・システム、1つもしくは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはそれらの何らかの組み合わせは、ネットワーキング環境の実施を含み得る。プログラム・モジュール416は、概して、本明細書で説明される本発明の実施形態の機能または方法論あるいはその両方を実行する。
【0059】
コンピュータ・システム/サーバ400は、また、キーボード、ポインティング・デバイス、ディスプレイ420などの1つもしくは複数の外部デバイス418、ユーザがコンピュータ・システム/サーバ400と対話することを可能にする1つもしくは複数のデバイス、またはコンピュータ・システム/サーバ400が1つもしくは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはそれらの組み合わせと通信し得る。このような通信は、入力/出力(I/O)インターフェース414を介して発生し得る。さらに、コンピュータ・システム/サーバ400は、ローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、または公衆ネットワーク(例えば、インターネット)、あるいはそれらの組み合わせなどの1つまたは複数のネットワークと、ネットワーク・アダプタ422を介して通信し得る。図示されるように、ネットワーク・アダプタ422は、バス406を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信し得る。図示されないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネント、あるいはその両方が、コンピュータ・システム/サーバ400と併せて使用され得ると理解されるべきである。例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ記憶システムなどを含むが、これらに限定されない。
【0060】
加えて、データを暗号化するセキュア・データ・アクセス・サービスを提供するデータ保護システム300は、バス・システム406に取り付けられ得る。
【0061】
本開示の種々の実施形態の説明は、例示を目的として示されたが、網羅的であること、または、開示された実施形態に限定されることを意図していない。説明された実施形態の範囲および精神から逸脱することなく、多くの修正および変形が、当業者には明白であろう。本明細書で使用される用語は、実施形態の原理、実用的用途もしくは市場において見られる技術的改善を最もよく説明するため、または、本明細書で示される実施形態を他の当業者が理解することを可能にするために、選抜された。
【0062】
本発明は、システム、方法もしくはコンピュータ・プログラム製品またはその組み合わせとして具体化され得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体(または複数の媒体)を含み得る。
【0063】
媒体は、電子的、磁気的、光学的、電磁気的、赤外線、または伝搬媒体のための半導体システムであってよい。コンピュータ可読媒体の例は、半導体または固体状態メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、硬質磁気ディスクおよび光学ディスクを含み得る。光学ディスクの現在の例は、コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、コンパクト・ディスク・リード/ライト(CD-R/W)、DVD、およびBlu-Ray(登録商標)ディスクを含む。
【0064】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は、例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、消去可能なプログラマブル・リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(登録商標)・ディスク、機械的にエンコードされたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造物、およびこれらの適当な組合せを含む。本明細書で使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、またはウェーブガイドもしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
【0065】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはそれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、またはこれらの組合せを含むことができる。それぞれのコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0066】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データであってもよく、またはSmalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、およびCプログラミング言語または同種のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されてもよく、または全体が遠隔コンピュータもしくは遠隔サーバ上で実行されてもよい。上記の最後のシナリオでは、遠隔コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実施するために、例えばプログラム可能論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)またはプログラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【0067】
本明細書で説明した本発明の態様を、本発明の実施形態にしたがい、フローチャート命令および方法のブロック図、またはそれらの両方、装置(システム)、およびコンピュータ・プログラム製品を参照して説明した。フローチャートの図示およびブロック図またはそれら両方およびフローチャートの図示におけるブロックおよびブロック図、またはそれらの両方のいかなる組合せでもコンピュータ可読なプログラム命令により実装することができることを理解されたい。
【0068】
コンピュータ可読なプログラム命令は、機械を生成するための他のプログラマブル・データ・プロセッシング装置に提供することができ、コンピュータのプロセッサまたは他のプログラマブル・データ・プロセッシング装置による実行がフローチャートおよびブロック図のブロックまたは複数のブロックまたはこれらの組み合わせで特定される機能/動作を実装するための手段を生成する。これらのコンピュータ、プログラマブル・データ・プロセッシング装置および他の装置またはこれらの組み合わせが特定の仕方で機能するように指令するこれらのコンピュータ可読なプログラム命令は、またコンピュータ可読な記録媒体に格納することができ、その内に命令を格納したコンピュータ可読な記録媒体は、フローチャートおよびブロック図のブロックまたは複数のブロックまたはこれらの組み合わせで特定される機能/動作の特徴を実装する命令を含む製造品を構成する。
【0069】
コンピュータ可読なプログラム命令は、またコンピュータ、他のプログラマブル・データ・プロセッシング装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で操作ステップのシリーズに対してコンピュータ実装プロセスを生じさせることで、コンピュータ、他のプログラマブル装置または他のデバイス上でフローチャートおよびブロック図のブロックまたは複数のブロックまたはこれらの組み合わせで特定される機能/動作を実装させる。
【0070】
図中のフローチャートもしくはブロック図またはその両方は、本発明の種々の実施形態による、システム、方法およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を例示する。この点に関し、フローチャートのそれぞれのブロックまたはブロック図は、モジュール、セグメント、または命令の部分を表し、この部分は、特定の論理的機能(複数でもよい)を実装するための1つまたはそれ以上の実行可能な命令を含む。いくつかの代替的な実装においては、ブロック内に記載された機能は、図に記載された順序ではなく発生する場合がある。例えば、連続して示された2つのブロックは、含まれる機能に応じて、実質的に同時的に実行することができるか、または複数のブロックは、時として逆の順番で実行することができる。また、ブロック図およびフローチャートの図示、またはこれらの両およびブロック図中のブロックおよびフローチャートの図示またはこれらの組み合わせのそれぞれは、特定の機能または動作を実行するかまたまたは特定の目的のハードウェアおよびコンピュータ命令を遂行する特定目的のハードウェアに基づいたシステムにより実装することができることにも留意されたい。
【0071】
本明細書で使用される用語の目的は特定の実施形態を説明することだけであり、それらの用語が発明を限定することは意図されていない。文脈からそうでないことが明らかである場合を除き、本明細書で使用されるとき、単数形の「ある(a)」、「1つの(an)」および「その(the)」は複数形も含むことが意図されている。本明細書で使用されるとき、用語「備える(comprises)」もしくは「備える(comprising)」またはその両方は、明示された特徴、完全体(integer)、ステップ、動作、要素もしくは構成要素またはこれらの組合せの存在を指定するが、他の1つもしくは複数の特徴、完全体、ステップ、動作、要素、構成要素もしくはこれらのグループ、またはこれらの組合せの存在または追加を排除しないことも理解される。
【0072】
対応する構造体、材料、動作、ならびに、特許請求の範囲に記載された全ての手段またはステップおよび機能要素の等価物は、特許請求の範囲に記載された他の請求の要素とともに機能を実行するための任意の構造体、材料または動作を含むことが意図されている。図示および説明のために本開示の実施形態の記述を提示したが、その記述が網羅的であること、または開示された形態の開示に限定されることは意図されていない。当業者には、開示の範囲および精神を逸脱することなく、多くの変更および変形形態が明白である。実施形態は、開示の原理および実用的用途を最もよく説明するため、ならびに企図された特定の使用に適したさまざまな変更を有するさまざまな実施形態のための開示を当業者が理解することを可能にするために選抜し、説明した。
以下に、要約を提供する。
1.データを暗号化するセキュア・データ・アクセス・サービスを提供するコンピュータ実装方法であって、
データ暗号化鍵を少なくとも2つの顧客ルート鍵によってラッピングすることであって、少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、かつ、少なくとも2つの顧客ルート鍵についてのラッピング構造は、セキュア・データ・アクセス・サービスによる暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従う、ラッピングすることと、
ラッピング解除されたデータ暗号化鍵を使用してセキュア・データ・アクセス・サービスによってデータを暗号化することと
を含む、方法。
2.ラッピング構造は、データ暗号化鍵のラッピングについての少なくとも2つの顧客ルート鍵の適用の順序を定義する、項目1に記載の方法。
3.セキュア・データ・アクセス・サービスは、ラッピングされたデータ暗号化鍵のみを格納する、項目1または2に記載の方法。
4.異なるハードウェア・セキュリティ・モジュールは、物理的に異なるハードウェア・セキュリティ・モジュール、仮想的に異なるハードウェア・セキュリティ・モジュール、またはそれらの組み合わせである、項目1~3のいずれか1つに記載の方法。
5.少なくとも2つの顧客ルート鍵は、m個の顧客ルート鍵のうちn個の顧客ルート鍵であり、m<nである、項目1~4のいずれか1つに記載の方法。
6.少なくとも2つの顧客ルート鍵は、対称暗号化/復号鍵である、項目1~5のいずれか1つに記載の方法。
7.少なくとも2つの顧客ルート鍵は、異なっている、項目1~6のいずれか1つに記載の方法。
8.データ暗号化鍵は、対称性のまたは非対称の鍵である、項目1~7のいずれか1つに記載の方法。
9.データ暗号化鍵は、限定された時間窓に対してのみ有効である、項目1~8のいずれか1つに記載の方法。
10.ラッピング構造は、データ暗号化鍵のラッピング解除のための、少なくとも2つの顧客ルート鍵の適用の順序を定義する、項目1~9のいずれか1つに記載の方法。
11.ラッピング解除されたデータ暗号化鍵は、セキュリティ・サービスから、最終的なデータ・アクセスについての他のデータ・アクセス機能へと通される、項目1~10のいずれか1つに記載の方法。
12.データを暗号化するセキュア・データ・アクセス・サービスを提供するためのデータ保護システムであって、データ保護システムは、プロセッサおよびプロセッサと通信可能に結合されるメモリを含み、メモリは、実行されたときに、プロセッサに、
データ暗号化鍵を少なくとも2つの顧客ルート鍵によってラッピングすることであって、少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、かつ、少なくとも2つの顧客ルート鍵についてのラッピング構造は、セキュア・データ・アクセス・サービスによる暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従う、ラッピングすることと、
ラッピング解除されたデータ暗号化鍵を使用してセキュア・データ・アクセス・サービスによってデータを暗号化することと
を可能にさせるプログラム・コード部分を格納する、データ保護システム。
13.ラッピング構造は、データ暗号化鍵のラッピングについての少なくとも2つの顧客ルート鍵の適用の順序を定義する、項目12に記載のデータ保護システム。
14.セキュア・データ・アクセス・サービスは、ラッピングされたデータ暗号化鍵のみを格納する、項目12または13に記載のデータ保護システム。
15.異なるハードウェア・セキュリティ・モジュールは、物理的に異なるハードウェア・セキュリティ・モジュール、仮想的に異なるハードウェア・セキュリティ・モジュール、またはそれらの組み合わせである、項目12~14のいずれか1つに記載のデータ保護システム。
16.少なくとも2つの顧客ルート鍵は、m個の顧客ルート鍵のうちn個の顧客ルート鍵であり、m<nである、項目12~15のいずれか1つに記載のデータ保護システム。
17.少なくとも2つの顧客ルート鍵は、対称暗号化/復号鍵である、項目12~16のいずれか1つに記載のデータ保護システム。
18.少なくとも2つの顧客ルート鍵は、異なっている、項目12~17のいずれか1つに記載のデータ保護システム。
19.データ暗号化鍵は、限定された時間窓に対してのみ有効である、項目12~18のいずれか1つに記載のデータ保護システム。
20.データ保護システムのためのコンピュータ・プログラム製品であって、コンピュータ・プログラム製品は、その上で具体化されるプログラム命令を備えるコンピュータ可読ストレージ媒体を含み、プログラム命令は、1または複数のコンピューティング・システムまたはコントローラによって実行可能であり、1または複数のコンピューティング・システムに、
データ暗号化鍵を少なくとも2つの顧客ルート鍵によってラッピングすることであって、少なくとも2つの顧客ルート鍵は、異なるユーザ識別子に割り当てられ、少なくとも2つの顧客ルート鍵は、異なるハードウェア・セキュリティ・モジュールに格納され、かつ、少なくとも2つの顧客ルート鍵についてのラッピング構造は、セキュア・データ・アクセス・サービスによる暗号化されたデータへのデータ・アクセスを有効にするため割り当てられたユーザ識別子が同意しなければならないことを定義するアクセス・ポリシーに従う、ラッピングすることと、
ラッピング解除されたデータ暗号化鍵を使用してセキュア・データ・アクセス・サービスによってデータを暗号化することと
を行わせる、コンピュータ・プログラム製品。
【国際調査報告】