JPH10313309A - 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置 - Google Patents

国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置

Info

Publication number
JPH10313309A
JPH10313309A JP9310211A JP31021197A JPH10313309A JP H10313309 A JPH10313309 A JP H10313309A JP 9310211 A JP9310211 A JP 9310211A JP 31021197 A JP31021197 A JP 31021197A JP H10313309 A JPH10313309 A JP H10313309A
Authority
JP
Japan
Prior art keywords
application
cryptographic
cos
policy
level
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
Application number
JP9310211A
Other languages
English (en)
Inventor
Helmut Fieres
ヘルミュット・フィエレス
Roger Merkling
ロジャー・マークリング
Keith Klemba
キース・クレンバ
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.)
Cheyenne Property Trust
Original Assignee
Cheyenne Property Trust
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 Cheyenne Property Trust filed Critical Cheyenne Property Trust
Publication of JPH10313309A publication Critical patent/JPH10313309A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

(57)【要約】 【課題】国際暗号法フレームワークによって、製造業者
が、暗号機能の分配を統制する種々の国内法に従うこと
を可能にすること。 【解決手段】管理フレームワーク内には、保全領域認可
機関20、アプリケーション領域認可機関22、ホストシス
テム16、及びネットワーク保全サーバ18の4つの基本要
素があり、暗号ユニット14、政策カード12、及びホスト
システム16は、例えばプリンタ内の単一の集積回路から
構成できる。暗号機能の実行に関してキー要素は、認可
機関が暗号ユニットに関して指定する信頼関係に対する
特別の要件に関わる。暗号ユニットで実行される機能は
どれも、保全政策を表す関連サービスクラスによって制
御される。アプリケーション及び暗号ユニット内部のフ
ァームウェア要素の両方に関して、タッチポインティン
グの概念が、これらモジュールの機能化にわたる制御を
行う際に鍵となる役割を果たす。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、暗号法に関し、よ
り詳細には、国際暗号法フレームワークと併用するため
の動的サービスクラスに関する。
【0002】
【従来技術】大型コンピュータシステムの顧客は、典型
的には、全社的なコンピュータに基づく解決策を購入し
たいと望んでいる多国籍企業である。かかる組織の分散
性のため、彼等は、彼等の組織全体にデータを送るの
に、公共の国際通信サービスを利用する必要がある。当
然、彼等は、彼等の通信の機密保護を問題とし、最新の
端末間暗号機能を利用して、プライバシーとデータの保
全を確保しようとするのである。
【0003】通信における暗号法の使用は、国家の政策
に左右され、且つ、残念ながら、国家政策は、当該使用
に関しては種々異なっている。各国家政策は、一般には
国際的配慮よりもむしろ国家に重点を置いて、自主的に
展開されている。国際的暗号法に適した共通の暗号アル
ゴリズムを開発しようとしている標準化団体がある。し
かし、国際的暗号規格の問題点は、技術的な問題ではな
くて、むしろ、それは、その深部に国家的権力が絡む政
治的問題なのである。そのようなわけで、異なった国家
間の暗号政策が、技術的標準化プロセスによって一線に
並ぶと期待するのは現実的ではない。
【0004】暗号法における国家的利害関係の問題点
は、全世界的市場に向けたオープン規格に基づく情報技
術製品を製造している会社の特殊問題なのである。市場
は、これらの製品が保護されることを期待している。し
かし、これらの製品の多くの消費者は、ますます、彼等
自身多国籍となり、そして彼等の全世界的情報技術開発
を抑制する国際的暗号法の諸問題解決に彼等を支援する
よう、そのメーカに対して期待を寄せるのである。国家
の暗号政策における未解決の差異と輸出規制が永続する
ことにより、機密保護された開放型計算機製品の国際的
市場の成長に悪影響が及ぼされる。従って、国家的暗号
政策の自主的開発を尊重しながら、共通の機密保護要素
を特徴とする地球的情報技術製品をもたらす国際的フレ
ームワークを提供することは有用であろう。
【0005】国家が暗号法を統制する政策を採用するの
には理由がある。しばしば、これらの理由は、法律の実
施並びに国家安全保障の問題と関係がある。各国内に
は、これらの政策の権利と容認に関して、政府と国民と
の間に論争が起こり得る。これらの論争に関与したり、
又はそれらの結末を予測しようとするのではなく、むし
ろ、各国家の主権者の権利を受け容れて、通信における
暗号法を支配する自主的政策を確立した方がはるかに実
用的である。
【0006】国家的暗号法を支配する諸政策は、その国
民と政府の意思を表すのみならず、暗号法を促進するあ
る種の技術も包含するものである。技術の選択は、標準
化がその役割を果たすことのできる、確かに1つの領域
である。しかし、先に示したように、これは単なる技術
的問題ではなく、そのため、共通の暗号技術だけでは、
国家的政策の差異を解決することはできないのである。
従って、独立した技術と政策の選択が、これらの政策に
準じた国際的暗号通信を従来通り可能にする方法で実行
できる、共通の容認された暗号法フレームワークを提供
することは有用であろう。
【0007】国旗カード、暗号ユニット、ホストシステ
ム、及びネットワーク保全サーバを含む4部門の技術的
枠組みが、K. Klemba, R. Mercklingによる「Internati
onalCryptography Framework」と称する、1995年3月8日
付け出願の米国特許同時係属出願第08/401,588に開示さ
れている。これら4つのサービス要素のうちの3つは、
基本的階層関係にある。国旗カード(NFC)は、暗号ユニ
ット(CU)に実装され、このユニットが、今度は、ホスト
システム(HS)に実装されるのである。ホストシステム上
の暗号機能は、暗号ユニット無しでは実行できず、その
ユニット自体には、有効な国旗カードの存在が必要とさ
れ、その後サービスが使用可能となる。第4のサービス
要素、すなわちネットワーク保全サーバ(NSS)によっ
て、他の3つのサービス要素の検証を含む異なる保全サ
ービスの範囲が提供可能である。
【0008】国際暗号法フレームワーク(ICF)は、任意
の且つ全ての国家政策の企画、実施、及び運営要素を支
援する一方、独立した国家安全保障政策の企画、開発、
及び運営を統合する。故に、そのフレームワークは、国
家安全保障政策のサービス要素に対して標準形態を与
え、この場合、かかるサービス要素には、ハードウェア
書式因子、通信プロトコル、及びオンライン並びにオフ
ラインのデータ定義が含まれる。
【0009】フレームワークの実施に当たって重要なこ
とは、様々なサービス要素の生成を可能にする基本的技
術の提供である。サービス要素の種々の実施法は、当業
者の技術範囲内であるが、フレームワークのもつ全面的
な可能性を実現しようとする場合は、当面の技術水準に
特定の改良を施す必要がある。例えば、様々なサービス
クラスと、暗号法並びにその他のフレームワークの特徴
の用法に関連した方法とを確立するために、保全機構を
設けることは有益であろう。
【0010】
【発明が解決しようとする課題】本発明の目的は、国際
暗号法フレームワークによって、製造業者が、暗号機能
の分布を統制する種々の国内法に従うことを可能にする
ことにある。
【0011】本発明の他の目的は、かかるフレームワー
クによって、あらゆる方式の情報処理装置(例えば、プ
リンタ、パームトップ式)において、全世界的な暗号機
能の出荷を可能にすることにある。
【0012】
【課題を解決するための手段】該フレームワーク内にお
いて、暗号ユニットは、幾つかの暗号化法(例えば、DE
S, RSA, MD5)を包含している。
【0013】本願発明は、主として、フレームワークの
アプリケーション検証局面を扱う。ICFの基本的要件
は、ICFのサービス要素から暗号サービスを要求するア
プリケーションが、暗号法の認可レベルの誤使用に対し
て保護を与える、ある書式の証明書によって識別される
ことである。認可された暗号レベルは、保全政策を介し
て記載され、サービスクラスとして表現される。
【0014】ICFのコア要素の1つである暗号ユニット
は、アプリケーションの目的で幾つかの検証方式を構築
するのに用いることができる。本発明は、ICF要素の関
連内でアプリケーションコードイメージと発行証明書と
の間の結合強度を決める種々の方法を提供するものであ
る。暗号機能の実行に関してキー要素は、認可機関が暗
号ユニットに関して指定する信頼関係に対する特別の要
件に関わるものである。例えば、暗号ユニットで実行さ
れる機能はどれも、保全政策を表す関連サービスクラス
によって制御できるものでなければならない。アプリケ
ーション及び暗号ユニット内部のファームウェア要素の
両方に関して、本明細書で説明するタッチポインティン
グ(touchpointing)の概念は、これらのモジュールの機
能化にわたって制御を行う際に、鍵となる役割を果たす
ものである(例えば、いずれも本出願人による、1995年
3月8日に出願された「Application Certification For
AnInternational Cryptography Framework」と称する米
国特許出願第08/401,588号(1997年7月22日に付与され
た米国特許第5,651,068号)、1997年3月21日に出願され
た同特許継続出願第08/821,325号、及び1996年8月23日
に出願された「Method and Apparatus For Trusted Pro
cessing」と称する米国特許出願第08/702,332号を参
照)。
【0015】ICFアーキテクチャのその他の基本的要件
としては、アプリケーションが、それがサービスを受け
ている暗号ユニットの一貫性について保証されることで
ある。従って、本発明はまた、暗号ユニットが既に交換
もしくは不正変更されているか否かの判定を可能にする
方法も提供する。
【0016】
【発明の実施の形態】国家の暗号法政策は、しばしば、
産業区分、政治情勢、及び/又はメッセージ機能によっ
て変わる。このため、常に全ての産業にわたって1つの
一様な政策を割当てることが困難となる。従って、国旗
カード、即ち政策を取り込む暗号法フレームワークの柔
軟性は極めて魅力的である。それ故、本発明は、主とし
て、国際的暗号法を包含する諸問題の解決法を目指すも
のである。しかし、本発明は、他の多くの用途に適合さ
れ、且つそれら用途に使用することを意図するものであ
る。
【0017】本発明は、好ましくは、4つのサービス要
素を有し、それぞれが異種サービスを提供する国際暗号
法フレームワークの関連内にある。図1は、国旗カード
12(本明細書では、「政策カード」(PC)及び「政策」と
も呼ぶ)、暗号ユニット14、ホストシステム16、及びネ
ットワーク保全サーバ18を含む、国際暗号法フレームワ
ーク(ICF)10のブロック図である。明らかなように、こ
のICFの要素の幾つかは、共通環境内で組み合わせるこ
とができる。例えば、暗号ユニットと政策カードはホス
トシステム内にあってよい。例えば、暗号ユニット、政
策カード、及びホストシステムは、例えばプリンタにお
ける単一の集積回路から構成することもできる。
【0018】ホストシステム(HS)とは、暗号ユニット(C
U)を含むシステム又はユニットのことである。ICFのこ
の要素は、CUに対するアプリケーションプログラミング
インタフェースを支援する。この要素又、保全認識があ
り且つCUを利用するアプリケーションも支援する。これ
らのアプリケーションは、実行時中はCUに緊密に結合さ
れる。
【0019】暗号ユニット(CU)とは、暗号機能を含むシ
ステム又はユニットのことである。これらの機能は待機
状態にあり、PCによって起動されるまで、HSが使用でき
ない。CUに含まれる暗号機能は、業務要求によって決め
られる。CUは、不正防止を行い、そこに格納できるキー
イングマテリアルはどれも保護する。PCとの接触を維持
することはCUの責務である。それをし損なうと、結果と
してCUの機能性の崩壊となる。
【0020】政策カード(PC)とは、暗号用法政策を含む
システム又はユニット。特に、このICF要素は、このPC
にとって既知である1つ以上のCUにおける暗号の使用を
支配するパラメータを含む。さらにこの要素は、CUの核
心課題に応答する責務がある。
【0021】政策カードは、物理的又は仮想的な形態の
何れかで実施することができる。物理的政策カードは、
CU内部でハードウェア支援を必要とし、これは、次い
で、核心関係でPCと係合する。ハードウェアレベルのタ
ッチポイント、即ち、ハードウェア暗号機能を禁止にす
る方法(1996年7月23日付けで出願された、Klemba他に
よる「Cryptographic Unit Touch Point Logic」と称す
る、米国特許出願第08/685,076号を参照 )は、物理的
政策カード用に実施しなければならない。仮想的政策カ
ード(VPC)は、タッチポイント技法のハードウェア又は
ファームウェアの実行と連携して動作する。VPCのシナ
リオにおいて、政策分散は、ネットワーク保全サーバを
伴う。
【0022】ネットワーク保全サーバ(NSS)とは、信頼
されるサードパーティーとして機能して、HS、CU、及び
PCにネットワーク保全サービスを提供するシステム又は
ユニットのことである。これらのサービスには、政策強
化、政策分散、ユニット検証、許認可に対する調整、及
び重要な管理サービスを含めることができる。
【0023】ICF管理フレームワークに関して、ICFの核
心要素の周辺には、暗号装置の製造者と、フレームワー
クを介して政策の定義及び強調を実行する、領域認可機
関とがある。図2は、ICFに関するこれら追加の管理要
素を紹介する概略ブロック図である。
【0024】管理フレームワーク内には4つの基本要素
がある。これらは、保全領域認可機関20、アプリケーシ
ョン領域認可機関22、ホストシステム要素16、及びネッ
トワーク保全サーバ18である。
【0025】以下の定義は、本明細書での説明に関して
適用されるものである。
【0026】製造者:製造者とは、暗号装置の実際の生
産者である。製造者は、製造されたCUの各ロットについ
て保全領域認可機関と情報を共有する。
【0027】保全領域認可機関:保全領域認可機関と
は、その領域を支配する保全政策を定義する機関であ
る。保全政策は、サービスクラス(COS)を介して、他の
フレームワークに提示される。製造上の情報を知ること
によって、決定論的なCUセットに目標設定されたサービ
スクラスを作り出すことが可能となる。
【0028】アプリケーション領域認可機関:アプリケ
ーション領域認可機関(ADA)は、アプリケーションに対
して証明書を作り出す認可機関として機能する。その証
明書には、サービスクラスがSDAによって認可された時
は、アプリケーションに対する認可サービスクラスが含
まれる。
【0029】ネットワーク保全サーバ:ネットワーク保
全サーバ(NSS)は、所与のCUに対する政策の活性化を管
理する信頼の置けるオンラインの認可機関として機能す
る。
【0030】ホストシステム/アプリケーション/CU:
アプリケーションが実装され、且つCUサービスが用いら
れるホストシステムは、フレームワークにより制御すべ
き実行要素を形成する。
【0031】2つの領域認可機関を図2の上部に示す。
保全領域認可機関(SDA)は、アプリケーション領域認可
機関に対して、一組のサービスクラス26を認可する責任
がある。SDAはまた、COS情報とCU用のタッチポイントを
含んでいる政策カードを発行する責務もある。SDAは、C
Uをホストシステムに実装しているサイトから要求があ
るとこの情報を作る。
【0032】アプリケーション領域認可機関(ADA)は、S
DAによって認可されたCOS要素を受け取る。それは、そ
の領域に属するアプリケーション29に、アプリケーショ
ン証明書28を発行する責務がある。アプリケーション証
明書には、アプリケーションIDと、ADAによって認可さ
れたCOSが含まれる。
【0033】アプリケーションは、ADAから証明書を受
け、それをCUに提示して所望のCOSレベルを受けなけれ
ばならない。要求を受けると、CUはその証明書を使っ
て、要求された暗号機能に、アプリケーションがアクセ
スする権利があるかどうかを判定する。アプリケーショ
ン証明を介して要求されたCOSが、SDAによってADAに付
与され、また政策カードに記憶されたCOSと一致する場
合、その要求は処理され、そうでなければ処理されな
い。
【0034】タッチポイントデータは、政策カード12上
に格納されている情報であり、且つ、定義されたサービ
スクラスに対して暗号ハードウェアを許可する情報であ
る。周期的に、この情報はCUで再計算され、政策カード
で有効化される。なんらかの不一致があれば、CUの暗号
能力を崩壊させることになる。
【0035】ネットワーク保全サーバ(NSS)18は、政策
折衝のためのオンライン装置として機能し、政策カード
に記憶された政策情報に合わせて変化する。サービスク
ラスをサービスセットに付加するには、通常、変更され
た情報を包含している新政策カードの発行が必要であ
る。代替として、NSSは、SDAに代わって政策カードの更
新を行う。
【0036】NSSはまた、仮想政策カード(VPC)を分散す
る役割を果たす。VPCを実施するには、定義された時
点、例えば、システム立上げ時にNSSと接触して、COS情
報を検索しなけらばならない。CUがNSSと接触しなけれ
ばならない時を正確に規定するCOS属性がある。
【0037】基本ICFアーキテクチャ前提:ICFアーキテ
クチャは、核心要素に関する少数の極めて基本的な前提
に基づいている。それらは次の通りである。
【0038】検証:全てのソフトウェア要素は、それら
がCU内に実装されたファームウェア構成要素であろう
と、又はCUによって移植されるサービスを使うアプリケ
ーションであろうと、証明書によって保護される。どん
な操作、例えば、ファームウェアモジュールのダウンロ
ード、又は一定のサービスレベルに対するアプリケーシ
ョンも、この証明書の有効化に伴う。
【0039】従って、フレームワーク内で保全性を高め
るべく、本発明による利点に合わせて開発される1つの
技法は、種々の点で検証を必要とすることになる。証明
書の利用は、一般に周知である。例えば、ITU-T Recomm
endation X.509(1993)を参照。
【0040】X509(93)の証明書式は次の通りである。
【0041】
【0042】現行のX509(93)仕様における2つの変形
を、本発明と関連して問題とし、それを以下に記載す
る。
【0043】・領域にわたって独自識別名を駆使する努
力は、例えば、Constructing X509(93) certificate Un
iqueldentifiers from specific certification system
semantics, Dept of Computer Architecture - Univer
sitat of Politectnica de Catalunya Barcelonia (199
4年10月)(さらに、an EWOS reference EWOS/EGSEC/94/
183)、及びWorking Draft for extensions to X509/IS
O/IEC 9594-8 certificate definitions (1994年7月)
(さらに、an EWOS reference EWOS/EGSEC/94/168)に
引用されているように、証明書又は政策を有効化するプ
ロセスにおける認可機関間の相互連絡の階層性に基づ
く。政策IDは、NSA(アメリカ国家安全保障局)及びSCS
SIのよう公益団体によるか、又はソフトウェア出版社協
会又はマイクロソフト社(Redmond,Washington)のような
私的機関によって登録される。 ・Working Draft for extensions to X509/ISO/IEC 959
4-8 certificate definitions (1994年7月)(さらに、a
n EWOS reference EWOS/EGSEC/94/168)に引用されてい
るような、結合識別化された政策及び認可機関の制約
は、政府間の互換政策の折衷検証によく適合する。例え
ば、本明細書に記載のサービスクラスが、いったん拡大
フィールドで言及されると、支援していると特に認識さ
れる局部領域政策は、他の政策についても同じように利
用できるか、又は利用できないことがあり、従って、互
換政策の認識が容易になる。証明書のこの局面の応用例
は、この方式を使って私的機関の政策を折衷検証し得
る、インターネット政策の検証認可機関である。
【0044】政策又は検証システムの意味論上での拡張
は、Constructing X509(93) certificate Uniqueldenti
fiers from specific certification system semantic
s, Dept of Computer Architecture - Universitat of
Politectnica de Catalunya Barcelonia (1994年10月)
(さらに、an EWOS reference EWOS/EGSEC/94/183)に
よって提案された独自IDフィールドに見出すことがで
きる。Working Draft for extensions to X509/ISO/IEC
9594-8 certificate definitions (1994年7月)(さら
に、an EWOS reference EWOS/EGSEC/94/168)によって
定義されたような、政策フィールド又は認可機関制約フ
ィールドと呼ばれる検証拡張フィールドは、第二の要件
を満足するであろう。
【0045】暗号機能の提供:物理的政策カード方式を
実行するシステムは、ハードウェアタッチポイントを実
行するCUを必要とする。CUは、PCに入り込み且つそれと
の接触を維持することなしに、HSに何らかの暗号機能を
与えることはない。仮想PC方式を実行するシステムは、
NSSの存在を要する。VPCを分配させるには、NSSとCU間
に少なくとも初期接触がなければならない。CUはまた、
政策のライフサイクルを記述するCOS属性によって決め
られる正規の基準で、NSSと接触するよう要求されるこ
ともある。
【0046】分離:政策カードが、物理的か又は仮想的
政策カードであるかどうかに関係なく、CU内で処理され
るユーザデータは、どのような状況下でも政策要素によ
ってアクセスできない。同様に、どのような状況下でも
ホストシステムは、タッチポイントのデータ情報のよう
な政策要素関連データへのアクセスがあってはならな
い。
【0047】制御:所与のPC又はVPCによって制御され
る1つのCU又は幾つかのCUは決定論的であり、即ち、CU
の何れの事象、作用、及び判断も皆、PCとは独立してい
る前提の必然の帰結である。
【0048】ICF基本的信頼要件:図3は、ICF及び検証
要件を示す概略ブロック図である。ICF環境は、アプリ
ケーション29が、有効なサービスクラスを含んでいる証
明書の形でアプリケーション領域認可機関によって付与
されたように、合法的に一定レベルの暗号法を実行する
ことを確証する方法によって左右される。故に、この証
明書へのアプリケーションの緊密な結合は、ICFの重要
な要素である。この信頼関係を確立するプロセスは、本
明細書において、アプリケーション検証スループットと
呼ぶ。
【0049】アプリケーション検証は、アプリケーショ
ン29と暗号ユニット14の間に信頼関係を確立する、2つ
の主要素を記述するものである。
【0050】第一の部分は、データの一部を解析して、
それが未だ不正変更されていないことを判定するプロセ
スに関する。一般に、対象物の2つの主要なクラスが興
味深い。第一のクラスは、プログラムイメージ検証とい
う主題に関するものである。第二のクラスは、プロセス
を一般化して、その概念を様々なデータ対象物に適用す
るものである。CUの特性、即ち、不正防止型の機能ユニ
ットは、任意のデータ対象物の一般的検証法の構築を考
慮に入れている。
【0051】アプリケーションの見地から、アプリケー
ションは、CUの同一性について保証されなければならな
い。この種の信頼を確立するプロセスは、本明細書を通
じて、CU有効化スループットと呼ぶものである。CUの有
効化は、CUが未だ不正変更されていないということ、即
ち、それが偽造CUと取り替えられていないことを、アプ
リケーションに保証するプロセスに関する。CU有効化プ
ロセスの後、アプリケーションは、正しいCUが、要求さ
れた暗号サービスを実行中であると想定することができ
る。
【0052】コードイメージ検証:重大なアプリケーシ
ョンにとって、アプリケーションが未だ不正変更されて
いないことを確証することは、長年の要求であった。こ
の確証の実行には、通常、信頼の置けるロードサブシス
テムが伴う。信頼の置けるロードサブシステムは、オペ
レーティング・システムの一部であり、プログラムイメ
ージをシステムメモリ空間にロードし、それと同時に、
アプリケーションが未だ不正変更されていないことの確
証をとる責任がある。プログラムイメージわたったチェ
ックサムのような機構は、通常、この目的に使用され
る。かかるアプリケーションにおいて、そのチェックサ
ムが、アプリケーション実装時に、ローダサブシステム
によって記憶されたチェックサムと一致しない場合、ロ
ードは失敗であり、プログラムイメージはロードされな
い。
【0053】信頼の置けるローダサブシステムは、オペ
レーティング・システムに対する関係から独立して存在
できない。ローダを信頼して、アプリケーションが未だ
不正変更されていないことの確証をとることは、オペレ
ーティング・システムがローダを信頼していることを意
味する。システムブート時に、通常はハードウェアの一
部によって有効化される信頼の置けるカーネルは、アプ
リケーションが帰属する信頼階層の核を構築する。
【0054】CUはまた、CU実行時と、暗号法サービスモ
ジュールと、保全プロトコル又は他のユーザレベル機能
を実行する潜在的ユーザレベルのサービスモジュールと
を実行するファームウェア要素27(図2参照)も包含す
る。アプリケーション検証に適用される要件は、また、
ファームウェアにも適用される。従って、CUにロードさ
れるファームウェアモジュールには、ファームウェア証
明25(図2)が付随する。
【0055】一般対象物の検証:コードイメージを有効
化して証明書の合法的使用を決定することは、証明書に
よって支配される任意の対象物を有効化するために一般
化しすることができる。例えば、インターネットapplet
は、それらにJAVAプログラミング言語によるWorld Wide
Webアプリケーションが備わる際、やはり本明細書に記
載の方法を利用することができる。利用またはアクセス
すべき対象物にはどれも、証明書が付随できる。有効化
ステップは、コードイメージ用の信頼の置けるロードサ
ブシステムによって実行されるステップと極めて類似し
ている。
【0056】CU有効化:CUの有効化は、暗号法サービス
を要求するアプリケーションが、CUの同一性について確
認されることを保証するプロセスを記述する。このタス
クを達成し得る方法が幾つかあり、例として以下に記載
する。
【0057】・CUに課題を出す。この方法では、アプリ
ケーションは、CUだけが解くことができるパズルをCUに
出す。CUがそのパズルを解けたという事実は、そのCUの
同一性の証拠である。
【0058】・CUは、アプリケーションを機能する準備
を整える。このアプローチにおいて、アプリケーション
は、スクランブル形式で目標システムに送り出される。
例えば、2進イメージが暗号化できる。正しい解読キー
を有するCUだけが、アプリケーションをスクランブル解
除することができ、故に、それが有効なCUである。
【0059】第二の方法は、ソフトウェア著作権方式に
ついて追加の適用可能性を有するものである。暗号化し
た形のアプリケーションを目標側に送り、そしてCUにそ
のプログラムを解読させることは、CUが有効CUであるこ
とを明らかにするのみならず、ソフトウェアのメーカが
適合するよう仕立てたアプリケーションを、その特定の
CU、即ち、ホストシステムに送り出せるようにする。残
念ながら、いったん解読されると、そのアプリケーショ
ンイメージは、明文で利用でき、従ってほとんどもしく
は何ら努力しなくても、他のシステムへ複写することが
できる。
【0060】ICFの基礎は、ソフトウェアレベルのタッ
チポイントと呼ばれる方法であって、また本発明のCU有
効化態様、並びに著作権保護方式の両方に対処する方法
を考慮したものである。ソフトウェアレベルのタッチポ
イントの概念については、以下で更に詳細に説明する。
【0061】ICFの管理概念:ICFモデルは、政策方式を
実行し、その場合、アプリケーションが、アプリケーシ
ョンに許容される暗号法レベルを最終的に定義するサー
ビスクラスを要求する。以下は、政策とサービスクラス
の概念についての説明、並びに政策の定義と分散に当た
り管理要素SDA、ADA、及びNSSがどのように相互作用す
るかについての説明である。
【0062】政策とサービスクラス:図4は、ICFの管
理要素、即ち、ADA及びSDAの関係を示すブロック図であ
る。ICFは、暗号法の政策推進型の実施形態である。政
策は、サービスクラスの形で授与される、サービスレベ
ルの正式の定義である。例えば、Emailアプリケーショ
ン用に強い暗号法レベルを有する業務的要件に応じて、
保全領域機関は、サービスクラス「DES 128bit」を作り
出すことができる。この強い暗号法レベルを求めるADA
には、この政策を実行すべく定義されたCOSが与えられ
る。
【0063】ICF管理フレームワークにおいて定義され
た保全領域機関は、機関の保全利益と要件を満足すべく
定義された政策から、サービスクラスを作り出す要素で
ある。COSは、独自識別名、即ち連番を有し、これは、
この機関によって再生利用されることにはならず、他の
SDAによって折衷検証の形で意味上理解されるべきもの
である。
【0064】ADA22に与えられるCOS 26によって、ADA
が、COSを包含するアプリケーションに対してアプリケ
ーション証明を発行することが可能となる。これによっ
て、アクセス制御の経路が形成される。アプリケーショ
ンは、COSによって識別される方法、例えば、一定の強
度での暗号運用にアクセスする証明書をもっていなけれ
ばならない。
【0065】ICFアーキテクチャ内の他の制御経路は、
存在の経路である。定められたCOSは、CUに伝播され
て、目標CUでこのサービスを可能にしなければならな
い。アクセス経路が有効アクセスを示したとしても、CO
Sでラベル表示される方法は、実行されるべき要求に対
して、現在の状態になければならない。もし、例えば、
COSが物理的政策カードに記憶され、且つその政策カ
ードがCUから除去されるなら、関連方法はもはや存在
せず、即ち、それらは動作しないことになる。
【0066】ある方法のアクセスの制御並びに存在の制
御は、ICFアーキテクチャにとって基本的なものであ
り、且つ両者はどの実行にも常に存在していなければな
らない。COSを存在経路から除去すると、結果として、
アクセス経路の評価結果に関係なく非機能法となる。
【0067】政策活性化:政策活性化は、サービスクラ
スを通じて定義されるように、CUがサービスを提供する
ために必ず起こる事象の順序を記述するものである。ア
プリケーションが、アプリケーション証明を介してCOS
を求めることができる前に、CUは、この特定のCOSに関
して活性化されなければならない。ICFは、政策制御の
暗号活性化の概念において特異的である。
【0068】実行に依存して、暗号ユニットは、COSが
政策カードからダウンロードされるよう、その政策カー
ドと繋がっていなければならない。VPCのシナリオは、C
OSをCUにダウンロードするために、NSSとのネットワー
ク接続を必要とする。これらの解法は、技術的には、多
かれ少なかれ等価であるが、それらは、フレームワーク
全体の信頼モデルにとって重大な意味を有する。物理的
政策カードに基づく解法は、CUがハードウェアでタッチ
ポイントを実行することを要する。この主たる理由は、
物理的政策カードの場合における制御の分離である。物
理的政策カードは、領域認可機関環境に必ずしも接続さ
れず、また政策にわたる制御は、それがいったん発行さ
れると、ほとんど不可能である。これを補償するため、
ハードウェアのタッチポイントは、そのハードウェアの
決定論的位置に置かれ、その結果、タッチポイントデー
タを含む政策カードは、ロードできるが、制御アプリケ
ーションを崩壊しないことには、実行から除去すること
はできない。
【0069】タッチポイント概念のファームウェア実施
は、これらのタッチポイントの位置及び実装に関して、
はるかにダイナミックな方法で動作する。何故なら、ロ
ードすべき実際のファームウェアは、先験的に知られて
おらず、従って攻撃者に対して大きい余地を残すためで
ある。これを補償するため、オンライン要素が、NSSの
形で存在し、これは、ファームウェアを基礎としたタッ
チポイント実施のよりダイナミックな制御を考慮したも
のである。
【0070】サービスクラス:図5は、サービスクラス
構造の図解である。サービスクラス(COS)は政策を記述
するものである。上述のように、政策は、1つ以上のCO
S構造に翻訳される。
【0071】サービスクラスは、発行SDA 20によって承
認された構造である。COSはまた、CU内でタッチポイン
トを制御するのに必要なタッチポイントデータも包含す
る。
【0072】・方法フィールド51は、サービスクラスが
表す実際の方法を記述する。例は、暗号法アルゴリズム
識別名のみならず、その他の任意の定義法、例えば、コ
ンポーネント実装のための手順、又はCOSに関連した操
作のための実行権利である。
【0073】・制約フィールド52は、方法の属性を記述
する。例は、このサービスクラスの用法を支配する属
性、例えば、アルゴリズムに用いられるキーイングマテ
リアルの強度、このCOSが有効である時間長、又はそれ
を用いることができる回数である。タッチポイントデー
タフィールドは、このCOSに対して活性化すべきCUに要
するタッチポイント情報を記述する。
【0074】サービスクラスは、何重にも収納すること
ができる、即ち、COSは、その方法の一部として他のサ
ービスクラスを包含することができる。サービスクラス
によっては、特に非暗号法のサービスクラスは、タッチ
ポイントデータを包含しなくてもよい。
【0075】崩壊政策の概念も、全てのCOS構造に共通
である。COSは、無限寿命の間有効であると宣言するこ
とも、又は寿命が限定されてもよい。限定寿命の例は、
OSの寿命へのCOS寿命のリンク、アプリケーションイン
スタンス、又はCUにより確立された背景である。OS又は
アプリケーションを再始動すること、又はCU関係を閉鎖
することは、COSを期限切れ及び無効と表記することに
なろう。COSを活性化するには、その後、NSSとの相互作
用が必要であろう。
【0076】COSの寿命を限定するその他の事象は、計
数、例えば、このCOSによって許容される動作回数、も
しくはこのCOSによって支配される単一動作である。後
者は、例えば、財務処理に使えるような、正確に1つの
相互作用に関してサービスクラスを創り出すことができ
る極めて強力なツールである。
【0077】CUの一部は、サービスクラスがそれらの崩
壊政策に従って処理されるところの崩壊機能性を実行す
る。COSを不能にすることが必要であると政策が決定す
ると、関連した機能性はどれも存在しなくなる。ICF CU
は、それが、正に期限切れとなる制約を有するサービス
クラスによって運用される暗号法サービスを提供すると
いう点において特異的である。
【0078】特別の、予め定められたサービスクラスで
あるCOS0は、COS崩壊機能性を保護するのに用いる。COS
0はそれ自体、崩壊政策を受けるので、COS処理は、存在
しなくさせることができ、従って、任意の種類のサービ
スについてCU全体を記述する。NSSからの新規の活性化
は、この場合に必要となろう。
【0079】サービスクラスレベル:サービスクラス
は、それらが記述する対象物によってのみならず、実施
がCOSによって記述されたサービスレベルを授与する前
に行われる有効化レベルによっても、編成される。ICF
の好ましい実施例は、COSに関する6つの有効化レベル
を定めるものである。そのレベルが高まるにつれ、授与
すべきサービスにわたって、ますます緊密な有効化(及
び故に制御)が達成される。
【0080】図6は、COSレベルの概念を示す概略ブロ
ック図である。ICFは、COS有効化の数レベルを実行す
る。これらのCOS有効化のレベルは、例示に過ぎない。
明らかであろうが、他の有効化レベル、及びそれらの組
合せも、本発明を実施する際に与えることができる。そ
れらをCOSレベル0〜5とラベル表示する。レベルが増え
るにつれ、有効化量も増える。図6は、有効化に関連し
た要素を示す反時計方向の円61を含む。最低の認証レベ
ルでは、COSのSDA原点だけが有効化され、一方、最高の
認証レベルでは、各動作についてNSSへのオンライン接
続と認可が必要である。
【0081】・COSレベル0:COSレベル0は、証明書が割
り当てられないアプリケーションに割り当てられる。そ
れでも、COSは、COSを発行したSDAによって承認される
ので、最低レベルの保護が、このレベルで与えられる。
このレベルは、主として、証明書をCUへ通すのに変更で
きないアプリケーションに予定される。
【0082】・COSレベル1:COSレベル1は、SDAによっ
て承認されたアプリケーション証明によりCOS IDを利用
できるようにする際に、COS IDを有効化する。
【0083】・COSレベル2:COSレベル2は、COSレベル1
に、アプリケーション証明の有効化を付加する。証明書
は、COS IDによって識別されたCOSについてSDAに尋ねた
ADAによって発行される必要がある。
【0084】・COSレベル3:COSレベル3は、COSレベル2
に、ADAによって発行されたアプリケーションIDの有効
化を付加する。
【0085】・COSレベル4:COSレベル4は、アプリケー
ションによって要求されたCOSを有効化すべくNSSとの相
互作用をCOSレベル3に付加する。
【0086】・COSレベル5:COSレベル5は、アプリケー
ションによって要求された各暗号動作に関してNSSと相
互作用することによって、COSレベル4をさらに強化す
る。
【0087】・COSレベル6:COSレベル6は、上記COSレ
ベル1−5について記載した任意の1つ以上の相互作用に
関して、スマートカードのような、トークンの要件を付
加する。
【0088】情報の流れ:図7は、管理プロセスにおけ
るキー要素を示す概略ブロック図である。かかる要素に
は、アプリケーション証明書28、サービスクラス24、2
6、及びそれらを管理する領域認可機関が含まれる。図
7は、これらの要素の高レベル図と、(図上で線と矢印
で示すような)それらの流れとを含む。
【0089】ICFソフトウェア環境:図8は、ICFソフト
ウェア環境のソフトウェアアーキテクチャ概観図であ
る。ICFソフトウェアアーキテクチャは、所与のホスト
システム上でICF要素を実行するのに必要とされる、ラ
イブラリ及びシステム要素の層を記述する。下記の説明
は、主ソフトウェアアーキテクチャ要素に関する概観を
与える。
【0090】・アプリケーション:アプリケーション層
81は、暗号法サービスを要するユーザ書込みアプリケー
ション及びライブラリの領域である。アプリケーション
は、これらのサービスを認識していてもよいし、してい
なくてもよい。アプリケーションが認識されている場
合、その下のサブシステム層82は、一組のプログラミン
グインタフェースをそのアプリケーションに提供する。
暗号法的に未認識のアプリケーションは、それら自体、
何らの呼出しも発行せず、その下にあるサブシステム
が、アプリケーションに代わってこれらの呼出しを実行
する。
【0091】・サブシステムのライブラリ及びインタフ
ェース:認識及び未認識アプリケーションに対して暗号
機能を支援するサブシステムがある。これらのサブシス
テムはまた、アプリケーションにAPIをもたらす。注目
すべきAPIのほとんどは、Microsoftの世界ではMicrosof
t CAPIを、そしてUNIXの世界ではX/Open GSS-APIとGCS-
APIを含んでいる。サブシステムライブラリは、典型的
には、それら自体をアプリケーションプログラミングイ
ンタフェースに編成し、またオペレーティング・システ
ムによって遮蔽されているが、暗号サービス提供モジュ
ールに編成する。
【0092】サブシステムライブラリはまた、保全API
をアプリケーションから完全に隠すこともできる。これ
によって、現存アプリケーションは、その解法を変更し
ないで利用することが可能となる。一例として、輸送レ
ベルのソフトウェアサブシステムへの保全特徴の統合が
ある。
【0093】この層の他の要素によって、CU保全記憶装
置と実行機能にアクセスするAPIが与えられる。例え
ば、ODBCインターフェースのようなデータベースAPI
を、CU内のデータ管理モジュールと共に提供して、不正
防止を施したデータベースを得ることができる。
【0094】・オペレーティング・システムとドライ
バ:オペレーティング・システム83は、2つの一次タス
クを実行する。1つは、サブシステムプログラミングイ
ンタフェースを暗号法プロバイダから分離することであ
る。もう1つのタスクは、ハードウェアドライバの形で
暗号法ハードウェアとインタフェースをとる一組のドラ
イバ84を介して、必要なハードウェア制御をもたらすこ
とである。
【0095】・暗号ユニットサブシステム:この層は、
暗号機能85のハードウェア実施形態及びファームウェア
要素を含む。ハードウェアは、典型的には、PCIカード
又はPCMCIAカードのような、幾つかの形状係数で与えら
れ、個別のハードウェアプラットフォーム及び性能要件
を収容する。ファームウェアは、マイクロカーネル実行
時、ICF機能性、並びに特定アプリケーションプログラ
ミングインタフェースに要するユーザのダウンロード可
能型ソフトウェアモジュールを実行する、一組のライブ
ラリである。
【0096】・管理:管理要素86は、全解法の管理フレ
ームワークを提供する責務がある。これには、例えば、
証明書管理、アプリケーションサービスクラス管理、及
びCUへのアプリケーション特定拡張のダウンローディ
ングのような、諸管理機能のミドルウェア構成要素が含
まれる。
【0097】キー要素は、2つのグループ、即ちホスト
システムソフトウェアと暗号ユニットファームウェアに
分けられる。2つの主要ブロック間には、ホストシステ
ムから暗号ユニットへの要求、及びその逆の要求を通信
するのに使用される、コマンド集合の定義がある。主要
素のそれぞれを以下により詳細に説明する。
【0098】ホストシステムソフトウェア:ホストシス
テムソフトウェアは、アプリケーションレベルのプログ
ラミングインタフェース、システムレベルドライバ、及
びサブシステムの構成及び管理上役立つユーティリティ
プログラムからなる。この部分は、選択された目標プラ
ットフォームとインタフェースによっては、異なって見
えることがある。
【0099】サブシステムライブラリ:アプリケーショ
ンは、1つ以上のAPIを通して暗号ユニットを用い
る。APIは既に存在していてよく、新しいものは、「標
準」として提案されるが、暗号ユニットの全能力を利用
するためには、他のものも開発する必要がある。一例と
して、信頼の置ける環境においてコードを動的にダウン
ロードし且つ実行する能力があろう。
【0100】暗号ユニットは、広範囲のプログラミング
インタフェースと共に動作する。APIも、暗号動作をマ
スクするサブシステムライブラリ、又はミドルウェアレ
イアの形で、アプリケーションから隠すことができる。
【0101】ホストドライバ:ホストシステムは、暗号
ユニットを動作環境の中に統合しなければならない。ソ
フトウェアから見ると、これは、政策カードを実装、構
成、且つ管理するのに必要な、デバイスドライバと任意
の構成ソフトウェアを含む。
【0102】管理ユーティリティ:ユーティリティソフ
トウェアは、暗号ユニットのサブシステムのインストー
ル、管理、及び構成に責任がある。又、サービスモジュ
ールを開発するユーティリティと、これらのモジュール
を暗号ユニットにダウンロードするためのユーティリテ
ィとを設けることも必要である。
【0103】暗号ユニットのコマンド集合:ホストシス
テムソフトウェアは、一組の要求を通して暗号ユニット
と通信する。要求の例として、サービスライブラリのダ
ウンロード、又はデータバッファの暗号化がある。同一
の暗号ユニットで多数のプラットフォームを支援するた
めに、コマンド集合は、全ての目標プラットフォームに
ついて、同一であり且つ同一のフォーマットを有してい
なければならない。その主たる利点は、暗号ユニットの
ソフトウェア層の単一実施である。
【0104】コマンド集合は、それ自体、幾つかの主カ
テゴリに分割することができる。第一のカテゴリは、ハ
ッシュアルゴリズムの実行のような、暗号ユニットの利
用可能な機能性にマッピングするコマンドを提供する。
第二のカテゴリは、ホストソフトウェアと、ユニット内
のサービス層ソフトウェアとの間のコマンドに関連す
る。これらのコマンドの内容の大部分は、ファームウェ
アにとって未知であり、またそれらは、適当なサービス
層へと経路指定される。
【0105】ICFアプリケーションのプログラミングイ
ンタフェース:ICFは、政策推進型暗号法の概念を導入
する。アプリケーションプログラミングインタフェース
は、ADAによって容認されたアプリケーション証明に基
づいて、所望のサービスの選択を可能にする。これは、
現在利用できる暗号法プログラミングインタフェースと
は対照的である。現在の暗号法APIのほとんどは、暗号
法文脈の概念の周りで構築されている。アプリケーショ
ンによってこの文脈が確立され、その後、それらは任意
の暗号法サービスを使うことができる。アプリケーショ
ンと、CUによって提供されたサービスクラスとの間に
は、何らの連結も行われない。例えば、Microsoft Cryt
oAPIは、プログラミングインタフェースを提供し、それ
によってユーザは暗号法サービスプロバイダ(CSP)タイ
プを選択し、且つソフトウェアモジュールをそのシステ
ムにロードすることが可能となる。それ故、アプリケー
ションは、CSPへ呼びを出して、そのサービスを使うこ
とができる。しかし、アプリケーションが実行している
ことに基づいて暗号機能を区別する方法は無い。
【0106】図9は、要求された機能を実行する責務を
もつサービスプロバイダ91に、証明書90を渡すのに利用
できる方法を示す。暗号ユニットに利用できる証明書を
作る方法は幾つかあり、その証明書例を以下に記載す
る。
【0107】・各呼びの際に渡される証明書:この証明
書は、各呼びの際にCSPに渡すことができる。この方式
は、少なくとも2つの証明書を渡すアプリケーション、
もしくは達成すべきタスクを考慮したものである。例え
ば、アプリケーションが、財務処置用に強力な暗号化を
用い、それと同時に、E-mail機能用にそれより強くない
暗号化を用いることが許される場合、そのアプリケーシ
ョンは、対応する証明書を渡すことによって、暗号法の
レベルを動的に選択することができる。
【0108】・初期化時に渡される証明書:この証明書
は、CSPへの結合が確立された時に渡すこともできる。
多数の証明書を用いるアプリケーションは、各証明書に
1つ、多重文脈を確立でき、且つその適当な1つを暗号
機能呼びに使うことができる。
【0109】・暗黙に利用可能な証明書:この証明書
は、アプリケーションにとって明白であり、従って暗号
層に使うことができる。例えば、アプリケーションは、
インデックスに用いられるその名称を、このアプリケー
ションに対する証明書を包含している登録へと通す。
【0110】これらの方法の全ては、アプリケーション
と証明書の間に緊密な結合が存在するという前提に基づ
いている。この概念は、本明細書を通じて、アプリケー
ション検証と呼ばれるものである。以下で説明するよう
に、CUは、この緊密結合を確立する上で重大な役割を演
ずる。
【0111】ICF暗号ユニット:ICFフレームワークの中
心にCUがある。CUの実行により、ホストシステムに一組
のサービスが提供される。これらのサービスは、暗号機
能のみならずその他の機能、例えば、CUの不正防止特性
を利用する、影響を受けやすい情報を記憶することを含
む。以下の3つのサービスの広義カテゴリは、CUによっ
て与えられる。
【0112】・暗号機能:CUの主目的は、暗号機能を提
供することである。ユニットは、定義された暗号アルゴ
リズムを実行するために、ハードウェアとソフトウェア
に対するホストとなる。ユニットはまた、ある種の暗号
法政策を強化するために、ハードウェアとソフトウェア
に対するホストとなる。
【0113】・保全記憶装置:保全記憶装置によって、
CUが、CU内部に機密保護をなすように情報を記憶するこ
とが可能となる。この機能は、主として、CU内部のキー
イングマテリアルの記憶に用いられる。時間中、アプリ
ケーション及びサブシステム層もまた、CU内部に他の非
保全関連のマテリアルを記憶することにより、この機能
を利用することができる。
【0114】・保全実行:CUは、そのユニットの保全、
且つ不正防止環境におけるコードの実行を見込んでい
る。アプリケーション及びサブシステム層は、この保全
環境において、保全プロトコルハンドラのような、それ
らの機能性の一部を実行するために、この機能を利用す
ることができる。
【0115】ICF暗号ユニット - ハードウェア:図10
は、CUの代表的なアーキテクチャを示す概略ブロック図
である。図10は、特定の物理的実施を指すものではな
くて、むしろ、上に概説した機能性の3つの広義カテゴ
リを実行するのために、CU内部で必要とされる主要素を
示すものである。CUを形成する幾つかの構成要素があ
り、それは次の通りである。
【0116】・中央演算処理ユニット:CPU 101は、全
ての情報の流れを制御するユニットの心臓部である。保
全実行のためにダウンロードされたモジュールは、CPU
によって実行される。
【0117】・記憶要素:CU 14は、幾つかの記憶要素
を必要とする。フラッシュメモリ102は、CUに記憶され
たプログラムと不揮発性データ用の記憶域である。ROM
記憶要素103は、CUのリセットに基づいて実行するブー
トストラップコードのホストとして動作する。RAM記憶
要素104は、CUの揮発性データを保持する。
【0118】・暗号ASIC 105及び乱数発生器106:これ
ら2つの要素は、CUによって提供された暗号機能に対し
て、基本動作を実行するものである。ハードウェアにタ
ッチポイントを与えるる実行の場合、政策カードが存在
すると、これらの機能を可能にするICFタッチポイント
論理を、これらの要素に見出すことができる。
【0119】・バス論理:バス論理107は、他の種々の
インタフェースを使って、そのユニットをホストシステ
ムにインタフェースする。ホストシステム108に向かっ
て2つの主チャンネルがある。第一のチャンネル、即
ち、制御チャンネルは、呼出しシステムとCUの間のコマ
ンド及びステータスメッセージ用として使われる。デー
タチャンネルは、実際のデータ転送を実行する。
【0120】ICF暗号ユニットファームウェア:図11
は、暗号ユニットファームウェアの概略ブロック図であ
る。CUファームウェア27は、暗号ユニット14内に属する
ソフトウェアである。そこには、ユニットの全体動作を
制御するコア実行時モジュール113と、保全政策を実行
し、また暗号機能へのアクセスを制御するカーネルサー
ビス層112と、ホストシステムアプリケーションと密接
に相互作用して、アプリケーション指定の保全サービス
及び政策を実行するサービスライブラリモジュール111
とがある。
【0121】ファームウェアの構成要素は、信頼境界11
5と呼ばれるシャープなライン間で分割することができ
る。信頼境界の下側には、CUコア実行時と実際のハード
ウェアを見ることができる。信頼境界の上側には、チッ
プ全体を管理するCU実行時と上位サービスモジュールを
見ることができる。
【0122】CUコア実行時:CUコア実行時は、下にある
ハードウェアを遮蔽する下位サービスを実行する。それ
はまた、支援層にサービスを提供して、CUによって提供
された資源、例えば、コアモジュール記憶装置用のメモ
リ対象物を管理する。CUコア実行時は、COS処理に対し
て責任がある。上部層によって要求された各動作は、CO
S識別名を伴う。COS崩壊政策は、この境界の下側で実行
される。CUコア実行時保護は、次の主要なメカニズムに
基づく。
【0123】・ROMコード:全てのCUコア実行時コード
は、ROM記憶装置で実行される。CUの不正防止性という
利点から、このコードは、操作することもバイパスする
こともできない。ROMは、任意のリセット試行によっ
て、実行が強制的にROMコード境界内に入るように、リ
セット及びハードウェア割込みベクトルをカバーできる
ようCUプロセッサのアドレス空間にマッピングされる。
ROMコードは、CUプロセッサの最高の特権レベルで走
る。
【0124】保護アーキテクチャ:CUプロセッサは、少
なくとも2つの特権レベルを実行するのに必要である。
比較的高い特権レベルで割り当てられたメモリ対象物
は、低めの特権レベルで走るコードではアクセスできな
い。この境界は、CUプロセッサハードウェアで補強さ
れ、如何なる情況下でもバイパスできない。
【0125】非消去記憶装置:CUコア実行時は、ROMコ
ードにアクセスできる最高特権レベルでのみ割り当てら
れた一定量の不揮発性記憶装置を要する。この記憶装置
は、以下で更に詳細に説明するように、COS処理とタッ
チポイント処理に用いられる。
【0126】信頼境界の上部に導入されたコードは全
て、タッチポイント処理を受ける。タッチポイント処理
の概念を以下で更に詳細に説明する。重要なことは、上
記コードは、このコードの実行中に、タッチポイント配
置がコア実行時によって解決されない場合に機能を停止
する、ということに留意することである。
【0127】CU実行時サービス:CU実行時サービスは、
カードを管理し且つ編成するのに要する初歩的オペレー
ティング・システム機能をもたらす。この実行時は、高
い実行特権レベルで走る、マイクロカーネルと考えるこ
とができる。このカーネルは、より上位のサービスモジ
ュールに利用できる暗号化機能を推進する唯一の場所で
ある。以下の基本能力を利用すべきである。
【0128】・保全ローディング:ユニットの性質に起
因して、CUにロードされる幾つかのソフトウェアモジュ
ールは、それらをロードし且つ実行できるようにするに
は、前もって有効化する必要がある。ロード時、ローダ
は、コードイメージをロードし、必要なら、これらのモ
ジュールの署名を有効化する。保全ローダは、カーネル
コードの一部であり、且つCUコア実行時の一部である。
カーネルコード自体は、CUコア実行時モジュールによっ
て、ロードされ且つ有効化される。
【0129】・メモリ管理:マイクロカーネルのメモリ
管理者は、主記憶装置の割当て及び割当て解除を行う責
任がある。メモリは、メモリ領域間の保護を確実にする
ため、異なったリングレベルで割当てることができる。
【0130】・タスキング:タスクハンドラは、多数の
動作筋道を実行するための基本的メカニズムを提供す
る。入要求は、新タスクの開始を誘発するか、又は現行
タスクが機能するよう、単純に待ち行列に登録される。
【0131】・内部メッセージ機能:ロードしたモジュ
ールが相互に通信する必要があることが望まれる場合、
内部タスク通信のある種の基本形を設けなければならな
い。
【0132】・暗号ページング:暗号ページングによっ
て、メモリ管理者は、暗号ユニットの境界外に記憶装置
を割り当て、且つ暗号化形式でページを格納することが
できる。この機能が必要なのは、ユニット内で必要とさ
れる記憶量が利用できる量を超える場合である。
【0133】・内部資源へのアクセス:チップ上の暗号
法ハードウェアのような、他の構成要素のほとんどは、
マイクロカーネルの部分であるルーチンを介してアクセ
スされる。
【0134】・外部インタフェース:暗号ユニットは、
外部要求の入口点である、この構成要素を介してホスト
システムとインタフェースする。定義されたコマンド集
合に従って通された要求は、復号されて、実行のために
適当なユニットへと通される。この層は、ホストシステ
ム・バスアーキテクチャの型式に依存する。
【0135】CUサービス:このライブラリ集合は、少な
くとも特権保護レベルで走る。このレベルは、ICF Enve
lope APIのような所与のプログラミングインタフェース
や、Microsoft Crypto API又はX/Open GCS APIのような
暗号法APIや、保全記憶、保全実行、又はダウンローデ
ィング機能の抽象的概念を与えるのに要するような他の
任意のAPIのためのサービスを実行し得る、ライブラリ
のホストとして動作する。ホストシステムとこの層の間
で交換されるコマンドは、この層の実行子によって定義
される。
【0136】サービスライブラリ層はまた、保全且つ信
頼の置ける環境において、アプリケーションがそれ自体
のある部分を実行できる可能性も与える。この機能は、
著作権計画、又は財務用途のリスク評価モジュールのよ
うな特別の機能性を実行するのに使うことができよう。
プログラミングインタフェースは、アプリケーション依
存である。ホストシステムドライバは、アプリケーショ
ンとサービスライブラリとの間で、メッセージとして情
報の受け渡しを行う。
【0137】仮想CPUの概念:図12は、仮想CPUの概念
を示す概略ブロック図である。上述のファームウェア構
造を見る別の方法は、CUコア実行時に見られた比較的低
レベルのファームウェアと、その下にあるハードウェア
とを組合せて、この組合せによって施行される制約下で
実行する仮想CPUとすることである。
【0138】ICF CPUは、政策の制御下で、命令を実行
できるプロセッサと見なすことができる。このICF CPU
の一部分は、COS評価と、その結果得られるタッチポイ
ント分解プロセスと関連する。ジョイントユニットとし
てのファームウェアとハードウェアの組合せを見ること
により、信頼モデルの更に良い記述、並びにそれに対す
るハードウェア/ファームウェアの組合せの評価が可能
となる。この構成要素が有効化されると、最高状態でロ
ードされ且つ実行されるどのモジュールの解析も、タッ
チポイントとメモリ保護の混ぜ合わせを中心とした、比
較的低い層の相互作用全てに関しては評価される必要が
ない。
【0139】それ故、上文で概説した保護メカニズムを
実行し得る物理的プロセッサモデル/ROMの組合せはど
れも、ICF CUアーキテクチャによって要求されることが
あるように、仮想CPUとして構成することができる。そ
のようなICF CPUに関して書込まれたモジュールはどれ
も、強力な保全要件を通過する任意のICF CPU上で走る
ことができる。
【0140】ソフトウェア構成要素検証プロセス:ソフ
トウェア構成要素の検証は、アプリケーションイメージ
と、ADAが発行したアプリケーション証明との間に、緊
密な結合があるということを保証するプロセスである。
それはまた、ファームウェア構成要素と、ADAによって
出されたファームウェア証明も含む。
【0141】ソフトウェア構成要素検証プロセスは、2
つの別個の段階で記述することができる。それらは、イ
ンストール段階と実行段階である。用語アプリケーショ
ンが以下のテキストに用いられる時はいつも、それはま
たファームウェア構成要素を含む。以下は、検証プロセ
ス段階の簡単な説明である。
【0142】・インストール段階:インストール段階
は、アプリケーションと、それに付随する証明書をCUに
導入するのに必要なステップを記述する。
【0143】・実行段階:有効化段階は、有効化要求と
共に通された証明書に基づいて、アプリケーションの識
別を有効化するのに採られるステップを記述する。有効
化に成功した後、そのアプリケーションは実行段階に入
る。この段階中の任意の時間に、アプリケーションのク
レームを再確認すべく、有効化要求を発行することがで
きる。
【0144】インストール段階:図13は、インストー
ル段階中のソフトウェア構成要素検証プロセスを示す概
略ブロック図である。証明されたアプリケーションは、
アプリケーションインストール段階に、ホストシステム
へと導入される。証明済みアプリケーションは、アプリ
ケーションイメージ29、即ちコードファイルと、アプリ
ケーション領域認可機関によって発行された証明書28と
から成る。インストール段階の結果は、アプリケーショ
ン、CU、及び有効サービスクラスを特異的に表示するア
プリケーション信用証明130である。この結果は、本明
細書では、アプリケーション信用証明と呼ぶ。
【0145】インストールプロセスの目的は、アプリケ
ーション29をCU 14へと導入することにある。特殊ユー
ティリティプログラムである、インストールプログラム
135は、必要な作業を実施するよう指示される。このユ
ーティリティ実行の主タスクは、プログラムイメージと
アプリケーション証明書とに関する参照を、CUに渡すこ
とである。インストール要求を受けると、CUは、そのホ
ストシステムのアクセス能力を用いて、プログラムイメ
ージからハッシュ値を計算する。
【0146】アプリケーション証明書は、数ある情報の
中で、アプリケーションID 137と、このアプリケーショ
ンに対して規定されたサービスクラス136とを含む。こ
れら2つの情報要素を使って、CUは、例えば、名称、ア
プリケーションイメージのハッシュ値、及びアプリケー
ションに対して規定されたサービスクラスによって、ア
プリケーションを識別する信用証明を作り出す。
【0147】次いで、その信用証明は、CUによって署名
され138、そしてCU内の局所不揮発性メモリに格納され
る。もし望むなら、その信用証明は外部領域に移送する
こともできる。その信用証明は、それらを生成したCUに
とって役立つだけなので、信用証明は、CU境界の外部に
ある間に不正変更されていない、ということが保証され
るだけでよい。
【0148】実行段階:図14は、実行段階中のソフト
ウェア構成要素検証プロセスを示す概略ブロック図であ
る。実行段階において、アプリケーション29は、オペレ
ーティング・システムによってメモリシステム中にロー
ドされ、そして実行を開始させる。アプリケーション実
行のある時点で、アプリケーションが、暗号法サービス
を要求する。通常、第一ステップは、CUとの関係を確立
することである。アプリケーションは、ADAが発行した
アプリケーション証明書をCU 14に通し、その時、それ
が論理連関、例えば、暗号法関係を確立する。
【0149】連関を確立すべく要求を受けると、CUは、
通された証明書に基づいて、アプリケーションの識別を
有効化する。オペレーティング・システムの構成要素を
介して、CUは、アプリケーションイメージへのアクセス
を行い、従って、アプリケーションの署名を計算するこ
とができる。例えば、DMA能力と、メモリシステム内の
アプリケーションのメモリアドレス範囲の知識とを使っ
て、CUはハッシュ値を計算することができる。
【0150】証明書の正しさを確認した後、CUは、証明
書を使って、その証明書に対応するアプリケーション信
用証明130を配置する。信用証明は、数ある情報の中
で、以前のサブ項目で記述したインストールプロセスか
ら計算した、アプリケーションイメージ署名138を包ん
でいる。その値が一致すると、2つの重要な事実が推測
される。第一に、このイメージにわたって計算した署名
は、インストール時に計算した署名と一致するので、ア
プリケーションの識別が確定される。第二に、アプリケ
ーションは、インストール段階以来、不正変更されてい
ない。
【0151】この初期確認ステップ後、アプリケーショ
ンは、CUに対して、暗号法動作を要求する呼びを発行す
ることができる。その後の任意の時間に、CUは、この有
効化プロセスを再度実行することを決定することもでき
る。オプションは、周期的ベースに基づく有効化から、
各要求時の有効化にまで及ぶ。
【0152】オペレーティング・システムから見ると、
この方式を実行するのに、ローダ及びオペレーティング
・システムに対し何らの変更も要求されない。唯一必要
な要件は、対象物のメモリイメージにアクセスする能力
である。しかし、実施態様では、有効化ステップを実施
できるよう、アプリケーションのロード時に、CUを呼び
出す。
【0153】ファームウェア構成要素の検証:ファーム
ウェア検証は、アプリケーションレベルの検証と基本的
には相違しない。両方とも、証明書とソフトウェア対象
との間に緊密な結合を確立するという目的を共有してい
る。認め得る1つの相違は、より下位のファームウェア
対象は、ADAよりもむしろSDAによって証明されるという
点にある。上位のファームウェア対象、例えば、CUにダ
ウンロードされるユーザ書込みプロトコルモジュール
は、ADAによって証明される。
【0154】別の相違は、CUにダウンロードされたファ
ームウェアモジュールが、ユーザ書込み上位モジュール
であろうと、又はベンダ供給のより下位のモジュールで
あろうとどれも、タッチポイントプロセスを受けるとい
う点にある。このプロセスは、CU境界外のアプリケーシ
ョン対象物にとっては、任意である。タッチポイントの
概念については、以下でさらに詳細に説明する。
【0155】一般対象の検証:以前のサブ項目で述べた
方式は、コードイメージのみならず、概説した有効化法
を利用し得るどんな種類のデータ対象物をもカバーする
ように、容易に拡張することができる。例えば、オペレ
ーティング・システムそれ自体、サブシステムライブラ
リ、及び静的構成情報は、この方式によって、未認可の
修正又は置換から保護され得る。
【0156】ソフトウェアレベルタッチポイント:図1
5は、ソフトウェアレベルタッチポイントを示す。ICF
ソフトウェアタッチポイントは、事前処理されるまで
は、ホスト又はCUシステム環境に使用できないデータの
領域である。ソフトウェアタッチポイントの1つの例と
して、プロセッサの命令取出しユニットが、命令列を成
功裏に復号できないようにして変換されたコードイメー
ジにおける命令列のタッチポイントがある。同様に、元
のデータがアクセスできないようにして変更されたデー
タ領域であってもよい。
【0157】ソフトウェアタッチポイントの特徴は、対
象151のアドレス範囲150内の開始アドレスと、タッチポ
イントの長さにある。ソフトウェアタッチポイントにつ
いて幾つかのクラスがある。データレベルタッチポイン
トは、データ対象内部の領域を記述する。タッチポイン
トについての更なる情報は、このタッチポイントについ
てのデータ対象には記録されない。分離したデータ領域
には、データ対象外部のこれらのタッチポイントが記述
される。
【0158】命令レベルタッチポイントは、命令の流れ
の内部のタッチポイントを記述する。2つのサブクラス
がある。第一のサブクラスは、それらのデータレベルの
タッチポイントに類似した、命令レベルタッチポイント
を記述する。この場合、命令の流れの領域は、タッチポ
イント情報に置き換えられる。第二のサブクラスは、あ
る構造を有する命令レベルタッチポイントを記述する。
構造化タッチポイントは、タッチポイント領域を切分け
する特定の命令により、開始し及び終了する。これらの
タッチポイントの全てのタイプを、以下で更に詳細に説
明する。
【0159】命令レベルタッチポイント:図16は、命
令レベルタッチポイントを示す。2タイプの命令レベル
タッチポイントがある。第一のタイプ160は、スクラン
ブル版で置き換えられた命令の流れにあるデータ領域と
して、命令レベルタッチポイントを実行する。更なる情
報は、その位置自体にあるタッチポイントについては利
用できない。第二のタイプ161は、タッチポイント領域
の開始点の個別命令と、終了点の命令で、タッチポイン
トを実行する。2つのタッチポイント領域を区別するた
め、本明細書では、第一のタイプのタッチポイントは、
未構造化タッチポイントと呼び、一方、第二のタイプの
タッチポイントは、構造化タッチポイントと呼ぶ。
【0160】命令レベルタッチポイントを実行するメカ
ニズム:この説明は、ソフトウェアレベルタッチポイン
トの実施態様に関する。用いられるプロセッサと利用で
きるハードウェア支援とに依存して、タッチポイント
は、様々なやり方で実行することができる。全ての実行
に共通しているのは、次の態様である。 ・タッチポイントの分解:タッチポイントの分解は種々
の方法で行うことができる。例えば、tp-start及びtp-e
nd命令は、タッチポイント領域を切り分けることができ
る。その中間にある情報は、元の命令列に変換されるべ
きタッチポイントデータである。命令レベルタッチポイ
ントの場合、その中間にあるデータは命令である。切分
け命令は、CUにトラップしてタッチポイント領域を分解
し、且つ命令列を実行し終わった後、再度それを適所に
戻すことができる。これにより、オペレーティング・シ
ステムを除いて、タッチポイント領域にアクセスし得た
他のコードは実行できない、ということが保証される。
【0161】・代替として、CPUの命令取出しユニット
内で、このタッチポイント復号化機能を実行してもよ
い。政策レジスタは、このアプリケーションに必要な復
号化キーを関連スイッチに格納することができる。この
アプローチの利点は、そのコードを別システムに利用で
きなくするという利点と兼ねて、TPの透明性を含むもの
である。この代替法については、ソフトウェアレベルタ
ッチポイントに対するホストシステム支援という、以下
の説明との関連でさらに説明する。
【0162】・タッチポイントの分解は、受信者、即
ち、タッチポイントを永久に削除することができる者だ
けが、このタッチポイント対象に対する正しい受信者で
あるということを保証するメカニズムを、タッチポイン
ト領域が利用するようにして行うことができる。タッチ
ポイントの分解は、また、タッチポイントが、適所にあ
り、且つタッチポイント領域の利用期間の間だけ、分解
されるというようにしてで実行することもできる。この
アプローチを用いて、CU内で諸方法の存在判定基準が実
行される。重要なことは、タッチポイント領域を適所に
永久に残しておくことである。
【0163】・何をタッチポイントするかの選択:タッ
チポイントは、命令の列を置き換える。その実施は、元
の命令が実行されることになる場合、命令対象を与えな
ければならない。命令の列は自動的に実行されるべきで
ある。命令列自体は、一定の判定基準を満足しなければ
ならない。例えば、タッチポイント領域から外部への又
はその内部への分岐は、何かがタッチポイント領域内部
にいる時を検出するのに、プロセッサからの実質的支援
を必要とする。しかし、そのメカニズムを強化するため
に、この代替法は、実行する価値がある。
【0164】・コード対象には、非常に少ないか、又は
多くのタッチポイント領域があり得る。可能なタッチポ
イント集合から、実施によって、ラン時に、タッチポイ
ントに対する無作為の場所集合を選択することができ
る。また、タッチポイントの概念をさらに強化するため
に、その集合を動的に変更することもでき、即ち、タッ
チポイントは、その集合から無作為に付加及び削除され
る。これは、タッチポイント領域が配置でき、且つその
時間にわたり元の命令列が決められる場合の着手を無効
にするものである。
【0165】・タッチポイントの検出:タッチポイント
領域を検出するには、プロセッサがかかる領域の開始及
び終了を検出可能にするメカニズムを必要とする。分岐
を含んでいるタッチポイントの場合、各位置は、かかる
表示によりフラグを立てなければならない。プロセッサ
のトラップ能力を用いて、これらのメカニズムの何れか
を実施することができる。その範囲は、ソフトウェア割
込命令を使用することから始まり、実行を強制する不正
動作コードをわたって、上述のtp-start及びtp-end命令
のような専用命令に至る。
【0166】データレベルタッチポイント:未構造化命
令レベルタッチポイントに関するように、この方式によ
って、任意の種類の不変データを保護することができ
る。もしプロセッサがデータ区切り点メカニズムを支援
するなら、これらの領域は、実行中に配置され、且つ命
令レベルタッチポイントと同様にして分解される。
【0167】CU確認プロセス:アプリケーションは、CU
の正しさについて保証されなければならない。その目的
は、誰かがアプリケーション要求を異なった暗号機能へ
転送する場合のシナリオを避けることにある。CU確認プ
ロセスは、CUの識別についてのアプリケーションを保証
するのに採られる諸ステップを記述する。本章で記述さ
れる確認プロセスは、用いる主要概念として、ソフトウ
ェアレベルタッチポイントを使う。CUの確認は、以下の
3つの特異な段階で記述することができる。
【0168】・製造段階:製造段階は、そこにソフトウ
ェアレベルタッチポイントが組み込まれたアプリケーシ
ョンを作るために、アプリケーションの製造者側で採ら
れなければならない諸ステップを記述する。
【0169】・インストール段階:インストール段階
は、アプリケーション及びその付随証明書をCUに導入す
るのに必要な諸ステップを記述する。インストールの型
式に依存して、ソフトウェアレベルタッチポイントは、
この段階で削除するか、又は実行時に分解すべきアプリ
ケーションイメージ内で、そのままの状態にしておく。
【0170】・実行段階:確認段階は、確認要求と共に
渡された証明書に基づき、アプリケーション識別を確認
するのに採られる諸ステップを記述する。確認が成功し
た後、アプリケーションは実行段階に入る。この段階中
の任意の時間に、CUは、アプリケーションのクレームを
再確認するために、確認要求を発行することができる。
これらのアプリケーション検証ステップに加えて、アプ
リケーションにインストールされたソフトウェアレベル
タッチポイントは、ホストシステムのプロセッサがそれ
らに遭遇する際に、削除するか又は動的に変換しなけれ
ばならない。これは、それらがインストール段階中に削
除されなかった唯一の場合である。
【0171】以下に概説するCU確認プロセスは、CU確認
の主要目標を越える追加利益を考慮している。ソフトウ
ェア製造者から見ると、著作権保護に関する問題は、ネ
ットワーク世界において次第に重大になりつつある。そ
れ故、ソフトウェア製造者は、顧客に出荷されたソフト
ウェアが、別のシステムにコピーされないことが保証さ
れることを望むであろう。要件の範囲は、ソフトウェア
が、許可されたシステムの有効グループにだけロードさ
れることを保証することにから、正確に1つのシステム
用のソフトウェアをカスタム化することに及ぶ。
【0172】製造段階:図17は、製造段階を示す概略
ブロック図である。製造段階では、アプリケーション29
aが、アプリケーション製造者170によって作られる。そ
の目的は、目標システム群の特定グループ、又は単一目
標システムに合わせ得るアプリケーションを構築するこ
とである。目標システムは、そこにインストールされた
CUによって識別される。
【0173】アプリケーション製造者は、先ず、アプリ
ケーションを開発する。これは、目標ホストシステムの
プラットフォームに向けた、アプリケーションの実行可
能版である。アプリケーションを目標ホストシステムに
出荷できるのは、カスタム化ステップ171が、ソフトウ
ェアレベルタッチポイントをインストールした後であ
る。インストール後、アプリケーション29を出荷するこ
とができる。図17に示すカスタム化構成要素は、タッ
チポイントをアプリケーションイメージにインストール
する責務がある。
【0174】ADA 22は、アプリケーション製造者が属す
る領域認可機関である。ADAは、 SDA 20によって授与さ
れたサービスクラスであり、これによって、タッチポイ
ントをアプリケーションイメージ中にインストールする
のに使う機能が定められる。
【0175】タッチポイントインストールの1つの点
は、コードイメージ内のタッチポイント領域の位置と長
さのリストを作ることである。未構造化命令レベルタッ
チポイントの場合、この情報が、タッチポイントを配置
するのに必要となる。構造化命令レベルタッチポイント
の場合、この情報は、全く必要でない。タッチポイント
をどこに配置することができ、また列といった長さがど
うあるべきかを、正確に問題とする考慮事項もある。
【0176】未構造化タッチポイントの場合、それら
が、コードイメージにおいて正確にどこに配置されるか
についての質問は、現実的には重要ではない。技術的に
は、それらは、イメージの任意の領域に配置することが
できる。構造化タッチポイントの場合は、さらに制約が
ある。諸制約には、タッチポイントが、例えば、手順境
界を交差すべきでなく、又は命令の少なくとも2つの基
本ブロックを重ね合わせるべきである、ということが含
まれる。それらの制約は、構造化タッチポイントに対す
るハードウェアレベル支援の性質に左右される。これら
の態様の幾つかは、本明細書の他の所で説明する。
【0177】製造段階の終了時には、ソフトウェアレベ
ルタッチポイント172で増強されたアプリケーションイ
メージが存在する。それらのタッチポイントは、正当な
方法でイメージ中に入れられたものである。何故なら、
カスタム化構成要素に対してCU内部の動作を可能にする
COSには、SDAからアプリケーション製造者ADAへの証明
書によって、この権利が付与されたからである。このプ
ロセスは、現在までのところ、目標システムに関する情
報を含んでいない。タッチポイント情報インストールプ
ロセスを逆転する能力のあるインストールはどれも、動
作アプリケーションを導出することができる。
【0178】目標システムがさらに合うように仕立てる
には、このシステムに関する追加の知識が必要である。
これにより、製造者と目標受信者との間に、より緊密な
依存性が導入されるので、より高い努力が管理側に必要
である。
【0179】インストール段階:図18は、インストー
ル段階を示す概略ブロック図である。インストール段階
は、目標サイトで採られる諸ステップを記述し、すなわ
ち、ホストシステムと特定のCU 14が、このシステムに
使うのにアプリケーション29を準備するために必要であ
る。やはり、幾つかの目的がある。第一の目的は、アプ
リケーションがCUの完全性について確実に保証されるよ
うにすることである。この保証は事実、アプリケーショ
ンイメージを処理するのに必要なCOSを付与されたCUだ
けが、このイメージを使用可能なものへと成功裏に変換
することができる、ということによって達成される。第
二の目的は、アプリケーションがいったん目標システム
にインストールされると、それが、このシステムだけに
使用でき、且つ別のシステムへ複製できない、というこ
とを確実にすることである。
【0180】インストール・ユーティリティ180は、目
標システムにアプリケーションをインストールする責務
がある。インストールプロセスの一部として、アプリケ
ーションに利用可能なCOS 26を記述するアプリケーショ
ン信用証明28が生成される。このプロセスの詳細は、上
文にさらに詳しく説明されている。インストールプロセ
スの他の部分は、これが有効なCUであるということを証
明するのに、且つインストールプロセスによって用いら
れたCUとの組合せ以外には使用できない、アプリケーシ
ョンイメージを構築するのに必要な諸ステップを実行す
る。
【0181】SDA 20は、 ADA 22に COS 26のセットを付
与する。ADAは、一組のCOSにアプリケーションの権利を
付与する。政策カード12は、それがアプリケーション製
造者のADAに付与された際に、ADAに対する有効COSとイ
ンストール側に対するCOSとを包含する。それ故、イン
ストール・ユーティリティは、それがそうすべくCOSを
付与される場合に、アプリケーションイメージにおける
タッチポイントを処理できるに過ぎない。
【0182】タッチポイントは、理論上、インストール
段階で削除することができる。しかし、この段階で、ア
プリケーションイメージからそれらを削除することは、
2つの重大性をもっている。第一に、アプリケーション
は、そのCUがインストール時に有効なCUである、という
一回だけの保証を行う。タッチポイント削除後は、別の
CUが、別の政策カードと共にインストールされるか、又
はアプリケーションが暗号法サービスを要求する時にバ
イパスされる。第二に、タッチポイント無しでは、アプ
リケーションは明文であり、従って他の任意のシステム
に複製し且つそこで実行することができる。これらのシ
ナリオを防ぐため、タッチポイントは、実行サイクル時
に、できるだけ遅く削除されるべきである。
【0183】実行段階:図19は、実行段階の概略ブロ
ック図である。実行段階では、アプリケーションは、ホ
ストシステム上で走る。オペレーティング・システムロ
ーダ190は、アプリケーションファイルイメージを、実
行可能なメモリイメージに変換する。プロセッサの一部
分は、そのアプリケーションが、インストール時以来、
不正変更されていないということを確認する要件に係わ
り、ある種のサービスクラスを正当に要求する。これを
保証するのに採られる諸ステップは、アプリケーション
証明の説明と関連して上述した。CU確認部分に関して
は、追加のステップが必要である。
【0184】アプリケーションのロード時には、2つの
主要な目的に対処する必要がある。第一の目的は、CUを
有効化することである。このタスクは、CUがアプリケー
ションからソフトウェアタッチポイントを分解できる場
合に達成される。例えば、CUが、タッチポイント無し
で、アプリケーションの元の署名を計算できるなら、そ
れは、タッチポイントを成功裏に削除できること、従っ
て、この動作を実行するべくCOSがそれに付与されたの
で、それは有効なCUであるということが証明される。第
二の目的は、タッチポイントを分解することである。CU
は、タッチポイントを含んでいるアプリケーション部分
が実行される前に、タッチポイントを除去する責務があ
る。
【0185】最も単純なケースは、CUが、アプリケーシ
ョンコードイメージからタッチポイントを除去する場合
である。プログラムのファイルイメージは、そのままタ
ッチポイント包含し、且つ別のシステムに複製されない
限り、そのまま留まるであろう。しかし、メモリ部分は
明文であり、従って、もし悪意のユーザが、メモリイメ
ージからファイルイメージを構成するコピープログラム
を書込むとすれば、複製できよう。かかるタスクは、基
底オペレーティング・システムについての何らかの技能
と知識を必要とするが、不可能である。
【0186】別のアプローチは、タッチポイントを適所
に残し、それらに遭遇する際にそれらを分解することで
ある。このアプローチは、タッチポイントを検出するた
めに、ある種のハードウェア支援を当てにするものであ
る。これについては、ソフトウェアレベルタッチポイン
トに対するハードウェア支援に関する説明と関連して、
ここでさらに詳しく説明する。
【0187】特異的CUに対する仕立て:これまでに記述
したプロセスは、ソフトウェア製造者のソフトウェア構
成要素と、そこにインストールされたCUで識別される目
標システムとの間に、密接な関係を確立しない。むしろ
緩い結合によって、アプリケーション内にインストール
されたタッチポイントを処理する能力を有する任意のシ
ステム上にインストールし得るアプリケーションを、製
造者が作り出すことが可能となる、という利点がある。
目標システムについての更なる知識は必要でない。
【0188】より緊密な結合が望まれる場合、アプリケ
ーション製造者は、アプリケーション構成要素を目標シ
ステムのCUに合わせる必要がある。これは、例えば、製
造者のADAとSDAとの間で共用される、特異的COSを作り
出すことによって行なわれる。SDAは、特異的COSを政策
カード上に、それが目標システムのCUに対してカスタム
化される時に、インストールし、そしてアプリケーショ
ン製造者のADAとそのCOSを共用させる。その特異的COS
を付与される目標システム上のインストール・ユーティ
リティだけが、目標システム上にソフトウェアを首尾よ
くインストールすることができる。
【0189】暗号ユニットにおけるファームウェアタッ
チポイント支援:図20は、サービスクラス、タッチポ
イント、及びエンベロープの原理を示す。ファームウェ
アレベルタッチポイントは、CU内部にあるファームウェ
アモジュールにインストールされたタッチポイントであ
る。このように、それらは、上記のICF CPUで制御され
なければならない。ICF CPUがファームウェアレベルタ
ッチポイントを扱うのに与えなければならない、機能性
の3つの基本ブロックがある。
【0190】ファームウェアタッチポイント処理に、3
つの基本構成要素が伴うのは、ICFCPUが次のような場合
である。
【0191】第一ブロックは、エンベロープ操作200で
ある。政策活性化、即ち、適当な情報をCUに送信して、
ある種のサービスクラスを活性化するプロセスは、それ
らがICFアーキテクチャで記述される際に、エンベロー
プ201を介して、NSSとICF CPUとの間で通信される。こ
れらのエンベロープの更なる任意の処理が生ずる前に、
それらの起源と有効性が検証される必要がある。
【0192】エンベロープの有効化及び認証内容は、CO
Sエンジン202である第二の構成要素に引き続き通され
る。COSエンジンは、このCUにインストールされたサー
ビスクラスを管理する心臓部と見なすことができる。CO
Sと関連したサービスに対する各要求は、このエンジン
に向けられ、且つこの資源へのアクセス制御に関して評
価される。
【0193】加えて、COSエンジンはまた、COS崩壊の実
行を可能にする核心機能も維持する。周期的に、COSエ
ンジンは、格納された各COSを分析し、そしてこのCOSに
対する境界条件がまだ真であることを立証する。境界条
件はまた、COS属性が要求を指定する場合、各要求につ
いても評価される。例えば、一定数の動作だけが許容さ
れるということを指定するCOSは、各要求についてのエ
ンジン評価メカニズムを呼び出して、カウンタを減分す
る。
【0194】第三の基本構成要素は、TP分解 203であ
る。TP分解ブロックは、タッチポイント204が実行ファ
ームウェアに遭遇する際に、タッチポイント204の分解
を処理する責務がある。先に概説したメカニズムの1つ
によって、実行の制御がこの構成要素に移行し、そして
タッチポイントでマスクされる命令が、ICF CPUで確立
された信頼境界205内で実行される。COSがもはやアクセ
ス不能であると、COSエンジンがいったん判断すると、C
OSは無効であるとマーク付けされ、そしてTP分解プロセ
スは、このCOSに対しては機能しない。結果として、そ
のファームウェアは、もはや使うことができない。
【0195】SWタッチポイント用のホストシステムハー
ドウェア支援:図21は、ソフトウェアタッチポイント
分解に関するメモリ階層を示す。ソフトウェアレベルタ
ッチポイントは、ホストシステムCPUからのハードウェ
ア支援を利用できる。本発明のこの実施例の重要な態様
によって、タッチポイント分解プロセスが、ホストシス
テムプロセッサ実行要素により近接させられる。分解プ
ロセスを、プロセッサ210、例えば、キャッシュのサブ
システム211の近くに移動することによって、明文での
タッチポイント領域は、主メモリシステム212に、又は
メモリ階層の下位の方の記憶要素213に存在しなくな
る。
【0196】本発明のこの実施例の場合、ソフトウェア
レベルタッチポイントを分解するために、2つの主要な
アプローチがある。第一のアプローチでは、ホストプロ
セッサが、ソフトウェアタッチポイントを分解するよ
う、CUを呼び出すソフトウェアタッチポイントの検出に
基づき例外を発生する。第二のアプローチは、実際の動
作に関してホストシステム処理要素を使うこと以外は、
かなり類似している。両アプローチは、構造化対未構造
化ソフトウェアタッチポイントに従って、さらに細分す
ることができる。
【0197】構造化命令レベルタッチポイントに関する
CUアプローチへのトラップ:図22は、構造化命令レベ
ルタッチポイント222がインストールされたアプリケー
ションの、メモリコードイメージ221からのホストシス
テムプロセッサ取出し命令を示す。CUアプローチへのト
ラップにおいて、ホストシステムプロセッサ223は、タ
ッチポイント開始命令に出合うと、例外を立上げる。例
外ハンドラは、CU構成要素を呼び出して、タッチポイン
トを削除し、且つタッチポイントデータを実行可能な命
令に置き換えさせる。その後、ホストシステムプロセッ
サは、アプリケーションを実行し続ける。タッチポイン
ト終了命令を検出すると、ホストシステムは再度トラッ
プし、CUは、メモリイメージを変換してタッチポイント
状態に戻す。
【0198】ホストシステムプロセッサは、tp-start命
令を使って、CUを呼び出させる例外を立上げる。次い
で、CUには、メモリアドレス範囲とタッチポイントのメ
モリ位置の知識が与えられて、タッチポイント本体が、
ホストシステムプロセッサによって実行できる命令列へ
と変換される。次いで、制御は、ホストシステムプロセ
ッサへ戻る。タッチポイントがこの方式で変換される
と、他のアプリケーションインスタンスは、潜在的にタ
ッチポイント領域にアクセスすることができる。それ
故、アプリケーションの関連切り替えが何ら許容されな
い、クリティカルセクションとしてタッチポイントを実
行することが重要である。タッチポイント命令列の終了
に基づき、tp-end命令がCUに対するトラップを生じ、こ
れによって、CUが、タッチポイントデータを逆転して、
その元の状態に戻すことが可能になる。
【0199】構造化命令レベルタッチポイントに対する
ホストシステムプロセッサ要素の利用:図23は、ホス
トシステムプロセッサ内部の命令レベルタッチポイント
支援を示す概略ブロック図である。この第二のアプロー
チの前提は、ホストシステムプロセッサ223が、組込み
論理構成要素230を有し、それによって、プロセッサ
が、命令取出し中にタッチポイントを復号可能となる、
ということである。タッチポイント開始命令に遭遇する
と、ホストシステムプロセッサは、プロセッサキャッシ
ュ224内のタッチポイントデータを翻訳し、実行を継続
する。メモリイメージの変更は生じない。タッチポイン
ト終了命令に遭遇すると、キャッシュライン225が、フ
ラッシュされるか、又は今後の使用のために残される。
この方式を支援するために、タッチポイントは、多数の
キャッシュラインサイズの倍数とすべきである、キャッ
シュ境界上に一線に並ぶことが要求される。
【0200】ホストシステムプロセッサ命令取出しユニ
ットによってtp-start命令を検出すると、ホストシステ
ムは、先ず命令を取出し、次いでホストシステムプロセ
ッサ制御レジスタ226に格納されたキーを使って、タッ
チポイント領域を含む1つ以上のキャッシュラインを変
換する。各アプリケーションは、タッチポイント領域を
分解するために、異なるtp-reg値を有することができ
る。tp-reg値は、アプリケーションをホストシステムに
インストールするのに用いたCOS-TPの一部である。関連
スイッチでのtp-reg制御レジスタのローディングは、情
報のキーパーとしてのCUを伴う。key-reg値は、アプリ
ケーション関連状態の一部をなしてもよく、その結果、
それは、CUを呼び出すことなく、関連スイッチ中にロー
ドすることができる。
【0201】未構造化命令レベルタッチポイント及びデ
ータレベルタッチポイントに対するアプローチ:未構造
化命令レベルタッチポイントと、データレベルタッチポ
イントの両方の特徴は、タッチポイント位置自体のタッ
チポイントに関する任意のメタ情報が無いことである。
このクラスのソフトウェアタッチポイントに対するアプ
ローチは、2つのステップに細分することができる。第
一のステップは、これらタッチポイントの検出に係わ
り、第二のステップは、ホストシステムプロセッサがそ
の領域にアクセスする前に、タッチポイントを分解す
る。
【0202】タッチポイント領域を検出するために、幾
つかのメカニズムをソフトウェア環境とハードウェアの
両方に組み込んで、タッチポイント位置についての情報
を、ホストシステム処理要素に伝播する必要がある。例
えば、タッチポイント領域の粒状度が、ホストシステム
の仮想メモリシステムのページサイズにあると選択され
る場合、タッチポイント位置についての情報は、ページ
テーブルと変換索引バッファを介して、ホストシステム
プロセッサに連絡することができる。
【0203】アドレス変換時に、ホストプロセッサは、
変換すべきアドレス範囲が、ソフトウェアタッチポイン
トを含むか否かを検出することができる。ホストシステ
ムプロセッサによって、タッチポイントページから実行
もしくはアクセスするためにキャッシュラインをロード
する場合、タッチポイント領域は、上述のようにキャッ
シュサブシステムに分解される。同様の技術は、分解し
たタッチポイント領域が、キャッシュラインに保持さ
れ、且つ主メモリ、又はそれらを含む対象物のディスク
イメージにおいてアクセスできない場合に適用される。
読出し専用キャッシュラインは、それらがもう必要とさ
れない時はいつでも、簡単にフラッシュされる。修正さ
れたキャッシュラインは、それらが主メモリシステムに
書き戻される前に、元の状態に変換しなければならな
い。
【0204】本発明は、本明細書において好ましい実施
例を参照して記述されているが、当業者には容易に明ら
かとなるであろうが、その他の応用も、本願発明の精神
と範囲から逸脱することなく、本明細書に記載したもの
と置き換えることができる。従って、本発明は、特許請
求の範囲によってのみ限定されるべきものである。
【0205】以下に、本発明の実施態様を列挙する。
【0206】1.アプリケーションが一定のサービスク
ラスを合法的に実行することを認証する装置において、
有効なサービスクラスを包含している証明書の形で権限
レベルを付与するアプリケーション領域認可機関と、前
記アプリケーションを前記証明書に緊密に結合させる手
段と、からなる装置。
【0207】2.暗号ユニットと、前記アプリケーショ
ンと前記暗号ユニットとの間に信頼関係を確立する手段
とから更になり、前記アプリケーションは、前記暗号ユ
ニットが不正変更されていないことを保証されることを
特徴とする、前項1に記載の装置。
【0208】3.アプリケーションの認証を実施するた
めの信頼化ロードサブシステムと、システムのメモリ空
間にプログラムイメージをロードし、且つ該ロードを行
っている間、前記アプリケーションが不正変更されてい
ないことを認証する手段と、から更になることを特徴と
する、前項1又は2に記載の装置。
【0209】4.前記信頼化ロードサブシステムは更
に、プログラムイメージにわたってチェックサムを利用
する手段から更になり、該チェックサムが、アプリケー
ションインストール時に、ローダサブシステムによって
格納されたチェックサムに一致しない場合、ロードは失
敗であり前記プログラムイメージはロードされないこと
を特徴とする、前項3に記載の装置。
【0210】5.証明書によって支配される任意の対象
物を認証する手段から更になることを特徴とする、前項
1から4のいずれか一項に記載の装置。
【0211】6.前記暗号ユニットの課題に挑戦する手
段から更になることを特徴とする、前項1から5のいず
れか一項に記載の装置。
【0212】7.前記アプリケーションは、スクランブ
ル化形態で目標システムに出荷され、前記装置は更に、
前記暗号ユニットで機能するように前記アプリケーショ
ンを準備する手段から更になり、正しい解読キーを有す
る暗号ユニットだけが前記アプリケーションのスクラン
ブルを解除できることを特徴とする、前項1から6のい
ずれか一項に記載の装置。
【0213】8.保全領域認可機関の保全利益と諸要件
を満足するように規定された政策から、前記保全領域認
可機関によってサービスクラスを作り出す手段から更に
なり、前記サービスクラスは、前記保全領域認可機関に
よって再使用されない特異的な識別名を有することを特
徴とする、前項1から7のいずれか一項に記載の装置。
【0214】9.アプリケーション領域認可機関によっ
てサービスクラスを規定する手段から更になり、前記サ
ービスクラスは、前記保全領域認可機関の保全利益と諸
要件を満足するように規定された政策を有する前記保全
領域認可機関によって認証され、また前記サービスクラ
スは、前記保全領域認可機関によって再使用されない特
異的な識別名を有することを特徴とする、前項1から8
のいずれか一項に記載の装置。
【0215】10.前記保全領域認可機関から、前記ア
プリケーション領域認可機関へサービスクラスを与え
て、前記アプリケーション領域認可機関が、前記サービ
スクラスを包含するアプリケーションに対して、アプリ
ケーション証明書を発行可能にする手段から更になり、
その場合、アクセス制御経路が形成されることを特徴と
する、前項1から9のいずれか一項に記載の装置。
【0216】11.1つのアプリケーションは、前記サ
ービスクラスによって識別された方法にアクセスするた
めに、1つの証明書を有さなければならないことを特徴
とする、前項1から10のいずれか一項に記載の装置。
【0217】12.あるサービスクラスを前記暗号ユニ
ットに伝えて、該サービスクラスを目標暗号ユニットに
おいて許可する手段から更になり、前記サービスクラス
によってラベルを付された方法は、実行されるべき要求
に対して存在状態になければならないことを特徴とす
る、前項1から11のいずれか一項に記載の装置。
【0218】13.アクセス制御及び方法の存在制御は
共に、機能状態において、前記アプリケーションによっ
て規定された方法を維持すべく、常に存在していなけれ
ばならないことを特徴とする、前項1から12のいずれ
か一項に記載の装置。
【0219】14.アプリケーションが、前記アプリケ
ーション証明書を介してサービスクラスを付与され得る
前に、前記暗号ユニットを活性化する政策から更になる
ことを特徴とする、前項1から13のいずれか一項に記
載の装置。
【0220】15.前記暗号ユニットは、ダウンロード
されるべき前記サービスクラスに対する政策と通信状態
にあらなければならないことを特徴とする、前項1から
14のいずれか一項に記載の装置。
【0221】16.ネットワーク保全サーバにネットワ
ーク接続を要求する仮想的政策から更になり、該仮想的
政策は、前記暗号ユニットに分配されることを特徴とす
る、前項1から15のいずれか一項に記載の装置。
【0222】17.前記暗号ユニットに、ハードウェア
におけるタッチポイントを実行するよう要求する物理的
政策から更になり、前記タッチポイントは、前記ハード
ウェアの決定論的位置に配置され、タッチポイントデー
タを包含する政策は、ロード可能であるが、前記アプリ
ケーション機能を崩壊させずに前記暗号ユニットから削
除不可能であることを特徴とする、前項1から15のい
ずれか一項に記載の装置。
【0223】18.前記サービスクラスは、前記暗号ユ
ニット内部でタッチポイントを制御するのに必要なタッ
チポイントデータを包含することを特徴とする、前項1
から17のいずれか一項に記載の装置。
【0224】19.前記サービスクラスは、前記サービ
スクラスが表象する実際の方法を記述する方法フィール
ドを含むことを特徴とする、前項1から18のいずれか
一項に記載の装置。
【0225】20.前記サービスクラスは、前記方法の
属性を記述する制約フィールドを含むことを特徴とす
る、前項1から19のいずれか一項に記載の装置。
【0226】21.サービスクラスが有効であると宣言
可能である間隔は、限界のないものとするか、又は所定
の判断基準によって制約を受けることを特徴とする、前
項1から20のいずれか一項に記載の装置。
【0227】22.前記サービスクラスは更に、サービ
スクラス崩壊機能性を防護するのに用いられる特別の予
め規定されたサービスクラスからなることを特徴とす
る、前項1から21のいずれか一項に記載の装置。
【0228】23.サービスクラスは、それらが記述す
る対象物によってのみならず、認証レベル又は一連の制
約によっても編成され、前記サービスクラスによって記
述されたサービスレベルを付与する前に、実行がなされ
ることを特徴とする、前項1から22のいずれか一項に
記載の装置。
【0229】24.付与されるべきサービスにわたった
より緊密な認証と制御は、前記認証レベル又は一連の制
約に基づいて達成されることを特徴とする、前項1から
23のいずれか一項に記載の装置。
【0230】25.アプリケーション証明書を介して利
用可能にされる際には、保全領域認可機関によって署名
されているサービスクラスIDを認証するサービスクラス
レベルから更になることを特徴とする、前項1から24
のいずれか一項に記載の装置。
【0231】26.前記アプリケーションの認証を必要
とするサービスクラスレベルから更になり、前記証明書
は、前記保全領域認可機関からの前記サービスクラスID
によって識別されるサービスクラスを要求した前記アプ
リケーション領域認可機関によって発行されることを要
する、前項1から25のいずれか一項に記載の装置。
【0232】27.前記アプリケーション領域認可機関
によって発行された前記アプリケーションIDの認証を必
要とするサービスクラスレベルから更になる、前項1か
ら26のいずれか一項に記載の装置。
【0233】28.前記アプリケーションによって要求
された前記サービスクラスを認証すべく、国家保全サー
バとの相互作用を必要とするサービスクラスレベルから
更になる、前項1から27のいずれか一項に記載の装
置。
【0234】29.前記アプリケーションによって要求
された各操作に関して、前記国家保全サーバと相互作用
するサービスクラスレベルから更になる、前項1から2
8のいずれか一項に記載の装置。
【0235】30.認証及び相互作用の何れか1つ、又
はその組合せに対するトークンを必要とするサービスク
ラスレベルから更になる、前項1から29のいずれか一
項に記載の装置。
【0236】31.前記サービスクラスレベルは、単独
又は組合せで与えられる、前項1から30のいずれか一
項に記載の装置。
【0237】
【発明の効果】本発明は上述のように構成したので、国
際暗号法フレームワーク(ICF) によって、製造業者が、
暗号機能の分布を統制する種々の国内法に従うことが可
能となる。
【0238】また、かかるフレームワークによって、あ
らゆる方式の情報処理装置(例えば、プリンタ、パーム
トップ式)において、全世界的な暗号機能の出荷が可能
になる。
【0239】更に、ICF のコア要素の1つである暗号ユ
ニットが、アプリケーションの目的で幾つかの検証方式
を構築するのに利用可能となり、暗号ユニットが既に交
換もしくは不正変更されているか否かの判定が可能とな
る。
【図面の簡単な説明】
【図1】国旗カード、暗号ユニット、ホストシステム、
及びネットワーク保全サーバを含む、国際的暗号法フレ
ームワークのブロック図である。
【図2】本発明によるICFの追加管理要素を紹介する概
略ブロック図である。
【図3】本発明によるICF及び検証要件の概略ブロック
図である。
【図4】本発明によるICFの管理要素、即ち、ADAとSDA
の関係を示すブロック図である。
【図5】本発明によるサービス構造のクラスを示す図で
ある。
【図6】本発明によるCOSレベル概念を示す概略ブロッ
ク図である。
【図7】本発明による管理プロセスにおいてキー要素を
示す概略ブロック図である。
【図8】本発明によるICFソフトウェア環境のソフトウ
ェアアーキテクチャの概観である。
【図9】本発明による要求機能を実行する責務のあるサ
ービスプロバイダに証明書を渡すのに利用できる方法を
示す図である。
【図10】本発明によるCUの代表的アーキテクチャを示
す概略ブロック図である。
【図11】本発明による暗号ユニットのファームウェア
の概略ブロック図である。
【図12】本発明による仮想CPUの概念を示す概略ブロ
ック図である。
【図13】本発明によるインストール段階中のソフトウ
ェア構成要素検証プロセスを示す概略ブロック図であ
る。
【図14】本発明による実行段階中のソフトウェア構成
要素検証プロセスを示す概略ブロック図である。
【図15】本発明によるソフトウェアレベルのタッチポ
イントを示す図である。
【図16】本発明による命令レベルのタッチポイントを
示す図である。
【図17】本発明による製造段階を示す概略ブロック図
である。
【図18】本発明によるインストール段階を示す概略ブ
ロック図である。
【図19】本発明による実行段階を示す概略ブロック図
である。
【図20】本発明によるサービスクラス、タッチポイン
ト、及びエンベロープを示す図である。
【図21】本発明によるソフトウェアタッチポイント分
解に関するメモリ階層を示す図である。
【図22】本発明に従ってインストールされた構造化命
令レベルのタッチポイントを有するアプリケーションの
メモリコードイメージから命令を取出すホストシステム
プロセッサを示す図である。
【図23】本発明によるホストシステムプロセッサ内部
の命令レベルのタッチポイント支援を示す概略ブロック
図である。
【符号の説明】
10 国際暗号法フレームワーク(ICF) 12 政策カード 14 暗号ユニット 16 ホストシステム 18 ネットワーク保全サーバ 20 保全領域認可機関 22 アプリケーション領域認可機関 24, 26 サービスクラス(COS) 28 アプリケーション証明書 30 暗号ユニット製造者
フロントページの続き (72)発明者 ロジャー・マークリング アメリカ合衆国カリフォルニア州94303, パロ・アルト,ストックトン・プレイス・ 3143 (72)発明者 キース・クレンバ アメリカ合衆国カリフォルニア州94303, パロ・アルト,ヴァーノン・テラス・3319

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションが一定のサービスクラ
    スを合法的に実行することを認証する装置において、 有効なサービスクラスを包含している証明書の形で権限
    レベルを付与するアプリケーション領域認可機関と、 前記アプリケーションを前記証明書に緊密に結合させる
    ための手段と、からなる装置。
