Confidencialidad usando Autenticacion

Por: Robert Schlaff
Traduccion: Andrea Botero

Dentro de los próximos diez años se espera que el uso de Internet aumente de manera considerable tanto en los sectores de comunicación como en el de comercio. Como resultado de esto, el Gobierno de los Estados Unidos ha empezado a regular este tipo de actividades "en linea".  El gobierno busca controlar  las comunicaciónes,  tratando de disminuir el número de mensajes confidenciales (secretos) que son enviados, de manera que pueda hacer un mayor seguimiento de actividades ilegales y asi  prevenir el crimen.  De esta manera se han  aprobado una serie de  regulaciones en torno al  uso (principalmente en la exportación) de la encripcion,  el método más común para crear confidencialidad.  Sinembargo el gobierno no ha regulado la  ''autenticacion '', y se debe a esto:  Cuando se controla la seguridad de operaciones bancarias en linea,  la parte mas critica se encuentra en la verificación de la identidad de las personas en la red. Esta verificacion se realiza principalmente usando procedimientos de autenticación.

Un uso más difundido de metodos de autenticación incrementa la economia en linea y por consiguiente beneficia a compañias estaudinenses haciendo negocios en la red. Por consiguiente, el gobierno de los Estados Unidos ha animado el uso de autenticación, dejándola libre de restricciones y  regulaciones en su  exportación.  En este artículo espero demostrar como diferentes  entidades o personas  puedan obtener confidencialidad sin usar encripcion

Es importante tener presente las diferencias entre confidencialidad,  encripcion, y autenticación.

La encripcion es la manera más común de lograr confidencialidad,  pero la autenticación también puede ser utilizada. Una técnica para proporcionar confidencialidad usando autenticación es la denominada "chaffing and winnowing''  implementada por primera en el Laboratorio para Ciencias de la Computación de el  MIT por Ronald Rivest [2]. El esquema trabaja enviando mensajes chaft (incorrectos) que solo pueden ser diferenciados del mensaje real por el receptor, quien "separa" (winnow) los mensajes. En ingles la palabra winnow significa  separar o eliminar las partes inútiles y se deriva de su significado común,  separar el trigo del barcia o bagazo (partes inútiles de la planta) en una granja.  En el siguiente artículo nos referiremos a los paquetes buenos de información como "trigo'' y los paquetes malos de información como `` barcia''.

La tecnica "chaffing and winnowing'' es relativamente facil de implementar. El remitente autentica el mensaje real agregando un MAC correcto y entonces  agrega "barcia" (con MACs incorrectos) para confundir a cualquier intruso.  El destinatario sabe cual es el  MAC  correcto (pues posee la llave) y tira todos los mensajes con MACs malos (es decir, el barcia) para obtener el mensaje original.   En un ejemplo simple de esto Alice envía un mensaje a Bob. Antes de enviarlo, el mensaje es autenticado computando un MAC que se agregá al final del mensaje. La  llave de  autenticación secreta puede establecerse en un  principio usando  métodos como el  Diffie-Hellman, se representarse asi:

  mensaje-->  mensaje, MAC

Despues de esto Alice envía a Bob muchos otros mensajes con MACs incorrectos. En estas condiciones es casi imposible para cualquier intruso descifrar cual es el mensaje real,  ya que  no tiene el acceso a la llave secreta. Bob en cambio puede identificar el mensaje correcto recomputando  la función del mensaje y de la llave secreta y comparándola con los MACs agregados al final de los mensajes. despues de esto Bob puede deshacerse de  todos los mensajes cuyos MACs son diferentes al valor que él obtuvo.

Para lograr que  el método trabáje de una manera más segura, lo mas indicado es dividir el mensaje en paquetes diferentes, cada uno de los cuales ira precedido de un número de serie diferente. Esto ayudará a decidir si alguno de los paquetes se perdio y en que orden deben colocarse. Un ejemplo de un mensaje antes de que se agregue "el barcia"  

Agregando "el barcia" conseguimos:
   
Para obtener el mensaje correcto , el receptor solo tiene que desechar todos los mensajes malos  conservando el bueno.

Qué nivel de confidencialidad puede obtenerse en mensajes enviados por este metodo? La confidencialidad del mensaje se  basa completamenten en la dificultad de cualquier indiscreto para distinguir "el trigo", "del  "barcia".  Esto depende del algoritmo MAC que se haya utilizado, en la manera en que el mensaje esté dividido, y en la manera en como se agrege la basura o "barcia".

Un buen  algoritmo MAC  (como HMAC-SHA1) podria parecer actuar como una funcion al azar para  indiscretos o espias.  En este caso el adversario es incapaz de diferenciar entre el trigo y barcia.  Si el adversario ve solamente un mensaje o paquete con un número de serie dado,  ese es probablemente el "trigo" y no el "barcia". es por eso que  un buen metodo de chafting agrega como minimo un paquete de "barcia" por cada número de serie utilizado en el mensaje

El adversario también puede distinguir el " trigo" del "barcia" por medio del contenido de cada paquete. Es decir, si los paquetes de "trigo" contienen  frases en ingles y los paquetes de "barcia" contienen datos al azar,  el adversario no tendrá  dificultad en distinguir el "trigo", del "barcia".  Sin embargo, si los paquetes de "trigo" contienen un solo pedazo y hay paquetes de "barcia" con los mismos números de serie pero  pedazos complementarios, el adversario  encontrará practicamente imposible distinguir el paquete real.  Para obtener todos los pedazos de" trigo" y recuperar el mensaje original, el adversario deberá descifrar  el algoritmo MAC o conocer la llave. Con un algoritmo de MAC bueno, la habilidad del adversario para distinguir el mensaje real es sumamente pequeña,  por esto un buen metodo de  chafting proporciona un alto grado de confidencialidad.

El problema con el envio de  pedazos de  paquetes  es que se crea ineficacia. Asumiendo que tenemos números de serie del 32bits y MACs de 64,  tendriamos que enviar alrededor de 100 bits para transmitir 1 bit de informacion real.

Es posible hacer este metodo mucho más eficaz  incluyendo mas bits por paquetes, en vez de uno solo en cada caso.  En uno de sus artículos, Rivest presenta una solución que hace uso de una transformacion denominada: "todo-o-nada" o "paquete" [3]. esta transformación sin llave (sin encripcion) toma el mensaje original y produce un " paquete'' con la caracteristica que el destinatario no puede leer ninguna parte del mensaje hasta que no haya recibido el paquete completo. "Todo-o-nada" hace este metodo muy eficaz ya que el receptor debe saber exactamente  que paquetes hacen parte del mensaje para poder leerlo.

Para ello el remitente divide  el mensaje  en pedazos de 1024- bits , autentica cada bloque con un MAC, y transmite el resultado al receptor. En este caso el mensaje se empaqueta y se autentica, pero no se codifica. Es posible que  cualquier indiscreto  reconstruya  el mensaje si consigue  todos los bloques; sinembargo si se envian un número suficiente de bloques de "barcia", los resultados de confidencialidad son  excelentes. Para un adversario, la dificultad en determinar el texto  original (obtener "el trigo") es proporcional al número de maneras en como la sub-sequencia de bloques se escoja, y se examine como "trigo".  Esto será exponencial al número de bloques,  asumiendo que la fraccion de bloques de barcia agregado no este cerca de uno.   Cuando se empaca,  no es necesario tener tantos paquetes de "barcia" como paquetes del trigo ya que el adversario debe identificar los paquetes de" trigo" con exactitud  (sin omisiones o paquetes extras) para poder recuperar el mensaje. De esta manera para  mensajes largos, el número  de paquetes de "barcia" puede ser bastante pequeño.   En este caso agregar  "barcia" también es sencillo,  simplemente se crea un paquete con el mismo número de serie del paquete de trigo, y se agrega un MAC al azar . La oportunidad de que el MAC sea correcto es aproximadamente de1 en 2^64 o 10^18.  

Hemos demostrado como confiando en la autenticación, se pueden  lograr excelentes niveles de confidencialidad sin usar encripcion. Esto podria significar una posibilidad para exportar  un programa con  la habilidad de enviar mensajes con confidencialidad.  Sin embargo, las leyes de la exportación tienen cláusulas de -intento- de manera que si una compañia intencionalmente, trata o intenta  evadir las leyes de  exportación concernientes a la  encripcion , es culpable de romperlas.

En todo caso, el metodo de "chaffing and winnowing'' hace difícil  para el gobierno determinar el intento. Como ejemplo, considere el caso de Alice, quien  envia dos mensajes a Bob con llaves diferentes, usando una transformación  "todo-en-uno"  en ambos mensajes. Alice envía los paquetes de mensaje 1 y mensaje 2  al azar para confundir a los posibles espias.   Para descifrar mensaje 1, Bob tiene que coleccionar todos los pedazos de mensaje 1 y ninguno de los pedazos de mensaje 2 y realizar la transformacion "todo-en-uno". Ya que  Bob conoce  las llaves secretas, él puede hacer la separación de  los dos mensajes y descifrarlos.  Por otro lado los posibles espias no conocen  las llaves y no pueden descifrar ninguno de los mensajes. Para el  el gobierno seria muy dificil aprobar   regulaciones que le prohiban a Alice hacer esto. Ella no es esta usando encripcion y facilmente podria argumentar que ni siquiera tenia la intención de enviar los mensajes de una manera confidencial.  

Hasta hace poco, el gobierno pensaba que todos los productos que carezcan de ciertas rutinas de encripción serian  incapaces de producir  mensajes confidenciales. Sin embargo,  hemos establecido que usando este método es  posible usar  autenticación para establecer confidencialidad.  A la luz de este desarrollo, seria muy complicado para el gobierno de los estados Unidos  intentar regular la confidencialidad en el futuro.  

 

Referencias

1
Krawczyk, H., Bellare, M., y R. Canetti,  "HMAC: Keyed-hashing for Message Authentication," RCF2104,  Febrero,  1997 . Disponible en: ftp://ds.internic.net/rfc/rfc2104.txt

2
Rivest, R.  "Confidentiality without encryption," 18 de marzo de 1998. Disponible en:" http://theory.lcs.mit.edu/~rivest/chaffing.txt  

3
Rivest, R. "All-Or-Nothing Encryption and the Package transform," en Proceedings of the 1997 Fast Software Encryption Conference (Springer, 1997). También disponible en http://theory.lcs.mit.edu/~rivest/fusion.ps

Copyright 1998 Robert Schlaff

Número del visitante desde Diciembre 23, 1999: