1
\$\begingroup\$

These cryptocurrency wallets like Coldcard can be unlocked by a simple PIN, and are fairly safe. I believe that they use a security chip that stores information and only delivers with the right PIN. Are there some cheap ones for usage with an Arduino?

I'm not asking for product recommendations (although it would be nice to have), but at least a term that I can browse and find.

\$\endgroup\$
7
  • 1
    \$\begingroup\$ what does this mean? ... usage with arduino \$\endgroup\$
    – jsotola
    Dec 27, 2021 at 3:44
  • \$\begingroup\$ @jsotola interface it with arduino or anything like a raspberry pi \$\endgroup\$ Dec 27, 2021 at 4:09
  • \$\begingroup\$ those devices do not have an interface for connecting to another device ... it is part of security \$\endgroup\$
    – jsotola
    Dec 27, 2021 at 4:50
  • \$\begingroup\$ @jsotola there has to be a method of communicating with it \$\endgroup\$ Dec 27, 2021 at 5:19
  • 1
    \$\begingroup\$ Tip: Capitalise brand names, proper nouns and sentences (including question title) properly to make it clear what's what. e.g. 'Arduino'. Is 'coldcard' a brand name? If so it should probably be capitalised and a link to its datasheet provided. \$\endgroup\$
    – Transistor
    Dec 27, 2021 at 17:28

2 Answers 2

1
\$\begingroup\$

I work in embedded security, but I don't know much about Arduino. So this is the "term I can browse and find" part of your question, w/o any Arduino-specific stuff.

MCUs these days, more and more, are shipping with security features like built in hash processsors, symmetric crypto accelerators (e.g. AES) and sometimes even public key acceleration (RSA, ECC, D-H, etc.) A less common, but very useful feature, is "secure key storage" or "secure enclave" as part of the MCU.

For those MCUs w/o built in key storage, usually a separate IC is used. There are different names and kinds of functionality, but generally the functionality you're looking for would be on a Secure Element, a TPM (Trusted Platform Module) or an HSM (Hardware Security Module). Typically these connect via SPI or I2C. Sparkfun, Microchip, ST Micro, etc. have ICs. For example, ST has the STSAFE-A100, Microchip has the ATTPM20P, ST has the SPC58-HSM-FW , etc. These chips have secure mesh and other physical design features that a normal "consumer grade" MCU wouldn't have.

Also, some hobbyist "HSMs" or "wallets" are really just an embedded MCU without this stuff, for example the Trezor (I think?) is usually a normal STM32F427 MCU.

That should give you enough to chew on for a while.

\$\endgroup\$
1
\$\begingroup\$

Generally speaking a Security or Cryptographic IC is an integrated device or SOC block which itself contains several security building blocks which implement standard cryptographic algorithms.

Some of these features require a higher order architecture to integrate into your system/application.

More and more manufacturers are providing further integration in these devices, including convenience stacks and turnkey interfaces for many common system builder security protocols.

But in general, a security IC at it's core is a one time programmable device. Once initialized in a secure location it provides a few basic services .

  1. Validate the public key signature of a message against a secure private key.

  2. Generate a cryptographic nonce , based on one of these secure private keys .

  3. Provide some secure read only storage with a variety of authentication methods

  4. Do this with good hardware practices that prevent side channel attacks directly on the hardware (e.g. power, ir, etc)

\$\endgroup\$
2
  • \$\begingroup\$ good point with item #4, something least thought of when considering security. \$\endgroup\$ Dec 28, 2021 at 1:59
  • \$\begingroup\$ Thanks @icodeplenty ! In fact at least one manufacturer of such devices advertises integrated shielding in the IC package. \$\endgroup\$
    – crasic
    Dec 28, 2021 at 4:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.