任何人请解释SSL锁定和应用程序传输安全的作用。
我读到SSLpinning用于确保应用程序只与指定的服务器本身通信
随着iOS 9的发布,还引入了应用程序传输安全库。默认情况下,ATS拒绝所有不使用至少TLS 1.2协议的不安全连接。TLS协议是SSL协议的替代协议,但它们通常都称为SSL。考虑到SSL锁定,将TLS或SSL作为底层实现之间没有区别-基本概念保持不变。
所以我的问题是1.如果我的服务器使用的是TLS 1.2协议,那么启用ATS就足以保证安全性。不需要在我的应用程序中做SSL锁定。请确认2.如果我的服务器低于TLS 1.2协议,那么SSL锁定是避免不安全连接的最佳方法。请确认
发布于 2017-10-19 02:50:49
证书锁定可确保您的应用程序与正确的服务器进行通信。在没有证书锁定的情况下,我可以设置一个拦截代理来查看进出应用程序的所有流量。
固定证书确保我不能这样做,因为应用程序将只接受来自提供正确固定证书的服务器的通信。
然后启用自动测试服务就足以保证安全性
你永远不会有足够的安全保障,但这一部分是基于你的应用程序正在做的事情。如果你的应用程序处理的端点和数据是敏感的,你应该大胆地进行证书锁定。我认为无论如何你都应该这样做,因为它很容易做到。
如果我的服务器低于TLS1.2协议,那么SSL锁定是避免不安全连接的最佳方法
这会导致ATS的问题,你的服务器真的应该支持TLS 1.2,它现在已经相当普遍了。您还需要确保证书使用具有2048位或更大的RSA密钥或256位或更大的椭圆曲线密钥的至少SHA256指纹,并且您需要支持以下密码之一:
的_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
这看起来可能很吓人,但实际上上面的情况是相当标准的。
备注:
这两者通常都被称为
。
你是对的,但这是个坏习惯。他们可能做同样的事情,但他们以不同的方式做。SSL是SSL,TLS是TLS,它们是不同的。
注释2:
如果您确实使用证书固定,请考虑使用公钥固定或CA证书固定。
发布于 2017-10-19 21:22:24
https://infinum.co/the-capsized-eight/how-to-make-your-ios-apps-more-secure-with-ssl-pinning
“随着TLS9的发布,应用程序传输安全库也被引入。默认情况下,iOS拒绝所有不使用TLS1.2协议的不安全连接。TLS协议是SSL1.2协议的替代品,但它们通常都被称为SSL.SSL。考虑到SSL钉住,将TLS或SSL作为底层实现之间没有区别-基本概念保持不变。
https://stackoverflow.com/questions/46808938
复制相似问题