Pregunta

Por interés y porque me enfurece, me preguntaba si SOmebody podría trabajar para un banco o conocer la respuesta a esto.

He usado algunos sitios de banca en línea (Reino Unido y América del Norte) y universalmente aplican un patrón de contraseña de / [\ w \ d] {6,8} / A veces, tal vez puedes usar guiones bajos, pero nunca puedes tener /.{6,20}/ que obtienes (más o menos) con casi todos los sitios bancarios que encontrarás.

Me han dicho que esto tiene que ver con el espacio de almacenamiento, pero las matemáticas no parecen apoyar eso. Suponiendo que los bancos mantienen tablas de sombra para su registro de contraseña, digamos generosamente un promedio de 10 por cuenta, luego duplicamos la longitud permitida de la contraseña y duplicamos el ancho de bits del conjunto de caracteres basado en un formato existente de 8char 8bit significa un extra 11 * 2 * 8 = 176 bytes por cuenta, entonces ~ 168Mb por 1M cuentas. Digamos que es un banco gigantesco que admite 100 millones de cuentas, ¡eso sigue siendo solo 16 Gb!

No puede ser así de simple, ¿verdad? Seguramente mis números están fuera de la base.

¿O es la respuesta aquí que los bancos, siendo bancos, no tienen una mejor razón para esto que estar pisoteando dinosaurios?

¿Alguien sabe una razón técnica por la cual mi contraseña para www.random.com/forum es más segura que la de mi banco?

¿Fue útil?

Solución

Realmente trabajo en un banco ahora mismo, y he trabajado en bastantes en el pasado.

La razón principal por la que esto sucede es que, en general, las personas responsables de tomar estas decisiones no son las personas que terminan por implementarlas. La " Unidad de negocio " de un banco son los expertos empresariales no técnicos que terminan tomando estas decisiones. En muchos casos, las objeciones técnicas serán anuladas por razones políticas o comerciales. Pero esto no es exclusivo de la banca. Sucede en cualquier industria donde las consideraciones técnicas a menudo no son la principal preocupación.

Otros consejos

Si las historias que escuché sobre ciertos bancos son ciertas ...

Es porque cada vez que ingresas tu contraseña:

  • El servidor web lo envía a través de un cable serial de medio kilómetro de largo a un viejo 386 en una oficina abandonada, ejecutando la IU (compilada usando una versión pirateada personalizada de Borland C 1.0) que fue utilizada por los gerentes bancarios en 1989 , que no tiene una interfaz en serie, por lo que tiene que pasar por otro dispositivo que simula la pulsación de teclas en un teclado AT.
  • Este programa inserta su solicitud incluyendo su contraseña (encriptada usando un algoritmo personalizado que es demasiado débil para ser usado pero que no se puede deshabilitar en el software) en una base de datos FoxPro en un servidor de archivos NetWare en una oficina abandonada diferente en el lado opuesto final del edificio (solo porque se caería a pedazos si intentaran moverlo).
  • De vuelta en la primera oficina abandonada, otro viejo 386, que consulta constantemente la base de datos FoxPro para obtener nuevos registros, detecta esta solicitud y la reenvía a través de un cable serie aún más lento (esta vez en EBCDIC) a otra caja en una tercera oficina que está emulando un PDP11 que ejecuta el programa COBOL real que mantiene las cuentas.
  • Desafortunadamente, también necesitan el PDP11 real , porque tenía un microcódigo personalizado para otro algoritmo de cifrado seguro (que no pueden extraer o el dispositivo antisabotaje lo borrará). El PDP11 puede No maneje la mayor carga de trabajo de todas las cuentas abiertas desde 1981 (el año de su primer intento fallido de retirarla), por lo que ahora (a través de otra capa de raspadores de pantalla y discos duros emulados) se engaña para que realice un subconjunto de funciones (incluida la contraseña verificación) en nombre del servidor principal.

Por lo tanto, su contraseña solo puede usar el subconjunto común de los juegos de caracteres admitidos por todos estos sistemas, y solo puede ser tan largo como el campo de base de datos más corto involucrado.

Los bancos utilizan los servicios en línea principalmente como una interfaz para sistemas heredados. Probablemente su contraseña esté siendo procesada por un mainframe de IBM en alguna parte, escrita en Cobol, y la estructura de la contraseña puede haber sido diseñada en los años 70.

Además, debido a que los bancos son tales estructuras políticas, la administración ve principalmente "concreto" resultados, por lo que problemas como la seguridad no se abordan hasta que se convierte en un tema candente y luego hay una "iniciativa" para abordarlo.

En un banco para el que trabajé, la contraseña de producción era la misma que el ID de usuario (la misma idea que iniciar sesión con " root " " root "). Las contraseñas de los usuarios se pueden restablecer en línea con una combinación de las primeras N letras de su apellido + los últimos 4 dígitos de su SSN, por lo que cualquier usuario podría restablecer su contraseña si supiera su nombre y SSN y le inicie sesión.

Probablemente la mayoría de los sistemas bancarios se desarrollaron hace mucho tiempo, cuando las contraseñas de 8 caracteres se consideraban seguras. No creo que nadie considere las contraseñas de forzamiento bruto de las cuentas bancarias de todos modos, 8 caracteres todavía es mucho. Apuesto a que todos los bancos bloquean una cuenta después de 3 intentos más o menos.

Aquí hay un " error " Ingresé a Bugzilla con respecto a un sitio que construí para un cliente recientemente (¡afortunadamente no es un banco!):

  

" Parece que el usuario se ve obligado a usar o _ en su contraseña *, lo que me parece un poco extraño. ¿Se puede actualizar esto para que sea una contraseña de 6 a 8 dígitos que solo puede usar caracteres alfanuméricos? & Quot;

  • En realidad, era al menos un carácter no alfanumérico
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top