JP2023530756A - 秘密の計算の管理 - Google Patents
秘密の計算の管理 Download PDFInfo
- Publication number
- JP2023530756A JP2023530756A JP2022578959A JP2022578959A JP2023530756A JP 2023530756 A JP2023530756 A JP 2023530756A JP 2022578959 A JP2022578959 A JP 2022578959A JP 2022578959 A JP2022578959 A JP 2022578959A JP 2023530756 A JP2023530756 A JP 2023530756A
- Authority
- JP
- Japan
- Prior art keywords
- secrets
- computer
- read request
- pseudo
- obtaining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 12
- 230000000977 initiatory effect Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 5
- 230000003278 mimic effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000008520 organization Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Facsimiles In General (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
方法は、クライアント・プログラムからの読み取り要求を受信することを含むことができる。この方法は、読み取り要求を受信することに応じて、1つまたは複数の秘密を秘密ストアから取得することをさらに含むことができる。取得することは、1つまたは複数の秘密を格納場所に格納することを含むことができる。この方法は、読み取り要求に応じて、1つまたは複数の秘密のクライアント・プログラムへの送信を開始することをさらに含むことができる。この方法は、1つまたは複数の秘密を格納場所から削除することをさらに含むことができる。
Description
本開示は、コンピューティング・システム構成要素間の通信に関し、より詳細には、秘密の計算の管理に関する。
多層アーキテクチャを有するコンピューティング・システムなどのコンピューティング・システムは、離散的システム構成要素(discrete system components)が外在インターフェースを通して互いに通信するように構成することができる。セキュリティの目的で、そのような離散的システム構成要素は、データへのアクセスを許可する前に、トークン、キー、またはパスワード、あるいはその組合せなどの秘密を他のシステム構成要素から取得するように構成することができる。そのような秘密は、第2のシステム構成要素のデータにアクセスしようとする第1のシステム構成要素のアイデンティティまたは真正性あるいはその両方を検証することができる。
本開示の実施形態によれば、方法は、クライアント・プログラムからの読み取り要求を受信することを含むことができる。この方法は、1つまたは複数の秘密を秘密ストア(secrets store)から取得することをさらに含むことができる。取得することは、読み取り要求を受信することに応じて実行され得る。取得することは、1つまたは複数の秘密を格納場所に格納することを含むことができる。この方法は、1つまたは複数の秘密のクライアント・プログラムへの送信を開始することをさらに含むことができる。開始することは、読み取り要求に応じて実行され得る。この方法は、1つまたは複数の秘密を格納場所から削除することをさらに含むことができる。
上述の方法に対応するシステムおよびコンピュータ・プログラム製品も本明細書に含まれる。
上述の概要は、本開示の例示された各実施形態またはすべての実施態様を説明するように意図されていない。
本出願に含まれる図面は、本明細書に組み込まれ、本明細書の一部を形成する。それらは、本開示の実施形態を示し、説明とともに、本開示の原理を説明するのに役立つ。図面は、特定の実施形態の単なる例示であり、本開示を限定しない。
本発明は、様々な変形形態および代替形態を受け入れることができるが、その詳細は、例として図面に示されており、詳細に説明されることになる。しかしながら、その意図は、本発明を特定の記載された実施形態に限定することではないことが理解されるべきである。それどころか、その意図は、本発明の思想および範囲内にあるすべての変形、均等物、および代替を含むことである。
本開示の態様は、コンピューティング・システム構成要素間の通信に関し、より具体的な態様は、秘密の計算の管理に関する。本開示は、そのような用途に必ずしも限定されないが、本開示の様々な態様は、この文脈を使用する様々な例の議論を通して認識され得る。
多層アーキテクチャを有するコンピューティング・システムなどのコンピューティング・システムは、離散的システム構成要素が外在インターフェースを通して互いに通信するように構成することができる。セキュリティの目的で、そのような離散的システム構成要素は、データへのアクセスを許可する前に、トークン、キー、またはパスワード、あるいはその組合せなどの秘密を他のシステム構成要素から取得するように構成することができる。そのような秘密は、第2のシステム構成要素のデータにアクセスしようとする第1のシステム構成要素のアイデンティティまたは真正性あるいはその両方を検証することができる。
いくつかの例では、コンピューティング・システムは、秘密がコンピュータ・ファイルなどのファイルシステム・オブジェクトに格納されるように構成することができる。そのようなファイルシステム・オブジェクトは、1つまたは複数の離散的システム構成要素に格納することができる。これらの例では、そのようなファイルシステム・オブジェクトを格納する第1の離散的システム構成要素(例えば、クライアント・システム)は、ファイルシステム・オブジェクトを読み取ることによって秘密を取得することができる。その後、第1のシステム構成要素は、秘密を第2のシステム構成要素(例えば、プロバイダ・システム)に送信することができる。秘密を受信したことに応じて、第2のシステム構成要素は、第1のシステム構成要素のアイデンティティを検証し、第1のシステム構成要素が情報にアクセスすることを許可することができる。
秘密をファイルシステム・オブジェクトにそのように格納するのは、ファイルシステム・オブジェクトが、潜在的に、離散的システム構成要素で無期限にアクセス可能なままになる可能性があるので、コンピューティング・システムを侵入に対して脆弱にする可能性がある。したがって、秘密は、離散的システム構成要素がセキュリティ侵害の影響を受けやすいときはいつでもセキュリティ侵害の影響を受けやすい可能性がある。加えて、離散的システム構成要素の外部の場所から秘密を格納またはアクセスあるいはその両方を行うためにそのようなコンピューティング・システムを変更するには、複数の離散的システム構成要素のためのカスタム・プログラミングが必要とされることがある。そのような変更は、各離散的システム構成要素と、秘密を格納することができる1つまたは複数の外部デバイスとの間に追加のインターフェース、動作、および同期パラメータを導入することを含むことがある。その結果、そのような変更は、実施および維持することが煩雑であることがある。
これらおよび他の課題に対処するために、本開示の実施形態は、秘密エンジンを含む。いくつかの実施形態では、秘密エンジンは、ファイルシステム・オブジェクトに格納された秘密を利用するように構成されているコンピューティング・システムにおける秘密の管理を抽象化することができる。より具体的には、いくつかの実施形態では、秘密エンジンは、秘密を秘密ストアから取得し、その秘密を疑似ファイルシステム・オブジェクト(pseudo-filesystem object)のデータ・コンテンツとして提示し、その秘密を削除することができる。いくつかの実施形態では、疑似ファイルシステム・オブジェクトは、秘密を格納するファイルシステム・オブジェクトの機能および外観に似ている機能および外観を有するように構成することができる。したがって、いくつかの実施形態において、秘密エンジンは、疑似ファイルシステム・オブジェクトを読み取るためのコンピュータ・プログラムによる1つまたは複数の動作に応じて、秘密の取得および提示などの動作を実行することができる。それゆえに、いくつかの実施形態では、秘密エンジンは、1つまたは複数のシステム構成要素によって認識され得ない方法で、そのようなファイルシステム・オブジェクトを置き換えることができる。
本開示の実施形態は、複数の利点を含むことができる。例えば、いくつかの実施形態では、秘密エンジンは、読み取り要求に応じて秘密を取得し、秘密が読み取られたという指標に応じて秘密を削除することができる。したがって、本開示の実施形態は、離散的システム構成要素上の秘密の存在を制限することができ、それは、離散的システム構成要素または対応するコンピューティング・システムあるいはその両方への侵入に対する1つまたは複数の脆弱性を減らすことができる。
いくつかの実施形態では、秘密エンジンのプログラム命令は、離散的システム構成要素が1つまたは複数の秘密ストアから秘密を取得することを可能にすることができる。そのような実施可能性は、1つまたは複数の秘密ストアとの通信を可能にするために離散的システム構成要素のプログラム命令へのカスタム変更などの変更を導入する必要なしに、離散的システム構成要素に役立つことができる。したがって、本開示の実施形態は、既存のコンピューティング・システムとの効率的な統合を容易にすることができる。加えて、そのような統合は、単に疑似ファイルシステム・オブジェクトを対象とした1つまたは複数の読み取り操作に基づいて秘密管理を実行する秘密エンジンの機能によって容易にされ得る。その結果、本開示の実施形態は、コンピューティング・システムの離散的システム構成要素が効率的におよび改善されたセキュリティで通信することを可能にすることができる。
図を参照すると、図1は、秘密エンジン105、クライアント・システム125、秘密ストア140、プロバイダ・システム150、またはネットワーク160、あるいはその組合せの各々の1つまたは複数を含むコンピューティング環境100を示す。いくつかの実施形態では、少なくとも1つの秘密エンジン105、クライアント・システム125、秘密ストア140、またはプロバイダ・システム150、あるいはその組合せは、少なくとも1つのネットワーク160を通して少なくとも1つの他のものとデータを交換することができる。例えば、いくつかの実施形態では、少なくとも1つの秘密エンジン105は、少なくとも1つのネットワーク160を通して少なくとも1つの秘密ストア140とデータを交換することができる。秘密エンジン105、クライアント・システム125、秘密ストア140、プロバイダ・システム150、またはネットワーク160、あるいはその組合せの各々の1つまたは複数は、図3に関して論じられるコンピュータ・システム301などのコンピュータ・システムを含むことができる。
いくつかの実施形態では、秘密エンジン105は、クライアント・システム125のコンピュータ・システムにインストールされたソフトウェアに含まれてもよい。例えば、いくつかの実施形態では、秘密エンジン105は、クライアント・システム125にインストールされたソフトウェアのプラグイン・ソフトウェア・コンポーネントとして含まれてもよい。秘密エンジン105は、図2に関して論じられる1つまたは複数の動作を実行するために、クライアント・システム125のプロセッサなどのプロセッサによって実施されるプログラム命令を含むことができる。
いくつかの実施形態では、秘密エンジン105は、疑似ファイルシステム・オブジェクト110、デーモン115、またはタイミング・マネージャ120、あるいはその組合せのうちの1つまたは複数などの1つまたは複数のモジュールを含むことができるコンピュータ・プログラムとすることができる。いくつかの実施形態では、疑似ファイルシステム・オブジェクト110、デーモン115、またはタイミング・マネージャ120、あるいはその組合せのうちの1つまたは複数は、単一モジュールに統合することができる。いくつかの実施形態では、疑似ファイルシステム・オブジェクト110、デーモン115、またはタイミング・マネージャ120、あるいはその組合せのうちの1つまたは複数は、図2に関して論じられる1つまたは複数の動作を実行するために、クライアント・システム125のプロセッサなどのプロセッサによって実施されるプログラム命令を含むことができる。例えば、いくつかの実施形態では、疑似ファイルシステム・オブジェクト110は、図2の動作205を実行するためのプログラム命令を含むことができる。いくつかの実施形態では、デーモン115は、図2の動作215および225~235を実行するためのプログラム命令を含むことができる。いくつかの実施形態では、タイミング・マネージャ120は、図2の動作210および220を実行するためのプログラム命令を含むことができる。
図1に戻って参照すると、いくつかの実施形態では、疑似ファイルシステム・オブジェクト110は、データ(例えば、秘密)を格納するコンピュータ・ファイルなどのファイルシステム・オブジェクトを模倣することができる。ファイルシステム・オブジェクトの模倣は、ファイルシステム・オブジェクトの1つまたは複数のプロパティまたは特性あるいはその両方を示す疑似ファイルシステム・オブジェクト110を指すことができる。
例えば、いくつかの実施形態では、ファイルシステム・オブジェクトのように、疑似ファイルシステム・オブジェクト110は、クライアント・プログラム130などのコンピュータ・プログラムからの要求を受信して、(例えば、データをコンピュータ・プログラムに提示するために)読み取ることができる。それに応じて、ファイルシステム・オブジェクトのように、疑似ファイルシステム・オブジェクト110は、データをそのようなコンピュータ・プログラムに提示することができる。別の例では、いくつかの実施形態において、疑似ファイルシステム・オブジェクト110からのデータを要求するコンピュータ・プログラムは、ファイルシステム・オブジェクトからのデータを要求するコンピュータ・プログラムがファイル記述子を開くコンピュータ・プログラムを含むことができるのと全く同じように、ファイル記述子を開くことができる。この例を続けると、コンピュータ・プログラムは、コンピュータ・プログラムが疑似ファイルシステム・オブジェクト110からのデータを取得したことに応じて、疑似ファイルシステム・オブジェクト110に対応するファイル記述子を閉じることができる。そのように閉じることは、コンピュータ・プログラムがファイルシステム・オブジェクトからのデータを取得したことに応じて、コンピュータ・プログラムがファイルシステム・オブジェクトに対応するファイル記述子を閉じることに類似し得る。いくつかの実施形態では、ファイル記述子は、コンピュータ・プログラムによってアクセスされるファイルシステム・オブジェクトに対応する英数字コードなどのアイデンティフィケーションを含むことができる。したがって、ファイル記述子を開くことは、コンピュータ・プログラムがファイルシステム・オブジェクトまたは疑似ファイルシステム・オブジェクトにアクセスするときにコンピュータ・プログラムがそのようなアイデンティフィケーションを生成および格納することを含むことができ、ファイル記述子を閉じることは、ファイルシステム・オブジェクトまたは疑似ファイルシステム・オブジェクトからデータを取り出したことに応じて、コンピュータ・プログラムが、そのようなアイデンティフィケーションを除去すること(例えば、ファイル記述子を削除すること、またはファイル記述子とファイルシステム・オブジェクトの間の関連付けを削除すること、あるいはその両方)を含むことができる。したがって、いくつかの実施形態では、ファイルシステム・オブジェクトを模倣することよって、疑似ファイルシステム・オブジェクト110は、疑似ファイルシステム・オブジェクト110を読み取るためのコンピュータ・プログラムによる動作に応じて、データをコンピュータ・プログラムに提示することができ、そのようなデータ提示は、コンピュータ・プログラムがファイルシステム・オブジェクトを読み取るときにファイルシステム・オブジェクトがデータをコンピュータ・プログラムに提示することと実質的に類似し得る。
別の例において、いくつかの実施形態では、疑似ファイルシステム・オブジェクト110は、ファイルシステム・オブジェクトを格納することができる方法に似ている方法で格納することができる。例えば、いくつかの実施形態では、疑似ファイルシステム・オブジェクト110は、ファイルシステム・オブジェクトを一般に格納する場所に格納することができる。別の例では、いくつかの実施形態では、疑似ファイルシステム・オブジェクト110は、ファイルシステム・オブジェクトのファイル名と同一かまたは実質的に類似するファイル名を含むことができる。したがって、いくつかの実施形態では、ファイルシステム・オブジェクトを模倣することによって、疑似ファイルシステム・オブジェクト110は、ファイルシステム・オブジェクトの機能および外観に似ている機能および外観を有することができる。
いくつかの実施形態では、デーモン115は、開かれたファイル記述子の指標を取得すること、1つまたは複数の秘密145を取得すること、1つまたは複数の秘密145の送信を開始すること、閉じられたファイル記述子の指標を取得すること、または1つまたは複数の秘密145を削除すること、あるいはその組合せなどの動作を実行することができる。いくつかの実施形態では、デーモン115は、秘密エンジン105の対応する疑似ファイルシステム・オブジェクト110に関してそのような動作を実行することができる。いくつかの実施形態では、タイミング・マネージャ120は、タイマを開始し、いつ閾値時間が満了するかを決定することができる。
いくつかの実施形態では、クライアント・システム125は、プロバイダ・システム150からのデータ155を取得するように構成されたコンピューティング・デバイスを含むことができる。クライアント・システム125は、クライアント・プログラム130および格納場所135を含むことができる。いくつかの実施形態では、クライアント・プログラム130は、ファイルシステム・オブジェクトを読み取ること(例えば、ファイルシステム・オブジェクトからのデータを取得すること)、1つまたは複数の秘密を取得し、1つまたは複数の秘密をプロバイダ・システム150に送信すること、データ155を取得すること、ファイル記述子を開くこと、またはファイル記述子を閉じること、あるいはその組合せなどの動作を実行するためのプログラム命令を有するコンピュータ・プログラムを含むことができる。いくつかの実施形態では、格納場所135は、図3に関して論じられるメモリ320などのメモリを含むことができる、いくつかの実施形態では、格納場所135は、クライアント・システム125のランダム・アクセス・メモリ(「RAM」)を含むことができる。
いくつかの実施形態では、秘密ストア140は、1つまたは複数の秘密145を格納することができるWebサーバなどのコンピューティング・デバイスを含むことができる。いくつかの実施形態では、秘密ストア140は、1つまたは複数の秘密145へのアクセスを制限するために、1つまたは複数の暗号化の層などの複数のデータ・セキュリティ機能を利用することができる。秘密145は、データ155などのデータにアクセスするためにクライアント・プログラム130などのエンティティによって使用されるデータを含むことができる。例えば、いくつかの実施形態では、秘密145は、パスワード、接続ストリング、ユーザ名、キー、またはトークン、あるいはその組合せなどのデータを含むことができる。
いくつかの実施形態では、プロバイダ・システム150は、データ155を格納することができるWebサーバなどのコンピューティング・デバイスを含むことができる。いくつかの実施形態では、プロバイダ・システム150は、クライアント・システム125のクライアント・プログラム130からの1つまたは複数の秘密145を受信することに応じて、データ155へのアクセスを許可することができる。
いくつかの実施形態では、ネットワーク160は、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、インターネット、またはイントラネットとすることができる。いくつかの実施形態では、ネットワーク160は、図4に関して論じられるクラウド・コンピューティング環境50と実質的に類似するか、または同じであり得る。
秘密エンジン105の例示の動作では、クライアント・システム125は、ネットワーク160を通してプロバイダ・システム150(例えば、金融機関のサーバ)からデータ155(例えば、口座残高データ)を取得するように構成された現金自動預け払い機(「ATM」)であり得る。さらに、この例では、クライアント・システム125は、ファイルシステム・オブジェクト(例えば、コンピュータ・ファイル)を格納するように構成することができ、ファイルシステム・オブジェクトは、秘密(例えば、プロバイダ・システム150のデータ155にアクセスするための認証コード)を格納することができる。クライアント・プログラム130は、ファイルシステム・オブジェクトを読み取ることによって秘密を取得するように構成することができる。しかしながら、この例では、秘密エンジン105を使用することによって、クライアント・システム125は、そのような秘密を含むそのようなファイルシステム・オブジェクトを格納しない。代わりに、この例では、クライアント・プログラム130は、疑似ファイルシステム・オブジェクト110に読み取り要求を送信することによって、そのような秘密を取得することができる。そのような読み取り要求に応じて、デーモン115は、秘密145(例えば、認証コード)を秘密ストア140(例えば、安全なWebサーバ)から取得し、秘密145を格納場所135(例えば、クライアント・システム125のRAM)に格納することができる。さらに、この例では、デーモン115は、クライアント・プログラム130によって取得され得る疑似ファイルシステム・オブジェクト110のコンテンツとして秘密145を提示することができる。その結果、この例では、疑似ファイルシステム・オブジェクト110は、秘密を格納するファイルシステム・オブジェクトの代わりに機能することができる。この例を続けると、クライアント・プログラム130が秘密145(例えば、ファイル記述子が閉じられているという指標)を取り出したという指標を受信したことに応じて、デーモン115は、格納場所135から秘密145を削除することができる。この例を続けると、クライアント・プログラム130は、データ155(例えば、口座残高データ)にアクセスするために、プロバイダ・システム150(例えば、金融機関のサーバ)に秘密145(例えば、認証コード)を送信することができる。本開示のさらなる動作は、図2に関して以下で論じられる。
図2は、本開示の実施形態による、1つまたは複数の秘密を管理するための例示の方法200のフローチャートを示す。方法200は、図1の秘密エンジン105などの秘密エンジンによって実行され得る。
図2に戻って参照すると、動作205において、秘密エンジンは、読み取り要求を受信することができる。いくつかの実施形態では、読み取り要求は、ファイルシステム・オブジェクトからのデータを取得するために、図1のクライアント・プログラム130などのコンピュータ・プログラムによって発行される要求を指すことができる。いくつかの実施形態では、読み取り要求は、ファイルシステム・オブジェクトがデータをコンピュータ・プログラムに提供するために、そのようなコンピュータ・プログラムによって発行されるコマンドを指すことができる。いくつかの実施形態では、動作205は、秘密エンジンが、初期時間に、ファイル記述子が開かれているという指標を取得することを含むことができる。これらの実施形態において、そのようなファイル記述子は、秘密エンジンの疑似ファイルシステム・オブジェクトに対応することができる。
例えば、いくつかの実施形態では、秘密エンジンの疑似ファイルシステム・オブジェクトは、クライアント・システムのクライアント・プログラムからの読み取り要求を受信することができる。読み取り要求は、クライアント・プログラムが疑似ファイルシステム・オブジェクトからのデータを要求することに基づくことができる。いくつかの実施形態では、クライアント・プログラムは、疑似ファイルシステム・オブジェクトからのデータを要求するとき、ファイル記述子を開くことができる。クライアント・プログラムは、図1のクライアント・システム125などの離散的システム構成要素にファイル記述子を格納することができる。これらの実施形態では、秘密エンジンのデーモンは、疑似ファイルシステム・オブジェクトに対応するファイル記述子が開かれたとき(例えば、疑似ファイルシステム・オブジェクトに対応する英数字コードが、生成されるか、または格納されるか、あるいはその両方であるとき)を検出するために、クライアント・システムなどの離散的システム構成要素をモニタするためのプログラム命令を含むことができる。
動作210において、秘密エンジンは、タイマを開始することができる。例えば、動作205に応じて、秘密エンジンのタイミング・マネージャは、タイマを開始して、経過時間をモニタし、5秒などの閾値時間が満了したときを決定することができる。いくつかの実施形態では、閾値時間は、秘密エンジンのプログラマなどのエンティティによって選択され得る。
動作215において、秘密エンジンは、1つまたは複数の秘密を図1の秘密ストア140などの秘密ストアから取得することができる。いくつかの実施形態では、動作215は、秘密エンジンが、秘密ストアに格納された秘密にアクセスし、秘密ストアからの1つまたは複数の秘密を格納することを含むことができる。いくつかの実施形態では、秘密エンジンは、動作205において読み取り要求を受信したことに応じて、動作215を実行することができる。いくつかの実施形態では、秘密エンジンは、動作205において、疑似ファイルシステム・オブジェクトに対応するファイル記述子が開かれているという指標を取得したことに応じて、動作215を実行することができる。いくつかの実施形態では、動作215は、秘密エンジンのデーモンが1つまたは複数の秘密を秘密ストアから1つまたは複数の暗号化されたチャネルを通して取得することを含むことができる。いくつかの実施形態では、動作215は、秘密エンジンのデーモンがクライアント・システムのメモリなどの格納場所に1つまたは複数の秘密を一時的に格納することを含むことができる。
動作220において、秘密エンジンは、閾値時間が満了したかどうかを決定することができる。動作220において、閾値時間が満了したと秘密エンジンが決定した場合、秘密エンジンは動作235に進むことができる。あるいは、閾値時間が満了していないと秘密エンジンが決定した場合、秘密エンジンは動作225に進むことができる。
例えば、動作220において、秘密エンジンのタイミング・マネージャは、動作210おけるタイマの開始後の経過時間が閾値時間に等しいかどうかを決定することができる。この例では、閾値時間は、経過時間が閾値時間と等しいときに満了する。いくつかの実施形態では、動作220は、1つまたは複数の秘密が離散的システム構成要素で無期限にアクセス可能なままであることを動作220が防止できるので、秘密エンジンによって実行される秘密管理に追加のセキュリティを提供することができる。
動作225において、秘密エンジンは、動作205において受信した読み取り要求に応じて動作215において取得した1つまたは複数の秘密の送信を開始することができる。いくつかの実施形態では、そのように開始することは、秘密エンジンのデーモンが、疑似ファイルシステム・オブジェクトの内部の1つまたは複数の秘密を疑似ファイルシステム・オブジェクトのデータ・コンテンツとして提示することを含むことができる。いくつかの実施形態では、動作215は、秘密エンジンのデーモンがベース64エンコードされたテキストなどのエンコードされたテキストで1つまたは複数の秘密を提示することを含むことができる。いくつかの実施形態では、動作225において、秘密エンジンは、図1のクライアント・プログラム130などのコンピュータ・プログラムが疑似ファイルシステム・オブジェクトから1つまたは複数の秘密を取り出すことを可能にすることができる。
動作230において、秘密エンジンは、閉じられている疑似ファイルシステム・オブジェクトに対応するファイル記述子の指標を取得することができる。いくつかの実施形態では、秘密エンジンは、初期時間の後の第2の時間にそのような指標を取得することができる。例えば、いくつかの実施形態では、コンピュータ・プログラム(例えば、図1のクライアント・プログラム130)は、疑似ファイルシステム・オブジェクトから1つまたは複数の秘密を取り出したことに応じてファイル記述子を閉じることができる。これらの実施形態では、秘密エンジンのデーモンは、離散的システム構成要素(例えば、図1のクライアント・システム125)をモニタして、疑似ファイルシステム・オブジェクトに対応するファイル記述子が閉じられたとき(例えば、ファイル記述子、またはファイル記述子と疑似ファイルシステム・オブジェクトとの間の関連付け、あるいはその両方が削除されたとき)を検出するためのプログラム命令を含むことができる。
動作235において、秘密エンジンは、動作215において格納された1つまたは複数の秘密を削除することができる。いくつかの実施形態では、秘密エンジンは、動作230において、疑似ファイルシステム・オブジェクトに対応するファイル記述子が閉じられているという指標を取得したことに応じて、動作235を実行することができる。いくつかの実施形態では、動作235は、秘密エンジンのデーモンがデータ・コンテンツとしての疑似ファイルシステム・オブジェクトの内部の提示から1つまたは複数の秘密を除去することを含むことができる。いくつかの実施形態では、動作235は、秘密エンジンのデーモンが格納場所から1つまたは複数の秘密を除去することを含むことができる。いくつかの実施形態では、動作235は、秘密エンジンのタイミング・マネージャが経過時間のモニタリングを終了することを含むことができる。
図3は、本開示の実施形態に従って使用することができる例示的なコンピュータ・システム301の代表的な主要構成要素を示す。図示の特定の構成要素は、単に例示の目的のために提示され、そのようなバリエーションだけが必要ということではない。コンピュータ・システム301は、プロセッサ310、メモリ320、入力/出力インターフェース(本明細書ではI/OまたはI/Oインターフェースとも呼ぶ)330、およびメイン・バス340を含むことができる。メイン・バス340は、コンピュータ・システム301の他の構成要素への通信経路を提供することができる。いくつかの実施形態では、メイン・バス340は、専用のデジタル信号プロセッサ(図示せず)などの他の構成要素に接続することができる。
コンピュータ・システム301のプロセッサ310は、1つまたは複数のCPU312で構成することができる。プロセッサ310は、追加として、命令およびデータの一時的格納をCPU312に提供する1つまたは複数のメモリ・バッファまたはキャッシュ(図示せず)で構成することができる。CPU312は、キャッシュまたはメモリ320から提供される入力に命令を実行し、結果をキャッシュまたはメモリ320に出力することができる。CPU312は、本開示の実施形態と一致する1つまたは複数の方法を実行するように構成された1つまたは複数の回路で構成することができる。いくつかの実施形態では、コンピュータ・システム301は、比較的大きいシステムに特有な多数のプロセッサ310を含むことができる。しかしながら、他の実施形態では、コンピュータ・システム301は、1つだけのCPU312をもつ単一のプロセッサとすることができる。
コンピュータ・システム301のメモリ320は、メモリ・コントローラ322と、データを一時的にまたは恒久的に格納するための1つまたは複数のメモリ・モジュール(図示せず)とで構成することができる。いくつかの実施形態では、メモリ320は、データおよびプログラムを格納するために、ランダム・アクセス半導体メモリ、ストレージ・デバイス、またはストレージ媒体(揮発性または不揮発性のいずれか)を含むことができる。メモリ・コントローラ322は、プロセッサ310と通信し、メモリ・モジュールにおける情報の格納および取り出しを容易にすることができる。メモリ・コントローラ322は、I/Oインターフェース330と通信し、メモリ・モジュールにおける入力または出力の格納および取り出しを容易にすることができる。いくつかの実施形態では、メモリ・モジュールは、デュアル・インライン・メモリ・モジュールとすることができる。
I/Oインターフェース330は、I/Oバス350、端末インターフェース352、ストレージ・インターフェース354、I/Oデバイス・インターフェース356、およびネットワーク・インターフェース358を含むことができる。I/Oインターフェース330は、メイン・バス340をI/Oバス350に接続することができる。I/Oインターフェース330は、プロセッサ310およびメモリ320からの命令およびデータをI/Oバス350の様々なインターフェースに導くことができる。I/Oインターフェース330はまた、I/Oバス350の様々なインターフェースからの命令およびデータをプロセッサ310およびメモリ320に導くことができる。様々なインターフェースは、端末インターフェース352、ストレージ・インターフェース354、I/Oデバイス・インターフェース356、およびネットワーク・インターフェース358を含むことができる。いくつかの実施形態では、様々なインターフェースは、前記のインターフェースのサブセットを含むことができる(例えば、工業的用途における組み込みコンピュータ・システムは、端末インターフェース352およびストレージ・インターフェース354を含まない場合がある)。
コンピュータ・システム301全体にわたる論理モジュール(メモリ320、プロセッサ310、およびI/Oインターフェース330を含むが、限定はしない)は、1つまたは複数の構成要素に対する障害および変更をハイパーバイザまたはオペレーティング・システム(図示せず)に伝えることができる。ハイパーバイザまたはオペレーティング・システムは、コンピュータ・システム301で利用可能な様々なリソースを割り当て、メモリ320内のデータおよび様々なCPU312に割り当てられたプロセスの位置を追跡することができる。要素を組み合わせるかまたは再配置する実施形態では、論理モジュールの機能の態様は、組み合わせるかまたは再分配することができる。これらの変更は当業者には明らかであろう。
本開示は、クラウド・コンピューティングに関する詳細な説明を含むが、本明細書に詳述される教示の実施態様は、クラウド・コンピューティング環境に限定されないことを前もって理解されたい。むしろ、本発明の実施形態は、現在知られているかまたは後に開発される任意の他のタイプのコンピューティング環境とともに実装されることが可能である。
クラウド・コンピューティングは、最小の管理労力またはサービスのプロバイダとの対話によって迅速にプロビジョニングおよびリリースすることができる構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利でオン・デマンドのネットワーク・アクセスを可能にするためのサービス・デリバリのモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含むことができる。
特徴は以下の通りである。
オン・デマンド・セルフサービス:クラウド消費者は、必要に応じて自動的に、サービスのプロバイダとの人的対話を必要とすることなく、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス:機能は、ネットワークを通して利用可能であり、異種のシン・クライアント・プラットフォームまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準メカニズムを介してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースが、マルチテナント・モデルを使用して多数の消費者にサービス提供するためにプールされ、異なる物理リソースおよび仮想リソースが、要求に応じて動的に割り当てられ、再割り当てされる。消費者は、通常、提供されるリソースの正確な場所に対する制御または知識を有していないが、より高いレベルの抽象化レベルにおける場所(例えば、国、州、またはデータセンタ)を指定することが可能であり得るという点で、場所独立性の感覚がある。
迅速な融通性:機能は、迅速におよび弾力的に、場合によっては、自動的に、プロビジョニングされて速やかにスケール・アウトし、迅速にリリースされて速やかにスケール・インすることができる。消費者にとって、プロビジョニングのために利用可能な機能は、多くの場合、無制限であるように見え、随時任意の量で購入することができる。
従量制サービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適した抽象化レベルで計測機能を活用することによって、リソース使用を自動的に制御および最適化する。リソースの使用をモニタ、制御、および報告して、利用されるサービスのプロバイダと消費者の両方に透明性を提供することができる。
サービス・モデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通して様々なクライアント・デバイスからアクセス可能である。消費者は、限定的なユーザ固有のアプリケーション構成設定の可能性を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはさらに個々のアプリケーション機能を含む基礎をなすクラウド・インフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された消費者が作成または獲得したアプリケーションをクラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎をなすクラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーションと、場合によっては、環境構成をホストするアプリケーションとに対して制御を有する。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることであり、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行することができる。消費者は、基礎をなすクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御を有し、場合によっては、選択されたネットワーキング構成要素(例えば、ホスト・ファイアウォール)に対する限定的な制御を有する。
展開モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは組織のためにのみ運用される。クラウド・インフラストラクチャは、組織またはサード・パーティによって管理されてもよく、オンプレミスに存在してもオフプレミスに存在してもよい。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有の関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、組織またはサード・パーティによって管理されてもよく、オンプレミスに存在してもオフプレミスに存在してもよい。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模業界団体に対して利用可能にされており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合であり、これらのクラウドは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準技術または専用技術(例えば、クラウド間の負荷バランシングのためのクラウド・バースティング)によって結合される。
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味相互運用性に重点をおいたサービス指向である。クラウド・コンピューティングの核心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
次に図4を参照すると、例示のクラウド・コンピューティング環境50が示される。図示のように、クラウド・コンピューティング環境50は、クラウド消費者によって使用されるローカル・コンピューティング・デバイス、例えば、携帯情報端末(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなどが通信することができる1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信することができる。ノード10は、先に記載のプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、またはそれらの組合せなどの1つまたは複数のネットワークにおいて物理的にまたは仮想的にグループ化されてもよい(図示せず)。これにより、クラウド・コンピューティング環境50は、クラウド消費者がローカル・コンピューティング・デバイス上にリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを提供することが可能になる。図4に示されたコンピューティング・デバイス54A~54Nのタイプは単に例示であることが意図されていることと、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続あるいはその両方を介して(例えば、ウェブ・ブラウザを使用して)任意のタイプのコンピュータ化デバイスと通信できることとを理解されたい。
次に、図5を参照すると、クラウド・コンピューティング環境50(図4)によって提供される機能抽象化層のセットが示される。図5に示された構成要素、層、および機能は、単に例示であることが意図されており、本発明の実施形態はそれに限定されないことを予め理解されたい。図示のように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層60は、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例には、メインフレーム61と、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベース・サーバ62と、サーバ63と、ブレード・サーバ64と、ストレージ・デバイス65と、ネットワークおよびネットワーキング構成要素66とが含まれる。いくつかの実施形態では、ソフトウェア構成要素には、ネットワーク・アプリケーション・サーバ・ソフトウェア67と、データベース・ソフトウェア68とが含まれる。
仮想化層70は、仮想エンティティの以下の例、すなわち、仮想サーバ71と、仮想ストレージ72と、仮想プライベート・ネットワークを含む仮想ネットワーク73と、仮想アプリケーションおよびオペレーティング・システム74と、仮想クライアント75とを備えることができる抽象化層を提供する。
1つの例では、管理層80は、以下で説明する機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を行う。計測および価格設定82は、リソースがクラウド・コンピューティング環境内で利用されたときにコスト追跡を行い、これらのリソースの消費に対する課金または送り状を送る。1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクの識別情報検証、ならびにデータおよび他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセス権を消費者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング・リソース割り当ておよび管理を行う。サービス品質保証契約(SLA)計画および履行85は、SLAに応じて将来の要求が予想されるクラウド・コンピューティング・リソースの事前準備および調達を行う。
ワークロード層90は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション91と、ソフトウェア開発およびライフサイクル管理92と、仮想教室教育デリバリ93と、データ分析処理94と、トランザクション処理95と、秘密管理論理96とが含まれる。
本明細書でより詳細に論じられるように、本明細書に記載の方法の実施形態の一部の動作の一部またはすべては、代替の順序で実行されてもよく、または全く実行されなくてもよく、その上、多数の動作が、同時に、またはより大きいプロセスの内部部分として行われてもよいことが意図される。
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する1つのコンピュータ可読ストレージ媒体(または複数の媒体)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述のものの任意の適切な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的にエンコードされたデバイス、および前述のものの任意の適切な組合せを含む。本明細書で使用されるコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を通して伝送される電気信号などのそれ自体一過性信号であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはSmalltalk(R)、C++などのようなオブジェクト指向プログラミング言語および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバで実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよく、または接続が外部コンピュータに対して行われてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを通して)。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人専用にすることによってコンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本発明の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書に記載されている。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実現され得ることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を作り出すように、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを生み出すことができる。これらのコンピュータ可読プログラム命令はまた、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を構成するように、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに、特定の方法で機能するように指示することができるコンピュータ可読ストレージ媒体に格納されてもよい。
コンピュータ可読プログラム命令が、さらに、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、一連の動作ステップがコンピュータ、他のプログラマブル装置、または他のデバイスで実行され、それにより、コンピュータ実施プロセスがもたらされ、その結果、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令は、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施することができる。
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および操作を示す。これに関しては、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部を表すことができる。いくつかの代替実施態様では、ブロックに記された機能は、図に記された順序から外れて行われてもよい。例えば、連続して示された2つのブロックは、実際には、同時に、実質的に同時に、部分的にまたは完全に時間的に重複する方法で実行される1つのステップとして遂行されてもよく、または、時には、ブロックは関連する機能に応じて逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定された機能または動作を実行するかあるいは専用ハードウェア命令とコンピュータ命令の組合せを実行する専用ハードウェア・ベース・システムによって実施され得ることにも留意されたい。
本開示の様々な実施形態の説明が、例示の目的のために提示されたが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。記載された実施形態の範囲および思想から逸脱することなく、多くの変形および変更が、当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、または市場で見出される技術に対する技術的改善を説明するために、または当業者が本明細書で開示される実施形態を理解できるようにするために選ばれた。
Claims (20)
- コンピュータ実施方法であって、
クライアント・プログラムからの読み取り要求を受信することと、
前記読み取り要求を前記受信することに応じて、1つまたは複数の秘密を秘密ストアから取得することであり、
前記取得することが、前記1つまたは複数の秘密を格納場所に格納することを含む、前記取得することと、
前記読み取り要求に応じて、前記1つまたは複数の秘密の前記クライアント・プログラムへの送信を開始することと、
前記1つまたは複数の秘密を前記格納場所から削除することと
を含むコンピュータ実施方法。 - 前記読み取り要求を前記受信することは、ファイル記述子が開かれているという第1の指標を第1の時間に取得することを含む、請求項1に記載のコンピュータ実施方法。
- 前記ファイル記述子が、疑似ファイルシステム・オブジェクトに対応する、請求項2に記載のコンピュータ実施方法。
- 前記ファイル記述子が閉じられているという第2の指標を第2の時間に取得すること
をさらに含み、
前記第2の時間が、前記第1の時間の後の時間であり、
前記1つまたは複数の秘密を前記格納場所から前記削除することは、前記ファイル記述子が閉じられているという前記第2の指標を前記取得することに応じて実行される、請求項2に記載のコンピュータ実施方法。 - 前記読み取り要求が、疑似ファイルシステム・オブジェクトによって受信され、
前記1つまたは複数の秘密を前記取得することが、前記疑似ファイルシステム・オブジェクトに対応するデーモンによって実行される、請求項1に記載のコンピュータ実施方法。 - 前記1つまたは複数の秘密を前記格納することは、前記デーモンが前記1つまたは複数の秘密を前記格納場所に格納することを含み、
前記格納場所が、ランダム・アクセス・メモリを含む、請求項5に記載のコンピュータ実施方法。 - 前記1つまたは複数の秘密の前記送信を前記開始することは、前記1つまたは複数の秘密が前記クライアント・プログラムによって前記疑似ファイルシステム・オブジェクトから取り出せるように前記デーモンが前記1つまたは複数の秘密を提示することを含む、請求項5に記載のコンピュータ実施方法。
- 前記1つまたは複数の秘密が、パスワード、接続ストリング、ユーザ名、キー、およびトークンからなる群から選択される、請求項1に記載のコンピュータ実施方法。
- 前記読み取り要求が、疑似ファイルシステム・オブジェクトによって受信され、
前記疑似ファイルシステム・オブジェクトが、ファイルシステム・オブジェクトを模倣する、請求項1に記載のコンピュータ実施方法。 - システムであって、
プロセッサと、
前記プロセッサと通信するメモリであり、前記メモリが、前記プロセッサによって実行されたとき、前記プロセッサに方法を実行させるように構成されるプログラム命令を含み、前記方法が、
クライアント・プログラムからの読み取り要求を受信することと、
前記読み取り要求を前記受信することに応じて、1つまたは複数の秘密を秘密ストアから取得することであり、
前記取得することが、前記1つまたは複数の秘密を格納場所に格納することを含む、前記取得することと、
前記読み取り要求に応じて、前記1つまたは複数の秘密の前記クライアント・プログラムへの送信を開始することと、
前記1つまたは複数の秘密を前記格納場所から削除することと
を含む、前記メモリと
を含むシステム。 - 前記読み取り要求を前記受信することは、ファイル記述子が開かれているという第1の指標を第1の時間に取得することを含む、請求項10に記載のシステム。
- 前記ファイル記述子が、疑似ファイルシステム・オブジェクトに対応する、請求項11に記載のシステム。
- 前記方法が、
前記ファイル記述子が閉じられているという第2の指標を第2の時間に取得すること
をさらに含み、
前記第2の時間が、前記第1の時間の後の時間であり、
前記1つまたは複数の秘密を前記格納場所から前記削除することは、前記ファイル記述子が閉じられているという前記第2の指標を前記取得することに応じて実行される、請求項11に記載のシステム。 - 前記読み取り要求が、疑似ファイルシステム・オブジェクトによって受信され、
前記1つまたは複数の秘密を前記取得することが、前記疑似ファイルシステム・オブジェクトに対応するデーモンによって実行される、請求項10に記載のシステム。 - 前記読み取り要求が、疑似ファイルシステム・オブジェクトによって受信され、
前記疑似ファイルシステム・オブジェクトが、ファイルシステム・オブジェクトを模倣する、請求項10に記載のシステム。 - プログラム命令が具現化されたコンピュータ可読ストレージ媒体を含むコンピュータ・プログラム製品であって、前記プログラム命令は、プロセッサに方法を実行させるために、前記プロセッサによって実行可能であり、前記方法が、
クライアント・プログラムからの読み取り要求を受信することと、
前記読み取り要求を前記受信することに応じて、1つまたは複数の秘密を秘密ストアから取得することであり、
前記取得することが、前記1つまたは複数の秘密を格納場所に格納することを含む、前記取得することと、
前記読み取り要求に応じて、前記1つまたは複数の秘密の前記クライアント・プログラムへの送信を開始することと、
前記1つまたは複数の秘密を前記格納場所から削除することと
を含む、コンピュータ・プログラム製品。 - 前記読み取り要求を前記受信することは、ファイル記述子が開かれているという第1の指標を第1の時間に取得することを含む、請求項16に記載のコンピュータ・プログラム製品。
- 前記ファイル記述子が、疑似ファイルシステム・オブジェクトに対応する、請求項17に記載のコンピュータ・プログラム製品。
- 前記方法が、
前記ファイル記述子が閉じられているという第2の指標を第2の時間に取得すること
をさらに含み、
前記第2の時間が、前記第1の時間の後の時間であり、
前記1つまたは複数の秘密を前記格納場所から前記削除することは、前記ファイル記述子が閉じられているという前記第2の指標を前記取得することに応じて実行される、請求項17に記載のコンピュータ・プログラム製品。 - 前記読み取り要求が、疑似ファイルシステム・オブジェクトによって受信され、
前記疑似ファイルシステム・オブジェクトが、ファイルシステム・オブジェクトを模倣する、請求項16に記載のコンピュータ・プログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/919,228 US11841961B2 (en) | 2020-07-02 | 2020-07-02 | Management of computing secrets |
US16/919,228 | 2020-07-02 | ||
PCT/CN2021/102413 WO2022001879A1 (en) | 2020-07-02 | 2021-06-25 | Management of computing secrets |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023530756A true JP2023530756A (ja) | 2023-07-19 |
Family
ID=79166827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022578959A Pending JP2023530756A (ja) | 2020-07-02 | 2021-06-25 | 秘密の計算の管理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11841961B2 (ja) |
JP (1) | JP2023530756A (ja) |
CN (1) | CN115843359A (ja) |
DE (1) | DE112021002737T5 (ja) |
GB (1) | GB2611963A (ja) |
WO (1) | WO2022001879A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230155817A1 (en) * | 2021-11-15 | 2023-05-18 | Sap Se | Managing secret values using a secrets manager |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19947986A1 (de) * | 1999-10-05 | 2001-04-12 | Ibm | System und Verfahren zum Herunterladen von Anwendungsteilen auf eine Chipkarte |
US6668279B1 (en) * | 2000-02-25 | 2003-12-23 | Sun Microsystems, Inc. | User level web server in-kernel network I/O accelerator |
US7178021B1 (en) * | 2000-03-02 | 2007-02-13 | Sun Microsystems, Inc. | Method and apparatus for using non-secure file servers for secure information storage |
US7185196B1 (en) * | 2000-09-15 | 2007-02-27 | Atheros Communications, Inc. | Key caching system |
JP2003152714A (ja) * | 2001-11-15 | 2003-05-23 | Yamaha Corp | データ通信システムおよびその方法ならびに同システムに適用されるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
GB2382419B (en) * | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
EP1714418B1 (en) * | 2004-02-11 | 2017-01-11 | Telefonaktiebolaget LM Ericsson (publ) | Key management for network elements |
US8099791B1 (en) * | 2004-06-25 | 2012-01-17 | Lexmark International, Inc. | Method of authenticating a consumable in an imaging device |
US8402278B2 (en) * | 2007-04-13 | 2013-03-19 | Ca, Inc. | Method and system for protecting data |
US8170213B1 (en) * | 2007-12-27 | 2012-05-01 | Emc Corporation | Methodology for coordinating centralized key management and encryption keys cached through proxied elements |
WO2009127492A1 (en) * | 2008-04-15 | 2009-10-22 | International Business Machines Corporation | A method and system for improved document access |
US8868925B2 (en) | 2008-12-09 | 2014-10-21 | Nvidia Corporation | Method and apparatus for the secure processing of confidential content within a virtual machine of a processor |
US8037058B2 (en) * | 2009-04-09 | 2011-10-11 | Oracle International Corporation | Reducing access time for data in file systems when seek requests are received ahead of access requests |
US9569240B2 (en) * | 2009-07-21 | 2017-02-14 | Adobe Systems Incorporated | Method and system to provision and manage a computing application hosted by a virtual instance of a machine |
US9053339B2 (en) * | 2010-10-27 | 2015-06-09 | Hytrust, Inc. | System and method for secure storage of virtual machines |
US8930324B2 (en) * | 2012-06-15 | 2015-01-06 | Russell A. Blaine | Guarded file descriptors |
WO2014055148A2 (en) * | 2012-07-09 | 2014-04-10 | Massachusetts Institute Of Technology | Cryptography and key management device and architecture |
US8881249B2 (en) | 2012-12-12 | 2014-11-04 | Microsoft Corporation | Scalable and automated secret management |
KR20150032970A (ko) | 2013-09-23 | 2015-04-01 | 삼성전자주식회사 | 보안 기능을 제공하는 저장 매체 및 그 보안 방법 |
US9411539B2 (en) * | 2014-09-24 | 2016-08-09 | International Business Machines Corporation | Providing access information to a storage controller to determine a storage tier for storing data |
JP6019514B1 (ja) | 2016-01-13 | 2016-11-02 | 株式会社Tcsi | コンピュータプログラム、秘密管理方法及びシステム |
CN107819729B (zh) | 2016-09-13 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种数据请求方法及其系统、接入设备、存储设备和存储介质 |
US11018860B2 (en) | 2016-10-28 | 2021-05-25 | Microsoft Technology Licensing, Llc | Highly available and reliable secret distribution infrastructure |
CN107359990A (zh) | 2017-08-03 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种秘密信息处理方法、装置及系统 |
-
2020
- 2020-07-02 US US16/919,228 patent/US11841961B2/en active Active
-
2021
- 2021-06-25 WO PCT/CN2021/102413 patent/WO2022001879A1/en active Application Filing
- 2021-06-25 CN CN202180047504.7A patent/CN115843359A/zh active Pending
- 2021-06-25 JP JP2022578959A patent/JP2023530756A/ja active Pending
- 2021-06-25 GB GB2301412.9A patent/GB2611963A/en active Pending
- 2021-06-25 DE DE112021002737.9T patent/DE112021002737T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220004651A1 (en) | 2022-01-06 |
US11841961B2 (en) | 2023-12-12 |
GB202301412D0 (en) | 2023-03-15 |
DE112021002737T5 (de) | 2023-03-02 |
WO2022001879A1 (en) | 2022-01-06 |
CN115843359A (zh) | 2023-03-24 |
GB2611963A (en) | 2023-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11341281B2 (en) | Providing differential privacy in an untrusted environment | |
JP7388803B2 (ja) | セキュア・ゲストのセキュア鍵をハードウェア・セキュリティ・モジュールに結びつけること | |
US10944560B2 (en) | Privacy-preserving identity asset exchange | |
US11716325B2 (en) | Limiting scopes in token-based authorization systems | |
US10542047B2 (en) | Security compliance framework usage | |
KR20230006498A (ko) | 제3-자 데이터 집계 서비스들을 통한 콘텐츠 제어 | |
JP7445358B2 (ja) | セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール | |
US20190080101A1 (en) | Dynamically provisioning virtual machines | |
JP7308002B2 (ja) | ハイブリッド・クラウドkmsソリューションにおけるhsmの自己破壊方法、システム、プログラム | |
JP2023501927A (ja) | 位置証明を利用した認証メカニズム | |
JP2023551527A (ja) | 準同型暗号化を使用したセキュアなコンピューティング・リソース配置 | |
US11477187B2 (en) | API key access authorization | |
JP2022155558A (ja) | 複数の非集中ポリシにおいて機密性を維持すること(複数の非集中ポリシにおいてメタデータの機密性を維持する方法、システム及びコンピュータプログラム) | |
US10182121B2 (en) | Cookie based session timeout detection and management | |
JP2023530756A (ja) | 秘密の計算の管理 | |
US10972455B2 (en) | Secure authentication in TLS sessions | |
US20230169204A1 (en) | Secure sharing of personal data in distributed computing zones | |
US11683156B2 (en) | Securely retrieving encryption keys for a storage system | |
US10083293B1 (en) | Timer and content security | |
US11288396B2 (en) | Data security through physical separation of data | |
WO2023160521A1 (en) | Protecting api keys for accessing services | |
JP2023530581A (ja) | システム生成データセット暗号化鍵 | |
Bahadori | An Evaluations of Safety Concerns in The Ambience of Cloud Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230106 |
|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20230203 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231114 |