欢迎来到天天文库
浏览记录
ID:40336583
大小:523.00 KB
页数:46页
时间:2019-07-31
《网络安全原理与应用(第二版)戚文静 第4章 密码学应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章密码学应用l密钥的生命周期及密钥管理的概念l对称密钥体制、公钥体制的密钥管理方法l消息认证的原理和方法lPKI的原理l数字证书的应用lPGP的原理及使用4.1密钥管理4.1.1密钥产生及管理概述一个密钥在生存期内一般要经历以下几个阶段:l密钥的产生l密钥的分配l启用密钥/停有密钥l替换密钥或更新密钥l撤销密钥销毁密钥4.1.2对称密码体制的密钥管理(1)密钥分配中心KDCKDC与每一个用户之间共享一个不同的永久密钥,当两个用户A和B要进行通信时,由KDC产生一个双方会话使用的密钥K,并分别用两个用户的永久密钥KA、KB来加密会话密钥发给他
2、们,即将KA(K)发给A,KB(K)发给B;A、B接收到加密的会话密钥后,将之解密得到K,然后用K来加密通信数据。(2)基于公钥体制的密钥分配假设通信双方为A和B。使用么钥体制交换对称密钥的过程是这样的:首先A通过一定的途径获得B的公钥;然后A随机产生一个对称密钥K,并用B的公钥加密对称密钥K发送给B;B接收到加密的密钥后,用自己的私钥解密得到密钥K。在这个对称密钥的分配过程中,不再需要在线的密钥分配中心,也节省了大量的通信开销。4.1.3公开密钥体制的密钥管理主要有两种公钥管理模式,一种采用证书的方式,另一种是PGP采用的分布式密钥管理模式。
3、(1)公钥证书公钥证书是由一个可信的人或机构签发的,它包括证书持有人的身份标识、公钥等信息,并由证书颁发者对证书签字。(2)分布式密钥管理在某些情况下,集中的密钥管理方式是不可能的,比如:没有通信双方都信任的CA。用于PGP的分布式密钥管理,采用了通过介绍人(introducer)的密钥转介方式4.2消息认证4.2.1数据完整性验证消息的发送者用要发送的消息和一定的算法生成一个附件,并将附件与消息一起发送出去;消息的接收者收到消息和附件后,用同样的算法与接收到的消息生成一个新的附件;把新的附件与接收到的附件相比较,如果相同,则说明收到的消息是正
4、确的,否则说明消息在传送中出现了错误。(1)使用对称密钥体制产生消息认证码发送者把消息m分成若干个分组(m1,m2…..mi),利用分组密密码算法来产生MAC,其过程如图4-3所示。图4-3利用分组密码产生MAC的过程(2)使用散列函数来产生消息认证码散列函数可以将任意长度的输入串转化成固定长度的输出串,将定长的输出串来做消息的认证码。4.2.2单向散列函数单向散列函数(one-wayhashfunction),也叫压缩函数、收缩函数,它是现代密码学的中心,是许多协议的另一个结构模块。散列函数长期以来一直在计算机科学中使用,散列函数是把可变长度
5、的输入串(叫做预映射,pre-image)转换成固定长度的输出串(叫做散列值)的一种函数单向散列函数是在一个方向上工作的散列函数,即从预映射的值很容易计算出散列值,但要从一个特定的散列值得出预映射的值则非常难。4.2.3消息摘要算法MD5MD5以512bit的分组来处理输入文本,每一分组又划分为16个32bit的子分组。算法的输出由4个32bit分组组成,将它们级联形成一个128bit的散列值。首先填充消息使用其长度恰好为一个比512的倍数仅小64bit的数。填充方法是在消息后面附一个1,然后填充上所需要的位数的0,然后在最后的64位上附上填充
6、前消息的长度值。这样填充后,可使消息的长度恰好为512的整数倍,且保证不同消息在填充后不相同。首先要对四个32bit的变量进行初始化,这四个变量称为链接变量(chainingvariable)。A=0x01234567B=0x89abcdefC=0xfedcba98D=0x76543210MD5一次循环过程4.2.4数字签名数字签名实际上是附加在数据单元上的一些数据或是对数据单元所作的密码变换,这种数据或变换能使数据单元的接收者确认数据单元的来源和数据的完整性,并保护数据,防止被人(如接收者)伪造。签名机制的本质特征是该签名只有通过签名者的私有
7、信息才能产生,也就是说,一个签名者的签名只能唯一地由他自己产生。当收发双方发生争议时,第三方(仲裁机构)就能够根据消息上的数字签名来裁定这条消息是否确实由发送方发出,从而实现抗抵赖服务。另外,数字签名应是所发送数据的函数,即签名与消息相关,从而防止数字签名的伪造和重用。2、数字签名的实现方法(1)使用对称加密和仲裁者实现数字签名(2)使用公开密钥体制进行数字签名公开密钥体制的发明,使数字签名变得更简单,它不再需要第三方去签名和验证。签名的实现过程如下:A用他的私人密钥加密消息,从而对文件签名;A将签名的消息发送给B;B用A的公开密钥解消息,从而
8、验证签名;(3)使用公开密钥体制与单向散列函数进行数字签名利用单向散列函数,产生消息的指纹,用公开密钥算法对指纹加密,形成数字签名。过程如图4-6所示
此文档下载收益归作者所有