网络安全(三):网路安全协议
网络安全协议设计的要求是实现协议过程中的认证性、机密性与不可否认性。网络安全协议涉及网络层、传输层与应用层。
1、网络层安全与IPSec协议、IPSec VPN
1.1、IPSec安全体系结构
IP协议本质上是不安全的额,伪造一个IP分组、篡改IP分组的内容、窥探传输中的IP分组内容都比较容易。
接收端不能保证每一个IP分组源地址的真实性,也不能保证IP分组在传输过程中未被篡改或泄露。
网络层的IP安全协议(IP Security Protocol,IPSec),构成了一个IP协议安全体系。
1.2、IPSec的主要特征
1、IPSec的安全服务实在IP层提供的,可以为任何高层协议,如TCP、UDP、ICMP、BGP提供服务;
2、IPSec不是单一的一种协议,IPSec安全体系主要由认证头协议、封装安全载荷协议与Internet密钥交换协议等组成;
3、认证头(authentication header,AH)协议用于增强IP协议的安全性,提供对IP分组源认证、IP分组数据传输完整性与防重放攻击的安全服务。但,AH协议并不对IP分组数据进行加密;
4、封装安全载荷(encapsulating security payload,ESP)协议提供对IP分组源认证、IP分组数据完整性、私密性与防重放攻击的安全服务。
5、Internet密钥交换(Internet key exchange,IKE)协议用于协商AH协议与ESP协议所使用的密码算法与密钥管理体制。
6、安全关联(security association,SA)是IPSec的工作基础。安全关联是建立网络层安全连接的双方,通过IKE协议协商将采用的加密与认证算法的过程。通过安全关联协商双方进行认证时使用的认证算法、密钥及密钥生存期。
7、IPSec定义了两种保护IP分组的模式:传输模型与隧道模式。
8、IPSec对于IPv4是可选的,是IPv6基本的组成部分。
1.2、AH协议基本工作原理
AH协议可以工作在传输模型,也可以工作在隧道模式。
工作在传输模式的AH协议工作原理示意图:
1、传输模式中生成AH头直接插到原IPv4分组头的后面;对于IPv6,AH头则是IPv6拓展头的一部分。
2、AH头部结构
下一个头:AH头部之后的头类型,因AH与SEP协议可组合使用,若下一个头是ESP头,则下一个头字段值为50;
净荷长度:AH头中认证数据的长度。不同的认证算法形成的认证数据长度是变化的。头部长度是以为32位为单位的。若AH头部以32位为单位的长度是6,除去固定的32位单位的长度是2,则"净荷长度"字段值为 6 - 2 = 4。
安全参数索引:双方协商的密码算法、密钥与密钥生存期等参数。
序列号:发送端的AH协议为每个发送的IP分组分配一个序列号,接收端AH协议可以根据该序列号,确定该分组是否是重放的IP分组,实现反重放攻击功能。
认证数据:发送端的AH协议根据消息认证码(MAC)认证算法,为每个发送的IP分组计算出一个IP分组完整性校验值(ICV);接收端AH协议可以根据ICV值,确定该分组在传输过程中是否被修改。
3、AH协议为主机之间的IP分组传输提供了数据完整性校验、源身份认证、防止重放攻击等安全服务。但,AH协议不提供对IP分组数据的加密服务。
1.3、隧道模型工作原理
隧道模型工作原理示意图:
1、隧道模型一般需要通过安全网关实现,由安全网关执行ESP协议。主机A与主机B通过安全网关A与安全网关B建立网络层安全连接,ESP协议执行过程由安全网关A与安全网关B完成。该过程对于主机A与主机B是透明的。
2、在隧道模式中,原始的IP分组经过安全处理之后,将被封装在新的IP分组中。新的IP分组头中源与目的IP地址分别为安全网关的IP地址。主机A发送给主机B的分组,经过安全网关A进入隧道传输时,新的分组IP地址使用的是安全网关A与安全网关B的IP地址。
3、隧道模式一般采用ESP协议提供的主机认证与IP分组数据加密服务,所采用的加密与认证算法在安全网关建立安全关联过程中协商确定。
4、对原始IP分组进行加密,可以保证分组传输的安全性;对ESP头、加密的原始IP分组进行认证,可以确认发送主机与接收主机身份的合法性。
5、ESP协议可根据不同类型的应用需求,提供不同强度的加密算法,以增加攻击者破译密钥的难度,提高IP传输的安全性。
2、传输层安全与SSL、TLP协议
2.1、SSL协议的基本概念
安全套接字(secure sockets layer,SSL)协议是用于Web应用的传输层安全协议。SSL协议使用非对称加密机制和数字证书技术,保护信息传输的秘密性和完整性。SSL是国际上最早应用于电子商务的一种网络安全协议。
SSL协议在层次结构中的位置:
2.2、SSL协议的特点
1、SSL协议目前主要应用于HTTP协议,为基于Web服务的各种网络应用中客户与服务器之间的用户身份认证与安全数据传输提供服务。
2、SSL协议处于端系统的应用层与传输层之间,在TCP协议之上建立一个加密的安全通道,为TCP协议之间传输的数据提供安全保障。
3、当HTTP协议使用SSL协议时,HTTP的请求、应答报文格式与处理方法不变。不同之处是:应用进程所产生的报文将通过SSL协议加密之后,再通过TCP连接传送出去;在接收端TCP协议将加密的报文传送给SSL协议解密之后,在传送到应用层HTTP协议。
4、当Web系统采用SSL协议时,Web服务器的默认端口号从80变换为443;Web客户端使用HTTPS取代常用的HTTP。
5、SSL协议包含两个协议:SSL握手协议(SSL Shandshake Protocol)与SSL记录协议(SSL Record Protocol)。SSL握手协议实现双方加密算法的协商与密钥传递,SSL记录协议定义SSL数据传输格式,实现对数据的加密与解密操作。
3、应用层安全与PFP、SET协议
3.1、电子邮件安全的基本概念
未加密的电子邮件在网络上容易被截获,要解决电子邮件的安全问题,有4中研究的途径:端到端的电子邮件安全、传输层安全、邮件服务器安全与用户端安全电子邮件技术。
3.2、PGP协议的基本工作原理
PGP协议用来保证数据在传输过程中的安全。PGP协议的设计思想与数字信封是一致的。
数字信封原理图:
传统的堆成加密方法的运算效率高,但密钥不适合通过公共网络传递。而非对称加密算法的运算效率低。数字信封技术将传统的对称加密与非对称加密算法结合起来,利用对称加密算法的高效性与非对称加密算法的灵活性,保证了信息在传输过程中的安全性。
在PGP协议中需要有两个不同的加密解密过程:明文本身的加密解密与对称密钥的加密解密。首先,它使用对称加密算法对发送的明文进行加密;然后,利用非对称加密算法对对称密钥进行加密,过程包括:
1、在需要发送信息时,发送方生成一个对称密钥K0;
2、发送方使用自己对称加密的密钥K0对发送的数据进行加密,形成加密的数据密文;
3、发送方使用接收方提供的公钥K2,对发送方的密钥K0进行加密;
4、发送方通过网络将加密后的密文和加密的密钥传输到接收方;
5、接收方用私钥K1对加密后的发送方密钥K0进行解密,得到对称密钥K0;
6、接收方使用还原出的对称密钥K0对数据密文进行解密,得到数据明文。
PGP协议使用两层加密体制,在内层利用对称加密技术,每次传送信息都可以重新生成新的密钥,保证了信息的安全性。在外层利用非对称加密技术加密对称密钥,保证了密钥传递的安全性,实现身份1认证。PGP协议数字签名的作用能够保证邮件的完整性、身份认证与不可抵赖性,数据加密的作用可以保证邮件内容的秘密性。
3.3、SET协议
电子商务是以Internet环境为基础,在计算机系统支持下进行的商务活动。它是基于Web浏览器/服务器应用方式,是实现网上购物、网上交易和在线支付的一种新型商业运营模式。基于Web的电子商务有以下4个方面的安全服务:
1、鉴别身份的真实性;
2、确保订购与支付信息的秘密性;
3、保证在交易过程中数据不被非法篡改或伪造,确保信息的完整性;
4、能够在TCP/IP协议之上运行、不抵制其他的安全协议的使用,不依赖特定的硬件平台、操作系统与Web软件。
SET协议使用了常规的对称加密与非对称加密体系,以及数字信封技术、数字签名技术、信息摘要与双重签名技术,以保证信息在Web环境中传输和处理的安全性。
3.4、SET系统结构
SET协议结构示意图:
基于SET协议构成的电子商务系统由6部分构成:
3.4.1、持卡人
持卡人是指由发卡银行所发行的支付卡的合法持有人。
3.4.2、商家
商家是指向持卡人出售商品或服务的个人或商店。商家必须和收单银行建立业务联系,接受电子支付形式。
3.4.3、发卡银行
发卡银行是指向持卡人提供支付卡的金融授权机构。
3.4.4、收单银行
收单银行是指与商家建立业务联系,可以处理支付卡授权和支付业务的金融机构。
3.4.5、支付网关
支付网关是由收单银行或第三方运作,用来处理商家支付信息的机构。
3.4.6、认证中心
认证中心是一个可信任的实体,可以为持卡人、商家与支付网关签发数字证书的机构。
3.5、SET协议的基本工作原理
SET协议的设计思想是:在持卡人、商家与收单银行之间建立一个可靠的金融信息传递关系,解决网上第三方支付机制的安全性。
3.5.1、秘密性
数据的秘密性是指对敏感的和个人信息的保护,防止受到攻击与泄露。SET协议采用对称、非堆成密码机制与数字信封技术保护交易中数据交换的秘密性。
3.5.2、认证
SET协议通过CA中心,实现对通信实体之间、持卡人身份、商家身份等认证。
3.5.3、完整性
SET协议通过数字签名机制,确保系统内部交换信息在传输过程中没有被篡改与伪造。