Workspace IndexDev Notes › The private key never leaves the secure element

#91PoC

The private key never leaves the secure element

A hardware wallet's whole thesis in one sentence: a certified tamper-resistant chip generates the private key, keeps it, and signs inside itself — the key is never exported. Malware on the connected phone or PC can request a signature but can never read the key, and the on-device screen closes the loop (what-you-see-is-what-you-sign). But that only protects the key in use. The BIP-39 seed that can regenerate it is a bearer secret whose backup is the real attack surface — which is exactly the problem D'CENT's R3covery card and SLIP-39 shares target.

Not yet scoped — a two-boundary probe, not a product. (1) Key-in-use: connect a hardware wallet (or emulate a secure-element signer), sign a transaction, and prove the key never appears on the host — capture the USB/BLE traffic and show only the signature crosses the wire, never the seed or key. Then contrast blind signing (host says 'sign this hash') against on-device verification (the chip's own screen renders the actual recipient/amount) — the second is the whole reason the screen exists. (2) Key-at-rest: reconstruct the same wallet from its seed on a second device and observe that whoever holds the seed holds the funds, chip or no chip — then compare backup schemes (paper, metal plate, SLIP-39 m-of-n shares, a recovery card). Reference: BIP-39, SLIP-39 (Shamir), a CC-EAL-rated secure element (D'CENT, Ledger). Confirm certification levels before citing.

Why

Self-custody is two problems wearing one word, and a hardware wallet only fully solves one of them. The base technology under every hardware wallet — and under D'CENT's 8-year rebrand into institutional and premium tiers — is the secure element: a certified (Common Criteria EAL5+/6+) tamper-resistant chip that generates the seed from on-chip entropy, stores it, derives keys, and performs the ECDSA/EdDSA signature without the private key ever leaving the die. The host gets a signature back; it never gets the key. This is what makes a compromised phone survivable: the attacker can propose transactions but cannot exfiltrate the secret.

The on-device display is not a convenience — it is half the security model. If you sign whatever hash the host hands you (blind signing), a malicious host can swap the recipient and you'd never know. The chip's own screen breaks that: it renders the real destination and amount from the parsed transaction, so what you see is what you sign. A hardware wallet without trustworthy on-device verification is just a slower software wallet.

But the seed is a bearer secret, and backup is the unsolved human half. The chip protects the key in use; nothing protects the 12/24-word seed at rest except how the human stored it. Whoever holds the seed holds the funds — no device, PIN, or fingerprint required — so the recovery phrase is the actual custody boundary, and its backup is where real wallets are actually lost or stolen. That is the gap products attack: SLIP-39 splits the seed into m-of-n shares (lose one, stay safe; steal one, learn nothing), metal plates survive fire, and a recovery card reduces the burden of handling a raw mnemonic. Fingerprint and PIN, by contrast, only gate local access to the chip — they are not the custody root.

Why this matters now. The post frames the shift the catalogue keeps circling: assets moving from held to used — institutions custodying at scale, and AI agents transacting. Both push past 'a human approves each signature on a screen' toward delegated, policy-bounded signing — which is exactly where a secure element's guarantee (the key can't leave) meets the harder question of what the key is allowed to sign without you. That is the bridge from this card to embedded-wallet-policy, pick-a-signer-not-a-brand, and agentic-intent-veto.

How it works

The trust boundary, drawn once.

Where the secret is, at each moment

Moment Where the key/seed is What the host can do
Generation born inside the secure element from on-chip entropy nothing — never sees it
Signing used inside the chip; only the signature leaves request a signature; read the rendered tx on the chip's screen
At rest the BIP-39 seed, wherever the human backed it up everything, if it obtains the seed

Two boundaries, two owners

  • In-use boundary — owned by the chip. Secure element + on-device display. Defeats host malware and blind-signing swaps. This is the part the hardware genuinely solves.
  • At-rest boundary — owned by the human. The seed backup. No silicon helps here; only scheme design does — SLIP-39 m-of-n shares, metal plates, a recovery card. This is where funds are actually lost.

The rebrand, mapped to the two boundaries

