存储应用内购买的正确和安全方式

Thy*_*hys 12 security objective-c in-app-purchase ios

在设备上存储应用内购买的最佳方式是什么,这样购买也可以离线访问,但购买的安全性不会受到影响?

abd*_*lar 9

不要将任何有价值的东西存放在设备上,因为它不可信任,并且很容易被有动机的人妥协.

现在,所有这些都取决于正在购买的商品的类型和价值以及如果商品被泄露会发生什么.

如果它真正有价值,那么使用远程安全服务器来管理安全项目.在应用程序购买中包括可以由远程安全服务器验证的收据,该服务器直接通过安全连接与Apple的服务器通信.请参阅此链接以验证商店收据.


Nic*_*lis 7

据我所知,安全存储购买资产最方便的方法是使用某种形式的加密.

用户应该能够下载加密资产,应用程序应该动态解密.

但是,请确保以安全的方式存储密钥,因为熟练的黑客可以轻松恢复字符串密钥(在应用程序二进制文件中).保护密钥的一种好方法是使用基于服务器的系统进行某种身份验证.该应用程序将从服务器获取密钥,并仅在解密资产所需的时间内保留密钥.

这种防御机制不是坚不可摧的; 我觉得它足以让大多数用户试图破坏它.

要在设备上解密您的资产,最好使用CommonCrypto.它由Apple(使用iOS SDK)提供,因此您无需从头开始构建它,也无需为您的应用程序提供文档(美国法律要求).我发现Jim Dovey的Common Crypto包装是使用它的最简单方法.

希望有所帮助.:)