使用identifierForVendor加密文件是否适当?

3
我正在考虑在我的应用程序中正确加密文件的方法。以下适用于文件中存储的数据:
  • 数据不是非常敏感
  • 如果丢失,数据可以重新创建(尽管非常昂贵)
  • 该文件只能由我的应用程序读取
  • 复制到另一台设备后,该文件不应可读
  • 应用程序不应需要使用设备密码来访问钥匙串
我想到的一个点子是使用[[UIDevice currentDevice] identifierForVendor]作为加密密钥,因为这样可以确保满足上述要求。
这个方法行得通吗?请告诉我所有认为不应该采用这种方法的原因!
1个回答

0

我不建议直接使用它。

原因是在升级等多种情况下,它可能会发生变化。

但你可以使用它来代替随机生成器,然后将其存储在密钥链中以供将来使用。

参考资料

当用户从设备中删除该供应商的所有应用程序,然后重新安装其中一个或多个应用程序时,该值会更改。在使用Xcode安装测试版本或使用特定分发方式在设备上安装应用程序时,该值也可能会更改。因此,如果您的应用程序在任何地方存储此属性的值,则应优雅地处理标识符更改的情况。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/#//apple_ref/occ/instp/UIDevice/identifierForVendor


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接