151 / 691DURESS

Duress Wallet

강요 상황을 위한 별도 지갑과 보호의 한계

Duress Wallet은 강요 상황에서 다른 지갑을 열어 준다. 유용성은 구체적인 구현, 복구 방법, 상대가 이미 아는 정보에 달려 있다.

Duress Wallet은 소유자가 자금 접근 수단을 공개하도록 강요받는 상황에 대비한 지갑이다. 특별한 PIN으로 열리거나 다른 passphrase를 사용하는 별도 지갑일 수 있다. 이는 접근 권한과 정보를 구성하는 방법이며, Bitcoin 합의 규칙이나 강요가 끝난다는 보장이 아니다.

장치는 특별한 PIN을 입력하면 다른 키 집합을 열고, 그 모드에서는 평소 지갑에 접근할 수 없게 할 수 있다. 이 지갑의 출력은 실제 출력이며 이를 지출하는 행위는 실제 지급이다. 미끼라는 말은 의도한 역할만 설명한다. Duress Wallet이라는 이름만으로 파생 방식, 사용 가능한 메뉴, 부수 효과를 알 수는 없다. 보호 효과를 평가하기 전에 장치 상태, 장치에서 접근 가능한 키, 접근을 강요하는 사람의 지식을 구분해야 한다. [COLDCARD — PINs and Trick PINs] [EFF — Your Security Plan]

BIP39에서는 백업 단어와 passphrase로 seed를 파생한다. 정규화된 모든 passphrase는 유효한 seed를 만들므로, 오타는 비밀번호 오류 대신 대개 비어 있는 다른 지갑을 열 수 있다. 반면 PIN은 일반적으로 장치를 잠금 해제하지만 그 자체로 표준 BIP39 파생을 결정하지 않는다. Trezor에 다시 접근하려면 정확히 일치하는 원래 passphrase와 올바른 백업이 필요하다. 다른 지갑을 만들 수 있다는 사실이 해당 장치의 Duress PIN 지원을 뜻하거나, 이미 사용 중인 지갑의 추가 passphrase를 간단히 변경할 수 있다는 뜻은 아니다. [BIP 39 — Mnemonic code for generating deterministic keys] [Trezor — What is a passphrase?]

COLDCARD 문서는 기본 seed를 삭제하지 않는 Duress Wallet과, seed를 지운 다음 선택한 지갑을 여는 Wipe → Wallet을 구분한다. BIP85 방식 세 가지와 이전 방식인 Legacy Wallet을 설명한다. 24단어 seed의 BIP85 인덱스는 1001–1003, 12단어 seed는 2001–2003이며, Legacy 경로는 m/2147431408h/0h/0h이다. 이는 해당 구현의 세부 사항이지 모든 지갑의 공통 표준이 아니다. 다른 장치나 이전 펌웨어에서 같은 이름이 보여도 경로, 단어 수, 동작이 같다고 볼 수 없다. [COLDCARD — PINs and Trick PINs]

BIP85는 BIP32 루트 키에서 모든 단계가 hardened인 경로와 추가 HMAC 단계를 거쳐 애플리케이션 엔트로피를 파생한다. 파생된 자식만 알아서는 부모 루트가 드러나지 않도록 설계되어 있지만, 루트가 유출되면 파생 자식들을 다시 만들 수 있다. 따라서 주소가 분리되어 있다는 사실은 백업이나 위험이 독립적이라는 증거가 아니다. 특정 Duress Wallet이 기본 루트에서 복구되는지, 다른 passphrase가 필요한지, 실제로 독립된 seed가 있는지 확인해야 한다. 공통 백업이 있어도 올바른 모드, 경로, 인덱스를 알아야 한다. [BIP 85 — Deterministic Entropy From BIP32 Keychains]

BIP39는 서로 다른 passphrase가 모두 유효하다는 성질을 통해 추가 지갑의 존재를 그럴듯하게 부인할 가능성을 설명한다. 이는 파생의 성질이지 다른 자금이 없다는 증거가 아니다. 구매 기록, 알려진 주소, 저장된 공개 키, 이전 앱 접근 기록은 상대의 기대를 바꿀 수 있다. COLDCARD의 SSSP 문서는 기본 PIN을 아는 사람이 XPUB를 얻어 잔액을 확인할 수 있다고 명시한다. 따라서 나중에 다른 지갑을 보여도 설득력이 없을 수 있다. 다만 on-chain 연결만으로 소유자의 신원이 자동으로 입증되지는 않는다. [BIP 39 — Mnemonic code for generating deterministic keys] [COLDCARD — Single Signer Spending Policy]

설정에 따라 Trick PIN은 열린 지갑만 바꾸거나, seed를 삭제하거나, 장치를 영구적으로 비활성화할 수 있다. 이 효과들을 혼동해서는 안 된다. 로컬 키 사본을 지워도 blockchain의 출력이나 다른 백업 사본은 사라지지 않는다. 완전한 복구 정보가 있으면 다른 곳에서 여전히 지출할 수 있다. 그 정보가 없으면 소유자 자신이 접근 권한을 잃을 수 있다. 파괴적인 반응으로 공격자의 행동을 예측 가능하게 통제할 수도 없다. 기능 설명은 위험한 상황에서 활성화하라는 권고가 아니다. [COLDCARD — PINs and Trick PINs] [EFF — Your Security Plan]

복구 계획에는 기본 지갑과 별도 지갑의 관계, 필요한 백업, 해당되는 passphrase, 구현 매개변수가 포함되어야 한다. 장치 PIN은 이 정보를 대체하지 않으며 일반 단어 백업만으로 잊어버린 BIP39 passphrase를 복구할 수 없다. 설계를 검증할 때는 분리된 테스트 데이터와 알려진 수신 주소를 사용하고 재시작 전후에 올바른 모드인지 확인해야 한다. 실제 지갑의 유일한 사본에서 파괴적인 옵션을 시험해서는 안 된다. 어떤 지갑이 열렸다는 사실보다 예상한 주소와 일치한다는 확인이 더 강한 증거다. [Trezor — What is a passphrase?] [BIP 85 — Deterministic Entropy From BIP32 Keychains]

전원이 꺼진 장치의 도난, 백업 유출, 사람에 대한 직접적인 강요는 나누어 평가해야 한다. 각 상황에서 상대의 능력과 정보가 다르다. Duress Wallet은 현재 공개하는 접근 범위를 바꿀 수 있지만 다른 자금의 은폐나 개인의 안전을 보장하지 않는다. 보안 계획은 부양 대상자, 복구 가능성, 실수의 결과를 고려하고 정기적으로 검토해야 한다. 장치 테스트는 장치의 동작을 입증할 뿐 강요 상황에서 사람의 반응을 예측 가능하게 만들지 않는다. 이를 근거로 보편적으로 안전한 미끼 금액을 정할 수는 없다. [EFF — Your Security Plan] [COLDCARD — Single Signer Spending Policy]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 BIP85, BIP39 passphrase, Hardware Wallet, 자기 보관, Secure Element, Seed Phrase.

DOC · 001COLDCARD — PINs and Trick PINs문서 ↗DOC · 002BIP 39 — Mnemonic code for generating deterministic keys명세 ↗DOC · 003Trezor — What is a passphrase?문서 ↗DOC · 004BIP 85 — Deterministic Entropy From BIP32 Keychains명세 ↗DOC · 005COLDCARD — Single Signer Spending Policy문서 ↗DOC · 006EFF — Your Security Plan1차 출처 ↗
1차 출처 우선 · 투자 조언이 아닙니다