[go: up one dir, main page]

JP2005129045A - 信頼判定エンティティに対する実行可能ファイルの安全な識別 - Google Patents

信頼判定エンティティに対する実行可能ファイルの安全な識別 Download PDF

Info

Publication number
JP2005129045A
JP2005129045A JP2004295110A JP2004295110A JP2005129045A JP 2005129045 A JP2005129045 A JP 2005129045A JP 2004295110 A JP2004295110 A JP 2004295110A JP 2004295110 A JP2004295110 A JP 2004295110A JP 2005129045 A JP2005129045 A JP 2005129045A
Authority
JP
Japan
Prior art keywords
resource
code
security
requesting
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.)
Granted
Application number
JP2004295110A
Other languages
English (en)
Other versions
JP4680562B2 (ja
Inventor
Anshul Dhir
ディール アンシュル
Kenneth D Ray
ディー.レイ ケネス
Paul England
イングランド ポール
Thekkthalackal Varugis Kurien
バルギス クリエン テクサラカル
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005129045A publication Critical patent/JP2005129045A/ja
Application granted granted Critical
Publication of JP4680562B2 publication Critical patent/JP4680562B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】リソースレシピエントに、リソースを供給するリソースプロバイダがリソースレシピエントを認証するために使用する認証情報を供給する。
【解決手段】リソース12は、コンピューティングデバイス18上で動作しているリソースリクエスタ(RR)14のために、リソースプロバイダ(RP)10から取得される。RR14は、RR14が動作する環境を指定するセキュリティ関連情報を含むアイデンティティディスクリプタ(id)20を有す。コードアイデンティティ(コードID)22は、ロードされたRR14およびid20に基づいて、計算される。RP10は、リソース12の要求の中の計算されたコードIDが識別されたRR14に対する1つまたは複数の有効なコードID22のうちの1つと一致することを検証してRR14およびid20が信頼できるものと結論し、RP10は要求されたリソース12をRR14に供給し、転送された要求に対し応答する。
【選択図】図2

Description

本発明は、実行可能ファイルにリソースを供給することを望むような信頼判定エンティティ(trust−determining entity)に対し実行可能ファイルなどが自己を安全に識別するための方法およびメカニズムに関する。より具体的には、本発明は、信頼判定エンティティがリソースを供給する前に実行可能ファイルを認証するためのそのような方法およびメカニズムに関する。
多くのコンピュータの使用状況では、第1のコンピュータタイプのエンティティが何らかの種類のコンピュータタイプのリソースを第2のコンピュータタイプのエンティティに供給する。理解できるであろうが、第1および第2のエンティティはそれぞれ、コンピュータプログラムまたは実行可能ファイル、コンピュータの記憶デバイス、コンピュータのデータサーバなどのハードウェアまたはソフトウェアエンティティとすることができる。同様に、リソースは生データ、生データが整理された形で含まれるファイルなどである。
特に、リソースが、特別な価値を有するか、または事前に定義されている規則に従って処理される場合に、第1のエンティティつまり「リソースプロバイダ」は、第2のエンティティまたは関連するエンティティが認証情報を第1のエンティティに申し出、第1のエンティティがそれに基づき第2のエンティティを認証する場合に、リソースを第2のエンティティまたは「リソースレシピエント」(resource recipient)に供給することだけができる。例えば、銀行機関(第1のエンティティ)にあるサーバがセキュリティキー(リソース)を、ユーザがコンピュータで銀行取引を遂行できるユーザのコンピュータ(第2のエンティティ)の銀行業務プログラムに供給している場合、サーバは、銀行業務プログラムが銀行に従った方法でセキュリティキーを採用することについて信頼できるという何らかの保証を受けることを要求できる。
つまり、サーバは、銀行業務プログラム自体または銀行業務プログラムに代わるオーセンティケータに、銀行業務プログラムが特定のタイプのものである、特定の変数に基づいて特定環境で稼働しているなどの認証情報を要求する。したがって、サーバは、実際には、提供された認証情報に基づいて認証した後でないと、セキュリティキーを銀行業務プログラムに供給しない。特に重要なのは、サーバが、認証情報に基づいて銀行業務プログラムを認証する際に、銀行業務プログラムが例えばセキュリティキーを悪用するなどの形で改変されていないことを確認することを望んでおり、また稼働中の銀行業務プログラムがドロボウなど不審なエンティティによるセキュリティキーの送出または読み出しが可能な環境で稼働している、または稼動していないことを確認することも望んでいることである。
そこで、コンピュータプログラム、実行可能ファイル、または他のリソースレシピエントに、リソースを供給するリソースプロバイダがリソースレシピエントを認証するために使用する認証情報を供給するための方法およびメカニズムが必要である。特に、リソースレシピエントのアイデンティティをリソースプロバイダに対して説明するためのアイデンティティディスクリプタが必要であり、アイデンティティディスクリプタは、とりわけ、リソースレシピエントの環境および認証する署名などを記述する一組の変数を含む。
前述の要件は、少なくとも一部は、コンピューティングデバイス上で稼働しているリソースリクエスタ(RR)に関してリソースプロバイダ(RP)からリソースが取得される本発明により満たされる。RRは、それに関連付けられたアイデンティティディスクリプタ(id)を有し、idはRRが動作する環境を指定するセキュリティ関連情報を含む。
RRおよびRRに対応するidはコンピューティングデバイス上にロードされ、RRには、そのロードされたidへの参照が供給される。コードアイデンティティ(コードID)は、ロードされたRRおよびロードされたidに対応して、またそれらに基づいて、計算される。リソースに関してRRから要求を受け取ると、要求側RRがリソースの権利を有し、そのリソースとともに信頼されることが確認される。その後、リソースに対する要求は、RRからRPに転送される。
RPは受け取った要求を検証し、コードID、id、および受け取った要求から要求されたリソースの定義を取得し、受け取った要求から要求側RRのアイデンティティを決定する。さらに、RPは、識別されたRRについて1つまたは複数の有効なコードIDのそれぞれを取得し、受け取った要求の中の計算されたコードIDが識別されたRRに対する有効なコードIDの1つと一致することを検証する。その後、RPでは、RRを信頼できると推定可能な知られているRRであるものとして信頼できると結論し、さらにRRの稼働に使用されるセキュリティ関連情報は信頼できると推定可能な知られているセキュリティ関連情報であると結論する。
その後、RPは、要求されたリソースをRRに供給することにより転送された要求に応答する。RRは、RPによって供給されるとおりに要求されたリソースを受け取り、RPによってRRに与えられた信頼に呼応する形で、RRに対応するidで規定されたセキュリティ関連情報に従って、それを使用する。
上述の説明とともに本発明の実施形態の以下の詳細な説明は、付属の図面とあわせて読むとよく理解できるであろう。本発明を例示するために、現在好ましい実施形態が図面に示されている。しかし、理解するであろうが、本発明は、図に示されている正確な配置および手段に限られない。
コンピュータ環境
図1および以下の説明は、本発明および/またはその一部を実装できる適当なコンピューティング環境の概要について簡潔に述べることにする。必要であるというわけではないが、クライアントワークステーションまたはサーバなどのコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的状況において本発明を説明する。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらに、本発明およびその一部が、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成でも実施できることは明白であろう。また、本発明は、通信ネットワークを通じてリンクされているリモート処理デバイスによりタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルとおよびリモートの両方のメモリ記憶デバイス内に配置することができる。
図1に示すように、汎用コンピューティングシステムの一例は、処理ユニット121、システムメモリ122、およびシステムメモリを含むさまざまなシステムコンポーネントを処理ユニット121に結合するシステムバス123を含む、従来のパーソナルコンピュータ120などを含む。システムバス123には、メモリバスまたはメモリコントローラ、周辺機器バス、およびさまざまなバスアーキテクチャを使用するローカルバスを含む数種類のバス構造がある。システムメモリは、読み取り専用メモリ(ROM)124およびランダムアクセスメモリ(RAM)125を含む。起動時などにパーソナルコンピュータ120内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システム126(BIOS)は、ROM 124に格納される。
パーソナルコンピュータシステム120は、さらに、ハードディスク(図に示されていない)への読み書きを行うためのハードディスクドライブ127、取り外し可能磁気ディスク129への読み書きを行うための磁気ディスクドライブ128、取り外し可能光ディスク131、例えば、CD−ROMまたはその他の光媒体への読み書きを行うための光ディスクドライブ130を備えることができる。ハードディスクドライブ127、磁気ディスクドライブ128、および光ディスクドライブ130は、ハードディスクドライブインターフェイス132、磁気ディスクドライブインターフェイス133、および光ドライブインターフェイス134によりそれぞれシステムバス123に接続される。ドライブおよび関連コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびパーソナルコンピュータ20用のその他のデータを格納する不揮発性記憶装置を備える。
本発明で説明している環境例ではハードディスク、取り外し可能磁気ディスク129、および取り外し可能光ディスク131を採用しているが、コンピュータからアクセス可能なデータを格納できる他のタイプのコンピュータ可読媒体もオペレーティング環境例で使用できることは理解されるであろう。このような他のタイプの媒体としては、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)などがある。
ハードディスク、磁気ディスク129、光ディスク131、ROM 124、またはRAM 125には、オペレーティングシステム135、1つまたは複数のアプリケーションプログラム136、その他のプログラムモジュール137、およびプログラムデータ138など、多数のプログラムモジュールを格納できる。ユーザはキーボード140およびポインティングデバイス142などの入力デバイスを通じてパーソナルコンピュータ120にコマンドおよび情報を入力することができる。他の入力デバイス(図に示されていない)としては、マイク、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらの入力デバイスやその他の入力デバイスは、システムバスに結合されているシリアポートインターフェイス146を介して処理ユニット121に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェイスにより接続することもできる。モニタ147またはその他の種類のディスプレイデバイスも、ビデオアダプタ148などのインターフェイスを介してシステムバス123に接続される。モニタ147のほかに、パーソナルコンピュータは、通常、スピーカおよびプリンタなどの他の周辺出力デバイス(図に示されていない)を含む。図1のシステム例は、さらに、ホストアダプタ155、SCSI(Small Computer System Interface)バス156、およびSCSIバス156に接続されている外部記憶デバイス162を含む。
パーソナルコンピュータ120は、リモートコンピュータ149などの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作することも可能である。リモートコンピュータ149は、他のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の共通ネットワークノードでもよく、通常は、パーソナルコンピュータ120に関係する上述の要素の多くまたはすべてを含むが、メモリ記憶デバイス150だけが図1に示されている。図1で説明されている論理接続は、ローカルエリアネットワーク(LAN)151とワイドエリアネットワーク(WAN)152を含む。このようなネットワーキング環境は、オフィス、企業全体にわたるコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
LANネットワーキング環境で使用する場合は、パーソナルコンピュータ120はネットワークインターフェイスまたはアダプタ153を介してLAN 151に接続される。WANネットワーキング環境で使用する場合、パーソナルコンピュータ120は、通常、モデム154またはインターネットなどのワイドエリアネットワーク152上で通信を確立するためのその他の手段を含む。モデム154は、内蔵でも外付けでもよいが、シリアルポートインターフェイス146を介してシステムバス123に接続される。ネットワーク環境では、パーソナルコンピュータ120またはその一部に関して描いたプログラムモジュールは、リモートメモリ記憶デバイスに格納できる。図に示されているネットワーク接続は例であり、コンピュータ間に通信リンクを確立するのに他の手段を使用できることは理解されるであろう。
リソースレシピエントのアイデンティティディスクリプタ
そこで図2を参照すると、本発明は、コンピュータタイプのある種のリソース12をリソースレシピエント(RR)14に供給するリソースプロバイダ(RP)10として動作する第1のコンピュータタイプのエンティティに関して述べられていることがわかる。理解できるであろうが、所定の状況に応じて、RP 10およびRR 14はそれぞれ、ハードウェアまたはソフトウェアエンティティであるか、またはソフトウェアエンティティのハードウェア要素またはハードウェアエンティティのソフトウェア要素でよいが、すべて、本発明の精神および範囲から逸脱することはない。例えば、RP 10はデータ、ファイル、キー、コンテンツなどをリソース12として供給するサーバとし、RR 14はそのようなリソースを必要とするソフトウェア構成物、データ記憶デバイス、コンピュータプログラムなどとすることができる。同様に、RP 10はプリンタ、ネットワークなどとし、RR 14はそのようなRP 10へのリソースアクセスとして探索するプログラムまたは他の構成物とすることができる。
本発明の一実施形態では、リソース12は特別の価値を有するか、またはあらかじめ定められた規則に従って処理されるべきであり、したがって、RR 14または関連するオーセンティケータ16が認証情報をRP 10に申し出、RP 10がそれに基づきRR 14を認証した場合にのみ、RP 10はRR 14にそのリソースを供給する。例えば、RRおよびオーセンティケータ16は、両方とも、ユーザのコンピューティングデバイス18に常駐することができ、オーセンティケータ16は信頼エバリュエータであるか、またはローダなどのコンピューティングデバイス18上の他の何らかのシステムエンティティまたはコンピューティングデバイス18上の他のオペレーティングシステムの一部である。
従来技術では、RR 14は、通常、RR 14のプロセスの内部の環境の記述、証明連鎖を検証することを伴う電子署名、RR 14の構成要素を検証するために使用できるキーなどの項目を含む、RR 14に関連する情報とともにマニフェストを含んでいた。そこで、動作時に、コンピューティングデバイス18上で稼働している要素は、例えばRR 14を検証するキーを取得する、またはRR 14のプロセスが実際に特定の構成要素を含んでいるか否かを判定する、または動作の過程で従わなければならない特定の手順を取得するなどのために関連するマニフェストを参照していた。
したがって、RR 14のマニフェストでRR 14、RR 14のセキュリティ環境、RR 14への入力などを記述していた。しかし、このようなマニフェストは以下の点で不十分である。
1)マニフェストで、単一プロセスにロードできる複数の実行可能ファイルを指定することが可能である。より大きな柔軟性に対応できるが、マニフェストを単一の実行可能ファイルに限定することは、1つのマニフェストを1つの実行可能ファイルに連結または他の何らかの手段で組み合わせることができ、単一コードアイデンティティつまり「コードID」をそのような1つの組み合わせに基づいて計算できるという点でより安全度が高い。理解されるであろうが、コードIDは組み合わせのダイジェスト、特にマニフェストと実行可能ファイル自体の中に記述されるようなセキュリティ関連入力のダイジェストである。以下で詳しく説明するが、本発明のアイデンティティディスクリプタまたは「id」はそのようなセキュリティ関連入力を含むデータ構造である。
2)マニフェストは、拡張され複数の機能を含むようになったが、結果的に、複雑さが増し、他の望ましくない効果も生じるようになった。それと対照的に、本発明のidは、マニフェストに直接組み込む、他のどこかから参照によりインポートする、またはマニフェストおよび/または他のどこかから実行時に導くことができ、特に対応する実行可能ファイルのみへの前述のセキュリティ関連入力を対象とし、アクセス制御システムの最低レベルでのセキュリティ関連性を有する。そこで、idは比較的単純な形式をとることができる。
本発明のアイデンティティディスクリプタつまりidを特に参照すると、id 20はプロセス内の実行可能ファイルへのセキュリティ関連入力用のパッケージであり、実行可能ファイルは図2のRR 14と考えられる。理解できるであろうが、id 20は、実行可能ファイルに埋め込む、別ファイルから導く、または例えばマニフェストなどの他のドキュメントから抽出することができる。本質的に、id 20は、実行可能ファイル/RR 14(これ以降、「RR 14」と呼ぶ)が稼働する環境、特にセキュリティ環境を記述する入力変数を指定する環境ブロックであり、RR 14およびコンピューティングデバイス18のオペレーティングシステムにより使用することができ、そのためRR 14はそのようなRR 14の起動および実行を制御するために存在し、リソース12をそのようなRR 14に供給するか否かを決定するときにRP 10によって使用することもできる。コードアイデンティティまたは「コードID」22は、RR 14およびid 20のダイジェストから導くか、または計算することができ、通常は、電子署名で採用されているのに似た方法によるハッシュである。
注目に値すべきなのは、RR 14側で例えばファイルを読み込む、デバッギングポートを開くなどによりセキュリティ環境を修正したい場合、そのようなRR 14はそれ自体そうする必要があるということである。しかし、RR 14を開発している開発者が特定の振る舞いをパラメータ化することを望んでおり、パラメータはセキュリティに関係する場合(例えば、プログラム入力に基づき異なるファイルを開く、またはプログラム入力に基づきデバッグする)、パラメータをid 20に置き、RR 14をそのパラメータのid 20のみを参照するように作成することができる。したがって、パラメータは、潜在的に、id 20内で、不埒な(nefarious)エンティティにより修正される恐れがあるが、id 20が修正されると、計算されたコードID 20は変化し、そのような変化は、RP 10などの利害関係者により、RR 14は信頼すべきでないという指示であるとして解釈される可能性がある。
本発明の一実施形態では、id 20は以下の機能形式をとる。
Figure 2005129045
つまり、id 20はその中に、名前−値の一組のペアを含み、そのそれぞれにより、例えばドット付き英数字文字列などの名前が対応する値文字列にマッピングされる。id 20はXMLドキュメントなどの形式のものとしても本発明の精神および範囲から逸脱することはないが、そのようなXMLでは構文解析が不必要に複雑になる恐れがあることに注意されたい。また、変数の少なくとも一部は文字列として表されたXMLドキュメントであることも可能であることに注意されたい。そこで、リストとして表されるid 20は以下の形式である。
Figure 2005129045
id 20の使用例を以下に示す。これらの例は説明を目的としており、必ずしも網羅しているわけではないことに注意されたい。「names」にドット付き名前空間を仮定すると、「_System」名前空間は、コンピューティングデバイス18のオペレーティングシステムによって使用されるように予約することが可能であり、RR 14のid 20はその中に以下を含むことが可能である。
Figure 2005129045
そのため、コンピューティングデバイス18のオペレーティングシステムは、id 20を参照して、id 20に対応するRR 14のプロセスがデバッグ可能であること、実行可能ファイルの名前が「Excel」であること、変数_System.SealToLocalAdminが「true」に設定されていることを判別することが可能である。
RR 14は、そのid 20を使用し、セキュリティの性質のプログラム入力に基づきビヘイビアに関する決定を下すことができる。「names」にドット付き名前空間を仮定すると、「MyProg」名前空間は、RR 14によって使用されるように予約することが可能であり、RR 14のid 20はその中に以下を含むことが可能である。
Figure 2005129045
したがって、RR 14では、そのid 20に基づいて、特定のプログラム名、プログラムスクリプト、XML形式のプログラムUI(ユーザインターフェイス)、多数の許されたリソースファイル、およびRR 14のプロセスをデバッグすることができる特定のキーホルダを決定することができる。
理解するであろうが、特定のid 20内の実際の名前−値のペアは、本発明の精神および範囲を逸脱することなく適切な任意の名前−値のペアとすることができる。さらに、このような名前−値のペアは、例えば、有効なユーザの特定のプログラムスクリプトまたはリストなどのRR 14同士で異なる値の型、さらに例えば、プログラム名およびRR 14のプロセスがデバッグ可能か否かなどのほとんどすべてのRR 14に共通の値の型を含む場合もある。通常、特定のid 20内の名前−値のペアは、id 20が主に、動作しているRR 14のセキュリティ環境を記述する入力変数を指定する環境ブロックである限り、セキュリティ関連であるが、セキュリティ関連でない名前−値のペアもまた本発明の精神および範囲を逸脱することなくid 20内にありうることも理解されるであろう。
したがって、また特にセキュリティ関連の事柄に関して、特定のid 20がオペレーティングシステム、仮想マシン、実際のマシン、および/またはRR 14が動作するコンピューティングデバイス18のようなもの、RR 14がデバッガなどにより監視できない孤立したプロセスで動作するのかまたは実際にそのように監視できるデバッグ可能なプロセス内で動作するかという情報、RR 14にアクセスするために使用される各エントリポイント、および他のセキュリティ関連の事柄の中でも特にRR 14に供給されるセキュリティ関連の入力を記述する名前−値のペアを含むことができる。理解されるであろうが、そのようなセキュリティ関連の事柄は一般に、RR 14の動作の仕方、RR 14がデータおよびその他の入力を受け取り場所、およびRR 14がとりわけ外部から影響を受けることが可能なのかあるいは監視できるのかということに影響を及ぼす事柄である。したがって、また一般的に、id 20内の情報は、RR 14を記述し、RR 14が動作するオペレーティングシステムおよびコンピューティングデバイス18を記述し、RR 14のセキュリティ関連の態様を記述する。しかし、RR 14のコードID 22が一部そのid 20に基づいている限り、またコードID 22が、以下でさらに詳しく説明するように、よく知られている限り、id 20は特定のコンピューティングデバイス18上のRR 14の特定のインスタンス化に固有の名前−値のペアを含まないことに注意されたい。
本発明の一実施形態では、特定のRR 14に対応するコードアイデンティティまたは「コードID」22は、そのid 20と連結されたRR 14のハッシュとして定義される。例えば、このハッシュは、SHA−1およびSHA−256などの、いくつかの知られているSHAアルゴリズムのどれかに基づくことができる。
コードID 22=SHA (RR 14|id 20)
特定の一実施形態では、コードID 22は、前述のハッシュのうちの2つを連結したものであり、一方のハッシュはSHA−1に基づき、他方のハッシュはSHA−256に基づく。
コードID 22=SHA−1(RR 14|id 20)|SHA−256(RR 14|id 20)
したがって、理解されるであろうが、RR 14およびそのid 20を知っていることに基づいて、またコードID 22の計算に使用する方法を知っていることに基づいて、RR 14または関連するオーセンティケータ16はそのようなRR 14に対応するコードID 22を計算し、電子署名の形でRP 10に提示することができる。注目に値すべきなのは、RR 14の1つまたは複数の有効なコードID 22のそれぞれが、特にリソース12をRR 14に供給するよう求められるRP 10によりよく知られているということである。RR 14は、特にRR 14に複数のバージョンがある、RR 14が複数のオペレーティングシステム上で稼働可能であるなどの状況で、そのそれぞれがRR 14および/またはそのid 20の変更形態を必要とする場合に、複数の有効なコードID 22を持つことに注意されたい。すると、おそらくRP 10はRR 14およびそのRR 14に対するそれぞれの有効なコードID 22を知っており、またそのようなRP 10は、RR 14の有効なコードID 22がそのようなRR 14に代わってRP 10に送られる場合のみ、リソース12をRR 14に供給する。
本発明の一実施形態では、図3を参照すると、RR 14に対応するid 20およびコードID 22は以下のようにして使用される。予備的に、RR 14は、コンピューティングデバイス18のオペレーティングシステム上のプロセスでインスタンス化させられるが、その際に使用するインスタンス化はユーザまたは他のプロセスにより作動される(ステップ301)。通常、そのようなインスタンス化は、コンピューティングデバイス18のオペレーティングシステム上で動作するローダ24を使用して実行されるが、そのようなインスタンス化は、本発明の精神および範囲を逸脱することなく他の適切なエンティティを使って達成することが可能である。
RR 14をインスタンス化する一環として、ローダ24はそのようなRR 14を配置可能な場所からRR 14を取得し、それをロードする(ステップ303)。理解されるであろうが、ローダ24は本発明の精神および範囲を逸脱することなく適切な方法でRR 14のそのような取得およびロードを実行でき、その場合、取得する特定の方法は当業者に知られているか、または当業者には明らかであろうから、本明細書で詳細に開示する必要はない。
さらにRR 14をインスタンス化する一環として、ローダ24はそのようなRR 14に対応するid 20をそのようなid 20を配置可能な場所から取得し、さらにそれを適切な場所にロードする(ステップ305)。上で説明したように、そのようなid 20は、RR 14に埋め込まれるか、別のファイルから引き出すか、または例えばマニフェストなどの他のドキュメントから抽出することができる。いずれにせよ、ローダ24は本発明の精神および範囲を逸脱することなくそのような場所に対応するモードでその場所からid 20を取得することができ、その場合、取得する特定の方法は当業者に知られているか、または当業者には明らかであろうから、本明細書で詳細に開示する必要はない。ローダがid 20をロードする場所は、本発明の精神および範囲を逸脱することなく、例えば、テーブル、idキャッシュ、RR 14のプロセスなど任意の適切な場所とすることができる。
RR 14およびRR 14が動作するコンピューティングデバイス18のオペレーティングシステムは両方とも、ロードされたid 20へのアクセスを必要とする場合があることに注意されたい。したがって、id 20をロードした後、ローダ24は、少なくともRR 14にid 20の場所へのポインタまたは参照を供給する(ステップ307)。そこで、RR 14は、そのようなid 20内で関係するセキュリティ関連情報を見つけることができる。さらに、オペレーティングシステムは、RR 14を使って、またはさらにそのようなポインタまたは他の参照を受け取ることによりそのようなセキュリティ関連情報を見つけることもできる。
おそらく、RR 14の動作中のある時点で、そのようなRR 14は上述のようにRR 14の有効なコードID 22がそのようなRR 14に代わってRP 10に提示される場合のみリソース12をそのようなRR 14に供給するRP 10からのリソース12を必要とするようになる。したがって、RR 14および対応するid 20をロードした後、そのようなロードされたRR 14およびid 20に対応するコードID 22が計算される(ステップ309)。そのようなコードID 22は、ローダ24または認証情報をRP 10に申し出る前述のオーセンティケータ16により計算することができる。理解できるであろうが、オーセンティケータ16は、実際にはローダ24の一部であるか、またはローダ24は、実際にはオーセンティケータ16の一部であってもよい。ここでもまた、コードIDは、計算されたコードID 22がRP 10によって認識されることが予想される形式である限り、本発明の精神および範囲を逸脱することなく適切な方法で計算することができる。
したがって、RR 14の動作中のある時点に、そのようなRR 14は、実際に、RP 10からのリソース12を必要とし、したがって、オーセンティケータ16に対し、RR 14に代わってそのようなリソース12を取得するよう要求する(ステップ311)。そのようなリソース12の取得を試みる前に、オーセンティケータ16はRR 14に関してさまざまな認証機能を実行して、RR 14に、リソース12の権利があり、とりわけリソース12について信頼できることを確認することができることに注意されたい(ステップ313)。そうする際に、オーセンティケータ16は、それ自身、RR 14に対応するid 20内のセキュリティ関連情報を参照することができ、またRR 14は、とりわけ、その信頼を無効にすることになるようないかなる方法でも修正されていないことを確認することができる。一般に、オーセンティケータ16は、本発明の精神および範囲を逸脱することなく、RR 14に関して任意の認証機能を実行することができる。そのような認証機能は、当業者に知られているか、または当業者には明らかであろうから、本明細書で詳しく説明する必要はない。
オーセンティケータ16がRR14に満足していると仮定すると、オーセンティケータ16はリソース12の要求をRR 14からRP 10に転送する(ステップ315)。そのような転送される要求は、RR 14からのそのままの要求のコピーであるか、またはその修正とすることができる。したがって、転送された要求は、本発明の精神および範囲を逸脱することなく適切な形式をとることができる。例えば、要求側RR 14に対する計算で求められたコードID 22、要求側RR 14のid 20、およびとりわけ、RR 14によって要求されたリソース12の定義を含む事前に定義されているクオート機能(quoting function)などのフォームがありえる。理解されるであろうが、クオート機能はさらに、電子署名またはそのようなアイテムのうち1つまたは複数に基づくようなものを含むことができ、その署名は、オーセンティケータ16とRP 10との間で共有されるセキュリティキーに基づいて検証可能である。
受け取ったクオート機能またはその他の転送された要求に対する応答として、図4を参照すると、RP 10は、リソースについてRR 14からの要求を実際に受けるか否かを決定する。特に、RP 10は、クオート機能の場合に共有されているセキュリティキーに基づきその署名を検証することを含む転送された要求(ステップ401)を、とりわけ検証する。さらに、RP 10は、転送された要求からコードID 22、id 20、および要求されたリソース12の定義を取得し(ステップ403)、その転送された要求から要求側RR 14のアイデンティティを判別し(ステップ405)、識別されたRR 14のそれぞれの有効なコードID 22を取得し(ステップ407)、転送された要求の中の計算で求めたコードID 22が識別されたRR 14に対する有効なコードID 22のうちの1つと一致することを検証する(ステップ409)。
RP 10は、本発明の精神および範囲を逸脱することなく、適切な方法により転送された要求から要求側RR 14のアイデンティティを判別することができることに注意されたい。例えば、そのようなアイデンティティは、転送された要求の中のid 20内で特定の名前−値のペアとして指定することができる。もちろん、不埒なエンティティは、RP 10からリソース12を不適切に取得しようとする際にid 20内のそのようなアイデンティティ情報を変更する場合がある。しかし、オーセンティケータ16により計算されるようなコードID 22は、一部id 20に基づいているため、そのような計算で求められたコードIDはRP 10に知られているどの有効なコードIDとも一致しないであろう。さらに、オーセンティケータ16は、適切に動作するものとしてRP 10により信頼されており、したがって、コードID 22を損なわないことを信頼できることに注意すべきである。
また、RP 10は、RR 14に対しそれぞれ有効なコードID 22を持つものと仮定され予想されることに注意されたい。ここでもまた、RR 14の1つまたは複数の有効なコードID 22のそれぞれが、特にリソース12をRR 14に供給するよう求められるRP 10によりよく知られているべきである。最後に、転送された要求内の有効なコードID 22を見つけることにより、RP 10は、RR 14およびそのid 20から導かれる、有効なコードID 22に基づき、RR 14が信頼に値すると想定できる知られている改変されていないRR 14であると信頼できること、およびさらに、RR 14が動作する際に基づくセキュリティ関連情報が信頼に値するものであると想定できる知られている改変されていないセキュリティ関連情報であることを結論することができることに留意されたい。さらに、コードID 22を使用することにより、損なわれた特定のRR 14は、RP 10によるその関連するすべてのコードIDの利用を単にできなくすることにより、受け付けないようにできることは理解されるであろう。
要求の計算で求められたコードID 22の妥当性を確認するほかに、RP 10では、他の情報に基づきその転送された要求の妥当性を確認することもできる(ステップ411)。例えば、コードID 22の妥当性が確認されても、RP 10は、例えばRR 14が孤立プロセスで動作しているか否かなどid 20内の特定の情報に基づき要求を受け入れるか、または拒絶するかについてプログラムすることが可能である。同様に、転送された要求がRR 14のコンピューティングデバイス18のユーザの識別を含む場合、識別されたユーザに基づき要求を受け付けるか、または拒絶するようにRP 10をプログラムすることができる。もちろん、RP 10は、本発明の精神および範囲を逸脱することなく、任意の基準に基づき転送された要求の妥当性を確認することができる。
転送された要求の妥当性がステップ409および411でのように確認された場合、RP 10は、その要求されたリソース12が利用可能であり、かつ/または供給できると判定する(ステップ413)。例えば、リソース12がデータであれば、RP 10はそのデータが実際に利用可能であると判断し、あるいはとりわけ、リソースがプリンタへのアクセスであれば、RP 10はプリンタが実際にオンラインであり、用紙が入っており、新しい印刷要求を受け付けていると判断する。
その後、転送された要求の妥当性がステップ409および411で確認され、ステップ413でのように要求されたリソース12が利用可能であり、かつ/または供給できると仮定すると、RP 10は要求されたリソース12を供給することにより転送された要求に応答する(ステップ415)。そこで、リソース12はオブジェクトである場合、RP 10はそのようなオブジェクトを供給し、リソース12がサービスに対するアクセスである場合、RP 10は、例えば、セキュリティキーまたはアクセスを示す他の何らかのものを使ってそのようなアクセスを準備し、そのセキュリティキーまたはアクセスを示す他の何らかのものを供給する。
RR 14は、RP 10により与えられた要求されたリソース12へのそのような応答を、オーセンティケータ16を使って直接的にまたは間接的に受け取り(図3のステップ317)、その後RR 14は適宜応答を送ったリソース12を使用することができる(ステップ319)。少なくとも暗黙のうちに、RP 10は実際に要求されたリソース12をRR 14に供給したので、RR 14およびそのコンピューティングデバイスは、そのような信頼と矛盾しない方法でのみ、また特にRR 14に対応するid 20で規定されているセキュリティ関連情報に従って、RP 10により信頼され、供給されたリソース12を使用することができる。
結論
本発明は、リソースリクエスタRR 14およびリソースプロバイダRP 10に関して実施することができる。より具体的には、本発明を使用することにより、例えば、PCのワードプロセッサがプロテクトされている文書処理ドキュメントを受け取ること、専用再生デバイスの音楽プレーヤーがレンダリングされた音楽をスピーカーシステムに送ること、無線デバイスがローカル無線ネットワークにアクセスすることなどが可能になる。したがって、RR 14は、リソース12を要求するデバイスとして解釈され、RP 10は、システム内のリソース12を供給するデバイスとして解釈され、そこでは、RR 14はid 20内のセキュリティ関連情報に基づき動作し、RP 10は一部そのid 20に基づいてRR 14の信頼性の妥当性を確認する。
本発明に関して実行されるプロセスを実現するために必要なプログラミングは、比較的簡単であり、プログラミングを行う当業者には明白であろう。したがって、このようなプログラミングについては、本明細書では取り上げない。どのような特定のプログラミングを使用しても、本発明の精神および範囲を逸脱することなく本発明を実施することができる。
前記の説明では、本発明は、リソース12を供給するリソースプロバイダRP 10がRR 14を認証するために使用するid 20などの認証情報をコンピュータプログラム、実行可能ファイル、または他のリソースレシピエントRR 14に供給するための新しくかつ有用な方法およびメカニズムを含む。id 20は、RP 10へのRR 14のアイデンティティを記述し、とりわけ、RR 14の環境を記述する一組の変数を含む。
本発明の概念から逸脱することなく上述の実施形態に対し変更を加えることが可能であることは理解されるであろう。したがって、本発明は開示されている特定の実施形態に制限されず、付属の請求項により定義されているように本発明の精神および範囲内の修正形態を対象とすることを目的としていることは理解されるであろう。
信頼ベースのシステムの実施アーキテクチャを示すブロック図である。 本発明の一実施形態により配置され稼働するリソースリクエスタ、リソースレシピエント、リソースレシピエントのアイデンティティディスクリプタ、および関連するエンティティを示すブロック図である。 本発明の一実施形態により図2のリソースプロバイダにリソースを要求する際に図2のリソースレシピエントおよび関連するエンティティにより実行される主要ステップを示す流れ図である。 本発明の一実施形態により図2のリソースレシピエントにリソースを供給する際に図2のリソースプロバイダにより実行される主要ステップを示す流れ図である。
符号の説明
120 コンピュータ
122 システムメモリ
136 アプリケーションプログラム
137 その他のプログラム
138 プログラムデータ
121 処理ユニット
148 ビデオアダプタ
155 ホストアダプタ
156 SCSIバス
123 システムバス
132 ハードディスクドライブI/F
133 磁気ディスクドライブI/F
134 光ドライブI/F
146 シリアルポートI/F
153 ネットワークI/F
127 ハードドライブ
137 その他のプログラム
136 アプリケーションプログラム
138 プログラムデータ
128 フロッピー(登録商標)ドライブ
130 光ドライブ
147 モニタ
162 記憶デバイス
154 モデム
140 キーボード
129 記憶装置
131 記憶装置
142 マウス
150 メモリ
149 リモートコンピュータ
10 リソースプロバイダ(RP)
12 リソース
22 コードID
16 オーセンティケータ
14 リソースレシピエント(RR)
24 ローダ
18 コンピューティングデバイス

