Encryption without a master password
This method of protection is less secure than encryption with a master password. The password store is encrypted with a key that is stored on the computer and protected by the operating system. If a hacker gets access to the computer or hard drive, they could steal and decrypt the passwords.
Steps for encryption without a master password
If the user didn't create a master password, the passwords are encrypted in the browser in these steps:
- The EncKey is encrypted using the browser's built-in OSCrypt function, and is then stored on the computer. The OSCrypt function uses various encryption algorithms depending on the operating system (see the table).
Operating system | EncKey encryption |
---|---|
Windows | Calls the CryptProtectData/CryptUnprotectData function, which encrypts the EncKey using AES-256 (Windows 7) or 3DES (Windows XP and Vista). The key that was used for encrypting EncKeyis stored in the user profile in the OS. |
macOS | Uses AES-128-CBC encryption. The encryption key is stored in the Keychain secure store. |
Linux | Uses AES-128-CBC encryption. The encryption key is stored in the KeyStorage secure store. |
Operating system | EncKey encryption |
---|---|
Windows | Calls the CryptProtectData/CryptUnprotectData function, which encrypts the EncKey using AES-256 (Windows 7) or 3DES (Windows XP and Vista). The key that was used for encrypting EncKeyis stored in the user profile in the OS. |
macOS | Uses AES-128-CBC encryption. The encryption key is stored in the Keychain secure store. |
Linux | Uses AES-128-CBC encryption. The encryption key is stored in the KeyStorage secure store. |
The original password encryption key (EncKey):
Mh6lu1xRuZFo/qJ2yktfJch2nAzlgY4+OPADyLQYfrkbR0hxae9M5nVdafthJa2QHG18sZbf2VOxveH87naRb3vq3oJykfxlVHX4bllYDCcLISzHZVnxF2yMM0r4BXl8Uq+nuINiWx8kaKtrULrdwnMGU6eOuOLZvv/wLDzQvz74iuQUgoR3NSpOByFnY/BkAmGWbQ5KXTYqqIcrcqkG1xb3EAQGEG8KGPtQsTvLsHL1QdjteMZ9CBBLAWjYd/kdrZsx+MU96XMEA+ViBU0ot35cAPVBeWgAyMZhvM9sYy4zB2HrCg+n14kSc85OjNEqAChQDeHVtcbBfyshnKB0Qg==
The key that is used for encrypting EncKeyis generated by the CryptProtectData
function and is located in the directory:
C:\Users\Account name\AppData\Roaming\Microsoft\Protect
EncKey* (in base64), encrypted by the key generated by the CryptProtectData
function:
AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAApRUs2Bmwq0O4LpCRrIGKQAAAAAACAAAAAAADZgAAwAAAABAAAAAttmGwtWQIgR+ugd6cMwB1AAAAAASAAACgAAAAEAAAAKXn3AtX945aXjv2nFEYf6soAAAAFoZEF0y2DY4+JtCPwkZb68tXEHiZHMPRhJIrMzQA+QF6E6iJBGZD+RQAAAAnmL25O/Rbm8JaMS9cwZZAWtjEGA==
When the user wants to enter a password in a login form, the browser decrypts the EncKey via the OS, then decrypts the necessary password.
Vulnerabilities of encryption without a master password
- In Windows, any program (including malware) may ask the operating system to decrypt the EncKey and thus gain access to passwords.
- The encryption key is stored on the computer. Attackers can steal the key by getting access to the computer or hard drive. If they get the key, they can easily decrypt the EncKey and all the passwords.
- Different computers use different password encryption functions, so the passwords are decrypted when they are sent to the Yandex server for syncing.
- On Yandex servers, passwords are encrypted with a key that is also stored on a Yandex server. This is not fully secure.
Sync passwords
When you sync a password store that is not protected by a master password, the password store is sent to the server in open (decrypted) format. Because the EncKey is encrypted using different algorithms on different operating systems, it also must be decrypted by the OS before syncing.
On Yandex servers, all the passwords are encrypted using a key generated from the user's Yandex account password, then stored on servers in this format. Since the encryption key is also stored on the Yandex server, this method is less secure than syncing a password store that is protected by a master password.
Before passwords are send to the user's other devices, they are decrypted on the server. Then they are encrypted on the device itself using the AES-256-GCM algorithm with a re-generated EncKey key and stored on the device. When the EncKey is encrypted, the encryption algorithm and key storage location depend on the device's OS.