説明

キーボードコントローラの直接制御によるキーボード入力情報保安方法

本発明は、キーボードのキーボードコントローラの直接制御によるキーボード入力情報保安方法を提供する。前記キーボードは、キーボードコントローラ、インタラプトコントローラ、入力情報処理モジュール、およびキーボード保安モジュールを含む。本発明の方法は、前記入力情報処理モジュールがキーボードコントローラの状態情報を確認する状態情報確認段階と、前記キーボードコントローラのインタラプト発生要請機能を停止するインタラプト停止段階と、前記キーボード入出力ポートに書き込まれたキーボード入力情報を暗号化する入力情報暗号化段階と、暗号化された入力情報をキーボード保安モジュールへ伝達する伝達段階と、前記キーボードコントローラに残っているキーボード入力情報を削除する入力情報削除段階とを含んでなる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PS/2方式のキーボードにおいて8042キーボードコントローラのインタラプトを直接コントロールしてキーボード入力情報の無断流出を防ぐキーボード入力情報保安方法に関する。
【背景技術】
【0002】
キーボードハードウェアにおいてキーボードボタンを押すと(Key Press Event)、電気信号が発生し、メインボードに設置された8042チップセットへ伝達される。この際、キーボードハードウェアのキーはいずれも回路形状のマトリクス上にあるため、キーが押されたときに電流変化が生ずる横軸および縦軸のラインを調べることにより、どのキーが押されたかを確認することができる(図1参照)。
【0003】
8042チップセットを制御する8042キーボードコントローラは、中央処理装置(CPU)へキーボード入力情報を伝達し、或いは中央処理装置からハードウェア制御命令を受け取るために使用する両方向のキーボード入出力ポート60hおよび64hにキーボードスキャンコート(Keyboard Scan Code)の形態でキーボード入力情報を書き込み、中央処理装置にインタラプトを発生させる(図2参照)。
【0004】
両方向のキーボード入出力ポートは60hと64hから構成されている。ポート60hは実際のキーボード入力情報およびハードウェア制御命令を処理し、ポート64はポート60hに対する状態および命令を下す用途として使用する。
【0005】
表1はキーボード入出力ポートの機能を分類して示す。
【0006】
【表1】

