Słownik

Czym jest Szyfrowanie end-to-end?

Szyfrowanie end-to-end (E2EE) to metoda komunikacji, w której dane są szyfrowane na urządzeniu nadawcy i mogą być odszyfrowane wyłącznie na urządzeniu odbiorcy, co gwarantuje, że żaden pośrednik — w tym dostawca usługi — nie może uzyskać dostępu do treści w postaci tekstu jawnego.

Znane również jako: E2EE, E2E encryption, end to end encryption

Szyfrowanie end-to-end różni się od szyfrowania transportowego (takiego jak TLS) w kluczowy sposób: przy szyfrowaniu transportowym serwer odbiera dane w postaci tekstu jawnego i szyfruje je ponownie przed dalszym przekazaniem. Operator serwera może odczytać wszystko. Przy E2EE serwer obsługuje wyłącznie zaszyfrowane dane, których nie może odczytać.

Koncepcja zyskała powszechną rozpoznawalność dzięki aplikacjom do przesyłania wiadomości, ale ma zastosowanie w każdym systemie, w którym dane przechodzą przez pośrednika. E-mail, przechowywanie plików, udostępnianie sekretów i narzędzia do współpracy mogą implementować E2EE. Kluczowym wyzwaniem jest wymiana kluczy — jak nadawca i odbiorca uzgadniają klucze szyfrowania bez możliwości ich przechwycenia przez serwer?

Różne systemy rozwiązują problem wymiany kluczy na różne sposoby. Aplikacje do przesyłania wiadomości zazwyczaj używają kryptografii asymetrycznej i protokołów uzgadniania kluczy. Prostsze systemy mogą osadzać klucz bezpośrednio we wspólnym URL lub wyprowadzać go ze wspólnego hasła. Wspólnym mianownikiem jest to, że serwer nigdy nie ma dostępu do klucza deszyfrowania na żadnym etapie procesu.

Jak Vaulted używa Szyfrowanie end-to-end

Vaulted implementuje szyfrowanie end-to-end, wykonując wszystkie operacje kryptograficzne w przeglądarce. Przeglądarka nadawcy generuje klucz AES-256-GCM, szyfruje sekret i osadza klucz we fragmencie URL. Przeglądarka odbiorcy wyodrębnia klucz z fragmentu i odszyfrowuje szyfrogram pobrany z serwera. Serwer Vaulted jest pośrednikiem, który przechowuje i dostarcza zaszyfrowane dane, ale nigdy nie ma możliwości ich odszyfrowania.