151 / 691DURESS

Duress Wallet

Oddzielny portfel na wypadek przymusu i granice jego ochrony

Duress Wallet udostępnia inny portfel pod przymusem; przydatność zależy od implementacji, odzyskiwania dostępu i wcześniejszej wiedzy drugiej strony.

Duress Wallet to portfel przygotowany na sytuację, w której właściciel zostaje zmuszony do ujawnienia dostępu do środków. Może otwierać się specjalnym PIN-em lub być oddzielnym portfelem z inną passphrase. Organizuje dostęp i informacje; nie jest regułą konsensusu Bitcoin ani gwarancją zakończenia przymusu.

Po wpisaniu specjalnego PIN-u urządzenie może otworzyć inny zestaw kluczy, pozostawiając zwykły portfel niedostępny z tego trybu. Jego wyjścia są prawdziwe, a ich wydanie oznacza rzeczywistą płatność; przynęta opisuje tylko zamierzoną rolę. Sama nazwa Duress Wallet nie określa derywacji, dostępnych menu ani skutków ubocznych. Oceniając ochronę, trzeba więc rozróżnić stan urządzenia, dostępne w nim klucze i wiedzę osoby wymuszającej dostęp. [COLDCARD — PINs and Trick PINs] [EFF — Your Security Plan]

W BIP39 słowa kopii zapasowej i passphrase uczestniczą w wyprowadzaniu seedu. Każda znormalizowana passphrase tworzy poprawny seed; literówka może zatem otworzyć inny, zwykle pusty portfel zamiast wyświetlić błąd hasła. PIN najczęściej odblokowuje urządzenie, ale sam nie definiuje standardowej derywacji BIP39. Trezor wymaga dokładnie pierwotnej passphrase i właściwej kopii zapasowej do ponownego dostępu. Możliwość utworzenia kolejnego portfela nie oznacza, że urządzenie oferuje Duress PIN ani że można po prostu zmienić dodatkową passphrase istniejącego portfela. [BIP 39 — Mnemonic code for generating deterministic keys] [Trezor — What is a passphrase?]

Dokumentacja COLDCARD odróżnia Duress Wallet bez usuwania głównego seedu od Wipe → Wallet, które usuwa seed i następnie otwiera wybrany portfel. Wymienia trzy warianty BIP85 i starszy Legacy Wallet. Dla seedu z 24 słów warianty BIP85 używają indeksów 1001–1003, a dla 12 słów — 2001–2003. Legacy używa m/2147431408h/0h/0h. Są to parametry tej implementacji, nie uniwersalny standard. Ta sama etykieta w innym urządzeniu lub starszym firmware może więc oznaczać inną ścieżkę, liczbę słów lub zachowanie. [COLDCARD — PINs and Trick PINs]

BIP85 wyprowadza entropię dla aplikacji z klucza głównego BIP32 przez w pełni hardened ścieżkę i dodatkowy krok HMAC. Znajomość samego wyprowadzonego potomka nie powinna ujawniać korzenia rodzica; przejęcie korzenia pozwala jednak odtworzyć jego potomków. Oddzielne adresy nie dowodzą zatem niezależności kopii zapasowych ani ryzyka. Dla konkretnego Duress Wallet trzeba ustalić, czy da się go odzyskać z głównego korzenia, czy wymaga innej passphrase, czy ma rzeczywiście niezależny seed. Wspólna kopia nie zastępuje znajomości właściwego trybu, ścieżki i indeksu. [BIP 85 — Deterministic Entropy From BIP32 Keychains]

BIP39 opisuje możliwość wiarygodnego zaprzeczenia istnieniu innego portfela dzięki poprawności różnych passphrase. Jest to własność derywacji, nie dowód braku innych środków. Historia zakupów, znane adresy, zapisane klucze publiczne lub wcześniejszy dostęp do aplikacji mogą zmienić oczekiwania drugiej strony. W dokumentacji SSSP COLDCARD wyraźnie wskazuje, że osoba znająca główny PIN może uzyskać XPUB i poznać saldo; późniejsze pokazanie innego portfela może więc nie być wiarygodne. Samo powiązanie on-chain nie dowodzi jednak automatycznie tożsamości właściciela. [BIP 39 — Mnemonic code for generating deterministic keys] [COLDCARD — Single Signer Spending Policy]

Zależnie od konfiguracji Trick PIN może jedynie zmienić otwarty portfel, wymazać seed albo trwale unieruchomić urządzenie. Nie wolno mylić tych skutków. Usunięcie lokalnej kopii kluczy nie usuwa wyjść z blockchainu ani innych kopii zapasowych; kompletne dane odzyskiwania nadal mogą pozwolić wydać środki gdzie indziej. Bez nich dostęp może utracić sam właściciel. Destrukcyjna reakcja nie daje też przewidywalnej kontroli nad zachowaniem napastnika. Opis funkcji nie jest więc zaleceniem uruchomienia jej w niebezpiecznej sytuacji. [COLDCARD — PINs and Trick PINs] [EFF — Your Security Plan]

Plan odzyskiwania powinien zapisywać relację między portfelem głównym i oddzielnym, potrzebną kopię, ewentualną passphrase oraz parametry implementacji. PIN urządzenia nie zastępuje tych danych, a zwykła kopia słów sama nie odtworzy zapomnianej passphrase BIP39. Weryfikacja projektu powinna używać oddzielnych danych testowych, znanych adresów odbiorczych i kontroli właściwego trybu przed restartem oraz po nim; opcji destrukcyjnych nie należy próbować na jedynej kopii prawdziwego portfela. Samo otwarcie jakiegoś portfela jest słabszym dowodem niż zgodność oczekiwanych adresów. [Trezor — What is a passphrase?] [BIP 85 — Deterministic Entropy From BIP32 Keychains]

Ocena powinna odróżniać kradzież wyłączonego urządzenia, przejęcie kopii zapasowej i bezpośredni przymus wobec człowieka. W każdym scenariuszu przeciwnik ma inne możliwości i informacje. Duress Wallet może zmienić zakres ujawnianego dostępu, lecz nie gwarantuje ukrycia pozostałych środków ani bezpieczeństwa osobistego. Plan musi uwzględniać osoby zależne, dostępność odzyskiwania i skutki pomyłek oraz być regularnie aktualizowany. Test potwierdza zachowanie urządzenia, nie przewidywalną reakcję człowieka pod przymusem; nie wyznacza uniwersalnie bezpiecznej kwoty przynęty. [EFF — Your Security Plan] [COLDCARD — Single Signer Spending Policy]

Pełniejszy obraz uzyskasz, czytając to hasło razem z BIP85, BIP39 passphrase, Hardware Wallet, Samodzielna opieka, Secure Element, Seed Phrase.

DOC · 001COLDCARD — PINs and Trick PINsDokumentacja ↗DOC · 002BIP 39 — Mnemonic code for generating deterministic keysSpecyfikacja ↗DOC · 003Trezor — What is a passphrase?Dokumentacja ↗DOC · 004BIP 85 — Deterministic Entropy From BIP32 KeychainsSpecyfikacja ↗DOC · 005COLDCARD — Single Signer Spending PolicyDokumentacja ↗DOC · 006EFF — Your Security PlanŹródło pierwotne ↗
Najpierw źródła · To nie jest porada inwestycyjna