首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS网络问题。TLS会话缓存漏洞

iOS网络问题。TLS会话缓存漏洞
EN

Stack Overflow用户
提问于 2014-07-24 20:11:15
回答 1查看 742关注 0票数 6

对于我的iOS应用程序,我面临一个与安全相关的问题。我在所有的网络调用中都使用HTTPS,所使用的公共证书来自受信任的机构,它被捆绑在应用程序中以防止中间攻击(ref:参与攻击的人- Wiki)。在Android中,我正在执行SSL固定(验证每个网络调用中/之前来自服务器的证书)--它的工作非常好,但是在iOS中,有一个TLS会话缓存在第一次网络调用之后缓存证书有效性。

对于第一次网络调用,证书验证部分工作正常,对于第二次调用,操作系统使用缓存,我无法验证证书。我的QA团队可以轻松地攻击和获取网络呼叫中的所有数据,用于第二次和连续的网络呼叫。以下是TLS会话缓存iOS文档的参考资料。似乎没有办法以编程方式清除缓存ref:AdvancedURLConnections

更改查询参数没有帮助,我已经尝试过了。请提供iOS特定的解决方案。由于商业原因,我不能对我的数据进行加密。

编辑:我正在使用下面提到的方法来验证我的证书。对于第一次网络调用,此方法由操作系统调用,对于连续调用,此方法不被调用。

代码语言:javascript
复制
willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge

我的QA团队只是对每个网络调用进行MiTM攻击,他们试图使用他们的证书,如果对于任何网络调用,我不验证证书,那么他们就可以轻松地读取数据。由于缓存,我无法验证我的证书。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-22 15:30:32

这个问题的答案是,如果您切换网络,将再次调用此方法。身份验证的响应或结果对于会话是持久的,只要会话有效,连接就会被保护。因此,只需依赖于框架的方法,并确保通信安全:)

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

https://stackoverflow.com/questions/24943072

复制
相关文章

相似问题

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