在 iOS 中保存访问令牌的最佳实践
Posted
技术标签:
【中文标题】在 iOS 中保存访问令牌的最佳实践【英文标题】:Best Practice of saving an access token in iOS 【发布时间】:2012-12-04 22:40:09 【问题描述】:我目前正在开发一个需要以某种方式存储访问令牌的 iPhone 应用程序。我只是将它保存在 NSUserdefaults 中,但我认为这不是保存此类敏感数据的最安全方式。所以我现在的问题是:
在 ios 设备上存储此类数据的最佳和最安全的方法是什么?
【问题讨论】:
【参考方案1】:我只是将其保存在
NSUserDefaults
中,但我认为这不是保存此类敏感数据的最安全方式。
几乎。 NSUserDefaults
使用明文存储数据,因此不安全。如果您想更安全一点,可以将数据存储在keychain 中(但是,即使是这种被认为是安全的存储can be easily dumped...)
【讨论】:
在NSUserDefaults
中保存访问令牌是常见的做法。作为示例,您可能会想到 Facebook iOS SDK。
@GabrielePetronella 我同意这是一种常见的做法。这就像地狱一样不安全。你看,即使是钥匙串也可以被丢弃(我实际上使用这种技术对付一个使用我的 iPad 登录 Facebook 的烦人。现在我敢打赌她不会再这样做了:P)
@GabrielePetronella 是的,“它可以被黑”并不意味着“每个人都会黑它”,而是“有人会黑它”。
@GabrielePetronella Sebastian 询问“最好和最安全”的方式,而不是最常见的方式。
@H2CO3 您应该澄清“轻松转储”解决方案需要越狱(即不受限制地访问设备)。此外,备份时钥匙串和用户默认值的处理方式不同,这是将东西放入钥匙串的主要价值。以上是关于在 iOS 中保存访问令牌的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章