I have a user pin stored in the iOS Keychain. For every pin attempt, I use SecItemCopyMatching
to retrieve the reference pin, and then do the comparison.
The problem is that, for a short amount of time, the retrieved reference pin enters the app's working memory. If the phone is compromised, the reference pin can potentially be read off.
Is there a way to pass the pin attempt to the Keychain and have the Keychain do the comparison with the reference pin in its secure environment? (Can the Secure Element do that kind of stuff?)
iCloud Keychain keeps your passwords, passkeys, and other secure information updated across your iPhone, iPad, iPod touch, or Mac. Set up iCloud Keychain.
Keychain Access lets you view the keys, certificates, passwords, account information, notes, or other information stored in a keychain. In the Keychain Access app on your Mac, if you don't see a list of keychains, choose Window > Keychain Viewer or press Command-1. Select the keychain that you want to view.
Settings > Passwords > Enter your Passcode > Search for the account you're looking for. If it's deleted, your best chance might be your last Backup on which is the password wasn't still deleted. Restoring from a backup erases all data currently on your device.
In general, you store a one-way hash of the password with a salt, not the actual password. To verify, add the salt, hash the string, compare against the stored hash, and if it matches, it's verified.
The strength then, is the strength of the algorithm, the salt, and the password.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With