JP4636366B2 - 分散コンピューティング・ドメインのためのアプリケーション・サーバのオブジェクト・レベル・セキュリティ - Google Patents

分散コンピューティング・ドメインのためのアプリケーション・サーバのオブジェクト・レベル・セキュリティ Download PDF

Info

Publication number
JP4636366B2
JP4636366B2 JP2004537309A JP2004537309A JP4636366B2 JP 4636366 B2 JP4636366 B2 JP 4636366B2 JP 2004537309 A JP2004537309 A JP 2004537309A JP 2004537309 A JP2004537309 A JP 2004537309A JP 4636366 B2 JP4636366 B2 JP 4636366B2
Authority
JP
Japan
Prior art keywords
security
objects
application server
user
managed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004537309A
Other languages
English (en)
Other versions
JP2006517690A5 (ja
JP2006517690A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006517690A publication Critical patent/JP2006517690A/ja
Publication of JP2006517690A5 publication Critical patent/JP2006517690A5/ja
Application granted granted Critical
Publication of JP4636366B2 publication Critical patent/JP4636366B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)

Description

本発明は、アプリケーション・サーバ・セキュリティの管理システム及びツールの分野に関する。
アプリケーション・サーバは、イントラネット又はインターネットなどの分散型ネットワークにおいて、コンピュータ又はコンピュータ・プラットフォームによって実行されるサーバ・プログラムであり、それは、アプリケーション又はサービスのためのビジネス・ロジックを提供する。International Business Machines(IBM(登録商標))、Microsoft(登録商標) Corporation、及びSun Microsystemsなどの企業は、多種多様なハードウェア・プラットフォーム上のアプリケーション・サーバを開発し、管理し、配置し、かつ実行するためのソフトウェア・スイートを提供しており、そのハードウェア・プラットフォームには、これらに限定されるものではないが、パーソナル・コンピュータ、ネットワーク・サーバ、メインフレーム、及びワークステーションが含まれ、これらは、以下に限定されるものではないが、UNIX(登録商標)、Linux、IBMのAIX(登録商標)、OS/2(登録商標)、及びOS/390(登録商標)、MicrosoftのWindows(登録商標)、並びにSunのSolarisを含む多種多様なオペレーティング・システムを対象にする。IBMは、WebSphere(登録商標)として知られた周知かつ広く用いられているアプリケーション・サーバ・スイートを提供する。(IBM、AIX、OS/2、及びOS/390は、International Business Machines Corporationの登録商標であり、Microsoft及びWindowsは、米国、その他の国々、又はその両方におけるMicrosoft Corporationの商標であり、UNIXは、米国及びその他の国々におけるThe Open Groupの登録商標である。)
アプリケーション・サーバは、「C」などの高水準言語(「HLL」)、Sun MicrosystemsのJava(商標)などの移植可能言語、及びそれらの組み合わせで開発することができる。アプリケーション・ロジックの一部は、アプリケーション・サーバ・プログラムの開発に用いられる設計手法及び言語に応じて、Enterprise Java Beans(「EJB」)、ダイナミック・リンク・ライブラリ(「DLL」)、プログラム・オブジェクト、アプレット、及びサーブレットにおいて、具体化することができる。(JavaとJavaベースの商標及びロゴのすべては、米国、その他の国々、又はその両方におけるSun Microsystems, Inc.の商標である。)
アプリケーション・サーバは、一般に、必要とされる機能又はサービスを実行するために、Webブラウザ及び遠隔端末装置などのクライアント・コンピュータ及びプロセスと協同し、ユーザとのインターフェースをとる。クライアント・コンピュータ及びプロセスと相互作用するための共通プロトコルは、以下に限定されるものではないが、ハイパーテキスト転送プロトコル(「HTTP」)、伝送制御プロトコル/インターネット・プロトコル(「TCP/IP」)、セキュア・ソケット・レイヤー(「SSL」)、及びファイル転送プロトコル(「FTP」)を含む。アプリケーション・サーバと協同するためのクライアント・プロセスは、以下に限定されるものではないが、スタンド・アローン(例えばブラウザ独立)のクライアント・プログラム、ハイパーテキスト・マークアップ言語(「HTML」)リソース、ブラウザ拡張及びプラグイン、拡張マークアップ言語(「XML」)リソース、(例えばTIFF、GIF、JPEG、AVIなどの)グラフィックス及びマルチメディア・オブジェクト、Javaサーバ・ページ(「JSP」)、アクティブ・サーバ・ページ(「ASP」)、個人ホームページ(「PHP」)、Javaモジュール、並びにJava Beansを含む。
アプリケーション・サーバはまた、ファイル・システム及びデータベースなどの他のシステム・リソースと相互作用し、データの読み取り、格納、作成、及びコピーを行うことができる。これらのシステム・リソースは、ローカル・キャッシュなどのアプリケーション・サーバよって直接管理することができ、又は他のサーバを介してアクセスし、かつそれによって管理することもできる。
アプリケーション・サーバはまた、多くの場合にセキュリティ許可・認証サーバと協同して、ユーザが本人であると主張しているユーザであるかどうか、及び要求されたアクションの実行、必要とされるリソース又はデータへのアクセスなどの許可又は特権を、ユーザが有しているかどうかを判断する。
アプリケーション・サーバとそうした許可及び認証プロセスとの間の通信のみならず、他のシステム・リソースとの間の通信用プロトコルは、クライアント通信のために上でリストしたプロトコルのいずれをも含むことができ、またプロプライエタリ仕様によって定義された他のプロトコルのみならず、Java Version 2 Enterprise Edition(「J2EE」)のインターフェース及び通信のモデルや、Common Broker Request Architecture(「CORBA」)などの「オープン」スタンダードを含むことが、間々ある。
業界において、IBMのSOM及びDSOMアーキテクチャと、Netscape Corporationのオープン・ネットワーク環境(「ONE」)と、Sun MicrosystemsのRMIと、MicrosoftのCOM及びDCOMアーキテクチャとを含む、CORBAのいくつかの実装形態が入手可能である。これらのアーキテクチャは、クライアント・アプリケーション・プログラム・オブジェクトが、タスク又はサービスの完了に有用であり得るか又は必要とされ得る他のプログラム・オブジェクトの存在を「発見」することを可能にする。オブジェクト・リクエスト・ブローカ(「ORB」)は、そのようなアーキテクチャのコンポーネントであり、それに対してクライアントは、特定機能の要求を送信することができる。ORBは次に、ORBが認識しており、かつクライアントによって求められる機能を処理できる適当なサーバに、これらの要求を転送する。クライアント及びサーバは次に、使用する適当なインターフェースを決定するために対話し、それにより、クライアントは、サーバが提供するプログラム・オブジェクトを用いることができる。
CORBAアーキテクチャにおける特定用途については、相互運用オブジェクト参照(「IOR」)の定義がある。IORは、オブジェクトが存在するプラットフォームに依存せず、ORB実装にも依存しないオブジェクト参照を提供する。
オブジェクトを分散したこれらのタイプのアプリケーションが一層複雑になるにともない、多くのアプリケーション管理システムが市場にもたらされた。アプリケーション管理は、アプリケーションのインストール及び設定から、その有効な製品寿命を通しての当該アプリケーションの制御及びモニタリングを含み、例えばメトリックを収集したり、効率及び応答性を最大化するための調整を行ったりする。アプリケーション管理システムによって採用されたモデルは、マネージャ−エージェント・モデルであることが多い。アプリケーションは、管理システムのエージェントからの情報アクション要求に応答し、管理システム・エージェントと通信する管理システムに、特定情報を提供する役割を担う。管理システム・エージェントは、通常、管理されているアプリケーションと同じハードウェア・プラットフォーム上で実行する。
管理システムは、管理されているアプリケーションと自らが接触している1つ又は複数のエージェントと通信する。管理システムは、プロプライエタリ・プロトコルを用いて、そのエージェントと通信することができ、或いはSimple Network Management Protocol(「SNMP」)又はJava Management Extensions(「JMX」)などの「オープン」プロトコルを用いることもできる。市販の管理システムには、例えばTivoliのManagement Environment及びIBMのWebSphere管理アプリケーションなどがある。
図3を参照すると、JMX Management BeansすなわちMBeansを用いる、こうした管理システムの1つの実施形態が示される。MBeansは、標準JMXインターフェースを介してアクセス可能なオブジェクトであり、それは、開発者にアプリケーション固有管理インターフェースを公開する能力を提供する。JMX MBeanサーバ(33)は、管理アプリケーション(37)へのアプリケーション・サーバ(31)のインターフェースを公開する役割を担うアプリケーション・サーバMBean(34)を実行する。同様に、JMX MBeanサーバ(33)はまた、アプリケーション(32)のためのアプリケーション固有管理インターフェースを管理アプリケーション(37)に公開するアプリケーションMBean(35)を実行する。MBeanサーバ(33)はまた、1つ又は複数の管理システムをアプリケーションにブリッジするのに必要なアダプタ(36)を提供し、それにより、アプリケーションと共にアプリケーション・マネージャの管理機能を用いることができる。
IBMのWebSphereアプリケーション・サーバ製品の現バージョンにおいては、管理サーバが中央コンタクト・ポイントであり、そこに管理要求のすべてが向けられる。この管理サーバを保護するためには、アプリケーション・サーバをセキュア・クライアントとして構成することだけが必要であったが、アプリケーション・サーバをセキュア・サーバとして構成する必要はなかった。管理サーバ上ではいかなるユーザ・オブジェクトも許可されず、かつアプリケーション・サーバ上ではいかなる管理オブジェクトも許可されなかったため、このアプローチは、しばらくの間、当該技術分野における必要性に合致した。
しかしながら、アプリケーションが進化して、管理機能を含むようになり、かつアプリケーション・サーバ上で管理オブジェクトを用いるようになったことにともない、(サーバ・レベル・セキュリティに代わる)オブジェクト・レベル・セキュリティが求められるが、既存のアーキテクチャはそれをサポートしない。いくつかのシステムにおいては、ユーザ・リソースを保護しなければならないかどうかには関係なく、アプリケーション・プロセスのすべては、保護しなければならない管理リソースを含む。サーバ・レベル・セキュリティ・スキームである現在のセキュリティ・スキームでは、ユーザ・オブジェクト・セキュリティが無効にされると、管理オブジェクト・セキュリティも無効になる。実際にセキュアである必要のないユーザ・オブジェクト及びリソースにとっては、これは、認証及び許可プロセスをユーザ・オブジェクトに適用する必要があるため、パフォーマンスを不必要にかつ望ましくなく低下させる。システムは、デフォルトで管理リソース・セキュリティを無効にすることを含む、セキュリティを無効にするように構成されると、管理機能を介して、不必要にかつ望ましくなくセキュリティ・ブリーチに曝される。
従って、本発明は、分散型コンピュータ・ドメインにおける方法であって、管理オブジェクト及びユーザ・オブジェクトを1つ又は複数のアプリケーション・サーバに分散し、管理オブジェクトのドメイン・レベル・セキュリティのためのグローバル・セキュリティ・フラグを定義し、1つ又は複数のアプリケーション・サーバ・セキュリティ・フラグを前記分散ユーザ・オブジェクトへのインターフェースに関連付け、前記グローバル・セキュリティ・フラグ及び前記関連付けられたアプリケーション・サーバ・セキュリティ・フラグが有効である場合に、ユーザ・オブジェクト及び管理オブジェクトを保護する第1モードと、前記グローバル・セキュリティ・フラグが有効であり、かつ前記関連付けられたアプリケーション・サーバ・セキュリティ・フラグが無効である場合に、セキュリティ・オペレーションなしにユーザ・オブジェクトを用いるが、管理オブジェクトを保護する第2モードと、前記グローバル・セキュリティ・フラグが無効である場合に、セキュリティ・オペレーションなしにユーザ・オブジェクト及び管理オブジェクトを用いる第3モードとからなる3つのモードのうちの1つにおいて、1つ又は複数のセキュリティ・オペレーションを、アプリケーション・サーバによってクライアント・プロセスと協同して実行することを含む方法を、提供する。
ユーザ・オブジェクト及び管理オブジェクトを含むアプリケーション・サーバ用のオブジェクト・レベル・セキュリティ構成を可能にするシステム及び方法を提供することが好ましい。
セキュリティ・ドメイン内のアプリケーション・サーバごとに、ユーザ・オブジェクト・セキュリティのためのセキュリティ有効化とは別に、セキュリティ管理オブジェクト及び命名オブジェクトのためのセキュリティが、別個に、かつ宣言的に有効及び無効にされることを可能にするプロセス及びメカニズムを提供することが好ましい。これは、好ましくは、特にIBM WebSphereアプリケーション・サーバ製品に基づくアプリケーション環境内で、同一プロセスの管理セキュリティを維持しつつ、ユーザ・セキュリティを無効にする能力を提供する。
顧客(例えばアプリケーション・サーバ所有者及びオペレータ)は、セキュリティ・ドメイン内のいくつかのアプリケーション・サーバ上のユーザ・オブジェクト・セキュリティを、他のアプリケーション・サーバ上のユーザ・オブジェクトのセキュリティを維持しつつ、かつセキュリティ・ドメイン全体を通して、好ましくは、グローバル管理オブジェクト・セキュリティを有しつつ、選択的に無効にできることが好ましい。したがって、好ましくは、ユーザ・セキュリティとは別個に管理セキュリティ、内部システム管理などの管理機能を管理することができる。
ここに開示したプロセス及び方法を用いて、クライアント・プロセスは、アプリケーション・オブジェクトがユーザ・オブジェクトであるのか管理オブジェクトであるのかを認識しないが、セキュリティ機能を実行するか否かの各オブジェクトの要件だけは認識するのが好ましい。さらに、本発明は、好ましくは、クラス及びパッケージによってどのオブジェクトが保護されることになるかの宣言型定義を可能にする。
一般に、アプリケーション・サーバのオブジェクト・レベル・セキュリティを構成可能にするために、好ましくは、ORBがIORを共有オブジェクトのネーム・サーバにエクスポートするCORBAアーキテクチャが採用される。管理オブジェクトなどの保護すべきオブジェクトのためのIORは、そのサービスでの使用のためのセキュリティ詳細を指示するタグ付きコンポーネントを提供されるのが好ましい。ユーザ・オブジェクトなどの非セキュアなオブジェクトのためのIORは、タグ付きコンポーネントなしにエクスポートするのが好ましい。所与のオブジェクトをエクスポートするときに、IORインターセプタが呼び出されることが好ましい。IORインターセプタは、好ましくは、保護する必要のある管理オブジェクト又は管理パッケージのすべてを列挙した記述子ファイルをロードするのが好ましい。これは、好ましくは、グローバル・セキュリティがセキュリティ・ドメイン内で有効にされたときに、単一オブジェクト、個々のオブジェクトのリスト、又はオブジェクトのパッケージの仕様が保護されるようにする。
この記述子ファイルにおけるオブジェクトのために、セキュリティ・タグ付きコンポーネントを有するIORをエクスポートするのが好ましい。クライアントは、あとで、タグ付きIORをピックアップしたときに、好ましくは、そのサービスの要求を呼び出すためのセキュリティ要件を認識させられる。いかなるタグもIORに提供されていなければ、セキュリティ処置なしにサービスを要求できるのが好ましい。こうした非セキュア・オブジェクトについて、クライアントは、アプリケーション・サーバにいかなるユーザ・セキュリティ情報も送信せず、またアプリケーション・サーバへのトランスポートも保護しないのが好ましく、その結果、これらのユーザ・オブジェクトについてパフォーマンスが向上し、ユーザ・オブジェクトを不必要に保護するのを避けることができる。
一般に、1つのドメインにおいて、(a)グローバル(ドメイン全体にわたる管理セキュリティ)セキュリティ・フラグ、及び(b)1つ又は複数のアプリケーション・サーバ・セキュリティ・フラグの2つのタイプのフラグを利用し、オブジェクト・レベルのセキュリティを構成することが好ましい。前者は、好ましくは、ドメイン・レベルで維持され、後者は、好ましくは、各アプリケーション・サーバに固有である。グローバル・セキュリティ・フラグは、好ましくは、ドメイン全体を通して管理オブジェクトのすべてが保護されているか否かを判断する。これらの管理オブジェクトはまた、好ましくは、前記の記述子ファイルにリストされる。各アプリケーション・サーバ・セキュリティ・フラグは、好ましくは、それだけが関係するアプリケーション・サーバ上のユーザ・オブジェクトのセキュリティを有効又は無効にするが、そのサーバ上の管理オブジェクトのセキュリティには影響しない。
セキュリティ・オペレーションは、管理オブジェクト及びユーザ・オブジェクトのための別個のセキュリティ・オペレーションを提供することによって、実行されるのが好ましい。
アプリケーション・サーバのユーザ・オブジェクト・セキュリティが有効である場合に、アプリケーション・サーバ上のユーザ・オブジェクトについてタグ付きコンポーネントを備えたCORBA IORをエクスポートすること、及びアプリケーション・サーバのユーザ・オブジェクト・セキュリティが有効である場合に、アプリケーション・サーバ上のユーザ・オブジェクトについてUDDIレジストリにオブジェクト・タイプを提供することからなるグループからアクションを選択することによって、アプリケーション・サーバ・セキュリティ・フラグを管理オブジェクト・インターフェースに関連付けできることが好ましい。
保護されるべきオブジェクトの宣言リストにアクセスできることが好ましい。
アプリケーション・サーバ(例えばWebSphereアプリケーション・サーバ)を提供することが好ましい。
Enterprise Java Beanとしてクライアント・プロセスを提供することが好ましい。
Enterprise Java Beansとしてユーザ・オブジェクトを提供することが好ましい。
MBeanとして管理オブジェクトを提供することが好ましい。
認証、許可、及びトランスポート保護のリストから選択されたセキュリティ・オペレーションを実行することが好ましい。
シンプル・オブジェクト・アクセス・プロトコル及びORB間プロトコルのグループから選択されたセキュリティ・プロトコルを使用することが好ましい。
IDLと、Webサービス・エンドポイント言語及びインターフェース定義言語を備えたWebサービス定義言語とからなるグループから選択されたサービス記述モデルを使用することが好ましい。
別の態様により、本発明は、分散型コンピュータ・ドメインにおいて用いるためのコンピュータ・プログラムであって、該プログラムがコンピュータ上で実行されるときに、管理オブジェクト及びユーザ・オブジェクトを1つ又は複数のアプリケーション・サーバに分散するステップと、管理オブジェクトのドメイン・レベル・セキュリティのためのグローバル・セキュリティ・フラグを定義するステップと、1つ又は複数のアプリケーション・サーバ・セキュリティ・フラグを前記分散ユーザ・オブジェクトへのインターフェースに関連付けるステップと、前記グローバル・セキュリティ・フラグ及び前記関連付けられたアプリケーション・サーバ・セキュリティ・フラグが有効である場合に、ユーザ・オブジェクト及び管理オブジェクトを保護する第1モードと、前記グローバル・セキュリティ・フラグが有効であり、かつ前記関連付けられたアプリケーション・サーバ・セキュリティ・フラグが無効である場合に、セキュリティ・オペレーションなしにユーザ・オブジェクトを用いるが、管理オブジェクトを保護する第2モードと、前記グローバル・セキュリティ・フラグが無効である場合に、セキュリティ・オペレーションなしにユーザ・オブジェクト及び管理オブジェクトを用いる第3モードとからなる3つのモードのうちの1つにおいて、1つ又は複数のセキュリティ・オペレーションを、アプリケーション・サーバによってクライアント・プロセスと協同して実行するステップとを実行するように構成されたプログラム・コード手段を含むコンピュータ・プログラムを、提供する。
Enterprise Java Beanクライアント・プロセスがあることが好ましい。
Enterprise Java Beansユーザ・オブジェクトがあることが好ましい。
MBean管理オブジェクトがあることが好ましい。
別の態様により、分散型コンピュータ・ドメインにおけるオブジェクト・レベル・セキュリティ・システムであって、1つ又は複数のアプリケーション・サーバに分散された1つ又は複数の管理オブジェクト及び1つ又は複数のユーザ・オブジェクトと、ネットワーク・コンピュータ・ドメイン・レベル内の前記管理オブジェクトのセキュリティを定義するグローバル・セキュリティ・フラグと、前記分散ユーザ・オブジェクトへのインターフェースに関連付けられた1つ又は複数のアプリケーション・サーバ・セキュリティ・フラグと、前記グローバル・セキュリティ・フラグ及び前記関連付けられたアプリケーション・サーバ・セキュリティ・フラグが有効である場合に、ユーザ・オブジェクト及び管理オブジェクトを保護する第1モードと、前記グローバル・セキュリティ・フラグが有効であり、かつ前記関連付けられたアプリケーション・サーバ・セキュリティ・フラグが無効である場合に、セキュリティ・オペレーションなしにユーザ・オブジェクトを用いるが、管理オブジェクトを保護する第2モードと、前記グローバル・セキュリティ・フラグが無効である場合に、セキュリティ・オペレーションなしにユーザ・オブジェクト及び管理オブジェクトを用いる第3モードとからなる3つのモードのうちの1つにおいて、1つ又は複数のセキュリティ・オペレーションを、アプリケーション・サーバによってクライアント・プロセスと協同して実行可能な1つ又は複数のセキュリティ・オペレーションとを含むシステムが、提供される。
セキュリティ・オペレーションが、管理オブジェクト及びユーザ・オブジェクトのための別個のセキュリティ・オペレーションを含むことが好ましい。
管理オブジェクト・インターフェースに関連付けられたアプリケーション・サーバ・セキュリティ・フラグは、アプリケーション・サーバのユーザ・オブジェクト・セキュリティが有効である場合に、アプリケーション・サーバ上のユーザ・オブジェクト用のタグ付きコンポーネントを備えたCORBA IORと、アプリケーション・サーバのユーザ・オブジェクト・セキュリティが有効である場合に、アプリケーション・サーバ上のユーザ・オブジェクト用のUDDIレジストリにおけるオブジェクト・タイプとからなるグループから選択されたオブジェクト・タイプ・インジケータを含むことが好ましい。
IORか又はUDDIレジストリのいずれのエントリがユーザ・オブジェクト・セキュリティを有効にさせるのに修正されるべきかを判断するために、保護されるべきオブジェクトの宣言リストがあることが好ましい。
本発明の好ましい実施形態は、ここに、実例のみを目的に、添付図面を参照して記載することとする。
本発明は、好ましくは、パーソナル・コンピュータ、Webサーバ、及びWebブラウザなどの周知のコンピュータ・プラットフォーム上にある既に考え出されたエンタープライズ・サーバ・ソフトウェアの機能、拡張、又は改良として実現される。これらの共通のコンピュータ・プラットフォームは、パーソナル・コンピュータ、ワークステーション、及びメインフレームを含み、かつ携帯情報端末(「PDA」)、Web対応無線電話、及び他のタイプの個人情報管理(「PIM」)デバイスなど、考えられるところでは適当に携帯可能なコンピュータ・プラットフォームを含むことができる。
そのため、コンピュータ・プラットフォームの汎用アーキテクチャを再検討することは有用であり、それは、ハイエンドWeb又はエンタープライズ・サーバ・プラットフォームから、パーソナル・コンピュータ、ポータブルPDA又はWeb対応無線電話までの実装範囲に及ぶことができるものである。
図1を参照すると、具体的にはランダム・アクセス・メモリ(「RAM」)(4)と読み出し専用メモリ(「ROM」)(5)とに関連付けられたマイクロプロセッサ(2)を備えた中央演算処理ユニット(1)(「CPU」)を含む汎用アーキテクチャが、提示される。CPU(1)にはまた、キャッシュ・メモリ(3)とプログラム可能なフラッシュROM(6)とが提供されることがある。マイクロプロセッサ(2)と様々なタイプのCPUメモリとの間にあるインターフェース(7)は、よく「ローカルバス」と呼ばれるが、より一般的な、すなわち業界標準バスにすることもできる。
コンピュータ・プラットフォームの多くには、また、ハードディスク・ドライブ(「HDD」)、フロッピィディスク・ドライブ、(CD、CD−R、CD−RW、DVD、DVD−Rなどの)コンパクトディスク・ドライブ、及び(例えばIomega Zip及びJaz、Addonics SuperDiskのような)プロプライエタリ・ディスク及びテープ・ドライブなどの1つ又は複数のストレージ・ドライブ(9)が、提供される。さらに、ストレージ・ドライブのいくつかは、コンピュータ・ネットワークを通じてアクセス可能にすることができる。
コンピュータ・プラットフォームの多くには、コンピュータ・プラットフォームの所期機能に応じて、1つ又は複数の通信インターフェースが、提供される。例えば、パーソナル・コンピュータには、多くの場合(RS−232、RS−422などの)高速シリアル・ポート、拡張パラレル・ポート(「EPP」)、及び1つ又は複数のユニバーサル・シリアル・バス(「USB」)ポートが提供される。コンピュータ・プラットフォームには、また、イーサネット・カードなどのローカル・エリア・ネットワーク(「LAN」)・インターフェース、及びハイ・パフォーマンス・シリアル・バスIEEE−1394などの他の高速インターフェースを提供することができる。
無線電話及び無線ネットワークPDAなどのコンピュータ・プラットフォームには、また、さらにアンテナを備えた無線周波数(「RF」)インターフェースを提供することができる。場合によっては、コンピュータ・プラットフォームに、赤外線通信(IrDA)インターフェースを提供することができる。
コンピュータ・プラットフォームは、多くの場合、サウンドカード、メモリボード、及びグラフィック・アクセラレータなどの他のハードウェアを追加するための、業界標準アーキテクチャ(ISA)、拡張業界標準アーキテクチャ(EISA)、周辺コンポーネント相互接続(PCI)、又はプロプライエタリ・インターフェース・スロットなどの、1つ又は複数の内部拡張スロット(11)を搭載している。
さらに、ラップトップ・コンピュータ及びPDAなどのユニットの多くには、1つ又は複数の外部拡張スロット(12)が提供されており、それによりユーザは、PCMCIAカード、SmartMedia(登録商標)カード、及び、取り外し可能ハード・ドライブ、CDドライブ、フロッピィ・ドライブのような様々なプロプライエタリ・モジュールなどのハードウェア拡張デバイスを容易にインストールし、かつ取り外すことができる。
ストレージ・デバイス(9)、通信インターフェース(10)、内部拡張スロット(11)、及び外部拡張スロット(12)は、ISA、EISA、又はPCIなどの標準すなわち業界オープンのバス・アーキテクチャ(8)を介し、CPU(1)と相互接続されることが多い。多くの場合、プロプライエタリ設計のバス(8)でもよい。
コンピュータ・プラットフォームには、通常、キーボード又はキーパッド(16)などの1つ又は複数のユーザ入力デバイス、マウス又はポインタ・デバイス(17)、及び/又はタッチスクリーン式ディスプレイが、提供される。パーソナル・コンピュータの場合は、トラックボール又はトラックポイントなどのマウス又はポインタ・デバイスと共にフルサイズのキーボードが、提供されることが多い。Web対応無線電話の場合は、簡易キーパッドに、1つ又は複数の特定機能キーを提供することができる。PDAの場合は、通常、タッチスクリーン(18)が提供され、多くの場合、手書き認識機能を備えている。
さらに、Web対応無線電話のマイクロフォン又はパーソナル・コンピュータのマイクロフォンなどのマイクロフォン(19)が、コンピュータ・プラットフォームに供給される。このマイクロフォンは、単にオーディオ及び音声信号を伝えるために用いることができ、また、音声認識機能を用いて、Webサイトの音声ナビゲーション又は電話番号の自動ダイヤルなどのユーザ選択を入力するために、用いることもできる。
コンピュータ・プラットフォームの多くはまた、デジタル静止画カメラ又はフルモーションビデオ・デジタルカメラなどのカメラ・デバイス(100)を装備している。
ディスプレイ(13)などの1つ又は複数のユーザ出力デバイスも、ほとんどのコンピュータ・プラットフォームに提供される。ディスプレイ(13)は、陰極線管(「CRT」)、薄膜トランジスタ(「TFT」)・アレイ、又は簡易な一組の発光ダイオード(「LED」)もしくは液晶ディスプレイ(「LCD」)・インジケータを含む多くの形態をとることができる。
1つ又は複数のスピーカ(14)及び/又は報知器(15)が、コンピュータ・プラットフォームに関連付けられることも多い。スピーカ(14)は、無線電話のスピーカ又はパーソナル・コンピュータのスピーカのように、音声及び音楽を再生するのに用いることができる。報知器(15)は、PDA及びPIMなどの特定のデバイスに広く見られる簡易ビープ音エミッタ又はブザーの形態をとることができる。
これらのユーザ入出力デバイスは、プロプライエタリ・バス構造及び/又はインターフェースを介して、直接CPU(1)に相互接続(8´、8´´)することができるか、又はISA、EISA、PCIなどの1つ又は複数の業界オープンのバスを介して相互接続することができる。コンピュータ・プラットフォームには、また、1つ又は複数のソフトウェア及びファームウェア(101)プログラムが提供され、コンピュータ・プラットフォームの所望の機能を実装する。
ここで図2を参照すると、このクラスのコンピュータ・プラットフォームにおける汎用ソフトウェア及びファームウェア(101)が、より詳細に示されている。コンピュータ・プラットフォームには、ワード・プロセッサ、スプレッドシート、連絡先管理ユーティリティ、アドレス帳、カレンダー、電子メール・クライアント、プレゼンテーション、財務及び会計のプログラムなどの1つ又は複数のオペレーティング・システム(「OS」)ネイティブ・アプリケーション・プログラム(23)を提供することができる。
さらに、Javaスクリプト及びプログラムなどのOSネイティブのプラットフォーム固有インタープリタ(25)によって解釈されなければならない1つ又は複数の「移植可能」プログラムすなわちデバイス独立プログラム(24)を提供することができる。
コンピュータ・プラットフォームにはまた、ブラウザ・プラグイン(27)などの1つ又は複数のブラウザ拡張機能を含むこともできるWebブラウザ又はマイクロブラウザの一形態(26)が、提供されることが多い。
コンピュータ・デバイスには、一般に、Microsoft Windows、UNIX、IBM OS/2、LINUX、MAC OS、又は他のプラットフォーム固有オペレーティング・システムなどのオペレーティング・システム(20)が提供される。PDA及び無線電話などのより小型のデバイスは、リアルタイム・オペレーティング・システム(「RTOS」)又はPalm ComputingのPalmOSなどの他の形態のオペレーティング・システムを装備することができる。
基本入出力機能(「BIOS」)とハードウェア・デバイス・ドライバとの組みが、多くの場合に提供され、オペレーティング・システム(20)及びプログラムが、コンピュータ・プラットフォームに提供される特定ハードウェア機能とインターフェースし、それらを制御することを可能にする。
さらに、1つ又は複数の組み込みファームウェア・プログラム(22)は、コンピュータ・プラットフォームの多くに広く提供されており、それらは、マイクロコントローラもしくはハード・ドライブ、通信プロセッサ、ネットワーク・インターフェース・カード、又はサウンドカードかもしくはグラフィックス・カードなどの周辺装置の一部として、オンボードの「組み込み」マイクロプロセッサによって、実行される。
よって、図1及び図2は、これらに限定されるものではないが、パーソナル・コンピュータ、PDA、PIM、Web対応電話、及びWebTV(商標)ユニットなどの他のアプライアンスを含む多岐にわたるコンピュータ・プラットフォームの様々なハードウェアコンポーネント、ソフトウェア及びファームウェア・プログラムを、一般的な意味で記述している。本発明は、好ましくは、そうしたコンピュータ・プラットフォーム上のソフトウェア及びファームウェアとして実装される。本発明は、代替的にハードウェア機能として実現できることが、当業者であれば容易に認識されるであろう。
1つの可能な実施形態において、本発明は、以下の段落でより詳細に記載されるように、特定のシステムファイル及びリソースにアクセスし、修正するJava Beansの集合体又は組みとして実現されるが、本発明は、Webサーバ・スイートなどの既存のソフトウェアに統合することができる。
例示的な実施形態において、CORBAアーキテクチャが使用され、そこでは、オブジェクトが、OMGインターフェース定義言語(「IDL」)によって定義され、オブジェクトが、サーバ及びクライアント中に分散され、利用可能なオブジェクト及びサービスの発見及び使用を調整するためにオブジェクト・リクエスト・ブローカ(「ORB」)が使用される。IDLコンパイラは、CORBAバインディングを実装し、各オブジェクトのサービスをサーバ環境からクライアントにマッピングするクライアント・スタブ及びサーバ・スケルトンを生成する。クライアントとサーバとの間及びサーバ同士の間の通信プロトコルは、汎用ORB間プロトコル(「GIOP」)と、伝送制御プロトコル/インターネット・プロトコル(「TCP/IP」)上にGIOPを実装するORB間プロトコル(「IIOP」)である。相互運用オブジェクト参照(「IOR」)は、プラットフォーム独立及びORB実装独立のオブジェクト参照を提供する。各CORBAオブジェクトをパブリック・ネームにバインドする命名サービスが、CORBAアーキテクチャ内に提供される。
さらに、この例示的実施形態において、Enterprise Java Bean(「EJB」)プログラミング・モデルが使用され、そこでは、オブジェクト・インターフェース及びサーバ実装がJava定義に従い、オブジェクトが遠隔操作でアクセスできるように分散され、かつリモート・メソッド呼び出し(「RMI」)を含むJava通信プロトコルが用いられる。そのようにして、この例示的実施形態は、IBMエンタープライズ・サーバ上のAIX又はLINUXオペレーティング・システムの元で稼働するIBM WebSphereアプリケーション・サーバ製品を用いて、実装される。現バージョンのWebSphereは、RMI−IIOPしかサポートしないので、クライアントは、好ましくは、JavaRMIプロトコルのRMI−JRMPフォーマットを用いないようにすべきである。他のウェブ・アプリケーション環境を用いる他の実施形態では、この制限は必要でないかもしれない。なお、この例示的実施形態におけるネーミング・サービスには、Javaネーミング・サービス(「JNDI」)が使用される。
CORBA及びEJBの一般概念、プロトコル、プログラミング方法論、及び機能は、通常、当該技術分野において周知であり、かつ、WebSphere製品が普及し、それ自体が周知であるが、当業者であれば、本発明は、他のプログラミング方法論、プロトコル、コンピュータ・プラットフォーム、オペレーティング・システム・アーキテクチャ、及びウェブ・アプリケーション・サーバ製品によって、本発明の範囲を逸脱することなく実現することができるということを認識するであろう。例えば、本発明を実現するのに用いられる可能性があるアプリケーション・サーバのいくつかは、Oracleの9i製品、BEA Systems WebLogicプラットフォーム、Sun MicrosystemsのONEアプリケーション・サーバ、Hewlett−Packardのアプリケーション・サーバ、及びJBossを含む。オペレーティング・システムに関して、Unix、Linux、NovellのNetware、IBMのAIX及びOS/2、Sun MicrosystemsのSolaris、Hewlett−PackardのHP−UX、並びにMicrosoftのWindows製品はまた、代替実施形態において、代わりに使用することができる。
ここで、図4を参照すると、本発明の好ましい実施形態によるクライアント・システム(43)と複数のアプリケーション・サーバ(41、42)との相互作用及び関係(40)が、管理ノード・エージェント(47)及びネーム・サーバ(46)を含めて、示される。アプリケーション・サーバ(41、42)と、管理ノード・エージェント(47)と、ネーム・サーバ(46)とは、ドメイン(45)の一部であり、ここから、アプリケーションがクライアント・システム(43)に提供される。
アプリケーションが始動すると、IORインターセプタがロードされる特定の初期化手順が生じ、共有オブジェクトへの参照が、各アプリケーション・サーバ(41、42)からネーム・サーバ(46)にエクスポートされ(412、413、414、415、416)、それにより、クライアント(43)は共有オブジェクトを見出すことができる。
オブジェクトがネーム・サーバにエクスポートされているときには、IORインターセプタは、すべてのオブジェクトに対して呼び出される。ORBがIORを作成するこの作成時間中に、どれもが1つ有するコンポーネント用のIORインターセプタのすべてが、呼び出される。これらのIORインターセプタの目的は、タグ付きコンポーネントをIORに追加することである。タグ付きコンポーネントは、サービスによって実行されるサービスに関する情報をサーバがエクスポートできるようにする追加情報である。この情報は次に、サービスを用いることが必要なクライアントによって読み出すことができる。例えばセキュリティ・サービスの場合、これらのタグ付きコンポーネントに配置された情報は、サーバが受信待機中であるセキュア・ソケット・レイヤー(「SSL」)・ポートの標識、クライアントによって、どのタイプのSSL接続がサーバにより確立されなければならないのか、サーバによって、どのセキュリティ・メカニズムがサポートされるのか、クライアントからは、どのタイプの情報(例えばユーザ名、パスワード、証明書など)が必要とされているのか、及びクライアントが、ログイン目的のために、ユーザにサーバ・レルムのプロンプトを出せるように、サーバのレルムが何であるのか、といったような情報含むパラメータを含むことができる。セキュリティが無効にされた場合には、IORには、いかなるタグ付きコンポーネントも追加されない。
IORインターセプタがロードされると、インターセプタは、テキストファイルなどのファイルをロードする。そのファイルは、アプリケーション・サーバ上の他のユーザ・オブジェクトがセキュアでないときでも保護される必要がある管理オブジェクトのクラス及びパッケージの名前を含む。管理オブジェクトは、アプリケーション・サーバ上のユーザ・オブジェクトがセキュアであるか否かに関わらず、常にセキュアであるべきものと、管理者が判断することができる。例えば、この図において、アプリケーション・サーバ1(41)は、すべてがセキュアであるユーザ・オブジェクト(400)及び管理オブジェクト(401)を提供する。それにより、セキュアなIORがネーム・サーバ(46)にエクスポートされる(412、413)。しかしながら、アプリケーション・サーバ2(42)は、セキュアである必要がないユーザ・オブジェクト(403)を提供し、それにより、これらのオブジェクト(403)用のセキュアでないIORがネーム・サーバ(46)にエクスポートされるが、一方で、同じサーバ(42)上のセキュアな管理オブジェクト(404)についてはセキュアなIORが、エクスポートされる(416)。
このことは、管理セキュリティを損なうことなく、顧客が、サーバごとにセキュリティを無効にすることを可能にする。管理者がアプリケーション・サーバ・セキュリティを操作しているときは、グローバル・セキュリティ(例えばドメイン全体のセキュリティ)は、好ましくは、なお有効であるべきである。特定のアプリケーション・サーバのセキュリティが無効にされ、グローバル・セキュリティが有効にされると、IORインターセプタは、ユーザ・オブジェクトのセキュリティ状態に関係なくセキュアに保たれるべきものであって、かつ、保護された管理オブジェクトごとに、タグ付きコンポーネントをエクスポートすべきかどうかと、どの種類のタグ付きコンポーネントをエクスポートすべきかとを判断するための、クラス及びパッケージのリスト(例えばテキスト・ファイル)をロードすることができる。ユーザ・オブジェクトは、セキュアなものとして維持するこのパッケージ又はクラスのリストのメンバーではなく、かくして、ドメイン内でどのクラスがセキュアのままであるかを修正するために、宣言メソッドが管理者に提供される。このように、ユーザ・オブジェクトはリストに含まれず、かくして、それらのIORはタグ付きコンポーネントを受け取らないが、管理オブジェクトはリストに含まれ、それらのIORは、それらがセキュリティ依存型であると判断された場合に、タグ付きコンポーネントを受け取る。ユーザ・オブジェクトか管理オブジェクトかには関係なく、すべてのオブジェクトは、ネーム・サーバ(46)によって処理されるネーム・スペースに追加される。これは、宣言的に構成可能なクラスベースのオブジェクト・セキュリティ・スキームを作成する。
この配置及びプロセスを用いて、アプリケーション・サーバ1(41)のようなセキュリティが完全に有効であるサーバからのオブジェクト使用を、クライアント・オブジェクト(405)が要求したときには、クライアント(43)とオブジェクト(400、401)との間のトランザクション(407)のすべては、セキュアに実施される。クライアント・オブジェクト(405)は、アプリケーション・サーバ上のオブジェクト用のIORをネーム・サーバ(46)で検索(406)したときに、すべてのオブジェクト(400、401)が保護されており、安全に用いられなければならない(407)ことを示すタグを受信する。タグによって指示されるように、WebSphere認証エンジン及び許可エンジンなどの認証及び許可プロセスは、安全に使用され(410)、管理ノード(47)及び1つ又は複数の管理オブジェクト(402)が提供するように、セキュリティ・サービスを提供することができる。
ユーザ・オブジェクト・セキュリティを無効にしているアプリケーション・サーバ2(42)が提供するユーザ・オブジェクト(403)をクライアント・プロセスが用いようと試みたときに、検索(406)アクションは、結果として、いかなるタグもクライアント・プロセスに受信させることはなく、かくして、安全でない態様でユーザ・オブジェクト(403)と対話する(408)ときに、いかなるセキュリティ・プロセスも使用されないことになる。かくして、これらのユーザ・オブジェクト(403)との通信及び対話(408)は、(例えば、認証又は識別情報なしに)匿名で、及び/又は(例えばトランスポート保護なしに)「平文で」実施することができる。しかしながら、アプリケーション・サーバ2(42)が提供する管理オブジェクト(404)を用いたときに、検索アクションは、結果として、WebSphereの許可エンジン及び認証エンジンなどの、管理ノードからのセキュリティ機能を呼び出させることになるタグ受信を、もたらす。かくして、アプリケーション・サーバ2は、管理オブジェクト(404)がセキュアに保たれたままで、ユーザ・オブジェクト(403)が、セキュリティなしに、かつ暗示される本来的なパフォーマンスの向上(例えば、クライアントによる認証が不要であり、サーバによる許可が不要であり、クリデンシャルの作成及び格納がない、など)を伴い、首尾よくクライアントによって用いられるようにする。
図4の理解を容易にするために、網掛けされた囲み矢印(幅広の矢印)は、非セキュアな通信又は対話(例えば408)を表し、一方、網掛けのない囲み矢印は、セキュアな通信又は対話(例えば407、410、411)を表す。同様に、細い矢印(例えば412、413、414、415、416)は、タグ付きコンポーネントを伴う、セキュア・オブジェクト用のIORをエクスポートするオペレーションを表し、一方、矢印付きのより太い線(例えば415)は、タグ付きコンポーネントなしの、非セキュア・オブジェクト用のIORをエクスポートすることを表す。
この新規なプロセスを要約し、レビューするために、タグ付きコンポーネントを伴う又はタグ付きコンポーネントなしのIORが適切に作成された後に、クライアントから、ユーザ・オブジェクトに対する非セキュアな未認証の要求があると、クライアント・オブジェクトは、IORを検索して受信し、かつORBは、セキュリティ要求インターセプタを含む1つ又は複数の要求インターセプタを呼び出す。タグ付きコンポーネントがIORに含まれないことから、それは、認証及びSSLなしにTCP/IP要求を行う。これは、非セキュア・ユーザ・オブジェクトがクリデンシャル、認証、又は許可なく用いられることを可能にする。しかしながら、いかなる管理オブジェクト又は保護されたユーザ・オブジェクトの使用も、たとえこれらの保護されたオブジェクトが非セキュア・ユーザ・オブジェクトと同じドメインにあっても、セキュアな通信(例えばSSL)の使用と同様に、認証及び許可のプロセスをトリガーする。
図5は、本発明の好ましい実施形態により、タグ付きコンポーネントを伴う、共有オブジェクトのためのIORをエクスポートする前述のプロセス(50)を図式的に表す。サーバ又はアプリケーションのスタートアップ(51)に際して、管理クラス記述子ファイル(500)がアクセス又はロードされ(52)、各共有オブジェクトについて(53)、IORインターセプタが呼び出される(54)。直接指定により又は指定パッケージの一部として、オブジェクトが管理クラス内にあれば(55)、IORは、セキュリティ・タグを伴ってエクスポートされる(57)。オブジェクトが管理クラス内になければ、そのオブジェクトのためのIORは、特別なセキュリティ・タグなしに普通にエクスポートされる(56)。これは、共有され、かつIORがエクスポートされるべきすべてのオブジェクトについて、繰り返される(58)。
図6は、本発明の好ましい実施形態により、クライアントが共有オブジェクト又はサービスを要求する前述のプロセス(60)を図式的に表す。必要なサービスについえIORが検索され(61)、受信されたIORがセキュリティ・タグを検査される(62)。要求及びサービスを用いるのに、認証、許可、及び/又はトランスポート保護などのセキュリティが要求されていると(63)、要求されたアクションが実行され(65)、アプリケーション・サーバへのセキュアな通信リンクを認証し、許可し、及び/又は確立する。次に、サービス/オブジェクトが、セキュリティ及びトランスポート保護を伴って用いられる(66)。さもなければ(63)、サービスは、セキュリティ措置なしに普通に要求され、用いられる(64)。
さらに、WebSphereプラットフォームを用いる例示的実施形態により、ユーザ・オブジェクト用の許可エンジンとは別個の管理オブジェクト用の許可エンジンが提供される。WebSphere管理許可エンジンは、ロール・ベースの許可モデル又はプロセスを提供する。ユーザ・オブジェクトのために別個の許可エンジンを有することによって、ユーザ・オブジェクト・セキュリティのために任意のJ2EEを用いることができる。これら別個のユーザ・オブジェクト・セキュリティ・フラグ及び管理オブジェクト・フラグ(例えばグローバル・セキュリティ・フラグ)のユニークな使用法のために、システムは、異なる許可及び認証エンジンによってユーザ・オブジェクト及び管理オブジェクトのセキュリティを別々に定義し、管理するようにされる。これは、3つのセキュリティ・モードの構成を可能にする:
(a) アプリケーション・サーバ・セキュリティが有効であり、かつグローバル・セキュリティが有効であるときには、ドメイン内の所与のサーバ上の(ユーザ及び管理)オブジェクトのすべてが保護される;
(b) アプリケーション・サーバ・セキュリティが無効であり、かつグローバル・セキュリティが有効であるときには、特定サーバ上でユーザ・オブジェクトのみが非セキュアであり、管理オブジェクトがセキュアに維持される;
(c) グローバル・セキュリティが無効であるときには、ドメイン内のすべてのサーバについてすべてのオブジェクト(ユーザ・オブジェクト及び管理オブジェクト)が非セキュアである。
WebSphere及びCORBAを用いるときの図4の実施形態において、クライアント・オブジェクト(405)及びユーザ・オブジェクト(400、403)は、Enterprise Java Beans(EJB)であり、管理オブジェクト(401、402、及び404)は、Java Management MBeansである。他の適当なオブジェクト指向プログラミング言語を代替的に用いることができる。
以上、本開示は、オブジェクト・レベル・セキュリティ・プロセス及びメカニズムを記載すべくCORBA、IIOP、及びIORを用いて、その実施形態及び詳細を提示してきた。本発明は、好ましくは、限定されるものではないが、Webサービス・セキュリティを含む他のセキュリティ・プロトコル及びオブジェクト・モデルにも同様に適用され得る。Webサービス・セキュリティ・モデルでは、メッセージ受け渡し及びメソッド呼び出しは、IIOPセキュリティ・プロトコルの代わりに、シンプル・オブジェクト・アクセス・プロトコル(「SOAP」)のメッセージによって行われ、サービスは、IDLの代わりに、Webサービス定義言語(「WSDL」)及びWebサービス・エンドポイント言語(「WSEL」)を用いて記述される。これに対応して、Webサービス・モデルにおいて、CORBAのCosNamingの代わりに、Universal Description,Discovery and Integration(「UDDI」)が用いられるが、前者は、IORを検索するためのAPIを提供し、一方、後者は、ビジネス・エントリ及びWebサービス・エントリを検索するためのAPIを提供する。このように、ここで開示された例示的実施形態において、IORは、オブジェクト・インスタンスのためのオブジェクト・タイプ情報を運ぶメカニズムとして用いられており、それは、WebサービスUDDIオブジェクト・レジストリにオブジェクト・タイプ情報を提供することなどの代替的オブジェクト・モデル及びセキュリティ・プロトコルで、実現させることができる。
パーソナル・コンピュータ、サーバ・コンピュータ、携帯情報端末、Web対応無線電話、又は他のプロセッサ・ベースのデバイスなどの汎用コンピューティング・プラットフォーム・アーキテクチャを示す。 図1の汎用アーキテクチャに関連付けられたソフトウェア及びファームウェアの一般化された編成を示す。 管理システム及びアプリケーションの典型的配置を例示する。 本発明の好ましい実施形態による本発明のプロセス及び対話を示す。 本発明の好ましい実施形態によるIIOPモデルの実装において、タグ付きコンポーネントを伴う、共有オブジェクト用のIORをエクスポートするプロセスを図形的に示す。 本発明の好ましい実施形態によるIIOPモデルの実装において、クライアントが共有オブジェクト又はサービスを要求するプロセスを図形的に示す。

