Cloudflare bez CAPTCHA

Wszystko zaczęło się od tego wpisu na blogu. W skrócie: Cloudflare chce zlikwidować CAPTCHA i zastąpić ją kluczami U2F.

Pomysł wydaje się ciekawy, bo wady CAPTCHA są znane. Zupełnie zgadzam się z tym, że i jest ona do obejścia, jeśli komuś zależy, i jest ona niewygodna. O tym ostatnim można przekonać się samodzielnie pisząc komentarz na tym blogu. Niedawno zmieniłem na blogu CAPTCHA na hCaptcha, z którego aktualnie korzysta Cloudflare.

Czy jednak rozwiązanie proponowane przez Cloudflare mające zapewnić internet bez CAPTCHA się przyjmie? Szczerze wątpię. Z punktu widzenia producentów kluczy U2F pomysł jest świetny. Ma też inną zaletę dla bezpieczeństwa w sieci. Może bowiem doprowadzić także do popularyzacji kluczy U2F i spadku ich cen. Kolejność dowolna.

Jednak automatyzacja, nawet mierna, w postaci jednej płytki SoC z ARM i wpiętego jednego klucza wydaje mi się niedocenianym zagrożeniem. Owszem, na blogu jest poruszone rozwiązanie z pijącym ptakiem, ale tego typu zagrożenie wydaje mi się niedoceniane.

Rozwiązanie nie musi być mechaniczne, co zwiększy jego niezawodność. Czy da się wpiąć wiele kluczy i korzystać z nich rotacyjnie? Zapewne będą takie próby. A może powstaną farmy pojedyncza tanich płytek z jednym kluczem? Zobaczymy. W tej chwili podobno serwisy rozwiązujące CAPTCHA zatrudniają ludzi w krajach o bardzo niskich wynagrodzeniach. Trochę nie wierzę, że płytka nie będzie tańsza.

Widzę też pewne zagrożenie dla prywatności, mimo zapewnień. Fizyczny, więc raczej trudny do wymiany identyfikator, nawet jeden z partii minimum 100 tys.? No niezupełnie dobrze to wygląda. Oczywiście nie pozwoli ustalić tożsamości użytkownika, ale czy zapobiegnie identyfikacji, że to ta sama osoba?

Niemniej pomysł uważam za ciekawy i będę śledził jego dalsze losy. Obecne CAPTCHA też są „łamalne”, a skoro nie będzie bez automatów, to może chociaż będzie wygodniej?

Wolne social media

Za sprawą zbanowania Donalda Trumpa na Twitterze głośno zrobiło się w temacie wolności wypowiedzi w social media. Także odnośnie braku regulacji prawnych dotyczących social media i centralizacji usług. Zaczęły powstawać „wolne” alternatywy. Ponieważ zdarzyło mi się już tłumaczyć w paru miejscach moje stanowisko, pora na wpis.

Źródło: wygenerowane za pomocą https://thumbnail.ai/

Problem

W czym w ogóle problem? Przecież nigdy nie było tak, że każdy może skorzystać ze środków masowego przekazu. O treściach zamieszczanych w prasie decydował redaktor, podobnie w przypadku telewizji czy radio. Każdy mógł zadzwonić, ale na antenę nie dostawał się każdy. Dodatkowo obszar był uregulowany przez prawo prasowe. Choćby prawo do zamieszczenia sprostowania. I polemiki ze sprostowaniem. Nawet jeśli była np. w zakładzie pracy gablota na ogłoszenia, to miała ona właściciela. I mógł on nieodpowiadające mu treści po prostu usunąć. Albo zamknąć ją na kluczyk.

Sytuacja się zmieniła. Nie mamy już typowego broadcastingu, gdzie pojedyncza osoba rozgłasza treści, czyli jest nadawcą, a pozostali są odbiorcami. Obecny model zdemokratyzował bycie nadawcą. Każdy może publikować treści, które są dostępne dla wszystkich. Ale nie to jest najważniejszą zmianą. Już wcześniej każdy mógł uruchomić swoje radio, czasopismo czy postawić własną gablotę z ogłoszeniami. Oczywiście o ile miał odpowiednie środki i kompetencje. Pieniądze i znajomość prawa, powiedzmy.

