(57)【要約】      （修正有）【課題】既存データの消失がなく、セキュリティ・アプリケーション・モジュールによってサービスされる既存アプリケーションの再インストールを必要としないモジュラー・セキュリティ・アプリケーション・インストールをサポートするセキュリティ・トークン・アーキテクチャを提供する。【解決手段】共用可能なインターフェース８０をセキュリティ・ドメイン制御サービス・アプリケーション１０に再配置することによって、トークン・セキュリティ管理サービス・アプリケーション３５と、セキュリティ・サービス・アプリケーション４０、４０Ａ、４０Ｂと、トークン・サービス・アプリケーション３０、３０Ａ、３０Ｂが互いに独立になり、既存のインターフェース依存性７０Ａ、７０Ｂ、７０Ｃ、７０Ｄ、７０Ｅ、７０Ｆ、７０Ｇの中断なしに３種類のセキュリティ・アプリケーションのすべての除去、置換および／または追加が容易になる。【選択図】図２
2004199672.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
機能的に共用可能なインターフェースに結合された複数のセキュリティ・アプリケーションと、
機能的にランタイム・オペレーティング環境に結合されたセキュリティ・ドメイン制御サービス・アプリケーションであって、前記共用可能なインターフェースと、前記複数のセキュリティ・アプリケーションのそれぞれに関連する１つまたは複数のセキュリティ・ポリシと、前記１つまたは複数のセキュリティ・ポリシの実施によって前記複数のセキュリティ・アプリケーションを制御する制御手段とを含む、セキュリティ・ドメイン制御サービス・アプリケーションと
を含む一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
共用可能なインターフェースを介してセキュリティ・ドメイン制御サービス・アプリケーションに機能的に結合される複数のセキュリティ・アプリケーションと、
前記セキュリティ・ドメイン制御サービス・アプリケーションによって可読であり、前記複数のセキュリティ・アプリケーションのそれぞれに関連する、１つまたは複数のセキュリティ・ポリシと
を含み、前記セキュリティ・ドメイン制御サービス・アプリケーションが、ランタイム・オペレーティング環境に機能的に結合され、前記１つまたは複数のセキュリティ・ポリシの実施によって前記複数のセキュリティ・アプリケーションを読み取り、制御する制御手段を含む
一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項３】
前記セキュリティ・ドメイン制御サービス・アプリケーションが、前記共用可能なインターフェースに関連する事前定義のアーキテクチャを含む請求項１または２に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項４】
前記複数のセキュリティ・アプリケーションの少なくとも１つが、前記複数のセキュリティ・パラメータを操作する手段を含む請求項３に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５】
前記複数のセキュリティ・パラメータの操作が、前記事前定義のアーキテクチャの中断なしに、前記複数のセキュリティ・アプリケーションのいずれかの、少なくとも、追加、置換、または除去を容易にする請求項４に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項６】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
共用可能なインターフェースに関連する少なくとも１つのレジストリおよび事前定義のアーキテクチャを含み、その共用可能なインターフェースを介して複数のセキュリティ・アプリケーションに機能的に結合されたセキュリティ・ドメイン制御サービス・アプリケーション
を含み、前記少なくとも１つのレジストリが、前記複数のセキュリティ・アプリケーションのそれぞれに関連する複数のセキュリティ・パラメータを含み、
前記複数のセキュリティ・アプリケーションの少なくも１つが、前記複数のセキュリティ・パラメータを操作するために実行可能であり、前記複数のセキュリティ・パラメータの操作が、前記事前定義のアーキテクチャの中断なしに前記複数のセキュリティ・アプリケーションのいずれかの、少なくとも追加、置換、または除去を容易にする
一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項７】
前記複数のセキュリティ・アプリケーションのそれぞれに関連する１つまたは複数の論理ベース・ルールをさらに含む請求項６に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項８】
前記１つまたは複数の論理ベース・ルールおよび前記複数のセキュリティ・パラメータの集りが１つまたは複数のセキュリティ・ポリシを含む請求項７に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項９】
前記セキュリティ・ドメイン制御サービス・アプリケーションが、さらに、前記１つまたは複数のセキュリティ・ポリシを実施する手段を含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１０】
前記１つまたは複数のセキュリティ・ポリシが、前記複数のセキュリティ・アプリケーションのそれぞれの少なくとも１つの機能的形態を制御する請求項９に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１１】
複数のインターフェース・モジュールをさらに含み、前記複数のインターフェース・モジュールが、前記複数のセキュリティ・アプリケーションのそれぞれに組み込まれる請求項１、２、または６に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１２】
前記複数のインターフェース・モジュールが、インストールの時に前記複数のセキュリティ・アプリケーションにリンクされる請求項１１に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１３】
前記複数のインターフェース・モジュールが、前記複数のセキュリティ・アプリケーションに機能的に結合される別々のモジュールである請求項１１に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１４】
前記複数のセキュリティ・アプリケーションが、少なくとも１つのトークン・サービス・アプリケーション、少なくとも１つのトークン管理サービス・アプリケーション、および少なくとも１つのトークン・セキュリティ・サービス・アプリケーションを含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１５】
前記１つまたは複数のセキュリティ・アプリケーションの前記少なくとも１つが、前記セキュリティ・ドメイン制御アプリケーションに組み込まれる請求項１４に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１６】
前記少なくとも１つのトークン・サービス・アプリケーションの機能性が、安全なストレージ、公開鍵基盤暗号、アプリケーション・ローディング、または電子財布を含む請求項１４に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１７】
前記少なくとも１つのトークン管理サービス・アプリケーションの機能性が、前記１つまたは複数の関連セキュリティ・ポリシの構成または管理を含む請求項１４に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１８】
前記少なくとも１つのトークン管理サービス・アプリケーションの機能性が、１つまたは複数のアカウンティング・ポリシの管理、トークン・セキュリティ状態の管理、または全体的なトークン・セキュリティ制御をさらに含む請求項１７に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項１９】
前記少なくとも１つのトークン・セキュリティ・サービス・アプリケーションの機能性が、認証、許可、トークン・アンロック、または安全なメッセージングを含む請求項１４に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２０】
前記１つまたは複数の論理ベース・ルールが、アクセス制御ルールの少なくとも１つの組を含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２１】
前記１つまたは複数の論理ベース・ルールが、ロック制御ルールの少なくとも１つの組を含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２２】
前記１つまたは複数の論理ベース・ルールが、アンロック制御ルールの少なくとも１つの組を含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２３】
前記１つまたは複数の論理ベース・ルールが、セキュリティ制御メソッドの少なくとも１つの組を含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２４】
前記１つまたは複数の論理ベース・ルールが、許可メソッドの少なくとも１つの組を含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２５】
前記１つまたは複数のアカウンティング・ポリシが、少なくとも１つのアカウンティング・データ・ファイルに含まれる請求項１８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２６】
前記１つまたは複数の関連するセキュリティ・ポリシが、少なくとも１つのアクセス制御ルールおよび少なくとも１つの一意のサービス識別子を含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２７】
前記１つまたは複数の関連するセキュリティ・ポリシが、前記複数のセキュリティ・パラメータのうちで、
少なくとも１つの一意の信任証識別子、前記少なくとも１つの一意の信任証識別子に関連するセキュリティ状態フラグ、少なくとも１つの暗号鍵一意識別子、および前記少なくとも１つの暗号鍵一意識別子に関連するセッション・アクティブ・フラグ
の１つまたは複数をさらに含む請求項２６に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２８】
前記複数のセキュリティ・パラメータが、さらに、
サービス・タイプ、イネーブル・フラグ、機能制御要素、信任証記述子、セキュリティ状態フラグ、試行アクセス・カウンタ、最大試行限度、ロック状況フラグ、満了状況フラグ、最大使用限度、現在使用カウンタ、ロック・ルール識別子、鍵記述子、アクティブ・セッション・フラグ、命令ステップ
というセキュリティ・パラメータの１つまたは複数を含む請求項２７に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項２９】
前記セキュリティ・ドメイン制御アプリケーションが、前記セキュリティ・トークンのネイティブ言語でコーディングされる請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項３０】
前記１つまたは複数のセキュリティ・ポリシが、前記複数のセキュリティ・アプリケーションの少なくとも１つと暗号鍵または信任証のいずれかとの間の関連を制御する請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項３１】
前記セキュリティ・ドメイン制御アプリケーションが、高水準言語でコーディングされる請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項３２】
セキュリティ・トークンの内部でセキュリティ・アプリケーションを機能的にインストールする方法であって、
ａ．セキュリティ・ドメイン制御サービス・アプリケーション・ダウンローダブルを機能的に受け取るステップと、
ｂ．セキュリティ・アプリケーション・ダウンローダブルを受け取るステップと、
ｃ．前記セキュリティ・アプリケーション・ダウンローダブルを、前記セキュリティ・ドメイン制御サービス・アプリケーション・ダウンローダブルに登録するステップと、
ｄ．前記セキュリティ・アプリケーション・ダウンローダブルについて１つまたは複数のセキュリティ・ポリシを構成するステップと、
ｅ．前記セキュリティ・アプリケーション・ダウンローダブルについて１つまたは複数のセキュリティ状態をセットするステップと
を含む、セキュリティ・トークンの内部でセキュリティ・アプリケーションを機能的にインストールする方法。
【請求項３３】
ａ．追加のセキュリティ・アプリケーション・ダウンローダブルがインストールされる場合に、ステップｂからｅを繰り返すステップ
をさらに含む請求項３２に記載のセキュリティ・トークンの内部でセキュリティ・アプリケーションを機能的にインストールする方法。
【請求項３４】
ａ．前記セキュリティ・ドメイン制御サービス・ダウンローダブルを、別のセキュリティ・ドメイン制御サービス・アプリケーションに登録するステップ
をさらに含む請求項３２に記載の方法。
【請求項３５】
セキュリティ・トークンの内部で機能的にインストールされたセキュリティ・アプリケーションを初期化する方法であって、
ａ．１つまたは複数の関連するセキュリティ制御メソッドに従って認証を実行するステップと、
ｂ．認証状態をセットするステップと
を含む方法。
【請求項３６】
ａ．安全なメッセージング・セッションが、１つまたは複数の関連するセキュリティ・ポリシによって要求されるかどうかを判定するステップと、
ｂ．前記１つまたは複数の関連するセキュリティ制御メソッドに従って安全なメッセージング・セッションを確立するステップと、
ｃ．前記１つまたは複数の関連するセキュリティ・ポリシによって要求される安全なメッセージング状態をセットするステップと
をさらに含む請求項３５に記載の方法。
【請求項３７】
ａ．１つまたは複数の関連する許可ルールに従って、許可パラメータを検証するステップ
をさらに含む請求項３５または３６に記載の方法。
【請求項３８】
ａ．１つまたは複数の関連するアカウンティング・ポリシに従ってトランザクション・アカウンティング・データを記録するステップ
をさらに含む請求項３７に記載の方法。
【請求項３９】
セキュリティ・トークンの内部で機能的にインストールされたセキュリティ・アプリケーションを使用する方法であって、
ａ．セキュリティ・アプリケーションを実行するステップと、
ｂ．前記セキュリティ・アプリケーションがイネーブルされることを検証するステップと、
ｃ．前記セキュリティ・アプリケーションの機能制御要素がイネーブルされることを検証するステップと、
ｄ．前記セキュリティ・アプリケーションに関連する１つまたは複数のセキュリティ・ポリシを検索するステップと、
ｅ．前記１つまたは複数のセキュリティ・ポリシを検証するステップと
を含む方法。
【請求項４０】
セキュリティ・アプリケーションをインストールする実行可能命令を格納されたプロセッサによって可読の有形の形で実施されたコンピュータ・プログラム製品であって、前記実行可能命令が、
ａ．セキュリティ・ドメイン制御サービス・アプリケーション・ダウンローダブルを、セキュリティ・トークンによって受け取らせるステップと、
ｂ．セキュリティ・アプリケーション・ダウンローダブルを、前記セキュリティ・トークンによって受け取らせるステップと、
ｃ．前記セキュリティ・アプリケーション・ダウンローダブルを、前記セキュリティ・ドメイン制御サービス・アプリケーション・ダウンローダブルに登録させるステップと、
ｄ．１つまたは複数のセキュリティ・ポリシの構成パラメータを、前記セキュリティ・アプリケーション・ダウンローダブルのレジストリ内で確立させるステップと、
ｅ．１つまたは複数のセキュリティ状態を、前記セキュリティ・アプリケーション・ダウンローダブルについてセットさせるステップと
を含む、コンピュータ・プログラム製品。
【請求項４１】
ａ．インストールされる追加のセキュリティ・アプリケーション・ダウンローダブルについて、ステップ４０．ｂから４０．ｅを繰り返させるステップ
をさらに含む請求項４０に記載のコンピュータ・プログラム製品。
【請求項４２】
セキュリティ・アプリケーションを初期化する実行可能命令を格納されたプロセッサによって可読の有形の形で実施されたコンピュータ・プログラム製品であって、前記実行可能命令が、
ａ．１つまたは複数の関連するセキュリティ制御メソッドに従って、認証を実行させるステップと、
ｂ．認証状態をセットさせるステップと
を含むコンピュータ・プログラム製品。
【請求項４３】
ａ．前記１つまたは複数の関連するセキュリティ制御メソッドを使用して、安全なメッセージング・セッション要求の判定を行わせるステップと、
ｂ．１つまたは複数の関連するセキュリティ・ポリシによって要求される場合に、安全なメッセージング・セッションを確立させるステップと、
ｃ．前記１つまたは複数の関連するセキュリティ・ポリシによって要求される場合に、安全なメッセージング状態をセットさせるステップと
をさらに含む請求項４２に記載のコンピュータ・プログラム製品。
【請求項４４】
ａ．１つまたは複数の関連する許可ルールに従う１つまたは複数の許可パラメータの検証を行わせるステップ
をさらに含む請求項４２または４３に記載のコンピュータ・プログラム製品。
【請求項４５】
ａ．１つまたは複数の関連するアカウンティング・ポリシに従ってトランザクション・アカウンティング・データを記録させるステップ
をさらに含む請求項４４に記載のコンピュータ・プログラム製品。
【請求項４６】
セキュリティ・アプリケーションを実行させる実行可能命令を格納されたプロセッサによって可読の有形の形で実施されたコンピュータ・プログラム製品であって、前記実行可能命令が、
ａ．セキュリティ・アプリケーションの実行を行わせるステップと、
ｂ．前記セキュリティ・アプリケーションのイネーブル検証を行わせるステップと、
ｃ．前記セキュリティ・アプリケーションに関連する機能制御要素のイネーブル検証を行わせるステップと、
ｄ．前記セキュリティ・アプリケーションに関連する１つまたは複数のセキュリティ・ポリシの検索を行わせるステップと、
ｅ．前記１つまたは複数のセキュリティ・ポリシの検証を行わせるステップと
を含む、コンピュータ・プログラム製品。
【請求項４７】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
セキュリティ・アプリケーションの少なくとも１つの機能的形態を制御する制御手段を含む、セキュリティ・ドメイン制御サービス・アプリケーションと、
前記セキュリティ・アプリケーションに対する機能的関係を有し、前記セキュリティ・ドメイン制御サービス・アプリケーションによって可読の、セキュリティ・ポリシの組と
を含み、セキュリティ・ポリシの前記組が、セキュリティ・アプリケーションの前記少なくとも１つの機能的形態を制御するために前記制御手段によって読み取られる
一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項４８】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
セキュリティ・アプリケーションの少なくとも１つの機能的形態を制御する制御手段と、少なくとも１つのセキュリティ・アプリケーションに機能的にリンクされる共用可能なインターフェースとを含む、セキュリティ・ドメイン制御サービス・アプリケーションと、
前記少なくとも１つのセキュリティ・アプリケーションに対する機能的関係を有し、前記セキュリティ・ドメイン制御サービス・アプリケーションによって可読の、セキュリティ・ポリシの組と
を含み、セキュリティ・ポリシの前記組が、前記共用可能なインターフェースへの前記リンクを制御するために前記制御手段によって読み取られる
一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項４９】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
共用可能なインターフェースと、少なくとも１つのセキュリティ・アプリケーションをインストールするインストール手段とを含むセキュリティ・ドメイン制御サービス・アプリケーションであって、前記インストール手段が、前記少なくとも１つのセキュリティ・アプリケーションを前記共用可能なインターフェースに機能的にリンクするオペレーションを実行する手段を含む、セキュリティ・ドメイン制御サービス・アプリケーション
を含む、一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５０】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
共用可能なインターフェースと、少なくとも１つのセキュリティ・アプリケーションをアンインストールするアンインストール手段とを含むセキュリティ・ドメイン制御サービス・アプリケーションであって、前記アンインストール手段が、前記少なくとも１つのセキュリティ・アプリケーションを前記共用可能なインターフェースから機能的にアンリンクするオペレーションを実行する手段を含む、セキュリティ・ドメイン制御サービス・アプリケーション
を含む、一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５１】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
共用可能なインターフェースと、レジストリと、少なくとも１つのセキュリティ・アプリケーションをインストールするインストール手段とを含むセキュリティ・ドメイン制御サービス・アプリケーションであって、前記インストール手段が、前記少なくとも１つのセキュリティ・アプリケーションを前記共用可能なインターフェースに機能的にリンクするオペレーションを実行する手段を含み、前記セキュリティ・アプリケーションを前記レジストリに登録する、セキュリティ・ドメイン制御サービス・アプリケーション
を含む、一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５２】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
共用可能なインターフェースと、レジストリと、少なくとも１つのセキュリティ・アプリケーションをアンインストールするアンインストール手段とを含むセキュリティ・ドメイン制御サービス・アプリケーションであって、前記アンインストール手段が、前記少なくとも１つのセキュリティ・アプリケーションを前記共用可能なインターフェースから機能的にアンリンクするオペレーションを実行する手段を含み、前記レジストリから前記セキュリティ・アプリケーションを登録解除する、セキュリティ・ドメイン制御サービス・アプリケーション
を含む、一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５３】
前記オペレーションが、前記少なくとも１つのセキュリティ・アプリケーションに固有である請求項４９、５０、５１、または５２に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５４】
前記複数のセキュリティ・パラメータが、前記複数のセキュリティ・アプリケーションの少なくとも１つによって変更可能なイネーブル・フラグを含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５５】
前記複数のセキュリティ・パラメータが、少なくとも１つの機能制御要素を含み、前記機能制御要素が、前記複数のセキュリティ・アプリケーションの少なくとも１つの機能的形態の少なくとも１つを制御するように動作可能である請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５６】
前記１つまたは複数のセキュリティ・ポリシが、さらに、
少なくとも１つのアクセス制御ルールと共に使用される信任証または暗号鍵を判定するためにトークン・セキュリティ・サービス・アプリケーションによって可読の１つまたは複数のパラメータを含む少なくとも１つのセキュリティ制御メソッド
を含み、前記少なくとも１つのアクセス制御ルールが、前記トークン・セキュリティ・サービス・アプリケーションに関連する１つまたは複数の論理ベース・ルールを含む
請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５７】
前記１つまたは複数のセキュリティ・ポリシが、さらに、動作制限についてパラメータを評価する少なくとも１つの許可メソッドを含む請求項８に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５８】
前記パラメータが、前記セキュリティ・トークンの内部または外部ホストから受け取られるのいずれかである請求項５７に記載の一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項５９】
セキュリティ・トークンでの展開の一様なセキュリティ・アプリケーション・アーキテクチャであって、
セキュリティ・ドメイン制御サービス・アプリケーションによって可読のセキュリティ・ポリシの組であって、セキュリティ・ポリシの前記組が、トークン・サービスを実行するトークン・サービス・アプリケーションに関連する前提条件情報を含む、セキュリティ・ポリシの組
を含み、前記トークン・サービス・アプリケーションが、前記セキュリティ・ドメイン制御サービス・アプリケーションに対する機能的関係を有し、前記トークン・サービス・アプリケーションが、
サービスに関する要求を受け取る手段と、
前記セキュリティ・ドメイン制御サービス・アプリケーションに前記トークン・サービスを実行する許可要求を送る手段と、
前記トークン・サービスの実行に関する決定力のある前記セキュリティ・ドメイン制御サービス・アプリケーションから決定的応答を受け取る手段と、
セキュリティ・ポリシの前記組の少なくとも一部に従ってトークン・サービスを実行する手段と
を含み、前記セキュリティ・ドメイン制御サービス・アプリケーションが、
前記トークン・サービス・アプリケーションから送られた前記許可要求を受け取る手段と、
前記許可要求に関して適用可能なセキュリティ・ポリシを判定する手段と、
セキュリティ・ポリシの前記組を実施する手段と、
前記決定的応答を前記トークン・サービス・アプリケーションに返す手段と
を含む、一様なセキュリティ・アプリケーション・アーキテクチャ。
【請求項６０】
前記許可要求が、少なくとも１つの命令ステップを含む請求項５９に記載のシステム。
【請求項６１】
前記決定的応答が、トークン・セキュリティ・サービス・アプリケーションのアドレスを含む請求項５９に記載のシステム。
【請求項６２】
前記トークン・サービス・アプリケーションが、さらに、セキュリティ・ポリシの前記組の前記少なくとも一部に従って、前記トークン・セキュリティ・サービス・アプリケーションと直接に通信する手段を含む請求項６１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはデータ処理システム、方法、およびコンピュータ・プログラム製品に関し、より具体的には一様なセキュリティ・トークン・アーキテクチャ（uniform security token architecture）を実装するフレームワークに関する。
【背景技術】
【０００２】
セキュリティ・トークンに使用されるアプリケーション開発は、最近まで、特定のセキュリティ・トークン・プラットフォームで実行されるように設計された非常にカスタマイズされたプログラムを必要とした。当初は、トークン発行者が、セキュリティ・トークンに含まれるアプリケーションの開発および提供のすべての態様を制御したので、クロス・プラットフォーム・サポートまたはマルチアプリケーション・サポートには、労力がほとんど注ぎ込まれなかった。この状況は、マルチアプリケーション・セキュリティ・トークンのより新しい世代が使用可能になった時に、多少変化した。このセキュリティ・トークンのより新しい世代では、Ｊａｖａ（商標）またはＶｉｓｕａｌ  Ｂａｓｉｃ（商標）などの高水準プログラミング言語をセキュリティ・トークン・アプリケーションの開発に使用できるようにすることによって、より高い柔軟性がもたらされた。高水準プログラミング言語を使用することによって、セキュリティ・トークン・アプリケーションの開発が大幅に単純化され、クロス・プラットフォーム・サポートの機構が提供された。
【０００３】
しかし、サード・パーティ・アプリケーションを含めることを容易にしたマルチアプリケーション・セキュリティ・トークンの実現は、アプリケーション開発の標準規格がないこととトークン発行者のセキュリティの懸念に部分的に起因して、なかなか受け入れられなかった。これらおよび他の不足に対処するために、ＧｌｏｂａｌＰｌａｔｆｏｒｍと称する業界団体が形成された。ＧｌｏｂａｌＰｌａｔｆｏｒｍは、それ以来、ＧｌｏｂａｌＰｌａｔｆｏｒｍ  Ｃａｒｄ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（その最新版が、２００１年６月４日公開のバージョン２．１である）を含む複数の標準規格を開発してきた。
【０００４】
ＧｌｏｂａｌＰｌａｔｆｏｒｍ  Ｃａｒｄ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ２．１によって、セキュリティ・トークンに常駐する複数のアプリケーションがサポートされ、安全な形でリソースを共用する機構が含まれ、アプリケーションをセキュリティ・トークンにロードし、インストールする機構が標準化されている。この仕様を実装するために、セキュリティ・トークンの内部に、集中管理配置がインストールされる。この集中管理配置は、セキュリティ・トークン発行者によって制御され、セキュリティ・トークン発行者に関連するものであるか否かを問わず、発行後のすべてのアプリケーションに対する完全な制御を提供する。ＧｌｏｂａｌＰｌａｔｆｏｒｍには、サード・パーティが所有するアプリケーションのロード、インストール、または削除などの、承認され、事前に許可されたトークン内容の変更を実行するために、トークン発行者からサード・パーティ・アプリケーション・プロバイダにある種のトークン管理態様を委譲する能力が含まれる。このトークン発行者中心の手法が、ＧｌｏｂａｌＰｌａｔｆｏｒｍの創立メンバのうちの一社であるＶｉｓａ  Ｉｎｔｅｒｎａｔｉｏｎａｌ，Ｉｎｃ．に譲渡された米国特許第６００５９４２号および米国特許第６２３３６８３号に記載されている。
【特許文献１】米国特許第６００５９４２号
【特許文献２】米国特許第６２３３６８３号
【非特許文献１】ＩＳＯ／ＩＥＣ  ７８１６−４、“Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｔｏｋｅｎｓ  −  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ（ｓ）  ｔｏｋｅｎｓ  ｗｉｔｈ  ｃｏｎｔａｃｔｓ  −  Ｐａｒｔ  ４：  Ｉｎｔｅｒｉｎｄｕｓｔｒｙ  ｃｏｍｍａｎｄｓ  ｆｏｒ  ｉｎｔｅｒｃｈａｎｇｅ”
【非特許文献２】“Ｊａｖａ  ＣａｒｄTM  ２．２  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ”
【非特許文献３】“Ｊａｖａ  ＣａｒｄTM  ２．２  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  （ＪＣＲＥ）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”
【発明の開示】
【発明が解決しようとする課題】
【０００５】
多くの商業的展開で有利ではあるが、ＧｌｏｂａｌＰｌａｔｆｏｒｍの発行者中心モデルは、非加盟アプリケーション・プロバイダが、割り当てられたセキュリティ・ドメインに固有のセキュリティ・ポリシを構成し、維持することを望む場合の対策に適しない。このタイプの展開では、非加盟アプリケーション・プロバイダのセキュリティ・ポリシが、ＧｌｏｂａｌＰｌａｔｆｏｒｍの要求する発行者中心セキュリティ・ポリシと非互換である場合がある。
【０００６】
関連技術、特にＪａｖａＣａｒｄ（商標）オペレーティング環境でのもう１つの制限が、セキュリティ・サービス・アプリケーション設計の標準規格がないことであり、これは、アプリケーションのインターオペラビリティと、アプリケーション・レベルまたはセキュリティ・ドメインでのセキュリティ・ポリシの実施に影響する。
【０００７】
これは、関連技術での大きい制限である。というのは、トークン・セキュリティ・サービスが、トークン・アプリケーション管理と混合され、セキュリティ・ポリシを維持するのが困難になり、共通コードのスケーラビリティが制限され、スペース利用に関して非効率的であり、使用可能なトークン・リソースの一貫性のない使用に起因してアプリケーション間のインターオペラビリティが潜在的に低下する可能性があるからである。
【０００８】
最後に、関連技術での最後の大きい制限が、認証および安全なメッセージング・アプリケーションなどのセキュリティ・サービス・アプリケーションの追加または置換が困難であることである。トークン・サービス・アプリケーションは、共用可能なインターフェース・オブジェクトによってトークン・セキュリティ・サービス・アプリケーションへの依存性を確立する。これらの依存性によって、トークン・セキュリティ・サービス・アプリケーションを簡単に置換する能力が制限される。というのは、トークン・サービス・アプリケーションと新しいトークン・セキュリティ・サービス・アプリケーションの両方を再インストールしなければ、依存するトークン・サービス・アプリケーションが、新しいセキュリティ・サービス・アプリケーションにリンクされないからである。さらに、セキュリティ・トークンが発行された後のタスクの置換および再インストールがかなり困難になることである。後に保管されたセキュリティ・データが失われるか破壊される可能性があるからである。
【課題を解決するための手段】
【０００９】
本発明は、上で説明した制限に対処し、セキュリティ・トークン・アーキテクチャを提供する。本セキュリティ・トークン・アーキテクチャは、既存データの消失がなく、セキュリティ・サービス・アプリケーション・モジュールによってサービスされる既存アプリケーションの再インストールを必要としないモジュラー・セキュリティ・アプリケーション・インストールをサポートし、認証および安全なメッセージングなどのクリティカルなセキュリティ・トークン・サービスへの一貫性がある一様なインターフェースを提供しれ、セキュリティ・ポリシのアプリケーション・レベルの管理および構成を提供する。したがって、ソース・コードの冗長性が最小になり、クリティカルなストレージ・スペースが他の用途に解放される。
【００１０】
用語「セキュリティ・トークン」は、本明細書での定義では、セキュリティ・トークン、集積回路トークン、加入者識別モジュール（subscriber identification module：ＳＩＭ）、無線識別モジュール（wireless identification module：ＷＩＭ）、ＵＳＢトークン・ドングル（ＵＳＢ token dongle）、識別トークン、安全応用モジュール（secure application module：ＳＡＭ）、ハードウエア・セキュリティ・モジュール（hardware security module：ＨＳＭ）、安全なマルチメディア・トークン（secure multi-media token：ＳＭＭＣ）、および類似物などのハードウェアベースのセキュリティ・デバイスを指す。
【００１１】
セキュリティ・トークン・アーキテクチャは、参照として含まれる国際規格、ＩＳＯ／ＩＥＣ  ７８１６−４、“Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｔｏｋｅｎｓ  −  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ（ｓ）  ｔｏｋｅｎｓ  ｗｉｔｈ  ｃｏｎｔａｃｔｓ  −  Ｐａｒｔ  ４：  Ｉｎｔｅｒｉｎｄｕｓｔｒｙ  ｃｏｍｍａｎｄｓ  ｆｏｒ  ｉｎｔｅｒｃｈａｎｇｅ”に準拠する。
【００１２】
用語「セキュリティ・ドメイン」は、セキュリティ・トークン内に既に存在する他のセキュリティ・ポリシとは別に、セキュリティ・ポリシがアプリケーション・プロバイダのワークスペース内で内部的に構成され、維持され、実施されるアプリケーション・プロバイダに、アプリケーションのインストールと実行のために割り振られる、セキュリティ・トークン内の１つまたは複数の論理ワークスペースまたは物理ワークスペースを指す。
【００１３】
セキュリティ・ドメイン制御サービス・アプリケーションは、ランタイム・オペレーティング環境から伸び、かつ、トークンのランタイム・オペレーティング環境と、関連するセキュリティ・ドメイン内にインストールされた一連のセキュリティ・アプリケーション・モジュールとの間で一様なセキュリティ・アプリケーション・プログラミング・インターフェース（ＡＰＩ）を提供する。セキュリティ・ドメイン制御サービス・アプリケーションは、発行者レベルまたは管理レベルのセキュリティ・ポリシに頼るのではなく、セキュリティ・ドメイン・レベルのセキュリティ・ポリシを提供し、実現するように設計される。
【００１４】
参照として含まれる“Ｊａｖａ  ＣａｒｄTM  ２．２  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ”に記載のＪａｖａ  Ｃａｒｄ（商標）に実装されるＪａｖａ（商標）を使用する、事後インストールと後方互換性のためのオブジェクト指向フレームワークが想定されている。本発明のもう１つの実施態様では、セキュリティ・ドメイン制御サービス・アプリケーションが、トークン・プロセッサのネイティブ・コード言語で記述され、トークン製造業者によってインストールされる。Ｗｉｎｄｏｗｓ（登録商標）  ｆｏｒ  Ｓｍａｒｔ  Ｃａｒｄｓ（商標）を使用する仮想マシン・トークンに適応可能な他の実施態様も、本発明に含まれる。
【００１５】
セキュリティ・ドメイン制御サービス・アプリケーションには、アクセス制御ルールの組、アンロック制御ルールの組、ロック制御ルールの組、アカウンティング・データ、および１つまたは複数のレジストリが含まれる。レジストリには、インストールされたセキュリティ・アプリケーション・モジュールごとのアプリケーション識別子（ＡＩＤ）と、特定のセキュリティ・ドメインに関連するセキュリティ要件の現在の状態が格納される。セキュリティ・ドメインにインストールされたセキュリティ・モジュールから使用可能なセキュリティ・サービス、使用法判断基準、役割、アクティブにされたコンポーネント、および管理情報の要約を提供するオプション・パラメータをレジストリに格納することができる。将来のスペースおよびアクセスの最適化を可能にするために、単一のまたは複数のレジストリが想定されている。セキュリティ・ドメイン制御サービス・アプリケーションは、インターフェース・モジュールを介して準拠アプリケーションと通信し、このインターフェース・モジュールは、インストールされたセキュリティ・ドメイン・アプリケーションの特定の機能をサポートするようにカスタマイズされる。
【００１６】
各インターフェース・モジュールには、関連するアプリケーションの機能に固有のセキュリティ・ドメイン制御サービス・アプリケーションと通信するのに使用されるルーチンおよびライブラリ関数の集合が含まれる。セキュリティ・ドメイン制御サービス・アプリケーションとセキュリティ・アプリケーションの間の通信に、トランザクションの許可されない監視をさらに防止するために、暗号メソッドを含めることができる。本発明の好ましい実施態様では、インターフェース・モジュールは、セキュリティ・トークンへのインストールの時にセキュリティ・アプリケーションに組み込まれ、またはリンクされる。
【００１７】
セキュリティ・アプリケーションの３つの基本カテゴリに、トークン・サービス、トークン・セキュリティ管理サービス、およびトークン・セキュリティ・サービスが含まれ、これらは以下で説明される。
【００１８】
トークン・サービス・アプリケーションは、要求されたトランザクションの実行の前の安全なメッセージングおよび／または認証の形の、ある形のセキュリティ手段を必要とするアプリケーションである。トークン・サービス・アプリケーションは、セキュリティ・ドメイン制御サービス・アプリケーションによってサービスされる実際のクライアントである。トークン・サービス・アプリケーションの例が電子財布であり、その電子財布の中に格納された電子資金へのアクセスが許可される前に個人識別番号（ＰＩＮ）の形のユーザ認証を必要とする。トークン・サービス・アプリケーションの他の一般的な例に、暗号鍵の使用、情報の安全なストレージ、およびロイヤリティ・クレジットの管理が含まれる。トークン・サービス・アプリケーションの複数のインスタンスが特定のセキュリティ・ドメイン内に存在することができる。
【００１９】
各トークン・サービス・アプリケーションに、事前に確立されるコマンドおよびそれに関連するアクセス制御ルールへの参照が含まれ、このコマンドおよび参照は、セキュリティ・ドメイン制御サービス・アプリケーションによって維持され、実施される。事前に確立されるコマンドに、セキュリティ・ドメイン制御サービス・アプリケーションに転送されるデータを含めることができ、あるいは、コマンド・ヘッダ内の適用可能な命令ステップだけを含むように、事前に確立されるコマンドを最小化することができる。
【００２０】
これらの参照は、セキュリティ・ドメイン制御サービス・アプリケーションによって、トランザクションを成功裡に実行するためにトークン・サービス・アプリケーションに必要なセキュリティ前提条件を判定するのに使用される。既存アプリケーションとの後方互換性を提供するために、実際のアクセス制御ルールをトークン・サービス・アプリケーションと共に含めることもできる。アクセス制御ルールをインターフェース・モジュールに関連付けることができ、あるいは、各トークン・サービス・アプリケーションに直接にリンクさせることができる。
【００２１】
代替案では、セキュリティ・アプリケーション識別子を、セキュリティ・ポリシ実施の一部として、セキュリティ・ドメイン制御サービス・アプリケーションから要求元サービス・アプケーションに返すことができる。本発明のこの実施態様では、要求元セキュリティ・アプリケーションが、返されたアプリケーション識別子を使用して、セキュリティ・アプリケーションを直接に呼び出す。
【００２２】
アクセス制御ルールによって、セキュリティ機能の処理でトークン・サービス・アプリケーションを使用する前に満足されなければならない必要なセキュリティ・ポリシが定義される。たとえば、上で説明した電子財布に関して敷衍すると、１組のアクセス制御ルールによって、電子財布に含まれる資金へのアクセスが許可される前に、ＰＩＮまたはバイオメトリック認証を要求することができる。本発明の好ましい実施態様では、呼出し側トークン・サービス・アプリケーションが、適当なアクセス制御ルールに対応する参照をセキュリティ・ドメイン制御サービス・アプリケーションに送って、要求元サービス・アプリケーションが必要とするセキュリティ状態を判定する。アクセス制御ルールには、論理ＡＮＤ、論理ＯＲ、または論理ＮＵＬＬ（なし）が含まれる。
【００２３】
トークン・セキュリティ管理サービス・アプリケーションによって、特定のセキュリティ・ドメインに関して規定されるセキュリティ・ポリシの定義、構成、および管理のための、レジストリ、アクセス制御ルール、アンロック制御ルール、およびアカウンティング・データに関連するパラメータへのアクセスが提供される。したがって、各アプリケーション・プロバイダは、それ自体のセキュリティ・ポリシにアクセスし、管理することができるが、他のセキュリティ・ドメインにインストールされた他の実体のセキュリティ・ポリシ、パラメータ、およびルールのアクセスまたは変更を禁止される。本発明の好ましい実施態様では、トークン・セキュリティ管理サービス・アプリケーションが、別々のアプリケーション・モジュールである。しかし、本発明では、クリティカルなストレージ・スペースを節約し、実行速度を改善するために、トークン・セキュリティ管理サービス・アプリケーションの機能性を、セキュリティ・ドメイン制御サービス・アプリケーションに組み込めることも想定されている。さらに、１つまたは２つのトークン・セキュリティ管理サービス・アプリケーションを、各セキュリティ・ドメインにインストールできることも想定されている。
【００２４】
トークン・セキュリティ・サービス・アプリケーションによって、アプリケーション・レベルの認証が実行され、必要な許可が検証され、安全なメッセージング・セッションが確立され、維持される。トークン・セキュリティ・サービス・アプリケーションによって、アクセス制御ルールの関連する組に従って、トークン・サービス・アプリケーションが必要とする前提条件セキュリティ状態が確立される。１つまたは複数のトークン・セキュリティ・サービス・アプリケーションの実行の最終結果がレジストリに記録され、その結果を、事前定義のアプリケーション・レベル・セキュリティ・ポリシの実施に使用する。トークン・セキュリティ・サービス・アプリケーションの例に、個人識別番号（ＰＩＮ）を使用する認証、バイオメトリックスを使用する認証、ＩＰｓｅｃ、ＳＳＬ、ＴＬＳ、ＷＡＰなどを使用する安全なメッセージングが含まれる。本発明の好ましい実施態様では、外部サポート要件を最小にするために、制限されたＰＩＮアンロック機能およびバイオメトリック・アンロック機能が、トークン・セキュリティ・サービス・アプリケーションを介して使用可能である。トークン・セキュリティ・サービス・アプリケーションの複数のインスタンスを所与のセキュリティ・ドメインにインストールして、従来のおよびこれから現れる認証技法を達成することが想定されている。
【００２５】
セキュリティ・アプリケーション（トークン・サービス、トークン・セキュリティ管理サービス、およびトークン・セキュリティ・サービス）のすべてが、下記のアドレッシング・フォーマットの１つまたは複数を使用して、外部リソースによって直接にアドレッシング可能である。
ＡＰＤＵ、ＩＮＳ、オブジェクト識別子
ＡＰＤＵ、ＩＮＳ、ＡＩＤ
メソッド識別子、オブジェクト識別子
ここで、ＡＰＤＵは、アプリケーション・プロトコル・データ・ユニット、ＩＮＳは命令バイト、ＡＩＤは、アプリケーション識別子、メソッド識別子およびオブジェクト識別子は、Ｊａｖａ  Ｃａｒｄ（商標）２．２リモート・メソッド呼出し（ＲＭＩ）サービスを使用する実装に対する暗黙の参照である。 
【００２６】
各セキュリティ・アプリケーションは、セキュリティ・コマンドの実行に続いてレジストリ内の関連するセキュリティ状態を更新するように設計される。セキュリティ・アプリケーションのモジュール的な性質によって、依存性を再構成する必要なしに、モジュラー・セキュリティ・アプリケーションの基本的な組を拡張することができる。
【００２７】
トークンのランタイム・オペレーティング環境によって、エラー・トラップ機能、リカバリ機能、およびさまざまなアプリケーションと外部リソースの間のメッセージ・ルーティング機能が提供される。各セキュリティ・アプリケーションは、トークンのランタイム・オペレーティング環境に登録され、その一意のアプリケーション識別子（ＡＩＤ）を使用して、ランタイム・オペレーティング環境によってアドレッシング可能である。本発明は、前述のＧｌｏｂａｌＰｌａｔｆｏｒｍ仕様に関連するコンポーネントを含む、他のＡＰＩレベル・アプリケーションと共存することができる。
【発明を実施するための最良の態様】
【００２８】
本発明の特徴および長所は、以下の詳細な説明から、添付図面と共に検討される時に明白になる。可能な場合には、同一の符号および文字を使用して、本発明の類似する特徴、要素、コンポーネント、または部分を示す。請求項で定義される本発明の真の範囲および趣旨から逸脱せずに、説明される実施形態に対して変更および修正を行えることが意図されている。
【００２９】
本発明は、既存データの消失がなく、セキュリティ・アプリケーション・モジュールによってサービスされる既存アプリケーションの再インストールを必要としないモジュラー・セキュリティ・アプリケーション・インストールをサポートするアプリケーション・レベルのセキュリティ・トークン・アーキテクチャを提供する。
【００３０】
本発明は、セキュリティ・アプリケーションの総合的なインターオペラビリティを改善し、セキュリティ・アプリケーション開発を単純にし、さらに、セキュリティ・ポリシのアプリケーション・レベルの管理と実施を提供する、より一様なセキュリティ・アプリケーション・プログラミング・インターフェースの提供という追加の特徴を有する。
【００３１】
図１に、共用可能なインターフェース８０がセキュリティ・サービス・アプリケーション４０に組み込まれている従来技術を示す。従来技術では、セキュリティ・サービス・アプリケーション４０および４０Ａと独立のトークン・サービス・アプリケーション３０、３０Ａ、３０Ｂとの間のメッセージングが、ランタイム・オペレーティング環境５によって達成される。ランタイム・オペレーティング環境５は、本質的にクライアント／サーバ関係において、指定された共用可能なインターフェース８０を使用しているアプリケーションの間でメッセージとデータをルーティングする。依存性７０Ａ、７０Ｂ、７０Ｃ、７０Ｄが破線で示されている。この単純化された例では、ＰＩＮセキュリティ・サービス・アプリケーション４０が除去されると、トークン・サービス・アプリケーション３０、３０Ａ、３０Ｂに関連するすべてのデータへのアクセスを含めて、共用可能なインターフェース８０およびクライアント依存性７０Ａ、７０Ｂ、７０Ｃ、７０Ｄが失われる。また、セキュリティ・サービス・アプリケーション４０および４０Ａは、セキュリティ・トークン発行者によって所有され、管理される場合があるが、このセキュリティ・トークン発行者は、トークン・サービス・アプリケーション３０、３０Ａ、３０Ｂのプロバイダのセキュリティ・ポリシと必ずしも互換でないセキュリティ・ポリシのアクセスおよび構成を許容する。１つの共用可能なインターフェースだけが示されているが、当業者は、複数の関係を有する複数の共用可能なインターフェースが存在できることを諒解するであろう。
【００３２】
図２に、共用可能なインターフェース８０がセキュリティ・ドメイン制御サービス・アプリケーション１０に組み込まれる、本発明のアーキテクチャの１実施形態を示す。共用可能なインターフェース８０をセキュリティ・ドメイン制御サービス・アプリケーション１０に再配置することによって、トークン・セキュリティ管理サービス・アプリケーション３５と、セキュリティ・サービス・アプリケーション４０、４０Ａ、４０Ｂと、トークン・サービス・アプリケーション３０、３０Ａ、３０Ｂが互いに独立になり、既存のインターフェース依存性７０Ａ、７０Ｂ、７０Ｃ、７０Ｄ、７０Ｅ、７０Ｆ、７０Ｇの中断なしに３種類のセキュリティ・アプリケーションのすべての除去、置換および／または追加が容易になる。
【００３３】
本発明のアーキテクチャを用いると、各アプリケーション３０、３０Ａ、３０Ｂ、３５、４０、４０Ａ、４０Ｂに固有のセキュリティ・ポリシ６０の構成および実施が可能になり、本発明のアーキテクチャは、セキュリティ・ドメイン５０の所有者によって管理可能である。各トークン・セキュリティ・アプリケーションは、ＩＤ１  １０５、ＩＤ２  １０５Ａ、ＩＤ３  １０５Ｂ、ＩＤ４  １１５、ＩＤ５  １１５Ａ、ＩＤ６  １１０、ＩＤ７  １２５、およびＩＤ８  １１５Ｂとして示された一意のアプリケーション識別子（ＡＩＤ）を使用して外部からアドレッシング可能である。
【００３４】
ランタイム・オペレーティング環境５は、トークン・セキュリティ・アプリケーションの下の層として示されている。トークン・セキュリティ・アプリケーションの３つの基本的なタイプに、トークン・サービス・アプリケーション３０、トークン・セキュリティ管理サービス・アプリケーション３５、およびトークン・セキュリティ・サービス・アプリケーション４０が含まれる。セキュリティ・アプリケーションのアドレッシングは、従来のＡＰＤＵメッセージングを使用することによって明示的に、またはリモート・メソッド呼出し（ＲＭＩ）によって暗示的に達成することができ、この両方が、ＪＣＲＥ  ｖｅｒｓｉｏｎ  ２．２によってサポートされる。“Ｊａｖａ  ＣａｒｄTM  ２．２  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  （ＪＣＲＥ）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”は、参照として本明細書に含まれる。
【００３５】
さらに、各トークン・セキュリティ・アプリケーションに、一方または両方のアプリケーション・プロトコル・データ・ユニット（ＡＰＤＵ）に組み込まれるか、リモート・メソッド呼出し（ＲＭＩ）を使用して呼出し可能である事前に確立された参照が含まれる。この参照は、セキュリティ・ドメイン制御サービス・アプリケーション１０によって維持され、実施されるセキュリティ・ポリシ６０を指す。参照は、セキュリティ・ドメイン制御サービス・アプリケーション１０によって、トランザクションを成功裡に実行するためにトークン・セキュリティ・アプリケーションについて必要なセキュリティ前提条件を判定するのに使用される。リモート・メソッド呼出しを使用する時に、ＡＰＤＵに、リモート・オブジェクト識別子、メソッド識別子が含まれ、受取り側セキュリティ・アプリケーションに渡されるすべてのパラメータが含まれる。事前に確立されるコマンドおよびセキュリティ・ポリシの実装のより詳細な説明は、図６から１４の説明で与える。
【００３６】
トークン・サービス・アプリケーション３０は、要求されたトランザクションの実行の前の、あるタイプのセキュリティ・ポリシ６０の実装を一般に必要とするアプリケーションである。このタイプのアプリケーションは、セキュリティ・ドメイン５０の内部にインストールされる、最も一般的なタイプのアプリケーションであると想定される。トークン・サービス・アプリケーションの例に、電子財布、信任証検証アプリケーション、個人情報の安全なストレージ、およびロイヤリティ・クレジットの管理が含まれる。
【００３７】
トークン・セキュリティ管理サービス・アプリケーション３５を用いると、セキュリティ・ポリシ、パラメータ、論理ベースのルール、トランザクション・アカウンティング、インストールされたアプリケーションの登録および登録解除、および、セキュリティ・ドメイン制御サービス・アプリケーション１０に含まれる他の管理パラメータの作成および維持が可能になる。このタイプのアプリケーションは、セキュリティ・ドメイン５０にインストールされる、最も一般的でないタイプのアプリケーションであり、セキュリティ・ドメイン５０にインストールされた各準拠セキュリティ・アプリケーションに関連するセキュリティ・ポリシ、パラメータ、ルール、および管理情報への特定の認証されたアクセスを提供する。
【００３８】
したがって、各アプリケーション・プロバイダは、それ自体のアプリケーションにアクセスし、管理することができるが、セキュリティ・トークンに存在する他のセキュリティ・ドメインの内部にインストールされた他の実体のセキュリティ・ポリシ、パラメータ、およびルールのアクセスまたは変更を禁止される。
【００３９】
トークン・セキュリティ管理サービス・アプリケーション３５は、別々のアプリケーションとして図示されているが、管理サービス・アプリケーション３５の機能性をセキュリティ・ドメイン制御サービス・アプリケーション１０に組み込んで、クリティカルなストレージ・スペースを節約し、実行速度を改善することができることも、本発明人によって想定されている。
【００４０】
トークン・セキュリティ・サービス・アプリケーション４０によって、認証、安全なメッセージング４０Ａ、および許可機能４０Ｂが実行される。このタイプのアプリケーションは、セキュリティ・ドメイン５０にインストールされる、２番目に一般的なタイプのプログラムになると予想される。トークン・セキュリティ・サービス・アプリケーションが、トークン・サービス・アプリケーション３０によって要求され、トークン・セキュリティ管理サービス・アプリケーション３５を使用してセットされる前提条件セキュリティ状態を確立する。１つまたは複数のトークン・セキュリティ・サービス・アプリケーション４０の実行の最終結果が、レジストリに記録され、セキュリティ・ポリシ６０による規定に従って、セキュリティ・ドメイン制御サービス・アプリケーション１０によって実施される。
【００４１】
トークン・セキュリティ・サービス・アプリケーションの例に、個人識別番号（ＰＩＮ）を使用する認証、バイオメトリックスを使用する認証、ＩＰｓｅｃ、ＳＳＨ、ＳＳＬ、ＴＬＳ、ＷＡＰなどを使用する安全なメッセージング、および少なくとも１組のルールに対する内部および外部の判断基準の検証の実体が含まれる。本発明の好ましい実施形態では、外部サポートまたは「ヘルプ・デスク」の要件を最小にするために、制限されたＰＩＮアンロック機能およびバイオメトリック・アンロック機能が、トークン・セキュリティ・サービス・アプリケーションを介して使用可能である。
【００４２】
クライアント・セキュリティ・アプリケーション３０、３０Ａ、３０Ｂ、３５、４０、４０Ａ、４０Ｂのそれぞれを、インターフェース１５、１５Ａ、１５Ｂ、２０、２５、２５Ａ、２５Ｂに関連付けることができる。点線で示されたインターフェースによって、サーバ・セキュリティ・ドメイン制御サービス・アプリケーション１０との通信にクライアント・セキュリティ・アプリケーションによって使用されるルーチンおよびライブラリ関数の集合が提供される。本発明の好ましい実施形態では、インターフェース１５、１５Ａ、１５Ｂ、２０、２５、２５Ａ、２５Ｂが、セキュリティ・トークンにロードされる時に、セキュリティ・アプリケーション３０、３０Ａ、３０Ｂ、３５、４０、４０Ａ、４０Ｂに組み込まれるかリンクされる。後方互換性のために、インターフェースを、別々のモジュールとしてインストールすることができる。
【００４３】
セキュリティ・アプリケーション３０、３０Ａ、３０Ｂ、３５、４０、４０Ａ、４０Ｂのそれぞれは、そのセキュリティ・アプリケーションのタイプに固有のインターフェース・モジュールのコピーまたはインスタンスを使用して、セキュリティ・ドメイン制御サービス・アプリケーション１０と通信する。インターフェースのタイプによって、セキュリティ・ドメイン制御サービス・アプリケーション１０またはランタイム・オペレーティング環境のいずれかで使用可能なさまざまなエントリ・ポイントおよびサービスへのアクセスが制御される。
【００４４】
セキュリティ・ドメイン制御サービス・アプリケーション１０は、トークンのランタイム・オペレーティング環境と、セキュリティ・ドメイン５０内にインストールされたセキュリティ・アプリケーション１０、３０、３０Ａ、３０Ｂ、３５、４０、４０Ａ、４０Ｂの間の一様なセキュリティ・アプリケーション・プログラミング・インターフェース（ＡＰＩ）を提供する。セキュリティ・ドメイン制御サービス・アプリケーション１０は、セキュリティ・トークン発行者によって確立される「汎用」セキュリティ・ポリシに頼るのではなく、アプリケーション・レベルのセキュリティ・ポリシ６０を提供し、実施するように設計される。
【００４５】
セキュリティ・ドメイン制御サービス・アプリケーション１０のためのオブジェクト指向フレームワークが、Ｊａｖａ  Ｃａｒｄｓ（商標）を使用する発行後のインストールおよび後方互換性に対して想定される。本発明のもう１つの実施形態では、セキュリティ・ドメイン制御サービス・アプリケーション１０が、トークン・プロセッサのネイティブ・コード言語で記述され、トークン製造業者によってインストールされる。本発明は、ＧｌｏｂａｌＰｌａｔｆｏｒｍ仕様に関連するコンポーネントを含む、他のＡＰＩレベル・アプリケーションと共存することが意図されている。ＧｌｏｂａｌＰｌａｔｆｏｒｍは、本発明の実施に必要ではない。
【００４６】
図３には、複数のセキュリティ・ドメイン５０Ａ、５０Ｂ、５０Ｃがセキュリティ・トークンの中にインストールされる、本発明の通常の実施形態が示されている。別々のセキュリティ・ドメイン内のセキュリティ・アプリケーション間のインターオペラビリティを可能にするために、各セキュリティ・ドメインが、それ自体を別のセキュリティ・ドメインに登録することができる。
【００４７】
図４に、前提条件セキュリティ・アプリケーションがセキュリティ・ドメイン制御サービス・アプリケーション１０に組み込まれる、本発明の代替実施形態が示されている。本発明のこの実施形態では、トークン・セキュリティ管理サービス・アプリケーション３５、ユーザＰＩＮ認証に関連するトークン・セキュリティ・サービス・アプリケーション４０、および安全なメッセージングに関連する少なくとも１つのトークン・セキュリティ・サービス・アプリケーション４０Ｃが、１つまたは複数のトークン・サービス・アプリケーション３０、３０Ａ、３０Ｂの成功裡の実行に対する前提条件として必ず要求されることが考慮に入れられる。セキュリティ・ドメイン制御サービス・アプリケーション１０への２つのセキュリティ・アプリケーションの統合によって、本発明の機能性が著しく変更はされないが、限られたメモリ・ストレージ節約および改善された実行速度がもたらされる場合がある。
【００４８】
図５を参照すると、実施されるセキュリティ・ポリシ６０にセキュリティ・ドメイン制御サービス・アプリケーション１０が関連させられている。セキュリティ・ポリシ６０は、レジストリ２０５、アクセス制御ルール２１０、アンロック制御ルール２１５、ロック制御ルール２２０、セキュリティ制御メソッド２８０、許可ルール２７０、およびアカウンティング・データ２２５を含む。レジストリ２０５には、インストールされたセキュリティ・アプリケーション３０、３５、４０に関連する複数のセキュリティ・パラメータが含まれる。将来の開発および最適化を可能にするために、単一のまたは複数のレジストリ２０５が想定されている。アクセス制御ルール２１０には、セキュリティ・ドメイン制御サービス・アプリケーション１０によって実施される認証および安全なメッセージングに関連するセキュリティ要件が含まれる。
【００４９】
アンロック制御ルール２１５には、信任証または暗号鍵のアンロックのために、セキュリティ・ドメイン制御サービス・アプリケーション１０によって実施されるセキュリティ・ポリシが含まれる。ロック制御ルール２２０には、信任証または暗号鍵の使用を防ぐために、セキュリティ・ドメイン制御サービス・アプリケーション１０によって実施されるセキュリティ・ポリシが含まれる。セキュリティ制御メソッド２８０によって、認証または安全なメッセージングなどのある種のタスクを達成するのに必要なパラメータを維持し、特定のアクセス・ルールまたはアンロック制御ルールに関連付ける機構が提供される。セキュリティ制御メソッド２８０によって、許可ルール２７０を全体的なセキュリティ・ポリシに組み込むことも可能になる。許可ルール２７０は、セキュリティ・ポリシを、通常はレジストリの一部として維持されない他のパラメータまたは状態に拡張する形として提供される。
【００５０】
アカウンティング・データ２２５には、特定のセキュリティ・ドメイン５０に関連するセキュリティ・ポリシの構成および管理で使用するために、トークン・セキュリティ管理サービス・アプリケーション３５によってアクセス可能な管理パラメータおよび情報が含まれる。
【００５１】
パラメータのタイプ、データ構造、および他のパラメータに関する機能的関係を変更して、特定のセキュリティ・ポリシを達成できることを当業者は諒解するであろう。図に示されたパラメータ、構造、および機能的関係は、例示のみとして意図されたものである。これらの例から、本発明の制限を解釈してはならない。
【００５２】
図６に、事前定義のセキュリティ・ポリシの組へ事前に確立される参照の例を示す。説明を単純にし、本発明の理解を簡単にするために、実際のＡＰＤＵフォーマットおよび／またはｊａｖａメソッドおよびオブジェクト識別子は除外した。トークン・サービス・アプリケーション３０およびトークン・セキュリティ管理サービス・アプリケーション３５に関連する楕円に含まれるコードは、図１０、１１、１２に示された論理ベース・ルールを指し、トークン・セキュリティ・サービス・アプリケーション４０に関連する楕円に含まれるコードは、図１３および１４に示された許可ルールおよびセキュリティ制御メソッドを指す。
【００５３】
たとえば、トークン・サービス・アプリケーション３０は、アクセス制御ルールを表す２つの事前に確立される参照２０２に関連して示されている。実際には、楕円に含まれるコードによって指定される、特定のアプリケーションから使用可能な異なる関数への複数の事前に確立される参照がある場合がある。参照２０２は、直接にトークン・サービス・アプリケーション３０にリンクされる、または図２に示されたインターフェース・モジュール１５に組み込まれるものとすることができる。後方互換性のために、参照ではなく実際のアクセス制御ルールを、トークン・サービス・アプリケーション３０またはインターフェース１５のいずれかに含めることができる。
【００５４】
トークン・セキュリティ管理サービス・アプリケーション３５に関連する参照２０４によって、信任証および暗号鍵のアンロック・ルール、アクセス制御ルール、ロック制御ルール、およびアカウンティング・データに対して管理タスクを実行できる。本発明の好ましい実施形態では、トークン・セキュリティ管理サービス・アプリケーション３５が、レジストリ、信任証および暗号鍵のアンロック・ルール、アクセス制御ルール、ロック制御ルール、セキュリティ制御メソッド、許可ルール、およびアカウンティング・データの完全な編集機能を有する。参照２０４は、直接にトークン・セキュリティ管理サービス・アプリケーション３５にリンクするか、図２に示されたインターフェース・モジュール２０に組み込むことができる。後方互換性のために、参照ではなく実際のアクセス制御ルールを、トークン・サービス・アプリケーション３５またはインターフェース２０のいずれかに含めることができる。
【００５５】
トークン・セキュリティ・サービス・アプリケーションに関連する参照２０６は、認証を実行し、安全なメッセージングを確立し、許可状態を検証し、および制限された信任証アンロック機能を果たすために使用される。図１４に示されたセキュリティ制御メソッドへの参照２０６は、トークン・セキュリティ・サービス・アプリケーション４０に直接にリンクするか、図２に示されたインターフェース・モジュール２５に組み込むことができる。後方互換性のために、参照ではなく実際のアクセス制御ルールを、トークン・サービス・アプリケーション４０またはインターフェース２５のいずれかに含めることができる。参照２０２、２０４、０６は、従来のＡＰＤＵコマンド・フォーマットで存在するか、リモート・メソッド呼出しサービスと共に使用するのに必要なリモート・オブジェクトおよびメソッドの識別子フォーマットで存在することができる。
【００５６】
図７を参照すると、トークン・サービス・アプリケーション３０が、クラスの必須ヘッダ情報（ＣＬＳ）、命令ステップＩＮＳ、およびパラメータ・バイト（Ｐ１、Ｐ２）だけを含む最小限のＡＰＤＵを転送する、本発明の代替実施形態が示されている。この配置では、インターフェース要件が単純化され、セキュリティ・アプリケーションの間の通信効率が改善される。本発明のこの実施形態では、サービスの要求２２３によって、トークン・サービス・アプリケーションに、本質的に命令ステップＩＮＳ［００］  ２０８ＡからなるＡＰＤＵをセキュリティ・ドメイン制御サービス・アプリケーション１０に送らせる２２７。セキュリティ・ドメイン制御サービス・アプリケーション１０によって、受け取られた命令ステップＩＮＳ［００］  ２０８Ａに基づいて、適用可能なセキュリティ・ポリシ２０８Ｂを実施するかどうかが判定される。判定されたセキュリティ・ポリシが、トークン・セキュリティ・サービス・アプリケーション４０Ａに対して実施２３２される。
【００５７】
図８を参照すると、図７について説明した発明的実施形態の変形態様が示されている。本発明のこの実施形態では、サービスの要求２２３によって、トークン・サービス・アプリケーションに、本質的に命令ステップＩＮＳ［００］  ２０８ＡからなるＡＰＤＵを、前と同様にセキュリティ・ドメイン制御サービス・アプリケーション１０に送らせる２２７。しかし、本発明のこの実施形態では、セキュリティ・ドメイン制御サービス・アプリケーション１０によって、適用可能なセキュリティ・ポリシ６０が判定され、適用可能なセキュリティ・ポリシ６０によって指定されるトークン・セキュリティ・サービス・アプリケーション４０ＡのアドレスＡＩＤ［ＩＤ５］  ２３３を含むＡＰＤＵがトークン・サービス・アプリケーション３０に返される２３５。トークン・サービス・アプリケーション３０は、セキュリティ・ポリシ実施の一部として、トークン・セキュリティ・サービス・アプリケーション４０Ａを直接にアドレッシングする２３６。
【００５８】
図９を参照すると、一例としてのレジストリ２０５が示されており、このレジストリ２０５には、複数の別々のパラメータが含まれる。レジストリ２０５は、セキュリティ・ドメイン制御サービス・アプリケーションによって維持される。レジストリに含まれるパラメータの最初の組は、使用可能なトークン・サービス２０７に関係する。たとえば、認証（ＡＭ０、ＡＭ１）、安全なメッセージング（ＳＭ０、ＳＭ１）、電子財布（ＥＷ１）、管理サービス（ＡＤ１）、および外部情報（ＥＸ）である。別々の使用可能なアプリケーションを表す各別々の項目は、機能的に、関連するセキュリティ・ドメインにインストールされる。
【００５９】
各インストールされたアプリケーションに関連するのが一意のアプリケーション識別子ＩＤ  ２０９であり、これは、特定のアプリケーションをアドレッシングするのに使用される。任意選択であるが非常に望ましいパラメータに、使用可能なサービス・タイプＴｙｐｅ  ２１１の検索可能なリストが含まれ、たとえば、認証および安全なメッセージングなどのトークン・セキュリティ・サービスがＳＳによって表され、電子財布などのトークン・サービス・アプリケーションがＴＳによって表され、監査などのトークン管理サービスがＡＳとして表される。各登録されたアプリケーションのイネーブル状況が、２１３に示される。登録されたアプリケーションをイネーブルまたはディスエーブルする能力は、トークン管理サービス・アプリケーションを使用して、レジストリ２０５のこの部分に含まれる状況フラグ２１３を変更することによって実行される。登録されたアプリケーションが、イネーブル２１３されない場合には、そのアプリケーションは、動作を許可されない。
【００６０】
最後に、１つまたは複数のマルチファンクション・アプリケーションをインストールできることが想定されている。マルチファンクション・アプリケーションの各部分を制御するために、機能制御要素２６２の組が設けられる。機能制御要素には命令コード２６９が含まれ、この命令コード２６９は選択されたアプリケーションが実行される時に解釈される。図示の機能制御要素の数は例示にすぎない。
【００６１】
機能制御要素の実際の数は、インストールされるアプリケーションに応じて変化する可能性がある。本発明の伝統的な実施形態では、機能要素によって、標準命令バイトが使用され、あるいは、リモート呼出しサービスが使用される時には、機能制御要素によって、リモート・メソッド識別子およびリモート・オブジェクト識別子が使用される。
【００６２】
レジストリに含まれるパラメータの第２の組は信任証管理に関する。各使用可能な信任証２１７がレジストリのこの部分に含まれ、一意の識別子ＩＤ２１９に関連付けられる。各信任証の現在の認証状態２２２がレジストリ２０５に記録される。現在の信任証認証状態２２２は、事前定義のセキュリティ・ポリシに従って、セキュリティ・ドメイン制御サービス・アプリケーションによって検証される。たとえば、電子財布によって、電子資金へのアクセスが許容される前に、ＰＩＮ項目によるユーザ認証が要求される場合がある。正しいＰＩＮ状態２２２が存在しない場合には、ユーザは、電子資金にアクセスできなくなる。
【００６３】
パラメータの第２の組に関連する任意選択であるが非常に望ましいパラメータに、特定の信任証に関連する失敗したアクセスの試みの回数２２８の追跡、試みの最大回数２３０、過剰な回数の失敗したアクセスの試みが発生した場合の信任状のロック２３１状況フラグ、満了日付または満了状況フラグ２３４、信任証がロック２３１される前の信任証の使用の最大回数２３７、信任証の現在のまたは残りの使用の回数２３９、関連するロック・ルール識別子２４１、および各インストールされたアプリケーションの管理状況２４３が含まれる。インストールされた信任証をイネーブルまたはディスエーブルする能力は、トークン管理サービス・アプリケーションを使用して、レジストリのこの部分２４３に含まれる状況フラグを変更することによって実行される。信任証のアクティブ化または非アクティブ化は、レジストリ内の信任証フラグ２４３の状況を変更することによって達成される。
【００６４】
レジストリ２０５に含まれるパラメータの第３の組は暗号鍵管理に関する。レジストリ２０５のこの部分に含まれる各使用可能な暗号鍵２４５は一意の識別子ＩＤ  ２４７に関連する。アクティブ・セッションが確立されているかどうかを判定するために、セッション・フラグ２４９が使用可能である。
【００６５】
パラメータの第３の組に関連する任意選択であるが非常に望ましいパラメータに、満了日付または満了状況フラグ２５１、鍵がロックされる前の暗号鍵の使用の最大回数２５３、暗号鍵の現在のまたは残りの使用の回数２５５、ロック２５７状況フラグとそれに関連するロック・ルール識別子２５９、およびレジストリのこの部分に含まれるイネーブル２６１状況フラグを変更するためにトークン管理サービス・アプリケーションを使用して各インストールされた暗号鍵を管理的にイネーブルまたはディスエーブルする能力が含まれる。暗号のアクティブ化または非アクティブ化は、レジストリの信任証の状況２６１を変更することによって達成される。
【００６６】
図１０を参照すると、アクセス制御ルール２１０の例の組が示されている。各アクセス制御ルール２１４は一意の識別子２１２に関連する。アクセス制御ルール２１４によって、トークン・サービス・アプリケーションが処理を成功裡に完了する前に、どのトークン・セキュリティ・サービス・アプリケーションが、レジストリ２０５内のそれに関連する項目の更新を含めて成功裡に処理を完了しなければならないかが指定される。
【００６７】
一意の識別子２１２は、図１４に示された特定のセキュリティ制御メソッド２８０に対する機能的関係を有し、セキュリティ・ドメイン制御サービス・アプリケーションによって処理される。セキュリティ・ドメイン制御サービス・アプリケーションによって、すべての規定された必要な状態およびパラメータが満足されることが検証される。１つまたは複数の必要な状態またはパラメータが、特定のアクセス制御ルール２１４の要件と異なる場合には、要求元セキュリティ・アプリケーションは、セキュリティ・ドメイン制御サービス・アプリケーションから否定応答を受け取り、トランザクションが終了する。セキュリティ要件が検証される場合には、処理が継続される。アクセス制御ルール２１０には、論理演算子ＡＮＤ、ＯＲ、またはＮＵＬＬ（なし）が含まれる。他のブール・ベースまたは論理ベースのルールも想定されている。アクセス制御ルールは、他のセキュリティ・ルールまたはセキュリティ・パラメータと組合せ可能である。アクセス制御ルール２１０および関連するパラメータの管理は、トークン・セキュリティ管理サービス・アプリケーションを使用して達成される。
【００６８】
アクセス制御ルール２１０のオペレーションを、例として示す。図６を参照すると、トークン・サービス・アプリケーション３０が、アクセス制御ルールＡＣ００  ２０８を指定するセキュリティ・ポリシ要件を用いて実行される場合に、セキュリティ・ドメイン制御サービス・アプリケーションは、アクセス制御ルールＡＣ００  ２１８を、下記のように解釈する。
ＡＣ００  ＰＩＮ１  ＡＮＤ  ＸＡＵＴ１
０        ＾      １  ＝  ０  失敗
【００６９】
図９をもう一度参照すると、セキュリティ・ドメイン制御プログラムは、ＰＩＮ１  ２６５と共に認証アプリケーションＡＭ１  ２６３によって制御される前提条件レジストリ状態と、暗号鍵ＸＡＵＴ１  ２６９と共に安全なメッセージング・アプリケーションＳＭ１  ２６４を使用する安全なメッセージングとが、レジストリに存在することを検証する。
【００７０】
この例の結果に基づけば、セキュリティ要件は満たされておらず、否定の応答が要求元アプリケーションに返され、処理が終了する。トークン・セキュリティ・サービス・アプリケーションとアクセス制御ルールの間の関係を図１３および１４の説明でさらに詳しく説明する。
【００７１】
図１１を参照すると、アンロック制御ルール２１５と称するアクセス制御ルールの第１の特殊な事例が、過剰な数の失敗した認証の試みまたは可能な危険にさらされることに起因してディスエーブルされた信任証または暗号鍵のロックを解除するために設けられる。各アンロック制御ルール２２４は一意の識別子２２０に関連する。特定のアンロック制御ルールの一意の識別子２２０は、トークン・セキュリティ・サービス・アプリケーションまたはトークン管理サービス・アプリケーションのいずれかによって参照され、上で説明したアクセス制御ルールに類似する形でセキュリティ・ドメイン制御サービス・アプリケーションによって処理される。アンロック制御ルール２１５では、同様に、ＡＮＤ、ＯＲ、またはＮＵＬＬ（なし）などの論理演算子が使用される。ＮＯＴ、和集合など、他のブール・ベースまたは論理ベースの演算子も想定されている。
【００７２】
特定のアンロック・ルールに関連する信任証または暗号鍵を指定するパラメータの任意選択の組２２６が含まれる。図示のアンロック制御ルール２２４は、例としてのみ意図されている。アンロック制御ルール２２４の管理は、トークン管理サービス・アプリケーションを使用して達成される。アンロック制御ルールは、同様に、他のセキュリティ・ルールまたはセキュリティ・パラメータと組合せ可能である。
【００７３】
アンロック制御ルール２１５のオペレーションを再び例として示す。図６を参照すると、トークン管理サービス・アプリケーション３５が、アンロック制御ルールＵＣ０１  ２０１を指定するセキュリティ・ポリシ要件を用いて実行される場合に、セキュリティ・ドメイン制御サービス・アプリケーションは、下記のようにアンロック制御ルールＵＣ０１  ２０１を解釈する
ＵＣ０１  ＢＩＯ２  ＡＮＤ  ＰＫＩ１
１        ＾      １  ＝  １  成功
【００７４】
図９を参照すると、セキュリティ・ドメイン制御プログラムは、ＢＩＯ２  ２６７と共に認証アプリケーションＡＭ０  ２６６によって制御される前提条件レジストリ状態および暗号鍵ＰＫＩ１  ２６８と共に安全なメッセージング・アプリケーションＳＭ１  ２６４を使用する安全なメッセージングがレジストリに存在することを検証する。
【００７５】
この例の結果に基づけば、セキュリティ要件が満たされており、ＰＩＮ２  ２７１に関連するロック状況フラグ２３１をアンロックできる。トークン・セキュリティ・サービス・アプリケーションとアクセス制御ルールの間の関係を図１３および１４に関する説明でさらに説明する。
【００７６】
図１２を参照すると、ロック制御ルール２２０と称するアクセス制御ルールの第２の特別な事例が、過剰な数の失敗した認証の試みまたは可能な危険にさらされることに起因してディスエーブルされた信任証または暗号鍵をロックするために設けられる。各ロック制御ルール２８３は、一意の識別子２８１に関連する。特定のロック制御ルールの一意の識別子２８１は、トークン・セキュリティ・アプリケーションまたはトークン・セキュリティ管理サービス・アプリケーションのいずれかによって参照され、上で説明したアクセス制御ルールに類似する形で、セキュリティ・ドメイン制御サービス・アプリケーションによって処理される。
【００７７】
特定のロック・ルールに関連する信任証または暗号鍵を指定するパラメータの任意選択の組２８５が、設けられる。ロック制御ルール２２０に、論理演算子ＡＮＤ、ＯＲ、ＮＵＬＬ（なし）、ＧＲＥＡＴＥＲ  ＴＨＡＮ、ＬＥＳＳ  ＴＨＡＮ、ＮＯＴ  ＥＱＵＡＬ  ＴＯ、およびＥＱＵＡＬ  ＴＯが含まれる。他のブール・ベースまたは論理ベースのルールも想定されている。ロック制御ルール２２０の管理は、トークン・セキュリティ管理サービス・アプリケーションを使用して達成される。ロック制御ルールは、同様に、他のセキュリティ・ルールまたはセキュリティ・パラメータと組合せ可能である。
【００７８】
ロック制御ルール２２０のオペレーションを再び例として示す。図６を参照すると、トークン管理サービス・アプリケーション３５が、アンロック制御ルールＬＣ０１  ２０３を指定するセキュリティ・ポリシ要件を用いて実行される場合に、セキュリティ・ドメイン制御サービス・アプリケーションは、下記のようにアンロック制御ルールＬＣ０１  ２０３を解釈する
ＬＣ０１  Ｃ＿ＵＳＥ  ＞  ＭＡＸ＿ＵＳＥ
３０１  ＞  ３００  ＝  １  （真）
【００７９】
図９を参照すると、セキュリティ・ドメイン制御プログラムは、ＰＩＮ２  ２７１について使用の最大回数２３７パラメータを現在の使用の回数２３９パラメータと比較し、これによって、過度の使用に起因してロックされるようになるＰＩＮ２  ２７１がもたらされる。
【００８０】
図１３を参照すると、通常はレジストリの一部として維持されない他のパラメータまたは状態へのセキュリティ・ポリシの追加の拡張を可能にする許可ルール２７０が設けられる。各許可ルールは、一意の識別子２７２に関連する。特定の許可ルールの一意の識別子２７２は、実行中にセキュリティ・ドメイン制御サービス・アプリケーションによって参照され、情報の内部ソースまたは外部ソースのいずれかを参照することができる。たとえば、特定の内部アプレットが実行を許可されるために、ベース番号より大きいリビジョン番号が要求される場合がある。
【００８１】
代替案では、別のアプレットが、関連する外部ホストが特定のユニバーサル・リソース・ロケータＩＤを有する時に限って実行を許可される。許可ルール２７４では、ＡＮＤ、ＯＲ、またはＮＵＬＬ（なし）、ＧＲＥＡＴＥＲ  ＴＨＡＮ、ＬＥＳＳ  ＴＨＡＮ、ＮＯＴ  ＥＱＵＡＬ  ＴＯ、およびＥＱＵＡＬ  ＴＯを使用することができる。他のブール・ベースまたは論理ベースのルールも想定されている。許可ルール２７０の管理が、トークン・セキュリティ管理サービス・アプリケーションを使用して再び達成され、同様に他のセキュリティ・ルールと組合せ可能である。他の内部および／または外部の判断基準を許可ルールに使用できることを当業者は諒解するであろう。
【００８２】
図１４を参照すると、特定のセキュリティ・ポリシを実装するためにトークン・セキュリティ・サービス・アプリケーションによって使用されるセキュリティ制御メソッド２８０が提供される。各セキュリティ制御メソッドは一意の識別子２８２に関連する。特定のセキュリティ制御メソッドの一意の識別子２８２は、前提条件セキュリティ状態を確立するために、トークン・セキュリティ・サービス・アプリケーションによって参照される。各セキュリティ制御メソッドは、特定のアクセス制御ルール２８４に関連し、メソッド２８６と、トークン・セキュリティ・サービス・アプリケーションがセキュリティ・ポリシを実施するのに必要なパラメータとを提供する。
【００８３】
たとえば、図６を参照すると、トークン・セキュリティ・サービス・アプリケーション４０が、セキュリティ制御メソッドＳＣＭ００  ２１６を指定するセキュリティ・ポリシ要件を用いて実行され、トークン・セキュリティ・サービス・アプリケーションは、図１０に示されたアクセス制御ルールＡＣ００  ２１８を実行することによって、セキュリティ制御メソッドＳＣＭ００  ２１６を実装する。図９を参照すると、アクセス制御ルールＡＣ００  ２１８は、ＰＩＮ１  ２６５と共に認証アプレットＡＭ１  ２６３、および暗号鍵ＸＡＵＴ１  ２６９と共に安全なメッセージング・アプレットＳＭ１  ２６４を使用して安全なメッセージングを確立することを必要とする。実際のセキュリティ制御メソッドＳＣＭ００  ２８８では、認証トランザクションに使用される正しい信任証と、安全なメッセージング・セッションで使用される正しい暗号鍵が指定される。さらに、アカウンティング・ポリシおよび許可ルールを、特定のセキュリティ制御メソッドに追加することができる。
【００８４】
最後に、図１５を参照すると、トランザクションの監査および他の管理機能を実行するためのアカウンティング・データ２２５が設けられる。アカウンティング・データ２２５の各項目は、一意の識別子２８７、セキュリティ・サービス（ＳＳ）、トークン・サービス（ＴＳ）、または管理サービス（ＡＳ）トランザクションなどの任意選択のトランザクション・タイプ２８９、失敗または成功の状況項目２９１、アクセス制御ルールを侵害したことを示す例外２９３項目、およびタイム・スタンプ項目２９５に関連する。アカウンティング・データ２２５へのアクセスおよび監査されるパラメータの選択は、トークン・セキュリティ管理サービス・アプリケーションを使用して構成可能である。前のルールおよびパラメータのすべてと同様に、セキュリティ制御メソッド２８０の管理は、トークン・セキュリティ管理サービス・アプリケーションを使用して達成される。
【００８５】
使用される特定のパラメータと、アクセス制御ルール、ロック制御ルール、アンロック制御ルール、セキュリティ制御ルール、およびアカウント・データとのパラメータの関係を変更して、本発明の趣旨および範囲から逸脱せずに特定のセキュリティ配置またはセキュリティ・ポリシを達成できることを、当業者は諒解するであろう。
【００８６】
図１６では、セキュリティ・アプリケーションのインストールに必要なステップの詳細を示す流れ図が示されている。この処理は、セキュリティ・ドメイン制御サービス・ダウンローダブルを受け取ることによって開始３００される。複数セキュリティ・ドメイン環境では、セキュリティ・ドメイン制御サービス・ダウンローダブルを中央セキュリティ・ドメイン制御サービス・アプリケーション３０３に登録して、セキュリティ・ドメイン間のインターオペラビリティを可能にする。どちらの場合でも、次のステップで、セキュリティ・アプリケーション・ダウンローダブルが、受け取られ３０４、セキュリティ・ドメイン制御サービス・ダウンローダブルに登録３０６されることが要求される。次のステップは、アクセス制御ルール、ロックおよびアンロック制御ルール、セキュリティ制御メソッド、関連する信任証および暗号鍵など、セキュリティ・ドメイン制御サービス・ダウンローダブルによって保持されるものを含む、セキュリティ・アプリケーション・ダウンローダブルに関連するセキュリティ・ポリシを構成３０８することである。
【００８７】
次のステップでは、要求されたセキュリティ状態を、セキュリティ・アプリケーション・ダウンローダブルについて確立３１０することが要求される。１つまたは複数の追加セキュリティ・アプリケーション・ダウンローダブルをインストールしなければならない場合には、ステップ３０４から３１０を繰り返す。そうでない場合には、これによってインストール処理が終了３１４する。
【００８８】
図１７を参照すると、セキュリティ・アプリケーション・ダウンローダブルが、上で説明したように正しくインストールされたならば、新たにインストールされたセキュリティ・アプリケーションの使用がそれに関連するセキュリティ・ポリシによって制御される。新しいセキュリティ・アプリケーションを使用するために、この処理は、１つまたは複数のセキュリティ制御メソッド３２６に従って認証３２２を実行することによって開始３２０される。１つまたは複数のアプリケーション許可メソッドが必要な場合には、許可ルール３２８が実装される。アカウンティング・データが必要な場合には、アカウンティング・データを収集３３０する。すべての必要なステップ３２６、３２８、３３０の完了時に、認証状態３２４をレジストリにセットする。セキュリティ・ポリシが安全なメッセージングを必要としない場合には、処理が終了３３６する。
【００８９】
セキュリティ・ポリシが、安全なメッセージングを必要とする場合には、１つまたは複数のセキュリティ制御メソッド３２６に従って、安全なメッセージング・セッションを確立３３２する。１つまたは複数のアプリケーション許可メソッドが必要である場合には、許可ルール３２８を実装する。アカウンティング・データが必要な場合には、アカウンティング・データを収集３３０する。すべての必要なステップ３２６、３２８、３３０の完了時に、安全なメッセージング状態３３４を、レジストリにセットし、その後、処理を終了３３６する。
【００９０】
図１８を参照すると、セキュリティ・アプリケーションを使用するために、この処理は、セキュリティ・アプリケーションを実行３４２し、セキュリティ・アプリケーション・モジュールがイネーブルされているかどうかを検証３４４することによって開始３４０される。セキュリティ・アプリケーションが、イネーブルされていない場合３４４には、処理が終了３５６する。そうでない場合には、処理は、セキュリティ・モジュールの一部（すなわち機能制御要素）がイネーブルされているかどうかを判定３４６することによって継続される。セキュリティ・アプリケーションの一部がイネーブルされていない場合３４６には、処理が終了３５６する。そうでない場合には、処理は、セキュリティ・ポリシを検索３４８し、適用可能なセキュリティ・ポリシを検証することによって継続される。セキュリティ・ポリシが検証されない場合３５２には、処理は終了３５６する。適用可能なセキュリティ・ポリシが検証される場合３５２には、セキュリティ・アプリケーションが、トランザクションを完了３５４し、その後、処理が普通に終了３５８する。
【００９１】
前述の本発明の実施形態は、例示および説明として提供される。これらは、記載の正確な形態に本発明を制限することを意図されたものではない。具体的に言うと、本明細書に記載の発明の機能的実施形態は、ハードウェア、ソフトウェア、ファームウェア、および／または他の使用可能な機能コンポーネントまたは基本構成要素で同等に実施することができる。特定のセキュリティ・トークン・オペレーティング環境に対する特定の制限は意図されていない。上の教示に鑑みて、他の変形態様および実施形態が可能であり、この詳細な説明が、本発明の範囲を制限することを意図されたものではなく、頭記の請求項によって制限される。
【図面の簡単な説明】
【００９２】
【図１】セキュリティ・サービス・アプリケーションとサービス・アプリケーションの間の依存性を確立する共用可能なインターフェースを示す、一般化された従来技術の図である。
【図２】共用可能なインターフェースが別々のアプリケーション・プログラミング・インターフェースで集中化される、本発明に含まれる主要なコンポーネントを示す詳細ブロック図である。
【図３】単一のセキュリティ・トークン内にインストールされた複数のセキュリティ・ドメインに含まれるセキュリティ・アプリケーションの複数のインスタンスを示す一般化されたブロック図である。
【図４】セキュリティ・アプリケーションのある種の機能性がセキュリティ・ドメイン制御アプリケーションに組み込まれる、本発明の代替実施形態の一般化されたブロック図である。
【図５】セキュリティ・ドメイン制御アプリケーション、複数のセキュリティ・アプリケーション、および関連するセキュリティ・ポリシの間の機能的関係を示す詳細なブロック図である。
【図６】セキュリティ・アプリケーションと、セキュリティ・ドメイン制御アプリケーションによって維持され実施される、関連するセキュリティ・ポリシへの参照を示す詳細なブロック図である。
【図７】命令ステップを含むＡＰＤＵコマンド・ヘッダだけがセキュリティ・ドメイン制御アプリケーションに送られる、本発明の代替実施形態を示す詳細なブロック図である。
【図８】命令ステップを含むＡＰＤＵコマンド・ヘッダだけがセキュリティ・ドメイン制御アプリケーションに送られ、トークン・セキュリティ・サービス・アプリケーションのアドレスがトークン・サービス・アプリケーションによる直接のアドレッシングのために返される、本発明の代替実施形態の変形態様を示す詳細なブロック図である。
【図９】セキュリティ・ドメイン制御アプリケーションに関連する１つまたは複数のレジストリに含まれる複数のセキュリティ・パラメータを示す詳細なブロック図である。
【図１０】トークンの事前定義セキュリティ・ポリシの実施のためにセキュリティ・アプリケーションによって参照されるアクセス制御ルールの組を示す詳細なブロック図である。
【図１１】認証信任証または暗号鍵のアンロックのために、あるセキュリティ・アプリケーションによって参照されるアンロック制御ルールの組を示す詳細なブロック図である。
【図１２】認証信任証または暗号鍵のロックのために、あるセキュリティ・アプリケーションによって参照されるロック制御ルールの組を示す詳細なブロック図である。
【図１３】管理サービス・アプリケーションを使用する将来のレビューのために使用可能なさまざまな管理パラメータを含むアカウンティング・データを示す詳細なブロック図である。
【図１４】特定のセキュリティ・ポリシを実施するためにトークン・セキュリティ・サービス・アプリケーションによって使用されるセキュリティ制御メソッドの組を示す詳細なブロック図である。
【図１５】トランザクションの監査および他の管理機能を実行するために設けられるアカウンティング・データの組を示す詳細なブロック図である。
【図１６】本発明を使用してセキュリティ・トークン内にアプリケーションをインストールするのに必要なステップを示す流れ図である。
【図１７】トークン・サービス・アプリケーションを使用する前提条件状態をセットするのに必要なステップを示す流れ図である。
【図１８】トークン・サービス・アプリケーションを使用するのに必要なステップを示す流れ図である。
【符号の説明】
【００９３】
５  ランタイム・オペレーティング環境
１０  セキュリティ・ドメイン制御サービス・アプリケーション
３０  トークン・サービス・アプリケーション
３５  トークン・セキュリティ管理サービス・アプリケーション
４０  セキュリティ・サービス・アプリケーション
５０  セキュリティ・ドメイン
６０  セキュリティ・ポリシ
８０  共用可能なインターフェース
２０５  レジストリ
２１０  アクセス制御ルール
２１５  アンロック制御ルール
２２０  ロック制御ルール
２２５  アカウンティング・データ
２７０  許可ルール
２８０  セキュリティ制御メソッド
【図１】
2004199672.tif 000003
【図２】
2004199672.tif 000004
【図３】
2004199672.tif 000005
【図４】
2004199672.tif 000006
【図５】
2004199672.tif 000007
【図６】
2004199672.tif 000008
【図７】
2004199672.tif 000009
【図８】
2004199672.tif 000010
【図９】
2004199672.tif 000011
【図１０】
2004199672.tif 000012
【図１１】
2004199672.tif 000013
【図１２】
2004199672.tif 000014
【図１３】
2004199672.tif 000015
【図１４】
2004199672.tif 000016
【図１５】
2004199672.tif 000017
【図１６】
2004199672.tif 000018
【図１７】
2004199672.tif 000019
【図１８】
2004199672.tif 000020