説明

パスワード管理システムおよびパスワード認証方法

【課題】各ICローダに固有の全てのパスワードを管理する必要の無いパスワード管理システムおよびパスワード認証方法を提供すること。
【解決手段】相互に通信可能なICローダとリーダライタにおいて、ICローダは固有の識別情報とパスワードを記憶し、リーダライタは複数のICローダに共通の秘密情報を記憶しておく。リーダライタは、ICローダに固有の識別情報をICローダから受信して、この識別情報と前記秘密情報をパスワード生成関数の入力としてパスワードを生成し、このパスワードをICローダに送信する。ICローダは、リーダライタから受信したパスワードと自己が記憶するパスワードとの一致を判定して認証を行う。なお、ICローダの記憶するパスワードは、ICローダの識別情報および前記秘密情報をパスワード生成関数に入力して得られた演算結果としておく。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報セキュリティ技術に関するものであり、より詳しくは、パスワード管理技術に関する。
【背景技術】
【0002】
公知の相手認証方法の一つに、パスワードによる方法がある。この方法では、認証したい相手の全てに同じパスワードを割り当てる方法と、認証したい相手ごとに固有のパスワードを割り当てる方法がある。
【0003】
具体例として、ISO(International Organization for Standardization)-15693やISO-18000などにおいて定められているRFID(Radio Frequency Identification)タグで説明する。このRFIDタグでは、アクセス制御手段としてパスワード認証が行われている。このパスワード認証方法では、RFIDタグとリーダライタ側の双方に共通のパスワードが管理(記憶)されている。機能実行要求時には、リーダライタ側がRFIDタグに対してパスワードを提示し、RFIDタグは、提示されたパスワードとRFIDタグに記憶されているパスワードとが一致した場合のみ、要求機能の実行を許可する。また、例えばEPCglobal Inc.が定める方式(非特許文献1、非特許文献2参照。)では、RFIDタグに搭載されたメモリ領域の読み書き制御とプライバシ保護を目的としてRFIDタグを無効化する機能の2つに関するパスワードが設定されている。
【0004】
このようなRFIDタグでは、複数のRFIDタグで同じパスワードを設定する方法と、個々のRFIDタグごとに固有のパスワードを設定する方法がある。後者の場合、(許可された)リーダライタは全てのRFIDタグについて、個々のパスワードとの対応表をメモリに記憶しておく。
上記説明したことは、RFIDタグに限らずIC(Integrated Circuit)カードなどでも同様である。以上のパスワード認証機能などを担う実体はICチップであるから、このようなICチップを搭載したタグやカードなどを総称して、ICローダ(loader)と云うことにする。
【非特許文献1】「NTT技術ジャーナル」、社団法人電気通信協会、2005年11月号
【非特許文献2】EPCglobal Inc.,"EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860MHz-960MHz", Version 1.0.8, EPCglobal Inc., 2005年1月,[平成17年11月7日検索],〈http://www.epcglobalinc.org/standards_technology/specifications.html〉
【発明の開示】
【発明が解決しようとする課題】
【0005】
各ICローダに固有のパスワードを設定して管理(記憶)する場合、リーダライタ側で個別のICローダとそのパスワードの対応表等を用意しなければならない。そして、ICローダを例えば荷札(タグ)として用いる物流の現場などを考えると、リーダライタが扱うICローダの数は膨大な量であり、また、上記対応表を管理(記憶)するリーダライタの数も多く、それらリーダライタ間でデータ量が膨大な対応表を共有しなければならない。このような場合の単純な解決策は、全てのICローダに対して同じパスワードを設定することである。しかし、パスワードが漏洩した際の安全性の問題やパスワードを更新する作業に非常に手間がかかることを考慮すれば、有効な解決策ではない。
【0006】
そこで、本発明は、各ICローダに固有の全てのパスワードを管理する必要の無いパスワード管理システムおよびパスワード認証方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、相互に通信可能なICローダとリーダライタにおいて、ICローダは固有の識別情報とパスワードを記憶し、リーダライタは複数のICローダに共通の秘密情報を記憶しておく。リーダライタは、ICローダに固有の識別情報をICローダから受信して、この識別情報と前記秘密情報をパスワード生成関数の入力としてパスワードを生成し、このパスワードをICローダに送信する。ICローダは、リーダライタから受信したパスワードと自己が記憶するパスワードとの一致を判定して認証を行う。なお、ICローダの記憶するパスワードは、ICローダの識別情報および前記秘密情報をパスワード生成関数に入力して得られた演算結果としておく。
このようにリーダライタは、各ICローダに固有のパスワードを全て記憶保存しておくのではなく、複数のICローダに共通の秘密情報だけを記憶しておく。そして、リーダライタは、必要となったときにICローダに固有の識別情報を取得して、ICローダに固有のパスワードを生成してパスワード認証を行う。
【0008】
また、リーダライタは複数のICローダに共通の秘密情報、ICローダに対して要求する処理の種類ごとに定まる情報(要求処理識別情報)を記憶し、ICローダは固有の識別情報、要求処理識別情報ごとにこれに対応したパスワードを記憶しておくとしてもよい。この場合、ICローダは、リーダライタから要求処理識別情報を受信し、この要求処理識別情報に対応した処理の実行を要求される。そこで、ICローダは、リーダライタにICローダに固有の識別情報を送信する。リーダライタは、ICローダに固有の識別情報をICローダから受信して、この識別情報、前記秘密情報、ICローダに送信した要求処理識別情報をパスワード生成関数の入力としてパスワードを生成し、このパスワードをICローダに送信する。ICローダは、リーダライタから受信したパスワードと自己が記憶するパスワードとの一致を判定して認証を行う。なお、ICローダの記憶するパスワードは、ICローダの識別情報、前記秘密情報、要求処理識別情報をパスワード生成関数に入力して得られた演算結果としておく。
このように、要求処理識別情報に対応した処理の種類ごとにパスワードを定めているので、特定の処理についてパスワード認証が行われることとなるが、このような場合でも、リーダライタが記憶する情報は、複数のICローダに共通の秘密情報と要求処理識別情報だけですむ。
【0009】
また、リーダライタを介して相互に通信可能なICローダとサーバにおいて、ICローダは固有の識別情報とパスワードを記憶し、サーバは複数のICローダに共通の秘密情報を記憶しておく。リーダライタは、ICローダに固有の識別情報をICローダから受信すると、これをサーバに送信する。サーバは、リーダライタから識別情報を受信すると、この識別情報と前記秘密情報をパスワード生成関数の入力としてパスワードを生成し、このパスワードをリーダライタに送信する。リーダライタは、受信したパスワードをICローダに送信する。ICローダは、リーダライタから受信したパスワードと自己が記憶するパスワードとの一致を判定して認証を行う。なお、ICローダの記憶するパスワードは、ICローダの識別情報および前記秘密情報をパスワード生成関数に入力して得られた演算結果としておく。
このようにサーバが秘密情報を記憶しているので、複数のリーダライタは独自に秘密情報を記憶する必要がない。つまり、サーバに秘密情報を記憶させておくことで、複数のリーダライタが秘密情報を記憶していることに伴う秘密情報漏洩のリスク(一般的に、秘密情報を記憶しているものが多いほど、故障などに伴う当該秘密情報の漏洩の可能性が高くなる。)を低減することができる。
【0010】
また、リーダライタを介して相互に通信可能なICローダとサーバにおいて、ICローダは固有の識別情報とパスワードを記憶し、サーバは複数のICローダに共通の秘密情報を記憶しておく。ICローダは、リーダライタからアクセスを受けると、乱数を生成して、この乱数およびICローダに固有の識別情報をリーダライタに送信する。リーダライタは、ICローダに固有の識別情報および乱数をICローダから受信すると、これをサーバに送信する。サーバは、リーダライタから識別情報および乱数を受信すると、この識別情報と前記秘密情報をパスワード生成関数の入力としてパスワードを生成し、このパスワードと乱数をマスキング関数の入力としてマスキングパスワードを生成する。そして、サーバは、このマスキングパスワードをリーダライタに送信する。リーダライタは、受信したマスキングパスワードをICローダに送信する。ICローダは、リーダライタから受信したマスキングパスワードと上記乱数をマスキング逆関数の入力としてパスワードを取り出す。そして、ICローダは、この取り出したパスワードと自己が記憶するパスワードとの一致を判定して認証を行う。なお、ICローダの記憶するパスワードは、ICローダの識別情報および前記秘密情報をパスワード生成関数に入力して得られた演算結果としておく。
このようにサーバは、リーダライタのアクセスごとにICローダが生成した乱数を用いてパスワードをマスキングして、このマスキングされたパスワードをリーダライタに送信する。そのため、従前にサーバから受信したパスワードを用いたリーダライタによるICローダへの不正アクセス(リプレイアタック)が阻止される。
【発明の効果】
【0011】
本発明によれば、リーダライタあるいはサーバは秘密情報だけを記憶しておき、ICローダに固有の識別情報および秘密情報からICローダに固有のパスワードを生成するので、各ICローダに固有の全てのパスワードを管理する必要が無く、また、リーダライタあるいはサーバが生成したパスワードとICローダが記憶する自己に固有のパスワードとの照合によってパスワード認証が行える。
【発明を実施するための最良の形態】
【0012】
<ICローダ>
本発明におけるICローダは、各実施形態ではRFIDタグ(2)とする。もちろん、RFIDタグ(2)に限定する趣旨ではなく、ICカードや演算機能を豊富に搭載しえないモバイル端末(例えば携帯電話、PDAなど)でもよいし、さらには、演算機能を豊富に有する高性能コンピュータなどであってもよい。
以下、RFIDタグ(2)をタグ(2)と略記する。
【0013】
図1、図3に例示するように、タグ(2)は、電源回路(21)、変復調回路(22)、CPU(Central Processing Unit)(23)、メモリであるRAM(24)、ROM(25)、不揮発性メモリ(27)、リーダライタ(3)と通信可能なアンテナ(28)を備えている。
【0014】
アンテナ(28)は、後述のリーダライタ(3)のアンテナ(38)から与えられた電磁波を受けると誘導起電力を生じ、電源回路(21)に電力が供給される。また、リーダライタ(3)から与えられた電磁波には、所定のデータなどが変調されて載せられており、変復調回路(22)は、この所定のデータをリーダライタ(3)から与えられた電磁波から復調して取り出す。CPU(23)は、取り出されたデータに対して適宜の情報処理(演算)を実行する。逆に、CPU(23)の演算によって得られたデータなどは、変復調回路(22)で変調されて電磁波としてアンテナ(28)からリーダライタ(3)に送られる。
以下、変復調回路(22)およびアンテナ(28)をまとめて通信部(29)と称する。
【0015】
タグ(2)のROM(25)には、パスワード認証やリーダライタ(3)から要求された処理を実行するためのプログラムおよびこのプログラムの処理において必要となるデータなどが記憶保存されている。また、これらのプログラムの処理によって得られるデータなどは、RAM(24)や不揮発性メモリ(27)に適宜に記憶保存される。
【0016】
タグ(2)では、ROM(25)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(24)に読み込まれて、CPU(23)で解釈実行・処理される。その結果、CPU(23)が所定の機能(判定部、乱数生成部、XOR演算部、制御部)を実現することで、タグ(2)におけるパスワード認証などが実現される。
【0017】
<リーダライタ>
リーダライタ(3)のハードウェア構成は、図2、図3に例示するように、変復調回路(32)、CPU(33)、メモリであるRAM(34)、ROM(35)や一方向性関数を高速に演算可能なコプロセッサ(36)、不揮発性メモリ(37)、タグ(2)と通信可能なアンテナ(38)、後述するサーバ(1)と相互にデータの送受信が可能な通信手段(31)を備えている。なお、タグ(2)ではアンテナ(28)の誘導起電力を電力源としていたが、リーダライタ(3)では、図示しない電源装置から電力の供給を受ける。
【0018】
CPU(33)やコプロセッサ(36)の演算によって得られたデータなどは、変復調回路(32)で変調されて電磁波としてアンテナ(38)からタグ(2)に送られる。逆に、タグ(2)から与えられた電磁波には、所定のデータなどが変調されて載せられており、これをアンテナ(38)で受信すると、変復調回路(32)は、この所定のデータをタグ(2)から与えられた電磁波から復調して取り出す。CPU(33)やコプロセッサ(36)は、取り出されたデータに対して適宜の演算を実行する。
以下、変復調回路(32)およびアンテナ(38)をまとめて通信部(39)と称する。
【0019】
リーダライタ(3)のROM(35)には、パスワード認証などの処理を実行するためのプログラムおよびこのプログラムの処理において必要となるデータなどが記憶保存されている。また、これらのプログラムの処理によって得られるデータなどは、RAM(34)や不揮発性メモリ(37)に適宜に記憶保存される。
【0020】
リーダライタ(3)では、ROM(35)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(34)に読み込まれて、CPU(34)およびコプロセッサ(36)で解釈実行・処理される。その結果、CPU(34)およびコプロセッサ(36)が所定の機能(一方向性関数演算部、制御部)を実現することで、リーダライタ(3)におけるパスワード認証などが実現される。
【0021】
((第1実施形態))
まず、本発明の第1実施形態について図4、図5を参照して説明する。
《パスワード管理システム》
図4を参照して、第1実施形態のパスワード管理システムを説明する。
リーダライタ(3)のROM(35)には、従来のように、各タグ(2)と各タグ(2)に固有のパスワードとを対応付けたタグ−パスワード対応テーブルを記憶しているのではなく、全てのタグ(2)に共通の秘密情報sのみを記憶保存している。なお、本明細書では、秘密情報sを全てのタグ(2)に共通とするが、例えば、タグ(2)を複数のグループに分割し、このグループごとに異なる秘密情報を割り当てるようにしてもよい。
【0022】
一方、タグ(2)のROM(25)には、予め、それぞれのタグ(2)に固有の識別情報であるID(identification)および固有のパスワードが記憶されている。便宜上、n番目のタグT(2)のIDをIDと表すことにする。全てのIDは異なるとするが、一部同じである場合があってもよい。ここでパスワードとは、識別情報IDおよび秘密情報sを入力とした一方向性関数(パスワード生成関数)の演算結果である。パスワードを与えるパスワード生成関数は、一方向性関数に限定されないものの、逆演算で得た識別情報や秘密情報の不正使用を防止する観点から、少なくともパスワード生成関数の逆演算は困難なものであることが望ましい。
【0023】
リーダライタ(3)は、各タグ(2)に固有のパスワードを全て記憶保存しておくのではなく、必要となったときに、タグ(2)に固有のパスワードを生成してパスワード認証を行う。このため、リーダライタ(3)のコプロセッサ(36)は、パスワードである演算結果を与える一方向性関数(パスワード生成関数)を高速演算可能なプロセッサであるとする。リーダライタ(3)のROM(35)には全てのタグ(2)に共通する秘密情報sが記憶保存されているから、リーダライタ(3)は、タグT(2)に固有の識別情報IDを入手することで、タグT(2)に固有のパスワードを生成することができる。
【0024】
第1実施形態では、一方向性関数をハッシュ関数Hとする。
パスワードの具体例としては、識別情報IDおよび秘密情報sをバイナリ系列で結合した値ID‖s〔記号‖は、IDのバイナリ系列とsのバイナリ系列との結合を表す。〕を入力としたハッシュ関数Hの演算結果H(ID‖s)である。勿論、s‖IDをハッシュ関数Hの入力としてもよいし、例えば2つの秘密情報sおよびtのバイナリ系列を識別情報IDに結合したt‖ID‖sを入力とすることでもよい。このような趣旨を込めて、以後、パスワードを単にH(ID,s)と表記する。
【0025】
《パスワード認証方法》
次に、図5を参照して、第1実施形態のパスワード管理システムにおけるパスワード認証の処理の流れを順次説明する。
【0026】
まず、リーダライタ(3)の制御部(340)は、その通信部(39)を制御して、n番目のタグT(2)に対して、タグT(2)のアクセスを開始する情報(アクセス開始情報)を送信する(ステップS100)。この際、例えば不揮発性メモリ(27)への書き込み処理などタグT(2)に実行させたい処理(要求処理)のコマンド識別子を同時に送信するとしてもよい。
なお、この明細書において、アクセス開始情報の種類などには格別の限定はなく、以下に述べるトランザクションを開始することを表す情報であればよい。
【0027】
次に、タグT(2)の通信部(29)が、ステップS100で送信されたアクセス開始情報を受信する(ステップS101)。そして、タグT(2)の制御部(240)は、受信したアクセス開始情報を契機として、ROM(25)から識別情報IDを読み込み、さらに通信部(29)を制御して、識別情報IDをリーダライタ(3)に対して送信する(ステップS102)。
【0028】
次に、リーダライタ(3)の通信部(39)がステップS102で送信された識別情報IDを受信する(ステップS103)。そして、リーダライタ(3)の制御部(340)は、ROM(35)から読み込んだ秘密情報sおよび受信した識別情報IDをRAM(34)に格納する(中間処理;ステップS104)。
【0029】
次に、リーダライタ(3)の一方向性関数演算部(341)は、RAM(34)に格納された識別情報IDおよび秘密情報sを読み込み、これらを入力としたハッシュ関数Hを演算して、その演算結果をRAM(34)に格納する(ステップS105)。便宜上、この演算結果をHRW(ID,s)と表記する。
【0030】
次に、リーダライタ(3)の制御部(340)は、その通信部(39)を制御して、RAM(34)に格納された演算結果HRW(ID,s)を、タグT(2)に対して送信する(ステップS106)。
【0031】
次に、タグT(2)の通信部(29)がステップS106で送信された演算結果HRW(ID,s)を受信する(ステップS107)。そして、タグT(2)の制御部(240)は、ROM(25)から読み込んだパスワードH(ID,s)および受信した演算結果HRW(ID,s)をRAM(24)に格納する(中間処理;ステップS108)。
【0032】
次に、タグT(2)の判定部(241)は、RAM(24)に格納されたパスワードH(ID,s)および演算結果HRW(ID,s)を読み込み、これらが一致するか否かを判定する(ステップS109)。一致すれば、リーダライタ(3)のタグT(2)に対するアクセスが許可される(ステップS110)。なお、タグT(2)のCPU(23)は、ステップS101で要求処理のコマンド識別子も受信していれば、このコマンド識別子に対応したコマンド(例えばROM(25)に記憶保存されたコマンド識別子−コマンド対応テーブルを参照して特定する。)を実行する。一致しなければ、リーダライタ(3)のタグT(2)に対するアクセスが許可されない(ステップS111)。一致しない場合としては、例えば、リーダライタ(3)が正規のものでないため、秘密情報sを記憶保有していなかった場合や、所定のハッシュ関数Hの演算を行わなかった場合などが考えられる。
【0033】
以上のように、リーダライタ(3)は秘密情報sを記憶保存しておくだけでありながら、タグT(2)から固有の識別情報IDを入手した場合に、タグT(2)に固有のパスワードH(ID,s)を生成し、パスワード認証を行うことができる。
【0034】
((第2実施形態))
次に、本発明の第2実施形態について図6〜図9を参照して説明する。
第2実施形態は、第1実施形態の拡張的形態であり、リーダライタ(3)からの要求処理の種類ごとにパスワードが定められている場合である。
第1実施形態と同様のハードウェア構成、機能、処理などには同じ符号を当てるなどして、重複説明を省略する。
【0035】
《パスワード管理システム》
図6を参照して、第1実施形態のパスワード管理システムを説明する。
リーダライタ(3)のROM(35)には、全てのタグ(2)に共通の秘密情報s、要求処理の種類ごとに定まる要求処理識別情報とこの要求処理識別情報に対応したコマンド識別子とを対応付けた対応テーブル(350)も記憶保存している(図7参照。)。例えば、要求処理がタグT(2)の機能を無効化する処理の場合には要求処理識別情報をa、要求処理が不揮発性メモリ(27)からの読み込み処理の場合には要求処理識別情報をa、要求処理が不揮発性メモリ(27)への書き込み処理の場合には要求処理識別情報をaとする。そして、要求処理識別情報aに対応するコマンド識別子をc、要求処理識別情報aに対応するコマンド識別子をc、要求処理識別情報aに対応するコマンド識別子をcとする。勿論、要求処理の種類はこれらに限定されない。
要求処理識別情報およびコマンド識別子は、全てのタグ(2)に共通とする。
また、リーダライタ(3)のコプロセッサ(36)は、第1実施形態と同様、一方向性関数であるハッシュ関数Hを高速演算可能なプロセッサであるとする。
【0036】
一方、タグT(2)のROM(25)には、予め、それぞれのタグT(2)に固有の識別情報ID、要求処理の種類ごとに固有のパスワード、コマンド識別子とコマンドとパスワードとを対応付けた対応テーブル(250)が記憶されている(図8参照。)。
要求処理の種類ごとに固有のパスワードの具体例としては、タグT(2)の機能を無効化する処理のパスワードはH(ID‖a‖s)、不揮発性メモリ(27)からの読み込み処理のパスワードはH(ID‖a‖s)、不揮発性メモリ(27)への書き込み処理のパスワードはH(ID‖a‖s)である。なお、このようなパスワードに限定されないことは第1実施形態と同様であり、この趣旨を込めて、以後、要求処理の種類ごとに固有のパスワードをH(ID,a,s)[i=k,r,w]と表記する。
【0037】
《パスワード認証方法》
次に、図9を参照して、第2実施形態のパスワード管理システムにおけるパスワード認証の処理の流れを順次説明する。
【0038】
まず、リーダライタ(3)の制御部(340)は、その通信部(39)を制御して、タグT(2)に対して、タグT(2)のアクセスを開始する情報(アクセス開始情報)および要求処理のコマンド識別子を送信する(ステップS100a)。例えば要求処理をタグT(2)の機能を無効化する処理とした場合、このコマンド識別子cを送信する。以下では一般的な場合を考慮して、要求処理のコマンド識別子をc[i=k,r,w]として表記する。
【0039】
次に、タグT(2)の通信部(29)が、ステップS100aで送信されたアクセス開始情報およびコマンド識別子cを受信する(ステップS101a)。そして、タグT(2)の制御部(240)は、受信したアクセス開始情報を契機として、ROM(25)から識別情報IDを読み込み、さらに通信部(29)を制御して、識別情報IDをリーダライタ(3)に対して送信する(ステップS102)。なお、タグT(2)の制御部(240)は、受信したコマンド識別子cをRAM(24)に格納する。
【0040】
次に、リーダライタ(3)の通信部(39)がステップS102で送信された識別情報IDを受信する(ステップS103)。そして、リーダライタ(3)の制御部(340)は、ROM(35)から読み込んだ秘密情報s、対応テーブル(350)を参照して得たコマンド識別子cに対応する要求処理識別情報aおよび受信した識別情報IDをRAM(34)に格納する(中間処理;ステップS104a)。
【0041】
次に、リーダライタ(3)の一方向性関数演算部(341)は、RAM(34)に格納された識別情報IDおよび秘密情報s、要求処理識別情報aを読み込み、これらを入力としたハッシュ関数Hを演算して、その演算結果をRAM(34)に格納する(ステップS105a)。この演算結果をHRW(ID,a,s)と表記する。
【0042】
次に、リーダライタ(3)の制御部(340)は、その通信部(39)を制御して、RAM(34)に格納された演算結果HRW(ID,a,s)を、タグT(2)に対して送信する(ステップS106a)。
【0043】
次に、タグT(2)の通信部(29)がステップS106aで送信された演算結果HRW(ID,a,s)を受信する(ステップS107a)。そして、タグT(2)の制御部(240)は、受信した演算結果HRW(ID,a,s)をRAM(24)に格納する。また、タグT(2)の制御部(240)は、ROM(25)に格納された対応テーブル(250)を参照して、RAM(24)に格納されるコマンド識別子cに対応したパスワードH(ID,a,s)をRAM(24)に格納する(中間処理;ステップS108a)。
【0044】
次に、タグT(2)の判定部(241)は、RAM(24)に格納されたパスワードH(ID,a,s)および演算結果HRW(ID,a,s)を読み込み、これらが一致するか否かを判定する(ステップS109a)。一致すれば、リーダライタ(3)のタグT(2)に対するアクセスが許可され、タグT(2)のCPU(23)は、対応テーブル(250)を参照して特定されたコマンド識別子cに対応するコマンドを実行して要求処理を実現する(ステップS110a)。一致しなければ、リーダライタ(3)のタグT(2)に対するアクセスが許可されない(ステップS111)。
【0045】
第2実施形態では、アンテナ(28)およびアンテナ(38)の通信区間がセキュア通信区間でない場合を想定して、安全性を高める観点でリーダライタ(3)からタグ(2)に対してコマンド識別子を送信するとしたが、要求処理識別情報そのものを送信するようにしてもよい。この場合、リーダライタ(3)は、図7に示す対応テーブル(350)ではなく、要求処理識別情報そのものを記憶保存する。また、タグ(2)は、図8に示す対応テーブル(250)のコマンド識別子欄が要求処理識別情報に置き換えられた対応テーブルを記憶保存する。
【0046】
要求処理の種類ごとにパスワードを定めることで、例えば不揮発性メモリ(27)からの読み込み処理の権限しかないリーダライタ(3)が、読み込み処理を要求処理としてタグ(2)にアクセスした際に、権限外の例えばタグ機能の無効化処理を実行するなどの不正行為を防止することができる。
【0047】
((第3実施形態))
次に、本発明の第3実施形態について図10〜図12を参照して説明する。
第3実施形態は、第1実施形態および第2実施形態の類型的形態であり、一方向性関数として共通鍵暗号系における暗号化関数Eは共通鍵)や公開鍵暗号系における暗号化関数E、E(p:公開鍵、q:秘密鍵)を用いる。
ここでは、第2実施形態の類型的形態として説明する。第2実施形態と同様のハードウェア構成、機能、処理などには同じ符号を当てるなどして、重複説明を省略する。なお、第1実施形態は、第2実施形態において要求処理識別情報a=0[i=k,r,w]とした場合に実質的に相当することに留意すること。
【0048】
まず、一方向性関数として共通鍵暗号系における暗号化関数Eを用いた場合を説明する。
リーダライタ(3)は、秘密情報s、要求処理識別情報に加え、暗号化に使用する共通鍵dもROM(35)に記憶保存している。また、リーダライタ(3)のコプロセッサ(36)は、暗号化関数Eを高速演算可能なプロセッサであるとする。
【0049】
タグT(2)のROM(25)に予め記憶保存される要求処理の種類ごとに定まった固有のパスワードは、タグT(2)の機能を無効化する処理のパスワードはE(ID‖a‖s)、不揮発性メモリ(27)からの読み込み処理のパスワードはE(ID‖a‖s)、不揮発性メモリ(27)への書き込み処理のパスワードはE(ID‖a‖s)である。なお、このようなパスワードに限定されないことは第2実施形態と同様であり、この趣旨を込めて、以後、要求処理の種類ごとに固有のパスワードをE(ID,a,s)[i=k,r,w]と表記する。
【0050】
この場合、上記ステップS105aの処理は、リーダライタ(3)の一方向性関数演算部(341)が、RAM(34)に格納された識別情報IDおよび秘密情報s、要求処理識別情報aを読み込み、これらを入力とした暗号化関数Eを演算して、その演算結果Ed,RW(ID,a,s)をRAM(34)に格納するものとなる(ステップS105b)。
その他の処理は、パスワードがE(ID,a,s)、演算結果がEd,RW(ID,a,s)になることを除いて第2実施形態と同様であるから、説明を省略する(図10中、符号の添え字がbの部分を参照。)。
【0051】
また、秘密情報sを不要として、共通鍵dを秘密情報とすることもできる。この場合、パスワードはE(ID,a)[i=k,r,w]となる。
【0052】
次に、一方向性関数として公開鍵暗号系における暗号化関数E、Eを用いた場合を説明する。公開鍵暗号を用いた場合、2通りのパターンがある。
[パターン1]
リーダライタ(3)は、秘密情報s、要求処理識別情報に加え、暗号化に使用する公開鍵pもROM(35)に記憶保存している。また、リーダライタ(3)のコプロセッサ(36)は、暗号化関数Eを高速演算可能なプロセッサであるとする。
【0053】
タグT(2)のROM(25)に予め記憶保存される要求処理の種類ごとに定まった固有のパスワードは、タグT(2)の機能を無効化する処理のパスワードはE(ID‖a‖s)、不揮発性メモリ(27)からの読み込み処理のパスワードはE(ID‖a‖s)、不揮発性メモリ(27)への書き込み処理のパスワードはE(ID‖a‖s)である。なお、このようなパスワードに限定されないことは第2実施形態と同様であり、この趣旨を込めて、以後、要求処理の種類ごとに固有のパスワードをE(ID,a,s)[i=k,r,w]と表記する。
【0054】
この場合、上記ステップS105aの処理は、リーダライタ(3)の一方向性関数演算部(341)が、RAM(34)に格納された識別情報IDおよび秘密情報s、要求処理識別情報aを読み込み、これらを入力とした暗号化関数Eを演算して、その演算結果Ep,RW(ID,a,s)をRAM(34)に格納するものとなる(ステップS105c)。
その他の処理は、パスワードがE(ID,a,s)、演算結果がEp,RW(ID,a,s)になることを除いて第2実施形態と同様であるから、説明を省略する(図11中、符号の添え字がcの部分を参照。)。
【0055】
秘密鍵qは、原則秘密とする(もし外部に漏洩すると、演算結果Ep,RW(ID,a,s)の平文−例えばID‖a‖s−が判明するから、これを不正に利用される可能性がある。)。本実施形態では、暗号文の復号化は行わないので、公開鍵pと秘密鍵qを生成した後、秘密鍵qのみを消去してもよい。
しかしながら、このような秘密鍵qであっても、例外的に(正規の)リーダライタ(3)には知られていてもよい。この場合、秘密情報sに替え、秘密鍵qを秘密情報とすることができ、パスワードはE(ID,a,q)[i=k,r,w]となる。
【0056】
さらに、秘密情報sを不要として、公開鍵pを公開せず秘密情報とすることもできる。この場合、パスワードはE(ID,a)[i=k,r,w]となる。
【0057】
[パターン2]
リーダライタ(3)は、秘密情報s、要求処理識別情報に加え、暗号化に使用する秘密鍵qもROM(35)に記憶保存している。また、リーダライタ(3)のコプロセッサ(36)は、暗号化関数Eを高速演算可能なプロセッサであるとする。
【0058】
タグT(2)のROM(25)に予め記憶保存される要求処理の種類ごとに定まった固有のパスワードは、タグT(2)の機能を無効化する処理のパスワードはE(ID‖a‖s)、不揮発性メモリ(27)からの読み込み処理のパスワードはE(ID‖a‖s)、不揮発性メモリ(27)への書き込み処理のパスワードはE(ID‖a‖s)である。なお、このようなパスワードに限定されないことは第2実施形態と同様であり、この趣旨を込めて、以後、要求処理の種類ごとに固有のパスワードをE(ID,a,s)[i=k,r,w]と表記する。
【0059】
この場合、上記ステップS105aの処理は、リーダライタ(3)の一方向性関数演算部(341)が、RAM(34)に格納された識別情報IDおよび秘密情報s、要求処理識別情報aを読み込み、これらを入力とした暗号化関数Eを演算して、その演算結果Eq,RW(ID,a,s)をRAM(34)に格納するものとなる(ステップS105d)。
その他の処理は、パスワードがE(ID,a,s)、演算結果がEq,RW(ID,a,s)になることを除いて第2実施形態と同様であるから、説明を省略する(図12中、符号の添え字がdの部分を参照。)。
【0060】
また、秘密情報sを不要として、秘密鍵qを秘密情報とすることもできる。この場合、パスワードはE(ID,a)[i=k,r,w]となる。この場合、演算結果Eq,RW(ID,a)から平文が判明することを防止するため、秘密鍵pに対応する公開鍵pを公開しないようにする。
【0061】
((第4実施形態))
次に、本発明の第4実施形態について図13〜図17を参照して説明する。
第4実施形態は、上記各実施形態で説明したリーダライタ(3)の機能を後述するサーバ(1)に担当させたパスワード管理およびパスワード認証を実現する形態であり、上記各実施形態の変形形態に相当するが、ここでは第1実施形態の変形形態として説明する。この第4実施形態は、リーダライタ(3)を信頼できない場合などに相当し、リーダライタ(3)は一方向性関数の演算を行わない。また、タグ(2)には、非特許文献2に示される方式と同様に、XOR演算機能が搭載されているとする。なお、XORは排他的論理和を表す。このXOR演算が、上記マスキング関数およびマスキング逆関数に相当する。
また、第1実施形態と同じハードウェア構成、機能、処理などについては同一符号を当てるなどして重複説明を省略する。
【0062】
<サーバ>
図13に例示するように、サーバ(1)は、リーダライタ(3)と通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(13)、CPU(14)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(15)、ROM(16)やハードディスクである外部記憶装置(17)並びにこれらの通信部(13)、CPU(14)、RAM(15)、ROM(16)、外部記憶装置(17)間のデータのやり取りが可能なように接続するバス(18)を有している。また必要に応じて、サーバ(1)には、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。
【0063】
サーバ(1)の外部記憶装置(17)には、パスワード認証などの処理を実行するためのプログラムおよびこのプログラムの処理において必要となるデータなどが記憶保存されている。また、これらのプログラムの処理によって得られるデータなどは、RAM(15)に適宜に記憶保存される。
【0064】
サーバ(1)では、外部記憶装置(17)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(15)に読み込まれて、CPU(14)で解釈実行・処理される。その結果、CPU(14)が所定の機能(一方向性関数演算部、XOR演算部、制御部)を実現する。
【0065】
《パスワード管理システム》
図14、図15を参照して、第4実施形態のパスワード管理システムを説明する。
サーバ(1)の外部記憶装置(17)には、従来のように、各タグ(2)と各タグ(2)に固有のパスワードとを対応付けたタグ−パスワード対応テーブルを記憶しているのではなく、全てのタグ(2)に共通の秘密情報sのみを記憶保存している。
【0066】
タグT(2)のROM(25)には、予め、それぞれのタグ(2)に固有の識別情報であるIDおよび固有のパスワードが記憶されている。パスワードは、識別情報IDおよび秘密情報sを入力とした一方向性関数(第1実施形態と同様にハッシュ関数Hとする。)の演算結果である。即ち、第1実施形態と同様、パスワードはH(ID,s)とする。
【0067】
サーバ(1)は、各タグ(2)に固有のパスワードを全て記憶保存しておくのではなく、必要となったときに、タグ(2)に固有のパスワードを生成してパスワード認証を行う。サーバ(1)の外部記憶装置(17)には全てのタグ(2)に共通する秘密情報sが記憶保存されているから、サーバ(1)は、タグT(2)に固有の識別情報IDを入手することで、タグT(2)に固有のパスワードを生成することができる。
【0068】
《パスワード認証方法》
次に、図16、図17を参照して、第4実施形態のパスワード管理システムにおけるパスワード認証の処理の流れを順次説明する。
【0069】
まず、リーダライタ(3)の制御部(340)は、その通信部(39)を制御して、n番目のタグT(2)に対して、タグT(2)のアクセスを開始する情報(アクセス開始情報)を送信する(ステップS400)。この際、例えば不揮発性メモリ(27)への書き込み処理などタグT(2)に実行させたい処理(要求処理)のコマンド識別子を同時に送信するとしてもよい。
【0070】
次に、タグT(2)の通信部(29)が、ステップS400で送信されたアクセス開始情報を受信する(ステップS401)。そして、タグT(2)の制御部(240)は、受信したアクセス開始情報を契機として、ROM(25)から識別情報IDを読み込み、これをRAM(24)に格納する。また、タグT(2)の制御部(240)の制御によって、擬似乱数生成手段であるタグT(2)の乱数生成部(242)は、乱数rを生成してこれをRAM(24)に格納する(ステップS402)。次いで、タグT(2)の制御部(240)は、通信部(29)を制御して、RAM(24)から読み込んだ乱数rおよび識別情報IDをリーダライタ(3)に対して送信する(ステップS403)。
【0071】
次に、リーダライタ(3)の通信部(39)がステップS403で送信された乱数rおよび識別情報IDを受信する(ステップS404)。そして、リーダライタ(3)の制御部(340)は、その通信手段(31)を制御して、受信した乱数rおよび識別情報IDをサーバ(1)に対して送信する(ステップS405)。
【0072】
次に、サーバ(1)の通信部(13)がステップS405で送信された乱数rおよび識別情報IDを受信する(ステップS406)。そして、サーバ(1)の制御部(140)は、外部記憶装置(17)から読み込んだ秘密情報sと受信した乱数rおよび識別情報IDとをRAM(15)に格納する(中間処理;ステップS407)。
【0073】
次に、サーバ(1)の一方向性関数演算部(141)は、RAM(15)に格納された秘密情報sおよび識別情報IDを読み込み、これらを入力としたハッシュ関数Hを演算して、その演算結果をRAM(15)に格納する(ステップS408)。この演算結果をHRW(ID,s)と表記する。
【0074】
次に、サーバ(1)のXOR演算部(142)は、RAM(15)に格納されたHRW(ID,s)および乱数rを読み込み、これらの排他的論理和XORを演算して、その演算結果〔HRW(ID,s)〕XOR〔r〕をRAM(15)に格納する(ステップS409)。この演算結果〔HRW(ID,s)〕XOR〔r〕がマスキングパスワードである。つまり、乱数rとのXOR演算によってHRW(ID,s)をマスキングした。ここでのXOR演算がマスキング関数に相当する。
【0075】
次に、サーバ(1)の制御部(140)は、その通信部(13)を制御して、RAM(15)に格納された排他的論理和XORの演算結果〔HRW(ID,s)〕XOR〔r〕を、リーダライタ(3)に対して送信する(ステップS410)。
【0076】
次に、リーダライタ(3)の通信手段(31)がステップS410で送信された演算結果〔HRW(ID,s)〕XOR〔r〕を受信する(ステップS411)。そして、リーダライタ(3)の制御部(340)は、その通信部(39)を制御して、ステップS411において受信した演算結果〔HRW(ID,s)〕XOR〔r〕をタグT(2)に送信する(ステップS412)。
【0077】
次に、タグT(2)の通信部(29)がステップS412で送信された演算結果〔HRW(ID,s)〕XOR〔r〕を受信する(ステップS413)。そして、タグT(2)の制御部(240)は、ROM(25)から読み込んだパスワードH(ID,s)および受信した演算結果〔HRW(ID,s)〕XOR〔r〕をRAM(24)に格納する(中間処理;ステップS414)。
【0078】
次に、タグT(2)のXOR演算部(243)は、RAM(24)に格納された乱数rおよび演算結果〔HRW(ID,s)〕XOR〔r〕を読み込み、これらの排他的論理和XORを演算して、その演算結果〔HRW(ID,s)〕XOR〔r〕XOR〔r〕=HRW(ID,s)をRAM(24)に格納する(ステップS415)。なお、この処理では排他的論理和XORの性質を用いた。つまり、乱数rとのXOR演算によって演算結果〔HRW(ID,s)〕XOR〔r〕からHRW(ID,s)を取り出した。ここでのXOR演算がマスキング逆関数に相当する。
マスキング関数およびマスキング逆関数は、このようにHRW(ID,s)をマスキングし、再度HRW(ID,s)を取り出せる関係にあれば、XOR演算に限定されない。仮に、タグ(2)の演算能力が高度であれば、暗号化関数および復号化関数をマスキング関数およびマスキング逆関数として用いることも可能である。
【0079】
次に、タグT(2)の判定部(241)は、RAM(24)に格納されたパスワードH(ID,s)および演算結果HRW(ID,s)を読み込み、これらが一致するか否かを判定する(ステップS416)。一致すれば、リーダライタ(3)のタグT(2)に対するアクセスが許可される(ステップS417)。なお、タグT(2)のCPU(23)は、ステップS401で要求処理のコマンド識別子も受信していれば、このコマンド識別子に対応したコマンド(例えばROM(25)に記憶保存されたコマンド識別子−コマンド対応テーブルを参照して特定する。)を実行する。一致しなければ、リーダライタ(3)のタグT(2)に対するアクセスが許可されない(ステップS418)。
【0080】
なお、乱数の生成(ステップS402参照)は、リーダライタ(3)からのアクセス開始情報を受信するごとに行う。このようにすることで、リーダライタ(3)が以前と同じ演算結果〔HRW(ID,s)〕XOR〔r〕を用いて(サーバ(1)を介入しない不正な)アクセスを行おうとしても、乱数値が異なるため、ステップS415の処理を経たステップS416における判定処理によって、タグT(2)に対するアクセスが許可されない。つまり、従前の演算結果〔HRW(ID,s)〕XOR〔r〕を用いたリプレイアタックに対して耐タンパ性を有するものとなる。
【0081】
具体的には、タグ(2)の機能を有効にしたまま、メモリの読み取りや書き込みの処理を他者に一時的に委託する場合−例えば流通分野において、タグ(2)を操作する全面的な権限はメーカにあるが、流通過程での情報を読み書きするために卸業者や小売店舗のリーダライタ(3)に一時的にアクセスを許可するといった場合−に、パスワード算出のためタグ共通の秘密情報を開示してしまうと、リーダライタ(3)は、対象となるタグに対して爾後の不正アクセス(リプレイアタック)ができるようになる。そこで、第4実施形態のように、リーダライタからのアクセスのたびに乱数を発生させて、この乱数で演算結果HRW(ID,s)をマスキングすることで、上記不正アクセス(リプレイアタック)を阻止することができる。
【0082】
第4実施形態では、第1実施形態の変形実施形態として説明した。勿論、要求処理の種類ごとにパスワードを定める第2実施形態の変形形態としての第4実施形態も考えられる。この場合には、リーダライタ(3)がコマンド識別子を記憶しておき、上記ステップS400でタグ(2)にコマンド識別子も送信し、さらに上記ステップS405でもステップS400で送信したコマンド識別子をサーバに送信し、上記ステップS408では、サーバの一方向性関数演算部(141)が、コマンド識別子に対応した要求処理識別子aも用いてHRW(ID,a,s)を求めるとする。あるいは、リーダライタ(3)が要求処理識別情報aを記憶しておき、上記ステップS400でタグ(2)に要求処理識別情報aも送信し、さらに上記ステップS405でもステップS400で送信した要求処理識別情報aをサーバに送信し、上記ステップS408では、サーバの一方向性関数演算部(141)が、リーダライタ(3)から受信した要求処理識別子aも用いてHRW(ID,a,s)を求めるとしてもよい。
【0083】
本発明であるパスワード管理システムおよびパスワード認証方法は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、RFIDは接触方式でも非接触方式でもよいし、ICローダとリーダライタ間の通信は無線通信ではなく有線通信としてもよい。また、上記各実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。また、上記形態では、所定のプログラムを実行させることにより、所定の機能(例えば、XOR演算部など)を実現することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0084】
本発明は、例えば、物流市場に出回るICタグや人的管理に用いられるICカードなどのパスワード管理およびパスワード認証に有用である。
【図面の簡単な説明】
【0085】
【図1】タグ(2)のハードウェア構成例。
【図2】リーダライタ(3)のハードウェア構成例。
【図3】タグ(2)とリーダライタ(3)との通信の模式図。
【図4】第1実施形態に係わるタグ(2)およびリーダライタ(3)の機能ブロック図。
【図5】第1実施形態に係わるパスワード認証の処理フロー。
【図6】第2実施形態に係わるタグ(2)およびリーダライタ(3)の機能ブロック図。
【図7】コマンド識別子と要求処理情報とを対応付けた対応テーブルの一例。
【図8】コマンド識別子、コマンドおよびパスワードを対応付けた対応テーブルの一例。
【図9】第2実施形態に係わるパスワード認証の処理フロー。
【図10】第3実施形態に係わるパスワード認証の処理フロー(共通鍵暗号化関数の場合)。
【図11】第3実施形態に係わるパスワード認証の処理フロー(公開鍵暗号化関数の場合パターン1)。
【図12】第3実施形態に係わるパスワード認証の処理フロー(公開鍵暗号化関数の場合パターン2)。
【図13】サーバ(1)のハードウェア構成例。
【図14】第4実施形態に係わるサーバ(1)、タグ(2)およびリーダライタ(3)の機能ブロック図。
【図15】サーバ(1)、タグ(2)、リーダライタ(3)間の通信の模式図。
【図16】第4実施形態に係わるパスワード認証の処理フロー(その1)。
【図17】第4実施形態に係わるパスワード認証の処理フロー(その2)。
【符号の説明】
【0086】
1 サーバ
13 通信部
140 制御部
141 一方向性関数演算部
142 XOR演算部
17 外部記憶装置
2 RFIDタグ
240 制御部
241 判定部
242 乱数生成部
243 XOR演算部
25 ROM
29 通信部
3 リーダライタ
31 通信手段
340 制御部
341 一方向性関数演算部
35 ROM
39 通信部

