説明

USBキーボードによる入力データの保安方法及び保安システム

本発明は保安システムとこれを用いる保安方法に係り、より詳しくはUSBポートを介して通信されるキーボードの保安システム及び保安方法に関する。この保安方法は、USBフィルター活性化段階;USBキーボードに入力される入力データを前記USBフィルターで優先的に受信する入力データ受信段階;前記入力データから使用者のキー操作で発生したキー入力情報を検出するキー入力情報検出段階;検出されたキー入力情報を発生順に整列するキー入力情報パーシング段階;前記パーシング段階で整列されたキー入力情報を暗号化するキー入力情報暗号化段階;運営体制が前記入力データを認識することができないように、USBバスに残っている前記入力データを削除する入力データ削除段階;及び、暗号化された前記キー入力情報を通信用アプリケーションに伝達するキー入力情報伝達段階を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は保安システム及びこれを用いる保安方法に係り、より詳しくは、USBポートを介して通信されるキーボードの保安システム及び保安方法に関するものである。
【背景技術】
【0002】
インターネットによるバンキング又は証券業務などの金融取り引きと、電子メール又は機密事項が含まれたデータの通信が増加するにつれて、他人がインターネット通信保安の弱点を利用して悪意的な目的で個人情報又は秘密情報などを抜き取る場合が頻繁に発生した。
【0003】
一般に、前述したような情報流出は、各種スパイウェア又はハッキングプログラムを用いて行われており、これらの大部分はキーボードのような入力装置を介して入力されるデータを中間で別に獲得した後、約束された電子メール住所又はウェブサイト住所に当該データを伝送する方式であった。
【0004】
したがって、このような情報流出を防止するための従来方法は、コンピューター内に組み込まれた前記スパイウェア又はハッキングプログラム(以下、悪意的プログラムという)を捜して削除させるものであった。すなわち、前記悪意的プログラムのみを捜して削除させるワクチンプログラム又はスパイウェア防止プログラム(以下、保安プログラムという)をコンピューターに組み込んで悪意的プログラムの活性化を防ぎ、できれば、これをコンピューターからまったく取り除くことになったものである。
【0005】
しかし、前述したような従来の方法は、新たに製作されるか発見された保安プログラムに対してはその適用に限界があり、新しい悪意的プログラムに備えるために、毎度パッチを受けて悪意的プログラムリストを新たに更新しなければならない煩わしさがあった。
【0006】
その後、前述したような不便さを減らすとともに悪意的プログラムの活性化を根本的に遮断する技術が開発された。その代表的な技術の例としては、キーボード保安に係わる保安システム及び方法がある。
【0007】
従来のキーボードはPS/2方式のもので、キーボード操作によって物理的な電気信号を発生させ、このような電気信号は運営体制で受信して、該当インターラプトルーチンをそれぞれキュー(FIFO;First In、First Out)を用いて個別処理する。
【0008】
近年、このようなPS/2方式以外に、コンピューターの本体と周辺装置の間の通信が、単純な電気的な信号流れではなく、複数のデータを持つパケットの流れでなるにつれて、運営体制とメッセージを交換する概念で連結されるUSB方式のキーボードが開発された。このようなUSBキーボードは、既存のデスクトップ型の巨大なコンピューターから、コンパクトで、周辺装置との着脱を容易にする趨勢に従い、その需要が急速に増加している。すなわち、PS/2方式のキーボードとは異なり、USBキーボードは、コンピューター本体のUSBポートと直ちに連結可能であり、連結と同時に行わなければならない再起動のような利用上の煩わしさを減らすことができる利点があるものである。
【0009】
しかし、現在、USB方式のキーボードに対する保安問題を解決することができるシステムとその方法が全く提示されていない。したがって、このような問題点はUSB方式のキーボード下位段で行われる悪意的プログラムによる情報流出に対しては全く備えていない実情である。
【発明の開示】
【発明が解決しようとする課題】
【0010】
それで、本発明は前記のような問題を解決するためになされたもので、USBを通じて本体と通信してデータを伝送するキーボードから悪意的プログラムによって入力される情報が外部に流出することを防止するUSBキーボードによる入力データの保安方法とこれを具現する保安システムを提供することに目的がある。
【課題を解決するための手段】
【0011】
前記の目的を達成するために、本発明は、USBフィルター活性化段階;USBキーボードを介して入力される入力データを前記USBフィルターで優先的に受信する入力データ受信段階;前記入力データから使用者のキー操作で発生したキー入力情報を検出するキー入力情報検出段階;検出されたキー入力情報を発生順に整列するキー入力情報パーシング段階;前記パーシング段階で整列されたキー入力情報を暗号化するキー入力情報暗号化段階;運営体制が前記入力データを認識することができないように、USBバスに残っている前記入力データを削除する入力データ削除段階;及び暗号化された前記キー入力情報を通信用アプリケーションに伝達するキー入力情報伝達段階;を含むことを特徴とする、USBキーボードによる入力データの保安方法を提供する。
【0012】
また、前記目的を達成するために、前記USBフィルター活性化段階は、USBキーボードの初期入力データによって当該USBキーボードのレジストリ登録を確認するUSBキーボード確認段階;及び前記USBキーボード確認段階で確認されたUSBキーボードに対応するレジストリによって該当USBフィルターを活性化するフィルター活性化段階;を含む。
【0013】
また、前記目的を達成するために、前記USBキーボード確認段階は、当該USBキーボードのハードウェアIDが登録されないと確認される場合、前記USBキーボードに対応するUSBフィルターの設置を決定するUSBフィルター設置決定段階;及び前記新しいUSBキーボードのキー入力情報を保安するUSBフィルターを設置するフィルター設置段階;をさらに含む。
【0014】
また、前記目的を達成するために、前記フィルター設置段階は、運営体制レジストリに登録されたHIDデバイスのハードウェアIDを検索するHIDデバイス検索段階;前記ハードウェアIDからキーボードとして分類されたハードウェアIDを検索するキーボード検索段階;運営体制レジストリに登録されたUSBデバイスのハードウェアIDを検索するUSBデバイス検索段階;前記キーボード検索段階と前記USBデバイス検索段階でそれぞれ検索されたハードウェアIDから、相互にマッチするハードウェアIDを確認するマッチングID確認段階;及び前記マッチングID検索段階で検索された該当のハードウェアIDのデバイスレジストリにUSBフィルターを登録するフィルター登録段階;を含む。
【0015】
また、前記目的を達成するために、本発明は、キー操作で発生した入力データの中で、キーについてのキー入力情報を検出するキー入力情報検出モジュール;前記キー入力情報をその発生順に整列させるパーシングモジュール;整列された前記キー入力情報を暗号化させる暗号化モジュール;及び前記運営体制が前記入力データを認識することができないように、入力データを処理する入力データ削除モジュール;を含むUSBフィルターを含むことを特徴とする、USBキーボードによる入力データの保安システムを提供する。
【0016】
また、前記目的を達成するために、前記保安システムは、複数の前記USBフィルターと運営体制の間の通信を仲介する管理モジュールを含むUSBコントローラーをさらに含む。
【0017】
また、前記目的を達成するために、前記USBコントローラーは、前記本体に連結されたUSBキーボードのハードウェアIDとこれに対応する前記USBフィルターをカウントして、新しいUSBキーボードの設置有無を確認するフィルター確認モジュール;及び新しいUSBキーボードに対応するUSBフィルターを設置するフィルター設置モジュール;をさらに含む。
【発明を実施するための最良の形態】
【0018】
以下、本発明を添付図面に基づいて詳細に説明する。
【0019】
図1は本発明による保安システムの構成を示すブロックズで、これを参照して本発明の構成を説明する。
【0020】
本発明による保安システムは、USBフィルター20と、これを管理するUSBコントローラー40とから構成される。
【0021】
図示のように、前記USBフィルター20は、USBキーボードのUSBケーブルが本体と物理的に連結されられるUSBポートを含むUSBバスハードウェア(図示せず)、ホストコントローラードライバー(usbport.sys)及びUSBハーブドライバー(usbhub.sys)を含むUSB装置10に優先的に連結されるようにシステム的に配置される。このように配置されたUSBフィルター20は、運営体制30が前記USB装置10を介して入力されるUSBキーボードの入力データを認識するに先立ち、前記USBフィルター20が優先的に認識する。
【0022】
本発明によるUSBフィルター20が設置されていないか活性化していない状態で、USBキーボードから入力されるデータに対する運営体制30の処理過程はつぎのようである。
【0023】
まず、前記USB装置10に入力される入力データは、運営体制30のHIDクラスドライバー31に伝達される。前記“HID”とはHuman Input Deviceの略字で、英文の意味どおり人が手動でデータを入力することができる装置を言う。すなわち、キーボード、‘マウス’、‘ジョイ・スティック’のようなものなどである。
【0024】
前記HIDクラスドライバー31に伝送された入力データには、当該入力データを発生させた入力装置、すなわち、キーボードに対する情報を持った入力データが含まれており、これにより、前記HIDクラスドライバー31は、いまUSBポートを通じて入力される入力データがキーボードによる入力データであることを認識する。このために、参考として、前記HIDクラスドライバー31はHID minidriver(hidusb.sys)とHid class driver(hidclass.sys)を含み、USBポートを介して入力される入力データを運営体制30が認識することになる。
【0025】
このように、USBポートから入力されている入力データがキーボードを介した入力データであることが確認されれば、運営体制30は、前記入力データから当該キーボードの種類を確認し、当該キーボードが本体に連結されて活用できるようにするドライバーを検索することになる。このために、前記HIDクラスドライバー31を介した入力データはキーボードクラスドライバー32に伝達される。
【0026】
ここで、前記入力データを発生させたキーボードのドライバーを検索/駆動させ、当該キーボードを活用することができるようにする。
【0027】
この際、当該キーボードが以前に本体に連結されなかった新しいキーボードの場合には、当該キーボードの活用を可能にするために、当該キーボードのドライバーを組み込むように使用者に要求するか、運営体制30で自ら必要なドライバーを組み込む。
【0028】
このために、参考として、前記キーボードクラスドライバー32は、Keyboard HID mapper driver(kbdhid.sys)とKeyboard class driver(kbdclass.sys)とから構成され、USBポートを通じて入力されているデータを発生させるキーボードの種類を運営体制30が確認することになる。
【0029】
前記入力データの内容が確認された後、使用者の意図によってキーボードのキー操作で発生して前記入力データに含まれるキー入力情報は運営体制30のサブシステム33に伝達され、アプリケーション50との通信可能な形態に変形される。一般に、Windowのような運営体制の場合には、前記キー入力情報がWindow Messageの形態に変形される。この際、前記サブシステム33は、Window体制の場合、Win32 Subsystemになる。
【0030】
前記Window Messageはメッセージキュー34によってキュー(Queue)方式でアプリケーションに伝達される。キューとは、前述したように、先に入力されたデータが先に処理されられることをいい、使用者がキーを操作するにおいて、先に操作されたものが先に処理されなければならないキーボード又は各種の入力装置のキー入力情報処理過程に共通して適用されるものである。一方、前記メッセージキュー34は、サブシステム33から伝達されたWindow Messageを前記キュー方式で処理する手段である。
【0031】
前記メッセージキュー34によって、Window Messageはアプリケーション50に伝達され、ついでアプリケーション50の自体機能によって該当キー入力情報が処理される。この際、前記アプリケーション50はウェブサーバーとの通信ができるようにするブラウザーになることができ、特にインターネットを介した金融取り引きの際、金融サーバーがクライアントにサービスを提供するために、一般のウェブブラウザーを介して別途に駆動されるActiveX51のような通信用アプリケーションになる。
【0032】
このような流れをより技術的に述べると、前記USBバスハードウェアの電気的なデータは、前記ホストコントローラードライバーを経って、USBハーブではURB(USB Request Blocks)の形態に変形され、HIDクラスドライバー31とキーボードクラスドライバー32ではIRP(I/O Request Packet)の形態に変形されてサブシステム33に伝達される。前記サブシステム33では、さらにWindow Messageの形態に変形されてアプリケーション50に伝達される。
【0033】
一方、本発明による保安システムにおいては、前記USB装置10から伝達されるURB(入力データ)を優先的に受け、これを暗号化処理して前記アプリケーション50に伝達し、前記運営体制30による入力データの前述した伝達過程はなさらない。すなわち、ActiveX51を介して直ちに連結されたウェブサーバーに、USBキーボードに入力されたキー入力情報を伝送するものである。したがって、前記運営体制30は、USBキーボードを介して入力されたキー入力情報を認識することができないかも知れない。しかし、ローカル次元で使用者の自分がキーボードを利用して入力させる内容を視覚的に確認するため、本発明による保安システムを経たキー入力情報が出力装置(モニターなど)でテキストの形態で表されるようにすることもでき、このために、暗号化したキー入力情報がActiveX51ではない他のアプリケーションに復号化して出力されることもできる。しかし、本発明は、USBキーボードを利用して入力される情報をブラウザー/ActiveXを介して他のウェブサーバーに伝送する場合、ハッキング又はその他の悪意的プログラムによって流出されることを防ぐためになされたものであるので、ローカル次元で行われる過程についてはここで省略する。
【0034】
USBコントローラー40は、前記USBフィルター20を運営体制30が直接制御することができないので、運営体制30とUSBフィルターを相互に中継するための構成であり、これについては後述する。
【0035】
図2は本発明による保安システムのフィルター及びコントローラに対する構成を示すブロック図、図3は本発明による保安方法の一実施例を示すフローチャートである。これら図に基づいて、本発明による保安システムとこれを用いる保安方法をともに説明する。
【0036】
本発明による保安システムにおいて、前記USBフィルター20は、運営体制30によって駆動される本体に接続されたUSBキーボード上に、キー操作で発生した入力データの中で、キーに対するキー入力情報を検出するキー入力情報検出モジュール21、前記キー入力情報をその発生順に整列させるパーシング(parsing)モジュール22、整列された前記キー入力情報をパケット形態に暗号化させた後、他のウェブサーバーとの通信のために、活性化したActiveX51に伝送する暗号化モジュール23、及び前記運営体制30が前記入力データを認識することができないように処理する入力データ削除モジュール24を含む。
【0037】
前述したように、前記USBフィルター20は、USB装置10から運営体制30に伝達される入力データ(キー入力情報)を優先的に取って暗号化し、前記USB装置10に残っている入力データを削除して、運営体制30がUSBキーボードを介して入力されたデータを認識することができないようにする。よって、前記USBフィルター20によって暗号化した入力データ(キー入力情報)がActiveX51に伝達されるとともに、運営体制30も当該入力データ(キー入力情報)を認識し、前述した過程で処理した後、前記ActiveX51に伝達することで、発生し得る衝突を防止することができるものである。
【0038】
前記USBフィルター20の各モジュール21、22、23、24についての説明は、以下に保安方法についての説明とともに提示する。
【0039】
USBフィルター20によってUSBキーボードのキー入力情報を保安する保安システムにおいて、
(1)USBキーボードの入力データを用いて、当該USBキーボードのレジストリ登録有無を確認するUSBキーボード確認段階(S10;図4参照);
使用者がUSBキーボードのキーを一つ一つ操作することにより発生する電気的データはUSB装置10を介して運営体制30が認識可能な形態のデータに変形される。このように変形されたデータを入力データという。このような入力データは、キー操作内容に対する実質的な使用者の意思内容が含まれたキー入力情報の外にも、当該USBキーボードに対する情報を含む。よって、運営体制30は、後者の情報から、当該USBキーボードが運営体制30の下で活用できるようにするドライバーを検索し、これを組み込むかあるいはその組み込みを要請することにより、使用者が運営体制30とアプリケーション50に対する意思伝逹を当該USBキーボードによってなし得るようにセットする。
【0040】
これをより詳細に説明する。本体のUSBポートに前記USBキーボードのケーブルを差し込めば、運営体制30は、これを確認するために、前記ケーブルを介してUSBキーボードと信号を交流する。このような信号交流によって、USBキーボードの情報が含まれた初期入力データが運営体制30に伝達され、当該USBキーボードの種類を確認し、活用に必要なドライバーを組み込む。
【0041】
ここで、初期入力データと入力データの意味を明確に定義する。
【0042】
前記初期入力データは、USBポートにケーブルを介して接続された周辺装置を確認するために、運営体制30が能動的に信号を交流しながら前記周辺装置から得るデータであり、前記入力データは、USBキーボードのキーを使用者が操作することにより発生するキー入力情報を含み、該当キー入力情報の出処がどこであるかを運営体制が認識できるようにする付加データを含むものである。
【0043】
一般に、周辺装置が本体に新たに接続されれば、運営体制30は、当該周辺装置の活用のためのドライバーの組み込みを行い、認識可能なハードウェアIDを付与し、レジストリに登録させる。
【0044】
図2に示すように、USBフィルター20、20’、20”は複数が設置でき、それぞれのUSBフィルター20、20’、20”は該当USBキーボードに連動して、前記確認段階(S10)でキー入力情報を保安する準備をする。
【0045】
一方、前記USBキーボード確認段階(S10)は、本体にただ一つのUSBキーボードのみが存在し、他のUSBキーボードがさらに設置できる余地がない場合には、USBキーボードを確認する必要がないので、必ず先行の過程ではない。しかし、図2に示すように、現実的に、本体にはUSB装置10、10’、10”が複数備えられ、これにより、USBキーボードも一つ以上接続できるので、これに応じて、USBフィルター20、20’、20”も複数が形成される。
【0046】
すなわち、前記USBキーボード確認段階(S30)で行われるUSBキーボードの確認過程は、USBキーボードが複数接続されることができ、これによって複数のUSBフィルターが設置されるとき、その実効があると言える。
【0047】
(2)前記入力データからキーに対するキー入力情報を検出するキー入力情報検出段階(S60);
USBキーボードのキー操作で発生して伝達される入力データの中で、実質的に使用者がキー操作で発生させた意思内容、すなわち操作がなされたキーに対する情報が含まれたキー入力情報を前記キー入力情報検出モジュール21によって検出する。前記キー入力情報は、実質的に保安のために暗号化が進まなければならない部分である。一方、前記キー入力情報は、USBキーボードのデータ入力方式の特性上、複数の情報がパケット単位でいっぺんに伝達される。
【0048】
参考として、PS/2方式のキーボードの場合には、キー操作によって発生したキー入力情報がキューによって一つずつ個別的に伝達されるので、USBキーボードのキー入力情報伝達方式とは大きな違いがあると言える。
【0049】
(3)検出されたキー入力情報を発生順に整列するキー入力情報パーシング段階(S70);
前述したように、前記キー入力情報検出モジュール21によって入力データからキー入力情報が検出されれば、前記パーシングモジュール22によって、キー入力情報の入力順にその情報が整列される。このように整列されたキー入力情報は、以後にActiveX51を介してターゲットのウェブサーバーに伝送され、キー入力情報の入力順に処理される。
【0050】
(4)前記パーシング段階で整列されたキー入力情報をパケット単位にして暗号化するキー入力情報暗号化段階(S80);
前記パーシングモジュール22によってパケット単位で整列されたキー入力情報は、前記暗号化モジュール23によって暗号化されて、外部からの悪意的プログラムによるハッキング又は確認ができないようにする。よって、前記キー入力情報が前記USB装置10からインターネット通信のためのActiveX51にまで伝達される途中でハッキングされて流出されることを防止することができる。
【0051】
(5)運営体制が前記入力データを認識することができないように、USBバスに残っている前記入力データを削除する入力データ削除段階(S90);
運営体制30は、USB装置10からUSBキーボードに伝達された入力データを確認するために、USB装置10のUSBバスから入力データを読み取ることになる。この場合、既にUSBフィルター20を経てActiveX51に伝達された同一のキー入力情報が運営体制30によってUSBバスで読み取られた入力データと相互に衝突してシステムにエラーを発生させるとともに、前記入力データが運営体制30を介してActiveX51に伝達される間にハッキングされるので、USBフィルター20の保安機能が無意味になる。
【0052】
したがって、前記入力データ削除モジュール24は、USB装置10、すなわちUSBバスに残っている入力データを処理して、運営体制30がUSBキーボードから入力されたデータがないと認識するようにする。よって、当該USBキーボードから入力される入力データは、USBフィルター20を介してだけActiveX51に伝達される。
【0053】
(6)キー入力情報復号化段階(S100);
前記キー入力情報暗号化段階(S80)でパケット単位で暗号化されたキー入力情報を復号化する過程であって、ActiveX51で実施できる。以後の保安過程はインターネット通信上の別の保安システムによって行われるので、ここでは省く。
【0054】
図2に示すように、本発明によるUSBフィルター20、20’、20”は、USBを介して接続される周辺装置の数によって複数が設置可能であり、現実的にも、本体には、複数のUSB周辺装置を本体と同時に連結するように、複数のUSB装置10、10’、10”が備えられる。
【0055】
したがって、複数のUSBフィルター20を運営体制30と中継するために、これらを管理するUSBコントローラー40が備えられなければならない。
【0056】
このために、本発明による保安システムにおいて、前記USBコントローラー40は、複数の前記USBフィルター20、20’、20”と運営体制30の間の通信を媒介/管理する管理モジュール43;前記本体に連結されたUSBキーボードのハードウェアIDとこれに対応する前記USBフィルター20、20’、20”をカウントして、新しいUSBキーボードの設置可否を確認するフィルター確認モジュール41;新しいUSBキーボードに対するUSBフィルター20、20’、20”を設置するフィルター設置モジュール42;をさらに含む。
【0057】
USBコントローラーの各モジュールを、本発明による保安方法の説明とともに、図4に基づいて説明する。
【0058】
図4は本発明による保安方法のさらに他の実施例を示すフローチャートである。
【0059】
(1)前記USBキーボード確認段階で当該USBキーボードを保安するUSBフィルターを検索し、これを活性化させるフィルター活性化段階(S50);
本発明による保安システムは、使用者が選択的にUSBキーボードから入力されるキー入力情報に対する保安可否を決定することができる。
【0060】
本発明によるUSBフィルター20、20’、20”は運営体制30とは個別的に作動するので、運営体制30がUSBフィルター20、20’、20”を制御することができない。よって、使用者が運営体制30を基にする本体においてもUSBフィルター20、20’、20”の制御をなし得るように、USBコントローラー40が備えられる。よって、使用者は、前記USBコントローラー40を介してUSBフィルター20、20’、20”を活用することにより、現在USBキーボードを介して入力されているキー入力情報に対して保安を行うか否かを選択することができる。
【0061】
ところが、本体にただ一つのUSBキーボードのみが接続され、これに対する保安のために本発明によるUSBフィルターが一つだけ設置される場合には、USBフィルターの検索/選択が不要であるので、USBキーボードの操作と同時に、USBフィルターの確認なしに、当該USBフィルターによってそのままでキーボード保安が実行される。しかし、現実的に、本体には127個のUSBポートがあり、ハーブを付け加えることで、それ以上のUSBポート及びこれを処理することができるシステムを具現することもできるようになっている。よって、USBキーボードが本体に複数接続されることもでき、これによってUSBキーボードのそれぞれにUSBフィルターも設置されるであろう。すなわち、複数のUSBフィルターが本体に設置されるものである。
【0062】
したがって、複数のUSBキーボードが運営体制に登録されている場合には、当該USBキーボードの接続とともに、これに対する保安を実行すべきUSBフィルターを検索して活性化する段階が要求される。
【0063】
一方、図4の“S40”のように、使用者は本発明による保安システムの活性化を選択することができる。すなわち、活性化を承認すれば、前述した保安方法によってUSBキーボードの保安がなされ、活性化を承認しない場合には、既存の運営体制30によるデータ入力が行われる。活性化を承認するか承認しない主体は使用者であるかあるいは本発明による保安システムであろう。
【0064】
ついで、新しいUSBキーボードに対応する新しいUSBフィルター20、20’、20”を設置する方法を説明する。
【0065】
(1)ハードウェアIDが指定されなかった新しいUSBキーボードが接続される場合、前記ハードウェアIDとこれに対応するUSBフィルターを確認して、USBフィルターの追加設置可否を決定するUSBフィルター設置決定段階(S20);
前述したように、本発明によるUSBフィルターは本体に接続されたUSBキーボードにそれぞれ設置されるので、既にドライバーが組み込まれ、当該USBキーボードの保安のために連動するUSBフィルターがある場合には、前記入力データ確認段階(S30)を行う一方、新しいUSBキーボードが本体に接続され、これに対するUSBフィルターが設置されていない場合には、当該USBキーボードの保安のために連動すべきUSBフィルターを設置するか否かを決定する。
【0066】
この際、前記確認過程では、使用者の意思にかかわらず、あるいは使用者の意思に応じて設置可否を決定する方式がある。
【0067】
一般に、運営体制30は、本体に連結される周辺装置が接続されれば、これを区分して認識するように、固有のハードウェアIDを設定することになり、これをレジストリに登録する。したがって、既存に一回以上本体と接続して活用されたUSB装置は運営体制30のレジストリにハードウェアIDが登録されているので、当該USB装置10が本体から接続解除された後にさらに接続されても、運営体制30がこれを認識してドライバーの組み込みなしに直ちに活用することができるようになり、ハードウェアIDがないUSBキーボードが本体と新たに接続される場合には、当該USBキーボードを活用し得るドライバーの組み込み有無を確認して該当ドライバーを組み込むか、使用者に組み込み可否を問うことになる。その後、ドライバーの組み込みが完了し、運営体制30はレジストリに当該USBキーボードを認識することができるハードウェアIDを設定/登録させる。
【0068】
(2)前記新しいUSBキーボードのキー入力情報を保安するUSBフィルターを設置するフィルター設置段階(S30);
前記検索段階(S10)の後、新たに接続された当該USBキーボードにおいては、保安のために、本発明によるUSBフィルターが設置されていないので、新たに登録されたハードウェアIDに対応する運営体制30のレジストリにUSBフィルターを登録させる。
【0069】
結果として、本体のUSBポートにUSBキーボードが接続されれば、運営体制30は前記USBキーボードと通信しながらハードウェアIDとドライバーの組み込み有無を確認し、新しいUSBキーボードであるかそれとも既存に既にハードウェアIDとドライバーが存在するかを判断する。また、このように判断された内容によって、前記フィルター確認モジュール41は、運営体制30と連動しながら、USBフィルターの数とこれに適用されるUSBキーボードのハードウェアIDの数をカウントして、USBフィルターの数がハードウェアIDの数より少ない場合、前記フィルター設置モジュール42は、USBフィルターが設置されなかったハードウェアIDを検索し、これに対応するレジストリにUSBフィルターを設置することになる。
【0070】
ところで、HIDにおいてPS/2方式で管理される周辺装置は、運営体制30内にクラス(キーボード、マウス、ジョイスティックなど)別にそれぞれ分類されている一方、USBの場合には、HID分類段階において、前記クラスのような詳細な分類なしにキーボード、マウス、ジョイ・スティック、メモリなどの周辺装置が統合的に登録及び管理されるので、前記USBフィルターを該当USBキーボードにだけ連動するように設置位置を捜すのに困難さがある。
【0071】
本発明による保安方法においては、前述した問題を既存の運営体制30の修正なしも解消することができるフィルター設置段階(S30)を案出した。以下、これについて図面を参照して詳細に説明する。
【0072】
図5は本発明によるフィルター設置方法の一実施例を示すフローチャートである。
【0073】
前記フィルター設置段階(S30)はつぎの段階を含む。
【0074】
(1)運営体制レジストリに登録されたHIDデバイスのハードウェアIDを検索するHIDデバイス検索段階(S31);
前記フィルター設置モジュール42は、レジストリアクセスAPIを介して、現在システムで使用しているかあるいは以前に設置された周辺装置の中で、“HID”に対応する周辺装置のハードウェアIDを全て捜す。この際、運営体制30がウィンドウ基盤の場合には、前記レジストリアクセスAPIとしてSetUpDiGetClassDevs Win32 APIが活用できる。
【0075】
(2)前記ハードウェアIDからキーボードとして分類されたハードウェアIDを検索するキーボード検索段階(S32);
前記HIDデバイス検索段階(S31)で検索されたハードウェアIDからClass Guideがキーボードとして分類された周辺装置に対するハードウェアIDを検索する。
【0076】
(3)運営体制レジストリに登録されたUSBデバイスのハードウェアIDを検索するUSBデバイス検索段階(S33);
前記フィルター設置モジュール42は、レジストリアクセスAPIを介して、現在システムで使用しているかあるいは以前に設置された周辺装置の中で“USB”に対応する周辺装置のハードウェアIDを全て捜す。この際、運営体制30がウィンドウ基盤の場合には、前記レジストリアクセスAPIとしてSetUpDiGetClassDevs Win32 APIが活用できる。
【0077】
(4)前記キーボード検索段階と前記USBデバイス検索段階でそれぞれ検索されたハードウェアIDから、相互にマッチするハードウェアIDを確認するマッチングID確認段階(S34);
前記過程で検索されたキーボード関連ハードウェアIDとUSB関連ハードウェアIDを比較して、相互に同一であるハードウェアIDを捜す。このように捜したハードウェアIDは、USBキーボードに関連して運営体制のレジストリに登録された周辺装置であるので、本発明によるUSBフィルターを設置することができるハードウェアIDのレジストリに接近することができることになる。
【0078】
(5)前記マッチングID検索段階で検索された該当ハードウェアIDのデバイスレジストリにUSBフィルターを登録するフィルター登録段階(S35);
前記フィルター設置モジュール42は、前述した過程によって、本発明によるUSBフィルターが設置されるべきUSBキーボードのレジストリに接近し、該当レジストリのLower Filters項目にUSBフィルターのサービス名前をさらに登録させることで、当該USBキーボードの活用の際、本発明によるUSBフィルターが優先的に作動して保安機能をすることになる。
【0079】
一方、追加として、本発明による保安方法の実施例においては、“SetupDiCallClassInstaller”関数を通じて当該周辺装置、つまりUSBキーボードを再びロードさせて、前記USBフィルターが当該USBキーボードとともに駆動されるようにする。
【産業上の利用可能性】
【0080】
以上、前記のような本発明によれば、USBキーボードから入力されるデータを、運営体制の認識に先立ち、取って暗号化した後、他のウェブサーバーに前記データを情報流出なしに安全に伝送するようにすることで、下位段で行われる不法的なハッキングによる情報流出を遮断することができる。
【図面の簡単な説明】
【0081】
【図1】本発明による保安システムの構成を示すブロック図である。
【図2】本発明による保安システムのフィルター及びコントローラに対する構成を示すブロック図である。
【図3】本発明による保安方法の一実施例を示すフローチャートである。
【図4】本発明による保安方法のさらに他の実施例を示すフローチャートである。
【図5】本発明によるフィルター設置方法の一実施例を示すフローチャートである。

