54
第 4 第 第第第第第第PKI 第第第 第第 第第 第第第第第第第第第第第第第第 [email protected] 22/5/6

第 4 讲 公钥基础设施( PKI )

  • Upload
    clare

  • View
    134

  • Download
    0

Embed Size (px)

DESCRIPTION

第 4 讲 公钥基础设施( PKI ). 周福才 教授 博导 东北大学信息学院计算机应用所 [email protected]. 1. 数字证书的引入 2.PKI 体系结构 3. 数字证书的生命周期. 2014/9/6. 1. 1. 1. 数字证书的引入. 2014/9/6. 2. 2. 安全结构. 安全传输协议 SSL/TLS, SSH …. 数字证书 &PKI. 密码学应用 对称加密、非对称加密、消息摘要、数字签名、消息认证码、密钥协商. 密码学理论. 2014/9/6. 3. 3. 挑战 - 应答. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 4 讲 公钥基础设施( PKI )

第 4 讲 公钥基础设施( PKI )

周福才 教授 博导

东北大学信息学院计算机应用所

[email protected]

23/4/21

Page 2: 第 4 讲 公钥基础设施( PKI )

2223/4/21

1. 数字证书的引入

2.PKI 体系结构

3. 数字证书的生命周期

Page 3: 第 4 讲 公钥基础设施( PKI )

3323/4/21

1. 数字证书的引入

Page 4: 第 4 讲 公钥基础设施( PKI )

4423/4/21

密码学理论

密码学应用

对称加密、非对称加密、消息摘要、数字签名、消息认证码、密钥协商

数字证书 &PKI

安全传输协议SSL/TLS, SSH …

安全结构

Page 5: 第 4 讲 公钥基础设施( PKI )

挑战 - 应答 客户向认证服务器发出请求,要求进行身份认证 认证服务器从用户数据库中查询用户是否是合法的用户,若

不是,则不做进一步处理 认证服务器内部产生一个随机数,作为“提问”,发送给客户 客户将用户名字和随机数合并,使用单向 Hash 函数(例如

MD5 算法)生成一个字节串作为应答 认证服务器将应答串与自己的计算结果比较,若二者相同,

则通过一次认证;否则,认证失败 CRP ( Challenge-Response Protocol )可以使用对称密

钥或非对称密钥 对称密码:验证者和示证者共享一个秘密 (share asecret key) 公钥密码体制:秘密值为示证者的私钥( private key )

Page 6: 第 4 讲 公钥基础设施( PKI )

挑战 - 应答BobAlice

Hash(Alice,c)

Enc(c)

Request

Alice公钥

Page 7: 第 4 讲 公钥基础设施( PKI )

挑战 - 应答需要解决的问题 在基于非对称密钥的 CRP 中,验证者需要用示证

者的公钥对挑战值加密 验证者如何确定:这个公钥与示证者的身份是对应的?

在 SSL 中也有同样的问题 SSL 客户端如何能确定数字证书中的公钥与服务器是关

联的?

Page 8: 第 4 讲 公钥基础设施( PKI )

数字证书 通过由可信认证机构签发的数字证书,验证者可

以确定证书中包含的公钥是属于该用户的。证书需要有合适的有效期限

证书主体身份信息

证书主体公钥

CA 身份信息

CA 私钥签名

将身份与公钥绑定在一起,这个身份可以是一个用户或组织的名称、也可以是其它信息如地址、年龄等

颁发者的数字签名

Page 9: 第 4 讲 公钥基础设施( PKI )

X.509 证书格式

Page 10: 第 4 讲 公钥基础设施( PKI )

版本: 一般为 V1 , V2 和 V3 ,目前常用 V3 。 序列号:是由 CA 分配给证书的唯一的数字型标识符。 签名算法标识:对证书进行签名的算法和算法所需的参数。 颁发者:为 PCA 的名称。 有效期:定义证书有效的起始日期和结束日期。 证书主体:为证书持有者的唯一识别名称( DN )。 证书主体的公开密钥:信息包括算法名称、需要的参数和公开密钥。 颁发者唯一标识:可选项不推荐使用。防止颁发者的名字出现重用。 主体唯一标识:可选项不推荐使用。防止主体的名字出现重用。 扩展项:用于其它扩展内容。 签名:对整个证书的散列值的签名。任何一方都能认证证书是否有效

(必须知道 CA 的公钥)。

X.509 证书格式

Page 11: 第 4 讲 公钥基础设施( PKI )

一个数字证书:包含数字签名证书的发证机关;任何人都可以验证数字证书的真实性。

任何人都可以验证了示证者的证书真假,CA的公钥必须是尽人皆知的。

由 CA 签发的数字证书含有示证者的公钥。

CA 签发的数字证书

Page 12: 第 4 讲 公钥基础设施( PKI )

自签名证书 自签名证书包括:

证书所有者的公钥、信息和签名使用非对称密钥,上面所说的秘密值就是证明

者的私钥 什么时候、如何使用自签名证书?

视安全需求而定如果需要完成重要软件的组件之间最高级别的

认证,则不能使用自签名证书 在创建与安装由认证机构签名并颁发的证书之前,

自签名证书可以用来测试 SSL 的设备配置。

Page 13: 第 4 讲 公钥基础设施( PKI )

如何生成、储存、颁发、使用、撤销公钥和数字证书?

公钥基础设施( PKI )

Page 14: 第 4 讲 公钥基础设施( PKI )

PKI 动机 公钥技术

如何提供数字签名功能 如何实现不可否认服务 公钥和身份如何建立联系

为什么要相信这是某个人的公钥 公钥如何管理

方案:引入证书 (certificate) 通过证书把公钥和身份关联起来

Page 15: 第 4 讲 公钥基础设施( PKI )

151523/4/21

2.PKI 体系结构

Page 16: 第 4 讲 公钥基础设施( PKI )

PKI(Public Key Infrastructure)

定义 用公钥原理和技术实施和提供安全服务的具有普适性的安全基

础设施 一个完整的 PKI 应该包括

认证机构 (CA) 证书库 证书注销 密钥备份和恢复 自动密钥更新 密钥历史档案 交叉认证 支持不可否认 时间戳 客户端软件

Page 17: 第 4 讲 公钥基础设施( PKI )

PKI 的关键点:性能:尽量少用公钥加解密操作,在实用中,往往结合对称密码技术,避免对大量数据作加解密操作;除非需要数据来源认证才使用签名技术,否则就使用 MAC 或者 HMAC 实现数据完整性检验在线 /离线模型

签名的验证可以在离线情况下完成( off line )用公钥实现保密性也可以在离线情况下完成( off line )离线模式的问题:无法获得最新的证书注销信息

证书中所支持算法的通用性在提供实际的服务之前,必须协商到一致的算法

个体命名:如何命名一个安全个体,取决于 CA 的命名登记管理工作

Page 18: 第 4 讲 公钥基础设施( PKI )

PKI 主要组成

CA认证机构( CA ):证书颁发者

证书申请者验证者

证书是否有效?

证书交互

证书颁发 签名者:该证书主体的身份(或其它信息)与公钥绑定

验证者:出于认证目的使用证书的一方

签名者与验证者都称作终端实体

Page 19: 第 4 讲 公钥基础设施( PKI )

PKI 主要组成(细化)

证书 &CRL数据库

证书申请者 验证者

RA

CA

CA

CRL 发布者

认证机构

证书撤销列表

PKI 用户

PKI管理实体

发布证书

发布证书及CRL

发布 CRL

证书认证业务声明 /证书政策协议( CPS/CPA )

证书下载与查询

CA之间交互

用户注册

Page 20: 第 4 讲 公钥基础设施( PKI )

认证机构( CA )

认证:将一个身份信息与一个公钥绑定的行为例如:颁发证书

认证机构:负责认证的实体 CA运行按照证书认证业务声明( CPS )

CPS描述了 CA 的操作规程 证书按照证书政策协议( CPA )颁发给终端实体

CPA描述了在该政策下证书的颁发和使用规则

Page 21: 第 4 讲 公钥基础设施( PKI )

证书数据库

只通过 CA 对证书进行发布是不够的,验证者需要比较容易地找到对应于不同签名者的公钥 需要证书数据库( CR ) CR 可以由以下几种方式实现:

轻量级目录管理协议( LDAP )Web 服务器DNS共用数据库

Page 22: 第 4 讲 公钥基础设施( PKI )

证书撤销以及 CRL 数据库 验证者通过证书撤销机制可以得知一个证书是否被

作废 证书撤销与证书过期

证书过期是指过了有效期后证书自动失效(如驾照的有效期)

证书撤销是某事件发生,使得公钥与主体身份之间的绑定关系失效,如:主体身份发生改变(如女人婚后姓氏发生改变)私钥泄露非法用户(如司机违章,驾照被吊销)

撤销证书由 CRL 发布者发布到 CRL 数据库中

Page 23: 第 4 讲 公钥基础设施( PKI )

证书的注销机制

由于各种原因,证书需要被注销 比如,私钥泄漏、密钥更换、用户变化

PKI 中注销的方法 CA维护一个 CRL(Certificate Revocation List)

基于 Web 的 CRL 服务 检查 CRL 的 URL 应该内嵌在用户的证书中 可以提供安全途径 (SSL)访问 URL

