JP5177900B2 - 入力装置、入力方法、及びプログラム - Google Patents

入力装置、入力方法、及びプログラム Download PDF

Info

Publication number
JP5177900B2
JP5177900B2 JP2009242520A JP2009242520A JP5177900B2 JP 5177900 B2 JP5177900 B2 JP 5177900B2 JP 2009242520 A JP2009242520 A JP 2009242520A JP 2009242520 A JP2009242520 A JP 2009242520A JP 5177900 B2 JP5177900 B2 JP 5177900B2
Authority
JP
Japan
Prior art keywords
scan code
input
computer
unit
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009242520A
Other languages
English (en)
Other versions
JP2011090454A (ja
Inventor
茂之 小竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Fielding Ltd
Original Assignee
NEC Fielding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Fielding Ltd filed Critical NEC Fielding Ltd
Priority to JP2009242520A priority Critical patent/JP5177900B2/ja
Publication of JP2011090454A publication Critical patent/JP2011090454A/ja
Application granted granted Critical
Publication of JP5177900B2 publication Critical patent/JP5177900B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Input From Keyboards Or The Like (AREA)

Description

本発明は、ユーザによるキー操作のログの傍受による入力情報の読み取りを防ぐ入力装置、入力方法、及びプログラムに関する。
近年、個人及び企業にて用いられるコンピュータは、GUI(Graphic User Interface)機能を有するコンピュータが普及しており、当該コンピュータで用いられるソフトウェアについてもGUIを用いたものが大半を占めている。このようなGUIを用いたコンピュータでは、ユーザによる多くの操作がポインティングデバイスによってなされるため、CUI(Character User Interface)を用いたシステムと比較して、必然的にキー操作による入力符号の数が少なくなっている。他方、アカウント情報やパスワードなどの秘匿情報は、キーボードを用いて入力されることが多い。
なお、特許文献1には、パスワードの入力操作を覗き見られてもパスワードが推測される危険性を低くする技術が開示されている。特許文献1によれば、ユーザがパスワードを入力する際に、指定された位置にダミーの符号を入力させることで、パスワードの入力操作を覗き見られてもパスワードが推測される危険性を低くすることができる。また、特許文献1は、符号列の出力時にダミーの符号部分を除去するため、出力される符号列はパスワードと同じ符号列となる。
特開2000−29609号公報
しかしながら、GUI機能を有するコンピュータは、上述したようにキー操作による入力符号の数が少ないため、キーボードの操作ログを蓄積するキー操作情報蓄積装置またはキー操作情報蓄積プログラムによって秘匿情報の特定を行うことが容易となってしまうという問題があった。
また、特許文献1に記載の技術は、ユーザがダミーの符号部分の入力を行う必要があるため、従来のパスワード入力と比較してユーザによる操作が煩雑化してしまうという問題がある。
本発明は上記の点に鑑みてなされたものであり、その目的は、ユーザ操作の煩雑化を抑えつつ、秘匿情報の特定を困難化する入力装置、入力方法、及びプログラムを提供することにある。
本発明は上記の課題を解決するためになされたものであり、ユーザによるキー操作のログの傍受による入力情報の読み取りを防ぐ入力装置であって、自装置に接続されたコンピュータが実行するプログラムが入力フォームにフォーカスを付与しているか否かを判定するフォーカス判定部と、ユーザからコンピュータに対するキー操作による入力を受け付け、当該キー操作に対応するスキャンコードを前記コンピュータに対して出力するスキャンコード出力部と、前記コンピュータが実行するプログラムが入力フォームにフォーカスを付与していないときに、ユーザによるキー操作と無関係なスキャンコードを前記コンピュータに対して出力する擬似スキャンコード出力部とを備えることを特徴とする。
また、本発明は、ユーザによるキー操作のログの傍受による入力情報の読み取りを防ぐ入力装置を用いた入力方法であって、フォーカス判定部は、自装置に接続されたコンピュータが実行するプログラムが入力フォームにフォーカスを付与しているか否かを判定し、スキャンコード出力部は、ユーザからコンピュータに対するキー操作による入力を受け付け、当該キー操作に対応するスキャンコードを前記コンピュータに対して出力し、擬似スキャンコード出力部は、前記コンピュータが実行するプログラムが入力フォームにフォーカスを付与していないときに、ユーザによるキー操作と無関係なスキャンコードを前記コンピュータに対して出力することを特徴とする。
また、本発明は、入力装置を、自装置に接続されたコンピュータが実行するプログラムが入力フォームにフォーカスを付与しているか否かを判定するフォーカス判定部、ユーザからコンピュータに対するキー操作による入力を受け付け、当該キー操作に対応するスキャンコードを前記コンピュータに対して出力するスキャンコード出力部、前記コンピュータが実行するプログラムが入力フォームにフォーカスを付与していないときに、ユーザによるキー操作と無関係なスキャンコードを前記コンピュータに対して出力する擬似スキャンコード出力部として機能させるためのプログラムである。
本発明によれば、入力装置は、ユーザの入力操作に基づくスキャンコードとユーザの入力操作とは無関係なスキャンコードとが混ざったデータを出力する。そのため、キー操作情報蓄積装置またはキー操作情報蓄積プログラムによる傍受が行われている場合、当該装置またはプログラムが読み出すデータには、ユーザの入力操作に基づくスキャンコードとユーザの入力操作とは無関係なスキャンコードとが入り混じることとなる。これにより、傍受者による秘匿情報の特定を困難にすることができる。また、入力装置は、ユーザがキー操作をしていないときにユーザの入力操作と無関係なスキャンコードを出力するため、秘匿情報の特定の困難化に伴うユーザ操作の煩雑化を抑えることができる。
本発明の第1の実施形態による入力装置の構成を示す概略ブロック図である。 本発明の第1の実施形態による入力装置の動作を示すフローチャートである。 本発明の第2の実施形態による入力装置の構成を示す概略ブロック図である。 本発明の第2の実施形態による入力装置の動作を示すフローチャートである。 本発明の第3の実施形態による入力装置の構成を示す概略ブロック図である。 本発明の第3の実施形態による入力装置の動作を示すフローチャートである。 出力停止時処理の動作を示すフローチャートである。
(第1の実施形態)
以下、図面を参照しながら本発明の第1の実施形態について詳しく説明する。
図1は、本発明の第1の実施形態による入力装置の構成を示す概略ブロック図である。
入力装置1は、入力部11、制御部12、動作選択スイッチ13、第1動作表示部14、第2動作表示部15、擬似スキャンコード表示部16を備え、コンピュータ5に接続される。
入力部11は、複数の符号に対応するキーを有し、当該キーの押下・解放を検知して、当該キー操作に対応するスキャンコードを出力する。ここで、スキャンコードとは、押下または解放されたキーをコンピュータ5に通知する情報であり、押下・解放の何れを検知したかを示すプレフィックスと、押下・解放を検知したキーの識別番号とから構成される。例えば、解放を検出した際のプレフィックスが「0xF0」であり、「1」を示すキーの識別番号が「0x16」であった場合、「1」を示すキーを押下したとき、出力されるスキャンコードは「0x16」となり、当該キーを解放したとき、出力されるスキャンコードは「0xF0 0x16」となる。なお、「0x」とは後続の値が16進法表記であることを示す接頭辞である。
制御部12は、入力部が出力したスキャンコード、及びランダムに生成したスキャンコードをコンピュータ5に出力する。
動作選択スイッチ13は、ユーザの操作に基づいて、制御部12がランダムに生成したスキャンコードを出力する状態である「擬似スキャンコード出力状態」と、制御部12がランダムに生成したスキャンコードを出力しない状態である「擬似スキャンコード停止状態」とを切り替える。
第1動作表示部14は、ランプを有し、「擬似スキャンコード出力状態」のときに当該ランプを点灯させ、他の状態のときに当該ランプを消灯させる。
第2動作表示部15は、ランプを有し、「擬似スキャンコード出力状態」のときに当該ランプを消灯させ、他の状態のときに当該ランプを点灯させる。
擬似スキャンコード表示部16は、制御部12が生成したランダムに生成したスキャンコードを表示する。
制御部12は、スキャンコード出力部121、擬似スキャンコード出力部122、状態記憶部123を備える。
スキャンコード出力部121は、入力部11が出力したスキャンコードをコンピュータ5に出力する。
状態記憶部122は、現在の状態(「擬似スキャンコード出力状態」または「擬似スキャンコード停止状態」)を示す状態情報を記憶する。なお、状態情報は、初期状態では「擬似スキャンコード停止状態」を示すものとする。
擬似スキャンコード出力部123は、状態記憶部122が記憶する状態が「擬似スキャンコード出力状態」である場合に、ランダムにスキャンコードを生成し、当該スキャンコードをコンピュータ5に出力する。
タイマ部124は、一定時間(例えば1秒)を計時する。
そして、入力装置1のスキャンコード出力部121は、入力部11を介してユーザからコンピュータに対するキー操作による入力を受け付け、当該キー操作に対応するスキャンコードをコンピュータ5に対して出力し、擬似スキャンコード出力部123は、スキャンコード出力部121がスキャンコードを出力していないときに、ランダムなスキャンコードをコンピュータ5に対して出力する。これにより、ユーザ操作の煩雑化を抑えつつ、秘匿情報の特定を困難化する。
次に、本発明の第1の実施形態による入力装置1の動作を説明する。
図2は、本発明の第1の実施形態による入力装置の動作を示すフローチャートである。
まず、ユーザによってコンピュータ5の電源が投入されると、制御部12の状態記憶部122が記憶する状態情報は、初期状態として記憶されている「擬似スキャンコード停止状態」を示す。これにより、第1動作表示部14は、状態記憶部122の状態情報が「擬似スキャンコード停止状態」であることを読み取り、ランプを消灯させる。他方、第2動作表示部15は、状態記憶部122の状態情報が「擬似スキャンコード停止状態」であることを読み取り、ランプを点灯させる(ステップS1)。これにより、ユーザは第2動作表示部15が点灯していることを目視することで、入力装置1がランダムなスキャンコードを出力していない状態であることを確認することができる。次に、入力部11は、ユーザからのキー操作による入力を待機し、入力部11がキー操作を検出すると、スキャンコード出力部121は、当該キー操作による入力に対応するスキャンコードをコンピュータ5に出力する(ステップS2)。つまり、「擬似スキャンコード停止状態」において入力装置1は、従来のキーボードと同様に、押下されたキーに対応するスキャンコードを出力する。
次に、制御部12の擬似スキャンコード出力部123は、状態記憶部122が記憶する状態情報が「擬似スキャンコード出力状態」を示すか否かを判定する(ステップS3)。状態情報は、ユーザが動作選択スイッチ13を操作することで切り替わる。したがって、ユーザが動作選択スイッチ13を操作していない場合は、状態記憶部122が記憶する状態情報が「擬似スキャンコード停止状態」を示すため(ステップS3:NO)、ステップS1に戻り、再度キー操作の待機処理を繰り返す。
他方、ユーザが秘匿情報の入力を完了し、キー操作情報蓄積装置またはキー操作情報蓄積プログラムにユーザによるキー操作と無関係の情報を蓄積させるために動作選択スイッチ13の「START」ボタンを押下すると、動作選択スイッチ13は、状態記憶部122が記憶する状態情報を「擬似スキャンコード出力状態」に書き換える。これにより、ステップS3において、擬似スキャンコード出力部124は、状態記憶部122が記憶する状態情報が「擬似スキャンコード出力状態」を示すと判定する(ステップS3:YES)。このとき、第1動作表示部14は、状態記憶部122の状態情報が「擬似スキャンコード出力状態」であることを読み取り、ランプを点灯させる。他方、第2動作表示部15は、状態記憶部122の状態情報が「擬似スキャンコード出力状態」であることを読み取り、ランプを消灯させる(ステップS4)。これにより、ユーザは第1動作表示部14が点灯していることを目視することで、入力装置1がランダムなスキャンコードを出力している状態であることを確認することができる。
そして、「擬似スキャンコード出力状態」である場合、擬似スキャンコード出力部123は、ランダムにスキャンコードを選択し、当該スキャンコードをコンピュータ5に出力する(ステップS5)。これにより、入力装置1とコンピュータ5との間にキー操作情報蓄積装置またはキー操作情報蓄積プログラムが備えられている場合に、当該装置またはプログラムに、ユーザのキー操作と無関係なスキャンコードを蓄積させることができる。
なお、スキャンコードの選択及び出力は、例えば以下のように行う。
予め擬似スキャンコード出力部123は、インデックス番号と出力するスキャンコードとを関連付けたテーブルを内部メモリに記憶しておく。ここで、出力するスキャンコードとは、入力部11のキーに対応する全てのスキャンコードの集合から、「Enter」キーや「BackSpace」キーなどの制御符号となりうる符号に対応するスキャンコードを除外したものを示す。出力するスキャンコードに制御符号となりうる符号に対応するスキャンコードを含めない理由は、ランダムに出力されたスキャンコードによってコンピュータ5の誤動作が生じることを防止するためである。また、各スキャンコードに関連付けられるインデックス番号は、初項0、等差1の数列となる。
まず、擬似スキャンコード出力部123は、0以上、かつ、内部メモリに記憶するテーブルに格納されたスキャンコードの個数未満の乱数を発生させる。次に、擬似スキャンコード出力部123は、発生させた乱数と等しいインデックス番号に関連付けられたスキャンコードを選択して内部メモリから読み出し、当該スキャンコードを出力する。
上述した方法により、擬似スキャンコード出力部123は、ランダムにスキャンコードを選択することができる。なお、ここで説明したスキャンコードの選択方法は一例であり、これに限られない。
また、ステップS5の処理で出力したスキャンコードがキーの押下を示す場合、次回のステップS5の処理では、当該キーを解放することを示すスキャンコードを出力すると良い。
ステップS5で、擬似スキャンコード出力部123がランダムにスキャンコードを選択・出力すると、擬似スキャンコード表示部16は、擬似スキャンコード出力部123が選択したスキャンコードを画面に表示させる(ステップS6)。このとき、表示させる情報は、「0xF0 0x16」のようにスキャンコードそのものであっても良いし、「1・解放」のように、スキャンコードに対応するキー及び操作を示す情報を表示させても良い。
次に、タイマ部124は、一定時間(例えば1秒)を計時し、制御部12は、その間待機処理を実行する(ステップS7)。
ここで、ステップS7による待機処理を行う理由を説明する。ステップS7による待機処理を行わなかった場合において、入力装置1とコンピュータ5との間にキー操作情報蓄積装置またはキー操作情報蓄積プログラムが備えられている場合、当該装置またはプログラムには、間を置かずに連続してスキャンコードが出力されることとなる。しかしながら、人間は間を置かずにキーを押下・解放することができないため、傍受者は、装置またはプログラムに蓄積されたスキャンコードから間を置かずに入力されたものを除外することで、ユーザによるキー操作に対応するスキャンコードだけを取得することができてしまう。これを防止するために、ステップS7で待機処理を行っている。
制御部12は、ステップS7で一定時間の待機を終了すると、コンピュータ5の電源が切断されているか否かを判定する(ステップS8)。
制御部12が、コンピュータ5の電源が切断されていないと判定した場合(ステップS8:NO)、ステップS3に戻り、状態記憶部122が記憶する状態情報に基づく処理を繰り返す。つまり、ユーザが動作選択スイッチ13を操作していない場合は、状態記憶部122が記憶する状態情報が「擬似スキャンコード出力状態」を示すためステップS4〜S8の処理を実行し、ユーザが情報の入力を開始するために動作選択スイッチ13の「STOP」ボタンを押下すると、ステップS1、S2の処理を実行する。
他方、ステップS8で制御部12が、コンピュータ5の電源が切断されていると判定した場合(ステップS8:YES)、入力装置1は、処理を終了する。
このように、第1の実施形態によれば、入力装置1は、ユーザのキー操作に対応するスキャンコードを出力していないときに、ユーザのキー操作と無関係なスキャンコードを出力する。そのため、入力装置1とコンピュータ5との間にキー操作情報蓄積装置またはキー操作情報蓄積プログラムが備えられている場合、当該装置またはプログラムが読み出すデータには、ユーザのキー操作に対応するスキャンコードとユーザのキー操作と無関係なスキャンコードとが入り混じることとなる。これにより、傍受者による秘匿情報の特定を困難にすることができる。また、入力装置1は、ユーザがキー操作をしていないときに、ユーザのキー操作と無関係なスキャンコードを出力するため、秘匿情報の特定の困難化に伴うユーザ操作の煩雑化を抑えることができる。
さらに、キー操作情報蓄積プログラムが所定のサーバ装置に読み取ったキー入力情報を送信するものであった場合、第1の実施形態によれば、キー操作情報蓄積プログラムによるキー入力情報の送信先のサーバ装置に対し、一定のトラフィックが連続発生することとなる。特に、複数のコンピュータ5にキー操作情報蓄積プログラムが設けられていた場合、当該サーバ装置に送信される情報量が多くなり、サーバ装置に対する負荷を増加させることとなり、ISP等のネットワーク業者において傍受者の特定を容易とすることができる。
(第2の実施形態)
以下、図面を参照しながら本発明の第2の実施形態について詳しく説明する。
図3は、本発明の第2の実施形態による入力装置の構成を示す概略ブロック図である。
第2の実施形態による入力装置2は、第1の実施形態による入力装置1に、さらに速度選択スイッチ27、速度表示部28を備えたものである。また、第2の実施形態による入力装置2は、第1の実施形態による制御部12に代えて制御部22を備える。制御部22は、第1の実施形態による制御部12に、さらに速度記憶部225を備え、タイマ部224の動作が第1の実施形態による制御部12のタイマ部124と異なるものである。その他の処理部の機能・構成は第1の実施形態と同じである。
速度選択スイッチ27は、ユーザの操作に基づいて、速度記憶部225が記憶する速度情報を書き換える。本実施形態では、ユーザは、入力速度を「毎分360回」、「毎分240回」、「毎分120回」、「毎分60回」、「毎分30回」、「毎分15回」、「毎分10回」のパターンの中から選択する。
速度表示部28は、速度記憶部225が記憶する速度情報に基づいて該当する速度を示すランプを点灯させる。
速度記憶部225は、ランダムなスキャンコードの出力タイミングを示す速度情報を記憶する。なお、速度記憶部225は、速度情報の初期値として、速度選択スイッチによって書き換えられる速度の何れか1つを記憶しておく。本実施形態では、初期値として「60」が記憶される。
タイマ部224は、速度記憶部225が記憶する速度情報にランダムな値を乗じた時間を計時する。
次に、本発明の第2の実施形態による入力装置の動作を説明する。
図4は、本発明の第2の実施形態による入力装置の動作を示すフローチャートである。なお、第1の実施形態と同じ動作をする処理は、同じステップ番号を用いて説明する。
まず、コンピュータ5の電源を投入すると、速度表示部28は、速度記憶部225から速度情報を読み出し、読み出した速度情報に該当するランプを点灯させる(ステップS21)。本実施形態では、速度表示部28は、速度情報の初期値が「60」であるため、速度選択スイッチ21のうち「60回/分」の速度を選択するボタンの下方にあるランプを点灯させる。これにより、ユーザは、速度表示部28の何れのボタンが点灯しているかを目視することで、入力と無関係に出力されるスキャンコードの出力間隔を確認することができる。
また、制御部12の状態記憶部122が記憶する状態情報は、初期状態として記憶されている「擬似スキャンコード停止状態」を示すため、第1動作表示部14は、状態記憶部122の状態情報が「擬似スキャンコード停止状態」であることを読み取り、ランプを消灯させる。他方、第2動作表示部15は、状態記憶部122の状態情報が「擬似スキャンコード停止状態」であることを読み取り、ランプを点灯させる(ステップS1)。これにより、ユーザは第2動作表示部15が点灯していることを目視することで、入力装置1がランダムなスキャンコードを出力していない状態であることを確認することができる。次に、入力部11は、ユーザからのキー操作による入力を待機し、入力部11がキー操作を検出すると、スキャンコード出力部121は、当該キー操作による入力に対応するスキャンコードをコンピュータ5に出力する(ステップS2)。つまり、「擬似スキャンコード停止状態」において入力装置1は、従来のキーボードと同様に、押下されたキーに対応するスキャンコードを出力する。
次に、制御部12の擬似スキャンコード出力部123は、状態記憶部122が記憶する状態情報が「擬似スキャンコード出力状態」を示すか否かを判定する(ステップS3)。状態情報は、ユーザが動作選択スイッチ13を操作することで切り替わる。したがって、ユーザが動作選択スイッチ13を操作していない場合は、状態記憶部122が記憶する状態情報が「擬似スキャンコード停止状態」を示すため(ステップS3:NO)、ステップS1に戻り、再度キー操作の待機処理を繰り返す。
他方、ユーザが秘匿情報の入力を完了し、キー操作情報蓄積装置またはキー操作情報蓄積プログラムにユーザによる入力と無関係の情報を蓄積させるために動作選択スイッチ13の「START」ボタンを押下すると、動作選択スイッチ13は、状態記憶部122が記憶する状態情報を「擬似スキャンコード出力状態」に書き換える。これにより、ステップS3において、擬似スキャンコード出力部123は、状態記憶部122が記憶する状態情報は「擬似スキャンコード出力状態」を示すと判定する(ステップS3:YES)。このとき、第1動作表示部14は、状態記憶部122の状態情報が「擬似スキャンコード出力状態」であることを読み取り、ランプを点灯させる。他方、第2動作表示部15は、状態記憶部122の状態情報が「擬似スキャンコード出力状態」であることを読み取り、ランプを消灯させる(ステップS4)。これにより、ユーザは第1動作表示部14が点灯していることを目視することで、入力装置1がランダムなスキャンコードを出力している状態であることを確認することができる。
そして、「擬似スキャンコード出力状態」である場合、擬似スキャンコード出力部123は、ランダムにスキャンコードを選択し、当該スキャンコードをコンピュータ5に出力する(ステップS5)。擬似スキャンコード出力部123がランダムなスキャンコードを出力すると、擬似スキャンコード表示部16は、擬似スキャンコード出力部123が生成したスキャンコードを画面に表示させる(ステップS6)。
次に、タイマ部224は、速度記憶部225から速度情報を読み出す(ステップS22)。そして、タイマ部224は、内部メモリに記憶する計時時間情報を0に初期化する(ステップS23)。次に、タイマ部224は、ランダムなスキャンコードの出力間隔に揺らぎを付与する値である時間揺らぎ乱数(例えば0.5以上1.5未満の値)を発生させる(ステップS24)。
次に、タイマ部224は、次回のスキャンコード出力までの待ち時間を算出する(ステップS25)。待ち時間は、60000(ミリ秒)を速度情報が示す値で除算し、得られた値に時間揺らぎ乱数を乗算することで算出される。つまり、速度情報が毎分60回の入力速度を示している場合、まず、タイマ部224は、60000(ミリ秒)を60(回/分)で除算する。次に、得られた1000(ミリ秒)に0.5以上1.5未満の時間揺らぎ乱数を乗算する。これにより、タイマ部224は、500〜1500ミリ秒を計時することとなる。すなわち、入力装置1は、毎分40〜120回の速度でスキャンコードを出力することとなる。そして、タイマ部224は、算出した待ち時間の計時を開始し、制御部22は、その間待機処理を実行する(ステップS26)。第1の実施形態のステップS7では、一定時間の待機処理を行ったが、本実施形態のステップS26では、一定時間に時間揺らぎ乱数を乗じた時間の待機処理を行っている。これにより、スキャンコードが出力される間隔がランダムになり、より人間による操作に類似させることができる。そのため、キー操作情報蓄積装置またはキー操作情報蓄積プログラムを用いた秘匿情報の特定をさらに困難化することができる。
制御部22が待ち時間の間の待機を終了すると、速度選択スイッチ27は、当該待ち時間の間に何れかのボタンが押下されたか否かを判定する(ステップS27)。速度選択スイッチ27は、ボタンが押下されたと判定した場合(ステップS27:YES)、速度記憶部225が記憶する速度情報を書き換える(ステップS28)。具体的には、図3に示す速度選択スイッチ27のうち、「360回/分」の速度を選択するボタンをユーザが押下すると、速度選択スイッチ27は、速度記憶部225が記憶する速度情報を「360」に書き換える。次に、速度表示部28は、速度記憶部225から速度情報を読み出し、速度情報に該当するランプを点灯させる(ステップS29)。
ステップS27で速度選択スイッチ27が、ボタンが押下されていないと判定した場合(ステップS27:NO)、または、ステップS29で速度表示部28がランプを点灯させた場合、制御部22は、コンピュータ5の電源が切断されているか否かを判定する(ステップS8)。
制御部22が、コンピュータ5の電源が切断されていないと判定した場合(ステップS8:NO)、ステップS3に戻り、状態記憶部122が記憶する状態情報に基づく処理を繰り返す。他方、制御部22が、コンピュータ5の電源が切断されていると判定した場合(ステップS8:YES)、入力装置2は、処理を終了する。
このように、第2の実施形態によれば、入力装置2は、ユーザが設定した入力速度に乱数を乗じた間隔でスキャンコードを出力する。これにより、キー操作情報蓄積装置またはキー操作情報蓄積プログラムが一定時間毎に出力されるスキャンコードを無視するようなプログラムを搭載している場合にも、ランダムなタイミングでスキャンコードが出力されるために当該スキャンコードが無視されず、傍受者による秘匿情報の特定をさらに困難にすることができる。
(第3の実施形態)
以下、図面を参照しながら本発明の第3の実施形態について詳しく説明する。
図5は、本発明の第3の実施形態による入力装置の構成を示す概略ブロック図である。
第3の実施形態による入力装置3は、第1の実施形態による入力装置1に、さらに第3動作表示部37を備えたものである。
また、第3の実施形態による入力装置3は、第1の実施形態による制御部12に代えて制御部32を備える。制御部32は、第1の実施形態による制御部12の各処理部に加えて、スキャンコード記録部325、スキャンコード記憶部326、第2のタイマ部327、速度記憶部328をさらに備え、制御部12の擬似スキャンコード出力部123及びタイマ部124に代えて擬似スキャンコード出力部323及び第1のタイマ部324を備えるものである。
また、第3の実施形態による入力装置3は、第1の実施形態による動作選択スイッチ13に代えて動作選択スイッチ33を備える。
その他の処理部の機能・構成は第1の実施形態と同じである。
動作選択スイッチ33は、ユーザの操作に基づいて、制御部32がランダムなスキャンコードを出力する状態である「擬似スキャンコード出力状態」と、制御部32がランダムなスキャンコードを出力しない状態である「擬似スキャンコード停止状態」と、スキャンコード記録部325が入力部11から出力されるスキャンコードを記録する状態である「スキャンコード記録状態」とを切り替える。
第3動作表示部37は、ランプを有し、「スキャンコード記録状態」のときに当該ランプを点灯させ、他の状態のときに当該ランプを消灯させる。
擬似スキャンコード出力部323は、スキャンコード記憶部326が記憶するスキャンコードを出力する。
第1のタイマ部324は、第2の実施形態のタイマ部224と同様に、速度記憶部328が記憶する速度情報に基づいてランダムな時間を計時する。
スキャンコード記録部325は、入力部11が出力するスキャンコードをスキャンコード記憶部326に記録する。また、スキャンコード記憶部326の先頭には、記憶しているスキャンコードの個数を示す変数Bufferと、スキャンコードの記憶領域の先頭アドレスを示す定数Offsetとが記憶されている。つまり、定数Offsetは、変数Bufferの型サイズと定数Offsetの型サイズとを加算した値となる。
第2のタイマ部327は、第1のタイマ部324が計時する時間より長い時間(例えば3秒)を計時する。
速度記憶部328は、予め擬似スキャンコード出力部323が出力するスキャンコードの出力速度を記憶する。ここでは、速度記憶部328は、予め毎分60回という速度を記憶しているものとする。
次に、本発明の第3の実施形態による入力装置の動作を説明する。
図6は、本発明の第3の実施形態による入力装置の動作を示すフローチャートである。
まず、ユーザによってコンピュータ5の電源が投入されると、入力装置3の制御部32は、状態記憶部122が記憶する状態情報が「擬似スキャンコード出力状態」を示すか否かを判定する(ステップS31)。初回起動時、状態記憶部122は、擬似スキャンコード停止状態を示すものとする。
制御部32は、状態情報が「擬似スキャンコード出力状態」を示していないと判定した場合(ステップS31:NO)、出力停止時処理を実行する(ステップS32)。以下に、出力停止時処理の詳細な動作について説明する。
図7は、出力停止時処理の動作を示すフローチャートである。
制御部32が出力停止時処理を開始すると、入力部11は、ユーザからのキー操作の入力を待機し、入力部11がキー操作を検出すると、スキャンコード出力部121は、当該キー操作に対応するスキャンコードをコンピュータ5に出力する(ステップS321)。次に、制御部32は、状態記憶部122が記憶する状態情報が「スキャンコード出力状態」を示すか否かを判定する(ステップS322)。
制御部32が、状態情報が「スキャンコード出力状態」を示していないと判定した場合(ステップS322:NO)、即ち状態情報が「擬似スキャンコード停止状態」を示す場合、第2動作表示部15は、状態記憶部122の状態情報が「擬似スキャンコード停止状態」であることを読み取り、ランプを点灯させる。他方、第1動作表示部14及び第3動作表示部37は、状態記憶部122の状態情報が「擬似スキャンコード停止状態」であることを読み取り、ランプを消灯させる(ステップS323)。第2動作表示部15がランプを点灯させると、制御部32は、出力停止時処理を終了する。これにより、ユーザは第2動作表示部15が点灯していることを目視することで、入力装置1がランダムなスキャンコードを出力していない状態であることを確認することができる。
他方、制御部32が、状態情報が「スキャンコード記録状態」を示すと判定した場合(ステップS322:YES)、第3動作表示部37は、状態記憶部122の状態情報が「スキャンコード記録状態」であることを読み取り、ランプを点灯させる。他方、状態記憶部122の状態情報が「スキャンコード記録状態」であることを読み取り、第1動作表示部14及び第2動作表示部15は、ランプを消灯させる(ステップS324)。次に、スキャンコード記録部325は、入力部11が出力したスキャンコードが、「Enter」キーや「BackSpace」キーなどの制御符号となりうる符号に対応するスキャンコードであるか否かを判定する(ステップS325)。制御符号であるか否かの判定は、例えば、スキャンコード記録部325の内部メモリに、制御符号に対応するキー操作のスキャンコードの一覧情報を格納したテーブルを予め格納しておき、当該テーブルを参照して、入力部11が出力したスキャンコードと合致するものが存在するか否かを判定することで行うことができる。
スキャンコード記録部325が、入力部11が出力したスキャンコードが制御符号となりうるスキャンコードであると判定した場合(ステップS325:YES)、制御部32は、当該スキャンコードをスキャンコード記録部325に記録せずに、出力停止時処理を終了する。
他方、スキャンコード記録部325は、入力部11が出力したスキャンコードが制御符号となりうるスキャンコードでないと判定した場合(ステップS325:NO)、当該スキャンコードをスキャンコード記憶部325の末尾に追加記録する(ステップS326)。具体的には、スキャンコード記録部325は、スキャンコード記憶部326の定数Offset+変数Bufferで表されるアドレスにスキャンコードを記録する。次に、スキャンコード記録部325は、スキャンコード記憶部326が記憶する変数Bufferを、変数Bufferにスキャンコードのサイズを加算した値を加算した値に書き換える(ステップS327)。スキャンコード記録部325が変数Bufferを書き換えると、制御部32は、出力停止時処理を終了する。これにより、スキャンコード記録部325には、ユーザによるキー操作の情報が蓄積される。
以上が出力停止時処理の詳細な動作である。
他方、ステップS31(図6)で制御部32が、状態情報が「擬似スキャンコード出力状態」を示すと判定した場合(ステップS31:NO)、第1動作表示部14は、状態記憶部122の状態情報が「擬似スキャンコード出力状態」であることを読み取り、ランプを点灯させる。他方、第2動作表示部15及び第3動作表示部37は、状態記憶部122の状態情報が「擬似スキャンコード出力状態」であることを読み取り、ランプを消灯させる(ステップS33)。これにより、ユーザは第1動作表示部14が点灯していることを目視することで、入力装置1がランダムなスキャンコードを出力している状態であることを確認することができる。次に、擬似スキャンコード出力部323は、スキャンコード記憶部326が記憶する変数Bufferが30を超えているか否かを判定する(ステップS34)。
擬似スキャンコード出力部323は、変数Bufferが30を超えていると判定した場合(ステップS34:YES)、スキャンコード記憶部326が記憶するスキャンコード列のうち連続して出力するスキャンコードの個数を示す変数Lengthと、スキャンコード列の読み出し位置を示す変数Pointerとを算出する(ステップS35)。
まず、変数Lengthの算出方法を説明する。
擬似スキャンコード出力部323は、0以上1未満の乱数RNDを発生させる。次に、擬似スキャンコード出力部323は、乱数RNDに10を乗じ、得られた値に5を加算した値を変数Lengthとする。つまり、変数Lengthは、5以上15未満の値となる。
次に、変数Pointerの算出方法を説明する。
擬似スキャンコード出力部323は、0以上1未満の乱数RNDを発生させる。次に、擬似スキャンコード出力部323は、スキャンコード記憶部326が記憶する変数Bufferが示す値から15を減じ、得られた値と乱数RNDとを乗算した値を変数Pointerとする。つまり、変数Pointerは、0以上Buffer−15未満の値となる。
擬似スキャンコード出力部323は、変数Lengthと変数Pointerを算出すると、スキャンコード記憶部326からスキャンコードを読み出し、読み出したスキャンコードをコンピュータ5に出力する(ステップS36)。具体的には、擬似スキャンコード出力部323は、スキャンコード記憶部326から、変数Offset+変数Pointer+変数Loc(読み出したスキャンコードの個数を示す変数であり、初期値は0)で表されるアドレスに格納されたスキャンコードを1つ読み出し、当該スキャンコードを出力する。
擬似スキャンコード出力部323がスキャンコードを出力すると、擬似スキャンコード表示部16は、擬似スキャンコード出力部323が出力したスキャンコードを画面に表示させる(ステップS37)。
次に、擬似スキャンコード出力部323は、変数Locに1を加算する(ステップS38)。これにより、次回はステップS36で読み出したスキャンコードの次に入力されたスキャンコードを読み出すことができる。擬似スキャンコード出力部323が変数Locに1を加算すると、第1のタイマ部324は、第2の実施形態のステップS22〜S26と同様の処理により待ち時間の算出及び計時を実行し、制御部32は、その間待機処理を実行する(ステップS39)。
制御部32が待ち時間の間の待機を終了すると、擬似スキャンコード出力部323は、変数Lengthと変数Locとが等しいか否かを判定する(ステップS40)。擬似スキャンコード出力部323は、変数Lengthと変数Locとが等しくないと判定した場合(ステップS40:NO)、ステップS36に戻り、次のスキャンコードの出力を実行する。
他方、擬似スキャンコード出力部323が、変数Lengthと変数Locとが等しいと判定した場合(ステップS40:YES)、すなわち擬似スキャンコード出力部323が、変数Lengthが示す値と同じ個数のスキャンコードを出力した場合、第2のタイマ部327は、第2の実施形態のステップS22〜S26と同様の処理により待ち時間の算出及び計時を実行し、制御部32は、その間待機処理を実行する(ステップS41)。なお、ここで実行される待機処理は、ステップS39による待機処理よりも長く行うと良い。これにより、ユーザが1単語を入力し終えてから次の単語を入力するまでの時間間隔を再現することができ、傍受者による秘匿情報の特定をさらに困難にすることができる。
ステップS32で、制御部32が出力停止時処理を実行した場合、ステップS34で変数Bufferが30以下であると判定された場合(ステップS34:NO)、またはステップS41で待機処理を終了した場合、制御部32は、コンピュータ5の電源が切断されているか否かを判定する(ステップS42)。
制御部32が、コンピュータ5の電源が切断されていないと判定した場合(ステップS42:NO)、ステップS31に戻り、状態記憶部122が記憶する状態情報に基づく処理を繰り返す。他方、制御部32が、コンピュータ5の電源が切断されていると判定した場合(ステップS42:YES)、入力装置3は、処理を終了する。
このように、第3の実施形態によれば、入力装置3は、ユーザのキー操作と無関係なスキャンコードとして、ユーザが過去に入力したキー操作と同様の操作を示すスキャンコードを出力する。これにより、キー操作情報蓄積装置またはキー操作情報蓄積プログラムが辞書ファイルを参照して、当該辞書ファイルに登録されている文字列を抜き出すことで秘匿情報を特定するプログラムを搭載している場合にも、ユーザのキー操作と無関係なスキャンコードがランダムでない文字列となるため、当該スキャンコードが無視されず、傍受者による秘匿情報の特定をさらに困難にすることができる。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、上述した各実施形態では、状態記憶部122が記憶する状態情報の変更を、動作選択スイッチ13(33)の操作によって行う場合を説明したが、これに限られない。例えば、コンピュータ5が実行するプログラムがフォーカスを付与しているコンポーネントを示す情報を読み出せる場合、以下に示すような処理によって状態情報を変更しても良い。
コンピュータ5が実行するプログラムがフォーカスを付与するコンポーネントが入力フォームでない場合、またはプログラムがコンポーネントにフォーカスを付与していない場合、制御部22は状態情報を「擬似スキャンコード出力状態」に変更する。また、プログラムが入力フォームにフォーカスを付与していて、かつ当該入力フォームがパスワード形式(例えば、入力された文字列が「*」等の伏せ字で表示される入力フォーム)である場合、制御部22は状態情報を「擬似スキャンコード停止状態」に変更する。また、プログラムが入力フォームにフォーカスを付与していて、かつ当該入力フォームがパスワード形式でない場合、制御部22は状態情報を「スキャンコード記録状態」に変更する。
上述した状態情報の変更方法を用いることで、ユーザは動作選択スイッチ13による操作を行う必要がなくなるため、秘匿情報の特定の困難化に伴うユーザ操作の煩雑化をさらに抑えることができる。
なお、上述した第2、第3の実施形態では、制御部の中に複数の記憶部(状態記憶部、速度記憶部、スキャンコード記憶部)を備える場合を説明したが、これに限られず、例えば、同一の不揮発性メモリに各記憶部に相当する記憶領域を割り当てることでも同様の処理を行うことができる。
また、上述した第3の実施形態では、変数Bufferが30以下である場合にユーザの入力操作と無関係なスキャンコードを出力しない場合を説明したが、これに限られず、例えば変数Bufferが30以下である場合にランダムなスキャンコードを出力するようにしても良い。
また、上述した第1〜第3の実施形態では、入力装置1〜3にスキャンコード出力の制御プログラムを組み込んだものを例に説明したが、これに限られず、例えば、複数のコンピュータで共用するKVM(Keyboard Video Mouse)スイッチなど、入出力切替え装置の内部制御として当該制御プログラムを組み込んで用いても良い。具体的には、従来のKVMスイッチがキーボード未接続エラーの発生を防止するために出力するキーボード擬似接続信号の代わりに、ユーザの入力操作と無関係なスキャンコードを出力することで、第1〜第3の実施形態に記載の入力装置1〜3と同様の効果を得ることができる。
上述の入力装置1〜3は内部に、コンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1…入力装置 5…コンピュータ 11…入力部 12…制御部 13…動作選択スイッチ 14…第1動作表示部 15…第2動作表示部 121…スキャンコード出力部 122…状態記憶部 123…擬似スキャンコード出力部 124…タイマ部

Claims (7)

  1. ユーザによるキー操作のログの傍受による入力情報の読み取りを防ぐ入力装置であって、
    自装置に接続されたコンピュータが実行するプログラムが入力フォームにフォーカスを付与しているか否かを判定するフォーカス判定部と、
    ユーザからコンピュータに対するキー操作による入力を受け付け、当該キー操作に対応するスキャンコードを前記コンピュータに対して出力するスキャンコード出力部と、
    前記コンピュータが実行するプログラムが入力フォームにフォーカスを付与していないときに、ユーザによるキー操作と無関係なスキャンコードを前記コンピュータに対して出力する擬似スキャンコード出力部と
    を備えることを特徴とする入力装置。
  2. 前記擬似スキャンコード出力部は、前記スキャンコードの出力間隔を示すインターバル時間毎に前記スキャンコードの出力を行うことを特徴とする請求項1に記載の入力装置。
  3. 前記インターバル時間は、前記擬似スキャンコード出力部が乱数を発生させ、所定の時間間隔に当該乱数を乗算して算出したものであることを特徴とする請求項2に記載の入力装置。
  4. キー操作による入力が秘匿情報の入力であるか否かを判定する入力内容判定部と、
    前記入力内容判定部が、キー操作による入力が秘匿情報でないと判定した場合、当該入力に対応するスキャンコードを記憶部に記録する入力コード記録部と
    を備え、
    前記擬似スキャンコード出力部は、前記記憶部が記憶する連続するスキャンコード並びの少なくとも一部と同じ順番でスキャンコードを出力する
    ことを特徴とする請求項1から3に記載の入力装置。
  5. 前記入力コード記録部は、
    前記入力に対応するスキャンコードと制御コードに変換されるスキャンコードのリストとを比較し、前記入力に対応するスキャンコードが制御符号に該当する場合、当該スキャンコードを前記記憶部に記録しない
    ことを特徴とする請求項4に記載の入力装置。
  6. ユーザによるキー操作のログの傍受による入力情報の読み取りを防ぐ入力装置を用いた入力方法であって、
    フォーカス判定部は、自装置に接続されたコンピュータが実行するプログラムが入力フォームにフォーカスを付与しているか否かを判定し、
    スキャンコード出力部は、ユーザからコンピュータに対するキー操作による入力を受け付け、当該キー操作に対応するスキャンコードを前記コンピュータに対して出力し、
    擬似スキャンコード出力部は、前記コンピュータが実行するプログラムが入力フォームにフォーカスを付与していないときに、ユーザによるキー操作と無関係なスキャンコードを前記コンピュータに対して出力する
    ことを特徴とする入力方法。
  7. 入力装置を、
    自装置に接続されたコンピュータが実行するプログラムが入力フォームにフォーカスを付与しているか否かを判定するフォーカス判定部、
    ユーザからコンピュータに対するキー操作による入力を受け付け、当該キー操作に対応するスキャンコードを前記コンピュータに対して出力するスキャンコード出力部、
    前記コンピュータが実行するプログラムが入力フォームにフォーカスを付与していないときに、ユーザによるキー操作と無関係なスキャンコードを前記コンピュータに対して出力する擬似スキャンコード出力部
    として機能させるためのプログラム。
JP2009242520A 2009-10-21 2009-10-21 入力装置、入力方法、及びプログラム Expired - Fee Related JP5177900B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009242520A JP5177900B2 (ja) 2009-10-21 2009-10-21 入力装置、入力方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009242520A JP5177900B2 (ja) 2009-10-21 2009-10-21 入力装置、入力方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2011090454A JP2011090454A (ja) 2011-05-06
JP5177900B2 true JP5177900B2 (ja) 2013-04-10

Family

ID=44108663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009242520A Expired - Fee Related JP5177900B2 (ja) 2009-10-21 2009-10-21 入力装置、入力方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5177900B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029609A (ja) * 1998-07-09 2000-01-28 Sharp Corp 記号列入力装置および認証装置
JP2000106550A (ja) * 1998-09-29 2000-04-11 Fujitsu Ltd データ通信装置

Also Published As

Publication number Publication date
JP2011090454A (ja) 2011-05-06

Similar Documents

Publication Publication Date Title
US7979805B2 (en) Button discoverability
JP2006054876A (ja) 画像処理装置における暗号化方法と暗号化装置
JP2009015387A (ja) パスワード入力装置
US8117652B1 (en) Password input using mouse clicking
US20160309202A1 (en) Method, apparatus, and system for playing multimedia file
US8209444B2 (en) Keyboards providing macro functions and macro function setting method using the same, and computer program products thereof
US20190114069A1 (en) Control instruction identification method and apparatus, and storage medium
KR102055044B1 (ko) 다국어 키보드 시스템
JP5177900B2 (ja) 入力装置、入力方法、及びプログラム
KR20130113193A (ko) 원격제어장치를 이용한 디스플레이 디바이스의 문자 입력 방법 및 시스템
US20140062653A1 (en) Lock releasing method of electronic device, and apparatus thereof
JP2007172071A (ja) ソフトウェアキーボード
JP2005251034A (ja) 文字列表示システム、文字列表示方法及びプログラム
US7703134B2 (en) De-authentication of network component
JP4257339B2 (ja) パスワード入力装置、パスワード入力装置の制御方法及びプログラム
JP5811885B2 (ja) キーボード、情報処理システム、情報処理装置、及びプログラム
JP2005025284A (ja) パスワード入力情報表示装置及びパスワード入力情報表示方法
TW201732674A (zh) 防偷窺輸入裝置與方法
KR101402736B1 (ko) 하드웨어 매크로 기능을 가지는 키보드 장치 및 하드웨어 매크로 제공 방법
KR101306676B1 (ko) 재생 장치, 재생 방법 및, 프로그램이 기록된 컴퓨터 판독가능 기록매체
KR101435982B1 (ko) 착탈식 매크로 저장 카트리지를 가지는 하드웨어 매크로 키보드 장치
JP7073985B2 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
JP7173175B2 (ja) 表示装置、及び表示制御プログラム
KR100617486B1 (ko) 사용자 인터페이스를 통한 긴 항목명 표시방법
JP2007164307A (ja) 情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130107

LAPS Cancellation because of no payment of annual fees