CN104360869B - 一种防止底层驱动拦截消息的方法 - Google Patents
一种防止底层驱动拦截消息的方法 Download PDFInfo
- Publication number
- CN104360869B CN104360869B CN201410725777.4A CN201410725777A CN104360869B CN 104360869 B CN104360869 B CN 104360869B CN 201410725777 A CN201410725777 A CN 201410725777A CN 104360869 B CN104360869 B CN 104360869B
- Authority
- CN
- China
- Prior art keywords
- device object
- keyboard
- drive
- pointer
- driving
- 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
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种防止底层驱动拦截消息的方法,涉及计算机技术领域。所述方法包括,将查找到的系统键盘驱动的设备对象与创建的键盘过滤驱动的设备对象链接并加入设备驱动链中;修改硬件消息中的所述键盘过滤驱动的设备对象对应的堆栈单元,并设置完成函数,以及将硬件消息发送给系统键盘驱动;通过上述修改,当所述完成函数被调用时,则所述键盘过滤驱动对所述硬件消息中的数据进行加密,然后将硬件消息返回给系统。本发明提供的方法能够让承载键盘输入数据的硬件消息跳过底层的恶意驱动,从而达到防拦截和保证键盘输入安全的目的。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种防止底层驱动拦截消息的方法。
背景技术
随着计算机技术的不断发展,对信息安全的要求也越来越高,而越来越多的针对键盘输入环节的拦截技术使得计算机的信息安全技术面临严峻考验。针对键盘输入的拦截技术分为应用层拦截和驱动层拦截,驱动层较应用层更底层,也更先拦截到键盘输入。
由于Windows的驱动架构是分层处理的,驱动架构中的系统键盘驱动为Windows系统自带,驱动架构中的第三方键盘过滤驱动和系统键盘驱动之间可能会存在其他恶意驱动,这样驱动架构中位于底层的其他驱动会先于其上层的键盘过滤驱动获得硬件消息(专业术语叫IRP),为了防止位于底层的恶意的其他驱动对位于其上层的键盘过滤驱动与位于其底层的系统键盘驱动之间传递的IRP进行拦截和篡改,目前现有技术中广泛使用的防拦截方法是通过加密技术使得底层的恶意驱动对IRP的拦截和篡改失败。但目前这种防拦截方法在加密信息被泄露的情况下是无法达到预期效果的。因此,发明一种让IRP跳过底层驱动,以达到防止底层驱动拦截这一目的的防拦截方法是发明人亟待解决的问题。
发明内容
为解决现有技术中存在的问题,本发明提出了一种通过跳过底层驱动实现的防止底层驱动拦截消息的方法。
本发明采用的技术方案如下:一种防止底层驱动拦截消息的方法,包括步骤A至步骤C:
步骤A:当键盘过滤驱动被系统加载时,所述键盘过滤驱动执行:查找到系统键盘驱动的设备对象,创建键盘过滤驱动的设备对象,分配设备扩展内存来存储系统键盘驱动的设备对象指针,将创建的所述键盘过滤驱动的设备对象与所述系统键盘驱动的设备对象进行链接并加入驱动设备链中;
步骤B:当所述驱动设备链中的所述键盘过滤驱动收到硬件消息时,所述键盘过滤驱动执行:根据所述硬件消息找到所述键盘过滤驱动的设备对象对应的堆栈单元,将找到的堆栈单元的信息拷贝到下一层驱动的设备对象对应的堆栈单元中,并在所述下一层驱动的设备对象对应的堆栈单元中设置完成函数,然后根据所述设备扩展内存中的所述系统键盘驱动的设备对象指针找到系统键盘驱动的设备对象,发送所述硬件消息给所述系统键盘驱动的设备对象;
步骤C:当所述完成函数被调用时,所述键盘过滤驱动执行:对所述硬件消息中的数据进行加密,然后将硬件消息返回给系统。
上述步骤A所述查找到系统键盘驱动的设备对象的具体过程为:
步骤a1:调用声明函数查找键盘驱动对象;
步骤a2:根据所述声明函数返回的键盘驱动对象指针获取键盘驱动对象,解析所述键盘驱动对象,获取键盘驱动对象的第一个设备对象指针作为当前设备对象指针;
步骤a3:判断当前设备对象指针是否为空,是则结束,否则执行步骤a4;
步骤a4:根据当前设备对象指针获取当前设备对象;
步骤a5:从当前设备对象中获取上层设备对象指针;
步骤a6:判断上层设备对象指针是否为空,是则执行步骤a7,否则执行步骤a8;
步骤a7:解析所述键盘驱动对象,获取键盘驱动对象的下一个设备对象指针作为当前设备对象指针,返回执行步骤a3,
步骤a8:根据上层设备对象指针获取上层设备对象,并将上层设备对象作为当前设备对象,解析当前设备对象对应的驱动对象,获取驱动名称;
步骤a9:判断获取到的驱动名称是否为预设驱动名,是则执行步骤a10,否则返回执行步骤a5;
步骤a10:将当前设备对象记录为系统键盘驱动的设备对象。
所述步骤a10之后还包括:判断所述系统键盘驱动的设备对象指针是否为空,是则返回执行步骤a7,否则执行步骤A中所述创建键盘过滤驱动的设备对象,分配设备扩展内存来存储系统键盘驱动的设备对象指针。
上述步骤A所述将创建的所述键盘过滤驱动的设备对象与所述系统键盘驱动的设备对象进行链接并加入驱动设备链中,具体为:调用IoAttachDeviceToDeviceStack将创建好的所述键盘过滤驱动的设备对象与所述系统键盘驱动的设备对象进行链接,然后将创建好的所述键盘过滤驱动的设备对象加入驱动设备链中。
上述步骤B之前还包括:系统创建硬件消息,发送所述硬件消息到所述驱动设备链;所述步骤B与所述步骤C之间还包括所述系统键盘驱动将接收到的所述硬件消息加入队列;当系统收到用户按键输入数据时,系统调用所述系统键盘驱动,将所述用户按键输入数据传给所述系统键盘驱动,所述系统键盘驱动从所述队列中获取所述硬件消息,将所述用户按键输入数据填充到所述硬件消息中,系统遍历所述硬件消息对应的堆栈找到设置了所述完成函数的堆栈单元,并调用该堆栈单元中的所述完成函数。所述系统遍历所述硬件消息对应的堆栈找到设置了所述完成函数的堆栈单元,具体为系统调用IoCompleteRequest查找到设置了所述完成函数的堆栈单元。
上述步骤B所述根据所述硬件消息找到所述键盘过滤驱动的设备对象对应的堆栈单元,将找到的堆栈单元的信息拷贝到下一层驱动的设备对象对应的堆栈单元中,并在所述下一层驱动的设备对象对应的堆栈单元中设置完成函数,具体为:
步骤b1:根据所述硬件消息中包含的指针参数获取所述硬件消息对应的堆栈和键盘过滤驱动的设备对象对应的堆栈单元;
步骤b2:调用IoCopyCurrentIrpStackLocationToNext将所述键盘过滤驱动的设备对象对应的堆栈单元的信息拷贝到下一层驱动的设备对象对应的堆栈单元中;
步骤b3:调用IoSetCompletionRoutine在所述下一层驱动的设备对象对应的堆栈单元中设置完成函数。
上述堆栈单元的信息包括用于读取所述硬件消息的参数。
上述步骤B所述发送所述硬件消息给所述系统键盘驱动的设备对象具体为:将所述系统键盘驱动的设备对象指针和所述硬件消息作为传入参数,调用IoCallDriver将所述硬件消息发送给所述系统键盘驱动的设备对象。
本发明的有益效果是:即便Windows的驱动架构中在键盘过滤驱动的下方有若干恶意驱动进行拦截,使用本发明的技术,这些恶意驱动都将被跳过,使得恶意驱动无法参与其中工作,从而保证键盘输入的安全操作。
附图说明
图1是本发明实施例1提供的一种防止底层驱动拦截消息的方法的初始化阶段的流程图;
图2是本发明实施例1提供的一种防止底层驱动拦截消息的方法的修改IRP对应的堆栈阶段的流程图;
图3是本发明实施例1提供的一种防止底层驱动拦截消息的方法的处理IRP阶段的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和具体实施例对本发明作进一步地详细描述。
本发明提供的实施例是基于Windows的驱动架构实现的,Windows的驱动架构是分层处理的,系统键盘驱动为Windows系统自带,名称为预设驱动名,例如预设驱动名为Kbdclass或i8042prt。在Windows的驱动架构中驱动设备链从上至下分层有键盘过滤驱动、一个或多个其他底层驱动、系统键盘驱动。
实施例1
本实施例1提供的一种防止底层驱动拦截消息的方法,主要包括三个阶段,分别为:
1.初始化阶段:
系统加载键盘过滤驱动,所述键盘过滤驱动执行以下操作:查找到系统键盘驱动的设备对象,创建键盘过滤驱动的设备对象,分配设备扩展内存来存储系统键盘驱动的设备对象指针,将创建的键盘过滤驱动的设备对象与系统键盘驱动的设备对象进行链接并加入驱动设备链中。
本发明实施例中提及的所述系统是指计算机操作系统,例如,Windows操作系统。
2.修改IRP对应的堆栈阶段:
当系统收到按键触发时,系统创建IRP,发送IRP到驱动设备链,当驱动设备链中的键盘过滤驱动接收到所述IRP时,执行以下操作:将IRP中的所述键盘过滤驱动的设备对象对应的堆栈单元的信息拷贝到下一层驱动的设备对象对应的堆栈单元中,并在所述下一层驱动对应的堆栈单元中设置完成函数,然后根据扩展内存中的系统键盘驱动的设备对象指针找到系统键盘驱动的设备对象,发送IRP给系统键盘驱动的设备对象,所述系统键盘驱动将接收到的IRP加入队列。
3.处理IRP阶段:
当系统收到用户按键输入数据时,系统调用所述系统键盘驱动将所述用户按键输入数据传给所述系统键盘驱动,所述系统键盘驱动从所述队列中获取所述IRP,将所述用户按键输入数据填充到所述IRP中,然后系统遍历所述IRP对应的堆栈找到设置了所述完成函数的当前堆栈单元,并调用所述完成函数;当所述完成函数被调用时,所述键盘过滤驱动执行以下操作:对所述IRP中的用户输入数据加密后将所述IRP返回给系统。
从上述过程可明显看出,其他底层驱动并未参与工作,从而达到跳过其他底层驱动,将加密操作后的IRP直接返回给系统的目的。
本实施例提供一种防止底层驱动拦截消息的方法的初始化阶段的具体过程,如图1所示,包括:
步骤101:当键盘过滤驱动被系统加载时,调用声明函数ObReferenceObjectByName查找键盘驱动对象;
具体的,本发明提供的方法可适用于USB和PS2两种键盘,若是USB键盘,则本步骤查找的是Kbdhid,若是PS2键盘,则本步骤查找的是i8042prt。
本实施例中以USB键盘为优选实施例进行介绍,本步骤具体为:调用ObReferenceObjectByName查找Kbdhid驱动对象。
步骤102:根据所述声明函数的返回值判断键盘驱动对象指针是否为空,是则返回失败,结束,否则执行步骤103;
本实施例中优选的,判断返回值是否为NULL,是则表示键盘驱动对象指针为空,返回失败,结束,否则返回值为键盘驱动对象指针,执行步骤103。
步骤103:根据键盘驱动对象指针获取键盘驱动对象,解析键盘驱动对象,获取键盘驱动对象的第一个设备对象指针作为当前设备对象指针;
本实施例中具体的,驱动对象、设备对象的形态都是以结构体的方式存储在系统内存中的,例如,本步骤获取的是Kbdhid驱动对象,其结构体如下:
步骤104:判断当前设备对象指针是否为空,是则结束,否则执行步骤105;
本实施例中具体的,判断DeviceObject是否为NULL,是则结束,否则执行步骤105。
步骤105:根据当前设备对象指针获取当前设备对象;
本实施例中具体的,驱动对象、设备对象的形态都是以结构体的方式存储在系统内存中的,例如,本步骤获取的当前设备对象为:
步骤106:从当前设备对象中获取上层设备对象指针;
本实施例中具体的,获取的上层设备对象指针为AttachedDevice。
步骤107:判断上层设备对象指针是否为空,是则执行步骤115,否则执行步骤108;
本实施例中具体的,判断AttachedDevice是否为NULL,是则执行步骤115,否则执行步骤108。
步骤108:根据上层设备对象指针获取上层设备对象,并将上层设备对象作为当前设备对象,解析当前设备对象对应的驱动对象,获取驱动名称;
本实施例中具体的,获取的上层设备对象为:
根据DriverObject指针获取其对应的驱动对象为:
步骤109:判断获取到的驱动名称是否为Kbdclass,是则执行步骤110,否则返回执行步骤106;
步骤110:将当前设备对象记录为系统键盘驱动的设备对象;
步骤111:判断系统键盘驱动的设备对象指针是否为空,是则执行步骤115,否则执行步骤112;
步骤112:创建键盘过滤驱动的设备对象,分配设备扩展内存存储系统键盘驱动的设备对象指针;
本实施例中,具体的通过调用IoCreateDevice来创建键盘过滤驱动的设备对象,如果创建成功,该函数返回一个设备对象指针,此函数还有一个参数,用来指定让系统分配多少扩展内存给此设备对象,本实施例中自定义在扩展内存中存储该函数返回的设备对象指针。
本步骤创建的键盘过滤驱动的设备对象具体为FT_KBD设备对象。
本实施例中优选的,在执行完步骤112之后还包括:调用ObReferenceObjectByPointer函数,将系统键盘驱动的设备对象引用计数加1。
步骤113:调用IoAttachDeviceToDeviceStack将创建好的键盘过滤驱动的设备对象和系统键盘驱动的设备对象进行链接;
步骤114:将创建好的键盘过滤驱动的设备对象加入驱动设备链中,然后执行步骤115;
例如,加入键盘过滤驱动的设备对象之后的驱动设备链为:
FT_KBD设备对象->其它设备对象->Kbdclass设备对象。
步骤115:解析键盘驱动对象,获取键盘驱动对象的下一个设备对象指针作为当前设备对象指针,然后返回步骤104。
具体的,将NextDevice作为当前设备对象指针。
本实施例提供一种防止底层驱动拦截消息的方法的修改IRP对应的堆栈阶段的具体过程,如图2所示,包括:
步骤200:当系统收到按键触发时,系统创建IRP,并发送IRP到驱动设备链;
本实施例中优选的,在执行步骤200之前还包括,判断系统键盘驱动的设备对象引用计数是否大于1,是则执行步骤200,否则返回错误,结束。
步骤201:驱动设备链顶层的键盘过滤驱动收到IRP后,所述键盘过滤驱动根据IRP中包含的指针参数获取所述IRP对应的I/O设备堆栈和键盘过滤驱动的设备对象对应的堆栈单元;
本实施例中,IRP具体为一个内存里存储的结构体,大致形态为:
堆栈单元:
步骤202:所述键盘过滤驱动调用IoCopyCurrentIrpStackLocationToNext将键盘过滤驱动的设备对象对应的堆栈单元的信息拷贝到下一层驱动的设备对象对应的堆栈单元中;
具体的,所述键盘过滤驱动的设备对象对应的堆栈单元的信息包括:用于读取IRP的参数,例如读取缓冲区、读取长度等参数。
例如,将IO_STACK_LOCATION拷贝到下一层驱动的设备对象对应的堆栈单元中。
步骤203:所述键盘过滤驱动调用IoSetCompletionRoutine在下一层驱动的设备对象对应的堆栈单元中设置完成函数;
例如,设置的完成函数为:
NTSTATUSKeyReadCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP IRP,
IN PVOID Context);
步骤204:所述键盘过滤驱动从键盘过滤驱动的设备对象的设备扩展内存中得到系统键盘驱动的设备对象指针;
步骤205:所述键盘过滤驱动将系统键盘驱动的设备对象指针和IRP作为传入参数,调用IoCallDriver将IRP发送给系统键盘驱动的设备对象,系统键盘驱动将接收到的IRP加入队列,等待用户按键输入。
本实施例提供一种防止底层驱动拦截消息的方法的处理IRP阶段的具体过程,如图3所示,包括:
步骤301:当系统接收到用户按键输入数据时,系统调用系统键盘驱动,将所述用户按键输入数据传给所述系统键盘驱动,所述系统键盘驱动获取队列中的IRP,将所述用户按键输入数据填充到所述IRP中;
步骤302:系统调用IoCompleteRequest,遍历所述IRP对应的I/O设备堆栈,从中查找到设置了完成函数的堆栈单元,并调用所述完成函数;
步骤303:当所述完成函数被调用时,所述键盘过滤驱动对所述IRP中的用户按键输入数据进行加密,然后将加密操作后的IRP返回给系统。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (11)
1.一种防止底层驱动拦截消息的方法,其特征是:
步骤A:当键盘过滤驱动被系统加载时,所述键盘过滤驱动执行:查找到系统键盘驱动的设备对象,创建键盘过滤驱动的设备对象,分配设备扩展内存来存储系统键盘驱动的设备对象指针,将创建的所述键盘过滤驱动的设备对象与所述系统键盘驱动的设备对象进行链接并加入驱动设备链中;
步骤B:当所述驱动设备链中的所述键盘过滤驱动收到硬件消息时,所述键盘过滤驱动执行:根据所述硬件消息找到所述键盘过滤驱动的设备对象对应的堆栈单元,将找到的堆栈单元的信息拷贝到下一层驱动的设备对象对应的堆栈单元中,并在所述下一层驱动的设备对象对应的堆栈单元中设置完成函数,然后根据所述设备扩展内存中的所述系统键盘驱动的设备对象指针找到系统键盘驱动的设备对象,发送所述硬件消息给所述系统键盘驱动的设备对象;
步骤C:当所述完成函数被调用时,所述键盘过滤驱动执行:对所述硬件消息中的数据进行加密,然后将硬件消息返回给系统。
2.根据权利要求1所述的方法,其特征是:所述查找到系统键盘驱动的设备对象的具体过程为:
步骤a1:调用声明函数查找键盘驱动对象;
步骤a2:根据所述声明函数返回的键盘驱动对象指针获取键盘驱动对象,解析所述键盘驱动对象,获取键盘驱动对象的第一个设备对象指针作为当前设备对象指针;
步骤a3:判断当前设备对象指针是否为空,是则结束,否则执行步骤a4;
步骤a4:根据当前设备对象指针获取当前设备对象;
步骤a5:从当前设备对象中获取上层设备对象指针;
步骤a6:判断上层设备对象指针是否为空,是则执行步骤a7,否则执行步骤a8;
步骤a7:解析所述键盘驱动对象,获取键盘驱动对象的下一个设备对象指针作为当前设备对象指针,返回执行步骤a3,
步骤a8:根据上层设备对象指针获取上层设备对象,并将上层设备对象作为当前设备对象,解析当前设备对象对应的驱动对象,获取驱动名称;
步骤a9:判断获取到的驱动名称是否为预设驱动名,是则执行步骤a10,否则返回执行步骤a5;
步骤a10:将当前设备对象记录为系统键盘驱动的设备对象。
3.根据权利要求2所述的方法,其特征是:所述步骤a10之后还包括:判断所述系统键盘驱动的设备对象指针是否为空,是则返回执行步骤a7,否则执行步骤A中所述创建键盘过滤驱动的设备对象,分配设备扩展内存来存储系统键盘驱动的设备对象指针。
4.根据权利要求1所述的方法,其特征是:所述将创建的所述键盘过滤驱动的设备对象与所述系统键盘驱动的设备对象进行链接并加入驱动设备链中,具体为:调用IoAttachDeviceToDeviceStack将创建好的所述键盘过滤驱动的设备对象与所述系统键盘驱动的设备对象进行链接,然后将创建好的所述键盘过滤驱动的设备对象加入驱动设备链中。
5.根据权利要求1所述的方法,其特征是:所述步骤B之前还包括:系统创建硬件消息,发送所述硬件消息到所述驱动设备链;
所述步骤B与所述步骤C之间还包括所述系统键盘驱动将接收到的所述硬件消息加入队列;当系统收到用户按键输入数据时,系统调用所述系统键盘驱动,将所述用户按键输入数据传给所述系统键盘驱动,所述系统键盘驱动从所述队列中获取所述硬件消息,将所述用户按键输入数据填充到所述硬件消息中,系统遍历所述硬件消息对应的堆栈找到设置了所述完成函数的堆栈单元,并调用该堆栈单元中的所述完成函数。
6.根据权利要求1所述的方法,其特征是:所述根据所述硬件消息找到所述键盘过滤驱动的设备对象对应的堆栈单元,将找到的堆栈单元的信息拷贝到下一层驱动的设备对象对应的堆栈单元中,并在所述下一层驱动的设备对象对应的堆栈单元中设置完成函数,具体为:
步骤b1:根据所述硬件消息中包含的指针参数获取所述硬件消息对应的堆栈和键盘过滤驱动的设备对象对应的堆栈单元;
步骤b2:调用IoCopyCurrentIrpStackLocationToNext将所述键盘过滤驱动的设备对象对应的堆栈单元的信息拷贝到下一层驱动的设备对象对应的堆栈单元中;
步骤b3:调用IoSetCompletionRoutine在所述下一层驱动的设备对象对应的堆栈单元中设置完成函数。
7.根据权利要求6所述的方法,其特征是:所述堆栈单元的信息包括用于读取所述硬件消息的参数。
8.根据权利要求1所述的方法,其特征是:所述发送所述硬件消息给所述系统键盘驱动的设备对象具体为:将所述系统键盘驱动的设备对象指针和所述硬件消息作为传入参数,调用IoCallDriver将所述硬件消息发送给所述系统键盘驱动的设备对象。
9.根据权利要求5所述的方法,其特征是:所述系统遍历所述硬件消息对应的堆栈找到设置了所述完成函数的堆栈单元,具体为系统调用IoCompleteRequest查找到设置了所述完成函数的堆栈单元。
10.根据权利要求5所述的方法,其特征是:所述分配设备扩展内存来存储系统键盘驱动的设备对象指针之后还包括系统将系统键盘驱动的设备对象引用计数加1,所述系统创建硬件消息之前还包括判断系统键盘驱动的设备对象引用计数是否大于1,是则创建所述硬件消息,否则结束。
11.根据权利要求10所述的方法,其特征是:所述将系统键盘驱动的设备对象引用计数加1具体为通过调用ObReferenceObjectByPointer实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410725777.4A CN104360869B (zh) | 2014-12-03 | 2014-12-03 | 一种防止底层驱动拦截消息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410725777.4A CN104360869B (zh) | 2014-12-03 | 2014-12-03 | 一种防止底层驱动拦截消息的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104360869A CN104360869A (zh) | 2015-02-18 |
CN104360869B true CN104360869B (zh) | 2017-05-10 |
Family
ID=52528133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410725777.4A Active CN104360869B (zh) | 2014-12-03 | 2014-12-03 | 一种防止底层驱动拦截消息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104360869B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022138B (zh) * | 2016-05-17 | 2018-11-20 | 飞天诚信科技股份有限公司 | 安全输入方法及过滤驱动 |
CN106066962A (zh) * | 2016-05-30 | 2016-11-02 | 北京金山安全软件有限公司 | 一种拦截控制码的方法、装置及电子设备 |
CN106055992B (zh) * | 2016-06-07 | 2019-05-21 | Oppo广东移动通信有限公司 | 一种处理触摸操作的方法及终端 |
CN105912482B (zh) * | 2016-06-24 | 2019-05-28 | 飞天诚信科技股份有限公司 | 一种irp的处理方法及过滤驱动 |
CN106953850B (zh) * | 2017-03-02 | 2019-08-30 | 飞天诚信科技股份有限公司 | 一种支持多应用的安全输入方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904864A (zh) * | 2006-08-15 | 2007-01-31 | 北京飞天诚信科技有限公司 | 一种使hid设备能提供智能卡接口的装置及方法 |
US7730360B1 (en) * | 2006-12-29 | 2010-06-01 | Conexant Systems, Inc. | CDC-compliant embedded USB controller communication device and system with custom features support |
US7865910B2 (en) * | 2006-07-28 | 2011-01-04 | Microsoft Corporation | Bypassing class drivers through virtual driver enablement |
CN102567670A (zh) * | 2011-12-28 | 2012-07-11 | 南京邮电大学 | 文件系统过滤驱动加密实现方法 |
CN102841785A (zh) * | 2011-06-24 | 2012-12-26 | 奇智软件(北京)有限公司 | 一种文件句柄关闭操作的方法及装置 |
CN103077243A (zh) * | 2013-01-16 | 2013-05-01 | 北京数码视讯科技股份有限公司 | 文件系统访问的处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254994A1 (en) * | 2002-02-18 | 2009-10-08 | David Lynch Waterson | Security methods and systems |
-
2014
- 2014-12-03 CN CN201410725777.4A patent/CN104360869B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865910B2 (en) * | 2006-07-28 | 2011-01-04 | Microsoft Corporation | Bypassing class drivers through virtual driver enablement |
CN1904864A (zh) * | 2006-08-15 | 2007-01-31 | 北京飞天诚信科技有限公司 | 一种使hid设备能提供智能卡接口的装置及方法 |
US7730360B1 (en) * | 2006-12-29 | 2010-06-01 | Conexant Systems, Inc. | CDC-compliant embedded USB controller communication device and system with custom features support |
CN102841785A (zh) * | 2011-06-24 | 2012-12-26 | 奇智软件(北京)有限公司 | 一种文件句柄关闭操作的方法及装置 |
CN102567670A (zh) * | 2011-12-28 | 2012-07-11 | 南京邮电大学 | 文件系统过滤驱动加密实现方法 |
CN103077243A (zh) * | 2013-01-16 | 2013-05-01 | 北京数码视讯科技股份有限公司 | 文件系统访问的处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104360869A (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104360869B (zh) | 一种防止底层驱动拦截消息的方法 | |
CN104331644B (zh) | 一种智能终端文件的透明加解密方法 | |
CN103543903B (zh) | 快捷操作方法、装置及移动终端 | |
US20170193236A1 (en) | Data security processing method and apparatus based on switch in dual system | |
US7877091B2 (en) | Method and system for executing a container managed application on a processing device | |
CN104049806B (zh) | 一种触控终端及其操控方法和系统 | |
US20120192248A1 (en) | Protecting screen information | |
CN107273736B (zh) | 密码输入方法、装置、计算机设备和存储介质 | |
CN109857571B (zh) | 剪贴板控制方法及装置 | |
CN101984692A (zh) | 一种防止恶意软件发送数据的方法及装置 | |
WO2016123876A1 (zh) | 一种数据共享方法及多系统终端 | |
CN104182680A (zh) | 一种用户名密码管理、输入方法和系统 | |
US9451423B2 (en) | Method and apparatus for recording information during a call | |
CN111818469B (zh) | 呼叫方法、呼叫装置、电子设备和网络设备 | |
CN106302111A (zh) | 一种信息处理方法、终端及服务器 | |
US9317707B2 (en) | Method and system for protecting a driver | |
CN107609412A (zh) | 一种基于TrustZone技术实现移动互联网下移动终端安全存储的方法 | |
US8561083B2 (en) | Application associating based on cryptographic identification | |
CN105430601A (zh) | 一种蓝牙设备列表的展现方法、装置及移动终端 | |
CN102841785A (zh) | 一种文件句柄关闭操作的方法及装置 | |
CN106933666B (zh) | 一种调用信息输入程序的方法及一种电子设备 | |
CN107633174B (zh) | 一种用户输入管理方法及装置、终端 | |
CN106648488B (zh) | 一种终端及其显示方法 | |
CN105389506B (zh) | 一种提高输入安全性的方法和装置 | |
CN110597492B (zh) | 一种调用模块的方法和相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |