JP2020144736A - 電子情報記憶媒体、通信機器、通信システム、通信方法、通信プログラム、命令実行方法、命令実行プログラム、応答判断方法及び応答判断プログラム - Google Patents

電子情報記憶媒体、通信機器、通信システム、通信方法、通信プログラム、命令実行方法、命令実行プログラム、応答判断方法及び応答判断プログラム Download PDF

Info

Publication number
JP2020144736A
JP2020144736A JP2019042203A JP2019042203A JP2020144736A JP 2020144736 A JP2020144736 A JP 2020144736A JP 2019042203 A JP2019042203 A JP 2019042203A JP 2019042203 A JP2019042203 A JP 2019042203A JP 2020144736 A JP2020144736 A JP 2020144736A
Authority
JP
Japan
Prior art keywords
character
communication device
data
information storage
storage medium
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
JP2019042203A
Other languages
English (en)
Other versions
JP7218621B2 (ja
Inventor
雅起 吉川
Masaki Yoshikawa
雅起 吉川
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2019042203A priority Critical patent/JP7218621B2/ja
Publication of JP2020144736A publication Critical patent/JP2020144736A/ja
Application granted granted Critical
Publication of JP7218621B2 publication Critical patent/JP7218621B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)

Abstract

【課題】ICチップ等の電子情報記憶媒体と通信機器の間で通信されるC−APDU(命令データ)やR−APDU(応答データ)等の通信データに関し、同一の通信データにより複数の異なる意味を持たせることができる電子情報記憶媒体や通信機器等を提供する。【解決手段】第1のキャラクタと第2のキャラクタを含む通信データを1キャラクタずつ送信する際に、所定の条件に応じて第1のキャラクタと第2のキャラクタの送信間隔を異ならせる。【選択図】図6

Description

