证书

1. 什么是证书

  公钥证书包含姓名,组织,邮箱和地址等,以及属于此人(机构)的公钥,并由认证机构施加数字签名。

 

2. 证书的应用场景

 

 

3. 公钥基础设施(PKI)

  PKI是一个总称,不指某一个单独的规范或规格,PKCS规范是PKI的一种,RFC中也有很多与PKI相关的文档。

  PKI的组成要素: 用户  —— 使用PKI的人

            认证机构 —— 颁发证书的人

          仓库 —— 保存证书的数据库

  用户:一种用户是希望使用PKI注册自己公钥的人,另一种是希望使用自己注册公钥的人。

  注册公钥的用户所进行的操作:生成密钥对;在认证机构注册公钥;向认证机构申请证书;根据需要申请作废已注册的公钥;解密收到的密文;对消息进行数字签名。

  使用已经注册公钥的用户所进行的操作:将消息加密后发送给接收者,验证数字签名。

 

4. 认证机构(CA)

  认证机构是对证书进行管理的人。

  生成密钥对;在注册公钥时对本人身份进行认证;生成并颁发证书;作废证书。

  认证机构的工作中,公钥注册和本人身份认证这一部分可以由注册机构RA分担。

 

5. 仓库

  是一个保存证书的数据库,PKI用户在需要的时候可以从中获取证书。仓库中也叫证书目录。

 

6. 证书机构的工作

  生成密钥对:由PKI用户自行生成,或者由认证机构生成。

  注册证书:用户自行生成密钥时,用户会请求认证机构来生成证书,规范是RFC2968,PKCS10等定义。

  作废证书和CRL:认证机构需要一张证书作废清单,简称CRL。

 

7. 证书的层级结构

  验证证书时,用户使用认证机构的公钥,对证书上的数字签名进行验证。

  对于用来验证数字签名的认证机构的公钥,可以由其他的认证机构施加数字签名,对认证机构的公钥进行验证,即生成了一张认证机构的公钥证书。

  认证公钥证书的步骤:先验证根CA -> 分公司认证机构 -> 办事处认证机构 -> 办事处员工Bob

 

8. 对证书的攻击

  证书使用了数字签名技术,所以,对数字签名的攻击方法对证书都有效。

  在公钥注册前攻击:将公钥发送给认证机构时,用认证机构的公钥对Bob公钥加密。

  注册相似的人名进行攻击。

  窃取认证机构私钥:认证机构的私钥泄露时,认证机构需要把私钥泄露通过CRL通知用户。

  攻击者伪装成认证机构进行攻击:自己需要知道自己得到的证书是哪个认证机构颁发的。

  钻CRL的空子进行攻击A:利用CRL的时间差进行攻击,要防御这种攻击非常困难。

                对策:公钥失效,尽快通知对方;尽快发布CRL;及时更新CRL;使用公钥前,再次确认公钥失效。

  钻CRL的空子进行攻击B:也是利用CRL时间差,证书持有者主动犯罪,先发消息再宣布公钥作废。

             对策:快速确认证书是否已经失效,由此产生了OCSP协议。

  Suprefish:预装的软件劫持通信,替换证书,形成中间人攻击。

 

posted @ 2021-06-27 19:11  NiGuard  阅读(277)  评论(0)    收藏  举报