鉴权方法及设备与流程

文档序号:25651406发布日期:2021-06-29 20:35阅读:293来源:国知局
鉴权方法及设备与流程

1.本申请涉及安全通信技术领域,特别是涉及一种鉴权方法和设备,该方法可以用于有开通设备或设备上接口的使用权限的需求时,对该设备或设备上接口的鉴权。


背景技术:

2.设备上会存储很多信息,有的信息对于设备的生产商或者使用者非常重要。目前,通常采用密码本的方式对设备进行鉴权,以确保设备以及其上信息的安全。具体而言,密码本上保存着多个密码,在设备上预置一个或多个密码,当有开放该设备的使用权限的需求时,由指定人员(如:调试人员、运维人员、生产人员等)将密码本中的密码输入到设备中,和设备中预置的密码进行匹配,匹配成功时,视作该设备鉴权通过,该设备上匹配成功的密码对应的使用权限开放,从而可以通过设备上已开放的使用权限访问对应的重要信息。
3.但是,由于密码本的存储、传输和匹配均采用的是明文,而且,人为管理密码本非常容易泄露密码本中的密码,可见,采用该密码本对设备进行鉴权,安全性较低。基于此,亟待提供一种安全等级更高的鉴权方式,确保设备在安全的情况下被开放使用权限,从而保障其上信息的安全。


技术实现要素:

