通过直接控制键盘控制器确保键盘输入安全方法

文档序号:6478585阅读:253来源:国知局
专利名称:通过直接控制键盘控制器确保键盘输入安全方法
技术领域
本发明涉及确保安全键盘输入信息的方法,其能够通过直接控制在PS/2键盘中的8042键盘控制器的中断,而防止透过键盘输入的信息曝露给未授权方。
背景技术
当在键盘硬件(按键事件)中按下键盘的按键,产生电信号然后传送至设置在母 板内的8042芯片组。这里,键盘的按键以电路形式全部设置在矩阵上。当按下键的时候, 通过搜索出现电流改变的行和列线而确定哪个键已经按下(参考图1)。控制8042芯片组的8042键盘控制器在双向键盘输入/输出(I/O)端口 60h和64h 中以键盘扫描码的形式记录键盘输入信息,该些输入/输出端口用于将键盘输入信息传送 至中央处理器(CPU)或用于从CPU接收硬件控制命令,以及产生指向CPU的中断(参考图 2)。双向键盘I/O端口包括端口 60h和64h。端口 60h处理实际键盘输入信息和硬件 控制命令,而端口 64h用于产生关于端口 64h的状态和命令。表格1显示出键盘I/O的功能的分类。表格1
__ 输入缓冲器(IN Buffer)输出缓冲器(OUT Buffer)
60h从“CPU至键盘 从“键盘I/O端口至
__I/O端口”传送硬件控CPU”传送键盘输入信息
64hI制命冷_ I 显示端口 60h的状态键盘扫描码包括按下键时刻产生的动作码(Make Code)和释放键时刻产生的断开 码(Break Code)。如果按下键并保持,屏幕上连续输出字符。也就是,当保持特定键时,连 续输出动作码。当释放该键时,输出一个断开码,藉以终止键重复过程。中断表示在特定过程中,临时停止过程然后引起CPU的注意,以促使CPU执行其 作业程序的方法。接收通过物理键盘输入所产生的电信号的8042键盘控制器请求从8259 中断控制器产生中断以控制8259芯片组。8259中断控制器通知CPU对应的中断已经产生 (中断请求),而为了呼叫对应中断处理功能(中断处理器),CPU读取载于内存中的中断向 量表,然后获取对应产生的中断的地址值(内存地址)。这个地址值表示当所产生中断储 存时在此地址呼叫功能(所谓“中断处理功能”或“中断处理器”)的值。当硬件装置请求 CPU处理具体运行或作业程序的时候,移动至地址所在位置,然后执行中断处理功能。如上所述,键盘输入信息从核心区传送至CPU和通过作业系统(OS)控制的应用 (用户区),并进而根据用户所需输出和处理。同时,输入信息可以包括如个人信息的需要安全的信息。这种输入信息是被黑客 锁定而用于犯罪的目的。现实中,输入信息实际已经被黑客锁定,并在没有用户授权的情况下曝露给第三者。因此,在通过键盘输入信息的过程中,紧急地需要一种保护输入信息的安 全系统。为了满足这个需求,迄今为止已经出现各种安全系统。现有技术中的键盘安全系统在用户区和核心区分别地执行不同的操作。在核心 区,现有技术中的键盘安全系统首先取出键盘输入信息并在其上执行安全处理。相反地,在 用户区,现有技术中的键盘安全系统在从核心区取出的键盘输入信息上执行安全处理,最 后最终输出结果信息。在核心区内执行现有技术中的安全方法包括改变中断功能的中断描述符表(IDT) 地址的方法,或者是在侵入者系统处理之前,使用跳码致使处理输入信息的方法。然而,由于在核心区中运行的现有技术中的安全方法为基于OS的方法,该方法的 应用必须随OS变化。除此之外,在使用相同安全系统的情况中,出现的问题是处理键盘输 入信息的优先权彼此冲突。再者,由于直接攻击键盘控制器(硬件)的入侵系统无法停止, 存在的问题是无法保证键盘输入信息的完全安全。

