JP2014002471A - Icカード処理装置、及びicカード - Google Patents

Icカード処理装置、及びicカード Download PDF

Info

Publication number
JP2014002471A
JP2014002471A JP2012136141A JP2012136141A JP2014002471A JP 2014002471 A JP2014002471 A JP 2014002471A JP 2012136141 A JP2012136141 A JP 2012136141A JP 2012136141 A JP2012136141 A JP 2012136141A JP 2014002471 A JP2014002471 A JP 2014002471A
Authority
JP
Japan
Prior art keywords
command
card
processing
data
terminal device
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.)
Pending
Application number
JP2012136141A
Other languages
English (en)
Inventor
Yoshiaki Uchida
圭亮 内田
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 JP2012136141A priority Critical patent/JP2014002471A/ja
Publication of JP2014002471A publication Critical patent/JP2014002471A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】より効率的に通信することができるICカード処理装置、及びICカードを提供する。
【解決手段】一実施形態に係るICカード処理装置は、ICカードにコマンドを送信し、前記ICカードに種々の処理を実行させるICカード処理装置であって、第1のコマンドを生成し、生成した前記第1のコマンドを構成する単位毎にパリティビットを付加する第1のコマンド生成部と、前記第1のコマンドを前記ICカードに送信する第1の送信部と、前記第1のコマンドに対して前記ICカードにより実行されたパリティチェックにおいてエラーが検出された前記第1のコマンド上の位置を示すエラー情報を受信する第1の受信部と、前記第1のコマンド上の前記エラー情報が示す位置のデータを含む第2のコマンドを生成する第2のコマンド生成部と、前記第2のコマンドを前記ICカードに送信する第2の送信部と、前記第1のコマンド及び前記第2のコマンドに基づいて前記ICカードにより実行された処理の結果であるレスポンスを受信する第2の受信部と、を具備する。
【選択図】図3

Description

