I use KeePass + Dropbox to manage and synchronize my passwords across my devices. This system works really great and I trust KeePass' security model.
However my biggest remaining concern is the master password as I am worried about not being able to protect my PC against keyloggers. To alleviate this fear I want to introduce a second factor of authentication.
KeePass only really allows for using a keyfile as a second authentication factor, and while storing a keyfile on a USB thumb drive does seem like a secure solution it also is too restrictive for me. If I was to use a keyfile, I would probably store it on Dropbox but does this really add any additional security at all? My thinking is that if my master password is compromised then in order for the attacker to succeed he will also need my KeePass database. If he has access to that then he will most likely also have access to the keyfile so I've gained no additional security.
Any comments or suggestions for a better setup which doesn't add too much overhead?