I've always been interested in payment and POS systems, but I haven't delved into the area at all as it's technically beyond my understanding. In any case, it's been a slow Monday at work and I started thinking about it more...
When you insert your chip into a payment terminal, obviously there is an exchange in data; the system recognizes that a chip has been put in, and knows who's card it is so that it can match the PIN and verify the cardholder. What I'm curious about is the type of data that could be transferred, i.e., could an RF chip be programmed to transmit malicious code to the terminal? What kind of safeguards could the terminal have in place to prevent this?
From what I've looked up, I understand that the RF chips can only store ~2kb of data. Assuming the language you're working in is 1 byte/character, you could probably get 50 lines worth of code stored on a chip.
Even if the payment processing itself couldn't be tampered with, it would be cool just to be able to print something to the screen (like a nyan cat animation or a false message saying that the payment is successful).
I'm not looking for any specific answers, just thought it could be an interesting theoretical dialogue.