Hacker News new | past | comments | ask | show | jobs | submit
Does anyone actually trust these products? Always seemed like a terrible idea to me. The correct solution is to use free software cryptography on top of these things.
I've been required to use similar products due to government regulations. Personally I never trusted them, and I would have loved to take 15 minutes poking around in them, but it was the government who mandated their use for their data so ultimately it was out of my hands.
Was it probably a IronKey? They had a Homeland Security grant, I've used one then. To me software had some advantages. Easy backup of the encrypted data without a dependency to the hardware. IIRC this was somehow solved on the IronKey. Not a black box for the user which have to trust. My main problem with a software solution for me is the entry of the password which I have to do on a probably compromised computer.

The original IronKey (later sold to Kingston) seems to have be cracked. A team / company called Unciphered managed to break a IronKey in a attempt to offer such a decryption to Stefan Thomas who had 7002 bitcoin on this key. This was then worth then 235 million dollar (now >500 million), which is of course a VERY strong motivation. [1]

The Lenovo case of course seems not to be bad implemented security but no security at all, especially if they advertise with encryption, which I found on a Asian Lenovo website where still there are still some specs of the key [2]. A good method if you want to damage your reputation.

[1] https://www.wired.com/story/unciphered-ironkey-password-crac...

[2] https://tk.lenovo.com.cn/product/1003497.html

I like using the Apricorn keypad flash drives. Like this Lenovo, it's doesn't connect until you unlock it. Password entry is via the built-in keypad so no software is necessary. It's also got a small battery so you can unlock it before you plug it which could prevent someone sniffing the USB 5V rail for any noise. Needing an app makes the Ironkey useless for anything that isn't running a normal desktop OS.
All the devices with keypads are extremely vulnerable to hardware MITM of the keyboard/display. Same with the fingerprint ones. They rarely have secure elements so the PIN is also a weakness. And of course many of them just store the key internally instead of using a key stretching function, or don't do enough rounds, or use weak randomness.

For key entry you really want mutual TOTP or a separate ignition key, like a yubikey, that you insert into the drive.

loading story #50329886
loading story #50327246
loading story #50326830
We used these: https://apricorn.com/aegis-padlock-usb3

They work well in high security environments because you can allowlist the vendor and product id of only these hard drives, and you don't have to set up procedures where people HAVE to encrypt their drives before use.

So cost-wise it makes sense.

But for personal use? BitLocker / VeraCrypt all the way.

MS stores your Bitlocker keys on Microsoft servers now if you ever login with a OneDrive account, at least they were.

And MS has handed those keys over to law enforcement before.

loading story #50328196
people rolling windows and saying high security environment in the same phrase are likely not aware what is a highly secured environment in the first place so it doesnt matter where those keys are -_-. I have never encountered these types of devices nor windows in a high secure environment. free software and BSD. Occasionally Linux but that is also mostly avoided or manually tampered with / built and hardnened to get around its rubbish security. sometimes there is an alternate deployment linux based (very hardened) in the event of a security issue on the other more secure platform in case that one does happen to spring a leak. (might be more needed now its easier to pick apart these systems).

some highly secure environments have connections comming from networks that sport windows. usually they will come in via something like a data diode so whatever comes in can physically not come out because its so risky to allow even such a network to connect to yours....

perceptions of what is highly secure can vary a lot depending on what a person has encountered. if you ever come across a place that is really secure u'll immediately know the difference.

ive never seen a highly secure corporate network and have seen close up what security is implemented in fortune100 etc. its a doozey. they just pay vendors with big retainers for IR etc. to be compliant and insured. that is not security. (and they spend millions on that which is funny as hell)

loading story #50330188
loading story #50328637
You can probably implement your own these days. I would use a model to generate a requirement document, then human review, then generate an implementation plan, then human review, then take it to build. Have a different model to a code review and testing. End with human code review and testing.

You could make your own BitLocker conforming to your requirements without relying on or trusting any cloud or corporate entity.

And then turn Mythos onto your code to make sure you don’t have vulnerabilities? That’s a lot of faith in the security of LLM-written code that I wouldn’t have in human-written code.
The point is the code is there in front of you. You can audit it, study it, turn mod and after model loose on it, do whatever you want. You’re going to have to compile it so you need to trust the compiler but at least it’s not some cloud provider.
loading story #50329771
The overwhelming majority of people who use USB sticks for things are likely aware of security and the concept of encryption. But the idea of being able to use “free software cryptography on top” may as well be a trip to Mars.
loading story #50326500
>The correct solution is to use free software cryptography on top of these things.

If implemented correctly, "hardware" encryption can be more secure than "free software cryptography". The most obvious benefit is protection against brute-attacks, which you can't meaningfully implement with software. Not to mention added protection of biometric authentication as a second factor, compared to typing a password into a possibly untrusted machine.

loading story #50326868
loading story #50327076
loading story #50326758
A good reason you have to use these sticks is stand-alone devices.

For example, you need to print something; take some data from an oscilloscope or other instrument.

Your alternatives are to connect those devices to your network or some devices run Windows you can alt-tab out of and install your own software. Given risks and complexity of those, a hardware encrypted USB stick is the least bad.

You don't necessarily want free software and traditional cryptography for such use cases.

The traditional free software approach to cryptography is "derive the key from a passphrase; require the user to make the passphrase strong; if the passphrase is weak, put the onus on the user."

This works well for HNers, but is terrible for normies. What normal users want is a locked down chip (potentially running open source firmware!), which securely stores something like an AES key protected by a 6-digit pin, which gets erased after 10 unsuccessful attempts and cannot be cloned. This is how TPMs, Apple's secure enclaves and bank and SIM cards work. This kind of design did more to bring full-disk encryption to end users than any free software ever did.

These kinds of product are great for disaster recovery. E.g. your day to day use is software encrypted with a key bound to a TPM and stored in a central crypto store that verifies devices state before giving it out etc etc but then what do you do when all that shit breaks? Having the root key material on a hardware encrypted device on a safe is a great way to be able to restore from failures.
We have to use the ones that cost 8x more than regular ones and are certified by something that our industry approves.
There's a guy with some Bitcoin that knows about a model, I'd trust that one.
The ironkey at least has reasonable independent evaluations.
Software is insecure in many scenarios because endpoint security is abysmal. Of course, a USB stick with fingerprint reader cannot be secure but there is no way around hardware-based cryptography with independent key entry if you need real security. Then again, this won't help you if the secrets are transferred to the insecure endpoint anyway.