<blockquote>
<p>In light of recent events with Ledger, are all other hardware wallets susceptible to being able to export the private key as well, possibly with a firmware update?</p>
</blockquote>
<p>Yes, including those that, like Ledger, use Secure Elements. Hardware wallets with SEs use the SE to store the private key, however in a way that can still be read from it by the MCU. Of course those that don't use a SE at all can also export private keys.</p>
<blockquote>
<p>AFAIK, smartcards and yubikey are write-only for the secret, and can later only sign or decrypt data. Why don't they make hardware wallets in the same way?</p>
</blockquote>
<p>Because that requires the SE to be able to perform the cryptographic operations necessary to produce valid signatures for Bitcoin. This requires supporting ECDSA, the Schnorr signature algorithm, and the secp256k1 curve.</p>
<p>While ECDSA is commonly supported, the secp256k1 curve is not. Additionally, Schnorr is not supported by any SE, particularly the specific variant that Bitcoin uses.</p>

CC BY-SA 4.0
2023-05-26T04:55:39.397Z
Given that there is a market for such a secure element, then surely somebody will develop it? Would very much like to have one, otherwise all the wallets seem like glorified laptops (with maybe some tamper-resistance added).
Cigarette Smoking Man
CC BY-SA 4.0
2023-05-26T05:22:55.897Z
The market is probably a lot smaller than you think. Chip design is orders of magnitude harder than PCB design, so the market would have to be really big to make that worthwhile. Additionally, even if such a SE existed, I'm not sure that most hardware wallet vendors would disable key exporting. Most hardware wallets support multiple coins, and there are many altcoins with all different kinds of crypto, and new stuff comes out all the time. I doubt any hardware vendors would want to risk losing customers because they can't support whatever shiny new altcoin that uses new crypto.
Ava Chow
CC BY-SA 4.0
2023-05-26T10:10:34.943Z
@AndrewChow: Coldcard is Bitcoin only, BitBox has a Bitcoin only version, Trezor has the option of Bitcoin only firmware. Jade is Bitcoin and Liquid only, I guess Jade will want to keep open prospect of new cryptography on Liquid. Don't know the unit sales but there seems to be a Bitcoin only offering across companies now. Just Ledger of the main companies that doesn't support Bitcoin only.
Michael Folkson
CC BY-SA 4.0
2023-05-25T22:03:22.593Z
2023-05-25T22:03:22.593Z
Ava Chow
<p>Christopher Allen answers this <a href="https://bitcoin.stackexchange.com/questions/118379/what-is-the-controversy-with-ledgers-new-recovery-service/">here</a>.</p>
<blockquote>
<p>The problem is that no existing SE (Secure Enclave) chips can do secp256k1 (the curve used by Bitcoin &amp; Ethereum) natively and safely in semiconductor logic. This isn't an issue with Ledger; it's an issue with all current chips used by wallets today. This means that in order to do secp256k1, a SE has to hand a key off to a code execution process in the SE or to an MPU. That's what opens the doors for doing unexpected things with that key — things that most didn't expect from a personal hardware wallet. In other words, the public might have had the expectation that keys weren't going to ever leave the Ledger, but that expectation is actually impossible to support today, because keys already have to leave the most trusted part of the Secure Enclave to be used!</p>
</blockquote>

