JP2001282375A - コンピュータ用のアクセス制御 - Google Patents

コンピュータ用のアクセス制御

Info

Publication number
JP2001282375A
JP2001282375A JP2001066298A JP2001066298A JP2001282375A JP 2001282375 A JP2001282375 A JP 2001282375A JP 2001066298 A JP2001066298 A JP 2001066298A JP 2001066298 A JP2001066298 A JP 2001066298A JP 2001282375 A JP2001282375 A JP 2001282375A
Authority
JP
Japan
Prior art keywords
program
message
unique identifier
originator
computer
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
JP2001066298A
Other languages
English (en)
Other versions
JP3731867B2 (ja
Inventor
Riooda 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 JP2001282375A publication Critical patent/JP2001282375A/ja
Application granted granted Critical
Publication of JP3731867B2 publication Critical patent/JP3731867B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response

Abstract

(57)【要約】 【課題】 本発明の目的は、コンピュータ・システムま
たは分散システムでのプログラムのセキュア・アクセス
制御の機構を提供することである。 【解決手段】 本発明は、コンピュータ上でセキュア・
アクセス制御のための一般的で柔軟な機構を提供する。
暗号チェックサムが、別のプログラムに対するプログラ
ムの識別のために適用される。これらの暗号チェックサ
ムは、プログラムについて自動的に生成される。各プロ
グラムは、そのプログラム固有識別子を有し、プログラ
ム固有識別子は、実質的に一意の値または名前とみなす
ことができる。そのようなプログラム固有識別子を使用
して、あるプログラムの有効性を別のプログラムに対し
て検証することができる。これを用いて、異なるプログ
ラムの間の相互信頼関係を簡単にセット・アップするこ
とができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ上の
プログラムおよびアプリケーションのセキュアかつ信頼
される処理に関する。具体的には、本発明は、別のプロ
グラムに対してプログラムを識別する機構に関する。
【0002】
【従来の技術】従来のコンピュータおよびコンピュータ
・システム、特に定義済みネットワーク内の接続された
システムは、システム管理者によって管理される。現在
使用されているアクセス制御機構は、システム管理者に
よって決定されるセキュリティ・ポリシーに基づいて、
ユーザを互いに分離することに焦点を合わせている。一
部のシステム、主に軍用システムは、より微細な粒度の
アクセス制御ポリシーを可能にして、個々のユーザの異
なる態様の分離を可能にしているが、これらのシステム
は、その複雑さのゆえに管理者にとって非現実的に高価
になっている。その結果、これらのシステムのアクセス
制御機構は、広く採用されてはいない。
【0003】さまざまなデータベースおよびJavaで
使用可能なアクセス制御方式は、データおよびオブジェ
クトのより微細な粒度の制御を提供するが、システム・
レベルでのアクセス制御の一般的な問題を解決しない。
【0004】ほとんどのパーソナル・コンピュータ(P
C)は、セキュリティの問題を十分に解決することがで
きない。DOS、Windows、およびMacOSを
含むPCオペレーティング・システムは、大量のウィル
ス、トロイの木馬、および他の悪意のあるソフトウェア
(マルウェアとも称する)によって襲撃されてきた。そ
のようなマルウェアの公開および使用は、本質的に、破
壊行為の1形態であり、その危険性は、インターネット
の使用に伴って増大する。
【0005】経済的に意味のあるトランザクションでそ
のようなシステムが使用される場合、攻撃者にとっては
るかに大きい利益があり、したがって、はるかに大きい
誘因がある。したがって、セキュリティの必要は絶対的
であり、これによって適当なアクセス制御機構の必要が
生じる。
【0006】PDAと略されることもある携帯情報端末
などのハンド・ヘルド・デバイスは、そのフォーム・フ
ァクタおよび使用法の特性から、多くのe-commerceアプ
リケーションでの使用に非常に望ましいものになってい
る。残念ながら、現在のPDAオペレーティング・シス
テムは、e-commerceアプリケーションに必要なセキュリ
ティを提供しない。PDAが、強力な汎用計算装置であ
るという事実そのもののゆえに、PDAは攻撃に対して
脆弱である。PDAに基づくe-commerceシステムは、す
べての範囲の攻撃に対して潜在的に脆弱であり、このた
めに、スマートカードなどのPDAに含まれる他のシス
テムも危険にさらされる可能性がある。
【0007】一般に、システム管理者は、特定のプログ
ラムまたはユーザをどれほど信頼できるかを決定しなけ
ればならない。この決定には、プログラムを特権付きで
インストールするためにどれほどの信頼が必要であるか
を決定する際の、システムにある情報リソースの価値の
検討が含まれる。システム管理者が、システムおよび特
権を継続的に更新しなければならないことが短所であ
る。
【0008】米国特許第3996449号明細書は、コ
ンピュータにロードされるオペレーティング・システム
が有効であるかどうかを判定するオペレーティング・シ
ステム認証機構に関する。オペレーティング・システム
に固有のユーザの識別コードまたは秘密鍵と、有効なオ
ペレーティング・システムおよび識別コードの所定の関
数であるベリファイヤ値が、それぞれ記憶される。ロー
ドされるオペレーティング・システムと識別コードの関
数であるハッシュ関数が、認証機構によって生成され
る。オペレーティング・システムをロードした後に、ハ
ッシュ関数を認証値として使用し、ベリファイヤ値と比
較して、ロードされるオペレーティング・システムの認
証性を判定する。
【0009】米国特許第5113442号明細書に、複
数のユーザの間でアクセス権を制御する方法およびこの
方法を使用するオペレーティング・システムが記載され
ている。各ユーザは、素数であるユーザ識別番号を与え
られ、各セキュア・オブジェクトは、そのセキュア・オ
ブジェクトに対する同一のアクセス権を有する全ユーザ
のユーザ識別番号の積である値を含むアクセス・コード
を与えられる。セキュア・オブジェクトへのアクセスを
求めるユーザによる要求に応答して、そのセキュア・オ
ブジェクトのアクセス・コードを、要求元ユーザのユー
ザ識別番号で割る。要求されたセキュア・オブジェクト
へのユーザのアクセス権は、除算の結果が0の剰余をも
たらすかどうかに基づいて決定される。
【0010】用語集 以下は、以下の説明の理解を助けるための略式の定義で
ある。
【0011】ハッシュ関数とは、任意の長さのバイナリ
・ストリングをある固定長のバイナリ・ストリングにマ
ッピングする、計算的に効率的な関数である。
【0012】一方向ハッシュ関数とは、可変長のメッセ
ージMまたは何らかのデータを受け取り、ハッシュまた
は固有識別子とも称する固定長の値を作る関数である。
固有識別子を与えられて、その固有識別子を用いてメッ
セージを見つけることは、計算的に実行不可能である。
実際、その固有識別子を用いてメッセージMに関する有
用な情報を判定することはできない。言い換えると、そ
のような固有識別子を作成する時間は、固有識別子から
可変長メッセージを再構成する時間よりかなり短い。さ
らに、2つの同一の固有識別子を見つける時間は、1つ
の固有識別子を作成する時間よりかなり長い。
【0013】信頼コンピューティング基盤(TCB)と
は、それらの組合せがセキュリティ・ポリシを実施する
責任を負うハードウェア、ファームウェア、およびソフ
トウェアを含むコンピュータ・システム内の保護機構の
完全性を指す。
【0014】
【発明が解決しようとする課題】本発明の目的は、従来
技術の短所を克服することである。
【0015】本発明のもう1つの目的は、コンピュータ
・システムまたは分散システムでのプログラムのセキュ
ア・アクセス制御の機構を提供することである。
【0016】本発明のもう1つの目的は、システム管理
者を必要としないアクセス制御機構を提供することであ
る。
【0017】本発明のもう1つの目的は、スプーフ不能
であり、したがってセキュアな形で動作するアクセス制
御機構を提供することである。
【0018】本発明のもう1つの目的は、コンピュータ
上のプログラムの同一性を、同一のまたは異なるコンピ
ュータ上の別のプログラムに対して検証する方法および
装置を提供することである。
【0019】
【課題を解決するための手段】本発明の目的は、同封の
独立請求項で規定される特徴によって達成される。さら
に有利な実施形態は、めいめいの従属請求項に示されて
いる。
【0020】本発明は、コンピュータまたは分散コンピ
ュータでのセキュア・アクセス制御のための一般的で柔
軟な機構を提供する。コンピュータに言及する時には、
すべての種類のコンピュータが、TCBと省略される信
頼コンピューティング基盤を有することを意味する。そ
のようなコンピュータは、ネットワークのメンバとする
ことができ、複数のセキュア・ドメインまたはセキュア
・アプリケーションをサポートすることができる。
【0021】本発明の基本概念は、コンピュータが、暗
号関数すなわち、一方向ハッシュ関数とも称する暗号チ
ェックサムを使用して、プログラム固有の暗号識別子ま
たは省略形でプログラム固有識別子を自動的に生成し、
これを用いてアクセス制御機構の基礎を形成することで
ある。これらのプログラム固有識別子は、プログラムの
名前とみなすことができ、プログラムにハッシュ関数を
適用することによって得られる。出力のプログラム固有
識別子は、ハッシュ値とも称するが、オンザフライで格
納、キャッシュ記憶、または導出することができる、特
定のプログラムについて実質的に一意の値である。一般
に、名前は、信頼コンピューティング基盤によって、よ
り詳細にはオペレーティング・システムによって提供さ
れる。暗号関数は、少なくとも以下の判断基準を満た
す。そのような固有識別子を作成する時間が、固有識別
子からプログラムまたはその一部を再構成する時間より
かなり短い。さらに、2つの同一の固有識別子を見つけ
る時間が、1つの固有識別子を作成する時間よりかなり
長い。
【0022】この機構は、次の形で稼動する。メッセー
ジ・オリジネータ・プログラムが、その派生名を含むメ
ッセージを、メッセージ・レシーバ・プログラムに送
る。名前は、オペレーティング・システムによって与え
られ、送出中または転送中にメッセージに追加すること
ができる。メッセージを受け取った後に、名前は、メッ
セージ・レシーバ・プログラムまたは信頼コンピューテ
ィング基盤もしくはその両方に既知であるかどうかを検
証される。それを行うことによって、特殊な要求を含め
ることができるメッセージを、検証に応じて受け入れる
か拒否することができる。メッセージに対する応答につ
いて、メッセージ・レシーバ・プログラムは、いわゆる
応答メッセージ・オリジネータ・プログラムに変化す
る、すなわち、メッセージ・レシーバ・プログラムが、
メッセージ・オリジネータ・プログラムになり、その固
有名を用いてメッセージ応答を送る。
【0023】プログラムとは、アプリケーション・プロ
グラム、Javaベース・プログラム、または仮想マシ
ンなど、コンピュータ上で稼動することができるすべて
の種類のコードまたはソフトウェアと理解される。
【0024】本発明の機構は、スプーフ可能でない、簡
単に実施されるなど、複数の長所を示す。名前が信頼コ
ンピューティング基盤によって自動的に作成されるの
で、システム管理者の仕事は冗長になる。複数のドメイ
ンまたはアプリケーションが、セキュアでないプログラ
ムによって攻撃可能にならずに同一のコンピュータ上で
稼動することができるので、一般に、コンピュータの信
頼性を劇的に高めることができ、コンピュータを安全で
信頼性のある装置にすることができる。
【0025】本発明の機構を使用することによって、疑
わしいプログラムおよび攻撃プログラムなどの、制御さ
れず、潜在的にセキュアでないプログラムが、コンピュ
ータの制御を奪うことができず、機密のプログラムおよ
びアプリケーションに干渉することができなくなる。
【0026】一方で、プログラム固有識別子すなわちプ
ログラム固有名が、メッセージ・レシーバ・プログラム
に既知であり、もう一方で、受入または肯定応答と、メ
ッセージ・オリジネータ・プログラムに既知の応答プロ
グラム固有識別子を含む応答メッセージが送られる場合
に、両方のプログラムがお互いを信頼することができ、
これによって、メッセージ・レシーバ・プログラムが、
メッセージ・オリジネータ・プログラムと進んでインタ
ーオぺレートするという長所が生ずる。両方のプログラ
ムの間の信頼される通信を簡単にセット・アップするこ
とができる。
【0027】上述のプログラム固有識別子は、メッセー
ジ・オリジネータ・プログラムに第1ハッシュ関数を適
用することによって導出可能であり、応答プログラム固
有識別子は、メッセージ・レシーバ・プログラムに第2
ハッシュ関数を適用することによって導出可能である。
これが有利であることがわかる。というのは、一般に、
さまざまなハッシュ関数を適用して、プログラム固有識
別子を作成することができ、したがって、この機構が特
殊なタイプのハッシュ関数に制限されないからである。
唯一の前提は、通信をセット・アップするために、プロ
グラム固有識別子が、メッセージ・レシーバ・プログラ
ムに既知でなければならないことである。
【0028】それにもかかわらず、適用されるハッシュ
関数を、同一にすることもでき、これによって、MD5
またはSHA−1などの一方向ハッシュ関数が適用可能
になる。そのようなハッシュ関数は、周知であり、信頼
性のある形で動作し、ユーザまたは計算時間全般に著し
い影響を及ぼすことなく、ミリ秒単位の時間で処理する
ことができるすなわち、プログラムに適用することがで
きる。
【0029】ハッシュ関数ジェネレータは、プログラム
固有識別子が、信頼コンピューティング基盤によって自
動的に導出され、供給されるように、この信頼コンピュ
ーティング基盤内で実施されなければならない。基礎と
なるセキュリティ・ポリシに基づいて、攻撃者は、信頼
コンピューティング基盤を迂回することも密かに傷つけ
ることもできない。
【0030】プログラム固有識別子またはメッセージも
しくはその両方が、秘密暗号鍵の使用によって署名され
るならば有利である。それを行うことによって、異なる
プログラムの間の相互信頼を、簡単に確立し、セット・
アップすることができる。さらに、任意の信頼関係を作
成することができ、これによって、ユーザが何も構成し
なくてよいことが特に有利である。
【0031】秘密暗号鍵によって署名された追加のプロ
グラム固有識別子を、メッセージ内で送る場合も有利で
ある。というのは、メッセージ・レシーバ・プログラム
が、開発者によって、保護された形で管理可能になり、
これによって、追加の信頼されるプログラムをインスト
ールでき、それを用いて信頼されるドメインまたは信頼
されるアプリケーションを簡単にセットアップできるか
らである。言い換えると、同一の開発者から来る異なる
プログラムが、お互いを信頼し、相互信頼関係を作成す
ることができる。
【0032】メッセージ・レシーバ・プログラムまたは
信頼コンピューティング基盤もしくはその両方が、公開
暗号鍵を有することができ、それを用いて応答に署名す
ることができる。これは、要求側プログラムであるメッ
セージ・オリジネータ・プログラムが、正しく記述され
ている場合に、メッセージ・レシーバ・プログラムまた
は信頼コンピューティング基盤もしくはその両方が、ユ
ーザによって許可された文書についてのみ署名を生成す
ることを暗示する。
【0033】プログラム固有識別子が、リストまたはデ
ータベースに事前に格納される場合、この識別子への高
速アクセスをもたらすことができ、したがって高速の検
証をもたらすことができる。これは、信頼されるプログ
ラム固有識別子が、信頼コンピューティング基盤内で配
布またはインストールされる場合、またはコンピュータ
が初めて初期化される時にも有利である。
【0034】プログラム固有識別子が、メッセージ・レ
シーバ・プログラムまたは信頼コンピューティング基盤
に未知である場合には、メッセージまたは要求が拒否さ
れ、たとえばメッセージ・オリジネータ・プログラムに
0が返される。これは、メッセージ・オリジネータ・プ
ログラムが、信頼されるプログラムではなく、疑わしい
か危険である可能性があることを暗示する。そのような
プログラムについて、特殊なドメインを作成することが
できる。しかし、やはり、決定的な点は、そのようなプ
ログラムが、他のものすなわち、たとえば信頼されるプ
ログラム、関係する文書、またはコンピュータ上のプラ
イベートな記録に干渉できないことである。
【0035】
【発明の実施の形態】全般的に図面を参照し、特に図1
を参照して、暗号関数を使用する、コンピュータのため
のアクセス制御機構の本質的特徴を下で詳細に説明す
る。まず、一般的な点を扱う。
【0036】ハッシュ関数 ハッシュ関数は、任意の長さのバイナリ・ストリングを
ある固定長のバイナリ・ストリングにマッピングする、
計算的に効率的な関数である。
【0037】一方向ハッシュ関数 一方向ハッシュ関数とは、可変長のメッセージを受け取
り、固定長のハッシュまたは値を作る関数である。した
がって、h=H(M)であり、ここで、Hは一方向ハッ
シュ関数、Mはメッセージ、hはメッセージMのハッシ
ュ値である。
【0038】ハッシュhを与えられて、そのハッシュを
有するメッセージMを見つけることは、計算的に実行不
可能である。実際に、そのハッシュを用いてメッセージ
Mに関する有用な情報を判定することはできない。いく
つかの一方向ハッシュ関数の場合、同一のハッシュを作
る2つのメッセージを判定することも、計算的に実行不
可能である。さらに、一方向ハッシュ関数は、暗号関数
と同様に、公開または秘密とすることができる。MD
5、SHA−1、およびSnefruが、公開一方向ハ
ッシュ関数の例である。
【0039】そのような一方向ハッシュ関数が、任意の
プログラムとすることができるプログラムEに適用され
る場合に、出力のハッシュ値hは、実質的に一意の値に
なり、これをプログラム固有識別子とも呼ぶ。このプロ
グラム固有識別子は、特定のプログラムEに与えられた
名前とみなすこともできる。言い換えると、プログラム
Eは、バイト・ストリームE={b0、b1、b2、…}
と見なすことができるが、これをその実質的に一意の名
前H(E)と関連付けることができる。プログラムEが
実行される時には、プログラムEは、ラベルH(E)を
用いて実行される。プログラムEによって作成される永
続データは、プログラムEからのみアクセス可能であ
り、やはり名前H(E)をもつ。
【0040】たとえば上で述べた一方向ハッシュ関数S
HA−1を使用すると、2つの同一のプログラム固有識
別子が見つかる確率は、約1対280であり、所与のプロ
グラムに対して同一のプログラム固有識別子を有する別
のプログラムが見つかる確率は、約1対2160である。
【0041】信頼コンピューティング基盤(TCB) 信頼コンピューティング基盤(TCBと略記する場合も
ある)とは、それらの組合せがセキュリティ・ポリシを
実施する責任を負うハードウェア、ファームウェア、お
よびソフトウェアを含むコンピュータ・システム内の保
護機構の完全性を指す。オペレーティング・システムは
信頼コンピューティング基盤の一部である。セキュリテ
ィ・ポリシは、信頼コンピューティング基盤を迂回また
は密かに傷つけることができない、すなわち、攻撃に対
してセキュアであることを必要とする。
【0042】本発明のアクセス制御機構は、一般に、コ
ンピュータ内およびコンピュータ・システム内で使用す
ることができる。コンピュータに言及する時には、ロー
カル・ネットワークのメンバになることができるすべて
の種類の装置を意味する。装置の例が、ラップトップ・
コンピュータ、ワークパッド、ノードパッド、携帯情報
端末(PDA)、ノートブック・コンピュータおよび他
のウェアラブル・コンピュータ、デスクトップ・コンピ
ュータ、コンピュータ端末、ネットワーク接続されたコ
ンピュータ、インターネット端末および他の計算システ
ム、セットトップ・ボックス、キャッシュ・レジスタ、
バー・コード・スキャナ、POS端末、キオスク・シス
テム、セルラ電話、ポケットベル(登録商標)、腕時
計、ディジタル時計、バッジ、スマートカード、および
他のハンドヘルド・デバイスおよび組込装置である。検
討される他の装置には、ヘッドセット、ヒューマン・イ
ンターフェース・デバイス(Human Interface Device、
HID)準拠周辺機器、データ・アクセス・ポイントお
よびボイス・アクセス・ポイント、カメラ、プリンタ、
ファクシミリ機、キーボード、ジョイスティック、調理
器具、工具、煙検出器または炎検出器などのセンサ、お
よび事実上あらゆる他のディジタル装置が含まれる。
【0043】本発明に関連して使用することができるウ
ェアラブル・コンピュータの他の例が、「スモール・ウ
ォレット(smart wallet)」コンピュータ、宝石、また
は衣類などのコンピュータ様ハードウェアを備えた所持
品である。「スモール・ウォレット」コンピュータのほ
かに、ウェアラブル・コンピュータの多数の他の変形形
態がある。「ベルト」コンピュータは、ユーザが移動中
に文書のサーフィン、口述筆記、および編集を行えるよ
うにする、そのような変形形態である。もう1つの例
が、小学生の携帯情報端末に相当する子供のコンピュー
タである。子供のコンピュータは、宿題を保持し、計算
を実行し、子供が宿題を管理するのを助けることができ
る。子供のコンピュータは、他の子供のコンピュータと
インターフェースして共同作業を促進することができ、
教師のコンピュータにアクセスして宿題またはフィード
バックをダウンロードすることができる。ウェアラブル
・デバイスまたはポータブル・デバイス、オフィス・ツ
ールまたはオフィス機器、家庭のツールまたは機器、自
動車内で使用するシステム、または、公共の場で使用す
るシステム(自動販売機、券売機、自動預金支払機)
を、本発明に関連して使用することができる。
【0044】本発明の理解を助けるために、図1に、コ
ンピュータ2の高水準ブロック図を示す。
【0045】コンピュータ2には、1つまたは複数の中
央処理装置(CPU)6、ランダム・アクセス・メモリ
(RAM)8、および入出力(I/O)インターフェー
ス10などのハードウェア構成要素4が含まれる。コン
ピュータ2には、オペレーティング・システム20も含
まれる。2次ストレージ装置12(ハード・ディスクな
ど)、入力装置14(キーボード、マウス、タッチ・ス
クリーン、マイクロフォン、赤外線受信器、またはRF
受信器など)、表示装置16(モニタ、またはLCDデ
ィスプレイなど)、および出力装置18(プリンタ、赤
外線送信器、またはRF送信器など)などのさまざまな
周辺装置が、コンピュータ2に接続される。スマートカ
ード・デバイスも、入出力装置14、18に結合するこ
とができる。複数のプログラム22、24、および26
が、コンピュータ2内で実行される。プログラム22、
24、および26は、コンピュータ2内で順次実行する
ことができるが、コンピュータ・システム2内で並列に
実行されることが好ましい。
【0046】ハードウェア構成要素4およびオペレーテ
ィング・システム20が、セキュアで信頼されるコンピ
ューティングの基礎を構成する信頼コンピューティング
基盤TCBを形成する。信頼コンピューティング基盤内
に、プログラム固有識別子を作成するジェネレータ・モ
ジュール21が実施される。このジェネレータ・モジュ
ール21は、基本的に、ソフトウェアならびにハードウ
ェアで実施することができる暗号関数ジェネレータ21
である。ハッシュ関数、好ましくは上で述べた一方向ハ
ッシュ関数の適用によるハッシュ値の生成は、プロセッ
サにとって時間を消費しないので、暗号関数ジェネレー
タ21は、オペレーティング・システム20自体の中で
実施することができる。実質的に一意の値を出力するも
のであれば、どの暗号関数でも適する。
【0047】図1に関連して説明したコンピュータ2の
構造は、以下の実施形態で使用することができる、基礎
となる装置とみなされる。
【0048】さらに図2を参照するが、図2は、メッセ
ージの交換を示す高水準概略図である。いくつかの基本
を、以下で説明する。メッセージ・オリジネータ・プロ
グラムDが、別のプログラム、ここではメッセージ・レ
シーバ・プログラムSとの通信を求めている。メッセー
ジ・レシーバ・プログラムSは、1つまたは複数のプロ
グラム固有識別子を知っている。これらの識別子は、事
前に記憶するかキャッシュ記憶することができ、オペレ
ーティング・システム20に既知にすることもできる。
まず、メッセージ・オリジネータ・プログラムDが、メ
ッセージ・レシーバ・プログラムSに、メッセージ内で
要求mを送る。これによって、オペレーティング・シス
テム20の一部としてのジェネレータ・モジュール21
が、メッセージ・オリジネータ・プログラムDからプロ
グラム固有識別子H(D)を導出し、H(D)、mとい
う符号を付された矢印によって示されるように、このプ
ログラム固有識別子H(D)をメッセージに追加する。
【0049】一般に、オペレーティング・システム20
は、メッセージ・オリジネータ・プログラムによってメ
ッセージ・レシーバ・プログラムに送られるすべての要
求に、メッセージ・レシーバ・プログラムによって検証
または識別することができるメッセージ・オリジネータ
・プログラムのめいめいのプログラム固有識別子を追加
する。
【0050】図を簡単にするために、ジェネレータ・モ
ジュール21は、図2に図示されていない。プログラム
固有識別子H(D)は、メッセージ・オリジネータ・プ
ログラムDから事前に格納することもできる。プログラ
ム固有識別子H(D)および要求mを含むメッセージを
受け取った後に、メッセージ・レシーバ・プログラムS
は、プログラム固有識別子H(D)の抽出を試み、これ
を既知の識別子を用いて検証する。プログラム固有識別
子H(D)が、メッセージ・レシーバ・プログラムSに
既知である(これを箱S内のH(D)によって示す)場
合には、メッセージ・レシーバ・プログラムSは、メッ
セージ・オリジネータ・プログラムDとのその後の通信
を受け入れる。そのために、メッセージ・レシーバ・プ
ログラムSは、応答nおよびそのプログラム固有識別子
H(S)(応答プログラム固有識別子H(S)とも称す
る)を含む応答メッセージを、箱Sから箱Dへの矢印に
よって示されるように、メッセージ・オリジネータ・プ
ログラムDに送る。それに関して、応答プログラム固有
識別子H(S)は、オペレーティング・システム20に
よって供給される。メッセージ・オリジネータ・プログ
ラムDおよびメッセージ・レシーバ・プログラムSは、
ネットワークを介して接続可能な異なるコンピュータま
たはシステム上で実行することができるので、各プログ
ラムDおよびSは、プログラム固有識別子を提供する各
プログラムの信頼コンピューティング基盤を有すること
ができる。ネットワークへの接続は、ワイヤ、赤外線、
無線などの当技術分野で既知の手段によって提供され
る。
【0051】以下では、本発明のさまざまな例示的実施
形態を説明する。
【0052】図3に、鍵を使用する購入シナリオの概略
図を示す。信頼コンピューティング基盤に基づき、それ
と共にオペレーティング・システム20上で、ここでブ
ラウズB、表示D、および署名Sと呼ぶ、コンパートメ
ント内の複数のプログラムまたはアプリケーションが稼
動する。この実施形態の基礎になる概念は、誰でも何か
を要求することができなければならないということであ
る。表示Dおよび署名Sは、セキュア・コンパートメン
ト内で稼動し、したがって、信頼できるが、ブラウズB
はそうではないので、ブラウズBまたは他のプログラム
は、表示Dに要求を送ることができる。
【0053】たとえば、署名が必要な時には、文書がセ
キュア・コンパートメントの表示Dおよび署名Sに渡さ
れ、表示、許可、および署名生成が行われる。この方式
のセキュリティは、署名Sおよび表示Dのコンパートメ
ントと、それがユーザに情報を表示する能力と、署名コ
ンパートメントが表示Dからの要求を受け入れる能力だ
けに依存する。署名Sは、箱S内に示されている署名鍵
kへのアクセスだけを必要とする。
【0054】ユーザにデータを表示する表示Dコンパー
トメントの能力は、2つの主な前提すなわち、コンパー
トメントに表示Dに対するリソース・ロックを含めるこ
とができることと、データ自体が単一の明瞭に定義され
た意味を有することを有する。表示Dをロックする能力
は、トロイの木馬の脅威を減らすのに有用である。シス
テム・リソースに対する排他ロックの許可によって、悪
意を持ったコードが、システムをソフト的またはハード
的のいずれかでロックし、これによってサービス拒否攻
撃を計画的に実施できるようになる。すべてのシステム
・ロックがソフト・ロックになることを強制できると仮
定すると、この脅威は、人の関心を引かなくなる。した
がって、主な問題は、システムが十分な数のリソースを
ロックできなければならないということになる。これら
のリソースには、ディスプレイ、タッチ・スクリーン、
さまざまな他のI/Oデバイス、メモリ・ページなどが
含まれる。
【0055】署名Sは、その鍵kを保護でき、管理でき
なければならず、文書に署名する要求がブラウズBから
のものであることを保証できなければならない。これら
のデータの保護および管理は、これらのデータが、署名
の外部インターフェースを介してのみ他のコンパートメ
ントからアクセス可能にならなければならないことを意
味する。これによって、システムのいくつかの低水準特
性が暗示される。すなわち、システムは、メモリへの生
のアクセスを許可してはならず、メッセージの保全性
(IPC)が維持されなければならず、システム・リソ
ースへのアクセスが、完全な特権を使用しないことであ
る。
【0056】上で説明した、コンパートメントごとのプ
ログラム固有識別子を生成する方式を使用することによ
って、命名システムが提供され、その結果、コンパート
メントの間に明瞭に定義された相違が存在することにな
る。
【0057】ユーザが、品目を選択し、購入したいと思
っていると仮定する。品目は、ブラウザBを使用して選
択することができ、このブラウザBは、図1に関して示
したコンピュータに基づくことができるPDA(携帯情
報端末)上で稼動するWAP(Wireless Applications
Protocol)のブラウザである。ブラウザは、信頼されな
いユーザによって供給される複合データを操作する極度
に洗練されたソフトウェアである。しかし、ブラウザB
が、支払い許可の条件について表示Dおよび署名Sに渡
される要求を生成することが可能である。そのため、ブ
ラウザBは、メッセージ内の文書に署名する要求mを表
示Dに送り、これによって、オペレーティング・システ
ム20が、要求mにブラウザBのプログラム固有識別子
H(B)を付加する。これは、H(B)、mという符号
を付された矢印によって示されている。
【0058】ブラウザBと比較して小さいソフトウェア
である表示Dは、H(D)、mという符号を付された矢
印によって示されるように、要求mをそのプログラム固
有識別子H(D)と共に転送する。署名コンパートメン
トである署名Sは、スマートカードとすることができる
が、それが知っているプログラム固有識別子を用いて受
け取ったメッセージを検証する。プログラム固有識別子
H(D)が、署名Sに既知である(これは箱SのH
(D)によって示される)時には、要求mが受け入れら
れる。さらに、表示Dが、正しく記述されている場合に
は、署名Sは、ユーザによって許可された文書だけにつ
いて署名を生成する。
【0059】鍵kの下での要求mに対する署名を、k-1
と表す。署名Sは、要求mに署名し、それをそのプログ
ラム固有識別子と共に表示Dに送る。これは、H
(S)、k -1mという符号を付された矢印によって示さ
れている。さらに、表示Dは、H(D)、k-1mという
符号を付された矢印によって示されているように、その
プログラム固有識別子と共に、署名された要求をブラウ
ザBに渡す。
【0060】図4に、ハッシュを使用するアクセス制御
を有するファイル・システム・オブジェクトの概略図を
示す。当然、異なるアプリケーション(以下ではオブジ
ェクトとも称する)が、データを共用する必要がある。
図4には、永続オブジェクトすなわち、オブジェクト
A、オブジェクトF、およびオブジェクトGが示されて
おり、オブジェクトAおよびオブジェクトGは、信頼さ
れるオブジェクトであるオブジェクトFに接続されてい
る。さらに、オブジェクトFは、オブジェクトAの項目
だけを有するアクセス制御リスト40を有する。オブジ
ェクトFは、それぞれH(A)、r(n1)およびH
(G)、r(n2)という符号を付された、オブジェク
トFに向かう矢印によって示されるように、どちらもが
めいめいのプログラム固有識別子H(A)およびH
(G)を伴う2つの読取要求r(n1)およびr(n2
を受け取る。第1の要求r(n1)は、オブジェクトA
から来るものであり、オブジェクトFのアクセス制御リ
スト40に現れる。これは、許可され、H(F)、d1
という符号を付された矢印によって示されるように、オ
ブジェクトFによってd1が返される。第2の要求r
(n2)は、オブジェクトGから来るものであり、オブ
ジェクトFのアクセス制御リスト40には現れない。し
たがって、第2の要求r(n2)は拒否され、H
(F)、0という符号を付された矢印によって示される
ように、ヌルが返される。読取特権と書込特権について
異なるアクセス制御リストを保持することができる。
【0061】一般に、豊富なメソッドのセットを有する
より複雑なオブジェクトFが、同一のタイプの構成を使
用して、所望のアクセス制御ポリシを実施することがで
きる。
【0062】図4には、信頼されるオブジェクトの集合
を更新することが許可されない静的セットアップが示さ
れているが、図5に、図4の構成に基づく、動的セット
アップのためのファイル・システム・オブジェクトを示
す。
【0063】図5の構成は、ディジタル署名を使用して
更新することができる。したがって、オブジェクトF
は、箱Fに示されているように、公開鍵Kを有する。オ
ブジェクトFおよびオブジェクトGは、第1オペレーテ
ィング・システム42に基づき、オブジェクトCとも称
するヘルパ・アプリケーションは、当技術分野で既知の
チャネル46によって接続される第2オペレーティング
・システム44に基づく。第1オペレーティング・シス
テム42は、ユーザ側で稼動し、第2オペレーティング
・システム44は、開発者または信頼される当事者側で
稼動する。オブジェクトCは、オブジェクトFへのk-1
H(G)の配布に使用され、このk-1は秘密鍵であり、
オブジェクトFは、署名の有効性を検証し、オブジェク
トGのプログラム固有識別子H(G)をアクセス制御リ
スト40に追加する。めいめいの矢印によって示される
ように、オブジェクトGからオブジェクトFへのH
(G)、r(n1)などのアクセス要求が、オブジェク
トFによって許可されるようになり、オブジェクトF
は、H(F)、d1を返す。
【0064】この構成は、署名が有効である限り、ディ
ジタル署名を担持するものが信頼される必要はないとい
う事実に依存する。
【0065】まさにこの事実を使用して、ヘルパ・アプ
リケーションを使用する任意の複雑さを有する信頼関係
をセット・アップすることができる。
【0066】図6は、オブジェクトAとオブジェクトG
の間の相互信頼(MT)関係をセット・アップするの
に、ここでもオブジェクトCであるヘルパ・アプリケー
ションを使用する実施形態の概略図を示す。オブジェク
トAおよびGの両方が、それぞれオブジェクトAおよび
Gの下に示されているように、公開鍵kおよびそれ自体
の固有のアクセス制御リストを有する。ヘルパ・アプリ
ケーションとしてオブジェクトCを使用すると、オブジ
ェクトCは、そのプログラム固有識別子H(C)と共に
-1H(G)をオブジェクトAに配布し、オブジェクト
Aは、署名の有効性を検証し、そのアクセス制御リスト
にプログラム固有識別子H(G)を追加する。その一方
で、オブジェクトCは、そのプログラム固有識別子H
(C)と共にk-1H(A)をオブジェクトGに配布し、
オブジェクトGは、署名の有効性を検証し、そのアクセ
ス制御リストにプログラム固有識別子H(A)を追加す
る。その後の通信について、オブジェクトAは、オブジ
ェクトGに直接に連絡でき、その逆も可能である。とい
うのは、オブジェクトAおよびGが、箱AおよびGの間
の破線によって示されるように、お互いを知り、信頼す
るからである。
【0067】図6に関連して説明した方式は、鍵、証明
書、開発者登録などの御しにくいヒエラルキーを必要と
する従来のコード署名と同一ではない。この方式は、コ
ード署名を使用してシステム特権を判定するのではな
く、開発者ソフトウェア仲間の証明書として署名を使用
する。
【0068】これが有用になる可能性がある例が、銀行
が、共通鍵を共用することを望む複数の支払方式を有す
る場合である。個々の構成要素を、個別に更新すること
ができる。
【0069】下の実施形態で、暗号関数に基づくアクセ
ス制御機能を使用する、ディジタル署名を使用する支払
システムの設計を説明する。このシステムは、WAP自
体のセキュリティに依存せずにWAPを介して使用され
るように設計されている。下記で、複数のステップを示
す。
【0070】グローバル・セットアップ 銀行の初期セットアップは、非常に侵入的ではない。と
いうのは、銀行が、装置を作成したものすなわち、PD
Aまたはコンピュータの製造業者と連絡する必要がない
からである。
【0071】1.銀行は、個々のユーザ鍵に署名するた
めの公開鍵/秘密鍵対を生成する。この鍵対を、mk/
mk-1と表す。これは、銀行のマスタ鍵またはその派生
物とすることができる。
【0072】2.銀行が、銀行のアプリケーション・ス
イートへのメンバシップを識別するための公開鍵/秘密
鍵対を生成する。この鍵対を、ak/ak-1と表す。
【0073】3.銀行が、公開鍵mkおよびakを含む
署名プログラムSを記述する。
【0074】4.さらに、銀行が、図3に関連して説明
したものなどの表示プログラムDを記述する。このプロ
グラムは、署名されるもの、たとえば、払受人、金額、
日付、および説明などを、その簡単な説明として受け入
れる。表示プログラムDは、その後、物理表示装置をロ
ックし、その後、必要な情報をユーザに表示する。ユー
ザが同意する場合には、表示プログラムDは、ロックを
解放し、図3に関連して述べたものなどの条件が署名プ
ログラムSに渡される。
【0075】5.銀行は、図6に関連して示したよう
に、ak-1H(D)を計算し、これをヘルパまたは登録
プログラムCに配置する。
【0076】個々のセットアップ 銀行が、ユーザ用の鍵を生成し、配布することを望むと
仮定する。
【0077】1.ユーザUのそれぞれについて、銀行
が、鍵対uk/uk-1と、署名された鍵対mk-1(uk
/uk-1)を担持するアプリケーションCUとを生成す
る。
【0078】2.銀行が、ユーザUに表示プログラム
D、署名プログラムS、登録プログラムC、およびアプ
リケーションCUを提供する。アプリケーションCUだ
けが、ユーザUに依存し、秘密を必要とする唯一の構成
要素である。銀行は、秘密を何らかの形で分割すること
を望む場合がある。
【0079】3.その後、ユーザUが、上のステップで
述べたアプリケーションをインストールし、システム
が、めいめいのプログラム固有識別子H(D)、H
(S)、H(C)、およびH(CU)に対応する4つの
新しいセキュリティ・ドメインを自動的にセット・アッ
プする。
【0080】4.ユーザUが、アプリケーションCUを
実行し、アプリケーションCUが、mk-1(uk/uk
-1)を含むメッセージを署名プログラムSに送る。署名
プログラムSは、鍵mkを使用して、uk/uk-1が有
効なユーザ鍵であることを検証する。その後、アプリケ
ーションCUが、登録プログラムCを呼び出し、アプリ
ケーションCU自体はもはや不要なのでそれ自体を削除
する。登録プログラムCは、ak-1H(D)を含むメッ
セージを署名プログラムSに送る。次に、署名プログラ
ムSが、akを使用して、表示プログラムDが信頼され
るアプリケーションであるかどうかを検証する。したが
って、署名プログラムSは、表示プログラムDを信頼す
る。
【0081】アプリケーションまたはプログラムは、W
APブラウザとして、署名の生成を望む時に、表示およ
び承認のためにテキストまたは文書を表示プログラムD
に渡す。ユーザUが承認する場合には、その要求が、署
名プログラムSに渡され、署名プログラムSがそれに署
名する。署名プログラムSは、要求が信頼される表示プ
ログラムDから来たので、その要求がユーザの望みを反
映していることを知る。署名は、最終的に、最初のアプ
リケーションに返される。
【0082】銀行が、たとえばホーム・バンキング用な
どの、署名プログラムSによって信頼される新しいアプ
リケーションNを生成することを望む場合には、銀行
は、ak-1H(N)を担持するヘルパ・アプリケーショ
ンC’を生成するだけでよい。
【0083】スマートカード 銀行が、スマートカードを使用して、ユーザの鍵対の秘
密部分を保護することを望む場合には、「個々のセット
アップ」を次のように変更することができる。
【0084】1.ユーザUsのそれぞれについて、銀行
が、鍵対uk/uk-1を生成し、それをスマートカード
に格納する。この鍵対uk/uk-1に、銀行のマスタ鍵
を用いて署名することができるmk-1(uk/u
-1)。
【0085】2.銀行が、ユーザUsに、少なくとも表
示プログラムDおよび登録プログラムCを供給する。
【0086】3.その後、ユーザUsが、上のステップ
で述べたアプリケーションをインストールし、システム
が、めいめいのプログラム固有識別子H(D)およびH
(C)に対応する2つの新しいセキュリティ・ドメイン
を自動的にセット・アップする。
【0087】4.ユーザUsが、登録プログラムCを実
行し、登録プログラムCが、ak-1H(D)を含むメッ
セージをスマートカードに送る。スマートカードは、a
kを使用して、表示プログラムDが信頼されるアプリケ
ーションであることを検証し、したがって、以後、表示
プログラムDを信頼する。
【0088】表示プログラムDが、スマートカードに要
求を送る時には、その要求が、表示プログラムDのプロ
グラム固有識別子H(D)と共に配布される。
【0089】開示された実施形態のいずれもが、1つま
たは複数の図示または説明された他の実施形態と組み合
わせることができる。これは、実施形態の1つまたは複
数の特徴についても可能である。
【0090】本発明は、ハードウェア、ソフトウェア、
またはハードウェアおよびソフトウェアの組合せで実現
することができる。あらゆる種類のコンピュータ・シス
テムまたは、本明細書で説明した方法を実行するように
適合された他の装置が、適する。ハードウェアおよびソ
フトウェアの通常の組合せは、ロードされ実行される時
に本明細書で説明した方法を実行するようにコンピュー
タ・システムを制御するコンピュータ・プログラムを伴
う汎用コンピュータ・システムとすることができる。本
発明は、本明細書で説明した方法の実施形態を可能にす
るすべての特徴を含み、コンピュータ・システムにロー
ドされた時にこれらの方法を実行することができる、コ
ンピュータ・プログラム製品で実施することもできる。
【0091】この文脈でのコンピュータ・プログラム手
段またはコンピュータ・プログラムは、情報処理能力を
有するシステムに、直接に、または、a)別の言語、コ
ード、または表記への変換と、b)異なる材料形態での
再生産との一方または両方の後にのいずれかで、特定の
機能を実行させることを意図された命令のセットの、あ
らゆる言語、コード、または表記での表現を意味する。
【0092】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0093】(1)メッセージ・レシーバ・プログラム
(S)によってメッセージ・オリジネータ・プログラム
(D)の同一性を検証する方法であって、 ・信頼コンピューティング基盤(TCB)によって前記
メッセージ・オリジネータ・プログラム(D)に供給さ
れた、プログラム固有識別子(H(D))を含むメッセ
ージを前記メッセージ・オリジネータ・プログラム
(D)から受け取るステップと、 ・前記受け取ったプログラム固有識別子(H(D))が
前記メッセージ・レシーバ・プログラム(S)に既知で
あるかどうかを検証するステップとを含む方法。 (2)メッセージ・レシーバ・プログラム(S)に対し
てメッセージ・オリジネータ・プログラム(D)の同一
性を開示する方法であって、 ・信頼コンピューティング基盤(TCB)によって前記
メッセージ・オリジネータ・プログラム(D)に供給さ
れたプログラム固有識別子(H(D))を含むメッセー
ジを前記メッセージ・オリジネータ・プログラム(D)
から前記メッセージ・レシーバ・プログラム(S)に送
ることであって、上記プログラム固有識別子(H
(D))が、それが前記メッセージ・レシーバ・プログ
ラム(S)に既知であるかどうかを前記メッセージ・レ
シーバ・プログラム(S)側で検証可能である、送るこ
とを含む方法。 (3)メッセージ・レシーバ・プログラム(S)によっ
てメッセージ・オリジネータ・プログラム(D)の同一
性を検証する方法であって、 ・信頼コンピューティング基盤(TCB)によって前記
メッセージ・オリジネータ・プログラム(D)にプログ
ラム固有識別子(H(D))を供給するステップと、前
記プログラム固有識別子(H(D))を含むメッセージ
を前記メッセージ・オリジネータ・プログラム(D)か
ら前記メッセージ・レシーバ・プログラム(S)に送る
ステップと、 ・前記メッセージ・レシーバ・プログラム(S)側で前
記メッセージを受け取るステップと、 ・前記受け取ったプログラム固有識別子(H(D))が
前記メッセージ・レシーバ・プログラム(S)に既知で
あるかどうかを検証するステップとを含む方法。 (4)メッセージ・レシーバ・プログラム(S)が、そ
の後、応答メッセージ・オリジネータ・プログラムにな
り、 ・上記信頼コンピューティング基盤(TCB)によって
前記応答メッセージ・オリジネータ・プログラムに供給
された応答プログラム固有識別子(H(S))と、 ・上記プログラム固有識別子(H(D))が既知として
検証されたかどうかの肯定応答とを含む応答メッセージ
をメッセージ・オリジネータ・プログラム(D)に送
る、上記(1)ないし(3)のいずれか一項に記載の方
法。 (5)好ましくはハッシュ関数、より好ましくはMD5
またはSHA−1などの一方向ハッシュ関数である暗号
関数(H)をメッセージ・オリジネータ・プログラム
(D)に適用することによって導出される実質的に一意
の暗号識別子が、プログラム固有識別子(H(D))と
して使用される、上記(1)ないし(3)のいずれか一
項に記載の方法。 (6)異なるプログラムの間の信頼を確立するために、
秘密暗号鍵(k-1)の使用によって、プログラム固有識
別子(H(D))またはメッセージもしくはその両方に
署名するステップをさらに含む、上記(1)ないし
(3)のいずれか一項に記載の方法。 (7)上記メッセージが、さらに、追加プログラムの信
頼関係でのメンバシップを確立するために、秘密暗号鍵
(k-1)の使用によって署名される、追加のプログラム
固有識別子(H(G))を含む、上記(6)に記載の方
法。 (8)上記メッセージ・レシーバ・プログラム(S)
が、公開暗号鍵(k)を有する、上記(1)ないし
(3)のいずれか一項に記載の方法。 (9)上記メッセージ・レシーバ・プログラム(S)ま
たは信頼コンピューティング基盤(TCB)もしくはそ
の両方が、事前に格納されたプログラム固有識別子を含
むリストを使用し、前記メッセージ・レシーバ・プログ
ラム(S)が、上記プログラム固有識別子(H(D))
が前記事前に格納されたプログラム固有識別子の1つと
同一であるかどうかを検証する、上記(1)ないし
(3)のいずれか一項に記載の方法。 (10)上記メッセージ・レシーバ・プログラム(S)
が、上記プログラム固有識別子(H(D))が既知とし
て検証されない場合に、拒否メッセージを送る、上記
(1)ないし(3)のいずれか一項に記載の方法。 (11)上記メッセージ・オリジネータ・プログラム
(D)およびメッセージ・レシーバ・プログラム(S)
が、異なるシステム上で実行され、ネットワークを介し
て接続可能であり、それぞれが、プログラム固有暗号識
別子を提供するためのその信頼コンピューティング基盤
(TCB)を有する、上記(1)ないし(3)のいずれ
か一項に記載の方法。 (12)コンピュータ上で実行される時に、上記(1)
ないし(11)のいずれか一項に記載のステップを実行
するプログラム・コード手段を含むコンピュータ・プロ
グラム。 (13)コンピュータ上で実行される時に、上記(1)
ないし(11)のいずれか一項に記載の方法を実行す
る、コンピュータ可読媒体に格納されたプログラム・コ
ード手段を含むコンピュータ・プログラム製品。 (14)コンピュータ上でメッセージ・レシーバ・プロ
グラム(S)によってメッセージ・オリジネータ・プロ
グラム(D)の同一性を検証する装置であって、 ・計算手段と、 ・信頼コンピューティング基盤(TCB)によって前記
メッセージ・オリジネータ・プログラム(D)に供給さ
れたプログラム固有識別子(H(D))を含むメッセー
ジを前記メッセージ・オリジネータ・プログラム(D)
から受け取るレシーバ・モジュールと、 ・前記プログラム固有識別子(H(D))が前記メッセ
ージ・レシーバ・プログラム(S)に既知であるかどう
かを検証するベリファイヤ・モジュールとを含む装置。 (15)コンピュータ上でメッセージ・レシーバ・プロ
グラム(S)によってメッセージ・オリジネータ・プロ
グラム(D)の同一性を開示する装置であって、 ・計算手段と、 ・プログラム固有識別子(H(D))を作成するための
ジェネレータ・モジュールを含む信頼コンピューティン
グ基盤(TCB)と、 ・前記プログラム固有識別子(H(D))を含むメッセ
ージを前記メッセージ・オリジネータ・プログラム
(D)から送るセンダ・モジュールであって、前記プロ
グラム固有識別子(H(D))が、それが前記メッセー
ジ・レシーバ・プログラム(S)に既知であるかどうか
を前記メッセージ・レシーバ・プログラム(S)側で検
証可能である、センダ・モジュールとを含む装置。
【図面の簡単な説明】
【図1】コンピュータ・システムのブロック図である。
【図2】本発明によるメッセージの交換を示す概略図で
ある。
【図3】鍵を使用する購入シナリオを示す概略図であ
る。
【図4】ハッシュを使用するアクセス制御を有するファ
イル・システム・オブジェクトを示す概略図である。
【図5】ディジタル署名を使用する動的セットアップの
ための、図4のファイル・システム・オブジェクトを示
す図である。
【図6】相互信頼関係をセット・アップするのにヘルパ
・アプリケーションを使用する実施形態を示す概略図で
ある。
【符号の説明】
2 コンピュータ 4 ハードウェア構成要素 6 中央処理装置(CPU) 8 ランダム・アクセス・メモリ(RAM) 10 入出力(I/O)インターフェース 12 2次ストレージ装置 14 入力装置 16 表示装置 18 出力装置 20 オペレーティング・システム 21 ジェネレータ・モジュール 22 プログラム 24 プログラム 26 プログラム 40 アクセス制御リスト 42 第1オペレーティング・システム 44 第2オペレーティング・システム 46 チャネル

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】メッセージ・レシーバ・プログラム(S)
    によってメッセージ・オリジネータ・プログラム(D)
    の同一性を検証する方法であって、 ・信頼コンピューティング基盤(TCB)によって前記
    メッセージ・オリジネータ・プログラム(D)に供給さ
    れた、プログラム固有識別子(H(D))を含むメッセ
    ージを前記メッセージ・オリジネータ・プログラム
    (D)から受け取るステップと、 ・前記受け取ったプログラム固有識別子(H(D))が
    前記メッセージ・レシーバ・プログラム(S)に既知で
    あるかどうかを検証するステップとを含む方法。
  2. 【請求項2】メッセージ・レシーバ・プログラム(S)
    に対してメッセージ・オリジネータ・プログラム(D)
    の同一性を開示する方法であって、 ・信頼コンピューティング基盤(TCB)によって前記
    メッセージ・オリジネータ・プログラム(D)に供給さ
    れたプログラム固有識別子(H(D))を含むメッセー
    ジを前記メッセージ・オリジネータ・プログラム(D)
    から前記メッセージ・レシーバ・プログラム(S)に送
    ることであって、上記プログラム固有識別子(H
    (D))が、それが前記メッセージ・レシーバ・プログ
    ラム(S)に既知であるかどうかを前記メッセージ・レ
    シーバ・プログラム(S)側で検証可能である、送るこ
    とを含む方法。
  3. 【請求項3】メッセージ・レシーバ・プログラム(S)
    によってメッセージ・オリジネータ・プログラム(D)
    の同一性を検証する方法であって、 ・信頼コンピューティング基盤(TCB)によって前記
    メッセージ・オリジネータ・プログラム(D)にプログ
    ラム固有識別子(H(D))を供給するステップと、 ・前記プログラム固有識別子(H(D))を含むメッセ
    ージを前記メッセージ・オリジネータ・プログラム
    (D)から前記メッセージ・レシーバ・プログラム
    (S)に送るステップと、 ・前記メッセージ・レシーバ・プログラム(S)側で前
    記メッセージを受け取るステップと、 ・前記受け取ったプログラム固有識別子(H(D))が
    前記メッセージ・レシーバ・プログラム(S)に既知で
    あるかどうかを検証するステップとを含む方法。
  4. 【請求項4】メッセージ・レシーバ・プログラム(S)
    が、その後、応答メッセージ・オリジネータ・プログラ
    ムになり、 ・上記信頼コンピューティング基盤(TCB)によって
    前記応答メッセージ・オリジネータ・プログラムに供給
    された応答プログラム固有識別子(H(S))と、 ・上記プログラム固有識別子(H(D))が既知として
    検証されたかどうかの肯定応答とを含む応答メッセージ
    をメッセージ・オリジネータ・プログラム(D)に送
    る、請求項1ないし3のいずれか一項に記載の方法。
  5. 【請求項5】好ましくはハッシュ関数、より好ましくは
    MD5またはSHA−1などの一方向ハッシュ関数であ
    る暗号関数(H)をメッセージ・オリジネータ・プログ
    ラム(D)に適用することによって導出される実質的に
    一意の暗号識別子が、プログラム固有識別子(H
    (D))として使用される、請求項1ないし3のいずれ
    か一項に記載の方法。
  6. 【請求項6】異なるプログラムの間の信頼を確立するた
    めに、秘密暗号鍵(k-1)の使用によって、プログラム
    固有識別子(H(D))またはメッセージもしくはその
    両方に署名するステップをさらに含む、請求項1ないし
    3のいずれか一項に記載の方法。
  7. 【請求項7】上記メッセージが、さらに、追加プログラ
    ムの信頼関係でのメンバシップを確立するために、秘密
    暗号鍵(k-1)の使用によって署名される、追加のプロ
    グラム固有識別子(H(G))を含む、請求項6に記載
    の方法。
  8. 【請求項8】上記メッセージ・レシーバ・プログラム
    (S)が、公開暗号鍵(k)を有する、請求項1ないし
    3のいずれか一項に記載の方法。
  9. 【請求項9】上記メッセージ・レシーバ・プログラム
    (S)または信頼コンピューティング基盤(TCB)も
    しくはその両方が、事前に格納されたプログラム固有識
    別子を含むリストを使用し、前記メッセージ・レシーバ
    ・プログラム(S)が、上記プログラム固有識別子(H
    (D))が前記事前に格納されたプログラム固有識別子
    の1つと同一であるかどうかを検証する、請求項1ない
    し3のいずれか一項に記載の方法。
  10. 【請求項10】上記メッセージ・レシーバ・プログラム
    (S)が、上記プログラム固有識別子(H(D))が既
    知として検証されない場合に、拒否メッセージを送る、
    請求項1ないし3のいずれか一項に記載の方法。
  11. 【請求項11】上記メッセージ・オリジネータ・プログ
    ラム(D)およびメッセージ・レシーバ・プログラム
    (S)が、異なるシステム上で実行され、ネットワーク
    を介して接続可能であり、それぞれが、プログラム固有
    暗号識別子を提供するためのその信頼コンピューティン
    グ基盤(TCB)を有する、請求項1ないし3のいずれ
    か一項に記載の方法。
  12. 【請求項12】コンピュータ上で実行される時に、請求
    項1ないし11のいずれか一項に記載のステップを実行
    するプログラム・コード手段を含むコンピュータ・プロ
    グラム。
  13. 【請求項13】コンピュータ上で実行される時に、請求
    項1ないし11のいずれか一項に記載の方法を実行す
    る、コンピュータ可読媒体に格納されたプログラム・コ
    ード手段を含むコンピュータ・プログラム製品。
  14. 【請求項14】コンピュータ上でメッセージ・レシーバ
    ・プログラム(S)によってメッセージ・オリジネータ
    ・プログラム(D)の同一性を検証する装置であって、 ・計算手段と、 ・信頼コンピューティング基盤(TCB)によって前記
    メッセージ・オリジネータ・プログラム(D)に供給さ
    れたプログラム固有識別子(H(D))を含むメッセー
    ジを前記メッセージ・オリジネータ・プログラム(D)
    から受け取るレシーバ・モジュールと、 ・前記プログラム固有識別子(H(D))が前記メッセ
    ージ・レシーバ・プログラム(S)に既知であるかどう
    かを検証するベリファイヤ・モジュールとを含む装置。
  15. 【請求項15】コンピュータ上でメッセージ・レシーバ
    ・プログラム(S)によってメッセージ・オリジネータ
    ・プログラム(D)の同一性を開示する装置であって、 ・計算手段と、 ・プログラム固有識別子(H(D))を作成するための
    ジェネレータ・モジュールを含む信頼コンピューティン
    グ基盤(TCB)と、 ・前記プログラム固有識別子(H(D))を含むメッセ
    ージを前記メッセージ・オリジネータ・プログラム
    (D)から送るセンダ・モジュールであって、前記プロ
    グラム固有識別子(H(D))が、それが前記メッセー
    ジ・レシーバ・プログラム(S)に既知であるかどうか
    を前記メッセージ・レシーバ・プログラム(S)側で検
    証可能である、センダ・モジュールとを含む装置。