D'CENT product Which boundary it moves
Secure element + touchscreen (X) in-use — better on-device verification
Fingerprint / PIN local access gate — not the custody root
R3covery card at-rest — reduces the burden of the raw mnemonic
Enterprise tier delegated/policy signing at institutional scale

Cross-refs: pick-a-signer-not-a-brand (the signer is a role, not a logo — a secure element is one implementation of that role), the-wallet-is-not-the-user (the key signs; it is not identity), embedded-wallet-policy (MPC/Shamir moves the same key-in-use problem into software and turns custody into a configuration), safe-module-root-key (the root key's authority is the real question), agentic-intent-veto and agents-computer-use (delegated signing is where 'the key can't leave' meets 'what may it sign without me').

← All Dev Notes · Workspace Index · Top ↑

개인키는 시큐어 엘리먼트를 떠나지 않는다

하드웨어 지갑의 핵심 명제 한 문장: 인증된 변조 방지 칩이 개인키를 생성하고, 보관하고, 칩 안에서 직접 서명합니다 — 키는 절대 밖으로 나오지 않습니다. 연결된 폰·PC의 멀웨어는 서명을 요청할 수는 있어도 키를 읽을 수는 없고, 기기 화면이 고리를 닫습니다(보이는 것이 서명되는 것). 하지만 이건 사용 중인 키만 지킵니다. 그 키를 되살리는 BIP-39 시드는 소지자 비밀(bearer secret)이고, 그 백업이 진짜 공격 표면입니다 — 디센트 R3covery 카드와 SLIP-39 분할이 겨냥하는 바로 그 문제.

아직 범위 미정 — 제품이 아니라 두 경계를 찌르는 실험. (1) 사용 중인 키: 하드웨어 지갑을 연결(또는 시큐어 엘리먼트 서명기를 에뮬레이션)해 트랜잭션에 서명하고, 키가 호스트에 절대 나타나지 않음을 증명 — USB/BLE 트래픽을 캡처해 선을 넘는 건 서명뿐, 시드·키가 아님을 보입니다. 그다음 블라인드 서명(호스트가 '이 해시에 서명해')과 온디바이스 검증(칩 자체 화면이 실제 수신자·금액을 렌더)을 대비 — 두 번째가 화면이 존재하는 이유 전부입니다. (2) 저장 중인 키: 같은 지갑을 그 시드로 두 번째 기기에서 복원해, 칩이 있든 없든 시드를 쥔 자가 자금을 쥔다는 걸 관찰 — 이어서 백업 방식(종이, 금속판, SLIP-39 m-of-n 분할, 복구 카드)을 비교합니다. 참고: BIP-39, SLIP-39(Shamir), CC-EAL 인증 시큐어 엘리먼트(디센트, 레저). 인증 등급은 인용 전 확인.

셀프커스터디는 한 단어를 쓴 두 개의 문제이고, 하드웨어 지갑은 그중 하나만 온전히 해결합니다. 모든 하드웨어 지갑 — 그리고 디센트의 기관·프리미엄 티어로의 8년 리브랜딩 — 아래 있는 기반 기술은 시큐어 엘리먼트입니다: 인증된(Common Criteria EAL5+/6+) 변조 방지 칩이 온칩 엔트로피로 시드를 생성하고, 저장하고, 키를 파생하고, ECDSA/EdDSA 서명을 개인키가 다이(die) 밖으로 나가지 않은 채 수행합니다. 호스트는 서명만 돌려받지 키를 받지 못합니다. 이것이 감염된 폰에서도 살아남는 이유입니다: 공격자는 트랜잭션을 제안할 수는 있어도 비밀을 빼낼 수는 없습니다.

기기 화면은 편의가 아니라 보안 모델의 절반입니다. 호스트가 건네는 해시에 그냥 서명하면(블라인드 서명), 악성 호스트가 수신자를 바꿔치기해도 모릅니다. 칩 자체 화면이 그걸 깹니다: 파싱된 트랜잭션에서 실제 목적지·금액을 렌더해 보이는 것이 서명되는 것이 되게 합니다. 신뢰할 수 있는 온디바이스 검증이 없는 하드웨어 지갑은 그냥 느린 소프트웨어 지갑입니다.

하지만 시드는 소지자 비밀이고, 백업은 풀리지 않은 인간 쪽 절반입니다. 칩은 사용 중인 키를 지키지만, 저장 중인 12/24 단어 시드는 사람이 어떻게 보관했는가 외에 아무것도 지켜주지 않습니다. 시드를 쥔 자가 자금을 쥡니다 — 기기·PIN·지문 불필요 — 그래서 복구 문구가 실제 커스터디 경계이고, 그 백업이 진짜 지갑이 실제로 분실·도난되는 지점입니다. 제품이 공략하는 틈이 바로 그것입니다: SLIP-39는 시드를 m-of-n 조각으로 나누고(하나 잃어도 안전, 하나 훔쳐도 아무것도 못 앎), 금속판은 화재를 견디고, 복구 카드는 생니모닉을 다루는 부담을 줄입니다. 반면 지문·PIN은 칩으로의 로컬 접근만 통제할 뿐 — 커스터디 루트가 아닙니다.

왜 지금 중요한가. 이 포스트는 카탈로그가 계속 맴도는 전환을 프레이밍합니다: 자산이 보유에서 활용으로 — 기관의 대규모 커스터디, AI 에이전트의 거래. 둘 다 '사람이 화면에서 서명마다 승인'을 넘어 위임된, 정책으로 한정된 서명으로 밀고 갑니다 — 시큐어 엘리먼트의 보장(키는 나갈 수 없다)이 당신 없이 그 키가 무엇에 서명해도 되는가라는 더 어려운 질문과 만나는 바로 그 지점입니다. 이 카드에서 embedded-wallet-policy, pick-a-signer-not-a-brand, agentic-intent-veto로 이어지는 다리입니다.

동작 방식

신뢰 경계를 한 번에 그립니다.

매 순간 비밀이 어디 있는가

순간 키/시드 위치 호스트가 할 수 있는 것
생성 온칩 엔트로피로 시큐어 엘리먼트 안에서 태어남 아무것도 — 절대 못 봄
서명 칩 안에서 사용; 서명만 밖으로 서명 요청; 칩 화면의 렌더된 tx 확인
저장 BIP-39 시드, 사람이 백업한 곳 시드를 얻으면 전부

두 경계, 두 주인

  • 사용 중 경계 — 칩이 주인. 시큐어 엘리먼트 + 온디바이스 화면. 호스트 멀웨어와 블라인드 서명 바꿔치기를 막음. 하드웨어가 진짜로 해결하는 부분.
  • 저장 중 경계 — 사람이 주인. 시드 백업. 여기선 실리콘이 못 돕고 방식 설계만 도움 — SLIP-39 m-of-n 분할, 금속판, 복구 카드. 자금이 실제로 사라지는 곳.

리브랜딩을 두 경계에 대응

디센트 제품 어느 경계를 움직이나
시큐어 엘리먼트 + 터치스크린(X) 사용 중 — 더 나은 온디바이스 검증
지문 / PIN 로컬 접근 게이트 — 커스터디 루트가 아님
R3covery 카드 저장 중 — 생니모닉 부담 감소
엔터프라이즈 티어 기관 규모의 위임/정책 서명

교차: pick-a-signer-not-a-brand(서명자는 로고가 아니라 역할 — 시큐어 엘리먼트는 그 역할의 한 구현), the-wallet-is-not-the-user(키는 서명할 뿐 정체성이 아님), embedded-wallet-policy(MPC/Shamir는 같은 사용 중 키 문제를 소프트웨어로 옮겨 커스터디를 설정 문제로 바꿈), safe-module-root-key(루트 키의 권한이 진짜 질문), agentic-intent-veto·agents-computer-use(위임 서명은 '키는 나갈 수 없다'가 '나 없이 무엇에 서명해도 되나'와 만나는 지점).

← 전체 개발 노트 · 워크스페이스 인덱스 · 맨 위 ↑