JP2008109662A - 暗号化キーの管理及び自動生成のためのシステム、方法、及びコンピュータ・プログラム - Google Patents

暗号化キーの管理及び自動生成のためのシステム、方法、及びコンピュータ・プログラム Download PDF

Info

Publication number
JP2008109662A
JP2008109662A JP2007274893A JP2007274893A JP2008109662A JP 2008109662 A JP2008109662 A JP 2008109662A JP 2007274893 A JP2007274893 A JP 2007274893A JP 2007274893 A JP2007274893 A JP 2007274893A JP 2008109662 A JP2008109662 A JP 2008109662A
Authority
JP
Japan
Prior art keywords
key
keys
application program
group
sets
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.)
Granted
Application number
JP2007274893A
Other languages
English (en)
Other versions
JP5296365B2 (ja
Inventor
Peter D Birk
ピーター・ダニエル・バーク
Ching-Yun Chao
チンユン・チャオ
Hyen Vui Chung
ハイエン・フイ・チャング
Alaine Demyers
アライン・デマイヤー
Ut Van Le
ヴァン リー ウト
Keys D Botzum
キーズ・ディラン・ボッツム
A Rosiles Mickella
マッケラ・アン・ロッシルズ
Lee Lenz James
ジェームス・リー・レンツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008109662A publication Critical patent/JP2008109662A/ja
Application granted granted Critical
Publication of JP5296365B2 publication Critical patent/JP5296365B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

【課題】暗号化キーを効率的に管理する。
【解決手段】暗号化キーを管理し、生成するためのシステム、方法及び媒体を開示する。一つの実施形態において、プロセッサは、暗号化キー処理コンピュータ・コードを実行し、アプリケーション・プログラムからキー要求を受信する。プロセッサは、要求しているアプリケーション・プログラムが、要求されるキーの受領を認可されたマシン対象範囲内にあるかどうかを判定する。認可されている場合、プロセッサは、キー・マップを生成し、該キー・マップをアプリケーション・プログラムに送信して、アプリケーション・プログラムがキー・マップの中の一つ以上のキーにアクセスできるようにする。キーは、設定可能なスケジュールに従って自動的に更新される。
【選択図】図1

Description

本発明はコンピュータ・システム内の暗号化の分野に関する。さらに具体的には、本発明はコンピュータ・システム内での暗号化キーの管理及び生成に関する。
さまざまな多くの種類のコンピューティング・システムが、世界中で広く使われている。これらのコンピューティング・システムには、パーソナル・コンピュータ、サーバ、メインフレーム、及びさまざまな単独型及び内蔵型のコンピューティング・デバイスが含まれる。多くのPCネットワーク、メインフレーム、及びミニコンを通して普及するアプリケーション及び情報と共に、クライアント−サーバ型システムが広がり続けている。ネットワークによって接続された分散システムで、ユーザは、多くのアプリケーション・プログラム、データベース、ネットワーク・システム、オペレーティング・システム、及びメインフレーム・アプリケーションにアクセスすることができる。コンピュータは、個人及び企業に、ワード・プロセッシング、表計算、及び会計を含む多数のソフトウエア・アプリケーションを提供する。さらに、ネットワークを使い、eメール、ウエブサイト、インスタント・メッセージ、及びウエブ会議を介して、異なる場所にいる人々の間で高速な交信が可能である。
高性能、単一チップのマイクロプロセッサに対する一般的アーキテクチャは、高速実行のために多用される命令を小さく簡易化したセットにしていることが特徴である、縮小命令セット・コンピュータ(RISC)アーキテクチャである。このようなRISCアーキテクチャにおいては、複雑な命令が、非常に高速で複数ステップにて実行される簡単な命令の小さなセットを含んでいる。これらのステップは、特定の簡単な命令を実行するようになされた演算ユニット群で実施される。スーパースカラ・アーキテクチャでは、これらの演算ユニット群には、通常、並行して動作するロード/格納ユニット、整数算術/論理ユニット、浮動小数点算術/論理ユニット、及びグラフィカル論理ユニットが含まれる。プロセッサのアーキテクチャの中では、オペレーティング・システムが、プロセッサとプロセッサ周辺構成部品との動作を制御する。実行可能アプリケーション・プログラムは、コンピュータのハード・ドライブに格納される。コンピュータのプロセッサはユーザの入力に応じてアプリケーション・プログラムを実行する。
このように、最近のシステムでは、サーバを含め、複数のコンピュータがネットワークを通して一緒に結ばれている。各コンピュータは、特定の機能を実施するためのアプリケーション・プログラムを実行することができる。これらのアプリケーション・プログラムには、ワードプロセッシング、eメール、グラフィックス、文書閲覧及びマークアップ、表計算、データベース、音楽プレーヤ、インターネット・エキスプローラ、フォトショップ、ゲーム、アンチ・ウイルス、さらに、挙げられないほど数多くの他のアプリケーション・プログラムを含めることができる。多くのアプリケーション・プログラムでは、プログラム・データの暗号化又は解読あるいはその両方が行われる。例えば、eメール送信者は、eメールを受信者に送信する前にメールを暗号化することができる。暗号化されたメールの受信者は、送信者から受信した該暗号化メールの解読が必要となる。別のアプリケーションでは、送信者は、文書を送信する前にそれにデジタル署名をすることができる。デジタル署名の操作には暗号化が必要となる。さらに、暗号化によってデジタル署名を検証することができる。暗号化を用いるアプリケーションの他の事例は数多い。
暗号化又は解読あるいはその両方を実施するためには、アプリケーション・プログラムは、キーを持たねばならず、そのキーを使って暗号化/解読を行うための既知のアルゴリズムを実施しなければならない。こうして、アプリケーション・プログラムは、暗号化を必要とする機密的なデータを取り扱うことができる。例えば、アプリケーション・プログラムはファイルを暗号化することができる。暗号化は、キーを持たない者がファイルを読むのを防止する。さらに、ファイルの中のデータに署名することもできる。データに署名がされると、検知されずに該データを変更することはできない。
インターネットの出現とコンピュータ使用の広範囲な普及とともに、ますます多くの商取引が電子的に行われるようになっている。この「eコマース」を促進するため、コンピューティング・ネットワークは暗号化とデジタル署名とを用いている。暗号化により、ユーザはネットワークを介して交信するメッセージを秘密にすることができる。解読により、暗号化した相手からの元のメッセージを再生することができる。ユーザは、デジタル署名により文書に電子的に署名することができる。デジタル署名を形成するには、公開キー暗号法システムによる暗号化が必要である。該システムは、2つの異なった、だが数学的に関係のある「キー」を使うアルゴリズムを用いており、一つのキーはデジタル署名を生成するためのものであり他方はデジタル署名を検証するためのものである。このような2つのキーを用いるコンピュータ装置及びソフトウエアは、しばしば、集合的に「非対称暗号システム」と呼ばれている。
デジタル署名のための非対称暗号システムの相補キーは、プライベート・キー及び公開キーと呼ばれる。署名者は、プライベート・キーを使ってデジタル署名を生成する。理想的には、署名者だけが、自分のプライベート・キーにアクセスできる。公開キーは、通常、極めて広範囲に知らされるものである。署名を確認するために、当事者は公開キーを使って該署名を検証する。これらペアのキーは数学的に関連しているが、公開キーから計算的にプライベート・キーを導き出すのは実行不可能である。しかして、多くの人々が、所与の署名者の公開キーを知ることができ、それを使って署名者の署名を検証することはできるが、これらの人々は、署名者のプライベート・キーにアクセスして該署名者の署名を偽造することはできない。これは「不可逆性」の原理による。
デジタル署名を生成し検証するための基本的プロセスは、「ハッシュ関数」である。ハッシュ関数は、「ハッシュ結果」の形でデジタル表現又は「フィンガープリント」を生成するアルゴリズムである。一般的に、ハッシュ結果はメッセージよりもはるかに小さいが、それにもかかわらず、メッセージに対し実質的に唯一性を持つ。署名者のプライベート・キーを使い、このハッシュ結果を暗号化してデジタル署名が生成される。同じハッシュ関数が使われている場合、メッセージに対しどのような変更がされても、必ず異なるハッシュ結果を生成する。確かなハッシュ関数に対しては、ハッシュ値から元のメッセージを計算的に導き出すのは実行不可能である。従って、ハッシュ関数によれば、デジタル署名を生成するソフトウエアを、より少ない想定内のデータ量で操作させることができ、さらに元のメッセージコンテントに対する堅固な証拠となる相関関係を提供することができる。
文書又は他の任意の情報項目に署名するため、署名者は、まず、署名対象とするものの境界を正確に区切る。証明対象の区切られた情報を「メッセージ」という。次いで、署名者のソフトウエアの中のハッシュ関数は、(あらゆる実用的用途において)メッセージに対し唯一のハッシュ結果を計算する。署名者のソフトウエアは、次いでユーザのプライベート・キーを使って、ハッシュ結果をデジタル署名に暗号化する。得られたデジタル署名は、かくして該メッセージ及び署名を作成するため使われたプライベート・キーの双方に対し固有のものとなる。
署名者が署名されたメッセージを送信する際には、署名のないメッセージも送信される。受信者は、該ユーザの公開キーを使って暗号ハッシュを解読し署名を検証する。また、受信者は、未署名のメッセージをハッシュ化する。次いで2つのハッシュ結果が対比される。2つのハッシュ結果が同一の場合にだけ署名は検証されたことになる。これらハッシュ結果が同一であれば、受信者が受信したメッセージは送信者の署名したものということになる。しかして、送信者は、受信者により受信され検証されたメッセージに自分は署名していないと否認することはできない。デジタル署名の検証者は、署名が特定の人によってなされたものであることの保証を得なければならない。この保証は、証明書の中で特定された公開キーを使って検証できる署名が該証明書で識別される当事者のものであると証明する証明書を発行してくれる信頼できる第三者から得られる。
かくのごとく、多くのアプリケーション・プログラムは、文書を暗号化し署名するためのキーを持っていなければならない。このようなキーを管理し生成する方法が必要とされる。
本発明は、暗号化のためのキーを管理し生成する方法及び媒体を提供する。一つの実施形態において、暗号化キー・マネジメント・システムは、キー・マネージャを含む。キー・マネージャは、一つ以上のキーを要求するアプリケーション・プログラムが、要求された一つ以上のキーの受領を認可されているのかどうかを判定し、されていれば、キー・マップを生成しアプリケーション・プログラムに送信する。該システムは、事前設定可能な時間にキー生成イベントをスケジュールするキー・スケジューラを含む。キー・ゼネレータは、スケジュールされたキー生成イベントにおいてキーを生成する。生成されたキーは、キー・セット及びキー・セット群と関連付けられる。キー・セットは一つ以上のキーを含み、キー・セット群は一つ以上のキー・セットを含む。キー・ストアは、各キーが該キーの一組の属性に関連付けられるように、生成されたキーを該キーの属性に従って格納する。キーの属性には、エイリアス、バージョン、及びキーが属するキー・セット名を含めることができる。
実施形態には、キーを管理し生成する方法が含まれる。該方法は、キー・セット又はキー・セット群に関連するキーの提供を求めるアプリケーション・プログラムからの要求を受信するステップを含む。キー・セットは、少なくとも一つのキーを含み、キー・セット群は少なくとも一つのキー・セットを含む。該方法は、アプリケーション・プログラムが、関連するキー・セット又はキー・セット群に対し特定された対象範囲内にあるかどうかを判定するステップを含む。アプリケーション・プログラムが所定対象範囲内にある場合、該キー・セット又はキー・セット群に関連するキーのマップが生成される。また、該方法は、設定可能なスケジュールに従ってキーを生成し、該キーをキー・セット又はキー・セット群に含めるステップを含む。
本発明の別の実施形態は、データ処理システムで実行されると、該システムに暗号化キーを管理し生成するための一連のオペレーションを実施させる機能を持つ命令を含むコンピュータ・プログラムを提供する。この一連のオペレーションは、キー・セット又はキー・セット群の中の一つ以上のキーの提供を求めるアプリケーション・プログラムからの要求を受信する作業を一般に含む。該オペレーションは、アプリケーション・プログラムが、当該キー・セット又はキー・セット群の所定対象範囲内にあるかどうかを判定する作業をさらに含む。一連のオペレーションには、アプリケーション・プログラムが所定対象範囲内にある場合、要求されたキーのマップを生成する作業が含まれる。所定対象範囲は、プロセス(Java(登録商標)プロセス)、ノード(特定のマシンのすべてのJava(登録商標)プロセス)、ノード・グループ(2以上のノード)、クラスタ(特定のアプリケーションに関連するJava(登録商標)プロセスの分類)、又はセル(全環境を含むノードの群)のような各種の組み分けとして定義される。所定対象範囲をこれらのいずれかとすることができる。所定対象範囲に基づき、キー・セット又はキー・セット群を選択するための識別がされる。また、該オペレーションは、所定のスケジュールに従って新しいキー又はキー・セットを生成する作業を含む。これにより、マップには、古いキーはもとより、最近に生成されたキーが含まれる。
以降の詳細説明を読み、添付の図面を参照することによって、本発明の利点は明確となろう。図中の同じ参照記号は同様な要素を示す。
以下は、添付の図面に描かれた本発明の例示的な実施形態の詳細な説明である。これら例示的な実施形態は、本発明が明確に伝わる程度に詳細である。但し、提示する詳細さの程度は、実施形態の予想される変形を制限するものでなく、反対に、本発明は、添付された特許請求内容に規定された本発明の精神及び範囲内に含まれる変形、均等物、及び代替を網羅するよう意図されている。以下の詳細な説明は、当業者には明らかなさまざまな実施形態を提供しようとするものである。
暗号化キーを管理し生成するためのシステム、方法、及び媒体を開示する。一つの実施形態において、プロセッサは、暗号化キー処理コードを実行して、アプリケーション・プログラムからのキー要求を受信する。プロセッサは、要求しているアプリケーション・プログラムが、要求されたキーの受領を認可された対象マシン範囲内にあるノード又はサーバで実行されているかどうかを判定する。範囲内である場合、プロセッサはキー・マップを生成して該キー・マップをアプリケーション・プログラムに送信し、アプリケーション・プログラムがキー・マップ中の一つ以上のキーを得られるようにする。これらのキーは、設定可能なスケジュールに従って自動的に更新される。しかして、アプリケーション・プログラムは、最新のキー又は従前のキーあるいはその両方を受領することができる。キーを必ず十分に新しいものにしておき、暴力的な攻撃で解読できないようにするためにスケジュールに従ってキーを生成すればよい。このようにしておけば、システムはより定期的にキーを変更することもできるようになり、これにより、キー長を小さくし、高いレベルのセキュリティを維持しながら、暗号化の効率を向上することができる。
図1は、本発明の一つの実施形態に従って実装されたコンピュータ又はサーバのようなデジタル・システム116(本明細書では、マシンともいう)を示す。デジタル・システム116は、BIOS(Basis Input/Output System(基本入力/出力システム))コード104及びオペレーティング・システム(OS:Operating System)コード106に従って動作可能なプロセッサ100を含む。BIOS及びOSコードは記憶装置108に格納される。BIOSコードは通常読取り専用メモリ(ROM)に格納され、OSコードは通常デジタル・システム116のハード・ドライブに格納される。デジタル・システム116は、物理的にプロセッサ100に近接配置されたレベル2(L2)キャッシュ102を含む。また、記憶装置108はプロセッサ100が実行する他のプログラムを格納し、データ109も格納する。
一つの実施形態において、後記するように、記憶装置108は、暗号化キーを管理し生成するためのコンピュータ・コード107を格納している。このコンピュータ・コードは、プロセッサに、各種の暗号化キー管理及びキー生成機能を実施するための命令を実行させる。例えば、プロセッサ100は、キー・セット又はキー・セット群の中に一組のキーを生成するコードを実行する。また、プロセッサ100は、キーをその各種の属性に関連付けるコードを実行する。プロセッサ100は、同様にキーを求めるアプリケーションが所定対象範囲内にあるかどうかを判定するコードを実行する。また、プロセッサ100は、キー生成イベントの時間を判断する。
プロセッサ100は、オンチップのレベル1(L1)キャッシュ190、命令フェッチャ130、制御回路160、及び演算ユニット群150を含む。レベル1キャッシュ190は、実行時間がせまった命令を受信し格納する。命令フェッチャ130は記憶装置から命令を取り出す。演算ユニット群150は、命令が指示するオペレーションを実行する。一つの実施形態において、これらの命令は、インタフェース・モジュールに指定されたキー・セット又はキー・セット群を識別する命令を含む。該命令は、プロセッサ100に、キーを要求しているアプリケーション・プログラムが、要求されたキーの受領を認可されているかどうかを判定させる。該命令は、さらに、プロセッサ100に、キー格納場所から要求されるキー群を読み出して、これらキーのマップを生成させる。
演算ユニット群150には、ロード/格納ユニット、整数算術/論理ユニット、浮動小数点算術/論理ユニット、及びグラフィカル論理ユニットを含めることができる。各演算ユニットは、命令フェッチャ130により取出された命令の実行ステップを実施するためのステージ群を含む。スーパースカラ・アーキテクチャでは、異なる演算ユニットが並行して動作する。しかして、演算ユニット群150は、並行して動作し、暗号化キー管理プロセスを実施するための命令を実行する一組の異なる種類のユニットを含む。
制御回路160は、命令フェッチャ130及び演算ユニット群150を制御する。さらに、制御回路160は、演算ユニット群150から、制御判断に関連する情報を受信する。例えば、制御回路160は、実行パイプラインでのデータ・キャッシュ・ミスが生じた場合、その通知を受け機能麻痺を処理する。
さらに、通常、デジタル・システム116は、トラステッド・プラットフォーム・モジュール、メモリ・コントローラ、ランダム・アクセス・メモリ(RAM)、周辺ドライバ、システム・モニタ、キーボード、カラー映像モニタ、一つ以上のフレキシブル・ディスケット・ドライブ、固定ディスク・ハード・ドライブのような一つ以上のリムーバブル非揮発性媒体ドライブ、CD及びDVDドライブ、マウスのようなポインティング・デバイス、及びネットワーク・インタフェース・アダプタなどの、図示されていない他の構成要素及びサブシステムを含む。デジタル・システム116には、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム・コンピュータ、ノート又はラップトップ・コンピュータ、デスクトップ・コンピュータ、又は類似機器を含めることができる。また、プロセッサ100を、入力/出力デバイス110を介してサーバ112と連通させることができる。サーバ112は、システム116を他のコンピュータ及びサーバ114に接続することができる。しかして、デジタル・システム116は、インターネット又はローカル・イントラネットあるいはその両方のようなコンピュータのネットワークに入れることができる。さらに、サーバ112は、テープ・ドライブ記憶装置、ハード・ディスク・アレイ、RAM、ROMなどを含む他の記憶装置にアクセスすることができる。
しかして、デジタル・システム116の動作の一つのモードにおいて、L2キャッシュは、プロセッサ100のプロセッサ・パイプラインで処理される予定のデータと命令とを記憶装置108から受信する。L2キャッシュ102は、高速処理を実現するために、プロセッサ100に物理的に近接して配置された高速メモリである。L2キャッシュは、複数の命令スレッドに対する命令群を記憶装置108から受信する。このような命令群には、ロード及び格納命令、分岐命令、算術論理命令、浮動小数点命令などを含めることができる。L1キャッシュ190は、プロセッサ内部に配置され、望ましくはL2キャッシュ102から受信したデータ及び命令を包含する。理想的には、プログラム命令を実行する時間が近付くと、命令は存在する場合そのデータとともに、まずL2キャッシュに、次いで実行時間が差し迫るとL1キャッシュに渡される。
演算ユニット群150は、L1キャッシュ190から受信した命令を実行する。演算ユニット群150の各々のユニットは、命令の特定のセットを実行するようになされている。命令群を異なった演算ユニットに送り、並行して実施させることができる。演算ユニット群150によって処理されたデータは、整数レジスタ・ファイル及び浮動小数点レジスタ・ファイル(図示せず)からアクセスし、これらに格納することができる。また、これらレジスタ・ファイルの格納データについては、オンボードのL1キャッシュ190あるいは外部のキャッシュ又はメモリから受信したり、これらに転送したりすることができる。プロセッサは、ロード命令を実行することによって、L1キャッシュのようなメモリからプロセッサのレジスタへデータをロードすることができる。プロセッサは、格納命令を実行することによって、レジスタからのデータをメモリ中に格納することができる。
デジタル・システム116は、そのオペレーティング・システム、BIOS、アプリケーション・プログラム実行のコード、及び暗号化キー処理コード、ならびにファイル及びデータを格納するための自分の記憶装置を持つことになる。コンピュータの記憶装置には、読取り専用メモリ(ROM)、DRAM及びSRAMに搭載されたキャッシュ・メモリ、ハード・ディスク・ドライブ、CDドライブ、及びDVDドライブが含まれる。サーバも同様にそれ自体の記憶装置を有し、テープ・ドライブ及びハード・ディスク・アレイのような他の記憶装置へのアクセスを制御することができる。各コンピュータは、それ自体のアプリケーション・プログラムを格納し実行することができる。データベースなどの一部のアプリケーション・プログラムはサーバに配置される。これにより、各コンピュータは、サーバに格納された同じデータベースにアクセスすることができる。さらに、各コンピュータは、サーバを介して他の記憶装置にアクセスすることができる。
マシン116は、キーを管理し生成するためのコンピュータ・コード107を格納することができる。このコンピュータ・コードは、プロセッサ100によって実行され、スケジュールに従って生成される暗号化キーを生成、規定し、該キーへの制限されたアクセスを提供する。図2は、キーを管理、生成、及び伝達するための実施形態のブロック図を示す。暗号化キーを管理し生成するための暗号化キー・プロセッサ200が示されている。また、暗号化キー・プロセッサ200と連通するインタフェース・モジュール250が示されている。該暗号化キー・プロセッサは、暗号化キーを管理、生成し、これらのキーを、要求しているインタフェース・モジュールに伝達するためのコンピュータ・コードを実行するプロセッサである。インタフェース・モジュールは、プロセッサに実行され、作動中のアプリケーション・プログラムとシステムの他の部分との間のインタフェースを提供するコンピュータ・コードである。オペレーションの過程において、インタフェース・モジュールを使っているアプリケーション・プログラムは、暗号化キー・プロセッサに対し、暗号化又はデジタル署名あるいはその両方を行うため、暗号化キーを要求することができる。
一つの実施形態において、暗号化キー処理ソフトウエアは、インタフェース・モジュール・ソフトウエアを実行するのと同じプロセッサによって実行される。暗号化キー・プロセッサは、バックグラウンドで動作している。別の実施形態では、暗号化キー処理ソフトウエアは一つのデジタル・システムのプロセッサに実行され、インタフェース・モジュール・ソフトウエアは異なったデジタル・システムのプロセッサに実行される。しかして、暗号化キー・プロセッサは、他の複数のコンピュータ及びサーバのためのキーを管理することができ、要求されたキーに対し、どのコンピュータ及びサーバが権利を有するかを判定することができる。
暗号化キー・プロセッサ200は、キー・マネージャ202を含む。キー・マネージャ202はキーの生成及び管理に関連するさまざまな機能を持つ。キー・マネージャ202の一つの機能は、キーを、システム管理者に規定されたそれぞれの属性に関連付けることである。キーの属性は、キーが属するキー・セットの名称、キーのエイリアス、キーに対するパスワード、追跡キー・リファレンスの数、キーへのアクセス対象範囲などを含む。アプリケーションから、インタフェース・モジュールを介して一つ以上のキーの要求が受信されると、キー・マネージャ202によって実行される、所定のキー・セット又はキー・セット群内の利用可能なキーのマップを生成する方法が呼出される。但し、キー・マネージャ202は、要求しているマシンが要求された一つ以上のキーの受領を認可されているかどうかをまず判定する。されていれば、利用可能キーのマップが提供される。次いで、インタフェース・モジュール250がマップの中の必要なキーを識別する。要求しているマシンが、要求されたキーの所定対象範囲内にない場合、キー・マネージャ202は、該要求は認可されないとのメッセージを、要求しているインタフェース・モジュールに送信する。
キー・ストア204は、キー及びキー・エイリアスの両方を格納する。キー・ストア204は、少なくとも2種類のキーを格納することができる。一つの種類は、データの暗号化及び解読両方に使われる単一型のキーである。この種類のキーを本明細書では秘密キーという。また、キー・ストア204は、公開/プライベート暗号化システムのためのキー・ペアを格納する。このようなシステムにおいては、キー・ペアの一つのキーはプライベート・キーであり、該キー・ペアのもう一方のキーは公開キーである。プライベート・キーはその所有者によって秘密に保持され、所有者がデータを暗号化又はデータに署名、あるいはその両方を行う際に使用される。公開キーはプライベート・キーよりも広く知らされており、データを解読し又は署名を検証するために使うことができる。また、キー・ストア204は、キー・マネージャ202が各キーに関連付けた属性も保存する。これらの属性には、キーのエイリアス、キー・セット名及びキー・セット群名が含まれる。なお、キー・ストア204を、図2に示すように暗号化キー・ソフトウエアを実行するのと同じマシンの中のメモリとすることもでき、キー・ストアを別のマシンに所在するメモリとすることもできる。キー・ストアがリモートにある場合、キー・マネージャは、当該リモート・マシンについての情報を有し、キー・ストアが物理的に所在する場所にリモート・コールを行って必要なキーを読み出す。
キー・マネージャ202は、秘密キー又は公開/プライベート・キー・ペアの生成を要求することができる。キー又はキー・ペアの生成はキー・ゼネレータ206によって行われる。スケジューラ208によって設定されたスケジュールに従ってキー・ゼネレータ206が呼出し、新しいキーを作成することができる。スケジューラ208は、キー・マネージャ202から受け取った頻度指定に従って次のキー生成イベントの時間を設定する。キー生成イベントの時間に達すると、スケジューラ208は、キー・ゼネレータ206に新しいキーを生成させ、該イベントをキー・マネージャ202に連絡する。
キー・ゼネレータ206には、秘密キーを生成するための第一キー・ゼネレータ、及び公開/プライベート・キー・ペアを生成するための第二キー・ゼネレータを含めることができる。言い換えれば、秘密キーと、公開/プライベート・キー・ペアとは2つの異なるアルゴリズムによって生成される。キー・ストア204は、キー・ゼネレータ206からキーを受信し格納する。キー・マネージャ202は、権限保持者が指定したパラメータにより設定されたスケジュールに従って、定期的にキー・ゼネレータ206を呼出す。しかして、一つの実施形態において、権限保持者は、新しいキーを生成する頻度(キー生成イベントの間隔日数)及び曜日とその日の時間とを指定することができる。
前記のように、暗号化キー・プロセッサ処理200を、インタフェース・モジュール処理250が実施されるのと同じマシンで行うことができ、異なるマシンで行うこともできる。インタフェース・モジュール250の処理は、図1に示すようなプロセッサで実行される。インタフェース・モジュール250は、キー・セット・ヘルパ252及びキー・セット群ヘルパ254を含む。キー・セット・ヘルパ252は、キー・セットの中のキーへのアクセスを得るための処理である。キー・セット群ヘルパ254は、キー・セット群の中のキーへのアクセスを得るための処理である。例えば、キー・セット・ヘルパ254は、オーバレイするアプリケーション・プログラムに代わって、秘密キーの最新バージョンを要求することができる。インタフェース・モジュール250は、この要求を暗号化キー・プロセッサ200に送信する。キー・マネージャ202は、要求しているアプリケーション・プログラムが、要求されるキーの受領を認可されてるかどうかを判定する。次いで、キー・マネージャ202は要求されたキーの最新バージョンを読み出すことができる。一つの実施形態では、インタフェース・モジュールは、旧バージョンのキーを要求することができ、キー・マネージャはこれを提供することができる。暗号化キー処理において、追跡される旧バージョンの数は権限保持者によって指定される。これにより、アプリケーション・プログラムは、旧キーで暗号化されたデータを解読することができる。
このように、暗号化キー・プロセッサは暗号化キーを管理する。暗号化キー・プロセッサは、アプリケーション・プログラムから、ゲット・キー・メソッド呼び出しを受信する。ゲット・キー・メソッド呼び出しでは、キー・セット又はキー・セット群の名前が指定される。各キー・セットは少なくとも一つのキーを有し、各キー・セット群は少なくとも一つのキー・セットを有する。ゲット・キー・メソッドを実行する前に、暗号化キー・プロセッサは、要求しているアプリケーション・プログラムが、指名されたキー・セット又はキー・セット群の所定対称範囲内にあるのかどうかを判定する。アプリケーション・プログラムが所定対象範囲内にある場合、暗号化キー・プロセッサは、要求されたキーのマップを生成する。例えば、一つのゲット・キー・メソッドは、キー・セット群の中のすべてのキーを呼出す。そこで、暗号化キー・プロセッサは、そのキー・セット群の中のすべてのキーのマップを生成することになろう。このマップは、インタフェース・モジュールを介してアプリケーション・プログラムに送信される。アプリケーション・プログラムは、該マップ中の一つ以上の任意のキーを選定することができる。
キー・セットは、キー・リファレンスで構成される。キー・リファレンスは、実際の暗号化キーを参照するエイリアスを使用する。エイリアスはあるキーに対する簡易名称である。各キーは自分を示すエイリアスを有する。実際のキーは、キー・ストアに格納しておき、そのエイリアスを呼出すことで読み出すことができる。以下のコード・ブロックは、キー・ペアのキー・セットを規定する。
<keySets xmi:id=“KeySet_BIRKT40Node01_1”name=“NodeLTPAKeyPair”
aliasPrefix=“LTPAKeyPair”
このコード・ブロックはキー・セットを生成又は規定し、該キー・セットを名前で識別する。また、該コードはエイリアスの接頭辞を規定する。該接頭辞はキー・エイリアスの前に付けられる。しかして、キー・セット中のキーは特定の接頭辞と関連付けられることになる。
以下のブロックは、パスワード、追跡されるキー・リファレンスの最大数、旧キーを消去するかどうかを示す属性を規定する。
password=“{xor}HRYNFAtrbxEwOzpvbhw6MzM=”
maxKeyReference=“2”
deleteOldKeys=“true”
KeySetレベルでパスワードを規定することができ、この場合はキー・セット中のすべてのキーが同じパスワードを持つ、あるいはKeyReferenceレベルで規定でき、この場合は各キーが該レベルに関連するパスワードを持つ。任意の時間において追跡されるキー・リファレンスの最大数は、maxKeyReference属性によって設定される。この変数は追跡されるキーの数を格納する。追跡対象キーの最大数に達したならば、次のキー生成イベントにおいて旧いキーは除去されて新しいキーが加えられる。例えば、maxKeyReferenceが2の場合、当該キー・セットはどの時点においても2つのキー・リファレンスしか持たない。deleteOldKeys属性が真の場合、KeyStore属性が参照するKeyStoreから旧キーが除去される。KeyStore属性は、キーが格納されるキー・ストアを指定する。
以下のブロックは、キー種類を規定し、キー・セットに対するキー・ストアの場所を設定する。
keyGenerationClass=“com.ibm.ws.security.ltpa.LTPAKeyPairGenerator”
isKeyPair=“true”
keyStore=“KeyStore_BIRKT40Node01_3”
キーは、keyGenerationClass属性に参照される、アプリケーション固有のクラスにより生成される。このクラスは、isKeyPair属性が真か偽かに応じて、KeyGenerator、又はKeyPairGeneratorインタフェースのいずれかを実行する。
次のブロックは、管理範囲を特定する。
<managementScopes xmi:id=“ManagementScope_BIRKT40Node01_1”
scopeName=“(cell):BIRKT40Node01Cell:(node):BIRKT40Node01”
scopeType=“node”/>
KeySetに特定された管理範囲は、セル名、及びKeySetを見ることのできるノードのノード名を示す。この可視性は、継承的性質を有し、そのノードのどのメンバ(アプリケーション・サーバ)もこれらのキーを見ることができる。但し、他のノードのメンバはこれらのキーを見ることはできない。一つの実施形態では、管理範囲を単一のサーバにセットすることができる。
以下のブロックは、エイリアスを持つキー・リファレンスを規定する。
<keyReference xmi:id=“KeyReference_1128391356884”keyAlias=“LTPAKeyPair_8”
version=“8”/>
<keyReference xmi:id=“KeyReference_1128433215373”keyAlias=“LTPAKey1Pair_9”
version=“9”/>
これら2つのコード・ブロックの各々は、キー・リファレンス、キー・エイリアス、及びキー・バージョンを規定することによってキーを定義している。新しいキーが生成される場合、キー・リファレンス中のバージョン番号が増分され、KeyStoreに格納されているキー・エイリアスは、aliasPrefix属性によって接頭辞を付される。こうして、キー・セットはキー・リファレンス群で構成される。キー・リファレンスは、エイリアスを使って実際の暗号化キーを参照する。エイリアスは、キーの短縮された名称である。各キーは、自分を参照するためのエイリアスを有する。実際のキーはキー・ストアに格納されており、エイリアスを呼びだすことによってキーを読取ることができる。
</keySets>
これは、キー・ペア・セットを規定するコード・ブロックを終了させる。
以下のコード・ブロックは秘密キーKeySetを規定する:
<keySets xmi:id=“KeySet_BIRKT40Node01_2”
name=“NodeLTPASecret”aliasPrefix=“LTPASecret”
password=“{xor}HRYNFAtrbxEwOzpvbhw6MzM=”
maxKeyReferences=“2”
deleteOldKeys=“true”
keyGenerationClass=“com.ibm.ws.security.ltpa.LTPAKeyGenerator”
keyStore=“KeyStore_BIRKT40Node01_3”
managementScope=“ManagementScope_BIRKT40Node01_1”>
<keyReference xmi:id=“KeyReference_1128391359568”keyAlias=“LTPASecret_8”version=“8”/>
<keyReference xmi:id=“KeyReference_1128433217215”keyAlias=“LTPASecret_9”version=“9”/>
</keySets>
キー・セットをグループ化して単一の実体として管理することができる。これはKeySetGroupと呼ばれ、次のコード・ブロックにより定義される:
<keySetGroup xmi:id=“KeySetGroup_BIRKT40Node01_1”
name=“NodeLTPAKeySetGroup”
autoGenerate=“true”
このコードは、キー・セット群を生成又は規定し、名前によって識別する。autoGenerate属性は、スケジュールに従って代替キーを生成して置き換えるかどうかを規定する。
次のブロックは、スケジュール・オブジェクトを参照する属性を規定する。
wsSchedule=“WSSchedule_BIRKT40Node01_1”
次のブロックは、どのキー・セットが群に所属するかを規定する。
keySet=“KeySet_BIRKT40Node01_1KeySet_BIRKT40Node01_2”
次のブロックは、キー・セット群の中のキーに対するアクセスの対象範囲を特定する。
managementScope=“ManagementScope_BIRKT40Node01_1”/>
しかして、上記で定義されたKeySetGroupは、それ自体の対象範囲を持つが、それは、該キー・セット群が含むKeySetの対象範囲と少なくとも同等か又はもっと限定的でなければならない(例、ノードで定義された範囲を持つKeySetGroupは、サーバ定義範囲を持つKeySetを包含することはできない)。一つの実施形態では、自動キー生成を構成するためには、KeySetはKeySetGroupのメンバでなければならない。KeySetGroupは、一つ以上のKeySetを包含することができる。
wsSchedule属性は、次のキー生成イベントをいつ開始するかを設定するスケジュール・オブジェクトを参照する。KeySetGroupに対するキー生成イベントでは、各キー・セットのkeyGenerationClassに対する、generateKey又はgenerateKeyPairメソッドが呼出される。該メソッドは、各KeySetに対する新しいキー・バージョンを生成する(加えて、場合に応じ旧バージョンはキー・セットから排除される)。以下にスケジュール設定の例を示す:
<wsSchedules xmi:id=“WSSchedule_BIRKT40Node01_1”
name=“LTPAKeySetGenerationSchedule”
frequency=“90”
dayOfWeek=“1”
hour=“22”
minute=“00”
nextGenerationTime=“1136174401335”/>
これを使って、次のキー生成イベントを行う将来の日付を生成することができる。この日付は、nextGenerationTime属性の中に存続する。この日付が経過すると、上記のfrequency(頻度)、dayOfWeek(曜日)、hour(時間)及びminute(分)に基づいて新しい日付と時間が生成される。
isKeyPair属性が「真」の場合、keyGenerationClassによって、KeyPair生成インタフェースが実行される。これを使って、一般に署名に用いられる公開/プライベート・キーのペアが生成される。該キー・ペアを、java.security.PublicKey及びjava.security.PrivateKeyとすることができる。もしくは、該キー・ペアを、java.security.cert.Certificate(これはjava.security.PublicKeyを包含している)及びjava.security.PrivateKeyとすることができる。しかして、次が、キー・ペアの生成メソッドである:
generateKeyPair();
スケジュールされた時間になって、又はマニュアルでの要求によって、キー・ペアを生成しなければならない場合、キー・マネージャは、いつでもこの方法を実行することになる。同様に、秘密キーの生成メソッドを次に示す。
generateKey();
関連するメソッドに
void init(java.util.Properties customProps)がある。
キー・マネージャは、このメソッドを実行して、KeySetに設定された一切のカスタム・プロパティをインタフェース・モジュールに送る。以下のコード・ラインは、カスタム・プロパティを規定した例である:
<properties xmi:id=“Property_1”name=“key_length”value=“1024”required=“false”/>
<properties xmi:id=“Property_1”name=“key_algorithm”value=“RSA”required=“false”/>
これらの例示プロパティ仕様書の1番目は、1024のキー長さ値のキー・プロパティを規定している。2番目のプロパティ仕様書は、キーを生成するアルゴリズムを規定し、この場合はRSAである(RSAは、発明者Rivest(リベスト)、Shamir(シャミール)、及びAdleman(アドルマン)から命名されたアルゴリズム)。required属性は、規定された値がなければならないかどうかを示す。
図3は、前述したキー生成224及びキー・ペア生成222メソッドを含むキー・マネージャ202のブロック図を示す。また、キー・マネージャ202は、要求されたキーをキー・ストアから回収するメソッドも含む。しかして、キー・セット群ヘルパが以下のメソッドを呼出し、キー・マネージャが実行して、キー・セット群の中の全キーのキー・マップを得ることになる:
getAllKeysForKeySetGroup(エレメント226);
これは次の呼出しによって実行される:
public java.util.Map getAllKeysForKeySetGroup(java.lang.String keySetGroupName)throws KeyException,java.lang.SecurityException
キー・セット群には、一つ以上のキー・セットの各々のキーが包含されていることを思い起こす。各キー・セットは一つ以上のキーを有する。このメソッドの呼出しにおいて、キー・セット群ヘルパは、キー・セット群の名前を指定しなければならない。暗号化キー・マネージャは、該メソッドを呼出しているインタフェース・モジュールが、指定されたキー・セット群の管理範囲内にあるかどうかを判定する。
指定された群の中のキーは、秘密キー又は公開/プライベート・キー・ペアあるいはその両方である。秘密キーがインタフェース・モジュールに返されたとき、インタフェース・モジュールは、キーの種類又はアルゴリズムについて認識しない。該モジュールは、キー・マネージャからアプリケーション・プログラムへ単にキーを手渡すだけである。アプリケーション・プログラムは、使用するキーの種類及びアルゴリズムを認知している。以下は、マップ中のキーをバージョンでソートする例である:
{version_2={LTPASecret_2=javax.crypto.spec.SecretKeySpec@16833,
LTPAKeyPair_2=com.ibm.websphere.crypto.KeyPair@5e225e22},
version_3={LTPASecret_3=javax.crypto.spec.SecretKeySpec@fffe8b59,
LTPAKeyPair_3=com.ibm.websphere.crypto.KeyPair@1cec1cec},
version_4={LTPAKeyPair_4=com.ibm.websphere.crypto.KeyPair@5bd45bd4,
LTPASecret_4=javax.crypto.spec.SecretKeySpec@1781d}}
該メソッドは、キー・セット群中のキー・セットの中のキーのキー・リファレンスのマップを返す。各入力項はキー・エイリアス(例、LTPAKeyPair_2)及びキーを有する。一つの実施形態において、エイリアスはハッシュ化され、ハッシュ・オブジェクトが生成される。マップはインタフェース・モジュールに送信され、該モジュールはマップを、該インタフェース・モジュールと同じプロセッサに実行されているオーバーレイのアプリケーション・プログラムに転送する。アプリケーション・プログラムは、マップを受信するとそれを調べて所望のキーを選定することができる。例えば、アプリケーション・プログラムが最も旧い秘密キーを欲し、リストが時間順になっている場合、該プログラムは、単に、リストの最初の秘密キー入力欄を選択する。
キー・セット群ヘルパが次のメソッドを呼出し、キー・マネージャが実行して、キー・セット群中の最新のキーを読み出すことができよう。
getLatestKeysForKeySetGroup(エレメント228);
キー・セット群は、群の中にキーの最新バージョンを有しており、キーの旧バージョンを群の中に保持することができる。このメソッドは、最新キーだけのキー・リファレンス・マップを返す。以下はこれらリファレンスの例である。
{LTPAKeyPair_4=com.ibm.websphere.crypto.KeyPair@5bd45bd4,
LTPASecret_4=javax.crypto.spec.SecretKeySpec@1781d}
キー・セット・ヘルパが次のメソッドを呼出し、キー・マネージャが実行して、キー・セットのすべてのキーを読み出すことができよう。
getAllKeysForKeySet(エレメント230);
このメソッドは、キー・セット中のすべてのキーのマップを返す。以下は、KeySet名“CellLTPASecret”からのキーの例である。
{LTPASecret_2=javax.crypto.spec.SecretKeySpec@16833,
LTPASecret_3=javax.crypto.spec.SecretKeySpec@fffe8b59,}
以下は、KeySet名“CellLTPAKeyPair”からのキーの例である。
{LTPAKeyPair_4=com.ibm.websphere.crypto.KeyPair@5bd45bd4,
LTPAKeyPair_2=com.ibm.websphere.crypto.KeyPair@5e225e22,
LTPAKeyPair_3=com.ibm.websphere.crypto.KeyPair@1cec1cec}
キー・セット・ヘルパが次の方法を呼出し、キー・マネージャが実行して、キー・セットから最新のキーを読み出すことができよう。
getLatestKeyForKeySet(エレメント232);
このメソッドは、KeySetの種類に応じて、Java(登録商標)セキュリティ・キー・インスタンス、又はIBM(R) websphere.cryptoキー・ペア・インスタンスのいずれかを包含するオブジェクトを返す。しかして、該メソッドは秘密キー又はキー・ペアを返すことができる。キー・ペアを、公開キーとプライベート・キーとに、又は証明書とプライベート・キーとにすることができる。このメソッドにより返されるオブジェクトのフォーマットは、キーの種類によって決まる。以下は、KeySet名“CellLTPASecret”からの最新キーの例である。
javax.crypto.spec.SecretKeySpec@1781d
以下は、KeySet名“CellLTPAKeyPair”からの最新キーの例である。
com.ibm.websphere.crypto.KeyPair@5bd45bd4
図4は、前述した暗号化キー・プロセッサのオペレーションのフローチャート300の実施形態を示す。暗号化キー・プロセッサは、インタフェース・モジュールから、キー・セット又はキー・セット群の中のキーを得るメソッドの呼出しを受信する(エレメント302)。例えば、インタフェース・モジュールは、キー・セット群中の最新のキーを得るためのメソッドgetLatestKeyForKeySetを呼出すことができる。Java(登録商標)2セキュリティが有効の場合、このメソッドへのアクセスには許可が必要となる(エレメント304)。許可が得られない場合、キー・マネージャは、要求しているインタフェース・モジュールにエラーを返す(エレメント308)。許可が得られた場合、キー・マネージャは、次いで、要求しているマシンが要求されたキーに対するアクセス対象のマシン所定管理範囲に入っているかどうかを判定する(エレメント306)。しかして、例えば、アプリケーション・プログラムを実行しているサーバが、要求されたキーの管理範囲属性に特定されたノードに含まれているとする。この場合、暗号化キー・プロセッサは、呼出しを受けたゲット・キー・メソッドを実行するステップに進むことになる(エレメント310)。含まれていなければ、キー・マネージャは、インタフェース・モジュールにエラーを返す(エレメント308)。
実行される(エレメント310)呼出しゲット・キー・メソッドについては、前述のものも含め複数のゲット・キー・メソッドの一つとすることができる。呼出したゲット・キー・メソッドを実行することによって、該ゲット・キー・メソッドに指定されたキー・セット又はキー・セット群の中のキーのマップが作成される。一つの実施形態において、この、要求されたキーへのキー・リファレンスを包含するマップの要素はハッシュ化されハッシュ・マップが生成される(エレメント312)。暗号化キー・プロセッサは該マップをインタフェース・モジュールに送信し(エレメント314)、該モジュールはマップをアプリケーション・プログラムに渡す。次いでアプリケーション・プログラムは、マップから一つ以上の所望のキーを選定する。例えば、アプリケーション・プログラムは、マップから所与のエイリアスのキーを選定することができる。あるいは、アプリケーションは、秘密キー又は公開/プライベート・キー・ペアの特定のバージョンについてマップを探索することができる。
図5は、インタフェース・モジュールと、該モジュールを使うアプリケーション・プログラムのオペレーションに対するフロー・チャート400の実施形態を示す。アプリケーション・プログラムがあるキーを必要とする場合、アプリケーション・プログラムは、そのキーが属するキー・セット又はキー・セット群名を特定する(エレメント402)。インタフェース・モジュールのキー・セット群ヘルパ又はキー・セット・ヘルパのいずれかが、特定されたキー・セット群又はキー・セットの、もしくは、特定されたキー・セット群又はキー・セットのサブグループのマップを提供するゲット・キー・メソッドを呼出すことになる(エレメント404)。呼出されたゲット・キー・メソッドに応えて、キー・マネージャは結果を送信し、インタフェース・モジュールが受信することになり、一つの実施形態では、該結果をエラー又は要求されたキー・マップいずれかとすることができる(エレメント406)。
キー・マネージャがエラーを返した場合(エレメント408)、アプリケーション・プログラムはエラーを処理する(エレメント410)。エラーの処理には、ビデオ・モニタ上に「不許可」といったメッセージ入りのウィンドウの表示を含めることができよう。キー・マネージャがマップを返す場合、キー・セット・ヘルパ又はキー・セット群ヘルパは、該マップをアプリケーション・プログラムに手渡す。アプリケーション・プログラムは、キー・マネージャから提供されたマップの中の所望キーを調べる(エレメント412)。次いで、アプリケーション・プログラムは、マップから所望する一つ以上のキーを選定する(エレメント414)。例えば、アプリケーション・プログラムは、最初に、ファイルを解読するため最旧の秘密キーを選定することができよう。次いで、文書にデジタル署名をするため最新のキー・ペアを選定することができよう。
図6は、キー生成のスケジューリングに対するフロー・チャート500の実施形態を示す。暗号化キー・プロセッサのソフトウエアの実行が開始されると、キー生成頻度ステートメントが受信され、実行されて新しいキーを生成するための所定頻度が設定される(エレメント502)。暗号化キー・プロセッサは、この情報を使って次のキー生成イベントをスケジュールする(エレメント504)。該システムは、時間をモニタし(エレメント506)、現在がキー生成イベントの時間かどうかを判定する(エレメント508)。まだであれば、システムは時間のモニタを続ける(エレメント506)。時間であれば、キー・マネージャは、キー生成メソッドを呼出す(エレメント510)。キー・マネージャは、新しいキーをそれらの属性とともにキー・ストアに格納する(エレメント512)。
このように、オペレーション過程においてはいくつかの並行した関連する処理が行われる。オペレーションの一つの様態において、プロセッサは、ゲット・キー要求を受信し、呼出しているアプリケーション・プログラムがキーの受け取りを認可されているかどうかを判定し、キーのマップを生成し、該マップを要求するアプリケーション・プログラムに転送する。オペレーションの別の様態では、インタフェース・モジュールがゲット・キー・メソッドを呼出し、キー・マップを受信する。次いで、アプリケーション・プログラムがキー・マップの中の所望の一つ以上のキーを選定する。さらにオペレーションの第三の様態において、プロセッサは、キー生成イベントをスケジュールし、時間をモニタし、キー生成イベントを実施する時間かどうかを判断する。キー生成イベントにおいて、一つ以上のキー・セットの各々に対して新しいキーを生成することができる。
本発明は、全面的にハードウエアの実施形態、全面的にソフトウエアの実施形態、又はハードウエア及びソフトウエアの双方を含む実施形態の形を取ることができる。一つの実施形態において、本発明はソフトウエアに実装され、これには、以下に限らないがファームウエア、常駐ソフトウエア、マイクロコードなどが含まれる。さらに、実施形態を、図1に示すようなコンピュータ又は任意の命令実行システムに用いられる又はこれらと関連して使われるプログラム・コードを具えた、マシンがアクセス可能、可読の媒体から利用できるコンピュータ・プログラムの形態とすることができる。本明細書の目的の上で、マシン・アクセス可能、コンピュータ可使用、又はコンピュータ可読の媒体については、命令実行システム、装置、又はデバイスに用いられる又はこれらと関連して使われる、プログラムを包含、格納、伝達、伝播、又は伝送できる任意の器材とすることができる。該媒体を、電子、磁気、光学、電磁気、赤外、又は半導体システム(又は装置又はデバイス)もしくは伝播媒体とすることができる。マシンがアクセス可能媒体の例には、半導体又は固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、固形磁気ディスク、及び光学ディスクが含まれる。光学ディスクの現時点での例には、読取り専用コンパクト・ディスク(CD−ROM)、読み/書きコンパクト・ディスク(CD−R/W)、及びDVDが含まれる。
プログラム・コードを格納又は実行あるいはその両方を行うのに適したデータ処理システムには、システム・バスを介して、直接又は間接的にメモリと結合された少なくとも一つのプロセッサが含まれよう。メモリ・エレメントには、プログラム・コードの実際の実行中に使われるローカル・メモリ108、大容量記憶装置、キャッシュ・メモリ102,190を含めることができ、該キャッシュは、少なくとも一部のプログラム・コードの一時的な保存を提供して、実行中に大容量記憶装置からコードを読み出し必要回数を削減する。入力/出力又はI/Oデバイス(以下に限らないが、キーボード、ディスプレイ、ポインティング・デバイス等を含む)を、直接に、又は介在I/Oコントローラを通してシステムに連結することができる。また、ネットワーク・アダプタをシステムに結合し、個人又は公衆ネットワークを介在させて、該データ処理システムを、他のデータ処理システム又はリモートのプリンタ又は記憶装置に連結させることができる。モデム、ケーブル・モデム、及びイーサネット(登録商標)カードは、現在利用可能なネットワーク・アダプタのごく一部である。
しかして、本発明の別の実施形態は、データ処理システムで実行されると、該システムに暗号化キーを管理するための一連のオペレーションを実施させる機能を持つ命令を含むコンピュータ・プログラムを提供する。一連のオペレーションは、一般に、アプリケーション・プログラムから要求を受信し、キー・セット又はキー・セット群の中の一つ以上のキーを提供する作業を含む。キー・セットは少なくとも一つのキーを含み、キー・セット群は、少なくとも一つのキー・セットを含む。該オペレーションは、アプリケーション・プログラムが、当該キー・セット又はキー・セット群に対し特定された対象範囲に入っているかどうかを判定する作業を含む。一連のオペレーションは、アプリケーション・プログラムが所定対象範囲中にある場合に、要求されたキーのマップを生成する作業を含む。一連の作業は、所定のスケジュールに従って、キー・セットの新しいキーを生成する作業をさらに含む。
該オペレーションには、各キーのバージョン番号を格納し、キー・バージョン番号を当該キーに関連付ける作業をさらに含めることができる。これにより、エイリアス接頭辞とバージョン番号とによってキーを識別することができる。該オペレーションには、アプリケーション・プログラムに指定されたキー・セット又はキー・セット群から最新のキーを得る作業をさらに含めることができる。対象範囲として、要求キーの受領を認可してもらうよう、アプリケーション・プログラムが実行中に常駐しているべきノード又はサーバを特定することができる。一部の実施形態において、キー・セット群に関連する対象範囲は、そのキー・セット群内の、キー・セットに関連する最も狭い対象範囲と少なくとも同じ狭さである。
本発明及びその利点の一部をいくつかの実施形態について詳しく説明したが、添付の特許請求範囲に明示した本発明の精神及び範囲から逸脱することなく、これら実施形態にさまざまな変更、置換え、及び変形を加えることが可能なことを理解すべきである。本発明の実施形態は複数の目的を達成することができるが、添付の請求内容の範囲に含まれるあらゆる実施形態が、あらゆる目的を達成するわけではない。さらに、本出願の範囲は、本明細書に記載された工程、マシン、製造、組成物、手段、方法、及びステップの実施形態に限定する意図はされていない。当業者には、本明細書に記載された対応実施形態と実質的に同一の機能を遂行又は実質的に同一の結果を達成する、既存のあるいは今後開発される工程、マシン、製造、組成物、手段、方法、又はステップを、本発明に従って活用できることは、本発明の開示から自明であろう。従って、添付の特許請求は、その範囲の中に、こういった工程、マシン、製造、組成物、手段、方法、又はステップを含むよう意図されている。
ネットワーク内のデジタル・システムの実施形態を示す。該デジタル・システムは、暗号化キー管理ソフトウエアを実行することができる。 インタフェース・モジュールと連通している暗号化キー・プロセッサの実施形態を示す。 キー・マネージャのブロック図を示す。 アプリケーション・プログラムに要求されたキーを読み出すための実施形態のフローチャートを示す。 インタフェース・モジュールの、キーを呼出して選定するオペレーションの実施形態のフローチャートを示す。 スケジュールに従って新しいキーを生成するための実施形態のフローチャートを示す。
符号の説明
100 プロセッサ
102 L2キャッシュ
104 BIOSコード
106 OSコード
107 暗号化プログラム
108 記憶装置
109 データ
110 入力/出力インタフェース
112 サーバ
114 他のコンピュータ及びサーバ
116 デジタル・システム
130 命令フェッチャ
150 演算ユニット
160 制御回路
190 L1キャッシュ

Claims (15)

  1. 一つ以上のキーを要求するアプリケーション・プログラムが前記要求された一つ以上のキーの受領を認可されているかどうか判定し、前記要求されたキーのマップを生成するキー・マネージャと、
    事前設定可能な時間に少なくとも一つのキー生成イベントをスケジュールするキー・スケジューラと、
    スケジュールされたキー生成イベントにおいて前記少なくとも一つのキーを生成するキー・ゼネレータであって、前記生成されたキーは、キー・セット及びキー・セット群と関連付けられ、キー・セットは一つ以上のキーを含み、キー・セット群は一つ以上のキー・セットを含む、キー・ゼネレータと、
    前記少なくとも一つの生成されたキーを該キーの属性とともに格納し、各キーが該キーの属性のセットと関連付けられるようにするキー・ストアとを
    含む暗号化キー・マネジメント・システム。
  2. 前記キー・マネージャは、前記アプリケーション・プログラムが、前記キー・セットに対する所定対象範囲内にあるかどうかを判定する、請求項1に記載のシステム。
  3. 前記キー・マネージャは、前記要求されたキーの受領を認可してもらうために実行中前記アプリケーション・プログラムが常駐していなければならないノード又はサーバを特定した対象範囲を設定する、請求項2に記載のシステム。
  4. 前記キー・マネージャは、キー・セット群に関連する対象範囲を、前記キー・セット群内のキー・セットに関連する最も狭い対象範囲と少なくとも同じ狭さに設定する、請求項2に記載のシステム。
  5. 前記キー・ストアは、キー・セット又はキー・セット群の中の各キーのバージョン番号を含むキー属性を格納する、請求項1に記載のシステム。
  6. 前記キー・マネージャは、一つ以上のキーを要求する前記アプリケーション・プログラムの所在場所が、前記要求されたキー・セット又はキー・セット群に対し特定された対象範囲内であるかどうかを判定する、請求項1に記載のシステム。
  7. 前記キー・マネージャは、キー・セット又はキー・セット群の中のすべてのキーを読み出すメソッドを実行する、請求項1に記載のシステム。
  8. 前記キー・マネージャは、キー・セット又はキー・セット群の中の最新のキーだけを読み出すメソッドを実行する、請求項1に記載のシステム。
  9. キー・セット又はキー・セット群に関連する少なくとも一つのキーの提供を求めるアプリケーション・プログラムからの要求を受信するステップであって、キー・セットは少なくとも一つのキーを含み、キー・セット群は少なくとも一つのキー・セットを含む、受信ステップと、
    前記アプリケーション・プログラムが前記関連するキー・セット又はキー・セット群に対し特定された対象範囲内にあるかどうかを判定するステップと、
    前記アプリケーション・プログラムが前記関連する対象範囲内にある場合には、前記キー・セット又はキー・セット群に関連する前記少なくとも一つのキーのマップを生成するステップと、
    設定可能なスケジュールに従って、前記少なくとも一つのキーを生成し、前記キー・セット又はキー・セット群に含めるステップとを
    含む、暗号化キーを管理する方法。
  10. エイリアスをバージョン番号とともにキーに関連付けるステップであって、キー・セットの中のキーの最新バージョンは前記スケジュールに従って最後に生成された前記キーの前記バージョンである、関連付けステップをさらに含む、請求項9に記載の方法。
  11. 同じキーのすべてのバージョンは同じエイリアス接頭辞を有する、請求項10に記載の方法。
  12. キー・セット群に関連するキーの提供を求めるアプリケーション・プログラムからの要求は、キー・セットの中の最新のキーだけのマップを生成する特定の要求とすることができる、請求項9に記載の方法。
  13. 前記対象範囲として、要求されたキーの受領を認可してもらうように、前記キーの要求時に前記アプリケーション・プログラムが常駐していなければならないノード又はサーバを特定することができる、請求項9に記載の方法。
  14. キー・セット群に関連する対象範囲は、前記キー・セット群内のキー・セットに関連する最も狭い対象範囲と少なくとも同じ狭さである、請求項9に記載の方法。
  15. 請求項9乃至14のいずれか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム
JP2007274893A 2006-10-26 2007-10-23 暗号化キーの管理及び自動生成のためのシステム、方法、及びコンピュータ・プログラム Expired - Fee Related JP5296365B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/553276 2006-10-26
US11/553,276 US7822206B2 (en) 2006-10-26 2006-10-26 Systems and methods for management and auto-generation of encryption keys

Publications (2)

Publication Number Publication Date
JP2008109662A true JP2008109662A (ja) 2008-05-08
JP5296365B2 JP5296365B2 (ja) 2013-09-25

Family

ID=39330198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007274893A Expired - Fee Related JP5296365B2 (ja) 2006-10-26 2007-10-23 暗号化キーの管理及び自動生成のためのシステム、方法、及びコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US7822206B2 (ja)
JP (1) JP5296365B2 (ja)
CN (1) CN101169814B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010004516A (ja) * 2008-06-19 2010-01-07 Internatl Business Mach Corp <Ibm> 暗号鍵および証明書の配備および配付の自動妥当性検査および実行のためのシステムおよび方法
JP2015162785A (ja) * 2014-02-27 2015-09-07 日本電信電話株式会社 データ利用装置、暗号化データ流通システム、データ利用方法、暗号化データ流通方法、プログラム
JP2015537428A (ja) * 2012-10-12 2015-12-24 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 仮想マシンによる安全なデータ処理
JP5838248B1 (ja) * 2014-09-24 2016-01-06 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) * 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
US8611542B1 (en) * 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US9495561B2 (en) * 2008-01-08 2016-11-15 International Business Machines Corporation Target of opportunity recognition during an encryption related process
US8682470B2 (en) 2008-01-08 2014-03-25 International Business Machines Corporation Data storage drive with target of opportunity recognition
US9349410B2 (en) 2008-01-08 2016-05-24 International Business Machines Corporation Automated data storage library with target of opportunity recognition
US8559637B2 (en) * 2008-09-10 2013-10-15 Verizon Patent And Licensing Inc. Securing information exchanged via a network
US8233620B2 (en) * 2009-02-27 2012-07-31 Inside Secure Key recovery mechanism for cryptographic systems
US9215112B2 (en) 2010-02-23 2015-12-15 Rambus Inc. Decision feedback equalizer
WO2013087629A1 (en) * 2011-12-15 2013-06-20 Thomson Licensing Group encryption methods and devices
EP2719551B1 (en) 2012-10-15 2015-06-24 Continental Automotive GmbH Method and system for monitoring a parameter of a tire of a vehicle
US9183403B2 (en) 2013-06-28 2015-11-10 Hewlett-Packard Development Company, L.P. Key retrieval
US9311491B2 (en) * 2013-09-30 2016-04-12 Google Inc. Systems, methods, and computer program products for securely managing data on a secure element
US11288660B1 (en) 2014-04-30 2022-03-29 Wells Fargo Bank, N.A. Mobile wallet account balance systems and methods
US11461766B1 (en) 2014-04-30 2022-10-04 Wells Fargo Bank, N.A. Mobile wallet using tokenized card systems and methods
US11610197B1 (en) 2014-04-30 2023-03-21 Wells Fargo Bank, N.A. Mobile wallet rewards redemption systems and methods
US10997592B1 (en) 2014-04-30 2021-05-04 Wells Fargo Bank, N.A. Mobile wallet account balance systems and methods
US11615401B1 (en) 2014-04-30 2023-03-28 Wells Fargo Bank, N.A. Mobile wallet authentication systems and methods
US9652770B1 (en) 2014-04-30 2017-05-16 Wells Fargo Bank, N.A. Mobile wallet using tokenized card systems and methods
US11748736B1 (en) 2014-04-30 2023-09-05 Wells Fargo Bank, N.A. Mobile wallet integration within mobile banking
US10445739B1 (en) 2014-08-14 2019-10-15 Wells Fargo Bank, N.A. Use limitations for secondary users of financial accounts
US10218692B2 (en) 2014-08-21 2019-02-26 International Business Machines Corporation Management of digital certificates
GB2529633A (en) * 2014-08-26 2016-03-02 Ibm Password-based generation and management of secret cryptographic keys
US10122687B2 (en) 2014-09-14 2018-11-06 Sophos Limited Firewall techniques for colored objects on endpoints
US9537841B2 (en) * 2014-09-14 2017-01-03 Sophos Limited Key management for compromised enterprise endpoints
US9965627B2 (en) 2014-09-14 2018-05-08 Sophos Limited Labeling objects on an endpoint for encryption management
US11853919B1 (en) 2015-03-04 2023-12-26 Wells Fargo Bank, N.A. Systems and methods for peer-to-peer funds requests
US10097346B2 (en) * 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US11468414B1 (en) 2016-10-03 2022-10-11 Wells Fargo Bank, N.A. Systems and methods for establishing a pull payment relationship
US11295297B1 (en) 2018-02-26 2022-04-05 Wells Fargo Bank, N.A. Systems and methods for pushing usable objects and third-party provisioning to a mobile wallet
US11775955B1 (en) 2018-05-10 2023-10-03 Wells Fargo Bank, N.A. Systems and methods for making person-to-person payments via mobile client application
US11077727B2 (en) 2018-12-27 2021-08-03 Continental Automotive Systems, Inc. Vehicle TPMS security strategy
KR20200108515A (ko) * 2019-02-25 2020-09-21 현대자동차주식회사 차량 스마트키 시스템 및 그 제어 방법
CN110785783B (zh) * 2019-03-04 2024-03-26 创新先进技术有限公司 对用于区块链系统的签名验证进行测试的方法和设备
US11551190B1 (en) 2019-06-03 2023-01-10 Wells Fargo Bank, N.A. Instant network cash transfer at point of sale
US11979496B2 (en) * 2021-09-15 2024-05-07 Microsoft Technology Licensing, Llc Secret rotation in a cloud service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529012A (ja) * 1998-10-23 2002-09-03 エル3 コミュニケーションズ コーポレイション 異質の暗号資産におけるキイの資料を管理する装置および方法
JP2005332377A (ja) * 2004-04-19 2005-12-02 Microsoft Corp コンピューティングデバイスなどのネットワーク内における保護されたデジタルコンテンツのレンダリング
WO2006106250A1 (fr) * 2005-04-07 2006-10-12 France Telecom Communication securisee entre un dispositif de traitement de donnees et un module de securite

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812666A (en) * 1995-03-31 1998-09-22 Pitney Bowes Inc. Cryptographic key management and validation system
DE19622630C1 (de) 1996-06-05 1997-11-20 Siemens Ag Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
US6307936B1 (en) * 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
US6401203B1 (en) 1997-11-20 2002-06-04 Dan Eigeles Method for automatic handling of certificate and key-based processes
US6118873A (en) 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
US6785809B1 (en) 1998-08-27 2004-08-31 Nortel Networks Limited Server group key for distributed group key management
US7103185B1 (en) 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
US7103915B2 (en) * 2000-11-13 2006-09-05 Digital Doors, Inc. Data security system and method
US8176563B2 (en) * 2000-11-13 2012-05-08 DigitalDoors, Inc. Data security system and method with editor
JP4074057B2 (ja) 2000-12-28 2008-04-09 株式会社東芝 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法
US20030149876A1 (en) * 2002-02-01 2003-08-07 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
JP3900483B2 (ja) 2002-06-24 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報配信システム、そのサーバ及び情報処理装置
US7174021B2 (en) * 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations
US7240365B2 (en) * 2002-09-13 2007-07-03 Sun Microsystems, Inc. Repositing for digital content access control
US7751569B2 (en) 2002-11-19 2010-07-06 Oracle America, Inc. Group admission control apparatus and methods
JP2006514321A (ja) * 2003-02-03 2006-04-27 ノキア コーポレイション 暗号化されたアプリケーションをインストールするためのアーキテクチャ
KR100744531B1 (ko) * 2003-12-26 2007-08-01 한국전자통신연구원 무선 단말기용 암호키 관리 시스템 및 방법
EP1721409B1 (en) * 2004-03-05 2018-05-09 Electronics and Telecommunications Research Institute Method for managing traffic encryption key in wireless portable internet system and protocol configuration method thereof, and operation method of traffic encryption key state machine in subscriber station

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529012A (ja) * 1998-10-23 2002-09-03 エル3 コミュニケーションズ コーポレイション 異質の暗号資産におけるキイの資料を管理する装置および方法
JP2005332377A (ja) * 2004-04-19 2005-12-02 Microsoft Corp コンピューティングデバイスなどのネットワーク内における保護されたデジタルコンテンツのレンダリング
WO2006106250A1 (fr) * 2005-04-07 2006-10-12 France Telecom Communication securisee entre un dispositif de traitement de donnees et un module de securite

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010004516A (ja) * 2008-06-19 2010-01-07 Internatl Business Mach Corp <Ibm> 暗号鍵および証明書の配備および配付の自動妥当性検査および実行のためのシステムおよび方法
JP4566256B2 (ja) * 2008-06-19 2010-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 暗号鍵および証明書の配備および配付の自動妥当性検査および実行のためのシステムおよび方法
US8422686B2 (en) 2008-06-19 2013-04-16 International Business Machines Corporation Automated validation and execution of cryptographic key and certificate deployment and distribution
JP2015537428A (ja) * 2012-10-12 2015-12-24 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 仮想マシンによる安全なデータ処理
JP2015162785A (ja) * 2014-02-27 2015-09-07 日本電信電話株式会社 データ利用装置、暗号化データ流通システム、データ利用方法、暗号化データ流通方法、プログラム
JP5838248B1 (ja) * 2014-09-24 2016-01-06 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法
JP2016066845A (ja) * 2014-09-24 2016-04-28 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法

Also Published As

Publication number Publication date
CN101169814A (zh) 2008-04-30
US7822206B2 (en) 2010-10-26
JP5296365B2 (ja) 2013-09-25
US20080101610A1 (en) 2008-05-01
CN101169814B (zh) 2010-06-02

Similar Documents

Publication Publication Date Title
JP5296365B2 (ja) 暗号化キーの管理及び自動生成のためのシステム、方法、及びコンピュータ・プログラム
Miao et al. Multi-authority attribute-based keyword search over encrypted cloud data
US7454021B2 (en) Off-loading data re-encryption in encrypted data management systems
Tang et al. Secure overlay cloud storage with access control and assured deletion
US8527769B2 (en) Secure messaging with read-undeniability and deletion-verifiability
Bhatia et al. Towards a secure incremental proxy re‐encryption for e‐healthcare data sharing in mobile cloud computing
US6934840B2 (en) Composite keystore facility apparatus and method therefor
JP6925686B1 (ja) 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
US20080091947A1 (en) Software registration system
El Bouchti et al. Encryption as a service for data healthcare cloud security
JP2006094241A (ja) 暗号化装置、暗号化処理方法及びプログラム、並びに該暗号化装置を用いた情報保護システム
Che Fauzi et al. On cloud computing security issues
Khan et al. SSM: Secure-Split-Merge data distribution in cloud infrastructure
Nalinipriya et al. Extensive medical data storage with prominent symmetric algorithms on cloud-a protected framework
Thilakanathan et al. Secure multiparty data sharing in the cloud using hardware-based TPM devices
Anwarbasha et al. An efficient and secure protocol for checking remote data integrity in multi-cloud environment
Bingu et al. A comprehensive review on security and privacy preservation in cloud environment
Purushothama et al. Secure cloud storage service and limited proxy re-encryption for enforcing access control in public cloud
Bentajer et al. Cryptographic key management issues in cloud computing
Dangi et al. An improved authentication and data security approach over cloud environment
Siopi et al. DeCStor: A Framework for Privately and Securely Sharing Files Using a Public Blockchain
US11144665B2 (en) Purpose-based data access control
Alkhammash et al. A Bitcoin Wallet Security System (BWSS)
Montañez New security definitions, constructions and applications of proxy re-encryption
Sasmitha et al. Trusted Cloud Service Framework for Cloud Computing Security

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121122

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121122

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20121122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121127

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130528

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130528

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130613

R150 Certificate of patent or registration of utility model

Ref document number: 5296365

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees