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

2015-03-19 08:54:31 +08:00
 caixiexin
最近再复习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 :)
7478 次点击
所在节点    SSL
24 条回复
wy315700
2015-03-19 09:08:16 +08:00
那有没有可能伪造一个CA根证书置于客户端中,让伪造者的伪造的证书都跑到这个伪造的CA去认证并通过

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




@blackshow 有个数字签名证书,不是网站的证书
kevin1852
2015-03-19 09:53:57 +08:00
@wy315700 明白了,就是个人用户的证书吧,都是自建CA建的,工行,建行不也都是么?
ksc010
2015-03-19 11:03:53 +08:00
@blackshow 好多软件自己往你电脑安装根证书 最恶心人了
原来就想过写一个软件把这些都扫描出来
或者 写一个浏览器插件 检查 当前证书 是否是“正常根证书”所颁发的
xfspace
2015-03-19 11:20:24 +08:00
@blackshow 装安全控件的时候,弄了个Alipay Root证书进去。。。
songco
2015-03-19 11:34:32 +08:00
参考cnnic和支付宝的根证书
caixiexin
2015-03-19 12:25:40 +08:00
谢谢大家,涨了很多姿势。也就是说其实浏览器的根证书或者根CA的权威还是靠公众对其的监督来保证的么?
关于支付宝偷偷安装根证书的问题,我自己去查查
ps:@blackshow @ksc010 两位头像一大一小,真不是同一个人的大小号么2333
ksc010
2015-03-19 12:42:03 +08:00
@caixiexin !-- 巧合。。。
66450146
2015-03-19 12:51:26 +08:00
可以的,有的传统制造业公司会在公司电脑上安装自己公司的根证书,SSL/TLS 无所遁形~
kevin1852
2015-03-19 13:04:33 +08:00
@caixiexin 浏览器会预置一些CA的根证书,如果没有,自己可以导入跟证书,导入根证书信任库的时候会提示你信任不信任这个颁发机构。
支付宝是不是偷偷装跟证书我记不清了,主要是CA应该是第三方认证机构,第三方的认证才有权威性,这种属于支付宝自己就充当第三方的结构了,理论上就没有权威性了,但是国内普遍都是这样,工行,建行,移动联通什么的,都是用的自建CA颁发证书。
mornlight
2015-03-19 13:10:14 +08:00
这些通用顶级CA 是视作权威第三方的。证书本质上是信任。
从利益上说,他们也不会随便干坏事。谁那么蠢把自己赚钱的东西弄丢呢。
伪造CA 放客户端当然可以,你的机器你的环境,你信任谁不信任谁都是自己说了算
mfaner
2015-03-19 15:32:01 +08:00
我认为是CA证书被客户端信任,客户端被用户信任,这样构成一个完整的信任链

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/177909

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX