News for hackers. Stuff that matters.
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by dtornabene on Wednesday August 08, 2018 @06:26PM (#17720098)
thats ultimately the intent, to build a Yubikey-like security key, with everything open down through the firmare to the details of the soc
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by askvictor on Wednesday August 08, 2018 @06:55PM (#17720332)
One 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?
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by bacon_waffle on Wednesday August 08, 2018 @08:05PM (#17720699)
The 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

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by pkaye on Wednesday August 08, 2018 @10:13PM (#17721244)
Years 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.
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by vardump on Thursday August 09, 2018 @03:24AM (#17722225)
I 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

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by pkaye on Thursday August 09, 2018 @01:54PM (#17726631)
Forgot to mention those two instruction will be disabled in flash protected mode.
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by bsder on Wednesday August 08, 2018 @07:27PM (#17720512)
Newer microcontrollers like the Microchip(nee Atmel) SAM-L11 are implementing ARM TrustZone with hardware security features.
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by PinguTS on Thursday August 09, 2018 @04:05AM (#17722403)
Secure as in CLKSREW?
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by bsder on Thursday August 09, 2018 @06:15PM (#17729032)
CLKSCREW needs user mode DVFS (Dynamic Voltage and Frequency Scaling).

These don't exist on embedded processors like the one I referenced.

And, if someone has physical access, all bets are off.

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by sametmax on Thursday August 09, 2018 @03:32AM (#17722248)
Genuine 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 ?
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by OJFord on Thursday August 09, 2018 @06:32AM (#17722995)
Unfortunately the analogy fails slightly, because the answer is that you allow another key to <do whatever> - each key can independently unlock the door.

Like having several doors on your house, (though not a 'back door'..!) each with a different lock/key. _Not_ like having several locks on your one door, or multiple copies of the key for one lock.

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by dspillett on Thursday August 09, 2018 @04:01AM (#17722383)
Essentially 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).

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by sametmax on Thursday August 09, 2018 @06:30AM (#17722986)
Ok, 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 ?

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by dspillett on Thursday August 09, 2018 @09:32AM (#17724005)
You 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).

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by wahern on Thursday August 09, 2018 @07:54AM (#17723354)
Other than registering multiple keys with a service (as others have explained), you can generate the private key off-device, import the key onto your device(s), then optionally delete the off-device key and/or archive it to external storage (e.g. disc stored in a safety deposit box at your bank).
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by sametmax on Thursday August 09, 2018 @12:02PM (#17725359)
So you can make duplicates as long as you generate the key offsite first ? Does it work with any hardare ?
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by bacon_waffle on Thursday August 09, 2018 @03:50PM (#17727848)
At a basic level, the key is just a number, so there's no fundamental reason why it can't be duplicated.

However, other responses seem to be leaving out a discussion of why one would want to make identical keys in the first place. If you had identical keys, losing one would mean you'd need to revoke permissions of all copies. If the keys are instead unique, then only the lost key needs to be revoked.

Copying keys would also imply that the secret information needs to pass between devices, which adds some combination of risk and complexity. If the key doesn't need to support copying, then the secret information could be generated inside, and never leave, the key.

It seems better if the permissions granted to unique keys are easy to replicate, rather than the keys themselves.

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by wahern on Thursday August 09, 2018 @09:59PM (#17730153)
I agree that multiple unique keys are preferable.

But for traditional PKI schemes there's always at least one key (your personal master PGP key, your company SSH/X.509 CA) you want copies of, yet it's precisely the kind of key you absolutely want to keep off the network or within a secure hardware token; more so than authentication keys.

There are tokens that permit exporting (aka wrapping) a key for off-device storage or for transferring. If for transferring presumably you specify at key generation time a list of public keys to export to. But I've never used these tokens as the software was just too complex to bother with, proprietary, and poorly supported in the open source ecosystem. In the PGP world the typical advice (for better or worse) I've heard is to archive your master key on a disc and rotate your subkeys occasionally, necessitating brief exposure of your master key. Theoretically you would sign the subkeys from an old, non-networked computer.

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by sametmax on Friday August 10, 2018 @04:40AM (#17731647)
> If you had identical keys, losing one would mean you'd need to revoke permissions of all copies

Makes sense. And also it means I can decide it's not part of my threat model and take the easy route. Thanks.

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by jon-wood on Thursday August 09, 2018 @04:01AM (#17722382)
You don’t make a copy, you add an extra key. (Almost?) all services that support 2FA keys allow you to add multiple keys.
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by caro_douglos on Wednesday August 08, 2018 @07:28PM (#17720518)
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by gonzo on Wednesday August 08, 2018 @11:34PM (#17721485)
ATECC608A
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by lisper on Wednesday August 08, 2018 @08:52PM (#17720932)
You should check out:

https://sc4.us/hsm/index.html

(Disclosure: this is my project.)

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by aftbit on Wednesday August 08, 2018 @09:24PM (#17721053)
Hi 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.

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by lisper on Thursday August 09, 2018 @12:00AM (#17721567)
> 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.

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by dtornabene on Thursday August 09, 2018 @03:06AM (#17722151)
this 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.
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by teamhappy on Thursday August 09, 2018 @05:41AM (#17722776)
> I'm glad to see as much development in the space as possible.

I'm sure you are aware of Nitrokey. If not, here you go: https://www.nitrokey.com/

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by ecesena on Thursday August 09, 2018 @12:45AM (#17721689)
If 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

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by ZiiS on Thursday August 09, 2018 @03:08AM (#17722157)
Here 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

Re:Tomu, a tiny ARM microprocessor which fits in your USB port by colemannugent on Wednesday August 08, 2018 @06:49PM (#17720277)
At 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?
Re:Tomu, a tiny ARM microprocessor which fits in your USB port by TickleSteve on Thursday August 09, 2018 @12:57AM (#17721719)
ARM 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.