Internet安全协议

考前总结+考后回顾

Posted by Kody Black on November 15, 2022

Internet安全协议

前人栽树,后人乘凉,因为前两天考试前传说有往年试卷等东西,结果在传承上面并没有找到,后来还被两个老六传的ppt骗了点积分,不过还是有一个同学上传了考题回忆——让我们感谢他!

所以我打算把自己考前做的这份总结分享出来(考后验证这个总结内容有效),让之后的同学复习时多个参考。

本人拖延癌晚期,总结是在距离考试还有11个小时,临时抱佛脚写的,可能存在错误,请以老师讲课为准

一、基础及协议分析

1. 攻击类型

窃听、截获、修改、伪造

2. 安全协议的概念

在分布式网络中,基于密钥体制,用于保证通信的完整性、保密性、认证性和不可否认性的规范,用于实现密钥分配、身份认证、信息保密和电子商务等。

3. 协议特点

多轮次和并发性

4. Dolev-Yao攻击者模型

攻击者可以获得网络上传播的所有消息,可以截获、保存、伪造消息,也可以作为一个合法的参与者进行通信

5. 协议设计准则

消息前提准确、身份标识、新鲜数、时戳、加密算法、签名、挑战应答等。

6. 挑战应答的目的

  • 对方是我想打交道的人
  • 对方是有身份的人
  • 对方愿意和我打交道
  • 对方有我不知道的秘密

7. 常见协议及其攻击

这部分基本上是缺少时戳、新鲜数或者身份标识

总的来说这部分一定会考,还是需要对保证安全的原则有一定理解

基本都是重放攻击,解决方法就是加身份标识或者新鲜数

  • RPC——身份标识
  • N-S——身份标识
  • Otway-Rees——新鲜数的变化
    • 另一种情况下用保证原子性的方法(双层的加密)
  • 大嘴青蛙——无挑战应答
  • N-S公钥协议——加身份标识
  • Denning Sacco——B可以冒充A,加身份标识

8. 安全协议设计准则

  • 认证原则
  • 新鲜性原则
  • 原子性原则
  • 效率原则
  • 消息内容明确原则

9. 时戳和Nonce的区别

新鲜数和时戳都用来保证信息的新鲜性和挑战应答机制的封闭性。其中,新鲜数是由一个通信主体生成,它只对生成它的主体起作用,而时戳表示了这个消息的有效时间,它可以对所有的通信主体起作用,但是它的使用前提是有可靠的分布式时钟。

二、常见协议

这部分的要求是原理+机制+效果

IPsec

包括AH、ESP和IKE三部分

1. SA

安全联盟,就是两个通信实体间的一系列单向约定,包括SPI(认证算法、加密算法、密钥、生命周期等)和目标地址

2.SAD

包含所有活跃的SA,包括Incoming(负责接待的SA)、Outgoing(负责发送的SA)和手工创建或者经由IKE

3. SPD

含有用户定义的策略:每个报文的安全服务及其水平

含有规则列表,对不同类型的报文做不同处理

4. AH

用于完整性和认证、重放保护,没有加密效果

其实就是加个HMAC(整个报文[除了部分可变域])放在报文头部

  • 传输模式

    AH被插在IP头之后,其他所有传输层协议之前

  • 隧道模式

    AH在原始IP头之前,另外生成一个新的IP头放在AH前

AH缺点:不能穿越NAT 原因是……

  • 输出处理:
    • 查找SA
    • 生成序列号
    • 计算ICV(完整性校验)
    • 填充
    • 分块
  • 接收处理
    • 分块重组
    • 查找SA
    • 确认序列号
    • 确认ICV

5. ESP

主要用于加密,还可以用于认证、完整性和抗重放等

主要就是生成一个SPI和序列号,把报文进行加密

  • 传输模式

    插在IP头之后,其他所有传输层协议之前

  • 隧道模式

    整个数据包被封装起来,加新IP报文头和ESP头部,与AH相比,这个新报文头可以用换新的目标地址(中间地址/NAT地址)

  • 输出处理:
    • 查找SA
    • 生产序列号
    • 报文加密
    • 计算ICV完整性校验
    • 填充
    • 分块
  • 接收处理:
    • 分块组合
    • 查找SA
    • 确认序列号
    • 确认ICV
    • 解密

6. IKE

  • 安全机制:

    • 前向安全性:一个密钥被破解,并不影响其他密钥的安全信(密钥间没有派生关系)
    • 数据验证(HMAC)
    • DH交换
  • 阶段1:

    建立一个安全的加密信道,协商生成IKE SA(用于为第二个阶段的协商提供保护和快速协商),进行共享密钥交换和身份认证,从而建立一个用于阶段2的的加密信道

  • 阶段2:

    协商安全策略,密钥交换,身份认证,对整个SA交换进行验证(协商出IPsec的SA)

  • 阶段二的协商过程收到第一阶段的IKE SA的保护

Kerberos

注意Kerberos采用的是传统对称加密算法

1. SSO

用户在身份认证服务器中登录过一次后,就可以获得SSO系统中其他关联系统和应用的权限——效率+风险

2. AS和TGS

  • AS通过长期密钥认证客户,给客户TGT和短期密钥,提供认证服务

  • TGS通过短期密钥和TGT认证客户,发放tickets给客户以访问其他服务器,提供授权和访问控制的服务。

    可以看出认证和授权分离

3. 几个要素

  • Ticket-tgs:用tgs的公钥加密的c-tgs通信密钥、IDc、ADc、IDtgs、TS、Lifetime
  • Ticket-v:用v(应用的服务器)公钥加密的c-v通信密钥、IDc、ADc、IDv、TS、Lifetime
  • Authenticator-c:用c和tgs(或者c和v)的通信密钥加密的IDc、ADc、TS

Tickets和Authenticator需要配合使用,只获得其中之一无法发挥作用

4. V5的改进

  • 取消V4中票据被重复加密
  • subkey机制和新鲜数解决消息重放问题

5. Kerberos优点

  • 不易被窃听
  • 密码不在网上传输
  • 密码难以猜测
  • SSO
  • 票据+认证头的形式,其中一种被盗也难以使用

SSL/TLS

目的是使得TCP实现可靠、端对端的服务,提供认证、机密性和完整性保护以及抗重放攻击

  • Handshake Protocol:交换证书和安全参数进行校验
  • Record Protocol:分段、压缩、附件MAC、加密、加SSL报头
  • Alert Protocol :异常警告

可以看出,SSL的双方使用非对称密码体制协商出本次将要使用的会话密钥,并选择一种对称加密算法

SET

完善但笨重,独立性强(与下层网络架构无关)

1. 安全目标

  1. 机密性:消息加密
  2. 可信性:各方持有数字证书
  3. 隐私性:信息按需分配

2. 数字签名

​ K~c~^-1^(H(M))

3. 双重数字签名

基础概念:

KRc:客户私钥

OI:order information(客户给商家)

PI:Payment information(商家给银行)

OIMD:H(OI)

PIMD:H(PI)

​ Dual Signatures: **KRc(H(PIMD OIMD))**
  • 商家收到OI
  • 银行收到PI
  • 客户连接OI和PI,证明其关联

4. 考核重点肯定是PReq的发送和校验

涉及双重签名和数字信封

5. AuthRes

  • capture token(包含了支付网关使用的支付信息,可以作为支付金额的证据)一次支付完成可以在里面累积多个capture token

    • AuthAmt
    • Capture Data
    • Token Nonce

    这部分考了直接寄,考试可能性不大,硬邦邦的概念罢了,懒得管了

6. SSL和SET比较

  • 复杂程度
  • 双方协议 多方协议
  • 面向连接 非实时
  • SET不限制底层协议,可以使用非TCP/IP网络
  • 安全性

一点半了, 两点之前弄完hhhh

PGP

无政府网络的协议,提供保密和身份鉴别服务

1. 信任模型

无政府状态的信任模型,个体签名他人公钥,存入公钥环,然后PGP会计算公钥环内每个公钥的信任度

2. 公钥环

用于存储节点知道的其他所有用户的公开密钥

加密时使用用户的ID作为索引,获取接收方公钥

3. 私钥环

存储该结点拥有的公开/私有密钥对,注意私钥是加密保存的

签名时使用用户的id作为索引,获取发送者的私钥(被加密的),然后输入口令来解密密钥

CSP协议

合约签订协议,主要为了保证在异步网络中交换签名时的公平性和抗抵赖性

CSP是一种乐观的协议,它在一般的合约签订的场景下,加入了TTP,TTP仅会在合约签定的某一方请求下介入(先到先服务)

注意先发的一方总是会处于不利地位。

1. Abuse free

当进行合约签订的,没有哪一方可以单独决定这个协议的结果(也就是说占优势的一方无法把优势转化为胜势)

2. 几种子协议的情景

  • 成交
  • 撤销

3. 攻击

其实就是导致了B签名外泄,感觉也不是很严重2333比较A又要参与协议,又要监听B和TTP通信信道才能获得B的签名

修正就是撤销子协议中把B传给TTP的也用PCSB(text,A,T)

貌似今年另一个班没学CSP这个协议

三、安全协议的分析

BAN

知道基本语法就行

基本的推理规则

密钥分发和认证的逻辑目标

CSP

比BAN需要知道的还少一点

基本的语法,分析语句什么意思之类的

2点04,睡觉!

考后回顾

现在已经考完了,简单回顾一下考试内容,因为准备传到传承上面,所以只能大致说一下

难度

个人觉得考试很简单,都是很基础的东西,稍微学学就能考高分,所以需要考研或者其他事情要忙的朋友不用太担心,考前临时抱佛脚看明白我写的这些考个七八十也没问题(没考到也与我无瓜哈)

范围

我是张老师班的,张老师考前会有复习课,说的其实挺清楚的,建议有录播多看两遍,今年【2022】基本就是我这篇文档的内容

具体今年的考题就没必要透露了,可以说本文档覆盖了90%的考试范围(大概)

应付考试

本人学渣,没有什么资格谈考高分,但是应付这门课,主要你要想清楚,【2022年】有三种题型:名词解释、简答(对常见协议的理解)、分析题这三个部分。所以首先想想有哪些概念可以出名词解释,然后哪些是老师专门强调过的东西大概率会用来当分析题,想清楚之后,考试就基本没啥问题了。