最近精神压力大,地铁上就不看难懂的东西了,看看经典名著什么的陶冶情操。密码学就在宿舍看,慢慢看。(看到后面就没耐心了,粗略看,其实书中介绍得也不详细,每一点都深入了解的话是要耗费巨大精力的。还是略看就好了)

一些概念

  • 对称密码系统的密钥交换
  • 公开密钥密码系统的密钥交换
  • 中间人攻击 -- 大概了解了,就是通过截断、重放(替换为自己的公开密钥),达到获取通信双方会话密钥的目的,实现监听
  • 字典式攻击(dictionary attack) + salt 这里的salt看不懂,是直接加在最后面?
  • SKEY
  • SKID -- 用MAC来提供安全性
  • 消息鉴别
  • 鉴别和密钥交换
  • 使用单向函数鉴别
  • 连锁协议(interlock protocol)
  • 使用连锁协议相互鉴别(防止中间人攻击)
  • 使用数字签名的密钥交换
  • 密钥和信息传输
  • 多密钥公开密钥密码系统 -- a、b、c三个密钥,a加密的需要b和c同时才能解密,以此类推。
  • 鉴别和密钥交换协议的形式化分析,四种基本途径:
    1. 使用规范语言和验证工具建立协议模型和验证协议,它不是特别为密码协议分析设计的(大多转向第三种)
    2. 开发专家系统,协议设计者能够用它来调查和研究不同的情况
    3. 用分析知识和信任的逻辑,建立协议族的需求模型
    4. 开发形式化方法,它基于密码系统的代数重写项性质
  • BAM逻辑(BAM logic) -- 分析鉴别协议最广泛应用的逻辑模型
    1. 采用以前描述的命题,把协议转换为理想化形式
    2. 加上有关协议初始状态的所有假设
    3. 把逻辑公式放到命题中:在每个命题后断言系统的状态
    4. 为了发现协议各方持有的信任,运用逻辑基本原理去断言和假设
  • Wide-Mouth Frog协议
  • Yahalom协议
  • Needham-Schroeder协议
  • Otway-Rees协议
  • 重放攻击(replay attack)
  • Kerberos协议
  • Neuman-Stubblebine协议
  • 隐瞒重放(suppress-replay)
  • DASS协议(Distributed Authentication Security Service,分布式鉴别安全协议)
  • 其他协议 -- 信标(beacon)
  • 广播信息
  • 密码分割(secret splitting)
  • 密码共享
    1. 影子(shadow) -- 共享
    2. 门限方案(threshold scheme)
    3. (m,n)门限方案:密码分为n部分,任何m部分都能重构消息,m<n
  • 有骗子的秘密共享
  • 没有Trent的秘密共享
  • 不暴露共享的秘密共享
  • 可验证的秘密共享
  • 带预防的秘密共享
  • 带除名的秘密共享
  • 数据库的密码保护
    任何组织的成员数据库都是有价值的。一方面,你想把数据库分配给所有成员,他们互相通信;另一方面,你又不想让数据库名单落入保险商手中。
    选用一个单向散列函数,和一个对称加密算法。数据库每个记录有两个字段:索引字段是成员的姓的单向散列值;数据字段是全名和成员的地址,用姓作为密钥对数据字段加密。除非你知道这个人的姓,否则不可能解密数据字段。
    这个保护方法可以通过所有的姓氏进行爆破。

逸事

  • 学术上的教训

    1. 设计者试图设计得太精巧,所以许多协议失败了。他们通过省去重要的部分:名字、随机数等来优化他们的协议,但矫枉过正了。
    2. 试图优化绝对是一个可怕的陷阱,并且全部命运依赖于你所做的假设。例如,如果你有鉴别的时间,你就可以做许多你没法去做也做不到的事情。
    3. 选择的协议依赖于底层的通信体系结构。你难道不想使消息的大小和数量最小吗?所有人,还是只有其中的几个人能够交谈?

问题

对于涉及的初级协议只是粗略看看,并不深入了解掌握。有机会可以深入,不过估计是没那时间和机遇的了。