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

10_16_AplCriptog 4/5/06 13:04 Página 10

Aplicaciones prácticas
de la criptografía

Este artículo describe las aplicaciones fundamentales de la criptografía en la actualidad:


cifrado y firma electrónica.Ambas aplicaciones son el núcleo del comercio electrónico
y de cualquier transacción segura que se realice por Internet.También se introduce
el concepto de certificado digital y su importancia para garantizar la seguridad, así
como las aplicaciones que mayor beneficio obtienen de su utilización. Los algoritmos
van acompañados de ejemplos prácticos basados en openssl, programa de libre
distribución que está disponible para diversas arquitecturas.

Vera Delgado
Estudiante de quinto curso de la titu- Aplicaciones de cifrado miento (especialmente en ordenadores
lación de Ingeniería Informática de la La aplicación principal de los algoritmos portátiles o flash drive).
Escuela Técnica Superior de Ingeniería de cifrado es garantizar la confidencialidad de Para garantizar la confidencialidad, se pue-
(ICAI), Universidad Pontificia Comi- los documentos aunque estos resultasen ac- den utilizar tanto las técnicas de cifrado de
llas. Previsiblemente obtendrá el título cesibles a personas no autorizadas. La situa- tipo simétrico donde existe una clave secreta
oficial en junio de 2006. ción práctica en la que más se utiliza es la que se utiliza para cifrar y descifrar, como las
transferencia de información por canales de técnicas de cifrado de tipo asimétrico donde
comunicación no seguros, como es Internet. existe una clave pública y otra privada. Las
Las técnicas de cifrado, además de garantizar características principales de ambos tipos de
la confidencialidad, garantizan colateralmente cifrado, así como los algoritmos más utiliza-
la integridad, ya que si el documento no es dos han sido descritos en el artículo sobre
accesible para usuarios no autorizados tam- criptografía el anterior número de la revista
poco es modificable. Anales [1].
Los algoritmos de cifrado juegan un papel El algoritmo más popular en la familia de
Rafael Palacios decisivo en la transferencia de archivos, por algoritmos simétricos es Advanced Encryp-
Ingeniero Industrial del ICAI (1990) y ejemplo por correo electrónico, y en la tion Standard, AES [2], ya que es el estándar
Doctor Ingeniero (1998). Es investiga- transferencia de información mediante nave- que fue seleccionado en 2002 por NIST
dor del Instituto de Investigación Tec- gadores, por ejemplo durante el acceso a la (National Institute of Standards and Techno-
nológica y profesor del Departamen- página web de un banco.También se utilizan logy, USA). Mientras que el algoritmo más
to de Sistemas Informáticos de la las técnicas de cifrado para proteger docu- popular en la familia de algoritmos asimétricos
Escuela Técnica Superior de Ingeniería mentos impor tantes dentro del disco de es RSA [3], nombre que proviene de las
(ICAI). Imparte clases de seguridad in- duro o en cualquier medio de almacena- iniciales de los apellidos de sus inventores
formática en la titulación de Ingeniero miento digital, por si se produce un acceso (Ron Rivest, Adi Shamir y Len Adleman).
en Informática del ICAI. ilegal. Un acceso no autorizado a informa- La gran ventaja de los métodos asimétricos
ción confidencial puede tener lugar tanto es que permiten iniciar las comunicaciones
Comentarios a: por un acceso ilícito al sistema como por el sin tener que haber acordado previamente,
comentarios@icai.es robo de los medios físicos de almacena- y de manera segura, una clave secreta. Sin

10 anales de mecánica y electricidad / marzo-abril 2006


10_16_AplCriptog 4/5/06 13:04 Página 11

