数字证书
公钥基础设施 PKI
- PKI 系统: 由硬件、软件、人、策略和程序构成的一整套体系
- 功能: 用来创建,管理,存储,分发和撤销建立在非对称密码算法之上的数字证书
- 目的: 用来安全、便捷、高效地获得公钥
PKIX(Public Key Infrastructure X.509) 模型的关键元素
- 端实体: 必备元素。可以是一个终端用户、设备(如应用服务器、路由器等),或是其他可以在一个公钥数字证书作用范围中被认证的实体。终端实体支持 PKI 相关的设备
- 签证机构 CA: 证书和证书撤销列表的发行人,常常在其上运行着一个或多个注册机构,同时还承担一些管理任务
- 注册机构 RA: 可选元素。可承担一些签证机构的管理任务。一般来说都是和端实体的注册相关的任务,也可支持一些其他的管理任务
- 证书撤销列表发布点: 可选元素。签证机构可通过它来发布证书撤销列表
- 证书存取库: 必备元素。提供了存取数字证书和证书撤销列表的方法,可以被终端用户检索
X.509
- X.509 是基于公钥密码体制和数字签名的服务
- 标准中并未规定使用某个特定的算法,但是推荐使用 RSA
- 其数字签名需要用的 Hash 函数,但是没有规定具体的 Hash 算法
X.509 证书
- X.509 的核心是与每个用户相关的公钥证书
- 证书由一些可信的签证机构(CA)创建并被 CA 或用户放入目录服务器中
- 目录服务器为用户获得证书提供一种简单的存取方式,本身不创建公钥和证书
X.509 证书包含三个文件
- key: 服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端收到的数据的解密
- csr: 证书签名请求文件,用于提交给证书签证机构 CA 对证书签名
- crt: 由证书签证机构 CA 签名后的证书,或是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息
CA 用户证书
CA 生成的用户证书的特点
- 任何可以访问 CA 公钥的用户均可获得证书中的用户公钥
- 只有 CA 可以修改证书
证书不可伪造,因此可将证书存放在目录中而不需要对目录进行特别保护
证书撤销
提前撤回证书的原因有
- 用户私钥被认为不安全
- 用户不再信任该 CA。原因包括主体名已改变、证书已被废弃或证书没有按照 CA 的规则发行
- CA 证书被认为不安全
CRL: 证书撤销表。包含所有被 CA 撤销还未到期的证书,包括发给用户和其他 CA 的证书