(57)【要約】本発明は、キーボードのキーボードコントローラの直接制御によるキーボード入力情報保安方法を提供する。前記キーボードは、キーボードコントローラ、インタラプトコントローラ、入力情報処理モジュール、およびキーボード保安モジュールを含む。本発明の方法は、前記入力情報処理モジュールがキーボードコントローラの状態情報を確認する状態情報確認段階と、前記キーボードコントローラのインタラプト発生要請機能を停止するインタラプト停止段階と、前記キーボード入出力ポートに書き込まれたキーボード入力情報を暗号化する入力情報暗号化段階と、暗号化された入力情報をキーボード保安モジュールへ伝達する伝達段階と、前記キーボードコントローラに残っているキーボード入力情報を削除する入力情報削除段階とを含んでなる。【選択図】なし
2010541093.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーが入力したキーボード入力情報を受信し、これをキーボード入出力ポートに書き込むキーボードコントローラと、前記キーボードコントローラのインタラプト発生要請を受け取ってインタラプト処理関数を呼び出すインタラプトコントローラと、前記キーボードコントローラを制御する入力情報処理モジュールと、前記入力情報処理モジュールから伝送されたキーボード入力情報を中央処理装置へ伝達するキーボード保安モジュールとを含むキーボード装置において、
前記入力情報処理モジュールが前記キーボードコントローラの状態情報を確認する状態情報確認段階と、
前記キーボードコントローラのインタラプト発生要請機能を停止するインタラプト停止段階と、
前記キーボード入出力ポートに書き込まれたキーボード入力情報を暗号化する入力情報暗号化段階と、
暗号化された入力情報を前記キーボード保安モジュールへ伝達する伝達段階と、
前記キーボードコントローラに残っているキーボード入力情報を削除する入力情報削除段階と、を含むことを特徴とする、キーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項２】
前記入力情報暗号化段階の以前に、前記入力情報処理モジュールを通して前記キーボード入出力ポートに書き込まれたキーボード入力情報が保安対象なのか否かを決定し、保安対象として決定されると、続いて前記入力情報暗号化段階を行う段階を含む、請求項１に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項３】
前記キーボード入力情報が保安対象ではないと決定されると、前記入力情報処理モジュールを通して、前記キーボードコントローラがインタラプトを要請し得るように設定するインタラプト活性段階と、
前記キーボード入出力ポートに書き込まれたキーボード入力情報を前記キーボードコントローラに再入力する情報入力段階とをさらに含むことを特徴とする、請求項２に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項４】
前記入力情報削除段階は、前記入力情報処理モジュールが、前記ポート６４ｈに制御命令０×ｄ２（Ｗｒｉｔｅ ｋｅｙｂｏａｒｄ ｂｕｆｆｅｒ）を書き込み、ポート６０ｈに０×００を書き込むように行われることを特徴とする、請求項１〜３のいずれか１項に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項５】
前記状態情報確認段階は、前記入力情報処理モジュールが前記キーボード入出力ポートのポート６４ｈに制御命令０×２０（Ｒｅａｄ Ｃｏｍｍａｎｄ Ｂｙｔｅ）を書き込むように、前記キーボード入出力ポートのポート６０ｈに現在の状態情報を入力し、ポート６０ｈを読み取って現在のキーボードコントローラの状態情報を持ってくることにより行われ、
前記インタラプト停止段階は、前記入力情報処理モジュールを通して、前記ポート６４ｈに制御命令０×６０（Ｗｒｉｔｅ Ｃｏｍｍａｎｄ Ｂｙｔｅ）を書き込み、前記ポート６０ｈにＩＮＴを０にして書き込むことにより行われることを特徴とする、請求項１〜３のいずれか１項に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項６】
前記インタラプト活性化段階は、前記入力情報処理モジュールを通して前記ポート６４ｈに制御命令０×６０（Ｗｒｉｔｅ Ｃｏｍｍａｎｄ Ｂｙｔｅ）を書き込み、前記ポート６０ｈにＩＮＴを１にして書き込むことにより行われ、
前記入力情報入力段階は、前記ポート６４ｈに制御命令０×ｄ２（Ｗｒｉｔｅ ｋｅｙｂｏａｒｄ ｂｕｆｆｅｒ）を書き込み、ポート６０ｈにキーボード入力情報を書き込むことにより行われることを特徴とする、請求項３に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＳ／２方式のキーボードにおいて８０４２キーボードコントローラのインタラプトを直接コントロールしてキーボード入力情報の無断流出を防ぐキーボード入力情報保安方法に関する。
【背景技術】
【０００２】
キーボードハードウェアにおいてキーボードボタンを押すと(Key Press Event)、電気信号が発生し、メインボードに設置された８０４２チップセットへ伝達される。この際、キーボードハードウェアのキーはいずれも回路形状のマトリクス上にあるため、キーが押されたときに電流変化が生ずる横軸および縦軸のラインを調べることにより、どのキーが押されたかを確認することができる（図１参照）。
【０００３】
８０４２チップセットを制御する８０４２キーボードコントローラは、中央処理装置（ＣＰＵ）へキーボード入力情報を伝達し、或いは中央処理装置からハードウェア制御命令を受け取るために使用する両方向のキーボード入出力ポート６０ｈおよび６４ｈにキーボードスキャンコート(Keyboard Scan Code)の形態でキーボード入力情報を書き込み、中央処理装置にインタラプトを発生させる（図２参照）。
【０００４】
両方向のキーボード入出力ポートは６０ｈと６４ｈから構成されている。ポート６０ｈは実際のキーボード入力情報およびハードウェア制御命令を処理し、ポート６４はポート６０ｈに対する状態および命令を下す用途として使用する。
【０００５】
表１はキーボード入出力ポートの機能を分類して示す。
【０００６】
【表１】
2010541093.tif 000003
【０００７】
キーボードスキャンコードは、キーを押す瞬間に発生するメークコード(Make Code)、およびキーから手を離した瞬間に発生するブレークコード(Break Code)から構成される。もしキーを押し続けていると、画面に連続して文字が出力されるが、これは、一定のキーが押されているときにはメークコードを連続的に出力し、キーから手を離す瞬間には１つのブレークコードを出力することにより、キー反復過程を終える。 
インタラプトとは、あるプロセスを行う途中で、そのことをしばらく停止し、中央処理装置の業務処理のために中央処理装置の注意を呼び起こさせる方法を意味する。物理的なキーボード入力により発生した電気信号の伝達を受けた８０４２キーボードコントローラは、８２５９チップセットを制御する８２５９インタラプトコントローラにインタラプト発生を要請する。８２５９インタラプトコントローラは、中央処理装置に当該インタラプトが発生したことを知らせ(Interrupt Request)、中央処理装置は、当該インタラプト処理関数を呼び出すために、メモリにロードされているインタラプトベクターテーブルを読み取り、発生したインタラプトに該当するアドレス値を得る。このアドレス値は、インタラプトが発生するときに呼び出される関数（一名「インタラプト処理関数」または「インタラプトハンドラー」）が格納されたアドレス値を示すものであって、ハードウェア装置が中央処理装置へある演算または仕事を要求するとき、このアドレスの位置へ移動してインタラプト処理関数を行う。
【０００８】
以上述べたように、キーボードの入力情報は、カーネル領域でＯＳによって制御される中央処理装置およびアプリケーション（ユーザー領域）へ伝達されてユーザーの意図に応じて出力および処理される。
【０００９】
ところが、前記入力情報の中には、例えば個人情報などのように秘密が保障されるべき情報が含まれ得る。このような入力情報は、犯罪に悪用する目的でハッキングの対象となっている。実際にも、前記入力情報はハッキングの標的となってユーザーの許可なしに無断で流出している。したがって、キーボードを介した情報の入力過程のうち、入力情報を保護するための保安システムが至急要求される状況であった。
【００１０】
このような要求に応えて、従来では多様な方式の保安システムが提供された。
【００１１】
従来のキーボード保安システムは、ユーザー領域とカーネル領域を区分して動作するが、カーネル領域ではキーボード入力情報を優先的に持ってきて保安処理し、ユーザー領域ではカーネル領域から持ってきたキーボード入力情報を保安処理しながら最終的に出力する。
【００１２】
カーネル領域における従来の保安方法には、インタラプト関数のＩＤＴテーブルアドレスを変更し、或いはジャンプコードを用いて侵入システムより優先的に入力情報の処理が行われるようにする保安方法などがあった。
【００１３】
ところが、カーネル領域で動作する従来の保安方法は、ＯＳを基盤とした方法なので、ＯＳ毎に適用方法が異なる。さらに、同じ保安方法を採用した場合にはキーボード入力情報の処理に対する優先権が互いに衝突するという問題があった。また、キーボードコントローラ（ハードウェア）を直接攻撃する侵入システムを防ぐこともできないので、キーボード入力情報の完全な保安が担保できないという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
そこで、本発明は、上述した問題点を解決するためになされたもので、その目的は、一般なコンピュータの動作を総括するＯＳの形式と連動性を問わず、キーボードを介して入力される情報を独立に保安して侵入システムより先ず処理し得るようにし、これにより強力になった保安性能を有するキーボードコントローラの直接制御によるキーボード入力情報保安方法を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明は、ユーザーが入力したキーボード入力情報を受信し、これをキーボード入出力ポートに書き込むキーボードコントローラと、キーボードコントローラのインタラプト発生要請を受け取ってインタラプト処理関数を呼び出すインタラプトコントローラと、前記キーボードコントローラを制御する入力情報処理モジュールと、入力情報処理モジュールから伝送されたキーボード入力情報を中央処理装置へ伝達するキーボード保安モジュールとを含むキーボード装置において、前記入力情報処理モジュールがキーボードコントローラの状態情報を確認する状態情報確認段階と、前記キーボードコントローラのインタラプト発生要請機能を停止するインタラプト停止段階と、前記キーボード入出力ポートに書き込まれたキーボード入力情報を暗号化する入力情報暗号化段階と、暗号化された入力情報をキーボード保安モジュールへ伝達する伝達段階と、前記キーボードコントローラに残っているキーボード入力情報を削除する入力情報削除段階とを含む、キーボードコントローラの直接制御によるキーボード入力情報保安方法を提供する。
【発明の効果】
【００１６】
上述した本発明によれば、ＰＳ／２キーボード操作によって、入力されたキーボード入力情報を、中央処理装置で注目する前に暗号化して別途処理することができるので、ＯＳの処理過程に従わなければならないという制限なしで適用することができ、キーボード入力情報を処理する過程で最初に保安作業が行われるので、強力な保安性能を有するという効果がある。
【図面の簡単な説明】
【００１７】
【図１】キーボードハードウェアの電気信号発生過程を概略的に示す図である。
【図２】ＰＳ／２専用キーボードコントローラの動作原理を概略的に示す図である。
【図３】本発明に係るキーボード入力情報保安方法の動作基盤を成すシステムの構成を示すブロック図である。
【図４】本発明に係るキーボード入力情報保安方法を順次示すフローチャートである。
【図５】８０４２キーボードコントローラの制御命令に対する説明書である。
【図６】８０４２キーボードコントローラの状態情報に対する説明書である。
【発明を実施するための形態】
【００１８】
以下、本発明を添付図面に基づいて詳細に説明する。
図３は本発明に係るキーボード入力情報保安方法の動作基盤を成すシステムの構成を示すブロック図、図４は本発明に係るキーボード入力情報保安方法を順次示すフローチャートである。これらの図を参照して、以下で説明をする。
本発明に係るキーボードコントローラの直接制御によるキーボード入力情報保安方法は、ＰＳ／２キーボードを介して入力された入力情報を保護し、ＯＳに影響されることなく独立に保安作業を行うことができるようになっている。したがって、本発明に係るキーボード入力情報保安方法は、ＰＳ／２キーボードを介して入力された入力情報を、中央処理装置が認識して動作する前に、本発明に係るキーボード保安モジュールへ伝送することにより、入力情報の堅固な保安を達成し得るようにする。
このために、本発明に係る保安システムは、８０４２キーボードコントローラのインタラプト要請機能を制御し、キーボード入力情報を確認して暗号化する入力情報処理モジュールと、暗号化された入力情報をユーザー領域へ伝達しながら処理されるように仲介するキーボード保安モジュールとを含む。
本発明は、次の段階によって行われる。
Ｓ１１：キーボードコントローラの状態情報確認段階
本発明に係る保安システムは、８０４２キーボードコントローラが受信した電気信号としての入力情報を確認してインタラプトを発生させる８２５９インタラプトコントローラを制御し、前記入力情報を確認して暗号化する入力情報処理モジュールと、暗号化された入力情報をユーザー領域へ伝達しながら処理されるように仲介するキーボード保安モジュールとを含む。
前記入力情報処理モジュールは、ポート６４ｈをポーリング（一定の周期で確認）してその状態情報を持続的に確認しながら、キーボード入力が発生した場合、ポート６０ｈを読み取って当該キーボード入力情報を持ってくる。
前記確認段階（Ｓ１１）は、既存の状態情報を変更せず、所望の部分、すなわち当該キーボード入力情報に該当する部分のみを変更するためである。
状態情報は、ポート６４ｈに制御命令を与えることにより持ってくることができる。
図５（８０４２キーボードコントローラの制御命令に対する説明書）を参照して説明すると、ポート６４ｈに制御命令０×２０（Ｒｅａｄ Ｃｏｍｍａｎｄ Ｂｙｔｅ）を書き込むと、ポート６０ｈに現在の状態情報が入り、前記入力情報処理モジュールはポート６０ｈを読み出して現在の８０４２キーボードコントローラの状態情報を持ってくる。
図６は８０４２キーボードコントローラの状態情報に対する説明書であって、入力情報処理モジュールはポート６０ｈで図６の状態情報を確認することができる。
Ｓ１２：キーボードコントローラのインタラプト停止段階
前述したように、ユーザーがキーボードを操作すると、キーボードから電気信号が発生し、この電気信号は８０４２キーボードコントローラ（８０４２チップセット）が受信する。
一方、前記８０４２キーボードコントローラの電気信号は、キーボードスキャンコード形態でキーボード入出力ポートに伝達され、８２５９インタラプトコントローラは、キーボード入出力ポートにキーボードスキャンコードの処理のためのインタラプトを発生させて中央処理装置がこれを注目するようにする。
したがって、本発明に係る保安方法は、８０４２キーボードコントローラが８２５９インタラプトコントローラにインタラプト発生を要請しないように、インタラプト発生要請機能を停止させる。
８０４２キーボードコントローラのインタラプト要請機能を停止させることは、制御命令を用いて図５（８０４２キーボードコントローラの状態情報に対する説明書）のような状態情報を変更することにより行われる。
図６から分かるように、キーボードコントローラのインタラプト情報は、ＩＮＴなので、ＩＮＴの値を次のように０にすると、キーボードインタラプトがオフになって８０４２キーボードコントローラのインタラプト要請機能が停止する。
１．ポート６４ｈに制御命令０×６０（Ｗｒｉｔｅ Ｃｏｍｍａｎｄ Ｂｙｔｅ）を書き込む。
２．ポート６０ｈにＩＮＴを０にして書き込む。
Ｓ１３：入力情報の入力段階
ユーザーはＰＳ／２キーボードを操作して特定の情報を入力する。すなわち、ユーザーはキーボードハードウェア操作によって電気信号を発生させ、電気信号に対応するキーボードスキャンコード形式の入力情報は上述したように８０４２キーボードコントローラを介してキーボード入出力ポートに入力される。一方、８０４２キーボードコントローラのインタラプト停止によりインタラプトが発生しないため、中央処理装置が注目しない。
Ｓ１４：入力情報が保安対象なのか否かの確認段階（Ｓ１５）
当該入力情報が保安対象なのか否かを確認する。
ユーザーがキーボードを操作して入力する情報は、その種類が多様であり、その数も非常に多い。したがって、こうして入力される入力情報のうち、保安の対象となる入力情報を区別しなければならない。
簡単に例を挙げると、「ａ」、「ｂ」、「ｃ」などのテキストを入力することが可能なボタンは保安対象であり、「Ｃｔｒｌ」、「Ａｌｔ」などの特殊ボタンは非保安対象として設定しておけば、保安対象の「ａ」ボタンを入力したときはこれを暗号化してキーボード保安モジュールへ伝送するが、非保安対象の「Ｃｔｒｌ」ボタンを入力したときは暗号化せず元来のキーボード入力情報処理過程を従う。
保安対象か否かに対する判断基準は多様な変形実施が可能なので、本発明に係る保安方法は、特定の判断基準に限定されず、添付された請求の範囲の範疇から逸脱することなく多様に変形実施できる。
Ｓ１６：入力情報の暗号化段階
前記保安対象の確認結果、当該入力情報が保安対象として確認されると、前記入力情報処理モジュールは入力情報を暗号化する。
暗号化方法は、非常に多様な方式が適用できるので、特定の暗号化方式に限定されない。
Ｓ１７： 暗号化された入力情報のキーボード保安モジュールへの伝達段階
暗号化された入力情報は、ＤｅｖｉｃｅｉｏＣｏｎｔｒｏｌを用いてキーボード保安モジュールへ伝達される。
Ｓ１８：キーボードコントローラの入力情報削除段階
前記入力情報処理モジュールは、暗号化されたキーボード入力情報がキーボード保安モジュールへ伝送されると、８０４２キーボードコントローラにあるキーボード入力情報を削除する。入力情報の削除は、ポート６４ｈに制御命令０×ｄ２（Ｗｒｉｔｅ ｋｅｙｂｏａｒｄ ｂｕｆｆｅｒ）を書き込み、ポート６０ｈに０×００を書き込むことにより行われる。
Ｓ１９：キーボードコントローラのインタラプト活性化段階
Ｓ１４（前記入力情報が保安対象なのか否かの確認段階）で当該キーボード入力情報が保安対象ではないと確認されると、当該入力情報の処理が元来のキーボード入力情報処理過程を従うように、停止していたインタラプト要請機能をさらに活性化する。
インタラプト要請機能を活性化するために、入力情報処理モジュールはポート６４ｈに制御命令０×６０（Ｗｒｉｔｅ Ｃｏｍｍａｎｄ Ｂｙｔｅ）を書き込み、ポート６０ｈにＩＮＴを１にして書き込む。
Ｓ２０：情報入力段階
前記入力情報処理モジュールは、元来のキーボード入力情報処理過程が正常的に行われるように、キーボードコントローラにキーボード入力情報をさらに入力する。
前記入力情報処理モジュールは、ポート６４ｈに制御命令０×ｄ２（Ｗｒｉｔｅ ｋｅｙｂｏａｒｄ ｂｕｆｆｅｒ）を書き込み、ポート６０ｈにキーボード入力情報を書き込むことにより、当該キーボード入力情報を再入力する。
こうして入力された非保安対象としてのキーボード入力情報は、キーボード入出力ポートへ伝達されてポートドライバーを介して中央処理装置へ伝達され、前記中央処理装置は、活性化されたインタラプトによってこれを注目することになる。
Ｓ２１：保安維持確認段階
本発明に係る保安システムによる保安を行い続けるか否かを確認し、保安維持を持続する場合には、前記キーボードコントローラの状態情報確認段階（Ｓ１１）およびキーボードコントローラのインタラプト停止段階（Ｓ１２）を繰返し行い、保安維持を中断する場合には、インタラプトの活性化状態を維持する。
インタラプト要請機能を停止することは、前述したように、ポート６４ｈに制御命令０×００（Ｗｒｉｔｅ Ｃｏｍｍａｎｄ Ｂｙｔｅ）を書き込み、ポート６０ｈにＩＮＴを０にして書き込むことにより行われる。
また、インタラプト要請機能を活性化することは、前述したように、ポート６４ｈに制御命令０×６０（Ｗｒｉｔｅ Ｃｏｍｍａｎｄ Ｂｙｔｅ）を書き込み、ポート６０ｈにＩＮＴを１にして書き込むことにより行われる。
【図１】
2010541093.tif 000004
【図２】
2010541093.tif 000005
【図３】
2010541093.tif 000006
【図４】
2010541093.tif 000007
【図５】
2010541093.tif 000008
【図６】
2010541093.tif 000009
【国際調査報告】
2010541093.tif 000010
2010541093.tif 000011