JP5337702B2 - 分散されたアプリケーション情報配信のセキュリティ保護 - Google Patents

分散されたアプリケーション情報配信のセキュリティ保護 Download PDF

Info

Publication number
JP5337702B2
JP5337702B2 JP2009534953A JP2009534953A JP5337702B2 JP 5337702 B2 JP5337702 B2 JP 5337702B2 JP 2009534953 A JP2009534953 A JP 2009534953A JP 2009534953 A JP2009534953 A JP 2009534953A JP 5337702 B2 JP5337702 B2 JP 5337702B2
Authority
JP
Japan
Prior art keywords
application
request
requester
instructions
level 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.)
Active
Application number
JP2009534953A
Other languages
English (en)
Other versions
JP2010508594A (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.)
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 JP2010508594A publication Critical patent/JP2010508594A/ja
Application granted granted Critical
Publication of JP5337702B2 publication Critical patent/JP5337702B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; 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/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は、分散されたアプリケーション情報配信のセキュリティ保護に関する。
最近の分散コンピューティングシステムでは、1群のユーザによる1つまたは複数の共用された計算資源の使用を最適化することがますます重要になってきている。この現象の一例が、グリッドコンピューティングシステムである。典型的なグリッドコンピューティング環境内では、いくつかの計算装置へのアクセスは、1組のジョブ管理システムにより制御される。ジョブ管理システムは、サブミットされたジョブに対する計算資源の割振りを決定し、これらのジョブのスケジューリングを決定するが、課金アカウント、セキュリティ資格証明書、並列に実行されるジョブ活動のロケーションなど、ジョブの実行状況の諸側面を決定することも時々あり得る。ジョブ管理システム(複数可)の目的は、グリッド環境のユーザからジョブ要求を受け取ること、および計算資源の全体の使用を最適化することである。コンピュータ資源は、スーパーコンピュータ、コンピューティングクラスタ、アプリケーションサーバ、デスクトップワークステーションなどを含むことができる。
グリッドシステムがその一例である分散コンピューティングシステムは、多数のユーザおよびコンピュータをサポートする、アプリケーションおよび資源管理システムの階層を含むことができる。例えば、ユーザは、集中化したジョブマネジャに、アプリケーションを動作させるように依頼することができる。中央マネジャは、次に、計算クラスタの集合体を担当する補助的なジョブマネジャにアプリケーションを動作させるように依頼することができる。補助的なマネジャは、そのアプリケーションに最も適切な特定のコンピューティング資源を決定し、次いで、その計算クラスタのジョブマネジャにユーザのアプリケーションを動作させるように要求する。
http://www.w3.org/2001/04/xmlenc#aesl28-cbc http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgflp http://www.w3.org/2001/04/xmlenc#kw-aes128
このような階層的に管理された分散システムでは、ユーザのアプリケーション、および任意の補助的なマネジャを含む割り当てられた計算クラスタを担当する一連のジョブマネジャは、分散環境の全体の状態に基づいて動的に決定することができる。ジョブ要求がサブミットされた時点で、ユーザは、そのアプリケーションが最終的にどこで実行されるかの細部を知らない可能性があるので、アプリケーションの実行時に必要ないくつかの情報は、ジョブ要求を処理する1つまたは複数のジョブマネジャにより提供されなくてはならない、または提供されるのが適切である可能性が高い。既存のシステムは、このような情報のセキュリティに対して効率的で十分な保護を提供することに失敗している。
例示的な実施形態では、データ構造は、安全なアプリケーション命令プロトコルに適合する。データ構造は、第1のアプリケーションレベル要求および第2のアプリケーションレベル要求を含む。第1のアプリケーションレベル要求は、リクエスタからのアプリケーション固有の命令、およびそのリクエスタからのアプリケーション固有の命令に対するリクエスタ署名を有する。第2のアプリケーションレベル要求は、中間体からのアプリケーション固有の命令、およびその中間体からの少なくともアプリケーション固有の命令に対する中間体署名を有する。
この要約は、以下の詳細な説明でさらに説明する諸概念の選択を、簡略化した形で導入するために提供されている。この要約は、特許請求される保護対象の重要な特徴または本質的な特徴を特定するようには意図されておらず、特許請求される保護対象の範囲を決定する一助として使用されることも意図されていない。さらに、他の方法、システム、スキーム、装置、デバイス、媒体、手順、API、構成などの実施形態が本明細書で説明される。
同様のおよび/または対応する態様、特徴、およびコンポーネントを参照するために、諸図面を通して同じ番号が使用される。
分散されたアプリケーション情報配信のセキュリティ保護を実施できる例示的な分散コンピューティング環境のブロック図である。 送信されるアプリケーションレベル要求に対して、分散されたアプリケーション情報配信のセキュリティ保護が実施され得る一般的な例のコンピューティング環境を示すブロック図である。 図2の例示的なコンピューティング環境で示されるものなど、例示的なアプリケーションレベル要求を示すブロック図である。 図2の例示的なコンピューティング環境で示されるものなど、例示的なアプリケーションレベル要求を示すブロック図である。 図2の例示的なコンピューティング環境で示されるものなど、例示的なアプリケーションレベル要求を示すブロック図である。 データにアクセスするための権利の委任を含む例示的なアプリケーションレベル要求を示すブロック図である。 図2の例示的なコンピューティング環境で示されるものなど、アプリケーションレベル通信の参加者上で実行することができる例示的なアプリケーションを示すブロック図である。 アプリケーションレベルで要求情報を安全に通信するための方法の例を示す流れ図である。 分散されたアプリケーション情報配信のセキュリティ保護を実施するために使用され得る例示的な装置のブロック図である。
分散されたアプリケーション情報配信のセキュリティ保護への導入
本明細書で前述したように、いくつかの分散コンピューティングシステムは、多数のユーザおよびコンピューティング装置をサポートできるアプリケーションおよび資源管理システムの階層を含む。例のために過ぎないが、ユーザは、集中化したマネジャに、アプリケーションを動作させるように依頼することができる。中央マネジャは、次に、コンピューティング資源クラスタの集合体を担当する補助的なマネジャにアプリケーションを動作させるように依頼することができる。補助的なマネジャは、そのアプリケーションに最も適切な特定のコンピューティング資源を決定し、次いで、その特定のコンピューティング資源のマネジャに、そのアプリケーションを動作させるように要求する。
このようなシステムでは、アプリケーションを動作させる必要のあるユーザと、アプリケーションを実際に動作させるコンピューティング資源との間に、通常、複数のマネジャタイプの中間体がある。前述のジョブマネジャは、このような環境中に存在するマネジャの1つのタイプである。存在することができ、ユーザのジョブ要求の処理を助けることのできる他のタイプの処理マネジャは、これだけに限らないが、メッセージ経路指定マネジャ、監査マネジャなどを含む。これらのマネジャは、総称的に、要求を処理する中間体と呼ぶことができる。要求を処理する中間体は、スケジュールされている途中の、または実行途中の他のアプリケーションに依存しているため、概して、アプリオリに決定することができない。これらの他のアプリケーションは、通常、いずれの単一の要求ユーザにも知られていない。
既存の手法を用いる場合、アプリケーションの実行サイトで、複数のエンティティにより行われてきた可能性のある、アプリケーション情報(例えば、アプリケーション固有の命令)を認証し、および/またはその完全性を保証することは困難である。不適正な命令を使用することは、誤った課金、データのセキュリティ違反、誤った計算、サービスの拒否などの結果となるおそれがあるため、このようなアプリケーション情報のセキュリティは非常に重要になり得る。
既存の手法は、概して、要求を行うエンティティが、要求の完全性を保証し、その要求を最終的に処理することになるエンティティにセキュリティで保護されたメッセージを送ることによって認証を実施できることを想定している。これらの既存の手法は、元のリクエスタ、および各中間のプロセッサが、最終的に誰がその要求を処理することになるかを知ることができないため、前述の分散コンピューティング環境中に存在する問題を完全には対処していない。したがって、それらは、従来の手法を用いてその要求を最終的に処理することになるエンティティに対して、セキュリティで保護されたメッセージを適正に形成することができない。それに代えて、その要求は、1組の独立したメッセージを用いて処理され通信されるが、メッセージのセキュリティは、ポイントツーポイントベースでコンテンツを保護するに過ぎない。
図1は、分散されたアプリケーション情報配信のセキュリティ保護が実施され得る、例示的な分散コンピューティング環境100のブロック図である。図示のように、分散コンピューティング環境100は、「u」個のユーザ102、「p」個の処理マネジャ104、「c」個のコンピューティング資源106、要求108、およびデータ110を含む。分散コンピューティング環境100は、ジョブ活動が、少なくとも1つのコンピューティング資源106上でデータ110を用いて実施され得るように、ユーザ102からの要求108が、1つまたは複数の処理マネジャ104を介して通信される環境を表している。アプリケーションレベル通信の参加者または分散コンピューティング環境100のエンティティは、ユーザ102、処理マネジャ104、およびコンピューティング資源106を含む。
より具体的には、分散コンピューティング環境100は、ユーザ102(1)、ユーザ102(2)、ユーザ102(3)・・・ユーザ102(u)を含み、「u」は何らかの正の整数である。それはまた、処理マネジャ104(1)、処理マネジャ104(2)、処理マネジャ104(3)、処理マネジャ104(4)・・・処理マネジャ104(p)を含み、「p」は何らかの正の整数である。さらに、分散コンピューティング環境100は、コンピューティング資源106(1)、コンピューティング資源106(2)、コンピューティング資源106(3)・・・コンピューティング資源106(c)を含み、「c」は何らかの正の整数である。
前述の実施形態では、各ユーザ102は、何らかのタスクがデータ110に対して実施されるように依頼するタスク要求108を送信することができる。1つのデータエレメント110だけが図示されているが、各ユーザ102は、それ自体の各データ、共用データ、複数単位のデータなどと関連付けることができる。処理マネジャ104の階層に関しては、要求されたタスクを実施するようにコンピューティング資源106に直接依頼できるまで、要求108は、1つの処理マネジャ104から他の処理マネジャ104へと転送される。各コンピューティング資源106は、単一のコンピューティング装置、コンピューティング装置のクラスタ、コンピューティング装置のクラスタの一部などとすることができる。
例示的なタスク要求が、分散コンピューティング環境100の一部として示されている。この例示的なタスク要求では、ユーザ102(2)は、データ110に対して動作される、または実行される必要のあるアプリケーションを有する。ユーザ102(2)は、1つの参加エンティティから次のエンティティへと伝達されるメッセージとして実現される要求108を作成する。要求108は、ユーザ102(2)から処理マネジャ104(1)に送信される。処理マネジャ104(1)は、要求108を処理マネジャ104(2)に転送する。処理マネジャ104(2)は、要求108を処理マネジャ104(3)に転送する。処理マネジャ104(3)は、要求108をコンピューティング資源106(2)に最終的に転送し、それが、要求されたタスクを実際に実施する。要求108は、その転送に先立って各処理マネジャ104により修正され得る。
従来の見方からすると、図1に示すコンピュータシステム環境のタイプは、2つの潜在的なセキュリティ問題を生ずる。第1に、各中間のマネジャ(例えば、処理マネジャ104)および最終的な計算装置(複数可)(例えば、コンピューティング資源106)は、仕事をそのためにすることになる特定のユーザ(例えば、ユーザ102)および中間マネジャを規定するアクセス制御ポリシーを有する可能性が高い。ユーザ、マネジャ、および計算装置が、既存の大規模なコンピューティンググリッドおよび複数の会社を含む協働的ビジネスシステムにおいて典型的な制限されたクロスドメインの信頼関係を有する別々の管理ドメイン中に存在する場合、特にそれは正しい。したがって、中間体、または最終の計算装置に対する各要求(例えば、要求108)は、要求するユーザにより、またアプリケーション要求を処理した前の各中間体により提供される命令に関する認証情報を提供することが可能でなくてはならない。
第2に、アプリケーションを動作させる計算装置(複数可)は、通常、ユーザにより特定されたデータ資源(例えば、データ110)へのアクセスを必要とする。このデータを保持するリポジトリは、そのデータに対して操作することのできる者を制限するアクセス制御ポリシーを有する可能性が高い。したがって、ユーザおよび/または処理する中間体は、データリポジトリが、データへのアクセスの許可を有効であるとして受け入れるためのセキュリティ資格証明書を有する実行アプリケーション(例えば、コンピューティング資源106で)を提供する何らかの機構を必要とする。
これらの問題に対する既存の手法は、どのようにすれば、一連の動的に決定される中間のプロセッサにより徐々に増えて生成される1組のアプリケーション命令を、アプリケーション命令の各組の完全性を検証し、また各中間のプロセッサの認証を実施できるように通信できるかについて対処することに失敗しているので不十分である。したがって、このようなコンピューティングシステム全体のセキュリティがしばしば低下することになり、それはまた、有用性に悪影響を与えるおそれもある。
第1のセキュリティ問題に関しては、既存のプロトコルは、参加エンティティの増分的な発見を伴うこの多段処理タイプを扱うように設計されていない。多くのプロトコルは、ポイントツーポイント用途(例えば、IPsec、SSL、DCE/RPCなど)のために設計されている。これらのポイントツーポイントプロトコルは、2つの知られたエンドポイント間で(すなわち、宛先エンドポイントは、メッセージの送信に先立って知られている必要がある)セキュリティで保護されたメッセージを送ることを可能にするが、2つのエンドポイント間のいずれの中間体も、不透明な2進データを見るだけである。前述した通信参加者間のメッセージフローをセキュリティで保護するために、このようなポイントツーポイントのプロトコルを使用することができるが、残念ながら、第1の参加者における着信要求に対するセキュリティと、次の参加者に向けた送出される要求に対するセキュリティとの間で定義された関係は何もない。
いくつかの他のプロトコル(例えば、SOAP Message Security)は、知られたエンドポイントへのメッセージのセキュリティを処理するように設計されているが、中間のプロセッサに対するセキュリティは、別々に対処する。しかし、これらのプロトコルは、なお、そのエンドポイントが、アプリオリに知られていること、および経路指定の挙動により、動的に発見され得るのは中間体だけであることを仮定している。その結果、既存のシステムは、知られたエンドポイントで、メッセージの認証および完全性の保護が使用されるように意図されているポイントツーポイントのメッセージセキュリティを使用する傾向がある。
既存のプロトコルを用いた安全なメッセージに依存することは、処理する中間体および計算装置のすべてが、同じ管理ドメイン中にある場合、またはその他の形で完全に互いに信頼する場合に、前述の分散コンピューティング環境に対して適切に実施することが可能になる。このような場合、このようなプロトコルが、推移的な信頼モデルの存在を仮定する(すなわち、そのプロトコルは、要求の受信者が送信者を信頼し、また含意(implication)によりその要求を送信者に送る者は誰でも信頼する、信頼モデルの存在を仮定する)ことは許容できる。しかし、完全に信頼することを正当化できない場合、この仮定は、敵意のある中間体が、実行すべきアプリケーションに影響を与える成功裡の間接的攻撃を開始させるおそれがある。さらに、完全に信頼するシナリオは、要求送信者の識別と、要求送信者がその要求中に符号化した情報に基づいて、粗粒度のアクセス制御が可能になるだけである。すなわち、いずれのアクセス制御も、最終的には、セキュリティで保護された要求メッセージを送ったエンティティの信頼に基づくだけである。
第2のセキュリティ問題に関しては、権利の委任を可能にする既存の手法は、同様な限界を有する。例えば、Condorなどのいくつかのグリッドジョブ管理システムは、マッチメーキング(matchmaking)モードで動作する。Condorマネジャ(複数可)は、アプリケーションを動作させるための資源(複数可)を突き止め、これらの資源を予約し、次いで、要求発信者に、どの資源を使用してよいかを通知する。この予約手法は、リクエスタが、データ委任のセキュリティ資格証明書を、要求発信者のアプリケーションを動作させる実際の計算装置に渡す必要があるだけなので、委任の観点から許容することができる。
しかし、この予約手法は、いくつかの負の側面を有する。第1に、要求発信者は、処理マネジャが適切な計算装置を発見するのにどれくらい時間がかかるかを知らないため、利用可能な状態に留まっている必要がある。おそらく、計算装置は、実際のアプリケーション、ならびにその関連する命令および委任の資格証明書が、合理的な時間量中に提供されない場合、資源の予約を取り消すことになる。第2に、リクエスタ発信者は、その計算装置に対して直接的なアクセスを必要とするが、これは、いくつかの複雑なシステムでは、ネットワークトポロジ、ファイアウォールなどにより実際的ではなく、可能でさえないこともあり得る。第3に、マネジャは、おそらく、どのような委任が必要であるかに気付くことがなく、したがって、適切な計算装置を選択するために、委任情報を使用することができない。
いくつかの他の実施形態では、(例えば、MyProxyサーバを介して)要求発信者を代理する(proxy)ために使用され得る名前−パスワード資格証明書が、セキュリティ資格証明書へのアクセスを許可するために使用される。これらの名前−パスワード資格証明書は、通常、データとして中間マネジャに渡され、最終的に計算装置に渡される。それらは、暗号化されたメッセージで搬送することができるが、各中間マネジャおよび各計算装置では、平文データとして示される。その資格証明書にアクセスでき、次いでそれらを送った中間マネジャの完全な組を追跡することを可能にするプロトコルサポートは存在しない。このような追跡情報は、例えば、誰がセキュリティ資格証明書または他の情報にアクセスできる可能性があったかを監査するために、また何らかの予測しないアクセスが生じた場合に法的な調査を行うために重要なものとなり得る。要するに、既存の手法を用いると、要求発信者とアプリケーションを実際に動作させる最終的なコンピューティング資源との間で、アプリケーション固有の情報のセキュリティを保護するための適切な機構を提供することが困難である。
対照的に、本明細書で説明するいくつかの実施形態を用いると、通信エンティティの参加者102、104、および/または106(図1による)に沿った送信経路は、安全なアプリケーション命令プロトコルを用いてセキュリティで保護され、および/または追跡可能にすることができる。例えば、各処理マネジャ104は、要求108の転送に先立ってアプリケーション固有の命令を追加することによって、要求108を増補する(augment)ように選ぶことができる。いくつかの分散コンピューティングネットワークでは、これらの増補的命令を追加することは、進んで実行しようとするすべての情報活動に対して、コンピューティング資源106により必要となり得る。各処理マネジャ104は、他の処理マネジャ104への転送に先立って要求108にデジタル的に署名することができる。要求の増補は、アプリケーションレベルで実施される。デジタル署名は、アプリケーション固有の情報に適用される。したがって、アプリケーションレベル通信の参加者102、104、および/または106は、特有のアプリケーション命令を提供するエンティティを認証し、またこのアプリケーション情報の完全性を検証することができる。さらに、参加するエンティティの識別を追跡することができる。
より具体的には、前述の実施形態に関して、1組のアプリケーション固有の命令の送信者は、次の処理中間体が解読できる形で暗号化されたセキュリティ資格証明書情報を含めることができる。この処理中間体は、次いで、(i)他の処理中間体が解読できる形で、その資格証明書を再度符号化し、また(ii)中間体が作成した中間体供給のアプリケーション固有の命令の組の中にこの再度暗号化した資格証明書を含めることができる。このプロセスは、コンピューティング資源などの最終的な要求ハンドラに達するまで、ポイントツーポイントベースで継続される。資格証明書は要求ハンドラで使用される。前段落で説明したように、アプリケーション固有の命令の各組がデジタル的に署名される場合、平文の資格証明書にアクセスした各エンティティに関する検証可能な記録が提供される。
分散されたアプリケーション情報配信のセキュリティ保護に関する例示的な実施形態
図2は、分散されたアプリケーション情報配信のセキュリティ保護が、アプリケーションレベル要求208に対して実施され得る一般的な例のコンピューティング環境200を示すブロック図である。図示のように、コンピューティング環境200は、リクエスタ202、複数の(処理する)中間体204、複数の要求ハンドラ206、アプリケーションレベル(タスク)要求208、およびデータ210を含む。コンピューティング環境200では、アプリケーションレベル通信の参加者またはエンティティは、リクエスタ202、中間体204、および要求ハンドラ206を含む。
より具体的には、4つの処理中間体204(1)、204(2)、204(3)、および204(4)が示されている。3つの要求ハンドラ206(1)、206(2)、および206(3)が示されている。アプリケーションレベル要求208の4つのバージョンが示されている、すなわち、アプリケーションレベル要求A 208(A)、アプリケーションレベル要求B 208(B)、アプリケーションレベル要求C 208(C)、およびアプリケーションレベル要求D 208(D)である。アプリケーションレベル通信参加者の図示された各タイプの特定の数が、コンピューティング環境200中に示されているが、リクエスタ202、中間体204、および/または要求ハンドラ206のそれぞれの任意の数を、所与のアプリケーションレベル要求通信に含むことができる。
前述の実施形態では、概して、リクエスタ202は、データ210と関連するアプリケーションレベル要求208を生成し、開始する。アプリケーションレベル要求208は、1つまたは複数の処理中間体204の間で、またその中で送信される。各処理中間体204は、アプリケーションレベル要求208を、次にどこに転送すべきかを決定する。本明細書の以下でさらに説明するように、各中間体204はまた、アプリケーションレベル要求208を、アプリケーション固有の命令をそれに追加することによって増補することができる。最終的に、中間体204は、アプリケーションレベル要求208を少なくとも1つの要求ハンドラ206に転送する。各要求ハンドラ206は、アプリケーションレベル要求208の一部として受信されたアプリケーションレベル命令に従って、またその関連するデータ210に従って、アプリケーションを実行することができる。
図1に関しては、より具体的な分散コンピューティング環境100が示されている。図2の一般的なコンピューティング環境200の状況において、リクエスタ202は、ユーザ102として実現され、処理中間体204は、処理マネジャ104として実現され、また要求ハンドラ206は、コンピューティング資源106として実現され得る。さらに、アプリケーションレベル要求208は、要求108として実現され、またデータ210は、データ110として実現され得る。
コンピューティング環境200に関して説明する実施形態では、リクエスタ202、中間体204、および要求ハンドラ206が1つまたは複数のネットワーク(図2では明示的に示されていない)により相互接続される。このようなネットワーク(複数可)の通信リンクを用いて、アプリケーションレベル要求208は、それが、要求されたタスクを実施できる少なくとも1つの要求ハンドラ206に提供されるまで、中間体204の間で、またその中で転送される。
図2で示すように、また例示のために過ぎないが、アプリケーションレベル要求A 208(A)は、リクエスタ202により生成される。リクエスタ202は、アプリケーションレベル要求A 208(A)を中間体#1 204(1)に送信する。アプリケーションレベル要求208は、何らかのトランスポートプロトコルに従って通信されるメッセージの一部として送信され得る。利用されるトランスポートプロトコルは、アプリケーションレベル通信の参加者202、204、および206の間で異なる可能性がある。
着信する要求208(A)の何らかの操作の後、中間体#1 204(1)は、アプリケーションレベル要求B 208(B)を中間体#2 204(2)に送信する。着信する要求208(B)の何らかの操作の後、中間体#2 204(2)は、アプリケーションレベル要求C 208(C)を中間体#3 204(3)に送信する。さらに、着信する要求208(B)の何らかの(おそらく異なる)操作の後、中間体#2 204(2)はまた、アプリケーションレベル要求D 208(D)を中間体#4 204(4)に送信する。
中間体#3 204(3)は、アプリケーションレベル要求C 208(C)の要求されたタスクを2つの部分に分離する。それは、第1の部分を第1の要求ハンドラ206(1)に、また第2の部分を第2の要求ハンドラ206(2)に転送する。中間体#4 204(4)は、アプリケーションレベル要求D 208(D)の要求されたタスクを第3の要求ハンドラ206(3)に転送する。したがって、要求ハンドラ206(1)、206(2)、および206(3)はそれぞれ、アプリケーションレベル要求A 208(A)の元の要求されたタスクを実施することになる。
図3A、3B、および3Cは、図2の例示的なコンピューティング環境で示されたものなど、例示的なアプリケーションレベル要求208を示すブロック図である。具体的には、図3Aは、アプリケーションレベル要求A 208(A)の例を示す。図3Bは、アプリケーションレベル要求B 208(B)の例を示す。図3Cは、アプリケーションレベル要求C 208(C)の例を示す。
図3Aに関して説明する実施形態では、アプリケーションレベル要求A 208(A)は、リクエスタからのアプリケーション固有の命令302およびリクエスタ署名304を含む。リクエスタからのアプリケーション固有の命令302は、実行されることを要求するタスクを規定する情報である。例えば、それは、実行されるアプリケーション、およびアプリケーションが実行するデータ、ならびに任意の必要なセキュリティ資格証明書を規定することができる。より具体的には、リクエスタからのアプリケーション固有の命令302は、例示のためであり、これだけに限らないが、実行要件、初期化パラメータ、必要なデータソース、セキュリティコンテキスト情報などを含むことができる。リクエスタ202は、リクエスタからのアプリケーション固有の命令302に関する情報を確認し、アプリケーションレベル要求A 208(A)を作成する。
リクエスタ署名304は、リクエスタ202による、リクエスタからのアプリケーション固有の命令302に適用されるデジタル署名である。言い換えると、デジタル署名手順が、アプリケーションレベル情報に適用される。その結果、中間体#1 204(1)に対応するエンティティなど、アプリケーションレベル要求A 208(A)をその後に続いて受信し、処理するエンティティは、リクエスタからのアプリケーション固有の命令302に対して、認証検査および完全性の検証を実施することができる。認証検査は、どのリクエスタ202がそのアプリケーション固有の命令302を生成したかを決定する。完全性の検証は、リクエスタからのアプリケーション固有の命令302の情報が、リクエスタ202により生成(また署名)された後に変更されていないことを検証する。
図3Bに関して説明する実施形態では、アプリケーションレベル要求B 208(B)は、中間体#1からのアプリケーション固有の命令306(1)、中間体#1の署名308(1)、およびアプリケーションレベル要求A 208(A)を含む。中間体#1 204(1)は、リクエスタ202からの着信するアプリケーションレベル要求A 208(A)を受け入れ、また何らかの操作の後に、それを中間体#2 204(2)に転送すべきであると決定する。中間体#1 204(1)は、アプリケーションレベル要求A 208(A)をアプリケーションレベル要求B 208(B)中に有効にカプセル化する。
中間体#1 204(1)は、アプリケーションレベル要求208を、補足的なアプリケーション固有の命令306をそれに追加することにより増補する。これらの補足的な命令は、中間体#1からのアプリケーション固有の命令306(1)として示される。それらは、図2の例における中間体#2 204(2)を含むことのできる、少なくとも1つの後続する受信者により処理されるように意図されている。中間体#1 204(1)はまた、中間体デジタル署名308を用いて、アプリケーションレベル要求208にデジタル的に署名する。このデジタル署名は、中間体#1署名308(1)として示されている。中間体#1署名308(1)は、アプリケーションレベル要求B 208(B)のアプリケーション固有の情報に対する署名である。これは、例えば、中間体#1からのアプリケーション固有の命令306(1)および/またはアプリケーションレベル要求A 208(A)を含むことができる。例えば、中間体# 204(1)が、そのアプリケーション固有の命令およびリクエスタ202により提供されたものが、独立して変更されていないことを保証する理由が存在する場合、中間体#1 204(1)はまた、アプリケーションレベル要求A 208(A)にデジタル的に署名することができる。
図3Cに関して説明する実施形態では、アプリケーションレベル要求C 208(C)は、中間体#2からのアプリケーション固有の命令306(2)、中間体#2署名308(2)、およびアプリケーションレベル要求B 208(B)を含む。中間体#2 204(2)は、中間体#1 204(1)から着信するアプリケーションレベル要求B 208(B)を受け入れ、それを、少なくとも部分的に、また何らかの操作の後に、中間体#3 204(3)に転送すべきであると決定する。中間体#2 204(2)は、アプリケーションレベル要求B 208(B)をアプリケーションレベル要求C 208(C)中に有効にカプセル化する。
中間体#2 204(2)は、アプリケーションレベル要求208を、補足的なアプリケーション固有の命令306をそれに追加することにより増補する。これらの補足的な命令は、中間体#2からのアプリケーション固有の命令306(2)として示されている。中間体#2 204(2)はまた、中間体デジタル署名308を用いて、アプリケーションレベル要求208にデジタル的に署名する。このデジタル署名は、中間体#2署名308(2)として示されている。中間体#2署名308(2)は、アプリケーションレベル要求C 208(C)のアプリケーション固有の情報に対する署名である。これは、例えば、中間体#2からのアプリケーション固有の命令306(2)、および/またはアプリケーションレベル要求B 208(B)を含むことができる。個別に示されていないが、アプリケーションレベル要求D 208(D)は、アプリケーションレベル要求C 208(C)に類似させた形で作成することができる。
したがって、図2および3A〜3Cで示すように、アプリケーションレベル命令プロトコルの前述の実施形態は、着信するアプリケーションレベル要求208を有効にカプセル化し、送出するアプリケーションレベル要求208を生成する。送出するアプリケーションレベル要求は、アプリケーション固有の情報の少なくとも一部に対するデジタル署名308を含む。それはまた、補足的なアプリケーション固有の命令306を含むことができる。アプリケーションレベル要求208が、参加するアプリケーションレベル通信のノードまたはエンティティを介して伝送されると、図3Cにより特に示されるように、アプリケーションレベル要求208のネストされた組が作成される。
各ネストされた要求に対するデジタル署名304および308と結合されたアプリケーションレベル要求208のこのネスティングは、参加者に、要求送信の連鎖を通して、アプリケーション固有の情報の認証および完全性の検証を実施することを可能にする。しかし、少なくとも最後の要求ハンドラ206(図2による)は、アプリケーションレベル要求208に従って要求されたタスクを実施するためにデータ210にアクセスする必要があり得る。いくつかの実施形態では、データ210にアクセスするには、データ210にアクセスするための権利が許可されている必要があり得る。したがって、このような実施形態では、要求ハンドラ206により要求されたタスクを実施することは、まず、データ210にアクセスするための権利を実施者(implementer)に許可することが必要となるはずである。前述の実施形態では、データ210へのこのアクセス権は、委任アクセス制御機構により許可され得る。
図4は、データにアクセスするための権利の委任を含む例示的なアプリケーションレベル要求B 208(B)*を示すブロック図である。アプリケーションレベル要求B 208(B)*は、データ委任の権利情報が含まれたアプリケーションレベル要求B 208(B)(図3Bによる)である。本明細書の以下でさらに説明するように、任意のアプリケーションレベル要求208は、例えば、リクエスタからの権利の委任402および/または中間体からの権利の委任404の形で、データ委任の権利情報を含むことができる。
図示のように、アプリケーションレベル要求B 208(B)*は、中間体#1からの権利の委任404(1)を含み、また要求ネスティングにより、アプリケーションレベル要求A 208(A)の一部である、リクエスタからの権利の委任402を有効に含む。前述の実施形態では、リクエスタ202が、アプリケーションレベル要求A 208(A)を作成する場合、それは、リクエスタからの権利の委任402を含む。リクエスタ202は、そのデータ210に対するアクセス権を有する。リクエスタ202は、どの要求ハンドラ(複数可)206が最終的にデータ210にアクセスするための権利が必要となるかを知らない可能性があるので、リクエスタ202は、データ210へのアクセス権を直接許可することはできないはずである。したがって、リクエスタ202は、データ210に対するアクセス権を委任するための権利を、後続するアプリケーションレベル通信の参加者(例えば、処理中間体204)に許可する。
データ委任情報(例えば、リクエスタからの権利の委任402、中間体からの権利の委任404など)は、第2の参加者へと転送される、または延長され得る、第1の参加者への委任権を許可することである。言い換えると、(アプリケーションレベル要求B 208(B)*の)アプリケーションレベル要求A 208(A)の場合、リクエスタ202は、下流の通信参加者に、データ210へのアクセス権をさらに許可するための権利を、中間体#1 204(1)に委任する。中間体#1 204(1)は、中間体#1からの権利の委任404(1)を追加することによって、この委任権を利用する。言い換えると、アプリケーションレベル要求B 208(B)*の場合、中間体#1 204(1)は、データ210へのアクセス権を、他の下流の通信参加者にさらに許可するための権利を中間体#2 204(2)に委任する。この委任の連鎖は、選択された要求ハンドラ206に、データ210へのアクセス権が許可される(例えば、中間体#3 204(3)および/または中間体#4 204(4)により)まで延長され得る。この委任情報402および/または404が、許可されない参加者に開示されるべきではない秘密(例えば、パスワード、暗号化鍵など)を含む場合、このような情報は、次の処理エンティティがそれを解読できるように暗号化することができる。この処理エンティティは、次いで、次の処理エンティティのために、その秘密情報を再度暗号化することができ、また要求を増補するためのデータ委任情報をそれに含めることができる。
したがって、いくつかの前述の実施形態は、要求を生成するリクエスタ、要求のハンドラ、およびその要求を処理し、リクエスタと要求ハンドラの間で転送する1つまたは複数の中間体の間の対話のための一般的なアプリケーションレベルのセキュリティプロトコルを提供する。アプリケーションレベルのセキュリティプロトコルの前述の実施形態は、これらのエンティティが、要求の発行に先立って知られている状況において使用することができる。さらにいくつかの前述の実施形態は、これらのエンティティがアプリオリに知られていないが、その要求がリクエスタと最終的な要求ハンドラの間で伝わるにつれて、エンティティが徐々に確立される、より複雑な場合を扱うことができる。
図2における要求208のフローは、本明細書で説明するアプリケーションレベルのセキュリティプロトコルにより処理できる一般のメッセージフローパターンの一例を示す。前述のように、リクエスタ202から要求ハンドラ206への要求のフローは、有向グラフを形成する。いずれの中間体204においても、要求208は、潜在的に、複数のエンティティ(例えば、1つまたは複数の他の中間体204および/または要求ハンドラ206)に転送することができる。リクエスタ202から要求ハンドラ206への各フローは、論理的に別個のものとして処理され得る。図2に示すコンピューティング環境200は、したがって、3つの論理的に別々のフローを有していると見なすことができる。1つのフローに対する要求処理を他のフローで再使用できる可能性があることにより、実施効率を改善することができるが、このような再使用は、アプリケーションレベルのセキュリティプロトコルに影響を与えないで済む。したがって、以下の本明細書の説明では、明確化のために、単一の要求フローだけを扱う。
前述のように、アプリケーションレベル要求208に対するネスティングプロセスは、デジタル署名304および308と併せて、リクエスタ202と、所与の要求メッセージを処理した任意の前の中間体204とを認証するための機構を提供する。さらに、ネスティングおよびデジタル署名は、元の要求と、中間体により追加された任意のアプリケーションレベルの処理命令とにおけるアプリケーションレベル情報の完全性を独立して検証するための機構を提供する。
前述の実施形態では、メッセージ構成は、ネスティングプロセスを用いて達成され、またこのネスティングプロセスは、デジタル署名技術と結合される。デジタル署名は、例えば、公開鍵暗号技術に基づくことができる。以下のテキストおよび例示的なメッセージ要求フォーマットでは、リクエスタ202はリクエスタRと称し、中間体#1〜#n 204(1・・・n)は中間体M1〜Mnと称し、また要求ハンドラ206は要求ハンドラRHと称する。デジタル署名とネスティングを組み合わせたこの手法を用いて、鍵KRを有するリクエスタRは、最初の中間体M1に、
Figure 0005337702
を含むメッセージを送る。「要求」は、リクエスタからのアプリケーション固有の命令302(図3A〜4による)に対応する。「KRによる署名」は、リクエスタ署名304に対応する。リクエスタ署名304は、例えば、SHA−1ダイジェストアルゴリズムを用いた、要求コンテンツ情報に対するRSA署名を用いて実施することができる。
中間体M1は、その署名を検査して要求がリクエスタRから来ていることを認証し、送信中にそれが変更されていないことを検証することができる。鍵KM1を有する中間体M1が、鍵KM2を有する第2の中間体M2に要求を転送することを決定した場合、中間体M1は、
Figure 0005337702
を含むメッセージを送る。「M2に対するM1命令」は、中間体#2 204(2)に対して中間体#1 204(1)により追加された中間体#1からのアプリケーション固有の命令306(1)(図3B〜4による)に対応する。「KM1による署名」は、中間体#1の署名308(1)に対応する。「M2に対するM1命令」(または中間体306からの任意のアプリケーション固有の命令)は、実施者M1により、さらなるアプリケーション固有の命令が何も追加されない場合は、ヌルとなり得る。
中間体M2は、次に、2つの署名(304および308(1))を使用して、[1]「M2に対するM1命令」が中間体M1から生成されたこと、[2]中間体M1が元の要求を有していたこと、[3]元の要求がリクエスタRから来たこと、および[4]署名が適用されたため、何も変更されていないことを判定することができる。中間体M2は、次いで、この情報を使用して、中間体M1とリクエスタRの両方のために、このような要求を進んで処理するかどうか判定することができる。
この手法は、最終的に、実際の要求ハンドラに到達するまで、「n」個の中間体Mを通して継続される、ただし、「n」は何らかの整数である。この実際の要求ハンドラは、
Figure 0005337702
を含むメッセージを受け取る。
暗号化デジタル署名KRおよびKM1・・・KMnは、中間体および要求ハンドラによりアプリケーションレイヤで理解されたデータに対して行われる。これは、送信されたメッセージを認証し、完全性を保護するために、通信のセキュリティ保護に広く使用されるネットワークのセキュリティプロトコルのデジタル署名とは全く異なる。これらの広く使用されるメッセージのデジタル署名は、通常、使用される特定の低レイヤセキュリティプロトコル用に符号化されたメッセージコンテンツおよびメッセージヘッダを共にカバーする。したがって、ヘッダは、概して、諸中間体にわたって意味を有しておらず、また使用されるメッセージングプロトコルは、要求フローに参加するすべてのエンティティ間で同一ではない可能性があるため、このようなメッセージデジタル署名は、これらのアプリケーションに対して使用することができない。
図4を参照して前述したように、データアクセスに対する権利の委任はまた、動的に発見されたメッセージフローの参加者に即して、アプリケーションレベルのセキュリティプロトコルの使用を実行することができる。いくつかの前述の実施形態は、したがって、様々な参加エンティティ間で、委任情報を渡すための機構を提供する。このデータ委任情報を渡すことは、フロー中のエンティティを動的に発見できることに対処する。言い換えると、データ委任情報を渡すことは、リクエスタが最初に要求を作成する場合、データのアクセス権を、どの要求ハンドラに委任すべきかをリクエスタが直接示す方法がない可能性のあることに対処している。
リクエスタからの権利の委任402および/または中間体からの権利の委任404など、セキュリティ資格証明書情報を暗号化することができる。各処理中間体204は、それらを解読し、任意の適切な分析を行い、それらをおそらく変更し、次いで、要求208を転送する前に再度暗号化することができる。暗号化は、任意の一般に使用される暗号(例えば、非特許文献1参照)または特別に適応された暗号を用いて適用することができる。関連する解読鍵は、一般に利用可能な技法(例えば、非特許文献2で説明されているRSA鍵トランスポート)、または特別に設計された技法を用いて通信することができる。関連する解読鍵はまた、AES鍵ラップ(例えば、非特許文献3)を用いて通信することもできる。他の暗号化、解読、および鍵トランスポート手法を、代替的に使用することもできる。
権利の委任を伴う分散されたアプリケーション情報配信のセキュリティ保護に関するいくつかの前述の実施形態は、リクエスタのデータアクセス権を要求ハンドラに委任するためにどの機構が使用されるかに関して全く分かっていない。例示的な委任機構は、例としてであり、これに限らないが、(i)MyProxyサービスで使用される物など、委任資格証明書をアンロックするために使用される名前−パスワードの対、(ii)ISOのREL(Rights Expression Language;権利記述言語)などのポリシー言語を用いて、各処理中間体で生成される一連の明示的な委任ポリシー/資格証明書、(iii)Microsoft(登録商標)からのSecPAL(商標)(Security Policy Assertion Language)言語、(iv)それらのいくつかの組合せなどを含む。例示的な実施形態は、グリッドコンピューティング分散ジョブ管理のために開発されている1つまたは複数のSOAPベースのウェブのサービスプロトコルと共に使用されるXML符号化を使用することができる。
前述の例示的な手法は、リクエスタ、および各処理中間体に所望の委任を符号化させて、メッセージ通信フローに参加している次のエンティティに送ることである。その機構が、名前−パスワード資格証明書およびMyProxyサービスを含む場合、それは、暗号化されてフロー中の次のエンティティに送られる名前−パスワードの形を取ることに加えて、使用するMyProxyサービスへの参照の形を取る。その機構が、ポリシー言語手法の1つを含む場合、それはフロー中に参加している次のエンティティが、必要なデータにアクセスする権利を有すること、および/またはこれらの権利を他の者に委任することを示す資格証明書の作成を伴う。
そうではあるが、このようなデータ委任資格証明書は、リクエスタまたは現在の処理中間体により「発行される」、またはデジタル的に署名される。権利の委任情報は、次いで、(図4の組合せで示されるように)前述の認証情報と組み合わされて、アプリケーションレベルのセキュリティプロトコルの前述の他の実施形態を形成することができる。例示のためだけであるが、権利の委任コンポーネントを有するアプリケーションレベルのセキュリティプロトコルの前述の実施形態は、概して、以下のようにフォーマット化することができる、ただし、「データアクセス権」は「DAR」により表される。
Figure 0005337702
図5は、図2の例示的なコンピューティング環境中で示されたものなど、アプリケーションレベル通信の参加者上で実行することができる例示的なアプリケーション502を示すブロック図である。図示のように、アプリケーション502は、10個のモジュール504〜522を含む。これらの10個のモジュールは、受信器504、アプリケーション固有の情報抽出器506、アプリケーション固有の情報分析器508、メッセージ参加者認証器510、メッセージ情報の完全性検証器512、メッセージ増補器514、メッセージ署名器516、情報暗号化器518、情報解読器520、および送信器522である。
10個のモジュールが、アプリケーション502に関して示され、以下で説明されているが、アプリケーション命令に対するアプリケーションレベルのセキュリティプロトコル中で参加エンティティとして機能しているアプリケーションは、任意の数のモジュールを含むことができる。以下の説明は、主として、中間体204として機能しているアプリケーション502を対象とする。そうではあるが、アプリケーション502の機能は、リクエスタ202、要求ハンドラ206などの他のエンティティに対しても同様の物であり得る。しかし、いくつかの違いが存在する可能性がある。例えば、要求ハンドラ206は、メッセージ増補器514またはメッセージ署名器516を必要としない可能性がある。リクエスタ202は、要求208を生成するので、アプリケーション固有の情報抽出器506またはアプリケーション固有の情報分析器508を必要としない可能性がある。他方で、リクエスタ202のアプリケーション502中に両方を含むことは、リクエスタそれ自体が、要求208の送信経路の何らかの要求追跡の法的な分析を行うことを可能にする。
前述の実施形態では、受信器504は、アプリケーションレイヤよりも低位のコンピュータの通信スタックレイヤから、着信する要求208を受け入れる。同様に、送信器522は、低位レイヤの通信トランスポートプロトコルを用いて、他の中間体204または要求ハンドラ206に転送するために、送出する要求208を、アプリケーションレイヤから通信スタックの低位レイヤに送る。
前述の実施形態では、アプリケーション固有の情報抽出器506は、着信する要求208からアプリケーション固有の情報を抽出する。アプリケーション固有の情報の例には、これだけに限らないが、リクエスタからのアプリケーション固有の命令302、中間体からのアプリケーション固有の命令306、リクエスタからの権利の委任402、中間体からの権利の委任404などが含まれる。アプリケーション固有の情報分析器508は、抽出されたアプリケーション固有の情報を分析して、その要求を次にどこに転送すべきかを決定する。次の参加ノードは、例えば、他の中間体または要求ハンドラとすることができる。アプリケーション固有の情報分析器508はまた、その抽出されたアプリケーション固有の情報を分析して、必要な場合、送出する要求208用として、この次のノードのためにどのような追加のアプリケーション固有の命令を着信する要求208に追加すべきかを決定する。
メッセージ参加者認証器510は、要求208および/または増補的アプリケーション固有の情報の元を認証するためにデジタル署名を使用する。したがって、メッセージ参加者認証器510は、リクエスタ署名304を使用して、リクエスタからのアプリケーション固有の命令302を有する元の要求208(A)が、リクエスタ202によって開始されたことを認証することができる。それはまた、中間体#1の署名308(1)を使用して、アプリケーション固有の命令306(1)を有するカプセル化された要求208(B)が、中間体#1 204(1)から転送されたことを認証することができる。
メッセージ情報の完全性検証器512は、それぞれがネストされたデジタル署名304および308を使用して、それぞれがネストされたアプリケーション固有の情報の完全性を検証する。より具体的には、メッセージ情報の完全性検証器512は、リクエスタ署名304を使用して、リクエスタからのアプリケーション固有の命令302および/またはリクエスタからの権利の委任402の完全性を検証する。メッセージ情報の完全性検証器512はまた、中間体署名308を使用して、中間体からのアプリケーション固有の命令306および/または中間体からの権利の委任404を検証することができる。
メッセージ増補器514は、任意のさらなる所望の処理命令を追加する。例えば、メッセージ増補器514は、次のエンティティ受信者(例えば、中間体または要求ハンドラ)に対する新しいアプリケーション固有の命令306を追加することができ、および/または次のエンティティ受信者に対するデータアクセス権を含むデータ委任権404を追加することができる。メッセージ署名器516は、アプリケーションレベル情報にデジタル的に署名して、中間体署名308を作成する。デジタル署名手順は、次のエンティティ受信者用である、中間体からのアプリケーション固有の命令306など、増補的情報に対して適用することができる。代替的には、デジタル署名手順はまた、要求208が作成され、命令が追加されている順序の検証を提供するように、ネストされたアプリケーションレベル要求208に対して実施することもできる。
暗号化および解読は、それぞれ、情報暗号化器518および情報解読器520で処理される。情報は、情報解読器520により解読することができる。情報は、情報暗号化器518により暗号化され、および/または再度暗号化され得る。情報は、例えば、セキュリティ資格証明書情報とすることができる。より一般的には、情報は、これだけに限らないが、アプリケーション固有の命令302および/または306、権利の委任402および/または404などを含む所与の任意のデータとすることができる。
図6は、アプリケーションレベルの要求情報を安全に通信するための方法の例を示す流れ図600である。流れ図600は8個のブロック602〜616を含む。流れ図600のアクションは他の環境中で、また様々なハードウェアおよびソフトウェアの組合せを用いて実施することができるが、図2〜5のいくつかの態様は、流れ図600の方法の一例を示すために使用される。例えば、流れ図600のアクションは、処理中間体204により実施され得る。
ブロック602では、アプリケーションレベルで、リクエスタによりデジタル的に署名された要求を有する着信メッセージが受信される。例えば、中間体#2 204(2)は、リクエスタ202により少なくとも部分的に署名されたアプリケーションレベル要求B 208(B)を有するメッセージを受信することができる。アプリケーションレベル要求B 208(B)は、リクエスタ署名304を含むアプリケーションレベル要求A 208(A)をカプセル化する。
ブロック604で、受信された要求が前の中間体からの任意のアプリケーション固有の命令を有するかどうかが判定される。例えば、アプリケーションレベル要求B 208(B)が、前の中間体306からの任意のアプリケーション固有の命令を含むかどうかを判定することができる。図3Bで示すように、アプリケーションレベル要求B 208(B)は、中間体#1からのアプリケーション固有の命令306(1)を含む。
受信されたメッセージが、前の中間体からのアプリケーション固有の命令を有する場合、ブロック606で、そのアプリケーション固有の中間体命令が要求から抽出される。例えば、中間体#1からのアプリケーション固有の命令306(1)を抽出することができる。
ブロック606の後、またはブロック604で「No」の判断の後、アプリケーション固有のリクエスタ命令が、ブロック608で、要求から抽出される。例えば、リクエスタからのアプリケーション固有の命令302が抽出され得る。したがって、ブロック606および608の後、いずれのアプリケーション固有の命令も、それがリクエスタから発信されたものであろうと、前の中間体からのものであろうと抽出されている。デジタル署名304/308および/または権利の委任402/404などの他のアプリケーション固有の情報もまた、抽出することができる。
ブロック610で、抽出されたアプリケーション固有の情報が分析される。例えば、アプリケーション固有のリクエスタ命令302および/またはアプリケーション固有の中間体命令306が分析されて、その要求を、他の中間体に転送すべきか、要求ハンドラに転送すべきか、またはその一方もしくは両方に転送すべきかを判定することができる。言い換えると、分析は、その要求の後続する受信者となるべき少なくとも1つのエンティティの識別を決定することができる。分析はまた、現在の中間体によって、どのようなアプリケーション固有の命令を要求に追加すべきかを決定することもできる。
デジタル署名保護が使用されている場合、リクエスタ署名304および/または中間体署名(複数可)308が抽出され、またそれを、アプリケーションレベル要求208の完全性を認証し、および/または分析するために使用することができる。データ委任情報が、アプリケーションレベル要求208中に含まれる場合、リクエスタからの権利の委任402、および/または中間体からの権利の委任404が抽出され、また特に、下流の参加者にデータアクセス権をさらに委任するために、分析で使用することができる。
ブロック612で、要求が、後続するエンティティに対するアプリケーションレベル命令を追加することにより増補される。例えば、ブロック610の分析に応じて、中間体#2 204(2)は、中間体#2からのアプリケーション固有の命令306(2)など、後続する中間体に対するアプリケーション固有の命令306を追加することができる。委任の権利が送られている場合、中間体#2 204(2)はさらに、中間体#2 からの権利の委任404を追加することにより要求を増補して、データアクセス権の推移的な委任連鎖を継続することができる。
ブロック614では、アプリケーションレベルで追加された命令を有する増補された要求は、デジタル的に署名され送出メッセージが作成される。例えば、中間体#2 204(2)は、追加されたアプリケーション固有の命令306(2)および/またはネストされたアプリケーションレベル要求208(AおよびB)にデジタル的に署名して、中間体#2の署名308(2)を作成することができる。
ブロック616で、デジタル的に署名された送出メッセージが、後続するエンティティに向けて送信される。例えば、中間体#2 204(2)は、アプリケーションレベル要求C 208(C)を中間体#3 204(3)に向けて送信することができる。中間体#3 204(3)はまた、要求ハンドラ206(1)および206(2)への後続する通信のために、それらの間の論理的関係および信頼関係に応じて、前述のアプリケーションレベルのセキュリティプロトコルの諸態様を適用することもできる。
図7は、分散されたアプリケーション情報配信のセキュリティ保護を実施するために使用できる例示的な装置702のブロック図である。複数の装置702は、1つまたは複数のネットワーク714にわたって通信することができる。ネットワーク714は、インターネット、イントラネット、イーサネット(登録商標)、無線ネットワーク、有線ネットワーク、公衆網、専用ネットワーク、ケーブルネットワーク、デジタル加入者回線(DSL)ネットワーク、電話ネットワーク、ファイバネットワーク、グリッドコンピュータネットワーク、資源クラスタのネットワーク、そのいくつかの組合せなどとすることができる。
図示のように、2つの装置702(1)および702(n)は、アプリケーションレベル要求208の転送など、ネットワーク714を介するメッセージ通信の送信に従事することができる。2つの装置702が、具体的に示されているが、実施形態に応じて、1つまたは2を超える装置702を使用することもできる。リクエスタ202、中間体204、要求ハンドラ206などが、装置702として実現され得る。
概して、装置702は、任意のコンピュータ、あるいはサーバ装置、ワークステーションもしくは他の一般のコンピュータ装置、データ記憶リポジトリ装置、携帯情報端末(PDA)、移動電話、ゲームプラットフォーム、娯楽装置、ルータコンピューティングノード、またはそれらの何らかの組合せなどの処理可能な装置を表すことができる。図示のように、装置702は、1つまたは複数の入力/出力(I/O)インターフェース704、少なくとも1つのプロセッサ706、および1つまたは複数の媒体708を含む。媒体708は、プロセッサ実行可能命令710を含む。
装置702の前述の実施形態では、I/Oインターフェース704は、(i)ネットワーク714にわたり通信するためのネットワークインターフェース、(ii)表示画面上に情報を表示するための表示装置インターフェース、(iii)1つまたは複数のマンマシンインターフェースなどを含むことができる。(i)のネットワークインターフェースの例は、ネットワークカード、モデム、1つまたは複数のポート、ネットワーク通信スタックなどを含む。(ii)の表示装置インターフェースの例は、グラフィックスドライバ、グラフィックスカード、画面またはモニタ用のハードウェアまたはソフトウェアドライバなどを含む。(iii)のマンマシンインターフェースの例は、有線でまたは無線でマンマシンインターフェース装置712(例えば、キーボード、リモート、マウス、または他のグラフィカルなポインティング装置など)に通信する物を含む。
概して、プロセッサ706は、プロセッサ実行可能命令710などのプロセッサ実行可能命令を実行し、実施し、および/またはその他の形で実現することができる。媒体708は、1つまたは複数のプロセッサアクセス可能媒体からなる。言い換えると、媒体708は、装置702による機能の性能を実現するために、プロセッサ706により実行可能なプロセッサ実行可能命令710を含むことができる。
したがって、分散されたアプリケーション情報配信のセキュリティ保護の実現は、プロセッサ実行可能命令の一般的なコンテキストで記述され得る。概して、プロセッサ実行可能命令は、特定のタスクを実施する、および/または可能にする、および/または特定の抽象型を実施するルーチン、プログラム、アプリケーション、コーディング、モジュール、プロトコル、オブジェクト、コンポーネント、メタデータおよびその定義、データ構造、アプリケーションプログラミングインターフェース(API)などを含む。プロセッサ実行可能命令は、別個の記憶媒体中に位置し、異なるプロセッサにより実行され、および/または様々な送信媒体を介して伝播され、またはその媒体上に存在することができる。
プロセッサ(複数可)706は、任意の適用可能な、処理可能技術を用いて実施することができる。媒体708は、装置702の一部として含まれる、および/または装置702によりアクセス可能な任意の利用可能な媒体とすることができる。それは揮発性および不揮発性媒体、取外し可能および取外し不能媒体、記憶および送信媒体(例えば、無線のまたは有線の通信チャネル)を含む。例えば、媒体708は、プロセッサ実行可能命令710の長期間の大容量記憶のためのディスクアレイ、現在実行されている、および/またはそのほかの形で処理されている命令の短期間記憶のためのランダムアクセスメモリ(RAM)、通信を送信するためのネットワーク714上のリンク(複数可)などを含むことができる。
具体的に示したように、媒体708は、少なくともプロセッサ実行可能命令710を含む。概して、プロセッサ実行可能命令710は、プロセッサ706によって実行された場合、装置702に、本明細書で説明した様々な機能を実施させることができる。このような機能は、これだけに限らないが、(i)図2に示されたアプリケーションレベル通信の参加者を実現すること、(ii)流れ図600(図6による)で示されたこれらのアクションを実施すること、(iii)図3A、3B、3C、および4で示されたこれらのデータ構造(複数可)208を実施すること、(iv)図5で示されたアプリケーション502を実現することなどを含む。例のために過ぎないが、プロセッサ実行可能命令710は、1つまたは複数のアプリケーションレベル要求208、アプリケーション502、それらの何らかの組合せなどを含むことができる。
図1〜7の装置、アクション、態様、特徴、機能、手順、モジュール、データ構造、プロトコル、コンピューティングシステム、コンポーネントなどは、複数のブロックに分割された図で示されている。しかし、図1〜7が説明され、および/または示された順序、相互接続、相互関係、レイアウトなどは、限定的に解釈されることを意図しておらず、分散されたアプリケーション情報配信のセキュリティ保護のために、1つまたは複数のシステム、方法、装置、手順、媒体、装置、API、構成などを実施するように任意の方法で、任意の数のブロックを変更し、組み合わせ、再配置し、増補し、除外することができる。
システム、媒体、デバイス、方法、手順、装置、機構、スキーム、手法、プロセス、構成、および他の実施形態が、構造的、論理的、アルゴリズム的、および機能的な特徴および/または図に固有の言語で記述されているが、添付の特許請求の範囲で定義される本発明は、前述の特定の機能または行為に必ずしも限定されないことを理解されたい。そうではなくて、前述の特定の特徴および行為は、特許請求の範囲を実施する例示的な形態として開示される。

