JP2014063314A - Icカード - Google Patents

Icカード Download PDF

Info

Publication number
JP2014063314A
JP2014063314A JP2012207546A JP2012207546A JP2014063314A JP 2014063314 A JP2014063314 A JP 2014063314A JP 2012207546 A JP2012207546 A JP 2012207546A JP 2012207546 A JP2012207546 A JP 2012207546A JP 2014063314 A JP2014063314 A JP 2014063314A
Authority
JP
Japan
Prior art keywords
file
transaction
commit
command
instruction
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.)
Granted
Application number
JP2012207546A
Other languages
English (en)
Other versions
JP5971713B2 (ja
Inventor
Kei Sugibuchi
慶 杉渕
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012207546A priority Critical patent/JP5971713B2/ja
Priority to SG2013065388A priority patent/SG2013065388A/en
Priority to KR1020130106563A priority patent/KR101455539B1/ko
Priority to EP13183901.1A priority patent/EP2711871A3/en
Priority to US14/031,275 priority patent/US9798739B2/en
Publication of JP2014063314A publication Critical patent/JP2014063314A/ja
Application granted granted Critical
Publication of JP5971713B2 publication Critical patent/JP5971713B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

【課題】通信上で一度に複数のコマンドを受けた場合でも、ファイルに不正が生じないように、トランザクション処理を実行可能とする。
【解決手段】制御部11において、通信部12を通じて外部からファイルの選択を指示するコマンドが与えられるとき、そのコマンドの予め決められた位置に特定の固定値が挿入されているか否かを判定して、非トランザクション状態で固定値挿入有りと判定されたときはファイルの選択と同時にトランザクションの開始指示として受け付けてトランザクションの処理を開始する。また、トランザクションの処理中に特定の固定値挿入有りと判定されたときはコミットの指示として受け付け、対象とするファイル配下の全てのファイルに対してトランザクション中に行われた操作を一括反映する。
【選択図】 図1

Description

本発明の実施形態は、トランザクション開始、中断、コミット指示を受け付け、処理が可能なICカードに関する。
携帯電話などに挿入して使用されるICカードはUIM(User Identify Module)カードと呼ばれる。このUIMカードでは、遠隔サーバから携帯電話等を介してファイル管理コマンドを実行する「遠隔ファイル管理機能」をサポートすることが増えている。この遠隔ファイル管理において、コマンドレスポンスは携帯電話の持つ無線通信経路を介して授受されるため、無線通信の断絶に備える必要があり、一連の不可分なコマンドを処理する際にはトランザクション処理機能の実現が望まれる。
特開2003−114731号公報 特開2000−172804号公報
以上のように、UIMカードと呼ばれるICカードにあっては、遠隔ファイル管理において、コマンドレスポンスは携帯電話の持つ無線通信経路を介して授受されるため、無線通信の断絶に備える必要があり、一連の不可分なコマンドを処理する際には、通信上で一度に複数のコマンドを受けた場合でも、ファイル間の関係に不整合が生じないように、トランザクション処理機能の実現が望まれる。
本実施形態は上記の問題を解決するためになされたもので、通信上で一度に複数のコマンドを受けた場合でも、ファイル間の関係に不整合が生じないように、トランザクション処理を実行することのできるICカードを提供することを目的とする。
上記の課題を解決するために、本実施形態に係るICカードは、外部との間で情報を送受する通信部と、前記情報ファイルを格納する記憶部と、外部から指示されるコマンド命令を解釈・実行する制御部とを具備する。前記制御部は、前記通信部を通じて外部からファイルの選択を指示するコマンドが与えられるとき、そのコマンドの予め決められた位置に特定の固定値が挿入されているか否かを判定して、非トランザクション状態で前記固定値挿入有りと判定されたときは前記ファイルの選択と同時にトランザクションの開始指示として受け付けて前記トランザクションの処理を開始し、前記トランザクションの処理中に前記特定の固定値挿入有りと判定されたときはコミットの指示として受け付け、対象とする専用ファイル配下の全てのファイルに対してトランザクション中に行われた操作を一括反映する。
実施形態のICカードのハードウェア構成を示すブロック図である。 上記実施形態のトランザクション中のファイルリスト構造例を示す概略図である。 上記実施形態のコミット中のファイルリスト構造例を示す概略図である。 上記実施形態のICカードの処理の流れを示すフローチャートである。
以下、図面を参照して本実施形態に係るICカードを説明する。
尚、本実施形態において、コマンドはISO/IEC 7816で規定するAPDU(Application Data Unit)形式をとるが、このAPDUのICカードと外部の交換は、ETSI TS 102.226の5章で規定されるRemote APDU formatのように、ブロック単位で行われることを想定し、ISO/IEC 7816-3で規定されるいわゆるT=0プロトコルのようなキャラクタ伝送による交換は想定しないものとする。
図1は実施形態のICカードとそのリーダライタ(読み出し書き込み装置)のハードウェア構成を示すブロック図である。図1において、ICカード1は、CPUを備える制御部11、ICカードリーダライタ2との通信を行うためのUART(Universal Asynchronous Receiver Transmitter)を備える通信部12、プログラムコードが格納されるROM(Read Only Memory)13、ワーキングメモリとして一時データが記憶される揮発性メモリ(RAM:Random Access Memory)14、データの書き換えが可能な不揮発性メモリ(NVM:Non-volatile memory)15、およびそれらをつなぐシステムバス16から構成される。NVM15はコミットバッファとして機能する。
一方、カードリーダライタ2は、ICカード1と通信を行うためのUARTを備える通信部21を備え、図示しないサーバからの指示に応じてICカード1との間で指示・命令、情報のやりとりを行う。
上記構成において、以下に本実施形態の処理機能について説明する。
本実施形態は、後述する新規SELECTコマンドによってトランザクションの開始、中止、およびコミットを実現する。表1に、従来のSELECTコマンドおよび新規SELECTコマンドによって、ISO/IEC 7816-3で規定されるDF(Dedicated File:専用ファイル)が選択された際の動作を示す。尚、後述するトランザクション状態のDFリストを用いて、対象DFがトランザクション状態か非トランザクション状態かを判別可能である。

Figure 2014063314
ここで、ICカード1が外部から受信するC-APDU(Command APDU)のSELECTコマンドは、通常、下記の表2に示すような構造を取る。この表ではC-APDU TLVの通常の構造を示している。
Figure 2014063314
これに対し、本実施形態で提案する新規SELECTコマンドは、表3に示す構造とする。
Figure 2014063314
すなわち、新規SELECTコマンドの構造は、表3に示すように、従来のCLA領域とINS領域の間に固定値0xFFを挿入した構造を取る。
続いて、トランザクション状態のDFリストについて説明する。
ICカード1は、RAM14にトランザクション中であるDF本来のパスおよび後述するコミットバッファ上のパスをリストとして保持する。このリストの構造の例を図2に示す。ICカード起動時には、このリスト(2バイト)は空であり、トランザクション開始指示を受けたDFの情報(DFの本来のパスの長さ(1バイト)、DFの本来のパス、コミットバッファ上のDFのパスの長さ(1バイト)、コミットバッファ上のDFのパス)は順次、本リストに追加される。また、コミット指示を受け実際にコミットが完了した際、およびトランザクション中止指示を受けたDFは、本リストから削除される。
ここで、ICカード1はNVM15にコミットバッファを持つ。トランザクション開始指示を受けたDFは、その配下の全てのファイルと共に本コミットバッファ上にコピーされる。また、コミット指示を受けた際には、コミットバッファ上のファイルで本来のパスにあるファイルの内容を上書きし、このコミットバッファ上のファイルを消去する。
一方、コミットの指示を受け、コミットバッファ上のファイルを本来のファイルに書き込みを行っている途中に電源断が発生した場合に備えて、ICカード1はNVM15にコミット中のファイルリスト(2バイト)を保持する。このファイルリストの構造を図3に示す。
すなわち、ICカード1は、コミット実施直前に、コミット対象のDF配下の全てのファイルへアクセスするためのアドレス(論理パス)をNVM15にコミットファイルリスト(ファイルのパスの長さ(1バイト)、ファイルのパス、コミットバッファ上のファイルのパスの長さ(1バイト)、コミットバッファ上のファイルのパス)として書き込み、各ファイルのコミットが完了する毎に順次本領域のデータを削除する。ICカード1は起動時にコミット中のファイル情報が存在するか否かを確認し、存在する場合にはコミットバッファに残されたデータをもとにコミットを行う。
上記の構成において、提案する実施形態の処理の流れを図4に示すフローチャートを参照して説明する。
まず、ステップS1において、ICカード1はC-APDU TLVの受信を待機する。受信後、ステップS2へ進む。
ステップS2では、受信したコマンドがSELECTコマンドであるかどうかを確認する。具体的には、次のS21〜S23により確認する。
まず、CLAに続く1バイトの値が0xA4の場合(S21)、受信したコマンドはSELECTコマンドであると認定し、ステップS3へ進む。また、CLAに続く2バイトの値が0xFF, 0xA4の場合(S22)、受信したコマンドはSELECTコマンドであると認定し、ステップS3へ進む。上記S21,S22のどちらでもなかった場合(S23)には、受信したコマンドはSELECTコマンドではないと認定してステップS4へ進む。
ステップS3は、SELECTコマンドで選択される対象がDFの場合はステップS5へ、それ以外の場合にはステップS4へ進む。ステップS4では、受信したコマンドに対応した所定の処理を実行する。処理結果を外部に出力し、ステップS1に戻ってコマンド受信の待機状態とする。
一方、ステップS5において、ICカード1はCLA領域の次の1バイトの値を確認する。値が0xFFであった場合はステップS6へ、0xA4であった場合にはステップS9へ進む。
ステップS6において、受信したSELECTコマンドは、本実施形態で提案する新規SELECTコマンドである。このコマンドの選択対象のDFが、トランザクション状態のDFリストに含まれる場合にはステップS7へ、それ以外の場合にはステップS8へ進む。
ステップS7では、対象DFに対するトランザクションをコミットし、ステップS11へ進む。ステップS7のコミットは次の一連の処理により実現する。
まず、対象DFの管理下の全てのファイルの、本来のパスとコミットバッファ上のパスをコミット中のファイルリストに追加する(S71)。続いて、コミット中のファイルリストのファイルの一つに関して、コミットバッファ上の内容で本来の内容を上書し(S72)。上書きしたファイルをコミット中のファイルリストから削除する(S73)。さらに、コミット中のファイルリストが空になるまで上記の上書処理(S72)と削除処理(S73)を繰り返す(S74)。最終的に、コミットバッファ上の対象DFおよびEF(Elementary File:基礎ファイル)ファイルを削除し(S75)、トランザクション状態のDFリストから対象DFを削除する(S76)。
ステップS8では、対象DFに対するトランザクションを開始し、ステップS11へ進む。ステップS8のトランザクションの開始は、まず、コミットバッファ上に対象DFと対象DF管理下の全てのファイルをコピーし(S81)、対象DFをトランザクション中のファイルリストに追加すること(S82)により実現する。
ステップS9において、受信したSELECTコマンドは、従来のSELECTコマンドである。このコマンドの選択対象のDFが、トランザクション状態のDFリストに含まれる場合にはステップS10へ、それ以外の場合にはステップS11へ進む。
ステップS10では、対象DFに対するトランザクションを中止し、ステップS11へ進む。トランザクションの中止は、コミットバッファ上の対象DFおよびファイルを削除し(S101)、トランザクション状態のDFリストから対象DFを削除すること(S102)で実現する。
最終的に、ステップS11において、対象DFを選択し、結果を出力して、ステップS1に戻る。
上記の処理動作を実行する本実施形態の構成によれば、トランザクション開始指示、コミット指示、トランザクション中断指示をコマンド受信時に同時に受け付けることが可能となり、DF単位でアトミックなトランザクション処理が可能となる。
尚、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…ICカード、11…制御部、12…通信部、13…ROM、14…揮発性メモリ(RAM)、15…不揮発性メモリ(NVM)、16…システムバス、2…ICカードリーダライタ、21…通信部。
特開2003−114831号公報 特開2000−172804号公報

Claims (3)

  1. 外部との間で情報を送受する通信部と、
    前記情報ファイルを格納する記憶部と、
    外部から指示されるコマンド命令を解釈・実行する制御部と
    を具備し、
    前記制御部は、前記通信部を通じて外部からファイルの選択を指示するコマンドが与えられるとき、そのコマンドの予め決められた位置に特定の固定値が挿入されているか否かを判定して、非トランザクション状態で前記固定値挿入有りと判定されたときは前記専用ファイルの選択と同時にトランザクションの開始指示として受け付けて前記トランザクションの処理を開始し、前記トランザクションの処理中に前記特定の固定値挿入有りと判定されたときはコミットの指示として受け付け、対象とする専用ファイル配下の全てのファイルに対してトランザクション中に行われた操作を一括反映することを特徴とするICカード。
  2. 前記記憶部は、不揮発性メモリによるコミットバッファを備え、
    前記制御部は、トランザクション開始指示を受けた際に前記専用ファイル配下の全てのファイルの内容を前記コミットバッファにコピーし、前記コミット指示を受けた際に、前記コミットバッファの内容を本来の領域に反映することを特徴とする請求項1記載のICカード。
  3. 前記制御部は、前記コミットの指示を受け、コミットバッファ上のファイルを本来のファイルに書き込みを行っている途中に電源断が発生した場合に備えて、前記コミットバッファにコミット中のファイルリストを保持することを特徴とする請求項2記載のICカード。
JP2012207546A 2012-09-20 2012-09-20 Icカード Expired - Fee Related JP5971713B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012207546A JP5971713B2 (ja) 2012-09-20 2012-09-20 Icカード
SG2013065388A SG2013065388A (en) 2012-09-20 2013-08-28 Ic card and ic card control method
KR1020130106563A KR101455539B1 (ko) 2012-09-20 2013-09-05 Ic 카드 및 ic 카드 제어 방법
EP13183901.1A EP2711871A3 (en) 2012-09-20 2013-09-11 IC card and IC card control method
US14/031,275 US9798739B2 (en) 2012-09-20 2013-09-19 IC card and IC card control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012207546A JP5971713B2 (ja) 2012-09-20 2012-09-20 Icカード

Publications (2)

Publication Number Publication Date
JP2014063314A true JP2014063314A (ja) 2014-04-10
JP5971713B2 JP5971713B2 (ja) 2016-08-17

Family

ID=49162005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012207546A Expired - Fee Related JP5971713B2 (ja) 2012-09-20 2012-09-20 Icカード

Country Status (5)

Country Link
US (1) US9798739B2 (ja)
EP (1) EP2711871A3 (ja)
JP (1) JP5971713B2 (ja)
KR (1) KR101455539B1 (ja)
SG (1) SG2013065388A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017165266A1 (en) * 2016-03-21 2017-09-28 Duke University Sequential anti-cancer treatment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172804A (ja) * 1998-12-01 2000-06-23 Toshiba Corp Icカードとicカードのデータ更新方法
JP2001101053A (ja) * 1999-09-30 2001-04-13 Toshiba Corp トランザクション管理方法及びトランザクション管理装置
JP2003114831A (ja) * 2001-10-05 2003-04-18 Toshiba Corp 携帯可能電子装置
JP2004127205A (ja) * 2002-10-01 2004-04-22 Korea Electronics Telecommun 不揮発性メモリへのデータ貯蔵方法及び装置
US20090164750A1 (en) * 2007-12-21 2009-06-25 Spansion Llc Data commit on multicycle pass complete without error

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452401A (en) 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
JPH08147203A (ja) * 1994-11-22 1996-06-07 Hitachi Ltd トランザクション処理システム
JP3752937B2 (ja) * 2000-01-06 2006-03-08 日本電信電話株式会社 トランザクション処理装置と方法およびトランザクション処理機能付きicカード
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US7730213B2 (en) * 2000-12-18 2010-06-01 Oracle America, Inc. Object-based storage device with improved reliability and fast crash recovery
JP3645822B2 (ja) * 2001-03-15 2005-05-11 日本電信電話株式会社 Icカードのトランザクション管理方法及びicカード
US7243088B2 (en) * 2003-08-06 2007-07-10 Oracle International Corporation Database management system with efficient version control
KR20070096195A (ko) * 2006-03-21 2007-10-02 시큐어플랫폼즈테크놀로지(주) 램 트랜잭션 버퍼를 이용한 트랜잭션 처리방법
US7908255B2 (en) * 2007-04-11 2011-03-15 Microsoft Corporation Transactional memory using buffered writes and enforced serialization order
US8301588B2 (en) * 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US20100240413A1 (en) 2009-03-21 2010-09-23 Microsoft Corporation Smart Card File System

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172804A (ja) * 1998-12-01 2000-06-23 Toshiba Corp Icカードとicカードのデータ更新方法
JP2001101053A (ja) * 1999-09-30 2001-04-13 Toshiba Corp トランザクション管理方法及びトランザクション管理装置
JP2003114831A (ja) * 2001-10-05 2003-04-18 Toshiba Corp 携帯可能電子装置
JP2004127205A (ja) * 2002-10-01 2004-04-22 Korea Electronics Telecommun 不揮発性メモリへのデータ貯蔵方法及び装置
US20090164750A1 (en) * 2007-12-21 2009-06-25 Spansion Llc Data commit on multicycle pass complete without error

Also Published As

Publication number Publication date
EP2711871A3 (en) 2016-04-13
JP5971713B2 (ja) 2016-08-17
US9798739B2 (en) 2017-10-24
US20140081937A1 (en) 2014-03-20
KR101455539B1 (ko) 2014-10-27
EP2711871A2 (en) 2014-03-26
SG2013065388A (en) 2014-04-28
KR20140038307A (ko) 2014-03-28

Similar Documents

Publication Publication Date Title
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
JP5971713B2 (ja) Icカード
JP5754287B2 (ja) Icチップ、icチップにおける処理方法、uim、携帯端末、及びicチップ用処理プログラム
JP5085254B2 (ja) 携帯可能電子装置、icカード、および携帯可能電子装置におけるコマンド処理方法
CN101119561A (zh) Gsm移动通信终端与sim卡之间的通信方法
JP4784138B2 (ja) Icカード、および、icカード用プログラム
JP5092370B2 (ja) 携帯可能情報記録媒体及びそのプログラム
JP4734838B2 (ja) 情報記録媒体とプログラム、及びコマンド実行制御方法
JP6750450B2 (ja) 電子情報記憶媒体、データ送信方法、icカード及びデータ送信プログラム
CN114489493B (zh) Mifare类卡模拟使用大容量Flash存储的实现方法
JP6819201B2 (ja) 電子情報記憶媒体、icカード、設定情報送信方法、及び設定情報送信プログラム
JP2018014014A (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
CN103914263A (zh) Sd卡和访问sd卡的设备及方法
JP6822174B2 (ja) 電子情報記憶媒体、icカード、通知方法、及び通知処理プログラム
JP2017142655A (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
CN106096473A (zh) 一种智能卡的解决7816/swp双接口同步nvm数据的方法和装置
JP6281302B2 (ja) 情報処理装置、icカード、及びデータ処理方法
JP2008134942A (ja) 情報処理装置とそのプログラム、情報処理装置の製造方法、及び、情報処理装置の使用方法
JP2007034434A (ja) Icカード、icカードへのデータ書込み方法、および、icカードプログラム
RU2673394C2 (ru) Способ установки приложения на защищенный элемент
JP2020187774A (ja) 電子情報記憶媒体、icカード、設定情報送信方法、及び設定情報送信プログラム
JP2008242998A (ja) Icカード
JP2007172301A (ja) トランザクション実行中のデータを保護する機能を備えたicカード、および、icカードプログラム
JP2019160120A (ja) Ic決済で用いるトークンデバイス
JP2005025509A (ja) Icカードシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160706

R151 Written notification of patent or utility model registration

Ref document number: 5971713

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees