UWAGA: To pytanie jest podrozdział oryginalnego pytania na temat aWallet Password Manager opublikowanego na Cryptography.StackExchange. Zgodnie z sugestią @SEJPM , zamieszczam to tutaj, ponieważ temat pytania lepiej pasuje do InformationSecurity.StackExchange.
Po przeczytaniu wielu artykułów na temat zwiększania bezpieczeństwa moich kont internetowych zacząłem używać Menedżera haseł aWallet dla Androida do tworzenia kopii zapasowych moje hasła. Lubię to z następujących powodów:
- Mogę mieć dość hasła o dobrej entropii : Jestem w stanie wrzucić pomieszanie małych liter & WIELKIE LITERY, cyfry, znaki specjalne (w tym spacje) i mieć rozsądnie długie hasła (ponad 10 znaków )
- Dzięki bezpiecznemu zapisywaniu haseł mogę mieć odrębne hasła dla każdego konta internetowego , które w innym przypadku byłyby niemożliwe. Zapobiegłoby to efektowi kaskadowemu (ujawnieniu danych uwierzytelniających wszystkich kont), który ted jeśli jedno z moich kont, którego dane logowania udostępniam kilku kontom, zostanie przejęte.
Nie trzeba dodawać, że ten drugi punkt jest dyskusyjny , ponieważ posiadanie wszystkich danych logowania przechowywane w jednym miejscu wprowadza pojedynczy punkt awarii i stwarza takie samo ryzyko reakcji łańcuchowej wspomniany wcześniej.
Biorąc pod uwagę moją ograniczoną wiedzę na temat kryptografii i wątpliwości co do prywatności (biorąc pod uwagę niedawne przypadki kradzieży online), chcę poświadczyć bezpieczeństwo Menedżera haseł portfela przed zapisaniem Dane bankowe / karty w nim. Oto, co twierdzą na swojej stronie Google PlayStore :
ZABEZPIECZENIA
• Wszystkie dane są szyfrowane, w tym nazwy wpisów, definicje kategorii i same dane.
• Szyfruje dane przy użyciu algorytmów AES i Blowfish z kluczami o rozmiarach 256, 192 i 128 bitów.
• Gdy plik danych jest odszyfrowany, próbowane są wszystkie kombinacje algorytmu, rozmiaru klucza i trybu szyfrowania (CBC, CFB, OFB i ECB) z użyciem hasła głównego w celu odblokowania pliku danych. wydłuża ataki siłowe. Sama aplikacja nie przechowuje żadnych wskazówek dotyczących rzeczywistego szyfru, rozmiaru klucza ani trybu działania szyfrowania.
• Wykorzystuje losowo wygenerowaną „sól” połączoną z hasłem głównym. Sól pomaga aby chronić przed atakami słownikowymi off-line.
• Klucz otwierający plik danych jest tworzony przez połączenie twojego hasła głównego z 512-bitowym „solą”. Wynik jest szyfrowany 1000 razy przez SHA-256 . Powtarzające się haszowanie powoduje brutalną siłę trudniejsze.
Chociaż żaden z tych punktów nie ma dla mnie większego sensu, odrobina wiedzy o kryptografii mówi mi, że [proszę poprawić ja, jeśli się mylę] wielokrotne powtarzanie techniki szyfrowania nie „t Matematycznie poprawia bezpieczeństwo ; może to tylko dać fałszywe wrażenie dodatkowego bezpieczeństwa.
I z powodu tej niespójności zacząłem wątpić w słuszność ich innych twierdzeń. Moje pytania to: –
- Czy istnieje narzędzie / technika, której mógłbym użyć do odszyfrowania pliku
data.crypt
używanego przez aplikację aWallet, aby przetestować to bezpieczeństwo? - aWallet nie oferuje żadnego własnego miejsca w chmurze i pozwala nam (opcjonalnie) wykonać kopię zapasową pliku
data.crypt
na Dysk Google lub Dropbox. Jak bezpieczne byłoby to, biorąc pod uwagę fakt, że używam uwierzytelniania dwuetapowego na moim koncie Google? - Czy ogólnie jest bezpieczne przechowywanie danych logowania, danych bankowych lub obu w menedżerze haseł?
Komentarze
Odpowiedź
Uwaga: ten post faktycznie odpowiada na pytania zawarte w pytaniu i nie komentuje (zbytnio) bezpieczeństwa portfela. Proponuję odwiedzić Wersja Crypto.SE tego pytania , aby przejrzeć szczegóły kryptograficzne.
Czy jest jakieś narzędzie / technika, której mógłbym użyć podjąć próbę odszyfrowania pliku data.crypt używanego przez aplikację aWallet, aby przetestować jego bezpieczeństwo?
Szybkie wyszukiwanie nic nie dało, więc przypuśćmy, że ten menedżer haseł nie jest wystarczająco duży / nie widział wystarczająco dużo badań, aby skłonić kogoś innego do napisania narzędzia do ataku na tego menedżera haseł.
aWallet nie oferuje własnego przechowywania w chmurze i pozwala nam (opcjonalnie) wykonać kopię zapasową pliku data.crypt na Dysk Google lub Dropbox. Jak bezpieczne byłoby to, biorąc pod uwagę fakt, że używam uwierzytelniania dwuetapowego na moim koncie Google?
To bardzo zależy.
Zakładając, że portfel Środki bezpieczeństwa są w rzeczywistości dobre i używasz silnego hasła i / lub lokalnego pliku klucza, a następnie przesłanie zaszyfrowanej bazy danych haseł do usługi w chmurze nie szkodzi bezpieczeństwu, ponieważ Twoje hasło i / lub plik klucza nadal chronić hasła. Oczywiście dodatkowe uwierzytelnianie i kontrola dostępu do tych usług w chmurze oznacza, że istnieje szansa, że tylko Ty i dostawca macie dostęp i zwykle w interesie dostawcy jest unikanie wycieku plików użytkowników.
Czy ogólnie bezpieczne jest przechowywanie danych logowania lub danych bankowych, lub obu, w menedżerze haseł?
Tak, bardzo, jeśli menedżer haseł jest przyzwoity.
Korzystanie z menedżera haseł pozwala łatwo mieć unikalne, silne hasła na stronę internetową, co oznacza, że wymagane jest złamanie zabezpieczeń bazy danych haseł lub lokalnego klienta. Jak już ustaliliśmy, silne hasło uniemożliwia złamanie zabezpieczeń kopii zapasowej, co pozostawia klienta jako wektor do nauki hasła. Ale gdy tylko Twój klient zostanie zagrożony, wszystkie zakłady i tak są odrzucane, ponieważ atakujący może po prostu podsłuchać Twoją klawiaturę lub monitorować / przechwycić dane sieciowe! Więc w sumie niewiele do stracenia, a dużo do zyskania, używając (dobrych) passowrd managerów.
To, czy aWallet jest dobrym menedżerem haseł, to jednak inna kwestia (i odpowiedź na Crypto.SE).
Odpowiedź
aPortfel konkretnie: nie używaj go. Twórca oczywiście nie wie, co robi. Wybiorę tylko jedną obawę (jest kilka, które prawdopodobnie będą bardziej oczywiste dla Ludzi mądrzejszych ode mnie): może zaszyfrować bazę danych w trybie EBC (czasami, ale nie zawsze).
Tryb EBC w szczególności nie jest bezpieczny, ponieważ ten sam tekst jawny zawsze szyfruje ten sam zaszyfrowany tekst. Dlatego tryb EBC „nie ukrywa dobrze wzorców danych … nie zapewnia poważnej poufności wiadomości , iw ogóle nie jest zalecane do używania w protokołach kryptograficznych ”.
Ogólnie menedżery haseł: używaj jednego. Ale wybierz dobrze znaną firmę o dobrej reputacji, taką jak 1Password, LastPass, KeePass, Dashlane itp. Lub przynajmniej użyj takiej, która została stworzona lub polecona przez znaną firmę zajmującą się bezpieczeństwem lub badacza bezpieczeństwa, jeśli nie wiesz, gdzie szukać. Dobry menedżer haseł z kompetentnym szyfrowaniem ( nie aWallet najwyraźniej) jest całkowicie bezpieczny w przechowywaniu w chmurze, pod warunkiem, że Twoje hasło główne jest silne.
Edytuj: OK Nie mogę się powstrzymać przed wybraniem kilku innych punktów, które rzucają się na mnie, krzycząc„ trzymaj się z daleka ”:
- Odnośnie transformacji hasła głównego na klucz szyfrowania: „Wynik jest szyfrowany 1000 razy przez SHA-256”. To jest śmiesznie niewystarczające. Wykonane prawidłowo, co najmniej użyli PBKDF z 10 000 rund lub więcej, a nie niestandardowej pętli mieszającej o wartości tylko 1000. Nawet to byłoby ledwo wystarczające i źle by się porównywało z prawidłowo zaimplementowanymi menedżerami haseł. Bardziej podobałyby się setki tysięcy lub więcej rund. Lub zrezygnuj z haszowania hasła opartego na SHA i użyj czegoś takiego jak bcrypt lub argon2. To oprogramowanie nie może się równać z nowoczesnymi narzędziami.
- „Obsługuje automatyczne niszczenie pliku danych po próbie wcześniej zdefiniowanej liczby nieudanych odblokowań”. W żaden sposób nie wpływa to na atakującego. Jedyną osobą, która może to zaszkodzić, jest uprawniony użytkownik. Osoba atakująca utworzy kopię bazy danych lub użyje zmodyfikowanego oprogramowania, aby usunąć limit domysłów. Ty na z drugiej strony może przypadkowo stracić wszystkie Twoje hasła i nigdy więcej ich nie zobaczyć, przez przypadkowe włączenie Caps Lock, martwy klawisz lub coś w tym rodzaju.
Odpowiedź
A konkretnie odpowiadając na Twoje pytanie:
Czy istnieje narzędzie / technika, której mógłbym użyć, odszyfrować plik data.crypt używany przez aplikację aWallet, aby przetestować jego bezpieczeństwo?
Oto mały skrypt w Pythonie, który odszyfrowuje pliki data.crypt
i drukuje zawartość na standardowe wyjście. Pamiętaj, że nie jest to bezpieczne, ponieważ wszystko jest widoczne jako zwykły tekst, więc tylko to na bezpiecznym komputerze lub z fikcyjnym plikiem danych.
Skrypt został zbudowany przy użyciu dokumentacja techniczna na awallet.org.
Is it safe to store login credentials or banking details or both in a password manager
Nie ' t musi być doskonałym zabezpieczeniem, musi być lepsze niż tworzenie własnego hasła i zapamiętywanie go.