W 2014 roku użytkownik, który chciał sprawdzić bezpieczną wiadomość na swoim tablecie, musiał zamiast tego sięgnąć po telefon. Przez lata Signal opierał się na ścisłej relacji jeden do jednego między numerem telefonu a fizycznym aparatem. Ten wybór architektoniczny był funkcją bezpieczeństwa; był również źródłem codziennych frustracji dla użytkowników korzystających z wielu ekranów. Smartfon stał się cyfrową kotwicą, która przywiązywała tożsamość do pojedynczego elementu sprzętowego. Gdy ten sprzęt został zgubiony lub był poza zasięgiem, użytkownik zostawał skutecznie odcięty od swojego cyfrowego życia. Była to era urządzenia głównego, w której oprogramowanie było niewolnikiem karty SIM.
Historycznie komunikacja cyfrowa była uwiązana do miedzianych przewodów w domu; dziś jest uwiązana do krzemu pojedynczego smartfona. Wczesne aplikacje do przesyłania wiadomości polegały na karcie SIM jako sprzętowym fundamencie zaufania (root of trust); nowoczesne oprogramowanie stara się wyabstrahować tę tożsamość do postaci przenośnego konta cyfrowego. Signal długo opierał się tej transformacji. Deweloperzy priorytetyzowali bezpieczeństwo pojedynczego punktu końcowego; rynek domagał się wygody powszechnego dostępu. To napięcie definiowało ostatnią dekadę bezpiecznej komunikacji. Przez długi czas jedynym sposobem na korzystanie z Signala na dwóch telefonach była rejestracja dwóch różnych numerów. Fragmentowało to doświadczenie użytkownika i zmuszało ludzi do zarządzania oddzielnymi listami kontaktów. Główny telefon był strażnikiem konta. Obsługiwał wszystkie klucze szyfrujące i dowody tożsamości. Jeśli telefon był offline, aplikacja desktopowa mogła nadal działać, ale wstępna konfiguracja zawsze wymagała fizycznej bliskości urządzenia głównego.
Technicznie rzecz biorąc, poleganie na pojedynczym numerze telefonu jest spuścizną branży telekomunikacyjnej. Aplikacje mobilne odziedziczyły tę strukturę, ponieważ był to łatwy sposób na weryfikację tożsamości bez konieczności podawania tradycyjnej nazwy użytkownika i hasła. Jednak ta wygoda stworzyła dług techniczny dla deweloperów, którzy chcieli budować systemy wielourządzeniowe. Każde nowe urządzenie dodane do konta zwiększa złożoność schematu szyfrowania. W standardowej aplikacji opartej na chmurze serwer przechowuje wszystkie wiadomości i udostępnia je każdemu urządzeniu, które się zaloguje. W środowisku szyfrowanym end-to-end serwer nie ma dostępu do treści. Wyzwaniem była synchronizacja historii i kluczy między urządzeniami bez naruszania podstawowego modelu bezpieczeństwa aplikacji.
Najnowsza wersja beta aplikacji Signal wprowadza pragmatyczne rozwiązanie tego długotrwałego ograniczenia. Użytkownicy mogą teraz dodać telefon lub tablet z systemem Android jako urządzenie dodatkowe. Proces ten jest udoskonaloną wersją systemu łączenia urządzeń desktopowych. Użytkownik pobiera aplikację na swoje dodatkowe urządzenie z Androidem; przechodzi do opcji „Powiąż urządzenie” ukrytej w menu kebab na ekranie powitalnym. Główny telefon skanuje kod QR wygenerowany przez nowe urządzenie. Ta prosta interakcja wizualna uruchamia złożony uścisk dłoni (handshake) kryptograficzny. Urządzenie główne weryfikuje tożsamość urządzenia dodatkowego; następnie udostępnia niezbędne klucze, aby dołączyć do konta. Proces ten eliminuje potrzebę posiadania drugiego numeru telefonu. Konto jest teraz pojedynczą jednostką, która istnieje na wielu ekranach.
Po aktywacji powiązania Signal oferuje opcję synchronizacji historii czatów. Jest to znacząca zmiana w zachowaniu aplikacji. Wcześniej nowe urządzenia zaczynały z „czystą kartą”. Proces synchronizacji jest operacją obciążającą dla głównego telefonu. Musi on ponownie zaszyfrować lokalną bazę danych dla konkretnego klucza publicznego nowego urządzenia. Jeśli użytkownik pominie ten krok podczas konfiguracji, nie może go po prostu włączyć później. Musi ponownie zainstalować aplikację i jeszcze raz rozpocząć proces łączenia. Ten wybór projektowy jest środkiem bezpieczeństwa; gwarantuje, że przejęte urządzenie nie będzie mogło po cichu zażądać pełnej synchronizacji historii w późniejszym terminie. Użytkownik ma całkowitą kontrolę nad początkowym transferem danych.
Pod maską Signal wykorzystuje protokół Sesame do zarządzania sesjami na wielu urządzeniach. Jest to rozszerzenie algorytmu Double Ratchet, który obsługuje szyfrowanie poszczególnych wiadomości. Gdy nadawca wysyła wiadomość do użytkownika z trzema powiązanymi urządzeniami, jego aplikacja w rzeczywistości wysyła trzy oddzielne wersje tej wiadomości. Każda wersja jest zaszyfrowana unikalnym kluczem dla konkretnego urządzenia odbiorcy. Za kulisami aplikacja zarządza stale zmieniającym się zestawem kluczy dla każdego kontaktu. Dodanie drugiego telefonu z Androidem do tego zestawienia jest trudniejsze niż dodanie laptopa. Komputery mają stabilne systemy operacyjne i duże ilości pamięci masowej; urządzenia mobilne mają agresywną optymalizację baterii i ograniczone procesy w tle.
Paradoksalnie, przejście w stronę obsługi wielu urządzeń czyni system bardziej odpornym, jednocześnie zwiększając obciążenie obliczeniowe. Aplikacja musi zapewnić, że potwierdzenia odczytu, usunięcia i aktualizacje profilu są dokładnie odzwierciedlone na wszystkich ekranach. Jeśli użytkownik usunie wiadomość na tablecie, główny telefon musi otrzymać komunikat synchronizacyjny, aby wykonać tę samą akcję. Tworzy to ukrytą sieć ruchu, która odbywa się bez ingerencji użytkownika. Celem inżynieryjnym jest sprawienie, aby proces ten wydawał się płynny. W rzeczywistości jest to ciągła walka z opóźnieniami sieciowymi i pofragmentowanym stanem sprzętu z Androidem. Tani tablet może potrzebować kilku sekund na przetworzenie partii przychodzących komunikatów synchronizacyjnych; flagowy telefon może to zrobić w milisekundy.
Wersja beta zawiera również specyficzną aktualizację interfejsu dla tabletów. Jest to odpowiedź na rosnący trend wykorzystywania tabletów jako zamienników laptopów. Przez lata aplikacje na tablety z Androidem były tylko rozciągniętymi wersjami interfejsów telefonicznych. Były nieporęczne i marnowały znaczną część powierzchni ekranu. Nowy widok Signala wykorzystuje układ z podzielonym ekranem. Panel po lewej stronie wyświetla listę czatów; większy panel po prawej zawiera aktywną rozmowę. Ten projekt jest intuicyjny dla każdego, kto korzystał z desktopowej aplikacji do przesyłania wiadomości. Pozwala na szybszą nawigację i lepszą wielozadaniowość. Użytkownik może śledzić wiele rozmów podczas pisania.
Ta zmiana interfejsu użytkownika jest oznaką szerszego trendu w branży oprogramowania. Deweloperzy odchodzą od mantry „mobile-first” na rzecz podejścia „context-first”. Tablet w trybie poziomym jest innym narzędziem niż telefon w kieszeni. Kod teraz rozpoznaje tę różnicę. Możliwość dostosowania widoku — na przykład usunięcie listy czatów, aby skupić się na pojedynczej rozmowie — jest ukłonem w stronę podmiotowości użytkownika. Potwierdza to, że oprogramowanie powinno dostosowywać się do przepływu pracy użytkownika, zamiast wtłaczać go w uniwersalne ramy. Jest to przejście od sztywnych, zamkniętych projektów w stronę bardziej elastycznych, profesjonalnych układów.
Patrząc szerzej na poziom branżowy, widzimy powolną śmierć numeru telefonu jako głównego identyfikatora. Giganci technologiczni starają się kierować użytkowników w stronę własnych systemów kont. Apple używa Apple ID; Google używa Konta Google. Systemy te tworzą zamknięte ekosystemy (lock-in). Signal obiera inną drogę. Utrzymuje numer telefonu jako fundament konta, ale zrywa powiązanie z pojedynczym urządzeniem. Jest to pragmatyczny złoty środek. Zachowuje łatwość znajdowania kontaktów przez książkę telefoniczną, a jednocześnie zapewnia elastyczność nowoczesnej tożsamości cyfrowej. Z perspektywy użytkownika oprogramowanie staje się bardziej przezroczyste. Sprzęt ma mniejsze znaczenie niż dostęp do danych.
Ta zmiana jest również odpowiedzią na sposób, w jaki dzisiaj pracujemy. Granica między życiem zawodowym a prywatnym staje się coraz bardziej niejasna. Osoba może używać głównego telefonu do szybkich odpowiedzi, będąc poza domem; może używać tabletu do dłuższych dyskusji przy biurku. Cyfrowe tarcie występuje wtedy, gdy narzędzie staje na przeszkodzie tej zmianie. Pozwalając na korzystanie z wielu urządzeń z Androidem, Signal usuwa warstwę tarcia, która istniała przez dekadę. To nie tylko nowa funkcja; to uznanie faktu, że nasze cyfrowe życie nie mieści się już w jednym prostokącie wielkości kieszeni. Infrastruktura oprogramowania w końcu odzwierciedla wieloekranową rzeczywistość nowoczesnego świata.
Ostatecznie możliwość powiązania tabletu z Androidem lub drugiego telefonu sprowadza się do kontroli. Chodzi o to, aby to użytkownik decydował, który ekran jest odpowiedni w danej chwili. Odchodzimy od ery, w której nasze narzędzia dyktowały nam nawyki. Złożoność techniczna wymagana do synchronizacji czatów szyfrowanych end-to-end na urządzeniach mobilnych jest ogromna, ale rezultatem jest bardziej odporne i elastyczne doświadczenie. Użytkownicy powinni obserwować własne nawyki cyfrowe i zauważać, gdzie pojawia się tarcie. Często to tarcie jest wynikiem przestarzałego kodu lub starych modeli biznesowych, które nie pasują już do naszego życia.
W miarę jak funkcje te będą przechodzić z fazy beta do ogółu społeczeństwa, koncepcja „urządzenia głównego” prawdopodobnie będzie nadal zanikać. Przestaniemy myśleć o naszych kontach jako o czymś, co jest „w naszym telefonie”, a zaczniemy myśleć o nich jako o czymś „dostępnym przez nasze urządzenia”. Jest to subtelna, ale głęboka zmiana w kompetencjach cyfrowych. Wymaga od nas zrozumienia, że nasze dane to nie to samo, co szkło i metal, które trzymamy w dłoniach. Kod jest mostem między naszą tożsamością a naszym sprzętem. Aktualizacja Signala to kolejny krok w stronę przyszłości, w której ten most jest szerszy, mocniejszy i bardziej niezawodny. Telefon nie jest już osobą; osoba jest kontem, a konto jest teraz wszędzie.



Nasze kompleksowe, szyfrowane rozwiązanie do poczty e-mail i przechowywania danych w chmurze zapewnia najpotężniejsze środki bezpiecznej wymiany danych, zapewniając bezpieczeństwo i prywatność danych.
/ Utwórz bezpłatne konto