El DNI es un caso perdido... todo el mundo sabe tu DNI, por lo que securizar el DNI no serviría para nada.
El caso es que tienes pasta, y alguien lo sabe, tiene conocimientos informáticos y quiere quedarse con tu dinero.
1) El DNI lo van a saber sin ningún esfuerzo de mil maneras distintas.
2) De cara a la clave de acceso, el teclado virtual es importante. Eso ayuda y mucho, ya que un Keylogger no podrá obtener la clave. No obstante, pueden utilizar un screen recorder mediante algún troyano y estaríamos en las mismas. Por eso más que un teclado virtual, a mi me gusta más que sea una clave de 8 caracteres alfanuméricos y que sólo te pidan 3 posiciones aleatorias de la clave, y al marcarlas estén enmascaradas.
De esta forma, se dificulta enormemente el plan. Necesitarían un keylogger y un screen recorder para, trabajando juntos, saber que es lo que metiste (con el keylogger) y en que posición (screen recorder), y monitorizar muchos intentos de logon hasta obtener los 8 caracteres.
Efectivamente, se los hemos complicado, pero se puede conseguir. Tenemos pasta, el atacante lo sabe y esperará hasta obtener los 8 caracteres.
3) Google Authenticator para firmar la operación en un dispositivo android que no esté conectado a internet. Aquí ya poco pueden hacer, no hay forma de que puedan hacer nada en remoto. Como siempre queda el robo cuchillo en mano, pero en ese caso la seguridad informática poco tiene que hacer ya.
Un saludo,