Zgadzam się na co pisałeś o aplikacjach. Autor blogu jednak stwarza wrażenie, że protokoły Matrix lub XMPP/OMEMO są słabe. Moim zdaniem, to błędne rozumowanie, i obniża wartość wysiłków deweloperów pracujących nad wolnymi rozwiązaniami. Aplikacja może bardzo dobrze uniemożliwić obniżenie poziomu komunikacji do postaci niezaszyfrowanej i odmówić przyjęcia komunikacji niezaszyfrowanej, nawet jeśli protokół pozwala również na pisanie komunikatorów bez szyfrowania. W powiązanym temacie, bezpieczne aplikacje internetowe są możliwe, nawet w świecie, w którym przeglądarki rozumieją niezaszyfrowany protokół HTTP. Chociaż nie poprawia to niczego dla prywatnego użytkownika końcowego, fakt, że siły zbrojne ufają niestandardowemu komunikatorowi opartym na Matrix z poufnymi informacjami (https://element.io/case-studies/bundeswehr), może wskazywać, że sam protokół nie implikuje słabego szyfrowania.
Prawdziwym żalem jest to, że obecnie nie wydaje się istnieć żadna aplikacja końcowego użytkownika, która byłaby otwarta, federacyjna, przyjazna dla użytkownika i bezpieczna. Nie chciałbym znaleźć się w sytuacji, w której musiałbym polecać jakiegoś komunikatora. Albo wystąpiłyby techniczne wady, albo byłaby scentralizowana, co narażałoby użytkowników na ryzyko uzależnienia od dostawcy i gównowacenia.
Nie ma co do tego wątpliwości. Widzialem wiele wysokiej jakości treści tego autora. Nie zmienia to jednak fakto, że w tym konkretnym przypadku doszło do pomylenia "protokołu" i "wdrożeń", co doprowadziło do błędnego rozumowania.
Na marginesie, uznanie jako ekspert ds. bezpieczeństwa nie uniemożliwia wnoszenia bardziej zróżnicowanego wkładu w debatę na temat komunikatorów: https://www.messenger-matrix.de/messenger-matrix-en.html
Tak, niewątpliwie nie wykonali bardzo dobrej pracy, dostarczając wdrożenie referencyjne. Fakt, że Matrix stał się na tyle ważny, że powstają konkurencyjne implementacje zarówno dla serwera, jak i klienta, dodaje mi jednak nadzieję.
Aby nie wymagać od użytkowników niezorientowanych technicznie, że zrozumiają, kiedy komunikator zmienia do komunikacji niezaszyfrowanej, aplikacja powinna po prostu odmówić udział uw komunikacji niezaszyfrowanej, nawet jeśli protokół na to pozwalałby w sieci.
Jeśli jednak zgodzimy się, że musimy chronić użytkownika przed samym sobą, Signal również wymaga ulepszenia. O ile wiem, do lutego 2024 roku Signal zawsze przekazywał numer telefonu uczestikom komunikacji. W praktyce umożliwia to przeprowadzenie "downgrade attack": Jeśli atakujący zakłócił zaszyfrowaną komunikację Signal, użytkownicy mogliby zdecydować się na użycie numeru telefonu i komunikowanie się za pośrednictwem sieci telefonicznej, a więc bez E2EE. Rozumiem, że Signal dziś wprowadził opcję nie podawania numeru telefonu innym użytkownikom. Oznacza to jednak, że jeszcze zapewnia opcję obniżenia poziomu zabezpieczeń komunikacji. Dlatego, jeśli chcemy, aby obniżenie oceny było niemożliwe, Signal powinien całkowicie zrezygnować z numerów telefonów.
Zgadzam się, że należy starać się unikać błędów z przeszłości. Po prosto nie jestem pewien, czy to oznacza, że powinniśmy porzucić ideę otwartych i interoperacyjnych protokołów, która kiedyś uczyniła Internet dużym i zróżnicowanym.
Nie znalazłem jeszcze żadnych źródeł, które konkretyzowałyby takie szczegóły. Jeśli takie istnieją, chętnie je przeanalizuję.
Zaznaczyłem to twierdzenie, które bardzo przypomina to, co @[email protected] napisał w swoim artykule. Ciągle czekam, aż ktoś będzie w stanie uzasadnić to twiedzenie bez mieszania protokołu z implementacją. Jak już powiedziałem, jeśli aplicacja, z której korzystam, nie umożliwia przejścia na niezaszyfrowaną komunikację, nie widzę powodu (w logicznym, naukowym sensie), dla którego zbudowanie jej na wielozadaniowym protokole, który może również wykonywać różne czynności, miałoby stwarzać jakiekolwiek ryzyko dla bezpieczeństwa. Najgorsze, co mogłoby się zdarzyć, jest to, że ludzie nie będą mogli ze mną rozmawiać, ponieważ moja aplikacja odmówi ich prośbie o niezaszyfrowaną komunikację.
Także ja śledzę to z zainteresowaniem.
Zdecydowanie zrobili kilka rzeczy dobrze. Wciąż uważam, że centralizacja jest ryzykowna. W Stanach Zjednoczonych, uniwersytety również powinny być niezależne, ale przekonaliśmy się, jak bardzo Trumpiści troszczą się o tę niezależność. Nie znam się na fundacjach, i co mogłoby się stać, gdyby stanęły im na drodze.
Wprost przeciwnie. Właśnie skrytykowałem wadliwą argumentację w artykule, który zacytowałeś, a jeśli chodzi o debatę na temat komunikatorów, apeluję o mniej czarno-białego myślenia. Jak rozumiem, Telegram jest tak zły, jak tylko może być, biorąc pod uwagę, że jest scentralizowany i nie ma E2EE. Ale nie widzę ani pojedynczego "dobrego" komunikatora, ponieważ to bardzo zależy od tego, przed jakim modelem zogrożeń chcesz się chronić. I nie wierzę, że bezpieczeństwo można osiągnać bez wysiłku. Tak jak użytkownicy XMPP lub Matrix powinni dwokrotnie sprawdzić swoje wdrożenie i pradwopodobnie zgłosić błędy, jeśli pozwala na ataki typu downgrade, użytkownicy Signal powinni domagać się większej decentralizacji i lepszej integracji z klientami innych programistów. Wydaję się, że nie leży to w najlepszym interesie użytkowników dbających o bezpieczeństwo, aby Signal żądał jednolitej kultury w odniesieniu do oprogramowanie klienckiego (https://github.com/LibreSignal/LibreSignal/issues/37#issuecomment-217211165), podczas gdy istnieją deweloperzy klientów, którzy mogą nawet lepiej sobie radzić w kwestii bezpieczeństwa urządzeń (@[email protected]).