(57)【要約】【課題】  スマートカード、及び、スマートカードとこれに付随するカード読取装置とを含むシステムを提供する。また、スマートカードによるバイト伝送を管理する方法、及びその結果得られるコンピュータプログラムを提供する。【解決手段】  本発明は、スマートカード（ＣＡＲ）に関し、それは、オペレーティングシステムの外部にあってバイト伝送をトリガする段階を管理する少なくとも１つのモジュール（ＴＩＭ）を含む。外部モジュール（ＴＩＭ）は、オペレーティングシステムをモニタすることにより支援機能として作用する。それは、支援機能としてのその役割において、オペレーティングシステムにバイト伝送をトリガさせることができる。その結果、読取装置がスマートカードと通信することができるように、バイト間の時間間隔が良好に尊重される。この時間間隔が尊重されない時は、読取装置がカードの認識に失敗する。本発明は、従ってカードの拒絶排出を回避する。
2005525615.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムの外部にあってバイト伝送をトリガするモジュール（ＴＩＭ）を含む、
ことを特徴とする、オペレーティングシステムを含むスマートカード（ＣＡＲ）。
【請求項２】
前記モジュール（ＴＩＭ）は、前記オペレーティングシステムが該モジュールを使用する前に作動させるプログラムを含むことを特徴とする請求項１に記載のカード。
【請求項３】
前記モジュール（ＴＩＭ）は、前記オペレーティングシステムの現在進行中のいかなる処理演算をも中断させることができ、かつ該オペレーティングシステムにバイト伝送をトリガさせることができる割込を作動後に発生するプログラム可能クロックであることを特徴とする請求項１又は請求項２のいずれか１項に記載のカード。
【請求項４】
前記モジュール（ＴＩＭ）は、バイト伝送をトリガする段階及び該バイトを伝送する段階の両方を作動後に担うプログラムを含むエージェントであることを特徴とする請求項１又は請求項２のいずれか１項に記載のスマートカード。
【請求項５】
前記エージェントは、前記バイトを伝送するために、前記オペレーティングシステムによって伝送される該バイトの全て又は一部を記憶することができるメモリを含むことを特徴とする請求項４に記載のスマートカード。
【請求項６】
前記バイトは、カードが起動された後でカードによって伝送される「ＡＴＲ」（アンサー・ツー・リセット）バイトであることを特徴とする請求項１から請求項５のいずれか１項に記載のスマートカード。
【請求項７】
カードのオペレーティングシステムの外部にあってバイト伝送をトリガする段階を管理するモジュール（ＴＩＭ）を含む、
ことを特徴とする、スマートカードとスマートカード読取装置とを含むスマートカードシステム。
【請求項８】
前記モジュールは、前記カード、前記読取装置、又は、該カードに直接的又は少なくとも１つの指令線を通じて間接的に接続された他の任意の装置のいずれかの上に位置することを特徴とする請求項７に記載の装置。
【請求項９】
マイクロコントローラを有するスマートカード（ＣＡＲ）とスマートカード読取装置（ＬＥＣ）とを含み、かつ、オペレーティングシステムの外部にあってバイト伝送をトリガする段階を管理するモジュール（ＴＩＭ）を含むシステムにおける通信方法であって、
モジュールがカードから読取装置（ＬＥＣ）への少なくとも１つのバイトの伝送をトリガするように、該モジュールを作動させる段階、
を含むことを特徴とする方法。
【請求項１０】
前記モジュール（ＴＩＭ）は、前記トリガする段階を実行するために、前記カードに含まれた前記オペレーティングシステムの現在進行中のいかなる処理演算をも中断させることができ、かつ該オペレーティングシステムによる少なくとも１つのバイト（ＡＴＲ）の前記読取装置への前記伝送を該オペレーティングシステムによってトリガすることができる割込を発生することを特徴とする請求項９に記載の方法。
【請求項１１】
前記モジュール（ＴＩＭ）は、ソフトウエアエージェントであり、
前記ソフトウエアエージェントの作動後に、前記バイトの全て又は一部を該エージェントに付随するメモリに読込む段階、
を含み、
前記エージェントは、前記バイト伝送をトリガする段階と、メモリに読み込まれた前記バイトを前記読取装置（ＬＥＣ）へ伝送する段階とを実行する、
ことを特徴とする請求項９に記載の方法。
【請求項１２】
マイクロコントローラを有するスマートカード（ＣＡＲ）とスマートカード読取装置（ＬＥＣ）とを含み、かつ、オペレーティングシステムの外部にあるモジュール（ＴＩＭ）を含むシステムのためのコンピュータプログラムであって、
モジュールがカードから読取装置（ＬＥＣ）へのバイトの伝送をトリガするように、該モジュールを作動させる段階を実行するためのコード命令、
を含むことを特徴とするコンピュータプログラム。
【請求項１３】
オペレーティングシステムを含むマイクロコントローラであって、
オペレーティングシステムの外部にあってバイト伝送をトリガするモジュール（ＴＩＭ）、
を含むことを特徴とするマイクロコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートカードにおけるバイト伝送の管理に関する。本発明を説明するために選択された例は、「ＩＳＯ」（国際標準化機構）規格「７８１６−３」及び「７８１６−４」に規定された「ＡＴＲ」（アンサー・ツー・リセット）メッセージという名で公知の応答メッセージの伝送の例である。このメッセージは、スマートカードがカード読取装置によって起動される時に接続されているカード読取装置にスマートカードによって伝送される。本発明は、スマートカード、及び、スマートカードとこれに付随するカード読取装置とを含むシステムに関する。
尚、本発明の内容に関する限り、読取装置とは、スマートカードと情報交換することができる装置である。
本発明はまた、スマートカードによるバイト伝送を管理する方法、及びこれに関連するコンピュータプログラムに関する。
【背景技術】
【０００２】
一般に、カードを起動することは、マイクロプロセッサによって割込として受け取られるアクションを加えることから成る。このアクションは、一般に「ＲＥＳＥＴ」と呼ばれている。それは、メモリ内の一定のアドレスに位置する割込ベクトル又はコードシーケンスを有する。このアドレスはまた、一般に、開始シーケンスへのジャンプ命令を包含する。
スマートカードとの通信は、読取装置を通じて行われる。尚、規格「ＩＳＯ  ７８１６−３」は、外部と通信するためにカードが使用すべき通信プロトコルを規定する。この条項は、全ての通信中に交換される電気信号及び情報について説明している。電流、電圧、及び信号周波数と共に、カード及びカード読取装置間の通信中に交換されるデータのフォーマットも標準化されている。
【０００３】
スマートカードは、起動された時に読取装置にメッセージを伝送する。開始時のカードからのこのメッセージは、規格「ＩＳＯ  ７８１６−３」及び「７８１６−４」に従って一般に「ＡＴＲ（アンサー・ツー・リセット）」と呼ばれている。このメッセージは、特に、通信プロトコルに関するスマートカードの能力を読取装置に示す情報を含む。例えば、カードが読取装置に対して示すものは以下の通りである。
・プロトコルタイプ（Ｔ＝０、Ｔ＝１、その他）
・伝送速度（例えば、９６００ボー、３８４００ボー、その他）
・指令実行タイムアウト
・その他
【０００４】
「ＡＴＲ」メッセージはまた、履歴情報を含む。この情報は、製品識別、バージョン、使用チップのタイプ、カード状態、その他を含む。
「ＡＴＲ」メッセージは、いくつかのバイトから成る。マイクロコントローラを備えたほとんどのスマートカードにおいては、このメッセージ内のバイトは、逐次伝送される。一般に、カードオペレーティングシステムは益々複雑になっており、セキュリティが益々重要になってきているので、「ＡＴＲ」メッセージの伝送中に、オペレーティングシステムは、ユーザに管理を許す前に一定数の処理演算を実行しなくてはならない。具体的には、オペレーティングシステムは、「ＡＴＲ」の第１のバイトを伝送し、次に第１の処理演算を実行する。この処理演算の後、オペレーティングシステムは、第２のバイトを伝送し、次に第２の処理演算を実行する。この第２の処理演算の後、オペレーティングシステムは、第３のバイトを伝送する、等々である。処理演算は、多少複雑になる可能性があり、実行時間は変動する。従って、この変動する実行時間のために、「ＡＴＲ」メッセージにおける各バイト伝送間の時間間隔を判断することは非常に難しい。
しかし、以下の事項を特に規定する規格が存在する。
・「ＡＴＲ」メッセージにおける２つのバイトの伝送間に超えてはならない最大時間間隔
・「ＡＴＲ」メッセージに対する超えてはならない最大全体伝送継続時間
【発明の開示】
【発明が解決しようとする課題】
【０００５】
読取装置がスマートカードと通信することができるように、これらの規格は尊重されるべきである。これらの時間間隔が尊重されない場合、読取装置は、カードの認識に失敗し、大抵の場合、読取装置に含まれた機構が、読取装置のハウジングからカードを排出する。カードの排出は、カードユーザにとって不便である。
【課題を解決するための手段】
【０００６】
従って、本発明の１つの目的は、カードユーザの満足度を増すことである。
この目的を達成するために、本発明によると、オペレーティングシステムの外部にあるモジュールが、バイト伝送をトリガするように計画される。
この外部モジュールは、オペレーティングシステムをモニタすることにより、支援機能として働く。それは、その支援機能としての役割において、オペレーティングシステムにバイト伝送をトリガさせることができる。その結果、バイト間の時間間隔が良好に尊重される。本発明は、従って、カードの排出を回避してカードユーザの満足度を増大させる。
例証として準備され、添付図面を参照する以下の説明を読むと、本発明の理解が一層容易になるであろう。
【発明を実施するための最良の形態】
【０００７】
説明を簡潔にするために、図面に示す同じ要素に対しては同一参照符号が付されている。
図１は、本発明を適用することができるシステム「ＳＹＳ」を示す。このシステム「ＳＹＳ」は、通信リンク「ＬＩＡ」を通じて互いに接続されたスマートカード「ＣＡＲ」とスマートカード読取装置「ＬＥＣ」とを含む。通信メッセージは、好ましくは規格「ＩＳＯ  ７１８６−４」に従うフォーマットを使用して、これらのリンク上を通過する。
【０００８】
図２は、スマートカード「ＣＡＲ」のアーキテクチャの概略図を示す。このスマートカード「ＣＡＲ」は、電子モジュール「ＭＯＤ」を含む。モジュール「ＭＯＤ」は、マイクロコントローラ「ＭＩＣ」、及び外部と通信するための接点を含む。マイクロコントローラは、一般に以下のものを含む。
・指令を実行するためのマイクロプロセッサ「ＣＰＵ」。
・内容が工場でバーンインされ、従って変更することができない不揮発性メモリ「ＲＯＭ」（読取専用メモリ）。従って、暗号化アルゴリズム、オペレーティングシステム「ＳＥ」、アプリケーションプログラミングインタフェース（ＡＰＩ）、その他を「ＲＯＭ」に書き込むことが可能である。
・例えば「ＥＥＰＲＯＭ」（電気的消去・プログラム可能型読取専用メモリ）のような不揮発性メモリ。これは、一般に、各カードに固有のデータ、例えばカード保有者アイデンティティ、サービスへのアクセス権、ファイルシステム、カードの全てのアプリケーションプログラム、及びその他を記憶するために使用される。
・カード指令を実行する作業域である揮発性メモリ「ＲＡＭ」。
・データ暗号化のためのセキュリティユニット「ＣＲＹＰ」。
・電源電圧、クロック速度、その他を考慮するためのユニット。
・カード「ＣＡＲ」と読取装置「ＬＥＣ」との間の通信のための、例えば当業者に公知の「ＵＡＲＴ」（万能非同期送受信機）タイプの入出力ポート。
・データ、アドレス、及び指令を交換するために様々な部分を互いに接続する一連のバス「ＢＵＳ」。
【０００９】
このモジュールはまた、読取装置と通信するために特に次のような接点を含む。
・入出力Ｉ／Ｏ接点。
・電気接点「ＶＣＣ」及び「ＶＰＰ」、及び接地「ＧＮＤ」（電気接点「ＶＰＰ」は、一般にプログラミングのための電圧を供給するのに使用され、他方、接点「ＶＣＣ」は、カードを給電するために使用される）。
・カードをリセットするか又は起動するための接点「ＲＥＳ」。
【００１０】
オペレーティングシステムは、要求に応じて実行することができる指令セットを有する。それは、標準化されて安全な通信プロトコルを使用して外部との通信を管理する。与えられた指令は、実行される前にオペレーティングシステムによって検証される。
カード「ＣＡＲ」は、起動された時に読取装置「ＬＥＣ」にメッセージを送信する。このメッセージは、一般に「ＡＴＲ」（アンサー・ツー・リセット）メッセージと呼ばれる。この「ＡＴＲ」メッセージは、一般にいくつかのバイトから成る。
冒頭で言及した問題は、「ＡＴＲ」メッセージ内の２バイト伝送間の時間間隔に関係する。
【００１１】
第１の実施形態によれば、ソリューションは、プログラム可能クロック「ＴＩＭ」（タイマー）のようなタイマー装置の使用することから成る。プログラム可能クロックは、「ｎ」クロックサイクル毎に割込信号を発生するクロックを用いた回路である。このクロックは、そのクロック周波数を変更することができるのでプログラム可能と呼ばれる。
このプログラム可能クロック「ＴＩＭ」は、カード「ＣＡＲ」上か、又はこのカードに直接又は間接的に接続された外部装置上に置くことができる。例えば、このクロック「ＴＩＭ」は、読取装置の構成要素とすることができる。間接的に接続された装置の例は、読取装置「ＬＥＣ」が接続されているコンピュータであろう。
本発明の実施形態においては、プログラム可能クロック「ＴＩＭ」は、スマートカード「ＣＡＲ」内に含まれる。
【００１２】
本発明の理解がより容易になるように説明するために、それぞれ図３Ａ及び３Ｂに示すアルゴリズム「ＡＲＧ１」及び「ＡＲＧ２」の段階を以下に参照する。
これら２つのアルゴリズム「ＡＲＧ１」及び「ＡＲＧ２」は、相互に作用する。換言すれば、オペレーティングシステムが処理演算を行う時、アルゴリズム「ＡＲＧ１」は、「ＡＴＲ」バイトを伝送することができるように、プログラム可能クロックによってトリガされた割込により随時割込可能である。
【００１３】
本発明の実施形態においては、第１のアルゴリズム「ＡＲＧ１」は、以下の主要段階を含む。
・第１の段階ＥＴ１１は、カードを起動する段階から成る。
・第２の段階ＥＴ２１中に、オペレーティングシステムは、プログラム可能クロック「ＴＩＭ」が「ＡＴＲ」バイト伝送のための割込をトリガするようにそれを作動する。
・第３の段階ＥＴ３１中に、オペレーティングシステムは、一連の処理演算（Ｔ１〜Ｔｎ）を実行する。本発明の実施形態においては、パラメータ「ｎ」は、実行される処理演算の数である。
段階ＥＴ２１及びＥＴ３１は、任意の順序で実行することができる。明らかに、他の段階を実施することもできる。例えば、クロック作動は、カード起動の直後に起らない場合がある。処理段階は、段階ＥＴ１１及びＥＴ３１の間に計画されてもよい。
【００１４】
第２のアルゴリズム「ＡＲＧ２」は、「ＡＴＲ」バイトＯｊ（ｊ＝１、２、．．．、ｍ）の伝送における段階を示している。このルアルゴリズム「ＡＲＧ２」は、第１のアルゴリズムの第２段階ＥＴ２においてクロックが作動された後に実行される。このアルゴリズム「ＡＲＧ２」は、以下の段階を含むプログラミングループである。
・第１の段階ＥＴ１２中に、プログラム可能クロックは、オペレーティングシステムに割込むことができる割込Ｉ１をトリガする。オペレーティングシステムは、その現在の作業、例えば、処理演算（Ｔ１〜Ｔｎ）が既に始まっている場合はその進行中の処理演算を中断する。
・段階ＥＴ２２において、オペレーティングシステムは、割込１１を受け取った後に、「ＡＴＲ」バイト伝送のために予定されたコードシーケンスへにジャンプして第１の「ＡＴＲ」バイトＯ１の伝送を始める。
・次に、段階ＥＴ４２は、伝送される他のバイトを「ＡＴＲ」メッセージが含むか否かを判断する段階から成る。本発明の実施形態においては、この段階は、「ＡＴＲ」メッセージ内のまだ伝送されていないバイト数Ｌ（ＡＴＲ）を判断する段階、及び、１バイトの伝送が終わる毎にこの数を１単位ずつ減少させる（Ｌ（ＡＴＲ）−１）段階から成る。
・段階ＥＴ５２中に、まだ伝送されていないバイト数が検査される。ここで２つの可能性が存在する。
【００１５】
第１の可能性
まだ伝送されていないバイト数Ｌ（ＡＴＲ）が１よりも大きい場合、段階ＥＴ１２が反復される。段階ＥＴ１２中に、プログラム可能クロックは、アルゴリズム「ＡＲＧ１」の実行に再び割り込むことができる新たな割込Ｉ２を自動的にトリガする。この新たな割込Ｉ２に続いて、オペレーティングシステムは、第２のバイトＯ２を伝送する。処理は続行されて、まだ伝送されていないバイト数Ｌ（ＡＴＲ）の値が１単位ずつ減少され、インデックスｊもまた１単位ずつ増分される。全てのバイトの伝送が完了した時、好ましくは、メッセージは、「ＡＴＲ」メッセージ内のバイトの伝送が終了したことをオペレーティングシステムに知らせる。
第２の可能性
段階ＥＴ５２において行われた検査が、伝送されるバイトが最早存在しないことを示す場合、処理演算は、それが完了するまで続行することができる。
好ましくは、バイトＯｎを伝送した後に、オペレーティングシステムは、段階ＥＴ３２中に処理演算を開始するか、又は、処理演算が割込Ｉ１よりも前に開始されていた場合はこれを続行する。例えば、まだ伝送されていないバイト数を判断する段階ＥＴ５２での検査中に、オペレーティングシステムは、新たな割込がトリガされるまで、以前に中断された処理を続行することができる。
【００１６】
図４は、読取装置「ＬＥＣ」、オペレーティングシステム、及びプログラム可能クロック「ＴＩＭ」間の情報交換を時間と共に示している。この図は、「ＡＴＲ」メッセージ内のバイトの伝送がトリガされる時を一層明確に示している。この図において、割込又はバイトの伝送に対する遅延ΔＯｎは、実際よりも誇張して示されている。図３Ａ〜３Ｂ及び図４間の対応をより良く理解するために、以下の説明においては、図３Ａ及び３Ｂの段階は括弧付きで示される。
【００１７】
起動する段階（ＥＴ１１）の後、オペレーティングシステムは、プログラム可能クロック「ＴＩＭ」を作動させるために、第１のメッセージを伝送する（ＥＴ２１）。
作動されると、プログラム可能クロックは、オペレーティングシステムに割込Ｉ１を伝送し、それによってオペレーティングシステムは、その現在の処理演算を中断する（ＥＴ１２）。
割込を受け取った後、オペレーティングシステムは、第１のバイトＯ１をカード読取装置に伝送する（ＥＴ２２）。伝送時間は、例えばΔＯ１である。
【００１８】
この処理は続行されて、第２の割込１２がオペレーティングシステムに伝送され、割込を受け取った後に、オペレーティングシステムは、第２のバイトＯ２をカード読取装置に伝送する。この伝送時間は、例えばΔＯ２である。
この図は、バイトＯ（ｍ−１）の伝送の終わりと次のバイトＯ（ｍ）の伝送がトリガされる時間との間の時間間隔ΔＲｍを示す。この間隔は、割込を伝送するのに要する時間にほぼ一致する。
【００１９】
本発明の別の変形実施形態は、各割込の後に少なくとも２つのバイトを伝送する段階から構成することができると考えられる。プログラム可能クロックは、割込の後に１つのバイトを伝送する代わりに、各割込の後にｋバイトの伝送を可能にするようにプログラムすることができる。プログラム可能クロックは、２つの割込の間にこれらのｋバイトを伝送する十分な時間があるように、この変形実施形態に対してプログラムされるべきである。図５は、この変形実施形態を説明するアルゴリズム「ＡＬＧ３」の図である。図２に示すアルゴリズム「ＡＲＧ２」と比べると、この図には段階ＥＴ７２が追加されている。この段階ＥＴ７２は、割込の後に連続的に伝送されたバイトの数を検査する段階を含む。ここで２つの可能性が存在する。
【００２０】
第１の可能性
伝送されたバイト数がｋと等しくない場合、オペレーティングシステムは、段階ＥＴ２２において別のバイトを伝送する。バイト数ｋは、次に１単位増分され、インデックスｊも１単位増分される。
第２の可能性
伝送されたバイトの数がｋと等しい場合、オペレーティングシステムは、割込を伝送し、段階ＥＴ１２が実行される。段階ＥＴ７２での検査を実行することができるように、パラメータｋが次にリセットされる。
【００２１】
図６は、読取装置「ＬＥＣ」、オペレーティングシステム、及びプログラム可能クロック「ＴＩＭ」間の情報フローを時間ｔと共に示している。この図は、各割込の後に３つのバイトが伝送された場合の例である（ｋ＝３）。この図は、２つの割込の間にバイトが中断することなく連続的に伝送されることを明確に示している。図４と同様に、割込又はバイトの伝送に対する遅延は、明らかに実際よりも誇張して示されている。
【００２２】
図７は、オペレーティングシステムの外部にエージェントが作成される第２の実施形態を説明するアルゴリズム「ＡＬＧ４」である。この実施形態においては、第１の実施形態では必要であったオペレーティングシステムに割込むことは最早必要ではない。このエージェントは、ソフトウエアプログラムであって、その機能は、「ＡＴＲ」メッセージ内のバイトの伝送をトリガすること、及び、これらのバイトを伝送することである。
このエージェントは、例えば、上述の「ＵＡＲＴ」構成要素とすることができる。それは、ある一定数のバイトを周期的に伝送するようにプログラムされるであろう。エージェントはまた、バイト伝送をトリガする段階及びバイトを伝送する段階を担う第２のマイクロプロセッサを含むモジュールとすることができる。
【００２３】
この第２の実施形態を説明するアルゴリズム「ＡＬＧ４」は、以下の段階を含む。
アルゴリズム「ＡＬＧ４」の段階ＥＴ１３において、スマートカードが起動される。
段階ＥＴ２３において、マイクロプロセッサは、この指令「ＲＥＳＥＴ」を受け取ってエージェントを作動させる。作動は、エージェントを開始する段階から成る。
段階ＥＴ３３において、オペレーティングシステムは、「ＡＴＲ」メッセージの全てのバイトをエージェントに伝送する。
段階ＥＴ４３において、「ＡＴＲ」メッセージのバイトは、例えばエージェントに付随するバッファメモリのようなメモリに記憶される。
【００２４】
作動及び「ＡＴＲ」メッセージ内のバイトの受信後に、エージェントは、バイト伝送をトリガする段階及びこれらのバイトを伝送する段階を担うことになる。オペレーティングシステムは、次に段階５３において、処理演算（Ｔ１〜Ｔｎ）のような他のタスクに恐らく並列処理で集中することができる。伝送方法は、図３Ｂで示した方法とすることができる。次に、バイト伝送は、段階ＥＴ６３の間は、図３Ｂの段階ＥＴ２２と同様にバイトを伝送する段階から成る。別の段階ＥＴ７３は、図３Ｂの段階ＥＴ４２と同様に、伝送される他のバイトを「ＡＴＲ」メッセージが含むか否かを判断する段階から成る。本発明の実施形態においては、この段階は、「ＡＴＲ」メッセージ内のまだ伝送されていないバイト数Ｌ（ＡＴＲ）を判断する段階、及びバイトが１つ伝送される毎にこの数を１単位だけ減少させる段階から成る。図３Ｂの段階ＥＴ５２と同一の別の段階ＥＴ８３は、まだ伝送されていないバイト数を検査する段階から成る。ここで２つの可能性が存在する。
【００２５】
第１の可能性
まだ伝送されていないバイト数Ｌ（ＡＴＲ）が１よりも大きい場合、段階ＥＴ６３が反復される。エージェントは、第２のバイトＯ２を伝送する。処理は続行され、まだ伝送されていないバイト数の値が１単位だけ減少される。全てのバイト伝送が完了した時に、好ましくは、メッセージは、「ＡＴＲ」メッセージ内のバイトの伝送が終了したことをオペレーティングシステムに知らせる。
第２の可能性
段階ＥＴ８３で行われた検査が、伝送されるバイトが最早存在しないことを示す場合、メッセージは、「ＡＴＲ」メッセージ内のバイトの伝送が終了したことを段階ＥＴ９３中にオペレーティングシステムに知らせる。
【００２６】
尚、この第２の実施形態を説明するために選択された伝送処理は、図３Ｂのアルゴリズム「ＡＲＧ２」に対応するが、図５のアルゴリズム「ＡＬＧ３」とすることも容易に可能であろう。
尚、上述の段階ＥＴ３３においてはまた、オペレーティングシステムは、バッファメモリの大きさ及び伝送される「ＡＴＲ」メッセージ内のバイト数の両方に応じて、「ＡＴＲ」メッセージの全てのバイトを数度に分けてエージェントに伝送することができる。
尚、上述のエージェントは、カード、読取装置、又は、カードに直接又はバスを通じて間接的に接続された任意の他の装置上に置くことができる。本発明の実施形態においては、読取装置は、カードに直接接続されるように考慮された。間接的に接続された装置の例は、カード読取装置を管理するコンピュータであろう。
【００２７】
一般的に、本発明は、スマートカード「ＣＡＲ」に関し、それは、オペレーティングシステムの外部にあってバイト伝送をトリガする段階を管理するモジュール（ＴＩＭ）を含む。本発明の実施形態においては、このモジュールは、「ＡＴＲ」メッセージを形成する一連のバイトの各バイトの伝送をトリガする。本発明は、１つのモジュールを含むカードに限定されず、少なくとも１つのモジュールを含むいかなるカードにも適用されることは明らかである。既に見てきたように、このモジュール（ＴＩＭ）は、使用前にオペレーティングシステムにより作動されるプログラムを含む。
【００２８】
第１の実施形態において見てきたように、モジュール「ＴＩＭ」は、プログラム可能クロックであり、これは、その作動後に、現在進行中のオペレーティングシステムのいかなる処理演算をも中断させることができ、かつオペレーティングシステムにバイト伝送をトリガさせることができる割込を発生する。
この第１の実施形態においては、このプログラム可能クロックは、以下のいずれかの上に位置することができることが分った。
・スマートカード「ＣＡＲ」、又は
・スマートカード「ＣＡＲ」に直接又は間接的に接続された装置。
直接接続された装置の例は、カード読取装置「ＬＥＣ」であろう。
【００２９】
上述の通り、このモジュール「ＴＩＭ」は、作動後にバイト伝送をトリガする段階及びバイトを伝送する段階の両方を担うプログラムを含むエージェントとすることができることも分った。この実施形態を実行するために、エージェントは、例えばバッファメモリのようなメモリを必要とする。エージェントは、オペレーティングシステムによって伝送されたバイトの全て又はいくつかをこのメモリに記憶する。このメモリは、「ＡＴＲ」メッセージの全てのバイトを収容するのに十分なほど大きいことが好ましい。
上述の通り、本発明は、特に、当業者に「ＡＴＲ」（アンサー・ツー・リセット）バイトとして公知のリセットバイトに適用されることが分った。これらの「ＡＴＲ」バイトは、カードが起動された後にカードによって伝送される。
【００３０】
本発明のソリューションはまた、スマートカードとスマートカード読取装置とを含むスマートカードシステムに関する。このシステムは、カードのオペレーティングシステムの外部にあってバイト伝送をトリガする段階を管理する１つの（又は、いくつかの）モジュール（ＴＩＭ）を含むことが分った。このモジュールの位置は、それが、カード、読取装置、又は、直接的又は少なくとも１つの指令線を通じて間接的にカードに接続された任意の他の装置のいずれかの上とすることができるという意味で重要ではない。
【００３１】
本発明のソリューションはまた、スマートカード「ＣＡＲ」の読取装置「ＬＥＣ」に関する。この読取装置は、オペレーティングシステムによるバイト伝送をトリガする段階を管理するモジュール（ＴＩＭ）を含む。このモジュール（ＴＩＭ）は、その作動後に、現在進行中のオペレーティングシステムのいかなる処理演算をも中断させることができ、かつオペレーティングシステムにバイトを伝送させることができる割込を発生するプログラム可能クロックである。
【００３２】
本発明はまた、マイクロコントローラを含むスマートカード「ＣＡＲ」と、オペレーティングシステムの外部にあってバイト伝送をトリガする段階を管理するモジュール（ＴＩＭ）を備えたスマートカード読取装置（ＬＥＣ）とを含むシステムにおける通信方法に関し、本方法は、モジュールがカードから読取装置（ＬＥＣ）への少なくとも１つのバイトの伝送をトリガするように、モジュールを作動させる段階を含む。
【００３３】
トリガする段階を実行するために、第１の実施形態においては、モジュール（ＴＩＭ）は、カードに含まれたオペレーティングシステムの現在進行中のいかなる処理演算をも中断させることができ、かつオペレーティングシステムによる少なくとも１つのバイト（ＡＴＲ）の読取装置への伝送をオペレーティングシステムによってトリガすることができる割込を発生する。
第２の実施形態においては、モジュールは、「インテリジェント」ソフトウエアエージェントとすることができることが分った。このエージェントの作動後に、本方法は、バイトの全て又はいくつかをこのエージェントに付随するメモリに読み込む段階を含み、このエージェントは、メモリに読み込まれたバイトの読取装置への伝送をトリガする。
【００３４】
トリガする段階は、プログラムによって実行される。このプログラムは、モジュールがカードから読取装置（ＬＥＣ）へのバイト伝送をトリガするように、このモジュールを作動させる段階を実行するためのプログラムコード命令を含む。既に見てきたように、このデータ処理装置は、スマートカード、又は、スマートカード「ＣＡＲ」に直接又は間接的に接続された装置とすることができる。
最後に、本発明は、オペレーティングシステムを含むマイクロコントローラに関し、これは、オペレーティングシステムの外部にあってバイト伝送をトリガするモジュール（ＴＩＭ）を含む。
【００３５】
ここで、本発明が他の明確な利点を提供することを説明する。「ＡＴＲ」メッセージのバイトをトリガする時間の完全な制御を提供することと同様に、いくつかのスマートカードに存在するモジュール、すなわちプログラム可能クロックにより割込をトリガすることができ、それによって第１の実施形態による本発明を実施するコストが低減されることが分った。第２の実施形態はまた、オペレーティングシステムの外部にソフトウエアエージェントを作成することにより、割込という概念を回避することができることを示した。このソフトウエアによってもたらされる利点は、オペレーティングシステムによる作動後に、それがバイト伝送をトリガする段階のみならず、バイトの伝送も管理するということである。
【００３６】
更に、本発明は、他の無視し得ない利点を提供する。トリガ時間を完全に制御することにより、「ＡＴＲ」メッセージの全てのバイトの伝送に必要な全体継続時間の制御も提供される。本発明の方法を通じて、「ＡＴＲ」メッセージを伝送するのに必要な全体継続時間が制御され、従って、「ＡＴＲ」メッセージの伝送の終了をオペレーティングシステムが読取装置から「ＡＰＤＵ」指令を受け取る準備ができた時間と同期させることができるように、全体継続時間を調節することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明を適用することができるアーキテクチャの概略図である。
【図２】スマートカードのアーキテクチャが特にオペレーティングシステムの外部にあるモジュールを示す概略図である。
【図３Ａ】第１の実施形態の様々な段階を説明するアルゴリズムを示す図である。
【図３Ｂ】第１の実施形態の様々な段階を説明するアルゴリズムを示す図である。
【図４】第１の実施形態のソリューションによるカード読取装置、オペレーティングシステム、及び外部モジュール間の情報交換を示す、第１の実施形態からもたらされた情報フローの概略図である。
【図５】第１の実施形態の変形を説明するアルゴリズムを示す図である。
【図６】カード読取装置、オペレーティングシステム、及び外部モジュール間の情報交換を示す、第１の実施形態の変形からもたらされた情報フローの概略図である。
【図７】外部モジュールがソフトウエアエージェントである本発明の第２の実施形態を説明するアルゴリズムを示す図である。
【符号の説明】
【００３８】
ＭＩＣ  マイクロコントローラ
ＣＰＵ  マイクロプロセッサ
ＣＲＹＰ  セキュリティユニット
ＵＡＲＴ  万能非同期送受信機
ＴＩＭ  外部モジュール
Ｉ／Ｏ  入出力接点
ＧＮＤ  接地
【図１】
2005525615.tif 000003
【図２】
2005525615.tif 000004
【図３Ａ】
2005525615.tif 000005
【図３Ｂ】
2005525615.tif 000006
【図４】
2005525615.tif 000007
【図５】
2005525615.tif 000008
【図６】
2005525615.tif 000009
【図７】
2005525615.tif 000010
【国際調査報告】
2005525615.tif 000011
2005525615.tif 000012
2005525615.tif 000013