説明

スマートカードの操作システム及び方法

【課題】接触式通信と非接触式通信とを同時にサポートすることができ、スマートカードの使用における柔軟性を大幅に高めることができるスマートカードの操作システム及び方法を提供する。
【解決手段】スマートカード操作システムに電源を印加する際に、動作モード選択モジュール104がスマートカード操作システムの電源供給方式を判断し、非接触式電源により電源供給を行う場合は、非接触式動作モードを選択し、接触式電源により電源供給を行う場合は、混合動作モードを選択し、非接触式動作モードにおいて、コマンド処理モジュール108は、非接触式通信モジュール107が受信した非接触式コマンドを単独で処理し、混合動作モードにおいて、コマンド処理モジュール108は、接触式通信モジュール106が受信した接触式コマンドと、非接触式通信モジュール107が受信した非接触式コマンドとを並行で処理する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はスマートカードに関するものであり、特に、スマートカードの操作システム及び方法に関するものである。
【背景技術】
【0002】
スマートカードの技術の発展に伴い、スマートカードにさらに豊富で柔軟性のある機能を持たせることが望まれている。例えば、SIMカードに、伝統的なSIMカードの機能以外の支払カード、入門カード、タイムカードなどの機能をさらに持たせることにより、カードの多機能性を実現することができる。しかしながら、伝統的なスマートカード操作システムは、単独接触式通信方式のみ、または単独非接触式通信方式のみサポート可能であるため、スマートカードの使用における柔軟性が大幅に低下する。
【0003】
現在、デュアルインターフェース(接触式及び非接触式の通信)をサポートするスマートカード操作システムが知られているが、このスマートカード操作システムは、その電源供給方式により、それに対応する一種類の通信方式しかサポートできないと言う問題点を抱えている。すなわち、スマートカード操作システムが非接触式の端末装置の非接触フィールド中に置かれ、スマートカード操作システムのアンテナカップリングが電圧を発生し、非接触式の端末装置でスマートカード操作システムに単独で電源を供給する場合、スマートカード操作システムは単独非接触式動作モードを採用するので、非接触式通信のみしか行うことができない。一方、接触式電源によりスマートカード操作システムの電源を供給する場合、即ちスマートカード操作システムと接触式端末装置が提供する電源とが機械的に接続される場合、スマートカード操作システムは単独接触式動作モードを採用するので、接触式通信のみしか行うことができない。
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は、上記従来例の問題点を解決するためになされたものであり、スマートカード操作システムが接触式通信と非接触式通信とを同時にサポート可能なスマートカードの操作システム及び方法を提供することを目的としている。
【課題を解決するための手段】
【0005】
上記の目的を達成するため、請求項1に係る発明は、接触式通信モジュールと、非接触式通信モジュールと、コマンド処理モジュールとを備えるスマートカード操作システムであって、前記コマンド処理モジュールに接続される動作モード選択モジュール及び前記コマンド処理モジュールに接続されるクロック制御モジュールをさらに備え、前記動作モード選択モジュールは、前記スマートカード操作システムに対する電源供給が、非接触式端末装置が提供する非接触式電源により行われる場合、単独非接触式動作モードを特定し、電源供給が接触式端末装置を介して接触式電源によりスマートカード操作システムの電源供給が行われる場合、混合動作モードを特定して、前記コマンド処理モジュールに通知し、前記コマンド処理モジュールは、前記単独非接触式動作モードで、前記非接触式通信モジュールが受信した非接触式コマンドを単独で処理し、または、前記混合動作モードで、前記接触式通信モジュールが受信した接触式コマンドと前記非接触式通信モジュールが受信した非接触式コマンドを並行で処理し、前記クロック制御モジュールは、クロックソースを検出し、予め設定されたクロックソースの優先順位に基づき、使用可能のクロックソースを選択して、前記コマンド処理モジュールにクロックを提供することを特徴とする。
【0006】
請求項2に係る発明は、請求項1に記載のスマートカード操作システムにおいて、前記スマートカード操作システムは、前記動作モード選択モジュールと接続される電源制御モジュールをさらに備え、前記電源制御モジュールは、使用可能の電源を検出して、優先的に接触式電源を選択してスマートカード操作システムへの電源供給を行うとともに、特定された電源供給方式を前記動作モード選択モジュールに通知することを特徴とする。
【0007】
請求項3に係る発明は、請求項1又は請求項2に記載のスマートカード操作システムにおいて、前記スマートカード操作システムは、初期化モジュールをさらに備え、前記初期化モジュールは、前記スマートカード操作システムの共用レジスタ及び全体のパラメータの初期化を行うための通用初期化モジュールと、前記単独非接触式動作モードで、非接触式通信モジュールとコマンド処理モジュールとの初期化を行うための単独非接触式動作モード初期化モジュールと、前記混合モードで、非接触式通信モジュールと、接触式通信モジュールと、コマンド処理モジュールとの初期化を行うための混合動作モード初期化モジュールを備えたことを特徴とする。
【0008】
請求項4に係る発明は、請求項1乃至請求項3のいずれか一項に記載のスマートカード操作システムにおいて、前記コマンド処理モジュールは、コンテキスト切替サブモジュールと第1の記憶サブモジュールとを備え、前記第1記憶サブモジュールは、接触式チャンネルコンテキストと非接触式チャンネルコンテキストのそれぞれを記憶するためのものであり、前記コンテキスト切替サブモジュールは、処理待ちのコマンドのチャンネルに基づき、前記第1の記憶サブモジュール中に記憶される対応するチャンネルコンテキストを選択するためのものであることを特徴とする。
【0009】
請求項5に係る発明は、請求項1乃至請求項4のいずれか一項に記載のスマートカード操作システムにおいて、前記コマンド処理モジュールは、前記接触式通信モジュールが接触式コマンドを受信したかどうかと、非接触式通信モジュールが非接触式コマンドを受信したかどうかとを並行で検索するための検索サブモジュールを備えたことを特徴とする。
【0010】
請求項6に係る発明は、請求項1乃至請求項5のいずれか一項に記載のスマートカード操作システムにおいて、前記接触式通信モジュールは、接触式通信受信サブモジュールと、接触式通信送信サブモジュールと、接触式通信記憶サブモジュールとを備え、前記接触式通信記憶サブモジュールは、接触式コマンド受信フラグを記憶するためのものであり、前記接触式通信受信サブモジュールは、接触式コマンドを受信するとともに、前記接触式コマンド受信フラグを設定するためのものであり、前記接触式通信送信サブモジュールは、接触式コマンドの応答を送信するとともに、前記接触式コマンド受信フラグをクリアするためのものであることを特徴とする。
【0011】
請求項7に係る発明は、請求項1乃至請求項6のいずれか一項に記載のスマートカード操作システムにおいて、前記非接触式通信モジュールは、非接触式通信受信サブモジュールと、非接触式通信送信サブモジュールと、非接触式通信記憶サブモジュールとを備え、前記非接触式通信記憶サブモジュールは、非接触式コマンド受信フラグを記憶するためのものであり、前記非接触式通信受信サブモジュールは、非接触式コマンドを受信するとともに、前記非接触式コマンド受信フラグを設定するためのものであり、前記非接触式通信送信サブモジュールは、非接触式コマンドの応答を送信するとともに、前記非接触式コマンド受信フラグをクリアするためのものであることを特徴とする。
【0012】
請求項8に係る発明は、請求項1乃至請求項7のいずれか一項に記載のスマートカード操作システムにおいて、前記コマンド処理モジュールは休眠制御モジュールを備え、前記休眠制御モジュールは、待機状態の、または待機状態が所定の時間続いたスマートカード操作システムを、休眠状態に移行するように制御し、接触式通信モジュールまたは非接触式通信モジュールがコマンド受信後に発生する割り込みにより前記スマートカード操作システムを復帰させるためのものであることを特徴とする。
【0013】
請求項9に係る発明は、スマートカード操作方法であって、スマートカード操作システムに電源が印加されるとき、スマートカード操作システムの電源供給方式を判断し、前記スマートカード操作システムに対する電源供給が、非接触式端末装置が提供する非接触式電源により行われる場合、単独非接触式動作モードを特定し、電源供給が接触式端末装置を介して接触式電源によりスマートカード操作システムの電源供給が行われる場合、混合動作モードを選択し、前記単独非接触式動作モードでは、受信した非接触式コマンドを単独で処理し、前記混合動作モードでは、受信した接触式コマンドと前記非接触式通信モジュールが受信した非接触式コマンドを並行で処理し、クロックソースの優先順位を予め設定し、スマートカード操作システムに電源を印加する場合、または、電源は印加されているのに、現在動作クロックが消えた場合、前記優先順位に基づき、使用可能のクロックソースを選択して、スマートカード操作システムにクロックを提供することを特徴とする。
【0014】
請求項10に係る発明は、請求項9に記載のスマートカード操作方法において、非接触式電源と接触式電源とが同時に存在する場合、優先的に接触式電源を選択して、スマートカード操作システムの電源供給を行うことを特徴とする。
【0015】
請求項11に係る発明は、請求項8又は請求項9に記載のスマートカード操作方法において、前記混合動作モードにおいて、接触式コマンドまたは非接触式コマンドを処理する前に、まず、現在のチャンネルコンテキストがサポートするチャンネルと、処理待ちのコマンドのチャンネルとが一致するかどうかを判断し、一致しない場合は、チャンネルコンテキストを切替えてから、前記コマンドの再処理を行い、そうでない場合は、直接前記コマンドの処理を行うことを特徴とする。
【0016】
請求項12に係る発明は、請求項8乃至請求項11のいずれか一項に記載のスマートカード操作方法において、前記混合動作モードにおいて、接触式コマンドと非接触式コマンドとを受信したかどうかを並行で検索し、検索された接触式コマンドまたは非接触式コマンドを処理することを特徴とする。
【0017】
請求項13に係る発明は、請求項8乃至請求項12のいずれか一項に記載のスマートカード操作方法において、前記混合動作モードにおいて、接触式コマンドまたは非接触式コマンドを受信すると、接触式コマンドフラグまたは非接触式コマンドフラグを設定し、前記接触式コマンドまたは非接触式コマンドの応答を送信する際に、前記接触式コマンドフラグまたは非接触式コマンドフラグをクリアし、前記接触式コマンドフラグ及び非接触式コマンドフラグを並行で検索することにより、接触式コマンド及び非接触式コマンドを受信したかどうかの旨を取得し、検索された接触式コマンドまたは非接触式コマンドを処理するとともに、それに対応する応答を送信することを特徴とする。
【0018】
請求項14に係る発明は、請求項8乃至請求項13のいずれか一項に記載のスマートカード操作方法において、スマートカード操作システムが待機状態に置かれる場合、または待機状態が所定の時間続いた後、スマートカード操作システムを休眠状態に移行させ、スマートカード操作システムがコマンドを受信後、スマートカード操作システムを復帰させることを特徴とする。
【発明の効果】
【0019】
本発明によれば、スマートカード操作システムは、その電源供給方式に基づき、単独非接触式動作モードまたは混合動作モードを選択し、単独非接触式動作モードにおいては、受信した非接触式コマンドを単独で処理し、混合動作モードにおいては、接触式通信方式と非接触式通信方式とが同時に動作するようにサポートすることができるので、2種類の通信方式が互いに影響せず正確に動作でき、スマートカードの使用における柔軟性を大幅に高めることができる。
【発明を実施するための最良の形態】
【0020】
以下に、本発明の一実施形態に係るスマートカードの操作システム及び方法について、図面を参照しつつ具体的に説明する。
【0021】
本実施形態に係るスマートカード操作システムは、単独非接触式動作モードと、接触式及び非接触式の混合動作モード(以下、単に混合動作モードという)の2種類の動作モードについて規定している。このスマートカード操作システムに対する電源供給が、非接触式端末装置が提供する非接触式電源により行われる場合、スマートカード操作システムは、単独非接触式動作モードを採用するので、非接触式通信を行う。一方、接触式端末装置を介して接触式電源によりスマートカード操作システムの電源供給が行われる場合、スマートカード操作システムは、混合動作モードを採用するので、接触式通信と非接触式通信とを同時にサポートすることができる。
【0022】
図1に示すように、スマートカード操作システムは、電源制御モジュール102と、クロック制御モジュール103と、内部クロックモジュール105と、接触式通信モジュール106と、非接触式通信モジュール107と、制御モジュール109とを備え、さらに、制御モジュール109は、初期化モジュール101と、動作モード選択モジュール104と、コマンド処理モジュール108とを備えている。初期化モジュール101は、図2に示すように、通用初期化サブモジュール1011と、混合動作モード初期化サブモジュール1012と、単独非接触式動作モード初期化サブモジュール1013とを備えている。また、コマンド処理モジュール108は、図3示すように、検索サブモジュール1081と、コンテキスト切替サブモジュール1082と、コマンド処理記憶サブモジュール1083と、接触式コマンド処理サブモジュール1084と、非接触式コマンド処理サブモジュール1085と、休眠制御サブモジュール1086とを備えている。
【0023】
本実施形態において、非接触式通信モジュール107は、ISO14443−3/4の規格に準拠し、タイプAとタイプBのプロトコルとをサポートする。また、接触式通信モジュール106は、ISO7816−3/4の規格に準拠し、T=0/T=1のプロトコルをサポートする。
【0024】
本実施形態において、接触式通信と非接触式通信は、それぞれ独立したチャンネルを用いる。接触式通信と非接触式通信において、接触式データと非接触式データとが同時に到達することがあるので、接触式通信と非接触式通信とがそれぞれ独立したチャンネルを用いた場合、いずれのデータでも正確に受信することが確保できる。接触式データチャンネルは、ISO7816規格において定義されたピンC7を用い、非接触データチャンネルは、ISO7816規格において保留して使用しないピンC4及びC8を用いるようにしている。このような設計によれば、従来の規格と一致させることができる。
【0025】
このスマートカード操作システムに電源が印加されると、通用初期化サブモジュール1011は、スマートカード操作システムの共用レジスタ及び全体のパラメータに対して初期化を行う。通用初期化は、スマートカード操作システムが正常に動作するために必須とする一般的な操作であるので、ここでは、その具他的な説明を省略する。本実施形態において、通用初期化を行う際に、特に、電源制御モジュール102に対して初期化を行い、その優先電源を接触式電源に設定する。同時に、クロック制御モジュール103に対して初期化を行い、クロックソースの優先順位を、接触式外部クロックソース、非接触式外部クロックソース及び内部クロックソースの順に設定する。また、動作モード選択モジュール104に対して初期化を行い、コマンド処理モジュール108における接触式チャンネルコンテキストに対して初期化を行うとともに、コマンド処理モジュール108における非接触式チャンネルコンテキストに対して初期化を行い、コマンド処理モジュール108における現在チャンネルコンテキストを接触式チャンネルコンテキストに設定し、コマンド処理モジュール108中の現在使われているチャンネルを表すためのチャンネルフラグを接触式チャンネルに設定し、接触式通信モジュール106中の接触式コマンドを受信したかどうかを表すための接触式コマンドフラグを、接触式コマンドを受信してないことを表す0に設定し、非接触式通信モジュール107中の非接触式コマンドを受信したかどうかを表すための非接触式コマンドフラグを、非接触式コマンドを受信してないことを表す0に設定する。
【0026】
このスマートカード操作システムは、通用初期化が終了後、下記の動作を行う。
【0027】
(A1)
クロック制御モジュール103は、クロックソースの所定の優先順位の関係に基づき、使用可能なクロックソースを検出して選択的に出力することにより、制御モジュールにクロックを提供する。
【0028】
クロックソースは、その入力方式により、外部クロックソースと、内部クロックソースに分けられる。さらに、外部クロックソースは、接触式外部クロックソースと非接触式外部クロックソースに分けられるが、これらはそれぞれ接触式端末装置と非接触式端末装置により提供される。なお、内部クロックソースは、スマートカード操作システム中の内部クロックモジュール105により提供される。外部クロックソースが存在しない場合もあるが、スマートカード操作システムが休眠状態ではない限り、内部クロックソースは常時に存在する。
【0029】
クロック制御モジュール103の機能は、外部クロックソース(接触式外部クロックのみ又は非接触式外部クロックのみ存在する場合があり、両方の外部クロックが同時に存在する場合もある)と内部クロックソースの中から、クロックソースの所定の優先順位の関係に基づき、現在存在するクロックソース選択して、制御モジュール109に動作クロックを提供する。
【0030】
スマートカード操作システムに電源を印加する場合、又は、電源は印加されているけれども制御モジュール109の現在動作クロック突然消えた場合、クロック制御モジュール103は、クロックソースを検出して、クロックソースの所定の優先順位の関係に基づき、使用可能のクロックソースを選択して、制御モジュール109に動作クロックを提供する。
【0031】
上記の所定の優先順位の関係は、実際の需要に合わせて調整を行うことができる。本実施形態における所定の優先順位の関係は、接触式外部クロックソースが一番安定しているため、接触式外部クロックソースが存在するときは、それをスマートカード操作システムの動作クロックソースとして選択することが好ましい。内部クロックソースは、スマートカード操作システムが休眠状態でない限り常時存在するので、ある程度便利であるものの、大きい電力消費が生ずるため、スマートカード操作システムの動作に不利であることから、その優先順位を一番低く設定するようにする。
【0032】
(A2)
電源制御モジュール102は、スマートカード操作システムの電源供給方式を検出して、スマートカード操作システムに、単独の非接触式電源供給(非接触式電源による単独の電源供給)のみ、又は単独の接触式電源供給のみが存在する場合、電源供給方式を直接動作モード選択モジュール104に通知する。非接触式電源と接触式電源とが同時に存在する場合、スマートカード操作システムは、予め設定された電源の優先順位の関係に基づき一つの電源を選択して、スマートカード操作システムに対して電源供給を行うとともに、選択された電源供給方式を動作モード選択モジュール104に通知する。
【0033】
非接触式電源と接触式電源とが同時に存在する場合、電源制御モジュール102は、一つの電源を選択してスマートカード操作システムに対し電源供給を行うことにより、二つの電源がスマートカード操作システムに対して同時に電源供給を行うことによるチップの動作異常の発生(例えば、チップのダブルリセットの発生)を回避することができる。
【0034】
接触式電源のエネルギーが比較的十分且つ安定であり、スマートカード操作システムが接触式電源供給を採用する場合、混合動作モードを選択採用することにより、スマートカード操作システムが接触式コマンドと非接触式コマンドとを並行的に処理できるようにするため、動作モード選択モジュール104は、接触式電源を選択することが好ましい。スマートカード操作システムが単独非接触式動作モードに置かれた場合、電源制御モジュール102は、スマートカード操作システムに対し電源供給を行える接触式電源が存在することが検出されると、その接触式電源を選択してスマートカード操作システムに対し電源供給を行うとともに、動作モード選択モジュール104に通知する。
【0035】
動作モード選択モジュール104は、電源制御モジュール102から通知された電源供給方式に基づき、スマートカード操作システムの動作モードを選択する。電源制御モジュール102から通知された電源供給方式が非接触式電源による電源供給である場合、動作モード選択モジュール104は、スマートカード操作システムに対し単独非接触式動作モードを選択する。一方、電源制御モジュール102から通知された電源供給方式が接触式電源による電源供給である場合、動作モード選択モジュール104は、スマートカード操作システムに対し混合動作モードを選択する。以下、選択された動作モードについて、それぞれ具体的に説明する。
【0036】
(1)単独非接触式動作モード
動作モード選択モジュール104が、スマートカード操作システムに対し単独非接触式動作モードを選択してから、単独非接触式動作モード初期化コマンドを単独非接触式動作モード初期化サブモジュール1013に送信すると、単独非接触式動作モード初期化サブモジュール1013は、非接触式通信モジュール107とコマンド処理モジュール108に対して単独非接触式動作モード初期化を行う。すなわち、単独非接触式動作モード初期化サブモジュール1013は、それぞれ下記の動作を行う。
【0037】
(B1)
非接触式通信モジュール107において、非接触式通信を行う際に必要とするレジスタを設けることにより、接触式通信モジュール107の送受信に割り込み方式を用いるとともに、非接触式通信モジュール107が非接触式コマンドを受信してから割り込みを発生してコマンド処理モジュール108に通知するようにする。
【0038】
(B2)
コマンド処理モジュール108における現在チャンネルコンテキストを非接触式チャンネルコンテキストに設定し、チャンネルフラグを非接触式チャンネルに設定するとともに、コマンド処理モジュール108に単独非接触式動作モードを採用するように通知する。
【0039】
コマンド処理モジュール108は、単独非接触式動作モードを採用する。すなわち、単独非接触式動作モード初期化サブモジュール1013が非接触式通信モジュール107とコマンド処理モジュール108に対する単独非接触式動作モード初期化を終了すると、休眠制御サブモジュール1086は、スマートカード操作システムを休眠状態に移行させ、非接触式通信モジュール107に割り込みが発生するまで待機し、非接触式通信モジュール107に割り込みが発生後スマートカード操作システムを復帰させ、非接触式コマンド処理サブモジュール1085に接触式コマンドを処理するように通知する。非接触式コマンド処理サブモジュール1085は、非接触式コマンドに対する処理が終了後、非接触式コマンドの応答を非接触式通信モジュール107に送信し、その応答の送信終了後所定時間待機する。所定時間内に、非接触式通信モジュール107に再度割り込みが発生された場合、非接触式コマンド処理サブモジュール1085は、割り込みにより非接触式コマンドを処理し、そうでない場合は、休眠制御サブモジュール1086に通知する。休眠制御サブモジュール1086は、スマートカード操作システムを休眠状態に移行させ、非接触式通信モジュール107に次の割り込みが発生するまで待機する(非接触式コマンド処理サブモジュール1085は、応答の送信が終了後、直ちに、休眠制御サブモジュール1086にスマートカード操作システムを休眠状態に移行させるよう通知してから、非接触式通信モジュール107に次の割り込みが発生するまで待機する)。
【0040】
上記のように、スマートカード操作システムが単独非接触式動作モードにおいて動作する場合、図4示すように、以下のステップを含む。
【0041】
休眠制御サブモジュール1086は、スマートカード操作システムを休眠状態に移行させてから、非接触式通信モジュール107に割り込みが発生するまで待機する(ステップ301)。
【0042】
非接触式通信モジュール107は、非接触式コマンドを受信して割り込みを発生し、休眠制御サブモジュール1086に通知する(ステップ302)。
【0043】
休眠制御サブモジュール1086は、スマートカード操作システムを復帰させて、非接触式コマンド処理サブモジュール1085にその非接触式コマンドを処理するように通知する(ステップ303)。
【0044】
非接触式コマンド処理サブモジュール1085は、クロック制御モジュール103が提供したクロックに基づき、非接触式コマンドを読出して処理する(ステップ304)。
【0045】
非接触式コマンド処理サブモジュール1085は、非接触式通信モジュール107にその非接触式コマンドの応答を送信する(ステップ305)。
【0046】
非接触式コマンド処理サブモジュール1085は、所定時間を待機する。所定時間内に、非接触式通信モジュール107に再度割り込みが発生した場合、ステップ304に戻り、そうでない場合、休眠制御サブモジュール1086に通知してから、ステップ301に戻る(ステップ306)。
【0047】
(2)混合動作モード
動作モード選択モジュール104がスマートカード操作システムに対し混合動作モードを選択してから、混合動作モード初期化コマンドを混合動作モード初期化サブモジュール1012に送信すると、混合動作モード初期化サブモジュール1012は、接触式通信モジュール106と、非接触式通信モジュール107と、コマンド処理モジュール108に対し混合動作モード初期化を行う。すなわち、混合動作モード初期化サブモジュール1012は、それぞれ下記のような動作を行う。
【0048】
(C1)
接触式通信モジュール106において、接触式通信を行う際に必要とするレジスタを設けることにより、接触式通信モジュール106の受信には割り込み方式を用い、送信にはポーリング方式を用いて、接触式通信モジュール106を混合動作モードで動作させるとともに、接触式リセット応答を、スマートカード操作システムに対し電源供給を行う接触式端末装置に送信するようにする。
【0049】
本実施形態において、混合動作モード初期化を行うとき、接触式通信モジュール106の受信には割り込み方式を用い、送信にはポーリング方式を用いたが、本発明を具体的に実施する際、接触式データの受信及び送信に用いる動作方式は、それらに限定されるものではなく、接触式通信モジュール106の受信及び送信は、それぞれ割り込み方式及びポーリング方式を用いてもよい。図5示すように、さらに、接触式通信モジュール106は、接触式通信受信サブモジュール1061と、接触式通信記憶サブモジュール1064と、接触式通信送信サブモジュール1065とを備えている。
【0050】
さらに、接触式通信受信サブモジュール1061は、接触式通信受信ポート1062と接触式通信受信制御ユニット1063とを備えている。接触式通信受信サブモジュール1061の二種類の動作方式は下記の通りである。
【0051】
ポーリング方式
接触式通信受信制御ユニット1063は、常に、接触式通信受信ポート1062にデータが到達したかどうかを検出し、データの到達が検出されると、接触式通信記憶サブモジュール1064中の指定のアドレスに、そのデータを記憶させる。
【0052】
割り込み方式
接触式通信受信ポート1062が、データ受信後割り込みを発生して接触式通信受信制御ユニット1063に通知すると、接触式通信受信制御ユニット1063は、データを接触式通信記憶サブモジュール1064中の指定のアドレスに記憶させる。
【0053】
接触式通信受信ポート1062は、一つの接触式コマンドのバイト数より少ない限られたバイト数しか受信できない場合、例えば、一つの接触式コマンドが5バイトを含んでいるのに、一回に1バイトしか受信できない場合がある。そのため、接触式通信受信ポート1062は、ポーリング方式を用いてデータを受信すると、1バイトが到達後直ちに読み取れないことがあるため、その後に到達したデータにより前の読み取れなかったデータが消されるおそれがある。しかし、割り込み方式を利用すると、スマートカード操作システムがどのような状態に置かれたとしても、正確に接触式コマンドを受信することができる。そこで、本実施形態に係る接触式通信受信サブモジュール1061では割り込み方式を用いているが、本発明を具体的に実施する際、接触式データの受信に用いる動作方式は、それに限定されるものではない。
【0054】
接触式通信モジュール106が混合動作モードで動作する際に、接触式通信受信制御ユニット1063は、接触式コマンドを受信後、割り込みを発生してコマンド処理モジュール108に通知することにより、接触式通信記憶サブモジュール1064中の接触式コマンドフラグを1に設定して、接触式コマンドを受信したことを表すようにする。なお、割り込みを発生してコマンド処理モジュール108に通知する目的は、このとき、スマートカード操作システムが休眠状態に置かれた場合、コマンド処理モジュール108がこの割り込みによりスマートカード操作システムを復帰させるためであるが、混合動作モードで動作を行っている場合、コマンド処理モジュール108は、割り込みが発生したとしても、受信した接触式コマンドの処理を開始することはない。
【0055】
さらに、接触式通信送信サブモジュール1065は、接触式通信送信ポート1066と接触式通信送信制御ユニット1067とを備えている。接触式通信送信サブモジュール1065の二種類の動作方式は下記の通りである。
【0056】
ポーリング方式
接触式通信送信制御ユニット1067は、送信待ちの接触式データを接触式通信送信ポート1066に送信してから、接触式通信送信ポート1066がデータの送信を終了したかどうかを、送信終了するまで常に検出する。
【0057】
割り込み方式
接触式通信送信制御ユニット1067は、送信待ちの接触式データを接触式通信送信ポート1066に送信し、接触式通信送信ポート1066は、データの送信を終了後、割り込みを発生して接触式通信送信制御ユニット1067に通知するようにする。
【0058】
本実施形態において、接触式通信送信サブモジュール1065がポーリング方式を用いたが、本発明を具体的に実施する際、接触式データの送信に用いる動作方式は、それに限定されるものではない。
【0059】
接触式通信モジュール106が混合動作モードで動作する際に、接触式通信送信制御ユニット1067は、接触式コマンドの応答の送信終了後、接触式通信記憶サブモジュール1064中の接触式コマンド及び接触式コマンドフラグをクリアするようにする。
【0060】
(C2)
非接触式通信モジュール107において、非接触式通信を行う際に必要とするレジスタを設けることにより、非接触式通信モジュール107の受信及び送信に割り込み方式を用いて、非接触式通信モジュール107を混合動作モードで動作させるようにする。
【0061】
本実施形態において、混合動作モード初期化を行うとき、非接触式通信モジュール107の受信及び送信に割り込み方式を用いたが、本発明を具体的に実施する際、非接触式データの受信及び送信に用いる動作方式は、それに限定されるものではなく、非接触式通信モジュール107の受信及び送信に、それぞれ割り込み方式及びポーリング方式を用いてもよい。図6示すように、さらに、非接触式通信モジュール107は、非接触式通信受信サブモジュール1071と、非接触式通信記憶サブモジュール1074と、非接触式通信送信サブモジュール1075とを備えている。
【0062】
さらに、非接触式通信受信サブモジュール1071は、非接触式通信受信ポート1072と非接触式通信受信制御ユニット1073とを備えている。非接触式通信受信サブモジュール1071の二種類の動作方式は下記の通りである。
【0063】
ポーリング方式
非接触式通信受信制御ユニット1073は、常に、非接触式通信受信ポート1072にデータが到達したかどうかを検出し、データの到達が検出されると、非接触式通信記憶サブモジュール1074中の指定のアドレスに、そのデータを記憶させる。
【0064】
割り込み方式
非接触式通信受信ポート1072が、データが到達した場合、割り込みを発生して非接触式通信受信制御ユニット1073に通知すると、非接触式通信受信制御ユニット1073は、データを非接触式通信記憶サブモジュール1074中の指定のアドレスに記憶させる。
【0065】
本実施形態において、非接触式通信受信サブモジュール1071が割り込み方式を用いたが、本発明を具体的に実施する際、非接触式データの受信に用いる動作方式は、それに限定されるものではない。
【0066】
非接触式通信モジュール107が混合動作モードで動作する際に、非接触式通信受信制御ユニット1073は、非接触式コマンドを受信後、割り込みを発生してコマンド処理モジュール108に通知することにより、非接触式コマンドフラグを1に設定して、非接触式コマンドを受信したことを表すようにする。なお、割り込みを発生してコマンド処理モジュール108に通知する目的は、このとき、スマートカード操作システムが休眠状態に置かれた場合、コマンド処理モジュール108がこの割り込みによりスマートカード操作システムを復帰させるためであるが、混合動作モードで動作を行っている場合、コマンド処理モジュール108は、割り込みが発生したとしても、受信した非接触式コマンドの処理を開始することはない。
【0067】
さらに、非接触式通信送信サブモジュール1075は、非接触式通信送信ポート1076と非接触式通信送信制御ユニット1077とを備えている。非接触式通信送信サブモジュール1075の二種類の動作方式は下記の通りである。
【0068】
ポーリング方式
非接触式通信送信制御ユニット1077は、送信待ちの非接触式データを非接触式通信送信ポート1076に送信してから、データの送信を終了したかどうかを、送信終了するまで常に検出する。
【0069】
割り込み方式
非接触式通信送信制御ユニット1077は、送信待ちの非接触式データを非接触式通信送信ポート1076に送信し、非接触式通信送信ポート1076は、データの送信を終了後、割り込みを発生して非接触式通信送信制御ユニット1077に通知するようにする。
【0070】
本実施形態において、非接触式通信送信サブモジュール1075が割り込み方式を用いたが、本発明を具体的に実施する際、非接触式データの送信に用いる動作方式は、それに限定されるものではない。
【0071】
非接触式通信モジュール107が混合動作モードで動作する際に、非接触式通信送信制御ユニット1077が非接触式コマンドの応答の送信終了後、非接触式通信記憶サブモジュール1074中の非接触式コマンド及び非接触式コマンドフラグをクリアするようにする。
【0072】
(C3)
コマンド処理モジュール108に混合動作モードを採用するように通知すると、コマンド処理モジュール108は混合動作モードを採用する。
【0073】
コマンド処理モジュール108が混合動作モードを採用する旨を取得した後の処理は、図7示すように、以下のステップを含む。
【0074】
検索サブモジュール1081は、接触式通信記憶サブモジュール1064中に記憶された接触式コマンド受信フラグが0であるかどうかを検索し、YESである場合、ステップS405に進み、NOである場合、ステップS402に進む(ステップS401)。
【0075】
検索サブモジュール1081が、コンテキスト切替サブモジュール1082に、接触式通信モジュール106が接触式コマンドを受信したことを通知すると、コンテキスト切替サブモジュール1082は、コマンド処理記憶サブモジュール1083中に記憶されたチャンネルフラグが接触式チャンネルであるかどうかを判断し、YESである場合、ステップS404に進み、NOである場合、チャンネルフラグが非接触式チャンネルであるので、ステップS403に進む(ステップS402)。
【0076】
コンテキスト切替サブモジュール1082は、チャンネルフラグを接触式チャンネルに設定し、チャンネルコンテキストを接触式チャンネルコンテキストに切替える(ステップS403)。「チャンネルコンテキストを接触式チャンネルコンテキストに切替える」とは、現在のチャンネルコンテキスト、即ち非接触式チャンネルコンテキストをコマンド処理記憶サブモジュール1083に記憶させるとともに、コマンド処理記憶サブモジュール1083中に記憶された接触式チャンネルコンテキストを用いて、現在のチャンネルコンテキストを更新することを言う。
【0077】
コンテキスト切替サブモジュール1082は、接触式コマンド処理サブモジュール1084に、接触式通信モジュール106が接触式コマンドを受信したことを通知する。接触式コマンド処理サブモジュール1084は、接触式通信記憶サブモジュール1064から接触式コマンドを読出して処理を行い、コマンド処理記憶サブモジュール1083中のチャンネルフラグに基づき、その接触式コマンドの応答を接触式通信モジュール106に送信してから、ステップS401に戻る(ステップS404)。
【0078】
検索サブモジュール1081は、非接触式通信記憶サブモジュール1074中に記憶された非接触式コマンド受信フラグが0であるかどうかを検索し、YESである場合、ステップS409に進み、NOである場合、ステップS406に進む(ステップS405)。
【0079】
検索サブモジュール1081が、コンテキスト切替サブモジュール1082に、非接触式通信モジュール107が非接触式コマンドを受信したことを通知すると、コンテキスト切替サブモジュール1082は、コマンド処理記憶サブモジュール1083中に記憶されたチャンネルフラグが非接触式チャンネルであるかどうかを判断し、YESである場合、ステップS408に進み、NOである場合、チャンネルフラグが接触式チャンネルであるので、ステップS407に進む(ステップS406)。
【0080】
コンテキスト切替サブモジュール1082は、チャンネルフラグを非接触式チャンネルに設定し、チャンネルコンテキストを非接触式チャンネルコンテキストに切替える(ステップS407)。「チャンネルコンテキストを非接触式チャンネルコンテキストに切替える」とは、現在のチャンネルコンテキスト、即ち接触式チャンネルコンテキストをコマンド処理記憶サブモジュール1083に記憶させるとともに、コマンド処理記憶サブモジュール1083中に記憶された非接触式チャンネルコンテキストを用いて、現在のチャンネルコンテキストを更新することを言う。
【0081】
コンテキスト切替サブモジュール1082が、非接触式コマンド処理サブモジュール1085に、非接触式通信モジュール107が非接触式コマンドを受信したことを通知すると、非接触式コマンド処理サブモジュール1085は、非接触式通信記憶サブモジュール1074から非接触式コマンドを読出して処理を行い、チャンネルフラグに基づき、非接触式コマンドの応答を非接触式通信モジュール107に送信してから、ステップS401に戻る(ステップS408)。
【0082】
検索サブモジュール1081が、休眠制御サブモジュール1086に、現在処理待ちのコマンドが存在しないことを通知すると、休眠制御サブモジュール1086は、スマートカード操作システムを休眠状態に移行させ、接触式通信モジュール106または非接触式通信モジュール107に割り込みが発生するまで待機し、且つこの割り込みによりスマートカード操作システムを復帰させ、スマートカード操作システムを復帰させてから、ステップS401に戻る(ステップS409)。
【0083】
上述の各ステップにおいて、その具体的な操作は実際の必要に応じて決めればよい。例えば、検索サブモジュール1081が、まず、非接触式コマンド受信フラグが0であるかどうかを検索し、非接触式コマンド受信フラグが0である場合、接触式コマンド受信フラグが0であるかどうかを再検索してもよい。
【0084】
本発明を具体的に実施する際、接触式通信モジュール106と非接触式通信モジュール107は、接触式コマンド受信フラグと非接触式コマンド受信フラグとを設定しなくてもよい。このとき、検索サブモジュール1081が、接触式通信記憶サブモジュール1064と非接触式通信記憶サブモジュール1074中の指定の、接触式コマンド及び非接触式コマンドを記憶するアドレスに、接触式コマンド及び非接触式コマンドが記憶されているかどうかを直接検索し、コマンドを検索した後、接触式コマンド処理サブモジュール1084に、検索されたコマンドを読出して処理するように通知すればよい。そうすることによっても、接触式コマンド及び非接触式コマンドに対して個別の処理を行うことができる。
【0085】
本実施形態において、コマンド処理モジュール108は、接触式コマンド受信フラグと非接触式コマンド受信フラグとが検索されない場合、スマートカード操作システムを休眠状態に移行させるようにしたが、これは省エネの観点から出発したことであり、本発明を具体的に実施する際に、スマートカード操作システムを休眠状態に移行させず、引き続き接触式コマンド受信フラグ及び非接触式コマンド受信フラグを検索するようにしてもよい。
【0086】
当然のことながら、当業者が、本発明の精神と範囲を逸脱しない範囲内で、本発明に対し様々な変更及び変形を行ってもよい。これらの本発明に対する変更及び変形が、本願の特許請求の範囲及びそれに同等の技術的範囲内に含まれる場合、本発明は、これらの変更及び変形も含むことを意図している。
【図面の簡単な説明】
【0087】
【図1】本発明の一実施形態に係るスマートカード操作システムのブロック図。
【図2】本発明の一実施形態に係る初期化モジュールのブロック図。
【図3】本発明の一実施形態に係るコマンド処理モジュールのブロック図。
【図4】本発明の一実施形態に係る単独非接触式動作モードのフローチャート。
【図5】本発明の一実施形態に係る接触式通信モジュールのブロック図。
【図6】本発明の一実施形態に係る非接触式通信モジュールのブロック図。
【図7】本発明の一実施形態に係る混合動作モードにおいて、コマンド処理モジュールがコマンドの処理を行うフローチャート。
【符号の説明】
【0088】
101 初期化モジュール
102 電源制御モジュール
103 クロック制御モジュール
104 動作モード選択モジュール
105 内部クロックモジュール
106 接触式通信モジュール
107 非接触式通信モジュール
108 コマンド処理モジュール
1011 通用初期化サブモジュール
1012 混合動作モード初期化サブモジュール
1013 単独非接触式動作モード初期化サブモジュール
1061 接触式通信受信サブモジュール
1062 接触式通信受信ポート
1063 接触式通信受信制御ユニット
1064 接触式通信記憶サブモジュール
1065 接触式通信送信サブモジュール
1066 接触式通信送信ポート
1067 接触式通信送信制御ユニット
1071 非接触式通信受信サブモジュール
1072 非接触式通信受信ポート
1073 非接触式通信受信制御ユニット
1074 非接触式通信記憶サブモジュール
1075 非接触式通信送信サブモジュール
1076 非接触式通信送信ポート
1077 非接触式通信送信制御ユニット
1081 検索サブモジュール
1082 コンテキスト切替サブモジュール
1083 コマンド処理記憶サブモジュール
1084 接触式コマンド処理サブモジュール
1085 非接触式コマンド処理サブモジュール
1086 休眠制御サブモジュール

