(57)【要約】【課題】複数のノードと通信を行う場合において相互認証に時間が掛からないようにする。【解決手段】発信側ノード１０はノード検索コマンドにおいてタイムスロット数を指定し、複数の受信側ノードＡ，Ｂは各々任意のタイムスロットを選択して検索応答を返信する。その後、各受信側ノードＡ，Ｂは第一相互認証コマンドを受信すると、上記検索応答の際に選択したタイムスロットで認証１応答を返信する。第二相互認証コマンド受信時も同様である。【選択図】      図２
2010009525.tif 000002
【特許請求の範囲】
【請求項１】
１つの発信側のノードが複数の受信側のノードとの通信を行うことが可能で、該通信の際に相互認証処理を必要とするシステムであって、
前記発信側ノードは、
任意の指定タイムスロット数を含む検索コマンドを送信して、該指定タイムスロット数分のタイムスロットにより該検索コマンドに対する応答の受信待ちを行う通信可能ノード検索手段と、
前記検索コマンドに対する応答受信完了後、第１の相互認証コマンドを送信し、前記指定タイムスロット数分のタイムスロットにより該第１の相互認証コマンドに対する応答の受信待ちを行う第１の相互認証手段と、
前記第１の相互認証コマンドに対する応答受信完了後、第２の相互認証コマンドを送信し、前記指定タイムスロット数分のタイムスロットにより該第２の相互認証コマンドに対する応答の受信待ちを行う第２の相互認証手段とを有し、
前記各受信側ノードは、
前記検索コマンドを受信すると、前記タイムスロット数に基づき任意のタイムスロットを選択して、該選択したタイムスロットを記憶すると共に該選択したタイムスロットのタイミングで該検索コマンドに対する応答を送信する検索応答手段と、
前記第１の相互認証コマンドを受信すると、前記選択したタイムスロットのタイミングで該第１の相互認証コマンドに対する応答を送信する第１相互認証応答手段と、
前記第２の相互認証コマンドを受信すると、前記選択したタイムスロットのタイミングで該第２の相互認証コマンドに対する応答を送信する第２相互認証応答手段と、
を有することを特徴とする通信システム。
【請求項２】
前記発信側ノードの第１の相互認証手段は、前記タイムスロット数分の複数のタイムスロットのうち特定の１以上のタイムスロットを指定スロットとして、該指定スロットを前記第１の相互認証コマンドに含めて送信し、
前記各受信側ノードにおいて、前記第１相互認証応答手段は、受信した第１の相互認証コマンドの前記指定スロットが前記自己が選択したタイムスロットでは無い場合には前記応答を行わず、更に前記第２相互認証応答手段も前記応答を行わないことを特徴とする請求項１記載の通信システム。
【請求項３】
前記発信側ノードの第１の相互認証手段と第２の相互認証手段は、前記指定スロット数分のタイムスロットにより前記応答の受信待ちを行い、
前記受信した第１の相互認証コマンドの前記１以上の指定スロットに前記自己が選択したタイムスロットがある受信側ノードは、該指定スロットの順番に基づいて新たなタイムスロットを決定し、前記第１相互認証応答手段と第２相互認証応答手段は、該決定した新たなタイムスロットのタイミングで前記応答を送信することを特徴とする請求項２記載の通信システム。
【請求項４】
前記発信側ノードは、前記第１の相互認証コマンドに対する応答を受信して所定の処理を行った結果、該応答を行った受信側ノードに関しては相互認証を続行する必要はないと判定した場合には、該応答を行った受信側ノードに対応するタイムスロットを前記指定スロットから除外して新たな指定スロットを決定し、第２の相互認証手段は前記第２の相互認証コマンドに該新たな指定スロットを含めて送信すると共に、該新たな指定スロット数分のタイムスロットにより前記応答の受信待ちを行い、
前記各受信側ノードにおいて、前記第２相互認証応答手段は、受信した第２の相互認証コマンドの前記新たな指定スロットに前記自己が選択したタイムスロットが無い場合には前記応答を行わず、該新たな指定スロットに前記自己が選択したタイムスロットがある場合には該新たな指定スロットの順番に基づいて更に新たなタイムスロットを決定し、該決
定した新たなタイムスロットのタイミングで前記応答を送信することを特徴とする請求項３記載の通信システム。
【請求項５】
前記発信側ノードの第１の相互認証手段は、前記検索コマンドに対する応答があったタイムスロットを前記指定スロットとすることを特徴とする請求項２〜４の何れかに記載の通信システム。
【請求項６】
前記発信側ノードは、前記第２の相互認証コマンドに対する応答を受信して、相互認証結果を判定し、その後にデータ・リードまたはデータ・ライトを実行する際に、リードコマンドまたはライトコマンドを送信後、前記指定タイムスロット数分または前記指定スロット数分あるいは前記新たな指定スロット数分のタイムスロットにより、前記応答の受信待ちを行い、
前記相互認証が成功した受信側ノードは、前記リードコマンドまたはライトコマンドを受信すると、前記第２の相互認証コマンドに対する応答に用いたタイムスロットのタイミングで該コマンドに対する応答を送信することを特徴とする請求項１〜５の何れかに記載の通信システム。
【請求項７】
１つの発信側のノードが複数の受信側のノードとの通信を行うことが可能で、該通信の際に相互認証処理を必要とするシステムにおける該発信側ノードであって、
任意の指定タイムスロット数を含む検索コマンドを送信して、該指定タイムスロット数分のタイムスロットにより該検索コマンドに対する応答の受信待ちを行う通信可能ノード検索手段と、
前記検索コマンドに対する応答受信完了後、第１の相互認証コマンドを送信し、前記指定タイムスロット数分のタイムスロットにより該第１の相互認証コマンドに対する応答の受信待ちを行う第１の相互認証手段と、
前記第１の相互認証コマンドに対する応答受信完了後、第２の相互認証コマンドを送信し、前記指定タイムスロット数分のタイムスロットにより該第２の相互認証コマンドに対する応答の受信待ちを行う第２の相互認証手段と、
を有することを特徴とする通信システムにおける発信側ノード。
【請求項８】
１つの発信側のノードが複数の受信側のノードとの通信を行うことが可能で、該通信の際に相互認証処理を必要とするシステムにおける該受信側ノードであって、
前記発信側ノードからの検索コマンドを受信すると、該検索コマンドに含まれるタイムスロット数に基づき任意のタイムスロットを選択して、該選択したタイムスロットを記憶すると共に該選択したタイムスロットのタイミングで該検索コマンドに対する応答を送信する検索応答手段と、
前記発信側ノードからの第１の相互認証コマンドを受信すると、前記選択したタイムスロットのタイミングで該第１の相互認証コマンドに対する応答を送信する第１相互認証応答手段と、
前記発信側ノードからの第２の相互認証コマンドを受信すると、前記選択したタイムスロットのタイミングで該第２の相互認証コマンドに対する応答を送信する第２相互認証応答手段と、
を有することを特徴とする通信システム。
【請求項９】
１つの発信側のノードが複数の受信側のノードとの通信を行うことが可能で、該通信の際に相互認証処理を必要とするシステムにおける該発信側ノードのコンピュータを、
任意の指定タイムスロット数を含む検索コマンドを送信して、該指定タイムスロット数分のタイムスロットにより該検索コマンドに対する応答の受信待ちを行う通信可能ノード検索手段と、
前記検索コマンドに対する応答受信完了後、第１の相互認証コマンドを送信し、前記指
定タイムスロット数分のタイムスロットにより該第１の相互認証コマンドに対する応答の受信待ちを行う第１の相互認証手段と、
前記第１の相互認証コマンドに対する応答受信完了後、第２の相互認証コマンドを送信し、前記指定タイムスロット数分のタイムスロットにより該第２の相互認証コマンドに対する応答の受信待ちを行う第２の相互認証手段、
として機能させるためのプログラム。
【請求項１０】
１つの発信側のノードが複数の受信側のノードとの通信を行うことが可能で、該通信の際に相互認証処理を必要とするシステムにおける該受信側ノードのコンピュータを、
前記発信側ノードからの検索コマンドを受信すると、該検索コマンドに含まれるタイムスロット数に基づき任意のタイムスロットを選択して、該選択したタイムスロットを記憶すると共に該選択したタイムスロットのタイミングで該検索コマンドに対する応答を送信する検索応答手段と、
前記発信側ノードからの第１の相互認証コマンドを受信すると、前記選択したタイムスロットのタイミングで該第１の相互認証コマンドに対する応答を送信する第１相互認証応答手段と、
前記発信側ノードからの第２の相互認証コマンドを受信すると、前記選択したタイムスロットのタイミングで該第２の相互認証コマンドに対する応答を送信する第２相互認証応答手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードと通信を行う通信環境において、通信相手と相互認証を行うことで通信の安全性を確保する必要のあるシステムに関する。
【背景技術】
【０００２】
従来、例えば近接非接触型通信システム（例えば非接触ＩＣカードとそのリーダ／ライタ）において、通信相手との通信の際に相互認証を必要とする場合があり、所定の相互認証手順に従って相互認証を行って、認証結果がＯＫであればその後にデータ・リード／ライト等を行う。この相互認証は例えば共通鍵暗号方式により行う。
【０００３】
例えば、特許文献１に開示されているような相互認証方式によって、２つの情報処理装置が相互に認証を行うことができ、相互に認証した２つの情報処理装置で通信を行うことができるとされている。
【０００４】
尚、例えば上記非接触ＩＣカードとリーダ／ライタ等にように、相互に近接通信を行うと共に相互認証を行う構成を、ノードというものとする。ノード間の相互認証は、一方のノードがコマンドを送信し、他方のノードがこのコマンドに対する応答を返信する形で行われる。以下、コマンドを送信するノードを発信側ノード（相互認証発信側ノード）、このコマンドを受信して応答を返すノードを受信側ノード（相互認証受信側ノード）というものとする。上記非接触ＩＣカードとリーダ／ライタの例では、非接触ＩＣカードが受信側ノード、リーダ／ライタが送信側ノードとなる。
【０００５】
ここで、例えば後述する特許文献２等に記載のように、例えば非接触ＩＣカードが２枚重ねて使用される場合があり、この場合、リーダ／ライタは複数の非接触ＩＣカード（受信側ノード）との通信を行うことになり、その際、相互認証を行うことになる。複数の受信側ノードと相互認証を行う際には、送信側ノードは各受信側ノードと個別に相互認証を行なう必要があり、相互認証手順を複数回繰り返す必要があった。
【０００６】
例えば、特許文献２には、複数の非接触式カードに対する相互認証の仕組みが開示されている。
ここで、図１８に、上記従来技術（特許文献２）による複数の受信側ノードに対する相互認証通信シーケンスの例を示す。
【０００７】
従来技術では、相互認証発信側ノードは、まず、通信可能なノードを検索するために、ノード検索コマンドを発信する。ノード検索コマンドは、発信側ノードが非接触ＩＣカード・リーダ／ライタ、複数の受信側ノードが非接触ＩＣカードであるとした場合には、ポーリングコマンド（指令）に相当する。
【０００８】
例えば上記特許文献２ではその図１０に示すように、１つの相互認証発信側ノードからのポーリング指令に対して、複数の相互認証受信側ノード（非接触式ＩＣカード等）が、各々で乱数等により決定したタイムスロットでポーリング応答（検索応答）を返信している。
【０００９】
尚、特許文献２には示されていないが、従来の一般的な手法を用いて、図１８に示すように、発信側ノードは、ノード検索コマンドにおいて任意のタイムスロット数を指定して、この指定した数のタイムスロット（図示の例ではタイムスロット１〜４の４つ）で検索応答を待つようにしてもよい。
【００１０】
ノード検索コマンドによって通信可能な受信側ノードを捕捉した相互認証発信側ノードは、続けてこれらの受信側ノードとの相互認証を行なう。相互認証とは一般的に、通信可能なノード同士が互いに相手のノードに対して自身が有する情報を読み出す権限を与えても良いものか、相手のノードから送られた情報を取り込んでも問題ないか、を判定するための通信シーケンスである。この判定のために、例えば、事前に双方で秘密裏に登録してある鍵情報を元に、暗号化された情報を交換することで、相互の鍵情報が一致していることを確認出来ることから、相互に正規の情報交換相手であることを認識し合う。相互認証は、通常、上記ノード検索を行った後、第一相互認証、第二相互認証の２段階で行われる。
【００１１】
上記従来技術の場合、ノード検索コマンドに関しては一括処理が行われるが（１つのノード検索コマンドに対して複数のタイムスロットを用いて複数の受信側ノードから返信可能であるが）、その後の第一相互認証、第二相互認証は、受信側ノード毎に個別に行なわれる。
【００１２】
すなわち、図１８に示すように、相互認証発信側ノードは、まず、受信側ノードＡに対して、第一相互認証コマンドの送信とその応答の受信を行い、続いて第二相互認証コマンドの送信とその応答の受信を行う。そして、続いて、受信側ノードＢに対しても受信側ノードＡと同様の相互認証処理を行う。
【００１３】
このため、２つ以上の受信側ノードとの相互認証を完了させるためには、４回以上のコマンド・応答のやり取りが必要となる。相互認証を行う受信側ノード数に比例して相互認証コマンドの回数を増加させる必要があることから、相互認証を行う受信側ノード数が増えるほどに、認証処理が完了するまでに要する時間の増加はより顕著となる。
【００１４】
尚、上記相互認証の具体例については、特許文献１の図９や特許文献２の図８等に示されているが、ここでは特許文献２の例について図１９に示して説明する。
図１９において、ＣＰＵと通信装置が上記相互認証発信側ノードに相当し、第１のカードＣ１が上記相互認証受信側ノードに相当する。
【００１５】
ＣＰＵと第１のカードＣ１とは、それぞれ予め互いに同じ鍵（相互認証鍵Ｋａ，Ｋｂ）を保持している。ＣＰＵは、ポーリングにより捕捉したカードに対して相互認証を行うため、乱数Ｒａを生成する。ＣＰＵは、この乱数Ｒａを相互認証鍵Ｋｂで暗号化した暗号化信号“（Ｒａ）ｂ”を第１相互認証指令に乗せて送信する。
【００１６】
第１のカードＣ１は、乱数Ｒｂを生成し、それを相互認証鍵Ｋａで暗号化した暗号化信号“（Ｒｂ）ａ”と、第１相互認証指令で受信した暗号化信号“（Ｒａ）ｂ”を相互認証鍵Ｋｂで復号化することで得たＲａを、相互認証鍵Ｋａで暗号化した暗号化信号“（Ｒａ）ａ”とを、第１相互認証応答に乗せて送信する。このとき第１のカードＣ１は、自らのモードを相互認証待機モードに遷移する。
【００１７】
ＣＰＵは、受信した第１相互認証応答の暗号化信号“（Ｒａ）ａ”を相互認証鍵Ｋａで復号化して得たＲａを、ＣＰＵが生成した乱数Ｒａと比較して一致するかを確認する。ＣＰＵは、比較結果がＮＧ（不一致）の場合は相互認証異常とする。Ｒａの比較結果がＯＫ（一致）の場合は、受信した第１相互認証応答の暗号化信号“（Ｒｂ）ａ”を相互認証鍵Ｋａで復号化して得たＲｂを、相互認証鍵Ｋｂで暗号化した暗号化信号“（Ｒｂ）ｂ”を、第２相互認証指令に乗せて送信する。
【００１８】
第１のカードＣ１は、第２相互認証指令で受信した暗号化信号“（Ｒｂ）ｂ”を相互認
証鍵Ｋｂで復号化して得たＲｂを、第１のカードＣ１が生成した乱数Ｒｂと比較して一致するかを確認する。Ｒｂの比較結果がＮＧ（不一致）の場合は、相互認証待機モードのまま、処理を終了する。あるいは、認証結果ＮＧを第２相互認証応答に乗せて送信する。Ｒｂの比較結果がＯＫ（一致）の場合は、自らのモードを相互認証モードに遷移させ、認証結果ＯＫを第２相互認証応答に乗せて送信する。
【００１９】
ＣＰＵは、受信した第２相互認証応答の認証結果を判定し、ＯＫの場合は相互認証ＯＫと判断し、ＮＧの場合は相互認証異常と判断する。
【特許文献１】特許第３８９７１７７号公報
【特許文献２】特開２００７−４８１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
上述したように、従来技術の場合、相互認証は基本的に機器間で1対１で行うことを前提としており、例えば、ＩＣカード・リーダ／ライタが複数のＩＣカードと相互認証する際には、複数回の認証処理を必要としていた。このため相互認証を行う一つの機器（発信側ノード）と、相互認証をされる複数の機器（受信側ノード）との間では、受信側ノードの台数と同じ数だけ、相互認証のための通信が必要であった。
【００２１】
これら通信回数の多さは、例えば非接触ＩＣカード・リーダ／ライタが複数の非接触ＩＣカードと相互認証を行なう必要があるような場合、相互認証に時間が掛かるためにカード操作者の使い勝手を著しく疎外する要因になりえる。
【００２２】
本発明の課題は、通信相手と相互認証を行うことで通信の安全性を確保する必要のあるシステムに係り、特に発信側ノードが複数の受信側ノードと通信を行う場合において相互認証に時間が掛からないようにできるシステム、その発信側／受信側ノード等を提供することにある。
【課題を解決するための手段】
【００２３】
本発明の通信システムは、１つの発信側のノードが複数の受信側のノードとの通信を行うことが可能で、該通信の際に相互認証処理を必要とするシステムであって、前記発信側ノードは、任意の指定タイムスロット数を含む検索コマンドを送信して、該指定タイムスロット数分のタイムスロットにより該検索コマンドに対する応答の受信待ちを行う通信可能ノード検索手段と、前記検索コマンドに対する応答受信完了後、第１の相互認証コマンドを送信し、前記指定タイムスロット数分のタイムスロットにより該第１の相互認証コマンドに対する応答の受信待ちを行う第１の相互認証手段と、前記第１の相互認証コマンドに対する応答受信完了後、第２の相互認証コマンドを送信し、前記指定タイムスロット数分のタイムスロットにより該第２の相互認証コマンドに対する応答の受信待ちを行う第２の相互認証手段とを有し、前記各受信側ノードは、前記検索コマンドを受信すると、前記タイムスロット数に基づき任意のタイムスロットを選択して、該選択したタイムスロットを記憶すると共に該選択したタイムスロットのタイミングで該検索コマンドに対する応答を送信する検索応答手段と、前記第１の相互認証コマンドを受信すると、前記選択したタイムスロットのタイミングで該第１の相互認証コマンドに対する応答を送信する第１相互認証応答手段と、前記第２の相互認証コマンドを受信すると、前記選択したタイムスロットのタイミングで該第２の相互認証コマンドに対する応答を送信する第２相互認証応答手段とを有する。
【００２４】
上記構成の通信システムによれば、第１相互認証、第２相互認証処理の際にも、通信可
能ノード検索処理時と同様に複数のタイムスロットを用いた通信処理を行うので、発信側ノードは、第１の相互認証コマンド、第２の相互認証コマンドについても、検索コマンドと同様、１回だけ送信すればよくなる。従来では、第１の相互認証コマンド、第２の相互認証コマンドは両方とも、通信可能な受信側ノードの数と同じ回数、送信する必要があったので、従来に比べて回数が少なくなるので、その分、相互認証に掛かる時間を減少させることができる。
【００２５】
上記構成の通信システムにおいて、前記発信側ノードの第１の相互認証手段は、前記タイムスロット数分の複数のタイムスロットのうち特定の１以上のタイムスロットを指定スロットとして、該指定スロットを前記第１の相互認証コマンドに含めて送信し、前記各受信側ノードにおいて、前記第１相互認証応答手段は、受信した第１の相互認証コマンドの前記指定スロットが前記自己が選択したタイムスロットでは無い場合には前記応答を行わず、更に前記第２相互認証応答手段も前記応答を行わないようにしてもよい。
【００２６】
例えば、前記検索コマンドに対する応答があったタイムスロットを前記指定スロットとする。
あるタイムスロットについて検索コマンドに対する応答がない理由として、例えば複数の受信側ノードが同じタイムスロットで応答した為に、これら応答が衝突することで発信側ノードがこれら応答を受信できないケースが考えられる。このケースでは、第１、第２の相互認証コマンドに対する応答も、同様にして衝突により受信できなくなる。上記指定スロットを用いることで、この様な無駄な応答が行われることがなくなる。
【００２７】
また、例えば、前記発信側ノードの第１の相互認証手段と第２の相互認証手段は、前記指定スロット数分のタイムスロットにより前記応答の受信待ちを行い、前記受信した第１の相互認証コマンドの前記１以上の指定スロットに前記自己が選択したタイムスロットがある受信側ノードは、該指定スロットの順番に基づいて新たなタイムスロットを決定し、前記第１相互認証応答手段と第２相互認証応答手段は、該決定した新たなタイムスロットのタイミングで前記応答を送信する。
【００２８】
このように、第１相互認証、第２相互認証処理の際に使用するタイムスロット数、すなわち応答の受信待ち期間を、通信可能ノード検索処理のときよりも短縮させることができ、相互認証に掛かる時間を更に減少させることができる。
【００２９】
あるいは、更に、例えば、前記発信側ノードは、前記第１の相互認証コマンドに対する応答を受信して所定の処理を行った結果、該応答を行った受信側ノードに関しては相互認証を続行する必要はないと判定した場合には、該応答を行った受信側ノードに対応するタイムスロトを前記指定スロットから除外して新たな指定スロットを決定し、第２の相互認証手段は前記第２の相互認証コマンドに該新たな指定スロットを含めて送信すると共に、該新たな指定スロット数分のタイムスロットにより前記応答の受信待ちを行い、前記各受信側ノードにおいて、前記第２相互認証応答手段は、受信した第２の相互認証コマンドの前記新たな指定スロットに前記自己が選択したタイムスロットが無い場合には前記応答を行わず、該新たな指定スロットに前記自己が選択したタイムスロットがある場合には該新たな指定スロットの順番に基づいて更に新たなタイムスロットを決定し、該決定した新たなタイムスロットのタイミングで前記応答を送信する。
【００３０】
このように、第２相互認証処理の際に使用するタイムスロット数、すなわち応答の受信待ち期間を、第１相互認証処理のときよりも短縮させることができ、相互認証に掛かる時間を更に減少させることができる。
【００３１】
また、例えば、前記発信側ノードは、前記第２の相互認証コマンドに対する応答を受信
して、相互認証結果を判定し、その後にデータ・リードまたはデータ・ライトを実行する際に、リードコマンドまたはライトコマンドを送信後、前記指定タイムスロット数分または前記指定スロット数分あるいは前記新たな指定スロット数分のタイムスロットにより、前記応答の受信待ちを行い、前記相互認証が成功した受信側ノードは、前記リードコマンドまたはライトコマンドを受信すると、前記第２の相互認証コマンドに対する応答に用いたタイムスロットのタイミングで該コマンドに対する応答を送信する。
【００３２】
上記のように、相互認証だけでなく、データ・リード／ライト処理についても同様にして処理時間を短縮することができる。
【発明の効果】
【００３３】
本発明の通信システム、発信側／受信側ノード等によれば、通信相手と相互認証を行うことで通信の安全性を確保する必要のあるシステムに係り、特に発信側ノードが複数の受信側ノードと通信を行う場合において相互認証に時間が掛からないようにできる。更に、相互認証だけでなく、データ・リード／ライト処理についても同様にして時間が掛からないようにできる。
【発明を実施するための最良の形態】
【００３４】
以下、図面を参照して本発明の実施の形態について説明する。
尚、以下の説明においては、相互認証発信側ノードとしてカード決済端末（非接触ＩＣカード・リーダ／ライタを備える端末）、複数の相互認証受信側ノードとして非接触ＩＣカードを具体例として挙げる場合があるが、両ノードの具体例はこれに限定するものではない。また、ノード間の通信は、非接触型の通信に限るものではない。
【００３５】
図１（ａ）、（ｂ）に、本例の相互認証発信側ノード、相互認証受信側ノードの構成図を示す。この構成自体は、一般的なものであってよい。
図１（ａ）に示す相互認証発信側ノード１０は、ここでは非接触ＩＣカードとの通信を行って決済処理を行うカード決済端末の構成を例にしており、ＣＰＵ１１、プログラムメモリ１２、データメモリ１３、ＩＣカードＲ／Ｗ（リーダ／ライタ）１４、アンテナ１５、決済金額決定制御部１６、決済金額決定デバイス１７、表示機能制御部１８、表示ランプ１９、金額表示部２０、上位機器通信制御部２１、上位機器接続Ｉ／Ｆ（インタフェース）２２等を有する。これら各構成要素は内部バスにより接続されている。
【００３６】
決済金額決定制御部１６、決済金額決定デバイス１７、表示機能制御部１８、表示ランプ１９、金額表示部２０、上位機器通信制御部２１、上位機器接続Ｉ／Ｆ（インタフェース）２２については、ここでは特に関係ないので、説明しない。
【００３７】
プログラムメモリ１２には所定のアプリケーションプログラムが予め記憶されている。
ＣＰＵ１１は、演算プロセッサであり、上記プログラムメモリ１２に記憶されている所定のアプリケーションプログラムを実行することにより、後述する各種処理を実現する。ＣＰＵ１１は、例えば、後述する図８、図９のフローチャートの処理を実行する。これに限らず、後述する各実施例における相互認証発信側ノードとしての処理を実行する。データメモリ１３には、例えばこれら各種処理に必要な情報（鍵情報等）が予め記憶されている。
【００３８】
また、ＩＣカードＲ／Ｗ（リーダ／ライタ）１４とアンテナ１５によって、相互認証受信側ノード３０（本例では非接触ＩＣカード）との非接触の（電磁波による）近接通信が行われる。
【００３９】
相互認証受信側ノード３０（本例では非接触ＩＣカード）の構成は、図１（ｂ）に示す
ように、アンテナ３１、ＣＰＵ３２、メモリ３３等から成り、この構成自体は一般的な構成であるので特に説明しない。
【００４０】
メモリ３３には所定のアプリケーションプログラムが予め記憶されており、ＣＰＵ３２がこのアプリケーションプログラムを実行することより、後述する各種処理が実現される。ＣＰＵ３２は、例えば、後述する図１０、図１１のフローチャートの処理を実行する。これに限らず、後述する各実施例における相互認証受信側ノードとしての処理を実行する。
【００４１】
図２に、本例の相互認証の為のノード間通信シーケンスを示す。これは、本例の基本的なシーケンスを示すものであり、これを実施例１とするものとする。尚、図示のノード間通信シーケンス実現の為の各ノードにおける処理フローチャート図は、図示しないが、後に他の実施例に関して処理フローチャート図を示して説明する際に説明するものとする。
【００４２】
図示の通信シーケンスにおいて、最初に行われるノード検索コマンドと各受信側ノードからの応答は、図１８で示した従来の通信シーケンスと略同様である。
すなわち、相互認証発信側ノード１０（ここではカード決済端末）は、ノード検索コマンド（ポーリングコマンド等）を送信する。このノード検索コマンドには、このコマンドに対する応答を返信する際のタイムスロット数を指定するタイムスロット数指定パラメータを付与してある。尚、タイムスロット数は可変指定可能である。すなわち、タイムスロット数は固定的に決まっているものであってもよいが、相互認証発信側ノード１０が任意の数を決めても良い。
【００４３】
上記ノード検索コマンドを受信したノード、すなわちこの発信側ノード１０と通信可能な受信側ノード３０（ここでは非接触ＩＣカード）は、ここでは基本的に複数存在するものとし、それぞれ、上記指定されたタイムスロット数の複数のタイムスロットの中から、自己が応答するタイムスロットを一つ任意に選択して、選択したタイムスロットのタイミングになったら検索応答を返信する。これ自体は上記従来技術と同様であるが、本手法では、選択したタイムスロット（その番号等）を記憶しておき、後の相互認証処理の際に用いる。
【００４４】
図２の例では、発信側ノード１０と通信可能な受信側ノード３０は、２つ存在するものとする（受信側ノードＡ、Ｂとする）。また、ノード検索コマンドで指定タイムスロット数として４が指定されたものとする。これより、各受信側ノードＡ、Ｂは、応答可能なタイミングを４つ選択可能となり（タイムスロット１〜４）、図示の例では受信側ノードＡはタイムスロット２、受信側ノードＢはタイムスロット３を選択しており、各々、選択したタイムスロットのタイミングで検索応答を送信している。このように、二つの受信側ノードＡ，Ｂが異なるタイムスロットを選択して応答しているため、衝突等が起こらないので、発信側ノード１０はこの２つの応答を正常に受信できる。
【００４５】
尚、複数の受信側ノード３０が同じタイムスロットを選択してしまった場合には、応答が通信路上で衝突するために、発信側ノード１０が正常に受信できなくなることが一般的である。上記の例において受信側ノードＡ、Ｂが偶然同じタイムスロットを選択する場合もあり得るが、この場合には発信側ノード１０は１つも検索応答を受信できないことから、再度、ノード検索コマンドを送信し、受信側ノードＡ、Ｂは再度タイムスロットを選択し直すことになる。
【００４６】
図２に示すノード間通信シーケンスが図１８に示す従来例と異なる点は、第一相互認証、第二相互認証に係るシーケンスである。すなわち、上記の通り、各受信側ノード３０は、ノード検索コマンドに関する処理の際に自己が任意に選択したタイムスロット（その番
号等）を記憶している。尚、この「番号」は、上記指定されたタイムスロット数の複数のタイムスロットのうちの何番目であるかを意味するものである。
【００４７】
そして、各受信側ノード３０は、発信側ノード１０からの第一相互認証コマンド、第二相互認証コマンド受信時には、上記記憶してあるタイムスロットのタイミングで、認証応答を送信する。つまり、ノード検索コマンドのときと同じタイミングで認証応答を送信する。これより、発信側ノード１０は、通信可能な受信側ノード３０が複数存在する場合でも、第一相互認証コマンド、第二相互認証コマンドをそれぞれ１回だけ送信すればよく、図１８に示す従来例に比べて通信回数が少なくて済み、相互認証に時間が掛からないようにできる。
【００４８】
上述したことから、図２に示すように、発信側ノード１０は、各受信側ノード３０からの上記検索応答を受信後、まず、第一相互認証コマンドを１回だけ送信する。そして、上記指定タイムスロット数分の時間、このコマンドに対する応答待ち状態となる。尚、第一相互認証コマンド送信時から所定時間経過したら最初のタイムスロットの期間の待ち受けを開始する。これは、受信側ノード３０においてコマンド受信から応答送信までに掛かる処理時間を考慮したものであり、上記ノード検索コマンドや後述する第二相互認証コマンドに関しても同様である。
【００４９】
各受信側ノードＡ、Ｂは、それぞれ、上記第一相互認証コマンドを受信すると、上記記憶してあるタイムスロット番号のタイムスロットのタイミングで、すなわちノード検索コマンドに対する検索応答の際に使用したタイムスロットで（ノード検索の際に自己が選択したタイムスロットで）、当該第一相互認証コマンドに対する応答（認証１応答という）を返信する。
【００５０】
続いて第二相互認証を行う際も、同様に、発信側ノード１０は第二相互認証コマンドを１回だけ送信し、各受信側ノードＡ、Ｂは各々上記第一相互認証コマンドに対する応答と同じ（換言すれば検索応答と同じ）タイムスロットのタイミングで、第二相互認証コマンドに対する応答（認証２応答という）を返信する。
【００５１】
上記のように、各受信側ノードＡ、Ｂは、ノード検索の際に自己が選択したタイムスロットと同じタイムスロットのタイミングで、すなわち検索応答と同じタイムスロットで、認証１応答、認証２応答を返信する。
【００５２】
ここで、図３（ａ）、（ｂ）、図４（ａ）、（ｂ）、図５（ａ）、（ｂ）に、上記各種コマンド、応答のパケット構成図を示す。
まず、図３（ａ）、（ｂ）には、ノード検索コマンドとその応答（検索応答）のパケット構成例を示す。
【００５３】
図３（ａ）に示すノード検索コマンド４０は、コマンド種別を示すコマンドコード４１（検索コマンドのコマンドコード）、検索対象のノードの属性を指定するためのノード属性情報パラメータ４２、応答タイミング指定タイムスロット数４３から構成されている。
【００５４】
コマンドコード４１は、ここではノード検索コマンドであることを示すコードである。ノード属性情報パラメータ４２は、検索したいノード種別を事前に指定することで、初めから応答させるノードを絞り込むために指定するパラメータである。指定タイムスロット数４３については既に述べた通りであり、図２の例では‘４’となっている。
【００５５】
図３（ｂ）に示す検索応答５０は、検索コマンド応答コード５１、ノードＩＤ５２から構成されている。検索コマンド応答コード５１は、ノード検索コマンドに対する応答であ
ることを示すコードである。ノードＩＤ５２は、当該検索応答５０を送信する受信側ノード３０を識別する為の情報であり、例えば受信側ノード３０の固有識別番号（カードＩＤ等）である。尚、本手法による相互認証シーケンスにおいては、タイムスロットの位置でノードを区別可能であるため、ノードＩＤ５２は少なくとも相互認証通信の段階においては必須情報ではない。
【００５６】
次に、図４（ａ）、（ｂ）に、第一相互認証コマンドとその応答（認証１応答）のパケット構成例を示す。
図４（ａ）に示す第一相互認証コマンド６０は、コマンド種別を示すコマンドコード６１、ノードと認証するための認証用条件データ６２、認証用暗号化データＡ６３から構成されている。コマンドコード６１は、ここでは第一相互認証コマンドであることを示すコードである。
【００５７】
認証用条件データ６２は、受信側ノード３０と相互認証する際に受信側ノード３０の如何なる情報に対して認証を取るかを指定するためのパラメータであり、例えばＩＣカードＲ／ＷとＩＣカード間の相互認証を例に挙げると、ＩＣカード内のどのサービスブロックをアクセスするための認証を実施するかを指定するためのデータとなる。
【００５８】
認証用暗号化データＡ６３は、上記図１９で説明した従来技術における“（Ｒａ）ｂ”に相当するデータである。すなわち、発信側ノード１０において任意に生成した乱数Ｒａを相互認証鍵Ｋｂで暗号化した暗号化データである。
【００５９】
上記第一相互認証コマンドに対する受信側ノード３０による応答である認証１応答７０は、図４（ｂ）に示すように、第一相互認証コマンドに対する応答であることを示す応答コード７１、応答する受信側ノード３０の識別番号であるノードＩＤ７２（上記の通り必須情報ではない）、認証用暗号化データＢ７３、認証用暗号化データＣ７４から構成されている。
【００６０】
認証用暗号化データＢ７３、認証用暗号化データＣ７４は、上記図１９で説明した従来技術における“（Ｒａ）a” 、“（Ｒｂ）ａ”に相当するデータである。すなわち、上記認証用暗号化データＡ６３を復号化して得た上記Ｒａを相互認証鍵Ｋａで暗号化した暗号化データ“（Ｒａ）a”と、受信側ノード３０が任意に生成した乱数Ｒｂを相互認証鍵Ｋａで暗号化した暗号化データ“（Ｒｂ）ａ”に相当する暗号化データである。
【００６１】
尚、上記第一相互認証コマンド６０の認証用条件データ６２及び認証用暗号化データＡ６３は、「相互認証する複数の受信側ノード３０全てに対して同じ鍵を使用すること」を想定した場合の構成となっており、各受信側ノード３０に対して異なる鍵を使用して相互認証を行なう場合、さらには各受信側ノード３０毎に異なる情報に対して認証を行う場合には、認証用暗号化データＡ６３、認証用条件データ６２は、認証する受信側ノード３０の数だけコマンド６０に付与される必要がある。
【００６２】
次に、図５（ａ）、（ｂ）に、第二相互認証コマンドとその応答（認証２応答）のパケット構成例を示す。
図５（ａ）に示すように、第二相互認証コマンド８０は、コマンド種別を示すコマンドコード８１、各受信側ノード３０と認証するための各認証用暗号化データＤ−ｍ（ｍ；１，２，３、４）８２〜８５から構成されている。
【００６３】
コマンドコード８１は、ここでは第二相互認証コマンドであることを示すコードである。
各認証用暗号化データＤ−ｍ８２〜８５は、上記図１９で説明した従来技術における“
（Ｒｂ）ｂ”に相当するデータである。すなわち、認証用暗号化データＣ７４（（Ｒｂ）ａ）を復号化して得たＲｂを、相互認証鍵Ｋｂで暗号化した暗号化データ“（Ｒｂ）ｂ”に相当するデータである。但し、上記の通りＲｂは各受信側ノード３０が各々任意に生成する乱数であるので、基本的に各受信側ノード３０からの上記認証１応答７０毎に異なる値となっているので、“（Ｒｂ）ｂ”は各受信側ノード３０毎に対応して生成することになる。
【００６４】
そして、生成した複数の認証用暗号化データＤのうちのどれが自己に対するデータであるのかを受信側ノード３０側で判別できるようにする為に、第二相互認証コマンド８０においては認証用暗号化データＤに関してタイムスロット数分の領域が確保されている。図２の例では指定タイムスロット数＝‘４’であるので、上記の通り、認証用暗号化データＤ−ｍ（ｍ；１，２，３、４）８２〜８５の４つの領域が確保されている。
【００６５】
そして、図２の例では、受信側ノードＡはタイムスロット２、受信側ノードＢはタイムスロット３を使用しているので、認証用暗号化データＤ−２（８３）には受信側ノードＡに対する“（Ｒｂ）ｂ”が、認証用暗号化データＤ−３（８４）には受信側ノードＢに対する“（Ｒｂ）ｂ”が、それぞれ格納されることになる。尚、使用されない（応答がなかった）タイムスロットに対応する領域には、例えば任意のダミーデータが格納される。上記の例では、認証用暗号化データＤ−１（８２）、Ｄ−４（８５）に、それぞれダミーデータが格納される。
【００６６】
また、図５（ｂ）に示すように、認証２応答９０は、第二相互認証コマンドに対する応答であることを示す応答コード９１、応答するノードのノードＩＤ９２、受信側ノード３０による認証結果を示す認証結果データ９３（ＯＫ／ＮＧに相当するデータ等）から構成されている。
【００６７】
次に、以下、実施例２について説明する。
図６は、実施例２の相互認証の為のノード間通信シーケンスを示す図である。
ここでは、発信側ノード１０と通信可能な受信側ノード３０は、図示のように、受信側ノードＡ，Ｂ，Ｃの３つ存在するものとする。そして、ここでは、各受信側ノードＡ，Ｂ，Ｃは、発信側ノード１０からのノード検索コマンドに対して、各々異なるタイムスロット（タイムスロット２、４、３）を選択して応答しているものとする。
【００６８】
図６において、上記実施例１の図２に示す通信シーケンスと略同様のものについては説明は省略するものとする。
実施例２が実施例１と異なる点は、発信側ノード１０が、ノード検索コマンド時に規定した複数の指定タイムスロットのうち、相互認証時に使用するタイムスロットを限定し、検索応答に用いたタイムスロット（選択したタイムスロット）が当該限定されたタイムスロットである受信側ノード３０だけが、相互認証コマンドに対して応答するようにしている点である。例えば、図６に示すように、発信側ノード１０は、第一相互認証コマンドで、限定すべきタイムスロットの番号等を指定し、指定されたタイムスロットをノード検索処理時に選択していた受信側ノード３０のみが、このコマンドに応答する。
【００６９】
尚、上記限定タイムスロットの指定は、例えば、後述する図１２（ａ）における「認証用限定スロット番号指定」１０１に、限定すべきタイムスロットの番号等を格納することで行うものである。
【００７０】
図６に示す例では、発信側ノード１０は、第一相互認証コマンドにおいて指定タイムスロット番号を‘２’と‘４’としている。これより、ノード検索コマンドへの応答の際にタイムスロット‘３’を選択していた受信側ノードＣは、第一相互認証コマンドに対する
応答は行わない。ノード検索コマンドへの応答の際にタイムスロット‘２’、‘４’をそれぞれ選択していた受信側ノードＡ，Ｂのみが、第一相互認証コマンドに対して応答を行うことになる。
【００７１】
これは、第二相互認証コマンドに対しても同様であり、受信側ノードＡ，Ｂのみが第二相互認証コマンドに対して応答を行い、受信側ノードＣは応答を行わない。
認証対象をタイムスロット‘２’と‘４’に限定する理由、逆に言えばタイムスロット‘１’、‘３’を認証対象から排除する要因は、各種想定されるが、例えば一例としては、ノード検索コマンドに対する検索応答があったタイムスロットに限定することが考えられる。例えば、図７に示すように、ノード検索コマンドに対して各受信側ノードＡ，Ｂ，Ｃが検索応答を返信したが、受信側ノードＣの検索応答のみは何等かの理由により発信側ノード１０が正常に受信できなかったとする（応答失敗）。つまり、タイムスロット‘２’と‘４’のみ、検索応答が正常に受信できたとする。この場合、発信側ノード１０は、第一相互認証コマンドにおいて指定タイムスロット番号を‘２’と‘４’とする。
【００７２】
受信側ノードＣの検索応答が失敗する理由は、各種想定されるが、例えば、発信側ノード１０と通信可能な受信側ノード３０として更に不図示の受信側ノードＤが存在するものとし、この受信側ノードＤもノード検索コマンドに対してタイムスロット３を選択して検索応答を返信した場合等が考えられる。この場合、二つの検索応答が衝突するため、発信側ノード１０はタイムスロット３における検索応答を受信することは出来ないことになる。
【００７３】
ここで、特に、受信側ノード３０が非接触ＩＣカードの場合、一般的に半二重通信による通信方式のため、受信側ノードＣ，Ｄは、自己が返信した検索応答が（衝突により）発信側ノード１０（この場合、非接触ＩＣカード・リーダ／ライタ）に到達しなかったことを知ることは出来ない。
【００７４】
この為、実施例１の動作では、受信側ノードＣ，Ｄは、第一相互認証コマンド、第二相互認証コマンドに対しても応答を行うが、どちらもタイムスロット３を使用して応答を行う為、これも同様に衝突することで発信側ノード１０に届かないことになる。つまり、この場合、受信側ノードＣ，Ｄは、不要な通信電文を通信路上に発信することになる。
【００７５】
複数のタイムスロットで時分割されているため、これによって他の受信側ノード３０による通信に影響を与えることはないが、不要な電文の送信は受信側ノード３０の不要なエネルギー消費に繋がると共に、セキュリティ上も攻撃のターゲットとされる可能性があり好ましくない。
【００７６】
このため、上述したように、相互認証処理の際には、ノード検索コマンドに対して応答のあった（発信側ノード１０が検索応答を正常に受信できた）タイムスロットに限定することにより、不要な電文の送信が無くなり、上記の問題を生じないようにできる。
【００７７】
ここで、図７に示す通信シーケンスを例にして、この例における発信側ノード１０、受信側ノード３０の処理フローチャート図を、図８〜図１１に示して説明する。
図８、図９は、発信側ノード１０の処理フローチャート図（その１）、（その２）である。図１０、図１１は、受信側ノード３０の処理フローチャート図（その１）、（その２）である。
【００７８】
まず、図８に示すように発信側ノード１０は、ノード検索コマンドを送信し（ステップＳ１１）、上記指定タイムスロット数分の期間、応答待ち状態とする。各タイムスロット毎に、そのタイムスロットの期間内に応答があったか否かを判定し(ステップＳ１２)、応
答があった場合には（ステップＳ１２、ＹＥＳ）応答受信時のタイムスロットの番号を記憶する（更に、受信した検索応答５０のノードＩＤ５２等を記憶してもよい）（ステップＳ１３）。尚、１つも検索応答５０を受信できなかった場合には、ステップＳ１１に戻り、再びノード検索コマンドを送信する。
【００７９】
上記指定タイムスロット数分の全てのタイムスロットについて上記処理を実行したら（ステップＳ１４，ＮＯ）、上記“（Ｒａ）ｂ”を生成し、上記ステップＳ１３で記録したタイムスロット番号を上記「相互認証時に使用するタイムスロット」の番号と判定して、これらの情報を含む第一相互認証コマンドを生成して送信する（ステップＳ１５）。尚、「相互認証時に使用するタイムスロット」の番号は、相互認証処理対象の受信側ノード３０を指定する為の番号を意味するものとなる。
【００８０】
ここで、実施例２における各種コマンド、応答のパケット構成例を、図１２、図１３に示す。図１２（ａ）、（ｂ）は第一相互認証コマンドとその応答（認証１応答）、図１３（ａ）、（ｂ）は第二相互認証コマンドとその応答（認証２応答）のパケット構成例である。尚、ノード検索コマンドとその応答（検索応答）は実施例１と同じである。
【００８１】
また、尚、図１２、図１３において、実施例１と同様のパケット構成には同一符号を付してあり、その説明は省略する。これより、図示の通り、図１２（ｂ）に示す認証１応答１１０の構成は、図４（ｂ）に示す実施例１の構成と同じであり、同一符号（７１〜７４）を付してあり、説明は省略する。図１３（ｂ）に示す認証２応答１３０も、図５（ｂ）に示すものと同じである。
【００８２】
図１２（ａ）に示す第一相互認証コマンド１００は、図４（ａ）に示す符号６１〜６３のデータに加えて、応答対象を限定するためのタイムスロット番号を指定するパラメータが付加されている。すなわち、認証用限定スロット番号指定１０１が追加されており、これに上記「相互認証時に使用するタイムスロット」の番号が格納される。尚、上記“（Ｒａ）ｂ”は認証用暗号化データＡ６３に格納される。
【００８３】
また、図１３（ａ）に示す第二相互認証コマンド１２０が上記図５（ａ）のコマンド８０と異なる点は、コマンド８０ではタイムスロット数（＝‘４’）分の認証用暗号化データＤ格納領域８２〜８５が確保されており、認証時に使用しないタイムスロットに関してはダミーデータを格納していたのに対して、本例では上記認証用限定スロット番号指定１０１で指定したタイムスロットに関してのみ、その認証用暗号化データＤを格納している。本例では、図７に示すように、「相互認証時に使用するタイムスロット番号」＝‘２’、‘４’となっているので、図１３（ａ）に示す例では、認証用暗号化データＤは、タイムスロット番号＝‘２’、‘４’で応答した受信側ノードＡ，Ｂに対するデータＤ−２（１２１）、Ｄ−４（１２２）のみが格納されることになる。
【００８４】
上記のように本例の第一相互認証コマンド１００には認証用限定スロット番号指定１０１が付加されているので、これによって各受信側ノード３０は自己が相互認証対象ノードであるか否かを認識できるが、それだけでなく、自己が相互認証対象ノードであると認識した受信側ノード３０は、更に、相互認証対象ノードのなかで自己が何番目であるのかを認識できる。これより、第二相互認証コマンド１２０における複数の認証用暗号化データＤのなかで自己用の暗号化データがどれであるのかを認識できる。
【００８５】
例えば、タイムスロット番号‘４’を選択している受信側ノードＢは、上記認証用限定スロット番号指定１０１＝‘２’、‘４’となっていることから、相互認証対象ノードのなかで自己が２番目であると認識できる。これより、図１３（ａ）に示す第二相互認証コマンド１２０の例では、２番目の暗号化データである認証用暗号化データＤ−４（１２２
）が自己用のデータであると認識でき、これを取得して、所定の処理を実行することができる。
【００８６】
上記のように、本例では、図５（ａ）に示す第二相互認証コマンド８０のような、検索コマンド時に指定したタイムスロット分（＝４）の設定領域を持つことにより、未使用の暗号化データＤ格納領域が出来てしまうようなコマンド構成とする必要はなく、図１３（ａ）に示すように簡略化した構成とすることができる。
【００８７】
発信側ノード１０は、第二相互認証コマンド生成の際に、例えば、認証用暗号化データＤの格納領域を上記認証用限定スロット番号指定１０１で指定したタイムスロットの数の分だけ確保し（つまり、相互認証対象ノードの数の分だけ確保し）、これら各相互認証対象ノードに対する暗号化データＤを、第一相互認証コマンド１００に対する応答順に上記格納領域の先頭から順に格納していくことで、上記構成の第二相互認証コマンド１２０を生成できる。これにより、実施例１よりも簡略化されたコマンドパケットにより、各受信側ノード３０に正確に暗号化データＤを伝達することが可能となる。
【００８８】
尚、上記のように、相互認証対象に指定された各受信側ノード３０は、相互認証対象ノードのなかで自己が何番目であるのかを認識できるので、これを利用して、後述する図１４で説明する実施例３のように、相互認証時に使用するタイムスロット数を減少させることも可能となる。詳しくは後に図１４を参照して説明する。
【００８９】
図８のフローチャートの説明に戻る。
発信側ノード１０は、上記ステップＳ１５の処理により上記認証用限定スロット番号指定１０１を含む第一相互認証コマンド１００を送信したら、このコマンド１００に対する応答（認証１応答１１０）の受信待ち状態となる。これは、上記ノード検索コマンドに対する応答待ちと同様、上記指定タイムスロット数分の期間、応答待ち状態とする。
【００９０】
そして、任意の受信側ノード３０からの認証１応答１１０を受信する毎に（ステップＳ１６，ＹＥＳ）、この受信タイミングのタイムスロットが上記認証用限定スロット番号指定１０１で指定したタイムスロットであるか否かを判定し（ステップＳ１７）、指定タイムスロットである場合には（ステップＳ１７，ＹＥＳ）応答内容を記録し（ステップＳ１８）、指定タイムスロットではない場合には（ステップＳ１７，ＮＯ）応答を無視して（ステップＳ１９）、ステップＳ２０へ移行する。
【００９１】
ステップＳ２０では、ノード検索コマンド時に指定したタイムスロット数分の期間経過したか否かを判定し、まだ期間経過していない場合すなわち次のタイムスロットがある場合には（ステップＳ２０，ＹＥＳ）、ステップＳ１６に戻り、認証１応答待ち状態を続行する。
【００９２】
全タイムスロット分の期間（本例ではタイムスロット１〜４までの期間）経過したら（ステップＳ２０，ＮＯ）、ステップＳ１８で記録した各応答内容を解析して所定の処理を行う（ステップＳ２１）。これは受信した認証１応答に含まれる上記認証用暗号化データＢ，Ｃ（７３，７４）、すなわち上記従来技術の“（Ｒａ）ａ”、“（Ｒｂ）ａ”の復号化を行い、復号したＲａが自己が生成していたＲａと一致するか否かを判定し、一致する場合には第一相互認証成功と判定して（ステップＳ２２、ＹＥＳ）ステップＳ２４へ移行し、不一致の場合には第一相互認証失敗と判定して（ステップＳ２２、ＮＯ）異常終了として本処理を終了する（ステップＳ２３）。
【００９３】
尚、Ｒａ一致判定結果が、一部ノードでは成功し、一部ノードでは失敗した場合については、ステップＳ２２の判定をＮＯとするケースと、ステップＳ２２の判定をＹＥＳとし
て成功した受信側ノードのみを対象として第二相互認証を行うケースとが考えられる。
【００９４】
ステップＳ２４では、上記“（Ｒｂ）ａ”を復号化して得たＲｂの再暗号化（“（Ｒｂ）ｂ”の生成）を行う。上記の通り、Ｒｂは、各受信側ノード３０毎に異なるものであり、各相互認証対象の受信側ノード３０毎に対応する“（Ｒｂ）ｂ”を生成し、これらを格納した第二相互認証コマンド１２０を生成して送信する。
【００９５】
そして、このコマンド１２０に対する応答（認証２応答１３０）の受信待ち状態となる。これは、上記ノード検索コマンドや第一相互認証コマンド１００に対する応答待ちと同様、上記指定タイムスロット数分の期間、応答待ち状態とする。
【００９６】
この応答待ち状態中、第二相互認証コマンド１２０に対する応答（認証２応答）を受信する毎に（ステップＳ２５，ＹＥＳ）、上記ステップＳ１７，Ｓ１８，Ｓ１９と同様の処理を行うことで（ステップＳ２６，Ｓ２７，Ｓ２８）、指定タイムスロットにおける応答のみ、その応答内容を記憶する。そして、全タイムスロット分の期間経過したら（ステップＳ２９，ＮＯ）、ステップＳ２７で記録した応答内容を解析して（ステップＳ３０）、第二相互認証成功であれば（ステップＳ３１，ＹＥＳ）カードアクセス処理へ移行し（ステップＳ３２）、失敗であれば（ステップＳ３１，ＮＯ）、異常終了として本処理を終了する（ステップＳ３３）。
【００９７】
ここでも、ステップＳ３１の判定は、上記第一相互認証の場合と同様であり、一部ノードでは成功し、一部ノードでは失敗した場合については、例えばステップＳ３１の判定をＹＥＳとして成功した受信側ノードのみを対象としてカードアクセス（リード／ライト）を行うケースが考えられるが、このケースに限るものではない。
【００９８】
尚、上記の通り、認証２応答の応答内容は、例えば認証結果ＯＫ／ＮＧであり、応答内容がＯＫであれば第二相互認証成功と判定する。この例に限らず、例えば、指定タイムスロットにおいて応答が無かった場合にも、この指定タイムスロットに対応する受信側ノード３０との相互認証は失敗したと判定する。
【００９９】
次に、以下、図１０、図１１を参照して、各受信側ノード３０の処理について説明する。
受信側ノード３０は、発信側ノード１０からの電波を受信可能な位置へ接近することで例えば非接触の電力供給を受けて電源ＯＮすると（ステップＳ４１）、ノード検索コマンド４０の受信待ち状態となり、ノード検索コマンド４０を受信すると（ステップＳ４２，ＹＥＳ）、このコマンド４０の応答タイミング指定タイムスロット数４３により指定タイムスロット数（本例では‘４’）を認識し、当該指定された数のタイムスロットのなかから任意のタイムスロットを選択して記憶する（ステップＳ４３）。
【０１００】
そして、選択したタイムスロットのタイミングで検索応答５０を送信する（ステップＳ４４）。そして、第一相互認証コマンド１００の受信待ち状態となる。但し、上記のように再度、ノード検索コマンド４０が送信されてくる場合もあり得るので、再びノード検索コマンド４０を受信した場合には（ステップＳ４５，ＹＥＳ）ステップＳ４３の処理に戻る。
【０１０１】
第一相互認証コマンド１００を受信したら（ステップＳ４６，ＹＥＳ）、このコマンド１００の認証用限定スロット番号指定１０１を参照して、当該指定タイムスロット番号のなかに自己の選択したタイムスロット番号があるか否かを判定して、ある場合には（ステップＳ４７，ＹＥＳ）ステップＳ４８へ進み、無い場合には（ステップＳ４７，ＮＯ）相互認証処理は行わないものとし（コマンド１００に対する応答は行わない）、ステップＳ
４２のノード検索コマンド受信待ち状態（待機状態）に戻る。
【０１０２】
ステップＳ４８では、第一相互認証コマンド受信時の処理を行う。これは、上記従来技術と同様であり、受信したコマンド１００の認証用暗号化データＡ６３（つまり、従来技術における“（Ｒａ）ｂ”）を復号化してＲａを得て、このＲａを相互認証鍵Ｋａで暗号化した暗号化データ“（Ｒａ）a”を生成すると共に、任意に生成した乱数Ｒｂを相互認証鍵Ｋａで暗号化した暗号化データ“（Ｒｂ）ａ”も生成し、これらを上記認証用暗号化データＢ，Ｃ（７３，７４）として格納した認証１応答１１０を生成する。
【０１０３】
そして、上記ステップＳ４３で記憶してある、ノード検索コマンド時に選択したタイムスロットのタイミングで（つまり、検索応答と同じタイムスロットで）、認証１応答１１０を送信する（ステップＳ４９）。
【０１０４】
その後、第二相互認証コマンド受信待ち状態となり、第二相互認証コマンド１２０を受信したら（ステップＳ５０，ＹＥＳ）、このコマンド１２０に含まれる認証用暗号化データＤ（“（Ｒｂ）ｂ”）を取得する。“（Ｒｂ）ｂ”が複数ある場合には、上記のように認証用限定スロット番号指定１０１における自己のタイムスロット番号の順番に基づいて、自己用の“（Ｒｂ）ｂ”を判定して取得する。そして、取得した“（Ｒｂ）ｂ”を復号化して得たＲｂが、第一相互認証コマンド受信時に生成したＲｂと一致するか否かを判定する（ステップＳ５１、Ｓ５２）。
【０１０５】
両Ｒｂが一致する場合には（ステップＳ５２，ＹＥＳ）、認証１応答と同じタイムスロットで認証２応答（成功応答ＯＫ）を送信して（ステップＳ５３）、カードアクセス処理へ移行する（ステップＳ５４）。一方、両Ｒｂが不一致の場合には（ステップＳ５２，ＮＯ）異常終了とする（ステップＳ５５）。あるいは、失敗応答（ＮＧ）を送信してもよい（この場合も認証１応答と同じタイムスロットで送信する）。
【０１０６】
図６の例に対応するフローチャート図は、特に示さないが、基本的には上記図７に対応するフローチャート図（図８〜図１１）と略同様であり、異なる点は、ステップＳ１５である。すなわち、ステップＳ１５において指定タイムスロット番号を決定する処理が、上述した“検索応答があったタイムスロットを指定タイムスロットとする”処理に限らず、他の処理であってもよい点である。他の処理としては、例えば予め指定タイムスロット番号を決めておくものであってもよいし、他の何等かの方法、例えばノード検索応答で受信したノードＩＤが、通信非対象であるネガＩＤとして登録されていた場合であってもよい。
【０１０７】
また、実施例１に対応するフローチャート図も、特に示さないが、図８〜図１１において指定タイムスロットに係る処理が無くなるものと考えてよい。すなわち、まず、発信側ノード１０に関しては、図８のステップＳ１５の処理において、指定タイムスロットを決定して第１相互認証コマンドに格納する処理は必要ない。また、ステップＳ１７、Ｓ１９の処理は必要なく、応答があった場合には無条件でステップＳ１８により応答内容を記録する。同様に、ステップＳ２６、Ｓ２８の処理も必要ない。一方、受信側ノード３０に関しては、図１０のステップＳ４７の処理が必要なくなる。
【０１０８】
次に、以下、実施例３について説明する。
上記図２や、図６、図７に示す例では、相互認証処理の際にも指定タイムスロット数（＝４）分のタイムスロットを用いた処理を行っているが、相互認証処理時に実際に使用されるタイムスロットは、相互認証対象となった受信側ノード３０が選択したタイムスロットのみであり、この例ではタイムスロット‘２’と‘４’のみとなっている。
【０１０９】
これより、実施例３では、相互認証処理の際に使用するタイムスロットの数を、相互認証対象となった受信側ノード３０の数とする。これにより、排除されたタイムスロットに割り当てられた時間帯の分だけ、相互認証の為の通信に係る時間を短縮することができる。
【０１１０】
実施例３のフローチャート図は、特に示さないが、基本的には上記図８〜図１１のフローチャートと同じであるが一部異なるものであり、異なる点について説明する。
まず、発信側ノード１０について説明する。発信側ノード１０は、まず、上記ステップＳ１６〜Ｓ２０、及びステップＳ２５〜Ｓ２９の処理の際に、タイムスロット数を、受信した検索応答５０の数に設定する。すなわち、図８、図９の処理では、認証１応答、認証２応答のそれぞれの応答待ち期間は、ノード検索コマンド時の指定タイムスロット数（＝４）分の期間としていたが、本例ではこの応答待ち期間を、受信した検索応答５０の数のタイムスロット数分の期間とする。これは、換言すれば、指定タイムスロット数を、受信した検索応答５０の数に変更するものと言える。
【０１１１】
例えば図７に示す例では２つの検索応答５０を受信しているので、応答待ち期間をタイムスロット数‘２’分の期間とする。よって、タイムスロット２について処理を実行した時点で、次のタイムスロット（タイムスロット３）は無いことになるので、ステップＳ２０、Ｓ２９の判定がＮＯとなることになる。
【０１１２】
尚、本例でも、ステップＳ１２〜Ｓ１４の処理の時点では、指定タイムスロット数＝４であるので、タイムスロット４について処理を実行した時点でステップＳ１４の判定がＮＯとなる。
【０１１３】
一方、受信側ノード３０に関しては、図１０、図１１の処理において、ステップＳ４９の処理の代わりに、以下の処理を実行することになる。
ステップＳ４９の処理は、検索応答５０と同じタイムスロットで認証１応答を送信する処理であった。これに対して、本例では、まず、認証１応答の送信に用いるタイムスロットを決定する処理を行う。これは、既に述べたように、コマンド１００の認証用限定スロット番号指定１０１を参照して判断する。
【０１１４】
図７の例では認証用限定スロット番号指定１０１＝‘２’、‘４’となっているので、タイムスロット２が１番目、タイムスロット４が２番目と判定できる。これより、検索応答５０の際にタイムスロット２を選択していた受信側ノードＡは、自己が１番目と認識してタイムスロット１のタイミングで認証１応答を送信する。同様に、検索応答５０の際にタイムスロット４を選択していた受信側ノードＢは、自己が２番目と認識してタイムスロット２のタイミングで認証１応答を送信する。
【０１１５】
各受信側ノード３０は上記認証１応答に使用したタイムスロットの番号を記憶しておく。これより、後にステップＳ５３の処理、すなわち認証１応答と同じタイムスロットで認証２応答を送信する処理によって、認証２応答も認証１応答と同じタイムスロットで返信されることになる。上記の例では、受信側ノードＡはタイムスロット１で、受信側ノードＢはタイムスロット２で、それぞれ認証２応答を送信することになる。
【０１１６】
図１４は、実施例３における相互認証の為のノード間通信シーケンス図である。
図１４に示す例では、発信側ノード１０が、第一相互認証コマンド１００の認証用限定スロット番号指定１０１＝‘２’、‘４’とすることで、相互認証対象ノードを２つに限定したことから、コマンド１００に対する応答受信に使用するタイムスロットは、タイムスロット１，２の２つに減少させている。これは、第二相互認証の際にも同様である。
【０１１７】
これにより、ノード検索の際にタイムスロット２を選択していた受信側ノードＡは、図示のように、タイムスロット１のタイミングで認証１応答、認証２応答を返信する。同様に、ノード検索の際にタイムスロット４を選択していた受信側ノードＢは、図示のように、タイムスロット２のタイミングで認証１応答、認証２応答を返信する。
【０１１８】
上記のように本実施例３では、発信側ノード１０は、認証１応答、認証２応答の受信待ち受けの際のタイムスロット数を減少させることができ（つまり、応答受信待ちの為の期間を短くすることができ）、一括相互認証時による相互認証に要する時間をさらに短縮することが可能となる。
【０１１９】
また、受信側ノード３０からの応答に関しては、認証１応答、認証２応答の返信の際に使用するタイムスロットは、ノード検索コマンドに対する応答で選択したタイムスロットでなくとも、新たに応答順序に従ったタイムスロット番号で応答をすれば、各受信側ノード３０からの応答は衝突することなくコマンド発信元のノード１０に返信されることになる。
【０１２０】
尚、発信側ノード１０の処理に関して、ステップＳ１７，Ｓ１９、Ｓ２６，Ｓ２８の処理は、必須の処理ではない。本例において、第一、第二の相互認証処理の際に使用するタイムスロットは全て、実質的に指定タイムスロットと見做すことができるからである。よって、応答があった場合には無条件でステップＳ１８又はＳ２７の処理により応答内容を記録するようにしてよい。
【０１２１】
次に、以下、実施例４について説明する。
上記実施例３では、例えば指定タイムスロット数を‘４’とし、これによってノード検索コマンドに関しては４つのタイムスロットを使用したが、第一、第二の相互認証時には２つのタイムスロットのみ使用する等、第一、第二の相互認証時に使用するタイムスロット数を減少させるようにした。本実施例４では、この実施例３に基づき、更に、場合によっては、第二の相互認証時に使用するタイムスロット数を、第一の相互認証時に使用したタイムスロット数よりも更に減少させるようにする。これによって、相互認証に要する時間をさらに短縮することが可能となる。
【０１２２】
本実施例４の説明の前に、上記図８、図９の処理について補足説明しておく。すなわち、上記ステップＳ２２の判定がＮＯとなり異常終了するのは、全ての認証１応答に関して認証失敗した場合であり、１つでも認証成功した場合には判定はＹＥＳとなり、ステップＳ２４の処理へ進む。これはステップＳ３１の判定処理に関しても同様である。
【０１２３】
ここでは、仮に、受信側ノードＡからの認証１応答に関しては例えばＲａ不一致等の理由により認証失敗となり、受信側ノードＢからの認証１応答に関して認証成功したものとする。本実施例４では、第二相互認証の対象ノードは、認証１応答に関して認証成功したノードのみに限定する。これより、上記の例では、第二相互認証の対象ノードは受信側ノードＢのみとなる。そして、これに伴って第二相互認証時のタイムスロット数を、第一相互認証時よりも更に減少させる。すなわち、第一相互認証の対象ノードは２つであったのでタイムスロット数を‘２’としたが、第二相互認証の対象ノードは１つであるのでタイムスロット数を‘１’とする。
【０１２４】
ここで、図１５に、上記一例の場合の本実施例４における通信シーケンスを示す。図示のように、第一相互認証に係る処理までは図１４と同じであり特に説明しない。第二相互認証に係る処理が図１４とは異なる。
【０１２５】
すなわち、まず、発信側ノード１０は、第二相互認証コマンドに、第二相互認証の対象
となる受信側ノード３０を示す指定タイムスロット番号を格納して送信する。これは、第二相互認証の対象となる受信側ノード３０が検索応答の際に選択していたタイムスロットの番号を指定するものである。ここでの一例では上記のように、受信側ノードＢのみが第二相互認証の対象となるので、指定タイムスロット番号＝‘４’となる。そして、発信側ノード１０は、図示のように、タイムスロット１のみで認証２応答の受信待ちを行う。
【０１２６】
一方、上記の第二相互認証コマンドを受信した各受信側ノード３０は、受信側ノードＢ以外は応答しないことになる。すなわち、今回は、受信側ノードＣだけでなく受信側ノードＡも応答しない。受信側ノードＢは、指定タイムスロット＝‘４’であり、これは１番目であることから、第一相互認証の際にはタイムスロット２を使用したが、今回はタイムスロット１を使用して認証２応答を返信する。
【０１２７】
図１６に、実施例４における第二相互認証コマンドのパケット構成例を示す。ここでは、上述した仮の例に対応する例を示す。
図示の例の第二相互認証コマンド１４０は、コマンドコード８１、認証用限定スロット番号指定１４１、認証用暗号化データＤ−４（１４２）より成る。コマンドコード８１については上述した通りである。認証用限定スロット番号指定１４１に上記指定タイムスロット番号＝‘４’が格納される。認証用暗号化データ１４２には第二相互認証の対象となる受信側ノード３０用の暗号化データ（“（Ｒｂ）ｂ”）のみが格納されるので、図示の通り、受信側ノードＢ用の認証用暗号化データＤ−４のみが格納される。
【０１２８】
実施例４のフローチャート図は特に示さないが、基本的には上記実施例３と略同様の処理であり、一部が異なる。異なる点のみを説明すると、まず、発信側ノード１０の処理に関しては、ステップＳ２４の処理の際に、“（Ｒｂ）ｂ”を生成・付加するだけでなく、更に、第一相互認証結果に基づいて第二相互認証の対象ノードを判定し、この対象ノードに対応するタイムスロット番号を上記指定タイムスロット番号として、第二相互認証コマンド１４０の認証用限定スロット番号指定１４１に格納する処理を行う。
【０１２９】
更に、ステップＳ２５〜Ｓ２９の処理に係るタイムスロット数を、第二相互認証の対象ノードの数の分だけとする。上記の例では、タイムスロット１のみを使用することになる。
【０１３０】
一方、受信側ノード３０の処理に関しては、ステップＳ５０とＳ５１の間に以下の判定処理が追加される。
すなわち、当該追加処理では、受信した第二相互認証コマンド１４０の認証用限定スロット番号指定１４１を参照して、この指定タイムスロット番号のなかに自己が検索応答の際に選択したタイムスロット番号があるか否かを判定し、無い場合には応答を行うことなく例えばステップＳ４２の処理に戻る。一方、自己が検索応答の際に選択したタイムスロット番号がある場合には、このタイムスロット番号が指定タイムスロット番号のなかで何番目であるかを判定し、これに基づいて認証２応答返信に用いるタイムスロットを決定する。例えば、１番目であれば、タイムスロット１を選択する。そして、ステップＳ５１の処理に進む。
【０１３１】
また、ステップＳ５３の処理の代わりに、「上記追加処理で決定したタイムスロットで認証２応答（成功応答）を送信する」処理を行う。
上述したように、実施例４では、例えば、第一相互認証コマンドに対する受信側ノードＡからの応答を相互認証発信側ノード１０がチェックした結果、認証出来ない対象であることが判明した場合等に、第二相互認証コマンド１４０において、不要な相互認証相手であるノードＡに対する暗号化データＤを付加不要とする。また、当該コマンド１４０に対する受信側ノードＡの応答も不要とする。また、その分のタイムスロットも不要とする。
【０１３２】
これを実現する為に、第二相互認証コマンド１４０に付加されている認証用暗号化データＤが、どの受信側ノード３０に対するものであるかを示すためのパラメータとして、認証用限定スロット番号指定１４１を第二相互認証コマンド１４０に付加している。
【０１３３】
これにより、第二相互認証コマンド１４０に対する応答（認証２応答）も、より早いタイミングによる応答を可能としている。また、発信側ノード１０側で認証２応答を待ち受けるためのタイムスロットの数も減少させることができ、処理時間を更に短縮することが可能となる。
【０１３４】
図１７に、上記「カードアクセス」の際に用いるリードコマンドのパケット構成例を示す。
リードコマンドは、第二相互認証に成功した受信側ノード３０に対するデータ読み出しを行う為のコマンドであって、図１７に示すリードコマンド１５０は、リードコマンドであることを示すコマンドコード１５１、リードする情報を指定するためのリードエリア指定パラメータ１５２と、リード用限定スロット番号指定１５３より成る。尚、受信側ノード３０に対するデータ読出しを行う為のライトコマンドについても、リードコマンドと略同様の構成であってよい。
【０１３５】
すなわち、ライトコマンドのデータ構成は特に図示しないが、上記図１７に示すリードコマンドと略同様にして、ライトコマンドであることを示すコマンドコード、ライトするエリアを指定するためのライトエリア指定パラメータ、リード用限定スロット番号指定等を有し、更に、ライトする任意のデータが格納されている。尚、ライト対象の受信側ノード３０が複数あり且つ各受信側ノード３０毎に異なるデータをライトする場合には、上記図５（ａ）や図１３（ｂ）に示す第二相互認証コマンドと同様にして、所定の順番で複数のライトデータを格納する。各受信側ノード３０では、上記図５（ａ）や図１３（ｂ）に示す第二相互認証コマンド受信時と同様にして、複数のライトデータのどれが自ノード宛のデータであるのかを判別できる。尚、当然、ライト対象の受信側ノード３０が１つであったり、複数であってもその全ての受信側ノード３０に同じデータをライトする場合には、ライトコマンドに格納されるライトデータは１つのみとなる。
【０１３６】
尚、当然、リードコマンド１５０やライトコマンドは、発信側ノード１０が生成して送信する。
リード用限定スロット番号指定１５３には、発信側ノード１０において、リード対象の受信側ノード３０を限定したい場合に、当該リード対象の受信側ノード３０が検索応答の際に選択していたタイムスロット番号を格納するものである。勿論、リード対象の受信側ノード３０は、相互認証成功した受信側ノード３０のみとなり、それ以外の受信側ノード３０は応答しない。例えば、図１５の例では、その後の「カードアクセス」の際には、受信側ノードＢのみが応答することになる。
【０１３７】
尚、リード用限定スロット番号指定１５３は必須の情報ではなく、相互認証時のタイムスロットをそのまま使う場合には指定不要である。データ・リードする対象の受信側ノード３０を更に限定したい場合のみ指定が必要となる。
【０１３８】
尚、当該リードコマンドに対する各受信側ノード３０の応答は、例えば、第二相互認証時の応答を行ったタイムスロットのタイミングで行ってよいが、この例に限らない。リードコマンドに対する応答を、第二相互認証時の応答を行ったタイムスロットのタイミングで行う例の場合には、例えば図６、図７の例では、その後の「カードアクセス」の際に、発信側ノード１０は、例えばリードコマンド１５０を１回送信したら、タイムスロット１〜４で応答受信待ちを行って、複数の受信側端末Ａ，Ｂからの応答を受信することになる
。これより、「カードアクセス」の際にも、処理時間を短縮することが可能となる。尚、この例では、受信側端末Ｃは相互認証成功していないので、応答を行わない。また、この例では、受信側端末Ａ，Ｂは、それぞれ、例えばタイムスロット２、タイムスロット４のタイミングで応答を行うことになる。
【０１３９】
尚、図６、図７に示す例では、「カードアクセス」の処理時間が必ずしも短縮されるとは限らない。認証に成功したタイムスロットが多ければ一括でリードすることで時間短縮効果があるが、認証に成功したタイムスロットが少なければ空きのタイムスロット分が問題となる場合があり得る。但し、図１４、図１５等の例ではこの様な問題は解消される。
【０１４０】
同様に、例えば図１４の例では、発信側ノード１０は、例えばリードコマンド１５０を送信後、タイムスロット１、２で応答受信待ちを行うことになり、「カードアクセス」の処理時間を更に短縮することが可能となる。尚、この場合、リードコマンド１５０に対して、受信側ノードＡはタイムスロット１、受信側ノードＢはタイムスロット２のタイミングで応答を返信することになる。
【０１４１】
更に、例えば、図１５の例では、その後の「カードアクセス」の際に、受信側ノードＢは、リードコマンド１５０に対して、タイムスロット１のタイミングで応答することになる。勿論、その際、発信側ノード１０は、タイムスロット１のみで応答受信待ちを行うことになり、「カードアクセス」の際の処理時間を更に短縮することが可能となる。
【０１４２】
上記動作、効果は、ライトコマンド等に関しても同様である。
以上説明したように、本手法によれば、複数の受信側ノードとの相互認証が必要な場合の相互認証に要する時間を短縮することが可能となる。特に電子マネーが搭載された非接触ＩＣカードとそのリーダライトを備える決済端末に適用した場合に、決済端末が複数のＩＣカードと決済する必要が生じた場合に、その相互認証に要する時間を効率的に短縮することが可能となり、利用者の利便性を向上させることが可能となる。
【０１４３】
更に、本手法では、第一、第二相互認証の際に使用するタイムスロット数を、ノード検索の際に使用したタイムスロット数（所定のタイムスロット数）よりも少なくすることもでき、これによって更に処理時間短縮することが可能になる。更に、第二相互認証の際に使用するタイムスロット数を、第一相互認証の際に使用したタイムスロット数よりも少なくすることもでき、これによって更なる時間短縮を図ることが可能になる。
【０１４４】
更に本手法は、相互認証後のカードアクセス処理（複数ノードからの情報の読み出し、書込み）についても、相互認証時と同様の方式を適用することで、これら情報の読み出し・書込みに関しても、処理時間短縮を図ることが可能になる。
【０１４５】
本手法によって、複数の受信側ノードに対する情報アクセスに要する時間を大幅に短縮することが可能となる。特に非接触ＩＣカード・リーダ／ライタと非接触ＩＣカード間の通信に適用して、近年多く利用されてきた非接触ＩＣカードの電子マネー決済に利用された場合、複数のＩＣカードを利用した一括決済に要する時間を短縮することで、カード利用者の利便性を向上させることが可能となる。
【図面の簡単な説明】
【０１４６】
【図１】（ａ）、（ｂ）は、本例の相互認証発信側ノード、相互認証受信側ノードの構成図である。
【図２】本例の相互認証の為の基本的な（実施例１の）ノード間通信シーケンスである。
【図３】（ａ）、（ｂ）は、ノード検索コマンドとその応答（検索応答）のパケット構成例である。
【図４】（ａ）、（ｂ）は、第一相互認証コマンドとその応答（認証１応答）のパケット構成例である。
【図５】（ａ）、（ｂ）は、第二相互認証コマンドとその応答（認証２応答）のパケット構成例である。
【図６】実施例２における相互認証の為のノード間通信シーケンス図（その１）である。
【図７】実施例２における相互認証の為のノード間通信シーケンス図（その２）である。
【図８】図７の例に応じた発信側ノードの処理フローチャート図（その１）である。
【図９】図７の例に応じた発信側ノードの処理フローチャート図（その２）である。
【図１０】図７の例に応じた受信側ノードの処理フローチャート図（その１）である。
【図１１】図７の例に応じた受信側ノードの処理フローチャート図（その２）である。
【図１２】（ａ）、（ｂ）は、実施例２における第一相互認証コマンドとその応答（認証１応答）のパケット構成例である。
【図１３】（ａ）、（ｂ）は、実施例２における第二相互認証コマンドとその応答（認証２応答）のパケット構成例である。
【図１４】実施例３における相互認証の為のノード間通信シーケンス図である。
【図１５】実施例４における相互認証の為のノード間通信シーケンス図である。
【図１６】実施例４における第二相互認証コマンドのパケット構成例である。
【図１７】「カードアクセス」の際に用いるリードコマンドのパケット構成例である。
【図１８】従来技術による複数のノードに対する相互認証通信シーケンス図である。
【図１９】従来の相互認証処理の具体例を示す図である。
【符号の説明】
【０１４７】
１０  相互認証発信側ノード
１１  ＣＰＵ
１２  プログラムメモリ
１３  データメモリ
１４  ＩＣカードＲ／Ｗ（リーダ／ライタ）
１５  アンテナ
１６  決済金額決定制御部
１７  決済金額決定デバイス
１８  表示機能制御部
１９  表示ランプ
２０  金額表示部
２１  上位機器通信制御部
２２  上位機器接続Ｉ／Ｆ（インタフェース）
３０  相互認証受信側ノード
３１  アンテナ
３２  ＣＰＵ
３３  メモリ
４０  ノード検索コマンド
４１  コマンドコード
４２  ノード属性情報パラメータ
４３  タイムスロット数
５０  検索応答
５１  検索コマンド応答コード
５２  ノードＩＤ
６０  第一相互認証コマンド
６１  コマンドコード
６２  認証用条件データ
６３  認証用暗号化データＡ
７０  認証１応答
７１  応答コード
７２  ノードＩＤ
７３  認証用暗号化データＢ
７４  認証用暗号化データＣ
８０  第二相互認証コマンド
８１  コマンド種別を示すコマンドコード
８２  認証用暗号化データＤ−１
８３  認証用暗号化データＤ−２
８４  認証用暗号化データＤ−３
８５  認証用暗号化データＤ−４
９０  認証２応答
９１  応答コード
９２  ノードＩＤ
９３  認証結果データ
１００  第一相互認証コマンド
１０１  認証用限定スロット番号指定
１１０  認証１応答
１２０  第二相互認証コマンド
１２１  認証用暗号化データＤ−２
１２２  認証用暗号化データＤ−４
１３０  認証２応答
１４０  第二相互認証コマンド
１４１  認証用限定スロット番号指定
１４２  認証用暗号化データ
【図１】
2010009525.tif 000003
【図２】
2010009525.tif 000004
【図３】
2010009525.tif 000005
【図４】
2010009525.tif 000006
【図５】
2010009525.tif 000007
【図６】
2010009525.tif 000008
【図７】
2010009525.tif 000009
【図８】
2010009525.tif 000010
【図９】
2010009525.tif 000011
【図１０】
2010009525.tif 000012
【図１１】
2010009525.tif 000013
【図１２】
2010009525.tif 000014
【図１３】
2010009525.tif 000015
【図１４】
2010009525.tif 000016
【図１５】
2010009525.tif 000017
【図１６】
2010009525.tif 000018
【図１７】
2010009525.tif 000019
【図１８】
2010009525.tif 000020
【図１９】
2010009525.tif 000021