基本上我想要做的是找出一种使用Touch ID加密数据的方法.
不幸的是,我没有找到一种方法来创建一个带有Touch ID的encryptionKey,因为LAContext API只返回aye / nay响应.
为什么我在尝试
我正在应用程序中实现不同的登录方法.支持的登录方法是密码,PIN码和触摸ID.用户可以自由选择他/她想要的任何登录方式.
然而,只有密码才能发送给将验证用户的服务器.因此,只有密码存储在钥匙串中.
用于首先加密然后将密码存储在钥匙串中的encryptionKey是使用用户选择的登录方法的任何方法创建的.
如果用户选择使用PIN码,则加密密钥是从该PIN码导出的,当用户选择密码作为登录方法时,可以这样说.
我的问题是:
如何在此图片中适合触摸ID?
我在互联网上搜索过,但只发现了我已经害怕了.
由于iOS只能从Secure Enclave返回真或假,因此无法创建一个encryptionKey.
我知道钥匙串本身是加密的,但出于安全考虑(请不要详细说明),我需要一个存储在钥匙串中的加密密码.
编辑:
存储加密在钥匙串中的数据的原因是因为钥匙串可以被越狱设备所破坏.
而且,由于我正在开发的应用程序允许用户查看(主要是)企业敏感数据,所以我需要考虑甚至越狱.
解决方法
有关更多信息,请参阅WWDC 2014 711 Keychain and Authentication with Touch ID演讲和WWDC 2015 706 Security and Your Apps.
一般来说,不要将数据存储在钥匙串中.您只应存储密码,加密密钥或凭据,并使用它们来解密存储在磁盘上的数据.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。