JP4251667B2 - アプリケーション履歴リストを有する集積回路カード - Google Patents

アプリケーション履歴リストを有する集積回路カード Download PDF

Info

Publication number
JP4251667B2
JP4251667B2 JP54893498A JP54893498A JP4251667B2 JP 4251667 B2 JP4251667 B2 JP 4251667B2 JP 54893498 A JP54893498 A JP 54893498A JP 54893498 A JP54893498 A JP 54893498A JP 4251667 B2 JP4251667 B2 JP 4251667B2
Authority
JP
Japan
Prior art keywords
application
card
copy
public key
integrated circuit
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
JP54893498A
Other languages
English (en)
Other versions
JP2001525956A (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
Application filed by モンデックス インターナショナル リミテッド filed Critical モンデックス インターナショナル リミテッド
Publication of JP2001525956A publication Critical patent/JP2001525956A/ja
Application granted granted Critical
Publication of JP4251667B2 publication Critical patent/JP4251667B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/16Coin-freed apparatus for hiring articles; Coin-freed facilities or services for devices exhibiting advertisements, announcements, pictures or the like
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0719Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips at least one of the integrated circuit chips comprising an arrangement for application selection, e.g. an acceleration sensor or a set of radio buttons
    • 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
    • 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/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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
    • 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/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption

Description

発明の背景
集積回路(IC)カードは、主に、配布された安全な情報処理を低価格で提供するために理想的なツールであるため、今日の世界において多くの異なる目的のために、ますます多く用いられつつある。ICカードは「スマートカード」とも呼ばれ、典型的には従来のクレジットカードのサイズのカードであるが、カード上にコンピュータチップを含む。ICカード上のコンピュータチップは典型的には、マイクロプロセッサと、読出し専用メモリ(ROM)と、電気消去可能プログラマブル読出し専用メモリ(EEPROM)と、ランダムアクセスメモリ(RAM)と、入/出力(I/O)メカニズムと、動作中のマイクロプロセッサをサポートする他の回路とを含む。コンピュータチップは、カードに格納された1以上のアプリケーションを実行し得る。格納し実行するためにICカードが用いられているアプリケーションの例は、クレジット/デビット、電子マネー/パース、電話コーリングカード、および得意客報酬アプリケーションを含む。
アプリケーションが最初にICカードにロードされるとき、アプリケーションは、アプリケーションに関連するデータを含み得る。このようなデータは、例えば、カード保持者の氏名および口座番号などの、カード保持者を識別するデータを含み得る。さらに、上記関連するデータは、アプリケーションをロードしたことに対してアプリケーションプロバイダによりカード保持者に提供されるプロモーショナルまたはボーナスバリューをも含み得る。例えば、電話コーリングカードのアプリケーションの場合、アプリケーションプロバイダは、ある長さの無料通話時間を提供し得る。別の例として、電子パースのアプリケーションの場合、アプリケーションプロバイダは、ボーナス電子キャッシュを提供し得る。さらに別の例として、フリークエントフライヤー得意客アプリケーションの場合、アプリケーションプロバイダは、フリーマイル数を提供し得る。プロモーショナルまたはボーナスバリューを提供するためにアプリケーションデータを用いることは、アプリケーションをロードする際の完全性に関して、ICカード製造者およびアプリケーションプロバイダに潜在的な問題を引き起こす。最初にアプリケーションがロードされるときに、カード保持者が意図的にまたは非意図的にアプリケーションをコピーしてその後アプリケーションに関連するデータ値を再ロードするためにアプリケーションを再ロードすることを防止するために、解決法が必要である。アプリケーションの反復する再ロードにより、カード保持者は、資格のないはずの無制限の量のプロモーショナルまたはボーナスバリューを入手し得る可能性がある。しかし同時に、カード保持者は、アプリケーションを更新するなどの合法的理由によりアプリケーションを再ロードする必要があり得る。
従って、アプリケーションが一旦ICカードにロードされるとカード保持者がアプリケーションを不法に再ロードすることを妨げるように、ICカードにアプリケーションをロードする方法が必要である。
上記の技術的チャレンジおよび必要性に、技術的解決法を提供する本発明におよる実施形態によって取り組まれる。
発明の要旨
本発明の好適な実施形態によると、アプリケーションコピーを集積回路カード回路にロードする方法であって、アプリケーションコピーがアプリケーションの複数のコピーのうちの1つである方法が提供される。アプリケーションコピーは、アプリケーションを他のアプリケーションから識別する関連するアプリケーション識別子と、アプリケーションの各コピー毎に独自であるアプリケーションコピー番号とを有する。集積回路カードは、マイクロプロセッサとマイクロプロセッサに連結されたメモリとを含む。メモリは、集積回路カードに以前にロードされているアプリケーションのアプリケーション識別子とアプリケーションコピー番号とを格納するアプリケーション履歴リスト領域を含む。上記方法は、アプリケーションコピー、アプリケーション識別子、およびアプリケーションコピー番号を集積回路カードによって受け取る工程と、アプリケーション識別子とアプリケーションコピー番号とがアプリケーション履歴リスト領域に含まれているか否かを集積回路カードによって決定する工程と、アプリケーション識別子およびアプリケーションコピー番号がアプリケーション履歴リスト領域に含まれている場合は、集積回路カードによるアプリケーションコピーのロードが失敗する工程とを含む。
本明細書および添付の請求の範囲において、アプリケーションコピー番号に関して用いられる用語「独自」は、2つのタイプの番号、すなわち(1)実際に独自であると決定された非ランダム番号、および(2)あるカード保持者にとって蓋然的に独自であると決定されたランダム番号との両方を意味する。
本発明の好適な実施形態による方法は、メモリの所定の部分をアプリケーション履歴リスト領域に割り当てる工程と、アプリケーション履歴リスト領域がフルであるか否かを集積回路カードによって決定する工程と、アプリケーション履歴リストがフルである場合に、アプリケーションコピーをロードすることに失敗する工程とをさらに含む。
本発明の好適な実施形態による方法は、アプリケーション識別子およびアプリケーションコピー番号がアプリケーション履歴リスト領域に含まれない場合に、アプリケーション識別子とアプリケーションコピー番号とをアプリケーション履歴リスト領域に追加する工程をさらに含む。従って、アプリケーションが一旦集積回路カードにロードされると、アプリケーションのコピーに関連するアプリケーション識別子とアプリケーションコピー番号とが、将来の照合のためにアプリケーション履歴リスト領域に格納される。
本発明の好適な実施形態による方法は、繰り返されるアプリケーションのロードに関心のないアプリケーションプロバイダが、アプリケーション履歴リスト領域内でのアプリケーション識別子およびアプリケーションコピー番号の格納を回避し得るメカニズムをも提供し得る。例えば、ゼロというアプリケーションコピー番号は、アプリケーションが望まれるだけ何度でも再ロードされ得ることを示すために用いられ得る。従って、本発明の好適な実施形態の方法は、アプリケーション識別子およびアプリケーションコピー番号がアプリケーション履歴領域に含まれず且つアプリケーションコピー番号がゼロでない場合に、アプリケーション識別子およびアプリケーションコピー番号をアプリケーション履歴リスト領域に追加する工程をさらに含み得る。
アプリケーションコピーは、アプリケーションコードおよびアプリケーションデータの両方を含み得る。アプリケーション識別子およびアプリケーションコピー番号はアプリケーションデータ内に含まれ得る。
好適には、アプリケーションコピー、アプリケーション識別子、およびアプリケーションコピー番号は、アプリケーションプロバイダによって集積回路カードに送信される。好適には、アプリケーションプロバイダは、アプリケーションコピーを集積回路カードに送信する前に、アプリケーションコピーの少なくとも一部分を暗号化する。アプリケーションプロバイダが、アプリケーションコピーの暗号化された部分の暗号化に関する情報を含む鍵トランスフォーメーションユニットを送信することもまた好適である。集積回路カードが第1の公開鍵対を有し、アプリケーションプロバイダが、集積回路カードに鍵トランスフォーメーションユニットを送信する前に、第1の公開鍵対の公開鍵で鍵トランスフォーメーションユニットを暗号化することがさらに好適である。
アプリケーションプロバイダが第1の公開鍵対の公開鍵で鍵トランスフォーメーションユニットを暗号化すると、集積回路カードは、暗号化された鍵トランスフォーメーションユニットを第1の公開鍵対の秘密鍵で解読し得る。鍵トランスフォーメーションユニットが一旦解読されると、集積回路カードは、解読された鍵トランスフォーメーションユニット内に含まれる情報を用いて、アプリケーションコピーを解読し得る。
アプリケーションプロバイダが第2の公開鍵対を有し、アプリケーションプロバイダが、第2の公開鍵対の秘密鍵でアプリケーションコピーを暗号化することにより、署名されたアプリケーションコピーを生成することもまた好適である。アプリケーションプロバイダはその後、アプリケーションコピーと署名されたアプリケーションコピーとの両方を集積回路カードに送信し得る。
アプリケーションプロバイダが、第2の公開鍵対の公開鍵を、第3の公開鍵対を有する証明機関に登録することがさらに好適である。証明機関はその後、第2の公開鍵対の公開鍵を、第3の公開鍵対の秘密鍵で暗号化することにより、アプリケーションプロバイダに証明書を提供し得る。アプリケーションプロバイダは、証明書を集積回路カードに送信し得る。
証明書が集積回路カードに送信されると、集積回路カードは、第3の公開鍵対の公開鍵を用いて証明書を解読することにより、第2の鍵対の公開鍵を入手し得る。集積回路カードはその後、第2の公開鍵対の公開鍵を用いて、署名されたアプリケーションコピーを確認し得る。署名されたアプリケーションコピーが確認されない場合、集積回路カードは、アプリケーションコピーのロードに失敗し得る。
本発明の別の実施形態によると、マイクロプロセッサおよびマイクロプロセッサに連結されたメモリを含む集積回路カードが提供される。メモリは、アプリケーション識別子とアプリケーションコピー番号とを格納するアプリケーション履歴リスト領域を含む。各アプリケーション識別子と各アプリケーションコピー番号とは、アプリケーションコピーに関連する。アプリケーションコピーは、アプリケーションの複数のコピーの1つである。各アプリケーション識別子は、アプリケーションを他のアプリケーションから独自に識別し、各アプリケーションコピー番号は、アプリケーションコピーを他のアプリケーションコピーから独自に識別する。本発明の集積回路カードは、メモリ領域にロードされるべきアプリケーションコピーに関連するアプリケーション識別子およびアプリケーションコピー番号がアプリケーション履歴リスト内に含まれているか否かを決定する手段と、上記関連するアプリケーション識別子および上記関連するアプリケーションコピー番号がアプリケーション履歴リスト領域に含まれている場合に、上記ロードされるべきアプリケーションコピーのロードに失敗する手段とをさらに含む。
図面の簡単な説明
本発明による実施形態を、添付の図面を参照しながら実施例としてのみ説明する。
図1は、本発明の好適な実施形態によるICカードの模式的表示である。
図2は、本発明の好適な実施形態によるICカードおよびターミナルの斜視図である。
図3は、本発明の好適な実施形態によるICカードの機能的ブロック図である。
図4は、本発明の好適な実施形態によるICカードに、アプリケーションプロバイダにより遠隔的にアプリケーションをロードするシステムの図である。
図5は、本発明の好適な実施形態によるアプリケーションロードユニットの模式的表示である。
図6は、本発明の好適な実施形態による図5のアプリケーションロードユニットを処理する例示的ステップのフローチャートである。
図7は、本発明の好適な実施形態によるICカードの動作システムにより実行され得るファイルローディングルーチンの例示的ステップを示すフローチャートである。
発明の詳細な説明
図1は、本出願の請求の範囲に記載の発明に用いられ得る典型的ICカード10の模式的表現を提供する。ICカード10は、1以上の電気コンタクト14が接続された集積回路12を含む。
図2は、ICカード10が通信するデバイスの例を示す。本明細書および添付の請求の範囲において、用語「インターフェースデバイス」および「ターミナル」は、ICカードが通信し得るデバイスを包括的に説明するために用いられる。図2に示すように、典型的ターミナル20は、カードリーダ22、キーパッド24、およびディスプレイ26を含む。キーパッド24およびディスプレイ26は、ICカード10のユーザがターミナルとインタラクトすることを可能にする。キーパッド24は、ユーザが、トランザクションを選択すること、暗証番号(「PIN」)を入力すること、およびトランザクション情報を入力することを可能にする。ディスプレイ26は、ユーザが、情報メッセージおよびデータエントリ用のプロンプトを受け取ることを可能にする。他のタイプのターミナルは、ICカードと互換性のあるATM機および電話を含み得る。
図3は、集積回路12の機能的ブロック図である。集積回路12は、少なくとも、プロセシングユニット100およびメモリユニット110を含む。好適には、集積回路12はさらに、制御ロジック150、タイマ160、セキュリティ回路170、入/出力ポート180、およびコプロセッサ190を含む。制御ロジック150は、プロセシングユニット100と共に、メモリユニット110と入/出力ポート180との間の通信を処理するために必要な制御を提供する。タイマ160は、プロセシングユニット100および制御ロジック150のためのタイミング基準信号を提供する。セキュリティ回路170は好適には、製造中のテストのために、入/出力ポート180を内部回路に接続する可溶性リンクを提供する。可溶性リンクは、テストの完了後焼けて、敏感な回路領域への後のアクセスを制限する。コプロセッサ190は、暗号作成アルゴリズムにより必要とされるような、複雑な演算をリアルタイムに行う能力を提供する。
メモリユニット110は、揮発性および不揮発性メモリ並びに読出し専用およびプログラマブルメモリなどの異なるタイプのメモリを含み得る。例えば、図3に示すように、メモリユニット110は、読出し専用メモリ(ROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、およびランダムアクセスメモリ(RAM)を含み得る。
メモリユニット110は、秘密暗号作成鍵およびユーザPINなどのICカードデータを格納する。秘密暗号作成鍵は、公開鍵対のプライベート鍵などの、任意のタイプの周知の暗号作成鍵であり得る。好適には、秘密暗号作成鍵は、ICカードの外部からアクセス不可能であるかまたは非常に限定されたアクセス可能性を有するROMまたはEEPROMの安全な領域に格納される。
メモリユニット110はさらに、ICカードの動作システムを格納する。動作システムは、ICカードアプリケーションをロードし実行し、ICカードアプリケーションに対するファイル管理および他の基本的なカードサービスを提供する。好適には、動作システムはROMに格納される。
動作システムによって提供される基本的サービスに加えて、メモリユニット110はさらに、1以上のICカードアプリケーションを含み得る。例えば、ICカードが電子キャッシュカードとして用いられる場合、MONDEXTM PURSE(Mondex International Limited提供)と呼ばれるアプリケーションがICカードに含まれ得る。上記アプリケーションは、金融機関におけるユーザの口座からのある通貨の電子値をICカードにロードする。好適には、ICカード10の動作システムは、Mondex International Limited提供のMULTOSTM動作システムなどの複数のアプリケーションをサポートすべきである。
ICカードアプリケーションは、プログラムおよび関連するデータファイルの両方を含み得る。これらは典型的には、EEPROMに格納される。アプリケーションプログラムは、プロセシングユニット100のネイティブプログラミングコードで書かれていてもよいし、より高いレベルの言語で書かれていてもよい。より高いレベルの言語は、プロセシングユニット100で実行される前に翻訳されなければならない。ICカードで用いられる、このようなより高いレベルの言語の例は、MULTOSTM Executable Language(MEL)である。都合のよいことに、MELなどのより高いレベルの言語を用いることにより、アプリケーションプログラムは、再書込みの必要なく、複数のハードウェアプラットフォーム上で実行することができる。
ICカードは典型的には、ICカード上にメモリを搭載することによるサイズおよび価格上の制限により限定されたメモリ容量を有し得るため、ICカードはさらに、ROM内に格納されたプリミティブを有し得る。プリミティブは、数学的機能などの、頻繁に用いられる機能または手順を行うサブルーチンである。プリミティブは通常、プロセシングユニット100のネイティブ言語で書かれており、その結果、非常に迅速に実行され得る。
図4に、アプリケーションプロバイダ401からICカード403にアプリケーションを遠隔的にロードするシステムの図を示す。アプリケーションプロバイダ401は、カード発行元、銀行、またはアプリケーションローディングサービスを提供する他のエンティティであり得る。ICカード403は、インターフェースデバイス405を介してアプリケーションプロバイダ401と通信される。インターフェースデバイス405は、銀行のターミナル、ATM、またはICカードと通信する他のデバイスであり得る。アプリケーションプロバイダ401およびインターフェースデバイス405は、データ線407により通信する。データ線407は、電話線、ケーブル線、衛星リンク、インターネット接続、イントラネット接続、または他の任意のタイプの通信リンクであり得る。
ICカードを遠隔的にロードする際、アプリケーションプロバイダは、いくつかの安全性に関する事項に取り組むことが必要である。第1に、アプリケーションプロバイダは、アプリケーションがアプリケーションを受け取ることを意図されているカード保持者のみに送信されることを確認しなければならない。第2に、アプリケーションプロバイダは、ロードされるべきアプリケーション内に含まれる機密またはトレードシークレット情報の秘密性を確認しなければならない。第3に、データ線407はオープンリンクであり、送信中のアプリケーションを遮断または置換する可能性のある第三者に曝され得るため、アプリケーションプロバイダは、ICカードがアプリケーションを認証することを可能にする安全上の手段を取らなければならない。
これらの安全上の問題に対する解決策は典型的には、対称的および/または非対称的暗号作成技術を用いた暗号化を含む。対称的暗号作成は、「鍵」と呼ばれる同一の数字を用いてデータを符号化および復号化することを含む。鍵は秘密に保持されなければならない。他方、「公開鍵」暗号作成とも呼ばれる非対称的暗号作成は、1つの鍵でデータを符号化し別の鍵でデータを復号化することを含む。2つの鍵は、鍵対と呼ばれ、鍵対の一方は秘密に保持されなければならないが、鍵対の他方は公的に配布され得る。鍵対の各鍵は、データを符号化するために用いられるが、データが一方の鍵を用いて一旦符号化されると、他方の鍵を用いてしか復号化され得ない。
図4のシステムにおいて、アプリケーションプロバイダ401およびICカード403が各々、暗号作成鍵対を有すると仮定する。暗号作成鍵の作成は、当業者によって知られた任意の様式で行われる。システムはさらに、証明機関(CA)409を利用する。CA409もまた暗号作成鍵対を有する。CA409は、公開鍵対の秘密鍵をプライベート保持し、且つ、例えばアプリケーションプロバイダ401の識別などの他のエンティティの識別を認証すると信用されている任意のエンティティであり得る。
図4のシステムにおいて、アプリケーションプロバイダ401は、CA409で公開鍵の登録を申請する。これを行うためには、アプリケーションプロバイダ401は、CA409の識別要件を満たさなければならない。アプリケーションプロバイダ401がこれらの識別要件を満たす場合、CA409は、アプリケーションロード証明書(ALC)413を発行する。ALC413は、CA409の秘密鍵によって符号化された、すなわち「署名された」アプリケーションプロバイダ401の公開鍵を含む。ALC413は、CA409の公開鍵を用いて復号化され得る。CA409は公的に配布される。CA409は、秘密鍵をプライベートに保持し且つアプリケーションプロバイダ401の識別を認証すると信用されているため、ALC413を受け取るいずれのエンティティも、証明書に含まれる公開鍵がアプリケーションプロバイダ401に属することを保証される。
アプリケーションをICカード403にロードするために、アプリケーションプロバイダ401は、アプリケーションロードユニット(ALU)411をデータ線407を介してインターフェースデバイス405に送信する。ALU411のコンテンツを模式的に図5に示す。ALUは好適には、アプリケーションユニット(AU)415、署名されたアプリケーションユニット(AUS)417、鍵トランスフォーメーションユニット(KTU)419、およびALC413を含む。
AU415は、ICカードに格納されるべきアプリケーションコードおよびデータを含む。アプリケーションコードおよびデータの機密またはトレードシークレット部分を保護するために、アプリケーションコードおよびデータの一部またはすべてが暗号化され得る。
AUS417は、AU415がアプリケーションプロバイダ401の秘密鍵で署名したアプリケーションコードおよびデータである。ICカード403は、ALC413で提供されたアプリケーションプロバイダ401の公開鍵を用いて、AUS417を復号化し、AU415が送信中に変更されていないことを確認するために、AU415と比較する。
KTU419は、AU415の暗号化された部分に関連する情報を含む。この情報は、ICカード403がこれらの暗号化された部分を復号化して、アプリケーションコードおよびデータがICカード403によってアクセスされ得るようになることを可能にする。KTU419はICカード403の公開鍵で署名される。このことは、意図されたICカード403のみがKTU419を復号化し得る(ICカードの秘密鍵を用いて)ことを保証する。KTU419が一旦復号化されると、ICカード403はKTU419に含まれる情報を用いて、AU415のアプリケーションコードおよびデータの暗号化された部分を復号化し得る。
図6は、ICカード403によって受け取られたALU411を処理するステップのフローチャートを示す。ステップ601において、ICカード403は、アプリケーションプロバイダ401からのALU411を受け取る。ALU411は、AU415、AUS417、KTU419およびALC413のメモリ内の位置を示すヘッダ情報と共にICカード403のEEPROM内に入れられる。
ステップ603において、ALC413は、CA409の公開鍵を用いて復号化される。ICカード403は、好適には、CA公開鍵のコピーをメモリ内に格納する。なぜなら、CA公開鍵は多くのトランザクションにおいて用いられ得るからである。あるいは、ICカードは、インターフェースデバイス405などの信用された格納位置から公開鍵を入手し得る。一旦復号化されると、ALC413は、ICカード403に、アプリケーションプロバイダ401の公開鍵の信用されたコピーを提供する。
ステップ605において、ICカード403は、アプリケーションプロバイダの公開鍵を用いて、AU415が送信中に変更されなかったことを確認する。ICカード403は、アプリケーションプロバイダ401の公開鍵を用いて、アプリケーションプロバイダ401の秘密鍵で署名されたAUS417を復号化する。AUS417が一旦復号化されると、復号化されたAUS417がAU415と比較される。2つのユニットが合致すると、AU415は確認される。
ステップ607において、ICカード403の公開鍵で暗号化されているKTU419は、ICカード403のプライベート鍵を用いて復号化される。ステップ609において、復号化されたKTU491内の情報はAU415の暗号化された部分を復号化するために用いられる。KTU419は、例えば、AU415を復号化する際に用いられるアルゴリズムまたは鍵のいずれかを含み得る。
上述したセキュリティおよび認証手段に加えて、他の安全性に関する手段および認証手段もまた採用され得る。セキュリティおよび認証の更なる方法は、例えば、1998年2月19日に出願されたEverettらの”Multi−Application IC Card System”という名称の関連する国際特許出願PCT/GB98/00531、および1998年5月11日に出願されたRichardsらの”Key Transformation Unit for an IC Card”という名称の米国出願において取り組まれている。これらの出願は両方とも、それぞれ添付のアネックスAおよびアネックスB、並びにアネックスCとして、ここに参考のため援用される。
本発明の好適な実施形態によると、AU415のデータ部分は、ICカード403にロードされるべきアプリケーション用のアプリケーション識別子とアプリケーションコピー番号とを含む。アプリケーションコピー番号は、ICカード403にロードされるべきアプリケーションの各コピー毎に独自である。本明細書および添付の請求の範囲において、アプリケーションコピー番号に関して用いられる用語「独自」は、実際に独自であると決定された非ランダム番号と、あるICカードにとって蓋然的に独自であると決定されたランダム番号との両方を意味する。好適には、アプリケーション識別子およびアプリケーションコピー番号を含むAU415のデータ部分が符号化される(そして、KTU419は、このデータ部分を復号化するために必要な情報を含む)。
図7は、AU415内に含まれるアプリケーション識別子とアプリケーションコピー番号とを利用して、カード保持者が同一のアプリケーションをICカード403に繰り返しロードすることを妨げるために、ICカード403の動作システムによって実行され得る、ファイルローディングルーチンのステップを示すフローチャートである。図7の実施形態において、アプリケーションコピー番号は、「ランダムシード」とも呼ばれるランダム番号である。ステップ701において、ファイルローディングルーチンは、動作システムのセキュリティマネジャつまりOS_Security_Managerから、ファイルローディングコマンドload_file_commandを受け取る。動作システムのOS_Security_Managerは、図6を参照して述べたように、ALU411のベリフィケーションと復号化を行う。
ステップ703において、アプリケーションに関連するアプリケーション識別子およびランダムシードは、それぞれ、load_file_command.application_idおよびload_file_command.random_seedと呼ばれ、os_global_data.app_hisotory_listと呼ばれる、ICカードに格納されたアプリケーション履歴リスト内のエントリと照合される。アプリケーション履歴リストは、ICカード403にロードされたアプリケーションに関連するアプリケーション識別子およびランダムシードの各セット用のエントリを含む。アプリケーション履歴リストは、ICカードの外部からはアクセス不可能であるEEPROMの安全な領域に格納されることが好適である。
ロードされるべきアプリケーションに関連するアプリケーション識別子およびランダムシードがアプリケーション履歴リスト内に見い出された場合、ステップ705において、応答ステータスload_file_response.statusが「失敗」に設定され、エラー記述load_file_response.error_causeが「以前にロードされたアプリケーション」に設定される。エラー応答load_file_responseは、OS_Security_Managerに戻り、アプリケーションが以前にICカードにロードされているためにロードファイルルーチンがアプリケーションのロードに失敗したことを示す。
ロードされるべきアプリケーションに関連するアプリケーション識別子およびランダムシードがアプリケーション履歴リスト内に見い出されない場合、ステップ707において、ランダムシードが照合されてランダムシードがゼロに等しいか否かが決定され、アプリケーション履歴リストが照合されてアプリケーション履歴リストがフルであるか否かが決定される。ゼロの値を有するランダムシードは、アプリケーションがデータ中に含まれる経済的値を含まないことを示し、そのため、望まれるだけ何度でも再ロードされ得る。アプリケーションに関連するランダムシードがゼロでなく(アプリケーションに含まれる経済的値があることを示す)アプリケーション履歴リストがフルである場合、応答ステータスload_file_response.statusは「失敗」に設定され、エラー記述load_file_response.error_causeは「アプリケーション履歴フル」に設定される。この場合、アプリケーション履歴リストはフルであるため、アプリケーションはロードされ得ず、従って、アプリケーション識別子およびランダムシードは将来の照合のためにアプリケーション履歴リストに追加され得ない。
ステップ703または707においてエラー状態がトリガされた場合、ステップ711において、アプリケーションに関連するディレクトリファイル記録がICカードのディレクトリファイルに追加される。すなわち、アプリケーションがICカード403にロードされる。ステップ713において、ランダムシードがゼロに等しいか否かが照合される。ランダムシードがゼロに等しくない場合(アプリケーションに含まれる経済的値があることを示す)、アプリケーション識別子およびランダムシードは、ICカードにロードされることが求められている次のアプリケーションとの照合のために、アプリケーション履歴リストに追加される。アプリケーション履歴リストを更新した後、応答ステータスload_file_response.statusは「成功」に設定されて、OS_Security_Managerに送信される。
ランダムシードがゼロに等しい場合(アプリケーションに含まれる経済的値がないことを示す)、アプリケーション識別子およびランダムシードは、アプリケーション履歴リストに追加されない。代わりに、ステップ717がスキップされ、応答ステータスload_file_response.statusが「成功」に設定されてOS_Security_Managerに送信される。
都合のよいことに、図7のファイルローディングルーチンは、カード保持者がアプリケーションを不法に再ロードすることを防止する。カード保持者がICカードにロードされるべきアプリケーションを遮断およびコピーしても、カード保持者は後にアプリケーションを再ロードし得ない。なぜなら、一旦アプリケーションがロードされると、アプリケーション識別子およびランダムシードはICカードに永久的に格納されるからである。カード保持者がアプリケーションを再ロードしようとしても、ICカードの動作システムがアプリケーションの再ロードに失敗する。なぜなら、アプリケーションのアプリケーション識別子およびランダムシードがICカードのアプリケーション履歴リストのエントリに合致するからである。
他方、カード保持者がアプリケーションプロバイダからのアプリケーションを合法的に再ロードすることは妨げられない。アプリケーションプロバイダは提供するアプリケーションの各コピーに対して新しいランダムシードを生成するため、カード保持者がアプリケーションプロバイダから同一のランダムシードを有するアプリケーションの第2のコピーを受け取るとは考えられない。もちろん、アプリケーションプロバイダは、カード保持者が同一のランダムシードを2度受け取る可能性が十分低いことを確実にするために、十分な長さのランダムシードを用いなければならない。
あるいは、アプリケーションプロバイダは、ランダム番号を用いる代わりに、各カード保持者に提供するアプリケーションのコピーに関連する独自の番号を持ち得る。例えば、アプリケーションプロバイダは、提供したアプリケーションのコピー数を記録するカウンタを保持し得る。アプリケーションプロバイダは、カウンタの値を用いて、カード保持者にアプリケーションのコピーを提供する度に独自の番号を提供し得る。しかし、ランダムシードの実施形態の方が好適である。なぜなら、より管理し易いからである(すなわち、格納または管理することが必要な情報がないからである)。
本発明をあるいくつかの好適な実施形態に照らして述べてきたが、添付の請求の範囲に規定される、本発明の思想および範囲から逸脱することなく、様々な改変、変更および置換が当業者に知られているかまたは明らかである。
本開示の範囲は、請求の範囲に記載されているか否かまたは本発明によって解決しようとしている問題点のいずれかまたは全てを軽減するか否かにかかわらず、本明細書に明示的または暗示的に開示されたすべての新しい特徴または特徴の組み合わせ、およびそれらを一般化したものをすべて含む。本出願は、本出願および本出願から派生する更なる出願の審査中に、このような新しい特徴に関する新しい請求項が作成され得ることを告知する。特に、添付の請求の範囲を参照すると、従属項の特徴が、独立項の特徴と、請求の範囲に挙げられた特定の組み合わせのみならず任意の適切な様式で組み合わせられ得る。
アネックスC
ICカード配送鍵セット
集積回路(「IC」)カードは、今日世界中で、多くの異なる目的のためにますます多く使用されている。ICカード(スマートカードとも呼ばれる)は、典型的に、従来のクレジットカードの大きさであり、コンピュータチップを有している。このコンピュータチップには、マイクロプロセッサ、リードオンリーメモリ(ROM)、電気的消去可能プログラム可能リードオンリーメモリ(EEPROM)、入力/出力(I/O)メカニズム、および、動作中にマイクロプロセッサをサポートするその他の回路が含まれている。ICカードは、そのメモリ内に、単一のアプリケーションを有していてもよいし、あるいは、複数の独立したアプリケーションを有していてもよい。MULTOSTMは、他のプラットフォームの中でもとりわけICカード上で動作し、そのカード上で複数のアプリケーションの実行を可能にするマルチアプリケーションオペレーティングシステムである。これにより、カードユーザは、そのカードを使用するために挿入した端末(即ち、ATM、電話および/またはPOS)の種類に関わらず、そのカードに保存された多数のプログラム(例えば、クレジット/デビット、電子マネー/財布、および/またはロイヤリティアプリケーション)を実行することができるようになる。
テレフォンカードおよび電子キャッシュカードのような従来の単一アプリケーションICカードは、カードユーザに与えられる前に、その製造の時点で、単一のアプリケーションを付与される。しかし、たとえカードユーザまたはカード発行者がアプリケーションの改変を望んだとしても、カード発行後にアプリケーションを改変または変更することはできない。さらに、あるカードユーザが、そのユーザに対して発行されたICカードに、様々なアプリケーション機能、例えば、電子財布およびクレジット/デビット機能の両方を果たして欲しい場合、カードユーザは複数の物理的カードを持ち運ばなければならない。これは、非常に煩雑で不便である。アプリケーション開発者(application developer)またはカードユーザが、2つの異なるアプリケーション間での相互作用またはデータ交換、例えば、財布機能がフリークエントフライヤーロイヤリティアプリケーションと相互作用することを望んだ場合、カードユーザは、カードを入れる端末に複数のカードを代わる代わる出し入れしなければならず、処理が、困難で、時間がかかり、不便なものになる。
従って、同じICカード上に複数アプリケーションを保存することは有益である。例えば、カードユーザは、同じカード上に財布アプリケーションおよびクレジット/デビットアプリケーションの両方を有し、買物を行うときにどちらの種類の支払い(電子キャッシュまたはクリジットカード)を使用するのかを選択し得る。十分なメモリが存在し、且つ、複数のアプリケーションをサポートできるオペレーティングシステムがカード上にあれば、1枚のICカードに複数のアプリケーションを付与することができる。複数のアプリケーションを予め選択して、それらを製造段階でカードのメモリ内に入れておくことも可能であるが、必要に応じて、製造後に、そのカードのアプリケーションをロードおよび削除できるようにすることも有益であろう。
1枚のカード上に複数のアプリケーションを保存する向上した柔軟性および性能は、個々のカードとアプリケーション提供者との間で交換され、また、アプリケーションをロードおよび削除する際に全システム内で交換される情報(アプリケーションコードおよび関連するデータを含む)の完全性および安全性に関して克服すべき新たな課題を生み出す。カード、カード発行者、システムオペレータおよびアプリケーション提供者間で安全にデータを交換できる能力、ならびに、ローカル端末から、または、電話線、インターネット、イントラネット接続、もしくはその他のデータ経路上で遠隔的に、何時でも安全にアプリケーションをロードおよび削除できる能力をICカードシステム内に持つことは有益であろう。典型的にこれらのデータ送信線は安全な線ではないので、これらの送信線上で送られるアプリケーションが改竄されることなく意図したカード上にのみロードされることを確実にするためには、複数のセキュリティおよびエンティティ認証技術を確立しなければならない。
特に、カード所有者が利用できる新たなアプリケーションが増え続けている状況では、上記のように、発行後にICカード上にアプリケーションを追加する能力をシステムに持たせることが重要である。このことは、ICカードの寿命の長さを守るために必要である。さもなくば、アプリケーションが古くなったときに、そのカードが無用になってしまう。遠隔位置から、および、アプリケーション提供者の端末からの直接接続によって、アプリケーションを追加できるようにすることは有益であろう。例えば、カードユーザが、そのユーザのICカードをホームコンピュータに差し込んで、インターネット上でアプリケーションをダウンロードできれば有用であろう。アプリケーションコードおよび関連データをインターネット等のセキュリティが確立されていない通信線上で送信する場合、この種のアプリケーション遠隔ロードは複数のセキュリティ上のリスクを生じる。
アプリケーションまたはデータをICカードに送信するエンティティは、意図したICカードのみが送信データを受け取ることを必要とする。第三者が、データを傍受してそのデータを見ることができてはいけない。さらに、送信側エンティティは、情報を要求したICカードが実際に全体ICカードシステムの一部であり、単にシステムの一部のふりをしているのではないということの検証を要求する。これらの懸念は、遠隔的アプリケーションロードおよびローカル端末によるアプリケーションロードの両方において生じる。
従って、本発明の目的の1つは安全な配送技術を提供することであり、具体的には、ICカード上にロードされ得るスマートカードアプリケーションを含むデータの安全な配送を可能にする安全なICカードシステムを提供することである。
発明の要旨
上記およびその他の目的が本発明によって達成される。本発明は、アプリケーションを含むデータのICカード上への安全な配送を行うICカード方法および装置を提供する。これには、1対のシークレットおよび公開鍵のICカード上での保存、保存された公開鍵のICカードからの取り出し、公開鍵を用いた配送対象データの少なくとも一部の暗号化、暗号化されたデータのICカードへの送信、およびICカードの秘密鍵を用いた暗号化データの復号化が含まれる。
好適な実施形態においては、証明機関(CA)またはICカードシステムの全体的なセキュリティを管理するエンティティが、ICカードの公開鍵のコピーを暗号化(またはデジタル署名)し、署名されたコピーはICカード上にも保存される。データをICカードに送信するエンティティは、ICカードの署名された公開鍵を取り出し、そして、CAの公開鍵を用いて署名された公開鍵を検証することによって、CAがそのカードを承認したことを検証することができる。検証が成功すると、CAがICカードを承認したことをエンティティが検証したことになる。
【図面の簡単な説明】
本発明の例示的な実施形態を示す添付の図面に関連して以下の詳細な説明を読むことにより、本発明のさらなる目的、特徴および利点が明らかになるであろう。
図1Aは、配送側エンティティからICカードにデータを安全に配送する安全なデータ配送システムのブロック図である。
図1Bは、アプリケーション提供者からICカードにアプリケーションをロードするアプリケーションロードシステムのブロック図である。
図2は、アプリケーションロードユニットの内容を図示したものである。
図3は、アプリケーションユニットを図示したものである。
図4は、あるICカードについての個々の鍵組を提供する工程のフローチャートである。
図5は、鍵変換ユニットを図示したものである。
図6は、鍵変換ユニットの平文を図示したものである。
図7は、アプリケーションロード証明書(Application Load Certificate)を図示したものである。
図8は、アプリケーションユニットが復号化される様子を図示したものである。
図9は、アプリケーションロードユニットを処理する際に行われる工程を示すフローチャートである。
図10は、KTUを処理する際に行われる工程を示すフローチャートである。
図11は、アプリケーションロードユニットを受け取り、これを処理することができるICカードの構成要素を示すブロック図である。
そうでないことが記載されている場合を除き、全図面を通して、同じ参照番号および文字は、例示された各実施形態において同じ特徴部、部材、構成要素および部分を示すために用いられている。さらに、以下で図面を参照しながら本発明を説明するが、これは例示的な実施形態に関する説明である。添付のクレームによって規定される本発明の真の範囲および趣旨から逸脱することなく、記載された実施形態に変更および改変を加えることが可能であることが意図されている。
発明の詳細な説明
そのICカードの寿命の任意の時点で、複数のアプリケーションオペレーティングシステムを含むICカード上にアプリケーションをロードできる能力を持つことは有益である。この柔軟性によって、カードのユーザが、定期的に新しいアプリケーションをICカードに追加すること、ならびに、より新しいバージョンのアプリケーションがリリースされたときに、新しいバージョンのアプリケーションを用いて古いアプリケーションを更新することが可能になる。例えば、カードユーザは、初めに、財布または電子キャッシュアプリケーション(例えば、MONDEXTM)が保存されたICカードを持ち得る。ユーザがこのカードを持ってからしばらくした後、このユーザは、クレジット/デビットアプリケーションのような追加アプリケーションをこのカード上にロードし得る。カード上にクレジット/デビットアプリケーションをロードしてからしばらくした後、そのクレジット/デビットアプリケーションの新しいバージョンが利用可能になり得る。その時、このカードユーザが、そのICカード上の古いアプリケーションを消去して、さらなる機能を有し得るクレジット/デビットアプリケーションの新しいバージョンに置き換えることは可能であるべきである。さらに、ICカードは、新しいクレジットカード口座番号または更新された情報等の個人情報に関するデータを受け取る必要がある。
ICカードの寿命サイクルにおける複数の異なる時点でアプリケーションのロードおよびデータの送信を行うという柔軟性は、カード上にアプリケーションをロードするプロセスに関してセキュリティ上の問題を生じる。マルチアプリケーションオペレーティングシステム環境においては、アプリケーションおよびデータのロードを、銀行のATMマシンのような端末と、電話線、ケーブル線、インターネット、衛星または他の通信手段等の遠隔通信リンク上との両方で行えることが有益である。ICカード上にアプリケーションおよびデータをロードする際、アプリケーション提供者は、ロードすべきアプリケーションに関するセキュリティを提供する必要がある。第1に、アプリケーション提供者は、そのアプリケーションを受け取ることが意図された正しいカードユーザにのみアプリケーションが送られることを確実にしなければならない。第2に、アプリケーションおよび関連データは、個人的または企業秘密情報を含み得る。このような個人的または企業秘密情報は暗号化することにより、暗号化されたアプリケーションコードおよびデータの内容をICカード以外のエンティティが見れないようにする必要がある。アプリケーションコードおよびデータの一部が秘密であり、他の部分は秘密ではない場合もある。本願では、カードにロードするアプリケーションおよび関連データの一部または全ての内容の認証および保護という問題に対処する。
本明細書中、複数の暗号化/復号化技術が記載される。対称暗号化および非対称暗号化という2つの基本的な種類の暗号化がある。対称暗号化では、式および鍵を用いてデータを変換することにより、データを暗号化する数式の一部として秘密鍵を用いる。データを暗号化した後、これと同じ秘密鍵を復号化アルゴリズムとともに用いて、別のパーティが、この暗号化されたデータを復号化することができる。同じ鍵は暗号化および復号化のために用いられ、技術は対称的である。対称アルゴリズムの従来例の1つは、DESである。
非対称暗号化技術では、1対をなす異なる2つの鍵を用いて情報の暗号化および復号化を行う。これらの2つの鍵は、通常、プライベートまたは秘密鍵および公開鍵と呼ばれる。この1対の鍵の一方を用いてデータを暗号化した場合、そのデータの復号化には他方の鍵が用いられる。データの送り主が、そのデータをその送り主の秘密鍵を用いて署名すると、公開鍵を持っていれば誰でもそのメッセージを検証できる。典型的に、公開鍵は公に知られているので、秘密鍵を用いて署名されたデータの内容を保護することはできないが、特定の秘密鍵によってそのデータが署名されているかどうかを判定することによってそのデータの起源(origination)は検証できる。この認証プロセスは、デジタル署名と呼ばれる。人物Aが人物Bに送ろうとしているメッセージを人物Aが認証したい場合、人物Aは、人物Aの秘密鍵を用いてその文書に署名する。人物Bがそのメッセージを受け取ると、人物Bは、人物Aの公開鍵を用いてそのメッセージを検証する。その公開鍵を用いてそのメッセージが検証されると、その文書が人物Aの秘密鍵を用いて署名されたことを人物Bが知ることになる。このようにして、メッセージの起源(origin)が認証される。
非対称鍵組を用いてメッセージの内容を保護することも可能である。人物Aが、人物Bに、他の誰も読むことのできない暗号化されたメッセージを送りたい場合、人物Aは、そのデータまたはメッセージを人物Bの公開鍵を用いて暗号化し、それを人物Bに送る。そうすれば、人物Bの秘密鍵の所有者しかそのデータを復号化できなくなる。複数の鍵の組み合わせを用いれば、ある人物がそのメッセージの認証および暗号化の両方を行うことが可能である。非対称の鍵対には、カードセキュリティに関していくつかの強力な用途がある。しかし、非対称暗号化は、対称暗号化と比べて比較的プロセッサコストが高くつく(プロセッサコストは演算時間と関連している)。非対称暗号化方法の一例は、RSA▲R▼である。
暗号化方法をより強力にするハイブリッド対称暗号化方法の1つは、2つの対称鍵を用いてデータを暗号化することである。この技術はトリプルDESと呼ばれ、鍵1を用いてデータを符号化し、鍵2を用いてそのデータを復号化し(これにより、そのデータをさらに符号化することになる)、そして、再び鍵1を用いてそのデータをさらに符号化するものである。データがその目的地に到着した後、鍵1を用いてそのデータを復号化し、鍵2を用いてそのデータを符号化し、そして、鍵1を用いてそのデータを復号化する。これらの余分な符号化および復号化ステップによって、この技術はより強力になるとともに、両方の鍵がそろっていない状態で適切に復号化することがより困難になる。
図1Aは、ICカードシステム内において、安全にデータを配送する際に使用されるエンティティのブロック図を示す。送信側エンティティ1は、カード発行者、銀行、ICカード、またはデータをICカード3に配送することを望んでいる他のエンティティであり得る。好ましくは、送信側エンティティ1がデータ配送プロセスを開始する。あるいは、カードが送信側エンティティ1からのデータを要求する場合には、ICカード3がデータ配送プロセスを開始してもよい。
送信側エンティティ1は、インターフェースデバイス5(例えば、ICカードと通信する端末)に接続される。データ経路7は、電話線、イントラネット、インターネット、衛星リンクまたは任意の他の種類の通信リンクであり得る。本実施例の場合、ICカード3から遠隔の位置に配置された送信側エンティティ1が、データを安全にICカードへ送ることを望んでいる。しかし、データリンクが「オープン」リンクであり(即ち、プライベートリンクではなく)、送信されているデータを第三者が傍受したり、あるいはすり替えたりしている可能性があるので、送信されたデータを意図したICカードのみが受け取ることを保証するにはセキュリティ対策が必要である。ICカードがICカードシステムの一部としてその有効性が証明されていることを認証するために、証明機関9を用いることも可能である。
図1Aにおいて、ICカード3のために、秘密(またはシークレット)鍵19および対応する公開鍵15を生成する。好ましくは、これらの鍵は、RSA▲R▼等の非対称暗号化アルゴリズムを用いて生成される。これらの鍵は、CA9または任意の他の場所で生成され得る。なぜなら、これらの鍵は、ICカード3にしか特異的でなく、他のコピーを保持しておく必要がないからである。3番目のデータ項目である公開鍵証明(public key certificate)17もICカード3上で生成および保存される。
公開鍵証明17は、CA9のプライベート鍵を用いて公開鍵15に署名することによって生成される。これにより、ICカードの個々の鍵組を証明するために、CAがICカードの公開鍵にデジタル署名したことを、CA9の公開鍵を持つ人物が検証することが可能になる。公開鍵証明は、ICカードの秘密/公開鍵組が生成されたときに、またはそれ以降のある時点で、CAによって生成される。
送信側エンティティ1がデータ配送を開始すると、インターフェースデバイス5を通してICカード3へのコンタクトがとられ、ICカード3がその公開鍵15およびその公開鍵証明17を送信側エンティティ1に送る。その後、送信側エンティティは、この公開鍵証明をCA13の公開鍵(CA13の公開鍵は、CA9から公に入手可能であり、送信側エンティティ1内に保存され得る)を用いて検証し、これにより、CA9がその公開鍵にデジタル署名したかどうかを判定し、ICカードが有効なカードであることを検証する。
その後、送信側エンティティ1は、ICカードの公開鍵を用いて送信すべきデータを暗号化する。その後、送信側エンティティ1は、暗号化されたデータ11をインターフェースデバイス5およびICカード3に送信する。ICカード3は、この暗号化されたデータを、対応するプライベート鍵(秘密鍵とも呼ばれる)19を用いて復号化する。その後、このデータはICカード3によって処理され得る。そのプライベート鍵のコピーを持っているのはICカード3だけであり、意図したICカードだけが暗号化されたデータにアクセスできる。これにより、第三者が暗号化されたデータにアクセスできないこと、ひいては、意図されたICカードだけがそのデータを読んで処理することができることが確実になる。
図1Bは、ICカード上にアプリケーションをロードするための安全な方法を示す。図1Bは、安全な遠隔アプリケーションローディングプロセスに使用されるエンティティのブロック図を示す。アプリケーションプロバイダ101は、カードの発行者、銀行、またはアプリケーションローディングサービスを提供する他のエンティティであり得る。アプリケーションプロバイダ101は、ICカード103上へのアプリケーションローディングプロセスを起動する。ICカード103は、データコンデット107に接続され、データコンデット107は、インターフェイスデバイス105(例えば、ICカードと通信する端末)に接続されている。データコンデット107は、電話回線、イントラネット、インターネット、衛星リンク、またはその他の任意のタイプの通信リンクであり得る。アプリケーションプロバイダ101は、ICカード103から遠隔に配置され、ICカードへアプリケーションを送信してロードすることを所望する。しかしながら、データリンクがオープンリンクであり、送信されるアプリケーションを妨害したり置換する第三者に晒されているために、アプリケーション自体を認証する安全手段、アプリケーションプロバイダ、およびICカードが、システムの整合性を確実にするために使用されなければならない。送信されているいくつかのデータが識別されたシステム一部であることの認証を補助するためには、CA109も使用され得る。
図1Bでは、アプリケーションプロバイダは、インターフェースデバイス105へ、そして最終的にはICカード103へ、アプリケーションロードユニット111を送信する。ALUは、アプリケーション自体および認証に必要なセキュリティデータを含み、アプリケーションコードおよび関連データを保護する。ALUは、図2において詳細を論じたが、本明細書の他の図とも関連がある。ALU111は、好適には、証明機構(CA)109からアプリケーションプロバイダ101に送信されるアプリケーションロード証明(ALC)113データをも含む。証明機構は、ICカード上にロードされるべき各アプリケーションに対するアプリケーションロード証明を供給することによって、システムの全体的なセキュリティを管理する。アプリケーションプロバイダ101およびICカード103の両方は、個々の公開/秘密鍵セットを有する。認証とセキュリティのプロセスを以下に説明する。
図2は、アプリケーションロードプロセス中にアプリケーションローダからICカードに送信されるアプリケーションロードユニットの構成要素を説明する図を示す。アプリケーションロードユニット(ALU)201は、アプリケーションユニット(AU)203、アプリケーションユニット署名(AUs)205、鍵変換ユニット(KTU)207、およびアプリケーションロード証明(ALC)209を含む。ALC201は、データ送信中に使用される従来フォーマットで初期化される。AU203は、ICカード上に記憶されるべきアプリケーションコードおよびデータを含み、それらの一部またはすべてが、秘密部分を、もしくはコードおよび/またはデータ部分を保護するために暗号化される。AU203を、図3を参照してさらに詳細に説明する。
AUs205は、アプリケーションプロバイダの秘密鍵でデジタル的に署名されたアプリケーションコードおよびデータAU203である。アプリケーションプロバイダの公開鍵は、ALC209の一部として送信され、アプリケーションの作成者としてアプリケーションプロバイダを認証するのに使用される。ALC209は、カード識別情報およびアプリケーションプロバイダの公開鍵から構成され、証明機構の秘密鍵によって署名される。以下、これらの要素をすべて、より詳細に説明する。
KTU207は、指定された部分をICカードが復号化するのを可能にする、AU203(アプリケーションのコードおよびデータ)の暗号化に関する情報を含み、これにより、アプリケーションおよびデータはICカードによってアクセスされ得るが、アプリケーションプロバイダとICカードとの間での送信中にデータを保護する。KTU207は、アプリケーションが意図されるICカードの公開鍵を暗号化されており、これにより、意図されたICカードのみが、KTU情報を用いたアプリケーションコードおよびデータを復号化できることを確実にする。この要素は図5を参照して説明する。
図3は、アプリケーションロードユニットの一部であるアプリケーションユニット203の図を示す。AU203は、カードユーザのICカード上にロードされるべきプログラムコードおよび関連データ両方を含む。プログラムコードは、ICカードのマイクロプロセッサによって実行される複数のプログラム命令を含む。プログラム命令は、ICカード上に記憶されているオペレーションシステムが解釈できる任意のプログラミング言語で記述され得る。
例えばMULTOSシステムでは、プログラムはMELTM(MULTOS実行可能言語)で記述され得る。たいていのアプリケーションは、カード上にロードされなければならない関連データを有する。例えば、人名またはアカウント番号などカードユーザを識別するデータは、クレジット/デビットアプリケーションを伴う安全な方式においてロードされ得る。アプリケーションプロバイダは、データによって表される電子キャッシュを、電子パースアプリケーションをインストールするときに助成として提供し得る。このデータのいくつかまたは全部が、第三者から秘密に保たれることが所望される。ひいては、アプリケーションコード自体が独占物であると見なされ得、その一部が他者からは秘密であることが所望され得る。鍵変換ユニット(KTU)の使用は、アプリケーションプロバイダーがアプリケーションの選択された部分を秘密として暗号化し、第三者からそれを保護することを可能にする。
アプリケーションユニット部分305は、アプリケーションプロバイダからICカードに送信されるべきプログラムコードを指示する。アプリケーションユニット部分307は、ICカード上にロードされるべきアプリケーションの一部として送信されるべき関連データを指示する。この例では、アプリケーションユニットの3つの個別領域が、単一のDESまたは3重のDESのいずれかを用いて暗号化されることが示されている。暗号化される部分および暗号化のタイプに関する任意の数の変更が、本願記載の技術を用いて実施され得る。
この例では、暗号化されたロケーション309は、3重DES技術を用いて暗号化されたアプリケーションユニット203の第1の部分を示す。上述の暗号化プロセスは、対称的鍵および従来公知のDESベースアルゴリズムを用いてデータを変換することを含む。データはその後、従来公知のDESベース復号化アルゴリズムにデータを代入することにより復元され得る。暗号化ロケーション311は、3重DESを用いて暗号化されたアプリケーションユニット203の第2の部分を示す。暗号化ロケーション313は、単一のDESを用いて暗号化された第3の部分を示す。単一DESは、より少ない計算しか復号化に要さず、後述するKTUの一部として、より少ない領域しか占有しない。アプリケーションローダからICカードへ送信中に、第三者によってアプリケーションユニットが妨害された場合、第三者が正しい鍵および復号化アルゴリズムを有するまで、暗号化された部分は、読み出され得ない。従って、情報はKTU内で保護される。
KTUは、アプリケーションユニットのどの部分が暗号化されるか、どの暗号化アルゴリズムが使用されるか、およびテキストの復号化に使用される単数または複数の鍵を記述することによって、アプリケーションおよび関連データの意図するICカードが、アプリケーションユニットの暗号化部分を復号化することを可能にする。この情報は、アプリケーションプロバイダと意図されるICカードとの間で高度に秘密であり、従って意図されるカードに極めて特殊な方式で保護される。送信されるALU全体の一部であるKTUを暗号化するために、特定の意図されるICカードのための個別鍵セットが使用される。鍵セットおよびその作成を以下に説明する。
本発明によれば、CAにおいて実行される安全処理の一つは、カード上に記憶された各ICカードのための個別化された鍵セットを作成することである。鍵は、オフカード検証(即ちカードが正真のカードであることを検証する)および安全なデータ配送に使用される。鍵作成プロセスを図4に概略的に示す。鍵セットは、3つの異なる鍵データアイテムから構成される。即ち、カードのみが知っているカード秘密鍵、カード上に記憶されているカードの公開鍵、およびCAの秘密鍵によって署名されたカード公開鍵であるカード公開鍵証明である。以下、鍵セットの個々の鍵を、より詳細に説明する。
工程401は、カードのメモリ内の個別ICカードに対して、カード特定的に配送された秘密鍵を記憶する。この秘密鍵は、RSA▲R▼など標準的な非対称暗号化技術からCAにより作成され、カード許可デバイスを介してカード上にロードされる。ひとたびカード上に記憶されれば、CAはそれ自身のメモリから秘密鍵に関するあらゆるデータを消去する。従って、カード自体のみがその秘密鍵を知っている。カード内の秘密鍵情報を含んでいるデータ要素は、「mkd_sk」と呼ばれ、MULTOS鍵データ秘密鍵を意味する。
工程403は、カードのメモリ内の個々のICカードのためのカード特定的に配送された公開鍵を記憶する。この公開鍵は、好適には、工程401において秘密鍵を作成するのに使用された非対称暗号化技術からCAによって作成される。秘密鍵と同じく、ひとたびカード上に公開鍵が記憶されれば、CA(または他の鍵プロバイダ)は、そのシステムから公開鍵データを削除するので、公開鍵の唯一の複製はカード内に保存される。カードの公開鍵情報を含むデータ要素は「mkd_pk」と呼ばれ、MULTOS鍵データ公開鍵を意味する。
工程405は、カードメモリ内の個々のICカードのためのカード特定的に配送された公開鍵証明を記憶する。カードの公開鍵証明情報を含むデータ要素は、「mkd_pk_c」と呼ばれ、MULTOS鍵データ公開鍵証明を意味する。この公開鍵証明は、好適には、以下に示すようにCAの秘密鍵で配送公開鍵「mkd_pk」に署名することにより作成される。
mkd_pk_c=[mkd_pk]CA_sk
これは、個々のカードの公開鍵証明が、CAの秘密鍵を個々のカードの公開鍵に適用して作成されることを意味する。このプロセスは、CAにおいて実施される。公開鍵証明はCAによって保存され、これにより、必要に応じて公開鍵を再作成することができる。
端末がICカードから公開鍵証明を読み出し得、CAが署名をし、それにより個々のICカードを認可したことを検証できる。これは、mkd_pkに署名するのに使用されたCA鍵セットの公開要素で公開鍵証明を検証することによって達成される。
図5は、KTU207の内容を図示したものであり、ヘッダ部分501およびKTU暗号文部分503を含んでいる。図5に示すように、ヘッダ情報501は、例えば、application_id_no(アプリケーション識別番号)、mcd_no(ICカード番号)および/またはmsm_control_data_date(ICカードが発行された日付)などの識別子または許可情報505を含む。追加の識別子も含まれ得る。これらの識別子により、システムは、ALUを受信するICカードが意図されたICカードであることを検証できる。許可データは、上記参照した関連出願に詳細に記載されている。
KTU暗号文503は、ボックス507に示す意図されたICカードの公開鍵mkd_pkで暗号化されたKTU平文(暗号化されていない)に対応する。KTU平文は、図6においてさらに説明する。公開鍵mkd_pkは、アプリケーションプロバイダーによって、意図されたICカードから取得される。ICカードの公開鍵は、誰でも自由に利用でき、カードまたはCAから直接入手できる。KTU平文をICカードの公開鍵で暗号化することによって、意図されたICカードのみが公開/秘密鍵対の秘密鍵を用いてKTU暗号文を復号化することができる。これは、意図されたICカードのみが、KTU平文の内容を決定し、ロードされるアプリケーションの暗号化部分を識別し、鍵を用いてアプリケーション全体および関連データを復号化し復元できることを意味する。その他のエンティティは、ICカードの秘密鍵を有さないので、送信されているプログラムコードおよびデータのセキュリティと整合性とが確保される。
図6は、KTU平文601を示す図である。KTU平文601は、好適には、識別子フィールド603、no_area_discriptorsフィールド605、alg_idフィールド607、area_startフィールド609、area_length611、key_lengthフィールド613、key_dataフィールド615、ならびに、アプリケーションユニット内に存在する暗号化領域の数によって追加の領域および鍵フィールドを含む。識別子603は、KTUが適用されるアプリケーションユニットの識別情報を含む。
No_area_descriptors605は、いくつの数のAUの異なる部分が暗号化されたのかを示す。図3の例では、領域記述子の数は3である。フィールド607は、暗号化された第1の領域のためのアルゴリズム識別子を含む。アルゴリズムは、例えば、DESまたは三重DESであり得る。フィールド609は、第1の暗号化領域の開始を指示する。この指示は、AUの開始からのオフセットであり得る。例えば、オフセットは、100により得る。これは、第1の領域が、アプリケーションユニットの100番目のバイトから開始することを意味する。フィールド611は、第1の暗号化部分の領域長を指示する。このフィールドにより、ICカード上のマイクロプロセッサは、どの程度の大きさの領域が暗号化され、領域の開始といつ結合されたのかを知ることができ、ICカードマイクロプロセッサは、アプリケーションユニットの正しい部分を暗号化できる。フィールド613は、アプリケーションユニットの特定の暗号化部分に対する鍵長を指示する。鍵の長さは、異なる暗号化技術によって異なる。鍵長フィールドによって、ICカードは鍵データの長さを知ることができる。フィールド615は、特定の暗号化部分に対する鍵データを指示する。鍵データは、暗号化部分のアルゴリズム同一性およびロケーションとともに使用され、暗号化部分をデコードする。一つ以上の暗号化部分が指示されている場合、アルゴリズムを参照する追加のデータ、開始ロケーション、長さ、鍵長および鍵データが、KTU平文内に存在する。複数のフィールドを記載したが、本発明にすべてのフィールドが必要なのではない。しかしながら、最も重要なフィールドは、鍵データ自体である。
図7は、アプリケーションロード証明(ALC)209を示す図である。ALC209は、ヘッダ701およびアプリケーションプロバイダ公開鍵703を含む。次に、ヘッダ701およびアプリケーションプロバイダ公開鍵703は、CAの秘密鍵で署名(暗号化)される。従って、CAのみがCAプライベート鍵を知っているので、ALC209は、ロードされる各アプリケーションに対してCAによってアプリケーションプロバイダに供給されなければならない。ヘッダ701は、アプリケーションが意図されるアプリケーションプロバイダおよびICカードに関する情報を含む。ALC209は、識別情報を使用し得るアプリケーションプロバイダによって正しいALU内に配置される。アプリケーションプロバイダ公開鍵703は、識別データとともにCAに供給される。次に、CAは、認証性を検証したあとで、この情報に署名し、アプリケーションプロバイダに署名されたALCを返送する。ICカードは、ALU201の一部としてALC209を受け取るとき、CAの公開鍵でALC209を検証する。これにより、CAがアプリケーションロード証明に署名し、それが本物であることを確証する。情報を検証した後で、ヘッダ識別情報701がチェックされ、アプリケーションプロバイダ公開鍵が復元される。この公開鍵は、ICカード上にロードされるべきアプリケーションおよびコードが適切なアプリケーションプロバイダによって作成されたことを検証するのに使用される。
図8は、AU203がアプリケーションプロバイダによって署名されたことを検証するために、アプリケーションプロバイダの公開鍵を使用してAU署名205を検証することを示した図である。AU署名205は、アプリケーションプロバイダ公開鍵801で検証され、AU203と比較される。データブロックがマッチした場合、ICカードは、アプリケーションプロバイダがアプリケーションユニットに署名(暗号化)し、アプリケーションが本物であることを検証した。この認証は、アプリケーションプロバイダのみが秘密鍵を有するので、有効である。アプリケーションプロバイダ公開鍵がCAによって署名されたアプリケーションロード証明209の一部として供給されているので、ICカードは、この情報を効率よく処理し得る。従って、外部ロケーションから公開鍵を復元して、アプリケーションを認証する必要がない。
図9は、アプリケーションロードユニットがICカードによって受け取られたときに、これを処理するための工程のフローチャートを示す。ALUを受け取る前に、所望により、ICカードの同一性に関して同一性チェックが実行され得る。ALUプロセス技術は、ロードされるアプリケーションが、(1)正しいアプリケーションプロバイダからであり、(2)意図されるカードにロードされ、(3)CAによって証明されていることを検証することを含む、数々のさらなる検証を提供する。また、ALUプロセス技術は、プログラムコードおよび関連データの部分を、ICカードが安全な方式で復号化できるようにする配送復号化鍵の配送を可能にする。工程901では、ICカードがアプリケーションプロバイダからALUを受け取る。ALUは、端末接続、遠隔接続(contactless connection)、電話、コンピュータ、イントラネット、インターネット、または他の任意の通信手段を介して送信され得る。ALUは、ICカードのI/Oバッファに、AU203、AU署名205、KTU207、およびALC209の開始アドレスを指示するヘッダ情報とともに配置される。あるいは、ICカードは、これら4つのユニットの相対アドレスロケーションを決定し得る。
工程903は、CA公開鍵を備えたALC209を検証する。各ICカードは、好適には、そのメモリ内にCA公開鍵の複製を記憶する。これは、CA公開鍵が多くのトランスアクションに使用されるからである。あるいは、ICカードは、公知の記憶ロケーションから公開鍵を取得し得る。CA公開鍵がALC209を適切に検証した場合、ICカードは、CAが秘密鍵によってALC209に署名し、従って、アプリケーションロード証明は適切であることを検証する。ICカードが、ALCを適切に検証しなかった場合、ALCはCAによって署名されておらず、証明は適切でない。そこで、アプリケーションローディングプロセスは終了する。
次に、工程905が、アプリケーションロード証明において送られた識別情報に対してICカードの同一性をチェックし、カードがアプリケーションを受け取ることを意図されたものであることを確実にする。この許可チェックは、上記に確認した関連特許出願に記載されている。識別データの一致が存在しない場合、アプリケーションローディングプロセスは終了する。識別データが一致する場合、プロセスは継続する。
工程907は、検証されたALCから復元されたアプリケーションプロバイダの公開鍵を用い、AU署名205を検証する。ALUがアプリケーションプロバイダにより作成されているとき、アプリケーションユニット203は、アプリケーションプロバイダの秘密鍵で署名され、アプリケーションが正しいアプリケーションプロバイダによって供給されたことを認証する。次に、アプリケーションプロバイダは、ALCを介してICカードに公開鍵を供給する。ひいては、ICカードは、AU署名205を検証する。2つのデータブロックが一致した場合、ALUはアプリケーションプロバイダによって作成されたとして検証される。アプリケーションプロバイダの公開鍵は、CAによって署名されたALCの一部であるので、CAは、適切な公開鍵がICカードに供給されたことを確証する。アプリケーションプロバイダと、CAと、意図されたICカードとの間のこの特殊な鍵インタラクションは、安全システムの一部であるICカードへの偽造、もしくは未許可のアプリケーションまたはデータが、ロードされないことを確証する。
次に、工程911が、唯一意図されたカードのみがアプリケーションを受け取ることをさらに検証するKTU認証チェックを処理する。KTU認証チェックは、第三者が何らかにおいてALUを妨害した場合でも、第三者がAUの暗号部分を読み出せず、AUを復号化する鍵を受け取れないことを確証する。この工程を図10においてさらに示す。
図10は、KTU認証プロセスの工程を示す。工程1001は、好適には任意であるので破線で示されているが、ICカードの同一性を再度チェックする。識別情報は、KTUデータの一部として送られ得る。しかしながら、このチェックは既に工程905において実施されているので、任意である。
次に、工程1003が、ICカードの秘密鍵(mkd_sk)を用いてKTU暗号文503を復号化する。KTU平文は、意図されるカードの公開鍵(mkd_pk)を用いて、先だって暗号化されている。これは、唯一意図されたカードの秘密鍵の保持者のみが、暗号化されたメッセージを復号化し得ることを意味する。アプリケーションプロバイダは、ICカード自体から(図4およびmkd鍵セットに関する関連テキストを参照)、または公開鍵を保持するデータベースのいずれかから、意図されるICカードの公開鍵を入手する。ICカードがKTU暗号文を適切に復号化しない場合、KTUはそのカードには意図されておらず、アプリケーションローディングプロセスは停止する。ICカードがKTU暗号文を適切に復号化した場合、プロセスは継続する。
工程1005は、アプリケーションユニット(AU)の暗号化領域を識別する。図6を参照して説明したKTU平文の例では、ICカードは、相対的開始アドレスおよび領域長フィールドを使用して、暗号化される部分を決定している。工程1005も、識別された部分を暗号化するのにどの暗号化技術を用いるかを識別し、これにより、適切な復号化技術が使用され得る。例えば、この技術は単一または三重のDESにより得る。あるいは、この技術は、システムに使用され識別の必要がないデフォルト技術であり得る。
次に、工程1007が、KTU平文からの鍵を復元し、識別された部分を識別された復号化技術で復号化する。これにより、ひとたびすべての暗号化部分が復号化されれば、ICカードはEEPROMに記憶されるAUの復号化された部分を有する。
工程1009は、その他に任意の暗号化領域が存在する場合をチェックする。図3に記載の例では、3つの暗号化領域が存在する。暗号化領域の数は、図6の例ではフィールドである。しかしながら、部分の数は、他の従来手段を用いて決定し得る。追加の暗号化領域が存在する場合、プロセスは工程1005に飛ぶ。追加の暗号化領域が存在しない場合、プロセスは工程1011から継続する。
次に、工程1011は、復号化されたAUをICカードのメモリ内にロードする。ALUは、すべての認証および復号化チェックを通過し、ついにアプリケーションはICカード上に適切に存在し、カードユーザによって実行され使用され得る。図9および図10において、異なるチェックが特定順序で提示されたが、チェックは任意の順序で実施し得る。記載したすべての技術は、ALUに最良の安全性を提供することに関連して使用されたが、一つ以上の個別技術が、個別の目的のため、または他の従来安全技術との組み合わせで使用され得る。
図11は、ALUがロードされ処理され得るICカードチップのブロック図の例を示す。使用されるICカード上には集積回路が配置される。ICカードは、好適には、中央演算装置1101、RAM1103、EEPROM1105、ROM1107、タイマ1109、制御ロジック1111、I/Oポート1113、および安全回路1115を含み、これらは従来のデータバスによって互いに接続されている。
メモリカード内の制御ロジック1111は、入力/出力ポートを介してカードのメモリへの読み出し/書き込みを取り扱うのに充分なシーケンスおよびスイッチングを供給する。制御ロジックを備えたCPU1101は、計算、メモリロケーションへのアクセス、メモリ内容の変更、および入力/出力ポートの管理を実施する。カードのなかには、暗号処理など複雑な演算を取り扱うためのコプロセッサを有するものがある。入力/出力ポート1113は、CPUおよび制御ロジックの制御下で、カードとカードインターフェイスデバイスの間の通信のために使用される。タイマ1109(クロックパルスを生成し供給する)は、メモリアクセス、メモリ読み出しまたは書き込み、処理、およびデータ通信を完成する一連の工程を介して、制御ロジック1111およびCPU1101を駆動する。タイマーは、呼び出し持続時間などのアプリケーションの特徴を供給するのに用いられ得る。セキュリティ回路1115は、製造中におけるテストの必要に応じて、入力/出力配線を内部回路に接続する可融性の(fusible)接続を含んでいるが、この回路はテストの完了時に、その後のアクセスを防ぐために壊され(「溶融し(blown)」)、その後のアクセスを防ぐ。ALUが認証され検証された後のAUデータは、EEPROM1105に記憶される。ICカードのプライベート鍵は、安全なメモリロケーションに記憶される。ICカードの公開鍵および公開鍵証明は、好適には、EEPROM1105に記憶される。本明細書に記載される認証プロセスは、CPU1101により実行される。
また、図11は、アプリケーションプロバイダ、送信エンティティ、およびCAの可能な構成を示す。アプリケーションプロバイダ内に存在するCPU1101は、本明細書に記載した暗号化技術を用いて必要な情報を暗号化し、必要なデータ処理を実行する。証明機構に存在するCPU1101は、本明細書に記載したアプリケーションロード証明および公開鍵証明に署名するのに使用される。
上記内容は、本願発明の原理を単に例示したものである。従って、本明細書には明示的に図示または記載しないが、本発明の原理を実施し、それにより、本発明の精神および範囲内にある多数のシステムおよび方法を、当業者が考案できることは理解される。
例えば、本明細書ではアプリケーションのロードを記載しているが、同等の安全ローディングプロセスを、データブロック、データファイル、ワードプロセッシング文書、または安全な方式で送信を要する他の任意のタイプのデータなど、他のタイプのデータの送信に適用し得る。

Claims (18)

  1. アプリケーションコピーを集積回路カード上にロードする方法であって、該アプリケーションコピーは、1つのアプリケーションの、複数のコピーのうちの1つであり、該アプリケーションコピーは、他のアプリケーションからの該アプリケーションおよび該アプリケーションの各コピーに固有のアプリケーションコピーナンバーを独自に識別する関連アプリケーション識別子を有し、該集積回路カードは、マイクロプロセッサおよび該マイクロプロセッサに結合されたメモリを含み、該メモリが、既に該集積回路カード上にロードされたアプリケーションのアプリケーション識別子およびアプリケーションコピーナンバーを格納するためのアプリケーション履歴リスト領域を含み、該方法は、
    該アプリケーションコピー、該アプリケーション識別子、および該アプリケーションコピーナンバーを該集積回路カードによって受け取るステップと、
    該アプリケーション識別子および該アプリケーションコピーナンバーが該アプリケーション履歴リスト領域に含まれるかどうかを、該集積回路カードによって判定するステップと、
    該アプリケーション識別子および該アプリケーションコピーナンバーが該アプリケーション履歴リスト領域に含まれる場合、該集積回路カードによって該アプリケーションコピーのロードを停止するステップと、
    を含む方法。
  2. 前記アプリケーション履歴リスト領域に、前記メモリの所定部分を割り当てるステップと、
    該アプリケーション履歴リスト領域が満杯であるかどうかを、該集積回路カードによって判定するステップと、
    該アプリケーション履歴リスト領域が満杯である場合、該アプリケーションコピーのロードを停止するステップと、
    をさらに含む請求項1に記載の方法。
  3. 前記アプリケーション履歴リスト領域に前記アプリケーション識別子および前記アプリケーションコピーナンバーが含まれない場合、該アプリケーション識別子および該アプリケーションコピーナンバーを、該アプリケーション履歴リスト領域に加えるステップをさらに含む、請求項1または請求項2に記載の方法。
  4. 前記アプリケーション履歴リスト領域に前記アプリケーション識別子および前記アプリケーションコピーナンバーが含まれず、かつ、該アプリケーションコピーナンバーがゼロでない場合、該アプリケーション識別子および該アプリケーションコピーナンバーを、該アプリケーション履歴リスト領域に加えるステップをさらに含む、請求項1または請求項2に記載の方法。
  5. 前記アプリケーションコピーが、アプリケーションコードおよびアプリケーションデータを含み、かつ、該アプリケーションデータの一部分が、グッズまたはサービスと交換し得る値のユニットを含む、請求項1から4のいずれかに記載の方法。
  6. 前記アプリケーションコピーがアプリケーションコードおよびアプリケーションデータを含み、かつ、前記アプリケーション識別子および前記アプリケーションコピーナンバーが該アプリケーションデータに含まれる、請求項1から5のいずれかに記載の方法。
  7. アプリケーションプロバイダによって、前記アプリケーションコピー、前記アプリケーション識別子、および前記アプリケーションコピーナンバーを、前記集積回路カードに送信するステップをさらに含む、請求項1から6のいずれかに記載の方法。
  8. 前記アプリケーションコピーを前記集積回路カードに送信する前に、前記アプリケーションプロバイダによって、該アプリケーションコピーの少なくとも一部分を暗号化するステップをさらに含む、請求項7に記載の方法。
  9. 前記アプリケーションコピーの前記一部分の前記暗号化に関する情報を含む鍵変換ユニットを、前記アプリケーションプロバイダによって送信するステップをさらに含む、請求項8に記載の方法。
  10. 前記集積回路カードが第1の公開鍵対を有し、前記方法は
    前記鍵変換ユニットを前記集積回路カードに送信する前に、前記アプリケーションプロバイダによって、該第1の公開鍵対の該公開鍵で該鍵変換ユニットを暗号化するステップをさらに含む、
    請求項9に記載の方法。
  11. 前記集積回路カードによって、前記暗号化された鍵変換ユニットを前記第1の公開鍵対のシークレット鍵で復号化するステップと、
    該復号化された鍵変換ユニットに含まれる情報を用いて、前記アプリケーションコピーを復号化するステップと、
    をさらに含む請求項10に記載の方法。
  12. 前記アプリケーションプロバイダが第2の公開鍵対を有し、前記方法は
    前記アプリケーションコピーを前記第2の公開鍵対のシークレット鍵で暗号化することにより、サインされたアプリケーションコピーを該アプリケーションプロバイダによって形成するステップと、
    該アプリケーションプロバイダによって、該サインされたアプリケーションコピーを前記集積回路カードに送信するステップと、
    をさらに含む、請求項7から11のいずれかに記載の方法。
  13. 前記第2の公開鍵対の公開鍵を、第3の公開鍵対を有する証明機関で登録するステップと、
    該第2の公開鍵対の公開鍵を該第3の公開鍵対のシークレット鍵で暗号化することによって、該証明機関により前記アプリケーションプロバイダに証明書を提供するステップと、
    該アプリケーションプロバイダにより、該証明書を前記集積回路カードに送信するステップと、
    をさらに含む請求項12に記載の方法。
  14. 前記第3の公開鍵対の公開鍵を用いて前記証明書を復号化することにより、前記集積回路カードによって前記第2の鍵対の公開鍵を得るステップと、
    該第2の公開鍵対の公開鍵を用いて、該集積回路カードによって、前記サインされたアプリケーションコピーを検証するステップと、
    該サインされたアプリケーションコピーが検証されない場合、該集積回路カードにより該アプリケーションコピーのロードを停止するステップと、
    をさらに含む、請求項13に記載の方法。
  15. 集積回路カードであって、
    マイクロプロセッサと、
    該マイクロプロセッサに結合されたメモリであって、該メモリは、アプリケーション識別子およびアプリケーションコピーナンバーを格納するためのアプリケーション履歴リスト領域を含み、各アプリケーション識別子および各アプリケーションコピーナンバーは、アプリケーションコピーに関連し、該アプリケーションコピーは、ある1つのアプリケーションの複数のコピーのうちの1つであり、各アプリケーション識別子は、他のアプリケーションからのアプリケーションを独自に識別し、そして、各アプリケーションコピーナンバーは、他のアプリケーションコピーからのアプリケーションコピーを独自に識別する、メモリと、
    該メモリ領域にロードされるアプリケーションコピーに関連する、アプリケーション識別子およびアプリケーションコピーナンバーが、該アプリケーション履歴リスト領域に含まれるかどうかを判定する手段と、
    該関連アプリケーション識別子および該関連アプリケーションコピーナンバーが該アプリケーション履歴リスト領域に含まれる場合に、ロードされる該アプリケーションコピーのロードを停止する手段と、
    を含む集積回路カード。
  16. 前記アプリケーション履歴リスト領域が、前記メモリの、割り当てられた所定部分であり、前記集積回路カードは、
    該アプリケーション履歴リスト領域が満杯であるかどうかを判定する手段と、
    該アプリケーション履歴リスト領域が満杯である場合に、ロードされる該アプリケーションコピーのロードを停止する手段と、
    を含む請求項15に記載の集積回路カード。
  17. 前記アプリケーション識別子および前記アプリケーションコピーナンバーが前記アプリケーション履歴リスト領域に含まれない場合、ロードされる該アプリケーションコピーの前記関連アプリケーション識別子および前記関連アプリケーションコピーナンバーを、該アプリケーション履歴リスト領域に加える手段をさらに含む、請求項15または請求項16に記載の集積回路カード。
  18. 前記アプリケーション識別子および前記アプリケーションコピーナンバーが前記アプリケーション履歴リスト領域に含まれず、かつ、該アプリケーションコピーナンバーがゼロでない場合、ロードされる該アプリケーションコピーの前記関連アプリケーション識別子および前記関連アプリケーションコピーナンバーを、該アプリケーション履歴リスト領域に加える手段をさらに含む、請求項15から17のいずれかに記載の集積回路カード。
JP54893498A 1997-05-15 1998-05-14 アプリケーション履歴リストを有する集積回路カード Expired - Lifetime JP4251667B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US4654397P 1997-05-15 1997-05-15
US4651497P 1997-05-15 1997-05-15
US60/046,543 1998-05-12
US60/046,514 1998-05-12
US09/078,031 1998-05-13
US09/078,031 US6328217B1 (en) 1997-05-15 1998-05-13 Integrated circuit card with application history list
PCT/GB1998/001388 WO1998052158A2 (en) 1997-05-15 1998-05-14 Integrated circuit card with application history list

Publications (2)

Publication Number Publication Date
JP2001525956A JP2001525956A (ja) 2001-12-11
JP4251667B2 true JP4251667B2 (ja) 2009-04-08

Family

ID=27366921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54893498A Expired - Lifetime JP4251667B2 (ja) 1997-05-15 1998-05-14 アプリケーション履歴リストを有する集積回路カード

Country Status (7)

Country Link
US (1) US6328217B1 (ja)
EP (1) EP0981807B1 (ja)
JP (1) JP4251667B2 (ja)
AU (1) AU7776798A (ja)
DE (1) DE69839841D1 (ja)
HK (1) HK1024768A1 (ja)
WO (1) WO1998052158A2 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2765985B1 (fr) * 1997-07-10 1999-09-17 Gemplus Card Int Procede de gestion d'un terminal securise
US6880155B2 (en) 1999-02-02 2005-04-12 Sun Microsystems, Inc. Token-based linking
KR100722172B1 (ko) * 1999-03-03 2007-05-29 소니 가부시끼 가이샤 데이터 처리 장치, 데이터 처리 방법, 단말장치 및 데이터처리 장치의 전송 방법
US6931381B1 (en) * 1999-03-11 2005-08-16 American Express Travel Related Services Company, Inc. Methods and apparatus for authenticating the download of information onto a smart card
FI114434B (fi) 1999-05-11 2004-10-15 Nokia Corp Viestintälaitteet
US6449720B1 (en) * 1999-05-17 2002-09-10 Wave Systems Corp. Public cryptographic control unit and system therefor
DE19925389A1 (de) * 1999-06-02 2000-12-21 Beta Res Gmbh Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards
US6999948B1 (en) * 1999-08-10 2006-02-14 Fujitsu Limited Memory card
US7080259B1 (en) * 1999-08-12 2006-07-18 Matsushita Electric Industrial Co., Ltd. Electronic information backup system
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
US7158993B1 (en) 1999-11-12 2007-01-02 Sun Microsystems, Inc. API representation enabling submerged hierarchy
WO2002023331A2 (en) * 2000-09-14 2002-03-21 Sun Microsystems, Inc. Remote incremental program binary compatibility verification using api definitions
JP2002117376A (ja) * 2000-10-04 2002-04-19 Fujitsu Ltd 著作権情報照会装置
US7110986B1 (en) * 2001-04-23 2006-09-19 Diebold, Incorporated Automated banking machine system and method
FI112904B (fi) * 2001-06-29 2004-01-30 Nokia Corp Menetelmä suojata elektroninen laite ja elektroninen laite
JP2003036424A (ja) * 2001-07-24 2003-02-07 Dainippon Printing Co Ltd マルチアプリケーションicカード
US7143313B2 (en) 2001-11-09 2006-11-28 Sun Microsystems, Inc. Support interface module bug submitter
US7266731B2 (en) 2001-11-13 2007-09-04 Sun Microsystems, Inc. Method and apparatus for managing remote software code update
EP1376492A1 (en) * 2002-06-24 2004-01-02 Canal + Technologies Secure software customisation for smartcard
NO20023194D0 (no) * 2002-07-01 2002-07-01 Sospita As Fremgangsmåte og apparatur for eksekvering av programvareapplikasjoner i et multiprosessormiljö
US7647507B1 (en) * 2003-07-08 2010-01-12 Marvell International Ltd. Secure digital content distribution system and secure hard drive
GB0317571D0 (en) * 2003-07-26 2003-08-27 Koninkl Philips Electronics Nv Content identification for broadcast media
US8484671B1 (en) 2003-10-07 2013-07-09 The Directv Group, Inc. Receiver interface with multiple access cards
US20060085333A1 (en) * 2004-08-25 2006-04-20 Wah Leow O Credit/debit card payment system
US20060080655A1 (en) * 2004-10-09 2006-04-13 Axalto Inc. System and method for post-issuance code update employing embedded native code
EP1977552B1 (en) * 2006-01-24 2012-08-01 Stepnexus, Inc. Method and system for personalizing smart cards using asymmetric key cryptography
EP2005628A1 (en) * 2006-03-24 2008-12-24 Metabank Information management system and method
US7631810B2 (en) * 2006-12-19 2009-12-15 Vivotech, Inc. Systems, methods, and computer program products for supporting multiple applications and multiple instances of the same application on a wireless smart device
ITMI20080536A1 (it) * 2008-03-28 2009-09-29 Incard Sa Metodo per proteggere un file cap per una carta a circuito integrato.
US9230259B1 (en) 2009-03-20 2016-01-05 Jpmorgan Chase Bank, N.A. Systems and methods for mobile ordering and payment
WO2011009051A1 (en) * 2009-07-16 2011-01-20 Assa Abloy Ab Blind verification of computer firmware
US8352749B2 (en) 2010-12-17 2013-01-08 Google Inc. Local trusted services manager for a contactless smart card
US8807440B1 (en) 2010-12-17 2014-08-19 Google Inc. Routing secure element payment requests to an alternate application
US8621168B2 (en) 2010-12-17 2013-12-31 Google Inc. Partitioning the namespace of a contactless smart card
US8171525B1 (en) 2011-09-15 2012-05-01 Google Inc. Enabling users to select between secure service providers using a central trusted service manager
US8255687B1 (en) 2011-09-15 2012-08-28 Google Inc. Enabling users to select between secure service providers using a key escrow service
US8313036B1 (en) 2011-09-16 2012-11-20 Google Inc. Secure application directory
US9268621B2 (en) * 2011-11-02 2016-02-23 Red Hat, Inc. Reducing latency in multicast traffic reception
US8385553B1 (en) 2012-02-28 2013-02-26 Google Inc. Portable secure element
US8429409B1 (en) 2012-04-06 2013-04-23 Google Inc. Secure reset of personal and service provider information on mobile devices
USD759022S1 (en) * 2013-03-13 2016-06-14 Nagrastar Llc Smart card interface
USD758372S1 (en) * 2013-03-13 2016-06-07 Nagrastar Llc Smart card interface
USD864968S1 (en) * 2015-04-30 2019-10-29 Echostar Technologies L.L.C. Smart card interface
US10587409B2 (en) 2017-11-30 2020-03-10 T-Mobile Usa, Inc. Authorization token including fine grain entitlements
US11438168B2 (en) 2018-04-05 2022-09-06 T-Mobile Usa, Inc. Authentication token request with referred application instance public key

Family Cites Families (171)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218582A (en) 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4408203A (en) 1978-01-09 1983-10-04 Mastercard International, Inc. Security system for electronic funds transfer system
US4259720A (en) 1978-01-09 1981-03-31 Interbank Card Association Security system for electronic funds transfer system
US4214230A (en) 1978-01-19 1980-07-22 Rolf Blom Personal identification system
FR2455320B1 (fr) 1979-04-25 1986-01-24 Cii Honeywell Bull Dispositif de recyclage de supports d'enregistrement identifiables a l'aide de donnees d'identification et composes de memoires monolithiques non volatiles effacables
US4321672A (en) 1979-11-26 1982-03-23 Braun Edward L Financial data processing system
US4302810A (en) 1979-12-28 1981-11-24 International Business Machines Corporation Method and apparatus for secure message transmission for use in electronic funds transfer systems
US4305059A (en) 1980-01-03 1981-12-08 Benton William M Modular funds transfer system
FR2480539B1 (fr) 1980-04-09 1985-09-13 Cii Honeywell Bull Procede et systeme de transmission de messages signes
US4341951A (en) 1980-07-02 1982-07-27 Benton William M Electronic funds transfer and voucher issue system
FR2497617B1 (fr) 1981-01-07 1989-08-18 Transac Develop Transactions A Procede et dispositif de securite pour communication tripartie de donnees confidentielles
US4578530A (en) 1981-06-26 1986-03-25 Visa U.S.A., Inc. End-to-end encryption system and method of operation
US4423287A (en) 1981-06-26 1983-12-27 Visa U.S.A., Inc. End-to-end encryption system and method of operation
US4453074A (en) 1981-10-19 1984-06-05 American Express Company Protection system for intelligent cards
FR2536928B1 (fr) 1982-11-30 1989-10-06 France Etat Systeme pour chiffrer et dechiffrer des informations, du type utilisant un systeme de dechiffrement a cle publique
US4906828A (en) 1983-02-28 1990-03-06 Paperless Accounting, Inc. Electronic money purse and fund transfer system
US4536647A (en) 1983-07-15 1985-08-20 Atalla Corporation Pocket banking terminal, method and system
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US4759063A (en) 1983-08-22 1988-07-19 Chaum David L Blind signature systems
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4605820A (en) 1983-11-10 1986-08-12 Visa U.S.A. Inc. Key management system for on-line communication
SE442249B (sv) 1983-11-17 1985-12-09 Ericsson Telefon Ab L M Forfarande och anordning for verifiering av personidentifieringsnummer och kontroll av inlagd nummerserie i identifieringsmedia
US4745267A (en) 1983-12-28 1988-05-17 Fairview Partners Fraudulent card intercept system
JPS60160491A (ja) 1984-01-31 1985-08-22 Toshiba Corp Icカードとicカード発行装置
EP0219880B1 (en) 1984-02-09 1990-09-19 Kabushiki Kaisha Toshiba Data processing terminal device
US4630201A (en) 1984-02-14 1986-12-16 International Security Note & Computer Corporation On-line and off-line transaction security system using a code generated from a transaction parameter and a random number
JPS60144154U (ja) 1984-03-07 1985-09-25 シャープ株式会社 携帯用電子計算機
JPS60207957A (ja) 1984-03-31 1985-10-19 Toshiba Corp デ−タ保護方式
US4736094A (en) 1984-04-03 1988-04-05 Omron Tateisi Electronics Co. Financial transaction processing system using an integrated circuit card device
US4709137A (en) 1984-04-16 1987-11-24 Omron Tateisi Electronics Co. IC card and financial transaction processing system using IC card
US4727243A (en) 1984-10-24 1988-02-23 Telenet Communications Corporation Financial transaction system
GB2168514A (en) 1984-12-12 1986-06-18 Ibm Security module
US4650978A (en) 1985-01-23 1987-03-17 Rmh Systems, Inc. Off line cash card system and method
JPS61177585A (ja) 1985-02-04 1986-08-09 Toshiba Corp 携帯用電子装置密封体
JPS61210488A (ja) 1985-03-14 1986-09-18 Toppan Moore Co Ltd Icカ−ド
JPS61264485A (ja) 1985-05-18 1986-11-22 Hitachi Maxell Ltd Icカ−ドのリ−ダ−・ライタ−
JPS61278989A (ja) 1985-06-04 1986-12-09 Toppan Moore Co Ltd Icカ−ドのリ−ダ・ライタ
JPH069067B2 (ja) 1985-07-16 1994-02-02 カシオ計算機株式会社 Icカ−ドシステム
JPH0818473B2 (ja) 1985-07-31 1996-02-28 トッパン・ムーア株式会社 機密水準を設定できるicカード
JPH0762862B2 (ja) 1985-09-17 1995-07-05 カシオ計算機株式会社 Icカ−ドシステムにおける認証方式
US4752677A (en) 1985-09-25 1988-06-21 Casio Computer Co., Ltd. Customer service system for use in IC card system
EP0218176B1 (en) 1985-10-07 1991-11-13 Kabushiki Kaisha Toshiba Portable electronic device
US4778983A (en) 1985-10-12 1988-10-18 Sanden Corporation Automatic vending machine
JPS6295689A (ja) * 1985-10-22 1987-05-02 Casio Comput Co Ltd Icカ−ドシステム
US4669596A (en) 1985-10-22 1987-06-02 Debitek, Inc. Vending machine accessory permitting dual mode machine operation with either money or coded cards
JPS62105293A (ja) 1985-10-31 1987-05-15 Toshiba Corp 携帯可能記録媒体の読取・書込装置
FR2591008B1 (fr) 1985-11-30 1991-05-17 Toshiba Kk Dispositif electronique portatif
US4849614A (en) 1985-12-27 1989-07-18 Toppan Moore Company, Ltd. Composite IC card
FR2592510B1 (fr) 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
JPS62179994A (ja) 1986-02-04 1987-08-07 カシオ計算機株式会社 電子カ−ド
US4874935A (en) 1986-03-10 1989-10-17 Data Card Coprporation Smart card apparatus and method of programming same
JPS62222363A (ja) 1986-03-25 1987-09-30 Omron Tateisi Electronics Co 自動取引処理装置
JPS62254265A (ja) 1986-04-28 1987-11-06 Hitachi Ltd 現金自動取引装置の制御方式
US4742215A (en) 1986-05-07 1988-05-03 Personal Computer Card Corporation IC card system
US4816654A (en) 1986-05-16 1989-03-28 American Telephone And Telegraph Company Improved security system for a portable data carrier
US4816653A (en) 1986-05-16 1989-03-28 American Telephone And Telegraph Company Security file system for a portable data carrier
JP2537199B2 (ja) 1986-06-20 1996-09-25 株式会社東芝 Icカ―ド
US4839792A (en) 1986-06-20 1989-06-13 Kabushiki Kaisha Toshiba Portable electronic apparatus with a device for determining data validity
US4748668A (en) 1986-07-09 1988-05-31 Yeda Research And Development Company Limited Method, apparatus and article for identification and signature
FR2601535B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2601795B1 (fr) 1986-07-17 1988-10-07 Bull Cp8 Procede pour diversifier une cle de base et pour authentifier une cle ainsi diversifiee comme ayant ete elaboree a partir d'une cle de base predeterminee, et systeme pour la mise en oeuvre
JPS6332658A (ja) 1986-07-28 1988-02-12 Casio Comput Co Ltd Icカ−ドシステム
JPH07104891B2 (ja) 1986-08-05 1995-11-13 沖電気工業株式会社 取引処理装置
US4802218A (en) 1986-11-26 1989-01-31 Wright Technologies, L.P. Automated transaction system
JPS6373388A (ja) 1986-09-16 1988-04-02 Fujitsu Ltd 複数サ−ビス用icカ−ドの領域獲得方式
JPH087720B2 (ja) 1986-09-16 1996-01-29 富士通株式会社 複数サービス用icカードの領域アクセス方法
DE3731736A1 (de) 1986-09-27 1988-04-07 Toshiba Kawasaki Kk Verarbeitungssystem fuer tragbare elektronische vorrichtung
JPS63120391A (ja) 1986-11-10 1988-05-24 Hitachi Ltd Icカ−ド
US4900904A (en) 1986-11-26 1990-02-13 Wright Technologies, L.P. Automated transaction system with insertable cards for downloading rate or program data
JPS63182795A (ja) 1987-01-20 1988-07-28 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン ポータブル・カードとその製造方法
US4969188A (en) 1987-02-17 1990-11-06 Gretag Aktiengesellschaft Process and apparatus for the protection of secret elements in a network of encrypting devices with open key management
JPH0758500B2 (ja) 1987-02-20 1995-06-21 株式会社東芝 携帯可能電子装置
US5162989A (en) 1987-02-20 1992-11-10 Oki Electric Industry Co., Ltd. Information rental system including processor equipped IC card having data erasing means
EP0281058B1 (de) 1987-03-04 1993-02-03 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenaustauschsystem
FR2611962B1 (fr) 1987-03-06 1989-06-09 Trt Telecom Radio Electr Systeme et procede pour cryptographie avec application
JPS63236186A (ja) 1987-03-24 1988-10-03 Mitsubishi Electric Corp カ−ド発行装置
US4949257A (en) 1987-04-28 1990-08-14 Zvi Orbach Automated merchandising system for computer software
US4797920A (en) 1987-05-01 1989-01-10 Mastercard International, Inc. Electronic funds transfer system with means for verifying a personal identification number without pre-established secret keys
GB2204973A (en) 1987-05-19 1988-11-23 Gen Electric Co Plc Data processing system
US4984270A (en) 1987-06-19 1991-01-08 The Exchange System Method and system for transmission of financial data
JP2592856B2 (ja) 1987-09-24 1997-03-19 株式会社東芝 Icカード発行システム
JPH0161764U (ja) 1987-10-09 1989-04-19
US4853961A (en) 1987-12-18 1989-08-01 Pitney Bowes Inc. Reliable document authentication system
FR2626095B1 (fr) 1988-01-20 1991-08-30 Sgs Thomson Microelectronics Systeme de securite pour proteger des zones de programmation d'une carte a puce
JP2623332B2 (ja) 1988-02-03 1997-06-25 日立マクセル株式会社 Icカード及びその動作プログラム書込み方法
US5214702A (en) 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5005200A (en) 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5012076A (en) 1988-03-02 1991-04-30 Hitachi, Ltd. Transaction method wherein transaction amount is compared with account balance before ID is entered
US4987593A (en) 1988-03-16 1991-01-22 David Chaum One-show blind signature systems
US4879747A (en) 1988-03-21 1989-11-07 Leighton Frank T Method and system for personal identification
US4995081A (en) 1988-03-21 1991-02-19 Leighton Frank T Method and system for personal identification using proofs of legitimacy
US4891503A (en) 1988-03-29 1990-01-02 Gascard, Inc. Distributed authorization system
JPH01259483A (ja) 1988-04-08 1989-10-17 Minolta Camera Co Ltd Icカード
CA1321649C (en) 1988-05-19 1993-08-24 Jeffrey R. Austin Method and system for authentication
US4961142A (en) 1988-06-29 1990-10-02 Mastercard International, Inc. Multi-issuer transaction device with individual identification verification plug-in application modules for each issuer
ATE120021T1 (de) 1988-07-20 1995-04-15 Syspatronic Ag Spa Datenträger-gesteuertes endgerät in einem datenaustauschsystem.
DE68927361T4 (de) 1988-08-12 1999-11-04 Hitachi Maxell Chipkarte und Verfahren zum Wiedereinschreiben ihres Programmes
JP2695855B2 (ja) 1988-08-26 1998-01-14 株式会社東芝 携帯可能電子装置
JPH0622030B2 (ja) 1988-10-03 1994-03-23 富士通株式会社 取引の正当性確認方式
US5016274A (en) 1988-11-08 1991-05-14 Silvio Micali On-line/off-line digital signing
JPH02170272A (ja) 1988-12-23 1990-07-02 Hitachi Maxell Ltd 秘密情報の照合方式
JPH02214994A (ja) 1989-02-15 1990-08-27 Hitachi Maxell Ltd Icカード
US5165043A (en) 1989-03-15 1992-11-17 Hitachi, Ltd. Memory card system and access method for memory card
US4977595A (en) 1989-04-03 1990-12-11 Nippon Telegraph And Telephone Corporation Method and apparatus for implementing electronic cash
US4996711A (en) 1989-06-21 1991-02-26 Chaum David L Selected-exponent signature systems
FR2650097B1 (fr) 1989-07-19 1992-12-31 Pailles Jean Claude Carte a microcircuit cable et procede de transaction entre une carte a microcircuit cable correspondante et un terminal
FR2651347A1 (fr) 1989-08-22 1991-03-01 Trt Telecom Radio Electr Procede de generation de nombre unique pour carte a microcircuit et application a la cooperation de la carte avec un systeme hote.
ZA907106B (en) 1989-10-06 1991-09-25 Net 1 Products Pty Ltd Funds transfer system
US5148481A (en) 1989-10-06 1992-09-15 International Business Machines Corporation Transaction system security method and apparatus
FR2653248B1 (fr) 1989-10-13 1991-12-20 Gemolus Card International Systeme de paiement ou de transfert d'information par carte a memoire electronique porte monnaie.
FR2653914A1 (fr) 1989-10-27 1991-05-03 Trt Telecom Radio Electr Systeme d'authentification d'une carte a microcircuit par un micro-ordinateur personnel, et procede pour sa mise en óoeuvre.
US5120939A (en) 1989-11-09 1992-06-09 At&T Bell Laboratories Databaseless security system
US4993068A (en) 1989-11-27 1991-02-12 Motorola, Inc. Unforgeable personal identification system
JPH03240127A (ja) 1990-02-17 1991-10-25 Hitachi Maxell Ltd プログラム制御システム
JPH03248249A (ja) 1990-02-27 1991-11-06 Mitsubishi Electric Corp Icメモリカード
JPH0424889A (ja) 1990-05-21 1992-01-28 Toshiba Corp 個人認証機能付きicカード
EP0466969B1 (de) 1990-07-20 1994-01-12 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren zur Verhinderung unzulässiger Abweichungen vom Ablaufprotokoll einer Anwendung bei einem Datenaustauschsystem
US5163098A (en) 1990-09-06 1992-11-10 Dahbura Abbud S System for preventing fraudulent use of credit card
FR2666671B1 (fr) 1990-09-12 1994-08-05 Gemplus Card Int Procede de gestion d'un programme d'application charge dans un support a microcircuit.
FR2667171B1 (fr) 1990-09-25 1994-08-26 Gemplus Card Int Support portable a micro-circuit facilement programmable et procede de programmation de ce micro-circuit.
FR2667417B1 (fr) 1990-10-02 1992-11-27 Gemplus Card Int Carte a microprocesseur concue pour recevoir des programmes multiples en memoire programmable.
US5131038A (en) 1990-11-07 1992-07-14 Motorola, Inc. Portable authentification system
JP3114991B2 (ja) 1990-11-30 2000-12-04 株式会社東芝 データ通信システム
FR2673476B1 (fr) 1991-01-18 1996-04-12 Gemplus Card Int Procede securise de chargement de plusieurs applications dans une carte a memoire a microprocesseur.
FR2671889A1 (fr) 1991-01-22 1992-07-24 Pailles Jean Claude Procede d'echange de droits entre cartes a microprocesseur.
US5224162A (en) 1991-06-14 1993-06-29 Nippon Telegraph And Telephone Corporation Electronic cash system
US5142578A (en) 1991-08-22 1992-08-25 International Business Machines Corporation Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US5201000A (en) 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
US5200999A (en) 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
JP3083187B2 (ja) 1991-09-30 2000-09-04 富士通株式会社 電子財布システムの鍵管理方式
DE69231118T2 (de) 1991-10-18 2000-12-14 Fujitsu Ltd Nachrichtenverteilungssystem mit schnurlosen nachrichtenübertragenden Unterstationen und nachrichtenempfängende Terminalendgeräte
FR2683357A1 (fr) 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
US5164988A (en) 1991-10-31 1992-11-17 International Business Machines Corporation Method to establish and enforce a network cryptographic security policy in a public key cryptosystem
US5534857A (en) 1991-11-12 1996-07-09 Security Domain Pty. Ltd. Method and system for secure, decentralized personalization of smart cards
GB9126779D0 (en) 1991-12-17 1992-02-12 Int Computers Ltd Security mechanism for a computer system
FR2687816B1 (fr) 1992-02-24 1994-04-08 Gemplus Card International Procede de personnalisation d'une carte a puce.
JPH05250523A (ja) 1992-03-06 1993-09-28 Toshiba Corp 処理方式
US5745571A (en) * 1992-03-30 1998-04-28 Telstra Corporation Limited Cryptographic communications method and system
GB9207840D0 (en) * 1992-04-09 1992-05-27 Entertainment Express Limited Data reproducing apparatus
US5396558A (en) 1992-09-18 1995-03-07 Nippon Telegraph And Telephone Corporation Method and apparatus for settlement of accounts by IC cards
FR2697357B1 (fr) 1992-10-23 1994-12-23 Gemplus Card Int Procédé d'acquisition de logiciels et système informatique pour mettre en Óoeuvre le procédé.
ATE237854T1 (de) 1992-10-26 2003-05-15 Intellect Australia Pty Ltd Host-benutzer-transaktionssystem
US5371797A (en) 1993-01-19 1994-12-06 Bellsouth Corporation Secure electronic funds transfer from telephone or unsecured terminal
JPH06251206A (ja) 1993-02-26 1994-09-09 Fujitsu Ltd 複数の機能を発揮するカードの処理方式
US5420405A (en) 1993-02-26 1995-05-30 Chasek; Norman E. Secure, automated transaction system that supports an electronic currency operating in mixed debit & credit modes
JP3421378B2 (ja) 1993-03-23 2003-06-30 株式会社東芝 伝送制御方式
JPH0744672A (ja) 1993-07-28 1995-02-14 Oki Electric Ind Co Ltd Icカード及びicカードシステム
US5544246A (en) 1993-09-17 1996-08-06 At&T Corp. Smartcard adapted for a plurality of service providers and for remote installation of same
US5485520A (en) 1993-10-07 1996-01-16 Amtech Corporation Automatic real-time highway toll collection from moving vehicles
GB9320982D0 (en) 1993-10-12 1993-12-01 Ibm A data processing system
GB2284689B (en) 1993-12-07 1998-02-18 Inventec Corp Ic card back-up generating and programming device
EP1235177A3 (en) 1993-12-16 2003-10-08 divine technology ventures Digital active advertising
US5530232A (en) 1993-12-22 1996-06-25 Datamark Services, Inc. Multi-application data card
US5578808A (en) 1993-12-22 1996-11-26 Datamark Services, Inc. Data card that can be used for transactions involving separate card issuers
US5557516A (en) 1994-02-04 1996-09-17 Mastercard International System and method for conducting cashless transactions
DE69402955T2 (de) 1994-02-08 1997-08-14 Belle Gate Invest Bv Datenauswechselsystem mit tragbaren Datenverarbeitungseinheiten
US5511121A (en) 1994-02-23 1996-04-23 Bell Communications Research, Inc. Efficient electronic money
FR2720848B1 (fr) 1994-06-03 1996-07-26 Gemplus Card Int Procédé de conduite d'une transaction entre une carte à puce et un système d'information.
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5715314A (en) 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
US5517011A (en) 1994-11-21 1996-05-14 Oki Electric Industry Co. Ltd. Slotless card reader
US5705798A (en) 1994-12-16 1998-01-06 Mastercard International Inc. System and method for processing a customized financial transaction card
JP3343771B2 (ja) * 1995-03-13 2002-11-11 株式会社東芝 電子決済装置、および、電子決済判定方法
US5546523A (en) 1995-04-13 1996-08-13 Gatto; James G. Electronic fund transfer system
US5708780A (en) 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5692132A (en) 1995-06-07 1997-11-25 Mastercard International, Inc. System and method for conducting cashless transactions on a computer network
US5799314A (en) 1995-06-30 1998-08-25 Sun Microsystems, Inc. System and method of controlling mapping of data buffers for heterogenous programs in digital computer system
US5699528A (en) 1995-10-31 1997-12-16 Mastercard International, Inc. System and method for bill delivery and payment over a communications network
US5704046A (en) 1996-05-30 1997-12-30 Mastercard International Inc. System and method for conducting cashless transactions
US5923884A (en) * 1996-08-30 1999-07-13 Gemplus S.C.A. System and method for loading applications onto a smart card

Also Published As

Publication number Publication date
DE69839841D1 (de) 2008-09-18
WO1998052158A2 (en) 1998-11-19
EP0981807B1 (en) 2008-08-06
HK1024768A1 (en) 2000-10-20
US6328217B1 (en) 2001-12-11
WO1998052158A3 (en) 1999-01-14
JP2001525956A (ja) 2001-12-11
AU7776798A (en) 1998-12-08
EP0981807A2 (en) 2000-03-01

Similar Documents

Publication Publication Date Title
JP4251667B2 (ja) アプリケーション履歴リストを有する集積回路カード
JP4127862B2 (ja) Icカード配送鍵セット
JP4906168B2 (ja) Icカードのための鍵配送ユニット
US7707408B2 (en) Key transformation unit for a tamper resistant module
US7917760B2 (en) Tamper resistant module having separate control of issuance and content delivery
US6481632B2 (en) Delegated management of smart card applications
US20030114144A1 (en) Application authentication system
JP2004104539A (ja) メモリカード
US6983364B2 (en) System and method for restoring a secured terminal to default status
EP1053536A1 (en) System and method for controlling access to computer code in an ic card
Marlet et al. Demoney: A demonstrative electronic purse–Card specification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081111

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140130

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140130

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140130

Year of fee payment: 5

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