资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第4讲 公钥基础设施(PKI)周福才 教授 博导东北大学信息学院计算机应用所fczhoumail.neu.edu.cn*2 2*o 1.数字证书的引入o 2.PKI体系结构o 3.数字证书的生命周期3 3*1.数字证书的引入4 4*密码学理论密码学应用对称加密、非对称加密、消息摘要、数字签名、 消息认证码、密钥协商数字证书&PKI安全传输协议 SSL/TLS, SSH 安全结构挑战-应答o 客户向认证服务器发出请求,要求进行身份认证 o 认证服务器从用户数据库中查询用户是否是合法的用户,若 不是,则不做进一步处理 o 认证服务器内部产生一个随机数,作为“提问”,发送给客户 o 客户将用户名字和随机数合并,使用单向Hash函数(例如 MD5算法)生成一个字节串作为应答 o 认证服务器将应答串与自己的计算结果比较,若二者相同, 则通过一次认证;否则,认证失败o CRP(Challenge-Response Protocol )可以使用对称密 钥或非对称密钥n 对称密码:验证者和示证者共享一个秘密(share asecret key) n 公钥密码体制:秘密值为示证者的私钥(private key)挑战-应答BobAliceHash(Alice,c )Enc(c)RequestAlice 公钥挑战-应答需要解决的问题 o 在基于非对称密钥的CRP中,验证者需要用示证 者的公钥对挑战值加密 n验证者如何确定:这个公钥与示证者的身份是对应的?o 在SSL中也有同样的问题 nSSL客户端如何能确定数字证书中的公钥与服务器是关 联的?数字证书o 通过由可信认证机构签发的数字证书,验证者可 以确定证书中包含的公钥是属于该用户的。证书 需要有合适的有效期限证书主体身份信息证书主体公钥CA身份信息CA私钥签名将身份与公钥绑定在一起,这个身份可 以是一个用户或组织的名称、也可以是 其它信息如地址、年龄等颁发者的数字签名X.509证书格式o版本: 一般为V1,V2和V3,目前常用V3。 o序列号:是由CA分配给证书的唯一的数字型标识符。 o签名算法标识:对证书进行签名的算法和算法所需的参数。 o颁发者:为PCA的名称。 o有效期:定义证书有效的起始日期和结束日期。 o证书主体:为证书持有者的唯一识别名称(DN)。 o证书主体的公开密钥:信息包括算法名称、需要的参数和公开密钥。 o颁发者唯一标识:可选项不推荐使用。防止颁发者的名字出现重用。 o主体唯一标识:可选项不推荐使用。防止主体的名字出现重用。 o扩展项:用于其它扩展内容。 o签名:对整个证书的散列值的签名。任何一方都能认证证书是否有效 (必须知道CA的公钥)。X.509证书格式o一个数字证书:包含 数字签名证书的发证 机关;任何人都可以 验证数字证书的真实 性。 o任何人都可以验证了 示证者的证书真假, 的公钥必须是尽 人皆知的。 o由CA签发的数字证书 含有示证者的公钥。CA签发的数字证书自签名证书o 自签名证书包括: n证书所有者的公钥、信息和签名 n使用非对称密钥,上面所说的秘密值就是证明 者的私钥 o 什么时候、如何使用自签名证书? n视安全需求而定 n如果需要完成重要软件的组件之间最高级别的 认证,则不能使用自签名证书 o 在创建与安装由认证机构签名并颁发的证书之前 ,自签名证书可以用来测试SSL的设备配置。如何生成、储存、颁发、使用、撤销公钥和数字证书?公钥基础设施(PKI)PKI动机o 公钥技术 n如何提供数字签名功能 n如何实现不可否认服务 n公钥和身份如何建立联系 o为什么要相信这是某个人的公钥 n公钥如何管理 o 方案:引入证书(certificate)n通过证书把公钥和身份关联起来1515*2.PKI体系结构PKI(Public Key Infrastructure)定义 n 用公钥原理和技术实施和提供安全服务的具有普适性的安全基 础设施 一个完整的PKI应该包括 n 认证机构(CA) n 证书库 n 证书注销 n 密钥备份和恢复 n 自动密钥更新 n 密钥历史档案 n 交叉认证 n 支持不可否认 n 时间戳 n 客户端软件PKI的关键点:n性能:尽量少用公钥加解密操作,在实用中,往往结合对称密 码技术,避免对大量数据作加解密操作;除非需要数据来源认证才 使用签名技术,否则就使用MAC或者HMAC实现数据完整性检验 n在线/离线模型 签名的验证可以在离线情况下完成(off line) 用公钥实现保密性也可以在离线情况下完成(off line) 离线模式的问题:无法获得最新的证书注销信息 n证书中所支持算法的通用性 在提供实际的服务之前,必须协商到一致的算法 n个体命名:如何命名一个安全个体,取决于CA的命名登记管 理工作PKI主要组成CA认证机构(CA): 证书颁发者证书申请者验证者证书是否有效?证书交互证书颁发签名者:该证书主体 的身份(或其它信息 )与公钥绑定验证者:出于认证目 的使用证书的一方签名者与验证者都称 作终端实体PKI主要组成(细化)证书&CRL 数据库证书申请者验证者RACACACRL发布者认证机构证书撤销列表PKI用户PKI管理实体发布证书发布证书及CRL发布CRL证书认证业务声明 /证书政策协议( CPS/CPA)证书下载与查询CA之间交互用户注册认证机构(CA)o 认证: n将一个身份信息与一个公钥绑定的行为 n例如:颁发证书 o 认证机构:负责认证的实体 o CA运行按照证书认证业务声明(CPS) nCPS描述了CA的操作规程 o 证书按照证书政策协议(CPA)颁发给终端实体 nCPA描述了在该政策下证书的颁发和使用规则证书数据库只通过CA对证书进行发布是不够的,验证者需要比较容易地找到对应于不同签名者的公钥 o 需要证书数据库(CR) o CR可以由以下几种方式实现: n轻量级目录管理协议( LDAP ) nWeb服务器 nDNSn共用数据库证书撤销以及CRL数据库o 验证者通过证书撤销机制可以得知一个证书是否 被作废 o 证书撤销与证书过期 n证书过期是指过了有效期后证书自动失效(如 驾照的有效期) n证书撤销是某事件发生,使得公钥与主体身份 之间的绑定关系失效,如: o主体身份发生改变(如女人婚后姓氏发生改变) o私钥泄露 o非法用户(如司机违章,驾照被吊销) o 撤销证书由CRL发布者发布到CRL数据库中证书的注销机制 由于各种原因,证书需要被注销n 比如,私钥泄漏、密钥更换、用户变化 PKI中注销的方法n CA维护一个CRL(Certificate Revocation List) 基于Web的CRL服务n 检查CRL的URL应该内嵌在用户的证书中n 可以提供安全途径(SSL)访问URLn 返回注销状态信息n 其他的用法由浏览器决定证书撤销列表2525*3.数字证书的生命周期公钥证书生命周期密钥/证书 生成密钥/证书 使用密钥/证书 失效密钥/证书生成过程o 初始化过程 主要包括: n证书主体注册 n密钥生成 n证书生成与密钥/证书发布n证书传播 n密钥备份(如果需要的话)证书主体注册o 一个独立用户或进程的身份被建立并验证 o 对于该过程控制的强度取决于CPS/CP:n证书认证业务声明(CPS)描述CA的操作规程n证书政策(CP)指定了如何应用某公私钥对( 数字签名、数据加密、网站一致性验证等)。 该信息应由CA发布。证书主体注册主体 (终端实体)注册机构 (RA)认证机构 (CA)1.注册请求3.注册提交2.注册回复4.注册建立请求5.注册建立结果6.注册结果7.证书请求8.证书回复密钥生成o 密钥对可以在不同的地点产生: n终端实体(如用户的PC主机) nRA nCAn可信的第三方密钥生成设备 o 需要考虑的因素: n性能(例如在移动电话中产生密钥) n确定性 n密钥用途(例如机密性、不可否认性)o 密钥用途(例如机密性、不可否认性) n下面的原则是对于不同的用途使用不同的密钥 o用于数字签名(相应的证书成为验证证书) o用于数据加密(相应的证书成为加密证书) o 密钥用途对于密钥产生地点有影响 n如果密钥用于实现不可否认性,则应由终端实 体产生,私钥只能该实体拥有 n作为PKI系统中最可信的实体CA,也可以知道 私钥,对于这一点有争议。密钥生成o Java环境:KeyTooln用于创建、储存、管理密钥 n功能: o生成公私钥对 o将X.509中V1、V2、V3版本的证书作为文件储 存,并能够输入、输出 o生成自签名证书 o发布证书(PKCS#10)请求给CA o输入证书恢复(从CA得到) o将公钥证书标记为可信密钥生成证书生成o 证书生成: n由CA生成 o如果公钥是由终端实体而不是CA产生,则该公钥 应通过安全方式传给CA n最终实体得到证书一般的证书产生流程状态查询认证机构证书资料库注册机构 RA发布证书 及CRL私钥证书公钥证书申请证书公钥公钥公钥密钥/证书发布o 公钥和证书的交付 n直接交给证书拥有者(主体) n交给远程数据库(证书和CRL数据库)n以上两种都交付 o 向CA请求并接收证书的过程需要安全的协议 nRFC2510互联网X.509公钥基础设施证书管理协 议(CMP) nRFC2511互联网X.509证书请求管理格式( CRMF)证书传播o 如何让验证者得到证书 n面对面,手递手,物理上隐秘交付 n将证书发送到公开的数据库中 o要求具有在线恢复功能 n在某个域内按协议分发(如安全的电子邮件)公钥证书生命周期密钥/证书 生成密钥/证书 使用密钥/证书 失效密钥/证书的使用o 证书恢复(从证书数据库中) n需要验证者的请求 o 证书验证(需要验证者请求) n验证证书完整性(如验证颁发者数字签名,需要相应 CA的公钥)n证书是否过期 n证书是否被撤销 o 密钥恢复 n对于终端实体忘记私钥的情况,便于恢复 o 密钥更新 n当证书邻近有效期时,发布新的密钥对认证路径o 开始的时候,签名者掌握的CA公钥数量是有限 的 o 如果用户得到某CA颁发的证书,而该CA的公钥 用户不掌握,则还需要额外的证书来得到该公钥 o 这样就需要一个证书链,包括一个CA给用户颁 发的证书,可能还有多个CA的证书,这些证书 是由其他的CA颁发的(认证路径)PKI信任模型o 需要解决的问题: n哪些实体的证书可以被信任? n这样的信任如何被建立? n在给定的环境下,这种信任能够被限制和控制 的情况有哪些?o 几种信任模型: nCA层次结构 n基于政策的CA层次n分布式信任结构 n四角模型 n网状模型 o 当第一个实体作出假定:第二个实体总是按照它 所期望的方式运作,则说第一个实体信任第二个 实体PKI信任模型CA层次结构认证机构终端实体认证自签名证书顶级CAo 顶级CA(TLCA)也被称作根CA nTLCA颁发一个自签名证书,作为该层次结构中 每个实体的信任基础 nTLCA认证下属每个CA n以此类推,每个CA都认证各自下属的CA n从第二层到最后一层的CA可以认证终端实体 o 结构中每个实体都必须拥有TLCA的公钥 o 在该模型中,TLCA的公钥是日后实体认证、证 书处理的基础CA层次结构o 如果两个用户同属一个CA,则认为它们都拥有 该CA的公钥 o 各个CA必须呈层次结构 o 结构中链接的每一方都能验证所有CA n每个CA都有上层和下层实体的证书o 每个实体都信任上层实体的证书 o 这种结构使得用户能够认证该结构中任何CA颁 发的任何证书CA层次结构自签名证书o 自签名证书包括: n公钥、证书拥有者的信息和拥有者的签名 n有一个私钥,但不用来通过第三方CA验证该证 书的来源公钥证书生命周期密钥/证书 生成密钥/证书 使用密钥/证书 失效密钥/证书失效o 证书过期CA可以进行如下三种操作: n无操作,该终端实体不再在该PKI中注册n证书延期,原来的公钥被放到一个新的证书中 ,拥有新的有效期 n证书更新,生成新的密钥对并颁发新的证书 o 证书撤销 n一个已颁发的证书未过期,却不能再使用 o怀疑
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号