V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wuruxu
V2EX  ›  SSL

浏览器会对 CA 签发的证书做真实性的校验吗?

  •  
  •   wuruxu · Sep 20, 2016 · 3305 views
    This topic created in 3512 days ago, the information mentioned may be changed or developed.

    举个例子:现在 github.com 的 ssl 证书是 DigiCert 签发的,假如某个被浏览器信任的 CA 也签发了一个 github.com 的证书,浏览器会检测到这个异常情况吗?
    有什么工具可以检测基于 CA 的 MITM 的行为?

    15 replies    2016-09-20 16:10:39 +08:00
    alect
        1
    alect  
       Sep 20, 2016
    浏览器只能提示该证书是否可信,不会判断是哪个 CA 签发的证书的……理论上除了已知的一些伪造的 SSL 会被提示出异常情况,其他的不会提示的。。
    shiji
        2
    shiji  
       Sep 20, 2016 via Android   ❤️ 1
    hpkp 设置好了发现异常证书会自动上报给你设置的 URL
    wuruxu
        3
    wuruxu  
    OP
       Sep 20, 2016
    @shiji 这个方法挺好,看起来好像是在证书里预先设定的
    这个 URL 每个用户都可以设置的吗?
    tinybaby365
        5
    tinybaby365  
       Sep 20, 2016
    这是一个正常行为啊,一个域名可以从不同的 CA 购买证书,只要 CA 合法(受信任),证书没有吊销、过期等,都是合法的。

    浏览器是识别不了这种中间人攻击的(Firefox 也一样,“被浏览器信任”)。如果在 APP 中是自己写的 https 客户端可以,可以 APP 内置受信任的 CA 、甚至内置证书 public key(或起 hash)来比对。
    wuruxu
        6
    wuruxu  
    OP
       Sep 20, 2016
    @v1024 看到这个 ‘简单说来,证书所有者或者 CA 都可以主动向 Certificate Logs 服务器提交证书’
    是不是这个证书的透明性是需要 CA 自律的?
    假如偷偷签发了,使用了一段时间就不用, Certificate Transparency 会不会发现不了?
    v1024
        7
    v1024  
       Sep 20, 2016
    @wuruxu 目前这个只有 Chrome 支持,范围有限,所以都是持有者去提的。目前这个不能 100%解决问题,但是一个方向。
    tony1016
        8
    tony1016  
       Sep 20, 2016
    有了这个东西, let's encrypt 怎么玩啊
    jininij
        9
    jininij  
       Sep 20, 2016 via Android
    CA 的在互联网中的身份就像一个公证处。在不可信的互联网中,计算机通过信任数量极少的 CA 来保证它不会陷入怀疑链。也可以说,互联网的安全依赖 CA 的个人诚信。

    后来,某国的某 CA ,违背自己的诺言,发了一张假证书。被揭露后,大量计算机不得不取消对此 CA 的信任。
    wuruxu
        10
    wuruxu  
    OP
       Sep 20, 2016
    @jininij 怎么才可以更有效的发现一些 CA 的不端行为,这很重要
    qgy18
        11
    qgy18  
       Sep 20, 2016 via iPhone
    BOYPT
        12
    BOYPT  
       Sep 20, 2016
    据说 wosign 就签了个 github.com 的证书
    lslqtz
        13
    lslqtz  
       Sep 20, 2016 via iPhone
    @BOYPT 而且还有效
    Ubuntuu
        15
    Ubuntuu  
       Sep 20, 2016
    wosign 签的 github 的证书 https://crt.sh/?id=29647048
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2340 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 04:42 · PVG 12:42 · LAX 21:42 · JFK 00:42
    ♥ Do have faith in what you're doing.