Aplicaciones Prácticas De La Criptografía

Transcription

10 16 AplCriptog4/5/0613:04Página 10Aplicaciones prácticasde la criptografíaEste 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ónicoy de cualquier transacción segura que se realice por Internet.También se introduceel concepto de certificado digital y su importancia para garantizar la seguridad, asícomo las aplicaciones que mayor beneficio obtienen de su utilización. Los algoritmosvan acompañados de ejemplos prácticos basados en openssl, programa de libredistribución que está disponible para diversas arquitecturas.Vera DelgadoEstudiante de quinto curso de la titulación de Ingeniería Informática de laEscuela Técnica Superior de Ingeniería(ICAI), Universidad Pontificia Comillas. Previsiblemente obtendrá el títulooficial en junio de 2006.Rafael PalaciosIngeniero Industrial del ICAI (1990) yDoctor Ingeniero (1998). Es investigador del Instituto de Investigación Tecnológica y profesor del Departamento de Sistemas Informáticos de laEscuela Técnica Superior de Ingeniería(ICAI). Imparte clases de seguridad informática en la titulación de Ingenieroen Informática del ICAI.Comentarios a:comentarios@icai.es10Aplicaciones de cifradoLa aplicación principal de los algoritmosde cifrado es garantizar la confidencialidad delos documentos aunque estos resultasen accesibles a personas no autorizadas. La situación práctica en la que más se utiliza es latransferencia de información por canales decomunicación no seguros, como es Internet.Las técnicas de cifrado, además de garantizarla confidencialidad, garantizan colateralmentela integridad, ya que si el documento no esaccesible para usuarios no autorizados tampoco es modificable.Los algoritmos de cifrado juegan un papeldecisivo en la transferencia de archivos, porejemplo por correo electrónico, y en latransferencia de información mediante navegadores, por ejemplo durante el acceso a lapágina web de un banco.También se utilizanlas técnicas de cifrado para proteger documentos impor tantes dentro del disco deduro o en cualquier medio de almacenamiento digital, por si se produce un accesoilegal. Un acceso no autorizado a información confidencial puede tener lugar tantopor un acceso ilícito al sistema como por elrobo de los medios físicos de almacena-anales de mecánica y electricidad / marzo-abril 2006miento (especialmente en ordenadoresportátiles o flash drive).Para garantizar la confidencialidad, se pueden utilizar tanto las técnicas de cifrado detipo simétrico donde existe una clave secretaque se utiliza para cifrar y descifrar, como lastécnicas de cifrado de tipo asimétrico dondeexiste una clave pública y otra privada. Lascaracterísticas principales de ambos tipos decifrado, así como los algoritmos más utilizados han sido descritos en el artículo sobrecriptografía el anterior número de la revistaAnales [1].El algoritmo más popular en la familia dealgoritmos simétricos es Advanced Encryption Standard, AES [2], ya que es el estándarque fue seleccionado en 2002 por NIST(National Institute of Standards and Technology, USA). Mientras que el algoritmo máspopular en la familia de algoritmos asimétricoses RSA [3], nombre que proviene de lasiniciales de los apellidos de sus inventores(Ron Rivest, Adi Shamir y Len Adleman).La gran ventaja de los métodos asimétricoses que permiten iniciar las comunicacionessin tener que haber acordado previamente,y de manera segura, una clave secreta. Sin

