(57)【特許請求の範囲】
【請求項１】
キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成装置であって、
品詞毎に少なくとも１つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶手段と、
前記記憶手段から、いずれかの構文パターンを選択する構文選択手段と、
前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択手段と、を備え、
前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、
前記単語選択手段は、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成装置。
【請求項２】
請求項１記載の文章生成装置であって、
前記単語辞書に品詞毎に設定された各単語は、先頭文字の５０音毎に分類して登録され、
前記単語選択手段は、前記単語辞書から選択した各単語を、先頭文字の５０音毎にカウントし、カウント数が最も少ない５０音の先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成装置。
【請求項３】
キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成方法であって、
コンピュータは、
品詞毎に少なくとも１つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶部を備え、
前記記憶部から、いずれかの構文パターンを選択する構文選択ステップと、
前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択ステップと、を行い、
前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、
前記単語選択ステップは、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成方法。
【請求項４】
請求項３記載の文章生成方法であって、
前記単語辞書に品詞毎に設定された各単語は、先頭文字の５０音毎に分類して登録され、
前記単語選択ステップは、前記単語辞書から選択した各単語を、先頭文字の５０音毎にカウントし、カウント数が最も少ない５０音の先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成方法。
【請求項５】
コンピュータが実行する、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成プログラムであって、
前記コンピュータは、
品詞毎に少なくとも１つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶部を備え、
前記コンピュータに、
前記記憶部から、いずれかの構文パターンを選択する構文選択ステップ、および、
前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択ステップと、を実行させ、
前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、
前記単語選択ステップは、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成プログラム。
【請求項６】
請求項５記載の文章生成プログラムであって、
前記単語辞書に品詞毎に設定された各単語は、先頭文字の５０音毎に分類して登録され、
前記単語選択ステップは、前記単語辞書から選択した各単語を、先頭文字の５０音毎にカウントし、カウント数が最も少ない５０音の先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成技術に関する。
【背景技術】
【０００２】
コンピュータにアクセスしてきたユーザを認証する認証技術として、キーストロークダイナミクス（以下、「キーストローク認証」という。）が研究されている。キーストローク認証は、バイオメトリクス（生体認証）の１つである。人のキーストローク（コンピュータのキーボードのタイピング）には、その人固有のパターンがあり、キーストローク認証は、この性質を利用して認証を行うものである。キーストローク認証については、例えば非特許文献１に記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「非定型な日本語文入力におけるキーストロークダイナミクス識別」，佐村  敏治、西村  治彦  著，システム制御情報学会論文誌，Ｖｏｌ.２２，Ｎｏ.４，ｐｐ．１４５−１５３，２００９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
キーストローク認証では、認証サービスを行う前に、テンプレート情報と呼ばれる各ユーザの特徴量を、あらかじめ認証サーバ側に登録しておく必要がある。また、キーストローク認証では、認証に用いる入力文をパスワード等の定型文字列とする場合と、非定型の自由な文章とする場合とがある。
【０００５】
非定型の文章を認証に用いる場合、認証時の入力文字列が非定型（自由）な文章であるため、テンプレート情報では多くの文字および連続する文字に関するキーストロークの特徴を保持する必要がある。そのため、精度の高いテンプレート情報を得るためには、ユーザに多数の（数千文字、または数千キー程度）のキーボード入力を要求し、ユーザの入力負荷が大きく、煩わしいという問題がある。
【０００６】
すなわち、キーストローク認証では、テンプレート情報を取得するまで認証を行うことができず、ユーザは認証サービスを利用することができない。したがって、ユーザは、認証サービスを利用するためには多くのキーボード入力をする必要があり、実際の認証サービスの開始までに大きな障害となっている。
【０００７】
また、テンプレート情報を得るためにユーザがキーボード入力を行う場合、ユーザが任意の文章を自由に入力する方法と、認証サーバから提示された所定の文章を入力する場合とがある。ユーザが任意の文章を自由に入力する方法では、ユーザはテンプレート情報の生成に必要な情報がどのようなものであるのかを考慮することなく入力するため、実際にテンプレート情報の取得に最低限必要な文字数よりもはるかに多くの文字数を入力することとなる。また、認証サーバから所定の文章を提示する場合であっても、ユーザの入力負荷を低減させることについては、考慮されていない。
【０００８】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、キーストローク認証において、認証サービス開始前のテンプレート情報取得のために必要なキー入力数をより削減し、ユーザの入力負荷および入力時間をより低減することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明は、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成装置であって、品詞毎に少なくとも１つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶手段と、前記記憶手段から、いずれかの構文パターンを選択する構文選択手段と、前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択手段と、を備え、前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、前記単語選択手段は、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択する。
【００１０】
また、本発明は、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成方法であって、コンピュータは、品詞毎に少なくとも１つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶部を備え、前記記憶部から、いずれかの構文パターンを選択する構文選択ステップと、前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択ステップと、を行い、前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、前記単語選択ステップは、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択する。
【００１１】
また、本発明は、コンピュータが実行する、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成プログラムであって、前記コンピュータは、品詞毎に少なくとも１つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶部を備え、前記コンピュータに、前記記憶部から、いずれかの構文パターンを選択する構文選択ステップ、および、前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択ステップと、を実行させ、前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、前記単語選択ステップは、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択する。
【発明の効果】
【００１２】
本発明によれば、キーストローク認証において、認証サービス開始前のテンプレート情報取得のために必要なキー入力数をより削減し、ユーザの入力負荷および入力時間をより低減することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るキーストローク認証システムの全体構成図である。
【図２】単語辞書および構文パターンの一例を示す図である。
【図３】入力提示文章の生成処理を示すフローチャートである。
【図４】選択した単語のカウンタの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について説明する。
【００１５】
図１は、本発明の実施形態に係るキーストローク認証システムの全体構成図である。
【００１６】
本実施形態のキーストローク認証システムは、キーストローク認証を行う認証サーバ１（文章生成装置）と、クライアント３とを備える。認証サーバ１とクライアント３とは、インターネットなどのネットワーク９により接続されている。
【００１７】
本実施形態の認証サーバ１は、キーストローク認証を行うとともに、キーストローク認証を開始する前のテンプレート情報を登録する登録フェーズにおいて、ユーザにキーボード入力（タイピング）させるための入力提示文章を生成する。
【００１８】
図示する認証サーバ１は、文章生成部１１と、記憶部１２と、文章記憶部１３と、テンプレート情報登録部１４と、テンプレート情報記憶部１５と、認証部１６とを備える。
【００１９】
文章生成部１１は、テンプレート情報を取得するために、登録フェーズにおいて、ユーザにキーボード入力（タイピング）させるための入力提示文章を生成する。なお、文章生成部１１は、図示しない構文選択部、品詞取得部および単語選択部とを有する。
【００２０】
記憶部１２には、入力提示文章を生成するための単語辞書および複数の構文パターンが記憶されている。文章記憶部１３には、文章生成部１１が生成した入力提示文章が記憶される。
【００２１】
テンプレート情報登録部１４は、登録フェーズにおいてクライアント３から送信されるキーストロークの特徴量をテンプレート情報としてテンプレート情報記憶部１５に登録する。テンプレート情報は、クライアント３を使用する各ユーザ固有のキーストロークの特徴を示す特徴量である。
【００２２】
認証部１６は、認証フェーズにおいて、クライアント３から受信したキーストロークの特徴量と、テンプレート情報記憶部１５に記憶されたテンプレート情報とを比較・照合して類似度を算出し、当該類似度に応じて本人認証を行う。例えば、類似度が所定の閾値以上の場合は本人であると判別し、類似度が所定の閾値未満の場合は不正な第三者であると判別する。
【００２３】
クライアント３は、キーストローク認証システムのユーザ（利用者）が使用する端末であって、例えばＰＣ（Personal Computer）などを用いることができる。図示するクライアント３は、入力提示文章を認証サーバ１から受信し、ディスプレイなどの出力装置に出力する受信部３１と、入力提示文章に従ってユーザがキー入力したキーストロークから特徴量（キーストローク情報）を抽出し、認証サーバ１に送信するキーストローク情報取得部３２と、を備える。
【００２４】
上記説明した認証サーバ１およびクライアント３は、例えば、少なくともＣＰＵと、メモリと、ＨＤＤなどの記憶装置とを備えたコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、認証サーバ１およびクライアント３の各機能は、認証サーバ１用のプログラムの場合は認証サーバ１のＣＰＵが、そして、クライアント３用のプログラムの場合はクライアント３のＣＰＵが、それぞれ実行することにより実現される。
【００２５】
図２は、記憶部１２に記憶される単語辞書および構文パターンの一例を示したものである。
【００２６】
図２（ａ）に示する単語辞書には、横軸を品詞とし、縦軸を５０音（あいうえお・・・）としたテーブルである。すなわち、単語辞書には、品詞毎に、当該品詞に対応する少なくとも１つの単語が登録されて、また、品詞毎に登録された各単語は、当該単語の先頭文字に応じて分類して登録されている。図示する例では、品詞毎に設定された各単語は、先頭文字の５０音毎（あいうえお・・・）に分類して登録されている。
【００２７】
図２（ｂ）には、複数の品詞から構成される、複数の構文パターンの一例が示されている。
【００２８】
なお、本実施形態では、図２に示すように日本語の入力提示文章の生成を例として説明するが、本発明は、日本語に限定されず、英語など他の言語の入力提示文章を生成することとしてもよい。例えば、英語の入力提示文章を生成する場合、単語辞書は、５０音毎ではなく、アルファベットの２６文字毎に分類して登録される。また、構文パターンは、英語の文法に沿った語順で品詞が設定される。
【００２９】
次に、本実施形態の認証サーバ１の文章生成部１１が行う、入力提示文章の生成処理について説明する。
【００３０】
図３は、入力提示文章の生成処理を示すフローチャートである。まず、文章生成部１１（構文選択部）は、記憶部１２に記憶された構文パターンの中からいずれかの構文パターンを選択する（Ｓ１）。例えば、文章生成部１１（構文選択部）は、構文パターン１から順に選択するものとする。
【００３１】
そして、文章生成部１１（品詞取得部）は、Ｓ１で選択した構文パターンを構成する品詞を取得する（Ｓ２）。例えば、Ｓ１で選択した構文パターンが構文パターン１の場合、まず、「連体詞」を取得する。
【００３２】
そして、文章生成部１１（単語選択部）は、Ｓ２で取得した品詞に対応する単語を、単語辞書から選択する（Ｓ３）。ここで、文章生成部１１（単語選択部）は、生成される入力提示文章の中で各５０音が極力均等にバランスよく使用されるように、単語辞書から単語を選択し、選択した単語をメモリなどに記憶する。
【００３３】
例えば、単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を単語辞書から選択する。本実施形態では、単語辞書から選択した各単語を、先頭文字の５０音毎にカウントし、カウント数が最も少ない５０音の先頭文字の単語を前記単語辞書から選択する。
【００３４】
具体的には、認証サーバ１は、図４に示すような５０音毎のカウンタを記憶部１２に保持し、Ｓ３で単語を選択した後に、選択した単語の先頭の音の値に「１」を加算する。例えば、Ｓ３で単語辞書から「連体詞」の「あの」を選択した場合、「あ」のカウント数に「１」を加算する。なお、カウンタの各音の初期値は「０」である。
【００３５】
また、図４に示すカウンタは、全ての音の最小のカウント数（最小値）と最大のカウント数（最大値）とを有する。文章生成部１１（単語選択部）は、選択した単語のカウント値を更新した後、全ての音のカウント数をサーチし、最小のカウント数と最大のカウント数とを最新状態に更新しておく。
【００３６】
そして、文章生成部１１（単語選択部）は、Ｓ３で単語を選択する際に、最小のカウント数の音を先頭に有する単語を単語辞書から選択する。なお、最小のカウント数を有する音が複数ある場合は、ランダムに選択する。また、最小のカウント数を有する音の単語が存在しない品詞の場合、最小のカウント値に「１」を加算したカウント値の音の単語を選択する。
【００３７】
そして、Ｓ１で選択した構文パターンの次の品詞が有る場合は（Ｓ４：ＹＥＳ）、Ｓ２に戻り、次の品詞を取得し、当該品詞に対応する単語を前述のように各５０音が満遍なく使用されるように、単語辞書から単語を選択し、メモリなどに記憶する（Ｓ３）。このようにＳ２およびＳ３の処理を、Ｓ１で選択した構文パターンの品詞の数だけ繰り返し、全ての品詞にについて単語を選択すると（Ｓ４：ＮＯ）、文章生成部１１（単語選択部）は、Ｓ３で選択しメモリに記憶していた各単語を、選択した順番で文章記憶部１３に記憶・出力する（Ｓ５）。
【００３８】
例えば、Ｓ１で図２（ｂ）に示す構文パターン１（連体詞＋名詞＋助詞＋副詞＋副詞＋動詞）が選択された場合、「あの馬はとても速く走る」などの文が生成され、文章記憶部１３に記憶される。
【００３９】
なお、文章生成部１１は、選択した動詞の時制（現在、過去、未来）、または文体（平叙文、否定文、疑問文、命令文）などを、ランダムに変換して、文を生成することとしてもよい。
【００４０】
そして、次の構文パターンが有る場合は（Ｓ６：ＹＥＳ）、Ｓ１に戻り、文章生成部１１（構文選択部）は、記憶部１２に記憶された構文パターンから次の構文（例えば、構文パターン２）を選択する（Ｓ１）。そして、前述したように品詞毎に単語辞書から単語を選択して文を生成し、文章記憶部１３に記憶する（Ｓ２〜Ｓ５）。次の構文パターンがない場合（Ｓ６：ＮＯ）、文章記憶部１３には、構文パターン毎に生成された、複数の文から構成される入力提示文章が記憶され、処理を終了する。
【００４１】
図３に示す処理の後、文章生成部１１は、文章記憶部１３に記憶した入力提示文章を、ネットワーク９を介してクライアント３に送信する。
【００４２】
クライアント３の受信部３１は、認証サーバ１から送信された入力提示文章を受信し、ディスプレイなどの出力装置に出力する。ユーザは、出力された入力提示文章を参照し、キーボードを用いて当該入力提示文章をキー入力（タイピング）する。
【００４３】
これにより、クライアント３のキーストローク情報取得部３２は、入力キー毎（または入力文字毎）に、キー・プレス時間、キー・リリース時間などのキーストロークに関するデータを取得し、各キーの押下時間（キー・プレスからキー・リリースまでの時間）、連続する２つのキーにおいて、最初のキーを押してから次のキーを押すまでの時間、最初のキーを離してから次のキーを押すまでの時間、最初のキーを離してから次のキーを離すまでの時間などのキーストロークの特徴量を抽出する。特徴量の抽出については、例えば、前述の非特許文献１等に記載されているように、上記の時間の平均や標準偏差を用いるものとする。
【００４４】
そして、キーストローク情報取得部３２は、抽出した特徴量を、キー入力したユーザのユーザＩＤとともに認証サーバ１に送信する。
【００４５】
認証サーバ１のテンプレート情報登録部１４は、クライアント３から送信された特徴量を、当該ユーザのテンプレート情報として、ユーザＩＤとともにテンプレート情報記憶部１５に登録する。
【００４６】
なお、テンプレート情報の登録後の認証フェーズにおいて、クライアント３のキーストローク情報取得部３２は、ユーザがキーボードを用いて非定型（多様）な文章を入力した際のキーストロークに関するデータを取得し、特徴量を抽出して、ユーザＩＤとともに認証サーバ１に送信する。認証サーバ１の認証部１６は、クライアント３から送信された特徴量と、テンプレート情報記憶部１５に記憶された当該ユーザＩＤに対応する特徴量（テンプレート情報）とを比較・照合して類似度を算出し、類似度が所定の閾値以上の場合は、正当なユーザであると判別し、所定の閾値未満の場合は、不正なユーザであると判別する。
【００４７】
以上説明した本実施形態では、キーストローク認証において、認証サービス開始前のテンプレート情報取得のために必要なキー入力数を削減し、ユーザの入力負荷および入力時間をより低減することができる。
【００４８】
すなわち、本実施形態では、既に選択した各単語の先頭文字のカウント数が最も少ない先頭文字の単語を単語辞書から選択することにより、各文字（各キー）を満遍なく入力させる入力提示文章を生成し、テンプレート情報の取得に必要なキー入力数を、より低減することができる。
【００４９】
また、日本語の入力提示文章を生成する場合、子音−母音の連続が重要となるため、単語辞書を５０音毎に分類し、５０音を満遍なく使用するように単語を選択することで、より精度の高いテンプレート情報を取得することができる。また、単語辞書に平仮名だけでなく漢字を混在させることにより、シフトキー、エンターキーをユーザに入力させることができる。
【００５０】
英語の入力提示文を生成する場合には、単語辞書を２６個のアルファベット毎に分類し、２６個のアルファベットを満遍なく入力させ、また、単語間のスペースキーを挿入した文章を生成する。なお、英語の文章の場合、日本語のように子音−母音の連続ではないため、同じアルファベットが重複しない単語を選択して単語辞書に登録する。
【００５１】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記実施形態では、キーストローク認証を行う認証サーバ１が入力提示文章を生成することとしたが、キーストローク認証を行うサーバと、入力提示文章のみを生成する文章生成サーバ（文章生成部１１、記憶部１２、文章記憶部１３）とを分離してもよい。
【００５２】
また、日本語や英語、あるいはユーザの属性などに応じて複数の単語辞書を備え、利用シーンに応じて最適な単語辞書を選択し、選択した単語辞書を用いて入力提示文を生成することとしてもよい。これにより、認証精度の向上が期待できる。
【符号の説明】
【００５３】
１    認証サーバ
１１  文章生成部
１２  記憶部
１３  文章記憶部
１４  テンプレート情報登録部
１５  テンプレート情報記憶部
１６  認証部
３    クライアント
３１  受信部
３２  キーストローク情報取得部
９    ネットワーク
【図１】
0005433513.tif 000002
【図２】
0005433513.tif 000003
【図３】
0005433513.tif 000004
【図４】
0005433513.tif 000005