PKI技术原理与组成

PKI技术组成部分PKI、CA、证书

All in one PKI技术和Cisco CA操作_PKI

1、PKI(公钥基础设施)

一套技术和规范,支持部署基于大部分的公钥技术,主要包含如下内容

1)x.509

  • 用于定义数字证书组成和拓展内容作用的标准
  • RFC(Request For Comments)颁发,而RFC是由互联网工程任务组(IETF)发布的一系列备忘录

All in one PKI技术和Cisco CA操作_CA_02

2)x.500

  • x.500是为目录标准,只要个人信息存放在目录中既可以查询对应信息,由于过于复杂在一定程度被LDAP取代
  • 目录命名方式为DN,例如
  • cn(common name 常用名称)= HGB
  • ou(organization unit name 公司部门名称)= SEC
  • o(organization name 公司名称)= FTJW
  • c(country name 国家名称)= CN
  • I = Location 地点
  • DC = domain component 域名

All in one PKI技术和Cisco CA操作_PKI_03

3)PEM

  • 将证书转为文本格式,经常使用改编码格式导入、导出证书或密码
  • 有明显的开头和结尾标识

All in one PKI技术和Cisco CA操作_CA_04

4)SCEP

简单证书申请协议,思科研发后先已转为工业标准,使用HTTP协议传输的在线证书技术

5)PKCS

  • PKCS#7封装数据标准,用于封装数字证书。文件拓展名为.p7b .p7c
  • PKCS#10证书请求语法标准

6)小结

底层大概流程

  1. 证书申请发起HTTP流量
  2. SEEP协议申请证书
  3. 证书请求用PKCS#10进行编码
  4. 证书请求用PKCS#7进行封装
  5. 认证中心CA收到综上内容
  6. HTTP/PKCS#7返回颁发证书

2、CA

认证中心这是PKI的核心,数字证书的申请和签发机关,主要包含

1)证书服务器

验证证书请求和颁发证书

2)关于私有证书服务器(Private_CA)

一个公司或部门所使用的内部服务器,免费但信任关系有限

3)关于公共证书服务器(Public_CA)

知名、全局证书服务器,由专业公司维护。付费可全局使用

4)下级附属证书服务器(Sub-CA)

层次化PKI,属于高可用和简化管理的解决方案,Sub-CA可承担责任:作为信任颁发机构,验证和颁发证书

All in one PKI技术和Cisco CA操作_数字证书_05

5)注册授权服务器(RA)

主要用于分担和降低CA的负担,RA的角色和功能:接收证书请求、验证请求者身份,请求者和RA之间不需要建立信任关系,RA和CA之间必须建立信任关系

All in one PKI技术和Cisco CA操作_PKI_06


3、证书

被认证中心签名的认证的文档,用于捆绑个人信息与公钥。数字证书组成部分如下图

All in one PKI技术和Cisco CA操作_CA_07

1)版本、序列号、签名算法、颁发者、有效期

All in one PKI技术和Cisco CA操作_CA_08

2)使用者

All in one PKI技术和Cisco CA操作_数字证书_09

3)公钥,RSA为公钥算法

All in one PKI技术和Cisco CA操作_CA_10

4)证书服务器签名

All in one PKI技术和Cisco CA操作_CA_11

5)拓展:数字证书拓展属性

  • 使用者密钥标识符,一个使用者可以拥有多个公钥,通过标识明确需要哪个密钥执行签名
  • 颁发机构密钥标识符,一个证书服务器可以用同时使用多个私钥执行签名,通过标识明确该证书是由对应服务器的对应私钥签名产生
  • CRL分发点,决定吊销列表所存放位置,客户端获取吊销列表来确定已作废证书
  • 密钥用法,密钥用于签名和加密
  • 基本约束,只有证书服务器的根证书有基本约束
  • 增强密钥用法​,说明密钥额外的用途

All in one PKI技术和Cisco CA操作_数字证书_12


PKI处理流程与步骤

  1. 时间同步
  2. 部署证书服务器CA
  3. 客户端产生密钥
  4. 验证证书服务器
  5. 申请个人证书
  6. 审核并签名证书
  7. 颁发签名证书
  8. 颁发数字证书

All in one PKI技术和Cisco CA操作_CA_13

思科密钥创建与使用

生成密钥genral-keys和 usage-keys 

ciscoasa(config)# crypto key generate rsa     #默认创建了genral-keys

WARNING: You have a RSA keypair already defined named <Default-RSA-Key>.

ciscoasa(config)# crypto key generate rsa  usage-keys 

WARNING: You have a RSA keypair already defined named <Default-RSA-Key>.

All in one PKI技术和Cisco CA操作_数字证书_14

查看产生的密钥

genral-keys知识点:

  1. 是一对密钥
  2. 密钥既能加密也能签名
  3. 只需要申请一张证书来对一个公钥执行认证
  4. 由于使用频繁,安全性低于Usage keys

All in one PKI技术和Cisco CA操作_PKI_15

usage-keys 知识点:

  1. 是两对密钥
  2. 一对用于加密,一对用于签名
  3. 需要申请两张证书来对应两个公钥执行认证
  4. 安全性高于General key,但配置量大于General key

All in one PKI技术和Cisco CA操作_CA_16

附带参数解析

ciscoasa(config)# cry key generate rsa general-keys label CCIElinweiwei modulu 4096

INFO: The name for the keys will be: CCIElinweiwei

Keypair generation process begin. Please wait...

All in one PKI技术和Cisco CA操作_数字证书_17

lab参数给密钥起名称,后续直接调用名称即可,仅本地标识,若使用默认命令FQDN(hostname + domain_name)
mode配置密钥长度,安全的同时也会加大性能消耗

证书导入导出

是否允许导出

crypto key generate rsa exportable  #创建并导出证书
crypto key generate rsa non-exportable #创建并不允许导出证书,不可逆

All in one PKI技术和Cisco CA操作_数字证书_18

密钥删除

All in one PKI技术和Cisco CA操作_PKI_19