CN101593256B - 基于Windows操作系统下的一种安全输入方法 - Google Patents

基于Windows操作系统下的一种安全输入方法 Download PDF

Info

Publication number
CN101593256B
CN101593256B CN 200810112658 CN200810112658A CN101593256B CN 101593256 B CN101593256 B CN 101593256B CN 200810112658 CN200810112658 CN 200810112658 CN 200810112658 A CN200810112658 A CN 200810112658A CN 101593256 B CN101593256 B CN 101593256B
Authority
CN
China
Prior art keywords
desktop
thread
shared memory
data
function
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.)
Expired - Fee Related
Application number
CN 200810112658
Other languages
English (en)
Other versions
CN101593256A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Beijing Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Feitian Technologies Co Ltd filed Critical Beijing Feitian Technologies Co Ltd
Priority to CN 200810112658 priority Critical patent/CN101593256B/zh
Publication of CN101593256A publication Critical patent/CN101593256A/zh
Application granted granted Critical
Publication of CN101593256B publication Critical patent/CN101593256B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

一种提高输入安全性的Windows系统下的安全输入方法,其特征是包括:系统变量设置;桌面切换;显示模式对话框及实现自绘控件;数据输入及被声明为全局变量的数据更新;返回。通过存储区的共享,不但可以有效避免在同一桌面中模式对话框中输入的参数易被黑客或木马钩子病毒(包括键盘钩子病毒等)钩取的危险,大大提高了安全性,同时又解决了在不同桌面中不能实现跨线程使用和显示模式对话框的问题及跨线程使用模式对话框的自绘控件的问题,可以有效屏蔽掉自动寻找当前活动桌面、钩取窗口输入内容的高级钩子病毒,进一步提高了输入安全性的问题。

Description

基于Windows操作系统下的一种安全输入方法
技术领域
本发明属于信息安全领域,特别涉及基于Windows操作系统下的一种安全输入方法。
背景技术
模式对话框是Windows系统定义的一种特殊的“窗口类”,通俗的讲就是,如果模式对话框不结束,即模式对话框弹出时便会中止主程序的执行,直到该模式对话框返回才能继续执行主程序,具体就是DoModal函数(VC中DoModal函数的作用是用来显示模式对话框的,即用它来弹出一个模式对话框)不返回的话,DoModal函数的下一句程序就无法运行,一般需要输入参数时要用这种方法。
随着网络的发展,身份认证、网上银行、VPN等诸多涉及领域都需要调用模式对话框,由用户或智能密钥装置等途径向该模式对话框中输入一些重要的或敏感的参数来实现,比如密码、财务数据、口令等等。但是,由于客户端一般都是用户个人计算机,安全级别一般很低,非常容易被木马、钩子病毒等攻击,所以如果客户端计算机被木马钩子病毒(包括键盘钩子病毒)等远程控制,便很容易在弹出的模式对话框中尤其是标准模式对话框中,通过枚举窗口钩取由用户或智能密钥装置等途径在该对话框中输入的重要/敏感信息,给合法用户的正常交易带来极大的安全隐患。
如果希望全面最大可能地自定义控件,包括自定义控件界面以及控件行为等,则需要创建一个自绘控件。自绘控件顾名思义,需要自定义控件的图形化表示形式,也就是自定义控件界面。创建自绘控件的好处在于能够完全地控制界面的每一部分。使用自绘控件实现的自绘模式对话框相对标准模式对话框而言,最大的优点是可以防止多种类型的钩子程序通过枚举窗口将输入的重要/敏感信息钩取。
桌面是一组图形界面、目录窗口、菜单和钩子的集合,只有处于激活状态的桌面才能够显示,并且与用户进行交互。在Windows操作系统中,可以另外启动一个桌面,在新启动的桌面中可以有效的屏蔽掉大部分黑客或木马钩子病毒的远程攻击,但是在新启动的桌面中需要利用一个新的线程才能调用模式对话框,因为MFC窗口类是不能实现跨线程调用DoModal函数的,这样虽然屏蔽了大部分的黑客或木马钩子病毒的远程攻击,但是却存在在新启动桌面的模式对话框中输入的信息被保存在该桌面的数据结构中,不能在原桌面中使用的问题;而DialogBox函数虽然可以跨线程调用,但是由于DialogBox函数只能定义自己的消息映射,不能定义类的实例,即不能使用类的成员变量和消息映射,也就是说只能使用标准模式对话框,而不能使用非标准(非缺省)的MFC控件,尤其是自绘控件。
发明内容
为了解决上述在同一桌面中模式对话框中输入的内容易被黑客或木马钩子病毒钩获,且在不同桌面中不能实现跨线程显示模式对话框及跨线程使用模式对话框自绘控件的问题,本发明提供了基于Windows操作系统下的一种安全输入方法,通过存储区共享的方式来实现跨线程显示模式对话框,尤其是实现对自绘控件等非标准(非缺省)的MFC控件的使用,进一步提高输入的安全性。
基于Windows操作系统下的一种安全输入方法,其特征是包括如下步骤:
一系统变量设置:在系统桌面即第一桌面当前运行的线程或进程创建第一共享存储区,在所述第一共享存储区内定义用于显示模式对话框的一个或多个参数,设置所述参数的初始值;定义模式对话框的消息映射函数及与模式对话框的控件对应的类、在所述第一共享存储区中定义所述类的实例;定义所述类的初始化方法和自定义消息映射、并在模式对话框的自绘控件对应的类中定义绘制函数;
一桌面切换:桌面当前运行的线程或进程创建第二线程,所述第二线程创建另一桌面即第二桌面和第二共享存储区,并在所述第二共享存储区中定义一个或多个数据变量,设置所述数据变量的初始值,所述第二线程设置自身工作在第二桌面中,并将程序运行环境从第一桌面切换到第二桌面;
一显示模式对话框及实现自绘控件:第二线程利用DialogBox函数显示模式对话框;并调用所述消息映射函数利用从所述第一共享存储区中读取所述参数的初始值和所述类的实例通过所述初始化方法对所述模式对话框的控件进行初始化,调用所述绘制函数实现自绘控件的绘制;
一第二线程接收通过所述模式对话框输入的数据后,更新所述第二共享存储区中的数据变量的值为接收到的数据;
一第二线程关闭第二桌面,将当前运行环境切换回第一桌面,结束自身运行,第一桌面当前运行的线程或进程获取所述第二共享存储区中更新后的数据变量。
所述第二线程接收通过所述模式对话框输入的数据具体为:所述第二线程接收利用所述绘制函数实现的绘制控件在所述模式对话框中绘制输入的数据。
定义所述类的初始化方法包括下列步骤:
将类与控件窗口进行关联;
用所述自定义消息映射代替控件的缺省消息映射。
利用SetProp函数和GetProp函数将类与控件窗口进行关联。
调用SetWindowLong函数,实现用所述自定义消息映射代替控件的缺省消息映射。
所述第一共享存储区与所述第二共享存储区可以共用一个共享存储区。
所述第一共享存储区、第二共享存储区可以通过共享内存、共享文件、共享注册表、共享先入先出队列、共享通信管道或共享系统剪切板的方法实现。
更新所述数据变量的值为接收到的数据的方法具体为:在所述第二共享存储区中改写并存储数据变量为接收到的数据。
更新所述数据变量的值为接收到的数据的方法具体为:实现一个统一的更新函数,在DialogBox函数返回时调用所述统一的更新函数在所述第二共享存储区中改写并存储数据变量为接收到的数据。
本发明的有益效果是:本发明提供的基于Windows操作系统下的一种安全输入方法,通过存储区的共享,不但可以有效避免在同一桌面中模式对话框中输入的参数易被黑客或木马钩子病毒(包括键盘钩子病毒等)钩取的危险,大大的提高了安全性;同时又解决了在不同桌面中不能实现跨线程使用和显示模式对话框的问题,更重要的是解决了跨线程使用模式对话框的自绘控件的问题,可以有效屏蔽掉可以自动寻找当前活动桌面,钩取窗口输入内容的高级钩子病毒,进一步解决了安全输入的问题。
附图说明
图1为本发明实施例1提供的跨线程显示模式对话框方法的流程图;
图2为本发明实施例2提供的安全输入的方法在智能密钥装置中一种优选应用流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和实施例对本发明实施方式做进一步地详细描述。
实施例1:
参见图1,为本发明实施例提供的基于Windows操作系统下的一种安全输入方法,包括:
步骤101:系统变量设置,主要包括如下内容:在系统桌面即第一桌面当前运行的线程或进程创建第一共享存储区,在该第一共享存储区内定义用于显示模式对话框的一个或多个参数,设置上述参数的初始值;定义模式对话框的消息映射函数及与模式对话框的控件对应的类、并在该第一共享存储区中定义上述类的实例;定义类的初始化方法和自定义消息映射、并在模式对话框的自绘控件对应的类中定义绘制函数;
其中定义上述类的初始化方法包括:
1)将类与控件窗口关联起来;
2)用类的自定义消息映射代替控件的缺省消息映射。
优选的,利用SetProp函数和GetProp函数将类与控件窗口关联起来。
优选的,利用SetWindowLong函数用类的自定义消息映射代替控件的缺省消息映射。
优选的,第一共享存储区可以用共享内存、文件、注册表、先入先出队列(FIFO队列)、通信管道或共享系统剪切板等实现。
步骤102:桌面切换,主要包括如下内容:第一桌面当前运行的线程或进程创建第二线程,第二线程创建另一桌面即第二桌面和第二共享存储区,在第二共享存储区中定义一个或多个数据变量,设置该数据变量的初始值,第二线程设置自身工作在第二桌面中,并将程序运行环境从第一桌面切换到第二桌面;
其中第一桌面当前运行的线程或进程创建第二线程的方法优选的可以采用:
UINT hUIThread=_beginthreadex(NULL,0,LoginUIFunc,&arg,0,&dwThreadID);
实现,也可以采用其他类似的方法实现。
第二线程创建第二桌面,设置自身工作在第二桌面中,优选的可以采用
hdesk=CreateDesktop(sDeskName,NULL,NULL,0,MAXIMUM_ALLOWED,NULL);
SetThreadDesktop(hdesk);
实现;
实际应用中,可以对第一桌面进行截屏,将获得的图片设为第二桌面的壁纸,使得用户察觉不到桌面的切换。进一步地,对图片进行加灰之类的处理再设为壁纸,就可以获得与Windows VISTA安全虚拟桌面类似的效果等等。
第二共享存储区可以用共享内存、文件、注册表、先入先出队列(FIFO队列)、通信管道或共享系统剪切板等实现。
第二线程将程序运行环境从第一桌面切换到第二桌面,优选的,可以采用
SwitchDesktop(hdesk);
实现,当然也可以采用其他类似的方法实现。
步骤103:显示模式对话框及实现自绘控件,主要包括如下内容:第二线程利用DialogBox函数显示模式对话框;并调用消息映射函数利用从第一共享存储区中读取参数的初始值和上述类的实例通过初始化方法对其控件进行初始化,调用绘制函数实现自绘控件的绘制;
其中绘制函数为用于提供对模式对话框进行自绘的操作方法,比如提供画圈的方法、画按钮的方法、画对话框的方法等等,举个网络交易的例子具体说明,在网络交易中会提醒输入帐号、密码或交易金额等,此时可以在第二桌面中采用自绘控件绘制一个软键盘,当软键盘在对应的位置收到点击操作事件时,便会在对应的位置采集到一个位置信息,当全部输入完毕后,在第二桌面中实际上是获取了一系列的位置信息,按照预先约定的映射关系映射成相应的数据即可,相对于在第二桌面中直接使用标准的模式对话框而言,可以有效屏蔽掉一些高级的钩子病毒,防止其自动查找当前活动桌面,并通过窗口枚举将在对话框中输入的信息钩取,所以,利用跨线程调用模式对话框的自绘控件功能,大大提高了信息输入的安全性。
步骤104:第二线程接收通过模式对话框输入的数据后,更新第二共享存储区中的数据变量的值为接收到的数据;
也可以实现一个统一的更新函数,在DialogBox函数返回时利用该统一的更新函数在第二共享存储区中改写并存储数据变量为接收到的数据。
优选的,第二线程接收通过所述模式对话框输入的数据具体可以是:第二线程接收的数据是利用上述绘制函数实现的绘制控件在模式对话框中通过绘制输入的。
步骤105:第二线程关闭第二桌面,将当前运行环境切换回第一桌面,结束自身运行;
比如:SwitchDesktop(hdeskCurrent);
CloseDesktop(hdesk);
步骤106:第一桌面当前运行的线程或进程获取第二共享存储区中更新后的数据变量,完成跨线程数据交互。
实施例2:
参见图2,为本发明实施例提供的基于Windows操作系统下的一种安全输入方法的一个优选实例:安全输入方法在智能密钥装置中的一种具体应用方法。
智能密钥装置目前被广泛应用在身份识别、网上银行和VPN(Virtual Private Network,虚拟专用网络)等方面,智能密钥装置是一种带有处理器和存储器的小型硬件装置,可以通过计算机的数据通讯接口与计算机连接,一般是通过USB(Universal Serial Bus,通用串行总线)接口与计算机相连,通常被称为USB KEY或USB Token(身份认证设备)。智能密钥装置可以对其内部存储的数据进行加、解密处理,即可以将智能密钥装置用于软件版权保护领域;另外可以将一些重要信息存储到智能密钥装置中,用以保证安全性或者防止遗忘,比如密码等。目前,较高端的智能密钥装置都是可编程的,即可以实现在智能密钥装置中运行预先存入其中的代码。智能密钥装置具有物理抗攻击的特性,安全性很高。
基于智能密钥装置的身份认证方式是近几年发展起来的一种方便、安全的身份认证方式:一般采用PIN(个人身份识别)码验证用户身份的合法性,在进行身份认证时将智能密钥装置与计算机相连,计算机中会显示一个模式对话框让用户输入PIN码,用户在计算机上输入PIN码,智能密钥装置会将用户输入的PIN码与其内部存储的PIN码进行比较,验证该PIN码的正确性,当用户输入的PIN码正确时,说明该用户为该智能密钥装置的合法持有者,允许该用户使用该智能密钥装置;否则,禁止用户使用该智能密钥装置。
如前所述,由于客户端一般都是用户个人计算机,安全级别一般很低,非常容易被黑客攻击或中木马钩子病毒等,所以如果客户端计算机被黑客或木马钩子病毒等远程控制,便可以在弹出的模式对话框中截获由用户在该模式对话框中输入的重要或敏感参数(PIN码等),给合法用户带来极大的安全隐患。所以,此时为了进一步的提高安全性,防止黑客或木马钩子病毒等远程截获用户的PIN码,冒用智能密钥装置,这就需要利用本发明实施例提供的跨线程显示模式对话框的方法,重新开启一个桌面,在新的桌面中开启一个模式对话框,用来输入PIN码,从而大大提高安全性,具体方法:
步骤201:将智能密钥装置与主机连接;
步骤202:系统变量设置,主要包括如下内容:在系统桌面即第一桌面当前运行的线程或进程创建第一共享存储区,在该第一共享存储区内定义用于显示模式对话框的一个或多个参数,设置上述参数的初始值;定义模式对话框的消息映射函数及与模式对话框的控件对应的类、并在该第一共享存储区中定义上述类的实例;定义类的初始化方法和自定义消息映射、并在模式对话框的自绘控件对应的类中定义绘制函数;
其中定义上述类的初始化方法包括:
1)将类与控件窗口关联起来;
2)用类的自定义消息映射代替控件的缺省消息映射。
优选的,利用SetProp函数和GetProp函数将类与控件窗口关联起来。
优选的,利用SetWindowLong函数用类的自定义消息映射代替控件的缺省消息映射。
优选的,第一共享存储区可以用共享内存、文件、注册表、先入先出队列(FIFO队列)、通信管道或共享系统剪切板等实现。
步骤203:第一桌面当前运行的线程或进程监控是否有对智能密钥装置私有区的操作,当监控到有对该私有区的操作时执行步骤204,否则继续监控;
步骤204:第一桌面当前运行的线程或进程创建第二线程;
比如可以采用
UINT hUIThread=_beginthreadex(NULL,0,LoginUIFunc,&arg,0,&dwThreadID);
实现,当然也可以采用其他类似的方法实现。
步骤205:第二线程打开/创建第二桌面和第二共享存储区,在第二共享存储区中定义一个或多个数据变量,设置该数据变量的初始值,第二线程设置自身工作在第二桌面中;
第二线程打开/创建第二桌面的方法优选的可以采用如下方法实现:
hdesk=CreateDesktop(sDeskName,NULL,NULL,0,MAXIMUM_ALLOWED,NULL);
SetThreadDesktop(hdesk);
实现,也可以采用其他类似的方法实现。
优选的,可以对第一桌面进行截屏,将获得的图片设为第二桌面的壁纸,使得用户察觉不到桌面的切换。进一步地,对图片进行加灰之类的处理再设为壁纸,就可以获得与WindowsVISTA安全虚拟桌面类似的效果。
第二共享存储区可以用共享内存、文件、注册表、先入先出队列(FIFO队列)、通信管道或共享系统剪切板等实现。
步骤206:第二线程将程序运行环境从第一桌面切换到第二桌面;
优选的,可以采用
SwitchDesktop(hdesk);
实现,也可以采用其他类似的方法实现。
步骤207:显示模式对话框、控件初始化及实现自绘控件的绘制主要包括如下内容:第二线程利用DialogBox函数显示模式对话框,消息映射函数利用从第一共享存储区中读取参数的初始值和类的实例,调用上述初始化方法对模式对话框的控件进行初始化,并调用上述绘制函数实现自绘控件的绘制;
第二线程利用DialogBox函数调用绘制函数显示可自绘的模式对话框,该模式对话框为利用绘制函数绘制有一个软键盘的模式对话框,当软键盘在对应的按键位置收到点击操作事件时,便会在对应的位置采集到一个位置信息,当数据全部输入完毕后,在第二桌面中实际上是获取了一系列的由圆组成的位置信息,按照预先约定的映射关系映射成相应的数据。
其中绘制函数为用于提供对模式对话框进行自绘的操作方法,比如提供画圈的方法、画按钮的方法、画对话框的方法等等。
其中第二线程使用DialogBox函数显示模式对话框,并在DialogBox函数中调用上述模式对话框对应的自定义消息映射。
优选的,可以采用如下方法实现:
ret=DialogBox(hInst,MAKEINTRESOURCE(IDD_DLG_LOGIN),NULL,
LoginUI_WndProc);
其中IDD_DLG_LOGIN是模式对话框的资源ID,LoginUI_WndProc是模式对话框对应的自定义消息映射。
当然也可以采用其他类似的方法实现。
步骤208:第二线程接收到用户在模式对话框的软键盘中输入的PIN码后,将该PIN码送入智能密钥装置中进行认证,并将认证结果返回到第二桌面中的第二线程;
其中,模式对话框的软键盘是利用绘制函数实现的绘制控件绘制实现的,即第二线程接收到用户利用绘制函数实现的绘制控件在模式对话框中通过绘制输入的PIN码。
步骤209:第二线程等待接收认证结果后,将认证结果存储在第二共享存储区中的数据变量中;
也可以实现一个统一的更新函数,在DialogBox函数返回时将认证结果存储在第二共享存储区中的数据变量中。
步骤210:第二线程关闭第二桌面,将当前运行环境切换回第一桌面,结束自身运行;
比如:SwitchDesktop(hdeskCurrent);
CloseDesktop(hdesk);
也可以采用其他类似的方法实现。
步骤211:第一桌面当前运行的线程或进程获取第二共享存储区中更新后的数据变量的内容后,依据认证结果确定是否允许使用智能密钥装置的私有区,完成跨线程数据交互。
具体的是,当第一桌面当前运行的线程或进程获取的第二共享存储区中更新后的数据变量的内容是认证成功(比如全局变量的结果是“真”即值为1)时,允许对智能密钥装置私有区的访问操作;当第一桌面当前运行的线程或进程获取的第二共享存储区中更新后的数据变量的内容是认证失败(比如全局变量的结果是“假”即值为0)时,不允许对智能密钥装置私有区的访问操作。
该种方法可以有效避免在同一桌面中模式对话框中输入的内容易被黑客或木马钩子病毒(包括很常见的键盘钩子病毒)截获的危险,同时又解决了在不同桌面中不能实现跨线程使用和显示模式对话框的问题,大大的提高了安全性。
当然,实际应用中,步骤208~步骤211还可以是:
步骤208′:第二线程接收到用户在模式对话框的软键盘中输入的PIN码后,将PIN码存储在第二共享存储区中的数据变量中;
也可以实现一个统一的更新函数,在DialogBox函数返回时将PIN码存储在对应的第二共享存储区中的数据变量中。
其中,模式对话框的软键盘是利用绘制函数实现的绘制控件绘制实现的,即第二线程接收到用户利用绘制函数实现的绘制控件在模式对话框中通过绘制输入的PIN码。
步骤209′:第二线程关闭第二桌面,将当前运行环境切换回第一桌面,结束自身运行;
优选的,可以用如下方法实现:
SwitchDesktop(hdeskCurrent);
CloseDesktop(hdesk);
也可以采用其他类似的方法实现。
步骤210′:第一桌面当前运行的线程或进程获取第二共享存储区中的数据变量的内容后,即获取到用户输入的PIN码后,将该PIN码送入智能密钥装置中进行认证,依据认证结果确定是否允许使用智能密钥装置的私有区,完成跨线程数据交互。
具体的是,当第一桌面当前运行的线程或进程获取的第二共享存储区中的数据变量的内容即PIN码为正确时,允许对智能密钥装置私有区的访问操作;当第一桌面当前运行的线程或进程获取的第二共享存储区中的数据变量的内容即PIN码为错误时,不允许对智能密钥装置私有区的访问操作。
该种方法可以有效避免键盘钩子程序对PIN码内容的截获,提高智能密钥装置使用时的安全性。
另外,除了利用本发明实施例提供的跨线程显示模式对话框的方法实现智能密钥装置PIN码安全输入之外,还可以将本发明实施例提供的跨线程显示模式对话框的方法应用在利用智能密钥装置进行敏感信息输入的场合,如在网络交易中网银帐号的输入、交易金额的输入等。
当然,实际应用中,除了智能密钥装置外的其他装置,比如U盘、移动硬盘、HUB、读卡器、智能卡等等,均可以使用本发明实施例提供的安全输入方法的原理通过主机进行安全输入;本发明实施例提供的安全输入的方法,还可以应用在软件登录等场合,比如远程登录服务器、远程登录论坛等或本机登录、客户管理系统(CRM)的登录或财务管理软件的登录等其他需要在模式对话框中进行输入的场合。
本发明实施例提供的基于Windows操作系统下的一种安全输入方法,通过存储区的共享,不但可以有效避免在同一桌面中模式对话框中输入的参数易被黑客或木马钩子病毒(包括键盘钩子病毒等)钩取的危险,大大的提高了安全性;同时又解决了在不同桌面中不能实现跨线程使用和显示模式对话框的问题,更重要的是解决了跨线程使用模式对话框的自绘控件的问题,可以有效屏蔽掉可以自动寻找当前活动桌面,钩取窗口输入内容的高级钩子病毒,进一步提高了安全输入的问题。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.基于Windows操作系统下的一种安全输入方法,其特征是包括如下步骤:
--系统变量设置:在系统桌面即第一桌面当前运行的线程或进程中创建第一共享存储区,在所述第一共享存储区内定义用于显示模式对话框的一个或多个参数,设置所述参数的初始值;定义模式对话框的消息映射函数及与模式对话框的控件对应的类、在所述第一共享存储区中定义所述类的实例;定义所述类的初始化方法和自定义消息映射、并在模式对话框的自绘控件对应的类中定义绘制函数;
一桌面切换:桌面当前运行的线程或进程创建第二线程,所述第二线程创建另一桌面即第二桌面和第二共享存储区,并在所述第二共享存储区中定义一个或多个数据变量,设置所述数据变量的初始值,所述第二线程设置自身工作在第二桌面中,并将程序运行环境从第一桌面切换到第二桌面;
--显示模式对话框及实现自绘控件:第二线程利用DialogBox函数显示模式对话框;并调用所述消息映射函数利用从所述第一共享存储区中读取所述参数的初始值和所述类的实例通过所述初始化方法对所述模式对话框的控件进行初始化,调用所述绘制函数实现自绘控件的绘制;
--第二线程接收通过所述模式对话框输入的数据后,更新所述第二共享存储区中的数据变量的值为接收到的数据;
--第二线程关闭第二桌面,将当前运行环境切换回第一桌面,结束自身运行,第一桌面当前运行的线程或进程获取所述第二共享存储区中更新后的数据变量。
2.根据权利要求1所述的基于Windows操作系统下的一种安全输入方法,其特征是所述第二线程接收通过所述模式对话框输入的数据具体为:所述第二线程接收利用所述绘制函数实现的绘制控件在所述模式对话框中绘制输入的数据。
3.根据权利要求1所述的基于Windows操作系统下的一种安全输入方法,其特征是定义所述类的初始化方法包括下列步骤:
将类与控件窗口进行关联;
用所述自定义消息映射代替控件的缺省消息映射。
4.根据权利要求3所述的基于Windows操作系统下的一种安全输入方法,其特征是利用SetProp函数和GetProp函数将类与控件窗口进行关联。
5.根据权利要求3所述的基于Windows操作系统下的一种安全输入方法,其特征是调用SetWindowLong函数,实现用所述自定义消息映射代替控件的缺省消息映射。
6.根据权利要求1所述的基于Windows操作系统下的一种安全输入方法,其特征是所述第一共享存储区与所述第二共享存储区可以共用一个共享存储区。
7.根据权利要求1所述的基于Windows操作系统下的一种安全输入方法,其特征是所述第一共享存储区、第二共享存储区可以通过共享内存、共享文件、共享注册表、共享先入先出队列、共享通信管道或共享系统剪切板的方法实现。
8.根据权利要求1所述的基于Windows操作系统下的一种安全输入方法,其特征是更新所述第二共享存储区中的数据变量的值为接收到的数据的方法具体为:在所述第二共享存储区中改写并存储数据变量为接收到的数据。
9.根据权利要求1所述的基于Windows操作系统下的一种安全输入方法,其特征是更新所述第二共享存储区中的数据变量的值为接收到的数据的方法具体为:实现一个统一的更新函数,在DialogBox函数返回时调用所述统一的更新函数在所述第二共享存储区中改写并存储数据变量为接收到的数据。
CN 200810112658 2008-05-26 2008-05-26 基于Windows操作系统下的一种安全输入方法 Expired - Fee Related CN101593256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810112658 CN101593256B (zh) 2008-05-26 2008-05-26 基于Windows操作系统下的一种安全输入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810112658 CN101593256B (zh) 2008-05-26 2008-05-26 基于Windows操作系统下的一种安全输入方法

Publications (2)

Publication Number Publication Date
CN101593256A CN101593256A (zh) 2009-12-02
CN101593256B true CN101593256B (zh) 2010-09-08

Family

ID=41407907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810112658 Expired - Fee Related CN101593256B (zh) 2008-05-26 2008-05-26 基于Windows操作系统下的一种安全输入方法

Country Status (1)

Country Link
CN (1) CN101593256B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262565B (zh) * 2010-05-28 2015-06-24 腾讯科技(深圳)有限公司 一种跨程序应用剪切板的方法和设备
CN102662591B (zh) 2012-04-13 2014-11-05 华为终端有限公司 数据处理方法和装置
CN106775656B (zh) * 2016-11-28 2020-03-31 江西金格科技股份有限公司 一种基于多智能密钥盘的调度方法
CN108416201A (zh) * 2018-03-06 2018-08-17 深圳市兆驰股份有限公司 一种操作桌面切换方法
CN115550058B (zh) * 2022-11-21 2023-03-10 卓望数码技术(深圳)有限公司 一种共享式文件透明加密方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728062A (zh) * 2004-07-30 2006-02-01 招商银行股份有限公司 基于图形键盘的计算机信息安全输入方法
CN101075188A (zh) * 2006-05-17 2007-11-21 联想(北京)有限公司 一种基于虚拟机的安全输入方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728062A (zh) * 2004-07-30 2006-02-01 招商银行股份有限公司 基于图形键盘的计算机信息安全输入方法
CN101075188A (zh) * 2006-05-17 2007-11-21 联想(北京)有限公司 一种基于虚拟机的安全输入方法

