El protocolo de autenticación Kerberos permite a una serie de ordenadores demostrar su identidad entre ellos de una manera segura en una red insegura. El funcionamiento de dicho protocolo está basado en el protocolo Needham-Schroeder, el cual define un ''tercero de confianza'' denominado Centro de Distribución de Claves (KDC). William Stallings en su libro Fundamentos de Seguridad de Redes: Aplicaciones y Estándares, Segunda Edición (pag. 394), define un KDC de la siguiente manera:

Sistema autorizado para transmitir claves de sesión temporales a usuarios. Cada clave de sesión se transmite cifrada, usando una clave maestra que el centro de distribución de claves comparte con el usuario destino.William Stallings

El KDC se puede ver como el conjunto de dos etapas lógicas compuesta por un servidor de autenticación (AS) y un servidor emisor de ''tickets'' (TGS). El AS tiene como función identificar a cada usuario, validar su identidad y entregar al cliente una clave que le permite comunicarse con el TGS. Por otro lado, el TGS es el servidor encargado de comprobar que el cliente posea el ''ticket'' de autenticación y entrega una clave al usuario que le permite acceder a los servicios que ha solicitado. Este escenario se muestra en la Figura # 1.

 

Figura # 1: Componentes y flujo de comunicación del protocolo Kerberos.

AES: otros ataques

24 Abril 2014
Published in Research

Es claro que hasta este momento, ninguno de los ataques realizado a full-AES ha tenido éxito, los ataques usualmente se concentran en la reducción de rondas. Muchos autores afirman que ninguno de los siguientes tipos de ataques, han podido ser más efectivos que una búsqueda exhaustiva de clave:

  • Criptoanálisis lineal
  • Criptoanálisis diferencial
  • Truncated diferencials
  • Interpolation attacks
  • Square attack

Sin embargo, la estructura ordenada y las profundas bases matemáticas que utiliza, lo hacen un objeto de estudio para nuevas propuestas de ataques, como lo son los ataques algebraicos. Dichos ataques consisten en plantear un sistema de ecuaciones y con las incógnitas de dicho sistema deducir la clave; una de las ventajas que presenta este tipo de ataque, es la poca cantidad de textos conocidos que se necesitan.

En 2002 Asiacrypt hace una publicación de Nicolas Courtois y Josef Pieprzyk [1] donde proponen un modelo teórico de AES, en el que aseguran se caracteriza como un sistema de ecuaciones cuadráticas, dicho sistema consta de 8000 ecuaciones con 1600 variables binarias, sin embargo, dicho ataque falló tratando de romper AES, como menciona el mismo Courtois en [2]. Además, varios expertos en criptografía han comentado que hay problemas en las matemáticas detrás de dicho ataque, probablemente los autores hayan cometido algún error, a pesar de esto, teniendo en cuenta la forma ordenada y la completa estructura matemática de AES, es posible que este tipo de criptoanálisis pueda llegar a ser uno de los más potentes para romper AES.

Otras publicaciones conocidas son:

  1. Impossible Differentials Attack: existe un ataque de este tipo a 5 rondas de AES, requiriendo 229 plaintext elegidos, 230 encripciones, 242 bytes de memoria, 226 pasos de precálculo. Estas condiciones fueron mejoradas en [3] y [4] para alcanzar un ataque a 6 rondas de AES.
  2. Square Attack: es un ataque dirigido a un algoritmo del tipo de Rijndael que basa su diseño en estructuras de bytes. Precisamente el primer ataque de este tipo fue hecho al algoritmo predecesor llamado “Square”. Este ataque puede romper a Rijndael de 6 a 7 rondas, que puede ser mejorado para atacar a 9 rondas de AES-256 con 277 plaintexts, con 256 claves relacionadas, y 2224 encripciones [5].
  3. Collision Attack: trata de encontrar dos entradas que producen el mismo valor hash, es decir, una colisión de hash. Este ataque afecta a todas las versiones de AES, 128, 192 y 256 con 7 rondas [6].

 

Referencias

  1. Nicolas C & Josef P. Cryptanalysis of Block Ciphers with Overdefined Systems of Equations. ASIACRYPT '02 Proceedings of the 8th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology (2002), pp. 267-287.
  2. http://www.cryptosystem.net/aes/
  3. J H C, M K, K K, J L & S K. Improved Impossible Differential Cryptanalysis of Rijndael and Crypton. ICISC (2001) LNCS 2288: pp. 39-49.
  4. Raphael CP & M U S. Generalised impossible differentials of advanced encryption standard. IEE Electronics Letters (2001) Vol. 37, Issue 14: pp. 896-898.
  5. N F, J K, S L, B S, M S, D W, D W & D W. Improved cryptanalysis of Rijndael. FSE 00, LNCS 1978, pp. 213-230.
  6. H G & M M. A collision Attack on 7 rounds of Rijndael. AES3papers, pp. 2-11.

¿Cómo instalar SPAN?

10 Abril 2014
Published in Tools

Security Protocol Animator (SPAN) es una herramienta libre de verificación para protocolos criptográficos que ayuda en la búsqueda y caracterización de ataques. La principal ventaja de esta aplicación es que permite usar diferentes técnicas de verificación a un mismo protocolo. Se puede decir que es una interfaz gráfica para el manejo de HLPSL (High-Level Protocol Specification Language) y CAS+ (una implementación del Protocolo de Autenticación Central), que permite la traducción entre estos lenguajes y además brinda una interfaz gráfica más amigable al usuario. SPAN ayuda a producir de manera interactiva secuencias de mensajes o MSC (Message Sequence Charts).

Esta herramienta se utiliza para la simulación de protocolo criptográficos, permite la simulación de intrusos de manera activa o pasiva, la construcción automática de ataques a los protocolos diseñados. La edición del protocolo se puede realiza mediante HLPSL o CAS+, teniendo la posibilidad de realizar conversiones entre dichos lenguajes. Algunas características de la interfaz gráfica se muestran en la Figura # 1.

 

Figura # 1: Descripción de la interfaz gráfica de SPAN.

Como se ha mencionado en un artículo anterior, las rondas que componen el algoritmo AES se pueden dividir en tres categorías diferentes: rondas inicial, ronda estándar y ronda final. A la hora del cifrado, la información es sometida a una cantidad diferente de rondas (10, 12 y 14 respectivamente) en cada caso en función de la longitud de la clave (128, 192 y 256 bits respectivamente). Cada una de dichas rondas se compone de combinaciones de transformaciones, las posibles transformaciones son: ByteSub, ShiftRow, MixColumns y AddRoundKey. La Figura # 1 muestra la relación de las transformaciones y las correspondientes rondas.

 

Figura # 1: Distribución de las transformaciones en cada ronda.

Página 1 de 2