写在前面

现在开始接触CA相关的内容,对一些名词还是不甚了解,在遇到一些问题的时候也不能理解,刚好最近看了一本《PKI/CA与数字证书技术大全》,里面介绍的比较系统全面,也对刚接触这方面的人来说能有个入门。

1. PKI

所有与数字证书相关的各种概念和技术,统称为PKI( Public Key Infrastructure 公钥基础设施)。

PKI通过引入CA,数字证书,LDAP,CRL,OCSP等技术并制定相应标准,有效地解决了公钥与用户映射关系,集中服务性能瓶颈,脱机状态查询等问题。同时为促进并提高证书应用的规范性,还制定了很多与证书应用相关的各种标准。

所以以下我们提到的CA,数字证书,OCSP等名词都是在PKI下的,即PKI里面包含了这些东西。那么这些名词每个都是为了解决某个问题而产生的,所以当我们了解后看到这些名词的时候,就能反应出它们是什么意思,是要解决什么问题的。

1.1 PKI体系框架

PKI体系框架主要包含三个内容:

1.1.1 数字证书与私钥

关于数字证书

用户或系统只有拥有自己的公钥和私钥后,才能实现数字签名和加密解密功能,由于公钥是随机产生的,因此从公钥无法直接判断属于哪个用户。

为解决公钥与用户映射关系问题,PKI引入了数字证书。数字证书里包含了用户身份信息,用户公钥信息 (两者用于确定用户) 和CA的私钥数字签名 (使用CA的公钥可判断证书是否被篡改)

私钥一般被保存在硬件密码设备中(像U盾之类的)。

1.1.2 数字证书的管理

关于CA

为了解决数字证书的签发问题,PKI引入了CA(Certificate Authority), 对数字证书进行集中签发。 它实际是一种特殊的公钥管理中心,对数字证书的全生命周期进行管理,包括:数字证书的签发和更新,数字证书的作废,冻结和解冻,查询或下载,状态查询等。 像广州CA,深圳CA就属于这类,可去他们的官网上进行相关了解。

关于KMC

为解决私钥的备份与恢复问题,PKI引入了KMC(Key Management Center)。 用户公私钥对由KMC产生,KMC对私钥做备份;公私钥也可由用户自己产生,并将私钥安全提交给KMC做备份。

关于双证书

为防止用户身份被冒用,应保证用户私钥的唯一性,不允许备份恢复;为防止公钥加密后的数据无法解密,应提供用户私钥的备份恢复机制

为解决这两种矛盾需求,PKI引入了双证书机制:签名证书和加密证书。 签名证书的公私钥对由用户自己产生,KMC不备份私钥;加密证书密钥对由KMC产生,且KMC对加密私钥进行备份。

关于LDAP

为解决对CA证书的查询或下载的性能问题,PKI引入 LDAP(Light-weight Directory Access Protocol 轻量目录访问协议)技术。

DAP(Directory Access Protocol 目录访问协议)是对数据管理的读取功能进行特殊优化的技术,适合快速响应和大容量的查询服务,应用系统只需通过X.500协议就能对数据进行快速查询。但由于该协议过于复杂,国际组织对其进行简化,形成了LDAP标准。

关于CRL和OCSP

为解决对CA证书有效性方面的查询,PKI引入了CRL(Certificate Revocation List)和OCSP(Online Certificate Status Protocol) 技术。前者需要用户按时定期下载,可用于脱机使用;后者则可实时在线查询。

关于RA

为对用户提供 面对面 的证书业务服务,负责用户证书办理/作废申请,用户身份审核,制作证书并移交用户等功能。PKI引入了RA(Registry Authority)

关于电子认证服务机构

为保证CA系统在数字证书管理方面的规范性、合规性和安全性,PKI引入了电子认证服务机构, 以第三方运营的方式对外提供数字证书相关服务。

1.1.3 数字证书的应用

基于数字证书可实现四种基本安全功能:身份认证,保密性,完整性和抗抵赖性。

身份认证

如网络身份证。

保密性

如不泄露信用卡信息。

完整性

如已签订的合同不会被某一方私自修改。

抗抵赖性

如发生交易纠纷时,可通过验证对方的私钥签名来确认。

1.2 PKI信任模型

首先了解一下几个概念:

  1. 信任:在ITU X.509规范中,“信任”定义为“当实体A认为实体B的行为与A所预期的完全一致时,则称实体A信任实体B”。

  2. 用户信任CA中心是指,用户相信该CA中心的所有数字证书管理行为均符合政策法规,运营规范和信息安全等要求。

  3. 用户信任数字证书是指,用户相信该数字证书持有人的身份是真是有效地,并不等于用户信任该数字证书的持有人。

  4. 从信任CA中心到信任其签发的用户数字证书,这种信任传递关系的前提是,该用户数字证书必须通过以下四个方面的合法性验证:

    4.1. 验证该数字证书是否伪造。使用CA证书中公钥即可脱机验证。

    4.2. 验证该数字证书中信息是否正确。由CA中心在签发数字证书时已保证。

    4.3. 验证该数字证书是否与持证人一致。可要求持证人使用私钥对特定数据进行加密或签名,然后使用数字证书中的公钥来解密或验签。

    4.4. 验证该数字证书是否在黑名单上。通过CRL或OCSP实现。

  5. 信任锚:CA中心是信任的产生来源或信任起点。

  6. 认证路径:一条从信任锚到数字证书之间构建的信任关系传递路径,也叫证书路径或信任链。

1.2.1 根CA信任模型

最上级CA中心只有一个,成为根CA,其它CA称为子CA。根CA的数字证书由自己签发,属于自签名证书,子CA的数字证书由上级CA证书签发。信任锚可以是根CA,也可以是子CA。

以下图为例:用户X可信任用户A证书,信任链为根CA——子CA1——用户A证书。

1.2.2 交叉认证信任模型

根CA之间可以互相签发交叉认证证书。

以下图为例,用户Y就可以信任用户J证书。信任链为根CA2——根CA2(1)——根CA1——子CA12——用户J证书

1.2.3 桥CA信任模型

在这里引入独立的桥CA中心,等同于虚拟的根CA。所有根CA与桥CA之间互相签发交叉认证证书。与交叉认证信任模型类似。

1.2.4 信任列表信任模型

使用户可以有多个信任锚。

PKI/CA与数字证书相关推荐

  1. 初识PKI/CA和数字证书

    一.首先,说一下经常听到但又不太了解的数字证书. 在现实生活中,如何证明我是谁,这时候我掏出我的身份证,足以证明.那么在网络世界中,数字证书就是这么一张"身份证".身份证上有一个人 ...

  2. PKI/CA与数字证书概述

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u013066292/article/d ...

  3. PKI/CA与数字证书技术大全

    最近工作中需要使用数字证书,以前对证书有些许了解,但不深入.所以真正使用的时候,发现有些欠缺,尤其认识了熟知这方面内容的同学后,更觉得知识匮乏. 其实证书相关内容很宽泛,为了更好的指导自己的工作,有必 ...

  4. CA与数字证书的自结

    1.CA CA(Certificate Authority)是数字证书认证中心的简称,是指发放数字证书.管理数字证书.废除数字证书的权威机构. 2.数字证书 如果向CA申请数字证书的单位为A.则他申请 ...

  5. 如何从CA获取数字证书

    从CA 获取数字证书 1.打开虚拟机,在服务器管理器中添加角色,找到"Activity Directory 证书服务"(具体步骤如下) 2.除了默认的证书颁发机构外,还需要安装&q ...

  6. 基于开源CA系统ejbca community 6.3.1.1构建私有CA管理数字证书

    最后更新于2017年01月24日 一.为什么 为什么写这篇文章?ca是什么?数字证书是什么?ejbca又是什么? 让我们从http与https说起.http是超文本传输协议(HyperText Tra ...

  7. CA验证数字证书的有效性

    公钥机制面临的问题-假冒身份发布公钥 采用公钥机制进行加密传输面临的一个问题是公钥的发布.任何一个用户都可以通过网络向所有人发布伪造的公钥,如果某个用户假冒真正用户的名义发布一个公钥,在该假冒者被揭穿 ...

  8. PKI/CA (4)其他信任模型

    1 交叉认证信任模型 根CA之间可以互相签发交叉认证证书. 以下图为例,用户Y就可以信任用户J证书.信任链为根CA2--根CA2(1)--根CA1--子CA12--用户J证书 2 桥CA信任模型 在这 ...

  9. 信安小白,一篇博文讲明白数字证书和PKI(公钥基础设施)

    数字证书 系列博文 前言 一.数字证书 二.CA(Certification Authority)认证 2.1 CA认证信息 2.2 CA结构 2.3 一般的证书产生流程 2.4 完整流程 三.PKI ...

最新文章

  1. JWT 入坑爬坑指南
  2. wampserver搭建本地服务器
  3. 如何用python爬虫薅羊毛_不会Python编程也能用的,薅羊毛软件使用说明
  4. Servlet与缓存
  5. ACM程序设计基础(1)题解
  6. 【动态规划笔记】背包方案数量
  7. 3.2 Tensorflow基础运算
  8. MTV模型—urls和view
  9. Mysql的用户与权限管理
  10. droidcam调用手机摄像头的方法(提供PC+Android软件,不需要积分)
  11. 计算机与通信工程学院运动会海报,【图文】运动会宣传海报资料
  12. 微信小程序–二维码生成器
  13. linux mipi接口驱动,rp3399之mipi接口ov4689摄像头驱动
  14. Word中公式编辑的快捷键
  15. SSL协议与数字证书原理
  16. 使用 阿里云 播放器播放 .flv 和 hls(.m3u8) 格式的视频流
  17. 力扣每日一题:891. 子序列宽度之和(java)
  18. android wi-fi_如何在Android上限制计量Wi-Fi网络的背景数据
  19. Sentry 开发者贡献指南 - SDK 开发(事件负载)
  20. Android基础教程(二)之五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.

热门文章

  1. 怎样对流媒体进行压力测试_四合一气体检测仪怎样进行气体测试?
  2. 安全中心登录_放心使用instagram需要做到的5个信息安全设置
  3. char double java_java从入门到精髓 - Number char double float
  4. igmpproxy_IGMP proxy开发笔记 | 学步园
  5. notebook python 已停止工作_Python/Jupyter Notebook初学遇到的一些问题总结(20201108)...
  6. java中isa什么意思_ISA是什么?
  7. linux恢复硬盘工具,linux硬盘数据恢复工具
  8. Spring Security login
  9. java stream flatmap
  10. js <->java 时区处理