10 16 AplCriptog4/5/0613:04Página 11embargo estos algoritmos son muy costososdesde el punto de vista computacional, porlo que se tiende a utilizar métodos simétricos. En la mayoría de las aplicaciones prácticas, se utilizan los métodos asimétricos parainiciar una comunicaión segura durante lacual se establece una clave secreta generada aleatoriamente y se acuerda un algoritmode cifrado simétrico a partir de las preferencias de los dos interlocutores. A par tir deese momento la comunicación tiene lugarpor medio de algoritmos simétricos que sonmás eficientes.Una de las aplicaciones más extendidas delas técnicas de cifrado en la comunicación enmodo seguro del navegador de Internet, esdecir cuando el usuario pone https en lugarde http. Como se verá más adelante en estemismo ar tículo, al establecer una conexiónhttps el navegador solicita la clave pública delservidor y luego se establece la comunicación mediante algoritmos simétricos. En elcaso del correo electrónico cifrado, se sigueel estándar S/MIME que se basa en las normasPKCS#7. Análogamente se aplican cifradossimétricos con claves autogeneradas y luegodichas claves se cifran con algoritmos asimétricos.Aplicaciones de firma electrónicaLa firma electrónica se utiliza para conseguir dos de las características de seguridad:integridad y autenticación. Es impor tantedestacar que un documento electrónico firmado puede ser público, porque integridad yautenticación no implican necesariamenteconfidencialidad. Por lo tanto los métodos decifrado de clave secreta no son apropiadospara realizar firma electrónica, y sin embargolos métodos asimétricos sí pueden aplicarse.Si un usuario cifra cierta información utilizando su clave privada, entonces cualquier otrapersona tendrá acceso a dicha informaciónmediante la clave pública del usuario. Dadoque es imposible obtener la clave privada apartir de la clave pública y que la clave privada se mantiene segura, se garantiza la autoría(autenticación) y que nadie puede habermodificado el documento (integridad).Un documento electrónico firmado es equivalente a un documento en papel y firmadoa mano que se publica en un tablón deanuncios. La firma electrónica es uno de losaspectos más importantes de la criptografíaporque permite realizar muchas transacciones(1)Figura 1.Verificación de la firma de un documento públicopor Internet, evitando desplazamientos ypérdidas de tiempo. De hecho en España, ala firma electrónica aplicada sobre datosconsignados en forma electrónica, se le otorga la equivalencia funcional con la firma manuscrita en vir tud de la ley 59/2003, de 19de diciembre, de Firma Electrónica.Quizás la aplicación más conocida en España es la posibilidad de entregar la declaración de la renta en formato electrónico porInternet. Para ello el usuario se identifica anteel servidor web de la Agencia Tributaria mediante su certificado digital, y luego entregael documento electrónico de la declaraciónfirmado con su clave privada. Otro ejemploson cier tas peticiones que se realizan mediante formularios en la web, que si se firmanelectrónicamente tiene la misma validez queuna petición presencial. El correo electrónicotambién puede beneficiarse de los algoritmos de firma electrónica para poder enviarmensajes firmados que tiene la misma validez que una car ta firmada, y evitando losproblemas de falsificación del remite delcorreo1. Por último, un aspecto en el que seva más despacio son las transacciones bancarias, las cuales ganaría en nivel de seguridad sise realizasen firmadas digitalmente.En la práctica no se suele cifrar toda lainformación del documento con la clave privada, ya que resulta muy pesado computacionalmente, sino que resulta mucho más eficiente (tanto para el emisor como para losreceptores) obtener un resumen del documento mediante algoritmos HASH y luegocifrar exclusivamente el código obtenido.Finalmente se envía el documento, en principio sin cifrar, junto con unos códigos de seguridad que representan la firma. El receptorLos 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ía11

10 16 AplCriptog4/5/0613:04Página 12puede acceder al documento porque noestá cifrado, y para verificar integridad yautenticación realiza las operaciones sintetizadas en la Figura 1. El documento enviadopor el usuario azul está formado por el documento original y por la firma electrónica, queel HASH del documento cifrado con su claveprivada. Entonces el receptor separa el documento de la firma y calcula el HASH del documento por un lado y obtiene el HASHoriginal utilizando la clave pública sobre elcódigo de la firma. Si el resultado que seobtiene por los dos caminos es el mismo significa que el documento no ha sido alterado.Para firmar un documento se pueden aplicar cualquiera de los algoritmos HASH y cualquiera de los algoritmos de cifrado asimétrico.Lo más utilizado es aplicar MD5 o SHA1 como función de resumen y luego RSA como algoritmo asimétrico para cifrar dicho resumen.La alternativa es utilizar el estándar de firmaelectrónica del NIST que se denomina DSA.Certificados digitalesLos algoritmos asimétricos, es decir losque utilizan una clave pública y una claveprivada, fueron diseñados para poder intercambiar información de manera segura sinnecesidad de haber acordado previamenteuna clave secreta de cifrado. En efecto todomensaje cifrado con la clave pública de unusuario sólo puede ser descifrado con la claveprivada que el usuario mantiene segura.Sin embargo existe una vulnerabilidad eneste proceso que consiste en suplantar laidentidad del receptor en un mecanismo deataque conocido con el nombre de “man-inthe-middle attack” o bien MITM (ver Figura2). Suponiendo que un atacante (representado en rojo) tiene capacidad de interceptar laFigura 2. Esquema del ataque “Man-in-the-middle”12anales de mecánica y electricidad / marzo-abril 2006comunicación entre dos usuarios, el atacantepuede hacer una sustitución de claves que ledan capacidad para ver y modificar los mensajes sin que los usuarios sean conscientesde la intrusión. Según el ejemplo de la Figura,el usuario verde quiere enviar un mensajeconfidencial al usuario azul, por lo que reclama su clave pública. Sin embargo la clave pública del usuario azul es interceptada por elatacante, que la almacena y la sustituye poruna clave pública falsa (en rojo) que es enviada al usuario verde. Entonces los mensajescifrados por el usuario verde con la clavepública falsa son interceptados y descifradospor el atacante, que los puede ver y modificar antes de reenviarlos al usuario azul cifrados con su clave pública auténtica. En esteesquema el usuario verde piensa que estáutilizando la clave pública de su destinatariocuando realmente está utilizando una clavepública falsa, y el usuario azul recibe un mensaje perfectamente cifrado con su clave pública auténtica y no detecta que el mensajeha sido interceptado.Para evitar este tipo de ataque, que haríaperder toda la utilizada de los algoritmosasimétricos, es imprescindible que cada usuario tenga un mecanismo para verificar si lasclaves públicas de los demás usuarios sonreales o falsas.Un mecanismo para garantizar la autenticidad de las claves públicas es tomarlas de servidores de claves públicas en lugar de hacerlo directamente del destinatario del mensaje.Este mecanismo dificulta considerablementeel ataque “man-in-the-middle” ya que además de interceptar la comunicación entreemisor y receptor habría que interceptar lacomunicación entre el emisor y el repositorio de claves. Este último canal de comunicación puede ser muy difícil de romper, especialmente si existen varios ser vidores declaves que además pueden estar incluidos enla Intranet del emisor.Otro mecanismo para reforzar la seguridad de las claves públicas es apoyarse en unatercera figura, independiente del emisor y delreceptor, que se encarga de firmar electrónicamente las claves. A esta nueva figura sela denomina Entidad de Cer tificación y sufunción principal es certificar que una clavees válida y per tenece a una determinadapersona. La implementación práctica de estemecanismo 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

