説明

キーボード入力データの保安システムおよび方法

本発明は、キーボード入力データが高速で入力されても特殊キー処理を正確に行うことができる保安システムおよび方法に関する。本発明に係るキーボード入力データの保安システムは、キーボードポートに入力されるスキャンコードから文字/数字キーのキーダウンおよびキーアップ情報を抽出する文字/数字キー入力抽出部と、前記スキャンコードから特殊制御キーのキーダウンおよびキーアップ情報を抽出する特殊制御キー入力抽出部と、前記文字/数字キーのキーダウンまたはキーアップ情報と前記特殊制御キーのキーダウンおよびキーアップ情報を組み合わせて文字、数字または特殊文字を認識する入力データ認識手段とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キーボード入力データの保安システムおよび方法に関し、より詳しくは、キーボード入力データが高速で入力されても特殊キー処理を正確に行うことができる保安システムおよび方法に関する。
【背景技術】
【0002】
コンピュータの入力手段としてキーボードが最も普遍的に使われる。このようなキーボードは実行する命令を直接入力させるのに便利なものであり、英文およびハングルまたはその他の自国文字に設定される複数の文字キーと、空欄を入力するスペースキー、0〜9までの数字キー、各プログラムで指定した機能を遂行できるファンクションキー(F1〜F12)、特殊制御キー(例えば、シフト(shift)キー、コントロール(Ctrl)キー、オルト(Alt)キー、キャプスロック(Caps Lock)キーなど)、カーソル移動キーを備えている。キーボードのキーを操作すれば、そのキーコードがコンピュータのカーネル領域とユーザー領域において順次処理される。
【0003】
一方、インターネットが広く普及されることにより、ユーザはインターネットバンキング、オンラインショッピングなどのサービスを利用する。このようなインターネットバンキングやオンラインショッピング時、ユーザは該当ウェブサイトに各種の個人情報(ウェブサイト接続のためのパスワード、カード番号、住民番号など)を入力する。この個人情報は、通常、文字キーと数字キーを入力するように設定されており、特殊制御キーを押しながら文字キーと数字キーを入力することが許容される。また、特殊制御キーを押しながら入力する文字キーおよび数字キーと、特殊制御キーを押さないまま入力する文字キーおよび数字キーとを区別している。例えば、数字キー「2」だけを押せば数字「2」と認識するが、シフト(shift)キーと数字キー「2」を同時に押せば特殊文字「@」と認識する。また、文字キー「a」だけを押せば小文字「a」と認識するが、シフト(shift)キーと文字キー「a」を同時に押せば大文字「a」と認識する。
【0004】
クライアントシステムには、サービス提供ウェブサイトとの通信時、ユーザが入力した個人情報が情報侵害道具によってハッキングされないようにする保安プログラムが設置される。ユーザクライアントに設置された保安プログラムがキーボード入力データを処理する過程を説明すれば次の通りである。保安プログラムは、通常、コンピュータのカーネル領域において動作するキーボード保安ドライバと、ユーザー領域において動作する保安コントローラとからなる。
【0005】
図1は、従来の保安プログラムのキーボード入力データの保安方法を示す動作フローチャートである。
キーボード保安ドライバは、キーボードのキー入力があれば(S11)、該当入力されたキーが一般文字/数字キーであるか特殊制御キーであるかを判断する(S12)。ステップS12において、入力されたキーが特殊制御キーであれば、その入力を無視し、ステップS11に戻って次のキー入力を待機する。ステップS12において、入力されたキーが特殊制御キーではなく、一般文字/数字キーであれば、その文字/数字キーデータを暗号化して共有メモリに格納する(S13)。
【0006】
ユーザー領域の保安コントローラは共有メモリに格納された文字/数字キーデータを読み取り(S14)、ウィンドウオペレーティング・システム(OS)でサポートするAPI関数を利用して特殊制御キーの状態を確認するが(S15)、特殊制御キーが押された状態であれば(ON)、特殊制御キーと文字/数字キーデータを組み合わせ(S16)、その組み合わせに応じた文字または特殊文字を認識する(S17)。一方、ステップS15において、特殊制御キーが押された状態でなければ(OFF)、文字/数字キーデータに該当する数字または文字を認識する(S17)。応用プログラムは認識された文字や数字をそのまま画面に表示することもでき、ユーザが入力したデータと関係ない特定の特殊文字(例えば、*)を表示することもできる。
【0007】
ユーザが「1234!@#$」を順次入力する場合、カーネル領域である保安ドライバにおいては、数字キー入力値である「12341234」が処理され、保安コントローラにおいて、本来データに復元して応用プログラムに伝達する過程で、シフト(shift)キーの押された状態(ON/OFF)に応じて「1234!@#$」として処理するようになる。シフト(shift)キーが押されたか否かはGetKeyState API関数を利用して得られる。このような従来のキー入力データ保安方法は、ユーザが直接キーボードを入力する場合には、ユーザが入力した文字または数字または特殊文字を正確に処理して認識することができる。
【0008】
一方、最近、コンピュータにRFカードリーダー、指紋認識機、磁気ストライプリーダー(MSR)などのようなハードウェア基盤の高速データ入力装置またはマクロ機能のようなソフトウェア基盤の高速データ入力装置を利用して、パスワードなどのような保安が要求されるデータを入力している。このような高速データ入力装置は、キーボードと一体型で構成されたり分離型で構成されたりもするが、通常、キーボードインターフェースを利用してコンピュータのキーボードポートにスキャンコードを入力する。通常、キーボード入力はキーダウン(↓)とキーアップ(↑)とからなり、キーダウンまたはキーアップ時に該当キーデータに対する処理が行われる。通常のキーボード入力と同じように高速データ入力装置においてもキーダウン(↓)とキーアップ(↑)とからなるデータが入力される。
【0009】
例えば、上記の「1234!@#$」の場合、「1↓、1↑、2↓、2↑、3↓、3↑、4↓、4↑、SHIFT↓、1↓、1↑、SHIFT↑、SHIFT↓、2↓、2↑、SHIFT↑、SHIFT↓、3↓、3↑、SHIFT↑、SHIFT↓、4↓、4↑、SHIFT↑」で入力されるか、あるいは「1↓、1↑、2↓、2↑、3↓、3↑、4↓、4↑、SHIFT↓、1↓、1↑、2↓、2↑、3↓、3↑、4↓、4↑、SHIFT↑」で入力される。
【0010】
このような高速データ入力装置を介して入力されるデータはその速度が非常に速いため、この高速の入力データを従来の保安プログラムで保安する場合にはエラーが発生する。
すなわち、従来の保安プログラムは、文字/数字キー入力データに対しては、保安ドライバを介して暗号化して保安処理し、本来データに復号化する過程でウィンドウオペレーティング・システム(OS)でサポートするAPI関数を利用して特殊制御キーが設定されているか否かを確認する。このように、従来には文字/数字キーを処理する過程と特殊文字キーを処理する過程が相異なり、文字/数字キーが処理される時間に比べて、保安コントローラがAPI関数の状態読み込む時間が多少遅れる。このため、既に特殊制御キーの押され状態が変更(キーアップからキーダウンにまたはキーダウンからキーアップに)されたのにAPI関数の状態は変更されない時間偏差が発生する。例えば、上記例のように、ユーザが「1234!@#$」を順次入力する場合、保安プログラムにおいて「!@」を処理する時までもシフト(shift)キーの状態を示すGetKeyState API関数は依然としてキーダウンされないものに設定され、最終的に応用プログラムに「123412#$」が入力される。
【0011】
このように、従来の保安プログラムは、高速データ入力装置から特殊文字が入力される場合、これを正常に処理できずにエラーが発生するため、現在市販中の全ての保安プログラムは、高速データ入力装置を介して入力されるデータを保安しない。すなわち、従来には、高速データ入力装置から入力されるデータを保安できない問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【0012】
上述した従来技術の問題点を解決するために導き出された本発明の目的は、高速データ入力装置から高速で入力されるデータの保安に適用することができるキーボード入力データの保安システムおよび方法を提供することにある。
【課題を解決するための手段】
【0013】
本発明に係るキーボード入力データの保安システムは、キーボードポートに入力されるスキャンコードから文字/数字キーのキーダウンおよびキーアップ情報を抽出する文字/数字キー入力抽出部と、前記スキャンコードから特殊制御キーのキーダウンおよびキーアップ情報を抽出する特殊制御キー入力抽出部と、前記文字/数字キーのキーダウンまたはキーアップ情報と前記特殊制御キーのキーダウンおよびキーアップ情報を組み合わせて文字、数字または特殊文字を認識する入力データ認識手段とを含むことを特徴とする。
【0014】
また、本発明に係るキーボード入力データの保安方法は、保安ドライバがキーボードポートに入力される文字/数字キーおよび特殊制御キーのキーダウンおよびキーアップ情報を抽出する第1ステップと、保安コントローラが前記抽出された特殊制御キーのキーダウンおよびキーアップ情報に応じてAPI関数の状態をオン/オフに設定する第2ステップと、前記保安コントローラが前記抽出された文字/数字キーのキーダウンまたはキーアップ情報と前記第2ステップで設定された前記API関数のオン/オフ状態を利用して文字、数字または特殊文字を認識する第3ステップとを含むことを特徴とする。
【発明の効果】
【0015】
本発明によれば、一般のキーボード入力データをはじめとし、機械的に速く入力される高速入力データの保安に適用することができるため、インターネットを利用した各種産業の活性化に寄与できる効果がある。
【図面の簡単な説明】
【0016】
【図1】従来の保安プログラムのキーボード入力データの保安方法を示す動作フローチャートである。
【図2】本発明の一実施形態によるキーボード入力データ保安システムを示す機能ブロック図である。
【図3】本発明の一実施形態によるキーボード入力データ保安方法を示す動作フローチャートである。
【発明を実施するための形態】
【0017】
本発明に係るキーボード入力データの保安システムは、カーネル領域で駆動する保安ドライバとユーザー領域で駆動する保安コントローラとを備える。
前記保安ドライバは、キーボードポートに入力されるスキャンコードから文字/数字キーのキーダウンまたはキーアップ情報を抽出する文字/数字キー入力抽出部と、前記スキャンコードから特殊制御キーのキーダウンおよびキーアップ情報を抽出する特殊制御キー入力抽出部と、前記文字/数字キー入力抽出部で抽出された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キーのキーダウン値およびキーアップ値を順次暗号化する暗号化部とを含む。
【0018】
前記保安コントローラは、前記保安ドライバの暗号化部で暗号化して入力された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キーのキーダウン値およびキーアップ値を復号化する復号化部と、前記復号化部で復号化された前記特殊制御キーのキーダウン値およびキーアップ値に応じて特殊制御キー状態をオンまたはオフに設定して格納する特殊制御キー状態格納部と、前記復号化部で復号化された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キー状態格納部に格納された特殊制御キー状態のオンまたはオフ情報を組み合わせて文字、数字または特殊文字を認識する入力データ認識部とを含む。
【0019】
以下、添付した図面を参照し、本発明の一実施形態によるキーボード入力データの保安システムおよび方法をより詳細に説明する。
図2は、本発明の一実施形態によるキーボード入力データ保安システムを示す機能ブロック図である。
【0020】
本発明のキーボード入力データ保安システムは、カーネル領域で動作する保安ドライバ220と、ユーザー領域で動作する保安コントローラ240とからなる。保安ドライバは、キーボード入力に対して暗号化した後に共有メモリに格納し、保安コントローラは、共有メモリから暗号化されたデータを復号化した後にキーボード入力値を認識する。
【0021】
保安ドライバ220は、キーボードポート210に入力されるスキャンコードから文字/数字キーのキーダウンおよびキーアップ情報を抽出する文字/数字キー入力抽出部221と、前記スキャンコードから特殊制御キーのキーダウンおよびキーアップ情報を抽出する特殊制御キー入力抽出部222と、前記文字/数字キーのキーダウンおよびキーアップ情報と前記特殊制御キーのキーダウンおよびキーアップ情報を順次暗号化して共有メモリ240に格納する暗号化部223と、前記共有メモリ240に格納された暗号化された情報を復号化する復号化部241と、前記復号化部241で復号化された特殊制御キーのキーダウンおよびキーアップ情報に応じてAPI関数の状態を設定する特殊制御キー状態格納部242と、前記特殊制御キー状態格納部242で設定されたAPI関数と前記復号化部で復号化された文字/数字キーのキーダウンまたはキーアップ情報を利用して文字および/または数字を認識する入力データ認識部243とを含む。
【0022】
本発明は、カーネル領域において、キーボードポートに入力される全てのキー(文字キー/数字キー/特殊制御キー)のキーダウンおよびキーアップ情報を全て暗号化して順次ユーザー領域に伝達し、ユーザー領域において、特殊制御キーのキーダウンおよびキーアップ情報を利用してAPI関数の状態を設定した後、その設定されたAPI関数を利用して文字および/または数字を認識する。
【0023】
図3は、本発明の一実施形態によるキーボード入力データ保安方法を示す動作フローチャートである。
キーボードポートにスキャンコードが入力されれば(S31)、カーネル領域の保安ドライバは、入力キー情報と入力キーのキーアップ/キーダウン情報を含むスキャンコードを暗号化して共有メモリに格納する(S32)。
【0024】
ユーザー領域の保安コントローラは、共有メモリから暗号化されたスキャンコードを読み取って復号化し(S33)、復号化されたスキャンコードが特殊制御キーのキーダウンであるか否かを判断する(S34)。ステップS34の判断結果、特殊制御キーのキーダウンであれば、該当特殊制御キーのキーダウンを表示するAPI関数をオン(ON)に設定し(S35)、ステップS34の判断結果、特殊制御キーのキーダウンでなければ、特殊制御キーのキーアップであるか否かを判断する(S35)。ステップS35の判断結果、特殊制御キーのキーアップであれば、API関数をオフ(OFF)に設定し(S37)、ステップS35の判断結果、特殊制御キーのキーアップでなければ、API関数のオン/オフ状態と入力された文字/数字キー情報を利用して数字、文字、または特殊文字を認識する。全ての入力キーを認識する時までステップS33〜ステップS39を繰り返し実行する(S39)。
【0025】
カーネル領域の保安ドライバとユーザー領域の保安コントローラ間の通信は通常のオペレーティングシステムに従う。
以上、本発明に対する技術思想を添付図面と共に記述したが、これは、本発明の最も良好な実施形態を例示的に説明したものであって、本発明を限定するものではない。また、本技術分野の通常の知識を有した者であれば、誰もが本発明の技術思想の範疇から離脱しない範囲内で多様な変形および模倣が可能であるということは明らかである。

