Certificate Transparency

2024-02-19 07:58
文章标签 certificate transparency

本文主要是介绍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 ↩︎

这篇关于Certificate Transparency的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/724017

相关文章

IDEA启动弹出Server‘s certificate is not trusted怎么办

这是idea检测警告:服务器的证书不受信任(原因你自然懂) 解决方法: 在idea界面 ---》 Setting--》Server Certificates 在界面找到 Accept non-trusted certificates automatically,勾选后点“应用”,点“保存” 如下图:

vCenter 7 8 Unable to push signed certificate to host IP

报错  解决方式 选择主机和集群>选中最上面的vcenter>配置>设置>高级设置>点击编辑设置中通过过滤器搜索到vpxd.certmgmt.mode将值从默认的vmca更改为thumbprint保存官方更改证书模式

Unable to connect to the server: x509: certificate

问题 Unable to connect to the server: x509: certificate 原因 证书不匹配 解决 1 rm -rf .kube/sudo mkdir ~/.kubesudo cp /etc/kubernetes/admin.conf ~/.kube/cd ~/.kubesudo mv admin.conf configsudo service

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

使用git clone出现SSL routines:SSL3_GET_SERVER_CERTIFICATE错误的一种解决办法 最近用git下载一个开源项目的时候,出现了这样的错误信息: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3

使用git clone出现SSL routines:SSL3_GET_SERVER_CERTIFICATE错误的一种解决办法

最近用git下载一个开源项目的时候,出现了这样的错误信息: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing htt

SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]

python 在使用websocket 或者request可能会报这个错误,这是证书认证中的错误,如果不是对安全要求高的开发,可以使用下面的方式使request与websocket正常访问   在request中修改一个参数即可正常使用: textmod = {     "ID": "T214",      "Longitude": 123.6355038767646,      "Lati

iOS 开发-理解Certificate、AppId和Provisioning Profile

之前被证书折腾的死去活来的,现在懂了点。mark下一些相关知识。 今天先介绍下Certificate、AppId和Provisioning Profile。 参考博文:ios学习之 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系 当你准备进行真机测试或者发布应用到App Store上去的时候, 免不了要申请相应的证书。(

jenkin中svn连接问题:HoServer certificate verification failed: issuer is not trusted

问题现象:在jenkins中获取svn上代码时出现;Server certificate verification failed: issuer is not trusted; 解决办法: (1)在jenkins所在机器(centos系统),打开终端,输入         svn list    https://82.100.10.11​0/svn/Superscout   (2)

执行Git命令时出现SSL certificate problem的解决办法

提示错误:SSL certificate problem: self signed certificate 解决办法: 用git自带的配置命令: git config --global http.sslVerify false

解决Your iOS Development certificate has been revoked.

最近用个人帐号真机调试的时候遇到证书被撤销的问题---解决办法,就是换了BundleID(补充:我只是在写一个Demo,所以可以简单粗暴的重新设置BundleID,如果是其他情况,就需要重新生成一个证书喽) Dear 程序媛, You have revoked your certificate, so it is no longer valid. Certificat