KERBEROS
KERBEROS
KERBEROS
• Transparente
• Escalable
Para apoyar estos requerimientos, el plan general de Ker- Kerberos Reinos y Kerberos múltiples
beros es el de un servicio de autenticación de un tercer par-
ticipante de confianza (a trusted third-party) que utiliza un Un ambiente de servicio completo de Kerberos consiste de
protocolo basado en el propuesto por Needham y Schroeder. un servidor Kerberos, un número de clientes, y una serie de
servidores de aplicaciones requiere lo siguiente:
2.2 Kerberos Versión 4
La versión 4 de Kerberos hace uso de DES, en un protocolo • El servidor de Kerberos debe tener el identificador de
bastante elaborado, para prestar el servicio de autenticación usuario y contraseñas con algoritmo hash de todos los
usuarios que participan en su base de datos.
Una Autenticación Simple de Dialogo
• El servidor de Kerberos deben compartir una clave sec-
En un entorno de red sin protección, cualquier cliente puede reta con cada servidor. Todos los servidores están reg-
solicitar a cualquier servidor un servicio. El riesgo de se- istrados con el servidor de Kerberos. Un territorio de
guridad obvio es el de la suplantación. Para contrarrestar Kerberos es un conjunto de nodos administrados que
esta amenaza, los servidores deben ser capaces de confirmar comparten la misma base de datos Kerberos. Esta
Mensaje 1 Cliente solicita ticket de concesión de
ticket a.- Autenticación del Servicio de Intercambio
IDC Le dice al AS la identidad del usuario Mensaje 3 El cliente solicita el ticket de concesión
de este cliente de servicio.
IDtgs Le dice al AS que el usuario solicita ac- IDV Le dice al TGS que el usuario solicita
ceso al TGS acceso al servidor V.
TS1 Permite que AS verifique que el reloj del Tickettgs Asegura a TGS que este usuario ha sido
cliente este sincronizado con el de AS autenticado por AS.
Mensaje 2 AS regresa el ticket de concesión de AutenticadorC Generado por el cliente para validar el
ticket ticket.
KC El cifrado está basado en la contraseña Mensaje 4 TGS retorna el ticket de concesión de
del usuario, permitiendo a AS y al servicio.
cliente verificar la contraseña y prote- Kc.tgs Clave compartida solo por C y TGS pro-
giendo el contenido del mensaje. tege el contenido del mensaje.
Kc.tgs Copia de la clave de sesión accesible Kcv Copia de la clave de sesión accesible al
al cliente creado por AS para permi- cliente creado por TGS para permitir el
tir el intercambio seguro entre el cliente intercambio seguro entre cliente y servi-
y TGS sin necesidad de que compartan dor sin que tengan que compartir una
una clave permanente. clave permanente.
IDtgs Confirma que este ticket es para el TGS. IDV Confirma que este ticket es para el servi-
TS2 Informa al cliente del tiempo en que el dor V.
ticket fue emitido. TS4 Informa al cliente del tiempo en que este
Tiempo de vida2 Informa al cliente del tiempo de vida del ticket fue emitido.
ticket. TicketV Ticket a ser usado por el cliente para
Tickettgs Ticket a ser usado por el cliente para acceder al servidor V.
acceder al TGS. Tickettgs Copia de la clave de sesión accesible a
TGS utilizada para descifrar el autenti-
Table 1: Justificación para los elementos del Proto- cador, con lo que se autentica billetes
colo Kerberos Versión 4(1) ktgs boleto está cifrado con la clave que sólo
conocen AS y TGS, para evitar la ma-
nipulación
reside en el sistema informático Kerberos maestro, el
Kc,tgs Copia de la clave de sesión accesible a
cual debe mantenerse en una habitación fı́sicamente
TGS utilizada para descifrar el autenti-
seguro. Sin embargo, todos los cambios a la base de
cador, con lo que autenticar billetes
datos debe hacerse en el sistema informático principal.
IDc Indica que el verdadero dueño de este
Cada director de Kerberos se identifica por su nom-
billete
bre principal (constará de tres partes: un servicio o
ADc Evita el uso de ticket de estación de tra-
un nombre de usuario, un nombre de instancia, y un
bajo que no sea uno que inicialmente
nombre de dominio).
pidió el billete
• El servidor de Kerberos en cada ámbito de la interoper- IDtgs Asegura servidor que lo ha descifrado
abilidad comparte una clave secreta con el servidor en correctamente billete
el otro reino. Los dos servidores Kerberos se registran TS2 Informa TGS de tiempo este billete fue
entre sı́. emitido
Tiempo de vida2 billete de reproducción después de que
ha caducado
Con estas reglas básicas en su lugar, podemos describir el
Authenticatorc Asegura que el presentador TGS billete
mecanismo de la siguiente manera: Si un usuario desea el
es el mismo que el cliente para el que
servicio en un servidor en otro reino necesita un billete para
el billete se le haya expedido vida muy
ese servidor. Cliente del usuario sigue los procedimientos
corta para evitar la reproducción
habituales para acceder al TGS local y solicita una nueva
Kc,tgs Autenticador se cifra con la clave que
TGT de TGS remoto (TGS en otro ámbito).
sólo conocen los clientes y TGS, para
evitar la manipulación
2.3 Kerberos Versión 5 IDc Debe coincidir con ID vale para auten-
Diferencias entre las versiones 4 y 5 ticar entradas
ADc Debe coincidir con la dirección en el bil-
Versión 5 está diseñado para hacer frente a las limitaciones lete vale para autenticar
de versión 4 en dos áreas: las deficiencias del medio ambiente TS3 Informa TGS de este tiempo se generó
y deficiencias técnicas. autenticador
1. La dependencia del sistema de cifrado: La versión 4 Table 2: Justificación para los elementos del Proto-
requiere el uso de DES. En la versión 5, el texto cifrado colo Kerberos Versión 4(2)
es etiquetada con un identificador de tipo de cifrado
para que cualquiera de las técnicas de cifrado puede
ser utilizado.
2. La dependencia del protocolo de Internet: la versión 4
requiere el uso de Internet Protocol (IP). Otros tipos
de direcciones, tales como la dirección de red ISO, no
b.- Intercambio de concesión de vales se alojan. La versión 5 de direcciones de red son etique-
Message 5 Solicitudes de servicio de cliente tados con el tipo y longitud, lo que permite cualquier
Ticketv Asegura servidor que este usuario ha tipo de direcciones de red que se utilizará.
sido autenticado por AS 3. Mensaje de orden de bytes: En la versión 4, el remi-
Authenticatorc Generado por el cliente para validar en- tente de un mensaje emplea una orden de bytes de
tradas su propia elección y las etiquetas el mensaje a por lo
Message 6 autenticación opcional de servidor al menos indican importantes byte en la dirección más
cliente baja o byte más significativo en la dirección más baja.
Kc,v Asegura C que este mensaje es de V En la versión 5, todas las estructuras se definen me-
TS5 + 1 Asegura C que esto no es una repetición diante las páginas de ”Abstract Syntax Notation One
de una respuesta de edad (ASN.1) y Basic Encoding Rules (BER), que propor-
Ticketv Reutilizables forma que el cliente no cionan un byte sin ambigüedades el pedido.
necesita solicitar un nuevo ticket de
TGS para cada acceso al mismo servi- 4. Venta de entradas de por vida: los valores de por vida
dor en la versión 4 se codifican en una cantidad de 8-bits
Kv boletos que está cifrada con la clave en unidades de cinco minutos. Por lo tanto, el tiempo
conocida sólo por TGS y el servidor, de vida máximo que se puede expresar es de 28 x 5
para evitar la manipulación = 1280 minutos, o un poco más de 21 horas. En la
Kc,v Copia de la clave de sesión accesible al versión 5, los boletos incluyen una hora de inicio y
cliente, que se utiliza para descifrar el hora de finalización explı́cita, lo que permite entradas
autenticador, con lo que autenticar bil- con duraciones arbitrario.
letes 5. Transmisión de autenticación: la versión 4 no permite
IDC Indica que el verdadero dueño de este credenciales emitidas a un cliente que se transmitirá a
billete otro host y utilizada por algún otro cliente. La versión
ADc Evita el uso de ticket de estación de tra- 5 ofrece esta capacidad.
bajo que no sea uno que inicialmente
pidió el billete 6. Autenticación de interregno: En la versión 4, la inter-
IDv Asegura servidor que lo ha descifrado operabilidad entre los reinos N requiere del orden de
correctamente billete N2 Kerberos a Kerberos relaciones, como se describió
TS4 Informa servidor de tiempo de este bil- anteriormente. Versión 5 es compatible con un método
lete fue emitido que requiere pocas relaciones, tal como se describe en
Tiempo de vida4 billete de reproducción después de Evita breve.
ha caducado
Authenticatorc Asegura que el presentador servidor bil-
Aparte de estas limitaciones ambientales, existen deficien-
lete es el mismo que el cliente para el
cias técnicas en la versión 4 del protocolo en sı́ son las sigu-
que el billete fue emitido; tiene vida
ientes:
muy corta para evitar la reproducción
Kc,v Autenticador se cifra con la clave que
sólo conocen cliente y servidor, para evi- 1. Billetes de doble cifrado proporcionado a los clientes
tar la manipulación se cifran en dos ocasiones, una vez con la clave secreta
IDc Debe coincidir con ID vale para auten- del servidor de destino y luego de nuevo con una clave
ticar entradas secreta conocida por el cliente. El segundo cifrado no
ADc Debe coincidir con la dirección en el bil- es necesario y es computacionalmente desperdicio.
lete vale para autenticar
TS5 Informa servidor de tiempo que esto se 2. PCBC cifrado: cifrado en la versión 4 hace uso de un
generó autenticador modo no estándar de DES conocido como cifrado de
c.- El cliente / servidor de Exchange de autenticación multiplicación de encadenamiento de bloques (PCBC).
Se ha demostrado que este modo es vulnerable a un
Table 3: Justificación para los elementos del Proto- ataque con el intercambio de texto cifrado bloques. La
colo Kerberos Versión 4(3) versión 5 proporciona mecanismos explı́citos integri-
dad, lo que permite la norma modo CBC que se utiliza
para el cifrado.
3. Las claves de sesión: Cada boleto incluye una clave de
sesión que se utiliza por el cliente para cifrar el auten-
ticador envı́a al servicio asociado a la entrada. Sin em-
bargo, debido a que el mismo billete se puede utilizar
varias veces para obtener los servicios de un servidor INICIAL Este billete fue emitido mediante el proto-
en particular, se corre el riesgo de que un oponente re- colo AS y no se han concedido sobre la base
producir mensajes serán desde una sesión de edad para de un cupón de obtención.
el cliente o el servidor. En la versión 5, es posible que PRE-AUTHENT Durante la autenticación inicial, el cliente
un cliente y el servidor para negociar una clave sub- se ha autenticado por el KDC antes de que
sesión, que se va a utilizar sólo para esa conexión una. un billete fuera emitido.
Un nuevo acceso por parte del cliente se traducirı́a en HW-AUTHENT El protocolo empleado para la autenti-
la utilización de una clave subsesión nuevo. cación inicial exigido el uso de hardware es-
pera de ser poseı́da exclusivamente por el
4. Ataques Contraseña: Ambas versiones son vulnerables nombre del cliente.
a un ataque de contraseña. El mensaje de la AS para RENOVABLES Le dice al TGS que este billete se puede uti-
el cliente incluye material cifrado con una clave basada lizar para obtener un pasaje de sustitución,
en oponente del cliente password. que vence en una fecha posterior.
MAY-POSTDATE Le dice al TGS que un billete con fecha pos-
La versión 5 de diálogo de autentificación terior podrá expedirse sobre la base de este
TGT.
En primer lugar, considerar el cambio de servicio de aut- POSTDATED Indica que este ticket ha sido con fecha pos-
enticación. Mensaje (1) es una solicitud del cliente para un terior, el servidor final puede comprobar el
TGT. Al igual que antes, incluye el ID del usuario y el TGS. campo de authtime para ver cuándo se pro-
Los siguientes elementos se agregan otras nuevas: dujo la autenticación inicial.
INVALID Este billete no es válido y debe ser validado
por el KDC antes de su uso.
• Dominio: Indica el ámbito de usuario
PROXIABLE Le dice al TGS que un nuevo ticket que con-
• Opciones: Se utiliza para pedir que ciertos pabellones cede un servicio con una dirección de red
fijado en el billete volvió. diferente puede ser emitidos con base en el
billete presentado.
• Horario: Usado por el cliente para solicitar los ajustes PROXY Indica que este ticket es un proxy.
de hora siguientes en el billete:
FORWARDABLE Le dice al TGS que un nuevo billete de con-
– a partir de: la hora de inicio deseada para el bo- cesión de vales con una dirección de red
leto solicitado diferente puede ser emitido con base en este
– hasta: la fecha de caducidad solicitado para el TGT.
boleto solicitado FORWARDED Indica que este ticket ha sido o bien remitir
o se haya expedido sobre la base de aut-
– rtime: pidió renovar a tiempo hasta
enticación sobre un billete transmitido de
• Nonce: Un valor al azar que se repite en el mensaje concesión de vales.
(2) para asegurar que la respuesta es fresca y no ha
sido repetido por un adversario y dicho valor solo se Table 4: Banderas, versión 5 de Kerberos
usa una vez.
Figure 1: Certificado de clave pública Uso Los campos de identificador único se añadieron en la versión
2 para manejar la posible reutilización de la materia y / o
nombres de emisor a través del tiempo. Estos campos se
versión debe ser la versión 3. usan raramente.
• De número de serie: Valor entero, único en la CA
emisora, que esta inequı́vocamente asociado con este El estándar usa la notación siguiente para definir un certifi-
certificado. cado:
• Firma identificadora del algoritmo: El algoritmo uti- CA << A >> = (V CA, SN, AI, CA, TA, Un Ap,)
lizado para firmar el certificado, junto con cualquier
parámetro asociado. Debido a que esta información se donde
repite en el ámbito de la firma en el final del certificado,
este campo tiene poca, si los hubiere, de utilidad. Y << X >> = El certificado de usuario X emitidos por la
autoridad de certificación Y
• Nombre del emisor: nombre X.500 de la CA que ha
creado y firmado el presente certificado. Y (I) = La firma del I por Y. Se trata de que con un código
• Periodo de validez: Consiste en dos fechas: la primera de encryptedhash anexa
y última vez que el certificado es válido.
Los CA firman el certificado con su clave privada. Si la
• Asignatura: El nombre del usuario al que se refiere el clave pública correspondiente se conoce a un usuario, a con-
presente permiso. Es decir, este certificado certifica tinuación, que el usuario puede comprobar que un certificado
la clave pública del sujeto que posee la clave privada firmado por la CA es válido.
correspondiente.
La obtención de un Certificado de usuario
• Información de clave pública del sujeto: la clave pública
del sujeto, además de un identificador del algoritmo
Los certificados de usuario generados por una CA tienen las
para que esta clave se va a utilizar, junto con cualquier
siguientes caracterı́sticas:
parámetro asociado.
• Identificador único de emisor: Un campo de bits de
• Cualquier usuario con acceso a la clave pública de la
cadena opcional que permite identificar de forma única
entidad emisora puede verificar la clave pública del
la CA emisora en el caso de que el nombre X.500 ha
usuario que se ha certificado.
sido reutilizados para diferentes entidades.
• Ninguna de las partes distintas de la autoridad de cer-
• Identificador único de Asunto: Un campo de bits ca-
tificación puede modificar el certificado sin que esto
dena opcional sirve para identificar unı́vocamente al
sea detectado.
sujeto en caso de que el nombre X.500 ha sido reuti-
lizados para diferentes entidades.
• Extensiones: Un conjunto de uno o más campos de Debido a que los certificados son infalsificables, se pueden
extensión. Las Extensiones se añadieron en la versión colocar en un directorio sin la necesidad de que el directorio
3 y se describen más adelante en esta sección. que haga esfuerzos especiales para protegerlos.
• Firma: Cubre todos los otros campos de dicho certifi- Si todos los usuarios se suscriben a la misma CA, entonces
cado, que contiene el código hash de los otros campos, no hay una confianza común en la AC. Todos los certificados
cifrada con la clave privada de la CA. Este campo in- de usuario se pueden colocar en el directorio para el acceso
cluye el algoritmo identificador de firma. de todos los usuarios. Además, un usuario puede transmitir
su certificado directamente a otros usuarios. En cualquier
caso, una vez que B se encuentra en posesión de un certi-
ficado de A, B tiene la confianza de que los mensajes son
encriptados con la clave pública de A, están a salvo de es-
cuchas y que los mensajes firmados con la clave privada de
A son infalsificables.
Todos estos certificados de CAs por Cas entidades emiso- Recuerde del La figura 2 que cada certificado incluye un
ras de certificados necesitan aparecer en el directorio, y el perı́odo de validez, al igual que una tarjeta de crédito. Nor-
usuario tiene que saber cómo están relacionadas a seguir un malmente, un nuevo certificado es emitido justo antes de la
camino al certificado de clave pública de otro usuario. X.509 expiración de la anterior. Además, puede ser conveniente en
sugiere que las CA se disponen en una jerarquı́a de modo que ocasiones para revocar un certificado antes de su expiración,
la navegación es sencilla. por alguna de las siguientes razones:
1. Clave privada del usuario se supone que es compro-
metida.
2. El usuario ya no está certificada por esta CA.
3. Certificado de la CA se supone que se vea compro-
metida.
En la autenticación de tres vı́as, un mensaje final de A a Estas extensiones de transmitir información adicional sobre
B está incluido, el cual contiene una copia firmada de la el tema y las claves emisor, además de indicadores de la
RB nonce. La intención de este diseño es que las mar- polı́tica de certificado. Una polı́tica de certificación es un
cas de tiempo No necesita ser controlado: Debido a que llamado conjunto de reglas que indica la aplicabilidad de
tanto nonces se hacen eco de vuelta por el otro lado, cada un certificado a una comunidad en particular y / o clase de
lado puede comprobar el nonce devuelto para detectar los aplicación con requisitos de seguridad común. Por ejemplo,
ataques de repetición. Este enfoque es necesario cuando se una polı́tica podrı́a ser aplicable a la autenticación de inter-
sincronizan los relojes no están disponibles. cambio electrónico de datos (EDI) las operaciones para el
comercio de mercancı́as dentro de un rango de precios.
X.509 versión 3
Esta área incluye las siguientes:
El formato X.509 versión 2 no transmite toda la información
que el diseño reciente y la experiencia en implementación
ha demostrado que es necesario. [FORD95] Enumera los • Identificador de clave Autorizada: Identifica la clave
siguientes requisitos no cumplidos con la versión 2: pública que se utilizarán para verificar la firma de este
certificado o CRL. Permite distintas claves de la misma
CA que ser diferenciadas. Uno de los usos de este
1. El campo Asunto no es suficiente para transmitir la
campo es manejar la actualización del par clave de CA
identidad del propietario de una clave a un usuario de
clave pública. nombres X.509 puede ser relativamente • Asunto identificador clave: Identifica la clave pública
corta y carente de datos de identificación obvio que certificada. Útil para la actualización del par de claves
puede ser necesaria para el usuario. en cuestión. Además, un sujeto puede tener varios
2. El campo Asunto también es insuficiente para muchas pares de claves y, en consecuencia, los certificados dis-
aplicaciones, que por lo general reconocen entidades tintos para diferentes propósitos (por ejemplo, firma
por Internet una dirección de correo electrónico, una digital y cifrado acuerdo de claves).
dirección URL, o alguna otra identificación relacionada
con Internet. • Uso de claves: Indica una restricción impuesta sobre la
finalidad para la cual, y las polı́ticas en las que, puede
3. Es necesario indicar la información de seguridad común. ser la clave pública certificada utilizada. Puede indicar
Esto permite a una aplicación de seguridad o de la fun- uno o más de los siguientes: firma electrónica, no re-
ción, tales como IPSec, para relacionar un certificado pudio, la clave de cifrado, cifrado de datos, acuerdo de
X.509 a una determinada polı́tica. claves, de verificación de firmas en los certificados de
CA, CA de verificación de firma en las CRL.
4. Hay una necesidad de limitar el daño que puede derivarse
de una errónea o maliciosa CA, estableciendo restric- • El uso de la clave privada de las actividades: Indica el
ciones en la aplicabilidad de un certificado en particu- perı́odo de utilización de la clave privada correspondi-
lar. ente a la clave pública. Por lo general, la clave privada
5. Es importante ser capaz de identificar diferentes claves se utiliza durante un perı́odo diferente de la validez de
utilizadas por el mismo propietario en diferentes mo- la clave pública. Por ejemplo, con las claves de firma
mentos. Esta función admite la administración de digital, el perı́odo de uso de la clave de firma privada
claves del ciclo de vida, en particular, la capacidad suele ser más corto que el de la verificación de la clave
de actualizar los pares de claves para los usuarios y las pública.
entidades emisoras de manera regular o en circunstan-
cias excepcionales. • Certificado de polı́ticas: Los certificados podrán ser
utilizados en ambientes donde las polı́ticas se aplican
múltiples. Esta extensión de las listas de las polı́ticas
En lugar de continuar añadiendo campos a un formato fijo, que el certificado es reconocido como el apoyo, junto
los desarrolladores de Normas estimó que un enfoque más con información calificador optativo.
flexible que se necesitaba. Ası́, la versión 3 incluye una serie
de extensiones opcionales que pueden añadirse a la versión • Polı́tica de asignaciones: Sólo se usa con certificados
2 de formato. Cada extensión consiste en un identificador de entidades emisoras de certificados emitidos por enti-
de extensión, un indicador crı́tico, y un valor de extensión. dades emisoras de otros. asignaciones de Polı́tica per-
El indicador de criticidad indica si una extensión puede ser miten una CA emisora para indicar que una o más de
ignorado con seguridad. Si el indicador tiene un valor de que las polı́ticas del emisor se puede considerar equiv-
TRUE y una aplicación no reconoce la extensión, debe con- alente a otro de polı́tica utilizados en el dominio del
siderar el certificado como válido. tema de CA.