文章目录

  • 公钥基础设施(PKI)
  • PKI的组成要素
  • 用户
  • 认证机构
  • 仓库
  • 认证机构的工作
    • 生成密钥对
    • 注册证书
    • 作废证书与CRL
  • 对证书的攻击
    • 在公钥注册前进行攻击
    • 注册相似人名进行攻击

公钥基础设施(PKI)

公钥基础设施(Public-Key Infrastructure)是为了能够更有效的运用公钥而制定的一系列规范和规格的总称。公钥基础设施一般根据其英文缩写而简写成PKI。
PKI是一个总称,而并指某一个单独的规范或者规格。下图为PKI的基本要素(用户、认证机构和仓库)以及认证机构所负责的工作。

PKI的组成要素

PKI的组成要素主要有以下三个:

  • 用户————使用PKI的人
  • 认证机构————颁发证书的人
  • 仓库————保存证书的数据库
    不过由于PKI中用户和认证机构不仅限于“人”(可能也是计算机),因此我们可以给他们起一个特殊的名字,叫做实体。实体就是进行证书和密钥相关处理的行为主体。

用户

用户就是像Alice、Bob这样使用PKI的人,包括两种:一种是希望使用自己的KPI注册自己公钥的人,另一种是希望使用已注册的公钥的人。
【注册公钥的用户所进行的操作】

  • 生成密钥对(也可以由认证机构生成)
  • 在认证机构注册公钥
  • 向认证机构申请证书
  • 根据需要申请作废已注册的公钥
  • 解密接收到的密文
  • 对消息进行数字签名

【使用已注册公钥的用户所进行的操作】

  • 将消息加密后发送给接收者
  • 验证数字签名

认证机构

认证机构(Certification Authority, CA)是对认证书进行管理的人。认证机构主要所进行的操作如下:

  • 生成密钥对(也可以由用户生成)
  • 在注册公钥时对本人身份进行认证
  • 生成并颁发证书
  • 作废证书
    认证机构的工作中,公钥注册和本人身份认证这一部分可以交给注册机构(Registration Authority, RA)来分担。

仓库

仓库(Repository)是一个保存证书的数据库,PKI用户在需要的时候可以从中获取证书,它的作用优点像打电话时候的电话本。仓库也叫做证书目录

认证机构的工作

生成密钥对

生成密钥对有两种方式:一种是由PKI用户来自行生成,一种是由认证机构来生成。

注册证书

在用户自行生成密钥对的情况下,用户会请求认证机构来生成证书。认证机构根据其认证业务准则对用户的身份进行认证,并生成证书。在生成证书的时候,需要使用认证机构的私钥来进行数字签名。生成的证书格式是由X.509定义的。

作废证书与CRL

当用户的密钥丢失、被盗取的时候,认证机构需要对证书进行作废处理。此外,即使私钥安装安然无恙,有时候也需要作废证书,例如公司的用户离职将导致其失去私钥的使用权限。
纸质证书只要撕毁即可,但是对于这里的证书来说是数字的。即使从仓库中删除也无法作废,因为用户会保存证书的副本,但认证机构也不能入侵用户的电脑将副本删除。
要作废证书,认证机构需要一张证书作废清单,简称为CRL。
CRL是认证机构宣布作废证书的一览表,具体来讲,是一张已经作废的证书序列号的清单,并由认证机构加上数字签名。证书序列号是认证机构颁发的时候所赋予的编号,在证书当中都会记载。
PKI用户需要首先从认证机构中获取最新的CRL,并查询自己是用于签名验证(或者用于加密)的公钥是否已经作废。这个步骤很重要。

对证书的攻击

由于证书实际上使用的是数字签名的技术,因此针对数字签名的所有攻击方法对证书都是有效果的。

在公钥注册前进行攻击

证书是认证机构对公钥及其持有者的信息加上数字签名的产物,由于加上数字签名之后非常难以攻击,因此我们考虑对事假数字签名之前的公钥进行攻击。
假设Bob生成了密钥对,并准备在认证机构注册自己的公钥。再认证机构进行数字签名之前,主动攻击者Mallory将公钥替换为自己的公钥。这样,认证机构就会对“Bob的个人信息”和“Mallory的公钥”这个组合进行数字签名。
要防止这种攻击,我们可以采取如下措施:例如Bob可以在公钥发送给认证机构进行注册的时候,使用认证机构的公钥对Bob的公钥进行加密。此外,在认证机构确认Bob的身份的时候,也可以将公钥的指纹一并发送给Bob请他确认。

注册相似人名进行攻击

证书是认证机构对公钥及其持有者信息加上数字签名的产物,对于一些相似的信息,计算机可以进行区别,但人类往往容易认错,从而可以用来被攻击。
例如,假设Bob的用户信息中名字的部分是:
Name = Bob (首字母大写)
而Mallory用另一个类似的用户信息:
Name = BOB (所有字母大写)
注册了另一个不同的公钥。这个公钥名字叫做BOB,但实际上是Mallory的公钥。
随后,Mallory伪装成Bob,将
Name = BOB的公钥发送给Alice。Alice看到证书中的用户信息,很可能九江BOB错误的认为是自己要发送消息对象的Bob。
要防止这种攻击,认证机构必须确认证书中所包含的信息是否真的是其持有者的个人信息,身份确认失败的时候则不向其颁发证书。

密码学之PKI体系学习笔记相关推荐

  1. 大数据课程体系-学习笔记概要

    目录 目录 大数据课程体系 简介 学习阶段不定时更新 大数据课程体系 简介 作为一名物联网工程专业的学生,对于大数据有着不同寻常的热情,在有了一定的Android基础和J2EE基础后,希望学习更多的数 ...

  2. “阿里巴巴大数据系统体系”学习笔记-纲领篇

    2019独角兽企业重金招聘Python工程师标准>>> "你是做什么的?" "数据产品经理"看到对方一脸懵逼之后,再补充一句"大数据 ...

  3. EJB3.0技术体系---学习笔记

    EJB3.0技术体系: 1.Enterprise Bean(企业Bean)理论及实例   Seession Bean   MDB 2.Persistence (JPA--数据持久化框架)   Enti ...

  4. 服务器SMP、NUMA、MPP体系学习笔记。

    目录 一.背景 二.多核处理器的发展 2.1 从架构上区分 2.2 从运行模式上区分 2.2.1 SMP模式 2.2.2 AMP模式 2.2.3 SMP和AMP特征总结 三.服务器架构的发展 3.1 ...

  5. YARN体系学习笔记

    一.基本组成结构 1. ResourceManager 负责对各个NodeManager 上的资源进行统一管理和调度.包含两个组件: * Scheduler:调度器根据容量.队列等限制条件(如每个队列 ...

  6. 【现代密码学原理】——公钥密码学与RSA(学习笔记)

  7. 密码学 / PKI 体系概述

    CA中心--CA系统--数字证书 CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书. 专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心.所有与数 ...

  8. 【学习笔记】密码学入门(2) 单向散列函数,消息认证码,数字签名,证书

    [学习笔记]密码学入门(2) 单向散列函数,消息认证码,数字签名,证书 学习笔记 2 – 混合密码系统 在密码学入门(1)中提到了基本的密码形式,对称密码和公钥密码以及混合密码系统. 这一部分将学习到 ...

  9. 几何光学学习笔记(39)- 7.10 中国颜色体系

    几何光学学习笔记(39)- 7.10 中国颜色体系 7.10 中国颜色体系 1.无彩色系 2.有彩色系 3.颜色立体 4.颜色标号 7.10 中国颜色体系 GB/T15608-1995 中国颜色体系标 ...

最新文章

  1. 某程序员遭遇奇葩事:辞退自己的leader竟然命令自己回前公司,给前同事讲代码!...
  2. Oracle大规模数据快速导出文本文件
  3. Reverse Linked List II
  4. c# wpf listbox 高度_WPF快速入门系列(1)——WPF布局概览
  5. 该线程或进程自上一个步骤以来已更改_多线程与高并发
  6. 安卓活动间的传值问题
  7. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED驱动框架--面向对象、分层设计思想
  8. 2018专转本计算机百度云资源,2018年江苏专转本计算机真题版
  9. KindEditor - 代码高亮
  10. ACM图论、网络流题目总结
  11. 计算机长宽高公式,单位换算公式大集合
  12. android 表情包
  13. 基于jsp的博客系统
  14. 高考530计算机专业,高考530分以下,学生该先选择大学还是专业?高考名师给出分析...
  15. 常见的笔记本电池使用技巧
  16. c语言捕鱼达人源码,用捕鱼达人去理解C中的多线程.doc
  17. 云信DUILIB 常用控件 小实例
  18. 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?用循环嵌套结构完成。(数字组合)
  19. uml建模工具 支持php,【UML 建模】在线UML建模工具 ProcessOn 使用详解
  20. Etag与HTTP缓存机制

热门文章

  1. 支持向量机 (三): 优化方法与支持向量回归
  2. 齐夫定律, Zipf's law,Zipfian distribution
  3. Python双线性插值和双三次插值
  4. 基于Arduino Pro Mini的四轴飞行器
  5. 教育信创提速,如何用校园邮箱破局?
  6. 计算机专业申请phd美国,美国计算机专业博士的申请个人陈述范文
  7. unoconv文档转换中文乱码解决方法
  8. Apache Maven 环境变量的配置
  9. 【Proteus仿真】8位数码管动态扫描显示变化数据
  10. Morn UI 学习总结