网络安全之安全协议浅谈

安全协议概述

  • 安全协议是信息交换安全的核心,它在网络不同层次上、针对不同应用,通过对各种密码学技术的应用与结合,为网络传输协议增加安全算法协商和数据加/解密等安全机制,从而实现信息交换的安全性。
  • 数据交换中的机密性、完整性、真实性和不可否认性主要通过密码技术实现。通信双方需要在数据交换之前采用加密算法、签名算法和密钥交换算法等问题进行协商,并达成一致;在数据交换过程中通信双方按所达成的协议进行加密和认证处理,以保证信息交换的安全性。

安全协议分类

  • 按网络体系结构层次划分,安全协议可分为:
  1. 链路层安全协议:局域网安全协议IEEE 802.10、虚拟局域网VLAN协议IEEE 802.1Q、点对点隧道协议PPTP、L2TP等。
  2. 网络层安全协议:IP安全协议IPsec等。
  3. 传输层安全协议:安全套接层协议SSL等。
  4. 应用层安全协议:安全电子邮件协议PGP、PEM、S-MIME,安全超文本传输协议S-HTTP、安全电子交易协议SET、安全电子付费协议SEPP等。

IPSec

  • IPSec是一种开放标准的网络层安全框架结构,通过使用加密为基础的安全服务以确保在IP网络上进行安全通信。比如,Windows系列用的就是IETF IPSec 工作组开发的标准。
  • 安全:IPSec是IETF的IPSec小组建立的一组IP安全协议集。IPSec定义在网际层使用的安全服务,其功能包括数据加密、对网络单元的访问控制、数据源地址验证、数据完整性检查和防止重放攻击。
  • 协商:IPSec的安全服务要求支持共享密钥。其必须支持手工输入密钥的方式,目的是保证IPSec协议的互操作性。同时,也引入密钥管理协议(Internet密钥交换协议——IKE),该协议可以动态认证IPSec对等体,协商安全服务,并自动生成共享密钥。
  • IPSec有两个安全目标:
    1. 保护IP数据包的内容
    2. 通过数据包筛选和受信任通信来抵御网络攻击

  • IPSec协议工作在网络层,使其在单独使用时可以同时保护基于TCP或UDP的协议数据。与传输层或更高层的安全协议相比,IPsec协议提供的安全保护更为基础;但它必须处理可靠性和分片的问题,同时也增加了复杂性和处理开销。

IPSec安全协议

IPSec架构

在这里插入图片描述
IPSec(Internet Protocol Security)是一种用于保护网络通信的安全协议套件。它通过提供加密、身份验证和完整性保护等功能,确保数据在传输过程中的机密性、完整性和可信性。

IPSec的架构包括以下几个主要组件:

  1. 安全关联IPSec安全联盟SA(Security Association):SA是IPSec通信的安全参数集合,包括加密算法、身份验证方法、密钥管理和安全参数的生命周期等。

    • 每个SA都有唯一的标识符,用于识别通信中使用的安全参数。
    • 安全联盟是IPSec的基础, 是通信双方建立的一种协定,决定了用来保护数据包的协议、转码方式、密钥以及密钥有效期等。AH和ESP都要用到安全联盟,IKE的一个主要功能就是建立和维护安全联盟。
  2. 访问控制列表(Access Control List,ACL):ACL用于确定哪些数据包需要进行IPSec处理。它可以基于源IP地址、目标IP地址、协议类型等条件来匹配数据包,并指定相应的IPSec策略。

  3. 安全策略数据库(Security Policy Database,SPD):SPD用于存储与IPSec相关的安全策略信息,包括SA的参数、ACL规则等。它决定了数据包的处理方式,即是否需要进行IPSec保护。

  4. 安全关联数据库(Security Association Database,SAD):SAD用于存储已建立的SA的信息,包括标识符、加密算法、密钥等。在数据包传输过程中,根据SA的标识符可以找到相应的安全参数。

  5. 密钥管理协议(Key Management Protocol):密钥管理协议用于生成、分发和更新IPSec通信所需的密钥。常见的密钥管理协议有Internet Key Exchange(IKE)和Internet Security Association and Key Management Protocol(ISAKMP)。

IPSec可以运用于IP层或者在IP层之上的传输层,提供对IP数据包的安全保护。它可以用于虚拟私有网络(VPN)、远程访问控制、数据中心互连等场景,保障网络通信的安全性和机密性。

