【実施例】
【0012】
図1は実施例の認証システム2を示す。4は会員が使用する端末でスマートフォン、パソコン、タブレットなどであり、画面を表示し、端末4の画面にタッチすることにより、会員は英数字などの文字を入力できる。また会員が使用する端末4は本部のサーバ6と通信できる。会員が使用する端末4は、金融機関、店舗、役所などの固定の端末でも良い。端末4に入会時のデータが保存される可能性があるので、入会時には会員本人の端末、あるいは金融機関、店舗、役所などの固定の端末を用いる。入会後の本人認証時には、秘密のデータを通信しないので、他人のスマートフォン、パソコン、タブレットを、会員が使用する端末4として用いても良い。8は第3者の端末で、例えば会員の本人認証を本部のサーバ6に依頼する、金融機関、店舗、役所などの端末である。サーバ6は会員が使用する端末4と通信し、本人であるかどうかを認証し、認証結果を第3者の端末8へ通知する。
【0013】
本部のサーバ6は会員インターフェース12を通じて会員が使用する端末4と通信し、データベース13に会員の氏名、住所、生年月日(例えばパスワードに代用)、指番号、認知番号などを記憶する。データベース13はさらに、認証用のテーブルで用いる升の列(複数の升の位置のデータで、升の列には順序がある)、及び匿名での認証用のデータなどを記憶する。
【0014】
プロセッサ14はサーバ6内でのデータ処理を行い、作業メモリ15は認証中のデータを一時的に記憶する。プログラムメモリ16は認証プログラムを記憶し、インターフェース17は第3者の端末8と通信する。
【0015】
この発明でのサーバ6の役割を示す。データベース13は指番号のデータを記憶し、会員インターフェース12は、会員の入会時及び認証時に、テーブルを会員が使用する端末に表示させる。また会員インターフェース12は、会員が選択した升の順列を端末から受信し、データベース13がこのデータを記憶する。会員が本人であることの認証を求めた際に、会員インターフェース12は、升の配列が入会時と同じで、かつ各升に文字をランダムに表示したテーブルを端末に送信し表示させる。プロセッサ14は、抽出した文字列を指番号により変換した文字列と、会員が端末から送信した文字列とが一致するかどうかを確認し、一致すれば本人であると認証する。
【0016】
図2は指番号の例を示す。例えば左手の小指から右手の小指で終わる順に、各指に0〜9の数字を重複無しで割り当て、この順序を整数番という。さらに10本の指に0〜9の数字を重複無しで秘密の順序により割り当て、この順序を指番号という。指番号は、本人と本部のサーバ6のみが知っている秘密の番号(順序)である。整数番を指番号へ変換すること、あるいは指番号を整数番に変換することを、「指番号により変換する」といい、その意味は指番号を用いて0〜9の数字を変換することである。また整数番を既知とすると、指番号は整数番と指番号との間での変換用のデータである。
【0017】
指番号は、数字以外に、英文字、片仮名あるいは平仮名などでも表現できる。このような例を
図3に示す。整数番に対応して、指に自然な順序で重複無しに付けたアルファベットa〜jを平文コードといい、指に秘密の順で重複無しに対応させたアルファベットA〜Jを指コードという。なお小文字/大文字の区別は説明の便宜のためであり、小文字/大文字を区別しなくても良い。平文コードと指コードの間の変換ができるのは本人と本部のサーバ6のみで、平文コードと指コードの間の変換も「指番号により変換する」という。また「アカサタナハマヤラワ」など10文字から成り、文字の集合として覚えやすければ、指番号として用いることができる。指番号は、本人が記憶するほか、本部のサーバ6のデータベース13が記憶する。
【0018】
図4及び
図5に、入会時の手続きを示す。会員の氏名、住所、生年月日などの個人情報をデータベース13に登録する。これらの他に、顔写真、指紋、静脈パターン、虹彩パターン等のバイオメトリクスデータを、データベース13に登録しても良い。さらに指番号をデータベース13に登録する。なお以下では、0〜9の数字を用い、整数番を指番号に変換することを例に、指番号による認証を説明する。図には示さないが、ICカードを会員毎に発行し、会員の氏名、住所、生年月日などの個人情報と後述の認知番号とをカードに書き込む。
【0019】
会員が使用する端末4に
図5の左上のテーブル(表)を表示し、右側のテーブルは表示する必要はない。テーブルは例えば6×6の36升から成り、各升に英数字が表示されている。なお英数字に限らず、アイウエオ…などの適宜の文字を表示しても良い。本部のサーバ6との通信のために、各升には
図5の右上のテーブルの01〜36の数字が割り当てられている。
【0020】
会員は、36個の升から順番に例えば4個の升にタッチすることにより、4個の升の列を端末4へ入力する。図では”GMSY”を入力したものとし、”GMSY”と”GSMY”は順序が異なるので区別する。端末4は”GMSY”の文字列を、升の番号に変換して例えば(08,15,22,29)として本部のサーバ6へ送信する。サーバ6のデータベース13はこの数字の列を、例えば指番号により変換して、記憶する。なおテーブル中の升の個数などは任意である。
【0021】
本人であることを認証する他に、実名を本部のサーバ6が知っている特定の個人であることを認証することもできる。このような認証を匿名認証という。匿名認証の場合、例えば”GMSY7”などのように1升を追加し、何れか1升を匿名認証のために追加して使用する。
【0022】
これらの他に認知番号として例えば4桁の数字(ここでは1098)を端末4から入力し、プロセッサ14はこれを指番号により変換して、サーバ6のデータベース13に記憶させる。会員にICカードなどを配布する場合、認知番号は平文のまま1098としてICカードに記憶させる。認知番号は必須ではなく、また数字の他に英文字、平仮名、片仮名などを用いても良い。
【0023】
図6及び
図7に本人認証時の手続きを示す。会員は、ICカードを図示しないカードリーダに読み込ませる(固定の端末の場合)。あるいは氏名と生年月日及び認知番号等を、スマートフォンなどの会員端末4に入力する。ICカードのデータ、あるいは会員が入力した氏名と生年月日及び認知番号から、どの会員が本部のサーバ6へアクセスしているのかを確認し、会員のアクセスであれば認証手続きを開始する。
【0024】
本部のサーバ6から、
図7の左上と右上のテーブルを送信し、会員が使用する端末4あるいは固定の端末に表示させる。なお右上のテーブルは、会員がどの升の数字を指番号により変換すればよいかの参考で、表示しなくても良い。これまでの説明では、入会時に”GMSY”の升を順序付きで指定したので、これらの升の位置の数字の列”3548”を指番号により変換し、”0159”を端末4等に入力する。端末4等は”0159”を本部のサーバ6へ送信し、プロセッサ14はデータベース13のデータを用い、”3548”を指番号により”0159”に変換し、端末4等から送信された”0159”と比較し、一致すれば本人と認証する。
【0025】
”0159”を入力できるのは、
図5の画面で”GMSY”の升を選択したことを知っており、かつ指番号を知っている人物に限る。これは本人以外には有り得ない。また本人認証時に隠しカメラなどで覗き見されたとして、分かるのは
図7右上の36個の数字の内、何れか4文字が”0159”に変換されたことである。
図5の画面で”GMSY”が選択されたことを知らない限り、これらのデータから秘密データは露呈しない。また
図7のテーブルに表示する数字は毎回変化するので、安全に本人認証が行える。
【0026】
匿名で投稿したいが、書き手が特定のある人物であることを明確にしたいことがある。このような場合に備え、入会時に
図5の画面で例えば5升を選択し、最後の1升などを匿名認証に用いる。そして
図7の画面で、選択した5升の数字を指番号により変換すると、本部のサーバ6は最初の4升分の数字から本人であることを認証する。また5升目の数字から匿名で認証しようとしていることを確認し、特定の会員が特定のペンネームにより匿名で投稿したことを保証する。また本部であることを認証する場合(
図8)、例えば認知番号を指番号に変換したものを端末4に送信する。この処理を正しくできるのは本部と本人だけなので、本部の認証ができる。