(57)【要約】スマートカード端末のデータ及び管理のフレームワークは、スマートカード端末とスマートカードとの間、特に当該端末及び当該カードのアプリケーション間の相互運用を提供するように機能する。アプリケーションプログラムインタフェース（ＡＰＩ）がデータ及び管理のフレームワークに書き込まれる。データ及び管理のフレームワークは、スマートカード端末によって、スマートカード上に含まれるスマートカードアプリケーションにアクセスし、そのスマートカードアプリケーションを処理するスマートカード端末インフラストラクチャの一部である。ＡＰＩは、対応する端末アプリケーションがそれらの２つのアプリケーション間の通信のための情報を組み込むことを可能にするために、スマートカードアプリケーションに関連する情報を端末に提供する。さらに、スマートカードに関連するセキュリティモデル及びセキュリティポリシーは、スマートカード端末によって実施することができる。【選択図】図２
2009544068.tif 000002
【特許請求の範囲】
【請求項１】
スマートカード端末（２００）のためのスマートカード端末インフラストラクチャ（３００）であって、該端末インフラストラクチャ（３００）は、
データ及び管理のフレームワーク（３１０）であって、該フレームワーク（３１０）は、
スマートカード（２２０）上のスマートカードアプリケーション（２３０）に関連する情報を取得するインタフェースコンポーネント（４１０）と、
前記スマートカード（２２０）のエラーを検出するエラー状態管理コンポーネント（４２０）と、
前記スマートカード（２２０）に関連する利用ポリシーを実施する利用管理コンポーネント（４３０）と、
前記スマートカード（２２０）と前記スマートカード端末（２００）との間で通信する通信コンポーネント（４４０）と、
を備える、フレームワークを備える、スマートカード端末インフラストラクチャ。
【請求項２】
請求項１に記載のスマートカード端末インフラストラクチャ（３００）において、前記データ及び管理のフレームワーク（３１０）はアプリケーションプログラムインタフェース（ＡＰＩ）である、スマートカード端末インフラストラクチャ。
【請求項３】
請求項１に記載のスマートカード端末インフラストラクチャ（３００）において、前記スマートカード（２２０）上の前記スマートカードアプリケーション（２３０）に関連する前記情報は、（i）前記スマートカードアプリケーション（２３０）のインタフェース、（ii）前記スマートカードアプリケーション（２３０）によって使用されるプロトコル、及び（iii）前記スマートカード（２２０）のセキュリティモデルのうちの少なくとも１つである、スマートカード端末インフラストラクチャ。
【請求項４】
請求項１に記載のスマートカード端末インフラストラクチャ（３００）であって、前記スマートカード（２２０）上の前記スマートカードアプリケーション（２３０）に関連する前記情報を前記データ及び管理のフレームワーク（３１０）に提供するカードモジュール（３４０）をさらに備える、スマートカード端末インフラストラクチャ。
【請求項５】
請求項４に記載のスマートカード端末インフラストラクチャ（３００）であって、前記スマートカードアプリケーション（２３０）に対応すると共に、前記スマートカード（２２０）上の前記スマートカードアプリケーション（２３０）に関連する前記情報から作成される、端末アプリケーション（３０５）をさらに備える、スマートカード端末インフラストラクチャ。
【請求項６】
請求項１に記載のスマートカード端末インフラストラクチャ（３００）において、前記エラー状態管理コンポーネント（４２０）は、前記エラーを検出すると、前記通信コンポーネント（４４０）にエラーメッセージを中継するようにさらに動作する、スマートカード端末インフラストラクチャ。
【請求項７】
請求項６に記載のスマートカード端末インフラストラクチャ（３００）において、前記通信コンポーネント（４４０）は、（i）前記スマートカード端末（２００）の前記エラーメッセージを表示装置（１９１）上に表示すること、（ii）前記エラーメッセージに対応するログエントリを作成すること、及び（iii）前記エラーメッセージをアプリケーションに送信することのうちの少なくとも１つによって、前記エラーメッセージを中継する、スマートカード端末インフラストラクチャ。
【請求項８】
請求項１に記載のスマートカード端末インフラストラクチャ（３００）において、前記利用管理コンポーネント（４３０）は、前記スマートカード（２２０）に関連する前記利用ポリシーの違反を検出すると、前記通信コンポーネント（４４０）に利用情報を中継するようにさらに動作する、スマートカード端末インフラストラクチャ。
【請求項９】
請求項８に記載のスマートカード端末インフラストラクチャ（３００）において、前記通信コンポーネント（４４０）は、（i）前記スマートカード（２２０）に関連する前記利用ポリシーの前記違反を表示装置（１９１）上に表示すること、（ii）前記違反に対応するログエントリを作成すること、及び（iii）前記違反のインジケーションをアプリケーションに送信することのうちの少なくとも１つによって、前記違反の前記インジケーションを中継する、スマートカード端末インフラストラクチャ。
【請求項１０】
請求項１に記載のスマートカード端末インフラストラクチャ（３００）において、前記データ及び管理のフレームワーク（３１０）は、前記エラーが検出されないか又は前記利用ポリシーが実施される場合に前記スマートカードアプリケーション（２３０）と対応する端末アプリケーション（３０５）との間のチャネルを作成する接続コンポーネント（４５０）をさらに備える、スマートカード端末インフラストラクチャ。
【請求項１１】
請求項１に記載のスマートカード端末インフラストラクチャ（３００）において、前記データ及び管理のフレームワーク（３１０）は、前記スマートカードアプリケーション（２３０）の処理に関連する端末ポリシー又は制約を組み込む端末ポリシーコンポーネント（４６０）をさらに備える、スマートカード端末インフラストラクチャ。
【請求項１２】
スマートカード端末アプリケーション（３０５）とスマートカード（２２０）上のスマートカードアプリケーション（２３０）との間の相互運用方法であって、該相互運用方法は、
スマートカード端末のフレームワークに書き込まれているアプリケーションプログラムインタフェース（ＡＰＩ）を取得するステップ（５０５）、
前記スマートカードアプリケーションに関連する情報を前記ＡＰＩから取得するステップ（５１０）、及び
前記スマートカードアプリケーションに関連する前記情報を前記スマートカード端末アプリケーション内に組み込むステップ（５１５）、
を含む、相互運用方法。
【請求項１３】
請求項１２に記載の相互運用方法において、前記スマートカードアプリケーションに関連する情報を前記ＡＰＩから取得するステップ（５１０）は、（i）前記スマートカードアプリケーションのインタフェース、（ii）前記スマートカードアプリケーションによって使用されるプロトコル、及び（iii）前記スマートカードのセキュリティモデルのうちの少なくとも１つを取得するステップを含む、相互運用方法。
【請求項１４】
請求項１２に記載の相互運用方法であって、前記スマートカード端末において前記スマートカードの前記セキュリティモデルを実施するステップ（５２０）をさらに含む、相互運用方法。
【請求項１５】
請求項１４に記載の相互運用方法において、
前記スマートカードの前記セキュリティモデルを実施するステップ（５２０）は、
前記スマートカードの利用を監視するステップ（５２５）、及び
前記監視される利用が前記セキュリティモデルに違反していると判断する（５３０）と、違反メッセージを示すステップ（５３５）、
を含む、相互運用方法。
【請求項１６】
請求項１２に記載の相互運用方法であって、前記スマートカードと前記スマートカード端末との間の安全な通信チャネルを作成するステップ（５４０）をさらに含む、相互運用方法。
【請求項１７】
請求項１２に記載の相互運用方法であって、端末ポリシー又は制約をさらに定義するために前記スマートカード端末アプリケーションを構成するステップ（５４５）をさらに含む、相互運用方法。
【請求項１８】
スマートカード端末上でスマートカードのセキュリティモデルを実施する方法であって、該方法は、
前記スマートカード端末のデータ及び管理のフレームワークから前記スマートカードの前記セキュリティモデルを取得するステップ（６１０）、及び
前記セキュリティモデルを、前記スマートカードに対応するスマートカード端末アプリケーション内に組み込むステップ（６１５）、
を含む、方法。
【請求項１９】
請求項１８に記載の方法において、前記スマートカード端末のデータ及び管理のフレームワークから前記スマートカードの前記セキュリティモデルを取得するステップは、前記データ及び管理のフレームワークに適用されるアプリケーションプログラムインタフェース（ＡＰＩ）を読み取るステップを含む、方法。
【請求項２０】
請求項１８に記載の方法であって、
前記セキュリティモデルによって定義されるエラー状態を検出するステップ（６２０）、及び
前記エラー状態を検出すると、該エラー状態に対応するエラーメッセージを送信するステップ（６２５）、
をさらに含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
スマートカードは、コンピュータと同様に、データを記憶、処理、受信、及び転送するための、メモリ及びプロセッサを含む電子カードである。スマートカードは、サイズが小型であることに加えて、対タンパー性があり、且つセキュリティモデルを採用することによって、機密データ及び個人データが安全に搬送及び記憶されることを可能にしているため、さらに望ましい。このため、スマートカードは頻繁に、身分証明目的、金融取引、及びセキュリティアクセスの用途に利用される。データの安全な操作及び記憶を必要とするか又はそれらによって強化され得る他の用途でも、スマートカードを採用することができる。
【０００２】
スマートカード端末は、スマートカード上に含まれるデータの受け入れ及び読み出しを行う装置であり、したがって、スマートカード上に記憶されているアプリケーションにアクセスする。たとえば、金融スマートカード端末で電子マネースマートカードを使用することによって、そのスマートカードのユーザの口座へ送金することができ、或る施設に設置されるスマートカード端末に身分証明スマートカードを挿入することによって、当該身分証明スマートカードのユーザに、その施設へのアクセスを提供することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
現在、１つ以上のアプリケーションを含むスマートカードの場合、端末においてスマートカードアプリケーションを発見することが困難である。端末は、スマートカードアプリケーションによって提供されるインタフェース及び当該スマートカードアプリケーションによって使用されるプロトコルを認識していない場合がある。この発見の問題によって、端末側のアプリケーション製作に困難が生じる。さらに、スマートカードのセキュリティモデルは端末に実施されていない。このため、端末においてスマートカードのセキュリティモデルを実施する一方で、端末がスマートカードのアプリケーションを実行するのに必要な関連情報を取得することをさらに可能にする機構が極めて望ましい。スマートカード及びスマートカード端末に対するさらに望ましい強化は、エラー及び利用の管理制御を含む。
【課題を解決するための手段】
【０００４】
データ及び管理のフレームワークによって、スマートカードと、スマートカードのアプリケーションにアクセスするスマートカード端末との間の相互運用が提供される。アプリケーションプログラムインタフェース（ＡＰＩ）を、スマートカード端末インフラストラクチャの一部である、データ及び管理のフレームワークに書き込むことができる。スマートカード端末インフラストラクチャは、スマートカード上に含まれるスマートカードアプリケーションにアクセスし、そのスマートカードアプリケーションを処理し、実施する。ＡＰＩは、対応する端末アプリケーションを開発することを可能にするために、スマートカードアプリケーションに関連する必要な情報を端末に提供する。次に、対応する端末アプリケーションは、端末とスマートカードアプリケーションとの間の相互運用、発見、及びセキュリティに関する情報を組み込むことができる。スマートカードに関連するセキュリティモデル及びセキュリティポリシーは、スマートカード端末によって実施することができる。
【０００５】
本概要は、詳細な説明においてさらに後述される複数の概念のうちから選択した概念を簡略化した形で紹介するために提供されている。本概要は、特許請求する主題の重要な特徴又は本質的な特徴を特定することを意図されるものでもなければ、特許請求する主題の範囲を限定するために使用されることを意図されるものでもない。
【０００６】
上記の概要及び以下の詳細な説明は、添付の図面と合わせて読まれる場合、より良く理解される。図面において例示的な実施形態が示されるが、それらの実施形態は、図面に示される特定の方法及び手段に限定されるものではないことを理解されたい。
【発明を実施するための形態】
【０００７】
図１を参照すると、本発明を実施するための例示的なシステムは、コンピュータの形態の汎用計算装置１１０を含む。コンピュータ１１０の構成要素は、処理ユニット１２０と、システムメモリ１３０と、当該システムメモリを含む様々なシステムコンポーネントを処理ユニット１２０へ結合するシステムバス１２１とを含むことができるが、これらに限定されるものではない。システムバス１２１は、メモリバス又はメモリコントローラと、周辺バスと、様々なバスアーキテクチャのうちの任意のものを使用するローカルバスとを含む、幾つかのタイプのバス構造のうちの任意のものとすることができる。限定ではないが例として、そのようなアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バスと、マイクロチャネルアーキテクチャ（ＭＣＡ）バスと、拡張ＩＳＡ（ＥＩＳＡ）バスと、ビデオエレクトロニクス標準化団体（ＶＥＳＡ）ローカルバスと、周辺コンポーネント相互接続（ＰＣＩ）バス（メザニンバスとしても既知である）とを含む。
【０００８】
コンピュータ１１０は、典型的には多種多様のコンピュータ読取り可能媒体を備える。コンピュータ読取り可能媒体は、コンピュータ１１０によってアクセスすることができる任意の利用可能な媒体とすることができ、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不可能媒体の両方とを含む。限定ではないが例として、コンピュータ読取り可能媒体は、コンピュータストレージ媒体と、通信媒体とを含むことができる。コンピュータストレージ媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、又は他のデータのような情報のストレージのための任意の方法又は技術で実装される、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不可能媒体の両方とを含む。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくは他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージ装置、又は、所望の情報を記憶するのに使用することができると共にコンピュータ１１０によってアクセスすることができる任意の他の媒体を含むが、これらに限定されるものではない。通信媒体は、典型的には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、又は搬送波若しくは他の輸送メカニズムのような変調されたデータ信号内の他のデータを具現化し、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、１つ又は複数の自身の特徴が、信号内の情報を符号化するような方法で設定又は変更されている信号を意味する。限定ではないが例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体と、音響媒体、ＲＦ媒体、赤外線媒体、及び他の無線媒体のような無線媒体とを含む。上記の任意の組み合わせもコンピュータ読取り可能媒体の範囲に含まれるべきである。
【０００９】
システムメモリ１３０は、ＲＯＭ１３１及びＲＡＭ１３２のような揮発性メモリ及び／又は不揮発性メモリの形態のコンピュータストレージ媒体を含む。基本入出力システム１３３（ＢＩＯＳ）は、起動中等にコンピュータ１１０内の要素間で情報を転送するのを補助する基本ルーチンを含み、典型的にはＲＯＭ１３１内に記憶される。ＲＡＭ１３２は、典型的には、処理ユニット１２０が直接アクセス可能である、且つ／又は処理ユニット１２０によって現在操作されているデータ及び／又はプログラムモジュールを含む。限定ではないが例として、図１は、オペレーティングシステム１３４と、アプリケーションプログラム１３５と、他のプログラムモジュール１３６と、プログラムデータ１３７とを示す。
【００１０】
コンピュータ１１０は、他の取り外し可能／取り外し不可能で、揮発性／不揮発性のコンピュータストレージ媒体も含むことができる。例示としてのみであるが、図１は、取り外し不可能で不揮発性の磁気媒体から読み取りを行うか又は当該媒体に書き込みを行うハードディスクドライブ１４１と、取り外し可能で不揮発性の磁気ディスク１５２から読み取りを行うか又は当該ディスクに書き込みを行う磁気ディスクドライブ１５１と、取り外し可能で不揮発性の光学ディスク１５６から読み取りを行うか又は当該媒体に書き込みを行う、ＣＤ−ＲＯＭ又は他の光学媒体のような光学ディスクドライブ１５５とを示す。例示的な動作環境で使用することができる、他の取り外し可能／取り外し不可能で、揮発性／不揮発性のコンピュータストレージ媒体は、磁気テープカセットと、フラッシュメモリカードと、デジタル多用途ディスクと、デジタルビデオテープと、ソリッドステートＲＡＭと、ソリッドステートＲＯＭ等を含むがこれらに限定されるものではない。ハードディスクドライブ１４１は、典型的には、インタフェース１４０のような取り外し不可能なメモリインタフェースを通じてシステムバス１２１に接続される。磁気ディスクドライブ１５１及び光学ディスクドライブ１５５は、典型的には、インタフェース１５０のような取り外し可能なメモリインタフェースを通じてシステムバス１２１に接続される。
【００１１】
上記で論考し、且つ図１に示されるドライブ及びそれらのドライブに関連付けられるコンピュータストレージ媒体は、コンピュータ読取り可能命令、データ構造、コンポーネント、プログラムモジュール、及びコンピュータ１１０に関する他のデータのストレージを提供する。図１において、たとえば、ハードディスクドライブ１４１は、オペレーティングシステム１４４と、アプリケーションプログラム１４５と、他のプログラムモジュール１４６と、プログラムデータ１４７とを記憶するものとして示される。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、及びプログラムデータ１３７と同じとすることができるか又は異なることができることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、及びプログラムデータ１４７は、本明細書において異なる符号を付され、少なくともそれらが異なるコピーであることを示す。ユーザは、キーボード１６２、及び一般的にマウス、トラックボール、又はタッチパッドと呼ばれる指示装置１６１のような入力装置を通じて、コンピュータ１１０にコマンド及び情報を入力することができる。他の入力装置（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等を含むことができる。これらの入力装置及び他の入力装置は、多くの場合、システムバスに結合されているユーザ入力インタフェース１６０を通じて処理ユニット１２０に接続されるが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス（ＵＳＢ）のような他のインタフェース及びバス構造によって接続してもよい。モニタ１９１又は他のタイプの表示装置も、ビデオインタフェース１９０のようなインタフェースを介してシステムバス１２１に接続される。コンピュータは、モニタに加えて、スピーカ１９７、及びプリンタ１９６のような他の周辺出力装置も含むことができ、それらの装置を出力周辺インタフェース１９５を通じて接続することができる。
【００１２】
コンピュータ１１０は、リモートコンピュータ１８０のような１つ又は複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、又は他の共通ネットワークノードとすることができ、典型的には、コンピュータ１１０に関連して上述した要素の多く又は全てを含むが、図１にはメモリストレージ装置１８１のみを示した。示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１と、ワイドエリアネットワーク（ＷＡＮ）１７３とを含むが、他のネットワークも含むことができる。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、及びインターネットにおいて一般的である。
【００１３】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインタフェース又はアダプタ１７０を通じてＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、典型的には、モデム１７２、又はインターネットのようなＷＡＮ１７３を介して通信を確立する他の手段を含む。モデム１７２は、内蔵又は外付けとすることができ、ユーザ入力インタフェース１６０又は他の適切なメカニズムを介してシステムバス１２１に接続することができる。ネットワーク環境において、コンピュータ１１０に関連して示されるプログラムモジュール、又はその部分を、リモートメモリストレージ装置内に記憶することができる。限定ではないが例として、図１は、リモートアプリケーションプログラム１８５を、メモリ装置１８１上に備えられるものとして示す。図示されるネットワーク接続は例示的であり、コンピュータ間で通信リンクを確立する他の手段を使用することができることが理解されよう。
【００１４】
本明細書に記載される方法の全て又は部分は、ハードウェア、ソフトウェア、又は両方の組み合わせで具現化することができる。ソフトウェアで具現化される場合、それらの方法、又はそれらの方法の特定の態様若しくは部分は、計算システムによって実行されるときに計算システムに当該方法を実行させるプログラムコードの形態で具現化することができる。このプログラムコードは、当該用語が上記で定義されているように、任意のコンピュータ読取り可能媒体に記憶することができる。
【００１５】
スマートカード端末は、スマートカード上に記憶されるアプリケーションにアクセスすると共に当該アプリケーションを処理する装置である。スマートカードは、メモリとプロセッサとを含む小型の電子カードである。スマートカードはコンピュータと同様とすることができ、データを記憶、処理、受信、及び転送するように機能する。スマートカードは１つ又は複数のアプリケーションを含むことができ、それらのアプリケーションには、スマートカード端末が処理のためにアクセスすることができる。
【００１６】
例示的なスマートカード端末２００が図２に示される。スマートカード端末２００は、コンピュータ１１０のようなコンピュータと、モニタ１９１又は他のタイプの表示装置と、スマートカードリーダ２１０とを備えることができる。スマートカードリーダ２１０は、コンピュータ１１０と、図２に示すスマートカード２２０のようなスマートカードとの間のインタフェースとして動作し、それによってコンピュータ１１０は、スマートカード２２０のアプリケーション２３０にアクセスすると共に当該アプリケーションを処理することができる。
【００１７】
スマートカードリーダ２１０は、近接型すなわち非接触のスマートカードリーダ２１０とすることができ、この場合スマートカード２２０は、リーダ２１０とカード２２０との間にいかなる直接接触も伴わずに、スマートカードリーダ２１０によって読み取られる。たとえば、近接型スマートカードリーダ２１０は、スマートカード２２０が近接型スマートカードリーダ２１０の近傍に保持又は位置付けされるときに、スマートカード２２０にアクセスすることができる。一実施形態では、標準規格ＩＳＯ１４４４３を使用して、近接型スマートカード２２０及び近接型スマートカードリーダ２１０を、標準規格ＩＳＯ１４４４３を遵守する他のカード２２０及びリーダ２１０との互換性に関して定義することができる。近接型スマートカードリーダ２１０は、標準規格によれば、スマートカード２２０を読み取るために埋め込み型のマイクロコントローラと磁気ループアンテナとを備える無線周波数識別（ＲＦＩＤ）リーダである。磁気ループアンテナは、１３．５６ＭＨｚの無線周波数で動作する。近接型スマートカードリーダ２１０は、カード２２０がリーダ２１０から４インチ以内にある場合に近接型スマートカード２２０を読み取ることができる。さらに、標準規格ＩＳＯ１４４４３は、４つのパート、すなわち、（ｉ）物理的特徴と、（ｉｉ）無線周波数電力及び信号インタフェースと、（ｉｉｉ）初期化及び衝突防止と、（ｉｖ）送信プロトコルとを含む。
【００１８】
代替的に、スマートカードリーダ２１０は、挿入可能なスマートカードリーダ２１０とすることができる。スマートカードリーダ２１０が挿入可能なタイプである場合、スマートカード２２０のアプリケーション２３０へのアクセスは、スマートカード２２０又はスマートカード２２０の一部が挿入可能なスマートカードリーダ２１０に挿入されるときに許可される。ＩＳＯ７８１６は、挿入可能なスマートカード２２０のような接触型スマートカードを説明する、確立された標準規格である。挿入可能なスマートカード２２０は、標準規格ＩＳＯ７８１６の要件に従って設計することができる。標準規格ＩＳＯ７８１６の要件は、メッセージの内容、コマンド、及びカード２２０とリーダ２１０との間で送信される応答に関連する基準と、カード２２０内のファイル及びデータへのアクセス方法と、安全なメッセージングの方法とを含む。他のタイプのスマートカードリーダ２１０を採用してもよく、近接型スマートカードリーダ２１０又は挿入可能なスマートカードリーダ２１０に限定されるものではない。
【００１９】
スマートカード２２０は、１つ又は複数のアプリケーション２３０を含むことができる。たとえば、図２に示すように、スマートカード２２０は、４つのアプリケーション２３０、すなわち、ＥＭＶ（Ｅｕｒｏｐａｙ  ＭａｓｔｅｒＣａｒｄ  Ｖｉｓａ）と、ＧＳＣＩＳ／ＰＩＶ、ｅｌＤと、ＣＡＣとを含む。他のアプリケーション２３０及び多数のアプリケーション２３０が存在し得る。さらに、スマートカード２２０は、非関連のアプリケーション２３０を含むことができ、且つ／又は代わりにアプリケーション２３０の幾つかの変形を含むことができる。アプリケーション２３０の任意の組合わせをスマートカード２２０上に含むことができる。
【００２０】
一実施形態によるスマートカード端末インフラストラクチャ３００が図３に示される。スマートカード端末インフラストラクチャ３００は、スマートカード２２０のアプリケーション２３０にアクセスし、それらのスマートカードアプリケーションを処理し、実施するように動作する。さらに、インフラストラクチャ３００は、エラー状態及び利用モデルの管理を可能にする。
【００２１】
スマートカード端末インフラストラクチャ３００は、端末アプリケーション３０５と、データ及び管理のフレームワーク３１０と、暗号化セキュリティコンポーネント３２０と、さらなる暗号化セキュリティコンポーネント３２５と、スマートカードベースの暗号化サーバプロバイダ３３０と、スマートカード鍵ストレージプロバイダ３３５と、（図示されるカードモジュール３４０ａ〜３４０ｄのような）１つ又は複数のカードモジュール３４０と、スマートカードリソースマネージャ３４５と、ＰＣ／ＳＣのｗｉｎｓｃａｒｄ．ｈ３５０と、（リーダドライバ３５５ａ及び３５５ｂのような）１つ又は複数のリーダドライバ３５５とを含む、機能を実行するための、幾つかの手段、装置、ソフトウェア、及び／又はハードウェアを含むことができる。
【００２２】
暗号化セキュリティコンポーネント３２０によって、開発者は、端末アプリケーション３０５のようなアプリケーションに対して暗号化セキュリティを付与することができる。暗号化セキュリティコンポーネント３２０によって、安全でない媒体、たとえばインターネットを介して、安全な環境内の文書及び他のデータの作成及び交換が可能になる。さらなる暗号化セキュリティコンポーネント３２５は、暗号化セキュリティコンポーネント３２０と同様であるが増強された機能を提供することができる。例示的且つ非限定的な一実施形態において、暗号化セキュリティコンポーネント３２０はＣｒｙｐｔｏＡＰＩとすることができる。さらなる例示的な例示的且つ非限定的な一実施形態において、暗号化セキュリティコンポーネント３２５は、ＣＮＧ又は次世代ＣｒｙｐｔｏＡＰＩとすることができる。
【００２３】
スマートカードベースの暗号化サーバプロバイダ３３０は、スマートカードモジュール３４０を通じて、スマートカード２２０のような個々のスマートカードと通信するように動作することができる。スマートカードベースの暗号化サーバプロバイダ３３０は、暗号化セキュリティを保証する暗号化標準規格及びアルゴリズムの実施態様を含むことができる。スマートカードベースの暗号化サーバプロバイダ３３０は、動的リンクライブラリ（ＤＬＬ）を含むことができる。ＤＬＬは、複数の機能を実施すると共に、オペレーティングシステムとスマートカードベースの暗号化サーバプロバイダ３３０との間の通信の進行役としての役割を果たすことができる。
【００２４】
スマートカードモジュール３４０は、スマートカードリソースマネージャ３４５を通じてスマートカードと通信することによって、特定のスマートカードの特徴をスマートカード端末インタフェースインフラストラクチャ３００の統一インタフェースに変換するように機能することができる。スマートカードモジュール３４０をＤＬＬとして実装することができる。スマートカード鍵ストレージプロバイダ３３５は鍵ストレージ操作を、スマートカード端末データインフラストラクチャ３００による要求に応じて実行するように機能する。
【００２５】
スマートカードリソースマネージャ３４５は、スマートカードリーダ２１０及びスマートカード２２０へのアクセスを管理するタスクを担うことができる。幾つかの実行される機能は、リソースの識別及び追跡と、複数のアプリケーションにわたるリーダ及びリソースの割り当てと、所与のスマートカード２２０上で利用可能なサービスにアクセスするためのトランザクションプリミティブのサポートとを含むことができる。スマートカードリソースマネージャ３４５には、リソースマネージャＡＰＩを通じて直接的に、又はスマートカードサービスプロバイダを通じて間接的にアクセスすることができる。リソースマネージャＡＰＩは、スマートカードリソースマネージャ３４５のサービスに直接的なアクセスを提供する機能のセットである。
【００２６】
スマートカード端末インフラストラクチャ３００のデータ及び管理のフレームワーク３１０は、端末アプリケーション３０５の開発及び作成を補助するように機能する。端末アプリケーション３０５はスマートカードアプリケーション２３０に対応する。データ及び管理のフレームワーク３１０は、エラー状態、及びスマートカード端末２００とスマートカード２２０との間の通信の利用モデルも管理することができる。さらに、データ及び管理のフレームワーク３１０は、アプリケーションプログラムインタフェース（ＡＰＩ）とすることができ、一実施形態では、端末アプリケーション３０５へのエラーメッセージの伝搬を担うことができる。一実施形態によるデータ及び管理のフレームワーク３１０が図４に示される。
【００２７】
例示的なデータ及び管理のフレームワーク３１０は、インタフェースコンポーネント４１０と、エラー状態管理コンポーネント４２０と、利用管理コンポーネント４３０と、通信コンポーネント４４０と、接続コンポーネント４５０と、端末ポリシーコンポーネント４６０とを含む、機能を実行するための、幾つかの手段、装置、ソフトウェア、及び／又はハードウェアを含む。
【００２８】
インタフェースコンポーネント４１０は、スマートカードアプリケーション２３０に関連する情報を取得することによって、スマートカード端末２００からスマートカードアプリケーション２３０へのリンクとして機能する。アプリケーション２３０に関連する情報は、アプリケーション２３０のインタフェース及び／又はプロトコルを含むことができ、スマートカード２２０のアプリケーション２３０を適切に識別すると共に当該アプリケーションにアクセスする際に、端末２００を補助することができる。さらに、端末２００にポリシーの存在及び要件を認識させることによって、その情報を使用してスマートカード２２０のポリシーを実施することもできる。
【００２９】
対応するＡＰＩ（スマートカードアプリケーション２３０に対応する）は、たとえばスマートカードアプリケーション２３０の販売者又は開発者によって作成することができ、且つ当該販売者又は開発者によって、データ及び管理のフレームワーク３１０に書き込むことができる。インタフェースコンポーネント４１０は対応するＡＰＩを使用して、スマートカードアプリケーション２３０に対応する端末アプリケーション３０５を作成することができる。
【００３０】
エラー状態管理コンポーネント４２０は、スマートカード２２０の使用に関連するエラーを検出すると共に、エラーを検出すると、対応するエラーメッセージを中継するように機能する。エラーメッセージは通信コンポーネント４４０まで中継することができる。スマートカード端末２００がスマートカード２２０のスマートカードアプリケーション２３０にアクセスを試みることに起因して、様々なエラーが発生し得る。たとえば、カード２２０がスマートカード端末リーダ２１０に不適切に挿入される場合がある。このエラーがエラー状態管理コンポーネント４２０によって検出される場合、このエラーはそれに応じて通信コンポーネント４４０に中継される。別のエラーは、スマートカード端末２００がスマートカード２２０上にないアプリケーション２３０を読み取ろうと試みることに起因して発生する場合がある。ここでもまた、エラー状態管理コンポーネント４２０は、このエラーを検出すると共に、次いでエラーの検出時に適切なエラーメッセージを通信コンポーネント４４０に中継するように動作することができる。
【００３１】
利用管理コンポーネント４３０はスマートカード２２０に関連する利用ポリシーを実施することができる。一実施形態では、利用ポリシーは、スマートカード２２０のセキュリティモデルである。利用ポリシーは、スマートカードアプリケーションに関連する情報に含めることができ、したがって、データ及び管理のフレームワークに書き込まれている対応するＡＰＩ内に組み込むことができる。利用ポリシーは、たとえば、グループポリシー設定、ローカルマシンポリシー設定、又はアプリケーションポリシー設定に依拠することができる。利用ポリシーは利用管理コンポーネント４３０によって実施することができる。利用管理コンポーネント４３０は利用ポリシーを取得すると共に、スマートカード２２０及び当該スマートカード２２０のアプリケーション２３０の利用を監視することができる。定義された利用ポリシーが違反されている場合、利用管理コンポーネント４３０は試みられたアクションが処理されるのを許可しないことによってポリシーを実施することができる。さらに、利用管理コンポーネント４３０は、スマートカード２２０に関連する利用ポリシーの違反を検出すると、通信コンポーネント４４０に、違反メッセージとすることができる利用情報を中継するように動作することができる。
【００３２】
スマートカード２２０とスマートカード端末２００との間で通信するための通信コンポーネント４４０は、例示的なデータ及び管理のフレームワーク３１０のさらなる特徴とすることができる。上述したように、エラー状態管理コンポーネント４２０及び利用管理コンポーネント４３０の両方が、通信コンポーネント４４０に情報を中継することができる。受信される情報は、エラー検出、利用ポリシー違反、又は別のタイプの通信を含むことができる。エラー状態管理コンポーネント４２０がスマートカード２２０の使用に関連するエラーを検出し、このエラーのインジケーションを通信コンポーネント４４０に送信する場合、通信コンポーネント４４０はスマートカード端末２００のモニタ１９１上にエラーメッセージを表示することができる。エラーメッセージはスマートカード２２０及び端末２００のユーザに対する命令を含むことができる。通信コンポーネント４４０は、利用管理コンポーネント４３０によって報告されると、スマートカードに関連する利用ポリシーの違反をさらに表示することができる。このインジケーションもモニタ１９１上に表示することができる。
【００３３】
通信コンポーネント４４０は、エラー状態又は利用違反のインジケーションを受信すると、当該エラー又は違反のログエントリを作成することができる。通信コンポーネント４４０は、エラー状態又は利用違反のインジケーションをアプリケーションに提供するために、たとえば、当該アプリケーションにメッセージを送信することができる。アプリケーションに送信されるメッセージは、たとえば、メッセージが送信されたことの警告としての役割を果たす音又信号音を引き起すことができる。
【００３４】
一実施形態では、データ及び管理のフレームワーク３１０は、接続コンポーネント４５０も含むことができる。当該接続コンポーネント４５０は、エラーが検出されず、且つ／又は利用ポリシーが実施される場合に、スマートカードアプリケーション２３０と対応する端末アプリケーション３０５との間のチャネルを作成するように動作することができる。作成されるチャネルは、端末２００とカード２２０との間の安全なチャネルとすることができる。
【００３５】
端末ポリシーコンポーネント４６０は、スマートカードアプリケーション２３０の処理に対してさらなるポリシー及び／又は制約を組み込むために、データ及び管理のフレームワーク３１０内に含めることができる。たとえば、端末アプリケーション３０５の開発者は特定のアプリケーション２３０に関して、端末２００の使用に時間制限を設けたい場合がある。さらなるポリシー及び／又は制約を組み込むことができる。
【００３６】
図５は、スマートカード端末アプリケーション３０５とスマートカード２２０上のスマートカードアプリケーション２３０との間の一例示の相互運用方法を示す。当該相互運用方法は、端末アプリケーション３０５を、スマートカード端末リーダ２１０に挿入されるスマートカード２２０上に存在するスマートカードアプリケーション２３０と共にシームレスに動作させるために、スマートカード端末アプリケーション開発者によって実施することができる。
【００３７】
５０５において、スマートカード端末２００のデータ及び管理のフレームワーク３１０に書き込まれているＡＰＩが取得される。当該ＡＰＩはスマートカードアプリケーション２３０に対応する。対応する端末アプリケーション３０５を作成するために、スマートカードアプリケーション２３０に関連する情報が使用される。５１０において、この情報がＡＰＩから取得される。当該スマートカードアプリケーション２３０に関連する情報は、スマートカードアプリケーション２３０のインタフェースと、スマートカードアプリケーション２３０によって使用されるプロトコルと、スマートカード２２０のセキュリティモデルとを含むことができるが、これらに限定されるものではない。５１５において、スマートカードアプリケーション２３０に関連する取得された情報は、たとえばデータ及び管理のフレームワーク３１０のインタフェースコンポーネント４１０によって、スマートカードアプリケーション２３０に対応する端末アプリケーション３０５内に組み込まれる。端末アプリケーション３０５がスマートカードアプリケーション２３０に関連する情報を組み込むことによって作成された後、データ及び管理のフレームワーク３１０によって、様々な追加の任意選択のデータ及び管理の操作を実施することができる。
【００３８】
５２０において、スマートカードアプリケーション２３０に関連する情報の部分として取得することができるスマートカード２２０のセキュリティモデルを実施することができる。５２５において、実施動作は、端末２２０におけるスマートカード２２０の利用の監視をさらに含むことができる。当該監視動作は、スマートカード２２０のセキュリティモデル又は利用ポリシーの分析と同時に行うことができる。５３０において、監視される利用がセキュリティモデルに違反しているか否かを確定するために、たとえば利用管理コンポーネント４３０によって、判断が実行される。５３５において、セキュリティモデルが違反されている場合、違反メッセージを中継することができる。違反メッセージは、たとえば違反のログエントリを作成するか又はメッセージをアプリケーションに送信することによって、モニタ１９１のような表示装置上にメッセージを表示することによって中継することができる。アプリケーションに送信されるメッセージは、たとえば、メッセージが送信されたことの通知としての役割を果たす音又信号音を引き起すことができる。エラーメッセージを中継する任意の組合わせを実施することができる。
【００３９】
違反メッセージの中継に続いて、本方法は、スマートカード２２０の利用をさらに監視するために、５２５へ戻る。５３０においてモデルが違反されていないと判断される場合、より後の時刻において、セキュリティモデルが違反されているか否かを判断するためのさらなる判断を行うことができる。
【００４０】
５２０及び／又は５３０に続いて５４０において、スマートカード２２０によってセキュリティモデルが違反されていない場合、スマートカード２２０とスマートカード端末２００との間の安全な通信チャネルを作成することができる。チャネルは、スマートカード２２０及び端末２００がスマートカード２２０の意図されている機能を安全に通信及び実行するために、カード２２０のセキュリティモデルが実施された後、及び／又は当該モデルが違反されていないという判断の後に作成することができる。たとえば、データ及び管理のフレームワーク３１０が、所定のセキュリティモデルが違反されていないと判断した後に、たとえば接続コンポーネント４５０によって安全な通信チャネルを作成することができる。
【００４１】
５４５において、スマートカード端末アプリケーションは、端末ポリシー及び／又は端末制約をさらに定義するように構成することができる。端末ポリシーコンポーネント４６０は、スマートカード２２０の使用及び／又はスマートカードアプリケーション２３０の処理に対してさらなるポリシー及び／又は制約を設けると共に組み込むために、当該構成を実行することができる。当該構成は、スマートカード２２０のセキュリティモデルが違反されていないと判断される場合に５２０、５３０に続いて、且つ／又は５４０に続いて実行することができる。
【００４２】
図６は、スマートカード端末２００上のスマートカード２２０のセキュリティモデルを実施する一例示の方法を示す。６１０において、スマートカード２２０のセキュリティモデルが、端末インフラストラクチャ３００のデータ及び管理のフレームワーク３１０から取得される。フレームワーク３１０からスマートカード２２０のセキュリティモデルを取得することは、データ及び管理のフレームワーク３１０に適用されているか又は書き込まれているＡＰＩを読み取ることを含むことができる。スマートカード端末インフラストラクチャ３００のデータ及び管理のフレームワーク３１０は、端末アプリケーション３０５の開発及び生成を補助するように機能することができる。端末アプリケーション３０５はスマートカードアプリケーション２３０に対応する。
【００４３】
６１５において、セキュリティモデルが、スマートカードアプリケーション２３０に対応するように開発されるスマートカード端末アプリケーション３０５内に組み込まれる。６２０において、セキュリティモデルによって定義することができるエラー状態が検出されるか否かを確定するために判断が行われる。この検出は、エラー状態を検出するために、周期的に又は連続的に実行することができる。６２０においてエラー状態を検出すると、６２５において、検出されたエラー状態に対応するエラーメッセージが送信される。エラー状態管理コンポーネント４２０はエラー状態検出を実行することができ、エラーを検出すると、通信コンポーネント４４０にエラーの通知を送信することができる。通信コンポーネント４４０は、たとえば、エラーのログエントリを作成するか又はメッセージをアプリケーションに送信することによって、モニタ１９１のような表示装置上に対応するメッセージを表示することによってエラーメッセージを中継することができる。アプリケーションに送信されるメッセージは、たとえば、メッセージが送信されたことの通知としての役割を果たす音又信号音を引き起すことができる。エラーメッセージを中継する任意の組合わせを実施することができる。
【００４４】
理解することができるように、開示された実施形態は、１つ又は複数の計算システム又は計算装置において、全体として又は部分的に実施することができる。図１は、複数の態様を具現化又は実施することができる一例の計算システム１００の機能コンポーネントを示す。本明細書で使用される場合、用語「計算システム」、「コンピュータシステム」、及び「コンピュータ」は、プログラムコード及び／又はデータを実行するか又は他の様態で処理することが可能なプロセッサを備える任意の機器、システム、又は装置を指す。計算システムの例は、パーソナルコンピュータ（ＰＣ）、ミニコンピュータ、メインフレームコンピュータ、シンクライアント、ネットワークＰＣ、サーバ、ワークステーション、ラップトップコンピュータ、ハンドヘルドコンピュータ、プログラム可能な消費者電化製品、マルチメディアコンソール、ゲームコンソール、衛星放送受信機、セットトップボックス、現金自動預け払い機、アーケードゲーム、携帯電話、携帯情報端末（ＰＤＡ）、及び他の任意のプロセッサベースのシステム又は機器を含むが、いかなる限定も意図されない。用語「プログラムコード」及び「コード」は、プロセッサによって実行されるか又は他の様態で処理される任意の命令セットを指す。プログラムコード及び／又はデータは、特定の機能を実行する、ルーチン、プログラム、オブジェクト、モジュール、データ構造等の形態で実施することができる。
【００４５】
上記の例は説明の目的でのみ提供され、いかなる意味においても限定するものとして解釈されるべきではないことに留意されたい。本発明は様々な実施形態を参照して説明されたが、本明細書において使用された単語は、限定の単語ではなく、説明及び例示の単語であることが理解されたい。さらに、実施形態は、特定の手段、素材、及び実施例を参照して本明細書において説明されたが、これらの実施形態は、本明細書において開示された特定の実施形態に限定されるように意図されるものではなく、添付の特許請求の範囲内にあるような全ての機能的に等価な構造、方法、及び使用に拡張される。
【図面の簡単な説明】
【００４６】
【図１】１つの例示的な計算装置を表すブロック図である。
【図２】１つの例示的なスマートカード端末を表すブロック図である。
【図３】１つの例示的なスマートカード端末インフラストラクチャを表すブロック図である。
【図４】データ及び管理のフレームワークを表すブロック図である。
【図５】スマートカード端末アプリケーションとスマートカード上のスマートカードアプリケーションとの間の相互運用方法の一実施形態を示す流れ図である。
【図６】スマートカード端末上のスマートカードのセキュリティモデルを実施する方法の一実施形態を示す流れ図である。
【図１】
2009544068.tif 000003
【図３】
2009544068.tif 000004
【図４】
2009544068.tif 000005
【図５】
2009544068.tif 000006
【図６】
2009544068.tif 000007
【図２】
2009544068.tif 000008
【国際調査報告】
2009544068.tif 000009
2009544068.tif 000010