首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpriteKit级数据安全

SpriteKit级数据安全
EN

Stack Overflow用户
提问于 2016-01-26 16:23:05
回答 2查看 82关注 0票数 0

我已经阅读了许多不同的帖子,线程等,关于存储游戏应用程序中使用的级别数据的最佳实践(级别边界数据、图像、字符、时间等)。

  • 许多人建议使用Property List (.plist)是适当的,因为它是相当简单的存储游戏信息,然后在需要时阅读它。虽然这很容易创建和引用,但是除了简单的plist加密字符串内容之外,文件在任何方面都不是安全的。
  • 另一种方法可能是将这些数据硬编码到一个单独的类文件中,名为LevelData.m,并直接引用类读取级别数据,因为以这种方式存储数据应该“更安全”,因为(据我所知)用户在应用程序打包和分发后无法直接或完全访问这些类文件,比如iOS应用商店。
  • 我还阅读了使用NSCoding构建的SpriteKit,其中可以将数据存档到文件(或NSData对象)中,然后从该存档中未存档。

我的问题,谁能建议最好的方法,或者也许是一个我没有提到的?是的,我知道它们都是保存大数据的非常有效的方法,特别是需要读取的非琐碎的、有点重复的数据,而且在安全措施方面都有各自的优缺点。我只是试图找到最安全的方法来存储这些数据,而不会让用户从可能遇到类似问题并找到理想解决方案的人那里以任何方式篡改这些数据。

注意:我确信托管此数据服务器端并在应用程序启动时检索数据将是理想的安全方法。然而,我只是想看看哪种方法应该是在安全性方面的最佳实践,严格地通过在设备上存储数据。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-26 16:56:15

如果您不信任用户,那么如何对不信任的数据进行签名,并使用公钥加密(在二进制文件中使用固定证书)验证签名?

因此,只能使用来自您的有效签名的数据。

但是,毕竟,如果用户删除二进制文件并修改公钥,这也是行不通的。

和以往一样,问题是:你让对手打破你的安全措施有多难--有多难呢?

票数 1
EN

Stack Overflow用户

发布于 2016-01-27 16:36:53

我知道您已经得到了答案,但我个人在NSCoding中使用了一个NSCoding Singleton类。我将编码/存档的数据保存到iOSs的密钥链中(而不是NSUserDefaults、NSBundlePath等)。

要保存到密钥链中,可以使用此助手

https://github.com/jrendel/SwiftKeychainWrapper

这是我在应用程序中使用的。它的工作原理非常类似于NSUserDefaults,因此非常容易使用。

您还可以在这里获得更复杂和更丰富的特性。

https://github.com/matthewpalmer/Locksmith

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

https://stackoverflow.com/questions/35018675

复制
相关文章

相似问题

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