Skip to content
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

TouchID support to unlock the application #58

Closed
binaryben opened this issue Jun 29, 2016 · 11 comments
Closed

TouchID support to unlock the application #58

binaryben opened this issue Jun 29, 2016 · 11 comments
Labels
feature Feature requested by users
Milestone

Comments

@binaryben
Copy link

With the upcoming update, it appears Blink will be good enough to reliably switch to - which is awesome. Maybe not quite a production ready client, but certainly enough to work through the teething problems.

That said, it'll now be important to be able to password protect the app, preferably with pin and Touch ID support please.

@carloscabanero
Copy link
Member

Thanks for dropping this one! I considered it before and would appreciate everyone's opinion. The apps that actually have it, like Prompt, end up being a pain because in the end they put most of the burden on you, asking for your key every 15 mins. My take is, but I would appreciate other opinions, that the device is anyway secured through TouchID or key, so securing the app might be redundant. It makes sense to secure specific keys to connect to a server (other than a passphrase, like if we had an ssh agent).

Obviously this could be made an option, but then I would mark the feature for a next release and not before hitting the App Store.

@binaryben
Copy link
Author

binaryben commented Jun 30, 2016

Some people require such a feature to be able to use a given app at their work place. I am a student and freelancer (oxymoron?), so no such restrictions apply directly to me, but I still prefer the option.

I used to think exactly the same way; if I use Touch ID to secure my phone, then it is annoying to have to login to every app. But, it doesn't take much for someone to get past the initial security if I leave my device on a desk unlocked, after having just used it.

I like to secure anything money related, or server related personally. If you have any ideas for alternative security solutions - please do implement. But then, you might have come across a more profitable venture in of itself!!

I do like the idea of having to use Touch ID or entering a Blink specific pin to connect to a server using stored keys, but at the same time - what stops someone from grabbing the keys from the settings screen and using any terminal/ssh app?

@binaryben
Copy link
Author

binaryben commented Jun 30, 2016

Actually, if given the options - I think I would prefer entering a pin/fingerprint to connect to a server and change the settings or see the keys in Blink, over password/pin/biometric every time I open the app. Good idea.

Maybe combine this with a "automatically disconnect from this server on leaving the app" option for specifically selected servers/keys. This could provide a good balance of security and ease of use? Especially if reconnecting is easy enough (i.e., identity management is done right).

@rmoats
Copy link

rmoats commented Jun 30, 2016

I use Touch ID on Prompt, 1Password, Amazon and financial apps; I've found this extra check pretty easy to habitualize, and I feel less anxious than relying on global device lock/unlock.

@goerz
Copy link

goerz commented Jun 30, 2016

I think that the option of protecting the app with TouchID/PIN makes a lot of sense. I can definitely imagine situations where it's not enough to just protect the entire device. @carloscabanero Do you literally mean that there will be a prompt every 15 minutes? I was always under the impression that there is no need to unlock again as long as the app stays open (and it doesn't implement some additional timed autolock like e.g. 1Password). If yes, that might get a little annoying, but I still don't see a better alternative.

I don't see the point of using TouchID to protect keys or logins -- Keys in blink can already be password-protected, as part of the SSH protocol. Maybe having a TouchID instead of the password would be an option, but I personally wouldn't use it.

Lastly, I would definitely not want any connection to be closed when leaving the app. Of course, I don't mind if the option exists (as long as it's optional). I can see how this would be an interesting feature for some people.

@rmoats
Copy link

rmoats commented Jul 1, 2016

@goerz, yes, certainly optional. In all the apps I referred to using Touch ID for, each optionally uses in place of where a password would be required for a non-Touch ID device, or when Touch ID fails. (I suspect this is in Apple's Touch ID usage guidelines.)
My preferred behavior would be similar to Prompt:

  • Touch ID is a single big option switch in the app, default off
  • if enabled, Touch ID can be used in place of key passphrase
  • if enabled, Touch ID required to re-enter the app if there are active sessions and the device has been locked since leaving the app

@carloscabanero
Copy link
Member

Usually the way I've seen this implemented is that you request TouchID every time the application becomes active. Unfortunately switching between apps (like going to Safari, etc...), also triggers this behavior. That is where the timed autolock (usually 5, 10, 15 mins) that @goerz mentioned comes in. I have not found a way to know if the device was locked since last time you opened the app as @rmoats mentioned, that would definitely be the best solution.

But as things are right now, I fail to see how this method makes anything more secure without being a pain. If you lock the application all the time, it is really uncomfortable having to unlock it all the time. If you set a timeout, then the case of leaving your device on the table as @binaryben mentioned is not solved either. Security is always about not putting all the eggs on the same basket, but in this case I'm not sure the extra step helps.

@carloscabanero carloscabanero changed the title Increased security please TouchID support to unlock the application Jul 4, 2016
@carloscabanero
Copy link
Member

(Changing the name too to make the title more in line with what we are discussing)

@carloscabanero carloscabanero added feature Feature requested by users icebox labels Aug 16, 2016
@joeshaw
Copy link

joeshaw commented Aug 16, 2016

I think there's two different things at play here:

  1. Should Blink have some sort of self-locking mechanism when there are active sessions
  2. Could Touch ID be used as a passphrase replacement

I don't have a strong opinion on number one... to me the device locking mechanism is sufficient. If I unlock my phone, I don't really want to additionally unlock Blink to continue using active sessions.

Number two, though, I would really like. Ideally the workflow would be similar to App Store purchases: require the passphrase the first time to unlock the key, and then require only Touch ID for all subsequent requests (maybe reset on reboot, force quit, manual disassociation, etc). That would, IMO, largely mitigate the need for an ssh-agent-like thing (#81).

@carloscabanero
Copy link
Member

carloscabanero commented Oct 18, 2016

Adding this to the backlog, as "persistent connections" will become a reality soon, and all your connections will remain open as long as you never close them. The best way to do it seems to be as "iTunes Connect" does, just keep it open as long as the application is open.

  • Switch on Settings to enable "Touch ID"
  • Request TouchID every time the application opens and the Settings switch is enabled.

@carloscabanero carloscabanero added this to the Backlog milestone Oct 18, 2016
@atul3189
Copy link
Contributor

atul3189 commented Dec 7, 2016

  • Switch in Settings for App Lock, on turning it ON, the user would be asked to set a 4 digit pin for the app
  • Only after providing the PIN would the switch be ON
  • And then after lock / unlock of the device and relaunch of the app, we would provide the user the option to unlock by using touchID (if configured) else option to enter the PIN.

@carloscabanero carloscabanero added the WIP Work In Progress label Dec 7, 2016
@yury yury removed the WIP Work In Progress label Feb 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature requested by users
Projects
None yet
Development

No branches or pull requests

7 participants