Niesmart

Przeczytałem wpis o odejściu od smartwatcha i przypomniało mi się, że mam podobnie. Tyle tylko, że nigdy nie miałem smartwatcha. Czego zatem używam do pomiaru czasu? Korzystam albo z zegarka – mam tani kwarcowy ze wskazówkami Casio MQ-24. Plastikowo-gumowy. Mam go od 8 lat, wymieniony pasek i samodzielnie bateria dwa[1] razy. Pasek wymieniony na zastępczy, a bateria samodzielnie, bo oryginalny pasek czy wizyta u zegarmistrza to pewnie połowa ceny nowego zegarka. Albo po prostu coraz częściej do sprawdzania godziny korzystam ze smartfona. W sumie częściej korzystam z tej opcji, bo i datę podaje, i pogodę.

Ale wracając do tematu, o smartwatchu myślałem wielokrotnie. Albo nawet nie o smartwatchu, a smartbandzie. Bardziej pod kątem aktywności fizycznych typu jazda na rowerze czy bieganie. Obecnie po prostu rejestruję je na telefonie. Co oznacza jazdę z telefonem w kieszeni albo plecaku w przypadku roweru. I bieganie z telefonem w garści. Czemu w garści? Dość często zerkam na ekran, by sprawdzić dystans i tempo.

Czemu się nie zdecydowałem na zakup smartwatcha czy smartbanda? Jakieś kulawe te urządzenia są. Po pierwsze, wymagają częstego ładowania. Może nie tak częstego jak telefon, ale w porównaniu z zegarkiem, który działa latami na jednej baterii jest to coś, o czym musiałbym pamiętać. Pewnie do przeżycia, ale trochę zniechęca. Nawiasem, żeby nie zmiana czasu, to zegarka bym nie regulował przez te dwa lata. Zegarki kwarcowe są dokładne.

Po drugie, smartwatche są drogie[2], a smartbandom brakuje funkcjonalności. No bo chciałbym sobie pójść biegać czy to z samym smartwatchem, czy mając smartfona głęboko schowanego i chciałbym, żeby rejestrował trasę (GPS), podawał na bieżąco dane. Oczywiście tętno, saturacja, tego typu rzeczy też powinny być rejestrowane i wyświetlane na bieżąco. Idealnie jakbym brał tylko zegarek, który ma GPS i wszystko poda na bieżąco, a w domu połączy się z siecią i ew. zgra dane.

Po trzecie, ekosystem jest słaby. Popularne – i całkiem niezłe IMHO – Xiaomi Mi bandy nie mają integracji ze Stravą. Istnieją sposoby na jednokierunkową integrację, ale mi się marzy, żeby działo się to na poziomie systemu operacyjnego, a opaska powinna być tylko działającym na bieżąco wyświetlaczem. Czyli chciałbym mieć na niej na bieżąco dane o aktualnym dystansie, tempie itp.

Oczywiście, można zrezygnować z zerkania na ekran i zamiast tego próbować używać powiadomień głosowych. Niestety bardzo słabo konfigurowalnych w Stravie. Można też zrezygnować ze Stravy i korzystać z innego oprogramowania. Być może wtedy będzie wsparcie dla Mi Bandów. Tyle, że nie chce mi się zmieniać przyzwyczajeń. Chociaż przyznaję, że coraz bliższy jestem złamania się i porzucenia Stravy[3]. Może od przyszłego roku, kto wie?

[1] W sumie już trzy, bo właśnie wymieniłem kolejny raz. Z tego co pamiętam ostatnia wymiana była nie na zalecane SR626SW, tylko LR626, która w dodatku trochę już leżała. Wady i zalety kupowania zestawów różnych baterii. Wytrzymała zauważalnie krócej.
[2] No dobrze, zależy jakie. Zakładając, że trzymałbym się uznanych marek i poszedł na lekki kompromis w postaci braku pulsoksymetru, to najniższe modele to 600 zł, więc bez dramatu. Z drugiej strony to więcej, niż cały mój sprzęt do biegania, od początku przygody.
[3] Testowałem w jednym biegu FitoTrack, łącznie ze Stravą. Czyli dwa pomiary naraz. Wrażenia nawet pozytywne, większa konfigurowalność powiadomień głosowych.

Google Authenticator ma backup

Piekło zamarzło. Przedwczoraj na blogu ogłoszono, że Google Authenticator dorobił się backupu kodów na koncie Google. Wersja oferująca tę funkcjonalność jest już do pobrania z Google Play. To duża i ważna zmiana i okazja do notki. Przy okazji zmieniła się niestety ikona programu.

Jak działa TOTP?

