(57)【要約】【課題】インターネット上における電子認証のセキュリティーを高める。【解決手段】  ユーザ登録時に、認証・決済サーバ１０３は、インターネット１０１を介して、ユーザ端末１（１０４）に演算プログラムをダウンロードする。この際、認証・決済サーバ１０３側において、ユーザが設定したパスワードをこの演算プログラムに代入し、予備演算結果を得ておく。ユーザ認証時には、ユーザ端末１（１０４）から、認証・決済サーバ１０３に演算プログラムとパスワードが送られ、認証・決済サーバ１０３側では、この送られてきた演算プログラムおよびパスワードを用いて演算結果を得る。そして、この演算結果と先の予備演算結果とを比較し、両者が同一であれば、認証成功と判定する。【選択図】図１
2007133714.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの登録時において、
複数の演算プログラムの少なくとも一つを前記ユーザの端末に送信する演算プログラム送信ステップと、
前記送信された演算プログラムに前記ユーザに設定されたパスワードを与えて演算を行うパスワード予備演算ステップと、
このパスワード予備演算ステップの演算結果を記録する予備演算結果記録ステップと
を少なくとも行い、
ユーザの認証時において、
当該ユーザの端末から送られてくるパスワードおよび演算プログラムを受信する演算プログラム受信ステップと、
この受信ステップで受信した演算プログラムに前記演算プログラム受信ステップで受信したパスワードを与えて演算を行うパスワード演算ステップと、
このパスワード演算ステップの結果と前記予備演算結果記録ステップにおいて記録された演算結果とを比較し、両者が一致するか否かを判定する演算結果比較ステップと、
この演算結果比較ステップの結果がＹＥＳである場合に前記ユーザの認証を行い、前記演算結果記録ステップの結果がＮＯである場合に前記ユーザの認証を行わない認証判定ステップと
を少なくとも行うことを特徴とする電子認証方法。
【請求項２】
前記ユーザの登録時において、
前記演算プログラムと前記パスワード予備演算ステップの演算結果との関係を特定する認証用インデックスキーを設定するステップと、
この認証用インデックスキーを前記ユーザの端末に送信するステップと
を更に行い、
前記ユーザの認証時において、
前記ユーザの端末から送られてくる前記認証用インデックスキーを受信するステップと、
前記認証用インデックスキーを利用して、前記予備演算結果記録ステップにおいて記録された演算結果を特定し、それを読み出す演算結果読み出しステップと
をさらに行うことを特徴とする請求項１に記載の電子認証方法。
【請求項３】
前記ユーザの登録時において、
前記ユーザの端末に送信する演算プログラムにテスト用データを与えて予備テスト演算を行う予備テスト演算ステップと、
この予備テスト演算に利用したテスト用データを記録するテスト用データ記録ステップと、
前記予備テスト演算の結果を記録する予備テスト演算結果記録ステップと
を少なくとも行い、
前記ユーザの認証時において、
前記演算プログラム受信ステップで受信した演算プログラムに前記テスト用データを与えて演算を行うテスト演算ステップと、
このテスト演算ステップの結果と前記予備テスト演算の結果とを比較し、両者が一致するか否かを判定するテスト演算結果比較ステップと、
このテスト演算結果比較ステップの結果がＹＥＳである場合に前記演算プログラム受信ステップで受信した演算プログラムを真であると判定し、前記テスト演算結果比較ステップの結果がＮＯである場合に前記演算プログラム受信ステップで受信した演算プログラムを偽であると判定する演算プログラムの真偽判定ステップと
を少なくとも行うことを特徴とする請求項１または２に記載の電子認証方法。
【請求項４】
前記ユーザの登録時において、
前記ユーザの端末に送信される演算プログラムと前記予備テスト演算の結果との関係を特定するテスト用インデックスキーを設定するステップと、
このテスト用インデックスキーを前記ユーザの端末に送信するステップと
をさらに行い、
前記ユーザの認証時において、
前記ユーザの端末から送られてくる前記テスト用インデックスキーを受信するステップと、
このテスト用インデックスキーを利用することで、前記演算プログラム送信ステップにおいて送信した演算プログラムによる予備テスト演算の結果を特定し、それを読み出す予備テスト演算結果読み出しステップと
をさらに行うことを特徴とする請求項３に記載の電子認証方法。
【請求項５】
ユーザが操作するユーザ端末から送信されたプリペイド金額の予定額を含むデータを受信するステップと、
前記予定額を含むデータを記録したバーコードのデータを生成するステップと、
前記バーコードのデータを前記ユーザ端末に送信するステップと、
ＰＯＳシステムによって、前記バーコードの印刷物が読み取られることで得られる支払い確認データを受信し、支払われたプリペイド金額の金額データを生成するステップと、
前記ユーザの認証を行い、認証を受けた前記ユーザが所定のサービスを受ける際に、前記料金データから前記サービスの対価に相当する金額を差し引く処理ステップと
を少なくとも行うことを特徴とする電子決済方法。
【請求項６】
前記認証が、前記請求項１〜５のいずれかに記載された認証方法で実行されることを特徴とする請求項５に記載の電子決済方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットに代表される電子ネットワーク上における認証を行う方法に係り、特にパスワードを演算するプログラムをユーザ端末側で保持し、そのプログラムを利用して電子認証を行う認証方法に関する。また、利用し易く安全性の高い電子決済方法に関する。
【背景技術】
【０００２】
インターネット上における電子認証の基本的な方法としては、予め設定されたパスワードをユーザが端末に入力し、それを認証サーバに送信し、認証サーバ側でそのパスワードを判定する方法が採用されている。この方法においては、通信が傍受され、パスワードが盗み取られる可能性があるので、通信を暗号化する方法が提案されている（例えば、特許文献１参照）。また、第三者の成りすましによる認証を避けるために、パスワードを変換するロジックを併用し、パスワードとロジックとの組み合わせを用いて認証を行うことで、通信が傍受されてもそれをそのまま利用し難くする方法も提案されている（例えば、特許文献２参照）。このような認証技術は、ネット上において代金の支払いを行う電子決済に利用されている。
【０００３】
【特許文献１】特開２００１−２１７８２６号
【特許文献２】特開２００２ー３２８８９８号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、認証サーバ自体が不正なアクセスによりハッキングされ、サーバ内のデータが盗み取られた場合、あるいは悪意をもった関係者が認証サーバからデータを引き出し、それを外部に流出させた場合、上述した工夫は役に立たない。一般には、このような事態に対応するために、認証サーバ内のデータを暗号化したり、少数の人間しか知らないパスワードを入力しなければ、データを開くことができないようにしたりしている。しかしながら、暗号解読技術の進歩や内部事情の漏洩により、暗号化されたデータの復号化やパスワードの解除が行われてしまう問題は依然としてとして残る。
【０００５】
また、上述したような認証を用いたネット上における電子決済は、暗号化によりパスワードで保護されているとはいえ、クレジットカードや引き落とし口座の秘匿情報の漏洩や第三者による不正利用の不安がある。この不安は、ネット上における電子決済が広く普及する上での障害となっている。また、クレジットカードを所有していない者や専用の引き落とし口座を持っていない者は、気軽に利用することができず、この点もその普及を妨げる要因となっている。
【０００６】
そこで、本発明は、ハッキングや不正漏洩による認証サーバ内のデータの流出があっても、悪意の第三者が、電子認証に必要な個人データの不正利用を行い難くする技術を提供することを目的とする。また、本発明は、ユーザが不安なく、そして手軽に利用することができる電子決済システムを提供することを他の課題とする。
【課題を解決するための手段】
【０００７】
本発明は電子認証方法に関するものであり、（１）ユーザの登録時において、複数の演算プログラムの少なくとも一つを前記ユーザの端末に送信する演算プログラム送信ステップと、前記送信された演算プログラムに前記ユーザに設定されたパスワードを与えて演算を行うパスワード予備演算ステップと、このパスワード予備演算ステップの演算結果を記録する予備演算結果記録ステップとを少なくとも行うことを特徴とする。また、（２）ユーザの認証時において、当該ユーザの端末から送られてくるパスワードおよび演算プログラムを受信する演算プログラム受信ステップと、この受信ステップで受信した演算プログラムに前記演算プログラム受信ステップで受信したパスワードを与えて演算を行うパスワード演算ステップと、このパスワード演算ステップの結果と前記予備演算結果記録ステップにおいて記録された演算結果とを比較し、両者が一致するか否かを判定する演算結果比較ステップと、この演算結果比較ステップの結果がＹＥＳである場合に前記ユーザの認証を行い、前記演算結果記録ステップの結果がＮＯである場合に前記ユーザの認証を行わない認証判定ステップとを行うことを特徴とする。
【０００８】
本発明によれば、認証サーバ側において、複数の演算プログラムが用意され、その一つがユーザの登録時にユーザ端末に送信される。その際、認証サーバ側では、このユーザに送信する演算プログラムを用いて、ユーザに設定されたパスワードを演算し、ユーザを特定できるレコードにそれを記憶すると共に、ユーザのパスワードは消去し自身では記憶しない。認証処理においては、ユーザ端末から認証サーバに演算プログラムとパスワードとが送信される。認証サーバ側では、このユーザ端末から送信されたパスワードを、ユーザ端末から送信された演算プログラムを用いて演算する。そして、この演算結果と登録時に記憶しておいた当該ユーザのパスワードの演算結果（予備演算ステップの演算結果）とを比較し、両者が同一であれば「認証」、そうでなければ「認証せず」を判断する。なお、パスワードの設定は、ユーザの登録時に、ユーザ自身が端末を操作して入力してもよいし、認証サーバ側で適当な方法（例えば、ランダムな数列等の選択）により行うのでもよい。
【０００９】
この方法によれば、認証サーバ側にユーザのパスワードを記憶する必要はなく、その演算結果が記憶される。このため、暗証サーバ内のデータが流出しても、ユーザのパスワードを特定することが困難となり、成りすましによる不正な認証の危険性を下げることができる。なお、認証サーバ側にユーザ端末に記憶される演算プログラムが記憶されるが、演算プログラムを多数用意すれば、ユーザ端末にダウンロードされた演算プログラムを特定することは困難になるので、上記の優位性を保つことができる。
【００１０】
上述した構成におけるユーザの登録時において、演算プログラムとパスワード予備演算ステップの演算結果との関係を特定する認証用インデックスキーを設定するステップと、この認証用インデックスキーを前記ユーザの端末に送信するステップとを更に行うこと、さらにそれに加えて、ユーザの認証時において、ユーザの端末から送られてくる前記認証用インデックスキーを受信するステップと、この認証用インデックスキーを利用して、予備演算結果記録ステップにおいて記録された演算結果を特定し、それを読み出す演算結果読み出しステップとを行うことは好ましい。
【００１１】
この態様によれば、認証用インデックスキーによって、認証サーバ内に記憶された予備演算結果（ユーザ登録時に予め行っておいたユーザパスワードの演算結果）がどのユーザのものであるかが特定される。したがって、認証サーバ側において認証用インデックスキーとユーザとの関係を保存しないようにすれば、ユーザ側の端末から認証用インデックスキーが送られてこない限り、認証サーバ側では、予備演算結果とユーザ（あるいはユーザが保持する演算プログラム）との対応関係を特定することが困難になる。そのため、仮に認証サーバ内のデータが流出しても、それに基づく特定のユーザの成りすまし認証（偽認証）を行い難くすることができる。
【００１２】
本発明の電子認証方法におけるユーザの登録時において、（１）ユーザの端末に送信する演算プログラムにテスト用データを与えて予備テスト演算を行う予備テスト演算ステップと、この予備テスト演算に利用したテスト用データを記録するテスト用データ記録ステップと、前記予備テスト演算の結果を記録する予備テスト演算結果記録ステップとを少なくとも行い、（２）ユーザの認証時において、演算プログラム受信ステップで受信した演算プログラムに前記テスト用データを与えて演算を行うテスト演算ステップと、このテスト演算ステップの結果と前記予備テスト演算の結果とを比較し、両者が一致するか否かを判定するテスト演算結果比較ステップと、このテスト演算結果比較ステップの結果がＹＥＳである場合に前記演算プログラム受信ステップで受信した演算プログラムを真であると判定し、前記テスト演算結果比較ステップの結果がＮＯである場合に前記演算プログラム受信ステップで受信した演算プログラムを偽であると判定する演算プログラムの真偽判定ステップとを少なくとも行うことは好ましい。
【００１３】
この態様においては、ユーザ登録時にテスト用データを演算プログラムに与えてその解を求め、それを認証サーバ内に記憶しておく。そして、認証時にユーザ端末から送られてきた演算プログラムに同じテストデータを与えて演算を行い、その結果を先の事前に演算しておいた結果と比較する。そして両者の演算結果が同じであれば、「真性判別テストに合格」と判断する。この態様によれば、認証時にユーザ端末から送られてきた演算プログラムの真偽を予めテストすることができ、偽演算プログラムによる成りすまし認証を防ぐことができる。
【００１４】
また、上記のテスト演算を行う構成において、（１）ユーザの登録時において、ユーザの端末に送信される演算プログラムと予備テスト演算の結果との関係を特定するテスト用インデックスキーを設定するステップと、このテスト用インデックスキーを前記ユーザの端末に送信するステップとをさらに行い、（２）ユーザの認証時において、ユーザの端末から送られてくるテスト用インデックスキーを受信するステップと、このテスト用インデックスキーを利用することで、演算プログラム送信ステップにおいて送信した演算プログラムを用いた予備テスト演算の結果を特定し、それを読み出す予備テスト演算結果読み出しステップとをさらに行うことは好ましい。
【００１５】
この態様によれば、テスト用インデックスキーによって、認証サーバ内に記憶された予備テスト演算結果（ユーザ登録時に予め行っておいたテストデータを用いた演算結果）がどのユーザのものであるかが特定される。したがって、認証サーバ側においてテスト用インデックスキーとユーザとの関係を保存しないようにすれば、ユーザ側の端末からテスト用インデックスキーが送られてこない限り、認証サーバ側では、予備テスト演算結果とユーザ（あるいはユーザが保持する演算プログラム）との対応関係を特定することが困難となる。そのため、仮に認証サーバ内のデータが流出しても、それに基づいた成りすまし認証を行い難くすることができる。
【００１６】
以上が本発明の電子認証方法に関する説明であるが、以下本発明の電子認証方法の適用に好適な電子決済方法について説明する。すなわち、本発明の電子決済方法は、ユーザが操作するユーザ端末から送信されたプリペイド金額の予定額を含むデータを受信するステップと、前記予定額を含むデータを記録したバーコードのデータを生成するステップと、前記バーコードのデータを前記ユーザ端末に送信するステップと、ＰＯＳシステムによって、前記バーコードの印刷物が読み取られることで得られる支払い確認データを受信し、支払われたプリペイド金額の金額データを生成するステップと、前記ユーザの認証を行い、認証を受けた前記ユーザが所定のサービスを受ける際に、前記料金データから前記サービスの対価に相当する金額を差し引く処理ステップとを少なくとも行うことを特徴とする。
【００１７】
上記の電子決済方法によれば、ユーザ端末から認証・決済サーバにアクセスしてのユーザ登録において、認証・決済サーバからユーザ端末に対して、納付予定の金額情報が記録されたバーコードデータが送信される。ユーザは、このバーコードデータを印刷し、その印刷物をコンビニエンスストア等に持参し、ＰＯＳ(Point Of Sales system)システムを用いた払い込み（プリペイド料金の払い込み）を行う。認証・決済サーバは、この払い込み行為をＰＯＳシステムの仕組みによって認識し、ユーザによって前払いされたプリペイド料金の金額の貯留を記録するデータ領域を作成する。そして、ユーザによってネット上の有料サービス等の利用があった際に、認証・決済サーバにおいて、ユーザの認証が行われ、認証ＯＫであれば、先の有料サービス等の代金が、貯留された金額から引き落とされる。
【００１８】
この電子決済方法によれば、ユーザのプリペイド料金の支払いの際、ユーザは、個人データを、支払を行うコンビニエンスストア等で開示する必要はない。したがって、ユーザの個人データが漏洩する可能性を低くすることができる。また、仮に認証・決済サーバのデータが不正な方法により流出したとしても、ユーザが被る被害は、予め支払っておいたプリペイド料金の範囲内に抑えることができる。したがって、ユーザによって安心感の高い電子決済システムとすることができる。また、ユーザは、ＰＯＳシステムを備えた店舗（例えばＰＯＳシステムにより公共料金の払い込みができるコンビニエンスストア等）で払い込みを行えばよいので、ユーザにとっての利便性を高くすることができる。
【００１９】
この電子決済システムにおいて、上述した演算プログラムをユーザ端末に保持させる認証方法を用いることは好ましい。こうすることで、上記電子決済方法の優位性に加えて、パスワードを直接扱わない上記認証方法の優位性を得ることができ、ユーザが利用し易く、且つユーザにとって安全性の高い電子決済の仕組みを得ることができる。
【発明の効果】
【００２０】
本発明によれば、ユーザ側において、認証サーバから配布された演算プログラムを保存し、認証時にこの演算プログラムを認証サーバに送り、認証サーバ側ではこの演算プログラムの演算結果を利用して認証を行う。こうすることで、認証サーバ側でユーザのパスワードを記憶しておく必要がなく、そのため、ハッキングや不正漏洩による認証サーバ内のデータの流出があっても、電子認証に必要な個人データの不正利用を困難にできる。
【００２１】
また、電子伝送したバーコードを用いたプリペイド料金の支払い方法を採用することで、電子決済システムおけるユーザ情報の漏洩防止と、最悪の場合におけるユーザが被る被害の極小化を実現することができる。また、バーコードの伝送を利用することで、ユーザは、公共料金の支払いと同じ手間および感覚で引き落としの元手となる貯留金額を認証・決済サーバ側に事前納付することができ、ユーザの不安感や負担感を少なくすることができる。
【発明を実施するための最良の形態】
【００２２】
１．システムの概要
まず、本発明の認証方法および電子決済方法を適用したシステムの概要を説明する。図１は、本発明を適用したシステムを示す概念図である。このシステムにおいては、ユーザが予め料金を前払いで支払い、その料金が認証・決済サーバ側で貯留される。そして、ユーザが有料サービス（例えば商品の購入等）を受けた際に、その貯留された金額からサービスの対価としての料金が引き落とされ、認証・決済サーバからサービスを提供する事業主への対価の支払が行われる。
【００２３】
このシステムにおいては、図１に示すように、インターネット１０１に有料サービス提供サーバ１０２、認証・決済代行サーバ１０３、ユーザ端末１（１０４）が接続されている。また、インターネットへの接続が可能な携帯電話を利用したユーザ端末２（１０５）が、基地局１０６を介してインターネット１０１に接続された状態が示されている。
【００２４】
有料サービス提供サーバ１０２は、インターネット１０１を介してユーザに所定のサービスを提供するサーバである。有料サービス提供サーバ１０２は、この所定のサービスを提供する事業主によって運営される。この所定のサービスとしては、各種コンテンツの有料配信等を挙げることができる。
【００２５】
認証・決済代行サーバ１０３は、ユーザから前払いされた料金をデータとして貯留し、上述した所定のサービスがユーザに提供された際に、その対価をこの貯留金額から引き落とす機能を備える。また、この引き落とし処理の際に、ユーザを認証する機能を備える。
【００２６】
ユーザ端末１（１０４）は、第１のユーザが使用するパーソナルコンピュータであり、インターネット接続機能および閲覧ソフトがインストールされている。携帯電話１０５は、第２のユーザが使用する端末であり、所定の電話会社の基地局１０６を介して、インターネット１０１への接続が可能な機能を備えている。
【００２７】
符号１０７は、コンビニエンスストア等のＰＯＳシステムを備えた店舗である。ＰＯＳシステムとしては、電話料金等の公共料金の支払を行うための既存のシステムをそのまま利用することができる。店舗１０７と認証・決済サーバ１０３とは、専用回線で繋がっており、店舗１０７のＰＯＳシステムのデータが認証・決済サーバ１０３に送信可能となっている。また、認証・決済サーバ１０３と有料サービス提供サーバ１０２との間も専用回線で繋がっており、認証・決済サーバ１０３から有料サービス提供サーバ１０２に認証の有無や決済料金の支払いデータ等を通知できるようになっている。なお、これらの専用回線の代わりに、セキュリティーが確保されたインターネット上の通信回線を利用することも可能である。
【００２８】
図１には、有料サービス提供サーバ１０２が一例として示されているが、通常は、複数の有料サービス提供サーバがインターネット１０１に接続され、インターネットを介して多様な有料サービスがユーザに対して提供される。また、ユーザ側の端末としては、ユーザ端末１（１０４）とユーザ端末２（１０５）が示されているが、一般には、更に多数のユーザ端末がインターネット１０１に接続される。ユーザ端末としては、パーソナルコンピュータや携帯電話以外に、ＰＤＡ（Personal Digital Assistant）やインターネット接続機能を備えたゲーム機器等を挙げることができる。
【００２９】
２．システムの仕組
以下、図１に示すシステムの仕組みの概略を説明する。ここでは、所定のユーザがユーザ端末１（１０４）を利用して有料コンテンツの購入（ダウンロード）を行う場合を例に挙げ説明を加える。
【００３０】
２−１．ユーザの登録
まず、ユーザが、認証・決済サーバへユーザ登録を行う際におけるユーザ側から見た操作手順について説明する。図２は、ユーザ登録の手順の概略を示すフローチャートである。この例において、ユーザはユーザ端末１（１０４）を操作して、認証・決算サーバ１０３へのユーザ登録を行う。まず、ユーザは端末１（１０４）からインターネット１０１を介して、認証・決済サーバ１０３にアクセスする。そしてユーザ登録が開始され（ステップＳ２０１）、認証・決済サーバ１０３においてユーザ登録処理が行われる（ステップＳ２０２）。ステップＳ２０２におけるユーザ登録処理の詳細については後に詳述する。ステップＳ２０２におけるユーザ登録処理が行われることで、ユーザ端末１（１０４）には、演算用プログラム、プリペイド料金の支払い用バーコードデータおよびその他のデータが認証・決済サーバ１０３からダウンロードされる。
【００３１】
ユーザ側では、ユーザ端末１（１０３）にダウンロードされた演算プログラムおよびその他のデータを記録する。この記録内容は、認証時に利用される。そして、ユーザ側では、ダウンロードされたバーコードデータをプリントアウトし（ステップＳ２０３）、それをコンビニエンスストア等の店舗１０７に持ち込み、ＰＯＳシステムを利用したプリペイド料金の支払いを行う（ステップＳ２０４）。例えば、上記プリントアウトしたバーコードを利用して２０００円分のプリペイド料金の支払を行う。こうして、ユーザ登録を終了する（ステップＳ２０５）。このプリペイド料金の支払情報は、店舗１０７から専用回線を介して認証・決済サーバ１０３に送られ、そのデータは、認証・決済サーバ１０３内に記録される。なお、このバーコードを用いて支払われた料金は、公知の送金システムを利用して、認証・決済サーバ１０３の運営事業者に送金される。
【００３２】
２−２．有料サービスの提供
次に、ユーザが有料サービスを受ける仕組みを説明する。ここでは、ユーザが、有料の音楽コンテンツをネット上で購入（ダウンロード）する場合の例を説明する。図３は、有料サービスの提供を受ける際における有料サービス提供サーバ１０２で行われる処理手順の一例を示すフローチャートである。
【００３３】
まず、有料サービス提供サーバ１０２は、音楽オンテンツの有料ダウンロードサービスを行っているものとする。この場合、ユーザがユーザ端末１（１０４）を操作して、有料サービス提供サーバ１０２において管理されているｗｅｂページにアクセスすると、サービスの提供処理が開始される（ステップＳ３０１）。ユーザ端末１０４がユーザにより操作されて、所定の音楽コンテンツが選択されると（ステップＳ３０２）、認証・決済サーバ１０３にリンクが飛ばされ、認証・決済サーバ１０３における代理決算処理が開始される（ステップＳ３０３）。ステップＳ３０３における代理決算処理の詳細については後述する。
【００３４】
有料サービス提供サーバ１０２は、認証・決済サーバ１０３において行われる認証処理の結果を受け、認証が正常に行われたか、を判定する（ステップＳ３０４）。認証・決済サーバ１０３における代理決算処理の認証が正常に行われると、その旨の通知（認証の通知）が認証・決済サーバ１０３から有料サービス提供サーバ１０２に対して行われる。それを受けて有料サービス提供サーバ１０２側では、ステップＳ３０４の判断がＹＥＳとなる。この結果、有料サービス提供サーバ１０２からユーザ端末１（１０４）に対して、ユーザが選択した音楽コンテンツのデータのダウンロードが行われる（ステップＳ３０５）。そして、サービスの提供処理が終了する（ステップＳ３０６）。なお、認証・決済サーバ１０３における認証が不成功の場合、その旨が有料サービス提供サーバ１０２に通知され、ステップＳ３０４の判断がＮＯとなる。この場合、処理はエラーとなり、サービスの提供は行われない。
【００３５】
２−３．代理決算処理
次に上述したステップＳ３０３において、認証・決済サーバ１０３で行われる代理決済処理の概要を説明する。図４は、認証・決済サーバ１０３において行われる代理決済処理の手順の概要を示すフローチャートである。
【００３６】
図３のステップＳ３０３において、有料サービス提供サーバ１０２からリンクが飛ばされると、ユーザ端末１（１０４）は、認証・決済サーバ１０３に接続され、代理決済処理が開始される（ステップＳ４０１）。代理決済処理が開始されると、まずユーザの認証処理が行われ、ユーザの真性が判断される（ステップＳ４０２）。つまり、第三者によるユーザの成りすましがないか否かが判断される。ステップＳ４０２における認証処理の詳細については後述する。
【００３７】
認証が正常に行われると、認証成功の旨の信号が認証・決済代行サーバから有料サービス提供サーバ１０２に対して送られる（認証の通知）。そして、図３のステップＳ３０２において選択されたサービス（この場合は、音楽コンテンツ）の料金が、図１のステップＳ２０４において予納されたプリペイド料金の貯留金額から引き落とされる（ステップＳ４０３）。この料金の引き落とし（つまり代理決済）が行われたら、その旨が認証・決済サーバ１０３から有料サービス提供サーバ１０２に専用回線を介して報告され、また送金処理が行われる（ステップＳ４０４）。こうして、代理決算処理が終了する（ステップＳ４０５）。
【００３８】
３．登録処理の詳細
以下、図２のステップＳ２０２において行われる登録処理の詳細な一例について説明する。まず、図１の認証・決済サーバ１０３の機能について説明する。認証決済サーバ１０３は、認証データベース（認証ＤＢ）、取引データベース（取引ＤＢ）、テスト用データベース（テスト用ＤＢ）、演算結果データベース（演算結果ＤＢ）、および演算プログラムテーブルを備えている。また、適当な記録手段に後述する手順を実行するための動作プログラムを記録している。
【００３９】
認証ＤＢは、ユーザ毎に認証用レコードを持つ。認証用レコードは、ユーザ毎に設定されたＩＤ番号によって特定され、照合キー、テストデータ(1)、テストデータ(3)、入金額および入金フラグの各項目を持つ。ＩＤ番号は、ユーザを特定する番号である。照合キーは、ユーザが選択したパスワードと共に演算プログラムの演算式に代入される変数である。照合キーを用いることで、パスワードを用いた演算結果を得ることができる。テストデータ(1)およびテストデータ(3)は、ユーザ端末から送られてきた演算プログラムの真性を判断する際に利用されるテスト用の変数である。入金額は、予納される予定の金額であり、入金フラグは、入金の有無を示すフラグである。
【００４０】
取引ＤＢは、ユーザ毎のプリペイド料金の残高および取引内容を記録した取引レコードを備えたデータベースである。各取引レコードは、残高、取引の内容（支払先、支払額の履歴）、さらに取引管理項目を備え、ＩＤ番号によって特定される。
【００４１】
テスト用ＤＢは、テスト用インデックスキーを検索用キーとするテスト用演算結果レコードを保管するデータベースである。このテスト用演算結果レコードは、ユーザ毎に設けられ、それぞれテスト用インデックスキー、テストデータ(2)、テスト用演算結果(1)を記録する項目を備える。テスト用インデックスキーは、テスト用演算結果レコードを特定するためのキーであり、このキーが指定されることで、特定のユーザに対応したテスト用演算結果レコードが特定される。テストデータ(2)は、テストデータ(1)およびテストデータ(3)と同様に、ユーザ端末から送られてきた演算プログラムの真性を判断する際に利用されテスト用の変数である。
【００４２】
演算結果ＤＢは、認証用インデックスキーを検索キーとする演算結果レコードを保管するデータベースである。各演算結果レコードは、各ユーザに対応して設けられ、認証用インデックスキー、パスワードの演算結果、テスト用演算結果(2)、テストデータ(4)を記録する項目を備える。テストデータ(4)は、テストデータ(1)〜(3)と同様に、ユーザ端末から送られてきた演算プログラムの真性を判断する際に利用されテスト用の変数である。
【００４３】
演算プログラムテーブルは、ＡおよびＢの２つの変数を用いて適当な演算を行い、解Ｃを得るための演算プログラムを複数格納したテーブルである。
【００４４】
以下、図１に示すシステムにおいて、所定のユーザがユーザ端末１（１０４）を操作して、ユーザ登録を行う場合の例を説明する。この場合、ユーザはユーザ端末１（１０４）のディスプレイ上に表示される登録画面に示される手順に従って、登録のための操作を行う。図５および図６は、図２のステップＳ２０２における登録処理において。認証・決済サーバ１０３内で実行される手順の詳細な一例を示すフローチャートである。
【００４５】
登録処理が開始されると（ステップＳ５０１）、ユーザはユーザ端末１（１０４）（図１参照）に自身で選択したパスワード（暗証番号）と、予納するプリペイド料金とを入力する。この情報は、図１のユーザ端末１（１０４）からインターネット１０１を経由して認証・決済サーバ１０３に送られ、認証・決済サーバ１０３に入力される（ステップＳ５０２）。
【００４６】
この入力を受けて、認証・決済サーバ１０３は、各ＤＢ内にこのユーザに対応するレコードを作成する（ステップＳ５０３）。すなわち、未使用のＩＤ番号を選択し、このＩＤ番号を利用して、当該ユーザに対応した認証用レコードを認証ＤＢ内に作成する。また、上記ＩＤ番号を利用して、当該ユーザに対応した取引レコードを取引ＤＢ内に作成する。また、無作為に発生させたテスト用インデックスキー（テスト用INDX）をキーとして、テスト用演算結果レコードをテスト用ＤＢ内に作成する。また、無作為に発生させた認証用インデックスキー（認証用INDX）をキーとして、当該ユーザに対応した演算結果レコードを演算結果ＤＢ内に作成する。こうして、ステップＳ５０３における各レコードの作成を行ったら、ステップＳ５０４に進む。ステップＳ５０４においては、テストデータ(1)〜(4)および照合キーを無作為に発生する。
【００４７】
次に演算プログラムテーブルが参照されて、その中から演算プログラムが一つ無作為に選択される（ステップＳ５０５）。そして、この選択された演算プログラムを用いて、以下の演算１〜３（ステップ５０６〜Ｓ５０８）が実行される。
【００４８】
まず、ステップＳ５０６の演算１について説明する。ここでは、ステップＳ５０４において生成した照合キーとステップ５０２において入力されたパスワードを変数として、それを上記選択された演算プログラムに代入し、所定の演算結果を得る。すなわち、照合キーとパスワードとを適当な関数により演算し、所定の演算結果を得る。この演算結果は、演算結果ＤＢ内の対応する演算結果レコードに記録される。なお、後述するように、照合キーは、認証ＤＢ内の当該ユーザに対応する認証用レコード（ステップＳ５０３において作成した当該ユーザに対応した認証用レコード）に記録される。
【００４９】
次にステップＳ５０７の演算２について説明する。ここでは、ステップＳ５０５において生成したテストデータ(1)およびテストデータ(2)が、上記選択された演算プログラムに代入され、演算が行われる。この演算結果であるテスト演算結果(1)とテストデータ(2)は、テスト用ＤＢ内の対応するテスト用演算結果レコードに記録される。また、テストデータ(1)は、認証ＤＢ内の対応する認証用レコードに記録される。
【００５０】
次にステップＳ５０８の演算３について説明する。ここでは、ステップＳ５０５において生成したテストデータ(3)およびテストデータ(4)が、上記選択された演算プログラムに代入され、演算が行われる。この演算結果であるテスト演算結果(2)とテストデータ(4)は、演算結果ＤＢ内の対応する演算結果レコード内に記録される。また、テストデータ(3)は、認証ＤＢ内の対応する認証用レコードに記録される。
【００５１】
次に、図６のステップＳ５０９に進む。ステップＳ５０９においては、ステップＳ５０５において生成され、ステップＳ５０６の演算１において利用された照合キーが、認証ＤＢ内の対応する認証用レコードに記録される。
【００５２】
次に、ステップＳ５０３において生成した認証用インデックスキー、テスト用インデックスキー、さらにステップＳ５０５において選択した演算プログラムを端末ダウンロード域に移す。こうして、図１のユーザ端末１（１０４）にダウンロードするデータを作成する（ステップＳ５１０）。
【００５３】
また、認証ＤＢ内の認証用レコードに記録したＩＤ番号、ステップＳ５０２において入力された予納されるプリペイド金額、およびＰＯＳ用の管理項目のデータをバーコードの形式に変換し、そのバーコードのイメージデータを作成する。そして、このバーコードのイメージデータをプリンタダウンロード域に保存する（ステップＳ５１１）。
【００５４】
次にステップＳ５１０において、端末ダウンロード域に保存したデータを、インターネット１０１（図１参照）を介して、ユーザ端末１（１０３）に送信する（ステップＳ５１２）。そして、端末ダウンロード域に保存されていたデータを消去する。このユーザ端末１（１０３）にダウンロードされた端末ダウンロード域に保存されていたデータは、ユーザ端末１０４内の適当な記録領域に記録される。
【００５５】
さらに、ステップＳ５１１において、プリンタダウンロード域に保存されたデータを、インターネット１０１（図１参照）を介して、ユーザ端末１（１０３）に送信する（ステップＳ５１３）。そして、プリンタダウンロード域に保存されていたデータを消去する。こうして、図２のステップＳ２０２におけるユーザの登録処理が終了する（ステップＳ５１４）。
【００５６】
そして、図２に示すように、ユーザ端末１（１０３）側では、このダウンロードされたプリンタダウンロード域に保存されていたデータに基づいて、バーコードをユーザ端末１０４に接続されたプリンタ１０８からプリントアウトする（図２のステップＳ２０３参照）。
【００５７】
このプリントアウトしたバーコードには、ステップＳ５０２において入力されたユーザが希望する予納金額およびＩＤ番号のデータが含まれている。このバーコードが図１の店舗１０７に持ち込まれ、上記予納金額がユーザから店舗１０７側に支払われる。この際、プロペイド料金およびＩＤ番号のデータがＰＯＳシステムの仕組みによって読み取られ、その情報は、認証・決済サーバ１０３に送られる。このＰＯＳシステムからのデータを受け取った認証・決済サーバ１０３は、ＩＤ番号から認証ＤＢ内の当該ユーザの認証用レコードを検索し、ステップＳ５０２において入力された納付予定金額と実際に店舗１０７において支払われた金額との一致を確認する。この一致が確認された場合、当該認証用レコードにおける入金フラグを「入金済」とし、また入金額の項目に入金された金額を記録する。
【００５８】
４．認証処理の詳細
次に図４のステップＳ４０２における認証処理の詳細な一例を説明する。認証処理が開始されると（ステップＳ７０１）、認証・決済サーバ１０３は、端末１（１０４）にＩＤ番号、演算プログラム、テスト用インデックスキー、および認証用インデックスキーを送信するように要求する。この要求に応答して、端末１（１０４）から、端末１（１０４）内に記録されていたこれらデータが、認証・決済サーバ１０３に送信され、認証・決済サーバ１０３に入力される（ステップＳ７０２）。なお、この送信データの内容は、ステップＳ５１２において、認証・決済サーバ１０３から端末１（１０４）にダウンロードされたデータである。
【００５９】
認証・決済サーバ１０３は、端末１（１０４）から送信されてきたＩＤ番号を用いて、認証用ＤＢ内の当該ユーザの認証用レコードを呼び出す。また、テスト用インデックスキーを用いて、テスト用ＤＢ内の当該ユーザのテスト用演算結果レコードを呼び出す。また、認証用インデックスキーを用いて、演算結果データベース内の当該ユーザの演算結果レコードを呼び出す（ステップＳ７０３）。
【００６０】
次にステップＳ７０２において、ユーザ側から送られてきた演算プログラムの真性を判定する。この例では、テストを２段階に渡って行う。まず、第１段階のステップＳ７０４のテスト１を行う。テスト１では、まずステップＳ７０３において呼び出しておいた認証ＤＢ内の認証用レコードからテストデータ(1)を読み出し、さらにステップＳ７０３において呼び出しておいたテスト用ＤＢ内のテスト用演算結果レコードから、テストデータ(2)とテスト演算結果(1)とを読み出す。そして、このテストデータ(1)とテストデータ(2)とをユーザ側から送られてきた演算プログラムに代入し、演算を行う。次にこの演算結果とテスト演算結果(1)とを比較し、同一であれば、テスト１に合格と判定され、第２段階のステップ７０５に進む、なお、上記比較の結果が、同一でなければ、ユーザ側から送られてきた演算プログラムが偽物であると判定され、認証エラーとなり、認証処理は終了する。当然この場合、認証は行われず、図４のステップＳ４０３以下の処理は実行されない。なお、認証エラーの場合は、その旨の信号が端末１（１０４）に送られ、端末１（１０４）上のディスプレイに表示される。
【００６１】
ステップＳ７０５のテスト２では、まずステップＳ７０３において呼び出しておいた認証ＤＢ内の認証用レコードからテストデータ(3)を読み出し、さらにステップＳ７０３において呼び出しておいた演算結果ＤＢ内の演算結果レコードから、テストデータ(4)とテスト演算結果(2)とを読み出す。そして、このテストデータ(3)とテストデータ(4)とをユーザ側から送られてきた演算プログラムに代入し、演算を行う。次にこの演算結果とテスト演算結果(2)とを比較し、同一であれば、テスト２に合格と判定され、そうでなければ、テスト１の場合と同様にエラーと判定する。
【００６２】
ステップＳ７０５のテスト２に合格したら、ユーザ端末１（１０４）にパスワードの入力を要求し、ユーザ端末１（１０４）からパスワードが送られてきたら、その認証を行う（ステップＳ７０６）。ステップＳ７０６においては、ステップＳ７０３において呼び出しておいた認証ＤＢ内の認証用レコードから照合キーを読み出し、さらにステップＳ７０３において呼び出しておいた演算結果ＤＢ内の演算結果レコードから、演算結果を読み出す。そして、この読み出した照合キーとユーザ端末１（１０４）から送られてきたパスワードとを、ステップＳ７０２においてユーザ側から送られてきた演算プログラムに代入し、演算を行う。次にこの演算結果と演算結果レコードに記憶されていた演算結果とを比較し、同一であれば認証成功、つまり当該決済が真性であると判断する。また、演算結果と演算結果レコードに記憶されていた演算結果とが異なる場合、認証エラーと判断する。
【００６３】
ステップＳ７０６のパスワードの認証が成功した場合、当該ユーザのＩＤ番号（ステップＳ７０２においてユーザ側から送信されたＩＤ番号）に基づいて、取引ＤＢ内から取引レコードを検索する。そして、そこに支払先（この場合は、有料サービス提供サーバ１０２の事業主）、支払金額、および支払金額を差し引いた残金の情報を記録する（ステップＳ７０７）。そして、認証成功の通知を有料サービス提供サーバ１０２（図１参照）に送り（ステップＳ７０８）、認証処理（および決済処理）を終了する（Ｓ７０９）。以上のようにして、図３のステップＳ４０２におけるユーザの認証処理が行われる。
【００６４】
５．演算プログラムの変更
ネットを介したハッキング防止に努めても、関係者によるデータの不正持ち出しの問題は、人事管理の問題であり、技術によって防止できない側面がある。このようなデータの不正持ち出しに対応する方法として、本実施形態においては、ユーザに配布した演算プログラムを変更する演算プログラム更新手続きを定期的、不定期的あるいは適当なタイミングで行う。
【００６５】
演算プログラムの変更は、以下のようにして行われる。例えば、ユーザが認証を求めて認証・決済サーバに接続が行われた際に、ユーザのパスワード、ＩＤ番号、テスト用インデックスキー、および認証用インデックスキーを用いて、当該ユーザに関するレコードを読み出し、再度図５のステップＳ５０３以下の手順を実行する。この際、ＩＤ番号、テスト用インデックスキー、および認証用インデックスキーを再設定する。また、演算プログラムも新たに選択し直す。また、取引レコードの残金が引き継がれるようにする。こうすることで、各レコードに記録されたデータが一新され、また対応するユーザ端末側のデータも一新される。なお、ユーザの暗証番号は、引き続いて利用できるので、ユーザ側の負担は一切ない。
【００６６】
ユーザ側の端末に記録される演算プログラムを変更することで、テスト用ＤＢおよび演算結果ＤＢ内の演算結果のデータは全て書き換えられる。このため、仮にデータの流出があったとしても、そのデータの有効期間を限ることができる。しかも、この演算プログラムの変更処理は、パスワードを変更する必要はなく、またそのためのユーザ側の操作を必要としない。このため、ユーザ側に負担が掛からない。したがって、演算プログラムの変更処理を頻繁に行うことができる。このように演算プログラムの変更を頻繁に行うことで、サーバ内のデータの利用期間を短くすることができ、個人データ流出や成りすまし認証の危険性を下げることができる。
【００６７】
演算プログラムの変更処理において、ユーザに負担が掛からない点は重要である。すなわち、現状のパスワードを用いた認証技術においては、セキュリティーを確保するために、頻繁にパスワードを変更することが有用であることをユーザが認識していても、そのための端末操作を面倒に感じて、パスワードを長期に渡り変更しない場合が多々ある。しかしながら、上述した自動変更処理によれば、ユーザが端末を操作してのパスワードの入力操作等を行う必要がないので、このような問題が発生しない。なお、上述した更新処理は、各種アプリケーションソフトの自動バージョンアップサービスのように、サーバ側からユーザの端末に自動接続して行っても良い。
【００６８】
６．本実施形態の優位性
図１に示すシステムは、ユーザが予め店舗１０７において支払ったプリペイド料金の貯留金額の範囲から、有料サービスの対価が支払われるので、仮に第三者によるプリペイド料金の不正使用があっても、ユーザにとっての被害を予納した料金の範囲内に収めることができる。このため、ユーザにとって安心感のあるシステムとなる。また、店舗１０７や有料サービス提供サーバ１０２は、ユーザのパスワード等の個人情報に触れることができないので、ユーザの個人情報の漏洩に強いシステムとすることができる。また、公共料金の支払いに等に広く利用されているコンビニエンスストア等のＰＯＳシステムを利用して、プリペイド料金の支払いを行うので、手続が簡単であり、ユーザが感じる負担感を小さくすることができる。また、既存のシステムをそのまま利用することができるので、低コストで実現することができる。
【００６９】
また、図５および６に示すユーザ登録の仕組み、さらに図７に示すユーザ認証の仕組みを採用することで、以下に述べるようなセキュリティー上の優位性を得ることができる。例えば、図１に示す認証・決済サーバ１０３が不正な侵入によりハッキングされた場合、あるいは関係者により、認証・決済サーバ１０３内のデータが不法に流出した場合を想定する。この場合、図５に示す、認証ＤＢ、取引ＤＢ、テスト用ＤＢおよび演算結果ＤＢのデータ、さらにサーバ内の演算プログラムテーブルが第三者の手に渡ることになる。
【００７０】
しかしながら、認証ＤＢ、取引ＤＢ、テスト用ＤＢおよび演算結果ＤＢには、パスワード自体が記録されていないので、不正入手したデータを見ただけでは、パスワードを知ることはできない。なお、演算プログラムテーブルの中には、ユーザの端末にダウンロードした演算プログラムが含まれているが、どの演算プログラムがどのユーザにダウンロードされているかは、各ＤＢの内容を見ても直ぐには分からない。
【００７１】
特定ユーザのパスワードにたどり着くには、適当な演算プログラムを演算プログラムテーブルから選択し、それに認証ＤＢおよび演算結果ＤＢのテストデータを代入して、総当たり的に試算を繰り返す必要がある。すなわち、図７に示すように、認証・決済サーバ１０３（図１参照）内には、認証ＤＢ、テスト用ＤＢおよび演算結果ＤＢが存在するが、ユーザとこれら各ＤＢ内のレコード間の関係は、ユーザ側の端末内に記録されているテスト用インデックスキーと認証用インデックスキーによって関連付けされている。つまり、演算プログラムテーブル内の所定の演算プログラムが、どのテスト用演算結果レコード、そしてどの演算結果レコートに関係しているかは、テスト用インデックスキーと認証用インデックスキーによって決められている。したがって、悪意の第三者がサーバのハッキング等によって各ＤＢのデータを不正入手したとしても、所定のユーザ、テスト用インデックスキーおよび認証用インデックスキーの関係は分からないので、各レコード間相互の関係は分からない。
【００７２】
なお、総当たり的に、各ＤＢ内のデータを用いて、試算を繰り返し、認証のためのアクセスを繰り返す方法により、第三者が認証に成功する可能性はある。しかしながら、認証失敗を多数繰り返す必要があるので、実質的には、成りすましにより認証は困難となる。すなわち、通常この種の認証においては、認証のためのアクセスを連続して複数回失敗すると、不正認証行為を防ぐ観点から、当該アクセス元からの認証アクセスを拒否するようになっているので、上述した試算を繰り返すことによる認証トライは、実質的には困難となる。
【００７３】
また、上述した演算プログラムの変更が実行されると、それ以前に流出したデータが利用できなくなるので、認証・決済サーバ１０３内のデータの安全性を常に高く維持することができる。また、この演算プログラムの変更に伴うユーザ側の操作が必要ではなく、さらにパスワードの変更も必要ないので、ユーザに負担感が発生しない。このため安全性が高く、しかもユーザが利用し易い認証システムを実現することができる。
【００７４】
７．応用や変形
電子決済の対象は、音楽等のコンテンツの購入に限定されず、通信販売による物品の購入、各種チケットの購入、病院やホテルの予約、各種会費の支払、オークションや各種イベント等の参加費の支払等であってもよい。また、上述した認証の仕組みは、図１に示すシステム以外に各種の認証に利用することができる。例えば、特定ユーザのアクセスのみを許可するｗｅｂサイトにおけるユーザ認証等に利用することもできる。
【００７５】
ユーザが使用する端末としては、パーソナルコンピュータや携帯電話以外に、ＩＣカード等の演算プログラムを記録できる媒体を用いることもできる。ただしこの場合は、ユーザ側がデータ入力できる端末を別途用意する必要がある。また、特定のユーザが利用する端末は、特定のもの（例えば個人所有のパーソナルコンピュータや携帯電話）に限定される訳ではない。例えば、図６のステップＳ５１２においてダウンロードしたデータを適当な記憶媒体に記録し、その内容を適当な端末にダウンロードし、その端末を用いて認証を受けることもできる。この場合、図６のステップＳ５１２においてダウンロードしたデータをダウンロードした端末がユーザ端末となる。
【００７６】
また、パスワードは、数字に限定されるものではなく、アルファベット、カナ、漢字、その他言語の文字（例えばハングル文字等）を用いることもできる。この場合、演算プログラムは、アルファベット、カナあるいは漢字等をパラメータとして、所定の規則にしたがって、演算結果を導出するように設定される。また、所定内容の文書を他の意味の文書に変換するような演算を行う演算プログラムを利用することもできる。また、演算プログラムは、２つの変数を代入することで答えを出す演算内容に限定されない。例えば、一つの変数（この場合は、パスワードが変数となる）を代入することで、答えを出す演算や３以上の変数を代入することで、答えを出す演算であってもよい。また、生態認証等の他の認証技術と本発明の認証技術とを組み合わせることも可能である。
【産業上の利用可能性】
【００７７】
本発明は、ネットを用いたプリペイド方式の決済システムに利用することができる。また、本発明は、各種の認証技術に利用することができる。
【図面の簡単な説明】
【００７８】
【図１】発明を利用した認証・決済システムの概要を示す概念図である。
【図２】ユーザ登録の手順の一例を示すフローチャートである。
【図３】有料サービスの提供処理の手順の一例を示すフローチャートである。
【図４】代理決算処理の手順の一例を示すフローチャートである。
【図５】ユーザの登録処理の手順の一例を示すフローチャートである。
【図６】ユーザの登録処理の手順の一例を示すフローチャートである。
【図７】ユーザの認証処理の手順の一例を示すフローチャートである。
【符号の説明】
【００７９】
１０１…インターネット、１０２…有料サービス提供サーバ、１０３…認証・決済代行サーバ、１０４…ユーザ端末１、１０５…ユーザ端末２、１０６…携帯電話の基地局（あるいは電話局）、１０７…店舗、１０８…プリンタ。
【図１】
2007133714.tif 000003
【図２】
2007133714.tif 000004
【図３】
2007133714.tif 000005
【図４】
2007133714.tif 000006
【図５】
2007133714.tif 000007
【図６】
2007133714.tif 000008
【図７】
2007133714.tif 000009