【特許請求の範囲】
【請求項1】
カーネル領域で駆動する保安ドライバとユーザー領域で駆動する保安コントローラとを備え、
前記保安ドライバは、
キーボードポートに入力されるスキャンコードから文字/数字キーのキーダウンまたはキーアップ情報を抽出する文字/数字キー入力抽出部と、
前記スキャンコードから特殊制御キーのキーダウンおよびキーアップ情報を抽出する特殊制御キー入力抽出部と、
前記文字/数字キー入力抽出部で抽出された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キーのキーダウン値およびキーアップ値を順次暗号化する暗号化部とを含み、
前記保安コントローラは、
前記保安ドライバの暗号化部で暗号化されて入力された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キーのキーダウン値およびキーアップ値を復号化する復号化部と、
前記復号化部で復号化された前記特殊制御キーのキーダウン値およびキーアップ値に応じて特殊制御キー状態をオンまたはオフに設定して格納する特殊制御キー状態格納部と、
前記復号化部で復号化された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キー状態格納部に格納された特殊制御キー状態のオンまたはオフ情報を組み合わせて文字、数字または特殊文字を認識する入力データ認識部とを含むことを特徴とするキーボード入力データの保安システム。
【請求項2】
前記暗号化部で暗号化された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キーのキーダウン値およびキーアップ値を格納し、前記復号化部に提供する共有メモリをさらに含むことを特徴とする、請求項1に記載のキーボード入力データの保安システム。
【請求項3】
前記特殊制御キー状態格納部は、前記復号化部で復号化されたスキャンコードが、特殊制御キーのキーダウンであれば、前記キーダウンされた特殊制御キー状態をオンに設定し、特殊制御キーのキーアップであれば、前記キーアップされた特殊制御キー状態をオフに設定することを特徴とする、請求項1に記載のキーボード入力データの保安システム。
【請求項4】
カーネル領域の保安ドライバがキーボードポートに入力されるスキャンコードから文字/数字キーのキーダウンまたはキーアップ情報を抽出する文字/数字キー入力抽出ステップと、
前記保安ドライバが前記スキャンコードから特殊制御キーのキーダウンおよびキーアップ情報を抽出する特殊制御キー入力抽出ステップと、
前記保安ドライバが前記文字/数字キー入力抽出ステップで抽出された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キー入力抽出ステップで抽出された前記特殊制御キーのキーダウン値およびキーアップ値を順次暗号化する暗号化ステップと、
ユーザー領域の保安コントローラが前記暗号化ステップで暗号化された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キーのキーダウン値およびキーアップ値を復号化する復号化ステップと、
前記保安コントローラが前記復号化ステップで復号化された前記特殊制御キーのキーダウン値およびキーアップ値に応じて特殊制御キー状態をオンまたはオフに設定して格納する特殊制御キー状態格納ステップと、
前記復号化ステップで復号化された前記文字/数字キーのキーダウン値またはキーアップ値と前記特殊制御キー状態格納ステップで格納された特殊制御キー状態のオンまたはオフ情報を組み合わせて文字、数字または特殊文字を認識する入力データ認識ステップとを含むことを特徴とするキーボード入力データの保安方法。
【請求項5】
前記保安ドライバは、前記暗号化ステップで暗号化された前記文字/数字キーのキーダウンまたはキーアップ値と前記特殊制御キーのキーダウンおよびキーアップ値を共有メモリに格納することを特徴とする、請求項4に記載のキーボード入力データの保安方法。
【請求項6】
前記特殊制御キー状態格納ステップは、前記復号化ステップで復号化されたスキャンコードが特殊制御キーのキーダウンであれば、前記キーダウンされた特殊制御キー状態をオンに設定し、特殊制御キーのキーアップであれば、前記キーアップされた特殊制御キー状態をオフに設定することを特徴とする、請求項4に記載のキーボード入力データの保安方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公表番号】特表2012−524322(P2012−524322A)
【公表日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2012−505806(P2012−505806)
【出願日】平成22年4月1日(2010.4.1)
【国際出願番号】PCT/KR2010/002007
【国際公開番号】WO2010/120055
【国際公開日】平成22年10月21日(2010.10.21)
【出願人】(506216774)インカ インターネット カンパニー リミテッド (7)
【Fターム(参考)】