5 ms·
A personal hardware security device is useful not just for logins but signing messages and encrypting data. Imagine signing up to a site or service,all you nee
by badrabbit 8y ago
A personal hardware security device is useful not just for logins but signing messages and encrypting data.
Imagine signing up to a site or service,all you need to do is allow it to generate a unique public/private key pair on your personal hsm. You would optionally associate a username with the public key,but that's it!
No need to enter name,address,phone,email,etc.., Unless required for the service. You won't even need a password(!!)
Lost the personal hsm? No worries,you wrote down a recovery key on paper and stored it next to your social security card and passport.
Here is my thing, simpler security is better security. I use a yubi everyday and it's nice but I also use TOTP and SMS every day. If I am using a hardware security device,why do I need any other form of authentication?
Why can't that same device be used for TLS client certificate storage for every site I visit,storing SSH private keys,trusted root CA store I can use with any device, message(email,signal,telegram,etc...) Encryption,message non-repudiation(think a twitter post or even this comment being signed by my hsm so I can't say 'the hackers did it'). You can use it for banking,voting,signing important documents online,etc...
You can already see how much work goes into adopting something like a yubikey. Why not make it a general purpose hsm that solves all these security problems.
You know what I like about this the most? Minimal user education required,just plug it in,click yes on the app's prompt and press the button on the hsm. Not only that,you can't phish or some other way social engineer the user to give up the private key. Users can keep it on their keychain or building access badge that would give physical attackers similar level of access(they can unlock your house keys and steal pii or get in the building with your badge and steal your laptop).
A user friendly usbarmory for the lay-person!
- deleted 8y ago[deleted]
- tptacek 8y agoBecause the parts you need to provide the functionality you want at the level of security Yubico is promising are expensive.
- badrabbit 8y agoI don't buy that argument. I have purchased Blu phones for under $50,yubikey nano cost me ~50. Plus,it gets even cheaper with mass production. A cheap smartphone without radio,screen,large battery with a custom os and a usb connection would be an even cheaper phone. The only things a personal hsm would add might be nfc and hardware rng. I'm surprised yubikey hasn't gotten cheaper even with companies like google using it.
- lysp 8y ago> I'm surprised yubikey hasn't gotten cheaper even with companies like google using it. The cost is probably much cheaper, but there is no reason for them to lower prices when there isn't really major (popular) competition. I think once Google releases their key for general sale, Yubi will be forced to drop prices to compete.
- tptacek 8y agoGoogle's key is, from what I understand, just a relabeled Feitian. You've been able to buy them for a long time.
- freeone3000 8y agoFeitan are also way less reliable than Yubico. My Yubico keys have lived in my pocket on my keyring for six months, no problems. My feitan sat on a shelf, and its Bluetooth is now so unreliable I'm getting a second Yubico key for nfc.
- tptacek 8y agoThat phone does not make the hardware security promises Yubico makes. You can't make a hardware security module with a cheap ARM core and nothing else.
- gonzo 8y agoTrue, but an ARM core and a ATECC608A ? - FIPS compliant RNG and key generation - Hardware based key protection - Secure (encrypted) on chip key (ECC, AES, SHA HMAC) and data storage - Guaranteed Unique 72-bit Serial Number - Boot validation
- shivak 8y agoI hoped WebAuthn would allow such general-purpose use of security devices. Unfortunately, in the spec: "To save bandwidth and processing requirements on the authenticator, the client hashes the client data and sends only the result to the authenticator. The authenticator signs over the combination of the hash of the serialized client data, and its own authenticator data." [1] So, in the foreseeable future on the web, the devices are useful just for authentication. [1] https://w3c.github.io/webauthn/ https://w3c.github.io/webauthn/
- tptacek 8y agoYou understand that in addition to simplifying the protocol, confining it to authentication helps, somewhat, keep Webauthn from becoming essentially a hardware cookie.
- shivak 8y agoI think that’s mitigated by the physical button one has to press every time something is signed. I’m not sure if the restriction to authentication has substantially simplified the WebAuthn API. The restriction is caused by a speed optimization, not design simplification. If the actual payload was sent to the authenticator, rather than just its hash due to bandwidth limitations, then it seems like the API could be used for signing messages, not just authentication. I do agree that the user interfaces surrounding the APIs will be simpler due to the focus on authentication.
- jiveturkey 8y ago> If I am using a hardware security device,why do I need any other form of authentication? Hardware breaks. Hardware is easily stolen. Hardware-to-hardware interfaces require compatibility. You will probably respond, "but USB". To which I will say, "but BLE. but NFC. but data-over-audio ala square". No security is perfect. When a hardware flaw is discovered, or comms technology changes, you have to buy new hardware. If it does break or is stolen, how will you recover your account? This is not trivial.