embargo estos algoritmos son muy costosos Figura 1.Verificación de la firma de un documento público
desde el punto de vista computacional, por
lo que se tiende a utilizar métodos simétri-
cos. En la mayoría de las aplicaciones prácti-
cas, se utilizan los métodos asimétricos para
iniciar una comunicaión segura durante la
cual se establece una clave secreta genera-
da aleatoriamente y se acuerda un algoritmo
de cifrado simétrico a partir de las preferen-
cias de los dos interlocutores. A par tir de
ese momento la comunicación tiene lugar
por medio de algoritmos simétricos que son
más eficientes.
Una de las aplicaciones más extendidas de
las técnicas de cifrado en la comunicación en
modo seguro del navegador de Internet, es
decir cuando el usuario pone https en lugar por Internet, evitando desplazamientos y
de http. Como se verá más adelante en este pérdidas de tiempo. De hecho en España, a
mismo ar tículo, al establecer una conexión la firma electrónica aplicada sobre datos
https el navegador solicita la clave pública del consignados en forma electrónica, se le otor-
servidor y luego se establece la comunica- ga la equivalencia funcional con la firma ma-
ción mediante algoritmos simétricos. En el nuscrita en vir tud de la ley 59/2003, de 19
caso del correo electrónico cifrado, se sigue de diciembre, de Firma Electrónica.
el estándar S/MIME que se basa en las normas Quizás la aplicación más conocida en Es-
PKCS#7. Análogamente se aplican cifrados paña es la posibilidad de entregar la declara-
simétricos con claves autogeneradas y luego ción de la renta en formato electrónico por
dichas claves se cifran con algoritmos asimé- Internet. Para ello el usuario se identifica ante
tricos. el servidor web de la Agencia Tributaria me-
diante su certificado digital, y luego entrega
Aplicaciones de firma electrónica el documento electrónico de la declaración
La firma electrónica se utiliza para conse- firmado con su clave privada. Otro ejemplo
guir dos de las características de seguridad: son cier tas peticiones que se realizan me-
integridad y autenticación. Es impor tante diante formularios en la web, que si se firman
destacar que un documento electrónico fir- electrónicamente tiene la misma validez que
mado puede ser público, porque integridad y una petición presencial. El correo electrónico
autenticación no implican necesariamente también puede beneficiarse de los algorit-
confidencialidad. Por lo tanto los métodos de mos de firma electrónica para poder enviar
cifrado de clave secreta no son apropiados mensajes firmados que tiene la misma vali-
para realizar firma electrónica, y sin embargo dez que una car ta firmada, y evitando los
los métodos asimétricos sí pueden aplicarse. problemas de falsificación del remite del
Si un usuario cifra cierta información utilizan- correo1. Por último, un aspecto en el que se
do su clave privada, entonces cualquier otra va más despacio son las transacciones banca-
persona tendrá acceso a dicha información rias, las cuales ganaría en nivel de seguridad si
mediante la clave pública del usuario. Dado se realizasen firmadas digitalmente.
que es imposible obtener la clave privada a En la práctica no se suele cifrar toda la
partir de la clave pública y que la clave priva- información del documento con la clave pri-
da se mantiene segura, se garantiza la autoría vada, ya que resulta muy pesado computa-
(autenticación) y que nadie puede haber cionalmente, sino que resulta mucho más efi-
modificado el documento (integridad). ciente (tanto para el emisor como para los
Un documento electrónico firmado es equi- receptores) obtener un resumen del docu-
valente a un documento en papel y firmado mento mediante algoritmos HASH y luego
a mano que se publica en un tablón de cifrar exclusivamente el código obtenido.
anuncios. La firma electrónica es uno de los Finalmente se envía el documento, en princi-
aspectos más importantes de la criptografía pio sin cifrar, junto con unos códigos de se-
porque permite realizar muchas transacciones guridad que representan la firma. El receptor

(1)
Los programas de correo electrónico más populares, Outlook y Mozilla/Firefox, soportan cifrado y firma electrónica, aunque Eudora todavía no lo soporta.

Aplicaciones prácticas de la criptografía 11


10_16_AplCriptog 4/5/06 13:04 Página 12

puede acceder al documento porque no comunicación entre dos usuarios, el atacante


