一、密钥管理基本概念

1.柯克霍夫斯原则(Kerckhoffs’ Principle)

  即使密码系统的任何细节已为人悉知,只要密钥未泄漏,它也应是安全的。

2.密钥管理的含义

  密钥管理就是在授权各方之间实现密钥关系的建立和维护的一整套技术和程序。在一定的安全策略指导下完成密钥从产生到最终销毁的整个过程,包括密钥的生成、建立(分配协商)、存储、使用、备份/恢复、撤销、更新、存档和销毁等。

3.密钥生成

  密钥生成是密钥生命周期的基础阶段:
(1)密钥的生成一般首先通过密钥生成器借助于某种噪声源产生具有较好统计分析特性的序列,以
保障生成密钥的随机性和不可预测性,然后再对这些序列进行各种随机性检验以确保其具有较好的密码特性。
(2)用户可以自己生成所需的密钥,也可以从可信中心或密钥管理中心申请,密钥长度要适中。
(3)不同的密码体制,其密钥的具体生成方法一般是不相同的,与相应的密码体制或标准相联系。

4.密钥建立

  密钥的建立就是使密钥安全(完整保密)到达密钥使用的各实体对象,通常分为密钥分配密钥协商。密钥分配一般是建立在接收方B对于发送方A信任的基础上,是由发送方A直接发送密钥,而在密钥协商中,接收方B对发送方A可能就不是那么信任了,由发送方A选择一部分密钥发送,接收方B也选择一部分密钥发送,两部分密钥进行组合,然后进行保密传输。在密钥协商中,任何一方都不可能提前知道密钥的内容。

5.密钥存储

  密钥的安全存储是针对静态密钥的保护,通常有两种方法:
(1)基于口令的软保护;
  文件形式或利用确定算法加密。
(2)基于硬件的物理保护;
  存入专门密码装置中(存储型、智能型)。

6.密钥使用

  利用密钥进行正常的密码操作,如加密、解密、签名等,通常情况下,密钥在有效期之内都可以使用。密钥使用应注意使用环境对密钥的安全性的影响。

7.密钥备份及恢复

  密钥备份是指密钥处于使用状态时的短期存储,为密钥的恢复提供密钥源,要求安全方式存储密钥,防止密钥泄露。从备份或存档中获取密钥的过程称为密钥恢复。若密钥丧失但未被泄露,就可以用安全方式从密钥备份中恢复。

8.密钥撤销和更新

  密钥撤销则是若密钥丢失或在密钥过期之前,需要将它从正常使用的集合中删除。在密钥有效期快结束时,如果需要继续使用相应密码体制,为保证密钥的安全性,该密钥需要由一个新的密钥来取代,这就是密钥更新。密钥更新可以通过再生密钥取代原有密钥的方式来实现。

9.密钥存档

  当密钥不再正常使用时,需要对其进行存档,以便在某种情况下特别需要时(如解决争议)能够对其进行检索。存档是指对过了有效期的密钥进行长期的离线保存,密钥的后运行阶段工作。

10.密钥销毁

  对于不再需要使用的密钥,要将其所有复本销毁,而不能再出现。

11.密钥生命周期

(1)使用前状态:密钥不能用于正常的密码操作。
(2)使用状态:密钥是可用的,并处于正常使用中。
(3)使用后状态:密钥不再正常使用,但为了某种目的对其进行离线访问是可行。
(4)过期状态:密钥不再使用,所有密钥记录被删除。

12.密钥分层管理


(1)会话密钥(Session Key)
  在一次通信或数据交换中,用户之间所使用的密钥,是由通信用户之间进行协商得到的。它一般是动态地、仅在需要进行会话数据加密时产生,并在使用完毕后立即进行清除掉的,也称为数据加密密钥。
(2)密钥加密密钥(Key Encrypting Key)
  一般是用来对传输的会话密钥进行加密时采用的密钥,又称为二级密钥(Secondary Key)。密钥加密密钥所保护的对象是实际用来保护通信或文件数据的会话密钥。
