一种支持多应用的安全输入方法及装置制造方法及图纸

技术编号:15825491 阅读:42 留言:0更新日期:2017-07-15 06:50
本发明专利技术公开了一种支持多应用的安全输入方法及装置,涉及通信领域。所述方法包括:装置等待并接收请求,当接收到第二请求时,保存第一密钥至当前应用的专属内存中,返回响应数据给当前应用后继续等待并接收请求;当接收到第五请求时,接收用户输入的字符作为真字符,随机生成与真字符对应的伪字符并与真字符对应保存,将伪字符返回给当前应用后继续等待并接收请求;当接收到第六请求时,解析第六请求得到伪字符,查找到与其对应保存的真字符,并在当前应用的专属内存中读取第一密钥,使用第一密钥对真字符加密并将加密结果返回给当前应用后继续等待并接收请求。本发明专利技术中的技术方案,避免了装置因数据混淆而造成的通讯失败并提高了数据的安全性。

【技术实现步骤摘要】
一种支持多应用的安全输入方法及装置
本专利技术涉及通信领域,尤其涉及一种支持多应用的安全输入方法及装置。
技术介绍
现有技术中,Windows驱动中的内存是共享的,在Windows驱动与上层应用通讯的过程中,Windows驱动将接收到的上层应用发送来的数据均保存至内存中;然而在该机制下,当Windows驱动与多个上层应用同时通讯的过程中,Windows驱动无法分辨出内存中的数据是对应于哪一个上层应用的,会因数据混淆而造成通讯失败;而且Windows驱动通常将用户通过键盘输入的数据直接返回给上层应用,存在数据易被篡改和窃取的风险。
技术实现思路
本专利技术为解决现有技术的不足,提供一种支持多应用的安全输入方法及装置。一方面,本专利技术提供了一种支持多应用的安全输入方法,包括:步骤S1:装置等待并接收请求,当接收到第二请求时,执行步骤S2,当接收到第五请求时,执行步骤S4,当接收到第六请求时,执行步骤S5;步骤S2:所述装置将当前运行环境对应的应用作为当前应用,判断所述当前应用的专属内存是否存在,是则执行步骤S3,否则为所述当前应用分配专属内存,执行步骤S3;步骤S3:所述装置根据所述第二请本文档来自技高网...
一种支持多应用的安全输入方法及装置

【技术保护点】
一种支持多应用的安全输入方法,其特征在于,包括:步骤S1:装置等待并接收请求,当接收到第二请求时,执行步骤S2,当接收到第五请求时,执行步骤S4,当接收到第六请求时,执行步骤S5;步骤S2:所述装置将当前运行环境对应的应用作为当前应用,判断所述当前应用的专属内存是否存在,是则执行步骤S3,否则为所述当前应用分配专属内存,执行步骤S3;步骤S3:所述装置根据所述第二请求保存所述当前应用的第一密钥至所述当前应用的专属内存中,返回响应数据给所述当前应用,返回步骤S1;步骤S4:所述装置将当前运行环境对应的应用作为当前应用,等待并接收用户输入的字符,将接收到的字符作为真字符,随机生成与所述真字符对应的...

