• No se han encontrado resultados

030 Autenticación KDC Distribucion de claves SSO

N/A
N/A
Protected

Academic year: 2018

Share "030 Autenticación KDC Distribucion de claves SSO"

Copied!
70
0
0

Texto completo

(1)
(2)

2

Authentication Protocols

• Challenge-response

– Verificar la contraparte

• Generacion de Claves

– Establecer el canal

(3)

Protocolos “Challenge-Response”

Dado un canal

– A verifica a B

• Envía un desafío (challenge) a B • Espera la respuesta

– B toma el desafío

• Desencripta el desafío

• Lo transforma y encripta la respuesta

Usado para

– Verificar un canal recién establecido – Verificar un canal establecido

A

B

“Desafio!”

(4)

4

CR: Garantizando que no se repiten

Usar nuevamente de los desafíos es peligroso

– Alguien puede reenviar las respuestas.

Técnicas para evitarlo:

– Nonces

– Timestamps

(5)

CR: Nonces

Nonces=

number used once

Secuencia de bits al azar tipicamente de

32 a 128 bits

Generada por el origen como un desafio No reutilizar ni memorizar.

– Puede contribuir a la generación de claves

• Ej. por “hashing”

A

B

nA

{nA}kAB

A

B

{nA}kAB

nA

A

B

Challeng

e-resp

on

(6)

6

CR: Timestamps

Uso de la hora en la PC origen (ms)

service time-out

A

B

tA

{tA}kAB

A

B

{tA}kAB

tA

A

B

{tA}kAB {tA-1}kAB

Challeng

e-resp

on

(7)

CR: Números de Secuencia

El origen mantiene un contador

– Que incrementa en cada desafio

A

B

cA

{cA}kAB

A

B

{cA}kAB

(8)

8

CR: Claves

El origen genera una clave k

– La envía encriptada

Destino responde usando k

La clave puede ser enviada por medio de un tercero.

A

B

{k}kAB

{“Hi!”}k

A

{“Hi!”}k

B

Challeng e-resp on se exch an ges usin g keys

{k}kAS {k}k

BS

(9)
(10)

10

Claves

Claves compartidas

– Existen antes que el intercambio se inicie – No cambian entre corridas del protocolo

Sesión:

– Ejecución completa del protocolo.

Claves de Sesión (or short-term keys)

– Generadas en la corrida y validas durante la sesión. – Deben ser seguras por la duración de la sesión

(11)
(12)

12

Generación de claves compartidas Diffie-Hellman

•Primer esquema de doble clave

•Diffie & Hellman en 1976

– Supuestamente

James Ellis

