(57)【要約】【課題】セキュアな環境内のツール用のセキュアなアクセス管理のための方法、システム、およびコンピュータ・プログラム製品を提供する。【解決手段】ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムがアクセスされる。仮想ファイル・システムにおいて、セキュアな環境内に記憶された暗号化ファイルが取得され、ファイルはユーザの公開鍵を使用して暗号化される。仮想ファイル・システムにおける暗号化ファイルの読み込み動作が傍受され、ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、暗号化ファイルはセキュアな接続上でセキュアな環境の外部のユーザ・システム上のクライアントに送信される。次に復号化ファイルは仮想ファイル・システムで受信され、ユーザが要求されたユーザ・コマンドを実行できるようにする。【選択図】図１
2021500782.tif 000002
【特許請求の範囲】
【請求項１】
セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ実装方法であって、前記セキュアな環境はセキュアな境界を有し、前記セキュアな環境内でサーバで実行される前記方法は、
ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、前記セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることと、
前記仮想ファイル・システムにおいて前記セキュアな環境に記憶される暗号化ファイルを取得することであって、前記ファイルは重要なデータを保持し、前記ユーザの公開鍵を使用して暗号化される、前記取得することと、
プロセッサによって、前記仮想ファイル・システムにおける前記暗号化ファイルの読み込み動作を傍受し、前記ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、前記暗号化ファイルをセキュアな接続上で前記セキュアな環境の外部の前記ユーザ・システムにおけるクライアントに送信することと、
前記プロセッサによって、前記仮想ファイル・システムにおいて前記復号化ファイルを受信して、前記ユーザが前記要求されたユーザ・コマンドを実行できるようにすることと
を含む、コンピュータ実装方法。
【請求項２】
前記仮想ファイル・システムはそれぞれのユーザ・セッションごとに生成されるか、またはユーザを意識した中央仮想ファイル・システムであり、またユーザ空間内に仮想ファイル・システムを作成するためにコンピュータ・オペレーティング・システム用のソフトウェア・インターフェースによって提供される、請求項１に記載の方法。
【請求項３】
前記暗号化ファイルの前記読み込み動作を実行するために、前記セキュアな環境の外部の前記ユーザ・システムから前記ユーザ・コマンドを受信することであって、前記ユーザ・コマンドは前記コマンドが対象とするツールから前記サーバに向けられる、前記受信すること
をさらに含む、請求項１に記載の方法。
【請求項４】
前記セキュアな環境内に記憶されたアクセス権にしたがって前記ユーザのアクセス権を検証することであって、前記暗号化ファイル用の前記アクセス権は前記暗号化ファイルに関連付けて記憶されアクセスされる、前記検証すること
をさらに含む、請求項１に記載の方法。
【請求項５】
前記セキュアな環境内の複数のツール用の暗号化ファイルの中央リポジトリ内の暗号化ファイルを記憶することであって、前記暗号化ファイルは前記ツールのユーザの公開鍵で暗号化される、前記記憶すること
をさらに含む、請求項１に記載の方法。
【請求項６】
前記ユーザ・セッションに先立って、ユーザ用に暗号化ファイルを中央リポジトリから前記仮想ファイル・システムにダウンロードすること
をさらに含む、請求項５に記載の方法。
【請求項７】
ツールへの前記ユーザ・コマンドに応答して、前記中央リポジトリから前記仮想ファイル・システムへの暗号化ファイルを同期し、前記ツールによるリダイレクトによって前記暗号化ファイルを配置すること
をさらに含む、請求項５に記載の方法。
【請求項８】
セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品はそれによってプログラム・コードを具現化したコンピュータ可読記録媒体を備え、前記プログラム・コードは、
ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、前記セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることと、
前記仮想ファイル・システムにおいて前記セキュアな環境に記憶される暗号化ファイルを取得することであって、前記ファイルは重要なデータを保持し、前記ユーザの公開鍵を使用して暗号化される、前記取得することと、
前記仮想ファイル・システムにおける前記暗号化ファイルの読み込み動作を傍受し、前記ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、前記暗号化ファイルをセキュアな接続上で前記セキュアな環境の外部の前記ユーザ・システムにおけるクライアントに送信することと、
前記仮想ファイル・システムにおいて前記復号化ファイルを受信して、前記ユーザが前記要求されたユーザ・コマンドを実行できるようにすることと
のための、プログラミング命令を含む、コンピュータ・プログラム製品。
【請求項９】
前記仮想ファイル・システムはそれぞれのユーザ・セッションごとに生成されるか、またはユーザを意識した中央仮想ファイル・システムであり、またユーザ空間内に仮想ファイル・システムを作成するためにコンピュータ・オペレーティング・システム用のソフトウェア・インターフェースによって提供される、請求項８に記載のコンピュータ・プログラム製品。
【請求項１０】
前記プログラム・コードは、
前記暗号化ファイルの前記読み込み動作を実行するために、前記セキュアな環境の外部の前記ユーザ・システムから前記ユーザ・コマンドを受信することであって、前記ユーザ・コマンドは前記コマンドが対象とするツールから前記サーバに向けられる、前記受信すること
のためのプログラミング命令をさらに含む、請求項８に記載のコンピュータ・プログラム製品。
【請求項１１】
前記プログラム・コードは、
前記セキュアな環境内に記憶されたアクセス権にしたがって前記ユーザのアクセス権を検証することであって、前記暗号化ファイル用の前記アクセス権は前記暗号化ファイルに関連付けて記憶されアクセスされる、前記検証すること
のためのプログラミング命令をさらに含む、請求項８に記載のコンピュータ・プログラム製品。
【請求項１２】
前記プログラム・コードは、
前記セキュアな環境内の複数のツール用の暗号化ファイルの中央リポジトリ内の暗号化ファイルを記憶することであって、前記暗号化ファイルは前記ツールのユーザの公開鍵で暗号化される、前記記憶すること
のためのプログラミング命令をさらに含む、請求項８に記載のコンピュータ・プログラム製品。
【請求項１３】
前記プログラム・コードは、
前記ユーザ・セッションに先立って、ユーザ用に暗号化ファイルを中央リポジトリから前記仮想ファイル・システムにダウンロードすること
のためのプログラミング命令をさらに含む、請求項１２に記載のコンピュータ・プログラム製品。
【請求項１４】
前記プログラム・コードは、
ツールへの前記ユーザ・コマンドに応答して、前記中央リポジトリから前記仮想ファイル・システムへの暗号化ファイルを同期し、前記ツールによるリダイレクトによって前記暗号化ファイルを配置すること
のためのプログラミング命令をさらに含む、請求項１２に記載のコンピュータ・プログラム製品。
【請求項１５】
システムであって、
セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ・プログラムを記憶するためのメモリ・ユニットと、
前記メモリ・ユニットに結合されるプロセッサと
を備え、前記プロセッサは、
ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、前記セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることと、
前記仮想ファイル・システムにおいて前記セキュアな環境に記憶される暗号化ファイルを取得することであって、前記ファイルは重要なデータを保持し、前記ユーザの公開鍵を使用して暗号化される、前記取得することと、
前記仮想ファイル・システムにおける前記暗号化ファイルの読み込み動作を傍受し、前記ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、前記暗号化ファイルをセキュアな接続上で前記セキュアな環境の外部の前記ユーザ・システムにおけるクライアントに送信することと、
前記仮想ファイル・システムにおいて前記復号化ファイルを受信して、前記ユーザが前記要求されたユーザ・コマンドを実行できるようにすることと
を含む、前記コンピュータ・プログラムのプログラム命令を実行するように構成される、システム。
【請求項１６】
前記仮想ファイル・システムはそれぞれのユーザ・セッションごとに生成されるか、またはユーザを意識した中央仮想ファイル・システムであり、またユーザ空間内に仮想ファイル・システムを作成するためにコンピュータ・オペレーティング・システム用のソフトウェア・インターフェースによって提供される、請求項１５に記載のシステム。
【請求項１７】
前記コンピュータ・プログラムの前記プログラム命令は、
前記暗号化ファイルの前記読み込み動作を実行するために、前記セキュアな環境の外部の前記ユーザ・システムから前記ユーザ・コマンドを受信することであって、前記ユーザ・コマンドは前記コマンドが対象とするツールから前記サーバに向けられる、前記受信すること
をさらに含む、請求項１５に記載のシステム。
【請求項１８】
前記コンピュータ・プログラムの前記プログラム命令は、
前記セキュアな環境内に記憶されたアクセス権にしたがって前記ユーザのアクセス権を検証することであって、前記暗号化ファイル用の前記アクセス権は前記暗号化ファイルに関連付けて記憶されアクセスされる、前記検証すること
をさらに含む、請求項１５に記載のシステム。
【請求項１９】
前記コンピュータ・プログラムの前記プログラム命令は、
前記セキュアな環境内の複数のツール用の暗号化ファイルの中央リポジトリ内の暗号化ファイルを記憶することであって、前記暗号化ファイルは前記ツールのユーザの公開鍵で暗号化される、前記記憶すること
をさらに含む、請求項１５に記載のシステム。
【請求項２０】
前記コンピュータ・プログラムの前記プログラム命令は、
前記ユーザ・セッションに先立って、ユーザ用に暗号化ファイルを中央リポジトリから前記仮想ファイル・システムにダウンロードすること
をさらに含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にセキュアなアクセス管理に関し、より詳細にはセキュアな環境内のツール用のセキュアなアクセス管理に関する。
【背景技術】
【０００２】
セキュアな環境は、所定のセキュリティ規則に基づいて無認可のアクセスを妨げるファイアウォールの形態でセキュアな境界を有することができる。セキュアな環境は、クラウド・システム、ネットワーク・システム、エンタープライズ・システムなどであってもよい。セキュアな境界は例えば、サービスとしてのクラウド・インフラストラクチャ（ＩａａＳ）またはサービスとしてのプラットフォーム（ＰａａＳ）ならびにエンタープライズ・ネットワークの組合せを含む、無制限の数の設定内の環境をセキュアにすることができる。
【０００３】
ファイアウォールはアクセス・ポリシに違反するものをフィルタリングするため、また悪意のあるトラフィックをブロックするために、入来および送出パケットをチェックし、また信頼されるセキュアな内部ネットワークと、セキュアではないか、または信頼できないと想定される別の外のネットワークとの間にバリアを確立する。セキュアな環境のファイアウォールを通じてのユーザ・アクセスは、機械的な、または仮想のプライベート・ネットワーク（ＶＰＮ）アクセスを使用することができる。
【０００４】
現代のセキュリティ・メカニズムは、ユーザがいくつかの別個の証拠を認証メカニズムに成功裏に提示した後のみ、アクセスを付与されるアクセス制御の方法である、多要素認証（ＭＦＡ：multi-factor authentication）を含む。典型的には、以下の証拠のカテゴリのうち少なくとも２つが使用される：知識（ユーザが知っていること）、所有物（ユーザが所有している物）、および固有性（ユーザが何者であるか）。
【０００５】
現代のセキュリティ・メカニズムはまた、強固な認証についてデジタル・キーを守り管理し、また暗号化処理を与える、物理的なコンピューティング・デバイスである、ハードウェア・セキュリティ・モジュール（ＨＳＭ）を含む。ＨＳＭは、典型的にはプラグイン・カードまたはコンピュータもしくはネットワーク・サーバに直接取り付けられる外部デバイスの形態である。
【０００６】
ＭＦＡ、およびＨＳＭなどの現代のセキュリティ・メカニズムは、セキュアな環境の境界を通じてのユーザ・アクセスのために容易に採用されるが、一方でセキュアな環境の内部を使用することをより困難にしている。セキュアな環境内の個別のシステム、サービス、またはアプリケーションなどのツールは、様々なレベルの認証およびアクセス制御が実施されることを必要とすることがあり、これは、複数の異なる認証メカニズム、ツールによる不整合なサポート、および他の課題を加えるものである。
【０００７】
具体的には、ある資格を、セキュリティを脆弱にし、管理を煩雑にするプレーン・テキストのファイルとして記憶することをしばしば必要とする。
【０００８】
いくつかのツールは現代のセキュリティ・メカニズムでの、それらの使用において限界を有している。例えば、ツールは認証のための証明書の使用をサポートすることができるが、その証明書用の秘密鍵がファイルとして提供されることを必要とすることがあり、パスフレーズで暗号化することができない。この手法は開発運用（ＤｅｖＯｐｓ）ツールでは非常に一般的である。これは事実上、ツールを実行するために秘密鍵がファイル・システム内で露出され、ユーザ・セッション間に記憶されなければならないことを意味している。これは結果として容認できないセキュリティ露出となる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
結果として、セキュアな環境の境界内のシステムへのアクセスはあまり強固ではないメカニズムによって保護されることが一般的であり、追加的な管理を必要とする。したがって課題は、セキュアな環境内のツール用のセキュアなアクセス管理方法、システム、コンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の一実施形態において、セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ実装方法が提供され、セキュアな環境はセキュアな境界を有し、セキュアな環境内でサーバで実行される方法は、ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることを含む。方法は、仮想ファイル・システムにおいてセキュアな環境に記憶される暗号化ファイルを取得することであって、ファイルは重要なデータを保持し、ユーザの公開鍵を使用して暗号化される、取得することをさらに含む。方法は、プロセッサによって、仮想ファイル・システムにおける暗号化ファイルの読み込み動作を傍受し、ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、暗号化ファイルをセキュアな接続上でセキュアな環境の外部のユーザ・システムにおけるクライアントに送信することを追加的に含む。さらには、方法は、プロセッサによって、仮想ファイル・システムにおいて復号化ファイルを受信して、ユーザが要求されたユーザ・コマンドを実行できるようにすることを含む。
【００１１】
上述の方法の実施形態の他の形態は、システムおよびコンピュータ・プログラム製品内にある。
【００１２】
一態様によると、セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ・プログラム製品が提供され、コンピュータ・プログラム製品はそれによってプログラム・コードを具現化したコンピュータ可読記録媒体を備え、プログラム・コードは、ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることと、仮想ファイル・システムにおいてセキュアな環境に記憶される暗号化ファイルを取得することであって、ファイルは重要なデータを保持し、ユーザの公開鍵を使用して暗号化される、取得することと、仮想ファイル・システムにおける暗号化ファイルの読み込み動作を傍受し、ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、暗号化ファイルをセキュアな接続上でセキュアな環境の外部のユーザ・システムにおけるクライアントに送信することと、仮想ファイル・システムにおいて復号化ファイルを受信して、ユーザが要求されたユーザ・コマンドを実行できるようにすることのための、プログラミング命令を含む。
【００１３】
別の態様によると、システムが提供され、システムは、セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ・プログラムを記憶するためのメモリ・ユニットと、メモリ・ユニットに結合されるプロセッサとを備え、プロセッサは、ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることと、仮想ファイル・システムにおいてセキュアな環境に記憶される暗号化ファイルを取得することであって、ファイルは重要なデータを保持し、ユーザの公開鍵を使用して暗号化される、取得することと、仮想ファイル・システムにおける暗号化ファイルの読み込み動作を傍受し、ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、暗号化ファイルをセキュアな接続上でセキュアな環境の外部のユーザ・システムにおけるクライアントに送信することと、仮想ファイル・システムにおいて復号化ファイルを受信して、ユーザが要求されたユーザ・コマンドを実行できるようにすることとを含む、コンピュータ・プログラムのプログラム命令を実行するように構成される。
【００１４】
先述されたものは、以下の本発明の詳細な説明をより良く理解できるように、本発明の１つまたは複数の実施形態の特徴および技術的な利点をより一般的に概説している。以降で本発明の追加的な特徴および利点が説明され、それらは本発明の特許請求の範囲の主題を形成することができる。
【００１５】
次に、単なる例として、以下の図面を参照して、本発明の好ましい実施形態を説明する。
【図面の簡単な説明】
【００１６】
【図１】本発明が実装され得る、セキュアな環境を含むシステムの例示の実施形態の概略的な図である。
【図２】セキュアな環境で実行される本発明による、方法の態様の例示の実施形態のフロー図である。
【図３】セキュアな環境の外部のユーザで実行される本発明による、方法の態様の例示の実施形態のフロー図である。
【図４】本発明による、方法の態様の例示の実施形態のスイムレーン・フロー図である。
【図５】本発明による、方法のさらなる態様の例示の実施形態のフロー図である。
【図６】セキュアな環境における本発明による、システムの例示の実施形態のブロック図である。
【図７】セキュアな環境の外部のユーザ・システムにおける本発明による、システムの例示の実施形態のブロック図である。
【図８】本発明が実装され得るコンピュータ・システムまたはクラウド・サーバの実施形態のブロック図である。
【図９】本発明が実装され得るクラウド・コンピューティング環境の概略図である。
【図１０】本発明が実装され得るクラウド・コンピューティング環境の抽象化モデル・レイヤの図である。
【発明を実施するための形態】
【００１７】
本発明の一実施形態によると、セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ実装方法が提供され、セキュアな環境はセキュアな境界を有し、セキュアな環境内でサーバで実行される方法は、ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることと、仮想ファイル・システムにおいてセキュアな環境に記憶される暗号化ファイルを取得することであって、ファイルは重要なデータを保持し、ユーザの公開鍵を使用して暗号化される、取得することと、仮想ファイル・システムにおける暗号化ファイルの読み込み動作を傍受し、ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、暗号化ファイルをセキュアな接続上でセキュアな環境の外部のユーザ・システムにおけるクライアントに送信することと、仮想ファイル・システムにおいて復号化ファイルを受信して、ユーザが要求されたユーザ・コマンドを実行できるようにすることとを含む。
【００１８】
方法は、記憶され暗号化される重要なデータと、セキュアな環境内のツールへのユーザ・コマンドとをインターフェースする仮想ファイル・システムを提供する。認証における使用、または他の使用のための重要なデータは、それぞれのユーザごとに、ユーザの暗号化デバイスを離れないユーザの秘密鍵で安全に生成して使用することができる。
【００１９】
仮想ファイル・システムはそれぞれのユーザ・セッションごとに生成することができるか、またはユーザを意識した中央仮想ファイル・システムであり得、またユーザ空間内に仮想ファイル・システムを作成するためにコンピュータ・オペレーティング・システム用のソフトウェア・インターフェースによって提供され得る。
【００２０】
方法は、暗号化ファイルの読み込み動作を実行するために、セキュアな環境の外部のユーザ・システムからユーザ・コマンドを受信することを含むことができ、ユーザ・コマンドはコマンドが対象とするツールからサーバに向けられ得る。
【００２１】
方法は、セキュアな環境内に記憶されたアクセス権にしたがってユーザのアクセス権を検証することであって、暗号化ファイル用のアクセス権は暗号化ファイルに関連付けて記憶されアクセスされ得る、検証することを含むことができる。
【００２２】
方法は、セキュアな環境内の複数のツール用の暗号化ファイルの中央リポジトリ内の暗号化ファイルを記憶することを含むことができる。一実施形態において、方法はユーザ・セッションに先立って、ユーザ用に暗号化ファイルを中央リポジトリから仮想ファイル・システムにダウンロードすることを含むことができる。別の実施形態において、方法は、ツールへのユーザ・コマンドに応答して、中央リポジトリから仮想ファイル・システムへの暗号化ファイルを同期し、ツールによるリダイレクトによって暗号化ファイルを配置することを含むことができる。
【００２３】
読み込み動作を傍受することは、ソケット転送を使用するＳｅｃｕｒｅ  Ｓｈｅｌｌ（ＳＳＨ）暗号化ネットワーク・プロトコルなどの、ユーザ・システムへのセキュアなチャネルをアクティブ化することがある。
【００２４】
方法は、仮想ファイル・システム内で所定の一時的な期間内に復号化ファイルをキャッシュすることを含むことができ、また暗号化ファイルをセキュアな環境の外部のユーザ・システムにおけるクライアントに送信する前にキャッシュされた復号化ファイルをチェックすることをさらに含むことができる。
【００２５】
方法は、ツールに代わって暗号化ファイルを生成すること、ファイルを更新すること、またはファイルの使用を監査すること、あるいはその組合せを含めて、セキュアな環境内に記憶された暗号化ファイルを管理することを含むことができる。
【００２６】
本発明の別の実施形態によると、セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ実装方法が提供され、セキュアな環境はセキュアな境界を有し、セキュアな環境の外部のクライアントで実行される方法は、ユーザの認証されたセッションの一部としてセキュアな環境内でサーバにおいてコマンドの実行をリクエストすることであって、リクエストは認証されたユーザ・セッションの一部としてセキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることを開始する、リクエストすることと、セキュアな接続上でセキュアな環境内の仮想ファイル・システムからセキュアな環境内に記憶される暗号化ファイルを受信することであって、ファイルは重要なデータを保持し、ユーザの公開鍵を使用して暗号化される、受信することと、セキュアな環境の外部のユーザの暗号化デバイスでユーザの秘密鍵を使用して暗号化ファイルを復号することと、復号化ファイルを仮想ファイル・システムに転送して、ユーザが要求されたユーザ・コマンドを実行できるようにすることとを含む。
【００２７】
本発明の別の実施形態によると、セキュアな環境内のツール用のセキュアなアクセス管理のためのシステムが提供され、セキュアな環境はセキュアな境界を有し、システムはセキュアな環境内で提供され、プロセッサおよびコンポーネントの機能を実行するためにコンピュータ・プログラム命令をプロセッサに提供するように構成されたメモリと、ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内でアクセスされるユーザ用の仮想ファイル・システムと、仮想ファイル・システムにおいてセキュアな環境に記憶される暗号化ファイルを取得するためのファイル・リクエスト・コンポーネントであって、ファイルは重要なデータを保持し、ユーザの公開鍵を使用して暗号化される、ファイル・リクエスト・コンポーネントと、仮想ファイル・システムにおける暗号化ファイルの読み込み動作を傍受するためのファイル読み込み傍受コンポーネントと、ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、暗号化ファイルをセキュアな接続上でセキュアな環境の外部のユーザ・システムにおけるクライアントに送信するためのファイル・エクスポート・コンポーネントと、仮想ファイル・システムにおいて復号化ファイルを受信して、ユーザが要求されたユーザ・コマンドを実行できるようにするためのファイル・リターン・コンポーネントとを備える。
【００２８】
仮想ファイル・システムはユーザ空間内に仮想ファイル・システムを作成するためにコンピュータ・オペレーティング・システム用のソフトウェア・インターフェースによって提供され得、またそれぞれのユーザ・セッションごとに生成することができるか、またはユーザを意識した中央仮想ファイル・システムであり得る。
【００２９】
システムは、暗号化ファイルの読み込み動作を実行するために、セキュアな環境の外部のユーザ・システムからユーザ・コマンドを受信するためのユーザ・コマンド受信コンポーネントであって、ユーザ・コマンドはコマンドが対象とするツールからサーバに向けられる、ユーザ・コマンド受信コンポーネントを含むことができる。
【００３０】
システムは、セキュアな環境内に記憶されたアクセス権にしたがってユーザのアクセス権を検証するためのファイル・アクセス・ポリシ・コンポーネントであって、暗号化ファイル用のアクセス権は暗号化ファイルに関連付けて記憶されアクセスされる、ファイル・アクセス・ポリシ・コンポーネントを含むことができる。
【００３１】
システムは、セキュアな環境内に複数のツール用の暗号化ファイルの中央リポジトリを含むことができる。
【００３２】
システムは、セキュアな環境内のツールへのユーザ・コマンドを受信し、ツールによるリダイレクトによって関連する暗号化ファイルを配置するためのファイル配置コンポーネントを含むことができる。
【００３３】
読み込み動作を傍受するためのファイル読み込み傍受コンポーネントは、ユーザ・システムへのセキュアなチャネルをアクティブ化することがある。
【００３４】
システムは、仮想ファイル・システム内で所定の一時的な期間内に復号化ファイルをキャッシュするためのファイル・キャッシュ・コンポーネント、および暗号化ファイルをセキュアな環境の外部のユーザ・システムにおけるクライアントに送信するためにファイル・エクスポート・コンポーネントをアクティブ化する前にキャッシュされた復号化ファイルをチェックするためのキャッシュ・チェック・コンポーネントを含むことができる。
【００３５】
システムは、ツールに代わって暗号化ファイルを生成すること、ファイルを定期的に更新すること、またはファイルの使用を監査すること、あるいはその組合せを含めて、セキュアな環境内で暗号化ファイルおよびアクセス権を記憶し管理するための重要データ・ファイル管理システムを含むことができる。
【００３６】
セキュアな環境は、クラウド・インフラストラクチャから形成されてもよく、またはクラウド・インフラストラクチャを含んでもよい。
【００３７】
本発明の別の実施形態によると、セキュアな環境内のツール用のセキュアなアクセス管理のためのシステムが提供され、セキュアな環境はセキュアな境界を有し、システムはセキュアな環境の外部で提供され、プロセッサおよびコンポーネントの機能を実行するためにコンピュータ・プログラム命令をプロセッサに提供するように構成されたメモリを含むユーザ・システムと、ユーザの認証されたセッションの一部としてセキュアな環境内でサーバにおいてコマンドの実行をリクエストするコマンド・コンポーネントであって、リクエストは認証されたユーザ・セッションの一部としてセキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスを開始する、コマンド・コンポーネントと、セキュアな接続上でセキュアな環境内の仮想ファイル・システムからセキュアな環境内に記憶される暗号化ファイルを受信するための暗号化ファイル受信コンポーネントであって、ファイルは重要なデータを保持し、ユーザの公開鍵を使用して暗号化される、暗号化ファイル受信コンポーネントと、セキュアな環境の外部のユーザの暗号化デバイスでユーザの秘密鍵を使用して暗号化ファイルを復号するための暗号化デバイス・アクセス・コンポーネントと、復号化ファイルを仮想ファイル・システムに転送して、ユーザが要求されたユーザ・コマンドを実行できるようにするための復号化ファイル・リターン・コンポーネントとを備える。
【００３８】
本発明の別の実施形態によると、セキュアな環境内のツール用のセキュアなアクセス管理のためのコンピュータ・プログラム製品が提供され、セキュアな環境はセキュアな境界を有し、コンピュータ・プログラム製品はそれによってプログラム・コードを具現化したコンピュータ可読記録媒体を備え、プログラム命令はプロセッサによって実行可能であり、プロセッサに、ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内でユーザ用の仮想ファイル・システムにアクセスすることと、仮想ファイル・システムにおいてセキュアな環境に記憶される暗号化ファイルを取得することであって、ファイルは重要なデータを保持し、ユーザの公開鍵を使用して暗号化される、取得することと、仮想ファイル・システムにおける暗号化ファイルの読み込み動作を傍受し、ユーザの秘密鍵を使用してユーザ・システムのリモート暗号化デバイスによって復号するために、暗号化ファイルをセキュアな接続上でセキュアな環境の外部のユーザ・システムにおけるクライアントに送信することと、仮想ファイル・システムにおいて復号化ファイルを受信して、ユーザが要求されたユーザ・コマンドを実行できるようにすることと、を行わせる。
【００３９】
方法およびシステムは、重要なデータをセキュアな環境内でユーザの公開鍵を使用して暗号化された形式でのみ記憶すること、およびユーザの秘密鍵をセキュアな環境の外のリモート暗号化デバイスに保持することによって、セキュアな環境内でのツールの使用のために必要とされるファイルに記憶される重要なデータを制御するために提供される。
【００４０】
重要なデータは暗号化鍵、ユーザ資格またはパスワードなどのアクセス秘密情報であり得る。他のタイプの重要なデータは、文書またはファイルに記憶することのできるあらゆる形態のデータであり得る。
【００４１】
公開鍵暗号、すなわち非対称暗号は、広く配布され得る公開鍵と、所有者のみが知っている秘密鍵と、の鍵の対を使用するあらゆる暗号化システムである。これにより２つの機能が達成される：認証、これは公開鍵が、対のうち秘密鍵の所有者がメッセージを送信したことを検証するために使用される場合である；暗号化、これにより対のうち秘密鍵の所有者のみが公開鍵で暗号化されたメッセージを復号できる。
【００４２】
セキュアな環境は、所定のセキュリティ規則に基づいて無認可のアクセスを妨げるファイアウォールなどのネットワーク・セキュリティ・システムの形態でセキュアな境界を有するコンピュータ・システムのあらゆるグループであり得る。セキュアな環境はクラウド・システム、ネットワーク・システム、エンタープライズ・システムなど、またはその組合せを含めた内部接続されたシステムを含むことができる。コンピュータ・システムは、サーバ、ストレージ・システムなどであってもよい。
【００４３】
セキュアな環境内で保護されるツールは、ツールのアクセスおよび使用のためにユーザ資格を必要とすることがあるサーバまたは他のネットワーク化されたコンピュータ・システム上で実行する、アプリケーション、サービス、システム、ユーティリティ、分散アプリケーションのクラスタなどを含むことができる。
【００４４】
説明される方法およびシステムにおいて、セキュアなアクセス・システムが提供され、セキュアな環境内のサーバに設けられる仮想ファイル・システムを含み、ファイル・アクセスをユーザによって所有される秘密鍵とリンクさせる。重要なデータのファイルがセキュアな環境内で生成され、暗号化を達成するために、ユーザの公開鍵を使用する暗号化された形式でのみ記憶される。秘密鍵の運用は、セキュアな環境に対してリモートの暗号化デバイスを使用してユーザのシステム上で実施される。セキュアな環境内で仮想ファイル・システムをホストするサーバが秘密鍵へのアクセスを有することはない。
【００４５】
セキュアなアクセス・システムはセキュアな環境内でサーバ上に展開されて提供され、ユーザによってセキュアな環境のファイアウォールを通じるセキュアな接続を介するセキュアな環境の外部のコンピュータ・システムを介して接続される。
【００４６】
仮想ファイル・システムは、セキュアな環境内のサーバによって提供される保護されたツールの認証されたユーザ・セッションの一部としてセキュアなアクセス・システムのサーバ側でメモリ内に作成することができる。ユーザ特有の復号鍵がそれぞれの仮想ファイル・システムに使用されるため、仮想ファイル・システムはそれぞれのユーザごとに作成される。これによりユーザが仮想ファイル・システム内でそれぞれ他者のデータにアクセスすることを防ぐ。
【００４７】
認証されたユーザがセキュアな環境内のサーバ上でコマンドを実行するためには、認可チェックが成功しなければならず、また認可チェックはそのユーザ用のファイルへのアクセスを復号化された形式で有していなければならない。
【００４８】
セキュアな環境内で必要とされるツールを提供しているサーバ用の暗号化ファイルは、セキュアな環境内に記憶され、ユーザによって必要とされる場合に仮想ファイル・システムに複製される。認可チェックは、それを読み込み、パーミッションを検証しようと試行する。仮想ファイル・システムからの読み込みは、傍受される。傍受はソケット転送を介するものであってもよい（例えば、ＧＮＵ  Ｐｒｉｖａｃｙ  Ｇｕａｒｄ（ＧＰＧ））。
【００４９】
アクセスされている暗号化ファイルは、ユーザの秘密鍵を使用するリモート暗号化デバイスによる復号化のためにセキュアな接続上でセキュアなアクセス・システムのクライアント側に送信される。復号化ファイルは、仮想ファイル・システムに送信し戻され、ユーザが要求されたコマンドを実行できるよう認可をチェックするために使用される。復号化ファイルはいつも一時的に仮想ファイル・システム内に保持されるだけであり、秘密鍵はリモート暗号化デバイスから離れることはない。
【００５０】
説明される方法およびシステムは、セキュアな環境内でサーバを管理するために使用される低いレベルのコマンドおよびプログラムのための、効果的かつセキュアな認可メカニズムを提供する。それによって、セキュアな環境内のファイル・システム・アクセスのコンテキストにおいて（例えば、クラウド・システム内）、セキュアな環境の外で保持される秘密鍵の使用が可能となる。
【００５１】
図１は、説明されるセキュアなアクセス管理システムが実装され得るシステム１００の概略図である。システム１００はファイアウォールによって設けられるセキュアな境界１０４を有するセキュアな環境１０２を含む。セキュアな環境は複数の内部接続されるサーバ１１０、１２０、１３０、およびローカルな環境に設けられ得るか、またはリモートな場所に分散され得る他のシステムを含むことができる。一例において、セキュアな環境１０２はクラウド環境であるが、ネットワーク化される環境の他の組合せ、エンタープライズ環境、クラウド環境、またはその組合せはセキュアな環境１０２を含むことができる。
【００５２】
ユーザ・システム１０８はセキュアな境界１０４の外に設けることができ、セキュアな接続またはチャネル１０６を介してセキュアな環境にアクセスすることができる。一実施形態において、セキュアなチャネルはＧＰＧエージェントのソケットを転送する、ソケット転送を使用するＳｅｃｕｒｅ  Ｓｈｅｌｌ（ＳＳＨ）暗号化ネットワーク・プロトコルである。しかしながら、リモート・システムがワークステーション上でユーザの秘密鍵にアクセスできるようにする、あらゆる他のセキュアなチャネルを使用することができる。
【００５３】
ユーザ・システム１０８は、ユーザの暗号化鍵の対を、セキュアな環境１０２内のサーバに基づいてツール１２０に配信される公開鍵１５１、および暗号化デバイス１５０を離れない秘密鍵１５２の形式で記憶することおよび管理するために、暗号化デバイス１５０を含むことができるか、または暗号化デバイス１５０へのアクセスを有することができる。
【００５４】
ＨＳＭは強固な認証用のデジタル鍵を守り管理する物理的なコンピューティング・デバイスであり、暗号化処理を提供する。ＨＳＭは、典型的にはプラグイン・カードまたはコンピュータもしくはネットワーク・サーバに直接取り付けられる外部デバイスの形態である。ＨＳＭの機能は以下を含む：オンボードのセキュアな暗号化鍵の生成、オンボードのセキュアな暗号化鍵の保管および管理、暗号化および重要なデータ資料の使用、完全な非対称および対称な暗号化法用のアプリケーション・サーバのオフローディング。
【００５５】
セキュアな環境１０２内のサーバ・ベースのツール１２０は、サーバ１２０によって提供されるサービスまたはアプリケーションのユーザの認証のために、ファイルのセキュアなデータを必要とすることがある。ツール１２０は重要なデータのファイル１２２を生成することができ、ユーザの公開鍵１５１での暗号化コンポーネント１２１を使用して暗号化することができる。それぞれのツールごとの秘密の生成および暗号化を集中化するために、別個のセキュアなプロビジョニング・ワークステーションを使用することができる。
【００５６】
ファイル配信サーバ１１０は、セキュアな環境１０２内で複数のサーバ・ベースのツール１２０によって生成される暗号化ファイル１１２を集中的に記憶するセキュアな環境１０２に設けることができる。ファイル配信サーバ１１０は、ネットワーク接続ストレージ（ＮＡＳ）、Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＬＤＡＰ）、またはクラウド上でホストされるファイル・ストレージの形態であってもよい。ファイル配信サーバ１１０はまた、ツール１２０にアクセスできるユーザまたはユーザのグループを定義するアクセス制御リスト（ＡＣＬ）ポリシ１１１を記憶することができる。
【００５７】
アクセス制御システム１３０、１４０が、セキュアな環境１０２に設けられるサーバ・アクセス制御システム１３０、およびセキュアな環境の外部のユーザ・システム１０８に設けられるクライアント・アクセス制御システム１４０を備えて提供される。ユーザ・セッション１３２はユーザが、ユーザによって必要とされるサービスまたはアプリケーションを提供しているセキュアな環境１０２内のサーバ１２０へのアクセスを試行するとアクティブ化される。
【００５８】
アクセス制御システム１３０、１４０は、ユーザの公開鍵で暗号化された集中的に記憶されるファイルを有するファイル配信サーバ１１０と、ユーザの暗号化デバイス１５０に記憶されたユーザの秘密鍵とをインターフェースする仮想ファイル・システム１３１を含む。仮想ファイル・システム１３１はオペレーティング・システムによって露出される下位の機能に接続することによって実装することができる。例えば、Ｆｉｌｅｓｙｓｔｅｍ  ｉｎ  Ｕｓｅｒｓｐａｃｅ（ＦＵＳＥ）は、ユーザがカーネル・コードを編集することなく自身のファイル・システムを作成することができるＵｎｉｘ（Ｒ）系のコンピュータのオペレーティング・システム（Ｕｎｉｘ（Ｒ）はＴｈｅ  Ｏｐｅｎ  Ｇｒｏｕｐの商標である）である。これは、実際のカーネル・インターフェースへのブリッジを提供するＦＵＳＥモジュールで、ユーザ空間においてファイル・システム・コードを実行することによって達成される。
【００５９】
仮想ファイル・システム１３１は特定のファイルについての読み込み動作を傍受し、ファイルを復号するためのロジックを挿入し、消費用の通常ファイルとするためにそのようなインターフェースを実装することができる。仮想ファイル・システム１３１とユーザの暗号化デバイス１５０との通信はセキュアなチャネル１０６を使用して実行される。
【００６０】
図２を参照すると、フロー図２００は、セキュアな環境がセキュアなファイアウォール境界を有しているセキュアな環境内のシステム用のセキュアなアクセス管理のための方法の例示の実施形態を示している。フロー図２００の方法は、アクセス制御システムをホストしているセキュアな環境内のサーバ１３０で実行される。
【００６１】
ファイル形式のユーザ資格は、例えばセキュアな環境内のサーバによってホストされるサービス、アプリケーションなどの形態で、様々なツールのために提供され得、またユーザの鍵の対のうち公開鍵で暗号化することができる。暗号化ファイルはセキュアな環境内のファイル配信サーバに転送され、記憶することができる。
【００６２】
それぞれのツールごとの秘密の生成および暗号化を集中化し、暗号化されたデータをネットワーク接続ストレージ（ＮＡＳ）、Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＬＤＡＰ）、またはクラウド上でホストされるファイル・ストレージなどのファイル配信サーバにアップロードするために、別個のセキュアなプロビジョニング・ワークステーションを使用することができる。すべてのデータは転送される前に暗号化される。
【００６３】
方法は、ユーザによって開始されたユーザ・コマンドを含む認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内で仮想ファイル・システムにアクセスすることができる２０１。仮想ファイル・システムはそれぞれのユーザ・セッションごとに開始されてもよく、またはユーザを意識した中央仮想ファイル・システムであってもよい。
【００６４】
ユーザ・コマンドは、ユーザによって必要とされるサービスまたはアプリケーションなどを提供しているセキュアな環境内のツールへの、ユーザによるログインであってもよい。ユーザ・セッションは、ファイルの内容へリクエストを行うことによって、仮想ファイル・システムを通じて重要な情報または資格へのアクセスを試行することができる。ユーザ・コマンドは、サーバ・アクセス制御システムへアウトバウンド通信（例えば、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ（ＨＴＴＰＳ）リクエスト）を行うセキュアな環境内のツールによるアクセス制御システムを対象とするものであり得る。
【００６５】
セキュアな環境内に記憶された暗号化ファイルが取得され、仮想ファイル・システムに複製される２０２。暗号化ファイルは、セキュアな環境内での複数のシステムの認証のために、暗号化ファイルの中央リポジトリに記憶することができる。ファイルはユーザの公開鍵を使用して暗号化される。
【００６６】
ユーザのアクセス権を検証すること２０３は、セキュアな環境内の暗号化ファイルと同一の中央リポジトリか、または別個のアクセス制御権リポジトリに記憶され得るアクセス制御権を参照することによって実行することができる。
【００６７】
方法は、仮想ファイル・システムからの暗号化ファイルの読み込み動作を傍受し２０４、ユーザの秘密鍵を使用してユーザのリモート暗号化デバイスによって復号するために、暗号化ファイルをセキュアな接続上でセキュアな環境の外部のクライアントに送信することができる２０５。
【００６８】
一実施形態において、セキュアな接続はＧＰＧソケット転送を伴うＳＳＨを使用することができる。仮想ファイル・システムはサーバ上で実行中のＧＰＧプログラムをコールすることができ、ＧＰＧプログラムはユーザ・システムでＧＰＧエージェントにアクセスすることができる。この通信は、サーバ・システムのファイル・システム内で特定のＵＮＩＸ（Ｒ）ソケットにアクセスするＧＰＧプログラムによって行われる。そのソケットはＳＳＨソケット転送機能を使用して転送される。これは、サーバ・システム上のソケットがユーザのシステムのソケットをミラーリングしていることを意味する。結果として、これはサーバ・システム上のＧＰＧがソケット転送を通じてユーザのシステム上のＧＰＧエージェントにアクセスすることを意味している。
【００６９】
このセキュアなチャネルを通じて、サーバ・システム上のＧＰＧプログラムは、復号などの秘密鍵の運用を実施することができ２０６、秘密鍵はユーザのシステムに記憶され、リモートのサーバ・システムには公開されない。
【００７０】
方法は、ユーザが要求されたユーザ・コマンドを実行する認可において使用するために、仮想ファイル・システムにおいて復号化ファイルを受信することができる２０７。復号化ファイルは仮想ファイル・システムによって、一時的な期間キャッシュ内に保持することができ、認証されたユーザ・セッションで復号化ファイルを繰り返し使用できるようにしている。
【００７１】
図３を参照すると、フロー図２１０は、セキュアな環境がセキュアなファイアウォール境界を有しているセキュアな環境内のシステム用のセキュアなアクセス管理のための方法の例示の実施形態を示している。フロー図２１０の方法は、ユーザ・システム１０８でセキュアな環境の外部のクライアントで実行される。
【００７２】
ユーザ・システムのコマンド・ライン・インターフェースは、ユーザの認証されたセッションの一部としてセキュアな環境内のサーバ上でコマンドの実行をリクエストすることができる２１１。リクエストは、図２に関連して説明したように、認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内で仮想ファイル・システムのアクセスを開始することができる。
【００７３】
認証の一部として、ユーザ・システムは、セキュアな接続上でセキュアな環境内の仮想ファイル・システムから、セキュアな環境内に記憶された暗号化ファイルを受信することができる２１２。ファイルはユーザの公開鍵を使用して暗号化される。
【００７４】
ユーザ・システムは、セキュアな環境の外部のユーザの暗号化デバイスでユーザの秘密鍵を使用して、暗号化ファイルを復号することができる２１３。復号化ファイルは、ユーザが要求されたユーザ・コマンドを実行する認可において使用するために、仮想ファイル・システムに転送することができる２１４。
【００７５】
図４を参照すると、スイムレーン・フロー図３００はセキュアな環境内のサーバ・アクセス制御システム１３０とユーザ・システム１０８との間で実行される説明された方法の例示の実施形態を示している。
【００７６】
ユーザ・システム１０８のコマンド・ライン・インターフェースは、ユーザの認証されたセッションの一部としてセキュアな環境内のサーバのツール上でコマンドの実行をリクエストすることができる３１１。セキュアな環境内のツールはサーバ・アクセス制御システム１３０へのアウトバウンド通信（例えば、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ（ＨＴＴＰＳ）リクエスト）を行うことができる。サーバ・アクセス制御システム１３０は、仮想ファイル・システム１３１とのアクティブなユーザ・セッション３２０を有するか、または作成することができ、ユーザ・コマンドを受信する３３１。
【００７７】
コマンドはセキュアな環境内のアクセス制御システム１３０からファイルＸ内の重要なデータを読み込むよう試行することができる３３２。
【００７８】
方法は、ファイルＥ（Ｘ）の暗号化バージョンおよびファイルＸ用のアクセス・ポリシを配置することができる３３３。
【００７９】
ファイルの暗号化バージョンおよびアクセス・ポリシは、複数のサーバ用にセキュアな環境内の中央リポジトリに保持することができる。暗号化された重要なデータは、ファイル配信サーバ１１０などの中央リポジトリからユーザ用の仮想ファイル・システム３３０へ、予めダウンロードすることができる。代替的に、コマンドが向けられるツールによって中央リポジトリへリダイレクトされることにより配置することができる。コマンドは常にセキュアな環境内で実行する。ファイルの暗号化バージョンおよびアクセス・ポリシは中央リポジトリを直接参照するか、または中央リポジトリからセキュアな環境に同期することができる。
【００８０】
サーバ・アクセス制御システム１３０は、コマンドを発するユーザがファイルへのアクセス権を有していることを確認するために、ポリシ・チェックを実行することができるか、またはリクエストされたコマンドを実行することができる３３４。サーバ・アクセス制御システム１３０はまた、サーバ・アクセス制御システム１３０上でキャッシュされた復号化ファイルのチェックを実行することができる３３５。リクエストされたファイルが復号化された形式でキャッシュされている場合、方法はそのキャッシュされたファイルを使用することができる。この実施形態のさらなる詳細を図５に関連して説明する。
【００８１】
ユーザがファイルへのアクセス権を有しており、キャッシュされた復号化バージョンが見つからない場合、サーバ・アクセス制御システム１３０は暗号化ファイルＥ（Ｘ）の読み込みを傍受し３３６、コマンド３１１を開始しているユーザ・システム１０８へのセキュアな接続を確立することができる３３７。セキュアな接続はユーザ・システム１０８のクライアント・アクセス制御システム１４０に接続することができる。
【００８２】
サーバ・アクセス制御システム１３０は、暗号化ファイルＥ（Ｘ）をクライアント・アクセス制御システム１４０に送信することができ３３８、暗号化ファイルＥ（Ｘ）はユーザの暗号化デバイスによりユーザの秘密鍵で復号することができる３５１。暗号化デバイス、例えばＨＳＭは、ユーザ・システム１０８の一部であってもよく、または追加的なハードウェア・デバイスとして、それに取り付け可能である。復号化ファイルＸは、サーバ・アクセス制御システム１３０に送信し戻されることができ３５２、サーバ・アクセス制御システム１３０において受信され、ユーザ・コマンド３１１の実行のために使用することができる３３９。
【００８３】
図５を参照すると、フロー図３６０は、ファイルＸについてのコマンドを取り扱う際、仮想ファイル・システムを使用してサーバ・アクセス制御システム１３０で実行される機能性の例示の実施形態のさらなる詳細を与えている。
【００８４】
コマンド・ライン・ツールは、サーバ上でファイルＸに記憶された資格を使用することによりツールで認証しようと試行する。ファイルＸの暗号化された形式のみ、セキュアな環境内の恒久的なストレージ・デバイスに記憶される。
【００８５】
方法は、開始することができ３６１、特定の経路においてファイルＸの内容の読み込み３６２をリクエストすることによってトリガされ得る。対応する暗号化ファイルＥ（Ｘ）を配置し３６３、また検証することができる。
【００８６】
次のステップは、ファイルＸの使用についてのポリシを適用することである。例えば、ファイルの内容を得るための読み込み動作は許可されることがあるが、一方でファイルの複製または修正は拒否されることがある。そのファイルについてのアクセス・ポリシが読み込みにより適合であるかどうかが、判断され得る３６４。アクセス・ポリシが不適合である場合、ファイルＸへアクセスする読み込みは拒否される３６５。
【００８７】
アクセス・ポリシが適合している場合、ファイルＸが仮想ファイル・システムのキャッシュ内にキャッシュされるかどうか判断され３６６、キャッシュ内でルックアップを実施することができる。キャッシュは復号化ファイルの一覧を、その満了期限とともに維持する。ファイルＸのキャッシュされた複製が見つかると、読み込みに応答してファイルＸの内容を即時にリターンすることができ３６７、方法を終了することができる３６８。
【００８８】
ファイルＸのキャッシュされた複製がない場合、図４に関連して説明したように、方法はリモートの秘密鍵の使用をリクエストすることができる３６９。
【００８９】
暗号化ファイルＥ（Ｘ）の復号は復号鍵を必要とし、復号鍵は秘密鍵であり、またコマンド・ライン・ツールで対話しているユーザにのみ利用可能である。
【００９０】
復号化ファイルＸが仮想ファイル・システムで受信されると、ファイルＸは、そのユーザ・セッションの間、他の読み込みによる使用のための消費用に所定の一時的な期間キャッシュされ３７０、方法は終了することができる３６８。
【００９１】
仮想ファイル・システムはキャッシュ内のファイルＸのプレーン・テキストのバージョンへのアクセスを制限するか、隠す（hide）ことができる。
【００９２】
一例の実施形態において、コマンド・ライン・インターフェースは、物理的なマシンのクラスタにまたがって実行するアプリケーション・コンテナ用に、クラスタのアプリケーション・プログラム・インターフェース（ＡＰＩ）サーバに対してコマンドを実行する。クラスタは、可用性の高いやり方でアプリケーションを実行し続ける統制されたワーカ・ノードのセットを通じて計算能力、ネットワーク、およびストレージを提供することができる。例えば、クラスタはＫｕｂｅｒｎｅｔｅｓ（Ｒ）ＡＰＩサーバのＫｕｂｅｒｎｅｔｅｓ（Ｒ）であってもよく、コマンド・ライン・インターフェースはｋｕｂｅｃｔｌであってもよい（Ｋｕｂｅｒｎｅｔｅｓ（Ｒ）はＴｈｅ  Ｌｉｎｕｘ  Ｆｏｕｎｄａｔｉｏｎの商標である）。
【００９３】
ユーザ・ワークステーションのコマンド・ライン・インターフェースは、例えばリモートのクラスタＡＰＩサーバで認証するための一対の証明書および秘密資格を含む認証を必要とすることがある。証明書および秘密資格の両方は、ファイル・システムの形態で存在することができ、コマンド・ライン・インターフェースの設定によって参照される。
【００９４】
ユーザはコマンド・ライン・インターフェースにコマンドを発行することができる。コマンド・ライン・インターフェースは秘密資格を読み込むよう試行することができる。仮想ファイル・システムは秘密資格の読み込み動作を傍受し、秘密資格の暗号化された形式をＧＰＧを介してユーザ・ワークステーションに送信することができる。秘密資格はユーザ・ワークステーションで復号し、仮想ファイル・システムに送信し戻されることができる。仮想ファイル・システムは秘密資格をコマンド・ライン・インターフェースにリターンすることができ、コマンド・ライン・インターフェースは秘密資格を伴うＨＴＴＰＳリクエストをＡＰＩサーバに送信し、結果をユーザにリターンすることができる。
【００９５】
ユーザ資格はユーザに透明な方法で定期的に更新することができ、更新された暗号化ファイルはセキュアな環境内の中央リポジトリに記憶され得る。
【００９６】
アクセス・ポリシは、ファイルに記憶された資格が生成されたシステムを含むファイルに関連する規則、ファイルへのアクセスを有する処理、日時、ユーザのリモートな場所、などのあらゆる組合せを含むことができる。
【００９７】
仮想ファイル・システムは、資格のあらゆる使用を記録するために監査機能を提供し、資格アクセスを必要とするサービスの監査を簡略化し、またはそれにおけるギャップを埋めることができる。最終的に、監査を資格の使用に結び付けることによって、特権を与えられる動作についての監査を提供することができる。
【００９８】
説明されるシステムは、資格の管理、個人の暗号化鍵、および仮想ファイル・システムを統合する。それによって、暗号化ファイルをシステム内で安全に配布できるようにする一方で、秘密鍵などの資格データをユーザ・システム上のファイルとして維持することができる。
【００９９】
この手法は、資格の管理を大いに簡略化する。資格は、ユーザの関与なしに生成し、既知のユーザの公開鍵を使用して暗号化し、そして暗号化ファイルとして中央的な場所に記憶することができる。これは、すべての資格がセキュアな境界の内部に記憶され、その機密性を保護するために追加的なメカニズムを必要としないことを意味している。全体的な生成および使用フローにおける唯一の外部値は、ハードウェア暗号化デバイス上に安全に記憶され得るユーザの秘密鍵である。
【０１００】
図６を参照すると、ブロック図はサーバ４００に設けられ得るサーバ・アクセス制御システム１３０の例示の実施形態を示しており、サーバ４００は少なくとも１つのプロセッサ４０１、ハードウェア・モジュール、または少なくとも１つのプロセッサ上で実行するソフトウェア・ユニットであってもよい説明されるコンポーネントの機能を実行するための回路を含む。並列な処理スレッドを実行している複数のプロセッサを設けることができ、コンポーネントの機能の一部またはすべての並列な処理を可能にしている。メモリ４０２は、説明されるコンポーネントの機能性を実行するためにコンピュータ命令４０３を少なくとも１つのプロセッサ４０１に提供するように構成することができる。
【０１０１】
サーバ・アクセス制御システム１３０は、認証されたユーザ・セッションの一部としてメモリ内でアクセスされる仮想ファイル・システム１３１へのアクセスを含むか、または有しており、またユーザによって開始されるユーザ・コマンドに続いてアクティブ化されるアクティブなユーザ・セッション・コンポーネント４３１を含むことができる。
【０１０２】
サーバ・アクセス制御システム１３０は、暗号化ファイルの読み込み動作を実行するために、セキュアな環境の外部のユーザ・システムからユーザ・コマンドを受信するためのユーザ・コマンド受信コンポーネント４１４を含むことができ、ユーザ・コマンドはコマンドが対象とするツールからサーバ・アクセス制御システム１３０に向けられている。
【０１０３】
サーバ・アクセス制御システム１３０は、セキュアな環境内の複数のツール用の暗号化ファイルの中央リポジトリ内の、セキュアな環境内に記憶される暗号化ファイルを取得し、仮想ファイル・システム１３１に複製するためのファイル・リクエスト・コンポーネント４１１を含むことができる。暗号化ファイルは重要なデータを維持することができ、ユーザの公開鍵を使用して暗号化される。
【０１０４】
ファイル・リクエスト・コンポーネント４１１はファイル配置コンポーネント４１３を使用して、コマンドが対象とするツールをホストするサーバによって中央リポジトリへリダイレクトされることにより、暗号化ファイルを中央リポジトリに配置することができる。
【０１０５】
ファイル・アクセス・ポリシ・コンポーネント４１２は、セキュアな環境内に記憶されるアクセス権にしたがってユーザのアクセス権を検証するために設けることができる。暗号化ファイル用のアクセス権はまた、中央リポジトリに記憶されてもよい。
【０１０６】
仮想ファイル・システム１３１は、仮想ファイル・システム１３１内の動作と併せて動作するコンポーネントを有することができ、仮想ファイル・システム１３１からの暗号化ファイルの読み込み動作を傍受するファイル読み込み傍受コンポーネント４３２を含む。ファイル読み込み傍受コンポーネント４３２は、例えばソケット転送を使用するセキュアな接続コンポーネント４１９を使用して、セキュアなチャネルをアクティブ化することができる。
【０１０７】
仮想ファイル・システム１３１は、ユーザの秘密鍵を使用してユーザのリモート暗号化デバイスによって復号するために、暗号化ファイルをセキュアなチャネル上でセキュアな環境の外部のクライアント・システム１０８に送信するためのファイル・エクスポート・コンポーネント４３４を含むことができる。仮想ファイル・システム１３１は、ユーザが要求されたユーザ・コマンドを実行する認可において使用するために、仮想ファイル・システム１３１においてクライアント・システム１０８から復号化ファイルにおいて受信するためのファイル・リターン・コンポーネント４３５を含むことができる。
【０１０８】
仮想ファイル・システム１３１は、ファイル満了コンポーネント４３７によって管理され得る所定の一時的な期間に仮想ファイル・システム１３１のキャッシュ４３８内で復号化ファイルをキャッシュするためのファイル・キャッシュ・コンポーネント４３６を含むことができる。仮想ファイル・システム１３１は、暗号化ファイルをセキュアな環境の外部のクライアントに送信するために、ファイル・エクスポート・コンポーネント４３４をアクティブ化する前にキャッシュされた復号化ファイルをチェックするための、キャッシュ・チェック・コンポーネント４３３を含むことができる。
【０１０９】
サーバ・アクセス制御システム１３０は、セキュアな環境内で暗号化ファイルおよびアクセス権を記憶して管理するための、重要データ・ファイル管理システム４２０を含むことができる。管理システム４２０は、ツールに代わって暗号化ファイルを生成するためのファイル暗号化コンポーネント４２１、ファイルを定期的に更新するためのファイル更新コンポーネント４２２、およびユーザによるファイルの使用を監査するためのファイル監査コンポーネント４２３を含むことができる。
【０１１０】
図７を参照すると、ブロック図はユーザ・システム１０８に設けられ得るクライアント・アクセス制御システム１４０の例示の実施形態を示しており、ユーザ・システム１０８は少なくとも１つのプロセッサ４４１、ハードウェア・モジュール、または少なくとも１つのプロセッサ上で実行するソフトウェア・ユニットであってもよい説明されるコンポーネントの機能を実行するための回路を含むことができる。並列な処理スレッドを実行している複数のプロセッサを設けることができ、コンポーネントの機能の一部またはすべての並列な処理を可能にしている。メモリ４４２は、説明されるコンポーネントの機能性を実行するためにコンピュータ命令４４３を少なくとも１つのプロセッサ４４１に提供するように構成することができる。クライアント・システム１０８は、ＨＳＭなどの暗号化デバイス１５０を含むか、またはそれに接続させてもよい。
【０１１１】
クライアント・アクセス制御システム１４０は、ユーザの認証されたセッションの一部としてセキュアな環境内のサーバ上でコマンドの実行をリクエストするためのコマンド・コンポーネント４６１を含むことができ、ここでリクエストは認証されたユーザ・セッションの一部として、セキュアな環境内のサーバ側のメモリ内で仮想ファイル・システムのアクセスを開始する。
【０１１２】
クライアント・アクセス制御システム１４０は、サーバ・アクセス制御システム１３０およびセキュアな環境内の仮想ファイル・システム１３１からクライアント・システム１０８への、セキュアなチャネルを確立するためのセキュアな接続コンポーネント４５０を含むことができる。クライアント・アクセス制御システム１４０は、重要なデータを保持し、セキュアなチャネルを介してユーザの公開鍵を使用して暗号化される暗号化ファイルを受信するための暗号化ファイル受信コンポーネント４６２を含むことができる。
【０１１３】
クライアント・アクセス制御システム１４０は、暗号化デバイス１５０をアクセスし、受信した暗号化ファイルをユーザの秘密鍵を使用して復号するための暗号化デバイス・アクセス・コンポーネント４６３を含むことができる。
【０１１４】
クライアント・アクセス制御システム１４０は、ユーザが要求されたユーザ・コマンドを実行する認可において使用するために、復号化ファイルをサーバ・アクセス制御システム１３０および仮想ファイル・システム１３１に転送するための復号化ファイル・リターン・コンポーネント４６４を含むことができる。
【０１１５】
システムは、ファイアウォールの向こうで提供されるクラウドのインフラストラクチャをサポートするために展開することができる。サーバ・アクセス制御システム１３０および仮想ファイル・システム１３１はクラウド・インフラストラクチャの内部の管理コンソール・マシンに展開することができる。オペレータは与えられたワークステーションからクライアント・アクセス制御システム１４０を介して管理コンソール・マシンに接続することができ、アクセス制御システムは、同時に２つのマシン上で動作することができる。
【０１１６】
オペレータ用にインフラストラクチャのアクセスを提供する際、開発運用（ＤｅｖＯｐｓ）の人物が使用することができるシステムのすべての要素について、単一の多要素かつハードウェアでサポートされる認証メカニズムを使用することが望ましい。しかしながら、システム内部またはリモートのマシン上でその人物が使用し得る特権を与えられたツールへのアクセスを保護することは困難である。典型的には、証明書の使用などのアクセス管理を簡略化することは、リモートのシステム上に秘密鍵などのアクセス資格を記憶することを必要とした。パスワードなどのあまり強固ではない認証を使用することは、管理を複雑化させた。説明した方法およびシステムは、これらの問題に対処する。
【０１１７】
図８を参照すると、コンピュータ・システムまたはサーバの形式のシステム５００の例の概略が示されている。
【０１１８】
コンピュータ・システムまたはサーバ５１２は、多くの他の汎用または専用の、コンピューティング・システム環境または構成で動作可能であり得る。コンピュータ・システム／サーバ５１２での使用に適切であり得る良く知られているコンピューティング・システム、環境、または構成あるいはそれらの組合せの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップのデバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサベースのシステム、セット・トップ・ボックス、プログラム可能家庭用電子機器、ネットワークＰＣ、ミニ・コンピュータ・システム、メインフレーム・コンピュータ・システム、および上記システムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが挙げられるが、それに限定しない。
【０１１９】
コンピュータ・システム／サーバ５１２は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的なコンテキストで説明され得る。一般的に、プログラム・モジュールは、特定のタスクを実施するか、または特定の抽象的なデータ・タイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータ・システム／サーバ５１２は、タスクが通信ネットワークを通じてリンクされたリモート処理デバイスによって実施される分散クラウド・コンピューティング環境において実践することができる。分散クラウド・コンピューティング環境において、プログラム・モジュールはローカルおよびリモートの両方の、メモリ・ストレージ・デバイスを含むコンピュータ・システム記録媒体に配置することができる。
【０１２０】
図８において、コンピュータ・システム／サーバ５１２が汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム／サーバ５１２のコンポーネントは、１つまたは複数のプロセッサまたは処理ユニット５１６、システム・メモリ５２８、およびシステム・メモリ５２８を含む様々なシステム・コンポーネントをプロセッサ５１６に連結するバス５１８を含むことができるが、それに限定されない。
【０１２１】
バス５１８は、バス構造のいくつかのタイプのうちの任意の１つまたは複数を表しており、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、およびプロセッサまたは様々なバス・アーキテクチャの任意のものを使用するローカル・バスを含む。限定ではなく例として、そのようなアーキテクチャとしてはインダストリ・スタンダード・アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカル・バス、およびＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスが挙げられる。
【０１２２】
コンピュータ・システム／サーバ５１２は、典型的には様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム／サーバ５１２によってアクセス可能なあらゆる利用可能な媒体であることができ、揮発性および非揮発性の媒体の両方、ならびにリムーバブルおよび非リムーバブルの媒体の両方を含む。
【０１２３】
システム・メモリ５２８は、ランダム・アクセス・メモリ（ＲＡＭ）５３０またはキャッシュ・メモリ５３２あるいはその両方などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ５１２は、他のリムーバブル／非リムーバブルの、揮発性／非揮発性のコンピュータ・システム記録媒体をさらに含むことができる。単なる例として、非リムーバブル、非揮発性の磁気媒体（典型的には「ハード・ドライブ」と称され、図示せず）からの読み取りおよびそれへの書き込みのためのストレージ・システム５３４を設けることができる。図示していないが、リムーバブル、非揮発性の磁気ディスク（例えば、「フロッピー（Ｒ）・ディスク」）からの読み取りおよびそれへの書き込みのための磁気ディスク・ドライブ、ならびにＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたは他の光学媒体などのリムーバブル、非揮発性の光学ディスクからの読み取りおよびそれへの書き込みのための光学ディスク・ドライブを設けることができる。そのような事例において、それぞれは１つまたは複数のデータ媒体インターフェースによってバス５１８へ接続することができる。以下でさらに描写され説明されるように、メモリ５２８は、本発明の実施形態の機能を実行するように構成されるプログラム・モジュールのセット（例えば、少なくとも１つ）を有する少なくとも１つのプログラム製品を含むことができる。
【０１２４】
プログラム・モジュール５４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ５４０、ならびにオペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データは、限定ではなく例として、メモリ５２８に記憶することができる。オペレーティング・システムのそれぞれ、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データまたはそのいくつかの組合せは、ネットワーク環境の実装を含むことができる。プログラム・モジュール５４２は、一般的に本明細書において説明されるような本発明の実施形態の、機能または方法あるいはその両方を実行する。
【０１２５】
コンピュータ・システム／サーバ５１２はまた、キーボード、ポインティング・デバイス、ディスプレイ５２４などの１つもしくは複数の外部デバイス５１４、ユーザがコンピュータ・システム／サーバ５１２と対話できるようにする１つもしくは複数のデバイス、またはコンピュータ・システム／サーバ５１２が１つもしくは複数の他のコンピューティング・デバイスと通信できるようにするあらゆるデバイス（例えば、ネットワーク・カード、モデムなど）あるいはその組合せと通信することができる。そのような通信は入力／出力（Ｉ／Ｏ）インターフェース５２２を介して行うことができる。さらになお、コンピュータ・システム／サーバ５１２は、ローカル・エリア・ネットワーク（ＬＡＮ）、一般的なワイド・エリア・ネットワーク（ＷＡＮ）、またはネットワーク・アダプタ５２０を介するパブリック・ネットワーク（例えば、インターネット）あるいはその組合せなどの１つまたは複数のネットワークと通信することができる。描写されるように、ネットワーク・アダプタ５２０は、バス５１８を介してコンピュータ・システム／サーバ５１２の他のコンポーネントと通信する。図示していないが、他のハードウェアまたはソフトウェアあるいはその両方のコンポーネントが、コンピュータ・システム／サーバ５１２と併せて使用することができることが理解されるべきである。例としては、マイクロコード、デバイス・ドライバ、冗長化処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、それに限定されない。
【０１２６】
本発明は、統合のあらゆる可能な技術的詳細レベルにおいてシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記録媒体を含むことができる。
【０１２７】
コンピュータ可読記録媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記録媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたは前述のあらゆる適切な組合せであってもよいが、それに限定はしない。コンピュータ可読記録媒体のより具体的な例の非網羅的な列挙としては、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、命令を記録されて有するパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる適切な組合せが挙げられる。本明細書において使用される場合、コンピュータ可読記録媒体は、電波または他の自由に伝搬する電磁波、導波路もしくは他の送信媒体を介して伝搬する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、または電線を介して送信される電気的信号など、一過性の信号そのものであると解釈されてはならない。
【０１２８】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記録媒体から、個別の計算／処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータもしくは外部のストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅の送信ケーブル、光学送信ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを備えることができる。それぞれの計算／処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別の計算／処理デバイス内のコンピュータ可読記録媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【０１２９】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはスモールトーク（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および“Ｃ”プログラミング言語などの手続き型プログラミング言語もしくは類似するプログラミング言語を含む、１つまたは複数のプログラミング言語のあらゆる組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上かつ一部はリモートのコンピュータ上で、またはすべて遠隔のコンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオにおいて、リモートのコンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は外部のコンピュータ（例えば、インターネット・サービス・プロバイダを使用するインターネットを介して）に対してなされてもよい。一部の実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個別化することができる。
【０１３０】
本発明の態様は本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【０１３１】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能／作用を実装する手段を作成すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶して有するコンピュータ可読記録媒体が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能／作用の態様を実装する命令を含む製造物品を備えるべく、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示することができるコンピュータ可読記録媒体に記憶されてもよい。
【０１３２】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能／作用を実装するべく、コンピュータ実装処理を作るために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作可能なステップを実施させるものであってもよい。
【０１３３】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態にしたがって、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための１つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実装形態において、ブロックにおいて示した機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される２つのブロックは、実際には実質的に同時に実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは作用を実施する、または専用ハードウェアおよびコンピュータ命令の組合せを実行する、専用ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【０１３４】
クラウド・コンピューティング
本開示はクラウド・コンピューティングについての詳細な説明を含むが、本明細書に記載される教示の実装形態はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ本発明の実施形態は、現在既知のまたは後に開発されるあらゆる他のタイプのコンピューティング環境と併せて実装することができる。
【０１３５】
クラウド・コンピューティングは、最小限の管理努力またはサービスのプロバイダとの対話で迅速にプロビジョニングおよびリリースされ得る、便利でオン・デマンドの構成可能なコンピューティング・リソースの共有されるプールへ（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシン、およびサービス）のネットワーク・アクセスを可能とするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、および少なくとも４つの展開モデルを含むことができる。
【０１３６】
特徴は以下のとおりである：
オン・デマンド・セルフサービス：クラウド消費者は、サービスのプロバイダとの人間対話を要求することなく必要に応じて自動的に、サーバ時間およびネットワーク記憶装置などのコンピューティング機能を一方的にプロビジョニングすることができる。
幅広いネットワーク・アクセス：機能はネットワーク上で利用可能であり、異質なシンまたはシックなクライアントのプラットフォーム（例えば、携帯電話、ラップトップ、およびＰＤＡ）による使用を促進する標準的なメカニズムを通じてアクセスされる。
リソース・プール：プロバイダのコンピューティング・リソースは、マルチテナントのモデルを使用する複数の消費者にサービス提供するためにプールされ、異なる物理的および仮想的なリソースが要求にしたがって動的に割り当ておよび再割り当てされる。消費者が提供されるリソースの正確な場所についての制御または情報を一般的に持たない点で、場所の独立性の意味があるが、より高レベルの抽象化（例えば、国、州、またはデータセンタ）において場所を特定できることもある。
迅速な拡張性：機能は迅速かつ拡張可能にプロビジョニングすることができ、いくつかの場合において、自動的に、素早くスケール・アウトされ、迅速にリリースされて素早くスケール・インされる。消費者にとって、プロビジョニングのために利用可能な機能は、しばしば無制限なようで、いつでもいくらでも購入することができる。
サービスが計測される：クラウド・システムは、サービスのタイプ（例えば、記憶装置、処理、帯域幅、およびアクティブなユーザ・アカウント）に適当な抽象化のいくつかのレベルにおいて計測機能を活用することによりリソースの使用を自動的に制御し、かつ最適化する。リソースの使用は監視され、制御され、かつ報告され得、利用されるサービスのプロバイダおよび消費者の両方にとって透明性を与えている。
【０１３７】
サービス・モデルは以下のとおりである：
サービスとしてのソフトウェア（Software as a Service（ＳａａＳ））：消費者に提供される機能は、クラウド・インフラストラクチャで実行するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース（例えば、ウェブ・ベースの電子メール）を通じて様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、記憶装置、またはさらには個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、例外として限定されたユーザ固有アプリケーションの構成設定が可能である。
サービスとしてのプラットフォーム（Platform as a Service（ＰａａＳ））：消費者に提供される機能は、プロバイダによって供給されるプログラミング言語およびツールを使用して作成された、消費者により作成されたまたは取得されたアプリケーションをクラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、または記憶装置を含む基礎となるクラウド・インフラストラクチャの管理または制御をしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションについての制御を有する。
サービスとしてのインフラストラクチャ（Infrastructure as a Service（ＩａａＳ））：消費者に提供される機能は、消費者がオペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行することができる処理、記憶装置、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることである。消費者は、基礎となるクラウド・インフラストラクチャの管理または制御をしないが、オペレーティング・システム、記憶装置、展開されたアプリケーション、および場合によっては選択ネットワーク・コンポーネント（例えば、ホスト・ファイアウォール）の限定された制御についての制御を有する。
【０１３８】
展開モデルは以下のとおりである：
プライベート・クラウド：クラウド・インフラストラクチャはある組織のためだけに運用される。その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
コミュニティ・クラウド：クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される事案（例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス懸案事項）を有する特定のコミュニティをサポートする。その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆または大規模な業界団体に対して利用可能とされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：クラウド・インフラストラクチャは、一意なエンティティのままである２つ以上のクラウド（プライベート、コミュニティ、またはパブリック）を組合せたものであるが、データおよびアプリケーションのポータビリティを可能にする標準化された、または専有的な技術（例えば、クラウド間でロード・バランシングを行うためのクラウド・バースト）によって結合される。
【０１３９】
クラウド・コンピューティング環境は、無国籍、低い結合性、モジュール性、および意味論的な相互運用性に集中するサービス指向である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【０１４０】
次に図９を参照すると、例示的なクラウド・コンピューティング環境６５０が描写されている。示されるように、クラウド・コンピューティング環境６５０は、例えば、携帯情報端末（ＰＤＡ）または携帯電話６５４Ａ、デスクトップ・コンピュータ６５４Ｂ、ラップトップ・コンピュータ６５４Ｃ、または自動車コンピュータ・システム６５４Ｎあるいはその組合せなどのクラウドの消費者によって使用されるローカルのコンピューティング・デバイスと通信することができる１つまたは複数のクラウド・コンピューティング・ノード６１０を含む。ノード６１０は互いに通信することができる。本明細書において上述のようなプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウドまたはその組合せなどの１つまたは複数のネットワークにおいて、それらは物理的または仮想的にグループ化することができる（図示せず）。これにより、クラウド・コンピューティング環境６５０は、クラウドの消費者がローカルのコンピューティング・デバイスでリソースを維持する必要のない、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せをサービスとして与えることができる。図９に示されるコンピューティング・デバイス６５４Ａ〜Ｎのタイプは、図示的であることのみを意図されており、コンピューティング・ノード６１０およびクラウド・コンピューティング環境６５０は、あらゆるタイプのネットワーク上またはネットワーク・アドレス可能接続上（例えば、ウェブ・ブラウザを使用して）あるいはその両方であらゆるタイプのコンピュータ化されたデバイスと通信することができることが理解されよう。
【０１４１】
図１０を参照すると、クラウド・コンピューティング環境６５０（図９）によって提供される機能的な抽象化レイヤのセットが示されている。図１０に示されるコンポーネント、レイヤ、および機能は、図示であることのみを意図されており、本発明の実施形態はそれに限定されないことがまず理解されるべきである。描写されるように、以下のレイヤおよび対応する機能が提供される。
【０１４２】
ハードウェアおよびソフトウェア・レイヤ７６０は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、以下が挙げられる：メインフレーム７６１、縮小命令セット・コンピュータ（Reduced Instruction Set Computer（ＲＩＳＣ））アーキテクチャ・ベースのサーバ７６２、サーバ７６３、ブレード・サーバ７６４、ストレージ・デバイス７６５、ならびにネットワークおよびネットワーク・コンポーネント７６６。いくつかの実施形態において、ソフトウェア・コンポーネントはネットワーク・アプリケーション・サーバ・ソフトウェア７６７、およびデータベース・ソフトウェア７６８を含む。
【０１４３】
仮想化レイヤ７７０は、仮想エンティティの以下の例を提供することができる抽象化レイヤを与える：仮想サーバ７７１、仮想ストレージ７７２、仮想プライベート・ネットワークを含む仮想ネットワーク７７３、仮想アプリケーションおよびオペレーティング・システム７７４、および仮想クライアント７７５。
【０１４４】
一例において、管理レイヤ７８０は以下で説明される機能を提供することができる。リソース・プロビジョニング７８１は、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計測および課金７８２は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費についての課金または請求書発行を提供する。一例において、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクについての識別情報の検証、ならびにデータおよび他のリソースについての保護を提供する。ユーザ・ポータル７８３はクラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス水準管理７８４は、要求されるサービス水準が満たされるように、クラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス水準合意（ＳＬＡ）計画および遂行７８５は、将来的な要求がＳＬＡにしたがって予期されるクラウド・コンピューティング・リソースについての事前申し合わせ、およびその調達を提供する。
【０１４５】
ワークロード・レイヤ７９０はクラウド・コンピューティング環境が利用され得る機能性の例を提供する。このレイヤからもたらされ得るワークロードおよび機能の例として以下が挙げられる：マッピングおよびナビゲーション７９１、ソフトウェア開発およびライフサイクル管理７９２、仮想授業教育配信７９３、データ分析処理７９４、取引処理７９５、ならびにセキュアなアクセス管理処理および重要な情報の管理７９６。
【０１４６】
例示を目的として本発明の様々な実施形態の説明を提示してきたが、網羅的であること、または開示された実施形態に限定することは意図されていない。説明された実施形態の範囲および思想から逸脱することなく、多くの修正形態および変形形態が当業者にとって明らかとなろう。本明細書において使用される用語法は、実施形態の原理、実践的な用途もしくは市場で見られる技術に対する技術的な改善を最良に説明するため、または当業者の他の者が本明細書において開示される実施形態を理解できるように選ばれたものである。
【０１４７】
本発明の範囲から逸脱することなく、前述のものに対して改善および修正がなされ得る。
【図１】
2021500782.tif 000003
【図２】
2021500782.tif 000004
【図３】
2021500782.tif 000005
【図４】
2021500782.tif 000006
【図５】
2021500782.tif 000007
【図６】
2021500782.tif 000008
【図７】
2021500782.tif 000009
【図８】
2021500782.tif 000010
【図９】
2021500782.tif 000011
【図１０】
2021500782.tif 000012
【国際調査報告】
2021500782.tif 000013
2021500782.tif 000014