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

如何保证 CA 证书颁发机构的合法性?

  •  
  •   caixiexin · 2015-03-19 08:54:31 +08:00 · 7461 次点击
    这是一个创建于 3541 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近再复习Https和SSL相关的东西,看到CA这块相关的知识时,有点疑问:
    1. 经常听说有伪造证书进行中间人攻击的方式,怎么没有伪造证书顺便伪造CA认证的方式呢?
    2. http://www.cnblogs.com/hyddd/archive/2009/01/07/1371292.html 这里有篇文章说,CA的合法性来自于上一级的CA认证中心,而浏览器中一般预装根CA认证中心证书,所以最终都能跑到根CA去校验。那有没有可能伪造一个CA根证书置于客户端中,让伪造者的伪造的证书都跑到这个伪造的CA去认证并通过?比如某公司自己出了个浏览器,内置几个假的根CA证书?
    说的通俗一点,就是双方交易总要找个第三方做担保,但是怎么保证这个第三方不是跟其中一个人一伙的呢?
    自己对于安全这块的知识很零散,但愿不是问了个很蠢的问题。
    thanks in advance :)
    24 条回复    2015-03-23 16:20:52 +08:00
    wy315700
        1
    wy315700  
       2015-03-19 09:08:16 +08:00   ❤️ 1
    那有没有可能伪造一个CA根证书置于客户端中,让伪造者的伪造的证书都跑到这个伪造的CA去认证并通过

    可以,goagent默认那个证书就可以用
    wdlth
        2
    wdlth  
       2015-03-19 09:10:43 +08:00   ❤️ 1
    百度浏览器就是这样做的……
    squid157
        3
    squid157  
       2015-03-19 09:16:41 +08:00 via iPhone   ❤️ 1
    我的感觉就是无法保证,所以是不是要收入一个根证书,通常需要比较严格的审计吧
    caixiexin
        4
    caixiexin  
    OP
       2015-03-19 09:21:05 +08:00
    @wy315700 你说的这个做法应该是手动导入的把?以前用goagent访问https的时候都要这么做,这是用户自己承担风险的。
    我的意思是有没有在用户不知道的情况下偷偷放根CA证书的情况,如果有,那CA又怎么说是权威且安全的呢。
    wy315700
        5
    wy315700  
       2015-03-19 09:24:35 +08:00   ❤️ 2
    @caixiexin 如果是正规浏览器和系统,这种事情是不会发生的,现在的问题是,第三方网站会悄悄的放根证书进去,比如支付宝安全工具什么的
    choury
        6
    choury  
       2015-03-19 09:32:08 +08:00   ❤️ 1
    我第一想到的就是支付宝
    hjc4869
        7
    hjc4869  
       2015-03-19 09:36:00 +08:00 via iPhone   ❤️ 1
    不要用支付婊这种。。
    sortbylist
        8
    sortbylist  
       2015-03-19 09:40:30 +08:00   ❤️ 1
    @caixiexin CA的权威主是要说大部分,要用这个干坏事也有,并且破坏力巨大。因此CNNIC就没人待见。见月光博客http://www.williamlong.info/archives/3690.html和http://www.williamlong.info/archives/4125.html
    kevin1852
        9
    kevin1852  
       2015-03-19 09:43:52 +08:00   ❤️ 1
    @wy315700 支付宝的服务器证书不是买的verisign的么?
    wy315700
        10
    wy315700  
       2015-03-19 09:47:02 +08:00   ❤️ 1
    @sortbylist CNNIC还没干过坏事吧,更何况,正规CA干坏事很容易被发现的,到时候就是全球吊销。
    月光博客里都是各种危言耸听




    @blackshow 有个数字签名证书,不是网站的证书
    kevin1852
        11
    kevin1852  
       2015-03-19 09:53:57 +08:00   ❤️ 1
    @wy315700 明白了,就是个人用户的证书吧,都是自建CA建的,工行,建行不也都是么?
    ksc010
        12
    ksc010  
       2015-03-19 11:03:53 +08:00   ❤️ 1
    @blackshow 好多软件自己往你电脑安装根证书 最恶心人了
    原来就想过写一个软件把这些都扫描出来
    或者 写一个浏览器插件 检查 当前证书 是否是“正常根证书”所颁发的
    xfspace
        13
    xfspace  
       2015-03-19 11:20:24 +08:00 via Android   ❤️ 1
    @blackshow 装安全控件的时候,弄了个Alipay Root证书进去。。。
    songco
        14
    songco  
       2015-03-19 11:34:32 +08:00   ❤️ 1
    参考cnnic和支付宝的根证书
    caixiexin
        15
    caixiexin  
    OP
       2015-03-19 12:25:40 +08:00
    谢谢大家,涨了很多姿势。也就是说其实浏览器的根证书或者根CA的权威还是靠公众对其的监督来保证的么?
    关于支付宝偷偷安装根证书的问题,我自己去查查
    ps:@blackshow @ksc010 两位头像一大一小,真不是同一个人的大小号么2333
    ksc010
        16
    ksc010  
       2015-03-19 12:42:03 +08:00
    @caixiexin !-- 巧合。。。
    66450146
        17
    66450146  
       2015-03-19 12:51:26 +08:00
    可以的,有的传统制造业公司会在公司电脑上安装自己公司的根证书,SSL/TLS 无所遁形~
    kevin1852
        18
    kevin1852  
       2015-03-19 13:04:33 +08:00
    @caixiexin 浏览器会预置一些CA的根证书,如果没有,自己可以导入跟证书,导入根证书信任库的时候会提示你信任不信任这个颁发机构。
    支付宝是不是偷偷装跟证书我记不清了,主要是CA应该是第三方认证机构,第三方的认证才有权威性,这种属于支付宝自己就充当第三方的结构了,理论上就没有权威性了,但是国内普遍都是这样,工行,建行,移动联通什么的,都是用的自建CA颁发证书。
    mornlight
        19
    mornlight  
       2015-03-19 13:10:14 +08:00
    这些通用顶级CA 是视作权威第三方的。证书本质上是信任。
    从利益上说,他们也不会随便干坏事。谁那么蠢把自己赚钱的东西弄丢呢。
    伪造CA 放客户端当然可以,你的机器你的环境,你信任谁不信任谁都是自己说了算
    mfaner
        20
    mfaner  
       2015-03-19 15:32:01 +08:00
    我认为是CA证书被客户端信任,客户端被用户信任,这样构成一个完整的信任链
    wy315700
        21
    wy315700  
       2015-03-19 15:44:56 +08:00
    @mornlight 好多人就喜欢杞人忧天,总觉得只有他自己的CA才安全。
    ihciah
        22
    ihciah  
       2015-03-19 16:54:16 +08:00
    CA签假证书被抓现行整个公司就废了。。
    choury
        23
    choury  
       2015-03-19 17:33:26 +08:00
    @66450146 说的是华为么
    msg7086
        24
    msg7086  
       2015-03-23 16:20:52 +08:00
    @caixiexin 以前 Chrome 的隐私模式上有一句话说得很好。
    隐私模式不能防止 **站在你背后的人**。
    证书也是一样。如果有人/软件直接操作了你的电脑,导入了伪造证书,那么也没有什么事情是他们不能做的了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3399 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:49 · PVG 19:49 · LAX 03:49 · JFK 06:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.