Given how entrenched the ATM card standards are, it will be hard to make fundamental changes to improve security.  If one could replace all ATMs in existence, one obvious solution is to issue RNG cards.  Perhaps, to make them easy to use, the challenge/response could be electronic ala the "Java Ring" technologies (from TI) advocated by Sun a decade ago.<p>What could be done given that the fundamental use of an ATM machine (put in card, type in PIN) can't be changed overnight?<p>On machines capable of displaying pictures, users could be shown what the insertion slot ought to look like so they could compare.<p>A shroud could be placed over the keypad to reduce the viewing angles available to a pinhole camera.<p>Could smart phones be used to provide a "have something" security model?  Let's say you paid $0.25 less per ATM transaction if you used your bank's iPhone app to generate a unique pin for every visit.<p>What else could be done simply?