10 16 AplCriptog4/5/0613:04Página 13digital según el estándar X.509, y solicitar lafirma electrónica de dicho cer tificado porparte de la entidad de certificación. La entidad de cer tificación verifica los datos de lapersona y entonces firma el cer tificado, esdecir, que calcula un resumen del certificadomediante SHA1 o MD5 y lo cifra con supropia clave privada (que es el activo mejorguardado de la compañía). Además, la entidadde certificación mantiene una lista de certificados que han sido revocados, es decir certificados que han sido anulados a petición desus propietarios, por ejemplo en caso detectar el robo del certificado.Un certificado digital que esté firmado poruna entidad de certificación se puede verificar en cualquier momento utilizando la clavepública de la entidad de certificación y consultando las listas de revocación. La mayoríade los navegadores de Internet y de losprogramas de correo incorporan de formasegura las claves públicas de entidades decertificación de reconocido prestigio comoVeriSign, Thawte, Entrust y FNMT (FábricaNacional de Moneda y Timbre de España).En definitiva, la distribución de claves públicas por medio de certificados digitales firmados es un mecanismo seguro y que permiterealizar las siguientes operaciones prácticas: Cifrar comunicaciones. La aplicación másextendida es la comunicación segura conservidores web (por ejemplo el banco) cuando se utiliza https. En este caso el navegadorsolicita un certificado digital al banco, y estedebe presentar un cer tificado firmado poruna de las entidades reconocidas por el navegador. Entonces se establece una comunicación cifrada asimétrica para acordar unaclave secreta y un algoritmo de cifrado y apar tir de ese momento se establece unacomunicación cifrada simétrica2. Firmar mensajes y documentos. Si unusuario dispone de un cer tificado digitalinstalado en su programa de correo, puedeenviar mensajes de correo firmados electrónicamente. Esto permite a los destinatariosverificar la autenticidad del correo y por lotanto se obtiene la garantía de que nadie hasuplantado el remite del emisor. Dado quesuplantar el remite del correo electrónicoresulta especialmente sencillo debido a la baja seguridad de los protocolos utilizados, estaaplicación resulta especialmente interesante. Identificación ante un sistema o autenticación de usuarios.Todavía se suele utilizar unnombre de usuario y una clave para identificarse ante muchos sistemas informáticos, comopor ejemplo el banco por Internet. Estos nombres de usuario y contraseñas en modo textoson bastante vulnerables y la suplantación delusuario sería inmediata. Alternativamente losservidores web pueden exigir un certificadodigital al usuario para comprobar su identidad,lo cual resulta mucho más seguro.Al combinar la capacidad de firmar información con la posibilidad de identificar usuarios de manera segura, aparece la posibilidadde realizar transacciones por Internet quetradicionalmente se realizaban de manerapresencial. Quizás el ejemplo más conocidoen España es la posibilidad de entregar porInternet la declaración de Renta.Cada vez es mayor el número de administraciones españolas que admiten certificadospersonales firmados por la Fabrica Nacionalde Moneda y Timbre para realizar trámitespor Internet. El sistema se ha visto promovidopor la Agencia Tributaria (http://www.aeat.es/)del Ministerio de Economía y Hacienda, parapermitir la entrega de la declaración de laRenta por Internet. Posteriormente otros organismos han ido incorporando servicios accesibles mediante certificados de usuario, porejemplo la Seguridad Social (http://www.segsocial.es/), Ayuntamiento de Madrid(http://www.munimadrid.es/), Ministerio deFomento (http://www.fomento.es/).Los cer tificados digitales podrían evitarmuchos de los problemas que se producenactualmente de suplantación de identidadpor Internet. Hay dos técnicas, cada vez másextendidas, para conseguir obtener el nombre de usuario y la clave de acceso de unapersona: keyloggers y phishing. Los primerosson programas que se auto-instalan en elordenador (como si fuesen un virus) y registran las pulsaciones del teclado del usuario.Dado que el nombre de usuario y la claveson cadenas de texto, es sencillo para el keylogger detectarlas y enviarlas por Internet alatacante. La técnica de phishing consiste enengañar al usuario, normalmente medianteun correo electrónico, para que introduzcasus datos en una página web. Dicha páginaha sido creada por el atacante imitando lapá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 protocolohttps. Basta pulsar sobre el candado de seguridad para obtener esta información y la información de certificado del servidor. En Internet Explorer esta información aparece en Archivo/Propiedades.Aplicaciones prácticas de la criptografía13

10 16 AplCriptog4/5/0613:04Página 14del phishing se ha duplicado entre octubrede 2004 y octubre de 2005 según la organización Anti-Phishing Working Group(http://www.antiphishing.org/).Ejemplos de utilización de losalgoritmosEl proyecto openssl [4] ha desarrollado unsistema criptográfico de carácter general,basado en software abier to y de uso libretanto para aplicaciones comerciales comono comerciales. Los programas ejecutablesestán disponibles para sistemas basados enUnix y Windows. A continuación se muestran ejemplos de utilización de los algoritmoscriptográficos mediante el comando openssl:Cifrado simétricoEl programa openssl sopor ta de maneraestándar muchos algoritmos de cifrado, incluidas diferentes variantes de cada uno. Elcomando necesario para cifrar con el algoritmo DES el documento texto.txt y generartexto cifrado.txt es el siguiente:openssl des -in texto.txt -out texto cifrado.txt-pass pass:clavePara utilizar otro algoritmo basta cambiar“des” por el nombre del algoritmo deseado(des3, rc2, rc4, rc5, idea, bf, aes-256-ecb, etc.).Para descifrar el archivo se utiliza el mismocomando, pero añadiendo la opción –d (descifrar), como por ejemplo:openssl des –d -in texto cifrado.txt -outtexto original.txt -pass pass:claveCifrado asimétricoLos cifrados asimétricos mediante el algoritmo RSA se pueden realizar con el comandorsautl de openssl. Es muy sencillo de utilizar sidisponemos de un cer tificado que incluyatanto la clave pública como la clave privada,es decir el típico archivo que se obtiene alexportar certificados desde el navegador. Enlos siguientes ejemplos supondremos quetenemos el certificado en formato PEM en elarchivo cert.pem.PARA CIFRAR:openssl rsautl -in texto.txt -out texto.rsa -inkeycert.pem -certin -encryptPARA DESCIFRAR:openssl rsautl -in texto.rsa -out texto original.txt-inkey cert.pem -certin -decrypt14anales de mecánica y electricidad / marzo-abril 2006En cada caso se utiliza la par te necesaria del cer tificado, es decir la clave públicapara cifrar y la clave privada para descifrar. Alternativamente se pueden proporcionar archivos tipo PEM, que según el caso sólo contengan la par te pública o lapar te privada, entonces se omite la opción -certin.A diferencia del cifrado simétrico, el comando rsautl no admite textos largos, tansólo de unos 100 caracteres. Esto es debidoa que normalmente no se cifran grandesdocumentos mediante algoritmos asimétricos.Como ya se ha comentado los documentosse cifran con algoritmos simétricos sólo laclave secreta se cifra con algoritmos asimétricos. Una manera directa para cifrar undocumento real es utilizar el comando smime que realiza el cifrado simétrico mediantedes, 3des, rc2 o aes y luego protege la clavesecreta utilizando la clave pública del destinatario:openssl smime -encrypt -aes128 -in bigfile.doc-out bigfile.msg user.pemEste comando genera un archivo de acuerdo al estándar S/MIME que se utiliza típicamente en el correo electrónico y que contiene la información de acuerdo a PKCS#7(el nombre MIME del contenido es “application/x-pkcs7-mime”).La obtención del documento original seobtiene con el argumento –decrypt del comando smime utilizando el certificado completo del destinatario, que contiene su claveprivada: openssl smime -decrypt -in bigfile.msg -recipmymit.pem -inkey mymit.pem -out original.docEnter pass phrase for mymit.pem: xxxxxxxConversión de certificadosExisten varios formatos para almacenar loscer tificados en archivos, pero openssl proporciona comandos para convertir el formato de dichos archivos. Esto es útil ya que algunas aplicaciones requieren un formatoespecífico para los certificados.Hoy en día todos los certificados siguen elestándar X.509 de ITU-T (International Telecommunication Union-TelecommunicationStandardization Sector). Sin embargo los certificados pueden estar contenidos en otrasestructuras como son PKCS#7 y PKCS#12(Public Key Cryptography Standards definidos por RSA Data Security Inc). A su vez

10 16 AplCriptog4/5/0613:04Página 15todos estos formatos pueden almacenarseen archivos binarios (formato DER) o enarchivos de texto3 (formato PEM). Las extensiones de archivos más utilizadas son lassiguientes: .crt cer o .der para certificados X.509 purosen formato DER. .pem para cer tificados X.509 puros enformato PEM. .p7c .p7b .p7s .p7m para cer tificadosX.509 dentro de una estructura PKCS#7 enformato DER o PEM. .p12 o .pfx para certificados X.509 dentrode una estructura PKCS#12 en formatoDER.El estándar PKCS#7 sólo puede contenercertificados públicos (que contienen la clavepública, pero no la clave privada) y los archivos crt, cer, der y pem también se suelen utilizar exclusivamente para almacenar clavespúblicas.Normalmente se utilizan archivos p12 paraalmacenar en un único archivo cifrado la clave pública y la clave privada que definen laidentidad de una persona. La extensión alternativa, pfx, se deriva de Personal inFormationExchange.El comando x509 de openssl permiteconvertir entre PEM y DER cualquier certificado público tipo X.509, consultar susdatos o firmar el certificado. Esto último esalgo que nunca realiza un usuario final sinoque es una de las funciones de las entidades de certificación. Para convertir un certificado de formato DER a PEM, por ejemplo fnmt root.cr t, se utiliza el siguientecomando (la conversión inversa es análoga):Cuando el certificado público está contenido en una estructura PKCS#7 se debeutilizar el comando pkcs7 de openssl deacuerdo a los siguientes ejemplos:Conversión DER/PEM. La opciónprint certs extrae los certificados en X.509puro.openssl pkcs7 –inform DER –in nombre.p7–outform PEM –out nombre.p7.pem–print certsMOSTRAR DATOS BÁSICOS:openssl pkcs7 –inform DER –in nombre.p7–print certs –nooutLos navegadores de Internet (tanto Internet Explorer como Netscape/Mozilla/Firefox) exportar los certificados completos enformato p12. Al contener la clave privada,estos archivos van cifrados con una claveque se solicita al usuario en el momento decrear el archivo. Los archivos tipo p12 sepueden manejar en openssl mediante elcomando pkcs12, que permite exportar certificados a formato PEM con bastante control sobre las claves que se expor tan. Pordefecto exporta a formato PEM el certificadopúblico del propietario, y la clave privada delpropietario y los certificados de las entidadesde certificación (CA) que lo han firmado. Haybastantes opciones para controlar qué información se extrae, las opciones más importantes de este comando son las siguientes:openssl pkcs12 -in nombre.p12 –outnombre.pemEste comando es útil, por ejemplo, parapoder incorporar el certificado de FNMT enla lista de entidades de confianza del servidor web Apache, que requiere formatoPEM.Un comando para consultar los datosbásicos de un certificado (nombre del propietario, fechas de validez ) es el siguiente:-nokeys no exporta la clave privada.-clcerts sólo exporta el certificado personal,no la CA que lo ha firmado.-cacerts sólo exporta los certificados de las CA.En función de la información que se exporte el comando pedirá las claves de cifrado del archivo p12 y del archivo PEM, quepueden ser distintas.Una vez obtenido el certificado en formatoPEM (nombre.pem en este ejemplo) es posible extraer exclusivamente la clave pública,aislándola del resto de la información delcertificado (nombre, fechas ):openssl x509 -inform DER -in fnmt root.crt-text –nooutopenssl rsa –in nombre.pem –outclave publica.pem –puboutopenssl x509 –inform DER –in fnmt root.crt–outform PEM –out fnmt root.pem(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 “–ENDCERTIFICATE–“.Aplicaciones prácticas de la criptografía15

10 16 AplCriptog8/5/0618:31Página 16Firma electrónicaComo ya se ha visto anteriormente, lafirma electrónica de un documento no serealiza cifrado todo el documento con un algoritmo asimétrico, ya que esto sería muycostoso computacionalmente tanto para elemisor como para los receptores. En la práctica la firma electrónica se realiza en dospasos: obtención de resumen o HASH deldocumento y cifrado del mismo.La herramienta openssl proporciona elcomando dgst para obtener el resumen deun documento. Este comando recibe comoargumento el nombre del algoritmo HASHque se quiera utilizar. A continuación semuestran dos ejemplos: openssl dgst -md5 bigfile.docMD5(bigfile.doc) f1c9645dbc14efddc7d8a322685f26eb openssl dgst -sha1 bigfile.docSHA1(bigfile.doc) 8c206a1a87599f532ce68675536f0b1546900d7aEstas funciones también son útiles paraobtener códigos de control de integridad dearchivos que son muy utilizados en detección de intrusiones, virus y otras amenazas.Para realizar la firma electrónica como talsería necesario cifrar el código obtenido, sinembargo toda la operación se puede realizarde manera directa mediante unos parámetros adicionalesopenssl dgst -sign mymit.pem -out bigfile.signature bigfile.docdonde mymit.pem es el cer tificado completo (incluyendo la clave privada) en formato PEM, tal y como se obtiene al aplicarel comando pkcs12 descrito anteriormente.Este comando genera un archivo pequeñollamado bigfile.signature que contieneexclusivamente la firma digital del documento.El receptor puede realizar la verificacióndel documento mediante el siguiente comando:openssl dgst -verify mymit public.pem-signature bigfile.signature bigfile.docdonde mymit public.pem es exclusivamentela clave pública del autor, no el cer tificadocompleto.Alternativamente se puede firmar undocumento electrónicamente utilizando el16anales de mecánica y electricidad / marzo-abril 2006comando smime, lo cual genera un documento en el formato estándar de los programas de correo S/MIME que se basa enPKCS#7. Con este comando se obtiene unarchivo MIME cuyo contenido es de tipo“multipart/signed” donde la primera parte esel documento original y la segunda parte esde tipo “application/x-pkcs7-signature”. Estedocumento también se puede verificar conel comando smime: openssl smime -sign -in bigfile.doc -out bigfile.msg-signer mymit.pemEnter pass phrase for mymit.pem: xxxxxx openssl smime -verify -in bigfile.msg -CAfilemit ca.pem -out extraido.docVerification successfulSi la aplicación no necesita verificar elcer tificado del autor de documento, entonces se puede utilizar la opción –noverify enlugar de la opción –CAfile, como se muestraen el siguiente ejemplo: openssl smime -verify -noverify -in bigfile.msg-out extraido.docVerification successfulConclusionesEn este artículo se han descrito las principales aplicaciones de la criptografía. También se ha descrito lo que es un certificadodigital y su importancia para poder garantizar comunicaciones seguras entre dos interlocutores, por ejemplo un usuario y subanco. Por último se han presentado ejemplos de utilización de los algoritmos mediante la herramienta de uso gratuitoopenssl que permite cifrar, descifrar, manipular certificados, firmar electrónicamente yverificar la autenticidad.Referencias[1] V. Delgado, R. Palacios: “Introducción a la Criptografía: Tipos de algoritmos”, Anales de Mecánica yElectricidad, Vol. LXXXIII, Fascículo I, pp. 42-46,2006.[2] National Bureau of Standards, Data EncryptionStandard, FIPS-Pub.197. National Bureau of Standards, U.S. Department of Commerce, WashingtonD.C., Nov. 2001.[3] R. Rivest, A. Shamir, L. Adleman: “A Method forObtaining Digital Signatures and Public-KeyCryptosystems”, Vol. 21 (2), pp.120–126. 1978.Previously released as an MIT “Technical Memo”in April 1977.[4] “OpenSSL: The Open Source toolkit for SSL/TLS”,http://www.openssl.org.

pérdidas de tiempo. De hecho en España, a la firma electrónica aplicada sobre datos consignados en forma electrónica,se le otor-ga la equivalencia funcional con la firma ma-nuscrita en virtud de la ley 59/2003, de 19 de diciembre, de Firma Electrónica. Quizás la aplicación más conocida en Es-paña es la posibilidad de entregar la declara-