(57)【要約】【課題】ＩＣカードとＵＳＢ通信する際に、ＩＣカード間のデータ転送効率を向上させるＩＣカード通信方法を提供する。【解決手段】本発明に係るＩＣカード通信方法は、ＵＳＢインターフェースを備えたＩＣカードとＵＳＢ通信する際、ＵＳＢのフレームに、ＩＣカード用の複数のトランザクション３０ｃを含ませることで、ＩＣカード端末とＩＣカード間のデータ伝送効率を向上させる。なお、本発明に係るＩＣカード通信方法は、ＩＣカード端末に実装されるコンピュータプログラム（ＵＳＢドライバ）で実現される。【選択図】図５
2008027386.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢの通信インターフェースを備えたＩＣカードと通信する方法であって、ＩＣカードと通信するときは、繰返し転送されるＵＳＢのフレームにおいて、前記ＩＣカードとの転送方式のために確保された時間領域内に、前記ＩＣカードに割当てられたデバイスアドレスを含む複数のトランザクションを形成することを特徴とするＩＣカード通信方法。
【請求項２】
ＵＳＢ用の通信インターフェースを備えたＩＣカードと通信するＩＣカード端末であって、ＩＣカードと通信するときは、繰返し転送されるＵＳＢのフレームにおいて、前記ＩＣカードとの転送方式のために確保された時間領域内に、前記ＩＣカードに割当てられたデバイスアドレスを含む複数のトランザクションを形成することを特徴とするＩＣカード端末装置。
【請求項３】
ＵＳＢ用の通信インターフェースを備えたＩＣカードと通信するＩＣカード端末に実装されるコンピュータプログラムであって、ＩＣカードと通信するときは、繰返し転送されるＵＳＢのフレームにおいて、前記ＩＣカードとの転送方式のために確保された時間領域内に、前記ＩＣカードに割当てられたデバイスアドレスを含む複数のトランザクションを形成する機能を、前記ＩＣカード端末に実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードと通信する技術に関し、更に詳しくは、ＵＳＢの通信インターフェースを備えたＩＣカードと通信するＩＣカード通信方法、このＩＣカードと通信するＩＣカード端末およびＩＣカード端末に実装されるコンピュータプログラムに関する。
【背景技術】
【０００２】
ＩＣカードに実装されるＩＣチップのメモリ容量が増加するに伴い、ホストとＩＣカード間で伝送されるデータ量も増加する。例えば、ＩＣカードのメモリに電子証明書を記憶させた場合、電子証明書のデータ量は数キロバイトにも呼ぶため、ＩＣカードがホストに電子証明書を送信する場合、ＩＣカードは数キロバイトのデータをホストに送信しなければならない。
【０００３】
ＩＣカード用の伝送プロトコルの規格としては、ＩＳＯ／ＩＥＣ７８１６規格でＴ＝０，Ｔ＝１などの伝送プロトコルが定義されている。しかし、ＩＳＯ／ＩＥＣ７８１６規格で規格化されている伝送プロトコルの伝送速度は標準で９６００ｂｐｓと遅く、電子証明書などのデータ量の大きいデータの伝送には不向きである。
【０００４】
そこで、通信インターフェースとして、パーソナルコンピュータの分野で広く利用されているユニバーサルシリアルバス（USB: Universal Serial Bus）を備えたＩＣカードも開発され、伝送速度を向上させる試みがなされている（例えば、特許文献１、２）。
【特許文献１】特表２００３−５２６８６３号公報
【特許文献２】特表２００３−５３２９３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＵＳＢの通信インターフェースを備えたＩＣカードとＵＳＢ通信する際は、ＩＣカードと上位装置間に物理的に形成されるＵＳＢバス上に、１ｍｓを単位時間とするフレームが確立される。
【０００６】
一つのフレームには、上位装置にＵＳＢで接続されたそれぞれのデバイスに対して送信される複数のトランザクションが含まれ、ＵＳＢでＩＣカードと通信する場合、ＩＣカード用のトランザクションが、一つのフレームに含まれる。
【０００７】
しかし、一般的に、一つのフレームに含まれるＩＣカード用のトランザクションは一つであるため、一つのフレームをＩＣカードとのデータ伝送のために有効活用できない問題があった。
【０００８】
そこで、本発明は、ＩＣカードとＵＳＢ通信する際に、ＩＣカードとのデータ伝送のために一つのフレームを有効活用することで、ＩＣカード間のデータ転送効率を向上させるＩＣカード通信方法、ＩＣカード端末及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決する第１の発明は、ＵＳＢの通信インターフェースを備えたＩＣカードと通信する方法であって、ＩＣカードと通信するときは、繰返し転送されるＵＳＢのフレームの中で、前記ＩＣカードとの転送方式のために確保された時間領域内に、前記ＩＣカードに割当てられたデバイスアドレスを含む複数のトランザクションを形成することを特徴とするＩＣカード通信方法である。
【００１０】
更に、第２の発明は、ＵＳＢの通信インターフェースを備えたＩＣカードと通信するＩＣカード端末であって、ＩＣカードと通信するときは、繰返し転送されるＵＳＢのフレームの中で、前記ＩＣカードの転送方式のために確保された時間領域内に、前記ＩＣカードに割当てられたデバイスアドレスを含む複数のトランザクションを形成することを特徴とするＩＣカード端末装置である。
【００１１】
更に、第３の発明は、ＵＳＢの通信インターフェースを備えたＩＣカードと通信するＩＣカード端末に実装されるコンピュータプログラムであって、ＩＣカードと通信するときは、繰返し転送されるＵＳＢのフレームの中で、前記ＩＣカードの転送方式のために確保された時間領域内に、前記ＩＣカードに割当てられたデバイスアドレスを含む複数のトランザクションを形成する機能を、前記ＩＣカード端末に実現させるためのコンピュータプログラムである。
【発明の効果】
【００１２】
上述した本発明によれば、ＩＣカードとＵＳＢ通信する際に、一つのフレームに、ＩＣカード用の複数のトランザクションを含ませることで、ＩＣカードとのデータ転送のために一つのフレームを有効活用し、ＩＣカード端末とＩＣカード間のデータ転送効率を向上させることができる。
【発明を実施するための最良の形態】
【００１３】
ここから、本発明に係るＩＣカード通信方法、ＩＣカード端末及びコンピュータプログラムについて、図を参照しながら詳細に説明する。図１は、ＩＣカードとＵＳＢで通信するときの最も単純なシステムの構成を示した図で、このシステムは、ＵＳＢホストとなるＩＣカード端末１と、ＵＳＢデバイスとなるＩＣカード２とから構成される。
【００１４】
図１で示したシステムにおいて、ＩＣカード端末１とは、ＩＣカード２と組み合わされて利用される端末装置を意味し、例えば、ＩＣカードリーダライタを備えたパーソナルコンピュータ、クレジットの決済端末、或いは、銀行に設置されるＡＴＭなどを意味する。
【００１５】
本発明に係るＩＣカード通信方法は、ＩＣカード２とＵＳＢ通信する際、ＵＳＢの一つのフレームに、ＩＣカード２用の複数のトランザクションを含ませることで、ＩＣカード端末１とＩＣカード２間のデータ伝送効率を向上させる。なお、図１において、本発明に係るＩＣカード通信方法は、ＩＣカード端末１に実装されるコンピュータプログラムで実現される。
【００１６】
図２は、ＩＣカード端末１のブロック図である。ＩＣカード端末１には、物理的な通信インターフェースであるＵＳＢインターフェース１１と、ＵＳＢインターフェース１１を制御し、ＵＳＢの通信プロトコルを実現するコンピュータプログラムであるＵＳＢドライバ１０と、ＩＣカード２を利用した一連のトランザクションを実行するアプリケーション１２とが、少なくとも実装されている。
【００１７】
本発明に係るＩＣカード通信方法は、ＩＣカード端末１に実装されるＵＳＢドライバ１０で実現され、ここから、ＵＳＢの通信プロトコルについて説明をしながら、本発明について説明を行う。
【００１８】
ＵＳＢの通信プロトコルにおいては、ＩＣカード端末１とＩＣカード２間に物理的に形成されるＵＳＢのバス上に、１ｍｓを単位時間としたフレームを確立し、このフレームの中で、すべてのデータがやりとりされる。
【００１９】
図３は、ＩＣカード端末１とＩＣカード２間で伝送されるＵＳＢのフレームを説明する図である。ＩＣカード端末１とＩＣカード２間では、フレーム３が繰返し転送されていて、１つのフレーム３は、ＳＯＦ３ａ（Start of Frame）と呼ばれるパケットで始まり、複数のトランザクション３０を含む。
【００２０】
一般的にＵＳＢホストには様々な周辺機器がＵＳＢで接続され、一つのトランザクション３０は、一つの周辺機器に対応している。例えば、ＵＳＢホストであるＩＣカード端末１がＰＣであるとき、ＰＣであるＩＣカード端末１には、マウス、キーボードなどのＩＣカード２以外のＵＳＢデバイスが接続され、１つのフレーム３には、ＩＣカード２用のトランザクション３０に加え、マウス用のトランザクション３０と、キーボード用のトランザクション３０が、少なくとも含まれる。
【００２１】
図３で示したように、一つのトランザクション３０は、トークンパケット３００、データパケット３０１、ハンドシェイクパケット３０２から構成され、トランザクション３０の転送先は、トークンパケット３００で示される。なお、データパケット３０１及びハンドシェイクパケット３０２はオプションで、一つのトランザクション３０に含まれないこともある。
【００２２】
図４は、トークンパケット３００の構造を示した図である。トークンパケット３００は、ＳＹＮＣ３００ａ、ＰＩＤ３００ｂ（Packet ID）、デバイスアドレス３００ｃ、エンドポイントの番号３００ｄ、ＣＲＣ３００ｅ（Cyclic Redundancy Check）及びＥＯＰ３００ｆ（End Of Packet）から構成される。
【００２３】
ＳＹＮＣ３００ａ（同期）は、ＵＳＢインターフェース１１の入力回路で同期をとるために利用され、ＣＲＣ３００ｅは伝送誤りをチェックするために利用され、そして、ＥＯＰ３００ｆはトークンパケット３００の終了を示すために利用される。
【００２４】
トークンパケット３００に含まれるデバイスアドレス３００ｃとは、ＵＳＢホストがＵＳＢデバイスに付与したアドレスで、このデバイスアドレス３００ｃによって、トランザクション３０を送信するＵＳＢデバイスが決定される。
【００２５】
ＵＳＢホスト（例えば、ＩＣカード端末１）にＵＳＢデバイス（例えば、ＩＣカード２）が装着され、ＵＳＢホスト／ＵＳＢデバイスが相互認識したとき、ＵＳＢホストが認識したＵＳＢデバイスごとにユニークなデバイスアドレス３００ｃ（１〜１２７）を付与する。
【００２６】
例えば、ＵＳＢホストであるＩＣカード端末１に、ＵＳＢデバイスであるＩＣカード２が装着されたとき、ＩＣカード端末１は、装着されたＩＣカード２に対しデバイスアドレス３００ｃを付与する。
【００２７】
ＵＳＢデバイスは、ＵＳＢ通信のためのバッファ（ＦＩＦＯ）を有し、ＵＳＢの通信プロトコルにおいてこのバッファはエンドポイントと呼ばれ、ＵＳＢデバイスのバッファ、すなわち、エンドポイントには番号（０〜１５）が付けられている。
【００２８】
一つのトランザクション３０においては、トークンパケット３００でデバイスアドレス３００ｃとエンドポイントの番号３００ｄとを指定することで、ＵＳＢホストからトランザクション３０を送信する先が一意に決定される。
【００２９】
ＵＳＢデバイスへデータを転送するか、ＵＳＢホストへのデータの転送を要求するかは、トークンパケット３００に含まれるＰＩＤ３００ｂで示される。ＵＳＢデバイスが入出力それぞれのエンドポイントを有する場合、ＵＳＢホストへデータ転送する際は、エンドポイントの番号３００ｄは、入力用のエンドポイントの番号になり、ＵＳＢホストへのデータの転送を要求する際は、エンドポイントの番号３００ｄは、出力用のエンドポイントの番号になる。
【００３０】
本発明に係るＩＣカード通信方法では、ＩＣカード端末１のアプリケーション１２がＩＣカード２とＵＳＢ通信するとき、１つのフレーム３に、複数のＩＣカード２用のトランザクション３０を含ませることで、ＩＣカード端末１とＩＣカード２間のデータ転送効率を高める。
【００３１】
１つのフレーム３に、複数のＩＣカード２用のトランザクション３０を含ませることは、ＩＣカード２に割当てられたデバイスアドレス３００ｃを含む複数のトランザクション３０を一つのフレーム３に含ませることで実現され、この処理はＩＣカード端末１のＵＳＢドライバ１０によってなされる。
【００３２】
詳しくは、ＵＳＢの通信プロトコルにおいては、大きく分けて、non-periodic（周期的に実行されない）な転送方式（コントロール転送及びバルク転送）と、periodic（周期的に実行される）な転送方式（インタラブト転送及びアイソクロナス転送）とが規定されており、一つのフレーム３の時間（１ｍｓ）は、non-periodicな転送方式のための時間領域と、periodicな転送方式のための時間領域が予め確保されている。
【００３３】
ＩＣカード端末１のＵＳＢドライバ１０は、ＩＣカード端末１とＩＣカード２間でデータ転送する際、ＩＣカード端末１とＩＣカード２間のデータ転送の転送方式に割当てたられた時間領域に、ＩＣカード２に割当てられたデバイスアドレス３００ｃを含む複数のトランザクション３０を含ませる。
【００３４】
図５は、本発明の作用を説明するための図である。図５に示したように、一つのフレーム３は、periodicな転送方式とnon-periodicな転送方式それぞれで利用される時間領域が予め確保されている。図５においては、ＩＣカード端末１とＩＣカード２間の転送方式は、non-periodicな転送方式（例えば、コントロール転送）としている。
【００３５】
図５（ａ）は本発明を実施しないときの１つのフレームを説明する図で、periodicな転送方式用の時間領域には、マウス用のトランザクション３０ａや、キーボード用のトランザクション３０ｂなどが含まれる。また、non- periodicな転送方式用の時間領域にはＩＣカード２用の一つのトランザクション３０ｃが含まれ、ＩＣカード２用のトランザクション３０ｃに使用される以外の時間はＩＤＬＥ（活用されていない状態）である。
【００３６】
図５（ｂ）は本発明を実施したときの１つのフレーム３を説明する図で、non- periodicな転送方式用の領域に、ＩＣカード２用の複数のトランザクション３０ｃ（ここでは、４つ）を含ませることで、ＩＤＬＥであった時間を有効に活用し、ＩＣカード端末１とＩＣカード２間のデータ転送効率を高める。
【図面の簡単な説明】
【００３７】
【図１】ＩＣカードとＵＳＢで通信するときの最も単純なシステムの構成を示した図。
【図２】ＩＣカード端末のブロック図。
【図３】ＵＳＢのフレームを説明する図。
【図４】トークンパケットの構造を示した図。
【図５】本発明の作用を説明するための図。
【符号の説明】
【００３８】
１  ＩＣカード端末
１０  ＵＳＢドライバ
２  ＩＣカード
３  フレーム
３０  トランザクション
３００  トークンパケット
３００ｄ  デバイスアドレス
３００ｅ  エンドポイントの番号
【図１】
2008027386.tif 000003
【図２】
2008027386.tif 000004
【図３】
2008027386.tif 000005
【図４】
2008027386.tif 000006
【図５】
2008027386.tif 000007