一、证书

1.什么是证书

  公钥证书里面包含姓名、组织、邮箱、地址等个人信息,以及属于此人的公钥,并由认证机构施加数字签名,只要看到公钥证书,就可以知道认证机构认定该公钥属于此人,公钥证书也简称为证书。

2.证书的应用场景

(1)接收者生成密钥对
要使用公钥密码进行通信,首先需要生成密钥对,并将私钥自行妥善保管。
(2)接收者在认证机构Trent注册自己的公钥
接收者将自己的公钥发给认证机构Trent,认证机构对接收者的公钥生成证书,也就是加上数字签名。
(3)认证机构Trent用自己的私钥对接收者的公钥加数字签名并生成证书
(4)发送者得到带有认证机构Trent的数字签名的接收方的公钥
(5)发送者使用认证机构Trent的公钥验证数字签名,确认接收者 的公钥的合法性
(6)发送者用接收者的公钥加密消息并发送给接收者
(7)接收者用自己的私钥解密密文得到发送者的消息

二、公钥基础设施(PKI)

1.什么是公钥基础设施

  公钥基础设施是为了能够更有效地运用公钥而制定的一系列规范和规格的总称。公钥基础设施一般根据其英语缩写而简称为PKI,它只是一个总称,而并非指某一个单独的规范或规格。

2.公钥基础设施的组成要素

(1)用户
  用户就是使用PKI的人,这里的“人”指的不一定是日常生活中意义上的“人”,也可能是一些计算机等实体。用户主要包括两种:使用PKI注册自己公钥的人和希望使用已注册公钥的人。注册公钥的用户所进行的操作一般有:生成密钥对(也可以由认证机构生成)、在认证机构注册公钥、向认证机构申请证书、根据需要申请作废已注册的公钥、解密接收到的密文和对消息进行数字签名等。使用已注册公钥的用户所进行的操作一般有:将消息加密后发送给接收者和验证数字签名等。
(2)认证机构(CA)
  认证机构就是我们之前说的Trent,它所进行的操作一般有:生成密钥对(也可以由用户生成)、在注册公钥时对本人身份进行认证、生成并颁发证书和作废证书等。
(3)仓库
  仓库是一个保存证书的数据库,PKI用户在需要的时候可以从中获取证书,仓库也叫证书目录。

3.认证机构的层级

  认证机构可以通过给其签名的方式证明注册者的公钥是合法的,一个认证机构的合法性又可以由另一个更权威的机构来认证,这种一个认证机构来验证另一个认证机构的公钥,这样的关系可以迭代好几层。这种认证机构之间的层级关系,我们可以用某公司的内部PKI来类比。

三、对证书的攻击

1.在公钥注册之前攻击

  证书是认证机构对公钥及其持有者的信息加上数字签名的产物,由于加上数字签名之后会非常难以攻击,因此我们可以考虑对施加数字签名之前的公钥进行攻击。假设Bob想要去认证机构将自己的公钥认证,在认证机构对该公钥数字签名之前,主动攻击者Mallory将Bob的公钥换成自己的公钥

2.注册相似人名进行攻击

  证书是认证机构对公钥及其持有者的信息加上数字签名的产物,对于一些相似的身份信息,计算机可以进行区别,但人类往往很容易认错,而这就可以被用来进行攻击。假设主动攻击者Mallory将自己的公钥的名字注册成BOB,那么Alice就很容易会把这个公钥误认为是Bob的公钥。

3.窃听认证机构的密钥进行攻击

  主动攻击者Mallory想出了一个大胆的攻击方法,那就是窃取认证机构的私钥。如果得到了认证机构的私钥,那么任何人就都可以以该认证机构的身份颁发证书了。

4.攻击者伪装成认证机构进行攻击

5.利用CRL发布的时间差来发动攻击

  私钥被主动攻击者窃取,马上联系认证机构说自己的公钥失效,但是如果在这之间主动攻击者已经使用私钥,CRL的发布又需要时间,那么主动攻击者就有可能利用这段时间差来达到攻击目的。

6.利用CRL时间差来实现否认

7.Superfish

  Superfish是一款广告软件,它能通过监听和收集用户通信中的个人信息来有针对的展示广告,为实现这一功能,Superfish会在系统中安装根证书,并劫持浏览器与服务器之间的通信,将网站证书换成自己的证书,是一种典型的通过中间人攻击的方式来监听通信内容的行为。

四、小测验

1.认证机构忙的不可开交

  看了关于认证机构的介绍,Alice想:
  我有点明白认证机构到底是什么了。不过,每次收到带有数字签名的邮件都要让认证机构Trent来验证数字签名,Trent是不是会忙得不可开交呢?
  Alice的想法是错误的,这是为什么呢?

我的回答:Alice的想法是错误的,因为认证机构Trent并非每次接收到带有数字签名的邮件都需要验证数字签名,而只需要在接收者生成密钥对的时候,用自己的私钥对接收者的公钥进行签名并生成证书就可以了,认证机构Trent对于同一个公钥只需要签名一次即可。

2.证书的基础知识

  下列关于证书和PKI的说法中,请在正确的旁边画O,错误的旁边画x。
  (1)证书是认证机构将用户的公钥进行加密之后的产物。
  (2)要确认证书中所包含的公钥是否合法,需要得到认证机构的公钥。
  (3)世界上颁发的所有证书,沿着认证机构的层级关系都能够找到唯一的根CA。
  (4)用户发现自己的私钥泄露之后,需要立刻联系注册相应公钥的认证机构。
  (5)用户需要定期从认证机构获取CRL。

