首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ATS和SSL锁定

ATS和SSL锁定
EN

Stack Overflow用户
提问于 2017-10-18 19:17:24
回答 2查看 997关注 0票数 3

任何人请解释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锁定是避免不安全连接的最佳方法。请确认

EN

回答 2

Stack Overflow用户

发布于 2017-10-19 02:50:49

证书锁定可确保您的应用程序与正确的服务器进行通信。在没有证书锁定的情况下,我可以设置一个拦截代理来查看进出应用程序的所有流量。

固定证书确保我不能这样做,因为应用程序将只接受来自提供正确固定证书的服务器的通信。

然后启用自动测试服务就足以保证安全性

你永远不会有足够的安全保障,但这一部分是基于你的应用程序正在做的事情。如果你的应用程序处理的端点和数据是敏感的,你应该大胆地进行证书锁定。我认为无论如何你都应该这样做,因为它很容易做到。

如果我的服务器低于TLS1.2协议,那么SSL锁定是避免不安全连接的最佳方法

这会导致ATS的问题,你的服务器真的应该支持TLS 1.2,它现在已经相当普遍了。您还需要确保证书使用具有2048位或更大的RSA密钥或256位或更大的椭圆曲线密钥的至少SHA256指纹,并且您需要支持以下密码之一:

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

的_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

这看起来可能很吓人,但实际上上面的情况是相当标准的。

备注:

这两者通常都被称为

你是对的,但这是个坏习惯。他们可能做同样的事情,但他们以不同的方式做。SSL是SSL,TLS是TLS,它们是不同的。

注释2:

如果您确实使用证书固定,请考虑使用公钥固定或CA证书固定。

票数 2
EN

Stack Overflow用户

发布于 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作为底层实现之间没有区别-基本概念保持不变。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46808938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档