IPSec封装模式

  • 隧道模式(Tunnel Mode):用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用在两个安全网关之间的通信。

  • 传输模式(Transport Mode):只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用在两台主机之间的通信,或一台主机和一个安全网关之间的通信。

AH协议

  • AH(Authentication Header) 协议:AH用来向IP数据包(IP 报头+数据负载)提供身份验证、完整性与抗重播攻击。但不提供机密性,即它不对数据进行加密。数据可读,但禁止修改。AH使用哈希算法签名数据包

  • 例如,使用计算机 A 的 Alice 将数据发送给使用计算机 B 的 Bob。IP 报头、AH 报头和数据的完整性都得到保护。这意味着 Bob 可以确定确实是 Alice 发送的数据并且数据未被修改。

  • AH被置于IP报头与IP负载之间。在IP 报头的协议字段使用 51 来标识AH。AH可以独立使用,也可以与ESP协议组合使用。
    在这里插入图片描述
    在这里插入图片描述

字段描述
Next Header使用IP协议字段的协议标识符来标识IP负载
AH Length表示AH报头的长度
Reserved保留字段
SPI安全参数索引,与目标地址及安全协议(AH或ESP)组合使用,以确保通信的正确安全关联
Sequence Number用于该数据包的抗重放攻击
Authentication Data身份与完整性认证数据

ESP协议

  • ESP(Encapsulated Security Payload) 协议:ESP封装安全负载协议是IPsec体系结构中另一个主要协议,它提供IP层加密和验证数据源,以抵御网络监听,保证机密性
  • 因为AH虽然可以保护通信免受篡改,但并不对数据进行加密
  • ESP通过加密需要保护的数据以及在ESP的数据部分放置这些加密的数据来提供机密性,且其加密采用对称密钥加密算法。

    • 传输模式:ESP头放置在IP头之后、上层协议头之前(IP数据负载部分之前),加密一个传输层的段(如:TCP、UDP、ICMP、IGMP)
    • 隧道模式:ESP头在被封装的IP头之前,加密一整个的IP 数据报
  • 封装受保护数据可以为整个原始数据报提供机密性

  • IANA分配给ESP的协议标识值为50,在ESP头前的协议头总是在“next head”字段(IPv6)或“协议”(IPv4)字段里包含该值 50。

  • ESP提供机密性、数据起源验证、无连接的完整性、抗重放和有限业务流机密性。ESP可以独立使用,也可与 AH 组合使用。
    在这里插入图片描述

字段描述
SPI安全参数索引(32位),用来标识处理此数据包的特定安全关联
Sequence Number序号(32位),用于抵抗重放攻击的唯一、递增序号
受保护数据通过加密保护的传输层协议内容(传输模式)或IP包(隧道模式)
填充用于满足加密算法对明文长度要求、保证填充长度字段和下一个头字段排列、提供部分业务流机密性
填充长度填充字节的数量(8位)。
下一个头标识受保护数据的协议标识,如上层协议标识符(8位)。
验证数据包含完整性校验值(ICV)的可变长度字段,用于验证数据完整性。
  • 验证数据(可变):完整性检查值。验证数据是可变长字段,它包含一个完整性校验值(ICV),ESP分组中该值的计算不包含验证数据本身。字段长度由选择的验证函数指定。验证数据字段是可选的,只有安全联盟SA选择验证服务,才包含验证数据字段。验证算法规范必须指定ICV长度、验证的比较规则和处理步骤。

SET协议

  • 电子交易安全性一直是影响电子商务发展的主要因素之一。在开放式网络环境下, 交易过程所涉及的商业信息、个人隐私和支付资金如果不能得到有效的保护, 以电子支付为基础的网上交易就不可能得到真正的发展。
  • SET(Security Electronic Transaction)是由世界两大信用卡组织Visa和Master Card联合Netscape、Microsoft等公司,于1997年6月1日推出的,基于RSA不对称密钥算法的安全电子交易标准
  • SET是以信用卡支付为基础, 在Internet上实现安全电子交易的技术协议和系统规范。该协议得到了IBM、微软、AOL、GTE、SAIC等众多公司的支持和IETF标准的认可, 是构建安全电子支付系统和网上交易环境的重要标准之一。

