搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

Learn More

Changing primary password does not rewrite logins.json?

  • 2 回覆
  • 0 有這個問題
  • 2 次檢視
  • 最近回覆由 thefirefox

more options

When changing the primary password I would expect the logins.json file being rewritten with new pairs of encryptedUsername and encryptedPassword (now encrypted based on a new primary password). But this is obviously not the case. But maybe I just didn't understand the way this works?

When changing the primary password I would expect the logins.json file being rewritten with new pairs of encryptedUsername and encryptedPassword (now encrypted based on a new primary password). But this is obviously not the case. But maybe I just didn't understand the way this works?

被選擇的解決方法

I assume that this works differently and that they do not re-encrypt logins.json, but instead encode the original seed that is used to encrypt logins.json with the PP and always the same seed is used to decrypt logins.json, but only the correct PP can recover this random seed. So to protect against forgetting the PP, you can possibly save a backup copy of key4.db that doesn't use the PP or uses an easy PP along with logins.json.

從原來的回覆中察看解決方案 👍 2

所有回覆 (2)

more options

選擇的解決方法

I assume that this works differently and that they do not re-encrypt logins.json, but instead encode the original seed that is used to encrypt logins.json with the PP and always the same seed is used to decrypt logins.json, but only the correct PP can recover this random seed. So to protect against forgetting the PP, you can possibly save a backup copy of key4.db that doesn't use the PP or uses an easy PP along with logins.json.

more options

Yes, this makes sense, thanks!

Finally found a brief documentation here: https://firefox-source-docs.mozilla.org/security/nss/legacy/an_overview_of_nss_internals/index.html

"The key database file will contain at least one symmetric key, which NSS will automatically create on demand, and which will be used to protect your secret (private) keys. The symmetric key can be protected with PBE by setting a master password on the database. As soon as you set a master password, an attacker stealing your key database will no longer be able to get access to your private key, unless the attacker would also succeed in stealing the master password."