1、密钥管理密钥管理 所有的密码技术都所有的密码技术都依赖依赖于密钥。于密钥。密钥的管理本身是一个很复杂的课题,而且是密钥的管理本身是一个很复杂的课题,而且是保证安全性的保证安全性的关键关键点。点。密钥管理方法因所使用的密码体制(对称密码密钥管理方法因所使用的密码体制(对称密码体制和公钥密码体制)而异。体制和公钥密码体制)而异。所有的密钥都有生存期所有的密钥都有生存期 密钥的生存周期:授权使用该密钥的周期。密钥的生存周期:授权使用该密钥的周期。原因:原因:1)拥有大量的密文有助于密码分析;一)拥有大量的密文有助于密码分析;一个密钥使用得太多了,会给攻击者增大收集密个密钥使用得太多了,会给攻击者增大
2、收集密文的机会;文的机会;2)假定一个密钥受到危及或用一个特定)假定一个密钥受到危及或用一个特定密钥的加密密钥的加密/解密过程被分析,则限定密钥的解密过程被分析,则限定密钥的使用期限就相当于限制危险的发生。使用期限就相当于限制危险的发生。密钥的生存期密钥的生存期 一个密钥主要经历以下几个阶段:一个密钥主要经历以下几个阶段:1 1)产生(可能需要登记)产生(可能需要登记)2 2)分配)分配 3 3)使用)使用 4 4)更新)更新/替换替换 5 5)撤销)撤销 6 6)销毁)销毁密钥管理密钥管理 密钥管理(密钥管理(key management)在一种安全策略指导下密钥的产生在一种安全策略指导下密
3、钥的产生,存储存储,分分配配,删除删除,归档及应用。归档及应用。(GB/T 9387.21995ISO 7498-21989)处理密钥自产生到最终销毁的整个过程中的有处理密钥自产生到最终销毁的整个过程中的有关问题,包括系统的初始化,密钥的产生、关问题,包括系统的初始化,密钥的产生、存存储储、备份、备份/恢复、装入、恢复、装入、分配分配、保护、更新、泄、保护、更新、泄露、撤销和销毁等内容。露、撤销和销毁等内容。密钥管理的目的密钥管理的目的 目的:维持系统中各实体之间的密钥关系,以目的:维持系统中各实体之间的密钥关系,以抗击各种可能的威胁:抗击各种可能的威胁:(1)密钥的泄露)密钥的泄露(2)秘密
4、密钥或公开密钥的身份的真实性丧失)秘密密钥或公开密钥的身份的真实性丧失(3)经未授权使用)经未授权使用密钥管理密钥管理 密钥产生密钥产生 密钥的装入密钥的装入 密钥的保护密钥的保护 密钥类型密钥类型 密钥存储密钥存储 密钥分配密钥分配密钥协定密钥协定密钥使用控制密钥使用控制密钥备份密钥备份/恢复恢复更新密钥更新密钥密钥的撤销和销毁密钥的撤销和销毁公开密钥的管理公开密钥的管理密钥产生密钥产生 手工手工/自动化自动化 选择密钥方式不当会影响安全性选择密钥方式不当会影响安全性 1)使密钥空间减小)使密钥空间减小4字节字节5字节字节6字节字节7字节字节8字节字节小写字母(小写字母(26)4.6*105
5、1.2*1073.1*1088.0*1092.1*1011小写字母小写字母+数字(数字(36)1.7*1066.0*1072.2*1097.8*10102.8*1012字母数字字符(字母数字字符(62)1.5*1079.2*1085.7*10103.5*10122.2*1012印刷字符(印刷字符(95)8.1*1077.7*1097.4*10117.0*10136.6*1015ASCII字符(字符(128)2.7*1083.4*10104.4*10125.6*10147.2*10168位位ASCII字符(字符(256)4.3*1091.1*10122.8*10147.2*10161.8*101
6、9 2)差的选择方式易受字典式攻击)差的选择方式易受字典式攻击 攻击者并不按照数字顺序去试所有可能的密钥,攻击者并不按照数字顺序去试所有可能的密钥,首先尝试可能的密钥,例如英文单词、名字等。首先尝试可能的密钥,例如英文单词、名字等。(Daniel Klein使用此法可破译使用此法可破译40%的计算机口令),的计算机口令),方法如下:方法如下:(1)用户的姓名、首字母、帐户名等个人信息)用户的姓名、首字母、帐户名等个人信息(2)从各种数据库得到的单词)从各种数据库得到的单词(3)数据库单词的置换)数据库单词的置换(4)数据库单词的大写置换)数据库单词的大写置换(5)对外国人从外国文字试起)对外国
7、人从外国文字试起(6)尝试词组)尝试词组好的密钥的特点好的密钥的特点(1)真正的随机、等概)真正的随机、等概(2)避免使用特定算法的弱密钥)避免使用特定算法的弱密钥(3)双钥系统的密钥必须满足一定的关系)双钥系统的密钥必须满足一定的关系(4)选用易记难猜的密钥)选用易记难猜的密钥 较长短语的首字母,词组用标点符号分开较长短语的首字母,词组用标点符号分开 (5)采用散列函数)采用散列函数密钥分配与密钥协定密钥分配与密钥协定密钥分配密钥分配协议协议:系统内的一个成员选择密钥系统内的一个成员选择密钥,然然后将它们安全传给其他成员后将它们安全传给其他成员密钥协定密钥协定协议协议:系统两个或者多个成员在
8、公开的系统两个或者多个成员在公开的信道上联合建立秘密密钥信道上联合建立秘密密钥.两个成员的密钥协定两个成员的密钥协定也称为密钥交换也称为密钥交换.有些协议既是有些协议既是密钥分配密钥分配协议协议,也是也是密钥协定密钥协定协议协议.密钥使用控制密钥使用控制 除了秘密保存密钥之外,有时密钥分配过程也是很重除了秘密保存密钥之外,有时密钥分配过程也是很重要的,因为该过程确保打算用于一种目的的密钥不能要的,因为该过程确保打算用于一种目的的密钥不能和用于另一种目的的密钥交替使用。这就要求将和用于另一种目的的密钥交替使用。这就要求将密钥密钥值和密钥的值和密钥的合法使用范围合法使用范围封装在一起。封装在一起。
9、密钥备份密钥备份/恢复恢复 1.使用秘密共享协议使用秘密共享协议 2.使用智能卡暂存使用智能卡暂存密钥更新密钥更新 加密时需要每天更新密钥加密时需要每天更新密钥.从旧的密钥生成新的密钥从旧的密钥生成新的密钥.密钥撤销密钥撤销 在特定的环境中是必须的。在特定的环境中是必须的。原因:原因:与密钥有关的系统的迁移与密钥有关的系统的迁移怀疑一个特定的密钥已受到威胁怀疑一个特定的密钥已受到威胁密钥的使用目的已经改变(如,提高安全级别密钥的使用目的已经改变(如,提高安全级别)密钥销毁密钥销毁 清除一个密钥的所有踪迹。清除一个密钥的所有踪迹。一个密钥的值在被停止使用后可能还要持一个密钥的值在被停止使用后可能
10、还要持续一段时间,例如,一条记载的加密数据流包续一段时间,例如,一条记载的加密数据流包含的信息可能仍然需要保密一段时间。为此,含的信息可能仍然需要保密一段时间。为此,使用的任何密钥的秘密性都需要保持到所保护使用的任何密钥的秘密性都需要保持到所保护的信息不再需要保密为止。的信息不再需要保密为止。这表明在密钥的使用活动终结后,安全地这表明在密钥的使用活动终结后,安全地销毁所有敏感密钥的拷贝是十分重要的。例如,销毁所有敏感密钥的拷贝是十分重要的。例如,必须使得一个攻击者通过观察旧的数据文件,必须使得一个攻击者通过观察旧的数据文件,存储的内容或抛弃的设备确定旧密钥值是绝不存储的内容或抛弃的设备确定旧密
11、钥值是绝不可能的。可能的。公开密钥的管理公开密钥的管理 公钥密码体制的密钥分配要求与对称密码公钥密码体制的密钥分配要求与对称密码体制的密钥分配要求有着本质的差别:体制的密钥分配要求有着本质的差别:当分配一个公钥时,不需要机密性。然而,当分配一个公钥时,不需要机密性。然而,公钥的完整性公钥的完整性是必需的。是必需的。公开密钥的分配公开密钥的分配公开宣布公开宣布 Public announcement公开可以得到的目录公开可以得到的目录Publicly available directory 公开密钥管理机构公开密钥管理机构Public-key authority 公钥证书公钥证书Public k
12、ey certificatesPublic announcement直接把公钥散发出去直接把公钥散发出去使用使用PGP并且把公钥附上并且把公钥附上能被假冒能被假冒Publicly available directory需要可信任的中央授权机构需要可信任的中央授权机构授权机构维护着动态授权机构维护着动态name,public key列表列表用户在授权机构注册其用户在授权机构注册其public key(安全通道安全通道)用户可以替换其用户可以替换其public key授权机构定期发布或更新整个目录授权机构定期发布或更新整个目录用户可在网络上直接访问公共目录用户可在网络上直接访问公共目录(安全通道安
13、全通道)Public-key publication若成功修改了公共目录若成功修改了公共目录,则攻击者可假冒用户则攻击者可假冒用户Public-key authority需要可信任的中央授权机构需要可信任的中央授权机构每个用户知道授权机构的公钥每个用户知道授权机构的公钥 AAuth:(Request(IDB),T1)AuthA:EKRauth(KUb,Request(IDB),T1)AB:EKUb(IDA,N1)BAuth:(Request(IDA),T2)AuthB:EKRauth(KUa,Request(IDA),T2)BA:EKUa(N1,N2)AB:EKUb(N2)Public-key
14、 Distribution Scenario若成功修改了公共目录若成功修改了公共目录,则攻击者可假冒用户则攻击者可假冒用户授权中心易成为性能及安全瓶颈授权中心易成为性能及安全瓶颈Public-key certificates 任何人可以阅读证书以确定证书拥有者的姓名和公任何人可以阅读证书以确定证书拥有者的姓名和公钥钥 Kohnfelder 78 任何人可以验证证书是由授权机构发出而非伪造的任何人可以验证证书是由授权机构发出而非伪造的 只有授权机构才可以发行和更新证书只有授权机构才可以发行和更新证书 任何人可以验证证书的时效性任何人可以验证证书的时效性 Denning 83CA=EKRauth(
15、T,IDA,KUa)DKUauthCA=DKUauthEKRauth(T,IDA,KUa)=(T,IDA,KUa)Exchange of public-key certificates泄漏私钥等价于丢失证书泄漏私钥等价于丢失证书证书的时间作为有效期证书的时间作为有效期公开密钥基础设施公开密钥基础设施PKI PKI(Public Key InfrastructurePublic Key Infrastructure)是一个是一个用公钥概念与技术来实施和提供安全服务的普用公钥概念与技术来实施和提供安全服务的普适性基础设施适性基础设施.PKI是一种标准的密钥管理平台,它能够为所是一种标准的密钥管理平
16、台,它能够为所有网络应用透明地提供采用加密和数据签名等有网络应用透明地提供采用加密和数据签名等密码服务所必须的密钥和证书管理。密码服务所必须的密钥和证书管理。PKI采用证书进行公钥管理,通过第三方的可采用证书进行公钥管理,通过第三方的可信任机构(认证中心,即信任机构(认证中心,即CACA),把用户的公钥),把用户的公钥和用户的其他标识信息捆绑在一起,其中包括和用户的其他标识信息捆绑在一起,其中包括用户名和电子邮件地址等信息,以在用户名和电子邮件地址等信息,以在InternetInternet网上验证用户的身份。网上验证用户的身份。PKIPKI把公钥密码和对称把公钥密码和对称密码结合起来,在密码
17、结合起来,在InternetInternet网上实现密钥的自网上实现密钥的自动管理,保证网上数据的安全传输。动管理,保证网上数据的安全传输。PKI提供的基本服务提供的基本服务鉴别鉴别采用数字签名技术,签名作用于相应的数据之上采用数字签名技术,签名作用于相应的数据之上被鉴别的数据被鉴别的数据 数据源鉴别服务数据源鉴别服务用户发送的远程请求用户发送的远程请求 身份鉴别服务身份鉴别服务远程设备生成的远程设备生成的challenge信息信息 身份鉴别身份鉴别完整性完整性PKI采用了两种技术采用了两种技术数字签名:既可以是实体认证,也可以是数据完整性数字签名:既可以是实体认证,也可以是数据完整性MAC(
18、消息鉴别码消息鉴别码):如:如DES-CBC-MAC或者或者HMAC-MD5保密性保密性用公钥分发随机密钥,然后用随机密钥对数据加密用公钥分发随机密钥,然后用随机密钥对数据加密不可否认不可否认发送方的不可否认发送方的不可否认 数字签名数字签名接受方的不可否认接受方的不可否认 收条收条+数字签名数字签名密钥生命周期密钥生命周期密钥产生密钥产生证书签发证书签发Bob密钥使用密钥使用Bob证书检验证书检验密钥过期密钥过期密钥更新密钥更新PKI基本组件基本组件 注册机构注册机构RA 认证机构认证机构CA 证书库(证书库(DBDB)密钥备份及恢复系统密钥备份及恢复系统(历史历史)证书作废处理系统证书作废
19、处理系统(CRL)CRL)PKI应用接口系统应用接口系统(API)注册机构注册机构RARA 接收和验证新注册人的注册信息;接收和验证新注册人的注册信息;代表最终用户生成密钥对;代表最终用户生成密钥对;接收和授权密钥备份和恢复请求;接收和授权密钥备份和恢复请求;接收和授权证书吊销请求;接收和授权证书吊销请求;按需分发或恢复硬件设备,如令牌。按需分发或恢复硬件设备,如令牌。CA职能职能 验证并标识证书申请者的身份。验证并标识证书申请者的身份。确保确保CA用于签名证书的非对称密钥的质量。用于签名证书的非对称密钥的质量。确保整个签证过程和签名私钥的安全性。确保整个签证过程和签名私钥的安全性。证书材料信
20、息(如公钥证书序列号、证书材料信息(如公钥证书序列号、CA等)等)的管理。的管理。确定并检查证书的有效期限。确定并检查证书的有效期限。确保证书主体标识的唯一性,防止重名。确保证书主体标识的唯一性,防止重名。发布并维护作废证书表。发布并维护作废证书表。对整个证书签发过程做日志记录。对整个证书签发过程做日志记录。向申请人发通知。向申请人发通知。证书库证书库 证书库是一种网上公共信息库,用于证证书库是一种网上公共信息库,用于证书的集中存放,用户可以从此处获得其书的集中存放,用户可以从此处获得其他用户的证书和公钥。他用户的证书和公钥。PKI中的证书中的证书 证书证书(certificate),有时候简
21、称为,有时候简称为cert PKI适用于异构环境中,所以证书的格式在适用于异构环境中,所以证书的格式在所使用的范围内必须统一所使用的范围内必须统一 证书是一个机构颁发给一个安全个体的证证书是一个机构颁发给一个安全个体的证明,所以证书的权威性取决于该机构的权明,所以证书的权威性取决于该机构的权威性威性 一个证书中,最重要的信息是个体名字、一个证书中,最重要的信息是个体名字、个体的公钥、机构的签名、算法和用途个体的公钥、机构的签名、算法和用途 签名证书和加密证书分开签名证书和加密证书分开 最常用的证书格式为最常用的证书格式为X.509 v3X.509证书格式证书格式 版本版本1、2、3 序列号序列
22、号 在在CA内部唯一内部唯一 签名算法标识符签名算法标识符 指该证书中的签名算法指该证书中的签名算法 签发人名字签发人名字 CA的名字的名字 有效时间有效时间 起始和终止时间起始和终止时间 个体名字个体名字X.509证书格式证书格式(续续)个体的公钥信息个体的公钥信息 算法算法 参数参数 密钥密钥 签发人唯一标识符签发人唯一标识符 个体唯一标识符个体唯一标识符 扩展域扩展域 签名签名X.509证书示意图证书示意图密钥备份及恢复系统密钥备份及恢复系统 为了防止用户丢失用于脱密数据的密钥为了防止用户丢失用于脱密数据的密钥以后,密文数据无法被脱密,从而造成以后,密文数据无法被脱密,从而造成数据丢失,
23、数据丢失,PKI应该提供脱密密钥的备应该提供脱密密钥的备份和恢复的机制。脱密密钥的备份和恢份和恢复的机制。脱密密钥的备份和恢复应该由可信机构来完成,如复应该由可信机构来完成,如CA。证书的注销机制证书的注销机制 由于各种原因,证书需要被注销由于各种原因,证书需要被注销 比如,私钥泄漏、密钥更换、用户变化比如,私钥泄漏、密钥更换、用户变化 PKI中注销的方法中注销的方法 CA维护一个维护一个CRL(Certificate Revocation List)基于基于Web的的CRL服务服务 检查检查CRL的的URL应该内嵌在用户的证书中应该内嵌在用户的证书中 可以提供安全途径可以提供安全途径(SSL
24、)访问访问URL 返回注销状态信息返回注销状态信息 其他的用法由浏览器决定其他的用法由浏览器决定PKIPKI应用接口系统应用接口系统 透明性:透明性:PKI必须尽可能地向上层应用屏蔽密必须尽可能地向上层应用屏蔽密码实现服务的实现细节,向用户屏蔽复杂的安码实现服务的实现细节,向用户屏蔽复杂的安全解决方案,使密码服务对用户而言简单易用,全解决方案,使密码服务对用户而言简单易用,并且便于单位、企业完全控制其信息资源。并且便于单位、企业完全控制其信息资源。可扩展性:满足系统不断发展的需要,证书库可扩展性:满足系统不断发展的需要,证书库和和CRL有良好的可扩展性。有良好的可扩展性。支持多种用户:提供文件
25、传送、文件存储、电支持多种用户:提供文件传送、文件存储、电子邮件、电子表单、子邮件、电子表单、WEB应用等的安全服务。应用等的安全服务。互操作性:不同企业、不同单位的互操作性:不同企业、不同单位的PKI实现可实现可能是不同的,必须支持多环境、多操作系统的能是不同的,必须支持多环境、多操作系统的PKI的互操作性。的互操作性。CA信任关系信任关系 当一个安全个体看到另一个安全个体出示的证书时,当一个安全个体看到另一个安全个体出示的证书时,他是否信任此证书?他是否信任此证书?信任难以度量,总是与风险联系在一起信任难以度量,总是与风险联系在一起 可信可信CACA如果一个个体假设如果一个个体假设CACA
26、能够建立并维持一个准确能够建立并维持一个准确的的“个体个体-公钥属性公钥属性”之间的绑定,则他可以信之间的绑定,则他可以信任该任该CACA,该,该CACA为为可信可信CACA 信任模型信任模型基于层次结构的信任模型基于层次结构的信任模型交叉认证交叉认证以用户为中心的信任模型以用户为中心的信任模型CA层次结构层次结构 对于一个运行对于一个运行CACA的大型权威机构而言,签发证书的大型权威机构而言,签发证书的工作不能仅仅由一个的工作不能仅仅由一个CACA来完成来完成 它可以建立一个它可以建立一个CACA层次结构层次结构根CA中间CACA层次结构的建立层次结构的建立 根根CACA具有一个自签名的证书
27、具有一个自签名的证书 根根CACA依次对它下面的依次对它下面的CACA进行签名进行签名 层次结构中叶子节点上的层次结构中叶子节点上的CACA用于对安全个体进行签名用于对安全个体进行签名 对于个体而言,它需要信任根对于个体而言,它需要信任根CACA,中间的,中间的CACA可以不必关可以不必关心心(透明的透明的);同时它的证书是由底层的;同时它的证书是由底层的CACA签发的签发的 在在CACA的机构中,要维护这棵树的机构中,要维护这棵树在每个节点在每个节点CACA上,需要保存两种上,需要保存两种certcert(1)Forward Certificates:(1)Forward Certifica
28、tes:其他其他CACA发给它的发给它的certscerts(2)Reverse Certificates:(2)Reverse Certificates:它发给其他它发给其他CACA的的certscerts层次结构层次结构CA中证书的验证中证书的验证 假设个体假设个体A A看到看到B B的一个证书的一个证书 B B的证书中含有签发该证书的的证书中含有签发该证书的CACA的信息的信息 沿着层次树往上找,可以构成一条证书链,直到根证书沿着层次树往上找,可以构成一条证书链,直到根证书 验证过程:验证过程:沿相反的方向,从根证书开始,依次往下验证每一个沿相反的方向,从根证书开始,依次往下验证每一个证
29、书中的签名。其中,根证书是自签名的,用它自己证书中的签名。其中,根证书是自签名的,用它自己的公钥进行验证的公钥进行验证一直到验证一直到验证B B的证书中的签名的证书中的签名如果所有的签名验证都通过,则如果所有的签名验证都通过,则A A可以确定所有的证书可以确定所有的证书都是正确的,如果他信任根都是正确的,如果他信任根CACA,则他可以相信,则他可以相信B B的证书的证书和公钥和公钥 问题:证书链如何获得?问题:证书链如何获得?证书链的验证示例证书链的验证示例CA认证模型 如果用户 i和j都属于CA111,那么i和j之间的密钥交换,只需要持有CA111开具的证明书就可以,即:对用户 i和j的公钥
30、PKi 和PKj分别盖章,如(Pki)ca111,(Pkj)ca111,那么用户i和j就能证明密钥是对方的密钥。CA认证模型 如果用户j的证明书是CA122开具的,那么情况就复杂了,各自具有:i方:(Pki)ca111,(CA111)CA11,(CA11)CA1 j方:(Pkj)ca122,(CA122)CA12,(CA12)CA1 这 就 形 成 了 层 层 证 明 的 证 明 链(certification chain)。这里,符号(CA11)CA1是CA1对C11的公钥盖章,只是证明本公钥是C11的。CA 证明链CACA1CA2CA11CA12CA21CA22个人证书个人证书个人证书个人
31、证书(PKI)CA11,(,(PKCA11)CA1,(,(PKCA1)CA(PKJ)CA21,(,(PKCA21)CA2,(,(PKCA2)CAij交叉认证交叉认证两个不同的两个不同的CACA层次结构之间可以建立信任关系层次结构之间可以建立信任关系 单向交叉认证单向交叉认证一个一个CACA可以承认另一个可以承认另一个CACA在一定名字空间范围内的所有被授在一定名字空间范围内的所有被授权签发的证书权签发的证书 双向交叉认证双向交叉认证交叉认证可以分为交叉认证可以分为 域内交叉认证域内交叉认证(同一个层次结构内部同一个层次结构内部)域间交叉认证域间交叉认证(不同的层次结构之间不同的层次结构之间)交
32、叉认证的约束交叉认证的约束 名字约束名字约束 路径长度约束路径长度约束 策略约束策略约束PKIPKI更广泛的应用更广泛的应用 电子商务的核心问题是安全问题,虽然它有潜在的巨大市场电子商务的核心问题是安全问题,虽然它有潜在的巨大市场和廉价的成本,但出于对风险的考虑,一个谨慎的商家也不和廉价的成本,但出于对风险的考虑,一个谨慎的商家也不会在一个开放和匿名的环境里进行有一定规模和效益的商业会在一个开放和匿名的环境里进行有一定规模和效益的商业行为。行为。-PKIPKI技术正是解决电子商务安全问题的关键,综技术正是解决电子商务安全问题的关键,综合合 PKIPKI的各种应用,我们可以建立一个可信任和足够安
33、全的的各种应用,我们可以建立一个可信任和足够安全的网络。在这里,我们有可信的认证中心,典型的如银行、政网络。在这里,我们有可信的认证中心,典型的如银行、政府或其他第三方。在通信中,利用数字证书可消除匿名带来府或其他第三方。在通信中,利用数字证书可消除匿名带来的风险,利用加密技术可消除开放网络带来的风险,这样,的风险,利用加密技术可消除开放网络带来的风险,这样,商业交易就可以安全可靠地在网上进行。商业交易就可以安全可靠地在网上进行。网上商业行为只是网上商业行为只是PKIPKI技术目前比较热门的一种应用,必须看技术目前比较热门的一种应用,必须看到,到,PKIPKI还是一门处于发展中的技术。例如,除了对身份认证还是一门处于发展中的技术。例如,除了对身份认证的需求外,现在又提出了对交易时间戳的认证需求。的需求外,现在又提出了对交易时间戳的认证需求。PKIPKI的应的应用前景也决不仅限于网上的商业行为,事实上,网络生活中用前景也决不仅限于网上的商业行为,事实上,网络生活中的方方面面都有的方方面面都有PKIPKI的应用天地,不只在有线网络,甚至在无的应用天地,不只在有线网络,甚至在无线通信中,线通信中,PKI PKI 技术都已经得到了广泛的应用技术都已经得到了广泛的应用