(57)【要約】【課題】  画面キャプチャによるソフトウェアキーボードの入力の盗聴を防止する。【解決手段】  個々のキーに割当てた表記文字を非表示にしたキーボード配列を記憶装置から取り出し、画面上に表示するソフトウェアキーボード表示手段と、ユーザによる物理キーボードの矢印キーの押下によってソフトウェアキーボードのキー選択を変更し、カーソルを所定時間だけ一時表示することによりキー選択が変更したことをユーザに通知するキー選択変更手段と、ユーザによる物理キーボードの矢印キー以外の押下によってキーの決定を処理し、決定された文字を所定のフォームに入力するキー入力手段とを備えることを特徴とする。【選択図】  図１
2007172071.tif 000002
【特許請求の範囲】
【請求項１】
個々のキーに割当てた表記文字を非表示にしたキーボード配列を記憶装置から取り出し、画面上に表示するソフトウェアキーボード表示手段と、
ユーザによる物理キーボードの矢印キーの押下によってソフトウェアキーボードのキー選択を変更し、カーソルを所定時間だけ一時表示することによりキー選択が変更したことをユーザに通知するキー選択変更手段と、
ユーザによる物理キーボードの矢印キー以外の押下によってキーの決定を処理し、決定された文字を所定のフォームに入力するキー入力手段と、
を備えることを特徴とするソフトウェアキーボード。
【請求項２】
前記ソフトウェアキーボード表示手段は、ソフトウェアキーボードのキーのサイズ及び位置のいずれかまたは両方、あるいはソフトウェアキーボード全体の画面上の表示位置を時間的に変更することを特徴とする請求項１に記載のソフトウェアキーボード。
【請求項３】
前記キー選択変更手段は、ソフトウェアキーボードのキー移動に必要な物理キーボードの矢印キーのストローク回数をランダムに変更することを特徴とする請求項１または２に記載のソフトウェアキーボード。
【請求項４】
前記キー選択変更手段は、マウス入力を禁止することを特徴とする請求項１〜３のいずれか一項に記載のソフトウェアキーボード。
【請求項５】
前記キー入力手段は、物理キーボードの矢印キー以外を押下することによって選択されたキーを入力し、ソフトウェアキーボードの選択キーを自動的に別のキーに移動することを特徴とする請求項１〜４のいずれか一項に記載のソフトウェアキーボード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーロガーが画面をキャプチャによるソフトウェアキーボードの入力文字の盗聴を防止することができるソフトウェアキーボードに関する。
【背景技術】
【０００２】
従来、安全なソフトウェアキーボードを実現する技術として、例えば下記特許文献１及び特許文献２に記載のものが知られている。
下記特許文献１に記載のものは、暗証番号入力画面を表示する際、暗証番号入力画面に表示されたテンキーの位置をランダムに変更することで、第三者による暗証番号の検知を防止する暗証番号の入力装置である。
また、下記特許文献２に記載のものは、パスワードを入力する際、複数の文字キーを含むキーボード画像を表示し、キー入力の毎に入力文字の判定と、次の文字入力を受け付けるためのキーボード画像を新規に表示するパスワード認証装置である。
【０００３】
【特許文献１】特願２０００−９９８０１号公報
【特許文献２】特願２００５−１０７６７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１、特許文献２に記載の技術は、画面をキャプチャするタイプのキーロガーによるソフトウェアキーボードの入力文字の盗聴を防止できない。
本来、キーロガーとは、ユーザのキーボード入力を監視し、パスワード入力文字列を検知するタイプのマルウェア（悪意のあるソフトウェア）である。近年は、キーロガー対策として、パスワードの入力画面中にソフトウェアによる仮想的なキーボードを表示し、マウスなどのポインティングデバイスによる入力を行うソフトウェアキーボードによる対策がなされている。
しかしながら、ソフトウェアキーボードの画面をキャプチャする攻撃方法を利用し、第三者は入力されたパスワードをキャプチャ画像から検知できる。
【０００５】
本発明は、画面キャプチャによるソフトウェアキーボードからの入力の盗聴を防止することができるソフトウェアキーボードを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、個々のキーに割当てた表記文字を非表示にしたキーボード配列を記憶装置から取り出し、画面上に表示するソフトウェアキーボード表示手段と、ユーザによる物理キーボードの矢印キーの押下によってソフトウェアキーボードのキー選択を変更し、カーソルを所定時間だけ一時表示することによりキー選択が変更したことをユーザに通知するキー選択変更手段と、ユーザによる物理キーボードの矢印キー以外の押下によってキーの決定を処理し、決定された文字を所定のフォームに入力するキー入力手段とを備えることを特徴とする。
また、前記ソフトウェアキーボード表示手段は、ソフトウェアキーボードのキーのサイズ及び位置のいずれかまたは両方、あるいはソフトウェアキーボード全体の画面上の表示位置を時間的に変更することを特徴とする。
また、前記キー選択変更手段は、ソフトウェアキーボードのキー移動に必要な物理キーボードの矢印キーのストローク回数をランダムに変更することを特徴とする。
また、前記キー選択変更手段は、マウス入力を禁止することを特徴とする。
また、前記キー入力手段は、物理キーボードの矢印キー以外を押下することによって選択されたキーを入力し、ソフトウェアキーボードの選択キーを自動的に別のキーに移動することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、以下のような効果がある。
（１）ソフトウェアキーボードの個々のキーに対する表記文字が非表示になっているため、たとえキーロガーによってキーボード画像をキャプチャされた場合でも、入力文字は検知されない。
（２）ソフトウェアキーボードに表示するキーのサイズや位置、あるいはソフトウェアキーボード全体の表示位置を時間的に変更するため、キーロガーは個々のキーの座標から画面上のキーの相対位置を計算することが困難になり、結果的に、入力文字を特定することができなくなる。
（３）ソフトウェアキーボードへのマウス入力を禁止するため、キャプチャ画像にはマウスカーソルが表示されない。これにより、キーロガーはマウスカーソルを追跡する方法ではキーの相対位置から入力文字を特定することができなくなる。
（４）ソフトウェアキーボードのキー移動は、物理キーボードの矢印キーによって行うため、従来のキーロガーの手法である、「物理キーボードに入力されるキーコードを盗聴する」方法は利用できない。
（５）ソフトウェアキーボードのキー移動のための物理キーボードストローク回数をランダムに変更する。すなわち、例えば、ｔ１時刻では物理キーボードの１回の押圧操作によってソフトウェアキーボードのキーを移動させるが、ｔ２時刻では物理キーボードの３回の押圧操作によってソフトウェアキーボードのキーを移動させるようにするため、たとえキーロガーが矢印キーのストローク回数を計算してソフトウェアキーボード上のキーの相対位置を検知しようと試みた場合でも、実際の選択キーと一致しなくなり、結果的に、入力文字を特定することができなくなる。
（６）キー移動が正常終了したことを通知する際、カーソルを所定時間だけ一時的に一瞬表示するため、キー入力時はカーソルが消滅する。これにより、たとえキーロガーがキーボード画像をキャプチャした場合でも、カーソルがどのキーにあたっているか検知できなくなる。
（７）ソフトウェアキーボードのキー入力は物理キーボードの矢印キー以外の任意キーによって行うため、従来のキーロガーの手法である、「物理キーボードに入力されるキーコードを盗聴する」、方法ではキー入力を検知できない。
（８）キー入力時に、ソフトウェアキーボードの選択キーを自動的に他のキーに移動することで、キー移動とキー入力の遅延時間の差をなくす。これにより、たとえキーロガーが両者の遅延時間を比較した場合でも、有意な差が現れず、入力したキーを検知できなくなる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施する場合の一形態を、図面を参照して具体的に説明する。
図１は、本発明に係るソフトウェアキーボードの一実施の形態を示すシステム構成図である。
端末ＴＭには、入出力装置１、制御プログラム２、記憶装置３を備える。
入出力装置１は、ディスプレイ装置１１、キーボード１２、マウス１３を備える。
ディスプレイ装置１１は、本発明に係わる安全なソフトウェアキーボードや入力フォームを含む、端末ＴＭ上のあらゆる表示画面の出力デバイスである。
キーボード１２は、任意の入力フォームに文字コードを入力するための入力デバイス、マウス１３は、ディスプレイ装置１１上の任意の位置をポインティングするための入力デバイスである。
【０００９】
制御プログラム２は、本発明に係わる安全なソフトウェアキーボードの構成プログラムとして、ソフトウェアキーボード表示部２１、入力フォーム表示部２２、デバイス制御部２３、入力判定部２４を備えている。
ソフトウェアキーボード表示部２１は、キーボード１２をソフトウェアによって仮想的に実現するプログラムであり、図３に示す安全なソフトウェアキーボード３０１の画面表示を作成し、キー選択時にカーソルを表示する機能を備える。
【００１０】
入力フォーム表示部２２は、安全なソフトウェアキーボード３０１の入力キーに対応する文字コードを入力フォーム上に出力する機能を備える。
デバイス制御部２３は、安全なソフトウェアキーボード３０１へのマウス１３の入力を禁止し、キーボード１２の入力だけ転送することを保証する機能を備える。
入力判定部２４は、キーボード１２の入力キーをソフトウェアキーボード表示部２１に送信するか判定する機能、キーボード１２の入力キーを文字コードに変換し、入力文字記憶部３１に保存する機能、入力文字記憶部３１に保存コードの入力フォーム表示部２２への転送をスケジューリングする機能を備える。
記憶装置３は、入力文字記憶部３１を備える。この入力文字記憶部３１は、入力フォームのパスワード項目に入力するパスワード文字列を一時的に保存する記憶領域である。安全性を考慮して、入力文字記憶部３１のデータを暗号化して保存することも想定する範囲内である。
【００１１】
図２は、本発明に係わる通常のソフトウェアキーボード２０１の画面表示例を示す。通常時においては、ソフトウェアキーボード２０１の画面表示には複数の文字コードの仮想的なキーが割り当てられている。ユーザはソフトウェアキーボード２０１上の仮想的なキー表示にマウスカーソル２０２を移動し、マウスをクリックする方法でキー入力を行う。
【００１２】
図３は、本発明に係わる安全なソフトウェアキーボード３０１の画面表示例を示す。安全なソフトウェアキーボード３０１の画面表示には、仮想的なキー表示上に文字コード（表記文字）が表示されていない点である。これにより、例えば、キーロガーが安全なソフトウェアキーボード３０１上の仮想的なキー表示の画像をキャプチャしたとしても、文字コードは表示されていないので、どのキーが選択されたかを監視するのが無意味なものとなる。
【００１３】
図４は、本発明に係わる入力フォームの画面表示例を示す。
入力フォーム４０１は、一般的に利用される認証情報の入力フォームと同様のものを想定している。ユーザIDとパスワードを入力する項目、認証情報を認証プロバイダに送信するか、キャンセルするかを決定するためのボタンを備える。
ユーザIDは複数の半角英数字を組合せた文字列、パスワードは”*”などで伏せられた文字列を表示するのが一般的である。
【００１４】
図５は、本発明に係わる安全なソフトウェアキーボード５０１のキー選択時の画面表示例を示す。
安全なソフトウェアキーボード５０１の画面表示上の仮想的なキーを選択するため、ユーザはキーボードの矢印キーを利用する。キーロガ−はソフトウェアキーボードの画像をキャプチャする方法で選択キーを検知できる。例えば、マウスカーソルが仮想的なキー表示の画像に割り当たっている場合、選択中の仮想的なキーを反転表示する場合である。本発明では、カーソル５０２を所定時間だけ一時的に（一瞬だけ）表示する機能を備える。次回のキー移動やキー入力が発生するまでの間にカーソル５０２は消滅する。ただし、一瞬はカーソルが表示されるので、ユーザは選択キーが何であるか確認することはできる。つまり、キーロガーがキー入力時にキーボード画像をキャプチャした場合でも、既にカーソルは消滅しているので、どのキーが入力されたか検知できない。
【００１５】
以下、以上のように構成された安全なソフトウェアキーボードの動作を説明する。
図６は、ソフトウェアキーボード表示部２１の処理を示すフローチャートである。
ソフトウェアキーボード表示部２１は、入力判定部２４から入力を待ち（ステップ６０１）、入力判定部２４から入力を受信する（ステップ６０２）と、入力がソフトウェアキーボード３０１の起動イベントかチェックする（ステップ６０３）。
入力判定部２４からの入力は、ソフトウェアキーボード３０１の起動イベント、終了イベント、キーコードのどれかである。ソフトウェアキーボード起動時は、ソフトウェアキーボード３０１の画面表示を初期化（ステップ６０４）し、ステップ６０１から繰り返す。
ソフトウェアキーボード３０１の画面表示を初期化するとは、文字コードを表示しない仮想的なキーボード配列の画像をソフトウェアキーボード内に表示する、ということである。
起動イベントは、物理キーボード１２において、ソフトウェアキーボードの画面表示を開始するために割り当てた専用のキー、例えばInsertキーなどを操作することによって発生する。またはマウス１３により、図４のパスワード入力ボックスを操作することによって発生する。
【００１６】
入力が起動イベント以外の場合、入力がソフトウェアキーボード３０１の終了イベントかチェックする（ステップ６０５）。ソフトウェアキーボード終了時は、ソフトウェアキーボードの画面表示を終了（ステップ６０６）し、処理を終了する。
終了イベントは、物理キーボード１２において、ソフトウェアキーボードの画面表示を終了するために割り当てた専用のキー、例えばEndキーなどを操作することによって発生する。またはマウス１３により、図４の非入力エリア、例えばユーザID入力ボックス、パスワード入力ボックス、OKボタン、Cancelボタン以外の領域を操作することによって発生する。
入力が終了イベント以外の場合、キーコードの種別判定を順番に実行する。物理キーボード１２における矢印キー“↑”かどうかのチェック（ステップ６０７）、“↓”かどうかのチェック（ステップ６０８）、“←”かどうかのチェック（ステップ６０９）、“→”かどうかのチェック（ステップ６１０）、を順に実行し、該当するキーコードの場合はソフトウェアキーボード３０１上の矢印キーの指定方向に移動する（ステップ６１２）。
また、上記のキーコード以外の場合は、キー入力を決定することに等しいので、ソフトウェアキーボード３０１上のキーを任意の方向に移動する（ステップ６１１）。ステップ６１１、またはステップ６１２終了後は、ユーザにキーの移動が正常終了したことを通知するため、図５の５０２に例示したように、該当するキーにカーソルを所定時間だけ一時的に表示し、その後カーソルを消去する（ステップ６１３）。ステップ６１３終了後はステップ６０１から繰り返す。
【００１７】
図７は、入力フォーム表示部の処理のフローチャートである。
入力フォーム表示部２２は、入力判定部２４から入力を待ち（ステップ７０１）、入力判定部２４から入力を受信する（ステップ７０２）と、入力がユーザID項目へのキーコード入力かどうかのチェック（ステップ７０３）、入力がパスワード項目へのキーコード入力かどうかのチェック（ステップ７０４）を順に実行する。入力判定部２４からの入力は、ユーザID項目への文字コード入力、パスワード項目への文字コード入力のどれかである。入力がユーザID項目の場合は文字コードを表示（ステップ７０４）し、ステップ７０１から繰り返す。入力がパスワードの場合は文字コードをそのまま表示せず、“*”などの伏せ文字を利用して表示（ステップ７０６）し、ステップ７０１から繰り返す。
【００１８】
図８は、デバイス制御部２３のキーボードイベント処理のフローチャートである。
デバイス制御部２３は、キーボード１２からキー入力を待ち（ステップ８０１）、キーボード１２からキーコード入力を受信する（ステップ８０２）と、入力がソフトウェアキーボード３０１の画面に対するキーコード入力かどうかのチェック（ステップ８０３）、入力が入力フォーム４０１の画面にあるユーザID項目に対するキーコード入力かどうかのチェック（ステップ８０４）を順に実行する。
キー入力がソフトウェアキーボード３０１の画面や入力フォーム４０１の画面にあるユーザID項目の場合は入力判定部２４にキーコードを送信（ステップ８０６）し、ステップ８０１から繰り返す。それ以外のキー入力の場合はキーコードを廃棄（ステップ８０５）し、ステップ８０１から繰り返す。キーボード１２からのキー入力は、ソフトウェアキーボードの画面、入力フォームの画面にあるパスワード項目だけを処理する。例えば、入力フォーム４０１の画面のパスワード項目はソフトウェアキーボード３０１で入力するため、入力判定部２４にキーコードを送信しない。
【００１９】
図９は、デバイス制御部２３のマウスイベント処理のフローチャートである。
デバイス制御部２３は、マウス１３からイベント入力を待ち（ステップ９０１）、マウス１３からイベント入力を受信する（ステップ９０２）と、入力が入力フォーム４０１の画面に対するマウス入力イベントかチェックする（ステップ９０３）。マウス入力イベントが入力フォーム４０１の画面の場合は入力判定部２４にマウスイベントを送信（ステップ９０５）し、ステップ９０１から繰り返す。それ以外の場合はマウスイベントを廃棄（ステップ９０４）し、ステップ９０１から繰り返す。マウス１３からのマウスイベント入力は、入力フォーム４０１の画面にある各項目だけを処理し、ソフトウェアキーボード３０１の表示画面にはマウスカーソルを表示しない。
【００２０】
図１０は、入力判定部２４によるデバイス制御部２３からの入力処理のフローチャートである。
入力判定部２４は、デバイス制御部２３から入力を待ち（ステップ１００１）、デバイス制御部２３から入力を受信する（ステップ１００２）と、入力がソフトウェアキーボード３０１の画面に対するイベントかどうかのチェック（ステップ１００３）、入力が入力フォーム４０１の画面に対するイベントかどうかのチェック（ステップ１００４）を順に実行する。
イベント入力がソフトウェアキーボード３０１の画面に対応する場合は、ソフトウェアキーボード３０１の入力判定処理を実行（処理Ａ）し、ステップ１００１から繰り返す。イベント入力が入力フォーム４０１の画面に対応する場合は入力フォーム４０１の入力判定処理を実行（処理Ｂ）し、ステップ１００１から繰り返す。
【００２１】
図１１は、入力判定部２４によるソフトウェアキーボード３０１の入力判定処理のフローチャートである。
ソフトウェアキーボード３０１には物理キーボード１２からのキーコード入力だけが送信される。入力判定部２４は、キーコードの種別判定を順番に実行する。すなわち、物理キーボード１２における矢印キー“↑”かどうかのチェック（ステップ１１０１）、“↓”かどうかのチェック（ステップ１１０２）、“←”かどうかのチェック（ステップ１１０３）、“→”かどうかのチェック（ステップ１１０４）を順に実行する。
該当するキーコード以外の場合は、現在ソフトウェアキーボード３０１上で選択されているキーの入力を意味するので、対応する文字コードを取り出し、入力文字記憶部３１に保存（ステップ１１０５）し、処理を終了する。
【００２２】
入力が上記のキーコード（“↑”、“↓”、“←”、“→”）の場合、ソフトウェアキーボード３０１にキーを送信するか判定する処理を開始する。
まず、ランダムな閾値を計算する（ステップ１１０６）。この時、キー移動が困難になる位に大きな値を計算しないように十分配慮する。次に、該当するキーのストローク回数が閾値を超えるかチェック（ステップ１１０７）し、超える場合はソフトウェアキーボード表示部２１にキーコードを送信（ステップ１１０８）し、処理を終了する。
該当するキーのストローク回数が閾値を超えない場合は処理を終了する。例えば、“↑”のストローク回数が３回であり、ランダムな閾値が２の場合はソフトウェアキーボード表示部２１にキーコードを送信するが、ランダムな閾値が４の場合はソフトウェアキーボード表示部２１にキーコードを送信しない。
【００２３】
図１２は、入力判定部２４による入力フォームの入力判定処理のフローチャートである。
入力フォーム４０１にはユーザID項目へのキーコード入力、パスワード項目へのマウスイベント入力、“OK”ボタンへのマウスイベント入力、“Cancel”ボタンへのマウスイベント入力だけが送信される。
入力判定部２４は、ユーザID項目へのキーコード入力かどうかチェックする（ステップ１２０１）。ユーザID項目へのキーコード入力の場合は、対応する文字コードを取り出し、入力フォーム表示部２２に送信（ステップ１２０２）し、処理を終了する。
【００２４】
ユーザID項目へのキーコード入力以外の場合、パスワード項目へのマウスイベント入力かどうかチェックする（ステップ１２０３）。パスワード項目へのマウスイベント入力の場合は、ソフトウェアキーボード表示部２１に“起動”を送信（ステップ１２０４）し、パスワード入力に備え、処理を終了する。パスワード項目へのマウスイベント入力以外の場合、“OK”ボタンへのマウスイベント入力かどうかチェックする（ステップ１２０５）。“ＯＫ”ボタンへのマウスイベント入力の場合、予め定めた認証プロバイダに認証情報を送信（ステップ１２０６）し、制御プログラム２全体を終了（ステップ１２０９）し、処理を終了する。
【００２５】
“OK”ボタンへのマウスイベント入力以外の場合、“Cancel”ボタンへのマウスイベント入力かどうかチェックする（ステップ１２０７）。Cancel”ボタンへのマウスイベント入力の場合、制御プログラム２全体を終了（ステップ１２０９）し、処理を終了する。Cancel”ボタンへのマウスイベント入力以外の場合、ソフトウェアキーボード表示部２１に“終了”を送信（ステップ１２０８）、処理を終了する。
【００２６】
図１３は、図４の入力フォーム４０１のパスワード入力欄に、ソフトウェアキーボード３０１により、例えば「ｐｍｗ」を入力する場合におけるユーザの操作手順とソフトウェアキーボードの状態を示す図である。
（１）まず、パスワード「ｐｍｗ」を入力するに際して、ソフトウェアキーボードのキー選択位置は１３０１から開始すると仮定する。ユーザは物理キーボード１２の”→”キーと”↓”キーの押下を繰り返し、「ｐ」キーを表す１３０２の位置に選択を移動させる。この位置で物理キーボードの矢印以外のキー、例えば、スペースキーを押下することで、「ｐ」の入力を確定させる。この時、キーは任意の方向に移動する。図１３はソフトウェアキーボードの一段下のキーに選択が移る例を示している。次に物理キーボードの”→”キーと”↑”キーの押下を繰り返し、「ｍ」キーを表す１３０３の位置に選択を移動させる。スペースキーを押下することで、「ｍ」の入力を確定させる。「ｗ」キー１３０４に関しても同様である。
【００２７】
ところで、ソフトウェアキーボード３０１上のキーのサイズや位置、あるいはソフトウェアキーボード全体の表示位置については、キーロガーによるキャプチャを困難にするために、時間的に変更するのが望ましい。
キーのサイズや位置を時間的に変更するに際しては、図１４に示す処理を図６のステップ６１３の後に挿入することにより、容易に実現することができる。
すなわち、まず、予め設定されている時間を経過しているかチェックする(ステップ１４０１)。経過している場合は、ソフトウェアキーボードのキー表示を更新するため、まず経過時間を０で初期化し(ステップ１４０２)、未表示のキーがあるかチェックする(ステップ１４０３)。ステップ１４０１で時間が経過していない場合は処理を終了する。ステップ１４０３で、未表示のキーがある場合は、キーのサイズや位置のランダムな値を計算し、ソフトウェアキーボード上にキーを表示する(ステップ１４０４)。ステップ１４０３で未表示のキーがない場合は、処理を終了する。
この処理を行うことにより、図３のキー表示が例えば図１５に示すようなものに時間的に変化し、キーの選択位置を追跡しただけでは、どの文字のキーが選択されたかを特定することが困難になる。
【００２８】
また、ソフトウェアキーボード全体の表示位置を画面内で時間的に変更するに際しては、図１６に示す処理を図６のステップ６１３の後に挿入することにより、容易に実現することができる。
すなわち、まず、ステップ１６０１において、予め設定されている時間を経過しているかチェックする(ステップ１６０１)。経過している場合は、ソフトウェアキーボード全体の表示位置を更新するため、まず経過時間を０で初期化する(ステップ１６０２)。ソフトウェアキーボードの表示位置のランダムな値を計算し、ソフトウェアキーボードを移動した後で処理を終了する。ステップ１６０１で時間が経過していない場合は処理を終了する。
この処理を行うことにより、図３のソフトウェアキーボード全体の表示が例えば図１７に示すような位置に時間的に変化し、キーの選択位置を追跡しただけでは、どの文字のキーが選択されたかを特定することが困難になる。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施の形態のソフトウェアキーボードのシステム構成を示す図である。
【図２】本発明における通常ソフトウェアキーボードの画面表示例を示す図である。
【図３】本発明における安全なソフトウェアキーボードの画面表示例を示す図である。
【図４】本発明における入力フォームの画面表示例を示す図である。
【図５】本発明における安全なソフトウェアキーボードのキー選択時の画面表示例を示す図である。
【図６】本発明におけるソフトウェアキーボード表示部の処理のフローチャートである。
【図７】本発明における入力フォーム表示部の処理のフローチャートである。
【図８】本発明におけるデバイス制御部のキーボードイベント処理のフローチャートである。
【図９】本発明におけるデバイス制御部のマウスイベント処理のフローチャートである。
【図１０】本発明における入力判定部によるデバイス制御部からの入力処理のフローチャートである。
【図１１】本発明における入力判定部によるソフトウェアキーボードの入力判定処理のフローチャートである。
【図１２】本発明における入力判定部による入力フォームの入力判定処理のフローチャートである。
【図１３】本発明におけるソフトウェアキーボードへの入力手順を示す図である。
【図１４】本発明におけるソフトウェアキーボード表示部によるキーのサイズや位置を時間的に変更する処理のフローチャートである。
【図１５】本発明に係わる安全なソフトウェアキーボードでキーのサイズや位置を時間的に変更する場合の画面表示例を示す図である。
【図１６】本発明に記載のソフトウェアキーボード表示部によるソフトウェアキーボード全体の表示位置を画面内で時間的に変更する処理のフローチャートである。
【図１７】本発明に係わる安全なソフトウェアキーボードで画面内の表示位置を時間的に変更する場合の画面表示例を示す図である。
【符号の説明】
【００３０】
ＴＭ…端末、１…入出力装置、２…制御プログラム、３…記憶装置、１１…ディスプレイ装置、１２…キーボード、１３…マウス、２１…ソフトウェアキーボード表示部、２２…入力フォーム表示部、２３…デバイス制御部、２４…入力判定部、３１…入力文字記憶部。
【図１】
2007172071.tif 000003
【図２】
2007172071.tif 000004
【図３】
2007172071.tif 000005
【図４】
2007172071.tif 000006
【図５】
2007172071.tif 000007
【図６】
2007172071.tif 000008
【図７】
2007172071.tif 000009
【図８】
2007172071.tif 000010
【図９】
2007172071.tif 000011
【図１０】
2007172071.tif 000012
【図１１】
2007172071.tif 000013
【図１２】
2007172071.tif 000014
【図１３】
2007172071.tif 000015
【図１４】
2007172071.tif 000016
【図１５】
2007172071.tif 000017
【図１６】
2007172071.tif 000018
【図１７】
2007172071.tif 000019