説明

他サービス環境でのIDデバイスのリンク不能性を守るID管理装置と方法

【課題】多サービスが可能なIDデバイスにおいて、第2者サービスにのみリンク可能性を許し、第3者サービスを含むそれ以外の者にはリンク不能性を保証するような高速なIDの識別の方式を提供する。
【解決手段】IDデバイスに唯一に与えられるユーザIDと、ユーザIDの一部を抽出したサブIDと、サブIDを用いてユーザを識別するサービスシステムと、サービスシステムが持つ複数のユーザに対するサブIDリストと、サブID以外の一部を抽出した他サブIDを用いてユーザを識別する複数の他サービスシステムと、他サービスシステムそれぞれがもつ複数のユーザに対する他サブIDリストと、サービスシステムに唯一に与えられるサービスIDと、を備えた識別方法において、IDデバイスとサービスシステムがユーザIDやサブIDをそのままの値でやりとりすることなくサービスシステムがサブIDを識別し、他サービスシステムにはサブIDを識別させない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、RFID(Radio Frequency Identification)タグやICカード、携帯電話といったIDデバイスのセキュリティおよび、個人情報保護、リンク不能性、認証、識別に関する。
【背景技術】
【0002】
現在、ICカードやRFIDタグ、携帯電話といった小型のデバイスが物品や利用者に与えられ、種々のサービスを利用者が享受する際に、これらのデバイスとサービス機器の間の近距離通信により物品や利用者を識別することが多くなってきている。
【0003】
ICカードは、サービス機器と、接触あるいは非接触の状態で通信をおこなうことのできるカード形状のデバイスであり、内部にアンテナをはじめ、計算能力をもつプロセッサや通信が終わっても記憶をつづけることができる不揮発性メモリを持つ。
【0004】
RFIDタグは、サービス機器と、非接触の状態で通信をおこなうことのできる小型のデバイスであり、内部にアンテナをはじめ、計算能力をもつプロセッサや通信が終わっても記憶をつづけることができる不揮発性メモリを持つ。
【0005】
これらのデバイスは、他のデバイスと区別して識別されるように、サービスの中で唯一の識別子(ID)を保持する。
【0006】
そこで、これらIDを持つデバイスはIDデバイスと呼ばれる。
【0007】
しかし、これらIDは、その利用者が気づかないうちに任意の第3者に読み取られてしまう可能性があり、その結果IDデバイスの位置や、IDに関連する個人情報が漏洩してしまうという問題が発生する。
【0008】
特に、複数のIDデバイスの識別の履歴の中から、1つのIDデバイスについての履歴を第3者が選別し知ることができてしまうというリンク可能性の問題がある。
【0009】
リンク可能性の問題は、利用者の名前や住所といった個人に関する情報を知らなくても、第3者にとって目の前にいる人の行動履歴を知ることができてしまうというように、個人情報が脅かされる問題である。
【0010】
リンク可能性の問題は、IDを単純に暗号化して識別に用いるだけでは解決できないという意味で、通常の個人情報の保護よりも難しい問題である。
【0011】
これをふまえて、IDを識別する際に、乱数などの毎回変化する値をIDの暗号化の際の入力に加えて、第3者にとっては毎回異なる値が得られるような方式が提案された(特許文献1)。
【0012】
一方、世の中に情報サービスが普及するにつれ、ICカードを利用者がたくさん保持することが多くなり、1枚のICカードを複数のサービスのIDデバイスとして用いる要求が大きくなってきた。
【0013】
また、物品につけられるRFIDタグに関しても、物品のライフサイクルの複数の場面で異なる目的に用いられることが望まれており、この場合も1つのIDデバイスを複数のサービスに用いるという要求と合致する。
【0014】
しかし、1つのIDデバイスが多数のサービスに用いられるようになればなるほど、そのIDがサービスやIDデバイスから漏洩した際の被害は大きくなる。
【0015】
リンク可能性の問題も同様に増大し、個人の行動を常に追跡する恐れが大きくなる。
【0016】
そこで、IDデバイスに与えられるIDの一部を抽出して与えられるサブIDを個々のサービスのために用い、別のサービスにはIDの別の一部を抽出して与えられる別のサブIDを用いることにより、被害の拡大を防ぐ方法が提案された(非特許文献1、特許文献2)。
【0017】
【非特許文献1】Stephen A。 Weis他著 鉄ecurity and Privacy Aspects of Low-Cost Radio Frequency Identification Systems煤ASpringer Verlag社、「Security in Pervasive Computing」、Lecture Notes in Computer Science、Volume 2802、201-212ページ、2003年
【特許文献1】特開2004−317764号公報
【特許文献2】特開2004−192487号公報
【発明の開示】
【発明が解決しようとする課題】
【0018】
以上説明したように、多サービスを実現するIDデバイスにおいては、複数のIDデバイスの識別の履歴の中から、1つのIDデバイスについての履歴を第3者が選別し知ることができないことを保証するというリンク不能性を達成することが重要である。
【0019】
非特許文献1と特許文献1は、IDを識別する際に、毎回変化する値とともにIDを暗号化することにより、第3者にとっては毎回異なる値が得られるようにすることにより第3者に対するリンク不能性を実現する方法である。
【0020】
しかし、多サービスの環境においては、第3者には、第2者となるサービス以外のサービス(第3者サービス)も含まれる。
【0021】
非特許文献1や特許文献1はこのような多サービスを想定していないために、第2者サービスと第3者サービスの区別をすることができない。
【0022】
この結果、サービスの資格を持たない者に対するリンク不能性は実現できても、サービスの資格を持つ第3者に対するリンク不能性は実現できない。
【0023】
また、特許文献2は多サービスを志向しているものの、IDデバイスの識別の方式については記述がないため、リンク不能性は実現できていない。
【0024】
本発明は、多サービスが可能なIDデバイスにおいて、第2者サービスにのみリンク可能性を許し、第3者サービスを含むそれ以外の者にはリンク不能性を保証するようなIDの識別の方式を提供することを目的とする。
【0025】
また本発明は、上記のような第2者サービスにのみリンク可能性を許す識別の際に、IDデバイスとサービスが相互に安全に認証をおこなう方式を提供することを目的とする。
【0026】
さらに本発明は、上記のような第2者サービスにのみリンク可能性を許す識別および認証の際に問題となる、処理時間の長大化を抑え高速化する方式を提供することを目的とする。
【課題を解決するための手段】
【0027】
この目的を達成するために、本発明の識別方法は、IDデバイスとサービスシステムがユーザIDやサブIDをそのままの値でやりとりすることなく前記サービスシステムが前記サブIDを識別し、他サービスシステムにはサブIDを識別させないことを特徴とし、これを実現するために、複数のユーザと、前記ユーザそれぞれが保有するIDデバイスと、前記IDデバイスに唯一に与えられるユーザIDと、前記ユーザIDの一部を抽出して与えられるサブIDと、前記サブIDを用いてユーザを識別するサービスシステムと、前記サービスシステムが持つ複数の前記ユーザに対するサブIDリストと、前記ユーザIDの前記サブID以外の一部を抽出して与えられる他サブIDを用いて前記ユーザを識別する複数の他サービスシステムと、前記他サービスシステムそれぞれがもつ複数の前記ユーザに対する他サブIDリストと、前記サービスシステムに唯一に与えられるサービスIDを備えるように構成する。
【0028】
これにより、ユーザや第2者サービスシステム以外の者にとっては、識別において発生する通信を盗み見たとしてもサブIDを知ることができず、第3者サービスシステムや第3者に対するリンク不能性を達成できる。
【0029】
このように構成される本発明の識別方法は、以下に説明する6つの構成にしたがって、IDデバイスの識別におけるリンク不能性を達成する。
【0030】
第1の構成として、前記サービスシステムが、前記サービス乱数発生装置を用いてサービス乱数を生成し、前記サービスシステムが、前記サービスIDと前記サービス乱数を前記IDデバイスに送信し、その後、前記IDデバイスが、前記サービスIDから前期サービスシステムに対応する前記サブIDを検索し、その後、前記IDデバイスが、前記ユーザ乱数発生装置を用いてユーザ乱数を生成し、その後、前記IDデバイスが、前記ユーザハッシュ装置を用いて前記ユーザ乱数と前記サービス乱数と前記サブIDをハッシュ変換したユーザハッシュ値を、前記ユーザ乱数とともに前記サービスシステムに渡し、その後、前記サービスシステムが前記サービスハッシュ装置および前記サービス乱数、前記ユーザ乱数および自己がもつ前記サブIDリストを用いて前記ユーザハッシュ値に対応する前記サブIDを検索することによりIDデバイスを識別するように処理する。
【0031】
これにより、ユーザや第2者サービスシステム以外の者にとっては、識別において発生する通信を盗み見たとしてもサブIDを知ることができず、第3者サービスシステムや第3者に対するリンク不能性を達成できる。
【0032】
第2の構成として、前記サービスシステムが、前記サービス乱数発生装置を用いてサービス乱数を生成し、前記サービスシステムが、前記サービスIDと前記サービス乱数を前記IDデバイスに送信し、その後、前記IDデバイスが、前記サービスIDから前期サービスシステムに対応する前記サブIDを検索し、その後、前記IDデバイスが前記ユーザ乱数発生装置を用いてユーザ乱数を生成し、その後、前記IDデバイスが前記公開鍵と前記公開鍵暗号化装置を用いて前記ユーザ乱数と前記サービス乱数と前記サブIDとを暗号化した暗号値を前記サービスシステムに渡し、その後、前記サービスシステムが前記秘密鍵と前記公開鍵復号化装置を用いて前記暗号値を前記サブIDに復号化することによりIDデバイスを識別するように処理する。
【0033】
これにより、ユーザや第2者サービスシステム以外の者にとっては、識別において発生する通信を盗み見たとしてもサブIDを知ることができず、第3者サービスシステムや第3者に対するリンク不能性を達成できる。
【0034】
第3の構成として、前記サービスシステムが、前記サービスIDを前記IDデバイスに送信し、その後、前記IDデバイスが、前記サービスIDから前期サービスシステムに対応する前記サブIDを検索し、その後、前記IDデバイスが前記ユーザ乱数発生装置を用いてユーザ乱数を生成し、その後、前記IDデバイスが前記ユーザハッシュ装置を用いて前記ユーザ乱数と前記ユーザIDをハッシュ変換したユーザハッシュ値を、前記ユーザ乱数および前期グループIDとともに前記サービスシステムに渡し、その後、前記サービスシステムが前記グループIDと前記グループIDリストを元に前記IDデバイスが属するグループを特定し、その後、前記サービスシステムが前記サービスハッシュ装置と前期ユーザ乱数および自己がもつ前記ユーザIDリストを用いて前記ユーザハッシュ値に対応する前記ユーザIDを前記グループに属するユーザの中から検索することによりIDデバイスを識別するように処理する。
【0035】
これにより、ユーザや第2者サービスシステム以外の者にとっては、識別において発生する通信を盗み見たとしてもサブIDを知ることができず、第3者サービスシステムや第3者に対するリンク不能性を一定のレベルで達成できるのと同時に、サービスシステム側で必要なサブIDリストの検索処理を高速化することができる。
【0036】
第4の構成として、前記サービスシステムが、前記サービスIDを前記IDデバイスに送信し、その後、前記IDデバイスが、前記サービスIDから前期サービスシステムに対応する前記サブIDを検索し、その後、前記IDデバイスが前記ユーザ乱数発生装置を用いてユーザ乱数を生成し、その後、前記IDデバイスが前記ユーザハッシュ装置を用いて前記ユーザ乱数とひとつの前記部分サブIDをハッシュ変換したユーザハッシュ値を、前記ユーザ乱数とともに前記サービスシステムに渡すという部分サブID開示処理を実行し、その後、前記サービスシステムが前記サービスハッシュ装置と前期ユーザ乱数および自己がもつ前記ユーザIDリストを用いて前記ユーザハッシュ値に対応する複数の前記ユーザIDを絞り込むというサブID絞込み処理を実行し、その後、サブIDが1つに絞り込まれるまで前記部分サブID開示処理と前記サブID絞込み処理を繰り返すことによりIDデバイスを識別するように処理する。
【0037】
これにより、ユーザや第2者サービスシステム以外の者にとっては、識別において発生する通信を盗み見たとしてもサブIDを知ることができず、第3者サービスシステムや第3者に対するリンク不能性を最大のレベルまで達成できるのと同時に、サービスシステム側で必要なサブIDリストの検索処理を高速化することができる。
【0038】
第5の構成として、第3または4の構成に加えて、すべての前記ユーザについての前記ユーザIDと前記サブIDが一致するようにサブIDを抽出し、すべての前記サービスの前記サービスIDが空値を含む固定値であるように構成する。
【0039】
これにより、多サービス環境だけでなく、従来からの1つのサービスの環境においてリンク不能性が求められる場合においても、リンク不能性の達成を行いながらサービスシステム側で必要なサブIDリストの検索処理を高速化することができる。
【0040】
第6の構成として、前記第1〜5のいずれかの構成に加え、前記サービスシステムと前記IDデバイスが相互に認証するように構成する。
【0041】
これにより、リンク不能性の達成を行いながらのIDデバイスの識別と同時に、リンク不能性の達成を行いながらのIDデバイスとサービスシステムの間の相互認証が可能になる。
【0042】
第6の構成は、以下に説明する2つの構成に従って、リンク不能性を保ったままでのIDデバイスとサービスシステムの間の相互認証を実現する。
【0043】
第6aの構成として、第1〜5のいずれかの構成に加え、前記サービスシステムが前記ユーザハッシュ装置を用いて前記ユーザ乱数と前記サブIDをハッシュ変換したサービスハッシュ値を前記IDデバイスに渡し、その後、前記IDデバイスが前記ユーザハッシュ装置と前記サービス乱数および自己が持つ前記サブIDを用いて前記サービスハッシュ値が前期ユーザIDに対応するかを確認し、対応すれば前期IDデバイスが前記サービスシステムを正しいサービスシステムであると認証することによって相互認証を実現するように処理する。
【0044】
これにより、リンク不能性を保ったままでのIDデバイスとサービスシステムの間の相互認証が実現できる。
【0045】
第6aの構成として、第1〜5のいずれかの構成に加え、前記サービスシステムが前記公開鍵と前記公開鍵暗号化装置を用いて前記サービス乱数と前記サブIDを暗号化したサービス暗号値を前記IDデバイスに渡し、その後、前記IDデバイスが前記ユーザ秘密鍵と前記ユーザ公開鍵復号化装置を前記サービス暗号値を復号化し、これが前記サブIDに一致すれば前期IDデバイスが前記サービスシステムを正しいサービスシステムであると認証することによって相互認証を実現するように処理する。
【0046】
これにより、リンク不能性を保ったままでのIDデバイスとサービスシステムの間の相互認証が実現できる。
【発明の効果】
【0047】
本発明の識別方法によれば、IDデバイスは第2者サービスシステムにのみ識別させ、第3者サービスシステムや第3者に対しては識別させることがない。
【0048】
IDデバイスは、第2者サービスシステムからサービスIDを受け取った後で第2者サービスシステムにのみ識別できる値をもちいて識別に必要な値を出力するため、第2者サービスシステム以外にはIDデバイスが毎回異なる値を出しているように見え、複数のIDデバイスの識別の履歴を元に、同一のIDデバイスの履歴を抽出することができず、リンク不能性を達成することができる。
【0049】
また本発明の相互認証方法によれば、IDデバイスを第2者サービスシステムにのみ識別させながら相互認証をすることができる。
【0050】
IDデバイスと第2者サービスシステムの間で、識別に必要な値も暗号化またはハッシュかしながら相互認証を行うため、第2者サービスシステム以外の者に対するリンク不能性を保障しながら相互認証を行うことができる。
【発明を実施するための最良の形態】
【0051】
A||Bは、AとBという2つの情報の結合を表す。情報の結合としては、2つの情報を単に連接する方法や2つの情報の排他的論理和をとる方法などがある。
【0052】
H(A)は、Aという情報を一方向性ハッシュ関数によって変換したハッシュ値を表す。
【0053】
一般に一方向性ハッシュ関数は、任意長の入力に対応することを求められるが、本発明で用いる一方向性ハッシュ関数は、固定長の入力にのみ対応するものも含む。
【0054】
(実施の形態1)
本発明の実施例1を説明する。
【0055】
本実施例において、IDデバイスとして非接触ICカードを想定する。
【0056】
図1にIDデバイスを用いたサービスシステムの一例を図示する。
【0057】
図1において、1a〜1cはユーザ、2a〜2cは各ユーザが持つIDデバイス、3a〜3cはサービスシステム、4a〜4cは各サービスシステムが持つリーダ(IDデバイス読み取り機)、5a〜5cは各サービスシステムが持つ情報システム、6a〜6cは各サービスシステムが持つデータベースシステムである。
【0058】
図2は、ICカードの構成である。
【0059】
図2において、14はICカード、15はハッシュ装置や乱数生成装置をもつ暗号計算部、16は計算を行う論理計算部、17は無線通信部、19はデータを格納する不揮発性メモリ、18はユーザIDを格納するROM領域、20はアンテナからの波形を電力に変える電力供給部、21は無線によって外部と通信を行うためのアンテナである。
【0060】
本発明のICカードでは、サービスIDから対応するサービスシステムのサブIDの先頭アドレスと終端アドレスを取り出すための関数f、ハッシュ装置、乱数発生装置を有するものとする。
【0061】
関数fの例としては、サブIDの先頭アドレスとして「サービスID×サブIDの長さ」を、終端アドレスとして「(サービスID+1)×サブIDの長さ-1」を出力する関数が考えられる。
【0062】
また関数fとして、あらかじめサービスIDとそのサービスシステムのサブIDのアドレスをROMに記録してあるルックアップテーブルを用いることも考えられる。
【0063】
図3は、ユーザとサービスシステムにおけるサブIDの配置である。
【0064】
図3において、29a〜29cはICカードにそれぞれ保持されるユーザID、30a〜30cは、各ユーザIDのサービスシステム1に対するサブID、31a〜31bはサービスシステム、32a〜32cは各ユーザIDのサービスシステム1に対するサブID、32d〜32fは各ユーザIDのサービスシステム1に対するサブIDである。
【0065】
ハッシュ装置に実装されるハッシュ関数として、SHA(Secure Hash Algorithm)-256やSHA-512、MD5などを用いることができる。
【0066】
サービスシステムの情報システムは、ICカードの発行機関から発行されたサービスを提供する全ユーザに対応するサブIDをデータベースに保存しておく。
【0067】
また、ICカードの発行機関から発行された当該サービスシステムを特定するためのサービスIDをデータベースに保存しておく。
【0068】
図4は、ICカードとサービスシステムの間の、ハッシュ関数を用いた識別方法の手順である。
【0069】
ICカードが接近したことを感知したリーダは、乱数発生装置によって乱数Rsを生成し(Step15)、データベースに保存されているサービスIDの取り出し(Step16)を行う。
【0070】
情報システムは、リーダを通じて乱数RsとサービスIDをICカードに送信する(Step17)。
【0071】
乱数Rsは、情報システムのメモリに保存される。
【0072】
リーダからサービスIDを受け取った(Step2)ICカードは、関数fにより当該サービスIDに対応するサービスシステムのサブIDの先頭アドレスと終端アドレスを取り出す(Step4)。
【0073】
ICカードは、取り出されたアドレスを指定することにより、ユーザIDを格納するROM領域からサブIDを取り出す(Step5)。
【0074】
ICカードは、乱数発生装置によって乱数Ruを生成し(Step3)、サブIDと乱数Rsと乱数Ruのデータを結合する。
【0075】
ICカードは、乱数Rsと乱数RuとサブID SIDの結合データをハッシュ装置によって、ハッシュ値に変換し(Step6)、ハッシュ値Hu=H(Rs || Ru || SID)と乱数Ruをリーダを通じて情報システムに送付する(Step7)(Step18)。
【0076】
情報システムは、ICカードから送付された乱数Ruとメモリに保持されている乱数Rsを用いて、H(Rs || Ru || SID)の計算をデータベースに含まれる全てのサブIDについて計算し、ICカードから送られてきたハッシュ値Huと一致するものを検索する(Step19〜21)。
【0077】
ハッシュ値Huと一致するH(Rs || Ru || SID)に対応するサブIDが、ICカードのIDとなる。対応するサブIDが見つからなかった場合、情報システムはプロトコルを終了する(Step25)。
【0078】
情報システムは、サブIDとICカードから送信された乱数をハッシュ化したHs=H(SID || Ru)をリーダを通じてICカードに送信する(Step22、23、8)。
【0079】
ICカードは、リーダから送られてきたHsがH(SID || Ru)と一致するか検証する(Step9)。
【0080】
一致した場合、ICカードはリーダに対して認証成功を伝える(Step10、12、23)。
【0081】
一致しなかった場合、ICカードはリーダに対して認証失敗を伝え(Step11、12、23)、認証プロトコルを終了する(Step13)。
【0082】
認証が成功した場合、ICカードと情報システムの間で各種サービスが行われる。
【0083】
小売店におけるポイントサービスやマーケティングシステムを考える。
【0084】
小売店は、商品の購入時にICカードの提示を客に求めることにより、その客が購入した商品の情報をサブIDをもとに紐付けしていくことが可能となる。よって、小売店は紐付けされた商品情報に客ごとの購入パターンを分析することができ、マーケティングに生かすことができる利点がある。また、小売店が客の購入金額に応じたポイントをサブIDを元に累算していくことにより、客は累積ポイント数に応じた買い物をできるという利点がある。
【0085】
図4は、ICカードとサービスシステムの間の、ハッシュ装置を用いたIDの識別方法の手順である。
【0086】
ICカードが接近したことを感知したリーダは、乱数発生装置によって乱数Rsを生成し(Step15)、データベースに保存されているサービスIDの取り出し(Step16)を行う。
【0087】
情報システムは、リーダを通じて乱数RsとサービスIDをICカードに送信する(Step17)。
【0088】
乱数Rsは、情報システムのメモリに保存される。
【0089】
リーダからサービスIDを受け取った(Step2)ICカードは、関数fにより当該サービスIDに対応するサービスシステムのサブIDの先頭アドレスと終端アドレスを取り出す(Step4)。
【0090】
ICカードは、取り出されたアドレスを指定することにより、ユーザIDを格納するROM領域からサブIDを取り出す(Step5)。
【0091】
ICカードは、乱数発生装置によって乱数Ruを生成し(Step3)、サブIDと乱数Rsと乱数Ruのデータを結合する。
【0092】
ICカードは、乱数Rsと乱数RuとサブIDの結合データをハッシュ装置によって、ハッシュ値に変換し(Step6)、ハッシュ値Hu=H(Rs || Ru || SID)と乱数Ruをリーダを通じて情報システムに送付する(Step7)(Step18)。
【0093】
情報システムは、ICカードから送付された乱数Ruとメモリに保持されている乱数Rsを用いて、H(Rs || Ru || SID)の計算をデータベースに含まれる全てのサブIDについて計算し、ICカードから送られてきたハッシュ値Huと一致するものを検索する(Step19〜21)。
【0094】
ハッシュ値Huと一致するH(Rs || Ru || SID)に対応するサブIDが、ICカードのIDとなる。対応するサブIDが見つからなかった場合、情報システムはプロトコルを終了する(Step25)。
【0095】
情報システムは、サブIDとICカードから送信された乱数をハッシュ化したHs=H(SID || Ru)をリーダを通じてICカードに送信する(Step22、23、8)。
【0096】
ICカードは、リーダから送られてきたHsがH(SID || Ru)と一致するか検証する(Step9)。
【0097】
一致した場合、ICカードはリーダに対して認証成功を伝える(Step10、12、23)。
【0098】
一致しなかった場合、ICカードはリーダに対して認証失敗を伝え(Step11、12、23)、認証プロトコルを終了する(Step13)。
【0099】
認証が成功した場合、ICカードと情報システムの間で各種サービスが行われる。
【0100】
建物の入退出管理である場合を考える。
【0101】
建物のドアにはリーダが取り付けられている。取り出されたサブIDにより、ユーザが部屋のドアを開閉する権限を有するかを判定できる。
【0102】
また、ICカードのメモリに、ICカードを保有するユーザの生体情報、例えば指紋情報や目の虹彩情報が格納されているものとする。
【0103】
認証成功後、ICカードのメモリにある生体情報へのアクセスが許可され、情報システムは生体情報を取り出す。情報システムには生体情報読取装置、例えば指紋読み取り器や虹彩読み取り器が接続されており、ユーザは生体情報読み取り機に指紋や虹彩などを読み取らせる。
【0104】
カード内の生体情報と生体情報読み取り機からの情報を比較することにより、情報システムは認証者が正規のICカードの持ち主であることを確認できる。
【0105】
カード内に生体情報が格納されているため、情報システム側でユーザの個人情報である生体情報を管理する必要がない。
【0106】
また、識別方法には公開鍵暗号を用いた手法も可能である。
【0107】
図5は、ICカードとサービスシステムの間の、公開鍵暗号を用いた識別方法の手順である。
【0108】
ICカードが接近したことを感知したリーダは、乱数発生装置によって乱数Rsを生成し(Step15)、データベースに保存されているサービスIDの取り出し(Step16)を行う。
【0109】
情報システムは、リーダを通じて乱数RsとサービスIDをICカードに送信する(Step17)。
【0110】
乱数Rsは、情報システムのメモリに保存される。
【0111】
リーダからサービスIDを受け取った(Step2)ICカードは、関数fにより当該サービスIDに対応するサービスシステムのサブIDの先頭アドレスと終端アドレスを取り出す(Step4)。
【0112】
ICカードは、取り出されたアドレスを指定することにより、ユーザIDを格納するROM領域からサブIDを取り出す(Step5)。
【0113】
ICカードは、乱数発生装置によって乱数Ruを生成し(Step3)、サブIDと乱数Rsと乱数Ruのデータを結合する。
【0114】
ICカードは、乱数Rsと乱数RuとサブID SIDの結合データを公開鍵暗号化装置Eによって、暗号値に変換し(Step6)、暗号値Eu=E(Rs || Ru || SID)と乱数Ruをリーダを通じて情報システムに送付する(Step7)(Step18)。
【0115】
情報システムは、ICカードから送付された乱数Ruとメモリに保持されている乱数Rsを用いて、E(Rs || Ru || SID)を復号化しサブID SIDとRsとRuを得る(Step19)。
【0116】
対応するサブIDがサブIDリストに見つからなかった場合、情報システムはプロトコルを終了する(Step20、26)。
【0117】
情報システムは、Rsがもとの値と同じであることを確認し(Step21)、同じでなければプロトコルを終了する(Step26)。
【0118】
サブIDとICカードから送信された乱数を暗号化したEs=E(SID || Ru)をリーダを通じてICカードに送信する(Step22、23、8)。
【0119】
ICカードは、リーダから送られてきたEsがE(SID || Ru)と一致するか検証する(Step9)。
【0120】
一致した場合、ICカードはリーダに対して認証成功を伝える(Step10、12、24)。
【0121】
一致しなかった場合、ICカードはリーダに対して認証失敗を伝え(Step11、12、24)、認証プロトコルを終了する(Step13)。
【0122】
認証が成功した場合、ICカードと情報システムの間で各種サービスが行われる。
(実施の形態2)
本発明の実施例2を説明する。
【0123】
図6にIDデバイスを用いたサービスシステムの一例を図示する。
【0124】
本実施例において、IDデバイスとしてRFIDタグを想定する。
【0125】
図6において、7a〜7bはユーザ、8a〜8dは各ユーザが持つ物品、9a〜9dは各物品につけられたRFIDタグ、10a〜10cはサービスシステム、11a〜11cは各サービスシステムが持つリーダ(IDデバイス読み取り機)、12a〜12cは各サービスシステムが持つ情報システム、13a〜13cは各サービスシステムが持つデータベースシステムである。
【0126】
図7は、RFIDタグの構成である。
【0127】
図7において、22はRFIDタグ、 23はハッシュ装置や乱数生成装置をもつ暗号計算部、24は計算を行う論理計算部、25は無線通信部、26はユーザIDを格納するROM領域、27はアンテナからの波形を電力に変える電力供給部、28は無線によって外部と通信を行うためのアンテナである。
【0128】
情報システムには、データベースがあり、情報システムがシステム内における全RFIDタグに格納されたサブID情報が格納される。
【0129】
システムで用いられるサブIDの作成方法は次の通りである。
【0130】
深さKのラベル付き木(labeled tree)を考える(図8参照)。
【0131】
木はN個の葉を持ち、各葉が各RFIDタグi(1<=i<=N)に対応している。
【0132】
ある同じ親を持つ子達には、それぞれユニークなラベルが付けられる。
【0133】
根から葉に向かって進んで行った場合の各ラベルを集めたものが、その葉の持つサブIDであり、対応する各RFIDタグiに付与される。
【0134】
また、RFIDタグiのk(1<=k<=s(i))番目のラベルをID(i)[k]と表記する。
【0135】
各接点につけられたラベルが部分サブIDに相当する。
【0136】
図8は、RFIDタグと情報システムにおけるサブIDおよび部分サブIDの配置である。
【0137】
図8において、40a〜40cは、各RFIDタグにおける、1つのサービスシステムに対するサブID、33は情報システムにおけるサブID情報、 34はID(i)[1]、35はID(i)[2]、36はID(i)[3]、37はID(i)[4]、38はID(i)[5]、39a〜39gは根から葉に向かって進んで行った場合の各ラベルを集めたサブIDである。
【0138】
ただしここではID(i)[k]においてkは1〜5の値であるが、実際にはもっと多くても少なくてもよい。
【0139】
ただし、S(i)はRFIDタグiに対応する葉の深さであり、1<=S(i)<=Kである。
【0140】
情報システムはラベル付き木を木構造のまま保存しておく。
【0141】
図9は、RFIDタグとサービスシステムの間のIDの識別方法の手順である。
【0142】
RFIDタグがリーダの通信圏内に入ると、RFIDタグは乱数Rを生成する(Step2)。
【0143】
RFIDタグは、各部分サブIDについて、Hu[k]=H(ID_{i}[k] || R) (1<=k<=S(i))を計算し(Step3、4、5)、乱数Rと各部分サブIDに対応するハッシュ値(Hu[1]、Hu[2]、・・・、Hu[S(i)])の組を情報システムに送信する。
【0144】
なお、S(i)<Kの場合は、(Hu[1]、Hu[2]、・・・、Hu[S(i)])に代えて、Hu[l] (S(i)+1<=l<=K)として乱数をパディングした(Hu[1]、Hu[2]、・・・、Hu[S(i)]、Hu[S(i)+1]、・・・、Hu[K])を情報システムに送信する(Step6、7、8)ことにより、Huの個数の違いによって、第三者に対するリンク不能性が悪化することを防止できる。
【0145】
サービスシステムは、RとHu[1]、Hu[2]、・・・、Hu[K]を受け取るとStep12〜23の手順で処理する。
【0146】
認証が成功した場合、ICカードと情報システムの間で各種サービスが行われる。
【0147】
任意のRFIDタグと情報システム間における可変ID情報のやりとりの頻度が、等しく同じであるならば、木構造を完全α分木、すなわち葉を除く各接点から出る枝の数がすべて等しく同じα本の木を構成することにより、情報システム側で必要なハッシュ計算の平均計算量を最小化することができる。
【0148】
すなわちK=N^{1/K}、ただし、α=N^{1/K}である。
【図面の簡単な説明】
【0149】
【図1】IDデバイスを用いたサービスシステム
【図2】ICカードの構成
【図3】ユーザとサービスシステムにおけるサブIDの配置
【図4】ICカードとサービスシステムの間の、ハッシュ関数を用いた識別方法の手順
【図5】ICカードとサービスシステムの間の、公開鍵を用いたIDの識別方法の手順
【図6】RFIDタグを用いたサービスシステム
【図7】RFIDタグの構成
【図8】RFIDタグと情報システムにおけるサブIDおよび部分サブIDの配置
【図9】RFIDタグとサービスシステムの間の、ハッシュ関数を用いた識別方法の手順
【符号の説明】
【0150】
1a〜1c ユーザ
2a〜2c 各ユーザが持つIDデバイス
3a〜3c サービスシステム
4a〜4c 各サービスシステムが持つリーダ(IDデバイス読み取り機)
5a〜5c 各サービスシステムが持つ情報システム
6a〜6c 各サービスシステムが持つデータベースシステム
7a〜7b ユーザ
8a〜8d 各ユーザが持つ物品
9a〜9d 各物品につけられたRFIDタグ
10a〜10c サービスシステム
11a〜11c 各サービスシステムが持つリーダ(IDデバイス読み取り機)
12a〜12c 各サービスシステムが持つ情報システム
13a〜13c 各サービスシステムが持つデータベースシステム
14 ICカード
15 ハッシュ装置や乱数生成装置をもつ暗号計算部
16 計算を行う論理計算部
17 無線通信部
19 データを格納する不揮発性メモリ
18 ユーザIDを格納するROM領域
20 アンテナからの波形を電力に変える電力供給部
21 無線によって外部と通信を行うためのアンテナ
22 RFIDタグ
23 ハッシュ装置や乱数生成装置をもつ暗号計算部
24 計算を行う論理計算部、25は無線通信部
26 ユーザIDを格納するROM領域
27 アンテナからの波形を電力に変える電力供給部
28 無線によって外部と通信を行うためのアンテナである。
29a〜29c ICカードにそれぞれ保持されるユーザID
30a〜30c、各ユーザIDのサービスシステム1に対するサブID、
31a〜31b サービスシステム、
32a〜32c 各ユーザIDのサービスシステム1に対するサブID、
32d〜32f 各ユーザIDのサービスシステム1に対するサブID
33 情報システムにおけるサブID情報
34 ID(i)[1]、
35 ID(i)[2]
36 ID(i)[3]、
37 ID(i)[4]、
38 ID(i)[5]、
39a〜39g 根から葉に向かって進んで行った場合の各ラベルを集めたサブID
40a〜40c 各RFIDタグにおける、1つのサービスシステムに対するサブID

【特許請求の範囲】
【請求項1】
前記ユーザそれぞれが保有するIDデバイスと、前記IDデバイスに唯一に与えられるユーザIDと、前記ユーザIDの一部を抽出して与えられるサブIDと、前記サブIDを用いてユーザを識別するサービスシステムと、前記サービスシステムが持つ複数の前記ユーザに対するサブIDリストと、前記ユーザIDの前記サブID以外の一部を抽出して与えられる他サブIDを用いて前記ユーザを識別する複数の他サービスシステムと、前記他サービスシステムそれぞれがもつ複数の前記ユーザに対する他サブIDリストと、前記サービスシステムに唯一に与えられるサービスIDと、を備えた識別方法において、前記IDデバイスと前記サービスシステムが前記ユーザIDや前記サブIDをそのままの値でやりとりすることなく前記サービスシステムが前記サブIDを識別し、前記他サービスシステムには前記サブIDを識別させない、ことを特徴とする識別方法。
【請求項2】
前記IDデバイスが、備え付けられたユーザハッシュ装置と、ユーザ乱数発生装置と、を備え、前記サービスシステムが、前記ユーザハッシュ装置と同じ入出力を持つサービスハッシュ装置と、サービス乱数発生装置と、を備え、前記サービスシステムが、前記サービス乱数発生装置を用いてサービス乱数を生成し、その後、前記サービスシステムが、前記サービスIDと前記サービス乱数を前記IDデバイスに送信し、その後、前記IDデバイスが、前記サービスIDから前期サービスシステムに対応する前記サブIDを検索し、その後、前記IDデバイスが、前記ユーザ乱数発生装置を用いてユーザ乱数を生成し、その後、前記IDデバイスが、前記ユーザハッシュ装置を用いて前記ユーザ乱数と前記サービス乱数と前記サブIDをハッシュ変換したユーザハッシュ値を、前記ユーザ乱数とともに前記サービスシステムに渡し、その後、前記サービスシステムが前記サービスハッシュ装置および前記サービス乱数、前記ユーザ乱数および自己がもつ前記サブIDリストを用いて前記ユーザハッシュ値に対応する前記サブIDを検索することを特徴とする請求項1記載の識別方法。
【請求項3】
前記IDデバイスが、ユーザ乱数発生装置と、公開鍵暗号化装置と、公開鍵と、前記サービスシステムが、サービス乱数発生装置と、秘密鍵と、公開鍵復号化装置と、を備え、前記サービスシステムが、前記サービス乱数発生装置を用いてサービス乱数を生成し、その後、前記サービスシステムが、前記サービスIDと前記サービス乱数を前記IDデバイスに送信し、その後、前記IDデバイスが、前記サービスIDから前期サービスシステムに対応する前記サブIDを検索し、その後、前記IDデバイスが前記ユーザ乱数発生装置を用いてユーザ乱数を生成し、その後、前記IDデバイスが前記公開鍵と前記公開鍵暗号化装置を用いて前記ユーザ乱数と前記サービス乱数と前記サブIDとを暗号化した暗号値を前記サービスシステムに渡し、その後、前記サービスシステムが前記秘密鍵と前記公開鍵復号化装置を用いて前記暗号値を前記サブIDに復号化することを特徴とする請求項1記載の識別方法。
【請求項4】
前記IDデバイスが、複数の前記ユーザからなるグループに唯一に与えられるグループIDと、複数の前記ユーザに対するグループIDリストを備え、前記サービスシステムが、前記サービスIDを前記IDデバイスに送信し、その後、前記IDデバイスが、前記サービスIDから前期サービスシステムに対応する前記サブIDを検索し、その後、前記IDデバイスが前記ユーザ乱数発生装置を用いてユーザ乱数を生成し、その後、前記IDデバイスが前記ユーザハッシュ装置を用いて前記ユーザ乱数と前記ユーザIDをハッシュ変換したユーザハッシュ値を、前記ユーザ乱数および前期グループIDとともに前記サービスシステムに渡し、その後、前記サービスシステムが前記グループIDと前記グループIDリストを元に前記IDデバイスが属するグループを特定し、その後、前記サービスシステムが前記サービスハッシュ装置と前期ユーザ乱数および自己がもつ前記ユーザIDリストを用いて前記ユーザハッシュ値に対応する前記ユーザIDを前記グループに属するユーザの中から検索することを特徴とする請求項1記載の識別方法。
【請求項5】
前期IDデバイスと前期サービスシステムが、前記サブIDから複数の部分列を前記サブIDについてのぬけがないように取り出して得られる複数の部分サブID、を備え、前記サービスシステムが、前記サービスIDを前記IDデバイスに送信し、その後、前記IDデバイスが、前記サービスIDから前期サービスシステムに対応する前記サブIDを検索し、その後、前記IDデバイスが前記ユーザ乱数発生装置を用いてユーザ乱数を生成し、その後、前記IDデバイスが前記ユーザハッシュ装置を用いて前記ユーザ乱数とひとつの前記部分サブIDをハッシュ変換したユーザハッシュ値を、前記ユーザ乱数とともに前記サービスシステムに渡すという部分サブID開示処理を実行し、その後、前記サービスシステムが前記サービスハッシュ装置と前期ユーザ乱数および自己がもつ前記ユーザIDリストを用いて前記ユーザハッシュ値に対応する複数の前記ユーザIDを絞り込むというサブID絞込み処理を実行し、その後、サブIDが1つに絞り込まれるまで前記部分サブID開示処理と前記サブID絞込み処理を繰り返すことを特徴とする請求項1記載の識別方法。
【請求項6】
すべての前記ユーザについての前記ユーザIDと前記サブIDが一致するようにサブIDを抽出し、すべての前記サービスの前記サービスIDが空値を含む固定値であることを特徴とする請求項1〜5のいずれかに記載の識別方法。
【請求項7】
前記サービスシステムと前記IDデバイスが相互に認証することを特徴とする請求項1〜6のいずれかに記載の識別方法。
【請求項8】
前記システム乱数を空値することを特徴とする請求項1〜7のいずれかに記載の識別方法。
【請求項9】
前記サービスシステムが前記ユーザハッシュ装置を用いて前記ユーザ乱数と前記サブIDをハッシュ変換したサービスハッシュ値を前記IDデバイスに渡し、その後、前記IDデバイスが前記ユーザハッシュ装置と前記サービス乱数および自己が持つ前記サブIDを用いて前記サービスハッシュ値が前期ユーザIDに対応するかを確認し、対応すれば前期IDデバイスが前記サービスシステムを正しいサービスシステムであると認証することを特徴とする請求項1〜8のいずれかに掲載の識別方法。
【請求項10】
前記IDデバイスが、ユーザ秘密鍵と、ユーザ公開鍵復号化装置と、前記サービスシステムが、公開鍵と、前記ユーザ公開鍵復号化装置に対応した公開鍵暗号化装置と、を備え、前記サービスシステムが前記公開鍵と前記公開鍵暗号化装置を用いて前記サービス乱数と前記サブIDを暗号化したサービス暗号値を前記IDデバイスに渡し、その後、前記IDデバイスが前記ユーザ秘密鍵と前記ユーザ公開鍵復号化装置を前記サービス暗号値を復号化し、これが前記サブIDに一致すれば前期IDデバイスが前記サービスシステムを正しいサービスシステムであると認証することを特徴とする請求項1〜9に記載の識別方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2006−246269(P2006−246269A)
【公開日】平成18年9月14日(2006.9.14)
【国際特許分類】
【出願番号】特願2005−61722(P2005−61722)
【出願日】平成17年3月7日(2005.3.7)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2004年10月20日 社団法人情報処理学会発行の「情報処理学会シンポジウムシリーズ Vol.2004,No.11 コンピュータセキュリティシンポジウム2004論文集 Volume 1 of 2」に発表
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成17年1月25日 2005年暗号と情報セキュリティシンポジウム実行委員会事務局発行の「2005年 暗号と情報セキュリティシンポジウム 予稿集 Volume 3 of 4」に発表
【出願人】(504145342)国立大学法人九州大学 (960)
【Fターム(参考)】