Claims (12)

  1. 安全なアプリケーション命令プロトコルを実施する中間体によって実行されるプロセッサ実行可能命令を含む1つまたは複数のプロセッサでアクセス可能な記憶体であって、前記プロセッサ実行可能命令は、
    前記中間体が備える受信器が、最初のリクエスタからのアプリケーション固有の命令、および前記最初のリクエスタからの前記アプリケーション固有の命令に対するリクエスタ署名を含む第1のアプリケーションレベル要求を受信するステップであって、前記最初のリクエスタからの前記アプリケーション固有の命令はエンドポイントの要求ハンドラを特定しない命令である、ステップと、
    前記中間体が備えるメッセージ増補器が、後続のエンティティに対するアプリケーション固有の命令、および少なくとも前記後続のエンティティに対する前記アプリケーション固有の命令に対する中間体署名を含む第2のアプリケーションレベル要求を作成するステップであって、前記第1のアプリケーションレベル要求をどこに転送するかを決定するとともに前記エンドポイントの要求ハンドラを決定するために、前記最初のリクエスタからの前記アプリケーション固有の命令の分析に基づいて前記後続のエンティティに対するアプリケーション固有の命令を動的に決定する、ステップ
    を含むことを特徴とする1つまたは複数のプロセッサでアクセス可能な記憶媒体。
  2. 前記第1のアプリケーションレベル要求が、前記第2のアプリケーションレベル要求内にネストされることを特徴とする請求項1に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体。
  3. 前記第1のアプリケーションレベル要求はさらに、データにアクセスするための、前記最初のリクエスタからの権利の委任を含むことを特徴とする請求項1に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体。
  4. 前記第2のアプリケーションレベル要求はさらに、データにアクセスするための、前記中間体からの権利の委任を含むことを特徴とする請求項1に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体。
  5. 前記中間体署名がまた、前記中間体からの権利の前記委任に対して行われることを特徴とする請求項4に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体。
  6. 前記中間体署名がまた、前記第1のアプリケーションレベル要求に対して行われることを特徴とする請求項1に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体。
  7. 前記第1のアプリケーションレベル要求はさらに、前記最初のリクエスタからの、データアクセスのための権利の委任を含み、また前記第2のアプリケーションレベル要求はさらに、前記中間体からの、データアクセスのための権利の委任を含み、
    前記第1のアプリケーションレベル要求が、前記第2のアプリケーションレベル要求内にネストされており、
    前記プロセッサ実行可能命令は、前記後続のエンティティである他の中間体によっても実行され、
    前記プロセッサ実行可能命令は、
    前記他の中間体が、さらに後続のエンティティに対するアプリケーション固有の命令、前記さらに後続のエンティティに対するアプリケーション固有の命令に対する他の中間体署名、および前記他の中間体からのデータアクセスのための権利の委任を含む第3のアプリケーションレベル要求を作成するステップであって、前記第1のアプリケーションレベル要求および前記第2のアプリケーションレベル要求が、前記第3のアプリケーションレベル要求内にネストされる、ステップをさらに含むことを特徴とする請求項1に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体。
  8. データアクセスのための権利の前記委任のそれぞれは、委任情報を含み、また前記委任情報が暗号化されることを特徴とする請求項7に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体。
  9. 安全なアプリケーション命令プロトコルを実施する装置であって
    最初のリクエスタからのアプリケーション固有の命令、および前記最初のリクエスタからの前記アプリケーション固有の命令に対するリクエスタ署名を含む第1のアプリケーションレベル要求を受信する受信器であって、前記最初のリクエスタからの前記アプリケーション固有の命令はエンドポイントの要求ハンドラを特定しない命令である、受信器と、
    後続のエンティティに対するアプリケーション固有の命令、および少なくとも前記後続のエンティティに対するアプリケーション固有の命令に対する中間体署名を含む第2のアプリケーションレベル要求を作成するメッセージ増補器であって、前記第1のアプリケーションレベル要求をどこに転送するかを決定するとともに前記エンドポイントの要求ハンドラを決定するために、前記最初のリクエスタからの前記アプリケーション固有の命令の分析に基づいて前記後続のエンティティに対するアプリケーション固有の命令を動的に決定するメッセージ増補器と、
    を備えることを特徴とする装置。
  10. 請求項1から8のいずれか一項に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体に含まれる前記プロセッサ実行可能命令を実行する装置。
  11. 安全なアプリケーション命令プロトコルを実施する中間体によって実行される方法であって、
    前記中間体が備える受信器が、最初のリクエスタからのアプリケーション固有の命令、および前記最初のリクエスタからの前記アプリケーション固有の命令に対するリクエスタ署名を含む第1のアプリケーションレベル要求を受信するステップであって、前記最初のリクエスタからの前記アプリケーション固有の命令はエンドポイントの要求ハンドラを特定しない命令である、ステップと、
    前記中間体が備えるメッセージ増補器が、後続のエンティティに対するアプリケーション固有の命令、および少なくとも前記後続のエンティティに対する前記アプリケーション固有の命令に対する中間体署名を含む第2のアプリケーションレベル要求を作成するステップであって、前記第1のアプリケーションレベル要求をどこに転送するかを決定するとともに前記エンドポイントの要求ハンドラを決定するために、前記最初のリクエスタからの前記アプリケーション固有の命令の分析に基づいて前記後続のエンティティに対するアプリケーション固有の命令を動的に決定する、ステップ
    を含むことを特徴とする方法。
  12. 中間体が、請求項1から8のいずれか一項に記載の1つまたは複数のプロセッサでアクセス可能な記憶媒体に含まれる前記プロセッサ実行可能命令を実行することによって実現される前記中間体が実行する方法。
