Вы находитесь на странице: 1из 16

3.

3 Generadores y
Distribución de Claves

Christian Jovana Tzec Hernández


Generación
PSEUDOALEATORIOS

 Se llama números pseudoaleatorios


a una sucesión deterministica de
números en el intervalo [0,1] que tiene
las mismas propiedades estadísticas
que una sucesión de números
aleatorios.
 Una forma general de obtener
números pseudoaleatorios es partir de
una semilla de p números y aplicar una
función d.

 Los números pseudoaletorios son
necesarios cuando se pone en práctica
un modelo de simulación, para obtener
observaciones aleatorias a partir de
distribuciones de probabilidad.
 Un generador de números aleatorios
es un algoritmo que produce
secuencias de números que siguen una
distribución de probabilidad especifica
y tienen la apariencia de aleatoriedad.

 La referencia a secuencias de
números aleatorios significa que el
algoritmo produce muchos números
aleatorios en serie. 
 La secuencia de números generados
debe cumplir con las 2 hipótesis
siguientes:
 Distribución Uniforme
 Independencia (no correlacionados)

 Los números aleatorios se pueden
dividir en dos categorías principales:
 Números aleatorios enteros. Es una
observación aleatoria de una
distribución uniforme discreteada en
el intervalo n, n+1…
 Por lo general, n =0 ó 1 donde estos
son valores convenientes para la
mayoría de las aplicaciones.
Números aleatorios uniformes. Es una

observación aleatoria a partir de una


distribución uniforme (continua) en un
intervalo [a , b].
 Propiedades mínimas que deberán
satisfacer los números
pseudoaleatorios:
 *Ajustarse a una distribución U(0,1).
 *Ser estadísticamente independientes (no
debe deducirse un número conociendo
otros ya generados).
 *Ser reproducibles (la misma semilla debe dar
la misma sucesión).
 *Ciclo repetitivo muy largo.
 *Facilidad de obtención.
 *Ocupar poca memoria.
 Cualquiera que sea el método para generar
números aleatorios debe satisfacer las
siguientes condiciones:
 Deben ser:
 1. Uniformemente distribuidos
 2. Estadísticamente independientes
 3. Reproducibles
 4. Sin repetición dentro de una longitud
determinada de la sucesión
 5. Generación a grandes velocidades
 6. Requerir el mínimo de capacidad de
almacenamiento
Centro de distribución
de claves (kdc)

 En este modelo cada usuario tiene


una sola clave compartida con el KDC.
 El KDC es un servicio que se ejecuta
en un server seguro físicamente.  
 El KDC tiene las claves principales
de todos
 El KDC distribuye claves de sesión.


 Clave de Sesión: Cuando un


cliente solicita al KDC el acceso a un
servidor, éste genera en forma
aleatoria una clave denominada "Clave
de Sesión" que será utilizada por el
cliente y el servidor para encriptar el
diálogo que mantendrán.

 TGT: Cuando un cliente inicia una
sesión, solicita al KDC un boleto especial
que le permita solicitar posteriormente
otros boletos (boletos de servicio), los
cuales posibilitarán el acceso a distintos
servidores. Este boleto especial recibe el
nombre de "Boleto de Concesión de
Boletos" (Ticket Granting Ticket).  

 Boleto de Servicio: Es aquel que


solicita el cliente al KDC para poder
acceder a un servicio que reside en un
servidor que implementa Kerberos como
protocolo de autenticación. También se lo
conoce como "Ticket Granting Service".
 Nomenclatura 

 Kx: Es la clave secreta (Resumen


producido por una función Hash de la
contraseña) de x, donde x es un cliente
(c), una aplicación de servidor (s) o el
KDC (k).
 {datos}Kx: Cualquier dato encriptado con
la clave secreta de x.
 {T}Ks: Boleto encriptado con la clave
secreta del servidor s (Tener en cuenta
que no todo el boleto se encripta).
 Kx,y: Clave de sesión utilizada por las
instancias x , y.
 {datos}Kx,y: Cualquier dato encriptado
Kerberos en un ejemplo de Ticket
  

 Cuando un usuario inicia la sesión, la


parte cliente del protocolo envía un mensaje
al KDC solicitando un TGT.  

 El mensaje contiene información de


autenticación que consiste en un marca
temporal, encriptada mediante el resumen de
la función de hash de la contraseña del
usuario. {marca_temporal}Kc  

  El KDC busca el registro asociado al usuario,


donde encontrará el resumen de su clave,
y procede a desencriptar el mensaje. Si
este proceso es exitoso y la marca
 El KDC genera en forma aleatoria un clave
de sesión que compartirá con el
usuario, Kc,k.  

 El KDC envía al usuario un TGT encriptado


con su clave privada {TGT}Kk. Este
ticket contiene entre otros el tiempo de
validez del boleto, algunas banderas,
datos de autorización del cliente y la
clave de sesión entre ambos, Kc,k .
También envía esta clave en forma
separada, encriptada con la clave del
propio usuario. {Kc,k}Kc.  

 El usuario desencripta la clave de


sesión, almacena el TGT y está listo para
solicitar boletos de servicio cuando haga
 Cuando el usuario necesita acceder a un
servidor que ejecuta Kerberos, solicita
un boleto de servicio al KDC para dicho
servidor.
 Esta petición contiene entre otras cosas
el TGT del usuario, el nombre del servidor
que se pretende acceder y una marca
temporal encriptada usando la clave de
sesión entre el KDC y el usuario
{marca_temporal}Kc,k.
 Cuando el KDC recibe la petición
desencripta el TGT, luego extrae la
clave de sesión necesaria para
desencriptar el autenticador. Si dicho
proceso es exitoso y la marca temporal
 El KDC prepara el boleto de servicio
copiando algunos campos contenidos
en el TGT, agrega un clave de sesión
para el cliente y el servidor, Kc,s
generada aleatoriamente, establece el
tiempo de vida y encripta dicho boleto
usando la clave del servidor {T}Ks
 Posteriormente el KDC envía el boleto al
cliente y una copia de la clave de
sesión recién generada, encriptada con
la clave que comparte con el cliente
{Kc,s}Kc,k 
  
Cuando recibe los mensajes, el cliente
desencripta y obtiene la clave de sesión
que usará con el servidor Kc,s y envía el
boleto de servicio a dicho server {T}Ks,
junto con un autenticador encriptado
 El servidor desencripta el boleto,
obtiene la clave de sesión Kc,s y
desencripta el autenticador. Si este
proceso fue exitoso y la marca
temporal es reciente, se autentica al
usuario como válido. Posteriormente los
datos de autorización contenidos en el
boleto determinarán si este usuario
puede acceder a los servicios que
desea.

Вам также может понравиться