(57)【要約】【課題】インターネットのホームページ上の入力フォームに文字等を入力するための、文字入力の方法および装置を提供する。【解決手段】表示手段により表示されたポインタを移動させ、表示されたポインタの位置を出力するポインティングデバイスを備えているコンピュータにおいて、値が割り当てられた非表示のキー配列を表示するステップと、キー配列のキーを除いた所定の領域にポインタの位置があることを検出すると、非表示のキー配列に割り当てられた値を表示するステップ（Ｓ３０１およびＳ３０２）と、ポインタの位置がキー配列のいずれかのキーの表示領域内にあることを検出すると、表示された値を非表示として（Ｓ３０３およびＳ３０４）、所定の条件により、検出されたキーに割り当てられた値を入力レジスタに格納するステップ（Ｓ４０４）とを備える。【選択図】図３
2007109106.tif 000002
【特許請求の範囲】
【請求項１】
表示手段により表示されたポインタを移動させ、該表示されたポインタの位置を出力するポインティングデバイスを備えているコンピュータにおいて、
値が割り当てられた非表示のキー配列を表示するステップと、
前記キー配列のキーを除いた所定の領域に前記ポインタの位置があることを検出すると、前記非表示のキー配列に割り当てられた値を表示するステップと、
前記ポインタの位置が前記キー配列のいずれかのキーの表示領域内にあることを検出すると、前記表示された値を非表示として、所定の条件により、当該検出されたキーに割り当てられた値を入力レジスタに格納するステップと
を備えたことを特徴とする文字入力の方法。
【請求項２】
前記キー配列のキーを除いた所定の領域は、前記キー配列に隣接していることを特徴とする請求項１に記載の文字入力の方法。
【請求項３】
前記ポインティングデバイスは、マウスであり、前記所定の条件は、マウスがクリックされたことであることを特徴とする請求項１に記載の文字入力の方法。
【請求項４】
表示手段と、
前記表示手段により表示されたポインタを移動させ、該表示されたポインタの位置を出力するポインティング手段と、
キー配列を前記表示手段に表示し、前記ポインティング手段により、前記キー配列のキーを除いた所定の領域を前記ポインタが指示することによって、該キー配列に割り当てられた値を出力するキー出力手段と
を備え、前記キー出力手段は、前記ポインタが前記キー配列のキーを除いた所定の領域にない場合、または前記キー配列に含まれるいずれかのキー上にある場合、前記キー配列に割り当てられた値を非表示とすることを特徴とする文字入力の装置。
【請求項５】
前記キー配列のキーを除いた所定の領域は、前記キー配列に隣接していることを特徴とする請求項４に記載の文字入力の装置。
【請求項６】
前記ポインティング手段は、マウスであり、前記ポインティング手段により、前記ポインタが前記キー上でクリックされると、キーを指示することを特徴とする請求項４に記載の文字入力の装置。
【請求項７】
前記キー出力手段は、前記キー配列のキーを除いた所定の領域内においてマウスのクリックが行われた場合には、アラームを表示することを特徴とする請求項６に記載の文字入力の装置。
【請求項８】
プログラムを動作させて制御を行う制御手段と、
前記プログラムを格納する記憶手段と、
前記プログラムをサーバからネットワークを介して受信する受信手段と
をさらに備え、前記キー出力手段は、前記サーバから受信したプログラムを動作させることにより、実行されることを特徴とする請求項４、５、６または７に記載の文字入力の装置。
【請求項９】
文字入力するためのコンピュータに、値が割り当てられた非表示のキー配列を表示するステップと、前記キー配列のキーを除いた所定の領域にポインティングデバイスのポインタ位置があることを検出して、前記非表示のキー配列に割り当てられた値を表示するステップと、前記ポインティングデバイスのポインタ位置が前記キー配列のいずれかのキーの表示領域内にあることを検出して、前記表示された値を非表示とし、所定の条件により、当該検出されたキーに割り当てられた値を入力レジスタに格納するステップとを実行させるためのプログラム。
【請求項１０】
前記キー配列のキーを除いた所定の領域は、前記キー配列に隣接していることを特徴とする請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字入力の方法および装置に関し、より詳細には、インターネットのホームページ上における、入力フォームに文字等を入力する場合に使用する文字入力の方法および装置に関する。
【背景技術】
【０００２】
従来から、コンピュータの文字入力の方法としてソフトウェアキーボードが用いられている。ソフトウェアキーボードを用いる文字入力の方法は、入力する文字をキーとして配列し、配列されたキーを囲む領域をコンピュータの画面に表示し、キーにマウスポインタを合わせ、マウスクリックを行うことにより、文字を選択して入力する。文字を入力する場合に、入力された文字が画面に表示され、入力された文字列が確定するかまたは一定時間が経過すると、入力された文字が画面に表示されない方法が知られている（例えば、特許文献１参照）。
【０００３】
インターネットのホームページ上における、入力フォームに文字等を入力する場合にも、上述の方法を用いることができる。この特性を利用すれば、スパイウェア等により、キー入力のみのロギングが行われる場合に、マウス入力により、文字等を入力フォームに入力するため、入力された文字等を盗み取られることはないので、有効な対策となっていた。
【０００４】
スパイウェア等により、キー入力のロギングが行われるだけではなく、さらにマウスクリックにより入力するマウス入力のロギングも行われる場合には、ソフトウェアキーボードのキー配列が特別な場合を除いて、入力フォームに入力された文字等を盗み取られることになる。ここで、マウス入力のロギングは、マウスクリックが行われた時点のマウスの画面位置情報が記録されることを想定している。マウスクリックが行われた時点のマウスの画面位置情報により、ソフトウェアキーボードのキー配列と照らし合わせれば、マウス入力の文字を識別することができる。
【０００５】
マウス入力毎にソフトウェアキーボードのキー配列をランダムに変更して、ソフトウェアキーボードを表示させる文字入力の方法を用いれば、スパイウェア等によりキー入力およびマウス入力のロギングが行われても、マウス入力により入力された文字等が盗み取られる可能性は非常に小さい。
【０００６】
【特許文献１】特開２００５−２５０５３０号公報（第６〜９頁、第１〜４図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、スパイウェア等により、キー入力およびマウス入力のロギングが行われ、さらに画面のキャプチャーが行われると、マウス入力により入力された文字等が盗み取られることがあるという問題があった。
【０００８】
すなわち、上述のようなソフトウェアキーボードを用いても、マウス入力が行われた時点の画面がキャプチャーされると、ソフトウェアキーボードを表示中の画面が盗み取られる。すると、マウス入力が行われた時点におけるマウスの画面位置情報およびマウス入力毎のソフトウェアキーボードのキー配列により、マウス入力の文字を識別することができるので、マウス入力により入力された文字等が盗み取られるという問題があった。
【０００９】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、マウス入力により入力された文字等が盗み取られることを防止して、インターネットのホームページ上の入力フォームに文字等を入力するための、文字入力の方法および装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、このような目的を達成するために、請求項１に記載の発明は、表示手段により表示されたポインタを移動させ、表示されたポインタの位置を出力するポインティングデバイスを備えているコンピュータにおいて、値が割り当てられた非表示のキー配列を表示するステップと、キー配列のキーを除いた所定の領域にポインタの位置があることを検出すると、非表示のキー配列に割り当てられた値を表示するステップ（Ｓ３０１およびＳ３０２）と、ポインタの位置がキー配列のいずれかのキーの表示領域内にあることを検出すると、表示された値を非表示として（Ｓ３０３およびＳ３０４）、所定の条件により、検出されたキーに割り当てられた値を入力レジスタに格納するステップ（Ｓ４０４）とを備えたことを特徴とする。
【００１１】
この方法によれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、入力された文字等が盗み取られることを防止して、文字等を入力する処理の提供が可能となる。
【００１２】
請求項２に記載の発明は、請求項１に記載のキー配列のキーを除いた所定の領域は、キー配列に隣接していることを特徴とする。
【００１３】
この方法によれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、入力された文字等が盗み取られることを防止して、利便性の高い文字等を入力する処理の提供が可能となる。
【００１４】
請求項３に記載の発明は、請求項１に記載のポインティングデバイスは、マウス（１０２）であり、所定の条件は、マウスがクリックされたことであることを特徴とする。
【００１５】
この方法によれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、マウス入力により入力された文字等が盗み取られることを防止して、文字等を入力する処理の提供が可能となる。
【００１６】
請求項４に記載の発明は、表示手段と、表示手段により表示されたポインタを移動させ、表示されたポインタの位置を出力するポインティング手段と、キー配列を表示手段に表示し、ポインティング手段により、キー配列のキーを除いた所定の領域をポインタが指示することによって、キーに割り当てられた値を出力するキー出力手段（Ｓ３０２）とを備え、キー出力手段は、ポインタがキー配列の所定の近傍領域にない場合、またはキー配列に含まれるいずれかのキー上にある場合、キーに割り当てられた値を非表示とする（Ｓ３０４）ことを特徴とする。
【００１７】
この構成によれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、入力された文字等が盗み取られることを防止した文字等の入力が可能となる。
【００１８】
請求項５に記載の発明は、請求項３に記載のキー配列のキーを除いた所定の領域は、キー配列に隣接していることを特徴とする。
【００１９】
この構成によれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、入力された文字等が盗み取られることを防止した利便性の高い文字等の入力が可能となる。
【００２０】
請求項６に記載の発明は、請求項４に記載のポインティング手段は、マウス（１０２）であり、ポインティング手段により、ポインタがキー上でクリックされると、キーを指示することを特徴とする。
【００２１】
この構成によれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、マウス入力により入力された文字等が盗み取られることを防止した文字等の入力が可能となる。
【００２２】
請求項７に記載の発明は、請求項６に記載のキー出力手段は、キー配列の近傍領域内においてマウスのクリックが行われた場合には、アラームを表示する（Ｓ４０８）ことを特徴とする。
【００２３】
この構成によれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合、キーに文字等を表示中に、ユーザが誤ってマウスクリックを行うことによる、入力する文字等の盗み取りの防止が可能となる。
【００２４】
請求項８に記載の発明は、請求項４、５、６または７に記載のプログラムを動作させて制御を行う制御手段（２０１）と、プログラムを格納する記憶手段（２０２）と、プログラムをサーバからネットワークを介して受信する受信手段（２０４）とをさらに備え、キー出力手段は、サーバから受信したプログラムを動作させることにより、実行されることを特徴とする。
【００２５】
この構成によれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、入力された文字等が盗み取られることを防止した、インターネットのホームページ上の入力フォームへの文字等の入力が可能となる。
【００２６】
請求項９に記載の発明は、文字入力するためのコンピュータに実行させるプログラムは、値が割り当てられた非表示のキー配列を表示するステップと、キー配列のキーを除いた所定の領域にポインティングデバイスのポインタ位置があることを検出して、非表示のキー配列に割り当てられた値を表示するステップ（Ｓ３０１およびＳ３０２）と、ポインティングデバイスのポインタ位置がキー配列のいずれかのキーの表示領域内にあることを検出して、表示された値を非表示とし（Ｓ３０３およびＳ３０４）、所定の条件により、検出されたキーに割り当てられた値を入力レジスタに格納するステップ（Ｓ４０４）とを有することを特徴とする。
【００２７】
このプログラムによれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、入力された文字等が盗み取られることを防止して、文字等を入力するプログラムをコンピュータに提供することが可能となる。
【００２８】
請求項１０に記載の発明は、請求項９に記載のキー配列のキーを除いた所定の領域は、キー配列に隣接していることを特徴とする。
【００２９】
このプログラムによれば、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、入力された文字等が盗み取られることを防止して、利便性に優れた文字等を入力するプログラムをコンピュータに提供することが可能となる。
【発明の効果】
【００３０】
以上説明したように、本発明によれば、値が割り当てられた非表示のキー配列を表示するステップと、キー配列のキーを除いた所定の領域にポインタの位置があることを検出すると、非表示のキー配列に割り当てられた値を表示するステップと、ポインタの位置がキー配列のいずれかのキーの表示領域内にあることを検出すると、表示された値を非表示として、所定の条件により、検出されたキーに割り当てられた値を入力レジスタに格納するステップとを備えるので、スパイウェア等により、キー入力とマウス入力とのロギング、および画面のキャプチャーが行われる場合に、入力された文字等が盗み取られることを防止して、文字等を入力する処理の提供が可能となる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
【００３２】
図１は、本発明の一実施形態にかかる文字入力のシステム環境を示す構成図である。ユーザによりインターネットのホームページの閲覧に使用されているパーソナルコンピュータ１０１と、ユーザに公開されたホームページを提供しているサーバコンピュータ１０４とが、インターネット１０３に接続されている。さらに、ユーザがマウス入力する場合に使用されるマウス１０２が、マウスケーブルによりパーソナルコンピュータ１０１に接続されている。ただし、ポインティングデバイスは、マウスに限定はされない。
【００３３】
パーソナルコンピュータ１０１は、ユーザによりホームページのアドレスが入力されると、ホームページを公開するサーバコンピュータ１０４にインターネット１０３を介して接続し、サーバコンピュータ１０４からダウンロードされるソフトウェアキーボードのアプリケーションソフトウェア（以下、アプリケーションという）を受信し、およびソフトウェアキーボードのアプリケーションを、図２を参照して後述するメモリ２０２等の記憶装置に格納して保持する。詳細は、図３を参照して後述する。
【００３４】
パーソナルコンピュータ１０１は、保持しているソフトウェアキーボードのアプリケーションを実行することにより、ユーザに対して、マウス１０２によるソフトウェアキーボードを用いたマウス入力機能を提供する。詳細は、図３〜７を参照して後述する。
【００３５】
このような構成により、ユーザに対して、インターネットのホームページ上の入力フォームに文字等を入力させることが可能となる。
【００３６】
図２は、本発明の一実施形態にかかる文字入力装置を示すブロック図である。文字入力装置として使用されるパーソナルコンピュータ１０１は、各ブロックを制御する中央処理装置２０１と、ソフトウェアキーボードのアプリケーションを保持するメモリ２０２と、ソフトウェアキーボードを画面に表示する画面表示装置２０３と、インターネットに接続するネットワーク接続装置２０４とが、バスを介して相互に接続されている。
【００３７】
メモリ２０２は、入出力機能やメモリ管理機能等を提供する基本ソフトウェア２１１と、アプリケーション２１２と、データ２１３とを記憶している。アプリケーション２１２およびデータ２１３は、図３〜７を参照して後述する文字入力の方法を実行するためのプログラムおよびデータを、それぞれ格納している。
【００３８】
中央処理装置２０１は、メモリ２０２に記憶されたプログラムを実行する。中央処理装置２０１は、ネットワーク接続装置２０４からソフトウェアキーボードのアプリケーションを受信かつ保持し、ユーザによりソフトウェアキーボードの表示が選択されると、ソフトウェアキーボードのキー内容が表示されない状態（以下、非表示状態という）のソフトウェアキーボードを表示する指令を、画面表示装置２０３に送信し、およびソフトウェアキーボードのキー配列に対してキー内容をランダムに割り当てる。
【００３９】
図３は、本発明の一実施形態にかかる文字入力の方法を示すフローチャートである。ユーザが、文字入力装置として使用されるパーソナルコンピュータ１０１により、ユーザに対してホームページの公開を提供しているサーバコンピュータ１０４に接続して、文字入力を行う場合を説明する。
【００４０】
ユーザが、文字入力装置として使用されるパーソナルコンピュータ１０１に、閲覧するホームページのアドレスを入力する。ホームページのアドレスを入力されたパーソナルコンピュータ１０１が、入力されたアドレスにより、閲覧されるホームページを提供しているサーバコンピュータ１０４に接続する。パーソナルコンピュータ１０１により接続されたサーバコンピュータ１０４が、閲覧されるホームページをパーソナルコンピュータ１０１にダウンロードする。ダウンロードされるホームページは、ソフトウェアキーボードのアプリケーションが埋め込まれたＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書により構成されている。ここで、図５を参照して、ソフトウェアキーボードを説明する。
【００４１】
図５は、本発明の一実施形態にかかる文字入力装置の画面の概略を例示する図である。文字入力装置として使用されるパーソナルコンピュータ１０１の画面５０１は、ソフトウェアキーボードのキー５０２ａ〜５０２ｊと、特定エリア５０３とを含んでいる。特定エリア５０３は、斜線で表される領域である。キー５０２ａ〜５０２ｊと特定エリア５０３とにより、ソフトウェアキーボードが構成されている。本発明において、特定エリア５０３内にマウスポインタがある場合に、キー５０２ａ〜５０２ｊにキー内容を表示する。ここで、キー配列のキーを除いた所定の領域は、特定エリア５０３に限定されない。
【００４２】
図５に例示するソフトウェアキーボードは、説明のため、テンキーのみとしている。さらに、図５に例示するソフトウェアキーボードは、説明のため、キー５０２ａ〜５０２ｊと特定エリア５０３とが隣接した構成としている。別の実施形態では、キー５０２ａ〜５０２ｊと特定エリア５０３とを隣接させずに分離した状態で、画面５０１内にソフトウェアキーボードを構成してもよい。また、図３を参照して、文字入力の方法の説明を続ける。
【００４３】
次に、ユーザが、ホームページの閲覧中に、ホームページ上のソフトウェアキーボードの表示を選択する。パーソナルコンピュータ１０１が、ダウンロードされたホームページに埋め込まれたソフトウェアキーボードのアプリケーションを実行することにより、ソフトウェアキーボードのキー内容が非表示状態のソフトウェアキーボードを画面に表示する。パーソナルコンピュータ１０１が、ダウンロードされたホームページに埋め込まれたソフトウェアキーボードのアプリケーションを実行することにより、ソフトウェアキーボードのキー配列に対してキー内容をランダムに割り当てる。ソフトウェアキーボードのキー配列に対してキー内容をランダムに割り当てる方法については、図６を参照して後述する。
【００４４】
次に、ユーザが、パーソナルコンピュータ１０１の画面上で、マウスにより、ソフトウェアキーボードにおいてソフトウェアキーボードからキーを除外した領域である特定エリア内に、マウスポインタを移動させる。ステップＳ３０１では、パーソナルコンピュータ１０１が、ソフトウェアキーボードのアプリケーションを実行することにより、特定エリア内にマウスポインタがあることを検出する。ステップＳ３０２では、パーソナルコンピュータ１０１が、ソフトウェアキーボードのアプリケーションを実行することにより、ソフトウェアキーボードのキー配列に対してランダムに配列させておいたキー内容を表示する。
【００４５】
ユーザが、パーソナルコンピュータ１０１の画面上で、マウスにより、ソフトウェアキーボードのキー内に、マウスポインタを移動させる。ステップＳ３０３では、パーソナルコンピュータ１０１が、ソフトウェアキーボードのアプリケーションを実行することにより、ソフトウェアキーボードのキー内にマウスポインタがあることを検出する。ステップＳ３０４では、パーソナルコンピュータ１０１が、ソフトウェアキーボードのアプリケーションを実行することにより、ソフトウェアキーボードのキー内容が非表示状態のソフトウェアキーボードを表示する。
【００４６】
ユーザが、パーソナルコンピュータ１０１の画面上で、マウスにより、ソフトウェアキーボードのキー内でマウスクリックを行う。ステップＳ３０５では、パーソナルコンピュータ１０１が、ソフトウェアキーボードのアプリケーションを実行することにより、ソフトウェアキーボードのキー内でマウスクリックが行われたことを検出する。次に、パーソナルコンピュータ１０１が、ソフトウェアキーボードのアプリケーションを実行することにより、図４を参照して後述するマウスクリックの処理を実行する。
【００４７】
図４は、本発明の一実施形態にかかる文字入力の方法を示すフローチャートである。
【００４８】
ステップＳ４０１では、ユーザによるマウスクリックが行われたのが、ソフトウェアキーボードのキー内であったかどうかを識別する。ステップＳ４０１において、ユーザによるマウスクリックが行われたのがソフトウェアキーボードのキー内であった場合には、インターネットのホームページ上の入力フォームにおいて、既に入力されているデータを、メモリ２０２のデータ２１３から取得する（ステップＳ４０２）。
【００４９】
ステップＳ４０３では、既に入力されているデータの文字数が、しきい値以下であるかどうかを識別する。しきい値は、あらかじめサーバコンピュータ１０４において設定しておき、アプリケーションが埋め込まれたＨＴＭＬ文書とともに、パーソナルコンピュータ１０１にダウンロードされて、パーソナルコンピュータ１０１内のメモリ２０２のデータ２１３に保持されている。本実施形態では、しきい値をあらかじめサーバコンピュータ１０４において設定しているが、しきい値は設定しなくてもよい。
【００５０】
ステップＳ４０３において、既に入力されているデータの文字数がしきい値以下である場合には、マウスクリックが行われたキーのキー内容のデータを、入力フォームに既に入力されているデータに追加する（ステップＳ４０４）。ただし、マウスクリックが行われたキーのキー内容のデータは、数字であっても英字であってもよい。ステップＳ４０５において、追加されたデータを、パーソナルコンピュータ１０１の画面上の入力フォームに表示させ、処理を終了する。これらのステップにより、ソフトウェアキーボードによる文字入力を提供することができる。
【００５１】
ステップＳ４０３において、既に入力されているデータの文字数がしきい値以下ではない場合には、文字数制限を超えている旨を通知するエラー表示を、パーソナルコンピュータ１０１の画面上に表示させ（ステップＳ４０６）、処理を終了する。なお、エラー表示をしないで、そのまま処理を終了してもよい。
【００５２】
ユーザにより、ソフトウェアキーボードのキー内でマウスクリックが行われた場合を上述した。ユーザにより、ソフトウェアキーボードのキー外であるソフトウェアキーボードの特定エリア内において、マウスクリックが行われた場合を説明する。ソフトウェアキーボードの特定エリア内にマウスポインタがある場合は、ソフトウェアキーボードのキー内において、ソフトウェアキーボードのキー内容が表示されている。キー内容が表示されている状態でマウスクリックが行われると、スパイウェア等により、画面のキャプチャーが行われ、ソフトウェアキーボードのキー内容が盗み取られる可能性がある。
【００５３】
ステップＳ４０１において、ユーザによるマウスクリックが行われたのがソフトウェアキーボードのキー内ではない場合には、特定エリア内であるかどうかを識別する（ステップＳ４０７）。ステップＳ４０７において、ユーザによるマウスクリックが行われたのが特定エリア内である場合には、画面のキャプチャーが行われる危険性を通知するアラーム表示を、パーソナルコンピュータ１０１の画面上に表示させる（ステップＳ４０８）。さらに、ソフトウェアキーボードのキー内容が非表示状態のソフトウェアキーボードを、パーソナルコンピュータ１０１の画面上に表示し（ステップＳ４０９）、ソフトウェアキーボードのキー内容を、ランダムに再配置する（ステップＳ４１０）。
【００５４】
したがって、ソフトウェアキーボードのキー外でマウスクリックが行われた場合に、ソフトウェアキーボードのキー内容をランダムに再配置するので、次にソフトウェアキーボードのキー内容が表示される場合には、今回表示されたソフトウェアキーボードのキー内容とは異なるキー内容を表示することができる。なお、ステップＳ４０９およびステップＳ４１０は、ステップＳ４０５およびステップＳ４０６の少なくとも一方の後にも行うようにしてもよい。
【００５５】
ステップＳ４０７において、ユーザによるマウスクリックが行われたのが特定エリア内でではない場合には、処理を終了する。
【００５６】
図６は、本発明の一実施形態にかかる文字入力装置の画面の概略を例示する図である。文字入力装置として使用されるパーソナルコンピュータ１０１の画面５０１は、ソフトウェアキーボードのキー６０１ａ〜６０１ｊと、特定エリア６０２とを含んでいる。特定エリア６０２は、斜線で表される領域である。キー６０１ａ〜６０１ｊと特定エリア６０２とにより、ソフトウェアキーボードが構成されている。図６に例示するソフトウェアキーボードは、図５を参照して説明したキーの配列とは異なっている。
【００５７】
図７は、本発明の一実施形態にかかるソフトウェアキーボードのキー内容をランダムに割り当てるためのデータ構造を例示する図である。
【００５８】
ソフトウェアキーボードのキー内容が数字である場合、データ構造７０１は、数１というデータから、数１０というデータまでの１０個のデータにより構成されている。データの数１は、ソフトウェアキーボードのキー５０２ａの位置にあるキー内容に対応させる。データの数２は、ソフトウェアキーボードのキー５０２ｂの位置にあるキー内容に対応させる。以下、帰納的にデータとキー内容を対応させ、データの数１０は、ソフトウェアキーボードのキー５０２ｊの位置にあるキー内容に対応させる。
【００５９】
ソフトウェアキーボードのキー内容が数字である場合、文字入力装置としてのパーソナルコンピュータ１０１により、ソフトウェアキーボードのキー配列に対してキー内容をランダムに割り当てる方法の動作は、例えば、次のとおりである。
【００６０】
最初に、数１０に格納されているデータを入れ替えるとする。入れ替える対象は、数１から数９までのデータとし、ランダムに数１０のデータと入れ替える。ランダムな入れ替えには、ランダム関数や乱数表などを用いればよい。次に、数９に格納されているデータを入れ替える。入れ替える対象は、数１から数８までのデータとし、ランダムに数９のデータと入れ替える。次に、数８に格納されているデータを入れ替える。入れ替える対象は、数１から数７までのデータとし、ランダムに数８のデータと入れ替える。以下、帰納的にデータを入れ替え、数２に格納されているデータを数１のデータと入れ替え、動作を終了する。
【００６１】
ソフトウェアキーボードのキー内容が英字である場合、データ構造７０２は、英１というデータから、英２６というデータまでの２６個のデータにより構成されている。データの英１は、ソフトウェアキーボードの「Ａ」の位置にあるキー内容に対応させる。データの英２は、ソフトウェアキーボードの「Ｂ」の位置にあるキー内容に対応させる。以下、帰納的にデータとキー内容を対応させ、データの英２６は、ソフトウェアキーボードの「Ｚ」の位置にあるキー内容に対応させる。
【００６２】
ソフトウェアキーボードのキー内容が英字である場合、文字入力装置としてのパーソナルコンピュータ１０１により、ソフトウェアキーボードのキー配列に対してキー内容をランダムに割り当てる方法の動作は、次のとおりである。
【００６３】
英１のデータから英２６のデータまでの中から、データをひとつ、ランダムに選択する。ランダムな選択には、ランダム関数や乱数表などを用いればよい。例えば、選択した結果、英３のデータが選択されたとすると、英１のデータを英３のデータに、英２のデータを英４のデータに、以下、帰納的にデータを対応させ、英２４のデータを英２６のデータに、英２５のデータは、英１のデータに、英２６のデータは、英２のデータになるように対応させて割り当てる。
【００６４】
本実施形態によれば、ユーザが文字入力装置としてのパーソナルコンピュータ１０１のマウスを操作することにより入力フォームに文字入力を行う場合、マウスポインタがソフトウェアキーボードの特定エリア５０３にあれば、ソフトウェアキーボードのキー５０２ａ〜５０２ｊのキー内容を表示させ、マウスポインタがソフトウェアキーボードのキー５０２ａ〜５０２ｊにあれば、ソフトウェアキーボードのキー５０２ａ〜５０２ｊのキー内容を表示させない状態において、ユーザが入力フォームに文字入力を行うことができ、スパイウェア等により、キー入力およびマウス入力のロギングが行われ、さらに画面のキャプチャーが行われても、マウス入力により入力フォームに入力された文字等が盗み取られることを防止することが可能となる。
【００６５】
さらに、本実施形態によれば、ユーザが文字入力装置としてのパーソナルコンピュータ１０１のマウスを操作することにより入力フォームに文字入力を行う場合、マウスポインタがソフトウェアキーボードの特定エリア５０３にある状態において、ユーザがマウスクリックを行うと、ソフトウェアキーボードのキー配列に対して、ソフトウェアキーボードのキー内容をランダムに再配置することができ、スパイウェア等により、キー入力およびマウス入力のロギングが行われ、さらに画面のキャプチャーが行われても、ソフトウェアキーボードのキー内容が盗み取られることを防止することが可能となる。
【００６６】
本実施形態では、文字入力の対象として、数字や英字の場合を説明したが、文字入力の対象は、数字や英字以外の他の文字、記号、または絵等、キー内に表示することができ、コンピュータ読取可能な値で表現することができる対象であれば、何でもよい。
【００６７】
また、本実施形態では、マウスクリックによる入力を用いて説明したが、マウスのクリックを行わずに、ユーザがキーにマウスポインタを合わせ、マウスポインタの静止を検出することにより、キー内容を入力してもよい。
【産業上の利用可能性】
【００６８】
本発明の文字入力の方法および装置は、インターネット社会における情報セキュリティ対策の一助となる可能性が高いといえる。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態にかかる文字入力のシステム環境を示す構成図である。
【図２】本発明の一実施形態にかかる文字入力装置を示すブロック図である。
【図３】本発明の一実施形態にかかる文字入力の方法を示すフローチャートである。
【図４】本発明の一実施形態にかかる文字入力の方法を示すフローチャートである。
【図５】本発明の一実施形態にかかる文字入力装置の画面の概略を例示する図である。
【図６】本発明の一実施形態にかかる文字入力装置の代替画面の概略を例示する図である。
【図７】本発明の一実施形態にかかるソフトウェアキーボードのキー内容をランダムに割り当てるためのデータ構造を例示する図である。
【符号の説明】
【００７０】
１０１  パーソナルコンピュータ
１０２  マウス
１０４  サーバコンピュータ
５０１  画面
５０２ａ〜５０２ｊ  キー
５０３  特定エリア
７０１、７０２  データ構造
【図１】
2007109106.tif 000003
【図２】
2007109106.tif 000004
【図３】
2007109106.tif 000005
【図４】
2007109106.tif 000006
【図５】
2007109106.tif 000007
【図６】
2007109106.tif 000008
【図７】
2007109106.tif 000009