説明

情報通信システム、情報通信方法およびプログラム

【課題】RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定を可能とする。
【解決手段】非接触型ICデバイスとリーダ・ライタの共通鍵暗号手段は、共通鍵暗号を実行する。記憶手段は、それぞれの非接触型ICデバイスあるいはリーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶し、共通鍵暗号手段による共通鍵暗号により、情報通信を行う。したがって、共通鍵暗号を用いて暗号通信を行うため、処理能力の低いデバイスでもIDを秘匿したまま暗号通信を行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、RFID(Radio Frequency IDentification)タグやICデバイス等の非接触型ICデバイスのように処理能力が低く、公開鍵暗号によるデータの暗号化、復号が困難である場合においても、安全な通信路を確保できる情報通信システム、情報通信方法およびプログラムに関する。
【背景技術】
【0002】
有価値情報を秘密裏に保管するセキュリティ性能の高い記憶媒体としてICデバイスが実用化されているが、近年、通信インタフェースとして無線を利用した非接触型ICデバイスが、その取り扱い上の利便性から適用先を広げている。さらにICデバイスほどのセキュリティ性能を必要としないRFID、またはICタグ等と称される無線通信インタフェースを利用した記憶媒体も一般化しつつある。
【0003】
こうした中、記憶装置を複数具備する情報記憶媒体において、各記憶装置に保管されるデータを通信経路上で秘匿することが可能な情報通信システムとして、情報処理装置と、情報処理装置と通信する情報記憶媒体とからなり、情報処理装置が、記憶装置に書き込むデータを記憶装置の数に従って分割し、記憶装置から読み取った分割データを元のデータに再構成するとともに、記憶装置に書き込む分割データを記憶装置ごとに異なる暗号鍵で暗号化して記憶装置の各々に送信し、記憶装置の各々から受信した暗号化された分割データを暗号鍵で復号するような公開鍵暗号を利用した暗号通信方式が提案されている(例えば、特許文献1参照。)。
【0004】
また、RFIDやAutoID等において、センタ装置に大きな処理負担をかけることなく、低コストで権限無き第三者によるID情報の追跡を十分に防止するとして、タグ装置に記録ID情報UIDjと一時情報CNTを記録し、タグ装置およびセンタ装置にマスタ鍵とその鍵ID番号(MKj,KIDj)を記録しておく。そして、タグ装置において、CNTとMKjとを用いて一時鍵OSKを生成し、これを用いてUIDjを暗号化して可変ID情報nonceIDを生成する。そして、タグ装置において、一時情報CNTをCNTk+1に更新した後、生成したnonceID,CNT,KIDjをセンタ装置30に送信する。センタ装置は、このnonceID,CNT,KIDjと記録された(MKj,KIDj)を用いて、OSKを生成し、UIDjを復号する技術が提案されている(例えば、特許文献2参照。)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−141529号公報
【特許文献2】特開2005−167670号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、RFIDタグやICデバイス等の非接触型ICデバイスのような処理能力の低いものでは公開鍵暗号の処理は困難であるため、共通鍵暗号を使用することが一般的である。このとき、複数のRFIDタグとリーダ・ライタ(R/W)が鍵共有を行っている場合、通信相手の正しい共通鍵の特定が必要となる。共通鍵を特定するための一つの手段としてお互いのID(識別情報)を送信しあう方法が挙げられる。しかし、RFIDタグのIDをそのまま送信した場合、悪意のある第三者によるIDの盗聴・追跡が可能となり、ユーザがどのR/Wと通信を行ったが、どの程度の頻度でR/Wと通信を行っているかといったプライバシ情報が漏れるという問題があった。
【0007】
また、特許文献1に記載の技術では、公開鍵暗号を使用しているので任意のR/Wとの暗号通信が可能である反面、公開鍵暗号を実装した場合、回路規模が大きくなり、コストが高くなる。さらに処理に時間がかかるという問題もある。また、特許文献2に記載の技術では、IDが毎回異なるので第三者による追跡を防止でき、さらに、共通鍵暗号を持つためデータの暗号化・復号も可能である反面、複数ある共通鍵を特定する手段を有さないため、複数のR/WとRFIDタグの間での暗号通信を行うことができないという問題がある。
【0008】
そこで、本発明は、上述の課題に鑑みてなされたものであり、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定を可能とする情報通信システム、情報通信方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【0010】
(1)本発明は、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、前記非接触型ICデバイスおよびリーダ・ライタがともに、共通鍵暗号を実行する共通鍵暗号手段と、それぞれの前記非接触型ICデバイスあるいはリーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶する記憶手段を備え、前記共通鍵暗号手段による共通鍵暗号により、情報通信を行うことを特徴とする情報通信システムを提案している。
【0011】
この発明によれば、非接触型ICデバイスとリーダ・ライタの共通鍵暗号手段は、共通鍵暗号を実行する。記憶手段は、それぞれの非接触型ICデバイスあるいはリーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶し、共通鍵暗号手段による共通鍵暗号により、情報通信を行う。したがって、共通鍵暗号を用いて暗号通信を行うため、処理能力の低いデバイスでもIDを秘匿したまま暗号通信を行うことができる。
【0012】
(2)本発明は、(1)の情報通信システムについて、前記リーダ・ライタがIDおよび共通鍵を生成する乱数生成器を備え、該生成したIDおよび共通鍵を事前にセキュアな通信路を用いて前記非接触型ICデバイスに送信することにより共有化することを特徴とする情報通信システムを提案している。
【0013】
この発明によれば、リーダ・ライタの乱数生成器が、IDおよび共通鍵を生成し、その生成したIDおよび共通鍵を事前にセキュアな通信路を用いて非接触型ICデバイスに送信することにより共有化する。したがって、第三者への漏洩を防止しつつ、セキュアな暗号通信を行うことができる。
【0014】
(3)本発明は、(1)または(2)の情報通信システムについて、前記非接触型ICデバイスが前記リーダ・ライタに非接触型ICデバイスのIDのうち、一部の情報のみを送信し、前記リーダ・ライタが受信した前記非接触型ICデバイスのIDのうち、一部の情報のみから前記非接触型ICデバイスの共通鍵の特定を行うことを特徴とする情報通信システムを提案している。
【0015】
この発明によれば、非接触型ICデバイスがリーダ・ライタに非接触型ICデバイスのIDのうち、一部の情報のみを送信し、リーダ・ライタが受信した非接触型ICデバイスのIDのうち、一部の情報のみから非接触型ICデバイスの共通鍵の特定を行う。したがって、ユーザがどのR/Wと通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【0016】
(4)本発明は、(1)から(3)の情報通信システムについて、前記非接触型ICデバイスがRFIDタグであることを特徴とする情報通信システムを提案している。
【0017】
この発明によれば、非接触型ICデバイスがRFIDタグである。したがって、共通鍵暗号により暗号通信を行うため、RFIDタグとリーダ・ライタのような処理能力が低いデバイスにおいても、第三者への漏洩を防止しつつ、セキュアな暗号通信を行うことができる。
【0018】
(5)本発明は、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、前記非接触型ICデバイスが、それぞれの前記リーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶する第1の記憶手段と、前記リーダ・ライタのIDの送信要求を行う情報要求送信手段と、受信した前記リーダ・ライタのIDへのログイン時刻を検索する検索手段と、該検索したログイン時刻のハッシュ値を演算する第1の演算手段と、該演算したハッシュ値と前記リーダ・ライタから要求された自己のIDのn桁のIDからm桁を取り出して、連結して送信する情報送信手段と、前記リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する暗号化手段と、該暗号文を前記リーダ・ライタに送信する暗号文送信手段と、を備え、前記リーダ・ライタが、それぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵およびログイン時刻のハッシュ値とを関連付けて記憶する第2の記憶手段と、乱数を生成する乱数生成手段と、前記情報要求送信手段からIDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信するID情報送信手段と、前記情報送信手段から受信した前記非接触型ICデバイスのIDのm桁に基づいて、前記第2の記憶手段を検索し、候補となるIDを抽出する抽出手段と、該抽出したそれぞれのIDのログイン時刻のハッシュ値を演算する第2の演算手段と、該演算したハッシュ値に基づいて前記第2の記憶手段を検索して、現在通信を行っている前記非接触型ICデバイスを特定する特定手段と、該特定手段による特定が完了した後に、前記乱数生成手段により生成した乱数を前記特定した非接触型ICデバイスに送信する乱数送信手段と、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する暗号通信路確立手段と、を備えたことを特徴とする情報通信システムを提案している。
【0019】
この発明によれば、非接触型ICデバイスの第1の記憶手段は、それぞれのリーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶する。情報要求送信手段は、リーダ・ライタのIDの送信要求を行う。検索手段は、受信したリーダ・ライタのIDへのログイン時刻を検索する。第1の演算手段は、その検索したログイン時刻のハッシュ値を演算する。情報送信手段は、その演算したハッシュ値とリーダ・ライタから要求された自己のn桁のIDからm桁を取り出して、連結して送信する。暗号化手段は、リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する。暗号文送信手段は、その暗号文をリーダ・ライタに送信する。一方、リーダ・ライタの第2の記憶手段は、それぞれの非接触型ICデバイスごとに異なるIDと共通鍵およびログイン時刻のハッシュ値とを関連付けて記憶する。乱数生成手段は、乱数を生成する。ID情報送信手段は、情報要求送信手段からIDの送信要求を受信したときに、自己のIDと非接触型ICデバイスに要求する非接触型ICデバイスのIDの桁数を送信する。抽出手段は、情報送信手段から受信した非接触型ICデバイスのIDのm桁に基づいて、第2の記憶手段を検索し、候補となるIDを抽出する。第2の演算手段は、その抽出したそれぞれのIDのログイン時刻のハッシュ値を演算する。特定手段は、その演算したハッシュ値に基づいて前記第2の記憶手段を検索して、現在通信を行っている非接触型ICデバイスを特定する。乱数送信手段は、その特定手段による特定が完了した後に、乱数生成手段により生成した乱数を特定した非接触型ICデバイスに送信する。暗号通信路確立手段は、特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【0020】
(6)本発明は、(5)の情報通信システムについて、前記リーダ・ライタが要求する前記非接触型ICデバイスのIDのm桁を可変することができることを特徴とする情報通信システムを提案している。
【0021】
この発明によれば、リーダ・ライタが要求する非接触型ICデバイスのIDのm桁を可変することができる。したがって、要求する非接触型ICデバイスのIDのm桁を可変することによって、ユーザのプライバシと処理負荷のバランスを自由に設定することができる。
【0022】
(7)本発明は、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、前記非接触型ICデバイスが、それぞれの前記リーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶する第1の記憶手段と、前記リーダ・ライタのIDの送信要求を行う情報要求送信手段と、受信した前記リーダ・ライタのIDへのログイン時刻を検索する検索手段と、該検索したログイン時刻を前記記憶する共通鍵で暗号化する第1の暗号化手段と、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する情報送信手段と、前記リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する暗号文生成手段と、該暗号文を前記リーダ・ライタに送信する暗号文送信手段と、を備え、前記リーダ・ライタが、それぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵および共通鍵で暗号化されたログイン時刻とを関連付けて記憶する第2の記憶手段と、乱数を生成する乱数生成手段と、前記情報要求送信手段からIDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信するID情報送信手段と、前記情報送信手段から受信した前記非接触型ICデバイスのIDのうちm桁の情報に基づいて、前記第2の記憶手段を検索し、候補となるIDを抽出する抽出手段と、該抽出したそれぞれのIDのログイン時刻を前記記憶する共通鍵で暗号化する第2の暗号化手段と、該暗号化されたログイン時刻に基づいて前記第2の記憶手段を検索して、現在通信を行っている前記非接触型ICデバイスを特定する特定手段と、該特定手段による特定が完了した後に、前記乱数生成手段により生成した乱数を前記特定した非接触型ICデバイスに送信する乱数送信手段と、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する暗号通信路確立手段と、を備えたことを特徴とする情報通信システムを提案している。
【0023】
この発明によれば、非接触型ICデバイスの第1の記憶手段は、それぞれのリーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶する。情報要求送信手段は、リーダ・ライタのIDの送信要求を行う。検索手段は、受信したリーダ・ライタのIDへのログイン時刻を検索する。第1の暗号化手段は、その検索したログイン時刻を記憶する共通鍵で暗号化する。情報送信手段は、その暗号化されたログイン時刻とリーダ・ライタから要求された自己のIDのm桁を連結して送信する。暗号文生成手段は、リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する。暗号文送信手段は、その暗号文をリーダ・ライタに送信する。一方、リーダ・ライタの第2の記憶手段は、それぞれの非接触型ICデバイスごとに異なるIDと共通鍵および共通鍵で暗号化されたログイン時刻とを関連付けて記憶する。乱数生成手段は、乱数を生成する。ID情報送信手段は、情報要求送信手段からIDの送信要求を受信したときに、自己のIDと非接触型ICデバイスに要求する非接触型ICデバイスのIDの桁数を送信する。抽出手段は、情報送信手段から受信した非接触型ICデバイスのIDのm桁に基づいて、第2の記憶手段を検索し、候補となるIDを抽出する。第2の暗号化手段は、その抽出したそれぞれのIDのログイン時刻を記憶する共通鍵で暗号化する。特定手段は、その暗号化されたログイン時刻に基づいて前記第2の記憶手段を検索して、現在通信を行っている非接触型ICデバイスを特定する。乱数送信手段は、その特定手段による特定が完了した後に、乱数生成手段により生成した乱数を特定した非接触型ICデバイスに送信する。暗号通信路確立手段は、特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【0024】
(8)本発明は、(7)の情報通信システムについて、前記リーダ・ライタが要求する前記非接触型ICデバイスのIDのm桁を可変することができることを特徴とする情報通信システムを提案している。
【0025】
この発明によれば、リーダ・ライタが要求する非接触型ICデバイスのIDのm桁を可変することができる。したがって、要求する非接触型ICデバイスのIDのm桁を可変することによって、ユーザのプライバシと処理負荷のバランスを自由に設定することができる。
【0026】
(9)本発明は、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法であって、前記非接触型ICデバイスが、前記リーダ・ライタのIDの送信要求を行う第1のステップと、前記リーダ・ライタが、IDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信する第2のステップと、前記非接触型ICデバイスが、受信した前記リーダ・ライタのIDへのログイン時刻を検索する第3のステップと、前記非接触型ICデバイスが、該検索したログイン時刻のハッシュ値を演算する第4のステップと、前記非接触型ICデバイスが、該演算したハッシュ値と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する第5のステップと、前記リーダ・ライタが、前記受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する第6のステップと、前記リーダ・ライタが、該抽出したそれぞれのIDのログイン時刻のハッシュ値を演算する第7のステップと、前記リーダ・ライタが、該演算したハッシュ値から、現在通信を行っている前記非接触型ICデバイスを特定する第8のステップと、前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ICデバイスに送信する第9のステップと、前記非接触型ICデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第10のステップと、前記非接触型ICデバイスが、該暗号文を前記リーダ・ライタに送信する第11のステップと、前記リーダ・ライタが、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第12のステップと、を備えたことを特徴とする情報通信方法を提案している。
【0027】
この発明によれば、非接触型ICデバイスは、リーダ・ライタのIDの送信要求を行う。リーダ・ライタは、IDの送信要求を受信したときに、自己のIDと非接触型ICデバイスに要求する非接触型ICデバイスのIDの桁数を送信する。非接触型ICデバイスは、受信したリーダ・ライタのIDへのログイン時刻を検索し、その検索したログイン時刻のハッシュ値を演算するとともに、その演算したハッシュ値とリーダ・ライタから要求された自己のIDのm桁を連結して送信する。リーダ・ライタは、受信した非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出し、その抽出したそれぞれのIDのログイン時刻のハッシュ値を演算するとともに、その演算したハッシュ値から、現在通信を行っている非接触型ICデバイスを特定する。そして、リーダ・ライタは、特定が完了した後に、生成した乱数を特定した非接触型ICデバイスに送信する。非接触型ICデバイスは、リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出してその抽出した共通鍵により暗号化して暗号文を生成しその暗号文をリーダ・ライタに送信する。リーダ・ライタは、特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【0028】
(10)本発明は、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法であって、前記非接触型ICデバイスが、前記リーダ・ライタのIDの送信要求を行う第1のステップと、前記リーダ・ライタが、IDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信する第2のステップと、前記非接触型ICデバイスが、受信した前記リーダ・ライタのIDへのログイン時刻を検索する第3のステップと、前記非接触型ICデバイスが、予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により該検索したログイン時刻を暗号化する第4のステップと、前記非接触型ICデバイスが、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する第5のステップと、前記リーダ・ライタが、前記受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する第6のステップと、前記リーダ・ライタが、該抽出したそれぞれのIDのログイン時刻を前記記憶する共通鍵で暗号化する第7のステップと、前記リーダ・ライタが、該暗号化したログイン時刻から、現在通信を行っている前記非接触型ICデバイスを特定する第8のステップと、前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ICデバイスに送信する第9のステップと、前記非接触型ICデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第10のステップと、前記非接触型ICデバイスが、該暗号文を前記リーダ・ライタに送信する第11のステップと、前記リーダ・ライタが、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第12のステップと、を備えたことを特徴とする情報通信方法を提案している。
【0029】
この発明によれば、非接触型ICデバイスは、リーダ・ライタのIDの送信要求を行う。リーダ・ライタは、IDの送信要求を受信したときに、自己のIDと非接触型ICデバイスに要求する非接触型ICデバイスのIDの桁数を送信する。非接触型ICデバイスは、受信したリーダ・ライタのIDへのログイン時刻を検索し、予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出してその抽出した共通鍵によりその検索したログイン時刻を暗号化するとともに、その暗号化されたログイン時刻とリーダ・ライタから要求された自己のIDのm桁を連結して送信する。リーダ・ライタは、受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出し、その抽出したそれぞれのIDのログイン時刻を記憶する共通鍵で暗号化するとともに、その暗号化したログイン時刻から、現在通信を行っている非接触型ICデバイスを特定して、特定が完了した後に、生成した乱数を特定した非接触型ICデバイスに送信する。非接触型ICデバイスは、リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出してその抽出した共通鍵により暗号化して暗号文を生成し、その暗号文をリーダ・ライタに送信する。そして、リーダ・ライタが、特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【0030】
(11)本発明は、コンピュータに、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法を実行させるためのプログラムであって、前記非接触型ICデバイスが、前記リーダ・ライタのIDの送信要求を行う第1のステップと、前記リーダ・ライタが、IDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信する第2のステップと、前記非接触型ICデバイスが、受信した前記リーダ・ライタのIDへのログイン時刻を検索する第3のステップと、前記非接触型ICデバイスが、該検索したログイン時刻のハッシュ値を演算する第4のステップと、前記非接触型ICデバイスが、該演算したハッシュ値と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する第5のステップと、前記リーダ・ライタが、前記受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する第6のステップと、前記リーダ・ライタが、該抽出したそれぞれのIDのログイン時刻のハッシュ値を演算する第7のステップと、前記リーダ・ライタが、該演算したハッシュ値から、現在通信を行っている前記非接触型ICデバイスを特定する第8のステップと、前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ICデバイスに送信する第9のステップと、前記非接触型ICデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第10のステップと、前記非接触型ICデバイスが、該暗号文を前記リーダ・ライタに送信する第11のステップと、前記リーダ・ライタが、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第12のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0031】
この発明によれば、非接触型ICデバイスは、リーダ・ライタのIDの送信要求を行う。リーダ・ライタは、IDの送信要求を受信したときに、自己のIDと非接触型ICデバイスに要求する非接触型ICデバイスのIDの桁数を送信する。非接触型ICデバイスは、受信したリーダ・ライタのIDへのログイン時刻を検索し、その検索したログイン時刻のハッシュ値を演算するとともに、その演算したハッシュ値とリーダ・ライタから要求された自己のIDのm桁を連結して送信する。リーダ・ライタは、受信した非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出し、その抽出したそれぞれのIDのログイン時刻のハッシュ値を演算するとともに、その演算したハッシュ値から、現在通信を行っている非接触型ICデバイスを特定する。そして、リーダ・ライタは、特定が完了した後に、生成した乱数を特定した非接触型ICデバイスに送信する。非接触型ICデバイスは、リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出してその抽出した共通鍵により暗号化して暗号文を生成しその暗号文をリーダ・ライタに送信する。リーダ・ライタは、特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【0032】
(12)本発明は、コンピュータに、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法を実行させるためのプログラムであって、前記非接触型ICデバイスが、前記リーダ・ライタのIDの送信要求を行う第1のステップと、前記リーダ・ライタが、IDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信する第2のステップと、前記非接触型ICデバイスが、受信した前記リーダ・ライタのIDへのログイン時刻を検索する第3のステップと、前記非接触型ICデバイスが、予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により該検索したログイン時刻を暗号化する第4のステップと、前記非接触型ICデバイスが、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する第5のステップと、前記リーダ・ライタが、前記受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する第6のステップと、前記リーダ・ライタが、該抽出したそれぞれのIDのログイン時刻を前記記憶する共通鍵で暗号化する第7のステップと、前記リーダ・ライタが、該暗号化したログイン時刻から、現在通信を行っている前記非接触型ICデバイスを特定する第8のステップと、前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ICデバイスに送信する第9のステップと、前記非接触型ICデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第10のステップと、前記非接触型ICデバイスが、該暗号文を前記リーダ・ライタに送信する第11のステップと、前記リーダ・ライタが、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第12のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0033】
この発明によれば、非接触型ICデバイスは、リーダ・ライタのIDの送信要求を行う。リーダ・ライタは、IDの送信要求を受信したときに、自己のIDと非接触型ICデバイスに要求する非接触型ICデバイスのIDの桁数を送信する。非接触型ICデバイスは、受信したリーダ・ライタのIDへのログイン時刻を検索し、予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出してその抽出した共通鍵によりその検索したログイン時刻を暗号化するとともに、その暗号化されたログイン時刻とリーダ・ライタから要求された自己のIDのm桁を連結して送信する。リーダ・ライタは、受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出し、その抽出したそれぞれのIDのログイン時刻を記憶する共通鍵で暗号化するとともに、その暗号化したログイン時刻から、現在通信を行っている非接触型ICデバイスを特定して、特定が完了した後に、生成した乱数を特定した非接触型ICデバイスに送信する。非接触型ICデバイスは、リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出してその抽出した共通鍵により暗号化して暗号文を生成し、その暗号文をリーダ・ライタに送信する。そして、リーダ・ライタが、特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する。したがって、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【発明の効果】
【0034】
本発明によれば、RFIDタグ等の非接触型ICデバイスのように、公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となるという効果がある。
また、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができるという効果がある。
【図面の簡単な説明】
【0035】
【図1】本発明の情報通信システムの構成を示す図である。
【図2】第1の実施形態に係るRFIDタグの内部構成を示す図である。
【図3】第1の実施形態に係るリーダ・ライタの内部構成を示す図である。
【図4】IDから所定の桁を取り出す場合のバリエーションを例示した図である。
【図5】第1の実施形態に係る情報通信システムの処理フローである。
【図6】第2の実施形態に係るRFIDタグの内部構成を示す図である。
【図7】第2の実施形態に係るリーダ・ライタの内部構成を示す図である。
【図8】第2の実施形態に係る情報通信システムの処理フローである。
【発明を実施するための形態】
【0036】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0037】
<第1の実施形態>
図1から図4を用いて、本発明の第1の実施形態について説明する。なお、以下では、非接触型ICデバイスの一例としてRFIDタグを例示して説明するが、これに限るものではない。また、本実施形態における情報通信システムは、図1に示すように、RFIDタグ100とリーダ・ライタ(R/W)200とからなるシステムであって、このRFIDタグ100とリーダ・ライタ(R/W)200間で暗号通信を行うシステムを想定している。
【0038】
ここで、リーダ・ライタ(R/W)200は十分な計算能力をもち、RFIDタグ100とリーダ・ライタ(R/W)200とは、事前に共通鍵を安全な通信路によって共有しているものとする。また、リーダ・ライタ(R/W)200は公共のデバイスであるためIDが公開されているものとする。さらに、リーダ・ライタ(R/W)200は複数のRFIDタグ100と鍵を共有し、RFIDタグ100も複数のリーダ・ライタ(R/W)200と鍵を共有しているものとする。
【0039】
<RFIDタグの内部構成>
図2を用いて、本実施形態に係るRFIDタグの内部構成について説明する。
【0040】
本実施形態に係るRFIDタグ100は、図2に示すように、情報要求送信部101と、情報受信部102と、検索部103と、ログイン時刻情報格納部104と、ハッシュ値演算部105と、情報送信部106と、記憶部107と、乱数受信部108と、暗号化部109と、暗号文送信部110とから構成されている。
【0041】
情報要求送信部101は、リーダ・ライタ(R/W)200に対して、リーダ・ライタ(R/W)200のIDの送信要求を行う。情報受信部102は、リーダ・ライタ(R/W)200からリーダ・ライタ(R/W)200のID(ID)とリーダ・ライタ(R/W)200がRFIDタグ100に送信要求するRFIDタグ100のID(ID)の桁数を受信する。
【0042】
検索部103は、情報受信部102において受信したリーダ・ライタ(R/W)200のIDへのログイン時刻をログイン時刻情報格納部104から検索する。ログイン時刻情報格納部104は、各IDへのログイン時刻を関連つけて記憶する記憶装置である。
【0043】
ハッシュ値演算部105は、検索部103が検索したログイン時刻のハッシュ値を演算する。なお、初回の通信時には鍵共有を行った時刻を検索し、その時刻のハッシュ値を使用する。情報送信部106は、ハッシュ値演算部105が演算したハッシュ値とリーダ・ライタ(R/W)200から要求された自己のID(ID)の桁数に対応する一部のID情報mを連結してリーダ・ライタ(R/W)200に送信する。なお、ここで、リーダ・ライタ(R/W)200に送信するのは、前回ログインした時刻のハッシュ値とRFIDタグ100のID(ID)の一部であるため、これらの情報から利用者を特定することはできない。
【0044】
記憶部107は、予め、それぞれのリーダ・ライタ(R/W)200ごとに異なるIDと共通鍵とを関連付けて記憶する記憶装置である。乱数受信部108は、リーダ・ライタ(R/W)200から乱数を受信する。暗号化部109は、リーダ・ライタ(R/W)200から受信した乱数を記憶部107に格納された共通鍵により暗号化して暗号文を生成する。暗号文送信部110は、暗号化部109において生成された暗号文をリーダ・ライタ(R/W)200に送信する。
【0045】
<リーダ・ライタの内部構成>
図3を用いて、本実施形態に係るリーダ・ライタの内部構成について説明する。
【0046】
本実施形態に係るリーダ・ライタ(R/W)200は、図3に示すように、情報要求受信部201と、ID情報送信部202と、ハッシュ値受信部203と、抽出部204と、ハッシュ値演算部205と、RFID特定部206と、記憶部207と、乱数生成部208と、乱数送信部209と、暗号文受信部210と、暗号通信路確立部211とから構成されている。
【0047】
情報要求受信部201は、RFIDタグ100の情報要求送信部101からリーダ・ライタ(R/W)200のIDの送信要求を受信する。ID情報送信部202は、自己のIDとRFIDタグ100に要求するRFIDタグ100のIDの桁数を送信する。なお、リーダ・ライタ(R/W)200は、RFIDタグ100に要求する桁数を必要に応じて変化させることでユーザのプライバシと計算量のバランスをとることができる。ユーザのプライバシが重要となるときはRFIDタグ100に要求するRFIDタグ100のID(ID)のm桁を小さくし漏えいする情報量を小さくする。逆に、計算速度が求められる場合にはm桁を大きくし、ハッシュ処理の回数を減らすことで対応する共通鍵を高速に検索可能となる。
【0048】
なお、RFIDタグ100は、リーダ・ライタ(R/W)200に対して、IDの桁数を要求する場合に、RFIDタグ100が予めIDから何を取り出すかを固定的に決めておいてもよいし、以下、図4に示す例のように、取り出し方も一緒に送信してもよい。
【0049】
取り出し方の具体例としては、図4(1)のように、例えば、10桁のIDの第1のカラムから3桁を取り出す場合、図4(2)のように、10桁のIDから無作為に4桁を取り出す場合、図4(3)のように、10桁のIDの第7のカラムから6桁を取り出す場合、図4(4)のように、10桁のIDの第1のカラムから3桁を取り出し逆順にセットする場合、図4(5)のように、10桁のIDの第1のカラムから3桁を取り出し規定値をパディングする場合等が考えられる。ただし、図4に示す具体例は、あくまでも例示であり、これに限るものではない。
【0050】
ハッシュ値受信部203は、RFIDタグ100のハッシュ値演算部105が演算したログイン時刻のハッシュ値を受信する。抽出部204は、ハッシュ値受信部203から受信したRFIDタグ100のIDのm桁に基づいて、後述する記憶部207を検索し、候補となるIDを抽出する。
【0051】
ハッシュ値演算部205は、抽出部204が抽出したそれぞれのIDのログイン時刻のハッシュ値を演算する。RFID特定部206は、ハッシュ値演算部205が演算したハッシュ値から、現在通信を行っているRFIDタグ100を特定する。記憶部207は、予めそれぞれのRFIDタグ100ごとに異なるIDと共通鍵およびログイン時刻のハッシュ値とを関連付けて記憶する記憶装置である。
【0052】
乱数生成部208は、乱数を生成する。乱数送信部209は、RFID特定部206による特定が完了した後に、乱数生成部208により生成した乱数を特定したRFIDタグ100に送信する。暗号文受信部210は、RFIDタグ100の暗号化部109において生成された暗号文を受信する。暗号通信路確立部211は、特定したRFIDタグ100から受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立し、誤った暗号文である場合には、通信を遮断する。
【0053】
<情報通信システムの処理>
図4を用いて、本実施形態に係る情報通信システムの処理について説明する。
【0054】
まず、RFIDタグ100の情報要求送信部101が、リーダ・ライタ(R/W)200のIDの送信要求を行う(ステップS101)。リーダ・ライタ(R/W)200は、IDの送信要求を受信したときに、自己のIDとRFIDタグ100に要求するRFIDタグ100のIDの桁数を送信する(ステップS102)。
【0055】
RFIDタグ100の検索部103は、受信したリーダ・ライタ(R/W)200のIDへのログイン時刻をログイン時刻情報格納部104から検索する(ステップS103)。次に、RFIDタグ100のハッシュ値演算部105は、検索したログイン時刻のハッシュ値を演算する(ステップS104)。そして、RFIDタグ100の情報送信部106は、演算したハッシュ値とリーダ・ライタ(R/W)200から要求された自己のIDのm桁を連結して送信する(ステップS105)。
【0056】
一方、リーダ・ライタ(R/W)200は、受信したRFIDタグ100のIDのm桁に基づいて、予め関連付けて記憶するそれぞれのRFIDタグ100ごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する(ステップS106)。そして、抽出したそれぞれのIDのログイン時刻のハッシュ値を演算し(ステップS107)、演算したハッシュ値から、現在通信を行っているRFIDタグ100を特定して(ステップS108)、特定が完了した後に、生成した乱数を特定したRFIDタグ100に送信する(ステップS109)。
【0057】
RFIDタグ100は、リーダ・ライタ(R/W)200から受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタ(R/W)200ごとに異なるIDと共通鍵から共通鍵を抽出して、その抽出した共通鍵により暗号化して暗号文を生成する(ステップS110)。そして、その暗号文をリーダ・ライタ(R/W)200に送信する(ステッS111)。一方、リーダ・ライタ(R/W)200は、特定したRFIDタグ100から受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する(ステップS112)。
【0058】
なお、ステップS106において、同じ構成の候補が複数存在した場合には、それらのRFIDタグ100すべてを特定し、乱数を送信するが、仮に、誤ったRFIDタグ100に乱数を送信した場合には、ステップS112でエラーとなるため、最初のステップに戻って、正しいRFIDタグ100を特定できるまで上記の処理を繰り返す。
【0059】
したがって、本実施形態によれば、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。
【0060】
<第2の実施形態>
図5から図7を用いて、本発明の第2の実施形態について説明する。図5および図6からも明らかなように、本実施形態では、第1の実施形態におけるハッシュ関数による処理を共通鍵暗号を使用することによって同様の機能を実現するものである。こうすることによって、ハッシュ関数の回路が不要となり、さらに回路規模の小さいシステムの実現が可能となる。
【0061】
<RFIDタグの内部構成>
図5を用いて、本実施形態に係るRFIDタグの内部構成について説明する。
【0062】
本実施形態に係るRFIDタグ100は、図5に示すように、情報要求送信部101と、情報受信部102と、検索部103と、ログイン時刻情報格納部104と、共通鍵暗号化部301と、情報送信部106と、記憶部107と、乱数受信部108と、暗号化部109と、暗号文送信部110とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有するため、詳細な説明は、省略する。
【0063】
共通鍵暗号化部301は、共通鍵暗号を使用して、ログイン時刻の暗号化を行い、暗号化されたログイン情報を情報送信部106を介してリーダ・ライタ(R/W)200に送信する。
【0064】
<リーダ・ライタの内部構成>
図6を用いて、本実施形態に係るリーダ・ライタの内部構成について説明する。
【0065】
本実施形態に係るリーダ・ライタ(R/W)200は、図6に示すように、情報要求受信部201と、ID情報送信部202と、共通鍵暗号受信部401と、抽出部204と、共通鍵暗号化部402と、RFID特定部403と、記憶部404と、乱数生成部208と、乱数送信部209と、暗号文受信部210と、暗号通信路確立部211とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有するため、詳細な説明は、省略する。
【0066】
共通鍵暗号受信部401は、RFIDタグ100から共通鍵で暗号化されたログイン時刻を受信する。共通鍵暗号化部402は、抽出部204が抽出したそれぞれのIDのログイン時刻を共通鍵で暗号化する。RFID特定部403は、暗号化されたログイン時刻に基づいて、記憶部404を検索して、現在通信を行っているRFIDタグ100を特定する。記憶部404は、予めそれぞれのRFIDタグ100ごとに異なるIDと共通鍵およびログイン時刻を共通鍵で暗号化した情報とを関連付けて記憶する記憶装置である。
【0067】
<情報通信システムの処理>
図7を用いて、本実施形態に係る情報通信システムの処理について説明する。
【0068】
まず、RFIDタグ100の情報要求送信部101が、リーダ・ライタ(R/W)200のIDの送信要求を行う(ステップS201)。リーダ・ライタ(R/W)200は、IDの送信要求を受信したときに、自己のIDとRFIDタグ100に要求するRFIDタグ100のIDの桁数を送信する(ステップS202)。
【0069】
RFIDタグ100の検索部103は、受信したリーダ・ライタ(R/W)200のIDへのログイン時刻をログイン時刻情報格納部104から検索する(ステップS203)。次に、RFIDタグ100の共通鍵暗号化部301は、検索したログイン時刻を共通鍵で暗号化する(ステップS204)。そして、RFIDタグ100の情報送信部106は、暗号化されたログイン時刻とリーダ・ライタ(R/W)200から要求された自己のIDのm桁を連結して送信する(ステップS205)。
【0070】
一方、リーダ・ライタ(R/W)200は、受信したRFIDタグ100のIDのm桁に基づいて、予め関連付けて記憶するそれぞれのRFIDタグ100ごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する(ステップS206)。そして、抽出したそれぞれのIDのログイン時刻を共通鍵で暗号化し(ステップS207)、暗号化したログイン時刻から、現在通信を行っているRFIDタグ100を特定して(ステップS208)、特定が完了した後に、生成した乱数を特定したRFIDタグ100に送信する(ステップS209)。
【0071】
RFIDタグ100は、リーダ・ライタ(R/W)200から受信した乱数を予め関連付けて記憶するそれぞれのリーダ・ライタ(R/W)200ごとに異なるIDと共通鍵から共通鍵を抽出して、その抽出した共通鍵により暗号化して暗号文を生成する(ステップS210)。そして、その暗号文をリーダ・ライタ(R/W)200に送信する(ステッS211)。一方、リーダ・ライタ(R/W)200は、特定したRFIDタグ100から受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する(ステップS212)。
【0072】
したがって、本実施形態によれば、RFIDタグ等の公開鍵暗号が使用できない機器において、IDを秘匿したまま正しい共通鍵の特定が可能となり、ユーザがどのR/W(リーダ・ライタ)と通信を行ったか、ユーザがどの程度の頻度で通信を行っているか、といったユーザのプライバシ情報が第三者に漏れるのを防ぐことができる。また、ハッシュ関数の回路が不要となるため、さらに回路規模の小さいシステムの実現が可能となる。
【0073】
なお、RFIDタグおよびリーダ・ライタの処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをRFIDタグおよびリーダ・ライタに読み込ませ、実行することによって本発明の情報通信システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0074】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0075】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0076】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、第1の実施形態においては、RFIDタグがリーダ・ライタにログイン時刻のハッシュ値を送信する例について説明したが、これに限るものではない。つまり、RFIDタグとリーダ・ライタとの間で何らかの取り決めを行い、それに従った値を送信すればよい。例えば、ログイン時刻の代わりにある値を種として使用し、種をハッシュ関数に入力することで値を更新する方法などがある。ただし、この場合、送信する値はユーザの情報を含まないものとする。
【符号の説明】
【0077】
100;RFIDタグ
200;リーダ・ライタ(R/W)
101;情報要求送信部
102;情報受信部
103;検索部
104;ログイン時刻情報格納部
105;ハッシュ値演算部
106;情報送信部
107;記憶部
108;乱数受信部
109;暗号化部
110;暗号文送信部
201;情報要求受信部
202;ID情報送信部
203;ハッシュ値受信部
204;抽出部
205;ハッシュ値演算部
206;RFID特定部
207;記憶部
208;乱数生成部
209;乱数送信部
210;暗号文受信部
211;暗号通信路確立部
301;共通鍵暗号化部
401;共通鍵暗号受信部
402;共通鍵暗号化部
403;RFID特定部
404;記憶部