JP9310211A 1996-11-12 1997-11-12 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置 Pending JPH10313309A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US748085 1985-06-24
US08/748,085 US5841870A (en) 1996-11-12 1996-11-12 Dynamic classes of service for an international cryptography framework

Publications (1)

Publication Number Publication Date
JPH10313309A true JPH10313309A (ja) 1998-11-24

Family

ID=25007943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9310211A Pending JPH10313309A (ja) 1996-11-12 1997-11-12 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置

Country Status (4)

Country Link
US (2) US5841870A (ja)
EP (1) EP0843249B1 (ja)
JP (1) JPH10313309A (ja)
DE (1) DE69731714T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009239725A (ja) * 2008-03-27 2009-10-15 Ricoh Co Ltd 暗号機能を搭載可能な装置、サーバ装置及び暗号機能利用制限方法

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216231B1 (en) * 1996-04-30 2001-04-10 At & T Corp. Specifying security protocols and policy constraints in distributed systems
WO1998008155A1 (en) * 1996-08-20 1998-02-26 Hewlett-Packard Company Secure enablement of a processing entity
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US6154844A (en) * 1996-11-08 2000-11-28 Finjan Software, Ltd. System and method for attaching a downloadable security profile to a downloadable
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7613926B2 (en) * 1997-11-06 2009-11-03 Finjan Software, Ltd Method and system for protecting a computer and a network from hostile downloadables
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US6167520A (en) 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US6317832B1 (en) * 1997-02-21 2001-11-13 Mondex International Limited Secure multiple application card system and process
US5915085A (en) * 1997-02-28 1999-06-22 International Business Machines Corporation Multiple resource or security contexts in a multithreaded application
US6397330B1 (en) 1997-06-30 2002-05-28 Taher Elgamal Cryptographic policy filters and policy control method and apparatus
US6389534B1 (en) * 1997-06-30 2002-05-14 Taher Elgamal Cryptographic policy filters and policy control method and apparatus
US6389535B1 (en) * 1997-06-30 2002-05-14 Microsoft Corporation Cryptographic protection of core data secrets
US6317868B1 (en) * 1997-10-24 2001-11-13 University Of Washington Process for transparently enforcing protection domains and access control as well as auditing operations in software components
US8225408B2 (en) * 1997-11-06 2012-07-17 Finjan, Inc. Method and system for adaptive rule-based content scanners
US7418731B2 (en) * 1997-11-06 2008-08-26 Finjan Software, Ltd. Method and system for caching at secure gateways
US7975305B2 (en) * 1997-11-06 2011-07-05 Finjan, Inc. Method and system for adaptive rule-based content scanners for desktop computers
US6125447A (en) * 1997-12-11 2000-09-26 Sun Microsystems, Inc. Protection domains to provide security in a computer system
US6308266B1 (en) * 1998-03-04 2001-10-23 Microsoft Corporation System and method for enabling different grades of cryptography strength in a product
US6178504B1 (en) * 1998-03-12 2001-01-23 Cheyenne Property Trust C/O Data Securities International, Inc. Host system elements for an international cryptography framework
US6701433B1 (en) 1998-03-23 2004-03-02 Novell, Inc. Method and apparatus for escrowing properties used for accessing executable modules
US6751735B1 (en) * 1998-03-23 2004-06-15 Novell, Inc. Apparatus for control of cryptography implementations in third party applications
US6202145B1 (en) * 1998-12-14 2001-03-13 International Business Machines Corporation System and method for eliminating a ring transition while executing in protected mode
US6829708B1 (en) 1999-03-27 2004-12-07 Microsoft Corporation Specifying security for an element by assigning a scaled value representative of the relative security thereof
US7055040B2 (en) * 1999-04-02 2006-05-30 Hewlett-Packard Development Company, L.P. Method and apparatus for uniquely and securely loading software to an individual computer
EP1505473A1 (en) * 1999-07-23 2005-02-09 Microsoft Corporation Methods and arrangements for mapping widely disparate portable tokens to a static machine concentric cryptographic environment
US6484259B1 (en) 1999-07-23 2002-11-19 Microsoft Corporation Methods and arrangements for mapping widely disparate portable tokens to a static machine concentric cryptographic environment
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US6944765B1 (en) * 1999-12-21 2005-09-13 Qualcomm, Inc. Method of authentication anonymous users while reducing potential for “middleman” fraud
AU2000269232A1 (en) 2000-01-14 2001-07-24 Microsoft Corporation Specifying security for an element by assigning a scaled value representative ofthe relative security thereof
US6665709B1 (en) * 2000-03-27 2003-12-16 Securit-E-Doc, Inc. Method, apparatus, and system for secure data transport
US6757822B1 (en) 2000-05-31 2004-06-29 Networks Associates Technology, Inc. System, method and computer program product for secure communications using a security service provider manager
JP2002014737A (ja) * 2000-06-29 2002-01-18 Fujitsu Ltd 処理装置、集積回路、および集積回路パッケージ
US6993448B2 (en) 2000-08-09 2006-01-31 Telos Corporation System, method and medium for certifying and accrediting requirements compliance
US6901346B2 (en) 2000-08-09 2005-05-31 Telos Corporation System, method and medium for certifying and accrediting requirements compliance
US7380270B2 (en) * 2000-08-09 2008-05-27 Telos Corporation Enhanced system, method and medium for certifying and accrediting requirements compliance
JP4759826B2 (ja) * 2000-11-10 2011-08-31 ソニー株式会社 アダプタ装置及びメモリ装置
GB2372412A (en) * 2001-02-20 2002-08-21 Hewlett Packard Co Digital credential monitoring
US7178024B2 (en) 2001-04-05 2007-02-13 Sap Ag Security service for an electronic marketplace
US7363384B2 (en) 2001-07-11 2008-04-22 Sony Computer Entertainment America Inc. Selection of content in response to communication environment
US20030046535A1 (en) * 2001-09-06 2003-03-06 Nelson Dean S. System and method for authenticating use of a network appliance
JP2003085321A (ja) * 2001-09-11 2003-03-20 Sony Corp コンテンツ利用権限管理システム、コンテンツ利用権限管理方法、および情報処理装置、並びにコンピュータ・プログラム
US20030053630A1 (en) * 2001-09-20 2003-03-20 International Business Machines Corporation Method and system for key usage control in an embedded security system
US7167983B1 (en) 2002-03-08 2007-01-23 Lucent Technologies Inc. System and method for security project management
US7299504B1 (en) 2002-03-08 2007-11-20 Lucent Technologies Inc. System and method for implementing security management using a database-modeled security policy
US7146307B2 (en) * 2002-03-22 2006-12-05 Sun Microsystems, Inc. System and method for testing telematics software
US7400722B2 (en) * 2002-03-28 2008-07-15 Broadcom Corporation Methods and apparatus for performing hash operations in a cryptography accelerator
US7152243B2 (en) * 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
US7137142B2 (en) * 2002-06-28 2006-11-14 Motorola, Inc. Method and system for vehicle authentication of a component using key separation
EP1429224A1 (en) 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
US7207067B2 (en) * 2002-11-12 2007-04-17 Aol Llc Enforcing data protection legislation in Web data services
US6980927B2 (en) * 2002-11-27 2005-12-27 Telos Corporation Enhanced system, method and medium for certifying and accrediting requirements compliance utilizing continuous risk assessment
US20040103309A1 (en) * 2002-11-27 2004-05-27 Tracy Richard P. Enhanced system, method and medium for certifying and accrediting requirements compliance utilizing threat vulnerability feed
US6983221B2 (en) * 2002-11-27 2006-01-03 Telos Corporation Enhanced system, method and medium for certifying and accrediting requirements compliance utilizing robust risk assessment model
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US6965968B1 (en) 2003-02-27 2005-11-15 Finjan Software Ltd. Policy-based caching
US7802087B2 (en) 2003-03-10 2010-09-21 Igt Universal method for submitting gaming machine source code software to a game certification laboratory
US7921302B2 (en) 2003-03-10 2011-04-05 Igt Universal game download methods and system for legacy gaming machines
US7337330B2 (en) * 2003-03-10 2008-02-26 Cyberview Technology, Inc. Universal game download system for legacy gaming machines
WO2004080550A2 (en) * 2003-03-10 2004-09-23 Cyberscan Technology, Inc. Dynamic configuration of a gaming system
US8491391B2 (en) * 2003-03-10 2013-07-23 Igt Regulated gaming—agile media player for controlling games
US7669225B2 (en) * 2003-05-06 2010-02-23 Portauthority Technologies Inc. Apparatus and method for assuring compliance with distribution and usage policy
US7188331B2 (en) * 2003-06-30 2007-03-06 Hewlett-Packard Development Company, L.P. Firmware development within a framework from different design centers depositing component(s) with related contextual and genealogy information in an accessible repository
US7290278B2 (en) 2003-10-02 2007-10-30 Aol Llc, A Delaware Limited Liability Company Identity based service system
US7698552B2 (en) 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
US20060047959A1 (en) * 2004-08-25 2006-03-02 Microsoft Corporation System and method for secure computing
US7802110B2 (en) * 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
US20060080331A1 (en) * 2004-10-12 2006-04-13 International Business Machines Corporation Common interface system administration service library
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US20070180275A1 (en) * 2006-01-27 2007-08-02 Brian Metzger Transparent encryption using secure JDBC/ODBC wrappers
US8051299B2 (en) * 2006-03-20 2011-11-01 Hewlett-Packard Development Company, L.P. Computer security method and computer system
JP4419977B2 (ja) * 2006-03-31 2010-02-24 ブラザー工業株式会社 プログラム作成装置、及びプログラム
US20070250711A1 (en) * 2006-04-25 2007-10-25 Phonified Llc System and method for presenting and inputting information on a mobile device
US7761468B2 (en) * 2006-10-04 2010-07-20 International Business Machines Corporation Supporting multiple security mechanisms in a database driver
US8640215B2 (en) * 2007-03-23 2014-01-28 Microsoft Corporation Secure isolation of application pools
US8683549B2 (en) * 2007-03-23 2014-03-25 Microsoft Corporation Secure data storage and retrieval incorporating human participation
US8536976B2 (en) * 2008-06-11 2013-09-17 Veritrix, Inc. Single-channel multi-factor authentication
US8468358B2 (en) * 2010-11-09 2013-06-18 Veritrix, Inc. Methods for identifying the guarantor of an application
US8516562B2 (en) 2008-05-13 2013-08-20 Veritrix, Inc. Multi-channel multi-factor authentication
US8006291B2 (en) 2008-05-13 2011-08-23 Veritrix, Inc. Multi-channel multi-factor authentication
US8166297B2 (en) 2008-07-02 2012-04-24 Veritrix, Inc. Systems and methods for controlling access to encrypted data stored on a mobile device
WO2010051342A1 (en) 2008-11-03 2010-05-06 Veritrix, Inc. User authentication for social networks
US8505813B2 (en) 2009-09-04 2013-08-13 Bank Of America Corporation Customer benefit offer program enrollment
WO2011159715A2 (en) * 2010-06-14 2011-12-22 Engels Daniel W Key management systems and methods for shared secret ciphers
US10114660B2 (en) * 2011-02-22 2018-10-30 Julian Michael Urbach Software application delivery and launching system
US9892419B1 (en) 2011-05-09 2018-02-13 Bank Of America Corporation Coupon deposit account fraud protection system
US8751298B1 (en) 2011-05-09 2014-06-10 Bank Of America Corporation Event-driven coupon processor alert
US8474014B2 (en) 2011-08-16 2013-06-25 Veritrix, Inc. Methods for the secure use of one-time passwords
US20130212381A1 (en) * 2012-02-15 2013-08-15 Roche Diagnostics Operations, Inc. System and method for controlling authorized access to a structured testing procedure on a medical device
US9225715B2 (en) * 2013-11-14 2015-12-29 Globalfoundries U.S. 2 Llc Securely associating an application with a well-known entity
US9344419B2 (en) 2014-02-27 2016-05-17 K.Y. Trix Ltd. Methods of authenticating users to a site
CN108347343B (zh) * 2017-01-25 2020-07-14 华为技术有限公司 一种策略管理方法、装置和系统
US10524165B2 (en) 2017-06-22 2019-12-31 Bank Of America Corporation Dynamic utilization of alternative resources based on token association
US10511692B2 (en) 2017-06-22 2019-12-17 Bank Of America Corporation Data transmission to a networked resource based on contextual information
US10313480B2 (en) 2017-06-22 2019-06-04 Bank Of America Corporation Data transmission between networked resources
CN108427886B (zh) * 2018-01-25 2020-06-02 上海掌门科技有限公司 一种应用程序访问权限设置方法、系统、设备及可读介质
JP7262269B2 (ja) * 2019-03-27 2023-04-21 キヤノン株式会社 情報処理装置、及び情報処理装置の制御方法、プログラム
WO2023156006A1 (en) 2022-02-18 2023-08-24 Volkswagen Aktiengesellschaft Control device comprising a processor circuit for executing applications that use cryptographic service functions and method for operating the control device and motor vehicle

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4649510A (en) * 1982-04-30 1987-03-10 Schmidt Walter E Methods and apparatus for the protection and control of computer programs
GB2205667B (en) * 1987-06-12 1991-11-06 Ncr Co Method of controlling the operation of security modules
JPH02202642A (ja) * 1989-02-01 1990-08-10 Toshiba Corp プログラム動作監視装置
US5099516A (en) * 1989-06-12 1992-03-24 Dell Corporate Services Corporation Digital computer code word identification system
US5123045A (en) * 1989-08-18 1992-06-16 Massachusetts Institute Of Technology Comprehensive software protection system
CA2035697A1 (en) * 1991-02-05 1992-08-06 Brian James Smyth Encryption apparatus for computer device
CA2074121C (en) * 1991-07-19 2000-09-26 Lawrence David Benson System and method for selectively preventing a software program from being operable
US5301231A (en) * 1992-02-12 1994-04-05 International Business Machines Corporation User defined function facility
US5276735A (en) * 1992-04-17 1994-01-04 Secure Computing Corporation Data enclave and trusted path system
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
EP0570123B1 (en) * 1992-05-15 1999-03-17 Addison M. Fischer Computer system security method and apparatus having program authorization information data structures
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US5315655A (en) * 1992-12-16 1994-05-24 Notable Technologies, Inc. Method and apparatus for encoding data objects on a computer system
JP2576385B2 (ja) * 1993-10-28 1997-01-29 日本電気株式会社 データ保護装置
US5530752A (en) * 1994-02-22 1996-06-25 Convex Computer Corporation Systems and methods for protecting software from unlicensed copying and use
US5651068A (en) * 1995-03-08 1997-07-22 Hewlett-Packard Company International cryptography framework
US5600726A (en) * 1995-04-07 1997-02-04 Gemini Systems, L.L.C. Method for creating specific purpose rule-based n-bit virtual machines
US6148083A (en) * 1996-08-23 2000-11-14 Hewlett-Packard Company Application certification for an international cryptography framework

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009239725A (ja) * 2008-03-27 2009-10-15 Ricoh Co Ltd 暗号機能を搭載可能な装置、サーバ装置及び暗号機能利用制限方法