SET协议电子交易模型

  • 基于SET的电子交易与传统信用卡购物在交易流程上十分相似,但实施过程是在Internet上进行。数据传输和交易安全遵循SET规范。
    在这里插入图片描述
  • 在SET协议电子交易模型图中,连接各交易角色的实线代表Internet,虚线代表专用网
  1. 交易前,买方应在发卡银行开设信用卡帐户,获取信用卡,并向认证中心注册签证,成为电子交易的合法用户。卖方应与信用卡收单银行签约,并取得认证中心的电子证书, 成为Internet上提供商品或服务的可信商家。
  2. 交易时,用户通过Internet在商家Web上浏览产品目录、选择购买商品,并将定单填好、确认后连同付款指令发送给商家。其中,用户要对付款指令中的信用卡帐户信息用自己的公开密钥进行加密(以保证商家无法看到),并对全部信息进行加密和数字签名(对摘要),以保证定单和付款指令的安全性和有效性
  3. 商家收到订单和付款指令后,验证用户身份并解密取出定单信息再将用户公钥加密的帐户信息加密和数字签名后,发送给认证中心。
  4. 认证中心验证商家身份并初次解密后将信息与Internet隔绝,用用户的私有密钥再次解密,从而获得用户信用卡帐户的明文信息,然后通过专线发送给收单银行。
  5. 收单银行根据收到的付款信息,通过金融专用网络向发卡银行发出付款认证要求,发卡银行将认证结果传回收单银行。收单银行将认证结果加密和数字签名后传回商家。
  6. 商家验证收单银行身份并解密取出认证结果后,将交易是否成功的消息加密和数字签名后发送给用户。用户验证商家身份并解密,可得到交易是否成功的确认。
  7. 若交易成功,商家发送商品或提供服务,然后通知收单银行请求支付,收单银行将相应款项从发卡银行用户帐户中解付到商家帐户上,从而完成了一次电子交易过程。

SET协议安全目标

  • SET协议规定电子交易时证书信息、购买信息、认可信息及划帐信息的格式和实体间消息的传输协议,为不同交易软件遵循相同的传输协议和消息格式,具有兼容性和互操作性提供保证。
  • 基于SET协议的电子交易系统可实现以下安全目标:
    1. 信息传输的安全性:信息在Internet上安全传输, 不会被窃取或篡改。
    2. 用户资料的安全性:商家只能看到定单, 不能看到帐户信息。
    3. 多方认证:解决交易中用户支付能力、商家信誉度和通信双方身份确认等一系列认证问题。

认证中心CA

  • 为实现这些安全目标,SET协议引入认证中心,作为整个交易体系的核心。

  • 认证中心CA(Certificate Authority),是电子交易中受信任的第三方机构,负责生成、颁发、撤销和管理证书,提供对各个交易实体身份和密钥的认证

  • 根据国际电信联盟制定的X.509 标准为电子交易系统中的各个实体颁发证书。X.509证书包含版本号、证书序列号、证书有效期限、拥有者的唯一标识名、拥有者的公开密钥信息、CA的唯一标识名、CA的数字签名与签名算法等内容(见PKI证书格式)。

AttributeCertificate ::= SEQUENCE {
  acinfo               AttributeCertificateInfo,
  signatureAlgorithm    AlgorithmIdentifier,
  signatureValue        BIT STRING
  }
  AttributeCertificateInfo ::= SEQUENCE {
  version               AttCertVersion, --version is v2,
  holder                Holder,
  issuer                AttCertIssuer,
  signature             AlgorithmIdentifier,
  serialNumber          CertificateSerialNumber,
  attrCertValidityPeriod   AttCertValidityPeriod,
  attributes             SEQUENCE OF Attribute,
  issuerUniqueID        UniqueIdentifier  OPTIONAL,
  extensions            Extensions  OPTIONAL
  }
  • 在SET协议下,不同的CA结点构成多个信任层次,呈树型结构。如果通信实体对签发证书的CA结点本身不信任,可通过回溯祖先结点的方法向上层CA验证该CA结点的身份,以确定证书的有效性,依此类推,可一直追溯到公认权威的Root CA处。
  • 不同层次的CA结点之间,也可通过回溯共同祖先结点的方法进行相互认证。这样,SET协议下电子交易系统中的各种实体或角色包括CA自身都能够通过证书予以认证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值