está cifrado, y para verificar integridad y puede hacer una sustitución de claves que le
autenticación realiza las operaciones sinteti- dan capacidad para ver y modificar los men-
zadas en la Figura 1. El documento enviado sajes sin que los usuarios sean conscientes
por el usuario azul está formado por el docu- de la intrusión. Según el ejemplo de la Figura,
mento original y por la firma electrónica, que el usuario verde quiere enviar un mensaje
el HASH del documento cifrado con su clave confidencial al usuario azul, por lo que recla-
privada. Entonces el receptor separa el docu- ma su clave pública. Sin embargo la clave pú-
mento de la firma y calcula el HASH del do- blica del usuario azul es interceptada por el
cumento por un lado y obtiene el HASH atacante, que la almacena y la sustituye por
original utilizando la clave pública sobre el una clave pública falsa (en rojo) que es en-
código de la firma. Si el resultado que se viada al usuario verde. Entonces los mensajes
obtiene por los dos caminos es el mismo sig- cifrados por el usuario verde con la clave
nifica que el documento no ha sido alterado. pública falsa son interceptados y descifrados
Para firmar un documento se pueden apli- por el atacante, que los puede ver y modifi-
car cualquiera de los algoritmos HASH y cual- car antes de reenviarlos al usuario azul cifra-
quiera de los algoritmos de cifrado asimétrico. dos con su clave pública auténtica. En este
Lo más utilizado es aplicar MD5 o SHA1 co- esquema el usuario verde piensa que está
mo función de resumen y luego RSA como al- utilizando la clave pública de su destinatario
goritmo asimétrico para cifrar dicho resumen. cuando realmente está utilizando una clave
La alternativa es utilizar el estándar de firma pública falsa, y el usuario azul recibe un men-
electrónica del NIST que se denomina DSA. saje perfectamente cifrado con su clave pú-
blica auténtica y no detecta que el mensaje
Certificados digitales ha sido interceptado.
Los algoritmos asimétricos, es decir los Para evitar este tipo de ataque, que haría
que utilizan una clave pública y una clave perder toda la utilizada de los algoritmos
privada, fueron diseñados para poder inter- asimétricos, es imprescindible que cada usua-
cambiar información de manera segura sin rio tenga un mecanismo para verificar si las
necesidad de haber acordado previamente claves públicas de los demás usuarios son
una clave secreta de cifrado. En efecto todo reales o falsas.
mensaje cifrado con la clave pública de un Un mecanismo para garantizar la autentici-
usuario sólo puede ser descifrado con la clave dad de las claves públicas es tomarlas de ser-
privada que el usuario mantiene segura. vidores de claves públicas en lugar de hacer-
Sin embargo existe una vulnerabilidad en lo directamente del destinatario del mensaje.
este proceso que consiste en suplantar la Este mecanismo dificulta considerablemente
identidad del receptor en un mecanismo de el ataque “man-in-the-middle” ya que ade-
ataque conocido con el nombre de “man-in- más de interceptar la comunicación entre
the-middle attack” o bien MITM (ver Figura emisor y receptor habría que interceptar la
2). Suponiendo que un atacante (representa- comunicación entre el emisor y el reposito-
do en rojo) tiene capacidad de interceptar la rio de claves. Este último canal de comunica-
ción puede ser muy difícil de romper, espe-
cialmente si existen varios ser vidores de
Figura 2. Esquema del ataque “Man-in-the-middle” claves que además pueden estar incluidos en
la Intranet del emisor.
Otro mecanismo para reforzar la seguri-
dad de las claves públicas es apoyarse en una
tercera figura, independiente del emisor y del
receptor, que se encarga de firmar electróni-
camente las claves. A esta nueva figura se
la denomina Entidad de Cer tificación y su
función principal es certificar que una clave
es válida y per tenece a una determinada
persona. La implementación práctica de este
mecanismo se realiza guardando la clave pú-
blica junto con cierta información adicional
(nombre del usuario, fechas de validad, nú-
mero de serie…) dentro de un cer tificado

12 anales de mecánica y electricidad / marzo-abril 2006


10_16_AplCriptog 4/5/06 13:04 Página 13

digital según el estándar X.509, y solicitar la • Identificación ante un sistema o autentica-