Claims (6)

  1. 管理オブジェクト及びユーザ・オブジェクトを含む1つ又は複数のアプリケーション・サーバにおいて、オブジェクト単位でセキュリティ機能を実行する方法であって、
    管理オブジェクトのアプリケーション・サーバ・レベル・セキュリティのために定義され、管理オブジェクトへのインターフェース関連付けられたアプリケーション・サーバ・セキュリティ・フラグを記憶手段が記憶するステップと、
    管理オブジェクトのドメイン・レベル・セキュリティのために定義されたグローバル・セキュリティ・フラグ及び前記アプリケーション・サーバ・セキュリティ・フラグが有効である場合に、ユーザ・オブジェクト及び管理オブジェクトをセキュアな通信で保護する第1モードと、前記グローバル・セキュリティ・フラグが有効であり、かつ前記アプリケーション・サーバ・セキュリティ・フラグが無効である場合に、ユーザ・オブジェクトを非セキュアな通信で用いるが、管理オブジェクトをセキュアな通信で保護する第2モードと、前記グローバル・セキュリティ・フラグが無効である場合に、ユーザ・オブジェクト及び管理オブジェクトを非セキュアな通信で用いる第3モードを含むモードのうちの1つに従って、アプリケーション・サーバが、管理オブジェクト及びユーザ・オブジェクトごとに別個のセキュアな通信または非セキュアな通信をクライアント・プロセスと実行するステップと
    を含む、前記方法。
  2. アプリケーション・サーバ・セキュリティ・フラグ管理オブジェクト・インターフェースへの関連付けが、アプリケーション・サーバのユーザ・オブジェクト・セキュリティが有効である場合に、アプリケーション・サーバ上のユーザ・オブジェクトについてタグ付きコンポーネントを備えたCORBA 相互運用オブジェクト参照(IORをエクスポートするアクション、及びアプリケーション・サーバのユーザ・オブジェクト・セキュリティが有効である場合に、アプリケーション・サーバ上のユーザ・オブジェクトについてUDDIレジストリにオブジェクト・タイプを提供するアクションを含む群から選択されるアクションを実行することによって行われる、請求項1に記載の方法。
  3. 前記セキュアな通信実行することが、認証、許可、及びトランスポート保護から選択されたセキュリティ・オペレーションを実行することを含む、請求項1に記載の方法。
  4. 前記セキュアな通信実行することが、シンプル・オブジェクト・アクセス・プロトコル(SOAP)及びオブジェクト・リクエスト・ブローカ(ORB間プロトコルを含む群から選択されたセキュリティ・プロトコルを使用することによって行われる、請求項1に記載の方法。
  5. 管理オブジェクト及びユーザ・オブジェクトを含む1つ又は複数のアプリケーション・サーバにおいて、オブジェクト単位でセキュリティ機能を実行するためのコンピュータ・プログラムであって、コンピュータに請求項1に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
  6. 管理オブジェクト及びユーザ・オブジェクトを含む1つ又は複数のアプリケーション・サーバにおいて、オブジェクト単位でセキュリティ機能を実行するオブジェクト・レベル・セキュリティ・システムであって、
    管理オブジェクトのアプリケーション・サーバ・レベル・セキュリティのために定義され、管理オブジェクトへのインターフェースに関連付けられたアプリケーション・サーバ・セキュリティ・フラグを記憶する手段と、
    前記記憶する手段に記憶されたアプリケーション・サーバ・セキュリティ・フラグを読み取り、管理オブジェクトのドメイン・レベル・セキュリティのために定義されたグローバル・セキュリティ・フラグ及び前記アプリケーション・サーバ・セキュリティ・フラグが有効である場合に、ユーザ・オブジェクト及び管理オブジェクトをセキュアな通信で保護する第1モードと、前記グローバル・セキュリティ・フラグが有効であり、かつ前記アプリケーション・サーバ・セキュリティ・フラグが無効である場合に、ユーザ・オブジェクトを非セキュアな通信で用いるが、管理オブジェクトをセキュアな通信で保護する第2モードと、前記グローバル・セキュリティ・フラグが無効である場合に、ユーザ・オブジェクト及び管理オブジェクトを非セキュアな通信で用いる第3モードを含むモードのうちの1つに従って、アプリケーション・サーバに、管理オブジェクト及びユーザ・オブジェクトごとに別個のセキュアな通信または非セキュアな通信をクライアント・プロセスと実行させる手段と
    備えている、前記システム。
JP2004537309A 2002-09-19 2003-09-19 分散コンピューティング・ドメインのためのアプリケーション・サーバのオブジェクト・レベル・セキュリティ Expired - Lifetime JP4636366B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/246,909 US7448066B2 (en) 2002-09-19 2002-09-19 Application server object-level security for distributed computing domains
PCT/GB2003/004063 WO2004027612A2 (en) 2002-09-19 2003-09-19 Application server object-level security for distributed computing domains

Publications (3)

Publication Number Publication Date
JP2006517690A JP2006517690A (ja) 2006-07-27
JP2006517690A5 JP2006517690A5 (ja) 2007-07-12
JP4636366B2 true JP4636366B2 (ja) 2011-02-23

Family

ID=31992391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004537309A Expired - Lifetime JP4636366B2 (ja) 2002-09-19 2003-09-19 分散コンピューティング・ドメインのためのアプリケーション・サーバのオブジェクト・レベル・セキュリティ

Country Status (10)

Country Link
US (2) US7448066B2 (ja)
EP (1) EP1540474B1 (ja)
JP (1) JP4636366B2 (ja)
KR (1) KR100834347B1 (ja)
CN (1) CN100336021C (ja)
AT (1) ATE441150T1 (ja)
AU (1) AU2003269163A1 (ja)
DE (1) DE60329002D1 (ja)
TW (1) TWI273811B (ja)
WO (1) WO2004027612A2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363487B2 (en) * 2003-07-01 2008-04-22 International Business Machines Corporation Method and system for dynamic client authentication in support of JAAS programming model
US7676562B2 (en) * 2004-01-20 2010-03-09 Microsoft Corporation Computer system for accessing instrumentation information
US7523195B2 (en) * 2004-10-29 2009-04-21 International Business Machines Corporation Method and system for monitoring server events in a node configuration by using direct communication between servers
US20060106864A1 (en) * 2004-11-12 2006-05-18 International Business Machines Corporation System, computer program product and method of narrowing an enterprise Java bean (EJB) object reference to a home implementation class name
US8250226B2 (en) * 2005-07-21 2012-08-21 Ca, Inc. Generating one or more clients for generating one or more synthetic transactions with one or more web service operations
DE602006002885D1 (de) * 2006-07-24 2008-11-06 Alcatel Lucent Verfahren, Server und Client zur Bereitstellung von Diensten in einem Computernetzwerk
US7912047B2 (en) * 2006-12-22 2011-03-22 International Business Machines Corporation Method and program for classifying fragmented messages
KR100918114B1 (ko) * 2007-10-17 2009-09-22 한국전자통신연구원 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성보장 방법
JP5227605B2 (ja) * 2008-02-15 2013-07-03 アズビル株式会社 ポータルサーバシステムおよびポータルサーバシステムにおけるサーバアクセス方法
US20100111836A1 (en) * 2008-10-31 2010-05-06 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Compositions and methods for therapeutic delivery with frozen particles
US8893156B2 (en) * 2009-03-24 2014-11-18 Microsoft Corporation Monitoring of distributed applications
US9804899B2 (en) * 2009-07-31 2017-10-31 Ixia Communications using the common object request broker architecture (CORBA)
CN101655789B (zh) * 2009-09-22 2012-10-24 用友软件股份有限公司 一种实现应用组件热插拔的方法和装置
CN102043922A (zh) * 2009-10-13 2011-05-04 中兴通讯股份有限公司 一种提高corba接口安全性的方法及装置
US9170800B2 (en) * 2012-10-16 2015-10-27 Citrix Systems, Inc. Application wrapping for application management framework
US9450820B2 (en) * 2014-02-26 2016-09-20 International Business Machines Corporation Dynamic extensible application server management
US9876822B2 (en) 2014-11-28 2018-01-23 International Business Machines Corporation Administration of a context-based cloud security assurance system
US9762616B2 (en) 2015-08-08 2017-09-12 International Business Machines Corporation Application-based security rights in cloud environments
US10348730B2 (en) 2015-12-28 2019-07-09 International Business Machines Corporation Reducing complexities of authentication and authorization for enterprise web-based social applications
KR20180060807A (ko) 2016-11-29 2018-06-07 충남대학교산학협력단 티어 기반 분산 저장 장치 및 방법
US10819731B2 (en) 2018-02-06 2020-10-27 Bank Of America Corporation Exception remediation logic rolling platform
US11265340B2 (en) 2018-02-06 2022-03-01 Bank Of America Corporation Exception remediation acceptable use logic platform
US10862915B2 (en) 2018-02-06 2020-12-08 Bank Of America Corporation Exception remediation logic routing and suppression platform
US11089042B2 (en) 2018-02-06 2021-08-10 Bank Of America Corporation Vulnerability consequence triggering system for application freeze and removal
US10812502B2 (en) 2018-02-06 2020-10-20 Bank Of America Corporation Network device owner identification and communication triggering system
CN110413327B (zh) * 2019-07-16 2022-07-19 创新先进技术有限公司 一种基于硬件抽象层的硬件驱动方法和装置
CN110471742B (zh) * 2019-08-15 2022-03-29 中国银行股份有限公司 分布式环境下的Java对象监控管理系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000003348A (ja) * 1998-04-01 2000-01-07 Hewlett Packard Co <Hp> 遠隔的にコマンドを実行する装置
JP2002215486A (ja) * 2000-08-31 2002-08-02 Schneider Autom Wsdlに基づいたコントローラ装置用通信システム
JP2002528815A (ja) * 1998-10-28 2002-09-03 クロスロジックス インコーポレイテッド 分散コンピュータネットワーク内でのセキュリティの維持

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802291A (en) * 1995-03-30 1998-09-01 Sun Microsystems, Inc. System and method to control and administer distributed object servers using first class distributed objects
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US6226746B1 (en) * 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US5881230A (en) * 1996-06-24 1999-03-09 Microsoft Corporation Method and system for remote automation of object oriented applications
US6044409A (en) * 1996-06-26 2000-03-28 Sun Microsystems, Inc. Framework for marshaling and unmarshaling argument object references
DE59604239D1 (de) * 1996-08-20 2000-02-24 Alcatel Sa Verfahren zur Unterstützung des Erzeugens eines Objektes
EP0825524B1 (de) * 1996-08-20 2000-01-19 Alcatel Verfahren zur Verwaltung der Benennung von Objekten
US5908469A (en) 1997-02-14 1999-06-01 International Business Machines Corporation Generic user authentication for network computers
US6687761B1 (en) * 1997-02-20 2004-02-03 Invensys Systems, Inc. Process control methods and apparatus with distributed object management
KR19990040321A (ko) * 1997-11-17 1999-06-05 정선종 다수의 보안 영역을 갖는 분산 시스템 환경에서 사용자접근 제어 방법 및 이를 위한 서버의 구조
GB9725742D0 (en) * 1997-12-04 1998-02-04 Hewlett Packard Co Object gateway
US6438616B1 (en) * 1997-12-18 2002-08-20 Sun Microsystems, Inc. Method and apparatus for fast, local corba object references
US6219787B1 (en) 1997-12-22 2001-04-17 Texas Instruments Incorporated Method and apparatus for extending security model to native code
US6321334B1 (en) * 1998-07-15 2001-11-20 Microsoft Corporation Administering permissions associated with a security zone in a computer system security model
US6330677B1 (en) * 1998-10-27 2001-12-11 Sprint Communications Company, L. P. Object-based security system
US6549908B1 (en) 1998-11-18 2003-04-15 Siebel Systems, Inc. Methods and apparatus for interpreting user selections in the context of a relation distributed as a set of orthogonalized sub-relations
US6487665B1 (en) * 1998-11-30 2002-11-26 Microsoft Corporation Object security boundaries
US6298478B1 (en) 1998-12-31 2001-10-02 International Business Machines Corporation Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions
WO2000045256A1 (en) * 1999-01-29 2000-08-03 Iona Technologies, Inc. Method and system for dynamic configuration of interceptors in a client-server environment
US6422460B1 (en) * 1999-01-29 2002-07-23 Verisign, Inc. Authorization system using an authorizing device
US6453320B1 (en) * 1999-02-01 2002-09-17 Iona Technologies, Inc. Method and system for providing object references in a distributed object environment supporting object migration
GB2350971A (en) * 1999-06-07 2000-12-13 Nokia Mobile Phones Ltd Security Architecture
JP2001056810A (ja) * 1999-06-07 2001-02-27 Kawasaki Steel Systems R & D Corp データベースアクセスシステム
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
KR100343069B1 (ko) 2000-08-26 2002-07-05 박태규 다중 등급 보안 방식에 의한 강제적 객체접근 제어 방법및 이를 프로그램화하여 수록한 컴퓨터로 읽을 수 있는기록매체
US6442460B1 (en) * 2000-09-05 2002-08-27 Hunter Engineering Company Method and apparatus for networked wheel alignment communications and services
US6873067B2 (en) * 2000-09-29 2005-03-29 Matsushita Electric Works, Ltd. Linear oscillator
US6968553B1 (en) * 2001-03-01 2005-11-22 Alcatel Element manager common gateway architecture system and method
US6795791B2 (en) * 2001-06-22 2004-09-21 Bea Systems, Inc. System and method for testing time-varying signals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000003348A (ja) * 1998-04-01 2000-01-07 Hewlett Packard Co <Hp> 遠隔的にコマンドを実行する装置
JP2002528815A (ja) * 1998-10-28 2002-09-03 クロスロジックス インコーポレイテッド 分散コンピュータネットワーク内でのセキュリティの維持
JP2002215486A (ja) * 2000-08-31 2002-08-02 Schneider Autom Wsdlに基づいたコントローラ装置用通信システム

Also Published As

Publication number Publication date
ATE441150T1 (de) 2009-09-15
US7810132B2 (en) 2010-10-05
WO2004027612A2 (en) 2004-04-01
WO2004027612A3 (en) 2004-07-29
CN1820254A (zh) 2006-08-16
KR20050060068A (ko) 2005-06-21
EP1540474A2 (en) 2005-06-15
EP1540474B1 (en) 2009-08-26
TWI273811B (en) 2007-02-11
TW200405710A (en) 2004-04-01
US7448066B2 (en) 2008-11-04
KR100834347B1 (ko) 2008-06-02
CN100336021C (zh) 2007-09-05
US20080222697A1 (en) 2008-09-11
JP2006517690A (ja) 2006-07-27
AU2003269163A1 (en) 2004-04-08
DE60329002D1 (de) 2009-10-08
US20040059940A1 (en) 2004-03-25

Similar Documents

Publication Publication Date Title
JP4636366B2 (ja) 分散コンピューティング・ドメインのためのアプリケーション・サーバのオブジェクト・レベル・セキュリティ
US7870188B2 (en) Systems and methods for exposing web services
AU750435B2 (en) Method and apparatus for implementing an extensible authentication mechanism in a web application server
US7478246B2 (en) Method for providing a scalable trusted platform module in a hypervisor environment
US7117504B2 (en) Application program interface that enables communication for a network software platform
US7530081B2 (en) System for creating a dynamic OGSI service proxy framework using runtime introspection of an OGSI service
US20130124695A1 (en) Mobility Device Method
US20040143625A1 (en) Component proxy with interception logic in remote component container
US20050050184A1 (en) Method, system, and storage medium for providing life-cycle management of grid services
US20080301443A1 (en) Mobility device platform
US20080082679A1 (en) Method and system for management protocol-based data streaming
JP2005505831A (ja) Javaサーブレットを非同期メッセージと統合するための方法
US11327816B2 (en) Monitoring components in a service framework
US7076476B2 (en) Method and system for integrated service administration via a directory service
US11392359B2 (en) Non specification supported application deployment descriptors and web application deployment descriptors
US7703144B2 (en) Method, apparatus, and program to post process applications encrypting sensitive objects that are logged
US20070078855A1 (en) Method and apparatus for session management in an enterprise java bean session bean
Michael et al. GridSphere’s grid portlets
US7406457B2 (en) Dynamic sample data switch
US20060085372A1 (en) Copy template/read only data in application tables
Novotny et al. GridLab Portal Design
US8214499B2 (en) System and method for enabling software applications as a service in a non-intrusive manner
Duett et al. EZHPC: easy access to high performance computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070525

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100601

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100617

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100806

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100806

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100908

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100908

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101108

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20101108

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

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4636366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term