密码学密钥配和密钥管理.ppt_第1页
密码学密钥配和密钥管理.ppt_第2页
密码学密钥配和密钥管理.ppt_第3页
密码学密钥配和密钥管理.ppt_第4页
密码学密钥配和密钥管理.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章密钥分配与密钥管理 单钥加密体制的密钥分配公钥加密体制的密钥管理密钥托管随机数的产生秘密分割 建立安全的密码系统要解决的一个赖手的问题就是密钥的管理问题 即使密码体制的算法是计算上的安全 如果缺泛对密钥的管理 那么整个系统仍然是脆弱的 问题的提出 1 密钥管理量的困难传统密钥管理 两两分别用一对密钥时 则n个用户需要C n 2 n n 1 2个密钥 当用户量增大时 密钥空间急剧增大 如 n 100时 C 100 2 4 995n 5000时 C 500 2 12 497 500 2 数字签名的问题传统加密算法无法实现抗抵赖的需求 概述 从理论上说 密钥也是数据 不过它是用来加密其它数据的数据 因此 在密码学的研究中 不妨把密钥数据与一般数据区分开来 在设计密码系统时 对于密钥必须考虑以下问题 1 系统的那些地方要用到密钥 它们是如何设置和安装在这些地方 2 密钥预计使用期限是多长 每隔多久需要更换一次密钥 3 密钥在系统的什么地方 4 如何对密钥进行严格的保护 为了产生可靠的总体安全设计 对于不同的密钥应用场合 应当规定不同类型的密钥 所以根据密钥使用场合的不同 可以把密钥分成不同的等级 通常把密钥分为两大类型 即数据加密密钥和密钥加密密钥 密钥加密密钥又可分为 主密钥 对现有的密钥或存储在主机中的密钥加密 加密对象初级密钥和二级密钥 初级密钥 用来保护数据的密钥 它也叫数据加密 解密密钥 当初级密钥用来进行通讯保护时 叫做通讯密钥 用来保护文件时叫做文件密钥 二级密钥 它是用来加密保护初级密钥的密钥 密钥保护的基本原则 密钥永远不可以以明文的形式出现在密码装置之外 密码装置是一种保密工具 即可以是硬件 也可以是软件 密钥分配 KeyDistribution 保密通信双方需共享密钥共享密钥要经常更换分配方式 A选择密钥并手工传递给B第三方C选择密钥分别手工传递给A B用A B原有共享密钥传送新密钥与A B分别有共享密钥的第三方C传送新密钥给A和 或BN个用户集需要N N 1 2个共享密钥 密钥分发中心 密钥分发中心 KeyDistributionCenter 每个用户与KDC有共享密钥 MasterKey N个用户 KDC只需分发N个MasterKey两个用户间通信用会话密钥 SessionKey 用户必须信任KDCKDC能解密用户间通信的内容 密钥分配方案 基于对称密码体制的密钥分配基于公开密码体制的秘密密钥分配几个密钥分配方案 基于对称密码体制的密钥分配 对称密码体制的主要商业应用起始于八十年代早期 特别是在银行系统中 采纳了DES标准和银行工业标准ANSI数据加密算法 DEA 实际上 这两个标准所采用的算法是一致的 随着DES的广泛应用带来了一些研究话题 比如如何管理DES密钥 从而导致了ANSIX9 17标准的发展 该标准于1985年完成 是有关金融机构密钥管理的一个标准 金融机构密钥管理需要通过一个多级层次密钥机构来实现 ANSIX9 17三层密钥层次结构 1 主密钥 KKMs 通过手工分配 2 密钥加密密钥 KKs 通过在线分配 3 数据密钥 KDs KKMs保护KKs的传输 用KKs保护KDs的传输 主密钥是通信双方长期建立密钥关系的基础 是用户和密钥分配中心的共享密钥 用主密钥对所有初级密钥加密 使它们在密码装置之外也受到保护 象这样用一个密钥保护许多其他密钥的方法 在密码学中叫主密钥原理 它从本质上把保护大量密钥的问题 简化成了集中保护和使用一个密钥问题 这实际上也是数据加密思想的进一步深化 从原则上说 数据加密就是把保护大量数据的问题简化为保护和使用少量数据的问题 主密钥的分配方式 利用安全信道实现 1 直接面议或通过可靠信使递送 2 将密钥分拆成几部分分别传送 两种密钥分配技术 两种密钥分配体制 静态分配 一个有n个用户的系统 需实现两两之间通信n个用户 需要n n 1 2个共享密钥 动态分配 中心化的密钥管理方式 由一个可信赖的联机服务器作为密钥分配中心 KDC 或密钥转递中心 KTC a b 会话密钥的有效期原则上 会话密钥更换的越频繁 系统的安全性就越高 因为这样的话 即使敌手获得了一个会话密钥 也只能解密很少的密文 但是 会话密钥更换的太频繁 将会延迟用户之间的交换 同时还造成网络的负担 所以 应对会话密钥的有效期作出合理的权衡 对于面向连接的协议 在连接还未建立或断开时 会话密钥的有效期可以延长 而每次连接时 都应该使用新的会话密钥 如果逻辑连接的时间长 则应定期更换会话密钥 对于无连接的协议 如面向业务的协议 无法决定更换密钥的频率 为安全起见 用户每进行一次交换 都要使用新的会话密钥 这又影响了协议本身的优势 因此最好的办法是在一固定的周期内或对一定数目的业务使用同一会话密钥 带鉴别与抗重放机制的密钥分配方案 有中心 用户必须信任KDCKDC能解密用户间通信的内容 无中心的密钥分配 Decentralizedkeydistribution适合于小型网络环境 密钥的控制使用密钥可根据期不同的用途分为会话密钥和主密钥 会话密钥又称为数据加密密钥 而主密钥称为密钥加密密钥 主密钥的安全性高于会话密钥 在对称密码体制中 有以下两种密钥控制技术 密钥标签用于DES的密钥控制 将DES的64比特密钥中的8个校验位作为控制使用这一密钥的标签 控制矢量 该方案为每一个会话密钥都指定了一个控制矢量 杂凑函数 加密函数 控制矢量CV 主密钥 会话密钥 加密的会话密钥 结合过程 恢复过程 加密的会话密钥 解密函数 会话密钥 实现算法 秘密密钥的管理密钥由用户使用 用以保护存储在文件中的数据 最简单的方法是不把密钥存储在系统中 仅仅在加密 解密时才把密钥输入系统 比如我们在DES加密算法中 要求输入56位密钥通常有两种方法 一种是直接输入8字节密钥 在这种情况下 只有完全随机选择56位密钥的情况下才能使用这种格式 因为仅有由英文字母或数字构成的密钥太容易被穷举法破译 因为用户比较容易记忆有意义的字母 另一种用户可输入一个长字符串作为密钥输入 在加密时从该串中取56位用作密钥 对密钥的存储 也可以把密钥记录在只读存储器或磁卡上 这种由硬件实现的密钥可以直接插入与用户终端连接的专用阅读机而输入系统 当使用单密钥体制时 用户向系统登记其秘密密钥以便在他们的终端和中心计算机之间建立安全通道 从而使密钥得到保护 此外 一个最简单的办法是把他们存储在用系统密钥加密的文件中 与口令不同 密钥不能用单向函数加密保护 否则将无法解密恢复 基于公开密钥体制的密钥管理 公钥加密的一个主要用途是分配单钥密码体制中所使用的密钥 下面介绍两方面的内容 公开密钥体制中所使用的公钥的分配 如何使用公钥体制分配单密钥体制所需的密钥 公钥的分配公开发布公用的目录表 3 公钥管理机构 公钥管理机构 A B 公钥管理机构分配公钥 1 Request Time1 2 ESKAU PKB Request Time1 3 EPKB IDA N1 4 Request Time2 5 ESKBU PKA Request Time2 6 EPKA N1 N2 7 EPKB N2 4 公钥分配的另一类方法是公钥证书 签字 CA的密钥公钥私钥 随机数产生器 产生密钥 公钥私钥 姓名公钥 信封 证书 证书的产生过程 简单的秘密密钥分配Simplesecretkeydistribution具有保密和鉴别能力的分配Secretkeydistributionwithconfidentialityandauhtentication混合方案Hybridscheme 基于公开密钥体制的秘密密钥分配 Simplesecretkeydistribution Merkle的建议 Merkle79 A生成 PKa SKa A B IDA PKa B生成随机密钥Ks B A EPKa Ks A解密EPKa Ks 得到Ks DSKa EPKa Ks A丢弃 PKa SKa B丢弃PKa通讯前不需存在密钥 通讯后也不存在密钥能抵抗偷听 不能抵抗主动攻击 中间人攻击 Merkle协议的中间人攻击 A生成 PKa SKa A B IDA PKa E截获 生成 PKe SKe 冒充A B IDA PKe B生成随机密钥Ks B A EPKe Ks E截获 解密后再用EPKa加密Ks A EPKa Ks A丢弃 PKa SKa B丢弃PKaE获得了Ks 故以后只需进行窃听 A B并不知晓它们被攻击了 用于机密和认证的密钥分配协议 假定A和B已经获得了双方的公钥 A B EKUb IDA N1 B A EKUa N1 N2 A B EKUb N2 A B Y EKUb EKRa Ks B解密Y获得会话密钥Ks DKUa DKRb Y Diffie Hellman密钥交换协议 aU aV 用户U选择一随机数aU 计算 用户V选择一随机数aV 计算 生成的会话密钥为 基本模式 Diffie Hellman密钥交换协议 Diffie Hellman密钥交换协议 双方选择素数p以及p的一个原根 U随机选择aU Zp 计算 aUmodp并发给V V随机选择aV Zp 计算 aVmodp并发给U U计算 aVmodp aUmodp aUaVmodp V计算 aUmodp aVmodp aUaVmodp双方获得共享密钥 aUaVmodp 与Diffie Hellman密钥分配协议不同 此处的aU aV是变化的这个协议可以被中间人攻击 Diffie Hellman密钥交换攻击 中间人攻击图示 中间人攻击1双方选择素数p以及p的一个原根a 假定O知道 2A选择Xa p 计算Ya aXamodp A B Ya3O截获Ya 选Xo 计算Yo aXomodp 冒充A B Yo4B选择Xb p 计算Yb aXbmodp B A Yb5O截获Yb 冒充B A Yo6A计算 Xo Xa aXo Xa aXoXamodp7B计算 Xo Xb aXo XXb aXoXbmodp8O计算 Ya Xo aXaXomodp Yb Xo aXbXomodpO无法计算出aXaXbmodpO永远必须实时截获并冒充转发 否则会被发现 公开密钥的管理公开密钥可以分配到系统外 也可以登记在系统公开密钥目录中 在第一种情况下 它们可以存储在某种介质上 在第二种情况下 用户把公开密钥存储在由系统目录管理程序S所管理的文件中 公开密钥是不怕泄露的 因为 黑客不能用公开密钥破坏密码体制的安全性和真实性 但是维持公开密钥的完整性是一个十分重要的问题 如果入侵者伪造一个合法的但是不正确的公开密钥登记在S中 某用户漫不经心地用他加密机密文件 那么这些数据将不是被合法者而是被入侵者加 解密 另一方面入侵者还可以向合法用户发送签了名的信息使合法用户上当 为了保证公开密钥的完整性 建议使用所谓的 身份证 当用户A向系统的目录管理程序登记公开变换EA时 它必须收到由S签名的身份证书 CA DS A EA T 其中EA是A的公开加密变换 T是时间戳 DS是S的秘密签名 A能用S的公开变换ES证实CA来自SES CA A EA T 身份证书可以由S或身份证持有者A分发给有关用户 各用户收到A的身份证书后 可以用ES验证A的身份证书 此外 他们还可以检查时间T以防CA是一过时的身份证书 如果S使用的秘密密钥签名变换 已经泄露 那就会出现问题 为了解决这个问题 可以使用密码学家Merkle的真实性树 从而避开秘密密钥签名的变换 避开这问题 密钥托管 密钥托管也称为托管加密 其目的是保证对个人没有绝对的隐私和绝对不可跟踪的匿名性 即在强加密中结合对突发事件的解密能力 实现手段 把已经加密的数据和数据的恢复密钥联系起来 数据恢复密钥由所信任的委托人持有 委托人可以是政府机构 法院和由契约的私人组织 一个密钥可能在数个这样的委托人中拆分 密钥托管加密技术提供了一个备用的解密途径 美国托管加密技术标准 1993年4月 美国政府为了满足其电信安全 公众安全和国家安全 提出了托管加密标准EES 该标准所使用的托管加密技术不仅提供了强加密功能 同时也为政府机构提供了实施法律授权下的监听功能 通过一个防窜扰的芯片技术实现这一功能 特性 1 一个加密算法 Skipjack方法 该算法是由NSA设计的 用于加密和解密用户通信的消息 2 为法律实施提供后门的部分 法律实施存取域LEAF 通过这个域 法律实施部门可在法律授权下 实现对用户通信的解密 Skipjack算法Skipjack算法是一个单钥分组密码算法 密钥长80比特 输入和输出的分组长均为64比特 可采用4种工作模式 电码本模式 密码分组连接模式 输出反馈模式和密码反馈模式 经过评价 认为Skipjack算法安全性较DES强 并且未发现陷门 托管加密芯片Skipjack算法以及在法律授权下对加密结果的存取是通过防窜扰的托管芯片来实现的 芯片装有以下部分 Skipjack算法 80比特的族密钥KF 同一批芯片的族密钥都相同 芯片单元标识符 UID 80比特的芯片单元密钥KU 它是两个80比特的芯片单元密钥分量 KU1 KU2 的异或 控制软件 编程过程是在两个托管机构的代表监控下的安全工厂中进行的 一段时间一批 编程过程如图所示 托管加密芯片的编程过程 SJKFUIDKU E E UIDEK1 KU1 UID KU1 KU2 KF K2 K1 UIDEK2 KU2 托管机构1初始化 托管机构2初始化 托管机构1 托管机构2 芯片编程处理器 用托管加密芯片加密通信双方为了使用Skipjack算法加密他们的通信 都必须有一个装有托管加密芯片的安全的放窜扰设备 该设备负责实现建立安全信道所需要的协议 包括协商或分布用于加密通信的80比特秘密会话密钥KS 用KU加密 加密的会话密钥 UID A 用KF加密 LEAF KS IV 128比特 80比特 32比特 16比特 法律实施存取政府机构在进行犯罪调查时 为了监听被调出者的通信 首先必须取得法院的许可证书 并将许可证书给通信服务的提供者 并从电信部门租用线路用来截取被监听者的通信 如果被监听者的通信是加密的 则被截获的通信首先通过一个政府控制的解密设备 解密设备可识别有托管芯片加密的通信 取出LEAF和IV 并使用族密钥KF解密 取出芯片识别符UID和加密的会话密钥 密钥托管密码体制的组成成分密钥托管密码体制从逻辑上可分为3个组成部分 用户安全成分USC 密钥托管成分KEC和数据恢复成分DRC 密钥托管密码体制的组成部分 数据恢复密钥 密钥KS 加密 密钥KS 解密 明文 明文 密文 确定密钥KS 解密 DRF 明文 KEC DRC USC 随机数 Randomnumber 随机数用途 重要的角色 例如 认证过程中 避免重放攻击 会话密钥 RSA公钥算法随机数的基本特点 随机性均匀分布 有大量的测试方案独立性 难以测试 只能测试足够独立 不可预测性 Randomnumbergeneration 真正的随机数难以产生伪随机数线性同余法Xn 1 aXn c modmm模数m 0231a乘数0 a ma 75 16807c增量0 c mX0种子0 X0 m线性同余伪随机数缺乏不可预测性 基于密码的随机数产生 循环加密DES输出反馈方式ANSIX 917伪随机数产生器BlumBlumShub BBS 产生器 循环加密 DES输出反馈模型 ANSIX9 17 Ri EDEK1 K2 Vi EDEK1 K2 DTi Vi 1 EDEK1 K2 Ri EDEK1 K2 DTi BBS伪随机数产生器 1 首先选择两个大素数p qp q 3 mod4 2 选择s与n互素通过了 下一位 测试 next bittest 不存在多项式时间的算法使得在已知前k位的情况下预测出第k 1位的概率大于0 5 BBS的安全性同样基于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论