存储用于证书固定的公钥的安全性如何



通常建议存储公钥,用于移动设备的证书固定。类似的建议也出现在本文中。尽管可以修改应用程序以篡改公钥本身。那么,存储用于证书固定的公钥有多安全呢?

对您来说,主要的问题是防范什么?

如果你的意思是,一般来说,比如存储公钥安全吗,那么是的,它是安全的。这就是为什么它被称为公钥。

如果你试图防止MiTM攻击,比如受信任的CA签署了一个它不应该有的证书,那么只使用证书固定就足够了。只要证书是应用程序的一部分,并且基本操作系统对应用程序进行签名验证,就应该检测到证书的任何更改以及应用程序的任何扩展,并且不应该允许应用程序运行。

如果你试图阻止最终用户嗅探HTTPS连接,那么是的,他可以用自己的证书替换证书,并尽情地嗅探。您可以通过比较证书的哈希、加密证书等来验证证书,但无法保证用户无法对您的应用程序进行逆向工程。

公开公钥是安全的。这就是公钥密码术背后的主要原理。

如果有人可以篡改你的安卓应用程序中的公钥,他们也可以篡改应用程序的其他部分(例如完全删除加密或将请求重定向给攻击者)。

最新更新