SSL是什么?SSL怎么用?

SSL是什么

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。如今被广泛使用,如网页,电子邮件,互联网传真,即时消息和语音在IP电话(VoIP)。其中网站是通过使用TLS来保护WEB浏览器与服务器之间的通信安全。

SSL介于应用层和TCP层之间。应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。

SSL是什么?SSL怎么用?插图

SSL协议的三个特性

① 保密:在握手协议中定义了会话密钥后,所有的消息都被加密;

② 鉴别:可选的客户端认证,和强制的服务器端认证;

③ 完整性:传送的消息包括消息完整性检查(使用MAC)。

SSL 的工作原理

  • 握手协议(Handshake protocol)
  • 记录协议(Record protocol)
  • 警报协议(Alert protocol)

SSL是什么?SSL怎么用?插图1

1.握手协议

握手过程

SSL是什么?SSL怎么用?插图2

可以人为的将握手协议分为四个阶段

握手协议的第一个阶段

客户端首先发送 client hello 消息到服务端,服务端收到 client hello 信息后,再发送 server hello 消息到客户端

SSL是什么?SSL怎么用?插图3

随机数: 32 位时间戳 +28 字节随机序列,用于计算摘要信息和预主密钥或主密钥的参数。

会话 ID :一次性会话 ID ,防止重放攻击。

握手协议的第二个阶段()

SSL是什么?SSL怎么用?插图4

服务器的证书:包含服务端公钥的证书,用于客户端给服务端发送信息时加密。

server key exchange 服务端密钥交换:决定密钥交换的方式,比如 DH,RSA ,会包含密钥交换所需的一系列参数。

握手协议的第三个阶段

SSL是什么?SSL怎么用?插图5

client key exchange 客户端密钥交换:根据服务端随机数算出一个 pre-master ,发给服务器,服务器收到后根据pre-master 密钥生成一个 main-matser

预主密钥 与主密钥的关系

客户端随机数+服务端随机数—->预主密钥参数—->主密钥—–>共享密钥+HMAC认证密钥+初始化向量

SSL是什么?SSL怎么用?插图6

初始化向量用法

SSL是什么?SSL怎么用?插图7

握手协议的第四个阶段

SSL是什么?SSL怎么用?插图8

会话恢复

SSL是什么?SSL怎么用?插图9

2.记录协议

记录协议主要用来实现对数据块的分块、加密解密,压缩解压缩,完整性校验,封装。

记录协议在客户机和服务器握手成功后使用,即客户机和服务器鉴别对方和确定安全信息交换使用的算法后,进入SSL记录协议,记录协议向SSL连接提供两个服务:

(1)保密性:使用握手协议定义的秘密密钥实现

(2)完整性:握手协议定义了MAC,用于保证消息完整性

SSL 记录协议包含信息:

  • 内容类型
  • 协议版本号
  • 数据长度
  • 数据的有效载荷
  • 散列算法的认证代码

记录协议的过程

SSL是什么?SSL怎么用?插图10

3.警报协议

客户机和服务器发现错误时,向对方发送一个警报消息。如果是致命错误,则算法立即关闭SSL连接,双方还会先删除相关的会话号,秘密和密钥。每个警报消息共2个字节,第1个字节表示错误类型,如果是警报,则值为1,如果是致命错误,则值为2;第2个字节制定实际错误类型。

以下是一些警告信息:

(1)unexpected_message:接收了不合适的报文。

(2)bad_record_mac:收到了不正确的MAC。

(3)decompression_failure:解压缩函数收到不适当的输入。

(4)illegal_parameter:握手报文中的一个字段超出范围或与其他字段不兼容。

(5)certificate_revoked:证书已经被废弃。

(6)bad_certificate:收到的证书是错误的。

(7)certificate_expired:证书已经过期。

(8)handshake_failer:握手过程失败。

SSL协议的应用—SSL VPN

1.SSL VPN的优势