【特許請求の範囲】
【請求項1】
USBフィルター活性化段階;
USBキーボードを介して入力される入力データを前記USBフィルターで優先的に受信する入力データ受信段階;
前記入力データから使用者のキー操作で発生したキー入力情報を検出するキー入力情報検出段階;
検出されたキー入力情報を発生順に整列するキー入力情報パーシング段階;
前記パーシング段階で整列されたキー入力情報を暗号化するキー入力情報暗号化段階;
運営体制が前記入力データを認識することができないように、USBバスに残っている前記入力データを削除する入力データ削除段階;及び
暗号化された前記キー入力情報を通信用アプリケーションに伝達するキー入力情報伝達段階;
を含むことを特徴とする、USBキーボードによる入力データの保安方法。
【請求項2】
前記USBフィルター活性化段階は、
USBキーボードの初期入力データによって当該USBキーボードのレジストリ登録を確認するUSBキーボード確認段階;及び
前記USBキーボード確認段階で確認されたUSBキーボードに対応するレジストリによって該当USBフィルターを活性化するフィルター活性化段階;
を含むことを特徴とする、請求項1に記載のUSBキーボードによる入力データの保安方法。
【請求項3】
前記USBキーボード確認段階において、当該USBキーボードのハードウェアIDが登録されないと確認される場合、前記USBキーボードに対応するUSBフィルターの設置を決定するUSBフィルター設置決定段階;及び
前記新しいUSBキーボードのキー入力情報を保安するUSBフィルターを設置するフィルター設置段階;
をさらに含むことを特徴とする、請求項1又は2に記載のUSBキーボードによる入力データの保安方法。
【請求項4】
前記フィルター設置段階は、
運営体制レジストリに登録されたHIDデバイスのハードウェアIDを検索するHIDデバイス検索段階;
前記ハードウェアIDからキーボードとして分類されたハードウェアIDを検索するキーボード検索段階;
運営体制レジストリに登録されたUSBデバイスのハードウェアIDを検索するUSBデバイス検索段階;
前記キーボード検索段階と前記USBデバイス検索段階でそれぞれ検索されたハードウェアIDから、相互にマッチするハードウェアIDを確認するマッチングID確認段階;及び
前記マッチングID検索段階で検索された該当のハードウェアIDのデバイスレジストリにUSBフィルターを登録するフィルター登録段階;
を含むことを特徴とする、請求項3に記載のUSBキーボードによる入力データの保安方法。
【請求項5】
キー操作で発生した入力データの中で、キーについてのキー入力情報を検出するキー入力情報検出モジュール;
前記キー入力情報をその発生順に整列させるパーシングモジュール;
整列された前記キー入力情報を暗号化させる暗号化モジュール;及び
前記運営体制が前記入力データを認識することができないように、入力データを処理する入力データ削除モジュール;
を含むUSBフィルターを含むことを特徴とする、USBキーボードによる入力データの保安システム。
【請求項6】
複数の前記USBフィルターと運営体制の間の通信を仲介する管理モジュールを含むUSBコントローラーをさらに含むことを特徴とする、請求項5に記載のUSBキーボードによる入力データの保安システム。
【請求項7】
前記USBコントローラーは、
前記本体に連結されたUSBキーボードのハードウェアIDとこれに対応する前記USBフィルターをカウントして、新しいUSBキーボードの設置有無を確認するフィルター確認モジュール;及び
新しいUSBキーボードに対応するUSBフィルターを設置するフィルター設置モジュール;
をさらに含むことを特徴とする、請求項6に記載のUSBキーボードによる入力データの保安システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2009−517732(P2009−517732A)
【公表日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2008−542214(P2008−542214)
【出願日】平成17年11月24日(2005.11.24)
【国際出願番号】PCT/KR2005/003975
【国際公開番号】WO2007/061147
【国際公開日】平成19年5月31日(2007.5.31)
【出願人】(508151770)ソフト−キャンプ カンパニー リミティッド (2)
【Fターム(参考)】