説明

データベースにおいてIDを検索可能なプライバシ保護型認証システムおよび装置

【課題】送受信データからIDを追跡することを困難にしつつ,サーバ側における照合の負荷を軽減する認証技術を提供する。
【解決手段】タグがサーバに送信するデータを可変IDと照合用ハッシュ値の組とし,可変IDを検索キーとしてデータベースからタグの固定IDを検索することで,認証時のサーバの負荷を大幅に削減する。また,タグはタグ固有鍵を記憶しておき,ID取得要求への応答があるたびに可変IDを上記タグ固有鍵を使って更新することで,追跡困難性を実現する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,ユーザのIDを認証する技術に関する。
【背景技術】
【0002】
現在,携帯電話や非接触型ICカード,商品タグなどを含むユビキタスネットワークが急速に拡大している。これらの携帯端末の用途は多岐に渡るが,1つの大きな用途として端末とそれを持つユーザ(もしくは商品など)を関連付け,ユーザの位置や状態などを把握するシステムが検討されている。携帯電話やICカードを使った電子マネーサービスや入退出管理システム,バーコードの代わりに無線タグを使った商品管理などはその実例である。
【0003】
これらの機器(以下,一括してタグと称す)は各々が固有のIDを持ち,タグリーダからの要求に応えてIDやその他のデータをリーダを介してシステムを管理するサーバに送信する。このデータを蓄積することで,タグと関連付けられたユーザ(もしくは機器,商品)の管理が可能となり,商品の流通経路監視やユーザの位置確認などを行うことができる。このようなシステムで重要なことは,タグから送信されるデータの信頼性であり,データが(1)正規のタグから送信されたデータであること,(2)通信路上でデータが改ざんされていないこと,などをチェックするための仕組みが必要となる。このため,IDやデータの完全性を検証するための認証コードを送信データに付加することが望ましい。
【0004】
ユーザIDの正当性を検証するためにもっとも広く用いられているのがパスワード認証であるが,通常のパスワード認証ではパスワード自体が通信路上を流れるため,インターネット通信や無線通信での利用には適していない。このような公開通信路では,CHAP(Challenge Handshake Authentication Protocol)などを利用する。
【0005】
CHAP認証は,公開通信路上で利用してもタグの秘密情報(固有鍵k(I)など)が漏洩しない他,ID取得要求ごとにサーバが乱数を生成し,認証コード(ハッシュ値)の再利用ができない。このため,リプレイ攻撃を防止することができる。
【0006】
このようにCHAP認証は優れた認証技術であるが,ユビキタスネットワークには適さない面もある。たとえば近年,プライバシ保護の観点から追跡可能性という新しい安全性の概念が発生した。追跡可能性とは,文字通りある特定のユーザやIDの行動を追跡できるかどうか,というものである。CHAPなどの既存の認証技術では,まずサーバにIDを送信するため,通信を傍受する攻撃者は常にIDを得ることができる。したがって,通信を傍受し続けることで個人の位置を把握することが可能である。また,他のID(商品タグ)との組み合わせにより,ある個人の嗜好などを分析することも可能となる。これは上記のプライバシ保護の観点からして望ましくない性質である。また,通信を傍受し続けることで,第三者により行動が追跡される畏れもある。このような用途においては,タグの追跡が困難な認証方法を使用する必要がある。
【0007】
これに対し,IDを秘匿したまま認証を行う方法が提案されている。通常の認証では,タグのIDを検索キーとして,検証に必要なデータをデータベースから抽出するが,これらの方法では検索キーを使わずに,データベースの全件検索を行うことを基本アイデアとしている(非特許文献1,2参照)。
【0008】
【非特許文献1】Stephen A. Weis Security and privacy in Radio-Frequency Identification Devices ,[Online], MIT,2003年5月9日,p.40−42,[2005年1月28日検索],インターネット<URL: http://theory.lcs.mit.edu/~sweis/pdfs/masters.pdf>
【非特許文献2】大久保美也子,鈴木幸太郎,木下真吾,「Forward-secure RFID privacy protection for low-cost RFID」, コンピュータセキュリティシンポジウム CSS 2003予稿集,2003年10月31日,p.493−494
【発明の開示】
【発明が解決しようとする課題】
【0009】
非特許文献1に記載されている認証方法では,認証の際にIDを送信せず,乱数に依存するハッシュ値のみを送信して認証を行うことで,追跡困難性を実現している。また,非特許文献2に記載されている認証方法では,IDを通信を行うたびに更新し,IDから計算されるハッシュ値を送信して認証を行うことで追跡困難性を実現している。
【0010】
しかし,非特許文献1,2に記載されている認証方法は,いずれも検索用のキーを送信しないことでプライバシをIDを秘匿したまま認証を行い,照合の際にデータベースに登録されているIDすべてについて照合を行う。すなわち,IDをデータベースから検索するためのキーがないため,データベースの全件検索を行う必要がある。
【0011】
このため,データベース(もしくは認証用サーバ)の負荷が従来のCHAPなどに比べてひじょうに大きく,大規模なシステムには不向きであった。しかしその一方で,このようなプライバシ保護が可能な認証方法はユビキタス環境においてその真価を発揮する。また,主な用途として期待されているのも不特定多数のユーザを識別する大規模システムである。
【0012】
したがって,プライバシ保護が可能で,かつ,大規模システムに適した認証技術が望まれている。
【課題を解決するための手段】
【0013】
本発明は,このような事情を鑑みてなされたもので,送受信データからIDを追跡することを困難にしつつ,サーバ側における照合の負荷を軽減する認証技術を提供するものである。
【0014】
本発明はIDの追跡を困難にする認証方法であって,非特許文献1に記載されている認証方法の欠点を克服する技術を提供する。本発明は以下の3点を主な特徴とする。
【0015】
1.送信するデータに検索キーとして可変のIDを含める
2.可変のIDは通信を行うたびに更新する
3.可変のIDを更新するときには秘密鍵を利用し,異なる可変のIDを結びつけることを困難にする
さらに詳しく述べると,本発明の提供する認証方法では,タグに対して,固有の固定IDと固有の秘密鍵を定める。これらの値はタグごとに異なる。さらに,タグごとに異なる,通信を行うたびに変更される値を定める。この値を以下では可変IDと称す。タグは秘密鍵と可変IDを記憶しており,タグがサーバに送信するデータを(可変ID,照合用ハッシュ値)の組とする。ここで,照合用ハッシュ値は可変IDと秘密鍵から計算される値である。サーバでは,受信したデータのうち,可変IDを検索キーとしてデータベースからタグの固定IDを検索することで,認証時のサーバの負荷を大幅に削減することができる。また,タグはID取得要求への応答があるたびに,可変IDと秘密鍵から新しい可変IDを計算することで追跡困難性を実現する。
【0016】
より具体的な,本発明の態様は,たとえば,通信装置1と記憶装置1と暗号処理装置1とを備える1個以上のタグと,通信装置2と記憶装置2と暗号処理装置2とを備えるタグ認証装置からなるシステムにおいてタグ認証装置がタグからの通信を識別するための方法であって,タグが備える記憶装置1には秘密鍵1と1回の通信ごとに更新される可変ID1が記憶されており,タグ認証装置の記憶装置2には各々のタグの情報を記録したタグテーブルが記憶されており,タグテーブルはタグのIDと各タグに対応する秘密鍵2と各タグに対応する可変ID2の値を項目として含んでおり,タグが備える暗号処理装置1は認証コード生成装置1,可変ID更新装置1を備え,タグ認証装置の暗号処理装置2は認証コード生成装置2,可変ID更新装置2を備え,タグ認証装置は,通信装置2を介して,繰り返し(例えば定期的に)タグに対して認証を要求する信号を発信し,タグは,信号を受信すると可変ID1と秘密鍵1とを認証コード生成装置1の入力として認証コード1を生成し,信号に対する応答として,可変ID1と,認証コード1とを通信装置1を介してタグ認証装置に送信し,秘密鍵1と可変ID1とを可変ID更新装置1の入力として新しい可変IDを計算し,その結果を記憶装置1に記憶し,タグ認証装置は,タグからの応答を受信すると応答に含まれる可変ID1を検索キーとしてタグテーブルを検索し,該当するタグのIDと対応する秘密鍵2を取り出し,可変ID1と秘密鍵2を可変ID更新装置2の入力として新しい可変IDを計算し,その結果を記憶装置2に記憶することを特徴とする。
【0017】
さらに,暗号処理装置1および暗号処理装置2は,一方向性ハッシュ関数を1つ以上備えてもよい。
【0018】
さらに,認証コード生成装置は,一方向性ハッシュ関数Hashを使って,認証コードC
C = Hash(k||v(t)||0)
(ただし,kは該当タグの秘密鍵,v(t)はタグが現在記憶している可変IDとし,k||v(t)||0は秘密鍵と可変IDと0からなるビット列のビット列としての連結を指す)
を生成してもよい。
【0019】
さらに,可変ID更新装置は,一方向性ハッシュ関数Hashを使って,新しい可変ID v(t+1)
v(t+1) = Hash(k||v(t)||1)
(ただし,kは該当タグの秘密鍵,v(t)はタグが現在記憶している可変IDとし,k||v(t)||1は秘密鍵と可変IDと1からなるビット列のビット列としての連結を指す)
を生成してもよい。
【0020】
さらに,タグテーブルは,さらにすべてのタグについて複数回分の可変ID v(t+1)〜v(t+M)を記憶してもよい。
【0021】
さらに,検索キーがタグテーブルに記載されている可変ID v(t)に該当しない場合に,あらかじめ計算しておいた複数回分の可変IDのリストから検索を行ってもよい。
【0022】
さらに,あらかじめ計算しておいた複数回分の可変IDのリストから検索を行っても該当するタグが無い場合に,タグテーブルに記憶されているすべてのタグIDごとに対応する秘密鍵と応答に含まれる可変ID1とを,認証コード生成装置2に入力して得られた値と応答に含まれている認証コード1とを照合し,2つの値が一致するタグIDを該当タグと識別してもよい。
【0023】
さらに,タグ認証装置が発信する認証を要求する信号は乱数情報を含んでおり,タグは信号を受信すると,可変ID1と秘密鍵1と信号に含まれる乱数情報とを認証コード生成装置1の入力として認証コード1を生成し,信号に対する応答として,可変ID1と,認証コード1とを通信装置1を介してタグ認証装置に送信し,タグ認証装置はタグからの応答を受信すると,応答に含まれる可変ID1を検索キーとしてタグテーブルを検索し,該当するタグのIDと対応する秘密鍵2を取り出し,応答に含まれる可変ID1と秘密鍵2と発信した乱数情報とを認証コード生成装置2に入力して得られた値と,応答に含まれる認証コード1を照合することで,応答が発信した信号に対する応答であることを確認してもよい。
【0024】
また,本発明のほかの具体的態様は,無線通信装置1と記憶装置1と暗号処理装置1とを備える1個以上のタグと,通信装置2と記憶装置2と暗号処理装置2とを備えるタグ認証装置と,タグと通信するための無線通信装置2と,タグ認証装置と通信するための通信装置1とを備える1個以上のタグリーダとからなる無線タグ位置登録システムであって,タグが備える記憶装置1には秘密鍵1と1回の通信ごとに更新される可変ID1が記憶されており,タグ認証装置の記憶装置2には各々のタグの情報を記録したタグテーブルとタグリーダの情報を記録したリーダテーブルが記憶されており,タグテーブルはタグのIDと各タグの現在位置,各タグに対応する秘密鍵2,各タグに対応する可変ID2の値を項目として含んでおり,リーダテーブルはタグリーダのIDと各タグリーダを設置した場所の情報を項目として含んでおり,タグが備える暗号処理装置1は認証コード生成装置1,可変ID更新装置1を備え,タグ認証装置の暗号処理装置2は認証コード生成装置2,可変ID更新装置2を備え,無線通信装置1と無線装置2は一定距離以下でのみ通信可能であり,タグリーダは無線通信装置2を介して,繰り返し(例えば定期的に)認証を要求する信号をブロードキャストし,タグは前記ブロードキャストされた信号を受信すると,可変ID1と秘密鍵1とを認証コード生成装置1の入力として認証コード1を生成し,信号に対する応答として,可変ID1と,認証コード1とを含むデータを通信装置1を介してタグリーダに送信し,秘密鍵1と可変ID1とを可変ID更新装置1の入力として新しい可変IDを計算し,その結果を記憶装置1に記憶し,タグリーダは,タグからの通信を受信するとタグからの通信で受信したデータにタグリーダのIDを付加し,通信装置2を介してタグ認証装置に位置登録要求信号として送信し,タグ認証装置は,タグリーダからの位置登録要求信号を受信すると位置情報登録要求信号に含まれる可変ID1を検索キーとしてタグテーブルを検索し,該当するタグのIDと対応する秘密鍵2を取り出し,可変ID1と秘密鍵2を可変ID更新装置2の入力として新しい可変IDを計算し,位置情報登録要求信号に含まれるタグリーダのIDを検索キーとしてリーダテーブルからタグリーダの位置情報を取得し,タグリーダの位置情報と新しい可変IDを記憶装置2に記憶することを特徴とする。
【0025】
さらに,暗号処理装置1および暗号処理装置2は,一方向性ハッシュ関数を1つ以上備えてもよい。
【0026】
さらに,認証コード生成装置は,一方向性ハッシュ関数Hashを使って,認証コードC
C = Hash(k||v(t)||0)
(ただし,kは該当タグの秘密鍵,v(t)はタグが現在記憶している可変IDとし,k||v(t)||0は秘密鍵と可変IDと0からなるビット列のビット列としての連結を指す)
を生成してもよい。
【0027】
さらに,可変ID更新装置は,一方向性ハッシュ関数Hashを使って,新しい可変ID v(t+1)
v(t+1) = Hash(k||v(t)||1)
(ただし,kは該当タグの秘密鍵,v(t)は前記タグが現在記憶している可変IDとし,k||v(t)||1は前記秘密鍵と前記可変IDと1からなるビット列のビット列としての連結を指す)
を生成してもよい。
【0028】
さらに,タグテーブルは,さらにすべてのタグについて複数回分の可変ID v(t+1)〜v(t+M)を記憶してもよい。
【0029】
さらに,検索キーがタグテーブルに記載されている可変ID v(t)に該当しない場合に,あらかじめ計算しておいた複数回分の可変IDのリストから検索を行ってもよい。
【0030】
さらに,あらかじめ計算しておいた複数回分の可変IDのリストから検索を行っても該当するタグが無い場合に,タグテーブルに記憶されているすべてのタグIDごとに対応する秘密鍵と応答に含まれる可変ID1とを,認証コード生成装置2に入力して得られた値と応答に含まれている認証コード1とを照合し,2つの値が一致するタグIDを該当タグと識別してもよい。
【0031】
さらに,リーダテーブルは各々のタグリーダに近い位置にあるタグリーダのIDとを項目として含んでおり,あらかじめ計算しておいた複数回分の可変IDのリストから検索を行っても該当するタグが無い場合に,位置情報登録要求に含まれているタグリーダのIDを検索キーとして,リーダテーブルから位置情報登録要求を送信したタグリーダに近い位置にあるタグリーダのリストを取得し,位置情報登録要求に含まれているタグリーダとリストに含まれるタグリーダに対応する位置情報を検索キーとしてタグテーブルを検索し,タグテーブルの位置情報の項目が検索キーのいずれかに合致するすべてのタグIDごとに対応する秘密鍵と応答に含まれる可変ID1とを,認証コード生成装置2に入力して得られた値と応答に含まれている認証コード1とを照合し,2つの値が一致するタグIDを該当タグと識別してもよい。
【0032】
また,タグリーダが発信する認証を要求する信号は乱数情報を含んでおり,タグは上記信号を受信すると,可変ID1と秘密鍵1と乱数情報とを認証コード生成装置1の入力として認証コード1を生成し,信号に対する応答として,可変ID1と,認証コード1とを通信装置1を介してタグ認証装置に送信し,タグリーダはタグからの応答を受信すると,タグからの通信で受信したデータにタグリーダのIDと上記乱数情報とを付加し,通信装置2を介してタグ認証装置に位置登録要求信号を送信し,タグ認証装置は,位置登録要求信号を受信すると位置登録要求信号に含まれる可変ID1を検索キーとしてテーブルを検索し,該当するタグのIDと対応する秘密鍵2を取り出し,位置登録要求信号に含まれる可変ID1と秘密鍵2と発信した乱数情報とを認証コード生成装置2に入力して得られた値と,位置登録要求信号に含まれる認証コード1を照合することで,タグの応答がタグリーダが発信した信号に対する応答であることを確認してもよい。
【0033】
また,タグリーダは,さらに記憶装置3と暗号処理装置3とを備え,記憶装置3は秘密鍵3を記憶しており,暗号処理装置3は乱数生成装置3と認証コード生成装置3とを備え,タグリーダはタグからの通信を受信すると,暗号処理装置3を用いて乱数を生成し,秘密鍵3と上記乱数を認証コード生成装置3への入力とし,得られた値をタグリーダIDに対する認証コードとして,タグ認証装置に送信する位置登録要求信号に付加してタグ認証装置に送信してもよい。
【0034】
さらに,通信装置4を備える1個以上の表示用端末と,通信装置5を備える1個以上のアクセスポイントと,を備え,表示用端末は,通信装置4を介して上記アクセスポイントに接続し,タグ認証装置にタグ位置閲覧要求を送信し,タグの現在位置を取得してもよい。
【0035】
さらに,タグ認証装置の記憶装置2は表示用端末テーブルとを備え,表示端末テーブルは端末のIDと,各タグが閲覧してよいタグのIDからなるリストとを含み,タグ位置閲覧要求は表示用端末のIDを含み,タグ認証装置は,表示用端末からのタグ位置閲覧要求に対し,タグ位置閲覧要求に含まれる表示用端末のIDを検索キーとして表示用端末テーブルを検索し,要求を行った表示用端末が閲覧可能なタグIDのリストを取得し,リストに含まれる各タグIDを検索キーとしてタグテーブルを検索し,各タグの位置情報を取得し,取得した情報を表示用端末に返信してもよい。
【0036】
さらに,表示用端末は,さらに暗号処理装置を備え,タグ認証装置との通信を暗号化してもよい。
【0037】
上記のように,本発明の認証方法ではサーバに送信するデータに検索キーとして使用できる可変のIDを含めるため,サーバは受信したデータがどのタグから送信されたものかを少ない負荷で,データベースから探し出すことができる。
【発明の効果】
【0038】
本発明によれば,認証時のサーバの負荷を大幅に削減することができる。この結果,大規模なシステムにおいてIDの追跡困難性を実現可能な認証システムを提供できる。
【発明を実施するための最良の形態】
【0039】
以下に,本発明を適用する実施形態を説明する。
【0040】
本実施形態は無線タグを利用したユーザの位置確認システムであり,ユーザは無線タグを携帯しているものとする。システムは一定の監視区域を対象とし,この区域内にタグリーダを設置する。タグリーダは一定時間おきにタグID取得要求をブロードキャストする。通信可能距離内に無線タグが存在すれば,タグは要求に対して応答する。タグリーダは受信した応答を認証サーバに転送し,認証サーバはタグの認証を行う。本実施形態では,タグリーダがタグからの応答を認証サーバに転送する際にタグリーダのIDを同時に送信することで,タグリーダの設置位置とタグを関連付け,タグの現在位置を確認する。
【0041】
このようなシステムでは,通信可能距離を半径とする円で監視区域を充填することで,区域内のユーザの行動を完全に捕捉することができる。たとえば,遊園地などの大型レジャー施設で,幼児などにタグを配布して迷子の捜索を容易にするようなシステムでは,このように監視区域を充填するようにタグリーダを配置することで,漏れなく幼児の位置を確認することができる。
【0042】
また,大型店舗などでは,たとえばエレベータや階段などフロアへの出入り口にタグリーダを設置することで,大雑把にユーザが何階にいるかを確認することができる。同様に,ビルの入口などで緩やかな入退出管理を行うことも可能である。
<図1>
図1は本実施形態のシステム構成を表した図である。本実施形態は,タグ(201),タグリーダ(211),認証サーバ(221),データベース(DB)サーバ(231),表示用携帯端末(241)からなるシステムである。
【0043】
タグ(201)は記憶装置(203)と通信装置(202),タグ(201)の認証コードの生成などを行うための暗号処理装置(204),データ処理を統括するデータ登録装置(205)からなる。
【0044】
タグリーダ(211)はタグ(201)と通信するための通信装置1(212),認証サーバと通信するための通信装置2(213),リーダの認証コード生成などを行う暗号化装置(214),データ処理を統括するデータ登録・参照装置(215)からなる。図ではタグ,タグリーダは1つであるが,一般には一つ以上のタグ,一つ以上のタグリーダからなるシステムである。
【0045】
認証サーバ(221)はタグリーダ(211)や表示用携帯端末(241)と通信を行うための通信装置(222),DBアクセス装置(223),タグ(201)やタグリーダ(211)の認証を行うための認証装置(225),検証用の認証コード生成などを行う暗号化装置(226),データ処理を統括するデータ登録・参照装置(224)からなる。
【0046】
DBサーバ(231)はタグリーダのIDと位置情報(タグリーダの設置位置)からなるリーダテーブル(232),表示用携帯端末のIDと各端末が閲覧可能なタグのIDからなる携帯端末テーブル(233),タグのIDとタグの固有鍵,タグの可変IDからなるタグテーブル(234)からなる。
【0047】
表示用携帯端末(241)は認証サーバと通信するための通信装置(242),記憶装置(243)と携帯端末の認証に必要な計算を行う暗号化装置(244),表示装置(245),およびデータ処理を統括するデータ登録・参照装置(246)からなる。
【0048】
これらの機器はネットワーク(251)を通じて互いに通信することができる。
【0049】
本実施形態では,ユビキタスネットワークで用いられるRFID(Radio Frequency IDentification)タグと同じく,タグ(201)とタグリーダ(211)の間の通信は無線通信を想定しているが,通常の有線による通信でも良い。また,タグリーダ(211),認証サーバ(221),表示用携帯端末(241)はLANなどの有線ネットワークで繋がっていることを想定しているが,表示用携帯端末(241)などは無線通信でこのネットワークに接続しても良い。また,DBサーバ(231)もこのネットワークに接続しても良い。
<図2>
次に,認証サーバ(221)を実現するものとして,たとえば図2のPC(101)を例に説明する。PC(101)はCPU(102),メモリ(103),ハードディスクなどの外部記憶装置(104),通信インターフェース(IF)(105),周辺機器接続IF(106)からなり,周辺接続機器IF(106)を通じてモニタ(107)と接続している。
【0050】
外部記憶装置(104)には,暗号処理装置(226)を実現する暗号処理プログラム(108),認証装置(225)を実現する認証プログラム(109)などが格納されている。また,外部記憶装置(104)には,LANやインターネットなどのネットワーク(110)に接続する通信IF(105)と協働して通信装置(222)を実現するプログラムや,周辺機器接続IF(106)と協働してDBアクセス装置(223)を実現するプログラムも格納されている。さらにDBサーバプログラムを外部記憶装置(104)内に内蔵しても良い。
【0051】
そして,CPU(102)がメモリ(103),外部記憶装置(104)に格納されたプログラムを実行することにより,認証サーバ(221)の各機能が実現する。
【0052】
その他,タグ(201),タグリーダ(211),DBサーバ(231),表示用携帯端末(241)は,いずれもPC(101)と同様の構成を備える情報処理装置において,CPU(102)がメモリ(103),または外部記憶装置(104)に格納されたプログラムを実行することにより具現化されるものである。
【0053】
これらのプログラムは,あらかじめ,上記PC(101)または情報処理装置内のメモリに格納されていても良いし,必要なときに,情報処理装置が利用可能な,着脱可能な記憶媒体または通信媒体を介して,他の装置から導入されてもよい。通信媒体とは,ネットワークまたはネットワーク上の搬送波やデジタル信号を指す。
【0054】
なお,DBサーバ(231)は周辺機器接続IF(106)や通信IF(105)を通じて外部接続のハードディスクなどの外部記憶装置やネットワーク(251)に接続された別のPCやストレージとして実現されたDBサーバ(231)として実現しても良い。
【0055】
また,認証サーバ(221),タグ(201),タグリーダ(211),DBサーバ(231),表示用携帯端末(241)のいずれかの,一部または全部をハードウェアで実現することも可能である。
<図3>
図3はDBサーバ(231)に記憶されているリーダテーブル(232)の構成図である。リーダテーブル(232)の項目はタグリーダID(301)と位置情報(302)である。位置情報(302)は,タグリーダ(211)を設置した位置を表す情報で,システムの構成時に設定する。
<図4>
図4はDBサーバ(231)に記憶されている表示端末テーブル(233)の構成図である。表示端末テーブル(233)の項目は表示端末ID(401)と,各表示端末から情報を取得できるタグ(201)のリスト(402)である。
<図5>
図5はDBサーバ(231)に記憶されているタグテーブル(234)の構成図である。タグテーブル(234)の項目はタグリーダID(501)とタグの固有鍵(502),タグの位置情報(503),そしてタグの可変ID(504)である。タグの可変IDは現在時刻tについてのみ記憶しても良いが,本実施形態では同期ずれ(後述)に対応するために何回か先の可変IDについてもあらかじめ計算して可変IDの未来値(505)として記憶しておく。
<図6>
図6はタグの位置情報をDBサーバに登録するためのプロトコルである。ステップ4のタグ(201)からのタグID取得応答(601)とステップ8のタグ認証は固定IDを秘匿する認証方法によるものである。タグ(201)と認証サーバ(221)の処理の詳細は後述する。
【0056】
ステップ1.タグリーダ(211)から近傍のタグ(201)に対し,タグID取得要求(601)を行う。
【0057】
ステップ2.タグ(201)は,タグリーダ(211)にタグID取得応答(602)を行う。
【0058】
ステップ3.タグリーダ(211)は,認証サーバ(221)に位置情報登録要求(603)を行う。
【0059】
ステップ4.認証サーバ(221)は,DBサーバ(231)にリーダID検索要求(604)を行う。
【0060】
ステップ5.DBサーバ(231)は,リーダテーブル(232)からリーダID ridを検索し,認証サーバ(221)にリーダID検索応答(605)を行う。
【0061】
ステップ6.認証サーバ(221)は,タグリーダ(211)を認証後,DBサーバ(231)にタグID検索要求(606)を行う。
【0062】
ステップ7.DBサーバ(231)は,タグテーブル(234)からタグIDを検索し,認証サーバ(221)にタグID検索応答(607)を行う。
【0063】
ステップ8.認証サーバ(221)は,タグIDを認証後,DBサーバ(231)に位置情報登録要求(608)を行う。
【0064】
ステップ9.DBサーバ(231)は,タグテーブル(234)を更新し,認証サーバ(221)に位置情報登録応答(609)を行う。
【0065】
ステップ10.認証サーバ(221)は,タグリーダ(211)に位置情報登録応答(610)を行う。
<図7>
図7はタグリーダ(211)からID取得要求(601)を受信したタグ(201)の動作を表すフローチャートである。タグ(201)は記憶装置(203)にタグ固有鍵k(i)(502)と可変ID v(i, t) (504)を記憶しているものとする。タグ(201)はタグリーダ(211)からID取得要求(601)を受信すると,以下の以下のステップにしたがって処理を行う。
【0066】
ステップ1(2002).タグ(201)は暗号処理装置(204)にタグ固有鍵k(i) (502)と可変ID v(i, t) (504)を入力し,認証コードを次のように計算する。
【0067】
h(i, t) = Mac(k(i), v(i, t))
ここで,Mac(x, y)は認証コードを計算するための関数である。この関数はSHA−1などのハッシュ関数を用いたHMACや,AESなどのブロック暗号を用いたCMACなどの標準的なメッセージ認証子生成方法を用いれば良い。また,単にタグ固有鍵k(i) (502)と可変ID v(i, t) (504)を連結したものをSHA−1などのハッシュ関数で処理し,その出力を認証コードh(i, t)としても良い。
【0068】
ステップ2(2003).タグ(201)はID取得応答(602)としてT(i, t) = (v(i, t),h(i, t))をタグリーダ(211)に送信する。
【0069】
ステップ3(2004).タグ(201)は暗号処理装置(204)にタグ固有鍵k(i)(502)と時刻t(現在)の可変ID v(i, t)(504)を入力し,時刻t+1の可変IDを次のように計算する。
【0070】
v(i, t+1) = Next(k(i), v(i, t))
ここで,Nextは可変IDの更新を行う関数であり,認証コードを計算するための関数Macとは異なるものを用いる。たとえば,認証コードを計算する関数MacとしてSHA1(k(i)||v(i, t)||0),状態更新を行う関数NextとしてSHA1(k(i)||v(i, t)||1)などを用いる。
【0071】
新しい可変ID v(i, t+1)はデータ登録装置(205)を介して記憶装置(203)に格納される。
【0072】
ステップ4(2006).タグ(201)は処理を終了し,待機状態に移行する。
【0073】
待機状態にあるタグ(201)はID取得要求(601)を受けると上記のステップを繰り返す。タグリーダ(211)からのID取得要求(601)が頻繁にある場合や,タグリーダ1個あたりの通信可能エリアが広い場合には,一定時間の休止を設定すれば良い。
<図8>
図8はタグリーダ(211)からの位置情報登録要求(603)を受信した認証サーバ(221)およびDBサーバ(231)の動作を表すフローチャートである。以下,このフローチャートに従って認証サーバの動作を説明する。
【0074】
ステップ1(2102).認証サーバ(221)はタグリーダ(211)から位置情報登録要求を受信すると,まずタグリーダ(211)の認証を行う。この認証は別途CHAPなどのプロトコルを実行しても良いし,電子署名などを用いた認証を行っても良い。電子署名を用いた認証であれば,認証サーバ(221)はリーダID検索要求(604)をDBサーバ(231)に送信し,DBサーバ(231)からのリーダID検索応答(605)としてタグリーダ(211)の公開鍵を受け取り,位置情報登録要求(603)に含まれているタグリーダ(211)の署名を検証する。また,この際にDBサーバ(231)からタグリーダ(211)の位置情報posを取得しておく。
【0075】
なお,CHAPによる認証の概要は次の通りである。
【0076】
ステップA.サーバSはタグリーダRにID取得要求を送信する。
【0077】
ステップB.サーバSは乱数randを生成し,タグリーダRに送信する。
【0078】
ステップC.タグリーダRはサーバSにIDと乱数rand,ハッシュ値h = Hash(k(R), rand)の組 (R, rand, h) を送信する。ここでk(R)はタグリーダRの固有鍵である。
【0079】
ステップD.サーバSはデータベースに登録されているタグリーダのリストからタグRに対応する固有鍵k(R)を取り出し, ハッシュ値h’ = Hash(k(R), rand) を計算する。
【0080】
ステップE.サーバSはh = h’ であればIDを認証する。 h ≠ h’ であれば,サーバS はタグリーダからの応答が不正なものであると判断する。
【0081】
ステップ2(2103).DBサーバ(231)にタグID検索要求(606)を送信し,タグ(201)の可変ID v(i, t)を検索キーとしてDBのタグテーブル(234)から時刻tの可変IDを検索する。
【0082】
ステップ3(2104,2105).DBサーバ(231)はステップ2(2103)の検索で該当するタグIDが見つからなければ例外処理(1)に移行する。
【0083】
ステップ4(2106).DBサーバ(231)はステップ2(2103)の検索で該当するタグIDを見つけると,タグID検索応答(607)として該当するタグのID(501)と付随するエントリ(502〜505)を認証サーバ(221)に送信する。,認証サーバ(221)は可変IDの未来値(505)の最後の値(時刻t+Mの値) v(i', t+M)を取り出し,時刻t+M+1の可変IDを次のように計算する。
【0084】
v(i', t+M+1) = Next(k(i'), v(i', t+M))
ステップ5(2107).認証サーバ(221)は,受信したエントリについて「現在の可変ID」(504)の項目をv(i', t+1)で書き換える。また,可変IDの未来値(505)についても,一つずつ位置を繰り上げていき,リストの最後に新しく計算した時刻t+M+1の可変ID v(i', t+M+1)を追加する。さらにエントリの位置情報(503)を位置情報登録要求(603)に含まれる位置情報posに書き換える。
【0085】
認証サーバ(221)はDBサーバ(231)に位置情報登録要求(608)を送信し,計算した新しいエントリをDBサーバ(231)に送信する。DBサーバ(231)は位置情報登録要求(608)を受信すると,その情報に基づきタグテーブル(234)を更新し,認証サーバ(221)に位置情報登録応答(609)を返信する。
【0086】
ステップ6(2108,2109,).認証サーバ(221)はタグリーダ(211)に位置情報登録応答(610)を行い,タグ(201)が認証されたことをタグリーダ(211)に伝え,セッションを終了する。
【0087】
このように,本実施形態ではタグから受信した可変IDに対応する値がタグテーブル(234)から見つかればタグからの通信が正当なものであるとみなす。
【0088】
なお,ここでは認証サーバ(221)はタグリーダ(211)からの位置情報登録要求(603)ごとにDBサーバ(231)にタグID検索要求(606)を出しているが,システムを稼動させるにあたって,あらかじめDBのタグテーブル(234)などを認証サーバ(221)のメモリ上などに展開しておくことでDBサーバ(231)へのアクセスを削減し,検索を高速に処理することができる。また,認証サーバ(221)からタグリーダ(211)への位置情報登録応答(610)は省略しても良い。
<図9>
図9は図8のフローチャートのステップ3で例外処理(1)に移行した場合のDBサーバ(231)および認証サーバ(221)の動作を表したフローチャートである。
【0089】
例外処理(1)は,可変IDの同期ずれを想定したものである。本実施形態の主眼はデータベースの検索キーとして可変IDを使うことで,IDの秘匿性とデータベースの検索可能性を同時に実現することである。IDの秘匿性(追跡困難性)を実現するために,可変IDは通信を行うごとに更新する必要がある。しかしたとえば,ユーザがタグリーダ(211)の通信可能領域の縁を掠めた場合や電波障害などが発生した場合には,タグ(201)はタグID取得要求(601)を受け取り図7のフローに従ってタグID取得応答を返すが,タグリーダ(211)がタグ(201)からのタグID取得応答(602)を受信できない可能性がある。このような場合には,タグ(201)のみが可変IDの更新を行い,タグテーブル(234)の情報は更新されない。すなわち,タグの記憶している可変IDとタグテーブル(234)の記憶している現在の可変ID(504)の間にずれが生じる。これが可変IDの同期ずれである。
【0090】
以下,図9に従って可変IDの同期ずれが発生した場合の処理について説明する。
【0091】
ステップ1(2202).図8のフローチャートのステップ3(2104)で該当する現在の可変ID(504)が見つからなかった場合,DBサーバはv(i, t)を検索キーとしてDBのタグテーブル(234)から可変IDの予測値のリスト(505)を検索する。
【0092】
ステップ2(2203,2204).タグテーブル(234)のリストにv(i, t)と一致する可変IDが見つからなかった場合には例外処理(2)へ移行する。一致する可変IDが見つかった場合にはステップ3以下の処理を行う。
【0093】
ステップ3(2205).DBサーバ(231)はタグID検索応答(607)として該当するタグのID(501)と付随するエントリ(502〜505),同期ずれの量d (v(i, t) = v(i', t+p))を認証サーバ(221)に送信する。
【0094】
,認証サーバ(221)はタグ(201)の新しい情報からなるエントリを以下のように作成する。
【0095】
位置情報(503):pos
現在の可変ID(504):v(i', t+d+1)
可変IDの未来値のリスト(505):
v(i', t+x) = v(i', t+d+1+x), 0 < x < M-d
v(i', t+x) = Next(k(i'), v(i', t+d+x)), M-d <= x <= M
ステップ4(2206).認証サーバ(221)はDBサーバ(231)に位置情報登録要求(608)を送信し,ステップ6で計算した新しいエントリをDBサーバ(231)に送信する。DBサーバ(231)は位置情報登録要求(608)を受信すると,その情報に基づきタグテーブル(234)を更新し,認証サーバ(221)に位置情報登録応答(609)を返信する。
【0096】
ステップ5(2207,2208,).認証サーバ(221)はタグリーダ(211)に位置情報登録応答(610)を行い,タグ(201)が認証されたことをタグリーダ(211)に伝え,セッションを終了する。
【0097】
例外処理(1)におけるステップ3以降の処理は正常処理を表す図8のフローチャートのステップ4以降とほぼ同様の処理を行う。ただし,ステップ3ではDBサーバ(231)がずれの量dを認証サーバ(221)に送信し,ステップ6では認証サーバ(221)が同期ずれを補正するため,ずれに相当する回数について可変IDの未来値の計算を行い,新しいエントリを生成する。
【0098】
なおステップ3では,見つかったタグIDについて,同期ずれが発生したことをログなどに記録しても良いし,タグテーブル(234)に記録するための項目を設けても良い。あまり頻繁に同期ずれが発生する場合には,タグリーダの設置箇所に何らかの障害が発生している可能性がある。また,単一のタグについて同期ずれが頻繁に発生する場合には,タグの破損や(該当タグを検索不可能にすることを目的とする)攻撃者の存在などが懸念される。同期ずれの発生についてログを取ることにより,このような障害の発生を検出することができる。,ある程度以上の頻度で同期ずれが発生する場合には,システム管理者に警告信号を送信するなどの対策を取る。
【0099】
本実施形態では図6の通信順序などにより,構成同期ずれが発生した場合には常にタグの可変IDが先行する(時刻t+dの値になる)ように設定している。このため,タグテーブルには可変IDの未来値のみを保持しており,同期ずれが発生した場合の検索が容易である。
【0100】
本実施形態ではタグの位置情報のみを取り扱うシステムを想定しているが,認証後にタグに対してデータの書き込みを行うようなシステムでは,タグリーダからの応答を待ってタグの可変IDを更新することも考えられる。このようなケースでは,タグがタグリーダからの応答を受信できない可能性があり,逆にタグの可変IDがタグテーブルの現在の可変ID(504)に対して遅れることも想定する必要がある。したがって,そのような場合にはタグテーブルは可変IDの未来値だけではなく,過去の値の履歴をある程度保存しておき,照合時にはその双方について検索を行う必要がある。
<図10>
図10は図9のフローチャートのステップ2で例外処理(2)に移行した場合のDBサーバ(231)および認証サーバ(221)の動作を表したフローチャートである。例外処理(2)は極端な同期ずれが発生し,タグの可変IDに対応する値がDBサーバの可変IDリストに見つからない場合を処理するものである。以下,図10に従って例外処理(2)を説明する。
【0101】
ステップ1(2302).DBサーバ(231)はタグテーブル(234)の可変IDの未来値のリスト(505)からv(i, t)と一致する値を見つけられなかった場合,タグID検索応答(607)としてタグテーブル(234)のすべてのID(N個)についてタグID jとタグ固有鍵k(j)を認証サーバに送信する。
【0102】
ステップ2(2303).認証サーバは,タグID用のカウンタを初期化する。
【0103】
ステップ3(2304,2305). もしカウンタの値がN以下であれば,ステップ5以下のルーチンを実行する。カウンタの値がNを超えていたら(すべてのタグについて計算を終了したら),位置情報登録要求は不正なものと判断し,位置情報登録要求(608)をDBサーバに送信する。DBサーバ(231)はログにエラーを記録する。
【0104】
ステップ4(2306,2307).認証サーバ(221)は位置情報登録応答(610)として,タグリーダ(211)に認証が失敗したことを伝え,処理を終了する。
【0105】
ステップ5(2308).認証サーバ(221)はj番目のタグID(501)について照合のための以下の認証コード値を次のようにして計算する。
【0106】
x(j) = Mac(k(j), v(i, t))
ステップ6(2309).認証サーバ(221)は位置情報登録要求(603)で受け取った認証コードと,ステップ5(2308)で生成した検証用の認証コードの照合を行う。2つの認証コードが一致すればステップ7(2310)に移行する。一致しない場合にはステップ10(2314)に移行する。
【0107】
ステップ7(2310).認証コードが一致した場合には,認証サーバ(221)はタグ(201)の新しい情報からなるエントリを以下のように作成する。
【0108】
位置情報(503):pos
現在の可変ID(504):v(j, t) = Next(k(j), v(i, t))
可変IDの未来値のリスト(505):v(j, t+x) = Next(k(j), v(j, t+x-1)), 0 < x <= M
ステップ8(2311).認証サーバ(221)はDBサーバ(231)に位置情報登録要求(608)を送信し,ステップ7で計算した新しいエントリをDBサーバ(231)に送信する。DBサーバ(231)は位置情報登録要求(608)を受信すると,その情報に基づきタグテーブル(234)を更新し,認証サーバ(221)に位置情報登録応答(609)を返信する。
【0109】
ステップ9(2312,2313).認証サーバ(221)はタグリーダ(211)に位置情報登録応答(610)を行い,タグ(201)が認証されたことをタグリーダ(211)に伝え,セッションを終了する。
【0110】
ステップ10(2314).認証コードが一致しない場合には,カウンタの値に1を加え,ステップ3(2304)に戻る。
<図12,13>:位置情報を用いた探索空間の絞込み
例外処理(2)では,タグテーブル(234)に登録されているすべてのタグについて認証コードを計算するが,タグテーブル(234)に記録されいてる位置情報(503)pos(i, t-1)を使って照合を行うタグ候補を絞り込むことができる。
【0111】
図12はタグリーダ(211)の配置を表したイメージ図である。図中の黒丸「●」(2401〜2406)はそれぞれタグリーダ(211)を表す。また,それぞれのタグリーダを中心とする大きな円はタグリーダ(211)の通信可能圏を表す。図中でタグリーダR(i)(2401)の通信可能圏はタグリーダR(j1)(2402)〜R(j4)(2405)に隣接しており,タグリーダR(j5)(2406)とは隣接していない。図中では,隣接しているタグリーダ(211)を太い実線で結んでいる。
【0112】
また,図13はタグテーブル(234)に記録されいてる位置情報(503)pos(i, t-1)を使って照合を行うタグ候補を絞り込む場合のリーダテーブル(232)の構成図である。リーダテーブル(232)の項目は,タグリーダID(301)とタグリーダの位置情報(302),そして各々のタグリーダ(211)に隣接しているタグリーダ(211)のID(1303)のリストである。
【0113】
時刻tにおいてタグリーダR(i)(2401)から認証サーバ(221)に位置情報登録要求(603)が送信されたとする。このとき,タグリーダ(2401)にタグID取得応答(602)を送信したタグ(201)は,時刻t-1においてタグリーダR(i)(2401)もしくはそれに隣接するタグリーダR(j1)(2402)〜R(j4)(2405)の通信可能圏にいたことが期待できる。したがって,タグテーブルに記録されている時刻t-1の位置情報を検索キーとして,タグリーダR(i)(2401)およびそれに隣接するタグリーダR(j1)(2402)〜R(j4)(2405)に対応する位置情報を持つタグを抜き出し,これらのタグについて認証コードの照合を行えばよい。このステップにおいて認証コードが一致するタグ候補が見つからない場合には,改めて残りのタグリストについて図10の処理を行う。
【0114】
このように,タグテーブル(234)に記憶されている位置情報を用いることで,例外処理(2)の場合にも照合を行うタグ候補を絞り込むことができる。
<図14>:リプレイ攻撃対策
本実施形態において,図7の認証コード生成方法では,認証コードにタグリーダ(211)のチャレンジコードが含まれていないため,リプレイ攻撃(なりすまし)に対して安全でない可能性がある。リプレイ攻撃の概要を以下に述べる。
【0115】
ステップA.攻撃者はタグID取得要求(601)を送信し,タグID取得応答(602)を受信する。
【0116】
ステップB.攻撃者は正規のタグリーダ(211)から送信されるタグID取得要求を受信し,ステップAで受信したタグID取得応答(602)をタグリーダ(211)に送信する。
【0117】
認証サーバ(221)は攻撃者から受信した認証用データと正規のタグ(201)から受信したデータを区別できないので,攻撃者は正規のタグになりすますことができる。
【0118】
そこで,図6のタグID取得要求に認証用のチャレンジコードr(t)を含める。また,タグ(201)は図7の認証コードを計算するステップ(702)において,チャレンジコードを認証コードを計算する関数の入力とし,認証コードを次のように計算する。
【0119】
h(i, t, r) = Mac(k(i), v(i, t), r(t))
このチャレンジコードr(t)は予測不可能な乱数を含む値で,時刻情報などを含んでも良い。
【0120】
図14はタグリーダのチャレンジを含む認証における認証サーバ(221)とDBサーバ(231)の動作を表すフローチャートである。以下,このフローチャートに従って認証サーバの動作を説明する。
【0121】
ステップ1(2602).認証サーバ(221)はタグリーダ(211)から位置情報登録要求を受信すると,まずタグリーダ(211)の認証を行う。
【0122】
ステップ2(2603).DBサーバ(231)にタグID検索要求(606)を送信し,タグ(201)の可変ID v(i, t)を検索キーとしてDBのタグテーブル(234)から時刻tの可変IDを検索する。
【0123】
ステップ3(2604,2605).DBサーバ(231)はステップ2(2603)の検索で該当するタグIDが見つからなければ例外処理(1)に移行する。
【0124】
ステップ4(2606).DBサーバ(231)はステップ2(2103)の検索で該当するタグIDを見つけると,認証サーバ(221)は該当タグID(501)について照合のための認証コード値を次のようにして計算する。
【0125】
x(j) = Mac(k(j), v(i, t), r(t))
ステップ5(2607).認証サーバ(221)は位置情報登録要求(603)で受け取った認証コードと,ステップ4(2606)で生成した検証用の認証コードの照合を行う。2つの認証コードが一致すればステップ6(2608)に移行する。一致しない場合にはステップ9(2612)に移行する。
【0126】
ステップ6(2608).認証コードが一致した場合には,認証サーバ(221)はタグ(201)の新しい情報からなるエントリを以下のように作成する。
【0127】
位置情報(503):pos
時刻t+1の可変ID(504):v(j, t+1) = Next(k(j), v(i, t))
ステップ7(2609).認証サーバ(221)はDBサーバ(231)に位置情報登録要求(608)を送信し,ステップ6で計算した新しいエントリをDBサーバ(231)に送信する。DBサーバ(231)は位置情報登録要求(608)を受信すると,その情報に基づきタグテーブル(234)を更新し,認証サーバ(221)に位置情報登録応答(609)を返信する。
【0128】
ステップ8(2610,2611).認証サーバ(221)はタグリーダ(211)に位置情報登録応答(610)を行い,タグ(201)が認証されたことをタグリーダ(211)に伝え,セッションを終了する。
【0129】
ステップ9(2612).認証コードが一致しない場合には,位置情報登録要求は不正なものと判断し,位置情報登録要求(608)をDBサーバに送信する。DBサーバ(231)はログにエラーを記録する。
【0130】
ステップ10(2613,2614).認証サーバ(221)は位置情報登録応答(610)として,タグリーダ(211)に認証が失敗したことを伝え,処理を終了する。
【0131】
図9に記載した例外処理(1)においても,同様に認証コードのチェックを行う。
【0132】
このように,タグの認証にチャレンジコードを含めることで,リプレイ攻撃を防ぐことができる。
<図11>
図11は表示用携帯端末(241)からタグ(201)の現在位置を確認するためのプロトコルの概要を表した図である。以下,図11に従って位置確認プロトコルを説明する。
【0133】
ステップ1.表示用携帯端末(241)は,アクセスポイント(1101)を介し,認証サーバ(221)に位置情報参照要求(1102)を行う。表示用端末(241)から認証サーバ(221)に送られる情報は端末のIDと認証コード,閲覧したいタグIDのリストである。必要であればこれらの情報は暗号化しておく。また,端末の認証はHMAC認証方法の他,電子署名を利用した認証でも良い。
【0134】
ステップ2.認証サーバ(221)は,DBサーバ(231)に端末ID検索要求(1103)を行う。
【0135】
ステップ3.DBサーバ(231)は,表示端末テーブル(233)から端末IDを検索し,認証サーバ(221)に端末ID検索応答(1104)を行う。
【0136】
ステップ4.認証サーバ(221)は,端末ID検索応答(1104)を基に端末IDを認証後,DBサーバ(231)に位置情報検索要求(1105)を行う。位置情報検索要求(1105)はタグIDのリストを含む。
【0137】
ステップ5.DBサーバ(231)は,タグテーブル(234)とリーダテーブル(232)からタグの位置情報を検索し,認証サーバ(221)にタグの位置情報を含む位置情報検索応答(1106)を行う。
【0138】
ステップ6.認証サーバ(221)は,タグIDリストのタグIDの数だけステップ4),5)を繰り返し,すべてのタグについて位置情報を取得したら,アクセスポイント(1101)を介し,表示用携帯端末(241)に全タグIDの位置情報を含む位置情報検索応答(1107)を行う。
【0139】
ステップ7.表示用携帯端末(241)は,該当するタグの位置情報を表示装置(245)に表示する。
【0140】
このように,本実施形態によれば,
タグがサーバに送信するデータを(可変ID,照合用ハッシュ値)の組とし,可変IDを検索キーとしてデータベースからタグの固定IDを検索することで,認証時のサーバの負荷を大幅に削減しつつ,IDの追跡を困難にする認証が可能である。このような特徴により,本実施形態の提供するタグ認証方法は大規模なシステムにおいてIDの追跡困難性を実現可能な認証システムを提供できる。
【0141】
プライバシを考慮した位置確認システムは,たとえば,来園者の多い大型レジャーパークなどにおける迷子捜索などにも応用することができる。
【図面の簡単な説明】
【0142】
【図1】本実施形態の機器構成を例示する図である。
【図2】本実施形態の機器構成における機器の実現例を例示する図である。
【図3】本実施形態のリーダテーブルの構成を例示する図である。
【図4】本実施形態の表示用端末テーブルの構成を例示する図である。
【図5】本実施形態のタグテーブルの構成を例示する図である。
【図6】本実施形態におけるタグ位置情報を登録するプロトコルの概要を例示する図である。
【図7】本実施形態のタグ位置情報を登録するプロトコルにおけるタグの処理を例示するフローチャートである。
【図8】本実施形態のタグ位置情報を登録するプロトコルにおける認証サーバおよびDBサーバの正常処理を例示するフローチャートである。
【図9】本実施形態のタグ位置情報を登録するプロトコルにおいて,同期ずれが発生した場合の認証サーバおよびDBサーバの処理を例示するフローチャートである。
【図10】本実施形態のタグ位置情報を登録するプロトコルにおいて,タグテーブルの検索で要求に該当するタグを発見できなかった場合の認証サーバおよびDBサーバの処理を例示するフローチャートである。
【図11】本実施形態において表示用携帯端末がタグの位置を確認するためのプロトコルの概要を例示する図である。
【図12】本実施形態のタグリーダの配置を例示するイメージ図である。
【図13】本実施形態のリーダテーブルの構成を例示する図である。
【図14】本実施形態のタグ位置情報を登録する際にタグリーダの発信する乱数情報を利用するプロトコルにおける認証サーバおよびDBサーバの正常処理を例示するフローチャートである。
【符号の説明】
【0143】
201:タグ,202:通信装置,203:記憶装置,204:暗号処理装置,205:データ登録装置,
211:タグリーダ,212:通信装置,213:通信装置,214:暗号処理装置,215:データ登録・参照装置,
221:認証サーバ,222:通信装置,223:DBアクセス装置,224:データ登録・参照装置,225:認証装置,226:暗号処理装置,
231:DB(データベース)サーバ,232:リーダテーブル,233:表示端末テーブル,234:タグテーブル,
241:表示用携帯端末,242:通信装置,243:記憶装置,244:暗号処理装置,245:表示装置,246:データ登録・参照装置,

【特許請求の範囲】
【請求項1】
通信装置1と記憶装置1と暗号処理装置1とを備える1個以上のタグと,通信装置2と記憶装置2と暗号処理装置2とを備えるタグ認証装置と,からなるシステムにおいて,前記タグ認証装置が前記タグからの通信を識別するための方法であって,
前記タグが備える記憶装置1には秘密鍵1と1回の通信ごとに更新される可変ID1が記憶されており,
前記タグ認証装置が備える記憶装置2には各々のタグの情報を記録したテーブルが記憶されており,
前記テーブルはタグのIDと各タグに対応する秘密鍵2と各タグに対応する可変ID2の値を項目として含んでおり,
前記タグが備える暗号処理装置1は,認証コード生成装置1,可変ID更新装置1を備え,
前記タグ認証装置が備える暗号処理装置2は認証コード生成装置2,可変ID更新装置2を備え,
前記タグ認証装置は,通信装置2を介して定期的にタグに対して認証を要求する信号を発信し,
前記タグは,前記信号を受信すると
, 前記可変ID1と前記秘密鍵1とを前記認証コード生成装置1の入力として認証コード1を生成し,
信号に対する応答として,前記可変ID1と,前記認証コード1とを前記通信装置1を介して前記タグ認証装置に送信し,
前記秘密鍵1と前記可変ID1とを前記可変ID更新装置1の入力として新しい可変IDを計算し,その結果を前記記憶装置1に記憶し,
前記タグ認証装置は,前記タグからの応答を受信すると
前記応答に含まれる前記可変ID1を検索キーとして前記テーブルを検索し,該当するタグのIDと対応する秘密鍵2を取り出し,
前記可変ID1と前記秘密鍵2を前記可変ID更新装置2の入力として新しい可変IDを計算し,その結果を前記記憶装置2に記憶する
ことを特徴とするタグ識別方法。
【請求項2】
請求項1に記載のタグ識別方法であって,
前記暗号処理装置1および前記暗号処理装置2は,一方向性ハッシュ関数を1つ以上備える
ことを特徴とするタグ識別方法。
【請求項3】
請求項2に記載のタグ識別方法であって,
前記認証コード生成装置は,前記一方向性ハッシュ関数Hashを使って,認証コードC
C = Hash(k||v(t)||0)
(ただし,kは該当タグの秘密鍵,v(t)は前記タグが現在記憶している可変IDとし,k||v(t)||0は前記秘密鍵と前記可変IDと0からなるビット列のビット列としての連結を指す)
を生成する
ことを特徴とするタグ識別方法。
【請求項4】
請求項2に記載のタグ識別方法であって,
前記可変ID更新装置は,前記一方向性ハッシュ関数Hashを使って,新しい可変ID v(t+1)
v(t+1) = Hash(k||v(t)||1)
(ただし,kは該当タグの秘密鍵,v(t)は前記タグが現在記憶している可変IDとし,k||v(t)||1は前記秘密鍵と前記可変IDと1からなるビット列のビット列としての連結を指す)
を生成する
ことを特徴とするタグ識別方法。
【請求項5】
請求項1に記載のタグ識別方法であって,
前記テーブルは,さらにすべてのタグについて複数回分の可変ID v(t+1)〜v(t+M)を記憶する
ことを特徴とするタグ識別方法。
【請求項6】
請求項5記載のタグ識別方法であって,
前記検索キーが前記テーブルに記載されている可変ID v(t)に該当しない場合に,前記あらかじめ計算しておいた複数回分の可変IDのリストから検索を行う
ことを特徴とするタグ識別方法。
【請求項7】
請求項6記載のタグ識別方法であって,
前記あらかじめ計算しておいた複数回分の可変IDのリストから検索を行っても該当するタグが無い場合に,前記テーブルに記憶されているすべてのタグIDごとに対応する秘密鍵と前記応答に含まれる可変ID1とを,前記認証コード生成装置2に入力して得られた値と前記応答に含まれている認証コード1とを照合し,
2つの値が一致するタグIDを該当タグと識別する
ことを特徴とするタグ識別方法。
【請求項8】
請求項1に記載のタグ識別方法であって,
前記タグ認証装置が発信する認証を要求する信号は乱数情報を含んでおり,
前記タグは,上記信号を受信すると,
前記可変ID1と前記秘密鍵1と上記信号に含まれる乱数情報とを前記認証コード生成装置1の入力として認証コード1を生成し,
信号に対する応答として,前記可変ID1と,前記認証コード1とを前記通信装置1を介して前記タグ認証装置に送信し,
前記タグ認証装置は,前記タグからの応答を受信すると
前記応答に含まれる前記可変ID1を検索キーとして前記テーブルを検索し,該当するタグのIDと対応する秘密鍵2を取り出し,
前記応答に含まれる前記可変ID1と前記秘密鍵2と前記発信した乱数情報とを前記認証コード生成装置2に入力して得られた値と,前記応答に含まれる認証コード1を照合することで,前記応答が前記発信した信号に対する応答であることを確認する
ことを特徴とするタグ識別方法。
【請求項9】
無線通信装置1と記憶装置1と暗号処理装置1とを備える1個以上のタグと,
通信装置2と記憶装置2と暗号処理装置2とを備えるタグ認証装置と,
タグと通信するための無線通信装置2と,タグ認証装置と通信するための通信装置1とを備える1個以上のタグリーダと,
からなる無線タグ位置登録システムであって,
前記タグが備える記憶装置1には秘密鍵1と1回の通信ごとに更新される可変ID1が記憶されており,
前記タグ認証装置が備える記憶装置2には各々のタグの情報を記録したタグテーブルとタグリーダの情報を記録したリーダテーブルが記憶されており,
前記タグテーブルはタグのIDと各タグの現在位置,各タグに対応する秘密鍵2,各タグに対応する可変ID2の値を項目として含んでおり,
前記リーダテーブルはタグリーダのIDと各タグリーダを設置した場所の情報を項目として含んでおり,
前記タグが備える暗号処理装置1は,認証コード生成装置1,可変ID更新装置1を備え,
前記タグ認証装置が備える暗号処理装置2は認証コード生成装置2,可変ID更新装置2を備え,
前記無線通信装置1と前記無線装置2は一定距離以下でのみ通信可能であり,
前記タグリーダは無線通信装置2を介して定期的に認証を要求する信号をブロードキャストし,
前記タグは,前記ブロードキャストされた信号を受信すると
, 前記可変ID1と前記秘密鍵1とを前記認証コード生成装置1の入力として認証コード1を生成し,
信号に対する応答として,前記可変ID1と,前記認証コード1とを含むデータを前記通信装置1を介して前記タグリーダに送信し,
前記秘密鍵1と前記可変ID1とを前記可変ID更新装置1の入力として新しい可変IDを計算し,その結果を前記記憶装置1に記憶し,
前記タグリーダは,前記タグからの通信を受信すると
前記タグからの通信で受信したデータにタグリーダのIDを付加し,前記通信装置2を介して前記タグ認証装置に位置登録要求信号として送信し,
前記タグ認証装置は,前記タグリーダからの前記位置登録要求信号を受信すると
前記位置情報登録要求信号に含まれる前記可変ID1を検索キーとして前記タグテーブルを検索し,該当するタグのIDと対応する秘密鍵2を取り出し,
前記可変ID1と前記秘密鍵2を前記可変ID更新装置2の入力として新しい可変IDを計算し,
前記位置情報登録要求信号に含まれるタグリーダのIDを検索キーとして前記リーダテーブルからタグリーダの位置情報を取得し,
タグリーダの位置情報と新しい可変IDを前記記憶装置2に記憶する
ことを特徴とする無線タグ位置登録システム。
【請求項10】
請求項9に記載の無線タグ位置登録システムであって,
前記暗号処理装置1および前記暗号処理装置2は,一方向性ハッシュ関数を1つ以上備える
ことを特徴とする無線タグ位置登録システム。
【請求項11】
請求項10に記載の無線タグ位置登録システムであって,
前記認証コード生成装置は,前記一方向性ハッシュ関数Hashを使って,認証コードC
C = Hash(k||v(t)||0)
(ただし,kは該当タグの秘密鍵,v(t)は前記タグが現在記憶している可変IDとし,k||v(t)||0は前記秘密鍵と前記可変IDと0からなるビット列のビット列としての連結を指す)
ことを特徴とする無線タグ位置登録システム。
【請求項12】
請求項10に記載の無線タグ位置登録システムであって,
前記可変ID更新装置は,前記一方向性ハッシュ関数Hashを使って,新しい可変ID v(t+1)
v(t+1) = Hash(k||v(t)||1)
(ただし,kは該当タグの秘密鍵,v(t)は前記タグが現在記憶している可変IDとし,k||v(t)||1は前記秘密鍵と前記可変IDと1からなるビット列のビット列としての連結を指す)
ことを特徴とする無線タグ位置登録システム。
【請求項13】
請求項9に記載の無線タグ位置登録システムであって,
前記タグテーブルは,さらにすべてのタグについて複数回分の可変ID v(t+1)〜v(t+M)を記憶する
ことを特徴とする無線タグ位置登録システム。
【請求項14】
請求項13記載の無線タグ位置登録システムであって,
前記検索キーが前記タグテーブルに記載されている可変ID v(t)に該当しない場合に,前記あらかじめ計算しておいた複数回分の可変IDのリストから検索を行う
ことを特徴とする無線タグ位置登録システム。
【請求項15】
請求項14記載のタグ識別方法であって,
前記あらかじめ計算しておいた複数回分の可変IDのリストから検索を行っても該当するタグが無い場合に,前記タグテーブルに記憶されているすべてのタグIDごとに対応する秘密鍵と前記応答に含まれる可変ID1とを,前記認証コード生成装置2に入力して得られた値と前記応答に含まれている認証コード1とを照合し,
2つの値が一致するタグIDを該当タグと識別する
ことを特徴とする無線タグ位置登録システム。
【請求項16】
請求項14に記載の無線タグ位置登録システムであって,
前記リーダテーブルはさらに各々のタグリーダに近い位置にあるタグリーダのIDとを項目として含んでおり,
前記あらかじめ計算しておいた複数回分の可変IDのリストから検索を行っても該当するタグが無い場合に,前記位置情報登録要求に含まれている前記タグリーダのIDを検索キーとして,前記リーダテーブルから前記位置情報登録要求を送信したタグリーダに近い位置にあるタグリーダのリストを取得し,
前記位置情報登録要求に含まれている前記タグリーダと上記リストに含まれるタグリーダに対応する位置情報を検索キーとして前記タグテーブルを検索し,
前記タグテーブルの位置情報の項目が上記検索キーのいずれかに合致するすべてのタグIDごとに対応する秘密鍵と前記応答に含まれる可変ID1とを,前記認証コード生成装置2に入力して得られた値と前記応答に含まれている認証コード1とを照合し,
2つの値が一致するタグIDを該当タグと識別する
ことを特徴とする無線タグ位置登録システム。
【請求項17】
請求項9記載の無線タグ位置登録システムであって,
前記タグリーダが発信する認証を要求する信号は乱数情報を含んでおり,
前記タグは,上記信号を受信すると,
前記可変ID1と前記秘密鍵1と上記信号に含まれる乱数情報とを前記認証コード生成装置1の入力として認証コード1を生成し,
信号に対する応答として,前記可変ID1と,前記認証コード1とを前記通信装置1を介して前記タグ認証装置に送信し,
前記タグリーダは,前記タグからの応答を受信すると
前記タグからの通信で受信したデータにタグリーダのIDと上記乱数情報とを付加し,前記通信装置2を介して前記タグ認証装置に位置登録要求信号を送信し,
前記タグ認証装置は,前記タグリーダからの位置登録要求信号を受信すると
前記位置登録要求信号に含まれる前記可変ID1を検索キーとして前記テーブルを検索し,該当するタグのIDと対応する秘密鍵2を取り出し,
前記位置登録要求信号に含まれる前記可変ID1と前記秘密鍵2と前記発信した乱数情報とを前記認証コード生成装置2に入力して得られた値と,前記位置登録要求信号に含まれる認証コード1を照合することで,前記タグの応答が前記タグリーダが発信した信号に対する応答であることを確認する
ことを特徴とする無線タグ位置登録システム。
【請求項18】
請求項9記載の無線タグ位置登録システムであって,
前記タグリーダは,さらに記憶装置3と暗号処理装置3とを備え,
前記記憶装置3は,秘密鍵3を記憶しており,
前記暗号処理装置3は,乱数生成装置3と認証コード生成装置3とを備え,
タグリーダは,前記タグからの通信を受信すると,
前記暗号処理装置3を用いて乱数を生成し,
前記秘密鍵3と上記乱数を前記認証コード生成装置3への入力とし,
得られた値をタグリーダIDに対する認証コードとして,前記タグ認証装置に送信する位置登録要求信号に付加してタグ認証装置に送信する
ことを特徴とする無線タグ位置登録システム。
【請求項19】
請求項9に記載のシステムであって,さらに,
通信装置4を備える1個以上の表示用端末と,通信装置5を備える1個以上のアクセスポイントと,を備え,
上記表示用端末は,通信装置4を介して上記アクセスポイントに接続し,
タグ認証装置にタグ位置閲覧要求を送信し,
タグの現在位置を取得する
ことを特徴とするタグ位置確認システム。
【請求項20】
請求項19に記載のタグ位置確認システムであって,
前記タグ認証装置が備える記憶装置2はさらに表示用端末テーブルとを備え,
上記表示端末テーブルは端末のIDと,各タグが閲覧してよいタグのIDからなるリストとを含み,
前記タグ位置閲覧要求は表示用端末のIDを含み,
前記タグ認証装置は,表示用端末からのタグ位置閲覧要求に対し,
タグ位置閲覧要求に含まれる表示用端末のIDを検索キーとして上記表示用端末テーブルを検索し,
要求を行った表示用端末が閲覧可能なタグIDのリストを取得し,
上記リストに含まれる各タグIDを検索キーとして前記タグテーブルを検索し,
各タグの位置情報を取得し,
取得した情報を表示用端末に返信する
ことを特徴とするタグ位置確認システム。
【請求項21】
請求項19に記載のタグ位置確認システムであって,
前記表示用端末は,さらに暗号処理装置を備え,
前記タグ認証装置との通信を暗号化する
ことを特徴とするタグ位置確認システム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2008−15639(P2008−15639A)
【公開日】平成20年1月24日(2008.1.24)
【国際特許分類】
【出願番号】特願2006−183977(P2006−183977)
【出願日】平成18年7月4日(2006.7.4)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成18年度、独立行政法人情報通信研究機構 「ICカード等における認証のための高度な暗号技術に関する研究開発」委託研究、産業再生法第30条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】