Universidad Nacional
Sistema de Estudios de Posgrado
Maestría en Administración de Tecnología de la Información
Modelo de implementación de mecanismos de firma digital
Estudiantes:
Patricia Víquez Víquez
Marlis Montes Morales
2
Índice General
Introducción e importancia ... 8
Antecedentes ... 9
Problema... 11
Objetivo general ... 12
Objetivos específicos ... 12
Impacto y justificación ... 13
Marco teórico ... 16
Project Management Body of Knowledge (PMBOK) ... 16
Proyecto ... 16
Administración de proyectos ... 16
Modelo ... 17
Proceso ... 17
Funcionamiento de los mecanismos de firma y verificación de la validez de la firma en un documento electrónico. ... 18
Criptografía ... 18
Algoritmos criptográficos ... 24
Dispositivos criptográficos ... 37
Certificados digitales ... 39
Documentos electrónicos ... 42
Proceso de firma digital básica ... 48
Proceso de verificación de la validez de la firma digital básica ... 51
Formatos de Firma Digital ... 56
Responsabilidades de los clientes, las aplicaciones de cliente y de servidor ... 90
Aspectos legales ... 93
Integridad, autenticidad y no repudio ... 93
Manifestación de la voluntad ... 95
Neutralidad tecnológica ... 96
Uso adecuado de los tipos de certificados ... 97
3
Firmas digitales en el mundo físico ... 99
Aspectos técnicos ... 100
Estándares ... 100
Arquitectura física y lógica de las soluciones con mecanismos de la firma ... 104
Flujos de comunicación entre la aplicación y el dispositivo criptográfico ... 104
Interoperabilidad en navegadores y sistemas operativos ... 106
Uso de formatos avanzados ... 107
Usos de los sellos de tiempo ... 110
Verificación de la cadena de la certificación ... 115
Características específicas para la preservación en el tiempo de un documento firmado digitalmente. ... 118
Gestión documental ... 118
Expediente electrónico ... 119
Custodia electrónica ... 120
Centros de Datos (Data Centers, bóvedas del siglo 21) ... 123
Otros temas relacionados ... 125
PKI Nacional ... 125
Interoperabilidad de las aplicaciones y los sistemas ... 128
Comunicación segura de los sitios web vía SSL ... 130
Gestión de documentos electrónicos en la organización ... 136
Archivos digitales y preservación de los documentos electrónicos... 137
Creación del ecosistema para el uso de la firma electrónica en una organización ... 145
Investigación en aplicaciones y librerías ... 147
Programación de la aplicación ... 147
XML ... 148
Herramientas de XML ... 150
Funciones de la edición XML ... 151
Definición de los algoritmos ... 152
Marco metodológico ... 155
4
Fuentes de información ... 156
Método de investigación ... 158
Técnicas de Investigación ... 159
Herramientas de investigación, gestión, colaboración y comunicación ... 159
Identificación y análisis de la firma digital en otros países ... 161
Diagnóstico (Situación Actual) ... 167
Propuesta de solución ... 178
Flujos de los procesos de la firma digital ... 180
Conclusiones ... 188
Recomendaciones... 189
Análisis retrospectivo ... 190
Lecciones aprendidas ... 191
Referencias Bibliográficas ... 192
5
Índice de Figuras
Figura # 1: Historia. ... 11
Figura # 2: Criptografía. ... 19
Figura # 3: Llave simétrica. ... 20
Figura # 4: Llave asimétrica.... 21
Figura # 5: Diagrama algoritmo RC4. ... 26
Figura # 6: Tarjeta Inteligente. ... 37
Figura # 7: Dispositivo criptográfico USB ... 38
Figura # 9: Ejemplo de certificado X.509 y del proceso de validación. ... 41
Figura # 10: Proceso de Firma Digital. ... 50
Figura # 12: Versiones de CMS ... 61
Figura # 13: Formatos derivados de CMS ... 61
Figura # 14: Estructura de un documento CAdES ... 65
Figura # 15: CAdES-BES. ... 66
Figura # 16 CAdES-EPES. ... 67
Figura # 17: CAdES-T. ... 68
Figura # 18: CAdES-C. ... 69
Figura # 19: CAdES-X Long. ... 70
Figura # 20: CAdES-X Type 1. ... 71
Figura # 21: CAdES-X Type 2. ... 72
Figura # 22: CAdES-X Long with Time. ... 73
Figura # 23:CAdES-A. ... 74
Figura # 24: Formatos derivados de XMLDSig ... 76
Figura # 25: Estructura de un documento XMLDSig ... 77
Figura # 26: Estructura de un documento XAdES ... 79
Figura # 27: Estructura del formato XAdES BES y EPES ... 80
Figura # 28: Estructura de XAdES T ... 81
Figura # 29: Estructura de XAdES C ... 82
Figura # 30: Estructura de XAdES X ... 83
Figura # 31: Estructura de XAdES X-L ... 84
Figura # 32: Estructura de XAdES A ... 85
Figura # 11: Formatos derivados de PCKS#7 ... 87
Figura # 33: Formatos de firma derivados de PDF 1.7 ... 89
Figura # 34: Estructura de documento PDF firmado digitalmente ... 90
Figura # 35: Modelo del Proceso de Firma Digital. ... 93
Figura # 36: Diagrama del proceso de firma digital ... 100
Figura # 37: Proceso de sellado de tiempo. ... 103
Figura # 39: Diferentes dispositivos de almacenamiento ... 104
Figura # 40: Dispositivos criptográficos. ... 106
6
Figura # 42: Formatos Avanzados ... 108
Figura # 43: Autoridad de sellado de tiempo del sistema nacional de certificación digital. ... 111
Figura # 44: Proceso de sellado de tiempo de una Autoridad de Sellado de Tiempo (TSA). ... 114
Figura # 45: Proceso de verificación de un sello de tiempo (TSA) ... 115
Figura # 46: Autoridad certificadora. ... 116
Figura # 47: Verificación de firma en el tiempo.... 118
Figura # 48: Data Center. ... 125
Figura # 50: Diagrama de la jerarquía nacional de certificadores registrados. ... 127
Figura # 49: Esquema PKI. ... 128
Figura # 50: Tecnología M2M. ... 129
Figura # 51: Infraestructura de M2M.... 130
Figura # 52: Certificado SSL. ... 131
Figura # 53: Diagrama de comunicación SSL ... 132
Figura # 54: Navegadores y uso de certificado SSL ... 133
Figura # 55: Diagrama de pasos documentos electrónicos. ... 139
Figura # 56: Medios de almacenamiento. ... 140
Figura # 57: Conservación de libros en el tiempo. ... 142
Figura # 58: Estrategia de conservación digital. ... 142
Figura # 60: Verificación de firma digital en procesos legales ... 146
Figura # 61: Proceso de verificación de la firma de un usuario. ... 147
Figura # 62: El formato de firma XMLDSig y XADES. ... 149
Figura # 63: Ejemplo de código fuente de VB. ... 150
Figura # 64: Algoritmo hash ... 153
Figura # 65: Variación del algoritmo ... 153
Figura # 66: Algoritmo de cifrado ... 154
Figura # 67: Pautas generales para las autoridades. ... 162
Figura # 68: Catálogo de algoritmos ... 163
Figura # 69: Catálogo de algoritmos ... 164
Figura # 70: Catálogo de algoritmos ... 164
Figura # 71: Pasos para firma electrónica ... 165
Figura # 72: Certificado digital, beneficios, autoridades certificadoras ... 165
Figura # 73: Manual de beneficios y aplicaciones de la certificación digital. ... 166
Figura # 74: Jerarquía Nacional. ... 169
7
Índice de tablas
Tabla #1: Comparación de funciones Hash ... 35
Tabla # 2: Ejemplos de formatos ... 140
Tabla # 3: Entidades que utilizan Firma Digital en Costa Rica ... 177
Índice de gráficos Gráfico # 1: Organizaciones que comparten documentos electrónicos ... 173
Gráfico # 2: Obtención de Certificados... 173
Gráfico # 3: Normativas y políticas para la Firma digital ... 174
Gráfico # 4 : Solicitud de Asesoría al MICITT ... 174
Índice de Anexos Anexo # 1: Valoración Financiera ... 196
Anexo # 2: Identificación de los principales riesgos del proyecto ... 197
Anexo # 3: Descripción de las herramientas utilizadas para la guía interactiva de firma digital ... 198
8
Introducción e importancia
La firma digital permite al receptor de un mensaje firmado digitalmente determinar la
entidad originadora del mismo y confirmar que éste no ha sido alterado desde que fue
rubricado. Se aplica en aquellas áreas donde es significativo poder verificar la
autenticidad y la integridad de los datos, por ejemplo, los documentos electrónicos o el
software, ya que permite detectar la falsificación y/o la manipulación del contenido.
El mecanismo de firma digital tiene el potencial, si se implementa correctamente, de
facilitar y asegurar muchos trámites que actualmente requieren la presencia física de
las partes involucradas.
Con este proyecto, la intención es construir un modelo que indique de manera detallada
los elementos que deben considerarse para la implementación de la firma digital en las
organizaciones. No se pretende llegar a nivel de metodología, esto con el fin de evitar
conflicto entre las diversas metodologías de desarrollo o arquitecturas que tengan las
instituciones interesadas. Este proyecto incluye construir un "marco de referencia"
(como el PMBoK), que sirva de punto de partida para que los responsables de los desarrollos en las instituciones puedan tomarlo como referencia al implementar sus
servicios de firma digital.
Todos estos elementos implican un esfuerzo considerable en sumarizar, hilar y
tropicalizar de acuerdo con el contexto nacional.
Adicionalmente, se entregará una guía XML con el contenido de la investigación, con el
fin de que a futuro los interesados puedan tomar estos XML y los interpreten mediante
9
Antecedentes
La firma digital en Costa Rica inicia a finales del mes de febrero del año 2002, cuando
el Poder Ejecutivo presentó un proyecto de ley a la Asamblea Legislativa, bajo el
expediente 14.276. Por la novedad y las características técnicas del mismo tuvo una
amplia discusión, y finalmente en agosto de 2005, fue firmada la Ley 8454.
La Ley faculta la posibilidad de vincular jurídicamente a los actores que participan en
transacciones electrónicas, lo que permite llevar al mundo virtual las transacciones o
los procesos que anteriormente requerían el uso de documentos físicos para tener
validez jurídica, bajo el precepto de presunción de autoría y responsabilidad.
También, la ley estableció un período para desarrollar un reglamento que la
complementara. Con ello se dio paso a la creación de una comisión integrada por el
Banco Central de Costa Rica (BCCR), Poder Judicial, Ministerio de Ciencia, Tecnología
y Telecomunicaciones (MICITT), Registro Nacional, CONARE, Procuraduría Nacional,
Cámara de Tecnologías de Información y Comunicación (CAMTIC) y Dirección General
de Migración y Extranjería (DGME).
El 21 de abril del 2006 se publicó en la Gaceta el Reglamento para la Ley de
Certificados, Firmas Digitales y Documentos Electrónicos, en el cual se definen
diversos aspectos de cómo implementar la firma digital en Costa Rica. Se determina
que el Sistema de Certificación Nacional se dará a partir de una jerarquía de
autoridades certificadoras, las cuales serán descendientes de una sola unidad
certificadora raíz.
En el reglamento a la ley se le confirió el grado de certificador raíz del Sistema de
Certificación Nacional a la Dirección de Certificadores de Firma Digital (DCFD), la cual
es parte del MICITT. Debido a que la DCFD no contaba con el recurso técnico ni la
infraestructura, se firmó un convenio de cooperación entre el MICITT y el BCCR. Con
10
Para el 2008 se consiguió poner en funcionamiento la Autoridad Certificadora Raíz del
Sistema de Certificación Nacional.
Después de ello, el BCCR implementó la Autoridad Certificadora del SINPE (Sistema
Nacional de Pagos Electrónicos), subordinada de la Autoridad Certificadora Raíz. La
autoridad certificadora inició en junio de 2009 y se encarga de entregar certificados
digitales a los usuarios del sistema financiero nacional con el fin de brindarle mayor
seguridad a las transacciones electrónicas.
Adicionalmente, al seguir normas internacionales como la ISO-21188, se logra que los
certificados de la Autoridad Certificadora del SINPE tengan una alta calidad.
Dentro del esquema del BCCR, las entidades asociadas al SINPE ejecutan de manera
voluntaria, las labores de registro de los subscriptores de los certificados digitales así
como la entrega del certificado digital. Con ello se aprovecha la cultura de seguridad,
las políticas, la cobertura y la infraestructura física de las sucursales para lograr tener
puntos de entrega de certificados en todo el país.
La Autoridad Certificadora del SINPE (CA del SINPE), posee nueve entidades
financieras autorizadas por el BCCR para entregar los certificados digitales. Además, se tienen operando treinta y una oficinas de registro distribuidas en todas las provincias
11
Figura # 1: Historia.
Fuente: http://www.firmadigital.go.cr/historia.html
Problema
En nuestro país no hay un volumen alto de desarrollo en el uso de la firma digital, por lo
que muchas personas desconocen el procedimiento, lo que podría generar malas
implementaciones o usos y pérdida de confianza en la misma.
Se han desarrollado servicios en entidades como el BCCR, el Poder Judicial, el
Ministerio de Hacienda, el Gobierno Digital, el Tribunal Supremo de Elecciones, el
Banco de Costa Rica, el Instituto Nacional de Seguros, entre otras. Los esfuerzos están
enfocados en la utilización de documentos firmados digitalmente, sin embargo se están
realizando de manera diversa, lo que puede causar problemas en la interoperabilidad
de los servicios.
También, utilizando algunas herramientas ofimáticas con oportunidades de mejora, se
12
de vigencia de la firma, al vencerse, muestra que el documento no posee una firma
válida, causando entre sus problemas más comunes la falta de credibilidad y fiabilidad
de los mismos. Adicional, si el documento es procesado por sistemas de gestión
documental, sería causal de que el proceso no se complete.
Objetivo general
Crear un modelo para el adecuado desarrollo de soluciones de software con
mecanismos de firma digital, con el fin de mejorar el conocimiento y potenciar el desarrollo de nuevas implementaciones en el país.
Objetivos específicos
o Investigar y documentar las mejores prácticas a nivel nacional e internacional,
para el funcionamiento y la implementación de mecanismos de firma digital.
o Aplicar un muestreo en instituciones públicas y privadas en Costa Rica que permita dar a conocer la experiencia del usuario sobre el proceso de firma
digital.
o Identificar el avance en conocimiento e implementación de firma digital a través
de los resultados del muestreo, y con ello brindar un enfoque adecuado al
modelo para el desarrollo de aplicaciones que utilicen firma digital.
o Investigar y documentar el funcionamiento de los mecanismos y la verificación
de la validez de la firma digital para potenciar el conocimiento de la ciudadanía y
13 o Construir, a partir de la investigación realizada, un modelo que permita informar
los pasos jurídicos y técnicos que se requieren para la implementación de
mecanismos de firma digital, con el fin de orientar al ciudadano y las
organizaciones.
Impacto y justificación
El objetivo es construir un modelo de implementación de mecanismos de firma digital,
el cual incluye una guía interactiva que indica los pasos técnicos y legales que deben
considerarse para el proceso de implementación de firma digital, así como los flujos de
procesos de firma digital, con el fin de que los usuarios y las organizaciones puedan
entender el proceso de forma más clara. El alcance de este proyecto incluye construir
un "marco de referencia" (como el PMBoK) que sirva de punto de partida para que los
responsables de los desarrollos en las instituciones puedan tomarlo como referencia al
implementar sus servicios de firma digital.
El modelo está orientado a satisfacer dudas a: los desarrolladores, los diseñadores, los
analistas, los arquitectos, los directores de TI, los analistas de negocio, los directores
de negocio, los encargados de archivo, los medios de comunicación y los tomadores de
decisiones en general, entre otros.
Todos estos elementos implican una elaboración de marco teórico con fundamento que
permita un esfuerzo considerable en sumarizar, hilar y tropicalizar de acuerdo con el
contexto nacional y con los objetivos que se buscan.
Además, por existir en el país la necesidad de una guía que indique paso a paso cómo realizar la implementación y qué se debe saber sobre la firma digital, se entregará la
misma en PDF y XML. El XML va a contener una serie de metadatos como el título, las
referencias, la versión, breadcrumbs, las palabras claves y otros elementos que puedan
14
los interprete con su herramienta para que les funcione como un manual interactivo
para las instituciones del país.
Al realizar este trabajo de investigación se obtuvo lo siguiente:
• Profundizar el conocimiento sobre la firma digital.
• Puesta en práctica de los conocimientos adquiridos durante la maestría para la elaboración del proyecto.
• Ayudar a desenvolvernos en diferentes ambientes, con diversos profesionales, en miras de nuevos horizontes y oportunidades.
• Por ser un proyecto de importancia nacional y que cuenta con el respaldo del MICITT, nos permitirá darnos a conocer como profesionales.
También el MICITT, como institución que soporta el proyecto, se verá beneficiado de la
siguiente manera:
• Recibir un aporte importante al proyecto nacional de Definición del Formato Oficial de Documento Electrónico Firmado Digitalmente en Costa Rica, que es
un compromiso de la Dirección de Certificadores de Firma Digital y del Ministerio
de Ciencia, Tecnología y Telecomunicaciones en el Plan Nacional de Desarrollo,
en el Plan Nacional de Ciencia y Tecnología y en el Plan Nacional de
Telecomunicaciones, entre otros.
• Generar conocimiento teórico y práctico sobre la correcta implementación de aplicaciones con mecanismos de firma digital, que podrá ser reutilizado en los
diferentes acercamientos técnicos con instituciones del estado que realiza
regularmente la Dirección.
15
de datos de lecciones aprendidas y preguntas frecuentes que pueda reutilizarse
en otras organizaciones del país.
Esto a su vez brinda a la Maestría en Administración de Tecnología de la Información,
de la Universidad Nacional:
• Prestigio por potenciar un proyecto que involucra una aplicación de importancia nacional.
Y finalmente nuestro país logrará:
• Contar con el primer compendio de información pública y abierta sobre la correcta implementación de mecanismos de firma digital en Costa Rica.
• Contar con un modelo que permita romper los paradigmas existentes sobre la dificultad de la implementación de mecanismos de firma digital en las diferentes
instituciones públicas y privadas del país.
El proyecto a nivel estratégico pretende crear un modelo para el desarrollo de
aplicaciones de la firma digital. Esto a su vez, va a generar conocimiento y romperá los
paradigmas existentes sobre la dificultad de implementar mecanismos de firma digital
en Costa Rica.
Como valor agregado se pretende mejorar el conocimiento sobre el desarrollo de
16
Marco teórico
Project Management Body of Knowledge (PMBOK)
Para la administración del proyecto, se tomó como marco de referencia principal la
Guía del Project Management Body of Knowledge (PMBOK) del Project Management
Institute (PMI), en su versión 2008. A continuación se describen brevemente los aspectos más relevantes que serán tomados en consideración.
Proyecto
Según el PMI (PMI, 2008), un proyecto se define como "un esfuerzo temporal que se
lleva a cabo para crear un producto, servicio o resultado único". Este principio es el que
rige todos los grupos de procesos recomendados en la guía del PMBOK.
Seguidamente se desglosa la teoría y los conceptos más relevantes de la
administración profesional de proyectos según el PMI.
Administración de proyectos
La administración o la dirección de un proyecto es una tarea que requiere de una serie
de habilidades y destrezas importantes para su adecuada realización, entre las cuales
es conveniente destacar la capacidad de liderar, coordinar, resolver conflictos y
visualizar el objetivo primordial y las distintas alternativas. Según el PMBOK, la gestión
de proyectos "es la aplicación de conocimientos, habilidades, herramientas y técnicas a
las actividades de un proyecto para satisfacer los requisitos del proyecto. La dirección
de proyectos se logra mediante la aplicación y la integración de los procesos de
dirección de proyectos de inicio, planificación, ejecución, seguimiento y control, y
17
Modelo
Un modelo es una representación de un objeto, un sistema o una idea, de forma
diferente al de la entidad misma.
El ser humano siempre ha tratado de representar y expresar ideas y objetos para
entender y manipular su medio. El requerimiento básico para cualquier modelo, es que
debe describir el sistema con mucho detalle, para hacer predicciones válidas sobre el comportamiento del mismo.
Un modelo permite organizar y clasificar conceptos. Al realizar un análisis de sistemas,
se crea un modelo del sistema que muestre las entidades, las interrelaciones, entre
otros. La adecuada construcción de un modelo ayuda a organizar, evaluar y examinar
la validez de los pensamientos.
Las ideas o los conceptos complejos pueden generar ambigüedades e imprecisiones,
es por eso que un modelo es la representación concisa de una situación; representa un
medio de comunicación más eficiente y efectivo.
Proceso
“Un proceso, es un conjunto de acciones y actividades interrelacionadas que se llevan
a cabo para alcanzar un conjunto previamente especificado de productos o servicios”
(PMBOK, 2004, p 37).
Subproceso
Un subproceso es un conjunto de actividades que tienen una secuencia lógica y
cumplen propósitos específicos. Un subproceso es un proceso en sí mismo, cuya
18
Modelo de implementación de mecanismos de firma digital
A continuación se describen diversos temas sobre el proceso de la firma digital, por
ejemplo: el funcionamiento de los mecanismos y la verificación de la validez de la firma
en un documento electrónico (dentro de los que se mencionan: algoritmos, dispositivos,
certificados, formatos, entre otros), los aspectos legales (conceptos, legislación, entre
otros), los aspectos técnicos (estándares, arquitectura, interoperabilidad, entre otros),
las características para la preservación en el tiempo, otros temas relacionados, así
como la experiencia y la documentación existente en otros países con respecto al tema
de la firma digital. Con ello se busca guiar al lector sobre los elementos involucrados en
el proceso, con el fin de dar un mayor entendimiento y claridad con respecto a los
pasos por seguir.
Funcionamiento de los mecanismos de firma y verificación de la validez de la
firma en un documento electrónico.
Criptografía
Criptografía (del griego krypto, «oculto», y graphos, «escribir», «escritura oculta»). Se
define como la parte de la “criptología”: que se ocupa de las técnicas aplicadas al arte o
la ciencia que alteran las representaciones lingüísticas de mensajes, mediante técnicas
de cifrado o codificado con el fin de hacerlos ilegibles para los intrusos que intercepten
los mensajes”(Menezes, Oorschot, & Vanstone, 1997, pág. 4).
Con respecto a lo anterior, se puede decir que la firma digital es un mecanismo
criptográfico que permite al receptor de un mensaje determinar el origen (a través de la
autenticación de origen y no repudio, conceptos que se verán más adelante), y
19
Figura # 2: Criptografía. Fuente: es.kioskea.net
La aparición de las tecnologías de información y comunicación, así como el uso masivo
de las comunicaciones digitales han producido un número creciente de problemas de
seguridad. Las transacciones que se realizan a través de la red pueden ser
interceptadas y es por eso que la seguridad de la información debe garantizarse. Este
desafío ha generalizado los objetivos de la criptografía por ser la parte que se encarga
del estudio de los algoritmos, los protocolos y los sistemas que se utilizan para
proteger la información y dotar de seguridad a las comunicaciones. Para ello los
criptógrafos investigan, desarrollan y aprovechan técnicas matemáticas que les sirven
como herramientas.
El tipo de propiedades de las que se ocupa la criptografía son:
• Confidencialidad: garantiza que la información sea accesible únicamente para el
personal autorizado, utiliza códigos y técnicas de cifrado.
• Integridad: permite la corrección y la completitud de la información, a través de
funciones hash criptográficas MDC, protocolos de compromiso de bit, o protocolos
de notarización electrónica.
• No repudio: proporciona protección, de manera que las entidades implicadas en la
20
puede utilizar la firma digital. En otro contexto puede ocurrir lo contrario: negar que
se ha intervenido en la comunicación, se usan técnicas como el cifrado negable.
• Autenticación: provee los mecanismos que permiten verificar la identidad del
comunicante, se puede usar: función hash criptográfica MAC o protocolo de
conocimiento cero.
• Soluciones a problemas de la falta de simultaneidad en la telefirma digital de
contratos. Se pueden usar los protocolos de transferencia inconsistente.
Terminología
Criptografía simétrica: método criptográfico en el que se usa una misma llave para
cifrar y descifrar los mensajes. Las partes involucradas deben ponerse de acuerdo
sobre la llave por usar. Una vez que ambas partes tienen acceso a ésta, el remitente
cifra un mensaje usándola, lo envía al destinatario, y éste lo descifra con la misma
llave.
Figura # 3: Llave simétrica. Fuente: www.educastur.princast.es
Criptografía de llave pública o criptografía asimétrica: método que emplea dos
llaves para el envío de los mensajes, estas pertenecen a la misma persona que lo ha
enviado. Una llave es pública y se puede entregar a cualquier persona, la otra
es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella. Los
21
manera que no se repitan. Si el remitente usa la llave pública para cifrar el mensaje,
una vez cifrado, sólo la llave privada del destinatario podrá descifrarlo. Si el propietario
utiliza la llave privada para cifrarlo, cualquiera puede descifrarlo utilizando su llave
pública. Por lo tanto, se obtiene la identificación y la autentificación del remitente, ya que sólo él pudo haber empleado su llave privada.
Figura # 4: Llave asimétrica. Fuente: www.educastur.princast.es
Criptografía con umbral: tiene como objetivo distribuir alguna
funcionalidad criptográfica entre varios usuarios de forma que:
• Cualquier conjunto con t+1 usuarios pueda colectivamente calcular la funcionalidad.
• Ningún conjunto con sólo t usuarios pueda realizar la funcionalidad.
Cuando se describe un sistema criptográfico con umbral se suele usar la notación
't-umbral' para indicar cuál es el valor umbral del sistema.
En los sistemas de firma digital con umbral sólo t o más miembros del grupo pueden
generar firmas del grupo con n miembros. Por otro lado t-1 o menos miembros no
pueden hacerlo. Cualquiera puede usar la llave pública para verificar la firma. Esta
clase de esquemas tiene mucho potencial para aplicaciones como la toma de
22
El primer esquema de firma digital con umbral fue publicado por Yvo Desmedt y Yair
Frankel. Está basado en si un verificador puede rastrear los signatarios, se pueden
distinguir dos tipos de firmas con umbras:
• Con firmantes anónimos, es decir, nadie puede revelar la identidad de los
signatarios. Han sido propuestos distintos sistemas de este tipo.
• Con firmantes rastreables.
Criptografía basada en identidad o IBC ('Identity-Based Cryptography'): fue
introducida en 1984 por Adi Shamir. Se caracteriza por el uso de atributos de identidad
de los usuarios (cadenas de caracteres identificativos), por ejemplo: direcciones de
email, números de teléfono, IP´s, nombres de dominio. A partir de aquí se pueden cifrar
y verificar las firmas, sin ser necesario el uso de los certificados digitales de PKI. Por
tanto, ya no es necesario generar y manejar certificados de usuario, porque los mensajes pueden ser encriptados por los usuarios antes de que éstos interactúen con
cualquier entidad.
Criptografía basada en certificados (Certificate-Based Criptography): Fue
introducida en 2003 por Craig Gentry. El usuario genera el par de llaves pública y
privada. Existe una Autoridad de Certificación o CA (Certificate Authority) que usa el
cifrado basado en identidad. Los usuarios solicitan a la CA para que ésta genere
certificados de su identidad y de su llave pública. Este certificado tiene la funcionalidad
de un certificado PKI convencional, y puede ser utilizado como prueba de la
certificación, de una llave de firma (certificación explícita), o como una llave de cifrado
(certificación implícita).
También, Gentry propone el primer sistema de cifrado basado en certificados llamado
CBE (Certificate-Based Encryption). Los certificados brindados por la CBC pueden ser
usados para cifrar. Para gestionar la revocación se necesita menos infraestructura que
23
Aunque la CA conozca el certificado no tiene la llave privada y no puede descifrar el
texto cifrado. No existe el inconveniente de mantener secreta la distribución de llaves,
ya que los certificados pueden ser públicos.
Además, las firmas digitales certificadas, a como están reconocidas en la ley, solo
aplican a partir de criptografía basada en certificados.
Criptografía sin certificados o CLC (Certificateless Cryptography): Introducida en
2003 por Al-Ryiami y Paterson. En CLC, la autoridad KGC (Key Generation Center)
genera una llave privada para cada usuario a partir de su cadena de identidad y la llave
privada maestra usando criptografía basada en identidad. La KGC no tiene la privada
completa y por tanto no puede cifrar y firmar por el usuario. Para construir la llave
privada, el usuario genera un valor aleatorio que tiene que mantener en secreto y todas las operaciones criptográficas serán a partir de la llave privada fabricada a partir de ese
valor aleatorio secreto y laparcial generada por la KGC.
La llave pública del usuario es calculada a partir de parámetros públicos del KGC y el
valor secreto escogido. Por tanto, no se necesita un certificado adicional para publicar la llave pública de los usuarios. La desventaja es que la información de la identidad ya
no forma parte de la pública. Para cifrar un mensaje a otro usuario se necesitan tres
informaciones: la llave pública del destinatario, la identidad y la información pública de
la KGC.
Tanto el descifrado o CLE (Certificateless Encryption) como la generación de la firma o
CLS (Certificateless Signature) requieren la llave privada.
Criptografía de llave aislada (Key-Insulated cryptography): fue introducida en
2002. Consiste en minimizar el daño causado después de un ataque que comprometa
la llave privada de un sistema criptográfico. Para ello se siguen los siguientes pasos:
24 • La(s) llave(s) secreta(s) se almacena(n) de forma posiblemente insegura, pero
éstas son actualizadas en cada período.
• Para actualizar las llaves se realiza la interacción con un dispositivo físicamente
protegido, el cual mantiene una llave secreta maestra que mantiene fija entre
periodos.
• Todos los cálculos son hechos en el sistema inseguro.
• La llave pública se mantiene fija para todos los periodos.
Este tipo de criptografía ha sido usado con criptografía de llave pública para realizar las funcionalidades de cifrado, se conoce como KIE o KIPE (key-insulated public key
encryption), y de firma.
Algoritmos criptográficos
Un algoritmo criptográfico modifica los datos de un documento con el fin de alcanzar las
características de seguridad como la autenticación, la integridad y la confidencialidad.
Los algoritmos criptográficos se pueden clasificar en tres grupos:
• Criptografía simétrica o de llave secreta. • Criptografía asimétrica o de llave pública. • Hash o de resumen.
Algoritmos simétricos
DES (Data Encryption Standard): algoritmo de cifrado bajo el estándar FIPS (Federal
Information Processing Standard)en Estados Unidos en 1976. Fue sometido a análisis
y originó el término de cifrado por bloques y criptoanálisis. Actualmente, se considera
25
menos de veinticuatro horas. El algoritmo puede ser seguro en la práctica en su
variante de Triple DES, aunque existan ataques teóricos.
El algoritmo ha sido sustituido por el nuevo AES (Advanced Encryption Standard). En
algunas ocasiones, DES es denominado también DEA (Data Encryption Algorithm).
3DES (Triple DES): hace triple cifrado del DES. También es conocido como TDES o
3DES, fue desarrollado por IBM en 1998. Se basa en que DES tiene la característica
matemática de no ser un grupo, lo que implica que si se cifra el mismo bloque dos
veces con dos llaves diferentes, se aumenta el tamaño efectivo de la llave.
Cuando se descubrió que una clave de 56 bits no era suficiente para evitar un ataque,
TDES fue elegido para aumentar el largo de la clave sin necesidad de cambiar de
algoritmo. Es preciso triplicar el número de operaciones de cifrado, haciendo este
método de cifrado más seguro que el DES. Por tanto, la longitud de la clave usada será
de 192 bits, aunque su eficacia solo sea de 112 bits.
RC2: también conocido como ARC2, es un cifrado de bloques diseñado por Ron Rivest
en 1987. "RC" significa "Código de Ron" o "Cifrado de Rivest";
El desarrollo de RC2 fue patrocinado por Lotus, ya que buscaban un cifrado
personalizado que, tras la evaluación de la NSA, podría ser exportado como parte de
Lotus Notes. La NSA sugirió unos cambios que Rivest incorporó. Fue aprobado para
exportación en 1989. RC2 con un tamaño de clave de 40 bits se trató favorablemente
en EE.UU. bajo las regulaciones de exportación de criptografía.
RC4 o ARC4: sistema de cifrado de flujo más utilizado y además, se usa en varios
protocolos como: Transport Layer Security (TLS/SSL) para proteger el tráfico
de Internet y Wired Equivalen Privacy (WEP) para añadir seguridad en las redes
26
WEB, lo han llevado a ser un sistema muy inseguro, sin embargo, algunos sistemas basados en RC4 son lo suficientemente seguros para su uso común.
RC4 es un algoritmo simple, consiste en dos algoritmos: Key Scheduling Algorithm
(KSA) y Pseudo-Random Generation Algorithm (PRGA). Ambos algoritmos usan 8-by-8
S-box, el cual es un array de doscientos cincuenta y seis números en el cual ambos
son únicos en cuanto al rango y valor, va desde cero hasta doscientos cincuenta y
cinco.
3
3
Figura # 5: Diagrama algoritmo RC4. Fuente: http://es.wikipedia.org/wiki/RC4
RC5: es una unidad de cifrado simple por bloques. Fue diseñada por Ronald
Rivest en 1994. RC5 tiene un tamaño variable de bloques (32, 64 o 128 bits), con un tamaño de clave (0 - 2040 bits) y número de vueltas (0 - 255). La combinación sugerida
originalmente era: bloques de 64 bits, claves de 128 bits y 12 vueltas.
Una característica importante es el uso de las rotaciones dependientes de los datos.
También contiene algunas unidades de sumas modulares y depuertas o-exclusivo
(XOR). La estructura general es una red tipo Feistel. Las rutinas de cifrado y
descifrado pueden ser especificadas en pocas líneas de código, pero la programación
27
IDEA (International Data Encryption Algorithm): es un cifrador por bloques diseñado
por Xuejia Lai y James L. Massey de la Escuela Politécnica Federal de Zúrich y
descrito en 1991. Fue propuesto como reemplazo de DES y fue una revisión menor
de PES (Proposed Encryption Standard). Originalmente IDEA había sido
llamado IPES (Improved PES).
IDEA fue diseñado con la Fundación Hasler. Es una marca registrada y está licenciado
mundialmente por MediaCrypt.
IDEA fue utilizado como cifrador simétrico en las primeras versiones de PGP (PGP
v2.0) y se incorporó luego de que el original usado en la v1.0 ("Bass-O-Matic") se
demostró inseguro. Es un algoritmo opcional en OpenPGP.
IDEA opera con bloques de 64 bits y clave de 128 bits. Consiste en ocho
transformaciones idénticas (cada una llamada ronda) y una transformación de salida
(media ronda). Gran parte de la seguridad deriva del intercalado de operaciones de
distintos grupos que son algebraicamente "incompatibles" en cierta forma.
Este algoritmo presenta algunas diferencias con el DES, que lo hacen más atractivo:
• El espacio de claves es mucho más grande: 2128 ≈ 3.4 x 1038 • Todas las operaciones son algebraicas.
• No hay operaciones a nivel bit, facilitando su programación en alto nivel.
• Es más eficiente que los algoritmos de tipo Feistel, porque en cada vuelta se modifican todos los bits de bloque y no solamente la mitad.
• Se pueden utilizar todos los modos de operación definidos para el DES.
Es considerado por muchos como uno de los cifrados en bloque más seguros que
28
AES (Advanced Encryption Standard): también conocido como Rijndael, esquema
de cifrado por bloques, adoptado como estándar de cifrado por Estados Unidos. AES
fue anunciado por el Instituto Nacional de Estándares y Tecnología (NIST)
como FIPS PUB 197 el 26 de noviembre de 2001. Se transformó en un estándar el 26
de mayo de 2002. Desde 2006, es uno de los algoritmos más populares en criptografía
simétrica.
El cifrado fue desarrollado por dos criptólogos belgas, Joan Daemen y Vincent Rijmen,
ambos estudiantes de la Katholieke Universiteit Leuven.
Al contrario que su predecesor DES, Rijndael es una red de sustitución-permutación.
Es rápido tanto en software como en hardware, es fácil de implementar, y requiere
poca memoria.
AES no es precisamente Rijndael, ya que este permite un mayor rango de tamaño de bloques y longitud de claves, puede ser especificado por una clave que sea múltiplo de
32 bits, con un mínimo de 128 bits y un máximo de 256 bits; AES tiene un tamaño de
bloque fijo de 128 bits y tamaños de clave de 128, 192 o 256 bits.
La mayoría de los cálculos de este algoritmo se hacen en un campo finito determinado.
Blowfish: consiste en un codificador de bloques simétricos, diseñado por Bruce
Schneier en 1993 e incluido en un alto número de conjuntos de codificadores y
productos de cifrado. Ningún analizador de cifrados de Blowfish efectivo ha sido
encontrado. Utiliza bloques de 64 bits y claves de 32 bits hasta 448 bits. Es un
codificador de 16 rondas Feistel.
Schneier lo diseñó como un algoritmo de uso general, que intentaba reemplazar al
antiguo DES y evitar los problemas asociados con otros algoritmos. Además, otros
diseños eran propiedad privada, patentados o los guardaba el gobierno. Schneier lo
declaró sin patente. El algoritmo está a disposición del público, y puede ser empleado
29
Algoritmos asimétricos
Diffie-Hellman: se debe a Whitfield Diffie y Martin Hellman, (Diffie–Hellman Problem->DHP). Es un protocolo de establecimiento de claves entre partes que no han tenido
contacto, utilizando un canal inseguro, y no autenticado.
Se emplea para acordar claves simétricas que serán utilizadas para el cifrado de una
sesión. Siendo no autenticado, sin embargo, provee las bases para varios protocolos
autenticados. Su seguridad radica en la dificultad de calcular logaritmos discretos en un
cuerpo finito.
RSA (Rivest, Shamir y Adleman): sistema criptográfico de llave pública desarrollado
en 1977. Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar
como para firmar digitalmente.
La seguridad está en el problema de factorización de números enteros. Los mensajes
enviados se representan mediante números, y el funcionamiento se basa en el
producto de dos números primos elegidos al azar y mantenidos en secreto. Los primos
son del orden de , y se prevé que su tamaño aumente con la capacidad de
cálculo de las computadoras.
Cada usuario posee dos llaves de cifrado: una pública y una privada. Cuando se quiere
enviar un mensaje, el emisor busca la llave pública del receptor, cifra su mensaje con
esa llave, y una vez que el mensaje cifrado llega al receptor, este se ocupa de
descifrarlo usando su llave privada.
RSA será seguro mientras no se conozcan formas rápidas de descomponer un número
grande en producto de primos.
30
Para la autenticación de mensajes, la seguridad de los padding-schemes como
RSA-PSS son esenciales tanto para la seguridad de la firma como para el cifrado de
mensajes, y no se debe usar la misma llave para cifrar y autenticar.
La seguridad de RSA está basado en dos problemas matemáticos: el problema de
factorizar números grandes y el problema RSA. El descifrado completo de un texto
cifrado con RSA es computacionalmente intratable.
Las llaves RSA son de 1024-2048 bits de longitud. Expertos creen que las llaves de
1024 bits pueden comenzar a ser débiles; llaves de 4096 bits podrían ser rotas a futuro.
Por lo tanto, si n es suficientemente grande, el algoritmo RSA es seguro.
Cifrado ElGamal: es un esquema de cifrado basado en problemas matemáticos de logaritmos discretos, basado en la idea de Diffie-Hellman y funciona de una forma
similar. Puede ser utilizado tanto para generar firmas digitales como para cifrar o
descifrar.
Fue definido por Taher Elgamal en 1984 y se usa en software GNU Privacy Guard,
versiones recientes de PGP, y otros sistemas criptográficos. No está bajo
ninguna patente lo que lo hace de uso libre.
La seguridad del algoritmo se basa en el supuesto de que la función es deun sólo
sentidoy la dificultad de calcularlo. El mismo consta de tres componentes: el generador
de llaves, el algoritmo de cifrado, y el de descifrado.
Criptografía de curva elíptica (CCE): variante de la criptografía asimétrica basada en las matemáticas de las curvas elípticas. Se argumenta que puede ser más rápida y
usar llaves más cortas que los otros métodos, además, proporcionan un nivel de seguridad similar. Fue propuesta de forma independiente por Neal Koblitz y Victor
31
La criptografía asimétrica o de llave pública utiliza dos llaves distintas: una puede ser
pública, la otra privada. La pública no proporciona suficiente información para
determinar cuál es la privada. Se basa en la dificultad de encontrar la solución a
problemas matemáticos.
La CCE ha sido reconocida como el algoritmo más fuerte para una determinada
longitud de llave, por lo que podría resultar útil sobre los enlaces que tengan requisitos
muy limitados de ancho de banda.
NIST y ANSI X9 han establecido requisitos mínimos de tamaño de llave de 1024 bits
para RSA y DSA y de 160 bits para ECC, el cual corresponde a un bloque simétrico de
llave de 80 bits. NIST publicó una lista de curvas elípticas recomendadas de cinco tamaños distintos de llaves (80, 112, 128, 192, 256). En general, la CCE sobre un
grupo binario requiere una llave asimétrica del doble de tamaño que el correspondiente
a una llave simétrica.
Certicom es la principal empresa comercial de CCE, posee ciento treinta patentes, y ha
entregado licencias sobre tecnología a la National Security Agency (NSA).
Hash
MD5 (Message-Digest Algorithm 5): algoritmo de reducción criptográfico de 128 bits (representada como un número de treinta y dos dígitos hexadecimal), diseñado
por Ronald Rivest del MIT (Massachusetts Institute of Technology). Fue desarrollado
en 1991 como reemplazo del algoritmo MD4.
A pesar de su amplia difusión, la aparición de problemas de seguridad detectados
(colisión de hash en 1996, anunciada por Hans Dobbertin), plantea muchas dudas
32
MD5 se utiliza en software para proporcionar seguridad, de manera que al descargar un archivo de Internet no se haya alterado. Comparando una suma MD5 publicada con
la suma de comprobación del archivo descargado, se puede comprobar que el archivo
es igual que el publicado. Esto protege al usuario contra los 'Caballos de Troya' y los
virus, así como los prepara parareconocer una descarga corrupta o incompleta.
En sistemas UNIX se utiliza para calcular el hash de las llaves de los usuarios. En el
disco se guarda el resultado del MD5 de la llave que se introduce y cuando éste desea
ingresar al sistema, se compara el hash MD5 de la llave introducida con el hash que hay guardado en el disco duro. Si coinciden, es la misma llave y el usuario será
autenticado.
El MD5 también se puede usar para comprobar que los correos electrónicos no han
sido alterados usando llaves públicas y privadas.
Adicionalmente, cabe mencionar que en Costa Rica no está recomendado su uso.
MD6 (Message-Digest Algorithm): MD6 es una función hash criptográfica que utiliza una estructura de árbol llamada Merkle, para permitir la computación paralela de los
hashes de entradas muy largas. Los autores reclaman un rendimiento de veintiocho
ciclos por byte para MD6-256 en un procesador Intel Core 2 Duo y resistencia
demostrable contra el criptoanálisis diferencial.
Las velocidades de más de 1 GB/s han sido notificadas como posibles para mensajes
largos en la arquitectura 16-core.
El diseño de árbol Merkle se basa en las reivindicaciones de Intel que describen el
futuro de los procesadores de hardware con decenas de miles de núcleos en lugar de
los sistemas convencionales uni-núcleo. Con ello, la estructura de hash del árbol
Merkle explota el potencial completo de hardware que debe ser adecuado para las
33
SHA-1 (Secure Hash Algorithm): es un sistema de funciones hash criptográficas de la Agencia de Seguridad Nacional de los Estados Unidos y publicadas por el National
Institute of Standards and Technology (NIST).
SHA, fue la primera versión publicada en 1993, llamada como SHA-0 para evitar
confusiones con los sucesores. Dos años después se publicó la siguiente versión,
SHA-1. Existen cuatro variantes más, las diferencias se basan en un diseño algo
modificado y rangos de salida incrementados: 224, 256, 384, y
SHA-512 (llamándose SHA-2 a todos ellos).
En 1998, un ataque a SHA-0 fue encontrado pero no fue reconocido para SHA-1, lo
aumentó la seguridad del SHA-1.
SHA-1 ha sido examinado por la comunidad criptográfica pública, y no se ha
encontrado ningún ataque efectivo. Sin embargo, en el 2004, varios ataques fueron divulgados sobre funciones criptográficas de hash con una estructura similar a SHA-1;
lo que ha planteado dudas sobre la seguridad a largo plazo de SHA-1.
SHA-0 y SHA-1 producen una salida resumen de 160 bits (20 bytes) de un mensaje
que puede tener un tamaño máximo de 264 bits, y se basa en principios similares a los
usados por el profesor Ronald L. Rivest en el diseño de los algoritmos de resumen de
mensaje MD4 y MD5.
SHA-1 forma parte de varias aplicaciones y protocolos de seguridad, incluyendo: TLS y
SSL, PGP, SSH, S/MIME, y IPsec. Estas aplicaciones también pueden usar MD5,
ambos MD5 y SHA-1 son descendientes de MD4. SHA también se utiliza en los
sistemas de control de revisiones distribuidas tales como Git, Mercurial, y Monotone
para identificar las revisiones, y detectar la corrupción de datos o lamanipulación.
Una gran publicación del SHA fue el estándar de firma digital, en el cual es
34
Finalmente, es importante mencionar que este algoritmo cumple con los estándares
mínimos, recomendados por las políticas nacionales.
SHA-2 (Secure Hash Algorithm): SHA-2 es un conjunto de funciones hash criptográficas (SHA-224, SHA-256, SHA-384, SHA-512), diseñada por la Agencia de
Seguridad Nacional (NSA) y publicado en 2001 por el NIST como “Federal Information
Processing Standard” en USA. Una función de hash es un algoritmo que transforma
(hashes) un conjunto arbitrario de datos en un valor de longitud fija única (hash). El
valor hashcalculado, puede ser utilizado para verificar la integridad de las copias de los
datos originales, sin proporcionar ningún medio para derivar la fuente (irreversible). Un valor hash por lo tanto puede ser distribuido libremente o almacenado a medida que se
usa sólo para fines comparativos. SHA-2 incluye un número significativo de cambios
con respecto a su predecesor, SHA-1. SHA-2 consta de un conjunto de cuatro
funciones de hash que son 224, 256, 384 o 512 bits
La seguridad proporcionada por un algoritmo de hash es completamente dependiente
de su capacidad para producir un valor único para cualquier conjunto específico de
datos. Cuando una función hash produce el mismo valor hash para dos conjuntos
diferentes de datos, se dice que ocurre una colisión. La colisión plantea la posibilidad de que un atacante puede ser capaz de elaborar computacionalmente conjuntos de
datos, que permiten acceder a la información por los valores hash de códigos de acceso o para alterar archivos de datos de una manera que no cambiaría el valor hash
resultante y que con ello podría escapar de la detección. Una fuerte función de hashes
quees resistente a este tipo de ataques computacionales.
En 2005, algunos fallos de seguridad fueron identificados en SHA-1, es decir, una
debilidad matemática podría existir, lo que indica que una función hash más fuerte sería
necesaria. A pesar de que SHA-2 tiene cierta similitud con SHA-1, estos ataques no se
35
NIST seleccionó una nueva función hash SHA-3, en 2012.Este algoritmo no se deriva
de SHA-2.
Tabla #1: Comparación de funciones Hash
SHA-2 se lleva a cabo en algunas aplicaciones de seguridad y protocolos, incluyendo:
TLS y SSL, PGP, SSH, S / MIME, Bitcoin e IPsec.
DSA (Digital Signature Algorithm): es un estándar del Gobierno Federal de los Estados Unidos o FIPS para firmas digitales. Fue propuesto por el Instituto Nacional de
Normas y Tecnología (USA) para su uso en el Estándar de Firma Digital (DSS),
especificado en el FIPS 186. DSA se hizo público el 30 de agosto de 1991, y sirve para
firmar y no para cifrar información. Una desventaja es que requiere más tiempo de
cómputo que RSA.
RIPEMD (RACE Integrity Primitives Evaluation Message Digest): RIPEMD-160 es un algoritmo de 160-bits (función hash criptográfica) desarrollado en Leuven, Bélgica,
por Hans Dobbertin, Antoon Bosselaers y Bart Preneel en el grupo de investigación
COSIC en la Universidad Católica de Lovaina, y publicado en 1996. Es una versión
mejorada de RIPEMD, que a su vez se basa en los principios de diseño utilizados en
36
También existen versiones de 128, 256 y 320 bits de este algoritmo, llamados:
RIPEMD-128, RIPEMD-256, y RIPEMD-320, respectivamente. La versión de 128 bits
fue pensada como un reemplazo para el RIPEMD original. Las versiones de 256 y 320
bits solamente disminuyen el riesgo de colisión accidental, y no tienen mayores niveles
de seguridad en comparación con RIPEMD-128 y 160-RIPEMD.
Whirlpool: es una función hash criptográfica. Fue diseñada por Vincent Rijmen (co-creador de AES) y Paulo S. L. M. Barreto, quien lo describió por primera vez en el
2000. El hash ha sido recomendado por el proyecto NESSIE. También ha sido
adoptado por la Organización Internacional de Normalización (ISO) y la Comisión
Electrotécnica Internacional (IEC) como parte del estándar internacional ISO/IEC
10118-3.
Whirlpool es una construcción Miyaguchi-Preneel basada en AES (Advanced
Encryption Standard). Toma un mensaje de cualquier longitud inferior a 2256 bits y
devuelve un mensaje de 512-bits. Los autores han declarado que "WHIRLPOOL” no es
ni será patentado. Puede ser utilizado libremente para cualquier propósito.
La versión original se llama Whirlpool-0, la primera revisión se llamará Whirlpool-T y la
última versión se llamará Whirlpool en los siguientes vectores de prueba.
En la primera revisión en 2001, el s-box se cambió de una generada aleatoriamente
con buenas propiedades criptográficas a una que tiene mejores propiedades
criptográficas y es más fácil de implementar en hardware.
En la segunda revisión (2003), se encontró un defecto en la matriz de difusión que
redujo la seguridad estimada del algoritmo debajo de su potencial. Cambiando los 8x8
constantes giratorias de la matriz (1, 1, 3, 1, 5, 8, 9, 5) a (1, 1, 4, 1, 8, 5, 2, 9) resolvió el
37
Dispositivos criptográficos
Algunos de los tipos de dispositivos criptográficos que existen son: los dispositivos
USB, las tarjetas inteligentes, tokende seguridad y HSM.
Tarjetas inteligentes
Una tarjeta inteligente es una identificación digital que almacena el certificado. Al
insertar una tarjeta inteligente en un lector que esté conectado a su equipo, el
certificado está temporalmente disponible. Se puede utilizar una de ellas para firmar
digitalmente o cifrar los mensajes como se haría con un certificado almacenado en el
equipo.
La Autoridad Certificadora SINPE del Banco Central utiliza actualmente la tarjeta
inteligente (smartcard) para almacenar y entregar el certificado o la firma digital a las
personas que lo soliciten.
38
USB basados en certificados (PKI)
Pueden utilizarse en cualquier computadora que posea un puerto USB y no requieren
un lector. Contemplan estándares como FIPS 140-2 y permiten el cumplimiento de las
normativas HIPAA, HSPD-12, SOX, GLBA, FFIEC, Basel II, PCI y HITECH.
Figura # 7: Dispositivo criptográfico USB
HSM (Hardware Security Module)
Dispositivo basado en hardware que genera, recolecta y protege las llaves
criptográficas. Suele aportar aceleración hardware para operaciones criptográficas.
Puede tener conectividad SCSI (Small Computer System Interface: conjunto de
estándares para la conexión y la transferencia física de datos entre computadoras y
dispositivos periféricos. Define comandos, protocolos e interfaces eléctricas y ópticas) /
IP (Internet Protocol: es un protocolo de comunicación de datos digitales) u otras y
aportar funcionalidad criptográfica de llave pública (PKI) de alto rendimiento que se
efectúa dentro del propio hardware.
Su funcionalidad permite la generación de datos para su acceso a lo largo del tiempo,
aportando seguridad física. Los datos suelen ser llaves privadas usadas en PKI, así
como la protección de llaves simétricas.
Los aceleradores criptográficos no permiten la extracción de llaves sin cifrar, y se
utilizan para acelerar la realización de operaciones criptográficas en su hardware
39
Los dispositivos HSM no sólo son periféricos locales, algunas empresas ofrecen este
tipo de hardware con conectividad de red para la protección de datos en múltiples
sistemas conectados.
En nuestro país, estos dispositivos deben cumplir con el estándar por FIPS 140-2 nivel
2 o superior (persona jurídica debe ser nivel 3). Adicional, únicamente los certificados
emitidos por una Autoridad Certificadora Registrada ante el MICITT son los únicos que
poseen equivalencia jurídica, ante el estado o terceros, según el MICITT en su página
web.
Certificados digitales
El certificado digital es el medio que garantiza técnica y legalmente la identidad de una
persona a través de Internet, esto con el fin de que las empresas puedan ofrecer
servicios seguros a través de la red. Permite cifrar las comunicaciones y solamente el
destinatario de la información, podrá acceder a la misma.
Al contar con un certificado, ahorrará tiempo y dinero al realizar trámites en Internet, a
cualquier hora y desde cualquier lugar.
El certificado consta de dos llaves criptográficas, una pública y una privada, creadas a
partir de un algoritmo matemático, de manera que lo que se cifra con una de las llaves
sólo se puede descifrar con la otra llave. El dueño del certificado debe mantener bajo
su poder la llave privada, ya que si ésta es sustraída, se podría suplantar la identidad.
En este caso el titular debe revocar el certificado.
La Autoridad de Certificación es quien asegura que la llave pública corresponde con los
datos del titular, también se encarga de emitir los certificados después de comprobar su
40
El formato de los certificados digitales está definido por el estándar X.509, y con ello
pueden ser leídos o escritos por cualquier aplicación que cumpla con el estándar.
X.509
Es un estándar UIT-T para infraestructuras de llaves públicas (Public Key Infrastructure
o PKI). Especifica formatos estándar para certificados de llaves públicas y un algoritmo
de validación de la ruta de certificación. Se define empleando el lenguaje ASN.1
(Abstract Syntax Notation One), y los formatos de codificación más frecuentes son DER
(Distinguish Encoding Rules) o PEM (Privacy Enhanced Mail).
Estructura del Certificado X.509 v3
La estructura de un certificado digital es la siguiente:
• Certificado
• Versión
• Número de serie
• ID del algoritmo
• Emisor
• Validez
• No antes de
• No después de
• Sujeto
• Información de llave pública del sujeto
• Algoritmo de llave pública
• Llave pública del sujeto
• Identificador único de emisor (opcional)
• Identificador único de sujeto (opcional)
41 • Algoritmo usado para firmar el certificado
• Firma digital del certificado
Finalidad
Certificados SSL para cliente: mediante el protocolo Secure Socket Layer,
dirigido a una persona física.
Certificados SSL para servidor: usado para identificar a un servidor ante un
cliente en comunicaciones mediante SSL.
Certificados S/MIME: empleado para servicios de correo electrónico firmado y
cifrado, que se expiden generalmente a una persona física.
Certificados para la firma de código: usados para identificar al autor de ficheros o
código en cualquier lenguaje de programación que se deba ejecutar en red
(Java, JavaScript, CGI, entre otros).
Certificados para AC (Autoridades Certificadoras): se usa por el software cliente
para determinar si puede confiar en el certificado, accediendo al certificado de la
AC.
42
Documentos electrónicos
Estándares e interoperabilidad
Office Open XML
El formato Office Open XML (OOXML) es un formato de archivos creado por Microsoft
para representar los documentos de texto, las presentaciones y las hojas de cálculo.
Este formato es un estándar abierto, aprobado tanto por la Ecma (Ecma 376) como por
la ISO (ISO 29500) (Microsoft, 2010).
En 2006 el estándar fue sometido a evaluación por parte de los organismos
encargados, y en 2008 fue aprobado como estándar internacional (Microsoft, Open
XML as a Standard, 2010). Los nuevos formatos regulados por el estándar son el docx
para los documentos de texto, pptx para las presentaciones y xlsx para las hojas de
cálculo.
Desde que se aprobó el Office Open XML como estándar internacional en 2008,
muchos países y proveedores de software lo han adoptado. En cuanto a los
proveedores de software y plataformas que adoptaron el estándar, además de
Microsoft (quien lo utiliza en su suite Office desde la versión 2007), se pueden
mencionar Windows, Linux, Mac OS y Palm OS como plataformas y Apple, Corel,
Microsoft y Novell como proveedores de software (Microsoft, Open XML Adoption,
2010).
Open Document Format (ODF)
El Formato de Documento Abierto es un estándar publicado en 2005 por la
Organización para el Avance de los Estándares de Información Estructurados (OASIS,
por sus siglas en inglés). ODF es un estándar abierto y basado en XML, creado para
43
presentaciones, las bases de datos, las fórmulas matemáticas y los elementos gráficos
(OASIS, OpenDocument Version 1.2, 2011). El ODF se encuentra actualmente en su
versión 1.2, aprobada el 30 de setiembre de 2011 (OASIS, 2011).
El estándar ODF se creó con la interoperabilidad en mente: se caracteriza por utilizar la
máxima cantidad de recursos de otros estándares cuando sea posible, de tal manera
que los problemas por incompatibilidad sean mínimos (Geyer, How does
OpenDocument compare to other standards?, 2006). ODF no especifica varios
esquemas XML para los diferentes tipos de documento, sino que es un solo esquema
XML para todos los tipos de documentos que es capaz de manejar (Geyer, How does
OpenDocument compare to other office applications schemas?, 2006).
Por ser un estándar abierto y basado en XML, muchos paquetes de herramientas de
oficina, tanto de código abierto como propietario, utilizan el ODF como formato por
defecto, o al menos lo soportan. Por ejemplo: se pueden citar el OpenOffice, StarOffice,
NeoOffice, KOffice, Google Docs, Lotus Symphony y Apple TextEdit (Eckert, Ziesing, &
Ishionwu, 2009). Incluso Office de Microsoft presenta cierto grado de soporte para ODF
a partir del Service Pack 2 de Office 2007, aunque no todas las funciones están
soportadas (Marcich & Dozier, 2009).
Con la creciente preocupación que existe con respecto a temas como la
interoperabilidad, el acceso universal a la información, la preservación de la
información, el manejo documental con independencia de proveedor y el aumento de
transacciones y operaciones que han migrado desde el papel hacia el mundo digital,
los formatos abiertos han tomado más fuerza en los últimos años (Humberg, 2006).
Como uno de los estándares más populares, el ODF se encuentra presente en una
gran cantidad de entes gubernamentales, organismos internacionales, organizaciones