説明

暗号化ソフトウェアを処理する方法及び中央処理装置

【課題】暗号化ソフトウェアを処理する中央処理装置の提供。
【解決手段】暗号化ソフトウェア部は管理キーMKで暗号化され、MKは暗号化MKとしてデバイス・キーDKで暗号化される。中央処理装置は処理・キャッシュ装置と暗号化ユニットとを備える。暗号化ユニットはDKを記憶するためのデバイス・キー記憶装置と、MKを記憶しそれぞれが管理キー索引MKIに対応する複数の管理キー記憶装置と、復号化装置とを備える。復号化装置は暗号化MKを前記DKで復号化してMKを取得しMKを管理キー記憶装置に記憶して、管理キー記憶装置に対応するMKIを出力する。MKIはこのようにして暗号化ソフトウェア部に対応するために使用される。復号化装置はMKIに従って対応するMKを呼び出し暗号化ソフトウェア部を復号化して、復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を直接、前記処理・キャッシュ装置へ転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報セキュリティ技術に関し、より詳細には暗号化ソフトウェアを処理する方法及び中央処理装置に関する。
【背景技術】
【0002】
一般的に改ざん防止技術は不安定な環境において物理的又は物理的以外の攻撃手段による改変又は破壊からデバイスを保護する。前記ソフトウェアについて、前記改ざん防止技術は悪意のあるユーザが秘密、例えば秘密鍵、専用アルゴリズムなどをソフトウェア・プログラムを解析又は改ざんすることによって取り出すことを防止する。主なアプリケーション・シナリオは不利な環境下で極秘データ/コードを持つ前記ソフトウェア・コンテンツを保護することである。
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来のソフトウェア改ざん防止技術のほとんどはソフトウェアの手法に基づいている。これらの方法はソフトウェアの極秘データ/コードを暗号化して悪意のあるユーザが前記秘密を盗むのを阻む障壁を強化することである。しかし前記ソフトウェアの暗号化手法によると、すべての暗号化データ/コードは最終的には何らかのソフトウェア・ルーチンによって簡単な方式に復号化されCPUに移動するはずである。悪意のあるユーザは簡単な方式の前記ソフトウェアを傍受して情報を取得することができる。
【0004】
前記改ざん防止ソフトウェアを実現するためにいくつかのハードウェアを基盤とした手法も提案されているが、これらはすべて専用アーキテクチャに基づいており、コプロセッサとして動作するものである。典型的なアーキテクチャは別個のプロセッサと揮発性記憶装置(例えば、RAM)と不揮発性記憶装置(例えば、フラッシュ・メモリ)と暗号エンジンとを1つの筐体内に詰め、コプロセッサとして外部バスを介してメイン・コンピュータと通信する。このアーキテクチャは特定の目的のソフトウェア、例えばATMソフトウェアなどに適している。しかし保護されたプログラムは上記のアーキテクチャを有するCPU上ではなく前記コプロセッサ上で動かさなければならず、それはソフトウェアの動作、開発、配備、配布を大幅に制約することになるので、改ざん防止性を有する一般的な目的のソフトウェアを開発することは困難である。
【課題を解決するための手段】
【0005】
前記既存技術の欠点を考慮すれば、本発明によって解決されるべき1つの課題は復号化データ又は復号化コードあるいはその両方が直接処理される改良型の中央処理装置CPUを提供することである。
【0006】
一態様によれば、本発明は少なくとも1つの暗号化ソフトウェアを処理する中央処理装置を提供する。前記暗号化ソフトウェアは少なくとも1つの暗号化ソフトウェア部を備える。前記暗号化ソフトウェア部は管理キーMKで暗号化され、前記MKは暗号化MKとしてデバイス・キーDKで暗号化される。前記中央処理装置は処理・キャッシュ装置(processing and cache unit)と暗号化ユニットとを備える。前記暗号化ユニットは前記DKを記憶するためのデバイス・キー記憶装置と、各管理キー記憶装置が管理キー索引MKIに対応しているMK記憶用の複数の管理キー記憶装置と、復号化装置とを備えている。前記復号化装置は暗号化MKを前記DKで復号化してMKを取得し、前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを出力し、前記MKIはかくして暗号化ソフトウェア部に対応するために使用される。この場合、前記復号化装置はMKIに従って対応するMKを呼び出して前記暗号化ソフトウェア部を復号化し、前記復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を直接前記処理・キャッシュ装置へ転送する。
【0007】
別の態様によれば、本発明は少なくとも1つの暗号化ソフトウェアを中央処理装置で処理する方法を提供する。前記中央処理装置は処理・キャッシュ装置と暗号装置とを備える。前記暗号装置は復号化装置と、デバイス・キーDKを記憶するデバイス・キー記憶装置と、管理キーMKを記憶する複数の管理キー記憶装置とを備える。各管理キー記憶装置は管理キー索引MKIに対応しており、前記暗号化ソフトウェアはMKで暗号化され、前記MKは暗号化MKとしてDKで暗号化される。前記方法においては、前記暗号化ソフトウェアに対応する前記暗号化MKは前記暗号装置内に記憶される。前記復号化装置は暗号化MKをDKで復号化してMKを取得する。次いで前記MKを管理キー記憶装置内に記憶して前記管理キー記憶装置に対応するMKIを取得する。こうして前記MKIは前記暗号化ソフトウェアと関連付けられる。対応するMKは前記MKIに従って呼び出され、前記暗号化ソフトウェアは前記暗号装置内の前記MKで復号化される。前記復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方は直接、前記処理・キャッシュ装置へ転送される。前記処理・キャッシュ装置は前記復号化ソフトウェアを処理する。
【発明を実施するための最良の形態】
【0008】
本発明による好ましい実施形態の詳細な説明を以下の通り添付の図面を用いて説明する。
【0009】
図1は本発明の一実施形態に係るブロック図である。前記中央処理装置CPU100は少なくとも1つの暗号化ソフトウェアを処理するためのものである。前記暗号化ソフトウェアは少なくとも1つの暗号化ソフトウェア部を備える。例えば、フラッシュ・メモリ130に記憶された前記ソフトウェアは複数の暗号化部と複数の非暗号化部とを備える。暗号化ページは前記ソフトウェアの前記暗号化部を記憶し、普通のページは前記非暗号化部を記憶する。前記暗号化ソフトウェア部は管理キーMKで暗号化される。前記MKは暗号化MKとして前記CPUと関係付けられたデバイス・キーDKで暗号化される。前記デバイス・キーによって暗号化された前記管理キーは前記図表ではMK−DKと表示されている。
【0010】
前記中央処理装置は処理・キャッシュ装置110と暗号装置120とを備える。前記暗号装置120は前記CPUに対応する前記DKを記憶するデバイス・キー記憶装置と、MKを記憶する複数の管理キー記憶装置であってその各々が管理キー索引MKIに対応する記憶装置と、暗号化MKを前記DKで復号化してMKを取得し前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIであって前記暗号化ソフトウェア部に対応させるために使用されるMKIを出力する、復号化装置とを備える。そこでは前記復号化装置が前記MKIに従って対応するMKを呼び出し、前記暗号化ソフトウェア部を復号化して前記復号化ソフトウェア・コード又は復号化ソフトウェア・データあるいはその両方を直接、前記処理・キャッシュ装置110へ転送する。
【0011】
さらにすべての管理キー記憶装置は必要に応じて1つ以上の管理キー索引MKIに対応することができる。
【0012】
処理するソフトウェアに関して、まず前記ソフトウェアに対応するデバイス・キーで暗号化された前記管理キーMK−DKが前記暗号装置120に記憶される。次いで前記暗号化管理キーMK−DKが前記デバイス・キーDKで復号化されて前記管理キーMKを取得する。
【0013】
前記管理キーMKを管理キー記憶装置に記憶し前記管理キー記憶装置の前記対応する管理キー索引MKIを取得する。そこではすべての管理キー記憶装置は対応する管理キー索引を有する。次いで前記MKIは前記暗号化ソフトウェア部と関連付けられる。
【0014】
したがって、前記中央処理装置がMKIと関連付けられた前記暗号化ソフトウェア部を処理する必要がある場合、前記対応するMKを前記MKIに基づいて取得することができる。前記暗号化ソフトウェア部は前記暗号装置内で前記管理キーによって復号化される。前記復号化ソフトウェア・コード又は復号化ソフトウェア・データあるいはその両方は直接前記処理・キャッシュ装置へ転送されそこで処理される。
【0015】
本発明によれば、前記保護されたコード又はデータあるいはその両方はソフトウェア・ルーチンによって復号化されることもなければ、ユーザに利用しやすい記憶手段、例えばメモリやハード・ディスクなどに記憶されることもない。反対に本発明による前記ハードウェア復号化装置は中央処理装置CPUに組み込まれ、暗号化コード又は暗号化データあるいはその両方は復号化されて直接CPUへ供給される。ユーザは保護されたコンテンツの普通のコード又はデータあるいはその両方にアクセスできず、例えば普通の方式のコード又はデータあるいはその両方がユーザに利用しやすい記憶手段に現れることは決してないということから、悪意のあるユーザによるこれらのコンテンツの傍受が効果的に回避される。
【0016】
後述するある所定の手段によれば、前記保護されたコンテンツへのアクセスはさらに認証コードのみに限定することもできる。かくしてこれらの保護されたコンテンツが悪意のあるユーザによって傍受されることがさらに効果的に回避される。
【0017】
しかしながら、本目的は既存の保護方法、特にソフトウェアに基づく保護方法によって達成されることはほとんどない。
【0018】
図1に表示する暗号化部を有するソフトウェアの処理について、前記ソフトウェアはページを用いてメモリに記憶できる。前記暗号化部及び非暗号化部はそれぞれ暗号化ページ内及び普通のページ内に記憶できる。ページ・テーブル150を作成することもできるし、必要に応じて暗号化ページのページ・アドレス及び普通のページのアドレスを復号化MKのMKIと関連付けることもできる。かくしてCPUは、前記関連付けられたMKIに従って暗号化ソフトウェア部と非暗号化ソフトウェア部とを別々に処理することになる。当業者ならMKIを暗号化ソフトウェア部と関連付けるために他の方法を使用できること、例えばヘッダを暗号化ソフトウェア部に追加してその対応するMKIを表示できることを、理解することができたであろう。前記CPUが複数の暗号化ソフトウェアを処理する環境下では、それぞれのMKに対応する前記MKIを別個に前記ソフトウェアと関連付けすることができる。
【0019】
管理キーと暗号化ソフトウェア部を関連付けすることにより、本発明に係る中央処理装置が複数の暗号化ソフトウェア又は暗号化部を有する複数のソフトウェアを処理することが可能になる。
【0020】
本発明の別の態様によれば、復号化装置は復号化ソフトウェア・コード又はデータあるいはその両方を対応するMKIと共に直接、前記処理・キャッシュ装置へ転送し、前記処理・キャッシュ装置は前記MKIに従って前記復号化ソフトウェア・コード又はデータあるいはその両方を処理する。
【0021】
本発明に係る前記CPU及び方法について、前記処理・キャッシュ装置はさらに前記処理されたソフトウェア・コード又はデータあるいはその両方を対応するMKIと共に暗号装置へ転送することができ、前記暗号化装置は前記MKIに従って前記対応するMKを呼び出し、前記処理されたソフトウェア・コード又はデータあるいはその両方を暗号化して、前記暗号化されたソフトウェア・コード又はデータあるいはその両方を前記対応するMKIと共に出力する、暗号化装置をさらに有する。
【0022】
本発明に係る前記CPU及び方法について、前記中央処理装置はさらに複数の暗号化されたソフトウェアを処理するように構成することもでき、各暗号化されたソフトウェアは別のMKで暗号化され、別のMKはそれぞれ前記DKで暗号化される。前記復号化装置はさらにMKを取得するために前記暗号化されたMKを復号化し、前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを出力するように構成され、これによって前記MKIはそれぞれ前記複数の暗号化ソフトウェアに関連付けられる。かくして同一のソフトウェアの暗号化部又は同一の暗号化ソフトウェアが同一のMKIに関連付けられるか、あるいは同一のMKで暗号化されたソフトウェアが同一のMKIに関連付けられる。
【0023】
本発明に係る前記CPU及び方法について、前記復号化装置は所定の手段に基づいて管理キー記憶装置及びMKIをMKに配置してもよく、前記処理・キャッシュ装置は所定の手段に基づいて前記復号化ソフトウェア・コード又はデータあるいはその両方を処理する。前記所定の手段は、MKIと関連付けられたコード又はデータあるいはその両方が同じMKIを有するコードだけでアクセスできること、あるいはMKIに関連付けられたコード又はデータあるいはその両方が前記手段に従ってあるMKIを有するコードだけでアクセスできること等から構成されている。例えばある範囲内で対応するMKIを有するコードは互いにアクセスすることができる。しかしながら、別のMKIを有するコード又はMKIを有していないコードもお互いを呼び出すことができてもよい。
【0024】
本願では、MKIと関連付けられたコード又はデータあるいはその両方は次のもの、すなわちMKIと関連付けられた暗号化コード又はデータあるいはその両方、MKIと関連付けられた復号化されたコード又はデータあるいはその両方、及びMKIと関連付けられた中間処理コード又はデータあるいはその両方から得られたコード又はデータあるいはその両方、のうちの1つ又はそれ以上であってもよい。MKIに関連付けられたコード又はデータあるいはその両方は復号化される前は自分のMKI識別子を維持することしかできない。好ましい一実施形態としては、MKIに関係付けられたコード又はデータあるいはその両方がキャッシュ内又は前記中央処理装置の別の部内で、自身のMKI識別子を維持することができる場合もある。
【0025】
本発明に係るCPU及び方法について、前記処理・キャッシュ装置はさらに秘密レジスタ・セット(secret register set)を備えていてもよく、前記所定の手段は、前記秘密レジスタ・セット内に記憶されMKIと関連付けられたコード又はデータあるいはその両方に同一のMKIを有するコードだけでアクセスできること、あるいは前記秘密レジスタ・セット内に記憶されMKIと関連付けられたコード又はデータあるいはその両方に前記手段に従って、あるMKIを有するコードだけでアクセスできること、例えばある範囲内で対応するMKIを有するコードが互いにアクセスできること等から構成されている。
【0026】
図1に示されるように必要とされるCPUについて、前記処理・キャッシュ装置は処理部とキャッシュ部とから構成されている。前記キャッシュ部は制御装置とキャッシュ・ラインに対応するMKI識別子部とから構成されている。前記処理部は実行装置と、現行の命令レジスタ及びそれに対応するMKI記憶部と、秘密レジスタ・セットと、レジスタ(前記レジスタは、対応するMKI識別子部又は記憶部を有していてもよいし有していなくてもよい)と、他の部門とから構成されていてもよい。当業者ならば、前記処理・キャッシュ部は本発明及びCPUの他の要件に従って、前記発明から逸脱することなく他の構成を使用できることを、理解することができたはずである。例えば、前記処理・キャッシュ部はMKI及び秘密レジスタ・セットを使用しなくてもよい。かくして前後で説明しているように、前記暗号装置は前記暗号化ソフトウェアを分離して保護することになる。
【0027】
本発明によれば、前記暗号装置及び他の保護装置はCPU内に組み込まれている。この構成はプログラムの実行を保護するすべての装置を1つのコプロセッサに統合している既存の技術とは異なっている。それ故前記CPU及びコンピュータはその既存の構造を維持しているが、前記既存の構造はオペレーティング・システムとアプリケーションを含む従来のソフトウェアには見えない。前記従来のソフトウェアは前記ハードウェア向け改ざん防止機構を認識しないであろう。この改ざん防止機能に対応するために、例えばソフトウェアを記憶するオペレーティング・システムの場合、オペレーティング・システムは暗号化部と非暗号化部とを別々に記憶することになる。こうすることによって、暗号化部をMKIと関連付けすることがより容易になる。したがってソフトウェアの前記元の動作、展開、配置、配布を維持しながら、アプリケーションが改ざん防止技術を実施することがより容易になる。
【0028】
上述したように、ソフトウェアに基づく従来の改ざん防止技術は傍受をより難しくするためにソフトウェアの機密データ又はコードあるいはその両方を暗号化する。ハードウェアに基づく従来の改ざん防止技術は改ざん防止に関わるすべての前記部門を別のコプロセッサ内に統合し、前記保護されたソフトウェアを前記コプロセッサ内で作動させるものである。
【0029】
本発明では、暗号装置及び他の保護装置はCPU内に組み込まれ、MKIで管理される。図1は本発明の一実施形態に係る構造を示している。前記暗号装置はCPU内で、CPUのデータ列の最外部に配置されている。一般的に前記暗号装置はキャッシュと外部データ・バスの間に配置することもできる。
【0030】
前記保護されたソフトウェア部(データ又はコードあるいはその両方)はCPUの外部に記憶される場合には常に暗号化される。CPUが前記暗号化されたコンテンツを読み出す場合には、復号化装置が前記コンテンツをCPUによる処理に適した通常のテキストになるように復号化する。CPUが暗号化部の前記コンテンツをメモリ又は記憶手段に書き込もうとする場合は、それらのコンテンツがCPUに送信される前に暗号化装置が前記コンテンツを暗号化する。本発明では、前記保護されたコンテンツ(データ又はコードあるいはその両方)は前記保護されたコンテンツがCPUの外部にある場合には、常に暗号化される。前記保護されたコンテンツへのアクセス権は認証コードに限定されている。
【0031】
図1は本発明の一実施形態に係る暗号化CPU(encryption CPU)を示している。前記暗号化CPUは必ずしもそれだけに限定されるわけではないが、次の特徴を有している。
【0032】
1.あらゆるCPUには保護されたソフトウェアへの条件付(認証付)アクセスのためのデバイス・キーDKが1つ又は数個与えられている。
【0033】
2.前記ソフトウェア保護部は管理キーMKによって暗号化される。一般に前記MKは配布が容易な故にDKとは異なっている。MKは前記アプリケーションが配布される場合、各アプリケーション毎に任意に作り出すことができる。
【0034】
3.前記MKは選択されたDKで暗号化され、前記アプリケーションと共にあるいは前記DKとは別のMKが選択された場合には別に、配布される。一般的に放送暗号化、例えば媒体鍵ブロックMKB(Media Key Block)と簡易公開鍵基盤PKI(Public Key Infrastructure)はいずれもMK配布の選択肢である。
【0035】
4.CPU内の前記暗号装置はすべての作動アプリケーション用MKの内蔵リストを保存することができる。
【0036】
5.保護されたアプリケーションと共に配布される前記MKは適切なDKで復号化され、前記内蔵MKリストから使用可能な項目が前記アプリケーションMKを記憶するために配置される。一般的に前記オペレーティング・システムはCPUを呼び出して前記アプリケーションが読み込まれる前に本プロセスを完了させるとともに、前記MK自体ではなく前記内蔵MKリストの前記MK索引MKIが前記オペレーティング・システムに戻される。
【0037】
6.前記MKIは保護されたアプリケーションの実行のためのデータ構造を構築するのに利用される。一般的に前記オペレーティング・システムは、前記ページ・テーブルに前記対応するMKIを適切に構築する必要がある。
【0038】
7.前記暗号化装置/復号化装置は前記関連付けられたMKIに従って、前記保護部を適切に暗号化/復号化する。
【0039】
8.保護されたコンテンツにアクセスする特権は前記認証コードに限定される。典型的な選択肢は、前記同一のMKIを有する前記保護部のコードのみが前記保護されたコンテンツの読出し・書き込みを行うことができるように限定することである。非認証コードは前記保護されたコンテンツを読み出すことしかできない。
【0040】
9.特定の秘密レジスタ・セットは前記レジスタの使用を制限するために特定のアクセス手段で実行することができる。アクセス手段の典型的な選択肢は、前記同一のMKIを有するコードのみが同一のMKIを有するレジスタ内の前記プレーン・フォーム値の読出し、書き込みを行うことができるように限定することである。他のコードはレジスタ内の暗号化された(同じMKIを有するMKによって暗号化された)値の読み出し、書き込みができるだけである。
【0041】
10.オペレーティング・システムが業務間で切換わる場合は、前記現行のレジスタ・セット内のコンテンツがメモリに保存され処理すべき前記業務のレジスタ・セットに関するコンテンツがメモリから読み込まれる。前記レジスタ・セットが秘密レジスタ・セットである場合メモリ内の前記値は暗号化された値になる。
【0042】
本発明の好ましい実施形態が詳細に説明された。しかし当業者は前記好ましい実施形態は説明のために提示されているだけであって、本発明をそれに限定すると解釈すべきではないことを理解するであろう。当発明はソフトウェア又はハードウェア又はそれら2つの組合せによって実施することができる。当業者なら本発明に様々な修正、変更を施すことができるが、それらの修正、変更はすべて添付の特許請求範囲で定義されている本発明の前記請求範囲と趣旨に沿って行われる。
【図面の簡単な説明】
【0043】
【図1】本発明の一実施形態によるブロック図である。
【符号の説明】
【0044】
100 中央処理装置
110 処理・キャッシュ装置
120 暗号装置
130 フラッシュ・メモリ
150 ページ・テーブル

