JP4390911B2 - 保護されたメモリシステム内のサービスへのアクセスを制御するための許可 - Google Patents

保護されたメモリシステム内のサービスへのアクセスを制御するための許可 Download PDF

Info

Publication number
JP4390911B2
JP4390911B2 JP16902599A JP16902599A JP4390911B2 JP 4390911 B2 JP4390911 B2 JP 4390911B2 JP 16902599 A JP16902599 A JP 16902599A JP 16902599 A JP16902599 A JP 16902599A JP 4390911 B2 JP4390911 B2 JP 4390911B2
Authority
JP
Japan
Prior art keywords
application
access
service
processor
request
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.)
Expired - Lifetime
Application number
JP16902599A
Other languages
English (en)
Other versions
JP2000057045A (ja
Inventor
リプキン エフレム
シー. ゴールドステイン セオドール
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2000057045A publication Critical patent/JP2000057045A/ja
Application granted granted Critical
Publication of JP4390911B2 publication Critical patent/JP4390911B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムにおける保護メカニズムに関する。より詳細には、本発明は、保護されたメモリシステム内の他のアプリケーションによって提供されたサービスへのアクセスを制御する方法および装置に関する。
【0002】
【従来の技術】
JavaTMプログラミング言語(カリフォルニア州Palo Altoのサンマイクロシステムズ社により開発)等のプログラミング言語および関連するサポーティングインターフェースが、現在、コンピュータネットワークに亘るアプリケーションの転送をサポートし、且つ、広い範囲のコンピュータプラットフォーム上でアプリケーションを実行する、信頼できる安全なインフラストラクチャを提供している。Java等の開発のために、遠隔サーバからローカルマシン上にJavaアプレット等のアプリケーションを搭載し、ローカルマシン上でアプリケーションを実行することが次第に一般的になりつつある。
【0003】
【発明が解決しようとする課題】
しかし、現在のコンピュータシステムは、製造元が異なるコンピュータアプリケーションが一緒に機能して所定のタスクを達成できるように、制御された手段でアプリケーションが相互作用できるように設計されていない。アプリケーションの相互作用を達成する上での1つの問題は、通常、アプリケーションの製造元が、これらの相互作用を行う手段を制御することを望むという点にある。例えば、家屋仲介業務アプリケーションから得られるキャピタルゲイン情報にアクセスすることは、課税アプリケーションに役立ち得る。しかし、家屋仲介業務アプリケーションは顧客のポートフォリオのプライバシーを保護する必要がある。従って、課税アプリケーションは、家屋仲介業務アプリケーションから得られるポートフォリオデータに無制限にアクセスさせることはできない。
【0004】
歴史的に、コンピュータシステム内のサービスへのアクセスを制御するタスクは、ハードウェア性能システム等のハードウェアメカニズムを介して操作されてきた。しかし、このような特殊目的ハードウェアは、全てのコンピュータシステムには存在しない。結果的に、広い範囲のコンピュータプラットフォームを渡って動作するように設計されたJavaTMアプレット等の移植可能アプリケーションのために、サービスへのアクセスを制御するこのようなハードウェアを用いることは実用的ではない。
【0005】
【課題を解決するための手段】
本発明による保護されたメモリシステム内のサービスへのアクセスを制御する方法は、許可を介してサービスに対する要求を受け取るステップであって、許可がオブジェクト指向プログラミングシステム内に規定されたオブジェクトを含むステップと、要求に応答して許可内のアクセス制御メカニズムを作動するステップであって、許可上のメソッドを呼び出すことによってアクセス制御メカニズムがトリガされるように、アクセス制御メカニズムがサービスへのアクセスを制御し、且つ、許可のユーザから保護されたメモリ空間内に存在するステップと、アクセスが許可されると、制御されたオブジェクト上での呼び出しを実行することによってサービスにアクセスするステップであって、制御されたオブジェクトはサービスを実行するメソッドを含み、メソッドを含まない場合には許可のユーザから保護されるステップとを含み、そのことにより上記目的が達成される。
【0006】
本発明の方法は、アクセスが拒否された場合に、サービスを要求するエンティティに対して、サービスへのアクセスが拒否されたことを示すステップを更に含んでもよい。
【0007】
許可がJavaTMプログラミング言語およびサポーティングインターフェース内に規定されてもよい。
【0008】
許可によって保護されたデータが、許可上に呼び出されたメソッドを介してのみアクセスされ得てもよい。
【0009】
本発明の方法は、許可発行権限において、サービスへのアクセスを要求するエンティティから許可に対する要求を受け取るステップと、要求が有効権限情報を含む場合、許可をエンティティに発行するステップとを更に含んでもよい。
【0010】
本発明の方法は、許可のコピーを生成するステップと、サービスへのアクセスを要求するエンティティにコピーを転送するステップとを更に含んでもよい。
【0011】
許可のコピーによってアクセス可能になるサービスの数が、コピーの元となった許可によってアクセス可能になるサービスの数よりも少なくてもよい。
【0012】
本発明の方法は、サービスにアクセスする前に許可が取り消しにされたかどうかを判定するステップと、許可が取り消しにされた場合に、アクセスが拒否された旨を示すステップとを更に含んでもよい。
【0013】
本発明の方法は、許可に関連するログ内にアクセス要求を記録するステップを含んでもよい。
【0014】
アクセス制御メカニズムを作動するステップが、許可が失効したかどうかを判定するステップを含んでもよい。
【0015】
アクセス制御メカニズムが制御されたオブジェクトへのポインタを含み、ポインタが許可のユーザから保護されたメモリ空間内に存在してもよい。
【0016】
アクセス制御メカニズムが、呼び出されてサービスを実行するメソッドを含み、アクセスが拒否された場合に、メソッドがサービスを実行せず、その代わりにサービスへのアクセスが許可されないことを示してもよい。
【0017】
アクセス制御メカニズムが、呼び出されてサービスを実行するメソッドに関連する変数を有し、変数は、アクセスが許可されたかどうかを示してもよい。
【0018】
本発明による保護されたメモリシステム内のサービスへのアクセスを制御する方法は、許可を介してサービスに対する要求を受け取るステップであって、許可がオブジェクト指向プログラミングシステム内に規定されたオブジェクトを含むステップと、要求に応答して許可内のアクセス制御メカニズムを作動するステップであって、許可上のメソッドを呼び出すことによってアクセス制御メカニズムがトリガされるように、アクセス制御メカニズムがサービスへのアクセスを制御し、且つ、許可のユーザから保護されたメモリ空間内に存在するステップと、アクセスが許可されると、制御されたオブジェクト上での呼び出しを実行することによってサービスにアクセスするステップであって、制御されたオブジェクトはサービスを実行するメソッドを含み、メソッドを含まない場合には許可のユーザから保護されるステップと、アクセスが拒否された場合に、サービスへのアクセスが拒否された旨をサービスを要求するエンティティに対して示すステップと、を含み、アクセス制御メカニズムが、呼び出されてサービスを実行するメソッドを含み、アクセスが拒否された場合に、メソッドがサービスを実行せず、その代わりにサービスへのアクセスが拒否された旨を示すことによって、上記目的が達成される。
【0019】
本発明による、コンピュータによって実行される場合に、保護されたメモリシステム内のサービスへのアクセスを制御するためのメソッドをコンピュータに実行させる命令を格納するコンピュータ読み出し可能記憶媒体は、許可を介してサービスに対する要求を受け取るステップであって、許可がオブジェクト指向プログラミングシステム内に規定されたオブジェクトを含むステップと、要求に応答して許可内のアクセス制御メカニズムを作動するステップであって、許可上のメソッドを呼び出すことによってアクセス制御メカニズムがトリガされるように、アクセス制御メカニズムがサービスへのアクセスを制御し、且つ、許可のユーザから保護されたメモリ空間内に存在するステップと、アクセスが許可されると、制御されたオブジェクト上での呼び出しを実行することによってサービスにアクセスするステップであって、制御されたオブジェクトはサービスを実行するメソッドを含み、メソッドを含まない場合には許可のユーザから保護されるステップとを含み、そのことにより上記目的が達成される。
【0020】
本発明による保護されたメモリシステム内のサービスへのアクセスを制御するための装置は、サービスにアクセスすることができるユーザを介する許可であって、許可がオブジェクト指向プログラミングシステム内に規定されたオブジェクトを含む許可と、許可内のアクセス制御メカニズムであって、許可上のメソッドを呼び出すことによってアクセス制御メカニズムがトリガされるように、アクセス制御メカニズムがサービスへのアクセスを制御し、且つ、許可のユーザから保護されたメモリ空間内に存在するアクセス制御メカニズムと、要求処理メカニズムであって、許可と通信し、許可を介してサービスに対するアクセス要求を受け取り、且つ、アクセス制御メカニズムを作動するように構成された要求処理メカニズムとを含み、そのことにより上記目的が達成される。
【0021】
アクセス制御メカニズムが、制御されたオブジェクト上への呼び出しを実行することによってサービスへのアクセスを提供するように構成され、制御されたオブジェクトはサービスを実行するメソッドを含み、メソッドを含まない場合には許可のユーザから保護されてもよい。
【0022】
要求処理メカニズムは、アクセスが拒否されたと要求処理メカニズムが判定した場合に、サービスへのアクセスが拒否された旨を示すように構成されてもよい。
【0023】
アクセス制御メカニズムが、呼び出されてサービスを実行する少なくとも1つのメソッドを含んでもよい。
【0024】
許可がJavaTMプログラミング言語およびサポーティングインターフェース内に規定されてもよい。
【0025】
許可によって保護されたデータが、許可上に呼び出されたメソッドを介してのみアクセスされ得てもよい。
【0026】
本発明の装置は、サービスへのアクセスを要求するエンティティから許可に対する要求を受け取り、要求が有効権限情報を含む場合に、エンティティに許可を発行する許可生成メカニズムを更に含んでもよい。
【0027】
本発明の装置は、許可のコピーを生成し、サービスへのアクセスを要求するエンティティに許可のコピーを転送するように構成された許可コピーメカニズムを更に含んでもよい。
【0028】
許可コピーメカニズムが、コピーの元となった許可によってアクセス可能になるサービスの数よりも少ない許可のコピーを生成するように構成されてもよい。
【0029】
要求処理メカニズムが、サービスにアクセスする前に、許可が取り消しにされたかどうかを判定するように構成されてもよい。
【0030】
本発明の装置は、許可に関連し、アクセス要求を記録するログを更に含んでもよい。
【0031】
要求処理メカニズムが、許可が失効したかどうかを判定するように構成されてもよい。
【0032】
本発明による保護されたメモリシステム内のサービスへのアクセスを制御する装置は、許可手段であって、許可手段を介してユーザがサービスにアクセスできる許可手段と、アクセス制御手段であって、許可手段上のメソッドを呼び出すことによってアクセス制御手段がトリガされるように、許可手段内で、アクセス制御手段がサービスへのアクセスを制御し、且つ、許可手段のユーザから保護されたメモリ空間内に存在する、アクセス制御手段と、要求処理手段であって、許可手段と連絡し、許可手段を介してサービスに対するアクセス要求を受け取り、且つ、アクセス制御手段を作動するように構成された要求処理手段とを含み、そのことにより上記目的が達成される。
【0033】
本発明による保護されたメモリシステム内のサービスへのアクセスを制御するためのデータ構造を含むコンピュータ読み出し可能記憶媒体は、データ構造が、データ構造内のアクセス制御メカニズムであって、許可上のメソッドを呼び出すことによってアクセス制御メカニズムがトリガされるように、アクセス制御メカニズムがサービスへのアクセスを制御し、且つ、許可のユーザから保護されたメモリ空間内に存在するアクセス制御メカニズムと、データ構造内のアクセス制御インジケータであって、アクセス制御インジケータがユーザがアクセスできるサービスを特定し、アクセス制御インジケータがユーザによる変更から保護されるアクセス制御インジケータとを含み、そのことにより上記目的が達成される。
【0034】
アクセス制御メカニズムが、サービスを実行するコードへのポインタを含み、ポインタがユーザから保護されたメモリ空間内に存在してもよい。
【0035】
アクセス制御インジケータがサービスに関連する変数を含み、変数が、対応するサービスへのアクセスが許可されるかどうかを示してもよい。
【0036】
本発明による保護されたメモリシステム内のサービスへのアクセスを制御する方法は、許可を介してサービスに対する要求を受け取るステップであって、許可がオブジェクト指向プログラミングシステム内に規定されたオブジェクトを含むステップと、要求に応答して許可内のアクセス制御メカニズムを作動するステップであって、許可上のメソッドを呼び出すことによってアクセス制御メカニズムがトリガされるように、アクセス制御メカニズムがサービスへのアクセスを制御し、且つ、許可のユーザから保護されたメモリ空間内に存在するステップと、アクセスが許可された場合に、サービスにアクセスするステップとを含み、そのことにより上記目的が達成される。
【0037】
本発明のある実施形態は、他のアプリケーションによって提供されるサービスへのアクセスを制御するための方法および装置を提供する。本発明の方法は許可を利用する。許可は、許可のユーザから保護されたメモリ空間内に存在するアクセス制御メカニズムを含む。本発明の方法は、許可を介してサービスに対する要求を受け取ることを含む。許可は、オブジェクト指向プログラミングシステム内に規定されたオブジェクトを含む。要求に応答して、本発明の方法は、許可内のアクセス制御メカニズムを作動する。アクセス制御メカニズムが許可上のメソッドを呼び出すことによってトリガされるように、このアクセス制御メカニズムはサービスへのアクセスを制御し、且つ、許可のユーザから保護されたメモリ空間内に存在する。アクセスが許可された場合、メソッドは、制御されたオブジェクト上への呼び出しを実行することによってサービスにアクセスする。この制御されたオブジェクトはサービスを実行するメソッドを含み、含まない場合には、許可のユーザから保護される。上記実施形態の別の改変例は、許可発行権限(permit issuing authority)において、サービスへのアクセスを要求するエンティティ(人物、コンピュータプログラムまたはコンピュータプロセス等)から許可についての要求を受け取ることを含む。要求が有効権限情報(valid authorization information)を含む場合、許可がエンティティに対して発行される。上記実施形態の更なる改変例は、許可のコピーを生成すること、およびサービスへのアクセスを要求するエンティティにコピーを転送することを含む。
【0038】
従って、本発明は別のアプリケーションによって提供されるサービスへのアクセスを制御する方法を提供する。この方法はハードウェアアクセス制御メカニズムに依存しないので、広い範囲のコンピュータプラットフォームに亘る移植可能アプリケーションによって使用することができる。
【0039】
【発明の実施の形態】
以下の説明は、当業者であれば誰でも本発明を為し、且つ、本発明を用いることができるように提示され、特定のアプリケーションおよびその要件の文脈内で提供される。開示された実施形態の様々な変更が当業者には容易に明らかになり、本明細書中で規定される一般原理が、本発明の精神および範囲から逸れることなく他の実施形態およびアプリケーションに応用され得る。従って、本発明は例示する実施形態に限定されることは意図されておらず、本明細書中で開示される原理および特徴と矛盾することのない最も広い範囲が与えられる。
【0040】
分散コンピュータシステム
図1Aは、本発明のある実施形態に従ってコンピュータシステム100内で一緒に動作するコードモジュール102および104を示す。コードモジュール104と共に動作するために、コードモジュール102はコードモジュール104からサービスを要求する。同様に、コードモジュール102と共に動作するために、コードモジュール104はコードモジュール102からサービスを要求する。モジュール102とモジュール104との間のアクセスサービスは、以下に図3から図5を参照してより詳細に説明する許可構造を介して制御される。
【0041】
この発明の実施の形態で、サービスは、第1のアプリケーションによって他のアプリケーションへと利用できる機能である。この機能は、第1のアプリケーションからのデータへのまたは計算リソースへのアクセスを他のアプリケーションに提供し得る。保護されたメモリシステムにより、メモリの選択された領域をシステム上で実行されるアプリケーションから容易に保護できる。
【0042】
図1Bは、本発明の実施形態に従って、複数のコンピュータノードがネットワーク130を介して一緒に結合されたクライアントサーバコンピュータコンテキストにおいて、本発明が使用され得る様子を示す。図1Bにおいて、サーバ110および120は、ネットワーク130を介してサードパーティシステム140に結合される。通常、ネットワーク130は任意のタイプのコンピュータ間の有線または無線のリンクであり、ローカルエリアネットワーク、広域ネットワークまたはネットワークの組み合わせを含むが、これらに限定されない。本発明のある実施形態において、ネットワーク130はインターネットを含む。サーバ110および120は、計算リソースまたはデータ記憶リソースのためにクライアントからの要求に対してサービスを行うメカニズムを含むコンピュータネットワーク上の任意のノードであり得る。サードパーティシステム140は、サーバ110および120からのコードおよび/またはデータをダウンロードすることができる、サーバ110および120と通信するコンピュータネットワークの任意のノードであり得る。
【0043】
図1Bに示す実施形態において、サーバ110はサーバコードモジュール112を含み、サーバ120はクライアントコードモジュール122を含む。サーバコードモジュール112およびクライアントコードモジュール122は、サードパーティシステム140上で一緒に動作し得るコードのモジュラーピースを含む。図1Bの破線は、ネットワーク130を渡ってサードパーティシステム140上にダウンロードされているサーバコードモジュール112およびクライアントコードモジュール122を示す。このダウンロードプロセスは複数の方法で行われ得る。本発明のある実施形態において、サーバ110は、サーバコードモジュール112をサードパーティシステム140内にダウンロードするために、サードパーティシステム140上のユーザによってアクセスされ得るウェブサイトを含む。それに対応して、サーバ120は、クライアントコードモジュール122をサードパーティシステム140内にダウンロードするために、サードパーティシステム140上のユーザによってアクセスされ得るウェブサイトを含む。別の実施形態において、サーバコードモジュール112およびクライアントコードモジュール122は、ネットワーク130を渡ってダウンロードされない。その代わりに、サーバコードモジュール112およびクライアントコードモジュール122は、コンピュータディスク等のコンピュータ記憶媒体によって、それぞれサーバ110および120からサードパーティシステム140へと転送される。
【0044】
サーバコードモジュール112およびクライアントコードモジュール122は、一旦サードパーティシステム140上に配置されると、図1Bに示すように一緒に動作するように一体化され得る。例えば、サービスをクライアントコードモジュール122に提供する際に、サーバコードモジュール112は、クライアントコードモジュール122のためにデータベースからデータを取り出し得る。あるいは、サーバコードモジュール112は、クライアントコードモジュール122についての計算動作を実行し得る。この一体化プロセスは、クライアントコードモジュール122がサーバコードモジュール112からサービスにアクセスする権利を与えたられたかどうかを判定する工程を含み得る。逆の方向を考えると、このプロセスは、サーバコードモジュール112がクライアントコードモジュール122からサービスにアクセスする権利を与えたられたかどうかを判定する工程を含み得る。
【0045】
サービスにアクセスするプロセス
図2Aは、本発明のある実施形態に従ってサービスにアクセスするプロセスを示す。図2Aは、サーバゲート202、システム204およびクライアントコードモジュール122(図1B)の間の相互作用を示す。図2Aに示したサービスにアクセスするプロセスは、サービスへのアクセスを獲得する方法として考えられるもののうちの1つを示すことに留意されたい。一般に、本発明は、コンピュータシステム内で一緒に動作する任意のピースのコードに応用される。サーバゲート202は、適切に権限を与えられた要求に許可を提供するメカニズムである。
【0046】
この発明の実施の形態で、許可はエンティティによって保持されるトークンであり、これにより、エンティティがサービスにアクセスできる。本発明のある実施形態において、許可は、サービスの集合へのアクセスを容易にするオブジェクト指向プログラミングシステム内に規定されたオブジェクトを含む。
【0047】
サーバゲート202は、サーバコードモジュール112(図1B)によって提供されるサービスへのアクセスを制御するアクセス制御メカニズムを含む。このアクセス制御メカニズムは、許可の要求者から様々に異なるレベルの権限を要求し得る。本発明のある実施形態において、サーバゲート202はサードパーティシステム140上のサーバコードモジュール112内に配置される。別の実施形態において、サーバゲート202はサーバ110自体の中に配置され、ネットワーク130に亘る通信を介してアクセスされる。システム204は、クライアントコードモジュール122が、サーバコードモジュール112によって提供されるサービスにアクセスする権限を適切に与えられることを確立するためのメカニズムを含む。これを目的として、システム204は複数の方法で実行される。ある実施形態において、システム204はサードパーティシステム140の一部であるコードによって実行される。別の実施形態において、システム204は、サードパーティシステム140内のサーバコードモジュール112の一部として実行され得る。
【0048】
図2Aに示すプロセスは以下のように動作する。クライアントコードモジュール122は、サードパーティシステム140内に既に存在するものとする。所望のサービスにアクセスするために、クライアントコードモジュール122は、サーバコードモジュール122からのサービスの集合にアクセスする「役割」のための「チケット」を要求する。役割は、サーバコードモジュール112によって実行される1組の動作を規定する。所定の役割は、他の役割よりも制限され得る。例えば、サーバコードモジュール112がコンピュータファイルシステムを維持する場合、ある役割はファイルシステムからのファイルを読み出す動作のみを含み得る。より広い範囲の権利を有する役割は、ファイルシステムからのファイルの読み出し、書き込みおよび消去を行う動作を含み得る。
【0049】
要求に応答して、システム204がクライアントコードモジュール122を検査し、クライアントコードモジュール122が役割に対する適切な権限を含んでいるかどうかを判定する。本発明のある実施形態において、この検査は証明書鎖を検査することを含む。このプロセスは、同時係属出願である"Controlling Access to Services Between Modular Applications"(米国出願第09/106,567号)という名称の本出願と同一の発明人による米国特許出願において、より詳細に説明される。このプロセスを説明するために、この出願を本明細書中で参考として援用する。
【0050】
クライアントコードモジュール122が役割についての権限を適切に付与された場合、システム204は役割のためのチケットを発行し、このチケットはクライアントコードモジュール122に与えられる。次に、クライアントコードモジュール122は、チケットをサーバゲート202に渡す。サーバゲート202はチケットをチェックして、チケットが有効であることを確実にする。チケットが有効である場合、サーバゲート202はサービスについての許可をクライアントコードモジュール122に送信する。この許可により、クライアントコードモジュール122が役割によって規定されるサービスにアクセスすることができる。本発明のある実施形態において、この許可は、オブジェクト指向プログラミングシステム内に規定されたオブジェクトである。このオブジェクトにより、クライアントコードモジュール122が役割を含む1組のメソッドを実行することができる。許可を送信した後に、サーバゲート202は、チケットを再び使用できないように取り消しにする。クライアントコードモジュール122は許可を所持したままなので、クライアントコードモジュール122は許可を用いてサービスにアクセスすることができ、従って、チケットはもはや必要でない。
【0051】
クライアントコードモジュール
図2Bは本発明の一実施形態による図1Bのクライアントコードモジュール122の構造の一部を示す。クライアントコードモジュール122は証明書鎖210およびクライアントコード220を含む。証明書鎖210はサービスの権限の鎖を確立する証明書の鎖を含む。鎖における第1の証明書は本来サービスに対するアクセスを与える権限を有するエンティティによって署名され、鎖における次の証明書は鎖における前のエンティティからのサービスに対するアクセスを与える権限を委任されてきたエンティティにより署名される。
【0052】
この詳細な開示で、証明書はあるものが真実であることを証明する署名された電子文書である。証明書は一般的に、ある人が公開鍵の保有権を有することを示す。本発明において、証明書はエンティティが鍵によって表現されるサービスへアクセスできることを示す。証明書は(対応する公開鍵を確証できる)秘密鍵を生成するデジタルサインと同様に権限署名のアイデンティティを含み得る。例えば、ある証明書形式はX.509規格下で規定される。
【0053】
この詳細な開示で、デジタルサインはシークレットを用いたファイルから導かれる値であり、シークレットを用いて導かれた値を立証し得る。ここで、シークレットは署名者に対してのみ知られている。デジタルサインは鍵によって生成され、且つファイルに対して付加されるメッセージダイジェストの形をとり得、または鍵を用いてファイル内でデータの変換の形をとり得る。デジタルサインはまた、公開鍵秘密鍵暗号化システムの秘密鍵によって暗号化されたメッセージダイジェストの形をとり得る。
【0054】
例えば、例示した実施形態において、証明書鎖210は証明書−1 212、証明書−2 214および証明書−N 216を含む。サーバコード保有者は最初は公開鍵0から始まる。役割について権限を伝えるために、サーバコード保有者は証明書−1 212および関連する公開鍵秘密鍵対を生成し、秘密鍵は秘密鍵1である。サーバコード保有者は秘密鍵0で証明書−1 212に署名し、証明書−1 212を第1の媒介に対して対応する秘密鍵と共に伝える。第1の媒介は秘密鍵2を含む対応する公開鍵秘密鍵対とともに証明書−2 214を生成する。第1の媒介は公開鍵1で証明書−2 214に署名し、証明書−2 214を関連する秘密鍵2および鎖における全ての先の証明書とともに次の媒介に対して伝える。最終の媒介が秘密鍵N−1で証明書−N 216を署名し、証明書−N 216をクライアントコード保有者に対して対応する秘密鍵Nおよび鎖における全ての先の証明書と共に伝えるまで、このパターンは鎖に継続する。クライアントコード保有者は公開鍵Nを用いてクライアントコード220に署名し、次いで証明書鎖210およびクライアントコード220を含むクライアントコードモジュール122を生成する。
【0055】
従って、クライアントコードモジュール122はサーバコード保有者から最終的なクライアントコード保有者までの媒介によって署名される証明可能な証明書鎖210を含む。証明書鎖210は鎖における証明書が対応する秘密鍵で適切に署名されることを証明する公開鍵を用いて証明され得る。
【0056】
許可オブジェクト
図3は、本発明の実施形態による許可オブジェクト300および制御されたオブジェクト320の構造を示す。通常、許可オブジェクト300は、クライアントコードモジュール122(図1B)等のクライアントコードモジュールによって保持される。クライアントコードモジュールは、サーバコードモジュール112(図1B)等のサーバコードモジュールによって提供されるサービスへのアクセスを要求する。サーバコードモジュール112は制御されたオブジェクト320を維持する。制御されたオブジェクト320は、サービスを実行するのに用いられるコードおよびデータを含む。図3に示す実施形態が、オブジェクト指向プログラミングシステム内に規定されたオブジェクトを介して実行されることに留意されたい。しかし、本発明はオブジェクト指向プログラミングシステムに限定されない。
【0057】
許可オブジェクト300は、制御されたオブジェクトポインタ302、ブールベクトル(boolean vector)304、メソッド−0ポインタ306、メソッド−1ポインタ308、メソッド−Nポインタ310、許可生成メソッド312、許可失効情報314および許可ログ316を含む複数の要素を有する。
【0058】
制御されたポインタ302が、サーバコードモジュール112によって維持される制御されたオブジェクト320を指示することによって、許可オブジェクト300の保有者はサーバコードモジュール112内の制御されたオブジェクト320に関連するサービスにアクセスできる。制御されたオブジェクトポインタ302は、クライアントコードモジュール122によるアクセスから保護された領域であるメモリ内に格納される。クライアントコードモジュール122は、制御されたオブジェクトポインタ302を直接に読み出すこと、または変更することができない。クライアントコードモジュール122は、制御されたオブジェクト320に直接アクセスすることができない。制御されたオブジェクト320にアクセスするために、クライアントコードモジュール122は、制御されたオブジェクトポインタ302を介して制御されたオブジェクト320へアクセスすることをシステムに依頼する必要がある。同様に、許可オブジェクト300内の他のデータ項目は保護されているので、それらをクライアントコードモジュール122によって直接読み出すこと、または変更することができない。このメモリ保護が、サービスへのアクセスをシステムに頼むことによってクライアントコードモジュール122が制御されたオブジェクト320と関連するサービスにアクセスせねばならないことを確実にする。このことにより、システムは、許可によって特定される様態でサービスへのアクセスを制限することができる。
【0059】
上述のように、このタイプのメモリ保護は、JavaTMプログラミング言語およびサポーティングインターフェースを使用することによって提供され得る。JavaTMプログラミング言語はオブジェクトレベルまでのメモリ保護をサポートする。Javaモデルの下で、オブジェクト内のデータにアクセスする唯一の方法は、オブジェクトによってサポートされたメソッドを呼び出すことである。そのメソッドが呼び出されない場合には、オブジェクト内のデータは、例えば漂遊ポインタを介してメモリリファレンスから保護される。JavaTMプログラミング言語は、広い範囲のコンピュータプラットフォームを渡って移送され得るので、このオブジェクトレベルメモリ保護は、広い範囲のコンピュータプラットフォームを渡って提供され得る。しかし、Javaプログラミング言語と特定のコンピュータプラットフォーム上の動作システムとの間のインターフェースを攻撃することによって、保護メカニズムの裏をかくことが可能となり得ることに留意されたい。このタイプの攻撃を防止するために、JavaTMメモリ保護スキームがコンピュータプラットフォームのハードウェア内に拡大され得る。
【0060】
ブールベクトル304は、制御されたオブジェクト320によって提供されたメソッドに対応するエントリを含む。これらのメソッドは制御されたオブジェクト320に関連するサービスを実行する。エントリが「ALLOWED」値を含む場合、これは、許可オブジェクト300の保有者が、制御されたオブジェクト320からのサービスを実行する対応したメソッドにアクセスすることを可能にする。エントリが「NOT ALLOWED」値を含む場合、これは、許可の保有者が対応するメソッドにアクセスできないことを示す。このようにして、許可オブジェクト300は、許可の保有者がどのサービスにアクセスできるのかを特定する。ブールベクトル304は保護されたメモリ内に配置されるので、許可オブジェクト300の保有者はブールベクトル304を変更することができず、権限の与えられていないサービスへのアクセスを得ることになる。特定のメソッドが拒否されることを示すメソッドは複数考えられることに留意されたい。別の実施形態において、許可オブジェクト300内のメソッドは、制御されたオブジェクト320内の対応するメソッドを呼び出すためにコード化される。さもなければ、メソッドが認められていないと示すようにコード化される。
【0061】
制御されたオブジェクト320内に特定されるメソッドは、許可オブジェクト300内のメソッドポインタを介してアクセス可能である。これらのメソッドポインタは、メソッド−0ポインタ306、メソッド−1ポインタ308およびメソッド−Nポインタ310を含む。クライアントコードモジュール122は、これらのメソッドポインタ306、308および310を介して、メソッド324、326および328にアクセスせねばならない。メソッド0−ポインタ306は、制御されたオブジェクト320内のメソッド−0 324を指示する。メソッド−1ポインタ308は、制御されたオブジェクト320内のメソッド−1 326を指示する。メソッド−Nポインタ310は、制御されたオブジェクト320内のメソッド−N 328を指示する。これらのメソッドポインタは保護されたメモリ内に存在するので、クライアントコードモジュール122はシステムを介してメソッドにアクセスする必要がある。
【0062】
例示した実施形態において、許可オブジェクト300は、許可生成メソッド312を追加的に含む。許可生成メソッド312により、許可オブジェクト300の保有者は許可オブジェクト300のコピーを生成し、コピーを他のアプリケーションに転送することができる。このことにより、クライアントコードモジュール122は、制御されたオブジェクト320から別のモジュールへサービスを要求するサブタスクを委託することができる。許可生成メソッド312によって許可オブジェクト300のより権利範囲の狭いコピーを生成することができることに留意されたい。言い換えると、許可オブジェクト300のコピーは、制御されたオブジェクト320からの、最大でも同数のメソッドにアクセスすることができる程度であり、どうあっても、アクセスできるメソッドの数はより少ない。
【0063】
許可オブジェクト300は許可失効情報を追加的に含む。許可失効情報は、許可について複数のタイプの寿命制限を特定する。ある実施形態において、許可が有効である所定の期間を特定することによって、このことが達成される。別の実施形態において、許可がまだ有効であることを確認するために、システムがまず中央データベース内をチェックするように要求を行うことによって、このことが達成される。
【0064】
許可オブジェクト300はまた、許可ログ316を含む。許可ログ316は許可300へのアクセス要求のログを記録する。このログは、許可オブジェクト300が使用されている様子を監視するセキュリティ目的のために使用され得る。あるいは、アクセス要求のログは、制御されたオブジェクト320内に維持され得る。
【0065】
制御されたオブジェクト320はデータ322を含む。データ322は、制御されたオブジェクト320と関連するサービスを実行するために、メソッド324、326および328によって使用される。例えば、データ322はファイルシステムデータを含み、メソッド324、326および328はファイルシステム動作を特定し得る。
【0066】
許可生成
図4は、本発明のある実施形態に従って許可オブジェクトを生成するプロセスを示すフローチャートである。このフローチャートは、サーバゲート202によって実行される動作をより詳細に説明する。サーバゲート202については、上記図2Aを参照して既に説明した。システムは状態400で開始し、状態402に進む。状態402において、クライアントコードモジュール122はサーバゲート202上で呼び出しを実行し、新たな許可を生成する。上述のように、この呼び出しはパラメータとしての役割のためのチケットを含む。次に、システムは状態404に進む。状態404において、サーバゲート202はチケットを確証し、チケットが有効である場合、サーバゲート202は新たな許可オブジェクト300を生成する。このプロセスは、制御されたオブジェクト320を許可オブジェクト300と関連するように位置決めすることを含み、必要な場合には、サーバコードモジュール112内で新たな制御されたオブジェクト320を生成することを含み得る。次に、システムは状態408に進む。状態408において、制御されたオブジェクトポインタ302(図3)は制御されたオブジェクト320をポイントするように割り当てられる。次に、システムは状態410に進む。状態410において、システムは、許可の保有者がどのメソッドを呼び出すことができるかを特定するようにアクセス制御フラッグ(ブールベクトル304内のエントリ)を設定する。次に、システムは状態412に進む。状態412において、許可オブジェクト300はクライアントコードモジュール122に戻される。次に、システムは状態414に進むが、これが終了の状態である。
【0067】
許可オブジェクトの使用
図5は、本発明の実施形態に従って、許可オブジェクトを用いてサービスにアクセスするプロセスを示すフローチャートである。システムは状態500で開始し、状態502に進む。状態502において、クライアントコードモジュール122(図1B)は許可オブジェクト300(図3)上のメソッドを呼び出す。次に、システムは状態504に進む。状態504において、システムはメソッドに対応するアクセス制御フラッグをチェックする。これには、呼び出されたメソッドに対応するブールベクトル304内のエントリを調べることが含まれる。このアクセス制御フラッグが、メソッドが許可されていると示す場合、システムは状態506に進む。拒否される場合には、システムは状態510に進む。
【0068】
状態506においてアクセスが許可され、システムは許可オブジェクト300上の適切なメソッドを呼び出し、これにより、対応するメソッドが適切なパラメータで制御されたオブジェクト320上に呼び出される。次に、システムは状態508に進む。状態508において、システムは呼び出しが完了するのを待ち、それに続いて、結果をクライアントコードモジュール122に戻す。次に、システムは状態512に進むが、これが終了の状態である。
【0069】
状態510において、メソッドは拒否される。この場合、システムはクライアントコードモジュール122に対して、メソッドが拒否された旨を示す。このことは、複数の方法で為し得る。本発明のある実施形態において、システムは、メソッド呼び出しを実行するプロセッサの実行ストリーム内に例外を発生させる。別の実施形態において、システムは、許可オブジェクト300を使用する試みが失敗したことを示すようにグローバル変数を設定する。更に別の実施形態において、許可オブジェクト300の呼び出しは、NULL値に戻る。許可オブジェクト300上での連続的な呼び出しの間、上記プロセスが繰り返される。
【0070】
これまでに述べた本発明の実施形態の説明は、例示および説明のみを目的として提示したものである。上記説明は、網羅することを意図したものでなく、また、開示した形態に本発明を限定するものでもない。従って、複数の変更および改変が当業者には明らかである。更に、上記開示は本発明を限定するものではない。本発明の範囲は添付した請求の範囲によってのみ限定される。
【0071】
本発明のある実施形態は、保護されたメモリシステム内のサービスへのアクセスを制御するための方法および装置を提供する。本発明の方法は許可を利用する。許可は、許可のユーザから保護されたメモリ空間内に存在するアクセス制御メカニズムを含む。本発明の方法は、許可を介してサービスに対する要求を受け取ることを含む。許可は、オブジェクト指向プログラミングシステム内に規定されたオブジェクトを含む。要求に応答して、本発明の方法は、許可内のアクセス制御メカニズムを作動する。アクセス制御メカニズムが許可上のメソッドを呼び出すことによってトリガされるように、このアクセス制御メカニズムはサービスへのアクセスを制御し、且つ、許可のユーザから保護されたメモリ空間内に存在する。アクセスが許可された場合、メソッドは、制御されたオブジェクト上への呼び出しを実行することによってサービスにアクセスする。この制御されたオブジェクトはサービスを実行するメソッドを含み、含まない場合には、許可のユーザから保護される。上記実施形態の別の改変例は、許可発行権限(permit issuing authority)において、サービスへのアクセスを要求するエンティティ(人物、コンピュータプログラムまたはコンピュータプロセス等)から許可についての要求を受け取ることを含む。要求が有効権限情報(valid authorization information)を含む場合、許可がエンティティに対して発行される。上記実施形態の更なる改変例は、許可のコピーを生成すること、およびサービスへのアクセスを要求するエンティティにコピーを転送することを含む。
【0072】
【発明の効果】
本発明は別のアプリケーションによって提供されるサービスへのアクセスを制御する方法を提供する。この方法はハードウェアアクセス制御メカニズムに依存しないので、広い範囲のコンピュータプラットフォームに亘る移植可能アプリケーションによって使用することができる。
【図面の簡単な説明】
【図1A】本発明の実施形態による、コンピュータシステム内で一緒に機能するコードモジュールを示す図である。
【図1B】本発明の実施形態による、ネットワークを介して一緒に結合された複数のコンピュータノードを示す図である。
【図2A】本発明の実施形態による、サービスにアクセスするプロセスを示す図である。
【図2B】図2Aの説明を補足する図である。
【図3】本発明の実施形態による、許可オブジェクトおよび制御されたオブジェクト320の構造を示す図である。
【図4】本発明の実施形態による、許可オブジェクトを生成するプロセスを示すフローチャートである。
【図5】本発明の実施形態による、許可オブジェクトを用いてサービスにアクセスするプロセスを示すフローチャートである。
【符号の説明】
110、120 サーバ
112 サーバコードモジュール
122 クライアントコードモジュール
130 ネットワーク
140 サードパーティシステム
202 サーバゲート
204 システム
220 クライアントコード
300 許可オブジェクト
302 制御されたオブジェクトポインタ
304 ブールベクトル(boolean vector)
306 メソッド−0ポインタ
308 メソッド−1ポインタ
310 メソッド−Nポインタ
312 許可生成メソッド
314 許可失効情報
316 許可ログ
320 制御されたオブジェクト
322 データ
324 メソッド−0
326 メソッド−1
328 メソッド−N

Claims (22)

  1. 保護されたメモリシステム内のサービスへのアクセスを制御する方法であって、
    該保護されたメモリシステムは、プロセッサと、メモリに格納された複数のアプリケーションとを含み、該複数のアプリケーションは、第1のアプリケーションと、第2のアプリケーションとを含み、
    該方法は、
    該第1のアプリケーションが、該プロセッサに、該第2のアプリケーションから提供されるサービスを要求させることであって、該第1のアプリケーションは、該サービスへのアクセスを制御するための第1のオブジェクトを有し、該要求は、該第1のオブジェクトのメソッドを実行することによりなされ、該第1のオブジェクトのデータは、該メモリの領域であって、該第1のアプリケーションによるアクセスから保護されている領域に格納されている、ことと、
    該要求に応答して、該第2のアプリケーションが、該プロセッサに、該サービスへのアクセスが該第2のアプリケーションによって許可されているか否かを決定させることと、
    該アクセスが該第2のアプリケーションによって許可されていると決定された場合には、該第1のアプリケーションが、該プロセッサに、サービスを提供するための第2のオブジェクトのメソッドを実行することによって該サービスにアクセスさせることであって、該第2のオブジェクトは、該第2のアプリケーションによって制御されている、ことと
    を含み、
    該アクセスが該第2のアプリケーションによって許可されていないと決定された場合には、該サービスは該第1のアプリケーションから保護され、
    該第1のオブジェクトのデータは、該第2のオブジェクトへのポインタを含み、
    該第1のアプリケーションが、該プロセッサに、該第2のオブジェクトのメソッドを実行することによって該サービスにアクセスさせることは、該ポインタを介して該第2のオブジェクトにアクセスすることによって実行される、方法。
  2. 前記アクセスが前記第2のアプリケーションによって許可されていないと決定された場合には、前記方法は、前記プロセッサが、前記第1のアプリケーションに、該サービスへのアクセスが該第2のアプリケーションによって許可されていないことを通知することをさらに含む、請求項1に記載の方法。
  3. 前記第1のオブジェクトは、Java(登録商標)プログラミング言語によって規定される、請求項1に記載の方法。
  4. 前記第1のオブジェクトのデータは、該第1のオブジェクトのメソッドを実行することを介してのみアクセス可能である、請求項1に記載の方法。
  5. 前記第1のアプリケーションが、プロセッサに、第2のアプリケーションから提供されるサービスを要求させることの前に、第1のオブジェクト発行権限において、該第1のアプリケーションからの前記第1のオブジェクトの発行の要求を受信することと、
    該要求が有効権限情報を含む場合に、該第1のオブジェクト発行権限が、該第1のオブジェクトを該第1のアプリケーションに発行することと
    をさらに含む、請求項1に記載の方法。
  6. 前記第1のアプリケーションが、前記プロセッサに、前記第1のオブジェクトのコピーを生成させることと、
    該第1のアプリケーションが、該プロセッサに、前記サービスへのアクセスを要求する第3のアプリケーションへと該コピーを転送させることと
    をさらに含む、請求項1に記載の方法。
  7. 前記第1のオブジェクトの前記コピーは、コピーの元となった該第1のオブジェクトよりも少ない数のサービスへのアクセスを許可する、請求項6に記載の方法。
  8. 前記第1のアプリケーションが、プロセッサに、サービスを要求させることの後に、該第1のアプリケーションが、該プロセッサに、前記第1のオブジェクトに関連するログ内にアクセス要求を記録させることをさらに含む、請求項1に記載の方法。
  9. 前記第2のアプリケーションが、プロセッサに、サービスへのアクセスが第2のアプリケーションによって許可されているか否かを決定させることは、前記第1のオブジェクトが依然として有効であるか否かを決定することを含む、請求項1に記載の方法。
  10. 前記第1のオブジェクトのデータは、実行されて前記サービスを提供する前記メソッドに関連する変数を含み、該変数は、前記アクセスが前記第2のアプリケーションによって許可されているか否かを示す、請求項1に記載の方法。
  11. 命令を格納するコンピュータ読み出し可能記憶媒体であって、該命令は、プロセッサによって実行される場合に、該プロセッサに、保護されたメモリシステム内のサービスへのアクセスを制御する方法を実行させ、該保護されたメモリシステムは、該プロセッサと、該コンピュータ読み出し可能記憶媒体とを含み、該命令は、第1のアプリケーションと、第2のアプリケーションとを含み、
    該方法は、
    該第1のアプリケーションが、該プロセッサに、該第2のアプリケーションから提供されるサービスを要求させることであって、該第1のアプリケーションは、該サービスへのアクセスを制御するための第1のオブジェクトを有し、該要求は、該第1のオブジェクトのメソッドを実行することによりなされ、該第1のオブジェクトのデータは、該コンピュータ読み出し可能記憶媒体の領域であって、該第1のアプリケーションによるアクセスから保護されている領域に格納されている、ことと、
    該要求に応答して、該第2のアプリケーションが、該プロセッサに、該サービスへのアクセスが該第2のアプリケーションによって許可されているか否かを決定させることと、
    該アクセスが該第2のアプリケーションによって許可されていると決定された場合には、該第1のアプリケーションが、該プロセッサに、サービスを提供するための第2のオブジェクトのメソッドを実行することによって該サービスにアクセスさせることであって、該第2のオブジェクトは、該第2のアプリケーションによって制御されている、ことと
    を含み、
    該アクセスが該第2のアプリケーションによって許可されていないと決定された場合には、該サービスは該第1のアプリケーションから保護され、
    該第1のオブジェクトのデータは、該第2のオブジェクトへのポインタを含み、
    該第1のアプリケーションが、該プロセッサに、該第2のオブジェクトのメソッドを実行することによって該サービスにアクセスさせることは、該ポインタを介して該第2のオブジェクトにアクセスすることによって実行される、コンピュータ読み出し可能記憶媒体。
  12. 保護されたメモリシステム内のサービスへのアクセスを制御する方法であって、
    該保護されたメモリシステムは、プロセッサと、メモリに格納された複数のアプリケーションとを含み、該複数のアプリケーションは、第1のアプリケーションと、第2のアプリケーションとを含み、
    該方法は、
    該第1のアプリケーションが、該プロセッサに、該第2のアプリケーションから提供されるサービスを要求させることであって、該第1のアプリケーションは、該サービスへのアクセスを制御するための第1のオブジェクトを有し、該要求は、該第1のオブジェクトのメソッドを実行することによりなされ、該第1のオブジェクトのデータは、該メモリの領域であって、該第1のアプリケーションによるアクセスから保護されている領域に格納されている、ことと、
    該要求に応答して、該第2のアプリケーションが、該プロセッサに、該サービスへのアクセスが該第2のアプリケーションによって許可されているか否かを決定させることと、
    該アクセスが該第2のアプリケーションによって許可されていると決定された場合には、該第1のアプリケーションが、該プロセッサに、該サービスにアクセスさせることと
    を含み、
    該第1のオブジェクトのデータは、該第2のアプリケーションによって制御される第2のオブジェクトへのポインタを含み、
    該第1のアプリケーションが、該プロセッサに、該サービスにアクセスさせることは、該ポインタを介して該第2のオブジェクトにアクセスすることによって実行される、方法。
  13. サービスへのアクセスを制御するシステムであって、
    該システムは、
    プロセッサと、
    複数のアプリケーションを格納するメモリと
    を含み、該複数のアプリケーションは、第1のアプリケーションと、第2のアプリケーションとを含み、
    該第1のアプリケーションは、該プロセッサに、該第2のアプリケーションから提供されるサービスを要求させ、該第1のアプリケーションは、該サービスへのアクセスを制御するための第1のオブジェクトを有し、該要求は、該第1のオブジェクトのメソッドを実行することによりなされ、該第1のオブジェクトのデータは、該メモリの領域であって、アクセスから保護されている領域に格納されており、
    該要求に応答して、該第2のアプリケーションは、該プロセッサに、該サービスへのアクセスが該第2のアプリケーションによって許可されているか否かを決定させ、
    該アクセスが該第2のアプリケーションによって許可されていると決定された場合には、該第1のアプリケーションは、該プロセッサに、該サービスにアクセスさせ、
    該第1のオブジェクトのデータは、該第2のアプリケーションの第2のオブジェクトへのポインタを含み、
    該第1のアプリケーションが、該プロセッサに、該サービスにアクセスさせることは、該ポインタを介して該第2のオブジェクトにアクセスすることによって実行される、システム。
  14. 前記アクセスが前記第2のアプリケーションによって許可されていないと決定された場合には、前記サービスは前記第1のアプリケーションから保護される、請求項13に記載のシステム。
  15. 前記アクセスが前記第2のアプリケーションによって許可されていないと決定された場合には、前記プロセッサが、前記第1のアプリケーションに、前記サービスへの該アクセスが該第2のアプリケーションによって許可されていないことを通知する、請求項13に記載のシステム。
  16. 前記第1のオブジェクトは、Java(登録商標)プログラミング言語によって規定される、請求項13に記載のシステム。
  17. 前記第1のオブジェクトのデータは、該第1のオブジェクトのメソッドを実行することを介してのみアクセス可能である、請求項13に記載のシステム。
  18. 前記第1のアプリケーションが、プロセッサに、第2のアプリケーションから提供されるサービスを要求させる前に、第1のオブジェクト発行権限が、該第1のアプリケーションからの前記第1のオブジェクトの発行の要求を受信し、該要求が有効権限情報を含む場合に、該第1のオブジェクト発行権限が、該第1のアプリケーションに該第1のオブジェクトを発行する、請求項13に記載のシステム。
  19. 前記第1のアプリケーションは、前記プロセッサに、前記第1のオブジェクトのコピーを生成させ、前記サービスへのアクセスを要求する第3のアプリケーションへと該コピーを転送させる、請求項13に記載のシステム。
  20. 前記第1のオブジェクトの前記コピーは、コピーの元となった該第1のオブジェクトよりも少ない数のサービスへのアクセスを許可する、請求項19に記載のシステム。
  21. 前記第1のアプリケーションが、前記プロセッサに、前記サービスを要求させた後に、該第1のアプリケーションは、該プロセッサに、前記第1のオブジェクトに関連するログ内にアクセス要求を記録させる、請求項13に記載のシステム。
  22. 前記第2のアプリケーションが、プロセッサに、サービスへのアクセスが第2のアプリケーションによって許可されているか否かを決定させることは、前記第1のオブジェクトが依然として有効であるか否かを決定することを含む、請求項13に記載のシステム。
JP16902599A 1998-06-18 1999-06-15 保護されたメモリシステム内のサービスへのアクセスを制御するための許可 Expired - Lifetime JP4390911B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/099,579 US6131165A (en) 1998-06-18 1998-06-18 Permit for controlling access to services in protected memory systems
US09/099.579 1998-06-18

Publications (2)

Publication Number Publication Date
JP2000057045A JP2000057045A (ja) 2000-02-25
JP4390911B2 true JP4390911B2 (ja) 2009-12-24

Family

ID=22275679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16902599A Expired - Lifetime JP4390911B2 (ja) 1998-06-18 1999-06-15 保護されたメモリシステム内のサービスへのアクセスを制御するための許可

Country Status (6)

Country Link
US (1) US6131165A (ja)
EP (1) EP0965917A1 (ja)
JP (1) JP4390911B2 (ja)
CN (1) CN1124550C (ja)
IL (1) IL130262A (ja)
SG (1) SG76624A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266774B1 (en) 1998-12-08 2001-07-24 Mcafee.Com Corporation Method and system for securing, managing or optimizing a personal computer
US6658571B1 (en) * 1999-02-09 2003-12-02 Secure Computing Corporation Security framework for dynamically wrapping software applications executing in a computing system
US7089242B1 (en) * 2000-02-29 2006-08-08 International Business Machines Corporation Method, system, program, and data structure for controlling access to sensitive functions
US7243356B1 (en) * 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
WO2001086393A2 (en) * 2000-05-09 2001-11-15 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7716492B1 (en) * 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
DE10056208C2 (de) * 2000-11-13 2002-10-10 Deutsch Zentr Luft & Raumfahrt Verfahren zur Bereitstellung von Zweckinformationen eines Diensteanbieters an Dienstenutzer
JP2002281009A (ja) * 2001-03-15 2002-09-27 Sony Corp 相互認証システム、相互認証方法、およびメモリ搭載デバイス、メモリアクセス機器、並びにプログラム記憶媒体
JP2002351563A (ja) * 2001-05-30 2002-12-06 Canon Inc 情報処理装置、情報処理方法およびプログラム
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
JP4694744B2 (ja) * 2001-09-28 2011-06-08 富士通エフ・アイ・ピー株式会社 データ管理方法,データ管理サーバ,データ管理プログラム及び記録媒体
US7117488B1 (en) 2001-10-31 2006-10-03 The Regents Of The University Of California Safe computer code formats and methods for generating safe computer code
GB0129596D0 (en) 2001-12-11 2002-01-30 Nokia Corp Risk detection
US7509644B2 (en) * 2003-03-04 2009-03-24 Secure 64 Software Corp. Operating system capable of supporting a customized execution environment
WO2005062532A1 (en) * 2003-12-22 2005-07-07 International Business Machines Corporation Utilization method and system within a communication network
JP4690007B2 (ja) * 2004-01-22 2011-06-01 Kddi株式会社 通信システムおよび通信端末
JP4587158B2 (ja) * 2004-01-30 2010-11-24 キヤノン株式会社 セキュア通信方法、端末装置、認証サービス装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
US7930539B2 (en) 2004-08-03 2011-04-19 Hewlett-Packard Development Company, L.P. Computer system resource access control
JP4628149B2 (ja) * 2005-03-14 2011-02-09 株式会社エヌ・ティ・ティ・ドコモ アクセス制御装置及びアクセス制御方法
US7916615B2 (en) 2005-06-09 2011-03-29 The Invention Science Fund I, Llc Method and system for rotational control of data storage devices
US20110181981A1 (en) * 2005-05-09 2011-07-28 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Method and system for rotational control of data storage devices
US8218262B2 (en) 2005-05-09 2012-07-10 The Invention Science Fund I, Llc Method of manufacturing a limited use data storing device including structured data and primary and secondary read-support information
US8220014B2 (en) * 2005-05-09 2012-07-10 The Invention Science Fund I, Llc Modifiable memory devices having limited expected lifetime
US7694316B2 (en) * 2005-05-09 2010-04-06 The Invention Science Fund I, Llc Fluid mediated disk activation and deactivation mechanisms
US7907486B2 (en) 2006-06-20 2011-03-15 The Invention Science Fund I, Llc Rotation responsive disk activation and deactivation mechanisms
US8140745B2 (en) 2005-09-09 2012-03-20 The Invention Science Fund I, Llc Data retrieval methods
US8121016B2 (en) 2005-05-09 2012-02-21 The Invention Science Fund I, Llc Rotation responsive disk activation and deactivation mechanisms
US7565596B2 (en) 2005-09-09 2009-07-21 Searete Llc Data recovery systems
US8462605B2 (en) 2005-05-09 2013-06-11 The Invention Science Fund I, Llc Method of manufacturing a limited use data storing device
US9396752B2 (en) * 2005-08-05 2016-07-19 Searete Llc Memory device activation and deactivation
US7596073B2 (en) * 2005-05-09 2009-09-29 Searete Llc Method and system for fluid mediated disk activation and deactivation
US7748012B2 (en) * 2005-05-09 2010-06-29 Searete Llc Method of manufacturing a limited use data storing device
US7668068B2 (en) 2005-06-09 2010-02-23 Searete Llc Rotation responsive disk activation and deactivation mechanisms
US7668069B2 (en) * 2005-05-09 2010-02-23 Searete Llc Limited use memory device with associated information
US8099608B2 (en) 2005-05-09 2012-01-17 The Invention Science Fund I, Llc Limited use data storing device
US7916592B2 (en) * 2005-05-09 2011-03-29 The Invention Science Fund I, Llc Fluid mediated disk activation and deactivation mechanisms
US7770028B2 (en) 2005-09-09 2010-08-03 Invention Science Fund 1, Llc Limited use data storing device
US8159925B2 (en) 2005-08-05 2012-04-17 The Invention Science Fund I, Llc Limited use memory device with associated information
US8264928B2 (en) 2006-06-19 2012-09-11 The Invention Science Fund I, Llc Method and system for fluid mediated disk activation and deactivation
US8432777B2 (en) * 2006-06-19 2013-04-30 The Invention Science Fund I, Llc Method and system for fluid mediated disk activation and deactivation
US8839353B2 (en) * 2012-11-09 2014-09-16 Microsoft Corporation Attack protection for trusted platform modules
WO2019088978A1 (en) * 2017-10-30 2019-05-09 Hewlett-Packard Development Company, L.P. Secure hardware initialization
CN110865895B (zh) * 2019-10-25 2023-07-04 北京三快在线科技有限公司 访问流量控制方法、装置、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649099A (en) * 1993-06-04 1997-07-15 Xerox Corporation Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
US5692047A (en) * 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
TW313642B (en) * 1996-06-11 1997-08-21 Ibm A uniform mechanism for using signed content
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6047377A (en) * 1997-12-11 2000-04-04 Sun Microsystems, Inc. Typed, parameterized, and extensible access control permissions
US6012067A (en) * 1998-03-02 2000-01-04 Sarkar; Shyam Sundar Method and apparatus for storing and manipulating objects in a plurality of relational data managers on the web
US6023794A (en) * 1998-07-10 2000-02-15 Nein; John H. Shower door assembly

Also Published As

Publication number Publication date
EP0965917A1 (en) 1999-12-22
SG76624A1 (en) 2000-11-21
IL130262A (en) 2004-08-31
CN1124550C (zh) 2003-10-15
CN1239787A (zh) 1999-12-29
JP2000057045A (ja) 2000-02-25
US6131165A (en) 2000-10-10
IL130262A0 (en) 2000-06-01

Similar Documents

Publication Publication Date Title
JP4390911B2 (ja) 保護されたメモリシステム内のサービスへのアクセスを制御するための許可
US6138235A (en) Controlling access to services between modular applications
EP0828208B1 (en) Application certification for an international cryptography framework
Gray et al. D’Agents: Security in a multiple-language, mobile-agent system
US6510513B1 (en) Security services and policy enforcement for electronic data
JP4746266B2 (ja) ネットワーク・ロケーション中のサブ・ロケーションについてのユーザの認証の方法およびシステム
US5649099A (en) Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US6138238A (en) Stack-based access control using code and executor identifiers
CA2287871C (en) Secure document management system
JP4070708B2 (ja) セキュリティ確保支援プログラム及びそのプログラムを実行するサーバ装置並びにそのプログラムを記憶した記憶媒体
JPH02260060A (ja) アクセス許可方法
JP3731867B2 (ja) コンピュータ用のアクセス制御
JP2003500722A (ja) 情報保護方法および装置
JPH1185622A (ja) コア・データ機密事項の保護記憶
EP1067457B1 (en) Management of a communication network and the migration of mobile agents
KR20060096887A (ko) 액세스 권한에 기초하여 아이템 사용 권한을 생성하는컴퓨터 판독가능 매체 및 그 생성 방법
KR100621318B1 (ko) 조건들의 검증에 의해 접근과 자원사용을 관리하기 위한 방법
US8205254B2 (en) System for controlling write access to an LDAP directory
US8875300B1 (en) Method and apparatus for authenticating a request between tasks in an operating system
JP4391568B2 (ja) データベースアクセス制御方法
JP4183072B2 (ja) データベースアクセス制御方法及びプログラム
JP3528714B2 (ja) ダウンロード制限システム
CN117201133A (zh) 多应用权限管理方法、装置、存储介质及处理器
Kim et al. A software platform for secure applications based on CORBA
Westphall et al. JaCoWeb Security-A CORBA Security Discretionary Prototype

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090901

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091007

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4390911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131016

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term