SporkWitch wrote:
It's all relative. If you treat your phone like a computer, it's not really at much more risk than your computer is, at least as far as what you're talking about. You can make a phone reasonably secure...
True, it's all relative. However there is a reason that security-conscious organizations move towards hardware tokens for keeping/using cryptographic keys (remote access, S/MIME)
and for computer login.
But one important difference is - both your computer and your phone are likely to have malware that can harvest your keystrokes and browse through your files. A smart card is much less likely to be penetrated in that manner, so the keys it houses can be reasonably assumed to be secure (unlike anything that is stored on the computer, or on the phone).
SporkWitch wrote:
...and if you're not satisfied with stock, there's things like
Copperhead OS.
Ha! I did not follow - thanks for mentioning it. Do you happen to know if it would run standard Android applications from Google Play Store? Or would everything have to be recompiled from the source?
SporkWitch wrote:
The reason I say that the phone is _more_ secure than U2F is simple: U2F merely requires physical possession of the token (this is why I still have a passphrase on my laptop _in addition_ to U2F from the yubikey, and not just U2F; think of U2F like the DRM dongles that were popular with expensive software in the 80's and early 90's).
I see your point. In the majority of my use cases the token is employed as a PIV card, so in addition to the mere physical possession you need to know the PIN. Returning to U2F though - consider the
2F part of it. You don't even get to touching the button on the token until you satisfied the remote end that you know the correct password. So the adversary needs
both your password, and your physical token. Not impossible, but far less likely - especially for a remote attacker.
SporkWitch wrote:
A text message, on the other hand, can be behind multiple passphrases (your phone's unlock code, and in my case, signal's separate passphrase; although the code was unencrypted in transit, the local copy is encrypted). Similarly, PGP and PIV both require the PIN to use.
Once the malware (usually through a compromised application or one of many compromised ad-libs) gets on the phone (or on the computer), the unlock code does not matter any more. Somewhat better with Signal (presumably acting as a protected container within the phone space), but still - software is roughly equal to paper walls, practical for exploitation by
remote attackers (something that is less feasible with U2F). But I see your point.
SporkWitch wrote:
As far as using the yubikey to unlock the phone, here's one example (not particularly difficult, but not without its trade-offs):
https://nelenkov.blogspot.com/2014/03/u ... g-otp.htmlEDIT: The Nexus 6 supports NFC unlock out of the box via the Smart Lock feature. Only hitch is to make sure you have the YubiClip application installed so that it catches the URI the tag opens (if you don't, it tries to open the OTP URI in your default browser; if you do have it installed it loads the OTP into the clipboard, which is much less intrusive, and more importantly, has less chance of leaking (if you modify the NDEF to have NFC give a static password instead of Yubico OTP, it opening the browser would leak the static password to Yubico).That is very nice to know, thank you!