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.

Mastodon ma 10 mln użytkowników – so what?

Niedawno świat obiegła wiadomość, że Mastodon ma 10 mln użytkowników. Jest to świetna okazja do wpisu, tym bardziej, że pojawił się wątek na ten temat, w którym zabrałem głos.

Na wstępie garść niefajnych faktów. Trzeba jasno powiedzieć, że nie chodzi o 10 mln ludzi korzystających z tej platformy, a 10 mln kont. To niezupełnie to samo, szczególnie, że i ludzie migrowali między serwerami, zakładając na każdym z nich konto, i niektórzy mają więcej niż jedno konto. Np. „zawodowe” na jednym serwerze, a prywatne na innym. Kolejna sprawa, to chodzi wyłącznie o konta zarejestrowane, nie aktywnie używane. Tych ostatnich jest wielokrotnie mniej.

Niemniej jest jakiś wzrost, jest okrągła liczba, zatem i okazja do dyskusji „dlaczego Mastodon nie zyskuje szerszej popularności?” i „czemu nie można zatrzymać użytkowników”. Pojawiły się stwierdzenia, że tutoriale za słabe itp. I to jest moim zdaniem punkt zero – jeśli potrzebna jest instrukcja obsługi, tutoriale itp., to coś jest nie tak z projektem systemu. Jasne, w każdym serwisie mogą być jakieś trudniejsze w użyciu czy schowane funkcje, ale nie powinny one dotyczyć podstawowej obsługi. Ta powinna być prosta i intuicyjna.

Tymczasem Mastodon jest moim zdaniem… może nie trudny, ale nieoczywisty. A na pewno trudniejszy, niż system scentralizowany, bo decentralizacja nie jest przed użytkownikiem ukryta. Przykład: jestem zalogowany do swojej instancji. W innym oknie znajduję osobę z innej instancji, którą chcę obserwować (follow). Powiedzmy, że wszedłem tam ze strony domowej tej osoby. Klikam follow i… Zonk. Dostaję komunikat, żebym się zalogował. Albo przeszedł na swoją instancję i tam zaobserwował.

Pamiętacie jak śmialiście się z Windows, że trzeba wcisnąć start, żeby zamknąć system? Mastodon ma podobnie! Jest bowiem pole wyszukiwania, które nie tylko do wyszukiwania służy. Trzeba go użyć do zaobserwowania konta z innej instancji. Wklejając URL. Co prawda jest napisane, że to search or paste URL, ale czy to jest intuicyjne?

Czy mogłoby być lepiej? Pewnie tak, bo skoro jest federacja, to może dałoby się jakoś wymienić informację o tym, gdzie użytkownik jest zalogowany. No ale to nie jest trywialne – bo – w uproszczeniu – przeglądarki dbają o separację danych między domenami. No i nie chodzi o dwie czy trzy domeny, tylko o dużą, dynamicznie zmieniającą się ich liczbę. Ale gdyby się udało, to można by po wejściu na dowolny link i kliknięciu follow dostać tylko wybór, którym kontem chce się wykonać operację. Jeśli ktoś szuka więcej przykładów na nieintuicyjne rozwiązania, to są w moim pierwszym wpisie o Mastodonie.

Dlatego uważam, że o ile bardziej techniczni czy bardzie dociekliwi sobie poradzą, to w obecnym kształcie na szerszą, masową popularność nie ma co w najbliższym czasie liczyć. Po prostu typowy użytkownik nie ma potrzeby używania rozwiązania rozproszonego. Fajnie, że jest alternatywa dla mainstreamu ale po co z niej korzystać, skoro nie trzeba? Natomiast w niektórych kręgach Mastodon przyjął się całkiem dobrze już teraz. I tak już zapewne zostanie.

Cała sytuacja Trochę mi to przypomina sytuację z Linuksem i Windowsem sprzed lat. Linux – wiele zalet i „wystarczy trochę poczytać”, bo „mamy dobrą dokumentację”. W Windows użytkownicy nie musieli czytać, wystarczyło klikać. W efekcie nadal czekamy na rok Linuksa na desktopie.

Labirynt na pepper.pl

Do napisania paru słów o książce Labirynt przymierzałem się już po wydaniu tomu pierwszego. Jednak zrezygnowałem, bo nieco napisałem w komentarzach na blogu autora, pojawiła się też recenzja. Ograniczyłem się więc jedynie do dodania książki do Biblionetki (first time!) i oceny tamże. Pora nadrobić zaległości.

Labirynt tom I - okładka
Labirynt okładka tomu pierwszego. Źródło: http://media.wind-forge.co.uk/labirynt_1/

Labirynt tom I

Krótko: spodziewałem się czegoś innego, dostałem coś znacznie ciekawszego. Bowiem Labirynt to zupełnie samodzielna powieść science fiction, a nie jakieś nawiązania typu prequel czy sequel. W dodatku powieść wydawana i dystrybuowana zupełnie samodzielnie, w formie elektronicznej.

Wady? Drobne są. Z pierwszym tomem kojarzą mi się nietypowe, krótkie akapity a’la blog. Jednak zupełnie nie przeszkadzają w czytaniu. Ba, nawet może dzięki temu szybciej się czyta? Książkę połknąłem bowiem w trzy wieczory.

Korekta, skład – standardowe ebookowe[1]. Przy czym raczej to wina normalnych ebooków. Serio, w druku literówki, dziwny podział itp. były rzadkością, a w ebookach widzę je często w porównaniu z papierem. Może pokutuje podejście „to można poprawić, to sobie ludzie wgrają jeszcze raz”? Ale zero powodów do wstydu, jeśli chodzi o skład. Tak czy inaczej, za tom pierwszy zapłaciłem 25 zł i były to bardzo dobrze wydane pieniądze. Z niecierpliwością czekałem na tom drugi.

Recenzję tomu I znajdziecie tutaj.

Wydanie tomu II

Autor zapowiadał wydanie tomu drugiego na przełomie roku, a ja się zastanawiałem, jak ostatecznie poszła sprzedaż tomu pierwszego i ile będzie trzeba wydać tym razem. Wiadomo, inflacja. Tymczasem autor zrobił niespodziankę, machnął ręką na płatną dystrybucję i… zarówno tom pierwszy, jak i drugi są do pobrania za darmo. No strings attached. Można przelać kasę[2] autorowi, ale nie trzeba.

Powody decyzji? Można się tylko domyślać. Pewnych rzeczy nie opłaca się robić za kasę, po prostu. Choćby dlatego, że gdy się policzy włożony czas, to stawka za godzinę wychodzi śmieszna, żyje się z czegoś innego, a płatna dystrybucja to jednak dodatkowy narzut i stres. Jest to ciekawe zagadnienie i może kiedyś skrobnę na ten temat na podstawie własnych doświadczeń.

Labirynt tom II

Krótko moje wrażenia na temat tomu drugiego. Może było spowodowane to oczekiwaniami i odczuciami po pierwszym, może brak mojego „rozkręcenia się” w czytaniu, a może kwestia przerwania akcji w tym akurat momencie, ale pierwsze strony jakoś mnie nie wciągnęły. Na szczęście szybko, dosłownie po paru stronach, się to zmieniło i z czystym sumieniem mogę powiedzieć, że tom drugi również czyta się gładko. Czytałem późnymi wieczorami, zmęczenie czasem brało górę, więc tym razem zeszło mi nieco więcej czasu, ale całość przeczytałem w mniej niż tydzień.

Fabuły zdradzać nie będę, ale jeśli w pierwszym tomie było ciekawie i odważnie, to w drugim jest bardziej. Po namyśle, być może także większy poziom skomplikowania i opisy fizyki świata spowolniły czytanie? Redakcyjnie jest jakby lepiej. Tj. nie zauważyłem niczego, co by mi przeszkadzało.

Recenzję tomu II można znaleźć tutaj. Trochę nie rozumiałem zachwytów w tej recenzji w trakcie, ale po skończeniu lektury pozostaje mi się zgodzić.

Pepper time!

Skoro autor z okazji wydania tomu drugiego rozdaje pierwszy za darmo, to zdecydowanie jest to okazja godna pepper.pl. Jest to taki serwis z powiedzmy okazjami i przecenami, który niezbyt pilnie śledzę. A jeszcze rzadziej kupuję coś z poleceń stamtąd. Ale uważam, za zdecydowanie wygodniejszy, niż śledzenie kilku gazetek, plus i ebooki bywają, i jakaś elektronika. No i od razu są komentarze do produktów i okazji, czy też „okazji”, bo różnie z tym w praktyce bywa. Aha, nie miałem tam konta, bo i po co? W każdym razie założyłem śmieciowe konto i dodałem okazje, do obu tomów.

Komentarze na pepper.pl? Jak dla mnie skrzyżowanie elektroda.pl z wykop.pl. Poziom frustracji i czepialstwa znaczny. Uprzedzeń też. Toteż tylko umiarkowanie zdziwiłem się, gdy komuś przeszkadzało, że dodałem każdy z tomów osobno „bo mogły być razem”. Ale jak napisałem w komentarzu, czuję, że wtedy byłby problem, że link tylko do jednego tomu[1]. A gdybym podał link do wydawnictwa, to byłby problem, że nie do tomów. Tak czy inaczej – zawsze źle.

Potem jeszcze zostałem bodajże dwukrotnie okrzyknięty autorem książki, bo kto inny jak nie autor mógłby promować, w dodatku korzystając z nowego, świeżego konta? I zgłoszony za autopromocję do moderacji. Oczywiście zero przejęcia z mojej strony, tym bardziej, że widziałem, że wpisy zostały już docenione. Ale niektórzy mają podobne obserwacji i mniej szczęścia. Ot, taki urok nawiedzanych trollami portali.

Przyznaję, że normalnie nie rzuca się to aż tak w oczy, natomiast skutecznie może zniechęcać do bezinteresownego dodawania okazji. A może właśnie o to chodzi?

Na zakończenie linki do pobrania książki. Labirynt tom I oraz tom II.

[1] Przynajmniej w wersji, którą czytałem. Autor bowiem wprowadza czasem drobne korekty.
[2] Nadal 25 zł, ustawione na sztywno. Bez możliwości wyboru kwoty, niestety. Choć to taka teoretyczna wada.
[3] Pepper.pl pozwala na tylko jeden link podczas dodawania wpisu. Można kombinować w komentarzach oczywiście, ale UI i proces dodawania zachęcają do jednego.