CN101609489B - 一种计算机安全输入方法及系统 - Google Patents
一种计算机安全输入方法及系统 Download PDFInfo
- Publication number
- CN101609489B CN101609489B CN2008101151408A CN200810115140A CN101609489B CN 101609489 B CN101609489 B CN 101609489B CN 2008101151408 A CN2008101151408 A CN 2008101151408A CN 200810115140 A CN200810115140 A CN 200810115140A CN 101609489 B CN101609489 B CN 101609489B
- Authority
- CN
- China
- Prior art keywords
- application program
- protected
- operating system
- key information
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开一种计算机安全输入方法,所述方法包括以下步骤:接收按键信息加密后生成的密文信息;所述按键信息为所述受保护应用程度的控制信息,按照所述密文信息对应的解密密钥解密所述密文信息,得到所述按键信息;确定所述按键信息是否有效;在所述按键信息有效时,将所述按键信息发送至受保护应用程序。本发明提供一种计算机安全输入方法及系统,用于保证网络登录或者其他重要应用程序的安全。
Description
技术领域
本发明涉及计算机领域,特别涉及一种计算机安全输入方法及系统。
背景技术
随着网络游戏、QQ聊天软件、网上银行和网上炒股、网上购物等互联网应用的日益流行,用户在这些应用中的账户,变得越来越有经济价值。由于不仅网上银行、网上炒股、网上购物中的账号直接关系到用户在现实世界中的财产,而且网络游戏中的道具、装备,或者QQ中的Q币、QQ秀等虚拟物品,也是可以在C2C平台以及众多专业网站上进行交易的,也具有了非常高的经济价值。因此现在有越来越多的网络犯罪份子,编写及传播木马类程序,其目的就是为了窃取网民的账号信息,从而获取经济利益。
目前各银行的网银业务(包括很多第三方支付平台,例如支付宝),很多只是提供了基于IE浏览器的操作方式,并要求用户安装一个安全输入控件,以保护在浏览器输入的账号信息不被窃取。但是这种安全手段是较为低级的,很容易被木马程序破解。为了进一步增强网银安全性,不少银行开始推行基于移动介质的数字证书(一个特殊的存储用户账号认证信息的加密文件),例如工行U盾、招行优Key等。这种方式要求用户平时不能把数字证书存储在电脑本机中,而是存储在移动介质(例如U盘)中。在登录网银时,网银服务器和用户电脑之间会传送数字证书,利用基于PKI的密钥机制来验证数字证书文件的有效性,只有通过验证才允许用户登录。有了数字证书,即使用户的用户名和口令被盗,但是如果盗窃者没有用户的数字证书的话,也是无法登录网银的。另外,即使盗窃者连数字证书文件也拿到了,由于在另一台电脑上导入数字证书时,网银服务器也会问用户事先设定的一系列验证问题,只有回答正确才能导入成功,这也加大了盗窃的难度。
但数字证书的方法也并非完美。一方面移动数字证书有成本,不少用户不愿意去买。另外,如果用户的电脑上有黑客或后门类的木马程序,并且已经窃取了用户的网银账号用户名和口令,盗窃者就可以远程操纵用户电脑,运行用户的网银客户端,输入窃取来的用户名和口令,就能登录用户的网银了。这样就和用户本人操作完全无法分别,而且这些远程操纵可以做到非常隐蔽,很难被用户发觉。
由于杀毒软件或者木马查杀软件只能查杀已知的木马程序,因此对于未知木马程序就无能为力了。这样就需要用户对未知木马具有主动防范能力,才能有效保证用户网上账号的安全。
因此,如何提供一种计算机安全输入方法及系统,保证计算机输入的安全性,比如保证网络登录或者其他重要程序的安全性,是本领域技术人员亟需解决的技术问题。
发明内容
本发明的目的是提供一种计算机安全输入方法及系统,用于保证计算机输入的安全性,比如保证网络登录或者其他重要程序的安全性。
为了实现本发明的发明目的,本发明实施例一方面提供了一种计算机安全输入方法,所述方法包括以下步骤:
接收按键信息加密后生成的密文信息,所述按键信息为受保护应用程序的控制信息;
按照所述密文信息对应的解密密钥解密所述密文信息,得到所述按键信息;
确定所述按键信息是否有效;
在所述按键信息有效时,将所述按键信息发送至所述受保护应用程序;
其中,将所述按键信息发送至所述受保护应用程序的步骤之前,包括:
确定所述计算机操作系统核心程序运行时代码和操作系统核心数据区正常,该确定计算机操作系统核心程序运行时代码和操作系统核心数据区正常的步骤具体包括:
确定所述操作系统的核心程序运行时代码在内存中映像的有效性,其中确定所述操作系统核心程序运行时代码在内存中映像有效性的步骤具体为:确定操作系统核心程序的关键代码在内存中映像有效性;同时记录所述操作系统的第一核心数据区;
在所述受保护应用程序的安全输入过程启动时,恢复所述操作系统核心数据区到所述操作系统的原始状态对应的第二核心数据区;
在所述受保护应用程序的安全输入过程结束时,用所述第一核心数据区替换所述第二核心数据区。
优选地,所述接收按键信息加密后生成密文信息,具体由设置在所述受保护应用程序内部的应用安全扩展单元实现。
优选地,所述按键信息是由用户操作按键产生;
按键信息产生后,控制清除按键缓冲区中的按键信息。
优选地,将所述按键信息发送至所述受保护应用程序的步骤之前,包括:
确定所述受保护应用程序本身完整性符合预先设定的完整性签名,启动所述受保护应用程序。
优选地,确定所述受保护应用程序本身完整性符合预先设定的完整性签名的步骤之后,包括,
确定所述按键信息的键盘输入有效。
优选地,所述方法还包括,
拦截对受保护应用程序列表中的应用程序文件的修改请求,所述受保护应用程序列表中的应用程序包括所述受保护应用程序,受保护应用程序依赖的动态链接库文件和操作系统的相关驱动文件。
优选地,所述拦截对受保护应用程序列表中的应用程序文件的修改请求的步骤,具体包括:
监测到修改文件的请求;
拦截监测到的所述修改文件的请求;
判断所述请求的修改文件是否为所述受保护应用程序列表中的应用程序,如果是受保护应用程序列表中的应用程序,则拦截对所述应用程序的修改请求;否则接受修改请求。
优选地,所述拦截对所述受保护应用程序列表中的应用程序的修改请求的步骤之前,还包括:
判断所述修改请求是否为计算机操作系统更新请求,如果是则通过修改请求,更新所述受保护应用程序列表;执行对所述受保护应用程序列表中应用程序的修改请求;否则直接拦截对所述受保护应用程序列表中应用程序的修改请求。
优选地,在所述受保护应用程序的安全输入过程启动时,拦截操作系统的按键处理流程,设置应用安全扩展单元为接收按键模式;
在所述受保护应用程序的安全输入过程结束时,恢复操作系统的按键处 理流程。
优选地,确定所述操作系统核心程序的关键代码在内存中映像有效性的步骤具体为:
以预定时间间隔检查所述操作系统核心程序的关键代码在内存中映像,确定所述操作系统核心程序的关键代码具有有效性。
本发明另一方面提供一种计算机安全输入系统,所述系统包括:
安全输入单元,用于接收按键输入,读取按键信息,并清空按键缓冲区;
密码运算单元,将所述安全输入单元接收到的所述按键信息进行加密,生成密文信息;
第一发送单元,将所述密码运算单元生成的所述密文信息发送至受保护应用程序的应用安全扩展单元;
所述应用安全扩展单元,按照所述密码运算单元加密用密钥对应的解密密钥解密所述密文信息得到所述按键信息;并确认所述按键信息是否有效;
第二发送单元,在所述应用安全扩展单元确认所述按键信息有效时,将所述按键信息发送至受保护应用程序;
其中,所述系统还包括与安全输入单元相连的内存防护单元,
所述内存防护单元,用于确定所述计算机操作系统核心程序运行时代码和操作系统核心数据区正常;
所述安全输入单元在所述内存防护单元确定所述计算机操作系统核心程序运行时代码和操作系统核心数据区正常后,接收按键输入,读取按键信息,并清空按键缓冲区;
所述系统还包括与所述内存防护单元相连的记录单元,
所述内存防护单元,确定所述操作系统的核心程序运行时代码在内存中映像的有效性,其中,确定操作系统的核心程序运行时代码在内存中映像的有效性具体为确定操作系统核心程序的关键代码在内存中映像的有效性;同时通过所述记录单元记录所述操作系统第一核心数据区;
所述记录单元在所述受保护应用程序的安全输入过程启动时,恢复所述操作系统核心数据区到所述操作系统原始状态对应的第二核心数据区;
所述记录单元在所述受保护应用程序的安全输入过程结束时,用所述第一核心数据区替换所述第二核心数据区。
优选地,所述应用安全扩展单元设置在所述受保护应用程序内部,具体为符合所述受保护应用程序要求的扩展。
优选地,所述系统还包括与所述受保护应用程序相连的程序完整性扫描单元,
程序完整性扫描单元,确定所述受保护应用程序本身完整性符合预先设定的完整性签名,启动所述受保护应用程序。
优选地,所述系统还包括与安全输入单元相连的文件访问防护单元,
所述文件访问防护单元,用于拦截对受保护应用程序列表中的应用程序文件的修改请求;
所述受保护应用程序列表中的应用程序包括受保护应用程序本身,受保护应用程序依赖的动态链接库文件和操作系统相关驱动文件。
优选地,所述系统还包括与所述文件访问防护单元相连的监测单元和第一判断单元,
所述监测单元,用于监测修改文件的请求;
所述第一判断单元,用于判断所述监测单元监测到的请求修改的文件,是否为受保护应用程序列表中的应用程序;如果是受保护应用程序列表中的应用程序,则通过所述文件访问防护单元拦截对所述应用程序的修改请求;否则接受修改请求。
优选地,所述系统还包括与所述文件访问防护单元相连的第二判断单元,以及与所述第二判断单元相连的更新单元;
第二判断单元,判断所述监测单元监测到的修改文件请求是否为计算机操作系统更新请求,如果是则通过修改请求,通过所述更新单元更新所述受保护应用程序列表,执行对所述受保护应用程序列表中应用程序的修改请求;否则直接通过所述文件访问防护单元拦截对所述受保护应用程序列表中应用程序的修改请求。
优选地,所述安全输入单元,在所述受保护应用程序的安全输入过程启动时,拦截操作系统的按键处理流程,
所述安全输入单元,在所述受保护应用程序的安全输入过程启动时,为接收按键模式;
所述安全输入单元,在所述受保护应用程序的安全输入过程结束时,恢 复操作系统的按键处理流程。
优选地,所述内存防护单元,具体以预定时间间隔检查所述操作系统核心程序的关键代码在内存中映像,确定所述操作系统核心程序的关键代码具有有效性。
优选地,所述系统还包括与程序完整性扫描单元相连的,用于确定所述应用安全扩展单元和所述安全输入单元有效性的安全流程检查单元。
本发明实施例所述计算机安全输入方法,接收到的密文信息是对按键信息加密后生成的,保证了传输过程的安全性。然后,按照所述加密用密钥对应的解密密钥解密得到所述按键信息。由于密文不是直接传到受保护应用程序,而是将密文的解密后确认所述按键信息有效后,再将所述按键信息发送至所述受保护应用程序。这样就保证了密文的传输和解密过程均为安全的,并且还包括了确认所述按键信息有效性的步骤,保证了最后传输到受保护应用程序的按键信息是安全可靠的。
附图说明
图1是本发明所述计算机安全输入方法第一种实施例流程图;
图2是本发明所述计算机安全输入方法第二种实施例流程图;
图3是本发明所述确定计算机操作系统核心程序运行时代码和操作系统核心数据区正常的流程图;
图4是本发明所述拦截对受保护应用程序列表中的应用程序文件的修改请求第一实施例流程图;
图5是本发明所述拦截对受保护应用程序列表中的应用程序文件的修改请求第二实施例流程图;
图6是本发明所述计算机安全输入系统第一实施例结构图;
图7是本发明所述计算机安全输入系统第二实施例结构图。
具体实施方式
本发明实施例提供一种计算机安全输入方法,用于保证计算机输入的安全性,比如保证网络登录或者其他重要程序的安全性。
为了更加清楚地说明本发明实施例所述计算机安全输入方法及系统的工作原理和工作过程,下面结合附图具体说明。
参见图1,该图为本发明所述计算机安全输入方法第一种实施例流程图。
本发明第一种实施例所述计算机安全输入方法,包括以下步骤:
S100、接收按键信息加密后生成的密文信息,所述按键信息为受保护应用程度的控制信息。
所述接收按键信息加密后生成密文信息,具体由设置在所述受保护应用程序内部的应用安全扩展单元实现。
所述按键信息是由用户操作按键产生的。用户可以通过键盘、触摸屏等输入设备输入所述按键信息。
所述按键信息产生后,可以通过安全输入单元实现清除按键缓冲区中的按键信息,使得非法用户无法从键盘缓冲区获得相应的按键信息,从一定程度上保证了按键信息的安全性。
安全输入单元具体可以通过挂接计算机操作系统按键处理驱动,截获输入设备的键盘输入。
当用户需要进行安全输入时,通过键盘等输入设备的输入键值,即按键信息被安全输入单元读出。同时,安全输入单元控制清空按键缓冲区的内容。
所述按键信息可以通过调用密码运算单元的密钥进行加密,生成密文信息。
为了提升安全性,密码运算单元的加密过程可以使用独立的硬件,比如TPM/TCM安全芯片,安全U盘,IC卡,独立的加密卡等,此时密码运算全部在硬件内部完成。
将加密后的按键信息,即所述密文信息直接发送到应用安全扩展单元。
应用安全扩展单元可以驻留在所述受保护应用程序内部,根据受保护应用程序当前状态决定是否加载本发明实施例所述计算机安全输入方法对应的处理过程。
所述受保护应用程序是一个接收用户安全输入的应用程序,比如网络浏览器,即时聊天工具,专用登录客户端,网游客户端,邮件客户端等。
S200、按照所述密文信息对应的解密密钥解密所述密文信息,得到所述按键信息。
应用安全扩展单元对安全输入单元传入的所述密文信息,调用所述密码 运算单元按照所述加密用密钥对应的解密密钥进行解码,得到所述按键信息。
S300、确定所述按键信息是否有效?如果所述按键信息有效,则执行步骤S400,否则丢弃所述按键信息并反馈客户端。
由所述应用安全扩展单元确认所述按键信息是否有效。如果所述按键信息有效,则执行步骤S400,否则丢弃所述按键信息并反馈客户端。
S400、在所述按键信息有效时,将所述按键信息发送至所述受保护应用程序。
确定所述按键信息有效后,将所述按键信息传送到所述受保护应用程序,保证用户输入的安全性。
本发明第一实施例所述计算机安全输入方法,接收到的密文信息是对按键信息加密后生成的,保证了传输过程的安全性。然后,按照所述加密用密钥对应的解密密钥解密得到所述按键信息。由于密文信息不是直接传到受保护应用程序,而是将密文信息的解密后确认所述按键信息有效后,再将所述按键信息发送至所述受保护应用程序。这样就保证了密文信息的传输和解密过程均为安全的,并且还包括了确认所述按键信息有效性的步骤,保证了最后传输到受保护应用程序的按键信息是安全可靠的。
为了防止由于所述受保护应用程序本身出现错误或者不完整,而导致的所述受保护应用程序安全性受到威胁,因此在步骤S400在所述按键信息有效时,将所述按键信息发送至所述受保护应用程序之前,还可以包括确定所述受保护应用程序本身完整性符合预先设定的完整性签名,启动所述受保护应用程序的步骤。
参见图2,该图为本发明所述计算机安全输入方法第二种实施例流程图。
本发明所述计算机安全输入方法第二种实施例相对第一实施例,在将所述按键信息发送至所述受保护应用程序的步骤之前,包括确定所述受保护应用程序本身完整性符合预先设定的完整性签名,启动所述受保护应用程序的步骤。
本发明第二种实施例所述计算机安全输入方法,具体包括以下步骤:
S100、接收按键信息加密后生成的密文信息,所述按键信息为受保护应用程度的控制信息。
所述接收按键信息加密后生成密文信息,具体由设置在所述受保护应用 程序内部的应用安全扩展单元实现。
所述按键信息是由用户操作按键产生的。用户可以通过键盘、触摸屏等输入设备输入按键信息。
所述按键信息产生后,可以通过安全输入单元实现清除按键缓冲区中的按键信息,使得非法用户无法从键盘缓冲区获得相应的按键信息,从一定程度上保证了按键信息的安全性。
所述安全输入单元具体可以通过挂接计算机操作系统按键处理驱动,截获输入设备的键盘输入。
当用户需要进行安全输入时,通过键盘等输入设备的输入键值,即按键信息被安全输入单元读出。同时,安全输入单元控制清空按键缓冲区的按键信息。
所述按键信息可以通过调用密码运算单元的密钥进行加密,生成密文信息。
为了提升安全性,密码运算单元的加密过程可以使用独立的硬件,比如TPM/TCM安全芯片,安全U盘,IC卡,独立的加密卡等,此时密码运算全部在硬件内部完成。
将所述密文信息发送至受保护应用程序的应用安全扩展单元。
将加密后的按键信息,即所述密文信息,直接发送到应用安全扩展单元。
应用安全扩展单元可以驻留在所述受保护应用程序内部,可以根据受保护应用程序当前状态决定是否加载本发明实施例所述计算机安全输入方法对应的处理过程。
受保护应用程序是一个接收用户安全输入的应用程序,比如网络浏览器,即时聊天工具,专用登录客户端,网游客户端,邮件客户端等。
S200、按照所述密文信息对应的解密密钥解密所述密文信息,得到所述按键信息。
应用安全扩展单元对安全输入单元传入的所述密文信息,调用所述密码运算单元进行解码,得到所述按键信息。
S300、确定所述按键信息是否有效?如果所述按键信息有效,则执行步骤S310,否则丢弃所述按键信息并反馈客户端。
所述应用安全扩展单元确认所述按键信息是否有效,如果所述按键信息 有效,则执行步骤S310,否则丢弃所述按键信息并反馈客户端。
S310、确定所述受保护应用程序本身完整性符合预先设定的完整性签名,启动所述受保护应用程序。
受保护应用程序的完整性信息可作为本地数据库保存在本地硬盘上,程序完整性扫描单元可以判断所述受保护应用程序本身完整性是否符合预先设定的完整性签名。当程序完整性扫描单元确定所述受保护应用程序本身完整性符合预先设定的完整性签名,可由主保护环境应用程序启动所述受保护应用程序。
主保护环境应用程序是一个类似于文件管理器的专用程序,专用于启动受保护应用程序,并对受保护应用程序进行静态检查和进行相关的安全初始化。
操作系统底层模块负责保证受保护应用程序依赖的操作系统底层服务、核心代码和数据的运行时完整性,以及保证主保护环境应用程序和受保护应用程序的不被恶意程序非法修改。
在受保护应用程序启动之前,进行主保护环境应用和受保护应用程序的静态完整性扫描,所述应用安全扩展单元进行安全初始化。
在确定所述受保护应用程序本身完整性符合预先设定的完整性签名的步骤之后,还可以包括,确定所述应用安全扩展单元和所述按键信息的键盘安全输入有效的步骤。当所述应用安全扩展单元和所述按键信息的键盘输入有效时,才启动本发明所述计算机安全输入方法对应的处理过程,这样就可以进一步保证了本发明实施例所述计算机安全输入方法的可靠性和安全性。
S400、将所述按键信息发送至所述受保护应用程序。
确定所述按键信息有效后,将所述按键信息传送到所述受保护应用程序,保证用户输入的安全性。
由于在普通输入模式下,不需要启动本发明所述计算机安全输入方法对应的安全输入模式。因此,为了区别所述计算机安全输入模式和普通输入模式,节省计算机资源,本发明实施例所述计算机安全输入方法,可以增加安全输入过程启动过程。
所述安全输入过程启动可以通过用户选择是否启动。在所述受保护应用程序的安全输入过程启动时,可以拦截操作系统的按键处理流程,设置应用 安全扩展单元为接收按键模式。在所述受保护应用程序的安全输入过程结束时,恢复操作系统的按键处理流程。
本发明第二种实施例所述计算机安全输入方法,在将所述按键信息发送至所述受保护应用程序的步骤之前,还可以包括确定所述受保护应用程序本身完整性符合预先设定的完整性签名,启动所述受保护应用程序的步骤。这样就可以防止由于所述受保护应用程序本身出现错误或者不完整,而导致的所述受保护应用程序安全性受到威胁,保证了受保护应用程序的不被恶意程序非法修改。
所述步骤S310可以放置于将所述按键信息发送至所述受保护应用程序的步骤之前的任何一个位置,只要能够保证对所述应用程序本身完整性进行确认,才启动所述受保护应用程序即可。
为了保证计算机操作系统在本发明实施例所述计算机安全输入的过程中的安全性和可靠性,在步骤S400将所述按键信息发送至所述受保护应用程序的步骤之前,还可以包括判断所述计算机操作系统核心程序运行时代码和操作系统核心数据区是否正常的步骤。
在步骤S400将所述按键信息发送至所述受保护应用程序的步骤之前,包括确定所述计算机操作系统核心程序运行时代码和操作系统核心数据区正常的步骤。
参见图3,该图为本发明所述确定计算机操作系统核心程序运行时代码和操作系统核心数据区正常的流程图。
所述确定所述计算机操作系统核心程序运行时代码和操作系统核心数据区正常的步骤,具体包括:
S301、确定所述操作系统的核心程序运行时代码在内存中映像的有效性;同时记录所述操作系统第一核心数据区。
确定所述操作系统核心程序在内存中映像的有效性,具体通过确定所述操作系统核心程序的关键代码在内存中映像有效性实现。
确定所述操作系统核心程序的关键代码在内存中映像的有效性,可以按照预定时间间隔检查所述操作系统核心程序的关键代码在内存中映像,确定所述操作系统核心程序的关键代码具有有效性。
判断所述计算机操作系统核心程序运行时代码和操作系统核心数据区是 否正常,具体可以由内存防护单元实现。
所述内存防护单元挂接计算机操作系统底层服务,对计算机操作系统核心程序和操作系统核心数据区提供保护。
核心程序主要包括系统键盘驱动,密码运算单元的驱动和中断处理程序。
操作系统核心数据区包括系统服务描述表(SSDT),中断描述表(IDT),I/O请求分配表(IRP Request Dispatch)和导入/导出地址表(IAT/EAT)。
内存防护单元可以按照预定时间间隔,检查核心程序关键代码在内存中映像的有效性,同时记录系统核心数据区。
S302、在所述受保护应用程序的安全输入过程启动时,恢复所述操作系统核心数据区到所述操作系统原始状态对应的第二核心数据区。
S303、在所述受保护应用程序的安全输入过程结束时,用所述第一核心数据区替换所述第二核心数据区。
本发明实施例所述计算机安全输入方法,可以包括拦截对受保护应用程序列表中的应用程序文件的修改请求的步骤,从而保证受保护应用程序列表中的应用程序文件不被恶意修改。
为了提升安全性,加密过程可以使用独立的硬件,比如TPM/TCM安全芯片,安全U盘,IC卡,独立的加密卡等,此时密码运算全部在硬件内部完成。同时,受保护应用程序列表中的应用程序中的文件完整性摘要值,也可以由此密码运算单元加密后保存在密码运算单元内部或硬盘上。为了保证密码运算单元的安全,所有需要访问密码运算单元的单元都需要首先输入预设的密码运算单元访问密钥(PIN码)。
为了提升安全性,受保护应用程序列表可以由密码运算单元加密后保存在密码运算单元内部或硬盘上。在读取之前,需要使用密码运算单元进行解密,并验证完整性。
所述拦截对受保护应用程序文件的修改请求可以通过文件访问防护单元实现。
文件访问防护单元,通过挂接文件过滤驱动,阻止恶意程序对受保护应用程序列表中的应用程序依赖的动态链接库、主保护环境应用程序和受保护应用程序列表中的应用程序的挂接。其中受保护应用程序列表中的应用程序可以是浏览器,网络登录程序等需要接受用户关键输入的应用程序。
文件过滤驱动具体为Windows操作系统中的内核驱动模块,具体挂接在Windows系统上的文件处理链上。在Windows系统加载一个文件时,通过硬盘I/O读取文件,文件过滤驱动拦截受保护应用程序列表中的应用程序对文件的访问请求。
在Windows系统加载时,文件访问防护单元作为驱动加载到Windows系统上,阻止恶意程序对受保护应用程序列表中的应用程序依赖的动态链接库链接,阻止恶意程序对主保护环境应用程序和受保护应用程序列表中的应用程序的挂接。
参见图4,该图为本发明所述拦截对受保护应用程序列表中的应用程序文件的修改请求第一实施例流程图。
所述拦截对受保护应用程序文件的修改请求,可以通过以下步骤实现。
S401、监测到修改文件的请求。
S402、拦截监测到的所述修改文件的请求。
S403、判断所述请求的修改文件是否为所述受保护应用程序列表中的应用程序?如果是受保护应用程序列表中的应用程序,则执行步骤S404;否则接受修改请求。
S404、拦截对所述应用程序的修改请求。
受保护应用程序列表中的应用程序可以包括受保护应用程序本身,受保护应用程序依赖的动态链接库文件和操作系统相关驱动文件。
为了保证计算机操作系统更新的可实现性,本发明实施例所述计算机安全输入方法,在拦截对所述受保护应用程序列表中的应用程序的修改请求的步骤之前,还包括对所述修改请求进行判断的步骤。
参见图5,该图为本发明所述拦截对受保护应用程序列表中的应用程序文件的修改请求第二实施例流程图。
本发明第二实施例所述拦截对受保护应用程序列表中的应用程序文件的修改请求,包括以下步骤:
S501、判断所述修改请求是否为计算机操作系统更新请求?如果是则执行步骤S502;否则执行步骤S504。
S502、通过修改请求,更新所述受保护应用程序列表。
S503、执行对所述受保护应用程序列表中应用程序的修改请求。
S504、直接拦截对所述受保护应用程序列表中应用程序的修改请求。
本发明实施例还提供一种计算机安全输入系统,用于保证计算机输入的安全性,例如保证网络登录或者其他重要程序的安全性。
参见图6,该图为本发明所述计算机安全输入系统第一实施例结构图。
本发明第一实施例所述计算机安全输入系统,包括安全输入单元11、密码运算单元12、第一发送单元13、应用安全扩展单元14和第二发送单元15。
安全输入单元11,用于接收按键输入,读取按键信息。
密码运算单元12,将所述安全输入单元11接收到的所述按键信息进行加密,生成密文信息。
密码运算单元12具体可以是安全芯片,负责所述按键信息的加密和解密运算。安全芯片可以是使用包含专有硬件的可信计算单元。可信计算单元可以用于生成和安全存储加密和解密密钥,设定加密算法。
第一发送单元13,将所述密码运算单元12生成的所述密文信息发送至受保护应用程序的应用安全扩展单元14。
所述应用安全扩展单元14,按照所述密码运算单元12加密用密钥对应的解密密钥解密得到所述按键信息;并确认所述按键信息有效。
所述应用安全扩展单元14可以设置在预先设定的所述受保护应用程序内部。
所述应用安全扩展单元14负责根据受保护应用程序当前状态决定是否加载安全输入过程,同时对于安全输入单元11输入的密文信息,调用所述密码运算单元12解密,确认所述按键信息有效后,通过第二发送单元15将解密后的按键信息发送至所述受保护应用程序。
第二发送单元15,在所述应用安全扩展单元14确认所述按键信息有效时,将所述按键信息发送至所述受保护应用程序。
当用户需要进行安全输入时,通过键盘等输入设备的输入键值,即按键信息被安全输入单元11读出。同时,安全输入单元11控制清空按键缓冲区的内容,使得非法用户无法从键盘缓冲区获得相应的按键信息,从一定程度上保证了按键信息的安全性。
本发明第一实施例所述计算机安全输入系统,安全输入单元11在接收按键输入后读取按键信息。安全输入单元11读取按键信息后,密码运算单元12 将所述按键信息进行加密,生成密文信息,保证了传输过程的安全性。第一发送单元13将所述密文信息发送至受保护应用程序的应用安全扩展单元14,由所述应用安全扩展单元14按照密码运算单元12加密时密钥对应的解密密钥解密得到所述按键信息。由于密文信息不是直接传到受保护应用程序,而是传输到受保护应用程序的应用安全扩展单元14,而且密文信息的解密也不是应用程序完成的,而是通过所述应用安全扩展单元14按照所述加密用密钥对应的解密密钥解密得到所述按键信息。然后再通过所述应用安全扩展单元14确认所述按键信息有效后,再将所述按键信息发送至所述受保护应用程序。这样就保证了密文信息的传输和解密过程均为安全的,并且还包括了所述应用安全扩展单元14确认所述按键信息有效性的步骤,保证了最后传输到受保护应用程序的按键信息是安全可靠的。
为了防止由于所述应用程序本身出现错误或者不完整,而导致的所述应用程序安全性受到威胁,因此本发明所述计算机安全输入系统还可以包括与所述第二发送单元15相连的程序完整性扫描单元16。
所述第二发送单元15在将所述按键信息发送至所述受保护应用程序的步骤之前,还可以通过程序完整性扫描单元16确定所述受保护应用程序本身完整性符合预先设定的完整性签名,然后再启动所述受保护应用程序。
参见图7,该图为本发明所述计算机安全输入系统第二实施例结构图。
本发明所述计算机安全输入系统第二种实施例相对第一实施例,增加了与所述第二发送单元15和所述受保护应用程序相连的程序完整性扫描单元16。
程序完整性扫描单元16,确定所述受保护应用程序本身完整性符合预先设定的完整性签名,启动所述受保护应用程序。为了进一步提高所述系统的安全性,预先设定的完整性签名可以由密码运算单元加密后保存在受信的安全存储区内部或本地硬盘上。
程序完整性扫描单元16通过摘要生成算法计算受保护应用程序的签名,并与预先设定的完整性签名进行比较。当程序完整性扫描单元16确定所述受保护应用程序本身完整性符合预先设定的完整性签名,可由主保护环境应用程序启动所述受保护应用程序。
主保护环境应用程序是一个类似于文件管理器的专用程序,专用于启动 受保护应用程序,并对受保护应用程序进行静态检查和进行相关的安全初始化。
操作系统底层模块负责保证受保护应用程序依赖的操作系统底层服务、核心代码和数据的运行时完整性,以及主保护环境应用程序和受保护应用程序的不被恶意程序非法修改。
在受保护应用程序启动之前,进行主保护环境应用和受保护应用程序的静态完整性扫描,使得应用安全扩展单元进行安全初始化。
程序完整性扫描单元16可以根据预存的操作系统信息和应用程序关联性信息,对主保护环境应用程序依赖的动态链接库,系统服务和应用扩展进行完整性检查。在主保护环境应用程序本身完整性符合用户设定的完整性签名时,可由主保护环境应用程序启动受保护应用程序。为了进一步提高所述系统的安全性,预先设定的完整性签名可以由密码运算单元加密后保存在受信的安全存储区内部或本地硬盘上。
在确定所述受保护应用程序列表中应用程序本身完整性符合预先设定的完整性签名的步骤之后,还可以包括,确定所述应用安全扩展单元和安全输入单元有效的步骤。这样就可以进一步保证了本发明所述计算机安全输入方法的可靠性和安全性。
本发明所述计算机安全输入系统还可以包括与安全输入单元11相连的文件访问防护单元17,用于拦截对受保护应用程序文件的修改请求。
本发明所述计算机安全输入系统还可以包括与所述文件访问防护单元17相连的监测单元18和第一判断单元19。
所述监测单元18,用于监测修改文件的请求。
所述第一判断单元19,用于判断所述监测单元18监测到的请求修改的文件是否为受保护应用程序列表中的应用程序;如果是受保护应用程序列表中的应用程序,则通过所述文件访问防护单元17拦截对所述应用程序的修改请求;否则接受修改请求。
受保护应用程序列表中的应用程序包括受保护应用程序本身,受保护应用程序依赖的动态链接库文件和操作系统相关驱动文件。
本发明所述计算机安全输入系统还可以包括与所述文件访问防护单元17相连的第二判断单元20,以及与所述第二判断单元20相连的更新单元21。
第二判断单元20,判断所述监测单元18监测到的修改文件请求是否为计算机操作系统更新请求,如果是则通过修改请求,通过所述更新单元21更新所述受保护应用程序列表,执行对所述受保护应用程序列表中应用程序的修改请求;否则直接通过所述文件访问防护单元17拦截对所述受保护应用程序列表中应用程序的修改请求。
本发明所述计算机安全输入系统还可以包括与安全输入单元11相连的内存防护单元22。
所述内存防护单元22,用于确定所述计算机操作系统核心程序运行时代码和操作系统核心数据区正常。
所述安全输入单元11在所述内存防护单元22确定所述计算机操作系统核心程序运行时代码和操作系统核心数据区正常后,接收按键输入,读取按键信息,并清空按键缓冲区。
本发明所述计算机安全输入系统还可以包括与所述内存防护单元22相连的记录单元23。
所述内存防护单元22,确定所述操作系统的核心程序运行时代码在内存中映像的有效性;同时通过所述记录单元23记录所述操作系统第一核心数据区。
所述记录单元23在所述受保护应用程序的安全输入过程启动时,恢复所述操作系统核心数据区到所述操作系统原始状态对应的第二核心数据区。
所述记录单元23在所述受保护应用程序的安全输入过程结束时,用所述第一核心数据区替换所述第二核心数据区。
所述安全输入单元11在所述受保护应用程序的安全输入过程启动时,拦截操作系统的按键处理流程。安全输入单元11在所述受保护应用程序的安全输入过程启动时,为接收按键模式。
所述安全输入单元11在所述受保护应用程序的安全输入过程结束时,恢复操作系统的按键处理流程。
所述内存防护单元22,具体确定所述操作系统核心程序的关键代码在内存中映像有效性。所述内存防护单元22还可以按照预定时间间隔检查所述操作系统核心程序的关键代码在内存中映像,确定所述操作系统核心程序的关键代码具有有效性。
为了进一步提高本发明所述系统的安全性,本发明所述计算机安全输入系统还可以包括与程序完整性扫描单元16相连的,用于确定所述应用安全扩展单元14和所述安全输入单元有效的安全流程检查单元24。
以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (19)
1.一种计算机安全输入方法,其特征在于,所述方法包括以下步骤:
接收按键信息加密后生成的密文信息,所述按键信息为受保护应用程序的控制信息;
按照所述密文信息对应的解密密钥解密所述密文信息,得到所述按键信息;
确定所述按键信息是否有效;
在所述按键信息有效时,将所述按键信息发送至所述受保护应用程序;
其中,将所述按键信息发送至所述受保护应用程序的步骤之前,包括:
确定计算机操作系统核心程序运行时代码和操作系统核心数据区正常,该确定计算机操作系统核心程序运行时代码和操作系统核心数据区正常的步骤具体包括:
确定操作系统的核心程序运行时代码在内存中映像的有效性,其中确定所述操作系统核心程序运行时代码在内存中映像有效性的步骤具体为:确定操作系统核心程序的关键代码在内存中映像有效性;同时记录所述操作系统的第一核心数据区;
在所述受保护应用程序的安全输入过程启动时,恢复所述操作系统核心数据区到所述操作系统的原始状态对应的第二核心数据区;
在所述受保护应用程序的安全输入过程结束时,用所述第一核心数据区替换所述第二核心数据区。
2.根据权利要求1所述的安全输入方法,其特征在于,所述接收按键信息加密后生成密文信息,具体由设置在所述受保护应用程序内部的应用安全扩展单元实现。
3.根据权利要求1所述的安全输入方法,其特征在于,所述按键信息是由用户操作按键产生;
按键信息产生后,控制清除按键缓冲区中的按键信息。
4.根据权利要求1所述的安全输入方法,其特征在于,将所述按键信息发送至所述受保护应用程序的步骤之前,包括:
确定所述受保护应用程序的本身完整性符合预先设定的完整性签名,启动所述受保护应用程序。
5.根据权利要求4所述的安全输入方法,其特征在于,确定所述受保护应用程序本身完整性符合预先设定的完整性签名的步骤之后,包括,
确定所述按键信息的键盘输入有效。
6.根据权利要求1所述的安全输入方法,其特征在于,所述方法还包括,
拦截对受保护应用程序列表中的应用程序文件的修改请求,所述受保护应用程序列表中的应用程序包括所述受保护应用程序,受保护应用程序依赖的动态链接库文件和操作系统的相关驱动文件。
7.根据权利要求6所述的安全输入方法,其特征在于,所述拦截对受保护应用程序列表中的应用程序文件的修改请求的步骤,具体包括:
监测到修改文件的请求;
拦截监测到的所述修改文件的请求;
判断所述请求的修改文件是否为所述受保护应用程序列表中的应用程序,如果是受保护应用程序列表中的应用程序,则拦截对所述应用程序的修改请求;否则接受修改请求。
8.根据权利要求7所述的安全输入方法,其特征在于,所述拦截对所述受保护应用程序列表中的应用程序的修改请求的步骤之前,还包括:
判断所述修改请求是否为计算机操作系统更新请求,如果是则通过修改请求,更新所述受保护应用程序列表;执行对所述受保护应用程序列表中应用程序的修改请求;否则直接拦截对所述受保护应用程序列表中应用程序的修改请求。
9.根据权利要求1所述的安全输入方法,其特征在于,
在所述受保护应用程序的安全输入过程启动时,拦截操作系统的按键处理流程,设置应用安全扩展单元为接收按键模式;
在所述受保护应用程序的安全输入过程结束时,恢复操作系统的按键处理流程。
10.根据权利要求1所述的安全输入方法,其特征在于,确定操作系统核心程序的关键代码在内存中映像有效性的步骤具体为:
以预定时间间隔检查所述操作系统核心程序的关键代码在内存中映像,确定所述操作系统核心程序的关键代码具有有效性。
11.一种计算机安全输入系统,其特征在于,所述系统包括:
安全输入单元,用于接收按键输入,读取按键信息;
密码运算单元,将所述安全输入单元接收到的所述按键信息进行加密,生成密文信息;
第一发送单元,将所述密码运算单元生成的所述密文信息发送至受保护应用程序的应用安全扩展单元;
所述应用安全扩展单元,按照所述密码运算单元加密用密钥对应的解密密钥解密所述密文信息得到所述按键信息;并确认所述按键信息是否有效;
第二发送单元,在所述应用安全扩展单元确认所述按键信息有效时,将所述按键信息发送至受保护应用程序;
其中,所述系统还包括与安全输入单元相连的内存防护单元,
所述内存防护单元,用于确定计算机操作系统核心程序运行时代码和操作系统核心数据区正常;
所述安全输入单元在所述内存防护单元确定所述计算机操作系统核心程序运行时代码和操作系统核心数据区正常后,接收按键输入,读取按键信息,并清空按键缓冲区;
所述系统还包括与所述内存防护单元相连的记录单元,
所述内存防护单元,确定操作系统的核心程序运行时代码在内存中映像的有效性,其中,确定操作系统的核心程序运行时代码在内存中映像的有效性具体为确定操作系统核心程序的关键代码在内存中映像的有效性;同时通过所述记录单元记录操作系统第一核心数据区;
所述记录单元在所述受保护应用程序的安全输入过程启动时,恢复所述操作系统核心数据区到操作系统原始状态对应的第二核心数据区;
所述记录单元在所述受保护应用程序的安全输入过程结束时,用所述第一核心数据区替换所述第二核心数据区。
12.根据权利要求11所述的安全输入系统,其特征在于,所述应用安全扩展单元设置在所述受保护应用程序内部,具体为符合所述受保护应用程序要求的扩展。
13.根据权利要求11所述的安全输入系统,其特征在于,所述系统还包括与所述受保护应用程序相连的程序完整性扫描单元,
程序完整性扫描单元,确定受保护应用程序的本身完整性符合预先设定的完整性签名,启动所述受保护应用程序。
14.根据权利要求11所述的安全输入系统,其特征在于,所述系统还包括与安全输入单元相连的文件访问防护单元,
所述文件访问防护单元,用于拦截对受保护应用程序列表中的应用程序文件的修改请求;
所述受保护应用程序列表中的应用程序包括受保护应用程序本身,受保护应用程序依赖的动态链接库文件和操作系统相关驱动文件。
15.根据权利要求14所述的安全输入系统,其特征在于,所述系统还包括与所述文件访问防护单元相连的监测单元和第一判断单元,
所述监测单元,用于监测修改文件的请求;
所述第一判断单元,用于判断所述监测单元监测到的请求修改的文件,是否为受保护应用程序列表中的应用程序;如果是受保护应用程序列表中的应用程序,则通过所述文件访问防护单元拦截对所述应用程序的修改请求;否则接受修改请求。
16.根据权利要求15所述的安全输入系统,其特征在于,所述系统还包括与所述文件访问防护单元相连的第二判断单元,以及与所述第二判断单元相连的更新单元;
第二判断单元,判断所述监测单元监测到的修改文件请求是否为计算机操作系统更新请求,如果是则通过修改请求,通过所述更新单元更新所述受保护应用程序列表,执行对所述受保护应用程序列表中应用程序的修改请求;否则直接通过所述文件访问防护单元拦截对所述受保护应用程序列表中应用程序的修改请求。
17.根据权利要求11所述的安全输入系统,其特征在于,
所述安全输入单元,在所述受保护应用程序的安全输入过程启动时,拦截操作系统的按键处理流程,
所述安全输入单元,在所述受保护应用程序的安全输入过程启动时,为接收按键模式;
所述安全输入单元,在所述受保护应用程序的安全输入过程结束时,恢复操作系统的按键处理流程。
18.根据权利要求11所述的安全输入系统,其特征在于,
所述内存防护单元,具体以预定时间间隔检查所述操作系统核心程序的关键代码在内存中映像,确定操作系统核心程序的关键代码具有有效性。
19.根据权利要求11所述的安全输入系统,其特征在于,所述系统还包括与程序完整性扫描单元相连的,用于确定所述应用安全扩展单元和所述安全输入单元有效性的安全流程检查单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101151408A CN101609489B (zh) | 2008-06-17 | 2008-06-17 | 一种计算机安全输入方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101151408A CN101609489B (zh) | 2008-06-17 | 2008-06-17 | 一种计算机安全输入方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101609489A CN101609489A (zh) | 2009-12-23 |
CN101609489B true CN101609489B (zh) | 2011-07-27 |
Family
ID=41483242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101151408A Active CN101609489B (zh) | 2008-06-17 | 2008-06-17 | 一种计算机安全输入方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101609489B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129533A (zh) * | 2011-04-14 | 2011-07-20 | 北京思创银联科技股份有限公司 | 一种提高个人金融自助服务设备安全性的方法 |
CN102843363A (zh) * | 2012-08-09 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | 网络数据安全存储系统及方法 |
CN102930222B (zh) * | 2012-09-20 | 2015-09-30 | 无锡华御信息技术有限公司 | 反键盘记录方法及系统 |
CN104834877B (zh) * | 2015-02-10 | 2018-08-28 | 数据通信科学技术研究所 | 一种基于高保证内核的可信输入装置及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455312A (zh) * | 2002-04-30 | 2003-11-12 | 李布尔 | 加密式密码输入方法及其键盘 |
CN101136045A (zh) * | 2006-08-29 | 2008-03-05 | 联想(北京)有限公司 | 虚拟机系统及其安全输入方法 |
-
2008
- 2008-06-17 CN CN2008101151408A patent/CN101609489B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455312A (zh) * | 2002-04-30 | 2003-11-12 | 李布尔 | 加密式密码输入方法及其键盘 |
CN101136045A (zh) * | 2006-08-29 | 2008-03-05 | 联想(北京)有限公司 | 虚拟机系统及其安全输入方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101609489A (zh) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11341498B2 (en) | Method and device for end-user verification of an electronic transaction | |
EP2332089B1 (en) | Authorization of server operations | |
US10650139B2 (en) | Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers | |
CN101340281B (zh) | 针对在网络上进行安全登录输入的方法和系统 | |
CN100407174C (zh) | 数据保护设备及数据保护方法 | |
CN111404696B (zh) | 协同签名方法、安全服务中间件、相关平台及系统 | |
CN109412812B (zh) | 数据安全处理系统、方法、装置和存储介质 | |
RU2560810C2 (ru) | Способ и система защиты информации от несанкционированного использования (ее варианты) | |
WO2012021722A1 (en) | Disposable browser for commercial banking | |
CN101221641A (zh) | 一种联机交易的安全确认设备及联机交易方法 | |
CN101609489B (zh) | 一种计算机安全输入方法及系统 | |
US20110154436A1 (en) | Provider Management Methods and Systems for a Portable Device Running Android Platform | |
NO340355B1 (en) | 2-factor authentication for network connected storage device | |
CN101008927A (zh) | 信息处理装置、便携终端装置及信息处理执行控制方法 | |
CN113901507B (zh) | 一种多参与方的资源处理方法及隐私计算系统 | |
WO2019133326A1 (en) | Securing temporal digital communications | |
CN1848727A (zh) | 一种建立安全的数据通讯链路的方法 | |
CN105141623A (zh) | 电子账户的控制方法、系统及移动终端 | |
WO2013044307A1 (en) | A system and method for distributing secured data | |
KR20140134406A (ko) | 가상키보드와 2채널 입력을 이용한 해킹방지 시스템 | |
TWM322585U (en) | Account-managing device with security function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |