(57)【特許請求の範囲】
【請求項１】
非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、
前記非接触型ＩＣデバイスが、
それぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵とを関連付けて記憶する第１の記憶手段と、
前記リーダ・ライタのＩＤの送信要求を行う情報要求送信手段と、
受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する検索手段と、
該検索したログイン時刻のハッシュ値を演算する第１の演算手段と、
該演算したハッシュ値と前記リーダ・ライタから要求された自己のｎ桁のＩＤからｍ桁を取り出して、連結して送信する情報送信手段と、
前記リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する暗号化手段と、
該暗号文を前記リーダ・ライタに送信する暗号文送信手段と、
を備え、
前記リーダ・ライタが、
それぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵およびログイン時刻のハッシュ値とを関連付けて記憶する第２の記憶手段と、
乱数を生成する乱数生成手段と、
前記情報要求送信手段からＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信するＩＤ情報送信手段と、
前記情報送信手段から受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、前記第２の記憶手段を検索し、候補となるＩＤを抽出する抽出手段と、
該抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算する第２の演算手段と、
該演算したハッシュ値に基づいて前記第２の記憶手段を検索して、現在通信を行っている前記非接触型ＩＣデバイスを特定する特定手段と、
該特定手段による特定が完了した後に、前記乱数生成手段により生成した乱数を前記特定した非接触型ＩＣデバイスに送信する乱数送信手段と、
前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する暗号通信路確立手段と、
を備えたことを特徴とする情報通信システム。
【請求項２】
前記リーダ・ライタが要求する前記非接触型ＩＣデバイスのＩＤのｍ桁を可変することができることを特徴とする請求項１に記載の情報通信システム。
【請求項３】
非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、
前記非接触型ＩＣデバイスが、
それぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵とを関連付けて記憶する第１の記憶手段と、
前記リーダ・ライタのＩＤの送信要求を行う情報要求送信手段と、
受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する検索手段と、
該検索したログイン時刻を前記記憶する共通鍵で暗号化する第１の暗号化手段と、
該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する情報送信手段と、
前記リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する暗号文生成手段と、
該暗号文を前記リーダ・ライタに送信する暗号文送信手段と、
を備え、
前記リーダ・ライタが、
それぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵および共通鍵で暗号化されたログイン時刻とを関連付けて記憶する第２の記憶手段と、
乱数を生成する乱数生成手段と、
前記情報要求送信手段からＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信するＩＤ情報送信手段と、
前記情報送信手段から受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、前記第２の記憶手段を検索し、候補となるＩＤを抽出する抽出手段と、
該抽出したそれぞれのＩＤのログイン時刻を前記記憶する共通鍵で暗号化する第２の暗号化手段と、
該暗号化されたログイン時刻に基づいて前記第２の記憶手段を検索して、現在通信を行っている前記非接触型ＩＣデバイスを特定する特定手段と、
該特定手段による特定が完了した後に、前記乱数生成手段により生成した乱数を前記特定した非接触型ＩＣデバイスに送信する乱数送信手段と、
前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する暗号通信路確立手段と、
を備えたことを特徴とする情報通信システム。
【請求項４】
前記リーダ・ライタが要求する前記非接触型ＩＣデバイスのＩＤのｍ桁を可変することができることを特徴とする請求項３に記載の情報通信システム。
【請求項５】
非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法であって、
前記非接触型ＩＣデバイスが、前記リーダ・ライタのＩＤの送信要求を行う第１のステップと、
前記リーダ・ライタが、ＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信する第２のステップと、
前記非接触型ＩＣデバイスが、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する第３のステップと、
前記非接触型ＩＣデバイスが、該検索したログイン時刻のハッシュ値を演算する第４のステップと、
前記非接触型ＩＣデバイスが、該演算したハッシュ値と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する第５のステップと、
前記リーダ・ライタが、前記受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する第６のステップと、
前記リーダ・ライタが、該抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算する第７のステップと、
前記リーダ・ライタが、該演算したハッシュ値から、現在通信を行っている前記非接触型ＩＣデバイスを特定する第８のステップと、
前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ＩＣデバイスに送信する第９のステップと、
前記非接触型ＩＣデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第１０のステップと、
前記非接触型ＩＣデバイスが、該暗号文を前記リーダ・ライタに送信する第１１のステップと、
前記リーダ・ライタが、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第１２のステップと、
を備えたことを特徴とする情報通信方法。
【請求項６】
非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法であって、
前記非接触型ＩＣデバイスが、前記リーダ・ライタのＩＤの送信要求を行う第１のステップと、
前記リーダ・ライタが、ＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信する第２のステップと、
前記非接触型ＩＣデバイスが、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する第３のステップと、
前記非接触型ＩＣデバイスが、予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により該検索したログイン時刻を暗号化する第４のステップと、
前記非接触型ＩＣデバイスが、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する第５のステップと、
前記リーダ・ライタが、前記受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する第６のステップと、
前記リーダ・ライタが、該抽出したそれぞれのＩＤのログイン時刻を前記記憶する共通鍵で暗号化する第７のステップと、
前記リーダ・ライタが、該暗号化したログイン時刻から、現在通信を行っている前記非接触型ＩＣデバイスを特定する第８のステップと、
前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ＩＣデバイスに送信する第９のステップと、
前記非接触型ＩＣデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第１０のステップと、
前記非接触型ＩＣデバイスが、該暗号文を前記リーダ・ライタに送信する第１１のステップと、
前記リーダ・ライタが、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第１２のステップと、
を備えたことを特徴とする情報通信方法。
【請求項７】
コンピュータに、非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法を実行させるためのプログラムであって、
前記非接触型ＩＣデバイスが、前記リーダ・ライタのＩＤの送信要求を行う第１のステップと、
前記リーダ・ライタが、ＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信する第２のステップと、
前記非接触型ＩＣデバイスが、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する第３のステップと、
前記非接触型ＩＣデバイスが、該検索したログイン時刻のハッシュ値を演算する第４のステップと、
前記非接触型ＩＣデバイスが、該演算したハッシュ値と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する第５のステップと、
前記リーダ・ライタが、前記受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する第６のステップと、
前記リーダ・ライタが、該抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算する第７のステップと、
前記リーダ・ライタが、該演算したハッシュ値から、現在通信を行っている前記非接触型ＩＣデバイスを特定する第８のステップと、
前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ＩＣデバイスに送信する第９のステップと、
前記非接触型ＩＣデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第１０のステップと、
前記非接触型ＩＣデバイスが、該暗号文を前記リーダ・ライタに送信する第１１のステップと、
前記リーダ・ライタが、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第１２のステップと、
をコンピュータに実行させるためのプログラム。
【請求項８】
コンピュータに、非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法を実行させるためのプログラムであって、
前記非接触型ＩＣデバイスが、前記リーダ・ライタのＩＤの送信要求を行う第１のステップと、
前記リーダ・ライタが、ＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信する第２のステップと、
前記非接触型ＩＣデバイスが、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する第３のステップと、
前記非接触型ＩＣデバイスが、予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により該検索したログイン時刻を暗号化する第４のステップと、
前記非接触型ＩＣデバイスが、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する第５のステップと、
前記リーダ・ライタが、前記受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する第６のステップと、
前記リーダ・ライタが、該抽出したそれぞれのＩＤのログイン時刻を前記記憶する共通鍵で暗号化する第７のステップと、
前記リーダ・ライタが、該暗号化したログイン時刻から、現在通信を行っている前記非接触型ＩＣデバイスを特定する第８のステップと、
前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ＩＣデバイスに送信する第９のステップと、
前記非接触型ＩＣデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第１０のステップと、
前記非接触型ＩＣデバイスが、該暗号文を前記リーダ・ライタに送信する第１１のステップと、
前記リーダ・ライタが、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第１２のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）タグやＩＣデバイス等の非接触型ＩＣデバイスのように処理能力が低く、公開鍵暗号によるデータの暗号化、復号が困難である場合においても、安全な通信路を確保できる情報通信システム、情報通信方法およびプログラムに関する。
【背景技術】
【０００２】
有価値情報を秘密裏に保管するセキュリティ性能の高い記憶媒体としてＩＣデバイスが実用化されているが、近年、通信インタフェースとして無線を利用した非接触型ＩＣデバイスが、その取り扱い上の利便性から適用先を広げている。さらにＩＣデバイスほどのセキュリティ性能を必要としないＲＦＩＤ、またはＩＣタグ等と称される無線通信インタフェースを利用した記憶媒体も一般化しつつある。
【０００３】
こうした中、記憶装置を複数具備する情報記憶媒体において、各記憶装置に保管されるデータを通信経路上で秘匿することが可能な情報通信システムとして、情報処理装置と、情報処理装置と通信する情報記憶媒体とからなり、情報処理装置が、記憶装置に書き込むデータを記憶装置の数に従って分割し、記憶装置から読み取った分割データを元のデータに再構成するとともに、記憶装置に書き込む分割データを記憶装置ごとに異なる暗号鍵で暗号化して記憶装置の各々に送信し、記憶装置の各々から受信した暗号化された分割データを暗号鍵で復号するような公開鍵暗号を利用した暗号通信方式が提案されている（例えば、特許文献１参照。）。
【０００４】
また、ＲＦＩＤやＡｕｔｏＩＤ等において、センタ装置に大きな処理負担をかけることなく、低コストで権限無き第三者によるＩＤ情報の追跡を十分に防止するとして、タグ装置に記録ＩＤ情報ＵＩＤｊと一時情報ＣＮＴｋを記録し、タグ装置およびセンタ装置にマスタ鍵とその鍵ＩＤ番号（ＭＫｊ，ＫＩＤｊ）を記録しておく。そして、タグ装置において、ＣＮＴｋとＭＫｊとを用いて一時鍵ＯＳＫｋを生成し、これを用いてＵＩＤｊを暗号化して可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成する。そして、タグ装置において、一時情報ＣＮＴｋをＣＮＴｋ+1に更新した後、生成したｎｏｎｃｅＩＤｋ，ＣＮＴｋ，ＫＩＤｊをセンタ装置３０に送信する。センタ装置は、このｎｏｎｃｅＩＤｋ，ＣＮＴｋ，ＫＩＤｊと記録された（ＭＫｊ，ＫＩＤｊ）を用いて、ＯＳＫｋを生成し、ＵＩＤｊを復号する技術が提案されている（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１４１５２９号公報
【特許文献２】特開２００５−１６７６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＲＦＩＤタグやＩＣデバイス等の非接触型ＩＣデバイスのような処理能力の低いものでは公開鍵暗号の処理は困難であるため、共通鍵暗号を使用することが一般的である。このとき、複数のＲＦＩＤタグとリーダ・ライタ（Ｒ／Ｗ）が鍵共有を行っている場合、通信相手の正しい共通鍵の特定が必要となる。共通鍵を特定するための一つの手段としてお互いのＩＤ(識別情報)を送信しあう方法が挙げられる。しかし、ＲＦＩＤタグのＩＤをそのまま送信した場合、悪意のある第三者によるＩＤの盗聴・追跡が可能となり、ユーザがどのＲ／Ｗと通信を行ったが、どの程度の頻度でＲ／Ｗと通信を行っているかといったプライバシ情報が漏れるという問題があった。
【０００７】
また、特許文献１に記載の技術では、公開鍵暗号を使用しているので任意のＲ／Ｗとの暗号通信が可能である反面、公開鍵暗号を実装した場合、回路規模が大きくなり、コストが高くなる。さらに処理に時間がかかるという問題もある。また、特許文献２に記載の技術では、ＩＤが毎回異なるので第三者による追跡を防止でき、さらに、共通鍵暗号を持つためデータの暗号化・復号も可能である反面、複数ある共通鍵を特定する手段を有さないため、複数のＲ／ＷとＲＦＩＤタグの間での暗号通信を行うことができないという問題がある。
【０００８】
そこで、本発明は、上述の課題に鑑みてなされたものであり、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定を可能とする情報通信システム、情報通信方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【００１０】
（１）本発明は、非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、前記非接触型ＩＣデバイスが、それぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵とを関連付けて記憶する第１の記憶手段と、前記リーダ・ライタのＩＤの送信要求を行う情報要求送信手段と、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する検索手段と、該検索したログイン時刻のハッシュ値を演算する第１の演算手段と、該演算したハッシュ値と前記リーダ・ライタから要求された自己のＩＤのｎ桁のＩＤからｍ桁を取り出して、連結して送信する情報送信手段と、前記リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する暗号化手段と、該暗号文を前記リーダ・ライタに送信する暗号文送信手段と、を備え、前記リーダ・ライタが、それぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵およびログイン時刻のハッシュ値とを関連付けて記憶する第２の記憶手段と、乱数を生成する乱数生成手段と、前記情報要求送信手段からＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信するＩＤ情報送信手段と、前記情報送信手段から受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、前記第２の記憶手段を検索し、候補となるＩＤを抽出する抽出手段と、該抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算する第２の演算手段と、該演算したハッシュ値に基づいて前記第２の記憶手段を検索して、現在通信を行っている前記非接触型ＩＣデバイスを特定する特定手段と、該特定手段による特定が完了した後に、前記乱数生成手段により生成した乱数を前記特定した非接触型ＩＣデバイスに送信する乱数送信手段と、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する暗号通信路確立手段と、を備えたことを特徴とする情報通信システムを提案している。
【００１１】
この発明によれば、非接触型ＩＣデバイスの第１の記憶手段は、それぞれのリーダ・ライタごとに異なるＩＤと共通鍵とを関連付けて記憶する。情報要求送信手段は、リーダ・ライタのＩＤの送信要求を行う。検索手段は、受信したリーダ・ライタのＩＤへのログイン時刻を検索する。第１の演算手段は、その検索したログイン時刻のハッシュ値を演算する。情報送信手段は、その演算したハッシュ値とリーダ・ライタから要求された自己のｎ桁のＩＤからｍ桁を取り出して、連結して送信する。暗号化手段は、リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する。暗号文送信手段は、その暗号文をリーダ・ライタに送信する。一方、リーダ・ライタの第２の記憶手段は、それぞれの非接触型ＩＣデバイスごとに異なるＩＤと共通鍵およびログイン時刻のハッシュ値とを関連付けて記憶する。乱数生成手段は、乱数を生成する。ＩＤ情報送信手段は、情報要求送信手段からＩＤの送信要求を受信したときに、自己のＩＤと非接触型ＩＣデバイスに要求する非接触型ＩＣデバイスのＩＤの桁数を送信する。抽出手段は、情報送信手段から受信した非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、第２の記憶手段を検索し、候補となるＩＤを抽出する。第２の演算手段は、その抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算する。特定手段は、その演算したハッシュ値に基づいて第２の記憶手段を検索して、現在通信を行っている非接触型ＩＣデバイスを特定する。乱数送信手段は、その特定手段による特定が完了した後に、乱数生成手段により生成した乱数を特定した非接触型ＩＣデバイスに送信する。暗号通信路確立手段は、特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【００１２】
（２）本発明は、（１）の情報通信システムについて、前記リーダ・ライタが要求する前記非接触型ＩＣデバイスのＩＤのｍ桁を可変することができることを特徴とする情報通信システムを提案している。
【００１３】
この発明によれば、リーダ・ライタが要求する非接触型ＩＣデバイスのＩＤのｍ桁を可変することができる。したがって、要求する非接触型ＩＣデバイスのＩＤのｍ桁を可変することによって、ユーザのプライバシと処理負荷のバランスを自由に設定することができる。
【００１４】
（３）本発明は、非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、前記非接触型ＩＣデバイスが、それぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵とを関連付けて記憶する第１の記憶手段と、前記リーダ・ライタのＩＤの送信要求を行う情報要求送信手段と、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する検索手段と、該検索したログイン時刻を前記記憶する共通鍵で暗号化する第１の暗号化手段と、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する情報送信手段と、前記リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する暗号文生成手段と、該暗号文を前記リーダ・ライタに送信する暗号文送信手段と、を備え、前記リーダ・ライタが、それぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵および共通鍵で暗号化されたログイン時刻とを関連付けて記憶する第２の記憶手段と、乱数を生成する乱数生成手段と、前記情報要求送信手段からＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信するＩＤ情報送信手段と、前記情報送信手段から受信した前記非接触型ＩＣデバイスのＩＤのうちｍ桁の情報に基づいて、前記第２の記憶手段を検索し、候補となるＩＤを抽出する抽出手段と、該抽出したそれぞれのＩＤのログイン時刻を前記記憶する共通鍵で暗号化する第２の暗号化手段と、該暗号化されたログイン時刻に基づいて前記第２の記憶手段を検索して、現在通信を行っている前記非接触型ＩＣデバイスを特定する特定手段と、該特定手段による特定が完了した後に、前記乱数生成手段により生成した乱数を前記特定した非接触型ＩＣデバイスに送信する乱数送信手段と、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する暗号通信路確立手段と、を備えたことを特徴とする情報通信システムを提案している。
【００１５】
この発明によれば、非接触型ＩＣデバイスの第１の記憶手段は、それぞれのリーダ・ライタごとに異なるＩＤと共通鍵とを関連付けて記憶する。情報要求送信手段は、リーダ・ライタのＩＤの送信要求を行う。検索手段は、受信したリーダ・ライタのＩＤへのログイン時刻を検索する。第１の暗号化手段は、その検索したログイン時刻を記憶する共通鍵で暗号化する。情報送信手段は、その暗号化されたログイン時刻とリーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する。暗号文生成手段は、リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する。暗号文送信手段は、その暗号文をリーダ・ライタに送信する。一方、リーダ・ライタの第２の記憶手段は、それぞれの非接触型ＩＣデバイスごとに異なるＩＤと共通鍵および共通鍵で暗号化されたログイン時刻とを関連付けて記憶する。乱数生成手段は、乱数を生成する。ＩＤ情報送信手段は、情報要求送信手段からＩＤの送信要求を受信したときに、自己のＩＤと非接触型ＩＣデバイスに要求する非接触型ＩＣデバイスのＩＤの桁数を送信する。抽出手段は、情報送信手段から受信した非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、第２の記憶手段を検索し、候補となるＩＤを抽出する。第２の暗号化手段は、その抽出したそれぞれのＩＤのログイン時刻を記憶する共通鍵で暗号化する。特定手段は、その暗号化されたログイン時刻に基づいて前記第２の記憶手段を検索して、現在通信を行っている非接触型ＩＣデバイスを特定する。乱数送信手段は、その特定手段による特定が完了した後に、乱数生成手段により生成した乱数を特定した非接触型ＩＣデバイスに送信する。暗号通信路確立手段は、特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【００１６】
（４）本発明は、（３）の情報通信システムについて、前記リーダ・ライタが要求する前記非接触型ＩＣデバイスのＩＤのｍ桁を可変することができることを特徴とする情報通信システムを提案している。
【００１７】
この発明によれば、リーダ・ライタが要求する非接触型ＩＣデバイスのＩＤのｍ桁を可変することができる。したがって、要求する非接触型ＩＣデバイスのＩＤのｍ桁を可変することによって、ユーザのプライバシと処理負荷のバランスを自由に設定することができる。
【００１８】
（５）本発明は、非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法であって、前記非接触型ＩＣデバイスが、前記リーダ・ライタのＩＤの送信要求を行う第１のステップと、前記リーダ・ライタが、ＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信する第２のステップと、前記非接触型ＩＣデバイスが、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する第３のステップと、前記非接触型ＩＣデバイスが、該検索したログイン時刻のハッシュ値を演算する第４のステップと、前記非接触型ＩＣデバイスが、該演算したハッシュ値と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する第５のステップと、前記リーダ・ライタが、前記受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する第６のステップと、前記リーダ・ライタが、該抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算する第７のステップと、前記リーダ・ライタが、該演算したハッシュ値から、現在通信を行っている前記非接触型ＩＣデバイスを特定する第８のステップと、前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ＩＣデバイスに送信する第９のステップと、前記非接触型ＩＣデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第１０のステップと、前記非接触型ＩＣデバイスが、該暗号文を前記リーダ・ライタに送信する第１１のステップと、前記リーダ・ライタが、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第１２のステップと、を備えたことを特徴とする情報通信方法を提案している。
【００１９】
この発明によれば、非接触型ＩＣデバイスは、リーダ・ライタのＩＤの送信要求を行う。リーダ・ライタは、ＩＤの送信要求を受信したときに、自己のＩＤと非接触型ＩＣデバイスに要求する非接触型ＩＣデバイスのＩＤの桁数を送信する。非接触型ＩＣデバイスは、受信したリーダ・ライタのＩＤへのログイン時刻を検索し、その検索したログイン時刻のハッシュ値を演算するとともに、その演算したハッシュ値とリーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する。リーダ・ライタは、受信した非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出し、その抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算するとともに、その演算したハッシュ値から、現在通信を行っている非接触型ＩＣデバイスを特定する。そして、リーダ・ライタは、特定が完了した後に、生成した乱数を特定した非接触型ＩＣデバイスに送信する。非接触型ＩＣデバイスは、リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出してその抽出した共通鍵により暗号化して暗号文を生成しその暗号文をリーダ・ライタに送信する。そして、リーダ・ライタは、特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【００２０】
（６）本発明は、非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法であって、前記非接触型ＩＣデバイスが、前記リーダ・ライタのＩＤの送信要求を行う第１のステップと、前記リーダ・ライタが、ＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信する第２のステップと、前記非接触型ＩＣデバイスが、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する第３のステップと、前記非接触型ＩＣデバイスが、予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により該検索したログイン時刻を暗号化する第４のステップと、前記非接触型ＩＣデバイスが、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する第５のステップと、前記リーダ・ライタが、前記受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する第６のステップと、前記リーダ・ライタが、該抽出したそれぞれのＩＤのログイン時刻を前記記憶する共通鍵で暗号化する第７のステップと、前記リーダ・ライタが、該暗号化したログイン時刻から、現在通信を行っている前記非接触型ＩＣデバイスを特定する第８のステップと、前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ＩＣデバイスに送信する第９のステップと、前記非接触型ＩＣデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第１０のステップと、前記非接触型ＩＣデバイスが、該暗号文を前記リーダ・ライタに送信する第１１のステップと、前記リーダ・ライタが、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第１２のステップと、を備えたことを特徴とする情報通信方法を提案している。
【００２１】
この発明によれば、非接触型ＩＣデバイスは、リーダ・ライタのＩＤの送信要求を行う。リーダ・ライタは、ＩＤの送信要求を受信したときに、自己のＩＤと非接触型ＩＣデバイスに要求する非接触型ＩＣデバイスのＩＤの桁数を送信する。非接触型ＩＣデバイスは、受信したリーダ・ライタのＩＤへのログイン時刻を検索し、予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出してその抽出した共通鍵によりその検索したログイン時刻を暗号化するとともに、その暗号化されたログイン時刻とリーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する。リーダ・ライタは、受信した非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出し、その抽出したそれぞれのＩＤのログイン時刻を記憶する共通鍵で暗号化するとともに、その暗号化したログイン時刻から、現在通信を行っている非接触型ＩＣデバイスを特定する。そして、リーダ・ライタは、特定が完了した後に、生成した乱数を特定した非接触型ＩＣデバイスに送信する。非接触型ＩＣデバイスは、リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出してその抽出した共通鍵により暗号化して暗号文を生成し、その暗号文をリーダ・ライタに送信する。そして、リーダ・ライタは、特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【００２２】
（７）本発明は、コンピュータに、非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法を実行させるためのプログラムであって、前記非接触型ＩＣデバイスが、前記リーダ・ライタのＩＤの送信要求を行う第１のステップと、前記リーダ・ライタが、ＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信する第２のステップと、前記非接触型ＩＣデバイスが、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する第３のステップと、前記非接触型ＩＣデバイスが、該検索したログイン時刻のハッシュ値を演算する第４のステップと、前記非接触型ＩＣデバイスが、該演算したハッシュ値と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する第５のステップと、前記リーダ・ライタが、前記受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する第６のステップと、前記リーダ・ライタが、該抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算する第７のステップと、前記リーダ・ライタが、該演算したハッシュ値から、現在通信を行っている前記非接触型ＩＣデバイスを特定する第８のステップと、前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ＩＣデバイスに送信する第９のステップと、前記非接触型ＩＣデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第１０のステップと、前記非接触型ＩＣデバイスが、該暗号文を前記リーダ・ライタに送信する第１１のステップと、前記リーダ・ライタが、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第１２のステップと、をコンピュータに実行させるためのプログラムを提案している。
【００２３】
この発明によれば、非接触型ＩＣデバイスは、リーダ・ライタのＩＤの送信要求を行う。リーダ・ライタは、ＩＤの送信要求を受信したときに、自己のＩＤと非接触型ＩＣデバイスに要求する非接触型ＩＣデバイスのＩＤの桁数を送信する。非接触型ＩＣデバイスは、受信したリーダ・ライタのＩＤへのログイン時刻を検索し、その検索したログイン時刻のハッシュ値を演算するとともに、その演算したハッシュ値とリーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する。リーダ・ライタは、受信した非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出し、その抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算するとともに、その演算したハッシュ値から、現在通信を行っている非接触型ＩＣデバイスを特定する。そして、リーダ・ライタは、特定が完了した後に、生成した乱数を特定した非接触型ＩＣデバイスに送信する。非接触型ＩＣデバイスは、リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出してその抽出した共通鍵により暗号化して暗号文を生成しその暗号文をリーダ・ライタに送信する。そして、リーダ・ライタは、特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【００２４】
（８）本発明は、コンピュータに、非接触型ＩＣデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法を実行させるためのプログラムであって、前記非接触型ＩＣデバイスが、前記リーダ・ライタのＩＤの送信要求を行う第１のステップと、前記リーダ・ライタが、ＩＤの送信要求を受信したときに、自己のＩＤと前記非接触型ＩＣデバイスに要求する前記非接触型ＩＣデバイスのＩＤの桁数を送信する第２のステップと、前記非接触型ＩＣデバイスが、受信した前記リーダ・ライタのＩＤへのログイン時刻を検索する第３のステップと、前記非接触型ＩＣデバイスが、予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により該検索したログイン時刻を暗号化する第４のステップと、前記非接触型ＩＣデバイスが、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する第５のステップと、前記リーダ・ライタが、前記受信した前記非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する第６のステップと、前記リーダ・ライタが、該抽出したそれぞれのＩＤのログイン時刻を前記記憶する共通鍵で暗号化する第７のステップと、前記リーダ・ライタが、該暗号化したログイン時刻から、現在通信を行っている前記非接触型ＩＣデバイスを特定する第８のステップと、前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ＩＣデバイスに送信する第９のステップと、前記非接触型ＩＣデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第１０のステップと、前記非接触型ＩＣデバイスが、該暗号文を前記リーダ・ライタに送信する第１１のステップと、前記リーダ・ライタが、前記特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第１２のステップと、をコンピュータに実行させるためのプログラムを提案している。
【００２５】
この発明によれば、非接触型ＩＣデバイスは、リーダ・ライタのＩＤの送信要求を行う。リーダ・ライタは、ＩＤの送信要求を受信したときに、自己のＩＤと非接触型ＩＣデバイスに要求する非接触型ＩＣデバイスのＩＤの桁数を送信する。非接触型ＩＣデバイスは、受信したリーダ・ライタのＩＤへのログイン時刻を検索し、予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出してその抽出した共通鍵によりその検索したログイン時刻を暗号化するとともに、その暗号化されたログイン時刻とリーダ・ライタから要求された自己のＩＤのｍ桁を連結して送信する。リーダ・ライタは、受信した非接触型ＩＣデバイスのＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれの非接触型ＩＣデバイスごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出し、その抽出したそれぞれのＩＤのログイン時刻を記憶する共通鍵で暗号化するとともに、その暗号化したログイン時刻から、現在通信を行っている非接触型ＩＣデバイスを特定する。そして、リーダ・ライタは、特定が完了した後に、生成した乱数を特定した非接触型ＩＣデバイスに送信する。非接触型ＩＣデバイスは、リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるＩＤと共通鍵から共通鍵を抽出してその抽出した共通鍵により暗号化して暗号文を生成し、その暗号文をリーダ・ライタに送信する。そして、リーダ・ライタは、特定した非接触型ＩＣデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【発明の効果】
【００３４】
本発明によれば、ＲＦＩＤタグ等の非接触型ＩＣデバイスのように、公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となるという効果がある。
また、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができるという効果がある。
【図面の簡単な説明】
【００３５】
【図１】本発明の情報通信システムの構成を示す図である。
【図２】第１の実施形態に係るＲＦＩＤタグの内部構成を示す図である。
【図３】第１の実施形態に係るリーダ・ライタの内部構成を示す図である。
【図４】ＩＤから所定の桁を取り出す場合のバリエーションを例示した図である。
【図５】第１の実施形態に係る情報通信システムの処理フローである。
【図６】第２の実施形態に係るＲＦＩＤタグの内部構成を示す図である。
【図７】第２の実施形態に係るリーダ・ライタの内部構成を示す図である。
【図８】第２の実施形態に係る情報通信システムの処理フローである。
【発明を実施するための形態】
【００３６】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００３７】
＜第１の実施形態＞
図１から図４を用いて、本発明の第１の実施形態について説明する。なお、以下では、非接触型ＩＣデバイスの一例としてＲＦＩＤタグを例示して説明するが、これに限るものではない。また、本実施形態における情報通信システムは、図１に示すように、ＲＦＩＤタグ１００とリーダ・ライタ（Ｒ／Ｗ）２００とからなるシステムであって、このＲＦＩＤタグ１００とリーダ・ライタ（Ｒ／Ｗ）２００間で暗号通信を行うシステムを想定している。
【００３８】
ここで、リーダ・ライタ（Ｒ／Ｗ）２００は十分な計算能力をもち、ＲＦＩＤタグ１００とリーダ・ライタ（Ｒ／Ｗ）２００とは、事前に共通鍵を安全な通信路によって共有しているものとする。また、リーダ・ライタ（Ｒ／Ｗ）２００は公共のデバイスであるためＩＤが公開されているものとする。さらに、リーダ・ライタ（Ｒ／Ｗ）２００は複数のＲＦＩＤタグ１００と鍵を共有し、ＲＦＩＤタグ１００も複数のリーダ・ライタ（Ｒ／Ｗ）２００と鍵を共有しているものとする。
【００３９】
＜ＲＦＩＤタグの内部構成＞
図２を用いて、本実施形態に係るＲＦＩＤタグの内部構成について説明する。
【００４０】
本実施形態に係るＲＦＩＤタグ１００は、図２に示すように、情報要求送信部１０１と、情報受信部１０２と、検索部１０３と、ログイン時刻情報格納部１０４と、ハッシュ値演算部１０５と、情報送信部１０６と、記憶部１０７と、乱数受信部１０８と、暗号化部１０９と、暗号文送信部１１０とから構成されている。
【００４１】
情報要求送信部１０１は、リーダ・ライタ（Ｒ／Ｗ）２００に対して、リーダ・ライタ（Ｒ／Ｗ）２００のＩＤの送信要求を行う。情報受信部１０２は、リーダ・ライタ（Ｒ／Ｗ）２００からリーダ・ライタ（Ｒ／Ｗ）２００のＩＤ（ＩＤＷ）とリーダ・ライタ（Ｒ／Ｗ）２００がＲＦＩＤタグ１００に送信要求するＲＦＩＤタグ１００のＩＤ（ＩＤｆ）の桁数を受信する。
【００４２】
検索部１０３は、情報受信部１０２において受信したリーダ・ライタ（Ｒ／Ｗ）２００のＩＤへのログイン時刻をログイン時刻情報格納部１０４から検索する。ログイン時刻情報格納部１０４は、各ＩＤへのログイン時刻を関連つけて記憶する記憶装置である。
【００４３】
ハッシュ値演算部１０５は、検索部１０３が検索したログイン時刻のハッシュ値を演算する。なお、初回の通信時には鍵共有を行った時刻を検索し、その時刻のハッシュ値を使用する。情報送信部１０６は、ハッシュ値演算部１０５が演算したハッシュ値とリーダ・ライタ（Ｒ／Ｗ）２００から要求された自己のＩＤ（ＩＤｆ）の桁数に対応する一部のＩＤ情報ｍを連結してリーダ・ライタ（Ｒ／Ｗ）２００に送信する。なお、ここで、リーダ・ライタ（Ｒ／Ｗ）２００に送信するのは、前回ログインした時刻のハッシュ値とＲＦＩＤタグ１００のＩＤ（ＩＤｆ）の一部であるため、これらの情報から利用者を特定することはできない。
【００４４】
記憶部１０７は、予め、それぞれのリーダ・ライタ（Ｒ／Ｗ）２００ごとに異なるＩＤと共通鍵とを関連付けて記憶する記憶装置である。乱数受信部１０８は、リーダ・ライタ（Ｒ／Ｗ）２００から乱数を受信する。暗号化部１０９は、リーダ・ライタ（Ｒ／Ｗ）２００から受信した乱数を記憶部１０７に格納された共通鍵により暗号化して暗号文を生成する。暗号文送信部１１０は、暗号化部１０９において生成された暗号文をリーダ・ライタ（Ｒ／Ｗ）２００に送信する。
【００４５】
＜リーダ・ライタの内部構成＞
図３を用いて、本実施形態に係るリーダ・ライタの内部構成について説明する。
【００４６】
本実施形態に係るリーダ・ライタ（Ｒ／Ｗ）２００は、図３に示すように、情報要求受信部２０１と、ＩＤ情報送信部２０２と、ハッシュ値受信部２０３と、抽出部２０４と、ハッシュ値演算部２０５と、ＲＦＩＤ特定部２０６と、記憶部２０７と、乱数生成部２０８と、乱数送信部２０９と、暗号文受信部２１０と、暗号通信路確立部２１１とから構成されている。
【００４７】
情報要求受信部２０１は、ＲＦＩＤタグ１００の情報要求送信部１０１からリーダ・ライタ（Ｒ／Ｗ）２００のＩＤの送信要求を受信する。ＩＤ情報送信部２０２は、自己のＩＤとＲＦＩＤタグ１００に要求するＲＦＩＤタグ１００のＩＤの桁数を送信する。なお、リーダ・ライタ（Ｒ／Ｗ）２００は、ＲＦＩＤタグ１００に要求する桁数を必要に応じて変化させることでユーザのプライバシと計算量のバランスをとることができる。ユーザのプライバシが重要となるときはＲＦＩＤタグ１００に要求するＲＦＩＤタグ１００のＩＤ（ＩＤｆ）のｍ桁を小さくし漏えいする情報量を小さくする。逆に、計算速度が求められる場合にはｍ桁を大きくし、ハッシュ処理の回数を減らすことで対応する共通鍵を高速に検索可能となる。
【００４８】
なお、ＲＦＩＤタグ１００は、リーダ・ライタ（Ｒ／Ｗ）２００に対して、ＩＤの桁数を要求する場合に、ＲＦＩＤタグ１００が予めＩＤから何を取り出すかを固定的に決めておいてもよいし、以下、図４に示す例のように、取り出し方も一緒に送信してもよい。
【００４９】
取り出し方の具体例としては、図４（１）のように、例えば、１０桁のＩＤの第１のカラムから３桁を取り出す場合、図４（２）のように、１０桁のＩＤから無作為に４桁を取り出す場合、図４（３）のように、１０桁のＩＤの第７のカラムから６桁を取り出す場合、図４（４）のように、１０桁のＩＤの第１のカラムから３桁を取り出し逆順にセットする場合、図４（５）のように、１０桁のＩＤの第１のカラムから３桁を取り出し規定値をパディングする場合等が考えられる。ただし、図４に示す具体例は、あくまでも例示であり、これに限るものではない。
【００５０】
ハッシュ値受信部２０３は、ＲＦＩＤタグ１００のハッシュ値演算部１０５が演算したログイン時刻のハッシュ値を受信する。抽出部２０４は、ハッシュ値受信部２０３から受信したＲＦＩＤタグ１００のＩＤのｍ桁に基づいて、後述する記憶部２０７を検索し、候補となるＩＤを抽出する。
【００５１】
ハッシュ値演算部２０５は、抽出部２０４が抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算する。ＲＦＩＤ特定部２０６は、ハッシュ値演算部２０５が演算したハッシュ値から、現在通信を行っているＲＦＩＤタグ１００を特定する。記憶部２０７は、予めそれぞれのＲＦＩＤタグ１００ごとに異なるＩＤと共通鍵およびログイン時刻のハッシュ値とを関連付けて記憶する記憶装置である。
【００５２】
乱数生成部２０８は、乱数を生成する。乱数送信部２０９は、ＲＦＩＤ特定部２０６による特定が完了した後に、乱数生成部２０８により生成した乱数を特定したＲＦＩＤタグ１００に送信する。暗号文受信部２１０は、ＲＦＩＤタグ１００の暗号化部１０９において生成された暗号文を受信する。暗号通信路確立部２１１は、特定したＲＦＩＤタグ１００から受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立し、誤った暗号文である場合には、通信を遮断する。
【００５３】
＜情報通信システムの処理＞
図４を用いて、本実施形態に係る情報通信システムの処理について説明する。
【００５４】
まず、ＲＦＩＤタグ１００の情報要求送信部１０１が、リーダ・ライタ（Ｒ／Ｗ）２００のＩＤの送信要求を行う（ステップＳ１０１）。リーダ・ライタ（Ｒ／Ｗ）２００は、ＩＤの送信要求を受信したときに、自己のＩＤとＲＦＩＤタグ１００に要求するＲＦＩＤタグ１００のＩＤの桁数を送信する（ステップＳ１０２）。
【００５５】
ＲＦＩＤタグ１００の検索部１０３は、受信したリーダ・ライタ（Ｒ／Ｗ）２００のＩＤへのログイン時刻をログイン時刻情報格納部１０４から検索する（ステップＳ１０３）。次に、ＲＦＩＤタグ１００のハッシュ値演算部１０５は、検索したログイン時刻のハッシュ値を演算する（ステップＳ１０４）。そして、ＲＦＩＤタグ１００の情報送信部１０６は、演算したハッシュ値とリーダ・ライタ（Ｒ／Ｗ）２００から要求された自己のＩＤのｍ桁を連結して送信する（ステップＳ１０５）。
【００５６】
一方、リーダ・ライタ（Ｒ／Ｗ）２００は、受信したＲＦＩＤタグ１００のＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれのＲＦＩＤタグ１００ごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する（ステップＳ１０６）。そして、抽出したそれぞれのＩＤのログイン時刻のハッシュ値を演算し（ステップＳ１０７）、演算したハッシュ値から、現在通信を行っているＲＦＩＤタグ１００を特定して（ステップＳ１０８）、特定が完了した後に、生成した乱数を特定したＲＦＩＤタグ１００に送信する（ステップＳ１０９）。
【００５７】
ＲＦＩＤタグ１００は、リーダ・ライタ（Ｒ／Ｗ）２００から受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタ（Ｒ／Ｗ）２００ごとに異なるＩＤと共通鍵から共通鍵を抽出して、その抽出した共通鍵により暗号化して暗号文を生成する（ステップＳ１１０）。そして、その暗号文をリーダ・ライタ（Ｒ／Ｗ）２００に送信する（ステッＳ１１１）。一方、リーダ・ライタ（Ｒ／Ｗ）２００は、特定したＲＦＩＤタグ１００から受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する（ステップＳ１１２）。
【００５８】
なお、ステップＳ１０６において、同じ構成の候補が複数存在した場合には、それらのＲＦＩＤタグ１００すべてを特定し、乱数を送信するが、仮に、誤ったＲＦＩＤタグ１００に乱数を送信した場合には、ステップＳ１１２でエラーとなるため、最初のステップに戻って、正しいＲＦＩＤタグ１００を特定できるまで上記の処理を繰り返す。
【００５９】
したがって、本実施形態によれば、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【００６０】
＜第２の実施形態＞
図５から図７を用いて、本発明の第２の実施形態について説明する。図５および図６からも明らかなように、本実施形態では、第１の実施形態におけるハッシュ関数による処理を共通鍵暗号を使用することによって同様の機能を実現するものである。こうすることによって、ハッシュ関数の回路が不要となり、さらに回路規模の小さいシステムの実現が可能となる。
【００６１】
＜ＲＦＩＤタグの内部構成＞
図５を用いて、本実施形態に係るＲＦＩＤタグの内部構成について説明する。
【００６２】
本実施形態に係るＲＦＩＤタグ１００は、図５に示すように、情報要求送信部１０１と、情報受信部１０２と、検索部１０３と、ログイン時刻情報格納部１０４と、共通鍵暗号化部３０１と、情報送信部１０６と、記憶部１０７と、乱数受信部１０８と、暗号化部１０９と、暗号文送信部１１０とから構成されている。なお、第１の実施形態と同一の符号を付す構成要素については、同様の機能を有するため、詳細な説明は、省略する。
【００６３】
共通鍵暗号化部３０１は、共通鍵暗号を使用して、ログイン時刻の暗号化を行い、暗号化されたログイン情報を情報送信部１０６を介してリーダ・ライタ（Ｒ／Ｗ）２００に送信する。
【００６４】
＜リーダ・ライタの内部構成＞
図６を用いて、本実施形態に係るリーダ・ライタの内部構成について説明する。
【００６５】
本実施形態に係るリーダ・ライタ（Ｒ／Ｗ）２００は、図６に示すように、情報要求受信部２０１と、ＩＤ情報送信部２０２と、共通鍵暗号受信部４０１と、抽出部２０４と、共通鍵暗号化部４０２と、ＲＦＩＤ特定部４０３と、記憶部４０４と、乱数生成部２０８と、乱数送信部２０９と、暗号文受信部２１０と、暗号通信路確立部２１１とから構成されている。なお、第１の実施形態と同一の符号を付す構成要素については、同様の機能を有するため、詳細な説明は、省略する。
【００６６】
共通鍵暗号受信部４０１は、ＲＦＩＤタグ１００から共通鍵で暗号化されたログイン時刻を受信する。共通鍵暗号化部４０２は、抽出部２０４が抽出したそれぞれのＩＤのログイン時刻を共通鍵で暗号化する。ＲＦＩＤ特定部４０３は、暗号化されたログイン時刻に基づいて、記憶部４０４を検索して、現在通信を行っているＲＦＩＤタグ１００を特定する。記憶部４０４は、予めそれぞれのＲＦＩＤタグ１００ごとに異なるＩＤと共通鍵およびログイン時刻を共通鍵で暗号化した情報とを関連付けて記憶する記憶装置である。
【００６７】
＜情報通信システムの処理＞
図７を用いて、本実施形態に係る情報通信システムの処理について説明する。
【００６８】
まず、ＲＦＩＤタグ１００の情報要求送信部１０１が、リーダ・ライタ（Ｒ／Ｗ）２００のＩＤの送信要求を行う（ステップＳ２０１）。リーダ・ライタ（Ｒ／Ｗ）２００は、ＩＤの送信要求を受信したときに、自己のＩＤとＲＦＩＤタグ１００に要求するＲＦＩＤタグ１００のＩＤの桁数を送信する（ステップＳ２０２）。
【００６９】
ＲＦＩＤタグ１００の検索部１０３は、受信したリーダ・ライタ（Ｒ／Ｗ）２００のＩＤへのログイン時刻をログイン時刻情報格納部１０４から検索する（ステップＳ２０３）。次に、ＲＦＩＤタグ１００の共通鍵暗号化部３０１は、検索したログイン時刻を共通鍵で暗号化する（ステップＳ２０４）。そして、ＲＦＩＤタグ１００の情報送信部１０６は、暗号化されたログイン時刻とリーダ・ライタ（Ｒ／Ｗ）２００から要求された自己のＩＤのｍ桁を連結して送信する（ステップＳ２０５）。
【００７０】
一方、リーダ・ライタ（Ｒ／Ｗ）２００は、受信したＲＦＩＤタグ１００のＩＤのｍ桁に基づいて、予め関連付けて記憶するそれぞれのＲＦＩＤタグ１００ごとに異なるＩＤと共通鍵とから検索を行い、候補となるＩＤを抽出する（ステップＳ２０６）。そして、抽出したそれぞれのＩＤのログイン時刻を共通鍵で暗号化し（ステップＳ２０７）、暗号化したログイン時刻から、現在通信を行っているＲＦＩＤタグ１００を特定して（ステップＳ２０８）、特定が完了した後に、生成した乱数を特定したＲＦＩＤタグ１００に送信する（ステップＳ２０９）。
【００７１】
ＲＦＩＤタグ１００は、リーダ・ライタ（Ｒ／Ｗ）２００から受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタ（Ｒ／Ｗ）２００ごとに異なるＩＤと共通鍵から共通鍵を抽出して、その抽出した共通鍵により暗号化して暗号文を生成する（ステップＳ２１０）。そして、その暗号文をリーダ・ライタ（Ｒ／Ｗ）２００に送信する（ステッＳ２１１）。一方、リーダ・ライタ（Ｒ／Ｗ）２００は、特定したＲＦＩＤタグ１００から受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する（ステップＳ２１２）。  
【００７２】
したがって、本実施形態によれば、ＲＦＩＤタグ等の公開鍵暗号が使用できない機器において、ＩＤを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのＲ／Ｗ（リーダ・ライタ）と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。また、ハッシュ関数の回路が不要となるため、さらに回路規模の小さいシステムの実現が可能となる。
【００７３】
なお、ＲＦＩＤタグおよびリーダ・ライタの処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをＲＦＩＤタグおよびリーダ・ライタに読み込ませ、実行することによって本発明の情報通信システムを実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００７４】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００７５】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７６】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、第１の実施形態においては、ＲＦＩＤタグがリーダ・ライタにログイン時刻のハッシュ値を送信する例について説明したが、これに限るものではない。つまり、ＲＦＩＤタグとリーダ・ライタとの間で何らかの取り決めを行い、それに従った値を送信すればよい。例えば、ログイン時刻の代わりにある値を種として使用し、種をハッシュ関数に入力することで値を更新する方法などがある。ただし、この場合、送信する値はユーザの情報を含まないものとする。
【符号の説明】
【００７７】
１００；ＲＦＩＤタグ
２００；リーダ・ライタ（Ｒ／Ｗ）
１０１；情報要求送信部
１０２；情報受信部
１０３；検索部
１０４；ログイン時刻情報格納部
１０５；ハッシュ値演算部
１０６；情報送信部
１０７；記憶部
１０８；乱数受信部
１０９；暗号化部
１１０；暗号文送信部
２０１；情報要求受信部
２０２；ＩＤ情報送信部
２０３；ハッシュ値受信部
２０４；抽出部
２０５；ハッシュ値演算部
２０６；ＲＦＩＤ特定部
２０７；記憶部
２０８；乱数生成部
２０９；乱数送信部
２１０；暗号文受信部
２１１；暗号通信路確立部
３０１；共通鍵暗号化部
４０１；共通鍵暗号受信部
４０２；共通鍵暗号化部
４０３；ＲＦＩＤ特定部
４０４；記憶部
【図１】
0005523768.tif 000002
【図２】
0005523768.tif 000003
【図３】
0005523768.tif 000004
【図４】
0005523768.tif 000005
【図５】
0005523768.tif 000006
【図６】
0005523768.tif 000007
【図７】
0005523768.tif 000008
【図８】
0005523768.tif 000009