(58)【調査した分野】(Int.Cl.,DB名)
前記ディスプレイ上の少なくとも1つの同じ位置について、第1入力セッションで生成された仮想グリッドのインデックスと、第2入力セッションで生成された仮想グリッドのインデックスが、互いに異なることを特徴とする、請求項2に記載の入力認識方法。
前記仮想キーボードのレイアウトと前記認識されたインデックスに基づき、前記ユーザによって選択された前記仮想キーボードのキーが認識されることを特徴とする、請求項4に記載の入力認識方法。
前記線間の距離が変化することにより、前記仮想キーボードの同じキーについて認識されるインデックスが異なることを特徴とする、請求項5〜8のうちのいずれか一項に記載の入力認識方法。
前記認識されたパスワードまたはパターンが前記ユーザによって設定されたパスワードまたはパターンと等しく、前記選択された一部の番号または一部のパターンの入力時に認識されたタッチアクションが、前記設定されたパスワードまたはパターンと関連するタッチアクションと等しい場合、前記ユーザを認証する段階
をさらに含むことを特徴とする、請求項11に記載の入力認識方法。
前記ユーザからパスワードまたはパターンが入力されている最中に、前記パスワードまたはパターンの一部の番号または一部のパターンに対する予め設定されたタッチアクションを認識する段階、
前記入力されたパスワードと前記一部の番号に対して認識されたタッチアクションとを互いに関連付けて前記ユーザのパスワードとして設定するか、または前記入力されたパターンと前記一部のパターンに対して認識されたタッチアクションとを互いに関連付けて前記ユーザのパターンとして設定する段階、
前記ユーザによって設定されたパスワードまたはパターンを入力するためのユーザインタフェースを前記タッチスクリーンに表示する段階、および
前記ユーザインタフェースを利用して入力されたパスワードとタッチアクション、またはパターンとタッチアクションを認識する段階
をさらに含むことを特徴とする、請求項10に記載の入力認識方法。
前記予め設定されたタッチアクションは、前記選択された一部の番号または一部のパターンの入力時に、前記タッチスクリーンに表示されたユーザインタフェースの対応する領域に圧力を加える3Dタッチアクションを含むことを特徴とする、請求項11または14に記載の入力認識方法。
前記予め設定されたタッチアクションは、前記選択された一部の番号または一部のパターンの入力時に、前記タッチスクリーンに表示されたユーザインタフェースの対応する領域に予め設定された時間以上のタッチを行うアクションを含むことを特徴とする、請求項11または14に記載の入力認識方法。
前記予め設定されたタッチアクションは、前記選択された一部の番号の入力速度または前記選択された一部のパターンの入力速度を変更するアクションを含むことを特徴とする、請求項11または14に記載の入力認識方法。
【発明を実施するための形態】
【0016】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0017】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。
図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような
図1は、本発明の説明のための一例に過ぎず、電子機器の数やサーバの数が
図1のように限定されることはない。
【0018】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型パンコン、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、電子機器1(110)は、無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信してよい。
【0019】
通信方式が限定されることはなく、ネットワーク170が含むことができる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0020】
サーバ150、160のそれぞれは、電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。一例として、電子機器1(110)は、該電子機器1(110)にインストールされたアプリケーションを介してサーバ150にアクセスし、予め設定されたサービス(一例として、ゲームサービス、チャットサービス、SNS(Social Network Service)サービス、金融サービスなど)の提供を受けてよい。
【0021】
このとき、電子機器1(110)のユーザは、電子機器1(110)を利用してIDやパスワード、口座番号やクレジットカード番号、パターンなどのような個人情報を入力することがある。この場合、電子機器1(110)は、本発明の実施形態に係る入力認識方法によってユーザが入力した情報を認識することができる。他の実施形態において、電子機器1(110)は、認識した情報を、ネットワーク170を介してサーバ150に伝達してもよい。この場合、電子機器1(110)は、本発明の実施形態に係る入力認識方法によって認識された仮想グリッドのインデックスを基盤とした情報をサーバ150に伝達してよく、サーバは、伝達された仮想グリッドのインデックスを基盤として、ユーザによって入力された情報を認識することができる。
【0022】
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
図2では、1つの電子機器に対する例として電子機器1(110)の内部構成を、1つのサーバに対する例としてサーバ150の内部構成を説明する。他の電子機器120、130、140やサーバ160も、同一または類似の内部構成を備えてよい。
【0023】
電子機器1(110)およびサーバ150は、それぞれ、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、コンピュータ読取可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記憶装置(permanent mass storage device)を含んでよい。ここで、ROMと永久大容量記憶装置は、メモリ211、221とは分離された別の永久格納装置として含まれてもよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電子機器1(110)にインストールされて駆動するブラウザや特定のサービスの提供のためのアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータ読取可能な記録媒体からロードされてよい。このような別のコンピュータ読取可能な記録媒体は、フロッピードライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータ読取可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読取可能な記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。
【0024】
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードに従って受信される命令を実行するように構成されてよい。
【0025】
通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録装置に格納されたプログラムコードに従って生成した要求(一例として、映像通話サービスのための要求)が、通信モジュール213の制御に従ってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御に従って提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信したサーバ150の制御信号や命令などは、プロセッサ212やメモリ211に伝達されてよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことができる格納媒体に格納されてよい。
【0026】
入力/出力インタフェース214、224は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を含んでよく、出力装置は、アプリケーションの通信セッションを表示するためのディスプレイのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理する際に、サーバ150や電子機器2(120)によって提供されるデータを利用して構成されるサービス画面やコンテンツを、入力/出力インタフェース214を経てディスプレイに表示してよい。
【0027】
また、他の実施形態において、電子機器1(110)およびサーバ150は、
図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてよく、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合、一般的にスマートフォンに含まれる加速度センサやジャイロセンサ、カメラ、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などのような多様な構成要素が、電子機器1(110)にさらに含まれるように実現されてもよいことが理解できるであろう。
【0028】
図3は、本発明の一実施形態における、電子機器のプロセッサが含むことができる構成要素の例を示したブロック図であり、
図4は、本発明の一実施形態における、電子機器が実行することができる方法の例を示したフローチャートである。
【0029】
電子機器1(110)は、本発明の一実施形態に係る入力認識システムを実現してよく、
図3に示すように、電子機器1(110)に含まれるプロセッサ212は、構成要素として、仮想グリッド生成部310および選択位置認識部320を備えてよい。このようなプロセッサ212およびプロセッサ212の構成要素は、
図4の入力認識方法に含まれる段階410〜段階430を実行するように電子機器1(110)を制御することができる。このとき、プロセッサ212およびプロセッサ212の構成要素は、メモリ211に含まれるオペレーティングシステムのコードと、少なくとも1つのプログラムのコードによる命令(instruction)を実行するように実現されてよい。ここで、プロセッサ212の構成要素は、電子機器1(110)に格納されたプログラムコードが提供する制御命令に従ってプロセッサ212によって実行される、プロセッサ212の互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ212が上述した制御命令に従って仮想グリッドを生成するように電子機器1(110)を制御するプロセッサ212の機能的表現として、仮想グリッド生成部310が使用されてよい。
【0030】
段階410において、プロセッサ212は、電子機器1(110)の制御と関連する命令がロードされたメモリ211から、命令を読み取ることができる。この場合、読み取られた命令は、以下で説明される段階420および段階430をプロセッサ212が実行するように制御するための命令のうちの少なくとも一部を含んでよい。
【0031】
段階420において、仮想グリッド生成部310は、線間の距離が可変の仮想グリッドを、電子機器1(110)にさらに含まれるか電子機器1(110)と連結されるディスプレイの少なくとも一部の領域に対応させて生成することができる。例えば、仮想グリッドは、該仮想グリッドを構成する線で囲まれた領域のうちの一部の領域の大きさが互いに異なるように生成されてよく、仮想グリッドが生成されるたびに線間の距離を変化させることができる。このような仮想グリッドは、ディスプレイに表示されるのではなく、ディスプレイの領域全体または一部の領域に対応させて生成されてよい。
【0032】
段階430において、選択位置認識部320は、仮想グリッドに対応するディスプレイ領域のうち、電子機器1(110)のユーザによって選択された位置を、仮想グリッドのインデックスを利用して認識することができる。例えば、仮想グリッドのインデックスは、仮想グリッドに対応する行列によって認識されてよい。言い換えれば、ユーザが選択した位置が仮想グリッドの1行目の1列目の領域に含まれる場合には、(1,1)のインデックスが認識されるようになる。あるいは、左側から右側への順に、さらに上から下への順に増加するインデックスが利用されてもよい。この場合、仮想グリッドの1行目の1列目の領域は「1」のインデックスを、1行目の2列目の領域は「2」のインデックスを有するようになる。このように、仮想グリッドのインデックスは、多様な構造の中から選択された構造を用いてよい。以下では、説明の便宜のために、左側から右側への順に、さらに上から下への順に増加するインデックスの構造を利用して、本発明の実施形態を説明する。
【0033】
このように、本実施形態では、電子機器1(110)自体の座標系は使用せず、線間の距離が可変の仮想グリッドのインデックスを利用して、ユーザが選択した位置を指示することにより、攻撃者が仮想グリッドのインデックスを取得したとしても、インデックスだけではユーザによって選択された位置を類推できないようにすることができる。
【0034】
図5は、本発明の一実施形態における、ディスプレイの一部の領域に対応させた仮想グリッドの例を示した図である。
図5は、電子機器1(110)の例を現示しており、電子機器1(110)のディスプレイ510の一部に仮想グリッド520を対応させた例を示している。上述したように、仮想グリッド520はディスプレイ510上に表示されないが、理解を容易にするために、仮想グリッド520を示している。
【0035】
図5では、電子機器1(110)がスマートフォンのようにタッチスクリーンを含む実施形態を示している。この場合、ユーザによって選択された位置は、タッチスクリーンでタッチが認識された位置を含むことができる。他の実施形態において、電子機器1(110)はPC環境を含んでもよい。この場合、ユーザによって選択された位置は、マウスクリックされた位置を含むことができる。このように、電子機器1(110)の種類やユーザが位置を選択する方式がタッチスクリーンに限定されることはなく、仮想キーボードのようなユーザインタフェースを表示することができ、ユーザインタフェースを介してユーザがディスプレイ上の特定の位置を選択することができる機器であれば、本発明の実施形態を適用することができる。
【0036】
図6は、本発明の一実施形態における、仮想グリッドのインデックスを説明するための図である。
図6は、1から100までのインデックスによって100個の領域がそれぞれ区分されている仮想グリッド610を示している。例えば、仮想グリッド610を対応させたディスプレイにおいて、ユーザによって選択された位置が仮想グリッド610のインデックス「47」に対応する場合、
図4の段階430において、選択位置認識部320は、インデックス「47」に基づいて、ユーザが選択した位置を認識してよい。
【0037】
本発明の実施形態に係る仮想グリッドは、1つの入力セッションの間だけ維持されてよい。また、仮想グリッド生成部310は、段階420において、互いに異なる入力セッションごとに線間の距離が変化した仮想グリッドを生成することができる。
【0038】
図7は、本発明の一実施形態における、線間の距離が変化した仮想グリッドを示した図である。
図7の仮想グリッド710を
図6の仮想グリッド610と比べてみると、全体の大きさは同じであるが、線間の距離は異なることを確認することができる。この場合、ユーザが選択した同じ位置に対応する仮想グリッド610および710のインデックスは異なることが分かる。例えば、仮想グリッド610のインデックス47に対応する領域の大きさが、仮想グリッド710では小さくなっていることが分かる。
【0039】
一方、1つの入力セッションは、ユーザが仮想キーボードのような1つの仮想画面から特定の位置を選択して、ユーザによって選択された位置を認識する間だけ維持されてよい。仮想画面が終了した場合に1つの入力セッションも終了してよい。仮想画面が変わる場合にも1つの入力セッションは終了してよい。例えば、モバイルデバイスの仮想画面において、大文字を入力するための仮想キーボードが、小文字を入力するための仮想キーボードに変わった場合、1つの入力セッションは終了し、新たな入力セッションが始まってよい。この場合、仮想グリッドの線間の距離が変化した仮想グリッドを再生成することができる。言い換えれば、アルファベットの大文字、アルファベットの小文字、ハングル、特殊文字などのような多様な仮想キーボードのレイアウトが存在する中、このようなレイアウトが変化することが仮想画面の変化を意味してよい。このような変化ごとに新たな入力セッションが始まってよく、仮想グリッドが再生成されてよい。したがって、ディスプレイ上の少なくとも1つの同一位置について、第1入力セッションで生成された仮想グリッドのインデックスと第2入力セッションで生成された仮想グリッドのインデックスは互いに異なる。
【0040】
本発明の実施形態に係る仮想グリッドは、ディスプレイで仮想キーボードが表示される領域に対応させることができる。このとき、
図4の段階430において、選択位置認識部320は、仮想キーボードが表示される領域のうち、ユーザによって選択された位置に対応する仮想グリッドのインデックスを、選択された位置として認識することができる。この場合、電子機器1(110)で仮想キーボードのレイアウトとして認識されたインデックスに基づき、ユーザによって選択された仮想キーボードのキーが認識されてよい。
【0041】
図8は、本発明の一実施形態における、仮想キーボードの例を示した図であり、
図9は、本発明の一実施形態における、仮想キーボードに対応させた仮想グリッドの例を示した図である。仮想キーボード810に対応させた仮想グリッド910によると、ユーザが仮想キーボード810の「y」キーを押したとしても、押す位置に応じて仮想グリッド910の異なるインデックスが認識され得ることが分かる。
【0042】
電子機器1(110)は、仮想キーボード810のレイアウトに基づいて位置別キーを認識してよく、ユーザが選択した位置について認識された仮想グリッド910のインデックスがどのキーに対応するかを決定することができる。このとき、仮想グリッド910が含むそれぞれの領域は、1つの領域が複数のキーにまたがらないように構成されることが好ましい。
【0043】
図10は、本発明の一実施形態における、仮想キーボードに対応させた他の仮想グリッドの例を示した図である。
図10の仮想グリッド1010は、
図9の仮想グリッド910と比べてみると、線間の距離が変化した様子を示している。特に、「y」キーを詳しくみると、同じ位置に対する仮想グリッド1010のインデックスは、仮想グリッド910のインデックスとは異なることが分かる。
【0044】
本発明の実施形態において、仮想キーボードのキーは電子機器1(110)で認識されてよいが、個人情報などのより安全な保護のために、サーバ150で認識されてもよい。
【0045】
図11は、本発明の一実施形態における、電子機器のプロセッサがさらに含むことができる構成要素の例を示したブロック図であり、
図12は、本発明の一実施形態における、電子機器が実行することができる方法の例を示したフローチャートである。
【0046】
プロセッサ212は、
図3を参照しながら説明した仮想グリッド生成部310および選択位置認識部320の他に、送信制御部1110をさらに備えてよく、送信制御部1110は、
図12の段階1210を実行してよい。送信制御部1110も、プロセッサ212の機能的表現であってよい。
【0047】
段階1210において、送信制御部1110は、生成された仮想グリッドのインデックス情報および認識されたインデックスを、サーバ150に送信してよい。ここで、仮想グリッドのインデックス情報は、仮想グリッドの線間の距離に関する情報と仮想グリッドの線の位置に関する情報のうちの少なくとも一方を含んでよい。この場合、サーバ150は、仮想グリッドのインデックス情報に基づいて仮想グリッドを生成してよい。したがって、サーバ150は、仮想グリッドインデックス情報、仮想キーボードのレイアウト、および認識されたインデックスに基づき、電子機器1(110)でユーザによって選択された仮想キーボードのキーを認識することができるようになる。
【0048】
図13は、本発明の一実施形態における、インデックス情報および認識されたインデックスをサーバに送信する過程の例を示した図である。
【0049】
過程1(1310)は、可変インデックス情報を設定する過程の例であって、可変インデックス情報に対する16進数データ1311の例を示している。上述したように、仮想グリッドに関するインデックス情報は、仮想グリッドの線間の距離に関する情報と仮想グリッドの線の位置に関する情報のうちの少なくとも一方を含んでよい。
【0050】
過程2(1320)は、認識されたインデックスを設定する過程の例であって、認識されたインデックスに対する16進数データ1321の例を示している。ユーザが入力した4桁のパスワードとして4つのインデックスが認識されたとする。このとき、ユーザが仮想キーボードから同じキーおよび同じ位置を選択したとしても、認識されたインデックスは異なってよい。選択的には、同じキーおよび/または同じ位置に対して常に異なるインデックスが認識されるように仮想グリッドを生成することも可能である。
【0051】
過程3(1330)は、インデックス情報および認識されたインデックスの再使用および偽造・変造防止のための防止情報を設定する過程の例であって、再使用および偽造・変造防止のための防止情報に対する16進数データ1331の例を示している。このとき、再使用防止のための情報は、時刻に基づいて生成されてよい。例えば、仮想グリッドが生成された時刻および/またはインデックスが認識された時刻に基づき、一定の時間後には認識されたインデックスが使用不可能となるように制限するために再使用防止のための情報が生成されてよい。また、偽造・変造防止のための情報は、可変インデックス情報および認識されたインデックスに対するハッシュ値や署名(signature)を含んでよい。
【0052】
過程4(1340)は、サーバ150の公開キーによって可変インデックス情報、認識されたインデックス、および再使用および偽造・変造防止のための防止情報を暗号化する過程の例であって、暗号化された16進数データ1341の値が変調されることを示している。例えば、電子機器1(110)は、インデックス情報、認識されたインデックス、および防止情報を含む入力情報を生成し、生成された入力情報をサーバ150の公開キーによって暗号化してよい。
【0053】
過程5(1350)は、暗号化された16進数データ1341をサーバ150に伝達する過程の例を示している。サーバ150は、暗号化された16進数データ1341を受信して復号し、再使用および偽造・変造防止のための防止情報に基づき、可変インデックス情報および認識されたインデックスの再使用や偽造・変造を防ぐことができる。また、サーバ150は、上述したように、仮想グリッドインデックス情報、仮想キーボードのレイアウト、および認識されたインデックスに基づき、電子機器1(110)でユーザによって選択された仮想キーボードのキーを認識することができるようになる。
【0054】
他の実施形態において、選択位置認識部320は、サーバ150から仮想グリッドの線間の距離に関する情報と仮想グリッドの線の位置に関する情報のうちの少なくとも一方の情報を受信し、受信した少なくとも一方の情報を利用して仮想グリッドを生成してもよい。この場合、サーバ150は、生成された仮想グリッドのインデックス情報を既に知っているため、電子機器1(110)で認識されたインデックスだけが伝達され、既知のインデックス情報、電子機器1(110)で認識されたインデックス、および仮想キーボードのレイアウトに基づき、ユーザによって選択された仮想キーボードのキーを認識することもできる。
【0055】
図14は、本発明の一実施形態における、電子機器のプロセッサが含むことができる構成要素の他の例を示したブロック図であり、
図15は、本発明の一実施形態における、電子機器が実行することができる他の方法の例を示したフローチャートである。以下の実施形態は、上述した実施形態と結合して実現されてもよいし、個別の独立した形態で実現されてもよい。
【0056】
図14に示すように、電子機器1(110)に含まれるプロセッサ212は、構成要素として、表示制御部1410、選択部1420、タッチアクション認識部1430、およびユーザ認証部1440を備えてよい。一実施形態において、プロセッサ212は、
図3を参照しながら説明した仮想グリッド生成部310および選択位置認識部320を備えた上で、表示制御部1410、選択部1420、タッチアクション認識部1430、およびユーザ認証部1440をさらに備えてよい。他の実施形態において、プロセッサ212は、
図14に示すように、表示制御部1410、選択部1420、タッチアクション認識部1430、およびユーザ認証部1440だけを備えてもよい。
【0057】
表示制御部1410、選択部1420、タッチアクション認識部1430、およびユーザ認証部1440は、
図15の入力認識方法に含まれる段階1510〜段階1550を実行するように実現されてよい。表示制御部1410、選択部1420、およびタッチアクション認識部1430も、プロセッサ212の機能的表現であってよい。
【0058】
段階1510において、表示制御部1410は、ユーザによって設定されたパスワードまたはパターンを入力するためのユーザインタフェースをタッチスクリーンに表示するように電子機器1(110)を制御することができる。
【0059】
段階1520において、選択部1420は、パスワードまたはパターンのうちの一部の番号または一部のパターンを選択することができる。例えば、選択部1420は、パスワードが「1、2、3、4」である場合、一部の番号である「2」または「2、3」を選択してよい。パターンは、一例として、パターンの入力を補助するための指示子のうちの少なくとも1つの指示子と関連して選択されてよい。
【0060】
段階1530において、表示制御部1410は、選択された一部の番号または一部のパターンの入力時に、予め設定されたタッチアクションも共に入力することを要求するための情報をタッチスクリーンに表示するように電子機器1(110)を制御することができる。例えば、選択された一部の番号である「2」を入力するときに、予め設定されたタッチアクションも共に入力することを要求するための情報がタッチスクリーンに表示されてよい。また、選択された特定の指示子と関連する一部のパターンを入力するときに、予め設定されたタッチアクションも共に入力することを要求するための情報がタッチスクリーンに表示されてよい。
【0061】
段階1540において、タッチアクション認識部1430は、ユーザインタフェースを利用して入力されたパスワードとタッチアクション、またはパターンとタッチアクションを認識することができる。タッチアクションの認識については、以下でさらに詳しく説明する。
【0062】
段階1550において、ユーザ認証部1440は、認識されたパスワードまたはパターンが、ユーザによって設定されたパスワードまたはパターンと等しく、選択された一部の番号または一部のパターンの入力時に認識されたタッチアクションが、設定されたパスワードまたはパターンと関連するタッチアクションと等しい場合に、ユーザを認証することができる。
【0063】
他の実施形態において、プロセッサ212は、認識されたパスワードとタッチアクション、または認識されたパターンとタッチアクションを、ネットワークを介してサーバ150に送信するように電子機器1(110)を制御することができる。この場合、サーバ150は、認識されたパスワードまたはパターンが、ユーザによって設定されたパスワードまたはパターンと等しく、選択された一部の番号または一部のパターンの入力時に認識されたタッチアクションが、予め設定されたタッチアクションと等しい場合に、ユーザを認証してよい。
【0064】
また他の実施形態では、パスワードとタッチアクション、またはパターンとタッチアクションが共に入力されてユーザのパスワードやパターンとして予め設定されてもよい。この場合には、予め設定されたタッチアクションを共に入力することを要求するための情報を表示する必要なく、ユーザはパスワードとタッチアクション、またはパターンとタッチアクションを入力する。例えば、プロセッサ212は、ユーザからパスワードまたはパターンが入力されている最中に、パスワードまたはパターンのうちの一部の番号または一部のパターンに対する予め設定されたタッチアクションを認識してよい。また、プロセッサ212は、入力されたパスワードと、パスワードの一部の番号に対して認識されたタッチアクションとを互いに関連付けてユーザのパスワードとして設定するか、または入力されたパターンと一部のパターンに対して認識されたタッチアクションを互いに関連付けてユーザのパターンとして設定することができる。実施形態によっては、パスワードとパターンは、サーバ150によって設定されてもよい。このとき、プロセッサ212は、ユーザによって設定されたパスワードまたはパターンを入力するためのユーザインタフェースをタッチスクリーンに表示するように電子機器1(110)を制御してよく、ユーザインタフェースを利用して入力されたパスワードとタッチアクション、またはパターンとタッチアクションを認識することができる。この場合にも、ユーザの認証は、パスワードまたはパターンの一致とタッチアクションの一致の両者を利用して行われてよい。
【0065】
予め設定されたタッチアクションは、選択された一部の番号または一部のパターンの入力時に、タッチスクリーンに表示されたユーザインタフェースの対応する領域に圧力を加える3Dタッチ(3D touch)アクションを含んでよい。
【0066】
図16は、本発明の一実施形態における、3Dタッチを利用してユーザを認証する過程の例を示した図である。第1画面1600は、ユーザにパスワードの入力を要求しながら、パスワードの入力が可能なユーザインタフェースをタッチスクリーンに表示した例を示している。このとき、第1点線ボックス1610は、パスワードと共に、一部の番号に対する3Dタッチアクションを予め設定されたタッチアクションとして入力することをユーザに要求するための情報が表示された例を示している。ユーザは2番目と5番目のパスワードを3Dタッチアクションによって入力することで、パスワードとタッチアクションを共に入力することができる。タッチアクションがパスワードと共にユーザのパスワードとして予め設定されている場合には、要求情報は表示されなくてもよい。
【0067】
図17は、本発明の一実施形態における、3Dタッチを利用してユーザを認証する過程の他の例を示した図である。第2画面1700は、ユーザにパターンの入力を要求しながら、パターンの入力が可能なユーザインタフェースとして9つの指示子をタッチスクリーンに表示した例を示している。このとき、第2点線ボックス1710は、パターンと共に、一部のパターンに対する3Dタッチアクションを予め設定されたタッチアクションとして入力することをユーザに要求するための情報が表示された例を示している。ユーザは3番目の指示子と関連するパターンを3Dタッチアクションによって入力することで、パターンとタッチアクションを共に入力することができる。この場合も、タッチアクションがパターンと共にユーザのパスワードとして予め設定されている場合には、要求情報は表示されなくてもよい。
【0068】
また、予め設定されたタッチアクションは、選択された一部の番号または一部のパターンの入力時に、タッチスクリーンに表示されたユーザインタフェースの対応する領域に予め設定された時間以上のタッチを行うアクションを含んでもよい。
【0069】
図18は、本発明の一実施形態における、タッチ時間ディレイを利用してユーザを認証する過程の例を示した図である。第3画面1800は、ユーザにパスワードの入力を要求しながら、パスワードの入力が可能なユーザインタフェースをタッチスクリーンに表示した例を示している。このとき、第3点線ボックス1810は、パスワードと共に、一部の番号に対して一定時間以上のタッチを維持することをユーザに要求するための情報が表示された例を示している。ユーザは2番目のパスワードを入力するときに、該当のキーに対するタッチを1秒以上維持することで、パスワードとタッチアクションを共に入力することができる。タッチアクションがパスワードと共にユーザのパスワードとして予め設定されている場合には、要求情報は表示されなくてもよい。
【0070】
図19は、本発明の一実施形態における、タッチ時間ディレイを利用してユーザを認証する過程の他の例を示した図である。第4画面1900は、ユーザにパターンの入力を要求しながら、パターンの入力が可能なユーザインタフェースとして9つの指示子をタッチスクリーンに表示した例を示している。このとき、第4点線ボックス1910は、パターンと共に、一部のパターンに対して一定時間以上のタッチ入力を維持することをユーザに要求するための情報が表示された例を示している。ユーザは3番目の指示子と関連するパターンを入力するときに、1秒以上のタッチを維持することで、パターンとタッチアクションを共に入力することができる。この場合も、タッチアクションがパターンと共にユーザのパスワードとして予め設定されている場合には、要求情報は表示されなくてもよい。
【0071】
また、予め設定されたタッチアクションは、選択された一部の番号の入力速度、または選択された一部のパターンの入力速度を変更するアクションを含んでもよい。
【0072】
図20は、本発明の一実施形態における、タッチ入力速度の変更を利用してユーザを認証する過程の例を示した図である。第5画面2000は、ユーザにパスワードの入力を要求しながら、パスワードの入力が可能なユーザインタフェースをタッチスクリーンに表示した例を示している。このとき、第5点線ボックス2010は、パスワードと共に、一部の番号に対する入力速度の変更をユーザに要求するための情報が表示された例を示している。ユーザは、2番目と3番目のパスワードは他よりも相対的に速い速度で入力し、5番目と6番目のパスワードは相対的に遅い速度で入力することで、パスワードとタッチアクションを共に入力することができる。タッチアクションがパスワードと共にユーザのパスワードとして予め設定されている場合には、要求情報は表示されなくてもよい。
【0073】
図21は、本発明の一実施形態における、タッチ入力速度の変更を利用してユーザを認証する過程の他の例を示した図である。第6画面2100は、ユーザにパターンの入力を要求しながら、パターンの入力が可能なユーザインタフェースとして9つの指示子をタッチスクリーンに表示した例を示している。このとき、第6点線ボックス2110は、パターンと共に、特定の指示子と関連するパターンの入力速度を変更することをユーザに要求するための情報が表示された例を示している。ユーザは4番目の指示子と関連するパターンを入力するときに、指を相対的にゆっくり動かすことで、パターンとタッチアクションを共に入力することができる。この場合も、タッチアクションがパターンと共にユーザのパスワードとして予め設定されている場合には、要求情報は表示されなくてもよい。
【0074】
図22は、本発明の一実施形態における、サーバのプロセッサがさらに含むことができる構成要素の例を示したブロック図であり、
図23は、本発明の一実施形態における、サーバが実行することができる方法の例を示したフローチャートである。
【0075】
サーバ150は、本発明の一実施形態に係る入力認識システムを実現してよく、
図22に示すように、サーバ150に含まれるプロセッサ222は、構成要素として、受信制御部2210およびキー決定部2220を備えてよい。このようなプロセッサ222およびプロセッサ222の構成要素は、
図23の入力認識方法に含まれる段階2310〜段階2330を実行するようにサーバ150を制御することができる。このとき、プロセッサ222およびプロセッサ222の構成要素は、メモリ221に含まれるオペレーティングシステムのコードと、少なくとも1つのプログラムのコードによる命令を実行するように実現されてよい。ここで、プロセッサ222の構成要素は、サーバ150に格納されたプログラムコードが提供する制御命令に従ってプロセッサ222によって実行される、プロセッサ222の互いに異なる機能の表現であってよい。例えば、プロセッサ222が上述した制御命令に従って仮想グリッドのインデックスを受信するようにサーバ150を制御するプロセッサ222の機能的表現として、受信制御部2210が使用されてよい。
【0076】
段階2310において、プロセッサ222は、サーバ150の制御と関連する命令がロードされたメモリ221から、必要な命令を読み取ることができる。この場合、読み取った命令は、以下で説明される段階2320および段階2330をプロセッサ222が実行するように制御するための命令のうちの少なくとも一部を含んでよい。
【0077】
段階2320において、受信制御部2210は、線間の距離が可変の仮想グリッドを利用して電子機器1(110)で認識された仮想グリッドのインデックスを、ネットワークを介して受信することができる。ここで、仮想グリッドは、電子機器1(110)のディスプレイに表示される仮想キーボードの領域に対応してよい。
【0078】
段階2330において、キー決定部2220は、受信したインデックス、仮想キーボードのレイアウト、および仮想グリッドのインデックス情報に基づき、受信したインデックスに対応する仮想キーボードのキーを決定することができる。ここで、仮想グリッドのインデックス情報は、上述したように、仮想グリッドの線間の距離に関する情報と仮想グリッドの線の位置に関する情報のうちの少なくとも一方の情報を含んでよい。
【0079】
仮想グリッドは、1つの入力セッションの間だけ維持されてよく、互いに異なる入力セッションごとに線間の距離が変化した仮想グリッドが電子機器1(110)で生成されてよい。
【0081】
このように、本発明の実施形態によると、電子機器で使用する座標系の座標ではなく、線間の距離が可変の仮想グリッドのインデックスを座標として活用してユーザが選択した位置を認識することにより、ユーザが選択した位置が類推されることを防ぐことができ、入力セッションごとに仮想グリッドの線間の距離を変化させて仮想グリッドを生成することにより、ユーザが同じ位置を選択したとしても、異なる仮想グリッドのインデックスが認識されるようにすることができる。さらに、ユーザが入力したパスワードやパターンの一部に予め設定されたタッチパターンが含まれるようにすることにより、ユーザが選択した位置から得られるユーザのパスワードやパターンの一致だけではなく、一部の番号や一部のパターンと関連付けられたタッチパターンまで一致しなければ、ユーザを認証できないようにすることができる。
【0082】
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答して、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の容易性のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0083】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、所望のとおりに動作するように処理装置を構成してもよく、独立的または集合的に処理装置に命令してもよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置に具現化されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読取可能な記録媒体に格納されてよい。
【0084】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読取可能な媒体に記録されてよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。その媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよく、コンピュータソフトウェアの当業者に公知で使用可能なものであってもよい。媒体は、コンピュータによって実行可能なプログラムを継続して格納するものであってもよく、実行またはダウンロードのために一時格納するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよいが、あるコンピュータシステムに直接接続される媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピーディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含め、プログラム命令が格納されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを流通するアプリストアや他の多様なソフトウェアを供給あるいは流通するサイト、サーバなどで管理する記録媒体あるいは格納媒体が含まれてもよい。プログラム命令の例は、コンパイラによって生成されるような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【0085】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合または組み合わされたり、他の構成要素または均等物によって代替または置換されたとしても、適切な結果を達成することができる。
【0086】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。