Hi tryexcept, I have a couple of suggestions re 2fa I'm hoping you can consider.
The one thing that's keeping Google Authenticator a bit unsafe is that the same code can be reused (if it's within the same 30s window). This is something that could be abused by malware, and one of per-tx-2fa's biggest draws for me is safety from malware. I'm wondering if an option could be added to prevent the reuse of GA codes? I understand that some users would prefer not to have a once-per-30s rate limit, hence making it optional might be better than forcing it on everyone (although for myself the rate limit wouldn't bother me).
I don't think it should be optional, I agree that it can be safer it GA codes can't be reused not even within the window so we'll definitely make this change.
Second, how about an OTP option for 2fa? For example, I enable OTP as a 2fa method, and then ask GreenAddress to generate two or three OTPs which I store on Post-Its. I enable Google Authenticator, but I don't enable any of the other 2fa options because I consider them less secure. Now I've got a few OTPs that I can use to disable 2fa (or for any other 2fa-required action) if at some point in the future I lose my Google Authenticator, and at the same time I don't have to enable any other 2fa method.
In a few words, do you want multiple GA? I don't think it makes sense to create them without asking you to confirm them. Too risky.
Or is this one GA plus some one time code to recover 2fa?
Just so that you know, we are also working on a paper 2fa, which shall contain a number of columns and rows and each with a number and a random series of these gets requested as 2fa.
Next, have there been any thoughts on 2fa hardware tokens, e.g. YubiKey NEO (which would work nicely with the mobile app w/o the silliness of having the second factor be on the same phone as the app)?
Lastly, how about an option to require 2fa during the initial login? The intent would be to prevent a loss of privacy in the event the mnemonic were compromised (e.g. via malware).
I look forward to your thoughts, thanks!
Yubikey neo seems reasonable, I don' t have experiences with them but we'd have to check if they have some open API we can use and which apps to support unless it should be used with android only.
In terms of 2fa for login i would say that an option could be added for it although once they have the mnemonic the attacker can derive almost all addresess and find out information anyway.
To work around this hw wallets are best. We already support one and plan to support all major manufacturers.