安全协议分析概述

news2025/4/22 12:49:34

一、概念

安全协议(security protocol),又称密码协议。是以密码学为基础的消息交换协议,在网络中提供各种安全服务。(为解决网络中的现实问题、满足安全需求

1.1 一些名词

那什么是协议呢?

协议:两个或两个以上的参与者采取一系列步骤以完成某向特定的任务。例如Internet中的IP、TCP协议。

HTTP协议:浏览器和服务器之间请求与响应。

IP协议:在网络中将数据从源地址传到目的地址。

协议的特点:

  1. 需要两个或以上参与者。
  2. 呈现为消息处理和消息交换交替进行的一系列步骤。
  3. 完成某项任务或达成共识。

当然协议还要其他的特点,在这里我概括成四个词:知情(每个人都了解、清楚所有步骤);履职(大家都同意并遵守);明确(必须清楚不误解);完整。

协议与算法:

算法就是解决特定问题的逻辑步骤或者规则。他们都要完成某种任务且高效,不一样的是,算法应用与协议中消息处理的环节,不同的消息处理方式要求不同的算法。协议是在这些算法的基础上提供满足安全性要求的方案

可以这么理解,算法解决的是“做什么”、“怎么做”,协议完成的是“谁和谁做”、“交换信息”

安全协议设计遵循的原则:

  1. 满足应用需求。(选举协议完成选举、拍卖协议完成拍卖)
  2. 满足安全需求。
  3. 简单高效。

1.2 协议运行环境中的角色

1、参与者

协议执行过程中的双方或者多方,我们通常称为发送方和接收方。参与者无关互相信任与否。

(双方通常称为Alice、Bob;三方还会加一个Carol。)

2、攻击者(敌手)

企图破坏安全性和正确性的人。

  • 被动攻击者:只窃听、观察。称作Eve(半诚实模型)
  • 主动攻击者:增删改消息。称作Mallory(恶意模型)

还有一种分类为内外部攻击者的分类。

3、可信第三方(TTP)

值得信任的第三方,在协议中无既得利益,对参与者无利害关系。说的都真、做的都对。其中仲裁者是一种特殊的TTP,用于解决纠纷,称作Trent。

画了一个简图:三方参与,被动攻击获取消息、主动攻击修改消息。TTP中的仲裁者解决纠纷。 

二、常用的安全协议

1、密钥建立协议:在实体间建立共享的会话密钥(为会话加密)。借助可信服务器的:密钥分发协议。通过两个用户协商:密钥协商协议

2、认证协议:对数据、实体标识的保证。数据起源认证确保数据完整真实;实体认证确保各方是合法的、授权的实体。主要防止假冒攻击。将认证和密钥建立协议结合在一起,是最普遍应用的安全协议。

3、电子商务协议:利用电子信息技术进行商务活动。交易双方利益不一致,最关注公平性。(选举、拍卖)

4、安全多方计算协议:保证分布式环境中各参与方以安全的方式来共同执行分布式的计算任务。基本要求是协议的正确性(每个人都应该得到正确的输出)和各参与方私有输入的私密性(每个人不能获知其他信息)。包括:电子现金协议、合同签署协议、匿名签署协议。

是否拥有可信第三方:

仲裁协议有可信第三方负责监督管理,保证参与方行为符合规定。分为非仲裁子协议(监督辅助)和仲裁子协议(处理冲突)。
自执行协议没有可信第三方协议一方能够检测到另一方是否进行了欺骗。

三、安全协议的安全性质

评估一个安全协议是否安全就是检查其所要达到的安全性质是否受到攻击者的破坏。主要有机密性、完整性、认证性、非否认性和公平性

机密性确保信息不暴露给未授权的实体或进程。非授权读是其破坏(加密)
完整性不增删改。非授权写是其破坏(封装和签名)
认证性对抗假冒攻击,用来确保身份,以便核查责任。
非否认性

收发双方均不可否认已经发生的事实。

公平性保证各方在协议执行的任何阶段都处于平等的地位。要么各取所需,要么什么都得不到。

四、对安全协议的攻击

1、攻击者应具备的能力

  1. 可以窃听所有经过网络的消息
  2. 可以阻止截获所有经过网络的消息
  3. 可以存储所获得和自身创造的消息
  4. 可以根据存储的消息伪造消息并发送
  5. 可以作为合法的主体参与协议运行。

攻击者对网络有完全的控制权

2、窃听

  • 被动攻击(不影响合法用户通信)、破坏机密性
  • 加密可以解决窃听攻击

(除此之外其他攻击都为主动攻击)

3、篡改

  • 删除、修改、伪造、乱序、重放、插入。
  • 主动攻击,破坏完整性

4、重放(先截获后重放)

将之前所截获的消息并在之后的协议中发送

重放的一些特例:

预重放:先预测后发送。(C窃听AB谈话,计算不出之间的会话密钥,只得到一部分有用信息。之后C利用之前获得的信息,与AB会话,诱导AB透露密钥或其他私密信息,从而计算出之前的会话密钥。

反射:攻击者将消息发回给消息的发送者。(假设AB已经共享一个密钥K,分别选择随机数和。协议的两个实体通过表明知道K来达到相互认证的目的。过程如下:

  • A→B:{NA}k
  • B→A:{NB}k,NA(此时A收到信息推断出消息来源于B,因为只有B知道K)
  • A→B:NA

但是如果A参与并行协议运行,消息由2产生。攻击者C可以完成两次协议的执行,过程如下:

    • A→C:{NA}k
    • C→A:{N'A}k,NA
    • A→C:N'A
    • C→A:{NA}k
    • A→C:{N'A}k,NA
    • C→A:N'A

    C在收到第一条消息之后,立即发起另一个与A的协议,接着就把A收到的消息反射给A。反射可以使C能够答应第一条消息,之后则可以成功的完成两个协议运行。实际上所有的加密处理由A进行,但A却相信是和C完成了两次协议运行。这种攻击常被称为“信使攻击”

    5、拒绝服务

    攻击者阻止合法用户完成协议。(口令认证中,客户更新口令时攻击者发起,攻击造成口令不一致。)

    6、类型攻击

    攻击者将某一类消息域替换成其他的。(对于二进制,用户不知道收到的是否经过加密,利用这个将消息错误的解释成其他的)

    Otway Ress协议:假冒B(1、4很像)

    1. A→B:M,A,B,  {NA,M,A,B}Kas
    2. B→S:M,A,B,  {NA,M,A,B}Kas ,   {NA,M,A,B}Kbs
    3. S→B:M,  {NA,Kab}Kas,   {NB,Kab}Kbs
    4. B→A:M,  {NA,Kab}Kas

    1.  A→CB:M,A,B,  {NA,M,A,B}Kas

    4.  CB→A:M, {NA,M,A,B}Kas

    抵抗方法:每次改变消息元素的顺序,确保每次密钥不同;在消息中添加认证数或消息域的类型信息。

    7、密码分析

    一般协议分析时不考虑算法本身的问题,但实际中需要注意一些像弱密钥的可能性之类的问题。

    8、证书操纵

    攻击者选择或更改证书信息来攻击协议运行。

    A: g^a,x,Cert (A)

    B: g^b,y,Cert (B)

    1. A→B:g^x,Cert(A)
    2. B→A:g^y,Cert(B)
    3. 双方计算共享密钥 K_AB = g^{ay+bx}

    攻击者C选择一个随机数c,声明g^{ac}是他的公钥:

    1. A→C_B:g^x,Cert(A)

    1'. C→B:g^x,Cert(C)

    2'. B→C:g^y,Cert(B)

    2. C_B→A:g^{yc}→C,Cert(B)

    9、协议交互

    • 攻击者选择新的协议和已知协议交互产生新的漏洞
    • 可能出现密钥用于多个协议

    五、安全协议设计的困难性

    1. 安全目标本身的微妙性
    2. 协议运行环境的复杂性
    3. 攻击者模型的复杂性
    4. 安全协议本身有“高并发性”的特点

    六、安全协议三大理论分析方法

    安全多方计算

    多个参与方在保护各自输入隐私的前提下,共同完成一个计算任务。计算结果可信且相同。即使有人恶意,也能保证在计算模型下保证结果可信。
    形式化分析方法使用数学和逻辑工具进行建模和分析,通过数学化表达来推理验证。
    可证明安全性理论计算计算复杂性理论的分析方法,通常依赖于一些公认的数学假设(数学难题)。

    参考《安全协议》

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

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

    相关文章

    基础学习:(7)nanoGPT 剩下的细节

    文章目录 前言3 继续巴拉结构3.1 encode 和 embedding3.2 全局layernorm3.3 lm_head(language modeling) 和 softmax3.4 softmax 和 linear 之间的 temperature和topk3.5 weight tying 前言 在 基础学习:(6)中, 在运行和训练代码基础上,向代…

    Spark-SQL连接Hive总结及实验

    一、核心模式与配置要点 1. 内嵌Hive 无需额外配置,直接使用,但生产环境中几乎不使用。 2. 外部Hive(spark-shell连接) 配置文件:将hive-site.xml(修改数据库连接为node01)、core-site.xml、…

    Linux Wlan-四次握手(eapol)框架流程

    协议基础 基于 IEEE 802.1X 标准实现的协议 抓包基础 使用上一章文章的TPLINK wn722n v1网卡在2.4G 频段抓包(v2、v3是不支持混杂模式的) eapol的四个交互流程 根据不同的认证模式不同,两者的Auth流程有所不同,但是握手流程基…

    web组件和http协议

    1.web组件 2.自定义元素 3.影子DOM 4.HTML模板 5.http协议 6.tcp ip协议

    软件工程师中级考试-上午知识点总结(下)

    6. 知识产权和标准化 软件著作权客体:指的是受软件著作权保护的对象,即计算机程序和相关文档。知识产权具有严格的地域性。不受保护期限制:著名权、修改权、保护作品完整权;注意的是,发表权受保护期限制。专利权在期满…

    IO流--字节流详解

    IO流 用于读写数据的(可以读写文件,或网络中的数据) 概述: I指 Input,称为输入流:负责从磁盘或网络上将数据读到内存中去 O指Output,称为输出流,负责写数据出去到网络或磁盘上 因…

    Cesium学习笔记——dem/tif地形的分块与加载

    前言 在Cesium的学习中,学会读文档十分重要!!!在这里附上Cesium中英文文档1.117。 在Cesium项目中,在平坦坦地球中加入三维地形不仅可以增强真实感与可视化效果,还可以​​提升用户体验与交互性&#xff0c…

    Java排序算法百科全书:原理、实现与实战指南

    一、排序算法全景视图 1. 算法分类体系 graph TDA[排序算法] --> B[比较排序]A --> C[非比较排序]B --> B1[基本排序]B1 --> B11[冒泡排序]B1 --> B12[选择排序]B1 --> B13[插入排序]B --> B2[高效排序]B2 --> B21[快速排序]B2 --> B22[归并排序]B…

    开源脚本分享:用matlab处理ltspice生成的.raw双脉冲数据

    Author :PNJIE DATE: 2025/04/21 V0.0 前言 该项目旨在使用Matlab处理LTspice的.raw文件,包括动态计算和绘图,部分脚本基于LTspice2Matlab项目: PeterFeicht/ltspice2matlab: LTspice2Matlab - 将LTspice数据导入MATLAB github地址&#x…

    (二)mac中Grafana监控Linux上的MySQL(Mysqld_exporter)

    框架:GrafanaPrometheusMysqld_exporter 一、监控查看端安装 Grafana安装-CSDN博客 普罗米修斯Prometheus监控安装(mac)-CSDN博客 1.启动Grafana服务 brew services start grafana 打开浏览器输入http://localhost:3000进入grafana登录…

    Github中项目的公开漏洞合集

    前言 最近在搜CVE的时候,意外发现了GitHub Security Advisories。 可能对一些人来说,已经是老东西了。但我还是第一次见到。 觉得挺好用的,就分享出来。 GitHub Security Advisories GitHub Security Advisories 是 GitHub 提供的一项重要…

    蚂蚁全媒体总编刘鑫炜再添新职,出任共工新闻社新媒体研究院院长

    2025年4月18日,共工新闻社正式宣布聘任蚂蚁全媒体总编刘鑫炜为新媒体研究院院长。此次任命标志着刘鑫炜在新媒体领域的专业能力与行业贡献再次获得权威机构认可。 刘鑫炜深耕新媒体领域多年,曾担任中国新闻传媒集团新媒体研究院院长、蚂蚁全媒体总编等职…

    吴恩达强化学习复盘(2)K-Means初始化|K的选择|算法优化

    K-Means初始化 K-Means 算法的第一步是随机选择位置作为初始聚类中心(new one through newk),但如何进行随机猜测是需要探讨的问题。一般需要多次尝试初始猜测,以期望找到更好的聚类结果。 K 值选择及初始聚类中心选取方法 K 值…

    SQL优化案例分享 | PawSQL 近日推出 Lateral Join 重写优化算法

    一、Lateral 查询语法介绍 Lateral 查询是SQL中的一种连接方式,它允许FROM子句中的子查询引用同一FROM子句中前面的表的列。虽然这种特性提供了强大的表达能力,但在某些场景下可能导致性能问题。PawSQL优化器近日实现了一种针对特定类型Lateral Join的重…

    电子电器架构 ---软件定义汽车的电子/电气(E/E)架构

    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…

    ONLYOFFICE协作空间3.1发布:虚拟数据房间中基于角色的表单填写、房间模板、改进访客管理等

    全新升级的 ONLYOFFICE 协作空间有着约 40 项新功能和改进,将您的文档协作和管理体验提升到全新高度。阅读本文,了解所有优化功能。 关于 ONLYOFFICE ONLYOFFICE 是一个国际开源项目,专注于高级和安全的文档处理,可提供文本文档、…

    Docker如何更换镜像源提高拉取速度

    在国内,由于网络政策和限制,直接访问DockerHub速度很慢,尤其是在拉取大型镜像时。为了解决这个问题,常用的方法就是更换镜像源。本文将详细介绍如何更换Docker镜像源,并提供当前可用的镜像源。 换源方法 方法1&#x…

    示波器探头状态诊断与维护技术指南

    一、探头性能劣化特征分析 信号保真度下降 ・时域表现:上升沿时间偏离标称值15%以上(如1ns探头测得≥1.15ns) ・频域特性:-3dB带宽衰减超过探头标称值20%基准稳定性异常 ・直流偏置电压漂移量>5mV(预热30分…

    FreeRTOS互斥信号量解决优先级翻转实战教程

    FreeRTOS互斥信号量解决优先级翻转实战教程 大家好!今天我们来深入探讨FreeRTOS中的优先级翻转问题,并通过互斥信号量来解决这个问题。上一篇文章我们已经了解了优先级翻转的现象,今天我们将动手实践,通过代码对比来直观感受互斥…

    第一篇:从哲学到管理——实践论与矛盾论如何重塑企业思维

    引言:当革命哲学照亮现代商业 1937年,毛泽东在战火中写就的《实践论》《矛盾论》,为中国共产党提供了认识世界的方法论。今天,这两部著作正成为企业破解管理困局的“思维操作系统”: 战略模糊:据Gartner统…