¿Los códigos de seguridad de las tarjetas de crédito son teóricamente inseguros (si no están completamente dañados) ya?

28

Estaba leyendo el artículo de Wikipedia sobre los códigos de seguridad de la Tarjeta (CSC, CVD, CVV, CVC, V-code, SPC, CID, CV2, CVN2, CAcronym2, etc.) y una cierta afirmación me llamó la atención (énfasis mío):

  

El emisor de la tarjeta genera el CSC para cada tarjeta (formulario 1 y 2) cuando se emite la tarjeta. Se calcula mediante el cifrado de número de tarjeta bancaria y fecha de caducidad (dos campos impresos en la tarjeta) con claves de cifrado conocidas solo por el emisor de la tarjeta y decimando el resultado.

La descripción se parece mucho a un HMAC que usa solo información ya pública como entrada principal, pero en cualquier caso, dada la gran cantidad de números de tarjetas de crédito comprometidas (con códigos de seguridad de la tarjeta) que existen, seguramente debe ser posible derive ¿la clave de cifrado del emisor ahora? (¿Importa si se trata de un cifrado simétrico o asimétrico?)

Si es verdadero, entonces me sorprende que el sistema esté diseñado así en lugar de generar una clave o número secreto único, por tarjeta , del cual se deriva el CSC en lugar de una institución. La clave, que mi pregunta presupone, puede derivarse de la gran cantidad de valores de salida, dado el conocimiento de todas las entradas de texto claro), porque mi comprensión actual de la criptografía me dice que la clave secreta puede derivarse si se cuenta con suficiente información de texto claro (datos de la tarjeta comprometida) y salida de texto cifrado (códigos CSC comprometidos).

    
pregunta The D 12.04.2018 - 11:59
fuente

1 respuesta

42

Derivar la clave de cifrado del emisor mediante una colección de números de tarjetas de crédito con sus respectivos códigos de seguridad sería un ejemplo de un ataque de texto simple (KPA) conocido.

Para ser considerado seguro, un cifrado debe ser resistente a los ataques de texto plano conocido, es decir, descifrar el cifrado incluso con una gran cantidad de pares de texto cifrado de texto plano no debería ser significativamente más rápido que el de fuerza bruta. Este es un requisito básico para que las cifras sean consideradas para una aplicación práctica.

En el diseño y evaluación de cifrado, se asume que el atacante tiene tantos pares conocidos de texto cifrado como el que quiere, y puede producir otros nuevos al alimentar los plaintexts seleccionados para cifrarlos (CPA). En cuanto a la seguridad de TI, los datos de uso conocidos están dados. Por ejemplo, esta página se le entrega encriptada a través de HTTPS, pero cualquier atacante puede obtener la mayor parte de su texto sin formato visitando el sitio web. Si esto les permitiera derivar la clave privada, HTTPS se habría quedado sin sentido.

Los cifrados modernos como AES e incluso los más en desuso son resistentes al KPA si se usan correctamente. El único uso que tendrían los pares de texto cifrado de texto simple es verificar si su clave coincide.

Los cifrados obsoletos, anteriores a la computadora no eran seguros y, de hecho, podrían romperse con KPA; eso es lo que le pasó al enigma. También es posible romper los cifrados modernos con KPA / CPA si se usan incorrectamente, por ejemplo. Con repetidas IVs y nonces. El mal uso puede reducir la seguridad de cualquier cifrado a un XOR simple, por lo que un esquema seguro requiere más que un buen cifrado. Si algún banco lo ha arruinado tan mal ... espero que no.

    
respondido por el Therac 12.04.2018 - 12:37
fuente

Lea otras preguntas en las etiquetas