Todos los 0 (ceros) en el código CVC de una tarjeta bancaria

82

Como mi tarjeta bancaria había caducado, obtuve una nueva, y esta resultó ser "afortunada": su código CVC era 000 .

Durantealgunosmeseslousémucho,tantoenlíneacomofueradelínea,sinningunadificultad,hastaeldíaenqueingresélosdetallesdemitarjetaenelsitiowebdeBooking.com.Rellenéelformulario,hiceclicen"enviar", solo para ver que la página descarta el valor en el campo CVC y exige ingresar nuevamente.

Me puse en contacto con el soporte. Confirmaron que el código CVC "000" no se acepta, porque se considera que no es lo suficientemente seguro (desafortunadamente no es una cita cercana, ya que la conversación fue en estonio), y me sugieren que solicite una nueva tarjeta bancaria en la que el código CVC sería diferente desde "000".

Eso me desconcertó. Como ex evaluador, estoy bastante acostumbrado a las situaciones, donde creo que estoy informando de un error, y luego me dicen que en realidad es una característica, pero esta vez fue algo contra el sentido común. Mi trabajo actual también está relacionado con la seguridad de la información, por lo que surgieron objeciones:

  1. En primer lugar, CVC no es solo un número aleatorio, hay un cierto algoritmo de generarlo. Esto, a su vez, significa que todos los valores son igualmente probables y que algunos números determinados no se pueden excluir de ellos.
  2. En segundo lugar, ya he usado esta tarjeta con una serie de otros servicios en línea, incluido Amazon, cuya seguridad está fuera de cualquier duda.
  3. Tercero, no entiendo muy bien lo que significa "no lo suficientemente seguro". ¿Son "111" o "999" lo suficientemente seguros? Si no, ¿qué hay de "123" o "234"? Nuevamente, no es algo que escojo solo, es algo que me da un banco, y si el banco cree que es seguro, entonces debe ser tratado como tal.

La respuesta fue muy educada, pero ofrecía pocas esperanzas: " Entendemos totalmente su frustración y lamentamos mucho que le cause inconvenientes. Le entregamos su razonamiento a nuestra administración: respondieron que 000 no se considera válido. y esta es también una forma en que los bancos indican que la tarjeta es una falsificación ".

Reenvié toda la cadena de correo a mi banco y les pedí consejo. Me dijeron que emitirán una nueva tarjeta de forma gratuita, lo que solucionó el problema para mí.

Sin embargo, todavía desconcertado:

  1. ¿Existe alguna reglamentación / prescripción oficial (de Visa / MC o de otra parte) o alguna práctica recomendada con respecto a los códigos CVC / CVV de "todos los ceros"? Especialmente ese poco acerca de los bancos que supuestamente usan 000 como una indicación de falsificación, suena como un completo disparate para mí. Intenté googlear, pero no pude encontrar nada.
  2. Desde el punto de vista práctico, ¿qué tan razonable es rechazar "000" por inseguro? Hice una lista de mis preocupaciones arriba, pero ¿quizás me esté perdiendo algo?

Actualización : difícil elección sobre qué respuesta aceptar ... Me gustó mucho la respuesta de Alexander O'Mara - detallado y al punto. La última revisión de respuesta de Harper también parece muy razonable. Sin embargo, finalmente decidí aceptar la respuesta de Zoey : parece la más relevante, ya que, además de todo lo demás, También arroja algo de luz sobre los aspectos internos del negocio hotelero.

Gracias a todos por sus respuestas y comentarios. Lo que voy a hacer ahora es contactar al soporte de Booking.com nuevamente e insistir en que lo solucionen. Le haré saber sobre el resultado.

    
pregunta Vlad Nikiforov 22.12.2018 - 21:30
fuente

3 respuestas

76

Alexander O'Mara proporcionó una respuesta correcta, pero después de haber trabajado en un hotel que estaba usando booking.com, creo que puedo proporcionar información adicional sobre la razón por la que se rechazó el CVV.

