(57)【特許請求の範囲】
【請求項１】
相互に通信を行う通信装置において、
通信装置が認証を行う認証側通信装置である場合、
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロット以前に設けられた期間で、認証される通信装置である被認証側通信装置へ被認証側通信装置を認証するためのチャレンジデータを送信する送信部と、
最初以降のタイムスロットで、被認証側通信装置からチャレンジデータに応答する第１のレスポンスデータを受信する受信部とを備え、
通信装置が認証される被認証側通信装置である場合、
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロット以前に設けられた期間で、認証を行う通信装置である認証側通信装置から被認証側通信装置を認証するためのチャレンジデータを受信する受信部と、
最初以降のタイムスロットで、認証側通信装置へチャレンジデータに応答する第１のレスポンスデータを送信する送信部とを備えること
を特徴とする通信装置。
【請求項２】
通信装置が認証を行う認証側通信装置である場合、
前記送信部は、
チャレンジデータの送信を最初のタイムスロット以前に設けられた期間のみで行い、
前記受信部は、
第１のレスポンスデータの受信を最初以降のタイムスロットのみで行い、
通信装置が認証される被認証側通信装置である場合、
前記受信部は、
チャレンジデータの受信を最初のタイムスロット以前に設けられた期間のみで行い、
前記送信部は、
第１のレスポンスデータの送信を最初以降のタイムスロットのみで行うこと
を特徴とする請求項１に記載の通信装置。
【請求項３】
相互に通信を行う通信装置において、
通信装置が認証を行う認証側通信装置である場合、
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロットで、認証される通信装置である被認証側通信装置へ被認証側通信装置を認証するためのチャレンジデータを送信する送信部と、
最初以降のタイムスロットで、被認証側通信装置からチャレンジデータに応答する第１のレスポンスデータを受信する受信部とを備え、
通信装置が認証される被認証側通信装置である場合、
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロットで、認証を行う通信装置である認証側通信装置から被認証側通信装置を認証するためのチャレンジデータを受信する受信部と、
最初以降のタイムスロットで、認証側通信装置へチャレンジデータに応答する第１のレスポンスデータを送信する送信部とを備えること
を特徴とする通信装置。
【請求項４】
通信装置が認証を行う認証側通信装置である場合、
前記送信部は、
チャレンジデータの送信を最初のタイムスロットのみで行い、
前記受信部は、
第１のレスポンスデータの受信を最初以降のタイムスロットのみで行い、
通信装置が認証される被認証側通信装置である場合、
前記受信部は、
チャレンジデータの受信を最初のタイムスロットのみで行い、
前記送信部は、
第１のレスポンスデータの送信を最初以降のタイムスロットのみで行うこと
を特徴とする請求項３に記載の通信装置。
【請求項５】
通信装置が認証を行う認証側通信装置である場合、
前記送信部が送信したチャレンジデータの少なくとも一部を加工して新たなデータを生成するデータ加工部を備え、
通信装置が認証される被認証側通信装置である場合、
前記受信部が受信したチャレンジデータの少なくとも一部を加工して新たなデータを生成するデータ加工部を備えること
を特徴とする請求項１または請求項３に記載の通信装置。
【請求項６】
前記データ加工部は、
前記データの加工にハッシュ関数と暗号化と復号化との少なくともいずれかを用いること
を特徴とする請求項５に記載の通信装置。
【請求項７】
相互に通信を行う通信装置において、
通信装置が認証を行う認証側通信装置である場合、
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、認証される通信装置である被認証側通信装置を認証するためのチャレンジデータを被認証側通信装置へ送信する送信部と、
送信部がチャレンジデータを送信したタイムスロットと同じタイムスロットで、被認証側通信装置からチャレンジデータに応答する第１のレスポンスデータを受信する受信部とを備え、
通信装置が認証される被認証側通信装置である場合、
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、認証を行う通信装置である認証側通信装置から被認証側通信装置を認証するためのチャレンジデータを受信する受信部と、
受信部がチャレンジデータを受信したタイムスロットと同じタイムスロットで、認証側通信装置へチャレンジデータに応答する第１のレスポンスデータを送信する送信部とを備えること
を特徴とする通信装置。
【請求項８】
通信装置が認証側通信装置である場合、さらに、
前記受信部が第１のレスポンスデータを受信したタイムスロットと同じタイムスロットで、前記送信部が送信したチャレンジデータの少なくとも一部と前記受信部が受信した第１のレスポンスデータの少なくとも一部とを用いて前記被認証側通信装置の認証を行う認証部を備えること
を特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項９】
通信装置が認証側通信装置である場合、さらに、
前記受信部が受信した第１のレスポンスデータの少なくとも一部を用いて通信の異常を検出する検出部と、
前記認証部が行った認証の結果と前記検出部が検出した通信の異常の検出の結果とを報告する報告部と、
前記報告部の報告にもとづいて、現在行っている被認証側通信装置との通信を終了し、次のタイムスロットで他の被認証側通信装置との通信を開始することと、最初のタイムスロットでチャレンジデータを送信することと、最初のタイムスロット以前に設けられた期間でチャレンジデータを送信することと、通信の初期状態へ戻ることのいずれかを行う制御部とを備えること
を特徴とする請求項８に記載の通信装置。
【請求項１０】
通信装置が認証側通信装置である場合、さらに、
前記報告部の報告にもとづいて、現在通信を行っている被認証側通信装置へ通信の終了を指示し、次のタイムスロットで通信を行う被認証側通信装置へ通信の開始を指示し、最初のタイムスロットでチャレンジデータを送信することを指示し、最初のタイムスロット以前に設けられた期間でチャレンジデータを送信することを指示し、通信の初期状態へ戻ることを指示する指示部とを備えること
を特徴とする請求項９に記載の通信装置。
【請求項１１】
通信装置が認証側通信装置である場合、さらに、
前記受信部が第１のレスポンスデータを受信したタイムスロットと同じタイムスロットで、前記被認証側通信装置との通信回線を接続する接続部を備えること
を特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項１２】
通信装置が認証側通信装置である場合、さらに、
前記送信部が送信したチャレンジデータの少なくとも一部と、前記受信部が受信した第１のレスポンスデータの少なくとも一部とを記憶するデータ記憶部と、
前記データ記憶部が記憶するチャレンジデータの少なくとも一部と第１のレスポンスデータの少なくとも一部とのいずれかと、前記受信部が新たに受信した第１のレスポンスデータの少なくとも一部とが一致するか否かを判定するデータ判定部とを備え、
前記データ判定部が一致すると判定した場合、
前記送信部は、第２のレスポンスデータを送信しないことと、前記被認証側通信装置で通信の異常が検出される第２のレスポンスデータを送信することのいずれかを行い、
通信装置が被認証側通信装置である場合、さらに、
前記受信部が受信したチャレンジデータの少なくとも一部と、前記送信部が送信した第１のレスポンスデータの少なくとも一部とを記憶するデータ記憶部と、
前記データ記憶部が記憶するチャレンジデータの少なくとも一部と第１のレスポンスデータの少なくとも一部とのいずれかと、前記受信部が新たに受信したチャレンジデータの少なくとも一部とが一致するか否かを判定するデータ判定部とを備え、
前記データ判定部が一致すると判定した場合、
前記送信部は、新たな第１のレスポンスデータを送信しないことと、前記認証側通信装置で通信の異常が検出される新たな第１のレスポンスデータを送信することのいずれかを行うこと
を特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項１３】
通信装置が認証側通信装置である場合、さらに、
前記送信部が送信したチャレンジデータの少なくとも一部と前記受信部が受信した第１のレスポンスデータの少なくとも一部とを用いて前記被認証側通信装置の認証を行う認証部と、
前記受信部が受信した第１のレスポンスデータの少なくとも一部を用いて通信の異常を検出する検出部と、
前記送信部が送信したチャレンジデータの少なくとも一部と、前記受信部が受信した第１のレスポンスデータの少なくとも一部とを記憶するデータ記憶部と、
前記データ記憶部が記憶するチャレンジデータの少なくとも一部と第１のレスポンスデータの少なくとも一部とのいずれかと、前記受信部が新たに受信した第１のレスポンスデータの少なくとも一部とが一致するか否かを判定するデータ判定部と、
前記認証部が前記被認証側通信装置を正当でない通信装置と判定する回数に関する条件と
前記検出部が通信の異常を検出する回数に関する条件と、前記データ判定部が一致しないと判定する回数に関する条件とを記憶する条件記憶部と、
前記認証部が前記被認証側通信装置を正当でない通信装置と判定した回数と、前記検出部が通信の異常を検出した回数と、前記データ判定部が一致しないと判定した回数との少なくともいずれかが、前記条件記憶部が記憶する条件を満たすか否かを判定する条件判定部と、
前記条件判定部が判定した結果を、通信装置を管理する管理装置へ通知する通知部とを備えること
を特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項１４】
通信装置が認証側通信装置である場合、さらに、
データを暗号化する暗号化部とデータを復号化する復号化部との少なくともいずれかと、
認証側通信装置の乱数を生成する乱数生成部と、
認証側通信装置の識別子を記憶する自機識別子記憶部とを備え、
前記暗号化部は、
前記乱数生成部が生成した認証側通信装置の乱数を暗号化して認証側通信装置の暗号化乱数を生成し、前記自機識別子記憶部が記憶する認証側通信装置の識別子を前記認証側通信装置の暗号化乱数を用いて暗号化して認証側通信装置の暗号化識別子を生成し、
前記復号化部は、
前記乱数生成部が生成した認証側通信装置の乱数を復号化して認証側通信装置の復号化乱数を生成し、前記自機識別子記憶部が記憶する認証側通信装置の識別子を前記認証側通信装置の復号化乱数を用いて復号化して認証側通信装置の復号化識別子を生成し、
前記送信部は、
前記暗号化部が生成した認証側通信装置の暗号化乱数と認証側通信装置の暗号化識別子の組と、前記復号化部が生成した認証側通信装置の復号化乱数と認証側通信装置の復号化識別子の組とのいずれかの組を含むチャレンジデータを送信し、
通信装置が被認証側通信装置である場合、さらに、
データを暗号化する暗号化部とデータを復号化する復号化部との少なくともいずれかと、
被認証側通信装置の識別子を記憶する自機識別子記憶部とを備え、
前記暗号化部は、
前記受信部が受信したチャレンジデータに含まれる認証側通信装置の復号化乱数を暗号化した認証側通信装置の乱数を、さらに暗号化して認証側通信装置の暗号化乱数を生成し、
前記自機識別子記憶部が記憶する被認証側通信装置の識別子を前記認証側通信装置の暗号化乱数を用いて暗号化して被認証側通信装置の暗号化識別子を生成し、
前記復号化部は、
前記受信部が受信したチャレンジデータに含まれる認証側通信装置の暗号化乱数を復号化した認証側通信装置の乱数を、さらに復号化して認証側通信装置の復号化乱数を生成し、
前記自機識別子記憶部が記憶する被認証側通信装置の識別子を前記認証側通信装置の復号化乱数を用いて復号化して被認証側通信装置の復号化識別子を生成し、
前記送信部は、
前記暗号化部が生成した認証側通信装置の暗号化乱数と被認証側通信装置の暗号化識別子との組と、前記復号化部が生成した認証側通信装置の復号化乱数と被認証側通信装置の復号化識別子との組とのいずれかの組を含む第１のレスポンスデータを送信すること
を特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項１５】
前記暗号化部は、
データの暗号化にハッシュ関数を用い、
前記復号化部は、
データの復号化にハッシュ関数を用いること
を特徴とする請求項１４に記載の通信装置。
【請求項１６】
通信装置が認証側通信装置である場合、さらに、
認証の対象とすべき通信装置の識別子と認証の対象とすべきでない通信装置の識別子とを記憶する相手機器識別子記憶部と、
前記相手機器識別子記憶部が記憶する識別子と、前記受信部が新たに受信した第１のレスポンスデータに含まれる被認証側通信装置の識別子とが一致するか否かを判定する相手機器識別子判定部とを備え、
前記相手機器識別子記憶部が記憶する認証の対象とすべき通信装置の識別子と、前記受信部が新たに受信した第１のレスポンスデータに含まれる被認証側通信装置の識別子とが一致すると前記相手機器識別子判定部が判定した場合と、
前記相手機器識別子記憶部が記憶する認証の対象とすべきでない通信装置の識別子と、前記受信部が新たに受信した第１のレスポンスデータに含まれる被認証側通信装置の識別子とが一致しないと相手機器識別子判定部が判定した場合とのいずれかの場合において、
前記送信部は第２のレスポンスデータを被認証側通信装置へ送信し、
通信装置が被認証側通信装置である場合、さらに、
応答の対象とすべき通信装置の識別子と応答の対象とすべきでない通信装置の識別子とを記憶する相手機器識別子記憶部と、
前記相手機器識別子記憶部が記憶する識別子と、前記受信部が新たに受信したチャレンジデータに含まれる認証側通信装置の識別子とが一致するか否かを判定する相手機器識別子判定部とを備え、
前記相手機器識別子記憶部が記憶する応答の対象とすべき通信装置の識別子と、前記受信部が新たに受信したチャレンジデータに含まれる認証側通信装置の識別子とが一致すると前記相手機器識別子判定部が判定した場合と、
前記相手機器識別子記憶部が記憶する応答の対象とすべきでない通信装置の識別子と、前記受信部が新たに受信したチャレンジデータに含まれる認証側通信装置の識別子とが一致しないと相手機器識別子判定部が判定した場合とのいずれかの場合において、
前記送信部は第１のレスポンスデータを認証側通信装置へ送信すること
を特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項１７】
通信装置が被認証側通信装置である場合、さらに、
前記受信部が前記被認証側通信装置から受信したチャレンジデータの少なくとも一部を用いて通信の異常を検出する検出部と、
前記検出部が検出した通信の異常の検出の結果とを報告する報告部と
を備えることを特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項１８】
前記通信装置は、
ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）システムと、
ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と、
ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）システムとのいずれかを構成し、
通信装置を識別するための固有の識別子を記憶すること
を特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項１９】
通信装置が認証側通信装置である場合、さらに、
前記受信部が受信した第１のレスポンスデータに含まれる被認証側通信装置の識別子を最初の元となる識別子とし、元となる識別子を加工して新たな識別子を生成し、生成した新たな識別子を次の元となる識別子とする相手機器識別子加工部とを備え、
通信装置が被認証側通信装置である場合、さらに、
前記受信部が受信したチャレンジデータに含まれる認証側通信装置の識別子を最初の元となる識別子とし、元となる識別子を加工して新たな識別子を生成し、生成した新たな識別子を次の元となる識別子とする相手機器識別子加工部とを備えること
を特徴とする請求項１と請求項３と請求項７とのいずれかに記載の通信装置。
【請求項２０】
前記相手機器識別子加工部は、
前記識別子の加工にハッシュ関数と暗号化と復号化との少なくともいずれかを用いること
を特徴とする請求項１９に記載の通信装置。
【請求項２１】
相互に通信を行う複数の通信装置において、
通信装置が認証を行う認証側通信装置である場合、
認証される通信装置である被認証側通信装置の識別子の少なくとも一部と一致するか否かの問い合わせるための値と共に、前記被認証側通信装置を認証するためのチャレンジデータを被認証側通信装置へ送信する送信部と、
前記被認証側通信装置の識別子の少なくとも一部が前記認証側通信装置から受信した値と一致したとの回答と共に、チャレンジデータに応答するレスポンスデータを前記被認証側通信装置から受信する受信部とを備え、
通信装置が認証される被認証側通信装置である場合、
前記被認証側通信装置の識別子の少なくとも一部と一致するか否かを問い合わせるための値と共に、認証を行う認証側通信装置である認証側通信装置から前記被認証側通信装置を認証するためのチャレンジデータを受信する受信部と、
前記被認証側通信装置の識別子の少なくとも一部が前記認証側通信装置から受信した値と一致したとの回答と共に、チャレンジデータに応答するレスポンスデータを前記認証側通信装置へ送信する送信部とを備えること
を特徴とする通信装置。
【請求項２２】
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、第１の通信装置が、第２の通信装置を認証するためのチャレンジデータを第２の通信装置へ送信するチャレンジデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、チャレンジデータに応答するレスポンスデータを第１の通信装置へ送信するレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２の通信装置へ送信したチャレンジデータの少なくとも一部と第２の通信装置から受信したレスポンスデータの少なくとも一部とを用いて第２の通信装置の認証を行う認証工程と
を実行することを特徴とする通信方法。
【請求項２３】
前記第１のチャレンジデータは、
前記第１の通信装置の乱数を暗号化した第１の暗号化乱数と、前記第１の通信装置の識別子を第１の暗号化乱数を用いて暗号化した第１の暗号化識別子の組と、
前記第１の通信装置の乱数を復号化した第１の復号化乱数と、前記第１の通信装置の識別子を第１の復号化乱数を用いて復号化した第１の復号化識別子の組とのいずれかの組を含み、
前記第１のレスポンスデータは、
前記第１のチャレンジデータに含まれる第１の暗号化乱数を復号化した第１の通信装置の乱数を、さらに復号化した第２の復号化乱数と、
前記第２の通信装置の識別子を前記第２の復号化乱数を用いて復号化した復号化識別子との組と、
前記第１のチャレンジデータに含まれる第１の復号化乱数を暗号化した第１の通信装置の乱数を、さらに暗号化した第２の暗号化乱数と、
前記第２の通信装置の識別子を前記第２の暗号化乱数を用いて暗号化した暗号化識別子との組のいずれかの組を含むこと
を特徴とする請求項２２に記載の通信方法。
【請求項２４】
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、第１の通信装置が、第２の通信装置を認証するための第１のチャレンジデータを第２の通信装置へ送信する第１のチャレンジデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１のチャレンジデータに応答する第１のレスポンスデータを第１の通信装置へ送信する第１のレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２の通信装置へ送信した第１のチャレンジデータの少なくとも一部と第２の通信装置から受信した第１のレスポンスデータの少なくとも一部とを用いて第２の通信装置の認証を行う第１の認証工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１の通信装置を認証するための第２のチャレンジデータを第１の通信装置へ送信する第２のチャレンジデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２のチャレンジデータに応答する第２のレスポンスデータを第２の通信装置へ送信する第２のレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１の通信装置へ送信した第２のチャレンジデータの少なくとも一部と第１の通信装置から受信した第２のレスポンスデータの少なくとも一部とを用いて第１の通信装置の認証を行う第２の認証工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第２のレスポンスデータに応答する第３のレスポンスデータを第１の通信装置へ送信する第３のレスポンスデータ送信工程と
を実行することを特徴とする通信方法。
【請求項２５】
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、第１の通信装置が、第２の通信装置を認証するための第１のチャレンジデータを第２の通信装置へ送信する第１のチャレンジデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１の通信装置を認証するための第２のチャレンジデータと共に、第１のチャレンジデータに応答する第１のレスポンスデータを第１の通信装置へ送信する第１のレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２の通信装置へ送信した第１のチャレンジデータの少なくとも一部と第２の通信装置から受信した第１のレスポンスデータの少なくとも一部とを用いて第２の通信装置の認証を行う第１の認証工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２のチャレンジデータに応答する第２のレスポンスデータを第２の通信装置へ送信する第２のレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１の通信装置へ送信した第２のチャレンジデータの少なくとも一部と第１の通信装置から受信した第２のレスポンスデータの少なくとも一部とを用いて第１の通信装置の認証を行う第２の認証工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第２のレスポンスデータに応答する第３のレスポンスデータを第１の通信装置へ送信する第３のレスポンスデータ送信工程と
を実行することを特徴とする通信方法。
【請求項２６】
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、第１の通信装置が、第２の通信装置を認証するための第１のチャレンジデータを第２の通信装置へ送信する第１のチャレンジデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１のチャレンジデータに応答する第１のレスポンスデータを第１の通信装置へ送信する第１のレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２の通信装置へ送信した第１のチャレンジデータの少なくとも一部と第２の通信装置から受信した第１のレスポンスデータの少なくとも一部とを用いて第２の通信装置の認証を行う第１の認証工程と、
第１の認証工程で第２の通信装置の正当性が確認された場合、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２の通信装置の正当性が確認されたことを第２の通信装置へ報告する報告工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１の通信装置を認証するための第２のチャレンジデータを第１の通信装置へ送信する第２のチャレンジデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２のチャレンジデータに応答する第２のレスポンスデータを第２の通信装置へ送信する第２のレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１の通信装置へ送信した第２のチャレンジデータの少なくとも一部と第１の通信装置から受信した第２のレスポンスデータの少なくとも一部とを用いて第１の通信装置の認証を行う第２の認証工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第２のレスポンスデータに応答する第３のレスポンスデータを第１の通信装置へ送信する第３のレスポンスデータ送信工程と
を実行することを特徴とする通信方法。
【請求項２７】
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、第１の通信装置が、第２の通信装置を認証するための第１のチャレンジデータを第２の通信装置へ送信する第１のチャレンジデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１の通信装置を認証するための第２のチャレンジデータと共に、第１のチャレンジデータに応答する第１のレスポンスデータを第１の通信装置へ送信する第１のレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２の通信装置へ送信した第１のチャレンジデータの少なくとも一部と第２の通信装置から受信した第１のレスポンスデータの少なくとも一部とを用いて第２の通信装置の認証を行う第１の認証工程と、
第１の認証工程で第２の通信装置の正当性が確認された場合、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２の通信装置の正当性が確認されたことを第２の通信装置へ報告する報告工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第１の通信装置が、第２のチャレンジデータに応答する第２のレスポンスデータを第２の通信装置へ送信する第２のレスポンスデータ送信工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第１の通信装置へ送信した第２のチャレンジデータの少なくとも一部と第１の通信装置から受信した第２のレスポンスデータの少なくとも一部とを用いて第１の通信装置の認証を行う第２の認証工程と、
第１の通信装置が第１のチャレンジデータを第２の通信装置へ送信したタイムスロット以降のいずれかのタイムスロットで、第２の通信装置が、第２のレスポンスデータに応答する第３のレスポンスデータを第１の通信装置へ送信する第３のレスポンスデータ送信工程と
を実行することを特徴とする通信方法。
【請求項２８】
前記第１のチャレンジデータは、
前記第１の通信装置の乱数を暗号化した第１の暗号化乱数と、前記第１の通信装置の識別子を第１の暗号化乱数を用いて暗号化した第１の暗号化識別子の組と、
前記第１の通信装置の乱数を復号化した第１の復号化乱数と、前記第１の通信装置の識別子を第１の復号化乱数を用いて復号化した第１の復号化識別子の組とのいずれかの組を含み、
前記第１のレスポンスデータは、
前記第２の通信装置の乱数を復号化した第２の復号化乱数と、
第１のチャレンジデータに含まれる第１の暗号化乱数を復号化した第１の通信装置の乱数を、前記第２の復号化乱数を用いてさらに復号化した第３の復号化乱数との組と、
前記第２の通信装置の乱数を暗号化した第２の暗号化乱数と、
第１のチャレンジデータに含まれる第１の復号化乱数を暗号化した第１の通信装置の乱数を、前記第２の暗号化乱数を用いてさらに暗号化した第３の暗号化乱数との組とのいずれかの組を含み、
前記第２のレスポンスデータは、
前記第１のレスポンスデータに含まれる第２の暗号化乱数を復号化した第２の通信装置の乱数と、
前記第２の通信装置の乱数をさらに復号化した第４の復号化乱数との組と、
前記第１のレスポンスデータに含まれる第２の復号化乱数を暗号化した第２の通信装置の乱数と、
前記第２の通信装置の乱数をさらに暗号化した第４の暗号化乱数との組とのいずれかの組を含み、
前記第３のレスポンスデータは、
前記第２の通信装置の識別子を第１の暗号化乱数を用いて暗号化した第２の暗号化識別子と、
前記第２の通信装置の識別子を第１の復号化乱数を用いて復号化した第２の復号化識別子とのいずれかを含むこと
を特徴とする請求項２４ないし請求項２７のいずれかに記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信データの衝突を回避するためのアンチコリジョン処理を行うと同時にチャレンジアンドレスポンス方式を用いて認証を行う通信装置に関する。
【背景技術】
【０００２】
従来、特にＵＨＦ帯の変調反射技術を用いたＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）システムにおいては、ＨＦ帯の電磁誘導を利用した非接触ＩＣカードより、質問器であるリーダ／ライタ（以下、Ｒ／Ｗと記載する）と応答器であるタグ間の通信可能エリアが広いため、１台のＲ／Ｗが、同時に多数のタグからデータを読み取らなければならないような状況が発生する。これに対応するために、Ｒ／Ｗとタグ間の通信には、インベントリやアンチコリジョンと呼ばれる通信データの衝突を回避のための処理が必須とされ、例えば、特許文献１で説明されているタイムスロットを用いるスロッテッドアロハ方式や、非特許文献１で説明されているバイナリツリー方式といった技術が採用されている。スロッテッドアロハ方式は、有線ＬＡＮや無線ＬＡＮでもマルチアクセスを実現するための技術として同様の方式が採用されている。【０００３】
また、ＲＦＩＤシステムにおいては、タグが記憶している固有のＩＤ情報を遠くからでも読み取ることができることから、通信距離の短い非接触ＩＣカードよりもセキュリティや個人のＩＤカードとして利用された場合のプライバシといった課題への対処を強く求められている。このため、一般に非接触ＩＣカードより遥かに少ないリソース条件の下で、タグが認証や秘匿のための暗号技術を如何にして実現するかが技術開発のポイントとなっている。【０００４】
なお、大きく取り上げられることは無いが、無線ＬＡＮ等においても、規格上、固有のＩＤ情報であるＭＡＣアドレスが生データのまま通信されていることから、前記した課題と同様の課題が存在し、無線ＬＡＮカードを利用する個人の行動がトレースされてしまうようなセキュリティやプライバシ上の問題が発生することも考えられる。
【特許文献１】特許第３１８６９８９号公報（第３図）
【非特許文献１】"Ｄｒａｆｔ  ｐｒｏｔｏｃｏｌ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｆｏｒ  ａ  ９００  ＭＨｚ  Ｃｌａｓｓ  ０  Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｔａｇ"、［ｏｎｌｉｎｅ］、Ａｕｔｏ−ＩＤ  Ｃｅｎｔｅｒ、２００３／０２／２３、［平成１６年８月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｅｐｃｇｌｏｂａｌｉｎｃ．ｏｒｇ／ｓｔａｎｄａｒｄｓ＿ｔｅｃｈｎｏｌｏｇｙ／Ｓｅｃｕｒｅ／ｖ１．０／ＵＨＦ−ｃｌａｓｓ０．ｐｄｆ＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のＲＦＩＤシステムにおいては、前記したセキュリティやプライバシの課題に対処するために、例えば、ＩＤ情報に乱数を用い、それを通信に利用することにより、第三者にタグのＩＤ情報を知られることなく、Ｒ／ＷによるタグのＩＤ情報の取得を実現しようとしている（非特許文献１の４３頁を参照）。【０００６】
しかし、乱数を用いたＩＤ情報（以後、乱数ＩＤ情報とも記載する）は、タグが固有に備える正規のＩＤ情報（以後、固有ＩＤ情報とも記載する）ではないため、複数のタグ間で乱数ＩＤ情報が衝突する可能性がある。また、通信データの衝突を防止するためのアンチコリジョン処理を行った後に、乱数ＩＤ情報を送信することによって個別のタグを特定した上で、タグの固有ＩＤ情報を交換する必要があるため、通信処理としては２度手間となる。さらに、タグの固有ＩＤ情報を交換しているので、この固有ＩＤ情報を秘匿しない限り課題の本質的な解決にはならない。【０００７】
そこで、アンチコリジョン処理を行うのと同時に、Ｒ／Ｗによるタグの認証とタグによるＲ／Ｗの認証を実行し、さらに、送信する固有ＩＤ情報の秘匿を実現することを目的とする。
【課題を解決するための手段】
【０００８】
相互に通信を行う通信装置は、通信装置が認証を行う認証側通信装置である場合、通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロット以前に設けられた期間で、認証される通信装置である被認証側通信装置へ被認証側通信装置を認証するためのチャレンジデータを送信する送信部と、最初以降のタイムスロットで、被認証側通信装置からチャレンジデータに応答する第１のレスポンスデータを受信する受信部とを備え、通信装置が認証される被認証側通信装置である場合、通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロット以前に設けられた期間で、認証を行う通信装置である認証側通信装置から被認証側通信装置を認証するためのチャレンジデータを受信する受信部と、最初以降のタイムスロットで、認証側通信装置へチャレンジデータに応答する第１のレスポンスデータを送信する送信部とを備えることとした。
【発明の効果】
【０００９】
この発明により認証側通信装置と被認証側通信装置は、一度のチャレンジデータの送受信で複数のレスポンスデータを送受信するので、従来チャレンジデータを送受信していた時間にレスポンスデータを送受信することができるようになるため、チャレンジデータの送受信とレスポンスデータの送受信を毎回行っていた方法に比べて、多くのレスポンスデータを送受信することができ、その結果、通信を効率化することができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
実施の形態１では、１台のＲ／Ｗと複数のタグから構成される通信システムにおいて、アンチコリジョン処理として、タイムスロットを用いるスロッテッドアロハ方式を採用した場合に、アンチコリジョン処理と同時に、チャレンジアンドレスポンスを用いたＲ／Ｗによるタグの認証である一方向認証を、同一のタイムスロットで実行する実施の形態について説明する。なお、実施の形態１ではＲ／Ｗは特許請求の範囲に記載の認証側通信装置に相当し、タグは特許請求の範囲に記載の被認証側通信装置に相当する。【００１１】
まず、タイムスロットについて説明する。タイムスロットとは、通信装置が一つの通信回線を時分割で利用することができる区分された時間帯である。タイムスロットは通信装置に対して固定的に割り当てられるものではなく、通信装置は任意のタイムスロット利用して他の通信装置と通信することができる。【００１２】
また、実施の形態１において「暗号化」とは、任意の暗号方式の暗号化アルゴリズムを用いてデータを変換する処理を意味し、「復号化」とは、任意の暗号方式の復号化アルゴリズムを用いてデータを変換する処理を意味する。したがって、実施の形態１での「復号化」には、暗号文を復号化アルゴリズムを用いて平文に戻す変換に加えて、平文を復号化アルゴリズムを用いて復号化データに変換する場合も含まれ、「暗号化」には、平文を暗号化アルゴリズムを用いて暗号文に変換する場合に加えて、平文を復号化した復号化データを暗号化アルゴリズムを用いて元の平文に戻す変換も含まれる。これは、実施の形態２と実施の形態３においても同様である。【００１３】
図１は、実施の形態１における通信システムの構成を示す図である。通信システムは、認証側通信装置であるＲ／Ｗ１００と、被認証側通信装置であるタグ２００ａとタグ２００ｂとタグ２００ｃとタグ２００ｄと、管理装置３００とから構成される。Ｒ／Ｗ１００とタグ２００ａ、Ｒ／Ｗ１００とタグ２００ｂ、Ｒ／Ｗ１００とタグ２００ｃ、Ｒ／Ｗ１００とタグ２００ｄは、それぞれ無線回線で接続されている。また、Ｒ／Ｗ１００は管理装置３００と接続されている。なお、タグ２００ａとタグ２００ｂとタグ２００ｃとタグ２００ｄとをまとめてタグ２００と記載することもある。なお、図１においては、４つのタグを記載したが、さらに多くのタグが接続されても構わない。【００１４】
Ｒ／Ｗ１００は、タイムスロットでタグ２００と通信を行い、タグ２００が備える識別子を取得する。その際、Ｒ／Ｗ１００は、タグ２００の認証を行い、その正当性を確認する。また、Ｒ／Ｗ１００は、取得した識別子を、そのタグ２００との以降の通信で利用する。【００１５】
タグ２００は、タイムスロットでＲ／Ｗ１００と通信を行い、Ｒ／Ｗ１００へタグ２００の識別子を送信する。【００１６】
管理装置３００は、Ｒ／Ｗ１００およびタグ２００を管理する。なお、図１では、管理装置３００とＲ／Ｗ１００とを別な装置として構成したが、管理装置３００とＲ／Ｗ１００とを同一の装置に構成してもかまわない。また、管理装置３００の機能をＲ／Ｗ１００に構成される通信プロトコルの上位プロトコルとして構成してもかまわない。これは、実施の形態２と実施の形態３においても同様である。【００１７】
図２は、実施の形態１におけるＲ／Ｗ１００の構成を示す図である。
Ｒ／Ｗ１００は、タグ２００へデータを送信する送信部１０１と、タグ２００からデータを受信する受信部１０２と、タグ２００の認証を行う認証部１０３と、タグ２００との通信回線の接続を行う接続部１０４と、通信の異常を検出する検出部１０５と、認証部１０３が行った認証の結果と検出部１０５が検出した通信の異常とを報告する報告部１０６と、報告部１０６の報告にもとづいて通信を行うタイムスロットの更新を制御する制御部１０７と、報告部１０６の報告にもとづいてタグ２００へタイムスロットの更新を指示する指示部１０８と、乱数を生成する乱数生成部１０９と、Ｒ／Ｗ１００の識別子を記憶する自機識別子記憶部１１０と、データを暗号化する暗号化部１１１と、タグ２００の識別子を記憶する相手機器識別子記憶部１１３と、タグ２００から受信したレスポンスデータに含まれるタグ２００の識別子が、相手機器識別子記憶部１１３が記憶するタグ２００の識別子と一致するか否かを判定する相手機器識別子判定部１１４と、タグ２００から受信したタグ２００の識別子を加工する相手機器識別子加工部１１５と、送信部１０１がタグ２００へ送信するチャレンジデータを生成するデータ生成部１１６とから構成される。【００１８】
送信部１０１は、タグ２００を認証するためのチャレンジデータをタグ２００へ送信し、受信部１０２は、タグ２００からチャレンジデータに応答するレスポンスデータを受信する。なお、送信部１０１がチャレンジデータをタグ２００へ送信したタイムスロットと受信部１０２がレスポンスデータをタグ２００から受信したタイムスロットは、同じタイムスロットである。【００１９】
認証部１０３は、送信部１０１がタグ２００へ送信したチャレンジデータの少なくとも一部と受信部１０２がタグ２００から受信したレスポンスデータとを用いてタグ２００の認証を行う。なお、認証部１０３がタグ２００の認証を行うのは、受信部１０２がレスポンスデータをタグ２００から受信したタイムスロットと同じタイムスロットである。【００２０】
接続部１０４は、タグ２００との通信回線を接続する。なお、接続部１０４がタグ２００との通信回線の接続を確立するのは、受信部１０２がレスポンスデータをタグ２００から受信したタイムスロットと同じタイムスロットである。【００２１】
検出部１０５は、受信部１０２がタグ２００から受信したレスポンスデータの少なくとも一部を用いて通信の異常、具体的には、通信に発生したデータの衝突やエラーなどを検出する。【００２２】
報告部１０６は、認証部１０３が行ったタグ２００の認証の結果と検出部１０５が検出した通信の異常とを、後記する制御部１０７と指示部１０８とに報告する。【００２３】
制御部１０７は、報告部１０６の報告にもとづいて、例えば、現在行っているタグ２００ａとの通信を終了して、タイムスロットを次のタイムスロットへ更新し、タグ２００ｂとの通信を開始する。【００２４】
指示部１０８は、報告部１０６の報告にもとづいて、例えば、現在通信を行っているタグ２００ａへ通信の終了を指示し、次のタイムスロットで通信を行うタグ２００ｂへ通信の開始を指示する。【００２５】
乱数生成部１０９は、タグ２００の認証を行うチャレンジアンドレスポンスで用いるＲ／Ｗ１００の乱数を生成する。自機識別子記憶部１１０は、予め割り当てられるＲ／Ｗ１００の識別子を記憶する。【００２６】
暗号化部１１１は、タグ２００へ送信するデータを暗号化する。具体的には、チャレンジアンドレスポンスを行うに際して、乱数生成部１０９が生成したＲ／Ｗ１００の乱数を暗号化してＲ／Ｗ１００の暗号化乱数を生成し、自機識別子記憶部１１０が記憶するＲ／Ｗ１００の識別子を、例えば、ブロック暗号の利用モードであるＣＢＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ）モードで、先に生成したＲ／Ｗ１００の暗号化乱数を用いて暗号化してＲ／Ｗ１００の暗号化識別子を生成する。【００２７】
前記した送信部１０１は、暗号化部１１１が生成したＲ／Ｗ１００の暗号化乱数とＲ／Ｗ１００の暗号化識別子を含むチャレンジデータを送信する。【００２８】
暗号化部１１１は、Ｒ／Ｗ１００の乱数と識別子の暗号化にハッシュ関数を用いることができる。【００２９】
相手機器識別子記憶部１１３は、認証の対象とすべきタグ２００の識別子と認証の対象とすべきでないタグ２００の識別子とを記憶する。【００３０】
相手機器識別子判定部１１４は、相手機器識別子記憶部１１３が記憶する認証の対象とすべきタグ２００の識別子と、受信部１０２がタグ２００から新たに受信したレスポンスデータに含まれるタグ２００の識別子とが一致するか否かを判定し、相手機器識別子記憶部１１３が記憶する認証の対象とすべきでないタグ２００の識別子と、受信部１０２がタグ２００から新たに受信したレスポンスデータに含まれるタグ２００の識別子とが一致するか否かを判定する。【００３１】
相手機器識別子判定部１１４は、相手機器識別子記憶部１１３が記憶する認証の対象とすべきタグ２００の識別子と、受信部１０２が新たに受信した第１のレスポンスデータに含まれるタグ２００の識別子とが一致すると判定した場合と、相手機器識別子記憶部１１３が記憶する認証の対象とすべきでないタグ２００の識別子と、受信部１０２が新たに受信した第１のレスポンスデータに含まれるタグ２００の識別子とが一致しないと判定した場合とのいずれかの場合において、送信部１０１は第２のレスポンスデータを被認証側通信装置へ送信する。【００３２】
相手機器識別子加工部１１５は、受信部１０２が受信したタグ２００の識別子を最初の元となる識別子とし、元となる識別子を加工して新たな識別子を生成し、生成した新たな識別子を次の元となる識別子とする。認証が成立した後は、この加工した識別子を用いてタグ２００との通信を行う。【００３３】
相手機器識別子加工部１１５は、識別子の加工にハッシュ関数と暗号化と復号化との少なくともいずれかを用いることができる。【００３４】
データ生成部１１６は、Ｒ／Ｗ１００の暗号化乱数と暗号化識別子とを含むチャレンジデータを生成する。【００３５】
図３は、実施の形態１におけるタグ２００の構成を示す図である。
タグ２００は、Ｒ／Ｗ１００へデータを送信する送信部２０１と、Ｒ／Ｗ１００からデータを受信する受信部２０２と、通信の異常を検出する検出部２０５と、検出部２０５が検出した通信の異常をＲ／Ｗ１００へ報告する報告部２０６と、タグ２００の識別子を記憶する自機識別子記憶部２１０と、データを復号化する復号化部２１２と、Ｒ／Ｗ１００の識別子を記憶する相手機器識別子記憶部２１３と、Ｒ／Ｗ１００から受信したチャレンジデータに含まれるＲ／Ｗ１００の識別子が、相手機器識別子記憶部１１３が記憶するＲ／Ｗ１００の識別子と一致するか否かを判定する相手機器識別子判定部２１４と、Ｒ／Ｗ１００から受信したＲ／Ｗ１００の識別子を加工する相手機器識別子加工部２１５と、送信部２０１がＲ／Ｗ１００へ送信するレスポンスデータを生成するデータ生成部２１６と、送信部２０１がＲ／Ｗ１００へ送信したレスポンスデータと、受信部２０２がＲ／Ｗ１００から受信したチャレンジデータとを記憶するデータ記憶部２１７と、データ記憶部２１７が記憶するチャレンジデータまたはレスポンスデータと、新たに受信部が受信したチャレンジデータとが一致するか否かを判定するデータ判定部２１８とから構成される。【００３６】
受信部２０２は、タグ２００を認証するためのチャレンジデータをＲ／Ｗ１００から受信し、送信部２０１は、Ｒ／Ｗ１００へチャレンジデータに応答するレスポンスデータを送信する。なお、受信部２０２がチャレンジデータをＲ／Ｗ１００から受信したタイムスロットと送信部２０１がレスポンスデータをＲ／Ｗ１００へ送信したタイムスロットは、同じタイムスロットである。【００３７】
検出部２０５は、受信部２０２がＲ／Ｗ１００から受信したチャレンジデータの少なくとも一部を用いて通信の異常、具体的には、通信で発生したデータの衝突やエラーなどを検出する。【００３８】
報告部２０６は、検出部１０５が検出した通信の異常をＲ／Ｗ１００に報告する。【００３９】
自機識別子記憶部２１０は、予め割り当てられるタグ２００の識別子を記憶する。【００４０】
復号化部２１２は、Ｒ／Ｗ１００へ送信するデータを復号化する。具体的には、チャレンジアンドレスポンスを行うに際して、受信部２０２が受信したチャレンジデータに含まれるＲ／Ｗ１００の暗号化乱数を復号化したＲ／Ｗ１００の乱数を生成し、さらに復号化してＲ／Ｗ１００の復号化乱数を生成し、自機識別子記憶部２１０が記憶するタグ２００の識別子を、例えば、ブロック暗号の利用モードであるＣＢＣモードで、先に生成したＲ／Ｗ１００の復号化乱数を用いて復号化してタグ２００の復号化識別子を生成する。【００４１】
送信部２０１は、復号化部２１２が生成したＲ／Ｗ１００の復号化乱数とタグ２００の復号化識別子とを含むレスポンスデータを送信する。【００４２】
復号化部２１２は、Ｒ／Ｗ１００の暗号化乱数とタグ２００の識別子の復号化にハッシュ関数を用いることができる。【００４３】
相手機器識別子記憶部２１３は、応答の対象とすべきＲ／Ｗ１００の識別子と応答の対象とすべきでないＲ／Ｗ１００の識別子とを記憶する。【００４４】
相手機器識別子判定部２１４は、相手機器識別子記憶部２１３が記憶する応答の対象とすべきＲ／Ｗ１００の識別子と、受信部２０２がＲ／Ｗ１００から新たに受信したチャレンジデータに含まれるＲ／Ｗ１００の識別子とが一致するか否かを判定し、相手機器識別子記憶部２１３が記憶する応答の対象とすべきでないＲ／Ｗ１００の識別子と、受信部２０２がＲ／Ｗ１００から新たに受信したチャレンジデータに含まれるＲ／Ｗ１００の識別子とが一致するか否かを判定する。【００４５】
相手機器識別子判定部２１４は、相手機器識別子記憶部２１３が記憶する応答の対象とすべきＲ／Ｗ１００の識別子と、受信部２０２が新たに受信したチャレンジデータに含まれるＲ／Ｗ１００の識別子とが一致すると判定した場合と、相手機器識別子記憶部２１３が記憶する応答の対象とすべきでないＲ／Ｗ１００の識別子と、受信部２０２が新たに受信したチャレンジデータに含まれるＲ／Ｗ１００の識別子とが一致しないと判定した場合とのいずれかの場合において、送信部２０１は第１のレスポンスデータをＲ／Ｗ１００へ送信する。【００４６】
相手機器識別子加工部２１５は、受信部２０２が受信したＲ／Ｗ１００の識別子を最初の元となる識別子とし、元となる識別子を加工して新たな識別子を生成し、生成した新たな識別子を次の元となる識別子とする。認証が成立した後は、この加工した識別子を用いてＲ／Ｗ１００との通信を行う。【００４７】
相手機器識別子加工部２１５は、識別子の加工にハッシュ関数と暗号化と復号化との少なくともいずれかを用いることができる。【００４８】
データ生成部２１６は、Ｒ／Ｗ１００の復号化乱数とタグ２００の復号化識別子とを含むレスポンスデータを生成する。【００４９】
データ記憶部２１７は、送信部２０１がＲ／Ｗ１００へ送信したレスポンスデータまたは少なくともその一部、例えば、タグ２００の乱数や識別子と、受信部２０２がＲ／Ｗ１００から受信したチャレンジデータまたは少なくともその一部、例えば、Ｒ／Ｗ１００の乱数や識別子とを記憶する。【００５０】
データ判定部２１８は、データ記憶部２１７が記憶するチャレンジデータまたは少なくともその一部とレスポンスデータまたは少なくともその一部とのいずれかと、受信部２０２がＲ／Ｗ１００から新たに受信したチャレンジデータまたは少なくともその一部とが一致するか否かを判定する。【００５１】
データ判定部２１８が一致すると判定した場合、送信部２０１は、Ｒ／Ｗ１００へ新たなレスポンスデータを送信しないことと、Ｒ／Ｗ１００で通信の異常が検出される新たなレスポンスデータを送信することのいずれかを行う。【００５２】
図４は、実施の形態１におけるＲ／Ｗ１００がタグ２００を認証するためのチャレンジデータとレスポンスデータを送受信するタイムスロットの例を示す図である。
図４の縦軸は時間の経過を示しており、横軸は時間の経過と共に通信を行うタイムスロットを示している。縦軸に示す時間の経過と共に、横軸に示したタイムスロットのうちの１つのタイムスロットを用いて順次通信を行う。図４では、時間の経過と共に、通信がタイムスロット＃０、タイムスロット＃１、タイムスロット＃２の順で行われ、それぞれのタイムスロットで、Ｒ／Ｗ１００とタグ２００との間で、チャレンジデータの送受信とレスポンスデータの送受信が行われている。このようにタイムスロットを用いてＲ／Ｗ１００と特定のタグ２００とが通信を行うことにより、通信データの衝突を防止するアンチコリジョンを実現することができる。【００５３】
図５は、実施の形態１におけるチャレンジデータの構成を示す図である。
チャレンジデータは、Ｒ／Ｗ１００が生成した乱数を暗号化した暗号化乱数を格納するフィールド３０と、Ｒ／Ｗ１００の識別子を、ＣＢＣモードで先に生成した暗号化乱数を用いて暗号化した暗号化識別子を格納するフィールド３１とから構成される。【００５４】
図６は、実施の形態１におけるレスポンスデータの構成を示す図である。
レスポンスデータは、チャレンジデータに含まれるＲ／Ｗ１００の暗号化乱数を復号して生成したＲ／Ｗ１００の乱数を、さらに復号化した復号化乱数を格納するフィールド４０と、タグ２００の識別子を、ＣＢＣモードで、先に生成したＲ／Ｗ１００の復号化乱数を用いて復号化して生成した復号化識別子を格納するフィールド４１とから構成される。なお、フィールド４２には何も格納しない。【００５５】
次に、実施の形態１におけるＲ／Ｗ１００によるタグ２００の認証（一方向認証）が、図４に示すようなアンチコリジョンのためのタイムスロットの中で行われる動作を図７に示すフローチャートを用いて説明する。【００５６】
通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、Ｒ／Ｗ１００がタグ２００を認証するためのチャレンジデータをタグ２００へ送信するチャレンジデータ送信工程と、Ｒ／Ｗ１００がチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００がチャレンジデータに応答するレスポンスデータをＲ／Ｗ１００へ送信するレスポンスデータ送信工程と、Ｒ／Ｗ１００がチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、タグ２００へ送信したチャレンジデータの少なくとも一部とタグ２００から受信したレスポンスデータの少なくとも一部とを用いてタグ２００の認証を行う認証工程とを実行する。【００５７】
ここで、第１のチャレンジデータは、Ｒ／Ｗ１００の乱数を暗号化した第１の暗号化乱数と、Ｒ／Ｗ１００の識別子を第１の暗号化乱数を用いて暗号化した第１の暗号化識別子の組と、Ｒ／Ｗ１００の乱数を復号化した第１の復号化乱数と、Ｒ／Ｗ１００の識別子を第１の復号化乱数を用いて復号化した第１の復号化識別子の組とのいずれかの組を含み、第１のレスポンスデータは、第１のチャレンジデータに含まれる第１の暗号化乱数を復号化したＲ／Ｗ１００の乱数を、さらに復号化した第２の復号化乱数と、タグ２００の識別子を第２の復号化乱数を用いて復号化した復号化識別子との組と、第１のチャレンジデータに含まれる第１の復号化乱数を暗号化したＲ／Ｗ１００の乱数を、さらに暗号化した第２の暗号化乱数と、タグ２００の識別子を第２の暗号化乱数を用いて暗号化した暗号化識別子との組のいずれかの組を含む。【００５８】
動作を具体的に説明する。
まず、Ｒ／Ｗ１００では、乱数生成部１０９が乱数Ｒ１を生成し、暗号化部１１１が、例えば、初期値Ｘ１、共通鍵Ｋ１とする共通鍵暗号アルゴリズムＡ１を用いて、乱数生成部１０９が生成した乱数Ｒ１を暗号化して暗号化乱数Ｃ１０を生成する。引き続き、暗号化部１１１は、自機識別子記憶部１１０からＲ／Ｗ１００の識別子を読み出して、例えば、共通鍵暗号アルゴリズムＡ１の利用モードであるＣＢＣモードで、先に生成した暗号化乱数Ｃ１０を用いて暗号化し、暗号化識別子Ｃ１１を生成する（ステップＳ５０）。【００５９】
次に、データ生成部１１６は、暗号化乱数Ｃ１０をチャレンジデータのフィールド３０へ格納し、暗号化識別子Ｃ１１をチャレンジデータのフィールド３１へ格納し、チャレンジデータを生成する。そして、送信部１０１は、データ生成部１１６が生成したチャレンジデータをタイムスロット２０でタグ２００へ送信する（ステップＳ５１）。ステップＳ５０とステップＳ５１とが、実施の形態１におけるチャレンジデータ送信工程である。【００６０】
タグ２００は、タイムスロット毎にＲ／Ｗ１００へ応答してよいタイムスロットであるか否かを判断する（ステップＳ６０）。タイムスロット２０をタグ２００が応答してよいタイムスロットであると判断した場合（ステップＳ６０のＹｅｓの場合）、タグ２００の受信部２０２は、Ｒ／Ｗ１００からタイムスロット２０でチャレンジデータを受信する（ステップＳ６１）。タグ２００が応答してよいタイムスロットではないと判断した場合（ステップＳ６０のＮｏの場合）、チャレンジデータを受信しない。【００６１】
次に、タグ２００のデータ判定部２１８は、データ記憶部２１７から記憶している過去のチャレンジデータまたはその一部である暗号化乱数や暗号化識別子の履歴情報を読み出し、受信部２０２が受信したチャレンジデータまたはその一部である暗号化乱数や暗号化識別子と一致するか否かを判断する（ステップＳ６２）。その結果、一致しないと判断した場合（ステップＳ６２のＹｅｓの場合）、復号化部２１２は、チャレンジデータに含まれる暗号化乱数を復号化して乱数Ｒ１を生成し、さらに、復号化することにより復号化乱数Ｄ１０を生成する（ステップＳ６３）。ステップＳ６２で一致すると判断した場合（ステップＳ６２のＮｏの場合）、レスポンスデータを送信しない。これにより、過去に利用された古いチャレンジデータを、再度、送信するリプレー攻撃によるなりすましを防止することができる。【００６２】
次に、相手機器識別子判定部２１４は、相手機器識別子記憶部２１３から応答の対象とすべきＲ／Ｗ１００の識別子と、応答の対象とすべきでないＲ／Ｗ１００の識別子とを読み出し、復号により得られたＲ／Ｗ１００の識別子と一致するか否かを判定する（ステップＳ６４）。その結果、復号により得られたＲ／Ｗ１００の識別子と応答の対象とすべきＲ／Ｗ１００の識別子とが一致すると判定した場合と、復号により得られたＲ／Ｗ１００の識別子と応答の対象とすべきでないＲ／Ｗ１００の識別子とが一致しないと判定した場合のいずれかの場合に（いずれもステップＳ６４のＹｅｓの場合）、復号化部２１２は、自機識別子記憶部２１０から、タグ２００の識別子を読み出して共通鍵暗号アルゴリズムＡ１の利用モードであるＣＢＣモードで、先に生成した復号化乱数Ｄ１０を用いて復号化し、復号化識別子Ｄ１１を得る（ステップＳ６５）。ステップＳ６４でＮｏの場合には、レスポンスデータを送信しない。【００６３】
次に、データ生成部２１６は、復号化乱数Ｄ１０をレスポンスデータのフィールド４０へ格納し、復号化識別子Ｄ１１をレスポンスデータのフィールド４１へ格納して、レスポンスデータを生成する。そして、送信部２０１は、データ生成部２１６が生成したレスポンスデータをチャレンジデータを受信したタイムスロットと同じタイムスロット２０でＲ／Ｗ１００へ送信する（ステップＳ６６）。ステップＳ６０からステップＳ６６までが、実施の形態１におけるレスポンスデータ送信工程である。【００６４】
Ｒ／Ｗ１００の受信部１０２は、タイムスロット２０でタグ２００からレスポンスデータを受信する（ステップＳ５２）。暗号化部１１１は、レスポンスデータのフィールド４０から復号化乱数Ｄ１０を取り出し暗号化して乱数Ｒ１を生成し、フィールド４１から復号化識別子Ｄ１１を取り出して、共通鍵暗号アルゴリズムＡ１の利用モードであるＣＢＣモードで、先に生成した乱数Ｒ１を用いて復号化識別子Ｄ１１を暗号化し、タグ２００の識別子を生成する（ステップＳ５３）。【００６５】
次に、認証部１０３は、ステップＳ５３で生成した乱数Ｒ１と、先にステップＳ５０で乱数生成部１０９が生成した乱数Ｒ１とが一致するか否かを判定する（ステップＳ５４）。その結果、一致すると判定した場合（ステップＳ５４のＹｅｓの場合）、相手機器識別子判定部２１４は、相手機器識別子記憶部２１３から認証の対象とすべきタグ２００の識別子と、認証の対象とすべきでないタグ２００の識別子とを読み出す。そして、ステップＳ５３で生成したタグ２００の識別子が、認証の対象とすべきタグ２００の識別子と一致するか否かを判定し、認証の対象とすべきでないタグ２００の識別子と一致する否かを判定する（ステップＳ５５）。その結果、Ｓ５３で生成したタグ２００の識別子が、認証の対象とすべきタグ２００の識別子と一致すると判定した場合と、認証の対象とすべきでないタグ２００の識別子と一致しないと判定した場合に（いずれもステップＳ５５のＹｅｓの場合）、タグ２００を正当なタグ２００であると判断し、認証の成立を確認する。ステップＳ５２からステップＳ５５までが、実施の形態１における認証工程である。【００６６】
ステップＳ５４で一致しないと判定した場合（ステップＳ５４のＮｏの場合）、タグ２００を正当なタグ２００ではないと判定し、ステップＳ５５で一致しないと判定した場合（ステップＳ５５のＮｏの場合）、タグ２００を正当なタグ２００ではないと判定し、いずれも認証は不成立となる。【００６７】
ステップＳ５５で認証部１０３が、タグ２００を正当なタグであると判定し、認証が成立した場合、接続部１０４は、タグ２００との通信回線の接続を確立する処理を行う。【００６８】
以上、Ｒ／Ｗ１００によるタグ２００の認証の処理が、同じタイムスロット２０の中で行われる動作を説明した。引き続き同様の処理を行うことにより、Ｒ／Ｗ１００による同じタイムスロット２１やタイムスロット２２での他のタグ２００の認証を実行することができる。【００６９】
なお、ステップＳ５２において、Ｒ／Ｗ１００の受信部１０２がタイムスロット２０でタグ２００から受信したレスポンスデータに、検出部１０５がエラーや複数のタグ２００から同時にレスポンスデータを受信する通信データの衝突を検出した場合には、Ｒ／Ｗ１００は、現在、タイムスロット２０で行っている通信を終了し、次のタイムスロットで他のタグ２００との通信を開始する。【００７０】
なお、ステップＳ６１において、タグ２００の受信部２０２がタイムスロット２０でＲ／Ｗ１００から受信したチャレンジデータに、検出部２０５がエラーや複数のタグ２００から同時にチャレンジデータを受信する通信データの衝突を検出した場合には、タグ２００は、現在、タイムスロット２０で行っている通信を終了する。【００７１】
また、認証部１０３がタグ２００ａの認証の不成立を確認した場合と、検出部１０５が、通信の異常を検出した場合には、報告部１０６は指示部１０８に対して、認証の成立と通信の異常検出を報告し、指示部１０８は、現在、タイムスロット２０で通信を行っているタグ２００に対して通信の終了を指示し、次のタイムスロットで通信を行う他のタグ２００に対して通信を行うこと指示する。【００７２】
実施の形態１においては、Ｒ／Ｗ１００で暗号化のみを行い、タグ２００で復号化のみを行う場合を説明したが、Ｒ／Ｗ１００で復号化のみを行い、タグ２００で暗号化のみを行う実施の形態としてもよい。【００７３】
また、実施の形態１においては、Ｒ／Ｗ１００は生成した乱数を暗号化した暗号化乱数をタグ２００へ送信し、タグ２００は受信した暗号化乱数を復号化した乱数をＲ／Ｗ１００へ送信し、Ｒ／Ｗ１００は受信した乱数と先に生成した乱数とが一致するか否かを確認することにより認証を行った。しかし、これをＲ／Ｗ１００は生成した乱数をタグ２００へ送信し、タグ２００は受信した乱数を暗号化して暗号化乱数としてＲ／Ｗ１００へ送信し、または受信した乱数を復号化して復号化乱数としてＲ／Ｗ１００へ送信し、Ｒ／Ｗ１００は受信した暗号化乱数を復号化した乱数と受信した復号化乱数を暗号化した乱数とのいずれかと、先に生成した乱数が一致するか否かを確認することにより認証を実現してもよい。【００７４】
この場合、暗号化と復号化にはハッシュ関数を用いることができる。【００７５】
また、Ｒ／Ｗ１００とタグ２００との間で処理の辻褄さえ合えば、複数の初期値Ｘｎや共通鍵Ｋｎを用いても構わないし、Ｒ／Ｗ１００とタグ２００とにおいて、複数の暗号化方式を組合せて用いてもよい。また、これらの暗号化、復号化の処理を、Ｒ／Ｗ１００とタグ２００との間で、共通の秘密情報も含めたハッシュ関数等で実現し、また、公開鍵暗号アルゴリズムを用いても構わない。【００７６】
実施の形態１で説明したＲ／Ｗ１００とタグ２００とは、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）システムを構成することができる。また、Ｒ／Ｗ１００とタグ２００に代えて通信装置をＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や携帯情報端末とすることにより、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）システムを構成することができる。その際、それら通信装置は、前記した通信装置を識別するための固有の識別子を記憶している。【００７７】
この実施の形態によれば、Ｒ／Ｗ１００とタグ２００が行うチャレンジデータとレスポンスデータの送受信を、同じタイムスロットで行うことができる。【００７８】
この実施の形態によれば、Ｒ／Ｗ１００は、チャレンジデータの送信とチャレンジデータに応答するレスポンスデータの受信とを行ったタイムスロットと同じタイムスロットで、タグ２００の認証を行うことができる。【００７９】
この実施の形態によれば、Ｒ／Ｗ１００は、認証部１０３がタグ２００の正当性を確認できなかった場合と検出部１０５が通信に異常を検出した場合に、報告部１０６がそのことを制御部１０７に報告することにより、制御部１０７は、現在通信を行っているタグ２００との通信終了を指示し、次のタイムスロットで通信を行う他のタグ２００との通信を開始することができる。【００８０】
この実施の形態によれば、Ｒ／Ｗ１００は、報告部１０６の報告にもとづき、現在通信を行っているタグ２００に対して通信終了を指示し、次のタイムスロットで通信を行う他のタグ２００に対して、通信の開始を指示することができる。【００８１】
この実施の形態によれば、Ｒ／Ｗ１００は、チャレンジデータの送信とチャレンジデータに応答するレスポンスデータの受信とを行ったタイムスロットと同じタイムスロットでタグとの通信回線の接続を確立することができる。【００８２】
この実施の形態によれば、タグ２００のデータ判定部２１８は、データ記憶部２１７が記憶する先に受信したチャレンジデータの少なくとも一部と、データ記憶部２１７が記憶する先に送信したレスポンスデータの少なくとも一部とが、受信部２０２が新たに受信したチャレンジデータと一致するか否かを判定することにより、過去に利用された古いチャレンジデータを再度送信するリプレー攻撃によるなりすましを防止することができる。【００８３】
この実施の形態によれば、Ｒ／Ｗ１００の暗号化部１１１で暗号化した乱数と暗号化した識別子と、タグ２００の復号化部２１２で復号化した乱数と復号化した識別子とを用いることにより、チャレンジアンドレスポンスによる認証を実現することができる。【００８４】
この実施の形態によれば、Ｒ／Ｗ１００の暗号化部１１１での暗号化とタグ２００の復号化部２１２での復号化には、通常の暗号アルゴリズムに加えて、ハッシュ関数を用いることができる。【００８５】
この実施の形態によれば、Ｒ／Ｗ１００は、相手機器識別子記憶部１１３が記憶する認証の対象とすべきタグ２００の識別子に一致する識別子を備えるタグ２００と、相手機器識別子記憶部１１３に記憶する認証の対象とすべきでないタグ２００の識別子に一致しない識別子を備えるタグ２００とを認証部１０３による認証の対象とすることができる。
また、タグ２００は、相手機器識別子記憶部２１３が記憶する認証の対象とすべきＲ／Ｗ１００の識別子に一致する識別子を備えるＲ／Ｗ１００と、相手機器識別子記憶部に記憶する認証の対象とすべきでないＲ／Ｗ１００の識別子に一致しない識別子を備えるＲ／Ｗ１００とを送信部２０１がレスポンスデータを送信する応答の対象とすることができる。【００８６】
この実施の形態によれば、タグ２００は、検出部２０５が通信に異常を検出した場合に、報告部１０６がそのことをＲ／Ｗ１００に報告することができる。【００８７】
この実施の形態によれば、Ｒ／Ｗ１００とタグ２００を用いることにより、同一のタイムスロットでチャレンジアンドレスポンスによる認証を行うＲＦＩＤシステムを構成することができる。【００８８】
この実施の形態によれば、Ｒ／Ｗ１００は、認証を行う際に受信したタグ２００の識別子を、相手機器識別子加工部１１５により加工して用いることにより、以降は、この加工した識別子を用いて、タグ２００と通信することができる。【００８９】
この実施の形態によれば、Ｒ／Ｗ１００の相手機器識別子加工部１１５と、タグ２００の相手機器識別子加工部２１５は、秘匿性の高いデータの加工を実現することができる。【００９０】
この実施の形態によれば、相互に通信を行う通信装置が、タイムスロットを用いたアンチコリジョン処理と同時に、一方が他方を認証するの一方向での認証を、チャレンジアンドレスポンスのチャレンジデータの送受信とレスポンスデータの送受信とを同じタイムスロットで行うことにより実現することができる。【００９１】
この実施の形態によれば、チャレンジアンドレスポンスのチャレンジデータとレスポンスデータとを、乱数と識別子の暗号化と復号化により実現することができる。【００９２】
この実施の形態によれば、従来行っていた乱数を交換することによりに実現していたアンチコリジョン処理のためのタイムスロットと同じタイムスロットで、乱数を用いたチャレンジアンドレスポンスによる認証処理をも同時に実施することができる。このため、一つのタイムスロットでアンチコリジョン処理と認証処理を実施することができ、アンチコリジョン処理のために乱数を交換した後に、乱数を用いたチャレンジアンドレスポンスによる認証処理を別に行うよりも、処理の効率がよくなる。また、チャレンジアンドレスポンスを行うに際して、識別子をＣＢＣモードで暗号化するので、識別子を秘匿することができる。【００９３】
実施の形態２．
実施の形態２では、１台のＲ／Ｗと複数のタグから構成される通信システムにおいて、アンチコリジョン処理としてタイムスロットを用いるスロッテッドアロハ方式を採用した場合に、アンチコリジョン処理と同時に、チャレンジアンドレスポンスを用いたＲ／Ｗによるタグの認証を行った後に、チャレンジアンドレスポンスを用いたタグによるＲ／Ｗの認証を行う双方向認証を、同一のタイムスロットで実行する実施の形態について説明する。なお、Ｒ／Ｗ１００がタグ２００を認証する場合には、Ｒ／Ｗは特許請求の範囲に記載の認証側通信装置に相当し、タグは特許請求の範囲に記載の被認証側通信装置に相当する。逆に、タグ２００がＲ／Ｗ１００を認証する場合には、Ｒ／Ｗは特許請求の範囲に記載の被認証側通信装置に相当し、タグは特許請求の範囲に記載の認証側通信装置に相当する。【００９４】
実施の形態２における通信システムの構成は、実施の形態１と同じである。【００９５】
Ｒ／Ｗ１００は、タイムスロットでタグ２００と通信を行い、Ｒ／Ｗ１００が備える識別子をタグ２００へ送り、タグ２００が備える識別子を取得する。その際、Ｒ／Ｗ１００は、タグ２００の認証を行い、その正当性を確認する。また、Ｒ／Ｗ１００は、取得した識別子を以降のタグ２００との通信に利用する。【００９６】
タグ２００は、タイムスロットでＲ／Ｗ１００と通信を行い、タグ２００が備える識別子をＲ／Ｗ１００へ送り、Ｒ／Ｗ１００が備える識別子を取得する。その際、タグ２００は、Ｒ／Ｗ１００の認証を行い、その正当性を確認する。また、タグ２００は、取得した識別子を以降のＲ／Ｗ１００との通信に利用する。【００９７】
管理装置３００は、Ｒ／Ｗ１００およびタグ２００を管理する。【００９８】
図８は、実施の形態２におけるＲ／Ｗ１００の構成を示す図である。
実施の形態２におけるＲ／Ｗ１００の構成は、実施の形態１の構成に加えて、送信部１０１がタグ２００へ送信したチャレンジデータ（第１のチャレンジデータ）と、受信部１０２がタグ２００から受信したレスポンスデータ（第１のレスポンスデータ）とを記憶するデータ記憶部１１７と、受信部１０２が、タグ２００から新たに受信した第１のレスポンスデータと、データ記憶部１１２が記憶する第１のチャレンジデータと第１のレスポンスデータとのいずれかとが一致するか否かを判定するデータ判定部１１８とを備える。【００９９】
データ記憶部１１７は、送信部１０１がタグ２００へ送信した第１のチャレンジデータの少なくとも一部、例えば、Ｒ／Ｗ１００の乱数や識別子と、受信部１０２がタグ２００から受信した第１のレスポンスデータの少なくとも一部、例えば、タグ２００の乱数や識別子とを記憶する。【０１００】
データ判定部１１８は、データ記憶部１１７が記憶する第１のチャレンジデータの少なくとも一部と第１のレスポンスデータの少なくとも一部とのいずれかと、受信部１０２がタグ２００から新たに受信した第１のレスポンスデータの少なくとも一部とが一致するか否かを判定する。【０１０１】
データ判定部１１８が一致すると判定した場合、送信部１０１は、タグ２００へ第２のレスポンスデータを送信しないことと、タグ２００で通信の異常が検出される第２のレスポンスデータを送信することのいずれかを行う。【０１０２】
図９は、実施の形態２におけるタグ２００の構成を示す図である。
実施の形態２におけるタグ２００の構成は、実施の形態１の構成に加えて、Ｒ／Ｗ１００の認証を行う認証部２０３と、タグ２００の乱数を生成する乱数生成部２０９とを備える。【０１０３】
認証部２０３は、送信部２０１がＲ／Ｗ１００へ送信したチャレンジデータ（第２のチャレンジデータ）と受信部２０２がＲ／Ｗ１００から受信したレスポンスデータ（第２のレスポンスデータ）とを用いてＲ／Ｗ１００の認証を行う。なお、認証部２０３がＲ／Ｗ１００の認証を行うのは、Ｒ／Ｗ１００がタグ２００へ第１のチャレンジデータを送信したタイムスロットと同じタイムスロットである。【０１０４】
乱数生成部２０９は、Ｒ／Ｗ１００の認証を行うチャレンジアンドレスポンスで用いるタグ２００の乱数を生成する。【０１０５】
図１０は、実施の形態２におけるタイムスロットの例を示す図である。一つのタイムスロットで双方向の認証が行われることを除き、実施の形態１の図４と同じである。ただし、図１０の横軸の間隔は、図４の横軸の間隔の２倍となっている。【０１０６】
実施の形態２における第１のチャレンジデータと第２のチャレンジデータの構成は、実施の形態１におけるチャレンジデータと同じである。また、第１のレスポンスデータと第２のレスポンスデータの構成は、実施の形態１におけるレスポンスデータと同じである。【０１０７】
次に、実施の形態２におけるＲ／Ｗ１００によるタグ２００の認証と、タグ２００によるＲ／Ｗ１００の認証との双方向認証を行う動作について説明する。
実施の形態２では、認証側通信装置であるＲ／Ｗ１００が被認証側通信装置であるタグ２００の認証を行い、タグ２００の正当性を確認した後に、被認証側通信装置であるタグ２００が新たに認証側通信装置となり、認証側通信装置であるＲ／Ｗ１００が新たに被認証側通信装置となって、新たな認証側通信装置であるタグ２００が、新たな被認証側通信装置であるＲ／Ｗ１００の認証を行う。【０１０８】
Ｒ／Ｗ１００とタグ２００との間で行う双方向認証は、通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、Ｒ／Ｗ１００が、タグ２００を認証するための第１のチャレンジデータをタグ２００へ送信する第１のチャレンジデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、第１のチャレンジデータに応答する第１のレスポンスデータをＲ／Ｗ１００へ送信する第１のレスポンスデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、タグ２００へ送信した第１のチャレンジデータの少なくとも一部とタグ２００から受信した第１のレスポンスデータの少なくとも一部とを用いてタグ２００の認証を行う第１の認証工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、Ｒ／Ｗ１００を認証するための第２のチャレンジデータをＲ／Ｗ１００へ送信する第２のチャレンジデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、第２のチャレンジデータに応答する第２のレスポンスデータをタグ２００へ送信する第２のレスポンスデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、Ｒ／Ｗ１００へ送信した第２のチャレンジデータの少なくとも一部とＲ／Ｗ１００から受信した第２のレスポンスデータの少なくとも一部とを用いてＲ／Ｗ１００の認証を行う第２の認証工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、第２のレスポンスデータに応答する第３のレスポンスデータをＲ／Ｗ１００へ送信する第３のレスポンスデータ送信工程と
とを実行する。【０１０９】
さらに前記した手順の中で、Ｒ／Ｗ１００によるタグ２００の認証が成立した時点で、そのことをタグ２００へ報告し、報告を受けたタグ２００がＲ／Ｗ１００の認証を行うと以下のような手順となる。
Ｒ／Ｗ１００とタグ２００との間で行う双方向認証は、通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、Ｒ／Ｗ１００が、タグ２００を認証するための第１のチャレンジデータをタグ２００へ送信する第１のチャレンジデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、第１のチャレンジデータに応答する第１のレスポンスデータをＲ／Ｗ１００へ送信する第１のレスポンスデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、タグ２００へ送信した第１のチャレンジデータの少なくとも一部とタグ２００から受信した第１のレスポンスデータの少なくとも一部とを用いてタグ２００の認証を行う第１の認証工程と、第１の認証工程でタグ２００の正当性が確認された場合、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、タグ２００の正当性が確認されたことをタグ２００へ報告する報告工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、Ｒ／Ｗ１００を認証するための第２のチャレンジデータをＲ／Ｗ１００へ送信する第２のチャレンジデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、第２のチャレンジデータに応答する第２のレスポンスデータをタグ２００へ送信する第２のレスポンスデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、Ｒ／Ｗ１００へ送信した第２のチャレンジデータの少なくとも一部とＲ／Ｗ１００から受信した第２のレスポンスデータの少なくとも一部とを用いてＲ／Ｗ１００の認証を行う第２の認証工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、第２のレスポンスデータに応答する第３のレスポンスデータをＲ／Ｗ１００へ送信する第３のレスポンスデータ送信工程とを実行する。【０１１０】
前記した２つの手順のうち基本的な双方向認証である前者の手順は、実施の形態１で説明した一方向認証の手順を用いてＲ／Ｗ１００がタグ２００の認証を行った後、同じ一方向認証の手順を用いてタグ２００がＲ／Ｗ１００の認証を行ったものとなる。そのため、Ｒ／Ｗ１００によるタグ２００の認証の動作は、実施の形態１におけるＲ／Ｗ１００によるタグ２００の認証の動作（ステップＳ５０〜ステップＳ５６とステップＳ６０〜ステップＳ６６）と同じである。また、タグ２００によるＲ／Ｗ１００の認証の動作は、実施の形態１におけるＲ／Ｗ１００によるタグ２００の認証の動作（ステップＳ５０〜ステップＳ５６とステップＳ６０〜ステップＳ６６）を、Ｒ／Ｗ１００とタグ２００とを入れ替えて実行した場合と同じである。【０１１１】
実施の形態２では、Ｒ／Ｗ１００によるタグ２００の認証と、タグ２００によるＲ／Ｗ１００の認証とを、同一のタイムスロットで実行する。これにより同一タイムスロットでの双方向の認証を実現できる。【０１１２】
この実施の形態によれば、Ｒ／Ｗ１００が認証を行う通信装置となってチャレンジアンドレスポンスによるタグ２００の認証を行い、タグ２００の正当性を確認した後、タグ２００が認証を行う通信装置となってチャレンジアンドレスポンスによるＲ／Ｗ１００の認証を行うことにより、４回のデータの送受信で、双方向での認証を実現することができる。【０１１３】
この実施の形態によれば、認証によりＲ／Ｗ１００がタグ２００の正当性を確認したことをタグ２００へ報告することにより、タグ２００は双方向での認証が正しく進行していることを確認した上で、Ｒ／Ｗ１００の認証を開始することができる。【０１１４】
実施の形態３．
実施の形態３では、１台のＲ／Ｗと複数のタグから構成される通信システムにおいて、アンチコリジョン処理としてタイムスロットを用いるスロッテッドアロハ方式を採用した場合に、アンチコリジョン処理と同時に、チャレンジアンドレスポンスを用いたＲ／Ｗによるタグの認証とタグによるＲ／Ｗの認証とを実行する際に、最初のタイムスロットで一度だけタグを認証するためのチャレンジデータを送受信し、以降のタイムスロットでは、チャレンジデータに応答するレスポンスデータと共にＲ／Ｗを認証するためのチャレンジデータを送受信することにより、効率よく認証を実行する実施の形態について説明する。なお、Ｒ／Ｗ１００がタグ２００を認証する場合には、Ｒ／Ｗは特許請求の範囲に記載の認証側通信装置に相当し、タグは特許請求の範囲に記載の被認証側通信装置に相当する。逆に、タグ２００がＲ／Ｗ１００を認証する場合には、Ｒ／Ｗは特許請求の範囲に記載の被認証側通信装置に相当し、タグは特許請求の範囲に記載の認証側通信装置に相当する。【０１１５】
実施の形態３における通信システムの構成は、実施の形態１と同じである。また、通信システムを構成するＲ／Ｗ１００とタグ２００と管理装置３００の機能は、実施の形態２に記載した機能と同じである。【０１１６】
図１１は、実施の形態３におけるＲ／Ｗ１００の構成を示す図である。
実施の形態３におけるＲ／Ｗ１００の構成は、実施の形態２でのＲ／Ｗ１００の構成に加えて、送信部１０１が送信したチャレンジデータ（第１のチャレンジデータ）に含まれるＲ／Ｗ１００の識別子を加工するデータ加工部１２２を備える。【０１１７】
Ｒ／Ｗ１００の送信部１０１は、一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロット以前に設けられた期間で、認証される通信装置であるタグ２００へチャレンジデータを送信する。Ｒ／Ｗ１００の受信部１０２は、最初以降のタイムスロットで、タグ２００から第１のレスポンスデータを受信する。【０１１８】
さらに、Ｒ／Ｗ１００の送信部１０１は、チャレンジデータの送信を最初のタイムスロット以前に設けられた期間のみで行い、Ｒ／Ｗ１００の受信部１０２は、第１のレスポンスデータの受信を最初以降のタイムスロットのみで行うこととしてもよい。【０１１９】
または、Ｒ／Ｗ１００の送信部１０１は、一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロットで、タグ２００へチャレンジデータを送信する。Ｒ／Ｗ１００の受信部１０２は、最初以降のタイムスロットで、タグ２００から第１のレスポンスデータを受信する。【０１２０】
さらに、Ｒ／Ｗ１００の送信部１０１は、チャレンジデータの送信を最初のタイムスロットのみで行い、Ｒ／Ｗ１００の受信部１０２は、第１のレスポンスデータの受信を最初以降のタイムスロットのみで行うこととしてもよい。【０１２１】
Ｒ／Ｗ１００のデータ加工部１２２は、送信部１０１が送信したチャレンジデータの少なくとも一部を加工して新たなデータを生成する。【０１２２】
データ加工部１２２は、データの加工にハッシュ関数と暗号化と復号化との少なくともいずれかを用いることができる。【０１２３】
実施の形態３における制御部１０７は、報告部１０６の報告にもとづいて、現在行っているタグ２００との通信を終了し、次のタイムスロットで他のタグ２００との通信を開始することと、最初のタイムスロットで被認証側通信装置へチャレンジデータを送信することと、最初のタイムスロット以前に設けられた期間で被認証側通信装置へチャレンジデータを送信することと、通信の初期状態へ戻ることのいずれかを行う。【０１２４】
実施の形態３における指示部１０８は、報告部１０６の報告にもとづいて、現在通信を行っている被認証側通信装置へ通信の終了を指示し、次のタイムスロットで通信を行う被認証側通信装置へ通信の開始を指示し、最初のタイムスロットで被認証側通信装置へチャレンジデータを送信することを指示し、最初のタイムスロット以前に設けられた期間で被認証側通信装置へチャレンジデータを送信することを指示し、通信の初期状態へ戻ることを指示する。【０１２５】
ここで「最初のタイムスロット」とは、通信回線を時分割して配置されたタイムスロットの中で、通信を開始した後、通信装置との通信で最初に利用するタイムスロットのことである。「最初のタイムスロットより前に設けられた期間」とは、最初のタイムスロットの前に配置された時間帯であり、通信装置に電源を投入した後、通信が開始される前に、チャレンジデータを送信するために設けられた時間帯である。図１３のタイムスロット２０の前に配置している事前期間がこれに相当する。「初期状態」とは、通信装置への電源の投入やリセットを行った後に、通信装置が到達する最初の状態である。図１３では、事前期間の前の時間軸の原点が初期状態に相当する。【０１２６】
実施の形態３におけるＲ／Ｗ１００の送信部１０１と受信部１０２とデータ加工部１２２と検出部１０５と指示部１０８以外の部分は、実施の形態２と同じである。【０１２７】
図１２は、実施の形態３におけるタグ２００の構成を示す図である。
実施の形態３におけるタグ２００の構成は、実施の形態２でのタグ２００の構成に加えて、Ｒ／Ｗ１００から受信したチャレンジデータ（第１のチャレンジデータ）に含まれるＲ／Ｗ１００の識別子を加工するデータ加工部２２２を備える。【０１２８】
タグ２００の受信部２０２は、一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロット以前に設けられた期間で、Ｒ／Ｗ１００からチャレンジデータを受信する。タグ２００の送信部２０１は、最初以降のタイムスロットで、チャレンジデータに応答する第１のレスポンスデータをＲ／Ｗ１００へ送信する。【０１２９】
さらに、タグ２００の受信部２０２は、チャレンジデータの受信を最初のタイムスロット以前に設けられた期間のみで行い、タグ２００の送信部２０１は、第１のレスポンスデータの送信を最初以降のタイムスロットのみで行うこととしてもよい。【０１３０】
または、タグ２００の受信部２０２は、一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットの最初のタイムスロットで、Ｒ／Ｗ１００からチャレンジデータを受信する。タグ２００の送信部２０１は、最初以降のタイムスロットで、チャレンジデータに応答する第１のレスポンスデータをＲ／Ｗ１００へ送信する。【０１３１】
さらに、タグ２００の受信部２０２は、チャレンジデータの受信を最初のタイムスロットのみで行い、タグ２００の送信部２０１は、第１のレスポンスデータの送信を最初以降のタイムスロットのみで行うこととしてもよい。【０１３２】
タグ２００のデータ加工部２２２は、受信部２０２が受信したチャレンジデータの少なくとも一部を加工して新たなデータを生成する。【０１３３】
データ加工部２２２は、データの加工にハッシュ関数と暗号化と復号化との少なくともいずれかを用いることができる。【０１３４】
実施の形態３におけるタグ２００の送信部２０１と受信部２０２とデータ加工部２２２以外の部分は、実施の形態２と同じである。【０１３５】
図１３は、実施の形態３におけるタイムスロットの例を示す図である。
図１３では、例えば、タイムスロット２１が開始される前にＲ／Ｗ１００からチャレンジデータ７０が、一度だけタグ２００ａとタグ２００ｂとタグ２００ｃとタグ２００ｄとへ送信され、チャレンジデータ７０に応答するタグ２００ａのレスポンスデータ８０は、タイムスロット２１でタグ２００ａからＲ／Ｗ１００へ送信され、チャレンジデータ７０に応答するタグ２００ｂのレスポンスデータ８１は、タイムスロット２２でタグ２００ｂからＲ／Ｗ１００へ送信され、チャレンジデータ７０に応答するレスポンスデータ８２は、タイムスロット２０でタグ２００ｃからＲ／Ｗ１００へ送信されることを例示している。【０１３６】
実施の形態３における第１のチャレンジデータの構成は、実施の形態１におけるチャレンジデータと同じである。【０１３７】
実施の形態３における第１のレスポンスデータのフィールド４０に、タグ２００の乱数を復号化した復号化乱数を格納し、フィールド４１に、受信したチャレンジデータから取り出したＲ／Ｗ１００の暗号化乱数を復号し、さらに復号したＲ／Ｗ１００の復号化乱数を格納し、フィールド４２に、タグ２００の識別子を復号化した復号化識別子を格納する。【０１３８】
実施の形態３における第２のレスポンスデータのフィールド４０に、第１のレスポンスデータから取り出したタグ２００の復号化乱数を暗号化し、さらに暗号化した暗号化乱数を格納する。【０１３９】
実施の形態２における第３のレスポンスデータのフィールド４０に、タグ２００の識別子を復号化した復号化識別子を格納する。【０１４０】
実施の形態３においてＲ／Ｗ１００とタグ２００との間で行う双方向認証の動作を説明する。
実施の形態３では、Ｒ／Ｗ１００がタグ２００の認証を行う際に、タグ２００は、第１のチャレンジに応答する第１のレスポンスデータに、Ｒ／Ｗ１００を認証するための第２のチャレンジデータを乗せて、Ｒ／Ｗ１００へ送信する。そして、Ｒ／Ｗ１００は、第２のチャレンジデータに応答する第２のレスポンスデータを送信する。これにより実施の形態２で説明した動作より、一回少ない送受信で双方向認証を実現することができる。【０１４１】
Ｒ／Ｗ１００とタグ２００との間で行う双方向認証は、通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、Ｒ／Ｗ１００が、タグ２００を認証するための第１のチャレンジデータをタグ２００へ送信する第１のチャレンジデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、Ｒ／Ｗ１００を認証するための第２のチャレンジデータと共に、第１のチャレンジデータに応答する第１のレスポンスデータをＲ／Ｗ１００へ送信する第１のレスポンスデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、タグ２００へ送信した第１のチャレンジデータの少なくとも一部とタグ２００から受信した第１のレスポンスデータの少なくとも一部とを用いてタグ２００の認証を行う第１の認証工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、第２のチャレンジデータに応答する第２のレスポンスデータをタグ２００へ送信する第２のレスポンスデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、Ｒ／Ｗ１００へ送信した第２のチャレンジデータの少なくとも一部とＲ／Ｗ１００から受信した第２のレスポンスデータの少なくとも一部とを用いてＲ／Ｗ１００の認証を行う第２の認証工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、第２のレスポンスデータに応答する第３のレスポンスデータをＲ／Ｗ１００へ送信する第３のレスポンスデータ送信工程とを実行する。【０１４２】
さらに前記した手順の中で、Ｒ／Ｗ１００によるタグ２００の認証が成立した時点で、そのことをタグ２００へ報告し、報告を受けたタグ２００がＲ／Ｗ１００の認証を行うと以下のような動作となる。
Ｒ／Ｗ１００とタグ２００との間で行う双方向認証は、通信装置が一つの通信回線を時分割で利用することができる区分された時間帯であるタイムスロットで、Ｒ／Ｗ１００が、タグ２００を認証するための第１のチャレンジデータをタグ２００へ送信する第１のチャレンジデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、Ｒ／Ｗ１００を認証するための第２のチャレンジデータと共に、第１のチャレンジデータに応答する第１のレスポンスデータをＲ／Ｗ１００へ送信する第１のレスポンスデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、タグ２００へ送信した第１のチャレンジデータの少なくとも一部とタグ２００から受信した第１のレスポンスデータの少なくとも一部とを用いてタグ２００の認証を行う第１の認証工程と、第１の認証工程でタグ２００の正当性が確認された場合、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、タグ２００の正当性が確認されたことをタグ２００へ報告する報告工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、Ｒ／Ｗ１００が、第２のチャレンジデータに応答する第２のレスポンスデータをタグ２００へ送信する第２のレスポンスデータ送信工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、Ｒ／Ｗ１００へ送信した第２のチャレンジデータの少なくとも一部とＲ／Ｗ１００から受信した第２のレスポンスデータの少なくとも一部とを用いてＲ／Ｗ１００の認証を行う第２の認証工程と、Ｒ／Ｗ１００が第１のチャレンジデータをタグ２００へ送信したタイムスロット以降のいずれかのタイムスロットで、タグ２００が、第２のレスポンスデータに応答する第３のレスポンスデータをＲ／Ｗ１００へ送信する第３のレスポンスデータ送信工程とを実行する。【０１４３】
ここで、第１のチャレンジデータは、Ｒ／Ｗ１００の乱数を暗号化した第１の暗号化乱数と、Ｒ／Ｗ１００の識別子を第１の暗号化乱数を用いて暗号化した第１の暗号化識別子の組と、Ｒ／Ｗ１００の乱数を復号化した第１の復号化乱数と、Ｒ／Ｗ１００の識別子を第１の復号化乱数を用いて復号化した第１の復号化識別子の組とのいずれかの組を含み、第１のレスポンスデータは、タグ２００の乱数を復号化した第２の復号化乱数と、第１のチャレンジデータに含まれる第１の暗号化乱数を復号化したＲ／Ｗ１００の乱数を、第２の復号化乱数を用いてさらに復号化した第３の復号化乱数との組と、タグ２００の乱数を暗号化した第２の暗号化乱数と、第１のチャレンジデータに含まれる第１の復号化乱数を暗号化したＲ／Ｗ１００の乱数を、第２の暗号化乱数を用いてさらに暗号化した第３の暗号化乱数との組とのいずれかの組を含み、第２のレスポンスデータは、第１のレスポンスデータに含まれる第２の暗号化乱数を復号化したタグ２００の乱数と、タグ２００の乱数をさらに復号化した第４の復号化乱数との組と、第１のレスポンスデータに含まれる第２の復号化乱数を暗号化したタグ２００の乱数と、タグ２００の乱数をさらに暗号化した第４の暗号化乱数との組とのいずれかの組を含み、第３のレスポンスデータは、タグ２００の識別子を第１の暗号化乱数を用いて暗号化した第２の暗号化識別子と、タグ２００の識別子を第１の復号化乱数を用いて復号化した第２の復号化識別子とのいずれかを含む。【０１４４】
Ｒ／Ｗ１００は生成した乱数を暗号化した暗号化乱数と生成した乱数を復号した復号化乱数をタグ２００へ送信し、タグ２００は受信した暗号化乱数を復号化した乱数と受信した復号化乱数を暗号化した乱数のいずれかをＲ／Ｗ１００へ送信し、Ｒ／Ｗ１００は受信した乱数と先に生成した乱数とが一致するか否かを確認することにより認証を行った。しかし、これをＲ／Ｗ１００は生成した乱数をタグ２００へ送信し、タグ２００は受信した乱数を暗号化して暗号化乱数を生成し、生成した暗号化乱数をＲ／Ｗ１００へ送信し、または、受信した乱数を復号化して復号化乱数を生成し、生成した復号化乱数をＲ／Ｗ１００へ送信し、Ｒ／Ｗ１００は受信した暗号化乱数を復号化した乱数と受信した復号化乱数を暗号化した乱数とのいずれかと、先に生成した乱数が一致するか否かを確認することにより認証を実現してもよい。この場合、暗号化と復号化にはハッシュ関数を用いることができる。【０１４５】
実施の形態３におけるＲ／Ｗ１００によるタグ２００の認証と、タグ２００によるＲ／Ｗ１００の認証の具体的な動作を図１４と図１５に示すフローチャートを用いて説明する。図１４は、動作の前半を示し、図１５は、後半を示す。実施の形態３では、Ｒ／Ｗ１００がタグ２００の認証を行った後に、タグ２００がＲ／Ｗ１００の認証を行う。ただし、タグ２００が、第１のチャレンジデータに対する第１のレスポンスデータを送信すると共に、第２のチャレンジデータをＲ／Ｗ１００へ送信することにより、Ｒ／Ｗ１００とタグ２００との間の送受信の回数を１回削減している。【０１４６】
まず、Ｒ／Ｗ１００では、乱数生成部１０９が乱数Ｒ１を生成し、暗号化部１１１が、例えば、初期値Ｘ１、共通鍵Ｋ１とする共通鍵暗号アルゴリズムＡ１を用いて、乱数生成部１０９が生成した乱数Ｒ１を暗号化して暗号化乱数Ｃ１０を生成する。引き続き、暗号化部１１１は、自機識別子記憶部１１０からＲ／Ｗ１００の識別子を読み出して、例えば、共通鍵暗号アルゴリズムＡ１の利用モードであるＣＢＣモードで、先に生成した暗号化乱数Ｃ１０を用いて暗号化し、暗号化識別子Ｃ１１を生成する（ステップＳ７０）。【０１４７】
次に、データ生成部１１６は、暗号化乱数Ｃ１０をチャレンジデータのフィールド３０へ格納し、暗号化識別子Ｃ１１をチャレンジデータのフィールド３１へ格納して、第１のチャレンジデータを生成する。そして、送信部１０１は、データ生成部１１６が生成した第１のチャレンジデータを最初のタイムスロット２０でタグ２００へ送信する（ステップＳ７１）。ステップＳ７０とステップＳ７１とが、実施の形態３にける第１のチャレンジデータ送信工程である。【０１４８】
タグ２００は、タイムスロット毎にＲ／Ｗ１００へ応答してよいタイムスロットであるか否かを判断する（ステップＳ８０）。タイムスロット２０をタグ２００が応答してよいタイムスロットであると判断した場合（ステップＳ８０のＹｅｓの場合）、タグ２００の乱数生成部２０９は乱数Ｒ２を生成し、復号化部２１２は、Ｒ／Ｗ１００と同じ初期値Ｘ１、共通鍵Ｋ１とする共通鍵暗号アルゴリズムＡ１を用いて、乱数生成部２０９が生成した乱数Ｒ２を復号化してタグ２００の復号化乱数Ｄ１２を得る（ステップＳ８１）。【０１４９】
次に、受信部２０２は、Ｒ／Ｗ１００からタイムスロット２０で第１のチャレンジデータを受信する（ステップＳ８２）。ステップＳ８０においてタグ２００がタイムスロット２０を応答してよいタイムスロットではないと判断した場合（ステップＳ８０のＮｏの場合）、第１のチャレンジデータを受信しない。【０１５０】
次に、タグ２００のデータ判定部２１８は、データ記憶部２１７から記憶している過去の第１のチャレンジデータまたはその一部である暗号化乱数や暗号化識別子と、第１のレスポンスデータまたはその一部である暗号化乱数や暗号化識別子とを読み出し、受信部２０２が受信した第１のチャレンジデータまたはその一部である暗号化乱数や暗号化識別子と一致するか否かを判断する（ステップＳ８３）。その結果、一致しないと判断した場合（ステップＳ８３のＹｅｓの場合）、復号化部２１２は、チャレンジデータに含まれる暗号化乱数Ｃ１０を復号してＲ／Ｗ１００の乱数Ｒ１を生成し、さらに復号化することによりＲ／Ｗ１００の復号化乱数Ｄ１３を得る。また、復号化部２１２は、第１のチャレンジデータまたはその一部である暗号化乱数や暗号化識別子とチャレンジデータに含まれる暗号化識別子Ｃ１１を共通鍵暗号アルゴリズムＡ１の利用モードであるＣＢＣモードで、先に生成した復号化乱数Ｄ１３を用いて復号化し、Ｒ／Ｗ１００の識別子を得る（ステップＳ８４）。ステップＳ８３で一致すると判断した場合（ステップＳ８３のＮｏの場合）、レスポンスデータを送信しない。【０１５１】
次に、相手機器識別子判定部２１４は、相手機器識別子記憶部２１３から応答の対象とすることができるＲ／Ｗ１００の識別子と、応答の対象とすることができないＲ／Ｗ１００の識別子とを読み出し、復号により得られたＲ／Ｗ１００の識別子と一致するか否かを判断する（ステップＳ８５）。その結果、応答の対象とすることができるＲ／Ｗ１００の識別子と、復号により得られたＲ／Ｗ１００の識別子とが一致しないと判定した場合と、応答の対象とすることができないＲ／Ｗ１００の識別子と、復号により得られたＲ／Ｗ１００の識別子とが一致すると判定した場合のいずれかの場合（いずれもステップＳ８５のＹｅｓの場合）、復号化部２１２は、自機識別子記憶部２１０から、タグ２００の識別子を読み出して共通鍵暗号アルゴリズムＡ１の利用モードであるＣＢＣモードで、先に生成したＲ／Ｗ１００の識別子を用いて復号化し、復号化識別子Ｄ１４を得る（ステップＳ８６）。ステップＳ８５で応答の対象とすることができるＲ／Ｗ１００の識別子と、復号により得られたＲ／Ｗ１００の識別子とが一致しないと判定した場合と、応答の対象とすることができないＲ／Ｗ１００の識別子と、復号により得られたＲ／Ｗ１００の識別子とが一致すると判定した場合のいずれかの場合（ステップＳ８５のＮｏの場合）、レスポンスデータを送信しない。【０１５２】
次に、データ生成部２１６は、タグ２００の復号化乱数Ｄ１２を第１のレスポンスデータのフィールド４０へ格納し、Ｒ／Ｗ１００の復号化乱数Ｄ１３を第１のレスポンスデータのフィールド４１へ格納し、タグ２００の復号化識別子Ｄ１４を第１のレスポンスデータのフィールド４２へ格納し、第１のレスポンスデータを生成する。【０１５３】
送信部２０１は、データ生成部２１６が生成した第１のレスポンスデータを、第１のチャレンジデータを受信したタイムスロット２０以降のタイムスロットで、Ｒ／Ｗ１００へ送信する（ステップＳ８７）。この第１のレスポンスデータは、タグ２００がＲ／Ｗ１００を認証するためのチャレンジデータを含むものとなっている。ステップＳ８０からステップＳ８７までが、実施の形態３における第１のレスポンスデータ送信工程である。【０１５４】
Ｒ／Ｗ１００の受信部１０２は、タグ２００から第１のレスポンスデータを受信すると（ステップＳ７２）、暗号化部１１１は、第１のレスポンスデータのフィールド４２から復号化識別子Ｄ１４を取り出して暗号化し、タグ２００の識別子を生成する（ステップＳ７３）。次に、暗号化部１１１は、受信した第１のレスポンスデータのフィールド４１から格納されている復号化乱数Ｄ１３を取り出し、ＣＢＣモードでタグ２００の識別子を用いて暗号化し、Ｒ／Ｗ１００の乱数を生成する。認証部１０３は、暗号化部１１１が生成したＲ／Ｗ１００の乱数とステップＳ７０で乱数生成部１０９が生成した乱数Ｒ１とが一致するか否かを判定する（ステップＳ７４）。その結果、一致すると判断した場合（ステップＳ７４のＹｅｓの場合）、認証部１０３は、タグ２００を正当なタグ２００であると判断し、認証は成立となる。ステップＳ７２からステップＳ７４までが、実施の形態３にける第１の認証工程である。【０１５５】
ステップＳ７４で比較した結果、一致しないと判断した場合（ステップＳ７４のＮｏの場合）、認証部１０３は、タグ２００を正当なタグ２００ではないと判断し、認証は不成立となる。【０１５６】
次に、暗号化部１１１は、第１のレスポンスデータのフィールド４０から、タグ２００の復号化乱数Ｅ１０を取り出し、ＣＢＣモードで、先に生成したＲ／Ｗ１００の乱数を用いて、復号化乱数Ｅ１０を暗号化して乱数Ｒ２を得て、さらに、暗号化することにより暗号化乱数Ｃ１２を得る（ステップＳ７５）。データ生成部１１６は、暗号化乱数Ｃ１２を第２のレスポンスデータのフィールド４０に格納し、第２のレスポンスデータを生成する。そして、送信部１０１が、データ生成部１１６が生成した第２のレスポンスデータをタイムスロット２０以降のタイムスロットでタグ２００へ送信する（ステップＳ７６）。ステップＳ７５とステップＳ７６とが、実施の形態３における第２のレスポンスデータ送信工程である。【０１５７】
タグ２００では、復号化部２１２が、自機識別子記憶部２１０からタグ２００の識別子を読み出して暗号化し、Ｄ１５を得る（ステップＳ８８）。次に、受信部２０２は、Ｒ／Ｗ１００から第２のレスポンスデータを受信する（ステップＳ８９）。復号化部２１２は、第２のレスポンスデータに含まれる暗号化乱数Ｃ１２を復号し、乱数Ｒ２を得る（ステップＳ９０）。認証部２０３は、復号した乱数Ｒ２とステップＳ８１で乱数生成部２０９が生成した乱数Ｒ２とが一致するか否かを判断する（ステップＳ９１）。その結果、一致すると判定した場合（ステップＳ９１のＹｅｓの場合）、データ生成部２１６は、復号化識別子Ｄ１５を第３のレスポンスデータのフィールド４０へ格納し、第３のレスポンスデータを生成する。そして、送信部２０１は、データ生成部２１６が生成した第３のレスポンスデータをタイムスロット２０以降のタイムスロットでＲ／Ｗ１００へ送信する（ステップＳ９２）。ステップＳ８８からステップＳ９１までが、実施の形態３における第２の認証工程であり、ステップＳ９２が実施の形態３における第３のレスポンスデータ送信工程である。【０１５８】
Ｒ／Ｗ１００の受信部１０２は、タグ２００から第３のレスポンスデータを受信する（ステップＳ７７）。暗号化部１１１は、第３のレスポンスデータのフィールド４０から復号化識別子Ｄ１５を取り出して暗号化し、タグ２００の識別子を生成する（ステップＳ７８）。次に、相手機器識別子判定部１１４は、相手機器識別子記憶部１１３から認証の対象とすべきタグ２００の識別子と、認証の対象とすべきでないタグ２００の識別子とを読み出し、暗号化により得られたタグ２００の識別子と一致するか否かを判定する（ステップＳ７９）。その結果、認証の対象とすべきタグ２００の識別子と暗号化により得られたタグ２００の識別子とが一致すると判定した場合と、認証の対象とすべきでないタグ２００の識別子と暗号化により得られたタグ２００の識別子とが一致しないと判定した場合とのいずれか場合において（いずれもステップＳ７９のＹｅｓの場合）、タグ２００によるＲ／Ｗ１００の認証が成立する。これにより、Ｒ／Ｗ１００とタグ２００との間の双方向認証が、最終的に成立したこととなる。ステップＳ７９でＮｏの場合には、タグ２００によるＲ／Ｗ１００の認証は不成立となる。ステップＳ７７からステップＳ７９までが、実施の形態３における識別子確認工程である。【０１５９】
双方向での認証が最終的に成立した場合には、接続部１０４はタグ２００との通信回線を確立する。【０１６０】
以上、Ｒ／Ｗ１００とタグ２００ａとの双方向での認証が行われる動作を説明した。引き続き同様の処理を行うことにより、タイムスロット２１やタイムスロット２２でのＲ／Ｗ１００と他のタグ２００との双方向での認証を実現できる。【０１６１】
なお、前記した動作の説明では、チャレンジデータの送信を最初のタイムスロットで行うこととしたが、チャレンジデータの送信を最初のタイムスロット以前に設定された期間で行うこととしてもよい。【０１６２】
Ｒ／Ｗ１００は、前記した送信部１０１と受信部１０２と認証部１０３と検出部１０５とデータ記憶部１１７とデータ判定部１１８とに加えて、さらに、認証部１０３がタグ２００を正当でない通信装置と判定する回数に関する条件と、検出部１０５が通信の異常を検出する回数に関する条件と、データ判定部１１８が一致しないと判定する回数に関する条件とを記憶する条件記憶部１１９と、認証部１０３がタグ２００を正当でない通信装置と判定した回数と、検出部１０５が通信の異常を検出した回数と、データ判定部１１８が一致しないと判定した回数とのいずれかが、条件記憶部１１９が記憶する条件を満たすか否かを判定する条件判定部１２０と、条件判定部１２０が判定した結果を、通信装置を管理する管理装置へ通知する通知部１２１とを備えてもよい。【０１６３】
ここで、最初にＲ／Ｗ１００がタグ２００を認証する場合には、第１のチャレンジデータでＲ／Ｗ１００からタグ２００に送られた暗号化された乱数Ｒ１がタグ２００で２度復号化さた復号化乱数となり、第２のレスポンスデータでタグ２００からＲ／Ｗ１００へ返送される。このとき、Ｒ／Ｗ１００で暗号化が実行されるためＲ１が元に戻され、この値と最初にＲ／Ｗ１００で生成したＲ１が一致すればタグ２００を正規のタグとして認証できることになる。次に、タグ２００がＲ／Ｗ１００を認証する場合には、第１のレスポンスデータにタグ２００が生成した乱数Ｒ２が復号化されて格納され、これを受信したＲ／Ｗ１００は、これを２度暗号化処理して、第２のレスポンスデータでＲ／Ｗ１００からタグ２００へＲ２が１度暗号化された形で返送する。これをタグ２００で復号化することでＲ２を元に戻し、この値と最初にタグが生成したＲ２が一致すればＲ／Ｗ１００が正規のＲ／Ｗであると認証できることになる。【０１６４】
しかしながら、最初のタイムスロットの場合では単純に以上の説明でよいが、このままではタイムスロット２１以降の第１のチャレンジデータが毎回同じ値となり、以前のタイムスロットでの第１のレスポンスデータをコピーすることで認証を成立させることが可能となってしまい、セキュリティ的に問題となる。このようなコピー攻撃またはリプレー攻撃を避けるために、タイムスロット２１以降ではチャレンジデータに対してＲ／Ｗ１００とタグ２００で同じ加工を施したデータをチャレンジデータとして見做して図１４と図１５で説明した処理を行う必要がある。この場合、図１４においてステップＳ８１の次の処理はステップＳ８６のＤ１４の生成であり、例えば、このＤ１４の生成においてステップＳ８４で得られたＲ１の値をタイムスロットが１つ進む毎に１インクリメントしてからステップＳ８６で復号化するようにし、ステップＳ７４においてもＲ１をタイムスロット毎にインクリメントして行った値と比較すればよい。この場合、Ｒ／Ｗ１００とタグ２００と間で処理の辻褄さえ合えば、加工の内容に関しては暗号化と復号化を組み合せたりハッシュ関数等を用いてで実現してもよく、その方法は任意である。【０１６５】
この実施の形態によれば、認証側通信装置であるＲ／Ｗ１００と被認証側通信装置であるタグ２００は、最初のタイムスロットまたは最初のタイムスロット以前に配置された期間で、チャレンジデータを一度送受信し、その後のタイムスロットで、それに応答するレスポンスデータを送受信するので、従来チャレンジデータを送受信していた時間にレスポンスデータを送受信することができるようになり、チャレンジデータの送受信とレスポンスデータの送受信を毎回行っていた方法に比べて、多くのレスポンスデータを送受信することができ、その結果、通信を効率化することができる。【０１６６】
この実施の形態によれば、一度だけ送受信しチャレンジデータを加工して、以降のレスポンスデータを生成するので、以前、送受信されたレスポンスデータをコピーして送信するコピー攻撃やリプレー攻撃を防止することができる。【０１６７】
この実施の形態によれば、チャレンジデータの加工には、ハッシュ関数と暗号化と復号化を利用できるので、加工して生成したデータの秘匿性を高めることができる。【０１６８】
この実施の形態によれば、Ｒ／Ｗ１００は、認証部１０３がタグ２００の正当性を確認できなかった場合と検出部１０５が通信の異常を検出した場合とのいずれかの場合に、順次通信を行っている複数の通信装置の中から、第１番目の通信装置と通信を行う第１番目のタイムスロットへ戻ることと、最初のタイムスロットより前に設けられた期間へ戻り、複数の通信装置に対してチャレンジデータを送信することと、通信装置の初期状態へ戻ることのいずれかを行うことにより、通信の処理をやり直すことができる。【０１６９】
この実施の形態によれば、Ｒ／Ｗ１００は、認証部１０３がタグ２００の正当性を確認できなかった場合と検出部１０５が通信の異常を検出した場合とのいずれかの場合に、順次通信を行っている複数の通信装置の中から、第１番目の通信装置と通信を行う第１番目のタイムスロットへ戻ることと、最初のタイムスロットより前に設けられた期間へ戻り、複数の通信装置に対してチャレンジデータを送信することと、通信装置の初期状態へ戻ることのいずれかへ移行することをタグ２００に対して指示することにより、合意の上で通信の処理をやり直すことができる。【０１７０】
この実施の形態によれば、認証の失敗や通信の異常の検出が、条件記憶部１１９に記憶する条件を満たす（回数が条件を超える）ものとなったときに、そのことを管理装置３００へ報告することにより、通信の異常等の問題を解決する対策を実行することができる。【０１７１】
この実施の形態によれば、タグ２００がチャレンジデータに応答するレスポンスデータを送信するのと同時に、Ｒ／Ｗ１００を認証するためのチャレンジデータを送信することにより、前記した４回データを送受信する方法に比べて一回少ない３回の送受信で双方向での認証を実現することができる。【０１７２】
この実施の形態によれば、認証によりＲ／Ｗ１００がタグ２００の正当性を確認したことをタグ２００へ報告することにより、タグ２００は、双方向での認証が正しく進行していることを確認した上で、Ｒ／Ｗ１００の認証を開始することができる。【０１７３】
この実施の形態によれば、各チャレンジデータと各レスポンスデータに暗号化された乱数や識別子と、復号化された乱数や識別子とを含めて送受信することにより、チャレンジアンドレスポンスを用いた認証を実現することができる。【０１７４】
この実施の形態によれば、タイムスロット毎のチャレンジデータの送付を行わなくてもセキュアに認証処理を構成できるため、従来のような乱数ＩＤ交換によるアンチコリジョン処理のためのタイムスロット内で一方向認証よりも処理時間の掛かる双方向認証処理を行う場合であっても、効率よくマルチアクセスやアンチコリジョンのための認証処理が可能となる。【０１７５】
なお、実施の形態１において一方向認証を行う場合を、実施の形態２と実施の形態３において双方向認証を行う場合を説明したが、図４に示すタイムスロットにおいて双方向認証を行っても、図１０と図１３に示すタイムスロットにおいて一方向認証を行っても構わない。【０１７６】
以上、実施の形態１から実施の形態３においては、アンチコリジョン処理としてタイムスロットを用いた実施の形態について説明したが、アンチコリジョン処理としてバイナリツリーを用いた実施の形態であってもよい。
つまり、Ｒ／Ｗ１００を送信部がタグ２００の識別子の少なくとも一部と一致するか否かの問い合わせるためのバイナリコードと共に、タグ２００を認証するためのチャレンジデータをタグ２００へ送信し、受信部が、タグ２００から識別子の少なくとも一部がバイナリコードと一致した回答と共に、チャレンジデータに応答するレスポンスデータを受信する構成とする。また、タグ２００を受信部が、タグ２００の識別子の少なくとも一部と一致するか否かを問い合わせるためのバイナリコードと共に、タグ２００を認証するためのチャレンジデータをＲ／Ｗ１００から受信し、送信部が、タグ２００の識別子の少なくとも一部がバイナリコードと一致した回答と共に、チャレンジデータに応答するレスポンスデータをＲ／Ｗ１００へ送信する構成とする。【０１７７】
この実施の形態によれば、タイムスロットを用いるスロッテッドアロハ方式に代えて、バイナリツリー方式を用いたアンチコリジョン処理においても、チャレンジアンドレスポンスを用いた認証を行うことができる。【０１７８】
実施の形態１から実施の形態３では、タイムスロット方式によるアンチコリジョン処理の例を挙げているが、バイナリツリー方式を用いたアンチコリジョン処理の場合でも同様の認証処理が可能であり、タイムスロット方式の場合と同様の効果が得られる。【０１７９】
また、実施の形態１から実施の形態３では、ＲＦＩＤシステムに応用した場合の例を挙げているが、無線ＬＡＮシステムにおけるＭＡＣアドレスの秘匿についても、前記した方法によってＭＡＣアドレスを相手の識別子として求めた後に、例えば、前記のチャレンジデータへの加工処理と同様に、Ｒ／Ｗ１００およびタグ２００において同じ間隔で暗号化部および復号部を動作させ、識別子を復号して行くことでＭＡＣアドレスを秘匿した形で更新することが可能となる。このことは無線ＬＡＮに限らず、有線ＬＡＮやブルートゥース、電力線通信、ＵＳＢ、ＵＷＢ等、機器に固有のＩＤを用いて通信時のリンクを確立する通信システム全般に適用可能である。【０１８０】
以上、実施の形態１から実施の形態３において述べたＲ／Ｗ１００は、コンピュータにより実現することができる。図１６は、実施の形態１から実施の形態３におけるＲ／Ｗ１００をコンピュータにより実現した場合のハードウェア構成を示す図である。
図１６においてＲ／Ｗ１００は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード（Ｋ／Ｂ）９０２、マウス９０３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）９０４、磁気ディスク装置９２０、ＣＤＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）９０５、プリンタ装置９０６、スキャナ装置９０７と接続されている。【０１８１】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。【０１８２】
ここで、通信ボード９１５は、ＬＡＮに限らず、直接、インターネット、或いはＩＳＤＮ等のＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続されていても構わない。直接、インターネット、或いはＩＳＤＮ等のＷＡＮに接続されている場合、Ｒ／Ｗ１００は、インターネット、或いはＩＳＤＮ等のＷＡＮに接続され、ウェブサーバは不用となる。【０１８３】
磁気ディスク装置９２０には、オペレーティングシステム（ＯＳ）９２１、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３は、ＣＰＵ９１１、ＯＳ９２１、ウィンドウシステム９２２により実行される。【０１８４】
前記した実施の形態１と実施の形態３の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置９２０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＭＤ（Ｍｉｎｉ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。【０１８５】
前記した実施の形態１から実施の形態３の説明における各部は、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。【０１８６】
前記した実施の形態１から実施の形態３を実施するプログラムは、また、磁気ディスク装置９２０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＭＤ（Ｍｉｎｉ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【図面の簡単な説明】
【０１８７】
【図１】実施の形態１における通信システムの構成を示す図である。
【図２】実施の形態１におけるＲ／Ｗの構成を示す図である。
【図３】実施の形態１におけるタグの構成を示す図である。
【図４】実施の形態１におけるＲ／Ｗとタグとで通信を行うタイムスロットを示す図である。
【図５】実施の形態１におけるチャレンジデータの構成を示す図である。
【図６】実施の形態１におけるレスポンスデータの構成を示す図である。
【図７】実施の形態１におけるＲ／Ｗによるタグの認証の動作を説明するフローチャートである。
【図８】実施の形態２におけるＲ／Ｗの構成を示す図である。
【図９】実施の形態２におけるタグの構成を示す図である。
【図１０】実施の形態２におけるＲ／Ｗとタグとで通信を行うタイムスロットを示す図である。
【図１１】実施の形態３におけるＲ／Ｗの構成を示す図である。
【図１２】実施の形態３におけるタグの構成を示す図である。
【図１３】実施の形態３におけるＲ／Ｗとタグ２００との間で通信を行うタイムスロットを示す図である。
【図１４】実施の形態３におけるＲ／Ｗによるタグの認証とタグによるＲ／Ｗの認証の動作を示すフローチャート（前半）である。
【図１５】実施の形態３におけるＲ／Ｗによるタグの認証とタグによるＲ／Ｗの認証の動作を示すフローチャート（後半）である。
【図１６】実施の形態１から実施の形態３におけるＲ／Ｗをコンピュータで実現した場合の構成を示す図である。
【符号の説明】
【０１８８】
１００  Ｒ／Ｗ、１０１  送信部、１０２  受信部、１０３  認証部、１０４  接続部、１０５  検出部、１０６  報告部、１０７  制御部、１０８  指示部、１０９  乱数生成部、１１０  自機識別子記憶部、１１１  暗号化部、１１３  相手機器識別子記憶部、１１４  相手機器識別子判定部、１１５  相手機器識別子加工部、１１６  データ生成部、１１７  データ記憶部、１１８  データ判定部、１１９  条件記憶部、１２０  条件判定部、１２１  通知部、１２２  データ加工部、２００  タグ、２０１  送信部、２０２  受信部、２０３  認証部、２０４  接続部、２０５  検出部、２０６  報告部、２０７  制御部、２０８  指示部、２０９  乱数生成部、２１０  自機識別子記憶部、２１２  復号化部、２１３  相手機器識別子記憶部、２１４  相手機器識別子判定部、２１５  相手機器識別子加工部、２１６  データ生成部、２１７  データ記憶部、２１８  データ判定部、２１９  条件記憶部、２２０  条件判定部、２２１  通知部、２２２  データ加工部、３００  管理装置、９０１  表示装置、９０２  キーボード（Ｋ／Ｂ）、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
0004567688.tif 000002
【図２】
0004567688.tif 000003
【図３】
0004567688.tif 000004
【図４】
0004567688.tif 000005
【図５】
0004567688.tif 000006
【図６】
0004567688.tif 000007
【図７】
0004567688.tif 000008
【図８】
0004567688.tif 000009
【図９】
0004567688.tif 000010
【図１０】
0004567688.tif 000011
【図１１】
0004567688.tif 000012
【図１２】
0004567688.tif 000013
【図１３】
0004567688.tif 000014
【図１４】
0004567688.tif 000015
【図１５】
0004567688.tif 000016
【図１６】
0004567688.tif 000017