




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020 4 1 1 第八章密钥管理 一 密钥管理的基本概念二 密钥生成与密钥分发三 秘密共享与密钥托管四 非线性序列 一 密钥管理的基本概念 2020 4 1 3 在先前的章节 我们所关注的是采用何种密码算法来实现数据的机密性 完整性 认证性 然而 在一个安全系统中 总体安全性依赖于许多不同的因素 例如算法的强度 密钥的大小 口令的选择 协议的完全性等 其中对密钥或口令的保护尤其重要 根据Kerckhoff的假设 一个密码系统的安全性完全取决于对密钥的保密而与算法无关 即算法可以公开 简单来说 不管算法多么强有力 一旦密钥丢失或出错 不但合法用户不能提取信息 而且可能会使非法用户窃取信息 可见 密钥的保密和安全管理在数据系统安全中是尤为重要的 2020 4 1 4 密钥管理是处理密钥自产生到最终销毁的整个过程中的有关问题 大体上讲 密钥管理包括密钥的产生 装入 存储 备份 分配 更新 吊销和销毁等内容 其中分配和存储是最棘手的问题 在分布式系统中 人们已经设计了用于自动密钥分配业务的几个方案 其中某些方案已被成功使用 如Kerberos和ANSIX 9 17 以及ISO CCITTX 509目录认证方案 2020 4 1 5 密钥管理涉及的方面 密钥的种类 初始密钥 会话密钥 加密密钥 主机主密钥 密钥的生成密钥的更换密钥的存储密钥的销毁密钥的吊销 2020 4 1 6 密钥管理的原则 密钥管理是一个系统工程 必须从整体上考虑 从细节着手 严密细致地施工 充分完善的测试 才能较好地解决密钥管理问题 为此 首先要弄清楚密钥管理的一些基本原则 2020 4 1 7 区分秘钥管理的策略和机制全程安全原则最小权利原则责任分离原则密钥分级原则密钥更换原则密钥应当有足够的长度密码体制不同 密钥管理也不同 二 密钥生成与密钥分发 2020 4 1 9 密钥生成 密钥是数据保密的关键 应采用足够安全的方法来产生密钥 在大型计算机密码系统中常采用主密钥 二级密钥和初级密钥三种不同等级的密钥 针对不同的密钥应采用不同的方法来产生 对于秘要的一个基本要求是要具有良好的随机性 这主要包括长周期性 非线性 统计意义上的等概率性以及不可预测性等 高效的产生高质量的真随机序列 并不是一件容易的事 在实际中 我们针对不同的情况采用不同的随机序列 2020 4 1 10 单钥加密体制密钥生成 主密钥的产生 主密钥应当是高质量的真随机序列 常采用物理噪声源的方法 但不管是基于什么随机源来产生密钥 都要经过严格的随机性测试 否则不能作为密钥 二级密钥的产生 可以像产生主密钥那样产生真随机的二级密钥 也可以在主密钥产生后 借助于主密钥和一个强的密码算法来产生二级密钥 初级密钥的产生 为了安全和简便 通常总是把随机数直接视为受高级密钥 主密钥或二级密钥 加密过的初级密钥 2020 4 1 11 单钥加密体制的密钥分配 两个用户在使用单钥体制进行通信时 必须预先共享秘密密钥 并且应当时常更新 用户A和B共享密钥的方法主要有A选取密钥并通过物理手段发送给B第三方选取密钥并通过物理手段发送给A和BA B事先已有一密钥 其中一方选取新密钥 用已有密钥加密新密钥发送给另一方A和B分别与第三方C有一保密信道 C为A B选取密钥 分别在两个保密信道上发送给A和B 2020 4 1 12 单钥加密体制的密钥分配 如果有n个用户 需要两两拥有共享密钥 一共需要n n 1 2的密钥采用第4中方法 只需要n个密钥 2020 4 1 13 一个实例 KS 一次性会话密钥N1 N2 随机数KA KB A与B和KDC的共享密钥f 某种函数变换 2020 4 1 14 公钥的分配 公开发布 用户将自己的公钥发给每一个其他用户方法简单 但没有认证性 因为任何人都可以伪造这种公开发布 2020 4 1 15 公钥的分配 公用目录表 公用的公钥动态目录表 目录表的建立 维护以及公钥的分布由可信的实体和组织承担 管理员为每个用户都在目录表里建立一个目录 目录中包括两个数据项 一是用户名 而是用户的公开密钥 每一用户都亲自或以某种安全的认证通信在管理者处为自己的公开密钥注册 用户可以随时替换自己的密钥 管理员定期公布或定期更新目录 用户可以通过电子手段访问目录 2020 4 1 16 公钥的分配 公钥管理机构 公钥管理机构为用户建立维护动态的公钥目录 每个用户知道管理机构的公开钥 只有管理机构知道自己的秘密钥 2020 4 1 17 公钥管理机构分配公钥 有可能成为系统的瓶颈 容易受到敌手的串扰 2020 4 1 18 公钥证书 用户通过公钥证书交换各自公钥 无须与公钥管理机构联系公钥证书由证书管理机构CA CertificateAuthority 为用户建立 证书的形式为 T 时间 PKA A的公钥 IDA A的身份 SKCA CA的私钥时戳T保证证书的新鲜性 防止重放旧证书 2020 4 1 19 证书的产生过程 2020 4 1 20 公钥加密体制密钥生成 由于公开密钥密码体制与传统的单钥加密体制是性质不同的两种密码体制 所以公开密钥密码体制的密钥产生与传统密码体制的密钥产生有着本质的区别 公开密钥密码体制本质上是一种单向陷门函数 它们都是建立在某一数学难题之上的 不同的公开密钥密码体制所依据的数学难题不同 因此其密钥产生的具体要求不同 但是 它们都必须满足密码安全性和应用的有效性对密钥所提出的要求 2020 4 1 21 用公钥加密分配单钥密码体制的密钥 2020 4 1 22 用公钥加密分配单钥密码体制的密钥 具有保密性和认证性的密钥分配 2020 4 1 23 Kerboros协议 Kerboros协议是一个基于私钥密码体制的流行的密钥服务系统 在这个系统中 每个用户U和可信中心 对称密钥分发中心KDC 共享一个秘密的DES密钥 在协议的最新版本中 传送的所有消息都通过CBC模式进行加密 用ID U 表示用户U的某些识别信息 使用Kerboros协议传输一个会话密钥的过程可描述如下 用户U为了和用户V通信 他向可信中心要一个会话密钥 可信中心随机选择一个会话密钥K 一个时戳T和一个生存期L 2020 4 1 24 可信中心计算m1 EKU K ID V T L 和m2 EKV K ID U T L 并将m1和m2发给U 用户U首先解密m1获得K ID V T和L 然后计算m3 EK ID U T 并将m3和可信中心发送来的m2一起发给V 用户V首先解密m2获得K ID U T和L 然后适用K解密m3获得T和ID U 并检测T的两个值和ID U 的两个值是否一样 如果是一样的 那么V计算m4 EK T 1 并将m4发送给U U使用K解密m4获得T 1并验证解密结果是T 1 2020 4 1 25 传输在协议中的信息流程图为 2020 4 1 26 Kerboros协议的缺点 网络中的所有用户都是同步时钟 因为目前目前的时间被用来确定是否一个给定的会话密钥K是合法的 Kerboros的口令没有进行额外的特殊处理 使用穷举攻击法的时间复杂性仅和口令长度成比例 Kerboros认证中心要求保存大量的共享私钥 无论管理还是更新都有很大的困难 需要特别细致的安全保护措施 将付出极大的系统代价 三 秘密共享和密钥托管 2020 4 1 28 秘密共享 在导弹控制发射 重要场所通行检验等情况下 通常必须由两人或多人同时参加才能生效 这时都需要将秘密分给多人掌管 并且必须有一定人数的掌管秘密的人同时到场才能恢复这一秘密 由此 引入门限方案的一般概念 2020 4 1 29 定义 设秘密s被分成n个部分信息 每一部分信息称为一个子密钥或影子 由一个参与者持有 使得 1 由k个或多于k个参与者所持有的部分信息可重构s 2 由少于k个参与者所持有的部分信息则无法重构s 则称这种方案为 k n 秘密共享门限方案 k称为方案的门限值 2020 4 1 30 Shamir门限方案 基于多项式Lagrange插值公式 设 x1 y1 xk yk 是平面上k个点构成的点集 其中xi i 1 k 各不相同 那么在平面上存在唯一的k 1次多项式f x 通过这k个点 若把秘密s取做f 0 n个shadow取做f xi i 1 n 那么利用其中任意k个shadow可以重构f x 从而可以得到秘密s 2020 4 1 31 Shamir门限方案 有限域GF q q为大素数 q n 1 秘密s是GF q 0 上均匀选取的随机数 表示为s RGF q 0 k 1个系数a1 a2 ak 1选取ai RGF q 0 在GF q 上构造一个k 1次多项式f x a0 a1x ak 1xk 1N个参与者P1 Pn Pi的Shadow为f i 任意k个参与者得到秘密 可使用 il f il l 1 k 构造方程组 2020 4 1 32 Shamir门限方案 由Lagrange插值公式 2020 4 1 33 Shamir门限方案 如果k 1个参与者想获得s 可构造k 1个方程 有k个未知量 对任一s0 设f 0 s0 这样可以得到第k个方程 得到f x 对每个s0都有唯一的多项式满足 所有由k 1个shadow得不到任何s的信息 因此此方案是完善的 2020 4 1 34 Shamir门限方案 例k 3 n 5 q 19 s 11 随机选a1 2 a2 7f x 7x2 2x 11mod19 计算f 1 1 f 2 5 f 3 4 f 4 17 f 5 6已知f 2 f 3 f 5 重构 2020 4 1 35 Asmuth Bloom门限方案 首先选取大素数q 正整数s 秘密数据 以及n个严格递增的m1 m2 mn 满足q s mi mj 1 对所有i j q mi 1 对所有i 选随机的A 满足0 A N q 1 公布q和A N q大于任取的k 1和不同的mi的乘积 2020 4 1 36 Asmuth Bloom门限方案 如果仅有k 1个参与者 只能求得y ymodN 而N 91 7 13 qm3在 0 99 7 1 0 13 中随机取A 10 求y s Aq 4 10 7 74 y1 ymodm1 2y2 ymodm2 8y3 ymodm3 9 9 2 11 8 13 9 构成 2 3 门限方案 2020 4 1 37 Asmuth Bloom门限方案 若已知 9 2 11 8 可建立方程组解得y 11 5 2 9 5 8 mod99 74S y Aq 74 10 7 4 2020 4 1 38 密钥托管 也称托管加密 其目的在于保证个人没有绝对的银丝和绝对不可跟踪的匿名性 实现手段是把已加密的数据和数据恢复密钥联系起来 由数据恢复密钥可以得到解密密钥 由所信任的委托人持有 提供了一个备用的解密途径 不仅对政府有用 也对用户自己有用 2020 4 1 39 美国托管加密标准 1993年4月提出托管加密标准EES Escrowedencryptionstandard 提供强加密功能 同时也提供政府机构在法律授权下监听功能 通过防窜扰Clipper芯片来实现 包含两个特性Skipjack算法 实现强加密法律实施存取域LEAF 实现法律授权下解密 2020 4 1 40 Skipjack算法 单钥分组加密算法 密钥长80比特 输入输出分组长度64Bit4种工作模式ECB模式CBC模式64bitOFB模式1 8 16 32 64比特CFB模式 2020 4 1 41 托管加密芯片 Skipjack算法80比特族密钥KF Familykey 同一批芯片的族密钥都相同芯片单元识别符UID80bit的芯片单元密钥KU uniquekey 由两个80bit密钥分量异或得到控制软件被固化在芯片上 2020 4 1 42 托管加密芯片的编程过程 2020 4 1 43 托管加密芯片加密过程 2020 4 1 44 通信和法律实施存取过程 2020 4 1 45 密钥托管密码体制的组成成分 用户安全成分 USC 密钥托管成分 KEC 数据恢复成分 DRC 四 公钥基础设施PKI 2020 4 1 47 公钥基础设施是指结合公钥密码体制建立的提供信息安全服务的基础设施 PKI并不是简单的一种技术 而是一种安全体系和框架 该体系在统一的安全认证标准和规范基础上提供在线身份认证 集成了CA认证 数字证书 数字签名等功能 2020 4 1 48 数字证书 数字证书是各实体或最终用户在网上进行信息交流及商务活动的身份证明 在电子交易的各个环节 交易各方都需要验证其他参与各方的数字证书的有效性 从而解决相互间的信任问题 数字证书的格式一般应遵循X 509版本公布于1988年 版本3的建议稿于1994年发布 并于1995年获得批准 2020 4 1 49 PKI的组成 认证机构 CertificateAuthority CA 是PKI的核心机构 主要责任是 验证并标识证书申请者的身份 确保用于签名证书的非对称密钥的安全性 管理证书信息资料 发布和维护作废证书列表 CRL 证书和证书库 数字证书是网上实体身份的证明 应由具备权威性 可信任性和公正性的第三方机构签发 证书库是CA颁发证书和撤销证书的集中存放地 密钥备份及恢复 密钥和证书的更新 证书历史档案 记录整个密钥历史是非常重要的 2020 4 1 50 客户端软件 为方便客户操作 客户应安装客户端软件 以支持数字签名 建米传输数据等功能 交叉认证 是指在多个PKI域之间实现互操作 主要方法 桥接CA 将多个CA的根CA RCA 互相签发根证书 证书由某个可信的证书发放机构 CA 建立 并由CA或用户自己将其放入公共目录中 以供其他用户访问 目前 X 509标准已在编排公共密钥格式方面被广泛接受 并用于许多网络安全应用程序 其中包括IPSec SSL 安全电子交易 SET S MIME等等 2020 4 1 51 X 509认证业务 X 509定义了X 500目录向用户提供认证业务的一个框架 目录的作用是存放用户的公钥证书 X 509还定义了基于公钥证书的认证协议 由于X 509中定义的证书结构和认证协议已被广泛应用于S MIME IPSec SSL TLS以及SET等诸多应用过程 因此X 509已成为一个重要的标准 X 509的基础是公钥密码体制和数字签字 但其中未特别指明使用哪种密码体制 建议使用RSA 也未特别指明数字签字中使用哪种杂凑函数 2020 4 1 52 在X 509中 数字证书的数据域包括 版本号 如v3 序列号 由同一发行者 CA 发放的每个证书的序列号是唯一的 签名算法识别符 签署证书所用的算法及相应的参数 发行者名称 指建立和签署证书的CA名称 有效期 包括证书有效期的起始时间和终止时间 主体名称 指证书所属用户的名称 及这一证书用来证明私钥用户所对应的公开密钥 2020 4 1 53 在X 509中 数字证书的数据域包括 续 主体的公开密钥信息 包括主体的公开密钥 使用这一公开密钥算法的标示符及相应的参数 发行者唯一识别符 这一数据项是可选的 当CA名称被重新用于其它实体时 则用这一识别符来唯一的识别发行者 主体唯一识别符 这一数据项是可选的 当主体的名称被重新用于其它实体时 则用这一识别符来唯一的识别主体 扩展域 其中包括一个或多个扩展的数据项 仅在第3版中使用 签名 CA用自己的私钥对上述域的哈希值进行数字签名的结果 2020 4 1 54 X 509的证书格式 2020 4 1 55 如果所有用户都由同一CA为自己签署证书 则这一CA就必须取得所有用户的信任 用户证书除了能放在目录中以供他人访问外 还可以由用户直接发给其他用户 如果用户数量极多 则仅一个CA负责为用户签署证书是不现实的 因为每一用户都必须以绝对安全的方式得到CA的公开密钥 以验证CA签署的证书 因此在用户数目极多的情况下 应有多个CA 每一CA仅为一部分用户签署证书 2020 4 1 56 X 509证书的获取 CA为用户产生的证书应有以下特征 其他任一用户只要得到CA的公开密钥 就能由此得到CA为该用户签署的公开密钥 除CA以外 任何其他人都不能以不被察觉的方式修改证书的内容 2020 4 1 57 X 509证书的获取 续1 设用户A已从证书发放机构X1处获取了公钥证书 用户B已从X2处获取了证书 如果A不知X2的公开密钥 他虽然能读取B的证书 但却无法验证X2的签字 因此B的证书对A来说是没有用的 然而 如果两个CAX1和X2彼此间已经安全地交换了公开密钥 则A可通过以下过程获取B的公开秘钥 A从目录中获取X1签署的X2的证书 因A知道X1的公开密钥 所以能验证X2的证书 并从中得到X2的公开密钥 A再从目录中获取由X2签署的B的证书 并由X2的公开密钥对此验证 然后从中得到B的公开密钥 2020 4 1 58 以上过程中 A是通过一个证书链来获取B的公开密钥 证书链可表示为 X1 X2 X2 B 类似的 B能通过相反的证书链获取A的公开密钥 X2 X1 X1 A N个证书的证书链可表示为 X1 X2 X2 X3 XN B 2020 4 1 59 X 509证书的获取 续2 X 509建议将所有CA以层次结构组织起来 右图是X 509的CA层次结构的一个例子 其中的内部节点表示CA 叶节点表示用户 用户A可从目录中得到相应的证书以建立到B的证书链 X W W V V Y Y Z Z B 并通过该证书链获取B的公开密钥 2020 4 1 60 X 509证书吊销列表 2020 4 1 61 X 509的认证过程 X 509有3种认证过程以适应不同的应用环境 单向认证 双向认证 三向认证 2020 4 1 62 PKI中的信任模型 建立一个管理全世界所有用户的全球性PKI是不现实的 比较可行的办法是各个国家都建立自己的PKI 一个国家之内在分别建立不同行业或不同地区的PKI 为了实现跨地区 跨行业 甚至跨国际的安全电子业务 这些不同的PKI之间的互联互通和相互信任是不可避免的 证书用户 证书主体 各个CA之间的证书认证关系系称为PKI的信任模型 已经提出的模型有树 层次 模型 森林模型等多种信任模型 2020 4 1 63 树 层次 模型 树 层次 模型是PKI的一种简单的信任模型 它比较适合具有层次结构的机构 如军队 垂直性行业 学校等 在树 层次 模型中 多个CA和最终用户构成一颗树 其中最高级的一个CA为根 称为根CA 根CA是树型信任模型中的信任根源 其他CA根据其在树中的位置不同 而分别被称为中间CA和底层CA 证书的持证人 最终用户 为树的叶子 所有的CA和最终用户都遵循共同的行动准则 2020 4 1 64 一种简单的树 层次 模型 2020 4 1 65 森林层次模型 在树形信任模型中 所有的CA和最终用户都遵循共同的行动准则 这对于具有层次结构的机构是可行的 但是 对于社会而言 要建立一个包容各行各业的树形 模型PKI是不现实的 于是出现了由多棵树组成的森林 模型 对于森林模型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论