-
-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove password option and require biometric auth #412
Comments
I think what @webtoolbox means is to always require TouchID, and disable password based auth? |
@zachriggle @webtoolbox thanks for clarifying :) That UI is entirely provided by the system, I don't THINK there's anyway to do that. Just out of curiosity, what's your use case? |
Just would rather not allow a password alternative. It's less secure. |
So this is technically possible by passing .biometryAny here secretive/Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveStore.swift Line 38 in a1009d0
I'll consider adding this as a creation option in the future. |
Basically my reservation is this: |
Thanks for looking into this. That's great that it can be removed. For me and probably others, I would be fine with it removing the item if a Touch ID finger is added or removed. It probably depends on the user's use case. A visible warning when the feature is enabled would be good. It would be very useful to me if this could be added as an option for existing items as well though. |
Main concern is that it's not really something I could adequately warn people of – like the flow is basically Yeah, you could warn people about that when creating the key, but realistically people will not read that or remember it when they're modifying their security settings outside the app. |
That is almost definitely not possible, it's an option you pass at creation so it would only be applicable to new items if this is implemented. |
Ok, no problem. Thanks for considering it. |
I'll leave the ticket open for now while I give it some more thought. I could certainly see legitimate use cases for it, but need to weigh that against risks. |
Yea. Typically a single user account on a Mac will be used for a single person. I added my fingerprint when setting up the mac and haven't added or removed the fingerprint in more than 10 years through multiple different macs. It seems like a rare case, and wording the option cautiously could help avoid it. |
I wanted to pop in here and show support for adding this functionality. Could this be considered an "advanced feature" that would be disabled by default, configurable by the user, and in this flow the warning of data loss would be promptly shown? I'll echo that I have never set my fingerprint twice and the security benefit here is nothing to scoff at. |
I'd like to chime in with an example of where For a company with many machines, a SSH key is easy to replace. We can just recreate and ask an admin to whitelist the new public key. Basically no problem with wiping keys when a finger is added (which never happens after setup in my experience, btw). Enforcing that only fingerprint access is accepted would be great. Maybe if a CLI tool was added, this could be a configurable flag in that CLI tool. That would make it more of an advanced feature. |
I'd also like to see this feature, because biometry is a much better indicator of user presence than a password, since gaining access to a password usually is a lot easier than creating a fake-finger or chopping it off. As for UX, I'd recommend to use the usual macOS-flow: A normal click on the plus shows the current menu, whereas an option-click would show an advanced menu. This is quite common in other applications and macOS itself. Regarding the risk of accidental date/key loss: Since you cannot backup SEP keys, you must consider them ephemeral at any time, and you always need a plan B. If you a) forget about the very prominent warning and b) change your enrolled fingerprints (people usually never do this anyway), and c) this results in a problem for you (loss of access etc.), something went very wrong in the first place anyway. |
Hello, My understanding of the flag userPresence is, that it only validates if someone is there and will confirm (with password or biometric) use of ssh key. It can be and attacker with some kind of remote access. Is that correct? I have trouble to find out, how will the access to the SEP keys behave with with flag biometryAny and without biometryCurrentSet if all the fingers are removed. Can someone point me to documentation about this? Or did someone test that? I'm ok with the possibility, that the users/attacker can use password to add Touch ID, as my main concern is to be protected against remote attack. |
@lduck Not the maintainer, but to answer a few common questions. There are in fact three different flags to require user presence (
Full ack; it's important to notice that the key is always tied to some user state and your hardware. If you cannot use your hardware anymore for any reason (defective, superseded, stolen, ...), you need a plan b (e.g. a second device, a YubiKey, a paperkey, physical access, your IT department, ...). |
@KizzyCode do you have a source for the following
Cheers |
@0xmachos see e.g. https://support.apple.com/guide/security/face-id-and-touch-id-security-sec067eb0c9e/1/web/1, last paragraph 😊 |
It would be nice if there was a way to only allow the SSH key to be used instead of the "Use password" button being shown as an alternative method.
The text was updated successfully, but these errors were encountered: