SSL基本原理

前言:对于IPSec来说需要安装客户端,对于非专业人士来说不太适合。IPSec也只能提供网络层的连通性,哪个IP能通则能访问所有的服务,不可以对服务的类型或者范围进行限制
SSL就可以解决上述的问题。由于所有的浏览器都支持SSL协议,所以可以基于浏览器访问,无需安装客户端,解决了非专业人士的后顾之忧。SSL还能针对不同的用户发布不同的服务类型

SSL协议主要通过三个报文来实现:

  • SSL握手协议(重点):用于协商相互认证方式、加密算法和密钥
  • SSL修改密文协议:为了传输的安全性,每一段时间用来改密加密规范
  • SSL警告协议:当某一方发现异常时,用于通知对端

SSL的基本思想:

  • 客户端和服务器同时有一对自己的公钥和私钥
  • 客户端给服务器发送消息时使用服务器的公钥加密,服务器使用私钥解密
  • 服务器给客户端发送消息时使用客户端的公钥加密,客户端使用私钥解密

基于这两点产生的问题:

  • 如何保证传递的公钥不被篡改
  • 使用私钥解密导致算法过于复杂,计算量过大

解决思路:

  • 可以使用数字证书防止公钥被篡改
  • 可以引入一个新的密钥会话(对称密钥),将新的密钥使用非对称密钥进行加密传递,在使用对称密钥对数据进行传递

SSL可以将资源分为四大类:

  • WEB资源:HTTP、HTTPS、FTP、Mail、Fileshare(共享文件)----------无需安装控件
  • TCP资源:所有基于TCP传输协议的应用类型----------需要安装一个小控件
  • L3***:所以基于TCP、UDP、ICMP的应用类型-----------需要安装虚拟网卡
  • 远程应用:对于一些平板或者收集不支持的应用,可以通过安装EasyConnect,使用远程应用发布的方式,比如说Office

SSL协议通信过程:
如图所示:SSL基本原理_第1张图片第一阶段:

  • 客户端发送Hello报文,报文中包含版本号、加密套件列表、压缩算法、随机数R1等
  • 服务器发送Hello报文,报文中包括版本号、确认的加密套件列表、压缩算法、随机数R2等(此时客户端和服务器都拥有两个随机数,用于后续生成对称密钥)

第二阶段:

  • 客户端发送数字证书,使客户端能够使用数字证书中的公钥认证服务器
  • 证书请求:求情客户端发送证书用于验证
  • 服务器握手完成:第二阶段的结束,第三阶段的开始

第三阶段:

  • 客户端发送数字证书:用于对身份的验证
  • 客户机密钥交换:将预主密钥发送给服务器,会使用服务器的公钥进行加密
  • 证书验证:用于对预备密钥和随机数的验证

第四阶段:

  • 密钥交换通知:为了安全,每段时间更改密钥
  • 握手结束通知:表示握手阶段已经结束,可以开始对数据的加密

你可能感兴趣的:(SSL基本原理)