JPH06103058A - プログラム権限情報データ構造 - Google Patents

プログラム権限情報データ構造

Info

Publication number
JPH06103058A
JPH06103058A JP5113157A JP11315793A JPH06103058A JP H06103058 A JPH06103058 A JP H06103058A JP 5113157 A JP5113157 A JP 5113157A JP 11315793 A JP11315793 A JP 11315793A JP H06103058 A JPH06103058 A JP H06103058A
Authority
JP
Japan
Prior art keywords
program
storing
data structure
authorization
authority
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
JP5113157A
Other languages
English (en)
Other versions
JP3784423B2 (ja
Inventor
Addison M Fischer
アディソン・エム・フィッシャー
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.)
Individual
Original Assignee
Individual
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
Priority claimed from US07/883,868 external-priority patent/US5412717A/en
Application filed by Individual filed Critical Individual
Publication of JPH06103058A publication Critical patent/JPH06103058A/ja
Application granted granted Critical
Publication of JP3784423B2 publication Critical patent/JP3784423B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • 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/2149Restricted operating environment

Abstract

(57)【要約】 【目的】 ユーザ間で送信されるそれ自身のプログラム
命令を含む、複雑なデータ構造、たとえば、オブジェク
トを伴って動作する場合でさえ、信頼できるセキュリテ
ィを提供する。 【構成】 複数のプログラムを実行するための処理手段
(2)と、プログラム命令およびデータを記憶するため
のメモリ手段(7)とを有するコンピュータシステムに
おいて、プログラム権限情報データ構造は、複数の権限
エントリを記憶するための手段を含み、そのエントリは
関連のプログラムが実行することを許容される動作を資
格付け、少なくとも1つのセグメントにその権限エント
リを少なくとも1つのプログラムと関連させるためのデ
ータを記憶するための手段をさらに含む。

Description

【発明の詳細な説明】
【0001】
【発明の分野】この発明は一般にディジタル情報に向上
したセキュリティおよび保護を与えるための方法および
装置に関する。より特定的に、この発明はユーザ間で送
信されるコンピュータプログラム、特に出所が不明のプ
ログラムを処理する一方で、向上されたコンピュータシ
ステムセキュリティを与えるための方法および装置に関
する。
【0002】
【発明の背景および概要】コンピュータ「ウィルス」の
潜在的に破壊的な結果は広く一般に知られてきた。コン
ピュータウィルスは、実行された場合に、ユーザが予期
した動作だけではなく、プログラムに組込まれた予期し
ない、しばしば破壊的な動作の実行を結果としてもたら
すコンピュータプログラムという視点から見られるかも
しれない。コンピュータウィルスはまた、実行された場
合に、そのコードの一部を取出して、そのようなコード
を他のプログラムに置いてそれによって他のプログラム
を感染させるプログラムという視点から見られるかもし
れない。ウィルスはシステム内の他のプログラムを変更
し、システムに様々なトラップを設定し、様々なコント
ロールプログラムを変え、システムのファイルを消去ま
たはそうでない場合には変更などするかもしれない。
【0003】このようなウィルスはユーザのデータを予
期しない方法で損なう、調べるまたは傷をつける望まし
くない副作用を有するように典型的に悪意をもって構成
される。コンピュータウィルスに伴う問題は、ウィルス
制御プログラムがユーザがある必要なデータにアクセス
した場合に「暗黙のうちに」典型的に実行され、その結
果ユーザは破壊的なプログラムが実行されていることに
気づきさえしないという事実によって、しばしばよりひ
どいものになる。
【0004】この発明はこのようなウィルスからの、お
よびシステムに基づいて実行するが実際のコンピュータ
ウィルスキャリアではないプログラムからの、保護を提
供する。この点に関して、プログラムはコンピュータシ
ステムおよび/または関連データに意図しない逆影響を
有し得る。たとえば、実行プログラムはあるユーザデー
タが第三者に送られることを不注意に引起こし得る。こ
のようなプログラムはプログラミングエラーの結果であ
ったかもしれないし、または特定の問題を生じるように
故意に設計されたものであるかもしれない。
【0005】先行技術の動作システムはデータをコンピ
ュータユーザから保護するように典型的に設計される。
このようなシステムでは、ユーザはしばしば様々な権限
を割当てられ、その後関連権限に基づいてプログラムを
実行することが可能である。もしユーザの割当てられた
権限を超えるプログラムが実行されていれば、そのよう
なシステムはそのプログラムの実行を停止させるであろ
う。このような先行技術のシステムは、コンピュータウ
ィルスなどからコンピュータユーザを適切に保護しな
い。
【0006】ある「システム」関連ファイルをプログラ
ムによって変更されることから保護するセキュリティシ
ステムがある。しかしながら、このようなシステムはコ
ンピュータユーザをユーザ自身のファイルを実行し変更
するプログラムから典型的に保護しない。
【0007】この発明はユーザ間で送信される、それ自
身のプログラム命令を含む、複雑なデータ構造、たとえ
ば、オブジェクトを伴って動作する場合でさえ、信頼で
きるセキュリティを提供することに向けられる。この発
明はまたシステムプログラムまたはデータをコンピュー
タウィルスまたはできの悪いプログラミングの潜在的に
壊滅的な結果にさらすことなく、より従来的なプログラ
ム、たとえばコンピュータ掲示板からの出所の不確かな
ものをも処理する場合に、向上したセキュリティを提供
する。
【0008】この発明の方法および装置は、まさに実行
されようとしているプログラムの能力を、予め規定され
た資源の使用(たとえばデータファイル、データ書込み
能力など)に制限するシステムモニタを含む独自の動作
システム設計を利用する。このシステムモニタはどのプ
ログラムが実行を許可され、および/またはどのプログ
ラムが実行から除外されるかを規定する1組の権限を含
むデータ構造を構築する。
【0009】実行されるべきプログラムに割当てられた
権限および/または制限の組をここで「プログラム権限
情報」(または「PAI」)と呼ぶ。一旦規定される
と、プログラム権限情報はその後実行されるべき各プロ
グラムと関連して、それによってプログラムが利用する
ことを許可される資源および機能のタイプを正確に表わ
す。特定のプログラムに関連するPAIは、コンピュー
タシステムオーナ/ユーザによって、またはそのコンピ
ュータシステムオーナ/ユーザが絶対的に信用する誰か
によって割当てられ得る。
【0010】PAIはプログラムが実行し得る動作の範
囲を規定し、および/またはプログラムが実行できない
動作を規定する。このプログラムは権限を与えられたも
のにアクセスすることを許可されるが、それ以外には何
もアクセスすることができない。この態様で、プログラ
ムはプログラム能力制限「セーフティボックス」に置か
れているものとみなされ得る。この「セーフティボック
ス」はシステムモニタがプログラムを実行するときはい
つでも、そのプログラムのためのPAIが同様にロード
されかつモニタされるように、その後プログラムと関連
づけられる。プログラムが機能を実行しようとする、ま
たは資源にアクセスしようとする場合には、関連するP
AIがその動作が規定されたプログラム制限内であるこ
とを確認するためにモニタされる。もしプログラムが権
限を付与された制限の範囲を超えて何かを実行しようと
すれば、プログラム実行は停止される。
【0011】このように、この発明は実行されるべき任
意のプログラムからユーザを有利に保護する。この発明
は、プログラムがコンピュータ掲示板または不明の信用
性を有する他のユーザのような広い範囲の異なった信頼
できない場所から得られる、現在のデータ処理実務に鑑
みて特に有利である。
【0012】この発明は上述のPAIがプログラムそれ
自体(またはプログラムのハッシュ)とともに、ユーザ
が信用するあるエンティティによってディジタル署名さ
れ得ることを熟慮する。ディジタル署名がPAIを有効
にするために使用された場合、前述のPAIモニタリン
グはPAI上のディジタル署名を確証して、それがユー
ザによって信用されるエンティティに属するものである
こと、それが適切に権限を付与されていること、および
それならびにその関連プログラムが手を加えられなかっ
たことを確実にすることを含む。
【0013】この発明は本発明者の米国特許第 4,868,8
77号および第 5,005,200号に記載されたような階層信用
ディジタル署名証明システムの使用を熟慮するものであ
り、これらの特許は引用によりここに援用される。これ
らの特許の教示に従って、単一のハイレベル権限付与エ
ンティティが安全に権限を委任し、多数の他のエンティ
ティの間でプログラムに権限を付与し、かつ任意のレベ
ルで共同署名を要求することが可能であり、それによっ
て権限付与主体(agent)自身によるエラー、不正の可能
性を禁止する。これは単一のソフトウェア認証グループ
が大人口にサービスすることを可能にし、それによって
各ユーザに対する1人当たりの費用を大幅に削減する。
【0014】この発明の1つの熟慮された実施例におい
て、プログラムはデータオブジェクトの一部であっても
よく、それは高級制御言語で書かれ、この高級言語を実
行する標準化されたインタプリタプログラムによって実
行される。この場合、インタプリタのタスクの一部は、
高級論理で遇隅される機能は実際は許可されることを確
証することである。もしこのようなタスクが許可されな
ければ、インタプリタはそのようなタスクを実行する権
限が付与されていないプログラムの実行を抑制する。
【0015】多くの利点がこの発明の使用から生じる。
たとえば、この発明は隠されたプログラムまたはウィル
スがシステムに導入されることが不可能になるように、
プログラムに制限を結びつける役割を有利に果たす。ユ
ーザは、1つの機能のために意図されたプログラムが、
(コンピュータウィルスの広がりをもたらすように)偶
然または故意に渡っていき、他の関連のないまたは重要
な資源に影響を及ぼすことがないことを確実にするため
に、実行され得る機能に関する詳細を特定することによ
って保護される。ここに記載された態様におけるプログ
ラム権限情報の使用によって、ユーザは自分が実行する
プログラムから自分自身を保護することが可能である。
【0016】管理主体はプログラムの論理のすべての局
面を理解する必要性を伴わずに、プログラムの範囲を効
果的に制限することができる。管理人はその意図した機
能および定義に基づいてプログラムに権限を付与しかつ
制限することが可能であり、それによってプログラム欠
陥の危険を軽減させる。この態様で、ソフトウェア「時
限爆弾」またはウィルスを植えつけようとするかもしれ
ない乱心したまたはいたずら半分のプログラマーの危険
は制限され得る。
【0017】この発明はまたディジタル署名がPAIを
確証することを可能にする。このように、プログラム
は、すべてのメンバーが共通の高級署名権限を信用して
いる大人口の間で、自由にかつ安全に交換可能である。
【0018】不明の信用性を有するプログラムでさえ、
プログラム権限情報が広い範囲の制限を関連づけて、そ
れによって潜在的に有益なプログラムが安全に使用され
ることを許容した後、たとえ公式の信用証明を持ってい
なくても、使用することが可能である。
【0019】この発明はまた無限の数の異なった資源お
よび機能が制御されることを可能にする。たとえば、制
御され得るいくつかの有用な資源/機能は、プログラム
をあるファイルまたはデータセットに制限する能力、電
子メールを経てユーザの支配領域の範囲の外にいる誰か
にデータを送信する能力、ディジタル署名を作るまたは
要求するプログラムの能力、あるセキュリティクラスの
プログラムへのアクセスを制限する能力などを含む。
【0020】この発明はまたプログラムがディジタル署
名動作を実行することができるかどうかを制限し、かつ
どのようにそのような署名が実行されるべきかを制限す
る能力を提供する。多くの場合、プログラムがユーザか
らのディジタル署名を求めることに巻込まれた場合、そ
の署名が与えられようとしているデータをユーザに承知
させるかどうかはプログラム次第である。電子データ交
換(EDI)トランザクションの場合にそのようであ
る。この場合、いたずら半分のアプリケーションプログ
ラムが、ユーザに1組のデータを見せ、しかも他の組の
データを署名のために送ることは考えられることであ
る。この場合、そのプログラムはユーザを騙してユーザ
が信じるように仕向けられたものとは完全に異なった情
報にディジタル署名させたことになる。この発明はユー
ザをディジタル署名を求めるプログラムから保護するメ
カニズムを提供する。
【0021】この発明を使用することによって、一般的
なオブジェクト指向データは、ユーザをウィルスまたは
いたずら半分のユーザの潜在的な危険にさらすことな
く、ユーザ間で転送され得る。
【0022】この発明のこれらおよび他の特徴は、添付
の図面とともに考えられるこの発明の好ましい実施例の
以下の説明を読むことによってよりよく理解されるであ
ろう。
【0023】
【実施例の詳細な説明】図1はこの発明とともに使用さ
れ得る例証的なコミュニケーションシステムをブロック
図形式で示す。このシステムはコミュニケーションチャ
ンネル12を含み、それはたとえばそれを介して端末
A、B、…N間のコミュニケーションが行なわれ得る安
全にされていないチャンネルであってもよい。コミュニ
ケーションチャンネル12はたとえば電話線であっても
よい。端末A、B、…Nは、ほんの一例として、従来の
キーボード/CRTディスプレイ4に結合されるプロセ
ッサ(メインメモリを有する)2を有するIBM PC
であってもよい。付加的に、各プロセッサは不揮発性プ
ログラムおよびディスクメモリデバイスであり得るプロ
グラム権限情報(PAI)記憶(storage)7に好ましく
は結合される。各端末A、B、…Nはまた従来のIBM
コミュニケーションボード(図示せず)を含み、それは
従来のモデム6、8、10にそれぞれ結合された場合、
端末がメッセージを送受信することを可能にする。
【0024】各端末はディジタル署名動作が要求される
ことであれば何でも実行するメッセージを発生し、かつ
そのメッセージをコミュニケーションチャンネル12
(またはコミュニケーションチャンネル12に接続され
得るコミュニケーションネットワーク(図示せず))に
接続される他の端末のいずれにもそのメッセージを送信
することが可能である。端末A、B…Nはまた、要求さ
れた各メッセージに対して署名確証を実行することが可
能である。
【0025】図2は例証的なプログラム権限情報(PA
I)データ構造の例示である。PAIは1組の権限付与
仕様セグメント22−38、および1組の権限付与署名
セグメント40−48(ある状況ではオプションであっ
てもよい)を含む。
【0026】ヘッダセグメント20は権限付与仕様セグ
メントに先行し、後に続くプログラム権限情報の長さを
規定する。フィールド長情報はプログラマーがメモリの
関連権限情報の程度を容易に決定することを許容する。
このように、もし、たとえばオブジェクト指向データ構
造(図5に関連して以下に説明される)が利用可能であ
れば、フィールド20はプログラム権限情報セグメント
116が終了するポイントを識別して、図5に示される
プログラムセグメント118の位置を突き止める役割を
果たすであろう。
【0027】セグメント22および24は「ハッシュ」
関連セグメントである。当業者によって理解されるよう
に、「ハッシュ」は「一方向」機能であり、同一の値に
ハッシュする2つのデータ値を見つけることは計算では
実行不可能である。すべての実務的な目的のために、ハ
ッシュ関数をデータのオリジナル集合に適用することか
ら得られた値は、オリジナルデータの偽造不可能な独自
の指紋である。もしオリジナルデータが任意の態様で変
えられれば、このように変更されたデータのハッシュも
同様に異なるであろう。
【0028】関連セグメントのハッシングは、この発明
に従って適切に権限を付与されたプログラムが後に手を
加えられて、変更されたプログラムを結果としてもたら
す可能性がないことを確実にする。セグメント24にプ
ログラムハッシュをストアすることによって、ハッシュ
は関連プログラムが権限が付与された後に変更されなか
ったことを保証するために後にチェックされ得る。セグ
メント22において、特定のハッシングアルゴリズムを
独自に識別する識別子がストアされる。
【0029】PAIはプログラム(またはオブジェク
ト)のタイプを識別するセグメント26を任意に含むこ
とが可能であり、たとえば関連プログラムが機械言語プ
ログラム、特定のタイプの監視プログラム、などである
ことを示す。プログラムのタイプを識別するデータを与
えることによって、このシステムはプログラムによって
実行されるべき動作の性質に関する何らかの情報を備え
る。このような情報は、何か予期しない(そして恐らく
はいたずら半分の)ことが発生しているという表示を与
えることが可能である。PAIはまたそれが署名された
ときのプログラムの名前(セグメント28)および権限
付与の日付(セグメント29)を識別するフィールドを
含み得る。
【0030】セクション30は以下の一連の権限関連エ
ントリのサイズを規定するセグメントである。このフィ
ールドは残っているエントリが所望されるように区切ら
れることを可能にする。
【0031】後に続く各権限エントリは、特定のエント
リのサイズを規定するセグメントを含む(32)。各エ
ントリは同様にそれが関連する機能または資源34のタ
イプを識別するセグメント34を含む。たとえば、プロ
グラムが他のプログラムにディジタル署名を求める権限
を付与する権利を有し得るかどうかなどの、広範囲の機
能が規定され得る。セグメント36はセグメント34で
識別された包括的タイプ内にある特定的機能/資源を特
定する。たとえば、特定的ユーザファイルはセグメント
36で指定されて、セグメント34で特定された「ファ
イル」をより特定的に識別する。セグメント34および
36は、所望されれば、単一セグメントに組合わされ得
る。セグメント36の「ワイルドカード」への参照は、
たとえば、プログラムが予め定められた接頭辞、または
接尾辞を有する任意のファイルにアクセスし得ることを
示すことが意図される。たとえば、指定「A*」はプロ
グラムは「A」で始まるタグによって識別される任意の
ファイルにアクセス可能であることを示すであろう。同
様に、セグメント36はそのプログラムは「DATA」
で終わる任意のファイルにアクセスし得ることを示す、
またはそのプログラムは指定された組のファイルにアク
セスすることができないことを代替的に示し得る、エン
トリ*DATAを含み得る。このようなエントリはまた
そのプログラムは任意のプログラムファイルを変えるこ
とができることを示し得る。セグメント36はこのよう
にそのプログラムが何ができるかだけではなく、そのプ
ログラムは何をする権限を付与されていないかを特定し
得る。
【0032】図2に示されるセグメント38は与えられ
た権限のレベルを特定する。たとえば、セグメント38
はそのプログラムは予め定められた組のファイルからの
読出しを許可する権限のレベルを与えられているが、任
意のこのようなファイルを変えるまたは消去する権限は
否定されていることを特定し得る。
【0033】もしPAIが異なったユーザに利用可能に
されれば(所望の受信者に送信されるプログラムのため
に)、PAIにとってディジタル署名されることが望ま
しいかもしれない。単一の組織内においてさえ、オプシ
ョンの権限署名を含むことは望ましいかもしれない。
【0034】権限署名は署名セグメント40を含む。署
名セグメント40は署名者の証明(certificate)への参
照、つまり署名者の証明を識別するための識別子を含
む。この発明の好ましい実施例に従って、このようなデ
ィジタル証明は、ユーザのパブリックキーおよびユーザ
の名前を含む委任されたエンティティによって作成され
た(エンティティが満足するほどに正確である)ディジ
タルメッセージ、および恐らくはディジタルメッセージ
に署名する当事者によってユーザに与えられた権限の表
現である。このような署名者の証明は、本発明者の米国
特許第 4,868,877号および第 5,005,200号の教示を利用
して好ましくは作成され、これらの特許はここにはっき
りと引用により援用される。これらの特許に従って、証
明は証明者によって与えられつつある権限および課せら
れている制限ならびにセーフガードを含むように構成さ
れ、たとえば、被証明者に対する財政上の制限、および
被証明者に与えられる信用のレベルのような、証明者に
とっての関心事を示す情報を含む。証明はまた、上に示
された米国特許に具体的に教示されるように、被証明者
に課せられる共同署名および副署名要求を特定し得る。
【0035】署名セグメント40はまた署名日付、およ
びハンシュならびにパブリックキーの双方に対するアル
ゴリズム識別子を含み得る。セグメント40は、たとえ
ばプログラムに権限を付与する権限を与えて、予め定め
られたファイルを変更するために証明で指定された1つ
以上の権限を特定する署名に対して呼出された権限を付
加的に含む。付加的に、この署名はたとえば上述のセグ
メント20ないし38の全体を含む、権限付与仕様のハ
ッシュを含む。
【0036】セグメント40で識別された項目に関する
署名者のプライベートキー動作の結果はセグメント42
にストアされる。これはX.500に規定されるような
標準的なディジタル署名であってもよいし、または本発
明者の上述の米国特許の向上したディジタル署名教示に
従うものであってもよい。付加的な(可能な第2ないし
可能な第N番目の)署名(共同署名)は、セグメント4
4、46に示されたようにストアされ得る。任意に、権
限署名はまたセグメント48の上の署名に対するディジ
タル証明を含み得る。代替的に、このような証明は識別
されたデータベースからアクセス可能である(が、署名
が任意のそのようなデータベースにアクセスする必要性
を伴わずに確証され得るように、関連署名のためのディ
ジタル証明を含むことが好ましい)。セグメント40な
いし48は上述の権限仕様に関連する権限封印を構成す
る。ここに参照されるディジタル証明/ディジタル署名
技術に関するすべてのさらなる詳細は、X.500のよ
うな標準的な技術、または上述の米国特許に関連するよ
うな向上した技術を含む、任意のディジタル署名技術で
実行され得る。
【0037】この発明に従って、PAIは実行されるべ
きプログラムと関連する。図3ないし図6はプログラム
権限情報をプログラムに関連付けるための4つの例証的
なアプローチを示す。まず図3を参照して、この図はど
のようにプログラム権限情報がアクセス制御下で、プロ
グラムと関連して、ストアされるかを例証する。図3は
プログラムのシステムのディレクトリの例証的な概略表
現を示す。ディレクトリはプログラム1、2、…N(8
0、86…92それぞれ)の各々の名前を表すデータを
含む。
【0038】各プログラム名前識別子に関連するのは、
それぞれインジケータ82、88、94であり、関連プ
ログラム、たとえばプログラム1のディスク98上の場
所を識別する(104)。付加的に、プログラム関連識
別子の各々に関連するのは、それぞれインジケータ8
4、90、…96であり、その関連プログラム権限情
報、たとえばPAI 1の場所を識別する。プログラム
権限情報PAI 1は別個のメモリデバイス100にス
トアされているとして示されるが、それは所望されれば
その関連プログラムと同一のメモリ媒体にストアされて
もよい。上に示したように、プログラムに関連するプロ
グラム権限情報は、プログラム権限情報がユーザ自身に
よって発生され、(この場合は署名する必要はない)
か、または第三者によって発生され、この場合はPAI
はしばしば署名されなければならないかに依存して、デ
ィジタル署名されてもよいし署名されなくてもよい。
【0039】図4はPAIをプログラムに関連づける他
のアプローチを示す。このアプローチにおいて、プログ
ラム権限情報110はプログラム112にはめ込まれ
る。図3に関連して上に説明したように、権限付与情報
はPAIの源に依存して、任意にディジタル署名されて
もよい。
【0040】図5は、PAIデータ構造がこの発明の一
実施例に従うプログラムと関連する重要なアプリケーシ
ョンを示す。図5は安全な交換可能な「オブジェクト」
のための例示的なデータ構造を示す。このデータ構造は
委託された権限によって署名され得る。このようなデー
タ構造の署名により、オブジェクトはユーザからユーザ
へ安全に送信されることが可能になる。図3、図4、図
5および図6に示されるデータ構造は一般的なフォーマ
ットで説明されているが、1992年4月6日に出願さ
れ、「移動プログラムを作成し支持しかつ処理するため
の方法および装置(Method and Apparatus for Creatin
g, Supporting and Processing a Travelling Progra
m)」(米国連続番号07/863,552、Atty.
Dkt.264−30)と題された、本発明者の同時係
属中の出願で説明されたような構造であってもよく、こ
の出願は引用によりここに明示的に援用される。
【0041】データ構造は、ほんの一例として、たとえ
ば買注文関連オブジェクトまたは任意の他のタイプの電
子ディジタルオブジェクトに続くタイプのオブジェクト
を規定し得るヘッダセグメント114を含む。プログラ
ム権限情報は、以下により詳細に説明される態様で、オ
ブジェクトの単数または複数のプログラムのための権限
を特定するセグメント116にはめ込まれる。
【0042】データ構造はオブジェクトプログラムセグ
メント118を含み、それはたとえば、関連する買注文
がプログラムユーザによって対話的に完了される変数フ
ィールドのためのブランクを残すようにディスプレイさ
れる態様を制御し得る。オブジェクトプログラムはその
ようなデータをストアし、出願人の上述の同時係属出願
に詳細に説明される態様でそれ自体のコピーを添付デー
タとともに送る。図5に示されるように、このプログラ
ムは数個の論理セグメントに分割されて、オブジェクト
の異なった用途を収容し得る。たとえば、このプログラ
ムはディジタル買注文を作った人に、後続の受信者にデ
ィスプレイするのとは異なったディスプレイを示し得
る。プログラムがプログラムによって指定された受信者
によって受信された場合、その受信者は送信されたプロ
グラムの写しを呼出して、たとえば受信者の必要に合わ
せて作られた買注文のディスプレイを制御する。受信者
はすべての受信されたデータを確証し、新しいデータを
加えることが可能であり、プログラムはそれ自体を受信
者の電子メールシステムによって、たとえば購入された
品物を実際に出荷するユーザに送ることが可能である。
図5に示されたデータ構造は付加的にオブジェクトに関
連するデータセグメント120を含み、それは好ましく
は上述の特許出願に説明されるような「変数」セグメン
トおよびデータファイルセグメントを含む。データセグ
メント120はオブジェクトの各バージョンまたはイン
スタンスに関連するデータが別個にストアされ、別個に
アクセス可能であるように区切られてもよい、なぜなら
異なったユーザは図5に示されるデータ構造に対して異
なった用途を有するかもしれないからである。したがっ
て、データはそれが各ユーザからどのように集められる
かに依存して変化することになる。しかしながら、プロ
グラム118は好ましくは各ユーザに対してそのままで
ある。委託された権限はプログラム権限情報(PAI)
とともにプログラムに署名する、なぜならプログラムの
各実行に応答して入力されるデータよりはむしろ、プロ
グラムそれ自体が権限付与される必要があるからである
(データは各実行経路の間変化することが可能であるか
らであり、かつまた正確なディジタル署名が適切に入力
データ上で集められることを確実にすることはプログラ
ムの責任であるからである)。
【0043】図6は多くのユーザが同一のプログラム
(イメージ)にアクセスする状況を例証し、各々はそれ
に関連し、ユーザに所属する特定的ファイルに維持され
る自分自身の(おそらくは別個の)プログラム権限情報
129を有する。図6はシステムプログラムディレクト
リ131を示し、それはプログラム名前に関連するイン
ジケータによって、プログラムXのディスク132上の
場所を識別する。この場合、プログラムXがユーザによ
って呼出された場合はいつでも、システムはユーザがそ
のプログラムに関連し得るプライベートなPAI仕様
(たとえば133、135、137)を有するかどうか
を決定するためにチェックする。このように、異なった
ユーザは自分自身の必要性および信用の知覚に従ってプ
ログラムを制限し得る。これはたとえば大きな固有の権
限を有するユーザ、または非常に重要な情報へのアクセ
スを与えられたユーザが、ありきたりの目的のための
「平凡な」プログラムをしばしば実行しなければならな
い場合に有用であり得る。この場合、そのような重要な
ユーザにとって、いくつかの(または多くの、またはす
べての)「平凡な」プログラムのまわりに「セーフティ
ボックス」を規定して、その結果そのようなプログラム
が自分自身の特に重要なデータに影響を及ぼし得る「ト
ロイの木馬」または他の欠点を不注意に含まないように
することが分別のあることかもしれない。
【0044】したがって、このようなユーザは一般的な
PAI「関連付け」を規定し、その結果保護しているP
AIは、重要なデータを処理する選ばれて委託されたい
くつかのプログラム(select trusted few programs)を
おそらく除いて、すべてのプログラムに自動的に関連し
得る。
【0045】この発明はPAI情報が任意の適切な態様
で関連づけられることを許容し、その結果原則的にユー
ザはおそらくはより総括的なPAI、またはこのプログ
ラムの製造者によって署名されかつ供給されたPAIと
ともに組合わされる1つ以上のレベルのPAIを規定す
ることが可能である。
【0046】この発明はプログラムとそのPAIとの間
の関連付けが、もし必要であれば、1つのプログラムが
複数のPAIと関連することが可能であるように、また
は逆に1つのPAIが複数のプログラムに適用されるこ
とが可能であるように、またはこれらのアプローチの何
らかの組合わせが可能であるように非常に一般的に構成
され得ることを熟慮する。したがって、単純にするため
に、本明細書では単一のPAIを単一のプログラムと関
連して一般に論じているが、これはいかなる意味におい
ても制限であると考えられてはならないことが理解され
なければならない。
【0047】図7は特に不明の信用性のプログラムを実
行する場合に、どのようにユーザがプログラム権限情報
の使用によって利益を得るかを例示するフローチャート
である。ブロック121に示されるように、ユーザは自
分がプログラムの作成者について何も知らない興味ある
プログラムを実行したいという望みを持つかもしれな
い。このように、そのプログラムは不明の信用性を有
し、たとえば電子掲示板を経てアクセスされたものかも
しれないし、テレコミュニケーションチャンネルまたは
ディスケットを経てユーザの端末に到着したものかもし
れない。単なるゲームであると称するこのようなプログ
ラムは、それがウィルスに感染しているかもしれないと
いう重要な危険をはらんでいる。
【0048】ブロック122で示されるように、ユーザ
はそのプログラムを重要でないまたは消耗ファイルのみ
に制限するプログラム権限情報を規定することによって
保護され得る。所望されれば、ユーザはとにかく任意の
ファイルを変更することからこのようなプログラムを制
限することが可能である。たとえば、ユーザはプログラ
ムにディスプレイスクリーンにイメージをディスプレイ
し、ゲームをすることに関連する機能を実行することの
みを許可し得る。代替的に、もしプログラムが単一のワ
ークファイルを有することがわかれば、PAIデータは
そのような単一ファイルの使用のみを許可することが可
能である。単一ワークファイルのみにアクセスを制限す
ることによって、不明の信用性のプログラムは他のユー
ザのプログラムにウィルスを導入することができない
し、または他の態様ではシステムプログラム誤動作を開
始することができない。このように、この発明に従っ
て、ユーザは、システムプログラムによって、プログラ
ムの任意の特権機能を使用する能力をたとえば完全に排
除するようなプログラムによる危険にユーザのシステム
がどれくらいさらされるかを決定する。ユーザはそれか
らたとえばオペレータを促すメニュー駆動型システムに
よって、PAIをそのシステムに基づいて実行されるべ
きすべてのプログラムに関連づける(またはこのような
PAIまたはPAIの欠如を予め定められた省略時(de
fault)メカニズムによって関連づける)。システムユー
ティリティプログラムは、図9ないし図13と関連して
以下に詳細に説明される態様で、プログラム権限情報を
作成するために好ましくは使用される。
【0049】PAIが割当てられた後、そのシステムが
関連するプログラムを実行するときはいつでも、システ
ムソフトウェアは(以下に説明される態様において)プ
ログラムがPAIと一貫する態様で安全に実行している
ことを確実にする。このように、プログラムは「セーフ
ティボックス」に有効に置かれたことになる(12
4)。
【0050】図1に戻って、不明の信用のプログラムは
コミュニケーションチャンネル12によって、または端
末Aにロードされたフロッピィディスクからシステムに
導入され得る。このプログラムはたとえばユーザのプロ
グラムディスクメモリ7に初めストアされ得る。その
後、キーボード4上のユーザは(図7のブロック122
に関して)上で識別されたシステムのプログラムとの対
話を介して、そのプログラムがユーザのシステムに基づ
いて安全に実行できるように、またはおそらくはPAI
がプログラムとともに到着し、その場合にはおそらく署
名されるように、(図3ないし図6に示されたような態
様で)、プログラムにプログラム権限情報を関連づけ
る。
【0051】図8はこの発明の例証的な実施例に従うプ
ログラムコントロールブロック(PCB)データ構造の
例示である。プログラムコントロールブロック140は
システムモニタによって使用されて関連するプログラム
の実行を制御するデータ構造である。
【0052】プログラムコントロールブロック140に
は、関連するプログラムがプログラムがその割当てられ
た権限に従って機能を実行し、資源にアクセスすること
を確実にするように実行されているときに、PAIが容
易に参照され得るように、プログラム権限情報がロード
される。実行されるべきプログラムと関連するプログラ
ムコントロールブロックは、プログラムによって変更す
ることができない記憶エリアに置かれる。
【0053】図8に示されるように、親プログラム(そ
のPCBは180で識別される)はプログラム(PCB
170を有する)を呼出し、それはひいては図8に詳細
に示されるプログラム140を呼出す。各新しいPCB
は「以前の」または呼出しているプログラムコントロー
ルブロックを指す150のようなフィールドを含む。フ
ィールドはまた「次の」プログラムコントロールブロッ
クファイルを識別するために使用され得る。
【0054】呼出されたプログラムが実行を終えた場
合、システムはその関連するPCBを実行されたスタッ
クの一番上から取除き、関連するプログラムを記憶から
取除き、関連する権限付与情報を取除き、スタックのそ
の真下のプログラムコントロールブロックにアクセスす
る。他のプログラムが呼出された場合、スタックの一番
上に置かれた新しいPCBが作られるように逆のプロセ
スが発生し、それはフィールド150に示されるように
以前のPCBを再び指す。
【0055】プログラムコントロールブロックはまた、
図8に示されるメモリセグメント153によってたとえ
ば示されるように、関連するプログラムがロードされて
いる記憶の場所に対するポインタであるフィールド15
2を含む。付加的に、プログラムのサイズはフィールド
154で示される(それはこのようにしてプログラムが
実行を終了した場合に解放される記憶の量を示す)。
【0056】プログラムコントロールブロックのフィー
ルド156は、1つ以上のPAIの記憶(157)の場
所を識別する(それは関連するプログラムによって変え
ることができない記憶のエリアに置かれる)。フィール
ド156によって指されたPAIは好ましくは上述の図
2に示された態様で構成される。
【0057】フィールド158は関連するプログラムの
ためのエントリアドレスを識別する。もしプログラムが
その実行中に他のプログラムを呼出せば、フィールド1
58は、呼出されたプログラムがその実行を完了した
後、プログラム実行が再開されるであろうアドレスをス
トアするために使用される。
【0058】プログラムコントロールブロックはまた、
たとえばプログラム状態ワード(PSW)スタック情報
などのような状態情報をストアするための1組の場所
(160)を含む。プログラムコントロールブロック
は、付加的に、もしエラーがプログラムの実行中に発生
すれば、エラーまたは終結メッセージに関連する情報を
ストアするためのフィールド162を含む。このような
フィールドは、たとえば、なぜプログラムが不成功に終
結したかを識別するための呼出しプログラムに利用可能
である。フィールド162はプログラムが成功のうちに
終結したという表示をストアすることが可能である。
【0059】プログラムコントロールブロック140
は、プログラムが終わった場合に(164)漂遊(stra
y)資源が解放され得るように維持される様々なポインタ
を付加的に含む。このようなポインタはたとえばプログ
ラマーが解放するのを忘れた資源の解放を許容するため
に有用である。
【0060】図9ないし図12はプログラム権限情報を
確立するためのユーティリティプログラムの動作の例証
的なシーケンスを例示するフローチャートである。この
ようなユーティリティプログラムはユーザ、つまりエン
ドユーザ、エンドユーザの主体または製造者でさえ促し
て、ユーザのシステムによって実行されるべきプログラ
ムに関連する権限の範囲を規定する。
【0061】図9に示されるように、PAIを確立する
ためにユーティリティプログラムを入力した後(20
0)、ユーザはそれに対してPAIが確立されるべきプ
ログラムの名前を供給するように促される(202)。
その後、ユーザはPAIは署名されるべきか署名される
べきでないかを決定するように促される。PAIは、も
しそれがユーザ自身の使用および保護のためのものであ
れば、またはもしこのPAIが満足なアクセスコントロ
ールの下でストアされ得るのであれば、必ずしも署名さ
れる必要はない。ブロック204のユーザの入力に依存
して、ユーザが署名したいのかまたは署名したくないの
かについての決定が行なわれる(206)。もしユーザ
が署名したいのであれば、ブロック208に示されるよ
うに、ユーザの証明が検索され、後のテスティングのた
めにフラグが設定され署名動作が実行されていることを
示す。ユーザの証明は従来のディジタル証明であっても
よいし、本発明者の米国特許第 4,868,877号および第
5,005,200号に従う権限の委譲を与える向上されたディ
ジタル証明であってもよい。
【0062】ブロック210で示されるように、ユーザ
はそれからどの権限がプログラムに割当てられるべきか
指定するように促される。後に続く権限(そしてそれら
が示される順序)は例示の目的のみのために与えられ、
かつこの発明に従って割当てられ得るすべての可能な権
限の完全なリストであることは意図されないことが理解
されなければならない。
【0063】図9に例示されるように、ファイルアクセ
ス権限が呼出されるべきであるかどうかを決定するため
にチェックが行なわれる(212)。ファイルアクセス
権限(および以下に参照される他の権限の各々)の選択
を与えるために、メニューがユーザに表示されてもよ
い。ファイルアクセス権限は任意の組のファイルのファ
イルエレメントもしくはフィールド、任意の組のデータ
もしくはデータエレメント、または任意の組のファイル
などに関する権限を示すために使用され得ることが理解
されなければならない。もしユーザがファイルアクセス
権限を選択すれば、ユーザはファイル名またはファイル
ステムまたは「ワイルドカード」ファイル名パターンを
特定するように促されるであろう(214)。上に説明
されたように、たとえば、ワイルドカードファイル名パ
ターンはフォームDATA*から選択されることが可能
であり、その結果プログラムは接頭辞「DATA」で始
まる任意のファイル名にアクセスする権限を与えられ
る。
【0064】その後、ユーザはファイルアクセスのタイ
プを特定するように促される(216)。この点に関し
て、ユーザはプログラムの権限を、ファイルから読出
す、情報をファイルに挿入する、ファイルの情報を更新
する、ファイルから情報を消去する、ファイルを消去す
る、ファイルを転送するなどだけの中から、1つ以上に
制限することを特定し得る。もしファイルアクセスまた
は図9ないし図11で以下に示される他の権限が選択さ
れれば、この選択の表示がストアされ、ルーチンは以下
に説明される図12および図13のブロック274に分
岐する。
【0065】もしユーザがファイルアクセスを選択しな
ければ、これはこのプログラムに他のプログラムを呼出
す権限を付与するための要求であるかどうかを決定する
ためにチェックが行なわれる(218)。もしそうであ
れば、プログラムがそれに基づいて呼出され得る、もし
あれば、何の制限または資格が確立されるべきであるか
を確認するために決定が行なわれる(221)。そのよ
うな資格が規定され組合わされ得る多くの方法がある。
たとえば、1つの特定のプログラム名のみが呼出される
ことが許容されることであってもよいし、またはおそら
くある(「ワイルドカード」)パターンに一致する名前
を有するプログラムのみが呼出されてもよい。おそらく
その基準はライブラリ、または組のライブラリの仕様を
含み、そこには許可されるプログラムが存在し得る。
【0066】このプログラムによって呼出されるのに相
応しいプログラムを資格付ける他の方法は、呼出された
プログラムが呼出しているプログラムほど大きな権限を
有してはならないことを特定することである。代替的
に、権限および必要性に依存して(およびどのようにシ
ステムが呼出しているおよび呼出されたプログラムの権
限を組合わせるように選択するかに依存して)、呼出さ
れたプログラムが呼出しているプログラム以上の権限を
有することを要求することが適切であり得る。実際、こ
の「呼出し権限」資格の一部として、それによって権限
が呼出されたプログラムと組合わされることが可能な
(たとえば呼出されたプログラムの自然の権限を使用す
ることによって、呼出されたものおよび呼出すものの最
も制限的な権限を使用することによって、など)方法を
特定することさえ適切であるかもしれない。
【0067】ここで使用されるように、特定された権限
の資格または制約または制限または許可へのいずれの参
照も、適切な基準の任意の収集に基づいて設定された全
体の規則仕様を含むことが意図される。「規則」「組
の」、「資格」などの言葉はその最も一般的な意味で使
用され、それによって仕様は任意のタイプの規則または
規則の複合組によって決定されることが可能であり、そ
れはたとえば、制限なしに、直接仕様による、間接仕様
による、排他による、リストによる、「ワイルドカー
ド」規則による、または任意の適切な属性、方法または
基準によってエレメントを区別する他の任意の方法によ
ることを含む、任意の属性によってエレメントを区別す
ることが可能である。そのような区別は単一のエレメン
トのみを含む、すべてのエレメントを除外する、または
すべてのエレメントを含む仕様を包含することが意図さ
れる。PAIは全体または一部において、任意の数の隣
接するまたは隣接しないデータのセグメントからなり得
る。適切な文脈において、その文脈のために公式化され
る予め定められた規則があってもよく、それは任意の明
示的な資格がない場合に推定される。
【0068】「示す」、「〜を指す」、「のアドレス」
などの言葉は、たとえば直接仕様、任意のタイプのポイ
ンタ、参照、関連、ハッシュ、結合値共通識別子、など
を、制限なく、含む適切な関連の任意のタイプを伝える
ことが一般に意図され、それは任意のレベルの間接性
(indirection)を含んでもよく、明示性であってもよ
く、または任意の明示の関連がないところでも文脈に適
切であれば暗示であってもよい。
【0069】「制限」という言葉は制限の一般的な概念
を示すことが意図され、しばしば通常の能力に対する
「制約」と共通の意味で使用されるが、制限が通常の能
力を超えて規定される状況を反映することもまた意図さ
れる。
【0070】この発明は、プログラムの能力を通常ユー
ザに許された資源にアクセスすることに制限する機能を
規定することに主に中心を置くが、適切な環境におい
て、ユーザに通常許容された能力を超えるものに拡張す
るためにも使用され得る。このように、たとえば、その
PAIがスーパバイザによって認められた権限によって
署名されるプログラムは、拡張された機能を実行するこ
とが許容される。
【0071】いくつかの例証的な規則がPAIがどのよ
うに確証されるべきかに関して与えられたが、特定の実
施例は広く変わり得る。示されたように、いくつかの場
合、PAIはまったく署名される必要はなく、それはた
とえばユーザ自身がPAIを規定する場合、または信用
された管理者がPAIを信用されたアクセス制御された
記憶にストアする場合などである。PAIが署名された
場合、署名確証が、たとえば本発明者の他の特許、米国
特許第 4,868,877号および第 5,005,200号に従って行な
われる任意の数の方法がある。ユーザは最終的なパブリ
ックキー、またはその署名をユーザが信用する証明を規
定する以前にストアされた情報を有するようである。
【0072】図9に戻って、もしユーザがプログラム呼
出し許可を選択しなければ、これはこのプログラムが呼
出され得る状況を特定するための要求であるかどうかを
決定するためにチェックが行なわれる(220)。もし
そうであれば、そのような権限の制限または資格を確認
するための決定が行なわれる(223)。1つのそのよ
うな仕様は、プログラムはユーザによって直接呼出され
なければならない(かつおそらくはこれは任意の仕様の
代わりに暗黙値であろう)ことであり、おそらくはこの
プログラムは特定のリスト、または上述の「呼出し権
限」に類似の特定ライブラリからの名前でプログラムに
よって呼出されるだけである。おそらくプログラムはよ
り大きな権限を有する、またはより小さな権限を有する
プログラムによって呼出されるだけである。どの規則が
適切であるかは、基礎になるシステムが他のプログラム
によって呼出されたプログラムのためのPAI権限をど
のように組合わせるかに関連し得る。この資格の他の局
面は、このプログラムの権限がどのように呼出している
プログラムの権限と組合わされ得るか、たとえばこのプ
ログラムの有効な権限は呼出しているものによって制限
されるかどうかを特定することであり得る。他の多くの
可能性もまた利用可能であり、権限の各タイプごとにお
そらく異なる。
【0073】図10に移って、もしブロック220で識
別された権限が選択されなかったならば、プログラムが
電子郵便を生成することを許容されるべきか否かを決定
するためのチェックが行なわれる(222)。もしそう
であれば電子郵便を生成するこの能力が資格付けされる
べきか、たとえば或る個人に限定されるべきか否かのチ
ェックが行なわれる。もしそうであれば、このようなさ
らなる資格がユーザによって特定される(224)。
【0074】もしブロック222で識別された権限が選
択されなければ、ユーザはプログラムが他のユーザへデ
ータを伝送することを許容されるべきか否かについて問
われる(226)。もしそうであれば、ブロック224
の上述の処理が行なわれ、この権限に対するいかなる資
格も決定する。
【0075】もしブロック226で識別された権限が選
択されなければ、ブロック228に示されるように、プ
ログラムが「文書解放(document release) 」動作を行
なうことを許容されるか否かを決定するためのチェック
が行なわれる。もしそうであれば、たとえば権限が適用
される文書のクラス(たとえば極秘(top secret) 、機
密(secret) 、機密扱い (sensitive)、など)をユーザ
から決定することによってこの権限に対する資格が選択
され、記憶されてもよい。代替的に、解放されるべき文
書はセキュリティの観点から「解放」を要求しなくても
よいが、むしろ文書の技術的解放に関連してもよい。い
ずれにおいても、どのような選択された資格も記録され
る。
【0076】もしブロック228で識別された権限が選
択されなければ、プログラムが機械語プログラムを実行
することが許容されるべきかを決定するためのチェック
が行なわれる(232)。この権限は或るルーチンが機
械語プログラムとして不適当に実行するか、または実行
されることを防止するのに有用であろう。ユーザは任意
の適当な資格を特定するように促されてもよい(23
3)。もしブロック232で識別された権限が選択され
なければ、プログラムが任意の特別なメモリアクセス特
権、たとえば或るオペレーティングシステムプログラム
のために予約された記憶域へのアクセスが与えられるべ
きであるか否かを決定するチェックが行なわれる(23
4)。もしそうであれば、ユーザはこのようなアクセス
特権へのいかなる資格も適当なものとして特定すること
が促されるであろう。
【0077】もしブロック234で識別された権限が選
択されなければ、プログラムがユーザへ情報を表示する
権限を有すべきか否かを決定するチェックが行なわれる
(238)。この点で、或るプログラムが或る計算を行
なう目的のみを意図されてもよい。このようなプログラ
ムはいかなるユーザ対話も存在してはならないように設
計され得る。もしこのようなプログラムが許可なく変更
されたとすれば、ユーザへ誤ったメッセージを作成する
命令が挿入されているかもしれず、それがセキュリティ
侵害を引き起こすかもしれない。たとえば、システム障
害があるということ、および動作を再開するためにユー
ザが自分の秘密のパスワードを入れることが必要である
ということをスクリーンがユーザへ表示し得る。このよ
うなプログラムは当事者へパスワードを自動的に伝送し
得、するとその当事者はパスワードおよびそのような画
面上に入れられた他のいかなる情報へもアクセスを有す
るであろう。
【0078】ブロック240に示されるように、もしプ
ログラムがユーザへ情報を表示する権限を与えられれ
ば、この権限は、たとえば特別なウィンドウ内に、また
は特別なコンソール上のみに表示を許可するだけで制限
されてもよい。
【0079】もしブロック238で識別された権限が選
択されなければ、図11、ブロック242に示されるよ
うに、プログラムがユーザからの入力を請求する権限を
有するべきか否かについてのチェックが行なわれる。も
しそうであれば、この権限は、たとえば特別なウィンド
ウまたは端末からの請求により可能性のある制限の特定
によって、資格付けされてもよい(244)。
【0080】もしブロック242で識別された権限が選
択されなければ、プログラムがディジタル署名を請求す
る権限を有するべきか否かに関するチェックが行なわれ
る(246)。この点で、1組の情報を表示することに
よっていたずら半分のプログラムがユーザを引っかける
かもしれないが、それによって実際のディジタル署名が
全く異なる組のディジタル材料へ与えられる。それゆ
え、ディジタル署名動作を請求する、および/または行
なうPAI権限を要求することによって、権限を付与さ
れないプログラムは権限を付与されたプログラムの外部
属性を真似るが、ユーザのディジタル署名能力を詐欺ま
がいの材料へ内部的に与えることを防止される。
【0081】もしプログラムがディジタル署名を請求す
ることを許可されれば、ブロック248に示されるよう
にこの権限に制限が加えられてもよい。したがって、プ
ログラムは制限された範囲、値、権限または他の特性を
有する材料にディジタル署名を行なうことのみが許容さ
れるであろう。
【0082】もしブロック246で識別された権限が選
択されなければ、プログラムがロボット装置、または特
定のコンピュータ機器もしくはコンピュータ関連装置へ
向ける権限を有するか否かを決定するチェックが行なわ
れる。もしこのような権限が選択されれば、このような
機器に及ぼす制御の詳細および範囲を特定することによ
ってこのような権限に資格が与えられてもよい(25
2)。
【0083】もしブロック250で識別された権限が選
択されなければ、アクセスが一般にセキュリティクラス
によって制限されるべきか否かを決定するチェックが行
なわれる(254)。したがって、或る資源、ファイル
などが機密、機密扱いなどのような特定のセキュリティ
クラスと関連され得る。もしこのような権限がプログラ
ムと関連されるべきであれば、特定のセキュリティレベ
ルの指定を含む制限が同様に特定されてもよい(25
6)。
【0084】もしブロック254で識別された権限が選
択されなければ、他のコンピュータ機能、または資源が
制御されるべきであるか否かについてチェックが行なわ
れる(258)。もしそうであれば、ユーザはこのよう
な他のコンピュータ機能、または資源についての詳細を
特定することが促される(260)。
【0085】もしブロック258で識別された権限が選
択されなければ、図12に示されるように、ユーザが権
限の特定を終了したか否かを決定するチェックが行なわ
れる(262)。もしユーザが権限の特定を終了してい
なければ、権限選択のアレイがこの点で消耗されている
ために、不明の特定された権限を特定することをユーザ
が試みていることを示すメッセージが発行される(26
4)。ルーチンは図9へルーチン分岐して戻り、エント
リポイントGでブロック210における処理を再開す
る。
【0086】ブロック262に定められるように、もし
ユーザが権限の特定を終了していれば、前に規定された
権限のすべてが収集され、図2に示されるPAI構造が
ディジタル署名関連のエントリを除いて完了する。
【0087】ブロック268で、PAI構造がディジタ
ル署名されるべきか否かを決定するチェックが行なわれ
る。もしそうであれば、ブロック270に示されるよう
に、適当なディジタル署名動作がPAI構造上で行なわ
れる。ディジタル署名は本発明者の米国特許第4,868,87
7 号および5,005,200 号における教示に従ってか、また
は所望されるような従来のディジタル署名および証明技
術を使用して行なわれてもよい。その後、PAIは、た
とえば図3ないし図6に説明されるアプローチの1つを
使用して記憶され、それによってそのプログラムと関連
付けられ(272)、その後ルーチンが退出する。
【0088】図13に移って、エントリポイントFで、
ブロック212ないし258に関して説明された権限の
各々が選択され、選択の指示が記録された後、ルーチン
は分岐してブロック274へ進み、権限の特定がディジ
タル署名しているか否かを決定する。もし権限がディジ
タル署名されていなければ、新たに規定された権限が関
連のプログラムのための権限情報へ加えられ(28
0)、ルーチンは図9のエントリポイントGでブロック
210へ分岐して戻る。
【0089】もし権限がディジタル署名されるべきであ
れば、向上した証明(権限を有する)が本発明者の米国
特許第4,868,877 号および5,005,200 号に従って使用さ
れているか否かについてのチェックが行なわれる(27
6)。もしそうでなければ、ルーチンは前述のようなブ
ロック280へ分岐する。
【0090】もし向上したディジタル署名が使用されて
いれば、前述の特許に説明されるようなユーザの向上し
た権限証明がこの特定のプログラムの権限特定を割当て
ることを許可するか否かを決定するチェックが行なわれ
る。もし向上した権限証明がこのような権限の割当てを
許可すれば、ブロック280の前述の処理が行なわれ
る。もしそうでなければ、ブロック282に示されるよ
うに、「あなたの証明はこのレベルのプログラム権限の
割当てを許可されていません。」というメッセージがユ
ーザへ発行される。ルーチンは図9およびブロック21
0の処理のためのエントリポイントGへ分岐して戻る。
【0091】図14および図15は、そのプログラム権
限情報に従って実行されているプログラムの処理を制御
するためのスーパバイザプログラムの動作のシーケンス
を示す。図14に示されるプログラム「X」およびその
プログラム権限情報の処理は、コンピュータがスーパバ
イザルーチンを実行している間に開始される。図14の
300で示されるように、呼出プログラムは実行のため
にプログラムXを呼出す。その後、プログラム制御ブロ
ックがプログラムXのために作成される。作成されたプ
ログラム制御ブロックは、プログラムが呼出されること
を許可されることが決定され、かつ確証がうまく完了さ
れるまで、実行スタックの先頭に加えられないであろ
う。したがって、もしプログラムがセキュリティチェッ
クを失敗すると、それはプログラム実行鎖に置かれない
であろう。「試験的」プログラム制御ブロックを作成す
ることに加えて、呼出されたプログラムはブロック30
2の処理中に適当なプログラムディレクトリを介して位
置決めされるであろう。
【0092】その後、ブロック304で、PAIが前述
のいわゆる「セーフティボックス」内にプログラムXを
置くようにプログラムXとまだ関連されているか否かを
決定するチェックが行なわれる。このPAIは前述のよ
うなその特定の応用によって署名されても、されなくて
もよい。
【0093】もしいかなるPAIもプログラムとまだ関
連されていなければ、プログラムが製造者からの関連の
署名された「系統(pedigree) 」を有するか否かを決定
するチェックが行なわれる(306)。したがって、も
し周知のプログラム製造者がパブリックキー、またはデ
ィジタル証明でプログラムに署名しているならば、所望
ならこのようなプログラムが、製造者がどれだけ信用し
ているかによって所望のどのような権限レベルを割当て
られてもよく、システムはこのようなプログラムの実行
を許可してもよい。製造者からのこのようなディジタル
署名は、プログラムが製造者によって生成されたときと
全く同じであるか否かを決定されることができるので、
関連のプログラムがウィルスによって感染されていない
ということを確証するために使用され得る。
【0094】もしブロック306のチェックが、ブロッ
ク308で製造者からのディジタル署名があるというこ
とを示せば、ユーザによって前に確立されている、(か
つユーザが前に信用を確立した製造者によって署名され
ている)信用基準があるとすれば、ディジタル署名を確
証し、適切である証明および権限チェックのいかなるも
のも行なうことによって、製造者の「系統」が確証され
るであろう。権限を委任するディジタル署名を行なうた
めの機構は、本発明者の米国特許第 4,868,877号および
5,005,200号に詳細に特定され、これらの特許は引用に
よってここに明確に援用されている。
【0095】ブロック308の確証動作の結果によっ
て、ブロック320で、製造者の系統が認容可能である
か否かについての決定が行なわれる。もし製造者の系統
が認容可能でなければ、ルーチンはブロック324へ分
岐し、そこでプログラムの実行が以下に説明されるであ
ろうように抑制される。
【0096】もし製造者の系統が認容可能であれば、ル
ーチンはブロック326へ分岐し、そこで記憶域がプロ
グラムについて割当てられ、プログラムは以下に詳細に
説明される態様でロードされる。
【0097】ブロック310で示されるように、もしP
AIがプログラムXに関連していると決定されれば、P
AIが署名されるか否かを決定するチェックが行なわれ
る。もしPAIが署名されれば、ブロック316で示さ
れるように、署名が確証される。現在好ましい実施例に
おいて、署名が証明階層を通して確証される。署名が有
効であるか、それらが呼出人によって信用されている
か、およびプログラムによって委任された権限が署名者
によって委任されていることを許可されるかを決定する
ための好ましい方法論が本発明者の米国特許第 4,868,8
77号および 5,005,200号に教示される。これらの特許に
示されるように、信用レベルはどの高レベルのパブリッ
クキー、および/または超証明子(metacertifier)がユ
ーザによって信用されるように特定されているかによっ
て決定されてもよい。代替的により慣習的なディジタル
署名技術が使用されてもよい。
【0098】ブロック316の処理によって、ブロック
322で署名が有効であり、権限が付与され、かつ信用
されているか否かの決定が行なわれる。もし署名が有効
であると決定されなければ、ルーチンはブロック324
へ分岐し、そこでプログラムXの実行が抑制される。
【0099】もしブロック310のチェックが、PAI
が署名されていないということを表わせば、312で特
定のシステム、またはアプリケーションが、PAIが署
名されることを要求するか否かについてのさらなるチェ
ックが決定される(312)。もし、たとえばユーザ生
成されたプログラムがユーザ自身の使用のために実行さ
れていれば、プログラムは分配されておらず、かつユー
ザは自分が行なったことを信用しているので、署名は必
要でないであろう。もしブロック312でディジタル署
名が必要でなかったと決定されれば、ブロック318は
署名されないPAIを受取り、かつこれを使用し、記憶
域が割当てられ、プログラムXがロードされるであろう
(326)。
【0100】もしブロック312でディジタル署名が必
要であると決定されれば、ブロック314で、明示PA
Iまたは署名されないPAIを有さないプログラムのた
めの「最小の」権限省略値をシステムが有するか否かに
ついてのチェックが行なわれる。したがって、たとえば
システムは、いかなる永続ファイルも変更することを試
みない限り、最小の権限省略値下でプログラムが実行す
ることを許可してもよい。もし最小の権限省略値がなけ
れば、プログラムの実行は抑制される(324)。プロ
グラム実行の抑制過程において、エラーコード、または
メッセージが呼出プログラムへ戻されるであろう。たと
えば、「プログラムXは有効な署名された権限を有さな
い」というメッセージが呼出プログラムへ表示されても
よい。ルーチンはブロック410へ分岐し、そのブロッ
クはさらに後に説明されるであろうように実行を実際に
抑制するように作動する。
【0101】もしブロック322および316の処理が
署名が有効であることを明らかにすれば、ブロック32
6の処理が行なわれる。まず、記憶域がプログラムにつ
いて割当てられる。プログラムはメモリ内にロードされ
てもされなくてもよく、このメモリはスーパバイザのみ
がコンピュータシステムおよびプログラムの性質に組込
まれた制約によって変えることを許容される。もしプロ
グラムがそれ自体を変更すれば、それはスーパバイザの
みが変えることを許容されるメモリ内にロードされるこ
とができない。
【0102】その後、プログラムXのプログラム権限付
与情報が、もしあるならば呼出プログラムのPCBと関
連のPAIと適当に組合わされる。多数のPAIのもの
を含み得る組合わされたPAIはプログラムによって一
般に変更され得ない記憶域内に記憶され、PAIのアド
レスは図8のフィールド156に示されるようにプロセ
ス制御ブロック(PCB)内に記憶される。したがっ
て、プログラムXはもし呼出プログラムによって呼出さ
れれば、それ自身の制約のすべてを受けるとともに、呼
出プログラムの制約とある点で組合わされており、その
集合制約はプログラムXのPAIに具体化される。この
態様において、呼出プログラムは単に別のプログラムを
呼出すことによってその割当てられた境界を超えること
が許可されない。プログラムのPAIが、プログラム自
体の固有の性質、および現在の環境に適用可能である方
策によって、それを呼出すプログラムのPAIと組合わ
され得る、多くの代替方法がある。組合わせ方法でさえ
それ自体、呼出す、または呼出されたプログラムのいず
れか、または両方のPAI権限、または資格付けるもの
の1つであり得る。
【0103】たとえば、呼出されたプログラムをその
「通常の」PAI権限の小さい方およびその呼出プログ
ラムのそれに制限し、呼出プログラムが呼出されたプロ
グラムの大きい方の権限をいたずら半分に誤用してそれ
自身の制限を巧みに回避できないことを保証することが
穏当である。
【0104】他方、それら自身の処置を注意深く確証す
る呼出されたプログラムでは、呼出されたプログラムに
それを呼出すプログラムより大きい固有の権限を許容す
ることが可能であり得、このように高感度の資源がより
広い使用を、信用されたサブプログラムを通してこのよ
うな使用を取り次ぐことによって利用可能にされ得る。
このような組合わせの可能性は基本的制御システムの設
計者によってだけではなく各プログラムへの権限の割当
てを行なう者によっても注意深く検討されねばならな
い。その後、プログラムはロードされ、プログラムのハ
ッシュがプログラムのPAIに特定されるアルゴリズム
に基づき計算される。プログラム314に戻って、もし
システムが最小の権限省略値を有すると決定されれば、
ブロック328に示されるように、最小の省略値権限が
使用される。このような最小の省略値権限はもしあれば
呼出プログラムのPAIと適当に組合わされ、ブロック
326に関連して上に説明されたように新しいPCB内
に挿入される。PAIの記憶域はプログラムが一般に変
えることができないメモリから割当てられる。その後、
記憶域がブロック326に関連して上に説明されたよう
にプログラムについて割当てられ、アドレスがPCB内
に保管される。省略値権限を使用するブロック328の
処理はプログラムのハッシュの計算を含まず、ルーチン
はブロック334へ分岐して、プログラム実行に備え
る。
【0105】ブロック330に移って、ブロック326
の計算されたプログラムハッシュがPAI内に記憶され
るハッシュと一致するか否かを決定するチェックが行な
われる。もしハッシュが一致しなければ、ルーチンはブ
ロック332へ分岐し、そこで「プログラムXが変えら
れた、または損害を受けた。」というようなエラーメッ
セージが呼出プログラムへ送られ、ルーチンはブロック
410へ分岐し、プログラムの実行を抑制する。
【0106】ブロック334において、ハッシュが一致
すると決定された後、またはブロック328における処
理の後、プログラムが初期実行のために用意される。初
期実行のための用意は、初期状態のセット、およびプロ
グラムのPCBにおける情報の「再開」を含み、それに
よってプログラムは適切なエントリポイントで開始する
であろう。さらに、プログラムのPCBは実行スタック
の先頭に置かれるであろう。
【0107】図15へ移り、ブロック336において、
実行スタックの先頭に置かれると、現在のプログラムは
実行を開始するか、または再開する。ブロック330な
いし410で起きる処理は、プログラムを実行するため
に慣用的に行なわれる動作を含む。処理動作がこれより
PAI処理を含むそれらの動作に重点をおいて説明され
るであろう。ブロック336において、スーパバイザは
保管された「再開」点で、様々なレジスタの状態を再ロ
ード(またはロード)して、プログラムが最後に中断さ
れた(または初期化された)時までにその点でそれらの
状態を示すことによって、プログラムを継続する用意を
する。さらに、たとえばスタックポインタなどのような
システム状態情報が使用されている特定のシステム環境
によって回復される。
【0108】ブロック336の処理の後、もしアプリケ
ーションプログラムが実行されていると、システムは
「スーパバイザ」モードから「隔離(isolation)」モー
ドへ切換え、それによってプログラムは隔離モードで実
行を再開する(338)。隔離モードにおいて、プログ
ラムは「スーパバイザ」モードへコンピュータを切換え
て戻す保護されたスーパバイザ呼出を介して以外はコン
ピュータ資源に影響を及ぼすことができない(或る場
合、および或る環境において、プログラムが「スーパバ
イザ」モードで実行するように設計され、要求されるこ
とが可能であろうことが注目される。この場合、プログ
ラムがそのPAIで規定されるように適切に権限付与さ
れると仮定すれば、或る点において「スーパバイザ」機
能を使用し、「スーパバイザ」状態動作が可能なように
そのPCBの状態をセットするであろう。このような場
合、その状態をチェックし、もしセットしてあれば、プ
ログラムスーパバイザ状態へ制御を与えることが適当で
あろう。)。
【0109】ブロック340において、プログラムが制
御された「スーパバイザ」機能を要求していることが推
定される。このような環境下で、たとえば予め定められ
た状態ワードをセットすることによってコンピュータを
「スーパバイザ」モードへ切換え、保護されたシステム
監視中断ルーチンへ制御を送る。プログラムの再開位置
はプログラムのPCBに保管され、他の適切なシステム
状態はPCBに保管される。その後、アクセスされるべ
き機能および資源が決定され、アクセスの性質は、たと
えば読出、変更、および削除などである。
【0110】さらに、ブロック340において、プロセ
ス制御ブロックに記憶されるPAI情報から調査が行な
われる。ブロック340の処理を補うため、またはそれ
に関連して、ブロック342において調査されたPAI
が要求された資源へのアクセスを許容されたか、または
要求された機能を行なうことを許容されたかを決定する
チェックが行なわれる。たとえば、もし電子郵便を使用
することが試みられるならば、プログラムが電子郵便機
能を行なう権限を付与されたか否か、もしそうであれ
ば、郵便が1組の郵便識別子に制限されるか否かを決定
するチェックがPAIから行なわれる。
【0111】もし342のチェックで、PAIが試みら
れた機能、または資源のアクセスを許容しないというこ
とを明示すれば、ブロック344でプログラムがその制
限を超えることを試みているということを示すエラーメ
ッセージが生成され、資源または機能へのアクセスが否
定され、適当なエラーコード、またはメッセージが生成
される。ブロック350において、アクセスの達成を試
みているプログラムが、アクセスを否定されているとい
うことを知らされるべきか否かを決定するチェックが行
なわれる(350)。もしブロック350のチェック
で、プログラムがそう知らされるべきであると明示され
れば、ブロック352においてプログラムがその要求が
うまく行なわれず、かつ抑制されるようにせしめたアク
セス侵害の型を示すメッセージとともに実行を再開する
ことが許容される。ルーチンはプログラムの実行を再開
するためにブロック336へ分岐して戻る。このような
環境下でプログラムは、たとえばそのPAIが特定のフ
ァイルについて権限を読出す権限のみが与えられている
ということを知らされてもよく、一方でそのファイルへ
書込む試みが行なわれた。もしブロック350のチェッ
クが、呼出プログラムが知らされるべきでないと示せ
ば、適当な状態および関連のメッセージ(呼出プログラ
ムのための)が生成され、特定されないアクセス侵害に
よる終了を示す356。
【0112】もしブロック342のチェックが、PAI
が機能または資源へのアクセスを許容すると明示すれ
ば、ブロック346で、慣用的なアクセス制御を与え、
プログラムのユーザがまだ自分の権限の境界内にあるこ
とを確実にするためのチェックが行なわれる。このチェ
ックは、機能または資源の要求がこの特定のユーザのた
めのシステムによって許容されるものの範囲内であるこ
とを確実にする。したがって、PAIはプログラムが或
るクラスのファイルにアクセスすることを許容するであ
ろうが、特定のユーザに関するセキュリティレベルがそ
のようなファイルへのそのユーザのアクセスを許容しな
いかもしれない。ブロック346は従来のセキュリティ
技術を適用して権限を適切に付与されないユーザからシ
ステムを保護する。このチェックはたとえば、署名する
と最初にシステム内に入るユーザ識別コードに基づいて
もよい。ブロック348で示されるように、もしユーザ
が権限付与されなかったならば、プログラムがユーザの
アクセス能力を侵害することを試みているので、アクセ
スが否定され、適切なエラーコード/メッセージが生成
される。その後、ブロック350および352に関して
上に説明された処理が開始される。
【0113】もしユーザがブロック346の処理によっ
て定められるように権限付与されれば、ブロック354
において示されるように機能が行なわれる。もし機能が
プログラムの退出であれば、ルーチンはブロック358
を介してプログラムから退出し、そこで関連のPCBが
実行スタックの先頭から取除かれる。
【0114】さらなる終了処理がブロック410で行な
われ、そこでプログラムの実行中に蓄積されたいかなる
漂遊記憶および資源も解放され、それは必要に応じてプ
ログラムXに割当てられた記憶およびそのPAI記憶を
含む。PCBおよびすべての関連の記憶が解放され、エ
ラーコードおよびメッセージを適切に含む最終状態情報
がプログラムの呼出人に提示される。その後、ルーチン
はブロック336へ分岐して戻り呼出プログラムを再開
する。
【0115】最後に、ブロック354へ戻って、もしプ
ログラムの呼出が行なわれるべき機能であれば、ルーチ
ンは図14のブロック300へ分岐し、適切なプログラ
ムを呼出す。
【0116】この発明は現在最も実際的、かつ好ましい
実施例であると考えられるものに関して説明されてきた
が、この発明は開示される実施例に限定されるべきでは
ないと理解されるべきであり、前掲の請求項の精神およ
び範囲内に含まれる様々な変更および同等の配置を包括
することが意図される。
【図面の簡単な説明】
【図1】この発明と関連して使用され得る例証的なコミ
ュニケーションシステムを示すブロック図形式の図であ
る。
【図2】プログラム権限情報データ構造の例示の図であ
る。
【図3】プログラム権限情報をプログラムに関連づける
例証的な方法を例示する図である。
【図4】プログラム権限情報をプログラムに関連づける
例証的な方法を例示する図である。
【図5】プログラム権限情報をプログラムに関連づける
例証的な方法を例示する図である。
【図6】プログラム権限情報をプログラムに関連づける
例証的な方法を例示する図である。
【図7】不明の出所のプログラムと関連して、ユーザが
この発明をどのように使用し得るかを例示する一般的な
フローチャートの図である。
【図8】この発明の例証的な実施例に従うプログラムコ
ントロールブロックデータ構造の例示の図である。
【図9】プログラム権限情報を確立するためのプログラ
ムの動作のシーケンスを正確に叙述するフローチャート
の図である。
【図10】プログラム権限情報を確立するためのプログ
ラムの動作のシーケンスを正確に叙述するフローチャー
トの図である。
【図11】プログラム権限情報を確立するためのプログ
ラムの動作のシーケンスを正確に叙述するフローチャー
トの図である。
【図12】プログラム権限情報を確立するためのプログ
ラムの動作のシーケンスを正確に叙述するフローチャー
トの図である。
【図13】プログラム権限情報を確立するためのプログ
ラムの動作のシーケンスを正確に叙述するフローチャー
トの図である。
【図14】プログラム権限情報を処理する際のスーパバ
イザプログラムによって実行される動作のシーケンスを
例示する図である。
【図15】プログラム権限情報を処理する際のスーパバ
イザプログラムによって実行される動作のシーケンスを
例示する図である。
【符号の説明】
2 プロセッサ 4 ディスプレイ 7 メモリ 12 コミュニケーションチャンネル
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 H04L 9/12

