Jak bezpieczny jest TEPHIA SECURE?
Jak szyfrowane są pliki, co jest przechowywane na naszych serwerach – i co uzyskałby atakujący, który przejąłby je całkowicie. Bez marketingowych sloganów, za to przejrzyście.
Szyfrowane w przeglądarce
Pliki są szyfrowane, zanim opuszczą komputer, i odszyfrowywane dopiero u odbiorcy.
Klucz nigdy nie trafia na serwer
Każda przesyłka ma własne losowe 32-znakowe hasło. Nasz serwer nigdy go nie widzi.
Metadane na potrzeby potwierdzenia
Możemy odczytać jedynie dane takie jak nazwa pliku, adresy oraz daty i godziny. Potrzebuje ich potwierdzenie doręczenia.
Jak działa szyfrowanie
- HasłoPrzeglądarka tworzy losowe hasło: 32 znaki, około 190 bitów.
- KluczArgon2id wyprowadza z niego klucz, przez co każda próba odgadnięcia jest kosztowna.
- SzyfrowanieAES-256-GCM szyfruje plik i wykrywa każdą późniejszą zmianę.
- PrzesłanieDopiero wtedy plik jest wysyłany, przez TLS 1.2 lub 1.3. Hasło pozostaje u Państwa.
Hasło nie jest częścią linku. Przekazuje się je drugą drogą, na przykład w osobnej wiadomości e-mail lub telefonicznie. Kto przechwyci tylko link, nie otworzy pliku.
Skrzynka na dokumenty
Kto przekazuje Państwu dokumenty, szyfruje je w swojej przeglądarce w ten sam sposób. Serwer zna tylko wartość kontrolną hasła, za pomocą której nie da się niczego odszyfrować.
Wyjątek: aby można było odnaleźć hasło, wysyłamy je Państwu e-mailem przy tworzeniu skrzynki. Przechodzi ono raz przez serwer i nie jest przechowywane.
Dodatek Outlook
Dodatek szyfruje bezpośrednio w Outlooku. Hasło przechodzi przez Państwa własny system poczty, a nie przez nasz serwer; same pliki nie przechodzą przez Państwa system poczty.
Dwa sposoby: TEPHIA SECURE wysyła każdemu odbiorcy własny link, a hasło jest w Państwa wiadomości; albo link jest w Państwa wiadomości, a hasło przychodzi w drugiej. Kto ma link i hasło, może odebrać przesyłkę – jak przy każdym doręczeniu e-mailem. Przy drugim sposobie odbiór można ograniczyć do adresów odbiorców; potrzebny jest wtedy dodatkowo kod wysłany do ich skrzynki pocztowej.
Szczegóły techniczne
- Wyprowadzanie klucza: Argon2id z 64 MB pamięci, 4 przebiegami i 2 wątkami, a następnie HKDF-SHA256
- Szyfrowanie: AES-256-GCM, z własną losową solą (32 bajty) i wektorem IV (12 bajtów) dla każdej przesyłki
- Szyfrowanie blokami: plik jest szyfrowany i przesyłany w blokach po 8 MiB, każdy z własnym nonce (IV XOR numer bloku); numer bloku i znacznik ostatniego bloku jako dodatkowe uwierzytelnione dane (AAD) uniemożliwiają zamianę, pominięcie lub obcięcie bloków. Dzięki temu możliwe są pliki do 2 GB
- Bez WebAssembly (np. zablokowanego przez zasady firmowe): PBKDF2-SHA512 z milionem iteracji
- Kilka plików lub folderów jest pakowanych w przeglądarce do pliku ZIP przed zaszyfrowaniem
- Transport: TLS 1.2 lub 1.3 z utajnianiem z wyprzedzeniem (forward secrecy), HSTS na dwa lata, ścisła polityka Content Security Policy
- Hasła logowania: scrypt z indywidualną solą; drugi składnik jest obowiązkowy
Co jest na naszym serwerze
Tylko zaszyfrowane albo wcale
- Treść plików: tylko zaszyfrowana
- Hasło i klucz przesyłki: nigdy
- Hasło skrzynki na dokumenty: tylko wartość kontrolna
- Hasła logowania: tylko jako skrót
- Logowanie przez Microsoft: nic, pozostaje to po stronie Microsoft
- Dane płatnicze: nic, przechowuje je Stripe
Czytelne, na potrzeby potwierdzenia
- Nazwy i rozmiary plików, w przypadku ZIP także nazwy w środku
- Oznaczenie i wiadomość
- Nadawca z nazwiskiem, adresem i organizacją
- Adresy odbiorców, jeśli wysyłamy link lub odbiór jest ograniczony
- Daty i godziny, adres IP i przybliżona lokalizacja przy odbiorze
- Sumy kontrolne (SHA-256) plików, obliczane w przeglądarce
Wiadomości z linkiem do Państwa odbiorców i powiadomienia takie jak „Państwa plik został odebrany” wysyłamy przez Microsoft 365 i Hornetsecurity (przekazywanie, kontrola antywirusowa i antyspamowa). Nie zawierają nazw plików, a jedynie samodzielnie wybrane oznaczenie lub liczbę plików; hasła przesyłki nie ma w żadnej z naszych wiadomości. Potwierdzenie doręczenia w formacie PDF, które zawiera nazwy plików, jest dołączane tylko wtedy, gdy włączą to Państwo na swoim koncie.
Co, jeśli ktoś przejmie serwer?
Zakładamy najgorszy przypadek: atakujący ma pełną kontrolę nad serwerem, bazą danych i magazynem plików.
Co by uzyskał
- Zaszyfrowane pliki, które znajdują się aktualnie na serwerze – nieczytelne bez hasła
- Metadane: kto, co, komu i kiedy wysłał, nazwy plików i adresy. Nazwa taka jak „Rozwod_Nowak.pdf” coś zdradza.
Czego by nie uzyskał
- Treści wcześniejszych przesyłek i skrzynek na dokumenty: hasła nigdy nie były na serwerze, a 190 bitów nie da się złamać metodą siłową
- Usuniętych plików: nie ma ich też w żadnej kopii zapasowej
- Haseł Microsoft ani danych płatniczych
Jak się przed tym chronimy
- Krótkie przechowywanie: pliki są usuwane po odbiorze. Czego już nie ma, tego nie można ukraść.
- Kod z jednego źródła: aplikacja internetowa wczytuje swój kod wyłącznie z naszego serwera, a ścisła polityka Content Security Policy zapobiega wstrzyknięciu obcego kodu.
- Ograniczony dostęp: konserwacja tylko z kluczem i tylko ze stałych sieci; organizacje są dodatkowo odseparowane w bazie danych.
- Powiadomienie w razie incydentu: jeśli wykryjemy włamanie, bez zbędnej zwłoki informujemy organizacje, których to dotyczy (art. 33 RODO).
Ile trwałoby złamanie przechwyconego pliku?
Nawet z miliardem kart graficznych atakujący potrzebowałby średnio około 4 × 1037 lat.
Załóżmy, że ktoś przechwyci zaszyfrowany plik – w trakcie przesyłania lub z serwera. Bez hasła pozostaje mu jedynie próbowanie kolejnych haseł. Tyle czasu potrzebowałby na to średnio:
Dla porównania: Wszechświat ma około 1,4 × 1010 lat. Nawet miliard kart graficznych potrzebowałby mniej więcej 1027 razy więcej czasu.
Dlaczego trwa to tak długo
- Długie losowe hasła: każda przesyłka otrzymuje własne 32-znakowe hasło, tworzone w Państwa przeglądarce. To około 2,3 × 1057 możliwości (190 bitów).
- Każda próba jest kosztowna: zanim hasło będzie można sprawdzić, musi ono przejść przez Argon2id z 64 MB pamięci i czterema przebiegami. To celowo spowalnia karty graficzne i wyspecjalizowany sprzęt.
- Sam klucz (AES-256), mający 2256 możliwości, byłby jeszcze trudniejszy do odgadnięcia niż hasło.
A komputery kwantowe?
Według obecnej wiedzy komputer kwantowy przy sprawdzaniu możliwości może co najwyżej zmniejszyć liczbę bitów o połowę. Ze 190 bitów zostałoby rachunkowo 95, a każda próba nadal musiałaby przejść przez Argon2id. To również wykracza daleko poza jakąkolwiek przewidywalną moc obliczeniową.
Liczby oszacowano z dużym zapasem na korzyść atakującego i zaokrąglono do jednej cyfry znaczącej. Obliczono średnią, czyli połowę wszystkich możliwości.
Realistyczne ataki nie są więc wymierzone w szyfrowanie, lecz w hasło: kto zdobędzie jednocześnie link i hasło, nie musi niczego łamać. Dlatego oba zawsze przekazuje się osobnymi drogami – zob. Co można zrobić samodzielnie.
Gdzie i jak długo przechowywane są dane
Co można zrobić samodzielnie
- Wysyłać hasło i link osobno, nigdy w tej samej wiadomości.
- Logować się przez Microsoft i wyłączyć logowanie hasłem albo używać klucza bezpieczeństwa lub klucza dostępu.
- Wybierać neutralne nazwy plików, jeśli sama nazwa jest poufna.
- Ograniczać odbiór do adresów odbiorców: wtedy sam link i hasło nie wystarczą.
Ograniczenia, o których mówimy otwarcie
- Metadane takie jak nazwy plików, adresy oraz daty i godziny są dla nas czytelne; potrzebuje ich potwierdzenie.
- Hasło skrzynki na dokumenty przechodzi przy jej tworzeniu jeden raz przez nasz serwer, Microsoft 365 i Hornetsecurity.
- Microsoft i Hornetsecurity widzą, co zawierają nasze wiadomości: nadawcę, oznaczenie, Państwa wiadomość dla odbiorcy, link, daty i godziny – bez nazw plików i nigdy hasła przesyłki.
- Kontrolę przy wysyłaniu w dodatku Outlook dostarcza Cloudflare, aby wysyłka e-maili nie zależała od dostępności naszego serwera. Cloudflare widzi adres IP i identyfikator przeglądarki, a nie treści.
- Suma kontrolna każdego pliku jest dla nas czytelna. Nie ujawnia treści, ale pokazuje, czy przesłano plik już znany.
- Jak przy każdym szyfrowaniu w przeglądarce, ochrona nowych przesyłek zależy od tego, czy kod aplikacji internetowej jest dostarczany w niezmienionej postaci – dlatego szczególnie starannie chronimy sam serwer.
Znaleźli Państwo lukę w zabezpieczeniach? Prosimy zgłosić ją poufnie na adres podany w naszym pliku security.txt.