SSL 协议

SSL 是用于安全传输数据的一种通信协议。它采用公钥加密技术、对称密钥加密技术等保护两个应用之间的信息传输的机密性和完整性。但是,SSL 也有一个不足,就是它本身不能保证传输信息的不可否认性。

SSL 协议包括服务器认证、客户认证、SSL 链路上的数据完整性、SSL 链路上的数据保密性等几个方面,通过在浏览器和 Web 服务器之间建立一条安全的通道来保证 Internet 数据传递的安全性。目前,利用公钥加密的 SSL 技术,已经成为 Internet 上进行保密通信的工业标准。SSL 协议常常用于增强 Web 服务的安全性。

在 TCP/IP 协议中,SSL 协议建立在传输层即 TCP 之上、应用层之下。SSL 协议有一个突出的优点,就是它与应用层协议相独立,高层的应用层协议如 HTTP 等可以透明地建立在 SSL 协议之上进行工作。

通过 SSL 协议建立的传输通道具有如下的基本安全性:

(1)通道是保密的,经过握手确定密钥之后,所有的消息被加密。SSL 协议在应用层协议工作之前就已经完成了加密算法、密钥的协商、服务器认证等工作,而此后的所有应用层所传送的数据都是经过加密的,因此 SSL 协议具有很好的保密性。

(2)通道是被认证的,通信中的服务器端总是被认证,客户端可选认证。在基于 SSL 协议的通信过程中,服务器端认证是必须进行的,所以,即使在一次会话过程中不进行客户端认证,该会话的确认性也能够有很好的保证。

(3)通道是可靠的,用 MAC 对传送的消息进行完整性检查,保证通道上数据的完整性。基于 SSL 协议的通信过程,因为传递的消息中包括消息完整性检查数据(即 MAC 数据),因此,可以保证该通信是可靠的。

SSL 协议由 SSL 记录协议、SSL 握手协议、SSL 密码变更说明协议、SSL 警告协议等组成。其架构如图 16-9 所示。

SSL 握手协议

SSL 握手协议建立在 SSL 记录协议之上,用于在实际的数据传输开始前,通信双方进行身份认证、协商加密算法、交换加密密钥等。SSL 握手的过程可以分为两个阶段,第一阶段用于建立秘密的通信信道,第二阶段用于客户验证。

在 SSL 协议中,同时使用了对称密钥加密算法和公钥加密算法,这是为了综合利用对称密钥加密算法的高速度和公钥加密算法的安全性的优点。SSL 协议使用公钥加密算法使服务器端身份在客户端得到验证,并且传递用于会话中对数据加密的对称密钥。然后再利用对称密钥在通信过程中对收到和发送的数据进行比较快速的加密,从而减小系统开销,保证通信效率。

SSL 支持各种加密算法。在"握手"过程中,使用 RSA 公开密钥系统。密钥交换后,可以使用多种密码,例如,RC2、RC4、IDEA、DES、3DES 及 MD5 信息摘要算法等。

SSL 协议可以非常有效地保护通信过程。但是,如果某种攻击是利用 SSL 协议通信进行的,那么,这种攻击也会受到 SSL 协议的保护,从而使得攻击更加隐蔽,难于被发现。当然,这种攻击也能够很好地穿透防火墙、躲过入侵检测系统的检查。

另外,SSL 在通信过程中,要进行许多加密、解密的操作,这些计算的复杂性随着密码的强度不同而不同,但是高强度的计算会增加服务器负载、增加网络带宽,从而使服务器性能下降,吞吐量也下降。

相关推荐
小鸟啄米12 分钟前
Elixir通过Onvif协议控制IP摄像机,ExOnvif库给视频流叠加字符
网络协议·elixir·onvif
eqwaak01 小时前
Matplotlib 动态显示详解:技术深度与创新思考
网络·python·网络协议·tcp/ip·语言模型·matplotlib
不是三毛没有半1 小时前
华为USG6000v2 NAT模式下IPSEC IKE V1 实验
网络·网络安全·华为
Techer_Y1 小时前
云安全服务(参考自腾讯云工程师认证课程)
网络·云计算·腾讯云
cpsvps_net1 小时前
代理连接性能优化:提升网络效率的关键技术与实践
网络·性能优化
KKKlucifer2 小时前
网络安全等级保护:等级保护工作、分级保护工作、密码管理工作三者之间的关系
网络·安全·web安全
qq_401700412 小时前
Qt UDP 网络编程详解
网络·网络协议·udp
Android出海2 小时前
Google Play账户与App突遭封禁?紧急应对与快速重构上架策略
android·网络·重构·新媒体运营·产品运营·内容运营
油泼辣子多加2 小时前
HTTP 请求体格式详解
网络·网络协议·http
范紫涵-19期-工职大3 小时前
虚拟机之CentOS、网络设置的有趣问题
linux·网络·centos