Claims (57)

    【特許請求の範囲】
  1. 【請求項1】 複数のプログラムを実行するための処理
    手段(2)と、プログラム命令およびデータを記憶する
    ためのメモリ手段(7)とを有するコンピュータシステ
    ムにおいて、プログラム権限情報データ構造(図2)
    は、 複数の権限エントリ(32、34、36)を記憶するた
    めの手段を含み、前記エントリは関連のプログラムが実
    行することを許容される動作を資格付け、 少なくとも1つのセグメントに、前記権限エントリを少
    なくとも1つのプログラム(24、28)と関連させる
    ためのデータを記憶するための手段をさらに含む、デー
    タ構造。
  2. 【請求項2】 前記少なくとも1つのセグメントは前記
    関連のプログラム(24)のハッシュを記憶するための
    手段を含む、請求項1に記載のデータ構造。
  3. 【請求項3】 複数の権限エントリを記憶するための手
    段は前記エントリ(34)の各々について少なくとも1
    つの型の機能および資源を示すための手段を含む、請求
    項1に記載のデータ構造。
  4. 【請求項4】 複数の権限エントリを記憶するための手
    段はプログラムに対して認められている権限および能力
    の資格付けを記憶するための手段を含む、請求項1に記
    載のデータ構造。
  5. 【請求項5】 ディジタル署名(40)を記憶するため
    の手段をさらに含む、請求項1に記載のデータ構造。
  6. 【請求項6】 署名する当事者に対して認められる権限
    を示すための手段をさらに含む、請求項5に記載のデー
    タ構造。
  7. 【請求項7】 複数のディジタル署名が有効とみなされ
    るべき少なくとも1つの署名について必要であることを
    示すための手段をさらに含む、請求項5に記載のデータ
    構造。
  8. 【請求項8】 複数の権限エントリを記憶するための前
    記手段は、前記関連のプログラムがアクセスする権限を
    有するデータの組の指示を記憶するための手段を含む、
    請求項1に記載のデータ構造。
  9. 【請求項9】 複数の権限エントリを記憶するための前
    記手段は、前記関連のプログラムがアクセスする権限を
    有する少なくとも1つのファイルのフィールドの組の指
    示(212)を記憶するための手段を含む、請求項1に
    記載のデータ構造。
  10. 【請求項10】 複数の権限エントリを記憶するための
    前記手段は、前記関連のプログラムがプログラムを呼出
    す権限を有するか否かの指示(210)を記憶するため
    の手段を含む、請求項1に記載のデータ構造。
  11. 【請求項11】 複数の権限エントリを記憶するための
    前記手段は、前記関連のプログラムが電子郵便を生成す
    る権限を有するか否かの指示(222)を記憶するため
    の手段を含む、請求項1に記載のデータ構造。
  12. 【請求項12】 複数の権限エントリを記憶するための
    前記手段は、前記関連のプログラムがデータを他のユー
    ザへ伝送する権限を有するか否かの指示(226)を記
    憶するための手段を含む、請求項1に記載のデータ構
    造。
  13. 【請求項13】 複数の権限エントリを記憶するための
    前記手段は、前記関連のプログラムが文書開放動作を行
    なう権限を有するか否かの指示(228)を記憶するた
    めの手段を含む、請求項1に記載のデータ構造。
  14. 【請求項14】 複数の権限エントリを記憶するための
    前記手段は、メモリアクセス特権がこのプログラムで権
    限付与されたという指示(232)を記憶するための手
    段を含む、請求項1に記載のデータ構造。
  15. 【請求項15】 複数の権限エントリを記憶するための
    前記手段は、ユーザへ情報を表示する能力に関する前記
    関連のプログラムの少なくとも1つの修飾の指示(23
    8)を記憶するための手段を含む、請求項1に記載のデ
    ータ構造。
  16. 【請求項16】 複数の権限エントリを記憶するための
    前記手段は、ユーザのために入力を請求する能力に関し
    て前記関連のプログラムにおける少なくとも1つの資格
    付けの指示(247)を記憶するための手段を含む、請
    求項1に記載のデータ構造。
  17. 【請求項17】 複数の権限エントリを記憶するための
    前記手段は、ユーザのためにディジタル署名を請求する
    能力に関して前記関連のプログラムにおける少なくとも
    1つの資格付けの指示(246)を記憶するための手段
    を含む、請求項1に記載のデータ構造。
  18. 【請求項18】 複数の権限エントリを記憶するための
    前記手段は、装置を制御する能力に関して前記関連のプ
    ログラムにおける少なくとも1つの資格付けの指示(2
    50)を記憶するための手段を含む、請求項1に記載の
    データ構造。
  19. 【請求項19】 複数の権限エントリを記憶するための
    前記手段は、アクセスがセキュリティクリアランスによ
    って制限されることの指示を記憶するための手段を含
    む、請求項1に記載のデータ構造。
  20. 【請求項20】 記憶するための前記手段は、文書開放
    動作が行なわれてもよいという指示を記憶するための手
    段を含む、請求項1に記載のデータ構造。
  21. 【請求項21】 前記複数の権限エントリはディジタル
    署名の一部として含まれる、請求項1に記載のデータ構
    造。
  22. 【請求項22】 複数のプログラムを実行するための処
    理手段(2)と、少なくとも1つのプログラムを記憶す
    るためのメモリ手段(7)とを含むコンピュータシステ
    ムにおいて、データセキュリティのための改良された方
    法は、 関連のプログラムによって使用されるであろう少なくと
    も1つのそれらのコンピュータ資源および機能を示す複
    数の権限エントリを記憶するためのプログラム権限情報
    データ構造(図2)を確立するステップと、 前記プログラム権限情報データ構造を格納する(26
    6)ステップと、 プログラム権限情報データ構造を、前記コンピュータシ
    ステムによって実行されるべき少なくとも1つのプログ
    ラムに関連させ、それによってプログラム権限情報がそ
    の関連のプログラムが実行されるとき監視されるために
    利用可能である(272)ステップとを含む、改良され
    た方法。
  23. 【請求項23】 プログラム権限情報データ構造の一部
    として実行されるべき前記プログラムのディジタルハッ
    シュ(24)を含むステップをさらに含む、請求項22
    に記載の方法。
  24. 【請求項24】 権限エンティティのプライベートキー
    でプログラム権限情報データの少なくとも一部にディジ
    タル署名するステップをさらに含む、請求項22に記載
    の方法。
  25. 【請求項25】 ディジタル署名するステップは、複数
    のディジタル署名がいかなるディジタル署名も有効であ
    るために要求されるということを示す(44)ことを含
    む、請求項24に記載の方法。
  26. 【請求項26】 ディジタル署名するステップは、署名
    者に認められている権限の少なくとも1つの資格付けを
    示す(40)ステップを含む、請求項24に記載の方
    法。
  27. 【請求項27】 プログラム権限情報データ構造は関連
    のプログラムが実行される前にコンピュータユーザによ
    って規定される、請求項22に記載の方法。
  28. 【請求項28】 前記コンピュータユーザは特別な特権
    を有さず、前記ユーザ自身の使用のために前記プログラ
    ム権限情報を規定する、請求項27に記載の方法。
  29. 【請求項29】 確立するステップは、プログラムがア
    クセスを有し得る少なくとも1つのデータファイルの少
    なくとも一部の指示(212)を与える、請求項22に
    記載の方法。
  30. 【請求項30】 確立するステップは、実行されるべき
    プログラムがアクセスを有する少なくとも1つのファイ
    ルの指示を与え、かつ少なくとも1つのファイルに情報
    を書込む能力を特定する(216)、請求項22に記載
    の方法。
  31. 【請求項31】 確立するステップは、前記プログラム
    によって呼出される権限を付与されるプログラムの組の
    指示(220)を与える、請求項22に記載の方法。
  32. 【請求項32】 実行されるべきプログラムと関連する
    前記記憶されたプログラム権限情報を使用して、そうで
    なければ前記プログラムへ利用可能であろう少なくとも
    1つの資源および機能の使用を制限するステップをさら
    に含む、請求項22に記載の方法。
  33. 【請求項33】 確立するステップは、情報を伝送する
    前記関連のプログラムの権限を支配する少なくとも1つ
    の規則を示す(226)、請求項22に記載の方法。
  34. 【請求項34】 少なくとも1つの規則は、情報を伝送
    する権限が電子郵便を利用するステップを含むことを示
    す(222)、請求項33に記載の方法。
  35. 【請求項35】 確立するステップは、ディジタル署名
    を行なうプログラムの能力を支配する少なくとも1つの
    規則を与える、請求項22に記載の方法。
  36. 【請求項36】 確立するステップは、文書開放動作を
    行なうプログラムの能力を資格付けする、請求項22に
    記載の方法。
  37. 【請求項37】 確立するステップは、権限のために十
    分な監視を受けていない機械語命令を実行するプログラ
    ムの能力を資格付けする、請求項22に記載の方法。
  38. 【請求項38】 確立するステップは、前記関連のプロ
    グラムがアクセスすることを許容されるメモリの組を資
    格付けする(212、216)、請求項22に記載の方
    法。
  39. 【請求項39】 確立するステップは、ユーザへ情報を
    表示するプログラムの能力を支配する資格付けの組を示
    す(238)、請求項22に記載の方法。
  40. 【請求項40】 確立するステップは、ユーザから情報
    を請求するプログラムの能力を支配する資格付けの組を
    示す(242)、請求項22に記載の方法。
  41. 【請求項41】 確立するステップは、コンピュータへ
    結合されるコンピュータ制御された資源を制御するプロ
    グラムの能力を支配する資格付けの組を示す(25
    0)、請求項22に記載の方法。
  42. 【請求項42】 資格付けの組はモデムを介して情報を
    伝送するプログラムの能力を支配する、請求項41に記
    載の方法。
  43. 【請求項43】 複数のプログラムを実行するための手
    段と、実行するための前記手段へ結合され、データおよ
    びプログラム命令を記憶するためのメモリ手段とを有す
    るコンピュータシステムにおいて、コンピュータユーザ
    のために実行するための前記手段によってプログラムを
    実行するための方法は、 実行されるべきプログラムを識別するステップ(30
    0)と、 プログラム権限情報データ構造がプログラムと関連して
    いるか否かを決定するステップ(304)とを含み、前
    記プログラム権限データ構造は前記コンピュータユーザ
    に対して利用可能である動作の実行からプログラムの能
    力を資格付けし、 前記プログラム権限情報データ構造を、前記プログラム
    と関連しているかを調べるステップ(310、330)
    と、 関連のプログラムが企図された動作を実行することを許
    容されるか否か、前記プログラム権限情報の調査から決
    定するステップ(342)と、 もし前記プログラム権限情報データ構造が、前記プログ
    ラムが企図された動作を実行することを許容されないこ
    とを示せば、前記動作の性能を抑制するステップ(34
    4、410)とをさらに含む、方法。
  44. 【請求項44】 前記プログラムが要求された資源を利
    用することを許可する前に、前記権限情報をチェックす
    るステップをさらに含む、請求項43に記載の方法。
  45. 【請求項45】 前記プログラム権限情報データ構造が
    前記関連のプログラムで規定される動作の性能を許容す
    るか否かをチェックするステップをさらに含む、請求項
    43に記載の方法。
  46. 【請求項46】 ユーザが予め定められた動作を行なう
    プログラムを実行する権限を割当てられているか否かを
    決定するためにチェックを行なうステップ(346)を
    さらに含む、請求項43に記載の方法。
  47. 【請求項47】 前記プログラム権限情報データ構造に
    関連するいかなるディジタル署名も確証するステップ
    (316)をさらに含む、請求項43に記載の方法。
  48. 【請求項48】 もし前記ディジタル署名が有効でなけ
    れば、前記プログラムの実行を抑制するためのステップ
    (322、324)を含む、請求項47に記載の方法。
  49. 【請求項49】 前記プログラムの権限情報を前記プロ
    グラムを呼出しているルーチンに関連する権限情報と組
    合わせるステップをさらに含む、請求項43に記載の方
    法。
  50. 【請求項50】 前記権限情報データ構造は前記プログ
    ラムのハッシュを記憶するための手段を含み、前記プロ
    グラムのハッシュを計算し、計算されたハッシュを前記
    記憶されたハッシュと比較するステップをさらに含む、
    請求項43に記載の方法。
  51. 【請求項51】 ディジタル署名の署名者と関連する権
    限を確証するステップ(308)をさらに含む、請求項
    43に記載の方法。
  52. 【請求項52】 前記プログラムの権限情報を、前記プ
    ログラムによって呼出されるルーチンと関連する権限情
    報と組合わせるステップをさらに含む、請求項43に記
    載の方法。
  53. 【請求項53】 前記権限情報は前記関連のプログラム
    がアクセスする権限を有するデータの組の指示を含む、
    請求項43に記載の方法。
  54. 【請求項54】 前記プログラム命令は機械語コードで
    表され、前記動作はプログラム権限データ構造を監視
    し、補強する制御されたスーパバイザへの呼出しを介し
    て行なわれる、請求項43に記載の方法。
  55. 【請求項55】 前記プログラム権限情報を、自身を別
    の行先へ伝送するための命令を含む移動プログラムと関
    連させるステップをさらに含む、請求項43に記載の方
    法。
  56. 【請求項56】 証明を変数として、前記変数が前記プ
    ログラムによって演算され得るような移動プログラム内
    に記憶するステップをさらに含む、請求項55に記載の
    方法。
  57. 【請求項57】 前記プログラム命令は、前記プログラ
    ム権限データ構造を監視し、補強するインタプリタプロ
    グラムによって処理される解釈「疑似」コードで表され
    る、請求項43に記載の方法。
