PoCs

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

하드웨어 지갑의 핵심 명제 한 문장: 인증된 변조 방지 칩이 **개인키를 생성하고, 보관하고, 칩 안에서 직접 서명**합니다 — 키는 절대 밖으로 나오지 않습니다. 연결된 폰·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`(위임 서명은 '키는 나갈 수 없다'가 '나 없이 무엇에 서명해도 되나'와 만나는 지점).