JP2004078685A - 携帯可能電子装置 - Google Patents
携帯可能電子装置 Download PDFInfo
- Publication number
- JP2004078685A JP2004078685A JP2002239575A JP2002239575A JP2004078685A JP 2004078685 A JP2004078685 A JP 2004078685A JP 2002239575 A JP2002239575 A JP 2002239575A JP 2002239575 A JP2002239575 A JP 2002239575A JP 2004078685 A JP2004078685 A JP 2004078685A
- Authority
- JP
- Japan
- Prior art keywords
- error
- block
- identification information
- detected
- external 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】当該携帯可能電子装置の発行時などにブロックエラー処理を選択することが可能で、柔軟に各システムに適合することが可能となる携帯可能電子装置を提供する。
【解決手段】書込み、書換えが可能な不揮発性メモリおよびCPUなどの制御素子を有し、外部からのデータ入出力を行なう手段を備えたICチップを内蔵したICカードにおいて、初期応答データ(ATR)の送信後に最初に受信した第1の受信ブロックにてエラーが検出された場合、あらかじめデータメモリに格納された識別情報を参照することで後続のエラー処理を決定する。
【選択図】 図9
【解決手段】書込み、書換えが可能な不揮発性メモリおよびCPUなどの制御素子を有し、外部からのデータ入出力を行なう手段を備えたICチップを内蔵したICカードにおいて、初期応答データ(ATR)の送信後に最初に受信した第1の受信ブロックにてエラーが検出された場合、あらかじめデータメモリに格納された識別情報を参照することで後続のエラー処理を決定する。
【選択図】 図9
Description
【0001】
【発明の属する技術分野】
本発明は、たとえば、書込み、書換えが可能な不揮発性メモリおよびCPUなどの制御素子を有し、外部からのデータ入出力を行なう手段を備えたICチップを内蔵した、いわゆるICカードと称される携帯可能電子装置に関する。
【0002】
【従来の技術】
最近、電子決済(EC)などの分野で注目されているICカードは、そのほとんどがISO/IEC7816−3にて規定される通信プロトコルに準拠しており、この通信プロトコルにより外部装置とデータの入出力を行なう。規定されている通信プロトコルには、特に欧州等で普及しているT=0(キャラクタ伝送方式)と、日本国内で普及しているT=1(ブロック伝送方式)がある。
【0003】
T=1では、起動時および再活性化時に初期応答データであるATR(Answer To Reset)を出力後、外部装置から送信される第1ブロックの第1キャラクタであるノードキャラクタにより、ICカード自信の識別情報である受信側ノードアドレス(Destination Address)を決定し、以後の通信を行なうように規定されている。
【0004】
【発明が解決しようとする課題】
しかし、ノードキャラクタを含む第1ブロックが不正(エラー)だった場合の後続エラー処理について規定がなされておらず、そのような場合のエラー処理は各システムに委ねられることとなる。すなわち、あるシステムにおいては第1ブロックが不正だった場合は全てを無効とし、当該ブロックに対するレスポンスを出力しない場合があったり、違うシステムでは不正電文を受信した旨を通知するレスポンスを出力する場合があるので、あるシステムのエラー処理に適合して作成したICカードは他のシステムにて不適合となる可能性がある。
【0005】
そこで、本発明は、当該携帯可能電子装置の発行時などにブロックエラー処理を選択することが可能で、柔軟に各システムに適合することが可能となる携帯可能電子装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
本発明の携帯可能電子装置は、外部装置との間でデータの授受を行なうものであって、外部装置からの制御信号により起動され、起動後には起動開始を意味する初期応答データを外部装置に送信し、それ以降は複数のキャラクタを1つの単位としたブロック伝送方式にて外部装置との間で送受信を行なう携帯可能電子装置において、第1の受信ブロックにてエラーが検出された場合の後続エラー処理を指定する識別情報をあらかじめ記憶している識別情報記憶手段と、初期応答データを外部装置に送信した後に最初に受信した第1の受信ブロックにエラーが検出されたか否かをチェックするエラーチェック手段と、このエラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、前記識別情報記憶手段に記憶されている識別情報を参照することにより後続のエラー処理を決定するエラー処理決定手段とを具備している。
【0007】
また、本発明の携帯可能電子装置は、外部装置との間でデータの授受を行なうものであって、外部装置からの制御信号により起動され、起動後には起動開始を意味する初期応答データを外部装置に送信し、それ以降は複数のキャラクタを1つの単位としたブロック伝送方式にて外部装置との間で送受信を行なう携帯可能電子装置において、第1の受信ブロックにてエラーが検出された場合の後続エラー処理を指定する識別情報をあらかじめ記憶している識別情報記憶手段と、初期応答データを外部装置に送信した後に最初に受信した第1の受信ブロックにエラーが検出されたか否かをチェックするエラーチェック手段と、このエラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、当該エラーの種類により、前記識別情報記憶手段に記憶されている識別情報を参照することにより後続のエラー処理を決定する第1のエラー処理決定手段と、前記エラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、当該エラーの種類により、あらかじめ定められた固定的なエラー処理に決定する第2のエラー処理決定手段とを具備している。
【0008】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本発明に係る携帯可能電子装置としてのICカードを取扱うICカードシステムの構成例を示すものである。このICカードシステムは、ICカード11をカードリーダ・ライタ12を介して外部装置としての端末装置13と接続可能にするとともに、端末装置13にキーボード14、CRTディスプレイ装置15、および、プリンタ16を接続して構成される。
【0009】
なお、図1のシステムを、たとえば、クレジットカードなどの決済システムに適用した場合はPOS端末装置や現金自動取引装置(ATM)となり、また、ポイントシステムに適用した場合はポイントの加算・減算を行なうポイント端末装置となる。
【0010】
図2は、ICカード11の構成例を示すものであり、制御部としての制御素子(たとえば、CPU)101、記憶内容が消去可能な不揮発性のデータメモリ102、ワーキングメモリ103、プログラムメモリ104、および、カードリーダ・ライタ12との通信を行なうための通信部105によって構成されている。これらのうち、破線内の部分(制御素子101、データメモリ102、ワーキングメモリ103、プログラムメモリ104)は、1つのICチップ(あるいは、複数のICチップ)100で構成されており、さらに、ICチップ100と通信部105とが一体的にICモジュール化されて、ICカード本体内に埋設されている。
【0011】
データメモリ102は、各種データの記憶に使用され、たとえば、EEPROMなどの不揮発性メモリで構成されている。また、データメモリ102には、ブロックエラー処理を指定する識別情報(後で詳細を説明する)が記憶される識別情報記憶手段としてのエリア102aが設けられている。
【0012】
なお、上記識別情報は、たとえば、書換コマンドなどを用いてカード外部から書換えが可能となっている。その場合、任意に可能とせず、たとえば、周知の暗証番号の照合など、セキュリティ技術を用いることにより、書換え実行者を限定するようにしてもよい。
【0013】
ワーキングメモリ103は、制御素子101が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、RAMなどで構成される。プログラムメモリ104は、たとえば、マスクROMで構成されており、制御素子101の処理プログラムなどを記憶するものである。
【0014】
さて、本発明に適用されるICカード11は、ISO/IEC7816−3にて規定されている「調歩式半二重ブロック伝送プロトコル」を採用することを想定しており、以下、当該プロトコルの説明を行なう。
【0015】
図3は、当該プロトコルで送受信される伝送キャラクタの構成を示している。当該伝送キャラクタは、11個の連続したビットで構成され、先頭を開始ビット(START)として、後続する8ビット(ba〜bh)で送受信されるべきデータを表現し、第10番目のビットbiはパリティ検査ビットとして使用され、最後尾を終了ビット(ST0P)としている。なお、一般的にパリティ検査ビットbiは、データビットba〜bhの偶数パリティ(たとえば、データビットba〜bhの設定値が“10010001”の場合、“1”とする)として用いられる。
【0016】
図4は、当該プロトコルで送受信される伝送ブロックを示している。当該伝送ブロックは、図3のキャラクタにて構成されており、図示するように、プロローグ部(NAD、PCB、LEN)、インフォメーション部(INF)、および、エピローグ部(EDC)によって構成されている。以下に各部の簡単な説明を記す。
【0017】
[プロローグ部]
プロローグ部は必須とし、図示のように3バイトにて構成される。
1)NAD:ノードアドレス(後続の図5にて詳細説明)
ブロックの送信側および受信側のアドレスを表わす。
2)PCB:プロトコル制御バイト(後続の図6〜図8にて詳細説明)
データ伝送のために必要な情報を示す。当バイトにてIブロック、SブロックおよびRブロックの識別を行なう。
3)LEN:長さ
後続するインフォメーション部のバイト数を示す。
【0018】
[インフォメーション部]
インフォメーション部の存在は任意とする。存在する場合は、アプリケーションにて利用を行なう(たとえば、ICカードのデータメモリへ書込みを行なう)Iブロックにての伝送データか、あるいは、Sブロックにての制御情報、状態情報のいずれかを伝送する。なお、Iブロックにおけるインフォメーション部のデフォルト値は32バイトである。
【0019】
[エピローグ部]
エピローグ部は必須とし、伝送ブロックの誤り検出に使用される。一般的には水平冗長符号(LRC)が適用され、プロローグ部からインフォメーション部の最終バイトまでの排他的論理和1バイトが付加される。
【0020】
ここに、Iブロック(Information BLOCK)とは、データ伝送を行なう情報ブ ロックであり、Rブロック(Receive ready BLOCK)とは、受信した電文が異常であった場合、その旨を送信側に通知する、また、前回受信した電文の再送などを要求する受信準備完了ブロックであり、Sブロック(Super visor BLOCK)とは 、処理時間の延長や相手側送信データ長の拡張などを要求する管理ブロックである。
【0021】
図5は、ノードアドレス(NAD)の詳細を示している。ノードアドレスは、伝送ブロックの送信側および受信側のアドレスを示し、複数の論理接続が同時に存在(たとえば、入退出管理システム)する場合に、それらを区別するために使用される。
【0022】
ビットb3〜b1は送信側のアドレス(SAD)を示し、ビットb7〜b5は受信側のアドレス(DAD)を示す。なお、ビットb8およびb4は、Vpp端子(外部からICカード内のデータメモリの書込み制御を行なうために使用)の状態制御に使用されるが、一般的に普及しているICカードにては使用されていない。
【0023】
接続装置(たとえば、端末装置13)がICカード11へ送信する最初のブロックのSADおよびDADが、通信を行なう接続装置とICカード11それぞれのノードアドレスの組合わせを指定する。この論理接続以外のブロックにての通信は異なるSADとDADの組合わせにて実現される。なお、このアドレス方法を使用しない場合は、SADおよびDADの値はともに「0」を設定する。「0」以外でSADとDADが同一の値を有するノードアドレスの組合わせは、ISO/IEC7816−3では将来使用のために留保されている。
【0024】
図6は、IブロックのPCBフォーマットを示している。Iブロックは、PCBのビットb8が「0」であることにて識別される。シーケンスビットb7は、Iブロックを送出する度に「1」を加算し、モジュロ2で計数される。すなわち、「0」と「1」を交互に送出することとなる。なお、シーケンスビットb7は、接続装置とICカード11にてそれぞれ独立して計数される。
【0025】
また、1回のブロックにて伝送データの全てを送出できない場合、プロトコルのブロック連鎖機能があり、継続ブロック有無ビットb6に「1」を設定することで実現される。下記にIブロックが取り得る4種類の値を示す。
1)00h:シーケンスビット=0、継続ブロック無し
2)40h:シーケンスビット=1、継続ブロック無し
3)20h:シーケンスビット=0、継続ブロック有り
4)60h:シーケンスビット=1、継続ブロック有り
図7は、SブロックのPCBフォーマットを示している。Sブロックは、PCBのビットb8,b7がともに「1」であることにて識別される。レスポンスビットb6は、送信側がSブロックの通知にて、その機能(たとえば、再同期要求)を要求する場合には「0」を設定したSブロックを送信し、受信側がその機能を許容する場合には、レスポンスビットb6に「1」を設定したSブロックの返信を行なう。Sブロックでは、受信側および送信側双方のシーケンスビットを初期化(0に戻す)する機能である再同期要求、送信側からのブロックのインフォメーション部を拡張する機能であるIFS(Information field size)変更、ブロック連鎖機能の中断を行なう機能であるアボート要求、ICカードがIブロックを受信後に、その処理がプロトコルで規定される処理時間を超過する場合に時間延長を行なう機能である監視時間延長要求が存在する。
【0026】
下記にSブロックが取り得る8種類の値を示す。なお、1)は接続装置からのみ出力され、ICカード11から出力(要求)されることはない。
1)C0h:再同期リクエスト
2)E0h:再同期レスポンス
3)C1h:IFS変更リクエスト
4)E1h:IFS変更レスポンス
5)C2h:アボートリクエスト
6)E2h:アボートレスポンス
7)C3h:監視時間延長リクエスト
8)E3h:監視時間延長レスポンス
図8は、RブロックのPCBフォーマットを示している。Rブロックは、PCBのビットb8,b7のそれぞれの値が「1,0」であることにて識別される。シーケンスビットb5は、次に受信を期待する送信側のIブロックのシーケンスビットb7と同一の値を設定する。たとえば、受信したIブロックのシーケンスビットb7が「1」と設定されていて、当該ブロックが無効ブロック(たとえば、パリティエラー)と判断した場合には、シーケンスビットb5を「1」に設定したRブロックを送信してIブロックの再送を要求する。この際、EDCまたはパリティエラーの場合は、エラー情報表示ビットb6,b4〜b1を「0」、「0001」に、その他(たとえば、許容されていないフォーマットのPCBを受信した場合など)のエラーの場合は、エラー情報表示ビットb6,b4〜b1を「0」、「0010」に設定する。
【0027】
また、Rブロックにては受信電文がブロック連鎖機能を使用している場合の肯定応答にも使用される。たとえば、受信したIブロックのシーケンスビットb7が「1」と設定され、かつ、継続ブロック有無ビットb6が「1」と設定されている場合、送信側に次のブロックの送信を促す意味のシーケンスビットb5を「0」に設定したRブロックを送信する。この際、正常ブロック通知のため、エラー表示ビットb6,b4〜b1を全て「0」に設定する。
【0028】
下記にRブロックが取り得る6種類の値を示す。
1)80h:シーケンスビット=0を要求、正常(誤り無し)
2)90h:シーケンスビット=1を要求、正常(誤り無し)
3)81h:シーケンスビット=0を要求、EDCまたはパリティエラー
4)91h:シーケンスビット=1を要求、EDCまたはパリティエラー
5)82h:シーケンスビット=0を要求、その他エラー
6)92h:シーケンスビット=1を要求、その他エラー
次に、図9に示すフローチャートを参照して本発明に係る処理動作について説明する。まず、ステップS1にて、端末装置13からのリセット信号(制御信号)の解除が行なわれることにより、当該ICカード11は起動され、ステップS2に進む。ステップS2では、初期応答データであるアンサー・ツー・リセット(ATR)を端末装置13へ送信し、ステップS3に進む。ステップS2では、端末装置13からの伝送ブロック受信待機状態となる。
【0029】
ここで、伝送ブロック受信の開始を検出すると、ステップS4に進み、端末装置13からの伝送ブロックの受信を開始し、ステップS5に進む。ステップS5では、各キャラクタのパリティチェックを行ない、正当であればステップS6に進む。ステップS6では、受信ブロックのEDCチェックを行ない、正当であればステップS7に進む。ステップS7では、PCBの正当性チェック(図6、図7、図8のコーディングに適合しているか否か)を行ない、正当であればステップS8に進み、次の処理へ移行する。
【0030】
ここに、上記ステップS5からS7の処理は、本発明における、初期応答データを外部装置に送信した後に最初に受信した第1の受信ブロックにエラーが検出されたか否かをチェックするエラーチェック手段に対応している。
【0031】
ステップS5、S6、S7の各チェックにおいて、不正であると判断された場合(つまり、エラーが検出された場合)、ステップS9に進む。ステップS9では、データメモリ102のエリア102aに格納された識別情報を参照し、ステップS10にて当該識別情報よりRブロックを出力するか否かを決定する。
【0032】
すなわち、エリア102aに格納された識別情報は、たとえば、図10に示すように、3つのフラグF1,F2,F3から構成されている。フラグF1は、ステップS5のパリティチェックに対応していて、エラー検出時にRブロックを出力する処理の場合は“1”にセットされ、Rブロックを出力しない処理の場合は“0”にセットされる。
【0033】
そして、当該パリティチェックでエラーが検出された場合、当該フラグF1を参照し、“1”であればステップS11に進み、図8のコーティングにしたがってRブロックを生成して端末装置13へ送信し、再度、ステップS3の伝送ブロック受信待機状態に移行する。一方、フラグF1が“0”であれば、受信した伝送ブロックに対応するレスポンスを送信することはせず、再度、ステップS3の伝送ブロック受信待機状態に移行する。
【0034】
フラグF2は、ステップS6のEDCチェックに対応していて、エラー検出時にRブロックを出力する処理の場合は“1”にセットされ、Rブロックを出力しない処理の場合は“0”にセットされる。
【0035】
そして、当該EDCチェックでエラーが検出された場合、当該フラグF2を参照し、“1”であればステップS11に進み、図8のコーティングにしたがってRブロックを生成して端末装置13へ送信し、再度、ステップS3の伝送ブロック受信待機状態に移行する。一方、フラグF2が“0”であれば、受信した伝送ブロックに対応するレスポンスを送信することはせず、再度、ステップS3の伝送ブロック受信待機状態に移行する。
【0036】
フラグF3は、ステップS7のPCBチェックに対応していて、エラー検出時にRブロックを出力する処理の場合は“1”にセットされ、Rブロックを出力しない処理の場合は“0”にセットされる。
【0037】
そして、当該PCBチェックでエラーが検出された場合、当該フラグF3を参照し、“1”であればステップS11に進み、図8のコーティングにしたがってRブロックを生成して端末装置13へ送信し、再度、ステップS3の伝送ブロック受信待機状態に移行する。一方、フラグF3が“0”であれば、受信した伝送ブロックに対応するレスポンスを送信することはせず、再度、ステップS3の伝送ブロック受信待機状態に移行する。
【0038】
ここに、上記ステップS9,S10の処理は、本発明における、最初に受信した第1の受信ブロックにエラーが検出された場合、識別情報記憶手段に記憶されている識別情報を参照することにより後続のエラー処理を決定するエラー処理決定手段に対応している。
【0039】
このように、初期応答データ(ATR)の送信後に最初に受信した第1の受信ブロックにてエラーが検出された場合、あらかじめデータメモリ102に格納された識別情報を参照することで後続のエラー処理を決定することにより、データメモリ102などにファイル構築や個別情報の書込みを行なうカード発行時などにブロックエラー処理を選択することが可能で、柔軟に各システムに適合することが可能となる。
【0040】
なお、前記実施の形態では、ステップS5、S6、S7の各チェックにおいてエラーが検出された場合に、ステップS9,S10にて識別情報を参照してRブロックを出力するか否かを決定する場合について説明したが、必ずしもそのようにする必要はなく、たとえば、検出したエラーの種類により後続のエラー処理を決定するようにしてもよい。以下、その具体例について説明する。
【0041】
たとえば、図11に示すように、ステップS7のPCBチェックにおいてエラーが検出された場合、ステップS11に進み、Rブロックを生成して端末装置13へ送信し、再度、ステップS3の伝送ブロック受信待機状態に移行する。すなわち、PCBチェックの結果、エラーが検出された場合、識別情報を参照することなく、常に、あらかじめ定められた固定的なエラー処理(Rブロックの出力)を行なうものである。なお、ステップS5、S6の各チェックにおいてエラーが検出された場合は、前記実施の形態と同様な処理を行なう。
【0042】
また、たとえば、図12に示すように、ステップS5のパリティチェックにおいてエラーが検出された場合、受信した伝送ブロックに対応するレスポンスを送信することはせず、再度、ステップS3の伝送ブロック受信待機状態に移行する。すなわち、パリティチェックの結果、エラーが検出された場合、識別情報を参照することなく、常に、あらかじめ定められた固定的なエラー処理(何も出力しない)を行なうものである。なお、ステップS6、S7の各チェックにおいてエラーが検出された場合は、前記実施の形態と同様な処理を行なう。
【0043】
【発明の効果】
以上詳述したように本発明によれば、当該携帯可能電子装置の発行時などにブロックエラー処理を選択することが可能で、柔軟に各システムに適合することが可能となる携帯可能電子装置を提供できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るICカードを取扱うICカードシステムの構成例を示すブロック図。
【図2】ICカードの構成例を示すブロック図。
【図3】伝送プロトコルで送受信される伝送キャラクタの構成を示す図。
【図4】伝送プロトコルで送受信される伝送ブロックの構成を示す図。
【図5】ノードアドレス(NAD)の詳細を示す図。
【図6】IブロックのPCBフォーマットを示す図。
【図7】SブロックのPCBフォーマットを示す図。
【図8】RブロックのPCBフォーマットを示す図。
【図9】本発明に係る処理動作について説明するフローチャート。
【図10】識別情報の構成を概略的に示す図。
【図11】本発明に係る他の処理動作について説明するフローチャート。
【図12】本発明に係るさらに他の処理動作について説明するフローチャート。
【符号の説明】
11…ICカード(携帯可能電子装置)、12…カードリーダ・ライタ、13…端末装置(外部装置)、14…キーボード、15…CRTディスプレイ装置、16…プリンタ、100…ICチップ、101…制御素子(CPU)、102…データメモリ(記憶手段)、102a…エリア(識別情報記憶手段)、103…ワーキングメモリ、104…プログラムメモリ、105…通信部。
【発明の属する技術分野】
本発明は、たとえば、書込み、書換えが可能な不揮発性メモリおよびCPUなどの制御素子を有し、外部からのデータ入出力を行なう手段を備えたICチップを内蔵した、いわゆるICカードと称される携帯可能電子装置に関する。
【0002】
【従来の技術】
最近、電子決済(EC)などの分野で注目されているICカードは、そのほとんどがISO/IEC7816−3にて規定される通信プロトコルに準拠しており、この通信プロトコルにより外部装置とデータの入出力を行なう。規定されている通信プロトコルには、特に欧州等で普及しているT=0(キャラクタ伝送方式)と、日本国内で普及しているT=1(ブロック伝送方式)がある。
【0003】
T=1では、起動時および再活性化時に初期応答データであるATR(Answer To Reset)を出力後、外部装置から送信される第1ブロックの第1キャラクタであるノードキャラクタにより、ICカード自信の識別情報である受信側ノードアドレス(Destination Address)を決定し、以後の通信を行なうように規定されている。
【0004】
【発明が解決しようとする課題】
しかし、ノードキャラクタを含む第1ブロックが不正(エラー)だった場合の後続エラー処理について規定がなされておらず、そのような場合のエラー処理は各システムに委ねられることとなる。すなわち、あるシステムにおいては第1ブロックが不正だった場合は全てを無効とし、当該ブロックに対するレスポンスを出力しない場合があったり、違うシステムでは不正電文を受信した旨を通知するレスポンスを出力する場合があるので、あるシステムのエラー処理に適合して作成したICカードは他のシステムにて不適合となる可能性がある。
【0005】
そこで、本発明は、当該携帯可能電子装置の発行時などにブロックエラー処理を選択することが可能で、柔軟に各システムに適合することが可能となる携帯可能電子装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
本発明の携帯可能電子装置は、外部装置との間でデータの授受を行なうものであって、外部装置からの制御信号により起動され、起動後には起動開始を意味する初期応答データを外部装置に送信し、それ以降は複数のキャラクタを1つの単位としたブロック伝送方式にて外部装置との間で送受信を行なう携帯可能電子装置において、第1の受信ブロックにてエラーが検出された場合の後続エラー処理を指定する識別情報をあらかじめ記憶している識別情報記憶手段と、初期応答データを外部装置に送信した後に最初に受信した第1の受信ブロックにエラーが検出されたか否かをチェックするエラーチェック手段と、このエラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、前記識別情報記憶手段に記憶されている識別情報を参照することにより後続のエラー処理を決定するエラー処理決定手段とを具備している。
【0007】
また、本発明の携帯可能電子装置は、外部装置との間でデータの授受を行なうものであって、外部装置からの制御信号により起動され、起動後には起動開始を意味する初期応答データを外部装置に送信し、それ以降は複数のキャラクタを1つの単位としたブロック伝送方式にて外部装置との間で送受信を行なう携帯可能電子装置において、第1の受信ブロックにてエラーが検出された場合の後続エラー処理を指定する識別情報をあらかじめ記憶している識別情報記憶手段と、初期応答データを外部装置に送信した後に最初に受信した第1の受信ブロックにエラーが検出されたか否かをチェックするエラーチェック手段と、このエラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、当該エラーの種類により、前記識別情報記憶手段に記憶されている識別情報を参照することにより後続のエラー処理を決定する第1のエラー処理決定手段と、前記エラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、当該エラーの種類により、あらかじめ定められた固定的なエラー処理に決定する第2のエラー処理決定手段とを具備している。
【0008】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本発明に係る携帯可能電子装置としてのICカードを取扱うICカードシステムの構成例を示すものである。このICカードシステムは、ICカード11をカードリーダ・ライタ12を介して外部装置としての端末装置13と接続可能にするとともに、端末装置13にキーボード14、CRTディスプレイ装置15、および、プリンタ16を接続して構成される。
【0009】
なお、図1のシステムを、たとえば、クレジットカードなどの決済システムに適用した場合はPOS端末装置や現金自動取引装置(ATM)となり、また、ポイントシステムに適用した場合はポイントの加算・減算を行なうポイント端末装置となる。
【0010】
図2は、ICカード11の構成例を示すものであり、制御部としての制御素子(たとえば、CPU)101、記憶内容が消去可能な不揮発性のデータメモリ102、ワーキングメモリ103、プログラムメモリ104、および、カードリーダ・ライタ12との通信を行なうための通信部105によって構成されている。これらのうち、破線内の部分(制御素子101、データメモリ102、ワーキングメモリ103、プログラムメモリ104)は、1つのICチップ(あるいは、複数のICチップ)100で構成されており、さらに、ICチップ100と通信部105とが一体的にICモジュール化されて、ICカード本体内に埋設されている。
【0011】
データメモリ102は、各種データの記憶に使用され、たとえば、EEPROMなどの不揮発性メモリで構成されている。また、データメモリ102には、ブロックエラー処理を指定する識別情報(後で詳細を説明する)が記憶される識別情報記憶手段としてのエリア102aが設けられている。
【0012】
なお、上記識別情報は、たとえば、書換コマンドなどを用いてカード外部から書換えが可能となっている。その場合、任意に可能とせず、たとえば、周知の暗証番号の照合など、セキュリティ技術を用いることにより、書換え実行者を限定するようにしてもよい。
【0013】
ワーキングメモリ103は、制御素子101が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、RAMなどで構成される。プログラムメモリ104は、たとえば、マスクROMで構成されており、制御素子101の処理プログラムなどを記憶するものである。
【0014】
さて、本発明に適用されるICカード11は、ISO/IEC7816−3にて規定されている「調歩式半二重ブロック伝送プロトコル」を採用することを想定しており、以下、当該プロトコルの説明を行なう。
【0015】
図3は、当該プロトコルで送受信される伝送キャラクタの構成を示している。当該伝送キャラクタは、11個の連続したビットで構成され、先頭を開始ビット(START)として、後続する8ビット(ba〜bh)で送受信されるべきデータを表現し、第10番目のビットbiはパリティ検査ビットとして使用され、最後尾を終了ビット(ST0P)としている。なお、一般的にパリティ検査ビットbiは、データビットba〜bhの偶数パリティ(たとえば、データビットba〜bhの設定値が“10010001”の場合、“1”とする)として用いられる。
【0016】
図4は、当該プロトコルで送受信される伝送ブロックを示している。当該伝送ブロックは、図3のキャラクタにて構成されており、図示するように、プロローグ部(NAD、PCB、LEN)、インフォメーション部(INF)、および、エピローグ部(EDC)によって構成されている。以下に各部の簡単な説明を記す。
【0017】
[プロローグ部]
プロローグ部は必須とし、図示のように3バイトにて構成される。
1)NAD:ノードアドレス(後続の図5にて詳細説明)
ブロックの送信側および受信側のアドレスを表わす。
2)PCB:プロトコル制御バイト(後続の図6〜図8にて詳細説明)
データ伝送のために必要な情報を示す。当バイトにてIブロック、SブロックおよびRブロックの識別を行なう。
3)LEN:長さ
後続するインフォメーション部のバイト数を示す。
【0018】
[インフォメーション部]
インフォメーション部の存在は任意とする。存在する場合は、アプリケーションにて利用を行なう(たとえば、ICカードのデータメモリへ書込みを行なう)Iブロックにての伝送データか、あるいは、Sブロックにての制御情報、状態情報のいずれかを伝送する。なお、Iブロックにおけるインフォメーション部のデフォルト値は32バイトである。
【0019】
[エピローグ部]
エピローグ部は必須とし、伝送ブロックの誤り検出に使用される。一般的には水平冗長符号(LRC)が適用され、プロローグ部からインフォメーション部の最終バイトまでの排他的論理和1バイトが付加される。
【0020】
ここに、Iブロック(Information BLOCK)とは、データ伝送を行なう情報ブ ロックであり、Rブロック(Receive ready BLOCK)とは、受信した電文が異常であった場合、その旨を送信側に通知する、また、前回受信した電文の再送などを要求する受信準備完了ブロックであり、Sブロック(Super visor BLOCK)とは 、処理時間の延長や相手側送信データ長の拡張などを要求する管理ブロックである。
【0021】
図5は、ノードアドレス(NAD)の詳細を示している。ノードアドレスは、伝送ブロックの送信側および受信側のアドレスを示し、複数の論理接続が同時に存在(たとえば、入退出管理システム)する場合に、それらを区別するために使用される。
【0022】
ビットb3〜b1は送信側のアドレス(SAD)を示し、ビットb7〜b5は受信側のアドレス(DAD)を示す。なお、ビットb8およびb4は、Vpp端子(外部からICカード内のデータメモリの書込み制御を行なうために使用)の状態制御に使用されるが、一般的に普及しているICカードにては使用されていない。
【0023】
接続装置(たとえば、端末装置13)がICカード11へ送信する最初のブロックのSADおよびDADが、通信を行なう接続装置とICカード11それぞれのノードアドレスの組合わせを指定する。この論理接続以外のブロックにての通信は異なるSADとDADの組合わせにて実現される。なお、このアドレス方法を使用しない場合は、SADおよびDADの値はともに「0」を設定する。「0」以外でSADとDADが同一の値を有するノードアドレスの組合わせは、ISO/IEC7816−3では将来使用のために留保されている。
【0024】
図6は、IブロックのPCBフォーマットを示している。Iブロックは、PCBのビットb8が「0」であることにて識別される。シーケンスビットb7は、Iブロックを送出する度に「1」を加算し、モジュロ2で計数される。すなわち、「0」と「1」を交互に送出することとなる。なお、シーケンスビットb7は、接続装置とICカード11にてそれぞれ独立して計数される。
【0025】
また、1回のブロックにて伝送データの全てを送出できない場合、プロトコルのブロック連鎖機能があり、継続ブロック有無ビットb6に「1」を設定することで実現される。下記にIブロックが取り得る4種類の値を示す。
1)00h:シーケンスビット=0、継続ブロック無し
2)40h:シーケンスビット=1、継続ブロック無し
3)20h:シーケンスビット=0、継続ブロック有り
4)60h:シーケンスビット=1、継続ブロック有り
図7は、SブロックのPCBフォーマットを示している。Sブロックは、PCBのビットb8,b7がともに「1」であることにて識別される。レスポンスビットb6は、送信側がSブロックの通知にて、その機能(たとえば、再同期要求)を要求する場合には「0」を設定したSブロックを送信し、受信側がその機能を許容する場合には、レスポンスビットb6に「1」を設定したSブロックの返信を行なう。Sブロックでは、受信側および送信側双方のシーケンスビットを初期化(0に戻す)する機能である再同期要求、送信側からのブロックのインフォメーション部を拡張する機能であるIFS(Information field size)変更、ブロック連鎖機能の中断を行なう機能であるアボート要求、ICカードがIブロックを受信後に、その処理がプロトコルで規定される処理時間を超過する場合に時間延長を行なう機能である監視時間延長要求が存在する。
【0026】
下記にSブロックが取り得る8種類の値を示す。なお、1)は接続装置からのみ出力され、ICカード11から出力(要求)されることはない。
1)C0h:再同期リクエスト
2)E0h:再同期レスポンス
3)C1h:IFS変更リクエスト
4)E1h:IFS変更レスポンス
5)C2h:アボートリクエスト
6)E2h:アボートレスポンス
7)C3h:監視時間延長リクエスト
8)E3h:監視時間延長レスポンス
図8は、RブロックのPCBフォーマットを示している。Rブロックは、PCBのビットb8,b7のそれぞれの値が「1,0」であることにて識別される。シーケンスビットb5は、次に受信を期待する送信側のIブロックのシーケンスビットb7と同一の値を設定する。たとえば、受信したIブロックのシーケンスビットb7が「1」と設定されていて、当該ブロックが無効ブロック(たとえば、パリティエラー)と判断した場合には、シーケンスビットb5を「1」に設定したRブロックを送信してIブロックの再送を要求する。この際、EDCまたはパリティエラーの場合は、エラー情報表示ビットb6,b4〜b1を「0」、「0001」に、その他(たとえば、許容されていないフォーマットのPCBを受信した場合など)のエラーの場合は、エラー情報表示ビットb6,b4〜b1を「0」、「0010」に設定する。
【0027】
また、Rブロックにては受信電文がブロック連鎖機能を使用している場合の肯定応答にも使用される。たとえば、受信したIブロックのシーケンスビットb7が「1」と設定され、かつ、継続ブロック有無ビットb6が「1」と設定されている場合、送信側に次のブロックの送信を促す意味のシーケンスビットb5を「0」に設定したRブロックを送信する。この際、正常ブロック通知のため、エラー表示ビットb6,b4〜b1を全て「0」に設定する。
【0028】
下記にRブロックが取り得る6種類の値を示す。
1)80h:シーケンスビット=0を要求、正常(誤り無し)
2)90h:シーケンスビット=1を要求、正常(誤り無し)
3)81h:シーケンスビット=0を要求、EDCまたはパリティエラー
4)91h:シーケンスビット=1を要求、EDCまたはパリティエラー
5)82h:シーケンスビット=0を要求、その他エラー
6)92h:シーケンスビット=1を要求、その他エラー
次に、図9に示すフローチャートを参照して本発明に係る処理動作について説明する。まず、ステップS1にて、端末装置13からのリセット信号(制御信号)の解除が行なわれることにより、当該ICカード11は起動され、ステップS2に進む。ステップS2では、初期応答データであるアンサー・ツー・リセット(ATR)を端末装置13へ送信し、ステップS3に進む。ステップS2では、端末装置13からの伝送ブロック受信待機状態となる。
【0029】
ここで、伝送ブロック受信の開始を検出すると、ステップS4に進み、端末装置13からの伝送ブロックの受信を開始し、ステップS5に進む。ステップS5では、各キャラクタのパリティチェックを行ない、正当であればステップS6に進む。ステップS6では、受信ブロックのEDCチェックを行ない、正当であればステップS7に進む。ステップS7では、PCBの正当性チェック(図6、図7、図8のコーディングに適合しているか否か)を行ない、正当であればステップS8に進み、次の処理へ移行する。
【0030】
ここに、上記ステップS5からS7の処理は、本発明における、初期応答データを外部装置に送信した後に最初に受信した第1の受信ブロックにエラーが検出されたか否かをチェックするエラーチェック手段に対応している。
【0031】
ステップS5、S6、S7の各チェックにおいて、不正であると判断された場合(つまり、エラーが検出された場合)、ステップS9に進む。ステップS9では、データメモリ102のエリア102aに格納された識別情報を参照し、ステップS10にて当該識別情報よりRブロックを出力するか否かを決定する。
【0032】
すなわち、エリア102aに格納された識別情報は、たとえば、図10に示すように、3つのフラグF1,F2,F3から構成されている。フラグF1は、ステップS5のパリティチェックに対応していて、エラー検出時にRブロックを出力する処理の場合は“1”にセットされ、Rブロックを出力しない処理の場合は“0”にセットされる。
【0033】
そして、当該パリティチェックでエラーが検出された場合、当該フラグF1を参照し、“1”であればステップS11に進み、図8のコーティングにしたがってRブロックを生成して端末装置13へ送信し、再度、ステップS3の伝送ブロック受信待機状態に移行する。一方、フラグF1が“0”であれば、受信した伝送ブロックに対応するレスポンスを送信することはせず、再度、ステップS3の伝送ブロック受信待機状態に移行する。
【0034】
フラグF2は、ステップS6のEDCチェックに対応していて、エラー検出時にRブロックを出力する処理の場合は“1”にセットされ、Rブロックを出力しない処理の場合は“0”にセットされる。
【0035】
そして、当該EDCチェックでエラーが検出された場合、当該フラグF2を参照し、“1”であればステップS11に進み、図8のコーティングにしたがってRブロックを生成して端末装置13へ送信し、再度、ステップS3の伝送ブロック受信待機状態に移行する。一方、フラグF2が“0”であれば、受信した伝送ブロックに対応するレスポンスを送信することはせず、再度、ステップS3の伝送ブロック受信待機状態に移行する。
【0036】
フラグF3は、ステップS7のPCBチェックに対応していて、エラー検出時にRブロックを出力する処理の場合は“1”にセットされ、Rブロックを出力しない処理の場合は“0”にセットされる。
【0037】
そして、当該PCBチェックでエラーが検出された場合、当該フラグF3を参照し、“1”であればステップS11に進み、図8のコーティングにしたがってRブロックを生成して端末装置13へ送信し、再度、ステップS3の伝送ブロック受信待機状態に移行する。一方、フラグF3が“0”であれば、受信した伝送ブロックに対応するレスポンスを送信することはせず、再度、ステップS3の伝送ブロック受信待機状態に移行する。
【0038】
ここに、上記ステップS9,S10の処理は、本発明における、最初に受信した第1の受信ブロックにエラーが検出された場合、識別情報記憶手段に記憶されている識別情報を参照することにより後続のエラー処理を決定するエラー処理決定手段に対応している。
【0039】
このように、初期応答データ(ATR)の送信後に最初に受信した第1の受信ブロックにてエラーが検出された場合、あらかじめデータメモリ102に格納された識別情報を参照することで後続のエラー処理を決定することにより、データメモリ102などにファイル構築や個別情報の書込みを行なうカード発行時などにブロックエラー処理を選択することが可能で、柔軟に各システムに適合することが可能となる。
【0040】
なお、前記実施の形態では、ステップS5、S6、S7の各チェックにおいてエラーが検出された場合に、ステップS9,S10にて識別情報を参照してRブロックを出力するか否かを決定する場合について説明したが、必ずしもそのようにする必要はなく、たとえば、検出したエラーの種類により後続のエラー処理を決定するようにしてもよい。以下、その具体例について説明する。
【0041】
たとえば、図11に示すように、ステップS7のPCBチェックにおいてエラーが検出された場合、ステップS11に進み、Rブロックを生成して端末装置13へ送信し、再度、ステップS3の伝送ブロック受信待機状態に移行する。すなわち、PCBチェックの結果、エラーが検出された場合、識別情報を参照することなく、常に、あらかじめ定められた固定的なエラー処理(Rブロックの出力)を行なうものである。なお、ステップS5、S6の各チェックにおいてエラーが検出された場合は、前記実施の形態と同様な処理を行なう。
【0042】
また、たとえば、図12に示すように、ステップS5のパリティチェックにおいてエラーが検出された場合、受信した伝送ブロックに対応するレスポンスを送信することはせず、再度、ステップS3の伝送ブロック受信待機状態に移行する。すなわち、パリティチェックの結果、エラーが検出された場合、識別情報を参照することなく、常に、あらかじめ定められた固定的なエラー処理(何も出力しない)を行なうものである。なお、ステップS6、S7の各チェックにおいてエラーが検出された場合は、前記実施の形態と同様な処理を行なう。
【0043】
【発明の効果】
以上詳述したように本発明によれば、当該携帯可能電子装置の発行時などにブロックエラー処理を選択することが可能で、柔軟に各システムに適合することが可能となる携帯可能電子装置を提供できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るICカードを取扱うICカードシステムの構成例を示すブロック図。
【図2】ICカードの構成例を示すブロック図。
【図3】伝送プロトコルで送受信される伝送キャラクタの構成を示す図。
【図4】伝送プロトコルで送受信される伝送ブロックの構成を示す図。
【図5】ノードアドレス(NAD)の詳細を示す図。
【図6】IブロックのPCBフォーマットを示す図。
【図7】SブロックのPCBフォーマットを示す図。
【図8】RブロックのPCBフォーマットを示す図。
【図9】本発明に係る処理動作について説明するフローチャート。
【図10】識別情報の構成を概略的に示す図。
【図11】本発明に係る他の処理動作について説明するフローチャート。
【図12】本発明に係るさらに他の処理動作について説明するフローチャート。
【符号の説明】
11…ICカード(携帯可能電子装置)、12…カードリーダ・ライタ、13…端末装置(外部装置)、14…キーボード、15…CRTディスプレイ装置、16…プリンタ、100…ICチップ、101…制御素子(CPU)、102…データメモリ(記憶手段)、102a…エリア(識別情報記憶手段)、103…ワーキングメモリ、104…プログラムメモリ、105…通信部。
Claims (4)
- 外部装置との間でデータの授受を行なうものであって、外部装置からの制御信号により起動され、起動後には起動開始を意味する初期応答データを外部装置に送信し、それ以降は複数のキャラクタを1つの単位としたブロック伝送方式にて外部装置との間で送受信を行なう携帯可能電子装置において、
第1の受信ブロックにてエラーが検出された場合の後続エラー処理を指定する識別情報をあらかじめ記憶している識別情報記憶手段と、
初期応答データを外部装置に送信した後に最初に受信した第1の受信ブロックにエラーが検出されたか否かをチェックするエラーチェック手段と、
このエラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、前記識別情報記憶手段に記憶されている識別情報を参照することにより後続のエラー処理を決定するエラー処理決定手段と、
を具備したことを特徴とする携帯可能電子装置。 - 外部装置との間でデータの授受を行なうものであって、外部装置からの制御信号により起動され、起動後には起動開始を意味する初期応答データを外部装置に送信し、それ以降は複数のキャラクタを1つの単位としたブロック伝送方式にて外部装置との間で送受信を行なう携帯可能電子装置において、
第1の受信ブロックにてエラーが検出された場合の後続エラー処理を指定する識別情報をあらかじめ記憶している識別情報記憶手段と、
初期応答データを外部装置に送信した後に最初に受信した第1の受信ブロックにエラーが検出されたか否かをチェックするエラーチェック手段と、
このエラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、当該エラーの種類により、前記識別情報記憶手段に記憶されている識別情報を参照することにより後続のエラー処理を決定する第1のエラー処理決定手段と、
前記エラーチェック手段によるチェックの結果、最初に受信した第1の受信ブロックにエラーが検出された場合、当該エラーの種類により、あらかじめ定められた固定的なエラー処理に決定する第2のエラー処理決定手段と、
を具備したことを特徴とする携帯可能電子装置。 - 前記前記識別情報記憶手段に記憶された識別情報は外部から書換え可能であることを特徴とする請求項1または請求項2記載の携帯可能電子装置。
- 前記初期応答データは、ISO/IEC7816−3にて規定されるアンサー・ツー・リセット(ATR)であることを特徴とする請求項1または請求項2記載の携帯可能電子装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002239575A JP2004078685A (ja) | 2002-08-20 | 2002-08-20 | 携帯可能電子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002239575A JP2004078685A (ja) | 2002-08-20 | 2002-08-20 | 携帯可能電子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004078685A true JP2004078685A (ja) | 2004-03-11 |
Family
ID=32022645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002239575A Pending JP2004078685A (ja) | 2002-08-20 | 2002-08-20 | 携帯可能電子装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004078685A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015184692A (ja) * | 2014-03-20 | 2015-10-22 | 大日本印刷株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
-
2002
- 2002-08-20 JP JP2002239575A patent/JP2004078685A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015184692A (ja) * | 2014-03-20 | 2015-10-22 | 大日本印刷株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5161231A (en) | Processing system which transmits a predetermined error code upon detection of an incorrect transmission code | |
KR910007035B1 (ko) | 제1전자장치와 제2전자장치사이의 데이터 처리방식 및 이 데이터처리방식을 위한 제2전자장치로서의 휴대가능매체 | |
US5414835A (en) | IC card processing system capable of determing send timing between an IC card and an accepting device | |
US4983816A (en) | Portable electronic device | |
JP4806639B2 (ja) | セキュアデバイス及びicカード発行システム | |
JPH11506240A (ja) | スマートカードのデータを安全に変更する方法 | |
JP3028815B2 (ja) | 携帯可能電子装置の伝送方法と携帯可能電子装置 | |
EP1109129B1 (en) | IC card with self-diagnostic function | |
KR910001972B1 (ko) | 휴대가능전자장치용 처리시스템 | |
JP2004078685A (ja) | 携帯可能電子装置 | |
US8028149B2 (en) | Method of reading the memory plane of a contactless tag | |
JP2003044801A (ja) | 複数の情報伝達手段を備えた可搬情報処理装置 | |
JPH11282991A (ja) | Icカード | |
US6714999B2 (en) | Portable electronic apparatus and communication method for protocol selection processing of a portable electronic apparatus | |
JP3811214B2 (ja) | 遊戯場管理システム | |
JP7468754B1 (ja) | 電子情報記憶媒体、icチップ、icカード、受信ブロック処理方法、及びプログラム | |
EP0488720B1 (en) | A portable electronic device and a method for processing data therefor | |
JP3607229B2 (ja) | 携帯可能電子装置及びそのチェック方法 | |
JP3173522B2 (ja) | Icカード用プログラム処理装置 | |
WO1998052152A2 (en) | Communication between interface device and ic card | |
JPH0772891B2 (ja) | データ伝送方法 | |
JP2618953B2 (ja) | 送信処理方法およびデータ記憶媒体およびicチップ | |
JP3048550B2 (ja) | Icカード用icチップ | |
US20040238646A1 (en) | Management of byte transmission in a smartcard | |
JP2577370B2 (ja) | 携帯可能電子装置 |