Proyecto piloto de una red de terceras partes confiables

Jorge Dávila Muro

Este proyecto persigue establecer las funcionalidades propias de una red de Terceras Partes Confiables para un gran número de usuarios operando a diferentes niveles de seguridad dentro de una red eminentemente semipública. Esta red de TPCs constituirá la funcionalidad de certificación que permita transportar a la red transacciones documentarias y ejecutivas que requieren autenticidad y confidencialidad.

Este proyecto se propone diseñar, construir y evaluar estaciones TPC y sus redes dentro de un campus universitario. Dichas TPCs jugarán diferentes papeles: desde los que son propios de una sencilla Autoridad de Certificación para diferentes actividades académicas reales (autenticación de nombres y privilegios, gestión de claves públicas de firma, certificación de documentos públicos, gestión de directorios, etc.), hasta las TPCs actuando como agencias depositarias (escrow agents) de "secretos" de diferentes importancias.

En esta propuesta se consideran diferentes niveles de seguridad que se adapten a la naturaleza multijerárquica de cada universidad o administración pública. La red de TPCs servirá a diferentes tipos de agentes, yendo desde el estudiante individual, hasta los Jefes de Departamentos y Equipo Decanal.

Como objetivos del proyecto se propone desarrollar prototipos y un sistema piloto de una red de TPCs de la que se puedan extraer datos experimentales sobre su funcionamiento, prestaciones y eficiencia; de modo que éstos puedan servir para fundamentar futuros criterios de efectividad, economía y aceptabilidad de dichas redes.

Los objetivos concretos que se persiguen en este proyecto se pueden reunir en las siguientes funcionalidades:

  • Gestión de Claves: Administración, generación, distribución, certificación, y revocación de claves públicas y secretas.
  • Transacciones documentales: Generación de certificados sobre valores públicos (claves públicas, privilegios, propiedad, posesión, etc.) y secretos (claves privadas de firma, claves de acceso, etc.) que podrán ser distribuidos en forma de participaciones (shares) entre varios agentes.
  • Autenticación de Nombres: Producción y revocación de certificados de identidad asociados a determinados valores (claves, privilegios, etc.) públicos. Los datos de inscripción pasarán a formar parte de un directorio, y constituirán el núcleo básico del servicio público de cada TPC.
  • Certificación: Las TPCs, emitirán certificados basados en la recepción y verificación de otros certificados electrónicos.
  • Mantenimiento de Directorios: Los certificados se almacenarán en bases de datos seguras, constituyendo directorios públicos y semipúblicos, en el que se mantendrán actualizadas y autenticados diferentes datos sobre cada una de las identidades reconocidas por cada TPC.
  • Evaluación de Impacto: Cada TPC mantendrá actualizadas ciertas estadísticas de utilización, fácilmente configurables, mediante las cuales se podrá evaluar el impacto, tanto en eficiencia como en comodidad, de la transformación telemática de las actividades administrativas y académicas que son objeto de este proyecto.

Introducción

La información que fluye a través de las redes telemáticas es independiente del soporte físico sobre el que circulan o son almacenadas, por lo que, en tanto que información, carecen de integridad y autenticidad en el sentido clásico del término. En la sociedad actual, tanto el valor de las cosas como la identidad de las personas se basan en la existencia de documentos auténticos verificables en cualquier momento por agentes humanos. Dadas estas circunstancias, difícilmente modificables, la posible teleinformatización de la sociedad pasa, inexcusablemente, por dotar de atributos de integridad y autenticidad a las versiones digitales de los documentos clásicos[1].

Hoy en día se dispone de herramientas suficientes para poder establecer cadenas lógicas, o secuencias de documentos digitales auténticos, con las que se produce la transferencia de confianza entre agentes generadores y los documentos digitales. En estas sucesiones de documentos digitales se puede probar la autenticidad de cada una de ellos a través de los algoritmos de firma digital[2][3]

Dada la complejidad de los algoritmos de firma que hoy en día se consideran seguros, la magnitud de las claves secretas o privadas a emplear es tal (1024 bits), que éstas no pueden ser gestionadas (memorizadas) fácilmente por los seres humanos. Por ello, al final de cualquier proceso de autenticación lógica siempre hay un procesador digital, denominado "representante" u "observador", que es el que realmente realiza la firma digital en nombre de su legítimo dueño[4].

