ssl参数是什么(什么是SSL技术)(1)

SSL

SSL技术背景

随着Internet的普及,各种电子商务活动和电子政务活动发展迅速,数字证书也开始应用到各个领域中。说到SSL大家可能有点陌生,但是以SSL进行加密的应用层协议HTTPS大家应该就比较熟悉了。在标准HTTP协议下,客户端与服务端直接通过TCP进行连接,以明文方式交互数据。当传输一些普通网页数据时并没有什么问题,但是若用户在浏览网页的过程中,需要向服务端传输一些如密码,真实姓名,住址等敏感信息,我们不希望敏感信息被他人获取,也不希望其遭到篡改或伪造。

举一个网上购物的例子:B用户此时在浏览A公司的站点,这个站点正在出售香水,B用户只需向站点A提供一个包含下单数量,收货地址和支付卡号等信息的订单,就能顺利收到A公司寄来的香水。但是如果在此过程中不采取一些安全措施,这个购物过程也许并不能顺利进行。一个安全的通信需要满足三个特性:机密性、数据完整性、身份认证,三者缺一不可。如果没有机密性,入侵者可能截取B的订单并获取他的支付密码等敏感信息;如果不能保证数据完整性,入侵者可以随便篡改B的订单信息,比如将收货地址改成自己地址;如果没有身份认证,这个声称A公司的网站实际可能就是一个专门收集用户信息的钓鱼网站。

ssl参数是什么(什么是SSL技术)(2)

SSL

SSL工作过程

SSL协议工作主要分为三个阶段,分别是握手连接,密钥导出,数据传输。

ssl参数是什么(什么是SSL技术)(3)

第一阶段

握手连接

通信双方需要完成三个工作:

01

建立一条TCP连接

客户端B发起一条去往服务端A的TCP连接,随后所有的数据传输都基于这条TCP连接。

02

验证服务端身份

TCP建立完成后,客户端B向服务端A发送Hello报文,服务端A使用其证书回应,客户端B收到证书后,可以明确通信服务端身份的合法性。

03

分发pre-master key

客户端B从收到的证书中提取公钥,并本地结合Hello报文中的随机数生成pre-master key,使用服务端A的公钥加密pre-master key,发送给服务端A,服务端A使用本地私钥解密,获取pre-master key,从而实现通信双方pre-master key的分发,这一过程也称为“数字信封”。

ssl参数是什么(什么是SSL技术)(4)

第二阶段

密钥导出

通信双方使用相同方法,使用pre-master key结合密钥交互算法和Hello报文中的随机数再次生成两种对称密钥master key,作用分别如下:

两种密钥作用分别如下

会话加密密钥:用来保护报文传输过程中的数据安全。

HMAC密钥:用来检查报文在传输过程中是否被篡改。

生成四个密钥分别如下:(EA=EB,MA=MB)

EA:用于从A到B发送数据的会话加密密钥

MA:用于从A到B发送数据的会话HMAC密钥

EB:用于从B到A发送数据的会话加密密钥

MB:用于从B到A发送数据的会话HMAC密钥

第三阶段

数据传输

本阶段主要包含三个过程:

01

数据加解密

当完成SSL隧道建立后,所有的安全协商包括密钥交互和数据传输都处于一个安全的连接中,并且客户端也完成了服务端的合法身份检查,通信双方在不安全的环境中建立出一条安全连接。此时客户端通过SSL隧道传输数据时,对数据进行加密处理,服务端收到加密后的数据,通过对称密钥进行解密,从而获取数据实际传输内容。

02

完整性检查

SSL数据流被分割成多个记录,针对每个记录附加一个加密密钥和HMAC密钥,客户端B将加密后的数据包发送给服务端A,服务端A收到数据包后,分别进行数据解密和HMAC完整性检查,查看数据包在传输过程中是否被篡改。

03

防重放检查

发送方需要维护一个计数器,每发送一条记录,则将自己的计数器增1,并且在计算HMAC值时,需要将该序号包含在HMAC记录中,接收方也会跟踪自己收到所有记录的序号,并也记录在HMAC校验中,如果两者计算相同,那么则说明SSL记录在传输过程中并没有被恶意篡改顺序。

ssl参数是什么(什么是SSL技术)(5)

SSL

SSL应用场景

SSL技术作为目前广泛应用的一种传输加密产品,适用场景多,那么举例以下几大应用场景:

ssl参数是什么(什么是SSL技术)(6)

通过部署企业网站安全加密,可以激活企业绿色安全标识域名,为潜在客户带来更可信的访问体验;通过部署企业应用安全加密,越来越多的中小企业可以将OA、CRM、ERP等系统部署在云端,从而享受云计算的高效与便捷性;通过部署支付体系安全加密,避免非法用户对支付信息的劫持或欺诈;通过部署政务信息安全加密,避免钓鱼网站或信息劫持,可以更加保证政务平台的公信力,通过部署SSL VPN技术,可以让远程用户安全便捷访问公司内网服务器,保证正常业务稳定运行。

,