(57)【要約】  コンピューティング・デバイスが、通信システムとインターフェース接続し、通信するように構成されたインターフェースと、動作命令を格納するメモリと、種々の動作を実行するための動作命令を実行するように構成され、インターフェース及びメモリに動作可能に結合された処理回路とを含む。コンピューティング・デバイスは、紛失疑似ランダム関数（ＯＰＲＦ）ブラインド化操作に従ったブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成し、それを別のコンピューティング・デバイス（例えば、鍵管理システム（ＫＭＳ）サービスと関連付けられた）に伝送する。次に、コンピューティング・デバイスは、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいたブラインド化された値の処理に基づいているブラインド化された鍵を受け取る。コンピューティング・デバイスは、ＯＰＲＦ非ブラインド化操作に従って、ブラインド化鍵に基づいて、ブラインド化された鍵を処理し、鍵（例えば、セキュア情報のアクセスのために用いられる）を生成する。
2021516901.tif 000002
【特許請求の範囲】
【請求項１】
通信システムとインターフェース接続し、通信するように構成されたインターフェースと、
動作命令を格納するメモリと、
前記インターフェース及び前記メモリに動作可能に結合された処理回路と、
を含み、前記処理回路は、
紛失疑似ランダム関数（ＯＰＲＦ）ブラインド化操作に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成することと、
前記通信システムを介して、前記ブラインド化された値を、鍵管理システム（ＫＭＳ）サービスと関連付けられた別のコンピューティング・デバイスに伝送することと、
前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、ブラインド化された鍵を受け取ることであって、前記ブラインド化された鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいた前記ブラインド化された値の処理に基づいている、受け取ることと、
ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記ブラインド化された鍵を処理し、前記入力値と関連付けられた前記鍵を生成することと、
前記鍵に基づいて、セキュア情報にアクセスすることと、
を行うための前記動作命令を実行するように構成された、コンピューティング・デバイス。
【請求項２】
前記入力値は、前記別のコンピューティング・デバイスに知られず、前記鍵と関連付けられた鍵識別子を含み、
前記鍵は、前記別のコンピューティング・デバイスに知られず、データ暗号化鍵（ＤＥＫ）又は鍵暗号化鍵（ＫＥＫ）を含み、
前記ＯＰＲＦシークレットは、前記コンピューティング・デバイスに知られず、前記コンピューティング・デバイスと関連付けられた顧客ルート鍵（ＣＲＫ）に基づいている、
請求項１に記載のコンピューティング・デバイス。
【請求項３】
前記鍵は非対称鍵の対の第１の鍵又は第２の鍵を含み、前記処理回路はさらに、
前記通信システムを介して、前記別のコンピューティング・デバイスから、前記ＫＭＳサービスと関連付けられた前記ブラインド化された鍵、構造化鍵パラメータ、及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する決定性関数を受け取ることと、
前記構造化鍵パラメータ及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する前記決定性関数に基づいて前記ブラインド化された鍵を処理し、別のブラインド化された鍵を生成することと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記入力値と関連付けられた前記非対称鍵の対の前記第１の鍵又は前記第２の鍵を生成することと、
を行うための前記動作命令を実行するように構成された、請求項１又は請求項２に記載のコンピューティング・デバイス。
【請求項４】
前記鍵は非対称鍵の対の第１の鍵又は第２の鍵を含み、前記処理回路はさらに、
前記通信システムを介して、前記別のコンピューティング・デバイスから、記ＫＭＳサービスと関連付けられた前記ブラインド化された鍵、暗号化された構造化鍵パラメータ、及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する決定性関数を受け取ることと、
前記ブラインド化された鍵を処理し、別の鍵を生成することと、
復号に従って、前記別の鍵に基づいて、前記暗号化された構造化鍵パラメータを処理し、構造化鍵パラメータを生成することと、
前記構造化鍵パラメータ及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する前記決定性関数に基づいて、前記ブラインド化された鍵を処理し、別のブラインド化された鍵を生成することと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記入力値と関連付けられた前記非対称鍵の対の前記第１の鍵又は前記第２の鍵を生成することと、
を行うための前記動作命令を実行するように構成された、請求項１又は請求項２に記載のコンピューティング・デバイス。
【請求項５】
前記処理回路はさらに、
前記ＯＰＲＦブラインド化操作に従って、別のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、紛失鍵アクセス要求（ＯＫＡＲ）を含む別のブラインド化された値を生成することと、
前記通信システムを介して、前記ＯＫＡＲを含む前記別のブラインド化された値を、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスに伝送することと、
前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、別のブラインド化された鍵を受け取ることであって、前記別のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記別のブラインド化された値の処理に基づいている、受け取ることと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記別のブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記別の入力値と関連付けられた前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を生成することと、
前記非対称鍵の公開−秘密鍵の対の公開鍵に基づいて、前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を処理し、前記非対称鍵の前記公開−秘密鍵の対の前記秘密鍵の正当性を検証することと、
を行うための前記動作命令を実行するように構成される、請求項１又は請求項２に記載のコンピューティング・デバイス。
【請求項６】
前記処理回路はさらに、
前記ＯＰＲＦブラインド化操作に従って、第１の他のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、第１の紛失鍵アクセス要求（ＯＫＡＲ）を含む第１の他のブラインド化された値を生成することと、
前記ＯＰＲＦブラインド化操作に従って、第２の他のブラインド化鍵に基づいて、チャレンジ値を処理し、第２のＯＫＡＲを含む第２の他のブラインド化された値を生成することと、
前記通信システムを介して、前記第１のＯＫＡＲを含む前記第１の他のブラインド化された値及び前記第２のＯＫＡＲを含む前記第２の他のブラインド化された値を、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスに伝送することと、
前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、第１の他のブラインド化された鍵を受け取ることであって、前記第１の他のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記第１の他のブラインド化された値の処理に基づいている、受け取ることと、
前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、第２の他のブラインド化された鍵を受け取ることであって、前記第２の他のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記第２の他のブラインド化された値の処理に基づいている、受け取ることと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記第２の他のブラインド化鍵に基づいて、前記第２の他のブラインド化された鍵を処理し、前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの応答を生成することと、
前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの前記応答が前記チャレンジ値と比較して好ましいかどうかを判断することと、
前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの前記応答が前記チャレンジ値と比較して好ましいとの判断に基づいて、前記ＯＰＲＦ非ブラインド化操作に従って、前記第１の他のブラインド化鍵に基づいて、前記第１の他のブラインド化された鍵を処理し、前記別の入力値と関連付けられた前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を生成することと、
を行うための前記動作命令を実行するように構成される、請求項１に記載のコンピューティング・デバイス。
【請求項７】
前記コンピューティング・デバイスは、無線スマートフォン、携帯電話、ラップトップ、携帯情報端末、タブレット、パーソナル・コンピュータ（ＰＣ）、ワークステーション、又はビデオ・ゲーム・デバイスを含む、又は
前記別のコンピューティング・デバイスは、ハードウェア・セキュリティ・モジュール（ＨＳＭ）を含む、
のうちの少なくとも１つである、前記請求項のいずれかに記載のコンピューティング・デバイス。
【請求項８】
前記通信システムは、無線通信システム、有線通信システム、非公開イントラネット・システム、公開インターネット・システム、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）、衛星通信システム、光ファイバ通信システム、又はモバイル通信システムのうちの少なくとも１つを含む、前記請求項のいずれかに記載のコンピューティング・デバイス。
【請求項９】
コンピューティング・デバイスにより実行される方法であって、
紛失疑似ランダム関数（ＯＰＲＦ）ブラインド化操作に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成することと、
通信システムとインターフェース接続し、通信するように構成された前記コンピューティング・デバイスのインターフェースを介して、前記ブラインド化された値を、鍵管理システム（ＫＭＳ）サービスと関連付けられた別のコンピューティング・デバイスに伝送することと、
前記インターフェース及び前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、ブラインド化された鍵を受け取ることであって、前記ブラインド化された鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいた前記ブラインド化された値の処理に基づいている、受け取ることと、
ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記ブラインド化された鍵を処理し、前記入力値と関連付けられた前記鍵を生成することと、
前記鍵に基づいて、セキュア情報にアクセスすることと、
を含む、方法。
【請求項１０】
前記入力値は、前記別のコンピューティング・デバイスに知られず、前記鍵と関連付けられた鍵識別子を含み、
前記鍵は、前記別のコンピューティング・デバイスに知られず、データ暗号化鍵（ＤＥＫ）又は鍵暗号化鍵（ＫＥＫ）を含み、
前記ＯＰＲＦシークレットは、前記コンピューティング・デバイスに知られず、前記コンピューティング・デバイスと関連付けられた顧客ルート鍵（ＣＲＫ）に基づいている、請求項９に記載の方法。
【請求項１１】
前記鍵は非対称鍵の対の第１の鍵又は第２の鍵を含み、
前記インターフェース及び前記通信システムを介して、前記別のコンピューティング・デバイスから、前記ＫＭＳサービスと関連付けられた前記ブラインド化された鍵、構造化鍵パラメータ、及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する決定性関数を受け取ることと、
前記構造化鍵パラメータ及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する前記決定性関数に基づいて前記ブラインド化された鍵を処理し、別のブラインド化された鍵を生成することと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記入力値と関連付けられた前記非対称鍵の対の前記第１の鍵又は前記第２の鍵を生成することと、
をさらに含む、請求項９又は請求項１０に記載の方法。
【請求項１２】
前記鍵は非対称鍵の対の第１の鍵又は第２の鍵を含み、
前記インターフェース及び前記通信システムを介して、前記別のコンピューティング・デバイスから、前記ＫＭＳサービスと関連付けられた前記ブラインド化された鍵、暗号化された構造化鍵パラメータ、及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する決定性関数を受け取ることと、
前記ブラインド化された鍵を処理し、別の鍵を生成することと、
復号に従って、前記別の鍵に基づいて、前記暗号化された構造化鍵パラメータを処理し、構造化鍵パラメータを生成することと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記入力値と関連付けられた前記非対称鍵の対の前記第１の鍵又は前記第２の鍵を生成することと、
をさらに含む、請求項９又は請求項１０に記載の方法。
【請求項１３】
前記ＯＰＲＦブラインド化操作に従って、別のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、紛失鍵アクセス要求（ＯＫＡＲ）を含む別のブラインド化された値を生成することと、
前記インターフェース及び通信システムを介して、前記ＯＫＡＲを含む前記別のブラインド化された値を、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスに伝送することと、
前記インターフェース及び前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、別のブラインド化された鍵を受け取ることであって、前記別のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記別のブラインド化された値の処理に基づいている、受け取ることと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記別のブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記別の入力値と関連付けられた前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を生成することと、
前記非対称鍵の公開−秘密鍵の対の公開鍵に基づいて、前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を処理し、前記非対称鍵の前記公開−秘密鍵の対の前記秘密鍵の正当性を検証することと、
をさらに含む、請求項９又は請求項１０に記載の方法。
【請求項１４】
前記ＯＰＲＦブラインド化操作に従って、第１の他のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、第１の紛失鍵アクセス要求（ＯＫＡＲ）を含む第１の他のブラインド化された値を生成することと、
前記ＯＰＲＦブラインド化操作に従って、第２の他のブラインド化鍵に基づいて、チャレンジ値を処理し、第２のＯＫＡＲを含む第２の他のブラインド化された値を生成することと、
前記インターフェース及び前記通信システムを介して、前記第１のＯＫＡＲを含む前記第１の他のブラインド化された値及び前記第２のＯＫＡＲを含む前記第２の他のブラインド化された値を、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスに伝送することと、
前記インターフェース及び前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、第１の他のブラインド化された鍵を受け取ることであって、前記第１の他のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記第１の他のブラインド化された値の処理に基づいている、受け取ることと、
前記インターフェース及び前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、第２の他のブラインド化された鍵を受け取ることであって、前記第２の他のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記第２の他のブラインド化された値の処理に基づいている、受け取ることと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記第２の他のブラインド化鍵に基づいて、前記第２の他のブラインド化された鍵を処理し、前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの応答を生成することと、
前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの前記応答が前記チャレンジ値と比較して好ましいかどうかを判断することと、
前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの前記応答が前記チャレンジ値と比較して好ましいとの判断に基づいて、前記ＯＰＲＦ非ブラインド化操作に従って、前記第１の他のブラインド化鍵に基づいて、前記第１の他のブラインド化された鍵を処理し、前記別の入力値と関連付けられた前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を生成することと、
をさらに含む、請求項９に記載の方法。
【請求項１５】
前記コンピューティング・デバイスは、無線スマートフォン、携帯電話、ラップトップ、携帯情報端末、タブレット、パーソナル・コンピュータ（ＰＣ）、ワークステーション、又はビデオ・ゲーム・デバイスを含む、又は
前記別のコンピューティング・デバイスは、ハードウェア・セキュリティ・モジュール（ＨＳＭ）を含む、
のうちの少なくとも１つである、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ、暗号化、及び鍵管理に関し、より具体的には、通信システム、及び１又は複数の鍵管理システム（ＫＭＳ：Key Management System）に関連した通信に基づく操作に従ったセキュリティ、暗号化、及び鍵管理に関する。
【背景技術】
【０００２】
特定の従来技術の通信システムにおいて、オンラインで格納されるデータ量は増え続けている。その中の一部のデータは、重要であり、暗号化され、セキュア保護され、もしくは秘密（private）であるか又はその組み合わせである。例えば、このデータの多くが秘密であり、一部は、守秘義務法及び規則により保護され得る。データの一部は、悪意のあるインサイダー、外部の攻撃者、もしくは偶発的な暴露要求又はその組み合わせから、データを保護するために、暗号化される。暗号化は、１つ又は複数の暗号化鍵を用いて機能することができる。適切な暗号化鍵がなければ、暗号化されたデータを解読することはできない。従って、暗号化されたデータに取り組むときはいつでも、信頼できる鍵の供給及び管理が不可欠である。
【０００３】
さらに近年、特定の情報は、別のパーティにより運営及び保持される１つ又は複数の遠隔ストレージ・デバイス内に格納される。特定の従来技術の実施において、こうした他のパーティのサービス・プロバイダは、格納される１つ又は複数の暗号鍵にアクセスし、それらを知り、管理し、そのサービスをクライアントもしくはユーザ又はその両方に提供することが可能である。そうした状況では、そのようなクライアントもしくはユーザ又はその両方とも、このような別のパーティのサービス・プロバイダのあらゆる悪意、挙動、信頼の欠如等に非常に影響を受けやすく、脆弱である。
【０００４】
セキュアな暗号化情報にアクセスするために用いられる鍵を格納するもの（例えば、鍵管理システム（ＫＭＳ））を含むこうした従来技術のストレージ・システムは、多くの問題を含んでいる。さらに、クラウド・ベースの技術に基づいてそうしたストレージ・システムを実装しようとする試みにおいて、問題はさらに悪化することになり得る。例えば、そうした従来技術のストレージ・システムのクラウド・ベースの実装は、さらなるセキュリティ上の脅威をもたらす。幾つかの例を考えると、テナントは、クラウド・プロバイダとその動作を信頼しなければならない。クラウド・プロバイダがシステムを正しく管理するものと信じる必要がある。これは、クラウド・プロバイダに設定エラーがなく、セーフガード・バックアップを効果的に実行し、テナント・データ等のために代わりに正しいポリシー及び制御を有すると信用することを含む。また、クラウド・プロバイダが、機密データを漏らし得る悪意のあるインサイダーを有さず、従業員を適切に厳しく検査し、監査プロセスを有し、チェックのない過度の権力をシステム管理者に与えないことへの信頼が必要である。また、クラウド・プロバイダが、テナントを適切に分離することも保証されなければならない。これは、クラウド・プロバイダが、仮想マシン（ＶＭ）間及びコンテナ間のサイドチャネル攻撃を防止し、メモリを保護し、使用の間にドライブを消去し、ネットワーク・スニフィング(sniffing）を防止することを保証することを含むことができる。また、クラウド・プロバイダが、インターネット上のあらゆるところから発し得るものを含む攻撃を防ぐことへの信頼が必要である。クラウド・プロバイダは、ネットワーク（例えば、全てのクラウド・データについての入口点を含む）を保護し、漏洩（breach）を監視し、分散型サービス拒否攻撃（ＤＤＯＳ：Distributed Denial of Service）を切り抜け、パッチを適用し、証明書を適切に使用及び検証することに対する信用も必要である。
【０００５】
クラウド・ベースの技術に基づいて実装される既存の従来技術のストレージ・システムは、単一のクラウド・プロバイダに大きな信頼を置くこと、もしくは各自のＫＭＳインフラストラクチャを保持すること又はその両方をすることを必要とする。セキュリティ又は適切なセキュリティにおける信頼の欠如は、クラウド・ベースの技術を用いるそうした従来技術のストレージ・システムの実装を妨げている大きな要因である。通常のデータ（例えば、秘密の、機密の、もしくは高価値のものではないデータ又はその組み合わせ）を格納する際、こうした懸念が存在し、セキュア保護されたデータ、暗号化されたデータ、暗号鍵等を扱う際、そうした懸念が増大されるようになる。従来技術は、信用及び信頼できるユーザが、受容可能な性能及びユーザ・エクスペリエンスのサービスを提供する間、プライバシー、セキュリティ、信用等といった様々な懸案事項に適切に対処する適切な解決法を提供していない。
【発明の概要】
【０００６】
本発明の実施形態は、１つ又は複数の紛失疑似ランダム関数（ＯＰＲＦ：Oblivious Pseudorandom Function）に基づいて、１つ又は複数の鍵管理システム（ＫＭＳ：Key Management Service）サービスを達成するためのコンピュータ実施方法、システム、及びコンピュータ・プログラム製品を開示する。そうした実装において、２つのパーティ（例えば、クライアントと関連付けられるコンピューティング・デバイスとＫＭＳサービス）が協働して動作して関数を評価し、最終的に鍵をクライアントに提供する。第１のパーティは入力を提供し、第２のパーティはＯＰＲＦ鍵（例えば、ＯＰＲＦシークレット）を提供する。第１のパーティだけがＯＰＲＦの出力を受け取り（又は知ることができ）、ＯＰＲＦ鍵を知ることも又は分かることもない。入力値は、第２のパーティには知られず、ＯＰＲＦ鍵は、第１のパーティには知られない。また、第２のパーティは、ＯＰＲＦの入力又は出力を知ることも又は分かることもない。また、第２のパーティにより与えられる鍵は、第２のパーティには知られない。
【０００７】
対照的に、従来技術のクラウド・ベースの技術においては、クラウド・ベースのＫＭＳサービスのプロバイダは、プロバイダがテナントの鍵を知ることになるように動作する。本明細書での新規な解決法を用いて実行される計算の間に、第１のパーティは、第２のパーティが使用するＯＰＲＦシークレット（例えば、ＯＰＲＦ鍵）についての情報を知得しない。特定の随意的な動作において、ＯＰＲＦシークレットは、顧客ルート鍵（ＣＲＫ：Customer Root Key）に基づいている。鍵管理システム（ＫＭＳ）をサポートすることを含む、本明細書で提示されるそうした新規な解決法は、クラウド・プロバイダにおけるゼロトラスト（zero trust）を要求しながら、テナント・プレミスにおけるＫＭＳインフラストラクチャを必要とせずに、クラウド・ベースの技術を用いて実施することができる。
【０００８】
そうした動作によると、紛失疑似ランダム関数（ＯＰＲＦ）ブラインド化操作（blinding operation）（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、ブラインド化鍵（blinding key）に基づいて、鍵と関連付けられた入力値が第１のパーティにより処理されて、ブラインド化された値（blinded value）を生成する。次に、ブラインド化された値は、（例えば、通信システムを介して）第２のパーティ（例えば、ＫＭＳサービスと関連付けられた別のコンピューティング・デバイス）に伝送される。ブラインド化された鍵（blinded key）は、ＯＰＲＦシークレットを用いる（例えば、第２のパーティによる）紛失疑似ランダム関数（ＯＰＲＦ）に基づいたブラインド化された値の処理に基づいて生成される。次に、ブラインド化された鍵は、第１のパーティによって受け取られる（例えば、通信システムを介して、ＫＭＳサービスと関連付けられた第２のパーティから）。ブラインド化された鍵は、紛失疑似ランダム関数（ＯＰＲＦ）非ブラインド化操作（unblinding operation）（例えば、準同型復号、１つ又は複数の非ブラインド化操作等）に従って、ブラインド化鍵に基づいて処理され、入力値と関連付けられた鍵を生成する。所望であれば特定の実施において、生成された鍵に基づいて（例えば、通信システムを介して）、セキュア情報にアクセスされる。特定の随意的な動作において、鍵は、データ暗号化鍵（ＤＥＫ）又は鍵暗号化鍵（ＫＥＫ）を含む任意の所望のタイプのものとすることができる。
【０００９】
第１のパーティと第２のパーティとの間の通信が保護され、インターセプトにも耐えられる。また、第１のパーティと第２のパーティとの間のこうした通信は、特にトランスポート層セキュリティ（ＴＬＳ）などの特別なセキュア通信プロトコルを用いて実施する必要はない。
【００１０】
そうした他の随意的な動作によると、本明細書で生成されるような鍵は、非対称鍵の対（例えば、構造化鍵パラメータに基づき、第１の鍵及び第２の鍵を含む非対称鍵の対、１つの鍵を含む幾つかの例は公開鍵（public key）及び非対称鍵の公開−秘密鍵（public-private key）の対における秘密鍵である別の鍵である。そうした実施において、第２のパーティは、構造化鍵パラメータと、非対称鍵の対の第１の鍵又は第２の鍵の生成を指定する決定性関数とを決定することができる。幾つかの場合には、そうした構造化鍵パラメータ及び決定性関数は、第１のパーティから第２のパーティに与えられる。この情報に基づいて、ブラインド化された鍵は、第１のパーティにより処理され、非対称鍵の対の鍵の１つを生成し、次にそれを非対称鍵の対の鍵の他方と共に使用し、非対称鍵の対に基づいたそうしたセキュア情報にアクセスする。そうした実施は、セキュアなストレージ及び非対称鍵のそうした対の鍵の１つの取り出しをもたらす。
【００１１】
さらに、そうした他の随意的な動作によると、そうした動作は、非対称鍵の公開−秘密鍵の対の公開鍵に基づいて非対称鍵の公開−秘密鍵の対の秘密鍵を処理し、非対称鍵の公開−秘密鍵の対の秘密鍵の正当性を検証することを含むことができる。これを用いて、そうしたＫＭＳサービスに格納される鍵の完全性を保証することができる。
【図面の簡単な説明】
【００１２】
【図１】（Ａ）は、本発明の種々の実施形態による、鍵管理システム（ＫＭＳ）をサポートする１つ又は複数の通信システムの実施形態を示す図である。（Ｂ）は、本発明の種々の実施形態による、１つ又は複数の通信システムの実施形態を示す図である。（Ｃ）は、本発明の種々の実施形態による、１つ又は複数の通信システム内で動作するように構成されたコンピューティング・デバイスの実施形態を示す図である。（Ｄ）は、本発明の種々の実施形態による、無線通信システムの実施形態を示す図である。
【図２】（Ａ）及び（Ｂ）は、本発明の種々の実施形態による、ＫＭＳをサポートする１つ又は複数の通信システムの別の実施形態を示す図である。
【図３】（Ａ）は、本発明の種々の実施形態による、ＫＭＳをサポートする１つ又は複数の通信システムの別の実施形態を示す図である。（Ｂ）は、本発明の種々の実施形態による、紛失疑似ランダム関数（ＯＰＲＦ））に基づいてＫＭＳをサポートする１つ又は複数の通信システムの実施形態を示す図である。
【図４】（Ａ）は、本発明の種々の実施形態による、紛失性（obliviousness）により鍵保護をサポートする１つ又は複数の通信システムの実施形態を示す図である。（Ｂ）は、本発明の種々の実施形態によるハードウェア・セキュリティ・モジュール（ＨＳＭ）をサポートする１つ又は複数の通信システムの実施形態を示す図である。（Ｃ）は、本発明の種々の実施形態による、ＫＭＳに従って使用できるような鍵の階層の実施形態を示す図である。
【図５】本発明の種々の実施形態による、１つ又は複数の通信システムにより実行される方法の実施形態を示す図である。
【図６】本発明の種々の実施形態による、１つ又は複数の通信システムにより実行される方法の別の実施形態を示す図である。
【図７】本発明の種々の実施形態による、１つ又は複数の通信システムにより実行される方法の別の実施形態を示す図である。
【図８】本発明の種々の実施形態による、１つ又は複数の通信システムにより実行される方法の別の実施形態を示す図である。
【図９】本発明の種々の実施形態による、１つ又は複数の通信システムにより実行される方法の別の実施形態を示す図である。
【図１０】本発明の種々の実施形態による、クラウド・コンピューティング環境を示す。
【図１１】本発明の種々の実施形態による、抽象化モデル層を示す。
【図１２】本発明の種々の実施形態による、コンピューティング・デバイスのブロック図を示す。
【発明を実施するための形態】
【００１３】
本発明の実施形態によると、新規な鍵管理及び鍵セキュリティは、紛失性に基づいて動作し、１つ又は複数の鍵管理システム（ＫＭＳ）などに基づいて使用される鍵のセキュリティ及び秘密性（secrecy）を与える。また、この新規な鍵管理及び鍵セキュリティは、紛失疑似ランダム関数（ＯＰＲＦ）ブラインド化操作（blinding operation）（例えば、準同型暗号化（homomorphic encryption）、１つ又は複数の他のブラインド化操作）もしくは紛失疑似ランダム関数（ＯＰＲＦ）処理又はその両方に従って１つ又は複数の鍵を生成することも含む。幾つかの例において、これは、ＯＰＲＦブラインド化操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）（及びＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等））を実行することと、クライアント（例えば、ユーザ）の操作及びサービス・プロバイダ（例えば、ＫＭＳ）の操作をサポートすることとを含む。種々のエンティティは、２つのパーティが協働して動作して、関数を評価し、最終的に鍵をクライアントに提供するような方法で互いに対話する。ＯＰＲＦ処理によると、クライアントは、サービス・プロバイダが使用するＯＰＲＦシークレットを判断することができず、サービス・プロバイダは、クライアントと関連付けられた入力もしくは出力又はその両方を判断することができない。さらに、サービス・プロバイダは、それが１又は複数のクライアントに提供する１つ又は複数の鍵を知ること及び判断することができない。また、本明細書で提示されるようなそうした新規な解決法の１つの例において、鍵は、使用されるたびに再生成される。これを用いて、大量のストレージをオフロードし、処理負荷を多数のクライアントにオフロードすることもできる。これは、集中型サーバ又は従来技術のシステムで用いられるようなハードウェア・セキュリティ・モジュール（ＨＳＭ）に対する必要性をなくす、拡張性のある（scalable）システムの可能な実装をもたらす。
【００１４】
図１（Ａ）は、本発明の種々の実施形態による、鍵管理システム（ＫＭＳ）をサポートする１つ又は複数の通信システムの実施形態１００を示す図である。１つ又は複数のコンピューティング・デバイス（例えば、コンピューティング・デバイス１１０、コンピューティング・デバイス１１２等）は、１つ又は複数の他のコンピューティング・デバイスもしくは１つ又は複数のネットワーク・セグメント１１６又はその両方を介して通信をサポートするように構成される。一例において、コンピューティング・デバイス１１０は、１つ又は複数のネットワーク・セグメント１１６を介して、コンピューティング・デバイス１１２と通信する。例えば、コンピューティング・デバイス１１０は第１のユーザと関連付けられ、コンピューティング・デバイス１１２は第２のユーザと関連付けられる。１つ又は複数のネットワーク・セグメント１１６は、図１０を参照して説明されるようなクラウド・コンピューティング環境５０に従って実装することができ、幾つかの例もしくは実施形態又はその両方において、１つ又は複数のネットワーク・セグメント１１６は、内部に１つ又は複数の他のコンピューティング・デバイス（例えば、ノード、ルータ、ゲートウェイ、サーバ、中継器、トランスコーダ等）を含むことができる。
【００１５】
コンピューティング・デバイス１１０は、１つ又は複数の鍵に基づいてセキュア情報（例えば、セキュアな、秘密の、暗号化された等のデータ、鍵等）にアクセスするように構成される。そうした鍵の例は、データ暗号化鍵（ＤＥＫ）、鍵暗号化鍵（ＫＥＫ）、ラップされたデータ暗号化鍵（ＷＤＥＫ：Wrapped Data Encryption Key）、マスター鍵暗号化鍵（Ｍ−ＫＥＫ）、インスタンス鍵暗号化鍵（Ｉ−ＫＥＫ）、顧客ルート鍵（ＣＲＫ）、及び／又は情報の暗号化もしくは復号又はその両方と関連付けられた及びそのために用いられるものを含む任意の他のタイプの鍵のうちの１つ又は複数を含む種々のタイプのものとすることができる。
【００１６】
例えば、ひとたび鍵が生成されると、コンピューティング・デバイス１１０は、その鍵を使用して、１つ又は複数のネットワーク・セグメント１１６内に格納される、及び／又は１つ又は複数のネットワーク・セグメント１１６に基づいて又はそれを介してアクセス可能なクラウド・ベースの技術内に格納される、セキュア情報にアクセスするように構成することができる。例えば、コンピューティング・デバイス１１０は、クラウド・プロバイダが格納する暗号化データを要求し、そのクラウド・プロバイダが格納する暗号化データを受け取り、次に鍵を使用してその暗号化データを復号する。
【００１７】
一般に、そうしたセキュリティ、暗号化等によると、鍵は、鍵を有さない他のものが利用できないようにされるセキュア情報（例えば、データ、鍵等）にアクセスするために、コンピューティング・デバイス１１０により使用される。一般に、鍵管理システム（ＫＭＳ）は、コンピューティング・デバイス、ユーザもしくはアプリケーション又はその組み合わせ等の代わりに、鍵へのアクセスを管理し、確実に保持し、制御するためのシステムと考えることができる。ＫＭＳにとって、高可用性及び耐久性は重要である。例えば、特定の場合を考えると、ＫＭＳが機能しない場合、ＫＭＳが管理する鍵で暗号化されたデータを回復しようとするいずれの試みも失敗する。セキュリティ並びに適切なアクセス制御の実施及び監査も必須である。例えば、間違ったエンティティ（例えば、権限付与されていないエンティティ）がＫＭＳから鍵を獲得した場合、ＫＭＳは、その鍵の下で暗号化された全てのデータ、鍵等をそのパーティに実質的に開示してしまう。
【００１８】
動作及び実施の例において、コンピューティング・デバイス１１０（例えば、ユーザと関連付けられているような）は、１つ又は複数のネットワーク・セグメント１１６を介するなど１つ又は複数の通信システム（例えば、インターネット、イントラネット、固有ネットワーク、プライベート・ネットワーク、公衆ネットワーク等）を介する鍵管理システム（ＫＭＳ）との通信をサポートするように構成される。コンピューティング・デバイス１１０は、紛失疑似ランダム関数（ＯＰＲＦ）ブラインド化操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成するように構成される。こうした入力値は、任意の所望の値（例えば、任意の識別子、ファイル名、オブジェクト名、オブジェクト識別子（ＩＤ）等、任意の識別子、ファイル名、オブジェクト名、ＩＤのハッシュなどの任意のそうした要素のハッシュ等）とすることができる。
【００１９】
コンピューティング・デバイス１１０は、（例えば、１つ又は複数のネットワーク・セグメント１１６を介して）ブラインド化された値を、鍵管理システム（ＫＭＳ）サービス（ＫＭＳサービス１２１として示される）と関連付けられた別のコンピューティング・デバイスに伝送するようにも構成される。コンピューティング・デバイス１１０は、（例えば、１つ又は複数のネットワーク・セグメント１１６を介して、ＫＭＳサービス１２１から）ブラインド化された鍵を受け取るようにも構成される。ブラインド化された鍵は、ＯＰＲＦシークレットを用いる紛失疑似ランダム関数（ＯＰＲＦ）に基づいたブラインド化された値の処理に基づいていることに留意されたい。幾つかの例において、ＫＭＳサービス１２１は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいたブラインド化された値を処理するように構成される。コンピューティング・デバイス１１０は、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、ブラインド化鍵に基づいてブラインド化された鍵を処理し、入力値と関連付けられた鍵を生成するようにも構成される。次に、コンピューティング・デバイス１１０は、鍵に基づいてセキュア情報にアクセスする（例えば、１つ又は複数のネットワーク・セグメント１１６を介して）ようにも構成される。こうしたセキュア情報の例は、秘密の、機密の、及び／又は高価値のものであり得る情報を含むことができる。そうしたデータの例は、個人情報、健康データ、財務データ、戦略プラン、競合情報、企業秘密、ビットコイン・ウォレット、顧客リスト、及び／又は秘密の、機密の、及び／又は高価値のものであり得る任意の他の種類のデータの、１つ又は複数を含むことができる。
【００２０】
幾つかの例において、入力値は、ＫＭＳサービス１２１に知られず、鍵と関連付けられた鍵識別子（鍵ｉｄ）を含む。また、鍵は、ＫＭＳサービス１２１に知られず、ＤＥＫ又はＫＥＫを含む上述のものを含む任意の種類の鍵を含むことができる。幾つかの特定の例において、ＯＰＲＦシークレットは、コンピューティング・デバイス１１０に知られず、コンピューティング・デバイス１１０と関連付けられた顧客ルート鍵（ＣＲＫ）に基づいている。
【００２１】
図１（Ｂ）は、本発明の種々の実施形態による、１つ又は複数の通信システムの実施形態１０２を示す図である。１つ又は複数のネットワーク・セグメント１１６は、少なくとも２つのコンピューティング・デバイス１１０及び１１２についての通信相互接続性を提供する（例えば、そうしたコンピューティング・デバイスは、特定の例において他のコンピューティング・デバイスとの通信をサポートするように実施及び動作することができ、そうしたコンピューティング・デバイスは代替的に、コンピューティング・デバイスと通信デバイスの機能及び能力の両方を含むそうした状況において、通信デバイスと呼ぶことができる）。一般的に言えば、いずれかの所望の数の通信デバイスが、１つ又は複数の通信システム（例えば、通信デバイス１１４により示されるような）内に含まれる。
【００２２】
１つ又は複数のネットワーク・セグメント１１６内の種々の通信リンクは、無線、光、衛星、マイクロ波、及び／又はその任意の組み合わせとして実装される通信リンクを含む種々の通信媒体のいずれかを用いて実施することができる。一般に、１つ又は複数のネットワーク・セグメント１１６は、無線通信システム、有線通信システム、非公開イントラネット・システム、公衆インターネット・システム、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）、衛星通信システム、光ファイバ通信システム、もしくはモバイル通信システム又はその組み合わせをサポートするように実施することができる。また、場合によっては、異なるタイプの通信リンクが、いずれか２つの通信デバイス間の接続経路を協働して形成することができる。１つの可能な例を考えると、デバイス１１０と１１２との間の通信経路は、有線通信リンクの幾つかのセグメント、及び光通信リンクの他のセグメントを含むことができる。また、デバイス１１０〜１１４は、固定式デバイス、モバイル・デバイス、携帯可能デバイス等を含む種々のタイプのものとすることができ、データ、電話、インターネット、媒体、同期等を含む多数のサービス又はサービス・フローのいずれかについての通信をサポートできることにも留意されたい。
【００２３】
動作及び実施の例において、デバイス１１０は、他のデバイス１１２〜１１４の１つ又は複数との通信をサポートするための通信インターフェースを含む。例において、コンピューティング・デバイス１１０は、通信ネットワーク（例えば、１つ又は複数のネットワーク・セグメント１１６）、動作命令を格納するメモリ、並びに通信インターフェース及びメモリに結合されたプロセッサとインターフェース接続し、通信するように構成された通信インターフェースを含む。プロセッサは、種々の機能、動作等を実行するための動作命令を実行するように構成される。コンピューティング・デバイス１１０によりサポートされる通信は、他のコンピューティング・デバイス１１２〜１１４の１つ又は複数との間で双方向のものであってもよく、又は他のコンピューティング・デバイス１１２〜１１４の１つ又は複数から単方向（又は主として単方向）のものであってもよい。
【００２４】
一例において、コンピューティング・デバイス１１０は、コンピューティング・デバイス１１０の通信インターフェースを介して信号の生成、変調、エンコード等、及び伝送を行い、また、コンピューティング・デバイス１０の通信インターフェースを介して受け取った（例えば、コンピューティング・デバイス１１２、コンピューティング・デバイス１１４等などの他のコンピューティング・デバイスから受け取った）他の信号の処理、復調、デコード等も行う。
【００２５】
通信インターフェース１２０は、コンピューティング・デバイス１１０−１の１又は複数のユーザとの対話を容易にするために、（例えば、タッチスクリーン、キーボード、音声もしくはビデオ又はその両方の入力／出力ポート等を介して）ユーザ入力の受信及びユーザ出力の出力をサポートするための機能を含み得ることにも留意されたい。そうした機能は、幾つかの例では、通信インターフェース１２０から別個に実施され、他の例では、通信インターフェース１２０内に統合される。
【００２６】
動作の例において、コンピューティング・デバイス１１０は、ＯＰＲＦブラインド化操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成するように構成される。コンピューティング・デバイス１１０はまた、１つ又は複数のネットワーク・セグメント１１６を介するなど通信システムを介して、ブラインド化された値を、鍵管理システム（ＫＭＳ）サービスと関連付けられたコンピューティング・デバイス１１２もしくはコンピューティング・デバイス１１４又はその両方に伝送するようにも構成される。コンピューティング・デバイス１１０はまた、１つ又は複数のネットワーク・セグメント１１６を介するなど通信システムを介して、ＫＭＳサービスと関連付けられたコンピューティング・デバイス１１２もしくはコンピューティング・デバイス１１４又はその両方から、ブラインド化された鍵を受け取るようにも構成される。ブラインド化された鍵は、ＯＰＲＦシークレットを用いる紛失疑似ランダム関数（ＯＰＲＦ）に基づいたブラインド化された値の処理に基づいていることに留意されたい。幾つかの例において、コンピューティング・デバイス１１２もしくはコンピューティング・デバイス１１４又はその両方は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいてブラインド化された値を処理するように構成される。次に、コンピューティング・デバイス１１０は、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、ブラインド化鍵に基づいて、ブラインド化された鍵を処理し、入力値と関連付けられた鍵を生成するようにも構成される。幾つかの例において、コンピューティング・デバイス１１０は、鍵を用いてセキュア情報にアクセスするようにも構成される（例えば、１つ又は複数のネットワーク・セグメント１１６を介するなど通信システムを介して、ローカルに利用可能な及び／又は格納されるセキュア情報に基づいて、及び／又はその組み合わせ等に基づいて）。そうしたセキュア情報は、データ、鍵等、及び／又は１つ又は複数のネットワーク・セグメント１１６を介するなど通信システムを介してアクセス可能な１つ又は複数の他のコンピューティング・デバイス内に格納される他の情報とすることができる。
【００２７】
図１（Ｃ）は、本発明の種々の実施形態による１つ又は複数の通信システム内で動作するように構成されたコンピューティング・デバイスの実施形態１０３を示す図である。コンピューティング・デバイス１１０−１は、通信インターフェース１２０及び処理回路１３０を含む。通信インターフェース１２０は、通信システム内の１つ又は複数の他のデバイスとの通信をサポートするために、送信機１２２及び受信機１２４の機能を含む。コンピューティング・デバイス１１０−１はまた、コンピューティング・デバイス１１０−１により生成される１又は複数の信号を含む情報、又は１つ又は複数の通信チャネルを介して他のデバイス（例えば、コンピューティング・デバイス１１２）から受信した情報を格納するためのメモリ１４０を含むこともできる。例えば、メモリ１４０はまた、メッセージもしくは他の受信した信号又はその両方の処理、並びに他のメッセージもしくは本明細書で説明されるものを含む他の信号（例えば、画像信号及び／又はビデオ信号）又はその両方の生成に関して、処理回路１３０により使用される種々の動作命令を含むこと及び格納することもできる。メモリ１４０はまた、１つ又は複数のタイプのエンコード、１つ又は複数のタイプの記号マッピング、コンピューティング・デバイス１１０−１により生成され得るような、種々の変調コード化スキーム等の連結を含む情報、又は１つ又は複数の通信チャネルを介して他のデバイスから受け取った情報を格納することもできる。通信インターフェース１２０は、１つ又は複数の他のデバイス（例えば、コンピューティング・デバイス１１２−１もしくは他のコンピューティング・デバイス又はその両方）との間の通信をサポートする。メモリ１４０はまた、本明細書で説明される、種々の態様、実施形態、及び／又は例、並びにその同等物による、１つ又は複数のタイプのビデオ処理及び／又は画像処理を含む情報を格納することもできる。
【００２８】
通信インターフェース１２０の動作は、処理回路１３０が、通信インターフェース１２０を介して信号（ＴＸ及びＲＸ）を送受信するように、処理回路１３０により指示することができる。一般的に言うと、コンピューティング・デバイス１１０−１は、コンピューティング・デバイス１１２−２を含む１つ又は複数の通信システム内の１つ又は複数の他のコンピューティング・デバイスとの通信をサポートすることができる。
【００２９】
コンピューティング・デバイス１１０−１（例えば、図１（Ｂ）で参照されるようなコンピューティング・デバイス１１０、１１２、又は１１４のいずれか１つとすることができる）は、通信媒体を介して別のコンピューティング・デバイス１１２−１（及び／又は任意の数の他の無線コンピューティング・デバイス）と通信する。コンピューティング・デバイス１１０−１は、少なくとも１つの信号、記号、パケット、もしくはフレーム又はその組み合わせ等の送受信を実行する（例えば、送信機１２２及び受信機１２４を用いて）ための通信インターフェース１２０を含む（パケット又はフレームへの一般的な参照は、交換可能に用いることができることに留意されたい）。
【００３０】
一般的に言うと、通信インターフェース１２０は、アナログ・フロントエンド（ＡＦＥ）もしくは物理層（ＰＨＹ）又はその両方の送信機、受信機、もしくは送受信機又はその組み合わせの任意の動作を実行するように実装される。そうした動作の例は、周波数とアナログ又は連続的時間領域の間の変換を含む種々の動作（例えば、デジタル・アナログ変換器（ＤＡＣ）もしくはアナログ・デジタル変換器（ＡＤＣ）又はその両方により実行される動作など）、スケーリング、フィルタリング（例えば、デジタル領域又はアナログ領域のいずれかにおける）、周波数変換（例えば、コンピューティング・デバイス１１０−１のコンポーネントの１つ又は複数が動作するベースバンド周波数などへの、周波数アップスケーリングもしくは周波数ダウンスケーリング又はその両方）、同等化（equalization）、予等化（pre-equalization）、メトリック生成、記号マッピング及び／又はデマッピング、自動利得制御（ＡＧＣ）操作、及び／又はコンピューティング・デバイス内のＡＦＥ及び／又はＰＨＹコンポーネントにより実行され得る任意の他の動作のうちのいずれか１つ又は複数を含むことができる。
【００３１】
幾つかの実装において、コンピューティング・デバイス１１０−１は、コンピューティング・デバイス１１２−１に伝送された、及び／又はコンピューティング・デバイス１１２−１及び／又は任意の他のコンピューティング・デバイスから受け取った少なくとも１つの信号、記号、パケット、もしくはフレーム又はその組み合わせの解釈を含む種々の動作を実行するための、処理回路１３０及び関連したメモリ１４０も含む。コンピューティング・デバイス１１０−１及び１１２−１は、少なくとも１つの集積回路内のいずれかの所望の構成、又はコンポーネント、モジュール等の組み合わせに従った、少なくとも１つの集積回路を用いて実装することができる。また、コンピューティング・デバイス１１０もしくは１１２又はその両方はそれぞれ、少なくとも１つのパケット又フレームを無線で送信もしくは受信又はその両方をするための１つ又は複数のアンテナを含むことができる（例えば、コンピューティング・デバイス１１０−１は、ｍ個のアンテナを含むことができ、コンピューティング・デバイス１１２−１は、ｎ個のアンテナを含むことができ、ここでｍ及びｎは正の整数である）。
【００３２】
また、幾つかの例において、処理回路１３０、通信インターフェース１２０（そのＴＸ１２２もしくはＲＸ１２４又はその両方を含む）、及び／又はメモリ１４０のうちの１つ又は複数を、１つ又は複数の「処理モジュール」、「処理回路」、「プロセッサ」、及び／又は「処理ユニット」、又はその同等物内に実装することができる。１つの例を考えると、システム・オン・チップ（ＳＯＣ）１３０ａを、処理回路１３０、通信インターフェース１２０（そのＴＸ１２２もしくはＲＸ１２４又はその両方を含む）及びメモリ１４０を含むように実装することができる（例えば、ＳＯＣ１３０ａは、内部に複数のコンポーネントを含むマルチ機能、マルチモジュールの集積回路である）。別の例を考えると、処理・メモリ回路１３０ｂを、処理回路１３０及びメモリ１４０の両方に類似した機能を含むように実装することができるが、通信インターフェース１２０は、別個の回路である（例えば、処理・メモリ回路１３０ｂは、処理回路及びメモリの機能を実施する単一の集積回路であり、通信インターフェース１２０に結合され、また、これと対話する）。
【００３３】
さらに別の例を考えると、２つ又はそれより多い処理回路を、処理回路１３０、通信インターフェース１２０（そのＴＸ１２２もしくはＲＸ１２４又はその両方を含む）及びメモリ１４０を含むように実装することができる。こうした例において、こうした「処理回路」又は「複数の処理回路」（又は「プロセッサ」もしくは「複数のプロセッサ」）が、本明細書で説明される種々の動作、機能、通信等を実行するように構成される。一般に、コンピューティング・デバイス１１０−１内に示される種々の要素、コンポーネント等は、いずれかの数の「処理モジュール」、「処理回路」、「プロセッサ」、もしくは「処理ユニット」又はその組み合わせで実装することができる（例えば、１、２、・・・及び一般的にＮ個のそうした「処理モジュール」、「処理回路」、「プロセッサ」、もしくは「処理ユニット」又はその組み合わせを使用し、ここでＮは、１より大きいか又は１に等しい正の整数である）。
【００３４】
幾つかの例において、コンピューティング・デバイス１１０−１は、種々の動作を実行するように構成された、処理回路１３０及び通信インターフェース１２０の両方を含む。他の例では、コンピューティング・デバイス１１０−１は、種々の動作を実行するように構成されたＳＯＣ１３０ａを含む。さらに他の例では、コンピューティング・デバイス１１０−１は、種々の動作を実行するように構成された処理・メモリ回路１３０ｂを含む。一般に、そうした動作は、１つ又は複数の他のコンピューティング・デバイス（例えば、コンピューティング・デバイス１１２−１）を対象とした信号の生成、伝送等と、１つ又は複数の他のデバイス（例えば、コンピューティング・デバイス１１２−１）のために受信した他の信号の受信、処理等とを含む。
【００３５】
幾つかの例において、処理回路１３０に結合される通信インターフェース１２０は、衛星通信システム、無線通信システム、有線通信システム、光ファイバ通信システム、もしくはモバイル通信システム又はその組み合わせ（及び／又は任意のタイプの通信媒体を用いて実施される他の任意のタイプの通信システム）内での通信をサポートするように構成されることに留意されたい。コンピューティング・デバイス１１０−１により生成及び伝送、及び／又は受信及び処理される信号のいずれも、これらのタイプの通信システムのいずれかを介して通信することができる。
【００３６】
コンピューティング・デバイス１１０−１は、衛星通信デバイス、無線通信デバイス、有線通信デバイス、光ファイバ通信デバイス、又はモバイル通信デバイスのいずれか１つ又は複数として動作するように実装することができ、他のタイプの通信システムの中でも、衛星通信システム、無線通信システム、有線通信システム、光ファイバ通信システム、又はモバイル通信システムを含むいずれか１つ又は複数の通信システム内に実装することができ及び／又は動作可能である。
【００３７】
動作及び実装の例において、コンピューティング・デバイスは、通信ネットワークとインターフェース接続し、通信するように構成された通信インターフェース１２０と、動作命令を格納するメモリ１４０と、通信インターフェース及びメモリに結合された処理回路１３０とを含む。
【００３８】
処理回路１３０は、種々の機能、動作及び処理を実行するための動作命令を実行するように構成される（通信インターフェース１２０もしくはメモリ１４０又はその両方と協働することもある）。１つの例において、処理回路１３０は、ＯＰＲＦブラインド化操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成するように構成される。次に、処理回路１３０は、通信インターフェース１２０を介して、ブラインド化された値を、鍵管理システム（ＫＭＳ）サービスと関連付けられた別のコンピューティング・デバイス１１２−１に伝送するように構成される。処理回路１３０は、通信インターフェース１２０を介して、ＫＭＳサービスと関連付けられたコンピューティング・デバイス１１２−１から、ブラインド化鍵を受け取るように構成される。ブラインド化鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいたブラインド化された値の処理に基づいていることに留意されたい。幾つかの例において、コンピューティング・デバイス１１２−１は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいて、ブラインド化された値を処理するように構成される。次に、処理回路１３０は、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、ブラインド化鍵に基づいて、ブラインド化された鍵を処理し、入力値と関連付けられた鍵を生成するように構成される。幾つかの例において、コンピューティング・デバイス１１０−１は、鍵に基づいてセキュア情報にアクセスする（例えば、通信システムを介して、ローカルに利用可能な及び／又は格納されるセキュア情報に基づいて、及び／又はその組み合わせ等に基づいて）するようにも構成される。
【００３９】
図１（Ｄ）は、本発明の種々の実施形態による、無線通信システムの実施形態１０４を示す図である。無線通信システムは、１つ又は複数の基地局もしくはアクセス・ポイント又はその両方１５０と、無線通信デバイス１６０〜１６６（例えば、無線局（ＳＴＡ））と、ネットワーク・ハードウェア・コンポーネント１５６とを含む。無線通信デバイス１６０〜１６６は、ラップトップ・コンピュータ、又はタブレット１６０、携帯情報端末１６２、パーソナル・コンピュータ１６４もしくは携帯電話１６６又はその組み合わせ（及び／又は、任意のタイプの無線通信デバイス）とすることができる。こうした無線通信デバイス１６０〜１６６の他の例は同様に又は代替的に、無線通信機能（及び／又は、有線通信機能、衛星通信機能、光ファイバ通信機能等などの他のタイプの通信機能）を含む他のタイプのデバイスを含むこともできる。無線通信デバイスの例として、無線スマートフォン、携帯電話、ラップトップ、携帯情報端末、タブレット、パーソナル・コンピュータ（ＰＣ）、ワークステーションもしくはビデオ・ゲーム・デバイス又はその組み合わせを挙げることができる。
【００４０】
本明細書で説明される種々の例、実施形態、選択肢、及び／又はその同等物等のいずれかに従って動作するように実装することができる可能なデバイスの幾つかの例は、これらに限定されるものではないが、冷蔵庫、電子レンジ、暖房器、暖房システム、空調装置、空調システム、照明制御システム、及び／又は任意の他のタイプのアプライアンス等などの、家庭、企業等内のアプライアンス、天然ガス・サービス、電気サービス、水道サービス、インターネット・サービス、ケーブル及び／又は衛星テレビジョン・サービスなどのメーター、及び／又は任意の他のタイプの計量目的等などのメーター、時計、活動レベルを監視するもののようなモニタ、心拍、呼吸、身体活動、身体動作又はその欠如等の身体機能、静脈内（ＩＶ）薬剤送達監視及び／又は制御デバイス、血液監視デバイス（例えば、グルコース監視デバイス）を含む医療機器、及び／又は他のタイプの医療機器等、移動検出／監視デバイス、ドア閉鎖／半ドア検出／監視デバイス、セキュリティ／警報システム監視デバイスなどのプレミス監視デバイス、及び／又は任意のタイプのプレミス監視デバイス、テレビジョン、コンピュータ、音声再生デバイス、ビデオ再生デバイスを含むマルチメディア・デバイス、及び／又は任意の他のタイプのマルチメディア・デバイス等、及び／又は無線通信能力、機能、回路等を含む一般的な任意の他のタイプのデバイスを含むことができる。一般に、無線通信をサポートするために実施されるいずれのデバイスも、本明細書で説明される種々の例、実施形態、選択肢、及び／又はその同等物の何れかに従って動作するように実施することができる。
【００４１】
１つ又は複数の基地局（ＢＳ）又はアクセス・ポイント（ＡＰ）１５０は、ローカル・エリア・ネットワーク接続１５２を介して、ネットワーク・ハードウェア１５６に動作可能に結合される。ネットワーク・ハードウェア１５６は、ルータ、スイッチ、ブリッジ、モデム、システム・コントローラ等とすることができ、通信システムのための広域ネットワーク接続１５４を提供する。１つ又は複数の基地局又はアクセス・ポイント１５０の各々は、領域内の無線通信デバイスと通信するための関連したアンテナ又はアンテナ列を有する。典型的には、無線通信デバイスは、通信システムからサービスを受けるために特定の基地局又はアクセス・ポイント１５０に登録される。直接接続（すなわち、ポイント・ツー・ポイント通信）のために、無線通信デバイスは、割り当てられたチャネルを介して直接通信する。
【００４２】
種々の無線通信デバイス（ＷＤＥＶ）１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれも、いずれかの他の無線通信デバイス１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０との通信をサポートするための処理回路もしくは通信インターフェース又はその両方を含むことができる。動作の例において、デバイスの１つ（例えば、ＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれか１つ）内に実装される処理回路もしくは通信インターフェース又はその両方は、デバイスの別のもの（例えば、１つ又は複数のＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれか他のもの）から受け取る少なくとも１つの信号の処理、もしくはそれに伝送される少なくとも１つの信号の生成又はその両方をするように構成される。
【００４３】
図１（Ｄ）の無線通信デバイス（例えば、ＷＤＥＶ）１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０、又は任意の他の通信デバイスもしくは無線通信デバイス又はその組み合わせのような、通信デバイスへの一般的参照は、代替的に、用語「デバイス」（例えば、「無線通信デバイス」又は「ＷＤＥＶ」と言うときの「デバイス」）を用いて本明細書で一般的に行い得ることに留意されたい。一般的に、デバイスの一般的参照又は名称は、交換可能に用いることができる。
【００４４】
種々のデバイス、ＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれか１つの処理回路もしくは通信インターフェース又はその両方は、種々のデバイス、ＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０の任意の他のものとの通信をサポートするように構成することができる。こうした通信は、デバイス間の単方向のものであっても又は双方向のものであってもよい。また、こうした通信は、ある時にはデバイス間の単方向のものであり、別の時にはそれらのデバイス間の双方向のものであることもある。
【００４５】
例において、デバイス（例えば、ＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれか１つ）は、他のデバイスとの通信をサポートし、そうした通信についての信号を生成及び処理するための通信インターフェースもしくは処理回路又はその両方（及び潜在的には他の可能な回路、コンポーネント、要素等）を含む。通信インターフェースもしくは処理回路又はその両方は、種々の動作及び機能を実行してこうした通信をもたらすように動作する（例えば、通信インターフェース及び処理回路は、互いに関連して、協働して、互いに依存して等、特定の動作を実行し、互いに独立してなど別個に他の動作を実行するように構成することができる）。幾つかの例において、そうした処理回路は、本明細書で説明されるような動作を実行するための、全ての能力、機能もしくは回路又はその組み合わせ等を含む。幾つかの他の例において、そうした通信インターフェースは、本明細書で説明されるような動作を実行するための、全ての能力、機能もしくは回路又はその組み合わせ等を含む。さらに他の例において、そうした処理回路及び通信インターフェースは、本明細書で説明されるような動作を少なくとも部分的に、互いに協働して実行するための、全ての能力、機能もしくは回路又はその組み合わせ等を含む。
【００４６】
実施及び動作の例において、無線通信デバイス（例えば、ＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれか一方）は、他の無線通信デバイス（例えば、１つ又は複数のＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれか他方）の１つ又は複数との通信をサポートするための処理回路を含む。例えば、そうした処理回路は、処理動作並びに通信インターフェース関連機能の両方を実行するように構成される。こうした処理回路は、単一の集積回路、システム・オン・チップ等として実装することができる。
【００４７】
実施及び動作の別の例において、無線通信デバイス（例えば、ＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれか一方）は、他の無線通信デバイス（例えば、１つ又は複数のＷＤＥＶ１６０〜１６６及び１つ又は複数のＢＳ又はＡＰ１５０のいずれか他方）の１つ又は複数との通信をサポートするように構成された処理回路、通信インターフェース及びメモリを含む。
【００４８】
実施及び動作の例において、ＷＤＥＶ１６０は、ＯＰＲＦブラインド化操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成するように構成される。次に、ＷＤＥＶ１６０は、ブラインド化された値を、鍵管理システム（ＫＭＳ）サービスと関連付けられた別のコンピューティング・デバイス（例えば、ＷＤＥＶ１６４、及び／又はネットワーク・ハードウェア１５６を介する何らかの他のコンピューティング・デバイス）に伝送するように構成される。ＷＤＥＶ１６０は、ＫＭＳサービスと関連付けられた他のコンピューティング・デバイスから、ブラインド化された鍵を受け取るように構成される。ブラインド化された鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいたブラインド化された値の処理に基づいていることに留意されたい。幾つかの例において、このコンピューティング・デバイスは、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいて、ブラインド化された値を処理するように構成される。次に、ＷＤＥＶ１６０は、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、ブラインド化鍵に基づいて、ブラインド化された鍵を処理し、入力値と関連付けられた鍵を生成すするように構成される。幾つかの例において、ＷＤＥＶ１６０は、鍵に基づいてセキュア情報にアクセスする（例えば、通信システムを介して、ローカルに利用可能な及び／又は格納されるセキュア情報に基づいて、及び／又はその組み合わせ等に基づいて）するようにも構成される。
【００４９】
鍵管理システム（ＫＭＳ）に従うと、特にクラウド・ベースのシステムに基づいて動作するＫＭＳに従うと、通常のデータをクラウド内に格納するとき、特にそのデータにアクセスするのに用いられる暗号鍵のストレージに関して言えば、懸念、不確実性、信頼の欠如、及び／又は信用の欠如等が増大する状況があり得る。例えば、暗号化され得る何らかのデータは、個人情報、健康データ、財務データ、戦略プラン、競合情報、企業秘密、ビットコイン・ウォレット、顧客リスト、及び／又は他のタイプのデータのうちのいずれか１つ又は複数を含むことができる。こうしたデータは、それが秘密の、機密の、及び／又は高価値のものであるときに暗号化され、従って、暗号化されたデータのセキュリティは、そのデータにアクセスするために用いられる鍵のセキュリティに直接関連し、少なくとも部分的に依存する。
【００５０】
図２（Ａ）は、本発明の種々の実施形態による、ＫＭＳをサポートする１つ又は複数の通信システムの別の実施形態２０１を示す図である。この図は、どちらも同じ環境（例えば、クラウド・コンピューティング環境、クラウド・プロバイダ等として実装することができる１つ又は複数のネットワーク・セグメント１１６）内に実装されるクラウド・ストレージ・サービス２１０及びクラウド鍵管理システム（ＫＭＳ）サービス２２０と対話するように構成されたコンピューティング・デバイス１１０を示す。クラウド・ストレージ・サービス２１０は、種々のタイプの１又は複数のセキュア情報２１０ａ（例えば、鍵保護データ、ラップされたデータ等、もしくは他のセキュア情報又はその組み合わせ）を含むことができる。クラウドＫＭＳサービス２２０は、種々のタイプの１又は複数のセキュア情報２１０ａにアクセスするために、１つ又は複数のコンピューティング・デバイスと関連付けられたより多くのユーザの一人が使用することができる１つ又は複数の鍵２２０ａを含むことができる。
【００５１】
この実施において、同じクラウド・プロバイダが、クラウド・ストレージ・サービス２１０及びクラウドＫＭＳサービス２２０の両方のために用いられるとき、悪意のあるインサイダー又は不正なクラウド・プロバイダが、テナント・データにアクセスできることがある。従って、データのセキュリティを保証にするために、信用要件が最大にされる。例えば、両方のサービス（例えば、クラウド・ストレージ・サービス２１０及びクラウドＫＭＳサービス２２０）について同じプロバイダを用いる顧客は、プロバイダ及びその処理の点でそれらが完全な信頼性を有していることを要求する。
【００５２】
図２（Ｂ）は、本発明の種々の実施形態による、ＫＭＳをサポートする１つ又は複数の通信システムの別の実施形態２０２を示す図である。この図は、異なる環境内に別個に実装されるクラウド・ストレージ・サービス２１０及びクラウドＫＭＳサービス２２０（例えば、第１のクラウド・コンピューティング環境、クラウド・プロバイダ等として実装することができる１つ又は複数のネットワーク・セグメント１１６に基づいて実装されるクラウド・ストレージ・サービス２１０、及び第２のクラウド・コンピューティング環境、クラウド・プロバイダ等として実装することができる１つ又は複数のネットワーク・セグメント１１６ａに基づいたＫＭＳサービス２２０）と対話するように構成されたコンピューティング・デバイス１１０を示す。同じく上述のように、クラウド・ストレージ・サービス２１０は、種々のタイプの１又は複数のセキュア情報２１０ａ（例えば、鍵保護データ、ラップされたデータ等、もしくは他のセキュア情報又はその組み合わせ）を含むことができ、クラウドＫＭＳサービス２２０は、種々のタイプの１又は複数のセキュア情報２１０ａにアクセスするために、１つ又は複数のコンピューティング・デバイスと関連付けられたより多くのユーザの一人が使用できる１つ又は複数の鍵２２０ａを含むことができる。
【００５３】
この実施において、２つの別個の異なるクラウド・プロバイダがそれぞれ、クラウド・ストレージ・サービス２１０及びクラウドＫＭＳサービス２２０のために用いられるとき、全体のシステムがより複雑になることがあり、両立性のないアプリケーション・プログラム・インターフェース（ＡＰＩ）が存在する可能性があり得る。そうした特定の相互運用性問題及び他の問題が持ち上がることがある。例えば、顧客は、必ずしもいずれか１つの特定のプロバイダを完全に信用する必要はないが、この実施は、不幸なことに多数の相互運用性問題をもたらすことがある。例えば、２つのサービス間をインターフェース接続するためのＡＰＩ及びライブラリに両立性がないことがある。また、「サーバ側暗号化」（ＳＳＥ：Server Side Encryption）などの機能は、こうした実施では全く機能しない。
【００５４】
図３（Ａ）は、本発明の種々の実施形態による、ＫＭＳをサポートする１つ又は複数の通信システムの別の実施形態３０１を示す図である。この図は、テナント・プレミス３３０に実装することができクラウド・ストレージ・サービス３１０及び内部ＫＭＳサービス３２０ａと対話するように構成されたコンピューティング・デバイス１１０を示す。例えば、テナント・プレミス３３０は、コンピューティング・デバイス１１０から遠隔配置することができ、クラウド・コンピューティング環境、クラウド・プロバイダ等として実装することができる１つ又は複数のネットワーク・セグメント１１６を介してアクセス可能である。同じく他の実施形態及び例に関して上述したように、クラウド・ストレージ・サービス３１０は、種々のタイプの１又は複数のセキュア情報３１０ａ（例えば、鍵保護データ、ラップされたデータ等、もしくは他のセキュア情報又はその組み合わせ）を含むことができ、内部ＫＭＳサービス３２０は、種々のタイプの１又は複数のセキュア情報３１０ａにアクセスするために、１つ又は複数のコンピューティング・デバイスと関連付けられたより多くのユーザの一人が使用できる１つ又は複数の鍵３２０ｂを含むことができる。
【００５５】
この実施において、テナントがクラウド・ストレージ（例えば、クラウド・ストレージ・サービス３１０）を用いて内部ＫＭＳサービス３２０で動作するとき、顧客は、必ずしもクラウド・プロバイダを完全に信用する必要はないが、こうした実施は、それぞれのＫＭＳを管理するために、著しいプロセス、専門知識及び労力を必要とし得る。こうした実施は非常に費用がかかり得る。
【００５６】
例えば、この図は、その１つ又は複数の鍵のセキュリティを保護するために、クラウド・プロバイダを殆ど信用できない又は信用できないクラウドのユーザの実施を示す。例えば、そうしたユーザは、暗号化データを格納するために、クラウド・ストレージ・プロバイダを信用できるが、そのユーザは、その１つ又は複数の鍵を保持するクラウド・プロバイダを信用しない。この実施において、ユーザは必ずしもクラウド・プロバイダを信頼する必要はないが、実装は、非常に高価である、まれな専門知識、専用機器を必要とする、厄介な回復計画、信頼されるスタッフ及び厳格なポリシーを必要とするなどの様々な理由で、問題がある場合がある。これらがなければ、実際には、クラウドＫＭＳよりも信頼できず又はセキュアではない可能性が高い。
【００５７】
クラウド・ベースの技術に基づいたＫＭＳの多くのこうした実施は、単一のプロバイダに大きな信用を置くことを必要とすること、もしくはそれぞれのＫＭＳインフラストラクチャの保守を必要とすること又はその両方をすることを含む様々な理由に悩まされる。本開示は、クラウド・プロバイダにいかなる信用も求めず、テナント・プレミスにおけるＫＭＳインフラストラクチャも必要としないＫＭＳを提供することを含む、従来技術におけるそうした欠点と問題に対処する。本明細書で提示されるような新規な解決法は、ＫＭＳサービス・プロバイダに対する信用の要求を最小にする。例えば、１つ又は複数の鍵は、決して顧客プレミスから離れず、ＫＭＳサービス・プロバイダは、それらの１つ又は複数の鍵を知ることはできない。また、ＫＭＳプロバイダを認証することなく、誰も１つ又は複数の鍵にアクセスできない。さらに、本明細書で提示されるこうした新規な解決法は、ほぼ無限の計算作業を行う量子能力が出現したとしても、本明細書で提示されるような新規な実施は、ハッキング、侵入（invasive）プロセス等のターゲットになり得るとき、コンピューティング・テクノロジーにおけるこうした進歩に影響されないという点で、ポスト量子（post-quantum）セキュリティを提供する。例えば、本明細書で提示される新規な鍵アクセス・プロトコル手法は、量子コンピュータを用いるものを含む、無制限の計算リソースを用いる攻撃者から影響を受けない。
【００５８】
また、本明細書で提示される新規な解決法において、鍵のセキュリティは、通信が行われる１つ又は複数の通信チャネルのセキュリティに依存しない。例えば、幾つかの従来技術の手法は、セキュアな通信を達成するために、トランスポート層セキュリティ（ＴＬＳ）もしくは他の手段又はその両方に基づいて動作する。
【００５９】
さらに、本明細書で提示されるそうした新規な解決法は、１つ又は複数の鍵がセキュアなままであるという点で、セキュリティの永続をもたらす。例えば、ＫＭＳサービス・プロバイダが完全に漏洩される不幸なイベントにおいてさえ、１つ又は複数の鍵は、完全にセキュアなままである。幾つかの実施は、予測不能な鍵識別子（ｉｄ）（例えば、「第２の要因として鍵ｉｄ」を用いて）を要求するように実装され得ることに留意されたい。本明細書で提示されるこうした新規な解決法は、ＫＭＳサービス・プロバイダが格納することをユーザが望む１つ又は複数の鍵の使用又は暴露に関して、ＫＭＳサービス・プロバイダを十分かつ完全に信用するという要件をなくす。ユーザは、高度に利用可能／信用可能なシステムを提供するＫＭＳサービス・プロバイダを依然として求め得るが、１つ又は複数の鍵を使用又は暴露することに関してＫＭＳサービス・プロバイダを完全に信用するために、その同じＫＭＳサービス・プロバイダに対する信用は不要になる。
【００６０】
実施において、クラウドＫＭＳサービス・プロバイダのテナントがその鍵を有するプロバイダを信用するとき、テナントは、後で取り出すように鍵を格納すること、又はそれらをアンラップすることにより、動作することができる。どちらの場合も、クラウドＫＭＳサービス・プロバイダは、テナントの鍵を知ることになる。本明細書で提示されるそうした新規な解決法は、クラウドＫＭＳサービス・プロバイダがテナントの鍵を知ることはない手段を提供する。
【００６１】
図３（Ｂ）は、本発明の種々の実施形態による、紛失疑似ランダム関数（ＯＰＲＦ）に基づいてＫＭＳをサポートする１つ又は複数の通信システムの別の実施形態３０２を示す図である。ＯＰＲＦは、テナントが、クラウドＫＭＳプロバイダから鍵を取得することを可能にする。紛失性の特性は、プロバイダが、暗号的に、数学的に、明らかに鍵を知ること又は判断することができないことを保証する。この図に関して、本明細書に示される「＋」及び「−」演算は、それ自体が加算及び減算ではないことに留意されたい。これらの演算は、素数を法とするべき乗（exponentiation modulo a prime）、又は楕円曲線上の乗算、又は何らかの他の演算とすることができる。
【００６２】
ＯＰＲＦを考えると、ＯＰＲＦは、２つのパーティが、次のように関数Ｙを評価することを可能にする。
Ｙ＝ＯＰＲＦ（Ｋ，Ｘ）
ＯＰＲＦシークレットＫは「Ｂｏｂ」だけが知っており；Ａｌｉｃｅはそれを判断することができない。
出力Ｙ及び入力Ｘは「Ａｌｉｃｅ」だけが知っており；「Ｂｏｂ」は判断することができない。
紛失ＰＲＦは、理想的なクラウドＫＭＳを可能にする：
テナントは、“Ｘ”を「鍵ｉｄ」として使用し、“Ｙ”を鍵（ＤＥＫ又はＫＥＫ）として使用する。
ＯＰＲＦは、プロバイダが鍵について何も知らないことを保証する
プロバイダは、ＯＰＲＦシークレット“Ｋ”を保持し、“ＣＲＫ”として機能する。
【００６３】
ＯＰＲＦは、ブラインド化された値に対して（例えば、準同型暗号化された暗号文に対して）行われる鍵導出とみなすことができる。本明細書における特定の例は、準同型暗号化を用いて行われるＯＰＲＦブラインド化操作（及び、準同型復号を用いて行われるＯＰＲＦ非ブラインド化操作）に関して説明されるが、一般に、いずれのＯＰＲＦブラインド化操作／ＯＰＲＦ非ブラインド化操作も、ＯＰＲＦブラインド化操作／ＯＰＲＦ非ブラインド化操作を行うプロセスがクライアントに（例えば、「Ｂｏｂ」にではなく「Ａｌｉｃｅ」などの、ユーザ、コンピューティング・デバイス１１０に）知られるように使用することができる。そうしたＯＰＲＦブラインド化操作／ＯＰＲＦ非ブラインド化操作の１つの例は、準同型暗号化／準同型復号を含む。しかしながら、一般に、ＯＰＲＦブラインド化操作／ＯＰＲＦ非ブラインド化操作を行って、ＫＭＳサービスと関連付けられた他のコンピューティング・デバイス（例えば、サーバ／ＫＭＳサーバ１２１（「Ｂｏｂ」））に知られないブラインド化された値を生成することにより、任意の関数を使用することができる。例えば、任意の所望の関数、又は入力値のマッピングを使用して、未知の入力値（サーバ／ＫＭＳサーバ１２１（「Ｂｏｂ」）などの、ＫＭＳサービスと関連付けられた他のコンピューティング・デバイスに知られない）を生成することができる。そうすれば、クライアント（例えば、ユーザ、コンピューティング・デバイス１１０）は、その場合に実行されたＯＰＲＦブラインド化操作に基づいて適切なＯＰＲＦ非ブラインド化操作を実行する方法を知っている。
【００６４】
準同型暗号化を用いて行われるＯＰＲＦブラインド化操作に関して、クライアント（例えば、ユーザ、コンピューティング・デバイス１１０）は、準同型ワンタイムパッド暗号鍵を入力値に適用する。例えば、クライアントは、クライアントが鍵を導出したいと望む何らかの入力値で開始する。例えば、この入力値は、鍵ｉｄとすることができる。次に、クライアントは、ワンタイムパッド暗号鍵（例えば、準同型ワンタイムパッド暗号化）を用いて入力値を暗号化する。ワンタイムパッド暗号鍵は、この鍵の回復のためだけにランダムに生成され、後に捨てられる、又は捨てることができる（例えば、将来の使用のために保存されない）。
【００６５】
これは、準同型暗号化及びワンタイムパッドを用いて行われるＯＰＲＦブラインド化操作である。従って、暗号化された（又はブラインド化された）結果は、入力についての情報を全く明らかにしない。次に、この暗号文（ブラインド化された値）は、サーバ／ＫＭＳサービス１２１に送られる。サーバ／ＫＭＳサービス１２１は、ＯＰＲＦ鍵（例えば、顧客ルート鍵（ＣＲＫ）、幾つかの例では、ＯＰＲＦシークレット）を用いて、この暗号文に対する鍵導出関数を実行してそれをユーザに戻す。
【００６６】
暗号化の準同型特定のため、クライアント（例えば、ユーザ、コンピューティング・デバイス１１０）がサーバ／ＫＭＳサービス１２１からの結果を復号するとき、クライアントは、サーバが平文値に対してその鍵導出関数を直接実行したのと同じ値を取得することに気付く。この結果が、鍵と考えられる。結果として得られる鍵は、入力に適用された鍵導出関数（ＫＤＦ）（例えば、鍵の生成に用いられる決定性関数）と等しい。
【００６７】
クライアントが異なるランダムなブラインド化鍵を選択したとしても、生成される結果物としての鍵は同じになることに留意されたい。実際には、いずれの可能な入力値によっても、全ての可能なブラインド化された値が可能である。これは、サーバ及びいずれかの盗聴者も、サーバ／ＫＭＳサービス１２１に対して、有線、ネットワーク・セグメント、クラウド等上で見ているものから入力値又は導出された鍵についての情報を取得しないためである。
【００６８】
この形態の準同型暗号化は、極めて効率的かつ実際的な特別な形態であることに留意されたい。ハードウェア・セキュリティ・モジュール（ＨＳＭ）は、毎秒何万ものこうした演算を実行できるものとして引用されることにも留意されたい。ＣＰＵは、毎秒何十万以上もの実行をすることができる。
【００６９】
また、鍵は、「ＯＰＲＦ鍵」（例えば、ＯＰＲＦシークレット）と組み合わせられた「入力値」から導出されることにも留意されたい。ＯＰＲＦ鍵のホルダ、サーバ／ＫＭＳサービス１２１には、入力値も又は結果として得られる鍵も分からないことにも留意されたい。これは、「ブラインド化」のプロセスにより実施され、そこで、入力及び出力の両方が、情報内で、理論的な（量子セキュアな）方法でブラインド化され、入力及び出力は、ＫＭＳサービス、ハッカー又はＮＳＡのいずれに対しても、鍵についての情報をもたらさない。以下のステップは、このプロセス及びクライアント（例えば、ユーザ、コンピューティング・デバイス１１０）とサーバ／ＫＭＳサーバ１２１との間の交換をもたらすと見なすことができる。：
１．テナントは、ランダム鍵：Ｒを生成する
２．テナントは、ランダム鍵を用いて「鍵ｉｄ」を暗号化する：ＥＲ｛ｋｅｙ−ｉｄ｝
３．テナントは、暗号化された結果をクラウドＫＭＳプロバイダに送る
４．クラウドＫＭＳプロバイダは、それ自身の鍵：Ｐを用いて結果を暗号化する
５．クラウドＫＭＳプロバイダは、結果をテナントに返す：ＥＰ｛ＥＲ｛ｋｅｙ−ｉｄ｝｝
６．テナントは、そのランダム鍵Ｒを用いてそれを復号し、ＥＰ｛ｋｅｙ−ｉｄ｝を得る
【００７０】
幾つかの例において、コンピューティング・デバイス１１０（例えば、ユーザと関連付けられたようなクライアント）は、準同型暗号化に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成するように構成される。コンピューティング・デバイスは、通信システムを介して、ブラインド化された値を、鍵管理システム（ＫＭＳ）サービスと関連付けられた別のコンピューティング・デバイス（サーバ／ＫＭＳサービス１２１）に伝送するように構成される。コンピューティング・デバイスは、通信システムを介して、ＫＭＳサービスと関連付けられた他のコンピューティング・デバイス（サーバ／ＫＭＳサービス１２１）から、ブラインド化された鍵を受け取るように構成される。ブラインド化された鍵は、ＯＰＲＦシークレットを用いてＯＰＲＦに基づいたブラインド化された値の処理に基づいている。例えば、サーバ／ＫＭＳサービス１２１は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいてブラインド化された値を処理するように構成される。次に、コンピューティング・デバイス１１０は、準同型復号に従って、ブラインド化鍵に基づいて、ブラインド化された鍵を処理し、入力値と関連付けられた鍵を生成するように構成される。幾つかの例において、コンピューティング・デバイス１１０は、通信システムを介して、鍵に基づいてセキュア情報にアクセスするように構成される。
【００７１】
動作及び実施の例において、ひとたび鍵が生成されると、コンピューティング・デバイス１１０は、その鍵を用いて、１つ又は複数のネットワーク・セグメントに基づいた又はそれを介してアクセス可能なクラウド・ベースの技術内に格納されるセキュア情報にアクセスする。例えば、コンピューティング・デバイス１１０は、クラウド・プロバイダにより格納される暗号化データを要求し、そのクラウド・プロバイダにより格納されるその暗号化データを受け取り、次に鍵を用いてその暗号化データを復号する。
【００７２】
疑似ランダム関数（ＰＲＦ）（例えば、紛失（oblivious）でない）の考察に基づいて、紛失疑似ランダム関数（ＯＰＲＦ）をさらに理解することができる。疑似ランダム関数（ＰＲＦ）は、２つの入力：
１．ＰＲＦ鍵「Ｋ」、及び
２．任意のメッセージ「Ｍ」
をとる関数である。
【００７３】
これらの２つの入力から、ＰＲＦは、「疑似ランダム」出力を返す。これは、ランダム出力とは統計的に区別できない出力である。また、出力は、Ｋの知識なしに予測することはできない。これらの２つの特性は、ＰＲＦを鍵の導出に、つまり、何らかの上位レベルの「ルート」鍵からサブ鍵（sub-key）を作成するのに適したものにする。例えば、無制限のサブ鍵を、ＰＲＦから次のように計算することができる。
サブ鍵＿１＝ＰＲＦ（Ｋ，“１”）、サブ鍵＿２＝ＰＲＦ（Ｋ，“２”）、サブ鍵＿３＝ＰＲＦ（Ｋ，“３”），・・・，サブ鍵＿ｎ＝ＰＲＦ（Ｋ，“ｎ”）。
【００７４】
これは、事実上無制限の導出された鍵をサポートしながら単一の上位レベル又はルート鍵のみを持続させる必要があるとき、鍵の管理を簡単化することができる。
【００７５】
鍵管理システム（ＫＭＳ）において、ＫＭＳのユーザは、ＫＭＳと対話して、暗号鍵を取得することができる。ＫＭＳ要求者（例えば、コンピューティング・デバイス、コンピューティング・デバイスと関連付けられるようなユーザ等）とＫＭＳユニット（例えば、別のコンピューティング・デバイス、ＫＭＳサービス等）との間の動作の例は、次の通りである。：
１．鍵にアクセスしようとする要求者は、鍵アクセス要求（ＫＡＲ）をＫＭＳユニットに送り、要求は、
ａ．要求者識別子、
ｂ．ルート鍵識別子、
ｃ．サブ鍵識別子、
ｄ．認証情報（例えば、パスワード、トークン、チャレンジへの応答、署名、デジタル証明書等などの証明書）、及び／又は
ｅ．ＫＭＳユニットへのチャレンジ（例えば、ＫＭＳユニットがその識別又は演算の正しさを要求者に証明するための）、
のうちのいずれか１つ又は複数を含むことができる。
２．ＫＭＳユニットは、
ａ．要求者識別子について証明書が正しいことを保証する、及び／又は
ｂ．要求者に、所定のルート鍵識別子から導出された鍵にアクセスする権限が付与されていることを保証する、
のうちのいずれか１つ又は複数を含む要求の検証を実行する。
３．権限が付与されていない場合、ＫＭＳユニットはエラー応答を返し、失敗の監査ログを作成するか、又は他の是正措置を取ることができる。要求に権限が付与されている場合、ＫＭＳユニットは、次のステップに進む。
４．ＫＭＳユニットは、適切なルート鍵（要求内に示されるもの）を用いることにより、又はサブ鍵を計算するために、サブ鍵識別子と共に他の情報（要求者識別子など）から推論することにより、アクセス要求を処理する。例えば、ＰＲＦを用いてサブ鍵を導出するとき、ＫＭＳユニットは、サブ鍵Ｓを、Ｓ＝ＰＲＦ（ルート鍵，サブ鍵識別子）として計算することができる。ＫＭＳユニットは、成功裡のアクセス要求の監査ログを作成することができる。次に、ＫＭＳユニットは、次のステップに進む。
５．要求者によりチャレンジがＫＭＳユニットに提供された場合、ＫＭＳユニットは、チャレンジへの応答（例えば、質問、及び質問と比較して好ましい、その質問への応答）を生成する。
６．ＫＭＳユニットは、サブ鍵を含む応答、及び生成された場合にはチャレンジへの応答を要求者に返す。
７．要求者は、チャレンジ（与えらえた場合）への応答を検証し、それが有効である場合、サブ鍵の使用（例えば、暗号化又は復号操作を行うための）に進む。
【００７６】
このようにＰＲＦを用いるための１つの不都合な点は、ＫＭＳユニットが、ＰＲＦを計算するときに、要求者に返された全てのサブ鍵を知り、関数の入力及び出力が分かってしまうことである。これは、ＫＭＳサービスを、システム内の全ての要求者が使用する全ての鍵についての情報漏洩の中心点にしてしまう。
【００７７】
本明細書で提示されるこうした新規な解決法は、紛失疑似ランダム関数（ＯＰＲＦ）として知られる関数を適用する。これは、ＫＭＳが、要求され、返される鍵もしくはサブ鍵又はその両方を観察するのを可能にすることなく、ＫＭＳから、要求者による鍵のセキュア・アクセスを可能にすることができる。
【００７８】
ＯＰＲＦは、次のように機能する。これは２つの入力：
１．ＯＰＲＦ鍵“Ｋ”（例えば、ＯＰＲＦシークレット）
２．任意のメッセージ“Ｍ”（例えば、鍵ＩＤ、ラベル、ユーザ提供識別子等）
を取る。
【００７９】
これらの２つの入力から、ＯＰＲＦもまた疑似ランダム出力を返す。しかしながら、ＰＲＦとは異なり、ＯＰＲＦは、２つのパーティ（例えば、要求者及びＫＭＳ）によって計算される。第１のパーティは入力“Ｍ”を与える一方で、第２のパーティはＯＰＲＦ鍵“Ｋ”を与える。第１のパーティのみがＯＰＲＦの出力を受け取る（又は、知ることができる）。計算の過程で、第１のパーティは、“Ｋ”についての情報を知らない。非対称暗号化アルゴリズム、ＲＳＡ、ブラインド署名、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎべき乗（Diffie-Hellman exponentiation）、楕円曲線スカラ乗算、準同型暗号化などに基づくものを含むＯＰＲＦの複数の実施がある。ＯＰＲＦが操作する一般的な原理は、第１のパーティが、入力メッセージ“Ｍ”を、第２のパーティに送る前に第２のパーティにとって無意味な形に隠す(obscure）又は「ブラインド化する（blind）」というものである。次に、第２のパーティは、入力時に、ＯＰＲＦ鍵“Ｋ”と共に両方のブラインド化された入力“Ｂ”の両方をとり、最終出力ではない「ブラインド化された出力」を生成し、これを第２のパーティから第１のパーティに送る特定の関数で操作する。次に、第１のパーティは、オリジナルの入力を隠した方法の知識により、ブラインド化された出力からその操作の影響を取り消し、ＯＰＲＦ出力を回復する方法を決定することができる。ブラインド化の逆は、第１のパーティによって行われるので、第２のパーティは、ＯＰＲＦ出力を全く知らない。
【００８０】
ＯＰＲＦの特性及び上述したＫＭＳの設計を一緒にし、２つを併合して、従来技術において提供されるものと比べて優れたセキュリティ特性を有するＫＭＳを形成することができる。これは、ＰＲＦをＯＰＲＦと置き換え、要求者に要求の何らかの付加的な前処理と応答の何らかの後処理を実行させることにより行われる。ＯＰＲＦに基づいたＫＭＳとの対話についてのワークフローは、次の通りであり得る。：
１．要求者は、ＫＭＳユニットが使用するＯＰＲＦについての適切なブラインド化関数を用いることにより、例えばサブ鍵識別子など、鍵導出関数への入力の１つを隠す。これにより、ブラインド化された入力“Ｂ”がもたらされる。幾つかの例において、ブラインド化された鍵のサイズは、それに与えられる入力のサイズと同じである。例えば、入力の長さがＸビット又はバイトである場合、ブラインド化された鍵Ｘの長さもＸビット又はバイトである（ここで、Ｘは正の整数である）。
２．鍵にアクセスしようとする要求者は、紛失鍵アクセス要求（ＯＫＡＲ）をＫＭＳユニットに送り、要求は、
ａ．要求者識別子
ｂ．ルート鍵識別子（例えば、特定のＯＰＲＦシークレットなど、特定のＯＰＲＦ鍵を参照するための付加的な情報）、
ｃ．ブラインド化された入力（例えば、Ｂ＝ブラインド化関数（サブ鍵識別子））、
ｄ．認証情報（例えば、パスワード、トークン、チャレンジへの応答、署名、デジタル証明書等などの証明書）、及び／又は
ｅ．ＫＭＳユニットへのチャレンジ（ＫＭＳユニットがその識別又は操作の正しさを証明するための）、
のうちのいずれか１つ又は複数を含むことができる。
３．ＫＭＳユニットは、
ａ．要求者識別子について証明書が正しいことを保証する、及び／又は
ｂ．要求者に、所定のルート鍵識別子から導出された鍵にアクセスする権限が付与されていることを保証する、
のうちのいずれか１つ又は複数を含む要求の検証を実行する。
４．権限が付与されていない場合、ＫＭＳユニットはエラー応答を返し、失敗の監査ログを作成するか、又は他の是正措置を取ることができる。要求に権限が付与されている場合、ＫＭＳユニットは、次のステップに進む。
５．ＫＭＳユニットは、適切なルート鍵（要求内に示されるもの）を用いることにより、又は、ブラインド化されたサブ鍵を計算するために、ブラインド化された入力と共に他の情報（要求者識別子など）から推論することにより、アクセス要求を処理する。例えば、ＯＰＲＦを用いてブラインド化されたサブ鍵を導出するとき、ＫＭＳユニットは、そのブラインド化されたサブ鍵Ｓを、Ｓ＝ＯＰＲＦ（ルート鍵，Ｂ）として計算することができる。ＫＭＳユニットは、成功裡のアクセス要求の監査ログを作成することができる。ＫＭＳユニットは、次のステップに進む。
６．要求者によりチャレンジがＫＭＳユニットに提供された場合、ＫＭＳユニットは、チャレンジへの応答を生成する。
７．ＫＭＳユニットは、ブラインド化されたサブ鍵を含む応答、及び生成された場合にはチャレンジへの応答を要求者に返す。
８．要求者は、チャレンジ（与えらえた場合）への応答を検証し、それが有効である場合、適切な関数を用いてサブ鍵を非ブラインド化し（unblind）、ブラインド化されたサブ鍵を隠さず、ＯＰＲＦ出力を回復する。
９．要求者は、ＯＰＲＦ出力を鍵として使用し、又は鍵を導出し、次に、その鍵を用いて暗号化又は復号を実行することができる。
【００８１】
このように。ＫＭＳユニットはもはや鍵を知らない。ＫＭＳユニットが、オリジナルの非ブラインド化されたサブ鍵識別子を判断し、予測し、又は推測することができない場合、ＫＭＳユニットは、要求者が受け取る鍵を判断する能力をもたない。
【００８２】
図４（Ａ）は、本発明の種々の実施形態による、紛失性（obliviousness)を用いる鍵保護をサポートする１つ又は複数の通信システムの実施形態４０１を示す図である。サーバ４１０（例えば、暗号化データ４１０ａ及びデータ暗号化鍵（ＤＥＫ）識別子（ＩＤ）４１０ｂを格納するもののようなクラウド・ストレージ・サービス）、及び鍵保護インスタンス４２０（例えば、１つ又は複数の鍵４２０ａを格納するもののようなハードウェア・セキュリティ・モジュール（ＨＳＭ）４２０ｂ）である。サービス４１０は、ＤＥＫ  ＩＤをブラインド化して、Ｂ（ＤＥＫ＿ＩＤ）を生成する。次に、サービス４１０は、ＤＥＫ取得要求（ｇｅｔＤＥＫ（ＣＤＫ＿ＩＤ，Ｂ（ＤＥＫ＿ＩＤ）））を鍵保護インスタンス４２０に伝送する。鍵保護インスタンス４２０は、ｇｅｔＤＥＫ要求（ｇｅｔＤＥＫ（ＣＤＫ＿ＩＤ，Ｂ（ＤＥＫ＿ＩＤ）））を処理し、ブラインド化された鍵Ｂ（ＤＥＫ）を返す。
【００８３】
この実施において、サービス４１０（例えば、クラウド・ストレージ・サービス）と鍵保護インスタンス４２０（例えば、ハードウェア・セキュリティ・モジュール（ＨＳＭ））との間の交換により暴露されるデータ暗号化鍵（ＤＥＫ）についての情報はない。伝送中、種々のコンポーネント及び信号がインターセプトに対する脆弱性がある従来技術の手法とは異なる、この紛失実装アーキテクチャのセキュリティは、交換を通じて有用な情報が明らかにされないので、無限の計算能力を有する敵対者に対してセキュアなままである。このプロセスの間にインターセプトに対する脆弱性がある情報はない。
【００８４】
紛失性の耐量子（post-quantum）セキュリティを用いる場合、メッセージの交換は、攻撃者に情報を明らかにしない。本明細書で説明される新規な実装によりセキュリティが与えられた場合、実装時でさえ、トランスポート層セキュリティ（ＴＬＳ）の機密性が不必要にされることに留意されたい。鍵ｉｄが攻撃者に知られないと仮定すると、紛失鍵保護インスタンス４２０が漏洩しても、データ鍵を危険にさらさない。データ鍵（データ暗号化鍵（ＤＥＫ））は、サービス又は鍵を回復するユーザの境界内のみに存在し、利用可能である。サービス側の唯一の変化は、ラップされたＤＥＫを格納するのではなく、システムが単にＤＥＫ  ＩＤを格納することである。
【００８５】
図４（Ｂ）は、本発明の種々の実施形態による、ハードウェア・セキュリティ・モジュール（ＨＳＭ）の統合をサポートする１つ又は複数の通信システムの実施形態４０２を示す。ＯＰＲＦに従って使用される数学をサポートする既に実装されたＨＳＭは、本明細書で提示される新規な実施をサポートするように容易に構成することができる。例えば、楕円曲線演算（例えば、ＥＣ  Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）を用いて、本明細書で説明されるようなこうしたＯＰＲＦをサポートすることができる。
【００８６】
例えば、ＯＰＲＦの数学が既存のＨＳＭによって完全にサポートされるとき、顧客ルート鍵（ＣＲＫ）は、常にＨＳＭ内にあることができ、決してホストのメモリに暴露されない。
【００８７】
図を参照すると、アプリケーションＡＰＩ  ＤｅｒｉｖｅＫｅｙの動作は、ブラインド化がなされて、鍵保護インスタンス４２０（例えば、ＨＳＭ）を介してサービス側ＨＴＴＰ  ＲＥＳＴ  ＡＰＩに基づきサービス４１０（例えば、クラウド・ストレージ・サービス）を介して処理される、ブラインド化されたデータ暗号化鍵識別子Ｂ（ＤＥＫ）を生成する、データ暗号化鍵（ＤＥＫ）識別子（ＩＤ）（ＤＥＫ＿ＩＤ）に基づいて、クライアント４３０により、次のようにサポートされる。：
Ｂｌｉｎｄｅｄ（ＤＥＫ）又はＢ（ＤＥＫ）＝ＤｅｒｉｖｅＫｅｙ（ＣＲＫ＿ＩＤ，Ｂｌｉｎｄｅｄ（ＤＥＫ＿ＩＤ））。
【００８８】
この方法は２つの入力、すなわち顧客ルート鍵識別子ＣＲＫ＿ＩＤと、ブラインド化されたデータ暗号化鍵識別子、Ｂ（ＤＥＫ＿ＩＤ）とをとる。この方法は、ブラインド化されたデータ暗号化鍵、Ｂｌｉｎｄｅｄ（ＤＥＫ）又はＢ（ＤＥＫ）を返す。
【００８９】
クライアント側ＳＤＫ  ＡＰＩに関して、データ暗号化鍵（ＤＥＫ）は、次のように返される。
ＤＥＫ＝ＤｅｒｉｖｅＫｅｙ（ＣＲＫ＿ＩＤ，ＤＥＫ＿ＩＤ）。
【００９０】
この方法は、ＣＲＫ  ｉｄ及びＤＥＫ  ｉｄをとる。ソフトウェア開発キット（ＳＤＫ）コードは、全てのブラインド化及び非ブラインド化を内部で処理する。方法は、ＤＥＫを返す。
【００９１】
幾つかの例において、紛失性を特性として得るために、例えば、サーバの結果の何らかの後処理に続いて、サーバのＡＰＩを呼び出す前に、何らかのクライアント側の前処理を必要とすることがある。例えば、これは、ブラインド化及び非ブラインドを実行するために行うことができる。クライアント−ＳＤＫは、エンドユーザからのこの全てを隠し(hide）、ＣＲＫ及びＤＥＫ  ＩＤを利用する基本インターフェースを提示し、対応するＤＥＫを返す。
【００９２】
さらに、マルチテナンシは、異なるテナントが異なるＯＰＲＦ鍵（例えば、異なるＯＰＲＦシークレット）に対応する異なるＣＲＫ＿ＩＤを与えるようにもサポートすることができることに留意されたい。
【００９３】
また、代替的な、随意的な、もしくは付加的な又はその組み合わせのＲＥＳＴ（ＲＥＳＴｆｕｌ、（ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  ｓｔａｔｅ  ｔｒａｎｓｆｅｒ））ＡＰＩを、次のように使用できることにも留意されたい。：
（ＣＲＶＫ−証明書）＝ＧｅｔＲｏｏｔＶｅｒｉｆｉｃａｔｉｏｎＫｅｙ（ＣＲＫ＿ＩＤ）
【００９４】
この方法は、ＣＲＫ  ＩＤを利用し、ＣＲＫに対応する「顧客ルート検証鍵」（ＣＲＶＫ）についての証明書を返す。証明書は、デジタル署名によりＣＲＫＶをＣＲＫ＿ＩＤに結合する。ＣＲＶＫを用いて、返された鍵が正しく計算されることを証明することができる。
Ｂｌｉｎｄｅｄ（ＤＥＫ），Ｒｅｓｐｏｎｓｅ＝ＤｅｒｉｖｅＡｎｄＶｅｒｉｆｙＫｅｙ（ＣＲＫ＿ＩＤ，Ｂｌｉｎｄｅｄ（ＤＥＫ＿ＩＤ），Ｃｈａｌｌｅｎｇｅ）。
【００９５】
この方法は、３つの入力、すなわちＣＲＫ  ＩＤ、ブラインド化されたＤＥＫ  ＩＤ、及び特別に作成された「チャレンジ」をとる。この方法は、クライアントが、ブラインド化された鍵が正しく計算され、正しいＣＲＫを使用していることを証明することを可能にする。これにより、ＭＩＴＭ（中間デバイス等などの「ｍａｎ  ｉｎ  ｔｈｅ  ｍｉｄｄｌｅ」）攻撃、サーバ・エラー、不具合、及びメモリ破損から保護される。通常、こうした破損は、間違った鍵を用いる暗号化に基づいたデータ損失をもたらす。本明細書で提示されるこうした新規な解決法は、クライアントが、ＫＭＳが正しい鍵を提供したことを検証することを可能にし得る。
【００９６】
図４（Ｃ）は、本発明の種々の実施形態による、ＫＭＳに従って用いることができる鍵の階層の実施形態４０３を示す図である。この図は、上部の親レベルにおけるルート鍵と、下部の子レベルにおける開発、販売及び運営と、開発、顧客の下の子レベルにおけるロードマップ及び販売と、販売の下の子レベルにおけるリードと、運営の下の子レベルにおけるペイロールとを含む階層を含む。階層内のそれぞれの下位レベルは、１つ又は複数の上位レベルと関連付けられた鍵によるいずれかの暗号化に基づいている。これは、階層ビジネス事例、例えば、「ルート鍵」暗号化「開発鍵」暗号化「ロードマップ鍵」を可能にする。別の例において、「ルート鍵」暗号化「販売鍵」暗号化「リード鍵」。親レベル鍵へのアクセスは、下位レベルの子鍵へのアクセスを与える。系統内の鍵を直接知らないと、その系統内にない他の鍵にアクセスできない。例えば、「開発鍵」は、「ペイロール」へのアクセスを与えない。
【００９７】
鍵の階層の実装は、多数のレベルのラッピングを必要とすることに留意されたい。階層が深い場合、これは、潜在的に性能及びスケーリングの問題をもたらす。階層内の深さの各レベルについて、ＫＭＳは、データベースから別の鍵をインポートし、別のＨＳＭ動作を実行する必要があることがある。ＫＭＳのサービス及び動作に関する本明細書で提示されるようなこうした新規な解決法は、内部に１つのレベルのみを含む、又は内部にＮ個のレベルを含む（ここで、Ｎは、２より大きいかこれに等しい正の整数である）システムを含むいずれかのタイプの鍵の階層に適用することができ、適用可能である。
【００９８】
図５は、本発明の種々の実施形態による、１つ又は複数のコンピューティング・デバイスにより実行される方法５００の実施形態を示す図である。方法５００は、ステップ５１０において、ＯＰＲＦブラインド化操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成することにより、開始する。方法５００は、ステップ５２０において、（例えば、通信システムとインターフェース接続し、通信するように構成されたコンピューティング・デバイスのインターフェースを介して）ブラインド化された値を、鍵管理システム（ＫＭＳ）と関連付けられた別のコンピューティング・デバイスに伝送することにより、続行する。
【００９９】
次に、方法５００は、ステップ５３０において、（例えば、インターフェース及び通信システムを介して、ＫＭＳサービスと関連付けられた該別のコンピューティング・デバイスから）ブラインド化された鍵を受け取ることにより、動作する。ブラインド化された鍵は、ＯＰＲＦシークレットを用いる紛失疑似ランダム関数（ＯＰＲＦ）に基づいたブラインド化された値の処理に基づいていることに留意されたい。次に、方法５００は、ステップ５４０において、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、他の非ブラインド化操作等）に従って、ブラインド化鍵に基づいて、ブラインド化された鍵を処理し、入力値と関連付けられた鍵を生成する。
【０１００】
幾つかの例において、次に方法５００は、ステップ５５０において、鍵に基づいて、セキュア情報にアクセスする（例えば、インターフェース及び通信システムを介して、通信システムを介して、ローカルに利用可能な及び／又は格納されるセキュア情報に基づいて、及び／又はその組み合わせ等で）ことにより、動作する。例えば、セキュア情報は、鍵により保護されるセキュア・データ又は暗号化された別の鍵（例えば、ラップされた鍵を含むことができる。
【０１０１】
幾つかの例において、入力値は、他のコンピューティング・デバイスに知られない。また、ある特定の例において、入力値は、鍵と関連付けられた鍵識別子を含む。また、幾つかの例において、鍵は、他のコンピューティング・デバイスに知られない。さらに、ある特定の例において、鍵は、データ暗号化鍵（ＤＥＫ）又は鍵暗号化鍵（ＫＥＫ）を含む。ＯＰＲＦシークレットは、コンピューティング・デバイスに知られず、コンピューティング・デバイスと関連付けられた顧客ルート鍵（ＣＲＫ）に基づいている。
【０１０２】
本明細書に説明されるようなＯＰＲＦシークレットを用いる解決法に関して、疑似ランダム関数及び紛失疑似ランダム関数の出力は、制御不能であり、完全にランダムに見えることに留意されたい。幾つかの例において、これは、特定の構造、形式、又は特性（例えば、「構造化鍵」）を要求する鍵のタイプに関する問題を提示することがある。例えば、例えば、ＲＳＡ（Ｒｉｖｅｓｔ−Ｓｈａｍｉｒ−Ａｄｌｅｍａｎ）鍵は、互いに特定の関係を有する数のセットで構成される。同様に、楕円曲線鍵は、それが関連付けられる曲線により定められる特定の範囲上の数で構成される。ＯＰＲＦの出力は、鍵についての所望の特性又は要求される構造に合致するであろう出力を生成することは保証されない。所定の構造を有する鍵をサポートするために、ＯＰＲＦシークレット・ベースの鍵管理システムは、以下に説明されるような構造化鍵をサポートするように拡張することができる。
【０１０３】
ＯＰＲＦベースの鍵管理システムにより管理される各々の構造化鍵について、鍵管理システム（ＫＭＳ）は、
１．構造化鍵パラメータ（鍵のタイプ及びアルゴリズム（ＲＳＡ、ＤＨ、ＥｌＧａｍａｌ、楕円曲線等の１つ又は複数）、鍵のサイズ（２５６ビット、５１２ビット、１０２４ビット、２０４８ビット等）、係数、生成器、曲線パラメータ）
２．生成手順（ＯＰＲＦの出力、構造化鍵パラメータ、及び随意的暗号化パラメータ（存在する場合）から構造化鍵を生成するための決定論的アルゴリズム）
３．随意的暗号化パラメータ（ＯＰＲＦ出力から生成することができる鍵の下で暗号化された秘密情報又はパラメータを含むことができる）
を保持することになる。
【０１０４】
ＯＰＲＦベースのＫＭＳから構造化鍵にアクセスすると、鍵管理システムは、ＯＰＲＦ（疑似ランダムである）のブラインド化出力、並びに構造化鍵パラメータ、生成手順、及び随意的暗号化パラメータのブラインド化された出力を返すことになる。鍵の要求者は、ＫＭＳにより返される値を用いて、以下のように構造化鍵を生成する。
１．要求者は、ＯＰＲＦの出力を取得する（例えば、ＫＭＳから返されたブラインド化ＯＰＲＦ出力を非ブラインド化することにより）、
２．要求者は、
ａ．構造化鍵パラメータ、及び／又は、
ｂ．暗号化パラメータが返されると、暗号化パラメータを復号し、復号したパラメータを取得するために、ＯＰＲＦ出力から鍵をさらに導出することにより、
３．パラメータの完全なセット及びＯＰＲＦ出力を用いて、返された「一般的手順」に従い、構造化鍵を生成する。
【０１０５】
生成手順は、ＯＰＲＦ出力を特定の長さに拡張し（例えば、マスク生成関数を用いて）、次にＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ又は楕円曲線パラメータに特有の素数係数を法として結果を利用するといった、何か非常に単純なものであることもあり、又はＯＰＲＦ出力を用いて疑似ランダム数生成器（ＰＲＮＧ）をシードし、ＰＲＮＧを用いて２つの大きな素数を生成し、これらの２つの大きな素数を用いてＲＳＡ係数を生成し、次に、ＲＡＳ係数及び大きい素数からＲＳＡ鍵の対を生成するといった、何か複雑なものであることもある。しかしながら、このようなプロセスは、ＲＳＡ鍵及び他の構造化鍵を生成するとき、リソース集約型であり、費用と時間がかかることがある。これらの場合、暗号化パラメータを利用することが、より効率的であり得る。例えば、暗号化パラメータは、ＲＳＡ鍵を導出できる２つの大きい素数とすることができ、又は構造化鍵自体であることさえあり得る。この場合、生成手順は、ＯＰＲＦ出力から対称暗号化鍵を導出する方法を指定し、次に、この鍵を用いて暗号化パラメータを復号し、これらの暗号化パラメータから、構造化鍵を生成することができる。
【０１０６】
図６は、本発明の種々の実施形態による、１つ又は複数のコンピューティング・デバイスにより実行される方法６００の別の実施形態を示す図である。方法６００は、ステップ６１０において、ＯＰＲＦブラインド化操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、ブラインド化鍵に基づいて、非対称鍵の対の第１の鍵又は第２の鍵と関連付けられた入力値を処理し、ブラインド化された値を生成することにより、開始する。方法６００は、ステップ６２０において、（例えば、通信システムとインターフェース接続し、通信するように構成されたコンピューティング・デバイスのインターフェースを介して）ブラインド化された値を、鍵管理システム（ＫＭＳ）と関連付けられた別のコンピューティング・デバイスに伝送することにより、続行する。
【０１０７】
方法６００は、ステップ６３０において、（例えば、通信システムを介して、該別のコンピューティング・デバイスから）ＫＭＳサービスと関連付けられたブラインド化された鍵、構造化鍵パラメータ、及び非対称鍵の対の第１の鍵又は第２の鍵の生成を指定する決定性関数を受け取ることにより、開始する。
【０１０８】
方法６００は、ステップ６３８において、構造化鍵パラメータ及び非対称鍵の対の第１の鍵又は第２の鍵の生成を指定する決定性関数に基づいて、ブラインド化された鍵を処理し、別のブラインド化された鍵を生成することにより、続行する。次に、方法６００は、ステップ６４０において、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、ブラインド化鍵に基づいて、他のブラインド化された鍵を処理し、入力値と関連付けられた非対称鍵の対の第１の鍵又は第２の鍵を生成することにより、動作する。
【０１０９】
幾つかの例において、次に方法６００は、ステップ６５０において、鍵に基づいて、セキュア情報にアクセスする（例えば、インターフェース及び通信システムを介して、ローカルに利用可能な情報に基づいて、及び／又はその組み合わせ等で）ことにより、動作する。例えば、セキュア情報は、鍵により保護されるセキュア・データ、又は暗号化された別の鍵（例えば、ラップされた鍵）を含むことができる。
【０１１０】
図７は、本発明の種々の実施形態による、１つ又は複数のコンピューティング・デバイスにより実行される方法７００の別の実施形態を示す図である。方法７００は、ステップ７１０において、ＯＰＲＦブラインド化操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、ブラインド化鍵に基づいて、非対称鍵の対の第１の鍵又は第２の鍵と関連付けられた入力値を処理し、ブラインド化された値を生成することにより、開始する。方法７００は、ステップ７２０において、（例えば、通信システムとインターフェース接続し、通信するように構成されたコンピューティング・デバイスのインターフェースを介して）ブラインド化された値を、鍵管理システム（ＫＭＳ）と関連付けられた別のコンピューティング・デバイスに伝送することにより、続行する。
【０１１１】
方法７００は、ステップ７３０において、（例えば、通信システムを介して、該別のコンピューティング・デバイスから）ＫＭＳサービスと関連付けられたブラインド化された鍵、構造化鍵パラメータ、及び非対称鍵の対の第１の鍵又は第２の鍵の生成を指定する決定性関数を受け取ることにより、開始する。
【０１１２】
方法７００は、ステップ７３２において、ブラインド化された鍵を処理し、別の鍵を生成することにより、続行する。方法７００は、ステップ７３４において、復号に従って、該別の鍵に基づいて、暗号化された構造化鍵パラメータを処理し、構造化鍵パラメータを生成することにより、動作する。
【０１１３】
方法７００は、ステップ７３８において、構造化鍵パラメータ及び非対称鍵の対の第１の鍵又は第２の鍵の生成を指定する決定性関数に基づいてブラインド化された鍵を処理し、別のブラインド化された値を生成することにより、続行する。次に、方法７００は、ステップ７４０において、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、ブラインド化鍵に基づいて、他のブラインド化された鍵を処理し、入力値と関連付けられた非対称鍵の対の第１の鍵又は第２の鍵を生成することにより、動作する。
【０１１４】
幾つかの例において、次に方法７００は、ステップ７５０において、鍵に基づいて、セキュア情報にアクセスすること（例えば、インターフェース及び通信システムを介して、ローカルに利用可能な情報に基づいて、及び／又はその組み合わせ等で）により、動作する。例えば、セキュア情報は、鍵により保護されるセキュア・データ、又は暗号化された別の鍵（例えば、ラップされた鍵）を含むことができる。これは、鍵を用いてセキュア情報を処理することを含むことができる。例えば、セキュア情報は、鍵に基づいてアクセスすることができる（例えば、セキュア情報は、通信システム内の１つ又は複数の他のデバイスにおいて遠隔格納され、インターフェース及び通信システムを介してセキュア情報にアクセスする）。代替的に、これは、鍵を用いてデータを暗号化すること、もしくは鍵を用いて暗号化されたデータを復号すること又はその両方を行うことを含むことができる。一般に、セキュア情報に関連した動作に従って、鍵を用いて種々の動作のいずれかを行うことができる。
【０１１５】
全ての鍵管理システムを悩ます一般的な問題は、提供される鍵についての完全性及び真正性の問題である。つまり、要求者が鍵管理システムから鍵を取得した場合、要求者は、取得した鍵が実際に正しいものであることをどのように確信できるのであろうか。これは、無効な鍵が返され、要求者に使用される場合、それはデータ損失につながり得るので、極めて重要な問題である。例えば、要求者が無効鍵を用いてデータを暗号化し、将来、要求者がその無効鍵を取得できない場合、その鍵を用いて暗号化したいずれのデータも回復することができない。
【０１１６】
しかしながら、多くのＯＰＲＦ関数の数学は、要求者に対して高信頼度、真正性及び提供される入力についてのＯＰＲＦの出力の正しさを主張することができる検証の形を可能にし、それに対応してのＯＰＲＦ出力から導出されたあらゆる鍵を、正当及び真正なものとみなすことができる。これは、ＯＰＲＦベースのＫＭＳにより提供される鍵材料の偶発的な及び意図した鍵の破損の両方を保護することができる。
【０１１７】
ＯＰＲＦベースのＫＭＳから回復した鍵を確認するための特定の方法は、基礎をなすＯＰＲＦに依存する。例えば、ＯＰＲＦを実施するためのＲＳＡブラインド署名を用いる場合、ＯＰＲＦベースのＫＭＳは、ブラインド化されたＯＰＲＦ出力の計算においてこれが使用するＲＳＡ秘密鍵を保持する。要求者が、ＫＭＳサービスにより用いられる秘密鍵に対する対応する公開鍵を知っている場合、要求者は、所定の入力及び公開鍵が与えられた場合には出力に対するＲＳＡ署名検証操作を行うことによって、ブラインド化又は非ブラインド化されたＯＰＲＦ出力のいずれかを検証することができる。他方、ＯＰＲＦが、ＯＰＲＦを実施するためにＤｉｆｆｉｅ−Ｈｅｌｌｍａｎべき乗又は楕円曲線点乗算を用いる場合、要求者は、（対応するＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ又は楕円曲線公開鍵「ｇ＾ｘ  ｍｏｄ  Ｐ」の知識を用いて）所定の鍵回復操作のための「チャレンジ」を構築することができる。ＯＲＰＦベースのＫＭＳサービスは、要求者が有効として容認するチャレンジへの有効な「応答」を、わずかな確率でしか計算することができない。応答が有効であると判断されると、要求者は、高い信頼性をもって、ＯＰＲＦ出力が正しく計算されたと結論付けることができる。
【０１１８】
鍵を回復し、その正しさを検証するための要求者のプロセスは次の通りである。
１．ＯＰＲＦベースのＫＭＳにより使用されるＯＰＲＦ「秘密鍵」についての対応する「公開鍵」を判断する
２．要求者は、
ａ．検証されたデジタル証明書からそれを抽出する
ｂ．信頼できるソースからそれを取得する
ｃ．セキュアな又は認証されたチャネル上でそれを受け取る
ｄ．秘密ＯＰＲＦ鍵をＫＭＳに送り、公開鍵を格納する前に、公開鍵及び秘密鍵の両方を生成する
のうちの何れか１つ又は複数のような何らかの方法を用いて公開鍵が正しいことを検証する。
３．要求者は、紛失鍵アクセス要求（ＯＫＡＲ）を構築し、ＫＭＳに送る（「鍵管理システムにおいて紛失疑似ランダム関数を用いる」に記載されるように）
４．ＯＰＲＦ公開鍵を用いて直接ＯＰＲＦ出力の検証を可能にするＯＰＲＤを用いる場合、要求書は、下のステップ７に進む。
５．「チャレンジ」が生成され、ＫＭＳに送られることを要求するＯＰＲＦを用いる場合、要求者は、チャレンジを生成し、最初の要求（ステップ３）においてそれを含むか、又はＯＰＲＦ入力値の代わりにチャレンジ値を用いて別個のＯＫＡＲを送る。
６．要求者は、チャレンジへの応答が、ステップ３における応答から取得されたＯＰＲＦ入力及びＯＰＲＦ出力と好都合に比較するかどうかを判断する。
７．検証が、ＯＰＲＦ出力が正しいことを示唆する場合、ＯＰＲＦ出力を用いて、鍵を導出し、この鍵を要求者が使用することができ、他の場合には、是正措置がとられる（ステップ８において）。
８．検証手順が、ＯＰＲＦは出力が正しくないことを示唆する場合、是正措置がとられる。これらは、
ａ．いずれかの回復された又は導出された鍵を出力したＯＰＲＦを廃棄する
ｂ．回復において別の試みを実行する（潜在的に異なるＫＭＳユニットに対して）
ｃ．ＫＭＳサービスにおけるどのコンポーネント又はサブ・コンポーネントが失敗しているか又は正しくない値を導入しているかを識別するための操作
のうちの少なくとも１つを含む。
【０１１９】
図８は、本発明の種々の実施形態による、１つ又は複数のコンピューティング・デバイスにより実行される方法８００の別の実施形態を示す図である。方法８００は、ステップ８１０において、ＯＰＲＦブラインド操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、別のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、紛失鍵アクセス要求（ＯＫＡＲ）を含む別のブラインド化された値を生成することにより、開始する。方法８００は、ステップ８２０において、（例えば、通信システムを介して）ＯＫＡＲを含む該別のブラインド化された値を、ＫＭＳサービスと関連付けられた別のコンピューティング・デバイスに伝送することにより、続行する。
【０１２０】
次に、方法８００は、ステップ８３０において、（通信システムを介して、ＫＭＳサービスと関連付けられた該別のコンピューティング・デバイスから）別のブラインド化された鍵を受け取ることにより、動作する。他のブラインド化された鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいた他のブラインド化された鍵の処理に基づいていることに留意されたい。
【０１２１】
次に、方法８００は、ステップ８４０において、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、他のブラインド化鍵に基づいて、別のブラインド化された鍵を処理し、別の入力値と関連付けられた非対称鍵の公開−秘密鍵の対の秘密鍵を生成することにより、続行する。次に、方法８００は、ステップ８５０において、非対称鍵の公開−秘密鍵の対の公開鍵に基づいて非対称鍵の公開−秘密鍵の対の秘密鍵を処理し、非対称鍵の公開−秘密鍵の対の秘密鍵の正しさを検証することにより、動作する。
【０１２２】
図９は、本発明の種々の実施形態による、１つ又は複数のコンピューティング・デバイスにより実行される方法９００の別の実施形態を示す図である。方法９００は、ステップ９１０において、ＯＰＲＦブラインド操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、第１の他のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた入力値を処理し、第１の紛失鍵アクセス要求（ＯＫＡＲ）を含む第１の他のブラインド化された値を生成することにより、開始する。方法９００は、ステップ９１２において、ＯＰＲＦブラインド操作（例えば、準同型暗号化、１つ又は複数の他のブラインド化操作等）に従って、第２の他のブラインド化鍵に基づいて、チャレンジ値を処理し、第２のＯＫＡＲを含む第２の他のブラインド化された値を生成することにより、続行する。
【０１２３】
方法９００は、ステップ９２０において、（例えば、インターフェース及び通信システムを介して）第１のＯＫＡＲを含む第１の他のブラインド化された値及び第２のＯＫＡＲを含む第２の他のブラインド化された値を、ＫＭＳサービスと関連付けられた他のコンピューティング・デバイスに伝送することにより、続行する。
【０１２４】
次に方法９００は、ステップ９３０において、（通信システムを介して、ＫＭＳサービスと関連付けられた該別のコンピューティング・デバイスから）第１の他のブラインド化された鍵を受け取ることにより、動作する。第１の他のブラインド化された鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいた第１の他のブラインド化された値の処理に基づいていることに留意されたい。
【０１２５】
方法９００はまた、ステップ９３２において、（例えば、通信システムを介して、ＫＭＳサービスと関連付けられた他のコンピューティング・デバイスから）第２の他のブラインド化された鍵を受け取ることによっても、動作する。第２の他のブラインド化された鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいた第２の他のブラインド化された値の処理に基づいていることに留意されたい。
【０１２６】
方法９００は、ステップ９４２において、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、第２の他のブラインド化鍵に基づいて、第２の他のブラインド化された鍵を処理し、チャレンジ値と関連付けられた他のコンピューティング・デバイスからの応答を生成することにより、続行する。方法９００は、ステップ９４４において、チャレンジ値と関連付けられた該別のコンピューティング・デバイスからの応答がチャレンジ値と比較して好ましいかどうかを判断することにより、続行する。
【０１２７】
チャレンジ値と関連付けられた他のコンピューティング・デバイスからの応答がチャレンジ値と比較して好ましいとの判断（ステップ９４６）に基づいて、方法９００は、ＯＰＲＦ非ブラインド化操作（例えば、準同型復号、１つ又は複数の他の非ブラインド化操作等）に従って、第１の他のブラインド化鍵に基づいて、第１の他のブラインド化された鍵を処理し、別の入力値と関連付けられた非対称鍵の公開−秘密鍵の対の秘密鍵を生成することにより、続行し、ステップ９４６に分岐する。
【０１２８】
代替的に、チャレンジ値と関連付けられた他のコンピューティング・デバイスからの応答がチャレンジ値と比較して好ましいとの判断（ステップ９４６）に基づいて、方法９００は、続行し、終了に分岐するか、又は続行する。
【０１２９】
代替的に、チャレンジ値と関連付けられた他のコンピューティング・デバイスからの応答がチャレンジ値と比較して好ましいとの判断（ステップ９４６）に基づいて、方法９００は、１つ又は複数の操作を行う（例えば、１つ又は複数の是正措置を行う）ことにより、続行し、ステップ９４８に分岐する。
【０１３０】
図１０は、本発明の種々の実施形態によるクラウド・コンピューティング環境１０００を示す。図１０は、例証的クラウド・コンピューティング環境５０を提示する。示されるように、クラウド・コンピューティング環境５０は、例えば、携帯情報端末（ＰＤＡ）又は携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、もしくは自動車コンピュータ・システム５４Ｎ又はその組み合わせ等といった、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信できる１つ又は複数のクラウド・コンピューティング・ノード１０を含む。ノード１０は、互いに通信することができる。これらのノードは、後述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、又はこれらの組み合わせなど、１つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる（図示せず）。これにより、クラウド・コンピューティング環境５０が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、もしくはソフトウェア又はその組み合わせを提供することが可能になる。図１０に示されるコンピューティング・デバイス５４Ａ〜Ｎのタイプは単に例示であることを意図し、コンピューティング・ノード１０及びクラウド・コンピューティング環境５０は、任意のタイプのネットワーク及び／又はネットワーク・アドレス指定可能な接続上で（例えば、ウェブ・ブラウザを用いて）、任意のタイプのコンピュータ化されたデバイスと通信できることを理解されたい。
【０１３１】
本開示はクラウド・コンピューティングについての詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在既知の又は後で開発される他のいずれかのタイプのコンピューティング環境と共に実施することができる。
【０１３２】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、及び少なくとも４つのデプロイメント・モデルを含むことができる。
【０１３３】
特徴は、以下の通りである。
オンデマンド・セルフサービス：クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
リソース・プール化：プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないという点で、位置とは独立しているといえるが、より抽象化レベルの高い位置（例えば、国、州、又はデータセンタ）を特定できる場合がある。
迅速な弾力性：機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングして素早くスケール・アウトし、迅速にリリースして素早くスケール・インさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。
計測されるサービス：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【０１３４】
サービス・モデルは以下の通りである。
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ（例えば、ウェブ・ベースの電子メール）などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイするために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、配備されたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアを配備及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント（例えば、ホストのファイアウォール）選択の限定された制御を有する。
【０１３５】
デプロイメント・モデルは以下の通りである。
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
コミュニティ・クラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項（例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術（例えば、クラウド間の負荷分散のためのクラウド・バースティング）によって結び付けられる２つ以上のクラウド（プライベート、コミュニティ、又はパブリック）の混成物である。
【０１３６】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【０１３７】
図１１は、本発明の種々の実施形態による抽象化モデル層１１００を示す。ここで図１１を参照すると、クラウド・コンピューティング環境５０（図１０）によって提供される機能抽象化層のセットが示される。図１１に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。示されるように、以下の層及び対応する機能が提供される。
【０１３８】
ハードウェア及びソフトウェア層６０は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム６１と、ＲＩＳＣ（Reduced Instruction Set Computer（縮小命令セット・コンピュータ）アーキテクチャ・ベースのサーバ６２と、サーバ６３と、ブレードサーバ６４と、ストレージ・デバイス６５と、ネットワーク及びネットワーク・コンポーネント６６と、が含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア６７と、データベース・ソフトウェア６８とが含まれる。幾つかの実施形態において、１つ又は複数のハードウェア・コンポーネントは、図１２のコンピューティング・デバイス１２０１を用いることにより実装することができる。
【０１３９】
仮想化層７０は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ７１、仮想ストレージ７２、仮想プライベート・ネットワークを含む仮想ネットワーク７３、仮想アプリケーション及びオペレーティング・システム７４、並びに仮想クライアント７５を提供することができる。
【０１４０】
一例において、管理層８０は、以下で説明される機能を提供することができる。リソース・プロビジョニング８１は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定８２は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例においては、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル８３は、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理８４は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント（Service Level Agreement、ＳＬＡ）の計画及び履行８５は、ＳＬＡに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【０１４１】
ワークロード層９０は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例として、マッピング及びナビゲーション９１、ソフトウェア開発及びライフサイクル管理９２、仮想教室教育配信９３、データ分析処理９４、トランザクション処理９５、並びにセキュリティ、暗号化及び鍵管理関連処理及び動作９６が挙げられる。
【０１４２】
図１２は、本発明の種々の実施形態によるコンピューティング・デバイスのブロック図１２００を示す。図１２は、コンピューティング・デバイス１２０１のコンポーネントのブロック図を示し、これを用いて、クラウド・コンピューティング・ノード１０の一部又全て、図１０のコンピューティング・デバイス５４Ａ〜Ｎの一部又全てを実装すること、もしくは本発明の実施形態による本明細書に説明される他のコンピューティング・デバイスを実装すること又はその両方を行うことができる。図１２は、１つの実装の例証を提供するに過ぎず、異なる実施形態を実施することができる環境に関する何らかの制限を意味するものではないことを理解されたい。
【０１４３】
コンピューティング・デバイス１２０１は、全てが通信ファブリック１２１８上で相互接続される、１つ又は複数のプロセッサ１２０２、１つ又は複数のコンピュータ可読ＲＡＭ１２０４、１つ又は複数のコンピュータ可読ＲＯＭ１２０６、１つ又は複数のコンピュータ可読ストレージ媒体１２０８、デバイス・ドライバ１２１２、読み取り／書き込みドライブ又はインターフェース１２１４、及びネットワーク・アダプタ又はインターフェース１２１６を含むことができる。通信ファブリック１２１８は、プロセッサ（マイクロプロセッサ、通信及びネットワーク・プロセッサ等のような）、システム・メモリ、周辺機器、及びシステム内の他のいずれかのハードウェア・コンポーネントの間でデータもしくは制御情報又はその両方を送るように設計された任意のアーキテクチャを有するように実装することができる。
【０１４４】
１つ又は複数のオペレーティング・システム１２１０及び／又は図１１のネットワーク・アプリケーション・サーバ・ソフトウェア６７及びデータベース・ソフトウェア６８などのアプリケーション・プログラム１２１１は、それぞれのＲＡＭ１２０４（典型的には、キャッシュ・メモリを含む）の１つ又は複数を介して、プロセッサ１２０２の１つ又は複数によって実行するために、コンピュータ可読ストレージ媒体１２０８の１つ又は複数に格納される。示される実施形態において、コンピュータ可読ストレージ媒体１２０８の各々は、内部ハード・ドライブの磁気ディスク・ストレージ・デバイス、ＣＤ−ＲＯＭ、ＤＶＤ、メモリ・スティック、磁気テープ、磁気ディスク、光ディスク、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、フラッシュ・メモリなどの半導体ストレージ・デバイス、又は本発明の実施形態による、コンピュータ・プログラム及びデジタル情報を格納することができる任意の他のコンピュータ可読ストレージ・デバイスとすることができる。
【０１４５】
コンピューティング・デバイス１２０１は、１つ又は複数の携帯型コンピュータ可読ストレージ媒体１２２６との間で読み取り及び書き込みを行うＲ／Ｗドライブ又はインターフェース１２１４を含むこともできる。コンピューティング・デバイス１２０１上のアプリケーション・プログラム１２１１は、携帯型コンピュータ可読ストレージ媒体１２２６の１つ又は複数に格納し、それぞれのＲ／Ｗドライブ又はインターフェース１２１４を介して読み取り、それぞれのコンピュータ可読ストレージ媒体１２０８内にロードすることができる。
【０１４６】
コンピューティング・デバイス１２０１は、ＴＣＰ／ＩＰアダプタ・カード又は無線通信アダプタなどのネットワーク・アダプタ又はインターフェース１２１６を含むこともできる。コンピューティング・デバイス５４Ａ〜Ｎ上のアプリケーション・プロ１２１１は、ネットワーク（例えば、インターネット、ローカル・エリア・ネットワーク又は広域ネットワーク又は無線ネットワーク）及びネットワーク・アダプタ又はインターフェース１２１６を介して、外部コンピュータ又は外部ストレージ・デバイスからコンピューティング・デバイスにダウンロードすることができる。ネットワーク・アダプタ又はインターフェース１２１６から、プログラムをコンピュータ可読ストレージ媒体１２０８にロードすることができる。ネットワークは、銅線、光ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ及びエッジ・サーバを含むことができる。
【０１４７】
コンピューティング・デバイスに１２０１は、ディスプレイ画面１２２０、キーボード又はキーパッド１２２２、及びコンピュータ・マウス又はタッチパッド１２２４を含むこともできる。デバイス・ドライバ１２１２は、イメージングのためにディスプレイ画面１２２０に、キーボード又はキーパッド１２２２に、コンピュータ・マウス又はタッチパッド１２２４に、及び／又はモジュール数字の入力及びユーザ選択の圧力感知のためにディスプレイ画面１２２０にインターフェース接続する。デバイス・ドライバ１２１２、Ｒ／Ｗドライブ又はインターフェース１２１４、及びネットワーク・アダプタ又はインターフェース１２１６は、コンピュータ可読ストレージ媒体１２０８もしくはＲＯＭ１２０６又はその両方に格納されるハードウェア及びソフトウェアを含むことができる。
【０１４８】
本明細書で使用できる場合、「実質的に（substantially）」及び「約（approximately）」という用語は、その対応する用語もしくは項目間の相関性又はその両方について業界で受け入れられる許容範囲を与える。そのような業界で受け入れられる許容範囲は、１パーセント未満から５０パーセントまでに及び、これらに限定されるものではないが、成分値、集積回路プロセス変動、温度変動、立ち上がり及び立ち下がり時間、もしくは熱雑音又はその組み合わせに対応する。そのような項目間の相関性は、数パーセントの差から大規模な差に及ぶ。同じく本明細書で使用できる場合、「〜のように構成された（configured to）」、「〜に動作可能に結合された（operably coupled to）」、「〜に結合された（coupled to）」、及び／又は「結合（coupling）」という用語は、項目間の直接結合、及び／又は介在する項目を介する項目間の間接結合を含み（例えば、項目は、これらに限定されるものではないが、コンポーネント、要素、回路、もしくはモジュール又はその組み合わせを含む）、ここで、間接結合の例については、介在する項目は、信号の情報を変更しないが、その電流レベル、電圧レベル、もしくは電力レベル又はその組み合わせを調整することができる。さらに本明細書で使用できる場合、推論結合（inferred coupling）（すなわち、１つの要素が別の要素に推論によって結合される）は、「〜に結合される」と同じように２つの項目間の直接及び間接結合を含む。さらに本明細書で使用できる場合、「〜のように構成された」、「〜のように動作可能」、「〜に結合される」又は「〜に動作可能に結合された」という用語は、項目が、アクティブにされたときに、１つ又は複数の対応する機能を実行するための電力接続、入力、出力等のうちの１つ又は複数を含むことを示し、１つ又は複数の他の項目に推論結合することをさらに含むことができる。さらに本明細書で使用できる場合、「〜と関連付けられた（associated with）」という用語は、別個の項目、及び／又は別の項目内に埋め込まれている１つの項目の直接及び／又は間接結合を含む。
【０１４９】
本明細書で使用できる場合、「比較して好ましい（compares favorably）」という用語は、２つ又はそれより多い項目、信号等の間の比較が望ましい関係を与えることを示す。例えば、望ましい関係が、信号１が信号２より大きい強さを有することである場合、信号１の強さが信号２の強さよりも大きいとき、又は信号２の強さが信号１の強さよりも小さいときに、好ましい比較が達成され得る。本明細書で使用し得る場合、「比較して好ましくない（compares unfavorably）」という用語は、２つ又はそれより多い項目、信号等の間の比較が所望の関係を与えないことを示す。
【０１５０】
また本明細書で使用できる場合、「処理モジュール」、「処理回路」、「プロセッサ」もしくは「処理ユニット」又はその組み合わせの用語は、単一の処理デバイス又は複数の処理デバイスとすることができる。そのような処理デバイスは、マイクロプロセッサ、マイクロコントローラ、デジタル・シグナル・プロセッサ、マイクロコンピュータ、中央処理ユニット、フィールド・プログラマブル・ゲート・アレイ、プログラマブル論理デバイス、状態機械、論理回路、アナログ回路、デジタル回路、及び／又は回路のハード・コーディング及び／又は操作命令に基づいて信号（アナログ及び／又はデジタル）を操作する任意のデバイスとすることができる。処理モジュール、モジュール、処理回路、及び／又は処理ユニットは、メモリ及び／又は集積メモリ要素とすることができ、又はそれらをさらに含むことができ、それらは、単一のメモリ・デバイス、複数のメモリ・デバイス、及び／又は別の処理モジュール、モジュール、処理回路、及び／又は処理ユニットの組み込み回路とすることができる。そのようなメモリ・デバイスは、読み出し専用メモリ、ランダム・アクセス・メモリ、揮発性メモリ、不揮発性メモリ、スタティック・メモリ、ダイナミック・メモリ、フラッシュ・メモリ、キャッシュ・メモリ、及び／又はデジタル情報を格納する任意のデバイスとすることができる。処理モジュール、モジュール、処理回路、及び／又は処理ユニットが１つより多い処理デバイスを含む場合、処理デバイスは、中央に配置されてよく（例えば、有線及び／又は無線のバス構造を介して一緒に直接結合される）、又は分散して配置され得る（例えば、ローカル・エリア・ネットワー及び／又は広域ネットワークを介した間接結合によるクラウド・コンピューティング）ことに留意されたい。さらに、処理モジュール、モジュール、処理回路、及び／又は処理ユニットが、状態機械、アナログ回路、デジタル回路、及び／又は論理回路を介してその機能の１つ又は複数を実装する場合、対応する操作命令を格納するメモリ及び／又はメモリ要素は、状態機械、アナログ回路、デジタル回路、及び／又は論理回路を含む回路の内部又は外部に組み込まれ得ることに留意されたい。さらに、図の１つ又は複数に示されるステップ及び／又は機能の少なくとも幾つかに対応するハード・コード命令及び／又は操作命令を、メモリ要素が格納し、処理モジュール、モジュール、処理回路、及び／又は処理ユニットが実行することができることにも留意されたい。そのようなメモリ・デバイス又はメモリ要素は、製造品内に含まれ得る。
【０１５１】
１つ又は複数の実施形態は、指定された機能及びその関係の性能を示す方法ステップを用いて上記に説明されている。これらの機能的な基本構成要素）及び方法ステップの範囲及びシーケンスは、説明の便宜のために本明細書では任意に定められている。指定された機能及び関係が適切に実施される限り、代替的な範囲及びシーケンスを定めることもできる。従って、いずれのそのような代替的な範囲又はシーケンスも、特許請求の範囲の範囲及び趣旨内にある。さらに、これらの機能的基本構成要素の範囲は、説明の便宜のために任意に定められている。特定の重要な機能が適切に実施される限り、代替的な範囲を定めることができる。同様に、フロー図のブロックは、特定の重要な機能を示すために本明細書では任意に定められ得る。
【０１５２】
使用される範囲において、フロー図のブロックの範囲及びシーケンスは、別様に定められてもよく、依然として特定の重要な機能を実施することができる。従って、機能的基本構成要素及びフロー図のブロックの両方のそうした代替的定義は、特許請求の範囲の範囲及び趣旨内にある。当業者であれば、本明細書における機能的基本構成要素、及び他の例示的なブロック、モジュール、及びコンポーネントは、例示されたように実装することができ、又は個別部品、特定用途向け集積回路、適切なソフトウェアなどを実行するプロセッサ、又はこれらの任意の組み合わせによって実装することができることも認識するであろう。
【０１５３】
さらに、フロー図は、「開始（start）」もしくは「続行(continue）」又はその両方の表示を含むことができる。「開始」及び「続行」表示は、提示されたステップを他のルーチンに任意に組み込むことができること又は別様に他のルーチンと関連して用いることできることを反映する。この文脈において、「開始」は、提示された最初のステップの始まりを示すものであり、具体的に示されていない他の活動がその前に先立っていてもよい。さらに、「続行」表示は、提示されたステップを複数回実行することができること、及び／又は具体的に示されていない他の活動がその後に続き得ることを反映する。さらに、フロー図は、ステップの特定の順序を示すが、因果律が維持されるという条件で、他の順序も同様に可能である。
【０１５４】
１つ又は複数の実施形態は、本明細書において、１つ又は複数の態様、１つ又は複数の特徴、１つ又は複数の概念、もしくは１つ又は複数の例又はその組み合わせを示すために使用されている。装置、製品、機械、もしくはプロセス又その組み合わせの物理的実施形態は、本明細書で論じられる実施形態の１つ又は複数を参照して説明される態様、特徴、概念、例等の１つ又は複数を含むことができる。さらに、図ごとに、実施形態は、同じ又は異なる参照番号を使用することができる同じ又は類似した名前の機能、ステップ、モジュール等を組み込むことができ、従って、それらの機能、ステップ、モジュール等は、同じ又は類似した機能、ステップ、モジュール等であってもよく、又は異なるものであってもよい。
【０１５５】
特に記述されていない限り、本明細書に提示された図面のいずれかの図における要素への、要素からの、及び／又は要素間の信号は、アナログ又はデジタル、連続時間又は離散時間、及びシングルエンド又は差動とすることができる。例えば、信号経路がシングルエンド経路として示されている場合、それは差動信号経路も表す。同様に、信号経路が差動経路として示されている場合、それはシングルエンド信号経路も表す。１つ又は複数の特定のアーキテクチャが本明細書に説明されるが、当業者により認識されるように、明確に示されていない１つ又は複数のデータ・バス、要素間の直接接続、及び／又は他の要素間の間接結合を使用する他のアーキテクチャが同様に実装されてもよい。
【０１５６】
「モジュール」という用語が、本発明の１つ又は複数の実施形態の説明において使用される。モジュールは、プロセッサもしくは他の処理デバイス、又は動作命令を格納するメモリを含むことができる、又はこれと関連して動作することができる他のハードウェアなどのデバイスを介して１つ又は複数の機能を実施する。モジュールは、ソフトウェア及び／又はファームウェアと独立して及び／又は関連して動作することができる。本明細書で使用される場合、モジュールは、１つ又は複数のサブ・モジュールを含むことができ、サブ・モジュールの各々は、１つ又は複数のモジュールとすることができる。
【０１５７】
本発明は、統合のいずれかの可能な技術的詳細レベルにおける、システム、方法もしくはコンピュータ・プログラム製品又はその組み合わせとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【０１５８】
本明細書においてさらに使用できるように、コンピュータ可読メモリは、１つ又は複数のメモリ要素を含む。メモリ要素は、別個のメモリ・デバイス、複数のメモリ・デバイス、又はメモリ・デバイス内のメモリ位置の集合とすることができる。このようなメモリ・デバイスは、読出し専用メモリ、ランダム・アクセス・メモリ、揮発性メモリ、不揮発性メモリ、スタティック、ダイナミック・メモリ、フラッシュ・メモリ、キャッシュ・メモリ、及び／又はデジタル情報を格納する任意のデバイスとすることができる。メモリ・デバイスは、ソリッド・ステート・メモリ、ハードドライブ・メモリ、クラウド・メモリ、サム・ドライブ、サーバ・メモリ、コンピューティング・デバイス・メモリ、もしくはデジタル情報を格納するための他の物理媒体の形態又はその組み合わせとすることができる。
【０１５９】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【０１６０】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくは無線ネットワーク又はその組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ又はその組み合わせを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体に格納する。
【０１６１】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、及び、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コード又はオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して、電子回路を個別化することができる。
【０１６２】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【０１６３】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又はその両方の１つ又は複数のブロック内で指定された機能／動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、もしくは他のデバイス又はその組み合わせを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又はその両方の１つ又は複数のブロックにおいて指定された機能／動作の態様を実施する命令を含む製品を含むようにすることもできる。
【０１６４】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生産し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図又はその両方の１つ又は複数のブロックにおいて指定された機能／動作を実行するためのプロセスを提供するようにすることもできる。
【０１６５】
図面内のフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【０１６６】
１つ又は複数の実施形態の種々の機能及び特徴の特定の組み合わせを本明細書において明示的に説明したが、これらの特徴及び機能のその他の組み合わせも同様に可能である。本開示は、本明細書で開示される特定の例に限定されず、これらの他の組み合わせを明示的に組み入れる。
【図１】
2021516901.tif 000003
【図２】
2021516901.tif 000004
【図３】
2021516901.tif 000005
【図４】
2021516901.tif 000006
【図５】
2021516901.tif 000007
【図６】
2021516901.tif 000008
【図７】
2021516901.tif 000009
【図８】
2021516901.tif 000010
【図９】
2021516901.tif 000011
【図１０】
2021516901.tif 000012
【図１１】
2021516901.tif 000013
【図１２】
2021516901.tif 000014
【手続補正書】
【提出日】令和2年9月24日(2020.9.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信システムとインターフェース接続し、通信するように構成されたインターフェースと、
動作命令を格納するメモリと、
前記インターフェース及び前記メモリに動作可能に結合された処理回路と、
を含み、前記処理回路は、
紛失疑似ランダム関数（ＯＰＲＦ）ブラインド化操作に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成することと、
前記通信システムを介して、前記ブラインド化された値を、鍵管理システム（ＫＭＳ）サービスと関連付けられた別のコンピューティング・デバイスに伝送することと、
前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、ブラインド化された鍵を受け取ることであって、前記ブラインド化された鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいた前記ブラインド化された値の処理に基づいている、受け取ることと、
ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記ブラインド化された鍵を処理し、前記入力値と関連付けられた前記鍵を生成することと、
前記鍵に基づいて、セキュア情報にアクセスすることと、
を行うための前記動作命令を実行するように構成された、コンピューティング・デバイス。
【請求項２】
前記入力値は、前記別のコンピューティング・デバイスに知られず、前記鍵と関連付けられた鍵識別子を含み、
前記鍵は、前記別のコンピューティング・デバイスに知られず、データ暗号化鍵（ＤＥＫ）又は鍵暗号化鍵（ＫＥＫ）を含み、
前記ＯＰＲＦシークレットは、前記コンピューティング・デバイスに知られず、前記コンピューティング・デバイスと関連付けられた顧客ルート鍵（ＣＲＫ）に基づいている、
請求項１に記載のコンピューティング・デバイス。
【請求項３】
前記鍵は非対称鍵の対の第１の鍵又は第２の鍵を含み、前記処理回路はさらに、
前記通信システムを介して、前記別のコンピューティング・デバイスから、前記ＫＭＳサービスと関連付けられた前記ブラインド化された鍵、構造化鍵パラメータ、及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する決定性関数を受け取ることと、
前記構造化鍵パラメータ及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する前記決定性関数に基づいて前記ブラインド化された鍵を処理し、別のブラインド化された鍵を生成することと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記入力値と関連付けられた前記非対称鍵の対の前記第１の鍵又は前記第２の鍵を生成することと、
を行うための前記動作命令を実行するように構成された、請求項１又は請求項２に記載のコンピューティング・デバイス。
【請求項４】
前記鍵は非対称鍵の対の第１の鍵又は第２の鍵を含み、前記処理回路はさらに、
前記通信システムを介して、前記別のコンピューティング・デバイスから、記ＫＭＳサービスと関連付けられた前記ブラインド化された鍵、暗号化された構造化鍵パラメータ、及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する決定性関数を受け取ることと、
前記ブラインド化された鍵を処理し、別の鍵を生成することと、
復号に従って、前記別の鍵に基づいて、前記暗号化された構造化鍵パラメータを処理し、構造化鍵パラメータを生成することと、
前記構造化鍵パラメータ及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する前記決定性関数に基づいて、前記ブラインド化された鍵を処理し、別のブラインド化された鍵を生成することと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記入力値と関連付けられた前記非対称鍵の対の前記第１の鍵又は前記第２の鍵を生成することと、
を行うための前記動作命令を実行するように構成された、請求項１又は請求項２に記載のコンピューティング・デバイス。
【請求項５】
前記処理回路はさらに、
前記ＯＰＲＦブラインド化操作に従って、別のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、紛失鍵アクセス要求（ＯＫＡＲ）を含む別のブラインド化された値を生成することと、
前記通信システムを介して、前記ＯＫＡＲを含む前記別のブラインド化された値を、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスに伝送することと、
前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、別のブラインド化された鍵を受け取ることであって、前記別のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記別のブラインド化された値の処理に基づいている、受け取ることと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記別のブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記別の入力値と関連付けられた前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を生成することと、
前記非対称鍵の公開−秘密鍵の対の公開鍵に基づいて、前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を処理し、前記非対称鍵の前記公開−秘密鍵の対の前記秘密鍵の正当性を検証することと、
を行うための前記動作命令を実行するように構成される、請求項１又は請求項２に記載のコンピューティング・デバイス。
【請求項６】
前記処理回路はさらに、
前記ＯＰＲＦブラインド化操作に従って、第１の他のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、第１の紛失鍵アクセス要求（ＯＫＡＲ）を含む第１の他のブラインド化された値を生成することと、
前記ＯＰＲＦブラインド化操作に従って、第２の他のブラインド化鍵に基づいて、チャレンジ値を処理し、第２のＯＫＡＲを含む第２の他のブラインド化された値を生成することと、
前記通信システムを介して、前記第１のＯＫＡＲを含む前記第１の他のブラインド化された値及び前記第２のＯＫＡＲを含む前記第２の他のブラインド化された値を、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスに伝送することと、
前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、第１の他のブラインド化された鍵を受け取ることであって、前記第１の他のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記第１の他のブラインド化された値の処理に基づいている、受け取ることと、
前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、第２の他のブラインド化された鍵を受け取ることであって、前記第２の他のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記第２の他のブラインド化された値の処理に基づいている、受け取ることと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記第２の他のブラインド化鍵に基づいて、前記第２の他のブラインド化された鍵を処理し、前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの応答を生成することと、
前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの前記応答が前記チャレンジ値と比較して好ましいかどうかを判断することと、
前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの前記応答が前記チャレンジ値と比較して好ましいとの判断に基づいて、前記ＯＰＲＦ非ブラインド化操作に従って、前記第１の他のブラインド化鍵に基づいて、前記第１の他のブラインド化された鍵を処理し、前記別の入力値と関連付けられた前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を生成することと、
を行うための前記動作命令を実行するように構成される、請求項１に記載のコンピューティング・デバイス。
【請求項７】
前記コンピューティング・デバイスは、無線スマートフォン、携帯電話、ラップトップ、携帯情報端末、タブレット、パーソナル・コンピュータ（ＰＣ）、ワークステーション、又はビデオ・ゲーム・デバイスを含む、又は
前記別のコンピューティング・デバイスは、ハードウェア・セキュリティ・モジュール（ＨＳＭ）を含む、
のうちの少なくとも１つである、請求項１から請求項６までのいずれかに記載のコンピューティング・デバイス。
【請求項８】
前記通信システムは、無線通信システム、有線通信システム、非公開イントラネット・システム、公開インターネット・システム、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）、衛星通信システム、光ファイバ通信システム、又はモバイル通信システムのうちの少なくとも１つを含む、請求項１から請求項７までのいずれかに記載のコンピューティング・デバイス。
【請求項９】
コンピューティング・デバイスにより実行される方法であって、
紛失疑似ランダム関数（ＯＰＲＦ）ブラインド化操作に従って、ブラインド化鍵に基づいて、鍵と関連付けられた入力値を処理し、ブラインド化された値を生成することと、
通信システムとインターフェース接続し、通信するように構成された前記コンピューティング・デバイスのインターフェースを介して、前記ブラインド化された値を、鍵管理システム（ＫＭＳ）サービスと関連付けられた別のコンピューティング・デバイスに伝送することと、
前記インターフェース及び前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、ブラインド化された鍵を受け取ることであって、前記ブラインド化された鍵は、ＯＰＲＦシークレットを用いるＯＰＲＦに基づいた前記ブラインド化された値の処理に基づいている、受け取ることと、
ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記ブラインド化された鍵を処理し、前記入力値と関連付けられた前記鍵を生成することと、
前記鍵に基づいて、セキュア情報にアクセスすることと、
を含む、方法。
【請求項１０】
前記入力値は、前記別のコンピューティング・デバイスに知られず、前記鍵と関連付けられた鍵識別子を含み、
前記鍵は、前記別のコンピューティング・デバイスに知られず、データ暗号化鍵（ＤＥＫ）又は鍵暗号化鍵（ＫＥＫ）を含み、
前記ＯＰＲＦシークレットは、前記コンピューティング・デバイスに知られず、前記コンピューティング・デバイスと関連付けられた顧客ルート鍵（ＣＲＫ）に基づいている、請求項９に記載の方法。
【請求項１１】
前記鍵は非対称鍵の対の第１の鍵又は第２の鍵を含み、
前記インターフェース及び前記通信システムを介して、前記別のコンピューティング・デバイスから、前記ＫＭＳサービスと関連付けられた前記ブラインド化された鍵、構造化鍵パラメータ、及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する決定性関数を受け取ることと、
前記構造化鍵パラメータ及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する前記決定性関数に基づいて前記ブラインド化された鍵を処理し、別のブラインド化された鍵を生成することと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記入力値と関連付けられた前記非対称鍵の対の前記第１の鍵又は前記第２の鍵を生成することと、
をさらに含む、請求項９又は請求項１０に記載の方法。
【請求項１２】
前記鍵は非対称鍵の対の第１の鍵又は第２の鍵を含み、
前記インターフェース及び前記通信システムを介して、前記別のコンピューティング・デバイスから、前記ＫＭＳサービスと関連付けられた前記ブラインド化された鍵、暗号化された構造化鍵パラメータ、及び前記非対称鍵の対の前記第１の鍵又は前記第２の鍵の生成を指定する決定性関数を受け取ることと、
前記ブラインド化された鍵を処理し、別の鍵を生成することと、
復号に従って、前記別の鍵に基づいて、前記暗号化された構造化鍵パラメータを処理し、構造化鍵パラメータを生成することと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記ブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記入力値と関連付けられた前記非対称鍵の対の前記第１の鍵又は前記第２の鍵を生成することと、
をさらに含む、請求項９又は請求項１０に記載の方法。
【請求項１３】
前記ＯＰＲＦブラインド化操作に従って、別のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、紛失鍵アクセス要求（ＯＫＡＲ）を含む別のブラインド化された値を生成することと、
前記インターフェース及び通信システムを介して、前記ＯＫＡＲを含む前記別のブラインド化された値を、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスに伝送することと、
前記インターフェース及び前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、別のブラインド化された鍵を受け取ることであって、前記別のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記別のブラインド化された値の処理に基づいている、受け取ることと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記別のブラインド化鍵に基づいて、前記別のブラインド化された鍵を処理し、前記別の入力値と関連付けられた前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を生成することと、
前記非対称鍵の公開−秘密鍵の対の公開鍵に基づいて、前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を処理し、前記非対称鍵の前記公開−秘密鍵の対の前記秘密鍵の正当性を検証することと、
をさらに含む、請求項９又は請求項１０に記載の方法。
【請求項１４】
前記ＯＰＲＦブラインド化操作に従って、第１の他のブラインド化鍵に基づいて、非対称鍵の公開−秘密鍵の対の秘密鍵と関連付けられた別の入力値を処理し、第１の紛失鍵アクセス要求（ＯＫＡＲ）を含む第１の他のブラインド化された値を生成することと、
前記ＯＰＲＦブラインド化操作に従って、第２の他のブラインド化鍵に基づいて、チャレンジ値を処理し、第２のＯＫＡＲを含む第２の他のブラインド化された値を生成することと、
前記インターフェース及び前記通信システムを介して、前記第１のＯＫＡＲを含む前記第１の他のブラインド化された値及び前記第２のＯＫＡＲを含む前記第２の他のブラインド化された値を、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスに伝送することと、
前記インターフェース及び前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、第１の他のブラインド化された鍵を受け取ることであって、前記第１の他のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記第１の他のブラインド化された値の処理に基づいている、受け取ることと、
前記インターフェース及び前記通信システムを介して、前記ＫＭＳサービスと関連付けられた前記別のコンピューティング・デバイスから、第２の他のブラインド化された鍵を受け取ることであって、前記第２の他のブラインド化された鍵は、前記ＯＰＲＦシークレットを用いる前記ＯＰＲＦに基づいた前記第２の他のブラインド化された値の処理に基づいている、受け取ることと、
前記ＯＰＲＦ非ブラインド化操作に従って、前記第２の他のブラインド化鍵に基づいて、前記第２の他のブラインド化された鍵を処理し、前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの応答を生成することと、
前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの前記応答が前記チャレンジ値と比較して好ましいかどうかを判断することと、
前記チャレンジ値と関連付けられた前記別のコンピューティング・デバイスからの前記応答が前記チャレンジ値と比較して好ましいとの判断に基づいて、前記ＯＰＲＦ非ブラインド化操作に従って、前記第１の他のブラインド化鍵に基づいて、前記第１の他のブラインド化された鍵を処理し、前記別の入力値と関連付けられた前記非対称鍵の公開−秘密鍵の対の前記秘密鍵を生成することと、
をさらに含む、請求項９に記載の方法。
【請求項１５】
前記コンピューティング・デバイスは、無線スマートフォン、携帯電話、ラップトップ、携帯情報端末、タブレット、パーソナル・コンピュータ（ＰＣ）、ワークステーション、又はビデオ・ゲーム・デバイスを含む、又は
前記別のコンピューティング・デバイスは、ハードウェア・セキュリティ・モジュール（ＨＳＭ）を含む、
のうちの少なくとも１つである、請求項９に記載の方法。
【国際調査報告】
2021516901.tif 000015
2021516901.tif 000016