【技术特征摘要】
1.一种支持多应用的安全输入方法,其特征在于,包括:步骤S1:装置等待并接收请求,当接收到第二请求时,执行步骤S2,当接收到第五请求时,执行步骤S4,当接收到第六请求时,执行步骤S5;步骤S2:所述装置将当前运行环境对应的应用作为当前应用,判断所述当前应用的专属内存是否存在,是则执行步骤S3,否则为所述当前应用分配专属内存,执行步骤S3;步骤S3:所述装置根据所述第二请求保存所述当前应用的第一密钥至所述当前应用的专属内存中,返回响应数据给所述当前应用,返回步骤S1;步骤S4:所述装置将当前运行环境对应的应用作为当前应用,等待并接收用户输入的字符,将接收到的字符作为真字符,随机生成与所述真字符对应的伪字符,将所述真字符与所述伪字符对应保存,并将所述伪字符返回给所述当前应用,返回步骤S1;步骤S5:所述装置将当前运行环境对应的应用作为当前应用,解析所述第六请求得到伪字符,查找到与所述伪字符对应保存的真字符,并在所述当前应用的专属内存中读取第一密钥,使用所述第一密钥对所述真字符加密并将加密结果返回给所述当前应用,返回步骤S1。2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前,还包括:装置创建第一设备对象;所述步骤S1中,所述装置等待并接收请求,具体为:所述装置通过所述第一设备对象等待并接收请求。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述装置接收到第一请求时,执行步骤1:步骤1:所述装置将当前运行环境对应的应用作为当前应用,并判断是否存在第二设备对象,是则返回响应数据给所述当前应用,否则创建第二设备对象,为所述第二设备对象分配第二扩展区;所述步骤S4中,所述等待并接收用户输入的字符,具体为:所述装置通过所述第二设备对象等待并接收用户输入的字符;所述步骤S4中,所述将所述真字符与所述伪字符对应保存,具体为:所述装置将所述真字符与所述伪字符对应保存至所述第二扩展区中。4.根据权利要求1所述的方法,其特征在于,所述步骤S2中,所述判断所述当前应用的专属内存是否存在,具体为:所述装置获取所述当前应用的线程号、进程号和IRP文件对象,根据获取到的线程号、进程号和IRP文件对象判断所述当前应用的专属内存是否存在;所述步骤S2中,所述为所述当前应用分配专属内存之后,还包括:所述装置将获取到的所述当前应用的线程号、进程号和IRP文件对象保存至分配的专属内存中。5.根据权利要求4所述的方法,其特征在于,所述步骤S2中,所述为所述当前应用分配专属内存之后,还包括:将分配的专属内存的地址保存至用户信息结构链表中;所述根据获取到的线程号、进程号和IRP文件对象判断所述当前应用的专属内存是否存在,具体包括:步骤a1:所述装置查找到所述用户信息结构链表,并判断所述用户信息结构链表是否为空,是则判定所述当前应用的专属内存不存在;否则执行步骤a2;步骤a2:所述装置依次读取所述用户信息结构链表的各元素中存有的地址,并在读取到的地址对应的专属内存中读取存有的线程号、进程号和IRP文件对象,判断是否能够读取到与获取到的线程号、进程号和IRP文件对象均一致的线程号、进程号和IRP文件对象,是则判定所述当前应用的专属内存存在,否则判定所述当前应用的专属内存不存在。6.根据权利要求4所述的方法,其特征在于,所述步骤S2中,所述为所述当前应用分配专属内存之后,还包括:将分配的专属内存的地址保存至用户信息结构链表中;所述方法还包括:当所述装置接收到第八请求时,执行步骤2:步骤2:所述装置将当前运行环境对应的应用作为当前应用,释放所述当前应用的专属内存,在所述用户信息结构链表中移除所述当前应用的专属内存的地址,返回响应数据给所述当前应用,返回步骤S1。7.根据权利要求1所述的方法,其特征在于,所述步骤S3中,所述装置根据所述第二请求保存所述当前应用的第一密钥至所述当前应用的专属内存中,具体为:所述装置解析所述第二请求得到所述当前应用的第一密钥,将所述第一密钥保存至所述当前应用的专属内存中。8.根据权利要求1所述的方法,其特征在于,所述步骤S3中,所述装置根据所述第二请求保存所述当前应用的第一密钥至所述当前应用的专属内存中,具体为:所述装置解析所述第二请求得到第一随机数,根据所述第一随机数生成第一密钥,将所述第一密钥保存至所述当前应用的专属内存中。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:当所述装置接收到第七请求时,执行步骤3:步骤3:所述装置将当前运行环境对应的应用作为当前应用,读取所述当前应用的专属内存中存有的第一密钥,将读取到的第一密钥返回给所述当前应用,返回步骤S1。10.根据权利要求9所述的方法,其特征在于,所述步骤3中,所述将读取到的第一密钥返回给所述当前应用之前,还包括:所述装置解析所述第七请求得到第二密钥;所述步骤3中,所述将读取到的第一密钥返回给所述当前应用,具体为:所述装置使用所述第二密钥加密读取到的第一密钥得到第一密钥密文,将所述第一密钥密文返回给所述当前应用。11.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述装置接收到第三请求时,执行步骤4-1:步骤4-1:所述装置将当前运行环境对应的应用作为当前应用,判断所述当前应用的专属内存是否存在,是则执行步骤4-2,否则为所述当前应用分配专属内存,执行步骤4-2;步骤4-2:所述装置解析所述第三请求得到可接受字符类型,将所述可接受字符类型保存至所述当前应用的专属内存中;所述步骤S4中,所述将接收到的字符作为真字符之前,还包括:所述装置判断接收到的字符与所述当前应用的专属内存中存有的可接受字符类型是否匹配,是则将接收到的字符作为真字符,否则继续等待并接收用户输入的字符。12.根据权利要求1所述的方法,其特征在于,所述步骤S1之前,还包括:所述装置创建模拟输入线程并初始化所述模拟输入线程的按下标识和弹起标识均为第一预设值,所述模拟输入线程模拟用户输入;所述步骤S4中,所述将接收到的字符作为真字符之前,还包括:所述装置判断接收到的字符是否为用户的真实输入,是则将接收到的字符作为真字符,否则继续等待并接收用户输入的字符。13.根据权利要求12所述的方法,其特征在于,所述模拟输入线程模拟用户输入,具体包括:将所述按下标识和所述弹起标识均设置为第二预设值,随机生成扫描码,将所述扫描码发送至键盘并保存至第一扩展区中;所述继续等待并接收用户输入的字符之前,还包括:将所述按下标识和所述弹起标识均设置为所述第一预设值,清除所述第一扩展区中存有的扫描码;所述装置判断接收到的字符是否为用户的真实输入,具体包括:步骤b1:所述装置判断所述按下标识和所述弹起标识是否均为第一预设值,是则判定接收到的字符是用户的真实输入;否则执行步骤b2;步骤b2:所述装置获取来自键盘的扫描码,判断获取到的扫描码与所述第一扩展区中存有的扫描码是否相同,是则判定接收到的字符不是用户的真实输入;否则判定接收到的字符是用户的真实输入。14.根据权利要求1所述的方法,其特征在于,所述步骤S1之前,还包括:所述装置初始化键盘过滤的状态为关闭;所述方法还包括:当所述装置接收到第四请求时,执行步骤5:步骤5:所述装置将当前运行环境对应的应用作为当前应用,设置所述键盘过滤的状态为开启,返回响应数据给所述当前应用;所述步骤S4中,所述等待并接收用户输入的字符之前,还包括:所述装置判断所述键盘过滤的状态是否为开启,是则继续;否则等待并接收用户输入的字符,将接收到的字符返回给所述当前应用。15.根据权利要求14所述的方法,其特征在于,所述步骤5中,所述设置所述键盘过滤的状态为开启之前,还包括:所述装置判断所述第四请求中含有的线程号、进程号、IRP文件对象是否均正确,是则继续;否则返回错误码给所述当前应用。16.根据权利要求15所述的方法,其特征在于,所述装置判断所述第四请求中含有的线程号、进程号、IRP文件对象是否均正确,具体为:所述装置获取所述当前应用的线程号、进程号、IRP文件对象,判断获取到的线程号、进程号、IRP文件对象与第四请求中含有的线程号、进程号、IRP文件对象是否均相同,是则判定所述第四请求中含有的线程号、进程号、IRP文件对象均正确,否则判定所述第四请求中含有的线程号、进程号、IRP文件对象不正确。17.根据权利要求1所述的方法,其特征在于,所述步骤S5中,所述使用所述第一密钥对所述真字符加密并将加密结果返回给所述当前应用,具体为:所述装置根据所述真字符生成明文应答数据,使用所述第一密钥对所述明文应答数据加密得到密文应答数据,将所述密文应答数据返回给所述当前应用。18.根据权利要求17所述的方法,其特征在于,所述装置根据所述真字符生成明文应答数据,具体为:所述装置生成第二随机数,将所述第二随机数的预设位上的数据替换为所述真字符后作为明文应答数据;或者,所述装置将预设数据的预设位上的数据替换为所述真字符后作为明文应答数据。19.一种支持多应用的安全输入装置,其特征在于,包括:第一接收模块,用于接收请求;第一作为模块,用于当所述第一接收模块接收到第二请求时,将当前运行环境对应的应用作为当前应用;第一判断模块,用于判断所述当前应用的专属内存是否存在;分配模块,用于当所述第一判断模块判断出所述当前应用的专属内存不存在时,为所述当前应用分配专属内存;第一保存模块,用于当所述第一判断模块判断出所述当前应用的专属内存存在时,根据所述第二请求保存所述当前应用的第一密钥至所述当前应用的专属内存中;还用于当所述分配模块为所述当前应用分配专属内存之后,根据所述第二请求保存所述当前应用的第一密钥至所述当前应用的专属内存中;第一发送模块,用于在所述第一保存模块根据所述第二请求保存所述当前应用的第一密钥至所述当前应用的专属内存中之后,返回响应数据给所述当前应用;所述第一接收模块,还用于在所述第一发送模块返回响应数据给所述当前应用之后,接收请求;所述第一作为模块,还用于当所述第一接收模块接收到第五请求时,将当前运行环境对应的应用作为当前应用;第二接收模块,用于接收用户输入的字符;第二作为模块,还用于将所述第二接收模块接收到的字符作为真字符;生成模块,用于随机生成与所述真字符对应的伪字符;第二保存模块,用于将所述真字符与所述生成模块生成的伪字符对应保存;所述第一发送模块,还用于将所述生成模块生成的伪字符返回给所述当前应用;所述第一接收模块,还用于在所述第一发送模块将所述生成模块生成的伪字符返回给所述当前应用之后,接收请求;所述第一作为模块,还用于当所述第一接收模块接收到第六请求时,将当前运行环境对应的应用作为当前应用;解析模块,用于解析所述第一接收模块接收到的第六请求得到伪字符;查找模块,用于查找到与所述解析模块得到的伪字符对应保存的真字符;第一读取模块,用于在所述当前应用的专属内存中读取第一密钥;加密模块,用于使用所述第一读取模块读取到的第一密钥对所述查找模块查找到的真字符加密;...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1