任务详情:自学教材第1,2章,提交学习笔记
Part1 知识点归纳&GPT提问
知识点归纳
木桶原理
每个安全系统的安全性都取决于它最脆弱的环节
攻击者通过建立攻击树讨论对多个环节的攻击方法
强化最脆弱环节,对多个环节进行强化使系统具备纵深防御的性质
对手设定
我们的任务是构建一个能够抵抗所有攻击的系统
专业偏执狂
像一个恶意的攻击者那样进行思考,以发现自己工作的弱点。
- 即使不去从事保密安全的工作,也依旧会将安全意识牢记于心
- 不要将对系统的攻击当成人身攻击
威胁模型
没有绝对的安全,有一些安全问题是来源于内部人员
- 防火墙抵挡不住防火墙内的工作人员的攻击
- SET只能保护传输安全,不能保证本地安全,而且将用户的威胁模型由“只有能够很好地伪造我的签名时才能造成损失”变成了“只有能够很好地伪造我的签名或者某种病毒感染了我的电脑时才能造成损失”。
安全性和其他设计准则
安全性不是系统的唯一设计准则
任何时候我们都要首选安全性而不是效率
密码学简介
加密
c = E(Ke,m),接收者掌握解密算法和密钥
通常是不同时间点上的同一人的信息存储问题
Kerckhoff原则:加密方案的安全性必须仅仅依赖于对密钥的保密,而不依赖于对算法的保密
不要相信不公开的算法
认证
消息认证码:a = h(Ka,m),接收者用消息和认证密钥重新计算a值,一个好的MAC函数不会对两个不同的消息产生相同的结果
只能进行窃听、删除、改变顺序和重放
公钥加密
D(SBob,E(PBob,m)) = m
使得分发密钥的问题变得简单
用公钥产生密文,用私钥解密
数字签名
用私钥产生签名,用公钥验证
PKI公钥基础设施
每个用户都将公钥报给证书机构或者CA证明自己
一次注册,随处使用
唯密文攻击模型
在只知道密文的情况下试图解密消息,最困难的攻击方式
已知明文攻击模型
已知明文与密文,获得解密密钥
选择明文攻击模型
攻击者可以选取更易于攻击该系统的明文进行加密
- 离线
- 在线
选择密文攻击模型
选择密文和明文攻击
区分攻击
利用特殊的方法来找出实际的加密方案和理想的加密方案之间的差异、
生日攻击
如果一个元素可以取N种不同的值,那么随机选择了大约根号N个元素之后,就可以预期出现第一次碰撞
等待同一个值在相同的元素集合中出现两次
中间相遇攻击
我们有两个集合并等待这两个集合出现交集
GPT提问
Part2 问题与解决思路
问题
在阅读时并不理解选择明文攻击模型和选择密文攻击模型的区别,
gpt解决
选择密文攻击:除了已知明文攻击的基础,攻击者还可以任意制造或者选择一些密文,并得到其解密后的明文。比如用一定的手段在通信过程中伪造消息替换真实消息,然后窃取接收者获得并解密的结果,有可能正好发现随手伪造的密文解密结果是有意义的。就是说,你有了一定的权限,可以随便说点什么让人家加密以后再给你,这是选择明文攻击;你有了另一种权限,可以选择一段密文让人家解密以后给你看,这是选择密文攻击。