Szyfrowanie wzorem: Jak narysowanie kształtu chroni Twoje pliki

Rysujesz wzór palcem. PBKDF2 zamienia ten gest w klucz sejfu, który odblokowuje oddzielny losowy klucz chroniący Twoje pliki algorytmem AES-256-GCM. Bez pola hasła i krótkiego kodu PIN. Tylko Twój wzór i celowo warstwowa hierarchia kluczy.

Vaultaire serializuje kształt narysowany na siatce 5 × 5 i przetwarza go przez PBKDF2-HMAC-SHA512 w 600 000 iteracjach z solą urządzenia zapisaną w iOS Keychain. Wynik 256-bitowy to klucz sejfu: szyfruje indeks sejfu i rozpakowuje oddzielny losowy klucz główny, którym AES-256-GCM szyfruje zawartość plików i metadane.

Co to jest Szyfrowanie wzorem?

Większość aplikacji sejfu ukrywa się za kodem PIN lub hasłem. Wpisz cztery cyfry i pojawią się Twoje zdjęcia. Brzmi wystarczająco bezpiecznie, prawda?

Oto problem: czterocyfrowy PIN ma dokładnie 10 000 możliwych kombinacji. Komputer może wypróbować każdą z nich w czasie krótszym niż sekunda. Sześć cyfr? Milion kombinacji. Wciąż banalnie szybki jak na nowoczesny sprzęt. Nawet ośmioznakowe hasło, jeśli zawiera wyłącznie małe litery, daje około 200 miliardów możliwości. To wydaje się dużo, dopóki nie dowiesz się, że standardowy laptop może testować miliardy skrótów haseł na sekundę.

Szyfrowanie wzorów przyjmuje zasadniczo inne podejście. Zamiast wpisywać znaki w polu, rysujesz geometryczny kształt na siatce kropek. Ścieżka, którą rysujesz (które kropki, w jakiej kolejności i w jakim układzie), staje się danymi wejściowymi dla funkcji wyprowadzania klucza na podstawie hasła. Wynik nie jest jedynie sprawdzany przez interfejs: musi on odblokować uwierzytelniony zaszyfrowany indeks i znajdujący się w nim losowy klucz główny.

Rozróżnienie ma znaczenie. Gdy w niektórych aplikacjach wpiszesz kod PIN, aplikacja sprawdzi jedynie, czy wpisałeś właściwy numer. Jeśli tak, otworzy się, mimo że pliki mogą być chronione głównie poprzez kontrolę dostępu. Vaultaire natomiast przekazuje narysowany wzór do PBKDF2, aby wyprowadzić 256-bitowy klucz sejfu. Klucz ten musi uwierzytelnić i odszyfrować indeks sejfu, zanim będzie mógł rozpakować losowy klucz główny używany do plików. Nierozpoznany wzór jest przedstawiany jako pusty sejf, ale uwierzytelnianie AES-GCM pod spodem nadal odróżnia klucz prawidłowy od nieprawidłowego.

Kluczowa różnica

Bramka dostępu na kod PIN przypomina zamknięte drzwi przed plikami, które poza nimi są czytelne. Wzór Vaultaire jest bliższy szyfrowi na sejfie: wyprowadza klucz otwierający zaszyfrowany indeks, który z kolei odblokowuje oddzielny klucz chroniący zawartość. Interfejs nie może po prostu ominąć tego łańcucha kryptograficznego.

Jak to działa, krok po kroku

Oto, co dzieje się od momentu dotknięcia ekranu palcem do momentu, gdy pliki staną się nieczytelne dla innych osób.

Krok 1: Narysuj swój wzór

Vaultaire wyświetla siatkę kropek 5×5. Rysujesz ciągłą ścieżkę łączącą co najmniej 6 kropek z co najmniej jedną zmianą kierunku. Aplikacja dokładnie zapisuje, przez które kropki przeszedłeś i w jakiej kolejności. Ta sekwencja jest Twoim wzorem.

5×5 Siatka wzorów

