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。
杰夫