¿Qué métodos pueden usarse para verificar la identidad en una base de datos?

0

Tengo una base de datos con datos de contacto individuales para estudiantes ... estos datos incluyen nombre, dirección, número de teléfono, fecha de nacimiento, etc. (no social ... al parecer, eso lo habría hecho demasiado fácil, ja, ja)

Me gustaría permitir que sus padres accedan a sus datos desde casa y puedan verlos y editarlos. Obviamente, la seguridad es una gran prioridad aquí; No quiero que una enredadera tenga acceso a su dirección o algo así.

¿Hay algún método que pueda usar?

  1. No es necesario que genere un código ni ingrese datos nuevos para ellos manualmente (esto no es práctico y me requiere verificar manualmente cada combo de estudiantes / padres).
  2. No se puede extraer fácilmente de, digamos, una cuenta de Facebook (por ejemplo, el nombre y la fecha de nacimiento son fácilmente accesibles).
  3. No se apoye en los datos que tienen más probabilidades de ser inexactos (un nombre de calle es mucho más probable que esté mal escrito que un apellido, por ejemplo ... y, por el mismo motivo, los nombres no siempre son confiables [algunas personas tienen un segundo nombre, pero pueden tener el primero allí, o un apodo, o lo que sea]).

Estoy perplejo ... Espero que haya una técnica aquí en la que no esté pensando, pero tal vez simplemente no haya manera de hacerlo sin que sea demasiado fácil para alguien acceder a ella.

    
pregunta xtraorange 01.08.2014 - 08:35
fuente

2 respuestas

2

Ya que tiene direcciones postales, envíeles una carta a través de la combinación de correspondencia que contiene un código aleatorio largo. Ingresan el código aleatorio largo y tal vez alguna otra información que deben conocer, como D.O.B. para validar tienen posesión física de la letra y algún conocimiento del estudiante.

Esto te dice que son:

  • Alguien con acceso a la dirección de correo
  • Razonablemente el padre o tutor si se aborda de manera adecuada
  • O un correo corrupto;) O un hermano inquisitivo ...

Una vez que hayan pasado la verificación de autenticación inicial, deben ingresar una dirección de correo electrónico y una contraseña. Una vez que se haya verificado esto, invalide el código que les envió por correo. Se debe generar una identificación única, ya sea secuencial o guid, contra cada usuario en la base de datos. Esto se convierte en su identificador único y luego puede asociar a los usuarios que deberían tener acceso al registro.

Dado que el código que genera es efectivamente una contraseña, debe utilizarse una buena práctica de seguridad para almacenar las contraseñas para almacenar el código; sugiera bcrypt ( enlace ) o PBKDF2 ( enlace ) con una función adecuada de sal y trabajo.

Otro posible enfoque sería la autenticación basada en el conocimiento ( enlace ): les preguntas cosas que solo ellos sabrían. ¡Esto requiere que tengas registros precisos de las cosas que deben saber! (por ejemplo, todas las calificaciones del último informe de calificaciones de sus hijos).

Espero que ayude.

Saludos Andy

    
respondido por el Andy Boura 01.08.2014 - 09:50
fuente
1

Si fuera yo, le pediría al estudiante que proporcione las direcciones de correo electrónico de los padres, luego crearé cuentas para cada una de esas direcciones de correo electrónico (si aún no existen) con acceso a la cuenta del alumno. Si se trata de una cuenta nueva, envíe la contraseña y la URL a la dirección proporcionada. Incrustar una contraseña compleja en la URL es una mejor solución.

Al proporcionar el correo electrónico, el estudiante da su consentimiento explícito para permitir el acceso a sus datos, así como para proporcionar una identidad (dirección de correo electrónico) para el usuario y un medio para contactarlos.

El riesgo aquí es que el correo electrónico que contiene la contraseña es interceptado; este es un problema genérico con el suministro de credenciales y las soluciones se analizan en otra parte. Sin embargo, en este caso, es posible que el estudiante pueda suministrar un token de autenticación secundario (por ejemplo, recuperado de la aplicación cuando inicia sesión) a través de un canal alternativo al menos para el acceso inicial.

    
respondido por el symcbean 01.08.2014 - 14:57
fuente

Lea otras preguntas en las etiquetas