CC BY-SA 4.0
2023-05-30T23:13:13.840Z
This seems to be a slippery slope argument, I can agree that a SE cannot do BTC-secp256k1. That does not mean the private key must leave the device to some server, that is a ludicrous jump in assumptions.
Poseidon
CC BY-SA 4.0
2023-05-31T05:21:34.707Z
@Poseidon May I plug my other question here: do you know what is the difference between an inaccessible (= non-updatable) chip + software where secp256k1 is done in software, and a SE that really supports secp256k1? (*Is* there any difference?) https://bitcoin.stackexchange.com/questions/118505/is-a-smart-card-more-than-an-non-updatable-inacessible-and-tamper-resistant-soft
Cigarette Smoking Man
CC BY-SA 4.0
2023-05-31T06:19:56.247Z
@CigaretteSmokingMan I will respond in that thread, it is pretty relevant to what I am talking about.
Poseidon
CC BY-SA 4.0
2023-05-31T10:29:58.637Z
@Poseidon: The quote says "hand a key off to a code execution process in the SE or to an MPU". It doesn't say the private key must leave the device to some server. Please read answers before commenting.
Michael Folkson
CC BY-SA 4.0
2023-06-01T03:32:00.867Z
@MichaelFolkson " the public might have had the expectation that keys weren't going to ever leave the Ledger, but that expectation is actually impossible to support today, because keys already have to leave the most trusted part of the Secure Enclave to be used!" This is a slippery slope argument used to defend ledger exporting private keys from users to a centralized weakly secured server. It is not true that because the keys must leave an SE that it then implies they must go to a more vulnerable system like a centralized server.
Poseidon
CC BY-SA 4.0
2023-06-01T03:33:34.013Z
The key itself should never leave the hardware device ever.
Poseidon
CC BY-SA 4.0
2023-06-01T09:13:29.957Z
@Poseidon: Ok fair enough, I get the misunderstanding. The point that Christopher is making is that most users assume that firmware updates are unable to do this. Yet firmware updates *are* able to do this on all Bitcoin hardware wallets. That isn't the same argument as they should, merely that they can. That's just a fact.
Michael Folkson
CC BY-SA 4.0
2023-05-25T21:01:52.733Z
2023-05-25T21:01:52.733Z
Michael Folkson
<p>The SATSCHIP by coinkite signs transactions with secp256k1 but cannot reveal or export the private key.  It is also able to use entropy provided by the user.  They say it has a secure element.  It is a blind signer though, it just signs everything.  A separate device like a phone is needed to verify that the correct transaction is being signed.</p>

CC BY-SA 4.0
2023-12-16T14:01:25.190Z
2023-12-16T14:01:25.190Z
Eric
<p>In light of recent events with Ledger, are all other hardware wallets susceptible to being able to export the private key as well, possibly with a firmware update?</p>
<p>If the former answer is true for many of them, then, AFAIK, smartcards and yubikey are write-only for the secret, and can later only sign or decrypt data. Why don't they make hardware wallets in the same way?</p>

<wallet-security><hardware-wallet><private-key-export>
Which hardware wallets are technically capable of exporting the private key?
Cigarette Smoking Man
# Which hardware wallets are technically capable of exporting the private key?

(Asked by: username_0 on 2023-05-25)

In light of recent events with Ledger, are all other hardware wallets susceptible to being able to export the private key as well, possibly with a firmware update?

If the former answer is true for many of them, then, AFAIK, smartcards and yubikey are write-only for the secret, and can later only sign or decrypt data. Why don't they make hardware wallets in the same way?

**Tags:** wallet-security, hardware-wallet, private-key-export


---

## 3 answers

### Answer by username_1 on 2023-05-25. Score: 3 | Accepted answer

> In light of recent events with Ledger, are all other hardware wallets susceptible to being able to export the private key as well, possibly with a firmware update?

Yes, including those that, like Ledger, use Secure Elements. Hardware wallets with SEs use the SE to store the private key, however in a way that can still be read from it by the MCU. Of course those that don't use a SE at all can also export private keys.

> AFAIK, smartcards and yubikey are write-only for the secret, and can later only sign or decrypt data. Why don't they make hardware wallets in the same way?

Because that requires the SE to be able to perform the cryptographic operations necessary to produce valid signatures for Bitcoin. This requires supporting ECDSA, the Schnorr signature algorithm, and the secp256k1 curve.

While ECDSA is commonly supported, the secp256k1 curve is not. Additionally, Schnorr is not supported by any SE, particularly the specific variant that Bitcoin uses.