Zasada działania TOTP (Time-based One-Time Passwords) jest bardzo prosta, a implementacja w większości języków to kilka-kilkanaście linii kodu. W skrócie: najpierw, przy włączaniu tej metody uwierzytelniania, serwer generuje i zapisuje sekret. Dzieli się nim z użytkownikiem, zwykle przy pomocy QRcode.

Od tej pory kody są generowane na podstawie bieżącego czasu (unix timestamp), zaokrąglonego do 30 lub 60 sekund, oraz ww. sekretu. Najpierw są hashowane, następnie hash jest przekształcany na sześciocyfrowy kod. I już.

Jak widać, do generowania kodów dla danego użytkownika wystarczy poznać sekret. Natomiast z uwagi na użycie funkcji skrótu, odtworzenie sekretu z kodu jest bardzo trudne. Sprytne.

Znaczenie

Czemu to takie ważne? Brak jasnego, prostego sposobu backupów był dla mnie ogromnym argumentem przeciw korzystaniu z TOTP. Stosunkowo łatwo było stracić dostęp do kodów, czyli odciąć się od serwisu. A dostępność jest przecież składową bezpieczeństwa. Dlatego wolałem jako 2FA wykorzystywać kody SMS. Mocno niedoskonałe: drogie, niewygodne, zawodne, podatne na ataki. Oczywiście koszt jest po stronie serwisu, który musi wysyłać kody. Wygoda to rzecz dyskusyjna, niektórzy dostawcy nawet nie mieli dużego opóźnienia w dostarczaniu SMSów. Awarie operatorów nie zdarzały się często, a SIM swap nie jest tanim czy łatwym atakiem.

Oczywiście istniały alternatywne aplikacje, które oferowały backup sekretów. Tylko jakoś bardziej ufam dostawcy systemu operacyjnego na moje urządzenie, niż losowej appce. Podejrzewam, że ludzi takich jak ja było więcej.

Jak było wcześniej?

Wcześniej było… słabo. Z backupem Google Authenticator można było sobie radzić na kilka sposobów. Pierwszym było zdjęcie/screenshot QRcode przy włączaniu TOTP. Średnio wygodne w przechowywaniu (bitmapa/wydruk), zajmujące dużo miejsca, żeby wyszukiwać trzeba dobrze opisać.

Kolejny sposób to zapisanie kodów ratunkowych. Większość serwisów w momencie generowania sekretu TOTP podaje kody ratunkowe do wydrukowania/zapisania. Niezłe, o ile ktoś korzysta z managera haseł.

Ostatni sposób to… drugie urządzenie z Google Authenticator i utrzymywanie kodów na obu urządzeniach. Dość drogie z uwagi na koszt kolejnego urządzenia, niezbyt wygodne z uwagi na konieczność ręcznej synchronizacji.

Jak widać, powyższe sposoby są niezbyt wygodne, albo działają dla osób, które mają dobrze poukładane backupy. Dla osób, które po prostu chcą mieć zabezpieczone konta przez 2FA, a niekoniecznie chcą projektować system backupów, uwzględniając jego dostępność – bardzo średnie. Bo właśnie, fajnie, że masz wydrukowane QRcode’y czy kody ratunkowe przechowywane w sejfie. Ale co jesteś właśnie na wakacjach i tracisz telefon, wraz z dostępem do wszystkich serwisów?

Wady

Obecne rozwiązanie nie jest idealne. Nadal będziemy uzależnieni od Google w kwestii backupu kodów i ich odzyskania. Dla większości ludzi będzie to zapewne akceptowalne ryzyko, tym bardziej, że ma znaczenie wyłącznie przy odzyskiwaniu, czyli bardzo rzadko.

Kolejną wadą jest trzymanie wszystkich jajek w jednym miejscu. Konto Google staje się SPOF. Szczególnie, jeśli ktoś korzysta także z zapamiętywania haseł przy pomocy Google.

Jeszcze osobną sprawą jest kwestia zaufania do samego Google. Nie napisałem tego pierwotnie i wprost, ale uznałem, że jeśli mamy OS od Google, zintegrowany z ich sklepem i konto w ich serwisie, to z jakiegoś powodu ufamy Google. Zależy oczywiście od modelu zagrożeń.

Zaufanie do Google jest tym istotniejsze, że backup kodów trafia do Google w postaci niezaszyfrowanej. Czy Google udostępni np. służbom kody 2FA? Nie wiem, ale się domyślam. Po raz kolejny, kwestia modelu zagrożeń. Szczęśliwie Google zapowiedziało dodanie szyfrowania.

Podsumowanie

