(57)【要約】【課題】アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信設定を変更可能な電子情報記憶媒体、ＩＣカード、通信方法、及び通信処理プログラムを提供する。【解決手段】ＯＳは、外部装置２との間で初期化処理が実行された後、当該初期化処理において行われた通信速度の通信設定に従って外部装置２から送信されたＳブロックの情報フィールドから、上記通信設定変更に関する設定変更情報を取得し、取得した設定変更情報に基づいて、アプリケーションを介さずに通信速度の通信設定を変更し、その後、外部装置２との間で、当該変更された通信速度の通信設定に従ってアプリケーションにより使用されるデータの送受信を行う。【選択図】図４
2018181000.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステム及び前記オペレーティングシステム上で動作するアプリケーションを搭載し、外部装置との間で、半二重ブロック伝送プロトコルに従って通信を行う電子情報記憶媒体であって、
前記オペレーティングシステムは、
前記外部装置との間で初期化処理が実行された後、前記初期化処理において行われた通信速度の通信設定に従って前記外部装置から送信されたブロックであって、先頭フィールド及び情報フィールドを含むブロックを受信する受信手段と、
前記受信されたブロックの前記先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示す管理ブロックであるか否かを判定する判定手段と、
前記受信されたブロックが通信設定変更を示す管理ブロックであると判定された場合、当該管理ブロックの前記情報フィールドから、前記通信設定変更に関する設定変更情報を取得する取得手段と、
前記取得された設定変更情報に基づいて、前記アプリケーションを介さずに前記通信速度の通信設定を変更する設定変更手段と、
前記外部装置との間で、前記設定変更手段により変更された前記通信設定に従って前記アプリケーションにより使用されるデータの送受信を行う通信手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項２】
前記電子情報記憶媒体は、当該電子情報記憶媒体が対応可能な複数の異なる通信速度を示す情報を記憶しており、
前記オペレーティングシステムは、前記初期化処理において、前記複数の異なる通信速度のうち予め選択された第１の通信速度に基づいて通信設定を行い、且つ当該第１の通信速度を示す情報を応答する通信設定手段と、
前記初期化処理が実行された後、前記外部装置からの要求に応じて、前記複数の異なる通信速度のうち前記第１の通信速度とは異なる第２の通信速度を少なくとも示す情報を応答する応答手段と、
を更に備え、
前記受信手段は、前記応答に応じて前記外部装置から送信された前記ブロックであって、前記第２の通信速度への前記通信設定変更に関する設定変更情報を前記情報フィールドに含む前記管理ブロックを受信し、
前記設定変更手段は、前記第２の通信速度への前記通信設定変更に関する設定変更情報に基づいて、前記第１の通信速度から前記第２の通信速度へ前記通信設定を変更することを特徴とする請求項１に記載の電子情報記憶媒体。
【請求項３】
前記第２の通信速度は、前記第１の通信速度より速いことを特徴とする請求項２に記載の電子情報記憶媒体。
【請求項４】
オペレーティングシステム及び前記オペレーティングシステム上で動作するアプリケーションを搭載し、外部装置との間で、半二重ブロック伝送プロトコルに従って通信を行うＩＣカードであって、
前記オペレーティングシステムは、
前記外部装置との間で初期化処理が実行された後、前記初期化処理において行われた通信速度の通信設定に従って前記外部装置から送信されたブロックであって、先頭フィールド及び情報フィールドを含むブロックを受信する受信手段と、
前記受信されたブロックの前記先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示す管理ブロックであるか否かを判定する判定手段と、
前記受信されたブロックが通信設定変更を示す管理ブロックであると判定された場合、当該管理ブロックの前記情報フィールドから、前記通信設定変更に関する設定変更情報を取得する取得手段と、
前記取得された設定変更情報に基づいて、前記アプリケーションを介さずに前記通信速度の通信設定を変更する設定変更手段と、
前記外部装置との間で、前記設定変更手段により変更された前記通信設定に従って前記アプリケーションにより使用されるデータの送受信を行う通信手段と、
を備えることを特徴とするＩＣカード。
【請求項５】
オペレーティングシステム及び前記オペレーティングシステム上で動作するアプリケーションを搭載し、外部装置との間で、半二重ブロック伝送プロトコルに従って通信を行う電子情報記憶媒体の前記オペレーティングシステムにより実行される通信方法であって、
前記外部装置との間で初期化処理が実行された後、前記初期化処理において行われた通信速度の通信設定に従って前記外部装置から送信されたブロックであって、先頭フィールド及び情報フィールドを含むブロックを受信するステップと、
前記受信されたブロックの前記先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示す管理ブロックであるか否かを判定するステップと、
前記受信されたブロックが通信設定変更を示す管理ブロックであると判定された場合、当該管理ブロックの前記情報フィールドから、前記通信設定変更に関する設定変更情報を取得するステップと、
前記取得された設定変更情報に基づいて、前記アプリケーションを介さずに前記通信速度の通信設定を変更するステップと、
前記外部装置との間で、前記変更された前記通信設定に従って前記アプリケーションにより使用されるデータの送受信を行うステップと、
を含むことを特徴とする通信方法。
【請求項６】
オペレーティングシステム及び前記オペレーティングシステム上で動作するアプリケーションを搭載し、外部装置との間で、半二重ブロック伝送プロトコルに従って通信を行う電子情報記憶媒体の前記オペレーティングシステムに、
前記外部装置との間で初期化処理が実行された後、前記初期化処理において行われた通信速度の通信設定に従って前記外部装置から送信されたブロックであって、先頭フィールド及び情報フィールドを含むブロックを受信するステップと、
前記受信されたブロックの前記先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示す管理ブロックであるか否かを判定するステップと、
前記受信されたブロックが通信設定変更を示す管理ブロックであると判定された場合、当該管理ブロックの前記情報フィールドから、前記通信設定変更に関する設定変更情報を取得するステップと、
前記取得された設定変更情報に基づいて、前記アプリケーションを介さずに前記通信速度の通信設定を変更するステップと、
前記外部装置との間で、前記変更された前記通信設定に従って前記アプリケーションにより使用されるデータの送受信を行うステップと、
を実行させることを特徴とする通信処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
外部装置との間で通信可能なＩＣカード等の技術分野に関する。
【背景技術】
【０００２】
ＩＣカードの通信仕様は、接触ＩＣカードの国際規格であるISO/IEC 7816-3や、非接触ＩＣカードの国際規格であるISO/IEC 14443-3と14443-4で規定されており、市場では既に様々なＩＣカードシステムが構築されている。ISO/IEC 7816-3によれば、接触ＩＣカードは、外部装置（リーダライタ）からのリセットを受信すると、このリセットに対する初期応答としてＡＴＲ（Answer to Reset）を外部装置へ送信する。このＡＴＲには、接触ＩＣカードが対応可能な通信速度などの通信条件が示される。ＡＴＲを受信した外部装置は、当該ＡＴＲで示された通信条件に従って通信速度を変更することができる。このような通信速度の変更は、外部装置と接触ＩＣカードとの間のＰＰＳ（Protocol and Parameters Selection）交換（ＰＰＳ要求及びＰＰＳ応答の送受信）により行われる。しかし、ＰＰＳ交換は初期化段階での処理（つまり、ＡＴＲの送受信直後に実施される手続であり、以下、「初期化処理」という）であり、ISO/IEC 7816-3には、通信速度を変更できる当該処理について定められているが、当該初期化処理後、アプリケーション層で使用されるデータ（例えば、ＡＰＤＵ（Application Protocol Data Unit）の送受信が開始された後に、通信速度を変更できる手続については定められていない。
【０００３】
また、ISO/IEC 14443-3によれば、例えば非接触式Type Bの通信の場合、非接触ＩＣカードは、外部装置からのＲＥＱＢコマンド（Type Bのリクエストコマンド）を受信すると、ＡＴＱＢ（Type Bのリクエスト応答信号）を外部装置へ送信する。このＡＴＱＢには、非接触ＩＣカードが対応可能な通信速度などの通信条件が示される。ＡＴＱＢを受信した外部装置は、ＡＴＱＢで示された通信条件に従って通信速度を変更することができる。このような通信速度の変更は、外部装置と非接触ＩＣカードとの間のＡＴＴＲＩＢコマンド及びその応答の送受信により行われる。しかし、ＡＴＴＲＩＢコマンド及びその応答の送受信についても初期化処理であり、ISO/IEC 14443-3にも、通信速度を変更できる当該初期化処理について定められているが、当該初期化処理後、アプリケーション層で使用されるデータの送受信が開始された後に、通信速度を変更できる手続については定められていない。一方で、特許文献１には、ＩＣカードの通信設定完了後、コマンド及びレスポンスの交換が開始された後に、当該ＩＣカードが、通信速度の変更を要求するコマンドを受信すると、受信したコマンドで指定された通信速度に変更することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１８２７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特定用途向けに作られたシステム（以下、「特定用途向システム」という）では、ＩＣカードと外部装置との間の初期化処理における処理フローが固定されている場合がある。このような場合、例えばＩＣカードから外部装置へ送信されるＡＴＲやＰＰＳ応答（或いは、ＡＴＱＢやＡＴＴＲＩＢコマンドの応答）で示される通信速度等の値が固定されており、当該固定された値以外の値がＡＴＲやＰＰＳ応答（或いは、ＡＴＱＢやＡＴＴＲＩＢコマンドの応答）に示される場合、外部装置側でエラーと判定するケースがある。このようなケースにおいて、例えば通信速度として9600bpsのみをサポートしている旧型のＩＣカードと、特定用途向システムの外部装置とが通信する場合、例えばＡＴＲには通信速度として9600bpsのみが示されるので、当該外部装置側でエラーと判定されず、問題がない。
【０００６】
しかしながら、例えば通信速度として9600bps及び38400bpsをサポートしている新型のＩＣカードと、特定用途向システムの外部装置とが通信する場合、例えばＡＴＲに通信速度として9600bps及び38400bpsが示されると、当該外部装置側でエラーと判定される。このため、新型のＩＣカードでは、38400bpsをサポートしているにも関わらず、例えばＡＴＲに通信速度として9600bpsのみを示すように固定設定する必要がある。一方、このように固定設定された新型のＩＣカードを、上記特定用途向システム以外のシステム（例えば、9600bps及び38400bpsなどの複数の通信速度が対応可能なシステム）で利用する場合、当該新型のＩＣカードが38400bpsをサポートしているにも関わらず、この通信速度を利用できず、例えばデータサイズが大きくなった場合に、外部装置とＩＣカード間の通信パフォーマンスが著しく低下するという問題が生じる可能性がある。従って、初期化処理後（つまり、ＩＣカードの通信設定完了後）に、適切なタイミングで通信速度を変更することができる仕組みが望まれる。一方、上述した特許文献１によれば、通信速度の変更を要求するコマンドは、アプリケーション層でやり取りされるデータに含まれるものと解されるが、コマンドの仕様が確定されている場合、アプリケーションへのコマンドの追加や変更が困難なケースもある。
【０００７】
そこで、本発明は、このような以上の点等に鑑みてなされたものであり、アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信設定を変更可能な電子情報記憶媒体、ＩＣカード、通信方法、及び通信処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、オペレーティングシステム及び前記オペレーティングシステム上で動作するアプリケーションを搭載し、外部装置との間で、半二重ブロック伝送プロトコルに従って通信を行う電子情報記憶媒体であって、前記オペレーティングシステムは、前記外部装置との間で初期化処理が実行された後、前記初期化処理において行われた通信速度の通信設定に従って前記外部装置から送信されたブロックであって、先頭フィールド及び情報フィールドを含むブロックを受信する受信手段と、前記受信されたブロックの前記先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示す管理ブロックであるか否かを判定する判定手段と、前記受信されたブロックが通信設定変更を示す管理ブロックであると判定された場合、当該管理ブロックの前記情報フィールドから、前記通信設定変更に関する設定変更情報を取得する取得手段と、前記取得された設定変更情報に基づいて、前記アプリケーションを介さずに前記通信速度の通信設定を変更する設定変更手段と、前記外部装置との間で、前記設定変更手段により変更された前記通信設定に従って前記アプリケーションにより使用されるデータの送受信を行う通信手段と、を備えることを特徴とする。
【０００９】
請求項２に記載の発明は、請求項１に記載の電子情報記憶媒体において、前記電子情報記憶媒体は、当該電子情報記憶媒体が対応可能な複数の異なる通信速度を示す情報を記憶しており、前記オペレーティングシステムは、前記初期化処理において、前記複数の異なる通信速度のうち予め選択された第１の通信速度に基づいて通信設定を行い、且つ当該第１の通信速度を示す情報を応答する通信設定手段と、前記初期化処理が実行された後、前記外部装置からの要求に応じて、前記複数の異なる通信速度のうち前記第１の通信速度とは異なる第２の通信速度を少なくとも示す情報を応答する応答手段と、を更に備え、前記受信手段は、前記応答に応じて前記外部装置から送信された前記ブロックであって、前記第２の通信速度への前記通信設定変更に関する設定変更情報を前記情報フィールドに含む前記管理ブロックを受信し、前記設定変更手段は、前記第２の通信速度への前記通信設定変更に関する設定変更情報に基づいて、前記第１の通信速度から前記第２の通信速度へ前記通信設定を変更することを特徴とする。
【００１０】
請求項３に記載の発明は、請求項２に記載の電子情報記憶媒体において、前記第２の通信速度は、前記第１の通信速度より速いことを特徴とする。
【００１１】
請求項４に記載の発明は、オペレーティングシステム及び前記オペレーティングシステム上で動作するアプリケーションを搭載し、外部装置との間で、半二重ブロック伝送プロトコルに従って通信を行うＩＣカードであって、前記オペレーティングシステムは、前記外部装置との間で初期化処理が実行された後、前記初期化処理において行われた通信速度の通信設定に従って前記外部装置から送信されたブロックであって、先頭フィールド及び情報フィールドを含むブロックを受信する受信手段と、前記受信されたブロックの前記先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示す管理ブロックであるか否かを判定する判定手段と、前記受信されたブロックが通信設定変更を示す管理ブロックであると判定された場合、当該管理ブロックの前記情報フィールドから、前記通信設定変更に関する設定変更情報を取得する取得手段と、前記取得された設定変更情報に基づいて、前記アプリケーションを介さずに前記通信速度の通信設定を変更する設定変更手段と、前記外部装置との間で、前記設定変更手段により変更された前記通信設定に従って前記アプリケーションにより使用されるデータの送受信を行う通信手段と、を備えることを特徴とする。
【００１２】
請求項５に記載の発明は、オペレーティングシステム及び前記オペレーティングシステム上で動作するアプリケーションを搭載し、外部装置との間で、半二重ブロック伝送プロトコルに従って通信を行う電子情報記憶媒体の前記オペレーティングシステムにより実行される通信方法であって、前記外部装置との間で初期化処理が実行された後、前記初期化処理において行われた通信速度の通信設定に従って前記外部装置から送信されたブロックであって、先頭フィールド及び情報フィールドを含むブロックを受信するステップと、前記受信されたブロックの前記先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示す管理ブロックであるか否かを判定するステップと、前記受信されたブロックが通信設定変更を示す管理ブロックであると判定された場合、当該管理ブロックの前記情報フィールドから、前記通信設定変更に関する設定変更情報を取得するステップと、前記取得された設定変更情報に基づいて、前記アプリケーションを介さずに前記通信速度の通信設定を変更するステップと、前記外部装置との間で、前記変更された前記通信設定に従って前記アプリケーションにより使用されるデータの送受信を行うステップと、を含むことを特徴とする。
【００１３】
請求項６に記載の発明は、オペレーティングシステム及び前記オペレーティングシステム上で動作するアプリケーションを搭載し、外部装置との間で、半二重ブロック伝送プロトコルに従って通信を行う電子情報記憶媒体の前記オペレーティングシステムに、前記外部装置との間で初期化処理が実行された後、前記初期化処理において行われた通信速度の通信設定に従って前記外部装置から送信されたブロックであって、先頭フィールド及び情報フィールドを含むブロックを受信するステップと、前記受信されたブロックの前記先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示す管理ブロックであるか否かを判定するステップと、前記受信されたブロックが通信設定変更を示す管理ブロックであると判定された場合、当該管理ブロックの前記情報フィールドから、前記通信設定変更に関する設定変更情報を取得するステップと、前記取得された設定変更情報に基づいて、前記アプリケーションを介さずに前記通信速度の通信設定を変更するステップと、前記外部装置との間で、前記変更された前記通信設定に従って前記アプリケーションにより使用されるデータの送受信を行うステップと、を実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信設定を変更することができる。
【図面の簡単な説明】
【００１５】
【図１】ＩＣカード１のハードウェア構成例を示す図である。
【図２】（Ａ）は、接触ＩＣカードと外部装置２との間で送受信されるブロックＢ１のデータフォーマットを示す図であり、（Ｂ）は、非接触ＩＣカードと外部装置２との間で送受信されるブロックＢ２のデータフォーマットを示す図である。
【図３】実施例１におけるＩＣカード１側で特定用途向システムを考慮しない場合において、ＩＣカード１と特定用途向システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【図４】実施例１におけるＩＣカード１側で特定用途向システムを考慮しない場合において、ＩＣカード１と特定用途向システム以外の新システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【図５】実施例１におけるＩＣカード１側で特定用途向システムを考慮した場合において、ＩＣカード１と特定用途向システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【図６】実施例１におけるＩＣカード１側で特定用途向システムを考慮した場合において、ＩＣカード１と特定用途向システム以外の新システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【図７】実施例２におけるＩＣカード１側で特定用途向システムを考慮しない場合において、ＩＣカード１と特定用途向システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【図８】実施例２におけるＩＣカード１側で特定用途向システムを考慮しない場合において、ＩＣカード１と特定用途向システム以外の新システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【図９】実施例２におけるＩＣカード１側で特定用途向システムを考慮した場合において、ＩＣカード１と特定用途向システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【図１０】実施例２におけるＩＣカード１側で特定用途向システムを考慮した場合において、ＩＣカード１と特定用途向システム以外の新システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、接触ＩＣカード（ISO/IEC 7816に準拠）と、非接触ＩＣカード（ISO/IEC 14443に準拠）とのそれぞれに対して本発明を適用した場合の実施の形態である。
【００１７】
［１．ＩＣカード１の概要構成及び機能］
先ず、図１等を参照して、ＩＣカード１の概要構成及び機能について説明する。図１は、ＩＣカード１のハードウェア構成例を示す図である。なお、図１の例は、ＩＣカード１が接触ＩＣカードである場合と、ＩＣカード１が非接触ＩＣカードである場合とのそれぞれに適用される。図１に示すように、ＩＣカード１に搭載されるＩＣチップ１ａは、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、不揮発性メモリ１３、及びＩ／Ｏ回路１４等を備えて構成される。ここで、ＩＣチップ１ａは、本発明の電子情報記憶媒体の一例である。なお、ＩＣカード１は、キャッシュカード、クレジットカード、社員カード等として使用される。或いは、ＩＣカード１は、スマートフォンや携帯電話機等の端末装置に組み込まれてもよい。或いは、ＩＣチップ１ａは、例えばeUICC（Embedded Universal Integrated Circuit Card）として、端末装置から容易に取り外しや取り換えができないように端末装置と一体的に搭載されてもよい。
【００１８】
ＣＰＵ１０は、ＲＯＭ１１または不揮発性メモリ１３に記憶された各種プログラムを実行するプロセッサである。不揮発性メモリ１３は、例えばフラッシュメモリである。なお、不揮発性メモリ１３は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。各種プログラムには、オペレーティングシステム（Operating System：以下、「ＯＳ」という）、及びアプリケーションが含まれる。アプリケーションは、アプリケーションプログラムをメモリに展開して実行可能な状態にインストール（搭載）されたモジュール（アプリケーションインスタンス）である。本実施形態では、ＩＣチップ１ａに搭載されたＯＳ上でアプリケーションが動作する。ＯＳには、本発明の通信処理プログラムが組み込まれる。これにより、ＯＳは、本発明における受信手段、判定手段、取得手段、通信設定手段、応答手段、設定変更手段、及び通信手段等として機能する。なお、不揮発性メモリ１３には、外部装置２との間の初期化処理において用いられるＡＴＲ（またはＡＴＱＢ）が予め記憶される。これは、ＩＣカード１が対応可能な通信速度及びプロトコルタイプなどの通信条件を示す情報である。
【００１９】
Ｉ／Ｏ回路１４は、外部装置２とのインターフェイスを担う。ＩＣカード１が接触ＩＣカードである場合、Ｉ／Ｏ回路１４には、ISO7816等によって定められたＣ１〜Ｃ８の８個の端子が備えられているか、或いは、Ｉ／Ｏ回路１４には、Ｃ４とＣ８の端子を除く６個の端子が備えられている。一方、ＩＣカード１が非接触ＩＣカードである場合、Ｉ／Ｏ回路１４には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部装置２の例としては、ＩＣカード発行機、ＡＴＭ、改札機、認証用ゲート等が挙げられる。或いは、ＩＣチップ１ａが通信機器に組み込まれる場合、外部装置２には通信機器の機能を担う制御部が該当する。
【００２０】
ＩＣカード１は、Ｉ／Ｏ回路１４を介して、リーダ・ライタを備える外部装置２との間で、半二重ブロック伝送プロトコルに従って通信（接触ＩＣカードの場合は接触通信、非接触ＩＣカードの場合は非接触通信）を行う。なお、ISO/IEC 7816-3では、半二重ブロック伝送プロトコルとして、Ｔ＝１プロトコル（調歩式半二重ブロック伝送プロトコル）が規定されている。半二重ブロック伝送プロトコルに従う通信では、Ｉ（Information）ブロック（情報ブロック）、Ｒ（Receive Ready）ブロック（受信準備完了ブロック）、及びＳ（Supervisory）ブロック（管理ブロック）が用いられる。Ｉブロックは、アプリケーションによりアプリケーション層（アプリケーションレイヤ）で使用されるデータを伝達するために用いられる。アプリケーション層で使用されるデータの例として、外部装置２からＩＣカード１へ送信されるコマンドのデータ、及び、ＩＣカード１から外部装置２へ送信されるレスポンスのデータが挙げられる。コマンドのデータは、コマンドＡＰＤＵ（Application Protocol Data Unit）として送信され、レスポンスのデータは、レスポンスＡＰＤＵとして送信される。Ｒブロックは、肯定応答（ＡＣＫ）や否定応答（ＮＡＫ）を伝達するために用いられる。
【００２１】
Ｓブロックは、外部装置２とＩＣカード１との間で制御情報を交換するために用いられる。制御情報の例として、ＷＴＸ（Waiting time extension）が挙げられる。例えば、ＩＣカード１でのコマンド処理に時間がかかり、ＩＣカード１が外部装置２に待ち時間の延長を要求する場合、ＩＣカード１はＳブロックでＷＴＸ要求を外部装置２へ送信し、これを受信した外部装置２はＳブロックでＷＴＸ応答をＩＣカード１へ応答することで待ち時間を延長する。本実施形態では、Ｓブロックに制御情報として「通信設定変更」を追加することで、アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信設定を変更することができる。
【００２２】
図２（Ａ）は、接触ＩＣカードと外部装置２との間で送受信されるブロックＢ１のデータフォーマット（構造）を示す図であり、図２（Ｂ）は、非接触ＩＣカードと外部装置２との間で送受信されるブロックＢ２のデータフォーマット（構造）を示す図である。図２（Ａ）に示すように、ブロックＢ１は、先頭フィールド（Prologue field）、情報フィールド（Information field）、及び最終フィールド（Epilogue field）から構成される。最終フィールドには、誤り検出符号（ＬＲＣまたはＣＲＣ）が格納される。なお、Ｒブロックは、情報フィールドを持たない。ブロックＢ１の先頭フィールドは、ＮＡＤ（Node address byte）、ＰＣＢ（Protocol control byte）、及びＬＥＮ（Length byte）から構成される。ＮＡＤは、ブロックＢ１の送信元及び宛先を示す。ＬＥＮは、ブロックＢ１の情報フィールドの長さ（バイト数）を示す。ＰＣＢは、図２（Ａ）に示すように１バイトであり、先頭の２ビット（b8b7）によってブロックＢ１がＩブロック、Ｒブロック、またはＳブロックであるかを示し、残りの６ビット（b6〜b1）によって制御情報を示す。例えば、b8b7=00はＩブロックを示し、b8b7=10はＲブロックを示す。一方、b8b7=11はＳブロックを示し、この場合、b6〜b1=000011はＷＴＸ要求を示し、b6〜b1=100011はＷＴＸ応答を示す。その他、ISO/IEC 7816-3には、b6〜b1でＩＦＳ要求（000001）、ＩＦＳ応答（100001）、ＡＢＯＲＴ要求（000010）、及びＡＢＯＲＴ応答（100010）などを示すように定義されている。本実施形態では、b6〜b1で通信設定変更を示すように新たに定義する。例えば、b6〜b1=000101（ISO/IEC 7816-3で使用されていないビット列）に通信設定変更要求を割り当て、b6〜b1=100101 （ISO/IEC 7816-3で使用されていないビット列）に通信設定変更応答を割り当てる。そして、b6〜b1で通信設定変更を示す場合、当該ブロックＢ１の情報フィールドには、通信設定変更に関する設定変更情報が格納される。この設定変更情報には、設定変更後の通信パラメータを示す情報（通信パラメータの値であってもよいし、通信パラメータの値に対応するＩＤであってもよい）が含まれる。ここで、変更対象となる通信パラメータの例として、通信速度（許容ビット伝送速度）が挙げられる。なお、設定変更情報が格納される情報フィールドのデータフォーマットは、ISO/IEC 7816-3に規定されるＰＰＳのデータフォーマットに準ずるように構成してもよい（この場合、ＰＰＳ１で通信速度が指定される）。
【００２３】
一方、図２（Ｂ）に示すように、ブロックＢ２は、ブロックＢ１と同様、先頭フィールド、情報フィールド、及び最終フィールドから構成される。最終フィールドには、誤り検出符号（ＣＲＣ）が格納される。ブロックＢ２の先頭フィールドは、ＰＣＢ、ＣＩＤ（Card identifier）、及びＮＡＤから構成される。ＣＩＤは、カード識別子を示す。ＮＡＤは、ブロックＢ２の送信元及び宛先を示す。ＰＣＢは、図２（Ｂ）に示すように１バイトであり、先頭の２ビット（b8b7）によってブロックＢ２がＩブロック、Ｒブロック、またはＳブロックであるかを示し、先頭の２ビットに続く２ビット（b6b5）によって制御情報を示す。例えば、b8b7=00はＩブロックを示し、b8b7=10はＲブロックを示す。一方、b8b7=11はＳブロックを示し、この場合、b6b5=11はＷＴＸを示す。その他、ISO/IEC 14443-3には、b6b5でＤＥＳＥＬＥＣＴ（00）などを示すように定義されている。本実施形態では、b6b5で通信設定変更を示すように新たに定義する。例えば、b6b5=01（ISO/IEC 14443-3で使用されていないビット列）に通信設定変更を割り当てる。そして、b6b5=01で通信設定変更を示す場合、当該ブロックＢ２の情報フィールドには、ブロックＢ１と同様、通信設定変更に関する設定変更情報が格納される。なお、設定変更情報が格納される情報フィールドのデータフォーマットは、ISO/IEC 14443-3に規定されるＡＴＴＲＩＢコマンドのデータフォーマットに準ずるように構成してもよい（この場合、Ｐａｒａｍ２で通信速度が指定される）。
【００２４】
以上の構成において、ＯＳは、外部装置２との間で初期化処理が実行された後、当該初期化処理において行われた通信速度の通信設定に従って外部装置２から送信されたブロックをＩ／Ｏ回路１４を介して受信すると、受信されたブロックの先頭フィールド（上述したＰＣＢ）を参照して、当該受信されたブロックが通信設定変更を示すＳブロックであるか否かを判定する。そして、ＯＳは、受信されたブロックが通信設定変更を示すＳブロックであると判定した場合、当該Ｓブロックの情報フィールドから、上記通信設定変更に関する設定変更情報を取得し、取得した設定変更情報に基づいて、アプリケーションを介さずに（つまり、ＯＳ層（データリンク層））で通信速度の通信設定を変更する。そして、当該通信設定が変更された後、ＯＳは、外部装置２との間で、当該変更された通信速度の通信設定に従ってアプリケーションにより使用されるデータの送受信を行う。つまり、ＯＳは、外部装置２から、変更後の通信速度で受信したＩブロックに格納されたコマンドＡＰＤＵをアプリケーションへ渡す一方、当該アプリケーションから渡されたレスポンスＡＰＤＵをＩブロックに格納して当該Ｉブロックを変更後の通信速度で外部装置２へ送信する。
【００２５】
［２．ＩＣカード１と外部装置２との間の通信動作］
次に、ＩＣカード１と外部装置２との間の通信動作について、実施例１と実施例２に分けて説明する。
【００２６】
（実施例１）
実施例１では、ＩＣカード１が接触ＩＣカードであるときの、（１−１）ＩＣカード１側で特定用途向システムを考慮しない場合の通信動作と、（１−２）ＩＣカード１側で特定用途向システムを考慮した場合の通信動作とについて説明する。なお、以下の通信動作では、ＩＣカード１は、上述した新型のＩＣカードであり、複数の異なる通信速度をサポートしており、不揮発性メモリ１３に記憶されたＡＴＲ（ＡＴＲ値）には、当該複数の異なる通信速度（例えば、9600bps、19200bps、及び38400bps）、及びプロトコルタイプ（Ｔ＝０プロトコルやＴ＝１プロトコル）などの通信条件が示されているものとする。
【００２７】
（１−１）ＩＣカード１側で特定用途向システムを考慮しない場合の通信動作
先ず、図３及び図４を参照して、ＩＣカード１が特定用途向システムの外部装置２と通信する場合について説明する。図３は、ＩＣカード１側で特定用途向システムを考慮しない場合において、ＩＣカード１と特定用途向システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。図４は、ＩＣカード１側で特定用途向システムを考慮しない場合において、ＩＣカード１と特定用途向システム以外の新システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【００２８】
図３の例では、初期化処理において、特定用途向システムの外部装置２は、リセットをＩＣカード１へ送信する（ステップＳ１０１）。ＩＣカード１のＯＳは、特定用途向システムの外部装置２からのリセットを受信すると（ステップＳ１０２）、ＡＴＲを不揮発性メモリ１３から読み出し、通信速度を9600bpsに設定し（ステップＳ１０３）、この通信設定に従って、ＡＴＲを外部装置２へ送信する（ステップＳ１０４）。この通信設定では、通信設定された通信速度がＲＡＭ１２の所定のワーキング領域に格納される。なお、複数の異なる通信速度（例えば、9600bps、19200bps、及び38400bps）を外部装置２に伝えるために、当該通信速度の上限値（38400bps）がＡＴＲに示されるように構成してもよい。
【００２９】
特定用途向システムの外部装置２は、ＩＣカード１から、複数の異なる通信速度（例えば、9600bps、19200bps、及び38400bps）を示すＡＴＲを受信すると（ステップＳ１０５）、固定された通信速度以外の値が含まれるので、エラーと判定してエラー処理を行い（ステップＳ１０６）、処理を終了する。なお、仮に、ＩＣカード１が旧型のＩＣカードである場合、エラーと判定されずにコマンド及びレスポンスの交換が行われることになる。
【００３０】
一方、図４の例では、初期化処理において、新システムの外部装置２は、リセットをＩＣカード１へ送信する（ステップＳ２０１）。なお、ステップＳ２０２〜Ｓ２０４の処理は、ステップＳ１０２〜Ｓ１０４の処理と同様である。
【００３１】
新システムの外部装置２は、ＩＣカード１からのＡＴＲを受信すると（ステップＳ２０５）、ＩＣカード１と同様の通信設定を行う（ステップＳ２０６）。次いで、新システムの外部装置２は、受信したＡＴＲで示された通信条件の範囲内で通信条件を変更する場合、当該通信条件を変更するためのＰＰＳ要求を、ＩＣカード１へ送信する（ステップＳ２０７）。このＰＰＳ要求には、新システムの外部装置２が変更したい通信条件（例えば、通信速度：19200bps）が示される。なお、ＡＴＲで示された通信条件を変更しない場合、ＰＰＳ要求は送信されず、ステップＳ２１３へ移行する。
【００３２】
ＩＣカード１のＯＳは、新システムの外部装置２からのＰＰＳ要求を受信すると（ステップＳ２０８）、受信したＰＰＳ要求をチェックし、有効である場合、ＰＰＳ応答を新システムの外部装置２へ送信し（ステップＳ２０９）、上記ＰＰＳ要求に従って通信設定を変更（例えば、通信速度を9600bpsから19200bpsに変更）する（ステップＳ２１０）。
【００３３】
新システムの外部装置２は、ＩＣカード１からのＰＰＳ応答を受信すると（ステップＳ２１１）、受信したＰＰＳ応答に従って通信設定を変更する（ステップＳ２１２）。
【００３４】
以上のように初期化処理が実行された後（つまり、通信設定の完了後）、新システムの外部装置２は、初期化処理において行われた通信設定に従ってアプリケーション層で使用されるデータの送受信（つまり、コマンド及びレスポンスの交換）を開始する。ステップＳ２１３では、新システムの外部装置２は、ＩＣカード１に対して処理を要求するコマンドＡＰＤＵを含むＩブロックを生成し、生成したＩブロックを現在の通信設定に従ってＩＣカード１へ送信する。
【００３５】
ＩＣカード１のＯＳは、新システムの外部装置２からのＩブロックを受信すると（ステップＳ２１４）、受信したＩブロックに含まれるコマンドＡＰＤＵをアプリケーションへ渡す。そして、ＩＣカード１のＯＳは、アプリケーションにより当該コマンドＡＰＤＵに応じて実行された処理の結果としてのレスポンスＡＰＤＵをアプリケーションから渡されると、当該レスポンスＡＰＤＵを含むＩブロックを生成し、生成したＩブロックを現在の通信設定に従って新システムの外部装置２へ送信する（ステップＳ２１５）。
【００３６】
新システムの外部装置２は、ＩＣカード１からのＩブロックを受信すると（ステップＳ２１６）、当該Ｉブロックに含まれるレスポンスＡＰＤＵに応じた処理を行う。このようなコマンド及びレスポンスの交換は、例えば複数回行われる。この交換の合間に、通信速度の通信設定を変更するための条件を満たす場合、新システムの外部装置２は、Ｓブロックを用いた通信設定の変更処理を開始する。通信設定の変更処理が開始されると、新システムの外部装置２は、通信速度の通信設定変更を要求するためのＳブロックを生成し、生成したＳブロック（通信設定変更要求）を現在の通信設定に従ってＩＣカード１へ送信する（ステップＳ２１７）。このＳブロックの先頭フィールドはＳブロックを示すビット列（b8b7=11）及び通信設定変更要求を示すビット列（b6〜b1=000101）からなる。また、このＳブロックの情報フィールドには通信設定変更に関する設定変更情報が格納される。また、この設定変更情報には、設定変更後の通信速度（例えば、通信速度：38400bps）が含まれる。
【００３７】
ＩＣカード１のＯＳは、現在の通信設定（つまり、初期化処理において行われた通信速度等の通信設定）に従って新システムの外部装置２からのＳブロック（通信設定変更要求）を受信すると（ステップＳ２１８）、通信速度の通信設定変更を応答するためのＳブロックを生成する。なお、ＯＳは、新システムの外部装置２からブロックを受信した時点では、受信したブロックが何のブロックであるかが分らないので、受信したブロックの先頭フィールドを参照して、当該受信したブロックが通信設定変更を示すＳブロックであるか否かを判定し、通信設定変更を示すＳブロックであると判定した場合、当該Ｓブロックの情報フィールドから上記設定変更情報を取得して、通信速度の通信設定変更に応答するためのＳブロックを生成することになる。このＳブロックの先頭フィールドはＳブロックを示すビット列（b8b7=11）及び通信設定変更応答を示すビット列（b6〜b1=100101）からなる。そして、ＯＳは、生成したＳブロック（通信設定変更応答）を現在の通信設定に従って新システムの外部装置２へ送信し（ステップＳ２１９）、取得した設定変更情報に基づいて、アプリケーションを介さずに通信速度の通信設定を変更（例えば、通信速度を19200bpsから38400bpsに変更）する（ステップＳ２２０）。
【００３８】
新システムの外部装置２は、ＩＣカード１からのＳブロック（通信設定変更応答）を受信すると（ステップＳ２２１）、当該Ｓブロック（通信設定変更応答）に従って通信設定を変更する（ステップＳ２２２）。こうして、Ｓブロックを用いた通信設定変更後、新システムの外部装置２とＩＣカード１とは、変更された通信設定に従ってコマンド及びレスポンスの交換を再開することになる。すなわち、ＩＣカード１は、外部装置２との間で、変更された通信設定に従ってアプリケーションにより使用されるデータの送受信を行うことになる。
【００３９】
以上説明したように、接触ＩＣカードであるＩＣカード１と新システムの外部装置２との間でＳブロックを用いることで、アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信速度の通信設定を変更することができる。
【００４０】
（１−２）ＩＣカード１側で特定用途向システムを考慮した場合の通信動作
次に、図５及び図６を参照して、ＩＣカード１が特定用途向システムの外部装置２と通信する場合について説明する。図５は、ＩＣカード１側で特定用途向システムを考慮した場合において、ＩＣカード１と特定用途向システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。図６は、ＩＣカード１側で特定用途向システムを考慮した場合において、ＩＣカード１と特定用途向システム以外の新システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【００４１】
図５の例では、初期化処理において、特定用途向システムの外部装置２は、リセットをＩＣカード１へ送信する（ステップＳ３０１）。ＩＣカード１のＯＳは、特定用途向システムの外部装置２からのリセットを受信すると（ステップＳ３０２）、ＡＴＲを不揮発性メモリ１３から読み出し、通信速度を9600bpsに設定し（ステップＳ３０３）、この通信設定に従って、ＡＴＲを外部装置２へ送信する（ステップＳ３０４）。このときに送信されるＡＴＲには、複数の異なる通信速度のうち予め選択された第１の通信速度であって、不揮発性メモリ１３に記憶（例えば、ＩＣカード１の製造時や出荷時に記憶）された第１の通信速度が示される。ここで、第１の通信速度は、特定用途向システムを考慮した通信速度であり、例えば、9600bps、19200bps、及び38400bpsのうち、特定用途向システムで対応可能な最も遅い通信速度である9600bpsである。
【００４２】
特定用途向システムの外部装置２は、ＩＣカード１から、第１の通信速度を示すＡＴＲを受信すると（ステップＳ３０５）、当該ＡＴＲには固定された第１の通信速度が含まれるので、エラーと判定せず、ＩＣカード１と同様の通信設定を行う（ステップＳ３０６）。このように初期化処理が実行された後、ステップＳ２１３〜Ｓ２１６と同様、特定用途向システムの外部装置２は、初期化処理において行われた通信設定に従ってアプリケーション層で使用されるデータの送受信を行う（コマンド及びレスポンスの交換）。
【００４３】
一方、図６の例では、初期化処理において、新システムの外部装置２は、リセットをＩＣカード１へ送信する（ステップＳ４０１）。なお、ステップＳ４０２〜Ｓ４０４の処理は、ステップＳ３０２〜Ｓ３０４の処理と同様である。すなわち、ＯＳは、初期化処理において、複数の異なる通信速度のうち予め選択された第１の通信速度に基づいて通信設定を行い、且つ当該第１の通信速度を示すＡＴＲを応答する。
【００４４】
新システムの外部装置２は、ＩＣカード１からのＡＴＲを受信すると（ステップＳ４０５）、ＩＣカード１と同様の通信設定を行う（ステップＳ４０６）。つまり、第１の通信速度で通信設定が行われる。なお、この場合、ＡＴＲには、第１の通信速度以外の通信速度は示されていないので、新システムの外部装置２はＩＣカード１との間でＰＰＳ交換を行わない。
【００４５】
そして、初期化処理が実行された後、新システムの外部装置２は、通信性能の確認処理を開始する。通信性能の確認処理は、ＩＣカード１が第１の通信速度以外の通信速度をサポートしているかどうかを確認する処理（換言すると、ＩＣカード１から外部装置２へ、通信性能を通知するための処理）である。通信性能の確認処理では、通信設定の変更処理と同様、Ｓブロックを用いることが望ましい。この場合、Ｓブロックに制御情報として「通信性能確認」が追加される。
【００４６】
通信性能の確認処理が開始されると、新システムの外部装置２は、通信性能を確認するためのＳブロックを生成し、生成したＳブロック（通信性能確認要求）を現在の通信設定に従ってＩＣカード１へ送信する（ステップＳ４０７）。このＳブロックの先頭フィールドはＳブロックを示すビット列（b8b7=11）及び通信性能確認要求を示すビット列（b6〜b1=000110）からなる。
【００４７】
ＩＣカード１のＯＳは、現在の通信設定（つまり、初期化処理において行われた通信速度等の通信設定）に従って新システムの外部装置２からのＳブロック（通信性能確認要求）を受信すると（ステップＳ４０８）、通信性能を応答するためのＳブロックを生成する。このＳブロックの先頭フィールドはＳブロックを示すビット列（b8b7=11）及び通信性能確認応答を示すビット列（b6〜b1=100110）からなる。また、このＳブロックの情報フィールドには通信性能に関する通信性能情報が格納される。また、この通信性能情報には、ＩＣカード１がサポートしている複数の異なる通信速度（例えば、9600bps、19200bps、及び38400bps）のうち、少なくとも、第１の通信速度（例えば、9600bps）とは異なる第２の通信速度（19200bpsと38400bpsの少なくとも何れか１つ）が含まれる。なお、通信性能情報には、ＩＣカード１がサポートしている複数の異なる通信速度の全てが含まれてもよい。そして、ＯＳは、生成したＳブロック（通信性能確認応答）を現在の通信設定に従って新システムの外部装置２へ送信する（ステップＳ４０９）。つまり、ＩＣカード１のＯＳは、初期化処理が実行された後、外部装置２からの通信性能確認要求に応じて、ＩＣカード１が対応可能な複数の異なる通信速度のうち第１の通信速度とは異なる第２の通信速度を少なくとも示す情報を応答する。
【００４８】
新システムの外部装置２は、ＩＣカード１からのＳブロック（通信性能確認応答）を受信すると（ステップＳ４１０）、当該Ｓブロック（通信性能確認応答）に応じて、Ｓブロックを用いた通信設定の変更処理を開始する。通信設定の変更処理が開始されると、新システムの外部装置２は、受信したＳブロックの情報フィールドから上記通信性能情報を取得し、当該通信性能情報に基づいて、通信速度の通信設定変更（つまり、第１の通信速度から第２の通信速度への変更）を要求するためのＳブロックを生成し、生成したＳブロック（通信設定変更要求）を現在の通信設定に従ってＩＣカード１へ送信する（ステップＳ４１１）。このＳブロックの情報フィールドには、通信設定変更に関する設定変更情報（設定変更後の通信速度（例えば、通信速度：38400bps））が含まれる。
【００４９】
ＩＣカード１のＯＳは、現在の通信設定に従って新システムの外部装置２からのＳブロック（通信設定変更要求）を受信すると（ステップＳ４１２）、当該Ｓブロック（通信設定変更要求）に応じて、通信速度の通信設定変更を応答するためのＳブロックを生成する。つまり、ＩＣカード１のＯＳは、通信性能確認応答に応じて、新システムの外部装置２から送信されたＳブロックであって、第２の通信速度への通信設定変更に関する設定変更情報を情報フィールドに含むＳブロックを受信すると、第２の通信速度への通信設定変更を応答するためのＳブロックを生成する。そして、ＯＳは、生成したＳブロック（通信設定変更応答）を現在の通信設定に従って新システムの外部装置２へ送信し（ステップＳ４１３）、取得した設定変更情報に基づいて、アプリケーションを介さずに第１の通信速度から第２の通信速度（例えば、38400bps）へ通信設定を変更する（ステップＳ４１４）。
【００５０】
新システムの外部装置２は、ＩＣカード１からのＳブロック（通信設定変更応答）を受信すると（ステップＳ４１５）、当該Ｓブロック（通信設定変更応答）に従って通信設定を変更する（ステップＳ４１６）。こうして、Ｓブロックを用いた通信設定変更後、新システムの外部装置２とＩＣカード１とは、変更された通信設定に従ってコマンド及びレスポンスの交換を開始することになる。なお、通信性能の確認処理は、初期化処理において行われた通信設定に従ってコマンド及びレスポンスの交換が開始された後、通信速度の通信設定を変更するための条件を満たす場合に行われるように構成してもよい。
【００５１】
以上説明したように、接触ＩＣカードであるＩＣカード１と新システムの外部装置２との間でＳブロックを用いることで、アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信速度の通信設定を変更することができ、加えて、当該ＩＣカード１が特定用途向システムで利用される場合であっても問題が生ずることない。
【００５２】
（実施例２）
実施例２では、ＩＣカード１が非接触ＩＣカード（例えば、非接触式ＴｙｐｅＢ）であるときの、（２−１）ＩＣカード１側で特定用途向システムを考慮しない場合の通信動作と、（２−２）ＩＣカード１側で特定用途向システムを考慮した場合の通信動作とについて説明する。なお、以下の通信動作では、実施例１と同様、ＩＣカード１は、複数の異なる通信速度をサポートしており、不揮発性メモリ１３に記憶されたＡＴＱＢには、当該複数の異なる通信速度（例えば、212kbit/s、424kbit/s、及び847kbit/s）などの通信条件が示されているものとする。
【００５３】
（２−１）ＩＣカード１側で特定用途向システムを考慮しない場合の通信動作
先ず、図７及び図８を参照して、ＩＣカード１が特定用途向システムの外部装置２と通信する場合について説明する。図７は、ＩＣカード１側で特定用途向システムを考慮しない場合において、ＩＣカード１と特定用途向システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。図８は、ＩＣカード１側で特定用途向システムを考慮しない場合において、ＩＣカード１と特定用途向システム以外の新システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【００５４】
図７の例では、初期化処理において、特定用途向システムの外部装置２は、ＲＥＱＢコマンドをＩＣカード１へ送信する（ステップＳ５０１）。ＩＣカード１のＯＳは、特定用途向システムの外部装置２からのＲＥＱＢコマンド（通信制御用のコマンド）を受信すると（ステップＳ５０２）、ＡＴＱＢを不揮発性メモリ１３から読み出し、読み出したＡＴＱＢが示す通信条件に基づき通信設定を行い（ステップＳ５０３）、当該通信設定に従って、ＡＴＱＢを外部装置２へ送信する（ステップＳ５０４）。この通信設定では、通信設定された通信速度及び通信プロトコルがＲＡＭ１２の所定のワーキング領域に格納される。
【００５５】
特定用途向システムの外部装置２は、ＩＣカード１から、複数の異なる通信速度（例えば、212kbit/s、424kbit/s、及び847kbit/s）を示すＡＴＱＢを受信すると（ステップＳ５０５）、実施例１と同様、固定された通信速度以外の値が含まれるので、エラーと判定してエラー処理を行い（ステップＳ５０６）、処理を終了する。
【００５６】
一方、図８の例では、初期化処理において、新システムの外部装置２は、ＲＥＱＢコマンドをＩＣカード１へ送信する（ステップＳ６０１）。なお、ステップＳ６０２〜Ｓ６０４の処理は、ステップＳ５０２〜Ｓ５０４の処理と同様である。
【００５７】
新システムの外部装置２は、ＩＣカード１からのＡＴＱＢを受信すると（ステップＳ６０５）、ＩＣカード１と同様の通信設定を行う（ステップＳ６０６）。次いで、新システムの外部装置２は、受信したＡＴＱＢで示された通信条件の範囲内で通信条件を変更する場合、当該通信条件を変更するためのＡＴＴＲＩＢコマンドを、ＩＣカード１へ送信する（ステップＳ６０７）。このＡＴＴＲＩＢコマンドには、新システムの外部装置２が変更したい通信条件（例えば、通信速度： 424kbit/s）が示される。
【００５８】
ＩＣカード１のＯＳは、新システムの外部装置２からのＡＴＴＲＩＢコマンドを受信すると（ステップＳ６０８）、受信したＡＴＴＲＩＢコマンドをチェックし、有効である場合、ＡＴＴＲＩＢコマンドへの応答（ＡＴＴＲＩＢ応答）を新システムの外部装置２へ送信し（ステップＳ６０９）、上記ＡＴＴＲＩＢコマンドに従って通信設定を変更（例えば、通信速度を212kbit/sから424kbit/sに変更）する（ステップＳ６１０）。
【００５９】
新システムの外部装置２は、ＩＣカード１からのＡＴＴＲＩＢコマンドへの応答（ＡＴＴＲＩＢ応答）を受信すると（ステップＳ６１１）、ＡＴＴＲＩＢコマンドへの応答に従って通信設定を変更する（ステップＳ６１２）。
【００６０】
以上のように初期化処理が実行された後、新システムの外部装置２は、初期化処理において行われた通信設定に従ってアプリケーション層で使用されるデータの送受信を開始する。ステップＳ６１３では、新システムの外部装置２は、ＩＣカード１に対して処理を要求するコマンドＡＰＤＵを含むＩブロックを生成し、生成したＩブロックを現在の通信設定に従ってＩＣカード１へ送信する。
【００６１】
ＩＣカード１のＯＳは、新システムの外部装置２からのＩブロックを受信すると（ステップＳ６１４）、受信したＩブロックに含まれるコマンドＡＰＤＵをアプリケーションへ渡す。そして、ＩＣカード１のＯＳは、アプリケーションにより当該コマンドＡＰＤＵに応じて実行された処理の結果としてのレスポンスＡＰＤＵをアプリケーションから渡されると、当該レスポンスＡＰＤＵを含むＩブロックを生成し、生成したＩブロックを現在の通信設定に従って新システムの外部装置２へ送信する（ステップＳ６１５）。
【００６２】
新システムの外部装置２は、ＩＣカード１からのＩブロックを受信すると（ステップＳ６１６）、当該Ｉブロックに含まれるレスポンスＡＰＤＵに応じた処理を行う。このようなコマンド及びレスポンスの交換は、例えば複数回行われる。この交換の合間に、通信速度の通信設定を変更するための条件を満たす場合、新システムの外部装置２は、Ｓブロックを用いた通信設定の変更処理を開始する。通信設定の変更処理が開始されると、新システムの外部装置２は、通信速度の通信設定変更を要求するためのＳブロックを生成し、生成したＳブロック（通信設定変更（要求））を現在の通信設定に従ってＩＣカード１へ送信する（ステップＳ６１７）。このＳブロックの先頭フィールドはＳブロックを示すビット列（b8b7=11）及び通信設定変更を示すビット列（b6b5=01）を含んで構成される。また、このＳブロックの情報フィールドには通信設定変更に関する設定変更情報が格納される。また、この設定変更情報には、設定変更後の通信速度（例えば、通信速度：847kbit/s）が含まれる。
【００６３】
ＩＣカード１のＯＳは、現在の通信設定に従って新システムの外部装置２からのＳブロック（通信設定変更（要求））を受信すると（ステップＳ６１８）、通信速度の通信設定変更を応答するためのＳブロックを生成する。実施例１と同様、ＯＳは、受信したブロックの先頭フィールドを参照して、当該受信したブロックが通信設定変更を示すＳブロックであるか否かを判定し、通信設定変更を示すＳブロックであると判定した場合、当該Ｓブロックの情報フィールドから上記設定変更情報を取得して、通信速度の通信設定変更に応答するためのＳブロックを生成することになる。このＳブロックの先頭フィールドはＳブロックを示すビット列（b8b7=11）及び通信設定変更を示すビット列（b6b5=01）を含んで構成される。そして、ＯＳは、生成したＳブロック（通信設定変更（応答））を現在の通信設定に従って新システムの外部装置２へ送信し（ステップＳ６１９）、取得した設定変更情報に基づいて、アプリケーションを介さずに通信速度の通信設定を変更（例えば、通信速度を424kbit/sから 847kbit/sに変更）する（ステップＳ６２０）。
【００６４】
新システムの外部装置２は、ＩＣカード１からのＳブロック（通信設定変更（応答））を受信すると（ステップＳ６２１）、当該Ｓブロック（通信設定変更（応答））に従って通信設定を変更する（ステップＳ６２２）。こうして、Ｓブロックを用いた通信設定変更後、新システムの外部装置２とＩＣカード１とは、変更された通信設定に従ってコマンド及びレスポンスの交換を再開することになる。すなわち、ＩＣカード１は、外部装置２との間で、変更された通信設定に従ってアプリケーションにより使用されるデータの送受信を行うことになる。
【００６５】
以上説明したように、非接触ＩＣカードであるＩＣカード１と新システムの外部装置２との間でＳブロックを用いることで、アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信速度の通信設定を変更することができる。
【００６６】
（２−２）ＩＣカード１側で特定用途向システムを考慮した場合の通信動作
次に、図９及び図１０を参照して、ＩＣカード１が特定用途向システムの外部装置２と通信する場合について説明する。図９は、ＩＣカード１側で特定用途向システムを考慮した場合において、ＩＣカード１と特定用途向システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。図１０は、ＩＣカード１側で特定用途向システムを考慮した場合において、ＩＣカード１と特定用途向システム以外の新システムの外部装置２とが通信する場合の処理の流れの一例を示すシーケンス図である。
【００６７】
図９の例では、初期化処理において、特定用途向システムの外部装置２は、ＲＥＱＢコマンドをＩＣカード１へ送信する（ステップＳ７０１）。ＩＣカード１のＯＳは、特定用途向システムの外部装置２からのＲＥＱＢコマンドを受信すると（ステップＳ７０２）、ＡＴＱＢを不揮発性メモリ１３から読み出し、読み出したＡＴＱＢが示す通信条件に基づき通信設定を行い（ステップＳ７０３）、当該通信設定に従って、ＡＴＱＢを外部装置２へ送信する（ステップＳ７０４）。このときに送信されるＡＴＱＢには、複数の異なる通信速度のうち予め選択された第１の通信速度であって、不揮発性メモリ１３に記憶（例えば、ＩＣカード１の製造時や出荷時に記憶）された第１の通信速度が示される。なお、第１の通信速度は、実施例１と同様、特定用途向システムを考慮した通信速度である。
【００６８】
特定用途向システムの外部装置２は、ＩＣカード１から、第１の通信速度を示すＡＴＱＢを受信すると（ステップＳ７０５）、当該ＡＴＱＢには固定された第１の通信速度が含まれるので、エラーと判定せず、ＩＣカード１と同様の通信設定を行う（ステップＳ７０６）。このように初期化処理が実行（図示しないが、ＡＴＴＲＩＢコマンド及びその応答が行われる場合もある）された後、ステップＳ６１３〜Ｓ６１６と同様、特定用途向システムの外部装置２は、初期化処理において行われた通信設定に従ってアプリケーション層で使用されるデータの送受信を行う（コマンド及びレスポンスの交換）。
【００６９】
一方、図１０の例では、初期化処理において、新システムの外部装置２は、ＲＥＱＢコマンドをＩＣカード１へ送信する（ステップＳ８０１）。なお、ステップＳ８０２〜Ｓ８０４の処理は、ステップＳ７０２〜Ｓ７０４の処理と同様である。すなわち、ＯＳは、初期化処理において、複数の異なる通信速度のうち予め選択された第１の通信速度に基づいて通信設定を行い、且つ当該第１の通信速度を示すＡＴＱＢを応答する。
【００７０】
新システムの外部装置２は、ＩＣカード１からのＡＴＱＢを受信すると（ステップＳ８０５）、ＩＣカード１と同様の通信設定を行う（ステップＳ８０６）。
【００７１】
そして、初期化処理が実行（図示しないが、ＡＴＴＲＩＢコマンド及びその応答が行われる場合もある）された後、新システムの外部装置２は、通信性能の確認処理を開始する。通信性能の確認処理では、実施例１と同様、Ｓブロックを用いることが望ましい。
【００７２】
通信性能の確認処理が開始されると、新システムの外部装置２は、通信性能を確認するためのＳブロックを生成し、生成したＳブロック（通信設定変更（要求））を現在の通信設定に従ってＩＣカード１へ送信する（ステップＳ８０７）。このＳブロックの先頭フィールドはＳブロックを示すビット列（b8b7=11）及び通信性能確認を示すビット列（b6b5=10）を含んで構成される。
【００７３】
ＩＣカード１のＯＳは、現在の通信設定に従って新システムの外部装置２からのＳブロック（通信性能確認（要求））を受信すると（ステップＳ８０８）、通信性能を応答するためのＳブロックを生成する。このＳブロックの先頭フィールドはＳブロックを示すビット列（b8b7=11）及び通信性能確認を示すビット列（b6b5=10）を含んで構成される。また、このＳブロックの情報フィールドには通信性能に関する通信性能情報が格納される。また、この通信性能情報には、ＩＣカード１がサポートしている複数の異なる通信速度（例えば、212kbit/s、424kbit/s、及び847kbit/s）のうち、少なくとも、第１の通信速度（例えば、212kbit/s）とは異なる第２の通信速度（424kbit/sと847kbit/sの少なくとも何れか１つ）が含まれる。そして、ＯＳは、生成したＳブロック（通信性能確認（応答））を現在の通信設定に従って新システムの外部装置２へ送信する（ステップＳ８０９）。
【００７４】
新システムの外部装置２は、ＩＣカード１からのＳブロック（通信性能確認（応答））を受信すると（ステップＳ８１０）、当該Ｓブロック（通信性能確認（応答））に応じて、Ｓブロックを用いた通信設定の変更処理を開始する。通信設定の変更処理が開始されると、新システムの外部装置２は、受信したＳブロックの情報フィールドから上記通信性能情報を取得し、当該通信性能情報に基づいて、通信速度の通信設定変更（つまり、第１の通信速度から第２の通信速度への変更）を要求するためのＳブロックを生成し、生成したＳブロック（通信設定変更（要求））を現在の通信設定に従ってＩＣカード１へ送信する（ステップＳ８１１）。このＳブロックの情報フィールドには、通信設定変更に関する設定変更情報（設定変更後の通信速度（例えば、通信速度：847kbit/s））が含まれる。
【００７５】
ＩＣカード１のＯＳは、現在の通信設定に従って新システムの外部装置２からのＳブロック（通信設定変更（要求））を受信すると（ステップＳ８１２）、通信速度の通信設定変更を応答するためのＳブロックを生成する。そして、ＯＳは、生成したＳブロック（通信設定変更（応答））を現在の通信設定に従って新システムの外部装置２へ送信し（ステップＳ８１３）、取得した設定変更情報に基づいて、アプリケーションを介さずに第１の通信速度から第２の通信速度（例えば、847kbit/s）へ通信設定を変更する（ステップＳ８１４）。
【００７６】
新システムの外部装置２は、ＩＣカード１からのＳブロック（通信設定変更（応答））を受信すると（ステップＳ８１５）、当該Ｓブロック（通信設定変更（応答））に従って通信設定を変更する（ステップＳ８１６）。こうして、Ｓブロックを用いた通信設定変更後、新システムの外部装置２とＩＣカード１とは、変更された通信設定に従ってコマンド及びレスポンスの交換を開始することになる。なお、通信性能の確認処理は、初期化処理において行われた通信設定に従ってコマンド及びレスポンスの交換が開始された後、通信速度の通信設定を変更するための条件を満たす場合に行われるように構成してもよい。
【００７７】
以上説明したように、非接触ＩＣカードであるＩＣカード１と新システムの外部装置２との間でＳブロックを用いることで、アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信速度の通信設定を変更することができ、加えて、当該ＩＣカード１が特定用途向システムで利用される場合であっても問題が生ずることない。
【００７８】
以上説明したように、上記実施形態によれば、ＯＳは、外部装置２との間で初期化処理が実行された後、当該初期化処理において行われた通信速度の通信設定に従って外部装置２から送信されたブロックを受信すると、受信されたブロックの先頭フィールドを参照して、当該受信されたブロックが通信設定変更を示すＳブロックであるか否かを判定する。そして、ＯＳは、受信されたブロックが通信設定変更を示すＳブロックであると判定した場合、当該Ｓブロックの情報フィールドから、上記通信設定変更に関する設定変更情報を取得し、取得した設定変更情報に基づいて、アプリケーションを介さずに通信速度の通信設定を変更し、その後、外部装置２との間で、当該変更された通信速度の通信設定に従ってアプリケーションにより使用されるデータの送受信を行うように構成したので、アプリケーションへのコマンドの追加なく、かつ適切なタイミングで通信設定を変更することができる。
【符号の説明】
【００７９】
１  ＩＣカード
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  不揮発性メモリ
１４  Ｉ／Ｏ回路
【図１】
2018181000.tif 000003
【図２】
2018181000.tif 000004
【図３】
2018181000.tif 000005
【図４】
2018181000.tif 000006
【図５】
2018181000.tif 000007
【図６】
2018181000.tif 000008
【図７】
2018181000.tif 000009
【図８】
2018181000.tif 000010
【図９】
2018181000.tif 000011
【図１０】
2018181000.tif 000012