説明

文章生成装置、文章生成方法、および文章生成プログラム

【課題】キーストローク認証において、認証サービス開始前のテンプレート情報取得のために必要なキー入力数を削減し、ユーザの入力負荷および入力時間をより低減する。
【解決手段】キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成装置1であって、品詞毎に少なくとも1つの単語が設定された単語辞書、および複数の品詞から構成される複数の構文パターンを記憶する記憶手段12と、記憶手段12から構文パターンを選択する構文選択手段11と、選択した構文パターンを構成する品詞毎に単語辞書から単語を選択して文章を生成する単語選択手段11とを備え、単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、単語選択手段11は、単語辞書から選択した各単語を当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を単語辞書から選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成技術に関する。
【背景技術】
【0002】
コンピュータにアクセスしてきたユーザを認証する認証技術として、キーストロークダイナミクス(以下、「キーストローク認証」という。)が研究されている。キーストローク認証は、バイオメトリクス(生体認証)の1つである。人のキーストローク(コンピュータのキーボードのタイピング)には、その人固有のパターンがあり、キーストローク認証は、この性質を利用して認証を行うものである。キーストローク認証については、例えば非特許文献1に記載されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】「非定型な日本語文入力におけるキーストロークダイナミクス識別」,佐村 敏治、西村 治彦 著,システム制御情報学会論文誌,Vol.22,No.4,pp.145−153,2009
【発明の概要】
【発明が解決しようとする課題】
【0004】
キーストローク認証では、認証サービスを行う前に、テンプレート情報と呼ばれる各ユーザの特徴量を、あらかじめ認証サーバ側に登録しておく必要がある。また、キーストローク認証では、認証に用いる入力文をパスワード等の定型文字列とする場合と、非定型の自由な文章とする場合とがある。
【0005】
非定型の文章を認証に用いる場合、認証時の入力文字列が非定型(自由)な文章であるため、テンプレート情報では多くの文字および連続する文字に関するキーストロークの特徴を保持する必要がある。そのため、精度の高いテンプレート情報を得るためには、ユーザに多数の(数千文字、または数千キー程度)のキーボード入力を要求し、ユーザの入力負荷が大きく、煩わしいという問題がある。
【0006】
すなわち、キーストローク認証では、テンプレート情報を取得するまで認証を行うことができず、ユーザは認証サービスを利用することができない。したがって、ユーザは、認証サービスを利用するためには多くのキーボード入力をする必要があり、実際の認証サービスの開始までに大きな障害となっている。
【0007】
また、テンプレート情報を得るためにユーザがキーボード入力を行う場合、ユーザが任意の文章を自由に入力する方法と、認証サーバから提示された所定の文章を入力する場合とがある。ユーザが任意の文章を自由に入力する方法では、ユーザはテンプレート情報の生成に必要な情報がどのようなものであるのかを考慮することなく入力するため、実際にテンプレート情報の取得に最低限必要な文字数よりもはるかに多くの文字数を入力することとなる。また、認証サーバから所定の文章を提示する場合であっても、ユーザの入力負荷を低減させることについては、考慮されていない。
【0008】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、キーストローク認証において、認証サービス開始前のテンプレート情報取得のために必要なキー入力数をより削減し、ユーザの入力負荷および入力時間をより低減することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明は、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成装置であって、品詞毎に少なくとも1つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶手段と、前記記憶手段から、いずれかの構文パターンを選択する構文選択手段と、前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択手段と、を備え、前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、前記単語選択手段は、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択する。
【0010】
また、本発明は、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成方法であって、コンピュータは、品詞毎に少なくとも1つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶部を備え、前記記憶部から、いずれかの構文パターンを選択する構文選択ステップと、前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択ステップと、を行い、前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、前記単語選択ステップは、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択する。
【0011】
また、本発明は、コンピュータが実行する、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成プログラムであって、前記コンピュータは、品詞毎に少なくとも1つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶部を備え、前記コンピュータに、前記記憶部から、いずれかの構文パターンを選択する構文選択ステップ、および、前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択ステップと、を実行させ、前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、前記単語選択ステップは、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択する。
【発明の効果】
【0012】
本発明によれば、キーストローク認証において、認証サービス開始前のテンプレート情報取得のために必要なキー入力数をより削減し、ユーザの入力負荷および入力時間をより低減することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係るキーストローク認証システムの全体構成図である。
【図2】単語辞書および構文パターンの一例を示す図である。
【図3】入力提示文章の生成処理を示すフローチャートである。
【図4】選択した単語のカウンタの一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について説明する。
【0015】
図1は、本発明の実施形態に係るキーストローク認証システムの全体構成図である。
【0016】
本実施形態のキーストローク認証システムは、キーストローク認証を行う認証サーバ1(文章生成装置)と、クライアント3とを備える。認証サーバ1とクライアント3とは、インターネットなどのネットワーク9により接続されている。
【0017】
本実施形態の認証サーバ1は、キーストローク認証を行うとともに、キーストローク認証を開始する前のテンプレート情報を登録する登録フェーズにおいて、ユーザにキーボード入力(タイピング)させるための入力提示文章を生成する。
【0018】
図示する認証サーバ1は、文章生成部11と、記憶部12と、文章記憶部13と、テンプレート情報登録部14と、テンプレート情報記憶部15と、認証部16とを備える。
【0019】
文章生成部11は、テンプレート情報を取得するために、登録フェーズにおいて、ユーザにキーボード入力(タイピング)させるための入力提示文章を生成する。なお、文章生成部11は、図示しない構文選択部、品詞取得部および単語選択部とを有する。
【0020】
記憶部12には、入力提示文章を生成するための単語辞書および複数の構文パターンが記憶されている。文章記憶部13には、文章生成部11が生成した入力提示文章が記憶される。
【0021】
テンプレート情報登録部14は、登録フェーズにおいてクライアント3から送信されるキーストロークの特徴量をテンプレート情報としてテンプレート情報記憶部15に登録する。テンプレート情報は、クライアント3を使用する各ユーザ固有のキーストロークの特徴を示す特徴量である。
【0022】
認証部16は、認証フェーズにおいて、クライアント3から受信したキーストロークの特徴量と、テンプレート情報記憶部15に記憶されたテンプレート情報とを比較・照合して類似度を算出し、当該類似度に応じて本人認証を行う。例えば、類似度が所定の閾値以上の場合は本人であると判別し、類似度が所定の閾値未満の場合は不正な第三者であると判別する。
【0023】
クライアント3は、キーストローク認証システムのユーザ(利用者)が使用する端末であって、例えばPC(Personal Computer)などを用いることができる。図示するクライアント3は、入力提示文章を認証サーバ1から受信し、ディスプレイなどの出力装置に出力する受信部31と、入力提示文章に従ってユーザがキー入力したキーストロークから特徴量(キーストローク情報)を抽出し、認証サーバ1に送信するキーストローク情報取得部32と、を備える。
【0024】
上記説明した認証サーバ1およびクライアント3は、例えば、少なくともCPUと、メモリと、HDDなどの記憶装置とを備えたコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、認証サーバ1およびクライアント3の各機能は、認証サーバ1用のプログラムの場合は認証サーバ1のCPUが、そして、クライアント3用のプログラムの場合はクライアント3のCPUが、それぞれ実行することにより実現される。
【0025】
図2は、記憶部12に記憶される単語辞書および構文パターンの一例を示したものである。
【0026】
図2(a)に示する単語辞書には、横軸を品詞とし、縦軸を50音(あいうえお・・・)としたテーブルである。すなわち、単語辞書には、品詞毎に、当該品詞に対応する少なくとも1つの単語が登録されて、また、品詞毎に登録された各単語は、当該単語の先頭文字に応じて分類して登録されている。図示する例では、品詞毎に設定された各単語は、先頭文字の50音毎(あいうえお・・・)に分類して登録されている。
【0027】
図2(b)には、複数の品詞から構成される、複数の構文パターンの一例が示されている。
【0028】
なお、本実施形態では、図2に示すように日本語の入力提示文章の生成を例として説明するが、本発明は、日本語に限定されず、英語など他の言語の入力提示文章を生成することとしてもよい。例えば、英語の入力提示文章を生成する場合、単語辞書は、50音毎ではなく、アルファベットの26文字毎に分類して登録される。また、構文パターンは、英語の文法に沿った語順で品詞が設定される。
【0029】
次に、本実施形態の認証サーバ1の文章生成部11が行う、入力提示文章の生成処理について説明する。
【0030】
図3は、入力提示文章の生成処理を示すフローチャートである。まず、文章生成部11(構文選択部)は、記憶部12に記憶された構文パターンの中からいずれかの構文パターンを選択する(S1)。例えば、文章生成部11(構文選択部)は、構文パターン1から順に選択するものとする。
【0031】
そして、文章生成部11(品詞取得部)は、S1で選択した構文パターンを構成する品詞を取得する(S2)。例えば、S1で選択した構文パターンが構文パターン1の場合、まず、「連体詞」を取得する。
【0032】
そして、文章生成部11(単語選択部)は、S2で取得した品詞に対応する単語を、単語辞書から選択する(S3)。ここで、文章生成部11(単語選択部)は、生成される入力提示文章の中で各50音が極力均等にバランスよく使用されるように、単語辞書から単語を選択し、選択した単語をメモリなどに記憶する。
【0033】
例えば、単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を単語辞書から選択する。本実施形態では、単語辞書から選択した各単語を、先頭文字の50音毎にカウントし、カウント数が最も少ない50音の先頭文字の単語を前記単語辞書から選択する。
【0034】
具体的には、認証サーバ1は、図4に示すような50音毎のカウンタを記憶部12に保持し、S3で単語を選択した後に、選択した単語の先頭の音の値に「1」を加算する。例えば、S3で単語辞書から「連体詞」の「あの」を選択した場合、「あ」のカウント数に「1」を加算する。なお、カウンタの各音の初期値は「0」である。
【0035】
また、図4に示すカウンタは、全ての音の最小のカウント数(最小値)と最大のカウント数(最大値)とを有する。文章生成部11(単語選択部)は、選択した単語のカウント値を更新した後、全ての音のカウント数をサーチし、最小のカウント数と最大のカウント数とを最新状態に更新しておく。
【0036】
そして、文章生成部11(単語選択部)は、S3で単語を選択する際に、最小のカウント数の音を先頭に有する単語を単語辞書から選択する。なお、最小のカウント数を有する音が複数ある場合は、ランダムに選択する。また、最小のカウント数を有する音の単語が存在しない品詞の場合、最小のカウント値に「1」を加算したカウント値の音の単語を選択する。
【0037】
そして、S1で選択した構文パターンの次の品詞が有る場合は(S4:YES)、S2に戻り、次の品詞を取得し、当該品詞に対応する単語を前述のように各50音が満遍なく使用されるように、単語辞書から単語を選択し、メモリなどに記憶する(S3)。このようにS2およびS3の処理を、S1で選択した構文パターンの品詞の数だけ繰り返し、全ての品詞にについて単語を選択すると(S4:NO)、文章生成部11(単語選択部)は、S3で選択しメモリに記憶していた各単語を、選択した順番で文章記憶部13に記憶・出力する(S5)。
【0038】
例えば、S1で図2(b)に示す構文パターン1(連体詞+名詞+助詞+副詞+副詞+動詞)が選択された場合、「あの馬はとても速く走る」などの文が生成され、文章記憶部13に記憶される。
【0039】
なお、文章生成部11は、選択した動詞の時制(現在、過去、未来)、または文体(平叙文、否定文、疑問文、命令文)などを、ランダムに変換して、文を生成することとしてもよい。
【0040】
そして、次の構文パターンが有る場合は(S6:YES)、S1に戻り、文章生成部11(構文選択部)は、記憶部12に記憶された構文パターンから次の構文(例えば、構文パターン2)を選択する(S1)。そして、前述したように品詞毎に単語辞書から単語を選択して文を生成し、文章記憶部13に記憶する(S2〜S5)。次の構文パターンがない場合(S6:NO)、文章記憶部13には、構文パターン毎に生成された、複数の文から構成される入力提示文章が記憶され、処理を終了する。
【0041】
図3に示す処理の後、文章生成部11は、文章記憶部13に記憶した入力提示文章を、ネットワーク9を介してクライアント3に送信する。
【0042】
クライアント3の受信部31は、認証サーバ1から送信された入力提示文章を受信し、ディスプレイなどの出力装置に出力する。ユーザは、出力された入力提示文章を参照し、キーボードを用いて当該入力提示文章をキー入力(タイピング)する。
【0043】
これにより、クライアント3のキーストローク情報取得部32は、入力キー毎(または入力文字毎)に、キー・プレス時間、キー・リリース時間などのキーストロークに関するデータを取得し、各キーの押下時間(キー・プレスからキー・リリースまでの時間)、連続する2つのキーにおいて、最初のキーを押してから次のキーを押すまでの時間、最初のキーを離してから次のキーを押すまでの時間、最初のキーを離してから次のキーを離すまでの時間などのキーストロークの特徴量を抽出する。特徴量の抽出については、例えば、前述の非特許文献1等に記載されているように、上記の時間の平均や標準偏差を用いるものとする。
【0044】
そして、キーストローク情報取得部32は、抽出した特徴量を、キー入力したユーザのユーザIDとともに認証サーバ1に送信する。
【0045】
認証サーバ1のテンプレート情報登録部14は、クライアント3から送信された特徴量を、当該ユーザのテンプレート情報として、ユーザIDとともにテンプレート情報記憶部15に登録する。
【0046】
なお、テンプレート情報の登録後の認証フェーズにおいて、クライアント3のキーストローク情報取得部32は、ユーザがキーボードを用いて非定型(多様)な文章を入力した際のキーストロークに関するデータを取得し、特徴量を抽出して、ユーザIDとともに認証サーバ1に送信する。認証サーバ1の認証部16は、クライアント3から送信された特徴量と、テンプレート情報記憶部15に記憶された当該ユーザIDに対応する特徴量(テンプレート情報)とを比較・照合して類似度を算出し、類似度が所定の閾値以上の場合は、正当なユーザであると判別し、所定の閾値未満の場合は、不正なユーザであると判別する。
【0047】
以上説明した本実施形態では、キーストローク認証において、認証サービス開始前のテンプレート情報取得のために必要なキー入力数を削減し、ユーザの入力負荷および入力時間をより低減することができる。
【0048】
すなわち、本実施形態では、既に選択した各単語の先頭文字のカウント数が最も少ない先頭文字の単語を単語辞書から選択することにより、各文字(各キー)を満遍なく入力させる入力提示文章を生成し、テンプレート情報の取得に必要なキー入力数を、より低減することができる。
【0049】
また、日本語の入力提示文章を生成する場合、子音−母音の連続が重要となるため、単語辞書を50音毎に分類し、50音を満遍なく使用するように単語を選択することで、より精度の高いテンプレート情報を取得することができる。また、単語辞書に平仮名だけでなく漢字を混在させることにより、シフトキー、エンターキーをユーザに入力させることができる。
【0050】
英語の入力提示文を生成する場合には、単語辞書を26個のアルファベット毎に分類し、26個のアルファベットを満遍なく入力させ、また、単語間のスペースキーを挿入した文章を生成する。なお、英語の文章の場合、日本語のように子音−母音の連続ではないため、同じアルファベットが重複しない単語を選択して単語辞書に登録する。
【0051】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記実施形態では、キーストローク認証を行う認証サーバ1が入力提示文章を生成することとしたが、キーストローク認証を行うサーバと、入力提示文章のみを生成する文章生成サーバ(文章生成部11、記憶部12、文章記憶部13)とを分離してもよい。
【0052】
また、日本語や英語、あるいはユーザの属性などに応じて複数の単語辞書を備え、利用シーンに応じて最適な単語辞書を選択し、選択した単語辞書を用いて入力提示文を生成することとしてもよい。これにより、認証精度の向上が期待できる。
【符号の説明】
【0053】
1 認証サーバ
11 文章生成部
12 記憶部
13 文章記憶部
14 テンプレート情報登録部
15 テンプレート情報記憶部
16 認証部
3 クライアント
31 受信部
32 キーストローク情報取得部
9 ネットワーク

