In the Netherlands, most banks use a system that depends on the security of the chip-debit card, and a specific hardware device that each customer gets sent.<p>In my case (rabobank), whenever the bank needs authentication (i.e. when logging in, transfering money, or changing details) they present me with a QR-like code. I then use their supplied hardware [1]. This requires I enter my card and enter my PIN.
I can then scan the QR-ish code with a camera built into the device.<p>The device then prompts me with what I am doing. Something like "You are sending € X to account Y " or "Login into account Z". Upon clicking confirm, it outputs a numerical code I have to enter into the website.<p>I really love this system, I like it the best of all dutch systems I know.
One bank I know of (ANB-amro) has a similar hardware device, without using the QR codes, but numbers you enter. They also provide a USB connection so you don't need to enter numerical codes twice.
Another bank I know of uses standard password and SMS 2-factor authentication.<p>The mobile app for rabobank is quite a bit worse though. You need the scanner once to set up a PIN on the device. With that PIN, you can immediately login and see all account details. Moreover, small amounts to accounts you've previously sent money too can be sent using only that PIN.
The idea being that these are your 'friends' and it is nice to pay your friends quickly.
There is even a setting that will allow you to send amounts below a threshold (I think €100) to any account using only that PIN.
Luckly, you can turn that off, and it takes the scanner to turn it back on. However, you cannot turn of the transfer to 'friends' unless you simply refuse to install the app.<p>[1] dutch wikipedia link: <a href="https://nl.wikipedia.org/wiki/Rabo_Scanner" rel="nofollow">https://nl.wikipedia.org/wiki/Rabo_Scanner</a>