Skip to content
This repository was archived by the owner on Jan 25, 2024. It is now read-only.

Commit 7afbd91

Browse files
authored
Merge pull request #64 from nowsecure/sbakken-patch-6_6
Update BP 6.6
2 parents 62d8d6a + cdf243e commit 7afbd91

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

en/ios/implement-touch-id-properly.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Details
44

5-
Touch ID is commonly known for its use in allowing a user to authenticate to and unlock their device without entering a passcode. Some developers also use Touch ID to allow the user to authenticate to their app using a stored device fingerprint.
5+
Touch ID is commonly known for its use in allowing a user to authenticate to and unlock their device without entering a passcode. Some developers also use Touch ID to allow the user to authenticate to their app using a fingerprint previously registered with the device.
66

77
When a developer implements Touch ID in their app, they typically do so in one of two ways:
88

@@ -15,11 +15,15 @@ When a developer implements Touch ID in their app, they typically do so in one o
1515

1616
When using Touch ID for authentication, store the app’s secret in the Keychain with an ACL assigned to that item. With this method, iOS performs a user presence check before reading and returning Keychain items to the app. Developers can find sample code on the Apple website at [https://developer.apple.com/library/ios/samplecode/KeychainTouchID/Listings/KeychainTouchID_AAPLKeychainTestsViewController_m.html](https://developer.apple.com/library/ios/samplecode/KeychainTouchID/Listings/KeychainTouchID_AAPLKeychainTestsViewController_m.html).
1717

18+
NOTE - Note - Developers can use Touch ID enrollment changes to detect and prevent a physically proximate attacker from enrolling their own fingerprint in order to gain access to protected Keychain items. Beginning with iOS 9, an app can read `LAContext.evaluatedPolicyDomainState` to check whether the `evaluatedPolicyDomainState` value has changed. If the value has changed, it indicates that Touch ID enrollment changes have occurred since it was last accessed.
19+
20+
See “Keychain access control” under the Keychain Data Protection section of the [iOS Security Guide](https://www.apple.com/business/docs/iOS_Security_Guide.pdf) for more information.
21+
1822
## References
1923

20-
* [KeychainTouchID: Using Touch ID with Keychain and LocalAuthentication](https://developer.apple.com/library/content/samplecode/KeychainTouchID/Introduction/Intro.html) - https://developer.apple.com/library/content/samplecode/KeychainTouchID/Introduction/Intro.html
24+
* Apple documentation: [KeychainTouchID: Using Touch ID with Keychain and LocalAuthentication](https://developer.apple.com/library/content/samplecode/KeychainTouchID/Introduction/Intro.html) - https://developer.apple.com/library/content/samplecode/KeychainTouchID/Introduction/Intro.html
2125

2226
## CWE/OWASP
2327

24-
* [M4 - Insecure Authentication](https://www.owasp.org/index.php/Mobile_Top_10_2016-M4-Insecure_Authentication), [M6 - Insecure Authorization](https://www.owasp.org/index.php/Mobile_Top_10_2016-M6-Insecure_Authorization)
28+
* OWASP Mobile Top 10: [M4 - Insecure Authentication](https://www.owasp.org/index.php/Mobile_Top_10_2016-M4-Insecure_Authentication), [M6 - Insecure Authorization](https://www.owasp.org/index.php/Mobile_Top_10_2016-M6-Insecure_Authorization)
2529
* CWE: [CWE-288 - Authentication Bypass Using an Alternate Path or Channel](http://cwe.mitre.org/data/definitions/288.html)

0 commit comments

Comments
 (0)