我的回答:(1)x;(2)O;(3)x;(4)O;(5)O;
(1)证书是认证机构将用户的公钥进行签名之后的产物。
(3)任何人都可以成立单独的认证机构,所以并非所有认证机构的根都是CA。

精读《图解密码技术》——第十章 证书相关推荐

  1. 图解密码技术学习笔记

    主题:图解密码技术 简介:密码技术入门学习 参考:译者分享 作者:ybb 时间:2021年12月15日 周自恒直播课学习笔记 4.分组密码的模式 4.1 DES和AES作为对称加密时使用的分组密码只能 ...

  2. 《图解密码技术》总结

    1.对称加密 对称加密:加密和解密使用相同的密钥 可解决的问题:机密性 常见算法:DES.3DES.AES 存在的问题:密钥配送问题 关于分组密码: DES和AES都属于分组密码 分组密码:只能加密固 ...

  3. 第1讲 几种密码技术的简要介绍——《图解密码技术》

    最近上密码学的课,听不懂老师上课讲的内容,也不理解密码学到现在学的是个什么东西,所以就自己找资料开始啃,我会将我自己学到的加上自己的理解做个记录,以便于复习.本人才疏学浅,如果有理解不对的地方,还恳请 ...

  4. 《图解密码技术》读后的总结

    <图解密码技术>我认为是一本密码学入门的易读书,身边的几个做密码相关工具的朋友都推荐我看看,这次有时间就看了下. 本书是我11月份开始阅读的,一共用了25天,每天读完后都会把一些我认为是重 ...

  5. 阅读 《图解密码技术 第三版》的归纳和总结

    文章目录 简述 图解密码学 相关密码词汇和缩写介绍 密码技术介绍 RSA 非对称加密介绍 什么是非对称加密(公钥密码)? RAS 加解密算法公式 AES 下的模式介绍 (分组密码 || 对称密码模式介 ...

  6. 每周一书《图解密码技术 第3版》分享!

    内容简介 本书以图配文的形式,详细讲解了6种重要的密码技术:对称密码.公钥密码.单向散列函数.消息认证码.数字签名和伪*数生成器. 第1部分讲述了密码技术的历史沿革.对称密码.分组密码模式(包括ECB ...

  7. 读《图解密码技术》(三):密钥、随机数和应用技术

    最后一篇了,如果还没看过前两篇的,最好先翻回去看看,因为这最后一篇的内容是建立在前两篇的基础之上的.本篇的内容包括密钥.随机数.PGP.SSL/TLS,最后再讲讲密码技术的现状和局限性,以及简单介绍一 ...

  8. 《图解密码技术》——读书笔记

    好书,强烈推荐! 密码学家的工具箱 对称密码 公钥密码 单向散列函数 消息认证码 数字签名 伪随机数生成器 Enigma密码机 推荐电影:模仿游戏 The Imitation Game (2014) ...

  9. 密码(图解密码技术)_第一章_环游密码世界总结

    解释一下啊:我发现我没有段落空两字的时候已经不想改了,原谅我懒,这系列后面也是这样的(任性). 本书中的主要角色: Alice_一般角色 Bob_一般角色 Eve_窃听者 Mallory_主动攻击者 ...

  10. 《图解密码技术》笔记3:对称密码(共享密钥密码)-用相同的密钥进行加密和解密

    目录 3.1 炒鸡蛋与对称密码 3.2 本章学习主要内容 3.3 从文字密码到比特序列密码 3.3.1 编码 3.3.2 XOR(异或) 3.4 一次性密码本–绝对不会被破译的密码 3.4.4 一次性 ...

最新文章

  1. xshell 安装yum_Xshell上面简单安装docker
  2. 51Nod 1439 - 互质对(容斥+莫比乌斯函数)
  3. log4jdbc mysql_[简单]log4jdbc-log4j2配置简记_MySQL
  4. oracle导出有分区表的用户,分区表导出导入
  5. 网页错误排查 如何?
  6. 阿里云 mysql 表锁死_解决阿里云数据库MySQL实例空间满自动锁问题
  7. 编码器z相 C语言代码,编码器的Z相是什么?
  8. itellij jdk多重选择Class JavaLaunchHelper is implemented in both
  9. 中国计算机病毒发展简史
  10. 佳博LabelShop模板文件转成佳博打印机指令软件
  11. Unity Shader数学基础——矩阵
  12. 什么是索引?索引的作用是什么?Mysql目前主要的几种索引类型
  13. Expandable Button
  14. pg_bigm与pg_trgm的安装、测试、对比
  15. CSS简单的图片居中
  16. python bunch制作可导入数据_python – ImportError:无法导入名称Bunch scikit-learn 0.19
  17. word2003邮件合并后保留小数点位数问题
  18. 安卓获取手机视频和图片
  19. 磐石云服务器_超牛的盘石云服务器平台
  20. 七面蚂蚁金服,超硬核面经,已拿Offer!!

热门文章

  1. null与undefined的异同点
  2. 如何选择SCI期刊并能顺利发表
  3. PCB板材的基本分类
  4. antd中如何实现分页勾选记住之前的选项
  5. pythoninput算出bmi_python菜鸡——BMI计算
  6. 如何旋转PDF页面?两招教你轻松搞定
  7. meo学习笔记1:编译是什么——程序的执行过程概述
  8. html5 里面的type=”search“ ,h5版,点击手机键盘上的 ‘搜索”,”前往“等按钮,进行搜索
  9. 用心行走——《做最好的新教师》读后感3200字
  10. Excel如何将商品名称中的商品型号提取出来