【问题标题】:Access Tokens Persistence Best Practices (iOS)访问令牌持久性最佳实践 (iOS)
【发布时间】:2011-08-13 04:22:41
【问题描述】:
是否应该对 Twitter 和 Facebook 等服务的访问令牌进行加密?
特别是,令牌是否应该存储在设备的钥匙串与 UserDefaults 中?如果用户的设备被盗/被盗,可能会出现哪些安全问题
这是我迄今为止想出的。
钥匙串的优点:
加密
缺点:
用户删除应用时无法清理
UserDefaults 的优点:
保存在应用内。
缺点:
没有加密。
【问题讨论】:
标签:
iphone
security
ios
social
xauth
【解决方案1】:
您的 UserDefaults 'con' 需要修改:默认情况下没有加密。您可以使用例如加密自己的内容。 CommonCrypto,但它需要额外的工作来存储纯文本。
OAuth 令牌的意义在于,拥有该令牌的人可以使用相关服务而无需出示凭据。因此,您应该像保护密码一样保护它,如果您必须存储密码,因为它具有相同的值。
如果用户的设备被盗,那么除非他们用密码锁定了他们的设备,否则小偷可以在您描述的任何一种情况下以用户身份使用您的应用。如果您不加密访问令牌,那么他们还可以从他们控制的代码中提取并重放它。