《图解密码技术》笔记10:证书-为公钥加上数字签名

目录

10.1 本章学习的内容

10.2 证书

10.2.1 什么是证书

10.2.2 证书的应用场景

10.3 实际生成一张证书

10.4 公钥基础设施(PKI)

10.4.2 PKI的组成要素

10.4.3 认证机构的工作

10.5 对证书的攻击


10.1 本章学习的内容

        无论是公钥密码还是数字签名,公钥都扮演了重要的角色。然而如果我们不能判断公钥是否合法,就有可能遭到中间人攻击。

10.2 证书

10.2.1 什么是证书

        公钥证书(Public-Key Certificate,PKC),由认证机构(Certificate Authority,CA)施加数字签名,简称证书(Certificate)

        公钥证书里面包含有姓名、组织、邮箱等个人信息,以及属于此人的公钥,并由认证机构施加数字签名。

10.2.2 证书的应用场景

Alice利用认证机构Trent向Bob发送密文的示例

《图解密码技术》笔记10:证书-为公钥加上数字签名_第1张图片

10.3 实际生成一张证书

        感兴趣的自己去看书吧

  • 赛门铁克的Digital ID免费试用服务
  • 生成证书
  • 显示证书
  • 证书标准规范:使用最广泛的就是X.509规范。

        X.509证书包含的构成要素:

证书序列号
证书颁发者
公钥所有者
SHA-1指纹
MD5指纹
证书ID
有效期(起始时间)
有效期(结束时间)
散列算法
密钥类型
密钥ID
密钥用途

10.4 公钥基础设施(PKI)

10.4.1 什么是公钥基础设施

        PKI只是一个总称,并非指某一个单独的规范或规格。例如:RSA公司的PKCS、互联网规范RFC中有很多与PKI相关的规范。上节终端 X.509规范就是其中一种。

        根据具体所采用的规格,PKI也会有很多变种。

10.4.2 PKI的组成要素

  • 用户:使用PKI的人
  • 认证机构:颁发证书的人
  • 仓库:保存证书的数据库

《图解密码技术》笔记10:证书-为公钥加上数字签名_第2张图片

(1)用户

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

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

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

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

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

(2) 认证机构(CA)

        认证机构是对证书进行管理的人。认证机构具体所进行的操作如下。

  • 生成密钥对(也可以由用户生成)
  • 在注册公钥时对本人身份进行认证(可由RA分担)
  • 生成并颁发证书
  • 作废证书

        认证机构的工作中、公钥注册和本人身份认证这一部分可以由注册机构(Registration Authority,RA)来分担。这样一来,认证机构就可以将精力集中到颁发证书上,从而减轻了认证机构的负担。不过,引入注册机构也有弊端,比如说认证机构需要对注册机构本身进行身份认证,而且随着组成要素的增加,沟通过程也会变得复杂,容易遭受攻击的点也会增加。

(3)仓库

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

10.4.3 认证机构的工作

  • 生成密钥对:一种由PKI用户自行生成,一种由认证机构来完成。
  • 注册证书
  • 作废证书与CRL(证书作废清单)

10.4.4 证书的层级结构

认证机构的公钥可以由另一个认证机构来认证,这样的关系可以迭代好几层。

        对于最根一层的认证机构(根 CA),由自己来颁发证书。

10.5 对证书的攻击

  1. 在公钥注册之前进行攻击
  2. 注册相似人名进行攻击
  3. 窃取认证机构的私钥进行攻击
  4. 攻击者伪装成认证机构进行攻击
  5. 钻CRL的空子进行攻击:有可能实现否认
    • 当公钥失效时尽快通知认证机构
    • 尽快发布CRL
    • 及时更新CRL
    • 在使用公钥前,再次确认公钥是否已经失效   

你可能感兴趣的:(密码学,密码学,安全)