Sont-ils chiffrés sur disque? Comment? Sont-ils sûrs, par exemple, si quelqu'un démarre à partir d'un Live CD et monte le disque dur?
Comment la clé de cryptage est-elle générée? Est-ce différent sous Windows et Linux?
Sont-ils chiffrés sur disque? Comment? Sont-ils sûrs, par exemple, si quelqu'un démarre à partir d'un Live CD et monte le disque dur?
Comment la clé de cryptage est-elle générée? Est-ce différent sous Windows et Linux?
Réponses:
Vous semblez être curieux de savoir spécifiquement la clé utilisée pour crypter les mots de passe dans Chrome.
La réponse est:
Et puis le mot de passe chiffré est stocké dans le fichier de base de données SQLite:
Vous pouvez utiliser quelque chose comme SQLite Database Browser ou SQLite Maestro pour l'afficher. Voici un extrait de mon
Login Data
fichier:Vous remarquerez que le mot de passe est une goutte de données chiffrée. L'algorithme approximatif pour crypter un nouveau mot de passe est:
Et Chrome enregistre ce blob dans sa base de données SQLite.
Mais pour répondre à votre question: d'où vient la clé de chiffrement?
Les détails techniques
Bien sûr, j'ai omis les détails techniques. Chrome ne chiffre pas lui-même vos mots de passe. Chrome n'a pas de clé principale utilisée pour chiffrer quoi que ce soit. Chrome ne fait pas le cryptage. Windows le fait.
Il existe une fonction Windows
CryptProtectData
, qui est utilisée pour crypter toutes les données arbitraires que vous aimez. Les détails de l'appel sont moins importants. Mais si j'invente un pseudo-langage qui peut être déchiffrable comme n'importe quelle langue de programmation, Chrome appelle:Donc le mot de passe:
correct battery horse staple
01000000D08C9DDF0115D1118C7A00C04FC297EB01000000BB0E1F4548ADC84A82EC0873552BCB460000000002000000000003660000C0000000100000006811169334524F33D880DE0C842B9BBB0000000004800000A00000001000000043C8E23979F5CC5499D73610B969A92A08000000EE07953DEC9F7CA01400000098B5F0F01E35B0DC6BBAFC53A9B1254AC999F4FA
Vous remarquerez que je n'ai jamais eu besoin de fournir un mot de passe. C'est parce que Windows s'occupe de tout cela. À la fin:
Donc, la seule façon pour quelqu'un de connaître votre mot de passe est de connaître votre mot de passe.
la source
%LocalAppData%\Google\Chrome\User Data\Default\Login Data
Les mots de passe sont cryptés et stockés dans une base de données SQLite:
la source
CryptProtectData
utilise vos informations d'identification Windows (pas le mot de passe, mais d'autres données) comme clé. AFAIK, c'est la même fonction utilisée pour protéger vos certificats, vos informations d'identification réseau et tout ça.Encryptor::EncryptString
ne fait rien . Il semble y avoir du code pour utiliser le porte-clés GNOME et le portefeuille KDE.Ils sont "cryptés" mais c'est un cryptage réversible. Chrome doit envoyer le mot de passe brut au site pour lequel il a été stocké, donc si Chrome peut le décrypter et l'utiliser, les autres personnes aussi. Le stockage des mots de passe n'est jamais sûr à 100%.
la source
CryptProtectData
est une API Windows, Windows fait tout le cryptage et la récupération, la clé de cryptage dépend de votre compte utilisateur et de votre système.Google Chrome crypte les mots de passe et les stocke dans SQLite DB, mais ils peuvent être facilement visualisés avec les applications spéciales de récupération de mot de passe telles que ChromePass ( http://www.nirsoft.net/utils/chromepass.html ) ou SecurePassword Kit ( http: // www.getsecurepassword.com/ )
la source
Sur le Mac, l'équivalent de la fonction CryptProtectData dans Windows est d'accéder au mot de passe pour "Chrome Safe Storage" dans le trousseau d'OS X.
la source