(57)【要約】【課題】スレイブ機器とマスター機器との通信の秘匿性を高めることが可能な認証システムを提供する。【解決手段】この認証システム１００は、電子機器１をネットワーク３を介して接続されたサーバ２に認証させるための認証システム１００であって、電子機器１は、サーバ２へのリクエスト時に、ユーザにより入力されたパスワード図形に基づいて、電子機器１に固有に割り当てられたトークンを変形して機器側トークンを生成するとともに、機器側トークンをサーバ２に送信するように構成されたＣＰＵ１２を含み、サーバ２は、電子機器１からのリクエスト時に、電子機器１から受信した機器側トークンが正しいか否かを判断することによって、電子機器１を認証するか否かを判断するように構成されたＣＰＵ２０を含む。【選択図】図１３
2014170428.tif 000002
【特許請求の範囲】
【請求項１】
スレイブ機器をネットワークを介して接続されたマスター機器に認証させるための認証システムであって、
前記スレイブ機器は、前記マスター機器へのリクエスト時に、ユーザにより入力されたパスワード図形に基づいて、前記スレイブ機器に固有に割り当てられたトークンを変形して変形トークンを生成するとともに、前記変形トークンを前記マスター機器に送信するように構成されたスレイブ側制御部を含み、
前記マスター機器は、前記スレイブ機器からのリクエスト時に、前記スレイブ機器から受信した前記変形トークンが正しいか否かを判断することによって、前記スレイブ機器を認証するか否かを判断するように構成されたマスター側制御部を含む、認証システム。
【請求項２】
前記スレイブ側制御部は、前記マスター機器へのリクエストを行う毎に、前記ユーザにより入力された前記パスワード図形に基づいて、前記トークンを前回のリクエスト時とは異なる前記変形トークンに変形させるように構成されている、請求項１に記載の認証システム。
【請求項３】
前記スレイブ側制御部は、前記パスワード図形からベクトルデータを含む図形特徴点情報を取得するとともに、前記図形特徴点情報に基づいて、前記トークンを前記変形トークンに変形させるように構成されている、請求項１または２に記載の認証システム。
【請求項４】
前記スレイブ側制御部は、前記図形特徴点情報のベクトルデータから三角関数を演算するとともに、演算した前記三角関数を前記トークンに乗算することによって、前記トークンを前記変形トークンに変形させるように構成されている、請求項３に記載の認証システム。
【請求項５】
前記スレイブ側制御部は、前記図形特徴点情報のベクトルデータからベクトルの所定の軸に対する正弦および余弦を演算するとともに、演算した前記正弦の絶対値および前記余弦の絶対値のうちの大きい方を前記トークンに乗算することによって、前記トークンを前記変形トークンに変形させるように構成されている、請求項４に記載の認証システム。
【請求項６】
ログイン時に、前記スレイブ機器の前記スレイブ側制御部は、前記パスワード図形から図形特徴点情報を取得して前記マスター機器に送信するとともに、前記マスター機器の前記マスター側制御部は、前記スレイブ機器から受信した前記図形特徴点情報が正しいと判断した場合に、前記トークンを前記スレイブ機器に送信するように構成されており、
ログイン後の前記マスター機器へのリクエスト時に、前記スレイブ機器の前記スレイブ側制御部は、ログイン時の前記パスワード図形に基づいて、前記マスター機器から受信した前記トークンを変形して前記変形トークンを生成して、前記変形トークンを前記マスター機器に送信するように構成されており、
ログイン後の前記スレイブ機器からのリクエスト時に、前記マスター機器の前記マスター側制御部は、前記スレイブ機器から受信した前記変形トークンが正しいか否かを判断するように構成されている、請求項１〜５のいずれか１項に記載の認証システム。
【請求項７】
前記マスター側制御部は、ログイン時に、前記スレイブ機器から受信した前記パスワード図形に基づく前記図形特徴点情報が所定の許容範囲内に含まれる場合に、前記図形特徴点情報が正しいと判断するように構成されている、請求項６に記載の認証システム。
【請求項８】
前記スレイブ側制御部は、ログイン前の事前設定時に、前記ユーザにより入力された設定時パスワード図形に基づいて前記所定の許容範囲を演算するとともに、前記所定の許容範囲を前記マスター機器に送信するように構成されており、
前記マスター側制御部は、ログイン時に、前記スレイブ機器から受信した前記パスワード図形に基づく前記図形特徴点情報が、事前設定時に受信した前記所定の許容範囲内に含まれる場合に、前記図形特徴点情報が正しいと判断するように構成されている、請求項７に記載の認証システム。
【請求項９】
スレイブ機器をネットワークを介して接続されたマスター機器に認証させるための認証方法であって、
前記スレイブ機器において、前記マスター機器へのリクエスト時に、ユーザにより入力されたパスワード図形に基づいて、前記スレイブ機器に固有に割り当てられたトークンを変形して変形トークンを生成するとともに、前記変形トークンを前記マスター機器に送信するステップと、
前記マスター機器において、前記スレイブ機器からのリクエスト時に、前記スレイブ機器から受信した前記変形トークンが正しいか否かを判断することによって、前記スレイブ機器を認証するか否かを判断するステップとを備える、認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、認証システムおよび認証方法に関し、特に、スレイブ機器をネットワークを介して接続されたマスター機器に認証させるための認証システムおよび認証方法に関する。
【背景技術】
【０００２】
従来、機密保護などのために利用者認証を行う認証システムが一般的に知られている。このような認証システムでは、ログイン時に、ユーザのログイン名とパスワードとがスレイブ機器からマスター機器に送信されて、マスター機器に記憶されたログイン名に対応するパスワードと、スレイブ機器から送信されたパスワードとが一致する場合に、スレイブ機器がマスター機器に認証される。そして、認証されたスレイブ機器に固有に割り当てられたトークンがマスター機器からスレイブ機器に送信される。これにより、スレイブ機器からマスター機器へのリクエスト毎に、スレイブ機器固有のトークンがスレイブ機器のリクエストに付されることによって、マスター機器はスレイブ機器からのリクエストであることを認識することができ、その結果、マスター機器とスレイブ機器との間で秘匿された通信が行われる。
【０００３】
また、従来では、ユーザを電子機器に認証させるための認証システムが知られている（たとえば、特許文献１参照）。
【０００４】
上記特許文献１には、一般手書きパターンから文字コード列を認識する文字コード認識手段と、手書きパターンから筆跡の特徴を認識する筆跡パターン認識手段と、認識した文字コード列と登録された文字コード列とを順次比較検索する文字コード列検索手段と、認識した筆跡パターンと登録された筆跡パターンとを照合する筆跡パターン照合手段とを備え、文字コード列の一致の有無と筆跡パターンの一致の有無とに基づいて、ユーザを認証する携帯用電子機器が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許３１３５１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、一般的な認証システムでは、トークンは、スレイブ機器がマスター機器に接続されている期間、または、所定の期間に亘って変更されないため、トークンが第三者に知られた場合には、第三者が用いる正規でない電子機器が、正規（認証済み）のスレイブ機器に成りすますことが可能になるという不都合がある。このような不都合は、上記特許文献１の携帯用電子機器をスレイブ機器として用いて、ユーザにパスワードを手書き入力させた場合であっても解消することはできない。このため、第三者が用いる電子機器に正規のスレイブ機器を用いるユーザの情報などが流出することなどにより、マスター機器とスレイブ機器との通信の秘匿性が損なわれるという問題点がある。
【０００７】
この発明は、上記のような課題を解決するためになされたものであり、この発明の１つの目的は、スレイブ機器とマスター機器との通信の秘匿性を高めることが可能な認証システムおよび認証方法を提供することである。
【課題を解決するための手段】
【０００８】
この発明の第１の局面による認証システムは、スレイブ機器をネットワークを介して接続されたマスター機器に認証させるための認証システムであって、スレイブ機器は、マスター機器へのリクエスト時に、ユーザにより入力されたパスワード図形に基づいて、スレイブ機器に固有に割り当てられたトークンを変形して変形トークンを生成するとともに、変形トークンをマスター機器に送信するように構成されたスレイブ側制御部を含み、マスター機器は、スレイブ機器からのリクエスト時に、スレイブ機器から受信した変形トークンが正しいか否かを判断することによって、スレイブ機器を認証するか否かを判断するように構成されたマスター側制御部を含む。
【０００９】
この発明の第１の局面による認証システムでは、上記のように、スレイブ機器のスレイブ側制御部が、マスター機器へのリクエスト時に、スレイブ機器に固有に割り当てられたトークンを変形して変形トークンを生成して変形トークンをマスター機器に送信し、マスター機器のマスター側制御部が、スレイブ機器からのリクエスト時に、スレイブ機器から受信した変形トークンが正しいか否かを判断することによって、スレイブ機器を認証するか否かを判断するように構成されている。これにより、トークンが第三者に知られた場合であっても、リクエスト時に変形トークンが用いられてトークン自体は用いられないので、第三者が用いる正規でない電子機器が正規のスレイブ機器に成りすますのを抑制することができる。これにより、第三者が用いる電子機器にスレイブ機器を用いるユーザの情報などが流出するのを抑制することができるので、スレイブ機器とマスター機器との通信の秘匿性を高めることができる。
【００１０】
また、第１の局面による認証システムでは、上記のように、スレイブ機器のスレイブ側制御部が、ユーザにより入力されたパスワード図形に基づいて、スレイブ機器に固有に割り当てられたトークンを変形して変形トークンを生成するように構成する。これにより、キーボードで入力されるパスワードとは異なり、ユーザにより入力されたパスワード図形は真似されにくいので、これによっても、スレイブ機器とマスター機器との通信の秘匿性を高めることができる。
【００１１】
上記第１の局面による認証システムにおいて、好ましくは、スレイブ側制御部は、マスター機器へのリクエストを行う毎に、ユーザにより入力されたパスワード図形に基づいて、トークンを前回のリクエスト時とは異なる変形トークンに変形させるように構成されている。このように構成すれば、前回のリクエスト時の変形トークンが第三者に知られた場合であっても、前回のリクエスト時の変形トークンとは異なる変形トークンを用いることにより、今回のリクエスト時において、第三者が用いる正規でない電子機器が正規のスレイブ機器に成りすますのを抑制することができる。これにより、スレイブ機器とマスター機器との通信の秘匿性をより高めることができる。
【００１２】
上記第１の局面による認証システムにおいて、好ましくは、スレイブ側制御部は、パスワード図形からベクトルデータを含む図形特徴点情報を取得するとともに、図形特徴点情報に基づいて、トークンを変形トークンに変形させるように構成されている。このように構成すれば、ベクトルデータを含む図形特徴点情報をパスワード図形から容易に取得することができるので、ユーザにより入力されたパスワード図形に基づいて、容易に、トークンを変形して変形トークンを生成することができる。
【００１３】
この場合、好ましくは、スレイブ側制御部は、図形特徴点情報のベクトルデータから三角関数を演算するとともに、演算した三角関数をトークンに乗算することによって、トークンを変形トークンに変形させるように構成されている。このように構成すれば、容易に取得可能な三角関数をトークンに乗算することによって、ユーザにより入力されたパスワード図形に基づいて、より容易に、変形トークンを生成することができる。
【００１４】
上記三角関数をトークンに乗算する構成において、好ましくは、スレイブ側制御部は、図形特徴点情報のベクトルデータからベクトルの所定の軸に対する正弦および余弦を演算するとともに、演算した正弦の絶対値および余弦の絶対値のうちの大きい方をトークンに乗算することによって、トークンを変形トークンに変形させるように構成されている。このように構成すれば、正弦の絶対値または余弦の絶対値は０以上１以下であるので、トークンに１より大きな値を乗算する場合と異なり、変形トークンが大きくなることに起因して変形トークンを送信するための情報量が大きくなるのを抑制することができる。また、演算した正弦の絶対値および余弦の絶対値のうちの大きい方をトークンに乗算することにより、トークンに０を乗算することを防止することができるので、トークンを確実に変形させて変形トークンを生成することができる。
【００１５】
上記第１の局面による認証システムにおいて、好ましくは、ログイン時に、スレイブ機器のスレイブ側制御部は、パスワード図形から図形特徴点情報を取得してマスター機器に送信するとともに、マスター機器のマスター側制御部は、スレイブ機器から受信した図形特徴点情報が正しいと判断した場合に、トークンをスレイブ機器に送信するように構成されており、ログイン後のマスター機器へのリクエスト時に、スレイブ機器のスレイブ側制御部は、ログイン時のパスワード図形に基づいて、マスター機器から受信したトークンを変形して変形トークンを生成して、変形トークンをマスター機器に送信するように構成されており、ログイン後のスレイブ機器からのリクエスト時に、マスター機器のマスター側制御部は、スレイブ機器から受信した変形トークンが正しいか否かを判断するように構成されている。このように構成すれば、ログイン時のパスワード図形に基づいて、マスター機器からのトークンの送信と変形トークンの生成とが共に行われるので、ログイン後のマスター機器へのリクエスト時に、ユーザは、パスワード図形をスレイブ機器に再度入力する必要がない。これにより、ユーザの利便性を向上させることができる。
【００１６】
この場合、好ましくは、マスター側制御部は、ログイン時に、スレイブ機器から受信したパスワード図形に基づく図形特徴点情報が所定の許容範囲内に含まれる場合に、図形特徴点情報が正しいと判断するように構成されている。このように構成すれば、ユーザはパスワード図形を過度に正確に入力する必要がないので、ユーザの利便性が低下するのを抑制することができる。
【００１７】
上記所定の許容範囲内に含まれる場合に図形特徴点情報が正しいと判断する構成において、好ましくは、スレイブ側制御部は、ログイン前の事前設定時に、ユーザにより入力された設定時パスワード図形に基づいて所定の許容範囲を演算するとともに、所定の許容範囲をマスター機器に送信するように構成されており、マスター側制御部は、ログイン時に、スレイブ機器から受信したパスワード図形に基づく図形特徴点情報が、事前設定時に受信した所定の許容範囲内に含まれる場合に、図形特徴点情報が正しいと判断するように構成されている。このように構成すれば、事前設定時にユーザが入力した設定時パスワード図形に基づいてログイン時の所定の許容範囲を定めることができるので、所定の許容範囲をユーザの癖に合わせて設定することができる。これにより、ログイン時に、第三者が用いる正規でない電子機器が正規のスレイブ機器に成りすますのを確実に抑制することができる。
【００１８】
この発明の第２の局面による認証方法は、スレイブ機器をネットワークを介して接続されたマスター機器に認証させるための認証方法であって、スレイブ機器において、マスター機器へのリクエスト時に、ユーザにより入力されたパスワード図形に基づいて、スレイブ機器に固有に割り当てられたトークンを変形して変形トークンを生成するとともに、変形トークンをマスター機器に送信するステップと、マスター機器において、スレイブ機器からのリクエスト時に、スレイブ機器から受信した変形トークンが正しいか否かを判断することによって、スレイブ機器を認証するか否かを判断するステップとを備える。
【００１９】
この発明の第２の局面による認証方法では、上記のように、スレイブ機器において、マスター機器へのリクエスト時に、スレイブ機器に固有に割り当てられたトークンを変形して変形トークンを生成して変形トークンをマスター機器に送信し、マスター機器において、スレイブ機器からのリクエスト時に、スレイブ機器から受信した変形トークンが正しいか否かを判断することによって、スレイブ機器を認証するか否かを判断する。これにより、トークンが第三者に知られた場合であっても、リクエスト時に変形トークンが用いられてトークン自体は用いられないので、第三者が用いる正規でない電子機器が正規のスレイブ機器に成りすますのを抑制することができる。これにより、第三者が用いる電子機器にスレイブ機器を用いるユーザの情報などが流出するのを抑制することができるので、スレイブ機器とマスター機器との通信の秘匿性を高めることができる。
【００２０】
また、第２の局面による認証方法では、上記のように、スレイブ機器において、ユーザにより入力されたパスワード図形に基づいて、スレイブ機器に固有に割り当てられたトークンを変形して変形トークンを生成する。これにより、キーボードで入力されるパスワードとは異なり、ユーザにより入力されたパスワード図形は真似されにくいので、これによっても、スレイブ機器とマスター機器との通信の秘匿性を高めることができる。
【発明の効果】
【００２１】
本発明によれば、上記のように、スレイブ機器とマスター機器との通信の秘匿性を高めることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１実施形態による認証システムの構成を示したブロック図である。
【図２】本発明の第１実施形態による認証システムの電子機器のログイン画面を示した平面図である。
【図３】本発明の第１実施形態によるパスワード図形の一例を示した図である。
【図４】本発明の第１実施形態によるパスワード図形の他の例を示した図である。
【図５】図３のパスワード図形に対応する図形特徴点情報（ベクトルデータ）を示した表である。
【図６】図４のパスワード図形に対応する図形特徴点情報（ベクトルデータ）を示した表である。
【図７】図３のパスワード図形に対応する許容範囲情報を示した表である。
【図８】図４のパスワード図形に対応する許容範囲情報を示した表である。
【図９】本発明の第１実施形態による認証システムの、事前設定時における、電子機器の制御処理フロー、および、サーバの制御処理フローを示した図である。
【図１０】本発明の第１実施形態による認証システムの、ログイン時における、電子機器の制御処理フロー、および、サーバの制御処理フローを示した図である。
【図１１】本発明の第１実施形態による認証システムの電子機器の図形特徴点情報生成処理フローを示した図である。
【図１２】本発明の第１実施形態による認証システムのサーバの特徴点比較処理フローを示した図である。
【図１３】本発明の第１実施形態による認証システムの、Ｎ回目のリクエスト時における、電子機器の制御処理フロー、および、サーバの制御処理フローを示した図である。
【図１４】本発明の第２実施形態による電子機器のログイン画面を示した平面図である。
【図１５】本発明の第２実施形態による認証システムの、事前設定時における、電子機器の制御処理フロー、および、サーバの制御処理フローを示した図である。
【図１６】本発明の第２実施形態による認証システムの、ログイン時における、電子機器の制御処理フロー、および、サーバの制御処理フローを示した図である。
【発明を実施するための形態】
【００２３】
（第１実施形態）
まず、図１〜図８を参照して、本発明の第１実施形態による認証システム１００の構成について説明する。
【００２４】
本発明の第１実施形態による認証システム１００は、図１に示すように、電子機器１と、サーバ２とを備え、電子機器１とサーバ２とは、ネットワーク３を介して通信可能に接続されている。なお、電子機器１およびサーバ２は、それぞれ、本発明の「スレイブ機器」および「マスター機器」の一例である。
【００２５】
認証システム１００の概略としては、ます、ユーザにより電子機器１を用いてサーバ２に対して事前設定が行われる。この事前設定時では、ユーザにより、ログイン時に必要なユーザのログイン名と、複数の同種のパスワード図形とが電子機器１に入力される。そして、ログイン名と複数のパスワード図形に基づく許容範囲情報（ベクトルデータの平均および標準偏差、詳しくは後述する）とが電子機器１からサーバ２に送信されるとともに、サーバ２において記憶されるように構成されている。なお、事前設定時に用いられる電子機器１と、後述するログイン時およびリクエスト時に用いられる電子機器１とは異なっていてもよい。
【００２６】
そして、ログイン時には、電子機器１は、サーバ２に対してユーザのログイン名と、ユーザにより入力されたパスワード図形に基づく図形特徴点情報（ベクトルデータ、詳しくは後述する）とを送信する。そして、サーバ２は、パスワード図形に基づく図形特徴点情報が許容範囲情報の許容範囲内に含まれる場合に、図形特徴点情報が正しいと判断して、電子機器１に固有に割り当てられたトークンを、電子機器１に送信するように構成されている。
【００２７】
その後、電子機器１は、サーバ２へのリクエスト時に、情報送信などのリクエストと共に、ログイン時のパスワード図形に基づく図形特徴点情報（ベクトルデータ）に基づいてトークンを変形させて、機器側トークンを生成するとともに、機器側トークンをサーバ２に送信する。また、サーバ２は、電子機器１からのリクエスト時に、許容範囲情報を用いてトークンを変形させて、サーバ側トークンを生成するとともに、受信した機器側トークンと、生成したサーバ側トークンとが一致するか否かを判断する。そして、サーバ２は、受信した機器側トークンと生成したサーバ側トークンとが一致すると判断した場合に、機器側トークンが正しいと判断して、電子機器１を認証するとともに、リクエストに対するリクエスト結果を電子機器１に送信するように構成されている。なお、機器側トークンは、本発明の「変形トークン」の一例である。また、認証システム１００における具体的な制御処理については、後述する。
【００２８】
電子機器１は、種々の画面を表示可能な表示部１０と、表示部１０上に配置され、ユーザの入力操作（タッチ）を検出可能なタッチパネル１１と、電子機器１全体の制御を行うＣＰＵ１２と、ＣＰＵ１２を駆動させるための種々のプログラムが記憶されたＲＯＭ１３と、種々の情報を記憶可能な不揮発性のＲＡＭ１４と、サーバ２とネットワーク３を介して通信を行うための通信部１５とを備えている。なお、ＣＰＵ１２は、本発明の「スレイブ側制御部」の一例である。
【００２９】
表示部１０は、事前登録時の図示しない設定画面や、図２に示すようなログイン時のログイン画面１０ａを表示可能に構成されている。このログイン画面１０ａでは、ユーザにログイン名を入力させるための文字領域１０ｂと、パスワード図形を入力させるための図形領域１０ｃと、ログイン名とパスワード図形との入力を確定させるための確認領域１０ｄとが表示されている。図形領域１０ｃでは、図３および図４に示すように、水平方向（Ｘ方向）に延びるＸ軸と、上下方向（Ｙ方向）に延びるＹ軸とが設定されており、左下の角部の座標が（０、０）になるように設定されている。また、タッチパネル１１は、指やタッチペンのタッチパネル１１上での移動を検出可能なように構成されており、タッチパネル１１の検出結果に基づいて、ＣＰＵ１２は、タッチパネル１１上の移動の軌跡からなるバスワード図形を認識するとともに、表示部１０に表示させるように構成されている。
【００３０】
また、ＣＰＵ１２は、ユーザに入力されたバスワード図形を特徴点（線）に分割するとともに、分割した各々の特徴点からベクトルデータを図形特徴点情報として取得するように構成されている。
【００３１】
具体的には、ユーザによりパスワード図形が入力された場合に、ＣＰＵ１２は、パスワード図形を特徴点に分割するとともに、特徴点が直線（ほとんど曲がっていない線分）か、曲線（ある程度以上曲がっている線分）かを判断するように構成されている。そして、特徴点が直線である場合には、ＣＰＵ１２は、始点の座標と、終点の座標と、始点のＸ座標と終点のＸ座標との差の絶対値からなる水平方向（Ｘ方向）の幅Ｗと、始点のＹ座標と終点のＹ座標との差の絶対値からなる上下方向（Ｙ方向）の高さＨとをベクトルデータとして取得および演算するように構成されている。また、特徴点が曲線である場合には、ＣＰＵ１２は、始点の座標と、終点の座標と、制御点（始点）の座標と、制御点（終点）の座標とをベクトルデータとして取得および演算するように構成されている。なお、曲線において、始点、終点、制御点（始点）および制御点（終点）は、３次元ベジェ曲線により定義される４つの制御点を指す。この３次元ベジェ曲線では、始点と制御点（始点）とを結ぶ直線、および、終点と制御点（終点）とを結ぶ直線は、それぞれ、始点における接線および終点における接線と等しくなる。
【００３２】
たとえば、ユーザにより図３に示すようなパスワード図形が入力された場合には、ＣＰＵ１２は、パスワード図形を５つの直線（直線ＡＢ、直線ＢＣ、直線ＣＤ、直線ＤＥおよび直線ＥＦ）に分割するとともに、図５に示すように、５つの直線の各々の始点の座標、終点の座標、幅Ｗおよび高さＨをベクトルデータとして取得するように構成されている。また、ユーザにより図４に示すようなパスワード図形が入力された場合には、ＣＰＵ１２は、パスワード図形を１つの曲線ＧＨおよび１つの直線ＨＩに分割するとともに、図６に示すように、曲線ＧＨの始点の座標（Ｘ７、Ｙ７）、終点の座標（Ｘ８、Ｙ８）、制御点（始点）の座標（Ｘ９、Ｙ９）および制御点（終点）の座標（Ｘ１０、Ｙ１０）と、直線ＨＩの始点の座標（Ｘ８、Ｙ８）、終点の座標（Ｘ１１、Ｙ１１）、幅Ｗ７および高さＨ７とをベクトルデータとして取得するように構成されている。
【００３３】
また、ＣＰＵ１２は、得られた図形特徴点情報（ベクトルデータ）から、各々の特徴点（線）のベクトルとＸ軸（水平方向）とのなす角度θを演算するとともに、演算した角度θに基づいて、ベクトルのＸ軸に対する正弦（ｓｉｎθ）および余弦（ｃｏｓθ）を演算するように構成されている。具体的には、特徴点が直線である場合には、ＣＰＵ１２により、始点から終点に向かうベクトルのＸ軸に対する正弦および余弦が演算され、特徴点が曲線である場合には、始点から制御点（始点）に向かうベクトルのＸ軸に対する正弦および余弦が演算されるように構成されている。なお、正弦および余弦は、本発明の「三角関数」の一例である。
【００３４】
たとえば、図３に示す直線ＢＣでは、ＣＰＵ１２により、始点（ｘ２、ｙ２）から終点（ｘ３、ｙ３）に向かうベクトルとＸ軸とのなす角度θ２における正弦（ｓｉｎθ２）および余弦（ｃｏｓθ２）が演算されるように構成されている。なお、直線ＢＣの幅Ｗ２は、線分ＢＣの長さをＢＣとした場合に、Ｗ２＝ＢＣ｜ｃｏｓθ２｜で表されるとともに、高さＨ２は、Ｈ２＝ＢＣ｜ｓｉｎθ２｜で表される。また、図４に示す曲線ＧＨでは、ＣＰＵ１２により、始点（ｘ７、ｙ７）から制御点（始点）（ｘ９、ｙ９）に向かうベクトルとＸ軸とのなす角度θ６における正弦（ｓｉｎθ６）および余弦（ｃｏｓθ６）が演算されるように構成されている。
【００３５】
ここで、第１実施形態では、ＣＰＵ１２は、サーバ２へのリクエスト時に、ログイン時のパスワード図形によるベクトルデータに基づいて演算された、正弦（ｓｉｎθ）の絶対値および余弦（ｃｏｓθ）の絶対値のいずれか大きい方をトークンに乗算して、機器側トークンを生成するように構成されている。具体的には、ＣＰＵ１２は、サーバ２から受信したトークンを構成する文字列の各々の文字を、対応するＡＳＣＩＩコードの１０進数の数字に置き換えるとともに、置き換えた数字の各々に対して正弦の絶対値および余弦の絶対値のいずれか大きい方（小数点以下２桁切り捨て）を乗算してトークンを変形する。そして、ＣＰＵ１２は、正弦の絶対値（または余弦の絶対値）が乗算された１０進数の数字（変形数字）に対応するＡＳＣＩＩコードの文字からなる変更文字列を、機器側トークンとして生成するように構成されている。
【００３６】
たとえば、トークンの文字列が「Ｕ  Ｒ  Ｚ」であった場合で、かつ、正弦（ｓｉｎθ）の絶対値および余弦（ｃｏｓθ）の絶対値のいずれか大きい方の値が０．８０（小数点以下２桁切り捨て）であった場合には、ＣＰＵ１２は、トークンの文字列「Ｕ  Ｒ  Ｚ」を、対応するＡＳＣＩＩコードの１０進数の数字列「８５  ８２  ９０」に置き換える。そして、ＣＰＵ１２は、１０進数の数字列「８５  ８２  ９０」の各々に、正弦（ｓｉｎθ）の絶対値および余弦（ｃｏｓθ）の絶対値のいずれか大きい方の値（０．８０）を乗算することによってトークンを変形させ、変形数字「６８  ６５  ７２」（＝「８５×０．８０  ８２×０．８０  ９０×０．８０」、小数点以下切捨て）を取得する。そして、ＣＰＵ１２は、演算された変形数字「６８  ６５  ７２」に対応するＡＳＣＩＩコードの文字列（変形文字列）「Ｄ  Ａ  Ｈ」を、機器側トークンとして生成するように構成されている。
【００３７】
また、ＣＰＵ１２は、事前設定時に、ユーザに入力された複数の同種のパスワード図形から各々の特徴点の図形特徴点情報（ベクトルデータ）を取得するように構成されている。そして、ＣＰＵ１２は、取得した複数の同種のパスワード図形のベクトルデータから、特徴点のベクトルデータの平均および標準偏差を許容範囲情報として演算して、演算した許容範囲情報をサーバ２に送信するように構成されている。
【００３８】
具体的には、Ｎ番目の特徴点（線）が直線である場合には、ＣＰＵ１２は、各々のパスワード図形のＮ番目の特徴点のベクトルデータから、始点の座標の平均（Ｘｓｎ、Ｙｓｎ）および標準偏差（ｘｓｎ、ｙｓｎ）と、終点の座標の平均（Ｘｅｎ、Ｙｅｎ）および標準偏差（ｘｅｎ、ｙｅｎ）と、幅の平均Ｗｎおよび標準偏差ｗｎと、高さの平均Ｈｎおよび標準偏差ｈｎとを演算するように構成されている。また、Ｎ番目の特徴点（線）が曲線である場合には、ＣＰＵ１２は、Ｎ番目の特徴点のベクトルデータから、始点の座標の平均（Ｘｓｎ、Ｙｓｎ）および標準偏差（ｘｓｎ、ｙｓｎ）と、終点の座標の平均（Ｘｅｎ、Ｙｅｎ）および標準偏差（ｘｅｎ、ｙｅｎ）と、制御点（始点）の座標の平均（Ｘｃｎ、Ｙｃｎ）および標準偏差（ｘｃｎ、ｙｃｎ）と、制御点（終点）の座標の平均（Ｘｄｎ、Ｙｄｎ）および標準偏差（ｘｄｎ、ｙｄｎ）とを演算するように構成されている。
【００３９】
たとえば、図３に示すパスワード図形の場合には、ＣＰＵ１２により、図７に示すように、５つの直線（直線ＡＢ、直線ＢＣ、直線ＣＤ、直線ＤＥおよび直線ＥＦ）の各々における始点の座標の平均（Ｘｓｎ、Ｙｓｎ）および標準偏差（ｘｓｎ、ｙｓｎ）と、終点の座標の平均（Ｘｅｎ、Ｙｅｎ）および標準偏差（ｘｅｎ、ｙｅｎ）と、幅の平均Ｗｎおよび標準偏差ｗｎと、高さの平均Ｈｎおよび標準偏差ｈｎ（ｎ＝１〜５）とが演算されるように構成されている。
【００４０】
また、図４に示すパスワード図形の場合には、ＣＰＵ１２により、図８に示すように、曲線ＧＨにおける始点の座標の平均（Ｘｓ６、Ｙｓ６）および標準偏差（ｘｓ６、ｙｓ６）と、終点の座標の平均（Ｘｅ６、Ｙｅ６）および標準偏差（ｘｅ６、ｙｅ６）と、制御点（始点）の座標の平均（Ｘｃ６、Ｙｃ６）および標準偏差（ｘｃ６、ｙｃ６）と、制御点（終点）の座標の平均（Ｘｄ６、Ｙｄ６）および標準偏差（ｘｄ６、ｙｄ６）とが演算されるとともに、直線ＨＩにおける始点の座標の平均（Ｘｓ７、Ｙｓ７）および標準偏差（ｘｓ７、ｙｓ７）と、終点の座標の平均（Ｘｅ７、Ｙｅ７）および標準偏差（ｘｅ７、ｙｅ７）と、幅の平均Ｗ７および標準偏差ｗ７と、高さの平均Ｈ７および標準偏差ｈ７とが演算されるように構成されている。
【００４１】
ＲＡＭ１４には、図５および図６に示すようなベクトルデータが図形特徴点情報として記憶されるとともに、サーバ２から送信されたトークンが記憶されるように構成されている。なお、トークンは、複数の文字から構成された文字列からなる。また、トークンを構成する文字列の各々の文字は、ＡＳＣＩＩ（文字コード）に基づいて、１０進数の数字に置き換えることが可能なように構成されている。
【００４２】
サーバ２は、図１に示すように、サーバ２全体の制御を行うＣＰＵ２０と、ＣＰＵ２０を駆動させるための種々のプログラムが記憶されたＲＯＭ２１と、種々の情報を記憶可能な不揮発性のＲＡＭ２２と、電子機器１とネットワーク３を介して通信を行うための通信部２３とを備えている。なお、ＣＰＵ２０は、本発明の「マスター側制御部」の一例である。
【００４３】
ＲＡＭ２２には、事前設定した際に登録されたユーザのログイン名と、ログイン名に対応する許容範囲情報とが記憶されている。この許容範囲情報は、事前設定時に電子機器１からサーバ２に送信された、ベクトルデータの平均および標準偏差からなる許容範囲情報（図７および図８参照）から構成されている。また、ＲＡＭ２２には、電子機器１のログインが成功した際に電子機器１に送信されたトークンと同一のトークンが、ログイン名に対応した状態で記憶されるように構成されている。
【００４４】
ＣＰＵ２０は、電子機器１からのリクエスト時に、電子機器１のＣＰＵ１２と同様に、許容範囲情報のベクトルデータの平均から、各々の特徴点（線）のベクトルとＸ軸（水平方向）とのなす角度θを演算するとともに、演算した角度θに基づいて、各々のベクトルのＸ軸に対する正弦（ｓｉｎθ）および余弦（ｃｏｓθ）を演算するように構成されている。具体的には、特徴点が直線である場合には、ＣＰＵ２０により、始点から終点に向かうベクトルのＸ軸に対する正弦および余弦が演算され、特徴点が曲線である場合には、始点から制御点（始点）に向かうベクトルのＸ軸に対する正弦および余弦が演算されるように構成されている。そして、ＣＰＵ２０は、許容範囲情報におけるベクトルデータの平均に基づいて演算された、正弦（ｓｉｎθ）の絶対値および余弦（ｃｏｓθ）の絶対値のいずれか大きい方をトークンに乗算して、サーバ側トークンを生成するとともに、受信した機器側トークンと生成したサーバ側トークンとが一致するか否かを判断するように構成されている。
【００４５】
次に、図１、図２および図７〜図９を参照して、第１実施形態の認証システム１００の事前設定時における、電子機器１のＣＰＵ１２の制御処理フロー、および、サーバ２のＣＰＵ２０の制御処理フローについて説明する。
【００４６】
ログイン前の事前設定時においては、まず、電子機器１の表示部１０に、文字領域１０ｂ、図形領域１０ｃおよび確認領域１０ｄ（図２参照）を含む図示しない設定画面が表示される。そして、図９に示すように、ステップＳ１において、ＣＰＵ１２（図１参照）により、ユーザが確認領域１０ｄをタッチすることにより、入力が確定されたか否かが判断されるとともに、入力が確定されたと判断されるまでこの判断が繰り返される。入力が確定されたと判断された場合には、ＣＰＵ１２により、ステップＳ２において、文字領域１０ｂにログイン名が入力されているか否かが判断され、ログイン名が入力されていると判断された場合には、ステップＳ３において、ユーザにより図形領域１０ｃに所定の回数（たとえば、５回）パスワード図形（設定時パスワード図形）が入力されたか否かが判断される。ログイン名が入力されていないと判断された場合、および、所定の回数パスワード図形が入力されていないと判断された場合には、ステップＳ１に戻る。
【００４７】
ステップＳ３において、所定の回数だけパスワード図形が入力されたと判断された場合には、ステップＳ４において、ＣＰＵ１２により、ユーザにより入力された所定数のパスワード図形の各々が、特徴点（線）に分割される。そして、ステップＳ５において、ＣＰＵ１２により、Ｎが１にされる。
【００４８】
そして、ＣＰＵ１２により、パスワード図形の１番目の特徴点（線）から順に、ベクトルデータの平均および標準偏差が許容範囲情報として演算される。具体的には、ステップＳ６において、ＣＰＵ１２により、Ｎ番目の特徴点が直線であるか、または、曲線であるかが判断される。そして、Ｎ番目の特徴点が直線であると判断された場合には、ＣＰＵ１２により、ステップＳ７において、所定数のＮ番目の特徴点（直線）の始点の座標から、始点の座標の平均（Ｘｓｎ、Ｙｓｎ）および標準偏差（ｘｓｎ、ｙｓｎ）が演算され、ステップＳ８において、所定数のＮ番目の特徴点の終点の座標から、終点の座標の平均（Ｘｅｎ、Ｙｅｎ）および標準偏差（ｘｅｎ、ｙｅｎ）が演算される。また、ＣＰＵ１２により、ステップＳ９において、所定数のＮ番目の特徴点の幅から、幅の平均Ｗｎおよび標準偏差ｗｎが演算され、ステップＳ１０において、所定数のＮ番目の特徴点の高さから、高さの平均Ｈｎおよび標準偏差ｈｎが演算されて、ステップＳ１５に進む。
【００４９】
また、ステップＳ６において、Ｎ番目の特徴点が曲線であると判断された場合には、ＣＰＵ１２により、ステップＳ１１において、所定数のＮ番目の特徴点（曲線）の始点の座標から、始点の座標の平均（Ｘｓｎ、Ｙｓｎ）および標準偏差（ｘｓｎ、ｙｓｎ）が演算され、ステップＳ１２において、所定数のＮ番目の特徴点の終点の座標から、終点の座標の平均（Ｘｅｎ、Ｙｅｎ）および標準偏差（ｘｅｎ、ｙｅｎ）が演算される。また、ＣＰＵ１２により、ステップＳ１３において、所定数のＮ番目の特徴点の制御点（始点）の座標から、制御点（始点）の座標の平均（Ｘｃｎ、Ｙｃｎ）および標準偏差（ｘｃｎ、ｙｃｎ）が演算され、ステップＳ１４において、所定数のＮ番目の特徴点の制御点（終点）の座標から、制御点（終点）の座標の平均（Ｘｄｎ、Ｙｄｎ）および標準偏差（ｘｄｎ、ｙｄｎ）が演算されて、ステップＳ１５に進む。
【００５０】
その後、ＣＰＵ１２により、ステップＳ１５において、Ｎが１増加された後に、ステップＳ１６において、Ｎが特徴点数（線の数）よりも小さいか否かが判断される。Ｎが特徴点数よりも小さいと判断された場合には、許容範囲情報（ベクトルデータの平均および標準偏差）を演算していない特徴点（線）が残っているので、ステップＳ６に戻る。Ｎが特徴点数に到達したと判断された場合には、全ての特徴点において許容範囲情報が演算されたので、ステップＳ１７において、ＣＰＵ１２により、ログイン名と許容範囲情報（図７および図８参照）とがサーバ２に送信される。そして、事前設定時における、電子機器１のＣＰＵ１２の制御処理フローが終了される。
【００５１】
また、サーバ２（図１参照）では、ステップＳ２１において、ＣＰＵ２０（図１参照）により、ログイン名と許容範囲情報とを電子機器１から受信したか否かが判断されるとともに、受信したと判断されるまでこの判断が繰り返される。ログイン名と許容範囲情報とを受信したと判断された場合には、ステップＳ２２において、ＣＰＵ２０により、ログイン名と許容範囲情報とがＲＡＭ２２（図１参照）に記憶される。そして、事前設定時における、サーバ２のＣＰＵ２０の制御処理フローが終了される。
【００５２】
次に、図１、図２、図５〜図８および図１０〜図１２を参照して、第１実施形態の認証システム１００の事前設定後のログイン時における、電子機器１のＣＰＵ１２の制御処理フロー、および、サーバ２のＣＰＵ２０の制御処理フローについて説明する。
【００５３】
事前設定後のログイン時においては、まず、電子機器１の表示部１０に、図２に示すログイン画面１０ａが表示される。そして、図１０に示すように、ステップＳ３１において、ＣＰＵ１２（図１参照）により、入力が確定されたか否かが判断されるとともに、入力が確定されたと判断されるまでこの判断が繰り返される。入力が確定されたと判断された場合には、ＣＰＵ１２により、ステップＳ３２において、ログイン名が入力されているか否かが判断され、ログイン名が入力されていると判断された場合には、ステップＳ３３において、少なくとも１回、パスワード図形が入力されたか否かが判断される。ログイン名が入力されていないと判断された場合、および、パスワード図形が入力されていないと判断された場合には、ステップＳ３１に戻る。
【００５４】
パスワード図形が入力されたと判断された場合には、ステップＳ３４において、ＣＰＵ１２により、ユーザにより入力されたパスワード図形が特徴点（線）に分割される。
【００５５】
そして、ステップＳ３５において、ＣＰＵ１２により、パスワード図形の特徴点の図形特徴点情報（ベクトルデータ）を取得する図形特徴点情報生成処理が行われる。具体的には、図１１に示すように、ステップＳ５１において、ＣＰＵ１２により、Ｎが１にされる。そして、ステップＳ５２において、ＣＰＵ１２により、Ｎ番目の特徴点（線）が直線であるか、または、曲線であるかが判断される。そして、Ｎ番目の特徴点が直線であると判断された場合には、ＣＰＵ１２により、ステップＳ５３において、直線の始点の座標が取得され、ステップＳ５４において、直線の終点の座標が取得され、ステップＳ５５において、直線の幅Ｗが演算され、ステップＳ５６において、直線の高さＨが演算されて、ステップＳ６１に進む。
【００５６】
また、ステップＳ５２において、Ｎ番目の特徴点が曲線であると判断された場合には、ＣＰＵ１２により、ステップＳ５７において、曲線の始点の座標が取得され、ステップＳ５８において、曲線の終点の座標が取得され、ステップＳ５９において、曲線の制御点（始点）の座標が演算され、ステップＳ６０において、曲線の制御点（終点）の座標が演算されて、ステップＳ６１に進む。
【００５７】
その後、ＣＰＵ１２により、ステップＳ６１において、Ｎが１増加された後に、ステップＳ６２において、Ｎが特徴点数（線の数）よりも小さいか否かが判断される。Ｎが特徴点数よりも小さいと判断された場合には、図形特徴点情報（ベクトルデータ）を求めていない特徴点（線）が残っているので、ステップＳ５２に戻る。Ｎが特徴点数に到達したと判断された場合には、全ての特徴点において図形特徴点情報が求められたので、電子機器１のＣＰＵ１２の図形特徴点情報生成処理フローが終了される。そして、図１０に示すように、ステップＳ３６において、ＣＰＵ１２により、ログイン名と、パスワード図形の特徴点のベクトルデータからなる図形特徴点情報（図５および図６参照）とがサーバ２（図１参照）に送信される。
【００５８】
また、サーバ２では、ステップＳ７１において、ＣＰＵ２０（図１参照）により、ログイン名と図形特徴点情報とを電子機器１から受信したか否かが判断されるとともに、受信したと判断されるまでこの判断が繰り返される。ログイン名と図形特徴点情報とを受信したと判断された場合には、ステップＳ７２において、ＣＰＵ２０により、特徴点比較処理が行われる。
【００５９】
具体的には、図１２に示すように、まず、ステップＳ８１において、ＣＰＵ２０により、受信したログイン名に対応する許容範囲情報（図７および図８参照）がＲＡＭ２２（図１参照）から読み出される。その後、ステップＳ８２において、ＣＰＵ２０により、Ｎが１にされる。
【００６０】
そして、ＣＰＵ２０により、電子機器１から受信した図形特徴点情報のベクトルデータが、読み出した許容範囲情報の許容範囲内（（平均±標準偏差）内）に含まれるか否かが判断される。具体的には、ステップＳ８３において、ＣＰＵ２０により、Ｎ番目の特徴点（線）が直線であるか、または、曲線であるかが判断される。そして、Ｎ番目の特徴点が直線であると判断された場合には、ステップＳ８４において、ＣＰＵ２０により、受信した図形特徴点情報のＮ番目の始点の座標が許容範囲内に含まれるか否かが判断される。なお、許容範囲情報の許容範囲は、本発明の「所定の許容範囲」の一例である。
【００６１】
具体的には、ＣＰＵ２０により、図形特徴点情報のＮ番目の始点のＸ座標（Ｘ）が、許容範囲情報のＮ番目の始点のＸ座標の平均Ｘｓｎおよび標準偏差ｘｓｎに対して、式（Ｘｓｎ−ｘｓｎ）≦Ｘ≦（Ｘｓｎ＋ｘｓｎ）を満たすか否かと、図形特徴点情報のＮ番目の始点のＹ座標（Ｙ）が、許容範囲情報のＮ番目の始点のＹ座標の平均Ｙｓｎおよび標準偏差ｙｓｎに対して、式（Ｙｓｎ−ｙｓｎ）≦Ｙ≦（Ｙｓｎ＋ｙｓｎ）を満たすか否かとが判断される。そして、始点のＸ座標およびＹ座標が上記式をそれぞれ満たす場合に、ＣＰＵ２０により、図形特徴点情報のＮ番目の始点の座標が許容範囲内に含まれると判断される。
【００６２】
そして、図形特徴点情報のＮ番目の始点の座標が許容範囲内に含まれると判断された場合には、ステップＳ８５において、ステップＳ８４と同様に、ＣＰＵ２０により、図形特徴点情報のＮ番目の終点の座標（Ｘ、Ｙ）が許容範囲内に含まれるか否か（式（Ｘｅｎ−ｘｅｎ）≦Ｘ≦（Ｘｅｎ＋ｘｅｎ）と、式（Ｙｅｎ−ｙｅｎ）≦Ｙ≦（Ｙｅｎ＋ｙｅｎ）とを満たすか否か）が判断される。
【００６３】
また、図形特徴点情報のＮ番目の終点の座標が許容範囲内に含まれると判断された場合には、ステップＳ８６において、ＣＰＵ２０により、図形特徴点情報のＮ番目の幅Ｗが許容範囲内に含まれるか否か（式（Ｗａｎ−ｗａｎ）≦Ｗ≦（Ｗａｎ＋ｗａｎ）を満たすか否か）が判断される。また、図形特徴点情報のＮ番目の幅Ｗが許容範囲内に含まれると判断された場合には、ステップＳ８７において、ＣＰＵ２０により、図形特徴点情報のＮ番目の高さＨが許容範囲内に含まれるか否か（式（Ｈａｎ−ｈａｎ）≦Ｈ≦（Ｈａｎ＋ｈａｎ）を満たすか否か）が判断される。
【００６４】
そして、ステップＳ８４〜Ｓ８７をすべて満たす場合には、Ｎ番目の特徴点（直線）において、受信した図形特徴点情報のベクトルデータが許容範囲内に含まれると判断されて、ステップＳ９３に進む。一方、ステップＳ８４〜Ｓ８７のうち１つでも満たさない場合には、ステップＳ８８において、ＣＰＵ２０により、受信した図形特徴点情報のベクトルデータが許容範囲内に含まれないと判断されて、サーバ２のＣＰＵ２０の特徴点比較処理が終了される。つまり、許容範囲内に含まれないベクトルデータが１つでも存在する場合には、受信した図形特徴点情報のベクトルデータが許容範囲内に含まれないと判断される。
【００６５】
また、ステップＳ８３において、Ｎ番目の特徴点が曲線であると判断された場合には、ステップＳ８９およびＳ９０において、上記したステップＳ８４およびＳ８５と同様の処理が行われる。そして、ステップＳ８９およびＳ９０において、図形特徴点情報のＮ番目の始点および終点が、それぞれ、許容範囲内に含まれると判断された場合には、ステップＳ９１において、ＣＰＵ２０により、図形特徴点情報のＮ番目の制御点（始点）の座標（Ｘ、Ｙ）が許容範囲内に含まれるか否か（式（Ｘｃｎ−ｘｃｎ）≦Ｘ≦（Ｘｃｎ＋ｘｃｎ）と、式（Ｙｃｎ−ｙｃｎ）≦Ｙ≦（Ｙｃｎ＋ｙｃｎ）とを満たすか否か）が判断される。また、図形特徴点情報のＮ番目の制御点（始点）の座標が許容範囲内に含まれると判断された場合には、ステップＳ９２において、ＣＰＵ２０により、図形特徴点情報のＮ番目の制御点（終点）の座標（Ｘ、Ｙ）が許容範囲内に含まれるか否か（式（Ｘｄｎ−ｘｄｎ）≦Ｘ≦（Ｘｄｎ＋ｘｄｎ）と、式（Ｙｄｎ−ｙｄｎ）≦Ｙ≦（Ｙｄｎ＋ｙｄｎ）とを満たすか否か）が判断される。
【００６６】
そして、ステップＳ８９〜Ｓ９２をすべて満たす場合には、Ｎ番目の特徴点（曲線）において、受信した図形特徴点情報のベクトルデータが許容範囲内に含まれると判断されて、ステップＳ９３に進む。一方、ステップＳ８９〜Ｓ９２のうち１つでも満たさない場合には、ステップＳ８８において、ＣＰＵ２０により、受信した図形特徴点情報のベクトルデータが許容範囲内に含まれないと判断されて、サーバ２のＣＰＵ２０の特徴点比較処理が終了される。
【００６７】
また、ＣＰＵ２０により、ステップＳ９３において、Ｎが１増加された後に、ステップＳ９４において、Ｎが特徴点数（線の数）よりも小さいか否かが判断される。Ｎが特徴点数よりも小さいと判断された場合には、許容範囲内に含まれるか否かが判断されていない特徴点（線）が残っているので、ステップＳ８３に戻る。Ｎが特徴点数に到達したと判断された場合には、ステップＳ９５において、ＣＰＵ２０により、受信した図形特徴点情報の全ての特徴点のベクトルデータが許容範囲内に含まれると判断されて、サーバ２のＣＰＵ２０の特徴点比較処理が終了される。
【００６８】
そして、図１０に示すように、ステップＳ７３において、ＣＰＵ２０により、図１２の特徴点比較処理に基づいて、受信した図形特徴点情報の全ての特徴点のベクトルデータが許容範囲内に含まれるかが判断される。図形特徴点情報が許容範囲内に含まれると判断された場合には、受信した図形特徴点情報が正しいと判断されて、ステップＳ７４において、ＣＰＵ２０により、電子機器１に固有に割り当てられるトークンが生成される。そして、ステップＳ７５において、ＣＰＵ２０により、ログインが成功した旨と生成したトークンとが電子機器１に送信されて、ログイン時における、サーバ２のＣＰＵ２０の制御処理フローが終了される。
【００６９】
一方、ステップＳ７３において、図形特徴点情報が許容範囲内に含まれないと判断された場合には、ステップＳ７６において、ＣＰＵ２０により、ログインが失敗した旨が電子機器１に送信されて、ログイン時における、サーバ２のＣＰＵ２０の制御処理フローが終了される。
【００７０】
また、電子機器１では、ステップＳ３７において、ＣＰＵ１２により、ログインが成功した旨とトークンとを受信したか否かが判断される。ログインが成功した旨とトークンとを受信したと判断された場合には、ステップＳ３８において、ＣＰＵ１２により、トークンがＲＡＭ１４（図１参照）に記憶されて、ログイン時における、電子機器１のＣＰＵ１２の制御処理フローが終了される。
【００７１】
また、ログインが成功した旨とトークンとを受信していないと判断された場合には、ステップＳ３９において、ＣＰＵ１２により、ログインが失敗した旨を受信したか否かが判断される。ログインが失敗した旨を受信していないと判断された場合には、ステップＳ３７に戻る。また、ログインが失敗した旨を受信したと判断された場合には、ステップＳ４０において、ＣＰＵ１２により、ログインが失敗した旨が表示部１０に表示されて、ログイン時における、電子機器１のＣＰＵ１２の制御処理フローが終了される。
【００７２】
次に、図１、図５〜図８および図１３を参照して、第１実施形態の認証システム１００のログイン後のＮ回目のリクエスト時における、電子機器１のＣＰＵ１２の制御処理フロー、および、サーバ２のＣＰＵ２０の制御処理フローについて説明する。なお、Ｎ回目の「Ｎ」は、２以上、特徴点数以下の整数である。
【００７３】
ログイン後のリクエスト時においては、電子機器１およびサーバ２（図１参照）では、それぞれ、電子機器１からサーバ２へのリクエストの回数がカウントされている。そして、サーバ２へのＮ回目のリクエスト時に、電子機器１では、図１３に示すように、ステップＳ１０１において、ＣＰＵ１２（図１参照）により、ログイン時のパスワード図形に基づく図形特徴点情報のベクトルデータ（図５および図６参照）に基づいて、パスワード図形のＮ番目の特徴点（線）が直線であるか、または、曲線であるかが判断される。
【００７４】
Ｎ番目の特徴点が直線であると判断された場合には、ステップＳ１０２において、ＣＰＵ１２により、ログイン時のパスワード図形によるベクトルデータに基づいて、始点から終点に向かうベクトルとＸ軸（水平方向）とのなす角度θｎにおける正弦（ｓｉｎθｎ）および余弦（ｃｏｓθｎ）が演算される。また、Ｎ番目の特徴点が曲線であると判断された場合には、ステップＳ１０３において、ＣＰＵ１２により、ログイン時のパスワード図形によるベクトルデータに基づいて、始点から制御点（始点）に向かうベクトルとＸ軸とのなす角度θｎにおける正弦（ｓｉｎθｎ）および余弦（ｃｏｓθｎ）が演算される。そして、ステップＳ１０４において、ＣＰＵ１２により、演算されたｓｉｎθｎの絶対値がｃｏｓθｎの絶対値よりも大きいか否かが判断される。
【００７５】
そして、ｓｉｎθｎの絶対値がｃｏｓθｎの絶対値よりも大きいと判断された場合には、ステップＳ１０５において、ＣＰＵ１２により、トークンにｓｉｎθｎの絶対値が乗算されて、Ｎ番目の機器側トークンが生成される。また、ｓｉｎθｎの絶対値がｃｏｓθｎの絶対値以下であると判断された場合には、ステップＳ１０６において、ステップＳ１０５と同様に、ＣＰＵ１２により、トークンにｃｏｓθｎの絶対値が乗算されて、Ｎ番目の機器側トークンが生成される。
【００７６】
なお、ＣＰＵ１２により、Ｎ回目のリクエスト時に生成されるＮ番目の機器側トークンは、複数の特徴点のうちのＮ番目の特徴点のベクトルデータに基づいて生成されるので、Ｎ番目の機器側トークンは、１〜（Ｎ−１）回目のリクエスト時にそれぞれ生成された１〜（Ｎ−１）番目の機器側トークンとは異なる。つまり、ＣＰＵ１２により、リクエスト毎に、少なくとも前回のリクエスト時とは異なる機器側トークンが生成される。
【００７７】
そして、ステップＳ１０７において、ＣＰＵ１２により、Ｎ番目の機器側トークンとリクエストとがサーバ２（図１参照）に送信される。
【００７８】
また、サーバ２では、ログイン後の電子機器１からのリクエスト時に、ステップＳ１２１において、ＣＰＵ２０（図１参照）により、Ｎ番目の機器側トークンとリクエストとを電子機器１から受信したか否かが判断されるとともに、受信したと判断されるまでこの判断が繰り返される。Ｎ番目の機器側トークンとリクエストとを受信したと判断された場合には、電子機器１のＣＰＵ１２と同様に、ＣＰＵ２０により、Ｎ番目の機器側トークンに対応するＮ番目のサーバ側トークンが生成される。この際、Ｎ番目のサーバ側トークンは、ＲＡＭ２２（図１参照）に記憶されたトークンと、許容範囲情報におけるＮ番目の特徴点（線）のベクトルデータの平均（図７および図８参照）とから生成される。
【００７９】
具体的には、ステップＳ１２２において、ＣＰＵ２０により、パスワード図形のＮ番目の特徴点（線）が直線であるか、または、曲線であるかが判断される。Ｎ番目の特徴点が直線であると判断された場合には、ステップＳ１２３において、ＣＰＵ２０により、Ｎ番目の特徴点のベクトルデータの平均に基づいて、始点から終点に向かうベクトルとＸ軸（水平方向）とのなす角度θｎにおける正弦（ｓｉｎθｎ）および余弦（ｃｏｓθｎ）が演算される。また、Ｎ番目の特徴点が曲線であると判断された場合には、ステップＳ１２４において、ＣＰＵ２０により、Ｎ番目の特徴点のベクトルデータの平均に基づいて、始点から制御点（始点）に向かうベクトルとＸ軸とのなす角度θｎにおける正弦（ｓｉｎθｎ）および余弦（ｃｏｓθｎ）が演算される。
【００８０】
そして、ステップＳ１２５において、ＣＰＵ２０により、演算されたｓｉｎθｎの絶対値がｃｏｓθｎの絶対値よりも大きいか否かが判断される。ｓｉｎθｎの絶対値がｃｏｓθｎの絶対値よりも大きいと判断された場合には、ステップＳ１２６において、ＣＰＵ２０により、トークンにｓｉｎθｎの絶対値が乗算されて、Ｎ番目のサーバ側トークンが生成される。また、ｓｉｎθｎの絶対値がｃｏｓθｎの絶対値以下であると判断された場合には、ステップＳ１２７において、ＣＰＵ２０により、トークンにｃｏｓθｎの絶対値が乗算されて、Ｎ番目のサーバ側トークンが生成される。
【００８１】
そして、ステップＳ１２８において、ＣＰＵ２０により、受信したＮ番目の機器側トークンと、生成したＮ番目のサーバ側トークンとが一致したか否かが判断される。機器側トークンとサーバ側トークンとが一致したと判断された場合には、Ｎ番目の機器側トークンが正しいと判断されて、電子機器１が認証される。そして、ステップＳ１２９において、ＣＰＵ２０により、電子機器１のリクエストに対するリクエスト結果が電子機器１に送信されて、Ｎ回目のリクエスト時における、サーバ２のＣＰＵ２０の制御処理フローが終了される。
【００８２】
また、機器側トークンとサーバ側トークンとが一致しなかったと判断された場合には、Ｎ番目の機器側トークンが正しくないと判断されて、電子機器１の認証は行われない。そして、ステップＳ１３０において、ＣＰＵ２０により、電子機器１のリクエストを受け付けない旨が電子機器１に送信されて、Ｎ回目のリクエスト時における、サーバ２のＣＰＵ２０の制御処理フローが終了される。
【００８３】
また、電子機器１では、ステップＳ１０８において、ＣＰＵ１２により、リクエスト結果をサーバ２から受信したか否かが判断される。リクエスト結果を受信したと判断された場合には、ステップＳ１０９において、ＣＰＵ１２により、リクエスト結果の表示などのリクエスト結果に基づく制御が行われて、Ｎ回目のリクエスト時における、電子機器１のＣＰＵ１２の制御処理フローが終了される。
【００８４】
また、リクエスト結果を受信していないと判断された場合には、ステップＳ１１０において、ＣＰＵ１２により、リクエストを受け付けない旨を受信したか否かが判断される。リクエストを受け付けない旨を受信していないと判断された場合には、ステップＳ１０８に戻る。また、リクエストを受け付けない旨を受信したと判断された場合には、ステップＳ１１１において、ＣＰＵ１２により、リクエストが受け付けられなかった旨が表示部１０に表示されて、Ｎ回目のリクエスト時における、電子機器１のＣＰＵ１２の制御処理フローが終了される。
【００８５】
なお、Ｎが特徴点数を超えた場合（Ｎ+１になった場合）には、再度１番目の特徴点に戻って、上記した処理と同様の処理が行われる。
【００８６】
第１実施形態では、上記のように、電子機器１のＣＰＵ１２を、サーバ２へのリクエスト時に、ログイン時のパスワード図形に基づく図形特徴点情報（ベクトルデータ）に基づいてトークンを変形させて、機器側トークンを生成するとともに、生成した機器側トークンをサーバ２に送信するように構成する。また、サーバ２のＣＰＵ２０を、電子機器１からのリクエスト時に、許容範囲情報を用いてトークンを変形させて、サーバ側トークンを生成するとともに、受信した機器側トークンと生成したサーバ側トークンとが一致すると判断した場合に、サーバ２は、機器側トークンが正しいと判断して、電子機器１を認証するように構成する。これにより、トークンが第三者に知られた場合であっても、リクエスト時に機器側トークンが用いられてトークン自体は用いられないので、第三者が用いる正規でない電子機器が正規の電子機器１に成りすますのを抑制することができる。これにより、第三者が用いる電子機器に電子機器１を用いるユーザの情報などが流出するのを抑制することができるので、電子機器１とサーバ２との通信の秘匿性を高めることができる。また、ベクトルデータを含む図形特徴点情報をパスワード図形から容易に取得することができるので、ユーザにより入力されたパスワード図形に基づいて、容易に、トークンを変形して機器側トークンを生成することができる。
【００８７】
また、第１実施形態では、電子機器１のＣＰＵ１２を、サーバ２へのリクエスト時に、ログイン時のパスワード図形に基づく図形特徴点情報に基づいてトークンを変形させて、機器側トークンを生成するように構成する。これにより、キーボードで入力されるパスワードとは異なり、ユーザにより入力されたパスワード図形は真似されにくいので、電子機器１とサーバ２との通信の秘匿性を高めることができる。
【００８８】
また、第１実施形態では、電子機器１のＣＰＵ１２により、リクエスト毎に、少なくとも前回のリクエスト時とは異なる機器側トークンが生成されるように構成することによって、前回のリクエスト時の機器側トークンが第三者に知られた場合であっても、前回のリクエスト時の機器側トークンとは異なる機器側トークンを用いることにより、今回のリクエスト時において、第三者が用いる正規でない電子機器が正規の電子機器１に成りすますのを抑制することができる。これにより、電子機器１とサーバ２との通信の秘匿性をより高めることができる。
【００８９】
また、第１実施形態では、電子機器１のＣＰＵ１２により、ログイン時のパスワード図形によるベクトルデータに基づいて、始点から終点に向かうベクトルとＸ軸（水平方向）とのなす角度θｎにおける正弦（ｓｉｎθｎ）および余弦（ｃｏｓθｎ）、または、始点から制御点（始点）に向かうベクトルとＸ軸とのなす角度θｎにおける正弦（ｓｉｎθｎ）および余弦（ｃｏｓθｎ）が演算される。そして、電子機器１のＣＰＵ１２により、ｓｉｎθｎの絶対値がｃｏｓθｎの絶対値よりも大きいと判断された場合には、トークンにｓｉｎθｎの絶対値が乗算されて、機器側トークンが生成され、ｓｉｎθｎの絶対値がｃｏｓθｎの絶対値以下であると判断された場合には、トークンにｃｏｓθｎの絶対値が乗算されて、機器側トークンが生成されるように構成する。これにより、容易に取得可能な正弦の絶対値または余弦の絶対値をトークンに乗算することによって、ユーザにより入力されたパスワード図形に基づいて、より容易に、機器側トークンを生成することができる。また、正弦の絶対値または余弦の絶対値は０以上１以下であるので、トークンに１より大きな値を乗算する場合と異なり、機器側トークンが大きくなることに起因して機器側トークンを送信するための情報量が大きくなるのを抑制することができる。さらに、演算した正弦の絶対値および余弦の絶対値のうちの大きい方をトークンに乗算することにより、トークンに０を乗算することを防止することができるので、トークンを確実に変形させて機器側トークンを生成することができる。
【００９０】
また、第１実施形態では、ログイン時に、電子機器１のＣＰＵ１２により、ログイン名と、取得したパスワード図形の特徴点のベクトルデータからなる図形特徴点情報とがサーバ２に送信されるとともに、サーバ２のＣＰＵ２０により、受信した図形特徴点情報が正しいと判断された場合には、電子機器１に固有に割り当てられるトークンが生成されて、ログインが成功した旨と生成したトークンとを電子機器１に送信されるように構成する。また、サーバ２へのＮ回目のリクエスト時に、電子機器１のＣＰＵ１２により、ログイン時のパスワード図形に基づく図形特徴点情報のベクトルデータに基づいて演算された、正弦の絶対値または余弦の絶対値がトークンに乗算されることによって機器側トークンが生成されて、機器側トークンがサーバ２に送信されるように構成する。また、ログイン後の電子機器１からのリクエスト時に、サーバ２のＣＰＵ２０により、機器側トークンとサーバ側トークンとが一致したか否かが判断されることによって、機器側トークンが正しいか否かが判断されるように構成する。これにより、ログイン時のパスワード図形に基づいて、サーバ２からのトークンの送信と機器側トークンの生成とが共に行われるので、ログイン後のサーバ２へのリクエスト時に、ユーザは、パスワード図形を電子機器１に再度入力する必要がない。これにより、ユーザの利便性を向上させることができる。
【００９１】
また、第１実施形態では、サーバ２のＣＰＵ２０により、受信した図形特徴点情報の全ての特徴点のベクトルデータが許容範囲内（（平均±標準偏差）内）に含まれると判断された場合に、受信した図形特徴点情報が正しいと判断されるように構成する。これにより、ユーザはパスワード図形を過度に正確に入力する必要がないので、ユーザの利便性が低下するのを抑制することができる。
【００９２】
また、第１実施形態では、電子機器１のＣＰＵ１２により、ログイン前の事前設定時に、ユーザにより図形領域１０ｃに所定の回数入力されたパスワード図形に基づいて、許容範囲情報（ベクトルデータの平均および標準偏差）が演算されてサーバ２に送信されるように構成する。また、サーバ２のＣＰＵ２０により、ログイン時に、電子機器１から受信した図形特徴点情報のベクトルデータが、ログイン前の事前設定時に電子機器１から受信した許容範囲情報の許容範囲内（（平均±標準偏差）内）に含まれるか否かが判断され、許容範囲内に含まれると判断された場合には、受信した図形特徴点情報が正しいと判断されるように構成する。これにより、事前設定時にユーザが入力した設定時パスワード図形に基づいてログイン時の許容範囲情報の許容範囲を定めることができるので、許容範囲をユーザの癖に合わせて設定することができる。これにより、ログイン時に、第三者が用いる正規でない電子機器が正規の電子機器１に成りすますのを確実に抑制することができる。
【００９３】
（第２実施形態）
次に、図１、図５、図６および図１１〜図１６を参照して、本発明の第２実施形態について説明する。この第２実施形態では、許容範囲としてベクトルデータの平均および標準偏差を用いた上記第１実施形態とは異なり、ログイン時にユーザが許容範囲を入力する場合について説明する。
【００９４】
本発明の第２実施形態では、認証システム１００（図１参照）の電子機器１の表示部１０は、図１４に示すようなログイン時のログイン画面２１０ａを表示可能に構成されている。このログイン画面２１０ａでは、文字領域１０ｂと、図形領域１０ｃと、確認領域１０ｄと、許容範囲を設定するための範囲設定領域２１０ｅとが表示されている。この範囲設定領域２１０ｅでは、ユーザにより、図形特徴点情報の各々の特徴点のベクトルデータ（直線の場合には、始点の座標、終点の座標、幅および高さ、曲線の場合には、始点の座標、終点の座標、制御点（始点）の座標および制御点（終点）の座標）の許容範囲が百分率（α％以上β％以下）により設定されるように構成されている。
【００９５】
また、認証システム１００のサーバ２（図１参照）のＲＡＭ２２（図１参照）には、上記第１実施形態のベクトルデータの平均および標準偏差からなる許容範囲情報の代わりに、図５および図６に示すようなベクトルデータからなる設定図形特徴点情報が記憶されている。なお、設定図形特徴点情報は、事前登録時に電子機器１から受信することによって、サーバ２のＲＡＭ２２に記憶されている。
【００９６】
ここで、第２実施形態では、ログイン時において、サーバ２のＣＰＵ２０（図１参照）は、受信した図形特徴点情報が、ユーザにより設定された許容範囲内に含まれる場合に、受信した図形特徴点情報が正しいと判断するように構成されている。なお、具体的な制御処理に関しては後述する。
【００９７】
また、第２実施形態では、許容範囲をユーザが設定可能なように構成したことに伴い、上記第１実施形態とは異なり、事前設定時に、電子機器１のＣＰＵ１２において許容範囲情報（ベクトルデータの平均および標準偏差）は演算されない。なお、第２実施形態のその他の構成は、上記第１実施形態と同様である。
【００９８】
次に、図１、図５、図６、図１１および図１５を参照して、第２実施形態の認証システム１００の事前設定時における、電子機器１のＣＰＵ１２の制御処理フロー、および、サーバ２のＣＰＵ２０の制御処理フローについて説明する。
【００９９】
まず、上記第１実施形態と同様に、電子機器１の表示部１０に図示しない設定画面が表示される。そして、図１５に示すように、ステップＳ１４１において、ＣＰＵ１２（図１参照）により、入力が確定されたか否かが判断されるとともに、入力が確定されたと判断されるまでこの判断が繰り返される。入力が確定されたと判断された場合には、ＣＰＵ１２により、ステップＳ１４２において、ログイン名が入力されているか否かが判断され、ログイン名が入力されていると判断された場合には、ステップＳ１４３において、少なくとも１回、パスワード図形（設定時パスワード図形）が入力されたか否かが判断される。ログイン名が入力されていないと判断された場合、および、パスワード図形が入力されていないと判断された場合には、ステップＳ１４１に戻る。
【０１００】
パスワード図形が入力されたと判断された場合には、ステップＳ１４４において、ＣＰＵ１２により、ユーザにより入力されたパスワード図形が特徴点（線）に分割される。そして、ステップＳ１４５において、ＣＰＵ１２により、図１１に示す図形特徴点情報生成処理（ステップＳ５１〜Ｓ６２）が行われる。その後、ステップＳ１４６において、ログイン名がサーバ２（図１参照）に送信されるとともに、図形特徴点情報生成処理において取得された図形特徴点情報（図５および図６参照）が設定図形特徴点情報としてサーバ２に送信されて、事前設定時における、電子機器１のＣＰＵ１２の制御処理フローが終了される。
【０１０１】
また、サーバ２では、ステップＳ１５１において、ＣＰＵ２０（図１参照）により、ログイン名と設定図形特徴点情報とを電子機器１から受信したか否かが判断されるとともに、受信したと判断されるまでこの判断が繰り返される。ログイン名と設定図形特徴点情報とを受信したと判断された場合には、ステップＳ１５２において、ＣＰＵ２０により、ログイン名と設定図形特徴点情報とがＲＡＭ２２（図１参照）に記憶される。そして、事前設定時における、サーバ２のＣＰＵ２０の制御処理フローが終了される。
【０１０２】
次に、図１、図５、図６、図１１、図１２、図１４および図１６を参照して、第２実施形態の認証システム１００の事前設定後のログイン時における、電子機器１のＣＰＵ１２の制御処理フロー、および、サーバ２のＣＰＵ２０の制御処理フローについて説明する。
【０１０３】
事前設定後のログイン時においては、まず、電子機器１の表示部１０に、図１４に示すログイン画面２１０ａが表示される。そして、図１６に示すように、ステップＳ１６１において、ＣＰＵ１２（図１参照）により、入力が確定されたか否かが判断されるとともに、入力が確定されたと判断されるまでこの判断が繰り返される。入力が確定されたと判断された場合には、ＣＰＵ１２により、ステップＳ１６２において、ログイン名が入力されているとともに、許容範囲（α％以上β％以下）が範囲設定領域２１０ｅに入力されているか否かが判断され、ログイン名および許容範囲が入力されていると判断された場合には、ステップＳ１６３において、少なくとも１回、パスワード図形が入力されたか否かが判断される。ログイン名および許容範囲が入力されていないと判断された場合、および、パスワード図形が入力されていないと判断された場合には、ステップＳ１６１に戻る。
【０１０４】
パスワード図形が入力されたと判断された場合には、ステップＳ１６４において、ＣＰＵ１２により、ユーザにより入力されたパスワード図形が特徴点（線）に分割される。そして、ステップＳ１６５において、ＣＰＵ１２により、図１１に示す図形特徴点情報生成処理（ステップＳ５１〜Ｓ６２）が行われる。その後、ステップＳ１６６において、ＣＰＵ１２により、ログイン名および許容範囲がサーバ２（図１参照）に送信されるとともに、図形特徴点情報生成処理において取得された図形特徴点情報（図５および図６参照）がサーバ２に送信される。
【０１０５】
また、サーバ２では、ステップＳ１７１において、ＣＰＵ２０（図１参照）により、ログイン名および許容範囲と図形特徴点情報とを電子機器１から受信したか否かが判断されるとともに、受信したと判断されるまでこの判断が繰り返される。ログイン名および許容範囲と図形特徴点情報とを受信したと判断された場合には、ステップＳ１７２において、ＣＰＵ２０により、図１２に示す特徴点比較処理が行われる。
【０１０６】
ここで、第２実施形態の特徴点比較処理では、受信した図形特徴点情報のベクトルデータが、事前設定時に算出された許容範囲情報の許容範囲内（（平均±標準偏差）内）に含まれるか否かを判断した上記第１実施形態とは異なり、受信した図形特徴点情報のベクトルデータがユーザにより設定された許容範囲内に含まれるか否かが判断される。
【０１０７】
つまり、上記第１実施形態とは異なり、ステップＳ８４において、ＣＰＵ２０により、図形特徴点情報のＮ番目の始点のＸ座標（Ｘ）が、設定図形特徴点情報のＮ番目の始点のＸ座標Ｘｓｎに対して、式（Ｘｓｎ×α／１００）≦Ｘ≦（Ｘｓｎ×β／１００）を満たすか否かと、図形特徴点情報のＮ番目の始点のＹ座標（Ｙ）が、設定図形特徴点情報のＮ番目の始点のＹ座標のＹｓｎに対して、式（Ｙｓｎ×α／１００）≦Ｙ≦（Ｙｓｎ×β／１００）を満たすか否かとが判断される。そして、始点のＸ座標およびＹ座標が上記式をそれぞれ満たす場合に、ＣＰＵ２０により、図形特徴点情報のＮ番目の始点の座標が、ユーザにより設定された許容範囲内に含まれると判断される。
【０１０８】
また、ステップＳ８５において、ステップＳ８４と同様に、ＣＰＵ２０により、図形特徴点情報のＮ番目の終点の座標（Ｘ、Ｙ）が、ユーザにより設定された許容範囲内に含まれるか否か（設定図形特徴点情報のＮ番目の終点の座標（Ｘｅｎ、Ｙｅｎ）に対して、式（Ｘｅｎ×α／１００）≦Ｘ≦（Ｘｅｎ×β／１００）と、式（Ｙｅｎ×α／１００）≦Ｙ≦（Ｙｅｎ×β／１００）とを満たすか否か）が判断される。
【０１０９】
また、ステップＳ８６において、ＣＰＵ２０により、図形特徴点情報のＮ番目の幅Ｗが、ユーザにより設定された許容範囲内に含まれるか否か（設定図形特徴点情報のＮ番目の幅Ｗｎに対して、式（Ｗｎ×α／１００）≦Ｗ≦（Ｗｎ×β／１００）を満たすか否か）が判断される。また、ステップＳ８７において、ＣＰＵ２０により、図形特徴点情報のＮ番目の高さＨが、ユーザにより設定された許容範囲内に含まれるか否か（設定図形特徴点情報におけるＮ番目の高さＨｎに対して、式（Ｈｎ×α／１００）≦Ｈ≦（Ｈｎ×β／１００）を満たすか否か）が判断される。
【０１１０】
また、ステップＳ８９およびＳ９０において、上記したステップＳ８４およびＳ８５と同様の処理が行われる。また、ステップＳ９１において、ＣＰＵ２０により、図形特徴点情報のＮ番目の制御点（始点）の座標（Ｘ、Ｙ）が、ユーザにより設定された許容範囲内に含まれるか否か（設定図形特徴点情報のＮ番目の制御点（始点）の座標の座標（Ｘｃｎ、Ｙｃｎ）に対して、式（Ｘｃｎ×α／１００）≦Ｘ≦（Ｘｃｎ×β／１００）と、式（Ｙｃｎ×α／１００）≦Ｙ≦（Ｙｃｎ×β／１００）とを満たすか否か）が判断される。また、ステップＳ９２において、ＣＰＵ２０により、図形特徴点情報のＮ番目の制御点（終点）の座標（Ｘ、Ｙ）が、ユーザにより設定された許容範囲内に含まれるか否か（設定図形特徴点情報におけるＮ番目の制御点（終点）の座標の座標（Ｘｄｎ、Ｙｄｎ）に対して、式（Ｘｄｎ×α／１００）≦Ｘ≦（Ｘｄｎ×β／１００）と、式（Ｙｄｎ×α／１００）≦Ｙ≦（Ｙｄｎ×β／１００）とを満たすか否か）が判断される。
【０１１１】
なお、ログイン時における、これ以降の電子機器１のＣＰＵ１２の制御処理フロー、および、サーバ２のＣＰＵ２０の制御処理フローは、上記第１実施形態と同様である。
【０１１２】
また、本発明の第２実施形態のＮ回目のリクエスト時における制御処理フローでは、サーバ２のＣＰＵ２０が、許容範囲情報のベクトルデータの平均ではなく、設定図形特徴点情報のベクトルデータを用いてサーバ側トークンを生成する点を除いて、図１３に示す上記第１実施形態のＮ回目のリクエスト時における制御処理フローと同様である。
【０１１３】
第２実施形態では、上記のように、電子機器１のＣＰＵ１２を、サーバ２へのリクエスト時に、ログイン時のパスワード図形に基づく図形特徴点情報（ベクトルデータ）に基づいてトークンを変形させて、機器側トークンを生成するとともに、生成した機器側トークンをサーバ２に送信するように構成する。また、サーバ２のＣＰＵ２０を、電子機器１からのリクエスト時に、設定時特徴点情報を用いてトークンを変形させて、サーバ側トークンを生成するとともに、受信した機器側トークンと生成したサーバ側トークンとが一致すると判断した場合に、サーバ２は、機器側トークンが正しいと判断して、電子機器１を認証するように構成する。これにより、電子機器１とサーバ２との通信の秘匿性を高めることができる。
【０１１４】
また、第２実施形態では、ログイン時に、サーバ２のＣＰＵ２０により、電子機器１から受信した図形特徴点情報が、ユーザにより設定された許容範囲内に含まれる場合には、受信した図形特徴点情報が正しいと判断されるように構成する。これにより、ログイン時に許容範囲をユーザが設定することができるので、ユーザはログイン時にパスワード図形を過度に正確に入力する必要がない。これにより、ユーザの利便性を向上させることができる。なお、本発明の第２実施形態のその他の効果は、上記第１実施形態と同様である。
【０１１５】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【０１１６】
たとえば、上記第１および第２実施形態では、Ｎ番目の特徴点が曲線である場合には、始点から制御点（始点）に向かうベクトルとＸ軸とのなす角度における正弦および余弦が演算される例を示したが、本発明はこれに限られない。本発明では、特徴点が曲線である場合には、たとえば、始点から制御点（終点）に向かうベクトルとＸ軸とのなす角度における正弦および余弦を演算してもよいし、始点から終点に向かうベクトルとＸ軸とのなす角度における正弦および余弦を演算してもよい。
【０１１７】
また、上記第１および第２実施形態では、トークンを構成する文字列の各々の文字を、対応するＡＳＣＩＩコードの１０進数の数字に置き換えるとともに、置き換えた数字の各々に対して正弦（ｓｉｎθｎ）または余弦（ｃｏｓθｎ）の絶対値が乗算されることによってトークンが変形される例を示したが、本発明はこれに限られない。本発明では、トークンを構成する文字列の各々の文字を、対応するＡＳＣＩＩコードの１６進数の数字に置き換えてもよいし、８進数の数字に置き換えてもよい。また、ＡＳＣＩＩコード以外の文字コードを用いて、文字列からなるトークンを数字に置き換えて変形させてもよい。さらに、数字列からなるトークンを用いることによって、トークンにそのまま正弦（ｓｉｎθｎ）または余弦（ｃｏｓθｎ）の絶対値を乗算させて、変形トークンを生成させるように構成してもよい。
【０１１８】
また、上記第１および第２実施形態では、パスワード図形のベクトルデータに基づいて演算した正弦の絶対値および余弦の絶対値のうち大きい方をトークンに乗算することによって、トークンを変形させて機器側トークンおよびサーバ側トークンを生成した例を示したが、本発明はこれに限られない。本発明では、正弦の絶対値および余弦の絶対値のうち小さい方を用いてトークンを変形してもよい。また、パスワード図形のベクトルデータに基づいて正弦および余弦以外の三角関数（たとえば、正接）を演算して、求めた三角関数を用いてトークンを変形してもよい。また、三角関数の代わりに、パスワード図形から演算した他の数学的要素（たとえば、重心など）を用いてもよい。また、リクエスト毎に所定の角度だけパスワード図形を回転させるとともに、回転させた状態のパスワード図形からトークンを変形させるためのベクトルデータを取得してもよい。
【０１１９】
また、上記第１および第２実施形態では、Ｎ回目のリクエスト時に生成されるＮ番目の機器側トークンを、１〜（Ｎ−１）回目のリクエスト時に生成された１〜（Ｎ−１）番目の機器側トークンとは異なるように生成した例を示したが、本発明はこれに限られない。本発明では、Ｎ回目のリクエスト時に生成されるＮ番目の機器側トークンを、１〜（Ｎ−１）回目のリクエスト時に生成された１〜（Ｎ−１）番目の機器側トークンのいずれかと同一になるように構成してしてもよい。また、リクエスト回数に拘わらず、常に同一の機器側トークンを生成するように構成してもよい。
【０１２０】
また、上記第１および第２実施形態では、認証システム１００において、電子機器１のタッチパネル１１に入力されたパスワード図形に基づいて、トークンを変形させた例を示したが、本発明はこれに限られない。たとえば、認証システムのスレイブ機器として、カメラなどの撮像部を有する電子機器を用いてもよい。この場合、撮像部で撮像されたパスワード図形に基づいて、トークンが変形される。
【０１２１】
また、上記第１および第２実施形態では、１種のパスワード図形に基づいて、トークンを変形させる例を示したが、本発明はこれに限られない。本発明では、複数の異なるパスワード図形を用いて、トークンを変形させてもよい。
【０１２２】
また、上記第１および第２実施形態では、ログイン時において、サーバ２のＣＰＵ２０により、特徴点が直線の場合には、電子機器１から受信した図形特徴点情報（ベクトルデータ）の始点、終点、幅および高さの４つの全てが許容範囲内にあり、特徴点が曲線の場合には、図形特徴点情報の始点、終点、制御点（始点）および制御点（終点）の４つの全てが許容範囲内にある場合に、受信した図形特徴点情報が正しいと判断される例を示したが、本発明はこれに限られない。本発明では、受信したすべての図形特徴点情報（ベクトルデータ）が許容範囲内にない場合であっても、受信した図形特徴点情報が所定の割合（たとえば、８０％）以上許容範囲内にある場合には、図形特徴点情報が正しいと判断するように構成してもよい。
【０１２３】
また、上記第１実施形態では、サーバ２のＲＡＭ２２に、特徴点のベクトルデータの平均および標準偏差を許容範囲情報として記憶させた例を示したが、本発明はこれに限られない。本発明では、サーバ２のＲＡＭ２２に、特徴点のベクトルデータの平均および変動係数（標準偏差を平均で除した値）を許容範囲情報として記憶させてもよい。
【０１２４】
また、上記第１実施形態では、許容範囲として、複数のパスワード図形に基づいて演算したベクトルデータの（平均±標準偏差）の範囲を用いた例を示したが、本発明はこれに限られない。たとえば、複数のパスワード図形における各々のベクトルデータの最小値および最大値を取得して、最小値以上最大値以下の範囲を許容範囲として用いてもよい。
【０１２５】
また、上記第１および第２実施形態では、特徴点が曲線である場合には、電子機器１のＣＰＵ１２は、３次元ベジェ曲線により定義される４つの制御点における座標（始点の座標、終点の座標、制御点（始点）の座標および制御点（終点）の座標）をベクトルデータとして取得および演算した例を示したが、本発明はこれに限られない。たとえば、２次元ベジェ曲線により定義される３つの制御点における座標（始点の座標、終点の座標および制御点（始点）の座標）をベクトルデータとして取得および演算してもよい。
【０１２６】
また、上記第１および第２実施形態では、説明の便宜上、電子機器１のＣＰＵ１２の制御処理、および、サーバ２のＣＰＵ２０の制御処理を制御処理フローに沿って順番に処理を行うフロー駆動型のフローチャートを用いて説明したが、本発明はこれに限られない。本発明では、電子機器１のＣＰＵ１２の制御処理、および、サーバ２のＣＰＵ２０の制御処理を、イベント単位で処理を実行するイベント駆動型（イベントドリブン型）の処理により行ってもよい。この場合、完全なイベント駆動型で行ってもよいし、イベント駆動およびフロー駆動を組み合わせて行ってもよい。
【符号の説明】
【０１２７】
１  電子機器（スレイブ機器）
２  サーバ（マスター機器）
３  ネットワーク
１２  ＣＰＵ（スレイブ側制御部）
２０  ＣＰＵ（マスター側制御部）
１００  認証システム
【図１】
2014170428.tif 000003
【図２】
2014170428.tif 000004
【図３】
2014170428.tif 000005
【図４】
2014170428.tif 000006
【図５】
2014170428.tif 000007
【図６】
2014170428.tif 000008
【図７】
2014170428.tif 000009
【図８】
2014170428.tif 000010
【図９】
2014170428.tif 000011
【図１０】
2014170428.tif 000012
【図１１】
2014170428.tif 000013
【図１２】
2014170428.tif 000014
【図１３】
2014170428.tif 000015
【図１４】
2014170428.tif 000016
【図１５】
2014170428.tif 000017
【図１６】
2014170428.tif 000018