Академический Документы
Профессиональный Документы
Культура Документы
Aplicaciones prácticas
de la criptografía
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
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.
(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.
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:
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–“.
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