W przeciwieństwie do siatek 3×3 powszechnie używanych w ekranach blokad Androida, Vaultaire używa siatki 5×5. To nie jest wybór kosmetyczny. Dwadzieścia pięć pozycji umożliwia znacznie więcej ścieżek, skrzyżowań, przeskoków i zmian kierunku niż dziewięć pozycji. Większa przestrzeń teoretyczna pomaga,, ale rzeczywiste bezpieczeństwo nadal zależy od nieprzewidywalności wybranej ścieżki. Znana litera lub prosty kształt pozostaje łatwy do odgadnięcia nawet wtedy, gdy siatka może wyrazić miliardy alternatyw.

Krok 2: Wzór wyprowadza klucz sejfu

Twój narysowany wzór jest serializowany razem z rozmiarem siatki i przekazywany do PBKDF2 (Password-Based Key Derivation Function 2) z HMAC-SHA512, 600 000 iteracjami i losową solą urządzenia. Sól nie jest tajna; jest przechowywana w iOS Keychain jako element WhenUnlockedThisDeviceOnly. Dzięki temu lokalne wyprowadzanie jest powiązane z urządzeniem; sól nie jest unikalna dla każdego sejfu i nie dodaje entropii do wzoru wybranego przez człowieka.

Przebieg szyfrowania
Twój wzór
5×5 ścieżka siatki
→
PBKDF2 + sól
Wyprowadzenie klucza
→
256-bitowy klucz
Unikalne na sejf
→
AES-256-GCM
Szyfrowanie plików

Proces wyprowadzania klucza jest celowo kosztowny. PBKDF2 wykonuje 600 000 iteracji HMAC-SHA512 dla każdego kandydującego wzoru, podnosząc koszt ataku zgadującego. Nie zmienia to wzoru o niskiej entropii w 256 bitów bezpieczeństwa, a czas ataku zależy od sprzętu atakującego. Jego cel jest węższy i mierzalny: każda próba ma kosztować znacznie więcej niż zwykły skrót.

Krok 3: Twoje pliki zostaną zaszyfrowane

Kiedy sejf jest tworzony po raz pierwszy, Vaultaire generuje losowy 256-bitowy klucz główny. Klucz sejfu wyprowadzony ze wzoru szyfruje indeks i opakowuje ten klucz główny; nie szyfruje bezpośrednio każdego pliku. Klucz główny jest używany z AES-256-GCM dla nagłówków plików, treści, miniatur i powiązanych metadanych. Nowe wartości jednorazowe sprawiają, że powtarzający się tekst jawny nie daje powtarzającego się szyfrogramu pod tym samym kluczem.

Tryb GCM dodaje ważną warstwę: uwierzytelnianie. Nie tylko szyfruje Twoje dane, ale także generuje znacznik wykrywający wszelkie manipulacje. Jeśli pojedynczy bit zaszyfrowanego pliku zostanie zmodyfikowany, odszyfrowanie zakończy się niepowodzeniem. Nikt nie może manipulować Twoimi plikami bez Twojej wiedzy.

Krok 4: Stan aktywnego klucza został wyczyszczony

Kiedy Vaultaire się blokuje, czyści swój aktywny sejf i stan klucza głównego i wymaga kolejnej ceremonii odblokowania przed ponownym wyświetleniem plików. Gdy sejf jest otwarty, te bajty klucza symetrycznego koniecznie istnieją w procesie aplikacji, tzw CryptoKit może wykonać AES-GCM operacje. Vaultaire przechowuje również informacje dotyczące odzyskiwania, w tym kopertę odzyskiwania zaszyfrowaną wzorem i frazą, w zaszyfrowanej AES-GCM bazie danych przechowywanej w iOS Keychain. Różni się to zasadniczo od twierdzenia, że wzór i każda kopia klucza nie są nigdzie przechowywane.

Matematyka się za tym kryje (prostym angielskim)

Nie potrzebujesz dyplomu informatyki, aby zrozumieć, dlaczego to działa. Bezpieczeństwo sprowadza się do trzech liczb: liczby możliwych wzorów, czasu trwania każdego odgadnięcia i liczby domysłów, które może wykonać atakujący.

2256
Przestrzeń klucza AES
5×5
Rozmiar siatki
Miliardy
Możliwe wzory

Entropia: miara nieprzewidywalności

Entropia to fantazyjne określenie “, jak trudno to zgadnąć. ” Rzut monetą ma 1 bit entropii (dwa wyniki). Czterocyfrowy PIN ma około 13 bitów entropii (10 000 wyników). Dobrze wybrany wzór na siatce 5×5, łączący 8 lub więcej kropek, może przekroczyć 30 bitów entropii, ponad miliard możliwych wzorów.

Entropia wzoru wyznacza górną granicę odporności na zgadywanie. PBKDF2 nie stworzy entropii, której gest nie zawiera, ale może sprawić, że testowanie każdego kandydata będzie znacznie droższe.

Wyprowadzanie klucza: sprawianie, że zgadywanie jest drogie

PBKDF2 przyjmuje serializowany wzór i uruchamia 600 000 rund HMAC-SHA512. Szacunki ataku muszą uwzględniać zmierzony koszt sprzętu zgadującego: przy dokładnie 1 ms na pełnego kandydata 1 000 000 000 kandydatów zajęłoby 1 000 000 s, czyli około 11,6 dnia, na 1 jednostkę obliczeniową. Wyższy zmierzony koszt kandydata wydłuża ten czas; sprzęt równoległy go skraca. 256-bitowa długość wyniku nie zmienia rozmiaru przestrzeni wyszukiwania wzorów.

Sól urządzenia jest zapisana w Keychain i nie jest pomyślana jako sekret. Keychain i Ochrona danych iOS mogą utrudnić jej wydobycie z zajętego urządzenia, ale analiza kryptograficzna musi zakładać, że analityk, który zdobędzie zaszyfrowane pliki, zdobędzie też sól. Sól zapobiega obliczeniom wstępnym wspólnym dla wielu urządzeń; nie zastępuje mocnego wzoru.

AES-256: otwarty standard NIST

AES-256 to silny, standardowy szyfr opublikowany przez NIST jako FIPS 197. „256” odnosi się do długości klucza w bitach. Klucz 256-bitowy ma 2256 możliwych wartości, zdecydowanie za dużo, by sprawdzić je metodą siłową. Atakujący celuje więc we wzór, dlatego Vaultaire wzmacnia go 600 000 iteracjami PBKDF2.

Bezpieczeństwo AES-256 nie zależy od zachowania algorytmu w tajemnicy. Całego systemu nie chroni jednak sama przestrzeń kluczy AES: praktyczną granicę zgadywania wyznaczają entropia wzoru, koszt PBKDF2 oraz ochrona soli urządzenia i zaszyfrowanych danych. AES-256-GCM zapewnia silne uwierzytelnione szyfrowanie po odblokowaniu prawidłowego losowego klucza głównego.

Dlaczego nikt nie może się przebić

Rozważmy główne sposoby, w jakie ktoś może próbować uzyskać dostęp do Twoich zaszyfrowanych plików, co robi Vaultaire, aby podnieść koszt ataku, i gdzie leżą granice ochrony.

Brute Force: wypróbowywanie każdego wzoru

PBKDF2 sprawia, że każdy kandydat na wzór kosztuje 600 000 iteracji HMAC-SHA512. Jest to znacząca obrona, ale nie obietnica stałej liczby lat: wynik zależy od wyboru wzoru, zmierzonej szybkości wyprowadzania, równoległości i tego, czy analityk zdobył sól urządzenia. Dłuższe i mniej przewidywalne ścieżki mają znaczenie, ponieważ PBKDF2 podnosi koszt domysłu, zamiast tworzyć nową entropię.

Ataki smugowe: czytanie ekranu

Na siatce 3×3 smugi na ekranie mogą znacznie zawęzić możliwe wzory. Na siatce 5×5 wzór smug pokazuje, które kropki zostały dotknięte, ale nie ujawnia kolejności, kierunku ani połączeń między nimi. Eksplozja kombinatoryczna czyni to podejście niepraktycznym.

Surfowanie po ramionach: patrzenie, jak rysujesz

Wzory narysowane szybko na małym ekranie telefonu są niezwykle trudne do zapamiętania poprzez obserwację, zwłaszcza na siatce 5×5. Badania pokazują, że obserwatorom znacznie trudniej jest odtworzyć złożone wzory w porównaniu do podsłuchania wypowiadanego na głos kodu PIN lub hasła.

Zajęcie urządzenia: Zabieranie telefonu

Jeśli ktoś zabierze Twój telefon, zawartość plików i indeksy Vaultaire pozostaną szyfrogramem AES-GCM, dopóki wymagane klucze nie będą dostępne. Aplikacja nie przechowuje konwencjonalnego rekordu weryfikacji hasła, ale to nie wyklucza weryfikacji offline. Nazwa pliku każdego zaszyfrowanego indeksu sejfu zawiera skrócony skrót klucza sejfu, a uwierzytelnione odszyfrowanie AES-GCM dla klucza kandydata albo się powiedzie, albo nie. Dlatego ochrona urządzenia i siła wzoru pozostają częścią modelu zagrożeń.

Brak weryfikacji Oracle

Do sprawdzenia próby wystarczy uwierzytelniony szyfrogram; osobny skrót hasła nie jest potrzebny. Znaczniki AES-GCM w Vaultaire dają bardzo pewny wynik: sukces albo porażkę, a nazwa pliku indeksu umożliwia tańszą wstępną kontrolę. Obroną są koszt i nieprzewidywalność poświadczenia oraz ochrona lokalnego materiału przez iOS, a nie brak możliwości weryfikacji.

Wybieranie silnego wzoru

Szyfrowanie jest tak silne, jak wybrany wzór. Oto, jak zmaksymalizować bezpieczeństwo przy minimalnym wysiłku.

Co sprawia, że wzór jest mocny

  • Użyj więcej kropek.Połącz co najmniej 8 z 25 dostępnych punktów. Każda dodatkowa kropka mnoży liczbę możliwych wzorów.
  • Przejdź własną ścieżką.Wzory zapętlające się, pomijające kropki lub nieoczekiwanie zmieniające kierunek są znacznie trudniejsze do odtworzenia z pamięci lub obserwacji.
  • Unikaj oczywistych kształtów.Litery (L, Z, S), proste kształty geometryczne (kwadraty, trójkąty) i linie proste to pierwsze rzeczy, których atakujący spróbuje w pierwszej kolejności.
  • Użyj pełnej siatki.Wzory pozostające w jednym rogu lub wzdłuż jednej krawędzi marnują dostępną entropię. Rozczapierzyć.

Czego należy unikać

  • Wzory o minimalnej długości. Vaultaire wymaga co najmniej 6 punktów i jednej zmiany kierunku, ale spełnienie minimum nie czyni ścieżki nieprzewidywalną. Użyj większej części siatki, jeśli potrafisz pewnie zapamiętać wynik.
  • Proste kształty geometryczne.Kształt litery L, zygzak lub prosta linia ukośna to odpowiedniki wzoru “hasło123.”
  • Za każdym razem zaczynając od tego samego narożnika.Badania dotyczące wzorów blokad Androida pokazują, że większość ludzi zaczyna od lewej górnej kropki. Napastnicy o tym wiedzą.

Najlepszy punkt

Wzór łączący kropki 8–12 z co najmniej dwiema zmianami kierunku zapewnia doskonałe bezpieczeństwo, a jednocześnie jest łatwy do zapamiętania dzięki pamięci mięśniowej. Nie musisz go zapamiętywać jak hasła, Twoja ręka pamięta ruch w taki sam sposób, w jaki pamięta, jak napisać swój podpis.

Dlaczego powinieneś czuć się bezpiecznie

Szyfrowanie wzorem w Vaultaire to nie tylko ładniejsza klawiatura PIN. Gest przechodzi przez prawdziwą funkcję wyprowadzania klucza i musi odblokować uwierzytelnione zaszyfrowane dane. Jego siła nadal zależy od wybranego gestu, dlatego Vaultaire łączy większą siatkę z wysokim kosztem PBKDF2 i nie przedstawia 256-bitowej długości wyniku jako 256 bitów ludzkiej entropii.

Twój wzór i lokalny klucz do sejfu nie są wysyłane do Vaultaire. Gdy kopia zapasowa jest włączona, co jest ustawieniem domyślnym, oddzielny klucz kopii zapasowej oparty na wzorze szyfruje rekordy CloudKit, a i zaszyfrowany manifest odzyskiwania pozwalają frazie odzyskiwania przywrócić sejf i klucze kopii zapasowej. Vaultaire nie posiada klucza dostawcy, który odszyfrowuje te rekordy, ale poświadczenia urządzenia i odzyskiwania pozostają krytycznymi dla bezpieczeństwa elementami projektu.

Rysujesz kształt. Ten kształt chroni Twoje pliki. Resztę zrobi matematyka.

Często zadawane pytania

Co się stanie, jeśli zapomnę wzór?

Kiedy tworzysz sejf, Vaultaire generuje własną frazę z dziewięciu słów. PBKDF2 wyprowadza z tej frazy klucz odzyskiwania, który otwiera zaszyfrowaną kopertę zawierającą klucz sejfu. Jeśli utracisz zarówno wzór, jak i frazę odzyskiwania, Vaultaire nie będzie miał klucza po stronie serwera, który mógłby przywrócić sejf.

Czy wzór jest naprawdę bezpieczniejszy niż hasło?

Dobrze wybrany wzór na siatce 5×5 może równać się lub przekraczać entropię typowego hasła. Zaletą jest użyteczność: ludzie wybierają słabe hasła, ponieważ silne są trudne do zapamiętania. Wzory wykorzystują pamięć mięśniową, dzięki czemu używanie złożonych wzorów bez świadomego zapamiętywania jest naturalne.

Czy ktoś może zrobić zrzut ekranu lub nagrać mój wzór?

Vaultaire nakłada na siatkę wzoru osłonę przed zrzutami ekranu, działającą w miarę możliwości, i reaguje, gdy iOS zgłasza aktywne nagrywanie ekranu. iOS nie udostępnia publicznej flagi bezpiecznego ekranu dla dowolnej zawartości aplikacji, więc te zabezpieczenia ograniczają przypadkowe przechwytywanie, ale nie mogą zagwarantować, że każda metoda przechwytywania zostanie zablokowana.

Jakiego algorytmu szyfrowania używa Vaultaire?

Vaultaire używa PBKDF2-HMAC-SHA512 z 600 000 iteracji, aby wyprowadzić klucz sejfu ze wzoru i soli urządzenia zapisanej w Keychain. Ten klucz sejfu szyfruje indeks sejfu i opakowuje losowy 256-bitowy klucz główny. AES-256-GCM pod kluczem głównym chroni zawartość plików, nagłówki, metadane i miniatury za pomocą uwierzytelnionego szyfrowania.

Czy wzór jest zapisany na moim urządzeniu?

Vaultaire przechowuje informacje dotyczące odzyskiwania, w tym wzór, w zaszyfrowanej AES-GCM bazie danych odzyskiwania zapisanej w iOS Keychain. Wzór nie jest wysyłany do Vaultaire ani zapisywany w jawnych plikach. Gdy sejf jest otwarty, w procesie aplikacji istnieją bajty klucza; zablokowanie usuwa aktywny stan klucza Vaultaire.

Czy Vaultaire może uzyskać dostęp do moich zaszyfrowanych plików?

Vaultaire nie prowadzi usługi, która otrzymuje wzór, frazę odzyskiwania, klucze odszyfrowujące lub czytelną zawartość sejfu. Zaszyfrowane kopie zapasowe iCloud pozostają w prywatnej bazie danych CloudKit. Ta granica dostawcy nie chroni otwartego sejfu przed przejętą kompilacją aplikacji, systemem operacyjnym lub urządzeniem.

Wypróbuj Szyfrowanie wzorem

Narysuj swój pierwszy wzór i przekonaj się, jakie to uczucie, gdy Twoje pliki są naprawdę chronione.

Pobierz Vaultaire za darmo