JP2004512593A - マスタとスレーブとの間の単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送用プロトコル、およびアプレットの実行を追跡し監視するための対応する装置 - Google Patents

マスタとスレーブとの間の単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送用プロトコル、およびアプレットの実行を追跡し監視するための対応する装置 Download PDF

Info

Publication number
JP2004512593A
JP2004512593A JP2002536746A JP2002536746A JP2004512593A JP 2004512593 A JP2004512593 A JP 2004512593A JP 2002536746 A JP2002536746 A JP 2002536746A JP 2002536746 A JP2002536746 A JP 2002536746A JP 2004512593 A JP2004512593 A JP 2004512593A
Authority
JP
Japan
Prior art keywords
command
response
execution
exchange
concurrent
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
JP2002536746A
Other languages
English (en)
Other versions
JP2004512593A5 (ja
JP4463471B2 (ja
Inventor
フレイ、 アレクサンドル
メニ、 セドリク
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.)
Trusted Logic SAS
Original Assignee
Trusted Logic SAS
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 Trusted Logic SAS filed Critical Trusted Logic SAS
Publication of JP2004512593A publication Critical patent/JP2004512593A/ja
Publication of JP2004512593A5 publication Critical patent/JP2004512593A5/ja
Application granted granted Critical
Publication of JP4463471B2 publication Critical patent/JP4463471B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radio Relay Systems (AREA)
  • Alarm Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

本発明は、マスタトランシーバとスレーブトランシーバとの間で単一の物理交換チャネル上でコマンド/応答対の多数の論理交換フローを送るプロトコルと、アプレットの実行を制御および監視する対応する装置とに関する。既存のアクティブなベース論理フロー(S)に対して、プロトコルは、前記ベースフローを基準論理フローとして選択すること(B)と、コンカレント論理フロー({CLFx})のセットを発生することとからなる。コンカレント論理フローは、コマンド/応答対をセグメント化する(D)引き続く基本パケットで構成されている。交換は、マスタトランシーバにより特定のコマンドを基にして初期化および継続され、スレーブトランシーバによるセグメント化は、基準フローで伝送される特定の応答を基にしている。本発明は、マルチアプリケーションスマートカードに組込まれているアプレットの実行を制御および監視するのに特に有用である。

Description

【0001】
本発明は、マスタトランシーバとスレーブトランシーバとの間での、単一の物理交換チャネル上でのコマンド/応答対の多重交換のための論理フロー(logical flow)の伝送のためのプロトコルと、そのようなプロトコルの応用とに関し、特に、マイクロプロセッサカードにインストールされているアプレット(Applet)の実行を追跡(トラッキング)し監視(モニタリング)し、またデバッグするための装置の実装に関する。
【0002】
マスタトランシーバとスレーブトランシーバとの間でデータまたは情報を交換するプロトコルは、そのプロトコルが、かなりの計算性能および処理性能を持つマスタ要素と、記憶性能に関連して計算性能および処理性能が現状でははるかに低いスレーブ要素との間のデータしたがって情報の確実かつ完全に安定な交換を行うことを可能にするものである限り、現在、極めて興味があるものである。
【0003】
これは、特に、組込みシステムとしても知られている、カード読取器(CAD)とマイクロプロセッサカード、チップカードとの対で構成されているコンピュータ装置に対する場合である。それに対しては、ISO 7816規格がチップカードとCAD読取器との間の通信のための2つのプロトコルを定義している。
【0004】
さらに詳しくいえば、これら2つのプロトコルは、パラメータT=0およびT=1により定められ、各プロトコルは、「半二重」プロトコルに対応し、すなわちカード読取器とチップカードの2つの参加要素のちょうど一方が、それぞれ、所与の時にデータを他の参加要素へ送ることができる。
【0005】
カード読取器へのカードの挿入に続いて、カード読取器によってカードへの供給が始められ、マスタトランシーバすなわちCAD読取器とスレーブトランシーバすなわちチップカードとの間で、単一の物理チャネル上でのデータ交換が行われる。伝送される情報ユニットは、アプリケーションプロトコルデータユニット(Application Protocol Data Unit)を意味するAPDUと呼ばれる。
【0006】
先行技術から知られている上述したプロトコルでは、コマンドAPDUすなわちC−APDUと、応答APDUすなわちR−APDUとを区別する。
【0007】
情報交換セッションは、1つまたは複数のAPDU交換で構成されている。したがってAPDU交換は、マスタトランシーバ要素により常に開始されるC−APDU/R−APDUコマンド/応答対の交換で構成される。マスタトランシーバ要素は、スレーブトランシーバがR−APDUを介して応答する対象であるC−APDUを発行(ディスパッチ)する。交換が行われている間は、マスタ要素は動作不能にされたままで、その間、応答を待ち、したがって、コマンド/応答対の交換は、マスタトランシーバとスレーブトランシーバとの間での、伝送のイニシアティブ(発議権)すなわち制御の引き続く転送を含み、また、逆もまた同じである。
【0008】
最悪の場合には、マスタトランシーバすなわちカード読取器が取りがちである、この引き続く転送とは異なる唯一のイニシアティブは、スレーブトランシーバすなわちチップカードへの電力供給を遮断することによる全交換セッションを中断することである。
【0009】
しかし、集積回路をエッチングする物理的プロセスにおける絶えざる向上、したがって所与の体積または面積のシリコンにおける計算性能および処理性能ならびに記憶性能の絶えざる向上によって、最近、多数の機能を持つスレーブトランシーバの出現が促進されている。これは特に、多重アプリケーションチップカードの場合にそうである。例えばあるチップカードに、カード読取器がチップカードに対して独立に通信することを求めることができるようないくつかのアプリケーションを組込むことができる。特に、カード読取器は容量に対して禁止的な制約を示すことがなく、例えば、銀行に設置されている自動紙幣払出し機またはGSM携帯電話端末などのこの種のCAD読取器にはいくつかのアプリケーションを組込むことができ、そうすると、スレーブトランシーバすなわち多重アプリケーションチップカードで構成されている装置は、実質的に独立しているアプリケーションの間で単一の物理チャネルを介して、コマンド/応答対により、情報の多重交換をすることに直面させられる。
【0010】
あるチップカードは、いくつかのファイルシステムと、いくつかのアプレットまたはそのアプレットに設定されるいくつかのサービスを実際に包含できる。特に、GSMカードは、加入者の認証の提供と、および可搬ユニットすなわち組込みシステムとしてアプレットの実行の提供とを行う。
【0011】
この目的で、ISO 7816−4規格のセクション5.5は、論理チャネル(logical channel)の概念を定義している。これらの論理チャネルは、チップカード上に存在する種々の参加要素すなわちアプレットまたはサービスに結び付けられているAPDU交換のセッションを切り離すことを可能にする。提案されている標準化されたプロセスは非常に簡単で、チップカードは0から3まで番号を付けられている4つまでの論理チャネルを管理できる。それらの論理チャネルは、ISO 7816−4規格のセクション6.16に規定されているように、“管理チャネル(MANAGE CHANNEL)”標準コマンドによってそれぞれ開閉できる。次に、C−APDUコマンドに対する宛先論理チャネルのインデックス番号が、APDUのクラスコード(CLA)の下位2ビットで符号化される。
【0012】
したがって、ISO 7816−4規格により規定されている種々の論理チャネルは、このようにして論理的に切り離されるが、単一の物理交換チャネル上でのAPDU交換は、CAD読取器とそれの種々のアプリケーションに対して、かつチップカード上で実行できる種々のアプレットまたはサービスに対して、特に分けられていない異なる論理チャネルに関連するコマンド/応答対が同時に多数存在することによって生じがちである衝突が生じないままにする。特にISO 7816−4規格のパラグラフ4、セクション5.5.1の規定を参照されたい。その規定によれば、次のコマンド/応答対の送り出し前にコマンド/応答対の送り出しを終了せねばならず、いくつかの論理チャネル上ではコマンドと応答とを入れ子にさせてはならず、コマンドの受取りと対応する応答の発行との間で単一の論理チャネルはアクティブでなければならない。
【0013】
本発明の目的は、マスタトランシーバとスレーブトランシーバとの間のコマンド/応答対によるデータ交換のためのプロトコルの諸欠点を、多数の論理チャネルに課される制約を解消することによって、除去することである。
【0014】
本発明の他の目的は、マスタトランシーバとスレーブトランシーバとの間の、単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送用プロトコルを、コンカレント(並行)論理チャネルの実装によって、明らかにすることである。各コンカレント論理チャネルは、コマンド/応答対の独立な交換を許すが、いくつかのコマンド/応答対を開かれている種々のコンカレント論理チャネルで同時にアクティブであるようにすることが可能である。
【0015】
特に、本発明の別の目的は、マスタトランシーバとスレーブトランシーバとの間の、単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送用プロトコルであって、CAD読取器などのマスタトランシーバが別のコンカレント論理チャネルでコマンド/応答対、APDU、の交換を開始でき、既にアクティブな並行チャネルでコマンド/応答対の交換が既に進行中であり、スレーブトランシーバすなわちチップカードにインストールされているアプレットまたはサービスにより管理されている少なくとも1つのアプリケーションを用いて、マスタトランシーバすなわちカード読取器に接続されている種々のアプリケーションが、したがって、実行のコンフリクトのいかなる危険もなしに、相互に独立して実行されるようにする伝送用プロトコルを与えることである。
【0016】
逆に本発明の他の目的は、マルチアプリケーションチップカードにインストールされた種々のアプレットまたはサービスなどのスレーブトランシーバによって管理されている種々のアプリケーションにリンクされた異なるコンカレント論理チャネル上で異なるコマンド/応答対を交換できる、マスタートランシーバとスレーブトランシーバとの間での、単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送のためのプロトコルであり、これらのアプリケーションは、本発明の主題であるプロトコルの実装によって、同時かつ独立に実行する。
【0017】
本発明の別の目的は、また、進行中のコマンド/応答対の交換の場合を含めて、コンカレント論理チャネルのおのおのがマスタトランシーバのみのイニシアティブで閉じられる、マスタトランシーバとスレーブトランシーバとの間の、単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送のためのプロトコルでもある。
【0018】
本発明の他の目的は、また、コマンド/応答対をベース論理チャネル上で交換するマスタートランシーバとスレーブトランシーバとの間の、単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送のためのプロトコルであって、コマンド/応答対がおそらくまたこのマスタトランシーバとこのスレーブトランシーバとの間でコンカレント論理チャネル上でも交換され、コマンド/応答対は、ベース論理チャネルによって運ばれるベース論理フローとコンカレント論理チャネルにより運ばれるコンカレント論理フローとを構成し、それらの論理フローは、いかなる衝突もなしに、単一の物理交換チャネル上でコマンド/応答対を交換する手順から利益を得られるように共存プロトコルでもある。
【0019】
本発明の他の目的は、最後に、マスタトランシーバがCAD読取器により構成され、スレーブトランシーバがチップカードにより構成されている場合に、コマンド/応答対の多重交換のための複数の論理フローの伝送のための、ISO 7816規格の仕様に完全に適合する、プロトコルである。
【0020】
本発明の主題である、マスタトランシーバとスレーブトランシーバとの間の単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送のためのプロトコルは、マスタトランシーバによって開始され、単一の物理交換チャネルと同じマスタ/スレーブ関係を前提とする、少なくとも1つのベース論理フローを含む論理フローに関しており、マスタトランシーバとスレーブトランシーバはそれぞれ少なくとも1つのソフトウエアアプリケーションの実行を許す。
【0021】
基準論理フローとしてとられたベース論理フローの1つにおいて、コマンド/応答対をセグメント化(区分化)する引き続く基本パケットによりおのおのが形成されているコンカレント論理フローのセットを発生することは、注目に値する。コンカレント論理フローのセットを形成する引き続く基本パケットは、基準論理フロー上で伝送される。このセットの2つのコンカレント論理フローは、異なるコマンド/応答対の独立した実質的に同時の伝送を行えるようにする。
【0022】
コマンド/応答対のいかなる交換の開始および継続も、この基準論理フロー上で伝送される特定のコマンドを基にしてマスタトランシーバのイニシアティブで行われ、引き続く基本パケットへのセグメント化は、この基準フロー上でのそれらの特定のコマンドに応答して伝送される特定の応答のイニシアティブで行われる。これによって、一方では、マスタトランシーバおよびスレーブトランシーバの少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド/応答対の交換が行えるようにされ、他方では、物理交換チャネル上において基準論理フローとしてとられた論理フローからの異なるベース論理フローにおける優先コマンド/応答対の交換が行えるようにされる。
【0023】
本発明の主題である、マスタトランシーバとスレーブトランシーバとの間での、単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送のためのプロトコル、および、そのようなプロトコルを実行する組込みコンピュータ装置などのコンピュータ装置にインストールされているアプレットの実行を追跡および監視する装置が、下記の説明を読み、図面を参照することによってより良く理解されるであろう。
【0024】
本発明の主題に基づく、マスタトランシーバとスレーブトランシーバとの間の、単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送のためのプロトコルについて、図1aおよびそれに続く図面を参照して以下に詳細に説明する。
【0025】
この説明のフレームワーク内で、論理フローは、マスタトランシーバとスレーブトランシーバとの間の単一の物理交換リンクを介する論理チャネル上での多数のコマンド/応答対の交換で構成されていることが、想起される。
【0026】
一般に、本発明の主題であるプロトコルは、コマンド/応答対の交換を行えるようにする“半二重”リンクによりリンクされている任意のマスタトランシーバと任意のスレーブトランシーバとの間で実装されることが想起され、ここで、マスタトランシーバは、アプリケーションのセットの中からの1つのアプリケーションに接続され、スレーブトランシーバは、アプリケーションまたはサービスのセットの中からの少なくとも1つのアプリケーションの実行を行えるようにする。E/RMと記されているマスタトランシーバとE/REと記されているスレーブトランシーバとへの各アプリケーションの相互接続は、ベース論理フローを介して実行できる。それらのアプリケーションは、マスタトランシーバに相互接続されるアプリケーションの場合にはAMと記され、スレーブトランシーバに相互接続されるアプリケーションの場合にはAEと記されている。このベース論理フローを、SEPCと記されている単一の物理交換チャネルによって伝送することが可能である。前述のベース論理フローBLFは、単一の物理交換チャネルSPEC上での、(C,R)と記されているコマンド/応答対の伝送で構成される。
【0027】
これらの条件の下で、図1aに示されているように、前述のパラメータのセットが定義されており、Sで記されているスタート条件について考えることにする。そのスタート条件は、非限定的な態様において、少なくとも1つのアプリケーションの実行を許すCAD読取器によってマスタトランシーバE/RMが構成されており、かつアプレットまたはサービスがインストールされているチップカードによってスレーブトランシーバE/REが構成されているような状況に対応し、この状況では、ベース論理フローは、ISO規格7816−3および7816−4の規定により定められている論理フローに対応する。
【0028】
しかしながら、上述した規格の規定にしたがう第1の使用にしたがって、単一のベースフローがプロトコルの実装のフレームワーク内で開いていてアクティブであると考えられる。これは図1aに示されている本発明の主題である。
【0029】
より具体的なやり方で、図1aに示されているように、本発明の主題であるプロトコルは、現在のアクティブな論理フローBLFを基準論理フローLFとみなすことからなる。この操作は、図1aのステップBで実行され、関係:
LF=BLF
により示されている。このステップは、たとえば16進数値FEなどの、特定の値を現在のアクティブなベース論理フローのクラスコードまたはパラメータに割り当てることによって実行できる。
【0030】
ステップBの後にステップCが続く。ステップCは、コンカレント論理フローのセット{CLF}を発生することからなる。各コンカレント論理フローは、コマンド/応答対をセグメント化(区分化)する引き続く基本パケットにより形成される。コンカレント論理フローのセット{CLF}を形成する引き続く基本パケットは、基準論理フローLF上で伝送され、その間にステップDのセグメント化を行い、このセットの2つのコンカレント論理フローは、異なるコマンド/応答対の独立かつ実質的に同時の伝送を行えるようにする。ステップDに示されている戻り矢印は、セグメント化から生じた引き続く基本パケットの多重交換を示している。
【0031】
コマンド/応答対のいかなる交換の開始および継続も、基準論理フロー上で伝送される特定のコマンドを基にしてマスタトランシーバのイニシアティブ(主導)で行われ、引き続く基本パケットへのセグメント化は、この基準フロー上でのそれらの特定のコマンドに応答して送信された特定の応答を基にしてスレーブトランシーバのイニシアティブで行われる。このようにしてマスタトランシーバは、アプリケーションと異なるアプレットとの間の交換の実行のために基準論理フローLFを維持することによって、異なるコマンド/応答対の交換を維持でき、または、値FEの差し引きにより、ベース論理フローへの復帰によるコマンド/応答対の交換を維持できる。
【0032】
このやり方で、この明細書において後で以下に非常に詳しく説明するように、マスタトランシーバおよびスレーブトランシーバの少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド/応答対の交換が行えるようにされる。異なるコマンド/応答対の実質的に同時の伝送という概念に関する限り、同時という概念は、引き続くパケットの伝送の期間内に限られることがもちろん理解される。
【0033】
さらに、本発明の主題であるプロトコルは、複数のアクティブなベース論理フローの存在する中で実現できる。図1bに示されているように、この状況では、マスタトランシーバE/RMにより開始されるいかなるベース論理フローの存在中も、この状況は、図1aの開始状況と同様の開始状態Sに対応し、本発明の主題であるプロトコルは、マスタトランシーバとスレーブトランシーバとの間の任意の開かれている、かつ通常はアクティブな、ベース論理フローの伝送を行うことからなるとすることができる。この操作は、マスタトランシーバに接続されまたは接続されがちである任意のアプリケーションAMからの要求で、マスタトランシーバのイニシアティブで初期化されるアクティブなベースフローBLFの存在を検証することからなるテストステップAにより実行できる。
【0034】
図1bにおいて、対応するテストAは
BLF={Φ}
で示されている。このテストは、任意のアクティブなベース論理フローの不存在を検証することからなる。
【0035】
上述したテストAに対する否定的な応答に際して、アクティブなベースフローがマスタトランシーバのレベルに存在し、本発明の主題であるプロトコルは、ステップSへ戻ることによる上述のアクティブなベース論理フローの伝送の実行することからなる。
【0036】
逆に、上述したテストAへの肯定的な応答に際して、アクティブなベースフローはマスタトランシーバのレベルに存在せず、そして本発明の主題であるプロトコルは、基準論理フローとしてとられる少なくとも1つのベースフローにおいて、コンカレント論理フローのセットを発生することからなることができる。
【0037】
図1bで、図1aのステップに類似するステップBは、関係:
LF=BLF
によりLFとして示されている、基準論理フローとしてベース論理フローBLFの定義を表わす。本発明の主題であるプロトコルの実装のフレームワーク内で、ISO規格7816−4の規定に適合できるプロトコルにしたがって、ステップBにおける基準論理フローの定義を、例えば、先に述べた16進数値FEなどの特定の値を関連するベース論理フローのクラスコードまたはパラメータに割り当てることによって、有利に実行することができる。
【0038】
ステップBに続いて、コンカレント論理フローのセットが、図1aでのステップに類似するステップCで発生される。CLFで示されている各コンカレント論理フローと、{CLF}で示されているそれらのコンカレント論理フローのセットとが、この明細書で後で説明するように、引き続く基本データパケットにより形成される。上述したコンカレント論理フローのセット{CLF}のコンカレント論理フローによって、マスタトランシーバに接続されているアプリケーションすなわちAMで示されているアプリケーションと、スレーブトランシーバに接続されているアプリケーションすなわちAEで示されているアプリケーションとの間の異なるコマンド/応答対の独立した実質的に同時の伝送を行えるようにされ、それらのアプリケーションを、データの交換がセットBLFからのベース論理フローによって前に実行されているようなアプリケーションAM、AEとは先験的(アプリオリ)に異なるまたは異ならないようにすることが可能である。
【0039】
図1bに、異なるコマンド/応答対の独立した実質的に同時の伝送ステップがDで示されている。これらのコマンド/応答対は(C,R)で示されており、対応するコンカレント論理フローCLFにしたがって単一の物理交換チャネルSEPC(single physical exchange channel)上で伝送される。
【0040】
さらに、図1bに示されているように、本発明の主題であるプロトコルは、
単一の物理交換チャネル上での基準論理フローとは異なるベース論理フロー上におけるコマンド/応答対の交換の実行のためにマスタトランシーバE/RMによりアクティブにされると、直ちに任意のコンカレント論理フローの交換を一時停止することからなる。この一時停止操作は、図1bに示されているステップなどのテストステップEに対応することができる。このテストステップEは、アクティブなベース論理フローBLFが存在しないことを検証する、ステップAにおいて実行されるものと同じテストにおそらく対応する。
【0041】
テストEに対する否定応答があると、マスタトランシーバE/RMにより開始されたアクティブなベース論理フローが存在し、このアクティブなベース論理フローの伝送を実行するために、開始ステップSへの戻りが行われる。
【0042】
逆に、テストEに対する肯定応答があると、基準論理フローを再び定めるためにステップBへの戻りが実行され、もちろん、上記のようにステップB、C、Dにしたがう多重交換プロセスの実行も行われる。
【0043】
したがって、本発明の主題であるプロトコルの引き続くステップの実行によって、図1bに示されているように、前記プロトコルは、任意のベース論理フローの交換が終了すると、いかなるコンカレント論理フローの交換も直ちに継続可能にすることが理解される。
【0044】
このやり方によって、単一の物理交換チャネル上でのマスタトランシーバとスレーブトランシーバの少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド/応答対の交換が行えるようにされる。
【0045】
本発明の主題であるプロトコルは、図1bに示されているように、衝突(コンフリクト)なしの共存を提供可能にし、コンカレント論理チャネルは、コンカレント論理フローの伝送を行えるようにし、ベース論理チャネルは、ベース論理フローの伝送を行えるようにする。特に、それは一方では、マスタトランシーバとスレーブトランシーバの少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド/応答対の交換を行えるようにし、他方では、単一の物理交換チャネル上でのベース論理フローにおける優先コマンド/応答対の交換を行えるようにする。
【0046】
したがって、以下に説明するように、ベース論理フローがISO規格7816−4の規定を満たすように定められており、かつマスタトランシーバがカード読取器によって構成されスレーブトランシーバがチップカードにより構成されている場合には、任意の時に、カード読取器はベース論理チャネル上でのAPDUコマンドの交換を開始できることが、理解される。この交換が行われている間、他のチャネル、すなわちコンカレントまたはその他のチャネルが一時停止されるが、コンカレントチャネル上で現在進行中の交換は中断されることはない。
【0047】
上述した特定の実装では、処理に比較的短い時間のみを要するコマンド/応答対の伝送を提供するためにベース論理フローおよびベース論理チャネルを使用することが、有利である。
【0048】
本発明の主題であるプロトコルのステップB、C、Dの、図1aおよび1bを参照して先に説明した特定の実装についてのより詳細な説明を、特に、上述したベース論理フローBLFがISO規格7816−4の規定を満たす場合に、図2a、2b、2cおよび2dを参照して以下に行う。
【0049】
図2aには、それぞれ要素E/RMおよびE/REとして記載されているマスタトランシーバとスレーブトランシーバが示されている。
【0050】
ベース論理フローBLF上の、(C,R)と記されている、コマンド/応答対の交換が単一の物理交換チャネルSEPC上で行われ、要素E/RMは、コマンドCを、パイロットPを介して要素E/RMに接続されているアプリケーションAMから受ける。この要素E/RMは、C=[“COMMAND”]と記されているコマンドCのスレーブ要素E/REへの伝送を行うために制御を行う。制御を行う要素E/RMは、コマンドCを、スレーブ要素E/REに接続されているアプリケーションAEへ送る。上述したアプリケーションの応答Rは、スレーブ要素E/REへ伝えられ、スレーブ要素E/REは、R=[“RESPONSE”]と記されている応答の、単一の物理交換チャネルSEPC上でのE/RMへの伝送を行うように、再び制御を行う。要素E/RMは、それをパイロットPを介してアプリケーションAMへ送る。この所与の例では、文字列“COMMAND”と“RESPONSE”は、シンボリックなコマンドとシンボリックな応答をそれぞれ示す。
【0051】
関連する論理フローがベース論理フローBLFであると、コマンド/応答プロセスを、引き続く対応する論理フローの入れ子(ネスト)またはインターリーブなしに、ISO規格7816−4の規定にしたがって、対応するコマンドおよび応答の実行で継続できる。
【0052】
逆に、例えばこの明細書で以前に述べた特定のクラスコードを割当てることによってベース論理フローが基準論理フローLFとして構成されると、引き続くコンカレント論理フローを生成するプロセスが、関連するコンカレント論理チャネル上でAPDUの交換を構成しているデータのチョッピングにより、スレーブ要素E/REのイニシアティブで実行される。このチョッピングは、より基本的なデータユニットまたはデータセグメントへのチョッピングと、通常のAPDUを用いる単一の物理交換チャネルSEPCでのそれらのデータまたはセグメントの伝送とで構成される。
【0053】
スレーブ要素E/REのイニシアティブでの前述したチョッピングは、定義により本発明の主題であるプロトコルの特に注目に値する面にしたがって、応答とセグメント化オーダー(命令)によって要素E/REのイニシアティブで実行できるので、有利であることが特に理解される。このセグメント化オーダーは、例えば、部分的なコマンドまたはデータ項目の形態でマスタ要素E/RMにより伝送されるコマンドのパケットの最大サイズを定める。スレーブ要素E/REは、それ自身のイニシアティブで、またはアプリケーションAEからの求めで、前述したマスタ要素E/RMによって発行された、部分的なコマンドの形態で伝送されるパケットの最大サイズを定める。逆に、スレーブ要素は、部分的な応答の形態で伝送されたパケットの実際のサイズを定める。データセグメントまたはパケットへの前述したデータのチョッピングが、それらの部分的APDUをインターリーブすること、したがって、データ論理フローと、コンカレント論理フローおよび上述したコンカレントチャネルで流れるコンカレント論理フローをインターリーブすることを可能にすることが、特に、理解される。
【0054】
マスタ要素E/RMに接続されているアプリケーションAMとコンカレント論理フローCLFを介してスレーブ要素E/REに接続されているアプリケーションAEとの間で交換されるコマンド/応答対を構成するコマンドおよび応答のそれぞれの引き続く基本パケットへのセグメント化またはチョッピングの例を、図2bを参照して、限定しない例によって説明することにする。
【0055】
前述した図では、用いられたコマンド/応答対は、前述した限定しない実施形態では、もちろんAPDUコマンドに対応することが示されている。
【0056】
したがって、アプリケーションAMは、コマンドCをマスタ要素E/RMへ送る。このコマンドは、
C=[“COMMAND”]
と示されている。C−APDUを構成する前述したコマンドでは、シンボリックコマンドを表わす文字列“COMMAND”は、APDUコマンドの形態で通常利用できる任意のコマンドを指し示す。このコマンドの論理値は、APDUコマンドの集りで通常利用されるものであり、前述した文字列は、このコマンドの構文を単に記号化(シンボル化)する。
【0057】
前述したコマンドCがマスタ要素E/RMによって受けられると、マスタ要素E/RMは制御を行い、スレーブ要素E/REへのコマンド通知を行うために、特定のコマンドをスレーブ要素E/REへ送る。
【0058】
コマンド通知コマンドは、
[COMMAND_READY x]
で示される。ここでxは、CLFのインデックスを示す。
【0059】
前述したコマンド通知を受けると、スレーブ要素E/REは制御を行い、アプリケーションAEとともに、受けるべきコマンドすなわち上記のコマンドCのセグメント化のためのオーダーを送る。
【0060】
セグメント化オーダーは、書式
{RECEIVE_BYTES x NB=3}
のAPDUタイプの応答である。この応答すなわち前述したセグメント化オーダーは、もちろん、機能ヘッダRECEIVE_BYTESに加えて、インデックスxのコンカレントフローに関連するフィールドと、NB=3によって図2bに任意に示されているフィールドとを有する。NBは、スレーブ要素E/REにより要求されたバイトまたはワード(文字)の最大数を、前記要素に接続されているアプリケーションAEとともに示す。
【0061】
セグメント化オーダーがマスタ要素E/RMにより受けられると、マスタ要素E/RMは、再び制御を行い、基準論理フローLF上で、スレーブ要素E/REにより要求されたその数またはそれより小さい数のバイトまたはワードをもちろん有するデータ伝送コマンドを送る。
【0062】
パケット伝送コマンドは、書式
[SEND_DATA x [“COM”]]
のAPDUコマンドである。データ伝送コマンドに対応する機能ヘッダ“SEND−DATA”と本発明の主題であるインデックスxのコンカレント論理フローに関連するフィールドとに加えて、このパケット伝送コマンドは、3に等しい数で、かつコマンドCの場合には任意のコマンド“COMMAND”の最初の3つの文字に対応するバイトまたはワードをもちろん有する。
【0063】
前述したパケット伝送コマンドがスレーブ要素E/REにより受けられたのに続いて、制御を行うスレーブ要素は、図2bに[OK]で示されている受領応答のAPDUタイプ肯定応答(アクノレッジ)をマスタ要素へ送る。
【0064】
マスタ要素E/RMは再び制御し、その後で書式
[RESUME]
のコマンド/応答対の交換の伝送の継続のためのコマンドをスレーブ要素E/REへ送る。この継続コマンドを受けると、制御を行うスレーブ要素E/REは、アプリケーションAEによる処理の後で、セグメント化オーダー応答のマスタ要素への発行を繰返す。その応答では、例えば、要求されたバイト数に関連するフィールドは、NB=4に等しくとられる。
【0065】
前述した新しいセグメント化コマンドのマスタ要素E/RMによる受取りに続いて、前記要素は、パケットの伝送のための新しいコマンドを送る。そのコマンドでは、送られるパケットのフィールドは、前述したコマンドCの文字“MAND”に対応する4バイトを有する。
【0066】
前述した4バイトの新しいパケットの受取りに続いて、スレーブ要素E/REは、もちろんアプリケーションAEとともに、書式が
[SEND_BYTES x [“RESP”]]
であるAPDUタイプのセグメント化された応答を送るための用意ができて制御を行う。前述した応答は、送信バイト数または送信ワード数を有する。その数の選択は、スレーブ要素E/REに接続されているアプリケーションAEと一緒に、スレーブ要素のみのイニシアティブで行われる。図2bの場合には、セグメント化された応答は、4バイトまたはワード、すなわち、シンボリック応答“RESPONSE”の最初のセグメントに対応する4つの文字“RESP”を有する。
【0067】
マスタ要素E/REによる前述したセグメント化された応答の受取りに続いて、制御を行うマスタ要素は、新しい継続コマンドをスレーブ要素E/REへ送ることにより、アプリケーションAEとともにあって制御を行うスレーブ要素E/REが、マスタ要素E/RMに対し、4に等しく“ONSE”に対応する任意にとられた数NBの転送バイトまたはワードを有する新しいセグメント化された応答を発行できるようにする。
【0068】
この新しいセグメント化されたコマンドを受けると、マスタ要素E/RMは、応答メッセージのAPDUタイプ終端がスレーブ要素E/REによりマスタ要素E/RMへ送られるまで、応答が完全に送られるように、継続コマンドをスレーブ要素E/REへ実際に送る。
【0069】
応答APDUメッセージの終わりは
[RESPONSE COMPLETES x]
の書式を有する。応答メッセージの終わりの受取りに続いて、マスタ要素E/RMは書式
R=[“RESPONSE”]
の完全応答Rを持ち、したがって、シンボリック応答に対応し、コマンド/応答対C/Rは、スレーブ要素E/REのイニシアティブで、引き続くパケットにより、単一の物理交換チャネルSEPC上のコンカレント論理フローCLFによって、送られていた。
【0070】
コンカレント論理フローにより送られたコマンドと応答とのパケットへのセグメント化は、このようにして、伝送されるデータの受信者すなわち例えばアプレットとともに、スレーブ要素すなわちチップカード自体の管理の下に、実行される。このやり方は、それが、特にトランスポートパラメータT=0の値に対して、ISO 7816−4規格により定められている全てのトランスポートプロトコルを使用することを可能にするので、極めて重要であるようにみえる。そのパラメータに対して、APDUの正確な形態、特にそれの方向はあいまいであって、単一の物理交換チャネル上で通信している2つのパーティ、すなわち、結局、アプリケーションAMとAEのみに知られている暗黙の情報要素を構成する。
【0071】
さらに、スレーブ要素E/REがマスタ要素すなわちCAD読取器へ制御を定期的に譲る上述したセグメント化プロセスは、種々のコンカレントチャネルに接続されているアプリケーションAMまたはAEから生ずる交換のいかなる非同期要求をも管理することを可能にする。
【0072】
前述したセグメント化プロセスに関する限り、およびもちろん、本発明の主題である、図1に示されている、プロトコルの実現のプロセスに関する限り、アプリケーションAMとAEは、コンカレント論理フローの伝送のためのコンカレントチャネル、またはベース論理フローの伝送のためのベースチャネルの、特定の計算ユニットによって構成されているパイロット、図に示されていない、による開放(開通)を要求できる。パイロットは、もちろん、マスタ要素E/RMおよびアプリケーションAMと通信できる。各アプリケーションは、さらに、それぞれコンカレント論理フローおよびベース論理フローの交換のためにコンカレントチャネルまたはベースチャネルの開放に続いて、このチャネルでのAPDUの交換を要求でき、かつチャネルがコンカレントである場合、または交換される論理フローが図1に示されているようにコンカレント論理フローである場合に、現在の交換を中断できる。
【0073】
さらに、図1および図2bに示されているように、コンカレントチャネル上でのAPDUの交換を構成しているデータまたはコマンドのセグメント化によって、それらのデータまたはコマンドセグメントを単一の物理交換チャネル上で伝送できるようにされ、一方では、基本APDUにより構成されているコマンド/応答対のインターリーブを許可し、図2cを参照して特定の非限定例で説明するように、最終的には、前述したコンカレントチャネルを流れるコンカレントデータフローの対応するインターリーブを許可する。
【0074】
前述した図2cでは、2つのアプリケーションAMとAMp’をパイロットによりマスタ要素E/RMに接続でき、かつスレーブ要素E/REが例えば単一のアプリケーションに接続されているような、非限定的な例が考察されている。この理由から、図2cにはそのようには示されていない。
【0075】
前述した図では、アプリケーションAEが、コンカレント論理フローCLFの開放の要求に引き続いて、コマンドC=[“COMMAND”]をパイロット、示されていない、を介して、マスタE/RMへおそらく発行する。
【0076】
図2bを参照して、マスタ要素E/RMは、この明細書で以前に述べたコマンド通知コマンドを単一の物理交換チャネルSEPC上で送る。スレーブ要素E/REは、セグメント化オーダー応答を伝送することによって応答する。セグメント化オーダー応答に対しては、NBは、スレーブ要素E/REにより実行されるアプレットまたはアプリケーションにより、任意に8に等しくとられる。
【0077】
セグメント化オーダー応答をマスタ要素E/RMが受けると、マスタ要素E/RMは、スレーブ要素E/REにより要求されたバイト数またはワード数に対応する8つの文字を有する文字列を含む、パケット伝送コマンドをスレーブ要素E/REへ送る。このようにしてシンボリックコマンドは完全に伝送される。そうするとスレーブ要素E/REは、受領コマンド[OK]の肯定応答(アクノレッジ)をマスタ要素へ送ることができる。そうすると、以下に説明するように、マスタ要素はいかなる伝送手続きも、コンカレント論理フローCLFの伝送によるコンカレント論理チャネル上で、または他のコンカレント論理チャネル上で継続できる。
【0078】
マスタ要素E/RMにより実行されるアプリケーションAMは、
C’=[“C’O’M’M’A’N’D’”]
の書式のシンボリックコマンドに対応する、コマンドC’のパイロットによる伝送に先だって、コンカレント論理チャネルCLFの開放を求めた。
【0079】
マスタ要素E/RMによりスレーブ要素E/REへ発行された継続コマンドを受けると、スレーブ要素E/REは、コマンドCに対応するセグメント化された応答の発行へ進むことができる。その理由は、もちろん、スレーブ要素E/REが、コンカレント論理チャネルが単独で開かれている対象とするコマンドC’の存在をまだ知らず、対応するコンカレント論理フローCLFがまだアクティブでないからである。
【0080】
非限定的な例によって、かつシンボリック応答“RESPONSE”に対して、セグメント化された応答は、文字列“RESP”よりなる部分応答によってパケットを送る。
【0081】
そうするとマスタ要素E/RMは、パイロットを介して、先に述べたコマンドC’に関連するコマンド通知コマンドの発行を介して入れ子にされている交換を初期化するように、コンカレント論理フローCLFx’のアクチベーションへ進むことができる。
【0082】
コマンド通知コマンドをスレーブ要素E/REが受けると、制御を行うスレーブ要素E/REは、NB=4に任意にとられる数のバイト数に対してコマンドC’に関連するセグメント化オーダー応答を送る。これに応じて、マスタ要素E/RMは、C’のコマンドに関連し、かつもちろん4バイトまたは4文字を有するパケット伝送コマンドを送る。それらの文字は、シンボリックコマンドC’の文字列“C’O’M’M’”を構成している。
【0083】
スレーブ要素E/REは、応答して受取りの肯定応答(アクノレッジ)を送る。
【0084】
制御を行うマスタ要素E/RMは、現在アクティブであるコンカレント論理フローのセットが空きセットとは異なるときに、パイロットを介して、その現在アクティブであるコンカレント論理フローのセットについてスレーブ要素E/REに知らせる。この通知は、継続コマンドの形で実行できる。継続コマンドについては、この明細書において後で非常に詳しく述べることにする。継続コマンドに応答して、スレーブ要素E/REは、コンカレント論理ストリームCLF上のバイトまたはワード“ONCE”を有するセグメント化された応答によって、シンボリック応答“RESPONCE”の伝送を実行するように、失われた4つのバイトを送ることができる。その後でマスタ要素E/RMは、同じコンカレント論理チャネル上で、継続コマンドをスレーブ要素E/REへ送る。その後でスレーブ要素E/REは、コマンドCに関連する応答コマンドの終りを送ることができる。このメッセージコマンドの終りを受けると、マスタ要素E/RMは、コマンドCに対するシンボリック応答を、パイロットを介して、アプリケーションAMへ送ることができる。
【0085】
さらに、マスタ要素E/RMは、パイロットを介して、コマンドC’に関連するコマンド/応答対交換のためにコンカレント論理フローCLFx’上での多重交換プロセスを継続できる。コマンドC’に関しては、応答コマンドの終りは、スレーブ要素E/REによりまだ送られていない。アプリケーションAMp’のイニシアティブで開かれたコンカレント論理フローCLFx’は、パイロットにより再びアクティブにされ、スレーブ要素E/REによる継続コマンドの受取りに続いて、スレーブ要素E/REは、NB=4に等しくとられるとともに、アプリケーションAMp’により初期化されたコマンドC’に関連する最大の所与のバイトまたはワード数に対するセグメント化オーダー応答をマスタ要素E/RMへ送ることができる。
【0086】
セグメント化オーダー応答を受けると、マスタ要素E/RMは、コマンドC’に関連し、かつ3バイトすなわちシンボリックコマンドC’の文字列“A’N’D’”を構成している最後の3バイトまたは3ワードを有するパケットを含む、パケット伝送コマンドを送ることができる。
【0087】
スレーブ要素E/REによる前述したパケット伝送コマンドの受取りと、前記要素による受領の肯定応答(アクノレッジ)の発行とに続いて、マスタ要素は、シンボリックコマンドに対する応答を得るように、継続コマンドを送る。
【0088】
この継続コマンドに応答して、スレーブ要素R/REは、シンボリック応答の全体、すなわち“R’E’S’P’O’N’S’E’”として示され、かつコマンドC’へのセグメント化された応答書式での応答に関連するシンボリック応答を送る。
【0089】
マスタ要素E/RMによる前述したセグメント化された応答の受取りに続いて、マスタ要素E/RMは、継続コマンドをスレーブ要素E/REへ再び送り、その後でスレーブ要素E/REは、コマンドC’に関連する応答コマンドの終りをマスタ要素E/RMへ送ることができる。その後でマスタ要素E/RMは、文字列[“R’E’S’P’O’N’S’E’”]により形成されているシンボリック応答のアプリケーションAEy’への伝送へ進むことができる。
【0090】
パイロットによるコンカレントチャネルの開放手順に関する限りは、この開放は、“管理チャネル(Manage Channel)”タイプ、のAPDUコマンドを介して実行できる。ISO 7816−6のパラグラフ6.16を参照されたい。
【0091】
一般に、コンカレント論理フローを構成する、引き続く各基本パケットは、特定のAPDUコマンド/応答対により、単一の物理交換チャネル上で伝送される。
【0092】
ベース論理フローを実行するためのコマンド/応答対は、APDUエンティティにより構成され、異なるコマンド/応答対は“エンベロープ”タイプの特定のAPDUコマンドと、APDU応答のサブセットに属する短いAPDU応答とによって形成されることが好ましい。
【0093】
“エンベロープ”タイプの特定の物理C−APDUコマンドを受けると、スレーブ要素E/REは、処理を行う。例えば、スレーブ要素は、スレーブ要素E/REがチップカードによって構成されている場合には、あるインストールされているAPDUの実行を進めることができる。しかし、比較的短い時間で応答を与えねばならない。R−APDUを構成する応答は次の形の1つをとらなければならない。
【0094】
1. [TIME_OUT]
カードは、他のいかなる特定の事象もなしに、認められた時間から単に実行した。
【0095】
2. [GET_HEADER x]
カードは、コンカレントチャネルxのC−APDUヘッダを要求する。
パイロットは、物理的コマンド[SEND_HEADER x CLA INS P1 P2 P3]を介して応答せねばならない。その物理的コマンドに対してカードは、R−APDU[OK]を介して応答する。
【0096】
3. [GET_BYTES x n]
カードは、コンカレントチャネルxのC−APDUの次のnバイトを要求する。パイロットは、物理的コマンド[SEND_DATA x a...a]を介して応答する。ここにm≦nであって、nが入来データの最後のセグメントであるならば、これは異なることがある。カードは、R−APDU[OK]を介して受取りを肯定応答(アクノレッジ)する。
【0097】
4. [SET_OUTGOING_LENGTH x Lr]
カードは、コンカレントチャネルx上における応答R−APDUの長さをパイロットに指示する。
【0098】
5. [SEND_BYTES x a...a
カードは、コンカレントチャネルx上のR−APDUの次のnバイトを発行する。
【0099】
6. [STATES x SW]
カードは、コンカレントチャネルx上のR−APDUの状態、すなわち最後の2バイトを指示する。チャネルx上での交換が、その後、終了される。
【0100】
全ての場合において、パイロットはこの交換の後で制御を再び行う。
【0101】
カードの要求がプロトコルの誤りを構成する場合には、例えば、上述の2〜6までのケースであって、チャネルx上で交換が進行中でない、あるいは、カードが全く同一の交換中にヘッダを2回要求するなどの場合には、パイロットは、その問題をコマンド[IO_ERROR x code]を介してカードに送信する。そのコマンドでは、誤りの性質がコード番号で表わされている。
【0102】
コンカレント論理フローによる他の交換の長い処理中における、コンカレント論理フローによる交換の要求の特定の処理が、マスタ要素E/RMにより実行される2つのアプリケーションAM、AMp’に関連して、図2dにさらに示されている。
【0103】
図2dを参照して、アプリケーションAEのイニシアティブで実行されるコマンドC=[COMMAND”]に対するコンカレント論理フローCLF上におけるコマンド/応答対の交換の実行について考えることにする。
【0104】
そのような場合には、コンカレント論理フローCLFの開放に続いて、このコンカレント論理フローは、パイロットによりアクティブにされ、交換の実行は、スレーブ要素E/REに認められている時間内という実行条件の下で、行うことができる。
【0105】
交換の実行のために、他のいかなる特定の事象もなしでスレーブ要素E/REに対して認められた時間から実行するそのスレーブ要素E/REのいかなる部分的な実行も、
[TIME_OUT]
という書式のR−APDUタイプの応答のスレーブ要素E/REによる発行と、マスタ要素E/RMによる継続コマンドの発行との主題を形成する。このプロセスは、スレーブ要素E/REにより使用される種々の引き続く時間スライスに対してアクティブなコンカレント論理フローCLFのために継続できる。
【0106】
コマンドC’が他のアプリケーションAMp’のイニシアティブでマスタ要素E/RMにより受けられると、パイロットによってアクティブにされているコンカレント論理フローCLFx’の開放により、コンカレント論理フローCLFx’を支持しているコンカレント論理チャネル上におけるコマンドC’に関連するコマンド通知のスレーブ要素E/REへの伝送が行われるようにされる。その後で、コンカレント論理フローCLFx’上におけるコマンドC’の実行、コマンドCおよびコマンドC’の伝送の実行のために、応答[TIME_OUT]を送るプロセスを継続できる。
【0107】
本発明の主題であるプロトコルによって、マスタ要素E/RMにより実行されるアプリケーションの間の交換の非同期要求の処理と、およびスレーブ要素E/REにより実行されるアプレットまたはサービスの間の交換の非同期要求の処理を行えるようにする。
【0108】
図1bを参照して、これらの要求がベース論理フローと関連しベース論理チャネルに対応すると、この場合には、ベース論理フローに関連する応答が受け取られるまで、コンカレント論理チャネルとコンカレント論理フローのセットが一時停止される。
【0109】
しかし、交換のための非同期要求は、空き(フリー)コンカレントチャネル上におけるC−APDUコマンドの発行に関連することもある。この場合には、パイロットは、マスタ要素E/RMを介して、コマンド通知コマンドを発行し、C−APDUタイプコマンドを論理チャネル上および関連するコンカレント論理フローCLF上で利用できることを示す。そうするとその通知コマンドは、非限定例により、スレーブ要素E/REでの受領アプレットの実行をトリガできる。
【0110】
パイロットがマスタ要素E/RMを介して制御するが、非同期交換要求がそのマスタ要素に到達せず、それでも交換がコンカレントチャネルの1つで依然として進行中であると、交換の継続が、C−APDUタイプコマンドの発行を介して、すなわちこの明細書で以前に述べた継続コマンドを介して、実行される。
【0111】
これらの条件の下では、スレーブ要素E/REは、非同期要求をできる限り速く処理できるように、比較的短い時間内で制御を譲らなければならない。
【0112】
最後に、図1および図2bを参照して、本発明の主題であるプロトコルは、2つの特定のコマンドすなわちC−APDUタイプコマンドと、3つの特定の応答、すなわちR−APDUタイプの応答とを基にして実装することができ、そうすることが好ましい。
【0113】
第1の特定のコマンドは、マスタ要素E/RMがスレーブ要素E/REに対して、現在アクティブなコンカレント論理フローのセットの存在を通知できるようにする、コマンド通知コマンドで構成される。特に図2bと図2cに与えられている例では、説明を不必要に複雑にしないように、各コマンド通知コマンドは単一のアクティブなコンカレント論理フローCLF、CLFx’を含んでいたが、いくつかのコンカレント論理フローを同時にアクティブにすることが適切なことがあり、コンカレント論理フローの単一の物理交換チャネル上での伝送は連続する以外は実行できないことが理解される。
【0114】
コマンド通知コマンドは、実際には、
・コマンド[COMMAND_READY x]により形成されているコマンドCI
・コマンド[RESUME]により形成されているコマンドCI
で構成される。
【0115】
コマンドCIとCIは、コンカレントチャネル上での交換の実行または継続のためのマスタ要素E/RMの利用可能性をスレーブ要素E/REに通知可能にする。
【0116】
パケット伝送コマンドで構成されている第2の特定のコマンドは、基本パケットをマスタトランシーバからスレーブトランシーバへ発行可能にする。CIIで示されているこの第2の特定のコマンドは、第1の特定のコマンドまたは第2の特定のコマンドの1つに応答して、セグメント化オーダーを構成するRで示されている第1の特定の応答を受けて、スレーブトランシーバにより発行される。第2の特定のコマンドCIIは、スレーブ要素E/REから出た第1の特定の応答を受けて、第1の特定のコマンドCI、CIと第2の特定のコマンドCIIの1つへ発行され、第1の特定の応答Rで示されているコンカレント論理フローのセットのコンカレント論理フローの1つに対して現在アクティブであるコマンドに関連する基本パケットを、マスタ要素E/RMからスレーブ要素E/REへ送ることを可能にする。現在アクティブであるコマンド、例えば図2bでコマンドCの引き続くパケットへのチョッピングは、第2の特定のコマンドCIIで伝送されるパケットの最大サイズのセグメント化オーダーを構成する、第1の特定の応答Rの仕様によりスレーブ要素のイニシアティブで実行される。
【0117】
セグメント化された応答を構成している第2の特定の応答RIIは、第2の特定の応答RIIで示されている、現在アクティブであるコンカレント論理フローでの応答の基本パケットを、スレーブ要素E/REからマスタ要素E/RMへ発行することを可能にする。
【0118】
最後に、第3の特定の応答RIIは、単一の応答、すなわち、スレーブ要素E/REからマスタ要素E/RMへ送られた特定のコマンド/応答対応答の終りで構成されている。
【0119】
このように、引き続く基本パケットの交換の継続が、第1の特定のコマンド、特にコマンド通知コマンドCIのマスタ要素による発行により、マスタ要素E/RMのイニシアティブで実行される。しかしこの継続は、図1bに示されているように、いかなるアクティブなベース論理フローも存在しないという条件をつけられる。
【0120】
逆に、アクティブなベース論理フローが存在すると、図1bに示されているように、このアクティブなベース論理フローのマスタ要素E/RMによる単一の物理交換チャネル上での優先伝送が条件付けされる。
【0121】
本発明の主題であるプロトコルのステップのセットによって、図2cに示されているように、独立したコマンド/応答対C、Rと応答対C’、R’の交換を行えるようにされる。
【0122】
少なくとも1つのメモリと、実行オートマトンと、オペレーティングシステムとが装備されている組込みコンピュータ装置などのコンピュータ装置にインストールされているアプレットであって、インストールされているアプレットの少なくとも1つが、特定の情報を、他のオペレーティングシステムが装備されているコンピュータにより実行される少なくとも1つのアプリケーションと交換することを意図されているような、このようなアプレットの実行を追跡および監視する装置のより詳細な説明を図3a、図3bおよび以後の図面を参照して以下に行う。
【0123】
通常のやり方で、本発明の主題に従って、アプレットの実行を追跡および監視する装置が、アプレットの実行を追跡および監視するため、すなわちアプレットのデバッグのためのプロセスを提供するように、前述したマスタ要素E/RMとスレーブ要素E/REとの間で単一の物理交換チャネル上でコマンド/応答対の多重交換のために複数の論理フローの伝送のためのプロトコルを実現することが示されている。
【0124】
前述した図3aに示されているように、本発明の主題である装置は、少なくとも、例えばチップカード1により構成されている組込みコンピュータ装置と、特定のオペレーティングシステムが装備されているコンピュータにより実行されるアプリケーション2とに加えて、組込みコンピュータ装置1にインストールされている任意のアプレットの実行を追跡および監視するための、すなわちアプレットのデバッグのためのパイロットモジュール3を有する。パイロットモジュール3は、一方では、L23と記されたリンクによりアプリケーション2にリンクされており、他方では、コマンド/応答タイプの単一の物理交換リンク、すなわちL13で示されているリンクにより、組込みコンピュータ装置1にリンクされている。
【0125】
本発明の主題である実行追跡および監視装置は、リンクL34によりパイロットモジュール3に相互接続されている実行追跡および監視モジュール4も有し、この実行追跡および監視モジュールは、組込みコンピュータ装置1の実行オートマトンの実行を監視することを意図されている。
【0126】
さらに詳しくいえば、組込みコンピュータ装置1は、オペレーションシステムOSと、JAVACARD環境における特定の実施形態では、例えばJCVMタイプの仮想マシンVMにより構成できる、AUTで示されている実行オートマトンとを有することが示されている。
【0127】
もちろん、組込みコンピュータ装置1は、App,...,App,...,Appで示されている種々のアプレットを、不揮発性メモリにインストールしている。それらのアプレットはアプリオリに独立である。
【0128】
最後に、組込みコンピュータ装置1は、組込みコンピュータ装置1の不揮発性メモリにインストールされている実行オートマトンの実行を追跡および監視するためのエージェントモジュールを有する。
【0129】
特に有利な非限定的な実施形態では、組込みコンピュータ装置1は、チップカードまたはマイクロプロセッサと、マイクロプロセッサを備えたCAD読取器を有するパイロットモジュール3と、ISO 7816タイプリンクにより構成されているリンクL13によって構成されているコマンド/応答タイプの単一の物理交換リンクと、によって構成されている組込みシステムであることが示されている。
【0130】
さらに詳しくいえば、コマンド/応答タイプの単一の物理交換リンクは、本発明の主題であってこの明細書で以前に述べたプロトコルにしたがって、多重交換を実行することを可能にすることが示されている。
【0131】
リンクL23およびL34に関する限り、リンクL23はISO 7816タイプリンクとして、またはソフトウエアライブラリ、例えばPC/SCまたはOCFに適合するソフトウエアレイヤとして具体化できる。ソフトウエアライブラリイPC/SCは、参考文献、Interoperability Specification for ICCs and Personal Computer Systems, version 1.0(ICCおよびパーソナル・コンピュータ装置用相互操作可能性仕様、1.0版)、1997年12月、パート1ないし8、PC/SC Wokgroup発行、の主題を構成している。この文献は、アドレス[www.pcsworkgroup.com]でアクセスできる。参考文献のOCF(OpenCard Framework)ソフトウエアライブラリは、Opencard Framework 1.1.1... Programmer’s Guide, 3rd Edition(オープンカード・フレームワーク1.1.1...プログラマズガイド、3版)、OpenCard Consortium発行であって、アドレス[www.opencard.org]で入手できる。しかし、リンクL34の実装の場合には、このリンクは、SUN MICROSYSTEMS INC.により、SUNによるソフトウエア“Java2DSK,v 1.3.0”と一緒に配布されている文献JAVATM Debug Wire Protocol(JAVATMデバッグワイヤプロトコル)で仕様化されているJDWPプロトコルにより具体化でき、そうすると有利である。その文献は、アドレス[http://java.sun.com/products/jpda/doc/jdwp−spec.html]でアクセスできる。そのようなプロトコルの実装によって、このプロトコルに適するいかなる実行追跡および監視ツールも使用可能にされる。
【0132】
さらに、図3bに示されているように、実行オートマトンAUTは、VMで示されている仮想マシンを備えることができる。この仮想マシンには、アプリケーションインタフェーシングライブラリAPIが組合わされる。
【0133】
最後に、組込みコンピュータ装置の不揮発性メモリにインストールされているエージェントモジュール5は、アプリケーションとアプレットとの間の交換の実行を追跡および監視するためのソフトウエアエージェントモジュールを有する。
【0134】
この組立体の全体的な動作態様は次の通りである。パイロットモジュール3は、暗黙裡(implicitement)に開いている対応するコンカレント論理フローの交換を行うために、2つのコンカレント論理チャネルを使用する。第1のコンカレント論理フローが、デバッグモードに指定された実行追跡および監視モードにおいて、例えば、1つのアプレットAppと通信するために用いられる。
【0135】
第2のコンカレント論理フローが、例えば、仮想マシンVMが停止点に達した時、またはそれが実行追跡および監視モジュール4がモニタされることまたは追従されることを求めた任意の動作を実行するときに、その仮想マシンから出た事象(イベント)を送るために使用される。
【0136】
最後に、デフォルト非コンカレント論理フローの交換を許す非コンカレント論理チャネルが、仮想マシンVMの実行を監視し、かつ仮想マシンVMの内部状態にアクセスするために、その後で用いられる。
【0137】
パイロットモジュール3は、実行追跡および監視モジュール4により送られた非同期停止要求を処理するために、マスタ要素E/RMの制御を引き続いて再び行うことを考慮にいれている。本発明の主題であるプロトコルの実行中に図2bまたは図2cに略図で示されているように、このような非同期停止要求がパイロットモジュールに達し、かつパイロットモジュールが制御を再び行うとすると、仮想マシンVMの実行は一時停止される。その後でマスタ要素E/RMは、ユーザ、すなわちユーザにより制御される実行追跡および監視モジュール4がその実行を継続することを要求する時にのみ、パイロットモジュール3により継続コマンドを送る。
【0138】
本発明の主題である実行追跡および監視装置の具体的な実装が、実際に使用されるAPDUコマンドおよび応答のフォーマットを最適にすることを可能にできる。例えば、命令の実行を行うために、組込みコンピュータ装置1に継続コマンド[RESUME]による狭義の次の実行を指示するように、前述したベース論理フローの経路指定を可能にする監視コマンドを最初に使用することが、原則として必要である。それら2つのコマンドは、コマンド[STEP]などの、単一のコマンドで置き換えることができる。
【0139】
パイロットモジュール3の動作態様は次の通りである。
【0140】
−パイロットモジュールは、デバッグを考えられているアプリケーションで指定されている、APDUタイプの特定のコマンド/応答対により、エージェントモジュール5の監視と管理とのコマンドを提供する。この理由から、DPDUはデバッグプロトコルデータユニット(Debug Protocol Data Unit)を意味する。この目的で、エージェントモジュールは、オートマトンにより実行される入力/出力I/Oの、すなわち仮想マシンVMによる入力/出力機能に対する呼出しの各遷移で、前述したDPDUメッセージの交換を促す。図2bと図2cを参照してこの明細書で先に述べたように、DPDUメッセージは、パケットおよびアプリケーションの間のコマンドまたはアプレットのパケットを有する。
【0141】
−パイロットモジュールは、実行追跡および監視モジュール4からの要求で、ユーザのイニシアティブで、入力/出力交換中に、および実行オートマトンAUTがその入力/出力遷移を前述したユーザーにより選択された指定された時間の間実行しない時に、その実行オートマトンの実行、すなわち最終的には仮想マシンVMの実行を一時停止する。
【0142】
−前述した実行に続いて、パイロットモジュール3は、実行オートマトンの状態を監視し、その後で前述した実行オートマトンAUTの実行の継続を促すように、特定のコマンド/応答対すなわちDPDUメッセージをエージェントモジュール5へ送る。
【0143】
どのようなデバッグモードも存在しない時のアプレットの実行、すなわち、図4aに示されている、デバッグモードにおける先行技術の仮想マシンの実行にほぼ従う正常な実行を、本発明の主題である装置とプロトコルとの実装により、追跡および監視するプロセスの手順の詳細な説明を図4bおよび図4cを参照して以下に行う。
【0144】
図4aを参照して、組込みコンピュータ装置1、すなわち対応するチップカードでの仮想マシンVMの入力/出力I/Oに対するアクセスが、JAVA CARDタイプの仮想マシンに組合わされているインタフェースライブラリAPIに等しいサービスを提供するものと考えられるオペレーティングシステムOSの少数の機能を呼び出すことを含むことが、示されている。組込みコンピュータ装置1を構成するマイクロプロセッサカードでは、実行を追跡および監視するエージェント5が、オペレーティングシステムOSと仮想マシンVMの間にセットアップされている。このセットアップは図3bに示されている。それがアクティブにされると、エージェントモジュール5は、それらの入力/出力I/O機能に対する全ての呼出しをインタラプトし、それらの呼出しのおのおのをパイロットモジュール3でDPDUの交換に変換する。
【0145】
正常な実行、すなわち図4aに示されているようにデバッグモードがない時の実行のために、アプリケーション2の実行を許す端末装置が、例えば、入来データC、C、C、C、Cの5バイトまたはワードで構成されているコマンドを発行する。関連するアプレットが、ワードC、C、その後でC、C、Cの転送を許すゲットバイト(Get Bytes)メソッドに対する2回の呼び出しによって入来データにアクセスし、その後で1回の操作の4つの応答ワード、すなわちワードR、R、R、Rを送る。
【0146】
ISO 7816の半二重性のために、組込みコンピュータ装置1を構成するチップカードは、交換の持続時間中にわたって制御を保持する。そうすると、カードへの供給を断つこと以外に、実行をインタラプトすることは可能でない。
【0147】
他方、図3aおよび図3bに示されているように、本発明の主題であるアプレット追跡および監視装置の実現に従って、デバッグモードへ切り替えると、その操作手順は、図4bにしたがって次の通りである。
【0148】
前述した図において、パイロットモジュール3とエージェントモジュール5の間で交換されたDPDUコマンドが、大括弧の中に表わされている。エージェントモジュール5は、オペレーティングシステムOSに関しては正常なアプリケーションのように挙動し、アプレットが非デバッグモードで実行されるときにアプレットにより使用される機能と同じ機能でDPDUコマンドをアクセスする。それらの機能は、“GET_BYTES”と“SEND_BYTES”、および本発明の主題であるプロトコルの実行に関してこの明細書で以前に述べた機能以外のものではない。単一のコマンド/応答対の交換を、ISO 7816プロトコルに適合する(コンパチブルな)いくつかのコマンド/応答に分断することの利点は、次の通りである。引き続く2つの部分交換の間で、入力/出力チャネルは、パイロットモジュール3とモジュール5との間の他の交換に対しては、空いている(フリーである)。そのような交換は、アプレットにとって、およびもちろんアプリケーション2を実行する端末装置にとっては、見ることができない。それらの交換は仮想マシンVMの実行を監視すること、および仮想マシンVMの内部状態をアクセスすることを可能にする。
【0149】
仮想マシンVMが入力/出力機能に対する2つの呼出しの間の停止点に達すると、チップカードは、エージェントモジュール5によって、制御をパイロットモジュール3に譲ることにより、実行追跡および監視モジュール4が適切なコマンドによって仮想マシンVMの状態を調べることを許す。
【0150】
図4bに非限定的な例で表わされているのは、変数xの値を要求する実行追跡および監視モジュール4である。そのような交換は、物理的には完全に有効である。その理由は、この交換が、文法にかなったC−APDUコマンドおよびR−APDUコマンドのみを有するからである。それは、アプリケーション2を実行している端末装置と、組込みシステム1にインストールされているアプレットとの間で進行している交換を中断すべきでなかった場合ではない。
【0151】
したがって、仮想マシンVMの状態の検査は、この仮想マシンが、コンピュータ装置1のメモリの読出し/書込みコマンドによる実行を追跡および監視するモジュール4のイニシアティブで一時停止される時に、実行されることが理解される。
【0152】
実行を追跡および監視するそのようなプロセス、すなわちデバッグによって、一方ではアプリケーション2とアプレットAppの実行を許す端末装置との間で、他方ではパイロットモジュール3と追跡および監視エージェントモジュール5との間で交換されるデータを多重化することが可能である。
【0153】
そのような操作手順は、
−オペレーティングシステムOSと、他のいかなるアプリケーションにも類似するアプリケーションに似た挙動を行う仮想マシンVMにエージェントモジュール5をプラスした組立体との実装に及ぼす影響の完全な不存在。特に、この手順は第2の物理通信チャネルの存在を必要としない。
【0154】
−仮想マシンの実装に対する限られた影響。その理由は、オペレーティングシステムOSの少数の機能に対する呼出しをエージェントモジュール5における等価な機能に対する呼出しで置き換えることで十分であるからである。
を得ることを可能にする。
【0155】
最後に、本発明の主題であるアプレットとプロトコルの実行を追跡および監視する装置は、仮想マシンの実行の非同期停止の実行に特に良く適する。
【0156】
特に、例えばアプレットが長い計算または無限の計算に関わらせられるいかなる時にも、仮想マシンの実行を停止できることが望ましい。リンクL13の性質に注意すると、制御を追跡および監視エージェントモジュール5へ移して、この追跡および監視エージェントモジュール5が実行を終了させること、またはアプレットAppが入力/出力の実行を進めることを待つことは可能ではなく、エージェントモジュール5は、それのイニシアティブの下でのみ制御を譲ることができる。
【0157】
そうすると、本発明の主題である装置およびプロトコルの実装に従って、提案された解決策は、仮想マシンVMの実行を、指定された時間Tの間、始めるコマンドを採用することからなる。その時間が経過すると、エージェントモジュール5は、制御をパイロットモジュール3に譲る。その後でパイロットモジュールは、その間に一時停止要求が起きなければ、実行を一時停止する機会、またはそれを再開する機会を持つ。指定された時間の間のこの実行プロセスは、アプリケーション2とパイロットモジュール3によって構成されているマスタ要素E/RMと、組込みコンピュータ装置1、および特に追跡および監視エージェントモジュール5によって構成されているスレーブ要素E/REとの間の、図2dのプロセスに対応する。その後で、実行追跡および監視モジュールから出される一時停止要求がその間に生じないならば、パイロットモジュール3は、実行を再開できる。
【0158】
チップカードにより構成されている組込みコンピュータ装置1のレベルでは、指定された時間にわたって実行するためのそのようなコマンドの実装は、システム時間ダウンカウンタまたは実行すべき各命令で減少させられる簡単なカウンタを使用することによって、実行できる。実行の正確な持続時間Tは、それが有限であれば、すなわちエージェントモジュール5が終了制御によって終了するならば、任意にできる。実行の持続時間Tの値の大きさの程度は、システムが要求をインタラプト(中断)する反応性を決定する。Tの値が短くなると、システムが実行をインタラプトできる速さが速くなる。持続時間Tの値は、組立体の全体の効率も決定する。その理由は、APDU交換が持続時間Tの各実行ごとに存在するからである。したがって、持続時間Tの値の大きさの程度の決定は、ユーザのイニシアティブによって、要求の関数として実行できる。
【0159】
最後に、本発明の主題であるアプレットの実行を追跡および監視する装置は、アプレットのコードを、ソースコードでの行ごとに実行することも可能にする。一般に、プログラムカウンタと上述したソースコードの行のインデックス数との間の対応のルックアップテーブルは、チップカードにより形成されている組込みシステム1に保存できず、それは、交換の監視を最少にするために必須である。
【0160】
本発明の主題である装置およびプロトコルによって許される解決策は、ソースの各行に対してプログラムカウンタのインターバルを関連させることからなる。このテ−ブルはコンパイラにより計算でき、かつ組込みシステム1の外部の、パイロットモジュール3をアクセスできるメモリ領域内に保存できる。このアクセス可能なメモリ領域は、例えば実行追跡および監視モジュール4内に配置できる。各行ごとでの実行要求に対して、現在の行に対応するインターバルがコマンドと一緒に送られる。各命令に対して、仮想マシンVMの実行は、追跡および監視エージェントモジュール5のコード要素に転換される。その後でそれは、プログラムカウンタがその関連するインターバル内に実際に静止しているかどうかを判定する。このインターバルが関連するインターバルより短いときは、それは、実行が現在の行とは異なる行に到達してエージェントモジュール5がパイロットモジュール3に制御を譲るからである。
【0161】
したがって、各行ごとでの実行要求にとって重要な情報を、組込みコンピュータ装置1に行のテーブルを保存する必要なしに、送ることが可能である。
【0162】
仮想マシンのスタックのサイズを含んでいる類似の停止条件が、例えば、メソッド呼出しをスキップする間の行の実行または現在のメソッドからの退出などの、他のタイプのシンボリック実行の簡単な実現を許す。
【図面の簡単な説明】
【図1a】
単一のベース論理フローの存在の下でマスタトランシーバとスレーブトランシーバとの間で、単一の物理交換チャネル上でのコマンド/応答対の多重交換のために複数の論理フローの伝送のためにプロトコルの実行を許す、本発明の主題であるそのプロトコルの重要なステップの実装を例示するフローチャートである。
【図1b】
複数のベース論理フローの存在の下でマスタトランシーバとスレーブトランシーバとの間で、単一の物理交換チャネル上でのコマンド/応答対の多重交換のために複数の論理フローの伝送のためにプロトコルの実行を許す、本発明の主題であるそのプロトコルの重要なステップの実装を例示するフローチャートである。
【図2a】
基準論理フローとして場合に応じてとることができるベース論理フロー上での交換の実装の態様を例示する図である。
【図2b】
スレーブトランシーバのイニシアティブ(発議権)でコンカレント論理フローによる交換を引き続くパケットにチョッピングする手順を例示する図である。
【図2c】
マスタトランシーバとスレーブトランシーバとの間の2つの異なるコンカレント論理フローによる2つの交換の引き続くパケットのインターリーブ(差し込み)を例示する図であり、引き続くパケットへの各コンカレントフローのチョッピングは、スレーブトランシーバのイニシアティブによって図2bの場合と同様にして行われる。
【図2d】
コンカレント論理フローによる他の交換の長い処理のための手続中にコンカレント論理フローによる交換を処理する手順を例示する図である。
【図3a】
本発明の主題である、マスタトランシーバとスレーブトランシーバとの間で単一の物理交換チャネル上でコマンド/応答対の多重交換のために複数の論理フローの伝送のためのプロトコルを実装している組込みコンピュータ装置にインストールされているアプレットの実行を追跡および監視するコンピュータシステムの機能図であって、マスタトランシーバ要素はパイロットモジュールとCAD端末により構成され、スレーブトランシーバ要素はチップカードなどのこの組込みコンピュータシステムにより構成され、単一の物理交換チャネルはISO 7816プロトコルの1つを満たすリンクにより構成されている。
【図3b】
非限定的な例において、実行オートマトンは、アプリケーションインタフェーシングライブラリ(API)が組合わされている仮想マシンにより構成されているときに、組込みコンピュータ装置にインストールされている実行オートマトンの実行を追跡および監視するための特定のエージェントモジュールと、この組込みコンピュータ装置のオペレーティングシステムと、入力/出力機能(APDUにより構成されているI/O機能)と、実行オートマトンの実行を追跡および監視する機能との間の論理リンクの例示する図である。
【図4a】
図3aと図3bとに非デバッグモード、すなわちデバッグ機能が起動されていない、で示されているように、本発明の主題である、アプレットを追跡および監視するコンピュータ装置の種々の要素の間で実行される交換のタイムチャートであり、この装置は、この場合には、実質的に、先行技術のマルチアプリケーションチップカードが組合わされているCAD読取器として挙動する。
【図4b】
図3aと図3bとにデバッグモード、すなわちデバッグ機能が起動されている、で示されているように、本発明の主題である、アプレットを追跡および監視するコンピュータ装置の種々の要素の間で実行される交換のタイムチャートである。
【図4c】
仮想マシンが、“ブレークポイントヒット”としても知られている停止点状態に達した時に、図3a、図3bおよび図4aにで示されているように、本発明の主題である、アプレットを追跡および監視するコンピュータ装置の種々の要素の間で実行される交換のタイムチャートである。

Claims (15)

  1. マスタトランシーバとスレーブトランシーバとの間の単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送のためのプロトコルであって、それらの論理フローは、マスタトランシーバにより開始されて、前記単一の物理交換チャネルと同じマスタ/スレーブ関係に置かれる少なくとも1つのベース論理フローを備え、マスタトランシーバおよびスレーブトランシーバは、それぞれ少なくとも1つのソフトウエアアプリケーションの実行を許すようなプロトコルにおいて、
    このプロトコルは、基準論理フローとしてとられているベース論理フローの1つにおいてコンカレント論理フローのセットを発生することを有し、
    各コンカレント論理フローはコマンド/応答対をセグメント化する引き続く基本パケットによって形成されており、
    前記引き続く基本パケットは、前記基準論理フローで伝送される前記コンカレント論理フローのセットを形成し、
    このセットの2つのコンカレント論理フローは、異なるコマンド/応答対の独立した実質的に同時の伝送を許し、コマンド/応答対のいかなる交換の開始および継続も、この基準フロー上で伝送される特定のコマンドを基にして前記マスタトランシーバのイニシアティブで実行され、引き続く基本パケットへのセグメント化はこの基準フローにおけるこれらの特定のコマンドに応答して伝送される特定の応答を基にして前記スレーブトランシーバのイニシアティブで実行され、
    それにより、前記マスタトランシーバおよび前記スレーブトランシーバのそれぞれの少なくとも一対のアプリケーションの間の独立しかつ実質的に同時のコマンド/応答対の交換を許すことを特徴とする、マスタトランシーバとスレーブトランシーバとの間の単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送のためのプロトコル。
  2. 複数のベース論理フローを有する論理フローに対して、このプロトコルが、
    a)基準論理フローとしてとられている少なくとも1つのベース論理フローにおいて、コマンド/応答対をセグメント化する引き続く基本パケットによっておのおの形成されるコンカレント論理フローのセットを発生することと、
    b)前記単一の物理交換チャネル上での基準フローとは異なるベース論理フローでのコマンド/応答対の交換の実行のために、前記マスタトランシーバによりこのベース論理フローが起動された時に、いかなるコンカレント論理フローの交換も一時停止することと、
    c)任意のベース論理フローの交換の実行が終了すると直ちにいかなるコンカレント論理フローの交換も継続することにより、一方では、マスタトランシーバおよびスレーブトランシーバのそれぞれの少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド/応答対の交換を許し、他方では、前記単一の物理交換チャネル上での前記ベース論理フローにおける優先コマンド/応答対の交換を許すことと、
    を有し、
    前記コンカレント論理フローのセットを形成する前記引き続く基本パケットは前記基準論理フローで伝送され、このセットの2つのコンカレント論理フローは異なるコマンド/応答対の独立した実質的に同時の伝送を許し、コマンド/応答対の任意の交換の開始および継続はこの基準フロー上で伝送される特定のコマンドを基にしてマスタトランシーバのイニシアティブで実行され、引き続く基本パケットへのセグメント化は、この基準フローにおけるそれらの特定のコマンドに応答して伝送される特定の応答を基にしてスレーブトランシーバのイニシアティブで実行されることを特徴とする、請求項1に記載のプロトコル。
  3. 前記異なるコマンド/応答対は、少なくとも、1つの第1の特定のコマンドと、少なくとも1つの第2の特定のコマンドと、第1の特定の応答と、第2の特定の応答と、第3の特定の応答とから形成され、
    前記第1の特定の応答は、前記マスタトランシーバが現在アクティブなコンカレント論理フローのセットの存在を前記スレーブトランシーバに知らせることを許し、
    前記第1の特定のコマンドおよび前記第2の特定のコマンドの1つに対する前記スレーブトランシーバから前記第1の特定の応答を受けて発行される前記第2の特定のコマンドは、この第1の特定の応答において指定されているコンカレント論理フローのこのセットのコンカレント論理フローの1つの現在アクティブなコマンドに関連する基本パケットを、前記マスタトランシーバから前記スレーブトランシーバへ発行することを可能にし、引き続くパケットへの前記現在アクティブなコマンドのチョッピングは、このコマンドで伝送されるパケットの最大サイズの、この第1の特定の応答中の、仕様によって前記スレーブトランシーバのイニシアティブで行われ、
    前記第2の特定の応答は、この第2の特定の応答において指定されている現在アクティブなコンカレント論理フローにおける応答の基本パケットを、前記スレーブトランシーバから前記マスタトランシーバへ発行することを可能にし、
    前記第3の特定の応答は、前記スレーブトランシーバから前記マスタトランシーバへ送られた特定のコマンド/応答対の終りの簡単な応答で構成され、引き続くパケットの交換の継続は、前記第1の特定の応答の前記マスタトランシーバによる返送で前記マスタトランシーバのイニシアティブで行われる、
    ことを特徴とする請求項1または2に記載のプロトコル。
  4. 前記ベース論理フローがISO 7816−3およびISO 7816−4プロトコルにしたがって構成され、前記コマンド/応答対がコマンドAPDUエンティティ(C−APDU)および応答APDUエンティティ(R−APDU)によりそれぞれ形成されていることを特徴とする、請求項1乃至3のいずれか1項に記載のプロトコル。
  5. 前記マスタトランシーバは、チップカード読取器と、この読取器に接続されている少なくとも1つのアプリケーションとによって構成され、前記スレーブトランシーバは、マルチアプリケーションチップカードによって構成されていることを特徴とする、請求項4に記載のプロトコル。
  6. 前記コンカレント論理フローのおのおのを前記マスタトランシーバのイニシアティブでそれぞれ閉じおよび開くことができることを特徴とする、請求項1乃至5のいずれか1項に記載のプロトコル。
  7. 前記コンカレント論理フローを形成している引き続く各基本パケットは、特定のADPUコマンド/応答対によって前記単一の物理チャネル上で伝送されることを特徴とする、請求項4乃至6のいずれか1項に記載のプロトコル。
  8. ベース論理フローを実行するための前記コマンド/応答対がAPDUエンティティにより構成され、異なるコマンド/応答対が、“エンベロープ(envelope)”タイプの特定のAPDUコマンドと、APDU応答のサブセットに属する短いAPDU応答とにより形成されることを特徴とする、請求項4および7に記載のプロトコル。
  9. 少なくとも1つのメモリと、実行オートマトンおよびオペレーティングシステムとが装備されているコンピュータ装置にインストールされているアプレットであって、それらのアプレットの少なくとも1つは、別のオペレーティングシステムが装備されているコンピュータによって実行される少なくとも1つのアプリケーションと特定の情報を交換することを意図されているような、前記アプレットの実行を追跡し監視する装置において、
    一方では、前記アプリケーションにリンクされ、他方では、請求項1乃至8のいずれか1項に記載のプロトコルに従って多重交換を実行するために構成されているコマンド/応答タイプの単一の物理交換リンクにより前記コンピュータ装置にリンクされている実行を追跡および監視するパイロット手段と、
    前記パイロット手段に相互接続され、前記コンピュータ装置の前記実行オートマトンの実行を監視することを意図されている、実行を追跡および監視する手段と、
    前記コンピュータ装置にインストールされている実行オートマトンの実行を追跡および監視するエージェント手段と、
    を少なくとも備えていることを特徴とする、アプレットの実行を追跡し監視する装置。
  10. 前記コンピュータ装置はマイクロプロセッサカードにより構成されている組込みシステムであり、前記パイロット手段はマイクロプロセッサカード読取器を有し、コマンド/応答タイプの前記物理交換リンクがISO 7816リンクであることを特徴とする、請求項9に記載の装置。
  11. 前記実行を監視する手段は、前記コンピュータ装置の前記メモリの読出しを制御する少なくとも1つの手段を備えていることを特徴とする、請求項9または10に記載の装置。
  12. 前記実行を監視する手段は、さらに、前記コンピュータ装置の前記実行オートマトンの実行を監視する手段を備えていることを特徴とする、請求項9ないし11のいずれか1項に記載の装置。
  13. 前記実行を監視する手段は、さらに、前記コンピュータ装置の前記メモリの書込みを制御する手段を備えていることを特徴とする、請求項9乃至12のいずれか1項に記載の装置。
  14. 前記実行を監視する手段は、JDWPプロトコルにより前記パイロット手段にリンクされることにより、このプロトコルに適合されている任意の追跡および監視ツールを使用することを可能にすることを特徴とする、請求項9、11および12に記載の装置。
  15. 前記実行オートマトンが仮想マシンおよびアプリケーションインタフェースライブラリ(API)を備え、
    前記エージェント手段が前記オートマトンの実行を追跡および監視するエージェントモジュール(5)を備え、
    前記パイロット手段は、単一の物理交換チャネル上での、特定のコマンド/応答対すなわちDPDUメッセージによるエージェントモジュールの監視の制御および管理の制御を各入力/出力遷移で行い、前記エージェントモジュールは、アプリケーションとアプレットとの間のコマンドまたは応答のパケットを有するDPDUメッセージの交換を促進し、
    前記パイロット手段は、実行を追跡および監視する手段からの要求で、入力/出力交換中に実行オートマトンの実行を一時停止し、指定された時間に対してこの実行オートマトンが入力/出力遷移を実行しない場合には、前記パイロット手段は、制御を再び獲得し、この実行の一時停止にしたがい、
    前記パイロット手段は、実行オートマトンの状態をアクセスし、その後で特定のコマンドによるこの実行オートマトンの実行の継続を促進するように、特定のコマンド/応答対すなわちDPDUメッセージを前記エージェントモジュール(5’)に送ることを特徴とする、請求項9および10に記載の装置。
