It could be that passwords are terrible, but everything else is worse, but I'm not convinced. We have had a big push towards SSL (TLS, actually) everywhere lately. I don't have to ask Amazon for a password to verify that it's really Amazon that I'm transacting with. It really feels like we should be able to come up with a seamless way for that to work both ways in every web transaction.