Certificate Transparency

首先我们来了解一下Certifictae Transparency吧!1

  1. 什么是CT?CT的目标是什么?2
    a). 证书透明度使用户和域名持有者识别不当或恶意签发的证书,以及识别数字证书认证机构(CA)的行为。证书透明度有助于避免在瞒过域持有者的情况下为域颁发证书。证书透明度不需要侧信道通信来验证证书。他们由在线证书协议(OCSP)或Convergence等技术完成。证书透明度不需要可信赖第三方。CT 不是要替换现有的 CA 设施,而是做为补充,使之更透明、更实时3
    b). 证书透明度组件。4证书透明度组件
    (备注,synchronous同步,asynchronous异步)
    - CA CT在现有的公众信任的CA系统中工作。
    - 证书日志 多个独立的日志的原因:可以用来备份;当其中一份日志被篡改时,证书依然有效;独立日志意味着单个管理无法从所有日志中删除发布过的证据;多个独立自治意味着CA不能和操作员勾结。所有的日志都是: 只能添加,无法被删除、修改插入;加密保证,防篡改;公开审计,任何人都可以查看记录寻找漏洞。
    - 证书监视器 证书监视器是指监视证书日志中是否存在可疑活动的人员。监视器可以使用HTTP GET 命令从日志中获取信息。
    - 证书审计器 证书审计器检查日志与验证日志是否一致,是否添加了新条目,日志是否已被追溯插入、删除或修改。

  2. How does CT work? 4

    • 过程。
      a). 服务器运营商从CA购买证书
      b). CA验证服务器运营商
      c).CA creates a precertificate. CA创建一个前置证书
      d). VA logs the precertificates with the log server, which returns a signed certiifcate timestamp. CA使用日志服务器记录先决条件,该服务器返回签名证书的时间戳(SCT)
      e).CA颁发一个SSL证书
      f). SSL Certiifcate may include signed certificate timestamp. SSL证书可能包含签名证书时间戳(SCT)
      g). 浏览器在TLS握手期间验证SSL证书
      h). Browser validate the SCT during the TLS handshake, either through OCSP stapling, through a TLS extension, or from information embedded in the certificate. 浏览器验证在TLS握手期间提供的SCT,通过OCSP装订,通过TLS扩展或证书中嵌入的信息
      i). 浏览器与服务器建立链接
      j). SSL证书在将所有的数据从浏览器传递到服务器时对其进行加密
    • There are three possible ways to deliver the SCT during the TLS handshake.
CA ample.com example.com 客户端(浏览器) TTL Handshake(SSL cert) CA ample.com example.com 客户端(浏览器) current TLS/SSL system
CA 日志服务器 example.com 客户端(浏览器) (1)CA submission (Precertificate) (2)Log response (SCT) (3)Cert issuance (SSL cert w/SCT) TLS Handshake(SSL cert w/SCT) CA 日志服务器 example.com 客户端(浏览器) TLS/SSL System with Certificate Transparentcy
  1. SCT Delivery Methods 5 6

    • 什么是SCT
      Signed Certificate Timestamp.
    • 证书嵌入(如figure 1)
      X.509v3扩展
      此方法不需要任何服务器(example.com)修改,它允许服务器操作员继续以与以往相同的方式管理其SSL证书。
    • TLS扩展(如figure2_左) TLS
    • OCSP Stapling(如figure2_右)
      可以看到,CA同时把证书传递给服务器和日志服务器,服务器通向CA传递OCSP信息,然后将返回的SCT返回给客户端。(PS: 在线证书状态协议是一个用于获取X.509数字证书撤销协议的网际协议,作为证书吊销CRL的替代列表,解决了在线公开密钥基础中使用证书吊销列表而带来的多个问题。)
  2. 实验(有点激动!!)3
    访问sjtusec.com,抓包后找到SCT部分。
    sjtusec.com
    除了抓包,还可以在开发者工具的辅助security选项中查看SCT。OID(1.3.6.1.4.1.11129.2.4.2)表示证书已启用CT。OID(对象标识符)是一个数值,用于确定证书是否对特定用途有效。通过查看证书详细信息,可以在任何启用CT的证书上找到此字段。如果此OID不存在,则证书未启用CT7
    登陆这个网址也可以查到。
    CT记录
    在抓包的过程中我们看到了有两个SCT,这是为什么呢?8
    是RFC的规定,为了容错。


  1. Certificate Transparency http://www.certificate-transparency.org/ ↩︎

  2. 证书透明度_wiki https://zh.wikipedia.org/wiki/%E8%AF%81%E4%B9%A6%E9%80%8F%E6%98%8E%E5%BA%A6 ↩︎

  3. Jerry_Qu博客 https://imququ.com/post/certificate-transparency.html ↩︎ ↩︎

  4. 证书透明度的工作流程 https://www.digicert.com/certificate-transparency/how-it-works.htm ↩︎ ↩︎

  5. SCT工作流程 https://www.digicert.com/certificate-transparency/enabling-ct.htm ↩︎

  6. 官方解释 http://www.certificate-transparency.org/how-ct-works ↩︎

  7. https://knowledge.digicert.com/solution/SO28947.html ↩︎

  8. Q&A http://www.certificate-transparency.org/faq ↩︎

发布了9 篇原创文章 · 获赞 6 · 访问量 2394

猜你喜欢

转载自blog.csdn.net/Sunny_Ducky/article/details/99717064