【特許請求の範囲】
【請求項1】
ICローダとリーダライタとは相互に通信可能であり、
ICローダは、
ICローダに固有の識別情報およびパスワードを記憶する記憶手段と、
リーダライタに識別情報を送信する送信手段と、
リーダライタからパスワードを受信する受信手段と、
ICローダの記憶手段に記憶されるパスワードと、ICローダの受信手段によって受信したパスワードとが一致するか否かを判定する判定手段とを備え、
リーダライタは、
複数のICローダに共通の秘密情報を記憶する記憶手段と、
ICローダから当該ICローダの識別情報を受信する受信手段と、
リーダライタの受信手段によって受信した識別情報およびリーダライタの記憶手段に記憶される秘密情報をパスワード生成関数の入力としてパスワードを生成するパスワード生成手段と、
パスワード生成手段によって生成されたパスワードをICローダに送信する送信手段とを備え、
ICローダの記憶手段に記憶されるパスワードは、このICローダの識別情報および上記秘密情報を上記パスワード生成関数に入力して得られた演算結果である
ことを特徴とするパスワード管理システム。
【請求項2】
ICローダとリーダライタとは相互に通信可能であって、ICローダはリーダライタから要求された処理を実行可能なものであり、
ICローダは、
ICローダに固有の識別情報およびリーダライタから要求された処理の種類ごとに定まる情報(要求処理識別情報)に対応したパスワードを記憶する記憶手段と、
リーダライタに識別情報を送信する送信手段と、
リーダライタからパスワードあるいは要求処理識別情報を受信する受信手段と、
ICローダの記憶手段に記憶されるパスワードと、ICローダの受信手段によって受信したパスワードとが一致するか否かを判定する判定手段とを備え、
リーダライタは、
複数のICローダに共通の秘密情報および要求処理識別情報を記憶する記憶手段と、
ICローダから当該ICローダの識別情報を受信する受信手段と、
リーダライタの受信手段によって受信した識別情報、リーダライタの記憶手段に記憶される秘密情報、ICローダに送信した要求処理識別情報をパスワード生成関数の入力としてパスワードを生成するパスワード生成手段と、
パスワード生成手段によって生成されたパスワードあるいは要求処理識別情報をICローダに送信する送信手段とを備え、
ICローダの記憶手段に記憶される要求処理識別情報に対応した上記パスワードは、このICローダの識別情報、上記秘密情報、要求処理識別情報を上記パスワード生成関数に入力して得られた演算結果である
ことを特徴とするパスワード管理システム。
【請求項3】
サーバとICローダとが、リーダライタを介して相互に通信可能であり、
ICローダは、
ICローダに固有の識別情報およびパスワードを記憶する記憶手段と、
リーダライタに識別情報を送信する送信手段と、
リーダライタからパスワードを受信する受信手段と、
ICローダの記憶手段に記憶されるパスワードと、ICローダの受信手段によって受信したパスワードとが一致するか否かを判定する判定手段とを備え、
リーダライタは、
ICローダから識別情報を受信する第1受信手段と、
リーダライタの第1受信手段によって受信した識別情報をサーバに送信する第1送信手段と、
サーバからパスワードを受信する第2受信手段と、
ICローダにパスワードを送信する第2送信手段とを備え、
サーバは、
複数のICローダに共通の秘密情報を記憶する記憶手段と、
リーダライタからICローダの識別情報を受信する受信手段と、
サーバの受信手段によって受信した識別情報およびサーバの記憶手段に記憶される秘密情報をパスワード生成関数の入力としてパスワードを生成するパスワード生成手段と、
パスワード生成手段によって生成されたパスワードをリーダライタに送信する送信手段とを備え、
ICローダの記憶手段に記憶されるパスワードは、このICローダの識別情報および上記秘密情報を上記パスワード生成関数に入力して得られた演算結果である
ことを特徴とするパスワード管理システム。
【請求項4】
サーバとICローダとが、リーダライタを介して相互に通信可能であり、
ICローダは、
ICローダに固有の識別情報およびパスワードを記憶する記憶手段と、
乱数を生成する乱数生成手段と、
リーダライタに記憶手段に記憶される識別情報および乱数生成手段によって生成された乱数を送信する送信手段と、
リーダライタからマスキングパスワードを受信する受信手段と、
ICローダの受信手段によって受信したマスキングパスワードおよび乱数生成手段によって生成された乱数をマスキング逆関数の入力としてパスワードを出力するマスキング逆関数演算手段と、
ICローダの記憶手段に記憶されるパスワードと、ICローダのマスキング逆関数演算手段によって出力されたパスワードとが一致するか否かを判定する判定手段とを備え、
リーダライタは、
ICローダから識別情報および乱数を受信する第1受信手段と、
リーダライタの第1受信手段によって受信した識別情報および乱数をサーバに送信する第1送信手段と、
サーバからマスキングパスワードを受信する第2受信手段と、
ICローダにマスキングパスワードを送信する第2送信手段とを備え、
サーバは、
複数のICローダに共通の秘密情報を記憶する記憶手段と、
リーダライタからICローダの識別情報および乱数を受信する受信手段と、
サーバの受信手段によって受信した識別情報およびサーバの記憶手段に記憶される秘密情報をパスワード生成関数の入力としてパスワードを生成するパスワード生成手段と、
サーバのパスワード生成手段によって生成されたパスワードおよびサーバの受信手段によって受信した乱数をマスキング関数の入力としてマスキングパスワードを生成するマスキング関数演算手段と、
サーバのマスキング関数演算手段によって生成されたマスキングパスワードをリーダライタに送信する送信手段とを備え、
ICローダの記憶手段に記憶されるパスワードは、このICローダの識別情報および上記秘密情報を上記パスワード生成関数に入力して得られた演算結果である
ことを特徴とするパスワード管理システム。
【請求項5】
ICローダとリーダライタとは相互に通信可能であり、
ICローダの記憶手段には、当該ICローダに固有の識別情報およびパスワードが記憶され、
リーダライタの記憶手段には、複数のICローダに共通の秘密情報が記憶され、
ICローダの送信手段が、リーダライタに当該ICローダに固有の識別情報を送信する識別情報送信ステップと、
リーダライタの受信手段が、識別情報送信ステップにおいて送信されたICローダの識別情報を受信する識別情報受信ステップと、
リーダライタのパスワード生成手段が、識別情報受信ステップにおいて受信した識別情報およびリーダライタの記憶手段に記憶される秘密情報をパスワード生成関数の入力としてパスワードを生成するパスワード生成ステップと、
リーダライタの送信手段が、パスワード生成ステップにおいて生成されたパスワードをICローダに送信するパスワード送信ステップと、
ICローダの受信手段が、パスワード送信ステップにおいて送信されたパスワードを受信するパスワード受信ステップと、
ICローダの判定手段が、パスワード受信ステップにおいて受信したパスワードと、ICローダの記憶手段に記憶されるパスワードとが一致するか否かを判定する判定ステップと
を有することを特徴とするパスワード認証方法。
【請求項6】
ICローダとリーダライタとは相互に通信可能であって、ICローダはリーダライタから要求された処理を実行可能なものであり、
ICローダの記憶手段には、当該ICローダに固有の識別情報およびリーダライタから要求された処理の種類ごとに定まる情報(要求処理識別情報)に対応したパスワードが記憶され、
リーダライタの記憶手段には、複数のICローダに共通の秘密情報および要求処理識別情報が記憶され、
リーダライタの送信手段が、ICローダに要求処理識別情報を送信する要求処理識別情報送信ステップと、
ICローダの受信手段が、要求処理識別情報送信ステップにおいて送信された要求処理識別情報を受信する要求処理識別情報受信ステップと、
ICローダの送信手段が、リーダライタに当該ICローダに固有の識別情報を送信する識別情報送信ステップと、
リーダライタの受信手段が、識別情報送信ステップにおいて送信されたICローダの識別情報を受信する識別情報受信ステップと、
リーダライタのパスワード生成手段が、識別情報受信ステップにおいて受信した識別情報、リーダライタの記憶手段に記憶される秘密情報、要求処理識別情報送信ステップにおいてICローダに送信した要求処理識別情報をパスワード生成関数の入力としてパスワードを生成するパスワード生成ステップと、
リーダライタの送信手段が、パスワード生成ステップにおいて生成されたパスワードをICローダに送信するパスワード送信ステップと、
ICローダの受信手段が、パスワード送信ステップにおいて送信されたパスワードを受信するパスワード受信ステップと、
ICローダの判定手段が、パスワード受信ステップにおいて受信したパスワードと、要求処理識別情報受信ステップにおいて受信した要求処理識別情報に対応した記憶手段に記憶されるパスワードとが一致するか否かを判定する判定ステップと
を有することを特徴とするパスワード認証方法。
【請求項7】
サーバとICローダとが、リーダライタを介して相互に通信可能であり、
ICローダの記憶手段には、当該ICローダに固有の識別情報およびパスワードが記憶され、
サーバの記憶手段には、複数のICローダに共通の秘密情報が記憶され、
ICローダの送信手段が、リーダライタに当該ICローダに固有の識別情報を送信する第1識別情報送信ステップと、
リーダライタの第1受信手段が、第1識別情報送信ステップにおいて送信されたICローダの識別情報を受信する第1識別情報受信ステップと、
リーダライタの第1送信手段が、第1識別情報受信ステップにおいて受信したICローダの識別情報をサーバに送信する第2識別情報送信ステップと、
サーバの受信手段が、第2識別情報送信ステップにおいて送信されたICローダの識別情報を受信する第2識別情報受信ステップと、
サーバのパスワード生成手段が、第2識別情報受信ステップにおいて受信したICローダの識別情報およびサーバの記憶手段に記憶される秘密情報をパスワード生成関数の入力としてパスワードを生成するパスワード生成ステップと、
サーバの送信手段が、パスワード生成ステップにおいて生成されたパスワードをリーダライタに送信する第1パスワード送信ステップと、
リーダライタの第2受信手段が、第1パスワード送信ステップにおいて送信されたパスワードを受信する第1パスワード受信ステップと、
リーダライタの第2送信手段が、第1パスワード受信ステップにおいて受信したパスワードをICローダに送信する第2パスワード送信ステップと、
ICローダの受信手段が、第2パスワード送信ステップにおいて送信されたパスワードを受信する第2パスワード受信ステップと、
ICローダの判定手段が、第2パスワード受信ステップにおいて受信したパスワードと、ICローダの記憶手段に記憶されるパスワードとが一致するか否かを判定する判定ステップと
を有することを特徴とするパスワード認証方法。
【請求項8】
サーバとICローダとが、リーダライタを介して相互に通信可能であり、
ICローダの記憶手段には、当該ICローダに固有の識別情報およびパスワードが記憶され、
サーバの記憶手段には、複数のICローダに共通の秘密情報が記憶され、
ICローダの乱数生成手段が、乱数を生成する乱数生成ステップと、
ICローダの送信手段が、リーダライタに当該ICローダに固有の識別情報および乱数生成ステップにおいて生成された乱数を送信する第1識別情報送信ステップと、
リーダライタの第1受信手段が、第1識別情報送信ステップにおいて送信されたICローダの識別情報および乱数を受信する第1識別情報受信ステップと、
リーダライタの第1送信手段が、第1識別情報受信ステップにおいて受信したICローダの識別情報および乱数をサーバに送信する第2識別情報送信ステップと、
サーバの受信手段が、第2識別情報送信ステップにおいて送信されたICローダの識別情報および乱数を受信する第2識別情報受信ステップと、
サーバのパスワード生成手段が、第2識別情報受信ステップにおいて受信したICローダの識別情報およびサーバの記憶手段に記憶される秘密情報をパスワード生成関数の入力としてパスワードを生成するパスワード生成ステップと、
サーバのマスキング関数演算手段が、パスワード生成ステップにおいて生成されたパスワードおよび第2識別情報受信ステップにおいて受信した乱数をマスキング関数の入力としてマスキングパスワードを生成するマスキング関数演算ステップと、
サーバの送信手段が、マスキング関数演算ステップにおいて生成されたマスキングパスワードをリーダライタに送信する第1パスワード送信ステップと、
リーダライタの第2受信手段が、第1パスワード送信ステップにおいて送信されたマスキングパスワードを受信する第1パスワード受信ステップと、
リーダライタの第2送信手段が、第1パスワード受信ステップにおいて受信したマスキングパスワードをICローダに送信する第2パスワード送信ステップと、
ICローダの受信手段が、第2パスワード送信ステップにおいて送信されたマスキングパスワードを受信する第2パスワード受信ステップと、
ICローダのマスキング逆関数演算手段が、第2パスワード受信ステップにおいて受信したマスキングパスワードおよび乱数生成ステップにおいて生成した乱数をマスキング逆関数の入力としてパスワードを出力するマスキング逆関数演算ステップと、
ICローダの判定手段が、マスキング逆関数演算ステップにおいて出力されたパスワードと、ICローダの記憶手段に記憶されるパスワードとが一致するか否かを判定する判定ステップと
を有することを特徴とするパスワード認証方法。

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

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2007−140778(P2007−140778A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−331890(P2005−331890)
【出願日】平成17年11月16日(2005.11.16)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】