(3)主密钥(Master Key)
  对应于层次化密钥结构中的最高层次,它是对密钥加密密钥进行加密的密钥,主密钥应受到严格的保护。

二、密钥分配

1.无密钥分配

假设A希望传递密钥K给B:
(1)随机选取素数P>K,选取ZP*中随机数a,计算Ka,将(Ka, P)发送给B;
(2)B收到A发送的信息后,选取ZP*中随机数b,计算(Ka)b,将((Ka)b)发送给A;
(3)A收到B发送的信息后,计算((Ka)b)a的{-1}次=Kb, 将Kb发送给B;
(4)B收到A发送的信息后,计算(Kb)b的{-1}次=K;

2.对称密钥系统密钥分配

  两个用户(主机、进程、应用程序)在用对称密码体制进行会话密钥Ks分配,需有共享的密钥加密密钥。用户A和B共享密钥加密密钥的方式:
(1) A、B事先共享一个对称密钥(无中心)。为避免重放攻击,优化版的无中心的密钥分配会在消息的最前面加上一段随机数或时间戳,一起加密。
(2) A和B分别与第三方C共享对称密钥(有中心)。密钥分配中心(KDC)与所有用户预设共享密
钥加密密钥,用户A与KDC有共享的密钥KAT,用户B与KDC有共享的密钥KBT;会话密钥KS可以由通信双方选取,亦可由KDC选取。

3.基于公钥系统的密钥分配

  网络中用户(主机、进程、应用程序)在用非对称密码体制进行会话密钥Ks分配,则每个用户需要事先选定自己的公钥/私钥(PK,SK)对作为密钥加密密钥。

三、密钥协商

  密钥协商是保密通信双方(或更多方)通过公开信道的通信来共同形成秘密密钥的过程。一个密钥协商方案中,密钥的值是某个函数值,其输入量由两个成员(或更多方)提供。密钥协商的结果是:参与协商的双方(或更多方)都将得到相同的密钥,同时,所得到的密钥对于非参与方都是不可知的

1.D-H密钥协商

2.密钥协商的问题

3.D-H密钥协商的改进

  A的签名算法为SigA,签名验证算法为VerA;B的签名算法为SigB,签名验证算法为VerB。设p是一个大素数,g∈Zp是模p本原元, p和g公开,所有用户均可获取,并可为所有用户所共有。
  ①用户A随机选取一个大数a ,0≤a≤ p-2.计算Ka=ga (mod p),并将结果传送给用户B。
  ② 用户B随机选取一个大数b ,0≤b≤ p-2.计算Kb=gb (mod p) ,然后计算K= (Ka)b (mod p) 和EB=EK[SigB(ga (mod p), gb (mod p))]。用户B将(PKB, gb (mod p), EB) 传送给用户A。
  ③ 用户A先计算K= (Kb)a (mod p) ,解密EB ,再验证B签名的VerB有效性。确认有效后,计算EA=EK[SigA(ga (mod p), gb (mod p))]。最后,把(PKA, EA)发给用户B。
  ④ 用户B解密后,验证A的签名VerA的有效性。

