【问题标题】:Writing secure transport level using security framework使用安全框架编写安全传输级别
【发布时间】:2013-03-13 00:01:07
【问题描述】:

我开发了安全敏感的应用程序。我不得不使用基于TEA 的算法来加密/解密数据以与服务器通信并遵循服务器协议。我使用AsyncSocket 进行使用CFNetwork API 的传输级通信。我注意到TEA 算法不是很安全,很容易被黑客入侵。此外,AsyncSocket 库没有在任何地方使用 Apple 的 Security Framework。我计划重写传输层并重新定义客户端-服务器安全协议。我一直在研究应该使用什么样的安全算法来保护数据,这种算法对性能没有影响或影响最小并且难以破解。此外,我正在浏览安全框架,但找不到任何使用该框架实现传输层的示例。有人可以帮助我吗?我应该遵循哪些内容来编写安全传输层? 我可以针对我的应用检查哪些安全措施?

【问题讨论】:

  • 防范什么
  • 只使用 SSL/TLS 怎么样?它肯定比你想出的任何东西都要好。
  • @SLaks 感谢您指出这一点。我完全错过了术语数据保护!我想确保我的应用程序和服务器之间的通信是 A 级安全的!应用程序之间的数据交换。我正在使用 TEA,它使用应用程序中硬编码的密钥来加密数据,并且在服务器端使用相同的密钥,这似乎不是一个非常强大的解决方案!
  • @CodesInChaos 基于此 -developer.apple.com/library/mac/#documentation/security/… ,CFNetwork 已经使用 SSL/TLS。这是否意味着我的应用已经足够安全了?
  • @SLaks 想说的是,您的问题类似于“我购买了一个插销锁。我的建筑物安全吗?”这取决于你如何安装门栓、什么样的建筑物、谁可能试图闯入它,以及许多其他事情。在任何情况下,锁舌都不会保护您免受火灾(“发生了一件坏事”)。安全性是管理风险的重叠流程、人员和工具的集合。它不是您安装的产品并且是“安全的”。没有人可以在 SO 帖子中告诉您您是否已充分解决所有相关攻击。这需要评估。

标签: ios cryptography transport-security security-framework


【解决方案1】:

正如@CodesInChaos 所说,您应该为此使用 TLS。您绝对不应该设计或实现新的传输协议。

CFNetwork 支持 TLS 并不意味着您正在使用它。你需要积极地使用它。您的服务器需要客户端信任的证书,并且需要协商 TLS 会话。一般来说,如果您只使用 HTTPS 和标准的 NSURLConnection 例程,那么您将免费获得大部分所需的东西。但是,如果您开始在CFNetwork 中手动构建它,则需要确保正确配置它。我的建议是尽可能使用 HTTPS。它很简单,可以解决各种各样的问题。

也就是说,仅仅因为传输是安全的并不意味着您的应用“足够安全”。特别是,您的服务器仍然需要能够处理通过安全传输进行通信的恶意客户端。您需要正确验证用户身份,并且需要优雅地处理恶意数据。当数据到达您的服务器时,您需要安全地存储。您可能需要加密客户端上的数据。除了传输之外,保护系统还有很多方面。

【讨论】:

  • 谢谢@Rob。 +1 表示“您需要积极使用它”。 - 代码很久以前就已经写好了,我们既没有使用 HTTPS 也没有使用 TLS 证书。应用程序对我不担心的非关键数据使用 HTTP URL 连接。它使用 AsyncSocket 库使用 CFNetwork TCP 套接字(IP 和端口给定)与服务器通信。没有使用 TLS 的地方。就在使用 CFStreams 在套接字上写入敏感数据之前,我们只是使用 TEA 来加密它们,就像我提到的那样。你能建议我们的实施是有保障的吗?我应该使用 TLS 吗?还有其他我应该检查的安全措施吗?
  • 您几乎肯定应该使用 TLS。您可以实施数十种(如果不是数百种)其他安全措施。如果没有有关您的特定产品的详细信息,无法访问您的设计和实施,就无法回答这个问题。但首先,是的,您几乎可以肯定地使用带有证书验证的 TLS。请注意,将 HTTP 用于“非关键”数据仍然会产生重大的安全漏洞。例如,可能会通过诱骗您接受来自错误服务器的指令来进行攻击。这取决于您的特定协议和项目。
  • 谢谢罗伯。我需要更多地研究我们的安全措施要求。数据保护和数据来源识别将分别使用良好的加密算法和TLS来解决。
猜你喜欢
  • 2011-09-08
  • 2011-06-17
  • 2014-05-22
  • 2011-05-15
  • 2013-06-25
  • 2011-08-27
  • 1970-01-01
  • 2014-05-25
  • 2010-12-24
相关资源
最近更新 更多