发明内容
因此,本发明为了解决上述问题,本发明的一目的是提供一种通过直接控制键盘 控制器确保键盘输入信息安全的方法,该方法可以不考虑用于监管计算机整体运行的OS 的类型与兼容性,在入侵系统处理之前,其能够独立地确保并处理通过键盘输入的信息,藉 以提供加强的安全性能。为了达成上述目的,本发明提供一种通过直接控制键盘的键盘控制器确保键盘输 入信息安全的方法,键盘包括用以接收经用户输入的键盘输入信息并将键盘输入信息写至 键盘I/O端口的键盘控制器、用以从键盘控制器接收中断需求并呼叫中断处理功能的中断 控制器、用以控制键盘控制器的输入信息处理模块,以及用以传送从输入信息处理模块所 送出的键盘输入信息至中央处理单元的键盘安全模块,所述方法包括状态信息检查步骤,使输入信息处理模块检查键盘控制器的状态信息;中断失活步骤,使键盘控制器的中断请求功能失活;输入信息加密步骤,将写至键盘输入/输出端口的键盘输入信息加密;传送步骤,传送加密的输入信息至键盘安全模块;以及输入信息删除步骤,删除存留在键盘控制器中的键盘输入信息。根据上述的本发明,可以将输入键盘输入信息加密然后在引起CPU注意之前通过 PS/2键盘的操作单独处理,从而具有有益效果是本发明可以在不受到监视OS的处理程序 的限制而进行应用,而且因为在处理键盘输入信息的过程中最先执行安全处理,所以可以 提供强大的安全性能。


图1为显示在键盘硬件中产生电信号的示意图;图2为显示PS/2专用键盘控制器的工作原理的示意图;图3为显示本发明中形成用以执行确保键盘输入信息安全的方法之基础的系统 配置框图4为依次显示本发明中确保键盘输入信息安全的方法的流程图;图5显示了用于8042键盘控制器的控制命令的说明书;以及图6显示了用于8042键盘控制器的状态信息的说明书。
具体实施例方式在此之后,将参考附图详细地说明本发明。图3为显示本发明中形成用以执行确保键盘输入信息安全的方法的基础的系统配置框图,而图4为依次显示本发明中确保键盘输入信息安全的方法的流程图。参考这些 图式,在下文中进行描述。本发明通过直接控制键盘控制器确保键盘输入信息安全的方法被配置以保护通 过PS/2键盘输入的输入信息,并独立于OS的影响而执行安全作业。因此,本发明确保键盘 输入信息安全的方法,在CPU认定通过PS/2键盘输入的输入信息并执行操作之前,将输入 信息传送至本发明键盘安全模块,从而致使对于输入信息达到强大的安全确保。根据这个目的,本发明中的安全系统包括用以控制8042键盘控制器的中断请求 功能并检查和加密键盘输入信息的输入信息处理模块,以及通过将加密过的输入信息传送 至用户区而执行中间处理的键盘安全模块。本发明通过下面的步骤执行。Sll 键盘控制器的状态信息检查步骤,本发明的安全系统包括用以控制检查输入信息之8259中断控制器的输入信息处 理模块,该输入信息也就是通过8042键盘控制器接收的电信号,然后,产生中断并检查和 加密输入信息,且通过将加密输入信息传送至用户区以执行中间处理的键盘安全模块。输入信息处理模块通过轮询端口 64h (以规律间隔检查)连续检查状态信息,并在 键盘输入的情况中,通过读取端口 60h而取出对应的键盘输入信息。检查步骤S 11仅仅用于改变对应至对应之键盘输入信息的部分,也就是,所需部 分,而不需要改变现存的状态信息。状态信息可以通过发出控制命令至端口 64h而取出。下文中将参考图5 (用于8042键盘控制器的控制命令的说明书)而进行描述。当 将控制命令0x20 (读取命令字节)写至端口 64h的时候,当前状态信息进入端口 60h,而且 输入信息处理模块读取端口 60h,然后取出8042键盘控制器的当前状态。图6显示了用于8042键盘控制器的状态信息的说明书。输入信息处理模块可以 在端口 60h识别状态信息,如图6所示。S12 键盘控制器的中断失活步骤,如上所述,当用户操作键盘的时候,通过键盘而产生电信号,并且8042键盘控制 器(8042芯片组)接收电信号。同时,8042键盘控制器的电信号以键盘扫描码的形式传送至键盘输入/输出(I/ 0)端口,并且8259中断控制器在键盘I/O端口中产生中断,从而处理键盘扫描码,因而可以 引起CPU对其的注意。因此,本发明确保安全的方法失活中断请求功能,从而防止8042键盘控制器请求 8259中断控制器以产生中断。
通过使用控制命令改变状态信息完成8042键盘控制器的中断请求功能的失活, 如图5所示(用于8042键盘控制器的状态信息的说明书)。从图6中可以看出,由于键盘控制器的中断信息为INT,如下所述,当INT的值设为 0的时候将键盘中断关闭,从而失活8042键盘控制器的中断请求。①将控制命令0x60 (写命令字节)写至端口 64h。②将INT设为0然后写至端口 60h。S13 输入信息步骤用户通过操作PS/2键盘输入特定信息。也就是,用户通过操作键盘硬件产生电信 号,而对应电信号的键盘扫描码型输入信息通过如上所述的8042键盘控制器输入至键盘 I/O端口。同时,由于8042键盘控制器的中断功能的失活,不产生中断,从而CPU不会对其 引起注意。S14 确定输入信息是否为安全确保目标的安全确保目标确定步骤(S15)确定对应的输入信息是否为安全确保目标。用户通过键盘操作输入的信息种类和数量各种各样并且大量。因此,安全目标的 输入信息从上述输入信息中识别出。举一个简单的例子,将能够输入文本如“a”、“b”以及“c”的键设为安全确保目标, 并且将如“Ctrl”和“Alt”键的键设为非安全确保目标的情况中,当按下作为安全确保目标 的“a”键,将输入加密然后传送至键盘安全模块。相反,当按下作为非安全确保目标的键 "Ctrl,,的时候,输入没有加密,但进行原始键盘输入信息处理程序。由于确定考虑中的信息是否为安全确保目标的标准可以修改并以各种方式实践, 本发明确保安全的方法并不局限于特定标准,而所述标准可以修改并在不脱离所附权利要 求的范围内以各种方式实践。S16 输入信息加密步骤,如果,当结果确定输入信息为安全确保目标,则对应的输入信息确定为安全确保 目标,输入信息处理模块加密输入信息。由于可以使用各种加密方法,加密输入信息的方法并不局限于特定加密方法。S17 传送加密的信息至键盘安全模块的传送步骤,使用功能装置输入输出控制(DeviceioControl)将加密的输入信息传送至键盘 安全模块。S18 键盘控制器的输入信息删除步骤,当加密的键盘输入信息被传送至键盘安全模块的时候,键盘信息处理模块删除存 在于8042键盘控制器中的键盘输入信息。通过将控制命令0xd2(写键盘缓冲器)写至端 口 64h,并将0x00写至端口 60h而执行输入信息的删除。S19 键盘控制器的中断启动步骤,如果在步骤S14(确定输入信息是否为安全目标的步骤)键盘输入信息被确定不 是安全确保目标,则再一次启动中断请求功能,从而使对应的输入信息的处理以原始键盘 输入信息处理程序进行。为了启动中断请求功能,输入信息处理模块将控制命令0x60(写命令字节)写至 端口 64h,并将INT的值以INT设为1写至端口 60h。
6
S20 信息输入步骤为了致使原始键盘输入信息程序正常地执行,输入信息处理模块将键盘输入信息 再一次输入至键盘控制器。输入信息处理模块将控制命令0X0d2 (写键盘缓冲器)写至端口 64h,并将键盘输 入信息写至端口 64h,从而再一次输入键盘输入信息。将如上所述输入且不是安全确保目标的键盘输入信息传送至键盘I/O端口,然后 通过端口驱动器传送至CPU,从而CPU由于启动的中断而对其引起注意。S21 确定是否连续应用安全确保的步骤决定是否基于本发明确保安全的系统连续应用安全确保。如果确定连续应用安全 确保,重复键盘控制器的状态信息检查步骤S11和键盘控制器的中断失活步骤S12。相反 地,如果确定不连续应用安全确保,保持中断启动状态。如上所述,通过将控制命令0x00 (写命令字节)写至端口 64h,并将INT的值以INT 设为0写至端口 60h而达成中断请求功能的失活。再者,如上所述,通过将控制命令0x60 (写命令字节)写至端口 64h,并将INT的值 以INT设为1写至端口 60h而达成中断请求功能的启动。
权利要求
一种通过直接控制键盘的键盘控制器确保键盘输入信息安全的方法,键盘包括用以接收经用户输入的键盘输入信息并用以将键盘输入信息写至键盘输入/输出(I/O)端口的一键盘控制器、用以从键盘控制器接收一中断需求并呼叫一中断处理功能的一中断控制器、用以控制键盘控制器的一输入信息处理模块、以及用以传送从输入信息处理模块发出的键盘输入信息至一中央处理单元的一键盘安全模块,所述方法包含一状态信息检查步骤,致使输入信息处理模块检查键盘控制器的状态信息;一中断失活步骤,使键盘控制器的中断请求功能失活;一输入信息加密步骤,将写至键盘输入/输出端口的键盘输入信息加密;一传送步骤,将加密的输入信息传送至键盘安全模块;以及一输入信息删除步骤,删除存留在键盘控制器中的键盘输入信息。
2.如权利要求1所述的方法,进一步包含一安全确保目标确定步骤,在输入信息加密步骤之前,通过输入信息处理模块确定写 至键盘I/O端口的键盘输入信息是否为安全确保目标,并且,如果键盘输入信息确定为安 全确保目标,则进行输入信息加密步骤。
3.如权利要求2所述的方法,进一步包含一中断启动步骤,如果键盘输入信息在安全确保目标确定步骤中确定不是安全确保目 标,通过输入信息处理模块执行设定,从而键盘控制器可以请求中断;并且一信息输入步骤,用以将写入键盘I/O端口中的键盘输入信息再一次输入至键盘控制器。
4.如权利要求1至3中任意一项所述的方法,其中输入信息删除步骤系以输入信息处 理模块将一控制命令0xd2 (写键盘缓冲器)写至端口 64h以及将OxOO写至端口 60h的方 式执行。
5.如权利要求1至3中任意一项所述的方法,其中状态信息检查步骤系以输入信息处理模块将一控制命令0x20 (读命令字节)写至键盘 I/O端口之端口 64h的方式通过将电流状态信息输入至键盘I/O端口的端口 60h,并以输入 信息处理模块读取端口 60h的方式通过取出键盘控制器的当前状态信息而执行;以及中断失活步骤系通过输入信息处理模块,将一控制命令0x60 (写命令字节)写至端口 64h并将INT的值以INT设为0写至端口 60h而执行。
6.如权利要求3所述的方法,其中中断启动步骤通过输入信息处理模块系将控制命令0x60 (写命令字节)写至端口 64h 以及并将INT的值以INT设为1写至端口 60h而执行;以及信息输入步骤系通过将控制命令0xd2 (写键盘缓冲器)写至端口 64h,并将键盘输入信 息写至端口 60h而执行。
全文摘要
本发明揭露了一种通过直接控制键盘的键盘控制器确保键盘输入信息安全的方法。键盘包括键盘控制器、中断控制器、输入信息处理模块以及键盘安全模块。所述方法包含状态信息检查步骤,使输入信息处理模块检查键盘控制器的状态信息;中断失活步骤,使键盘控制器的中断请求功能失活;输入信息加密步骤,将写至键盘输入/输出端口的键盘输入信息加密;传送步骤,传送加密的输入信息至键盘安全模块;以及输入信息删除步骤,删除存留在键盘控制器中的键盘输入信息。
文档编号G06F21/04GK101816005SQ200880109880
公开日2010年8月25日 申请日期2008年10月2日 优先权日2007年10月2日
发明者姜弘锡, 黄星震 申请人:软件营地株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1