JP2009534953A 2006-11-01 2007-11-01 分散されたアプリケーション情報配信のセキュリティ保護 Active JP5337702B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/555,610 2006-11-01
US11/555,610 US8555335B2 (en) 2006-11-01 2006-11-01 Securing distributed application information delivery
PCT/US2007/083390 WO2008057970A2 (en) 2006-11-01 2007-11-01 Securing distributed application information delivery

Publications (2)

Publication Number Publication Date
JP2010508594A JP2010508594A (ja) 2010-03-18
JP5337702B2 true JP5337702B2 (ja) 2013-11-06

Family

ID=39331980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009534953A Active JP5337702B2 (ja) 2006-11-01 2007-11-01 分散されたアプリケーション情報配信のセキュリティ保護

Country Status (8)

Country Link
US (1) US8555335B2 (ja)
EP (1) EP2078247B1 (ja)
JP (1) JP5337702B2 (ja)
KR (1) KR101433978B1 (ja)
CN (1) CN101535948B (ja)
CA (1) CA2664322C (ja)
IL (1) IL197360A (ja)
WO (1) WO2008057970A2 (ja)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003207495A1 (en) 2002-01-08 2003-07-24 Seven Networks, Inc. Connection architecture for a mobile network
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7877703B1 (en) 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8141151B2 (en) * 2007-08-30 2012-03-20 International Business Machines Corporation Non-intrusive monitoring of services in a service-oriented architecture
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US20100275018A1 (en) * 2007-12-20 2010-10-28 Pedersen Thomas Jam System and method for conversion and distribution of graphical objects
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US8510796B2 (en) * 2008-01-25 2013-08-13 Oracle International Corporation Method for application-to-application authentication via delegation
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US20100057911A1 (en) * 2008-08-27 2010-03-04 C&C Group, Inc. Enhanced User Control Over Processing Parameters
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
EP2387200B1 (en) 2010-04-23 2014-02-12 Compuverde AB Distributed data storage
CN101883118B (zh) * 2010-07-08 2012-10-17 长春吉大正元信息技术股份有限公司 针对大数据量的数字签名方法
CA2806557C (en) 2010-07-26 2014-10-07 Michael Luna Mobile application traffic optimization
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP2599003B1 (en) 2010-07-26 2018-07-11 Seven Networks, LLC Mobile network traffic coordination across multiple applications
WO2012161751A1 (en) * 2011-05-25 2012-11-29 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
CA2806548C (en) 2010-07-26 2015-03-31 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
EP2635973A4 (en) 2010-11-01 2014-01-15 Seven Networks Inc TO THE BEHAVIOR OF A MOBILE APPLICATION AND INTERMEDIATE STORAGE TAILORED TO NETWORK CONDITIONS
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
EP2636268B1 (en) 2010-11-22 2019-02-27 Seven Networks, LLC Optimization of resource polling intervals to satisfy mobile device requests
EP2596658B1 (en) 2010-11-22 2018-05-09 Seven Networks, LLC Aligning data transfer to optimize connections established for transmission over a wireless network
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
WO2012145544A2 (en) 2011-04-19 2012-10-26 Seven Networks, Inc. Device resource sharing for network resource conservation
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
WO2012149221A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
EP2737741A4 (en) 2011-07-27 2015-01-21 Seven Networks Inc SURVEILLANCE OF MOBILE APPLICATION ACTIVITIES IN SEARCH OF MALICIOUS TRAFFIC ON A MOBILE DEVICE
US8769138B2 (en) * 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
WO2013086225A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
WO2013090834A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US20130159511A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. System and method for generating a report to a network operator by distributing aggregation of data
EP2801236A4 (en) 2012-01-05 2015-10-21 Seven Networks Inc DETECTION AND MANAGEMENT OF USER INTERACTIONS WITH FRONT PANEL APPLICATIONS ON A MOBILE DEVICE IN DISTRIBUTED CACHE STORES
US8793499B2 (en) 2012-01-20 2014-07-29 Lockheed Martin Corporation Nested digital signatures with constant file size
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US20130268656A1 (en) 2012-04-10 2013-10-10 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
EP2962211A4 (en) * 2013-02-28 2016-11-16 Elwha Llc MANAGEMENT OF DATA AND / OR SERVICES FOR DEVICES
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US10129031B2 (en) 2014-10-31 2018-11-13 Convida Wireless, Llc End-to-end service layer authentication
EP3272094B1 (en) * 2015-03-16 2021-06-23 Convida Wireless, LLC End-to-end authentication at the service layer using public keying mechanisms
US10171452B2 (en) * 2016-03-31 2019-01-01 International Business Machines Corporation Server authentication using multiple authentication chains
US10313131B2 (en) * 2017-01-26 2019-06-04 Infineon Technologies Ag Secured daisy chain communication
EP3707881B1 (en) * 2017-11-10 2024-06-26 Intel Corporation Multi-access edge computing (mec) architecture and mobility framework
CN114826600B (zh) * 2022-02-25 2023-11-17 北京全路通信信号研究设计院集团有限公司 关键指令确认方法、装置、介质及电子设备