《现代密码学》学习笔记——第七章 密钥管理[一]相关推荐

  1. Effective C++ 学习笔记 第七章:模板与泛型编程

    第一章见 Effective C++ 学习笔记 第一章:让自己习惯 C++ 第二章见 Effective C++ 学习笔记 第二章:构造.析构.赋值运算 第三章见 Effective C++ 学习笔记 ...

  2. 《Go语言圣经》学习笔记 第七章 接口

    <Go语言圣经>学习笔记 第七章 接口 目录 接口是合约 接口类型 实现接口的条件 flag.Value接口 接口值 sort.Interface接口 http.Handle接口 erro ...

  3. 吴恩达机器学习学习笔记第七章:逻辑回归

    分类Classification分为正类和负类 (规定谁是正谁是负无所谓) 吴恩达老师举例几个例子:判断邮箱是否是垃圾邮箱 一个在线交易是否是诈骗 一个肿瘤是良性的还是恶性 如果我们用之前学习的lin ...

  4. 【机器学习-周志华】学习笔记-第七章

    记录第一遍没看懂的 记录觉得有用的 其他章节:         第一章         第三章         第五章         第六章         第七章         第八章      ...

  5. DSP原理学习笔记--第七章--增强直接存储器访问(EDMA)

    第七章 增强直接存储器访问(EDMA) 第七章 增强直接存储器访问(EDMA) DMA 数据传输 EDMA的特点 EDMA控制器的结构 EDMA传输中的术语 EDMA传输方式 同步事件 EDMA通道与 ...

  6. java学习笔记-第七章:面向对象编程(基础部分)

    第七章:面向对象编程(基础部分) 总体内容 类与对象 引出类与对象 类与对象概述 类与对象的关系示意图 属性概念及其细节 类与对象快速入门案例 对象内存布局 类与对象内存分配机制 引申:java内存的 ...

  7. 第一行代码学习笔记第七章——探究内容提供器

    知识点目录 7.1 内容提供器简介 7.2 运行权限 * 7.2.1 Android权限机制详解 * 7.2.2 在程序运行时申请权限 7.3 访问其他程序中的数据 * 7.3.1 ContentRe ...

  8. 【计算机三级】网路技术学习笔记 第七章 路由器配置及使用

    计算机三级网络技术 七.路由器配置及使用 考点(一):路由器的结构 1.路由器的基本概念 路由器是工作在网络层的设备,负责将数据分组,从源端主机经最佳路径传送到目的端主机实现在网络层的互联. 2.路由 ...

  9. 《机器学习实战》学习笔记第七章 —— AdaBoost元算法

    主要内容: 一.提升方法与AdaBoost算法的简介 二.AdaBoost算法 三.代码解释 一.提升方法与AdaBoost算法的简介 1.提升方法:从弱学习算法出发,反复学习,得到一系列弱分类器(又 ...

  10. 最优化方法(学习笔记)-第七章统计估计

    Statistical estimation Logistic 回归-二分类 整体分类思路 最大化似然函数 最大似然估计MLE 带独立同分布噪音的线性测量模型 viv_ivi​是高斯分布 viv_iv ...

最新文章

  1. Easyui combobox下拉框默认选中第一项
  2. Android基础——框架模式MVC在安卓中的实践
  3. java中Vector
  4. outlook的插件管理(Web界面)
  5. Linux环境下安装部署AWStats日志分析系统实例
  6. 设置网页右键点击,并阻止右键点击默认事件
  7. 数据库工作笔记010---Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结
  8. 一步一步写算法(之线性结构的处理)
  9. nutch2.1抓取中文网站
  10. IOS多线程管理1关于多线程你必须知道的二三事
  11. 列出选定月份的时间序列
  12. Orange部署(Docker容器)
  13. pyqt QTableView详细用法
  14. MSA移动安全联盟 获取OAID 异常问题
  15. 必看!前辈们总结出的程序员找工作遇到的坑
  16. Linux下:matplotlib 添加 Times New Roman字体
  17. Oracle Synonym and Grant
  18. butter中文意思_butter是什么意思中文翻译
  19. 【渝粤教育】电大中专计算机职业素养 (9)作业 题库
  20. ZX内存遍历工具1.0

热门文章

  1. 简易搜索引擎原理与基于Hadoop MapReduce的搜索引擎实现
  2. [LintCode]144. 交错正负数(献给卡在65%的你)
  3. Android 模拟器的本地ip
  4. 【2019/02/18测试T3】飘雪圣域
  5. python怎么让图片旋转45度_python – 有没有办法将matplotlib图旋转45度?
  6. git具体作用_GIT的工作原理、功能特点及其运用
  7. Html5之canvas重叠矩形、getContext、fillStyle、fillRect
  8. win10玩我的世界java_我的世界win10java下载
  9. Pigeon发布流程
  10. html5给页面添加雨滴特效,JavaScript canvas实现雨滴特效