先定义安全,再讨论方案
从资产、攻击者能力和安全目标出发,理解密码学论证的起点。
读完这一章,你会理解
- 写出基本威胁模型
- 区分功能目标与安全目标
- 理解安全定义为什么必须可检验
先说清楚要保护什么
一个方案可能保护消息内容,却不保护通信关系;可能隐藏精确位置,却仍泄露访问频率。安全分析要先列出资产和允许公开的信息。
攻击者能力决定问题难度
攻击者是只能监听,还是可以篡改消息?能否控制参与方?是否看到多次交互?不同能力对应不同安全模型,不能用较弱模型下的结论覆盖较强场景。
- 被动攻击者:观察但不改变执行
- 主动攻击者:可以插入、删除或修改消息
- 内部攻击者:掌握合法参与方的状态或密钥
- 自适应攻击者:根据已经看到的结果继续选择行为
好的安全目标必须能够被检验
“信息很安全”无法直接证明。密码学通常通过实验、优势和可忽略函数,把安全目标变成攻击者能否区分、伪造或恢复信息的明确问题。