gpt4 book ai didi

ios - 如果部署了有效证书,iOS AFNetwork SSL Pinning 模式是否会提供额外的安全奖励

转载 作者:可可西里 更新时间:2023-11-01 04:23:27 24 4
gpt4 key购买 nike

按照我的理解,SSL Pinning 就是将服务器的公钥或证书与事先绑定(bind)在客户端的副本进行比较。

我在 Stackoverflow 中看到许多开发人员使用 AFNetwork 库的 SSL Pinning,但他们中的大多数人将它与自签名证书一起使用。

我已从 CA 购买了有效证书并通过了测试以验证它是否正常工作。我的意思是,我设置了以下内容并且它起作用了

    ...
_sharedHttpsInstance.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
_sharedHttpsInstance.securityPolicy.allowInvalidCertificates = NO;
...

我想知道的是,如果将 Pinning 模式设置为 AFSSLPinningModePulicKey,除了提供有效证书之外,我的应用程序在与服务器通信时会更加安全吗?

非常感谢。

最佳答案

我不知道 SSL 锁定在 iOS 中的确切实现,但原则上锁定提供的安全性肯定比针对一组内置证书机构的默认验证更高。默认情况下,系统信任来自世界各地的 100 多个不同的 CA,并且每个 CA 都有能力颁发它想要的任何证书,即使另一个 CA 已经颁发了相同或相似的证书。因此,如果这 100 多个 CA 中的任何一个遭到破坏,他们都可以为您的域颁发证书,除非您使用证书固定,否则它将通过您的应用程序中的检查。这样的妥协发生在 2011 年的 DigiNotar(因此不再存在)和 Comodo(大到不能倒)。

证书固定的最著名用户可能是谷歌浏览器,它用于谷歌域,这有助于检测 DigiNotar 和 Comodo 的妥协。

证书固定的一个缺点可能是,应用程序将停止在出于安全原因进行 SSL 拦截的网络内部工作。如果证书是由用户明确添加的 CA 签署的(即没有内置的)替代固定检查,Google Chrome 似乎通过接受证书来处理这种情况。

Another question which might be interesting is if SSL pinning is secure 'ENOUTH' for 'Most' of the application, even if working along with self-signed certification?

检查固定证书或公钥(例如,使用或不使用自签名的证书固定)比仅检查证书是否由系统信任的 100 多个 CA 中的任何一个签名更安全。只要开发人员对双方(例如应用程序和服务器)具有完全控制权,它也可以很好地扩展。额外使用常用基础设施的唯一优势是使用证书撤销机制。但是因为开发人员可以控制应用程序,他可以在证书被泄露的情况下替换应用程序。所以是的,在大多数情况下,使用自签名证书进行 SSL 固定就足够安全了,而且它比使用没有固定的标准证书验证更安全。

关于ios - 如果部署了有效证书,iOS AFNetwork SSL Pinning 模式是否会提供额外的安全奖励,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com