本发明属于通讯,尤其是一种基于dtls的网络认证方法。
背景技术:
1、在现有技术中,网络认证技术主要是指在网络中确认客户端身份的过程,这种双向认证包括网络确认客户端身份,客户端确认网络服务端的身份。通过身份网络认证交互技术,可以使网络获知用户的正确身份,防止非法用户接入,还可以使客户端确认网络的正确身份,防止攻击者假冒网络诱骗用户接入。目前认证用于通信网络层面,在上层业务层/应用层的通信认证过程中不使用,具有很大的应用局限性;其协议处于操作系统核心层面,因此并不适用于所有的设备,致使限制了密钥的应用范围。
技术实现思路
1、发明目的:提供一种基于dtls的网络认证方法,以解决现有技术存在的上述问题。
2、技术方案:一种基于dtls的网络认证方法,包括:
3、s1、获取网络层的远程接入请求;
4、s2、根据所述远程接入请求在传输层生成dtls记录协议;
5、s3、根据所述dtls记录协议进行封装处理得到目标数据;
6、s4、利用所述目标数据根据dtls握手协议完成网络认证。
7、优选的,所述获取网络层的远程接入请求包括:
8、在网络层中获取接收到的网络地址请求;
9、根据所述网络地址请求获取接入地址和与所述接入地址对应的接入数据;
10、根据所述接入地址和与所述接入地址对应的接入数据作为网络层的远程接入请求。
11、优选的,所述远程接入请求在传输层生成dtls记录协议包括:
12、获取所述远程接入请求中的接入地址作为dtls头部记录标记;
13、获取所述dtls头部记录标记的字节长度;
14、根据所述dtls头部记录标记和dtls头部记录标记的字节长度以及远程接入请求中的接入数据作为dtls记录协议。
15、优选的,所述根据所述dtls记录协议进行封装处理得到目标数据包括:
16、获取所述接入数据对应的加密密钥;
17、根据所述加密密钥对接入数据进行对称加密处理得到加密数据;
18、根据所述加密数据和对应的加密密钥获取对应mac值;
19、根据所述dtls记录协议和mac值对加密数据进行封装处理得到封装包;
20、在所述封装包的头部添加dtls头部记录标记得到目标数据。
21、优选的,所述利用所述目标数据根据dtls握手协议完成网络认证包括:
22、s4-1、获取所述目标数据的dtls头部记录标记;
23、s4-2、将所述dtls头部记录标记作为第一次握手认证信息;
24、s4-3、将所述第一次握手认证信息和目标数据作为第一次握手信息;
25、s4-4、利用所述第一次握手信息根据dtls握手协议进行封装处理得到第一次握手信息包;
26、s4-5、在服务端内对所述第一次握手信息包进行认证处理得到第一次握手状态;
27、s4-6、判断所述第一次握手状态是否成功,若是,根据所述第一次握手信息包进行解封解密处理得到第一次识别数据,否则,放弃处理;
28、s4-7、根据所述第一次识别数据作为第二次握手信息;
29、s4-8、利用所述第二次握手信息根据dtls握手协议进行封装处理得到第二次握手信息包;
30、s4-9、在客户端内对所述第二次握手信息包进行认证处理得到第二次握手状态;
31、s4-10、判断所述第二次握手状态是否成功,若是,根据所述第二次握手信息包进行解封解密处理得到第二次识别数据,否则,放弃处理;
32、s4-11、根据所述第二次识别数据作为第三次握手信息;
33、s4-12、在服务端内对所述第三次握手信息进行认证处理得到第三次握手状态;
34、s4-13、判断所述第一次握手状态、第二次握手状态与第三次握手状态是否均为成功,若是,网络认证通过,否则,网络认证不通过。
35、进一步的,所述利用所述第一次握手信息根据dtls握手协议进行封装处理得到第一次握手信息包括;
36、获取所述第一次握手信息中目标数据对应的加密密钥作为dtls握手协议的会话密钥;
37、获取所述dtls握手协议中的协议字节长度要求;
38、利用所述第一次握手信息根据协议字节长度要求得到第一次握手数据;
39、根据第一次握手数据进行封装处理得到第一次握手数据包;
40、在第一次握手数据包的头部添加第一次握手认证信息得到第一次握手信息包。
41、进一步的,所述在服务端内对所述第一次握手信息包进行认证处理得到第一次握手状态包括:
42、s4-5-1、获取所述服务端的地址作为第一地址;
43、s4-5-2、获取所述第一次握手信息包中第一次握手认证信息对应的接入地址作为第二地址;
44、s4-5-3、判断所述第一地址与第二地址是否相同,若是,执行s4-5-4,否则第一次握手状态为失败;
45、s4-5-4、获取所述第一地址对应的服务端工作状态;
46、s4-5-5、判断所述服务端工作状态是否为正常,若是,第一次握手状态为成功,否则第一次握手状态为失败。
47、进一步的,所述利用所述第二次握手信息根据dtls握手协议进行封装处理得到第二次握手信息包括:
48、利用所述第二次握手信息中的第一次识别数据根据dtls握手协议的会话密钥进行解密处理得到第一次解密数据;
49、根据第一次解密数据和第二次握手信息中的目标数据得到第二次握手组合数据;
50、利用所述第二次握手组合数据根据协议字节长度要求得到第二次握手信息包。
51、进一步的,所述在客户端内对所述第二次握手信息包进行认证处理得到第二次握手状态包括:
52、s4-9-1、获取所述第二次握手信息包对应的目标数据作为客户端目标数据;
53、s4-9-2、获取所述客户端目标数据中dtls记录协议对应的dtls头部记录标记的字节长度作为第一字节长度;
54、s4-9-3、获取所述第二次握手信息包对应的第一次解密数据中dtls记录协议对应的dtls头部记录标记的字节长度作为第二字节长度;
55、s4-9-4、判断所述第一字节长度与第二字节长度是否相同,若是,执行s4-9-5,否则第二次握手状态为失败;
56、s4-9-5、根据dtls握手协议在客户端内对客户端目标数据进行解密处理得到客户端解密数据;
57、s4-9-6、获取所述第二次握手信息包对应的第一次解密数据和对应的加密密钥进行计算处理得到mac值;
58、s4-9-7、根据所述客户端解密数据和对应的加密密钥进行计算处理得到mac1值;
59、s4-9-8、判断所述mac值与mac1值是否相同,若是,第二次握手状态为成功,否则,第二次握手状态为失败。
60、进一步的,所述在服务端内对所述第三次握手信息进行认证处理得到第三次握手状态包括:
61、s4-12-1、判断所述服务端内是否存在第三次握手信息包,若是,执行s4-12-2,否则,第三次握手状态为失败;
62、s4-12-2、判断所述第三次握手信息中的第二次识别数据与目标数据是否相同,若是,第三次握手状态为成功,否则,第三次握手状态为失败。
63、有益效果:发明基于dtls进行网络认证,保证三次握手信息的安全录入,避免信息泄露的风险,认证的过程不局限于网络层面,在上层业务层/应用层的通信认证过程均可使用具有较强的互操作性,利用dtls协议参与握手过程,降低对网络宽带的占有可提升数据传输效率,且认证过程中并未因为客户端与服务端的状态对dtls协议内容做任何的改动,具有良好的兼容性。