Ssl 移动应用中的公钥锁定与证书锁定
情景:Ssl 移动应用中的公钥锁定与证书锁定,ssl,https,ssl-certificate,tls1.2,starttls,Ssl,Https,Ssl Certificate,Tls1.2,Starttls,情景: 我在android应用程序中锁定了3个证书的公钥pin SHA:根CA、中间CA和叶CA 我所理解的(如果我在这里说错了,请纠正我): 使用公钥固定,以便我们可以检查服务器正在颁发的证书的公钥是否已更改 如果证书的公钥SHA是我们在应用程序中“固定”的公钥,则该证书有效。要检查公钥,首先它将使用公钥解密签名,并确保该签名的数据中也存在相同的公钥 当叶证书已过期但与有效的“固定”公钥SHA相对应时,将检查证书链是否有效,如果其中一个证书有效,则接受证书并建立连接 当我获得的叶证书具有
- 我在android应用程序中锁定了3个证书的公钥pin SHA:根CA、中间CA和叶CA
- 使用公钥固定,以便我们可以检查服务器正在颁发的证书的公钥是否已更改
- 如果证书的公钥SHA是我们在应用程序中“固定”的公钥,则该证书有效。要检查公钥,首先它将使用公钥解密签名,并确保该签名的数据中也存在相同的公钥
- 当叶证书已过期但与有效的“固定”公钥SHA相对应时,将检查证书链是否有效,如果其中一个证书有效,则接受证书并建立连接
- 当我获得的叶证书具有无效的公钥但未过期时,则意味着我从可能是攻击者的人那里获得了错误的证书
- 如果攻击者破坏客户端并安装自己的受信任CA,然后在客户端上执行MITM,通过出示自己的伪造证书(由安装在客户端设备上的CA签名)来拦截所有通信,则公钥固定是否有助于安全性
- 直接证书钉扎和公钥钉扎在这里有什么不同
- 在上述问题中使用自签名证书意味着什么
在移动应用程序领域,钉住似乎仍然有点流行,因为你对应用程序有更大的控制权,并且可以在出现问题时重新发布新版本。但这仍然是复杂和危险的。“锁定基本上不能与自签名证书一起使用。因为它要么不被浏览器识别”。那么移动应用程序呢?在移动应用程序中,我们从根到叶锁定所有证书的公钥SHA。你能更新你的答案吗?很抱歉,我错过了这是一个应用程序,而不是浏览器。答案已更新。@Barry Pollard如果我理解正确,对于移动应用程序,如果我只锁定根公钥SHA而不是所有3个公钥SHA,它仍然可以工作,因为即使叶端和中间端号由于信任链而丢失,也会看到根端号匹配,因此会起作用?关于公司的手动安装的受信任CA