Family Cites Families (37)

* 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
US5630129A (en) 1993-12-01 1997-05-13 Sandia Corporation Dynamic load balancing of applications
US6601084B1 (en) * 1997-12-19 2003-07-29 Avaya Technology Corp. Dynamic load balancer for multiple network servers
US6523065B1 (en) 1999-08-03 2003-02-18 Worldcom, Inc. Method and system for maintenance of global network information in a distributed network-based resource allocation system
US6766348B1 (en) * 1999-08-03 2004-07-20 Worldcom, Inc. Method and system for load-balanced data exchange in distributed network-based resource allocation
GB2357228B (en) * 1999-12-08 2003-07-09 Hewlett Packard Co Method and apparatus for discovering a trust chain imparting a required attribute to a subject
US20020087862A1 (en) * 2000-01-07 2002-07-04 Sandeep Jain Trusted intermediary
JP2002014929A (ja) * 2000-04-26 2002-01-18 Sony Corp アクセス制御システム、アクセス制御方法、およびデバイス、アクセス制御サーバ、アクセス制御サーバ登録サーバ、データ処理装置、並びにプログラム記憶媒体
US7054943B1 (en) 2000-04-28 2006-05-30 International Business Machines Corporation Method and apparatus for dynamically adjusting resources assigned to plurality of customers, for meeting service level agreements (slas) with minimal resources, and allowing common pools of resources to be used across plural customers on a demand basis
US7313692B2 (en) * 2000-05-19 2007-12-25 Intertrust Technologies Corp. Trust management systems and methods
US6851058B1 (en) * 2000-07-26 2005-02-01 Networks Associates Technology, Inc. Priority-based virus scanning with priorities based at least in part on heuristic prediction of scanning risk
WO2002039281A1 (en) 2000-11-10 2002-05-16 Sri International Cross-domain access control
WO2002052764A2 (en) * 2000-12-27 2002-07-04 Nettrust Israel Ltd. Methods and systems for authenticating communications
US7275102B2 (en) 2001-01-22 2007-09-25 Sun Microsystems, Inc. Trust mechanisms for a peer-to-peer network computing platform
NL1017388C2 (nl) * 2001-02-16 2002-08-19 Marc Van Oldenborgh Organisch datanetwerk met een dynamische topologie.
US20020133461A1 (en) * 2001-03-19 2002-09-19 Diebold, Incorporated Automated banking machine processing system and method
US7231521B2 (en) * 2001-07-05 2007-06-12 Lucent Technologies Inc. Scheme for authentication and dynamic key exchange
US7281128B2 (en) * 2001-10-22 2007-10-09 Extended Systems, Inc. One pass security
CN1482566A (zh) * 2003-01-22 2004-03-17 余育新 分布式工作流管理平台
CN1195274C (zh) * 2003-01-25 2005-03-30 华中科技大学 基于集群视频服务器的节目源分片分布式存储方法
SE0300368D0 (sv) * 2003-02-11 2003-02-11 Ericsson Telefon Ab L M System for internet privacy
EP1634175B1 (en) 2003-05-28 2015-06-24 Citrix Systems, Inc. Multilayer access control security system
US7496755B2 (en) 2003-07-01 2009-02-24 International Business Machines Corporation Method and system for a single-sign-on operation providing grid access and network access
US7526549B2 (en) * 2003-07-24 2009-04-28 International Business Machines Corporation Cluster data port services for clustered computer system
US20050125537A1 (en) 2003-11-26 2005-06-09 Martins Fernando C.M. Method, apparatus and system for resource sharing in grid computing networks
US8544096B2 (en) * 2003-12-30 2013-09-24 Emc Corporation On-access and on-demand distributed virus scanning
US7552437B2 (en) 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
CA2493732A1 (en) 2004-01-23 2005-07-23 Gridiron Software, Inc. Authentication in a distributed computing environment
US7581107B2 (en) * 2004-05-28 2009-08-25 International Business Machines Corporation Anonymity revocation
US8085875B2 (en) 2004-07-16 2011-12-27 Qualcomm Incorporated Incremental pilot insertion for channnel and interference estimation
US7681242B2 (en) * 2004-08-26 2010-03-16 Novell, Inc. Allocation of network resources
US7765552B2 (en) 2004-09-17 2010-07-27 Hewlett-Packard Development Company, L.P. System and method for allocating computing resources for a grid virtual system
US20060075042A1 (en) 2004-09-30 2006-04-06 Nortel Networks Limited Extensible resource messaging between user applications and network elements in a communication network
US7761557B2 (en) 2005-01-06 2010-07-20 International Business Machines Corporation Facilitating overall grid environment management by monitoring and distributing grid activity
US8590044B2 (en) * 2005-04-14 2013-11-19 International Business Machines Corporation Selective virus scanning system and method
US8572738B2 (en) * 2006-12-07 2013-10-29 International Business Machines Corporation On demand virus scan
US8250576B2 (en) * 2009-09-30 2012-08-21 Microsoft Corporation Structured task hierarchy for a parallel runtime

