版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 密码学应用l 密钥的生命周期及密钥管理的概念l对称密钥体制、公钥体制的密钥管理方法l 消息认证的原理和方法l PKI的原理l 数字证书的应用l PGP的原理及使用4.1 密钥管理4.1.1密钥产生及管理概述 一个密钥在生存期内一般要经历以下几个阶段:l 密钥的产生l 密钥的分配l 启用密钥/停有密钥l 替换密钥或更新密钥l 撤销密钥 销毁密钥 4.1.2 对称密码体制的密钥管理(1)密钥分配中心KDCKDC与每一个用户之间共享一个不同的永久密钥,当两个用户A和B要进行通信时,由KDC产生一个双方会话使用的密钥K,并分别用两个用户的永久密钥KA、KB来加密会话密钥发给他们,即将KA(K)
2、发给A,KB(K)发给B;A、B接收到加密的会话密钥后,将之解密得到K,然后用K来加密通信数据。 (2)基于公钥体制的密钥分配假设通信双方为A和B。使用么钥体制交换对称密钥的过程是这样的:首先A通过一定的途径获得B的公钥;然后A随机产生一个对称密钥K,并用B的公钥加密对称密钥K发送给B;B接收到加密的密钥后,用自己的私钥解密得到密钥K。在这个对称密钥的分配过程中,不再需要在线的密钥分配中心,也节省了大量的通信开销。 4.1.3 公开密钥体制的密钥管理 主要有两种公钥管理模式,一种采用证书的方式,另一种是PGP采用的分布式密钥管理模式。(1)公钥证书公钥证书是由一个可信的人或机构签发的,它包括证
3、书持有人的身份标识、公钥等信息,并由证书颁发者对证书签字。 (2)分布式密钥管理在某些情况下,集中的密钥管理方式是不可能的,比如:没有通信双方都信任的CA。用于PGP的分布式密钥管理,采用了通过介绍人(introducer)的密钥转介方式 (1)使用对称密钥体制产生消息认证码发送者把消息m分成若干个分组(m1,m2.mi),利用分组密密码算法来产生MAC,其过程如图4-3所示。图4-3 利用分组密码产生MAC的过程4.2.2 单向散列函数单向散列函数(one-way hash function),也叫压缩函数、收缩函数,它是现代密码学的中心,是许多协议的另一个结构模块。散列函数长期以来一直在计
4、算机科学中使用,散列函数是把可变长度的输入串(叫做预映射,pre-image)转换成固定长度的输出串(叫做散列值)的一种函数单向散列函数是在一个方向上工作的散列函数,即从预映射的值很容易计算出散列值,但要从一个特定的散列值得出预映射的值则非常难。 4.2.3 消息摘要算法MD5 MD5以512bit的分组来处理输入文本,每一分组又划分为16个32bit的子分组。算法的输出由4个32bit分组组成,将它们级联形成一个128bit的散列值。首先填充消息使用其长度恰好为一个比512的倍数仅小64bit的数。填充方法是在消息后面附一个1,然后填充上所需要的位数的0,然后在最后的64位上附上填充前消息的
5、长度值。这样填充后,可使消息的长度恰好为512的整数倍,且保证不同消息在填充后不相同。首先要对四个32bit的变量进行初始化,这四个变量称为链接变量(chaining variable)。A=0 x01234567B=0 x89abcdefC=0 xfedcba98D=0 x76543210MD5一次循环过程 2、 数字签名的实现方法 (1)使用对称加密和仲裁者实现数字签名 (2)使用公开密钥体制进行数字签名公开密钥体制的发明,使数字签名变得更简单,它不再需要第三方去签名和验证。签名的实现过程如下:A用他的私人密钥加密消息,从而对文件签名;A将签名的消息发送给B;B用A的公开密钥解消息,从而验
6、证签名; (4)加入时间标记的签名(5)多重签名(6)盲签名 4.3 Kerberos认证交换协议4.3.1 Kerberos模型的工作原理和步骤 (1)客户请求Kerberos认证服务器AS发给接入TGS的门票。ClientAS的消息:c,tgs(2)Kerberos在其数据库中查找客户实体,产生会话密钥Kc,tgs,使用Kc对之加密,生成允许客户使用的TGS的票据Tc,tgs(Tc,tgs中包括:客户实体名、地址、TGS名、时间印记、时限、会话密钥Kc,tgs等),并用Kerberos与TGS之间的秘密密钥加密,然后把两个加密消息发给客户。ASClient的消息:Kc,tgsKc,Tc,t
7、gsKtgs(3)客户用自己的秘密密钥解密消息得到会话密钥Kc,tgs,然后生成一个认证单Ac,s(Ac,s中包括客户实体名、地址、时间标记),并使用Kc,tgs加密,然后向TGS发出请求,申请接入应用服务器的门票。ClientTGS的消息:Ac,sKc,tgs,Tc,tgsKtgs(4)TGS对Tc,tgs消息解密获得Kc,tgs,用Kc,tgs对加密的认证单解密获得Ac,s,并与Tc,tgs中的数据进行比较,然后由TGS产生客户和服务器之间使用的会话密钥Kc,s,并将Kc,s加入到客户向该服务器提交的Ac,s中,生成门票Tc,s,然后用目标服务器的秘密密钥Ks将此门票加密。TGSClien
8、t的消息:Kc,sKc,tgs,Tc,sKs(5)客户对消息解密获得Kc,s,客户制作一个新的认证单Ac,s,并用Kc,s加密与Tc,sKs一起发给目标服务器;服务器对Tc,sKs解密获得Kc,s,利用Kc,s对Ac,sKc,s解密获得Ac,s,将Ac,s与Tc,s的内容比较,如果无误,则服务器知道客户真实的身份,决定是否与之进行通信。ClientServer的消息:Ac,sKc,s,Tc,sKs如果客户需要对服务器的身份进行确认,也可以使用同样的方法。4.3.2 Kerberos的优势与缺陷Kerberos为网络中的所有实体提供了一个集中的、统一的认证管理机制,而一般的认证协议(如SSL)仅
9、局限于客户与服务器两者之间的交换过程;运用Kerbeross票据的概念,使一次性签放的机制得以实现,每张票据中都有一个时限,典型的为8小时,在时限到来之前,用户可以使用该票据多次连接使用应用服务器;Kerberos认证服务器与TGS产生的会话密钥Kc,tgs和Kcs保证了客户与TGS和Server之间消息传输的安全性;支持分布环境下的认证服务;支持双向的身份认证服务。Kerberos仍存在着几个潜在的安全弱点。旧的鉴别码可能被存储和重用,尽管时间标记可以防止这种攻击,但在票据有效期内仍可能发生重用,并且鉴别码是基于网络中所有时钟同步的事实,如果能欺骗主机,使之时间发生错误,那么旧的鉴别码就会很
10、容易地实现重放。另外Kerberos基于对称密码体系,因而在认证服务器AS和门票分配服务器TGS上都要存放大量的秘密密钥,而密钥的管理一直是对称密码学中一个比较棘手的问题,如果密钥管理不善,攻击者获得一个客户的秘密密钥后就可以假冒该客户的身份申请票据,从而导致整个认证的无效。并且使用对称加密算法,仅能保证数据的安全性,而无法保证数据的完整性,这是该协议一个主要的弱点。认证机关(CA):CA是一个基于服务器的应用,是PKI的核心组成部分,是数字证书的申请及签发机关。CA从一个目录(directory)获取证书和公钥并将之发给认证过身份的申请者。在PKI框架中,CA扮演着一个可信的证书颁发者的角色
11、,CA必须具备权威性;用户相信CA的行为和能力对于保障整个系统的安全性和可靠性是值行信赖的。数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥。PKI系统对密钥、证书及废止证书列表的存储和管理,使用了一个基于LDAP协议的目录服务。与已注册证书的人进行安全通信,任何人都可以从该目录服务器获取注册者的公钥。密钥备份及恢复系统:如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况的,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不
12、能够作备份。证书作废系统:证书作废处理系统是PKI的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。应用接口:PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。(3)证书撤销证书持有者可以向CA申请撤销证书。CA通过认证核实,即可履行撤销证书职责,通知有关组织和个人,并写入CRL。有些人(如证书持有者的上级)也可申请撤销证书
13、持有者的证书。(4)证书和CRL的公布CA通过LDAP(Lightweight Directory Access Protocol)服务器维护用户证书和证书撤销列表(CRL)。它向用户提供目录浏览服务,负责将新签发的证书或废止的证书加入到LDAP服务器上。这样用户通过访问LDAP服务器就能够得到他人的数字证书或能够访问CRL。(5)证书状态的在线查询通常CRL发布为一日一次,CRL的状态同当前证书状态有一定的滞后。证书状态的在线查询通过向OCSP(Online Certificate Status Protocol)服务器发送OCSP查询包实现,包中含有待验证证书的序列号、验证时间戳。OCSP
14、服务器返回证书的当前状态并对返回结果加以签名。在线证书状态查询比CRL更具有时效性。CA对证书进行有效性和真实性的认证,在多个CA的系统中,由特定CA发放证书的所有用户组成一个域。 同一域中的用户可以直接进行证书交换和认证,不同域的用户的公钥安全认证和递送。需要通过建立一个可信赖的证书链或证书通路实现。如图4-8为一个简单的证书链。若用户U1与用户U2进行安全通信,只需要涉及三个证书(U1、U2、CA1的证书),若U1与U3进行安全通信,则需要涉及五个证书(U1、CA1、PCA、CA3、U3)。(6)证书认证(7)制定政策CA私钥的保护:CA签发证书所用的私钥要受到严格的保护,不能被毁坏,也不
15、能非法使用。 CRL的更新频率:CA的管理员可以设定一个时间间隔,系统会按时更新CRL。通知服务:对于用户的申请和证书过期、废除等有关事宜的回复。保护CA服务器:必须采取必要的措施以保证CA服务器的安全。您必须保证该主机不被任何人直接访问,当然CA使用的http服务端口除外。审计与日志检查:为了安全起见,CA对一些重要的操作应记入系统日志。 4.4.3 PKI的体系结构、1、 单个CA的PKI结构单个CA的PKI结构中,只有一个CA,它是PKI中的所有用户的信任点,为所有用户提供PKI服务。在这个结构中,所有用户都能通过该CA实现相互之间的认证。单个CA的PKI结构简单,容易实现;但对于具有大
16、量的、不同群体用户的组织不太适应,其扩展性较差。2、分层结构的PKI一个以主从CA关系建立的PKI称为分层结构的PKI。在这种结构中,所有的用户都信任最高层的要CA,上一层CA向下一层CA发放公钥证书。若一个持有由特定CA发证的公钥用户要与由另一个CA发放公钥证书的用户进行安全通信,需解决跨域的认证问题,这一认证过程在于建立一个从根出发的可信赖的证书链。 3、网络结构的PKI系统以对等的CA关系建立的交叉认证扩展了CA域之间的第三方信任关系,这样的PKI系统称为网状结构的PKI。交叉认证包括两个操作:一个操作是两个域之间信任关系的建立,这通常是一个一次性操作。在双边交叉认证的情况下,每个CA签
17、发一张“交叉证书”;第二个操作由客户端软件来完成,这个操作就是验证由已经交叉认证的CA签发的用户证书的可信赖性,是一个经常性执行的操作。 CA1和CA2通过互相颁发证书,来实现两个信任域内网络用户的相互认证。如果User1要验证User2证书的合法性,则首先要验证CA2对User2证书的签名,那它就要取得CA2的证书以获得CA2的公钥,因为User1信任CA1,则它信任由CA1给CA2颁发的证书,通过该证书,User1信任User2的证书。即形成一条信任路径:User1CA1CA2User2.4.5 数字证书4.5.1 数字证书的类型及格式人证书中包含证书持有者的个人身份信息、公钥及CA的签名
18、,在网络通讯中标识证书持有者的个人身份,可用于网上购物、网上证券、网上金融、网上拍卖、网上保险等多种应用系统。目前,个人证书主要以软盘为存储介质。 Web服务器证书是Web Server与用户浏览器之间建立安全连接时所使用的数字证书。Web Server申请了证书并装载成功,进行相关的配置后,即可与用户浏览器建立安全连接。可以要求浏览器客户端拥有数字证书,建立通信时Web Server和浏览器交换证书,验证对方身份后建立安全连接通道。代码签名证书是CA中心签发给软件开发者的数字证书,包含证书持有者的身份信息、公钥及CA 的签名。软件开发者使用代码签名证书对软件进行签名 .企业证书中包含企业身份
19、信息、公钥及CA的签名,在网络通讯中标识证书持有企业的身份,可用于网上税务申报、网上办公系统、网上招标投标、拍买拍卖、网上签约等多种应用系统。 2、证书的格式VersionSerial numberAlgorithm ID & ParametersIssuer nameValidity periodSubject nameSubject public key & algorithm4.5.3 证书的验证证书的验证,是验证一个证书的有效性、完整性、可用性的过程。证书验证主要包括以下几方面的内容:l验证证书签名的是否正确有效,这需要知道签发证书的CA的真正公钥,有时可能要涉及证书路径的处理。l验证
20、证书的完整性,即验证CA签名的证书散列值与单独计算出的散列值是否一致。l验证证书是否在有效期内l查看证书撤销列表,验证证书没有被撤销。l l 验证证书的使用方式与任何声明的策略和使用限制一致。 4.6 PGPPGP最初是由菲利浦.齐默尔曼(Philip.Zimmermann)开始编写的、用于保护电子通信隐私的加密软件。PGP也使用了RSA公开密钥加密算法,它的第一版在1991年完成。随后Zimmermann把它送给了一位朋友。这位朋友把PGP在国际互联网上公布出来。短短的几天之内,PGP系统就被世界各地的文件传输服务器相继拷贝,传播开去。 PGP软件有3个主要的功能:(1)使用强大的IDEA加
21、密算法对存储在计算机上的文件加密。经加密的文件只能由知道密钥的人解密阅读。(2)使用公开密钥加密技术对电子邮件进行加密。经加密的电子邮件只有收件人本人才能解密阅读。(3)使用公开密钥加密技术对文件或电子邮件作数字签名,鉴定人可以用起草人的公开密钥鉴别真伪。4.6.2 PGP的密钥管理PGP使用了4种类型的密钥:一次性会话对称密钥、公钥、私钥和基于口令短语的对称密钥 (1)产生会话密钥使用CAST-128本身来产生随机的128-bit数字。将128-bit的密钥和两个做为明文的64-bit块作为输入,CAST-128用密码反馈模式加密这两个64-bit块,并将密文块连接起来形成128-bit的会话密钥。两个做为明文输入到随机数发生器的64-bit块来自于128-bit的随机数据流。这个随机数据流的产生是以用户的击键为基础的,击键时间和健值用于产生随机数据流。 (2)密钥标识符在P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级下学期班主任工作计划参考
- 初中数学教学措施5篇
- 4月疫情防控工作总结范文
- 2024年度高级人才招聘猎头合作协议版B版
- 2024-2025学年上学期12月质量监测九年化学试卷
- 心灵航标:带你感悟延安精神(延安职业技术学院)知到智慧树答案
- DB31-T 1324-2021 基于用户感知的5G网络质量测试方法
- 关于销售-张开嘴迈开腿
- 项目管理-合格供方名单
- XX系统验收计划-Vx.y
- 智能化系统介绍
- 矿山工程监理质量评估报告(共15页)
- 张店三中关爱困境儿童工作实施方案
- 公司冬季“六防”工作方案
- 《20211国标给排水专业图集资料》04S531-4 湿陷性黄土地区给水阀门井
- 文件传阅记录表
- 石材幕墙施工技术及工艺规范
- 碳酸丙烯脂吸收二氧化碳
- 关于《公交都市考核评价指标体系》的说明
- 机械零件测绘
- 护理质量持续改进记录.doc
评论
0/150
提交评论