canmove, Confirmed users
937
edits
Line 25: | Line 25: | ||
The NSS cryptographic module stores the user's password in a special encrypted form in the NSS key database -- NSS encrypts the fixed string <code>"password-check"</code> (not including the terminating null byte) with a Triple DES key derived (using PKCS #5) from the user's password, and stores the encrypted password check string in the key database. This encryption protects against unauthorized disclosure and modification of the user's password. | The NSS cryptographic module stores the user's password in a special encrypted form in the NSS key database -- NSS encrypts the fixed string <code>"password-check"</code> (not including the terminating null byte) with a Triple DES key derived (using PKCS #5) from the user's password, and stores the encrypted password check string in the key database. This encryption protects against unauthorized disclosure and modification of the user's password. | ||
Recall that all the private and secret keys stored in the NSS key database are encrypted with the same Triple DES key derived from the user's password. If an attacker can bypass the discretionary access control on the key database, it is possible for the attacker to replace the encrypted password check string in the key database with a password check string encrypted with a key derived from his own password, effectively substituting his password for the user's password. Although the attacker will be able to log in with his password, he won't be able to see any of the private and secret keys in the key database because he can't decrypt them. | Recall that all the private and secret keys stored in the NSS key database are encrypted with the same Triple DES key derived from the user's password. If an attacker can bypass the discretionary access control on the key database, it is possible for the attacker to replace the encrypted password check string in the key database with a password check string encrypted with a key derived from his own password, effectively substituting his password for the user's password. Although the attacker will be able to log in to the NSS cryptographic module with his password, he won't be able to see any of the private and secret keys in the key database because he can't decrypt them. | ||
=== Initialization of Authentication Mechanism === | === Initialization of Authentication Mechanism === |