Also Published As

Publication number Publication date
CN101593256A (zh) 2009-12-02

Similar Documents

Publication Publication Date Title
JP7055206B2 (ja) アセット管理システム、方法、装置、および電子デバイス
CN100550032C (zh) 一种Windows系统下的安全输入方法
US10361998B2 (en) Secure gateway communication systems and methods
US9998478B2 (en) Enterprise-wide security for computer devices
US9244671B2 (en) System and method for deploying preconfigured software
JP2021512380A (ja) 資産管理方法および装置、ならびに電子デバイス
US7373656B2 (en) Automatic configuration for portable devices
CN106341381B (zh) 管理机架服务器系统的安全金钥的方法与系统
WO2018090332A1 (zh) 信息展示方法和系统
CN107004080A (zh) 环境感知安全令牌
CN103002445A (zh) 一种安全的提供应用服务的移动电子设备
CN101593256B (zh) 基于Windows操作系统下的一种安全输入方法
CN104375836A (zh) 一种展示锁屏窗口的方法及装置
US9444817B2 (en) Facilitating claim use by service providers
US20130104220A1 (en) System and method for implementing a secure USB application device
CN108319849B (zh) 基于安卓双容器系统的设备策略管理系统及管理域实现方法
WO2022095518A1 (zh) 接口自动化测试方法、装置、计算机设备及存储介质
CN107343279A (zh) 网络连接方法、装置、终端设备及存储介质
CN102984044A (zh) 基于虚拟专用网络实现数据传输安全性的方法和装置
US9542535B1 (en) Systems and methods for recognizing behavorial attributes of software in real-time
US20220261570A1 (en) Authentication of user information handling system through stylus
Chang et al. Rapid Access Control on Ubuntu Cloud Computing with Facial Recognition and Fingerprint Identification.
JP2013506207A (ja) ポータブルデスクトップをサポートするための方法およびシステム
WO2019127043A1 (zh) 一种终端设备的控制方法及终端设备
EP2750350B1 (en) System and method for deploying preconfigured software

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
C56 Change in the name or address of the patentee

Owner name: FEITIAN CHENGXIN TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD.

CP01 Change in the name or title of a patent holder

Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Patentee after: Feitian Technologies Co.,Ltd.

Address before: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Patentee before: FEITIAN TECHNOLOGIES Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908