Claims (36)

  1. コンピューティングデバイス上で動作するリソースリクエスタ(RR)のためにリソースプロバイダ(RP)からリソースを取得する方法であって、前記RRは関連付けられたアイデンティティディスクリプタ(id)を有し、前記idは前記RRが動作する環境を指定するセキュリティ関連情報を含み、前記方法は、
    前記RRを前記コンピューティングデバイスにロードするステップと、
    前記RRに対応する前記idを前記コンピューティングデバイスにロードするステップと、
    前記RRに前記ロードされたidへの参照を供給するステップと、
    前記ロードされたRRおよびロードされたidに対応しかつ基づくコードアイデンティティ(コードID)を計算するステップと、
    前記リソースの要求を前記RRから受け取るステップと、
    前記要求側RRが前記リソースに対する権利を有しかつ前記リソースについて信頼されることを確認するステップと、
    前記RRから前記リソースの前記要求を前記RPに転送するステップであって、前記転送された要求は前記要求側RRの前記計算されたコードID、前記要求側RRの前記id、および前記RRにより要求された前記リソースの定義を含み、前記RPは前記転送された要求の中の前記計算されたコードIDが前記識別されたRRに対する1つまたは複数の有効なコードIDのうちの1つと一致していることを検証し、それに基づき前記RRが信頼できると想定できる知られているRRであるものとして信頼できること、さらに前記RRが動作する際に基づく前記セキュリティ関連情報が信頼できると想定できる知られているセキュリティ関連情報であることを結論し、前記要求されたリソースを供給することにより前記転送された要求に応答するステップと、
    前記RRにより、前記RPによって供給されるような前記要求されたリソースを受け取り、前記RPにより前記RRに与えられた信頼と矛盾しない方法で、前記RRに対応する前記idで記述されている前記セキュリティ関連情報に従って使用するステップとを備えることを特徴とする方法。
  2. 前記コンピューティングデバイス上のオーセンティケータにおいて、前記要求側RRが前記リソースに対する権利を有しかつその中のリソースについて信頼されることを確認するステップを備え、前記オーセンティケータは前記RRに対応する前記id内の前記セキュリティ関連情報を参照することを特徴とする請求項1に記載の方法。
  3. 前記転送された要求は、前記要求側RRの前記計算されたコードID、前記要求側RRの前記id、および前記RRにより要求された前記リソースの前記定義の少なくとも1つに基づく電子署名をさらに含み、前記署名は前記RPと共有されているセキュリティキーに基づいて検証可能であることを特徴とする請求項1に記載の方法。
  4. 前記idはその中に前記RR、前記RP、および前記RRが動作する前記コンピューティングデバイス上のオペレーティングシステムのうちの少なくとも1つへの入力として利用可能な一組のセキュリティ関連名前−値のペアを含むことを特徴とする請求項1に記載の方法。
  5. 前記名前−値のペアは、前記RRが動作する環境、前記RRが孤立プロセスで動作するか否か、および前記RRにアクセス可能な各エントリポイントのうちの少なくとも1つを記述することを特徴とする請求項4に記載の方法。
  6. 前記コードIDは前記RRおよび前記idのダイジェストから計算されることを特徴とする請求項1に記載の方法。
  7. 前記コードIDは前記idと連結された前記RRのハッシュであることを特徴とする請求項6に記載の方法。
  8. 前記コードIDは2つのハッシュの連結であり、各ハッシュは前記idと連結された前記RRのハッシュであることを特徴とする請求項7に記載の方法。
  9. リソースプロバイダ(RP)によってコンピューティングデバイス上で動作しているリソースリクエスタ(RR)にリソースを供給する方法であって、前記RRは関連付けられたアイデンティティディスクリプタ(id)を有し、前記idは前記RRが動作する環境を指定するセキュリティ関連情報を含み、前記方法は、
    前記リソースの転送された要求を前記RRから受け取るステップであって、前記転送された要求は前記要求側RRについて計算されたコードアイデンティティ(コードID)を含み、前記計算されたコードIDは前記コンピューティングデバイス上にロードされたとおりに前記RRおよび前記idに対応しかつ基づいており、前記転送された要求は前記要求側RRの前記idおよび前記RRにより要求された前記リソースの定義もさらに含むステップと、
    前記受け取った要求を検証するステップと、
    前記受け取った要求から前記コードID、前記id、および要求された前記リソースの前記定義を取得するステップと、
    前記受け取った要求から、前記要求側RRのアイデンティティを判別するステップと、
    前記識別されたRRに対する1つまたは複数の有効なコードIDのそれぞれを取得するステップと、
    前記受け取った要求の中の前記計算されたコードIDが前記識別されたRRの1つまたは複数の有効なコードIDのうちの1つと一致することを検証し、それに基づき前記RRが信頼に値すると想定できる知られているRRであるものとして信頼できること、さらに前記RRが動作する際に基づく前記セキュリティ関連情報が信頼に値するものと想定できる知られているセキュリティ関連情報であることを結論するステップと、
    前記要求されたリソースを前記RRに供給することにより前記転送された要求に応答するステップであって、前記RRは前記RPにより供給されたとおり前記要求されたリソースを受け取り、前記RPにより前記RRに与えられる前記信頼に矛盾しない方法で、また前記RRに対応する前記idで記述されている前記セキュリティ関連情報に従って使用するステップとを備えることを特徴とする方法。
  10. 前記要求側RRが前記リソースに対する権利を有しかつその中のリソースについて信頼されることを確認する、前記コンピューティングデバイス上のオーセンティケータから前記転送された要求を受け取るステップであって、前記オーセンティケータは前記RRに対応する前記id内の前記セキュリティ関連情報を参照するステップを備えることを特徴とする請求項9に記載の方法。
  11. 前記転送された要求は、前記要求側RRの前記計算されたコードID、前記要求側RRの前記id、および前記RRにより要求された前記リソースの前記定義の少なくとも1つに基づく電子署名をさらに含み、前記方法は前記署名を検証するステップをさらに備えることを特徴とする請求項9に記載の方法。
  12. 前記転送された要求の妥当性をその中の他の情報に基づいて確認するステップをさらに備えることを特徴とする請求項9に記載の方法。
  13. 前記要求されたリソースが利用可能であり、かつ/または供給できると判定するステップをさらに備えることを特徴とする請求項9に記載の方法。
  14. 前記idはその中に前記RR、前記RP、および前記RRが動作する際に基づく前記コンピューティングデバイス上のオペレーティングシステムのうちの少なくとも1つへの入力として利用可能な一組のセキュリティ関連名前−値のペアを含むことを特徴とする請求項9に記載の方法。
  15. 前記名前−値のペアは、前記RRが動作する環境、前記RRが孤立プロセスで動作するか否か、および前記RRにアクセス可能な各エントリポイントのうちの少なくとも1つを記述することを特徴とする請求項14に記載の方法。
  16. 前記コードIDは前記RRおよび前記idのダイジェストから計算されることを特徴とする請求項9に記載の方法。
  17. 前記コードIDは前記idと連結された前記RRのハッシュであることを特徴とする請求項16に記載の方法。
  18. 前記コードIDは2つのハッシュの連結であり、各ハッシュは前記idと連結された前記RRのハッシュであることを特徴とする請求項17に記載の方法。
  19. コンピューティングデバイス上で動作するリソースリクエスタ(RR)のためにリソースプロバイダ(RP)からリソースを取得する方法を実行するコンピュータ実行可能命令が格納されるコンピュータ可読媒体であって、前記RRは関連付けられたアイデンティティディスクリプタ(id)を有し、前記idは前記RRが動作する環境を指定するセキュリティ関連情報を含み、前記方法は、
    前記RRを前記コンピューティングデバイスにロードするステップと、
    前記RRに対応する前記idを前記コンピューティングデバイスにロードするステップと、
    前記RRに前記ロードされたidへの参照を供給するステップと、
    前記ロードされたRRおよびロードされたidに対応しかつ基づくコードアイデンティティ(コードID)を計算するステップと、
    前記リソースの要求を前記RRから受け取るステップと、
    前記要求側RRが前記リソースに対する権利を有しかつ前記リソースについて信頼されることを確認するステップと、
    前記RRから前記リソースの前記要求を前記RPに転送するステップであって、前記転送された要求は前記要求側RRの前記計算されたコードID、前記要求側RRの前記id、および前記RRにより要求された前記リソースの定義を含み、前記RPは前記転送された要求の中の前記計算されたコードIDが前記識別されたRRに対する1つまたは複数の有効なコードIDのうちの1つと一致していることを検証し、それに基づき前記RRが信頼できると想定できる知られているRRであるものとして信頼できること、さらに前記RRが動作する際に基づく前記セキュリティ関連情報が信頼できると想定できる知られているセキュリティ関連情報であることを結論し、前記要求されたリソースを供給することにより前記転送された要求に応答するステップと、
    前記RRにより、前記RPによって供給されるような前記要求されたリソースを受け取り、前記RPにより前記RRに与えられた信頼と矛盾しない方法で、前記RRに対応する前記idで記述されている前記セキュリティ関連情報に従って使用するステップとを備えることを特徴とするコンピュータ可読媒体。
  20. 前記方法は、前記コンピューティングデバイス上のオーセンティケータにおいて、前記要求側RRが前記リソースに対する権利を有しかつその中のリソースについて信頼されることを確認するステップを備え、前記オーセンティケータは前記RRに対応する前記id内の前記セキュリティ関連情報を参照することを特徴とする請求項19に記載の媒体。
  21. 前記転送された要求は、前記要求側RRの前記計算されたコードID、前記要求側RRの前記id、および前記RRにより要求された前記リソースの前記定義の少なくとも1つに基づく電子署名をさらに含み、前記署名は前記RPと共有されているセキュリティキーに基づいて検証可能であることを特徴とする請求項19に記載の媒体。
  22. 前記idはその中に前記RR、前記RP、および前記RRが動作する際に基づく前記コンピューティングデバイス上のオペレーティングシステムのうちの少なくとも1つへの入力として利用可能な一組のセキュリティ関連名前−値のペアを含むことを特徴とする請求項19に記載の媒体。
  23. 前記名前−値のペアは、前記RRが動作する環境、前記RRが孤立プロセスで動作するか否か、および前記RRにアクセス可能な各エントリポイントのうちの少なくとも1つを記述することを特徴とする請求項22に記載の媒体。
  24. 前記コードIDは前記RRおよび前記idのダイジェストから計算されることを特徴とする請求項19に記載の媒体。
  25. 前記コードIDは前記idと連結された前記RRのハッシュであることを特徴とする請求項24に記載の媒体。
  26. 前記コードIDは2つのハッシュの連結であり、各ハッシュは前記idと連結された前記RRのハッシュであることを特徴とする請求項25に記載の媒体。
  27. コンピューティングデバイス上で動作するリソースリクエスタ(RR)にリソースプロバイダ(RP)によりリソースを供給する方法を実行するコンピュータ実行可能命令が格納されるコンピュータ可読媒体であって、前記RRは関連付けられたアイデンティティディスクリプタ(id)を有し、前記idは前記RRが動作する環境を指定するセキュリティ関連情報を含み、前記方法は、
    前記リソースの転送された要求を前記RRから受け取るステップであって、前記転送された要求は前記要求側RRについて計算されたコードアイデンティティ(コードID)を含み、前記計算されたコードIDは前記コンピューティングデバイス上にロードされたとおりに前記RRおよび前記idに対応しかつ基づいており、前記転送された要求は前記要求側RRの前記idおよび前記RRにより要求された前記リソースの定義もさらに含むステップと、
    前記受け取った要求を検証するステップと、
    前記受け取った要求から前記コードID、前記id、および要求された前記リソースの前記定義を取得するステップと、
    前記受け取った要求から、前記要求側RRのアイデンティティを判別するステップと、
    前記識別されたRRに対する1つまたは複数の有効なコードIDのそれぞれを取得するステップと、
    前記受け取った要求の中の前記計算されたコードIDが前記識別されたRRの1つまたは複数の有効なコードIDのうちの1つと一致することを検証し、それに基づき前記RRが信頼に値すると想定できる知られているRRであるものとして信頼できること、さらに前記RRが動作する際に基づく前記セキュリティ関連情報が信頼に値するものと想定できる知られているセキュリティ関連情報であることを結論するステップと、
    前記要求されたリソースを前記RRに供給することにより前記転送された要求に応答するステップであって、前記RRは前記RPにより供給されたとおり前記要求されたリソースを受け取り、前記RPにより前記RRに与えられる前記信頼に矛盾しない方法で、前記RRに対応する前記idで記述されている前記セキュリティ関連情報に従って使用するステップとを備えることを特徴とするコンピュータ可読媒体。
  28. 前記方法は、前記要求側RRが前記リソースに対する権利を有しかつその中のリソースについて信頼されることを確認する、前記コンピューティングデバイス上のオーセンティケータから前記転送された要求を受け取るステップであって、前記オーセンティケータは前記RRに対応する前記id内の前記セキュリティ関連情報を参照するステップを備えることを特徴とする請求項27に記載の媒体。
  29. 前記転送された要求は、前記要求側RRの前記計算されたコードID、前記要求側RRの前記id、および前記RRにより要求された前記リソースの前記定義の少なくとも1つに基づく電子署名をさらに含み、前記方法は前記署名を検証するステップをさらに備えることを特徴とする請求項27に記載の媒体。
  30. 前記方法は、前記転送された要求の妥当性をその中の他の情報に基づいて確認するステップをさらに備えることを特徴とする請求項27に記載の媒体。
  31. 前記方法は、前記要求されたリソースが利用可能であり、かつ/または供給できると判定するステップをさらに備えることを特徴とする請求項27に記載の媒体。
  32. 前記idはその中に前記RR、前記RP、および前記RRが動作する前記コンピューティングデバイス上のオペレーティングシステムのうちの少なくとも1つへの入力として利用可能な一組のセキュリティ関連名前−値のペアを含むことを特徴とする請求項27に記載の媒体。
  33. 前記名前−値のペアは、前記RRが動作する環境、前記RRが孤立プロセスで動作するか否か、および前記RRにアクセス可能な各エントリポイントのうちの少なくとも1つを記述することを特徴とする請求項32に記載の媒体。
  34. 前記コードIDは前記RRおよび前記idのダイジェストから計算されることを特徴とする請求項27に記載の媒体。
  35. 前記コードIDは前記idと連結された前記RRのハッシュであることを特徴とする請求項34に記載の媒体。
  36. 前記コードIDは2つのハッシュの連結であり、各ハッシュは前記idと連結された前記RRのハッシュであることを特徴とする請求項35に記載の媒体。