【特許請求の範囲】
【請求項1】
少なくとも1つの暗号化ソフトウェアを処理するための中央処理装置であって、前記暗号化ソフトウェアは少なくとも1つの暗号化ソフトウェア部を備え、前記暗号化ソフトウェア部は管理キー(MK)で暗号化され、前記管理キー(MK)は暗号化MKとしてデバイス・キー(DK)で暗号化される、中央処理装置であって、
処理・キャッシュ装置と、
前記DKを記憶するためのデバイス・キー記憶装置と、
各々が管理キー索引(MKI)に対応している、MKを記憶する複数の管理キー記憶装置と、
暗号化MKを前記DKで復号化してMKを取得し、前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを出力し、前記MKIは前記暗号化ソフトウェア部に対応するために使用される復号化装置と、
を備える暗号化ユニットと、
前記復号化装置は前記MKIに係る対応するMKを呼び出して前記暗号化ソフトウェア部を復号化し、前記復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を直接、前記処理・キャッシュ装置へ転送する、
中央処理装置。
【請求項2】
前記復号化装置は前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方をMKIと共に直接、対応する前記処理・キャッシュ装置へ転送し、前記処理・キャッシュ装置は前記MKIに従って、前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を処理する、請求項1に記載の中央処理装置。
【請求項3】
前記処理・キャッシュ装置は、前記処理されたソフトウェア・コード又はソフトウェア・データあるいはその両方を対応するMKIと共に前記暗号装置へさらに転送し、
前記暗号装置は、前記MKIに従って前記対応するMKを呼び出す暗号化装置をさらに備えて、前記処理されたソフトウェア・コード又はソフトウェア・データあるいはその両方を暗号化し、前記暗号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を前記対応するMKIと共に出力する、
請求項2に記載の中央処理装置。
【請求項4】
複数の暗号化ソフトウェアを処理するようにさらに構成されており、各暗号化ソフトウェアは別々のMKで暗号化され、別々のMKはそれぞれ前記DKで暗号化され、
前記復号化装置は、前記暗号化MKを復号化してMKを取得し、および前記MKを前記管理キー記憶装置に記憶して、前記管理キー記憶装置に対応するMKIを出力するようにさらに構成され、それによって前記MKIがそれぞれ前記複数の暗号化ソフトウェアに関連付けられる、
請求項1ないし3のいずれかに記載の中央処理装置。
【請求項5】
前記復号化装置は所定の手段に基づいて管理キー記憶装置及びMKIをMKに配置し、前記処理・キャッシュ装置は所定の手順に基づいて前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を処理する、請求項4に記載の中央処理装置。
【請求項6】
前記所定の手順は
MKIに関連付けられたコード又はデータあるいはその両方が同一のMKIを有するコードのみによってアクセスできること、あるいは、
MKIに関連付けられたコード又はデータあるいはその両方が、前記手段に従ってあるMKIを有するコードのみによってアクセスできること
から構成される、請求項5に記載の中央処理装置。
【請求項7】
前記処理・キャッシュ装置は秘密レジスタ・セットをさらに備え、前記所定の手順は
前記秘密レジスタ・セットに記憶されてMKIに関連付けられたコード又はデータあるいはその両方が同一のMKIを有するコードのみによってアクセスできること、あるいは、
前記秘密レジスタ・セットに記憶されてMKIに関連付けられたコード又はデータあるいはその両方が前記手段に従ってあるMKIを有するコードのみによってアクセスできること、
から構成される、請求項5に記載の中央処理装置。
【請求項8】
少なくとも1つの暗号化ソフトウェアを中央処理装置で処理する方法であって、
前記中央処理装置は処理・キャッシュ装置と暗号装置とを備え、前記暗号装置は復号化装置とデバイス・キー(DK)を記憶するデバイス・キー記憶装置と管理キー(MK)を記憶する複数の管理キー記憶装置とを備え、各管理キー記憶装置は管理キー索引(MKI)に対応し、前記暗号化ソフトウェアはMKで暗号化され、前記MKは暗号化MKとしてDKで暗号化される方法であって、
前記暗号化ソフトウェアに対応する前記暗号化MKを前記暗号装置に記憶するステップと、
復号化装置が暗号化MKを前記DKで復号化してMKを取得するステップと、
前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを取得するステップと、
前記MKIを前記暗号化ソフトウェアと関連付けるステップと、
前記MKIに従って対応するMKを呼び出して前記暗号装置内で前記暗号化ソフトウェアを前記MKで復号化するステップと、
前記復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を直接、前記処理・キャッシュ装置へ転送して前記復号化ソフトウェアを前記処理・キャッシュ装置で処理するステップと、
から構成される方法。
【請求項9】
前記復号化装置は前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を対応するMKIと共に直接前記処理・キャッシュ装置へ転送し、前記処理・キャッシュ装置は前記MKIに従って前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を処理する、請求項8に記載の方法。
【請求項10】
前記処理・キャッシュ装置は前記処理されたソフトウェア・コード又はソフトウェア・データあるいはその両方を対応するMKIと共に前記暗号装置へさらに転送し、前記暗号装置はさらに前記MKIに従って前記対応するMKを呼び出して前記処理されたソフトウェア・コード又はソフトウェア・データあるいはその両方を暗号化するとともに、前記暗号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を前記対応するMKIと共に出力する暗号化装置を備える、請求項9に記載の方法。
【請求項11】
請求項8ないし10のいずれかに記載の前記方法は複数の暗号化ソフトウェアをさらに処理し、各暗号化ソフトウェアは別のMKで暗号化され、別のMKはそれぞれ前記DKで暗号化される方法であり、
前記復号化装置は前記暗号化MKを前記DKで復号化してMKを取得し、前記MKを前記管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを出力し、それによって前記MKIはそれぞれ前記複数の暗号化ソフトウェアに関連付けられることから構成されている。
【請求項12】
前記復号化装置は所定の手段に基づいて管理キー記憶装置及びMKIをMKに配置し、前記処理・キャッシュ装置は所定の手段に基づいて前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を処理する、請求項11に記載の方法。
【請求項13】
前記所定の手段はMKIに関連付けられたコード又はデータあるいはその両方が、同一のMKIを有するコードのみによってアクセスできること、あるいはMKIに関連付けられたコード又はデータあるいはその両方が前記手段に従ってあるMKIを有するコードのみによってアクセスできることから構成される、請求項12に記載の方法。
【請求項14】
前記処理・キャッシュ装置は秘密レジスタ・セットをさらに備えるとともに、前記所定の手段は前記秘密レジスタ・セットに記憶されてMKIに関連付けられたコード又はデータあるいはその両方が同一のMKIを有するコードのみによってアクセスできること、あるいは前記秘密レジスタ・セットに記憶されてMKIに関連付けられたコード又はデータあるいはその両方が前記手段に従ってあるMKIを有するコードのみによってアクセスできることから構成されている、請求項8に記載の方法。

【図1】
image rotate


【公開番号】特開2008−33457(P2008−33457A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【外国語出願】
【出願番号】特願2006−203989(P2006−203989)
【出願日】平成18年7月26日(2006.7.26)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】