Todos los días el hotel en el que trabajé recibiría alrededor de 50 reservas, una cuarta parte de estas reservas utilizaría datos de tarjetas de crédito falsos, y aproximadamente el 90% de las personas que usaban datos de tarjetas de crédito falsas no aparecerían.

Esto dio lugar a muchas conjeturas al asignar habitaciones, a menudo tratamos de adivinar si la persona se mostrará solo en función de los detalles de su tarjeta de crédito y, a veces, también tendrá en cuenta el nombre, la ubicación y la cantidad de días. estar alojado, etc. También intentaríamos llamar el día anterior para confirmar las reservas, de modo que estas reservas falsas resulten en una interrupción mínima para el negocio.

El bloqueo del CVV 000 es solo el intento perezoso de booking.com de reducir la cantidad de reservas falsas. Algunos otros CVV también están bloqueados.

La razón por la que booking.com bloquea el CVV y otros sitios web no es porque otros sitios web generalmente intentan cargar la tarjeta de crédito de inmediato, mientras que booking.com solo envía información a los hoteles que cargan la tarjeta de crédito el día de llegada .

    
respondido por el Zoey 23.12.2018 - 02:21
fuente
75

El único argumento débil que se me ocurre para rechazar un CVV de este tipo sería que si alguien intentara forzar el código de 3 dígitos con fuerza bruta, podrían comenzar con 000 primero (pero ¿también rechazarían 001 ?).

  

Desde el punto de vista práctico, ¿qué tan razonable es rechazar "000" por inseguro?

No es realmente razonable. Puede cargar la tarjeta con el código CVC / CVV provisto o no puede hacerlo. No hay una buena razón para rechazar este código, ya que es válido, y realmente no puede estar seguro de si los códigos de una tarjeta de crédito son válidos hasta que realmente intente cobrarlo.

Lamentablemente, la validación de entrada mal diseñada es demasiado común. Algunos desarrolladores tienden a asumir que ciertos valores no son válidos sin verificar la especificación, o no comprueban correctamente sus validaciones de entrada.

Algunos ejemplos incluyen:

  • dirección IP 1.1.1.1
  • Errores de comprobación de versiones como "10" < "9" si solo se está comprobando el primer carácter de la cadena
  • Nombres con caracteres no alfa (como el apóstrofe en mi nombre)

Tampoco es infrecuente que las personas en el servicio al cliente respondan a sus informes de errores con algo como "eso no es un error, es una función" sin siquiera consultar a los desarrolladores.

    
respondido por el Alexander O'Mara 22.12.2018 - 22:57
fuente
31

Este es un desafío marco de los reclamos de la compañía. Un número aleatorio en el rango 000-999 es más seguro que 001-998, rechazando los valores lo debilita .

Es un error de software. No pueden admitirlo.

Solo un ejemplo: digamos, en algún lugar de la pila, usan un lenguaje con variables sin tipo (es decir, donde la misma variable puede contener 123.45, "tarde para la cena", una cadena de 0 caracteres, un token "indefinido", etc. ). Es común escribir esto:

if ($CVC) # is CVC field present?

En un lenguaje sin tipo, una cadena en blanco se evalúa como 0 (falso) como pretendía el programador, ¡pero también lo hace 000! Hay mejores formas de hacerlo.

En este caso, sabemos que el problema no está en la interfaz de usuario web pública que usa, sino en la plataforma de back-end que ambos comparten. El agente debe abrir un error en él en el sistema de tickets.

Entonces, ¿por qué reclamaron lo que dijeron? Debido a que los negocios normales son muy reacios a admitir este tipo de error estructural que los hace parecer incompetentes. Pero tampoco pueden despedirlo con un "No sé", ya que eso tiene el mismo efecto. Así que necesitan decirte algo en este momento que se les pueda vender.

Obviamente está mal; según lo probado por todas las demás personas con las que hace negocios que no tienen ningún problema con ello. Pero inténtalo tú mismo; Pruebe una plataforma de reservas de la competencia y vea cómo va.

    
respondido por el Harper 23.12.2018 - 20:42
fuente

Lea otras preguntas en las etiquetas