(57)【特許請求の範囲】
【請求項１】
コンピュータが、
被認証対象の認証において受理されるコードが得られる規則の登録を受け付け、
前記被認証対象を識別可能な第１入力コードを含む、登録を受け付けた前記規則を基に前記受理されるコードを生成可能なコードの登録を受け付け、
前記第１入力コードの入力を受け付け、
前記第１入力コードを含む前記コードであって、登録を受け付けた前記コードに基づき中間コードを生成し、
生成した前記中間コードを、前記第１入力コードを入力した端末装置に送信し、
前記中間コードの送信後に第２入力コードの入力を受け付け、
生成した前記中間コードと、前記規則とに基づき、基準コードを生成し、
前記第２入力コードと、生成した前記基準コードと、の比較に基づき認証を実行する、
処理を実行することを特徴とする認証方法。
【請求項２】
前記規則の登録を受け付ける処理では、
登録を受け付けた前記コードの登録に対応付けて前記規則の登録を受け付ける、
ことを特徴とする請求項１に記載の認証方法。
【請求項３】
コンピュータに、
被認証対象の認証において受理されるコードが得られる規則の登録を受け付け、
前記被認証対象を識別可能な第１入力コードを含む、登録を受け付けた前記規則を基に前記受理されるコードを生成可能なコードの登録を受け付け、
前記第１入力コードの入力を受け付け、
前記第１入力コードを含む前記コードであって、登録を受け付けた前記コードに基づき中間コードを生成し、
生成した前記中間コードを、前記第１入力コードを入力した端末装置に送信し、
前記中間コードの送信後に第２入力コードの入力を受け付け、
生成した前記中間コードと、前記規則とに基づき、基準コードを生成し、
前記第２入力コードと、生成した前記基準コードと、の比較に基づき認証を実行する、
処理を実行させることを特徴とする認証プログラム。
【請求項４】
被認証対象の認証において受理されるコードが得られる規則の登録を受け付け、
前記被認証対象を識別可能な第１入力コードを含む、登録を受け付けた前記規則を基に前記受理されるコードを生成可能なコードの登録を受け付け、
前記第１入力コードの入力を受け付け、
前記第１入力コードを含む前記コードであって、登録を受け付けた前記コードに基づき中間コードを生成し、
生成した前記中間コードを、前記第１入力コードを入力した端末装置に送信し、
前記中間コードの送信後に第２入力コードの入力を受け付け、
生成した前記中間コードと、前記規則とに基づき、基準コードを生成し、
前記第２入力コードと、生成した前記基準コードと、の比較に基づき認証を実行する、
制御部を有することを特徴とする認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証方法、認証プログラム、および認証装置に関する。
【背景技術】
【０００２】
従来、ウェブサイトなどにおいて識別情報とパスワードとによって認証を行う技術が公知である。
【０００３】
また、例えば、利用者がコード照合装置を操作して暗証コードを照合させる場合に、ランダムコードを暗証コードに変換するルールが利用者に予め通知され、利用者はシステムから提示されたランダムコードを暗証コードに変換する情報を入力する技術が公知である（以下、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１３０３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えばウェブサイトなどにおいて識別情報とパスワードとによって認証を行う際に、第三者がパスワードを破ることによって不正アクセスがあるなど認証の信頼性が低いという問題点がある。
【０００６】
１つの側面では、本発明は、認証の信頼性を高めることができる認証方法、認証プログラム、および認証装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、被認証対象の認証において受理されるコードが得られる規則の登録を受け付け、入力コードが、登録を受け付けた前記規則に準拠しているか否かに応じて認証を実行する認証方法、認証プログラム、および認証装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、認証の信頼性を高めることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明に係る認証装置による一動作例を示す説明図である。
【図２】図２は、ＩＤとパスワードによる認証例を示す説明図である。
【図３】図３は、システムの一例を示す説明図である。
【図４】図４は、認証装置のハードウェア構成例を示す説明図である。
【図５】図５は、端末装置のハードウェア構成例を示す説明図である。
【図６】図６は、実施例１に係る認証装置の機能的構成例を示すブロック図である。
【図７】図７は、利用者に選択要素を提示しない場合の画面例を示す説明図である。
【図８】図８は、実施例１に係るデータベースへの登録例を示す説明図である。
【図９】図９は、実施例１に係る認証装置による登録処理手順例を示すフローチャートである。
【図１０】図１０は、実施例１に係る認証装置による認証処理手順例を示すフローチャートである。
【図１１】図１１は、実施例２に係る認証装置の機能的構成例を示すブロック図である。
【図１２】図１２は、実施例２に係る認証装置による一動作例を示す説明図である。
【図１３】図１３は、実施例２に係るデータベースへの登録例を示す説明図である。
【図１４】図１４は、利用者に選択要素を提示する場合の画面例を示す説明図である。
【図１５】図１５は、実施例２に係る認証装置による登録処理手順例を示すフローチャートである。
【図１６】図１６は、実施例２に係る認証装置による認証処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる認証方法、認証プログラム、および認証装置の実施の形態を詳細に説明する。
【００１１】
図１は、本発明に係る認証装置による一動作例を示す説明図である。認証装置１００は、利用者やアプリケーションなどの被認証者からの認証を実行するコンピュータである。認証とは、インターネットの運用において、メッセージの受け手が送り手を「本人」であると確認する手続きのことである。
【００１２】
従来、ウェブサイトなどの認証の多くは、例えば、予め登録された被認証対象を示す識別情報およびパスワードと、入力された識別情報およびパスワードとを比較して行われる。識別情報は、以下ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）と表す。ＩＤとパスワードによる認証例は図２を用いて後述する。また、近年、ＤＮＡ（Ｄｅｏｘｙｒｉｂｏｎｕｃｌｅｉｃ  Ａｃｉｄ）解析といった個人情報、銀行や信販会社などの金融機関が有する金融資産情報などの重要情報がウェブサイトを介してやり取りされる。
【００１３】
近年、第三者がウェブサイトなどを悪用する不正アクセス行為がある。不正アクセス行為としては、第三者が、例えば利用者のＩＤやパスワードを奪取し、奪取したＩＤやパスワードに基づき本物のウェブサイトに対してアクセスするという識別符号窃用型が多い。例えば、フィッシングと称される手段では、銀行や信販会社といった金融機関を装ったメールを利用者に送り、偽装のウェブサイトに利用者を誘導してＩＤやパスワードを奪取する。このように、従来の認証は、ＩＤとパスワードとによって認証を行う際に、第三者がパスワードを不正に入手することによって不正アクセスされる場合があり、認証の信頼性が低いという問題点がある。
【００１４】
また、従来技術のように、認証システムが予め決定した規則を被認証対象である利用者に通知する場合、第三者にも規則公知となる可能性が高い。そのため、第三者は規則が公知であれば、第三者が認証時に受理されるコードを規則に基づき解析することができて不正アクセスされる場合があり、認証の信頼性が低いという問題点がある。
【００１５】
そこで、本実施の形態では、被認証対象から認証時に認証受理されるコードが得られる規則の登録を受け付けておき、認証時に入力された認証コードが登録された該規則に準拠するかに応じて認証を実行する。これにより、認証の信頼性を高めることができる。
【００１６】
また、本実施の形態では、利用者が認証装置１００に対して規則を登録する例を用いて説明するが、これに限らず、利用者の端末装置１０１が実行する組み込みアプリケーションが認証装置１００に対して規則を登録してもよい。
【００１７】
まず、認証装置１００は、被認証対象が認証の際に受理すると判定されるコードが得られる規則の登録を受け付ける。規則は、例えば、利用者や組み込みアプリケーションがコードを得ることが可能なアルゴリズムである。規則としては、例えば、引き算方式、間引き方式、入れ替え方式、組み合わせ方式、正規表現方式、位置情報方式などの規則が挙げられる。
【００１８】
具体的に、利用者は、図１（ａ）に示すように、被認証対象を示すＩＤと、被認証対象を示すＩＤに対応付けた規則と、を登録するために認証装置１００へ送信する。また、規則がＩＤに対応付けられていれば、規則とＩＤとの登録のタイミングは同じであっても、異なっていてもよい。そして、認証装置１００は、図１（ｂ）に示すように、被認証対象を示すＩＤと、被認証対象を示すＩＤに対応付けた規則と、の登録を受け付ける。ＩＤは、被認証対象を一意に識別可能であればよいため、特に限定しない。
【００１９】
つぎに、認証装置１００は、入力コードが登録を受け付けた規則に準拠しているか否かに応じて認証を実行する。入力コードは、例えば、認証時に被認証対象によって入力されるコードである。具体的に、入力コードは、例えば、被認証対象を識別可能なＩＤと、ＩＤに対応付けた認証用のコードとを含む。認証用のコードは、例えば、認証キーとも称する。ＩＤと認証キーとは、例えば、別々に入力される。
【００２０】
具体的に、利用者は、例えば図１（ｃ）に示すように、ＩＤを入力する。そして、認証装置１００は、図１（ｄ）に示すように、入力を受け付けたＩＤが登録されているか否かを照合する。入力を受け付けたＩＤが登録されてあると判断された場合に、認証装置１００は、例えば、入力コードとして認証キーを受け付け可能な状態となる。
【００２１】
利用者は、例えば、図１（ｅ）に示すように、認証キーを入力する。登録した規則を知っている利用者であれば、認証によって受理と判定される認証キーを入力することが可能である。そして、認証装置１００は、例えば、図１（ｆ）に示すように、認証キーが、ＩＤに対応付けられた規則に準拠しているか否かを判断する。認証装置１００は、例えば、認証キーが、規則に準拠しているコードであるか否かを判断してもよい。また、認証装置１００は、例えば、認証キーが、規則に基づいて生成されたコードと一致するか否かを判断してもよい。
【００２２】
図１（ｇ）に示すように、認証装置１００は、例えば、準拠すると判断した場合に認証キーを受理したことを被認証対象に通知する。一方、図１（ｇ）に示すように、認証装置１００は、例えば、準拠しないと判断した場合に認証キーを棄却したことを被認証対象に通知する。
【００２３】
このように、第三者は、登録された規則が分からないため、解析が困難となる。また、被認証対象が任意に規則を登録可能であるため、被認証対象ごとに規則が異なれば、悪意のある第三者がスピアフィッシングと称される手段を行い難くすることができる。このように、認証機構自体を被認証対象が決定することによって、認証の信頼性の向上を図ることができる。また、計算量に着目して安全性に依拠する暗号については、将来的に量子コンピュータなどのような飛躍的に計算能力の高いコンピュータが実現された場合に解読可能となることが予測される。したがって、本実施の形態による認証方法は、コンピュータの計算量の向上により破られると予測される暗号化などを利用しない認証方法として有効である。
【００２４】
図２は、ＩＤとパスワードによる認証例を示す説明図である。利用者は、図２（ａ）に示すように、ＩＤとパスワードの登録を行う。認証を行うシステムは、ＩＤとパスワードの登録を受け付けて記憶装置などに記憶する。
【００２５】
利用者は、図２（ｂ）に示すように、ＩＤとパスワードを入力して認証を依頼する。そして、システムは、図２（ｃ）に示すように、ＩＤとパスワードの入力を受け付けると、記憶装置に基づいて、受け付けたＩＤとパスワードが登録されてあるか否かを判断する。つぎに、システムは、図２（ｄ）に示すように、判断結果に基づいて認証が成功したか失敗したかの返答を利用者の端末装置に送信する。
【００２６】
図３は、システムの一例を示す説明図である。システムは、端末装置１０１と認証装置１００とを有する。端末装置１０１と認証装置１００とは、例えば、ネットワーク３００を介して接続される。
【００２７】
認証装置１００は、例えば、サーバである。また、認証装置１００は、例えば、ＡＴＭ（Ａｕｔｏｍａｔｅｄ  Ｔｅｌｌｅｒ  Ｍａｃｈｉｎｅ）のような機械であってもよい。端末装置１０１は、認証装置１００の利用者が有する装置である。利用者の端末装置１０１は、複数であってもよい。図３の例では、端末装置１０１は、端末装置１０１−１〜端末装置１０１−３である。端末装置１０１は、例えば、ノート型のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であってもよいし、デスクトップ型のＰＣであってもよいし、携帯型の端末装置であってもよい。
【００２８】
図３の例では、認証装置１００と、利用者が有する端末装置１０１とが異なる装置であるが、認証装置１００と端末装置１０１とが同じ装置であってもよい。また、利用者が直接認証装置１００を操作可能であってもよい。また、例えば、登録やＩＤの入力時には、認証装置１００と端末装置１０１とが同じ装置であり、認証キーの入力時には、認証装置１００と端末装置１０１とが異なる装置であってもよい。
【００２９】
（認証装置１００のハードウェア構成例）
図４は、認証装置のハードウェア構成例を示す説明図である。認証装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３と、ディスクドライブ４０４と、ディスク４０５と、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）４０６と、を有する。
【００３０】
ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、ディスクドライブ４０４と、Ｉ／Ｆ４０６とは、バス４００によってそれぞれ接続される。
【００３１】
ここで、ＣＰＵ４０１は、認証装置１００の全体の制御を司る。ＲＯＭ４０２は、各種プログラムを記憶する。ＲＯＭ４０２に記憶されるプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させる。ＲＡＭ４０３はＣＰＵ４０１のワークエリアとして使用される。
【００３２】
Ｉ／Ｆ４０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３００に接続され、このネットワーク３００を介して他の装置に接続される。そして、Ｉ／Ｆ４０６は、ネットワーク３００と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ４０６には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３３】
ディスクドライブ４０４は、ＣＰＵ４０１の制御に従ってディスク４０５に対するデータのリード／ライトを制御する。ディスク４０５は、ディスクドライブ４０４の制御で書き込まれたデータを記憶する。ディスク４０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００３４】
また、認証装置１００は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、マウス、ディスプレイなどを有することにしてもよい。
【００３５】
（端末装置１０１のハードウェア構成例）
図５は、端末装置のハードウェア構成例を示す説明図である。端末装置１０１は、ＣＰＵ５０１と、ＲＯＭ５０２と、ＲＡＭ５０３と、ディスクドライブ５０４と、ディスク５０５と、を有する。
【００３６】
端末装置１０１は、Ｉ／Ｆ５０６と、キーボード５０７と、マウス５０８と、ディスプレイ５０９と、を有する。また、ＣＰＵ５０１と、ＲＯＭ５０２と、ＲＡＭ５０３と、ディスクドライブ５０４と、Ｉ／Ｆ５０６と、キーボード５０７と、マウス５０８と、ディスプレイ５０９とは、バス５００によってそれぞれ接続される。
【００３７】
ここで、ＣＰＵ５０１は、端末装置１０１の全体の制御を司る。ＲＯＭ５０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。ディスクドライブ５０４は、ＣＰＵ５０１の制御にしたがってディスク５０５に対するデータのリード／ライトを制御する。ディスク５０５は、ディスクドライブ５０４の制御で書き込まれたデータを記憶する。ディスク５０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００３８】
Ｉ／Ｆ５０６は、通信回線を通じてＬＡＮ、ＷＡＮ、インターネットなどのネットワーク３００に接続され、このネットワーク３００を介して他の装置に接続される。そして、Ｉ／Ｆ５０６は、ネットワーク３００と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ５０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３９】
キーボード５０７やマウス５０８は、例えば、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ５０９は、例えば、ＣＰＵ５０１の指示により、データを出力するインターフェースである。
【００４０】
また、図示を省略するが、端末装置１０１には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、端末装置１０１には、プリンタなどの出力装置が設けられていてもよい。また、図示を省略するが、端末装置１０１には、例えば、ＳＳＤやフラッシュＲＯＭなどが設けられていてもよい。
【００４１】
また、端末装置１０１は、上述した構成部のうち、例えば、ディスクドライブ５０４、ディスク５０５などを有さないことにしてもよい。
【００４２】
＜規則の種類＞
ここで、詳細な説明の前に、認証用の規則の種類について簡単に説明する。利用者とシステムとが共有できる規則が複雑な規則であると、利用者が記憶や取り扱うことが困難である場合がある。そのため、認証用の規則は簡単であることが好ましい。規則の種類は、例えば、（１）引き算方式、（２）間引き方式、（３）入れ替え方式、（４）組み合わせ方式、（５）正規表現方式、（６）位置情報方式などが挙げられる。ここで以下規則の詳細例に記載の認証キーとは認証の実行時に受理される認証キーの例である。
【００４３】
（１）引き算方式
引き算方式は、パスワードが含まれるアナグラム文字列からパスワードの文字を除いた文字列を認証キーとする方式である。例えば、以下を例に挙げる。
パスワードの文字：「Ｆｕｊｉｔｓｕ」
システムが生成したアナグラム文字列：「１ａｊｔｉｕｓｘＦｘ２ｓｔａｂ」
認証キー：アナグラム文字列「１ａｊｔｉｕｓｘＦｘ２ｓｔａｂ」−パスワードの文字列「Ｆｕｊｉｔｓｕ」＝「１ａｘｘ２ａｂ」が認証キーとなる。
【００４４】
（２）間引き方式
間引き方式は、パスワードの文字列を含むアナグラム文字列から特定の位置の文字を抜く方式である。特定の位置は被認証対象によって付加情報として指定される。
パスワードの文字：「Ｆｕｊｉｔｓｕ」
付加情報：間引き位置「１５２２」
システムが生成したアナグラム文字列：「１ａｊｔｉｕｓｘＦｘ２ｓｔａｂ」
認証キー：「１ａｊｔｉｕｓｘＦｘ２ｓｔａｂ」と「１５２２」から「１ｉａａ」が認証キーとなる。
【００４５】
（３）入れ替え方式
入れ替え方式は、パスワードの文字を含むアナグラム文字列の特定の位置の文字を入れ替えた文字列を認証キーとする方式である。特定の位置は被認証対象によって付加情報として指定される。例えば、以下を例に挙げる。
パスワードの文字：「Ｆｕｊｉｔｓｕ」
登録された付加情報：入れ替え位置「１→２，３→４」
システムが生成したアナグラム文字列：「１ａｊｔｉｕｓｘＦｘ２ｓｔａｂ」
認証キー：アナグラム文字列「１ａｊｔｉｕｓｘＦｘ２ｓｔａｂ」と「１→２，３→４」によって「ａ１ｔｊｉｕｓｘＦｘ２ｓｔａｂ」が認証キーとなる。
【００４６】
（４）（２）間引き方式と（３）入れ替え方式の組み合わせ方式
組み合わせ方式では、パスワードの文字を含むアナグラム文字列の特定の位置の文字を入れ替えて、入れ替えた文字列から特定の位置の文字を抜いた文字列を認証キーとする方式である。特定の位置は被認証対象によって付加情報として指定される。例えば、以下を例に挙げる。
パスワードの文字：「Ｆｕｊｉｔｓｕ」
付加情報：入れ替え位置「１→２，３→４」、間引き位置「１２３４」
システムが生成したアナグラム文字列：「１ａｊｔｉｕｓｘＦｘ２ｓｔａｂ」
認証キー：アナグラム文字列「１ａｊｔｉｕｓｘＦｘ２ｓｔａｂ」と入れ替え位置「１→２，３→４」とによって入れ替え文字列「ａ１ｔｊｉｕｓｘＦｘ２ｓｔａｂ」となる。入れ替え文字列から「ａ１ｔｊｉｕｓｘＦｘ２ｓｔａｂ」と間引き位置「１２３４」とによって「ａ１ｔｊ」が認証キーとなる。
【００４７】
（５）正規表現方式
正規表現方式では、利用者が認証時に、正規表現に準拠した値を認証キーとして入力する方式である。以下を例に挙げる。なお、以下の付加情報は、１〜３番目は数字以外の文字列を入力し、４〜５番目は数字を入力し、６番目以降は“ａ”を含む任意の文字列を入力する認証キーとして入力することを示す。
正規表現の付加情報：「［＾０−９］｛３｝［０−９］｛２｝￥ｗ＊［ａ］￥ｗ＊」
認証キー：例えば、「ｆｊｔ１２ｓａｍｐｌｅ」が認証キーとなる。
【００４８】
（６）位置情報方式
位置情報を用いる方式では、例えば、利用者が認証前に本人のみが知り得る過去や未来の位置情報を入力して、実際にその位置情報となった場合に認証が受理されるなどの方式である。このような場合、例えば、位置情報が規則となり、実際にその位置情報が認証キーとなる。位置情報は、例えば、端末装置１０１などが有するＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）などによって得られる緯度や経度であってもよいし、ビルのゲートや駅の改札などの通過の有無などであってもよく、特に限定しない。例えば未来の位置情報を利用する際は、利用者が居る場所から右と左のそれぞれにゲートがあり、利用者は５分以内に右のゲートを通過するという情報を認証装置１００に登録しておく。そして、実際に５分以内に右のゲートを通過した場合に認証キーとして右のゲートを通過したという情報が入力され、認証装置１００が認証キーを受理したと判断する。例えば、入力後に５分以内に右のゲートを通過しない場合には、認証装置１００が認証キーを棄却したと判断する（ゲートをアンチパスバックとする場合は、不正アクセスへの抑止力が高まる）。
【００４９】
上述したように、（１）〜（４）のような規則の場合には、中間コードとしてアナグラム文字列、基準コードとして認証コードが生成される。また、（５）と（６）のような規則の場合には、中間コードと基準コードとは生成されない。ここで、（５）と（６）のような規則のように利用者に中間コードなどの選択要素を提示しない場合を実施例１に示す。（１）〜（４）のような規則のように、利用者に中間コードなどの選択要素を提示する場合を実施例２に示す。
【００５０】
（実施例１）
実施例１では、被認証対象である利用者やアプリから認証時に認証受理されるコードが得られる規則の登録を受け付けておき、認証時に入力された認証コードが登録された該規則に準拠するかに応じて認証を実行する。これにより、認証の信頼性を高めることができる。
【００５１】
（実施例１に係る認証装置１００の機能的構成例）
図６は、実施例１に係る認証装置の機能的構成例を示すブロック図である。認証装置１００は、記憶部１１１と、登録受付部６０１と、第１認証受付部６０２と、第２認証受付部６０３と、認証部６０４と、通知部６０５と、を有する。登録受付部６０１から通知部６０５までの制御部の処理は、例えば、図４に示すＣＰＵ４０１がアクセス可能なＲＯＭ４０２、ＲＡＭ４０３、ディスク４０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ４０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。
【００５２】
登録受付部６０１は、コードの登録を受け付ける。コードは、例えば、上述したように被認証対象を識別可能なＩＤである。そして、登録受付部６０１は、規則の登録を受け付ける。また、登録受付部６０１は、ＩＤに対応付けて規則の登録を受け付ける。規則によれば、被認証対象が認証時に認証が受理されると判定されるコードを得ることが可能であるため、規則はアルゴリズムとも称する。
【００５３】
図７は、利用者に選択要素を提示しない場合の画面例を示す説明図である。図７（１）には、利用者の登録例について示し、図７（２）には、利用者の認証例について示す。
【００５４】
図７（１）の画面７０１は、ＩＤの入力欄と、アルゴリズムの入力欄と、付加情報の入力欄と、登録ボタンと、を有する。利用者が、登録ボタンを押下すると、各入力欄に入力された内容が認証装置１００に送信される。
【００５５】
登録受付部６０１は、例えば、ＩＤと、ＩＤに対応付けてアルゴリズムおよび付加情報と、の登録を受け付ける。そして、登録受付部６０１は、例えば、受け付けたＩＤとアルゴリズムと付加情報とを関連付けて記憶する。登録受付部６０１は、例えば、図８に示すデータベースに記憶する。
【００５６】
図８は、実施例１に係るデータベースへの登録例を示す説明図である。データベース８００は、利用者の登録用の情報である。データベース８００は、ＩＤ、パスワード、アルゴリズム、付加情報のフィールドを有する。各フィールドに情報が設定されることにより、レコード（例えば、８０１−１など）として記憶される。データベース８００は、例えば、ＲＡＭ４０３、ディスク４０５などの記憶装置に記憶される。ただし、実施例１では、パスワードは登録されないため、パスワードのフィールドには情報が設定されない。
【００５７】
ＩＤのフィールドには、利用者や利用者が有する端末装置１０１などの識別情報が設定される。アルゴリズムのフィールドには、例えば、アルゴリズムの種類を示す情報が設定される。付加情報のフィールドには、アルゴリズムによって認証する際に付加となる情報が設定される。
【００５８】
図６に示す第１認証受付部６０２および第２認証受付部６０３は、入力コードを受け付ける。ここでは、入力コードは、例えば、第１入力コードと第２入力コードとを有する。第１入力コードは、被認証対象を識別可能なＩＤである。第２入力コードは、認証キーである。まず、第１認証受付部６０２は、第１入力コードとしてＩＤを受け付ける。
【００５９】
図７（２）の画面７１１は、ＩＤの入力欄と、送信ボタンと、を有する。利用者は、登録したＩＤを入力して送信ボタンを押下する。これにより、ＩＤが認証装置１００に送信される。第１認証受付部６０２は、ＩＤの入力を受け付ける。そして、第１認証受付部６０２は、入力を受け付けたＩＤがデータベース８００に登録されているか否かを判別する。
【００６０】
つぎに、第２認証受付部６０３は、第２入力コードとして認証キーを受け付ける。具体的に、第２認証受付部６０３は、例えば、入力を受け付けたＩＤがデータベース８００に登録されている場合、利用者からのパスワードを受け付ける。そのため、図７（２）の画面７１２は、画面７１１の内容にさらに、パスワードの入力欄と、ログインボタンと、を有する。ここでは、パスワードの入力欄に認証キーが入力される。
【００６１】
利用者は、登録した規則に応じてパスワードを入力してログインボタンを押下する。これにより、パスワードが認証装置１００に送信される。利用者が登録したアルゴリズムは、正規表現である。付加情報は、例えば、「［＾０−９］｛３｝［０−９］｛２｝￥ｗ＊［ａ］￥ｗ＊」である。この付加情報例は、１〜３番目は数字以外の文字列を入力し、４〜５番目は数字を入力し、６番目以降は“ａ”を含む任意の文字列を認証キーとすることを示す。図７（２）の画面７１３は、パスワード入力欄に認証キーとして「ｆｊｔ０１ｓａｍｐｌｅ」が入力された例である。そして、利用者は、認証キーを入力後にログインボタンを押下する。
【００６２】
そして、第２認証受付部６０３は、パスワードを受け付ける。認証部６０４は、第２認証受付部６０３が受け付けたパスワードが、ＩＤに関連付けられたアルゴリズムに準拠するコードであるか否かを判断する。
【００６３】
通知部６０５は、準拠するコードであると判断した場合に、認証できたことを示す情報を出力する。通知部６０５は、例えば、ログイン後の画面を端末装置１０１に表示させる。端末装置１０１は、認証できたことを示す情報を表示する。認証できたことを示す情報は、例えば、Ｗｅｂシステムを使用可能な状態を表示させてもよい。
【００６４】
通知部６０５は、準拠するコードでないと判断した場合に、認証できなかったことを示す情報を利用者の端末装置１０１に通知する。通知部６０５は、例えば、端末装置１０１に、再度、図７（２）の画面７１２を表示させてもよい。また、端末装置１０１は、認証部６０４によって認証できなかったことを示す情報を出力する。
【００６５】
（実施例１に係る認証装置１００が行う処理手順例）
図９は、実施例１に係る認証装置による登録処理手順例を示すフローチャートである。認証装置１００は、ユーザ情報およびアルゴリズムの登録を受け付ける（ステップＳ９０１）。つぎに、認証装置１００は、データベース８００に、ユーザ情報を登録する（ステップＳ９０２）。ここでのユーザ情報は、例えば、ＩＤを含む情報である。そして、認証装置１００は、データベース８００に、ユーザ情報に関連付けてアルゴリズムを登録し（ステップＳ９０３）、一連の処理を終了する。また、アルゴリズムには、付加情報が含まれていてもよい。
【００６６】
図１０は、実施例１に係る認証装置による認証処理手順例を示すフローチャートである。認証装置１００は、ＩＤの入力を受け付ける（ステップＳ１００１）。認証装置１００は、データベース８００から、受け付けたＩＤを含むユーザ情報を取得する（ステップＳ１００２）。認証装置１００は、ユーザ情報がデータベース８００に存在するか否かを判断する（ステップＳ１００３）。
【００６７】
ステップＳ１００３において、ユーザ情報が存在しないと判断された場合（ステップＳ１００３：Ｎｏ）、認証装置１００は、ステップＳ１００７へ移行する。ユーザ情報が存在すると判断された場合（ステップＳ１００３：Ｙｅｓ）、認証装置１００は、認証キーの入力を受け付ける（ステップＳ１００４）。つぎに、認証装置１００は、利用者が入力した認証キーが、ユーザ情報に関連付けられたアルゴリズムに準拠しているか否かを判断する（ステップＳ１００５）。
【００６８】
入力した認証キーがアルゴリズムに準拠していると判断された場合（ステップＳ１００５：Ｙｅｓ）、認証装置１００は、認証成功を通知して表示させ（ステップＳ１００６）、一連の処理を終了する。入力した認証キーがアルゴリズムに準拠していないと判断された場合（ステップＳ１００５：Ｎｏ）、認証装置１００は、認証失敗を通知して表示させ（ステップＳ１００７）、一連の処理を終了する。
【００６９】
以上実施例１で説明したように、認証装置１００は、被認証対象である利用者やアプリから認証時に認証受理されるコードが得られる規則の登録を受け付けておき、認証時に入力された認証キーが登録された該規則に準拠するかに応じて認証を実行する。従来のパスワードのように直接比較するのでなく、認証キーが規則に準拠するか否かのように認証を実行するため、認証の信頼性を高めることができる。
【００７０】
また、認証装置１００は、被認証対象を示すＩＤの登録に対応付けて規則の登録を受け付ける。これにより、被認証対象ごとに規則が異なる可能性が高くなるため、悪意のある第三者がスピアフィッシングを行い難くすることができる。
【００７１】
（実施例２）
実施例２では、規則に基づきコードを生成可能なコードの登録をしておき、コードと規則とに基づき基準コードを生成して基準コードと入力コードとの比較に基づき認証を実行する。これにより、認証の信頼性を高めることができる。
【００７２】
（実施例２に係る認証装置１００の機能的構成例）
図１１は、実施例２に係る認証装置の機能的構成例を示すブロック図である。認証装置１００は、記憶部１１１と、登録受付部１１０１と、第１認証受付部１１０２と、第１生成部１１０３と、送信部１１０４と、第２認証受付部１１０５と、第２生成部１１０６と、認証部１１０７と、通知部１１０８と、を有する。登録受付部１１０１から通知部１１０８までの制御部の処理は、例えば、図４に示すＣＰＵ４０１がアクセス可能なＲＯＭ４０２、ＲＡＭ４０３、ディスク４０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ４０１が記憶装置から該プログラムを読み出して、該プログラムにコーディングされている処理を実行する。
【００７３】
図１１に示す登録受付部１１０１は、コードの登録を受け付ける。また、登録受付部１１０１は、登録を受け付けたコードに対応付けて規則の登録を受け付ける。ここでの規則は、例えば、上述した引き算方式、間引き方式、入れ替え方式、組み合わせ方式などのアルゴリズムが挙げられる。コードは、例えば、被認証対象を識別可能なＩＤと、規則を元に他のコードを生成可能なコードと、を含む。実施例２では、他のコードを生成可能なコードはパスワードとも称する。
【００７４】
図１２は、実施例２に係る認証装置による一動作例を示す説明図である。具体的に、図１２（ａ）に示すように、利用者は、認証装置１００に対して、ＩＤ、パスワード、アルゴリズムおよび付加情報を登録する。図１１に示す登録受付部１１０１は、ＩＤ、パスワード、アルゴリズムおよび付加情報の登録を受け付ける。
【００７５】
登録受付部１１０１は、ＩＤ、パスワード、アルゴリズムおよび付加情報の登録を受け付けてデータベースに記憶する。
【００７６】
図１３は、実施例２に係るデータベースへの登録例を示す説明図である。データベース１３００は、利用者の登録用の情報である。データベース１３００は、ＩＤ、パスワード、アルゴリズム、付加情報のフィールドを有する。各フィールドに情報が設定されることにより、レコード（例えば、レコード１３０１−１，１３０１−２など）として記憶される。データベース１３００は、例えば、ＲＡＭ４０３、ディスク４０５などの記憶装置に記憶される。
【００７７】
ＩＤのフィールドには、利用者や利用者が有する端末装置１０１などの識別情報が設定される。パスワードのフィールドには、利用者や利用者が有する端末装置１０１などについてのパスワードが設定される。アルゴリズムのフィールドには、例えば、アルゴリズムの種類を示す情報が設定される。付加情報のフィールドには、アルゴリズムによって認証する際に付加となる情報が設定される。
【００７８】
レコード１３０１−１を例に挙げると、ＩＤのフィールドには「ｔａｒｏ」が設定され、パスワードのフィールドには「ｂｅｃｋｙ」が設定されてある。アルゴリズムのフィールドには「間引き方式」が設定され、付加情報のフィールドには「２５８」が設定されてある。
【００７９】
図１１に示す第１認証受付部１１０２は、コードの入力を受け付ける。具体的に、図１２（ｂ）に示すように、第１認証受付部１１０２は、例えば、ＩＤの入力を受け付ける。
【００８０】
第１生成部１１０３は、登録を受け付けたコードに基づき、中間コードを生成する。中間コードは、例えば、アナグラム文字列とも称する。図１２（ｃ）に示すように、第１生成部１１０３は、例えば、ＩＤに関連付けられたパスワードに基づいてアナグラム文字列を生成する。送信部１１０４は、中間コードをＩＤの入力を受け付けた端末装置１０１に送信する。図１２（ｄ）に示すように、具体的には、送信部１１０４は、アナグラム文字列を入力コードの入力を受け付けた端末装置１０１に送信する。これにより、利用者が判別可能なアナグラム文字列が表示されるため、利用者は、認証キーを入力する前に、例えばウェブサイトが本物であることを確認することができる。
【００８１】
第２生成部１１０６は、図１２（ｅ）に示すように、アナグラム文字列と、ＩＤに関連付けられたアルゴリズムと、に基づいて、基準コードを生成する。基準コードは、入力される認証キーと比較するためのコードである。
【００８２】
つぎに、図１２（ｆ）に示すように、端末装置１０１が、認証キーを認証装置１００に送信する。そして、第２認証受付部１１０５は、認証キーの入力を受け付ける。
【００８３】
認証部１１０７は、受け付けた認証キーが規則に準拠するか否かを判断する。具体的に、認証部１１０７は、例えば、図１２（ｇ）に示すように、受け付けた認証キーと、生成された認証キーと、が一致するか否かを判断することによって認証を実行する。通知部１１０８は、例えば、図１２（ｈ）に示すように、一致すると判断された場合に、認証キーが受理されたことを示す情報を出力する。通知部１１０８は、例えば、ログイン後の画面を端末装置１０１に表示させる。端末装置１０１は、認証キーが受理されたことを示す情報を表示する。
【００８４】
通知部１１０８は、例えば、図１２（ｈ）に示すように、一致しないと判断された場合に、認証キーが棄却されたことを示す情報を利用者の端末装置１０１に通知する。また、端末装置１０１は、例えば、認証キーが棄却されたことを示す情報を表示する。
【００８５】
つぎに、具体的な画面例を用いて説明する。
【００８６】
図１４は、利用者に選択要素を提示する場合の画面例を示す説明図である。図１４（１）には、利用者の登録例について示し、図１４（２）には、利用者の認証例について示す。
【００８７】
図１４（１）に示すように、アルゴリズムを選択可能な場合、利用者の登録用の画面１４０１は、ＩＤの入力欄と、パスワードの入力欄と、アルゴリズムの選択欄と、付加情報の入力欄と、登録ボタンと、を有する。画面１４０１では、ＩＤの入力欄には「ｔａｒｏ」が入力され、パスワードの入力欄には「ｂｅｃｋｙ」が入力されてある。画面１４０１では、アルゴリズムの選択欄には「間引き方式」が選択され、付加情報の入力欄には「２５８」が入力されてある。利用者が、登録ボタンを押下すると、各入力欄に入力された内容が認証装置１００に送信される。
【００８８】
また、図１４（１）に示すように、アルゴリズムを示す識別情報を利用者が認知している場合、利用者の登録用の画面１４０２は、ＩＤの入力欄、パスワードの入力欄、アルゴリズムの入力欄を有する。画面１４０２では、ＩＤの入力欄には「ｔａｒｏ」が入力され、パスワードの入力欄には「ｂｅｃｋｙ」が入力されてある。画面１４０２では、アルゴリズムの入力欄には「ｅｘｃ（２５８）」が入力されてある。
【００８９】
図１４（２）に示すように、認証用の画面１４１１は、ＩＤの入力欄と、送信ボタンと、を有する。利用者は、ＩＤの入力欄に登録したＩＤを入力して送信ボタンを押下する。
【００９０】
第１認証受付部１１０２は、ＩＤの入力を受け付けると、データベース１３００にＩＤが登録されてあるか否かを確認する。第１生成部１１０３は、ＩＤが登録されてある場合に、ＩＤに関連付けられて記憶されたパスワードに基づいてアナグラム文字列を生成する。そして、第２生成部１１０６は、アナグラム文字列と、ＩＤに関連付けられて記憶されたアルゴリズムと、に基づいて、基準コードである認証キーを生成する。送信部１１０４は、生成されたアナグラム文字列をＩＤの入力元である端末装置１０１に送信する。
【００９１】
図１４（２）に示すように、認証用の画面１４１２は、ＩＤの入力欄と、送信ボタンと、送信されたアナグラム文字列と、認証キーの入力欄と、ログインボタンと、を有する。ここでは、アルゴリズムが間引き方式であり、付加情報が「２５８」であるため、例えば、利用者は、表示されたアナグラム文字列から、左から２，５，８番目の文字を抽出する。より具体的に、利用者は、アナグラム文字列「ｖｚｏｄｃｑｂｅｋｙｖｉ」から「ｚｃｅ」を抽出する。そして、図１４（２）に示すように、画面１４１３のように、利用者は、抽出した「ｚｃｅ」を認証キーの入力欄に入力してログインボタンを押下する。
【００９２】
そして、第２認証受付部１１０５は、認証キーを受け付ける。つぎに、認証部１１０７は、受け付けた認証キーと、生成された認証キーと、が一致しているか否かを判断することにより受け付けたＩＤについての認証を実行する。受け付けた認証キーと、生成された認証キーと、が一致していると判断された場合に、通知部１１０８は、認証が成功したことをＩＤの入力元の端末装置１０１に通知して表示させる。受け付けた認証キーと、生成された認証キーと、が一致していないと判断された場合に、通知部１１０８は、認証が失敗したことをＩＤの入力元の端末装置１０１に通知して表示させる。
【００９３】
（実施例２に係る認証装置１００が行う処理手順例）
図１５は、実施例２に係る認証装置による登録処理手順例を示すフローチャートである。認証装置１００は、ユーザ情報およびアルゴリズムの登録を受け付ける（ステップＳ１５０１）。ここでのユーザ情報は、例えば、ＩＤと、パスワードと、を含む。ここでのアルゴリズムは、例えば、付加情報を含んでいてもよい。つぎに、認証装置１００は、ユーザ情報の登録を行う（ステップＳ１５０２）。認証装置１００は、ユーザ情報に関連付けてアルゴリズムを登録し（ステップＳ１５０３）、一連の処理を終了する。
【００９４】
図１６は、実施例２に係る認証装置による認証処理手順例を示すフローチャートである。認証装置１００は、ＩＤの入力を受け付ける（ステップＳ１６０１）。つぎに、認証装置１００は、データベース１３００から受け付けたＩＤを含むユーザ情報を取得する（ステップＳ１６０２）。そして、認証装置１００は、ユーザ情報が存在するか否かを判断する（ステップＳ１６０３）。
【００９５】
ユーザ情報が存在しないと判断された場合（ステップＳ１６０３：Ｎｏ）、認証装置１００は、ステップＳ１６１０へ移行する。ユーザ情報が存在すると判断された場合（ステップＳ１６０３：Ｙｅｓ）、認証装置１００は、アナグラム文字列を生成し（ステップＳ１６０４）、ステップＳ１６０５とステップＳ１６０７へ移行する。ここでの二重線は並列であることを示す。
【００９６】
ステップＳ１６０５において、認証装置１００は、アナグラム文字列をＩＤの入力元の端末装置１０１に送信して表示させる（ステップＳ１６０５）。認証装置１００は、認証キーの入力を受け付け（ステップＳ１６０６）、ステップＳ１６０８へ移行する。ステップＳ１６０７において、認証装置１００は、認証キーを生成し（ステップＳ１６０７）、ステップＳ１６０８へ移行する。ステップＳ１６０６とステップＳ１６０７のつぎに、認証装置１００は、入力を受け付けた認証キーと生成した認証キーとが一致するか否かを判断する（ステップＳ１６０８）。
【００９７】
受け付けた認証キーと生成した認証キーとが一致すると判断された場合（ステップＳ１６０８：Ｙｅｓ）、認証装置１００は、認証成功を通知して表示させ（ステップＳ１６０９）、一連の処理を終了する。受け付けた認証キーと生成した認証キーとが一致しないと判断された場合（ステップＳ１６０８：Ｎｏ）、認証装置１００は、認証失敗を通知して表示させ（ステップＳ１６１０）、一連の処理を終了する。
【００９８】
また、本実施の形態では、利用者が認証装置１００に対して規則を登録しているが、これに限らず、上述したように利用者の端末装置１０１が実行する組み込みアプリケーションが認証装置１００に対して規則を登録してもよい。
【００９９】
具体的に、組み込みアプリケーションが、例えば、認証装置１００に対して規則として認証関数を登録してもよい。組み込みアプリケーションを開発するための言語としては、例えば、「．ＮＥＴ」や「ＪＡＶＡ（登録商標）」が挙げられる。
【０１００】
「．ＮＥＴ」では、組み込みアプリケーション内から外部ファイルとして提供されるソースコードの動的なコンパイルおよび実行を行うことができる。そのため、組み込みアプリケーションが、認証装置１００に対して認証関数自体を登録しておき、動的なコンパイルおよび実行を行うことができる。また、「ＪＡＶＡ」では、「．ＮＥＴ」と同様に、ＪＡＶＡコードを動的にコンパイルおよび実行することができる。そのため、組み込みアプリケーションが、認証装置１００に対して認証関数自体を登録しておき、動的なコンパイルおよび実行を行うことができる。
【０１０１】
以上実施例２を用いて説明したように、認証装置１００は、規則に基づきコードを生成可能なコードの登録をしておき、コードと規則とに基づき基準コードを生成して基準コードと入力コードとの比較に基づき認証を実行する。このように、生成された基準コードと入力コードとを比較することにより、パスワードのように入力内容と記憶しておいた内容とを直接比較するよりも、第三者の解析を困難にすることができる。したがって、認証の信頼性を高めることができる。
【０１０２】
また、認証装置１００は、登録を受け付けたコードに対応付けて規則の登録を受け付ける。これにより、被認証対象ごとに規則が異なる可能性が高くなるため、悪意のある第三者がスピアフィッシングを行い難くすることができる。
【０１０３】
また、認証装置１００は、登録を受け付けたコードに基づき中間コードを生成し、生成した中間コードをＩＤの入力元の端末装置１０１に送信して認証キーを受け付ける。これにより、被認証対象であるウェブサイトなどの利用者が認証キーを入力する際に、ウェブサイトなどの認証対象が本物であることを確認することができる。例えば、登録を受け付けたコードが中間コードに含まれていない場合や中間コードが表示されない場合などは、被認証対象は認証対象が偽物であると判別できる。
【０１０４】
また、引き算方式、入れ替え方式、間引き方式、入れ替えおよび間引きの組み合わせ方式などは、例えば複雑なパスワードを記憶するよりも利用者が簡単に取り扱うことができる。
【０１０５】
なお、本実施の形態で説明した認証方法は、予め用意された認証プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本認証プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、認証プログラムは、インターネット等のネットワーク３００を介して配布してもよい。
【０１０６】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１０７】
（付記１）コンピュータが、
被認証対象の認証において受理されるコードが得られる規則の登録を受け付け、
入力コードが、登録を受け付けた前記規則に準拠しているか否かに応じて認証を実行する、
処理を実行することを特徴とする認証方法。
【０１０８】
（付記２）前記コンピュータが、
前記被認証対象を識別可能なコードの登録を受け付ける、
処理を実行し、
前記規則の登録を受け付ける処理では、
前記識別可能なコードの登録に対応付けて前記規則の登録を受け付ける、
ことを特徴とする付記１に記載の認証方法。
【０１０９】
（付記３）前記コンピュータが、
登録を受け付けた前記規則を基に前記受理されるコードを生成可能なコードの登録を受け付け、
登録を受け付けた前記規則と、登録を受け付けた前記コードと、に基づき、基準コードを生成する、
処理を実行し、
前記認証を実行する処理では、
前記入力コードと、生成した前記基準コードと、の比較に基づき認証を実行する、
ことを特徴とする付記１に記載の認証方法。
【０１１０】
（付記４）登録を受け付けた前記コードは、前記被認証対象を識別可能なコードを含み、
前記規則の登録を受け付ける処理では、
登録を受け付けた前記コードの登録に対応付けて前記規則の登録を受け付ける、
ことを特徴とする付記３に記載の認証方法。
【０１１１】
（付記５）登録を受け付けた前記コードは、前記被認証対象を識別可能なコードを含み、
前記コンピュータが、
前記入力コード（以下、「第２入力コード」と称する）と異なる第１入力コードであって、前記被認証対象を識別可能な第１入力コードの入力を受け付け、
前記第１入力コードを含む前記コードであって、登録を受け付けた前記コードに基づき中間コードを生成し、
生成した前記中間コードを、前記第１入力コードを入力した端末装置に送信し、
前記中間コードの送信後に前記第２入力コードの入力を受け付ける、
処理を実行し、
前記基準コードを生成する処理では、
登録を受け付けた前記コードと前記規則とに基づき前記基準コードを生成せずに、生成した前記中間コードと、前記規則とに基づき、前記基準コードを生成し、
前記認証を実行する処理では、
前記第２入力コードと、生成した前記基準コードと、の比較に基づき認証を実行する、
ことを特徴とする付記３または４に記載の認証方法。
【０１１２】
（付記６）入力コードと基準コードとの比較に基づき、認証を実行する認証方法において、
コードの登録を受け付け、
登録を受け付けたコードを基に他のコードを生成する規則の登録を受け付け、
登録を受け付けた前記規則に基づき、登録を受け付けた前記コードに対応する他のコードを生成し、
生成された前記他のコードを前記基準コードに設定する、
処理をコンピュータが実行することを特徴とする認証方法。
【０１１３】
（付記７）コンピュータに、
被認証対象の認証において受理されるコードが得られる規則の登録を受け付け、
入力コードが、登録を受け付けた前記規則に準拠しているか否かに応じて認証を実行する、
処理を実行させることを特徴とする認証プログラム。
【０１１４】
（付記８）被認証対象の認証において受理されるコードが得られる規則の登録を受け付け、
入力コードが、登録を受け付けた前記規則に準拠しているか否かに応じて認証を実行する、
制御部を有することを特徴とする認証装置。
【符号の説明】
【０１１５】
１００  認証装置
１０１  端末装置
１１１  記憶部
６０１，１１０１  登録受付部
６０２，１１０２  第１認証受付部
６０３，１１０５  第２認証受付部
６０４，１１０７  認証部
６０５，１１０８  通知部
８００，１３００  データベース
１１０３  第１生成部
１１０４  送信部
１１０６  第２生成部
【図１】
0006464870.tif 000002
【図２】
0006464870.tif 000003
【図３】
0006464870.tif 000004
【図４】
0006464870.tif 000005
【図５】
0006464870.tif 000006
【図６】
0006464870.tif 000007
【図７】
0006464870.tif 000008
【図８】
0006464870.tif 000009
【図９】
0006464870.tif 000010
【図１０】
0006464870.tif 000011
【図１１】
0006464870.tif 000012
【図１２】
0006464870.tif 000013
【図１３】
0006464870.tif 000014
【図１４】
0006464870.tif 000015
【図１５】
0006464870.tif 000016
【図１６】
0006464870.tif 000017