JP11315793A 1992-05-15 1993-05-14 データセキュリティのための改良された方法、およびコンピュータシステム Expired - Lifetime JP3784423B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US88386792A 1992-05-15 1992-05-15
US883867 1992-05-15
US07/883,868 US5412717A (en) 1992-05-15 1992-05-15 Computer system security method and apparatus having program authorization information data structures
US883868 1992-05-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005358699A Division JP3880607B2 (ja) 1992-05-15 2005-12-13 プログラム権限情報データ構造

Publications (2)

Publication Number Publication Date
JPH06103058A true JPH06103058A (ja) 1994-04-15
JP3784423B2 JP3784423B2 (ja) 2006-06-14

Family

ID=27128706

Family Applications (2)

Application Number Title Priority Date Filing Date
JP11315793A Expired - Lifetime JP3784423B2 (ja) 1992-05-15 1993-05-14 データセキュリティのための改良された方法、およびコンピュータシステム
JP2005358699A Expired - Lifetime JP3880607B2 (ja) 1992-05-15 2005-12-13 プログラム権限情報データ構造

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2005358699A Expired - Lifetime JP3880607B2 (ja) 1992-05-15 2005-12-13 プログラム権限情報データ構造

Country Status (7)

Country Link
EP (1) EP0570123B1 (ja)
JP (2) JP3784423B2 (ja)
AT (1) ATE177857T1 (ja)
AU (1) AU672786B2 (ja)
CA (1) CA2095087C (ja)
DE (1) DE69323926T2 (ja)
ES (1) ES2128393T3 (ja)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816387A (ja) * 1994-06-22 1996-01-19 At & T Corp プログラム実行装置
JPH08137686A (ja) * 1994-09-16 1996-05-31 Toshiba Corp 著作物データ管理方法及び著作物データ管理装置
JPH1083310A (ja) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> プログラム・コードの配布方法及びシステム
JPH10507324A (ja) * 1994-09-07 1998-07-14 インテル・コーポレーション ハードウェア・エージェントに対するロビング・ソフトウェア・ライセンス
JP2001127747A (ja) * 1999-10-25 2001-05-11 Toshiba Corp 情報暗号化復号化装置
KR20020034862A (ko) * 2000-11-02 2002-05-09 권문상 컴퓨터의 응용프로그램의 비밀값 제어방법
WO2003088056A1 (fr) * 2002-04-15 2003-10-23 Sony Corporation Dispositif de traitement d'information, procede et programme correspondants
JP2005501328A (ja) * 2001-08-27 2005-01-13 バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト 車両の制御器により使用されるソフトウェアを提供するための方法
JP2005071339A (ja) * 2003-08-21 2005-03-17 Samsung Electronics Co Ltd ユーザ間のコンテンツに対する権限情報の共有方法
JP2005129066A (ja) * 2003-10-24 2005-05-19 Microsoft Corp オペレーティングシステムリソース保護
WO2005052769A1 (ja) * 2003-11-28 2005-06-09 Matsushita Electric Industrial Co.,Ltd. データ処理装置
JP2006504189A (ja) * 2002-10-25 2006-02-02 エクスパートン、ベッティーナ ネットワークアドレスおよびアプリケーションを自動起動しアクセスするためのシステムおよび方法(優先権)これは、特許協力条約(pct)に基づいて提出された国際特許出願である。この国際出願は、参照として組み込まれた、2002年10月25日に出願された米国仮出願第60/421,622号の優先権を主張する。
JP2008159072A (ja) * 1995-02-13 2008-07-10 Intertrust Technologies Corp 安全な取引管理装置および電子権利保護のためのシステムおよび方法
JP2008210408A (ja) * 1994-11-23 2008-09-11 Contentguard Holdings Inc レンダリングシステム
JP2009123247A (ja) * 1999-12-10 2009-06-04 Microsoft Corp クライアント側のブートドメインおよびブート規則
US7684792B2 (en) 2001-05-31 2010-03-23 Qualcomm Incorporated Safe application distribution and execution in a wireless environment
US8396939B2 (en) 2007-02-14 2013-03-12 Ntt Docomo, Inc. Content distribution management device, terminal, program, and content distribution system
JP2014504764A (ja) * 2011-01-18 2014-02-24 アップル インコーポレイテッド メモリ範囲を無作為に割り当てたセキュアシステムにおいてjitをサポートするためのシステム及び方法
US8744424B2 (en) 2002-05-20 2014-06-03 Ntt Docomo, Inc. Portable terminal, methods, programs and storage media for program startup management
USRE46387E1 (en) 1998-09-11 2017-05-02 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
USRE46438E1 (en) 1999-09-24 2017-06-13 Genesys Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US9690946B2 (en) 2012-11-14 2017-06-27 International Business Machines Corporation Security analysis using relational abstraction of data structures
US9854006B2 (en) 2005-12-22 2017-12-26 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ279622A (en) * 1994-01-13 1998-04-27 Certco Llc Encrypted secure and verifiable communication: cryptographic keys escrowed
US5553143A (en) * 1994-02-04 1996-09-03 Novell, Inc. Method and apparatus for electronic licensing
US5553139A (en) * 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
EP0717337B1 (en) * 1994-12-13 2001-08-01 International Business Machines Corporation Method and system for the secured distribution of programs
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
CA2202118A1 (en) * 1996-04-29 1997-10-29 Mitel Corporation Protected persistent storage access for mobile applications
US5987123A (en) * 1996-07-03 1999-11-16 Sun Microsystems, Incorporated Secure file system
US6148083A (en) * 1996-08-23 2000-11-14 Hewlett-Packard Company Application certification for an international cryptography framework
US5841870A (en) * 1996-11-12 1998-11-24 Cheyenne Property Trust Dynamic classes of service for an international cryptography framework
US5920861A (en) * 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6167522A (en) * 1997-04-01 2000-12-26 Sun Microsystems, Inc. Method and apparatus for providing security for servers executing application programs received via a network
BR9806000A (pt) * 1997-06-17 2000-01-25 Purdue Pharma Lp Documento autodestrutivo e sistema de envio de mensagens por e-mail.
US6000032A (en) * 1997-07-15 1999-12-07 Symantec Corporation Secure access to software modules
US6188995B1 (en) 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
IL123512A0 (en) 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
DE69941142D1 (de) * 1998-05-06 2009-09-03 Sun Microsystems Inc Verarbeitungsmaschine und verarbeitungsverfahren
US6901386B1 (en) * 2000-03-31 2005-05-31 Intel Corporation Electronic asset lending library method and apparatus
US7263616B1 (en) 2000-09-22 2007-08-28 Ge Medical Systems Global Technology Company, Llc Ultrasound imaging system having computer virus protection
JPWO2003107182A1 (ja) 2002-06-12 2005-10-20 松下電器産業株式会社 サービス安全拡張プラットフォーム
JP6236816B2 (ja) * 2013-03-15 2017-11-29 株式会社リコー 画像処理システム、情報処理装置及びプログラム
US10694352B2 (en) 2015-10-28 2020-06-23 Activision Publishing, Inc. System and method of using physical objects to control software access

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JPH04123250A (ja) * 1990-09-14 1992-04-23 Fujitsu Ltd ファイルアクセス制限処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2059652B (en) 1979-09-29 1983-08-24 Plessey Co Ltd Memory protection system using capability registers
AU618056B2 (en) * 1987-11-10 1991-12-12 Acresso Software Inc. Computer program license management system
CA2093094C (en) 1992-04-06 2000-07-11 Addison M. Fischer Method and apparatus for creating, supporting, and using travelling programs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JPH04123250A (ja) * 1990-09-14 1992-04-23 Fujitsu Ltd ファイルアクセス制限処理装置

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816387A (ja) * 1994-06-22 1996-01-19 At & T Corp プログラム実行装置
JPH10507324A (ja) * 1994-09-07 1998-07-14 インテル・コーポレーション ハードウェア・エージェントに対するロビング・ソフトウェア・ライセンス
JPH08137686A (ja) * 1994-09-16 1996-05-31 Toshiba Corp 著作物データ管理方法及び著作物データ管理装置
JP4521049B2 (ja) * 1994-11-23 2010-08-11 コンテントガード ホールディングズ インコーポレイテッド ディジタルワークの使用または配給を制御するシステム
JP2008287726A (ja) * 1994-11-23 2008-11-27 Contentguard Holdings Inc ディジタルワークの使用または配給を制御するシステム
JP2008210408A (ja) * 1994-11-23 2008-09-11 Contentguard Holdings Inc レンダリングシステム
JP2008159072A (ja) * 1995-02-13 2008-07-10 Intertrust Technologies Corp 安全な取引管理装置および電子権利保護のためのシステムおよび方法
JPH1083310A (ja) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> プログラム・コードの配布方法及びシステム
USRE46521E1 (en) 1997-09-30 2017-08-22 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
USRE46387E1 (en) 1998-09-11 2017-05-02 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US10218848B2 (en) 1998-09-11 2019-02-26 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
USRE46457E1 (en) 1999-09-24 2017-06-27 Genesys Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
USRE46438E1 (en) 1999-09-24 2017-06-13 Genesys Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
JP2001127747A (ja) * 1999-10-25 2001-05-11 Toshiba Corp 情報暗号化復号化装置
JP2009123247A (ja) * 1999-12-10 2009-06-04 Microsoft Corp クライアント側のブートドメインおよびブート規則
JP4550147B2 (ja) * 1999-12-10 2010-09-22 マイクロソフト コーポレーション コンポーネントをロードするための方法、システム及び記録媒体
KR20020034862A (ko) * 2000-11-02 2002-05-09 권문상 컴퓨터의 응용프로그램의 비밀값 제어방법
US8112076B2 (en) 2001-05-31 2012-02-07 Qualcomm Incorporated Safe application distribution and execution in a wireless environment
US7684792B2 (en) 2001-05-31 2010-03-23 Qualcomm Incorporated Safe application distribution and execution in a wireless environment
US8588766B2 (en) 2001-05-31 2013-11-19 Qualcomm Incorporated Safe application distribution and execution in a wireless environment
JP2005501328A (ja) * 2001-08-27 2005-01-13 バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト 車両の制御器により使用されるソフトウェアを提供するための方法
WO2003088056A1 (fr) * 2002-04-15 2003-10-23 Sony Corporation Dispositif de traitement d'information, procede et programme correspondants
US8744424B2 (en) 2002-05-20 2014-06-03 Ntt Docomo, Inc. Portable terminal, methods, programs and storage media for program startup management
USRE46538E1 (en) 2002-10-10 2017-09-05 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
JP2006504189A (ja) * 2002-10-25 2006-02-02 エクスパートン、ベッティーナ ネットワークアドレスおよびアプリケーションを自動起動しアクセスするためのシステムおよび方法(優先権)これは、特許協力条約(pct)に基づいて提出された国際特許出願である。この国際出願は、参照として組み込まれた、2002年10月25日に出願された米国仮出願第60/421,622号の優先権を主張する。
JP4694800B2 (ja) * 2003-08-21 2011-06-08 三星電子株式会社 ユーザ間のコンテンツに対する権限情報の共有方法
US8316461B2 (en) 2003-08-21 2012-11-20 Samsung Electronics Co., Ltd. Method for sharing rights objects between users
US7734917B2 (en) 2003-08-21 2010-06-08 Samsung Electronics Co., Ltd. Method for sharing rights objects between users
JP2005071339A (ja) * 2003-08-21 2005-03-17 Samsung Electronics Co Ltd ユーザ間のコンテンツに対する権限情報の共有方法
JP2005129066A (ja) * 2003-10-24 2005-05-19 Microsoft Corp オペレーティングシステムリソース保護
US7788487B2 (en) 2003-11-28 2010-08-31 Panasonic Corporation Data processing apparatus
WO2005052769A1 (ja) * 2003-11-28 2005-06-09 Matsushita Electric Industrial Co.,Ltd. データ処理装置
US9854006B2 (en) 2005-12-22 2017-12-26 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US8396939B2 (en) 2007-02-14 2013-03-12 Ntt Docomo, Inc. Content distribution management device, terminal, program, and content distribution system
JP2014504764A (ja) * 2011-01-18 2014-02-24 アップル インコーポレイテッド メモリ範囲を無作為に割り当てたセキュアシステムにおいてjitをサポートするためのシステム及び方法
US9690945B2 (en) 2012-11-14 2017-06-27 International Business Machines Corporation Security analysis using relational abstraction of data structures
US9690946B2 (en) 2012-11-14 2017-06-27 International Business Machines Corporation Security analysis using relational abstraction of data structures
US10380349B2 (en) 2012-11-14 2019-08-13 International Business Machines Corporation Security analysis using relational abstraction of data structures

