有效
设备认证方法、装置、计算机设备和存储介质
钱正浩、刘鑫、刘晔、伍江瑶、温柏坚
广东电网有限责任公司
摘要
本申请涉及一种设备认证方法、装置、计算机设备和存储介质。通过第一服务器将包含待注册设备的第一公钥的设备注册信息发送至第二服务器,第二服务器生成响应信息并通过区块链发送至第一服务器,通过待注册设备生成对应的数字签名,并根据数字签名以及设备信息生成认证请求信息发送至第一服务器,第一服务器将认证请求信息发送至第二服务器的区块链中,从而第二服务器通过区块链接收认证请求信息,并通过区块链,基于第一公钥对认证请求信息中的数字签名以及设备信息进行身份认证。相较于传统的缺乏面向内外网的工业设备的认证方式,本方案利用区块链,实现在内外网服务器存在网络隔离的情况下对外网的工业设备进行认证,提高了设备认证的便利性。
1.一种设备认证方法,其特征在于,应用于第二服务器,所述第二服务器设置于内网,所述第二服务器中设置有区块链,所述方法包括:接收第一服务器发送的设备注册信息;所述设备注册信息根据设置在外网的待注册设备发送的设备注册请求生成;所述设备注册请求包含所述待注册设备对应的第一公钥;根据所述设备注册信息生成对应的响应信息并通过所述区块链发送至所述第一服务器;所述第一服务器用于将所述响应信息发送至所述待注册设备,所述待注册设备用于根据所述响应信息生成对应的数字签名,并根据所述数字签名以及所述待注册设备的设备信息生成认证请求信息,通过所述第一服务器将所述认证请求信息发送至第二服务器的区块链中;通过所述区块链接收所述认证请求信息,并通过所述区块链,根据所述第一公钥对所述认证请求信息中的数字签名以及设备信息进行身份认证;还包括:若所述身份认证通过,通过所述区块链生成所述设备信息对应的认证通过信息;向所述认证通过信息中添加所述第二服务器的数字签名,并将添加所述第二服务器的数字签名后的认证通过信息发送至所述第一服务器;所述第一服务器用于根据所述认证通过信息生成第一会话秘钥并向所述待注册设备发送所述认证通过信息,所述待注册设备用于根据所述认证通过信息生成第二会话秘钥,以使所述待注册设备通过所述第二会话秘钥与所述第一服务器进行通信,以及使所述第一服务器通过所述第一会话秘钥与所述第二服务器进行通信。
2.根据权利要求1所述的方法,其特征在于,所述设备注册信息包括所述设备注册请求的第一生成时间以及所述设备注册信息的第二生成时间;所述接收第一服务器发送的设备注册信息之后,还包括:检测所述第二生成时间与所述第一生成时间的差值是否小于或等于预设时间差阈值,若是则执行所述根据所述设备注册信息生成对应的响应信息并通过所述区块链发送至所述第一服务器的步骤。
3.根据权利要求1所述的方法,其特征在于,所述设备注册信息还包括设备标识;所述根据所述设备注册信息生成对应的响应信息,包括:根据椭圆加密算法生成所述第二服务器对应的第二公钥和第二私钥;根据所述第二公钥、所述待注册设备的设备标识以及当前时间生成所述响应信息。
4.一种设备认证方法,其特征在于,应用于第一服务器,所述第一服务器设置于外网,所述方法包括:获取设置在外网的待注册设备发送的设备注册请求;所述设备注册请求中包含所述待注册设备对应的第一公钥;根据所述第一公钥生成对应的设备注册信息,将所述设备注册信息发送至第二服务器;所述第二服务器中设置有区块链;所述第二服务器用于接收第一服务器发送的设备注册信息,根据所述设备注册信息生成对应的响应信息并通过所述区块链发送至所述第一服务器;所述第一服务器存储有所述第二服务器的第二公钥,以及所述第一服务器的第三公钥和第三私钥;所述待注册设备中存储有所述待注册设备的第一私钥以及所述第一服务器的第三公钥;将所述响应信息发送至所述待注册设备;所述待注册设备用于根据所述响应信息生成对应的数字签名,并根据所述数字签名以及所述待注册设备的设备信息生成认证请求,将所述认证请求信息发送至所述第一服务器;将所述认证请求信息发送至所述的第二服务器的区块链中;所述第二服务器用于通过所述区块链接收所述认证请求信息,并通过所述区块链,根据所述第一公钥对所述认证请求信息中的数字签名以及设备信息进行身份认证;还包括:获取所述第二服务器返回的认证通过信息;所述认证通过信息包括所述设备信息以及所述第二服务器的数字签名;根据所述第二公钥验证所述认证通过信息,若验证通过则根据所述第三私钥以及所述第一公钥生成第一会话秘钥,以通过所述第一会话秘钥与所述第二服务器通信;在所述认证通过信息中添加所述第三私钥,并将添加所述第三私钥后的认证通过信息发送至所述待注册设备;所述待注册设备用于根据所述第三公钥验证所述认证通过信息,若验证通过则根据所述待注册设备的第一私钥以及所述第三公钥生成第二会话秘钥,以通过所述第二会话秘钥与所述第一服务器通信。
5.一种设备认证系统,其特征在于,所述系统包括:待注册设备、第一服务器以及第二服务器;所述待注册设备以及所述第一服务器设置于外网,所述第二服务器设置于内网,所述第二服务器中设置有区块链;所述第一服务器存储有所述第二服务器的第二公钥,以及所述第一服务器的第三公钥和第三私钥;所述待注册设备中存储有所述待注册设备的第一私钥以及所述第一服务器的第三公钥;所述待注册设备,用于向所述第一服务器发送设备注册请求;设备注册请求中包含所述待注册设备对应的第一公钥;所述第一服务器,用于根据所述第一公钥生成对应的设备注册信息,将所述设备注册信息发送至第二服务器;所述第二服务器用于,接收第一服务器发送的设备注册信息,根据所述设备注册信息生成对应的响应信息并通过所述区块链发送至所述第一服务器;所述第一服务器,用于将所述响应信息发送至所述待注册设备;所述待注册设备,用于根据所述响应信息生成对应的数字签名,并根据所述数字签名以及所述待注册设备的设备信息生成认证请求信息,将所述认证请求信息发送至所述第一服务器;所述第一服务器,用于将所述认证请求信息发送至所述的第二服务器的区块链中;所述第二服务器,用于通过所述区块链接收所述认证请求信息,并通过所述区块链,根据所述第一公钥对所述认证请求信息中的数字签名以及设备信息进行身份认证;所述第二服务器,用于若所述身份认证通过,通过所述区块链生成所述设备信息对应的认证通过信息;向所述认证通过信息中添加所述第二服务器的数字签名,并将添加所述第二服务器的数字签名后的认证通过信息发送至所述第一服务器;所述第一服务器,用于获取所述第二服务器返回的认证通过信息;所述认证通过信息包括所述设备信息以及所述第二服务器的数字签名;根据所述第二公钥验证所述认证通过信息,若验证通过则根据所述第三私钥以及所述第一公钥生成第一会话秘钥,以通过所述第一会话秘钥与所述第二服务器通信;在所述认证通过信息中添加所述第三私钥,并将添加所述第三私钥后的认证通过信息发送至所述待注册设备;所述待注册设备,用于根据所述第三公钥验证所述认证通过信息,若验证通过则根据所述待注册设备的第一私钥以及所述第三公钥生成第二会话秘钥,以通过所述第二会话秘钥与所述第一服务器通信。
6.一种设备认证装置,其特征在于,应用于第二服务器,所述第二服务器设置于内网,所述第二服务器中设置有区块链,所述装置包括:接收模块,用于接收第一服务器发送的设备注册信息;所述设备注册信息根据设置在外网的待注册设备发送的设备注册请求生成;所述设备注册请求包含所述待注册设备对应的第一公钥;响应模块,用于根据所述设备注册信息生成对应的响应信息并通过所述区块链发送至所述第一服务器;所述第一服务器用于将所述响应信息发送至所述待注册设备,所述待注册设备用于根据所述响应信息生成对应的数字签名,并根据所述数字签名以及所述待注册设备的设备信息生成认证请求信息,通过所述第一服务器将所述认证请求信息发送至第二服务器的区块链中;认证模块,用于通过所述区块链接收所述认证请求信息,并通过所述区块链,根据所述第一公钥对所述认证请求信息中的数字签名以及设备信息进行身份认证;还包括:确认模块,用于若所述身份认证通过,通过所述区块链生成所述设备信息对应的认证通过信息;向所述认证通过信息中添加所述第二服务器的数字签名,并将添加所述第二服务器的数字签名后的认证通过信息发送至所述第一服务器;所述第一服务器用于根据所述认证通过信息生成第一会话秘钥并向所述待注册设备发送所述认证通过信息,所述待注册设备用于根据所述认证通过信息生成第二会话秘钥,以使所述待注册设备通过所述第二会话秘钥与所述第一服务器进行通信,以及使所述第一服务器通过所述第一会话秘钥与所述第二服务器进行通信。
7.根据权利要求6所述的装置,其特征在于,所述设备注册信息包括所述设备注册请求的第一生成时间以及所述设备注册信息的第二生成时间;所述装置还包括:验证模块,用于:检测所述第二生成时间与所述第一生成时间的差值是否小于或等于预设时间差阈值,若是则执行所述根据所述设备注册信息生成对应的响应信息并通过所述区块链发送至所述第一服务器的步骤。
8.一种设备认证装置,其特征在于,应用于第一服务器,所述第一服务器设置于外网,所述装置包括:获取模块,用于获取设置在外网的待注册设备发送的设备注册请求;所述设备注册请求中包含所述待注册设备对应的第一公钥;第一发送模块,用于根据所述第一公钥生成对应的设备注册信息,将所述设备注册信息发送至第二服务器;所述第二服务器中设置有区块链;所述第二服务器用于接收第一服务器发送的设备注册信息,根据所述设备注册信息生成对应的响应信息并通过所述区块链发送至所述第一服务器;第二发送模块,用于将所述响应信息发送至所述待注册设备;所述待注册设备用于根据所述响应信息生成对应的数字签名,并根据所述数字签名以及所述待注册设备的设备信息生成认证请求,将所述认证请求信息发送至所述第一服务器;所述第一服务器存储有所述第二服务器的第二公钥,以及所述第一服务器的第三公钥和第三私钥;所述待注册设备中存储有所述待注册设备的第一私钥以及所述第一服务器的第三公钥;第三发送模块,用于将所述认证请求信息发送至所述的第二服务器的区块链中;所述第二服务器用于通过所述区块链接收所述认证请求信息,并通过所述区块链,根据所述第一公钥对所述认证请求信息中的数字签名以及设备信息进行身份认证;还包括:通信模块,用于获取所述第二服务器返回的认证通过信息;所述认证通过信息包括所述设备信息以及所述第二服务器的数字签名;根据所述第二公钥验证所述认证通过信息,若验证通过则根据所述第三私钥以及所述第一公钥生成第一会话秘钥,以通过所述第一会话秘钥与所述第二服务器通信;在所述认证通过信息中添加所述第三私钥,并将添加所述第三私钥后的认证通过信息发送至所述待注册设备;所述待注册设备用于根据所述第三公钥验证所述认证通过信息,若验证通过则根据所述待注册设备的第一私钥以及所述第三公钥生成第二会话秘钥,以通过所述第二会话秘钥与所述第一服务器通信。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。



