本发明涉及网络安全,尤其涉及一种基于区块链的双向认证方法、装置、设备、介质及产品。
背景技术:
1、在移动互联网中,未经授权的设备或者用户在接入无线网络时,存在用户信息泄露、数据丢失和网络攻击等风险;同时,传统的终端接入过程中对业务数据没有进行加密操作,攻击者可以通过窃听等方式获取敏感信息。基于上述安全隐患,研究者提出安全终端接入技术,例如:ssl+vpn/ipsec,通过集中化的管理方式提供用户凭证。但是,这种方式入网凭证面临泄露的风险,一旦发生单点失效故障,将会导致大规模的威胁攻击。此外,集中式的服务器安全度有限,用户的关键信息存储在上面,容易遭受窃取攻击。并且,当用户需要在不同网络间切换时,需要重新进行身份认证,非常耗时。
技术实现思路
1、本发明所要解决的技术问题在于,提供一种基于区块链的双向认证方法、装置、设备、介质及产品,将国密sm2签名技术和区块链分布式架构相结合,实现终端与网关之间的双向身份认证,且安全接入过程中身份数据加密,跨域认证时双方无需再次交换身份信息,可通过区块链查询身份凭证,认证效率较高的同时还可以确保用户合法性。
2、为了实现上述目的,本发明实施例提供了一种基于区块链的双向认证方法,所述方法由第一网关执行,所述方法包括:
3、接收终端发送的跨域入网请求;
4、根据所述跨域入网请求从区块链中获取所述终端对应的身份凭证;其中,所述身份凭证是所述终端在第二网关中完成入网注册后,由所述第二网关生成并存储至所述区块链中;
5、基于所述身份凭证验证所述终端的签名有效性;若验证通过,则向所述终端返回入网请求确认。
6、作为上述方案的改进,所述跨域入网请求包括终端身份标识、入网请求信息、终端签名以及时间戳,则所述根据所述跨域入网请求从区块链中获取所述终端对应的身份凭证,具体为:
7、基于rfid技术根据所述跨域入网请求中的所述终端身份标识,从所述区块链中获取所述终端对应的身份凭证。
8、作为上述方案的改进,所述基于所述身份凭证验证所述终端的签名有效性,包括:
9、基于所述身份凭证获取所述终端的签名信息、身份信息以及历史上网行为;
10、验证所述终端的签名有效性,并根据所述历史上网行为判断所述终端的请求行为是否正常;
11、若所述终端的签名有效,且所述终端的行为正常,则验证通过。
12、作为上述方案的改进,所述终端向所述第一网关发送所述跨域入网请求之前,基于所述区块链上存储的历史数据评估所述第一网关的信誉度;
13、若所述第一网关的信誉度达到第一预设阈值,则向所述第一网关发送所述跨域入网请求。
14、本发明实施例还提供了一种基于区块链的双向认证方法,所述方法由第二网关执行,所述方法包括:
15、接收终端发送的入网注册请求;
16、验证所述入网注册请求中的签名有效性,并为所述终端生成第一公钥和第一私钥,将所述第一公钥和所述第一私钥加密传输至所述终端;
17、接收所述终端发送的第二公钥、第二私钥以及签名凭证;
18、基于所述签名凭证验证所述终端的签名有效性以及身份合法性;
19、若验证通过,则为所述终端生成身份凭证,并将所述身份凭证发送至所述终端,同时上传至区块链进行存储。
20、作为上述方案的改进,所述入网注册请求包括终端的互联网信誉度、终端身份标识、终端的公钥、终端签名以及时间戳。
21、作为上述方案的改进,所述接收终端发送的入网注册请求之后,所述方法还包括:
22、基于rfid技术查询所述区块链中是否存在所述终端身份标识;
23、若是,直接为所述终端生成身份凭证,并将所述身份凭证发送至所述终端,同时上传至所述区块链进行存储。
24、作为上述方案的改进,所述方法还包括:
25、判断所述终端的互联网信誉度是否达到第二预设阈值;
26、若是,则响应所述终端的所述入网注册请求;
27、若否,则拒绝所述终端的所述入网注册请求。
28、本发明实施例还提供了一种基于区块链的双向认证装置,所述装置应用于第一网关,所述装置包括:
29、请求接收模块,用于接收终端发送的跨域入网请求;
30、凭证获取模块,用于根据所述跨域入网请求从区块链中获取所述终端对应的身份凭证;其中,所述身份凭证是所述终端在第二网关中完成入网注册后,由所述第二网关生成并存储至所述区块链中;
31、签名验证模块,用于基于所述身份凭证验证所述终端的签名有效性;若验证通过,则向所述终端返回入网请求确认。
32、本发明实施例还提供了一种基于区块链的双向认证装置,所述装置应用于第二网关,所述装置包括:
33、请求接收模块,用于接收终端发送的入网注册请求;
34、密钥生成模块,用于验证所述入网注册请求中的签名有效性,并为所述终端生成第一公钥和第一私钥,将所述第一公钥和所述第一私钥加密传输至所述终端;
35、密钥接收模块,用于接收所述终端发送的第二公钥、第二私钥以及签名凭证;
36、身份验证模块,用于基于所述签名凭证验证所述终端的签名有效性以及身份合法性;
37、凭证生成模块,用于若验证通过,则为所述终端生成身份凭证,并将所述身份凭证发送至所述终端,同时上传至区块链进行存储。
38、本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的基于区块链的双向认证方法。
39、本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任一项所述的基于区块链的双向认证方法。
40、本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令被处理器执行时实现上述任一项所述的基于区块链的双向认证方法。
41、相对于现有技术,本发明实施例提供的一种基于区块链的双向认证方法、装置、设备、介质及产品的有益效果在于:通过第一网关接收终端发送的跨域入网请求;根据所述跨域入网请求从区块链中获取所述终端对应的身份凭证;其中,所述身份凭证是所述终端在第二网关中完成入网注册后,由所述第二网关生成并存储至所述区块链中;基于所述身份凭证验证所述终端的签名有效性;若验证通过,则向所述终端返回入网请求确认。本发明实施例将国密sm2签名技术和区块链分布式架构相结合,实现终端与网关之间的双向身份认证,且安全接入过程中身份数据加密,跨域认证时双方无需再次交换身份信息,可通过区块链查询身份凭证,认证效率较高的同时还可以确保用户合法性。
1.一种基于区块链的双向认证方法,其特征在于,所述方法由第一网关执行,所述方法包括:
2.如权利要求1所述的基于区块链的双向认证方法,其特征在于,所述跨域入网请求包括终端身份标识、入网请求信息、终端签名以及时间戳,则所述根据所述跨域入网请求从区块链中获取所述终端对应的身份凭证,具体为:
3.如权利要求1所述的基于区块链的双向认证方法,其特征在于,所述基于所述身份凭证验证所述终端的签名有效性,包括:
4.如权利要求1所述的基于区块链的双向认证方法,其特征在于,所述终端向所述第一网关发送所述跨域入网请求之前,基于所述区块链上存储的历史数据评估所述第一网关的信誉度;
5.一种基于区块链的双向认证方法,其特征在于,所述方法由第二网关执行,所述方法包括:
6.如权利要求5所述的基于区块链的双向认证方法,其特征在于,所述入网注册请求包括终端的互联网信誉度、终端身份标识、终端的公钥、终端签名以及时间戳。
7.如权利要求6所述的基于区块链的双向认证方法,其特征在于,所述接收终端发送的入网注册请求之后,所述方法还包括:
8.如权利要求6所述的基于区块链的双向认证方法,其特征在于,所述方法还包括:
9.一种基于区块链的双向认证装置,其特征在于,所述装置应用于第一网关,所述装置包括:
10.一种基于区块链的双向认证装置,其特征在于,所述装置应用于第二网关,所述装置包括:
11.一种终端设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,且所述计算机程序被配置为由所述处理器执行,所述处理器执行所述计算机程序时实现如权利要求1至8中任意一项所述的基于区块链的双向认证方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,其中,所述计算机可读存储介质所在设备执行所述计算机程序时,实现如权利要求1至8中任意一项所述的基于区块链的双向认证方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令被处理器执行时实现如权利要求1至8中任意一项所述的基于区块链的双向认证方法。