Also Published As

Publication number Publication date
EP0843249B1 (en) 2004-11-24
US5841870A (en) 1998-11-24
US5740248A (en) 1998-04-14
EP0843249A1 (en) 1998-05-20
DE69731714T2 (de) 2005-11-03
DE69731714D1 (de) 2004-12-30

Similar Documents

Publication Publication Date Title
JPH10313309A (ja) 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置
JP3753885B2 (ja) 国際暗号体系のホストシステム要素
US11704389B2 (en) Controlling access to digital assets
US6148083A (en) Application certification for an international cryptography framework
JP4689946B2 (ja) 安全なデータを使用して情報処理を実行するシステム
Gray et al. D’Agents: Security in a multiple-language, mobile-agent system
JP4498735B2 (ja) オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム
US7805375B2 (en) Digital license migration from first platform to second platform
US8447889B2 (en) Portable mass storage device with virtual machine activation
US8001596B2 (en) Software protection injection at load time
WO1998009209B1 (en) Systems and methods for secure transaction management and electronic rights protection
US20080126705A1 (en) Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
KR101504647B1 (ko) 가상 머신 활성화를 갖는 휴대용 대량 저장장치
CN114651253A (zh) 用于策略强制实施的虚拟环境类型验证
EP2517140B1 (en) Securing execution of computational resources
Tsiligiridis Security for mobile agents: privileges and state appraisal mechanism
Cooper Towards a trusted grid architecture
KR20130093804A (ko) 응용 서비스 기밀 실행을 위한 런타임 제공 장치 및 방법
Sridhara Threats And Security Measures For Systems Using Mobile Agents
Riseborough MULTOS M3
PLATFORM ICitizen Open v2 Cyberflex Access 64k v3
Proudler et al. Basics of Trusted Platforms
UNITN et al. D4. 1 SECURITY MODELLING NOTATION FOR EVOLVING SYSTEMS

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041110

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071030