JP2004295110A 2003-10-23 2004-10-07 信頼判定エンティティに対する実行可能ファイルの安全な識別 Expired - Fee Related JP4680562B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/692,224 US7418512B2 (en) 2003-10-23 2003-10-23 Securely identifying an executable to a trust-determining entity

Publications (2)

Publication Number Publication Date
JP2005129045A true JP2005129045A (ja) 2005-05-19
JP4680562B2 JP4680562B2 (ja) 2011-05-11

Family

ID=34435459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004295110A Expired - Fee Related JP4680562B2 (ja) 2003-10-23 2004-10-07 信頼判定エンティティに対する実行可能ファイルの安全な識別

Country Status (11)

Country Link
US (1) US7418512B2 (ja)
EP (1) EP1531377B1 (ja)
JP (1) JP4680562B2 (ja)
KR (1) KR100949024B1 (ja)
CN (1) CN1610296B (ja)
AU (1) AU2004214529B2 (ja)
BR (1) BRPI0411961B1 (ja)
CA (1) CA2482243C (ja)
DE (1) DE602004022004D1 (ja)
MX (1) MXPA04009838A (ja)
RU (1) RU2357287C2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011526391A (ja) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション アプリケーションセットに対する保護されたコンテンツの許可

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251835A1 (en) * 2004-05-07 2005-11-10 Microsoft Corporation Strategies for pausing and resuming the presentation of programs
US7640343B2 (en) * 2004-05-27 2009-12-29 Microsoft Corporation Using resource item lists to consume resource items
US8706942B2 (en) * 2004-12-29 2014-04-22 Intel Corporation Direct memory access (DMA) address translation between peer-to-peer input/output (I/O) devices
KR100758219B1 (ko) * 2005-08-08 2007-09-12 (주)이월리서치 유에스비 장치의 동작을 통제하는 방법
KR101456489B1 (ko) * 2007-07-23 2014-10-31 삼성전자주식회사 CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치
US8230412B2 (en) 2007-08-31 2012-07-24 Apple Inc. Compatible trust in a computing device
US20090183155A1 (en) * 2008-01-15 2009-07-16 Microsoft Corporation Isolation of Content by Processes in an Application
US9805196B2 (en) 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
KR101225013B1 (ko) * 2010-12-29 2013-02-07 (주)트라이디커뮤니케이션 리소스 제공 시스템 및 방법
US8880667B2 (en) 2011-02-09 2014-11-04 Microsoft Corporation Self regulation of the subject of attestation
CN105426771B (zh) * 2015-10-28 2018-06-26 成都比特信安科技有限公司 一种实现大数据安全的方法
CN110138731B (zh) * 2019-04-03 2020-02-14 特斯联(北京)科技有限公司 一种基于大数据的网络防攻击方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139157A (ja) * 1997-05-31 1999-02-12 Internatl Business Mach Corp <Ibm> 機密保護を提供する方法およびシステム
JP2001308849A (ja) * 2000-02-14 2001-11-02 Victor Co Of Japan Ltd コンテンツ伝送システム、認証機器、コンテンツ取扱装置、データ伝送方法、伝送媒体、信頼度判定装置、信頼度被判定装置、記録媒体
EP1191422A2 (en) * 2000-09-22 2002-03-27 International Business Machines Corporation Transparent digital rights management for extendible content viewers
WO2003065630A2 (en) * 2002-01-29 2003-08-07 Anytime Pte. Ltd. Apparatus and method for preventing digital media piracy
US20030191944A1 (en) * 2002-04-04 2003-10-09 Rothrock Lewis V. Method of providing adaptive security

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
RU2169437C1 (ru) * 1998-12-29 2001-06-20 Свисском Мобиле Аг Способ предоставления пользователям телекоммуникационной сети доступа к объектам

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139157A (ja) * 1997-05-31 1999-02-12 Internatl Business Mach Corp <Ibm> 機密保護を提供する方法およびシステム
JP2001308849A (ja) * 2000-02-14 2001-11-02 Victor Co Of Japan Ltd コンテンツ伝送システム、認証機器、コンテンツ取扱装置、データ伝送方法、伝送媒体、信頼度判定装置、信頼度被判定装置、記録媒体
EP1191422A2 (en) * 2000-09-22 2002-03-27 International Business Machines Corporation Transparent digital rights management for extendible content viewers
WO2003065630A2 (en) * 2002-01-29 2003-08-07 Anytime Pte. Ltd. Apparatus and method for preventing digital media piracy
US20030191944A1 (en) * 2002-04-04 2003-10-09 Rothrock Lewis V. Method of providing adaptive security

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011526391A (ja) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション アプリケーションセットに対する保護されたコンテンツの許可

