举个例子:现在 github.com 的 ssl 证书是 DigiCert 签发的,假如某个被浏览器信任的 CA 也签发了一个 github.com 的证书,浏览器会检测到这个异常情况吗?
有什么工具可以检测基于 CA 的 MITM 的行为?
1
alect 2016-09-20 08:24:28 +08:00
浏览器只能提示该证书是否可信,不会判断是哪个 CA 签发的证书的……理论上除了已知的一些伪造的 SSL 会被提示出异常情况,其他的不会提示的。。
|
2
shiji 2016-09-20 08:27:08 +08:00 via Android 1
hpkp 设置好了发现异常证书会自动上报给你设置的 URL
|
4
v1024 2016-09-20 09:01:08 +08:00
|
5
tinybaby365 2016-09-20 09:11:37 +08:00
这是一个正常行为啊,一个域名可以从不同的 CA 购买证书,只要 CA 合法(受信任),证书没有吊销、过期等,都是合法的。
浏览器是识别不了这种中间人攻击的(Firefox 也一样,“被浏览器信任”)。如果在 APP 中是自己写的 https 客户端可以,可以 APP 内置受信任的 CA 、甚至内置证书 public key(或起 hash)来比对。 |
6
wuruxu OP @v1024 看到这个 ‘简单说来,证书所有者或者 CA 都可以主动向 Certificate Logs 服务器提交证书’
是不是这个证书的透明性是需要 CA 自律的? 假如偷偷签发了,使用了一段时间就不用, Certificate Transparency 会不会发现不了? |
8
tony1016 2016-09-20 09:38:31 +08:00
有了这个东西, let's encrypt 怎么玩啊
|
9
jininij 2016-09-20 10:49:43 +08:00 via Android
CA 的在互联网中的身份就像一个公证处。在不可信的互联网中,计算机通过信任数量极少的 CA 来保证它不会陷入怀疑链。也可以说,互联网的安全依赖 CA 的个人诚信。
后来,某国的某 CA ,违背自己的诺言,发了一张假证书。被揭露后,大量计算机不得不取消对此 CA 的信任。 |
11
qgy18 2016-09-20 11:57:02 +08:00 via iPhone
|
12
BOYPT 2016-09-20 11:59:20 +08:00
据说 wosign 就签了个 github.com 的证书
|
14
clino 2016-09-20 12:04:55 +08:00 1
|
15
Ubuntuu 2016-09-20 16:10:39 +08:00
wosign 签的 github 的证书 https://crt.sh/?id=29647048
|