説明

電子認証方法および電子決済方法

【課題】インターネット上における電子認証のセキュリティーを高める。
【解決手段】 ユーザ登録時に、認証・決済サーバ103は、インターネット101を介して、ユーザ端末1(104)に演算プログラムをダウンロードする。この際、認証・決済サーバ103側において、ユーザが設定したパスワードをこの演算プログラムに代入し、予備演算結果を得ておく。ユーザ認証時には、ユーザ端末1(104)から、認証・決済サーバ103に演算プログラムとパスワードが送られ、認証・決済サーバ103側では、この送られてきた演算プログラムおよびパスワードを用いて演算結果を得る。そして、この演算結果と先の予備演算結果とを比較し、両者が同一であれば、認証成功と判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットに代表される電子ネットワーク上における認証を行う方法に係り、特にパスワードを演算するプログラムをユーザ端末側で保持し、そのプログラムを利用して電子認証を行う認証方法に関する。また、利用し易く安全性の高い電子決済方法に関する。
【背景技術】
【0002】
インターネット上における電子認証の基本的な方法としては、予め設定されたパスワードをユーザが端末に入力し、それを認証サーバに送信し、認証サーバ側でそのパスワードを判定する方法が採用されている。この方法においては、通信が傍受され、パスワードが盗み取られる可能性があるので、通信を暗号化する方法が提案されている(例えば、特許文献1参照)。また、第三者の成りすましによる認証を避けるために、パスワードを変換するロジックを併用し、パスワードとロジックとの組み合わせを用いて認証を行うことで、通信が傍受されてもそれをそのまま利用し難くする方法も提案されている(例えば、特許文献2参照)。このような認証技術は、ネット上において代金の支払いを行う電子決済に利用されている。
【0003】
【特許文献1】特開2001−217826号
【特許文献2】特開2002ー328898号
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、認証サーバ自体が不正なアクセスによりハッキングされ、サーバ内のデータが盗み取られた場合、あるいは悪意をもった関係者が認証サーバからデータを引き出し、それを外部に流出させた場合、上述した工夫は役に立たない。一般には、このような事態に対応するために、認証サーバ内のデータを暗号化したり、少数の人間しか知らないパスワードを入力しなければ、データを開くことができないようにしたりしている。しかしながら、暗号解読技術の進歩や内部事情の漏洩により、暗号化されたデータの復号化やパスワードの解除が行われてしまう問題は依然としてとして残る。
【0005】
また、上述したような認証を用いたネット上における電子決済は、暗号化によりパスワードで保護されているとはいえ、クレジットカードや引き落とし口座の秘匿情報の漏洩や第三者による不正利用の不安がある。この不安は、ネット上における電子決済が広く普及する上での障害となっている。また、クレジットカードを所有していない者や専用の引き落とし口座を持っていない者は、気軽に利用することができず、この点もその普及を妨げる要因となっている。
【0006】
そこで、本発明は、ハッキングや不正漏洩による認証サーバ内のデータの流出があっても、悪意の第三者が、電子認証に必要な個人データの不正利用を行い難くする技術を提供することを目的とする。また、本発明は、ユーザが不安なく、そして手軽に利用することができる電子決済システムを提供することを他の課題とする。
【課題を解決するための手段】
【0007】
本発明は電子認証方法に関するものであり、(1)ユーザの登録時において、複数の演算プログラムの少なくとも一つを前記ユーザの端末に送信する演算プログラム送信ステップと、前記送信された演算プログラムに前記ユーザに設定されたパスワードを与えて演算を行うパスワード予備演算ステップと、このパスワード予備演算ステップの演算結果を記録する予備演算結果記録ステップとを少なくとも行うことを特徴とする。また、(2)ユーザの認証時において、当該ユーザの端末から送られてくるパスワードおよび演算プログラムを受信する演算プログラム受信ステップと、この受信ステップで受信した演算プログラムに前記演算プログラム受信ステップで受信したパスワードを与えて演算を行うパスワード演算ステップと、このパスワード演算ステップの結果と前記予備演算結果記録ステップにおいて記録された演算結果とを比較し、両者が一致するか否かを判定する演算結果比較ステップと、この演算結果比較ステップの結果がYESである場合に前記ユーザの認証を行い、前記演算結果記録ステップの結果がNOである場合に前記ユーザの認証を行わない認証判定ステップとを行うことを特徴とする。
【0008】
本発明によれば、認証サーバ側において、複数の演算プログラムが用意され、その一つがユーザの登録時にユーザ端末に送信される。その際、認証サーバ側では、このユーザに送信する演算プログラムを用いて、ユーザに設定されたパスワードを演算し、ユーザを特定できるレコードにそれを記憶すると共に、ユーザのパスワードは消去し自身では記憶しない。認証処理においては、ユーザ端末から認証サーバに演算プログラムとパスワードとが送信される。認証サーバ側では、このユーザ端末から送信されたパスワードを、ユーザ端末から送信された演算プログラムを用いて演算する。そして、この演算結果と登録時に記憶しておいた当該ユーザのパスワードの演算結果(予備演算ステップの演算結果)とを比較し、両者が同一であれば「認証」、そうでなければ「認証せず」を判断する。なお、パスワードの設定は、ユーザの登録時に、ユーザ自身が端末を操作して入力してもよいし、認証サーバ側で適当な方法(例えば、ランダムな数列等の選択)により行うのでもよい。
【0009】
この方法によれば、認証サーバ側にユーザのパスワードを記憶する必要はなく、その演算結果が記憶される。このため、暗証サーバ内のデータが流出しても、ユーザのパスワードを特定することが困難となり、成りすましによる不正な認証の危険性を下げることができる。なお、認証サーバ側にユーザ端末に記憶される演算プログラムが記憶されるが、演算プログラムを多数用意すれば、ユーザ端末にダウンロードされた演算プログラムを特定することは困難になるので、上記の優位性を保つことができる。
【0010】
上述した構成におけるユーザの登録時において、演算プログラムとパスワード予備演算ステップの演算結果との関係を特定する認証用インデックスキーを設定するステップと、この認証用インデックスキーを前記ユーザの端末に送信するステップとを更に行うこと、さらにそれに加えて、ユーザの認証時において、ユーザの端末から送られてくる前記認証用インデックスキーを受信するステップと、この認証用インデックスキーを利用して、予備演算結果記録ステップにおいて記録された演算結果を特定し、それを読み出す演算結果読み出しステップとを行うことは好ましい。
【0011】
この態様によれば、認証用インデックスキーによって、認証サーバ内に記憶された予備演算結果(ユーザ登録時に予め行っておいたユーザパスワードの演算結果)がどのユーザのものであるかが特定される。したがって、認証サーバ側において認証用インデックスキーとユーザとの関係を保存しないようにすれば、ユーザ側の端末から認証用インデックスキーが送られてこない限り、認証サーバ側では、予備演算結果とユーザ(あるいはユーザが保持する演算プログラム)との対応関係を特定することが困難になる。そのため、仮に認証サーバ内のデータが流出しても、それに基づく特定のユーザの成りすまし認証(偽認証)を行い難くすることができる。
【0012】
本発明の電子認証方法におけるユーザの登録時において、(1)ユーザの端末に送信する演算プログラムにテスト用データを与えて予備テスト演算を行う予備テスト演算ステップと、この予備テスト演算に利用したテスト用データを記録するテスト用データ記録ステップと、前記予備テスト演算の結果を記録する予備テスト演算結果記録ステップとを少なくとも行い、(2)ユーザの認証時において、演算プログラム受信ステップで受信した演算プログラムに前記テスト用データを与えて演算を行うテスト演算ステップと、このテスト演算ステップの結果と前記予備テスト演算の結果とを比較し、両者が一致するか否かを判定するテスト演算結果比較ステップと、このテスト演算結果比較ステップの結果がYESである場合に前記演算プログラム受信ステップで受信した演算プログラムを真であると判定し、前記テスト演算結果比較ステップの結果がNOである場合に前記演算プログラム受信ステップで受信した演算プログラムを偽であると判定する演算プログラムの真偽判定ステップとを少なくとも行うことは好ましい。
【0013】
この態様においては、ユーザ登録時にテスト用データを演算プログラムに与えてその解を求め、それを認証サーバ内に記憶しておく。そして、認証時にユーザ端末から送られてきた演算プログラムに同じテストデータを与えて演算を行い、その結果を先の事前に演算しておいた結果と比較する。そして両者の演算結果が同じであれば、「真性判別テストに合格」と判断する。この態様によれば、認証時にユーザ端末から送られてきた演算プログラムの真偽を予めテストすることができ、偽演算プログラムによる成りすまし認証を防ぐことができる。
【0014】
また、上記のテスト演算を行う構成において、(1)ユーザの登録時において、ユーザの端末に送信される演算プログラムと予備テスト演算の結果との関係を特定するテスト用インデックスキーを設定するステップと、このテスト用インデックスキーを前記ユーザの端末に送信するステップとをさらに行い、(2)ユーザの認証時において、ユーザの端末から送られてくるテスト用インデックスキーを受信するステップと、このテスト用インデックスキーを利用することで、演算プログラム送信ステップにおいて送信した演算プログラムを用いた予備テスト演算の結果を特定し、それを読み出す予備テスト演算結果読み出しステップとをさらに行うことは好ましい。
【0015】
この態様によれば、テスト用インデックスキーによって、認証サーバ内に記憶された予備テスト演算結果(ユーザ登録時に予め行っておいたテストデータを用いた演算結果)がどのユーザのものであるかが特定される。したがって、認証サーバ側においてテスト用インデックスキーとユーザとの関係を保存しないようにすれば、ユーザ側の端末からテスト用インデックスキーが送られてこない限り、認証サーバ側では、予備テスト演算結果とユーザ(あるいはユーザが保持する演算プログラム)との対応関係を特定することが困難となる。そのため、仮に認証サーバ内のデータが流出しても、それに基づいた成りすまし認証を行い難くすることができる。
【0016】
以上が本発明の電子認証方法に関する説明であるが、以下本発明の電子認証方法の適用に好適な電子決済方法について説明する。すなわち、本発明の電子決済方法は、ユーザが操作するユーザ端末から送信されたプリペイド金額の予定額を含むデータを受信するステップと、前記予定額を含むデータを記録したバーコードのデータを生成するステップと、前記バーコードのデータを前記ユーザ端末に送信するステップと、POSシステムによって、前記バーコードの印刷物が読み取られることで得られる支払い確認データを受信し、支払われたプリペイド金額の金額データを生成するステップと、前記ユーザの認証を行い、認証を受けた前記ユーザが所定のサービスを受ける際に、前記料金データから前記サービスの対価に相当する金額を差し引く処理ステップとを少なくとも行うことを特徴とする。
【0017】
上記の電子決済方法によれば、ユーザ端末から認証・決済サーバにアクセスしてのユーザ登録において、認証・決済サーバからユーザ端末に対して、納付予定の金額情報が記録されたバーコードデータが送信される。ユーザは、このバーコードデータを印刷し、その印刷物をコンビニエンスストア等に持参し、POS(Point Of Sales system)システムを用いた払い込み(プリペイド料金の払い込み)を行う。認証・決済サーバは、この払い込み行為をPOSシステムの仕組みによって認識し、ユーザによって前払いされたプリペイド料金の金額の貯留を記録するデータ領域を作成する。そして、ユーザによってネット上の有料サービス等の利用があった際に、認証・決済サーバにおいて、ユーザの認証が行われ、認証OKであれば、先の有料サービス等の代金が、貯留された金額から引き落とされる。
【0018】
この電子決済方法によれば、ユーザのプリペイド料金の支払いの際、ユーザは、個人データを、支払を行うコンビニエンスストア等で開示する必要はない。したがって、ユーザの個人データが漏洩する可能性を低くすることができる。また、仮に認証・決済サーバのデータが不正な方法により流出したとしても、ユーザが被る被害は、予め支払っておいたプリペイド料金の範囲内に抑えることができる。したがって、ユーザによって安心感の高い電子決済システムとすることができる。また、ユーザは、POSシステムを備えた店舗(例えばPOSシステムにより公共料金の払い込みができるコンビニエンスストア等)で払い込みを行えばよいので、ユーザにとっての利便性を高くすることができる。
【0019】
この電子決済システムにおいて、上述した演算プログラムをユーザ端末に保持させる認証方法を用いることは好ましい。こうすることで、上記電子決済方法の優位性に加えて、パスワードを直接扱わない上記認証方法の優位性を得ることができ、ユーザが利用し易く、且つユーザにとって安全性の高い電子決済の仕組みを得ることができる。
【発明の効果】
【0020】
本発明によれば、ユーザ側において、認証サーバから配布された演算プログラムを保存し、認証時にこの演算プログラムを認証サーバに送り、認証サーバ側ではこの演算プログラムの演算結果を利用して認証を行う。こうすることで、認証サーバ側でユーザのパスワードを記憶しておく必要がなく、そのため、ハッキングや不正漏洩による認証サーバ内のデータの流出があっても、電子認証に必要な個人データの不正利用を困難にできる。
【0021】
また、電子伝送したバーコードを用いたプリペイド料金の支払い方法を採用することで、電子決済システムおけるユーザ情報の漏洩防止と、最悪の場合におけるユーザが被る被害の極小化を実現することができる。また、バーコードの伝送を利用することで、ユーザは、公共料金の支払いと同じ手間および感覚で引き落としの元手となる貯留金額を認証・決済サーバ側に事前納付することができ、ユーザの不安感や負担感を少なくすることができる。
【発明を実施するための最良の形態】
【0022】
1.システムの概要
まず、本発明の認証方法および電子決済方法を適用したシステムの概要を説明する。図1は、本発明を適用したシステムを示す概念図である。このシステムにおいては、ユーザが予め料金を前払いで支払い、その料金が認証・決済サーバ側で貯留される。そして、ユーザが有料サービス(例えば商品の購入等)を受けた際に、その貯留された金額からサービスの対価としての料金が引き落とされ、認証・決済サーバからサービスを提供する事業主への対価の支払が行われる。
【0023】
このシステムにおいては、図1に示すように、インターネット101に有料サービス提供サーバ102、認証・決済代行サーバ103、ユーザ端末1(104)が接続されている。また、インターネットへの接続が可能な携帯電話を利用したユーザ端末2(105)が、基地局106を介してインターネット101に接続された状態が示されている。
【0024】
有料サービス提供サーバ102は、インターネット101を介してユーザに所定のサービスを提供するサーバである。有料サービス提供サーバ102は、この所定のサービスを提供する事業主によって運営される。この所定のサービスとしては、各種コンテンツの有料配信等を挙げることができる。
【0025】
認証・決済代行サーバ103は、ユーザから前払いされた料金をデータとして貯留し、上述した所定のサービスがユーザに提供された際に、その対価をこの貯留金額から引き落とす機能を備える。また、この引き落とし処理の際に、ユーザを認証する機能を備える。
【0026】
ユーザ端末1(104)は、第1のユーザが使用するパーソナルコンピュータであり、インターネット接続機能および閲覧ソフトがインストールされている。携帯電話105は、第2のユーザが使用する端末であり、所定の電話会社の基地局106を介して、インターネット101への接続が可能な機能を備えている。
【0027】
符号107は、コンビニエンスストア等のPOSシステムを備えた店舗である。POSシステムとしては、電話料金等の公共料金の支払を行うための既存のシステムをそのまま利用することができる。店舗107と認証・決済サーバ103とは、専用回線で繋がっており、店舗107のPOSシステムのデータが認証・決済サーバ103に送信可能となっている。また、認証・決済サーバ103と有料サービス提供サーバ102との間も専用回線で繋がっており、認証・決済サーバ103から有料サービス提供サーバ102に認証の有無や決済料金の支払いデータ等を通知できるようになっている。なお、これらの専用回線の代わりに、セキュリティーが確保されたインターネット上の通信回線を利用することも可能である。
【0028】
図1には、有料サービス提供サーバ102が一例として示されているが、通常は、複数の有料サービス提供サーバがインターネット101に接続され、インターネットを介して多様な有料サービスがユーザに対して提供される。また、ユーザ側の端末としては、ユーザ端末1(104)とユーザ端末2(105)が示されているが、一般には、更に多数のユーザ端末がインターネット101に接続される。ユーザ端末としては、パーソナルコンピュータや携帯電話以外に、PDA(Personal Digital Assistant)やインターネット接続機能を備えたゲーム機器等を挙げることができる。
【0029】
2.システムの仕組
以下、図1に示すシステムの仕組みの概略を説明する。ここでは、所定のユーザがユーザ端末1(104)を利用して有料コンテンツの購入(ダウンロード)を行う場合を例に挙げ説明を加える。
【0030】
2−1.ユーザの登録
まず、ユーザが、認証・決済サーバへユーザ登録を行う際におけるユーザ側から見た操作手順について説明する。図2は、ユーザ登録の手順の概略を示すフローチャートである。この例において、ユーザはユーザ端末1(104)を操作して、認証・決算サーバ103へのユーザ登録を行う。まず、ユーザは端末1(104)からインターネット101を介して、認証・決済サーバ103にアクセスする。そしてユーザ登録が開始され(ステップS201)、認証・決済サーバ103においてユーザ登録処理が行われる(ステップS202)。ステップS202におけるユーザ登録処理の詳細については後に詳述する。ステップS202におけるユーザ登録処理が行われることで、ユーザ端末1(104)には、演算用プログラム、プリペイド料金の支払い用バーコードデータおよびその他のデータが認証・決済サーバ103からダウンロードされる。
【0031】
ユーザ側では、ユーザ端末1(103)にダウンロードされた演算プログラムおよびその他のデータを記録する。この記録内容は、認証時に利用される。そして、ユーザ側では、ダウンロードされたバーコードデータをプリントアウトし(ステップS203)、それをコンビニエンスストア等の店舗107に持ち込み、POSシステムを利用したプリペイド料金の支払いを行う(ステップS204)。例えば、上記プリントアウトしたバーコードを利用して2000円分のプリペイド料金の支払を行う。こうして、ユーザ登録を終了する(ステップS205)。このプリペイド料金の支払情報は、店舗107から専用回線を介して認証・決済サーバ103に送られ、そのデータは、認証・決済サーバ103内に記録される。なお、このバーコードを用いて支払われた料金は、公知の送金システムを利用して、認証・決済サーバ103の運営事業者に送金される。
【0032】
2−2.有料サービスの提供
次に、ユーザが有料サービスを受ける仕組みを説明する。ここでは、ユーザが、有料の音楽コンテンツをネット上で購入(ダウンロード)する場合の例を説明する。図3は、有料サービスの提供を受ける際における有料サービス提供サーバ102で行われる処理手順の一例を示すフローチャートである。
【0033】
まず、有料サービス提供サーバ102は、音楽オンテンツの有料ダウンロードサービスを行っているものとする。この場合、ユーザがユーザ端末1(104)を操作して、有料サービス提供サーバ102において管理されているwebページにアクセスすると、サービスの提供処理が開始される(ステップS301)。ユーザ端末104がユーザにより操作されて、所定の音楽コンテンツが選択されると(ステップS302)、認証・決済サーバ103にリンクが飛ばされ、認証・決済サーバ103における代理決算処理が開始される(ステップS303)。ステップS303における代理決算処理の詳細については後述する。
【0034】
有料サービス提供サーバ102は、認証・決済サーバ103において行われる認証処理の結果を受け、認証が正常に行われたか、を判定する(ステップS304)。認証・決済サーバ103における代理決算処理の認証が正常に行われると、その旨の通知(認証の通知)が認証・決済サーバ103から有料サービス提供サーバ102に対して行われる。それを受けて有料サービス提供サーバ102側では、ステップS304の判断がYESとなる。この結果、有料サービス提供サーバ102からユーザ端末1(104)に対して、ユーザが選択した音楽コンテンツのデータのダウンロードが行われる(ステップS305)。そして、サービスの提供処理が終了する(ステップS306)。なお、認証・決済サーバ103における認証が不成功の場合、その旨が有料サービス提供サーバ102に通知され、ステップS304の判断がNOとなる。この場合、処理はエラーとなり、サービスの提供は行われない。
【0035】
2−3.代理決算処理
次に上述したステップS303において、認証・決済サーバ103で行われる代理決済処理の概要を説明する。図4は、認証・決済サーバ103において行われる代理決済処理の手順の概要を示すフローチャートである。
【0036】
図3のステップS303において、有料サービス提供サーバ102からリンクが飛ばされると、ユーザ端末1(104)は、認証・決済サーバ103に接続され、代理決済処理が開始される(ステップS401)。代理決済処理が開始されると、まずユーザの認証処理が行われ、ユーザの真性が判断される(ステップS402)。つまり、第三者によるユーザの成りすましがないか否かが判断される。ステップS402における認証処理の詳細については後述する。
【0037】
認証が正常に行われると、認証成功の旨の信号が認証・決済代行サーバから有料サービス提供サーバ102に対して送られる(認証の通知)。そして、図3のステップS302において選択されたサービス(この場合は、音楽コンテンツ)の料金が、図1のステップS204において予納されたプリペイド料金の貯留金額から引き落とされる(ステップS403)。この料金の引き落とし(つまり代理決済)が行われたら、その旨が認証・決済サーバ103から有料サービス提供サーバ102に専用回線を介して報告され、また送金処理が行われる(ステップS404)。こうして、代理決算処理が終了する(ステップS405)。
【0038】
3.登録処理の詳細
以下、図2のステップS202において行われる登録処理の詳細な一例について説明する。まず、図1の認証・決済サーバ103の機能について説明する。認証決済サーバ103は、認証データベース(認証DB)、取引データベース(取引DB)、テスト用データベース(テスト用DB)、演算結果データベース(演算結果DB)、および演算プログラムテーブルを備えている。また、適当な記録手段に後述する手順を実行するための動作プログラムを記録している。
【0039】
認証DBは、ユーザ毎に認証用レコードを持つ。認証用レコードは、ユーザ毎に設定されたID番号によって特定され、照合キー、テストデータ(1)、テストデータ(3)、入金額および入金フラグの各項目を持つ。ID番号は、ユーザを特定する番号である。照合キーは、ユーザが選択したパスワードと共に演算プログラムの演算式に代入される変数である。照合キーを用いることで、パスワードを用いた演算結果を得ることができる。テストデータ(1)およびテストデータ(3)は、ユーザ端末から送られてきた演算プログラムの真性を判断する際に利用されるテスト用の変数である。入金額は、予納される予定の金額であり、入金フラグは、入金の有無を示すフラグである。
【0040】
取引DBは、ユーザ毎のプリペイド料金の残高および取引内容を記録した取引レコードを備えたデータベースである。各取引レコードは、残高、取引の内容(支払先、支払額の履歴)、さらに取引管理項目を備え、ID番号によって特定される。
【0041】
テスト用DBは、テスト用インデックスキーを検索用キーとするテスト用演算結果レコードを保管するデータベースである。このテスト用演算結果レコードは、ユーザ毎に設けられ、それぞれテスト用インデックスキー、テストデータ(2)、テスト用演算結果(1)を記録する項目を備える。テスト用インデックスキーは、テスト用演算結果レコードを特定するためのキーであり、このキーが指定されることで、特定のユーザに対応したテスト用演算結果レコードが特定される。テストデータ(2)は、テストデータ(1)およびテストデータ(3)と同様に、ユーザ端末から送られてきた演算プログラムの真性を判断する際に利用されテスト用の変数である。
【0042】
演算結果DBは、認証用インデックスキーを検索キーとする演算結果レコードを保管するデータベースである。各演算結果レコードは、各ユーザに対応して設けられ、認証用インデックスキー、パスワードの演算結果、テスト用演算結果(2)、テストデータ(4)を記録する項目を備える。テストデータ(4)は、テストデータ(1)〜(3)と同様に、ユーザ端末から送られてきた演算プログラムの真性を判断する際に利用されテスト用の変数である。
【0043】
演算プログラムテーブルは、AおよびBの2つの変数を用いて適当な演算を行い、解Cを得るための演算プログラムを複数格納したテーブルである。
【0044】
以下、図1に示すシステムにおいて、所定のユーザがユーザ端末1(104)を操作して、ユーザ登録を行う場合の例を説明する。この場合、ユーザはユーザ端末1(104)のディスプレイ上に表示される登録画面に示される手順に従って、登録のための操作を行う。図5および図6は、図2のステップS202における登録処理において。認証・決済サーバ103内で実行される手順の詳細な一例を示すフローチャートである。
【0045】
登録処理が開始されると(ステップS501)、ユーザはユーザ端末1(104)(図1参照)に自身で選択したパスワード(暗証番号)と、予納するプリペイド料金とを入力する。この情報は、図1のユーザ端末1(104)からインターネット101を経由して認証・決済サーバ103に送られ、認証・決済サーバ103に入力される(ステップS502)。
【0046】
この入力を受けて、認証・決済サーバ103は、各DB内にこのユーザに対応するレコードを作成する(ステップS503)。すなわち、未使用のID番号を選択し、このID番号を利用して、当該ユーザに対応した認証用レコードを認証DB内に作成する。また、上記ID番号を利用して、当該ユーザに対応した取引レコードを取引DB内に作成する。また、無作為に発生させたテスト用インデックスキー(テスト用INDX)をキーとして、テスト用演算結果レコードをテスト用DB内に作成する。また、無作為に発生させた認証用インデックスキー(認証用INDX)をキーとして、当該ユーザに対応した演算結果レコードを演算結果DB内に作成する。こうして、ステップS503における各レコードの作成を行ったら、ステップS504に進む。ステップS504においては、テストデータ(1)〜(4)および照合キーを無作為に発生する。
【0047】
次に演算プログラムテーブルが参照されて、その中から演算プログラムが一つ無作為に選択される(ステップS505)。そして、この選択された演算プログラムを用いて、以下の演算1〜3(ステップ506〜S508)が実行される。
【0048】
まず、ステップS506の演算1について説明する。ここでは、ステップS504において生成した照合キーとステップ502において入力されたパスワードを変数として、それを上記選択された演算プログラムに代入し、所定の演算結果を得る。すなわち、照合キーとパスワードとを適当な関数により演算し、所定の演算結果を得る。この演算結果は、演算結果DB内の対応する演算結果レコードに記録される。なお、後述するように、照合キーは、認証DB内の当該ユーザに対応する認証用レコード(ステップS503において作成した当該ユーザに対応した認証用レコード)に記録される。
【0049】
次にステップS507の演算2について説明する。ここでは、ステップS505において生成したテストデータ(1)およびテストデータ(2)が、上記選択された演算プログラムに代入され、演算が行われる。この演算結果であるテスト演算結果(1)とテストデータ(2)は、テスト用DB内の対応するテスト用演算結果レコードに記録される。また、テストデータ(1)は、認証DB内の対応する認証用レコードに記録される。
【0050】
次にステップS508の演算3について説明する。ここでは、ステップS505において生成したテストデータ(3)およびテストデータ(4)が、上記選択された演算プログラムに代入され、演算が行われる。この演算結果であるテスト演算結果(2)とテストデータ(4)は、演算結果DB内の対応する演算結果レコード内に記録される。また、テストデータ(3)は、認証DB内の対応する認証用レコードに記録される。
【0051】
次に、図6のステップS509に進む。ステップS509においては、ステップS505において生成され、ステップS506の演算1において利用された照合キーが、認証DB内の対応する認証用レコードに記録される。
【0052】
次に、ステップS503において生成した認証用インデックスキー、テスト用インデックスキー、さらにステップS505において選択した演算プログラムを端末ダウンロード域に移す。こうして、図1のユーザ端末1(104)にダウンロードするデータを作成する(ステップS510)。
【0053】
また、認証DB内の認証用レコードに記録したID番号、ステップS502において入力された予納されるプリペイド金額、およびPOS用の管理項目のデータをバーコードの形式に変換し、そのバーコードのイメージデータを作成する。そして、このバーコードのイメージデータをプリンタダウンロード域に保存する(ステップS511)。
【0054】
次にステップS510において、端末ダウンロード域に保存したデータを、インターネット101(図1参照)を介して、ユーザ端末1(103)に送信する(ステップS512)。そして、端末ダウンロード域に保存されていたデータを消去する。このユーザ端末1(103)にダウンロードされた端末ダウンロード域に保存されていたデータは、ユーザ端末104内の適当な記録領域に記録される。
【0055】
さらに、ステップS511において、プリンタダウンロード域に保存されたデータを、インターネット101(図1参照)を介して、ユーザ端末1(103)に送信する(ステップS513)。そして、プリンタダウンロード域に保存されていたデータを消去する。こうして、図2のステップS202におけるユーザの登録処理が終了する(ステップS514)。
【0056】
そして、図2に示すように、ユーザ端末1(103)側では、このダウンロードされたプリンタダウンロード域に保存されていたデータに基づいて、バーコードをユーザ端末104に接続されたプリンタ108からプリントアウトする(図2のステップS203参照)。
【0057】
このプリントアウトしたバーコードには、ステップS502において入力されたユーザが希望する予納金額およびID番号のデータが含まれている。このバーコードが図1の店舗107に持ち込まれ、上記予納金額がユーザから店舗107側に支払われる。この際、プロペイド料金およびID番号のデータがPOSシステムの仕組みによって読み取られ、その情報は、認証・決済サーバ103に送られる。このPOSシステムからのデータを受け取った認証・決済サーバ103は、ID番号から認証DB内の当該ユーザの認証用レコードを検索し、ステップS502において入力された納付予定金額と実際に店舗107において支払われた金額との一致を確認する。この一致が確認された場合、当該認証用レコードにおける入金フラグを「入金済」とし、また入金額の項目に入金された金額を記録する。
【0058】
4.認証処理の詳細
次に図4のステップS402における認証処理の詳細な一例を説明する。認証処理が開始されると(ステップS701)、認証・決済サーバ103は、端末1(104)にID番号、演算プログラム、テスト用インデックスキー、および認証用インデックスキーを送信するように要求する。この要求に応答して、端末1(104)から、端末1(104)内に記録されていたこれらデータが、認証・決済サーバ103に送信され、認証・決済サーバ103に入力される(ステップS702)。なお、この送信データの内容は、ステップS512において、認証・決済サーバ103から端末1(104)にダウンロードされたデータである。
【0059】
認証・決済サーバ103は、端末1(104)から送信されてきたID番号を用いて、認証用DB内の当該ユーザの認証用レコードを呼び出す。また、テスト用インデックスキーを用いて、テスト用DB内の当該ユーザのテスト用演算結果レコードを呼び出す。また、認証用インデックスキーを用いて、演算結果データベース内の当該ユーザの演算結果レコードを呼び出す(ステップS703)。
【0060】
次にステップS702において、ユーザ側から送られてきた演算プログラムの真性を判定する。この例では、テストを2段階に渡って行う。まず、第1段階のステップS704のテスト1を行う。テスト1では、まずステップS703において呼び出しておいた認証DB内の認証用レコードからテストデータ(1)を読み出し、さらにステップS703において呼び出しておいたテスト用DB内のテスト用演算結果レコードから、テストデータ(2)とテスト演算結果(1)とを読み出す。そして、このテストデータ(1)とテストデータ(2)とをユーザ側から送られてきた演算プログラムに代入し、演算を行う。次にこの演算結果とテスト演算結果(1)とを比較し、同一であれば、テスト1に合格と判定され、第2段階のステップ705に進む、なお、上記比較の結果が、同一でなければ、ユーザ側から送られてきた演算プログラムが偽物であると判定され、認証エラーとなり、認証処理は終了する。当然この場合、認証は行われず、図4のステップS403以下の処理は実行されない。なお、認証エラーの場合は、その旨の信号が端末1(104)に送られ、端末1(104)上のディスプレイに表示される。
【0061】
ステップS705のテスト2では、まずステップS703において呼び出しておいた認証DB内の認証用レコードからテストデータ(3)を読み出し、さらにステップS703において呼び出しておいた演算結果DB内の演算結果レコードから、テストデータ(4)とテスト演算結果(2)とを読み出す。そして、このテストデータ(3)とテストデータ(4)とをユーザ側から送られてきた演算プログラムに代入し、演算を行う。次にこの演算結果とテスト演算結果(2)とを比較し、同一であれば、テスト2に合格と判定され、そうでなければ、テスト1の場合と同様にエラーと判定する。
【0062】
ステップS705のテスト2に合格したら、ユーザ端末1(104)にパスワードの入力を要求し、ユーザ端末1(104)からパスワードが送られてきたら、その認証を行う(ステップS706)。ステップS706においては、ステップS703において呼び出しておいた認証DB内の認証用レコードから照合キーを読み出し、さらにステップS703において呼び出しておいた演算結果DB内の演算結果レコードから、演算結果を読み出す。そして、この読み出した照合キーとユーザ端末1(104)から送られてきたパスワードとを、ステップS702においてユーザ側から送られてきた演算プログラムに代入し、演算を行う。次にこの演算結果と演算結果レコードに記憶されていた演算結果とを比較し、同一であれば認証成功、つまり当該決済が真性であると判断する。また、演算結果と演算結果レコードに記憶されていた演算結果とが異なる場合、認証エラーと判断する。
【0063】
ステップS706のパスワードの認証が成功した場合、当該ユーザのID番号(ステップS702においてユーザ側から送信されたID番号)に基づいて、取引DB内から取引レコードを検索する。そして、そこに支払先(この場合は、有料サービス提供サーバ102の事業主)、支払金額、および支払金額を差し引いた残金の情報を記録する(ステップS707)。そして、認証成功の通知を有料サービス提供サーバ102(図1参照)に送り(ステップS708)、認証処理(および決済処理)を終了する(S709)。以上のようにして、図3のステップS402におけるユーザの認証処理が行われる。
【0064】
5.演算プログラムの変更
ネットを介したハッキング防止に努めても、関係者によるデータの不正持ち出しの問題は、人事管理の問題であり、技術によって防止できない側面がある。このようなデータの不正持ち出しに対応する方法として、本実施形態においては、ユーザに配布した演算プログラムを変更する演算プログラム更新手続きを定期的、不定期的あるいは適当なタイミングで行う。
【0065】
演算プログラムの変更は、以下のようにして行われる。例えば、ユーザが認証を求めて認証・決済サーバに接続が行われた際に、ユーザのパスワード、ID番号、テスト用インデックスキー、および認証用インデックスキーを用いて、当該ユーザに関するレコードを読み出し、再度図5のステップS503以下の手順を実行する。この際、ID番号、テスト用インデックスキー、および認証用インデックスキーを再設定する。また、演算プログラムも新たに選択し直す。また、取引レコードの残金が引き継がれるようにする。こうすることで、各レコードに記録されたデータが一新され、また対応するユーザ端末側のデータも一新される。なお、ユーザの暗証番号は、引き続いて利用できるので、ユーザ側の負担は一切ない。
【0066】
ユーザ側の端末に記録される演算プログラムを変更することで、テスト用DBおよび演算結果DB内の演算結果のデータは全て書き換えられる。このため、仮にデータの流出があったとしても、そのデータの有効期間を限ることができる。しかも、この演算プログラムの変更処理は、パスワードを変更する必要はなく、またそのためのユーザ側の操作を必要としない。このため、ユーザ側に負担が掛からない。したがって、演算プログラムの変更処理を頻繁に行うことができる。このように演算プログラムの変更を頻繁に行うことで、サーバ内のデータの利用期間を短くすることができ、個人データ流出や成りすまし認証の危険性を下げることができる。
【0067】
演算プログラムの変更処理において、ユーザに負担が掛からない点は重要である。すなわち、現状のパスワードを用いた認証技術においては、セキュリティーを確保するために、頻繁にパスワードを変更することが有用であることをユーザが認識していても、そのための端末操作を面倒に感じて、パスワードを長期に渡り変更しない場合が多々ある。しかしながら、上述した自動変更処理によれば、ユーザが端末を操作してのパスワードの入力操作等を行う必要がないので、このような問題が発生しない。なお、上述した更新処理は、各種アプリケーションソフトの自動バージョンアップサービスのように、サーバ側からユーザの端末に自動接続して行っても良い。
【0068】
6.本実施形態の優位性
図1に示すシステムは、ユーザが予め店舗107において支払ったプリペイド料金の貯留金額の範囲から、有料サービスの対価が支払われるので、仮に第三者によるプリペイド料金の不正使用があっても、ユーザにとっての被害を予納した料金の範囲内に収めることができる。このため、ユーザにとって安心感のあるシステムとなる。また、店舗107や有料サービス提供サーバ102は、ユーザのパスワード等の個人情報に触れることができないので、ユーザの個人情報の漏洩に強いシステムとすることができる。また、公共料金の支払いに等に広く利用されているコンビニエンスストア等のPOSシステムを利用して、プリペイド料金の支払いを行うので、手続が簡単であり、ユーザが感じる負担感を小さくすることができる。また、既存のシステムをそのまま利用することができるので、低コストで実現することができる。
【0069】
また、図5および6に示すユーザ登録の仕組み、さらに図7に示すユーザ認証の仕組みを採用することで、以下に述べるようなセキュリティー上の優位性を得ることができる。例えば、図1に示す認証・決済サーバ103が不正な侵入によりハッキングされた場合、あるいは関係者により、認証・決済サーバ103内のデータが不法に流出した場合を想定する。この場合、図5に示す、認証DB、取引DB、テスト用DBおよび演算結果DBのデータ、さらにサーバ内の演算プログラムテーブルが第三者の手に渡ることになる。
【0070】
しかしながら、認証DB、取引DB、テスト用DBおよび演算結果DBには、パスワード自体が記録されていないので、不正入手したデータを見ただけでは、パスワードを知ることはできない。なお、演算プログラムテーブルの中には、ユーザの端末にダウンロードした演算プログラムが含まれているが、どの演算プログラムがどのユーザにダウンロードされているかは、各DBの内容を見ても直ぐには分からない。
【0071】
特定ユーザのパスワードにたどり着くには、適当な演算プログラムを演算プログラムテーブルから選択し、それに認証DBおよび演算結果DBのテストデータを代入して、総当たり的に試算を繰り返す必要がある。すなわち、図7に示すように、認証・決済サーバ103(図1参照)内には、認証DB、テスト用DBおよび演算結果DBが存在するが、ユーザとこれら各DB内のレコード間の関係は、ユーザ側の端末内に記録されているテスト用インデックスキーと認証用インデックスキーによって関連付けされている。つまり、演算プログラムテーブル内の所定の演算プログラムが、どのテスト用演算結果レコード、そしてどの演算結果レコートに関係しているかは、テスト用インデックスキーと認証用インデックスキーによって決められている。したがって、悪意の第三者がサーバのハッキング等によって各DBのデータを不正入手したとしても、所定のユーザ、テスト用インデックスキーおよび認証用インデックスキーの関係は分からないので、各レコード間相互の関係は分からない。
【0072】
なお、総当たり的に、各DB内のデータを用いて、試算を繰り返し、認証のためのアクセスを繰り返す方法により、第三者が認証に成功する可能性はある。しかしながら、認証失敗を多数繰り返す必要があるので、実質的には、成りすましにより認証は困難となる。すなわち、通常この種の認証においては、認証のためのアクセスを連続して複数回失敗すると、不正認証行為を防ぐ観点から、当該アクセス元からの認証アクセスを拒否するようになっているので、上述した試算を繰り返すことによる認証トライは、実質的には困難となる。
【0073】
また、上述した演算プログラムの変更が実行されると、それ以前に流出したデータが利用できなくなるので、認証・決済サーバ103内のデータの安全性を常に高く維持することができる。また、この演算プログラムの変更に伴うユーザ側の操作が必要ではなく、さらにパスワードの変更も必要ないので、ユーザに負担感が発生しない。このため安全性が高く、しかもユーザが利用し易い認証システムを実現することができる。
【0074】
7.応用や変形
電子決済の対象は、音楽等のコンテンツの購入に限定されず、通信販売による物品の購入、各種チケットの購入、病院やホテルの予約、各種会費の支払、オークションや各種イベント等の参加費の支払等であってもよい。また、上述した認証の仕組みは、図1に示すシステム以外に各種の認証に利用することができる。例えば、特定ユーザのアクセスのみを許可するwebサイトにおけるユーザ認証等に利用することもできる。
【0075】
ユーザが使用する端末としては、パーソナルコンピュータや携帯電話以外に、ICカード等の演算プログラムを記録できる媒体を用いることもできる。ただしこの場合は、ユーザ側がデータ入力できる端末を別途用意する必要がある。また、特定のユーザが利用する端末は、特定のもの(例えば個人所有のパーソナルコンピュータや携帯電話)に限定される訳ではない。例えば、図6のステップS512においてダウンロードしたデータを適当な記憶媒体に記録し、その内容を適当な端末にダウンロードし、その端末を用いて認証を受けることもできる。この場合、図6のステップS512においてダウンロードしたデータをダウンロードした端末がユーザ端末となる。
【0076】
また、パスワードは、数字に限定されるものではなく、アルファベット、カナ、漢字、その他言語の文字(例えばハングル文字等)を用いることもできる。この場合、演算プログラムは、アルファベット、カナあるいは漢字等をパラメータとして、所定の規則にしたがって、演算結果を導出するように設定される。また、所定内容の文書を他の意味の文書に変換するような演算を行う演算プログラムを利用することもできる。また、演算プログラムは、2つの変数を代入することで答えを出す演算内容に限定されない。例えば、一つの変数(この場合は、パスワードが変数となる)を代入することで、答えを出す演算や3以上の変数を代入することで、答えを出す演算であってもよい。また、生態認証等の他の認証技術と本発明の認証技術とを組み合わせることも可能である。
【産業上の利用可能性】
【0077】
本発明は、ネットを用いたプリペイド方式の決済システムに利用することができる。また、本発明は、各種の認証技術に利用することができる。
【図面の簡単な説明】
【0078】
【図1】発明を利用した認証・決済システムの概要を示す概念図である。
【図2】ユーザ登録の手順の一例を示すフローチャートである。
【図3】有料サービスの提供処理の手順の一例を示すフローチャートである。
【図4】代理決算処理の手順の一例を示すフローチャートである。
【図5】ユーザの登録処理の手順の一例を示すフローチャートである。
【図6】ユーザの登録処理の手順の一例を示すフローチャートである。
【図7】ユーザの認証処理の手順の一例を示すフローチャートである。
【符号の説明】
【0079】
101…インターネット、102…有料サービス提供サーバ、103…認証・決済代行サーバ、104…ユーザ端末1、105…ユーザ端末2、106…携帯電話の基地局(あるいは電話局)、107…店舗、108…プリンタ。