ICチップ等の電子情報記憶媒体の技術分野に関する。
国際標準規格であるISO/IEC7816が適用されるICカードはICチップ(「電子情報記憶媒体」の一例)を備え、通信機器からコマンドを含むAPDU(Application protocol data unit)であるC−APDU(Command-APDU)を受信し、コマンドに応じた処理を実行する。そして、ICカードは、当該処理の実行結果に応じたSW(status word)を含むAPDUであるR−APDU(Response-APDU)を通信機器へ送信(返信)する。SWには、正常終了を示すコード(「9000h」)や異常終了を示すエラーコードが設定される(例えば特許文献1参照)。通信機器は、受信したSWの示すコードによってICカード内において処理が正常終了したのか、異常終了したのか、異常終了であればどのようなエラーが発生したのかを認識することができる。
特開2011−216068号公報
SWはSW1(1バイト)とSW2(1バイト)により構成されており、エラー種別毎にエラーコードがISO/IEC7816により定められている。例えば、SW「6F00h」は、自己診断異常(検査誤り)のエラー種別を示す。ところが、自己診断異常(検査誤り)というエラー種別だけでは、具体的なエラー原因を特定することができないことが多い。そこで、より詳細なエラー種別毎にエラーコードを設定することが望まれるが、エラーコードは国際規格により定められているため実現が難しいという問題がある。
一方で、通信機器がICカードに送信するコマンドに関する規則もISO/IEC7816に定められており、規則に従ってC−APDUを送信する必要があるため、コマンドについて規則に定められていない機能を付加することが困難であるという問題がある。
そこで、本発明は、上記問題等に鑑みてなされたものであり、ICチップ等の電子情報記憶媒体と通信機器の間で通信されるC−APDU(命令データ)やR−APDU(応答データ)等の通信データに関し、同一の通信データにより複数の異なる意味を持たせることができる電子情報記憶媒体や通信機器等を提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、通信機器から受信した命令データに応じた処理を実行し、第1のキャラクタと第2のキャラクタを含む応答データを前記通信機器に送信する電子情報記憶媒体であって、前記応答データを構成する各キャラクタを1キャラクタずつ送信する際に、前記処理の実行結果に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記第1のキャラクタと前記第2のキャラクタは、前記処理の実行結果を示すSW(status word)を構成するSW1とSW2であることを特徴とする。
請求項3に記載の発明は、通信機器から第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを受信し、当該命令データに応じた処理を実行する電子情報記憶媒体であって、前記命令データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定手段と、前記測定手段が測定した受信間隔に応じた前記処理を実行する実行手段と、を備えることを特徴とする。
請求項4に記載の発明は、請求項3に記載の電子情報記憶媒体であって、前記第1のキャラクタと前記第2のキャラクタは、コマンドヘッダを構成するCLAとINS、INSとP1、又は、P1とP2の少なくとも何れかであることを特徴とする。
請求項5に記載の発明は、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを電子情報記憶媒体に送信する通信機器であって、前記命令データを構成する各キャラクタを1キャラクタずつ送信する際に、前記電子情報記憶媒体に実行させる処理に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、を備えることを特徴とする。
請求項6に記載の発明は、請求項5に記載の通信機器であって、前記第1のキャラクタと前記第2のキャラクタは、コマンドヘッダを構成するCLAとINS、INSとP1、又は、P1とP2の少なくとも何れかであることを特徴とする。
請求項7に記載の発明は、命令データに応じた処理を実行する電子情報記憶媒体から、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる、前記処理の実行結果に応じた応答データを受信する通信機器であって、前記応答データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定手段と、前記測定手段が測定した受信間隔に応じて前記処理の実行結果を判断する判断手段と、を備えることを特徴とする。
請求項8に記載の発明は、請求項7に記載の通信機器であって、前記第1のキャラクタと前記第2のキャラクタは、前記処理の実行結果を示すSW(status word)を構成するSW1とSW2であることを特徴とする。
請求項9に記載の発明は、第1の通信機器と第2の通信機器とを含む通信システムであって、前記第1の通信機器は、第1のキャラクタと第2のキャラクタを含む通信データを1キャラクタずつ前記第2の通信機器に送信する際に、所定の条件に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、を備え、前記第2の通信機器は、前記第1の通信機器から受信した前記第1のキャラクタと前記第2のキャラクタの送信間隔に応じて前記通信データを解釈する解釈手段と、を備えることを特徴とする。
請求項10に記載の発明は、通信機器から受信した命令データに応じた処理を実行し、第1のキャラクタと第2のキャラクタを含む応答データを前記通信機器に送信する電子情報記憶媒体による通信方法であって、前記応答データを構成する各キャラクタを1キャラクタずつ送信する際に、前記処理の実行結果に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信工程、を含むことを特徴とする。
請求項11に記載の発明は、通信機器から受信した命令データに応じた処理を実行し、第1のキャラクタと第2のキャラクタを含む応答データを前記通信機器に送信する電子情報記憶媒体に含まれるコンピュータを、前記応答データを構成する各キャラクタを1キャラクタずつ送信する際に、前記処理の実行結果に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、として機能させることを特徴とする。
請求項12に記載の発明は、通信機器から第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを受信し、当該命令データに応じた処理を実行する電子情報記憶媒体による命令実行方法であって、前記命令データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定工程と、前記測定工程により測定した受信間隔に応じた前記処理を実行する実行工程と、を含むことを特徴とする。
請求項13に記載の発明は、通信機器から第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを受信し、当該命令データに応じた処理を実行する電子情報記憶媒体に含まれるコンピュータを、前記命令データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定手段、前記測定手段が測定した受信間隔に応じた前記処理を実行する実行手段、として機能させることを特徴とする。
請求項14に記載の発明は、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを電子情報記憶媒体に送信する通信機器による通信方法であって、前記命令データを構成する各キャラクタを1キャラクタずつ送信する際に、前記電子情報記憶媒体に実行させる処理に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信工程、を含むことを特徴とする。
請求項15に記載の発明は、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを電子情報記憶媒体に送信する通信機器に含まれるコンピュータを、前記命令データを構成する各キャラクタを1キャラクタずつ送信する際に、前記電子情報記憶媒体に実行させる処理に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、として機能させることを特徴とする。
請求項16に記載の発明は、命令データに応じた処理を実行する電子情報記憶媒体から、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる、前記処理の実行結果に応じた応答データを受信する通信機器による応答判断方法であって、前記応答データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定工程と、前記測定工程により測定した受信間隔に応じて前記処理の実行結果を判断する判断工程と、を含むことを特徴とする。
請求項17に記載の発明は、命令データに応じた処理を実行する電子情報記憶媒体から、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる、前記処理の実行結果に応じた応答データを受信する通信機器に含まれるコンピュータを、前記応答データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定手段、前記測定手段が測定した受信間隔に応じて前記処理の実行結果を判断する判断手段、として機能させることを特徴とする。
本発明によれば、第1のキャラクタと第2のキャラクタを含む通信データを1キャラクタずつ送信する際に、所定の条件に応じて第1のキャラクタと第2のキャラクタの送信間隔を異ならせることにより、同一の通信データであっても複数の異なる意味を持たせることができる。
本実施形態に係るICカード1に搭載されるICチップ1aと外部機器2のハードウェア構成例を示す図である。 (A)はキャラクタフレームの概要を示す図であり、(B)はキャラクタフレームの送信間隔の概要を示す図である。 C−APDUのフォーマットの一例を示す図である。 R−APDUのフォーマットの一例を示す図である。 第1実施例に係るSW1とSW2の送信間隔の一例を示す図である。 第1実施例に係る外部機器2とICチップ1aによるコマンドレスポンス処理の一例を示すフローチャートである。 第2実施例に係るCLAとINSの送信間隔の一例を示す図である。 第2実施例に係る外部機器2とICチップ1aによるコマンドレスポンス処理の一例を示すフローチャートである。 T=1プロトコルにおけるブロックフォーマットの一例を示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、ICカード1と、ICカード1と通信を行う外部機器2を含む通信システムSに対して本発明を適用した場合の実施の形態である。
[1.ICカードの構成]
まず、図1を参照して、ICカード1と、ICカード1と通信する外部機器2の構成について説明する。図1は、ICカード1に搭載されるICチップ1aと外部機器2の構成例を示す図である。
ICチップ1aは、CPU(Central Processing Unit)10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、不揮発性メモリ13、及びI/O回路14を備えて構成される。CPU10は、ROM12又は不揮発性メモリ13に記憶された各種プログラムを実行するプロセッサ(コンピュータ)である。
不揮発性メモリ13には、例えばフラッシュメモリ、強誘電体メモリ又は「Electrically Erasable Programmable Read-Only Memory」を適用することができる。不揮発性メモリ13は、ICカードOS(Operating System)や各種アプリケーション及びこれらが使用するデータを記憶する。また、不揮発性メモリ13は後述するコマンドレスポンス処理を実行するためのプログラムを記憶する。
ICカードOSは、その一機能として複数のキャラクタを含むR−APDUを送信する際のキャラクタ間の送信間隔を異ならせる機能や、複数のキャラクタを含むC−APDUを受信した際のキャラクタ間の受信間隔に応じて処理を行う機能を備える。
I/O回路14は、外部機器2とのインターフェースを担う。これにより、ICチップ1aは、リーダ・ライタを備える外部機器2との間で通信を行うことができる。I/O回路14には、例えばISO/IEC7816によって定められたC1〜C8の8個の端子が備えられている。C1端子は電源端子(ICチップ1aへ電源供給する端子)、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部機器2との間で通信を行うための端子である。
[2.外部機器2の構成]
一方、外部機器2は、CPU20、RAM21、ROM22、不揮発性メモリ23、I/O回路24、操作部25及び表示部26を備えて構成される。CPU20は、ROM22又は不揮発性メモリ23に記憶された各種プログラムを実行するプロセッサ(コンピュータ)である。
不揮発性メモリ23には、例えばフラッシュメモリ、強誘電体メモリ又は「Electrically Erasable Programmable Read-Only Memory」を適用することができる。不揮発性メモリ23は、OSや各種アプリケーション及びこれらが使用するデータを記憶する。また、不揮発性メモリ23は後述するコマンドレスポンス処理を実行するためのプログラムを記憶する。
OSは、その一機能として複数のキャラクタを含むC−APDUを送信する際のキャラクタ間の送信間隔を異ならせる機能や、複数のキャラクタを含むR−APDUを受信した際のキャラクタ間の受信間隔に応じてICカード1における処理結果を解釈したり、処理を行ったりする機能を備える。
I/O回路24は、ICチップ1aとのインターフェースを担い、リーダ・ライタとして機能する。これにより外部機器2はICチップ1aとの間で通信を行うことができる。
操作部25は、オペレータからの指示を受け付けるための操作ボタンを有しており、オペレータにより押下された操作ボタンに対応する指示信号をCPU20へ出力する。表示部26は、例えば、液晶ディスプレイ、又は有機ELディスプレイ等で構成され、CPU20による制御の下、各種操作画面等を表示する。
[3.ICカード1と外部機器2の通信]
まず、ICカード1と外部機器2の間の通信の手順について説明する。まず、外部機器2とICカード1が接続されると、全ての端子がL(Low)状態に維持され、次いで、ICカード1のC1端子に電源電圧が印加される。次いで、ICカード1のC7端子が受信モードに設定されて、ICカード1のC3端子にクロック信号が印加される。次いで、外部機器2は自身の入出力端子を受信モードにし、ICカード1は自分のC7端子を送信モードにする。次いで、外部機器2はICカード1のC2端子に印加し、ICカード1は応答としてATR(Answer to Reset)と呼ばれる一連のキャラクタを送信する。ATRには、T=0又はT=1のプロトコル選択を含めて、以後の通信をどのように行うかについての詳細情報が格納される。プロトコルの指定がない場合は、T=0と見なされる。その後、トランザクション(コマンドとレスポンスのやりとり)が実行される。
ICカード1と外部機器2の間では調歩同期方式により通信が行われる。図2(A)に示すように、キャラクタ(フレーム)はスタートビット(1ビット)、8ビットのデータ及びパリティビット(1ビット)で構成される。スタートビットは、C7端子に接続される入出力線のL(Low)に対応しており、次いで、8ビットのデータが送信されることを意味する。なお、入出力線のH(High)は2進数の「1」(「1b」と表記する)に対応しており、L(Low)は2進数の「0」(「0b」と表記する)に対応する。パリティビットは、キャラクタフレームに含まれる「1b」の数の合計が偶数になるように、H(High)又はL(Low)となる。例えば、8ビットのデータにおける「1b」の数が「3」個であればパリティビットはH(High)となる。
入出力線は非通信時においてH(High)となっている。送信側はキャラクタを送信する場合、L(Low)とすることによりスタートビットを送信し、それ以降、8ビットのデータを送信し、最後にパリティビットを送信する。受信側は、非通信時においてH(High)となっている入出力線がL(Low)となったことを検知することにより、以降、8ビットのデータを受信し、次いで受信したパリティビットにより、先に受信した8ビットのデータに誤りがないかをチェックする。こうして、ICカード1と外部機器2の間で8ビットのデータが送受信される。
図2(B)に示すように、ICカード1と外部機器2の間で2つのキャラクタC1、C2を連続して送信する場合において、送信側がキャラクタC1のパリティビットを送信してからキャラクタC2のスタートビットを送信するまで間隔をガードタイムGTという。また、送信側がキャラクタC1のスタートビットを送信してからキャラクタC2のスタートビットを送信するまでの間隔を送信間隔INTという。ガードタイムGTをどれだけとることとするかはATRにより事前に設定される。同様に、送信間隔INTがどれだけ空いたらエラーと判断するかの基準となる時間はCWT(character waiting time)と呼ばれ、ATRにより事前に設定される。
次に、ICカード1と外部機器2の間のトランザクションについて説明する。トランザクションは、外部機器2からICカード1へのコマンドの発行、ICカード1による当該コマンドに応じた処理の実行、ICカード1から外部機器2への実行結果に応じたレスポンスの送信で構成される。トランザクション中の外部機器2とICカード1の間の通信は、APDUを用いて行われる。外部機器2がICカード1へ送信するAPDUをC−APDUといい、ICカード1が外部機器2へ送信するAPDUをR−APDUという。
図3は、C−APDUのフォーマットの一例を示す図である。コマンドの構成には、図3(A)〜(D)に示すように、いくつかのバリエーションがあり、何れの場合も、ヘッダ(「コマンドヘッダ」)は、CLA(命令クラス)、INS(命令コード)、P1(命令パラメータ1)、及びP2(命令パラメータ2)からなる。一方、ボディは、無い場合(図3(A))と、Leフィールドからなる場合(図3(B))と、Lcフィールド及びデータ(Data)フィールドからなる場合(図3(C))と、Lcフィールド、データフィールド、及びLeフィールドからなる場合(図3(D))とがある。
図4は、R−APDUのフォーマットの一例を示す図である。レスポンスの構成には、図4(A)、(B)に示すように、2つのバリエーションがあり、一つは、データバイト列とSW1とSW2からなり(図4(A))、もう一つは、SW1とSW2からなる(図4(B))。SW1とSW2からなるSWはコマンドに応じた処理の結果を示し、処理が正常終了した場合には「9000h」がセットされ、異常終了した場合には「9000h」以外の値(エラーコード)がセットされる。
[4.第1実施例]
次に、図5及び図6を用いて本実施形態の第1実施例について説明する。第1実施例は、R−APDUに含まれるSW1とSW2の間隔を異ならせることにより、SWの値が示すエラー(異常)の内容よりも詳細なエラー(異常)の内容を外部機器2に知らせる実施例である。
まず、図5を用いてR−APDUに含まれるSW1とSW2の間隔について説明する。ICチップ1aのCPU10は、所定の条件に応じて、SW1とSW2の間隔を異ならせてSWを送信する。ここでは、CPU10が外部機器2からデータ読み出しコマンドを受信して、データ読み出し処理を実行した場合の例について説明する。
CPU10は、データ読み出し処理の結果が正常終了であった場合にはSW1のパリティビットとSW2のスタートビットの間隔を1etu(送信間隔INTは11etu)とし(図5(A))、データ読み出し処理の結果がメモリ異常による異常終了であった場合にはSW1のパリティビットとSW2のスタートビットの間隔を2etu(送信間隔INTは12etu)とし(図5(B))、データ読み出し処理の結果が論理異常による異常終了であった場合にはSW1のパリティビットとSW2のスタートビットの間隔を3etu(送信間隔INTは13etu)とする(図5(C))。etu(elementary time unit)は、1ビット当たりの送信時間のことである。例えば、外部機器2とICカード1の間の通信速度が9600bps(bit per second)である場合には1etuは372clockに相当し、通信速度が19200bpsである場合には1etuは186clockに相当する。
なお、第1実施例では、SW1とSW2の送信間隔INTが11etuである場合を「間隔1」と呼び、SW1とSW2の送信間隔INTが12etuである場合を「間隔2」と呼び、SW1とSW2の送信間隔INTが13etuである場合を「間隔3」と呼ぶ。
次に、図6を用いて第1実施例におけるICカード1(ICチップ1a)と外部機器2によるコマンドレスポンス処理について説明する。なお、図6は第1実施例における外部機器2とICチップ1aによるコマンドレスポンス処理の一例を示すフローチャートである。また、ここでは通信プロトコルがT=0である場合について説明する。
まず、外部機器2のCPU20は、データ読み出しコマンドをICカード1に送信する(ステップS101)。
これに対して、ICカード1のCPU10は、データ読み出しコマンドを外部機器2から受信すると(ステップS201)、データ読み出し処理を実行する(ステップS202)。
次に、CPU10は、データの読み出し時に異常が無かったか否かを判定する(ステップS203)。CPU10は、データの読み出し時に異常が無かったと判定した場合には(ステップS203:YES)、読み出したデータと、正常終了を示すSW(「9000h」)を間隔1で外部機器2に送信し(ステップS204)、コマンドレスポンス処理を終了する。なお、間隔1とするのはSW1(「90h」)とSW2(「00h」)の送信間隔INTである。一方、CPU10は、データの読み出し時に異常があったと判定した場合には(ステップS203:NO)、次いで、データの読み出し時にメモリ異常が発生したか否かを判定する(ステップS205)。
CPU10は、データの読み出し時にメモリ異常が発生したと判定した場合には(ステップS205:YES)、異常終了を示すSW(「6F00h」)を間隔2で外部機器2に送信し(ステップS206)、コマンドレスポンス処理を終了する。なお、間隔2とするのはSW1(「6Fh」)とSW2(「00h」)の送信間隔INTである。一方、CPU10は、データの読み出し時にメモリ異常が発生していないと判定した場合には(ステップS205:NO)、次いで、データの読み出し時に論理異常が発生したか否かを判定する(ステップS207)。
CPU10は、データの読み出し時に論理異常が発生したと判定した場合には(ステップS207:YES)、異常終了を示すSW(「6F00h」)を間隔3で外部機器2に送信し(ステップS208)、コマンドレスポンス処理を終了する。なお、間隔3とするのはSW1(「6Fh」)とSW2(「00h」)の送信間隔INTである。一方、CPU10は、データの読み出し時に論理異常が発生していないと判定した場合には(ステップS207:NO)、次いで、異常終了を示すSW(「6F00h」)を間隔1で外部機器2に送信し(ステップS209)、コマンドレスポンス処理を終了する。なお、間隔1とするのはSW1(「6Fh」)とSW2(「00h」)の送信間隔INTである。
一方、外部機器2のCPU20は、ステップS101の処理後、ICカード1からレスポンスを受信すると(ステップS102)、SWが「9000h」であるか否かを判定する(ステップS103)。CPU20は、SWが「9000h」であると判定した場合には(ステップS103:YES)、ICカード1においてデータ読み出し処理が正常終了したと解釈し(ステップS104)、コマンドレスポンス処理を終了する。一方、CPU20は、SWが「9000h」ではないと判定した場合には(ステップS103:NO)、次いで、SWが「6F00h」であり、且つ、SW1とSW2の送信間隔INTが間隔2であるか否かを判定する(ステップS105)。具体的には、CPU20は、ICチップ1aがSW1のスタートビットを送信してからSW2のスタートビットを送信するまでのCLOCK数を計数することにより送信間隔INTを測定し、送信間隔INTが間隔2であるか否かを判定する。
CPU20は、SWが「6F00h」であり、且つ、SW1とSW2の送信間隔INTが間隔2であると判定した場合には(ステップS105:YES)、ICカード1においてデータ読み出し処理時にメモリ異常が発生したと解釈し(ステップS106)、コマンドレスポンス処理を終了する。一方、CPU20は、SWが「6F00h」ではない、又は、SW1とSW2の送信間隔INTが間隔2ではないと判定した場合には(ステップS105:NO)、次いで、SWが「6F00h」であり、且つ、SW1とSW2の送信間隔INTが間隔3であるか否かを判定する(ステップS107)。
CPU20は、SWが「6F00h」であり、且つ、SW1とSW2の送信間隔INTが間隔3であると判定した場合には(ステップS107:YES)、ICカード1においてデータ読み出し処理時に論理異常が発生したと解釈し(ステップS108)、コマンドレスポンス処理を終了する。一方、CPU20は、SWが「6F00h」ではない、又は、SW1とSW2の送信間隔INTが間隔3ではないと判定した場合には(ステップS107:NO)、その他の異常(メモリー異常及び論理異常以外の異常)が発生したと解釈し(ステップS109)、コマンドレスポンス処理を終了する。
以上のように、第1実施例のICチップ1a(「電子情報記憶媒体」の一例)のCPU10(「送信手段」の一例)は、外部機器2(「通信機器」の一例)から受信したデータ読み出しコマンド(「命令データ」の一例)に応じてデータ読み出し処理を実行し、SW1(「第1のキャラクタ」の一例)とSW2(「第2のキャラクタ」の一例)で構成されるSW(「応答データ」の一例)を外部機器2に送信する。そして、CPU10は、SWを構成する各キャラクタを1キャラクタずつ送信する際に、データ読み出し処理の実行結果が正常終了であるか、メモリ異常発生による異常終了であるか、又は、論理異常による異常終了であるか(「所定の条件」の一例)に応じてSW1とSW2の送信間隔INTを異ならせて送信する。
したがって、第1実施例のICチップ1aによれば、SW1とSW2を含むレスポンスを1キャラクタずつ送信する際に、処理の実行結果に応じてSW1とSW2の送信間隔を異ならせることにより、同一の異常終了を示すSWであっても、メモリ異常発生による異常終了や、論理異常による異常終了といった複数の異なる意味を持たせることができる。
また、第1実施例の外部機器2は、データ読み出しコマンド(「命令データ」の一例)に応じたデータ読み出し処理を実行するICチップ1a(「電子情報記憶媒体」の一例)から、SW1(「第1のキャラクタ」の一例)とSW2(「第2のキャラクタ」の一例)を含み、データ読み出し処理の実行結果に応じたSW(「応答データ」の一例)を受信し、CPU20(「測定手段」、「判断手段」の一例)は、SWを構成する各キャラクタを1キャラクタずつ受信する際に、SW1とSW2の受信間隔を測定し、当該受信間隔に応じてデータ読み出し処理の実行結果を判断する。したがって、第1実施例の外部機器2によれば、データ読み出し処理の実行結果をSW1とSW2の受信間隔に応じて判断することができる。
更に、第1実施例の通信システムSにおいて、ICカード1におけるICチップ1a(「第1の通信機器」の一例)のCPU10(「送信手段」の一例)は、SW1(「第1のキャラクタ」の一例)とSW2(「第2のキャラクタ」の一例)を含むレスポンス(「通信データ」の一例)を1キャラクタずつ外部機器2(「第2の通信機器」の一例)に送信する際に、データ読み出しコマンドに応じたデータ読み出し処理の実行結果が正常終了であるか、メモリ異常発生による異常終了であるか、又は、論理異常による異常終了であるか(「所定の条件」の一例)に応じてSW1とSW2の送信間隔INTを異ならせて送信する。一方、外部機器2のCPU20(「解釈手段」の一例)は、ICチップ1aから受信したSW1とSW2の受信間隔(送信間隔INTに一致する)に応じてレスポンスを解釈する。すなわち、同一の異常終了を示すSWであっても、メモリ異常発生による異常終了や、論理異常による異常終了といった複数の異なる意味を持たせることができる。
[5.第2実施例]
次に、図7及び図8を用いて本実施形態の第2実施例について説明する。第2実施例は、C−APDUに含まれるコマンドヘッダにおけるCLAとINSの間隔を異ならせることにより、CLA及びINSに格納されている値が示すコマンドの内容よりも詳細なコマンドの内容をICカード1に知らせる実施例である。
まず、図7を用いてC−APDUに含まれるCLAとINSの間隔について説明する。外部機器2のCPU20は、所定の条件に応じて、CLAとINSの間隔を異ならせてコマンドヘッダを送信する。ここでは、CPU20がICカード1に対してデータ読み出しコマンドを送信して、ICカード1がデータ読み出し処理を実行する場合の例について説明する。
CPU20は、データ読み出し処理においてデータを読み出す領域に応じてCLAのパリティビットとINSのスタートビットの間隔を異ならせる。例えば、CPU20は、ICカード1に対して不揮発性メモリ13における領域1からデータを読み出させる場合には、CLAのパリティビットとINSのスタートビットの間隔を1etu(送信間隔INTは11etu)とし(図7(A))、ICカード1に対して不揮発性メモリ13における領域2からデータを読み出させる場合には、CLAのパリティビットとINSのスタートビットの間隔を2etu(送信間隔INTは12etu)とし(図7(B))、ICカード1に対して不揮発性メモリ13における領域3からデータを読み出させる場合には、CLAのパリティビットとINSのスタートビットの間隔を3etu(送信間隔INTは13etu)とする(図7(C))。なお、不揮発性メモリ13は領域1、領域2、領域3に分割されていることを外部機器2は把握していることとする。
なお、第2実施例では、CLAとINSの送信間隔INTが11etuである場合を「間隔1」と呼び、CLAとINSの送信間隔INTが12etuである場合を「間隔2」と呼び、CLAとINSの送信間隔INTが13etuである場合を「間隔3」と呼ぶ。
次に、図8を用いて第2実施例におけるICカード1(ICチップ1a)と外部機器2によるコマンドレスポンス処理について説明する。なお、図8は第2実施例における外部機器2とICチップ1aによるコマンドレスポンス処理の一例を示すフローチャートである。また、ここでは通信プロトコルがT=0である場合について説明する。
まず、外部機器2のCPU20は、データ読み出しコマンドを示すC−APDUを構成するキャラクタ(送信キャラクタ)を準備する(ステップS131)。
次に、CPU20は、データ読み出しコマンドにより読み出すデータが格納されている領域であるデータ読み出し領域は、領域1であるか否かを判定する(ステップS132)。CPU20は、データ読み出し領域は領域1であると判定した場合には(ステップS132:YES)、読み出しコマンドのCLAとINSの送信間隔INTを間隔1(11etu)として読み出しコマンドをICカード1に送信し(ステップS133)、ステップS137の処理に移行する。一方、CPU20は、データ読み出し領域は領域1ではないと判定した場合には(ステップS132:NO)、次いで、データ読み出し領域は、領域2であるか否かを判定する(ステップS134)。
CPU20は、データ読み出し領域は領域2であると判定した場合には(ステップS134:YES)、読み出しコマンドのCLAとINSの送信間隔INTを間隔2(12etu)として読み出しコマンドをICカード1に送信し(ステップS135)、ステップS137の処理に移行する。一方、CPU20は、データ読み出し領域は領域2ではないと判定した場合には(ステップS134:NO)、読み出しコマンドのCLAとINSの送信間隔INTを間隔3(13etu)として読み出しコマンドをICカード1に送信し(ステップS136)、ステップS137の処理に移行する。
これに対して、ICカード1のCPU10は、データ読み出しコマンドを外部機器2から受信する(ステップS231)。なお、CPU10は、外部機器2からC−APDUを受信する際に、CLAとINTの送信間隔INTを測定することとする。例えば、CPU10は、CLAに対応するキャラクタのスタートビットを受信してから、INTに対応するキャラクタのスタートビットを受信するまでのCLOCK数を計数することにより送信間隔INTを測定する。
次に、CPU10は、ステップS231で受信したデータ読み出しコマンドのCLAとINSの送信間隔INTが間隔1(11etu)であったか否かを判定する(ステップS232)。例えば、CPU10は、CLAに対応するキャラクタのスタートビットを受信してから、INTに対応するキャラクタのスタートビットを受信するまでのCLOCK数が11etuに対応しているか否かにより間隔1であったか否かを判定する。
CPU10は、CLAとINSの送信間隔INTが間隔1であったと判定した場合には(ステップS232:YES)、領域1からデータを読み出し、読み出したデータとSW(「9000h」)を含むR−APDUを外部機器2に送信し(ステップS233)、コマンドレスポンス処理を終了する。一方、CLAとINSの送信間隔INTが間隔1ではなかったと判定した場合には(ステップS232:NO)、次いで、CPU10は、ステップS231で受信したデータ読み出しコマンドのCLAとINSの送信間隔INTが間隔2(12etu)であったか否かを判定する(ステップS234)。例えば、CPU10は、CLAに対応するキャラクタのスタートビットを受信してから、INTに対応するキャラクタのスタートビットを受信するまでのCLOCK数が12etuに対応しているか否かにより間隔2であったか否かを判定する。
CPU10は、CLAとINSの送信間隔INTが間隔2であったと判定した場合には(ステップS234:YES)、領域2からデータを読み出し、読み出したデータとSW(「9000h」)を含むR−APDUを外部機器2に送信し(ステップS235)、コマンドレスポンス処理を終了する。一方、CLAとINSの送信間隔INTが間隔2ではなかったと判定した場合には(ステップS234:NO)、次いで、CPU10は、ステップS231で受信したデータ読み出しコマンドのCLAとINSの送信間隔INTが間隔3(13etu)であったか否かを判定する(ステップS236)。例えば、CPU10は、CLAに対応するキャラクタのスタートビットを受信してから、INTに対応するキャラクタのスタートビットを受信するまでのCLOCK数が13etuに対応しているか否かにより間隔3であったか否かを判定する。
CPU10は、CLAとINSの送信間隔INTが間隔3であったと判定した場合には(ステップS236:YES)、領域3からデータを読み出し、読み出したデータとSW(「9000h」)を含むR−APDUを外部機器2に送信し(ステップS237)、コマンドレスポンス処理を終了する。一方、CLAとINSの送信間隔INTが間隔3ではなかったと判定した場合には(ステップS236:NO)、次いで、CPU10は、異常終了を示すSW(例えば、「6F00h」)を含むR−APDUを外部機器2に送信し(ステップS238)、コマンドレスポンス処理を終了する。
なお、図8では、ステップS233、ステップS235、ステップS237の処理においてデータ読み出し処理が正常終了した場合の例を示したが、異常終了であった場合には、CPU10は、異常の内容を示すSWを含むR−APDUを外部機器2に送信することとする(第1実施例で説明したようにSW1とSW2の送信間隔INTをエラーの内容に応じて異ならせることとしてもよい)。
また、図8では、CLAとINSの送信間隔INTが間隔1、間隔2及び間隔3の何れでもない場合に、異常を示すSWを送信することとしたが(ステップS238)、領域1、領域2又は領域3の何れかの領域からデータを読み出すこととし、読み出したデータと、SW(「9000h」)を送信することとしてもよい。
以上のように、第2実施例のICチップ1a(「電子情報記憶媒体」の一例)のCPU10(「測定手段」、「実行手段」の一例)は、外部機器2(「通信機器」の一例)からCLA(「第1のキャラクタ」の一例)とINS(「第2のキャラクタ」の一例)を含む複数のキャラクタからなるデータ読み出しコマンド(「命令データ」の一例)を受信し、データ読み出し処理を実行する。そして、CPU10は、データ読み出しコマンドを構成する各キャラクタを1キャラクタずつ受信する際に、CLAとINSの受信間隔(送信間隔INTと一致する)を測定し、当該測定した受信間隔に応じた処理を実行する。例えば、受信間隔が間隔1であれば領域1からデータを読み出し、受信間隔が間隔2であれば領域2からデータを読み出し、受信間隔が間隔3であれば領域3からデータを読み出す。
したがって、第2実施例のICチップ1aによれば、CLAとINSを含むデータ読み出しコマンドを1キャラクタずつ受信した際に、CLAとINSの受信間隔に応じた記憶領域からデータを読み出すことから、同一のデータ読み出しコマンドであっても異なる領域からデータを読み出すコマンドとして解釈し、受信間隔に応じた記憶領域からデータを読み出すことができる。
また、第2実施例の外部機器2(「通信機器」の一例)のCPU20(「送信手段」の一例)は、CLA(「第1のキャラクタ」の一例)とINS(「第2のキャラクタ」の一例)を含む複数のキャラクタからなるデータ読み出しコマンド(「命令データ」の一例)をICカード1のICチップ1a(「電子情報記憶媒体」の一例)に送信する。そして、CPU20は、データ読み出しコマンドを構成する各キャラクタを1キャラクタずつ送信する際に、ICチップ1aにデータを読み出させる領域に応じてCLAとINSの送信間隔INTを異ならせて送信する。
したがって、第2実施例の外部機器2によれば、CLAとINSを含むデータ読み出しコマンドを1キャラクタずつ送信する際に、データを読み出す記憶領域に応じてCLAとINSの送信間隔INTを異ならせることにより、同一のデータ読み出しコマンドであっても異なる領域からデータを読み出させることができる。
更に、第2実施例の通信システムSにおいて外部機器2(「第1の通信機器」の一例)のCPU20(「送信手段」の一例)は、CLA(「第1のキャラクタ」の一例)とINS(「第2のキャラクタ」の一例)を含むデータ読み出しコマンド(「通信データ」の一例)を1キャラクタずつICカード1のICチップ1a(「第2の通信機器」の一例)に送信する際に、データを読み出させる記憶領域に応じてCLAとINSの送信間隔INTを異ならせて送信する。また、ICチップ1aのCPU10(「解釈手段」の一例)は、外部機器2から受信したCLAとINSの受信間隔(送信間隔INTに一致する)に応じてデータ読み出しコマンドに基づいてデータを読み出す領域を解釈する。すなわち、同一のデータ読み出しコマンドであっても異なる領域からデータを読み出させることができる。
[6.変形例]
次に、上記実施例の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
[6.1.変形例1]
上記実施例は、ICカード1と外部機器2の間の通信プロトコルがT=0である場合について説明したが、変形例1はT=1である場合について説明する。図9は、T=1プロトコルにおけるブロックフォーマットの一例を示す図である。
ICカード1と外部機器2の間の通信プロトコルがT=1である場合には、図9(A)に示すブロックフォーマットによりC−APDUやR−APDUが送受信される。ブロックフォーマットは、先頭フィールド、情報フィールド、最終フィールドにより構成されている。先頭フィールドはNAD(ノードアドレス、1バイト)、PCB(プロトコル制御バイト、1バイト)、LEN(長さ、1バイト)の3バイトで構成される。NADは、ブロックの送信元及び宛先を示し、PCBは、データ伝送の制御に必要となる情報であり、LENは、情報フィールドのバイト数(0〜254)を示す。情報フィールドは、例えば、C−APDUやR−APDUが格納される。最終フィールドは、ブロックの誤り検出符号(EDC:error detection code)が格納される。誤り検出符号は、例えば、水平冗長符合(LRC: longitudinal redundancy check)、又は巡回冗長検査(CRC: Cyclic redundancy check)が用いられる。なお、C−APDUを含むブロックは命令データの一例であり、R−APDUを含むブロックは応答データの一例であり、また、それぞれ通信データの一例でもある。
図9(B)は、情報フィールドにR−APDU(SW1、SW2)が格納されている例を示し、図9(C)は、情報フィールドにC−APDU(CLA、INS、P1、P2)が格納されている例を示している。
上記第1実施例では、SW1とSW2の送信間隔INTを異ならせることとしたが、変形例1では、他のキャラクタ間の送信間隔INTを異ならせることとしてもよい。例えば、NADとPCBの送信間隔INTや、PCBとLENの送信間隔INT、LENとSW1と送信間隔INT、SW2とLRCの送信間隔INTを異ならせることとしてもよい。
また、上記第2実施例では、CLAとINSの送信間隔INTを異ならせることとしたが、変形例1では、他のキャラクタ間の送信間隔INTを異ならせることとしてもよい。例えば、NADとPCBの送信間隔INTや、PCBとLENの送信間隔INT、LENとCLAの送信間隔INT、INSとP1の送信間隔INT、P1とP2の送信間隔INT、P2とLRCの送信間隔INTを異ならせることとしてもよい。
更に、第1実施例、第2実施例及び変形例1では、一つの送信間隔INT(例えば、第1のキャラクタと第2のキャラクタ間の送信間隔INT)を異ならせる場合について説明したが、2以上の送信間隔INTを異ならせ、それぞれに意味を持たせてもよい。例えば、第1のキャラクタと第2のキャラクタ間の送信間隔INTと、第2のキャラクタと第3のキャラクタ(第2のキャラクタに続くキャラクタ)間の送信間隔INTをそれぞれ異ならせることとしてもよい。この場合、第1のキャラクタと第2のキャラクタ間の送信間隔INTを間隔1〜間隔3の何れかとし、第2のキャラクタと第3のキャラクタ間の送信間隔INTを間隔1〜間隔3の何れかとする場合、9パターンの送信パターンとして、それぞれに意味を持たせることができる。更に、他のキャラクタ間の送信間隔INTを異ならせることにより、より多くの送信パターンとして、それぞれ意味を持たせることができる。
なお、第1実施例、第2実施例及び変形例1において、何れのキャラクタ間の送信間隔INTを何れの条件に従ってどのように異ならせるかについて、予めICカード1と外部機器2の間でルールを決めておくこととする。
[6.2.変形例2]
ICカード1のCPU10は、外部機器2から受信したコマンドに応じた処理を実行した場合において当該処理が正常終了した場合には、正常終了を示すSW(「9000h」)を外部機器2に送信するが、SW1とSW2の送信間隔INTを異ならせることにより、正常終了に複数の意味を持たせてもよい。例えば、CPU10が、データ書き込みコマンドに応じた処理を実行した場合に、データを書き込んだ後の記憶領域の残量に応じて送信間隔INTを異ならせても良い。仮に記憶領域の残量がゼロになった(または次にデータを書き込むだけの記憶領域がない)場合には、SW1とSW2の送信間隔INTを間隔2とし、記憶領域の残量に余裕がある場合には、SW1とSW2の送信間隔INTを間隔1とすることができる。これにより、外部機器2は、SW1とSW2の送信間隔INTが間隔2である場合に、記憶容量不足により、次のデータは書き込めないことを把握することができる。
S 通信システム
1 ICカード
1a ICチップ
10 CPU
11 RAM
12 ROM
13 不揮発性メモリ
14 I/O回路
2 外部機器
20 CPU
21 RAM
22 ROM
23 不揮発性メモリ
24 I/O回路
25 操作部
26 表示部