(UK CESG

http://www.cesg.gov.uk/) lo propuso secretamente en

1970

(13)

Diffie-Hellman Setup

Se ponen de acuerdo en parámetros:

– Un primo grande o polinomio

q

– α es una raíz primitiva de q

Cada usuario (eg. A) genera su clave

– Un numero secreto:

x

A

< q

– Calcula su clave publica:

y

A

=

α

xA

mod q

(14)
(15)
(16)

16

Diffie-Hellman Key Exchange

La clave entre A y B es K

AB

:

KAB = αxA.xB mod q

= yAxB mod q (which B can compute)

= yBxA mod q (which A can compute)

Si se quieren seguir comunicando usan la misma clave o

seleccionan una nueva clave publica

(17)

Ejemplo de Diffie-Hellman

Alicia y Bob Esponja:

Se ponen de acuerdo en el primo

q=353

y

α=3

Seleccionan sus claves al azar:

– A xA=97, B xB=233

Calculo de la parte publica:

– yA=397 mod 353 = 40 (Alicia)

– yB=3233 mod 353 = 248 (Bob)

Cada uno puede calcular la clave de sesión con:

KAB= yBxA mod 353 = 24897 = 160 (Alicia)

(18)
(19)

Distribución de claves

Dadas las partes A y B se presentan alternativas de

Distribución de claves

:

1. A selecciona la clave y se la envía en forma segura a B

2. Un tercero selecciona la clave y se las envía en forma segura

(A y B)

3. Si tienen una clave anterior pueden usar el canal cifrado para

generar una nueva.

4. Si ambos tienen un canal seguro con un tercero (C) se lo

(20)

20

(21)
(22)
(23)

Protocolo de clave simétrica Needham-Schroeder

Forma la Base de kerberos

Permite establecer las claves de Sesión

(24)

24

Needham-Shroeder Shared Key

•S es un servidor confiado por ambas partes

•K

AS

es una clave simétrica que conocen sólo A y S

(25)

¿Que esta mal?

•El paso 3 no esta protegido con un

nonce

(26)

26

¿Que esta mal?

•Ejemplo: Soy un empleado que disgustado, aplico los

pasos uno y dos repetidamente sobre todos los

empleados.

(27)
(28)

28

(29)

Postulado 1: Significado del Mensaje

De recibir un paquete a creer que el paquete lo

envió la contraparte.

(30)

30

Postulado 2: Nonce verification

Se conoce que el paquete fue enviado por B a =>

se confia en la recepcion.

(31)

Postulado 3: Jurisdicción

(32)

32

(33)
(34)

34

Kerberos: Introducción

Durante 1983 en el M.I.T. (Massachussetts Institute of Technology) comenzó el proyecto Athena

entorno de trabajo educacional compuesto por estaciones gráficas, redes de alta velocidad y servidores

Sistema operativo Unix 4.3BSD

Sistema de autenticación:Kerberos ([MNSS87])

(35)

Antes:

– La autenticación se realizaba de dos formas:

• Se aplicaba la autenticación por declaración (Authentication by assertion), en la que el usuario es libre de indicar el servicio al que desea acceder (por ejemplo, mediante el uso de un cliente

determinado)

• se utilizaban contraseñas para cada servicio de red.

– El primer modelo proporciona un nivel de seguridad muy bajo, ya que se le otorga demasiado poder al cliente sobre el

servidor.

(36)

36

Si un servidor conoce la identidad de un cliente puede decidir sobre la concesión de un servicio o la asignación de privilegios especiales.

KryptoKnight ([MTHZ92], [JTY97]...), SESAME ([PPK93]) o Charon ([Atk93]) se basan en mayor o menor medida en Kerberos.

Uso de Kerberos

– Se encuentra disponible en la mayoria de los Unix, y viene integrado con OSF/DCE (Distributed Computing Environment).

– Login

– en el acceso a otros servidores (por ejemplo, mediante rlogin) – en el acceso a sistemas de ficheros en red como NFS.

– Usado por Microsoft a partir de Windows 2000

• Kerberos se puede implementar en un servidor, mediante un conjunto de bibliotecas que utilizan tanto los clientes como las aplicaciones;

(37)

Arquitectura de Kerberos

Basada en: Clave de Sesión, Ticket y Autenticador.

Clave de sesión es una clave secreta generada por Kerberos y expedida a un cliente para uso con un servidor durante una sesión.

Ticket es un testigo expedido a un cliente del servicio de tickets de Kerberos para solicitar los servicios de un servidor; garantiza que el cliente ha sido autenticado recientemente.

(38)

38

Kerberos

Es un sistema de autenticación centralizado

basado en clave simétrica

– Permite el acceso a servicios distribuidos

– Los servidores delegan el servicio de autenticación

en Kerberos

– Todos confían en el servidor de autenticación

(39)

Requerimientos

Requerimientos contemplados:

– seguridad

– confiabilidad

– transparencia

– Escalabilidad

(40)

40

Introducción a Kerberos 4

Servidor de Autenticación/

Authentication Server(AS)

– Los usuarios se identifican al AS

– El AS entrega una credencial o Tiquet criptográfico

(ticket granting ticket TGT)

Ticket Granting server (TGS)

– Esta credencial o tiquet es presentado al TGS para

solicitar el acceso a servicios o servidores este

(41)

Grafico K4

1- So licitu

d TGT

2- TG T y Cl

ave de Sesio

n

Servidor AS Authentication Server

Servidor TGS Ticket Granting Server

3- Solic

itud SG T

4- SGT

y Clav

e de S esion

1- El Usuario solicita un servicio

2- el AS verifica la identidad y crea el TGT. El resultado se envía encriptado con la clave compartida con el usuario.

3- con la clave del usuario se desencripta lo recibido. Se envía el TGT al TGS.

4- El TGS desencripta el TGT con la clave que comparte con el TGT.

Se crea un ticket para el Servidor del servicio. 5- Req

uerimie

nto de Servicio

(42)

43

Kerberos 4 Paquetes

Intercambio de autenticación

(1) CL->AS: IDC || IDtgs || TS1

(2) AS->CL: EKc[KC,tgs || IDtgs || TS2 || LifeTime || Tickettgs]

Tickettgs = Ektgs [ KC,tgs || IDC || ADC || IDtgs || TS2 || LifeTime ]

Solicitud del Servicio al TGS

(3) CL->TGS: IDV || Tickettgs || Authenticator

(4) TGS->CL: EKC,tgs [ KC,V || IDV || TS4 || LT4 || TicketV ]

Tickettgs = EKtgs [ KC,tgs || IDC || ADC || IDtgs || TS2 || LT2 ]

Ticketv = EKv [ KC,V || IDC || ADC || IDV || TS4 || LT4 ]

Authenticator = Ekc,tgs [ IDC || ADC || TS3 ]

Acceso al Servicio

(5) CL-V: Ticketv || Authenticator

(6) V>CL: EKC,V [ TS5 + 1]

Ticketv = EKv [ KC,V || IDC || ADC || IDV || TS4 || LT4 ]

Authenticator = Ekc,v [ IDC || ADC || TS5 ]

1- Solic itud TGT

2- TGT y Clav

e de S esion

Servidor AS Authentication Server

Servidor TGS Ticket Granting Server

3- Solicitu d SGT

4- SGT y Cl

ave de Ses ion

5- Requerimiento de Servicio 6- Autenticador del Servidor

IDC Identidad de CL

IDTGS Identidad del TGS

TS Time Stamp

EKc Encripcion con clave del Cliente

ADC Address C Direccion del Cliente

(43)

Multiple Kerberos: Realm

1- Solicitud TGT

2- TGT y Clav

e de Sesion

AS

TGS

3- Solicitud SGT

4- SGT y Clave de Sesion

5- R eq ue rim ien to T ick et d e S erv

(44)

45

Problemas de Kerberos

Kerberizacion:

•Cualquier programa que lo utilice tiene que ser modificado siguiendo un proceso denominado `kerberización'.

•Esto implica disponer del código fuente de cada aplicación que se desee kerberizar, y una inversión de tiempo considerable.

Disponibilidad

•Relacionado con la seguridad de Kerberos es la gran centralización que presenta el sistema. Tiene que estar SIEMPRE DISPONIBLE.

Sincronismo de Hora (Secure Time Services)

•uso de timestamps como pruebas de frescura en Kerberos.

(45)

Problemas de Kerberos

Relativos a las claves:

•Usando apis de Kerberos se puede intentar probar secuencialmente las claves de un determinado usuario. Lo cual se incrementa si los usuarios usan claves debiles

Uso por servicios

•Fue pensado para personas que se autentican no para servicios que corren en segundo plano.

•En este caso debera almacenar de alguna forma la clave en el cliente. Y los equipos no suelen tener un servicio de almacenamiento seguro.

Acceso a los caches de las claves

(46)

47

Problemas de Kerberos

Suplantacion de Programa de Acceso (Spoofing Login):

•Se puede intentar de alguna forma reemplazar el login o que el usuario acceda a algo parecido al login. De forma tal que ingrese sus credenciales en un sistema falso que actua de intermediario.

Ticket Forwarding

•En kerberos 5 se incorporo la posibilidad de pasar el token. Confianza en cascada… ¿Quién usa el token?

(47)
(48)

49 Authentication Service (AS) Ticket Granting Service (TGS) Windows 2000 domain controller (KDC) Kerberos client \\AppServ

1. Request a ticket for TGS

2. Return TGT to client

3. Send TGT and request for ticket to \\AppServ

4. Return ticket for \\AppServ

5. Send session ticket to \\AppServ

6. (Optional) Send confirmation of identity to client

(49)

Authentication Service (AS) Ticket Granting Service (TGS) Windows 2000 domain controller (KDC) Username Password Client Logon AS_REQ E U(LTSK)(Authenticator), Username AS_REP

EKDC(TGT), EU(SK)

TGS_REQ

EKDC(TGT), ESK(Authenticator), AppSrv

TGS_REP

EAppSrv(Ticket), ESK(C-K)(SK

C-A)

AP_REQ

EAppSrv(Ticket), ESKC(Authenticator)

(50)

52

(51)
(52)

Implementación

http://web.mit.edu/kerberos/www/

(53)

Arquitectura

Autenticación

TGT

Ticket request

Service ticket

Service request

Service

Clientes

Servidores

(54)

56

Configuración del KDC

Instalar herramientas administrativas

Instalar ntpdate y elegir el servidor de sincronismo

– Puede ser interno o externo a la red

Crear el realm

(55)

Configuración de los servidores

•Instalar cliente de Kerberos

•Establecer el realm y el KDC

•Instalar servicios kerberizados

•Instalar ntpdate y sincronizar

•Agregar principals para el servidor

(56)

58

Configuración de los clientes

•Instalar cliente de Kerberos

•Establecer el realm y el KDC

•Instalar clientes de servicios kerberizados

•Instalar ntpdate y sincronizar

(57)
(58)

60

El concepto consiste en la autenticación única por parte del usuario para acceder a sus recursos.

La idea es realizar por única vez el logueo, sin necesidad de volver realizarlo a la hora de acceder a nuevos recursos en los que aún no se había autentificado.

(59)

SSO: Características

Multiplataforma: facilitar las tareas de inicio de sesión y de acceso a recursos de red desde distintas plataformas

Transparencia: el acceso a los recursos de sistemas se efectúa de forma transparente al usuario debido a la automatización del inicio de sesión

(60)

62

SSO: Características

Control de acceso: no se ve afectado por el uso de este sistema, SSO implica cambiar los mecanismos de autentificación del cliente y/o servidor, pero no modifica los permisos de los recursos.

Seguridad: depende de la arquitectura usada, pero en todos los casos la información debería viajar cifrada por la red

(SSL, certificados...)

(61)

SSO: Características

Sistemas Adaptados

– Los sistemas por medio de apis delegan la

autenticación en el SSO.

– Kerberos: Los servicios se kerberizan.

Por medio de Macros

(62)

64

CAS Web Single Sign On

Es un servicio de autenticacion centralizado pensado como un SSO para web.

Concebido y desarrollado por Shawn Bayern de la Universidad de Yale

En Diciembre de 2004, se convirtió en un proyecto de Java Architectures Special Interest Group, quien desde 2008 es responsable de su mantenimiento y desarrollo

Antes conocido formalmente como “Yale CAS”, ahora también se lo

conoce como “JA-SIG CAS”

(63)

CAS Web Single Sign On

Se accede a través de tres URL:

URL de login: realiza autenticación primaria (pide al usuario una NetID y una contraseña y lo valida). Intenta agregar la ticket-granting cookie (opcional, da la apariencia de Single Sign On).

Una vez que se completa la autenticación primaria, el CAS redirige al usuario a la aplicación desde donde vino, agregando el ticket.

URL de validación: Revisa en su base de datos si guardó en el pasado un ticket correspondiente al cual acaba de recibir. Si lo encuentra, y si el servicio asociado al ticket coincide con el servicio peticionado por la aplicación que está pidiendo la validación, devuelve a la aplicación que realiza la petición el NetID asociado a ese ticket. En caso contrario, se niega a validar el pedido.

(64)

66

web browser

app. #1 app. #2 app. #3

con CAS

service

CAS Web Single Sign On

web browser

app. #1 app. #2 app. #3 authentication

server

sin SSO

user

database user

database

(65)

CAS: Autenticación de Usuario

TGC: Ticket Granting Cookie

– User’s passport to the CAS server – Private and protected cookie

– Opaque re-playable ticket CAS

server

netId password

PS

user database

(66)

68

CAS: Acceso a la aplicación

web browser CAS server TGC HTT PS application

TGC ST

ST ST

ST: Service Ticket

– Browser’s passport to the CAS client (application) – Opaque and non re-playable ticket

– Very limited validity (a few seconds)

(67)
(68)

71

Cuando se termina el ciclo, la aplicación web ha podido

verificar la identidad de un usuario sin haber tenido acceso a la

contraseña.

Queda una cookie que puede volver a identificar al usuario

ante CAS de modo que el usuario no tenga que ingresar su NetID

y su contraseña en el futuro.

(69)
(70)

73

CA eTrust SSO: macro de Login

set _ERRORMODE resume set display_msgs 0

set debug 0

# Mapeo

proc map_drive {server group drive_letter} {

# Desconectar unidad previamente mapeada sso net_use -device $drive_letter -del yes

if {$debug} {

sso msgbox -msg "Map '\\\\$server\\$group' to $drive_letter para grupo $group" }

if {$display_msgs} {

sso statusbox -msg "$group Map '\\\\$server\\$group' to $drive_letter ... " }

sso net_use -device $drive_letter -net \\\\$server\\$group -persistent n -user $_LOGINNAME -password $_PASSWORD

if {$debug} {

sso msgbox -msg "SSOERR = $_SSOERR , $_LOGINNAME , $_PASSWORD" }

if {[file exist $drive_letter]} {

if {$display_msgs} {

sso statusbox -msg "Drive $drive_letter mapped to \\\\$server\\$group" sso sleep -time 2sec

} } else {

sso msgbox -msg "Map drive '\\\\$server\\$group' to $drive_letter FAILED (error $_SSOERR)" }

}

Referencias

Documento similar

A solicitud del programa “Promoción de la educación inclusiva e igualdad de oportunidades para niñas, niños y adolescentes migrantes y refugiados y de las comunidades de acogida

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

Un método de estudio aparte de ser una herramienta muy útil al momento de estudiar también nos ayuda a agilizar nuestra mente y tener una buena memoria para futuro?. Palabras

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

En un congrés, convé disposar d’un pla o full de ruta per tal de garantir la igualtat d’accés de totes les persones, tant ponents com participants.. Comunicació : Tant si el

Allí donde los la separación de poderes es más amplia, como en un sistema pre- sidencialista, donde el Jefe de Estado y de Gobierno no tiene que responder política- mente de sus

1) El de cámaras. De estos dos hornos, el más económico es el de cá- maras, sin embargo tiene un enorme inconveniente que es la - gran cantidad de mano de obra que se necesita para

Las lecturas de francobordo/calado se toman para establecer la posición de la flotación y determinar a su vez el desplazamiento del buque en el momento de realizar la prueba