Они зашифрованы на диске? Как? Безопасны ли они, например, в случае, если кто-то загружается с Live CD и монтирует жесткий диск?
Как генерируется ключ шифрования? Отличается ли это в Windows и Linux?
Они зашифрованы на диске? Как? Безопасны ли они, например, в случае, если кто-то загружается с Live CD и монтирует жесткий диск?
Как генерируется ключ шифрования? Отличается ли это в Windows и Linux?
Ответы:
Вы, кажется, любопытно, особенно о ключе, используемом для шифрования паролей в Chrome.
Ответ:
А затем зашифрованный пароль сохраняется в файле базы данных SQLite:
Вы можете использовать что-то вроде SQLite Database Browser или SQLite Maestro для просмотра. Вот фрагмент из моего
Login Data
файла:Вы заметите, что пароль - это зашифрованный набор данных. Примерный алгоритм шифрования нового пароля:
И Chrome сохраняет этот BLOB-объект в своей базе данных SQLite.
Но чтобы ответить на ваш вопрос: откуда взялся ключ шифрования?
Технические детали
Конечно, я не учел технические детали. Chrome не шифрует ваши пароли сам. Chrome не имеет мастер-ключа, используемого для шифрования чего-либо. Chrome не выполняет шифрование. Windows делает.
Есть функция Windows
CryptProtectData
, которая используется для шифрования любых произвольных данных, которые вам нравятся. Детали его вызова менее важны. Но если я придумываю псевдоязык, который может быть несколько расшифрован как любой язык программирования, Chrome вызывает:Итак, пароль:
correct battery horse staple
01000000D08C9DDF0115D1118C7A00C04FC297EB01000000BB0E1F4548ADC84A82EC0873552BCB460000000002000000000003660000C0000000100000006811169334524F33D880DE0C842B9BBB0000000004800000A00000001000000043C8E23979F5CC5499D73610B969A92A08000000EE07953DEC9F7CA01400000098B5F0F01E35B0DC6BBAFC53A9B1254AC999F4FA
Вы заметите, что мне никогда не нужно было вводить пароль. Это потому, что обо всем этом заботится Windows. В конце:
Таким образом, единственный способ узнать ваш пароль, если он знает ваш пароль.
источник
%LocalAppData%\Google\Chrome\User Data\Default\Login Data
Пароли зашифрованы и хранятся в базе данных SQLite:
источник
CryptProtectData
в качестве ключа используются ваши учетные данные Windows (не пароль, а некоторые другие данные). AFAIK, это та же функция, которая используется для защиты ваших сертификатов, сетевых учетных данных и прочего.Encryptor::EncryptString
ничего не делает . Кажется, есть код для использования GNOME Keyring и KDE Wallet.Они «зашифрованы», но это обратимое шифрование. Chrome должен отправить необработанный пароль на сайт, для которого он был сохранен, так что, если Chrome может расшифровать и использовать его, то могут и другие люди. Хранение паролей никогда не является безопасным на 100%.
источник
CryptProtectData
Windows API, Windows фактически выполняет все шифрование и поиск, ключ шифрования зависит от вашей учетной записи пользователя и системы.Google Chrome шифрует пароли и сохраняет их в БД SQLite, но их можно легко просмотреть с помощью специальных приложений для восстановления паролей, таких как ChromePass ( http://www.nirsoft.net/utils/chromepass.html ) или SecurePassword Kit ( http: // www.getsecurepassword.com/ )
источник
На Mac эквивалентом функции CryptProtectData в Windows является доступ к паролю для «Chrome Safe Storage» в связке ключей OS X.
источник