SSL VPN
2021-05-20 15:14:16 3 举报
AI智能生成
SSL握手流程,码字不易,拒绝白嫖!
作者其他创作
大纲/内容
概述:SSL VPN即指采用SSL协议来实现远程接入的一种新型VPN技术。它包括:服务器认证,客户认证、SSL链路上的数据完整性和SSL链路上的数据保密性
概述:TLS(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善
SSL的主要握手流程
握手流程步骤详解
1.客户端首先会发送 ClientHello 消息与服务端进行握手,在 ClinentHello 消息
中包括了加密套件和随机数。
中包括了加密套件和随机数。
2.在服务端接收到客户端的握手请求后,会结合自己的证书选择合适的加密套
件返回给客户端,并且会产生随机数一起发送。
件返回给客户端,并且会产生随机数一起发送。
3.服务端会继续发送 Certificate 证书消息给客户端,在 Certificate 证书消息中
会包含双证书,即签名证书和加密证书,加密证书放在签名证书前面。
会包含双证书,即签名证书和加密证书,加密证书放在签名证书前面。
4.服务端根据选定的握手协议,接着发送 ServerKeyExchange 消息(服务器密
钥交换)。如果选用的是 ECC_SM4_SM3 套件,则在消息中包含着服务端对
双方随机数和服务端加密证书的签名。
钥交换)。如果选用的是 ECC_SM4_SM3 套件,则在消息中包含着服务端对
双方随机数和服务端加密证书的签名。
5.如果服务端开启了双向认证,则会继续发送 CertificateRequest(证书请求)
消息给客户端。(表明自己想要收到客户端的证书。)
消息给客户端。(表明自己想要收到客户端的证书。)
6.在客户端接收到服务端的回复后,如果收到了 5 中发送的消息,则会先回复
ClientCertificate 消息(证书请求)给服务端,如果没有收到,则跳过此步骤
ClientCertificate 消息(证书请求)给服务端,如果没有收到,则跳过此步骤
7.如果客户端收到了 5 的请求, 则在发送完 6 的消息后紧接着发送
ClientKeyExchange(客户端密钥交换)给服务端,否则 ClientKeyExchange
(客户端密钥交换)是客户端在收到服务端消息后回复给服务端的第一条信
息。如果选用的是 ECC_SM4_SM3 套件,则这条消息的主要内容是用服务端
加密证书公钥加密的预主秘钥。
ClientKeyExchange(客户端密钥交换)给服务端,否则 ClientKeyExchange
(客户端密钥交换)是客户端在收到服务端消息后回复给服务端的第一条信
息。如果选用的是 ECC_SM4_SM3 套件,则这条消息的主要内容是用服务端
加密证书公钥加密的预主秘钥。
8.如果客户端发送了 6 的消息,则需要发送 CertificateVerify 消息(证书验证)
给服务端,这条消息用来鉴别客户端是否为证书的合法持有者。
给服务端,这条消息用来鉴别客户端是否为证书的合法持有者。
9.最后在服务端和客户端各自在密码规格变革消息后都会发送 Finished(完
成)消息给对方。用于验证秘钥交换过程是否成功,并校验握手过程的完整
性。
成)消息给对方。用于验证秘钥交换过程是否成功,并校验握手过程的完整
性。
10.到此整个国密 SSL 握手的流程就结束了,协议双方会使用协商出来的对称
秘钥对通信的数据进行加解密。
秘钥对通信的数据进行加解密。
0 条评论
下一页