(57)【要約】【課題】識別情報の漏洩に対するセキュリティを向上する。【解決手段】ポイントカードの会員登録要求があると、ランダムにバーコード１００を生成し、このパターンを数値化し、さらに暗号化した暗号化値Ｘ’を求める。この暗号化値Ｘ’を除数Ａ、Ｂで除算した剰余ａ、ｂを求め、これらをさらに暗号化した暗号化値ａ’、ｂ’を生成する。これらの暗号化の処理には、復号鍵が異なる非対称鍵が用いられる。第１テーブル１４３の暗号化値ａ’の位置と第２テーブル１４４の暗号化値ｂ’の位置に、同一の会員ＩＤが登録されていなければ、会員ＩＤを登録し、バーコード１００を要求元に送信する。会員に送信されたバーコード１００が読み取られると、同様にして暗号化値ａ’、ｂ’が生成され、第１テーブル１４３の暗号化値ａ’の位置と第２テーブル１４４の暗号化値ｂ’の位置に同一の会員ＩＤが登録されていれば、ポイントの蓄積／使用が可能となる。【選択図】    図４
2004214813.tif 000002
【特許請求の範囲】
【請求項１】
認証を受けるべき者として登録されるユーザに固有の識別情報を生成する識別情報生成手段と、
前記識別情報生成手段が生成した識別情報に基づいて、該生成した識別情報と１対１で対応付けられた数値組であって、複数の数値からなる数値組を生成する数値組生成手段と、
前記数値組に含まれる複数の数値にそれぞれ対応して用意された複数のテーブルと、
前記数値組生成手段が生成した数値組に含まれる各数値に対応した各テーブルの記憶位置に、同一のユーザを示す情報が登録されているかどうかを判別する登録判別手段と、
前記登録判別手段により同一のユーザを示す情報が登録されていないと判別したときに、前記数値組生成手段が生成した数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置に、前記識別情報生成手段が生成した識別情報に対応したユーザを示す情報を登録する組み合わせ登録手段と、
前記組み合わせ登録手段により各テーブルにユーザを示す情報が登録された後に、前記識別情報生成手段が生成した識別情報を、対応するユーザに送信する識別情報送信手段とを備え、
前記数値組生成手段は、前記識別情報から前記数値組に含まれる各数値を生成するまでに用いられるいずれか１以上のデータを、復号鍵とは非対称の暗号鍵を用いて暗号化する手段を含む
ことを特徴とする識別情報発行システム。
【請求項２】
前記数値組生成手段は、
前記識別情報を所定の方法により数値化し、該識別情報と１対１で対応した数値を生成する数値生成手段と、
前記数値生成手段が生成した識別情報に対応した数値を、互いに異なる複数の除数で除算した剰余をそれぞれ算出する剰余算出手段と、
前記剰余算出手段が算出した各剰余を前記復号鍵とは非対称の暗号鍵を用いて暗号化した暗号化値を生成し、各暗号化値を前記数値組に含まれる複数の数値とする暗号化値生成手段とを備え、
前記複数の除数の最小公倍数は、前記識別情報に対応した数値がとり得る値の最大値と最小値との差よりも大きい
ことを特徴とする請求項１に記載の識別情報発行システム。
【請求項３】
前記数値組生成手段は、
前記識別情報を所定の方法により数値化し、該識別情報と１対１で対応した数値を生成する数値生成手段と、
前記数値生成手段が生成した識別情報に対応した数値を前記復号鍵とは非対称の暗号鍵を用いて暗号化した暗号化値を生成する暗号化値生成手段と、
前記暗号化値生成手段が生成した暗号化値を、互いに異なる複数の除数で除算した剰余をそれぞれ算出し、各剰余を前記数値組に含まれる複数の数値とする剰余算出手段とを備え、
前記複数の除数の最小公倍数は、前記暗号化値生成手段が生成する暗号化値がとり得る値の最大値と最小値との差よりも大きい
ことを特徴とする請求項１に記載の識別情報発行システム。
【請求項４】
前記数値組生成手段は、
前記識別情報を所定の方法により数値化し、該識別情報と１対１で対応した数値を生成する数値生成手段と、
前記数値生成手段が生成した識別情報に対応した数値を前記復号鍵とは非対称の暗号鍵を用いて暗号化した第１の暗号化値を生成する第１の暗号化値生成手段と、
前記第１の暗号化値生成手段が生成した第１の暗号化値を、互いに異なる複数の除数で除算した剰余をそれぞれ算出する剰余算出手段と、
前記剰余算出手段が算出した各剰余を前記復号鍵とは非対称の暗号鍵を用いて暗号化した第２の暗号化値を生成し、各第２の暗号化値を前記数値組に含まれる複数の数値とする第２の暗号化値生成手段とを備え、
前記複数の除数の最小公倍数は、前記暗号化値生成手段が生成する暗号化値がとり得る値の最大値と最小値との差よりも大きい
ことを特徴とする請求項１に記載の識別情報発行システム。
【請求項５】
前記識別情報送信手段により前記識別情報生成手段が生成した識別情報が送信された後、該識別情報を破棄する識別情報破棄手段をさらに備える
ことを特徴とする請求項１乃至４のいずれか１項に記載の識別情報発行システム。
【請求項６】
ユーザから提示された識別情報に基づいて、前記数値組生成手段が数値組を生成するのと同様の方法により生成され、該送信された識別情報と１対１で対応付けられた数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置から、登録されているユーザを示す情報を抽出するユーザ情報抽出手段と、
前記ユーザ情報抽出手段が抽出したユーザを示す情報として全てのテーブルから同一のユーザを示す情報が抽出されたかどうかを判定するユーザ情報判定手段と、
前記ユーザ情報判定手段が同一のユーザを示す情報が抽出されたと判定したときに、前記ユーザから提示された識別情報を認証する認証手段とをさらに備えることを特徴とする請求項１乃至５のいずれか１項に記載の識別情報発行システム。
【請求項７】
認証を受けるべき者として登録されるユーザに固有の識別情報を生成する識別情報生成手段と、
前記識別情報生成手段が生成した識別情報を、復号鍵とは非対称の暗号鍵を用いて暗号化する暗号化手段と、
前記暗号化手段により暗号化された識別情報が既にデータベースに登録されているかどうかを判別する登録判別手段と、
前記登録判別手段が未だ登録されていないと判別したときに、該暗号化された識別情報を前記データベースに登録する識別情報登録手段と、
前記登録判別手段が未だ登録されていないと判別したときに、前記識別情報生成手段が生成した識別情報を、対応するユーザに送信する識別情報送信手段と
を備えることを特徴とする識別情報発行システム。
【請求項８】
前記識別情報送信手段によりユーザに送信された識別情報を取得し、該取得した識別情報を前記暗号化手段が暗号化に用いるのと同一の暗号鍵を用いて暗号化する第２の暗号化手段と、
前記第２の暗号化手段により暗号化された識別情報を、前記データベースに登録されている暗号化された識別情報と照合する識別情報照合手段と、
前記識別情報照合手段による照合の結果、前記第２の暗号化手段により暗号化された識別情報と同一の暗号化された識別情報が前記データベースに登録されていたときに、前記ユーザに送信された識別情報を認証する認証手段とをさらに備える
ことを特徴とする請求項７に記載の識別情報発行システム。
【請求項９】
前記識別情報発行システムは、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを有する
ことを特徴とする請求項１乃至８のいずれか１項に記載の識別情報発行システム。
【請求項１０】
認証を受ける者として登録されたユーザに固有の識別情報が発行されたときに、該識別情報と１対１で対応付けられた数値組に含まれる各数値に対応したそれぞれの記憶位置に、該識別情報の発行要求をしたユーザを示す情報を登録した複数のテーブルと、
ユーザから提示された識別情報に基づいて、前記テーブルへの登録時と同様の方法により生成され、該送信された識別情報と１対１で対応付けられた数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置から、登録されているユーザを示す情報を抽出するユーザ情報抽出手段と、
前記ユーザ情報抽出手段が抽出したユーザを示す情報として全てのテーブルから同一のユーザを示す情報が抽出されたかどうかを判定するユーザ情報判定手段と、
前記ユーザ情報判定手段が同一のユーザを示す情報が抽出されたと判定したときに、前記ユーザから提示された識別情報を認証する認証手段とを備え、
前記数値組に含まれる各数値は、前記識別情報から前記各数値が生成されるまでに用いられるいずれか１以上のデータが、復号鍵とは非対称の暗号鍵を用いて暗号化されることによって、生成されるものである
ことを特徴とする識別情報認証システム。
【請求項１１】
前記登録されたユーザに発行された識別情報は、前記複数のテーブルに当該ユーザを示す情報を登録し、当該ユーザに発行した後に破棄されている
ことを特徴とする請求項１０に記載の識別情報認証システム。
【請求項１２】
復号鍵とは非対称の暗号鍵を用いて暗号化されてデータベースに登録されると共に、対応する暗号化がされていない状態でユーザに送信された識別情報を取得し、該取得した識別情報を前記データベースへ登録される際の暗号化に用いられたのと同一の暗号鍵を用いて暗号化する暗号化手段と、
前記暗号化手段により暗号化された識別情報を、前記データベースに暗号化されて登録されている識別情報と照合する識別情報照合手段と、
前記識別情報照合手段による照合の結果、前記暗号化手段により暗号化された識別情報と同一の暗号化された識別情報が前記データベースに登録されていたときに、前記ユーザに送信された識別情報を認証する認証手段と
を備えることを特徴とする識別情報認証システム。
【請求項１３】
前記識別情報認証システムは、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを有する
ことを特徴とする請求項１０乃至１２のいずれか１項に記載の識別情報発行システム。
【請求項１４】
認証を受けるべき者として登録されるユーザに固有の識別情報を生成するステップと、
前記生成した識別情報に基づいて、該生成した識別情報と１対１で対応付けられた数値組であって、複数の数値からなる数値組を生成するステップと、
前記数値組に含まれる複数の数値にそれぞれ対応して用意された複数のテーブルを予め準備するステップと、
前記生成した数値組に含まれる各数値に対応した各テーブルの記憶位置に、同一のユーザを示す情報が登録されているかどうかを判別するステップと、
同一のユーザを示す情報が登録されていないと判別したときに、前記生成した数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置に、前記生成した識別情報に対応したユーザを示す情報を登録するステップと、
各テーブルにユーザを示す情報が登録された後に、前記生成した識別情報を、対応するユーザに送信するステップとを含み、
前記数値組に含まれる各数値は、前記識別情報から生成までに用いられるいずれか１以上のデータが、復号鍵とは非対称の暗号鍵を用いて暗号化されることによって生成されるものである
ことを特徴とする識別情報発行方法。
【請求項１５】
前記生成した識別情報が送信された後、該識別情報を破棄するステップをさらに含む
ことを特徴とする請求項１４に記載の識別情報発行方法。
【請求項１６】
認証を受けるべき者として登録されるユーザに固有の識別情報を生成するステップと、
前記識別情報を、復号鍵とは非対称の暗号鍵を用いて暗号化するステップと、
前記暗号化された識別情報が既にデータベースに登録されているかどうかを判別するステップと、
未だ登録されていないと判別したときに、該暗号化された識別情報を前記データベースに登録するステップと、
未だ登録されていないと判別したときに、前記生成した識別情報を、対応するユーザに送信するステップと
を含むことを特徴とする識別情報発行方法。
【請求項１７】
前記識別情報発行方法は、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを用いる
ことを特徴とする請求項１４乃至１６のいずれか１項に記載の識別情報発行方法。
【請求項１８】
認証を受ける者として登録されたユーザに固有の識別情報が発行されたときに、該識別情報と１対１で対応付けられた数値組に含まれる各数値に対応したそれぞれの記憶位置に、該識別情報の発行要求をしたユーザを示す情報を登録する複数のテーブルを準備するステップと、
ユーザから提示された識別情報に基づいて、前記テーブルへの登録時と同様の方法により生成され、該送信された識別情報と１対１で対応付けられた数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置から、登録されているユーザを示す情報を抽出するステップと、
前記抽出したユーザを示す情報として全てのテーブルから同一のユーザを示す情報が抽出されたかどうかを判定するステップと、
同一のユーザを示す情報が抽出されたと判定したときに、前記ユーザから提示された識別情報を認証するステップと、
前記数値組に含まれる各数値は、前記識別情報から前記各数値が生成されるまでに用いられるいずれか１以上のデータが、復号鍵とは非対称の暗号鍵を用いて暗号化されることによって、生成されるものである
ことを特徴とする識別情報認証方法。
【請求項１９】
復号鍵とは非対称の暗号鍵を用いて暗号化されてデータベースに登録されると共に、対応する暗号化がされていない状態でユーザに送信された識別情報を取得し、該取得した識別情報を前記データベースへ登録される際の暗号化に用いられたのと同一の暗号鍵を用いて暗号化するステップと、
前記暗号化された識別情報を、前記データベースに暗号化されて登録されている識別情報と照合するステップと、
前記照合の結果、前記暗号化するステップで暗号化された識別情報と同一の暗号化された識別情報が前記データベースに登録されていたときに、前記ユーザに送信された識別情報を認証するステップと
を含むことを特徴とする識別情報認証方法。
【請求項２０】
前記識別情報認証方法は、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを用いる
ことを特徴とする請求項１８または１９に記載の識別情報認証方法。
【請求項２１】
認証を受けるべき者として登録されるユーザに固有の識別情報を生成する識別情報生成手段、
前記識別情報生成手段が生成した識別情報に基づいて、該生成した識別情報と１対１で対応付けられた数値組であって、複数の数値からなる数値組を生成する数値組生成手段、
前記数値組に含まれる複数の数値にそれぞれ対応して用意された複数のテーブル、
前記数値組生成手段が生成した数値組に含まれる各数値に対応した各テーブルの記憶位置に、同一のユーザを示す情報が登録されているかどうかを判別する登録判別手段と、
前記登録判別手段により同一のユーザを示す情報が登録されていないと判別したときに、前記数値組生成手段が生成した数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置に、前記識別情報生成手段が生成した識別情報に対応したユーザを示す情報を登録する組み合わせ登録手段、及び、
前記組み合わせ登録手段により各テーブルにユーザを示す情報が登録された後に、前記識別情報生成手段が生成した識別情報を、対応するユーザに送信する識別情報送信手段としてコンピュータ装置を機能させ、
前記数値組生成手段は、前記識別情報から前記数値組に含まれる各数値を生成するまでに用いられるいずれか１以上のデータを、復号鍵とは非対称の暗号鍵を用いて暗号化する手段を含む
ことを特徴とするプログラム。
【請求項２２】
前記識別情報送信手段により前記識別情報生成手段が生成した識別情報が送信された後、該識別情報を破棄する識別情報破棄手段としてさらに前記コンピュータ装置を機能させる
ことを特徴とする請求項２１に記載のプログラム。
【請求項２３】
認証を受ける者として登録されたユーザに固有の識別情報が発行されたときに、該識別情報と１対１で対応付けられた数値組に含まれる各数値に対応したそれぞれの記憶位置に、該識別情報の発行要求をしたユーザを示す情報を登録した複数のテーブルを準備するテーブル準備手段、
ユーザから提示された識別情報に基づいて、前記テーブルへの登録時と同様の方法により生成され、該送信された識別情報と１対１で対応付けられた数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置から、登録されているユーザを示す情報を抽出するユーザ情報抽出手段、
前記ユーザ情報抽出手段が抽出したユーザを示す情報として全てのテーブルから同一のユーザを示す情報が抽出されたかどうかを判定するユーザ情報判定手段、及び、
前記ユーザ情報判定手段が同一のユーザを示す情報が抽出されたと判定したときに、前記ユーザから提示された識別情報を認証する認証手段としてコンピュータ装置を機能させ、
前記数値組に含まれる各数値は、前記識別情報から前記各数値が生成されるまでに用いられるいずれか１以上のデータが、復号鍵とは非対称の暗号鍵を用いて暗号化されることによって、生成されるものである
ことを特徴とするプログラム。
【請求項２４】
認証を受けるべき者として登録されるユーザに固有の識別情報を生成する識別情報生成手段、
前記識別情報生成手段が生成した識別情報を、復号鍵とは非対称の暗号鍵を用いて暗号化する暗号化手段、
前記暗号化手段により暗号化された識別情報が既にデータベースに登録されているかどうかを判別する登録判別手段、
前記登録判別手段が未だ登録されていないと判別したときに、該暗号化された識別情報を前記データベースに登録する識別情報登録手段、及び、
前記登録判別手段が未だ登録されていないと判別したときに、前記識別情報生成手段が生成した識別情報を、対応するユーザに送信する識別情報送信手段
としてコンピュータ装置を機能させるためのプログラム。
【請求項２５】
復号鍵とは非対称の暗号鍵を用いて暗号化されてデータベースに登録されると共に、対応する暗号化がされていない状態でユーザに送信された識別情報を取得し、該取得した識別情報を前記データベースへ登録される際の暗号化に用いられたのと同一の暗号鍵を用いて暗号化する暗号化手段、
前記暗号化手段により暗号化された識別情報を、前記データベースに暗号化されて登録されている識別情報と照合する識別情報照合手段、及び、
前記識別情報照合手段による照合の結果、前記暗号化手段により暗号化された識別情報と同一の暗号化された識別情報が前記データベースに登録されていたときに、前記ユーザに送信された識別情報を認証する認証手段
としてコンピュータ装置を機能させるためのプログラム。
【請求項２６】
前記プログラムは、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを含む
ことを特徴とする請求項２１乃至２５のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、識別情報の発行及び認証に関するものである。
【０００２】
【従来の技術】
近年、携帯電話技術は、急速に進歩しており、Ｗｅｂ接続機能を有するものが一般的となり、また、表示装置の解像度も高くなっている。このような携帯電話技術の進歩に伴って、特定のサービスを利用するための会員証などを携帯電話機上に表示されるバーコードによって構成し、Ｗｅｂ接続サービスを利用して配信するものが登場している。
【０００３】
従来では、サーバ装置は、バーコードを発行して携帯電話機に配信すると共に、そのバーコードを内部のデータベースに保存するものとしていた。携帯電話機に表示されたバーコードがバーコードリーダによって読み取られて送られてくると、サーバ装置は、送られてきたバーコードを保存しておいたバーコードと照合することによって、そのバーコードが正当なものであることを認証するものとしていた（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特許第３２０７１９２号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、特許文献１の技術では、ユーザに発行された認証情報としてのバーコードは、少なくともそのバーコードを用いて認証を行うことが不要となるまで、サーバ装置内に継続的に置かれることとなる。すると、サーバ装置がハッキングされることによって、認証情報であるバーコードが漏洩するという危険が非常に大きかった。
【０００６】
認証情報としてのバーコードの漏洩は、サーバ装置内においてバーコードを暗号化して保存しておくことによって防止を図ることができる。しかし、バーコードを暗号化して保存する場合には、認証を行う際に暗号化したバーコードの復号化が必要となり、復号鍵もサーバ装置内に置かれることとなっていた。上記のようにサーバ装置がハッキングされた場合は、復号鍵も盗み出される可能性が十分にあるので、バーコードの暗号化／復号化に要する処理量の増大ほどには、セキュリティの向上を図ることができなかった。
【０００７】
本発明は、識別情報の発行及び認証において、識別情報の漏洩に対するセキュリティを向上することができる識別情報発行システム等を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の観点にかかる識別情報発行システムは、
認証を受けるべき者として登録されるユーザに固有の識別情報を生成する識別情報生成手段と、
前記識別情報生成手段が生成した識別情報に基づいて、該生成した識別情報と１対１で対応付けられた数値組であって、複数の数値からなる数値組を生成する数値組生成手段と、
前記数値組に含まれる複数の数値にそれぞれ対応して用意された複数のテーブルと、
前記数値組生成手段が生成した数値組に含まれる各数値に対応した各テーブルの記憶位置に、同一のユーザを示す情報が登録されているかどうかを判別する登録判別手段と、
前記登録判別手段により同一のユーザを示す情報が登録されていないと判別したときに、前記数値組生成手段が生成した数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置に、前記識別情報生成手段が生成した識別情報に対応したユーザを示す情報を登録する組み合わせ登録手段と、
前記組み合わせ登録手段により各テーブルにユーザを示す情報が登録された後に、前記識別情報生成手段が生成した識別情報を、対応するユーザに送信する識別情報送信手段とを備え、
前記数値組生成手段は、前記識別情報から前記数値組に含まれる各数値を生成するまでに用いられるいずれか１以上のデータを、復号鍵とは非対称の暗号鍵を用いて暗号化する手段を含む
ことを特徴とする。
【０００９】
上記第１の観点にかかる識別情報発行システムにおいて、
前記数値組生成手段は、
前記識別情報を所定の方法により数値化し、該識別情報と１対１で対応した数値を生成する数値生成手段と、
前記数値生成手段が生成した識別情報に対応した数値を、互いに異なる複数の除数で除算した剰余をそれぞれ算出する剰余算出手段と、
前記剰余算出手段が算出した各剰余を前記復号鍵とは非対称の暗号鍵を用いて暗号化した暗号化値を生成し、各暗号化値を前記数値組に含まれる複数の数値とする暗号化値生成手段とを備えるものとすることができる。この場合、
前記複数の除数の最小公倍数は、前記識別情報に対応した数値がとり得る値の最大値と最小値との差よりも大きいことが条件となる。
【００１０】
前記数値組生成手段は、また、
前記識別情報を所定の方法により数値化し、該識別情報と１対１で対応した数値を生成する数値生成手段と、
前記数値生成手段が生成した識別情報に対応した数値を前記復号鍵とは非対称の暗号鍵を用いて暗号化した暗号化値を生成する暗号化値生成手段と、
前記暗号化値生成手段が生成した暗号化値を、互いに異なる複数の除数で除算した剰余をそれぞれ算出し、各剰余を前記数値組に含まれる複数の数値とする剰余算出手段とを備えるものとすることもできる。この場合、
前記複数の除数の最小公倍数は、前記暗号化値生成手段が生成する暗号化値がとり得る値の最大値と最小値との差よりも大きいことが条件となる。
【００１１】
前記数値組生成手段は、さらに、
前記識別情報を所定の方法により数値化し、該識別情報と１対１で対応した数値を生成する数値生成手段と、
前記数値生成手段が生成した識別情報に対応した数値を前記復号鍵とは非対称の暗号鍵を用いて暗号化した第１の暗号化値を生成する第１の暗号化値生成手段と、
前記第１の暗号化値生成手段が生成した第１の暗号化値を、互いに異なる複数の除数で除算した剰余をそれぞれ算出する剰余算出手段と、
前記剰余算出手段が算出した各剰余を前記復号鍵とは非対称の暗号鍵を用いて暗号化した第２の暗号化値を生成し、各第２の暗号化値を前記数値組に含まれる複数の数値とする第２の暗号化値生成手段とを備えるものとすることができる。この場合、
前記複数の除数の最小公倍数は、前記暗号化値生成手段が生成する暗号化値がとり得る値の最大値と最小値との差よりも大きいことが条件となる。
【００１２】
上記第１の観点にかかる識別情報発行システムは、
前記識別情報送信手段により前記識別情報生成手段が生成した識別情報が送信された後、該識別情報を破棄する識別情報破棄手段をさらに備えるものとすることができる。
【００１３】
上記第１の観点にかかる識別情報発行システムは、
ユーザから提示された識別情報に基づいて、前記数値組生成手段が数値組を生成するのと同様の方法により生成され、該送信された識別情報と１対１で対応付けられた数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置から、登録されているユーザを示す情報を抽出するユーザ情報抽出手段と、
前記ユーザ情報抽出手段が抽出したユーザを示す情報として全てのテーブルから同一のユーザを示す情報が抽出されたかどうかを判定するユーザ情報判定手段と、
前記ユーザ情報判定手段が同一のユーザを示す情報が抽出されたと判定したときに、前記ユーザから提示された識別情報を認証する認証手段とをさらに備えるものとすることができる。
【００１４】
上記目的を達成するため、本発明の第２の観点にかかる識別情報発行システムは、
認証を受けるべき者として登録されるユーザに固有の識別情報を生成する識別情報生成手段と、
前記識別情報生成手段が生成した識別情報を、復号鍵とは非対称の暗号鍵を用いて暗号化する暗号化手段と、
前記暗号化手段により暗号化された識別情報が既にデータベースに登録されているかどうかを判別する登録判別手段と、
前記登録判別手段が未だ登録されていないと判別したときに、該暗号化された識別情報を前記データベースに登録する識別情報登録手段と、
前記登録判別手段が未だ登録されていないと判別したときに、前記識別情報生成手段が生成した識別情報を、対応するユーザに送信する識別情報送信手段と
を備えることを特徴とする。
【００１５】
上記第２の観点にかかる識別情報発行システムは、
前記識別情報送信手段によりユーザに送信された識別情報を取得し、該取得した識別情報を前記暗号化手段が暗号化に用いるのと同一の暗号鍵を用いて暗号化する第２の暗号化手段と、
前記第２の暗号化手段により暗号化された識別情報を、前記データベースに登録されている暗号化された識別情報と照合する識別情報照合手段と、
前記識別情報照合手段による照合の結果、前記第２の暗号化手段により暗号化された識別情報と同一の暗号化された識別情報が前記データベースに登録されていたときに、前記ユーザに送信された識別情報を認証する認証手段とをさらに備えるものとすることができる。
【００１６】
上記第１、第２の観点にかかる識別情報発行システムは、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを有することができる。
【００１７】
上記目的を達成するため、本発明の第３の観点にかかる識別情報認証システムは、
認証を受ける者として登録されたユーザに固有の識別情報が発行されたときに、該識別情報と１対１で対応付けられた数値組に含まれる各数値に対応したそれぞれの記憶位置に、該識別情報の発行要求をしたユーザを示す情報を登録した複数のテーブルと、
ユーザから提示された識別情報に基づいて、前記テーブルへの登録時と同様の方法により生成され、該送信された識別情報と１対１で対応付けられた数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置から、登録されているユーザを示す情報を抽出するユーザ情報抽出手段と、
前記ユーザ情報抽出手段が抽出したユーザを示す情報として全てのテーブルから同一のユーザを示す情報が抽出されたかどうかを判定するユーザ情報判定手段と、
前記ユーザ情報判定手段が同一のユーザを示す情報が抽出されたと判定したときに、前記ユーザから提示された識別情報を認証する認証手段とを備え、
前記数値組に含まれる各数値は、前記識別情報から前記各数値が生成されるまでに用いられるいずれか１以上のデータが、復号鍵とは非対称の暗号鍵を用いて暗号化されることによって、生成されるものである
ことを特徴とする。
【００１８】
上記第３の観点にかかる識別情報認証システムにおいて、
前記登録されたユーザに発行された識別情報は、前記複数のテーブルに当該ユーザを示す情報を登録し、当該ユーザに発行した後に破棄されていてもよい。
【００１９】
上記目的を達成するため、本発明の第４の観点にかかる識別情報認証システムは、
復号鍵とは非対称の暗号鍵を用いて暗号化されてデータベースに登録されると共に、対応する暗号化がされていない状態でユーザに送信された識別情報を取得し、該取得した識別情報を前記データベースへ登録される際の暗号化に用いられたのと同一の暗号鍵を用いて暗号化する暗号化手段と、
前記暗号化手段により暗号化された識別情報を、前記データベースに暗号化されて登録されている識別情報と照合する識別情報照合手段と、
前記識別情報照合手段による照合の結果、前記暗号化手段により暗号化された識別情報と同一の暗号化された識別情報が前記データベースに登録されていたときに、前記ユーザに送信された識別情報を認証する認証手段と
を備えることを特徴とする識別情報認証システム。
【００２０】
上記第３、第４の観点にかかる識別情報認証システムは、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを有することができる。
【００２１】
上記第１〜第４の観点にかかる識別情報発行システム、または識別情報認証システムでは、識別情報とユーザとの対応付ける数値組または識別情報自体について暗号化が行われているが、この暗号化を行うための暗号鍵には、復号鍵とは非対称の暗号鍵が用いられている。処理の中では、暗号化だけが一方的に行われるものとなっているため、復号鍵をどこにも置いておく必要がない。このため、システム内に置かれている情報に基づいて、ユーザの識別情報を復元することは不可能であり、識別情報の漏洩に対して高度のセキュリティを達成することができる。
【００２２】
上記目的を達成するため、本発明の第５の観点にかかる識別情報発行方法は、
認証を受けるべき者として登録されるユーザに固有の識別情報を生成するステップと、
前記生成した識別情報に基づいて、該生成した識別情報と１対１で対応付けられた数値組であって、複数の数値からなる数値組を生成するステップと、
前記数値組に含まれる複数の数値にそれぞれ対応して用意された複数のテーブルを予め準備するステップと、
前記生成した数値組に含まれる各数値に対応した各テーブルの記憶位置に、同一のユーザを示す情報が登録されているかどうかを判別するステップと、
同一のユーザを示す情報が登録されていないと判別したときに、前記生成した数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置に、前記生成した識別情報に対応したユーザを示す情報を登録するステップと、
各テーブルにユーザを示す情報が登録された後に、前記生成した識別情報を、対応するユーザに送信するステップとを含み、
前記数値組に含まれる各数値は、前記識別情報から生成までに用いられるいずれか１以上のデータが、復号鍵とは非対称の暗号鍵を用いて暗号化されることによって生成されるものである
ことを特徴とする。
【００２３】
上記第５の観点にかかる識別情報発行方法は、
前記生成した識別情報が送信された後、該識別情報を破棄するステップをさらに含むことができる。
【００２４】
上記目的を達成するため、本発明の第６の観点にかかる識別情報発行方法は、認証を受けるべき者として登録されるユーザに固有の識別情報を生成するステップと、
前記識別情報を、復号鍵とは非対称の暗号鍵を用いて暗号化するステップと、
前記暗号化された識別情報が既にデータベースに登録されているかどうかを判別するステップと、
未だ登録されていないと判別したときに、該暗号化された識別情報を前記データベースに登録するステップと、
未だ登録されていないと判別したときに、前記生成した識別情報を、対応するユーザに送信するステップと
を含むことを特徴とする。
【００２５】
上記第５、第６の観点にかかる識別情報発行方法は、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを用いることができる。
【００２６】
上記目的を達成するため、本発明の第７の観点にかかる識別情報認証方法は、認証を受ける者として登録されたユーザに固有の識別情報が発行されたときに、該識別情報と１対１で対応付けられた数値組に含まれる各数値に対応したそれぞれの記憶位置に、該識別情報の発行要求をしたユーザを示す情報を登録する複数のテーブルを準備するステップと、
ユーザから提示された識別情報に基づいて、前記テーブルへの登録時と同様の方法により生成され、該送信された識別情報と１対１で対応付けられた数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置から、登録されているユーザを示す情報を抽出するステップと、
前記抽出したユーザを示す情報として全てのテーブルから同一のユーザを示す情報が抽出されたかどうかを判定するステップと、
同一のユーザを示す情報が抽出されたと判定したときに、前記ユーザから提示された識別情報を認証するステップと、
前記数値組に含まれる各数値は、前記識別情報から前記各数値が生成されるまでに用いられるいずれか１以上のデータが、復号鍵とは非対称の暗号鍵を用いて暗号化されることによって、生成されるものである
ことを特徴とする。
【００２７】
上記目的を達成するため、本発明の第８の観点にかかる識別情報認証方法は、
復号鍵とは非対称の暗号鍵を用いて暗号化されてデータベースに登録されると共に、対応する暗号化がされていない状態でユーザに送信された識別情報を取得し、該取得した識別情報を前記データベースへ登録される際の暗号化に用いられたのと同一の暗号鍵を用いて暗号化するステップと、
前記暗号化された識別情報を、前記データベースに暗号化されて登録されている識別情報と照合するステップと、
前記照合の結果、前記暗号化するステップで暗号化された識別情報と同一の暗号化された識別情報が前記データベースに登録されていたときに、前記ユーザに送信された識別情報を認証するステップと
を含むことを特徴とする。
【００２８】
上記第７、第８の観点にかかる識別情報認証方法は、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを用いることができる。
【００２９】
上記目的を達成するため、本発明の第９の観点にかかるプログラムは、
認証を受けるべき者として登録されるユーザに固有の識別情報を生成する識別情報生成手段、
前記識別情報生成手段が生成した識別情報に基づいて、該生成した識別情報と１対１で対応付けられた数値組であって、複数の数値からなる数値組を生成する数値組生成手段、
前記数値組に含まれる複数の数値にそれぞれ対応して用意された複数のテーブル、
前記数値組生成手段が生成した数値組に含まれる各数値に対応した各テーブルの記憶位置に、同一のユーザを示す情報が登録されているかどうかを判別する登録判別手段と、
前記登録判別手段により同一のユーザを示す情報が登録されていないと判別したときに、前記数値組生成手段が生成した数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置に、前記識別情報生成手段が生成した識別情報に対応したユーザを示す情報を登録する組み合わせ登録手段、及び、
前記組み合わせ登録手段により各テーブルにユーザを示す情報が登録された後に、前記識別情報生成手段が生成した識別情報を、対応するユーザに送信する識別情報送信手段としてコンピュータ装置を機能させ、
前記数値組生成手段は、前記識別情報から前記数値組に含まれる各数値を生成するまでに用いられるいずれか１以上のデータを、復号鍵とは非対称の暗号鍵を用いて暗号化する手段を含む
ことを特徴とする。
【００３０】
上記第９の観点にかかるプログラムは、
前記識別情報送信手段により前記識別情報生成手段が生成した識別情報が送信された後、該識別情報を破棄する識別情報破棄手段としてさらに前記コンピュータ装置を機能させることができる。
【００３１】
上記目的を達成するため、本発明の第１０の観点にかかるプログラムは、
認証を受ける者として登録されたユーザに固有の識別情報が発行されたときに、該識別情報と１対１で対応付けられた数値組に含まれる各数値に対応したそれぞれの記憶位置に、該識別情報の発行要求をしたユーザを示す情報を登録した複数のテーブルを準備するテーブル準備手段、
ユーザから提示された識別情報に基づいて、前記テーブルへの登録時と同様の方法により生成され、該送信された識別情報と１対１で対応付けられた数値組に含まれるそれぞれの数値に対応した各テーブルの記憶位置から、登録されているユーザを示す情報を抽出するユーザ情報抽出手段、
前記ユーザ情報抽出手段が抽出したユーザを示す情報として全てのテーブルから同一のユーザを示す情報が抽出されたかどうかを判定するユーザ情報判定手段、及び、
前記ユーザ情報判定手段が同一のユーザを示す情報が抽出されたと判定したときに、前記ユーザから提示された識別情報を認証する認証手段としてコンピュータ装置を機能させ、
前記数値組に含まれる各数値は、前記識別情報から前記各数値が生成されるまでに用いられるいずれか１以上のデータが、復号鍵とは非対称の暗号鍵を用いて暗号化されることによって、生成されるものである
ことを特徴とする。
【００３２】
上記目的を達成するため、本発明の第１１の観点にかかるプログラムは、
認証を受けるべき者として登録されるユーザに固有の識別情報を生成する識別情報生成手段、
前記識別情報生成手段が生成した識別情報を、復号鍵とは非対称の暗号鍵を用いて暗号化する暗号化手段、
前記暗号化手段により暗号化された識別情報が既にデータベースに登録されているかどうかを判別する登録判別手段、
前記登録判別手段が未だ登録されていないと判別したときに、該暗号化された識別情報を前記データベースに登録する識別情報登録手段、及び、
前記登録判別手段が未だ登録されていないと判別したときに、前記識別情報生成手段が生成した識別情報を、対応するユーザに送信する識別情報送信手段
としてコンピュータ装置を機能させることを特徴とする。
【００３３】
上記目的を達成するため、本発明の第１２の観点にかかるプログラムは、
復号鍵とは非対称の暗号鍵を用いて暗号化されてデータベースに登録されると共に、対応する暗号化がされていない状態でユーザに送信された識別情報を取得し、該取得した識別情報を前記データベースへ登録される際の暗号化に用いられたのと同一の暗号鍵を用いて暗号化する暗号化手段、
前記暗号化手段により暗号化された識別情報を、前記データベースに暗号化されて登録されている識別情報と照合する識別情報照合手段、及び、
前記識別情報照合手段による照合の結果、前記暗号化手段により暗号化された識別情報と同一の暗号化された識別情報が前記データベースに登録されていたときに、前記ユーザに送信された識別情報を認証する認証手段
としてコンピュータ装置を機能させることを特徴とする。
【００３４】
上記第９〜第１２の観点にかかるプログラムは、前記非対称の暗号鍵と復号鍵のうち暗号鍵のみを含むことができる。
【００３５】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００３６】
図１は、この実施の形態に適用されるポイントカードシステムの構成を示すブロック図である。図示するように、このポイントカードシステムは、サーバ装置１と、複数の店舗端末装置２（２−１〜２−ｍ）と、複数の携帯電話機３（３−１〜３−ｎ）とから構成されている。店舗端末装置２及び携帯電話機３は、それぞれインターネット４を介してサーバ装置１に接続される。
【００３７】
サーバ装置１は、このシステムにおけるサービスの提供者（以下、提供者）の利用に供し、サービスを利用する会員がポイントを蓄積し、加盟店において商品（サービスを含む）と交換するために必要な処理を行うコンピュータ装置である。サーバ装置１は、会員の登録、後述するポイントカードとして使用される二次元バーコードの発行、会員が蓄積したポイントの管理を行う。サーバ装置１は、加盟店の登録や会員が加盟店で利用したポイントの決済なども行う。
【００３８】
店舗端末装置２は、パーソナルコンピュータなどから構成されており、サービスの加盟店の利用に供し、会員が購入した商品に応じたポイントを付与し、会員が蓄積したポイントを使用して商品に交換するために必要な処理を行う。携帯電話機３は、このポイントカードシステムを利用してポイントの蓄積／使用を行う者として登録した会員の利用に供し、ポイントカードとして使用される二次元バーコードや、会員が蓄積したポイントなどを表示する。
【００３９】
図２は、図１のサーバ装置１の構成を示すブロック図である。図示するように、サーバ装置１は、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、通信装置１３と、補助記憶装置１４とを備えている。補助記憶装置１４には、プログラムファイル１４１、会員データベース１４２、第１テーブル１４３、第２テーブル１４４、及び店舗データベース１４５が記憶されている。
【００４０】
ＣＰＵ１１は、主記憶装置１２に転送されたプログラムを実行し、後述するように、ポイントカードとして使用される二次元バーコードの発行、再発行、認証、ポイントの更新などの種々の処理を行う。二次元バーコードの構成については後述する。主記憶装置１２は、ＣＰＵ１１の主記憶領域を提供するもので、プログラムファイル１４１のプログラムが転送され、また、ＣＰＵ１１の作業領域として用いられる。通信装置１３は、インターネット４を介して店舗端末装置２及び携帯電話機３と情報を送受信する。
【００４１】
補助記憶装置１４は、ＣＰＵ１１の補助記憶領域を提供するもので、固定ディスク装置などによって構成される。プログラムファイル１４１は、後述するフローチャートに示すプログラムを含むファイルである。会員データベース１４２は、このポイントカードシステムを利用してポイントの蓄積／使用を可能とした会員に関する情報を登録したデータベースである。第１テーブル１４３及び第２テーブル１４４は、個々の二次元バーコードと会員とを対応付けるために用いられるテーブルである。店舗データベース１４５は、店舗端末装置２が置かれる加盟店に関する情報を登録したデータベースである。会員データベース１４２、第１テーブル１４３及び第２テーブル１４４の詳細については後述する。
【００４２】
図３は、このポイントカードシステムにおいてポイントカードとして適用される二次元バーコードの例を示す図である。図では、携帯電話機３の表示装置に表示された状態を示している。図示するように、この二次元バーコード１００は、二階調の二次元バーコードであり、その四隅には方向チェックマーク１０１〜１０４が設けられている。方向チェックマーク１０１〜１０４は、バーコードの方向を示すもので、１つだけ明表示されるチェックマーク１０４がバーコードの右下であることを示している。
【００４３】
チェックマーク１０１〜１０４以外のバーコードパターン部１０５については、そのパターンを任意に選ぶことができるが、選ばれたパターンは、曖昧性がなく一義的に特定される。もっとも、バーコードパターン部１０５に特定の情報を含ませるため、一部の特定の場所が特定のパターンを有するものとなっていても構わない。二次元バーコード１００のパターンは、所定の方法により数値化することができ、パターンと数値とは１対１で対応する。なお、二次元バーコード１００のパターンを数値化するプログラムは、サーバ装置１内に格納されているだけで、外部には公開されていない。
【００４４】
図４は、会員データベース１４２、第１テーブル１４３及び第２テーブル１４４の詳細を示す図である。図示するように、会員データベース１４２は、登録した会員毎に、会員ＩＤ１５１、会員情報１５２、会員が蓄積したポイント１５３を登録したデータベースとなっている。会員ＩＤ１５１は、各会員を一意に識別するための情報であり、第１テーブル１４３及び第２テーブル１４４から参照される際のキーとして使用される。
【００４５】
会員情報１５２は、会員の属性に関する情報であり、少なくともポイントカードとして使用される二次元バーコードを携帯電話機３に送信するためのアドレスを含んでいる。このアドレスは、後述するポイントカードの再発行の際に、会員を特定するためにも用いられる。ポイント１５３は、会員が加盟店で商品を購入した際にプラスされ、商品と交換することによってマイナスされる。
【００４６】
第１テーブル１４３及び第２テーブル１４４には、新たに会員登録があった場合、或いは既存の会員からポイントカードの再発行要求が合った場合に、それに応じてポイントカードとして発行された二次元バーコード１００のパターンに応じた記憶位置に、当該会員の会員ＩＤが記憶される。次に、会員ＩＤが第１テーブル１４３及び第２テーブル１４４の記憶位置のどこに記憶されるかについて説明する。
【００４７】
ポイントカードとして使用される二次元バーコード１００が発行されると、そのパターンに対応した整数値となるように数値化される。二次元バーコード１００が数値化された数値Ｘは、所定の暗号鍵を用いて暗号化され、暗号化値Ｘ’が生成される。この暗号鍵は、復号鍵が異なる非対称暗号系の暗号鍵である。暗号化値Ｘ’は、第１テーブル１４３に対応した除数Ａ（整数値）と、第２テーブル１４４に対応した除数Ｂ（整数値）とで除算され、それぞれの剰余ａ、ｂが求められる。
【００４８】
ここで、除数Ａと除数Ｂとの最小公倍数は、暗号化値Ｘ’がとりうる最大値Ｘmaxと最小値Ｘminの差よりも大きいという関係がある。また、除数Ａと除数Ｂとは、互いに素であることが好ましい。この条件を満たす限り、暗号化値Ｘ’が異なれば、剰余ａと剰余ｂとの両方が一致するということはあり得ない。数値Ｘが異なれば、暗号化値Ｘ’も異なる。従って、異なる数値Ｘに対しては、剰余ａと剰余ｂの組み合わせが全て異なっており、剰余ａと剰余ｂの組み合わせは、二次元バーコード１００のパターンと１対１で対応するものとなっている。
【００４９】
剰余ａと剰余ｂとが求められると、それぞれ所定の暗号鍵を用いて暗号化され、暗号化値ａ’、ｂ’が生成される。この暗号鍵は、復号鍵が異なる非対称暗号系の暗号鍵である。また、剰余ａを暗号化する暗号鍵と剰余ｂを暗号化する暗号鍵とは、異なるものであることが好ましい。数値Ｘを暗号化する暗号鍵とも異なるものであることが好ましい。剰余ａと剰余ｂの組み合わせは、二次元バーコード１００のパターンと１対１で対応するので、暗号化値ａ’と暗号化値ｂ’の組み合わせも、二次元バーコード１００のパターンと１対１で対応するものとなる。
【００５０】
会員ＩＤは、第１テーブル１４３の暗号化値ａ’に対応した記憶位置と、第２テーブル１４４の暗号化値ｂ’に対応した記憶位置とに登録されるものとなる。異なる二次元バーコード１００であっても、剰余ａ、ｂのいずれか一方が一致することはあるので、同様に暗号化値ａ’、ｂ’のいずれか一方が一致することはある。暗号化値ａ’、ｂ’のいずれか一方が一致していても、会員ＩＤは、第１テーブル１４３及び第２テーブル１４４のいずれか一方において、同じ記憶位置へ重複して登録される（実際には、リストで繋ぐなどの処理が必要となる）。
【００５１】
新たに二次元バーコード１００を発行しようとする場合において生成したパターンが、その二次元バーコード１００から求めた暗号化値ａ’に対応する第１テーブル１４３の記憶位置から取り出した会員ＩＤと、暗号化値ｂ’に対応する第２テーブル１４４の記憶位置から取り出した会員ＩＤが一致すれば、その二次元バーコード１００は発行済みのものであることが分かる。この場合は、別のパターンの二次元バーコード１００が生成される。
【００５２】
また、会員が加盟店で商品を購入し、二次元バーコード１００をポイントカードとしてポイントを蓄積しようとするとき、或いは蓄積したポイントを使用して加盟店で商品と交換しようとするときは、後述するように店舗端末装置２において二次元バーコード１００が読みとられ、サーバ装置１に送られてくる。店舗端末装置２から送られてきた二次元バーコード１００からも同様にして暗号化値ａ’、ｂ’が求められる。
【００５３】
求めた暗号化値ａ’に対応する第１テーブル１４３の記憶位置から取り出した会員ＩＤと、暗号化値ｂ’に対応する第２テーブル１４４の記憶位置から取り出した会員ＩＤとが比較される。取り出した会員ＩＤに一致するものがあるときは、その二次元バーコード１００が認証されて、ポイントの蓄積／使用が可能となり、当該会員ＩＤに対応づけて会員データベース１４２に登録されているポイントがプラス／マイナスされる。
【００５４】
図５は、図１の携帯電話機３の構成を示すブロック図である。図示するように、携帯電話機３は、ＣＰＵ３１と、ＲＯＭ（Read Only Memory）３２と、ＲＡＭ（Random Access Memory）３３と、入力装置３４と、表示装置３５と、通信装置３６とを備えている。携帯電話機３は、このほかにも通話を行うために必要な構成要素を備えているが、本発明とは直接関係がないため、図５において省略している。
【００５５】
ＣＰＵ３１は、ＲＯＭ３２に記憶されたプログラムを実行し、サーバ装置１から受信した二次元バーコード１００を管理する処理を行う。ＣＰＵ３１は、入力装置３４からの入力に従って、二次元バーコード１００を表示装置３５に表示させる。ＲＯＭ３２は、ＣＰＵ３１の処理プログラムを記憶する。ＲＡＭ３３は、データの記憶領域として用いられるものであり、当該データの中には、二次元バーコード１００の画像データも含まれる。
【００５６】
入力装置３４は、「１」〜「０」までの数字キー、「＊」キー、「＃」キーなどを含み、利用者の操作によって必要な情報をＣＰＵ３１に入力する。表示装置３５は、液晶表示装置などによって構成され、ポイントカードとして使用される二次元バーコード１００の画像を含む種々の情報を表示する。通信装置３６は、インターネット４を介して（実際には携帯電話網も介して）サーバ装置１と情報を送受信する。
【００５７】
図６は、図１の店舗端末装置２の構成を示すブロック図である。図示するように、店舗端末装置２は、ＣＰＵ２１と、記憶装置（主記憶装置及び補助記憶装置を含む）２２と、通信装置２３と、バーコードリーダ２４と、入力装置２５と、表示装置２６とを備えている。
【００５８】
ＣＰＵ２１は、記憶装置２２に記憶されたプログラムを実行し、携帯電話機３から読み取った二次元バーコード１００に基づいてサーバ装置１から送られてくる通知に従って、商品を購入した会員にポイントを付与し、会員がポイントを使用して商品と交換するために必要な処理を行う。記憶装置２２は、ＣＰＵ２１の処理プログラムを記憶すると共に、データの記憶領域として用いられる。通信装置２３は、インターネット４を介してサーバ装置１と情報を送受信する。
【００５９】
バーコードリーダ２４は、携帯電話機３の表示装置３５に表示されたポイントカードとして使用される二次元バーコード１００の画像を読み取る。入力装置２５は、会員に付与したポイントまたは会員が使用したポイントを入力する。表示装置２６は、携帯電話機３から読み取った二次元バーコード１００に基づいてサーバ装置１から送られてくる通知などを表示する。
【００６０】
以下、この実施の形態に適用されるポイントカードシステムにおける処理について説明する。このポイントカードシステムを利用して、二次元バーコード１００をポイントカードとして使用し、ポイントを蓄積／使用しようとする者は、予め会員登録を行う必要がある。会員登録により二次元バーコード１００が発行され、これを携帯電話機３の表示装置３５に表示させてポイントカードとして使用する。ポイントカードとしての二次元バーコード１００は、再発行も可能である。各会員のポイントは、サーバ装置１において管理される。なお、サーバ装置１においては、会員が各店舗で蓄積／使用したポイントについて店舗間で決済を行うための処理も行っているが、この処理は本発明と関係がないので説明を省略する。
【００６１】
本発明に関わる処理として、このポイントカードシステムで行われる処理は、（１）会員登録処理
（２）再発行処理
（３）ポイント蓄積／交換処理
の３つに大きく分けられることとなる。以下、それぞれについて詳しく説明する。
【００６２】
図７は、会員登録処理を示すフローチャートである。このポイントカードシステムに会員登録しようとする者は、まず、自己の携帯電話機３の入力装置３４から、会員登録に必要な事項（少なくとも携帯電話機３のアドレスを含む）を入力する（ステップＳ１０１）。さらにこの者が入力装置３４から会員登録要求を入力すると、ステップＳ１０１で入力した必要事項と共に会員登録要求が通信装置３６からサーバ装置１に送信される（ステップＳ１０２）。その後、ＣＰＵ３１は、サーバ装置１からの情報の受信待ちとなる。
【００６３】
サーバ装置１では、通信装置１３が携帯電話機３から送られてきた会員登録要求を受信する（ステップＳ１５１）。この会員登録要求を受信すると、会員登録要求をした者に新たな会員ＩＤを付与し、付与した会員ＩＤと、会員登録要求と共に送られてきた必要事項（ユーザ情報）とを対応づけて会員データベース１４２に登録する。この時点で、当該会員のポイントは０として登録されるが、新規登録サービスとして数ポイントを登録してもよい（ステップＳ１５２）。
【００６４】
次に、ＣＰＵ１１は、ランダムにパターンを決定して二次元バーコード１００を生成する（ステップＳ１５３）。ＣＰＵ１１は、生成した二次元バーコード１００が既に発行済みのもののパターンと同じであるかどうかをチェックする発行済みバーコードチェック処理を行う（ステップＳ１５４）。
【００６５】
図８は、ステップＳ１５４の発行済みバーコードチェック処理を詳細に示すフローチャートである。発行済みバーコードチェック処理では、ＣＰＵ１１は、ステップＳ１５３で生成した二次元バーコード１００のパターンに対応した数値Ｘを生成し（ステップＳ２０１）、この数値Ｘを所定の暗号鍵を用いて暗号化して暗号化値Ｘ’を生成する（ステップＳ２０２）。さらに、ＣＰＵ１１は、暗号化値Ｘ’を除数Ａで除算して剰余ａを求め、また、数値Ｘを除数Ｂで除算して剰余ｂを求める（ステップＳ２０３）。ＣＰＵ１１は、求めた剰余ａを所定の暗号鍵を用いて暗号化して暗号化値ａ’を生成し、また、剰余ｂも同様に暗号化して暗号化値ｂ’を生成する（ステップＳ２０４）。
【００６６】
暗号化値ａ’、ｂ’が生成されると、ＣＰＵ１１は、第１テーブル１４３の暗号化値ａ’に対応する記憶位置に登録されている会員ＩＤを取り出す（ステップＳ２０５）。また、第２テーブル１４４の暗号化値ｂ’に対応する記憶位置に登録されている会員ＩＤを取り出す（ステップＳ２０６）。ＣＰＵ１１は、こうして第１テーブル１４３及び第２テーブル１４４から会員ＩＤを取り出すと、両者を比較し、同じ会員ＩＤが取り出されたかどうかを判定する（ステップＳ２０７）。
【００６７】
同じ会員ＩＤが取り出されれなかったならば、ステップＳ２０４で生成した暗号化値ａ’、ｂ’と共に、ステップＳ１５３で生成した二次元バーコード１００が未発行を示す情報を返却して（ステップＳ２０８）、発行済みバーコードチェック処理を終了し、図７の会員登録処理に復帰する。同じ会員ＩＤが取り出されたならば、ステップＳ１５３で生成した二次元バーコード１００が発行済みを示す情報を返却して（ステップＳ２０９）、発行済みバーコードチェック処理を終了し、図７の会員登録処理に復帰する。
【００６８】
図７の会員登録処理に復帰すると、ＣＰＵ１１は、発行済みバーコードチェック処理において未発行が返却されたかどうかを判定する（ステップＳ１５５）。発行済みが返却されていた場合には、ステップＳ１５３の処理に戻り、別のパターンを有する二次元バーコード１００を生成する。未発行が返却されていた場合には、ＣＰＵ１１は、暗号化値ａ’に対応する第１テーブル１４３の記憶位置と、暗号化値ｂ’に対応する第２テーブル１４４の記憶位置とにステップＳ１５２で付与した会員ＩＤを登録する（ステップＳ１５６）。
【００６９】
ＣＰＵ１１は、会員登録要求と共に受信した必要事項に含まれる携帯電話機３のアドレスを送付先として、通信装置１３から発行した二次元バーコード１００の画像データを送信させる（ステップＳ１５７）。二次元バーコード１００の画像データを携帯電話機３に送信した後、ＣＰＵ１１は、二次元バーコード１００をサーバ装置１内に残さないように破棄する（ステップＳ１５８）。二次元バーコード１００を送信し、これを破棄することにより、サーバ装置１の側における処理は終了となる。
【００７０】
携帯電話機３では、通信装置３６がステップＳ１５７で送信された二次元バーコード１００を受信する（ステップＳ１０３）。ＣＰＵ３１は、受信した二次元バーコード１００を表示装置３５に表示させる（ステップＳ１０４）。これで、会員登録処理が終了する。なお、ここで受信した二次元バーコード１００は、会員が入力装置３４から所定の操作を行うことで、いつでも表示装置３５に表示させることができる。
【００７１】
図９は、二次元バーコードの再発行処理を示すフローチャートである。二次元バーコード１００の再発行を受けようとする会員は、自己の携帯電話機３の入力装置３４から、会員登録時の必要事項として入力した会員情報（少なくとも携帯電話機３のアドレス）を入力する（ステップＳ３０１）。会員が入力装置３４から再発行要求を入力すると、ステップＳ３０１で入力した会員情報と共に再発行要求が通信装置３６からサーバ装置１に送信される（ステップＳ３０２）。その後、ＣＰＵ３１は、サーバ装置１からの情報の受信待ちとなる。
【００７２】
サーバ装置１では、通信装置１３が携帯電話機３から送られてきた再発行要求を受信する（ステップＳ３５１）。この再発行要求を受信すると、ＣＰＵ１１は、再発行要求と共に送られてきた会員情報に従って会員データベース１４２をサーチし、該当する会員ＩＤを抽出する（ステップＳ３５２）。ＣＰＵ１１は、ここで会員ＩＤを抽出できたかどうかを判定する（ステップＳ３５３）。
【００７３】
会員ＩＤを抽出できた場合には、再発行要求に含まれる会員ＩＤを第１テーブル１４３及び第２テーブル１４４からサーチする（ステップＳ３５４）。そして、サーチされた会員ＩＤを第１テーブル１４３及び第２テーブル１４４から削除する（ステップＳ３５５）。これにより、既に発行されていた再発行前の二次元バーコード１００は使用不能となる。
【００７４】
既に発行されていた二次元バーコード１００を使用不能とした後、ＣＰＵ１１は、ランダムにパターンを決定して二次元バーコード１００を新たに生成する（ステップＳ３５６）。ＣＰＵ１１は、生成した二次元バーコード１００が既に発行済みのもののパターンと同じであるかどうかをチェックする発行済みバーコードチェック処理を行う（ステップＳ３５７）。発行済みバーコードチェック処理は、ステップＳ１５４のものと同じである。
【００７５】
発行済みバーコードチェック処理を終了し、再発行処理に復帰すると、ＣＰＵ１１は、発行済みバーコードチェック処理において未発行が返却されたかどうかを判定する（ステップＳ３５８）。発行済みが返却されていた場合には、ステップＳ３５６の処理に戻り、別のパターンを有する二次元バーコード１００を生成する。未発行が返却されていた場合には、ＣＰＵ１１は、暗号化値ａ’に対応する第１テーブル１４３の記憶位置と、暗号化値ｂ’に対応する第２テーブル１４４の記憶位置とに当該会員の会員ＩＤを登録する（ステップＳ３５９）。
【００７６】
ＣＰＵ１１は、当該会員の会員情報に含まれる携帯電話機３のアドレスを送付先として、通信装置１３から再発行した二次元バーコード１００の画像データを送信させる（ステップＳ３６０）。二次元バーコード１００の画像データを携帯電話機３に送信した後、ＣＰＵ１１は、ここでも二次元バーコード１００をサーバ装置１内に残さないように破棄する（ステップＳ３６１）。再発行した二次元バーコード１００を送信し、これを破棄することにより、サーバ装置１の側における処理は終了となる。
【００７７】
また、ステップＳ３５３において会員データベース１４２から該当する会員ＩＤが抽出されなかったと判定した場合には、ＣＰＵ１１は、再発行要求と共に受信した情報に含まれる携帯電話機３のアドレスを送付先として、通信装置１３から再発行不可通知を送信させる（ステップＳ３６２）。再発行不可通知を送信した場合も、サーバ装置１の側における処理が終了となる。
【００７８】
携帯電話機３では、通信装置３６がステップＳ３６０で送信された二次元バーコード１００またはステップＳ３６２で送信された再発行不可通知を受信する（ステップＳ３０３）。ＣＰＵ３１は、受信した二次元バーコード１００または再発行不可通知を表示装置３５に表示させる（ステップＳ３０４）。これで、再発行処理が終了する。ここで受信した二次元バーコード１００も、ユーザが入力装置３４から所定の操作を行うことで、いつでも表示装置３５に表示させることができる。
【００７９】
図１０は、二次元バーコードをポイントカードとして使用して、ポイントを蓄積／使用する処理を示すフローチャートである。会員が加盟店で商品を購入し、その購入金額に応じたポイントを蓄積しようとする場合、或いは加盟店でポイントを使用して商品に交換しようとする場合、ポイントカードとしての二次元バーコード（ステップＳ１０３またはＳ３０３で受信したもの）を、自己の携帯電話機３の表示装置３５に表示させる。そして、二次元バーコード１００が表示された表示装置３５を、店舗端末装置２のバーコードリーダ２４に押し当てる。
【００８０】
店舗端末装置２では、バーコードリーダ２４が携帯電話機３の表示装置３５に表示された二次元バーコード１００を読み取り、これをＣＰＵ２１に渡す（ステップＳ４０１）。ＣＰＵ２１は、読み取った二次元バーコード１００を、通信装置２３からサーバ装置１に送信させる（ステップＳ４０２）。その後、ＣＰＵ２１は、サーバ装置１からの情報の受信待ちとなる。
【００８１】
サーバ装置１では、通信装置１３が店舗端末装置２から送られてきた二次元バーコード１００を受信する（ステップＳ４５１）。ＣＰＵ１１は、受信した二次元バーコード１００がいずれかの会員に発行したもののパターンと同じであるかどうかをチェックする発行済みバーコードチェック処理を行う（ステップＳ４５２）。発行済みバーコードチェック処理は、ステップＳ１５４のものと同じである。
【００８２】
発行済みバーコードチェック処理を終了し、ポイント蓄積／交換処理に復帰すると、ＣＰＵ１１は、発行済みバーコードチェック処理において未発行が返却されたかどうかを判定する（ステップＳ４５３）。未発行が返却されていた場合には、受信した二次元バーコード１００に基づくポイントの蓄積／交換はできないので、ＣＰＵ１１は、通信装置１３から店舗端末装置２に使用不可通知を送信させる（ステップＳ４５４）。これでサーバ装置１の側における処理が終了となる。
【００８３】
一方、発行済みが返却されていた場合には、ＣＰＵ１１は、受信した二次元バーコード１００に関連した会員ＩＤに対応づけて会員データベース１４２に登録されている会員のポイントを読み出す（ステップＳ４５５）。ＣＰＵ１１は、読み出したポイントを通信装置１３から店舗端末装置２に送信させる（ステップＳ４５６）。その後、ＣＰＵ１１は、店舗端末装置２からの情報の受信待ちとなる。
【００８４】
サーバ装置１からの情報の受信待ちとなっていた店舗端末装置２では、通信装置２３がステップＳ４５６で送信された会員のポイントまたはステップＳ４５４で送信された使用不可通知を受信する（ステップＳ４０３）。ＣＰＵ２１は、ここで受信したのがステップＳ４５６で送信された会員のポイントであるかどうかを判定する（ステップＳ４０４）。会員のポイントでなければ、使用不可通知を受信しているので、ＣＰＵ２１は、受信した使用不可通知を表示装置２６に表示させる（ステップＳ４０５）。これでポイント蓄積／交換処理を終了する。
【００８５】
会員のポイントであれば、ＣＰＵ２１は、当該受信した会員のポイントを表示装置２６に表示させる（ステップＳ４０６）。次に、会員が商品を購入してポイントを蓄積しようとする場合には、ポイントを蓄積すべき旨とそのポイントを、ポイントを使用して商品に交換しようとする場合には、ポイントを使用すべき旨とそのポイントを、加盟店の店員が入力装置２５から入力する。もっとも、使用可能なポイントは、蓄積されていたポイントの範囲に限られる（ステップＳ４０７）。ＣＰＵ２１は、ポイントを蓄積すべき旨または使用すべき旨の情報及びそのポイントを、通信装置２３からサーバ装置１に送信させる（ステップＳ４０８）。これで店舗端末２の側における処理が終了となる。
【００８６】
店舗端末装置２からの情報の受信待ちとなっていたサーバ装置１では、通信装置１３がポイントを蓄積すべき旨または使用すべき旨の情報及びそのポイントを受信する（ステップＳ４５７）。ＣＰＵ１１は、これに基づいて、会員データベース１４２に登録されているポイントをプラスまたはマイナスして更新する（ステップＳ４５８）。
【００８７】
ＣＰＵ１１は、更新した後の会員の残りポイントを、当該会員の携帯電話機３のアドレスを送信先として、通信装置１３から送信させる（ステップＳ４５９）。ＣＰＵ１１は、さらにポイントを蓄積すべき旨または使用すべき旨の情報及びそのポイントを送ってきた店舗端末装置２に対応した加盟店について、ポイントの増減に関する情報を店舗データベース１４５に登録する（ステップＳ４６０）。これでサーバ装置１における処理が終了となる。
【００８８】
ポイントの蓄積または交換を行った会員の携帯電話機３では、通信装置３６がステップＳ４５９でサーバ装置１から送信された残りポイントを受信する（ステップＳ４９１）。ＣＰＵ３１は、受信した残りポイントを表示装置３５に表示させる（ステップＳ４９２）。これでポイント蓄積／交換処理が全て終了となる。
【００８９】
以上説明したように、この実施の形態にかかるポイントカードシステムでは、ポイントカードとして使用される二次元バーコード１００を会員の携帯電話機３に送信するに当たって、サーバ装置１は、二次元バーコード１００に基づいて暗号化値ａ’、ｂ’を生成し、第１テーブル１４３の暗号化値ａ’に対応する記憶位置と第２テーブル１４４の暗号化値ｂ’に対応する記憶位置とに、会員ＩＤを登録している。そして、二次元バーコード１００を会員の携帯電話機３に送信している。
【００９０】
一方、店舗端末装置２では、会員の携帯電話機３の表示装置３５に表示された二次元バーコード１００を読み取り、サーバ装置１に送信している。サーバ装置１では、受信した二次元バーコード１００に基づいて暗号化値ａ’、ｂ’を生成し、第１テーブル１４３及び第２テーブル１４４を参照して、ポイントカードとしての二次元バーコード１００を認証している。すなわち、二次元バーコード１００のパターンを照合することなく、第１テーブル１４３と第２テーブル１４４を参照するだけで、認証を高速に行うことができる。
【００９１】
二次元バーコード１００のパターンに対応した数値Ｘを暗号化した暗号化値Ｘ’を除算する除数Ａ、Ｂの最小公倍数は、数値Ｘがとりうる最大値Ｘmaxと最小値Ｘminの差より大きいという関係がある。この関係を満たす限り、異なるパターンの二次元バーコード１００では、剰余ａ、ｂの両方が一致することがなく、これらを暗号化した暗号化値ａ’、ｂ’の両方が一致することもない。第１テーブル１４３の暗号化値ａ’に対応する記憶位置と第２テーブル１４４の暗号化値ｂ’に対応する記憶位置とに、同じ会員ＩＤが登録される二次元バーコード１００のパターンは、１つだけということとなる。従って、個々の二次元バーコード１００を一義的に特定することができる。
【００９２】
このように第１テーブル１４３及び第２テーブル１４４を参照するだけで、二次元バーコード１００を一義的に特定することができるので、発行した二次元バーコード１００のパターンをサーバ装置１に残しておく必要がない。情報量の大きな二次元バーコード１００のパターンを残さないでよいことから、サーバ装置１の記憶容量が小さくても済むことになる。
【００９３】
また、ポイントカードとして使用される二次元バーコード１００のパターンは、サーバ装置１に残さないでよいことから、サーバ装置１をハッキングしても盗み出されることがないので、セキュリティが高いものとなる。もっとも、剰余ａ、ｂと、除数Ａ、Ｂが分かってしまえば、暗号化値Ｘ’までを復元できてしまう。ところが、第１テーブル１４３及び第２テーブル１４４に会員ＩＤを登録する記憶位置は、剰余ａ、ｂに対応する記憶位置ではなく、暗号化値ａ’、ｂ’に対応した記憶位置としている。
【００９４】
会員ＩＤの記憶位置から暗号化値ａ’、ｂ’の値は分かってしまうが、暗号化値ａ’、ｂ’を復号化する処理は一切行う必要がないので、これを復号化する復号鍵は、サーバ装置１にも他のいずれの装置にも置かれていない。このため、サーバ装置１等がハッキングされても、剰余ａ、ｂの値を知ることができないので、ここから不正に読み出された情報のみに基づいて二次元バーコードのパターンを復元することはできない。さらに、仮に暗号化値ａ’、ｂ’から剰余ａ、ｂが復元され、暗号化値Ｘ’までが復元されたとしても、これを復号化する復号鍵も、サーバ装置１にも他のいずれの装置にも置かれていない。このため、暗号化値Ｘ’から数値Ｘを復元するのも不可能である。
【００９５】
仮に二次元バーコード１００のパターンを復元しようとするのであれば、オブジェクトコードで記述されたプログラムを解析して除数Ａ、Ｂを抜き出し、二次元バーコード１００のパターンから数値Ｘを生成する方法を解読し、さらに第１テーブル１４３及び第２テーブル１４４に対応したアドレスと暗号化値ａ’、ｂ’との関係を解読しなければならない。その上で、暗号化値ａ’、ｂ’を剰余ａ、ｂに復号化する復号鍵を見つけ出し、さらに暗号化値Ｘ’を数値Ｘに復号化する復号鍵を見つけ出さなければならない。このため、数値Ｘ、剰余ａ、ｂの暗号化強度がそれほど高くなくても、全体としては、最強と呼ばれるような暗号アルゴリズムに比べても遜色がない、或いはそれ以上のセキュリティを達成することができるようになる。
【００９６】
従って、この実施の形態にかかるポイントカードシステムでは、ポイントカードとして使用される二次元バーコード１００について、仮にサーバ装置１がハッキングされたとしても第三者に漏洩する危険は、従来のセキュリティシステムに比べても非常に小さいものとすることができる。
【００９７】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【００９８】
上記の実施の形態では、二次元バーコード１００に対応した数値Ｘを暗号化し、その暗号化値Ｘ’を除数Ａ、Ｂで除算した剰余を求め、さらにこれを暗号化した暗号化値ａ’、ｂ’を生成していた。この暗号化値ａ’、ｂ’の組み合わせは、二次元バーコード１００のパターン毎に異なるものとなっていた。しかしながら、二次元バーコード１００に対応した数値から求められる複数の数値の組がパターン毎に異なるものとなるのであれば、上記とは別の演算式を適用することができる。但し、演算の過程において、上記したように非対称暗号鍵系の暗号鍵を用いて暗号化を行う処理が必要となる。
【００９９】
例えば、二次元バーコード１００を複数の領域に分割し、各領域をそのまま数値化した複数の数値の組は、二次元バーコード１００のパターン毎に異なるものとなる。各領域に対応した数値をそれぞれ非対称暗号鍵系の暗号鍵を用いて暗号化し、その暗号化値に対応したテーブルの記憶位置に、会員ＩＤを登録するものとすることもできる。
【０１００】
上記の実施の形態では、会員に発行した二次元バーコード１００と会員ＩＤとを、第１テーブル１４３及び第２テーブル１４４の記憶位置で対応付けていた。これに対して、二次元バーコード１００を会員ＩＤと直接対応づけて記憶させておき、店舗端末装置２で携帯電話機３から読み取り、サーバ装置１に送られてきた二次元バーコード１００を、記憶させておいた二次元バーコード１００と照合するものとしてもよい。
【０１０１】
図１１は、この変形例における会員データベース１４２を示す図である。この会員データベース１４２は、会員ＩＤ１５１、会員情報１５２、会員が蓄積したポイント１５３に加えて、暗号化した二次元バーコード１５４を対応づけて登録している。二次元バーコード１５４は、所定の暗号鍵を用いて暗号化されている。この暗号鍵も、復号鍵が異なる非対称暗号鍵系の暗号鍵である。対応する復号鍵は、サーバ装置１内に、さらには他の装置内にも置かれていない。
【０１０２】
次に、この変形例における処理を説明する。この変形例では、ステップＳ１５４、Ｓ３５７及びＳ４５２の発行済みバーコードチェック処理と、ステップＳ３５５、並びにステップＳ１５６及びＳ３５９の処理が、上記の実施の形態と異なるものとなる。図１２は、この変形例における発行済みバーコードチェック処理を示すフローチャートである。
【０１０３】
この発行済みバーコードチェック処理では、サーバ装置１のＣＰＵ１１は、ステップＳ１５３またはＳ３５６で生成した二次元バーコード１００、もしくはステップＳ４５１で店舗端末装置２から受信した二次元バーコード１００を、所定の暗号鍵を用いて暗号化する（ステップＳ５０１）。次に、ＣＰＵ１１は、この暗号化した二次元バーコード１００と一致するものを、会員データベース１４２に暗号化されて登録されている二次元バーコード１５４の中からサーチする（ステップＳ５０２）。ＣＰＵ１１は、その結果として一致するものが抽出されたかどうかを判定する（ステップＳ５０３）。
【０１０４】
一致するものが抽出されなかった場合には、ＣＰＵ１１は、未発行を示す情報と当該暗号化した二次元バーコード１００を返却して（ステップＳ５０４）、発行済みバーコードチェック処理を終了し、呼び出し元のフローチャートの処理へ復帰する。一致するものが抽出された場合には、ＣＰＵ１１は、発行済みを示す情報を返却して（ステップＳ５０５）、発行済みバーコードチェック処理を終了し、呼び出し元のフローチャートの処理へ復帰する。
【０１０５】
また、再発行処理内におけるステップＳ３５５の処理では、ＣＰＵ１１は、会員ＩＤを削除するのではなく、ステップＳ３５２で抽出された会員ＩＤに対応づけて会員データベース１４２に登録されている二次元バーコード１５４を削除する。ステップＳ１５６及びＳ３５９の処理では、ステップＳ３５６で生成され、発行済みバーコードチェック処理から返却された暗号化された二次元バーコード１００を、会員ＩＤと対応づけて会員データベース１４２に登録する。
【０１０６】
この変形例では、会員のポイントカードとして発行した二次元バーコード１００は、サーバ装置１内の会員データベース１４２に保存されているが、所定の暗号鍵を用いて暗号化されている。一方、この暗号鍵に対応する復号鍵は、サーバ装置１内にも、さらには他のどの装置内にも置かれていない。このため、仮にサーバ装置１がハッキングされて暗号化された状態の二次元バーコード１００が不正に入手されてしまっても、これを復号化する復号鍵を入手することは完全に不可能である。このため、ポイントカードとして用いられる（すなわち、認証情報である）二次元バーコード１００の漏洩に対して高度なセキュリティを達成することができる。
【０１０７】
上記の実施の形態では、第１テーブル１４３及び第２テーブル１４４への会員ＩＤの記憶位置の決定のため、二次元バーコード１００に対応した数値Ｘを暗号化し、暗号化値Ｘ’を除算した剰余ａ、ｂを暗号化していた。一方、会員登録した際または再発行要求した際に、会員の携帯電話機３に送られる二次元バーコード１００は、平文のままであった。これに対して、会員に（再）発行した二次元バーコード１００を暗号化して、携帯電話機３に送信することができる。
【０１０８】
携帯電話会社の公式サイトとして会員登録を受け付ければ、サーバ装置１には携帯電話機３の個体番号が通知されてきている。そこで、サーバ装置１は、通知された個体番号を暗号鍵として用いて二次元バーコード１００を暗号化して送信し、携帯電話機３において個体番号を復号鍵として用いて復号するようにしてもよい。これにより、サーバ装置１から携帯電話機３への送信途中で二次元バーコード１００が盗み出されてしまうのを防ぐことができるようになる。
【０１０９】
上記の実施の形態では、ポイントカードとして使用される二次元バーコード１００は、二階調で携帯電話機３の表示装置３５に表示されるものとしていた。これに対して、多階調のパターンを有するバーコードや、三次元のパターンを有するバーコードをポイントカードとして適用することもできる。店舗端末装置２と携帯電話機３とをブルートゥース技術の適用などにより直接通信可能に構成した場合には、視認不可能な情報であっても、上記した二次元バーコード１００の代わりにポイントカードとして適用することができる。どのような形態の識別情報であっても、それを数値化した後に上記の実施の形態と同様に暗号化値ａ’、ｂ’までを求め、この暗号化値ａ’、ｂ’を用いて、第１テーブル１４３及び第２テーブル１４４を参照するという構成を採用することができる。
【０１１０】
上記の実施の形態では、ポイントカードとして二次元バーコード１００を使用し、その認証のための技術として本発明を適用した場合について説明した。しかしながら、本発明の適用範囲はポイントカードに限るものではなく、識別情報を用いて認証（個人認証またはグループ認証など）を受ける場合全般に適用することができる。
【０１１１】
上記の実施の形態では、サーバ装置１、店舗端末装置２、及び携帯電話機３の処理プログラムは、それぞれ主記憶装置１２、記憶装置２２、或いはＲＯＭ３２に予め記憶されているものとして説明した。これに対して、これらの処理プログラムの全部または一部のみをＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に格納して、ハードウェアとは別に配布するものとしてもよい。また、これらの処理プログラムの全部または一部をインターネット上のＷｅｂサーバ装置が有する固定ディスク装置に格納しておき、サーバ装置１、店舗端末装置２、或いは携帯電話機３からの要求に従って、インターネットなどのネットワークを通じて配信するものとしてもよい。
【０１１２】
【発明の効果】
以上説明したように、本発明によれば、識別情報の漏洩に対するセキュリティを非常に高いものとすることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に適用されるポイントカードシステムを示すブロック図である。
【図２】図１のサーバ装置の構成を示すブロック図である。
【図３】二次元バーコードにより構成され、携帯電話機に表示されるポイントカードの例を示す図である。
【図４】図２の会員データベースと、第１、第２テーブルを示す図である。
【図５】図１の携帯電話機の構成を示すブロック図である。
【図６】図１の店舗端末装置の構成を示すブロック図である。
【図７】会員登録処理を示すフローチャートである。
【図８】図７の発行済みバーコードチェック処理を詳細に示すフローチャートである。
【図９】再発行処理を示すフローチャートである。
【図１０】ポイント蓄積／使用処理を示すフローチャートである。
【図１１】変形例における会員データベースを示す図である。
【図１２】変形例における発行済みバーコードチェック処理を示すフローチャートである。
【符号の説明】
１  サーバ装置
２（２−１〜ｍ）  店舗端末装置
３（３−１〜ｎ）  携帯電話機
４  インターネット
１１  ＣＰＵ
１２  主記憶装置
１３  通信装置
１４  補助記憶装置
２１  ＣＰＵ
２２  記憶装置
２３  通信装置
２４  バーコードリーダ
２５  入力装置
２６  表示装置
３１  ＣＰＵ
３２  ＲＯＭ
３３  ＲＡＭ
３４  入力装置
３５  表示装置
３６  通信装置
１００  二次元バーコード（ポイントカード）
１０１〜１０４  方向チェックマーク
１０５  バーコードパターン部
１４１  プログラムファイル
１４２  会員データベース
１４３  第１テーブル
１４４  第２テーブル
１４５  店舗データベース
【図１】
2004214813.tif 000003
【図２】
2004214813.tif 000004
【図３】
2004214813.tif 000005
【図４】
2004214813.tif 000006
【図５】
2004214813.tif 000007
【図６】
2004214813.tif 000008
【図７】
2004214813.tif 000009
【図８】
2004214813.tif 000010
【図９】
2004214813.tif 000011
【図１０】
2004214813.tif 000012
【図１１】
2004214813.tif 000013
【図１２】
2004214813.tif 000014