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. 安全目标
- 机密性:消息加密
- 可信性:各方持有数字证书
- 隐私性:信息按需分配
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年】有三种题型:名词解释、简答(对常见协议的理解)、分析题这三个部分。所以首先想想有哪些概念可以出名词解释,然后哪些是老师专门强调过的东西大概率会用来当分析题,想清楚之后,考试就基本没啥问题了。