【0007】
キーボードスキャンコードは、キーを押す瞬間に発生するメークコード(Make Code)、およびキーから手を離した瞬間に発生するブレークコード(Break Code)から構成される。もしキーを押し続けていると、画面に連続して文字が出力されるが、これは、一定のキーが押されているときにはメークコードを連続的に出力し、キーから手を離す瞬間には1つのブレークコードを出力することにより、キー反復過程を終える。
インタラプトとは、あるプロセスを行う途中で、そのことをしばらく停止し、中央処理装置の業務処理のために中央処理装置の注意を呼び起こさせる方法を意味する。物理的なキーボード入力により発生した電気信号の伝達を受けた8042キーボードコントローラは、8259チップセットを制御する8259インタラプトコントローラにインタラプト発生を要請する。8259インタラプトコントローラは、中央処理装置に当該インタラプトが発生したことを知らせ(Interrupt Request)、中央処理装置は、当該インタラプト処理関数を呼び出すために、メモリにロードされているインタラプトベクターテーブルを読み取り、発生したインタラプトに該当するアドレス値を得る。このアドレス値は、インタラプトが発生するときに呼び出される関数(一名「インタラプト処理関数」または「インタラプトハンドラー」)が格納されたアドレス値を示すものであって、ハードウェア装置が中央処理装置へある演算または仕事を要求するとき、このアドレスの位置へ移動してインタラプト処理関数を行う。
【0008】
以上述べたように、キーボードの入力情報は、カーネル領域でOSによって制御される中央処理装置およびアプリケーション(ユーザー領域)へ伝達されてユーザーの意図に応じて出力および処理される。
【0009】
ところが、前記入力情報の中には、例えば個人情報などのように秘密が保障されるべき情報が含まれ得る。このような入力情報は、犯罪に悪用する目的でハッキングの対象となっている。実際にも、前記入力情報はハッキングの標的となってユーザーの許可なしに無断で流出している。したがって、キーボードを介した情報の入力過程のうち、入力情報を保護するための保安システムが至急要求される状況であった。
【0010】
このような要求に応えて、従来では多様な方式の保安システムが提供された。
【0011】
従来のキーボード保安システムは、ユーザー領域とカーネル領域を区分して動作するが、カーネル領域ではキーボード入力情報を優先的に持ってきて保安処理し、ユーザー領域ではカーネル領域から持ってきたキーボード入力情報を保安処理しながら最終的に出力する。
【0012】
カーネル領域における従来の保安方法には、インタラプト関数のIDTテーブルアドレスを変更し、或いはジャンプコードを用いて侵入システムより優先的に入力情報の処理が行われるようにする保安方法などがあった。
【0013】
ところが、カーネル領域で動作する従来の保安方法は、OSを基盤とした方法なので、OS毎に適用方法が異なる。さらに、同じ保安方法を採用した場合にはキーボード入力情報の処理に対する優先権が互いに衝突するという問題があった。また、キーボードコントローラ(ハードウェア)を直接攻撃する侵入システムを防ぐこともできないので、キーボード入力情報の完全な保安が担保できないという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【0014】
そこで、本発明は、上述した問題点を解決するためになされたもので、その目的は、一般なコンピュータの動作を総括するOSの形式と連動性を問わず、キーボードを介して入力される情報を独立に保安して侵入システムより先ず処理し得るようにし、これにより強力になった保安性能を有するキーボードコントローラの直接制御によるキーボード入力情報保安方法を提供することにある。
【課題を解決するための手段】
【0015】
上記目的を達成するために、本発明は、ユーザーが入力したキーボード入力情報を受信し、これをキーボード入出力ポートに書き込むキーボードコントローラと、キーボードコントローラのインタラプト発生要請を受け取ってインタラプト処理関数を呼び出すインタラプトコントローラと、前記キーボードコントローラを制御する入力情報処理モジュールと、入力情報処理モジュールから伝送されたキーボード入力情報を中央処理装置へ伝達するキーボード保安モジュールとを含むキーボード装置において、前記入力情報処理モジュールがキーボードコントローラの状態情報を確認する状態情報確認段階と、前記キーボードコントローラのインタラプト発生要請機能を停止するインタラプト停止段階と、前記キーボード入出力ポートに書き込まれたキーボード入力情報を暗号化する入力情報暗号化段階と、暗号化された入力情報をキーボード保安モジュールへ伝達する伝達段階と、前記キーボードコントローラに残っているキーボード入力情報を削除する入力情報削除段階とを含む、キーボードコントローラの直接制御によるキーボード入力情報保安方法を提供する。
【発明の効果】
【0016】
上述した本発明によれば、PS/2キーボード操作によって、入力されたキーボード入力情報を、中央処理装置で注目する前に暗号化して別途処理することができるので、OSの処理過程に従わなければならないという制限なしで適用することができ、キーボード入力情報を処理する過程で最初に保安作業が行われるので、強力な保安性能を有するという効果がある。
【図面の簡単な説明】
【0017】
【図1】キーボードハードウェアの電気信号発生過程を概略的に示す図である。
【図2】PS/2専用キーボードコントローラの動作原理を概略的に示す図である。
【図3】本発明に係るキーボード入力情報保安方法の動作基盤を成すシステムの構成を示すブロック図である。
【図4】本発明に係るキーボード入力情報保安方法を順次示すフローチャートである。
【図5】8042キーボードコントローラの制御命令に対する説明書である。
【図6】8042キーボードコントローラの状態情報に対する説明書である。
【発明を実施するための形態】
【0018】
以下、本発明を添付図面に基づいて詳細に説明する。
図3は本発明に係るキーボード入力情報保安方法の動作基盤を成すシステムの構成を示すブロック図、図4は本発明に係るキーボード入力情報保安方法を順次示すフローチャートである。これらの図を参照して、以下で説明をする。
本発明に係るキーボードコントローラの直接制御によるキーボード入力情報保安方法は、PS/2キーボードを介して入力された入力情報を保護し、OSに影響されることなく独立に保安作業を行うことができるようになっている。したがって、本発明に係るキーボード入力情報保安方法は、PS/2キーボードを介して入力された入力情報を、中央処理装置が認識して動作する前に、本発明に係るキーボード保安モジュールへ伝送することにより、入力情報の堅固な保安を達成し得るようにする。
このために、本発明に係る保安システムは、8042キーボードコントローラのインタラプト要請機能を制御し、キーボード入力情報を確認して暗号化する入力情報処理モジュールと、暗号化された入力情報をユーザー領域へ伝達しながら処理されるように仲介するキーボード保安モジュールとを含む。
本発明は、次の段階によって行われる。
S11:キーボードコントローラの状態情報確認段階
本発明に係る保安システムは、8042キーボードコントローラが受信した電気信号としての入力情報を確認してインタラプトを発生させる8259インタラプトコントローラを制御し、前記入力情報を確認して暗号化する入力情報処理モジュールと、暗号化された入力情報をユーザー領域へ伝達しながら処理されるように仲介するキーボード保安モジュールとを含む。
前記入力情報処理モジュールは、ポート64hをポーリング(一定の周期で確認)してその状態情報を持続的に確認しながら、キーボード入力が発生した場合、ポート60hを読み取って当該キーボード入力情報を持ってくる。
前記確認段階(S11)は、既存の状態情報を変更せず、所望の部分、すなわち当該キーボード入力情報に該当する部分のみを変更するためである。
状態情報は、ポート64hに制御命令を与えることにより持ってくることができる。
図5(8042キーボードコントローラの制御命令に対する説明書)を参照して説明すると、ポート64hに制御命令0×20(Read Command Byte)を書き込むと、ポート60hに現在の状態情報が入り、前記入力情報処理モジュールはポート60hを読み出して現在の8042キーボードコントローラの状態情報を持ってくる。
図6は8042キーボードコントローラの状態情報に対する説明書であって、入力情報処理モジュールはポート60hで図6の状態情報を確認することができる。
S12:キーボードコントローラのインタラプト停止段階
前述したように、ユーザーがキーボードを操作すると、キーボードから電気信号が発生し、この電気信号は8042キーボードコントローラ(8042チップセット)が受信する。
一方、前記8042キーボードコントローラの電気信号は、キーボードスキャンコード形態でキーボード入出力ポートに伝達され、8259インタラプトコントローラは、キーボード入出力ポートにキーボードスキャンコードの処理のためのインタラプトを発生させて中央処理装置がこれを注目するようにする。
したがって、本発明に係る保安方法は、8042キーボードコントローラが8259インタラプトコントローラにインタラプト発生を要請しないように、インタラプト発生要請機能を停止させる。
8042キーボードコントローラのインタラプト要請機能を停止させることは、制御命令を用いて図5(8042キーボードコントローラの状態情報に対する説明書)のような状態情報を変更することにより行われる。
図6から分かるように、キーボードコントローラのインタラプト情報は、INTなので、INTの値を次のように0にすると、キーボードインタラプトがオフになって8042キーボードコントローラのインタラプト要請機能が停止する。
1.ポート64hに制御命令0×60(Write Command Byte)を書き込む。
2.ポート60hにINTを0にして書き込む。
S13:入力情報の入力段階
ユーザーはPS/2キーボードを操作して特定の情報を入力する。すなわち、ユーザーはキーボードハードウェア操作によって電気信号を発生させ、電気信号に対応するキーボードスキャンコード形式の入力情報は上述したように8042キーボードコントローラを介してキーボード入出力ポートに入力される。一方、8042キーボードコントローラのインタラプト停止によりインタラプトが発生しないため、中央処理装置が注目しない。
S14:入力情報が保安対象なのか否かの確認段階(S15)
当該入力情報が保安対象なのか否かを確認する。
ユーザーがキーボードを操作して入力する情報は、その種類が多様であり、その数も非常に多い。したがって、こうして入力される入力情報のうち、保安の対象となる入力情報を区別しなければならない。
簡単に例を挙げると、「a」、「b」、「c」などのテキストを入力することが可能なボタンは保安対象であり、「Ctrl」、「Alt」などの特殊ボタンは非保安対象として設定しておけば、保安対象の「a」ボタンを入力したときはこれを暗号化してキーボード保安モジュールへ伝送するが、非保安対象の「Ctrl」ボタンを入力したときは暗号化せず元来のキーボード入力情報処理過程を従う。
保安対象か否かに対する判断基準は多様な変形実施が可能なので、本発明に係る保安方法は、特定の判断基準に限定されず、添付された請求の範囲の範疇から逸脱することなく多様に変形実施できる。
S16:入力情報の暗号化段階
前記保安対象の確認結果、当該入力情報が保安対象として確認されると、前記入力情報処理モジュールは入力情報を暗号化する。
暗号化方法は、非常に多様な方式が適用できるので、特定の暗号化方式に限定されない。
S17: 暗号化された入力情報のキーボード保安モジュールへの伝達段階
暗号化された入力情報は、DeviceioControlを用いてキーボード保安モジュールへ伝達される。
S18:キーボードコントローラの入力情報削除段階
前記入力情報処理モジュールは、暗号化されたキーボード入力情報がキーボード保安モジュールへ伝送されると、8042キーボードコントローラにあるキーボード入力情報を削除する。入力情報の削除は、ポート64hに制御命令0×d2(Write keyboard buffer)を書き込み、ポート60hに0×00を書き込むことにより行われる。
S19:キーボードコントローラのインタラプト活性化段階
S14(前記入力情報が保安対象なのか否かの確認段階)で当該キーボード入力情報が保安対象ではないと確認されると、当該入力情報の処理が元来のキーボード入力情報処理過程を従うように、停止していたインタラプト要請機能をさらに活性化する。
インタラプト要請機能を活性化するために、入力情報処理モジュールはポート64hに制御命令0×60(Write Command Byte)を書き込み、ポート60hにINTを1にして書き込む。
S20:情報入力段階
前記入力情報処理モジュールは、元来のキーボード入力情報処理過程が正常的に行われるように、キーボードコントローラにキーボード入力情報をさらに入力する。
前記入力情報処理モジュールは、ポート64hに制御命令0×d2(Write keyboard buffer)を書き込み、ポート60hにキーボード入力情報を書き込むことにより、当該キーボード入力情報を再入力する。
こうして入力された非保安対象としてのキーボード入力情報は、キーボード入出力ポートへ伝達されてポートドライバーを介して中央処理装置へ伝達され、前記中央処理装置は、活性化されたインタラプトによってこれを注目することになる。
S21:保安維持確認段階
本発明に係る保安システムによる保安を行い続けるか否かを確認し、保安維持を持続する場合には、前記キーボードコントローラの状態情報確認段階(S11)およびキーボードコントローラのインタラプト停止段階(S12)を繰返し行い、保安維持を中断する場合には、インタラプトの活性化状態を維持する。
インタラプト要請機能を停止することは、前述したように、ポート64hに制御命令0×00(Write Command Byte)を書き込み、ポート60hにINTを0にして書き込むことにより行われる。
また、インタラプト要請機能を活性化することは、前述したように、ポート64hに制御命令0×60(Write Command Byte)を書き込み、ポート60hにINTを1にして書き込むことにより行われる。

