Recenzja Trezor Safe 7: sprzętowy portfel open source do samodzielnego przechowywania

Bitcoin Magazine
Recenzja Trezor Safe 7: sprzętowy portfel FOSS do samodzielnego przechowywania
Niektóre portfele sprzętowe mają być urządzeniami odizolowanymi od sieci, które użytkownicy końcowi mogą samodzielnie złożyć, albo produktami dostosowanymi do potrzeb specjalistów z branży, zgodnie z ideą wolnego i otwartego oprogramowania. Inne zamykają kod źródłowy i aspirują do miana Apple’a lub Macintosha wśród portfeli sprzętowych, stawiając na pierwszym miejscu projektowanie zabezpieczeń chroniących użytkowników przed błędami. Trezor wydaje się znajdować złoty środek w modelu Safe 7.
Urządzenie sprawia wrażenie takiego, jakiego można oczekiwać od nowoczesnego iPhone’a: ma metalową obudowę, szeroki ekran sięgający krawędzi urządzenia i wyraźnie zaprojektowane z myślą o satysfakcji użytkownika haptyczne sprzężenie zwrotne. Safe 7 daje poczucie — i doświadczenie — że Bitcoin jest czymś realnym, czymś fizycznym, w sposób, którego nie zapewnia większość innych portfeli.
Trezor całkiem dobrze radzi sobie też z podziałem na użytkowników Bitcoina i kryptowalut. Umożliwiają to dwa różne zestawy oprogramowania układowego i wzornictwa: standardowa wersja obsługująca wiele kryptowalut, dostępna w kolorze czarnym i zielonym, oraz pomarańczowa wersja obsługująca wyłącznie Bitcoin. Użytkownicy mogą w dowolnej chwili przełączać się między nimi, niezależnie od tego, którą wersję zamówią. Bitcoinerzy, którzy już wiedzą, czego chcą, mogą jednak wybrać pomarańczową wersję i nie będą musieli instalować oprogramowania układowego spoza standardowej ścieżki aktualizacji. Użytkownicy obu typów mogą przejść na drugi rodzaj oprogramowania układowego, jeśli zechcą — niezależnie od koloru urządzenia.
Wybór ten ma jednak pewne konsekwencje; wiele aktualizacji oprogramowania układowego dotyczy monet innych niż Bitcoin. W rezultacie oprogramowanie układowe obsługujące wyłącznie Bitcoin jest lżejsze; artykuły pomocy Trezora ujmują to wprost: „Dodatkowe zalety korzystania z oprogramowania układowego obsługującego wyłącznie Bitcoin to rzadsze aktualizacje (w porównaniu z oprogramowaniem uniwersalnym) oraz mniejsze ryzyko błędów lub problemów z bezpieczeństwem.”
Magiczne słowa
Pierwszą rzeczą, którą zauważysz, jeśli masz już pewne doświadczenie z Bitcoinem, ale nigdy nie używałeś Trezora, jest długość listy słów. Safe 7 oferuje 20 słów do utworzenia kopii zapasowej portfela zamiast 12 lub 24, jak większość innych urządzeń. To świadomy wybór dotyczący bezpieczeństwa, nad którym Trezor pracuje od wielu lat.
Standard 20 słów o nazwie SLIP-39 został po raz pierwszy wprowadzony przez Trezora w 2019 roku wraz z zapowiedzią funkcji kopii zapasowej Shamir. Shamir pozwala użytkownikom podzielić słowa ziarna kopii zapasowej portfela na fragmenty, z których określona liczba wystarczy do odtworzenia portfela Bitcoin, ale żaden pojedynczy fragment nie wystarczy do tego samodzielnie.
Weźmy na przykład konfigurację Shamira 2 z 3: użytkownicy zapisują trzy listy po 20 słów i przechowują je w osobnych miejscach: w banku, w domu i w biurze. Jeśli złodziej znajdzie jedną z nich albo zostanie ona zniszczona w wyniku pożaru lub powodzi, nie oznacza to katastrofalnej straty. Pojedynczy udział nie daje nikomu dostępu do portfela, a dwa pozostałe pozwalają właścicielowi odzyskać nad nim kontrolę i przenieść monety do nowej konfiguracji portfela. Tę właściwość często nazywa się „redundancją”; zapewniają ją również portfele z wieloma podpisami, choć wiąże się to z innymi kompromisami, takimi jak koszty transakcji on-chain. Kopie zapasowe Shamira opierają się na dobrze znanym, starym schemacie kryptograficznym o nazwie Shamir Secret Sharing, którego własną implementację opracował Trezor.
Dodatkowe słowa w porównaniu z popularniejszym standardem 12-słownym nie zapewniają użytkownikom większej entropii; Trezor jasno informuje, że mogą oni oczekiwać takiej samej entropii — 128 bitów — jak w przypadku 12-słownych fraz odzyskiwania. Jednak, według Trezora, lista słów używana w SLIP-39 została starannie opracowana tak, aby wykluczyć słowa mylące lub podobne.
SLIP-39 oferuje również coś, czego nie zapewnia BIP-39: możliwość rozszerzenia o Shamir. Użytkownicy, którzy początkowo utworzą na urządzeniu Trezor kopię zapasową pojedynczego ziarna składającą się z 20 słów, mogą później utworzyć nadmiarowy zestaw udziałów Shamira, na przykład trzy z pięciu. Udziały te odtwarzają ten sam portfel, co oznacza, że użytkownicy nie muszą wykonywać transakcji on-chain, aby przenieść środki. Powinni jednak rozważyć zniszczenie oryginalnej kopii zapasowej pojedynczego ziarna składającej się z 20 słów, ponieważ sama również pozwala odtworzyć portfele, których dotyczy.
Trezor udostępnia pełną sekcję FAQ, z którą zainteresowani użytkownicy mogą się zapoznać. SLIP-39 obsługują również inne portfele, takie jak Sparrow i Electrum, choć jest znacznie mniej rozpowszechniony niż jego poprzednik.
Najwyższa jakość obsługi użytkownika
Safe 7 świadczy o dużym zaangażowaniu w projektowanie i doświadczenie użytkownika, oferując szereg subtelnych, ale zapadających w pamięć funkcji. Najbardziej charakterystyczna z nich — przynajmniej w moim odczuciu po przetestowaniu urządzenia — to sposób, w jaki reaguje ono na ważną decyzję wymagającą zatwierdzenia, na przykład podpisanie transakcji lub zmianę kodu PIN zabezpieczeń. Użytkownik proszony jest o naciśnięcie i przytrzymanie cyfrowego przycisku u dołu ekranu. Urządzenie zaczyna delikatnie wibrować dzięki wbudowanemu żyroskopowi, a dwa zielone światła przesuwają się od przycisku wzdłuż krawędzi ekranu. Gdy spotykają się na jego górze, żyroskop przyspiesza, wydając coraz głośniejszy mechaniczny dźwięk i wywołując coraz silniejsze wrażenie w dłoni. Całość kończy się rozświetleniem ramki ekranu, a mała zielona dioda u góry zapala się, potwierdzając wykonanie czynności. Cała sekwencja trwa sekundę lub dwie, ale sprawia, że przenoszenie bitcoinów — doświadczenie skądinąd dość cyfrowe i abstrakcyjne — wydaje się całkiem realne.
W porównaniu z innymi Trezorami, które testowałem, takimi jak Model T i klasyczny Trezor One, widać, że wiele uwagi poświęcono temu, by korzystanie z kryptowalut było wygodne. Na przykład przyciski na ekranie są znacznie większe niż w Modelu T, co ogranicza częste pomyłki przy wpisywaniu, które mogą mieć poważne konsekwencje, na przykład podczas wprowadzania kodu PIN zabezpieczającego. W większości portfeli sprzętowych błędne wpisanie takiego kodu PIN może prowadzić do coraz poważniejszych konsekwencji, aż po wymazanie pamięci urządzenia. Większe, cyfrowe przyciski dopasowane do palców pozwalają uniknąć niepotrzebnego stresu. Metalowa obudowa bez wątpienia nadaje Safe 7 bardziej dojrzały charakter i odróżnia go od plastikowych obudów starszych modeli.
Jedną z ciekawszych funkcji interfejsu jest „Wipe PIN” — specjalny kod PIN, którego wpisanie podczas logowania do urządzenia usuwa dane użytkownika. Funkcja ta nie została dobrze wyjaśniona w publicznej dokumentacji Trezora: opisano jej działanie, ale nie cel. Jakie ryzyko lub zagrożenie ma ograniczać? W jakim przypadku może się przydać? Bardziej paranoiczni bitcoinerzy od dawna proszą o tego rodzaju funkcje, które mają chronić przed mało prawdopodobnymi, ale bardzo dotkliwymi scenariuszami, takimi jak osławiony „atak kluczem francuskim”, w którym złodziej zmusza użytkownika do otwarcia portfela, by ukraść środki.
Problem z funkcją Wipe PIN w Trezorze polega na tym, że dość wyraźnie pokazuje, że właśnie usunięto zawartość portfela — a napastnik stosujący przemoc fizyczną raczej nie będzie zadowolony z takiego obrotu spraw. Co najmniej jeden inny portfel sprzętowy ma bardziej zaawansowaną wersję tej funkcji: usuwa ona portfel głównego użytkownika, ale otwiera drugi, „zmyłkowy” portfel, nie zdradzając przy tym tego podstępu w interfejsie. Ci z nas, którzy są na tyle paranoiczni, by o tym myśleć, ucieszyliby się z bardziej zaawansowanego PIN-u kasującego.
Safe 7 ma również łączność Bluetooth oraz wbudowany akumulator, który można ładować za pomocą ładowarek bezprzewodowych Qi2. Urządzenia można używać przez USB-C, wyłączając Bluetooth w ustawieniach. Ten alternatywny tryb pracy uwalnia użytkownika od kabli — to kolejny subtelny, ale przemyślany wybór projektowy, który zmniejsza dodatkowy stres podczas podpisywania transakcji. Nieodwracalny charakter transakcji Bitcoin sprawia, że każda decyzja o podpisaniu wiąże się z wystarczająco wysoką stawką. Bardziej paranoiczni użytkownicy doceniliby fizyczny wyłącznik anteny Bluetooth.
Zasada izolacji od sieci
Żaden model Trezora przed Safe 7 nie miał wbudowanego akumulatora ani łączności Bluetooth. Dodanie takiej technologii do urządzenia to poważna decyzja, która przynosi istotne korzyści, odpowiadając na oczekiwania szerszego grona konsumentów wobec nowoczesnego sprzętu, ale wiąże się też z pewnymi potencjalnymi zagrożeniami.
Wiadomo, że z czasem wewnętrzne baterie w wielu tego typu urządzeniach, od portfeli sprzętowych po telefony komórkowe, mogą ulec awarii, spuchnąć i wysunąć się z obudowy. Może to stanowić zagrożenie oraz doprowadzić do uszkodzenia pamięci urządzenia lub uniemożliwić dostęp do niego. Trezor odnosi się do tej kwestii i wyjaśnia, że wybrano baterię typu LiFePO₄, której „skład chemiczny jest stabilniejszy i bezpieczniejszy niż w przypadku popularnych baterii litowo-jonowych”. W dokumentacji firma twierdzi, że „spuchnięcie jest skrajnie mało prawdopodobne”.
Tymczasem integracja Bluetooth oznacza dodanie w dużej mierze zamkniętego, zarówno sprzętowego, jak i programowego, zestawu technologii, który umożliwia komunikację z urządzeniem na odległość, podważając zasady izolacji od sieci stosowane przy przechowywaniu bitcoinów w trybie offline. Aby rozwiązać ten problem, producenci portfeli sprzętowych, tacy jak Trezor, starają się odizolować antenę Bluetooth i wykorzystywać ją wyłącznie do przesyłania wiadomości szyfrowanych od końca do końca. W tym celu Trezor opracował Trezor Host Protocol — technologię szyfrującą dane przesyłane do komputera użytkownika, która jest również wykorzystywana przy połączeniu kablem USB-C. Trezor nie przesyła niezaszyfrowanych danych przez kable USB ani stos Bluetooth, którym nie ufa.
Niemniej to połączenie bezprzewodowe można uznać za czynnik wykluczający Safe 7 z kategorii portfeli Bitcoin działających w izolacji od sieci lub służących do przechowywania środków w trybie offline. Zbliża go ono do kategorii portfeli typu warm o wysokim poziomie bezpieczeństwa. Portfel hot byłby natomiast zwykłym komputerem lub serwerem połączonym z internetem, przechowującym materiał dotyczący kluczy prywatnych.
Przegląd sprzętu i entropia
Jeśli jednak włamanie do Coldcard czegoś nas nauczyło, to tego, że przechowywanie offline nie ma sensu bez dobrej entropii. Entropia to losowe i nieprzewidywalne dane wejściowe, z których w kryptografii tworzy się sekret — na przykład wyniki 100 rzutów kostką, które zapisujemy. Wyniki rzutów stanowią entropię, która jest przetwarzana przez algorytmy kryptograficzne w celu wygenerowania par kluczy prywatnych i publicznych, czyli słów seed.
Trezor opublikował obszerny i szczegółowy artykuł o tym, jak generuje i wykorzystuje entropię do tworzenia par kluczy do portfela. W modelu Safe 7 wykorzystuje cztery źródła entropii:
- Entropię komputera lub telefonu hosta.
- Sprzętowy TRNG w mikrokontrolerze STM32 — jednym z układów komputerowych Trezora.
- Bezpieczny element Optiga — drugi układ komputerowy w urządzeniu Trezor.
- TROPIC01 — najnowszy układ bezpiecznego elementu, który można „niezależnie audytować”.
Te cztery niezależne źródła mają łączyć się podczas generowania portfela. Oprogramowanie układowe realizujące tę logikę jest otwartoźródłowe i udostępnione na licencji GPL 3.
Trezor obecnie nie umożliwia użytkownikowi wprowadzania własnej entropii podczas tworzenia portfela. Nie ma rzucania kostką, choć użytkownik może dodać „hasło” lub „25. słowo” do już utworzonych kont i par kluczy, co pełni podobną funkcję.
Dyrektor ds. technologii Trezora, Tomas Susanka, wyjaśnił w rozmowie z Efrat Fenigson, że entropia generowana przez użytkownika ma znaczenie tylko wtedy, gdy kod rzeczywiście z niej korzysta. Zwrócił uwagę, że błąd w Coldcard nie polegał na awarii sprzętowego generatora entropii, lecz na tym, że z powodu błędu oprogramowanie układowe nie wykorzystywało tej wysokiej jakości entropii w swojej implementacji.
Danny Sanders, dyrektor ds. komunikacji Trezora, podzielił tę opinię, choć powiedział magazynowi Bitcoin Magazine, że temat entropii dodawanej przez użytkownika był „wielokrotnie omawiany”, dodając, że „to nie jest kategoryczne nie”. Chodzi raczej o to, że szerszej grupy użytkowników Trezora, która według Sandersa jest „wielokrotnie liczniejsza” od grupy użytkowników Coldcard, „nie można prosić o rzucanie kostką”. Dodał, że „samo zapisywanie słów już ich przeciąża psychicznie”, odnosząc się do kopii zapasowej 20-wyrazowej frazy seed. Korzyści z entropii dodawanej przez użytkownika są niewielkie, gdy inne źródła entropii generowanej przez urządzenie są prawidłowo wykorzystywane.
Źródło: BitcoinMagazine