Also Published As

Publication number Publication date
CN1610296A (zh) 2005-04-27
AU2004214529A1 (en) 2005-05-12
RU2004131028A (ru) 2006-04-10
BRPI0411961A (pt) 2006-04-25
EP1531377B1 (en) 2009-07-15
AU2004214529B2 (en) 2010-01-07
JP4680562B2 (ja) 2011-05-11
CN1610296B (zh) 2010-12-08
KR20050039528A (ko) 2005-04-29
DE602004022004D1 (de) 2009-08-27
BRPI0411961B1 (pt) 2017-05-16
RU2357287C2 (ru) 2009-05-27
US20050125548A1 (en) 2005-06-09
CA2482243A1 (en) 2005-04-23
US7418512B2 (en) 2008-08-26
EP1531377A2 (en) 2005-05-18
MXPA04009838A (es) 2005-04-28
EP1531377A3 (en) 2006-09-20
CA2482243C (en) 2013-10-29
KR100949024B1 (ko) 2010-03-23

Similar Documents

Publication Publication Date Title
CN101512512B (zh) 利用软件名声的软件授权
US8239954B2 (en) Access control based on program properties
US9282088B2 (en) Request authentication token
US7739516B2 (en) Import address table verification
EP1610201A2 (en) System and method for secure execution of an application
CN101137963A (zh) 用于验证可执行文件可信度的系统和方法
MXPA05013801A (es) Sistemas y metodos para validar integridad de archivo ejecutable utilizando criptografias de imagen parciales.
JP4680562B2 (ja) 信頼判定エンティティに対する実行可能ファイルの安全な識別
CN110688661A (zh) 防止动态链接库文件劫持的方法、装置和计算机设备
US12306958B2 (en) Secure application development using distributed ledgers
US20240311463A1 (en) Registration of dynamically created packaged applications
US7065680B2 (en) Method and a system for evaluating the reliability of a program in an electronic device, and an electronic device
JP2005527905A (ja) 実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体
JP5435231B2 (ja) 電子メール処理装置、電子メール処理方法、および電子メール処理プログラム
CN116743391A (zh) 请求参数的防篡改方法、装置、计算机设备及存储介质
US7366896B1 (en) Systems and methods for limiting access to potentially dangerous code

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101124

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4680562

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees