6 ms·
I have the perfect solution to this, but software systems aren't with me yet. The answer is: a keychain. Not a digital keychain, an actual one. On this I put my
by astazangasta 11y ago
I have the perfect solution to this, but software systems aren't with me yet. The answer is: a keychain. Not a digital keychain, an actual one. On this I put my "infinity key" - it's a little USB flash drive with a LUKS-encrypted file system on it that holds a private key. Lots of tech people have something like this. It's great for SSH - I can add my infinity key to any host and be assured that I will always be able to login securely from any machine I want. We're all used to the physical metaphor of keys as security, and needing a physical key to get into things. This is not a huge change for us.
This could easily become the norm, and should. It requires only one key for all of us, it is perfectly secure, doesn't require storing secrets on the remote end, never needs to be changed, can't be forgotten because it doesn't need to be memorized (there is one password for the LUKS encryption). There is no penalty for using the same key in thousands of places.
The problem is, no website or browser supports this kind of authentication, and most people are not savvy enough to build this sort of thing for themselves. These are both problems that should be solved; we desperately need to move the Internet away from passwords, password resets, and so on.
- angelbob 11y agoThough he says a lot of this is to avoid bulk cracking of your passwords. As with, say, OneLogin, your keychain provides a really easy way to bulk crack all your passwords - steal the key.
- jclulow 11y agoYou can't really "add" your key to a computer you don't trust, though. At best, it could destroy your USB device; at worst it could copy the contents out once you decrypt them. This may be better than using one password for everything, but it's certainly not a panacea.
- zz1 11y agoYou could also catch BadUSB...
- astazangasta 11y agoI think the panacea is dedicated hardware that can produce secure tokens (a signed message) without having to expose my key to the machine I plug into. But existing systems still require that level of trust; I'm doing no worse than someone with a password typing it into a possibly insecure machine.
- anon4 11y agoMaybe the only answer is to air-gap the two devices and have the user input a secret code shown on the dongle. So you press the button, type the code on the website and log in that way. Edit: Or maybe have two devices: one dumb flash storage and a device that actually computes your key. You press the "compute my key" button while the storage is connected to the keychain, then disconnect it from the keychain and connect it to the pc. Next time you connect it to the keychain, it's wiped before use and never ever read.
- privacy101 11y agoThe device could instead have a display that displays a password, QR code, one-time-key, etc... and then you would scan it using a webcam or your phone (or type it manually).
- anon4 11y agoYeah, but that way it's displayed out in the open and you can make a mistake copying it. I think just exchanging usb flash storage sticks is preferable unless you sufficiently distrust the system you're on.
- Skunkleton 11y agoMaybe like a phone running a TOTP application?
- privacy101 11y agoI would have more trust in a separate device that has no networking capabilities.
- dazmax 11y agoWhat if it's in a "secure element" whose hardware and firmware make it provably incapable of divulging the private key?
- 11y ago
- sigmar 11y ago>The problem is, no website or browser supports this kind of authentication Aren't you describing Yubikeys? Which aren't widely supported, but IIRC are still supported by some websites and apps.
- teraflop 11y agoA Yubikey-like device is actually more secure than what the parent comment describes, because it prevents the private key from being viewed or copied by the host computer. You can think of it as a dedicated piece of hardware that runs something like ssh-agent, except over USB instead of a socket.
- munin 11y ago> This could easily become the norm, and should. a stronger version of this IS the norm in many countries in Europe and large security conscious enterprises in the united states: an ID card issued that is also a high security module. it's better than your scheme because the ID card is also a computer that can respond to signing requests by a host computer and the private key doesn't leave the ID card, ever. governments issue and service tens to hundreds of millions of these cards a year.
- astazangasta 11y agoA government-issued private key doesn't solve a main problem I'm concerned about. This needs to be something people can roll themselves. If you can't generate your own key, you're not secure.
- amelius 11y ago> it's a little USB flash drive Uhm, yes, but why not use something a little more convenient, like a smartwatch with NFC/wifi?
- pavel_lishin 11y agoA flash drive that lives on my keychain would be much more convenient for me than a watch, which I dislike wearing.
- finnn 11y agoWouldn't it be better to have your "infinity key" not reveal the secret data, using a smartcard or similar technology? That way if the computer that it's connected to is untrusted, no further damage could be done after removing the card. That + TLS client certificates stored on this card seem like it might not be the worst user experience, while still remaining reasonably secure. From my brief Googling it looks like the US military uses something like this.
- deleted 11y ago[deleted]
- astazangasta 11y agoYes, RSA provides systems like this also I think. My solution is worse, but only uses commodity hardware and free software. When I can program my own smart card I will prefer that.
- finnn 11y agoFirefox, which I think would be considered free software despite some of the shit they've been bundling, does client certificates, and I'd imagine one could program their own smartcard, although I don't know much about it.
- icebraining 11y agoThe Basic Card is programmable: http://www.basiccard.com/ http://www.basiccard.com/ It's what the FSF Europe uses for their OpenPGP cards, that you get if you join their Fellowship. EDIT: apparently, the programmable version doesn't come with RSA support :|
- scotty79 11y ago> We're all used to the physical metaphor of keys as security, and needing a physical key to get into things. I was hoping this will go away in my lifetime.