Szyfrowanie wzorem: Jak narysowanie kształtu chroni Twoje pliki

Rysujesz wzór palcem. PBKDF2 zamienia ten gest w klucz skarbca, który odblokowuje oddzielny losowy klucz chroniący Twoje pliki AES-256-GCM. Brak 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 PBKDF2-HMAC-SHA512, 600 000 iteracji i sól obejmująca całe urządzenie przechowywana w pliku iOS Keychain. Wynik 256-bitowy to klucz skarbca: szyfruje indeks skarbca i rozpakowuje oddzielny losowy klucz główny, który AES-256-GCM wykorzystuje zawartość plików i metadane.

Co to jest Szyfrowanie wzorem?

Większość aplikacji skarbca 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 wzorców przyjmuje zasadniczo inne podejście. Zamiast wpisywać znaki w polu, rysujesz geometryczny kształt na siatce kropek. Określona ścieżka, którą prześledzisz — których kropek dotkniesz, w jakiej kolejności i z jaką geometrią — 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. Zamiast tego Vaultaire wprowadza narysowany wzór PBKDF2 w celu uzyskania 256-bitowego klucza skarbca. Klucz ten musi uwierzytelnić i odszyfrować indeks skarbca, zanim będzie mógł rozpakować losowy klucz główny używany w plikach. Nierozpoznany wzór jest przedstawiany jako pusty skarbiec, ale leżący u jego podstaw AES-GCM uwierzytelnianie nadal odróżnia klucz prawidłowy od nieprawidłowego.

Kluczowa różnica

Bramka dostępu oparta na kodzie PIN może przypominać zamknięte drzwi umieszczone przed plikami, które w inny sposób można byłoby odczytać. Wzór Vaultaire'a jest bliższy szyfrowi na sejfie: wyprowadza klucz otwierający zaszyfrowany indeks, który z kolei uwalnia 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 przedstawia siatkę kropek 5×5. Rysujesz ciągłą ścieżkę łączącą co najmniej 6 kropek z co najmniej dwiema zmianami kierunku. Aplikacja dokładnie rejestruje, które punkty odwiedził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 wykorzystuje siatkę 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 do odgadnięcia nawet wtedy, gdy siatka może wyrazić miliardy alternatyw.

Krok 2: Wzorzec wyprowadza klucz do skarbca

Twój narysowany wzór jest serializowany z rozmiarem siatki i wprowadzany do niego PBKDF2 (Funkcja wyprowadzania klucza na podstawie hasła 2) za pomocą HMAC-SHA512, 600 000 iteracji i losowa sól obejmująca całe urządzenie. Sól to nietajna wartość przechowywana w iOS Keychain jako element WhenUnlockedThisDeviceOnly. Powoduje to, że lokalne wyprowadzanie jest powiązane z urządzeniem; nie jest on unikalny dla każdego skarbca 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 skarbiec
AES-256-GCM
Szyfrowanie plików

Proces wyprowadzania klucza jest celowo kosztowny. PBKDF2 biegnie 600 tys HMAC-SHA512 iteracje dla każdego kandydującego wzorca, podnosząc koszt ataku zgadującego. Nie zmienia to wzorca 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: sprawić, by każde przypuszczenie było znacznie droższe niż zwykły skrót.

Krok 3: Twoje pliki zostaną zaszyfrowane

Kiedy skarbiec jest tworzony po raz pierwszy, Vaultaire generuje losowy 256-bitowy klucz główny. Klucz skarbca pochodzący ze wzorca szyfruje indeks i otacza 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. Świeże kody jednorazowe zapewniają, że powtarzający się tekst jawny nie tworzy powtarzającego się tekstu zaszyfrowanego 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 skarbiec i stan klucza głównego i wymaga kolejnej ceremonii odblokowania przed ponownym wyświetleniem plików. Gdy skarbiec 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 pliku AES-GCM zaszyfrowana baza danych przechowywana 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 wzorcó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 wzorce

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 pułap ataku polegającego na zgadywaniu. PBKDF2 nie może wytworzyć entropii, której nie zawiera ten gest, 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 ataków muszą uwzględniać zmierzony koszt sprzętu dokonującego zgadywania: przy dokładnie 1 ms na kompletnego kandydata 1 000 000 000 kandydatów zajęłoby 1 000 000 s, czyli około 11,6 dnia, na 1 pracownika. Wolniej mierzony koszt kandydata wydłuża ten czas; sprzęt równoległy zmniejsza to. 256-bitowa długość wyjściowa nie zmienia rozmiaru przestrzeni wyszukiwania wzorców.

Sól w całym urządzeniu przechowywana jest w Keychain i nie ma na celu zachowania tajemnicy. Keychain i iOS Ochrona danych może utrudnić ekstrakcję w przypadku zajęcia urządzenia, ale analiza kryptograficzna musi zakładać, że osoba przeprowadzająca badanie, która zdobędzie zaszyfrowane pliki, może również zdobyć sól. Sól zapobiega wstępnym obliczeniom na różnych urządzeniach; nie zastępuje mocnego wzoru.

AES-256: Standard, któremu ufają rządy

AES-256 to standard szyfrowania stosowany przez rząd USA w przypadku informacji niejawnych. “256” odnosi się do długości klucza w bitach. Klucz 256-bitowy ma 2256 możliwych wartości, liczba tak duża, że gdyby każdy atom w obserwowalnym wszechświecie był komputerem, a każdy komputer mógłby testować bilion kluczy na sekundę, i tak nie złamałby go przed śmiercią cieplną wszechświata.

Bezpieczeństwo AES-256 nie zależy od zachowania algorytmu w tajemnicy. Ale cały system nie jest chroniony samą przestrzenią kluczy AES: praktyczna granica zgadywania pochodzi z entropii wzoru, PBKDF2 współczynnik pracy oraz ochrona wokół soli urządzenia i szyfrowanej pamięci. 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ść koszty i gdzie pozostają ograniczenia.

Brute Force: wypróbowywanie każdego wzoru

PBKDF2 sprawia, że każdy kandydat na wzór płaci 600 000 HMAC-SHA512 iteracje. 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 egzaminator odzyskał 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 wzorce 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ą AES-GCM szyfrogram, dopóki wymagane klucze nie będą dostępne. Aplikacja nie przechowuje konwencjonalnego rekordu weryfikacji hasła, ale nie usuwa to weryfikacji offline. Nazwa pliku każdego zaszyfrowanego indeksu skarbca zawiera skrócony skrót klucza skarbca oraz AES-GCM uwierzytelnione odszyfrowanie również zakończy się sukcesem lub niepowodzeniem w przypadku klucza kandydującego. Dlatego ochrona urządzeń i siła wzorców pozostają częścią modelu zagrożenia.

Brak weryfikacji Oracle

Oddzielny skrót hasła nie jest wymagany do sprawdzenia odgadnięcia na podstawie uwierzytelnionego tekstu zaszyfrowanego. Vaultaire’a AES-GCM tagi zapewniają wysoki poziom pewności wyniku sukcesu lub niepowodzenia, a nazwa pliku indeksu zapewnia tańszą wstępną kontrolę. Obrona to koszt i nieprzewidywalność plusa referencji iOS ochrona lokalnego materiału, a nie brak wyroczni weryfikacyjnej.

Wybieranie silnego wzorca

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 dwóch zmian kierunku, ale spełnienie minimum nie powoduje, że ścieżka jest nieprzewidywalna. Użyj większej części siatki, jeśli możesz wiarygodnie 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 wzorcó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 wzorców w Vaultaire to nie tylko ładniejsza klawiatura PIN. Gest jest przetwarzany przez funkcję wyprowadzania prawdziwego klucza i musi odblokować uwierzytelnione zaszyfrowane dane. Jego siła nadal zależy od wybranego gestu, dlatego Vaultaire łączy większą siatkę z hajem PBKDF2 współczynnik pracy zamiast przedstawiać 256-bitową długość wyjściową jako 256 bitów tajnej entropii człowieka.

Twój wzór i lokalny klucz do skarbca nie są wysyłane do Vaultaire. Jeśli włączona jest opcjonalna kopia zapasowa, szyfrowany jest oddzielny klucz zapasowy oparty na wzorcu CloudKit rekordy i zaszyfrowany manifest odzyskiwania pozwalają frazie odzyskiwania przywrócić skarbiec i klucze zapasowe. Vaultaire nie posiada klucza dostawcy, który odszyfrowuje te rekordy, ale dane uwierzytelniające 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 skarbiec, Vaultaire generuje niestandardowe zdanie zawierające 9 oddzielnych słów. PBKDF2 na podstawie tego zdania uzyskuje klucz odzyskiwania, który otwiera zaszyfrowaną kopertę zawierającą klucz skarbca. 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ć skarbiec.

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. Wzorce wykorzystują pamięć mięśniową, dzięki czemu używanie złożonych wzorców bez świadomego zapamiętywania jest naturalne.

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

Vaultaire przykłada najlepszą tarczę zrzutu ekranu do siatki wzorów i reaguje, kiedy to nastąpi iOS zgłasza aktywne przechwytywanie ekranu. iOS nie zapewnia publicznej flagi bezpiecznego ekranu dla dowolnej zawartości aplikacji, więc te elementy sterujące 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 w celu uzyskania klucza skarbca na podstawie wzorca i całego urządzenia Keychain sól. Ten klucz skarbca szyfruje indeks skarbca i otacza 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 wzorzec, w pliku AES-GCM zaszyfrowana baza danych odzyskiwania przechowywana w pliku iOS Keychain. Wzór nie jest wysyłany do Vaultaire ani przechowywany w plikach tekstowych. Gdy skarbiec jest otwarty, w procesie aplikacji istnieją bajty klucza; zablokowanie powoduje spadek aktywnego stanu klucza Vaultaire.

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

Vaultaire nie obsługuje usługi, która otrzymuje wzór, frazę odzyskiwania, klucze odszyfrowujące lub czytelną zawartość skarbca. Zaszyfrowane iCloud kopie zapasowe pozostają prywatne CloudKit baza danych. Ta granica dostawcy nie chroni otwartego skarbca przed skompromitowaną 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