¿Usar una tarjeta de crédito con chip y pin para la autenticación?

3

Me gustaría usar un chip y una tarjeta de crédito PIN para la autenticación, es decir, registrar una tarjeta en un sistema y luego usarla para iniciar sesión (solo con fines de demostración / entretenimiento, por lo que no se requiere seguridad a prueba de balas).

He tenido la idea de realizar una transacción falsa (que obviamente no se enviaría al banco) para probar si el usuario tiene el código PIN de la tarjeta, pero cómo lo demuestro (criptográficamente; asumo que los datos devueltos por la tarjeta en una transacción exitosa están relacionados de alguna manera con el número de la tarjeta y hay una manera de verificar la autenticidad de que la tarjeta es de hecho esa tarjeta que se registró anteriormente en lugar de otra tarjeta?

Gracias.

    
pregunta 30.09.2014 - 07:27
fuente

1 respuesta

2

Primero, eche un vistazo a [ esta pregunta ] .

Según esta pregunta, mi comprensión de las tarjetas bancarias es que la tarjeta chip coloca su propio número de cuenta + PIN en un mensaje firmado cifrado para el servidor del banco (probablemente con algunos datos de desafío del POS para evitar los ataques de repetición) y pregunta al Terminal de punto de venta (POS) para enviar esto en su nombre. El terminal POS no puede leer el mensaje, pero puede enviarlo al banco. El banco valida el mensaje, verifica la firma y lo compara con el número de PIN de accNumber + en su base de datos y devuelve un SÍ / NO al terminal POS. (descargo de responsabilidad: así es como imagino que podría funcionar, no sé si es así como realmente funciona .)

Hay otros enfoques basados en preguntas de desafío comúnmente utilizados en la industria de la seguridad (por ejemplo, para que las credenciales de identificación ingresen a su edificio de oficinas). Funcionan de la siguiente manera: cuando coloca la tarjeta en el lector en la pared, la tarjeta chip, el lector de tarjetas y la base de datos tienen el siguiente intercambio:

  1. Tarjeta chip a Lector : "Soy John Smith y mi clave pública es pub_key ".
  2. Reader a Base de datos : "¿ pub_key pertenece a John Smith ?"
  3. Base de datos a Reader : "Sí".
  4. Lector a Tarjeta chip : "Para probar que tiene la clave privada correspondiente, firme este mensaje: rand_32bit_msg ."
  5. Tarjeta chip a Lector : enc_msg = encrypt(rand_32bit_msg, priv_key) , "Aquí está enc_msg ".
  6. Lector : ¿ decrypt(enc_msg, pub_key) == rand_32bit_msg ? "Ok, creo que eres el dueño de la clave privada, en lo que vienes"

Es de suponer que puedes comprar un juego de tarjetas con chip y lectores de varios fabricantes, pero no tengo idea si esto está dentro del presupuesto de un proyecto de hobby.

    
respondido por el Mike Ounsworth 25.04.2015 - 15:45
fuente

Lea otras preguntas en las etiquetas