图解密码技术学习-第十章 证书

证书介绍

什么是证书

  • 先来回顾一下数字签名技术。
    数字签名就是将消息的散列值用自己的私钥进行加密,然后接收端用对应的公钥进行解密得出散列值,再和接收端自己计算的散列值做比对。
    整个过程中最为关键的是公钥的正确性,如果公钥是中间人的,则可以形成中间人攻击。
  • 证书
    证书就是为了解决上面的公钥问题的。
    证书就是由认证机构对某个公钥施加数字签名,并附上此公钥所属人的姓名、组织、邮箱形成的文件。又称为公钥证书。

证书应用场景流程

  1. 接收者生成密钥对
  2. 接收者认证机构注册自己的公钥
  3. 认证机构用自己的私钥对接收者的公钥施加数字签名并生成证书
  4. 发送者得到认证机构发布的证书
  5. 发送者使用认证机构的公钥解密证书,得到接收者的公钥
  6. 发送者使用接收者的公钥对消息进行加密,发送给接收者
  7. 接收者接收到消息后,用自己的私钥解密获得明文消息

X.509证书内容

  • 签名前的证书
    • 规范版本: 现在一般要求版本是3
    • 证书序列号
    • 数字签名算法: 一般都是SHA1WithRSA,意思是用RSA对SHA1散列值进行签名
    • 证书颁发者
    • 有效期起始时间
    • 有效期结束时间
    • 公钥所有人
    • 公钥算法:现在一般都是RSA
    • 公钥内容
  • 数字签名算法:一般都是SHA1WithRSA,意思是用RSA对SHA1散列值进行签名
  • 数字签名内容

公钥基础设施(PKI)

什么是公钥基础设施

  • 英文全称是Public-Key Infrastructure
  • 简单的说就是证书各种规格、规范的总称
  • 涉及到的角色包括
    • 用户:使用证书的实体
    • 认证机构:颁发证书的实体
    • 仓库:保存证书的数据库

认证机构的工作

  • 生成密钥对
    这个工作可以有用户自己完成。
  • 注册证书
    就是用自己的私钥完成对注册人公钥的数字签名,并附上其他信息。
  • 作废证书和CRL
    证书在某些情况下是需要作废的,例如私钥已经泄露。
    CRL就是一张作废的证书序列号的清单,并附上认证机构的数字签名。
    不过仅凭CRL来判断证书是否有效,还需要查询最新的CRL。

证书的层级结构

  • 简单的说就是逐级分层的签名认证,最上面一层是CA认证,根认证。
  • 根证书是认证机构的自签名,下一级证书是下一级的公钥被根证书的私钥签名。
  • 这样看的话,基本至少应该有两级证书
  • 至于为什么会有这样的需求,书本里并没有描述。

对证书的攻击

  • 在公钥注册之前发动攻击
    • 在准备注册人发送给认证机构的公钥替换掉
    • 破解的办法是认证机构在颁布证书之前,发给注册人确认
  • 注册相似人名进行攻击
    • 攻击很好理解,类似于周黑鸭和邹黑鸭的商标。
    • 破解的办法是认证机构确认个人信息的身份
  • 窃取认证机构的私钥进行攻击
  • 攻击者伪装成认证机构进行攻击
  • 钻CRL的空子进行攻击(1)
    利用CRL发布的时间差来发动攻击
  • 钻CRL的空子进行攻击(2)
    简单的说是注册一方,在发送消息后,申请证书注销。利用时间差来晚成攻击,而且可以否认是自己发送。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容