1、7:03:19 密码系统的安全性包括两个方面,一方面是系统本密码系统的安全性包括两个方面,一方面是系统本身的安全性,即系统抗密码分析的安全性;另一方面是身的安全性,即系统抗密码分析的安全性;另一方面是系统中秘密密钥的安全性,即秘密密钥保管的安全性。系统中秘密密钥的安全性,即秘密密钥保管的安全性。密码系统本身的安全性依赖于系统中基于的困难问题密码系统本身的安全性依赖于系统中基于的困难问题(因子分解、离散对数、二次剩余等)或者复杂的算法(因子分解、离散对数、二次剩余等)或者复杂的算法结构。结构。 7:03:20本章内容提要本章内容提要: :l 密钥管理密钥管理技术概述技术概述l 密钥的分类密钥的分
2、类 l 密钥的协商与分发技术密钥的协商与分发技术 l 公钥基础设施公钥基础设施PKIl 密钥管理技术应用密钥管理技术应用 l 密码管理技术发展趋势密码管理技术发展趋势7:03:203.1 3.1 密钥管理技术概述密钥管理技术概述 密钥管理就是管理密钥从产生到销毁的密钥管理就是管理密钥从产生到销毁的过程,包括密钥的产生、存储、分配、保护、过程,包括密钥的产生、存储、分配、保护、更新、吊销和销毁等。在这一系列的过程中,更新、吊销和销毁等。在这一系列的过程中,都存在安全隐患威胁系统的密钥安全。都存在安全隐患威胁系统的密钥安全。7:03:20保证密钥的安全基础保证密钥的安全基础 限制一个密钥的使用时间
3、限制一个密钥的使用时间 密钥长度密钥长度 7:03:203.2 3.2 密钥的分类密钥的分类 为了在网络应用中保证密钥的安全,需为了在网络应用中保证密钥的安全,需要有不同种类的密钥在一个保密系统中分别要有不同种类的密钥在一个保密系统中分别起不同的作用。例如,用会话密钥对通信的起不同的作用。例如,用会话密钥对通信的数据信息进行加密,而用密钥加密密钥对会数据信息进行加密,而用密钥加密密钥对会话密钥进行加密保护。话密钥进行加密保护。7:03:20保证密钥的安全基础保证密钥的安全基础 限制一个密钥的使用时间限制一个密钥的使用时间 密钥长度密钥长度 7:03:21 从密码体制的不同上进行分类,密钥包括从
4、密码体制的不同上进行分类,密钥包括对称密钥对称密钥和和非对非对称密钥称密钥。 密钥从作用上可以分为以下三种密钥从作用上可以分为以下三种 l 会话密钥会话密钥 l 密钥加密密钥密钥加密密钥l 主密钥主密钥 会话密钥是指在通信或会话密钥是指在通信或者数据交换中,用来对者数据交换中,用来对用户数据进行加密操作用户数据进行加密操作的密钥。会话密钥往往的密钥。会话密钥往往是仅对当前一次会话有是仅对当前一次会话有效或在一个短时期内有效或在一个短时期内有效。效。 密钥加密密钥是指,密钥加密密钥是指,用于对密钥(会话密用于对密钥(会话密钥)进行加密操作的钥)进行加密操作的密钥,即用于加密用密钥,即用于加密用户
5、数据的会话密钥。户数据的会话密钥。 主密钥是在一对用户之主密钥是在一对用户之间的长期共享的秘密密间的长期共享的秘密密钥,它往往作为生成会钥,它往往作为生成会话密钥或密钥加密密钥话密钥或密钥加密密钥的种子,实现这些密钥的种子,实现这些密钥的分发和安全保护。的分发和安全保护。 7:03:21层次化密钥的优点层次化密钥的优点 密码系统的安全性密码系统的安全性 密钥的生成和管理密钥的生成和管理 7:03:213.3 3.3 密钥的协商与分发技术密钥的协商与分发技术 典型的密钥分发方案有两类:集中式分典型的密钥分发方案有两类:集中式分配方案和分布式分配方案。所谓集中式分配配方案和分布式分配方案。所谓集中
6、式分配方案是指利用网络中的方案是指利用网络中的“密钥管理中心密钥管理中心”来来集中管理系统中的密钥,集中管理系统中的密钥,“密钥管理中心密钥管理中心”接收系统中用户的请求,为用户提供安全分接收系统中用户的请求,为用户提供安全分配密钥的服务。分布式分配方案则是由通信配密钥的服务。分布式分配方案则是由通信方自己协商完成会话密钥的共享工程,不受方自己协商完成会话密钥的共享工程,不受任何其他方面的限制。任何其他方面的限制。7:03:213.3 3.3 密钥的协商与分发技术密钥的协商与分发技术 7:03:21 所谓所谓密钥协商密钥协商是指需要保密通信的双方通过公开信是指需要保密通信的双方通过公开信道的通
7、信来达成一个共享的秘密密钥的过程。道的通信来达成一个共享的秘密密钥的过程。 Diffie-HellmanDiffie-Hellman密钥交换协议过程密钥交换协议过程 l 通信方通信方A A选择一个大的随机数选择一个大的随机数x x,使得,使得00 x xp p-1-1,计算,计算R R1 1= =gxgx mod mod p p,并将,并将R R1 1发送给通信方发送给通信方B B。l 通信方通信方B B选择另一个大的随机数选择另一个大的随机数y y,使得,使得00y yp p-1-1,计算,计算R R2 2= =gygy mod mod p p,并将,并将R R2 2发送给通信方发送给通信方
8、A A。l A A在收到在收到R R2 2后,计算后,计算K K=(=(R R2 2) )x xmod mod p p。l B B在收到在收到R R1 1后,计算后,计算K K=(=(R R1 1) )y ymod mod p p。Diffie-HellmanDiffie-Hellman协议过程协议过程如图所示如图所示。7:03:21Diffie-HellmanDiffie-Hellman密钥密钥交换协议的安全交换协议的安全离散对数攻击离散对数攻击 中间人攻击中间人攻击 Diffie-HellmanDiffie-Hellman协议的中间人攻击协议的中间人攻击如图所示如图所示 7:03:22 中
9、间人攻击之所以能够奏效,究其原因在于协议设计中并中间人攻击之所以能够奏效,究其原因在于协议设计中并没有对于来自于另一方的消息进行认证,即通信方没有对于来自于另一方的消息进行认证,即通信方A A和和B B之间没之间没有确认消息确实来自于对方。有确认消息确实来自于对方。 改进的改进的Diffie-HellmanDiffie-Hellman协议协议如图所示如图所示 7:03:223.3 3.3 密钥的协商与分发技术密钥的协商与分发技术 7:03:22 基于基于KDCKDC的密钥生成和分发方法的密钥生成和分发方法 方式一方式一:通信发起方生成会话密钥:通信发起方生成会话密钥 A KDC(|B)KsEK
10、|(1 1 设通信方设通信方A A要与要与B B进行保密通信时,进行保密通信时,A A随机地选择一个会话随机地选择一个会话密钥密钥K Ks s;用;用K KA-KDCA-KDC加密会话密钥,即得到加密会话密钥,即得到,并发送并发送表示信息的级联。表示信息的级联。给给KDCKDC。其中,符号。其中,符号 (2 2 KDC KDC收到后,用收到后,用K KA-KDCA-KDC解密获得解密获得A A所选择的会话密钥所选择的会话密钥K Ks s及所希望及所希望的通信方的通信方B B。KDCKDC将(将(K Ks sAA)用自己和)用自己和B B共享的密钥共享的密钥K KB-KDCB-KDC加密,加密,
11、并将并将B KDC(|A)KsEK发送给发送给B B。7:03:22 基于基于KDCKDC的密钥生成和分发方法的密钥生成和分发方法 3)通信方通信方B B收到后,用自己和收到后,用自己和KDCKDC的共享密钥解密,从的共享密钥解密,从而得到希望和自己通信的机构是而得到希望和自己通信的机构是A A,并获得会话密钥,并获得会话密钥KsKs。方式二:方式二:由由KDCKDC为为A A、B B生成通信的会话密钥。生成通信的会话密钥。1 1)通信方通信方A A在希望与在希望与B B通信时,首先向通信时,首先向KDCKDC发送请求消息。发送请求消息。B KDC(|A)KsEK2 2)KDCKDC收到来自于
12、收到来自于A A的消息后,随机选择一个会话密钥的消息后,随机选择一个会话密钥K Ks s,并将并将 发送给发送给B B,将,将 发送给发送给A A。A KDC(|B)KsEK7:03:22 3 3)A A、B B收到来自于收到来自于KDCKDC的密文消息后,分别用自己与的密文消息后,分别用自己与KDCKDC的共享的共享密钥解密,获得会话密钥密钥解密,获得会话密钥KsKs。Needham-SchroederNeedham-Schroeder密钥分发协议描述如下密钥分发协议描述如下 1 1)通信发起方通信发起方A A把一个包含自己生成的一次性随机数(把一个包含自己生成的一次性随机数(nonceno
13、nce)R RA A、个人身份以及、个人身份以及B B的身份的信息发送给的身份的信息发送给KDCKDC。2 2)KDCKDC返回一个包含返回一个包含R RA A、B B的身份、会话密钥和一个给的身份、会话密钥和一个给通信方通信方B B的加密票据的加密信息给通信方的加密票据的加密信息给通信方A A。整个信息用。整个信息用K KA-KDCA-KDC加密。加密。3 3)通信方通信方A A解密得到的信息,获得会话密解密得到的信息,获得会话密钥钥K KABAB,并把得到的通信方,并把得到的通信方B B的票据转发给的票据转发给B B。7:03:22 4 4)通信方通信方B B用用K KB-KDCB-KDC
14、解密来自于解密来自于A A的的KDCKDC颁发票据,获得希望颁发票据,获得希望与自己通信的用户信息以及会话密钥与自己通信的用户信息以及会话密钥K KABAB,并随机生成一个,并随机生成一个随机数随机数R RB B,用会话密钥,用会话密钥K KABAB加密发送给加密发送给A A。5 5)通信方通信方A A应答来自于应答来自于B B的质询,即用会话密钥解密得的质询,即用会话密钥解密得到到R RB B,计算,计算 并发送给并发送给B B;在;在B B收到之后,即可收到之后,即可用会话密钥解密并验证用会话密钥解密并验证R RB-1 B-1 ABB(1)KER Needham-SchroederNeed
15、ham-Schroeder密钥分发协议步骤密钥分发协议步骤如图所示如图所示 7:03:223.4 3.4 公钥基础设施公钥基础设施PKI 在公钥密码系统中,由于私钥是用户秘在公钥密码系统中,由于私钥是用户秘密持有,故不存在私钥的分发问题;而必须密持有,故不存在私钥的分发问题;而必须解决的一个问题是公钥的权威性公开问题。解决的一个问题是公钥的权威性公开问题。公钥基础设施公钥基础设施PKIPKI即是用于公钥权威发布的即是用于公钥权威发布的一系列组件。一系列组件。7:03:223.4 3.4 公钥基础设施公钥基础设施PKIPKIl PKI PKI概述概述 l PKI PKI的信任模型的信任模型7:0
16、3:22 PKIPKI是由是由认证机构(认证机构(Certificate AuthorityCertificate Authority,CACA)、)、公钥证书库、密钥备份及恢复系统、公钥证书撤销系统、公钥证书库、密钥备份及恢复系统、公钥证书撤销系统、PKIPKI应用接口应用接口等部分组成的。等部分组成的。 它是一个用公钥概念和技术来它是一个用公钥概念和技术来实现并提供安全服务的具有普实现并提供安全服务的具有普遍适用性的基础设施,是一种遍适用性的基础设施,是一种遵循标准的密钥管理平台。遵循标准的密钥管理平台。 7:03:233.4 3.4 公钥基础设施公钥基础设施PKIPKIl PKI PKI
17、的信任模型的信任模型l PKI PKI概述概述 7:03:23目前,证书有多种不同的类型,常用的包括以下几种。目前,证书有多种不同的类型,常用的包括以下几种。l X.509 X.509公钥证书公钥证书l 简单简单PKIPKI(Simple Public Key InfrastructureSimple Public Key Infrastructure)证书)证书l PGPPGP(Pretty Good PrivacyPretty Good Privacy)证书)证书 7:03:233.4 3.4 公钥基础设施公钥基础设施PKIPKIl PKI PKI的信任模型的信任模型l PKI PKI概述
18、概述 7:03:23 证书的管理就是要提供证书的创建、分配和撤销等一系证书的管理就是要提供证书的创建、分配和撤销等一系列证书管理工作,主要由列证书管理工作,主要由CACA负责完成。负责完成。 证书的管理包括以下几个方面证书的管理包括以下几个方面 l 证书的检索证书的检索l 证书的验证证书的验证 l 证书的吊销证书的吊销 当网络用户需要通过公钥当网络用户需要通过公钥密码体制给另一个用户发密码体制给另一个用户发送加密消息时,需要证书送加密消息时,需要证书来获取该用户的公钥,以来获取该用户的公钥,以完成加密运算;或者需要完成加密运算;或者需要验证另一个用户的数字签验证另一个用户的数字签名时,也需要通
19、过查询公名时,也需要通过查询公钥证书而获取该用户的公钥证书而获取该用户的公钥,以进行数字签名的验钥,以进行数字签名的验证证 如果网络用户如果网络用户A A向网络用向网络用户户B B提供了自己的公钥证提供了自己的公钥证书,网络用户书,网络用户B B可以向可以向CACA请求,验证该证书的有效请求,验证该证书的有效性性 在超出证书的有效期时,在超出证书的有效期时,CACA可以吊销证书;在由于可以吊销证书;在由于私钥的泄密而需要更换公私钥的泄密而需要更换公私钥对时,用户也可以向私钥对时,用户也可以向CACA提出请求吊销证书提出请求吊销证书 7:03:233.4 3.4 公钥基础设施公钥基础设施PKIP
20、KIl PKI PKI的信任模型的信任模型l PKI PKI概述概述 7:03:23层次结构信任模型层次结构信任模型 在这种模式中,认证机构(在这种模式中,认证机构(CACA)是严格按照)是严格按照层次结构组织的,整个层次结构组织的,整个CACA体系可以描绘成一个倒体系可以描绘成一个倒转的树,转的树,如图所示如图所示。 【例】用户用户3 3把一系列证书把一系列证书CA CA 和和 CA1CA1发给用户发给用户1 1。用户。用户1 1验证证书并提取用户验证证书并提取用户3 3的公钥的步骤的公钥的步骤如下。如下。 用户用户1 1用用CACA的公钥确认的公钥确认CACA。 用户用户1 1从从CACA
21、中提取中提取CA1CA1的公钥。的公钥。 用户用户1 1用用CA1CA1的公钥确认的公钥确认CA1CA1。 用户用户1 1从从CA1CA1中提取用户中提取用户3 3的公钥的公钥 7:03:23网状信任模型网状信任模型 网状信任模型也称为分布式信任模型,这种信任网状信任模型也称为分布式信任模型,这种信任模型把信任分散到两个或者多个模型把信任分散到两个或者多个CACA上,用于将若干具上,用于将若干具有严格层次结构的有严格层次结构的PKIPKI系统之间互联起来,即在一个系统之间互联起来,即在一个组织或一个小的团体中使用层次结构的组织或一个小的团体中使用层次结构的PKIPKI,而在需,而在需要将几个小
22、团体结合成一个大的信任域时,将其互联要将几个小团体结合成一个大的信任域时,将其互联起来,建立互相之间的信任关系。网状信任模型起来,建立互相之间的信任关系。网状信任模型如图如图所示所示 7:03:23l 网状配置网状配置l 中心辐射配置中心辐射配置l WebWeb信任模型信任模型l 以用户为中心的信任以用户为中心的信任 即在所有根即在所有根CACA之间建立之间建立交叉认证,形成信任网交叉认证,形成信任网格。这种方式是以网格格。这种方式是以网格结构把根连接起来,每结构把根连接起来,每个根都有一个自身的分个根都有一个自身的分级结构。级结构。 建立一个中心地位的建立一个中心地位的CACA,并实现其与其
23、他,并实现其与其他每个每个CACA之间的交叉双之间的交叉双向认证,这样,就建向认证,这样,就建立起了不同信任域的立起了不同信任域的用户之间信任验证路用户之间信任验证路径。径。 这是一种技术密切这是一种技术密切相关的信任模型,相关的信任模型,它依赖于浏览器,它依赖于浏览器,例如,例如,NavigatorNavigator和和Internet ExplorerInternet Explorer(IEIE)。)。 在这种信任模型中,在这种信任模型中,每个用户都自主地每个用户都自主地决定信赖哪个证书决定信赖哪个证书和拒绝哪个证书。和拒绝哪个证书。 7:03:243.5 3.5 密钥管理技术应用密钥管理
24、技术应用 IKEIKE是是IPSecIPSec的一个重要构成要件,它提供密的一个重要构成要件,它提供密钥协商与管理机制。当使用钥协商与管理机制。当使用IPSecIPSec时,必须提供一时,必须提供一种方法与对方协商加密算法以及在数据交换中使种方法与对方协商加密算法以及在数据交换中使用的密钥。用的密钥。IKEIKE不是一个单一的协议,而是两个协不是一个单一的协议,而是两个协议的组合,它将议的组合,它将InternetInternet安全关联、密钥管理协安全关联、密钥管理协议和议和OakleyOakley密钥交换协议集成在一起。密钥交换协议集成在一起。 7:03:24IKEIKE的交换模式有如下三
25、种的交换模式有如下三种 l 主模式主模式l 野蛮模式野蛮模式l 快速模式快速模式 IKEIKE的主模式为建立第的主模式为建立第一个阶段的一个阶段的IKE SAIKE SA提提供了一个三阶段机制,供了一个三阶段机制,用于协商以后的通信用于协商以后的通信参数参数 在该模式中,发起在该模式中,发起者在交换开始生成者在交换开始生成一个一个Diffie-Diffie-HellmanHellman对,并建议对,并建议一个一个SASA,以及携带,以及携带用于对方签名的一用于对方签名的一次性随机数次性随机数在两个通信实体使用主在两个通信实体使用主模式或者野蛮模式建立模式或者野蛮模式建立了一个了一个IKE SA
26、IKE SA之后,它之后,它们就可以使用快速模式们就可以使用快速模式协商通用的协商通用的IPSecIPSec服务服务或者生成新的密钥信息或者生成新的密钥信息。 7:03:243.6 3.6 密钥管理技术发展趋势密钥管理技术发展趋势 密钥管理方案往往和具体的应用环境以及安密钥管理方案往往和具体的应用环境以及安全要求相关,例如,基于门限的密钥管理方案可全要求相关,例如,基于门限的密钥管理方案可以提供以提供n n个成员共同持有秘密份额,个成员共同持有秘密份额,t t个成员可以个成员可以恢复出秘密,而恢复出秘密,而t t-1-1个成员无法恢复出秘密,这种个成员无法恢复出秘密,这种基于秘密共享思想而设计
27、的方案可以提供安全性基于秘密共享思想而设计的方案可以提供安全性更强的密钥管理服务,可能会在未来的多方安全更强的密钥管理服务,可能会在未来的多方安全计算中发挥作用。随着应用范围的扩展和网络安计算中发挥作用。随着应用范围的扩展和网络安全需求的多样化,密钥管理方法也在不断扩展。全需求的多样化,密钥管理方法也在不断扩展。7:03:24图图 Diffie-HellmanDiffie-Hellman密钥交换协议密钥交换协议7:03:24图图 Diffie-HellmanDiffie-Hellman协议的中间人攻击协议的中间人攻击7:03:24图图 具有认证性的具有认证性的Diffie-HellmanDiffie-Hellman协议协议7:03:25 发送给A。图图 Needham-SchroederNeedham-Schroeder密钥分发协议密钥分发协议7:03:25图图 层次结构信任模型层次结构信任模型7:03:25图图 网状信任模型网状信任模型