JP2001066298A 2000-03-15 2001-03-09 コンピュータ用のアクセス制御 Expired - Fee Related JP3731867B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00105529 2000-03-15
EP00105529.2 2000-03-15

Publications (2)

Publication Number Publication Date
JP2001282375A true JP2001282375A (ja) 2001-10-12
JP3731867B2 JP3731867B2 (ja) 2006-01-05

Family

ID=8168110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001066298A Expired - Fee Related JP3731867B2 (ja) 2000-03-15 2001-03-09 コンピュータ用のアクセス制御

Country Status (3)

Country Link
US (1) US7134018B2 (ja)
JP (1) JP3731867B2 (ja)
KR (1) KR100430147B1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005595A (ja) * 2002-04-17 2004-01-08 Microsoft Corp 公開鍵暗号化に基づくデータの保存および検索
JP2004038939A (ja) * 2002-04-17 2004-02-05 Microsoft Corp 対称鍵暗号化に基づくデータの保存および検索
US8171295B2 (en) 2003-12-02 2012-05-01 International Business Machines Corporation Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process
JP2014222522A (ja) * 2009-10-15 2014-11-27 インターデイジタル パテント ホールディングス インコーポレイテッド 加入方式のサービスにアクセスするための登録および資格証明ロールアウト

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2826811B1 (fr) * 2001-06-27 2003-11-07 France Telecom Procede d'authentification cryptographique
US20030084436A1 (en) * 2001-10-30 2003-05-01 Joubert Berger System and method for installing applications in a trusted environment
GB0226874D0 (en) * 2002-11-18 2002-12-24 Advanced Risc Mach Ltd Switching between secure and non-secure processing modes
CA2413690A1 (en) * 2002-12-06 2004-06-06 Ibm Canada Limited-Ibm Canada Limitee Zero knowledge document comparison between mutually distrustful parties
JP4729844B2 (ja) * 2003-10-16 2011-07-20 富士ゼロックス株式会社 サーバ装置、情報の提供方法、及びプログラム
US7711951B2 (en) * 2004-01-08 2010-05-04 International Business Machines Corporation Method and system for establishing a trust framework based on smart key devices
US7849326B2 (en) * 2004-01-08 2010-12-07 International Business Machines Corporation Method and system for protecting master secrets using smart key devices
US7565538B2 (en) * 2004-04-05 2009-07-21 Microsoft Corporation Flow token
US20060029000A1 (en) * 2004-05-14 2006-02-09 International Business Machines Corporation Connection establishment in a proxy server environment
US7788260B2 (en) 2004-06-14 2010-08-31 Facebook, Inc. Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation
US7484247B2 (en) * 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
US7409589B2 (en) * 2005-05-27 2008-08-05 International Business Machines Corporation Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor
WO2009111409A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on accessible entitlements
US20100287104A1 (en) * 2009-05-06 2010-11-11 Luc Leroy Systems and Methods for Collaborative Innovation Management
US8527989B2 (en) 2010-07-12 2013-09-03 International Business Machines Corporation Tracking loading and unloading of kernel extensions in isolated virtual space
US8397245B2 (en) 2010-07-12 2013-03-12 International Business Machines Corporation Managing loading and unloading of shared kernel extensions in isolated virtual space
US8448169B2 (en) * 2010-07-12 2013-05-21 International Business Machines Corporation Managing unique electronic identification for kernel extensions in isolated virtual space
WO2012077300A1 (ja) * 2010-12-08 2012-06-14 パナソニック株式会社 情報処理装置、及び、情報処理方法
DE102012222715B4 (de) * 2012-12-11 2020-06-04 Hyundai Motor Company Vorrichtung und Verfahren zum vorausschauenden Erkennen einer Fahrzeugkollision
US11387978B2 (en) * 2019-09-23 2022-07-12 Live Nation Entertainment, Inc. Systems and methods for securing access rights to resources using cryptography and the blockchain

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349642A (en) * 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
US5841978A (en) * 1993-11-18 1998-11-24 Digimarc Corporation Network linking method using steganographically embedded data objects
WO1996027155A2 (en) * 1995-02-13 1996-09-06 Electronic Publishing Resources, Inc. Systems and methods for secure transaction management and electronic rights protection
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US5757915A (en) * 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
US5872844A (en) * 1996-11-18 1999-02-16 Microsoft Corporation System and method for detecting fraudulent expenditure of transferable electronic assets
US5922074A (en) 1997-02-28 1999-07-13 Xcert Software, Inc. Method of and apparatus for providing secure distributed directory services and public key infrastructure
JPH1124917A (ja) 1997-06-30 1999-01-29 I N S Eng Kk コピープロテクト方法及びコンピュータ装置のコピープロテクト方式
US6073122A (en) * 1997-08-15 2000-06-06 Lucent Technologies Inc. Cryptographic method and apparatus for restricting access to transmitted programming content using extended headers
US6263432B1 (en) * 1997-10-06 2001-07-17 Ncr Corporation Electronic ticketing, authentication and/or authorization security system for internet applications
US6023764A (en) 1997-10-20 2000-02-08 International Business Machines Corporation Method and apparatus for providing security certificate management for Java Applets
WO1999044133A2 (en) 1998-02-26 1999-09-02 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6735313B1 (en) * 1999-05-07 2004-05-11 Lucent Technologies Inc. Cryptographic method and apparatus for restricting access to transmitted programming content using hash functions and program identifiers
US6748538B1 (en) * 1999-11-03 2004-06-08 Intel Corporation Integrity scanner

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683230B2 (en) 2002-04-17 2014-03-25 Microsoft Corporation Saving and retrieving data based on public key encryption
US8601286B2 (en) 2002-04-17 2013-12-03 Microsoft Corporation Saving and retrieving data based on public key encryption
US7752456B2 (en) 2002-04-17 2010-07-06 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7765397B2 (en) 2002-04-17 2010-07-27 Microsoft Corporation Generating, migrating or exporting bound keys
US9183406B2 (en) 2002-04-17 2015-11-10 Microsoft Technology Licensing, Llc Saving and retrieving data based on public key encryption
JP4689946B2 (ja) * 2002-04-17 2011-06-01 マイクロソフト コーポレーション 安全なデータを使用して情報処理を実行するシステム
JP2004038939A (ja) * 2002-04-17 2004-02-05 Microsoft Corp 対称鍵暗号化に基づくデータの保存および検索
JP4689945B2 (ja) * 2002-04-17 2011-06-01 マイクロソフト コーポレーション リソースアクセス方法
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US8589701B2 (en) 2002-04-17 2013-11-19 Microsoft Corporation Saving and retrieving data based on public key encryption
JP2004005595A (ja) * 2002-04-17 2004-01-08 Microsoft Corp 公開鍵暗号化に基づくデータの保存および検索
US8621243B2 (en) 2002-04-17 2013-12-31 Microsoft Corporation Saving and retrieving data based on public key encryption
US8171295B2 (en) 2003-12-02 2012-05-01 International Business Machines Corporation Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process
US8560857B2 (en) 2003-12-02 2013-10-15 International Business Machines Corporation Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable program
JP2014222522A (ja) * 2009-10-15 2014-11-27 インターデイジタル パテント ホールディングス インコーポレイテッド 加入方式のサービスにアクセスするための登録および資格証明ロールアウト
JP2016129033A (ja) * 2009-10-15 2016-07-14 インターデイジタル パテント ホールディングス インコーポレイテッド 加入方式のサービスにアクセスするための登録および資格証明ロールアウト

Also Published As

Publication number Publication date
KR100430147B1 (ko) 2004-05-03
US20020066016A1 (en) 2002-05-30
JP3731867B2 (ja) 2006-01-05
KR20010096572A (ko) 2001-11-07
US7134018B2 (en) 2006-11-07

Similar Documents

Publication Publication Date Title
JP3731867B2 (ja) コンピュータ用のアクセス制御
KR100868121B1 (ko) 런타임 패키지 서명에서 트러스트된, 하드웨어 기반의 신원증명을 사용하여 모바일 통신과 고액 거래 실행을 보안처리하기 위한 방법
US7165179B2 (en) Digital signature verification and program transmission
US8938784B2 (en) Authorization of server operations
JP7083892B2 (ja) デジタル証明書のモバイル認証相互運用性
Karnik et al. A security architecture for mobile agents in Ajanta
KR102116235B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR19980032189A (ko) 데이터 통신 시스템
US7793097B2 (en) Extension of X.509 certificates to simultaneously support multiple cryptographic algorithms
US6996719B2 (en) Secure password entry
US20040133783A1 (en) Method for non repudiation using cryptographic signatures in small devices
EP1227386A1 (en) Access control for computers
KR20200125279A (ko) 블록 체인기반의 사용자 인증 방법, 시스템
Weeks et al. CCI-Based Web security: a design using PGP
Toth et al. The persona concept: a consumer-centered identity model
US20230038466A1 (en) Single method for blocking access threats using virtualization technology in client-server applications
Piščević Reducing E-commerce risks using digital certificates
Paci et al. An overview of VeryIDX-A privacy-preserving digital identity management system for mobile devices.
Fietkau et al. Secure Authentication for Everyone! Enabling 2nd-Factor Authentication Under Real-World Constraints
Giri et al. A Geometric-Based User Authentication Scheme for Multi-server Architecture: Cryptanalysis and Enhancement
Kehr et al. PCA: Jini-based personal card assistant
Abdullah et al. A Secure Mobile Banking Using Kerberos Protocol
CN116032616A (zh) 身份验证方法以及相关设备
Toth et al. Persona concept for privacy and authentication
Iqbal et al. Integrating Authentication method on Java Based Mobile Devices

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040826

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040826

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040826

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050511

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050511

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050616

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: 20050914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050914

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051007

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees