一种密钥设备的验证方法、装置、电子设备及存储介质与流程
未命名
08-06
阅读:59
评论:0

1.本技术涉及计算机技术领域,尤其涉及一种密钥设备的验证方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.密钥设备(ukey)是一种通过通用串行总线接口(usb,universal serial bus)直接与电子设备连接,具有密码验证功能的小型存储设备。
3.目前,密钥设备常插入电子设备进行验证操作,电子设备常运行有linux(一种开源操作系统)、mac os(一种运行于苹果电脑的操作系统)等操作系统,电子设备的操作系统中运行有验证应用程序,密钥设备插入电子设备后,通过密钥设备提供的驱动程序进行数据读取,获得加密证书等信息供验证应用程序进行验证。
4.但是,目前的方案中,密钥设备往往提供的是windows(微软视窗操作系统)系统的驱动程序,这就使得电子设备运行有linux、mac os等其他操作系统时,由于驱动程序的不适配,验证应用程序会无法验证。
技术实现要素:
5.本技术实施例提供一种密钥设备的验证方法及装置,以解决现有技术中由于驱动程序的不适配,验证应用程序会无法验证的问题。
6.第一方面,本技术实施例提供了一种密钥设备的验证方法,应用于运行第一操作系统的电子设备,所述方法包括:
7.通过所述电子设备中安装的兼容应用程序,识别插入所述电子设备的密钥设备;
8.通过所述兼容应用程序运行所述密钥设备中的第二操作系统驱动程序,获取驱动信息以及所述密钥设备中的加密信息;所述兼容应用程序与所述第一操作系统中运行的验证应用程序连接,所述兼容应用程序用于在所述电子设备中运行第二操作系统的应用程序;
9.响应于所述验证应用程序的验证请求,通过所述兼容应用程序将所述驱动信息和加密信息封装后,发送至所述验证应用程序;
10.通过所述验证应用程序对接收到的所述驱动信息和所述加密信息进行验证,获得对所述密钥设备的验证结果。
11.第二方面,本技术实施例提供了一种密钥设备的验证装置,所述装置包括:
12.识别模块,用于通过所述电子设备中安装的兼容应用程序,识别插入所述电子设备的密钥设备;
13.读取模块,用于通过所述兼容应用程序运行所述密钥设备中的第二操作系统驱动程序,获取驱动信息以及所述密钥设备中的加密信息;所述兼容应用程序与所述第一操作系统中运行的验证应用程序连接,所述兼容应用程序用于在所述电子设备中运行第二操作系统的应用程序;
14.封装模块,用于响应于所述验证应用程序的验证请求,通过所述兼容应用程序将所述驱动信息和加密信息封装后,发送至所述验证应用程序;
15.验证模块,用于通过所述验证应用程序对接收到的所述驱动信息和所述加密信息进行验证,获得对所述密钥设备的验证结果。
16.第三方面,本技术实施例还提供了一种电子设备,包括处理器;
17.用于存储所述处理器可执行指令的存储器;
18.其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。
19.第四方面,本技术实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。
20.本技术实施例可以在密钥设备提供的第二操作系统的驱动程序和电子设备的第一操作系统不匹配的情况下,通过兼容应用程序在电子设备的第一操作系统中运行驱动程序,从而实现对密钥设备的正常读取,之后,兼容应用程序响应于验证应用程序的验证请求,可以将加密信息以及从驱动程序中获得的驱动信息封装后,发送至验证应用程序,从而使得验证应用程序获得密钥设备中的数据,实现对密钥设备的正常验证。本技术实施例解决了因密钥设备的驱动程序与电子设备的操作系统不适配,而导致无法验证密钥设备的问题。
21.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
22.图1是本技术实施例提供的一种实施场景图;
23.图2是本技术实施例提供的一种密钥设备的验证方法的步骤流程图;
24.图3是本技术实施例提供的一种密钥设备的验证方法的具体步骤流程图;
25.图4是本技术实施例提供的一种密钥设备的验证方法的系统框图;
26.图5是本技术实施例提供的一种密钥设备的验证方法的执行流程图
27.图6是本技术实施例提供的一种密钥设备的验证装置框图;
28.图7是本技术的一种装置的框图;
29.图8是本技术的一些实施例中服务器的结构示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
32.参照图1,图1是本技术实施例提供的一种实施场景图,包括:电子设备10和密钥设备20。
33.其中,电子设备10中运行有第一操作系统、在第一操作系统中运行的验证应用程序和兼容应用程序;密钥设备20中存储有第二操作系统的驱动程序以及加密信息;密钥设备20可以插入电子设备10。验证应用程序具体用于对密钥设备20中的加密信息进行验证,兼容应用程序则用于在电子设备10中运行第二操作系统的应用程序。
34.在相关技术中,由于很多服务厂商生产的密钥设备中添加的都是第二操作系统的驱动程序,这就与第一操作系统的电子设备产生冲突,导致电子设备的第一操作系统中运行的验证应用程序无法正常通过驱动程序验证密钥设备。
35.为了解决上述问题,本技术实施例可以在电子设备中安装兼容应用程序,兼容应用程序的功能是在第一操作系统的电子设备中运行第二操作系统的驱动程序,并且建立兼容应用程序与验证应用程序之间的转换接口,使得后续兼容应用程序与验证应用程序直接可以进行数据交互。在完成上述配置后,兼容应用程序可以从接入电子设备的多个设备中,识别插入电子设备的密钥设备,之后兼容应用程序可以通过运行密钥设备提供的第二操作系统驱动程序,来获得驱动信息,并实现对密钥设备中加密信息的读取,对密钥设备读取完成后,兼容应用程序可以响应于验证应用程序的验证请求,并通过转换接口将驱动信息和加密信息封装后,发送至验证应用程序,从而使得验证应用程序对接收到的驱动信息和加密信息进行验证,获得对密钥设备的验证结果。
36.综上,本技术实施例可以在密钥设备提供的第二操作系统的驱动程序和电子设备的第一操作系统不匹配的情况下,通过兼容应用程序在电子设备的第一操作系统中运行驱动程序,从而实现对密钥设备的正常读取;之后,兼容应用程序响应于验证应用程序的验证请求,可以将加密信息以及从驱动程序中获得的驱动信息封装后,发送至验证应用程序,从而使得验证应用程序获得密钥设备中的数据,实现对密钥设备的正常验证。本技术实施例解决了因密钥设备的驱动程序与电子设备的操作系统不适配,而导致验证应用程序无法验证密钥设备的问题。
37.图2,是本技术实施例提供的一种密钥设备的验证方法的步骤流程图,应用于运行第一操作系统的电子设备,如图2所示,该方法可以包括:
38.步骤101、通过所述电子设备中安装的兼容应用程序,识别插入所述电子设备的密钥设备。
39.在本技术实施例中,参照图1,密钥设备20可以通过连接插头插入电子设备10的对应插槽,实现二者的热连接,一种实现方式中,密钥设备20可以通过usb与电子设备10连接。
40.在实际应用中,通常会有多个外接设备(如鼠标、键盘等)插入电子设备,则为了在电子设备中对插入的密钥设备进行验证,首先需要通过电子设备中安装的兼容应用程序,从接入电子设备的多个外接设备中识别出密钥设备,识别到密钥设备后,后续才可以进行
密钥设备的读取及验证。
41.具体的,由于密钥设备提供的第二操作系统驱动程序与电子设备的第一操作系统不匹配,本技术实施例利用兼容应用程序作为中间件,由兼容应用程序运行第二操作系统驱动程序,以识别并读取密钥设备中的信息,再由兼容应用程序将读取的信息转发至验证应用程序进行密钥设备的验证。本技术实施例具体可以由兼容应用程序从第一操作系统的设备列表中识别得到密钥设备的设备信息,进而再将密钥设备的设备信息写入兼容应用程序中与第二操作系统对应的设备注册表中,从而完成对密钥设备的识别。
42.步骤102、通过所述兼容应用程序运行所述密钥设备中的第二操作系统驱动程序,获取驱动信息以及所述密钥设备中的加密信息。
43.其中,所述兼容应用程序与所述第一操作系统中运行的验证应用程序连接,所述兼容应用程序用于在所述电子设备中运行第二操作系统的应用程序。
44.在本技术实施例中,兼容应用程序是能够在多种第一操作系统(如linux,mac os、伯克利软件套件(bsd,berkeley software distribution)等)上运行第一操作系统(如windows操作系统)应用程序的兼容层。
45.在一种实现方式中,兼容应用程序可以是wine(wine is not an emulator)应用程序,wine可以在多种第一操作系统(如linux,macos及bsd等)上运行windows应用程序,wine不是像虚拟机或者模拟器一样模仿内部的windows逻辑,而是將windows的接口调用翻译成为动态的第一操作系统调用,免除了性能和其他一些行为的内存占用,从而能够干净地集合并在第一操作系统的电子设备上运行windows应用程序。
46.在另一种实现方式中,本技术的兼容应用程序也可以是在wine的基础上进行深度改造后得到的,该兼容应用程序的设计思路包括:通过分析windows系统(第二操作系统)的调用树,可以看到最上层是windows应用程序,再往下层是去调用动态链接库,再往下层是调用到windows内核;而分析linux操作系统(第一操作系统)的调用也是类似的,linux从最上层的应用然后再往下调用linux的动态库,再往下层调用linux的内核,因此可以看到这两棵调用树的结构是非常类似的。从而本技术的兼容应用程序也可以基于这个原则把windows的树枝干嫁接到linux树的上面,使得兼容应用程序对windows的应用程序的编程组件接口还有动态链接库进行模拟,系统地模拟了windows内核功能与服务,将windows应用程序的接口调用转换为linux操作系统的调用,使得windows的应用程序能够在linux操作系统上像原生应用程序一样去部署运行。
47.具体的,在首次运行兼容应用程序时,可以建立兼容应用程序与验证应用程序之间的对接接口,从而实现兼容应用程序与验证应用程序的转换连接。之后,在识别到插入电子设备的密钥设备后,即可通过兼容应用程序模拟的第二操作系统的接口和动态链接库,在兼容应用程序中运行密钥设备中的第二操作系统驱动程序,从而实现了在第一操作系统的电子设备上正常运行第二操作系统驱动程序的目的。
48.进一步的,在运行了第二操作系统驱动程序后,兼容应用程序即可获得第二操作系统驱动程序的驱动信息,并启动密钥设备读取其中的加密信息(加密证书等信息),从而完成兼容应用程序对密钥设备的启动和信息读取。
49.步骤103、响应于所述验证应用程序的验证请求,通过所述兼容应用程序将所述驱动信息和加密信息封装后,发送至所述验证应用程序。
50.在本技术实施例中,由于兼容应用程序经过配置完成了与验证应用程序的连接,则验证应用程序发起的验证请求可以发送至兼容应用程序,兼容应用程序响应于验证应用程序的验证请求,可以将驱动信息和加密信息封装后,发送至验证应用程序。此时兼容应用程序作为一个中间件,实现了将密钥设备中的信息读取并通过对接接口转换为第一操作系统的验证应用程序能够识别的形式,并发送至验证应用程序进行使用。
51.步骤104,通过所述验证应用程序对接收到的所述驱动信息和所述加密信息进行验证,获得对所述密钥设备的验证结果。
52.在本技术实施例中,验证应用程序获取到自己能够识别的驱动信息和加密信息后,则可以按照针对密钥设备预设的验证方式,通过驱动信息对加密信息进行验证,获得对密钥设备的验证结果,从而完成对密钥设备的正常验证。
53.具体的,密钥设备的加密信息包括加密证书,验证应用程序通过驱动信息可以验证加密证书的内容,若验证加密证书的内容正确,则确定密钥设备与当前的业务适配,从而保障了业务的安全执行。
54.综上,本技术实施例可以在密钥设备提供的第二操作系统的驱动程序和电子设备的第一操作系统不匹配的情况下,通过兼容应用程序在电子设备的第一操作系统中运行驱动程序,从而实现对密钥设备的正常读取,之后,兼容应用程序响应于验证应用程序的验证请求,可以将加密信息以及从驱动程序中获得的驱动信息封装后,发送至验证应用程序,从而使得验证应用程序获得密钥设备中的数据,实现对密钥设备的正常验证。本技术实施例解决了因密钥设备的驱动程序与电子设备的操作系统不适配,而导致无法验证密钥设备的问题。
55.图3是本技术实施例提供的一种密钥设备的验证方法的具体步骤流程图,如图3所示,该方法可以包括:
56.步骤201、通过所述兼容应用程序获取所述第一操作系统的设备列表。
57.可选的,第一操作系统为linux操作系统,第二操作系统为windows操作系统。
58.在本技术实施例中,第一操作系统若为linux操作系统,则插入电子设备的外接设备的设备信息都会记录在第一操作系统的设备列表中,因此,获取第一操作系统的设备列表,可以后续根据设备列表中的信息,甄别所有外接设备中的密钥设备。
59.可选的,步骤201具体可以通过所述兼容应用程序遍历所述第一操作系统的所有inf文件,获得所述设备列表的方式进行实现。
60.在本技术实施例中,在第一操作系统为linux操作系统的情况下,其记录电子设备当前外接设备的设备列表文件属于inf文件(device information file),inf文件是用来描述设备或文件等数据信息的文件,兼容应用程序通过遍历第一操作系统的所有inf文件,从而可以获得记录外接设备的设备信息的设备列表。
61.步骤202、通过所述兼容应用程序,从所述设备列表中识别插入所述电子设备的密钥设备的信息。
62.在本技术实施例中,兼容应用程序获得设备列表后,可以从设备列表中记录的各个外接设备的设备信息中,找到与密钥设备匹配的信息,该过程具体可以通过遍历设备列表中记录的每个外接设备的信息,找到与密钥设备的标识符一致的外接设备,将其视为密钥设备。
63.步骤203、通过所述兼容应用程序,在与所述第二操作系统对应的设备注册表中添加所述密钥设备的信息,完成对所述密钥设备的识别。
64.在本技术实施例中,由于兼容应用程序通过模拟的第二操作系统的接口和动态链接库来运行第二操作系统驱动程序,因此,兼容应用程序模拟的第二操作系统中设置有设备注册表,设备注册表是第二操作系统用于记录外接设备信息的文件。兼容应用程序可以在与第二操作系统对应的设备注册表中,添加之前从第一操作系统的设备列表中识别到的密钥设备的信息,从而完成兼容应用程序对密钥设备的识别。
65.可选的,步骤202具体可以包括:
66.子步骤2021、通过所述兼容应用程序,获取所述设备列表中记录的各个外接设备的设备描述符。
67.子步骤2022、将所述设备描述符为目标设备描述符的外接设备,确定为所述密钥设备,所述目标设备描述符为针对所述密钥设备预设的设备描述符。
68.在本技术实施例中,针对子步骤2021-2022,设备列表中记录了电子设备的各个外接设备的设备描述符,设备描述符包含pid(product id,产品识别码)和vid(vender id,供应商标识。而密钥设备具有自己对应的目标设备描述符,即密钥设备具有自己对应的pid和vid。因此,在遍历设备列表中记录的各个外接设备的设备描述符的过程中,只要找到目标设备描述符,即找到了密钥设备的pid和vid,此时可以将目标设备描述符对应的外接设备识别为密钥设备。
69.可选的,在子步骤2021-2022的基础上,步骤203具体可以包括:
70.子步骤2031、通过所述兼容应用程序,在与所述第二操作系统对应的设备注册表中添加所述密钥设备的目标设备描述符。
71.在本技术实施例中,由于兼容应用程序模拟的第二操作系统中设置有设备注册表,且设备注册表是第二操作系统用于记录外接设备信息的文件,因此兼容应用程序可以在设备注册表中添加密钥设备的目标设备描述符,从而完成兼容应用程序模拟的第二操作系统对密钥设备的识别。
72.步骤204、通过所述兼容应用程序运行所述密钥设备中的第二操作系统驱动程序,获取驱动信息以及所述密钥设备中的加密信息。
73.该步骤具体可以参照上述步骤102,此处不做赘述。
74.步骤205、响应于所述验证应用程序的验证请求,通过所述兼容应用程序将所述驱动信息和加密信息封装后,发送至所述验证应用程序。
75.该步骤具体可以参照上述步骤103,此处不做赘述。
76.步骤206、通过所述验证应用程序对接收到的所述驱动信息和所述加密信息进行验证,获得对所述密钥设备的验证结果。
77.该步骤具体可以参照上述步骤104,此处不做赘述。
78.可选的,所述方法还可以包括:
79.步骤207、在首次启动所述兼容应用程序的情况下,响应于选择操作,从第一操作系统中运行的多个应用程序中选取所述验证应用程序。
80.在本技术实施例中,为了让兼容应用程序建立与验证应用程序之间的连接,使得兼容应用程序作为验证应用程序与密钥设备之间的中间件,来辅助验证应用程序对驱动程
序不匹配的密钥设备进行验证,则首次启动兼容应用程序的情况下,可以响应于选择操作,从第一操作系统中运行的多个应用程序中选取验证应用程序,选取验证应用程序的目的是为了后续建立兼容应用程序建立与验证应用程序之间的连接。
81.步骤208、通过所述兼容应用程序,将所述验证应用程序与所述第一操作系统之间的第一对接接口,替换为所述验证应用程序与所述兼容应用程序之间的第二对接接口。
82.其中,在所述验证应用程序向所述兼容应用程序发送数据的情况下,所述第二对接接口用于将数据由第一操作系统对应的格式转换为第二操作系统对应的格式后进行发送;在所述兼容应用程序向所述验证应用程序发送数据的情况下,所述第二对接接口用于将数据由第二操作系统对应的格式转换为第一操作系统对应的格式后进行发送。
83.在本技术实施例中,由于兼容应用程序模拟的是第二操作系统的程序,而电子设备运行的是第一操作系统,则由于两个操作系统的差异,需要设置验证应用程序与兼容应用程序之间的第二对接接口。第二对接接口中可以定义第一操作系统和第二操作系统的数据转换方法,从而起到数据格式转换的作用。在验证应用程序向兼容应用程序发送数据的情况下,第二对接接口用于将数据由第一操作系统对应的格式转换为第二操作系统对应的格式后进行发送;在兼容应用程序向验证应用程序发送数据的情况下,第二对接接口用于将数据由第二操作系统对应的格式转换为第一操作系统对应的格式后进行发送。通过第二对接接口的转换功能,真正达到了验证应用程序与兼容应用程序之间数据的正常交互,使得验证应用程序能够识别和使用兼容应用程序发送的数据,兼容应用程序也能够识别和使用验证应用程序发送的数据。
84.在步骤207-208的基础上,步骤205具体可以包括:
85.子步骤2051、通过所述第二对接接口,将所述验证请求由第一操作系统对应的格式转换为第二操作系统对应的格式后,由所述兼容应用程序进行接收。
86.在本发明实施例中,基于第二对接接口的设置,在验证应用程序向兼容应用程序发送验证请求时,第二对接接口可以将所述验证请求由第一操作系统对应的格式转换为第二操作系统对应的格式后,由兼容应用程序进行接收。从而可以将第一操作系统格式的验证请求转换为第二操作系统格式的验证请求后,由兼容应用程序获取和正常识别响应。
87.子步骤2052、响应于所述验证应用程序的验证请求,通过所述第二对接接口,将所述驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式并封装后,发送至所述验证应用程序。
88.在本技术实施例中,基于第二对接接口的设置,在兼容应用程序向验证应用程序发送驱动信息和加密信息时,第二对接接口可以将驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式后,由验证应用程序进行接收。从而可以将第二操作系统格式的驱动信息和加密信息转换为第一操作系统格式后,由验证应用程序获取和正常识别使用。
89.可选的,子步骤2052具体可以包括:
90.子步骤20521、通过所述兼容应用程序的第二对接接口,将所述驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式并封装。
91.子步骤20522、通过所述兼容应用程序的第二对接接口,将封装后的驱动信息和加密信息通过套接字方式发送至所述验证应用程序。
92.在本技术实施例中,针对子步骤20521-20522,在兼容应用程序向验证应用程序发送驱动信息和加密信息时,可以具体通过第二对接接口,将驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式并封装,封装后的驱动信息和加密信息再通过套接字(socket)的方式发送至所述验证应用程序,从而实现兼容应用程序与与第二操作系统端的验证应用程序进行桥接建立连接进行交互。
93.具体的,在第一操作系统为linux操作系统,第二操作系统为windows操作系统的情况下,兼容应用程序在识别好密钥设备后,可以将读取密钥设备得到的驱动信息和加密信息添加了套接字的封装,并使用xmlhttprequest(一组接口函数集,可被多种脚本语言调用)的接口来发送超文本传输协议(http,hyper text transfer protocol)的方式把驱动信息和加密信息发送到linux端的验证应用程序中,实现了与linux的验证应用程序的交互。
94.需要说明的是,兼容应用程序还实现了清除密钥设备的hid(human interface device,人机接口设备)缓存的功能,这是由于兼容应用程序只会记录首次插入电子设备的密钥设备的hid,对于后续再插入电子设备的其他密钥设备,兼容应用程序还是会使用首次插入电子设备的密钥设备的hid,这就导致电子设备缓存的hid与实际接入的密钥设备的hid不符,造成验证失败。因此,在每次解除密钥设备与电子设备的连接时,电子设备都会清除hid缓存中存入的hid,使得后续再插入的密钥设备的hid可以被正常记录和使用,解决了电子设备缓存的hid与实际接入的密钥设备的hid不符的问题。
95.综上,结合图4和图5对本技术实施例的整体方案进行描述,图4是一种密钥设备的验证方法的系统框图,图5是一种密钥设备的验证方法的执行流程图。
96.参照图4,其中,电子设备运行有linux操作系统,以及在linux操作系统中运行有linux验证应用程序。兼容应用程序可以通过套接字服务与linux验证应用程序进行数据交互。电子设备中的兼容应用程序可以通过windows程序运行密钥设备的windows驱动,从而对密钥设备进行读取,并通过linux接口将驱动信息和从密钥设备读取的加密信息,由套接字服务发送至linux验证应用程序,实现电子设备对密钥设备的正常验证。
97.参照图5,进行电子设备对密钥设备的验证时,首先兼容应用程序获取设备信息查找并启动密钥设备,之后通过兼容应用程序运行密钥设备的驱动程序并通知linux接口处理完成,之后兼容应用程序通过linux接口封装驱动信息及加密信息,再由套接字服务器建立http链接,将封装数据包以套接字方式发送至linux验证应用程序,linux验证应用程序接收后会返回请求,返回请求依次传递至密钥设备,完成验证。
98.综上,本技术实施例可以在密钥设备提供的第二操作系统的驱动程序和电子设备的第一操作系统不匹配的情况下,通过兼容应用程序在电子设备的第一操作系统中运行驱动程序,从而实现对密钥设备的正常读取,之后,兼容应用程序响应于验证应用程序的验证请求,可以将加密信息以及从驱动程序中获得的驱动信息封装后,发送至验证应用程序,从而使得验证应用程序获得密钥设备中的数据,实现对密钥设备的正常验证。本技术实施例解决了因密钥设备的驱动程序与电子设备的操作系统不适配,而导致无法验证密钥设备的问题。
99.图6是本技术实施例提供的一种密钥设备的验证装置的框图,该装置包括:
100.识别模块301,用于通过所述电子设备中安装的兼容应用程序,识别插入所述电子
设备的密钥设备;
101.读取模块302,用于通过所述兼容应用程序运行所述密钥设备中的第二操作系统驱动程序,获取驱动信息以及所述密钥设备中的加密信息;所述兼容应用程序与所述第一操作系统中运行的验证应用程序连接,所述兼容应用程序用于在所述电子设备中运行第二操作系统的应用程序;
102.封装模块303,用于响应于所述验证应用程序的验证请求,通过所述兼容应用程序将所述驱动信息和加密信息封装后,发送至所述验证应用程序;
103.验证模块304,用于通过所述验证应用程序对接收到的所述驱动信息和所述加密信息进行验证,获得对所述密钥设备的验证结果。
104.可选的,所述识别模块301,包括:
105.列表获取子模块,用于通过所述兼容应用程序获取所述第一操作系统的设备列表;
106.识别子模块,用于通过所述兼容应用程序,从所述设备列表中识别插入所述电子设备的密钥设备的信息;
107.添加子模块,用于通过所述兼容应用程序,在与所述第二操作系统对应的设备注册表中添加所述密钥设备的信息,完成对所述密钥设备的识别。
108.可选的,所述列表获取子模块,包括:
109.遍历单元,用于通过所述兼容应用程序遍历所述第一操作系统的所有inf文件,获得所述设备列表。
110.可选的,所述识别子模块,包括:
111.识别单元,用于通过所述兼容应用程序,获取所述设备列表中记录的各个外接设备的设备描述符;
112.确定单元,用于将所述设备描述符为目标设备描述符的外接设备,确定为所述密钥设备,所述目标设备描述符为针对所述密钥设备预设的设备描述符;
113.所述添加子模块,包括:
114.添加单元,用于通过所述兼容应用程序,在与所述第二操作系统对应的设备注册表中添加所述密钥设备的目标设备描述符。
115.可选的,所述装置还包括:
116.选取模块,用于在首次启动所述兼容应用程序的情况下,响应于选择操作,从第一操作系统中运行的多个应用程序中选取所述验证应用程序;
117.配置模块,用于通过所述兼容应用程序,将所述验证应用程序与所述第一操作系统之间的第一对接接口,替换为所述验证应用程序与所述兼容应用程序之间的第二对接接口;
118.其中,在所述验证应用程序向所述兼容应用程序发送数据的情况下,所述第二对接接口用于将数据由第一操作系统对应的格式转换为第二操作系统对应的格式后进行发送;在所述兼容应用程序向所述验证应用程序发送数据的情况下,所述第二对接接口用于将数据由第二操作系统对应的格式转换为第一操作系统对应的格式后进行发送。
119.可选的,所述封装模块303,包括:
120.转换子模块,用于通过所述第二对接接口,将所述验证请求由第一操作系统对应
的格式转换为第二操作系统对应的格式后,由所述兼容应用程序进行接收;
121.发送子模块,用于响应于所述验证应用程序的验证请求,通过所述第二对接接口,将所述驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式并封装后,发送至所述验证应用程序。
122.可选的,所述发送子模块,包括:
123.转换单元,用于通过所述兼容应用程序的第二对接接口,将所述驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式并封装;
124.发送单元,用于通过所述兼容应用程序的第二对接接口,将封装后的驱动信息和加密信息通过套接字方式发送至所述验证应用程序。
125.可选的,所述第一操作系统为linux操作系统,所述第二操作系统为windows操作系统。
126.综上,本技术实施例可以在密钥设备提供的第二操作系统的驱动程序和电子设备的第一操作系统不匹配的情况下,通过兼容应用程序在电子设备的第一操作系统中运行驱动程序,从而实现对密钥设备的正常读取,之后,兼容应用程序响应于验证应用程序的验证请求,可以将加密信息以及从驱动程序中获得的驱动信息封装后,发送至验证应用程序,从而使得验证应用程序获得密钥设备中的数据,实现对密钥设备的正常验证。本技术实施例解决了因密钥设备的驱动程序与电子设备的操作系统不适配,而导致无法验证密钥设备的问题。
127.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
128.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
129.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
130.本技术实施例提供了一种密钥设备的验证装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述一个或多个实施例中所述的方法。
131.图7是根据一示例性实施例示出的一种密钥设备的验证装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
132.参照图7,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
133.处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
134.存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示
例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
135.电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
136.多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
137.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
138.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
139.传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
140.通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频信息处理(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
141.在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
142.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
143.图8是本技术的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
144.服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
145.一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行上述实施例方法。
146.一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行上述实施例方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本技术方法实施例的描述。
147.此外,需要说明的是:本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行上述实施例方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本技术方法实施例的描述。
148.本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
149.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
150.以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
151.以上对本技术所提供的一种密钥设备的验证方法、装置、电子设备及计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种密钥设备的验证方法,应用于运行第一操作系统的电子设备,其特征在于,所述方法包括:通过所述电子设备中安装的兼容应用程序,识别插入所述电子设备的密钥设备;通过所述兼容应用程序运行所述密钥设备中的第二操作系统驱动程序,获取驱动信息以及所述密钥设备中的加密信息;所述兼容应用程序与所述第一操作系统中运行的验证应用程序连接,所述兼容应用程序用于在所述电子设备中运行第二操作系统的应用程序;响应于所述验证应用程序的验证请求,通过所述兼容应用程序将所述驱动信息和加密信息封装后,发送至所述验证应用程序;通过所述验证应用程序对接收到的所述驱动信息和所述加密信息进行验证,获得对所述密钥设备的验证结果。2.根据权利要求1所述的密钥设备的验证方法,其特征在于,所述通过所述电子设备中安装的兼容应用程序,识别插入所述电子设备的密钥设备,包括:通过所述兼容应用程序获取所述第一操作系统的设备列表;通过所述兼容应用程序,从所述设备列表中识别插入所述电子设备的密钥设备的信息;通过所述兼容应用程序,在与所述第二操作系统对应的设备注册表中添加所述密钥设备的信息,完成对所述密钥设备的识别。3.根据权利要求2所述的密钥设备的验证方法,其特征在于,所述通过所述兼容应用程序获取所述第一操作系统的设备列表,包括:通过所述兼容应用程序遍历所述第一操作系统的所有inf文件,获得所述设备列表。4.根据权利要求2所述的密钥设备的验证方法,其特征在于,所述通过所述兼容应用程序,从所述设备列表中识别插入所述电子设备的密钥设备的信息,包括:通过所述兼容应用程序,获取所述设备列表中记录的各个外接设备的设备描述符;将所述设备描述符为目标设备描述符的外接设备,确定为所述密钥设备,所述目标设备描述符为针对所述密钥设备预设的设备描述符;所述通过所述兼容应用程序,在与所述第二操作系统对应的设备注册表中添加所述密钥设备的信息,包括:通过所述兼容应用程序,在与所述第二操作系统对应的设备注册表中添加所述密钥设备的目标设备描述符。5.根据权利要求1所述的密钥设备的验证方法,其特征在于,所述方法还包括:在首次启动所述兼容应用程序的情况下,响应于选择操作,从第一操作系统中运行的多个应用程序中选取所述验证应用程序;通过所述兼容应用程序,将所述验证应用程序与所述第一操作系统之间的第一对接接口,替换为所述验证应用程序与所述兼容应用程序之间的第二对接接口;其中,在所述验证应用程序向所述兼容应用程序发送数据的情况下,所述第二对接接口用于将数据由第一操作系统对应的格式转换为第二操作系统对应的格式后进行发送;在所述兼容应用程序向所述验证应用程序发送数据的情况下,所述第二对接接口用于将数据由第二操作系统对应的格式转换为第一操作系统对应的格式后进行发送。6.根据权利要求5所述的密钥设备的验证方法,其特征在于,所述响应于所述验证应用
程序的验证请求,通过所述兼容应用程序将所述驱动信息和加密信息封装后,发送至所述验证应用程序,包括:通过所述第二对接接口,将所述验证请求由第一操作系统对应的格式转换为第二操作系统对应的格式后,由所述兼容应用程序进行接收;响应于所述验证应用程序的验证请求,通过所述第二对接接口,将所述驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式并封装后,发送至所述验证应用程序。7.根据权利要求6所述的密钥设备的验证方法,其特征在于,所述通过所述第二对接接口,将所述驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式并封装后,发送至所述验证应用程序,包括:通过所述兼容应用程序的第二对接接口,将所述驱动信息和加密信息由第二操作系统对应的格式转换为第一操作系统对应的格式并封装;通过所述兼容应用程序的第二对接接口,将封装后的驱动信息和加密信息通过套接字方式发送至所述验证应用程序。8.根据权利要求1-7任一项所述的密钥设备的验证方法,其特征在于,所述第一操作系统为linux操作系统,所述第二操作系统为windows操作系统。9.一种密钥设备的验证装置,应用于运行第一操作系统的电子设备,其特征在于,所述装置包括:识别模块,用于通过所述电子设备中安装的兼容应用程序,识别插入所述电子设备的密钥设备;读取模块,用于通过所述兼容应用程序运行所述密钥设备中的第二操作系统驱动程序,获取驱动信息以及所述密钥设备中的加密信息;所述兼容应用程序与所述第一操作系统中运行的验证应用程序连接,所述兼容应用程序用于在所述电子设备中运行第二操作系统的应用程序;封装模块,用于响应于所述验证应用程序的验证请求,通过所述兼容应用程序将所述驱动信息和加密信息封装后,发送至所述验证应用程序;验证模块,用于通过所述验证应用程序对接收到的所述驱动信息和所述加密信息进行验证,获得对所述密钥设备的验证结果。10.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的方法。11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至8中任一项所述的方法。
技术总结
本申请提供了一种密钥设备的验证方法及装置,包括:通过电子设备中安装的兼容应用程序,识别插入电子设备的密钥设备;通过兼容应用程序运行密钥设备中的第二操作系统驱动程序,获取驱动信息以及密钥设备中的加密信息;兼容应用程序与第一操作系统中运行的验证应用程序连接,兼容应用程序用于在电子设备中运行第二操作系统的应用程序;响应于验证应用程序的验证请求,通过兼容应用程序将驱动信息和加密信息封装后,发送至验证应用程序;通过验证应用程序对接收到的驱动信息和加密信息进行验证,获得对密钥设备的验证结果。本申请解决了因密钥设备的驱动程序与电子设备的操作系统不适配,而导致无法验证密钥设备的问题。而导致无法验证密钥设备的问题。而导致无法验证密钥设备的问题。
技术研发人员:请求不公布姓名
受保护的技术使用者:中科方德软件有限公司
技术研发日:2023.04.14
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/