现代密码学:密钥管理-期末复习大纲

  1. 密钥分配的基本方法(单钥体制)

    1. 密钥由双方用物理手段发送
      1. 密钥分配的代价大

      2. 但在整个网络的局部范围非常有用(图5-2)

    2. 密钥由第三方用物理手段发送
      1. 密钥分配的代价大

    3. 用已有密钥加密新密钥后发送
      1. 攻击者获得一个密钥,就能获得以后的密钥

      2. 初始分配时代价大

    4. 第三方通过保密信道发送给双方
      1. 每一用户有和密钥分配中心的共享密钥,称为主密钥(密钥加密密钥,物理上安全)

      2. 通过主密钥分配会话密钥(数据加密密钥),会话完成后销毁

      3. 主密钥可通过物理手段发送

  2. 一个实例(P136)

  3. 密钥的分层控制(单钥体制)

    1. 问题
      1. 一个KDC无法承担分配给全部用户的重任

      2. 需要所有用户信任KDC,同时对KDC加以保护

    2. 解决
      1. 建立本地KDC

      2. 同一范围的用户通过本地KDC获得密钥

      3. 不同范围的用户通过各自本地的KDC,再通过一个全局KDC获得密钥

    3. 作用
      1. 减少主密钥的分布,因为大多数主密钥都是在本地共享

      2. 将虚假KDC的危害限制到一个局部区域

  4. 会话密钥的有效期(单钥体制)

    1. 会话密钥更换越频繁,安全性越高

    2. 更换太频繁,会延迟客户之间的交换,造成网络负担

    3. 面向连接的协议
      1. 每次建立连接时,使用新的会话密钥

      2. 逻辑连接的时间很长时,定期更换会话密钥

    4. 无连接协议
      1. 优势:对每个业务都有最少的费用和最短的延迟

      2. 在某一固定周期内对一定数目的业务用同一会话密钥

  5. 密钥的控制使用(单钥体制)

    1. 密钥标签
      1. 如DES的64位比特密钥中的8个校验位,作为标签

        1. 含义为是否用于加密,是否用于解密等

      2. 标签和密钥一起被加密,对标签起到保护

      3. 问题
        1. 标签长度被限制

        2. 解密后才知道标签,限制了对密钥使用的控制方式

    2. 控制矢量
      1. 控制矢量分为若干子段,长度可变

      2. 在KDC产生密钥时,加在密钥中

        1. 先由哈希函数压缩到与加密密钥等长

        2. 和主密钥异或后作为加密密钥

      3. KDC发送会话密钥时,同时以明文形式发送控制矢量

      4. 用户需保留会话密钥和其对应的控制矢量

      5. 优点
        1. 长度没有限制

        2. 可以在任一阶段对密钥的使用施加控制

  6. 密钥分配的基本方法(公钥体制)

    1. 公开发布
      1. 用户将自己的公钥发给每一其他的用户

      2. 问题
        1. 任何人都能伪造这种公开发布

    2. 公用目录表
      1. 搭建一个公用的密钥动态目录表,由可信实体维护

      2. 管理员为每个用户建立一个目录,目录包含用户名、公开钥

      3. 每一用户以可信方式注册公开钥

      4. 用户随时可用新的密钥

      5. 用户以安全的方式获得其他目录

      6. 问题
        1. 敌手可通过管理员的秘密钥来伪造公钥目录表

        2. 公钥目录表易受窜扰

    3. 公钥管理机构
      1. 公钥机构为用户建立、维护动态的公钥目录,每个用户都可靠地知道管理机构的公开钥

      2. 图5-4

      3. 问题
        1. 管理机构有可能成为系统的瓶颈

        2. 公钥目录表易受窜扰

    4. 公钥证书
      1. 证书管理机构为用户建立公钥证书

        1. 用户的公开钥

        2. 用户的身份

        3. 时间戳

          1. 保证证书的新鲜性,防止重放一个旧证书

      2. 数据项经管理机构私钥加密后形成证书

      3. 用户将公钥证书发送给另一用户

    5. Diffile-Hellman密钥交换
      1. 使两个用户安全地交换密钥,得到一个共享的会话密钥

      2. 算法的安全性基于求离散对数的困难性

      3. 图5-8

  7. 用公钥加密【单钥密码体制的密钥】

    1. 公钥加密的速度过慢,但可以用来分配单钥密码体制的密钥(会话密钥)

    2. 简单分配
      1. 图5-6

      2. 简单,但密钥泄露的危险性最小

      3. 易受主动攻击

    3. 具有保密性和认证性的密钥分配
      1. 图5-7

  8. 随机数的产生

    1. 要求随机数序列满足随机性和不可预测性

    2. 作用
      1. 相互认证,防止重放攻击

      2. 作为会话密钥

      3. 作为公钥密码算法中的密钥

    3. 随机性
      1. 均匀分布
        1. 每个数出现的频率近似相等

          1. 通过检测得出

      2. 独立性
        1. 任意一个数不能由其他数推出

          1. 无法检测,但能从方面验证

    4. 不可预测性
      1. 数列以后的数是不可预测的

    5. 随机数源
      1. 采用随机性、精度足够、易于连接到网络系统中的随机数源
      2. 将高质量随机数编成书
        1. 数量有限

        2. 有随机性

        3. 难以保证不可预测性

      3. 借助安全地密码算法产生
        1. 算法是确定的,故数列不是随机的

    6. 伪随机数产生器
      1. 伪随机数:似乎是随机的数列

      2. 最广泛使用:线性同余算法
        1. 参数
          1. 模数m:为使随机数列的周期尽可能大,m尽可能大(接近2^{31}

          2. 乘数a(0≤a<m)

          3. 增量c(0≤c<m)

          4. 初始种子X0(0≤X0<m)

        2. 迭代公式:Xn+1=(aXn+c) mod m
        3. 评价标准
          1. 迭代函数是整周期的,即数列中的数在重复之前能产生0~m之间所有数(例如:m是素数且c=0,a是m的一个本原根)

          2. 看上去随机

          3. 有效地利用32位运算实现(m可取2^{31}-1)

        4. 精心选取a,c,m
      3. 线性同余算法达到整周期的充要条件
        1. gcd(c,m)=1

        2. 对所有素数p|m,a同余1 mod p

        3. 若4|m,则a同余1 mod4

      4. 线性同余算法本身不具有随机性
        1. 敌手知道算法的参数和一个数,就能得到以后所有数

        2. 敌手通过四个连续的数,就能够确定参数

      5. 改进
        1. 利用系统时钟修改随机数数列:每当产生N个数后,就用时钟值mod m作为新种子或将时钟值加到随机数上

        2. 随机数产生器的溢出问题

          1. 颠倒两个运算的顺序,则可以避免溢出

          2. 改进方式:P147

      6. 线性同余算法的常用变形
        1. 幂形式
          1. RSA产生器:参数取为RSA的参数

          2. 平方产生器

        2. 离散指数形式
  9. 基于密码算法的随机数产生器

    1. 循环加密
      1. 每产生一个密钥,计数器加一

      2. 用主密钥给计数器的输出加密,得到输出序列

    2. 输出反馈OFB模式
      1. 用加密算法的一个个64比特输出,作为一个很好统计特性的伪随机数序列

    3. ANSI X9.17伪随机数产生器
      1. 密码强度最高的伪随机数产生器之一

      2. 使用三重DES加密(图5-10)

  10. 秘密分割

    1. 秘密分割门限方案
      1. 将秘密s分成n个部分,由k个参与者持有部分可重构s

      2. k为门限值

    2. 方案是完善的
      1. 少于k个参与者持有的信息得不到秘密s的任何信息

    3. Shamir门限方案
      1. 基于多项式的lagrange插值(代数插值)公式

      2. 把密钥s取作f(0)

      3. 已知k-1个子密钥,得不到关于秘密s的任何信息

      4. 例5-4

  • 39
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值