JP2002536746A 2000-10-20 2001-10-17 マスタとスレーブとの間の単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理流れの伝送用プロトコル、およびアプレットの実行を検査し監視するための対応する装置 Expired - Fee Related JP4463471B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0013476A FR2815801B1 (fr) 2000-10-20 2000-10-20 Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes
PCT/FR2001/003207 WO2002033866A2 (fr) 2000-10-20 2001-10-17 Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes correspondant

Publications (3)

Publication Number Publication Date
JP2004512593A true JP2004512593A (ja) 2004-04-22
JP2004512593A5 JP2004512593A5 (ja) 2007-08-30
JP4463471B2 JP4463471B2 (ja) 2010-05-19

Family

ID=8855572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002536746A Expired - Fee Related JP4463471B2 (ja) 2000-10-20 2001-10-17 マスタとスレーブとの間の単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理流れの伝送用プロトコル、およびアプレットの実行を検査し監視するための対応する装置

Country Status (9)

Country Link
US (1) US6901459B2 (ja)
EP (1) EP1356656B1 (ja)
JP (1) JP4463471B2 (ja)
CN (1) CN100518193C (ja)
AT (1) ATE463920T1 (ja)
AU (1) AU2002214082A1 (ja)
DE (1) DE60141770D1 (ja)
FR (1) FR2815801B1 (ja)
WO (1) WO2002033866A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043493B2 (en) 2001-09-17 2006-05-09 Fujitsu Limited Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card
DE102004015535B4 (de) * 2004-03-30 2009-01-29 Infineon Technologies Ag Datenübertragungsschnittstelle und Verfahren
KR100559251B1 (ko) * 2004-05-12 2006-03-15 한국생산기술연구원 개방형 인터넷망 기반의 로봇 개발을 위한 분산소프트웨어 통합서비스방법
US8352917B2 (en) * 2006-06-26 2013-01-08 Adobe Systems Incorporated Web-beacon plug-ins and their certification
US7992135B1 (en) * 2006-06-26 2011-08-02 Adobe Systems Incorporated Certification of server-side partner plug-ins for analytics and privacy protection
CA2658419C (en) 2006-07-19 2013-05-21 Research In Motion Limited Method, system and smart card reader for management of access to a smart card
US7766243B2 (en) 2006-07-19 2010-08-03 Research In Motion Limited Method, system and smart card reader for management of access to a smart card
EP1895743A1 (en) * 2006-08-31 2008-03-05 Incard SA A method for implementing a wireless personal communication protocol for an IC Card
US8321481B2 (en) 2010-05-13 2012-11-27 Assa Abloy Ab Method for incremental anti-tear garbage collection
US9572132B2 (en) 2012-04-13 2017-02-14 Samsung Electronics Co., Ltd. Method and apparatus for communicating data packets in a cloud cell
EP3814997B1 (en) * 2018-06-29 2024-01-10 Visa International Service Association Chip card socket communication

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2184066T3 (es) * 1996-10-25 2003-04-01 Schlumberger Systems & Service Uso de un lenguaje de programacion de alto nivel con microcontrolador.
US6736325B1 (en) * 1998-01-22 2004-05-18 Mondex International Limited Codelets
PL193009B1 (pl) * 1998-03-23 2007-01-31 Ibm Sposób wprowadzania nowego kodu do systemu przetwarzania Java z modyfikowaną pulą stałą
US6591229B1 (en) 1998-10-09 2003-07-08 Schlumberger Industries, Sa Metrology device with programmable smart card
FR2791159B1 (fr) * 1999-03-15 2001-05-04 Bull Cp8 Procede d'acces a un objet a l'aide d'un navigateur de type "web" cooperant avec une carte a puce et architecture pour la mise en oeuvre du procede
US6684389B1 (en) * 1999-08-05 2004-01-27 Canon Kabushiki Kaisha Compiler that decrypts encrypted source code
US6748592B1 (en) * 2000-02-14 2004-06-08 Xoucin, Inc. Method and apparatus for protectively operating a data/information processing device
DE60210416T2 (de) * 2002-02-28 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Speicherkarte

