V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wuruxu
V2EX  ›  SSL

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

  •  
  •   wuruxu · 2016-09-20 08:13:32 +08:00 · 2867 次点击
    这是一个创建于 2985 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    后来,某国的某 CA ,违背自己的诺言,发了一张假证书。被揭露后,大量计算机不得不取消对此 CA 的信任。
    wuruxu
        10
    wuruxu  
    OP
       2016-09-20 10:57:48 +08:00
    @jininij 怎么才可以更有效的发现一些 CA 的不端行为,这很重要
    qgy18
        11
    qgy18  
       2016-09-20 11:57:02 +08:00 via iPhone
    BOYPT
        12
    BOYPT  
       2016-09-20 11:59:20 +08:00
    据说 wosign 就签了个 github.com 的证书
    lslqtz
        13
    lslqtz  
       2016-09-20 12:00:55 +08:00 via iPhone
    @BOYPT 而且还有效
    Ubuntuu
        15
    Ubuntuu  
       2016-09-20 16:10:39 +08:00
    wosign 签的 github 的证书 https://crt.sh/?id=29647048
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2699 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:05 · PVG 23:05 · LAX 07:05 · JFK 10:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.