| 1 | = Plain Text Passwords = |
| 2 | |
| 3 | Purple does not now and is not likely to encrypt the passwords in the |
| 4 | {{{accounts.xml}}} file, nor is it likely to be encrypted in a |
| 5 | future release. This is somewhat controversial in Windows, especially Windows |
| 6 | 98 due to its weak file protections, but that's the way things are. |
| 7 | |
| 8 | The reasoning for this is multi-part. |
| 9 | |
| 10 | Instant messaging is not very secure, and it's kind of pointless to |
| 11 | spend a lot of time adding protections onto the fairly strong file |
| 12 | protections of UNIX (our native platform) when the protocols themselves |
| 13 | aren't all that secure. The way to truly know who you are talking to is |
| 14 | to use an encryption plugin on both ends (such as OTR or |
| 15 | gaim-encryption), and use verified GPG keys. Secondly, you shouldn't be |
| 16 | using your instant messaging password for anything else. While |
| 17 | some protocols have decent password security, others are insufficient |
| 18 | and some (like IRC) don't have any at all. |
| 19 | |
| 20 | There are basically four approaches to password storage.[[BR]] |
| 21 | |
| 22 | * '''Store a password(s) behind a password.''' Basically this means that we require you to type in some passphrase as Purple starts in order to read the {{{accounts.xml}}} file, and, to be truly secure, require you to type it again if you write to it. Winicq does something very similar to this if you set it to its highest security settings. |
| 23 | |
| 24 | * '''Obscure a password.''' This means we do something to store the password in some format other than plain text, but we automatically convert it for you. This is security by obscurity, and is a Very Bad Thing™ in that it gives users a false sense of security. A false sense that we (Purple developers) believe would be worse to have than to let informed users deal with the password issue themselves. Consider that a naive user might think that it is safe to share his or her accounts.xml, because the passwords are "encrypted".[[BR]] |
| 25 | |
| 26 | * '''Store the password in plain text and control access to the file.''' This is what Purple does: the password is in {{{accounts.xml}}} in plain text, but the file itself is only readable by its owner. We allow the user to determine under what conditions sensitive files should be opened (if at all), and what constitutes a breach of security. |
| 27 | |
| 28 | * '''Lastly, you can not store passwords at all.''' This is Purple's default, and by far the most secure of all of the options. |