【特許請求の範囲】
【請求項1】
キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成装置であって、
品詞毎に少なくとも1つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶手段と、
前記記憶手段から、いずれかの構文パターンを選択する構文選択手段と、
前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択手段と、を備え、
前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、
前記単語選択手段は、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成装置。
【請求項2】
請求項1記載の文章生成装置であって、
前記単語辞書に品詞毎に設定された各単語は、先頭文字の50音毎に分類して登録され、
前記単語選択手段は、前記単語辞書から選択した各単語を、先頭文字の50音毎にカウントし、カウント数が最も少ない50音の先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成装置。
【請求項3】
キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成方法であって、
コンピュータは、
品詞毎に少なくとも1つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶部を備え、
前記記憶部から、いずれかの構文パターンを選択する構文選択ステップと、
前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択ステップと、を行い、
前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、
前記単語選択ステップは、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成方法。
【請求項4】
請求項3記載の文章生成方法であって、
前記単語辞書に品詞毎に設定された各単語は、先頭文字の50音毎に分類して登録され、
前記単語選択ステップは、前記単語辞書から選択した各単語を、先頭文字の50音毎にカウントし、カウント数が最も少ない50音の先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成方法。
【請求項5】
コンピュータが実行する、キーストローク認証におけるテンプレート情報を取得するための文章を生成する文章生成プログラムであって、
前記コンピュータは、
品詞毎に少なくとも1つの単語が設定された単語辞書、および、複数の品詞から構成される複数の構文パターンを記憶する記憶部を備え、
前記コンピュータに、
前記記憶部から、いずれかの構文パターンを選択する構文選択ステップ、および、
前記選択した構文パターンを構成する品詞毎に、前記単語辞書から単語を選択して、文章を生成する単語選択ステップと、を実行させ、
前記単語辞書に品詞毎に設定された各単語は、当該単語の先頭文字に応じて分類して登録され、
前記単語選択ステップは、前記単語辞書から選択した各単語を、当該単語の先頭文字毎にカウントし、カウント数が最も少ない先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成プログラム。
【請求項6】
請求項5記載の文章生成プログラムであって、
前記単語辞書に品詞毎に設定された各単語は、先頭文字の50音毎に分類して登録され、
前記単語選択ステップは、前記単語辞書から選択した各単語を、先頭文字の50音毎にカウントし、カウント数が最も少ない50音の先頭文字の単語を前記単語辞書から選択すること
を特徴とする文章生成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−14390(P2012−14390A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−149845(P2010−149845)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(399035766)エヌ・ティ・ティ・コミュニケーションズ株式会社 (321)
【Fターム(参考)】