Necesito saber los beneficios de separar partes de SSN en tres tablas separadas

-2

He estado usando tres tablas separadas para los números de seguridad social: lgls1, lgls2 y lgls3. Cada tabla almacena una de las tres partes de los números de seguridad social. ¿Es esto más seguro que un campo, en la misma tabla que el nombre, el segundo nombre y el apellido? Soy un principiante y no entiendo el lenguaje de TI, por lo que necesito términos fáciles de entender.

Cada tabla tiene una clave principal, que corresponde al campo de ID "tabla de nombres".

Entonces, en lugar de:
personID
personLast
persona primero
personMiddle
personSSN

Tengo:
personID
personLast
persona primero
personMiddle

lgls1ID
lgls1_

lgls2ID
lgls2_

lgls3ID
lgls3_

    
pregunta Douglas Benoit 12.08.2016 - 06:47
fuente

3 respuestas

10

El único beneficio de seguridad es que tienes una mejor seguridad en el trabajo porque nadie más disfrutará trabajar con dicha arquitectura.

No hay un beneficio real de seguridad al dividir el SSN en tres tablas.

    
respondido por el Lie Ryan 12.08.2016 - 07:08
fuente
1

Todo lo que proporciona es "seguridad por oscuridad". Alguien que esté mirando a través de su base de datos puede no darse cuenta de que está almacenando un número de Seguro Social, pero eso solo se debe a que el nombre de la columna parece ser tonto. Cualquiera que realmente mire sus datos dirá: "Aquí hay tres números, aquí hay dos más, aquí hay cuatro más. ¡Este debe ser un número de Seguro Social!" No es muy seguro.

Puede hacerlo más "seguro" al ofuscarlo aún más: cambiando el orden de las partes (ponga dos dígitos en 1, tres en 2 ...), combinándolos de varias maneras (seis dígitos en una tabla, tres en otro), agregando 5 a cada dígito (mod 10) o transformándolo de alguna manera que pueda deshacer. Sin embargo, una vez que comience a hacer eso, también puede hacerlo correctamente y cifrar los datos.

La seguridad por oscuridad es tan buena como tu habilidad para pensar en maneras de asegurarla. Debe asumir que cualquier persona que pueda ingresar a su base de datos será más inteligente que usted y podrá ocultar cualquier cosa que haya ocultado. El cifrado es la única apuesta segura.

    
respondido por el Bobson 12.08.2016 - 15:32
fuente
1

Este es un esquema muy extraño. He trabajado con una gran cantidad de datos personales durante más de 20 años y nunca lo he visto de esta manera.

La única razón que se me ocurre para hacer esto es el soporte para el acceso parcial de SSN. Considere un caso de uso común, un usuario que verifique su propia identidad ingresando los últimos cuatro de la SSN. Para admitir este caso de uso, deberá proporcionar a su aplicación un usuario de base de datos con permisos de acceso a lgls3, pero podría denegar explícitamente el acceso a lgls1 y lgls2. De esa manera, si alguna vez se comprometen las credenciales, el pirata informático no podrá recuperar el número completo de la seguridad social. Por otro lado, hay otras formas mejores de manejar este caso de uso (por ejemplo, tomando un hash de una sola vía de los últimos cuatro y almacenándolo en una columna diferente, luego usando una Vista para aplicar la seguridad a nivel de columna). / p>

Otra posible razón, filmada en la oscuridad aquí ... si lgls1, lgls2 y lgls3 están en particiones de datos diferentes, pueden terminar en copias de seguridad diferentes, lo que puede ayudar a protegerlo si alguna vez alguien irrumpió en su cuenta. Almacenamiento de copia de seguridad del sitio y robó un par de cintas. Suponiendo que se tomó la molestia de enviar sus copias de seguridad a diferentes sitios.

Aparte de eso, no puedo ver muchos beneficios aparte de la seguridad por oscuridad.

    
respondido por el John Wu 16.08.2016 - 01:12
fuente

Lea otras preguntas en las etiquetas