Uważam tę zmianę za bardzo dobrą, z punktu widzenia przeciętnego użytkownika i mam nadzieję, że przyczyni się do popularyzacji 2FA. W ogóle ostatnio mamy dobry klimat dla 2FA opartych o TOTP. Najpierw wyłączenie 2FA przy pomocy SMSów w Twitterze, teraz backupy w Google Authenticator.

Paradoksalnie jednak, po tej zmianie może się okazać, że… lepiej zmienić dostawcę appki do 2FA, niż włączać backup do chmury Google w Google Authenticator. W sugerowanych pojawiły się FreeOTP, FreeOTP+, 2FAS.

UPDATE: Dodane info o zaufaniu do Google. Dodane info o braku szyfrowania i zapowiedź dodania. Zaktualizowane podsumowanie.

Spotify

W końcu się skusiłem na Spotify. Co prawda do tej pory największy portal z pirackim contentem, czyli YouTube, dawał radę, ale inni członkowie rodziny byli innego zdania. W sumie rozumiem. YouTube na telefonie to nieporozumienie. Wymaga włączonego ekranu i focusa na odtwarzającej aplikacji. To do słuchania muzyki jest zupełnie zbędne, a tylko rozładowuje baterię.

Na razie korzystam z wersji free, ale kupno wersji family[1] jest postanowione. W zasadzie mógłbym mieć wersję premium, bo dają, chyba na trzy miesiące[2], ale odkryłem ciekawostkę. Przy korzystaniu z przeglądarki internetowej, z ublockiem, nawet wersja free nie ma reklam. Co prawda korciło wypróbowanie ficzerów dostępnych w wersji płatnej, ale ponieważ i tak chwilowo nie mam czasu, gram z przeglądarki. I oznaczam ulubione.

Jeśli chodzi do ficzery to jest najważniejsze – możliwość pobierania muzyki do słuchania offline. Przyda się do zrobienia składanek do słuchania w aucie. Co prawda i tak mało jeżdżę ostatnio, ale składanki się przydadzą. Do tej pory nastawiałem się na album splitter opisany przy okazji tego wpisu.

Kolejna sprawa: jest aplikacja na Linuksa. Niejedna, bo widziałem jakieś nieoficjalne, działające w konsoli. Nie testowałem, bo ta oryginalna nawet działa, ale ponieważ miała reklamy, to wróciłem do przeglądarki. Sama aplikacja posiada ciekawą funkcjonalność – pozwala sterować odtwarzaniem na innych podłączonych urządzeniach. Wygląda bardzo interesująco, tym bardziej, że widziałem np. głośniki WiFi, które potrafią same odtwarzać Spotify. Może kiedyś na coś podobnego się skuszę.

Dostępność muzyki bardzo dobra. W sumie chyba nie zdarzyło mi się nie znaleźć czegoś z mainstreamu. Niszowych kapel garażowych nie ma, ale tego się spodziewałem. Raczej zdziwiłbym się, gdyby były. W końcu nie miały oficjalnych wydań albumów. Trochę brakuje mi danych o utworze i płycie z której pochodzi. Zdarzyło mi się trafić na wersje koncertowe, gdy szukałem podstawowych, z albumów.

To, co najbardziej mnie rozczarowało, to funkcja podpowiadania muzyki. Gdzie te ML i AI, się pytam? Nie no, oczywiście, coś tam się znalazło. Ale nadal, spodziewałem się czegoś, co zareaguje na like czy skip na utworze. Tymczasem nic takiego się nie dzieje, podpowiada wg swojego widzimisię. W dodatku zauważyłem, że ma tendencję do zapętlania się na tych samych utworach. Znaczy nic, czego nie było w YouTube. Szkoda, bo przydałby się tryb odkrywania nowej muzyki, czyli polecania utworów albo wykonawców w jakiś sposób podobnych, ale różnych. W wersji idealnej – ze sterowaniem poziomem losowości. Wygląda jednak, że Spotify skupiło się na radiach i różnego rodzaju listach itp. grupach tematycznych.

No nic, spróbuję zrobić na razie własne składanki… dlatego oznaczam ulubione utwory.

[1] Wersja family kosztuje aktualnie 30 zł. Jestem praktycznie pewien, że przed chwilą było to 25 zł.
[2] Też co chwilę się zmienia. Były trzy m-ce, są cztery.

UPDATE Z miejsca obok pojawiły się godne odnotowania sugestie dotyczące YouTube na Androidzie, rozwiązujące problem świecącego ekranu: LibreTube, Newpipe. Obie appki niedostępne w oficjalnym sklepie Google, wymagany F-Droid.