> **Comments:**
> **username_0**: Given that there is a market for such a secure element, then surely somebody will develop it? Would very much like to have one, otherwise all the wallets seem like glorified laptops (with maybe some tamper-resistance added).  
> **username_1**: The market is probably a lot smaller than you think. Chip design is orders of magnitude harder than PCB design, so the market would have to be really big to make that worthwhile. Additionally, even if such a SE existed, I'm not sure that most hardware wallet vendors would disable key exporting. Most hardware wallets support multiple coins, and there are many altcoins with all different kinds of crypto, and new stuff comes out all the time. I doubt any hardware vendors would want to risk losing customers because they can't support whatever shiny new altcoin that uses new crypto.  
> **username_2**: @AndrewChow: Coldcard is Bitcoin only, BitBox has a Bitcoin only version, Trezor has the option of Bitcoin only firmware. Jade is Bitcoin and Liquid only, I guess Jade will want to keep open prospect of new cryptography on Liquid. Don't know the unit sales but there seems to be a Bitcoin only offering across companies now. Just Ledger of the main companies that doesn't support Bitcoin only.  

---

### Answer by username_2 on 2023-05-25. Score: -1

Christopher Allen answers this [here](https://bitcoin.stackexchange.com/questions/118379/what-is-the-controversy-with-ledgers-new-recovery-service/).

> The problem is that no existing SE (Secure Enclave) chips can do secp256k1 (the curve used by Bitcoin & Ethereum) natively and safely in semiconductor logic. This isn't an issue with Ledger; it's an issue with all current chips used by wallets today. This means that in order to do secp256k1, a SE has to hand a key off to a code execution process in the SE or to an MPU. That's what opens the doors for doing unexpected things with that key — things that most didn't expect from a personal hardware wallet. In other words, the public might have had the expectation that keys weren't going to ever leave the Ledger, but that expectation is actually impossible to support today, because keys already have to leave the most trusted part of the Secure Enclave to be used!

> **Comments:**
> **username_3**: This seems to be a slippery slope argument, I can agree that a SE cannot do BTC-secp256k1. That does not mean the private key must leave the device to some server, that is a ludicrous jump in assumptions.  
> **username_0**: @username_3 May I plug my other question here: do you know what is the difference between an inaccessible (= non-updatable) chip + software where secp256k1 is done in software, and a SE that really supports secp256k1? (*Is* there any difference?) https://bitcoin.stackexchange.com/questions/118505/is-a-smart-card-more-than-an-non-updatable-inacessible-and-tamper-resistant-soft  
> **username_3**: @username_0 I will respond in that thread, it is pretty relevant to what I am talking about.  
> **username_2**: @username_3: The quote says "hand a key off to a code execution process in the SE or to an MPU". It doesn't say the private key must leave the device to some server. Please read answers before commenting.  
> **username_3**: @username_2 " the public might have had the expectation that keys weren't going to ever leave the Ledger, but that expectation is actually impossible to support today, because keys already have to leave the most trusted part of the Secure Enclave to be used!" This is a slippery slope argument used to defend ledger exporting private keys from users to a centralized weakly secured server. It is not true that because the keys must leave an SE that it then implies they must go to a more vulnerable system like a centralized server.  
> **username_3**: The key itself should never leave the hardware device ever.  
> **username_2**: @username_3: Ok fair enough, I get the misunderstanding. The point that Christopher is making is that most users assume that firmware updates are unable to do this. Yet firmware updates *are* able to do this on all Bitcoin hardware wallets. That isn't the same argument as they should, merely that they can. That's just a fact.  

---

### Answer by username_4 on 2023-12-16. Score: -1

The SATSCHIP by coinkite signs transactions with secp256k1 but cannot reveal or export the private key. It is also able to use entropy provided by the user. They say it has a secure element. It is a blind signer though, it just signs everything. A separate device like a phone is needed to verify that the correct transaction is being signed.


---

