网络安全之安全协议浅谈

安全协议

  • 安全协议概述
  • 安全协议分类
  • IPSec
  • IPSec安全协议
    • IPSec架构
    • IPSec封装模式
    • AH协议
    • ESP协议
    • SET协议
    • SET协议电子交易模型
    • SET协议安全目标
    • 认证中心CA

安全协议概述

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

安全协议分类

  • 按网络体系结构层次划分,安全协议可分为:
  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自身都能够通过证书予以认证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/15579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LiveGBS流媒体平台GB/T28181用户手册-云端录像:查看录像、列表视图、时间轴视图、下载、删除

LiveGBS流媒体平台GB/T28181用户手册-云端录像:查看录像、列表视图、时间轴视图、下载、删除 1、云端录像1.1、查看录像1.1.1、时间轴视图1.1.2、列表视图1.1.3、日期切换1.1.4、删除当天 1.2、录像计划1.2.1、录像计划列表1.2.2、编辑录像计划1.2.3、关联通道1.2.4、删除录像计…

解决在cmd里下载的库,但IDLE还是显示不存在的问题

原因一: 环境变量配置 首先,你需要确认你安装库的时候使用的Python环境是否和IDLE使用的Python环境是同一个。如果cmd中你使用的是系统路径下的Python,而IDLE使用的是另一个路径下的Python,那么你在cmd中下载的库,IDL…

存在重复元素 II[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个整数数组nums和一个整数k&#xff0c;判断数组中是否存在两个不同的索引i和j&#xff0c;满足nums[i] nums[j]且abs(i - j) < k。如果存在&#xff0c;返回true&#xff1b;否则&#xff0c;返回false。 示例 1&#…

OpenAI撤回有争议的决定:终止永久性非贬损协议

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

[windows系统安装/重装系统][step-4][番外篇-2]N卡驱动重装 |解决:开机几小时后电脑卡顿 | 后台自动运行了上千个Rundll32进程问题

现象 开机几小时后&#xff0c;电脑变卡&#xff0c;打开后台管理器都卡&#xff0c;后台管理去转圈圈一小会儿后看到后台进程上千个&#xff0c;好多个Rundll32进程 重启下运行会稍快 重启后运行快&#xff0c;后台管理器反应也快 打开后台管理器不卡&#xff08;几小时后打…

力扣刷题---2215. 找出两数组的不同【简单】

题目描述 给你两个下标从 0 开始的整数数组 nums1 和 nums2 &#xff0c;请你返回一个长度为 2 的列表 answer &#xff0c;其中&#xff1a; answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。 answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整…

营销短信XML接口对接发送示例

在现代社会中&#xff0c;通信技术日新月异&#xff0c;其中&#xff0c;短信作为一种快速、简便的通信方式&#xff0c;仍然在日常生活中占据着重要的地位。为了满足各种应用场景的需求&#xff0c;短信接口应运而生&#xff0c;成为了实现高能有效通信的关键。 短信接口是一种…

L01_JVM 高频知识图谱

这些知识点你都掌握了吗&#xff1f;大家可以对着问题看下自己掌握程度如何&#xff1f;对于没掌握的知识点&#xff0c;大家自行网上搜索&#xff0c;都会有对应答案&#xff0c;本文不做知识点详细说明&#xff0c;只做简要文字或图示引导。 类的生命周期 类加载器 JVM 的内存…

KVM热迁移虚拟机+KSM内存页合并

KVM高级功能部署 文章目录 KVM高级功能部署资源列表基础环境一、静态迁移1.1.在源宿主机上准备虚拟机1.1.1、调试VNC1.1.2、创建虚拟机test011.1.3、console登录test01虚拟机1.1.4、标记虚拟机test01当前IP地址 2.1、提取磁盘和配置文件2.2.1、查看虚拟机test01当前状态2.2.2、…

Gradle的settings.gradle.kts你真的理解吗?

你还在用.gradle文件吗&#xff1f;例如build.gradle、settings.gradle&#xff0c;那么你就out了。现在我们有必要了解一下kts脚本了。在Android项目中&#xff0c;默认有3个文件可以替换成kts脚本&#xff0c;即project的build.gradle、app模块的build.gradle和project的sett…

DDR5—新手入门学习(一)【1-5】

目录 1、DDR背景 &#xff08;1&#xff09;SDR SDRAM时代 &#xff1a; &#xff08;2&#xff09;DDR SDRAM的创新 &#xff1a; &#xff08;3&#xff09;DDR技术的演进 &#xff1a; &#xff08;4&#xff09;需求推动&#xff1a; 2、了解内存 &#xff08;1&…

go学习笔记-从圣经中抄录的接口值的思考

接口值 接口值&#xff0c;由两个部分组成&#xff0c;一个具体的类型和那个类型的值 下面4个语句中&#xff0c;变量w得到了3个不同的值。&#xff08; 开始和最后的值是相同的&#xff09; var w io.Writer w os.Stdout w new(bytes.Buffer) w nil var w io.Writer var…

Python中的数据类型与函数之美

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、Python中的数据类型初探 代码案例&#xff1a; 二、Python内置函数的魅力 代码案例&a…

我用 Midjourney 的这种风格治愈了强迫症

在 Midjourney 能够实现的各种布局之中&#xff0c;有两种风格因其简洁、有序而独居魅力&#xff0c;它们就是平铺 (Flat Lay) 和 Knolling (Knolling 就是 Knolling, 无法翻译&#x1f923;)。要在现实生活中实现这样的美学效果并不容易&#xff0c;你需要精心挑选各种小物件&…

Mac JDK和SDK环境变量配置

一、Java JDK配置 1.下载并安装Java jdk1.8及以上&#xff0c;这个可以在网上自行搜索下载&#xff0c;这里不在详细描述 2.如果不知道JAVA_HOME的安装路径&#xff0c;可以输入命令查看&#xff1a;/usr/libexec/java_home -V &#xff0c;如图 3.在终端输入命令&#xff1…

算法之堆排序

堆排序是一种基于比较的排序算法&#xff0c;通过构建二叉堆&#xff08;Binary Heap&#xff09;&#xff0c;可以利用堆的性质进行高效的排序。二叉堆是一个完全二叉树&#xff0c;可以有最大堆和最小堆两种形式。在最大堆中&#xff0c;父节点的值总是大于或等于其子节点的值…

UIKit之猜图器Demo

需求 实现猜图器Demo 功能分解&#xff1a; 1>下一题切换功能 2>点击图片后能放大并背景变暗&#xff08;本质是透明度的变化&#xff09;。再次点击则缩小&#xff0c;删除暗色背景。 3> 答案区按钮点击则文字消失&#xff0c;选择区对应文字恢复。 4> 选择区…

springboot项目,@Test写法 @Before @After

某文件示例 package cn.xxx.crm.boss;import cn.xxxx.crm.manager.mq.rabbit.AliyunCredentialsProvider; import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; im…

第十九届全国环境友好科技竞赛(绿色创业类)正式启动

近日&#xff0c;第十九届全国环境友好科技竞赛&#xff08;绿色创业类&#xff09;正式拉开帷幕。本次竞赛由清华大学、同济大学、西安建筑科技大学及中国环境科学学会共同主办&#xff0c;旨在通过学科竞赛的方式鼓励全国高校学生积极参与到资源节约型和环境友好型的和谐社会…