through trusted site
)
Question
Suppose the mailer can encrypt, decrypt, and digitally sign email. What privilege level should be used for those operations.
Answer
Root should not be used
In any of these circumstances. Encryption and encryption can be done by a normal user (you could write an AES algo on a remote machine for example). Having separate UIDs for the tasks might be useful depending on the circumstance.
Most of time you absolutely need root is because of some outdated design decision on Unix (e.g. bind to port 80).
Sometimes we can crypto with hardware assistance
NOT
know the identity of sender, don't want to expose user signature.Should emails content be stored as
encrypted
?
Do I need to sign
every
message? How to balance betweensigning every
andsigning none
message.
Cache keys are exposed in the mailer, can be exposed via bugs.
Mailer programs are BIG.
Security hole rates go up as the square of the code size.
Thunderbird - 6000 KLOC
Evolution - 2500 KLOC
Outboard Key Manager (Keyring, keyring manager)
Make manager simple and entrusted with few responsibility
GNOME Keyring 150 KLOC
GNOME Keyring manager 97 KLOC
GPG 717 KLOC
The mailer still tells the key manager what to decrypt or sign. Hard to predict what's really being signed or decrypted. Tradeoff: balance between
security
andconvenience
- Enhance security by adding more process - More process means more inconvenience
TODO: DKIM (Anti-spam mechanism)