JP4322021B2 - メモリカード - Google Patents

メモリカード Download PDF

Info

Publication number
JP4322021B2
JP4322021B2 JP2003050243A JP2003050243A JP4322021B2 JP 4322021 B2 JP4322021 B2 JP 4322021B2 JP 2003050243 A JP2003050243 A JP 2003050243A JP 2003050243 A JP2003050243 A JP 2003050243A JP 4322021 B2 JP4322021 B2 JP 4322021B2
Authority
JP
Japan
Prior art keywords
card
command
memory
controller
response
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 - Fee Related
Application number
JP2003050243A
Other languages
English (en)
Other versions
JP2004295160A (ja
Inventor
永雅 水島
元泰 角田
国弘 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2003050243A priority Critical patent/JP4322021B2/ja
Priority to KR1020030099827A priority patent/KR100575509B1/ko
Priority to US10/776,962 priority patent/US7281101B2/en
Publication of JP2004295160A publication Critical patent/JP2004295160A/ja
Application granted granted Critical
Publication of JP4322021B2 publication Critical patent/JP4322021B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of 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/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/3576Multiple memory zones on card

Description

【0001】
【発明の属する技術分野】
本発明は、セキュリティ機能を搭載した記憶装置及びその記憶装置が挿入可能なホスト機器及びその記憶装置を備えたホスト機器に係り、フラッシュメモリチップとコントローラチップとICカードチップを有するメモリカード等に関する。
【0002】
【従来の技術】
特許文献1には、ICモジュールと大容量のフラッシュメモリを搭載するメモリカードが記載されている。
【0003】
特許文献2には、アプリケーションプログラムごとの実行必須条件をICカードに記憶させておき、処理要求があった時に実行必須条件を充足していれば実行可能とし、充足していなければ実効不能とすることが記載されている。
【0004】
特許文献3には、ICカード内のメモリ領域のうち、銀行のために領域Aが、病院のために領域Bが、それぞれ割り付けられていることが記載されている。
【0005】
【特許文献1】
特開平10-198776号公報
【特許文献2】
特開2000-66882号公報
【特許文献3】
特開平6-222980号公報
【0006】
【発明が解決しようとする課題】
しかし、何れの従来技術も、ICカードのアプリケーションプログラム(アプレット)ごとに、分割された記憶エリアを割り当てることまでは記載されていない。よって、従来技術では、各アプリケーションプログラムが互いのメモリ内のデータを不正に侵害することが懸念される。
【0007】
本発明の目的は、特定のアプリケーションプログラムに係る処理を実行する場合に、特定のアプリケーションプログラムに関係するデータをメモリ装置内部で処理することにより、特定のアプリケーションプログラムに係る処理の安全性を向上するメモリ装置を提供することである。
【0008】
本発明の目的は、ICカードチップのアプリケーションプログラム間のデータ干渉、即ち、あるアプリケーションプログラムに割り当てられたメモリが他のアプレットにもアクセスされてデータが侵害されることを抑制できる記憶媒体を提供することである。
【0009】
【課題を解決するための手段】
本発明は、コントローラが、ホスト機器からインターフェイスで(例えば、外部端子)受信された特定コマンドに応答して、ICカードチップと不揮発性メモリ(例えば、フラッシュメモリの間のアプリケーションプログラムに関係した関係データ(例えば、アプリケーションプログラムによって処理されるべきデータ)の転送を実行して、インターフェイスを介したホスト機器への関係データの転送を禁止する。
【0010】
また、本発明は、メモリを複数のブロックに分割し、ブロックの使用権をICカードチップのアプリケーションプログラムごとに割り当てた。つまり、メモリが、ホスト機器からのデータを記憶するための第1の記憶エリア(例えば、ノーマルデータエリア)とICカードチップからのデータを記憶するための第2の記憶エリア(例えば、セキュアデータエリア)を有し、さらに、第2の記憶エリアが複数のブロックに分割され、さらに各ブロックがアプリケーションプログラムごとに割り当てられる。
【0011】
また、本発明は、ホスト機器からコマンドによって、ブロックの使用権の割り当て、割り当て解除、割り当て及び解除の禁止、割り当て及び解除の禁止の解除を行うようにした。つまり、本発明は、ホスト機器からの第1のコマンド(例えば、アプレット登録コマンド)に応答してメモリのブロックの利用権をアプリケーションプログラムごとに割り当て、ホスト機器からの第2のコマンド(例えば、管理テーブルロックコマンド)に応答してアンロック状態からロック状態へ遷移する。さらに、ホスト機器からの第3のコマンド(例えば、管理テーブルアンロックコマンド)に応答してロック状態からアンロック状態へ遷移し、ホスト機器からの第4のコマンド(例えば、アプレット登録解除コマンド)に応答してアプリケーションプログラムのために割り当てられたブロックの利用権を解除する。
【0012】
【発明の実施の形態】
以下、本発明の一実施形態について説明する。
【0013】
図1は、本発明を適用したMultiMediaCard(MultiMediaCardはInfineonTechnologiesAGの登録商標である。以下、「MMC」と略記する。)の内部構成図を簡単に表したものである。MMC110は、MultiMediaCard仕様に準拠するのが好ましい。MMC110は、外部に接続したホスト機器160がMultiMediaCardのプロトコル仕様に準拠したメモリカードコマンドを発行することによって、ファイルデータを読み書きすることができるストレージ機能や、機密データ保護や個人認証などに必要な暗号演算をおこなうことができるセキュリティ処理機能を有する。ホスト機器160は、例えば、携帯電話、携帯情報端末(PDA)、パーソナルコンピュータ、音楽再生(及び録音)装置、カメラ、ビデオカメラ、自動預金預払器、街角端末、決済端末等が該当する。MMC110は、MMC外部端子140、コントローラチップ120、フラッシュメモリチップ130、ICカードチップ150を持つ。フラッシュメモリチップ130は、不揮発性の半導体メモリを記憶媒体とする大容量(例えば、64メガバイト)のメモリチップであり、フラッシュメモリコマンドによりデータの読み書きができる。MMC外部端子140は7つの端子から構成され、外部のホスト機器160と情報交換するために、電源供給端子、クロック入力端子、コマンド入出力端子、データ入出力端子、グランド端子を含む。コントローラチップ120は、MMC110内部の他の構成要素(MMC外部端子140、フラッシュメモリチップ130、ICカードチップ150)と接続されており、これらを制御するマイコンチップである。ICカードチップ150は、ICカードのプラスチック基板中に埋め込むためのマイコンチップであり、その外部端子、電気信号プロトコル、コマンドはISO/IEC7816規格に準拠している。ICカードチップ150の外部端子には、電源供給端子、クロック入力端子、リセット入力端子、I/O入出力端子、グランド端子がある。ICカードチップ150の外部端子は、グランド端子を除いて、電源供給端子、クロック入力端子、リセット入力端子、I/O入出力端子がコントローラチップ120に接続されている。コントローラチップ120は、ICカードチップ150の外部端子からICカードチップ150にICカードコマンドを発行することによって、外部のホスト機器160から要求されたセキュリティ処理に必要な演算をおこなう。ICカードチップ150は、演算処理を行うためのCPU151と、EEPROM(Electrically Erasable Programmable Read Only Memory)152とを備える。一方、フラッシュメモリチップ130には、記憶素子を備えるが、マイコンは存在しない。
【0014】
セキュリティ処理は、例えば、ICカードチップ150内のEEPROM152にデータが書き込まれるとき、又は、EEPROM152からデータが読み出されるときにCPU151により実行される。セキュリティ処理の詳細な内容は、EEPROM152内に格納されたプログラムコードによって記述されている。多種多様なセキュリティ処理に適用できるように、そのプログラムコードは機能的に異なる複数のモジュールとして構成されている。CPU151は必要に応じてセキュリティ処理に使用するモジュールを切り替えることができる。以下、このモジュール単位をアプレットと呼ぶ。例えば、EEPROM152は、アプレットA153とアプレットB154とを格納する。ICカード内の各アプレットはそれぞれ、自身のアプリケーション識別子(以下、AID(Application IDentifier)と呼ぶ。)を所有する。図1において、アプレットA153のAIDは155として、アプレットB154のAIDは156として示されている。これらのAIDは、ICカードのアプリケーションプログラムを識別するために、国際的にユニークに割り振られた値であることが好ましい。国際的に流通するAIDの付番方法は、国際規格としてISO/IEC7816−5で規定されている。EEPROM152の記憶容量は例えば64キロバイトであり、フラッシュメモリチップ130の記憶容量より小さい。但し、本発明を実施する上で、EEPROM152の記憶容量は、フラッシュメモリチップ130の記憶容量と同じでもよいし、大きくてもよい。
【0015】
ICカードチップ150には、セキュリティ評価基準の国際標準であるISO/IEC15408の評価・認証機関によって認証済みである製品を利用する。一般に、セキュリティ処理をおこなう機能を持つICカードを実際の電子決済サービスなどで利用する場合、そのICカードはISO/IEC15408の評価・認証機関による評価と認定を受ける必要がある。MMCにセキュリティ処理をおこなう機能を追加することによってMMC110を実現し、それを実際の電子決済サービスなどで利用する場合、MMC110も同様にISO/IEC15408の評価・認証機関による評価と認定を受ける必要がある。MMC110は、評価・認証機関によって認証済みのICカードチップ150を内蔵し、そのICカードチップ150を利用してセキュリティ処理をおこなう構造を持つことにより、セキュリティ処理機能を得る。したがって、MMC110はISO/IEC15408に基づくセキュリティ評価基準を容易に満足することができ、MMCにセキュリティ処理機能を追加するための開発期間を短縮することができる。
【0016】
MMC110は、MultiMediaCard仕様に準拠した外部インタフェースを持つのが好ましい。MMC110は、一種類の外部インタフェースを通じて、MultiMediaCard仕様に準拠した標準メモリカードコマンドに加えて、セキュリティ処理を実行するコマンド(以下、セキュアライトコマンドと呼ぶ。)を受け付ける。セキュアライトコマンドは入力データを伴う。コントローラチップ120は、MMC110が受信したコマンドが標準メモリカードコマンドであるか、セキュアライトコマンドであるかによって、アクセスすべきチップを選択し、コマンド処理を分配する機能を持つ。標準メモリカードコマンドを受信したならば、フラッシュメモリチップ130を選択し、これにフラッシュメモリコマンドを発行してホストデータを読み書きできる。また、セキュアライトコマンドを受信したならば、ICカードチップ150を選択し、これにICカードコマンドを発行してセキュリティ処理を実行することができる。ここで発行されるICカードコマンドは、セキュアライトコマンドによって入力されるデータ(以下、セキュアライトデータと呼ぶ。)の中に埋め込まれている。ICカードチップ150はこのコマンドに応じてICカードレスポンスを返すが、コントローラチップ120はそれをキャッシュする。さらに、MMC110は、一種類の外部インタフェースを通じて、セキュリティ処理の結果を読み出すコマンド(以下、セキュアリードコマンドと呼ぶ。)も受け付ける。セキュアリードコマンドは出力データを伴う。セキュアリードコマンドを受信したならば、キャッシュしておいたICカードレスポンスを含むデータ(以下、セキュアリードデータと呼ぶ。)を出力する。
【0017】
図2は、本発明を適用したMMC110の動作を概念的に示すフローチャートである。以下、図2を参照しながらその動作を説明する。ホスト機器160はMMC110にセキュアライトコマンドを送信すると(201)、コントローラチップ120はICカードチップ150にICカードコマンドを送信する(202)。ICカードチップ150はICカードコマンドを受信すると(203)、そのとき選択されているアプレットのAIDを含むICカードレスポンスをコントローラチップ120に返信する(204)。コントローラチップ120がそのICカードレスポンスを受信したらフラッシュメモリチップ130にリードコマンドを送信する(205)。これにより、フラッシュメモリチップ130はAIDのリスト(事前に書き込んで置くものとする。)を読み出して(206)、コントローラチップ120に出力する。コントローラチップ120はそのリストから、ICカードチップ150からのAIDに一致するものがあるか検索する(207)。一致するAIDを検出できないならば、ホスト機器160からセキュアリードコマンドを受けてICカードレスポンスをセキュアリードデータとして送信し(219)、ホスト機器160がそれを受信する(220)。一方、ステップ207で、AIDを検出したならば、ICカードレスポンスをホスト機器160に出力するのを禁止し、ICカードチップ150にICカードコマンドを送信する(208)。ICカードチップ150がこのICカードコマンドを受信すると(209)、選択されているアプレットは、ICカードチップ150とフラッシュメモリチップ130との間でデータを転送するため、データ転送方向に応じたICカードレスポンスを作成する。ICカードからフラッシュへ転送したいならば、フラッシュメモリにライトするデータとそのアドレスを含んだICカードレスポンスを作成して返信する(211)。フラッシュからICカードへ転送したいならば、フラッシュメモリからリードしたいアドレスを含んだICカードレスポンスを作成して返信する(214)。ステップ211のあと、コントローラチップ120はフラッシュメモリチップ130にライトコマンドを送信する(212)。これに対し、フラッシュメモリチップ130は指定されたアドレスにデータを書き込む(213)。これにより、ICカードからフラッシュへのデータ転送が完了する。一方、ステップ214のあと、コントローラチップ120はフラッシュメモリチップ130にリードコマンドを送信する(215)。これに対し、フラッシュメモリチップ130は指定されたアドレスからデータを読出し(216)、コントローラチップ120に出力する。コントローラチップ120は。そのリードデータをICカードコマンドによってICカードチップ150に送信し(217)、ICカードチップ150がこれを受信する(218)。これにより、フラッシュからICカードへのデータ転送が完了する。 図6は、セキュアライトデータおよびセキュアリードデータのフォーマットの一例を示したものである。このフォーマットは、実行するセキュリティ処理の内容が1つのICカードコマンドで表現でき、セキュリティ処理の結果が1つのICカードレスポンスで表現できる場合に適用することが好ましい。上述の通り、ICカードチップ150に送信するICカードコマンド、ICカードチップ150から受信するICカードレスポンスはともにISO/IEC7816−4規格に従う。本規格によれば、ICカードコマンドの構成は、4バイトのヘッダ(クラスバイトCLA、命令バイトINS、パラメータバイトP1とP2)が必須であり、必要に応じて、入力データ長指示バイトLc、入力データフィールドDataIn、出力データ長指示バイトLeが後に続く。また、ICカードレスポンスの構成は、2バイトのステータスSW1とSW2が必須であり、必要に応じて、出力データフィールドDataOutがその前に置かれる。本フォーマットにおけるセキュアライトデータ601は、ICカードコマンド602の前にICカードコマンド長Lca604を付け、さらにICカードコマンド602の後にダミーデータ605をパディングしたものである。Lca604の値はICカードコマンド602の各構成要素の長さを合計した値である。一方、セキュアリードデータ611は、ICカードレスポンス612の前にICカードレスポンス長Lra614を付け、さらにICカードレスポンス612の後にダミーデータ615をパディングしたものである。Lra614の値はICカードレスポンス612の各構成要素の長さを合計した値である。なお、この図では、ICカードコマンドにLc、DataIn、Leが含まれ、ICカードレスポンスにDataOutが含まれる場合のフォーマット例を表している。MMC110に対する標準メモリカードコマンドに含まれるデータリード/ライトコマンドの仕様では、リード/ライトアクセスするデータを固定長のブロック単位で処理することが基本となっている。よって、セキュアライトデータ601やセキュアリードデータ611のサイズも、MMC110の標準メモリカードコマンドの仕様に準拠したブロックサイズに一致させることが好ましい。ダミーデータ605、615は、セキュアライトデータ601やセキュアリードデータ611のサイズをブロックサイズに一致させるために適用される。ブロックサイズとして採用する値は、一般の小型メモリカードが論理ファイルシステムに採用しているFAT方式におけるセクタサイズ(512バイト)が望ましい。パディングするダミーデータ605、615は全てゼロでもよいし、乱数でもよいし、コントローラチップ120やホスト機器160がデータエラーを検出したり訂正するためのチェックサムでもよい。Lca604の値はコントローラチップ120がセキュアライトデータ601からダミーデータ605を除去してICカードコマンド602を抽出するために使用し、Lra614の値はホスト機器160がセキュアリードデータ611からダミーデータ615を除去してICカードレスポンス612を抽出するために使用する。
【0018】
コントローラチップ120は、電源供給端子、クロック入力端子を通して、ICカードチップ150への電源供給、クロック供給を制御する。ホスト機器160からセキュリティ処理を要求されないときには、ICカードチップ150への電源供給やクロック供給を停止させることができ、MMC110の電力消費を削減することができる。
【0019】
電源供給されていないICカードチップ150を、ICカードコマンドを受信できる状態にするには、まず、ICカードチップ150に電源供給を開始し、リセット処理を施すことが必要である。コントローラチップ120は、MMC110がホスト機器160からセキュアライトコマンドを受信したのを契機に、電源供給端子を通してICカードチップ150への電源供給を開始する機能を持つ。また、コントローラチップ120は、MMC110がホスト機器160からセキュアライトコマンドを受信したのを契機に、リセット入力端子を通してICカードチップ150のリセット処理をおこなう機能を持つ。コントローラチップ120は、セキュアライトコマンドを受信するまでICカードチップ150への電源供給を停止させておくことができる。したがって、MMC110の電力消費を削減することができる。
【0020】
コントローラチップ120は、ICカードチップ150のクロック入力端子を通してICカードチップ150に供給するクロック信号をMMC110内部で発生し、その周波数、供給開始タイミング、供給停止タイミングを制御する機能を持つ。MMC外部端子140のクロック入力端子のクロック信号と無関係にすることができるため、ホスト機器160によるタイミング解析、電力差分解析、故障利用解析と呼ばれる攻撃法に対してセキュリティが向上する。
【0021】
フラッシュメモリチップ130は、ノーマルデータエリア131と管理エリア132とセキュアデータエリア133とを含む。
【0022】
ノーマルデータエリア131は、セクタ単位に論理アドレスがマッピングされている領域であり、ホスト機器160が標準メモリカードコマンドを使用することにより指定した論理アドレスにデータを読み書きできる領域である。
【0023】
セキュアデータエリア133は、ICカードチップ150内のEEPROM152に格納されたアプレット(例えば、153や154)をCPU151が実行する際に(すなわち、セキュリティ処理を実行する際に)、扱うデータを格納することができる領域である。セキュアデータエリア133は複数のブロックに分割されている。これをセキュアデータブロックと呼ぶ。例えば、セキュアデータエリア133は4つのセキュアデータブロック133a、133b、133c、133dで構成される。セキュアデータブロックは、コントローラチップ120がアプレットごとにその利用権を割り当てることができる単位である。例えば、アプレットA153はセキュアデータブロックc133cの利用権を持ち、アプレットB154はセキュアデータブロックa133aの利用権を持つ。また、各セキュアデータブロックは複数の固定長データレコードに分割されている。例えば、1レコードのサイズは128バイトであり、1つのセキュアデータブロック当たり8192個のレコードで構成される。このとき、1つのセキュアデータブロックのサイズが1メガバイトとなり、セキュアデータエリア133の容量は4メガバイトとなる。したがって、EEPROM152に格納されたアプレットは、セキュアデータエリア133に格納されたデータにアクセスすることによって、EEPROM152の容量以上の不揮発データを利用できる。例えば、ICカードチップ150内のアプレットA153が電子決済に関するセキュリティ処理のためのプログラムである場合、決済ログ(支払金額や日時など)をセキュアデータエリア133に格納することにより、EEPROM152のみを利用するよりも多くの決済ログが保存でき、ユーザの利便性が高くなる。ICカードチップ150からセキュアデータエリア133へのアクセス(ライトやリード)は、ICカードチップ150からの要求に基づいてコントローラチップ120が実行するが、その要求の発生条件はICカードアプレットの任意である。例えば、EEPROM152の容量が何らかのしきい値以下になった(ゆえにカード外部に記録せざるを得ない)こと、ICカードチップ内のデータが何らかの保護基準に満たない(ゆえにカード外部に記録しても問題ない)こと、EEPROM152の中に所望のデータが見つからない(ゆえにカード外部から読み込む)こと、などが挙げられる。ICカードチップ150からセキュアデータエリア133へのアクセスの詳細な手順については後に述べる。
【0024】
一方、管理エリア132は、コントローラチップ120がセキュアデータエリア133を管理するための情報を格納する領域である。コントローラチップ120は、MMC110がホスト機器160からセキュアライトコマンドを受信したことを契機に、この領域に情報を格納したり、削除したりする。そのコマンドについては後述する。管理エリア132は、ロックフラグ134とパスワードエリア135と管理テーブル136とを含む。
【0025】
管理テーブル136は、セキュアデータエリア133を構成している各セキュアデータブロックの利用権を持つアプレットを登録するための領域である。アプレットを識別するために、この領域にAIDを格納することによってアプレットを登録することが望ましい。AIDを利用することにより、セキュアデータエリア133を使用するアプレットを確実に識別することができる。コントローラチップ120は、AID137に同一のAIDを複数格納することを禁止する。管理テーブル136のブロックの欄は、セキュアデータブロックを識別するためのブロック識別子としてブロックの先頭アドレス値を登録する。但し、先頭アドレス値の代わりにMMC内でユニークな番号をブロック識別子として登録してもよい。尚、管理テーブル136の代わりに、各セキュアデータブロック内に直接にAIDを登録)してもよい。
【0026】
管理テーブル136には、AID137だけでなく、アプレットごとに転送コマンドコード138を格納することができる。この転送コマンドコード138は、コントローラチップ120がセキュアデータブロックの利用権を、アプレットのために割り当てる時に、コントローラチップ120によって生成されるのは好ましい。転送コマンドコードとは、“ライト転送コマンド”および“リード転送コマンド”それぞれのコマンドAPDU(Application Protocol Data Unit)のCLAバイトとINSバイトに設定する2バイト×2個の値である。ここで、“ライト転送コマンド”および”リード転送コマンド”とは、セキュアデータエリア133にレコードデータをライトする前、あるいはそこからレコードデータをリードした後に、コントローラチップ120とICカードチップ150との間でそのレコードデータを転送するために、コントローラチップ120がICカードチップ150に対して発行するICカードコマンド形式のコマンドである。特に、コントローラチップ120へレコードデータを送り出すためのコマンドをライト転送コマンドと呼び、ICカードチップ150へレコードデータを送り込むためのコマンドをリード転送コマンドと呼ぶ。これらのコマンドの詳細な説明は後述する。セキュアデータエリア133の利用権を持つアプレット(153や154)には、ライト/リード転送コマンドを受信した際にレコードデータを扱う処理プログラムが記述されている。転送コマンドコード138はアプレットごとに個別に決められるようになっている。もし、転送コマンドコードが全てのアプレットに共通の固定値であるならば、ホスト機器160からのセキュアライトデータに含まれるアプレット特有のコマンドとライト/リード転送コマンドとの間でコーディングの競合が発生する可能性がある。本発明によれば、このようなコーディング競合を防ぐことができる。なお、転送コマンドコード138のうちINSコードに関しては、伝送プロトコルの都合上ISO/IEC7816−3に準拠していなければならない。
【0027】
ロックフラグ134は、管理テーブル136に格納された登録情報の変更の可否を示す1バイトのデータを格納する領域である。この領域にFFhを設定することで管理テーブル136の情報の変更が禁止状態(ロック状態)であることを示す。また、00hを設定することで管理テーブル136の情報の変更が許可状態(アンロック状態)であることを示す。
【0028】
パスワードエリア135は、管理テーブル136の情報をアンロック状態にするための255バイトのパスワードの参照値を格納しておく領域である。管理テーブル136の情報をロックする時には必ず、ホスト機器160からセキュアライトコマンドにより、255バイトのパスワード参照をこの領域に設定する。管理テーブル136の情報をアンロック状態にする場合は、ホスト機器160からセキュアライトコマンドにより、ロック時に設定したパスワード参照と同じパスワードを入力する必要がある。入力したパスワードとパスワード参照との一致によって、管理テーブル136の情報の変更をアンロックすることができる。
【0029】
管理エリア132は、ホスト機器160が不正にアクセスしてセキュリティ処理を解析することができないように、コントローラチップ120により物理的にアクセス制限がかけられている。つまり、管理エリア132はコントローラチップ120による論理アドレスが割り振られていないため、ホスト機器160が直接データを読み書きできない。したがって、MMC110のセキュリティ処理の信頼性や安全性が向上する。
【0030】
以下、図3を参照しながら、セキュアデータエリア133に対するレコードデータのライト/リードアクセスにおいて用いられるライト/リード転送コマンドのコマンドAPDUとレスポンスAPDUについて詳細に述べる。
【0031】
図2aは、ICカードチップ150が出力するレスポンスAPDUを示している。このレスポンスAPDU300に含まれるDataOut304の先頭2バイト(以下、先頭から順に第1制御バイト301、第2制御バイト302と呼ぶ。)、およびSW1バイト305とSW2バイト306に特別な値を設定することにより、ICカードチップ150はコントローラチップ120にセキュアデータエリア133に対するアクセス要求を通知することができる。なお、後続出力データ303(DataOut304のうち第1制御バイト301と第2制御バイト302を除いた部分)は、アクセス要求に必要な情報を送信するために使用される。
【0032】
ICカードチップ150は、コントローラチップ120に対してセキュアデータエリア133へアクセスすることを要求するため、SW1バイト305とSW2バイト306に90FFhという専用のステータス値を設定しなければならない。コントローラチップ120は、ICカードチップ150が出力するレスポンスAPDUを常に監視し、SW1バイト305とSW2バイト306の値が90FFhであることを検出したら、その前方にあるDataOut304の第1制御バイト301、第2制御バイト302第1制御バイト第2制御バイトを調査し、要求されたアクセスの内容などを認知する。一方、90FFhでなかった場合は、このレスポンスAPDUを含むセキュアリードデータをホスト機器160に出力する。ただし、SW1バイト305とSW2バイト306の値が90FFhであっても、条件によって、そのままホスト機器160に出力されることがある。その詳細は後述する。
【0033】
コントローラチップ120は、セキュアデータエリア133へのアクセスを開始するとき、ICカードチップ150上で選択されているアプレットが何であるかによって、133a〜133dの中からアクティブにするセキュアデータブロックを選択する。アクセスすべきセキュアデータブロックの選択は、ICカードチップ150からアクセス開始要求が発生した直後におこなう。アクセス開始要求のためにDataOut304に設定するデータの仕様を以下に示す。第1制御バイト301の上位4ビットには、0001を設定する。第1制御バイト301の下位4ビットには、アクセスモードを示すコードを設定する。ここで指定可能なアクセスモードには、レコードデータのライト、レコードデータのリードの2種類がある。0001というコードはレコードデータのライト、0010というコードはレコードデータのリードである。その他のコードは無効である。また、後続出力データ303には、ICカードチップ150上で選択されているアプレットのAIDを設定する。例えば、アプレットA153が選択されているならばAID155を、アプレットB154が選択されているならばAID156を設定する。第2制御バイト302には、そのAIDの長さを設定する。
【0034】
コントローラチップ120は、第1制御バイトの上位4ビットが0001ならば、後続出力データ303に含まれるAIDで管理テーブル136内の全てのAID137を検索し、アクティブにすべきセキュアデータブロックを決定する。一致するAIDが見つからなかった場合は、このレスポンスAPDUを含むセキュアリードデータをホスト機器160に出力する。AIDを検出し、それに対応するセキュアデータブロックが判明した後、コントローラチップ120は、第1制御バイトの下位4ビットが0001ならばライト、0010ならばリードのアクセスを開始すると認識する。第1制御バイトの下位4ビットがそれ以外の場合は、このレスポンスAPDUを含むセキュアリードデータをホスト機器160に出力する。
【0035】
コントローラチップ120がアクセスモード(ライトまたはリード)を認知した後、そのモードに応じてライト/リード転送コマンドを発行することによって、アクティブなセキュアデータブロック対してライトすべきレコードデータ、またはリードしたレコードデータをICカードチップ150とコントローラチップ120との間で転送することができる。図3bと図3cはライト/リード転送コマンドのコマンドAPDUを示したものである。図3bはコントローラチップ120からICカードチップ150への転送データがない場合、図3cは転送データがある場合を示している。前述のように、ライト/リード転送コマンドのコマンドAPDU310(または320)のCLAバイト314(または326)とINSコード315(または327)にはあらかじめアプレットごとに登録されたものを設定する。そのため、管理テーブル136から2バイト×2個の転送コマンドコード138を読み出す。
【0036】
ライト/リード転送コマンドのコマンドAPDU310(または320)では、直前のアクセスの結果をICカードチップ150に通知するため、P1バイト316(または328)とP2バイト317(または329)に特殊な値を設定する。0000hは直前のアクセスにエラーがないことを意味する。80XXhは直前のアクセスにエラーが発生したことを意味する。なお、XXはエラー内容を示す16進コードである。エラーの場合、アクティブなセキュアデータブロックへのデータアクセスは実行されない。よって、セキュアデータブロックのレコードデータの内容も変化しない。
【0037】
ICカードチップ150は、ライト/リード転送コマンドのレスポンスAPDU300における後続出力データ303を用いて、ライトしたいレコード番号とレコードデータ、またはリードしたいレコード番号をコントローラチップ120に送信する。ライトモードでは、指定レコード番号(4バイト)とライトデータ(128バイト)の連結データを設定し、リードモードでは、指定レコード番号(4バイト)を設定する。このように、後続出力データ303の長さはアクセスモードによって変わるので、ライト/リード転送コマンドのコマンドAPDUのLeバイト313(または325)には、アクセスモードに応じた値を設定する必要がある。ライトモードでは、後続出力データ303の長さが84hとなるのでDataOut304の長さは86hとなる。よって、Leバイト313(または325)には86hを設定する。リードモードでは、後続出力データ303の長さが04hとなるのでDataOut304の長さは06hとなる。よって、Leバイト313(または325)には06hを設定する。
【0038】
アクセス開始直後の(つまり、最初に発行される)ライト/リード転送コマンドのコマンドAPDUは、図3bの形式となる。そのとき、P1バイト316とP2バイト317には、0000hを設定する。Leバイト313には、ライトモードの場合86hを、リードモードの場合06hを設定する。
【0039】
ライト/リード転送コマンドのレスポンスAPDUは、図3aの形式をとる。ICカードチップ150上で選択されているアプレットは、レスポンスAPDU300を利用してアクティブなセキュアデータブロックに対するアクセス(ライト/リード)をコントローラチップ120に要求することができる。以下、これをアクセス実行要求と呼ぶ。第1制御バイト301と第2制御バイト302に設定するデータの仕様を以下に示す。第1制御バイト301の上位4ビットには、0010を設定する。第1制御バイト301の下位4ビットには、要求するアクセスを示すコードを設定する。0001というコードはレコードデータのライト、0010というコードはレコードデータのリードである。その他のコードは無効である。このコードが表すアクセスモードは、コントローラチップ120が認めるアクセスモードに一致していなければならない。また、その第2制御バイト302によって、次回のアクセスモード(ライト/リード)の要求をおこなうことができる。コントローラチップ120はこれを参照して、自身が認めるアクセスモードをスイッチする。
【0040】
コントローラチップ120は、第1制御バイト301の上位4ビットが0010ならば、アクティブなセキュアデータブロックに対して、指定されたレコード番号のデータをライト/リードする。ライト/リード処理が正常終了した場合(アクセス結果312(または322)の値が0000h)、第2制御バイト302が01hならば自身が認めるアクセスモードをライトモードにスイッチ、02hならばリードモードにスイッチする。ライト/リード処理に何らかのエラーがあった場合(アクセス結果312(または322)の値が80XXh)、自身が認めるアクセスモードをスイッチせずにエラーが起きた時点のものを維持する。
【0041】
コントローラチップ120が2回目以降に発行するライト/リード転送コマンドのコマンドAPDUは、直前のアクセスの結果やアクセスモードの状態遷移によって、図3bの形式になったり、図3cの形式になったりする。またLe313(または325)の値も変わる。その詳細を以下に示す。
【0042】
直前のライトアクセスが正常で次回もライトモードのとき、図3bの形式であり、アクセス結果312の値が0000hで、Le313の値は86hである。
【0043】
直前のライトアクセスが正常で次回がリードモードのとき、図3bの形式であり、アクセス結果312の値が0000hで、Le313の値は06hである。
【0044】
直前のリードアクセスが正常で次回もリードモードのとき、図3cの形式であり、アクセス結果322の値が0000hで、Lc323の値は80hで、DataIn324にはリードしたレコードデータが設定され、Le325の値は06hである。
【0045】
直前のリードアクセスが正常で次回がライトモードのとき、図3cの形式であり、アクセス結果322の値が0000hで、Lc323の値は80hで、DataIn324にはリードしたレコードデータが設定され、Le325の値は86hである。
【0046】
直前のライトアクセスがエラーのとき、図3bの形式であり、アクセス結果312の値が80XXhで、Le313の値は86hである。
【0047】
直前のリードアクセスがエラーのとき、図3bの形式であり、アクセス結果312の値が80XXhで、Le313の値は06hである。
【0048】
アクセスエラー時にアクセス結果312(または322)に設定する80XXhにおいて、エラー内容を示すコードXXの例を以下に示す。
【0049】
XX=01は、指定されたレコード番号がアクセス可能な範囲外であるエラーを意味する。
【0050】
XX=02は、フラッシュメモリチップ130が故障などにより利用できないエラーを意味する。
【0051】
XX=03は、第1制御バイト301の下位4ビットが現在のアクセスモードに合致しないエラーを意味する。
【0052】
XX=04は、第2制御バイト302で要求された次回のアクセスモードが不正であるエラーを意味する。
【0053】
図4を参照しながら、ICカードチップ150内のアプレットが、セキュアデータエリア133にアクセスを開始するときの処理の流れ、およびライト/リード転送コマンドによってそこに対するアクセスを実行するときの処理の流れを説明する。
【0054】
ホスト機器160はMMC110にセキュアライトコマンドを発行し(401)、セキュアライトデータ601を入力する(402)。コントローラチップ120は、セキュアライトデータ601からICカードコマンドのコマンドAPDU602を抽出し(403)、それを用いてICカードチップ150にICカードコマンドを発行する(404)。
【0055】
ICカードチップ150は、そのICカードコマンドを受信し(405)、セキュアデータエリア133へのアクセスを要求するICカードレスポンス300を作成し、それを返信する(406)。コントローラチップ120は、このレスポンスを受信し、そのSW1バイト305とSW2バイト306が90FFhであるかを調べる(407)。90FFhでないならばステップ408に移る。90FFhであるならば、第1制御バイト301の上位4ビットが0001(アクセス開始要求)であるかを調べる(412)。0001でないならばステップ420に移る。0001であるならば、管理テーブル136がロックされているか調べる(413)。アンロックされているならばステップ408に移る。ロックされているならば、後続出力データ303に含まれるAIDで管理テーブル136上のAID137を検索する(414)。一致するAIDを検出したならば(415)、コントローラチップ120はアクセス開始要求を承認し、ステップ416に移る。検出しなければアクセス開始要求を却下し、ステップ408に移る。ステップ416では、検出したAID137に対応するセキュアデータブロックを選択し、それをアクティブにする。さらに、対応する転送コマンドコード138を取得する(417)。そして、第1制御バイト301の下位4ビットを調べて、開始するアクセスモードを取得し(418)、そのアクセスモードに応じて図3bに示すようなライト/リード転送コマンドを作成する(419)。その後、ステップ404に戻り、ICカードチップ150にライト/リード転送コマンドを発行する。
【0056】
ステップ420では、第1制御バイト301の上位4ビットが0010(アクセス実行要求)であるかを調べる。0010でないならばステップ408に移る。0010であるならば、アクティブなセキュアデータブロックが存在するか、また第1制御バイト301の下位4ビットがコントローラチップ120の認知するアクセスモードに合致するかを調べる(421)。いずれかが偽ならばステップ408に移る。両者とも真ならば、アクセス実行を承認し、後続出力データ303に含まれるレコード番号を取得する(422)。そして、そのレコード番号の指示するデータに対してライト/リードを実行する(423)。このとき、ライトモードの場合は、後続出力データ303に含まれる128バイトのデータをライトする。次に、そのアクセスの結果を示すコードを312または322に設定する(424)。そして、第1制御バイト301の下位4ビットを調べて、次回のアクセスモードを取得し(418)、そのアクセスモードに応じて図3bまたは図3cに示すようなライト/リード転送コマンドを作成する(419)。その後、ステップ404に戻り、ICカードチップ150にライト/リード転送コマンドを発行する。
【0057】
ステップ408では、ICカードチップ150が返信したレスポンスAPDU612からセキュアリードデータ611を作成する。ステップ408に至ることによって、セキュアデータエリア133へのアクセスは終了する。この後、ホスト機器160はセキュアリードコマンドを発行し(409)、コントローラチップ120はセキュアリードデータ611を出力する(410)。そして、ホスト機器160はセキュアリードデータ611を受信する(411)。
【0058】
以上より、ホスト機器160から一組のセキュアライト/セキュアリードコマンドをMMC110に処理させる間に、ICカードチップ150内のアプレットは任意の回数、セキュアデータエリア133へアクセスすることができる。
【0059】
以下、管理エリア132に関するアクセスについて説明する。
【0060】
ホスト機器160が管理エリア132の情報にアクセスできるように、MMC110は、以下の4つの管理コマンドに応じることができる。すなわち、(1)アプレット登録コマンド、(2)アプレット登録解除コマンド、(3)管理テーブルロックコマンド、(4)管理テーブルアンロックコマンドの4つである。(1)は、管理テーブル136にセキュアデータエリア133を利用するアプレットを登録し、アプレットが利用するセキュアデータブロックを割り当てるコマンド、(2)は、管理テーブル136からアプレットの登録情報を削除し、セキュアデータブロックの割り当てを解除するコマンド、(3)は、管理テーブル136上の登録情報の変更を禁止するコマンド、(4)は、管理テーブル上136の登録情報の変更を許可するコマンドである。これらのコマンドは、一般のセキュリティ処理と同じくセキュアライトコマンドとセキュアリードコマンドのプロトコルによって実施され、コントローラチップ120によって処理される。また、その際に入出力されるセキュアライトデータとセキュアリードデータに含まれるAPDU(図6における602や612)を利用して各処理(登録、登録解除、ロック、アンロック)に必要な情報を交換する。
【0061】
アプレット登録コマンドとアプレット登録解除コマンドでは、DataIn606にAIDを設定する。このAIDによって登録したいアプレットを指定する。AIDとセキュアデータブロックとをどのように対応付けるかはコントローラチップ120が決定する。ホスト機器160はセキュアデータブロックを直接指定できない。
【0062】
管理テーブルロックコマンドでは、DataIn606に255バイトのパスワードを設定する。そのパスワードはパスワードエリア135に設定され、ロックフラグ134がFFh(ロック状態)になる。これにより、アプレット登録コマンドとアプレット登録解除コマンドが無効になる。すでにロック状態だった場合は、そのパスワードはパスワードエリア135に設定されず、アプレット登録コマンドとアプレット登録解除コマンドは有効のままとなる。
【0063】
管理テーブルアンロックコマンドでは、DataInに255バイトのパスワードを設定する。そのパスワードはパスワードエリア135に設定された値と一致比較され、一致したならばロックフラグ134が00h(アンロック状態)になる。これにより、アプレット登録コマンドとアプレット登録解除コマンドが有効になる。すでにアンロック状態だった場合は、アプレット登録コマンドとアプレット登録解除コマンドは無効のままとなる。
【0064】
アプレット登録コマンドとアプレット登録解除コマンドが有効な状態(アンロック状態)では、パスワードを知らないホスト機器160によって管理テーブル136の情報が不正に変更され、あるアプレットが、それ自身がアクセス可能なセキュアデータブロック以外のセキュアデータブロックをライト/リードするという不正アクセスが発生しうる。そこで、コントローラチップ120は、ロックフラグ134の値が00h(アンロック状態)では、ICカードチップ150内で選択されているアプレットがセキュアデータエリアへアクセスするのを許可しない。ホスト機器160は、管理テーブル136の登録情報の設定/変更後は、管理テーブルロックコマンドにより必ずロックフラグ134をFFhに設定しなければならない。
【0065】
図5を参照しながら、上記4つの管理コマンドの処理の流れを説明する。
【0066】
ホスト機器160はMMC110にセキュアライトコマンドを発行し(501)、セキュアライトデータ601を入力する(502)。コントローラチップ120は、セキュアライトデータ601からICカードコマンドのコマンドAPDU602を抽出し(503)、それが管理コマンドであるかを調べる(504)。管理コマンドならばステップ507に移る。一方、管理コマンドでないならば、そのコマンドAPDU602を用いてICカードチップ150にICカードコマンドを発行し(505)、ICカードチップ150からそのレスポンスを受信し(506)、ステップ527に移る。
【0067】
ステップ507では、コントローラチップ120は、コマンドAPDU602がアプレット登録コマンドを示すものかを調べる。アプレット登録コマンドならばステップ511に移る。さもなくば、それがアプレット登録解除コマンドを示すものかを調べる(508)。アプレット登録解除コマンドならばステップ512に移る。さもなくば、それが管理テーブルロックコマンドを示すものかを調べる(509)。管理テーブルロックコマンドならばステップ513に移る。さもなくば、それが管理テーブルアンロックコマンドを示すものかを調べる(510)。管理テーブルアンロックコマンドならばステップ514に移る。さもなくば、ステップ525に移る。
【0068】
ステップ511では、ロックフラグ134を見て、管理テーブル136がアンロック状態かを調べる。ロック状態ならばステップ525に移る。アンロック状態ならば、DataIn606内のAIDと同一のものが既に登録されているAID137の中に存在するか調べる(515)。存在していればステップ525に移る。存在しなければ、管理テーブル136上に空きがあるか(つまり、まだ割り当てられていないセキュアデータブロックが存在するか)を調べる(516)。空きがなければステップ525に移る。空きがあれば、そのセキュアデータブロックに対応するAID137と転送コマンドコード138に、DataIn606に含まれるAIDと転送コマンドコードを設定する(517)。これにより、AIDで示されたアプレットがそのセキュアデータブロックの利用権を獲得する。そして、ステップ526に移る。
【0069】
ステップ512では、ロックフラグ134を見て、管理テーブル136がアンロック状態かを調べる。ロック状態ならばステップ525に移る。アンロック状態ならば、DataIn606内のAIDで、登録されている全てのAID137の中を検索する(518)。一致するAIDを検出したならば(519)、管理テーブル136上からそのAID137とそれに対応する転送コマンドコード138を削除する(520)。一致するAIDを検出しなければステップ525に移る。これにより、AIDで示されたアプレットがそのセキュアデータブロックの利用権を失う。そして、ステップ526に移る。
ステップ513では、ロックフラグ134を見て、管理テーブル136がアンロック状態かを調べる。ロック状態ならばステップ525に移る。アンロック状態ならば、ロックフラグ134にFFhを設定し(521)、管理テーブル136をロック状態にする。DataIn606内のパスワードをパスワードエリア135に設定する(522)。そして、ステップ526に移る。
【0070】
ステップ514では、ロックフラグ134を見て、管理テーブル136がアンロック状態かを調べる。アンロック状態ならばステップ525に移る。ロック状態ならば、DataIn606内のパスワードがパスワードエリア135に設定したものと一致するかを調べる(523)。一致しないならば、ステップ525に移る。一致するならば、ロックフラグ134に00hを設定し(524)、管理テーブル136をアンロック状態にする。そして、ステップ526に移る。
【0071】
ステップ525では、管理コマンドの処理でエラーが発生したことをホスト機器160に示すため、エラー内容を示すステータスコードを含むレスポンスAPDU612を作り、ステップ527に移る。ステップ526では、管理コマンドの処理が正常に終了したことをホスト機器160に示すため、正常終了(例えば、9000h)というステータスコードを含むレスポンスAPDU612を作り、ステップ527に移る。
【0072】
ステップ527では、レスポンスAPDU612からセキュアリードデータ611を作成する。この後、ホスト機器160はセキュアリードコマンドを発行し(528)、コントローラチップ120はセキュアリードデータ611を出力する(529)。そして、ホスト機器160はセキュアリードデータ611を受信する(530)。
【0073】
尚、本発明の適用に際しては、ICカードチップ150がコントローラチップ120にセキュアデータエリア133へのアクセスを要求する手段として、SW1バイト305とSW2バイト306に90FFhという専用のステータス値を設定することを示したが、あくまでこれは一例であり、これ以外の手段でアクセスを要求してもよい。例えば、90FFh以外のステータスコードでもよいし、DataOut304内に専用のパスワード等を含ませてもよい。
【0074】
尚、本発明の適用に際しては、MMC110が、新たな(あるいは前記の)管理コマンドに応じて、セキュアデータエリア133のサイズを変化させることができる機能を有してもよい。また、新たな(あるいは前記の)管理コマンドに応じて、セキュアデータブロックの分割数(上述では分割数=4)を変化させることができる機能を有してもよい。また、新たな(あるいは前記の)管理コマンドに応じて、各セキュアデータブロックのサイズを個別に変化させることができる機能を有してもよい。
【0075】
尚、本発明の適用に際しては、上述のパスワードの長さは255バイトでなくてもよい。ただし、安全上、このパスワードは長いほうが好ましい。
【0076】
尚、本発明の適用に際しては、アプレット登録解除コマンドで開放されたセキュアデータブロックに、それまでこのブロックを利用していたアプレットに関する機密データが残留し、次にそのブロックの使用権を得た他のアプレットがその機密データを取得する危険性がある。そこで、安全上、登録解除後に残留したデータを消去することが好ましい。その消去の実施は、上述のアプレット登録解除コマンドの処理中におこなってもよいし、MMC110がホスト機器160からの新たな管理コマンドに応じておこなってもよい。
【0077】
尚、本発明は、カード形式以外の記憶装置にも適用可能である。
【0078】
【発明の効果】
本発明によれば、特定のアプリケーションプログラムに係る処理を実行する場合に、特定のアプリケーションプログラムに関係するデータをメモリ装置内部で処理することにより、特定のアプリケーションプログラムに係る処理の安全性を向上できるという効果を奏する。
【0079】
本発明によれば、メモリ装置が実行すべきアプリケーションプログラムごとにメモリ装置内のメモリの異なるブロックを割り当てることにより、アプリケーションプログラム間のデータ干渉、即ち、あるアプリケーションプログラムに割り当てられたメモリが他のアプレットにもアクセスされてデータが侵害されることを抑制できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明を適用したMMCの内部構成を示す図である。
【図2】本発明を適用したMMCの動作を概念的に示すフローチャートである。
【図3】コントローラチップとICカードチップとの間のICカードコマンドおよびICカードレスポンスの構造を示す図である。
【図4】ICカードチップからの要求に応じてフラッシュメモリチップ上のセキュアデータエリアに対するデータの読み書きを実行するフローチャートである。
【図5】ICカードチップからの要求に応じてフラッシュメモリチップ上の管理エリアに対するアプレットの登録およびその解除、また登録情報のロックおよびアンロックを実行するフローチャートである。
【図6】セキュアライトデータとセキュアリードデータの構成図である。
【符号の説明】
110…MMC、120…コントローラチップ、136…管理テーブル、140…MMC外部端子、150…ICカードチップ、160…ホスト機器。

Claims (22)

  1. 外部のホスト機器と接続するためのインターフェイスと、
    複数のアプリケーションプログラムを格納可能で、前記アプリケーションプログラムを実行可能なICカードチップと、
    複数のブロックに分割され、前記各ブロックはそれぞれ、前記各アプリケーションプログラムに割り当てられ、前記アプリケーションプログラムに関係した関係データを格納可能な不揮発性メモリと、
    前記インターフェイスと前記ICカードチップと前記不揮発性メモリに接続されたコントローラとを備え、
    前記コントローラは、前記ホスト機器から前記インターフェイスで受信された特定コマンドに応答して、前記ICカードチップが前記不揮発性メモリへのアクセスを開始するための第1のICカードコマンドを前記ICカードチップへ送信し、
    前記ICカードチップは、前記第1のICカードコマンドに応答して、その時点で選択されている前記アプリケーションプログラムについての、前記アプリケーションプログラムを特定する識別情報を含む、もしくは含まないICカードレスポンスを前記コントローラへ送信し、
    前記コントローラは、前記ICカードレスポンスに前記識別情報が含まれており、かつ、前記不揮発性メモリに前記識別情報で特定される前記アプリケーションプログラムに割り当てられた前記ブロックが存在する場合は、前記識別情報で特定される前記アプリケーションプログラムに対応する、前記不揮発性メモリと前記ICカードチップとの間の前記関係データの転送のための第2のICカードコマンドを前記ICカードチップへ送信し、
    前記ICカードレスポンスに前記識別情報が含まれていない場合、もしくは、前記ICカードレスポンスに前記識別情報が含まれており、かつ、前記不揮発性メモリに前記識別情報で特定される前記アプリケーションプログラムに割り当てられた前記ブロックが存在しない場合は、前記ICカードレスポンスを前記ホスト機器へ送信するメモリカード。
  2. 請求項に記載のメモリカードにおいて、
    前記不揮発性メモリは、前記各ブロックについて、前記ブロックに割り当てられた前記アプリケーションプログラムの前記識別情報を、前記不揮発性メモリ前記ICカードチップとの間の前記関係データの転送のための転送コマンドコード対応づけて格納する管理領域を有するメモリカード。
  3. 請求項に記載のメモリカードにおいて、
    前記ICカードチップに少なくとも1つの前記アプリケーションプログラムを格納した場合に、前記不揮発性メモリ内の前記管理領域に対する、前記アプリケーションプログラムの前記識別情報の追加又は削除を禁止するロック機能と前記ロック機能を解除するアンロック機能を有するメモリカード。
  4. 請求項又はに記載のメモリカードにおいて、
    前記コントローラは、前記ICカードチップからの前記ICカードレスポンスに含まれる前記識別情報と一致するものが、前記不揮発性メモリの前記管理領域に格納されている前記識別情報に存在する場合に、前記ICカードチップと前記不揮発性メモリの間の前記関係データの転送を許可するメモリカード。
  5. 請求項2に記載のメモリカードにおいて、
    前記管理領域は、前記ホスト機器が直接データの読み書きができないように、前記コントローラによりアクセス制限がされているメモリカード。
  6. 請求項2に記載のメモリカードにおいて、
    前記ICカードチップは、前記ICカードチップが実行すべき前記アプリケーションプログラムの前記識別情報前記ICカードレスポンスによって前記コントローラへ送し、
    前記コントローラは、前記不揮発性メモリ内の前記管理領域に格納された前記転送コマンドコードのうち前記ICカードチップからの前記識別情報に対応する前記転送コマンドコードを特定し、特定された前記転送コマンドコードに基づいて前記第2のICカードコマンドを作成して前記ICカードチップへ送し、
    前記ICカードチップは、前記コントローラからの前記第2のICカードコマンドに応答して、前記第2のICカードコマンドに対応する処理の内容を前記ICカードレスポンスによって前記コントローラへ指示し、
    前記コントローラは、前記ICカードチップからの指示に応答して、前記処理を実行するメモリカード。
  7. 請求項に記載のメモリカードにおいて、
    前記転送コマンドコードは、前記不揮発性メモリ前記ブロックへ書き込むべきデータを前記ICカードチップから前記コントローラへ転送するための第1の転送コマンドと、前記不揮発性メモリ前記ブロックから読み出されたデータを前記コントローラから前記ICカードチップへ転送するための第2の転送コマンドとを含むメモリカード。
  8. 請求項に記載のメモリカードにおいて、
    前記転送コマンドコードは、前記ホスト機器からのコマンドと異なるメモリカード。
  9. 請求項6に記載のメモリカードにおいて、
    前記ICカードチップは、前記ICカードレスポンスに所定の値を設定することにより、前記コントローラに対して、前記不揮発性メモリ内の前記ブロックのデータにアクセスすることを要求するメモリカード。
  10. 請求項7に記載のメモリカードにおいて、
    前記ICカードチップは、前記ICカードレスポンスに、前記不揮発性メモリへのアクセスが、前記ブロックへのデータの書き込みであるか、前記ブロックからのデータの読み出しであるかを指定するアクセスモードを設定し、
    前記コントローラは、前記ICカードチップからの前記ICカードレスポンスに設定された前記アクセスモードの値に基づいて、前記第2のICカードコマンドとして、前記第1の転送コマンドもしくは前記第2の転送コマンドを作成するメモリカード。
  11. 請求項10に記載のメモリカードにおいて、
    前記ホスト機器からの前記特定コマンドに対して、前記ICカードチップは、前記アプリケーションプログラムにより、前記コントローラによって作成された前記第2のICカードコマンドに基づく前記不揮発性メモリ内の前記ブロックへのアクセスを複数回行うメモリカード。
  12. 請求項11に記載のメモリカードにおいて、
    前記コントローラは、前記第2のICカードコマンドに、前記不揮発性メモリ内の前記ブロックに対する直前のアクセスの結果を設定するメモリカード。
  13. 請求項11に記載のメモリカードにおいて、
    前記ICカードチップは、前記ICカードレスポンスに、前記不揮発性メモリ内の前記ブロックに対する次回のアクセスについての前記アクセスモードを設定し、
    前記コントローラは、前記ICカードチップからの前記ICカードレスポンスに設定された次回のアクセスについての前記アクセスモードに基づいて、前記コントローラが前記ICカードチップからの次回のアクセスの際に認める前記アクセスモードを設定するメモリカード。
  14. 請求項2に記載のメモリカードにおいて、
    前記コントローラは、前記ホスト機器からの第1のコマンドに応答して、前記不揮発性メモリ前記ブロックの利用権を前記アプリケーションプログラムごとに割り当てて、前記不揮発性メモリ内の前記管理領域に対して、前記ブロックの識別子に対応づけて、割り当てた前記アプリケーションプログラムの前記識別情報を追加し、
    前記コントローラは、前記ホスト機器からの第2のコマンドに応答して、前記第1のコマンドに応答した処理を実行可能なアンロック状態から、前記第1のコマンドに応答した処理を禁止するロック状態へ遷移するメモリカード。
  15. 請求項14に記載のメモリカードにおいて、
    前記不揮発性メモリは、前記コントローラが前記ロック状態であるか前記アンロック状態であるかを識別するためのフラグを記憶可能で、
    前記コントローラは、前記アンロック状態から前記ロック状態へ遷移する場合に、前記フラグの値を変更するメモリカード。
  16. 請求項14に記載のメモリカードにおいて、
    前記コントローラは、前記コントローラが前記アンロック状態である場合は、前記ICカードチップ内の前記アプリケーションプログラムによる前記不揮発性メモリ内の前記ブロックへアクセスを許可しないメモリカード。
  17. 請求項14に記載のメモリカードにおいて、
    前記コントローラは、前記ホスト機器からの第3のコマンドに応答して、前記ロック状態から前記アンロック状態へ遷移するメモリカード。
  18. 請求項17に記載のメモリカードにおいて、
    前記不揮発性メモリは、前記第3のコマンドに応答した処理を許可するための参照パスワードを記憶可能で、
    前記コントローラは、前記第2のコマンドに応答して、前記アンロック状態から前記ロック状態へ遷移する際に、前記不揮発性メモリに前記参照パスワードを設定し、前記第3のコマンドに応答して、前記ロック状態から前記アンロック状態へ遷移する際に、前記ホスト機器から受け取ったパスワードと前記不揮発性メモリ内の前記参照パスワードとが一致した場合にのみ前記ロック状態から前記アンロック状態へ遷移を許可するメモリカード。
  19. 請求項14に記載のメモリカードにおいて、
    前記コントローラは、前記ホスト機器からの第4のコマンドに応答して、前記アプリケーションプログラムのために割り当てられた前記ブロックの利用権を解除して、前記不揮発性メモリ内の前記管理領域に対して、前記ブロックの識別子に対応する前記アプリケーションプログラムの前記識別情報を削除するメモリカード。
  20. 請求項19に記載のメモリカードにおいて、
    前記コントローラが、前記不揮発性メモリ内の前記管理領域に対して、前記アプリケーションプログラムの前記識別情報を削除する際に、前記アプリケーションプログラムに割り当てられていた前記不揮発性メモリ内の前記ブロックに残留したデータを消去するメモリカード。
  21. 請求項14に記載のメモリカードにおいて、
    前記不揮発性メモリは、前記ホスト機器から受け取ったデータを記憶するための第1のエリアと、複数の前記ブロックに分割され、前記アプリケーションプログラムのために利用権が割り当てられた第2のエリアとを有するメモリカード。
  22. 請求項21に記載のメモリカードにおいて、
    前記コントローラは、前記不揮発性メモリの前記第2のエリアへ書き込むべきデータを前記ICカードチップから受信し又は前記第2のエリアから読み出されたデータを前記ICカードチップへ送信するための前記転送コマンドコードを前記アプリケーションプログラムごとに生成するメモリカード。
JP2003050243A 2003-02-06 2003-02-27 メモリカード Expired - Fee Related JP4322021B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003050243A JP4322021B2 (ja) 2003-02-06 2003-02-27 メモリカード
KR1020030099827A KR100575509B1 (ko) 2003-02-06 2003-12-30 메모리 카드
US10/776,962 US7281101B2 (en) 2003-02-06 2004-02-10 Memory device storing data relating to specific application programs

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003028998 2003-02-06
JP2003050243A JP4322021B2 (ja) 2003-02-06 2003-02-27 メモリカード

Publications (2)

Publication Number Publication Date
JP2004295160A JP2004295160A (ja) 2004-10-21
JP4322021B2 true JP4322021B2 (ja) 2009-08-26

Family

ID=32852675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003050243A Expired - Fee Related JP4322021B2 (ja) 2003-02-06 2003-02-27 メモリカード

Country Status (3)

Country Link
US (1) US7281101B2 (ja)
JP (1) JP4322021B2 (ja)
KR (1) KR100575509B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436461B2 (en) 2005-02-22 2022-09-06 Kepler Computing Inc. Mobile phone with magnetic card emulation

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197583B2 (en) * 2003-01-21 2007-03-27 Zentek Technology Japan, Inc. SDIO controller
JP4624732B2 (ja) * 2003-07-16 2011-02-02 パナソニック株式会社 アクセス方法
WO2005081891A2 (en) * 2004-02-23 2005-09-09 Lexar Media, Inc. Secure compact flash
JP4706220B2 (ja) 2004-09-29 2011-06-22 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
FR2878677B1 (fr) * 2004-11-30 2007-02-02 Gemplus Sa Communication de service d'application depuis une carte a microcontroleur vers un terminal
US20060129856A1 (en) * 2004-12-10 2006-06-15 Main Kevin K System and method for expansion card power limiting
WO2006075576A1 (ja) * 2005-01-11 2006-07-20 Matsushita Electric Industrial Co., Ltd. セキュアデバイス及びicカード発行システム
JP4400515B2 (ja) * 2005-06-13 2010-01-20 日本電気株式会社 ストレージシステム、ストレージ装置、論理ディスク接続関係変更方法及びプログラム
JP2007004522A (ja) 2005-06-24 2007-01-11 Renesas Technology Corp 記憶装置
US8074288B2 (en) * 2005-07-15 2011-12-06 Microsoft Corporation Isolation of application-specific data within a user account
JP2007102559A (ja) * 2005-10-05 2007-04-19 Toshiba Corp 携帯可能電子装置
JP4634924B2 (ja) * 2005-12-16 2011-02-16 株式会社日立情報制御ソリューションズ 認証方法、認証プログラム、認証システムおよびメモリカード
US20070218837A1 (en) * 2006-03-14 2007-09-20 Sony Ericsson Mobile Communications Ab Data communication in an electronic device
JP2009537042A (ja) * 2006-05-12 2009-10-22 サムスン エレクトロニクス カンパニー リミテッド 保安データを管理する装置およびその方法
US20080022415A1 (en) * 2006-06-20 2008-01-24 Yu-Chiun Kuo Authority limit management method
US7775442B2 (en) * 2006-07-12 2010-08-17 Nokia Corporation Method for accessing after-operation information of secure element applications
JP2008112285A (ja) * 2006-10-30 2008-05-15 Toshiba Corp 不揮発性メモリシステム
US7762553B2 (en) * 2006-11-25 2010-07-27 Harris Curtis J Form-fitting electronic game controller cover
JP4943866B2 (ja) * 2007-01-18 2012-05-30 パナソニック株式会社 ネットワークカメラシステム
KR100843238B1 (ko) * 2007-02-16 2008-07-03 삼성전자주식회사 메모리 카드
KR100888261B1 (ko) 2007-02-22 2009-03-11 삼성전자주식회사 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법
JP4264958B2 (ja) * 2007-03-23 2009-05-20 フェリカネットワークス株式会社 携帯情報端末
US20110271044A1 (en) * 2007-03-30 2011-11-03 Tyfone, Inc. Memory card having one or more secure elements accessed with hidden commands
FR2914459B1 (fr) * 2007-03-30 2009-07-03 Oberthur Card Syst Sa Carte a microprocesseurs
JP4483891B2 (ja) * 2007-04-02 2010-06-16 フェリカネットワークス株式会社 情報処理端末、データ移動方法、およびプログラム
JP2009053970A (ja) * 2007-08-28 2009-03-12 Toshiba Corp 半導体装置
JP2010020513A (ja) * 2008-07-10 2010-01-28 Panasonic Corp Simカード、携帯端末及びリーダライタ装置
US8341083B1 (en) 2007-09-12 2012-12-25 Devicefidelity, Inc. Wirelessly executing financial transactions
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US8307131B2 (en) * 2007-11-12 2012-11-06 Gemalto Sa System and method for drive resizing and partition size exchange between a flash memory controller and a smart card
US9741027B2 (en) 2007-12-14 2017-08-22 Tyfone, Inc. Memory card based contactless devices
US20100033310A1 (en) * 2008-08-08 2010-02-11 Narendra Siva G Power negotation for small rfid card
US8451122B2 (en) 2008-08-08 2013-05-28 Tyfone, Inc. Smartcard performance enhancement circuits and systems
US7961101B2 (en) 2008-08-08 2011-06-14 Tyfone, Inc. Small RFID card with integrated inductive element
TWI380219B (en) * 2009-01-20 2012-12-21 Phison Electronics Corp Card reader with near field communication functions and near field communication device thereof
TWI420398B (zh) 2009-02-24 2013-12-21 Tyfone Inc 具有微型天線的無接觸裝置
US9037824B2 (en) * 2009-03-26 2015-05-19 Micron Technology, Inc. Password accessible microelectronic memory
JP5454933B2 (ja) * 2009-09-11 2014-03-26 株式会社東芝 携帯可能電子装置、icカード、および携帯可能電子装置の制御方法
KR101626084B1 (ko) * 2009-11-25 2016-06-01 삼성전자주식회사 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
JP5565040B2 (ja) * 2010-03-30 2014-08-06 富士通株式会社 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
US20110300526A1 (en) * 2010-06-07 2011-12-08 Georgia State University Research Foundation Systems And Methods For Facilitating Classroom Interaction
JP2012064048A (ja) 2010-09-16 2012-03-29 Toshiba Corp 携帯可能電子装置、非接触icカード、および携帯可能電子装置のコマンド処理方法
KR101722159B1 (ko) * 2010-09-17 2017-04-03 주식회사 에스엠이네트웍스 보안 메모리 카드
US9311229B2 (en) * 2011-03-29 2016-04-12 Blackberry Limited System and method for managing flash memory
AU2011376977A1 (en) * 2011-09-13 2014-04-10 T-Data Systems (S) Pte Ltd A method for restricting access to data stored on a memory card and a memory card
CN105592033B (zh) * 2014-12-30 2018-12-25 中国银联股份有限公司 可信服务管理系统和方法
US10324656B1 (en) * 2016-07-29 2019-06-18 EMC IP Holding Company LLC Application-aware control for data services
FR3062501B1 (fr) * 2017-02-02 2019-03-15 Idemia France Procede pour la securite d'une operation electronique
US11194738B2 (en) * 2019-07-29 2021-12-07 International Business Machines Corporation Implementing management commands utilizing an in-band interface

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3536149B2 (ja) 1993-01-27 2004-06-07 大日本印刷株式会社 メモリ領域の管理方法
JPH10198776A (ja) 1997-01-14 1998-07-31 Dainippon Printing Co Ltd 携帯可能情報記録媒体およびこれに対する情報書込/読出方法
JPH11120300A (ja) * 1997-10-09 1999-04-30 Fujitsu Ltd 可搬型カード媒体,可搬型カード媒体のメモリ空間管理方法,可搬型カード媒体の発行方法および可搬型カード媒体のプログラムデータ書込方法並びにメモリ空間管理プログラムが記録されたコンピュータ読取可能な記録媒体
JP2000066882A (ja) 1998-08-19 2000-03-03 Hitachi Ltd Icカードおよびicカードのプログラム管理方法
JP2000172808A (ja) * 1998-12-01 2000-06-23 Toshiba Corp Icカードとアプリケーション管理方法
FR2790324B1 (fr) * 1999-02-25 2001-12-28 St Microelectronics Sa Dispositif d'acces securise a des applications d'une carte a puce
JP2002312221A (ja) * 2001-04-17 2002-10-25 Matsushita Electric Ind Co Ltd アクセス制御機能付き記憶装置、及びファイル・アクセス制御プログラム
EP1396815B1 (en) * 2001-06-04 2010-11-17 Renesas Electronics Corporation Memory card
US6745944B2 (en) * 2001-06-20 2004-06-08 Capital One Financial Corporation System and method for identifying applications loaded in a smart card
JP2003030596A (ja) * 2001-07-13 2003-01-31 Hitachi Ltd 論理チャネル管理機能付き記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436461B2 (en) 2005-02-22 2022-09-06 Kepler Computing Inc. Mobile phone with magnetic card emulation

Also Published As

Publication number Publication date
US20040162932A1 (en) 2004-08-19
JP2004295160A (ja) 2004-10-21
KR100575509B1 (ko) 2006-05-03
US7281101B2 (en) 2007-10-09
KR20040074212A (ko) 2004-08-23

Similar Documents

Publication Publication Date Title
JP4322021B2 (ja) メモリカード
US7469837B2 (en) Storage device
KR920007410B1 (ko) 휴대용 데이타 캐리어용 안전 파일 시스템
US7185145B2 (en) Memory card
US7607177B2 (en) Secure compact flash
US7653796B2 (en) Information recording medium and region management method for a plurality of recording regions each managed by independent file system
JPS63788A (ja) Icカード
US20090182937A1 (en) Semiconductor memory card, and program for controlling the same
JPH01500379A (ja) ポータブルデータキャリヤのためのシステム
US20060236026A1 (en) Method and system for allocating, accessing and de-allocating storage space of a memory card
KR20080089586A (ko) 명령 패스 스로우 메커니즘을 가지는 미디어 카드
US7024532B2 (en) File management method, and memory card and terminal apparatus that make use of the method
JP2003022216A (ja) 記憶装置
WO2007107829A2 (en) A personal security token for at least two security environments and different access conditions thereupon
GB2314948A (en) Secure transfer of applications and/or data onto a chipcard
JP4445718B2 (ja) Icカード及びicカードプログラム
JP4057858B2 (ja) ファイル管理方法ならびにそれを用いたメモリカードおよび端末装置
JP2005134953A (ja) 未設定icカード、icカード発行システム及びicカードアプリケーションの発行方法
JP4443699B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2011060136A (ja) 携帯可能電子装置、および、携帯可能電子装置におけるデータ管理方法
JP4318494B2 (ja) Icカード及びicカードプログラム
JPH1074243A (ja) Icカード
JP7334566B2 (ja) 電子情報記憶媒体、及びプログラム
JP2501050Y2 (ja) Icカ―ド
JP2007323140A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060110

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080919

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4322021

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140612

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees