(57)【要約】【課題】入力数が少なくてもセキュリティを高めること。【解決手段】複数のボタンの操作を同時に検出する検出手段と、複数の時間領域毎の各ボタンの操作に基づいた第１の値と、一つの時間領域内に少なくとも二つのボタンが操作されたことを示す値を含む第２の値に基づいて生成される第３の値とに基づいて認証を行う認証手段とを具備する。【選択図】    図３
2015038657.tif 000002
【特許請求の範囲】
【請求項１】
複数のボタンの操作を同時に検出する検出手段と、
複数の時間領域毎の各ボタンの操作に基づいた第１の値と、一つの時間領域内に複数のボタンが操作されたことを示す値を含む第２の値に基づいて生成される第３の値とに基づいて認証を行う認証手段と、
を具備する情報処理装置。
【請求項２】
表示画面を有する表示部と、
前記表示画面に前記複数のボタンを表示するボタン表示手段と、
を更に具備する情報処理装置。
【請求項３】
前記ボタン表示手段は、前記複数のボタンとして鍵盤楽器の鍵盤を表示する、
請求項２に記載の情報処理装置。
【請求項４】
前記複数のボタンの操作のテンポを算出し、算出されたテンポに基づいて前記複数のボタンが操作されていた時間を前記複数の時間領域に分割し、各時間領域に各ボタンが操作されていたかを判定し、判定結果に基づいて生成される前記第１の値を前記認証手段に出力する出力手段を更に具備する、
請求項１に記載の情報処理装置。
【請求項５】
複数のボタンの操作を同時に検出する検出手段によってボタンの操作を検出し、
複数の時間領域毎の各ボタンの操作に基づいた第１の値と、一つの時間領域内に複数のボタンが操作されたことを示す値を含む第２の値に基づいて生成される第３の値とに基づいて認証を行う
認証方法。
【請求項６】
表示部の表示画面に前記複数のボタンを表示する、
請求項５に記載の認証方法。
【請求項７】
前記複数のボタンとして鍵盤楽器の鍵盤を表示する、
請求項６に記載の認証方法。
【請求項８】
前記複数のボタンの操作のテンポを算出し、
算出されたテンポに基づいて前記複数のボタンが操作されていた時間を前記複数の時間領域に分割し、
各時間領域に各ボタンが操作されていたかを判定し、
判定結果に基づいて前記第１の値を生成する、
請求項６に記載の認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ボタンの操作によって認証を行う情報処理装置および認証方法に関する。
【背景技術】
【０００２】
キーボードからパスワードを入力して認証を行う手法が使われている。セキュリティを高めるために、パスワードの文字数を多くすることが行われている。パスワードの文字数を多くすると、覚えにくい。パスワードが覚えられないために、パスワードをメモに記録したりすると、メモを他人に見られたりしてセキュリティが下がってしまう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３１８９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
入力数が少なくてもセキュリティを高めることが可能な手法が望まれている。
【０００５】
本発明の目的は、入力数が少なくてもセキュリティを高めることが可能な情報処理装置及び認証方法を提供することである。
【課題を解決するための手段】
【０００６】
実施形態によれば、検出手段と、認証手段とを具備する。検出手段は、複数のボタンの操作を同時に検出する。認証手段は、複数の時間領域毎の各ボタンの操作に基づいた第１の値と、一つの時間領域内に少なくとも二つのボタンが操作されたことを示す値を含む第２の値に基づいて生成される第２の値とに基づいて認証を行う。
【図面の簡単な説明】
【０００７】
【図１】実施形態の情報処理装置の外観の一例を示す斜視図である。
【図２】実施形態の情報処理装置の構成を示すブロック図。
【図３】認証プログラムの構成を示すブロック図。
【図４】鍵盤表示部によってＬＣＤに表示される鍵盤楽器の鍵盤状のボタンを示す図。
【図５】図４に示すボタンにおけるボタン入力の例を示す図。
【図６】図６は図５に示す入力に対する変化量の時間変化を示す図
【図７】図６に示す変化量の時間変化からボタン入力変化量の自己相関を求めた結果を示す図。
【図８】図５に示すボタン入力の例を３つの時間領域に区切った例を示す図。
【図９】図８に示す例においてボタンが押されていた時間領域を示す図。
【図１０】実施形態の認証処理の手順を示すフローチャート。
【図１１】図１０のステップ４０２のエンコード処理の手順を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、例えばタブレットタイプのパーソナルコンピュータ（ＰＣ）１０として実現される。また、この情報処理装置は、スマートフォン、ＰＤＡ、ノートブックタイプのＰＣ等としても実現され得る。図１に示すように、本コンピュータ１０は、コンピュータ本体１１とタッチスクリーンディスプレイ１７とから構成される。
【０００９】
コンピュータ本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、ＬＣＤ（liquid crystal display）１７Ａ及びタッチパネル１７Ｂが組み込まれている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面を覆うように設けられる。タッチスクリーンディスプレイ１７は、コンピュータ本体１１の上面に重ね合わせるように取り付けられている。
【００１０】
コンピュータ本体１１の上側面には、本コンピュータ１０を電源オン／電源オフするためのパワーボタン、音量調節ボタン、メモリカードスロット等が配置されている。コンピュータ本体１１の下側面には、スピーカ等が配置されている。コンピュータ本体の右側面には、例えばＵＳＢ（universal serial bus）２．０規格のＵＳＢケーブルやＵＳＢデバイスを接続するためのＵＳＢコネクタ１３、ＨＤＭＩ（high-definition multimedia interface）規格に対応した外部ディスプレイ接続端子２等が設けられている。この外部ディスプレイ接続端子２は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
【００１１】
図２は、本コンピュータ１０のシステム構成を示す図である。  
本コンピュータ１０は、図２に示されるように、ＣＰＵ１０１、ノースブリッジ１０２、主メモリ１０３、サウスブリッジ１０４、グラフィクスコントローラ１０５、サウンドコントローラ１０６、ＢＩＯＳ−ＲＯＭ１０７、ＬＡＮコントローラ１０８、ＳＳＤ（Solid State Drive）１０９、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール１１０、無線ＬＡＮコントローラ１１２、エンベデッドコントローラ（ＥＣ）１１３、ＥＥＰＲＯＭ１１４、ＨＤＭＩ制御回路３等を備える。
【００１２】
ＣＰＵ１０１は、コンピュータ１０内の各部の動作を制御するプロセッサである。ＣＰＵ１０１は、ＳＳＤ１０９から主メモリ１０３にロードされる、オペレーティングシステム（ＯＳ）２０１、認証プログラム２０２、各種アプリケーションプログラム等を実行する。認証プログラム２０２は、タッチスクリーンディスプレイ１７を用いた入力操作を支援するための操作支援機能を有する。
【００１３】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０７に格納されたＢＩＯＳも実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００１４】
ノースブリッジ１０２は、ＣＰＵ１０１のローカルバスとサウスブリッジ１０４との間を接続するブリッジデバイスである。ノースブリッジ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０５との通信を実行する機能も有している。
【００１５】
グラフィクスコントローラ１０５は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。このグラフィクスコントローラ１０５によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて映像を表示する。
【００１６】
ＨＤＭＩ端子１３は、前述の外部ディスプレイ接続端子である。ＨＤＭＩ端子１３は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを１本のケーブルで外部ディスプレイ装置１に送出することができる。ＨＤＭＩ制御回路３は、ＨＤＭＩモニタと称される外部ディスプレイ装置１にデジタル映像信号をＨＤＭＩ端子１３を介して送出するためのインタフェースである。つまり、コンピュータ１０は、ＨＤＭＩ端子１３等を介して、外部ディスプレイ装置１に接続可能である。
【００１７】
サウスブリッジ１０４は、ＰＣＩ（Peripheral Component Interconnect）バス上の各デバイス及びＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１０４は、ＳＳＤ１０９を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。
【００１８】
サウスブリッジ１０４は、タッチパネル１７Ｂを制御するためのＵＳＢコントローラを内蔵している。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うためのポインティングデバイスである。ユーザは、タッチパネル１７Ｂを用いて、ＬＣＤ１７Ａの画面に表示されたグラフィカルユーザインタフェース（ＧＵＩ）等を操作することができる。例えば、ユーザは、画面に表示されたボタンをタッチすることによって、当該ボタンに対応する機能の実行を指示することができる。また、このＵＳＢコントローラは、例えば、ＵＳＢコネクタ１３に接続されたＵＳＢ２．０規格のケーブルを介して外部機器との通信を実行する。
【００１９】
さらに、サウスブリッジ１０４は、サウンドコントローラ１０６との通信を実行する機能も有している。サウンドコントローラ１０６は音源デバイスであり、再生対象のオーディオデータをスピーカ１８Ａ，１８Ｂに出力する。ＬＡＮコントローラ１０８は、例えばＩＥＥＥ  ８０２．３規格の有線通信を実行する有線通信デバイスである。無線ＬＡＮコントローラ１１２は、例えばＩＥＥＥ  ８０２．１１ｇ規格の無線通信を実行する無線通信デバイスである。Ｂｌｕｅｔｏｏｔｈモジュール１１０は、外部機器とのＢｌｕｅｔｏｏｔｈ通信を実行する通信モジュールである。
【００２０】
ＥＣ１１３は、電力管理のためのエンベデッドコントローラを含む１チップマイクロコンピュータである。ＥＣ１１３は、ユーザによるパワーボタンの操作に応じて本コンピュータ１０を電源オン／電源オフする機能を有している。
【００２１】
なお、コンピュータ１０は、タッチパネルを有さないディスプレイを内蔵し、タッチパネルとディスプレイとを備えるタッチスクリーンディスプレイを外部接続する構成であってもよい。また、コンピュータ１０は、タッチパネルとディスプレイとを備えるタッチスクリーンディスプレイと、タッチパネルを有さないディスプレイとを外部接続する構成であってもよい。
【００２２】
以下に、認証プログラム２０２による認証処理について説明する。  
認証プログラム２０２の構成を図３を参照して説明する。  
認証プログラム２０２は、鍵盤表示部３０１、エンコーダ３０２、および認証処理部３０３等を備えている。  
鍵盤表示部３０１は、ＬＣＤ１７Ａに図４に示すような鍵盤楽器の鍵盤状のボタンを表示する。なお、図４中のＣ、Ｃ＃、Ｄ、Ｄ＃、Ｅ、Ｆ、Ｆ＃、Ｇ、Ｇ＃、Ａ、Ａ＃、Ｂの文字は表示されない。
【００２３】
エンコーダ３０２は、ユーザがこれらのボタンに対して一連の操作を行ったときに、操作されたボタンに対応する信号を取得し、ボタンの操作パターンに応じた値を出力する。
【００２４】
認証処理部３０３は、エンコーダ３０２から出力された値と、ハッシュデータ３１０とを比較することによって、認証処理を行う。
【００２５】
以下にエンコーダ３０２についてより詳細に説明する。  
エンコーダ３０２は最初にいずれかのボタンを押されてから操作が終了するまでの各単位時刻におけるそれぞれのボタンのＯＮ／ＯＦＦ（操作／非操作）状態を入力として受け取り、そのパターンからハッシュデータを作成して出力する。
【００２６】
エンコーダは同じ入力パターンに対しては同じハッシュデータを、異なるパターンには異なるハッシュデータを出力するが、ボタン入力のタイミングや同時に押す順序の多少の変動は許容されて同じハッシュデータを出力する。
【００２７】
本実施形態の認証処理は、予め登録されたパターンのハッシュデータを保存しておき、入力されたパターンのハッシュデータと比較し、一致していたらロック解除を行うことで、セキュアなロック解除を実現できる。
【００２８】
エンコーダ３０２のアルゴリズムを以下に説明する。  
ボタンｉ（ｉ＝Ｃ、Ｃ＃、Ｄ、Ｄ＃、Ｅ、Ｆ、Ｆ＃、Ｇ、Ｇ＃、Ａ、Ａ＃、Ｂ）の時刻ｔにおける状態をＢit(ボタンが押されているときは１、押されていないときは０)とする。
【００２９】
図５にピアノ鍵盤型ボタンにおけるボタン入力の例を示す。Ｃ、Ｅ、Ｇのボタンが順番に押され、最後にほぼ同時は離されている。それぞれのボタンを押す操作と離す操作はほぼ一定のテンポで行われているが、厳密ではない。ボタンＣ、Ｅ、Ｇを離すタイミングも、それぞれのボタンで少しずつずれている。
【００３０】
まず、この入力データに対し、エンコーダ３０２は、ボタン操作のテンポを求める。テンポは以下の手順で算出できる。
【００３１】
先ず、エンコーダ３０２は、各時刻におけるすべてのボタン操作の変化量の合計を算出する。変化量は、周辺データとの平均をとるなどしして曖昧さをもたせる。こうして求めた時刻ｔにおける変化量をＤtと置く。図６は図５の入力に対する変化量を、横軸に時間、縦軸に変化量をとったグラフである。
【００３２】
エンコーダ３０２は、入力に対する変化量の自己相関を計算し、自己相関の最初のピークをテンポとする。図７は図６のボタンの入力に対する変化量からボタン入力変化量の自己相関を求めた結果を示すグラフである。図７の最初のピークである１８単位時間がテンポとなる。すなわち、平均して１８単位時間間隔でボタン操作に変化が生じているとみなされる。なお、上記方法以外でも、公知のテンポ解析アルゴリズムで算出することもできる。
【００３３】
次に、エンコーダ３０２は、求めた単位時間ごとに各ボタンの入力データを区切って、複数の時間領域に分割する。図８のように、上記例では１８単位時間ごとに３つの領域に区切られる。
【００３４】
次に、エンコーダ３０２は、それぞれのボタンのＯＮ／ＯＦＦが切り替わった時間を最も近い時間区切りに丸める丸め処理を行ったのち、各ボタンがそれぞれの時間領域に押されていたかどうかを求める。
【００３５】
図９は、図８に示す例においてボタンが押されていた時間領域をハッチングで表示したものである。ボタンＣは時間領域１，２，３で押され、ボタンＥは時間領域２，３で押され、ボタンＦは時間領域３が押されて、それ以外のボタンは時間領域１，２３において離された状態となっている。
【００３６】
最後に、エンコーダ３０２は、各ボタンの各時間領域のボタンＯＮ／ＯＦＦ状態を一次元の配列に変換する。例えば、図９に示す例の場合、一次元の配列は、“１０００００００００００１０００１０００００００１０００１００１００００”である。
【００３７】
一次元配列の前半の“１０００００００００００”が時間領域１のボタンのＯＮ／ＯＦＦ状態を示している。一次元配列の中半の“１０００１０００００００”が時間領域１のボタンのＯＮ／ＯＦＦ状態を示している。一次元配列の後半の“１０００１００１００００”が時間領域１のボタンのＯＮ／ＯＦＦ状態を示している。
【００３８】
エンコーダ３０２は、一次元の配列のハッシュから算出された値を、入力に対するハッシュデータとする。エンコーダ３０２は、ハッシュデータを認証処理部３０３に出力する。
【００３９】
認証処理部３０３は、エンコーダ３０２から出力されたハッシュデータと予め登録されたパターンに対応するハッシュデータとを比較する。認証処理部３０３は、二つのハッシュデータが一致していたら認証に成功したと判断する。また、認証処理部３０３は、二つのハッシュデータが一致していなかったら認証に失敗したと判断する。
【００４０】
次に、図１０のフローチャートを参照して、本実施形態の認証処理の手順を説明する。  
先ず、ユーザが図４に示すボタンを操作する（ステップ４０１）。各ボタンの操作信号がエンコーダ３０２に入力される。エンコーダ３０２は、入力された信号に基づいてエンコードする（ステップ４０２）。エンコーダ３０２によって生成されたハッシュデータが認証処理部３０３に入力される。認証処理部３０３は、入力されたハッシュデータと予め登録されたパターンに対応するハッシュデータとが一致するかを判定する（ステップ４０３）。一致していると判定した場合（ステップ４０３のＹｅｓ）、認証処理部３０３は、認証に成功したと判断する（ステップ４０４）。一致していないと判定した場合（ステップ４０３のＮｏ）、認証処理部３０３は認証に失敗したと判断する（ステップ４０５）。認証に成功したら、認証処理部３０３は、例えば認証に成功した旨をオペレーティングシステム２０１に通知する。オペレーティングシステム２０１は、通知に応じてユーザのログオンを許可する。
【００４１】
次に、図１１を参照して、ステップ４０２のエンコード処理の手順を説明する。  
先ず、エンコーダ３０２は、ボタン操作のテンポを算出する（ステップ５０１）。エンコーダは、算出されたテンポに基づいて、ボタン操作が行われた時間を複数の時間領域に分割する（ステップ５０２）。エンコーダ３０２は、各時間領域毎に各ボタンがオン状態であったかを判定する（ステップ５０３）。エンコーダ３０２は、ＯＮ／ＯＦＦ状態を一次元の配列に変換する（ステップ５０４）。エンコーダ３０２は、ＯＮ／ＯＦＦ状態を示す一次元の配列に基づいてハッシュデータを算出する（ステップ５０５）。エンコーダ３０２は、算出したハッシュデータを認証処理部３０６に出力する（ステップ５０６）。
【００４２】
本実施形態によれば、複数の時間領域毎の各ボタンの操作に基づいて認証を行うため、入力数が少なくてもセキュリティを高めることが可能になる。また、少ないボタン数でも複雑なパターンを指定することが可能になるので、タッチパネルデバイスに適した大きいボタンでも、キーボードで長いパスワードを入力するような高いセキュリティを確保できる。
【００４３】
なお、上記実施形態では、鍵盤状のボタンを表示していたが、異なる形態のボタンであっても良い。また、ボタンは表示画面に表示されていたが、物理的なボタンであっても良い。
【００４４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４５】
１０…パーソナルコンピュータ、２０２…認証プログラム、３０１…鍵盤表示部、３０２…エンコーダ、３０３…認証処理部。
【図１】
2015038657.tif 000003
【図２】
2015038657.tif 000004
【図３】
2015038657.tif 000005
【図４】
2015038657.tif 000006
【図５】
2015038657.tif 000007
【図６】
2015038657.tif 000008
【図７】
2015038657.tif 000009
【図８】
2015038657.tif 000010
【図９】
2015038657.tif 000011
【図１０】
2015038657.tif 000012
【図１１】
2015038657.tif 000013
【手続補正書】
【提出日】平成24年4月23日(2012.4.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のボタンの操作を同時に検出する検出手段と、
複数の時間領域毎の各ボタンの操作に基づいた第１の値と、一つの時間領域内に複数のボタンが操作されたことを示す値を含む第２の値に基づいて生成される第３の値とに基づいて認証を行う認証手段と、
を具備する情報処理装置。
【請求項２】
表示画面を有する表示部と、
前記表示画面に前記複数のボタンを表示するボタン表示手段と、
を更に具備する請求項１に記載の情報処理装置。
【請求項３】
前記ボタン表示手段は、前記複数のボタンとして鍵盤楽器の鍵盤を表示する、
請求項２に記載の情報処理装置。
【請求項４】
前記複数のボタンの操作のテンポを算出し、算出されたテンポに基づいて前記複数のボタンが操作されていた時間を前記複数の時間領域に分割し、各時間領域に各ボタンが操作されていたかを判定し、判定結果に基づいて生成される前記第１の値を前記認証手段に出力する出力手段を更に具備する、
請求項１に記載の情報処理装置。
【請求項５】
複数のボタンの操作を同時に検出する検出手段によってボタンの操作を検出し、
複数の時間領域毎の各ボタンの操作に基づいた第１の値と、一つの時間領域内に複数のボタンが操作されたことを示す値を含む第２の値に基づいて生成される第３の値とに基づいて認証を行う
認証方法。
【請求項６】
表示部の表示画面に前記複数のボタンを表示する、
請求項５に記載の認証方法。
【請求項７】
前記複数のボタンとして鍵盤楽器の鍵盤を表示する、
請求項６に記載の認証方法。
【請求項８】
前記複数のボタンの操作のテンポを算出し、
算出されたテンポに基づいて前記複数のボタンが操作されていた時間を前記複数の時間領域に分割し、
各時間領域に各ボタンが操作されていたかを判定し、
判定結果に基づいて前記第１の値を生成する、
請求項６に記載の認証方法。
【請求項９】
複数のボタンの操作を同時に検出する検出手段と、
複数の時間領域毎の各ボタンの操作に基づいた第１の値と、第２の値に基づいて認証を行う認証手段であって、前記第２の値は、第２の時間領域の間に複数のボタンのそれぞれが操作されているかを示し、第２の値の一部は、複数のボタンの内の２個以上のボタンが、前記第２の時間領域の間に同時に操作されていることを示す、認証手段と
を具備する情報処理装置。
【請求項１０】
複数のボタンの操作を同時に検出する検出手段によってボタンの操作を検出し、
複数の時間領域毎の各ボタンの操作に基づいた第１の値と、第２の値に基づいて認証を行う、前記第２の値は、第２の時間領域の間に複数のボタンのそれぞれが操作されているかを示し、第２の値の一部は、複数のボタンの内の２個以上のボタンが、前記第２の時間領域の間に同時に操作されていることを示す、
認証方法。