Also Published As

Publication number Publication date
CN101535948B (zh) 2012-12-26
CA2664322C (en) 2015-10-06
KR101433978B1 (ko) 2014-08-27
KR20090074743A (ko) 2009-07-07
EP2078247B1 (en) 2019-01-09
JP2010508594A (ja) 2010-03-18
EP2078247A2 (en) 2009-07-15
WO2008057970A3 (en) 2008-08-07
US20080104666A1 (en) 2008-05-01
EP2078247A4 (en) 2014-09-24
WO2008057970A2 (en) 2008-05-15
US8555335B2 (en) 2013-10-08
IL197360A0 (en) 2009-12-24
IL197360A (en) 2014-02-27
CA2664322A1 (en) 2008-05-15
CN101535948A (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
JP5337702B2 (ja) 分散されたアプリケーション情報配信のセキュリティ保護
Belguith et al. Analysis of attribute‐based cryptographic techniques and their application to protect cloud services
David et al. Cloud Security Service for Identifying Unauthorized User Behaviour.
KR20060100920A (ko) 웹 서비스를 위한 신뢰되는 제3자 인증
US20080165970A1 (en) runtime mechanism for flexible messaging security protocols
US20120284768A1 (en) Techniques for secure channel messaging
Chien et al. A MQTT-API-compatible IoT security-enhanced platform
Yialelis et al. A Security Framework Supporting Domain Based Access Control in Distributed Systems.
Fang et al. XPOLA–An Extensible Capability-based Authorization Infrastructure for Grids
Ponomarev Attribute-based access control in service mesh
US11611541B2 (en) Secure method to replicate on-premise secrets in a cloud environment
US8826000B2 (en) Method and apparatus for supporting cryptographic-related activities in a public key infrastructure
Badertscher et al. On composable security for digital signatures
Kumar et al. Realization of threats and countermeasure in Semantic Web services
Al-Shargabi Security engineering for E-government web services: A trust model
Bhatnagar et al. An empirical study of security issues in grid middleware
Giron Migrating Applications to Post-Quantum Cryptography: Beyond Algorithm Replacement
Singh et al. Rest security framework for event streaming bus architecture
Pranata et al. Distributed mechanism for protecting resources in a newly emerged digital ecosystem technology
Freudenthal et al. Switchboard: secure, monitored connections for client-server communication
Ismail et al. Key distribution framework for a mobile agent platform
JP5466698B2 (ja) 暗号化証明書を処理するシステム
Rudra et al. Understanding and mitigating security and authentication issues in service oriented network architecture
Kostopoulos et al. State-of-the-Art Security in Grid Computing
Papalilo et al. Combining incomparable public session keys and certificateless public key cryptography for securing the communication between grid participants

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130321

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

R150 Certificate of patent or registration of utility model

Ref document number: 5337702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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