【特許請求の範囲】
【請求項1】
非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、
前記非接触型ICデバイスおよびリーダ・ライタがともに、
共通鍵暗号を実行する共通鍵暗号手段と、
それぞれの前記非接触型ICデバイスあるいはリーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶する記憶手段を備え、
前記共通鍵暗号手段による共通鍵暗号により、情報通信を行うことを特徴とする情報通信システム。
【請求項2】
前記リーダ・ライタがIDおよび共通鍵を生成する乱数生成器を備え、
該生成したIDおよび共通鍵を事前にセキュアな通信路を用いて前記非接触型ICデバイスに送信することにより共有化することを特徴とする請求項1に記載の情報通信システム。
【請求項3】
前記非接触型ICデバイスが前記リーダ・ライタに非接触型ICデバイスのIDのうち、一部の情報のみを送信し、前記リーダ・ライタが受信した前記非接触型ICデバイスのIDのうち、一部の情報のみから前記非接触型ICデバイスの共通鍵の特定を行うことを特徴とする請求項1または請求項2に記載の情報通信システム。
【請求項4】
前記非接触型ICデバイスがRFIDタグであることを特徴とする請求項1から請求項3のいずれかに記載の情報通信システム。
【請求項5】
非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、
前記非接触型ICデバイスが、
それぞれの前記リーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶する第1の記憶手段と、
前記リーダ・ライタのIDの送信要求を行う情報要求送信手段と、
受信した前記リーダ・ライタのIDへのログイン時刻を検索する検索手段と、
該検索したログイン時刻のハッシュ値を演算する第1の演算手段と、
該演算したハッシュ値と前記リーダ・ライタから要求された自己のn桁のIDからm桁を取り出して、連結して送信する情報送信手段と、
前記リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する暗号化手段と、
該暗号文を前記リーダ・ライタに送信する暗号文送信手段と、
を備え、
前記リーダ・ライタが、
それぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵およびログイン時刻のハッシュ値とを関連付けて記憶する第2の記憶手段と、
乱数を生成する乱数生成手段と、
前記情報要求送信手段からIDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信するID情報送信手段と、
前記情報送信手段から受信した前記非接触型ICデバイスのIDのm桁に基づいて、前記第2の記憶手段を検索し、候補となるIDを抽出する抽出手段と、
該抽出したそれぞれのIDのログイン時刻のハッシュ値を演算する第2の演算手段と、
該演算したハッシュ値に基づいて前記第2の記憶手段を検索して、現在通信を行っている前記非接触型ICデバイスを特定する特定手段と、
該特定手段による特定が完了した後に、前記乱数生成手段により生成した乱数を前記特定した非接触型ICデバイスに送信する乱数送信手段と、
前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する暗号通信路確立手段と、
を備えたことを特徴とする情報通信システム。
【請求項6】
前記リーダ・ライタが要求する前記非接触型ICデバイスのIDのm桁を可変することができることを特徴とする請求項5に記載の情報通信システム。
【請求項7】
非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムであって、
前記非接触型ICデバイスが、
それぞれの前記リーダ・ライタごとに異なるIDと共通鍵とを関連付けて記憶する第1の記憶手段と、
前記リーダ・ライタのIDの送信要求を行う情報要求送信手段と、
受信した前記リーダ・ライタのIDへのログイン時刻を検索する検索手段と、
該検索したログイン時刻を前記記憶する共通鍵で暗号化する第1の暗号化手段と、
該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する情報送信手段と、
前記リーダ・ライタから受信した乱数を記憶する共通鍵により暗号化して暗号文を生成する暗号文生成手段と、
該暗号文を前記リーダ・ライタに送信する暗号文送信手段と、
を備え、
前記リーダ・ライタが、
それぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵および共通鍵で暗号化されたログイン時刻とを関連付けて記憶する第2の記憶手段と、
乱数を生成する乱数生成手段と、
前記情報要求送信手段からIDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信するID情報送信手段と、
前記情報送信手段から受信した前記非接触型ICデバイスのIDのm桁に基づいて、前記第2の記憶手段を検索し、候補となるIDを抽出する抽出手段と、
該抽出したそれぞれのIDのログイン時刻を前記記憶する共通鍵で暗号化する第2の暗号化手段と、
該暗号化されたログイン時刻に基づいて前記第2の記憶手段を検索して、現在通信を行っている前記非接触型ICデバイスを特定する特定手段と、
該特定手段による特定が完了した後に、前記乱数生成手段により生成した乱数を前記特定した非接触型ICデバイスに送信する乱数送信手段と、
前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する暗号通信路確立手段と、
を備えたことを特徴とする情報通信システム。
【請求項8】
前記リーダ・ライタが要求する前記非接触型ICデバイスのIDのm桁を可変することができることを特徴とする請求項7に記載の情報通信システム。
【請求項9】
非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法であって、
前記非接触型ICデバイスが、前記リーダ・ライタのIDの送信要求を行う第1のステップと、
前記リーダ・ライタが、IDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信する第2のステップと、
前記非接触型ICデバイスが、受信した前記リーダ・ライタのIDへのログイン時刻を検索する第3のステップと、
前記非接触型ICデバイスが、該検索したログイン時刻のハッシュ値を演算する第4のステップと、
前記非接触型ICデバイスが、該演算したハッシュ値と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する第5のステップと、
前記リーダ・ライタが、前記受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する第6のステップと、
前記リーダ・ライタが、該抽出したそれぞれのIDのログイン時刻のハッシュ値を演算する第7のステップと、
前記リーダ・ライタが、該演算したハッシュ値から、現在通信を行っている前記非接触型ICデバイスを特定する第8のステップと、
前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ICデバイスに送信する第9のステップと、
前記非接触型ICデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第10のステップと、
前記非接触型ICデバイスが、該暗号文を前記リーダ・ライタに送信する第11のステップと、
前記リーダ・ライタが、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第12のステップと、
を備えたことを特徴とする情報通信方法。
【請求項10】
非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法であって、
前記非接触型ICデバイスが、前記リーダ・ライタのIDの送信要求を行う第1のステップと、
前記リーダ・ライタが、IDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信する第2のステップと、
前記非接触型ICデバイスが、受信した前記リーダ・ライタのIDへのログイン時刻を検索する第3のステップと、
前記非接触型ICデバイスが、予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により該検索したログイン時刻を暗号化する第4のステップと、
前記非接触型ICデバイスが、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する第5のステップと、
前記リーダ・ライタが、前記受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する第6のステップと、
前記リーダ・ライタが、該抽出したそれぞれのIDのログイン時刻を前記記憶する共通鍵で暗号化する第7のステップと、
前記リーダ・ライタが、該暗号化したログイン時刻から、現在通信を行っている前記非接触型ICデバイスを特定する第8のステップと、
前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ICデバイスに送信する第9のステップと、
前記非接触型ICデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第10のステップと、
前記非接触型ICデバイスが、該暗号文を前記リーダ・ライタに送信する第11のステップと、
前記リーダ・ライタが、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第12のステップと、
を備えたことを特徴とする情報通信方法。
【請求項11】
コンピュータに、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法を実行させるためのプログラムであって、
前記非接触型ICデバイスが、前記リーダ・ライタのIDの送信要求を行う第1のステップと、
前記リーダ・ライタが、IDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信する第2のステップと、
前記非接触型ICデバイスが、受信した前記リーダ・ライタのIDへのログイン時刻を検索する第3のステップと、
前記非接触型ICデバイスが、該検索したログイン時刻のハッシュ値を演算する第4のステップと、
前記非接触型ICデバイスが、該演算したハッシュ値と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する第5のステップと、
前記リーダ・ライタが、前記受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する第6のステップと、
前記リーダ・ライタが、該抽出したそれぞれのIDのログイン時刻のハッシュ値を演算する第7のステップと、
前記リーダ・ライタが、該演算したハッシュ値から、現在通信を行っている前記非接触型ICデバイスを特定する第8のステップと、
前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ICデバイスに送信する第9のステップと、
前記非接触型ICデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第10のステップと、
前記非接触型ICデバイスが、該暗号文を前記リーダ・ライタに送信する第11のステップと、
前記リーダ・ライタが、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第12のステップと、
をコンピュータに実行させるためのプログラム。
【請求項12】
コンピュータに、非接触型ICデバイスとリーダ・ライタとの間で暗号化された情報を通信する情報通信システムにおける情報通信方法を実行させるためのプログラムであって、
前記非接触型ICデバイスが、前記リーダ・ライタのIDの送信要求を行う第1のステップと、
前記リーダ・ライタが、IDの送信要求を受信したときに、自己のIDと前記非接触型ICデバイスに要求する前記非接触型ICデバイスのIDの桁数を送信する第2のステップと、
前記非接触型ICデバイスが、受信した前記リーダ・ライタのIDへのログイン時刻を検索する第3のステップと、
前記非接触型ICデバイスが、予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により該検索したログイン時刻を暗号化する第4のステップと、
前記非接触型ICデバイスが、該暗号化されたログイン時刻と前記リーダ・ライタから要求された自己のIDのm桁を連結して送信する第5のステップと、
前記リーダ・ライタが、前記受信した前記非接触型ICデバイスのIDのm桁に基づいて、予め関連付けて記憶するそれぞれの前記非接触型ICデバイスごとに異なるIDと共通鍵とから検索を行い、候補となるIDを抽出する第6のステップと、
前記リーダ・ライタが、該抽出したそれぞれのIDのログイン時刻を前記記憶する共通鍵で暗号化する第7のステップと、
前記リーダ・ライタが、該暗号化したログイン時刻から、現在通信を行っている前記非接触型ICデバイスを特定する第8のステップと、
前記リーダ・ライタが、特定が完了した後に、生成した乱数を前記特定した非接触型ICデバイスに送信する第9のステップと、
前記非接触型ICデバイスが、前記リーダ・ライタから受信した乱数を予め関連付けて記憶するそれぞれの前記リーダ・ライタごとに異なるIDと共通鍵から共通鍵を抽出して該抽出した共通鍵により暗号化して暗号文を生成する第10のステップと、
前記非接触型ICデバイスが、該暗号文を前記リーダ・ライタに送信する第11のステップと、
前記リーダ・ライタが、前記特定した非接触型ICデバイスから受信した暗号文を検証して、暗号文が正しい場合に、暗号通信路を確立する第12のステップと、
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−49944(P2011−49944A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−197947(P2009−197947)
【出願日】平成21年8月28日(2009.8.28)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】