Czy są szyfrowane na dysku? W jaki sposób? Czy są bezpieczne, na przykład, gdy ktoś uruchomi się z Live CD i zamontuje dysk twardy?
Jak generowany jest klucz szyfrujący? Czy jest inaczej w systemach Windows i Linux?
Czy są szyfrowane na dysku? W jaki sposób? Czy są bezpieczne, na przykład, gdy ktoś uruchomi się z Live CD i zamontuje dysk twardy?
Jak generowany jest klucz szyfrujący? Czy jest inaczej w systemach Windows i Linux?
Odpowiedzi:
Wygląda na to, że jesteś ciekawy klucza używanego do szyfrowania haseł w Chrome.
Odpowiedź to:
A następnie zaszyfrowane hasło jest przechowywane w pliku bazy danych SQLite:
Możesz użyć czegoś takiego jak SQLite Database Browser lub SQLite Maestro, aby go wyświetlić. Oto fragment mojego
Login Data
pliku:Zauważysz, że hasło jest zaszyfrowaną kroplą danych. Przybliżony algorytm szyfrowania nowego hasła to:
Chrome zapisuje ten obiekt blob w swojej bazie danych SQLite.
Ale żeby odpowiedzieć na twoje pytanie: Skąd pochodzi klucz szyfrujący?
Szczegóły techniczne
Oczywiście pominąłem szczegóły techniczne. Chrome nie szyfruje samych haseł. Chrome nie ma klucza głównego używanego do szyfrowania czegokolwiek. Chrome nie szyfruje. Windows tak.
Istnieje funkcja systemu Windows
CryptProtectData
, która służy do szyfrowania dowolnych dowolnych danych. Szczegóły nazywania go są mniej ważne. Ale jeśli wymyślę pseudojęzyk, który w pewnym sensie może być rozszyfrowany jako język programowania, Chrome wywołuje:Więc hasło:
correct battery horse staple
01000000D08C9DDF0115D1118C7A00C04FC297EB01000000BB0E1F4548ADC84A82EC0873552BCB460000000002000000000003660000C0000000100000006811169334524F33D880DE0C842B9BBB0000000004800000A00000001000000043C8E23979F5CC5499D73610B969A92A08000000EE07953DEC9F7CA01400000098B5F0F01E35B0DC6BBAFC53A9B1254AC999F4FA
Zauważysz, że nigdy nie musiałem podawać hasła. Dzieje się tak, ponieważ Windows zajmuje się tym wszystkim. Na końcu:
Więc jedynym sposobem, aby ktoś zna twoje hasło, jest to, że zna twoje hasło.
źródło
%LocalAppData%\Google\Chrome\User Data\Default\Login Data
Hasła są szyfrowane i przechowywane w bazie danych SQLite:
źródło
CryptProtectData
Windows kluczem są dane uwierzytelniające systemu Windows (nie hasło, ale niektóre inne dane). AFAIK, to ta sama funkcja, która służy do ochrony twoich certyfikatów, poświadczeń sieciowych i wszystkich innych rzeczy.Encryptor::EncryptString
nic nie robi . Wydaje się, że jest kod do używania kluczy GNOME i portfela KDE.Są „szyfrowane”, ale jest to szyfrowanie odwracalne. Chrome musi wysłać nieprzetworzone hasło do witryny, dla której zostało zapisane, więc jeśli Chrome może je odszyfrować i użyć, to inni też mogą to zrobić. Przechowywanie haseł nigdy nie jest w 100% bezpieczne.
źródło
CryptProtectData
to interfejs API systemu Windows, system Windows faktycznie dokonuje całego szyfrowania i pobierania, klucz szyfrowania zależy od konta użytkownika i systemu.Google Chrome szyfruje hasła i przechowuje je w SQLite DB, ale można je łatwo przeglądać za pomocą specjalnych aplikacji do odzyskiwania haseł, takich jak ChromePass ( http://www.nirsoft.net/utils/chromepass.html ) lub SecurePassword Kit ( http: // www.getsecurepassword.com/ )
źródło
Na komputerze Mac odpowiednikiem funkcji CryptProtectData w systemie Windows jest uzyskanie dostępu do hasła „Chrome Safe Storage” w pęku kluczy systemu OS X.
źródło