(57)【要約】プログラム可能なスマートカード装置（１０）は、ファイル・システム（２２，２４）と、オン・デバイス・ファイル・システムが少なくとも１つのオフ・デバイス・ファイル又はアプリケーションとインターフェースするためのオペレーティング・ソフトウエアとを備えている。スマートカード装置はさらに、スクリプト・エンジン（３２）を備え、該エンジンは、１又は複数のアプリケーション・プロトコル・データ・ユニット（ＡＰＤＵ）を実行してファイル・システムの構造及びコンテンツの少なくとも一方、又は、ファイル・システムをアクセスするために使用されるコマンド、又は、ファイル・システムに関連するセキュリティ条件を編集することができる。スマートカード装置（１０）はまた、スクリプト・エンジン（３２）によって実行されるセキュリティＡＰＤＵによってコンフィギュレーションが可能であり、かつ、アプリケーションを実行するためのコマンドを１又は複数の参照コマンドと比較する比較手段（３４）であって、その対比結果に基づいて、オン・デバイス・データ、又は、ファイル・システム、又は該システムにアクセスするために使用されるコマンド、又は、該システムに関連するセキュリティ条件にアクセス及び編集し、かつ、データ、ファイル・システム、コマンド、又はセキュリティ条件への更なるアクセス及び編集を制限又は阻止するための比較手段（３４）を備えている。
2009506447.tif 000002
【特許請求の範囲】
【請求項１】
ファイル・システム（２２，２４）を備えたプログラム可能なスマートカード装置（１０）であって、該装置は、ファイル・システムが該装置に備えられていない少なくとも１つのオフ・デバイス・ファイル及びアプリケーションの少なくとも一方をインターフェースするためのオペレーティング・ソフトウエアを備え、該ソフトウエアが、１又は複数のアプリケーション・プロトコル・データ・ユニット（ＡＰＤＵ）を実行してファイル・システムの構造及びコンテンツの少なくとも一方、又は、ファイル・システムをアクセスするために使用されるコマンド、又は、ファイル・システムに関連するセキュリティ条件を編集することができるスクリプト・エンジン（３２）を備え、プログラム可能なスマートカード装置（１０）は、
スクリプト・エンジン（３２）によって実行されるセキュリティＡＰＤＵによってコンフィギュレーションか可能であり、かつ、アプリケーションを実行するためのコマンドを１又は複数の参照コマンドと比較する比較手段（３４）であって、その対比結果に基づいて、オン・デバイス・データ、又は、ファイル・システム、又は該システムにアクセスするために使用されるコマンド、又は、該システムに関連するセキュリティ条件にアクセス及び編集し、かつ、データ、ファイル・システム、コマンド、又はセキュリティ条件への更なるアクセス及び編集を制限又は阻止するための比較手段（３４）
を備えていることを特徴とするスマートカード装置。
【請求項２】
請求項１記載のスマートカード装置において、比較手段（３４）は、オン・デバイス・データ、ファイル、コマンド、又はセキュリティ条件を編集するために、スクリプト・エンジン（３２）によって実行されるＡＰＤＵのコードを、参照コードと対比することを特徴とするスマートカード装置。
【請求項３】
請求項２記載のスマートカード装置において、比較手段（３４）はさらに、スクリプト・エンジンによって実行されるＡＰＤＵの少なくとも１つのオペランドを、参照オペランドと対比することを特徴とするスマートカード装置。
【請求項４】
請求項２又は３記載のスマートカード装置において、比較手段（３４）は、スクリプト・エンジンによって実行されるＡＰＤＵのコード及びオペランドの少なくとも一方を、複数の参照値を表す参照コード又はオペランドと対比することを特徴とするスマートカード装置。
【請求項５】
請求項１〜４いずれかに記載のスマートカード装置において、比較手段（３４）は、アプリケーションにおいて実行されるコマンド・シーケンスを、参照シーケンスと対比することを特徴とするスマートカード装置。
【請求項６】
請求項１〜５いずれかに記載のスマートカード装置において、比較手段（３４）は、予期される１又は複数のコマンド若しくはコマンド・シーケンスを表す１又は複数の参照コマンドとの一致を検出しない場合に、データ、ファイル・システム、コマンド、又はセキュリティ条件への更なるアクセス又は編集を制限又は阻止することを特徴とするスマートカード装置。
【請求項７】
請求項１〜５いずれかに記載のスマートカード装置において、比較手段（３４）は、１又は複数の参照コマンドとの一致を検出した場合に、データ、ファイル・システム、コマンド、又はセキュリティ条件への更なるアクセス又は編集を制限又は阻止することを特徴とするスマートカード装置。
【請求項８】
請求項１〜７いずれかに記載のスマートカード装置において、スクリプト・エンジン（３２）は、自己記述メッセージ用のウエブ（インターネット）標準言語にフォーマットされた少なくとも１つから導出された１又は複数のＡＰＤＵを実行可能であることを特徴とするスマートカード装置。
【請求項９】
請求項１〜８いずれかに記載のプログラム可能なスマートカード装置をコンフィギュレーションする方法において、
該プログラム可能なスマートカード装置をカードリーダにおいてインターフェースするためのカード読取インターフェース装置を用意するステップと、
プログラム可能なスマートカード装置に、オンデバイス・ファイル・システムの構造及びコンテンツの定義、又は該ファイル・システム又はそれに関連するセキュリティ条件にアクセスするために使用されるコマンドを編集するための少なくとも１つのＡＰＤＵを備えているアプリケーション・スクリプトをロードするステップと
からなり、
プログラム可能なスマートカード装置にアップロードされるスクリプトはさらに、比較手段をコンフィギュレーションするためにスマートカード装置上でスクリプト・エンジンによって実行されるセキュリティＡＰＤＵを備えており、比較手段は、オン・デバイス・データ、ファイル・システム、若しくは、該ファイル・システム又はそれに関連するセキュリティ条件にアクセスするために使用されるコマンドにアクセス及び編集の少なくとも一方を行うために、アプリケーションの実行において使用されるコマンドを、１又は複数の参照コマンドと対比するよう構成されており、
データ、ファイル・システム、コマンド、又はセキュリティ条件へのアクセス又は編集は、比較手段によって実行された比較結果に応じて、制限又は阻止される
ことを特徴とする方法。
【請求項１０】
請求項９記載の方法において、複数の異なるアプリケーション・スクリプトがプログラム可能なスマートカード装置にロード可能であり、アプリケーション・スクリプトは、各々、関連するセキュリティＡＰＤＵを有し、該セキュリティＡＰＤＵは、アプリケーション・スクリプトがロードされるときは常にスマートカード装置にロードされて、スクリプト・エンジンによって異なるアプリケーション・スクリプトが実行される度に、比較手段が再度コンフィギュレーションされることを特徴とする方法。
【請求項１１】
請求項９又は１１０記載の方法において、アプリケーション・スクリプト及びセキュリティＡＰＤＵは、自己記述メッセージ用のウエブ（インターネット）標準言語にフォーマットされた少なくとも１つのファイルから導出されることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、国際特許出願番号ＷＯ０３／０４９０５６号に記載されたスマートカード・システムの改善に関する。より詳細には、本発明は、このようなシステムにおける改善されたセキュリティ・アレンジメントの可能性に関する。
【背景技術】
【０００２】
上記のようなスマートカード・システムは、ファイル・システムを担持しているプログラム可能なスマートカード装置を備えている。該スマートカード装置は、オン・デバイス・ファイル・システムがオフ・デバイス・ファイル及びアプリケーションの少なくとも１つをインターフェースすることができるようにするためのソフトウエアを実行し、かつ、スマートカード装置は、１又は複数のアプリケーション・プロトコル・データ・ユニット（ＡＰＤＵ）を実行することができるスクリプト・エンジンを備えて、ファイル・システムの構造及び／又はコンテンツ、若しくは、ファイル・システム又は該システムに関連するセキュリティ条件にアクセスするために使用されるコマンドを編集することができるように構成されている。
【０００３】
このようなシステムにおいて、プログラム可能なスマートカード装置は、１又は複数のアプリケーションと、該装置上のメモリに記憶されたデータ・ファイルとの少なくとも一方を担持している。例えば、ファイルは、カード保持者の銀行収支の詳細、又は、既に実行された又は実行すべきファイナンシャル・トランザクションの詳細を記憶する。データを安全に保護するために、これらファイルを保持するメモリ及びこれらに含まれるデータは、カード自体上にあるプロセッサによってのみアクセス可能である。該プロセッサは、スクリプト・エンジンを備え、該スクリプト・エンジンは、該カードが挿入されて接続されたインターフェース装置からアップロードされたスクリプトを実行することができ、それにより、該カード上のファイル・システムの構造又はコンテンツ、若しくは、該ファイル・システム又は該システムに関連するセキュリティ条件にアクセスするために使用されるコマンドを編集（修正）することができる。
【０００４】
国際特許出願番号ＷＯ０３／０４９０５６号のシステムにおいて、スクリプトは、自己記述メッセージ用のウエブ（インターネット）標準言語にフォーマット化されたファイルとして書かれており、インターネットを介して中央の銀行ルームから１又は複数のインターフェース装置に安全に転送される。該インターフェース装置において、スクリプトがユーザのスマートカード装置にロードされる。このように、インターネットを介して、拡張マークアップ言語（ＸＭＬ）等のウエブ標準言語のファイルを転送することができるので、スマートカード装置上に保持されたアプリケーション・ソフトウエアへのアップグレードを分配することができ、又は、システムにおいて使用されたカード上のデータを編集すなわち再フォーマット化を、良好な安全レベルを保持しつつインターネットを用いて直ちに実行することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、国際特許出願番号ＷＯ０３／０４９０５６号の基本的システムは安全ではあるが、該システムのセキュリティを更に改善することが望まれている。ファイナンシャル・トランザクション等を処理する高度に安全のスマートカード・アプリケーションについて、スマートカード装置へのコマンド及びスマートカード装置からのレスポンス（応答）のシーケンスは、特殊なフローに沿って行われる必要がある。ガード上で実行されるアプリケーション特定用ソフトウエアを開発することができるが、該ソフトウエアは、期待される次のコマンドを受け取った場合にのみ通常応答し、逆に、コマンドが期待されるものではない場合にエラーが発行されるものである。したがって、この手法は、特にアップグレード及び編集の管理において、通常の問題点をすべて有してしまうことになる。
【課題を解決するための手段】
【０００６】
本発明におけるスマートカードは、スクリプト・エンジンにより実行されるセキュリティＡＰＤＵによってコンフィギュレーション（環境設定）可能な比較手段を備え、該比較手段は、アプリケーションを実行するためのコマンドを１又は複数の参照コマンドと比較するよう構成され、その対比結果に基づいて、オン・デバイス・データ、又は、ファイル・システム、又は該システムにアクセスするために使用されるコマンド、又は、該システムに関連するセキュリティ条件にアクセス及び編集し、かつ、データ、ファイル・システム、コマンド、又はセキュリティ条件への更なるアクセス及び編集を制限又は阻止する。
【０００７】
このように、国際特許出願番号ＷＯ０３／０４９５６に開示されたスマートカード装置において、スクリプト・エンジンが該カードをセットアップするために使用されているが、一方、コマンド・コードのみの対比又はコード及びオペランド両方の対比のいずれかにより、スマートカードはあるコマンド・シーケンスの発生を予期しそれを監視するように該カードをセットアップすることによって、改善されたセキュリティを提供することができる。
本発明はまた、上記のようにスマートカードをコンフィギュレーションするための方法を提供する。
【発明を実施するための最良の形態】
【０００８】
以下に、本発明のスマートカード装置の概略図を示す図面を参照して、本発明の実施例を詳細に説明する。
先に概略を述べたシステムにおいて使用されるスマートカード装置１０を図に示している。
スマートカード装置１０は、ファイル２２及び２４を記憶したオン・デバイス・メモリ２０と、スクリプト・エンジン３２及びコンフィギュレーション可能なコンパレータ３４を備えたプロセッサ３０とを備えている。上述したように、オン・デバイス・メモリ２０は、プロセッサ３０によってのみアクセス可能であり、スマートカード装置１０の外部から直接アクセスすることができない。スマートカード装置１０はまた、インターフェース手段４０を備え、該インターフェース手段は、スマートカード装置１０が外部のインターフェース装置（不図示）とインターラクト（対話）することを可能にしている。
【０００９】
例えば、格納されたファイル２２及び２４は、スマートカード装置のユーザが保持しているファイナンシャル預金口座に関する現在の口座残高及び直近の口座残高をそれぞれ表すデータを含んでいる。スマートカード装置が使用されてユーザの口座から資金の転送が是認されると、スマートカード装置１０は、インターフェース装置と対話（インターラクト）して、１又は複数のアプリケーション・プロトコル・データ・ユニット（ＡＰＤＵ）を含んでいるファイルをアップロードする。ＡＰＤＵは、スマートカード装置１０上でスクリプト・エンジン３２によって実行されて、装置のメモリ２０に保持された種々のファイルのコンテンツ（内容）を修正する。トランザクションは、通常極めて複雑であり、多数のファイルのコンテンツを修正するための多数のコマンドを必要としているが、本明細書では、説明の単純化のためにただ１つの修正のみについて説明する。
【００１０】
スマートカードのユーザが該スマートカード装置１０を使用して、支払いを第３の団体に認可する場合、ファイル２２に格納された現在の残高が、直近の残高を格納するファイル２４にコピーされ、そして、ファイル２２における現在の残高がより低額の新しい残高を示すように更新される。
【００１１】
このようなトランザクションにおいては、該トランザクションを有効化するために、スクリプト・エンジン３２によって実行されるＡＰＤＵにおけるコマンド・シーケンスに、以下のコマンド対を発見することを予期する。
ファイル２２の値をファイル２４にコピー
ファイル２２への新しい現在の残高の書き込み
【００１２】
上述したシステムにおいて、トランザクションを開始すべき場合、スマートカード装置１０は、インターフェース装置に挿入又は接続され、１又は複数のＡＰＤＵを装置のプロセッサ３０にアップロードし、該ＡＰＤＵがスクリプト・エンジン３２によって実行されて、内部のファイル２２及び２４におけるデータが編集される。本発明によれば、ＡＰＤＵはセキュリティすなわち「ウオッチドッグ」ＡＰＤＵを含んでおり、このＡＰＤＵにより、実行されるトランザクションに対応する適宜の方法でコンパレータ３４がコンフィギュレーションされる。これにより、セキュリティＡＰＤＵは、参照コマンド又は参照コードを提供し、該参照コマンド又はコードに対して、スクリプト・エンジン３２によって実行されるコマンドがチェックされる。
【００１３】
上述した例において、セキュリティＡＰＤＵは、スクリプト・エンジン３２によって実行されたときに、コンパレータ３４をコンフィギュレーションし、該コンパレータ３４が、期待されるコマンド対、すなわち、「ファイル２２の値をファイル２４にコピー」及び「ファイル２２への新しい現在の残高の書き込み」を検出する。コンパレータが一致を検出しない場合、トランザクションは中止される。
【００１４】
上記の例は極めて単純であるが、コンパレータ３２が同様な方法でより長いコマンド・シーケンスを監視するようにコンフィギュレーションすることができることは、当業者には理解されるであろう。
【００１５】
さらに、コンパレータ３２は、コマンドの一部のみをセキュリティＡＰＤＵによって提供された参照のものと対比するようにコンフィギュレーションすることもできる。例えば、「コピー」コマンドが、実行される特定のトランザクションのコンテンツにデータがコピーされることが期待される箇所からのファイルの名前又は識別子を含んでいるかどうかを決定してもよい。このようにする代わりに、コマンド内のオペランド、すなわち、監視されるシーケンスのみが対比されて、「コピー」コマンドの次に「書き込み」コマンドが常に続いているかどうかをチェックするようにしてもよい。
【００１６】
ある環境下においては、コンパレータ３２をコンフィギュレーションして、一致が検出された場合に、トランザクションを中止するようにしても良い。上述したトランザクションにおいて、例えば、スクリプト・エンジン３２にファイル２４からファイル２２へのコピーをするための正当な道理がなく、それが検出された場合、それは不正が行われていることを意味する。したがって、コンパレータ３４は、「ファイル２４空ファイル２２へのコピー」のコマンドの出現を検出するようにコンフィギュレーションし、これにより、スマートカード装置１０上のファイル又はデータの更なる修正を制限又は阻止することができる。
【００１７】
トランザクションを許可するポジティブな一致を検出する際、ネガティブな一致は部分的対比に基づいている。例えば、コンパレータ３４は、特定のオン・デバイス・ファイルの名前、例えば特定のコマンド・シーケンスに記述されているべきではない「ファイル２４」等の特定のコードを検索するようにコンフィギュレーションしてもよい。
【００１８】
このようにする代わりに、コンパレータ３４は、コマンド・コードとオペランドとの組み合わせを検出するようにしてもよい。上述の例では、コンパレータ３４は、ファイル２４からのコピーを要求する任意のコマンドを検出するようにしてもよく、これは、このようなコマンドが当該トランザクションを有効化するために不適当であるからである。
【００１９】
複雑な状況下において、スクリプト・エンジン３２及びセキュリティＡＰＤＵによる参照の組とのポジティブな一致又はネガティブな一致が希望されると、コンパレータ３４は、１つのコマンドではなく特定の複数のコマンドからなるコマンド・シーケンスを検出するようにコンフィギュレーションされる。期待されるコマンドの組が単純な線形的シーケンスではなく、国際特許出願番号ＷＯ２００５−０６４５５５号に記載されているようなロジック又は算術駆動ブランチを含んでいる場合、スクリプト・エンジンの能力が用いられて、コンパレータ３４を介してこれらのコマンド経路をマッピングする。
【００２０】
コンパレータ３４はまた、必要に応じて、単一ではなく複数の可能な期待される所定の組又は範囲とコマンドを対比するようにコンフィギュレーション可能である。
【００２１】
このように、ＡＰＤＵの「期待されるコマンド」スクリプト及びコンパレータが協働して１つの状態マシーンのように機能し、該スクリプト内のコマンドが期待されるコマンド・シーケンスを表しているかどうかを、現れるべきコマンド又は現れるべきではないコマンドを検出し、ある特定の対比において所定の結果が得られた場合に、状態を「エラー」と設定する。
【００２２】
トランザクションが行われようとするときに、スマートカード装置１０に設けられたコンパレータ３４が各トランザクションに関するコマンド・シーケンスの部分としてアップロードされたセキュリティＡＰＤＵに依存して、スクリプト・エンジン３２によってコンフィギュレーションされるので、実行されるトランザクションのタイプに適するチェックを、コンパレータ３４が行うことが好適である。
【００２３】
スマートカードの技術分野以外の従来例装置は、対比をすることができるチェック装置又は監視装置を使用しているが、これらの装置は、従来例装置内にハード・ワイヤされたものであり、多数の異なるタイプのトランザクションを提供する必要があることから、スマートカード装置に搭載可能なものよりも多くの処理パワー及びメモリ容量を必要とする。トランザクションを行おうとするときに該トランザクションに関してコンフィギュレーションされたコンパレータ３４を使用することによって、従来のスマートカード・システムにおいては不可能であった高レベルのセキュリティ・チェックを提供することができ、しかも、スマートカード装置上に搭載可能な比較的小型のプロセッサ及びメモリの制限の下で、それを実現することができる。
【００２４】
さらに、コンパレータ３４をコンフィギュレーションするためにスクリプト・エンジン３２によって使用される、トランザクションの各タイプ用のセキュリティＡＰＤＵは、セキュリティ上において新たな不正行為が発見され又はトランザクションの新たな形態が実施された場合、必要に応じて直ちに修正することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明に係るシステムにおいて使用されるスマートカードの構成を示すブロック図である。
【図１】
2009506447.tif 000003
【国際調査報告】
2009506447.tif 000004
2009506447.tif 000005