Najważniejsze zmianą jest coś innego. W sumie nie zmianą, a zmianami. Po pierwsze, social media sprawiły, że publikacja treści dla wszystkich nie wymaga istotnych nakładów ze strony nadawcy. Nie są potrzebne ani specjalne środki, ani kompetencje, by zacząć przekaz do wszystkich w kraju i na świecie. O ile będą chętni, by nas słuchać.

Prawa człowieka

Po drugie i najważniejsze, ten sposób komunikacji stał się powszechny i dominujący. Odebranie komuś możliwości publikowania poglądów w ten sposób jest pewnego rodzaju wykluczeniem społecznym. Trochę tak, jakby kiedyś zabronić komuś rozmawiać w szkole czy zakładzie pracy. Dotyczy to zarówno w życia prywatnego, jak i – w niektórych przypadkach – zawodowego. W przypadku niektórych istotna część życia zawodowego toczy się na Linkedin czy GitHub[1] . Wyobrażacie sobie rekrutera pracującego w branży IT z wykluczonym korzystaniem z Linkedin? Ja nie.

Dlatego coraz częściej pojawiają się głosy, że prawo do internetu to podstawowe prawo człowieka. W badaniu w roku 2010 77% ankietowanych spośród 27 tys. osób z 26 krajów Europy określiło, dostęp do internetu jako podstawowe prawo człowieka[2]. Wydaje mi się, że można w tym momencie utożsamić internet z social media.

Centralizacja i struktura serwisów social media

Oba przytoczone wyżej serwisy są centralne. Podobnie jak Twitter czy Facebook. W tym momencie pojawia się pytanie o wolność i regulacje prawne. W kontekście wolności słowa i prawa człowieka. Aby dokładniej zobaczyć w czym problem, trzeba przeanalizować strukturę władzy w serwisach social media. Typowo wygląda ona następująco:

  1. Właściciel serwisu – ten, który ma środki. Pieniądze, prawa do domeny, przetwarzania danych użytkowników itp.
  2. Dostawcy infrastruktury – podmioty zapewniające łączność i hosting. Firmy zewnętrzne, ale w większości przypadków niezbędne dla funkcjonowania.
  3. Administrator serwisu – osoba z wiedzą techniczną, umiejąca utrzymać serwis w działaniu. Zarządzanie infrastrukturą, konfiguracja oprogramowania. Może być po prostu pracownikiem na usługach właściciela.
  4. Moderatorzy serwisu – osoby mogące usuwać treści lub użytkowników. Niekoniecznie w kontekście całego serwisu, mogą zarządzać wydzieloną częścią (np. grupą na FB). Mogą być pracownikami na usługach właściciela lub rekrutować się z użytkowników.
  5. Użytkownicy – osoby korzystające z serwisu. Uczestnicy komunikacji. Nadawcy i odbiorcy treści.

Oczywiście funkcje mogą się łączyć. Istotny jest tu fakt, że każda instancja wyższa ma środki techniczne, by ograniczać w dowolny sposób wszystkie instancje niższe. Także eliminując zupełnie ich dostęp do serwisu.

Nawiasem, zagadnienie jest szersze. Temat nie dotyczy tylko typowych social media i tylko o ograniczanie dostępu. Gdy Google, Agora czy Wirtualna Polska mówi, że zamyka serwis to użytkownicy nie mają nic do powiedzenia. Nie muszą nawet dostać możliwości pobrania pełnych treści w formacie zdatnym do łatwego przetworzenia maszynowo. Podobnie z blokowaniem dostępu do serwisów, w szczególności do publikacji treści.

Centralizacja

Nie jest to temat nowy, dominująca rola gigantów social media została dostrzeżona już dawno. Pojawiły się rozwiązania alternatywne, oparte o fediwersum. Czyli osobne, niezależne serwisy, ale dające możliwość interakcji między użytkownikami różnych instancji.

Na pierwszy rzut oka fediwersum wydaje się to rozwiązaniem problemu centralizacji. Ale czy jest nim faktycznie? Uważam, że nie. Gwarancja wolności w tym przypadku opiera się na tym, że użytkownik może pójść na inną instancję. Albo, w skrajnym przypadku, uruchomić własną.

Niestety, uruchomienie własnej instancji leży poza kompetencjami większości użytkowników. Uruchomienie to kompetencje administratora, a istniejące rozwiązania wymagają specjalistycznej wiedzy. Nie są może trudne dla ludzi z IT, ale świat nie składa się ani wyłącznie, ani nawet w większości z ludzi z IT.

Co gorsza, nawet uruchomienie własnej instancji nie gwarantuje, że ludzie z innych będą mieli dostęp do naszych treści. Wymiana danych między instancjami jest bowiem opcjonalna, dobrowolna i może zostać zablokowana. Na wielu poziomach, od konfiguracji instancji, przez filtrowanie pakietów sieciowych. Oczywiście takie rozwiązanie zmniejsza centralizację, ale nie eliminuje źródła problemu.

Rozwiązanie

O rozwiązaniu problemu centralizacji możemy mówić, gdy dowolnych dwóch użytkowników, którzy wyrażą taką wolę, będzie się mogło komunikować ze sobą. Niezależnie od decyzji innych osób i przynależności do serwerów. Fediwersum takiej gwarancji niestety nie daje[3]. I nie znam rozwiązania, które coś takiego oferuje.

Technicznie widziałbym to jako oddanie pełnej decyzyjności o odbieranych informacjach w ręce użytkowników końcowych. Czyli protokół pozwalający na wymianę informacji ze wszystkimi, nie dopuszczający cenzurowania. I prosta aplikacja, zastępująca serwis, używalna dla zwykłych użytkowników, pozwalająca na korzystanie (subskrybcję tematów, tagów, użytkowników, nadawanie, odbieranie wiadomości) przy pomocy tego protokołu. Z możliwością filtrowania użytkowników, tagów, tematów zarządzaną na poziomie użytkownika.

Wydaje mi się, że blisko tego modelu – pomijając aspekt centralnych serwerów – byliśmy w czasach NNTP. Użytkownik miał swój czytnik, swoje subskrybcje i filtry. Pobierał co chciał, odsiewał co chciał. Korzystanie z czytnika nie było wiele trudniejsze, niż obsługa email. Oczywiście wtedy obsługa email nie była powszechna, a i UX aplikacji był inny.

Gdyby dołożyć do tego „niecenzurowalny”, rozproszony protokół wymiany danych, mielibyśmy coś, co wydaje mi się rozwiązaniem. Nie znam szczegółów rozwiązania, ale wydaje mi się, że IPFS miałby szanse spełnić te wymagania. Tym bardziej, że zdobywa popularność – wchodzi do przeglądarek, na przykład jest już oficjalnie w Brave.

[1] Tak, uważam GH za pewnego rodzaju social media. Nie typowe socjalne, bardziej techniczne, dla wąskiej grupy, ze specyficznym elementem socjalnym, ale nadal twór tego typu. Na zasadzie: zwykli ludzie pokazują fotki i komentują je, programiści pokazują kod, wysyłają pull requesty. Nie jest to oczywiście dokładna analogia.
[2] 50% odpowiedzi tak, kolejne 27% raczej tak.
[3] Widzę, że PeerTube jest częścią fediwersum. I wydaje mi się odporne na cenzurowanie. Może więc być tak, że problemem są implementacje. W każdym razie pisząc o fediwersum mam tu na myśli implementacje w stylu Diaspora, Mastodon, StatusNet.

Radio 357

Po przeczytaniu wpisu zerknąłem na Radio 357 i zastanowiła mnie jedna rzecz. Parcie w kierunku FM. Na stronie patronite znajdziemy opowieści o kupnie koncesji lub przejmowaniu lokalnych rozgłośni, by zyskać pasmo. O słuchaniu na zwyczajnym odbiorniku stojącym w kuchni. Zastanawiam się, na ile to parcie w kierunku FM ma faktyczny sens, jeśli chodzi o dotarcie do ludzi, a na ile to zwykła nostalgia. Lub wręcz gra na niej.

Zalety FM

