(57)【特許請求の範囲】
【請求項１】
リーダライタからＩＣカードに対して非接触で動作電力を供給し通信を行うもので、複数のＩＣカードがリーダライタと通信可能な範囲に存在している場合、前記リーダライタは、アンチコリジョン処理を実行することで前記複数のＩＣカードを特定するための特定情報を取得してそれらを識別するカード通信システムにおいて、
前記リーダライタは、前記複数のカードの内、何れかに対して、その他のカードを送信先カードとして指定するための特定情報と共にカード間通信の開始を指示するカード間通信コマンドを送信し、
前記カード間通信コマンドを受信したカードは、自身並びに前記送信先カードの特定情報、及び送信データを含むデータ送信コマンドを前記リーダライタに送信し、
前記リーダライタは、前記データ送信コマンドを受信すると、当該コマンドに含まれている前記送信先カードに対して、当該送信先カード並びに前記カード間通信コマンドを受信したカードである送信元カードの特定情報、及び送信データを送信することを特徴とするカード通信システム。
【請求項２】
リーダライタからＩＣカードに対して非接触で動作電力を供給し通信を行うもので、複数のＩＣカードがリーダライタと通信可能な範囲に存在している場合、前記リーダライタは、アンチコリジョン処理を実行することで前記複数のＩＣカードを特定するための特定情報を取得してそれらを識別するカード通信システムにおいて、
前記リーダライタは、前記複数のカードの内、何れかに対して、識別した前記複数のカードの特定情報を含むカード通知コマンドを送信し、
前記カード通知コマンドを受信したカードが他のカードとの通信を開始する場合は、自身並びに送信先カードの特定情報、及び送信データを含むデータ送信コマンドを前記リーダライタに送信し、
前記リーダライタは、前記データ送信コマンドを受信すると、当該コマンドに含まれている送信先カードに対して、当該送信先カード並びに送信元カードの特定情報、及び送信データを送信することを特徴とするカード通信システム。
【請求項３】
前記リーダライタは、前記データ送信コマンドを受信すると、当該コマンドに含まれているデータを自身で解釈することなく、前記送信先カードに送信することを特徴とする請求項１又は２記載のカード通信システム。
【請求項４】
前記送信先カードは、前記リーダライタによって送信されたデータを受信すると、自身並びに送信元カードの特定情報、及び応答データを含むデータ送信レスポンスを前記リーダライタに送信し、
前記リーダライタは、前記データ送信レスポンスを受信すると、当該レスポンスに含まれている送信元カードに対して、当該送信先カード並びに送信元カードの特定情報、及び応答データを送信することを特徴とする請求項１乃至３の何れかに記載のカード通信システム。
【請求項５】
前記リーダライタは、前記データ送信レスポンスを受信すると、当該レスポンスに含まれているデータを自身で解釈することなく、前記送信元カードに送信することを特徴とする請求項４記載のカード通信システム。
【請求項６】
前記送信元カードと前記送信先カードとが、前記リーダライタを介してカード間通信を開始しようとする場合は、その通信に先立ち両カード間において相互認証処理を行ない、その認証が成功した場合に前記カード間通信を行うことを特徴とする請求項１乃至５の何れかに記載のカード通信システム。
【請求項７】
前記送信元カードと前記送信先カードとが、前記リーダライタを介してカード間通信を行う場合は、その通信を暗号化して行うことを特徴とする請求項１乃至５の何れかに記載のカード通信システム。
【請求項８】
前記認証が成功すると、以降のカード間通信を暗号化して行うことを特徴とする請求項６記載のカード通信システム。
【請求項９】
請求項１乃至８の何れかに記載のカード通信システムに使用されることを特徴とするリーダライタ。
【請求項１０】
請求項１乃至８の何れかに記載のカード通信システムに使用されることを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リーダライタからＩＣカードに対して非接触で通信を行うもので、複数のＩＣカードが通信可能な範囲に存在している場合、リーダライタがそれらのＩＣカードを識別して通信を行うカード通信システム、並びにそのシステムに使用されるリーダライタ及びＩＣカードに関する。
【背景技術】
【０００２】
リーダライタと複数のＩＣカードとが非接触で通信を行うシステムにおいて場合に、通信の衝突が発生することを回避するための制御方式である、所謂「アンチコリジョン処理」に関する技術が特許文献１，２等に開示されている。そして、衝突が回避可能な状況下において、リーダライタとＩＣカードとは、前者が主導する形で１対１の関係により通信を行う。
【特許文献１】特許第３５７４３１７号公報
【特許文献２】特開平５−１５９１１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、近年はＩＣカードの普及が進んでおり、アプリケーションによっては２つのカード間でデータを交換することが要求される場合もある。しかしながら、ＩＣカードは他のＩＣカードと直接通信することができないので、カード間でデータ交換等を行う場合でも、常にリーダライタを介して通信を行うことになる。
例えば、図１０に示すように、リーダライタ１（ＲＷ）と２つのＩＣカード２（Ｃ１），３（Ｃ２）が存在する場合、リーダライタ１は、上位装置４より処理開始要求が与えられるとアンチコリジョン処理を行った後、ＩＣカード２に対してデータ要求コマンドを送信し、ＩＣカード２がそのコマンドに対するレスポンスをリーダライタ１に返す。そのレスポンスには、ＩＣカード２の送信データが含まれている。
【０００４】
次に、リーダライタ１は、ＩＣカード３に対してデータ送信コマンドを送信することでＩＣカード２の送信データを渡し、ＩＣカード３がそのコマンドに対するレスポンスをリーダライタ１に返す。そのレスポンスには、ＩＣカード３の応答データが含まれている。そして、リーダライタ１は、ＩＣカード２に対してデータ送信コマンドを送信することでＩＣカード３の応答データを渡し、ＩＣカード２がそのコマンドに対するレスポンスをリーダライタ１に返すと、一連のカード間通信が終了する。
以上のように、カード間通信の処理手順は複雑とならざるを得ず、処理に要する時間が長くなったり、リーダライタの開発コストが上昇するといった問題があった。
本発明は上記事情に鑑みてなされたものであり、その目的は、２つのＩＣカードがリーダライタを介して通信を行う場合の手順をより簡単にすることができるカード通信システム、並びにそのシステムに使用されるリーダライタ及びＩＣカードを提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載のカード通信システムによれば、リーダライタは、通信可能な範囲に存在している複数のカードの何れかに対して、その他のカードを送信先として指定するための特定情報と共にカード間通信コマンドを送信する。カード間通信コマンドを受信したカードが、自身並びに送信先カードの特定情報と送信データを含むデータ送信コマンドをリーダライタに送信すると、リーダライタは、データ送信コマンドに含まれている送信先カードに対し、当該送信先カード並びに送信元カードの特定情報及び送信データを送信する。
即ち、カード間通信コマンドを受信した送信元カードは、データ送信コマンドをリーダライタに送信することで自発的にカード間通信を開始する。そして、リーダライタは、上記コマンドで指定された送信先カードに対して送信元カードの特定情報及び送信データを送信するので、カード間通信の全てを主導して行う場合に比較して、リーダライタの構成をより簡単にすることができる。
【０００６】
請求項２記載のカード通信システムによれば、リーダライタは、通信可能な範囲に存在している複数のカードの何れかに対して、識別した複数のカードの特定情報を含むカード通知コマンドを送信し、そのコマンドを受信したカードが他のカードとの通信を開始する場合は、自身並びに送信先カードの特定情報、及び送信データを含むデータ送信コマンドをリーダライタに送信する。そして、リーダライタは、データ送信コマンドを受信すると、当該コマンドに含まれている送信先カードに対して、当該送信先カード並びに送信元カードの特定情報及び送信データを送信する。
即ち、カード通知コマンドを受信したカードは、送信先カードを自身で決定し、データ送信コマンドをリーダライタに送信することで自発的にカード間通信を開始する。そして、リーダライタは、上記コマンドで指定された送信先カードに対して送信元カードの特定情報及び送信データを送信するので、請求項１と同様に、カード間通信の全てを主導して行う場合に比較して、リーダライタの構成をより簡単にすることができる。
【０００７】
請求項３記載のカード通信システムによれば、リーダライタは、データ送信コマンドを受信すると、そのコマンドに含まれているデータを自身で解釈することなく送信先カードに送信する。即ち、カードによって自発的に送信されたデータ送信コマンドは、送信先カードにデータを送信することが目的であるから、そのコマンドの内容をリーダライタが解釈する必要はない。従って、リーダライタが受信したデータ送信コマンドは、送信先カードに対して迅速に転送されるようになり、カード間通信に要する処理時間を短縮することができる。また、リーダライタが受信したデータを解釈しないことにより、リーダライタを介したデータの盗聴や改ざんを防止することも可能となる。
【０００８】
請求項４記載のカード通信システムによれば、送信先カードは、リーダライタにより送信されたデータを受信するとデータ送信レスポンスをリーダライタに送信し、リーダライタは、受信したレスポンスに含まれている送信元カードに対して、送信先カードの特定情報及び応答データを送信する。従って、送信元カードより送信されたデータに対して送信先カードが返した応答は、リーダライタを経由して送信元カードに転送される。
【０００９】
請求項５記載のカード通信システムによれば、リーダライタは、データ送信レスポンスを受信すると、そのレスポンスに含まれているデータを自身で解釈することなく、送信元カードに送信する。即ち、データ送信コマンドに応答して送信先カードが返したレスポンスは、送信元カードに応答データを送信することが目的であるから、その内容をリーダライタが解釈する必要はない。従って、リーダライタが受信したデータ送信レスポンスは、送信元カードに対して迅速に転送されるようになり、カード間通信に要する処理時間を短縮することができる。また、この場合もリーダライタが受信したデータを解釈しないことで、リーダライタを介したデータの盗聴や改ざんを防止することも可能となる。
【００１０】
請求項６記載のカード通信システムによれば、送信元カードと送信先カードとが、リーダライタを介してカード間通信を開始しようとする場合は、その通信に先立って行われる両カード間の相互認証処理が成功し、互いに適正な通信相手を認証した上でカード間通信を行うので、セキュリティを向上させることができる。
【００１１】
請求項７記載のカード通信システムによれば、送信元カードと送信先カードとが、リーダライタを介してカード間通信を行う場合はその通信を暗号化して行うので、通信の秘匿性を向上させることができる。
請求項８記載のカード通信システムによれば、請求項６における認証が成功すると、以降のカード間通信を暗号化して行うので、請求項７と同様に通信の秘匿性を向上させることができる。
【発明を実施するための最良の形態】
【００１２】
（第１実施例）
以下、本発明の第１実施例について図１乃至図５を参照して説明する。図３は、カード通信システムの構成を示す図である。リーダライタ（ＲＷ）１１は、上位装置１２より出力される処理開始要求が与えられると、通信可能なエリア内に存在するＩＣカードと通信するようになっている。そして、本実施例では、リーダライタ１１の通信可能エリア内に２つのＩＣカード１３（Ｃ１），１４（Ｃ２）が存在する場合に、それらのカード間における通信（データ交換）を、リーダライタ１１を経由して行う。
【００１３】
図４は、リーダライタ１１の電気的構成を示す機能ブロック図である。リーダライタ１１は、マイクロコンピュータで構成される制御回路１５によって制御される。制御回路１５は、上位装置１２より与えられる指令に応じて、内部のメモリ１６に記憶されている制御プログラムに従いリーダライタ１１を制御する。
制御回路１５によって出力される送信データは送信回路１７において符号化されると、更に符号化データによる搬送波の変調が行われ、被変調信号がアンテナ１８に出力される。アンテナ１８を構成するコイルには共振コンデンサ１９が並列に接続されており、被変調信号は、アンテナ１８より電波信号として外部に送信される。また、アンテナ１８には、受信回路２０の入力端子が接続されており、その受信回路２０には、アンテナ１８によって受信された電波信号が入力される。受信回路２０においては、復調処理及び復号化処理が行なわれ、復号された受信データは制御回路１５に出力される。
【００１４】
図５は、ＩＣカード１３（又は１４）の電気的構成を示す機能ブロック図である。ＩＣカード１３は、アンテナ２１，電源回路２２，復調回路２３，制御回路２４，メモリ２５，変調回路２６，負荷変調回路２７などで構成されている。尚、アンテナ２１には、コンデンサ２８が並列に接続されている。ＩＣカード１３は、リーダライタ１１より送信された搬送波をアンテナ２１を介して受信すると、電源回路２２において搬送波を整流して動作用電源を生成し、マイクロコンピュータで構成される制御回路２４及びその他の構成要素に供給する。
【００１５】
また、搬送波に重畳されているリーダライタ１１からの送信データは復調回路２３によって復調され、制御回路２４に出力される。制御回路２４は、動作用電源が供給されて起動すると、リーダライタ１１からの送信データを受けてメモリ２５に記憶されているデータを読み出し、また、ライトコマンドが送信された場合はデータを書き込む。
変調回路２６は、受信した搬送波を分周した副搬送波を制御回路２４が出力する応答データによって変調する。アンテナ２１に対しては、負荷変調回路２７を構成する抵抗及びスイッチの直列回路が並列に接続されている。そして、変調回路２６より出力される副搬送波の被変調信号により負荷変調回路２７のスイッチがオンオフされることで搬送波が負荷変調され、応答（レスポンス）が返信される。
【００１６】
次に、本実施例の作用について図１及び図２も参照して説明する。図１は、上位装置１２，リーダライタ１１，ＩＣカード１３及び１４の間で行われる通信シーケンスを示すものである。上位装置１２によって処理開始要求が与えられると（１）、リーダライタ１１は、通信可能エリア内に位置しているＩＣカード１３及び１４との間でアンチコリジョン処理を行い（２）、ＩＣカード１３，１４を夫々特定する情報を取得する。
【００１７】
それから、リーダライタ１１は、ＩＣカード１３に対して「カード間通信コマンド」を送信する（３）。図２（ａ）には、カード間通信コマンドのフレーム構成を示す。カード間通信コマンドは、プリアンブル、送信先アドレス、送信元アドレス、コマンドコード、送信先カード、データ、通信フレームチェック用のコードであるＥＤＣ（Error Detection Code）より構成されている。
この場合、送信元アドレスはリーダライタ１１のアドレス、送信先アドレスはＩＣカード１３に割り当てたアドレス（特定情報）となって、ＩＣカード１３が上記コマンドを受信することになる。また、送信先カードはＩＣカード１４の特定情報（アドレス：Ｃ２）となる。即ち、リーダライタ１１は、ＩＣカード１３に対してＩＣカード１４との間で通信を行うことを指示する。
【００１８】
ＩＣカード１３は、カード間通信コマンドを受信すると、当該コマンドを正常に受信したことを示すレスポンスをリーダライタ１１に返し（４）、それに引き続きＩＣカード１４を通信先として指定した「データ送信コマンド」をリーダライタ１１に送信する（５）。図２（ｂ）には、データ送信コマンドのフレーム構成を示す。データ送信コマンドは、プリアンブル、送信先アドレス、送信元アドレス、コマンドコード、データ、ＥＤＣより構成されている。この場合、送信元アドレスはＩＣカード１３のアドレス、送信先アドレスはＩＣカード１４のアドレスとなり、「データ」は、ＩＣカード１３がＩＣカード１４に送信すべきデータとなる。
【００１９】
リーダライタ１１は、データ送信コマンドを受信すると、当該コマンドに含まれている送信データ（ここでは、データ送信コマンドフレームにおけるプリアンブル以外のデータ）をメモリ１６に書き込んで記憶させるが、そのデータ内容についての解釈は行わない。但し、ＥＤＣによるエラーチェックは行う。エラーチェックが終了すると、リーダライタ１１は、メモリ１６に保存したデータを読み出して、ＩＣカード１４にデータ送信コマンドを送信する（６）。即ち、実質的には、ＩＣカード１３が送信したコマンドをリーダライタ１１で中継してＩＣカード１４に送信するような形となる。
【００２０】
ＩＣカード１４は、リーダライタ１１よりデータ送信コマンドを受信すると、受信結果や受信したデータの処理結果などを含む「データ送信レスポンス」をリーダライタ１１に送信する（７）。図２（ｃ）には、データ送信レスポンスのフレーム構成を示す。データ送信コマンドは、プリアンブル、送信先アドレス、送信元アドレス、ステータスコード、データ、ＥＤＣより構成されている。この場合、送信元アドレスはＩＣカード１４のアドレス、送信先アドレスはＩＣカード１３のアドレスとなり、「データ」は、ＩＣカード１４がＩＣカード１３に送信すべき応答データとなる。
また、図２（ｄ）には、フレーム中における「コマンド」と「ステータス」との相違を示す。例えば両者のサイズが夫々１バイトである場合に、ＭＳＢとなる第７ビットが「１」であれば「コマンド」を示し、第７ビットが「０」であれば「ステータス」を示すことになる。そして、それに続く第６ビット〜第０ビットがコマンドコード若しくはステータスコードとなっている。
【００２１】
リーダライタ１１は、ＩＣカード１４よりデータ送信レスポンスを受信すると、データ送信コマンドを受信した場合と同様に、当該コマンドに含まれている送信データ（データ送信レスポンスフレームにおけるプリアンブル以外のデータ）をメモリ１６に書き込んで記憶させてそのデータ内容についての解釈は行わず、ＥＤＣによるエラーチェックは行う。そして、エラーチェックが終了すると、リーダライタ１１は、メモリ１６に保存したデータを読み出して、ＩＣカード１３にデータ送信レスポンスを送信する（８）。即ち、この場合も、実質的にはＩＣカード１４が送信したレスポンスをリーダライタ１１で中継してＩＣカード１３に送信するような形となる。そして、送信先としてＩＣカード１３が指定されていることで、上記レスポンスはＩＣカード１３が受信することになる。
【００２２】
以上のように本実施例によれば、リーダライタ１１は、通信可能な範囲に存在しているＩＣカード１３に対して、ＩＣカード１４を送信先として指定するための特定情報を含むカード間通信コマンドを送信し、そのコマンドを受信したＩＣカード１３が、自身のアドレス並びにＩＣカード１４のアドレスと送信データを含むデータ送信コマンドをリーダライタ１１に送信すると、そのコマンドをＩＣカード１４に転送するようにした。
即ち、カード間通信コマンドを受信したＩＣカード１３は、データ送信コマンドをリーダライタ１１に送信することで自発的にカード間通信を開始し、リーダライタ１１は、上記コマンドで指定されたＩＣカード１４に対してＩＣカード１３のアドレス及び送信データを送信するので、カード間通信の全てを主導して行う場合に比較して構成をより簡単にすることができる。
【００２３】
そして、リーダライタ１１は、データ送信コマンドを受信すると、そのコマンドに含まれているデータを自身で解釈することなくＩＣカード１４に送信するので、受信したデータ送信コマンドがＩＣカード１４に対して迅速に転送されるようになり、カード間通信に要する処理時間を短縮することができる。加えて、リーダライタ１１が受信したデータを解釈しないことにより、リーダライタ１１を介したデータの盗聴や改ざんを防止することも可能となる。
【００２４】
また、ＩＣカード１４は、リーダライタ１１により送信されたデータを受信するとデータ送信レスポンスをリーダライタ１１に送信し、リーダライタ１１は、受信したレスポンスで指定されているＩＣカード１３に対して、ＩＣカード１４のアドレス及び応答データを送信するので、ＩＣカード１４が返したレスポンスは、リーダライタ１１を経由して送ＩＣカード１３に転送される。そして、リーダライタ１１は、データ送信レスポンスを受信すると、そのレスポンスに含まれているデータを自身で解釈することなく、ＩＣカード１３に送信するので、受信したデータ送信レスポンスはＩＣカード１３に対して迅速に転送されるようになり、カード間通信に要する処理時間を短縮することができる。
【００２５】
（第２実施例）
図６及び図７は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。図６は、第１実施例における図１相当図である。第２実施例の基本的構成は第１実施例と同様であるが、カード間通信の処理手順が若干異なっている。即ち、プロセス（３）においては、リーダライタ１１が「カード間通信コマンド」に替えて、「カード通知コマンド」をＩＣカード１３に送信する。
【００２６】
図７は、カード通知コマンドのフレーム構成を示しており、プリアンブル、送信先アドレス、送信元アドレス、コマンドコード、検出カードリスト、データ、ＥＤＣより構成されている。この場合、送信元アドレスはリーダライタ１１のアドレス、送信先アドレスはＩＣカード１３に割り当てたアドレスとなって、ＩＣカード１３が上記コマンドを受信することになる。また、「検出カードリスト」は、リーダライタ１１がアンチコリジョン処理において認識した全てのカードのアドレスであり、この場合、ＩＣカード１３，１４のアドレス：Ｃ１，Ｃ２となる。
【００２７】
そして、ＩＣカード１３が上記コマンドを正常に受信したことを示すレスポンスをリーダライタ１１に返すと（４）、リーダライタ１１は、今度はＩＣカード１４に対してカード通知コマンドを送信する（５）。この場合、送信先アドレスを、ＩＣカード１４のアドレスにすることで、当該コマンドはＩＣカード１４によって受信される。ＩＣカード１４が、上記コマンドの受信に対するレスポンスをリーダライタ１１に返すと（６）、以降のプロセス（７）〜（１０）は、第１実施例におけるプロセス（５）〜（８）と同様に行われる。
但し、プロセス（７）において、送信元となるＩＣカード１３は、カード通知コマンドより得たカードの特定情報から、送信先カードをＩＣカード１４とすることを自発的に（例えば制御回路２４のプログラム等により）決定した上で、データ送信コマンドを送信する。
【００２８】
以上のように第２実施例によれば、リーダライタ１１は、通信可能な範囲に存在しているＩＣカード１３，１４に対して、識別したＩＣカードの特定情報を含むカード通知コマンドを送信し、そのコマンドを受信したＩＣカード１３がＩＣカード１４との通信を開始する場合は、データ送信コマンドをリーダライタ１１に送信する。そして、リーダライタ１１は、そのデータ送信コマンドを受信すると、当該コマンドに含まれている送信先カードのＩＣカード１４に対して、ＩＣカード１３の特定情報及び送信データを送信する。
即ち、カード通知コマンドを受信したＩＣカード１３は、送信先カードを自身で決定し、データ送信コマンドを送信することで自発的にカード間通信を開始する。そして、リーダライタ１１は、上記コマンドで指定されたＩＣカード１４に対してＩＣカード１３の特定情報及び送信データを送信するので、カード間通信の全てを主導して行う場合に比較して、リーダライタ１１の構成をより簡単にすることができる。
【００２９】
（第３実施例）
図８及び図９は本発明の第３実施例を示すものであり、第１，第２実施例と異なる部分についてのみ説明する。第３実施例では、ＩＣカード１３，１４がカード間通信を行うにあたり、相互認証処理を行うと共に通信を暗号化して行う場合を示す。即ち、図８に示すプロセス（１），（２）は第１，第２実施例と同様に行い、プロセス（３）については、第１実施例におけるカード間通信開始処理、若しくは第２実施例におけるカード通知処理の何れかを行えば良い。
【００３０】
続いて、リーダライタ１１は、ＩＣカード１３に対して暗号通信の開始を要求するコマンドを送信する（４）。図９（ａ）には、「暗号通信要求コマンド」のフレーム構成を示す。暗号通信要求コマンドは、プリアンブル、送信先アドレス、送信元アドレス、コマンドコード、送信先カードアドレス、認証の有無及び暗号の有無の設定、データ、ＥＤＣより構成されている。この場合、送信先カードアドレスはＩＣカード１４のアドレス、認証及び暗号は何れも「有」となる。
そして、ＩＣカード１３が、上記コマンドを正常に受信したことを示すレスポンスをリーダライタ１１に返すと（５）、それ以降にＩＣカード１３は、自身が主導して相互（外部，内部）認証処理及び暗号通信処理を行なう。先ず、ＩＣカード１３は、外部認証を行うため送信先をＩＣカード１４に指定して、「乱数発生コマンド」をリーダライタ１１に送信する（６）。そのコマンドは、第１，第２実施例におけるデータ送信コマンドと同様に、リーダライタ１１で中継されてＩＣカード１４に送信される（７）。
【００３１】
即ち、乱数発生コマンドによって認証に用いる乱数ＲＤ０をＩＣカード１４に発生させ、「乱数発生レスポンス」で乱数ＲＤ０を返信させる（８）。そのレスポンスは、データ送信レスポンスと同様に、リーダライタ１１で中継されてＩＣカード１３に送信される（９）。ＩＣカード１３は、自身が保持している共通鍵Ｋで乱数ＲＤ０を暗号化すると、暗号化したデータＫ１（ＲＤ０）を外部認証コマンドによりＩＣカード１４に送信する（１０，１１）。ＩＣカード１４は、受信した暗号化乱数を復号化し、復号化した乱数ＲＤ０’を自身が発生した乱数ＲＤ０と比較する。そして、両者が一致すれば外部認証は成功となり、その認証結果を外部認証レスポンスによりＩＣカード１３に送信する（１２，１３）。
【００３２】
続いて、内部認証処理を行なう。ＩＣカード１３は、「内部認証要求コマンド」をＩＣカード１４に送信する（１４，１５）。すると、ＩＣカード１４は、認証用に発生させた乱数ＲＤ１を共通鍵Ｋ１’で暗号化して（Ｋ１’（ＲＤ１））、「内部認証コマンド」によりＩＣカード１３に送信する（１６，１７）。ＩＣカード１３は、暗号化されている乱数を復号化して乱数ＲＤ１’を得ると、その乱数ＲＤ１’を共通鍵Ｋ１で暗号化して（Ｋ１（ＲＤ１’））、「内部認証レスポンス」によりＩＣカード１４に送信する（１８，１９）。そして、ＩＣカード１４では、暗号化された乱数を復号化した乱数ＲＤ１’を自身が発生させた乱数ＲＤ１と比較し、両者が一致すれば内部認証は成功となる。
【００３３】
続いて、暗号通信を行う。図９（ｂ）には、暗号通信用のデータフレーム構成を示す。フレームは、プリアンブル、送信先アドレス、送信元アドレス、暗号化データ、ＥＤＣで構成されている。この場合、ＩＣカード１３，１４は、何れも内部認証で利用した乱数ＲＤ１を通信の暗号鍵として使用する。先ず、ＩＣカード１３は、暗号化したデータＥ（ｄａｔａ１）RD1をＩＣカード１４に送信する（２０，２１）。そして、ＩＣカード１４も、ＩＣカード１３にレスポンスを返す場合は、暗号化したデータＥ（ｄａｔａ２）RD1を送信する（２２，２３）。
【００３４】
以上のように第３実施例によれば、ＩＣカード１３，１４がリーダライタ１１を介してカード間通信を開始しようとする場合は、その通信に先立って行われる両カード間の相互認証処理が成功し、互いに適正な通信相手を認証した上でカード間通信を行うので、不正ないＩＣカードによる所謂「成りすまし」が困難となり、セキュリティを向上させることができる。
そして、外部認証及び内部認証が成功すると、内部認証に使用した乱数を暗号鍵として暗号化し通信を行う。その場合、送信データ本体のみを暗号化して、送信先アドレス、送信元アドレス、ＥＤＣなどは暗号化しないことで、リーダライタ１１を介して行う通信は可能になると共に、通信データの盗聴や改ざんを困難にして通信の秘匿性を向上させることができる。
【００３５】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
リーダライタの通信可能エリアに存在するＩＣカードは、３つ以上あっても良い。その場合でも、任意の２つのＩＣカードの間におけるカード間通信を同様に行えば良い。
リーダライタは、上位装置より与えられる処理要求に応じて動作するものに限らず、リーダライタ単体で自律的に通信処理を行なうものであっても良い。
特定情報は、ＩＣカード固有のＩＤであっても良い。
第３実施例において、相互認証処理と暗号通信処理との何れか一方だけを行っても良い。また、暗号通信に使用する暗号鍵は、必ずしも認証で利用した乱数を使用する必要はない。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１実施例であり、上位装置，リーダライタ，ＩＣカード（Ｃ１，Ｃ２）の間で行われる通信シーケンスを示す図
【図２】（ａ）はカード間通信コマンド、（ｂ）はデータ送信コマンド、（ｃ）はデータ送信レスポンスのフレーム構成、（ｄ）はフレーム中のコマンド及びステータスを示す図
【図３】カード通信システムの構成を示す図
【図４】リーダライタの電気的構成を示す機能ブロック図
【図５】ＩＣカードの電気的構成を示す機能ブロック図
【図６】本発明の第２実施例を示す図１相当図
【図７】カード通知コマンドのフレーム構成を示す図
【図８】本発明の第３実施例を示す図１相当図
【図９】（ａ）は暗号通信要求コマンドのフレーム構成、（ｂ）は暗号通信用のデータフレーム構成を示す図
【図１０】従来技術を示す図１相当図
【符号の説明】
【００３７】
図面中、１１はリーダライタ、１３及び１４はＩＣカードを示す。
【図１】
0004774907.tif 000002
【図２】
0004774907.tif 000003
【図３】
0004774907.tif 000004
【図４】
0004774907.tif 000005
【図５】
0004774907.tif 000006
【図６】
0004774907.tif 000007
【図７】
0004774907.tif 000008
【図８】
0004774907.tif 000009
【図９】
0004774907.tif 000010
【図１０】
0004774907.tif 000011