|
From: Jochen H. <hoe...@gm...> - 2005-03-04 17:57:03
|
On Fri, 4 Mar 2005 15:56:58 +0000, Chris Green <ch...@ar...> wrote: > This is probaly a naive question but anyway here goes. > > Why does gnu-keyring store the password? OK, it's encrypted, but it > does open up the possibility of 'brute force' attacks because the > attacker can immediately see when the right password is tried, the MD5 > encrypted passwords will match. > > Surely, since we don't have any need to validate the password itself > (as one would for a login for example), the password can simply be > used to decrypt the data and the data is then returned. The result > will be rubbish unless the correct password is provided. This > prevents brute force attacks because the attacker won't know when the > right password is tried - unless he knows what the data is already. One problem is that the regular user may not notice that he mistyped the password. E.g. if he enters a new record he won't get any hint that the password was wrong. Also he may accidently corrupt records by editing them with the wrong password. And if he changes the password and mistyped the old password there, he is completely lost. The password is also used to prevent some operations such as changing the password, deleting records, editing categories. Of course an attacker can also delete the database via the launcher, but he cannot corrupt the database only partly (except by HotSync), so that it won't be noticed immediately. Lastly not storing the MD5 checksum would not prevent brute force attacks that make use of known plaintext. If you could get my database you could try to decrypt the "Sourceforge" record with each password until it decrypts to "hoenicke" in the account field. Regards, Jochen -- Jochen Hoenicke, University of Oldenburg, 26111 Oldenburg, Germany Email: hoe...@in... Tel: +49 441 798 3124 |