首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS安全:网络服务器与文件系统

iOS安全:网络服务器与文件系统
EN

Stack Overflow用户
提问于 2015-07-01 13:11:45
回答 1查看 291关注 0票数 1

我看过苹果开发者关于安全性的视频,他们提到使用ssl、https证书和密钥链来处理安全性。

我的iOS应用程序将允许访问敏感的付费文件。所以黑客不应该访问这些文件。我将使用在应用程序购买,以便用户可以购买这些文件。

1)我的第一个问题是:我是否应该在苹果服务器(托管内容)上承载我的文件,苹果到客户端的通信是否足够安全,还是应该使用证书和ssl身份验证来实现自己的服务器代码。

2)我想知道或了解如何在我的台式计算机上使用私钥加密文件,然后将其上传到我的服务器上。当我的iOS应用程序要求时,传递公钥和加密文件,并将公钥保存在密钥链中以供进一步使用。我想要这个功能,以便将文件保存在磁盘上,而不需要任何人通过越狱或其他黑客访问它。

( 3)应该使用什么作为公钥和私钥,以及使用何种类型的加密。目前,我遇到了AES看起来足够好,但有没有更好的方法?证书本身可以用来加密数据或传递密钥吗?

( 4)与哪个证书机构联系,以获取最安全的证书。

提前谢谢..。

编辑:的主要目的是下载pdf,并且该pdf不应该被应用程序之外的用户访问。

1)我决定使用CA和https的根证书来传输内容,以避免MINM。

2)在应用程序端,我将生成公共私钥对。

3)将私钥保存在密钥链中。

4)向服务器发送公钥。

5)服务器将使用主AES密钥加密pdf。

6)主-AES-密钥使用app发送的公钥加密。

7)加密-pdf和加密-主-AES-密钥将发送到app。

8)加密-pdf将保存到磁盘与安全的写入选项只是在情况下。

9)加密-主-AES-密钥将保存在密钥链中。

10)解密pdf:应用程序生成的私钥将用于解密加密的主-AES-密钥和主-AES-密钥,用于解密pdf。

11)最终将是信任苹果-钥匙链,以确保私钥的安全。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-03 12:07:33

解决办法不必要地复杂。越复杂,由于潜在错误/疏忽越多,安全性就越低。

  1. 使用带CA签名证书的https
  2. 为了避免MITM将证书钉在应用程序端
  3. 没有必要进一步加密通过https发送的数据。
  4. 加密设备上的文件并保存:
    • 从随机字节创建加密
    • 将密钥保存在密钥链中
    • 从随机字节创建iv
    • 将iv添加到加密缓冲区的开头
    • 使用AES、CBC模式和PKS7填充将数据加密到iv之后的缓冲区中。
    • 将数据保存到一个文件--应用程序文件区,可能在Document或Library目录下

  1. 解密设备上的文件并使用:
    • 从密钥链中获取密钥
    • 读取加密的数据文件
    • 从数据的开头获取iv
    • 解密从iv开始的数据

  1. 不要忽略服务器
    • 使用双因素身份验证。
    • 使用salt正确散列任何密码
    • 使用良好的用户身份验证

对于应用程序数据加密,请考虑使用RNCryptor,而不是自己编写加密部分。

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

https://stackoverflow.com/questions/31162353

复制
相关文章

相似问题

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