[发明专利]基于Windows操作系统下的一种安全输入方法有效
申请号: | 200810112658.6 | 申请日: | 2008-05-26 |
公开(公告)号: | CN101593256A | 公开(公告)日: | 2009-12-02 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22;G06F9/44;G06F9/46 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100083北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 windows 操作系统 一种 安全 输入 方法 | ||
技术领域
本发明属于信息安全领域,特别涉及基于Windows操作系统下的一种安全输入方法。
背景技术
模式对话框是Windows系统定义的一种特殊的“窗口类”,通俗的讲就是,如果模式对话框不结束,即模式对话框弹出时便会中止主程序的执行,直到该模式对话框返回才能继续执行主程序,具体就是DoModal函数(VC中DoModal函数的作用是用来显示模式对话框的,即用它来弹出一个模式对话框)不返回的话,DoModal函数的下一句程序就无法运行,一般需要输入参数时要用这种方法。
随着网络的发展,身份认证、网上银行、VPN等诸多涉及领域都需要调用模式对话框,由用户或智能密钥装置等途径向该模式对话框中输入一些重要的或敏感的参数来实现,比如密码、财务数据、口令等等。但是,由于客户端一般都是用户个人计算机,安全级别一般很低,非常容易被木马、钩子病毒等攻击,所以如果客户端计算机被木马钩子病毒(包括键盘钩子病毒)等远程控制,便很容易在弹出的模式对话框中尤其是标准模式对话框中,通过枚举窗口钩取由用户或智能密钥装置等途径在该对话框中输入的重要/敏感信息,给合法用户的正常交易带来极大的安全隐患。
如果希望全面最大可能地自定义控件,包括自定义控件界面以及控件行为等,则需要创建一个自绘控件。自绘控件顾名思义,需要自定义控件的图形化表示形式,也就是自定义控件界面。创建自绘控件的好处在于能够完全地控制界面的每一部分。使用自绘控件实现的自绘模式对话框相对标准模式对话框而言,最大的优点是可以防止多种类型的钩子程序通过枚举窗口将输入的重要/敏感信息钩取。
桌面是一组图形界面、目录窗口、菜单和钩子的集合,只有处于激活状态的桌面才能够显示,并且与用户进行交互。在Windows操作系统中,可以另外启动一个桌面,在新启动的桌面中可以有效的屏蔽掉大部分黑客或木马钩子病毒的远程攻击,但是在新启动的桌面中需要利用一个新的线程才能调用模式对话框,因为MFC窗口类是不能实现跨线程调用DoModal函数的,这样虽然屏蔽了大部分的黑客或木马钩子病毒的远程攻击,但是却存在在新启动桌面的模式对话框中输入的信息被保存在该桌面的数据结构中,不能在原桌面中使用的问题;而DialogBox函数虽然可以跨线程调用,但是由于DialogBox函数只能定义自己的消息映射,不能定义类的实例,即不能使用类的成员变量和消息映射,也就是说只能使用标准模式对话框,而不能使用非标准(非缺省)的MFC控件,尤其是自绘控件。
发明内容
为了解决上述在同一桌面中模式对话框中输入的内容易被黑客或木马钩子病毒钩获,且在不同桌面中不能实现跨线程显示模式对话框及跨线程使用模式对话框自绘控件的问题,本发明提供了基于Windows操作系统下的一种安全输入方法,通过存储区共享的方式来实现跨线程显示模式对话框,尤其是实现对自绘控件等非标准(非缺省)的MFC控件的使用,进一步提高输入的安全性。
基于Windows操作系统下的一种安全输入方法,其特征是包括如下步骤:
一系统变量设置:在系统桌面即第一桌面当前运行的线程或进程创建第一共享存储区,在所述第一共享存储区内定义用于显示模式对话框的一个或多个参数,设置所述参数的初始值;定义模式对话框的消息映射函数及与模式对话框的控件对应的类、在所述第一共享存储区中定义所述类的实例;定义所述类的初始化方法和自定义消息映射、并在模式对话框的自绘控件对应的类中定义绘制函数;
一桌面切换:桌面当前运行的线程或进程创建第二线程,所述第二线程创建另一桌面即第二桌面和第二共享存储区,并在所述第二共享存储区中定义一个或多个数据变量,设置所述数据变量的初始值,所述第二线程设置自身工作在第二桌面中,并将程序运行环境从第一桌面切换到第二桌面;
一显示模式对话框及实现自绘控件:第二线程利用DialogBox函数显示模式对话框;并调用所述消息映射函数利用从所述第一共享存储区中读取所述参数的初始值和所述类的实例通过所述初始化方法对所述模式对话框的控件进行初始化,调用所述绘制函数实现自绘控件的绘制;
一第二线程接收通过所述模式对话框输入的数据后,更新所述第二共享存储区中的数据变量的值为接收到的数据;
一第二线程关闭第二桌面,将当前运行环境切换回第一桌面,结束自身运行,第一桌面当前运行的线程或进程获取所述第二共享存储区中更新后的数据变量。
所述第二线程接收通过所述模式对话框输入的数据具体为:所述第二线程接收利用所述绘制函数实现的绘制控件在所述模式对话框中绘制输入的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810112658.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种送货密码的刷新删除装置和工作方法
- 下一篇:纳米材料多通道激光防伪技术