Also Published As

Publication number Publication date
JP3784423B2 (ja) 2006-06-14
ES2128393T3 (es) 1999-05-16
DE69323926T2 (de) 1999-09-30
EP0570123A1 (en) 1993-11-18
EP0570123B1 (en) 1999-03-17
AU672786B2 (en) 1996-10-17
AU3820993A (en) 1993-11-18
JP2006099805A (ja) 2006-04-13
CA2095087C (en) 1999-06-01
DE69323926D1 (de) 1999-04-22
CA2095087A1 (en) 1993-11-16
ATE177857T1 (de) 1999-04-15
JP3880607B2 (ja) 2007-02-14

Similar Documents

Publication Publication Date Title
JP3784423B2 (ja) データセキュリティのための改良された方法、およびコンピュータシステム
US5412717A (en) Computer system security method and apparatus having program authorization information data structures
US5347578A (en) Computer system security
US8195938B2 (en) Cloud-based application whitelisting
Biba Integrity considerations for secure computer systems
US6934758B2 (en) Stack-based access control using code and executor identifiers
KR100267872B1 (ko) 프로그램코드배포방법및컴퓨터시스템
Karger Limiting the damage potential of discretionary Trojan horses
US7200869B1 (en) System and method for protecting domain data against unauthorized modification
Abrams RENEWED UNDERSTANDING OF ACCESS CONTROL POLICIES¹
Pramanik et al. Security policies to mitigate insider threat in the document control domain
KR20020016711A (ko) 다중 등급 보안 방식에 의한 강제적 객체접근 제어 방법및 이를 프로그램화하여 수록한 컴퓨터로 읽을 수 있는기록매체
JP3756397B2 (ja) アクセス制御方法およびアクセス制御装置および記録媒体
WO2018065750A1 (en) Enhanced computer objects security
Pozzo et al. A model for the containment of computer viruses
Rabin et al. An integrated toolkit for operating system security
JP2005085026A (ja) アクセス制御装置ならびにそのプログラム
Grimm et al. Access control in extensible systems
Langmead Comparative Evaluation of Access Control Models
US7653630B2 (en) Method and apparatus for facilitating privileged object stores in a database
CN115270157A (zh) 一种访问控制方法及系统
Wong et al. Providing software integrity using type managers
Ooi Access control for an object-oriented distributed platform
Privileges Privileges, Permissions, & File I/O
Irvine Security Policy Enforcement

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030408

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050912

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060315

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100324

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110324

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110324

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120324

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130324

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130324

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140324

Year of fee payment: 8

EXPY Cancellation because of completion of term