返回注销状态信息 其他的用法由浏览器决定

Page 24: 第 4 讲 公钥基础设施( PKI )

证书撤销列表

Page 25: 第 4 讲 公钥基础设施( PKI )

252523/4/21

3. 数字证书的生命周期

Page 26: 第 4 讲 公钥基础设施( PKI )

公钥证书生命周期

密钥 /证书生成

密钥 /证书使用

密钥 /证书失效

Page 27: 第 4 讲 公钥基础设施( PKI )

密钥 /证书生成过程

初始化过程主要包括:

证书主体注册密钥生成证书生成与密钥 / 证书发布证书传播密钥备份(如果需要的话)

Page 28: 第 4 讲 公钥基础设施( PKI )

证书主体注册

一个独立用户或进程的身份被建立并验证 对于该过程控制的强度取决于 CPS/CP :

证书认证业务声明( CPS )描述 CA 的操作规程

证书政策( CP )指定了如何应用某公私钥对(数字签名、数据加密、网站一致性验证等)。该信息应由 CA 发布。

Page 29: 第 4 讲 公钥基础设施( PKI )

证书主体注册

主体(终端实体)

注册机构( RA )

认证机构( CA )

1.注册请求

3.注册提交

2.注册回复

4.注册建立请求

5.注册建立结果6.注册结果

7. 证书请求

8. 证书回复

Page 30: 第 4 讲 公钥基础设施( PKI )

密钥生成 密钥对可以在不同的地点产生:

终端实体(如用户的 PC 主机)RACA可信的第三方密钥生成设备

需要考虑的因素:性能(例如在移动电话中产生密钥)确定性密钥用途(例如机密性、不可否认性)

Page 31: 第 4 讲 公钥基础设施( PKI )

密钥用途(例如机密性、不可否认性)下面的原则是对于不同的用途使用不同的密钥

用于数字签名(相应的证书成为验证证书)用于数据加密(相应的证书成为加密证书)

密钥用途对于密钥产生地点有影响如果密钥用于实现不可否认性,则应由终端实

体产生,私钥只能该实体拥有作为 PKI 系统中最可信的实体 CA ,也可以知

道私钥,对于这一点有争议。

密钥生成

Page 32: 第 4 讲 公钥基础设施( PKI )

Java环境: KeyTool用于创建、储存、管理密钥功能:

生成公私钥对将 X.509 中 V1 、 V2 、 V3 版本的证书作为文件储存,并能够输入、输出

生成自签名证书发布证书( PKCS#10 )请求给 CA输入证书恢复(从 CA得到)将公钥证书标记为可信

密钥生成

Page 33: 第 4 讲 公钥基础设施( PKI )

证书生成

证书生成:由 CA 生成

如果公钥是由终端实体而不是 CA 产生,则该公钥应通过安全方式传给 CA

最终实体得到证书

Page 34: 第 4 讲 公钥基础设施( PKI )

一般的证书产生流程

状态查询

认证机构证书资料库

注册机构RA

发布证书及 CRL

私钥

证书

公钥

证书申请证书

公钥公钥公钥

Page 35: 第 4 讲 公钥基础设施( PKI )

密钥 /证书发布 公钥和证书的交付

直接交给证书拥有者(主体)交给远程数据库(证书和 CRL 数据库)以上两种都交付

向 CA 请求并接收证书的过程需要安全的协议RFC2510互联网 X.509 公钥基础设施证书管理

协议( CMP )RFC2511互联网 X.509 证书请求管理格式

( CRMF )

Page 36: 第 4 讲 公钥基础设施( PKI )

证书传播

如何让验证者得到证书面对面,手递手,物理上隐秘交付将证书发送到公开的数据库中

要求具有在线恢复功能在某个域内按协议分发(如安全的电子邮件)

Page 37: 第 4 讲 公钥基础设施( PKI )

公钥证书生命周期

密钥 /证书生成

密钥 /证书使用

密钥 /证书失效

Page 38: 第 4 讲 公钥基础设施( PKI )

密钥 /证书的使用 证书恢复(从证书数据库中)

需要验证者的请求 证书验证(需要验证者请求)

验证证书完整性(如验证颁发者数字签名,需要相应CA 的公钥)

证书是否过期 证书是否被撤销

密钥恢复 对于终端实体忘记私钥的情况,便于恢复

密钥更新当证书邻近有效期时,发布新的密钥对

Page 39: 第 4 讲 公钥基础设施( PKI )

认证路径 开始的时候,签名者掌握的 CA 公钥数量是有限

的 如果用户得到某 CA 颁发的证书,而该 CA 的公

钥用户不掌握,则还需要额外的证书来得到该公钥

这样就需要一个证书链,包括一个 CA 给用户颁发的证书,可能还有多个 CA 的证书,这些证书是由其他的 CA 颁发的(认证路径)

Page 40: 第 4 讲 公钥基础设施( PKI )

PKI 信任模型 需要解决的问题:

哪些实体的证书可以被信任?这样的信任如何被建立?在给定的环境下,这种信任能够被限制和控制

的情况有哪些?

Page 41: 第 4 讲 公钥基础设施( PKI )

几种信任模型:CA层次结构基于政策的 CA层次分布式信任结构四角模型网状模型

当第一个实体作出假定:第二个实体总是按照它所期望的方式运作,则说第一个实体信任第二个实体

PKI 信任模型

Page 42: 第 4 讲 公钥基础设施( PKI )

CA层次结构

认证机构 终端实体 认证

自签名证书 顶级CA

Page 43: 第 4 讲 公钥基础设施( PKI )

顶级 CA ( TLCA )—也被称作根 CATLCA 颁发一个自签名证书,作为该层次结构

中每个实体的信任基础TLCA 认证下属每个 CA以此类推,每个 CA 都认证各自下属的 CA从第二层到最后一层的 CA 可以认证终端实体

结构中每个实体都必须拥有 TLCA 的公钥 在该模型中, TLCA 的公钥是日后实体认证、证

书处理的基础

CA层次结构

Page 44: 第 4 讲 公钥基础设施( PKI )

如果两个用户同属一个 CA ,则认为它们都拥有该 CA 的公钥

各个 CA 必须呈层次结构 结构中链接的每一方都能验证所有 CA

每个 CA 都有上层和下层实体的证书 每个实体都信任上层实体的证书 这种结构使得用户能够认证该结构中任何 CA 颁

发的任何证书

CA层次结构

Page 45: 第 4 讲 公钥基础设施( PKI )

自签名证书

自签名证书包括:公钥、证书拥有者的信息和拥有者的签名有一个私钥,但不用来通过第三方 CA 验证该证

书的来源

Page 46: 第 4 讲 公钥基础设施( PKI )

公钥证书生命周期

密钥 /证书生成

密钥 /证书使用

密钥 /证书失效

Page 47: 第 4 讲 公钥基础设施( PKI )

密钥 /证书失效 证书过期— CA 可以进行如下三种操作:

无操作,该终端实体不再在该 PKI 中注册证书延期,原来的公钥被放到一个新的证书中,拥有新的有效期

证书更新,生成新的密钥对并颁发新的证书 证书撤销

一个已颁发的证书未过期,却不能再使用怀疑私钥泄露原来终端实体状态变化

Page 48: 第 4 讲 公钥基础设施( PKI )

证书撤销

由谁、如何管理证书撤销( Who 、 How )? WHO :

CA负责发布撤销信息验证者必须确定证书未被撤销

CA 可以通过证书撤销列表( CRL )发布撤销信息

在线查询机制:在线证书状态查询( OCSP )

Page 49: 第 4 讲 公钥基础设施( PKI )

PKI 有关的标准

Certificates —— X.509 v.3

交叉认证 —— PKIX group in IETF(RFC 2459)

智能卡 /硬件插件 PKCS #11

PKCS 系列 目录服务 LDAP

安全套接层 SSL 协议 SET 协议 其他: IPSec 、 S/MIME 、时间戳、 XML

Page 50: 第 4 讲 公钥基础设施( PKI )

PKCS( 公钥密码系统标准 ) 系列标准

PKCS #1 RSA Encryption Standard

PKCS #3 Diffie-Hellman Key-Agreement Standard

PKCS # 5 Password-Based Encryption Standard

PKCS #6 Extended-Certificate Syntax Standard

PKCS #7 Cryptographic Message Syntax Standard

PKCS #8 Private-Key Information Syntax Standard

Page 51: 第 4 讲 公钥基础设施( PKI )

PKCS 系列标准 ( 续 )

PKCS #9 Selected Attribute Types

PKCS #10 Certification Request Syntax Standard

PKCS #11 Cryptographic Token Interface Standard

PKCS #12 Personal Information Exchange Standard

PKCS #13 Elliptic Curve Cryptography Standard

PKCS #15 Cryptographic Token Information Format Standard

Page 52: 第 4 讲 公钥基础设施( PKI )

客户通过 Web申请一个证书

PKCS#10

Page 53: 第 4 讲 公钥基础设施( PKI )

CA 处理证书请求

PKCS#7

Page 54: 第 4 讲 公钥基础设施( PKI )

TDT Lab, SJTU, China23/4/21 TDT Lab, SJTU, China