SSL证书工作原理是什么呢?

作者:尹姑娘 | 分类:SSL证书 | 浏览:63 | 评论:

 
  ssl是一种安全协议,它提供了使用tcp/ip的通信应用程序之间的隐私和完整性。互联网的超文本传输协议(http)使用ssl来实现安全通信。
 
  客户端和服务器之间传输的数据使用对称算法(如DES或RC4)进行加密。用于获取加密密钥交换和数字签名的公钥算法(通常为RSA)使用服务器SSL数字证书中的公钥。使用服务器的SSL数字证书,客户端还可以对服务器进行身份验证。SSL协议的版本1和2仅提供服务器身份验证。版本3添加了客户端身份验证,这需要客户端和服务器数字证书。

 
  SSL握手
 
  SSL连接始终由客户端发起。在SSL会话开始时执行SSL握手。此握手将生成会话的密码参数。下图简要介绍了如何处理SSL握手。此示例假定已在Web浏览器和Web服务器之间建立了SSL连接。
 
  SSL工作原理
 
  (1)客户端发送“hello”消息(按客户端首选项排序),列出客户端的密码功能,例如SSL的版本,客户端支持的密码对(密码套件)和客户端支持的支持。数据压缩方法(哈希函数)。该消息还包含一个28字节的随机数。
 
  (2)服务器响应一个服务器“hello”消息,其中包含一个密码方法(密码对)和服务器选择的数据压缩方法,以及一个会话标识符和另一个随机数。
 
  注意:客户端和服务器必须至少支持一个公共密码对,否则握手失败。服务器一般会选择最大的公共密码对。
 
  (3)服务器发送SSL数字证书。(服务器使用带SSL的X.509V3数字证书。)
 
  如果服务器使用SSLV3,而服务器应用程序(如Web服务器)需要数字证书进行客户端身份验证,则客户端将发出数字证书请求消息。在数字证书请求消息中,服务器发出受支持的客户端数字证书类型列表和可接受CA的名称。
 
  (4)服务器发出服务器“HellotoComplete”消息并等待客户端响应。
 
  (5)客户端(Web浏览器)在收到服务器发送的“hellocomplete”消息后,将验证服务器的SL数字证书的有效性,并检查服务器的“hello”消息参数是否可接受。
 
  如果服务器请求客户端数字证书,客户端将发送其数字证书;或者,如果没有合适的数字证书,客户端将发送“无数字证书”警告。此警告只是一个警告,但如果客户端数字证书认证是强制性的,则服务器应用程序将在会话中失败。
 
  (6)客户端发送客户端密钥交换消息。此消息包含主密码(对称加密密钥生成中使用的46字节随机数)和消息验证码(MAC)密钥(使用服务器的公钥加密)。
 
  如果客户端向服务器发送客户端数字证书,则客户端发出带有客户端私钥的数字证书验证消息。通过验证此消息的签名,服务器可以显示身份验证客户端数字证书所有权。
 
  注意:如果服务器没有属于数字证书的私钥,则它将无法解密预主密码,也无法为对称加密算法创建正确的密钥,并且握手将失败。
 
  (7)客户端使用一系列加密操作将主密钥前的密钥转换为主密钥,其中派生出加密和消息身份验证的所有密钥。然后客户端发送“更改密码规范”消息,将服务器转换为新协商的密码对。客户机发送的下一条消息(“不完整”消息)是用此加密方法和密钥加密的第一条消息。
 
  (8)服务器以自己的“更改密码规范”和“已完成”消息响应。
 
  (9)可以发送SSL握手结束和加密的应用数据。
 
      如果您想了解有关SSL证书的更多信息,请联系我们右侧的客户咨询QQ,我相信你能从她那里得到你想要的答案。
 
  
上一篇:哪些网站需要SSL证书呢?     下一篇:SSL证书有哪些种类?

在线客服1:769030019

在线客服2:769030019

在线客服3:769030019

在线客服4:769030019