据我所知,数字证书和证书颁发机构(受信任的第三方)有助于防止在HTTPS连接期间处于中间攻击的人。然而,我对一些细节感到困惑。
假设我们有一个客户端Alice和Bob,他们有一个映射到"bob.com“的服务器。
当Bob (bob.com)请求CA (比方说veriSign)创建一个新证书并将其公钥发送到证书中时,是什么阻止黑客拦截请求、使用自己的公钥切换公钥、让CA创建一个假证书,然后将此错误证书返回给Bob。在此,Bob是否真正检查返回证书上的公钥是否与他在向CA的请求中最初发送的内容相匹配?然后我想告诉CA,他得到的信息与他发出的信息不一致,所以CA不会保存错误的记录?
假设新创建的证书Bob从veriSign获得的证书是合法的,那么现在假设Alice将通过HTTPS协议向"bob.com“发出请求。防止双重通道MITM攻击的是,黑客在向Alice发送的途中截获了Bob的新证书,创建了一个新证书,用他们自己的密钥(以前由veriSign签名)签名,但当爱丽丝向veriSign请求VeriS传的公钥时,还拦截了她的请求,并使用匹配的公钥再次将其切换到恶意密钥。现在,当Alice试图检查假证书的完整性时,它检查出来了,因为尽管她认为自己正在使用veriSign的公钥检查签名,但她真的在使用恶意公钥吗?
发布于 2019-08-16 23:11:42
在此,Bob是否真正检查返回证书上的公钥是否与他在向CA的请求中最初发送的内容相匹配?
如果在CA使用公钥创建证书之前切换了公钥,那么Bob的网站将根本无法工作。他所保管的私钥,只能使用他原来的公用钥匙。攻击者不太可能将所有连接都MITM,并防止这一事实变得明显。
当艾丽斯请求维里希格的公钥时,她会拦截爱丽丝对veriSign的请求,然后再用匹配的公钥和恶意密钥交换它。
Alice不接触Verisign;Alice只信任浏览器或计算机的可信证书存储区中CA证书的副本,Verisign恰好就是其中之一。
受信任的证书存储在安装时( OS或Firefox )填充,然后根据需要通过常规操作系统或应用程序更新更新--比您想象的要少,因为许多根CA都是长期存在的。
发布于 2019-08-17 00:01:12
问得好。最受信任的CA的证书通常包含在软件安装包中,例如浏览器安装程序、OS安装程序中,或者像智能手机这样的设备上预装。这就是为什么浏览器(或其他应用程序)会注意到证书是否真的来自指定的CA。
发布于 2020-02-08 14:10:49
您实际上是在问是什么阻止第三方通过受信任的CA颁发证书。
https://security.stackexchange.com/questions/215439
复制相似问题