Potwierdź mój wiek, anonimowo

Pojawiło się zagadnienie weryfikacji wieku przyjaznego dla prywatności czyli anonimowej weryfikacji wieku. Czyli mamy serwis X, który chce potwierdzić, że użytkownik ma 18 lat, ale jednocześnie ma otrzymać możliwie mało danych na temat tego użytkownika. Idealnie: tylko wiek.

Rysiek zaproponował rozwiązanie, które zaintrygowało mnie na tyle, że postanowiłem przeanalizować, czy to ma szansę działać. Wyszło mi, że nie. W tym wpisie skupiam się wyłącznie na proponowanym opisie algorytmu, czyli punktach i akapicie w którym jest zawarty.

Podsumowując założenia, ma tam być tak, że jest serwis X, użytkownik U, oraz serwis potwierdzania identyfikacji EID. X ma nie wiedzieć, kim jest U (dane osobowe). EID jak najbardziej zna dane osobowe użytkownika U, ma potwierdzić wiek, ale ma nie wiedzieć, że potwierdzenie jest na potrzeby serwisu X.

Problemy, które tu widzę, są dwa. Pierwszy jest taki, że użytkownik U w pełni kontroluje komunikację pomiędzy X a EID. Najpierw wysyła dane (które może dowolnie ustalić przed wysłaniem), potem otrzymuje odpowiedź, którą przekazuje. Czyli mamy do czynienia z man in the middle. Nie byłoby tu wielkiego problemu, gdyby EID wiedziało, że rozmawia z X – wystarczyłoby wtedy użyć odpowiednich kluczy prywatnych i publicznych. Ale jest to sprzeczne z założeniami.

Drugi problem jest poważniejszy. Serwis X nie wie, jakiego użytkownika weryfikuje. W tej sytuacji dowolny „dowód osobisty” może posłużyć do weryfikacji użytkownika.

Przekładając to na bardziej tradycyjne okoliczności: osoba w kominiarce przychodzi kupić alkohol i w ramach weryfikacji wieku pokazuje na ekranie telefonu zdjęcie dowodu osobistego. Czy sprzedawca jest w stanie zweryfikować wiek osoby na tej podstawie? Wg mnie – nie bardzo. Zdjęcie na ekranie to tutaj odpowiednik MITM (nie wiemy nawet, czy dowód jest autentyczny). Natomiast kominiarka (ukrycie tożsamości, anonimowość) uniemożliwia sprawdzenie, czy dowód należy do danej osoby.

Czyli dokładanie kolejnych warstw, algorytmów, systemów, stron w komunikacji nie zwiększa nam tu pewności anonimowej weryfikacji wieku. Nie w stosunku do wybrania przez użytkownika na stronie opcji „potwierdzam, że mam 18 lat”.

Być może po prostu mamy problem z akceptacją faktu, że weryfikacja wieku nigdy nie była anonimowa? Bo sprzedawca w sklepie z alkoholem nie tylko sprawdza[1], czy osoba posiada dowód osobisty. Sprawdza też, czy jest on autentyczny. I czy należy do tej osoby. OK, do tego ostatniego nie potrzebuje tu kompletu danych z dowodu, wystarczy zdjęcie. Ale do pozostałych danych ma dostęp w trakcie sprawdzania autentyczności.

Na Mastodonie trwa dyskusja, pewnie warto zapoznać się z całością, a komentować czy sugerować działające rozwiązania można równie dobrze tam.

[1] A przynajmniej powinien to robić.

Hasło Alert

CERT Orange uruchomił nową usługę o nazwie Hasło Alert. W zasadzie idea jest podobna jak Have I Been Pwned, ale stwierdziłem, że przetestuję. Zawsze jest szansa, że będą mieli dostęp do lokalnych wycieków, które na HIBP nie trafiły. Czy tak jest w istocie? Nie wiem, jest wyłącznie informacja o autorskim rozwiązaniu. Nie ma żadnych informacji o źródłach ani ewentualnej współpracy z innymi podmiotami.

Pierwsza rzecz, która rzuca się w oczy to podtytuł Sprawdź czy Twój mail nie wyciekł. W tytule strony hasło, w podtytule email, przypuszczam, że osoby mniej zorientowane mogą się pogubić. Tym bardziej, że nie widzę by było to wytłumaczone gdzieś dokładniej. Oczywiście chodzi o pary email i hasło w wyciekach. Ani sam email, ani samo hasło nie zostaną zgłoszone. Wynika to z zasady działania serwisu, o czym za chwilę. Czyli podajemy adres email, a dostajemy hasła, które wyciekły z serwisów dla konta z podanym tym adresem email.

To co mi się podoba, to fakt, że sprawdzenie, czy dany adres email pojawił się w wycieku wymaga dostępu do konta email sprawdzanego adresu. Aby przeszukać wycieki, trzeba kliknąć linka z potwierdzeniem zlecenia wyszukania. Same wyniki również są odsyłane mailem. Zapobiega to możliwości sprawdzania wycieków dla kont, które nie należą do nas. Zdecydowany plus, jeśli chodzi o prywatność.

Z samymi wynikami jest już znacznie gorzej. Porównując z HIBP, wyników jest mało. I nie chodzi tu wyłącznie o różnego rodzaju kompilacje wycieków. Z czego to wynika? Nie wiem. Może chodzić o zawężenie czasowe[1], może chodzić o dostęp do źródeł.

Jeśli chodzi o wyniki, to otrzymujemy zamaskowane hasło i datę. W haśle widoczna jest pierwszy i ostatni znak, oraz ilość liter, przy założeniu, że każda gwiazdka odpowiada jednej literze. Jest też jakaś data. Niestety nie jest wyjaśnione czy jest to data pobrania danych do wycieku, data publikacji wycieku, data pozyskania zbioru czy jeszcze jakaś inna. Zdecydowanie przydałoby się tu wyjaśnienie. Tym bardziej, że wyciek z LinkedIn z roku 2012, który został opublikowany w 2016, podawany jest jako… styczeń 2023.

Przede wszystkim brakuje jednak źródła wycieku, co czyni usługę w zasadzie bezwartościową. Zalecenia są słuszne, ale skoro nie wiadomo, do którego serwisu hasło zmienić, to mało przydatne w praktyce. A zmiana wszystkich haseł, bo gdzieś jakieś podobno wyciekło to chyba overkill. No chyba, że ktoś używa tego samego hasła w wielu miejscach, ale wtedy ma większy problem. I nie potrzebuje sprawdzać, czy wyciekło, tylko od razu może zmienić hasła ustawiając różne dla różnych serwisów.

Ponieważ korzystam z managera haseł, postanowiłem – mimo braku podanego źródła – sprawdzić, które moje hasła wyciekły. I tu zaskoczenie, bo w większości przypadków nie udało mi się znaleźć pasujących kandydatów. Nawet biorąc pod uwagę tylko pierwszy i ostatni znak, bez ilości liter. Dziwne, bo i niektóre wycieki świeże, i manager haseł przechowuje nie tylko bieżące hasło, ale także poprzednie. Czyli nawet gdybym zmienił hasło po informacji o wycieku, to powinienem mieć je zapisane w managerze.

Niestety nie wiem, czy jest to błąd po stronie systemu, błąd w wycieku, czy jednak zmieniłem hasło więcej niż raz. I bez źródła danych nie jestem w stanie tego określić.

Podsumowując – Hasło Alert to ciekawa inicjatywa, ale w tej chwili wg mnie mało użyteczna. Przede wszystkim brakuje źródła wycieku, ale przydało by się też nieco więcej objaśnień. Liczę, że wkrótce pojawią się zmiany w tym zakresie.

[1] Najstarsza data, którą widziałem to 2019.

Szachy

W szachy nauczył mnie grać dziadek, gdy byłem małym dzieckiem. Grałem nieźle jak na swój wiek, ale jakoś specjalnie szachowego bakcyla nie połknąłem. Ani nie grałem później w klubach, ani nie czytałem zaawansowanych książek. Owszem, czytałem jakieś proste książki dla dzieci, gdzie były jakieś podstawy taktyki i wartości figur, ale nic więcej.

Potem zetknąłem się z ludźmi, którzy wiedzieli co to obrona sycylijska, znali otwarcia i umieli tę wiedzę wykorzystać. Czyli – patrząc z perspektywy – mieli dużą przewagę i tak też z tego co pamiętam przebiegały rozgrywki. Studiowanie książek tylko po to, by lepiej grać w grę, która miała być rozrywką jakoś nie wydawało mi się sensowne. Odpuściłem. Albo po prostu właśnie nie połknąłem bakcyla.

Fast forward. O szachach przypomniał mi serial Gambit królowej. Nakręcony na podstawie książki Waltera Tevisa. O samym serialu pisali Zuzanka i Boni, nieco udzielałem się w komentarzach w pierwszym linku, więc nie ma sensu powtarzać. Ważne jest to, że serial przypomniał mi – i nie tylko mi – o istnieniu szachów. I ogólnie wpłynął mocno na zainteresowanie nimi na świecie[1]. Postanowiłem odświeżyć temat.

Pierwszą rzeczą było zainstalowanie programu na smartfonie. Nawet dłuższą chwilę – pewnie około miesiąca – pograłem. I nawet jakieś efekty były. Tylko była to gra przeciwko komputerowi. I bez żadnych dodatków. Program został, czasem go włączałem i… tyle. W zasadzie bardziej był na telefonie, niż realnie używałem. Znaczy się kolejny raz nie połknąłem szachowego bakcyla.

Zupełnie niedawno zarejestrowałem się na chess.com i zainstalowałem ich aplikację. I był to strzał w dziesiątkę. Zadania, lekcje, przyjemne analizy. I mocna gamifikacja: ligi, zliczanie codziennego grania, zbieranie flag państw ludzi, z którymi się grało. Wciągnęło mnie. Gram regularnie. Dodatkowo można grać ze znajomymi, a okazało się, że w firmie są użytkownicy tej platformy.

Jest to podlewane elementami analizy i nauki (wszystko w appce!) i… widzę postępy. Zatem, jeśli ktoś chce się nauczyć grać w szachy – bezinteresownie polecam. Tym bardziej, że można korzystać za darmo. A dla chętnych jest krótki, zdaje się tygodniowy, trial dający dostęp do wszystkich funkcjonalności i usuwający niektóre limity typu ilość lekcji w tygodniu.

[1] Z tego co pamiętam. Linków ani danych nie mam, ale i trendy Google, i szybkie wyszukiwania zdają się potwierdzać.