Claims (17)

  1. 通信機器から受信した命令データに応じた処理を実行し、第1のキャラクタと第2のキャラクタを含む応答データを前記通信機器に送信する電子情報記憶媒体であって、
    前記応答データを構成する各キャラクタを1キャラクタずつ送信する際に、前記処理の実行結果に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、
    を備えることを特徴とする電子情報記憶媒体。
  2. 請求項1に記載の電子情報記憶媒体であって、
    前記第1のキャラクタと前記第2のキャラクタは、前記処理の実行結果を示すSW(status word)を構成するSW1とSW2であることを特徴とする電子情報記憶媒体。
  3. 通信機器から第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを受信し、当該命令データに応じた処理を実行する電子情報記憶媒体であって、
    前記命令データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定手段と、
    前記測定手段が測定した受信間隔に応じた前記処理を実行する実行手段と、
    を備えることを特徴とする電子情報記憶媒体。
  4. 請求項3に記載の電子情報記憶媒体であって、
    前記第1のキャラクタと前記第2のキャラクタは、コマンドヘッダを構成するCLAとINS、INSとP1、又は、P1とP2の少なくとも何れかであることを特徴とする電子情報記憶媒体。
  5. 第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを電子情報記憶媒体に送信する通信機器であって、
    前記命令データを構成する各キャラクタを1キャラクタずつ送信する際に、前記電子情報記憶媒体に実行させる処理に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、
    を備えることを特徴とする通信機器。
  6. 請求項5に記載の通信機器であって、
    前記第1のキャラクタと前記第2のキャラクタは、コマンドヘッダを構成するCLAとINS、INSとP1、又は、P1とP2の少なくとも何れかであることを特徴とする通信機器。
  7. 命令データに応じた処理を実行する電子情報記憶媒体から、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる、前記処理の実行結果に応じた応答データを受信する通信機器であって、
    前記応答データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定手段と、
    前記測定手段が測定した受信間隔に応じて前記処理の実行結果を判断する判断手段と、
    を備えることを特徴とする通信機器。
  8. 請求項7に記載の通信機器であって、
    前記第1のキャラクタと前記第2のキャラクタは、前記処理の実行結果を示すSW(status word)を構成するSW1とSW2であることを特徴とする通信機器。
  9. 第1の通信機器と第2の通信機器とを含む通信システムであって、
    前記第1の通信機器は、
    第1のキャラクタと第2のキャラクタを含む通信データを1キャラクタずつ前記第2の通信機器に送信する際に、所定の条件に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、
    を備え、
    前記第2の通信機器は、
    前記第1の通信機器から受信した前記第1のキャラクタと前記第2のキャラクタの送信間隔に応じて前記通信データを解釈する解釈手段と、
    を備えることを特徴とする通信システム。
  10. 通信機器から受信した命令データに応じた処理を実行し、第1のキャラクタと第2のキャラクタを含む応答データを前記通信機器に送信する電子情報記憶媒体による通信方法であって、
    前記応答データを構成する各キャラクタを1キャラクタずつ送信する際に、前記処理の実行結果に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信工程、
    を含むことを特徴とする通信方法。
  11. 通信機器から受信した命令データに応じた処理を実行し、第1のキャラクタと第2のキャラクタを含む応答データを前記通信機器に送信する電子情報記憶媒体に含まれるコンピュータを、
    前記応答データを構成する各キャラクタを1キャラクタずつ送信する際に、前記処理の実行結果に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、
    として機能させることを特徴とする通信プログラム。
  12. 通信機器から第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを受信し、当該命令データに応じた処理を実行する電子情報記憶媒体による命令実行方法であって、
    前記命令データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定工程と、
    前記測定工程により測定した受信間隔に応じた前記処理を実行する実行工程と、
    を含むことを特徴とする命令実行方法。
  13. 通信機器から第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを受信し、当該命令データに応じた処理を実行する電子情報記憶媒体に含まれるコンピュータを、
    前記命令データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定手段、
    前記測定手段が測定した受信間隔に応じた前記処理を実行する実行手段、
    として機能させることを特徴とする命令実行プログラム。
  14. 第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを電子情報記憶媒体に送信する通信機器による通信方法であって、
    前記命令データを構成する各キャラクタを1キャラクタずつ送信する際に、前記電子情報記憶媒体に実行させる処理に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信工程、
    を含むことを特徴とする通信方法。
  15. 第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる命令データを電子情報記憶媒体に送信する通信機器に含まれるコンピュータを、
    前記命令データを構成する各キャラクタを1キャラクタずつ送信する際に、前記電子情報記憶媒体に実行させる処理に応じて前記第1のキャラクタと前記第2のキャラクタの送信間隔を異ならせて送信する送信手段、
    として機能させることを特徴とする通信プログラム。
  16. 命令データに応じた処理を実行する電子情報記憶媒体から、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる、前記処理の実行結果に応じた応答データを受信する通信機器による応答判断方法であって、
    前記応答データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定工程と、
    前記測定工程により測定した受信間隔に応じて前記処理の実行結果を判断する判断工程と、
    を含むことを特徴とする応答判断方法。
  17. 命令データに応じた処理を実行する電子情報記憶媒体から、第1のキャラクタと第2のキャラクタを含む複数のキャラクタからなる、前記処理の実行結果に応じた応答データを受信する通信機器に含まれるコンピュータを、
    前記応答データを構成する各キャラクタを1キャラクタずつ受信する際に、前記第1のキャラクタと前記第2のキャラクタの受信間隔を測定する測定手段、
    前記測定手段が測定した受信間隔に応じて前記処理の実行結果を判断する判断手段、
    として機能させることを特徴とする応答判断プログラム。
