6 ms·
thats ultimately the intent, to build a Yubikey-like security key, with everything open down through the firmare to the details of the soc
by dtornabene 8y ago
thats ultimately the intent, to build a Yubikey-like security key, with everything open down through the firmare to the details of the soc
- colemannugent 8y agoAt some point won't you run into IP issues with the ARM SoC? Plus how would you deal with things like power analysis attacks that require modifying hardware to fully mitigate?
- TickleSteve 8y agoARM IP is bought by the manufacturer of the device, in this case Silicon Labs. What IP issues can you imagine happening considering ARM SoCs are the most widespread processors in existence with many, many different manufacturers? Regarding side-channel attacks such as you mention, all processors are subject to this vulnerability to various degrees. Do not expect a project such as this to have any mitigation for that type of attack.
- askvictor 8y agoOne key (pardon the pun) requirement of a 2FA key is that it can't be cloned - how would this be prevented? Can the microprocessor be locked to prevent reading its flash memory?
- bsder 8y agoNewer microcontrollers like the Microchip(nee Atmel) SAM-L11 are implementing ARM TrustZone with hardware security features.
- caro_douglos 8y agoit can be read protected. https://www.makomk.com/2016/01/23/openpgp-crypto-token-using-gnuk/ https://www.makomk.com/2016/01/23/openpgp-crypto-token-using...
- bacon_waffle 8y agoThe micro in Tomu is like most other modern micros, in that it has multiple lock bits around access to flash, for various purposes. Specifically, one bit prevents anything but the running program - ie the debug port - from reading flash. The only way to clear that bit is to erase the entire flash, with the notable exception of the user data section, so don't put the secret in there :). Relevant recent discussion: https://news.ycombinator.com/item?id=17587673 https://news.ycombinator.com/item?id=17587673
- pkaye 8y agoYears back I used to work for a company that built 8051 clones. It was possible to prevent the microprocessor from reading the flash memory because the 8051 has a separate program memory and data memory space.
- vardump 8y agoI don't understand how that helps to prevent reading anything. 8051 can read data from both CODE and XDATA memory spaces. See: http://www.keil.com/support/man/docs/is51/is51_movc.htm http://www.keil.com/support/man/docs/is51/is51_movc.htm
- pkaye 8y agoForgot to mention those two instruction will be disabled in flash protected mode.
- gonzo 8y agoATECC608A
- sametmax 8y agoGenuine question: if you can't clone your 2FA, how do you make spares like a house key ? If there is way to get a spare, what's the way to deal with key loss or shared access ?
- jon-wood 8y agoYou don’t make a copy, you add an extra key. (Almost?) all services that support 2FA keys allow you to add multiple keys.
- dspillett 8y agoEssentially you have a to configure the account/device you are authenticating with to accept multiple keys permanently (so you can have spares) or temporarily (replacing a key by registering a new one then revoking the old). In the case of key loss on a properly secure service registering a new key could be problematical if you don't have any other key that is still appropriately registered - you might be permanently locked out unless there is an admin function who has a key registered so can do it for you. Look at multi-key options for encrypted filesystem for one way that this can work. Often the filesystem or block device has a symmetric key that is in turn encrypted by each of the keys that you wish to be able to open it. It is the same symetric key every time, though you can't unlock my copy of it with your key nor can I unlock your's. Once unlocked we could both add a third user by encrypting the base key with their public key (PKI is not required, but is not uncommon).
- sametmax 8y agoOk, so you if you want 9 keys (3 persons in your family has access, have one local spare, and one off site), and 4 services, you need to do 36 registrations of keys ? Is there a standard to automate that ?
- dspillett 8y agoYou don't need one key per service, so that is as little as 5 keys (3 for active users plus the on-site and off-site spares). You may choose to have more than one key per person, to reduce the amount of re-registering needed if one key is lost, though remember that this is the second factor so you also already have passwords that vary by service (and if you give people multiple keys they will most likely carry them together to lose them all at the same time rather than individually anyway).
- lisper 8y agoYou should check out: https://sc4.us/hsm/index.html https://sc4.us/hsm/index.html (Disclosure: this is my project.)
- aftbit 8y agoHi there - neat project! I'm always interested in open hardware for cryptography, so thanks for contributing to the space. :) That said, this quote concerns me: >The SC4-HSM is designed to defend against a compromised client machine, i.e. an attacker who pwns your laptop or desktop machine. If you think about it, this is the only threat model that makes sense for dedicated secure hardware. If you can trust that your client machine is secure, you don't need an HSM. From my prospective, that's the bare minimum threat model for an open secure hardware device. I also include unsupervised physical access to the device. My ideal HSM would also provide robust protections against a myriad of complex hardware-level attacks - JTAG debugging, power & RF analysis, glitching, de-encapsulation just to name a few. Of course, a cheaper HSM which lacks advanced hardware level protections can still offer a lot of protection against common threat vectors, and physical access threats can be mitigated to some extent by keeping the device in a secure location or on your person.
- lisper 8y ago> that's the bare minimum threat model for an open secure hardware device Yes, I agree. But if you think about it, that can't be done by a device that does not have dedicated I/O, and two LEDs are not enough. At a minimum you need something capable of displaying a cryptographic hash if you want to protect against an pwned host.
- dtornabene 8y agothis is really cool! thanks for sharing it here, I'll definitely dig in deeper on it. I've been following Tomu development for over a year now (two?) I've got one on desk right now, the ideas that mithro cares about, the open hardware, are very important to me and I'm glad to see as much development in the space as possible.
- 8y ago
- ecesena 8y agoIf size doesn't matter, U2F Zero [1] is an open u2f security key. And we're about to unveil the upgrade to fido2... Edit: added link [1] https://u2fzero.com https://u2fzero.com
- ZiiS 8y agoHere is my more compact layout [1]. Twice the Tomu, but at a certain point that just makes it easier to extract. The big advantage of tomu's size is you can leave it in a laptop port, but that is the last thing you want to do with a security device. [1] https://github.com/BarnabyShearer/u2f-zero https://github.com/BarnabyShearer/u2f-zero