(57)【要約】【課題】  従来の規格のコマンドを利用して、複数のコマンドの処理を行うことが可能なリアルタイムコマンドの作成・処理方法、および、ＩＣカードおよび、その組み込み端末を提供する。【解決手段】  元のコマンド（ａ）の前にＩＤと優先度を付加してデータ部としてカプセル化し、さらに、元のコマンドのヘッダ部分（ＣＬＡ、ＩＮＳ、Ｐ１、Ｐ２、Ｌｃ）と同一の役割を果たす部分を、カプセル化したデータ部の前に付加したリアルタイムコマンド（ｃ）を作成する。【選択図】  図２
2006092416.tif 000002
【特許請求の範囲】
【請求項１】
元のコマンドの前にＩＤと優先度を付加してデータ部としてカプセル化すると共に、元のコマンドのヘッダ部分と同一の役割を果たす部分をカプセル化したデータ部の前に付加したコマンドを作成するリアルタイムコマンドの作成方法。
【請求項２】
ＩＣカード上において、処理待ちリストに記録された優先度に従って、コマンドの処理を行うにあたり、
外部からコマンドを受信した際に、当該コマンドの処理を中断する段階と、受信したコマンドがリアルタイムコマンドであるかどうか判別する段階と、判別の結果、リアルタイムコマンドである場合に、カプセル化された元コマンドを抽出し、リアルタイムコマンドに記録された優先度と共に処理待ちリストに記録する段階と、を有することを特徴とするリアルタイムコマンドの処理方法。
【請求項３】
元のコマンドの前にＩＤと優先度を付加してデータ部としてカプセル化すると共に、元のコマンドのヘッダ部分と同一の役割を果たす部分をカプセル化したデータ部の前に付加したコマンドを作成し、当該作成したリアルタイムコマンドをＩＣカードに送信することを特徴とするＩＣカード組み込み端末。
【請求項４】
処理待ちリストに記録された優先度に従って、ＣＰＵ上のＯＳがコマンドの実行を行うＩＣカードであって、
外部からの通信を検知する通信検知手段と、
前記通信検知手段からの信号に基づいて割込みを発生する割込部と、
処理待ちリストを記録する情報記憶領域と、を有し、
前記ＣＰＵは、割込部からの指示に基づいて、実行中のコマンドの処理を中断してコマンドの受信を行い、受信したコマンドがリアルタイムコマンドであるかどうか判別し、判別の結果、リアルタイムコマンドである場合に、カプセル化された元コマンドを抽出し、リアルタイムコマンドに記録された優先度と共に処理待ちリストに記録する機能を有することを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードにおいて複数のコマンドを処理する技術に関する。
【背景技術】
【０００２】
近年、携帯電話における加入者識別モジュール（ＳＩＭ、ＵＩＭ）など、機器に組み込むためのＩＣカードが普及しはじめている。
【０００３】
現状では、ＵＩＭ等のＩＣカードの規格については、ＩＳＯ７８１６−４で定義されており、この規格に基づいた仕組みで運用がなされている（非特許文献１参照）。
【０００４】
【非特許文献１】ＩＳＯ７８１６仕様
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記、ＩＳＯ７８１６で定義されているＡＰＤＵ（Application Protocol Data Unit）では、あるコマンドを受信すると、そのコマンドに対するレスポンスを介してからでないと、次のコマンドを受付けない。つまり、アプリケーションＡからのコマンドを実行している途中にアプリケーションＢからのコマンドを受信することはないという前提のもとに、コマンドが定義されている。
【０００６】
一方、ＵＩＭをＰＤＡなどの機器に組み込み、無線ＬＡＮにおけるセキュリティを確保するための認証仕様「WLAN-SIM VO.1」が業界団体WLAN Smart Card Consortiumで検討されている。今後は、情報家電やネットワークに接続される各種制御機器がこうしたＵＩＭをセキュリティモジュールとして採用していく可能性が高い。そうなると、ＩＣカードにおいても、多数のコマンドを処理する必要性に迫られることになる。しかし、上述のように、ＩＣカードのコマンドは、ＩＳＯ７８１６規格が広範に用いられているため、この規格を変更せずに対応することが望まれている。
【０００７】
そこで、本発明は、従来の規格のコマンドを利用して、複数のコマンドの処理を行うことが可能なリアルタイムコマンドの作成・処理方法、および、ＩＣカードおよび、その組み込み端末を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明では、元のコマンドの前にＩＤと優先度を付加してデータ部としてカプセル化すると共に、元のコマンドのヘッダ部分と同一の役割を果たす部分をカプセル化したデータ部の前に付加したコマンドであるリアルタイムコマンドを利用するようにしたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＩＣカードにおいて標準的に利用される元コマンドをそのままカプセル化して、優先度およびＩＤの情報を加え、さらに元コマンドと同じヘッダを付加してリアルタイムコマンドとするようにしたので、従来の１つのコマンドの処理しか想定していない規格のコマンドを利用して、複数のコマンドの処理を行うことが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
（ＩＣカードの構成）
図１は、本発明に係るＩＣカードの機能ブロック図である。図１において、１はＩＣカード、２は通信Ｉ／Ｆ（インターフェイス）、３は通信検知手段、４はＣＰＵ、５は割込部、６は情報記憶領域、１０は端末である。通信Ｉ／Ｆ２は、外部の端末（機器）と通信を行うためのインターフェイスであり、ＵＳＢ等の接触方式、アンテナを介した非接触方式等、種々の方式に対応してデータの送受信を行うものである。通信検知手段３は、外部の端末からデータを受信した場合に、それを検知し、ＣＰＵ４に伝える機能を有している。ＣＰＵ４は、ＩＣカード１において、ＯＳを実行し、データ処理を行う機能を有している。割込部５は、通信検知手段３からの指示に基づいて、ＣＰＵ４が実行しているデータ処理に対して割込みを行う機能を有している。情報記憶領域６は、データ処理、通信等に必要な情報を記憶する領域であり、後述する処理待ちリストや送信バッファとしての領域も確保する。図１に示す通信検知手段３、ＣＰＵ４に伝える機能を有している。ＣＰＵ４、割込部５、情報記憶領域６、および通信Ｉ／Ｆ２の一部は、ＩＣカード上に設けられたＩＣチップ内において実現される。端末１０は、入力用のキーボード、ボタン等を備えると共に、液晶ディスプレイ等の表示デバイスを備えた端末装置であり、ＩＣカードの読み書き機能を備えたパソコンや携帯端末等で実現される。
【００１１】
（ＩＣカードで利用されているコマンド）
ここで、ＩＳＯ−７８１６ｐａｒｔ−４で規定されている、端末からＩＣカードに送られるコマンドの形式について説明する。ＩＳＯ−７８１６ｐａｒｔ−４規定のコマンドの形式を図２に示す。図２（ａ）に示すように、端末からＩＣカードに送られるコマンドは、データ部の前に、ＣＬＡ、ＩＮＳ、Ｐ１、Ｐ２、Ｌｃで構成されるヘッダが付加されたものとなっている。ＣＬＡ、ＩＮＳ、Ｐ１、Ｐ２、Ｌｃはそれぞれ１バイトで記録される。ヘッダ内のＣＬＡは、クラス（class）を意味し、そのコマンドがＩＳＯに準拠するか、セキュリティ機能を有しているか等のコマンドの分類を示すものである。ＩＮＳは、コマンドを特定するものである。Ｐ１、Ｐ２は、コマンドに対するパラメータである。Ｌｃは、データ部の長さである。例えば、ＶＥＲＩＦＹコマンドでパスワード「0A 0B 0C 0D」を送信する場合は、図２（ｂ）に示すようになる。ＶＥＲＩＦＹコマンドとは、端末からパスワードなどを送り、ＩＣカードの中のパスワードと照合し、その結果、続く処理を行うかどうか決めるために使用されるコマンドであり、「20」で表記される。なお、本明細書において、特に断りのない限り、コマンド中のデータは１６進数で表記する。すなわち、２つの数字で１バイトとなる。
【００１２】
続いて、本発明に係るリアルタイムコマンドの作成方法について具体的に説明していく。端末内でリアルタイムコマンドを作成する場合、まず、ＩＳＯ７８１６準拠のコマンドを作成し、これを元コマンドとする。この元コマンドは、上述のように、図２（ａ）に示したような構成となっている。端末は、さらに、図２（ｃ）に示すような構成のリアルタイムコマンドを作成する。すなわち、データ部には、先頭の１バイトにＩＤ、次の１バイトに優先度パラメータを格納し、データ部の３バイト目以降に元のコマンドをそっくり格納する。さらに、ヘッダには、元コマンドのヘッダと同一の役割を果たすヘッダを付加する。ただし、リアルタイムコマンドにおいては、ＣＬＡの値は「D0」、ＩＮＳの値は「00」の固定値となっており、この組み合わせがリアルタイムコマンドであることを示すことになる。端末は、作成したリアルタイムコマンドをＩＣカード１に送信する。
【００１３】
ＩＣカード１では、通信Ｉ／Ｆ２がコマンドを受け取ると、通信検知手段３が通信を検知し、ＣＰＵ４の割込部５に伝える。この場合、ＣＰＵ４は実行中のコマンド処理があったとしても、それを中断して、コマンドの受信処理を行う。続いて、ＣＰＵ４は、受信したコマンドがリアルタイムコマンドであるかどうかを判別する。具体的には、コマンドの先頭のＣＬＡとＩＮＳの値を確認し、この値が「D0」「00」であれば、リアルタイムコマンドであると判別し、「D0」「00」以外であれば、リアルタイムコマンドでないと判別する。リアルタイムコマンドでない場合は、そのコマンドの優先度をあらかじめ設定したデフォルト値（例えば「80」）とし、空いているＩＤ番号を付与する。リアルタイムコマンドである場合は、そのコマンドのＩＤが、コマンドの処理待ちリストに存在するかどうかを確認し、存在していればエラーを返す。リストに存在していない場合は、処理待ちリスト上でＩＤが重複しないため、受信したコマンドの優先度に従ってコマンドを処理待ちリストに追加する。これで割込み処理は終了する。
【００１４】
割込み処理が終了した時点で、ＣＰＵ４は、処理待ちリストの一番優先度の高いコマンドを調べ実行する。１つのコマンドの実行が終了したら、対応するＩＤを１バイト目に付加して結果を送信し、処理待ちリストから、そのコマンドを削除する。処理待ちリストにコマンドが存在する場合は、引き続き、リスト中で一番優先度の高いコマンドから実行していく。
【００１５】
ここで、ＩＣカード１におけるＣＰＵ４の処理全体の流れについて、図３のフローチャートを参照して説明する。まず、端末１０にＩＣカード１を挿入して、端末１０から電源供給を受ける。そして、ＣＰＵ４で起動されるＯＳは、ＡＴＲ（answer to reset：初期応答）を端末に返す（Ｓ１）。ＯＳは、処理待ちのコマンドが存在するかどうかを確認する（Ｓ２）。具体的には、処理待ちリストを確認し、リスト上にコマンドが存在するかどうかを確認することになる。
【００１６】
処理待ちのコマンドが存在する場合は、優先度の最も高いコマンドを実行する（Ｓ３）。コマンドの実行が終了したら、処理結果を送信バッファにセットする（Ｓ４）。さらに、バッファ内容を通信Ｉ／Ｆ２を経由して端末へ送信する（Ｓ５）。そして、Ｓ５において処理結果を送信したコマンドを、処理待ちリストから削除する（Ｓ６）。Ｓ２からＳ６までの処理は、割込みが処理が入らない限りループ処理されることになる。
【００１７】
通信Ｉ／Ｆ２がコマンドを受け取って、通信検知手段３が通信の開始を割込部５を介してＣＰＵ４に伝えると、ＣＰＵ４で起動されるＯＳは、実行中の処理を中断する（Ｓ７）。この際、後で再開できるような状態で中断が行われる。続いて、コマンドの受信を行う（Ｓ８）。さらに、受信したコマンドの内容を解析する（Ｓ９）。この結果、受信したコマンドがリアルタイムコマンドかどうかを判別する（Ｓ１０）。受信したコマンドがリアルタイムコマンドでない場合は、デフォルトとして設定された優先度と空いているＩＤを付与する（Ｓ１１）。一方、受信したコマンドがリアルタイムコマンドである場合は、ＩＤが重複しているかどうかを判別する（Ｓ１２）。
【００１８】
ＩＤが重複している場合は、ＮＧメッセージ（エラー）を送信バッファにセットする（Ｓ１３）。そして、送信バッファの内容を端末１０に送信して（Ｓ１４）、Ｓ２に戻り、ループ処理を繰り返す。一方、ＩＤが重複していない場合は、優先度と元コマンドを取り出す（Ｓ１５）。そして、優先度に従って処理待ちリストに追加する（Ｓ１６）。なお、Ｓ１６の処理は、優先度と空いているＩＤを付与されたコマンドについても行われる。Ｓ１６における処理後は、Ｓ２に戻り、ループ処理を繰り返す。
【００１９】
（具体的な例）
次に、具体的な例をあげて、端末におけるリアルタイムコマンドの作成、ＩＣカードにおけるリアルタイムコマンドの処理について説明する。暗証番号の照合を行うＶＥＲＩＦＹコマンドについて、ＩＳＯ−７８１６ｐａｒｔ−４規定の元コマンドのデータ配列、端末１０で作成されるリアルタイムコマンドのデータ配列を図４に示す。また、鍵の生成を行う鍵生成コマンドについて、ＩＳＯ−７８１６ｐａｒｔ−４規定の元コマンドのデータ配列、端末で作成されるリアルタイムコマンドのデータ配列を図５に示す。
【００２０】
図４（ａ）に示す元コマンドは、ＩＮＳが「20」であることがＶＥＲＩＦＹコマンドを示し、図中「xx xx…xx」で示す１２８バイトの任意のデータについて照合を行うことを示している。Ｌｃが「80」であるのは、データ部が１２８バイトであるため、「128」を１６進表記したものである。図４（ｂ）に示すリアルタイムコマンドは、図４（ａ）に示した元コマンドをカプセル化して作成されたものである。図４（ｂ）に示すように、リアルタイムコマンドは、元コマンドにＩＤと優先度を付加したものを新たなデータ部としたものである。また、先頭のＣＬＡ、ＩＮＳの組み合わせが「D0」「00」であるのは、上述のように、リアルタイムコマンドを示すものである。Ｌｃが「87」であるのは、データ部が１３５バイト（ＩＤ１バイト＋優先度１バイト＋元コマンド１３３バイト）であるため、「135」を１６進表記したものである。
【００２１】
図５（ａ）に示す元コマンドは、ＩＮＳが「46」であることが鍵生成コマンドを示し、図中「xx」で示す１バイトの任意のデータをパラメータとして鍵の生成を行うことを示している。Ｌｃが「01」であるのは、データ部が１バイトであるため、「1」を１６進表記したものである。図５（ｂ）に示すリアルタイムコマンドは、図５（ａ）に示した元コマンドをカプセル化して作成されたものである。図５（ｂ）に示すように、リアルタイムコマンドは、元コマンドにＩＤと優先度を付加したものを新たなデータ部としたものである。また、先頭のＣＬＡ、ＩＮＳの組み合わせが「D0」「00」であるのは、上述のように、リアルタイムコマンドを示すものである。Ｌｃが「08」であるのは、データ部が８バイト（ＩＤ１バイト＋優先度１バイト＋元コマンド６バイト）であるため、「8」を１６進表記したものである。
【００２２】
ここからは、図４に示したＶＥＲＩＦＹコマンドを処理する場合と、図４に示したＶＥＲＩＦＹコマンドと図５に示した鍵生成コマンドを順序を代えて送信する場合の計３通りについて説明する。なお、以下のいずれの場合においても、ＶＥＲＩＦＹコマンドのＩＤは「01」、優先度は「01」とし、鍵生成コマンドのＩＤは「0A」、優先度は「80」とする。優先度については、「00」が最優先であり、「FF」が一番優先度が低いものとする。
【００２３】
まず、端末１０が、ＶＥＲＩＦＹコマンドを利用して暗証番号の照合を行う場合の処理について説明する。この場合、端末は、端末のキーから入力された暗証番号をデータ部のデータとして組み込んだ、図４（ａ）に示したようなＶＥＲＩＦＹコマンドを元コマンドとして生成する。さらに、端末は、この元コマンドをカプセル化して、図４（ｂ）に示したようなリアルタイムコマンドを作成する。この際、端末は、ＩＤと優先度を決定してリアルタイムコマンドの６バイト目と７バイト目に設定する。端末は、ＩＤについては、発行中の他のコマンドと重複しないＩＤを所定のルールで決定して付与し、優先度は、そのコマンドに応じて所定の数値範囲内であって、他のコマンドと重複しないものを付与する。作成されたリアルタイムコマンドは、端末からＩＣカード１に送信される。
【００２４】
すると、ＩＣカード１では、割込みが発生し、ＯＳ（ＣＰＵ）が、リアルタイムコマンドを受信する。続いて、受信したリアルタイムコマンドのＣＬＡ、ＩＮＳをチェックする。この場合、図４（ａ）に示したように「D0」「00」であるので、リアルタイムコマンドであると判断する。次に、６バイト目のＩＤを読取り、読取ったＩＤが処理待ちリストに存在するかどうかを確認する。この時点では、処理待ちリストには、コマンドが１つも存在せず、従ってＩＤ＝「01」のコマンドは存在しないため、７バイト目の優先度を読み取るとともに、８バイト目以降の元コマンドを取り出す。そして、ＩＤ、優先度、元コマンドを処理待ちリストに登録する。これにより割込みが終了し、ＯＳは、処理待ちリストの確認を行う。そして、優先度「01」のＶＥＲＩＦＹコマンドを実行する。ＯＳはＶＥＲＩＦＹコマンドの処理結果を送信バッファに格納した後、端末に送信し、処理待ちリストから削除する。処理待ちリストには、登録されたコマンドがなくなるため、端末からコマンドを受信して割り込みが入るまでループ処理に入ることになる。端末では、受信したコマンドのＩＤが１であることを確認し、レスポンスを処理する。レスポンスとは、例えば、ＶＥＲＩＦＹの結果がＯＫであるかＮＧであるかということである。
【００２５】
続いて、鍵生成中にＶＥＲＩＦＹコマンドを発行した場合について説明する。鍵生成コマンドについては、端末が適当なパラメータを設定し、図５（ａ）に示したような鍵生成コマンドを元コマンドとして生成する。さらに、端末は、この元コマンドをカプセル化して、図５（ｂ）に示したようなリアルタイムコマンドを作成した後、ＩＣカード１に送信する。
【００２６】
すると、ＩＣカード１では、割込みが発生し、ＯＳ（ＣＰＵ）が、リアルタイムコマンドを受信する。続いて、受信したリアルタイムコマンドのＣＬＡ、ＩＮＳをチェックする。この場合、図５（ａ）に示したように「D0」「00」であるので、リアルタイムコマンドであると判断する。次に、６バイト目のＩＤを読取り、読取ったＩＤが処理待ちリストに存在するかどうかを確認する。この時点では、処理待ちリストには、コマンドが１つも存在せず、従ってＩＤ＝「0A」のコマンドは存在しないため、７バイト目の優先度を読み取るとともに、８バイト目以降の元コマンドを取り出す。そして、ＩＤ、優先度、元コマンドを処理待ちリストに登録する。これにより割込みが終了し、ＯＳは、処理待ちリストの確認を行う。そして、優先度＝「0A」であり、処理待ちリスト内で最も優先度が高い鍵生成コマンドを実行する。
【００２７】
ＩＣカード１上のＯＳが鍵生成コマンドを処理している状態で、端末は、上記と同様にして、図４（ｂ）に示したようなリアルタイムコマンドを作成し、ＩＣカード１に送信する。ＩＣカード１では、割込みが発生し、実行中の鍵生成コマンドを再開可能な状態で中断する。そして、ＯＳ（ＣＰＵ）は、リアルタイムコマンドを受信する。続いて、受信したリアルタイムコマンドのＣＬＡ、ＩＮＳをチェックする。この場合、図４（ａ）に示したように「D0」「00」であるので、リアルタイムコマンドであると判断する。次に、６バイト目のＩＤを読取り、読取ったＩＤが処理待ちリストに存在するかどうかを確認する。ＩＤ＝「01」のコマンドは存在しないため、７バイト目の優先度を読み取るとともに、８バイト目以降の元コマンドを取り出す。そして、ＩＤ、優先度、元コマンドを処理待ちリストに登録する。これにより割込みが終了し、ＯＳは、処理待ちリストの確認を行う。この時点における処理待ちリストの状態を図６に示す。そして、優先度「01」であり、処理待ちリスト内で最も優先度が高いＶＥＲＩＦＹコマンドを実行する。ＯＳはＶＥＲＩＦＹコマンドの処理結果を送信バッファに格納した後、端末に送信し、処理待ちリストから削除する。一方、端末では、受信したコマンドのＩＤが「01」であることを確認し、レスポンスを処理する。ＯＳは、さらに処理待ちリストの確認を行う。そして、優先度「80」であり、処理待ちリスト内で最も優先度が高い鍵生成コマンドを実行する。この際、中断された時点までの続きから行われることになる。ＯＳは鍵生成コマンドの処理結果を送信バッファに格納した後、端末に送信し、処理待ちリストから削除する。処理待ちリストには、登録されたコマンドがなくなるため、端末からコマンドを受信して割り込みが入るまでループ処理に入ることになる。端末では、受信したコマンドのＩＤが「0A」であることを確認し、レスポンスを処理する。このレスポンスとは、例えば、鍵生成の結果がＯＫであるかＮＧであるかということである。
【００２８】
次に、逆にＶＥＲＩＦＹ中に鍵生成コマンドを発行した場合について説明する。端末は、上記と同様にして、図４（ｂ）に示したようなＶＥＲＩＦＹのリアルタイムコマンドを作成し、ＩＣカード１に送信する。すると、ＩＣカード１では、割込みが発生し、ＯＳ（ＣＰＵ）が、リアルタイムコマンドを受信する。続いて、受信したリアルタイムコマンドのＣＬＡ、ＩＮＳをチェックする。この場合、図４（ｂ）に示したように「D0」「00」であるので、リアルタイムコマンドであると判断する。次に、６バイト目のＩＤを読取り、読取ったＩＤが処理待ちリストに存在するかどうかを確認する。ＩＤ＝「01」のコマンドは存在しないため、７バイト目の優先度を読み取るとともに、８バイト目以降の元コマンドを取り出す。そして、ＩＤ、優先度、元コマンドを処理待ちリストに登録する。これにより割込みが終了し、ＯＳは、処理待ちリストの確認を行う。そして、優先度「01」であり、処理待ちリスト内で最も優先度が高いＶＥＲＩＦＹコマンドを実行する。
【００２９】
ＩＣカード１上のＯＳがＶＥＲＩＦＹコマンドを処理している状態で、端末は、上記と同様にして、図５（ｂ）に示したような鍵生成のリアルタイムコマンドを作成し、ＩＣカード１に送信する。ＩＣカード１では、割込みが発生し、実行中のＶＥＲＩＦＹコマンドを再開可能な状態で中断する。そして、ＯＳ（ＣＰＵ）は、リアルタイムコマンドを受信する。続いて、受信したリアルタイムコマンドのＣＬＡ、ＩＮＳをチェックする。この場合、図４（ａ）に示したように「D0」「00」であるので、リアルタイムコマンドであると判断する。次に、６バイト目のＩＤを読取り、読取ったＩＤが処理待ちリストに存在するかどうかを確認する。ＩＤ＝「0A」のコマンドは存在しないため、７バイト目の優先度を読み取るとともに、８バイト目以降の元コマンドを取り出す。そして、ＩＤ、優先度、元コマンドを処理待ちリストに登録する。これにより割込みが終了し、ＯＳは、処理待ちリストの確認を行う。そして、優先度「01」であり、処理待ちリスト内で最も優先度が高いＶＥＲＩＦＹコマンドを実行する。この際、中断された時点までの続きから行われることになる。ＯＳはＶＥＲＩＦＹコマンドの処理結果を送信バッファに格納した後、端末に送信し、処理待ちリストから削除する。一方、端末では、受信したコマンドのＩＤが１であることを確認し、レスポンスを処理する。ＯＳは、さらに処理待ちリストの確認を行う。そして、優先度「80」であり、処理待ちリスト内で最も優先度が高い鍵生成コマンドを実行する。ＯＳは鍵生成コマンドの処理結果を送信バッファに格納した後、端末に送信し、処理待ちリストから削除する。処理待ちリストには、登録されたコマンドがなくなるため、端末からコマンドを受信して割り込みが入るまでループ処理に入ることになる。端末では、受信したコマンドのＩＤが「0A」であることを確認し、レスポンスを処理する。このレスポンスとは、例えば、鍵生成の結果がＯＫであるかＮＧであるかということである。
【図面の簡単な説明】
【００３０】
【図１】本発明に係るＩＣカードの機能ブロック図である。
【図２】元コマンドおよびリアルタイムコマンドの形式を示す図である。
【図３】ＩＣカード１におけるＣＰＵ４の処理全体の流れを示すフローチャートである。
【図４】ＶＥＲＩＦＹコマンドについての、元コマンド、リアルタイムコマンドのデータ配列を示す図である。
【図５】鍵生成コマンドについての、元コマンド、リアルタイムコマンドのデータ配列を示す図である。
【図６】処理待ちリストの一例を示す図である。
【符号の説明】
【００３１】
１・・・ＩＣカード
２・・・通信Ｉ／Ｆ
３・・・通信検知手段
４・・・ＣＰＵ
５・・・割込部
６・・・情報記憶領域
１０・・・端末
【図１】
2006092416.tif 000003
【図２】
2006092416.tif 000004
【図３】
2006092416.tif 000005
【図４】
2006092416.tif 000006
【図５】
2006092416.tif 000007
【図６】
2006092416.tif 000008