Owszem, FM ma trochę zalet. Nie potrzeba nowego sprzętu do odbioru, jakiekolwiek radio zadziała. Można bez problemu słuchać w samochodzie. Słuchacze nie płacą za transfer danych. Niby jest on darmowy, ale pewnie spora część ludzi odbiera na telefonach, przez GSM. A to oznacza, że de facto płaci za transfer[1].

Zalety?

Co prawda streamu internetowego pewnie też da się słuchać w aucie, ale raczej nie będzie to „natywne” radio, tylko udostępnianie z telefonu[2]. TBH nie próbowałem nawet, poziom skomplikowania wygląda na niepomijalny, ale i tak pewnie będzie rwanie przez dziury w zasięgu. Wolę muzę z karty SD, przynajmniej w trasie.

No właśnie, zasięg. FM wygląda różowo, jeśli weźmiemy pod uwagę zasięg ogólnopolski. Przy stacjach lokalnych różowo nie jest i samochodowe zalety „w trasie” mocno tracą na znaczeniu. Jest napisane wprost, że budowa sieci FM nie zdarzy się od razu. Potrwa miesiące. Tymczasem wkrótce minie rok, od kiedy audycje zniknęły z Trójki.

Dochodzi też kwestia jakości. FM szumi. Szczególnie na słabszym sprzęcie, bez dobrej anteny. Owszem, często da się to rozwiązać, szczególnie jeśli mamy dobry sygnał. W praktyce, jeśli chcemy mieć dobrą jakość, łatwiej jest słuchać streamu z internetu. Pokrycie GSM w Polsce jest niezłe i nadal się poprawia. Może pora wymienić odbiornik radiowy w kuchni na coś, co wspiera streamy internetowe? Albo, jeśli jest on dobrej jakości, dopiąć mu stosowną przystawkę, zostawić go po prostu jako wzmacniacz z głośnikiem i cieszyć się stacjami z całego świata[3]?

No i na koniec: nie tylko Polska ma znaczenie. Nadawanie tylko w kraju via FM odcina od kilkunastu milionów potencjalnych słuchaczy na świecie. I liczba niepomijalna, i dla części może to być jedyny kontakt z krajem.

Stream

Na szczęście stream internetowy nie jest trudny do zrobienia. Tzn. samo zakodowanie audio do postaci cyfrowej i udostępnienie przez sieć. Wieki temu robiło to Radio Baobab. Dystrybucja do wielu odbiorców może być bardziej skomplikowana. Szczególnie, jeśli chcemy zrobić ją samodzielnie. Ale zapewne skalowanie można rozwiązać przez rzut monetą. Istnieją gotowe serwisy, które rozwiązują zagadnienie pojemności łącz. Nie zdziwię się, jeśli również załatwią ew. transkodowanie i udostępnianie na popularnych platformach.

Cieszę się więc, że słuchacze nie poddali się nostalgii i chcieli stream. Cieszę się, że idzie nowe. Dzięki temu może i ja włączę kiedyś Radio 357. Póki co nie miałem okazji. Zwłaszcza, że wymagają playera na stronie, nie dają linka do gołego streamu. A ten player coś u mnie nie działa.

Czy w ogóle inwestowanie przez Radio 357 w FM ma sens? Nie wiem. Ja FM nie potrzebuję.

[1] Radio internetowe, z uwagi na charakter korzystania, zużywa całkiem sporo transferu. Godzina streamu w popularnym wariancie 128 kbps to ok. 58 MB. Radio ma to do siebie, że gra godzinami. Słuchanie przez 8h to 0,4 GB. Zakładając słuchanie w pracy – 8 GB miesięcznie, czyli jak na pakiety u operatorów GSM ilość zauważalna.

[2] Przynajmniej w typowym aucie. Nowe są już domyślnie podłączone do internetu, więc tam może być to bardziej wygładzone, bez dodatkowych urządzeń, bezpośrednio z netu. Przynajmniej jako opcja, bo zwykłe FM też jest.

[3] Zakładając, że ktoś potrzebuje. Jeśli ktoś jest wierny jednej stacji i nigdy nie zmienia na inną, argument traci sens. A słuchanie jednej stacji przy pracy wygląda mi na całkiem powszechne. Tyle, że mając do wyboru stacje z całego świata może się okazać, że będzie to zupełnie inna stacja…