【特許請求の範囲】
【請求項1】
ユーザの登録時において、
複数の演算プログラムの少なくとも一つを前記ユーザの端末に送信する演算プログラム送信ステップと、
前記送信された演算プログラムに前記ユーザに設定されたパスワードを与えて演算を行うパスワード予備演算ステップと、
このパスワード予備演算ステップの演算結果を記録する予備演算結果記録ステップと
を少なくとも行い、
ユーザの認証時において、
当該ユーザの端末から送られてくるパスワードおよび演算プログラムを受信する演算プログラム受信ステップと、
この受信ステップで受信した演算プログラムに前記演算プログラム受信ステップで受信したパスワードを与えて演算を行うパスワード演算ステップと、
このパスワード演算ステップの結果と前記予備演算結果記録ステップにおいて記録された演算結果とを比較し、両者が一致するか否かを判定する演算結果比較ステップと、
この演算結果比較ステップの結果がYESである場合に前記ユーザの認証を行い、前記演算結果記録ステップの結果がNOである場合に前記ユーザの認証を行わない認証判定ステップと
を少なくとも行うことを特徴とする電子認証方法。
【請求項2】
前記ユーザの登録時において、
前記演算プログラムと前記パスワード予備演算ステップの演算結果との関係を特定する認証用インデックスキーを設定するステップと、
この認証用インデックスキーを前記ユーザの端末に送信するステップと
を更に行い、
前記ユーザの認証時において、
前記ユーザの端末から送られてくる前記認証用インデックスキーを受信するステップと、
前記認証用インデックスキーを利用して、前記予備演算結果記録ステップにおいて記録された演算結果を特定し、それを読み出す演算結果読み出しステップと
をさらに行うことを特徴とする請求項1に記載の電子認証方法。
【請求項3】
前記ユーザの登録時において、
前記ユーザの端末に送信する演算プログラムにテスト用データを与えて予備テスト演算を行う予備テスト演算ステップと、
この予備テスト演算に利用したテスト用データを記録するテスト用データ記録ステップと、
前記予備テスト演算の結果を記録する予備テスト演算結果記録ステップと
を少なくとも行い、
前記ユーザの認証時において、
前記演算プログラム受信ステップで受信した演算プログラムに前記テスト用データを与えて演算を行うテスト演算ステップと、
このテスト演算ステップの結果と前記予備テスト演算の結果とを比較し、両者が一致するか否かを判定するテスト演算結果比較ステップと、
このテスト演算結果比較ステップの結果がYESである場合に前記演算プログラム受信ステップで受信した演算プログラムを真であると判定し、前記テスト演算結果比較ステップの結果がNOである場合に前記演算プログラム受信ステップで受信した演算プログラムを偽であると判定する演算プログラムの真偽判定ステップと
を少なくとも行うことを特徴とする請求項1または2に記載の電子認証方法。
【請求項4】
前記ユーザの登録時において、
前記ユーザの端末に送信される演算プログラムと前記予備テスト演算の結果との関係を特定するテスト用インデックスキーを設定するステップと、
このテスト用インデックスキーを前記ユーザの端末に送信するステップと
をさらに行い、
前記ユーザの認証時において、
前記ユーザの端末から送られてくる前記テスト用インデックスキーを受信するステップと、
このテスト用インデックスキーを利用することで、前記演算プログラム送信ステップにおいて送信した演算プログラムによる予備テスト演算の結果を特定し、それを読み出す予備テスト演算結果読み出しステップと
をさらに行うことを特徴とする請求項3に記載の電子認証方法。
【請求項5】
ユーザが操作するユーザ端末から送信されたプリペイド金額の予定額を含むデータを受信するステップと、
前記予定額を含むデータを記録したバーコードのデータを生成するステップと、
前記バーコードのデータを前記ユーザ端末に送信するステップと、
POSシステムによって、前記バーコードの印刷物が読み取られることで得られる支払い確認データを受信し、支払われたプリペイド金額の金額データを生成するステップと、
前記ユーザの認証を行い、認証を受けた前記ユーザが所定のサービスを受ける際に、前記料金データから前記サービスの対価に相当する金額を差し引く処理ステップと
を少なくとも行うことを特徴とする電子決済方法。
【請求項6】
前記認証が、前記請求項1〜5のいずれかに記載された認証方法で実行されることを特徴とする請求項5に記載の電子決済方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2007−133714(P2007−133714A)
【公開日】平成19年5月31日(2007.5.31)
【国際特許分類】
【出願番号】特願2005−326973(P2005−326973)
【出願日】平成17年11月11日(2005.11.11)
【出願人】(505419899)
【Fターム(参考)】