firma electrónica de dicho cer tificado por ción de usuarios.Todavía se suele utilizar un
parte de la entidad de certificación. La enti- nombre de usuario y una clave para identificar-
dad de cer tificación verifica los datos de la se ante muchos sistemas informáticos, como
persona y entonces firma el cer tificado, es por ejemplo el banco por Internet. Estos nom-
decir, que calcula un resumen del certificado bres de usuario y contraseñas en modo texto
mediante SHA1 o MD5 y lo cifra con su son bastante vulnerables y la suplantación del
propia clave privada (que es el activo mejor usuario sería inmediata. Alternativamente los
guardado de la compañía). Además, la entidad servidores web pueden exigir un certificado
de certificación mantiene una lista de certifi- digital al usuario para comprobar su identidad,
cados que han sido revocados, es decir certi- lo cual resulta mucho más seguro.
ficados que han sido anulados a petición de Al combinar la capacidad de firmar infor-
sus propietarios, por ejemplo en caso de- mación con la posibilidad de identificar usua-
tectar el robo del certificado. rios de manera segura, aparece la posibilidad
Un certificado digital que esté firmado por de realizar transacciones por Internet que
una entidad de certificación se puede verifi- tradicionalmente se realizaban de manera
car en cualquier momento utilizando la clave presencial. Quizás el ejemplo más conocido
pública de la entidad de certificación y con- en España es la posibilidad de entregar por
sultando las listas de revocación. La mayoría Internet la declaración de Renta.
de los navegadores de Internet y de los Cada vez es mayor el número de adminis-
programas de correo incorporan de forma traciones españolas que admiten certificados
segura las claves públicas de entidades de personales firmados por la Fabrica Nacional
certificación de reconocido prestigio como de Moneda y Timbre para realizar trámites
VeriSign, Thawte, Entrust y FNMT (Fábrica por Internet. El sistema se ha visto promovido
Nacional de Moneda y Timbre de España). por la Agencia Tributaria (http://www.aeat.es/)
En definitiva, la distribución de claves públi- del Ministerio de Economía y Hacienda, para
cas por medio de certificados digitales firma- permitir la entrega de la declaración de la
dos es un mecanismo seguro y que permite Renta por Internet. Posteriormente otros or-
realizar las siguientes operaciones prácticas: ganismos han ido incorporando servicios ac-
• Cifrar comunicaciones. La aplicación más cesibles mediante certificados de usuario, por
extendida es la comunicación segura con ejemplo la Seguridad Social (http://www.seg-
servidores web (por ejemplo el banco) cuan- social.es/), Ayuntamiento de Madrid
do se utiliza https. En este caso el navegador (http://www.munimadrid.es/), Ministerio de
solicita un certificado digital al banco, y este Fomento (http://www.fomento.es/).
debe presentar un cer tificado firmado por Los cer tificados digitales podrían evitar
una de las entidades reconocidas por el na- muchos de los problemas que se producen
vegador. Entonces se establece una comuni- actualmente de suplantación de identidad
cación cifrada asimétrica para acordar una por Internet. Hay dos técnicas, cada vez más
clave secreta y un algoritmo de cifrado y a extendidas, para conseguir obtener el nom-
par tir de ese momento se establece una bre de usuario y la clave de acceso de una
comunicación cifrada simétrica2. persona: keyloggers y phishing. Los primeros
• Firmar mensajes y documentos. Si un son programas que se auto-instalan en el
usuario dispone de un cer tificado digital ordenador (como si fuesen un virus) y regis-
instalado en su programa de correo, puede tran las pulsaciones del teclado del usuario.
enviar mensajes de correo firmados electró- Dado que el nombre de usuario y la clave
nicamente. Esto permite a los destinatarios son cadenas de texto, es sencillo para el key-
verificar la autenticidad del correo y por lo logger detectarlas y enviarlas por Internet al
tanto se obtiene la garantía de que nadie ha atacante. La técnica de phishing consiste en
suplantado el remite del emisor. Dado que engañar al usuario, normalmente mediante
suplantar el remite del correo electrónico un correo electrónico, para que introduzca
resulta especialmente sencillo debido a la ba- sus datos en una página web. Dicha página
ja seguridad de los protocolos utilizados, esta ha sido creada por el atacante imitando la
aplicación resulta especialmente interesante. página principal de un banco. La utilización

(2)
Algunos navegadores, por ejemplo Firefox, muestran el algoritmo de cifrado simétrico que se está utilizando en una comunicación segura en protocolo
https. Basta pulsar sobre el candado de seguridad para obtener esta información y la información de certificado del servidor. En Internet Explorer esta infor-
mación aparece en Archivo/Propiedades.

Aplicaciones prácticas de la criptografía 13


10_16_AplCriptog 4/5/06 13:04 Página 14

del phishing se ha duplicado entre octubre En cada caso se utiliza la par te necesa-
de 2004 y octubre de 2005 según la organi- ria del cer tificado, es decir la clave pública
zación Anti-Phishing Working Group para cifrar y la clave privada para desci-
(http://www.antiphishing.org/). frar. Alternativamente se pueden propor-
cionar archivos tipo PEM, que según el ca-
Ejemplos de utilización de los so sólo contengan la par te pública o la
algoritmos par te privada, entonces se omite la op-
El proyecto openssl [4] ha desarrollado un ción -certin.
sistema criptográfico de carácter general, A diferencia del cifrado simétrico, el co-
basado en software abier to y de uso libre mando rsautl no admite textos largos, tan
tanto para aplicaciones comerciales como sólo de unos 100 caracteres. Esto es debido
no comerciales. Los programas ejecutables a que normalmente no se cifran grandes
están disponibles para sistemas basados en documentos mediante algoritmos asimétricos.
Unix y Windows. A continuación se mues- Como ya se ha comentado los documentos
tran ejemplos de utilización de los algoritmos se cifran con algoritmos simétricos sólo la
criptográficos mediante el comando openssl: clave secreta se cifra con algoritmos asimé-
tricos. Una manera directa para cifrar un
Cifrado simétrico documento real es utilizar el comando smi-
El programa openssl sopor ta de manera me que realiza el cifrado simétrico mediante
estándar muchos algoritmos de cifrado, in- des, 3des, rc2 o aes y luego protege la clave
cluidas diferentes variantes de cada uno. El secreta utilizando la clave pública del destina-
comando necesario para cifrar con el algorit- tario:
mo DES el documento texto.txt y generar
texto_cifrado.txt es el siguiente: openssl smime -encrypt -aes128 -in bigfile.doc
-out bigfile.msg user.pem
openssl des -in texto.txt -out texto_cifrado.txt
-pass pass:clave Este comando genera un archivo de acuer-
do al estándar S/MIME que se utiliza típica-
Para utilizar otro algoritmo basta cambiar mente en el correo electrónico y que con-
“des” por el nombre del algoritmo deseado tiene la información de acuerdo a PKCS#7
(des3, rc2, rc4, rc5, idea, bf, aes-256-ecb, etc.). (el nombre MIME del contenido es “applica-
Para descifrar el archivo se utiliza el mismo tion/x-pkcs7-mime”).
comando, pero añadiendo la opción –d (des- La obtención del documento original se
cifrar), como por ejemplo: obtiene con el argumento –decrypt del co-
mando smime utilizando el certificado com-
openssl des –d -in texto_cifrado.txt -out pleto del destinatario, que contiene su clave
texto_original.txt -pass pass:clave privada:

Cifrado asimétrico >openssl smime -decrypt -in bigfile.msg -recip


Los cifrados asimétricos mediante el algorit- mymit.pem -inkey mymit.pem -out original.doc
mo RSA se pueden realizar con el comando Enter pass phrase for mymit.pem: xxxxxxx
rsautl de openssl. Es muy sencillo de utilizar si
disponemos de un cer tificado que incluya Conversión de certificados
tanto la clave pública como la clave privada, Existen varios formatos para almacenar los
es decir el típico archivo que se obtiene al cer tificados en archivos, pero openssl pro-
exportar certificados desde el navegador. En porciona comandos para convertir el forma-
los siguientes ejemplos supondremos que to de dichos archivos. Esto es útil ya que al-
tenemos el certificado en formato PEM en el gunas aplicaciones requieren un formato
archivo cert.pem. específico para los certificados.
Hoy en día todos los certificados siguen el
PARA CIFRAR: estándar X.509 de ITU-T (International Tele-
openssl rsautl -in texto.txt -out texto.rsa -inkey communication Union-Telecommunication
cert.pem -certin -encrypt Standardization Sector). Sin embargo los cer-
tificados pueden estar contenidos en otras
PARA DESCIFRAR: estructuras como son PKCS#7 y PKCS#12
openssl rsautl -in texto.rsa -out texto_original.txt (Public Key Cryptography Standards defini-
-inkey cert.pem -certin -decrypt dos por RSA Data Security Inc). A su vez

14 anales de mecánica y electricidad / marzo-abril 2006


10_16_AplCriptog 4/5/06 13:04 Página 15

todos estos formatos pueden almacenarse Cuando el certificado público está conte-
en archivos binarios (formato DER) o en nido en una estructura PKCS#7 se debe
archivos de texto3 (formato PEM). Las ex- utilizar el comando pkcs7 de openssl de
tensiones de archivos más utilizadas son las acuerdo a los siguientes ejemplos:
siguientes: Conversión DER/PEM. La opción
• .crt cer o .der para certificados X.509 puros print_certs extrae los certificados en X.509
en formato DER. puro.
• .pem para cer tificados X.509 puros en
formato PEM. openssl pkcs7 –inform DER –in nombre.p7
• .p7c .p7b .p7s .p7m … para cer tificados –outform PEM –out nombre.p7.pem
X.509 dentro de una estructura PKCS#7 en –print_certs
formato DER o PEM.
• .p12 o .pfx para certificados X.509 dentro MOSTRAR DATOS BÁSICOS:
de una estructura PKCS#12 en formato openssl pkcs7 –inform DER –in nombre.p7
DER. –print_certs –noout
El estándar PKCS#7 sólo puede contener
certificados públicos (que contienen la clave Los navegadores de Internet (tanto Inter-
pública, pero no la clave privada) y los archi- net Explorer como Netscape/Mozilla/Fire-
vos crt, cer, der y pem también se suelen utili- fox) exportar los certificados completos en
zar exclusivamente para almacenar claves formato p12. Al contener la clave privada,
públicas. estos archivos van cifrados con una clave
Normalmente se utilizan archivos p12 para que se solicita al usuario en el momento de
almacenar en un único archivo cifrado la cla- crear el archivo. Los archivos tipo p12 se
ve pública y la clave privada que definen la pueden manejar en openssl mediante el
identidad de una persona. La extensión alter- comando pkcs12, que permite exportar cer-
nativa, pfx, se deriva de Personal inFormation tificados a formato PEM con bastante con-
Exchange. trol sobre las claves que se expor tan. Por
El comando x509 de openssl permite defecto exporta a formato PEM el certificado
convertir entre PEM y DER cualquier certi- público del propietario, y la clave privada del
ficado público tipo X.509, consultar sus propietario y los certificados de las entidades
datos o firmar el certificado. Esto último es de certificación (CA) que lo han firmado. Hay
algo que nunca realiza un usuario final sino bastantes opciones para controlar qué infor-
que es una de las funciones de las entida- mación se extrae, las opciones más importan-
des de certificación. Para convertir un cer- tes de este comando son las siguientes:
tificado de formato DER a PEM, por ejem-
plo fnmt_root.cr t, se utiliza el siguiente openssl pkcs12 -in nombre.p12 –out
comando (la conversión inversa es análo- nombre.pem
ga):
-nokeys no exporta la clave privada.
openssl x509 –inform DER –in fnmt_root.crt -clcerts sólo exporta el certificado personal,
–outform PEM –out fnmt_root.pem no la CA que lo ha firmado.
-cacerts sólo exporta los certificados de las CA.
Este comando es útil, por ejemplo, para En función de la información que se ex-
poder incorporar el certificado de FNMT en porte el comando pedirá las claves de cifra-
la lista de entidades de confianza del servi- do del archivo p12 y del archivo PEM, que
dor web Apache, que requiere formato pueden ser distintas.
PEM. Una vez obtenido el certificado en formato
Un comando para consultar los datos PEM (nombre.pem en este ejemplo) es posi-
básicos de un certificado (nombre del pro- ble extraer exclusivamente la clave pública,
pietario, fechas de validez…) es el siguien- aislándola del resto de la información del
te: certificado (nombre, fechas…):

openssl x509 -inform DER -in fnmt_root.crt openssl rsa –in nombre.pem –out
-text –noout clave_publica.pem –pubout

(3)
En realidad el formato PEM es la conversion base64 del formato DER a la que se añaden unos delimitadores del tipo “–BEGIN CERTIFICATE–“ y “–END
CERTIFICATE–“.

Aplicaciones prácticas de la criptografía 15


10_16_AplCriptog 8/5/06 18:31 Página 16

Firma electrónica comando smime, lo cual genera un docu-


Como ya se ha visto anteriormente, la mento en el formato estándar de los progra-
firma electrónica de un documento no se mas de correo S/MIME que se basa en
realiza cifrado todo el documento con un al- PKCS#7. Con este comando se obtiene un
goritmo asimétrico, ya que esto sería muy archivo MIME cuyo contenido es de tipo
costoso computacionalmente tanto para el “multipart/signed” donde la primera parte es
emisor como para los receptores. En la prác- el documento original y la segunda parte es
tica la firma electrónica se realiza en dos de tipo “application/x-pkcs7-signature”. Este
pasos: obtención de resumen o HASH del documento también se puede verificar con
documento y cifrado del mismo. el comando smime:
La herramienta openssl proporciona el
comando dgst para obtener el resumen de >openssl smime -sign -in bigfile.doc -out bigfile.msg
un documento. Este comando recibe como -signer mymit.pem
argumento el nombre del algoritmo HASH Enter pass phrase for mymit.pem: xxxxxx
que se quiera utilizar. A continuación se >openssl smime -verify -in bigfile.msg -CAfile
muestran dos ejemplos: mit_ca.pem -out extraido.doc
Verification successful
>openssl dgst -md5 bigfile.doc
MD5(bigfile.doc)= Si la aplicación no necesita verificar el
f1c9645dbc14efddc7d8a322685f26eb cer tificado del autor de documento, enton-
>openssl dgst -sha1 bigfile.doc ces se puede utilizar la opción –noverify en
SHA1(bigfile.doc)= lugar de la opción –CAfile, como se muestra
8c206a1a87599f532ce68675536f0b1546900d7a en el siguiente ejemplo:

Estas funciones también son útiles para >openssl smime -verify -noverify -in bigfile.msg
obtener códigos de control de integridad de -out extraido.doc
archivos que son muy utilizados en detec- Verification successful
ción de intrusiones, virus y otras amenazas.
Para realizar la firma electrónica como tal Conclusiones
sería necesario cifrar el código obtenido, sin En este artículo se han descrito las princi-
embargo toda la operación se puede realizar pales aplicaciones de la criptografía. Tam-
de manera directa mediante unos paráme- bién se ha descrito lo que es un certificado
tros adicionales digital y su importancia para poder garanti-
zar comunicaciones seguras entre dos in-
openssl dgst -sign mymit.pem -out bigfile.signa- terlocutores, por ejemplo un usuario y su
ture bigfile.doc banco. Por último se han presentado ejem-
plos de utilización de los algoritmos me-
donde mymit.pem es el cer tificado com- diante la herramienta de uso gratuito
pleto (incluyendo la clave privada) en for- openssl que permite cifrar, descifrar, mani-
mato PEM, tal y como se obtiene al aplicar pular certificados, firmar electrónicamente y
el comando pkcs12 descrito anteriormente. verificar la autenticidad.
Este comando genera un archivo pequeño
llamado bigfile.signature que contiene Referencias
exclusivamente la firma digital del docu-
mento. [1] V. Delgado, R. Palacios: “Introducción a la Cripto-
grafía: Tipos de algoritmos”, Anales de Mecánica y
El receptor puede realizar la verificación Electricidad, Vol. LXXXIII, Fascículo I, pp. 42-46,
del documento mediante el siguiente co- 2006.
mando: [2] National Bureau of Standards, Data Encryption
Standard, FIPS-Pub.197. National Bureau of Stan-
dards, U.S. Department of Commerce, Washington
openssl dgst -verify mymit_public.pem D.C., Nov. 2001.
-signature bigfile.signature bigfile.doc [3] R. Rivest, A. Shamir, L. Adleman: “A Method for
Obtaining Digital Signatures and Public-Key
donde mymit_public.pem es exclusivamente Cryptosystems”, Vol. 21 (2), pp.120–126. 1978.
Previously released as an MIT “Technical Memo”
la clave pública del autor, no el cer tificado in April 1977.
completo. [4] “OpenSSL: The Open Source toolkit for SSL/TLS”,
Alternativamente se puede firmar un http://www.openssl.org.
documento electrónicamente utilizando el

16 anales de mecánica y electricidad / marzo-abril 2006