JP4348190B2 - スマートカード・システム - Google Patents

スマートカード・システム Download PDF

Info

Publication number
JP4348190B2
JP4348190B2 JP2003550174A JP2003550174A JP4348190B2 JP 4348190 B2 JP4348190 B2 JP 4348190B2 JP 2003550174 A JP2003550174 A JP 2003550174A JP 2003550174 A JP2003550174 A JP 2003550174A JP 4348190 B2 JP4348190 B2 JP 4348190B2
Authority
JP
Japan
Prior art keywords
file
card
script
interface device
file system
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
JP2003550174A
Other languages
English (en)
Other versions
JP2005512205A5 (ja
JP2005512205A (ja
Inventor
ブレズリン,アンソニー
ピータース,マイケル
ホックフィールド,バリー・シン
Original Assignee
エセブス・リミテッド
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26246850&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP4348190(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from GB0129360A external-priority patent/GB0129360D0/en
Application filed by エセブス・リミテッド filed Critical エセブス・リミテッド
Publication of JP2005512205A publication Critical patent/JP2005512205A/ja
Publication of JP2005512205A5 publication Critical patent/JP2005512205A5/ja
Application granted granted Critical
Publication of JP4348190B2 publication Critical patent/JP4348190B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3574Multiple applications on card

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、いわゆる「スマートカード」などのプログラマブルデバイスを使用するシステムに関連し、そのシステムには、そのようなデバイスを財務トランザクションのために利用するシステムが含まれる。詳細には、本発明は、少なくとも1つのオンデバイスのファイルおよび/またはアプリケーションを担持するプログラマブルデバイスと、少なくとも1つのオフデバイスのファイルおよび/またはアプリケーションを備えたインターフェースデバイスであって、プログラマブルデバイスまたは各プログラマブルデバイスとインターフェースをとるためのインターフェースデバイスとを含むシステムにおいて使用するためのプログラマブルデバイス、インターフェースデバイス、およびオペレーティングソフトウェアを担持するマシン可読媒体に関連し、そのオペレーティングソフトウェアは、使用中、オンデバイスのファイルおよび/またはアプリケーションとオフデバイスのファイルおよび/またはアプリケーションが互いにインターフェースをとることを可能にする。
今日のスマートカードソリューションのほとんどは、メーカ独自のものであり、特定のビジネス問題を解決するように構築されている。システムは、いくつかのISO標準に基づいているが、一般に、それらのシステムは、すべてメーカ独自の技術に基づくスマートカード自体、カードアプリケーション、および端末アプリケーションから、構築されている。これは、顧客を納入業者に縛る効果を有する。
また、そのようなシステムは、開発する費用がかさみ、柔軟性を欠き、変更するのが困難であり、展開し、管理するのが困難でもある。
以上の問題が、より広い市場におけるスマートカード技術の到来を遅らせている。
しかし、これは、大手の発行銀行によって「EMV」(ユーロペイ(Europay)、マスターカード(Mastercard)、およびビザ(Visa)の支払アプリケーション規格)の標榜の下に発行されるチップ対応のクレジットカードおよびデビットカードの幅広い採用とともに変わらなければならない可能性がある。銀行業とは別に、大量輸送、政府機関および地方自治体機関、教育関係省庁、医療機関、および軍隊を含め、その他のセクタも、スマートカード技術を使用する可能性に注目している。以上のセクタのすべてが、スマートカードアプリケーションを使用することによって最もよく満たすことができる、安全なIDから、カード所持者認証、愛顧感謝ボーナススキーム、ならびに健康記録などの個人情報を格納することまでを含む要件を有する。そのようなシステムは、様々な一連のスマートカードアプリケーションを利用してその要件を実行し、管理することができる。
今日、スマートカード対応になることが可能な非常に多くの他のシステムが存在するが、そのようなシステムの統合は高価であり、多くのメーカ独自のソリューションが関与するため、顧客を特定のカード納入業者に縛ることにもなりがちである。
今日、次の2つのカテゴリのスマートカードソリューション、すなわち、特別仕様で作られ、単一の特定のタイプのチップ上で実行されるメーカ独自の単独アプリケーションと、常駐アプリケーションから基礎にあるチップの実装を隠すオペレーティングシステムを利用するマルチアプリケーション・オペレーティングシステムとが存在する。
メーカ独自の単独アプリケーション・システムが利用可能な場合、別のタイプのチップにアプリケーションを移植することは、時間がかかり、高価なプロセスになる可能性があるが、システムにおいて使用されるカード自体は安価である。
他方、マルチアプリケーション・スマートカード・システムは、新しいアプリケーションとしての構成するのが非常に容易であり、あるいはアプリケーションの新しいバージョンを、ライブの動作中にスマートカードにロードすることができる。顧客は、特定のカード納入業者に縛られず、そのバージョンのオペレーティングシステムをサポートする任意のチップを選択することができる。ただし、マルチアプリケーション・オペレーティングシステムは、不正なコードまたはデータがカードにロードされること、またはカード上のアプリケーションの許可のない削除を防止するように強いセキュリティで保護されていなければならない。これらのセキュリティ機能、ならびに関連するキー管理の実装により、マルチアプリケーション・システムで使用されるカードは高価になり、管理するのが難しくなり、カードにアプリケーションをロードするための能力、ならびにカードからアプリケーションを削除するための能力を提供するのに複雑なインフラストラクチャを要する傾向がある。
さらに、マルチアプリケーション・システムの耐用年数の間に、カード上でも、カード外でも、システムに変更を行わなければならない可能性が高く、これもやはり、高価な、時間のかかる作業になる可能性がある。
本発明によれば、自己記述メッセージ用のWeb(インターネット)標準言語でフォーマットされた少なくとも1つのファイルを特徴とするオペレーティングソフトウェアを担持するプログラマブルデバイス、インターフェースデバイス、またはマシン可読媒体が提供され、前記ファイルは、オンデバイスのファイルおよび/またはアプリケーションとオフデバイスのファイルおよび/またはアプリケーションがインターフェースをとることを可能にするファイルシステムと、ファイルシステムにアクセスするためのファイルコマンドとの少なくともいくつかを含む。
好ましくは、自己記述メッセージのためのWeb標準言語は、拡張マークアップ言語(「XML」)である。
さらなる好ましい実施形態では、自己記述メッセージ用のWeb(インターネット)標準言語でフォーマットされた前記ファイルまたは各ファイルが、圧縮フォーマットでデバイス上に格納される。これにより、端末装置またはインターフェースデバイスが、カードの中のファイルシステムのフォーマットを「検出する」ことができるようになり、より容易な管理が可能になる。
一実施形態では、本発明のシステムは、ISO7816に準拠するスマートカードアプリケーションと対話するコンポーネントベースのアーキテクチャ・フレームワークである。このアーキテクチャにより、新しいアプリケーションおよび既存のアプリケーションが、スマートカード上に格納された情報と対話することが、その情報がどのようにどこをソースとしているかの知識を全く有さずに、できるようになる。システムは、実行時に、1組のセキュリティポリシーおよびセキュリティ条件を使用して、カード上に格納されたファイルおよびオブジェクトに対するアクセス権を決定し、相応してシステムの挙動を変化させる。例えば、ファイルに対する読み取りコマンドが、ユーザにPIN認証を受けさせることを要する場合、製品は、製品がデータを読み取る前に、ユーザがPINを入力し、PINが検証されることを確実にする。スマートカードは、アプリケーションと同じセキュリティポリシーおよびセキュリティ条件を実施し、したがって、カード上のオブジェクトに対する適切な許可されたアクセスを確実にする最終的な責任を負う。
ファイルシステム、ファイル構造、およびファイル内容、ファイルシステムにアクセスするためのコマンド、ならびにファイルシステム内のファイルに関連するセキュリティ条件はすべて、自己記述メッセージ用のWeb標準である拡張マークアップ言語(「XML」)でフォーマットされたファイルを使用して一意的に記述することができる。
このシステムは、スマートカード常駐アプリケーション、および対応するカードを受け入れる端末装置を以下のステップによって迅速かつ安価に市場に出すことができるという利点を有する。すなわち、
既製のXMLコンフィギュレータツールを使用してファイルシステムおよびセキュリティ環境条件を構成するステップ、
カード上でファイルシステムおよびセキュリティを作成するステップ(適切なアプリケーションが既にロードされているものと想定して)、および
XMLファイルを構築情報ドキュメントとして使用して1組のあらかじめ構成された機能から将来のカードアプリケーションを構築するステップである。
XMLスタイルシート、およびその他の標準の技術を使用してXMLドキュメントから、特定のクライアントユーザインターフェースアプリケーションおよび汎用のクライアントユーザインターフェースアプリケーションを、迅速に開発することができる。また、再構成可能なコンポーネントおよび既存のアプリケーションが、システムのXMLインターフェースを使用してスマートカード情報にアクセスし、許可された場合、そのデータを変更して、カードに再び書き込むことができる。
本発明によるシステムの実施形態を、例として、図面を参照して以下に詳細に説明する。
以上に概説したとおり、本発明のシステムは、汎用コンポーネントを使用してオフカードのアプリケーションにオンカードのアプリケーションに対するアクセスを提供することを目的とする。この汎用コンポーネントは、本発明によれば、構成データを格納するように、XMLファイル、またはその他のWeb標準マークアップ言語の使用を介して非常に容易に構成される。このファイルは、以下を記述する。すなわち、
カードアプリケーションに送ることができる「APDU」(アプリケーション・プロトコル・データ・ユニット)コマンドの内容および構造、
カード上の安全なファイルシステム上で読み取ることができ、更新することができるデータの構造および内容、および
カード上のオブジェクトに対するコマンドに関連するセキュリティ条件およびセキュリティ・アクションである。
システムが始動した際、システムのスマートカード端末読み取り装置が構成される。オフカードのアプリケーションが、コントローラコンポーネントに登録されて、一部のカードアプリケーションに関心があることを示す。カードがカード読み取り装置に挿入された際、コントローラコンポーネントがカードに問い合わせて、カード上で実行されているアプリケーションを特定する。コントローラは、次に、見つかったオンカードのアプリケーションに関心があるすべてのオフカードのアプリケーションに通知を行う。すると、これらのオフカードのアプリケーションコンポーネントは、カードが取り外されるまで、オンカードのアプリケーションと対話することができる。
コントローラコンポーネントは、オフカードのアプリケーションによるカード上のアプリケーションに対するアクセスを整理して、カードアプリケーションとオフカードアプリケーションが対話している間の同期問題を防止する。
図1は、本発明のシステムのコンポーネント・アーキテクチャを示している。システムは、様々なオンカードのアプリケーション11を担持するスマートカード10を含む。システムは、読み取り装置抽象レイヤ20、カードデータ表現30、および一般ビジネスオブジェクト40を含むカード読み取りインフラストラクチャ19をさらに提供する。
図1に示すとおり、オフカードアプリケーションは、読み取り装置抽象インターフェース22および汎用カードアプリケーションハンドラ24を含む読み取り装置抽象レイヤ20を含む。
読み取り抽象インターフェース22は、システムのスマートカード端末装置の中に存在するカード読み取り装置(図示せず)を介してオンカードのアプリケーションとインターフェースをとる。インターフェース22は、システムにおいて使用されるカード読み取り装置およびカード読み取り装置ドライバをカプセル化して、この装置およびドライバを、呼び出し側コンポーネントから隠す。好ましい実施形態では、読み取り装置抽象インターフェースは、任意のPC/SC対応またはオープン・カード・フレームワーク(OCF)対応の読み取り装置ドライバを使用してスマートカードアプリケーションに対するアクセスを提供するオープンソースのJava(登録商標)ベースのスマートカードフレームワークであるOCFのまわりの独自ラッパである。このインターフェースは、OCFを代替の、例えば、小型デバイスプラットフォーム上のメーカ独自の読み取り装置アプリケーション・プログラミング・インターフェース(「API」)とインターフェースをとることができるフレームワークで置き換えることにより、OCFへの依拠を回避する形で設計することもできる。
読み取り装置抽象レイヤ20の第2のコンポーネントである汎用カードアプリケーションコマンドハンドラ24は、カードアプリケーションごとに動作し、APDUコマンドを策定し、そのコマンドをカードアプリケーションに読み取り装置抽象インターフェース22を介して送ることを主に担う。適切な汎用カードアプリケーションコマンドハンドラは、例えば、ISO規格7816パート4によって定義される。
汎用カードアプリケーションコマンドハンドラ24は、オンカードのアプリケーションと通信することを望むクライアントコンポーネントにdoCommandなどのメソッドを提供する。クライアントコンポーネントは、実行されるべきコマンドのタイプ、コマンドが実行されるべき対象のオブジェクト、ならびにコマンドが実行されるべき対象のファイルのIDなどのあらゆる他の関連のある情報を示す。例えば、クライアントコンポーネントは、selectFileというコマンドが、file1という名前の付いた基本ファイルに対して実行されるべきことを示すことができる。
次に、コマンドハンドラ24は、クライアントコンポーネントからの情報と、オンカードアプリケーションによってサポートされるすべての有効なコマンドの構造およびフォーマットを含むあらかじめ構成されたXMLファイルとを使用して、適切なAPDUコマンドを構成してカード10に送る。コマンドがXMLファイルの中で見つからない場合、そのコマンドは、カード上でサポートされる有効なコマンドではない。通常、APDUの中のデータブロックは、最大で256バイトのデータしか含むことができない。それより大きいデータブロックの場合、コマンドハンドラ24は、すべてのデータがカード10に送られるまで、最大で256バイトをそれぞれが含むいくつかのAPDUコマンドを構成し、送らなければならない。
汎用カードアプリケーションコマンドハンドラ24が、操作の成功、あるいはそうでないことを示すAPDU応答を、読み取り装置抽象インターフェース22から返されて受け取る。APDU応答は、カードからのデータを含むデータブロックまたはデータブロック群を含むことが可能である。これらが、呼び出し側コンポーネントに戻される。
カードデータ表現レイヤ30は、カードアプリケーションファイルシステムの内容をカプセル化し、明確に定義されたインターフェースを介してそのデータに対するアクセスを提供するカードアプリケーションファイル内容マネージャ32を含む。ファイルシステムの内容は、XMLドキュメントで表現され、XMLドキュメントの中に格納される。
クライアントコンポーネントが、内容マネージャ32からのデータの要求を行い、要求のデータを含むXMLノードを戻される。データに対する更新は、内容マネージャ32を介しても行われる。すなわち、クライアントコンポーネントが、更新済みのデータを含むXMLノードを送り、このノードが、汎用カードアプリケーションコマンドハンドラ24によってオンカードのアプリケーションに送られるコマンドに変換される。内容マネージャ32は、XMLエンコーダ/デコーダ36を使用して、オンカードのアプリケーションから内部フォーマットで受け取られたデータを解析してXMLにし、その逆も同様に行う。XMLエンコーダ/デコーダは、カードから受け取られたデータを取り込み、そのデータを適切なXMLノードの中に、あるいは、代替として、XMLノードを取り込み、カードアプリケーションによって要求される形態で適切なオブジェクトを構成する。例えば、カードアプリケーションは、データをTLV−BER(タグ、長さ、値−基本的なエンコード規則)フォーマットで格納することが可能であるが、内容マネージャ32は、そのようなデータをさらなる処理のためにXMLノードにエンコードしてXMLノードにする。
また、内容マネージャ32は、カードセキュリティ−アクセス権マネージャと協力して、ファイルシステム内のファイルに対するコマンドのアクセス権を決定する。これにより、データを受け取るクライアントに、データが読み取り専用であるか、更新専用であるか、またはクライアントが読み取りアクセスおよび書き込みアクセスを有するかどうかが通知される。
端末装置には、カードフォーマットごとに1つのXMLドキュメントが関連付けられている。このドキュメントは、ファイル名で識別され、そのカードのオンカードのアプリケーションに関するすべてのファイル関連データを含む。このドキュメントは、すべての専用ファイルおよび基本ファイル、それらのファイルの中に含まれるデータ、関連するデータ範囲(つまり、最小値および最大値)、ならびにそれらのファイルに対するコマンドに関するセキュリティ条件を明らかにする。また、このドキュメントは、ファイルの中のデータに埋め込まれたビジネス規則も含み、タスクエンジンが、解釈を行い、適切なアクションを行うことができるようにしていることが可能である。
このXMLドキュメントは、圧縮フォーマットでファイルシステム上およびカード上に格納することができる。XMLドキュメントは、カードに必要なカードアプリケーション機能をポピュレートするオンカードのプロセスにおいても使用される。
カード読み取り装置インフラストラクチャの一般ビジネスオブジェクトレイヤ40は、カードセキュリティと、XMLファイルの中に表現されたセキュリティポリシーおよびセキュリティ条件を使用して、カード10上に格納されたオブジェクトに対するオフカードのアプリケーションのアクセス権を決定するアクセス権マネージャ(「SARM」)42とを含む。
SARMは、以下の手段を提供する。すなわち、
オブジェクトに対する特定の操作が許されるかどうかを判定する手段、
オブジェクトに関するセキュリティ条件を特定し、オブジェクトに関連するポリシーおよび条件に基づいて要求される認証を行い、例えば、SARMが、適切な場合、グローバルPINを使用して認証を行う手段、
デジタル署名を行い、署名を検査し、暗号化し、復号化する手段
システムに挿入されたカードの妥当性を検査する、つまり、カードがブロックされているか、失効しているか等を検査する手段、および/または
カードアプリケーションの妥当性を検査する、つまり、カードアプリケーションがブロックされているか、失効しているか等を検査する手段である。
SARM設計は、ISO7816パート4、セキュリティ環境(「SE」)の実施に基づいている。SEは、オブジェクトに関するセキュリティポリシーおよびセキュリティ条件の実際の実施を制御し、異なるカードアプリケーションにわたって共有されることが可能である。SEは、アプリケーション特有であり、特定のビジネス環境に関する安全な機能を制御していることも可能である。
カードおよびカードアプリケーションの状態は、カードの使用、ならびにファイルシステム内のオブジェクトに対して許されるアクセスタイプに直接に影響を及ぼす。例えば、カードがブロックされており、したがって、ブロック解除コマンドだけが許されることが可能であり、あるいはカードがPIN検証されて、ファイルシステム内の一部のファイルに読み取り/書き込みアクセスを許し、他のファイルに読み取り専用アクセスを許し、残りのファイルにアクセスを全く許さないことが可能である。
許される状態、および状態の変化をもたらすアクションは、図2を形成する状態図の中で定義される。図に示す認証状態は、カードが動作する状態にある場合にだけ該当する。カードのライフサイクルの他の段階では、他のセキュリティ状態が存在することが可能である。
カードオブジェクトに対するアクセス権は、カード上、およびカードXMLドキュメントの中で定義される。説明する実施形態において、サポートされることが可能な2つの例示的なスキームは、以下のとおりである。すなわち、
ISO7816−4(2002)、セキュリティ環境ベース、または
ユーザの諸カテゴリがオブジェクトに対する異なるアクセス権を有することを可能にするマスクベースのアクセス権である。
現在の状態および現在のアクセス権を提供するアクセス権状態オブジェクトが作成される。
図3は、2つのカードのトランザクションに関する制御の典型的な認証の流れを、両方のカードがユーザ認証されてからでないとトランザクションを行うことができない場合において示している。
図3の認証スキームの場合、カードアプリケーションオブジェクトは、要求された操作が許されることを示すアクセスモード(AM)バイトを有する。
AMバイトの中で、各ビット7〜1は、ゼロに設定されている場合にセキュリティ条件バイトの欠如を、あるいは1に設定されている場合にそのようなバイトの存在を同じ順序7〜1で示す。ビット8が1に設定されている場合、その他のビット7〜4の一部は、他のコマンド、例えば、アプリケーション特有のコマンドのために使用することができる。2002年4月に公表されたISO規格案7816パート4が、専用ファイル(DF)、基本ファイル(EF)、データオブジェクト、データテーブル、およびデータビューに関するAMバイトを定義している。
アクセスモードバイトに関連しているのが、オブジェクトがユーザ検証および外部認証を要求することを示すセキュリティ条件(SC)バイトである。
SCバイトは、どのようなセキュリティ条件が満たされなければならないか、ならびに、どのようにその条件が満たされるべきかを明示するセキュリティ環境(SE)の参照を定義する。アクセスモードバイトおよびセキュリティ条件バイトは、カード上のファイルベースのオブジェクトを記述するのと同じXMLドキュメントの中にエンコードされる。
セキュリティ環境(SE)は、ISO7816−4(2002)において定義され、完全に仕様が定められたセキュリティ機構のセットをグループ化するのに使用される。SEは、実行されるべき暗号アルゴリズム、動作モード、使用されるべきキー、ならびに初期ブロック値などの要求されるさらなるデータを参照するのに使用することができる。SEは、SCバイトによって要求され、SCバイトの中で定義されるセキュリティ機能をサポートしなければならない。SEがサポートすることが要求される可能性がある機能のリストは、以下のとおりである。すなわち、
外部アーキテクチャ検査(正しいキーが外部から認証が行われていることを検証する)、
PIN検査(正しいPINまたはユーザ認証(バイオメトリック)データがサブミットされていることを検証する)、
復号化(コマンドまたはコマンドデータを復号化する)、
暗号化(応答データを暗号化する)、
署名検証(受け取られたMACを検証する)および
署名生成(応答データについてMACを生成する)である。
SEは、以上の機能のすべてをサポートする必要はなく、SEが一部を成すアプリケーションによって使用される機能だけをサポートすればよい。各アプリケーションは、それ自体のSEを提供することも、カードプラットフォームによって提供されるグローバルSEを使用することもできる。SEは、以下により詳細に説明するとおり、構成可能であることが可能である。
オフカードのアプリケーションが、特定のオブジェクトに対する操作を扱うことを要求する。SARMが、AMおよびSCを使用してSEのインスタンスを生成する。SEは、グローバルPIN認証が要求されると判定し、CardHolderVerifier上でdoUserAuthenticationメソッドを呼び出すことが可能である。このクラスは、ユーザ認証を実行する。SEは、次に、外部認証が要求されると判定し、第2のカードが挿入されるのを待つか、または別のメソッドを使用して別のホストと直接に認証を実行することができる。SEは、これをユーザとのダイアログにおいて要求してもよい。
要求される場合、適切なアプリケーションを有する第2のカードが挿入される。第2のカード上のオブジェクトは、関連するAMバイトおよびSCバイトを有する。AMバイトおよびSCバイトにより、カード所持者検証が行われることが要求されることが可能であり、その場合、別のSEがこのプロセスを制御する。
第2のカードが認証されると、外部認証が行われることが可能である。SEは、内部認証コマンドを使用して第2のカードによって署名された第1のカードからのチャレンジ生成を発行する。この発行の結果が、図4に示すとおり、外部認証コマンドにおいて第1のカードに送られる。
相互認証スキームでは、各カードが互いを認証する。相互認証は、共有キースキームを使用して対称的であること、または証明書スキームを使用して非対称的であることが可能である。相互認証は、例えば、コンフィギュレータ製品を使用してシステム内で構成可能である。
SARMは、スマートカードに送られるデータ、およびスマートカードから受け取られるデータの機密性および完全性を判定するのにもAMバイトおよびSCバイトを使用する。SCバイトの中でセキュアメッセージングビットを設定して、データに関して暗号化および/またはメッセージ認証証明書(MAC)が要求されるかどうかを示すことができる。関連するSEが、使用されるべきキーを示す。
コンフィギュレータを使用して、カードアプリケーションおよびオフカードアプリケーションに関するセキュリティポリシーおよびセキュリティ条件を構成することができる。代替として、既製のXMLツールを使用してXMLドキュメントを編集することができる。ただし、後者の方法を使用すると、より誤りが生じやすい。
特定ビジネスオブジェクトレイヤ内のコンポーネントは、アプリケーション特有のクラスを含む。クラスは、アプリケーションのビジネス特有の論理を実行し、SARMおよびカードアプリケーションファイル内容マネージャのサービスを利用してカード上のデータを取り出し、更新する。クラスは、カードによって提供されるセキュリティサービスも使用する。クラスは、以上のコンポーネントと直接にインターフェースを取ることにより、または、より普通には、一般ビジネスオブジェクトを使用してこれら他のサービスにアクセスすることによってこれを行うことができる。
このレイヤにおけるアプリケーションは、クラスがカードアプリケーションの適切なバージョンと対話していることを確実にすることを担う。
カードコントローラは、カードに対するアクセスを制御して、複数のオフカードのアプリケーションがカード上のアプリケーションと対話することを望む場合に同期問題が生じないことを確実にする。
カードアプリケーションにアクセスすることを望むクライアントはまず、このコンポーネントから適切なリソースを要求しなければならない。このコンポーネントは、以下のとおりリソースを割り振る。すなわち、
他のいずれのクライアントも、現在、リソースを使用していない場合、リソースは、要求を行っているクライアントに割り振られる(これは、適切なオブジェクトに対する参照を送り返す形で行われる);
それ以外の場合、要求は拒否され、クライアントは、後に再び試みなければならない(将来、クライアントは、リソースが割り振られるのを待つか、またはコールバックを要求する);
クライアントが、トランザクションを完了した時点で、リソースを解放し、その他のクライアントがリソースに対するアクセスを得ることができるようにする。
カードコントローラは、読み取り装置抽象インターフェースとインターフェースをとり、いつカードが挿入されたか、またはいつカードが取り外されたかを特定し、以下のとおり適切なアクションを行う。すなわち、
カード挿入の場合、このコンポーネントは、カード上のアプリケーションを特定し、登録済みのオフカードのアプリケーションに通知を行い、
カード取り外しの場合、コンポーネントは、すべての登録済みのクライアントに通知を行う。次のアクションを行うのはクライアント次第である(カードは、トランザクションの最中に取り外されている可能性がある)。
XMLを使用してオフカードのファイルシステムおよびコマンド構造、ならびにオンカードのファイルシステムおよびコマンド構造を構成することは、多くの利点を有する。第1に、オフカードのシステムが、オンカードのシステムと完全に同期した状態に保たれ、この2つの統合がより迅速で、より容易になる。
W3C組織によって提案される業界インターネット標準であるXMLは、多数の既製のツールおよびパーサを生み出した。それらのツールおよびパーサは、XMLファイルを作成し、構成するのに容易に使用することができる。XMLは、システム間統合に関する事実上のインターネット標準になってきている。XMLを使用することにより、本発明のシステムは、XMLをインターフェースとして使用するシステムに容易に組み込むことができる。これにより、既存のシステムが、迅速に、安価な形でスマートカード対応になることが可能になる。
システムは、非常に構成しやすく、単にXMLファイルを変更することによってファイル、システム属性、およびセキュリティポリシーを変更することを可能にする。再設計またはコーディングを全く行う必要がない。
システムは、ビジネスアナリストおよびセキュリティアナリストが、ビジネスデータ、ならびにセキュリティを支配する規則を構成してシステムに組み込むことができるようにする。それらの規則は、オンカードのアプリケーションを構成するのに構築時に使用され、実行時におけるオンカードのアプリケーションの挙動とオフカードのアプリケーションの挙動との両方に関して使用される。
本発明のシステムによって提供されるソリューションの重要な要素は、アプリケーション管理の分野に属する。オフカードの環境に緊密に関連する極めて構成しやすいスマートカードアプリケーション環境を提供することにより、現場で、つまり、カード所持者が自身のカードをカードアプリケーションと対話することができる端末装置に提出した際に、ファイルシステムをアップグレードする可能性が許される。
そのようなアプリケーション管理の要件は、ユーザが以下を行うことができることである。すなわち、
新たなファイルシステムを作成するためにも、既存のファイルシステムを変更するためにもファイルシステムおよびファイル内容を容易に構成することができ、
新たなセキュリティ条件を作成するためにも、既存のセキュリティ条件を変更するためにもファイル上のセキュリティ条件を容易に構成することができ、
直接に、またはスクリプト処理(以下を参照)を使用してカード上のファイルシステムを作成することができ、
現場で、ファイルシステム構成を変更して、それにより、カード上のファイルシステムを変更できるようにすることができることである。
そのようなシステムの1つの前提条件は、異なるバージョンのファイルシステムを認識し、識別することができることである。前述したコンフィギュレータを使用してスマートカード上のファイルシステムを構成し、XMLシードドキュメントがポピュレートされるようにすることができる。カード発行者/スキーム所有者が、XMLファイルのベースラインを定める、そのファイルに所与のバージョン番号を与えることが許される。コンフィギュレータを使用してXMLファイルを変更して、ファイルを追加する、削除する、または変更することができる。これにより、新しいバージョンのXMLファイルが生成されることになる。
アプリケーション管理プロセスは、「端末装置主導型アップグレード」(「プロセス1」)および「スクリプト処理」(「プロセス2」)の2つの処理を包含する。これらの処理を図5に示している。
図5で「プロセス1」として示す端末装置主導型アップグレードプロセスでは、顧客は、ファイルシステムがポピュレートされたカード50を所有し、カード50が対話することが意図されている端末装置52は、そのファイルシステムの構造を記述する関連するXMLファイルを含む。カード発行者/スキーム所有者は、バックオフィスにおいてカード上のファイル構造を変更することを所望する場合、コンフィギュレータツール54を使用して所望の変更を行う。ファイルシステムに対して行われた変更を含む新しいバージョンのXMLファイルが生成される。この新しいXMLファイルは、構成バンドルの中でカード発行者/スキーム所有者のデータベース56に格納され、構成バンドルは、XMLファイルのその新しいバージョンとすべての以前のバージョンをともに含む。
カード発行者/スキーム所有者は、次に、ソフトウェア配信システムを使用して、XMLファイルをバックオフィスからすべての端末装置52に配信する。端末装置52において、XMLファイルの新しいバージョンが古いバージョンとともに格納される。
カードが挿入された際、カード50上に保持されるファイルシステムのバージョンを示すバージョン番号がカードから読み取られる。カードが、古いバージョンを保持している場合、端末装置52におけるXMLファイルのその古いバージョンが、カード50上に保持されるデータを使用してポピュレートされる。次に、カードアップグレードモジュールが実行されて、ファイルの古いバージョンを新しいバージョンに変換し、古いXMLファイルの中のカードファイルからのデータが、新しいXMLドキュメントに移される。次に、新しいXMLドキュメントが、カードに再び書き込まれ、ファイルシステムのバージョンが新しいバージョンにアップグレードされる。
カードファイルシステムが新しいバージョンにアップグレードされると、端末装置52は、新しいXMLドキュメントを使用してカードと対話する。
前述した端末装置主導型アップグレードの代わりに、アプリケーション管理は、スクリプト処理(図5の「プロセス2」)を使用して実施することもできる。
この場合も、カード発行者/スキーム所有者は、バックオフィスにおいてコンフィギュレータツールを使用して、要求される変更を行い、新しいXMLファイルをバックオフィスデータベースにおいて構成バンドルの中に格納する。
次に、コンフィギュレータツールを使用して、以前のXMLバージョンから新しいバージョンへの変化をカバーするAPDUリストが生成される。カード発行者/スキーム所有者は、元のファイルシステムを試験カード上にロードし、ファイルの中のAPDUリストをキャプチャすることによってこれを行う。次に、カード発行者/スキーム所有者は、第2のXMLファイルを試験カードに適用し、ファイルの中の送られたAPDUをキャプチャすることによって試験カード上のファイルシステムを更新する。コンフィギュレータは、2つのAPDUリストの違いを特定し、新しいAPDUを含む第3のAPDUリストを生成する。リストは、スキームに関するセキュリティアーキテクチャの中で定義されたキーおよびアルゴリズムを使用して暗号化される。
スクリプトおよび新しいXMLファイルは、端末装置52がオンラインになった時点で、またはソフトウェア配信プロセス中に各端末装置52に配信される。
端末装置において、顧客のカード50が挿入された際、カード上のファイルシステムのバージョンが、APDUリストを生成したバージョンと比較される。カードバージョンの方が古い場合、カードアップグレードモジュールが、スクリプト処理を実行してカード50をアップグレードする。アップグレードが完了すると、端末装置52は、その新しいXMLファイルを使用して、対応するバージョン番号を有するカード52上のファイルシステムと対話する。
したがって、要約すると、端末装置52において、カード統合モジュールは、構成された際にファイルに対するAPDUリストを生成し、カード50上のファイルシステムのバージョンを端末装置52上のバージョンと照合し、カード上のバージョンの方が端末装置におけるバージョンより古い場合、アップグレードが行われるべきであると判定する。
端末装置のカードアップグレードモジュールが、1つのポピュレートされたXMLファイルを新しいバージョンに変換し、カードをXMLファイルの新しいバージョンからポピュレートし、APDUリストが提供されている場合、スクリプト処理を実行する。
カード発行者/スキーム所有者のバックオフィスにおいて使用されるコンフィギュレータツールは、ファイルシステムを変更することを可能にし、ゼロからポピュレートするため、または違いに関してポピュレートするために試験カードを使用してAPDUリストを生成することを可能にし、新しいスキームの試験などの特殊なケースのために1つのAPDUリストを生成するようにAPDUリスト間の違いを扱う。
システムは、前述したセキュリティ環境が、ファイル参照を使用することも可能にする。キーとPIN(個人識別番号)をSEに関連するメモリの中にハードコードする代わりに、キー、ならびにPINなどのその他のセキュリティオブジェクトをファイルシステム内のファイルの中に格納することもできる。
それらのファイルは、端末装置によって要求されたセキュリティ操作の制御を扱うカード上のSE内から参照することができる。同様に、使用されるアルゴリズムタイプなどの任意のセキュリティ制御パラメータも、ファイルの中に格納し、SEから参照することができる。操作が行われるオブジェクトのヘッダ内のセキュリティバイト(ADF、DF、およびEF)は、PINやキーなどの要求されるセキュリティオブジェクトに対する参照を示す。
図6は、例として、更新のためにセキュリティ属性が、キー参照Aを使用して外部認証に設定され、PIN参照Bを使用してPINに設定されている基本ファイルAを更新するためにSEがセキュリティを扱うのに要求されるファイルを示している。
オフカードのアプリケーションは、基本ファイルAを更新することを望む場合、まず、チャレンジ獲得を発行し、次に、外部認証を発行しなければならない。外部認証コマンドは、APDUコマンドのP2の中のキーAを参照する。オフカードアプリケーションが、次に、PIN参照B(APDUコマンドのP2の中の)および候補PINを使用してPIN検証を発行することにより、PINを使用してカード所持者検証を行う。オンカードのSEが、キーおよびPINに関する参照を使用して、実際の値を含む適切なセキュリティファイルにアクセスする。このファイルは、アクセスが許可される条件を規定している関連するセキュリティバイトも有する。
十分なセキュリティを備えた管理者が、カード上のオブジェクトに対する各操作に関するセキュリティを構成することができる。これにより、オブジェクトがカード上で作成される際に、オブジェクトのセキュリティヘッダの中でセキュリティバイトが設定される。管理者は、ファイルに対する操作に関してPINやキーなどのセキュリティオブジェクト参照を選択することができ、そのセキュリティオブジェクトを含むセキュリティファイルに関するセキュリティを構成することができる。
前述したとおり、本発明によって使用されるSEは、それ自体、構成可能であることが可能である。例えば、構成可能なSEにより、以下のセキュリティ属性の調整ができるようになることが可能である。すなわち、
−特定のファイルにアクセスするためにいずれのキー(キーID)が使用されるかを定義する、
−特定のキーに関連するキー値およびその他の属性を定義する、
−認証、安全なメッセージング等のためにいずれのアルゴリズムが使用されるかを定義する、
−認証アルゴリズムを調整する(例えば、リテイルメッセージ認証コード(MAC)に対する完全な暗号ブロック連鎖(CBC)MAC)、
−カード所有者認証のためにどのようなカード所有者認証(CHV)データ(ファイルIDおよびデータの値)が使用されるかを定義する、
−ファイルが認証のための「グローバル」値を使用すべきか、またはローカル値を使用すべきかを規定することができる、
−既定で、セキュリティ機構は、作成された直後に有効になってはならず、別のファイル(EFまたはDF)が選択された後、すなわち、作成されたファイルがもはや現在、選択されたファイルではなくなった後に初めて有効になる。
前述した基本的なシステムは、以下のとおり、2つの領域で拡張することができる。
第1の拡張は、安全なメモリカードのような入門レベルのセキュリティの低いカードから基本的な記憶機能を有するあらゆるスマートカードまであらゆるタイプのカードに関する超特急のアプリケーション作成−管理体制としてのシステムの使用に関する。言い換えれば、オンカードの実行時のアプリケーション環境が選択肢となることが可能である。
拡張は、それぞれの現実のカードタイプつき1つの「仮想カード」データモデルが構成される、前述したコンフィギュレータツールに選択肢として導入される追加の段階から成る。これは、複数の目標マイクロコントローラを有する高レベル言語コンパイラと概念が同様である。
拡張されたコンフィギュレータツールにより、ユーザは、適切なXMLドキュメントバージョンを生成して、あらゆるカード上でアプリケーションを作成し、変更することができるようになる。本明細書で説明する端末装置常駐の態様(「ミドルウェア」)は、XMLドキュメントバージョンを使用してカード上のデータ(どのように保持されているかに関わらず)をXMLドキュメントの中で記述される構造にマップする。端末装置ミドルウェアは、XMLドキュメントを使用して、データに対する操作に関連するセキュリティを決定し、その要件が満たされてからでないと操作を実行できない、例えば、PINが要求されてからでないと「読み取り」操作を実行できないことを確実にする。ミドルウェアは、アプリケーション特有のセキュリティ環境も使用して、カードのセキュリティを扱い、存在する場合、オンカードの機能を利用する。
ミドルウェアは、カード特有の汎用コマンドハンドラも含み、このハンドラは、適切なAPDUコマンドを生成してカードと通信する。
前述したソフトウェアの基本的な拡張されていないバージョンが使用されたときカード上で起こるのは、実行時コードのセットアップまたは構成は、カードベースのコードにより、端末装置から着信するコマンドが解釈されてアプリケーションがリアルタイムで実行されることを意味するが、カード内部では、実際、カードソフトウェアが、各コマンドに関連するデータをカードのそれ自体のメモリにマップすることである。
拡張は、その入力をミドルウェアの出力として変換する別の「変換」プロセスを追加して、何らかの他のカード上にロードされるべき実際のメモリイメージを構成する。このイメージは、仮想カードを表すが、基本的なストレージを有するあらゆるカードにロードすることができる。イメージは、TLVデータを効率的な(例えば、)線形バイナリファイルに再フォーマットすることによって構築される。固有の暗号化を伴う圧縮を使用することができる。このプロセスは、「フラッシュメモリスティック」などの全くスマートカードの形態でないセキュリティで保護されていない取り外し可能な記憶デバイスに適用することができ、したがって、マップすることができる。データは、記憶デバイスから再び読み取られる際、XMLによって記述された構造をポピュレートするように再フォーマットされる。
データイメージは、妨げるものなしに、つまり、暗号化されずに格納された場合、解釈され/リバースエンジニアリングを受けてサービスがハッキングされる可能性がある。しかし、ミドルウェアの追加の変換プロセスが、現実のカードそれ自体のセキュリティ能力の知識を有する場合、その能力を「仮想カード」にトランスペアレントに(すなわち、アプリケーションの可視のセキュリティ条件が内部でエミュレートされる一括セキュリティ機能として端末装置によって使用されて)、またはトランスペアレントにではなく、現実のセキュリティカード機能に対する仮想カードセキュリティ機能の「1対1」マッピングとしてアクティブにすることができる。これは、異なるカード機能セットを伴って個々の事例で異なり、そのことが、ミドルウェアの「仮想カードコンパイラ」のために選択できる1組の「目標の」現実のカードプラットフォームが存在する理由である。
いくつかのオプションをセキュリティに利用することができる。例えば、カードが、セキュリティ機能を全く有さない最も単純なメモリタイプのものである場合、すべてのメモリイメージが、カードに格納される/カードから取り出される前に、端末装置によってオンザフライで暗号化/復号化される、またはMACされることが可能であり、そのためのキーをアプリケーション特有の「マスタキー」およびカードの固有の通し番号から導出することができる。
最低レベルのセキュリティのため、マスタキーは、端末装置の実行時アプリケーションの中に格納することができるが、より高いセキュリティのためには、マスタキーは、端末装置内部に存在し、カード特有のキーをオンザフライで計算する安全なアクセスモジュール(SAM)の中に格納することができる。このようにすると、端末装置のメモリの中で実行されているカード特有のキーが見られた場合でも、その1つのカードだけがハッキングされ、スキームはハッキングされない。セキュリティを次第に高めるのに使用することができるいくつかの戦略が存在するが、セキュリティおよびパフォーマンスの点で「最高条件」まで使用される特定のカードの制約に基づいてのみ使用可能であり、「最高条件」とは、カードが、完全な対応する構成可能なアプリケーションを実行する元のモデルであることに留意されたい。
この手法の重要な利点は、同じアプリケーションをコンフィギュレータツールを使用して超特急で構築し、管理することができるが、その後、カードが少なくとも単純なデータ記憶機能を有するという条件付きで、任意のカードタイプにコンパイルすることができることである。これを行う能力は、実際の目標のカード自体の限界により、容量、パフォーマンス、およびセキュリティが制限されるだけである。
以上に概要を述べた基本的なシステムのさらなる実施形態は、カードまたは端末装置の回収の必要なしに、そのカード上の現在のデータを乱すことなしに、現場で既に動作しているカード上および端末装置上の既存のアプリケーションの変更および/または拡張、および新しいアプリケーションの導入に関する。
現在のスマートカードマルチアプリケーション・オペレーティングシステム(MAOS)(Java(登録商標)CardおよびMULTOSによって代表される)は、60年代のマルチユーザのメインフレームコンピュータのために最初に発明されたままに仮想マシンモデルを使用する。このMAOSを有するスマートカードの特定の利点は、MAOSが、アプリケーションを分離する「ファイアウォール」を有すると主張できることである。ただし、その結果、そのアプリケーションは、それぞれがそれ自体のコードおよびデータを有するプログラムでなければならず、したがって、データを共用することは、個々のすべてのアプリケーションに、その他のアプリケーションの知識が書き込まれ、個々のアプリケーション内部に通信プロトコルが組み込まれることを要する。これは、いくつかのアプリケーションによって共通のデータが必要とされる場合、これは極めて非効率であるが、そのための標準の手法は存在しない。
MAOSでは、カードオペレーティングシステムおよび各アプリケーションがポリシーを実施するのに依拠する「役割保持者およびキー保持者」をアプリケーション管理およびアプリケーション権限が追跡することができない。しかし、アプリケーションが変更される必要がある場合、アプリケーションは、MAOSにより、コードとデータの分離のない「原子」エンティティとして扱われる。つまり、アプリケーションのすべてが削除され、新しいバージョンで置き換えられる。したがって、すべてのカードデータが失われる。これは、カード/アプリケーション管理システムが、必要に応じてデータを保存するためにどのようにか便宜を図らなければならないということで、カード/アプリケーション管理システムに負担を課し、したがって、各カード/アプリケーション管理システムが、非常に「アプリケーションデータ特有」になる。
本発明には、特定のセキュアファイルシステム管理コマンドを使用して構成された「オンカードの」アプリケーション環境の使用が既に関与しているので、オンカードのモデルとオフカードのモデルの両方を表す特定のバージョンを構築し、次に、それらのバージョンの正確な違いを計算し、既に構成済みのデータの挙動またはカードの挙動を全く削除する必要なしに、現場で端末装置およびカードをアップグレードすることが可能である。
違いが計算された後、新しいアプリケーション挙動、ならびに必要とされる可能性があるセキュリティ要素を導入する新しいAPDUのスクリプトが作成される。そのセキュリティ要素は、キー、およびその他のセンシティブなデータを含む可能性があるので、妨げるものなしにカードベースに伝送することはできない。アップグレードを要するカードが、このスキームにおいて端末装置に導入された場合はいつでも、安全なメッセージングチャネルを中央サーバにセットアップすることができるが、これは、端末装置が、中央サーバに対して常時、「オンライン」であることを要するという欠点を有する。カードおよび端末装置のアップグレードを実行するより洗練された費用効率の高いやり方は、以下のとおりである。
差分ファイルが、カード用に1つ、端末装置用に1つ、前述したとおり作成される。XMLバージョンが、アップグレードされたカードから期待される新しいデータモデルおよび新しい挙動で端末装置アプリケーション環境をアップグレードする。(すべてのセキュリティ要素はカードベースであるため、このファイルは、おそらく、端末装置部分が破損している場合、「サービス拒否」攻撃を防止するため以外では、保護される必要がなく、標準の完全性検査を使用することができる。)
ただし、カード用のファイルは、APDUの安全なスクリプトから成り、このスクリプトが、カードにロードされる。この安全なスクリプトは、「フレーム」と呼ばれ、暗号化とMACの両方によって保護される。フレームがロードされた際、カードは、MACを介してフレームの完全性を検査し、合格である場合、カードは、ペイロードを復号化してAPDUのスクリプトを明らかにする。カードは、安全な端末装置をエミュレートする「スクリプトエンジン」を有し、したがって、カード自体の上でコマンドを実行する。このようにして、特定のコマンドが、既存のアプリケーションファイルを正確に変更することができ、新しいデータおよびセキュリティ規則を導入することもできる。
フレームは、最初、業界標準のハードウェアセキュリティモジュール(HSM)を使用して構築することができ、HSMでは、すべての重要な材料が安全な形で格納される。フレームを構築するのに使用されるソフトウェアは、カード固有であることが可能な、カードのアプリケーションや、ロードされる、またはロードされることを要する各キーのIDなどの各カードのプロファイルを含むデータベースを参照する。HSMは、次に、フレームコンストラクタレイヤによって配置されたプレースホルダの中に実際の重要な材料を挿入した後、その材料を暗号化し、署名することによってフレームをポピュレートし、端末装置に配信する準備ができて、端末装置が、次に、カードアプリケーション環境の構成のバージョン番号に基づいてカードをアップグレードする。
本発明のシステムのコンポーネント・アーキテクチャの概要を示す図である。 カードおよびカードアプリケーションの動作状態を示す概略図である。 あるエンティティの別のエンティティによる認証のための制御の典型的な流れを示す図である。 上記の外部認証の流れを示す図である。 本発明のシステムにおけるアプリケーション管理プロセスを示す図である。 本発明のシステム内のファイルを更新するためのセキュリティを扱う際に使用されるセキュリティファイルを示す概略図である。

Claims (27)

  1. ファイルシステムと、オンデバイスの前記ファイルシステムが少なくとも1つのオフデバイスのファイルおよび/またはアプリケーションとインターフェースデバイスによりインターフェースをとることを可能にするオペレーティングソフトウェアと、を担持するプログラマブルデバイスであって、
    前記ファイルシステムの構造及び内容、或いは、前記ファイルシステムにアクセスするために使用されるコマンド或いはそれに関連するセキュリティ条件を変更するために、スクリプトを実行する手段を備え、
    前記オンデバイスのファイルシステムの構造及び内容、前記ファイルシステムにアクセスするために使用されるコマンド、及び、それに関連するセキュリティ条件が、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた少なくとも1つのファイルによって定義され、
    前記スクリプトを実行する手段が、前記オンデバイスのファイルシステムの構造及び内容、或いは、前記ファイルシステムにアクセスするために使用されるコマンド或いはそれに関連するセキュリティ条件を変更するために、前記少なくとも1つのファイルから導出されて前記インターフェースデバイスにおいて前記プログラマブルデバイスにロードされるスクリプトを実行するように動作する、プログラマブルデバイス。
  2. 請求項1に記載のプログラマブルデバイスであって、自己記述メッセージングのための前記Web(インターネット)標準の言語が、拡張マークアップ言語(「XML」)であり、前記少なくとも1つのファイルがXMLドキュメントである、デバイス。
  3. 請求項1又は請求項2に記載のプログラマブルデバイスであって、前記少なくとも1つのファイルが、圧縮フォーマットで格納される、デバイス。
  4. 請求項1〜請求項3の何れか1項に記載のデバイスであって、インターフェースデバイスからロードされる1又はそれ以上のAPDU(アプリケーション・プロトコル・データ・ユニット)を実行し、前記ファイルシステム、構造及び内容、或いは、前記ファイルシステムにアクセスするために使用されるコマンド或いはそれに関連するセキュリティ条件を変更することが可能なスクリプトエンジンを備えるデバイス。
  5. 請求項4に記載のデバイスであって、前記スクリプトエンジンによって実行される前に、前記インターフェースデバイスからロードされたAPDUを暗号化された形式で復号する手段を備えるデバイス。
  6. 請求項1〜請求項5の何れか1項に記載のデバイスであって、前記インターフェースデバイスからロードされるスクリプトを前記スクリプトエンジンが実行する前に、デジタル署名を検証する手段を備えるデバイス。
  7. 請求項〜請求項6の何れか1項に記載のデバイスであって、前記インターフェースデバイスからロードされるスクリプトを前記スクリプトエンジンが実行する前に、リテイルMAC(メッセージ認証コード)を検証する手段を備えるデバイス。
  8. カード読み取り装置において請求項1に記載のプログラマブルデバイスとインターフェースをとるためのカード読み取りインターフェースデバイスであって、
    自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた少なくとも1つのファイルから導出されるスクリプトを前記プログラマブルデバイスにロードすることによって前記オンデバイスのファイルシステムをアップグレードし、前記オンデバイスのファイルシステムの構造及び内容、或いは、前記ファイルシステムにアクセスするために使用されるコマンド或いはそれに関連するセキュリティ条件の定義を変更する手段を備えるインターフェースデバイス。
  9. 請求項8に記載のインターフェースデバイスであって、
    カード読み取り装置においてプログラマブルデバイスによって実行される前記オンデバイスのファイルシステムのバージョンを判定し、前記バージョンと該インターフェースデバイスに保持されるバージョンとの比較に依存してAPDUのスクリプトを生成する手段と、
    前記オンデバイスのファイルシステムをアップグレードするために、前記プログラマブルデバイスに前記スクリプトをロードする手段と、
    を備えるインターフェースデバイス。
  10. 請求項8に記載のインターフェースデバイスであって、
    ソフトウェア配信システムからのAPDUのスクリプトを受け取る手段と、
    前記オンデバイスのファイルシステムをアップグレードするために、前記プログラマブルデバイスに前記スクリプトをロードする手段と、
    を備えるインターフェースデバイス。
  11. 請求項10に記載のインターフェースデバイスであって、
    前記ソフトウェア配信システムから受け取ったAPDUのスクリプトを暗号化された形式で復号する手段を備えるインターフェースデバイス。
  12. 請求項8〜請求項11の何れか1項に記載のインターフェースデバイスであって、
    前記プログラマブルデバイスにロードする前に、前記APDUのスクリプトを暗号化する手段を備えるインターフェースデバイス。
  13. 請求項8〜請求項12の何れか1項に記載のインターフェースデバイスであって、
    前記プログラマブルデバイスにロードする前に、前記APDUのスクリプトにデジタル署名を加える手段を備えるインターフェースデバイス。
  14. 請求項8〜請求項13の何れか1項に記載のインターフェースデバイスであって、
    前記プログラマブルデバイスにロードする前に、前記APDUのスクリプトにMACを加える手段を備えるインターフェースデバイス。
  15. 請求項1に記載のプログラマブルデバイスと請求項8に記載のインターフェースデバイスとを備えるシステムであって、
    自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされたファイルを生成又は変更し、前記オンデバイスのファイルシステムの構造及び内容、並びに、前記ファイルシステムにアクセスするために使用されるコマンド及びそれに関連するセキュリティ条件を定義するためのソフトウェアを実行する手段と、
    前記ソフトウェアを実行する手段と前記インターフェースデバイスとの間の安全なソフトウェア配信手段であって、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた前記ファイル又は該ファイルから導出される任意のスクリプトもしくはファイルの安全な配信を提供するソフトウェア配信手段と、
    を備えるシステム。
  16. 請求項15に記載のシステムであって、前記ソフトウェアを実行する手段は、
    配信の前に、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた前記ファイル又は該ファイルから導出される任意のスクリプトもしくはファイルを暗号化する手段を備える、システム。
  17. 請求項15又は請求項16に記載のシステムであって、
    配信の前に、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた前記ファイル又は該ファイルから導出される任意のスクリプトもしくはファイルに、デジタル署名を加える手段を備えるシステム。
  18. 請求項15〜請求項17の何れか1項に記載のシステムであって、
    配信の前に、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた前記ファイル又は該ファイルから導出される任意のスクリプトもしくはファイルに、MACを加える手段を備えるシステム。
  19. 請求項15〜請求項18の何れか1項に記載のシステムであって、
    前記ソフトウェアを実行する手段は、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされたファイルからAPDUのスクリプトを生成し、前記スクリプトを前記ソフトウェア配信手段によって前記インターフェースデバイスに配信するように動作し、
    前記インターフェースデバイスは、前記オンデバイスのファイルシステムをアップグレードするために、前記スクリプトを前記プログラマブルデバイスにロードする手段を備える、システム。
  20. 請求項15〜請求項19の何れか1項に記載のシステムであって、
    前記ソフトウェアを実行する手段は、プログラマブルデバイスの全部のメモリイメージを備えるファイル又は「仮想カード」ファイルを生成するように動作し、
    前記インターフェースデバイスは、前記仮想カードファイルを前記プログラマブルデバイスにロードするように動作する、システム。
  21. 請求項1に記載のプログラマブルデバイス上のオンデバイスのファイルシステムをアップグレードする方法であって、
    カード読み取り装置においてプログラマブルデバイスとインターフェースをとるためのカード読み取りインターフェースデバイスを提供するステップと、
    前記インターフェースデバイスにおいて、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた少なくとも1つのファイルから導出されるスクリプトを前記プログラマブルデバイスにロードするステップと、
    スクリプトを実行するための前記プログラマブルデバイス上の手段によって、前記少なくともファイルから導出された前記スクリプトを実行して、前記オンデバイスのファイルシステムの構造及び内容、或いは、前記ファイルシステムにアクセスするために使用されるコマンド或いはそれに関連するセキュリティ条件の定義を変更するステップと、
    を含む方法。
  22. 請求項21に記載の方法であって、APDUのスクリプトは、ソフトウェア配信システムから前記インターフェースデバイスにおいて受け取られ、前記オンデバイスのファイルをアップグレードするために前記プログラマブルデバイスにロードされる、方法。
  23. 請求項21に記載の方法であって、
    前記インターフェースデバイスにおいて、プログラマブルデバイスによって実行される前記オンデバイスのファイルシステムのバージョンが判定され、
    APDUのスクリプトは、前記バージョンと前記インターフェースデバイスに保持されるバージョンとの比較に依存して生成され、前記オンデバイスのファイルシステムをアップグレードするために前記プログラマブルデバイスにロードされる、方法。
  24. 請求項22に記載の方法であって、
    前記ソフトウェアを実行する手段を使用して、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされたファイルを生成又は変更し、ファイルシステムの構造及び内容、並びに、前記ファイルシステムにアクセスするために使用されるコマンド及びそれに関連するセキュリティ条件を定義するステップと
    自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた前記ファイル又は該ファイルから導出される任意のスクリプトもしくはファイル、前記安全なソフトウェア配信手段によって前記インターフェースデバイスに配信するステップとを含む、方法。
  25. 請求項24に記載の方法であって、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた前記ファイル又は該ファイルから導出される任意のスクリプトもしくはファイルは、配信の前に暗号化される、方法。
  26. 請求項24又は請求項25に記載の方法であって、デジタル署名は、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた前記ファイル又は該ファイルから導出される任意のスクリプトもしくはファイルに加えられる、方法。
  27. 請求項24〜請求項26の何れか1項に記載の方法であって、MACは、自己記述メッセージングのためのWeb(インターネット)標準の言語でフォーマットされた前記ファイル又は該ファイルから導出される任意のスクリプトもしくはファイルに加えられる、方法。
JP2003550174A 2001-12-07 2002-12-09 スマートカード・システム Expired - Lifetime JP4348190B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0129360A GB0129360D0 (en) 2001-12-07 2001-12-07 Improved smartcard system
GB0225036A GB0225036D0 (en) 2001-12-07 2002-10-28 Smartcard system
PCT/GB2002/005565 WO2003049056A2 (en) 2001-12-07 2002-12-09 Smartcard system

Publications (3)

Publication Number Publication Date
JP2005512205A JP2005512205A (ja) 2005-04-28
JP2005512205A5 JP2005512205A5 (ja) 2006-02-02
JP4348190B2 true JP4348190B2 (ja) 2009-10-21

Family

ID=26246850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003550174A Expired - Lifetime JP4348190B2 (ja) 2001-12-07 2002-12-09 スマートカード・システム

Country Status (9)

Country Link
US (1) US7850066B2 (ja)
EP (1) EP1454306A2 (ja)
JP (1) JP4348190B2 (ja)
AU (1) AU2002350918B2 (ja)
BR (1) BR0214777A (ja)
GB (1) GB2398905B (ja)
MX (1) MXPA04005525A (ja)
NZ (1) NZ533945A (ja)
WO (1) WO2003049056A2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10340181A1 (de) * 2003-09-01 2005-03-24 Giesecke & Devrient Gmbh Verfahren zur kryptographischen Absicherung der Kommunikation mit einem tragbaren Datenträger
JP4565827B2 (ja) * 2003-10-31 2010-10-20 富士通株式会社 Idタグを読み取る情報処理装置、idタグを読み取るためのプログラム、およびidタグに書き込むためのプログラム
GB0330179D0 (en) * 2003-12-30 2004-02-04 Ecebs Ltd Improved smartcard system
US8321923B2 (en) * 2004-03-04 2012-11-27 Gemalto Sa Secure sharing of resources between applications in independent execution environments in a retrievable token (e.g. smart card)
GB0416618D0 (en) * 2004-07-26 2004-08-25 Ecebs Ltd Remote smartcard application management
US20110071949A1 (en) * 2004-09-20 2011-03-24 Andrew Petrov Secure pin entry device for mobile phones
KR100683853B1 (ko) * 2005-02-04 2007-02-16 삼성전기주식회사 프리 컴파일링 장치
GB0517615D0 (en) * 2005-08-30 2005-10-05 Ecebs Ltd Improved smartcard system
JP4314238B2 (ja) 2005-11-18 2009-08-12 キヤノン株式会社 情報処理装置、方法、及びコンピュータプログラム
US20070260638A1 (en) * 2006-05-02 2007-11-08 Nokia Corporation Commands for the handling of large files
US8317096B2 (en) * 2006-07-14 2012-11-27 Microsoft Corporation Smart card terminal side data and management framework
DE102006034375A1 (de) * 2006-07-25 2008-01-31 Giesecke & Devrient Gmbh Personalisierung von tragbaren Datenträgern
US8200952B2 (en) * 2006-10-25 2012-06-12 Microsoft Corporation Platform authentication via a transparent second factor
US8200961B2 (en) * 2006-11-19 2012-06-12 Igware, Inc. Securing a flash memory block in a secure device system and method
US20090094593A1 (en) * 2007-10-05 2009-04-09 Jaung Richard L Wirelessly upgrading software in a mobile computing device
AU2009200139B2 (en) 2008-01-15 2012-02-16 Aristocrat Technologies Australia Pty Limited A method of processing a user data card, an interface module and a gaming system
US9508074B2 (en) * 2008-04-25 2016-11-29 Advanced Platform Solutions Llc Method for secure use of identification cards
KR101088168B1 (ko) 2009-06-12 2011-12-02 (주) 케이비씨테크 Scws를 이용하여 웹기반 os를 구비한 스마트카드 및 이를 이용한 이동통신 단말기
EP2336986A1 (en) * 2009-12-17 2011-06-22 Gemalto SA Method of personalizing an application embedded in a secured electronic token
GB2481191A (en) 2010-02-25 2011-12-21 Sita Information Networking Computing Ireland Ltd Graphical development tool for software application development
RU2583731C2 (ru) 2010-12-21 2016-05-10 Сита Н. В. Система и способ резервирования
CA2833059C (en) 2011-08-03 2016-10-25 Sita Information Networking Computing Usa, Inc Item handling and tracking system and method therefor
GB2499288A (en) 2012-02-09 2013-08-14 Sita Inf Networking Computing Usa Inc Path determination
US9087204B2 (en) 2012-04-10 2015-07-21 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
KR101334938B1 (ko) * 2012-06-20 2013-12-02 주식회사 한국스마트카드 스크립트 파일 기반으로 카드 처리를 수행하는 rf 결재 단말기
US10320908B2 (en) 2013-03-25 2019-06-11 Sita Information Networking Computing Ireland Limited In-flight computing device for aircraft cabin crew
US10324781B2 (en) * 2013-04-25 2019-06-18 Feitian Technologies Co., Ltd. Method for managing application on card
GB2515142B (en) 2013-06-14 2020-12-16 Sita Information Networking Computing Ireland Ltd Portable user control system and method therefor
CN103544037B (zh) * 2013-10-29 2016-08-17 飞天诚信科技股份有限公司 一种支持OpenSC的软硬件驱动的实现方法
GB2523441A (en) 2014-02-19 2015-08-26 Sita Information Networking Computing Ireland Ltd Reservation system and method therefor
US10001546B2 (en) 2014-12-02 2018-06-19 Sita Information Networking Computing Uk Limited Apparatus for monitoring aircraft position
CN109657449B (zh) * 2018-12-14 2020-11-03 成都三零嘉微电子有限公司 一种基于密码卡实现密码资源互通的方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW449991B (en) * 1999-01-12 2001-08-11 Ibm Method and system for securely handling information between two information processing devices
US6845498B1 (en) * 1999-05-11 2005-01-18 Microsoft Corporation Method and apparatus for sharing data files among run time environment applets in an integrated circuit card
EP1179209A1 (en) * 1999-05-11 2002-02-13 Microsoft Corporation Method and apparatus for sharing data files among runtime environment applets in an integrated circuit card
FR2805059A1 (fr) * 2000-02-10 2001-08-17 Bull Cp8 Procede de chargement d'une piece de logiciel dans une carte a puce, notamment du type dit "applet"

Also Published As

Publication number Publication date
WO2003049056A2 (en) 2003-06-12
BR0214777A (pt) 2004-11-09
MXPA04005525A (es) 2005-04-19
WO2003049056A3 (en) 2003-12-18
GB0414074D0 (en) 2004-07-28
US20050211759A1 (en) 2005-09-29
AU2002350918A1 (en) 2003-06-17
AU2002350918B2 (en) 2009-09-10
GB2398905A (en) 2004-09-01
US7850066B2 (en) 2010-12-14
GB2398905B (en) 2005-11-09
EP1454306A2 (en) 2004-09-08
NZ533945A (en) 2006-09-29
JP2005512205A (ja) 2005-04-28

Similar Documents

Publication Publication Date Title
JP4348190B2 (ja) スマートカード・システム
US8196131B1 (en) Payment application lifecycle management in a contactless smart card
US6481632B2 (en) Delegated management of smart card applications
Hansmann et al. Smart card application development using Java
US8548923B2 (en) Method and system for facilitating data access and management on a secure token
EP0976114B1 (en) Secure multiple application card system and process
US6005942A (en) System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6749115B2 (en) Dual processor trusted computing environment
JP2000148567A (ja) スマ―ト・カ―ドのメモリにデ―タ・オブジェクトを記憶する方法
US20080022381A1 (en) Uniform framework for security tokens
US20050184164A1 (en) Method and apparatus for installing an application onto a smart card
BRPI0915117B1 (pt) Método de acessar um aplicativo em um dispositivo de comunicação móvel, dispositivo de comunicação móvel,prestador de serviços e sistema
JP2003187190A (ja) Icカード管理システム
US20040123138A1 (en) Uniform security token authentication, authorization and accounting framework
JP5150116B2 (ja) Icカード及び読み書き装置
Schwarzhoff et al. Government Smart Card Interoperability Specification
JP2007249544A (ja) 電子媒体およびそれを含む情報端末
KR101020059B1 (ko) 아이씨칩 내 작업 요소 파일 저장 영역의 조정 방법
KR100971120B1 (ko) 스마트 카드에 구비된 작업 요소 파일 저장 영역의 조정방법
KR100971126B1 (ko) 카드 운영 시스템
KR20080014913A (ko) 카드 단말 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081104

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090203

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4348190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130724

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term