【特許請求の範囲】
【請求項1】
ユーザーが入力したキーボード入力情報を受信し、これをキーボード入出力ポートに書き込むキーボードコントローラと、前記キーボードコントローラのインタラプト発生要請を受け取ってインタラプト処理関数を呼び出すインタラプトコントローラと、前記キーボードコントローラを制御する入力情報処理モジュールと、前記入力情報処理モジュールから伝送されたキーボード入力情報を中央処理装置へ伝達するキーボード保安モジュールとを含むキーボード装置において、
前記入力情報処理モジュールが前記キーボードコントローラの状態情報を確認する状態情報確認段階と、
前記キーボードコントローラのインタラプト発生要請機能を停止するインタラプト停止段階と、
前記キーボード入出力ポートに書き込まれたキーボード入力情報を暗号化する入力情報暗号化段階と、
暗号化された入力情報を前記キーボード保安モジュールへ伝達する伝達段階と、
前記キーボードコントローラに残っているキーボード入力情報を削除する入力情報削除段階と、を含むことを特徴とする、キーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項2】
前記入力情報暗号化段階の以前に、前記入力情報処理モジュールを通して前記キーボード入出力ポートに書き込まれたキーボード入力情報が保安対象なのか否かを決定し、保安対象として決定されると、続いて前記入力情報暗号化段階を行う段階を含む、請求項1に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項3】
前記キーボード入力情報が保安対象ではないと決定されると、前記入力情報処理モジュールを通して、前記キーボードコントローラがインタラプトを要請し得るように設定するインタラプト活性段階と、
前記キーボード入出力ポートに書き込まれたキーボード入力情報を前記キーボードコントローラに再入力する情報入力段階とをさらに含むことを特徴とする、請求項2に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項4】
前記入力情報削除段階は、前記入力情報処理モジュールが、前記ポート64hに制御命令0×d2(Write keyboard buffer)を書き込み、ポート60hに0×00を書き込むように行われることを特徴とする、請求項1〜3のいずれか1項に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項5】
前記状態情報確認段階は、前記入力情報処理モジュールが前記キーボード入出力ポートのポート64hに制御命令0×20(Read Command Byte)を書き込むように、前記キーボード入出力ポートのポート60hに現在の状態情報を入力し、ポート60hを読み取って現在のキーボードコントローラの状態情報を持ってくることにより行われ、
前記インタラプト停止段階は、前記入力情報処理モジュールを通して、前記ポート64hに制御命令0×60(Write Command Byte)を書き込み、前記ポート60hにINTを0にして書き込むことにより行われることを特徴とする、請求項1〜3のいずれか1項に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。
【請求項6】
前記インタラプト活性化段階は、前記入力情報処理モジュールを通して前記ポート64hに制御命令0×60(Write Command Byte)を書き込み、前記ポート60hにINTを1にして書き込むことにより行われ、
前記入力情報入力段階は、前記ポート64hに制御命令0×d2(Write keyboard buffer)を書き込み、ポート60hにキーボード入力情報を書き込むことにより行われることを特徴とする、請求項3に記載のキーボードコントローラの直接制御によるキーボード入力情報保安方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2010−541093(P2010−541093A)
【公表日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願番号】特願2010−527887(P2010−527887)
【出願日】平成20年10月2日(2008.10.2)
【国際出願番号】PCT/KR2008/005809
【国際公開番号】WO2009/045059
【国際公開日】平成21年4月9日(2009.4.9)
【出願人】(510086822)ソフトキャンプ カンパニー,リミテッド (2)
【Fターム(参考)】