En estas circunstancias, las identidades físicas pueden transformarse en identidades digitales[5][6]siempre y cuando algún ente físico de fe pública de que tal ligazón, representante-identidad física, existe y en que condiciones es cierta. Este es, en lo fundamental, el cometido de las denominadas Terceras Partes Confiables (TPCs)[7].

La principal labor de una TPC, llamada también Autoridad de Certificación, es la de generar certificados. Estos certificados pueden ser de varias clases, y las más importantes son :

  1. Certificados de identidad: que asocian inequívocamente un individuo con una clave pública que le permite acceder a una red de ordenadores, firmar documentos, etc. La identificación del individuo puede ser realizada mediante un nombre, una fotografía digitalizada, etc.

  2. Certificados de autorización: otorgan al poseedor del certificado una serie de atributos que le dan derecho a realizar ciertas operaciones.

  3. Certificados de transacción: son certificados sobre operaciones o "transacciones" realizadas en un determinado momento. Tienen la particularidad de que, al contrario que con los otros tipos de certificados, no pueden ser reutilizados.
  4. Certificados "time stamp": son certificados que aseguran que un documento existió en un momento determinado.
En muchas ocasiones los certificados deben poder revocarse con fecha anterior a la que marca la caducidad del certificado[8]. Para ello, las TPCs mantienen al día lo que se denominan "Listas de Certificados Revocados" (LCRs), que son públicamente accesibles y cuyo mantenimiento es responsabilidad no sólo de la TPC que las gestiona, sino de toda la red de TPCs que compartan una determinada política de confianza mutua[9].

Una LCR es una lista que identifica una serie de certificados que, por cualquier causa (el secreto de una clave está en compromiso, una TPC ha decidido revocar un determinado tipo de certificado que ella firmó, etc.), han perdido su validez antes de la fecha de expiración del mismo. La distribución y puesta al día de estas listas es uno de los mayores problemas que presentan hasta la fecha las redes de TPCs. Es por eso que algunos esquemas prescinden de ellas; como es el caso del modelo SDSI propuesto por Ron L. Rivest, en el que se aboga por una reconfirmación "on-line" periódica de los certificados ante la correspondiente entidad emisora del certificado, en lugar del mantenimiento de listas de certificados revocados.

Los resultados que se persiguen en este proyecto son de inmediata aplicabilidad a muchos sectores sociales donde las TPCs desempeñarían cometidos sencillos; por ello, en este proyecto, el diseño de las unidades que actúen como TPCs se hará persiguiendo la suficiente flexibilidad, robustez y versatilidad; permitiendo así que se adapten a los diferentes niveles de seguridad exigidos en cada caso concreto.

Los destinatarios naturales de este tipo de unidades serían aquellos servicios y negocios que deban integrarse en redes públicas (Internet) o privadas (Intranets) extensas para mantener su competitividad. Algunos ejemplos de ello serían, entre otros, el sector bancario al detalle, los grandes almacenes, los distribuidores de servicios informáticos, las pequeñas y medianas empresas, etc.

Objetivos

Los objetivos concretos de este proyecto son:

  1. Desarrollar unidades autónomas, flexibles, escalables y seguras que actúen como Autoridades de Certificación (TPCs).
  2. Componer una red piloto de varias autoridades de certificación que, ordenadas jerárquicamente, actuarán en varios departamentos de una facultad y que den servicio a toda la red académica interna.
  3. Evaluar, en un entorno real, la eficiencia en la prestación de servicios para lo que se identificarán las causas de los posibles problemas que se planteen durante su explotación.
  4. Evaluar los requisitos de escalabilidad y flexibilidad de las diferentes unidades, atendiendo a los diferentes niveles de seguridad necesarios en entornos funcionales heterogéneos.
  5. Evaluar en lo posible cuales serían los costes y el cambio en la eficiencia de las transferencias documentales ordinarias (matrícula, prestación de servicios, etc.) al transformar parte de ellas en sus equivalentes digitales. La experiencia adquirida en estas transformaciones permitirá estudiar la posibilidad de implantar nuevos servicios y la generalización de estos.

Descripción de los Objetivos:

Autoridad de Certificación: Consiste en el desarrollo del software necesario para construir una unidad de certificación segura a nivel lógico. Según la clasificación de la seguridad de los servicios de certificación, así como del flujo de transacciones esperado y del volumen de información que requiera cada servicio, las plataformas hardware a desarrollar serán diferentes.

Como sistema operativo se utilizará un versión Unix estable a la que se le habrán eliminado todos los procesos de acceso remoto, convirtiéndola en un sistema cerrado[10]. Las comunicaciones se harán bajo el protocolo de comunicaciones TCP/IP y sobre redes Ethernet, a través de canales normales de comunicación o canales seguros, utilizando para ello protocolos del tipo SSL.

Red de Autoridades Certificación: La red de Autoridades de Certificación estará constituida por diferentes workstations configuradas en tres niveles de seguridad, según la naturaleza de los datos que contienen, y según la importancia de los certificados que son capaces de emitir.

Transformación hacia documentos digitales: Disponiendo de una red piloto de TPCs organizadas jerárquicamente, se persigue dotar a los agentes de mayor responsabilidad y riesgo, de una identidad digital y de la correspondiente capacidad de firma digital, materializada en la posesión de una tarjeta inteligente que será personal e intransferible. Los privilegios de cada agente estarán contenidos dentro de la tarjeta como certificados emitidos por cualesquiera de las TPCs reconocidas dentro de la red y podrán ejercitarse desde cualquier punto de la red académica.

Los agentes con acceso a la red podrán desarrollar sus actividades mediante el uso de un software análogo al que contienen las tarjetas, pero que se ejecutará en los terminales. En esta caso la identificación del usuario se realizará mediante el uso de "frases clave" o de tarjetas de identidad del tipo de las usadas en monederos electrónicos (VisaCash, 4B, etc.)

Las actividades que se consideran dentro de este proyecto son las más frecuentes dentro de un entorno universitario. Con su transformación al entorno telemático se persigue facilitar al usuario su práctica, disminuyendo en ello su desplazamiento físico y la congestión que es endémica en muchos de ellos:

  • Matrícula,

  • Consulta y solicitud de expedientes académicos,

  • Confección y publicación de listas de notas,

  • Servicios de biblioteca y centro de documentación,

  • Adquisición y generación de publicaciones internas,

  • Acceso a servicios de comunicaciones,

  • Reserva de Aulas y Recursos propios,

  • Servicios de reprografía,

  • Cobro y facturación de servicios,

  • Comisiones de servicio y bolsas de viaje,

  • Solicitud de compras y adquisiciones,

  • etc.

Plan de Trabajo

  1. Coordinación del proyecto

  2. Adquisición e instalación hardware de las diferentes TPCs

  3. Diseño e implementación de la Aplicación Certificadora

  4. Diseño e implementación de la Aplicación Servidor

  5. Diseño e implementación de la interface de comunicaciones TCP/IP

  6. Transformación de Documentos clásicos en digitales y Diseño de formularios para la emisión de certificados.

  7. Gestión de Directorios de Nombres y Privilegios

  8. Sistema de compartición de Secretos

Descripción de las tareas

Diseño e implementación de la Aplicación Certificadora: Esta tarea consiste en diseñar los elementos de una librería, mínima y necesaria, de funciones criptográficas optimizadas para la arquitectura de cada procesador (64 y 32 bits), sobre la que montar diferentes algoritmos de firma digital; que en este proyecto serán, inicialmente, el RSA y el DSS. La aplicación certificadora podrá generar y verificar firmas en cualquiera de los dos sistemas mencionados.

Esta aplicación también podrá generar claves públicas (RSA y DSS) o claves secretas de cualquier longitud; todas ellas de calidad certificada y a solicitud de cualquier agente de la red. La transmisión de estos valores al solicitante se hará a través de canales seguros de comunicación, bajo cifrado mixto asimétrico-simétrico. Esta última funcionalidad está relacionada con la posibilidad de que el solicitante quiera depositar o repartir el secreto de sus claves en otros centros o agentes (key escrow), de modo que ellos puedan, en caso de necesidad, reconstruir cooperativamente la clave secreta.

Diseño e implementación de la Aplicación Servidor: En esta tarea se desarrolla la aplicación del servidor que es la encargada de dar y verificar el formato de los certificados que genera, y de comprobar, según diferentes normas, la correcta estructura de los que recibe. Esta aplicación es la que constituye la interface que gestiona la aceptación de todas las solicitudes de servicio, tanto si son públicas, como si provienen de otras TPCs, en cuyo caso tendrán un tratamiento especial.

Esta aplicación incluye las funcionalidades necesarias para la gestión de la base de datos sobre la que la TPC construye sus certificados. La estructura de esta base de datos diferenciará varios niveles de confianza según el origen de cada uno de los datos contenidos en ella, de modo que puedan construirse modelos de certificación suficientemente flexibles.

Una de las funcionalidades más importantes de esta aplicación será la confección, gestión y mantenimiento de listas de revocación de claves y certificados, en la que se prestará especial interés a su tolerancia ante fallos del hardware y comunicaciones, así como en cuanto a su autenticidad y actualidad.

Diseño e implementación de la interface de comunicaciones TCP/IP: Las comunicaciones de la TPC con los demás agentes podrá hacerse tanto "on-line" como "off-line". Las comunicaciones on-line se harán mediante el establecimiento y uso de canales seguros de comunicación, mientras que las comunicaciones off-line se harán a través de mensajes de correo electrónico con mensajes protegidos dentro de "Sobres Digitales Mixtos".

Partiendo de protocolos del tipo SSL, en esta tarea se desarrollará la interface TCP/IP que permita el establecimiento de canales seguros de comunicación on-line. Para ello se procederá a la identificación mutua (multiprotocolo) de los agentes participantes en cada comunicación, así como la negociación de claves de sesión para el establecimiento de los canales cifrados sobre los que desarrollar su comunicación.

Transformación de Documentos clásicos en digitales y diseño de formularios para la emisión de certificados: Esta tarea persigue, en primer lugar, establecer los niveles de certificación que se pueden considerar dentro de la política de la TPC, así como la relación entre ellos. Una vez establecidos los niveles de certificación, se propondrán el contenido de los formularios y el protocolo que hay que seguir para obtener de la TPC cada tipo de certificado.

Esta tarea persigue definir un número suficiente de formatos y formularios para transportar a la red, diferentes actividades documentales propias de un entorno universitario y administrativo. Todos los documentos considerados necesitan estar firmados digitalmente (matrícula, biblioteca, centro de documentación, adquisición y generación de publicaciones internas, reserva de recursos propios, etc.), y en algunos casos es necesaria la confidencialidad de los mismos (consulta y solicitud de expedientes, confección de listas de notas, acceso a servicios de comunicaciones, cobro y facturación de servicios, etc.). La definición de las características de seguridad de cada uno de los documentos digitales, es también parte de los objetivos de esta tarea.

Gestión de Directorios de Nombres y Privilegios: Esta tarea se encarga específicamente de un tipo particular de certificados, que son los de identidad y privilegios. Como parte de esta tarea se desarrollarán los protocolos externos al funcionamiento de la propia TPC y que forman parte de su política de certificación, y que son los que conducen a la obtención tanto de certificados de claves públicas como a los de posesión de determinados privilegios. Dichos protocolos incluirán la solicitud, el procesado de la misma, la concesión del certificado y las condiciones de revocación y periodo de validez de los certificados.

Una característica peculiar de los certificados de identidad digital de las personas físicas, es la necesidad de incluir datos morfológicos de las mismas a través de fotografías. Esta aplicación es la encargada de digitalizar, comprimir, autenticar y firmar dicho tipo de información.

Sistema de compartición de Secretos: Esta tarea se encargará de desarrollar la aplicación dedicada a la generación de claves, tanto asimétricas (RSA, DSS) como simétricas (DES, IDEA, SAFER, etc.) y su posible distribución dentro de esquemas de compartición de secretos.

En este servicio el solicitante recibirá, a través de un canal seguro o a través del correo electrónico, la clave solicitada después de que está haya sido repartida entre varios depositarios según el esquema umbral de reconstrucción indicado en la solicitud. Solo después de haber recibido la TPC los correspondientes acuses de recibo por parte de los depositarios, la nueva clave será entregada, con acuse de recibo, al solicitante y automáticamente inscrita en la base de datos de la TPC.

Esta aplicación también incluye los procesos necesarios para la reconstrucción cooperativa de secretos distribuidos, prestando especial atención a la identificación de los depositarios participantes y a la anotación de todo el proceso en el registro histórico auditable de la TPC, así como de la publicidad del mismo.

Notas:

  1. "Managing Negotiable Documents and Administrating Trade Electronically: Legal aspects of electronic negotiable instruments", TEDIS II, 1995. "Security in Open Enviroments". TEDIS II, 1992. NIST :"Announcing the Guideline for the Use of Advanced Authentication Technology Alternatives". FIPS-190, 1994.
  2. Diffie, W.; Hellman, M.E.: "New directions in Cryptography", IEEE Trans. Information Theory, Vol. IT-22, 1976. pp. 644-654.
  3. El estandar de firma digital más reciente es el X9.62 del ANSI que está a punto de ser publicado. Este estandar será análogo al Digital Signature Standard del NIST y esta basado en curvas elípticas tanto sobre GF(p) como sobre GF(2n).
  4. Chaum, D.: "Archieving Electronic Privacy", Scientific American, Vol. 267, No. 2, Aug 1992, pp. 96-101. Guillou, L.C.; Ugon, M.; Qiscuater, J.J.: "The Smart Card: A Standarized Security Device Dedicated to Public Cryptology", Contemporary Criptology: The Science of Information Integrity. G. Simmons, de., IEEE Press, 1992, pp. 561-613. Yee, B.: "Using Secure Coprocessors", Ph.D. dissertation, School of Computer Science, Carnegie Mellow University, May 1994. Cramer, R.J.F.; Pedersen, T.P.: "Improved Privacy in Wallets with Observers", Advances in Cryptology - EUROCRYPT'93 Proceddings, Springer Verlag, 1994, pp. 329-343.
  5. Schneier, B.: "Identification Schemes", en Applied Cryptography, 2nd Edition. Capter 21, pp. 503-512. ANSI(ITIC) WG2 - 14888: "Digital Signatures with Apendix"
  6. ANSI, Information Technology Industry Council (ITIC) X3T4 WG2-9798: "Entity Authentication".
  7. Needham, R.M.: "Trusted third parties in computer networks" Proyecto de Investigación ( http://www.experts.org.uk:80 /projects /p04730.htm) ANSI, Information Technology Industry Council (ITIC) "Trusted Trid Party Services. Gidelines for the Use and management of Trusted Third Parties:", WG1-14516-1: "-Part 1: General Overview". WG1-14516-2: "-Part 2: Technical Aspects".
  8. Un ejemplo de ello sería cuando el certificado se refiere a una clave pública de firma y el usuario legítimo de la misma considera que ésta ha sido puesta en compromiso por alguién. Dicho de otro modo, cuando el valor secreto que permite generar firmas ya no está en posesión exclusiva del usuario legítimo, pudiendo ser así suplantado por otros.
  9. Rivest. R.L.: "SDSI - A Simple Distributed Security Infrastructure", Version 1.1. October 2, 1996 ( http://theory.lcs.mit.edu/~rivest/sdsi11.html). Froomkin, A.M.: "The Essential Role of Trusted Third Parties in Electronic Commerce". Version 1.02. Oct. 14, 1996 (http://www.law.miami.edu/~froomkin/articles/trusted1.html).
  10. Entendemos por cerrado, que no se pueden establecer conexiones remotas y que todas las actividades de mantenimiento de la máquina deberán hacerse desde la consola del equipo.

Jorge Dávila Muro
Grupo de Criptología
Facultad de Informática
Universidad Politécnica de Madrid
dirección de correo jdavila [at] fi [dot] upm.es