本発明の実施形態は、ICカード処理装置、及びICカードに関する。
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUと、CPUの処理に利用されるRAMメモリなどを有している。
ICカードは、例えば、国際標準規格ISO/IEC7816に準拠したICカードである。ICカードは、ICチップのメモリに種々のアプリケーションを格納することができる。ICカードは、例えばカードリーダライタなどのICカード処理装置から送信されたコマンドに応じてアプリケーションを実行することにより、種々の処理を実行することができる。
特開2005−085089号公報
上記したようなICカード及びICカード処理装置は、例えば巡回冗長検査(CRC:Cyclic Redundancy Check)符号などの通信エラーを検知するためのデータ(通信エラー検査データ)をコマンドまたはレスポンスなどのデータセットに付加する。ICカード及びICカード処理装置は、通信エラー検査データを用いて受信したデータのエラーを検知する。
しかし、CRCでは、受信したデータ上のエラーが発生した位置を特定することができない。この為、エラーが発生したデータセットの全データを再送する必要がある。これにより、処理速度が低下する可能性があるという課題がある。
そこで、より効率的に通信することができるICカード処理装置、及びICカードを提供することを目的とする。
一実施形態に係るICカード処理装置は、ICカードにコマンドを送信し、前記ICカードに種々の処理を実行させるICカード処理装置であって、第1のコマンドを生成し、生成した前記第1のコマンドを構成する単位毎にパリティビットを付加する第1のコマンド生成部と、前記第1のコマンドを前記ICカードに送信する第1の送信部と、前記第1のコマンドに対して前記ICカードにより実行されたパリティチェックにおいてエラーが検出された前記第1のコマンド上の位置を示すエラー情報を受信する第1の受信部と、前記第1のコマンド上の前記エラー情報が示す位置のデータを含む第2のコマンドを生成する第2のコマンド生成部と、前記第2のコマンドを前記ICカードに送信する第2の送信部と、前記第1のコマンド及び前記第2のコマンドに基づいて前記ICカードにより実行された処理の結果であるレスポンスを受信する第2の受信部と、を具備する。
図1は、一実施形態に係るICカード処理システムの例について説明するための図である。 図2は、一実施形態に係るICカードの例について説明するための図である。 図3は、一実施形態に係るICカード処理システムの例について説明するための図である。 図4は、一実施形態に係るICカード処理システムの例について説明するための図である。 図5は、一実施形態に係るICカード処理システムの例について説明するための図である。
以下、図面を参照しながら、一実施形態に係るICカード、携帯可能電子装置、及びICカードの制御プログラムについて詳細に説明する。
本実施形態に係る端末装置10のカードリーダライタ17及びICカード20は、例えば、ETSI TS 102 613により規定されているSingle Wire Protocol(SWP)、二重伝送通信などの接触通信の機能、及びISO/IEC14443などにより規定されている非接触通信の機能の両方またはいずれかの機能を備える。これにより、カードリーダライタ17及びICカード20は、互いにデータの送受信を行うことができる。
図1は、一実施形態に係るICカード処理システム1の構成例について示す。
ICカード処理システム1は、携帯可能電子装置(ICカード)20を処理する端末装置10と、ICカード20と、を備える。端末装置10とICカード20とは、上記したように接触通信、または非接触通信により互いに種々のデータを送受信する。
端末装置10は、CPU11、RAM12、ROM13、不揮発性メモリ14、操作部15、表示部16、及びカードリーダライタ17を備える。CPU11、RAM12、ROM13、操作部15、表示部16、及びカードリーダライタ17は、それぞれバス19を介して互いに接続されている。
CPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM13に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、カードリーダライタ17を介してICカード20とコマンド及びレスポンスの送受信を行う。
RAM12は、ワーキングメモリとして機能する揮発性のメモリである。RAM12は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM12は、カードリーダライタ17を介して外部の機器と送受信するデータを一時的に格納する。また、RAM12は、CPU11が実行するプログラムを一時的に格納する。ROM13は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。
不揮発性メモリ14は、例えばEEPROMなどのフラッシュメモリを備える。不揮発性メモリ14は、例えば、制御用のプログラム、制御データ、アプリケーション、個人情報、暗号鍵などのセキュリティ情報、及びアプリケーションに用いられるデータなどを記憶する。
操作部15は、例えば操作キーなどを備える。操作部15は、端末装置10の操作者により入力される操作に基づいて、操作信号を生成する。操作部15は、生成した操作信号をCPU11に入力する。
表示部16は、CPU11、またはCPU11により制御されるグラフィック処理部から入力される表示信号に基づいて、種々の情報を表示する。なお、端末装置10は、操作部15と表示部16とが一体に形成されるタッチパネルを備える構成であってもよい。
カードリーダライタ17は、ICカード20と通信を行うためのインターフェース装置である。カードリーダライタ17は、ICカード20が装着されるスロット18を備える。カードリーダライタ17は、接触通信、または非接触通信によりスロット18に装着されたICカード20とデータの送受信を行う。
接触通信のインターフェースとして用いられる場合、カードリーダライタ17は、ICカード20が備えるコンタクトパターンと接続される複数の接触端子を備える。スロット18にICカード20が装着される場合、カードリーダライタ17の複数の接触端子は、ICカード20のコンタクトパターンに接続される。これにより、端末装置10とICカード20とは電気的に接続される。カードリーダライタ17は、スロットに装着されたICカード20に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ17は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
カードリーダライタ17は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ17は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置10は、スロットに装着されたICカード20に対してデータを非接触で送信することができる。
さらに、カードリーダライタ17のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ17は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置10は、スロットに装着されたICカード20から送信された元のデータを取得することができる。
CPU11は、カードリーダライタ17によりICカード20に対して種々のコマンドを入力する。ICカード20は、例えば、カードリーダライタ17からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
また、CPU11は、ICカード20に読み取りコマンドを送信することにより、ICカード20からデータを読み出す。CPU11は、ICカード20から受信したデータに基づいて種々の処理を行う。
図2は、図1に示すICカード20の構成例を示す。
図2に示すように、ICカード20は、矩形状の本体と、本体内に内蔵されるICモジュール21を備えている。ICモジュール21は、ICチップ22を備える。
ICチップ22は、通信インターフェース23、CPU24、ROM25、RAM26、不揮発性メモリ27、電源部28、及びコプロセッサ29を備える。
通信インターフェース23は、ICカード20に接続される外部機器(例えば端末装置10)との間で送受信するデータに対して符号化、復号、変調、及び復調などを行う。
ICカード20が端末装置10との間で接触通信によりデータの送受信を行う構成である場合、通信インターフェース23は、コンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりICモジュール21の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置10と接触可能な状態で形成されている。コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれコンタクトパターンの端子として機能する。通信インターフェース23は、コンタクトパターンを介してカードリーダライタ17とデータの送受信を行うことができる。
また、非接触通信のインターフェースとして用いられる場合、通信インターフェース23は、信号処理部とアンテナとを備える。
信号処理部は、端末装置10に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置10に送信するデータの変調(増幅)を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
アンテナは、例えば、ICモジュール21が内蔵される本体に所定の形状で配設される金属線により構成される。ICカード20は、端末装置10に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ICカード20は、端末装置10に対してデータを送信することができる。また、ICカード20は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置10から送信されるデータを認識する。
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信インターフェース23は、2値の論理データを取得する。通信インターフェース23は、解析したデータをバスを介してCPU24に送信する。
また、通信インターフェース23は、受信レジスタ及び送信レジスタを備える。受信レジスタ及び送信レジスタは、一般的なレジスタであり、ICカード20が送受信するデータを一時的に格納する。即ち、受信レジスタは、通信インターフェース23を介して端末装置10から受信するデータを一時的に格納する。また、送信レジスタは、通信インターフェース23を介して端末装置10に送信するデータを一時的に格納する。
CPU24は、種々の演算を行う演算素子である。CPU24は、ROM25あるいは不揮発性メモリ27に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。これにより、CPU24は、ICカード20の全体の制御を司ることができる。例えば、CPU24は、端末装置10のカードリーダライタ17から受信したコマンドに応じて種々の処理を行い、処理結果に基づいて、レスポンスの生成を行なう。
ROM25は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM25は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、ROM25に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
RAM26は、ワーキングメモリとして機能する揮発性のメモリである。RAM26は、CPU24の処理中のデータなどを一時的に格納する。例えば、RAM26は、CPU24が実行するプログラムを一時的に格納する。
不揮発性メモリ27は、例えば、EEPROMなどのデータの書き込み及び書き換えが可能なフラッシュメモリを備える。不揮発性メモリ27は、例えば、制御用のプログラム、制御データ、アプリケーション、個人情報、暗号鍵などのセキュリティ情報、及びアプリケーションに用いられるデータなどを記憶する。
たとえば、不揮発性メモリ27では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU24は、不揮発性メモリ27、または、ROM25に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
電源部28は、通信インターフェース23を介してカードリーダライタ17から電力を受給し、受給した電力をICカード20の各部に供給する。ICカード20が接触通信を行う構成を備える場合、電源部28は、通信インターフェース23のコンタクトパターンを介してカードリーダライタ17から供給される電力をICカード20の各部に供給する。
また、ICカード20が非接触通信を行う構成を備える場合、カードリーダライタ17のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部28は、動作クロックを生成する。電源部28は、発生させた電力及び動作クロックをICカード20の各部に電力を供給する。ICカード20の各部は、電力の供給を受けた場合、動作可能な状態になる。
コプロセッサ29は、演算素子及びレジスタなどを有する演算処理部である。コプロセッサ29は、演算処理をハードウエアにより行う。例えば、コプロセッサ29は、端末装置10からのコマンドに基づいて、暗号化、復号、ハッシュ計算、及び乱数の生成などの処理を行う。例えば、端末装置10から相互認証コマンドを受信する場合、コプロセッサ29は、相互認証処理に係る演算処理を実行する。CPU24は、コプロセッサ29にデータを入力し、コプロセッサ29に演算処理を実行させ、処理結果をコプロセッサ29から受け取る。
コプロセッサ29は、例えば、DES(Data Encryption Standard)、またはAES(Advanced Encryption Standard)等の規格に基づいて暗号処理を行う。コプロセッサ29は、例えば不揮発性メモリ27、またはROM25に格納された暗号鍵を用いて暗号化、及び復号などの暗号処理を行う。
ICカード20は、一次発行と二次発行とにより発行される。ICカード20を発行する発行装置は、一次発行において、ICカード20にコマンド(初期化コマンド)を送信することにより、ICカード20の不揮発性メモリ27の初期化を行う。これにより、端末装置10は、ICカード20の不揮発性メモリ27内にICカード20の使用目的、及び使用用途などに応じた鍵ファイルやデータファイル等を定義する。
発行装置は、例えば、ISO/IEC7816により規定されているファイル構造を不揮発性メモリ27内に創成する。上記の初期化が行われた不揮発性メモリ27は、Master File(MF)、Dedicated File(DF)、及びElementary File(EF)などを有する。
MFは、ファイル構造の根幹となるファイルである。DFは、MFの下位に創成される。DFは、アプリケーション及びアプリケーションに用いられるデータなどをグループ化して格納するファイルである。EFは、DFの下位に創成される。EFは、様々なデータを格納するためのファイルである。また、MFの直下にEFが置かれる場合もある。
EFには、Working Elementary File(WEF)とInternal Elementary File(IEF)などの種類がある。WEFは、作業用EFであり、個人情報などを格納する。IEFは、内部EFであり、例えば、セキュリティのための暗号鍵などのデータを記憶する。
二次発行では、EFに例えば顧客データなどの個別データが格納される。これにより、ICカード20が運用可能な状態になる。即ち、CPU24は、不揮発性メモリ27、または、ROM25に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
図3は、端末装置10とICカード20との間で行われる処理の例を示す。なお、本実施形態は、端末装置10とICカード20とがISO/IEC14443により規定されたブロックフォーマットにより非接触通信を行う例を示す。
端末装置10及びICカード20は、コマンドとレスポンスとを送受信し、初期設定を行う。これにより、端末装置10とICカード20との間で通信プロトコルが活性化される。この結果、ICカード20は、端末装置10から送信されたコマンドに応じて種々の処理を実行することができる。
端末装置10は、ICカード20に実行させる処理に応じたコマンドを生成する。このコマンドは、例えばI−Blockなどのブロック構成である。コマンドは、例えば、プロローグフィールド、情報フィールド、およびエピローグフィールドなどのフィールドを有する。
プロローグフィールドは、Protocol Controll Byte(PCB)、Card IDentifier(CID)、及びNode Address(NAD)などのデータを有する。
プロトコル制御バイトであるPCBは、データ伝送の制御に必要な情報をICカード20に伝達することができる。例えば、ブロックフォーマットでは、アプリケーション層で使用する情報を伝達するためのIブロック、肯定応答または否定応答を伝達するためのRブロック、及び端末装置10とICカード20との間で制御情報を交換する為のSブロックが規定されている。プロトコル制御バイトであるPCBは、これらのブロックの種類を示す。
カード識別子であるCIDは、処理対称のICカードを指定するためのデータである。ICカード20は、固有のCIDをROM25または不揮発性メモリ27内に記憶している。端末装置10は、初期設定でICカード20からCIDを取得する。端末装置10は、処理対象のICカード20のCIDをプロローグフィールドのCIDにセットする。
ICカード20は、コマンドを受信した場合、プロローグフィールドのCIDの値と、自身のCIDの値とが一致した場合、受信したコマンドに応じた処理を実行する。
ノードアドレスであるNADは、異なる論理接続を構築するためのデータである。
情報フィールドは、例えば、コマンドのデータ本体、アプリケーションデータ、または状態情報などを有するInformation(INF)を備える。ICカード20は、情報フィールドに格納されているデータに応じて種々の処理を実行する。
エピローグフィールドは、例えば、CRCなどの通信エラーをICカード20に検知させる為の通信エラー検査データを備える。ICカード20は、エピローグフィールド内のデータに基づいて、通信エラーを検知することができる。
端末装置10は、生成したコマンド(第1のコマンド)をICカード20に送信する(ステップS11)。ICカード20は、受信したコマンドのCRCを用いて、通信エラーを検知する。ICカード20は、エラーを検知しなかった場合、受信した第1のコマンドに応じて処理を実行する。ICカード20は、処理結果に応じてレスポンス(第1のレスポンス)を生成し、端末装置10に送信する。また、ICカード20は、CRC異常、即ち通信エラーを検知した場合、無応答となる(ステップS12)。
端末装置10は、コマンドを送信してからの時間をカウントする。端末装置10は、カウントした時間が予め設定された規定時間に達した場合、ICカード20に否定応答(NAK:negative acknowredgement)を送信する(ステップS14)。なお、NAKは、PCB、CID、及びCRCを有する。
ICカード20は、NAKを受信した場合、ACKをレスポンスとして端末装置10に送信する(ステップS15)。
端末装置10は、ACKを受信した場合、第1のコマンドの送信時にエラーが発生したと判断する。送信エラーが発生したと判断した場合、端末装置10は、コマンドをICカード20に再送する。なお、端末装置10は、第1のコマンドの各バイトごとにパリティを付加して第2のコマンドを生成する(ステップS16)。端末装置10は、生成した第2のコマンドを第1のコマンドの再送データとしてICカード20に送信する(ステップS17)。
ICカード20は、第2のコマンドを受信した場合、受信したコマンドの各バイト毎にパリティチェックを行う(ステップS18)。即ち、ICカード20は、コマンドの各バイトのデータと、このバイトに付加されているパリティビットとに基づいて、パリティエラーが発生したか否か判断する。
パリティエラーが発生したと判断した場合、ICカード20は、パリティエラーが発生したバイトを特定する。ICカード20は、第2のコマンド中におけるパリティエラーが発生したバイトの位置を示す情報(エラー情報)Xを含むレスポンス(第2のレスポンス)を生成する(ステップS19)。ICカード20は、生成した第2のレスポンスを端末装置10に送信する(ステップS20)。
端末装置10は、エラー情報Xを含むレスポンスを受信した場合、エラー情報Xに基づいて第2のコマンド中におけるパリティエラーが発生したバイトの位置を認識する。さらに、端末装置10は、認識した位置のバイトYを含むコマンド(第3のコマンド)を生成する(ステップS21)。端末装置10は、第3のコマンドをICカード20に送信する(ステップS22)。
ICカード20は、第3のコマンドを受信した場合、受信したコマンドからエラー箇所のバイトのデータYを取得する。ICカード20は、ステップS17で受信した第2のコマンドの位置のエラー箇所のデータをデータYに置き換える。ICカード20は、データを置き換えた第2のコマンドに基づいて処理を実行する(ステップS23)。ICカード20は、この処理結果に応じてレスポンス(第3のレスポンス)を生成し、生成した第3のレスポンスを端末装置10に送信する。
図4は、端末装置10の処理の例を示す。
端末装置10は、ICカード20に実行させる処理に応じた第1のコマンドを生成し、生成した第1のコマンドをICカード20に送信する(ステップS31)。
端末装置10は、コマンドを送信してからの時間をカウントする(ステップS32)。端末装置10は、ICカード20からのレスポンス(第1のコマンドに対する第1のレスポンス)の受信を待つ(ステップS33)。端末装置10は、第1のレスポンスを受信した場合、ICカード20において正常に処理が行われたと判断し、以降の通常の処理を行う(ステップS34)。
また、ステップS33で第1のレスポンスを受信していない場合、端末装置10は、時間をカウントし始めてから予め設定された規定時間が経過したか否か判断する(ステップS35)。規定時間が経過したていない場合、端末装置10は、ステップS33の処理に移行し、時間のカウントを継続する。
ステップS35で、規定時間が経過したと判断した場合、端末装置10は、NAKをICカード20に送信する(ステップS36)。さらに、端末装置10は、NAKに対するACKの受信を待つ(ステップS37)。ACKを受信した場合、端末装置10は、第1のコマンドをICカード20に既に再送しているか否か判断する(ステップS38)。即ち、ICカード20からの応答が無い状態(無応答)が2回連続で発生したか否か判断する。ステップS38で1回目の無応答であると判断した場合、端末装置10は、ステップS31の処理に移行する。
ステップS38で2回目の無応答であると判断した場合、端末装置10は、第1のコマンドの各バイトごとにパリティを付加して第2のコマンドを生成する(ステップS39)。端末装置10は、生成した第2のコマンドをICカード20に送信する(ステップS40)。
端末装置10は、パリティエラーが発生した位置を示すエラー情報Xを含むレスポンス(第2のレスポンス)を受信する(ステップS41)。端末装置10は、受信した第2のレスポンスのエラー情報に基づいて第2のコマンド中におけるパリティエラーが発生したバイトの位置を特定する(ステップS42)。
さらに、端末装置10は、第2のコマンドの特定した位置のバイトYを含むコマンド(第3のコマンド)を生成する。なお、端末装置10は、第3のコマンドの各バイト毎にパリティビットを付加する。端末装置10は、生成した第3のコマンドをICカード20に送信する(ステップ(ステップSS43)。さらに、端末装置10は、送信した第3のコマンドに対する第3のレスポンスをICカード20から受信し(ステップS44)、1つのコマンドにおける処理を終了する。
図5は、ICカード20の処理の例を示す。なお、ICカード20は、フラグを記憶する為の記憶領域を不揮発性メモリ27内に備える。
ICカード20は、端末装置10からのコマンド(第1のコマンド)の受信を待つ(ステップS51)。第1のコマンドを受信した場合、ICカード20は、上記のフラグがONであるか否かを判断する(ステップS52)。フラグがONではない(OFFである)場合、ICカード20は、受信したコマンドにパリティビットが付加されているか否か判断する(ステップS53)。
パリティビットが付加されていないと判断した場合、ICカード20は、受信した第1のコマンドのCRCを用いて、CRCを実行する(ステップS54)。ICカード20は、CRCの結果に応じて通信エラーが発声したか否か判断する(ステップS55)。ICカード20は、エラーを検知しなかった場合、受信した第1のコマンドに応じて処理を実行する(ステップS56)。ICカード20は、第1のコマンドの処理結果に応じてレスポンス(第1のレスポンス)を生成し、端末装置10に送信する(ステップS57)。
また、ICカード20は、ステップS55でCRC異常、即ち通信エラーを検知した場合、無応答となる(ステップS58)。さらに、ICカード20は、ステップS51に移行する。これにより、ICカード20は、端末装置10から送信される第2のコマンドの受信を待つ状態になる。
また、ステップS51で第2のコマンドを受信し、ステップS53でパリティビットがコマンドに付加されていると判断した場合、ICカード20は、受信した第2のコマンドの各バイト毎にパリティチェックを行う(ステップS59)。即ち、ICカード20は、コマンドの各バイトのデータと、このバイトに付加されているパリティビットとに基づいて、パリティエラーが発生したか否か判断する(ステップS60)。
パリティエラーが発生しなかった場合、ICカード20は、コマンドに応じて処理を実行する(ステップS56)。ICカード20は、コマンドの処理結果に応じてレスポンスを生成し、端末装置10に送信する(ステップS57)。
また、ステップS60でパリティエラーが発生したと判断した場合、ICカード20は、パリティエラーが発生したバイトを特定する。ICカード20は、第2のコマンド中におけるパリティエラーが発生したバイトの位置を示す情報(エラー情報)Xを含むレスポンス(第2のレスポンス)を生成する。ICカード20は、生成した第2のレスポンスを端末装置10に送信する(ステップS61)。さらに、ICカード20は、上記のフラグをONに切り替える。さらに、ICカード20は、ステップS51に移行する。これにより、ICカード20は、端末装置10から送信される第3のコマンドの受信を待つ状態になる。
ステップS51で第3のコマンドを受信し、ステップS52でフラグがONであると判断した場合、ICカード20は、受信した第3のコマンドのパリティチェックを行う(ステップS62)。ICカード20は、パリティエラーが発生したか否か判断する(ステップS63)。
パリティエラーが発生していないと判断した場合、ICカード20は、受信した第3のコマンドからステップS60でエラーが発生したと判断したバイトに対応するデータYを取得する。ICカード20は、第2のコマンドの位置のエラー箇所のデータをデータYに置き換えて修正する(ステップS64)。ICカード20は、修正された第2のコマンドに基づいて処理を実行する(ステップS56)。ICカード20は、この処理結果に応じてレスポンス(第3のレスポンス)を生成し、生成した第3のレスポンスを端末装置10に送信する(ステップS57)。
また、ステップS63でパリティエラーが発生したと判断した場合、ICカード20は、第3のコマンドの再送を要求するための再送要求を端末装置10に送信する(ステップS65)。
上記したように、本実施形態に係る端末装置10は、ICカード20へのコマンド送信時にエラーが発生した場合、バイト毎にパリティビットが付加されたコマンドを生成し、ICカード20に送信する。ICカード20は、パリティビットが付加されたコマンドを受信した場合、パリティチェックを行ない、コマンド上におけるパリティエラーが発生した位置を特定する。ICカード20は、特定した位置を示すエラー情報を端末装置10に送信する。端末装置10は、コマンド上のエラー情報が示す位置のデータ(修正用データ)をICカード20に送信する。ICカード20は、修正用データを用いてコマンドを修正し、修正したコマンドに基づいて処理を実行する。
これにより、ICカード20は、ブロック形式データ上の通信エラーが発生したバイトを特定する事ができる。これにより、端末装置10は、通信エラーが発生した位置のデータを修正用データとしてICカード20に送信することができる。これにより、ICカード20は、コマンドを修正し、コマンド処理を進める事ができる。この為、全体の処理時間が低下することを防ぐことができる。この結果、より効率的に通信することができるICカード処理装置、及びICカードを提供することができる。
なお、上記の実施形態では、端末装置10とICカード20とが非接触通信を行なう例について説明したが、この構成に限定されない。端末装置10とICカード20とが接触通信を行なう場合であっても、上記の構成を適用することができる。
また、上記の実施形態では、端末装置10は、ICカード20に送信するデータの全体の長さが、予め設定された長さ以上である場合、コマンドにパリティビットを付加する構成であってもよい。この場合、端末装置10は、コマンドを送信する際にコマンドの長さを確認し、コマンドの長さが予め設定された規定値以上であるか否か判断する。端末装置10は、コマンドの長さが予め設定された規定値以上であると判断した場合、コマンドのバイト毎にパリティビットを付加する。端末装置10は、パリティビットを付加したコマンドをICカード20に送信する。これにより、コマンドの再送信に時間を要するケースにおいて、効率的にコマンドデータの一部のデータをICカード20に再送することができる。
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
1…ICカード処理システム、10…端末装置、11…CPU、12…RAM、13…ROM、14…不揮発性メモリ、15…操作部、16…表示部、17…カードリーダライタ、18…スロット、19…バス、20…ICカード、21…ICモジュール、22…ICチップ、23…通信インターフェース、24…CPU、25…ROM、26…RAM、27…不揮発性メモリ、28…電源部、29…コプロセッサ。

Claims (5)

  1. ICカードにコマンドを送信し、前記ICカードに種々の処理を実行させるICカード処理装置であって、
    第1のコマンドを生成し、生成した前記第1のコマンドを構成する単位毎にパリティビットを付加する第1のコマンド生成部と、
    前記第1のコマンドを前記ICカードに送信する第1の送信部と、
    前記第1のコマンドに対して前記ICカードにより実行されたパリティチェックにおいてエラーが検出された前記第1のコマンド上の位置を示すエラー情報を受信する第1の受信部と、
    前記第1のコマンド上の前記エラー情報が示す位置のデータを含む第2のコマンドを生成する第2のコマンド生成部と、
    前記第2のコマンドを前記ICカードに送信する第2の送信部と、
    前記第1のコマンド及び前記第2のコマンドに基づいて前記ICカードにより実行された処理の結果であるレスポンスを受信する第2の受信部と、
    を具備するICカード処理装置。
  2. 前記第1のコマンド生成部は、生成した前記第1のコマンドの長さが予め設定された値以上である場合、前記第1のコマンドにパリティビットを付加する、請求項1に記載のICカード処理装置。
  3. 前記第1のコマンド生成部は、コマンドの通信エラーが連続して発生した場合、前記第1のコマンドにパリティビットを付加する、請求項1に記載のICカード処理装置。
  4. 外部機器から入力されるコマンドに応じて処理を行うICカードであって、
    前記外部機器から送信された第1のコマンドを受信する第1の受信部と、
    前記第1のコマンドにパリティビットが付加されている場合、パリティチェックを行ない、前記第1のコマンド上のパリティエラーが検出された位置を示すエラー情報を生成する検査部と、
    前記エラー情報を前記外部機器に送信する第1の送信部と、
    前記第1のコマンド上の前記エラー情報が示す位置のデータを含む第2のコマンドを受信する第2の受信部と、
    前記受信したデータを用いて前記第1のコマンドを修正するコマンド修正部と、
    前記コマンド修正部により修正された前記第1のコマンドに基づいて処理を実行するコマンド処理部と、
    前記コマンド処理部による処理の結果に基づいてレスポンスを生成し、生成した前記レスポンスを前記外部機器に送信する第2の送信部と、
    を具備するICカード。
  5. 前記各部を備えるICモジュールと、
    前記ICモジュールが配設される本体と、
    を具備する請求項4に記載のICカード。
JP2012136141A 2012-06-15 2012-06-15 Icカード処理装置、及びicカード Pending JP2014002471A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012136141A JP2014002471A (ja) 2012-06-15 2012-06-15 Icカード処理装置、及びicカード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012136141A JP2014002471A (ja) 2012-06-15 2012-06-15 Icカード処理装置、及びicカード

Publications (1)

Publication Number Publication Date
JP2014002471A true JP2014002471A (ja) 2014-01-09

Family

ID=50035613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012136141A Pending JP2014002471A (ja) 2012-06-15 2012-06-15 Icカード処理装置、及びicカード

Country Status (1)

Country Link
JP (1) JP2014002471A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015104766A1 (ja) 2014-01-09 2015-07-16 日本精工株式会社 トルクセンサ、及び電動パワーステアリング装置
JP2016045787A (ja) * 2014-08-25 2016-04-04 株式会社東芝 Icカード、携帯可能電子装置、及び、icカード処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255990A (ja) * 1988-04-06 1989-10-12 Hitachi Maxell Ltd Icカードデータ伝送方式
JP2011150597A (ja) * 2010-01-22 2011-08-04 Toshiba Corp 通信装置、通信媒体、及び通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255990A (ja) * 1988-04-06 1989-10-12 Hitachi Maxell Ltd Icカードデータ伝送方式
JP2011150597A (ja) * 2010-01-22 2011-08-04 Toshiba Corp 通信装置、通信媒体、及び通信方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015104766A1 (ja) 2014-01-09 2015-07-16 日本精工株式会社 トルクセンサ、及び電動パワーステアリング装置
JP2016045787A (ja) * 2014-08-25 2016-04-04 株式会社東芝 Icカード、携帯可能電子装置、及び、icカード処理装置
US9667387B2 (en) 2014-08-25 2017-05-30 Kabushiki Kaisha Toshiba IC card, portable electronic device, and IC card processing device
US10296415B2 (en) 2014-08-25 2019-05-21 Kabushiki Kaisha Toshiba IC card, portable electronic device, and IC card processing device

Similar Documents

Publication Publication Date Title
JP4896837B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2014182776A (ja) Icカード、携帯可能電子装置およびicカード処理装置
WO2013042682A1 (ja) Icカード、携帯可能電子装置、icカードの制御方法
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
JP2014002471A (ja) Icカード処理装置、及びicカード
EP2500845A2 (en) Portable electronic apparatus
JP2015060409A (ja) Icカード、携帯可能電子装置、及び、icカード処理装置
JP2014063334A (ja) Icカード、携帯可能電子装置、及びカードリーダライタ
EP3379424B1 (en) Ic card, portable electronic device, program, processing apparatus, and processing system
JP5490044B2 (ja) 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP6009854B2 (ja) Icカード、携帯可能電子装置、及びicカードの制御プログラム
JP5693824B2 (ja) Icカードの処理装置、icカード、及びicカードの処理システム
JP6092342B2 (ja) 非接触式携帯可能電子装置、及び非接触式携帯可能電子装置の発行方法
JP5957577B2 (ja) Icカード、携帯可能電子装置、icカードの制御方法
JP2013125400A (ja) Icカード、携帯可能電子装置、及びicカードの制御プログラム
JP6325394B2 (ja) Icカード、携帯可能電子装置、及び、icカード処理装置
JP5971687B2 (ja) Icカード、携帯可能電子装置及びicカードのコマンド処理方法
JP2012198682A (ja) 携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システム
JP5875772B2 (ja) 携帯可能電子装置、携帯可能電子装置の制御方法、及び携帯可能電子装置の処理システム
JP5726659B2 (ja) Icカード、icカードの処理装置、及びicカードの処理システム
JP5657440B2 (ja) 携帯可能電子装置、及び携帯可能電子装置の処理システム
JP5726700B2 (ja) Icカード、及びicカードの処理方法
JP2014063263A (ja) Icカード、携帯可能電子装置、及びicカードのリーダライタ
JP2012060615A (ja) 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP2012243133A (ja) 携帯可能電子装置、携帯可能電子装置の制御方法

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160614