autentificacion

14
Autentificación Hay cada vez más situaciones en que uno tiene que identificarse para obtener algún servicio: Password (contraseña) para acceder al correo electrónico PIN (Personal Identification Number o “clave”) de la tarjeta bancaria Cédula Carnet . . . y un sin fin de sitios Web que requieren que el usuario se registre En el último caso, la tentación es usar el mismo “apodo” y password en todos, por lo que la mala seguridad en un sitio puede afectar a muchos más. Hay una creciente industria de “robo de identidad” por esta razón. 12 de junio de 2002 Autentificación-1

Upload: manu

Post on 16-Dec-2015

213 views

Category:

Documents


1 download

DESCRIPTION

Autentificacion

TRANSCRIPT

  • Autentificacin

    Hay cada vez ms situaciones en que uno tiene queidentificarse para obtener algn servicio:

    Password (contrasea) para acceder al correo electrnicoPIN (Personal Identification Number o clave) de la tarjetabancariaCdulaCarnet. . . y un sin fin de sitios Web que requieren que el usuario seregistre

    En el ltimo caso, la tentacin es usar el mismo apodo ypassword en todos, por lo que la mala seguridad en un sitiopuede afectar a muchos ms. Hay una creciente industria derobo de identidad por esta razn.

    12 de junio de 2002 Autentificacin-1

  • Cmo hace Alicia para identificarse a su sistema local? Esdecir, cmo autentifica su identidad? Tradicionalmente, todosistema de autentificacin utiliza uno o ms de los siguientesatributos:

    Algo que eres ej. biometra (huella dactilar, patrn decolores en el iris, perfil de ADN . . . ). Tiende a ser costosoimplementar y causa malestar entre los usuarios.Algo que posees ej. una tarjeta de acceso. Puede ser robadao perdida, pero tiene la ventaja de ser fsica, como una llave.Algo que sabes ej. una contrasea, tambien conocida comoun secreto compartido. La lgica dice: si Alicia sabe que sloella y Bob conocen un secreto, y la persona remota le satisfacea ella que conoce el secreto, esa persona debe ser Bob.

    Las autoridades en sistemas seguros recomiendan que un buensistema de autentificacin debe utilizar al menos doselementos, por ejemplo una tarjeta ms un PIN.

    12 de junio de 2002 Autentificacin-2

  • Psicologa Aplicada

    Un password es un componente de seguridad que el usuariomaneja directamente. Esto da lugar a varios problemapotenciales:

    Puede el usuario revelar el password por decepcin?Las tcnicas de ingeniera social tienen bastante xito. Porejemplo:

    Manuel llama a los operadores por telfono diciendo que es elasistente del Gerente General, y pide algo trivial. Hace estovarias veces hasta que los operadores confien en l. Luegollama para insistir que hay que cambiar el password delGerente, y que es muy urgente.Se envia correo electrnico a un grupo grande, diciendo que esimportante que confirmen sus passwords por una auditoraque estamos haciendo. Muchos se caen.

    La prevencin de este tipo de ataques requiere la definicin deestndares estrictos (los passwords no se cambian porsolicitud telefnica, bajo ninguna circunstancia) y suimplementacin.

    12 de junio de 2002 Autentificacin-3

  • Puede el usuario ingresar el password fcilmente?Un password largo y aleatorio puede ser dificil teclear sinequivocacin. Algunos sistemas le dan al usuario hasta tresintentos y luego se bloquean. Una opcin interesante es usarpalabras cortas, sin significado, para representar pares dedgitos, por ejemplo:

    papa mima memo poma mapa lema1212 3435 3637 5135 3512 6235

    Puede el usuario recordar el password?Hay dos clases de problemas:

    Errores de diseo: Para que el password sea memorable, algunossistemas usan un dato conocido por el usuario, ej. el segundoapellido o fecha de nacimiento. Estos datos no son muysecretos, y adems son dificiles de cambiar si hace falta.Alternativamente, el sistema le solicita al usuario que cree supropio password, pero 1) no es muy aleatorio tampoco, y 2) elusuario tiende a usar el mismo password en muchos sitiosdistintos.

    Fallas operacionales: Hay muchas instancias. Por ejemplo, algunossistemas vienen de fbrica con passwords de administracinconocidos, pero el administrador no se cuida de cambiarlos.

    12 de junio de 2002 Autentificacin-4

  • Vulnerabilidades

    Cuales son los tipos de ataque que tenemos que prevenir a lossistemas de password?

    Ataques a un usuario especfico: queremos entrar en la cuentade Bill Gates.Ataques a cualquier cuenta en el sistema: queremos usar unatarjeta de telfono prepago.Ataques a cualquier cuenta en cualquier sistema: queremospenetrar a la intranet de Microsoft.Ataques de bloque de servicio (DOS): queremos bloquearacceso por parte de otro usuario, o de todos los usuarios.

    Es importante plantear esta pregunta antes de disear elsistema de passwords.

    12 de junio de 2002 Autentificacin-5

  • Fisgoneo

    Quizs Manuel puede copiar el password cuando Alicia lointroduce:

    A menudo la interfaz al usuario est mal diseado. Porejemplo, el teclado de un cajero automtico puede ser visibledesde lejos, incluso con una cmera de video con lentetelescpico.En un hotel, el personal puede escuchar las seales de modemdesde las habitaciones.En una red local, es relativamente fcil hacer sniffing(olfateo) de passwords.

    Los sistemas modernos usan protocolos que evitan latransmisin del password sobre la lnea, ej. SSH (SecureSHell) o Kerberos.

    12 de junio de 2002 Autentificacin-6

  • Spoofing

    Cmo sabe Alicia que el programa que le pide el passwordno es de Manuel? Es importante contar con un trusted path(va de confianza) entre el usuario y el sistema:

    En Windows, la secuencia Ctrl-Alt-Del no puede serinterceptado en el sistema local.En SSH, el servidor remoto tiene que autenticarse.

    Sin embargo, de nada sirve esto si el terminal local estintervenido, ej. se ha colocado un transmisor de radio dentrodel teclado . . .

    12 de junio de 2002 Autentificacin-7

  • Otros Ataques

    En un sistema, un error de programacin dejaba entrar acualquier usuario con el password Carriage Return.Cuando se corrigi, muchos usuarios de copias sin licencia nose enteraron.

    Un banco envi tarjetas nuevas a todos sus clientes, todas conel mismo PIN. Era dificil detectar porque el personal no tenaacceso a los PINs de los clientes.A veces el usuario y el sistema se defasen, y la bitacora deintentos de login contiene copias de passwords, o sea labitacora debe ser bien protegida.

    12 de junio de 2002 Autentificacin-8

  • Implementacin de Contraseas

    El mtodo clsico de las contraseas fue inventado porNeedham y Guy para el sistema Titan de la Universidad deCambridge a principios de los aos 70. Entendieron que elsistema no necesita conocer los passwords; es suficiente quepueda determinar si el password es vlido o no. Es por eso quees importante diferenciar entre los trminos clave ycontrasea.

    Su mtodo utiliza una funcin unidireccional de hashing (unafuncin dificil de invertir, que produce una salida de tamaoconstante). Se guarda el resultado de la funcin en el sistema,y la funcin se recalcula cada vez que el usuario se presenta.(Ntese que estrictamente los passwords no son encriptadosaunque algunos algoritmos criptogrficos pueden seradaptados para usarlos como funciones de hashing).

    12 de junio de 2002 Autentificacin-9

  • Ataques por Diccionario

    Un error en el diseo original de Unix significa que el archivode passwords en legible por todo el mundo (versionesmodernas corrigen esto).Manuel aplica la funcin de hashing a una gran variedad deposibles passwords y guarda los resultados. (Cuntospasswords distintos reconoce el sistema? Son todosigualmente probables?). Si l tiene una cuenta en el sistema aser atacado, puede simplemente comparar los valores de hashdel sistema con su lista precalculada.

    Esto es un ataque por diccionario. Notse que Manuel noest atacando a un usuario en particular, sino a cualquiera quecaiga.

    Un ataque por diccionario (tambin conocido como cracking)tiene alta probabilidad de funcionar porque los passwords noson aleatorios.

    12 de junio de 2002 Autentificacin-10

  • Se han intentado varios mecanismos para frustar estos ataques:

    Obligar a los usuarios cambiar sus passwords cada N das:cambian de fulano a mengano e inmediatamente afulano de nuevo.Prohibir que se cambie ms de una vez por mes: si se roba elpassword, requiere un mecanismo especial para cambiarlo.Adems, usan fulano01 en enero, fulano02 en febrero,etc.

    Obligarlos a usar letras y nmeros: usan 7ulan0, p3p3, etc.Sugerirles que combinen palabras: arbol#blue; o que useniniciales de una frase: euldlMdcNnqr (en un lugar dela Mancha ...)

    Algunos sistemas concatenan el password con un nmeroaleatorio (la sal) antes de calcular el hash. La sal se guardajunto con el valor de hash (o sea, no es secreto). Si la sal tiene12 bits, como en Unix, el esfuerzo de Manuel para construir sudiccionario ser 212 veces mayor.

    Tambin se esconden los valores de hash en un archivoparalelo (el archivo sombra).

    12 de junio de 2002 Autentificacin-11

  • Contraseas Desechables

    Sera ms seguro si cada contrasea slo se usara una vez. Unmtodo interesante para lograr esto se llama S/KEY:

    Alicia escoge un nmero aleatorio R, y calcula x1 = f (R),x2 = f (f (R)), x3 = f (f (f (R))), etc. hasta x100 = f 100(R),donde f () es una funcin unidireccional. Guarda los xi. Elsistema guarda x101. (Ojo: xi = f (xi1)).Cuando Alicia quiere conectarse por primera vez, presenta sunombre y x100. El sistema calcula f (x100) y compara con sucopia de x101. Si son iguales, Alicia es autntica. El sistemareemplaza x101 por x100 en su base de datos.

    La prxima vez, Alicia presenta x99 . . .

    12 de junio de 2002 Autentificacin-12

  • Autentificacin con Criptografa Asimtrica

    El problema con S/KEY es que despus de 100 accesos, hayque reinicializarlo con 100 xi nuevos. Una alternativa es usarun protocolo tipo desafio-respuesta:

    1. Hctor (un host) envia un nonce N a Alicia.

    2. Alicia manda {{N}KApriv , A}KHpub a Hector, usando su claveprivada KApriv y la clave pblica de Hctor, KHpub. Se asumeque KHpub es bien conocida.

    3. Hctor decripta la respuesta con su clave privada, consulta subase de datos y decripta {N}KApriv con la clave pblica deAlicia; si corresponde, Alicia es autntica.

    Importante: esto requiere que Alicia tenga un PC o terminalinteligente en que confia . . .

    Cmo sabe Alicia que est hablando con Hctor y no conManuel? No lo sabe. Slo Hctor puede entender su respuesta,pero eso no importa: Manuel puede decir OK y simular unasesin con Hctor.

    En la vida real, los protocolos de autenticacin tienen que serms complejos.

    12 de junio de 2002 Autentificacin-13

  • Zero-Knowledge ProofEs estrictamente necesario que Alicia y Bob compartan unsecreto? Si Alica puede demostrarle a Bob que tiene ciertainformacin secreta, sin revelarla, sera suficiente:

    BA

    Z

    YX

    puerta cerrada

    1. Bob se queda afuera y Alicia llega al azar a X o a Y.

    2. Bob entra al punto Z, escoge un tunel al azar y le pide a Aliciaque salga por el mismo. Alicia obedece.

    3. Bob vuelve a la entrada y todo se repite.

    Despus de suficientes repeticiones, Bob se convence queAlicia tiene la llave de la puerta.

    Ntese que la prueba le sirve a Bob pero que l no puedeconvencer a un tercero (cualquier prueba que ofrece podra serfalsificada, por ejemplo una grabacin en video).

    12 de junio de 2002 Autentificacin-14