JP2019042203A 2019-03-08 2019-03-08 電子情報記憶媒体、通信機器、通信システム、通信方法、通信プログラム、命令実行方法、命令実行プログラム、応答判断方法及び応答判断プログラム Active JP7218621B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019042203A JP7218621B2 (ja) 2019-03-08 2019-03-08 電子情報記憶媒体、通信機器、通信システム、通信方法、通信プログラム、命令実行方法、命令実行プログラム、応答判断方法及び応答判断プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019042203A JP7218621B2 (ja) 2019-03-08 2019-03-08 電子情報記憶媒体、通信機器、通信システム、通信方法、通信プログラム、命令実行方法、命令実行プログラム、応答判断方法及び応答判断プログラム

Publications (2)

Publication Number Publication Date
JP2020144736A true JP2020144736A (ja) 2020-09-10
JP7218621B2 JP7218621B2 (ja) 2023-02-07

Family

ID=72354291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019042203A Active JP7218621B2 (ja) 2019-03-08 2019-03-08 電子情報記憶媒体、通信機器、通信システム、通信方法、通信プログラム、命令実行方法、命令実行プログラム、応答判断方法及び応答判断プログラム

Country Status (1)

Country Link
JP (1) JP7218621B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092029A (ja) * 1998-09-09 2000-03-31 Nec Corp 通信回線の品質に応じてデータ送信を制御する方法及び装置
US6839772B1 (en) * 1998-09-04 2005-01-04 Inside Technologies Chip card reader having contact and contactless operating modes
JP2011065471A (ja) * 2009-09-17 2011-03-31 Toshiba Corp 携帯可能電子装置、icカード、携帯可能電子装置の処理システムおよび携帯可能電子装置の制御方法
WO2017038005A1 (ja) * 2015-08-31 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正検知方法、不正検知電子制御ユニット及び不正検知システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839772B1 (en) * 1998-09-04 2005-01-04 Inside Technologies Chip card reader having contact and contactless operating modes
JP2000092029A (ja) * 1998-09-09 2000-03-31 Nec Corp 通信回線の品質に応じてデータ送信を制御する方法及び装置
JP2011065471A (ja) * 2009-09-17 2011-03-31 Toshiba Corp 携帯可能電子装置、icカード、携帯可能電子装置の処理システムおよび携帯可能電子装置の制御方法
WO2017038005A1 (ja) * 2015-08-31 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正検知方法、不正検知電子制御ユニット及び不正検知システム

