[发明专利]一种安全输入和校验USBKey PIN码的方法及模块在审
申请号: | 201911405393.3 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111222128A | 公开(公告)日: | 2020-06-02 |
发明(设计)人: | 焦祥;刘跃雷 | 申请(专利权)人: | 北京握奇数据股份有限公司 |
主分类号: | G06F21/46 | 分类号: | G06F21/46;G06F21/64;G06F21/83 |
代理公司: | 北京天悦专利代理事务所(普通合伙) 11311 | 代理人: | 田明;杨方 |
地址: | 100102 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 安全 输入 校验 usbkey pin 方法 模块 | ||
1.一种安全输入和校验USBKey PIN码的方法,其特征在于,所述方法包括:安装内核键盘钩子、输入USBKey PIN码、校验USBKey PIN码和卸载内核键盘钩子;
所述输入USBKey PIN码包括:软键盘输入USBKey PIN码和物理键盘输入USBKey PIN码,所述软键盘输入USBKey PIN码包括:
USBKey的应用层对软键盘输入的PIN码进行编码,将编码后的PIN码以及对应的标识信息下发至所述USBKey的内核驱动;
所述内核驱动根据编码后的PIN码的标识信息获取编码后的PIN码在所述内核驱动中的内存位置,对编码后的PIN码进行解析,将解析后的PIN码追加至该内存位置尾部,完成软键盘输入PIN码;
所述物理键盘输入USBKey PIN码包括:
所述内核驱动通过当前安装的内核键盘钩子截获物理键盘输入的PIN码,根据当前PIN码的标识信息获取当前PIN码在所述内核驱动中的内存位置,将当前PIN码追加至该内存位置尾部,完成物理键盘输入PIN码;
所述校验USBKey PIN码包括:
所述应用层向所述内核驱动发送校验PIN指令和当前PIN码的标识信息;
所述内核驱动根据当前PIN码的标识信息获取当前PIN码在所述内核驱动中的内存位置,提取当前PIN码,将当前PIN码加密封装成密文信息后返回给所述应用层;
所述应用层将所述密文信息转发至所述USBKey进行校验。
2.根据权利要求1所述的一种安全输入和校验USBKey PIN码的方法,其特征在于,所述安装内核键盘钩子包括:
当PIN输入窗口获取到焦点时,所述应用层打开内核驱动设备;
当所述内核驱动设备成功打开时,所述应用层向所述内核驱动发送第一IOCtrl指令,启动内核键盘钩子;
当启动内核键盘钩子时,所述应用层向所述内核驱动发送PIN码的标识信息,所述PIN码的标识信息包括:USBKey设备句柄信息、PIN输入窗口的进程及线程信息、PIN输入窗口句柄、PIN操作类型、PIN复杂度、PIN长度、随机数以及算法标识。
3.根据权利要求2所述的一种安全输入和校验USBKey PIN码的方法,其特征在于,所述安装内核键盘钩子包括:
所述内核驱动接收所述应用层下发的第一IOCtrl指令和所述PIN码的标识信息,启动内核键盘钩子;
所述内核驱动启动内核键盘钩子包括:
根据键盘类设备的名称查找键盘类驱动,记录键盘类驱动的起始地址以及空间范围,若未查找到键盘类驱动,则退出执行;
根据USB类型键盘端口驱动的名称以及PS/2类型键盘端口驱动的名称打开对应的键盘端口驱动,若该两种键盘端口驱动均打开失败,则退出执行;
依次遍历已查找到的键盘端口驱动对象上绑定的设备对象链,获取绑定的设备信息并判断设备扩展指针指向的地址空间是否位于键盘类驱动的地址范围内,用于查找绑定的键盘类驱动;
记录所述设备扩展指向的键盘类驱动回调实例函数地址的指针,启用内核键盘钩子时,将指针替换为重写后的键盘类驱动回调实例函数地址;卸载内核键盘钩子时,将其恢复为记录的原始指针;
根据所述PIN码的标识信息设置当前安装的内核键盘钩子的PIN码的标识信息。
4.根据权利要求2所述的一种安全输入和校验USBKey PIN码的方法,其特征在于,所述软键盘输入USBKey PIN码具体包括:
所述应用层产生随机数,根据所述随机数建立所述软键盘与PIN码之间的映射关系,并对所述软键盘的布局进行随机分散,显示分散处理后的所述软键盘的UI窗口,通过IOCtrl与所述内核驱动通信,将所述随机数下发至所述内核驱动;
所述应用层根据所述随机数对软键盘输入的PIN码进行编码,将编码后的PIN码以及对应的标识信息下发至所述USBKey的内核驱动;
所述内核驱动根据编码后的PIN码的标识信息中的随机数对编码后的PIN码进行解析,根据该标识信息中的USBKey设备句柄信息、PIN输入窗口的进程信息、PIN输入窗口句柄和PIN操作类型查找内核驱动中的PIN码存放的内存位置,将解析后的PIN码追加至该内存位置尾部,完成软键盘输入字符。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京握奇数据股份有限公司,未经北京握奇数据股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911405393.3/1.html,转载请声明来源钻瓜专利网。