user1805901> This security code will most likely be the customer number.
这有多可猜?如果丢失,您可能需要查看 UUID。在服务器上提供从 UUID 到客户编号的映射。
WDUK> For any secure data you wish to store on the device, I strongly advise you use the Keychain.
除了 Keychain,您还必须查看kSecAttrAccessibleWhenUnlocked、kSecAttrAccessibleAfterFirstUnlock、kSecAttrAccessibleAlways、kSecAttrAccessibleWhenUnlockedThisDeviceOnly、kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly和kSecAttrAccessibleAlwaysThisDeviceOnly。
kSecAttrAccessibleAlways并且kSecAttrAccessibleAlwaysThisDeviceOnly是有毒的,不应该使用,因为钥匙串会泄露数据。有关详细信息,请参阅iOS 钥匙串弱点(它变得更好,但它仍然可能是一个问题)。
*ThisDeviceOnly表示该密钥不包含在对其他设备的还原中。它有助于一些复制/粘贴攻击。
而且如果你不想把秘密放在云端,我相信 Keychain 属性需要包含com.apple.MobileBackup. 有关详细信息,请参阅技术问答 QA1719。
杰夫