网络安全通信 SSL/TLS安全系列协议知识汇总

07/19 信息安全相关 阅读 705 views 次 人气 0
摘要:

信息摘要技术解决信息的完整性确认问题,技术的实现原理是通过一个算法,把大的信息量通过算法转化为一个短的信息串值,称为哈希值(Hash),这个算法要保障的是不同的输入,会产生不同的hash值,这样通过比较信息传递前和传递后的hash值,就可以确认信息是否是完整交换的。当前常用的信息摘要算法有SHA, MD5, etc。

加密算法协商和密钥交换技术,加密双方协商使用一致的加密算法并确认加密密钥是加密过程的关键,密钥是加解密过程中重要的一个信息,密钥一旦被别人获得,加密数据就可以很容易破解。加解密双方如何去安全地协商加密算法、产生加密密钥,是加解密过程的关键,在这个需求下产生了密钥交换技术及相关的应用协议。


SSL/TLS安全系列协议

SSL/TLS协议是网络安全通信的重要基石,SSL/TLS协议可以实现两个应用程序间的用户身份认证、传输加密、数据完整性验证、数据压缩功能;要实现SSL协议,一般服务器端会配置服务器证书(公钥)和私钥;在安全通道建立前,通信双发要协商算法(加密算法、摘要算法、压缩算法)和密钥。

SSL协议RFC发布到3.0后,被TLS1.0取代。

SSL 2.0 uses RSA key exchange only, while SSL 3.0 supports a choice of key exchange algorithms including RSA key exchange  (when certificates are used), and Diffie-Hellman key exchange (for exchanging keys without certificates, or without prior communication between client and server).

SSL Handshake Protocol:用于建立SSL连接,内容包括加密算法协商、密钥协商、身份认证等功能。

SSL Change Cipher Spec:安全连接参数(算法和密钥)协商完成后,通信双方交换一个SSL Change Cipher Spec数据包,标志后续数据开始加密。

SSL Alert Protocol:处理协议错误信息。

SSL Record Protocol:封装数据,完成数据传输压缩、完整性校验、加密等功能。


SSL安全连接建立过程

SSL标准关于安全连接建立过程有很不同情况说明,比如服务器端如果没有配置证书的情况下连接建立过程,比如密钥交换使用RSA方式还是IKE方式等,我们在此只介绍一个简单的常规的安全连接协商过程。

SSL安全连接建立过程.1.jpg

客户端发送Certificate和Certificate Verify之间,应该还有一个Client key exchange message没有表示在图中,通过这个消息,客户端把premaster secret传递给服务器,客户端和服务器端都通过premaster secret生成session key。Certificate Verify信息是一个客户端签名信息,用于证明客户端的身份。

SSL安全连接建立过程.2.jpg


SSL Record Protocol

安全连接建立后,SSL Record Procotol完成数据压缩、摘要、加密等功能,过程图示如下:

SSL安全连接建立过程.3.jpg

SSL实现的是应用程序之间的通信加密,典型的应用是HTTPS,另外许多电子邮件系统服务器和客户端之间都支持使用ssl/tls加密。


同IPSec的比较:

SSL/TLS和IPSec都是加密技术的具体应用,使用的底层技术有共同性,比如都要进行算法协商、密钥协商、使用的加密算法、摘要算法、密钥交换技术都基本相同。

不同的是,SSL/TLS协议实现的是应用程序间的通信加密,具体加密封装过程是在传输层前完成,而IPSEC实现的是网络层加密,加密封装是在网络层封装后重新进行加密封装(原始IP数据包可以整体被加密),因此IPSec能够实现安全通道之间的所有应用之间的通信加密。

评论

该文章不支持评论!

分享到: