可信网络连接身份认证方法、电子设备及存储介质与流程

文档序号:32134276发布日期:2022-11-09 11:58阅读:91来源:国知局
可信网络连接身份认证方法、电子设备及存储介质与流程

1.本发明实施例涉及网络安全技术领域,特别涉及可信网络连接身份认证方法、电子设备及存储介质。


背景技术:

2.随着互联网、物联网和工控互联网的迅速发展,ip基础设施的发展带来了新技术,也带了新的安全挑战。机器级平台身份验证对于网络访问请求的安全性和授权至关重要。目前,现有技术中多是针对互联网设备的身份认证方法,这些技术通常涉及到数字证书认证的签名和验签流程,受证书存储容量等因素的限制,难以在资源受限的物联网设备或工控互联网平台上使用。因此,需要一种轻量级身份认证方法。


技术实现要素:

3.本发明的目的是针对上述至少一部分不足之处,提供一种轻量级的可信网络连接身份认证方法、电子设备及存储介质,能够适用于互联网、物联网甚至是工控互联网平台,在多网跨域的融合性网络平台上增强整个网络架构的安全性。
4.第一方面,本发明实施例提供了一种可信网络连接身份认证方法,包括:
5.基于eap,建立请求接入的终端设备与认证服务器之间的通信;
6.从所述认证服务器接收含有所述认证服务器的身份证明的数据包;其中所述认证服务器的身份证明基于ibc进行标识;
7.基于所述认证服务器的身份证明,验证所述认证服务器的身份;若身份不合法,则断开通信,若身份合法,则生成含有终端设备的身份信息的数据包并向所述认证服务器发送,以利用所述认证服务器执行:接收含有终端设备的身份信息的数据包;基于终端设备的身份信息,认证所述终端设备的身份,生成含有认证结果的数据包,并向终端设备发送;其中,终端设备的身份信息基于ibc进行标识;认证结果包括认证成功、认证失败和继续认证;
8.从所述认证服务器接收含有认证结果的数据包;若认证结果为认证失败,则断开通信,若认证结果为继续认证,则再次生成含有终端设备的身份信息的数据包并向所述认证服务器发送,以利用所述认证服务器继续执行认证,若认证结果为认证成功,则确认终端设备的身份可信。
9.可选地,所述的可信网络连接身份认证方法还包括:
10.在确认终端设备的身份可信之后,判断是否建立与所述认证服务器之间的加密隧道;
11.是则建立加密隧道,并向所述认证服务器发送受信任凭据。
12.可选地,所述建立加密隧道,包括:
13.生成含有终端设备拥有的受信任凭据模板类型信息的数据包,并向所述认证服务器发送,以利用所述认证服务器执行:接收含有终端设备拥有的受信任凭据模板类型信息的数据包;基于终端设备拥有的受信任凭据模板类型信息,评估终端设备能够提供受信任
凭据的能力,生成含有模版建议信息的数据包,并向终端设备发送;
14.从所述认证服务器接收含有模版建议信息的数据包;
15.基于模版建议信息,判断终端设备是否能够满足要求;若不满足,则生成含有建立隧道失败标识的数据包并向所述认证服务器回复,若满足,则向所述认证服务器返回含有模版建议信息的数据包,以利用所述认证服务器执行:接收含有模版建议信息的数据包;产生协商数据,生成包含所述认证服务器产生的协商数据的数据包,并向终端设备发送;
16.从所述认证服务器接收包含所述认证服务器产生的协商数据的数据包;
17.产生协商数据,生成包含终端设备产生的协商数据的数据包,并向所述认证服务器发送,以利用所述认证服务器执行:接收包含终端设备产生的协商数据的数据包;基于终端设备及所述认证服务器产生的协商数据,生成对称密钥;
18.基于所述认证服务器及终端设备产生的协商数据,生成对称密钥。
19.可选地,向所述认证服务器发送受信任凭据,包括:
20.基于模版建议信息确定受信任凭据;
21.基于生成的对称密钥对受信任凭据进行加密,得到包含受信任凭据的加密数据包,并向所述认证服务器发送,以利用所述认证服务器执行:接收包含受信任凭据的加密数据包;基于生成的对称密钥对加密数据包进行解密,得到受信任凭据;基于受信任凭据进行评估,得到评估结果;基于评估结果,判断是否认证成功,并向终端设备反馈。
22.可选地,所述认证服务器的身份证明基于sm9进行标识;所述含有所述认证服务器的身份证明的数据包中,装载有所述认证服务器产生的第一随机数、所述认证服务器的sm9公钥,以及所述认证服务器的sm9私钥对第一随机数的签名数据,作为所述认证服务器的身份证明;
23.终端设备的身份信息基于sm9进行标识;所述含有终端设备的身份信息的数据包中,装载有终端设备的sm9公钥,以及终端设备的sm9私钥对第一随机数的签名数据,作为终端设备的身份信息。
24.可选地,所述包含所述认证服务器产生的协商数据的数据包中,装载有所述认证服务器产生的第二随机数,以及,基于第二随机数、终端设备的sm9公钥及sm9密钥交换协议产生的协商数据;
25.所述包含终端设备产生的协商数据的数据包中,装载有基于第二随机数、所述认证服务器的sm9公钥及sm9密钥交换协议产生的协商数据。
26.可选地,所述基于模版建议信息确定受信任凭据,包括:
27.根据模版建议信息确定受信任凭据的数据,并决定是否对受信任凭据的数据进行分片,若分片,则得到多个包含受信任凭据的数据包,否则得到单个包含受信任凭据的数据包;
28.所述基于生成的对称密钥对受信任凭据进行加密,得到包含受信任凭据的加密数据包,包括:
29.基于生成的对称密钥,采用sm4加密算法对包含受信任凭据的数据包进行加密,得到加密数据;
30.基于所述认证服务器产生的协商数据得到盐值,采用sm4加密算法对包含受信任凭据的数据包或加密数据进行hmac运算,得到hmac数据;
31.基于得到的加密数据和hmac数据,生成包含受信任凭据的加密数据包。
32.第二方面,本发明实施例还提供了一种可信网络连接身份认证方法,包括:
33.基于eap,建立认证服务器与请求接入的终端设备之间的通信;
34.向所述终端设备发送含有认证服务器的身份证明的数据包,以利用所述终端设备执行:接收含有所述认证服务器的身份证明的数据包;基于含有认证服务器的身份证明的数据包,验证认证服务器的身份;若身份不合法,则断开通信,若身份合法,则生成含有所述终端设备的身份信息的数据包并向认证服务器发送;其中,认证服务器的身份证明、所述终端设备的身份信息均基于ibc确定;
35.从所述终端设备接收含有所述终端设备的身份信息的数据包;
36.基于终端设备的身份信息,认证所述终端设备的身份,生成含有认证结果的数据包,并向所述终端设备发送;其中,认证结果包括认证成功、认证失败和继续认证;若认证结果为认证失败,则断开通信,若认证结果为继续认证,则继续从所述终端设备接收含有终端设备的身份信息的数据包,再次认证所述终端设备的身份,若认证结果为认证成功,则确认终端设备的身份可信。
37.第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
38.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
39.本发明实施例提供了可信网络连接身份认证方法、电子设备及存储介质,本发明基于eap建立请求接入的终端设备与认证服务器之间的通信,基于ibc标识终端设备与认证服务器二者的身份,进行终端设备与认证服务器之间的双向认证,从而保证接入网络中的终端设备身份安全可信,相对于基于数字证书的认证方式,本发明更为简单、轻量,具备在多种跨域网络中的兼容性。
附图说明
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本发明一实施例提供的一种可信网络连接身份认证方法(适用于终端设备)流程图;
42.图2是本发明一实施例提供的另一种可信网络连接身份认证方法(适用于终端设备)流程图;
43.图3是本发明一实施例提供的另一种可信网络连接身份认证方法(适用于认证服务器)流程图;
44.图4(a)是第一阶段和第二阶段认证所用数据包的数据格式示意图;
45.图4(b)是第三阶段认证所用数据包的数据格式示意图;
46.图5(a)是第一阶段交互示意图;
47.图5(b)是第二阶段交互示意图;
48.图5(c)是第三阶段交互示意图。
具体实施方式
49.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.如前所述,现有技术中多是针对互联网设备的身份认证方法,这些技术通常涉及到数字证书认证的签名和验签流程,受证书存储容量等因素的限制,难以在资源受限的物联网设备或工控互联网平台上使用。
51.eap(extensible authentication protocol,可扩展身份认证协议)位于ppp身份验证协议中,为多种不同的身份认证方法提供通用框架。eap用于在请求方终端设备和认证服务器之间传递身份认证信息,实际的身份认证会按照eap类型进行定义与处理。eap架构的优点之一是它的灵活性,eap可用于选择特定的身份验证机制,通常在认证服务器请求更多信息以确定要使用的特定身份验证方法之后。eap不需要更新终端设备和认证服务器中的身份验证器以支持每种新的身份验证方法,而是允许使用后端的服务器,该服务器可以实现某些或所有身份验证方法,身份验证器充当某些或所有方法和对端的传递者。
52.ibc(identity-based cryptograph,基于身份标识的密码系统)是一种公钥密码体系,它使用广为人知的实体身份(如姓名、电子邮件地址、电话号码等)表示作为实体公钥。这消除了通过某种机制(例如数字签名的公钥证书)将单独的公钥绑定到实体身份的需要。在ibc中,公钥通常被视为实体身份和公钥有效期的串联。ibc算法具有轻量级密码计算的优点,可以为物联网和工业互联网提供安全、简洁的密码技术。
53.有鉴于此,本发明提供了一种基于eap框架、采用ibc进行身份标识的轻量级身份协议认证方法。
54.下面描述以上构思的具体实现方式。
55.请参考图1,本发明实施例提供了一种可信网络连接身份认证方法,该方法应用于请求接入的终端设备,包括:
56.步骤100,基于eap,建立请求接入的终端设备与认证服务器之间的通信;
57.步骤102,从认证服务器接收含有认证服务器的身份证明的数据包;其中认证服务器的身份证明基于ibc进行标识;
58.步骤104,基于认证服务器的身份证明,验证认证服务器的身份;
59.若该认证服务器的身份不合法,则断开通信;
60.若认证服务器的身份合法,则终端设备生成含有终端设备自身的身份信息的数据包并向认证服务器发送,以利用认证服务器执行:接收含有终端设备的身份信息的数据包;基于终端设备的身份信息,认证终端设备的身份,得到认证结果,生成含有认证结果的数据包,并向终端设备发送;其中,终端设备的身份信息同样基于ibc进行标识;认证结果包括认证成功、认证失败和继续认证;
61.步骤106,从认证服务器接收含有认证结果的数据包;
62.若认证结果为认证失败,则断开通信;
63.若认证结果为继续认证,则再次生成含有终端设备的身份信息的数据包并向认证服务器发送,以利用认证服务器继续执行认证;
64.若认证结果为认证成功,则确认终端设备的身份可信。确认终端设备的身份可信后,即可选择是否连接入可信网络。
65.本发明提供的可信网络连接身份认证方法利用eap的身份认证框架对可信网络连接的身份认证进行扩展,利用ibc标识终端设备与认证服务器的身份,进行双向的身份验证(即,终端设备验证认证服务器的身份是否合法,认证服务器也认证终端设备的身份是否合法),保证接入到网络中的终端设备身份安全可信,并且不涉及数字证书的签名验证及存储,更为简单、轻量,能够适用于互联网、物联网甚至是工控互联网平台,具备在多种跨域网络中的兼容性。
66.可选地,该可信网络连接身份认证方法还包括:
67.步骤108,在确认终端设备的身份可信之后,判断是否建立终端设备与认证服务器之间的加密隧道,以进一步认证终端设备的受信任凭据;
68.是则建立加密隧道,并向认证服务器发送受信任凭据,否则结束认证。
69.通过建立加密隧道并发送受信任凭据(如终端设备当前状态信息等),能够在终端设备身份可信的基础上,进一步验证该终端设备当前是否处于受信任的状态,例如在受到攻击后,虽然终端设备的身份信息正常,但已处于非正常状态,不再安全可信。上述实施方式引入了受信任凭据的支持,更符合可信网络连接的控制理念。
70.进一步地,步骤108中建立加密隧道包括:
71.步骤108-0,生成含有终端设备拥有的受信任凭据模板类型信息的数据包,并向认证服务器发送,以利用认证服务器执行:接收含有终端设备拥有的受信任凭据模板类型信息的数据包;基于终端设备拥有的受信任凭据模板类型信息,评估终端设备能够提供受信任凭据的能力,给出模版建议信息,生成含有模版建议信息的数据包,并向终端设备发送;
72.步骤108-2,从认证服务器接收含有模版建议信息的数据包;
73.步骤108-4,基于模版建议信息,判断该终端设备是否能够满足要求;
74.若不满足,则生成含有建立隧道失败标识的数据包,并向认证服务器回复;
75.若满足,则向认证服务器返回含有模版建议信息的数据包,以利用认证服务器执行:接收含有模版建议信息的数据包;产生协商数据,生成包含认证服务器产生的协商数据的数据包,并向终端设备发送;
76.步骤108-6,从认证服务器接收包含认证服务器产生的协商数据的数据包;
77.步骤108-8,产生协商数据,生成包含终端设备产生的协商数据的数据包,并向认证服务器发送,以利用认证服务器执行:接收包含终端设备产生的协商数据的数据包;基于终端设备及认证服务器自身产生的协商数据,生成对称密钥;
78.步骤108-10,基于认证服务器及终端设备自身产生的协商数据,生成对称密钥。
79.上述实施方式中,终端设备和认证服务器都得到了对方产生的协商数据,根据协商数据得到只有双方知道的对称密钥,用作建立对称加密隧道。
80.进一步地,步骤108中向认证服务器发送受信任凭据,包括:
81.步骤108-12,基于接收到的模版建议信息,确定该终端设备的受信任凭据;
82.步骤108-14,基于生成的对称密钥对确定的受信任凭据进行加密,得到包含受信任凭据的加密数据包,并向认证服务器发送,以利用认证服务器执行:接收包含受信任凭据的加密数据包;基于生成的对称密钥对接收到的加密数据包进行解密,得到受信任凭据;基于受信任凭据进行评估,得到评估结果;基于评估结果,判断对该终端设备的状态是否认证成功,并向终端设备反馈。
83.上述实施方式中,终端设备和认证服务器基于建立的对称加密隧道进一步传递数据,向认证服务器发送终端设备所拥有的受信任凭据,如终端设备的状态信息等,基于得到的受信任凭据,认证服务器能够进一步评估当前终端设备的状态,确认其可信程度。具体的受信任凭据的模版可根据需要进行设置。
84.进一步地,考虑到本发明可信网络连接身份认证方法的合规性问题,在一些实施方式中,该方法基于sm9国密算法实现。sm9是中国国家密码管理局于2016年3月发布的、基于身份密码的中国国家密码标准,以中国密码国家标准(国密)《gm/t 0044-2016sm9》为代表。该标准包含以下组成部分:
85.(gm/t 0044.1)基于身份的非对称密码算法;
86.(gm/t 0044.2)基于身份的数字签名算法,它允许一个实体对消息进行数字签名,该消息可以被另一个实体验证;
87.(gm/t 0044.3)基于身份的密钥建立和密钥封装;
88.(gm/t 0044.4)基于身份的公钥加密密钥封装算法,允许一个实体安全地向另一个实体发送对称密钥。
89.具体地,认证服务器的身份证明优选基于sm9进行标识;含有认证服务器的身份证明的数据包中,装载有认证服务器产生的第一随机数、认证服务器的sm9公钥,以及认证服务器的sm9私钥对第一随机数的签名数据,作为认证服务器的身份证明;
90.相应地,步骤104中基于认证服务器的身份证明,验证认证服务器的身份,进一步包括:基于认证服务器产生的第一随机数和认证服务器的sm9公钥,验证认证服务器的身份;
91.终端设备的身份信息同样基于sm9进行标识;含有终端设备的身份信息的数据包中,装载有终端设备的sm9公钥,以及终端设备的sm9私钥对第一随机数的签名数据,作为终端设备的身份信息;
92.相应地,步骤104中利用认证服务器执行:基于终端设备的身份信息,认证终端设备的身份,进一步包括:基于终端设备的sm9公钥,认证终端设备的身份。
93.上述实施方式使用sm9国密算法作为双向身份认证阶段(即步骤100至步骤106)的签名验签算法,sm9公钥、sm9私钥均依据sm9国密算法得到。sm9作为一种ibc,能够实现将基于身份的认证流程进行轻量级优化,并且,该方法引入了国密算法的流程,符合密码合规性。
94.进一步地,包含认证服务器产生的协商数据的数据包中,装载有认证服务器产生的第二随机数,以及,基于第二随机数、终端设备的sm9公钥及sm9密钥交换协议产生的协商数据;
95.包含终端设备产生的协商数据的数据包中,装载有基于第二随机数、认证服务器
的sm9公钥及sm9密钥交换协议产生的协商数据。
96.相应地,步骤108-8和步骤108-10中,生成对称密钥,均使用sm9密钥交换协议实现。
97.上述实施方式使用sm9国密算法作为加密隧道的密钥协商算法,即,使用sm9密钥交换协议生成一个只有双方知道的对称密钥,加密隧道建立阶段(即步骤108-0至步骤108-10)在接入请求的终端设备和认证服务器之间建立一条对称加密隧道,保证受信任凭据度量验证阶段(即步骤108-12至步骤108-14)传递的数据具备保密性。sm9密钥交换协议是继sm9数字签名算法、sm9标识加密算法之后,sm9国密算法的第三项iso/iec国际标准,用于通信双方基于对方的标识实现会话密钥协商,具有运算效率高、算法安全模式实现灵活等特点。
98.进一步地,步骤108-12包括:根据模版建议信息确定受信任凭据的数据,并决定是否对受信任凭据的数据进行分片,若分片,则得到多个包含受信任凭据的数据包,否则得到单个包含受信任凭据的数据包;
99.步骤108-14中,基于生成的对称密钥对受信任凭据进行加密,得到包含受信任凭据的加密数据包,包括:
100.基于生成的对称密钥,采用sm4加密算法对包含受信任凭据的数据包进行加密,得到加密数据;
101.基于认证服务器产生的协商数据得到盐值,采用sm4加密算法对包含受信任凭据的数据包或加密数据进行hmac运算,得到hmac数据;其中,对于单个包含受信任凭据的数据包,把认证服务器传递给终端设备的协商数据作为盐值,对于多个包含受信任凭据的数据包,对应的盐值按数据包的顺序依次加一;
102.基于得到的加密数据和hmac数据,生成包含受信任凭据的加密数据包。
103.上述实施方式采用sm4加密算法对受信任凭据进行加密,sm4加密算法与sm9一样由国际标准化组织iso/iec正式发布,可确保方法的合规性。包含受信任凭据的加密数据包中装载有加密数据和hmac数据,加密数据用于在认证服务器端评估终端设备的可信程度,hmac数据可防止第三方用户恶意伪造受信任凭据进行重放攻击。
104.如图2所示,本发明提供的一种可信网络连接身份认证方法包括:
105.步骤200,基于eap,建立请求接入的终端设备与认证服务器之间的通信;
106.步骤202,从认证服务器接收含有认证服务器的身份证明的数据包;其中认证服务器的身份证明基于ibc进行标识;
107.步骤204,基于认证服务器的身份证明,验证认证服务器的身份;
108.若身份不合法,则断开通信,若身份合法,则生成含有终端设备自身的身份信息的数据包并向认证服务器发送,以利用认证服务器执行:接收含有终端设备的身份信息的数据包;基于终端设备的身份信息,认证终端设备的身份,生成含有认证结果的数据包,并向终端设备发送;其中,终端设备的身份信息同样基于ibc进行标识;认证结果包括认证成功、认证失败和继续认证;
109.步骤206,从认证服务器接收含有认证结果的数据包;
110.若认证结果为认证失败,则断开通信,若认证结果为继续认证,则再次生成含有终端设备的身份信息的数据包并向认证服务器发送,以利用认证服务器继续执行认证,若认
证结果为认证成功,则确认终端设备的身份可信;
111.步骤208,判断是否建立与认证服务器之间的加密隧道;
112.是则继续执行,以进一步认证终端设备的受信任凭据,否则结束认证,终端设备接入可信网络;
113.步骤210,生成含有终端设备拥有的受信任凭据模板类型信息的数据包,并向认证服务器发送,以利用认证服务器执行:接收含有终端设备拥有的受信任凭据模板类型信息的数据包;基于终端设备拥有的受信任凭据模板类型信息,评估终端设备能够提供受信任凭据的能力,生成含有模版建议信息的数据包,并向终端设备发送;
114.步骤212,从认证服务器接收含有模版建议信息的数据包;
115.步骤214,基于模版建议信息,判断终端设备是否能够满足要求;
116.若不满足,则生成含有建立隧道失败标识的数据包,并向认证服务器回复;
117.若满足,则向认证服务器返回接收到的、含有模版建议信息的数据包,以利用认证服务器执行:接收含有模版建议信息的数据包;产生协商数据,生成包含认证服务器产生的协商数据的数据包,并向终端设备发送;
118.步骤216,从认证服务器接收包含认证服务器产生的协商数据的数据包;
119.步骤218,产生协商数据,生成包含终端设备产生的协商数据的数据包,并向认证服务器发送,以利用认证服务器执行:接收包含终端设备产生的协商数据的数据包;基于终端设备及认证服务器自身产生的协商数据,生成对称密钥;
120.步骤220,基于认证服务器及终端设备自身产生的协商数据,生成对称密钥;
121.步骤222,根据模版建议信息确定受信任凭据的数据,并决定是否对受信任凭据的数据进行分片;
122.若分片,则得到多个包含受信任凭据的数据包,否则得到单个包含受信任凭据的数据包;
123.步骤224,基于生成的对称密钥,对包含受信任凭据的数据包进行加密,得到加密数据;
124.步骤226,基于认证服务器产生的协商数据得到盐值,对包含受信任凭据的数据包或加密数据进行hmac运算,得到hmac数据;其中,对于单个包含受信任凭据的数据包,把认证服务器传递给终端设备的协商数据作为盐值,对于多个包含受信任凭据的数据包,对应的盐值按数据包的顺序依次加一;
125.步骤228,基于得到的加密数据和hmac数据,生成包含受信任凭据的加密数据包;
126.步骤230,向认证服务器发送包含受信任凭据的加密数据包,以利用认证服务器执行:接收包含受信任凭据的加密数据包;基于生成的对称密钥对加密数据包进行解密,得到受信任凭据;基于受信任凭据进行评估,得到评估结果;基于评估结果,判断是否认证成功,并向终端设备反馈。
127.上述步骤200至步骤206可认为属于认证的第一阶段:双向身份认证阶段,步骤208至步骤220可认为属于第二阶段:加密隧道建立阶段,步骤222至步骤230可认为属于第三阶段:受信任凭据度量验证阶段。
128.请参考图3,本发明实施例还提供了一种可信网络连接身份认证方法,该方法应用于认证服务器,包括:
129.步骤300,基于eap,建立认证服务器与请求接入的终端设备之间的通信;
130.步骤302,向终端设备发送含有认证服务器自身的身份证明的数据包,以利用终端设备执行:
131.接收含有认证服务器的身份证明的数据包;
132.基于认证服务器的身份证明,验证认证服务器的身份;若身份不合法,则断开通信,若身份合法,则生成含有终端设备的身份信息的数据包并向认证服务器发送;其中,认证服务器的身份证明、终端设备的身份信息均基于ibc确定;
133.步骤304,从终端设备接收含有终端设备的身份信息的数据包;
134.步骤306,基于终端设备的身份信息,认证终端设备的身份,生成含有认证结果的数据包,并向终端设备发送;
135.其中,认证结果包括认证成功、认证失败和继续认证;
136.若认证结果为认证失败,则断开通信,若认证结果为继续认证,则继续从终端设备接收含有终端设备的身份信息的数据包,再次认证终端设备的身份,若认证结果为认证成功,则确认终端设备的身份可信。
137.进一步地,该方法还包括:
138.步骤308,从终端设备接收含有终端设备拥有的受信任凭据模板类型信息的数据包;
139.步骤310,基于终端设备拥有的受信任凭据模板类型信息,评估终端设备能够提供受信任凭据的能力,生成含有模版建议信息的数据包,并向终端设备发送,以利用终端设备执行:
140.接收含有模版建议信息的数据包;
141.基于模版建议信息,判断终端设备是否能够满足要求;若不满足,则生成含有建立隧道失败标识的数据包并向认证服务器回复,若满足,则向认证服务器返回含有模版建议信息的数据包;
142.步骤312,接收数据,若从终端设备接收到含有建立隧道失败标识的数据包,则断开通信;
143.若从终端设备接收到含有模版建议信息的数据包,则产生协商数据,生成包含认证服务器产生的协商数据的数据包并向终端设备发送,以利用终端设备执行:
144.接收包含认证服务器产生的协商数据的数据包;
145.产生协商数据,生成包含终端设备产生的协商数据的数据包并向认证服务器发送;
146.以及,基于认证服务器及终端设备产生的协商数据,生成对称密钥;
147.步骤314,从终端设备接收包含终端设备产生的协商数据的数据包;
148.步骤316,基于终端设备及认证服务器产生的协商数据,生成对称密钥。
149.进一步地,该方法还包括:
150.步骤318,从终端设备接收一个或多个包含受信任凭据的加密数据包;
151.步骤320,基于生成的对称密钥对接收到的加密数据包进行解密,得到受信任凭据;
152.步骤322,基于受信任凭据进行评估,得到评估结果;其中,基于受信任凭据进行评
估,可将受信任凭据发送至可信网络的决策端,由决策端进行评估(即确定是否可信),再从决策端获得评估结果;决策端决策的可信预期值可来自于策略服务器;
153.步骤324,基于评估结果,判断是否对终端设备认证成功,并向终端设备反馈;
154.若认证成功,则向终端设备反馈认证成功的结果,完成对终端设备的认证;
155.若认证不成功,则向终端设备反馈认证失败的结果,断开连接。
156.上述步骤300至步骤306可认为属于认证的第一阶段:双向身份认证阶段,步骤308至步骤316可认为属于第二阶段:加密隧道建立阶段,步骤318至步骤324可认为属于第三阶段:受信任凭据度量验证阶段。
157.进一步地,第一阶段可利用sm9国密算法实现双向身份认证的签名验签,第二阶段可利用sm9国密算法实现加密隧道的密钥协商,第三阶段可利用sm4算法实现对受信任凭据加密。
158.上述应用于认证服务器的可信网络连接身份认证方法与本发明应用于终端设备的方法实施例基于同一构思,具体内容可参见本发明应用于终端设备的方法实施例中的叙述,此处不再赘述。
159.请参阅图4(a)至图5(c),进一步地,本发明实施方式中认证的第一阶段可采用如图4(a)所示的数据格式得到装载了相应数据的数据包(如含有认证服务器的身份证明的数据包、含有终端设备的身份信息的数据包和含有认证结果的数据包),其中,各类型数据具体说明如下:
160.编码:字段是一个八位字节,用于标识eap数据包的类型;1值代表eap请求;0值代表eap响应。
161.序列号:序列号为了匹配对应的身份认证的请求和响应数据包。
162.总长度:整个数据包的总数据长度。
163.阶段类型:标识认证所属阶段。
164.版本:协议版本信息。
165.标识:指示当前数据包所处的认证阶段,在第一阶段中共有auth_request、auth_response、auth_success、auth_fail和auth_continue五种类型的标识,其中:
166.auth_request:认证服务器请求认证终端设备的身份,此时数据载荷装载有认证服务器产生的随机数(如第一随机数),认证服务器的sm9公钥,以及认证服务器的sm9私钥对该随机数的签名数据;
167.auth_response:当终端设备验证认证服务器的合法身份后,终端设备响应认证服务器的请求,此时数据载荷装载有终端设备的sm9公钥,以及终端设备的sm9私钥对随机数的签名数据;
168.auth_success:认证服务器认证终端设备为合法身份后,如果无需进行第二阶段和第三阶段的认证,即可立即发送auth_success作为应答,这时终端设备便会接入到可信网络中;
169.auth_fail:认证服务器认证对方身份不合法时发送的应答;
170.auth_continue:认证服务器认证对方身份存疑,终端设备需要继续和认证服务器进行协商认证时发送的应答;
171.上述auth_success、auth_fail和auth_continue分别对应认证结果中的认证成
功、认证失败和继续认证。
172.数据长度:数据载荷的长度。
173.数据载荷:数据包中装载(或称携带)的具体数据。
174.如图5(a)所示,第一阶段终端设备与认证服务器之间的交互大致包括:
175.1)认证服务器向终端设备发送auth_request数据,其中数据载荷包含:认证服务器产生的第一随机数nonce、认证服务器的sm9公钥pub
server
以及认证服务器的sm9私钥对nonce的签名数据;
176.2)终端设备收到数据包后通过nonce和pub
server
验证对方的合法身份,如果认证服务器身份合法,则发送响应auth_reponse,同时数据载荷为终端设备自身的sm9公钥pub
client
以及其私钥对nonce的签名值;如果身份不合法,则断开通信;
177.3)认证服务器收到对方发来的响应后,也会认证终端设备身份是否合法,如果身份不合法则断开连接;在终端设备身份认证合法后,认证服务器便可根据可信网络中的策略服务器来评估是否需要继续进行受信任凭据的认证,如果需要继续进行可信的认证,则会发送auth_continue的数据包,否则发送auth_success的数据包。
178.第二阶段依然可采用如图4(a)所示的数据格式得到装载了相应数据的数据包(如含有终端设备拥有的受信任凭据模板类型信息的数据包、含有模版建议信息的数据包、含有建立隧道失败标识的数据包、包含协商数据的数据包),只是标识与第一阶段的不同,第二阶段的标识主要有以下几种类型:
179.own_template:终端设备自身所拥有的受信任凭据模板类型信息,为了区别互联网、物联网和工控互联网等各种不同的使用场景,本发明针对不同的网络使用场景划分了不同模板,可以通过协商后的模板类型来传递自己的受信任凭据,如模板类型默认有temp_gen——通用模板、temp_iot——适用于物联网,以及temp_iiot——适用于工业互联网,此时数据包的数据载荷包含的数据为定长4字节的模板组合;
180.ack_template:标识认证服务器的模板协商回应结果,即模版建议信息,此时数据载荷包含的数据为定长4字节的建议模板,认证服务器可通过可信网络连接的决策服务器来决策对方应该使用的模板类型,终端设备确认可以使用此模板类型后,也发送ack_template给认证服务器进行确认,否则发送ack_fail来标识协商失败,同时双方断开连接;
181.cipher_neo:标识对称密钥的协商数据类型,此时数据载荷包含产生的协商数据,其中双方都用新创建的第二随机数及对方的公钥生成协商数据。
182.ack_fail:标识建立隧道失败。
183.如图5(b)所示,第二阶段终端设备与认证服务器之间的交互大致包括:
184.1)终端设备向认证服务器发送own_template数据,此时数据载荷为32位的模板类型值,目前只定义temp_gen、temp_iot和temp_iiot,为了保证扩展性,保留其他的值进行后续的扩展;
185.2)认证服务器收到ack_template数据后,需要对终端设备可以提供受信信任凭据的能力进行评估,然后发送建议的模板值;
186.3)终端设备收到ack_template数据后,判断是否可以满足要求,不满足则发送ack_fail,满足则回复ack_template数据;
187.4)认证服务器生成第二随机数,通过第二随机数和终端设备的sm9公钥,使用sm9
密钥交换协议产生协商数据(对应的数据包中标识为cipher_neo),发给终端设备;
188.5)终端设备收到cipher_neo数据后,也把自己产生的协商数据发送给认证服务器(对应的数据包中标识同样为cipher_neo);
189.终端设备和认证服务器都得到对方的协商数据后,双双生成对称密钥。
190.第三阶段可采用如图4(b)所示的数据格式得到装载了相应数据的数据包(如包含受信任凭据的加密数据包),其中,各类型数据具体说明如下:
191.编码:字段是一个八位字节,用于标识eap数据包的类型;1值代表eap请求;0值代表eap响应。
192.序列号:序列号为了匹配对应的身份认证的请求和响应数据包。
193.总长度:整个数据包的总数据长度。
194.阶段类型:标识认证所属阶段。
195.版本:协议版本信息。
196.标识:指示当前数据包所处的认证阶段,在第三阶段中共有以下几种类型:
197.data_start:表明第一个发送的包含受信任凭据的加密数据包,不可以和data_more标识同时共存,可以与data_end共存,表明只有一个数据包,不需要进行数据切片;
198.data_more:表明后续的加密数据包,因为受信任凭据可能包含大量的数据,所以在数据量很大的时候需要进行切片处理,不能与data_start与data_end共存;
199.data_end:表明最后一个加密数据包;
200.auth_success:认证成功,由认证服务器发送。
201.auth_fail:认证失败,由认证服务器发送。
202.加密数据长度:通过sm4加密的受信任凭据的数据长度。
203.加密数据:加密后的受信任凭据。
204.hmac数据:受信任凭据的hmac校验数据,通过把第二阶段由认证服务器传递给终端设备的协商数据作为盐值,由sm4加密算法生成。在多个切片数据包中,盐值每次递增1。
205.如图5(c)所示,第三阶段终端设备与认证服务器之间的交互大致包括:
206.1)终端设备根据受信任凭据的长度决定是否对数据进行分片,接着使用协商的对称密钥对受信任凭据进行加密,并使用认证服务器传递过来的协商数据作为盐值对数据使用sm4算法进行hmac运算。
207.2)认证服务器接受完数据包后,使用协商的对称密钥对受信任凭据进行解密,然后发送到可信网络的决策端进行评估是否可信,如果评估结果为可信状态则发送auth_success,否则发送auth_fail,并断开与终端设备的连接。
208.本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的可信网络连接身份认证方法。
209.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的可信网络连接身份认证方法。
210.具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或
mpu)读出并执行存储在存储介质中的程序代码。
211.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
212.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
213.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
214.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
215.需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
216.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
217.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1