1、Chapter 14 密钥管理和分发密钥管理和分发 2022-1-22 2主要内容主要内容n 对称加密的对称密钥分发对称加密的对称密钥分发n 非对称加密的对称密钥分发非对称加密的对称密钥分发n 公钥分发公钥分发n X.509认证服务认证服务n 公钥基础设施公钥基础设施2022-1-223n任何密码系统的任何密码系统的强度强度都与都与密钥分密钥分配方法配方法有关。有关。n密钥分配方法密钥分配方法q指将指将密钥密钥发放给发放给希望希望交换数据的交换数据的双方双方而不让别人知道的方法。而不让别人知道的方法。2022-1-224密钥分配密钥分配n分配方法:分配方法:A、B双方通信双方通信1.密钥由密钥
2、由A选择,选择,亲自(以物理方式)交与亲自(以物理方式)交与B;2.第三方选择密钥后亲自交与第三方选择密钥后亲自交与A和和B;3.一方用一方用双方已有的密钥双方已有的密钥加密一个新密钥后发加密一个新密钥后发给另一方;给另一方;4.A和和B与第三方与第三方C均有秘密通道,则均有秘密通道,则C可以将密可以将密钥分别发送给钥分别发送给A和和B。2022-1-225密钥分配密钥分配n对分配方法的分析对分配方法的分析q方法方法1和和2需要人工传送密钥,对链路加密要求需要人工传送密钥,对链路加密要求不过分,对网络中的端到端加密则有些笨拙。不过分,对网络中的端到端加密则有些笨拙。q方法方法3可用于链路加密和
3、端到端加密。问题:可用于链路加密和端到端加密。问题:n攻击者若已成功获取一个密钥,随后密钥都泄露;攻击者若已成功获取一个密钥,随后密钥都泄露;n初始密钥的分配。初始密钥的分配。n多用户网络时,所需存储的密钥量很大多用户网络时,所需存储的密钥量很大2022-1-226用于支持任意端点间通信所需的密钥数2022-1-227密钥分配密钥分配n对分配方法的分析对分配方法的分析q方法方法1和和2需要人工传送密钥,对链路加密要求需要人工传送密钥,对链路加密要求不过分,对网络中的端到端加密则有些笨拙。不过分,对网络中的端到端加密则有些笨拙。q方法方法3可用于链路加密和端到端加密。问题:可用于链路加密和端到端
4、加密。问题:n攻击者若已成功获取一个密钥,随后密钥都泄露;攻击者若已成功获取一个密钥,随后密钥都泄露;n初始密钥的分配。初始密钥的分配。n多用户网络时,所需存储的密钥量很大多用户网络时,所需存储的密钥量很大q对于端到端加密,方法对于端到端加密,方法4稍做变动即可应用。需稍做变动即可应用。需要一个密钥分配中心(要一个密钥分配中心(KDC)参与分配。)参与分配。2022-1-228密钥分配密钥分配n密钥分类密钥分类q会话密钥(会话密钥(ks) 末端通信时使用的临时加密密钥末端通信时使用的临时加密密钥q主密钥(主密钥(km) 加密加密ks的密钥的密钥2022-1-229层次式密钥2022-1-221
5、0一种典型的密钥控制方案一种典型的密钥控制方案密钥分发方案密钥分发方案2022-1-2211密钥分配模式密钥分配模式2022-1-2212层次式密钥控制层次式密钥控制n 单个单个KDC在网络规模很大时不实际在网络规模很大时不实际n 层次式可提高效率并降低风险层次式可提高效率并降低风险2022-1-2213会话密钥的生命期会话密钥的生命期n在安全性与通信时间之间折衷考虑在安全性与通信时间之间折衷考虑n对面向连接的协议,改变连接时,改用新的对面向连接的协议,改变连接时,改用新的ksn对非面向连接的协议,定期更改。对非面向连接的协议,定期更改。2022-1-2214面向连接的密钥自动分发协议面向连接
6、的密钥自动分发协议一种透明的密钥控制方案一种透明的密钥控制方案2022-1-2215分分布布式式密钥控制密钥控制n局部环境下适用局部环境下适用n会话密钥生成步骤:会话密钥生成步骤:2022-1-221614.1.6 控制控制密钥的使用密钥的使用n会话密钥的类型会话密钥的类型q数据加密密钥,用于网络中的通用通信数据加密密钥,用于网络中的通用通信qPIN加密密钥,用于电子资金转账和销售点加密密钥,用于电子资金转账和销售点应用的个人识别码(应用的个人识别码(PIN)q文件加密密钥,用于可公开访问的加密文件文件加密密钥,用于可公开访问的加密文件2022-1-221714.1.6 密钥的使用方法密钥的使
7、用方法n会话密钥的类型会话密钥的类型n密钥标志密钥标志(以以DES为例为例)q一位表示主密钥或会话密钥一位表示主密钥或会话密钥q一位表示密钥可否用于加密一位表示密钥可否用于加密q一位表示密钥可否用于解密一位表示密钥可否用于解密q其余位未用其余位未用q特点特点标志含在密钥中,密钥分配时就被加密标志含在密钥中,密钥分配时就被加密q缺点:缺点:n位数少,限制了其灵活性和功能;位数少,限制了其灵活性和功能;n标志不能以明文传输,解密后才能使用,限制了对密钥标志不能以明文传输,解密后才能使用,限制了对密钥的管理的管理n控制矢量方法控制矢量方法2022-1-2218n会话密钥的类型会话密钥的类型n密钥标志
8、密钥标志n控制矢量方法控制矢量方法q思路思路会话密钥的加密会话密钥的加密加密:加密:H=h(CV),Kc=Ekm HKs解密:解密:H=h(CV), Ks=Dkm HKcq优点优点n控制矢量长度不限控制矢量长度不限n控制矢量以明文传输,可多次运用对密钥的控制要求控制矢量以明文传输,可多次运用对密钥的控制要求密钥的使用方法密钥的使用方法2022-1-2219控制矢量的加密和解密2022-1-2220n公钥的分配公钥的分配n公钥密码用于传统密码体制的密钥分配公钥密码用于传统密码体制的密钥分配2022-1-2221简单的秘密钥分配简单的秘密钥分配n1979由由Merkle提出提出q A 产生一个新的
9、临时用的公钥对产生一个新的临时用的公钥对q A 发送自己的标识和公钥给发送自己的标识和公钥给 Bq B 产生一个会话密钥,并用产生一个会话密钥,并用 A 的公钥加密后发的公钥加密后发送给送给 Aq A 解密会话密钥解密会话密钥n问题是容易受到主动攻击,而通信双方却问题是容易受到主动攻击,而通信双方却毫无察觉。毫无察觉。2022-1-2222利用公钥加密建立会话密钥利用公钥加密建立会话密钥Merkle协议的中间人攻击A生成KUa,KRa, AB: (IDA,KUa)E截获,生成KUe,KRe冒充AB: (IDA,KUe)B生成随机密钥Ks, BA: EKUe(Ks)E截获,解密后再用EKUa加密
10、KsA: EKUa(Ks)A丢弃KUa,KRa,B丢弃KUaE获得了Ks,故以后只需进行窃听.A,B并不知晓它们被攻击了2022-1-22 24Secret key distribution with confidentiality and authentication假定A和B已经获得了双方的公钥:AB: EKUb(IDA,N1)BA: EKUa(N1 ,N2)AB: EKUb(N2)AB: Y=EKUb(EKRa(Ks)B解密Y获得会话密钥Ks=DKUa(DKRb(Y)2022-1-2226混合方式的密钥分配混合方式的密钥分配n保留私钥配发中心保留私钥配发中心( KDC )n每用户与每用户
11、与KDC共享一个主密钥共享一个主密钥n用主密钥分配会话密钥用主密钥分配会话密钥n公钥用于分配主密钥公钥用于分配主密钥q在大范围分散用户的情况下尤其有用在大范围分散用户的情况下尤其有用n三层结构三层结构n基本依据基本依据q性能性能q向后兼容性向后兼容性2022-1-2227n公钥的分配公钥的分配n公钥密码用于传统密码体制的密钥分配公钥密码用于传统密码体制的密钥分配2022-1-2228公钥的分配公钥的分配n公钥分配方法公钥分配方法q公开发布公开发布q公开可访问目录公开可访问目录q公钥授权公钥授权q公钥证书公钥证书2022-1-2229公钥的公开发布公钥的公开发布n用户分发自己的公钥给接收者或广播
12、给通用户分发自己的公钥给接收者或广播给通信各方信各方q例如:把例如:把PGP的公钥放到消息的最后,发布的公钥放到消息的最后,发布到新闻组或邮件列表中到新闻组或邮件列表中n缺点:伪造缺点:伪造q任何人都可以产生一个冒充真实发信者的公任何人都可以产生一个冒充真实发信者的公钥来进行欺骗钥来进行欺骗q直到伪造被发现,欺骗已经形成直到伪造被发现,欺骗已经形成2022-1-2230无控制的公钥分发无控制的公钥分发2022-1-2231公开可访问的目录公开可访问的目录n通过使用一个公共的公钥目录可以获得更通过使用一个公共的公钥目录可以获得更大程度的安全性大程度的安全性n目录应该是可信的,特点如下:目录应该是
13、可信的,特点如下:q 包含包含 姓名,公钥姓名,公钥 目录项目录项q 通信方只能安全的注册到目录中通信方只能安全的注册到目录中q 通信方可在任何时刻进行密钥更替通信方可在任何时刻进行密钥更替q 目录定期发布或更新目录定期发布或更新q 目录可被电子化地访问目录可被电子化地访问n缺点:缺点:1、仍存在被篡改伪造的风险、仍存在被篡改伪造的风险 2、依赖于目录管理员私钥安全、依赖于目录管理员私钥安全2022-1-2232公开的公钥发布公开的公钥发布2022-1-2233公钥授权公钥授权n通过更加严格地控制目录中的公钥分配,使公通过更加严格地控制目录中的公钥分配,使公钥分配更加安全。钥分配更加安全。n具
14、有目录特性具有目录特性n每一通信方必须知道目录管理员的公钥每一通信方必须知道目录管理员的公钥n用户和目录管理员进行交互以安全地获得所希用户和目录管理员进行交互以安全地获得所希望的公钥望的公钥q当需要密钥时,确实需要能够实时访问目录。当需要密钥时,确实需要能够实时访问目录。公钥目录管理员成为系统的瓶颈。公钥目录管理员成为系统的瓶颈。2022-1-2234公钥授权公钥授权公钥发布方案公钥发布方案2022-1-22利用公钥管理机构的公钥分发建立、维护动态的公钥目录表每个用户都可靠地知道公钥管理机构的公钥.SKAU :公钥管理机构自己的秘钥,仅公钥管理机构自己知道;2022-1-2236公钥证书公钥证
15、书n用证书进行密钥交换,可以避免对公钥目录的用证书进行密钥交换,可以避免对公钥目录的实时授权访问实时授权访问n证书包含标识和公钥等信息证书包含标识和公钥等信息 q通常还包含有效期,使用权限等其它信息通常还包含有效期,使用权限等其它信息n含有可信公钥或证书授权方含有可信公钥或证书授权方(CA)的签名的签名n知道公钥或证书授权方的公钥的所有人员都可知道公钥或证书授权方的公钥的所有人员都可以进行验证以进行验证n例如:例如:X.509标准标准2022-1-2237公钥证书公钥证书公钥证书交换公钥证书交换2022-1-223814.4 X.509 认证服务认证服务nCCITT X.500 目录服务的一部
16、分目录服务的一部分q维护用户信息数据库的分布式服务器维护用户信息数据库的分布式服务器n定义了认证服务的框架定义了认证服务的框架q目录可存储公钥证书目录可存储公钥证书q由认证中心签名的用户的公钥由认证中心签名的用户的公钥n定义了认证协议定义了认证协议n使用了公钥密码和数字签名技术使用了公钥密码和数字签名技术q未作算法规定,但推荐使用未作算法规定,但推荐使用RSAnX.509 证书已得到了广泛地使用证书已得到了广泛地使用2022-1-2239X.509认证服务的应用认证服务的应用nX.509建议最早在建议最早在1988年发布,年发布,1993年和年和1995年又分年又分别发布了它的第二和第三个修订
17、版。别发布了它的第二和第三个修订版。X.509目前已经目前已经是一个非常重要的标准,因为是一个非常重要的标准,因为X.509定义的认证证书定义的认证证书结构和认证协议已经被广泛应用于诸多应用过程。结构和认证协议已经被广泛应用于诸多应用过程。qIPSec(提供了一种网络层的安全性提供了一种网络层的安全性)qSSL/TLS(security socket layer/transport layer security,安,安全套接层,可用来解决传输层的安全性问题全套接层,可用来解决传输层的安全性问题)qSET (电子商务交易,电子商务交易,SET是一种开放的加密安全规范,用是一种开放的加密安全规范,
18、用于保护于保护Internet上的信用卡交易上的信用卡交易)qS/MIME(保证电子邮件安全,侧重于作为商业和团体使用的保证电子邮件安全,侧重于作为商业和团体使用的标准,而标准,而PGP则倾向于为许多用户提供个人电子邮件的安全则倾向于为许多用户提供个人电子邮件的安全性性)2022-1-2240X.509 证书证书n由认证中心发放由认证中心发放(CA), 包括包括: qversion (1, 2, or 3) qserial number (unique within CA) identifying certificate qsignature algorithm identifier qiss
19、uer X.500 name (CA) qperiod of validity (from - to dates) qsubject X.500 name (name of owner) qsubject public-key info (algorithm, parameters, key) qissuer unique identifier (v2+) qsubject unique identifier (v2+) qextension fields (v3) qsignature (of hash of all fields in certificate) n符号符号 CA 表示表示
20、由由CA签名的签名的A的证书的证书2022-1-22X.509证书格式2022-1-222022-1-22 43公钥证书的使用公钥证书的使用2022-1-2244n在在X.509中,证书机构中,证书机构Y 颁发给用户颁发给用户X的证书表示为:的证书表示为:Y;Y对信息对信息I进行的签名表示为进行的签名表示为Y I 。这样一个这样一个CA颁发给用户颁发给用户A的的X.509证书可以表示为:证书可以表示为: CA = CA V, SN, AI, CA, TA, A, Ap V: 版本号,版本号, SN:证书序列号,:证书序列号, AI:算法标识,:算法标识,TA:有效期:有效期, Ap : A的公
21、开密钥信息。的公开密钥信息。X.509 证书证书2022-1-2245获得一个用户证书获得一个用户证书n任何可以访问任何可以访问CA的用户都可以得到一个的用户都可以得到一个证书证书n只有只有CA可以修改证书可以修改证书n由于证书不能伪造,所以证书可以放到由于证书不能伪造,所以证书可以放到一个公共目录中一个公共目录中2022-1-2246CA 层次层次 n如果两个用户共享同一个如果两个用户共享同一个CA,则两者知道彼此的公钥则两者知道彼此的公钥n否则,否则,CA就要形成层次就要形成层次n用证书将层次中的各用证书将层次中的各CA链接链接q每个每个CA 有对客户的证书有对客户的证书(前向前向)和对父
22、和对父CA的证书的证书 (后向后向) n每一个客户信任所有父证书每一个客户信任所有父证书n层次中的所有其它层次中的所有其它CA的用户,可以验证从一个的用户,可以验证从一个CA获得获得的任何证书的任何证书2022-1-22 47CA 层次的使用层次的使用2022-1-22当两者隶属于不同的CA时,可以通过信任传递的机制来完成两者信任关系的建立。一个双边信任关系需要两个证书,它们覆盖每一方向中的信任关系。这些证书必须由CA之间的交叉认证协议来支持。当某证书被证明是假的或者令人误解的时候,该协议将决定合作伙伴的责任。2022-1-22交叉认证例如:2022-1-22n 如果用户数量极多,则仅一个CA
23、负责为用户签署证书就有点不现实,通常应有多个CA,每个CA为一部分用户发行、签署证书。n例如:例如:设用户A已从证书发放机构证书发放机构X1处获取了公开密钥证书,用户B已从X2处获取了证书。如果A不知X2的公开密钥,则他虽然能读取B的证书,但却无法验证用户B证书中X2的签名,因此B的证书对A来说是没有用处的。然而,如果两个CA:X1和CA:X2彼此间已经安全地交换了公开密钥,则A可通过以下过程获取B的公开密钥:2022-1-22(1) A从目录中获取由X1签署的X2的证书X1X2,因A知道X1的公开密钥,所以能验证X2的证书,并从中得到X2的公开密钥。(2) A再从目录中获取由X2签署的B的证
24、书X2B,并由X2的公开密钥对此加以验证,然后从中得到B的公开密钥。 以上过程中,A是通过一个证书链来获取B的公开密钥的,证书链可表示为X1X2X2BYX表示证书发放机构Y向用户X发放的证书,YI表示Y对I的哈希值签名2022-1-2252证书的撤销证书的撤销n证书有效期证书有效期n过期前撤销,例如过期前撤销,例如:1.用户的密钥被认为不安全了用户的密钥被认为不安全了2.用户不再信任该用户不再信任该CA3.CA证书被认为不安全了证书被认为不安全了nCA维护一个证书撤销列表维护一个证书撤销列表q证书撤销列表,证书撤销列表,the Certificate Revocation List (CRL)
25、n用户应该检查用户应该检查CA的的CRL2022-1-2253X.509 Version 3n已经认识到证书中附加信息的重要性已经认识到证书中附加信息的重要性qemail/URL, 策略细节策略细节, 使用限制使用限制n增加了一些可选的扩展项增加了一些可选的扩展项n证书每一个扩展项都包括证书每一个扩展项都包括:q扩展标识扩展标识q危险指示(危险指示(T/F)q扩展值扩展值2022-1-2254证书扩展项证书扩展项n密钥和策略信息密钥和策略信息q传达证书主体和发行商密钥相关的附加信息,传达证书主体和发行商密钥相关的附加信息,以及证书策略的指示信息,如密钥用途以及证书策略的指示信息,如密钥用途n证
26、书主体和发行商属性证书主体和发行商属性q支持可变的名字,以可变的形式表示证书主体支持可变的名字,以可变的形式表示证书主体或发行商的某些属性,如公司位置,图片等。或发行商的某些属性,如公司位置,图片等。n证书路径约束证书路径约束q允许限制由其它允许限制由其它CA发行的证书的使用发行的证书的使用n企业或机构身份证书企业或机构身份证书 符合 X.509 标准的数字安全证书,证书中包含企业信息和企业的公钥,用于标识证书持有企业的身份。数字安全证书和对应的私钥存储于 E-key 或 IC 卡中,可以用于企业在电子商务方面的对外活动,如合同签定、网上证券交易、交易支付信息等方面。n什么是E-Key? E-
27、Key 是一种形状类似U盘的智能存储设备,用于存放识别随易通用户身份的数字证书,内有cpu芯片,可进行数字签名和签名验证的运算,外形小巧,可插在电脑的USB接口中使用。 由于E-Key具有存储信息不可读取、导出的特征,安全性高,用于身份识别可有效防止用户帐号被窃取、散发。现多用于银行的网上银行服务。2022-1-222022-1-225614.5 公钥基础设施公钥基础设施nPKI系统是有硬件、软件、人、策略和程系统是有硬件、软件、人、策略和程序构成的一整套体系(序构成的一整套体系(RFC 2822) n IETF的的PKIX工作组在工作组在X.509的基础上,的基础上,建立一个可以构建网络认证
28、的基本模型。建立一个可以构建网络认证的基本模型。2022-1-225714.5 公钥基础设施公钥基础设施2022-1-22 为管理公开密钥(生成、认证、存储、安装),须建立为管理公开密钥(生成、认证、存储、安装),须建立一套一套(PKI- PKI- Public Key InfrastructurePublic Key Infrastructure)。)。PKIPKI的的基本组成元素是基本组成元素是(CA-CA-Certificate AuthorityCertificate Authority),),:为用户生成一对密钥(公开密钥,私有密钥),并通过一为用户生成一对密钥(公开密钥,私有密钥)
29、,并通过一定的途径分发给用户;定的途径分发给用户;CACA为用户签发数字证书,形成用户的公开密钥信息,并通为用户签发数字证书,形成用户的公开密钥信息,并通过一定的途径分发给用户;过一定的途径分发给用户;对用户证书的有效性进行验证;对用户证书的有效性进行验证;对用户的数字证书进行管理。这些管理包括有效证书的公对用户的数字证书进行管理。这些管理包括有效证书的公布、撤销证书的公布(有时也称证书黑名单表的维护)、布、撤销证书的公布(有时也称证书黑名单表的维护)、证书归档等。证书归档等。美国联邦桥联邦桥CA邮政服务部门CA社会安全部门CA美国国防部CA能源部CANASA CA.国防部能源部.2022-1
30、-2260Public Key Infrastructure,PKIn端实体端实体n签证机构签证机构CAn注册机构注册机构RA n证书撤销列表发布证书撤销列表发布CRLn证书存储库证书存储库 2022-1-22最终用户最终用户密钥恢复密钥恢复服务器服务器证书颁发证书颁发机构(机构(CA)注册机构注册机构(RA)X.500目录目录PKIPKI构成部分之间交互作用构成部分之间交互作用 2022-1-2262PKIX管理任务管理任务n用户注册用户注册n初始化初始化n认证认证n 密钥对的恢复密钥对的恢复n 密钥对更新密钥对更新n证书撤销请求证书撤销请求n 交叉认证交叉认证2022-1-22证书的管理 公钥/私钥生成申请证书审核证书签发证书证书撤销安装证书废止申请 证书 使用过期更新2022-1-2264PKIX管理协议管理协议n RFC 2510 证书管理协议证书管理协议CMPn RFC 2797 认证消息封装认证消息封装 CMS(CMC)2022-1-2265小小 结结n对称加密的对称密钥分发对称加密的对称密钥分发n 非对称加密的对称密钥分发非对称加密的对称密钥分发n 公钥分发公钥分发n X.509认证服务认证服务n 公钥基础设施公钥基础设施2022-1-2266作业作业n思考题:思考题:14.2 14.5 14.8