Also Published As

Publication number Publication date
JP7218621B2 (ja) 2023-02-07

Similar Documents

Publication Publication Date Title
JP2006079613A (ja) 取り外し可能な電子デバイスとそれの方法
US9183400B2 (en) IC card and IC card control method
EP2797026A2 (en) Smart card, portable electronic device and smart card processing device
US20120067947A1 (en) Ic card, mobile electronic device and data processing method in ic card
JP6986835B2 (ja) 電子情報記憶装置、データ処理方法、及びデータ処理プログラム
JP7218621B2 (ja) 電子情報記憶媒体、通信機器、通信システム、通信方法、通信プログラム、命令実行方法、命令実行プログラム、応答判断方法及び応答判断プログラム
US20090177921A1 (en) Portable electronic device and control method thereof
JP5085254B2 (ja) 携帯可能電子装置、icカード、および携帯可能電子装置におけるコマンド処理方法
EP2500845A2 (en) Portable electronic apparatus
JP2008310596A (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP7468754B1 (ja) 電子情報記憶媒体、icチップ、icカード、受信ブロック処理方法、及びプログラム
JP2002304605A (ja) Icカード
JP7468757B1 (ja) 電子情報記憶媒体、icチップ、icカード、レスポンス送信方法、及びプログラム
JP4868979B2 (ja) 携帯可能電子装置およびicカード
EP3379424A1 (en) Ic card, portable electronic device, program, processing apparatus, and processing system
JP2002150246A (ja) 携帯可能電子装置
JP7397402B2 (ja) 電子情報記憶媒体、データ送信方法、及びプログラム
JP6325394B2 (ja) Icカード、携帯可能電子装置、及び、icカード処理装置
JP7017185B2 (ja) 電子情報記憶装置、データ処理方法、及びデータ処理プログラム
EP2642411B1 (en) IC card and command processing method for IC card
JP7420179B1 (ja) 電子情報記憶媒体、icカード、発行処理方法、及びプログラム
JP5367236B2 (ja) 携帯可能電子装置およびicカード
JP2008234415A (ja) Icカード
JP2011060002A (ja) Icチップ、icカード、及び初期応答データ送信方法
JP2024073789A (ja) Icカードリーダ及びその通信処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230109

R150 Certificate of patent or registration of utility model

Ref document number: 7218621

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150