4.基于此,本申请实施例提供了一种鉴权方法和设备,通过鉴权工具对待鉴权设备发送来的信息进行加密,并由待鉴权设备进行解密的方式,实现对待鉴权设备更为安全的鉴权。
5.第一方面,提供了一种鉴权方法,应用在包括第一设备和第二设备的场景中,以第一设备为执行主体,该鉴权方法例如可以包括:第一设备接收第二设备发送的采用第一私钥加密的第一信息后,根据第一公钥进行解密,获得该第一信息,其中,第一公钥与第一私钥对应;那么,第一设备即可对第一信息和本地存储的第二信息进行匹配验证,获得验证结果,并根据该验证结果,确定第一设备的使用权限。具体而言,当验证结果表示验证通过,则第一设备开放对应的使用权限,当验证结果表示验证未通过,则第一设备不开放对应的使用权限。这样,通过加解密技术以及具有鉴权功能的第二设备,实现对待鉴权的第一设备的鉴权,克服了目前通过密码本或者接口对应焊盘裸露的等方式保护第一设备安全时存在的安全隐患,确保了对待鉴权的第一设备更加安全和可靠的保护。
6.其中,第一设备可以是待鉴权的任何设备,例如:可以指网络设备或单板,又例如:也可以指设备上的调试接口或业务接口。第二设备可以是指具有鉴权功能的鉴权工具。当第一设备指调试接口时,鉴权工具将第一私钥加密的第一信息下发到调试接口所在设备并由第一公钥进行解密,通过验证通过后,该调试接口所在设备开放该调试接口的使用权限,供访问和使用该调试接口。
7.可选的,第一私钥和第一公钥可以是第二设备生成的;或者,第一私钥和第一公钥也可以是鉴权服务器为第二设备配置的。
8.为了更加安全,本申请实施例中还可以包括:第一设备接收第二设备发送的经过鉴权服务器的第二私钥加密的第一公钥;第一设备使用本地存储的鉴权服务器的第二公钥,对加密的第一公钥进行解密,获得所述第一公钥。这样,通过鉴权服务器这一安全等级较高的服务器对第一公钥进行加密,相比在第一设备上直接保存第一公钥,更加安全和可靠。
9.可选地,第二信息包括第一随机数,在所述接收第二设备发送的采用第一私钥加密的第一信息之前,本申请实施例还可以包括:第一设备向第二设备发送挑战请求消息,该挑战请求消息中携带第一随机数;那么,第一设备接收第二设备发送的采用第一私钥加密的第一信息,包括:第一设备接收所述第二设备发送的响应消息,该响应消息中携带所述第一信息,所述第一信息包括第二随机数;此时,第一设备对所述第一信息和本地存储的第二信息进行匹配验证,包括:对所述第一随机数和所述第二随机数进行匹配验证。其中,第一随机数可以唯一标识对第一设备的一次鉴权,使用随机数进行鉴权,确保每次鉴权中都可以基于本次生成的随机数进行,能够有效防止第一设备的信息被复制,防止重放攻击。
10.可选地,该第二信息还可以包括第一设备标识信息,第一信息中包括第二设备标识信息,其中,第一设备标识信息用于唯一标识所述第一设备,那么,第一设备对所述第一信息和本地存储的第二信息进行匹配验证,还可以包括:对所述第一设备标识信息和所述第二设备标识信息进行匹配验证。作为一个示例,所述第一设备标识信息为第一设备id,所述第二设备标识信息为第二设备id,那么,所述第一设备对所述第一信息和本地存储的第二信息进行匹配验证,还可以包括:对所述第一设备id和所述第二设备id进行匹配验证。作为另一个示例,为了更加安全,所述第一设备标识信息为第一设备id的哈希值,所述第二设备标识信息为第二设备id的哈希值,那么,第一设备对所述第一信息和本地存储的第二信息进行匹配验证,还可以包括:对所述第一设备id的哈希值和第二设备id的哈希值进行匹配验证。其中,所述第一设备id用于唯一标识所述第一设备。为了鉴权的安全进行,本申请实施例中设备id为非公开的能够唯一标识设备的id,例如:第一设备id为第一设备出厂时定义的硬件唯一密钥(英文:hardware unique key,简称:huk),又例如:第一设备id为根据第一设备的晶片标识(英文:die identification,简称:die id)和唯一设备标识(英文:unique device identification,简称:udi)处理得到的。这样,通过第一设备本地存储的第一设备id或第一设备id的哈希值等第一设备标识信息,对解密后获得的第二设备id或第二设备id的哈希值等第二设备标识信息进行验证,指导第一设备对其使用权限的管理,实现对第一设备可靠和安全的鉴权。
11.可选的,该第二信息还可以包括目标有效信息,所述第一信息中包括实际使用信息,其中,实际使用信息用于表征所述第一设备上当前使用所述第二设备鉴权的情况。那么,第一设备对所述第一信息和本地存储的第二信息进行匹配验证,还可以包括:第一设备根据所述目标有效信息,对所述实际使用信息进行验证,以确定所述第二设备能否继续用于对所述第一设备进行鉴权。当第一设备确定实际使用信息还未达到目标有效信息,则,确定第二设备对于第一设备而言有效,可以继续使用第二设备对第一设备进行鉴权;否则,当第一设备确定实际使用信息已经达到目标有效信息,则,确定第二设备对于第一设备而言已经失效,不能继续使用第二设备对第一设备进行鉴权。其中,目标有效信息为允许使用所述第二设备进行鉴权的最多次数(例如:5次);或者,目标有效信息为允许使用所述第二设
备进行鉴权的最长时间(例如:20小时)。这样,通过第一设备本地存储的目标有效信息,对第一信息中携带的实际使用信息进行验证,指导第一设备对其使用权限的管理,实现对第一设备可靠和安全的鉴权。
12.可选地,该第一信息还可以包括指示信息,所述指示信息用于指示下述信息中的至少一个:开放所述使用权限的时间、开放所述使用权限的接口或开放所述使用权限的操作。其中,该指示信息可以是第一设备在挑战请求消息中发送给第二设备的,也可以是第二设备根据自身的鉴权范围指定的对应的指示信息;还可以是第一设备在挑战请求消息中发送给第二设备的,并由第二设备根据自身的鉴权范围确定出的对应的指示信息。这样,通过第一设备接收并解密后获得的指示信息,指导第一设备对其上具体的使用权限的管理,实现对第一设备可靠和安全的鉴权。
13.第二方面,本申请实施例还提供了一种对第一设备的使用权限进行鉴权的方法,应用在包括第一设备和第二设备的场景中,以第二设备为执行主体,该鉴权方法例如可以包括:第二设备采用本地存储的第一私钥对所述第一信息进行加密,并向第一设备发送经过所述第一私钥加密的所述第一信息,以对所述第一设备的使用权限进行鉴权。这样,通过加解密技术以及具有鉴权功能的第二设备,实现对待鉴权的第一设备的鉴权,克服了目前通过密码本或者接口对应焊盘裸露的等方式保护第一设备安全时存在的安全隐患,确保了对待鉴权的第一设备更加安全和可靠的保护。
14.其中,第二设备可以是指具有鉴权功能的鉴权工具。第一设备可以是待鉴权的任何设备,例如:可以指网络设备或单板,又例如:也可以指设备上的调试接口或业务接口。当第一设备指调试接口时,鉴权工具将第一私钥加密的第一信息下发到调试接口所在设备并由第一公钥进行解密,通过验证通过后,该调试接口所在设备开放该调试接口的使用权限,供访问和使用该调试接口。
15.可选的,第一私钥和第一公钥可以是第二设备生成的;或者,第一私钥和第一公钥也可以是鉴权服务器为第二设备配置的。
16.可选地,本申请实施例中还可以包括:第二设备接收鉴权服务器发送的鉴权服务器的第二公钥、经过第二私钥加密的所述第一公钥和经过所述第二私钥加密的所述第一私钥,所述第二私钥和所述第二公钥对应;接着,第二设备利用所述第二公钥对所述经过所述第二私钥加密的所述第一私钥进行解密,获得所述第一私钥;第二设备也可以将所述经过所述第二私钥加密的所述第一公钥发送至所述第一设备,以便所述第一设备基于本地存储的所述第二公钥,对所述经过所述第二私钥加密的所述第一公钥进行解密,获得所述第一公钥。
17.可选地,该第一信息包括第一随机数,那么,在对所述第一信息进行加密以前,本申请实施例还可以包括:第二设备接收所述第一设备发送的挑战请求消息,所述挑战请求消息中携带所述第一随机数;那么,该第二设备向所述第一设备发送经过所述第一私钥加密的所述第一信息,可以包括:第二设备向所述第一设备发送响应消息,所述响应消息中携带经过所述第一私钥加密的所述第一随机数。
18.可选地,该第一信息可以包括第一设备标识信息,该第一设备标识信息被所述第一设备用于身份验证。其中,第一设备标识信息为所述第一设备标识id或所述第一设备id的哈希值。作为一个示例,当第一信息包括第一设备id,本申请实施例还可以包括:第二设
备对所述第一设备id和本地存储的与所述第一设备对应的第二设备id进行匹配验证。作为另一个示例,该第一信息还可以包括第一设备id的哈希值,那么,本申请实施例还可以包括:对所述第一设备id的哈希值和本地存储的与所述第一设备对应的第二设备id的哈希值进行匹配验证。其中,所述第一设备id为所述第一设备出厂时定义的硬件唯一密钥huk,或者,所述第一设备id为根据所述第一设备的晶片标识die id和唯一设备标识udi处理得到的。
19.可选地,该第一信息还包括目标有效信息,该目标有效信息被所述第一设备用于确定能否继续使用所述第二设备进行鉴权,那么,本申请实施例还可以包括:第二设备更新所述实际使用信息,所述实际使用信息用于表征所述第一设备上当前使用所述第二设备鉴权的情况;接着,第二设备根据所述目标有效信息,对更新后的所述实际使用信息进行验证,以确定所述第二设备能否继续用于对所述第一设备进行鉴权。其中,该目标有效信息为允许使用所述第二设备进行鉴权的最多次数,则,所述实际使用信息为所述第一设备截止当前使用所述第二设备进行鉴权的实际使用次数;或者,该目标有效信息为允许使用所述第二设备进行鉴权的最长时间,则,所述实际使用信息为从所述目标有效信息的计时起始时刻到当前时刻的实际使用时间。
20.可选地,该第一信息还可以包括指示信息,所述指示信息用于指示下述信息中的至少一个:开放所述使用权限的时间、开放所述使用权限的接口或开放所述使用权限的操作。
21.第二方面提供的方法的各种可能的实现方式以及达到的技术效果,可以参照前述第一方面提供的方法的介绍,此处不再赘述。
22.第三方面,本申请还提供了第一设备,包括收发单元和处理单元。其中,收发单元用于执行上述第一方面提供的方法中的收发操作;处理单元用于执行上述第一方面中除了收发操作以外的其他操作。例如:当所述第一设备执行所述第一方面所述的方法时,所述收发单元用于接收第二设备发送的采用第一私钥加密的第一信息;所述处理单元用于根据第一公钥进行解密,获得该第一信息,所述处理单元还用于对第一信息和本地存储的第二信息进行匹配验证,获得验证结果,所述处理单元还用于根据该验证结果,确定第一设备的使用权限。
23.第四方面,本申请实施例还提供了第二设备,该第二设备包括收发单元和处理单元。其中,收发单元用于执行上述第二方面提供的方法中的收发操作;处理单元用于执行上述第二方面中除了收发操作以外的其他操作。例如:当所述第二设备执行所述第二方面所述的方法时,所述收发单元用于向第一设备发送经过所述第一私钥加密的所述第一信息;所述处理单元用于采用本地存储的第一私钥对所述第一信息进行加密。
24.第五方面,本申请实施例还提供了一种第一设备,包括通信接口和处理器。其中,通信接口用于执行前述第一方面提供的方法中的收发操作;处理器,用于执行前述第一方面提供的方法中除所述收发操作以外的其他操作。
25.第六方面,本申请实施例还提供了一种第二设备,包括通信接口和处理器。其中,通信接口用于执行前述第二方面提供的方法中的收发操作;处理器,用于执行前述第二方面提供的方法中除所述收发操作以外的其他操作。
26.第七方面,本申请实施例还提供了一种第一设备,该第一设备包括存储器和处理
器。其中,存储器用于存储程序代码;处理器用于运行所述程序代码中的指令,使得该第一设备执行以上第一方面提供的方法。
27.第八方面,本申请实施例还提供了一种第二设备,该第二设备包括存储器和处理器。其中,存储器用于存储程序代码;处理器用于运行所述程序代码中的指令,使得该第一设备执行以上第二方面提供的方法。
28.第九方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行以上第一方面或第二方面提供的所述的鉴权方法。
29.第十方面,本申请实施例还提供了计算机程序产品,当其在计算机上运行时,使得计算机执行前述第一方面或第二方面提供的所述的鉴权方法。
30.第十一方面,本申请实施例还提供了一种通信系统,该通信系统包括第三方面、第五方面或第七方面提供的所述的第一设备以及第四方面、第六方面或第八方面提供的第二设备。
附图说明
31.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
32.图1为本申请实施例中一应用场景所涉及的网络系统框架示意图;
33.图2为本申请实施例中在图1场景下对设备12鉴权的流程示意图;
34.图3为本申请实施例中一种鉴权方法100的流程示意图;
35.图4为本申请实施例中在图1场景下一种鉴权方法200的流程示意图;
36.图5为本申请实施例中一种鉴权方法300的流程示意图;
37.图6为本申请实施例中一种对第一设备的使用权限进行鉴权的方法400的流程示意图;
38.图7为本申请实施例中一种第一设备700的结构示意图;
39.图8为本申请实施例中一种第二设备800的结构示意图;
40.图9为本申请实施例中一种第一设备900的结构示意图;
41.图10为本申请实施例中一种第二设备1000的结构示意图;
42.图11为本申请实施例中一种第一设备1100的结构示意图;
43.图12为本申请实施例中一种第二设备1200的结构示意图;
44.图13为本申请实施例中一种通信系统1300的结构示意图。
具体实施方式
45.设备上一般会存储一些重要信息(例如:设备的硬盘数据),这些重要信息对设备安全十分关键,需要采取一定的保护措施确保这些重要信息的安全。
46.目前,通常采用密码本的方式对设备进行鉴权,在设备上预置一个或多个密码,密码本上保存着多个密码,当需要开放该设备的使用权限时,由调试人员、运维人员、生产人员等指定人员将密码本中的密码输入到设备中,设备将该输入的密码和其中预置的密码进
行匹配,匹配成功时,视作该设备的鉴权通过,该设备开放上匹配成功的密码对应的使用权限,从而可以通过开放的使用权限访问对应的重要信息。虽然密码本由少数的指定人员掌握,一定程度上可以保证设备上存储的重要信息的安全,但是,由于密码本的存储、传输和匹配均采用的是明文,而且,具有密码本权限的指定人员较杂,人为管理密码本非常容易泄露密码本中的密码,该采用该密码本对设备进行鉴权的方式,安全性较低。
47.此外,由于访问设备上的重要信息,通常通过设备上的关键接口(如:调试接口或业务接口)实现,那么,很多设备厂商在设备出厂时,将这些关键接口的连接器去掉(即,关键接口对应的焊盘裸露),以确保设备上重要信息的安全。但是,攻击者可以通过观察以及万用表等仪器识别出这些关键接口对应的焊盘,并通过跳线将该关键接口接入分析仪,从而直接获取这些重要信息,十分不安全。例如:微软笔记本的硬件数据通常采用两级密钥进行加密保护,即,通过全卷加密密钥(英文:full volume encryption key,简称:fvek)加密,通过卷主密钥(英文:volume master key,简称:vmk)(也称为原始密钥)加密fvek;该vmk保存在可信平台模块(英文:trusted platform module,简称:tpm)中。微软在生产该笔记本电脑时,增加tpm的lpc(英文:low pin count)接口以测试该笔记本电脑的性能,但是在发货时,将该接口从连接器对应的焊盘裸露,那么,攻击者很容易就可以识别出了该裸露的tpm的lpc接口,并通过跳线将该接口接入逻辑分析仪,直接获取到vmk,从而破解出由vmk加密的fvek,进而破解出由fvek加密的硬盘数据,严重危及该笔记本电脑的安全。
48.可见,无论通过密码本的保护方式还是上述在出厂时去掉设备的关键接口的连接器的方式,均不能很好的确保设备的安全以及设备上重要信息的安全。
49.基于此,本申请实施例提供一种鉴权方法,在用户需要访问第一设备时,第一设备需要进行鉴权,鉴权通过后才可以开放第一设备上对应的使用权限,供用户在开放的使用权限范围内安全的访问或者使用该第一设备。待鉴权的第一设备本地存储有第二信息以及第一公钥,鉴权的过程具体可以包括:由待鉴权的第一设备向鉴权工具等具有鉴权功能的第二设备发送第二信息;对于第二设备,接收到第一设备发送的第一信息(该第一信息可能与第二信息相同,也可能与第二信息不同),基于第一私钥对接收到的第一信息进行加密,并将该经过第一私钥加密的第一信息发送给第一设备;第一设备根据第一公钥进行解密,获得第一信息,并对该第一信息和本地存储的第二信息进行匹配验证,获得验证结果,再根据该验证结果,确定第一设备的使用权限。这样,通过加解密技术以及具有鉴权功能的第二设备,实现对待鉴权的第一设备的鉴权,克服了目前通过密码本或者接口对应焊盘裸露的等方式保护第一设备安全时存在的安全隐患,确保了对待鉴权的第一设备更加安全和可靠的保护。
50.举例来说,本申请实施例的场景之一,可以是应用到如图1所示的网络中。参见图1,该网络中包括:鉴权工具11和设备12。其中,鉴权工具11可以是设备12的制造商设计的、用于对其出厂的设备12进行鉴权的物理实体,该鉴权工具11本地保存有私钥a,具有利用私钥a为信息进行加密的功能。设备12可以是任何需要进行鉴权的设备,例如:设备12可以是路由器、交换机等网络设备,也可以是手机、笔记本电脑等终端设备,还可以是u盘等移动存储设备,也可以是调试接口、业务接口或者单板。其中,图1所示的场景中还可以包括证书颁发机构(英文:certificate authority,简称:ca)服务器13,用于为鉴权工具分配公私钥,以提高该鉴权场景的安全等级。
51.具体实现时,鉴权工具11在本地的安全存储区域中保存有私钥a,设备12在本地的安全存储区域中保存有公钥a,该私钥a和公钥a对应。当需要访问设备12时,对设备12的鉴权过程参见图2,可以包括:s11,设备12产生随机数1;s12,设备12将随机数1携带在挑战请求消息中发送给鉴权工具11;s13,鉴权工具11用私钥a对接收到的随机数2(可以和随机数1一致,也可以和随机数1不一致)进行加密,得到x;s14,鉴权工具11将x携带在响应消息中,发送给设备12;s15,设备12利用公钥a对x进行解密,获得随机数2;s16,设备12比较随机数1和随机数2,若两者相同,则表示设备12的该次鉴权通过,反之,表示设备12的该次鉴权失败。这样,实现了对待鉴权设备12更加安全的保护。
52.需要说明的是,上述公钥a和私钥a可以是鉴权工具11自己生成的,也可以是ca服务器13为鉴权工具11分配的,具体可以根据设备12的安全要求确定,在本申请实施例中不作具体限定。其中,ca服务器13相对于鉴权工具11以及设备12来说,可以是离线服务器,需要用户(例如:设备12的管理人员)通过安全的生产环境设备作为媒介配置鉴权工具11和设备12;或者,ca服务器13相对于鉴权工具11以及设备12来说,也可以是在线服务器,可以直接通过ca服务器13和鉴权工具11之间建立的连接以及ca服务器13和设备12之间建立的连接进行交互,无需再由用户进行中转。
53.需要说明的是,本申请实施例中设备本地的安全存储区域,是指设备本地的存储区域中,不能被轻易访问和篡改的存储区域。例如:安全存储区域可以是设备的一次性可编程存储器(英文:one-time programmable,简称:otp),又例如:安全存储区域也可以是设备的电熔丝(英文:electrical fuse,简称:efuse),由于otp或efuse等安全存储区域上存储的内容不可更改,所以,设备本地的安全存储区域可以可靠和安全的保存重要信息,例如:鉴权工具11本地的安全存储区域可以可靠和安全的保存私钥a,设备12本地的安全存储区域可以可靠和安全的保存公钥a。
54.可以理解的是,上述场景仅是本申请实施例提供的一个场景示例,本申请实施例并不限于此场景。
55.下面结合附图,通过实施例来详细说明本申请实施例中鉴权方法的具体实现方式。
56.图3为本申请实施例中的一种鉴权方法100的流程示意图。参见图3,该方法100应用于包括设备1和设备2的网络中,其中,设备1预先保存有公钥1。在需要对设备1进行访问时,可以先执行该方法100对设备1进行鉴权。例如:该方法100可以应用在图1所示的网络中,设备1可以是设备12,设备2可以是鉴权工具11。该方法100例如可以包括下述s101~s106:
57.s101,设备2接收设备1发送的信息1。
58.其中,设备2是指用于对待鉴权的设备1进行鉴权的物理实体,也称为鉴权工具,用于对待鉴权的设备进行鉴权,确定是否开放待鉴权的设备的使用权限。设备2上可以包括鉴权接口,用于与待鉴权的设备1之间建立连接该鉴权接口可以是有线接口,例如:通用串行总线(英文:universal serial bus,简称:usb)接口或联合测试工作组(英文:joint test action group,简称:jtag)接口;或者,该鉴权接口也可以是无线接口,例如:蓝牙。
59.设备1是指待鉴权的设备,本申请实施例中,待鉴权的设备可以是网络设备,例如:交换机、路由器,也可以是终端设备,例如:手机、笔记本电脑,还可以是移动存储设备,例
如:u盘,也可以是接口,例如:调试接口、业务接口,还可以是单板。
60.信息1可以包括:设备2接收到的随机数2。设备1在需要进行鉴权时,可以产生该次鉴权对应的随机数1,并将该随机数2保存在设备1本地安全存储区域中。该随机数1可以唯一标识对设备1的一次鉴权,使用随机数进行鉴权,确保每次鉴权中都可以基于本次生成的随机数进行,能够有效防止设备1的信息被复制,防止重放攻击。
61.具体实现时,在s101之前,设备1可以向设备2发送挑战请求消息,该挑战请求消息中携带该随机数1;那么,s102具体可以是:设备2接收到该挑战请求消息,并从中获得随机数2,可以理解的是,若挑战请求消息在传输过程中无误,随机数2和随机数1是一致的,否则,随机数2也可能和随机数1不一致。
62.此外,信息1还可以包括:设备2接收到的设备1对应的设备标识信息2,设备标识信息2可以用于唯一标识设备1。具体而言,设备标识信息2可以是设备标识(英文:identification,简称:id)2或设备id2的哈希值。设备1上保存有设备1的设备id1或设备id1的哈希值,该设备id1可以是能够唯一标识该设备1的标识,设备id1的哈希值即对设备id1进行哈希计算得到的哈希值。为了更加安全,该设备id1可以是设备1对外非公开的标识。例如:该设备id1可以是设备1出厂时定义的硬件唯一密钥(英文:hardware unique key,简称:huk);又例如:该设备id1也可以是根据设备1的唯一设备标识(英文:unique device identification,简称:udi)和该设备1中的晶片标识(英文:dieidentification,简称:die id)获得的标识。可见,使用设备id1或设备id1的哈希值进行鉴权,能够有效管控设备2的鉴权权限,即,攻击者或使用者获取到公钥后,只能攻击或使用设备1,无法利用该公钥对别的设备进行鉴权并开发对应的使用权限,使得安全风险降到最低,提高了对设备的安全保护。
63.此外,信息1还可以包括目标有效信息,该目标有效信息被设备1用于确定能否继续使用设备2进行鉴权。该目标有效信息具体可以是允许使用设备2进行鉴权的最多次数(例如:5次),或者,是允许使用设备2进行鉴权的最长时间(例如:1天),以便参考该目标有效信息限制该设备2的有效使用次数或时长,使得控制该设备2在安全的范围内使用。
64.若设备1需要自身配置鉴权范围,那么,该信息1中还可以包括指示信息,该指示信息用于指示下述信息中的至少一个:开放使用权限的时间(例如:开放使用权限的时刻起2小时内均可以进行访问)、开放使用权限的接口(例如:开放设备1上的3个调试接口,或者,开放设备1上的调试接口1和调试接口2)或开放使用权限的操作(例如:允许在设备1上进行读操作,或允许在设备1上进行写操作)。需要说明的是,根据鉴权需求,设备1也可以不指定鉴权范围,即,在信息1中不包括该指示信息,而由设备2配置该鉴权范围,或者,均不进行配置,一次鉴权通过后遵循设置的默认鉴权范围开放设备1的使用权限。
65.在使用设备2对设备1进行鉴权之前,设备2本地的安全存储空间中至少预先保存有私钥1,且设备2通过其鉴权接口与设备1建立连接。
66.具体实现时,当对设备1有访问需求,需要对设备1进行鉴权时,设备1可以向设备2发送挑战请求消息,设备2接收到的该挑战请求消息中携带信息1。
67.作为一个示例,该挑战请求消息中可以仅包括挑战请求消息本身的内容,例如:该挑战请求消息包括:挑战类型、密钥类型、密钥号和挑战字段长度,则信息1仅包括:挑战类型、密钥类型、密钥号和挑战字段长度。其中,挑战类型是设备1和设备2预先定义的、用于指
示该挑战请求消息作用的,例如:当该挑战类型字段的值为0x5aaa555a时,表示该挑战请求消息用于指示对设备1鉴权。密钥分类用于表示表示当前使用的密钥对的类型,例如:当密钥分类字段的值为0x07,表示当前使用的是鉴权密钥对,又例如:当密钥分类字段的值为0x09,表示当前使用的是远程证明密钥对。密钥号用于指示当前使用的具体密钥对,即,指示本地保存的公钥1对应的密钥对,例如:鉴权密钥对可以包括16个密钥对,分别分配给不同的产品或者不同的接口使用,以防止某一个密钥对被泄露时,还可以允许使用另外的密钥对,产生的影响范围不会太大。挑战字段长度可以用于做信号校验,防止挑战请求消息在传输过程中发送信息丢失等问题。
68.作为另一个示例,为了增加对设备1鉴权的安全等级,该挑战请求消息中还可以添加字段,用于携带随机数1、设备id1和设备id1的哈希值中的至少一个,那么,该信息1不仅包括挑战请求消息本身的内容,还包括:随机数2、设备id2和设备id2的哈希值中的至少一个。其中,若设备1向设备2发送该挑战请求消息以及设备2接收该挑战请求消息的过程中,没有发生任何错误,则,随机数2和随机数1一致,设备id2和设备id1一致,设备id2的哈希值和设备id1的哈希值一致。
69.作为再一个示例,根据对设备1的鉴权需要,还可以在该挑战请求消息中添加其他字段,用于携带指示信息或目标有效信息,那么,该信息1不仅包括挑战请求消息本身的内容,还包括指示信息或目标有效信息;或者,在此基础上,信息1还可以包括:随机数2、设备id2和设备id2的哈希值中的至少一个。
70.这样,设备1通过向设备2发送挑战请求消息,指示设备2为设备1进行鉴权。设备2接收到该挑战请求消息后,通过解析该挑战请求消息,获得信息1,为对设备1的鉴权提供了数据基础。
71.s102,设备2根据私钥1对信息1进行加密。
72.私钥1为设备2本地的安全存储空间中保存的私钥,用于对设备1进行鉴权时,对设备2接收到的信息1进行加密处理。
73.在一些可能的实现方式中,设备2可以采用自身生成的公私钥对设备1进行鉴权,那么,该私钥1可以是设备2基于内部算法生成并保存在本地的。该示例中,设备2还需要在执行在下述s105之前,将私钥1对应的公钥1发送给设备1,以便设备1将该公钥1保存在本地的安全存储空间中。
74.例如:当信息1包括挑战请求消息本身的内容和随机数2时,信息1具体可以包括:私钥1加密的挑战类型、私钥1加密的随机数2、私钥1加密的密钥类型、私钥1加密的密钥号和私钥1加密的挑战字段长度。
75.在另一些可能的实现方式中,为了提高安全等级,设备2也可以从设备3申请公私钥对,用于对设备1的鉴权,那么,该私钥1可以是设备3为设备2分配的私钥。其中,设备3例如可以是ca服务器等安全等级高的鉴权服务器。
76.无论公钥1和私钥1是设备2自己生成的,还是设备3为其分配的,都可以通过设备3上的私钥2加密后发送给设备2,以提高安全性。具体实现时,设备3向设备2发送公私钥对的过程,例如可以包括:s21,设备2向设备3发送请求消息,用于请求设备3发送用于对设备1进行鉴权的公私钥对;s22,设备3响应于该请求消息,确定即将发送给设备2的私钥1和对应的公钥1,并且,为了进一步提高安全性,设备3利用自身的私钥2将私钥1和公钥1进行加密;
s23,设备2接收设备3发送的私钥2对应的公钥2;s24,设备2接收设备3发送的私钥2加密的私钥1和私钥2加密的公钥1;s25,设备2利用公钥2对私钥2加密的私钥1进行解密,获得私钥1,并将该私钥1保存在本地的安全存储空间中。该示例中,设备1本地预先保存有设备3上私钥2对应的公钥2,以便后续鉴权时,设备2将该私钥2加密的公钥1发送给设备1,设备1利用本地保存的公钥2对该私钥2加密的公钥1进行解密,并将解密后获得的公钥1进行本地保存,为鉴权提供数据基础。
77.需要说明的是,设备3下发公钥2给设备1的方式,以及s23和s24中设备3可以将公钥2、私钥2加密的私钥1和私钥2加密的公钥1发送给设备2的方式,均可以根据设备3是离线服务器还是在线服务器确定。当设备3相对设备1是离线状态时,可以由该用户通过安全的生产环境设备从设备3上拷贝公钥2,并通过该安全的生产环境设备将公钥2配置到设备1上;当设备3相对设备1是在线状态时,设备3可以直接通过两者建立的连接将公钥2发送给设备1。同理,当设备3相对设备2是离线状态时,可以通过用户在设备3上提交上述请求消息,该用户通过安全的生产环境设备从设备3上拷贝公钥2、私钥2加密的私钥1和私钥2加密的公钥1后,通过安全的生产环境设备将公钥2、私钥2加密的私钥1和私钥2加密的公钥1配置到设备2上;当设备3相对设备2是在线状态时,设备3可以直接通过两者建立的连接将公钥2、私钥2加密的私钥1和私钥2加密的公钥1发送给设备2。
78.对于s23和s24,作为一个示例,设备3可以将公钥2、私钥2加密的私钥1和私钥2加密的公钥1携带在一条消息中,反馈给设备2。作为另一个示例,为了更加安全,设备3可以将公钥2携带在一条消息中,将私钥2加密的私钥1和私钥2加密的公钥1携带在另一条消息中,分别反馈给设备2。
79.对于s102,若信息1中包括设备标识信息2,则,设备2本地还可以保存其负责鉴权的设备标识信息列表,该列表中标识的设备均可以作为该设备2鉴权的对象。设备2在接收到信息1后,可以先将该设备标识信息2,与本地保存的设备标识信息列表进行匹配验证,若匹配,则执行s102,否则,确定该设备1不是设备2鉴权的对象,中止该次鉴权。
80.需要说明的是,当信息1中包括的设备标识信息2为设备id2或设备id2的哈希值时,为了区别都使用设备2进行鉴权的不同设备1,s102可以将包括设备id2或设备id2的哈希值的信息1进行加密后发送给设备1,以便不同的设备1基于所接收到的加密后的信息1中设备id或设备id的哈希值,确定是否对自身进行鉴权;或者,s102也可以将信息1中的设备id2或设备id2的哈希值剔除后,将剩余的信息1进行加密后发送给设备1,即,信息1中不包括私钥1加密的设备id2或设备id2的哈希值。
81.对于s102,若信息1中包括目标有效信息,则,设备2本地还可以保存实际有效信息,该实际有效信息用于表征当前使用该设备2对设备1进行鉴权的情况。设备2在接收到信息1后,可以先更新实际使用信息,再对目标有效信息和更新后的实际使用信息进行匹配验证,若匹配(即,设备2的实际使用信息未达到目标有效信息),则执行s102,否则,确定该设备2失效,无法对设备1进行鉴权。设备2失效后,可以由设备1的制造商重置该设备2的实际有效信息,以恢复该设备2对设备1的鉴权功能。
82.作为一个示例,当目标有效信息为允许使用设备2进行鉴权的最多次数(例如:5次),则,实际使用信息为设备1截止当前使用设备2进行鉴权的实际使用次数(例如:3次),则,当设备2再收到信息1时,可以将实际使用次数加一,并判断新的实际使用次数是否小于
等于目标有效信息,若是,则执行s102,否则,停止使用设备2对设备1的鉴权,并提示设备2失效。
83.作为另一个示例,当目标有效信息为允许使用设备2进行鉴权的最长时间(例如:24小时),则,所述实际使用信息为从所述目标有效信息的计时起始时刻到当前时刻的实际使用时间(例如:10小时),则,当设备2再收到信息1时,可以将更新实际使用时间为从所述目标有效信息的计时起始时刻到当前时刻所经过的时间(例如:12小时),并判断新的实际使用时间是否达到目标有效信息,若否,则执行s102,若是,则停止使用设备2对设备1的鉴权,并提示设备2失效。
84.需要说明的是,当信息1中包括目标有效信息时,s102可以将包括目标有效信息的信息1进行加密后发送给设备1;或者,s102也可以将信息1中的目标有效信息剔除后,将剩余的信息1进行加密后发送给设备1,即,信息1中不包括公钥1加密后的目标有效信息。或者,信息1也可以将更新后的实际使用信息携带在信息1中,发送给设备1,以便设备1基于该实际使用信息和本地保存的目标有效信息再确认该设备2是否有效。
85.对于s102,若信息1中包括指示信息,则,设备2可以将包括指示信息的信息1进行加密后发送给设备1;或者,若信息1中包括指示信息,设备2本地还可以保存其负责对设备1进行鉴权的鉴权范围,那么,设备2在接收到信息1后,可以先将该指示信息与本地保存的对设备1的鉴权范围进行匹配验证,将匹配后的鉴权范围对应的指示信息基于私钥1加密后作为信息1的一部分发送给设备1;再或者,若信息1中不包括指示信息,但是,设备2本地保存其负责对设备1进行鉴权的鉴权范围,那么,设备2在接收到信息1后,可以将本地保存的鉴权范围对应的指示信息基于私钥1加密后作为信息1的一部分发送给设备1;又或者,若信息1中不包括指示信息,且设备2本地也未保存对其负责对设备1进行鉴权的鉴权范围,则,可以直接执行s102,信息1中不包括指示信息,设备1可以按照其上默认的设置开放设备1的使用权限。
86.s103,设备2将经过私钥1加密的信息1发送给设备1。
87.s104,设备1接收设备2发送的采用私钥1加密的信息1。
88.具体实现时,作为对设备1向设备2发送的挑战请求消息的回应,设备2可以将信息1携带在该挑战请求消息对应的响应消息中,发送给设备1。
89.作为一个示例,设备2可以将私钥2加密的公钥1和信息1加密后的内容同时作为信息1,携带在响应消息中发送给设备1。例如:当信息1包括挑战请求消息本身的内容和随机数2时,私钥1加密的信息1具体可以包括:私钥2加密的公钥1、私钥1加密的挑战类型、私钥1加密的随机数2、私钥1加密的密钥类型、私钥1加密的密钥号和私钥1加密的挑战字段长度。
90.作为另一个示例,为了更加安全,设备2也可以单独将私钥2加密的公钥1发送给设备1,而将信息1携带在响应消息中发送给设备1。例如:当信息2包括挑战请求消息本身的内容和设备id2时,私钥1加密的信息1具体可以包括:私钥1加密的挑战类型、私钥1加密的设备id2、私钥1加密的密钥类型、私钥1加密的密钥号和私钥1加密的挑战字段长度。而设备2将私钥2加密的公钥1通过传输信息1的消息以外的其他消息发送给设备1。
91.若信息1仅包括挑战请求消息本身的内容,则,响应消息中私钥1加密的信息1具体可以包括:私钥1加密的挑战类型、私钥1加密的密钥类型、私钥1加密的密钥号和私钥1加密的挑战字段长度。
92.若信息1包括挑战请求消息本身的内容和随机数2,则,响应消息中私钥1加密的信息1具体可以包括:私钥1加密的挑战类型、私钥1加密的随机数2、私钥1加密的密钥类型、私钥1加密的密钥号和私钥1加密的挑战字段长度。
93.若信息1包括挑战请求消息本身的内容和设备标识信息2(例如:设备id2或设备id2的哈希值),则,响应消息中私钥1加密的信息1具体可以包括:私钥1加密的挑战类型、私钥1加密的标识信息2(例如:私钥1加密的设备id2或私钥1加密的设备id2的哈希值)、私钥1加密的密钥类型、私钥1加密的密钥号和私钥1加密的挑战字段长度。
94.若信息1包括挑战请求消息本身的内容和指示信息,则,响应消息中私钥1加密的信息1具体可以包括:私钥1加密的挑战类型、私钥1加密的指示信息、私钥1加密的密钥类型、私钥1加密的密钥号和私钥1加密的挑战字段长度。
95.需要说明的是,信息1除了包括挑战请求消息本身的内容以外,还可以包括随机数2、设备标识信息2以及指示信息中的一个或多个。例如:当信息1包括挑战请求消息本身的内容、指示信息、随机数2和设备标识信息2时,响应消息中私钥1加密的信息1具体可以包括:私钥1加密的挑战类型、私钥1加密的随机数2、私钥1加密的设备标识信息2、私钥1加密的指示信息、私钥1加密的密钥类型、私钥1加密的密钥号和私钥1加密的挑战字段长度。
96.这样,设备2通过向设备1发送响应消息,设备1接收到该响应消息后,通过解析该响应消息,获得设备2使用其私钥1加密的信息1,为对设备1的鉴权提供了数据基础。
97.s105,设备1根据公钥1进行解密,获得信息1。
98.s106,设备1比较信息1和本地存储的信息2,获得验证结果,并根据该验证结果确定设备1的使用权限。
99.作为一个示例,若信息1中仅挑战请求消息本身的内容,则,设备1对解密后的信息1可以包括:挑战类型、密钥类型、密钥号和挑战字段长度。该示例中,对于s106,具体可以是:若设备1本地保存有挑战请求消息本身的内容,则,可以对比解密后得到的该挑战请求消息本身的内容和本地保存的挑战请求消息本身的内容,若一致,则确定开放设备1的使用权限,否则,确定设备1鉴权失败;或者,若设备1本地未保存挑战请求消息本身的内容,则,s105~s106具体可以是:只要采用公钥1进行解密获得信息1,即可确定对设备1的鉴权通过,开放该设备1的使用权限,否则,确定设备1鉴权失败。
100.作为另一个示例,若信息1包括挑战请求消息本身的内容和随机数2,则,设备1解密后的信息1可以包括:挑战类型、随机数2、密钥类型、密钥号和挑战字段长度。该示例中,对于s106,具体可以是:设备1判断本地保存的随机数1和该信息1中的随机数2是否一致,若一致,则确定开放设备1的使用权限,否则,确定设备1鉴权失败。
101.作为又一个示例,若信息1包括挑战请求消息本身的内容和设备标识信息2,则,设备1解密后的信息1可以包括:挑战类型、设备标识信息2、密钥类型、密钥号和挑战字段长度。该示例中,对于s106,具体可以是:设备1判断本地保存的设备标识信息1和该信息1中的设备标识信息2是否一致,若一致,则开放该设备1的使用权限,否则,确定设备1鉴权失败。
102.作为再一个示例,若信息1包括挑战请求消息本身的内容和指示信息,则,设备1解密后的信息1可以包括:挑战类型、指示信息、密钥类型、密钥号和挑战字段长度。该示例中,对于s106,具体可以是:若设备1本地保存有指示信息,则,可以对比解密后得到的该指示信息和本地保存的指示信息,若一致,则按照该指示信息开放设备1的使用权限,否则,确定设
备1鉴权失败;或者,若设备1本地未保存指示信息,则该指示信息可以视作设备2为设备1配置的鉴权范围,则,s105~s106具体可以是:只要采用公钥1解密获得信息1,即可确定对设备1的鉴权通过,按照该指示信息开放该设备1的使用权限,否则,确定设备1鉴权失败。
103.需要说明的是,信息1除了包括挑战请求消息本身的内容以外,还可以包括随机数2、设备标识信息2以及指示信息中的一个或多个。例如:当信息1包括挑战请求消息本身的内容、指示信息、随机数2和设标识信息2时,对于s106,具体可以是:设备1判断本地保存的随机数1和该信息1中的随机数2是否一致,若不一致,则,确定设备1鉴权失败;若一致,则,继续判断本地保存的设备标识信息1和该信息1中的设标识信息2是否一致,若不一致,则,确定设备1鉴权失败;若一致,则以设备1本地保存有被挑战请求消息携带的指示信息为例,继续对比解密后得到的该指示信息和本地保存的指示信息是否一致,若不一致,则确定设备1鉴权失败;若一致,则按照该指示信息、设备标识信息1开放设备1的使用权限。
104.设备1可以是网络设备或单板,以设备1为网络设备为例,作为一个示例,当s106中的各比较过程的结果均一致时,网络设备开放其上所有接口的使用权限;或者,当s106中的各比较过程的结果存在不一致的情况时,网络设备不开放其上任何的一个接口的使用权限。作为另一个示例,该信息1中还携带指示信息,例如:调试接口id,那么,当s106中的各比较过程的结果均一致时,网络设备可以根据该指示信息开放对应的使用权限,例如:开放调试接口id对应的调试接口的使用权限;或者,当s106中的各比较过程的结果存在不一致的情况时,网络设备不开放其上任何的一个接口的使用权限。
105.设备1也可以指某个设备上的调试接口或业务接口时,当s106中的各比较过程的结果均一致时,该设备可以开放其上对应的调试接口或业务接口的使用权限。当s106中的各比较过程的结果存在不一致的情况时,该设备可以不开放该调试接口或业务接口的使用权限。
106.这样,通过设备1和设备2的交互,实现了对设备1安全、可靠的鉴权,从而确保对设备1的访问都是安全的。
107.在一些具体的实现方式中,对于设备3为设备2配置公私钥对这一安全等级更高的场景,设备3作为绝对安全的设备,还具有更新设备3自身公私钥以及吊销为设备2分配的公私钥的能力,使得使用设备2这一鉴权工具对设备1进行鉴权更加灵活和可控。
108.作为一个示例,当设备3确定自身的公钥2和私钥2不够安全,可能存在一定的安全隐患时,确定该公钥2和私钥2失效,本申请实施例还可以包括:s31,设备3启用私钥4和对应的公钥4;s32,设备3采用私钥4分别对公钥1和私钥1进行加密;s33,设备3将公钥4、采用私钥4分别对公钥1和采用私钥4分别对私钥1配置到设备2;s34,设备2采用公钥4对采用私钥4分别对私钥1进行解密,得到私钥1并保存在设备2本地的安全存储空间中;s35,设备1向设备2发送挑战请求消息;s36,设备2向设备1发送响应消息1,该响应消息1中至少包括:挑战类型、公钥4、密钥类型、密钥号和挑战字段长度,该响应消息1中的挑战类型字段的值用于指示设备1更新其上保存的设备3对应的公钥,例如:挑战类型字段的值=0x55aa555a;s37,设备1将公钥2删除或将公钥2置为禁止使用的公钥,并对应保存公钥4。如此,设备3实现了对设备1上保存的公钥的更新,使得控制对设备1的鉴权更加安全和可靠成为可能。
109.作为另一个示例,当设备3确定其为设备2分配的公钥1和私钥1不够安全,可能存在一定的安全隐患时,确定该公钥1和私钥1失效,本申请实施例还可以包括:s41,设备3为
设备2重新分配私钥3和对应的公钥3;s42,设备3采用私钥2分别对公钥3和私钥3进行加密;s43,设备3将公钥2、采用私钥2分别对公钥3和采用私钥2分别对私钥3配置到设备2;s44,设备2采用公钥2对采用私钥2分别对私钥3进行解密,得到私钥3并保存在设备2本地的安全存储空间中。如此,设备3实现了对设备2上用于鉴权的公钥和私钥的吊销和更新,使得设备2能够更加安全和可靠的对设备1进行鉴权。
110.作为再一个示例,当设备3确定自身的公钥2和私钥2不够安全,且设备3为设备2分配的公钥1和私钥1也不够安全,可能存在一定的安全隐患时,确定该公钥2、私钥2、公钥1和私钥1均失效,本申请实施例还可以包括:s51,设备3启用户私钥4和对应的公钥4,并为设备2重新分配私钥3和对应的公钥3;s52,设备3采用私钥4分别对公钥3和私钥3进行加密;s53,设备3将公钥4、采用私钥4分别对公钥3和采用私钥4分别对私钥3配置到设备2;s54,设备2采用公钥4对采用私钥4分别对私钥3进行解密,得到私钥3并保存在设备2本地的安全存储空间中;s55,设备1向设备2发送挑战请求消息;s56,设备2向设备1发送响应消息2,该响应消息2中至少包括:挑战类型、公钥4、密钥类型、密钥号和挑战字段长度,该响应消息2中的挑战类型字段的值用于指示设备1更新其上保存的设备3对应的公钥;s57,设备1将公钥2删除或将公钥2置为禁止使用的公钥,并对应保存公钥4。如此,设备3实现了对设备1上保存的公钥的更新,以及对设备2上用于鉴权的公钥和私钥的吊销和更新,使得设备2能够更加安全和可靠的对设备1进行鉴权。
111.可见,通过本申请实施例提供的鉴权方法,由待鉴权的设备1向鉴权工具等具有为鉴权功能的设备2发送信息2;设备2基于私钥1对接收到的信息1进行加密,并将经过私钥1加密的信息1发送给设备1;设备1根据公钥1进行解密,获得信息1,通过比较信息1和本地存储的信息2,确定设备1的使用权限。这样,通过加解密技术以及具有专用于对设备1鉴权的设备2,实现由设备2对待鉴权的设备1的鉴权,克服了目前通过密码本或者接口对应焊盘裸露的等方式保护设备1安全时存在的安全隐患,确保了对待鉴权的设备1的保护更加安全和可靠。
112.为了更加清楚和详细的介绍本申请实施例,下面在图1所示的场景,假设设备12为交换机的调试接口12,ca服务器13和交换机12不能直接通信、ca服务器13和鉴权工具11也不能直接通信为例,结合图4对本申请实施例中的鉴权过程进行具体说明。
113.参见图4,本实施例中方法200的鉴权过程例如可以包括:
114.s201,用户14在ca服务器13上提交请求消息,该请求消息用于请求ca服务器13为鉴权工具11分配公私钥。
115.其中,本实施例中,用户14也可以是安全的产线自动化设备,自动执行用户14所执行的所有操作。
116.s202,ca服务器13为鉴权工具11生成私钥b和对应的公钥b。
117.s203,ca服务器13采用自身的私钥d分别加密私钥b和公钥b。
118.s204,ca服务器13将私钥d对应的公钥d通过用户14配置给交换机。
119.s205,交换机将公钥d保存在本地的安全存储空间中。
120.s206,ca服务器13将公钥d、私钥d加密的私钥b和采用私钥d加密的公钥b通过用户14配置给鉴权工具11。
121.s207,鉴权工具11采用公钥d对私钥d加密的私钥b进行解密,获得并保存私钥b。
122.s208,交换机向鉴权工具11发送挑战请求消息1,该挑战请求消息1中携带随机数x1。
123.s209,鉴权工具11采用本地保存的私钥b对挑战请求消息1中的信息进行加密,并生成包括私钥b加密的x2的响应消息1,该x2为鉴权工具11接收到的随机数。
124.s210,鉴权工具11向交换机发送该响应消息1。
125.s211,鉴权工具11向交换机发送采用私钥d加密的公钥b。
126.s212,交换机利用本地保存的公钥d对采用私钥d加密的公钥b进行解密,获得并保存公钥b。
127.s213,交换机采用公钥b解密响应消息1中的信息,获得x2,该x2为公钥b对使用私钥b加密的x2解密得到的。
128.s214,交换机比较x2和本地保存的随机数x1是否一致,若一致,则执行s215,否则,执行s216。
129.s215,交换机开放调试接口12的使用权限。
130.s216,交换机确定中止鉴权流程,并向ca服务器13上报鉴权错误。
131.如此,本实施例中,通过加解密技术、ca服务器13这一安全等级较高的服务器、以及专门用于对交换机进行鉴权的鉴权工具11和交换机之间的交互,实现了鉴权工具11对交换机上调试接口12使用权限的管理,实现了对交换机上关键接口更加安全的保护。
132.图5示出了本申请实施例中一种鉴权方法300的流程示意图,该方法300应用在包括第一设备和第二设备的场景中,以第一设备为执行主体,该鉴权方法300例如可以包括:
133.s301,接收第二设备发送的采用第一私钥加密的第一信息;
134.s302,根据第一公钥进行解密,获得该第一信息,其中,第一公钥与第一私钥对应;
135.s303,对第一信息和本地存储的第二信息进行匹配验证,获得验证结果;
136.s304,根据该验证结果,确定第一设备的使用权限。
137.其中,第一设备可以是方法100中的设备1,那么,第二设备为方法100中的设备2,第一私钥为方法100中的私钥1,第一公钥为方法100中的公钥1,第一信息为方法100中的信息1,第二信息为方法100中的信息2。或者,第一设备也可以是方法200中的交换机的调试接口12,那么,第二设备为方法200中的鉴权工具11,第一私钥为方法200中的私钥b,第一公钥为方法200中的公钥b,第一信息包括方法100中私钥b加密的随机数x2,第二信息包括方法100中的随机数x1。
138.具体而言,当验证结果表示验证通过,则第一设备开放对应的使用权限,当验证结果表示验证未通过,则第一设备不开放对应的使用权限。这样,通过加解密技术以及具有鉴权功能的第二设备,实现对待鉴权的第一设备的鉴权,克服了目前通过密码本或者接口对应焊盘裸露的等方式保护第一设备安全时存在的安全隐患,确保了对待鉴权的第一设备更加安全和可靠的保护。
139.其中,第一设备可以是待鉴权的任何设备,例如:可以指网络设备或单板,又例如:也可以指设备上的调试接口或业务接口。第二设备可以是指具有鉴权功能的鉴权工具。当第一设备指调试接口时,鉴权工具将第一私钥加密的第一信息下发到调试接口所在设备并由第一公钥进行解密,通过验证通过后,该调试接口所在设备开放该调试接口的使用权限,供访问和使用该调试接口。
140.在一些可能的实现方式中,第一私钥和第一公钥可以是第二设备生成的;或者,第一私钥和第一公钥也可以是鉴权服务器为第二设备配置的。
141.为了更加安全,该方法300还可以包括:第一设备接收第二设备发送的经过鉴权服务器的第二私钥加密的第一公钥;第一设备使用本地存储的鉴权服务器的第二公钥,对加密的第一公钥进行解密,获得所述第一公钥。这样,通过鉴权服务器这一安全等级较高的服务器对第一公钥进行加密,相比在第一设备上直接保存第一公钥,更加安全和可靠。
142.作为一个示例,第二信息可以包括第一随机数,在执行s301之前,方法300还可以包括:向第二设备发送挑战请求消息,该挑战请求消息中携带第一随机数;那么,s301具体可以包括:第一设备接收所述第二设备发送的响应消息,该响应消息中携带所述第一信息,所述第一信息包括第二随机数;此时,s303具体可以包括:对所述第一随机数和所述第二随机数进行匹配验证。其中,第一随机数可以唯一标识对第一设备的一次鉴权,使用随机数进行鉴权,确保每次鉴权中都可以基于本次生成的随机数进行,能够有效防止第一设备的信息被复制,防止重放攻击。
143.作为另一个示例,该第二信息还可以包括第一设备标识信息,该第一信息中包括第二设备标识信息,所述第一设备标识信息用于唯一标识所述第一设备,那么,s303具体还可以包括:对所述第一设备标识信息和所述第二设备标识信息进行匹配验证。作为一个示例,所述第一设备标识信息为第一设备id,所述第二设备标识信息为第二设备id,那么,s303具体还可以包括:对所述第一设备id和第二设备id进行匹配验证。作为另一个示例,所述第一设备标识信息为第一设备id的哈希值,所述第二设备标识信息为第二设备id的哈希值,那么,s303具体可以包括:对所述第一设备id的哈希值和第二设备id的哈希值进行匹配验证。为了鉴权的安全进行,本申请实施例中设备id为非公开的能够唯一标识设备的id,例如:第一设备id为第一设备出厂时定义的硬件唯一密钥huk,又例如:第一设备id为根据第一设备的晶片标识die id和唯一设备标识udi处理得到的。这样,通过第一设备本地存储的第一设备id或第一设备id的哈希值,对解密后获得的第二设备id或第二设备id的哈希值进行验证,实现对第一设备可靠和安全的鉴权。
144.作为又一个示例,该第二信息还可以包括目标有效信息,所述第一信息中包括实际使用信息,其中,实际使用信息用于表征所述第一设备上当前使用所述第二设备鉴权的情况。那么,s303具体还可以包括:第一设备根据所述目标有效信息,对所述实际使用信息进行验证,以确定所述第二设备能否继续用于对所述第一设备进行鉴权。当第一设备确定实际使用信息还未达到目标有效信息,则,确定第二设备对于第一设备而言有效,可以继续使用第二设备对第一设备进行鉴权;否则,当第一设备确定实际使用信息已经达到目标有效信息,则,确定第二设备对于第一设备而言已经失效,不能继续使用第二设备对第一设备进行鉴权。其中,目标有效信息为允许使用所述第二设备进行鉴权的最多次数(例如:5次);或者,目标有效信息为允许使用所述第二设备进行鉴权的最长时间(例如:20小时)。这样,通过第一设备本地存储的目标有效信息,对第一信息中携带的实际使用信息进行验证,实现对第一设备可靠和安全的鉴权。
145.作为再一个示例,该第一信息还可以包括指示信息,所述指示信息用于指示下述信息中的至少一个:开放所述使用权限的时间、开放所述使用权限的接口或开放所述使用权限的操作。其中,该指示信息可以是第一设备在挑战请求消息中发送给第二设备的,也可
以是第二设备根据自身的鉴权范围指定的对应的指示信息;还可以是第一设备在挑战请求消息中发送给第二设备的,并由第二设备根据自身的鉴权范围确定出的对应的指示信息。这样,通过第一设备接收并解密后获得的指示信息,实现对第一设备可靠和安全的鉴权。
146.需要说明的是,本申请实施例中的方法300,具体实现方式以及达到的效果可以参见上述图3和图4所示实施例中的相关说明。
147.图6示出了本申请实施例中一种对第一设备的使用权限进行鉴权的方法400的流程示意图,该方法400应用在包括第一设备和第二设备的场景中,以第二设备为执行主体,该方法400例如可以包括:
148.s401,采用本地存储的第一私钥对所述第一信息进行加密;
149.s402,向第一设备发送经过所述第一私钥加密的所述第一信息,以对所述第一设备的使用权限进行鉴权。
150.其中,第二设备可以是方法100中的设备2,那么,第一设备为方法100中的设备1,第一私钥为方法100中的私钥1,第一公钥为方法100中的公钥1,第一信息为方法100中的信息1。或者,第二设备可以是方法200中的鉴权工具11,那么,第一设备为方法200中的交换机的调试接口12,第一私钥为方法200中的私钥b,第一公钥为方法200中的公钥b,第一信息包括方法100中私钥b加密的随机数x2。
151.这样,通过加解密技术以及具有鉴权功能的第二设备,实现对待鉴权的第一设备的鉴权,克服了目前通过密码本或者接口对应焊盘裸露的等方式保护第一设备安全时存在的安全隐患,确保了对待鉴权的第一设备更加安全和可靠的保护。
152.其中,第二设备可以是指具有鉴权功能的鉴权工具。第一设备可以是待鉴权的任何设备,例如:可以指网络设备或单板,又例如:也可以指设备上的调试接口或业务接口。当第一设备指调试接口时,鉴权工具将第一私钥加密的第一信息下发到调试接口所在设备并由第一公钥进行解密,通过验证通过后,该调试接口所在设备开放该调试接口的使用权限,供访问和使用该调试接口。
153.在一些具体的实现方式中,第一私钥和第一公钥可以是第二设备生成的;或者,第一私钥和第一公钥也可以是鉴权服务器为第二设备配置的。
154.作为一个示例,该方法400还可以包括:第二设备接收鉴权服务器发送的鉴权服务器的第二公钥、经过第二私钥加密的所述第一公钥和经过所述第二私钥加密的所述第一私钥,所述第二私钥和所述第二公钥对应;接着,第二设备利用所述第二公钥对所述经过所述第二私钥加密的所述第一私钥进行解密,获得所述第一私钥;第二设备也可以将所述经过所述第二私钥加密的所述第一公钥发送至所述第一设备,以便所述第一设备基于本地存储的所述第二公钥,对所述经过所述第二私钥加密的所述第一公钥进行解密,获得所述第一公钥。
155.作为另一个示例,该第一信息包括第一随机数,那么,在s401之前,该方法400具体还可以包括:第二设备接收所述第一设备发送的挑战请求消息,所述挑战请求消息中携带所述第一随机数;s402具体可以包括:第二设备向所述第一设备发送响应消息,所述响应消息中携带经过所述第一私钥加密的所述第一随机数。
156.作为又一个示例,该第二信息还可以包括第一信息还包括第一设备标识信息,该第一设备标识信息被所述第一设备用于身份验证,例如:可以是第一设备id或第一设备id
的哈希值。方法400还可以包括:第二设备对所述第一设备id和本地存储的与所述第一设备对应的第二设备id进行匹配验证;或者,第二设备对所述第一设备id的哈希值和本地存储的与所述第一设备对应的第二设备id的哈希值进行匹配验证。其中,所述第一设备id为所述第一设备出厂时定义的硬件唯一密钥huk,或者,所述第一设备id为根据所述第一设备的晶片标识die id和唯一设备标识udi处理得到的。
157.作为又一个示例,该第一信息还可以包括目标有效信息,该目标有效信息被所述第一设备用于确定能否继续使用所述第二设备进行鉴权。那么,方法400还可以包括:第二设备更新所述实际使用信息,所述实际使用信息用于表征所述第一设备上当前使用所述第二设备鉴权的情况;接着,第二设备根据所述目标有效信息,对更新后的所述实际使用信息进行验证,以确定所述第二设备能否继续用于对所述第一设备进行鉴权。其中,该目标有效信息为允许使用所述第二设备进行鉴权的最多次数,则,所述实际使用信息为所述第一设备截止当前使用所述第二设备进行鉴权的实际使用次数;或者,该目标有效信息为允许使用所述第二设备进行鉴权的最长时间,则,所述实际使用信息为从所述目标有效信息的计时起始时刻到当前时刻的实际使用时间。
158.作为再一个示例,该第一信息还可以包括指示信息,所述指示信息用于指示下述信息中的至少一个:开放所述使用权限的时间、开放所述使用权限的接口或开放所述使用权限的操作。
159.需要说明的是,本申请实施例中的方法400,具体实现方式以及达到的效果可以参见上述图3、图4以及图5所示实施例中的相关说明。
160.此外,本申请还提供了第一设备700,参见图7所示。该第一设备700包括收发单元701和处理单元702。其中,收发单元701用于执行上述图3所示实施例中设备1执行的收发操作,或者图4所示实施例中交换机的调试接口12执行的收发操作,或者图5所示方法实施例中第一设备执行的收发操作;处理单元702用于执行上述图3所示实施例中设备1执行的除了收发操作以外的其他操作,或者图4所示实施例中交换机的调试接口12执行的除了收发操作以外的其他操作,或者图5所示方法实施例中第一设备执行的除了收发操作以外的其他操作。例如:第一设备700为方法100中的设备1,那么,收发单元701用于接收设备2发送的采用私钥1加密的信息1;所述处理单元702用于根据公钥1进行解密,获得信息1,所述处理单元702还用于比较信息1和本地存储的信息2,确定设备1的使用权限。
161.此外,本申请实施例还提供了第二设备800,参见图8所示。该第二设备800包括收发单元801和处理单元802。其中,其中,收发单元801用于执行上述图3所示实施例中设备2执行的收发操作,或者图4所示实施例中鉴权工具11执行的收发操作,或者图6所示方法实施例中第二设备执行的收发操作;处理单元802用于执行上述图3所示实施例中设备2执行的除了收发操作以外的其他操作,或者图4所示实施例中鉴权工具11执行的除了收发操作以外的其他操作,或者图6所示方法实施例中第二设备执行的除了收发操作以外的其他操作。例如:第一设备800为方法100中的设备2,那么,收发单元801用于将经过私钥1加密的信息1发送给设备1;所述处理单元802用于根据本地存储的私钥1对信息1进行加密。
162.此外,本申请实施例还提供了一种第一设备900,参见图9所示。该第一设备900包括通信接口901和与通信接口901连接的处理器902。其中,其中,通信接口901用于执行上述图3所示实施例中设备1执行的收发操作,或者图4所示实施例中交换机的调试接口12执行
的收发操作,或者图5所示方法实施例中第一设备执行的收发操作;处理器902用于执行上述图3所示实施例中设备1执行的除了收发操作以外的其他操作,或者图4所示实施例中交换机的调试接口12执行的除了收发操作以外的其他操作,或者图5所示方法实施例中第一设备执行的除了收发操作以外的其他操作。例如:第一设备900为方法100中的设备1,那么,通信接口901用于接收设备2发送的采用私钥1加密的信息1;所述处理器902用于根据公钥1进行解密,获得信息1;所述处理器902还用于比较信息1和本地存储的信息2,确定设备1的使用权限。
163.此外,本申请实施例还提供了一种第二设备1000,参见图10所示。该第二设备1000包括通信接口1001和与该通信接口1001连接的处理器1002。其中,通信接口1001用于执行上述图3所示实施例中设备2执行的收发操作,或者图4所示实施例中鉴权工具11执行的收发操作,或者图6所示方法实施例中第二设备执行的收发操作;处理器1002用于执行上述图3所示实施例中设备2执行的除了收发操作以外的其他操作,或者图4所示实施例中鉴权工具11执行的除了收发操作以外的其他操作,或者图6所示方法实施例中第二设备执行的除了收发操作以外的其他操作。例如:第二设备1000为方法100中的设备2,那么,通信接口1001用于将经过私钥1加密的信息1发送给设备1;所述处理器1002用于根据本地存储的私钥1对信息1进行加密。
164.此外,本申请实施例还提供了一种第一设备1100,参见图11所示。该第一设备1100包括存储器1101和处理器1102。其中,存储器1101用于存储程序代码;处理器1102用于运行所述程序代码中的指令,使得该第一设备1100执行以上图3所示实施例中设备1执行的方法,或者图4所示实施例中交换机的调试接口12执行的方法,或者图5所示方法实施例中第一设备执行的方法。
165.此外,本申请实施例还提供了一种第二设备1200,参见图12所示。该第二设备1200包括存储器1201和处理器1202。其中,存储器1201用于存储程序代码;处理器1202用于运行所述程序代码中的指令,使得该第二设备1200执行以上图3所示实施例中设备2执行的方法,或者图4所示实施例中鉴权工具11执行的方法,或者图6所示方法实施例中第二设备执行的方法。
166.可以理解的是,上述实施例中,处理器可以是中央处理器(英文:central processing unit,缩写:cpu),网络处理器(英文:network processor,缩写:np)或者cpu和np的组合。处理器还可以是专用集成电路(英文:application-specific integrated circuit,缩写:asic),可编程逻辑器件(英文:programmable logic device,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。处理器可以是指一个处理器,也可以包括多个处理器。存储器可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:rom),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:hdd)或固态硬盘(英文:solid-state drive,缩写:ssd);存储器还可以包括上述种类的存储器的组合。存储器可以是指一个存储器,也可以包括多个存储器。在一个具体
实施方式中,存储器中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如发送模块,处理模块和接收模块。处理器执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器根据所述软件模块的指示而执行的操作。处理器执行存储器中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行第一设备或第二设备可以执行的全部操作。
167.可以理解的是,上述实施例中,第一设备900的通信接口901,具体可以被用作第一设备700中的收发单元701,实现第一设备和第二设备之间的数据通信。同理,第二设备1000的通信接口1001,具体可以被用作第二设备800中的收发单元801,实现第一设备和第二设备之间的数据通信。
168.此外,本申请实施例还提供了一种通信系统1300,参见图13所示。该通信系统1300包括第一设备1301以及第二设备1302,其中,第一设备1301具体可以是上述第一设备700、第一设备900或第一设备1100,第二设备1402具体可以是上述第二设备800、第二设备1000或第二设备1200。
169.此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行以上图3-图6所示实施例中的所述鉴权方法。
170.此外,本申请实施例还提供了计算机程序产品,当其在计算机上运行时,使得计算机执行前述图3-图6所示实施例中的所述鉴权方法。
171.本申请实施例中提到的“第一信息”、“第一私钥”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。
172.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
173.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
174.以上所述仅是本申请的优选实施方式,并非用于限定本申请的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1