Also Published As

Publication number Publication date
CN1529972A (zh) 2004-09-15
JP4463471B2 (ja) 2010-05-19
WO2002033866A2 (fr) 2002-04-25
FR2815801A1 (fr) 2002-04-26
FR2815801B1 (fr) 2004-10-29
EP1356656B1 (fr) 2010-04-07
WO2002033866A3 (fr) 2003-09-04
CN100518193C (zh) 2009-07-22
AU2002214082A1 (en) 2002-04-29
US20040054817A1 (en) 2004-03-18
ATE463920T1 (de) 2010-04-15
US6901459B2 (en) 2005-05-31
DE60141770D1 (de) 2010-05-20
EP1356656A2 (fr) 2003-10-29

Similar Documents

Publication Publication Date Title
EP1002291B1 (en) Smart card control of terminal and network resources
US6769622B1 (en) System and method for simulating universal serial bus smart card device connected to USB host
US4855905A (en) Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US6676022B1 (en) Smart card system with command queuing
US5942738A (en) Smart IC card system and smart IC card with transaction management program stored therein
US6145015A (en) Multimedia data transferring method
EP0733971A2 (en) Method and apparatus for managing connections for communication among objects in a distributed object system
CN101199168A (zh) 监控通信链路的队列
WO2007112635A1 (fr) Système d'exploitation intégré pour carte à puce et procédé de traitement de tâche
CN101484873A (zh) 接口的同时运行
JP2004512593A (ja) マスタとスレーブとの間の単一の物理交換チャネル上でのコマンド/応答対の多重交換のための複数の論理フローの伝送用プロトコル、およびアプレットの実行を追跡し監視するための対応する装置
US20030061413A1 (en) Buffer partitioning for managing multiple data streams
JP4258025B2 (ja) 改良されたマンマシンインタフェースを有するicカードリーダ
JP2003030596A (ja) 論理チャネル管理機能付き記憶装置
US6082615A (en) Reader for smart IC card
KR19990087960A (ko) 비지속성메모리내의객체생성방법및장치
CN1950810B (zh) 用于主机子卡接口的后向兼容并行ddr总线
KR100669949B1 (ko) 전용 sms 발송 시스템 및 전용 sms 발송 방법
WO2008104601A2 (en) Method of managing command execution in an electronic token
CN101876937B (zh) 一种模拟智能卡信息交互的方法
CN114328317B (zh) 一种提升存储***通信性能的方法、装置及介质
US6915355B2 (en) Automation equipment equipped with a USB link for monitoring and control in an automation application
WO1998052152A2 (en) Communication between interface device and ic card
JPH10143486A (ja) 並列計算機におけるデータ送受信方法
CN117041373A (zh) 基于usb的单通道多业务并行处理方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070313

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070330

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20070613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091218

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100217

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees