天天看点

智造讲堂:典型安全协议

引自:《智能制造的信息安全》(作者:李晖、朱辉、张跃宇、赵兴文)

VPN(virual private network)即虚拟专网,是指将物理上分布式的网络通过公用网络(通常指Internet)连接而构成逻辑上的虚拟子网。它利用认证、访问控制、保密性、数据完整性等技术在公用网络上构建专用网络,在分布式智能制造网络中,VPN是保证通信安全最常用的技术。在安全Web服务、安全邮件服务中,通过使用传输层安全协议(transport layer security,TLS)协议保证Http协议和邮件协议中传输数据的安全。因此本文将重点介绍TLS协议和VPN使用的IPSec协议。

「 1. TLS 」

1)TLS协议简介

TLS(transport layer security)传输层安全协议多用于web服务的安全,由早期的安全套接字层(secure socket layer,SSL)协议演化而来,最初由Netscape公司开发,后IETF将SSL更名为TLS。该协议主要用于HTTPS协议中,HTTPS协议是用户在线申报、注册及交易时常用协议,其由Web浏览协议HTTP及TLS协议组成。

TLS协议允许使用数字签名及证书,因此TLS能提供强大认证功能。在建立TLS连接过程中,客户端与服务器之间要进行多次的信息交互。与许多C/S方式一样,客户端与服务器端通过“Hello”信息开始连接,双方验证对方的证书后启动密钥交换协议。密钥交换协议主要任务为:①产生主密钥;②由主密钥产生两个会话密钥,服务器到客户端及客户端到服务器的密钥;③由主密钥参数产生两个消息认证码密钥。

2)TLS协议工作原理

完整的TLS协议体系结构如图1所示。可以看出,TLS握手协议、TLS密钥交换协议和TLS报警协议均为应用层协议,而TLS记录协议属于第3层协议。

智造讲堂:典型安全协议

图1 TLS协议体系结构

(1)TLS握手协议。握手协议建立在可靠传输协议之上,负责协商客户端及服务器之间会话的加密参数。当一个TLS客户端和服务器第一次通信时,它们首先选择一致的协议版本,协商加密算法及认证方式,并利用公钥算法协商共享密钥。TLS协议的连接建立的握手协议过程如图2所示。

智造讲堂:典型安全协议

图2 TLS协议连接建立过程

具体协议流程如下:

  • TLS客户端连接至TLS服务器,并要求验证服务器身份。
  • TLS服务器发送其数字证书至客户端,客户端验证其身份。这个过程可以包括整个证书链,该证书链可以追溯到根证书颁发机构。通过检查证书的有效日期并验证数字证书中所包含的可信CA的数字签名来确认TLS服务器公钥的真实性。
  • 服务器向客户端请求证书验证客户端身份。但由于缺乏PKI系统的支撑,大多数TLS服务器不进行客户端验证。
  • 协商用于消息加密的加密算法和用于完整性检验的Hash算法,通常由客户端提供它所支持的所有算法列表,然后由服务器端选择最合适的密码算法。
  • 客户端生成一个随机数,并使用服务器证书中的公钥进行加密,并将密文发送给TLS服务器。
  • TLS发送另一随机数作为回应。
  • 对以上两个随机数进行Hash运算,从而生成会话密钥。

其中,最后三步用于协商会话密钥。

(2)TLS记录协议。TLS记录协议用于在实际数据传输开始前通信双方进行身份认证、协商加密算法及加密密钥等功能。发送方将应用消息分割为可管理的数据块,然后与密钥一起进行Hash运算,生成一个消息认证码MAC,最后将组合结果进行加密并传输。接收方接收数据并解密,校验MAC,并对分段消息进行重新组合,提供给上层应用。TLS记录协议流程如图3所示。

智造讲堂:典型安全协议

图3 TLS记录协议

(3)TLS告警协议。TLS告警协议用于提示何时TLS协议发生了错误,或者两个主机之间的会话中止时间确定。只有在TLS协议失效时警报协议才会被激活。

3)TLS协议的发展

(1)TLS 1.2的改进。TLS协议提出至今经历了多次版本更新,低版本的TSL(如TLS 1.0)存在许多严重漏洞,如无法抵抗降级攻击、中间人攻击等,其使用的加密算法Export加密算法目前已被摒弃。行业内从2008年TLS 1.2提出正式进入新版本过渡期,其引入SHA-256 Hash算法代替SHA-1,能够有效增强数据完整性。TLS 1.2与TLS 1.0 步骤及原理基本一致,TLS 1.2为目前网络兼容性最强的版本,其与TLS低版本主要有以下改进:

  • 密钥协商验证操作中,对Finished报文(即表示密钥协商正确)的计算由MD5及SHA-1组合的方式升级为单次SHA-256,有效提高效率及安全性。
  • TLS 1.2在证书验证操作及服务器密钥交换环节中的报文增加2bytes说明其签名算法的类型,可以兼容多项公钥签名及Hash算法。
  • TLS 1.2相较 TLS 1.0版本,数据加密的方式也有所提升。在密码分组链接模式(cipher block chaining ,CBC)下对数据加密前填充的随机数可不进行加解密操作,优化传输及计算效率。但TLS 1.2因兼容老旧的CBC模式,也出现漏洞导致了中间人攻击的成功。

(2)TLS 1.3。TLS 1.3版本2018年提交为正式标准,本次更新包含了在安全、性能和隐私方面的重大改进。TLS1.3在总体步骤上与前版本保持一致,但在握手阶段修改协议内容,有效提高了连接效率,相比于TLS 1.2减少一半的握手时间,对于移动端网站访问能减少近100ms的延迟。TLS 1.3握手协议如图4所示下,其中包括一次服务器与客户端来回交互(1-RTT)。

智造讲堂:典型安全协议

图4 TLS 1.3握手协议

  • 客户端发出访问请求,该段为明文发送。其中包含了客户端支持的协议版本、会话ID、密码套件、压缩算法、以及扩展消息(密钥共享要求、预共享密钥、预共享密钥模式)。该步骤主要目的为密钥交换、选择TLS协议版本和加密算法并且协商算法所需参数。
  • TLS服务器端进行密钥交换及认证,发送选定的加密算法、证书。使用证书对应的私钥对握手消息签名,将结果发送给客户端。根据客户端提供的参数生成临时公钥,并计算出用于加密HTTP消息的共享密钥。服务端生成的临时公钥通过KeyShare消息发送给客户端。该步骤主要目的为建立其他握手协议的参数,例如确定应用层协议。
  • 客户端进行证书验证,发送其证书、验证结果、Finshed报文至服务器端,此步骤主要目的为对客户端进行认证并完成密钥确认。
  • 客户端与服务器使用协商好的共享密钥对应用数据进行加密传输。

TLS 1.3握手协议不再支持静态RSA密钥交换,需要使用具有前向安全性的DH密钥协商协议,但仅需一次交互即可完成握手。

此外,TLS 1.3与前版本比较有以下差异:

  • 引入了PSK(共享密钥)协商机制并支持在握手中的应用数据传输及零往返时间(0-RTT),减少交互轮数,高效建立连接。但零往返时间将导致有过交互记录的客户端及服务器记住彼此,忽略安全检查,使用之前的密钥开展即时通信,可能带来安全隐患。
  • 摒弃了3-DES、RC4及AES-CBC等加密方案,废弃了SHA1、MD5等Hash算法,提高连接安全性。
  • ServerHello后的握手消息均进行加密传输,减少空口传输可见明文。
  • 禁止加密报文的压缩及收发双方的重协商,防止降级攻击,攻击者无法通过使用旧版本协议攻击已知漏洞。
  • 摒弃DSA证书的使用。

以上更新有效提高了TLS协议的安全性及连接效率,目前Chrome和Firefox等主流浏览器已支持TLS 1.3协议。

「 2. IPSEC 」

1)IPSec协议简介

IPSec协议在IPv6的制定过程中产生,用于提供IP层的安全。鉴于IPv4的应用仍然很广泛,IPSec也支持IPv4。IPSec协议由AH协议和ESP协议提供了两种工作模式,如图5所示。这AH协议和ESP协议可以组合使用也可以单独使用。IPSec的功能和模式如表1所示。

智造讲堂:典型安全协议

图5 IPSec协议的构成

AH、ESP或AH+ESP既可以在隧道模式中使用,又可以在传输模式中使用。隧道模式在IP子网之间建立一个安全通道,允许每个子网中的所有主机用户访问对方子网中的所有服务和主机。传输模式在两个主机之间以端对端的方法提供安全通道,并且在整个通信路径的建立和数据的传递过程中采用了身份认证、数据保密性和数据完整性等安全保护措施。

表1 IPSec的功能和模式

功能/模式 认证首部(AH) 封装安全负荷(ESP) ESP+AH
访问控制
认证 ×
消息完整性 ×
重放保护
保密性 ×

2)IPSec协议工作原理

IPSec通过查询安全策略数据库(security policy database,SPD)决定如何对接收到的IP数据包进行处理。IPSec对数据包的处理包括进行加密和认证,以保证在公用网络上传输数据的机密性、认证性和完整性。

IPSec无论是对数据包进行加密还是认证,均有两种工作模式:传输模式和隧道模式。

(1)传输模式。采用传输模式时,IPSec只对IP数据包的净荷进行加密或认证。此时,封装数据包继续使用原IP头部,只对IP头部的部分域进行修改,而IPSec协议头部插入到原IP头部和传输层头部之间。IPSec传输模式如图4-16所示。

智造讲堂:典型安全协议

(a)

智造讲堂:典型安全协议

(b)

图6 传输模式封装示意图

(a)ESP封装;(b)AH封装

(2)隧道模式。采用隧道模式时,IPSec对整个IP数据包进行加密或认证。此时需要产生一个新的IP头,IPSec头被放在新产生的IP头和原IP数据包之间,从而组成一个新的IP头。IPSec隧道模式如图4-17所示。

智造讲堂:典型安全协议

(a)

智造讲堂:典型安全协议

(b)

图7 隧道模式封装示意图

(a)ESP封装;(b)AH封装

「 3. TLS及IPSEC的对比 」

远程客户采用TLS协议的VPN访问内部网中的一些基于Web的应用,而IPSec在为企业高级用户提供远程访问及为企业提供LAN-to-LAN隧道连接方面具有绝对的优势。普遍的共识是典型TLS VPN适合普通员工远程访问基于Web的应用,IPSec VPN及TLS VPN用于智能制造信息网络中不同的领域,不可互相取代。

TLS VPN及IPSec VPN的性能比较见表2。

表2 TLS VPN与IPSec VPN比较

功能/性能 TLS VPN IPSec VPN
身份验证

单向身份验证

双向身份验证

数字证书

双向身份验证

数字证书

加密

强加密

基于Web浏览器

强加密

依靠IPSEC网关

全程安全性

端到端安全

从客户端到资源端全程加密

网络边缘到客户端

仅对从客户到VPN网关之间通道加密

可访问性 适用于任何时间、任何地点访问 限制于已经定义好受控用户范围内访问
费用/花销 低(无需附加客户端软件) 高(需要管理客户端软件)

继续阅读