SSL是什么?SSL怎么用?插图11

SSL是什么?SSL怎么用?插图12

2.SSL VPN的实现 (★★★★★)

虚拟网关

SSL是什么?SSL怎么用?插图13

SSL VPN 每个虚拟网关可以独立管理,可以配置各自的资源,用户、认证方式,访问控制以及管理员。并且相互隔离。

WEB 代理

实现过程

SSL是什么?SSL怎么用?插图14

实现方式:

  • web-link:使用activeX控件方式,对页面进行请求
  • web改写:将所请求页面上链接进行改写,其他内容不变。

实现结果

实现对内网 web 资源的安全访问 内网 web 资源只有私网地址,在不做 NAT 的情况下,可以通过 SSL VPN 实现对其的代理安全访问。

  • 内网web资源只有私网地址,在做NAT的情况下,公网用户可以实现对其访问,但是web资源没有
  • 使用安全传输协议,SSL VPN可以实现对其https安全访问。

文件共享

实现过程

SSL是什么?SSL怎么用?插图15

实现原理

  • 协议转换技术:无需客户端,直接通过浏览器安全访问转换为内网文件共享的相应协议格式。使用activeX控件。

支持协议:

  • SMB windows
  • NFS linux

端口转发

实现过程

SSL是什么?SSL怎么用?插图16

实现原理:安装activeX控件,本质是NAT过程

SSL是什么?SSL怎么用?插图17

  • 提供内网TCP资源的访问,C/S资源
  • 提供丰富的静态端口的TCP应用
    • 单端口单服务:telentSSHMS RDP VNC
    • 单端口多服务:notes
    • 多端口多服务:outlook
  • 动态端口TCP应用
    • 动态端口:FTP
  • 提供端口级访问控制

自动安装运行一个 ActiveX 控件,获取到管理端配置的端口转发资源列表(目的服务器 IP 、端口)。控件将客户端发起的TCP 报文与资源列表进行比对,当发现报文的目的 IP/Port 与资源列表中的表项匹配,则截获报文,开启侦听端口(目的端口经过特定算法得出),并将目的地址改写为回环地址,转发到侦听端口。对该报文加密封装,添加私有报文头,将目的地址设为USG IP 地址,经由侦听端口发往 USG 。USG收到报文进行解密,发往真实的目的服务器端口。 USG 收到服务器的响应后,再加密封装回传给用户终端的侦听端口。

特点

SSL是什么?SSL怎么用?插图18

网络扩展

实现过程

SSL是什么?SSL怎么用?插图19

访问模式

三种流量:去对方内网流量,去互联网流量,去本地局域网流量

  • 全路由模式:三种流量都走隧道,意味本地不能访问互联网,也可以通过隧道访问,也能补访问本地局域网
  • 分离模式:对方内网流量走隧道,本地局域网流量走物理网卡,互联网流量不能走。意味着,能访问对方内网,能访问本地局域网,不能访问互联网。
  • 手动模式:对方内网流量走隧道,本地局域网络流量和互联网流量走物理网卡。意味着,都能访问,并且互联网走本地。

3.SSL VPN要求的终端安全

终端安全是在请求内网主机上部署一个软件,通过该软件检查终端的安全性包括:主机检查,缓存清除。

主机检查:

  • 杀毒软件检查
  • 防火墙设置检查
  • 注册表检查
  • 端口检查
  • 进程检查

操作系统检查 缓存清除:

  • internet临时文件
  • 浏览器自动保存密码
  • cookie记录
  • 浏览器访问历史记录
  • 收回站和最近打开的文件
  • 指定文件或者文件夹

认证授权

  • vpndb认证授权
  • 第三方服务认证授权
  • 数字证书的认证
  • 短信辅助认证

4.SSL VPN 功能总结

SSL是什么?SSL怎么用?插图20

原文链接:https://blog.csdn.net/weixin_62107875/article/details/127283092

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享