【特許請求の範囲】
【請求項1】
接触式通信モジュールと、非接触式通信モジュールと、コマンド処理モジュールとを備えるスマートカード操作システムであって、
前記コマンド処理モジュールに接続される動作モード選択モジュール及び前記コマンド処理モジュールに接続されるクロック制御モジュールをさらに備え、
前記動作モード選択モジュールは、前記スマートカード操作システムに対する電源供給が、非接触式端末装置が提供する非接触式電源により行われる場合、単独非接触式動作モードを特定し、電源供給が接触式端末装置を介して接触式電源によりスマートカード操作システムの電源供給が行われる場合、混合動作モードを特定して、前記コマンド処理モジュールに通知し、
前記コマンド処理モジュールは、前記単独非接触式動作モードで、前記非接触式通信モジュールが受信した非接触式コマンドを単独で処理し、または、前記混合動作モードで、前記接触式通信モジュールが受信した接触式コマンドと前記非接触式通信モジュールが受信した非接触式コマンドを並行で処理し、
前記クロック制御モジュールは、クロックソースを検出し、予め設定されたクロックソースの優先順位に基づき、使用可能のクロックソースを選択して、前記コマンド処理モジュールにクロックを提供することを特徴とするスマートカード操作システム。
【請求項2】
前記スマートカード操作システムは、前記動作モード選択モジュールと接続される電源制御モジュールをさらに備え、
前記電源制御モジュールは、使用可能の電源を検出して、優先的に接触式電源を選択してスマートカード操作システムへの電源供給を行うとともに、特定された電源供給方式を前記動作モード選択モジュールに通知することを特徴とする請求項1に記載のスマートカード操作システム。
【請求項3】
前記スマートカード操作システムは、初期化モジュールをさらに備え、
前記初期化モジュールは、
前記スマートカード操作システムの共用レジスタ及び全体のパラメータの初期化を行うための通用初期化モジュールと、
前記単独非接触式動作モードで、非接触式通信モジュールとコマンド処理モジュールとの初期化を行うための単独非接触式動作モード初期化モジュールと、
前記混合モードで、非接触式通信モジュールと、接触式通信モジュールと、コマンド処理モジュールとの初期化を行うための混合動作モード初期化モジュールを備えたことを特徴とする請求項1又は請求項2に記載のスマートカード操作システム。
【請求項4】
前記コマンド処理モジュールは、コンテキスト切替サブモジュールと第1の記憶サブモジュールとを備え、
前記第1記憶サブモジュールは、接触式チャンネルコンテキストと非接触式チャンネルコンテキストのそれぞれを記憶するためのものであり、
前記コンテキスト切替サブモジュールは、処理待ちのコマンドのチャンネルに基づき、前記第1の記憶サブモジュール中に記憶される対応するチャンネルコンテキストを選択するためのものであることを特徴とする請求項1乃至請求項3のいずれか一項に記載のスマートカード操作システム。
【請求項5】
前記コマンド処理モジュールは、前記接触式通信モジュールが接触式コマンドを受信したかどうかと、非接触式通信モジュールが非接触式コマンドを受信したかどうかとを並行で検索するための検索サブモジュールを備えたことを特徴とする請求項1乃至請求項4のいずれか一項に記載のスマートカード操作システム。
【請求項6】
前記接触式通信モジュールは、接触式通信受信サブモジュールと、接触式通信送信サブモジュールと、接触式通信記憶サブモジュールとを備え、
前記接触式通信記憶サブモジュールは、接触式コマンド受信フラグを記憶するためのものであり、
前記接触式通信受信サブモジュールは、接触式コマンドを受信するとともに、前記接触式コマンド受信フラグを設定するためのものであり、
前記接触式通信送信サブモジュールは、接触式コマンドの応答を送信するとともに、前記接触式コマンド受信フラグをクリアするためのものであることを特徴とする請求項1乃至請求項5のいずれか一項に記載のスマートカード操作システム。
【請求項7】
前記非接触式通信モジュールは、非接触式通信受信サブモジュールと、非接触式通信送信サブモジュールと、非接触式通信記憶サブモジュールとを備え、
前記非接触式通信記憶サブモジュールは、非接触式コマンド受信フラグを記憶するためのものであり、
前記非接触式通信受信サブモジュールは、非接触式コマンドを受信するとともに、前記非接触式コマンド受信フラグを設定するためのものであり、
前記非接触式通信送信サブモジュールは、非接触式コマンドの応答を送信するとともに、前記非接触式コマンド受信フラグをクリアするためのものであることを特徴とする請求項1乃至請求項6のいずれか一項に記載のスマートカード操作システム。
【請求項8】
前記コマンド処理モジュールは休眠制御モジュールを備え、
前記休眠制御モジュールは、待機状態の、または待機状態が所定の時間続いたスマートカード操作システムを、休眠状態に移行するように制御し、接触式通信モジュールまたは非接触式通信モジュールがコマンド受信後に発生する割り込みにより前記スマートカード操作システムを復帰させるためのものであることを特徴とする請求項1乃至請求項7のいずれか一項に記載のスマートカード操作システム。
【請求項9】
スマートカード操作システムに電源が印加されるとき、スマートカード操作システムの電源供給方式を判断し、前記スマートカード操作システムに対する電源供給が、非接触式端末装置が提供する非接触式電源により行われる場合、単独非接触式動作モードを特定し、電源供給が接触式端末装置を介して接触式電源によりスマートカード操作システムの電源供給が行われる場合、混合動作モードを選択し、
前記単独非接触式動作モードでは、受信した非接触式コマンドを単独で処理し、前記混合動作モードでは、受信した接触式コマンドと前記非接触式通信モジュールが受信した非接触式コマンドを並行で処理し、
クロックソースの優先順位を予め設定し、スマートカード操作システムに電源を印加する場合、または、電源は印加されているのに、現在動作クロックが消えた場合、前記優先順位に基づき、使用可能のクロックソースを選択して、スマートカード操作システムにクロックを提供することを特徴とするスマートカード操作方法。
【請求項10】
非接触式電源と接触式電源とが同時に存在する場合、優先的に接触式電源を選択して、スマートカード操作システムの電源供給を行うことを特徴とする請求項9に記載のスマートカード操作方法。
【請求項11】
前記混合動作モードにおいて、接触式コマンドまたは非接触式コマンドを処理する前に、まず、現在のチャンネルコンテキストがサポートするチャンネルと、処理待ちのコマンドのチャンネルとが一致するかどうかを判断し、一致しない場合は、チャンネルコンテキストを切替えてから、前記コマンドの再処理を行い、そうでない場合は、直接前記コマンドの処理を行うことを特徴とする請求項8又は請求項9に記載のスマートカード操作方法。
【請求項12】
前記混合動作モードにおいて、接触式コマンドと非接触式コマンドとを受信したかどうかを並行で検索し、検索された接触式コマンドまたは非接触式コマンドを処理することを特徴とする請求項8乃至請求項11のいずれか一項に記載のスマートカード操作方法。
【請求項13】
前記混合動作モードにおいて、
接触式コマンドまたは非接触式コマンドを受信すると、接触式コマンドフラグまたは非接触式コマンドフラグを設定し、
前記接触式コマンドまたは非接触式コマンドの応答を送信する際に、前記接触式コマンドフラグまたは非接触式コマンドフラグをクリアし、
前記接触式コマンドフラグ及び非接触式コマンドフラグを並行で検索することにより、接触式コマンド及び非接触式コマンドを受信したかどうかの旨を取得し、検索された接触式コマンドまたは非接触式コマンドを処理するとともに、それに対応する応答を送信することを特徴とする請求項8乃至請求項12のいずれか一項に記載のスマートカード操作方法。
【請求項14】
スマートカード操作システムが待機状態に置かれる場合、または待機状態が所定の時間続いた後、スマートカード操作システムを休眠状態に移行させ、スマートカード操作システムがコマンドを受信後、スマートカード操作システムを復帰させることを特徴とする請求項8乃至請求項13のいずれか一項に記載のスマートカード操作方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−70703(P2011−70703A)
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願番号】特願2010−287740(P2010−287740)
【出願日】平成22年12月24日(2010.12.24)
【分割の表示】特願2007−162266(P2007−162266)の分割
【原出願日】平成19年6月20日(2007.6.20)
【出願人】(507205726)北京握奇数据系統有限公司 (3)
【Fターム(参考)】