Está en la página 1de 66

Uso de Criptografa en Aplicaciones

ArCERT Firma Digital

Temario
Criptografa simtrica y asimtrica Integridad y funciones de hash. Problemas. Cifrado y firma digital con S/Mime y PGP. Verificacin de firma. Implementacin de autoridad certificante de prueba utilizando SSL.CA. Autenticacin de servidor y clientes va web utilizando certificados. Mecanismos de proteccin y almacenamiento seguro de claves. Cracking de contraseas y rainbow tables. Cifrado de particiones reales o virtuales en Windows y Linux. Desarrollo utilizando criptografa.

Qu dice ac ?
Tm9zLCBsb3MgcmVwcmVzZW50YW50ZXMgZGVsIHB1ZWJsbyBkZSBsYSBOYWNp824g QXJnZW50aW5hLCByZXVuaWRvcyBlbiBDb25ncmVzbyBHZW5lcmFsIENvbnN0aXR1 eWVudGUgcG9yIHZvbHVudGFkIHkgZWxlY2Np824gZGUgbGFzIHByb3ZpbmNpYXMg cXVlIGxhIGNvbXBvbmVuLCBlbiBjdW1wbGltaWVudG8gZGUgcGFjdG9zIHByZWV4 aXN0ZW50ZXMsIGNvbiBlbCBvYmpldG8gZGUgY29uc3RpdHVpciBsYSB1bmnzbiBu YWNpb25hbCwgYWZpYW56YXIgbGEganVzdGljaWEsIGNvbnNvbGlkYXIgbGEgcGF6 IGludGVyaW9yLCBwcm92ZWVyIGEgbGEgZGVmZW5zYSBjb236biwgcHJvbW92ZXIg ZWwgYmllbmVzdGFyIGdlbmVyYWwsIHkgYXNlZ3VyYXIgbG9zIGJlbmVmaWNpb3Mg ZGUgbGEgbGliZXJ0YWQgcGFyYSBub3NvdHJvcywgcGFyYSBudWVzdHJhIHBvc3Rl cmlkYWQgeSBwYXJhIHRvZG9zIGxvcyBob21icmVzIGRlbCBtdW5kbyBxdWUgcXVp ZXJhbiBoYWJpdGFyIGVuIGVsIHN1ZWxvIGFyZ2VudGlubzsgaW52b2NhbmRvIGxh IHByb3RlY2Np824gZGUgRGlvcywgZnVlbnRlIGRlIHRvZGEgcmF6824geSBqdXN0 aWNpYTogb3JkZW5hbW9zLCBkZWNyZXRhbW9zIHkgZXN0YWJsZWNlbW9zIGVzdGEg Q29uc3RpdHVjafNuIHBhcmEgbGEgTmFjafNuIEFyZ2VudGluYS4gCg==

Base64
Mecanismo de codificacin que utiliza un conjunto de 64 caracteres para codificar cualquier valor posible de un byte. Toma 3 bytes, y los convierte en 4. Usa A-Z, a-z, 0-9, +,/ e = para el padding. Ej: Mensaje en claro Codificado en base 64: TWVuc2FqZSBlbiBjbGFybwo=

Criptografa simtrica
Tambin conocido como criptografa de clave secreta o clave privada. La clave utilizada en la operacin de cifrado es la misma que se utilizada para el descifrado. Existen dos mecanismos de operacin bsicos: Cifrado en bloques. Cifrado de flujo.

Cifrado en bloque y cifrado de flujo


Cifrado en bloque El mensaje en texto claro se divide en bloques de longitud fija (8, 16, bytes) y luego se aplica el algoritmo de cifrado a cada bloque utilizando una clave secreta. Existen distintos modos de operacin dependiendo de cmo se mezcla la clave con el texto claro: ECB: Electronic Codebook CBC: Cipher Block Chaining CFB: Cipher FeedBack OFB: Output FeedBack Cifrado de flujo Generalmente operan sobre 1 bit de los datos de entrada por vez. El algoritmo genera una secuencia pseudoaleatoria (secuencia cifrante o keystream en ingls) de bits que se emplea como clave. El cifrado se realiza combinando la secuencia cifrante con el texto claro.

Cifrado en bloque - Modos de operacin


Modo ECB El texto se divide en bloques y cada bloque es cifrado en forma independiente utilizando la clave.

Modo CBC El texto se divide en bloques y cada bloque es mezclado con la cifra del bloque previo, luego es cifrado utilizando la clave.

Ejemplo uso inadecuado de cifrado


Tengo una imagen en formato raw:

Veamos como cifrarla.

Ejemplo uso inadecuado de cifrado


Cifrado utilizando AES-128, modo ECB:

Cifrado utilizando AES-128, modo CBC:

Criptografa simtrica
Algunos Algoritmos: DES (poco seguro), 3DES, Blowfish, AES (128,192,256) Ventajas Gran velocidad No aumenta el tamao del mensaje Desventajas Distribucin de las claves: Es necesario que el receptor conozca la clave que se va a utilizar. No es posible utilizar medios inseguros para la comunicacin de las claves.

Criptografa asimtrica
La invencin del concepto de criptografa de clave pblica se atribuye a Diffie y a Hellman (1976). Nace como una solucin al problema de distribucin de claves, permitiendo que dos partes puedan acordar una clave en comn sobre canales inseguros. Posteriormente la aparicin del algoritmo RSA, propone un mecanismo en el cual el descifrado de la informacin se realiza con una clave distinta a la clave de cifrado.

Criptografa asimtrica
Se basa en la existencia de dos claves relacionadas matemticamente entre s: Clave pblica disponible para todos. Clave privada conocida slo por el individuo.

Provee: Confidencialidad Integridad/Autora

Funciones de hash
La funcin de hash transforma un mensaje de entrada M de longitud variable en una cadena de salida de longitud fija H(M). Debe ser fcil de computar.

Propiedades de funciones de hash


Para que una funcin de hash sea considerada criptogrficamente segura, no se debera poder, en un tiempo computacional razonable: Hallar un mensaje X que tenga el mismo hash que un mensaje y dado. Generar dos mensajes diferentes que tengan el mismo hash asociado.

Funciones de hash
La longitud es tpicamente: 128, 160, 256 o 512 bits. Las funciones ms difundidas son: MD5 (128 bits, RFC 1321) SHA-1 (160 bits, NIST FIPS 180-2) RIPEMD160 (ISO/IEC 10118-3) SHA-256 SHA-512 Whirlpool (512 bits)

Confianza en funciones de hash


En la actualidad, no est claro que funcin de hash se considera segura. Como se ve en los ejemplos, no es recomendable usar MD5. SHA-1 tambin presenta algunos ataques tericos, por lo que puede ser recomendable utilizar SHA-256 (disponible en versiones recientes de bibliotecas y en Windows 2003 o superior).

Uso Criptografa Asimtrica

Cifrado

Firmado

Firma y Cifrado de Correo Electrnico

Firma y Cifrado de Correo Electrnico


Se pueden utilizar diferentes herramientas como PGP, GnuPG o utilizar la funcionalidad de certificados X .509 v3 provista por los clientes de correo electrnico.

Para el caso de cifrado de mensajes se combinan algoritmos simtricos y asimtricos. Clave de sesin: se protege con un algoritmo asimtrico, por ejemplo RSA. Datos: se protegen con un algoritmo simtrico, por ejemplo AES en combinacin con la clave de sesin. Para la firma de mensajes: El proceso implica el cifrado, con la clave privada del firmante, del hash (normalmente SHA-1) del mensaje a firmar.

PGP
En 1991 Philip Zimmermann publica la versin 1.0 de PGP. En 1992 aparece la versin 2.0. Su cdigo se escribe fuera de USA para evitar las leyes restrictivas respecto al software criptogrfico y sus problemas legales. La gestin de claves en PGP se basa en la confianza mutua. Las ltimas versiones contemplan la utilizacin de Autoridades Certificantes como certificadores de claves pblicas

PGP
Datos asociados a las claves: versin de PGP. clave pblica junto con el algoritmo (RSA, DSA, DH). informacin sobre la identidad del titular. firma digital del titular del certificado (auto-firma). perodo de validez. algoritmo simtrico de cifrado preferido. conjunto de firmas de terceros: (opcional) definen nivel de confianza. definen nivel de validez.

Esquema de confianza
Las claves pblicas se pueden subir a un servidor de claves. Los que desean intercambiar mensajes se encuentran y certifican con un documento de identidad (ej: pasaporte) el ID y fingerprint mutuamente. Las partes obtienen la clave pblica y confirman el ID y fingerprint de la parte. Firman la clave pblica del otro con su clave privada. Puede haber confianza indirecta.

Esquema de confianza

Infraestructura de claves pblicas (PKI)


Objetivo: asociar una clave a la identidad de su poseedor mediante la emisin de certificados digitales X.509v3 (RFC 3280). El certificado es una estructura de datos que contiene: La identidad del poseedor de la clave pblica. La clave pblica. Perodo de validez. Identidad del emisor. Informacin adicional (cargo, poltica de certificacin, etc.). Firma del emisor (entidad usualmente denominada AC, o tercero confiable).

PKCS - Public-Key Cryptography Standards


Son un conjunto de especificaciones tcnicas desarrolladas por Netscape, RSA y otros cuyo objeto es uniformizar las tcnicas y protocolos de criptografa pblica. PKCS #1: RSA Cryptography Standard PKCS #2: Incluido ahora en PKCS #1 PKCS #3: Diffie-Hellman Key Agreement Standard PKCS #4: Incluido ahora en PKCS #1 PKCS #5: Password-Based Cryptography Standard PKCS #6: Extended-Certificate Syntax Standard PKCS #7: Cryptographic Message Syntax Standard PKCS #8: Private-Key Information Syntax Standard PKCS #9: Selected Attribute Types PKCS #10: Certification Request Syntax Standard PKCS #11: Cryptographic Token Interface Standard PKCS #12: Personal Information Exchange Syntax Standard PKCS #13: Elliptic Curve Cryptography Standard PKCS #15: Cryptographic Token Information Format Standard http://www.rsasecurity.com/rsalabs/pkcs/

Esquema de confianza
Bob obtiene el certificado de Alice. Si conoce y confa en el certificado de la autoridad certificante, puede validar el certificado de Alice (sabe que la clave pblica realmente pertenece a ella) Cmo consigue Bob la clave pblica de la AC para validar el certificado de Alice? Preinstalado en la navegador Va fuente externa (boletn oficial, otros) El modelo de confianza se basa en que todos confan en la Autoridad Certificante.

Revocacin de claves PGP


Los firmantes pueden revocar las firmas. Los dueos de las claves pueden revocarlas o permitir que otros lo hagan. La revocacin es un mensaje firmado, dicho mensaje tiene un flag para indicar que se trata de una revocacin.

Revocacin de certificados X.509


Los certificados X.509 pueden invalidarse antes de su fecha de expiracin. Por lo general debido a compromiso de la clave privada. Puede ser tambin por un cambio de situacin del titular (por ejemplo: cambio de cargo). Problemas: La entidad que revoca el certificado debe estar autorizada a hacerlo. La informacin de revocacin debe estar disponible rpidamente. Existen dos mecanismos de chequeo: CRLs y OCSP.

Confidencialidad y Autenticacin en Web

SSL (Secure Socket Layer)


Protocolo de comunicaciones que proporciona integridad, autenticacin y privacidad de la informacin entre extremos. Las etapas: Negociacin de algoritmos a utilizar. Intercambio de certificados y autenticacin. Negociacin de clave simtrica de sesin. Algoritmos criptogrficos que utiliza: Clave pblica: RSA, Diffie-Hellman, DSA o Fortezza Clave simtrica: RC2, RC4, IDEA, DES, 3DES o AES Hash: MD5 o de la familia SHA. Utilizado para implementar HTTPS y canales seguros para otros protocolos como puede ser POP3S. Versiones a utilizar: SSLv3 y TLSv1 (RFC 2246).

Verificacin del Certificado del Servidor

Generacin de certificados con SSL.CA


Disponible en la seccin de contribuciones de http://www.openssl.org Provee scripts para crear una autoridad certificante, certificados de sitio, y certificados de usuarios. Permite la configuracin de los datos a incluir en los certificados.

Generacin de certificados con SSL.CA


Generar un certificado raz auto-firmado (new-rootca.sh) Generar un requerimiento de certificado de server (new-server-cert.sh) de usuario final (new-user-cert.sh) Firmar el requerimiento generado de server (sign-server-cert.sh) de usuario final (sign-user-cert.sh) Instalar el certificado generado de server (server.crt, server.key) de usuario (p12.sh)

Uso SSL y Apache


<VirtualHost *:443> ServerName sitio.arcert.gov.ar DocumentRoot "/var/www" ServerAdmin webmaster@sitio.arcert.gov.ar ErrorLog "/var/log/apache/ssl-error.log" TransferLog "/var/log/apache/ssl-access.log" SSLEngine SSLProtocol on -all +TLSv1 +SSLv3

SSLCipherSuite HIGH:MEDIUM:!aNULL:!eNULL:+SHA1:+MD5:+HIGH:+MEDIUM SSLOptions +StdEnvVars SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 "/etc/apache/ssl/sitio.arcert.gov.ar.crt" "/etc/apache/ssl/sitio.arcert.gov.ar.key"

SSLCertificateFile SSLCertificateKeyFile </VirtualHost>

Autenticacin del cliente con certificado


Con el propsito de controlar el acceso, el servidor puede requerir la autenticacin del cliente, solicitndole su certificado X.509, y verificando que el mismo haya sido emitido por una CA en la que el servidor confa. El cliente recibe un desafo y lo devuelve firmado para que el servidor pueda verificar la posesin de la clave privada correspondiente. El servidor puede aceptar certificados que tengan ciertos atributos o propiedades. Este es un mecanismo muy difundido para autenticacin en sitios web.

Autenticacin del cliente con certificado


SSLCACertificateFile "/etc/apache/ssl/ca.crt CustomLog "/var/log/apache/ssl-request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%{SSL_CLIENT_S_DN_CN}x\" \"%r\" %b SSLOptions +ExportCertData +StrictRequire +StdEnvVars

<Location /admin/> SSLVerifyClient require SSLVerifyDepth 2 SSLRequire %{SSL_CLIENT_S_DN_Email} =~ m/.gov.ar$/ \ or %{SSL_CLIENT_S_DN_Email} in {"test@hotmail.com","test@gmail.com"} </Location> #Importante: Fuera del virtual host no permitir acceso via http <Directory /var/www/admin/> SSLRequireSSL </Directory>

Problemas comunes en la implementacin de SSL


Uso de certificados firmados por una CA no configurada como confiable en el navegador. Uso de certificados vencidos. Utilizacin de algoritmos de cifrado dbiles. Utilizacin de NIDS para analizar trfico SSL. Utilizacin de equipos clientes con vulnerabilidades (ej: navegadores) Acceso a algunas pginas utilizando HTTPS y a otras con HTTP.

Almacenamiento de claves privadas


Es necesario tomar medidas para protegerlas: Cifrar el archivo que contiene a la clave Un atacante puede monitorear las teclas que presionamos al ingresar la contrasea para descifrar el archivo. Si la clave queda residente en memoria un atacante podra acceder a ella. Utilizar dispositivos especficos (smartcards, tokens criptogrficos, etc.) La clave nunca sale del dispositivo. Se requiere tener el dispositivo y saber la clave de acceso.

Evaluacin de criptografa y FIPS 140


Establecido por el NIST para evaluar mdulos criptogrficos: FIPS 140-1(1994) y 140-2(2001) Evala slo mdulos criptogrficos ya sean de hardware o de software. Se especifican cuatro niveles de seguridad y once categoras con requerimientos especficos acordes al nivel deseado. http://csrc.nist.gov/cryptval/140-1/1401val.htm

Niveles FIPS
Nivel 1: Define algoritmos a implementar (AES (FIPS 197), DES (FIPS 46-3), TripleDES (FIPS 81)). No evala entorno ni seguridad fsica. Nivel 2: Introduce seguridad fsica, roles y CC EAL2. Nivel 3: Aumenta seguridad fsica. Autenticacin basada en identidad, CC EAL3. Nivel 4: Sobrescritura fsica segura. CC EAL4.

Almacenamiento de claves de usuario. Mecanismos utilizados en Windows y Linux

Almacenamiento de claves de usuario


Texto transparente Si el archivo es comprometido, todas las claves lo estn Archivo cifrado Necesita claves para cifrado/descifrado El manejo de estas claves nos puede remitir al problema anterior Almacenar el resultado de una funcin de una va Si el archivo es comprometido, el atacante an debe adivinar las claves o invertir la funcin.

Salt para proteger las contraseas


Cada contrasea puede cifrarse de varios miles de formas diferentes (4096 en el formato crypt de Unix, 248 utilizando MD5). Si dos usuarios utilizan la misma contrasea, se almacenan de manera distinta. Si un intruso se apodera del archivo de contraseas no puede usar tablas precalculadas. Slo se puede crackear la clave de un usuario a la vez.

Linux
La contrasea se almacena en un archivo slo accesible por root (/etc/shadow) y la clave se cifra de la siguiente manera: $1$O34Nj3aF$3ecTiyOvCOAqhtaEaN0yG0 La misma est compuesta por 3 campos: $1$: Indica que se utiliza MD5. $O34Nj3aF$: El salt utilizado. $3ecTi: El hash propiamente dicho. Este es un buen mecanismo para utilizar en aplicaciones web!

Windows
Lan Manager Hash Se convierte todo a maysculas antes de generar el hash. El set de caracteres es: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 %!@\#$%^&*()_=+~[]\{}|\:;"<>,.?/ El hash se divide en dos bloques de 7 caracteres. Si la clave tiene menos de 14 caracteres, se paddea con null. Utiliza DES, cifrando con la clave del usuario la constante KGS!@#$%. El resultado del hash es un valor de 16 bytes. No se utiliza Salt. NT Hash Distingue entre maysculas y minsculas. Puede tener un largo de hasta 128 caracteres, y la longitud es variable, no hace falta hacer padding. No es soportado por defecto en Win9x y Me. NT4 lo soporta desde el SP4. Utiliza MD4. No se utiliza salt.

Cracking: John The Ripper


Permite crackear claves Crypt, MD5, Blowfish, LM, etc., ya sea usando diccionarios, utilizando reglas, o por fuerza bruta.
Benchmarking: Traditional DES [64/64 BS MMX]... DONE Many salts: 694246 c/s real, 694246 c/s virtual Benchmarking: FreeBSD MD5 [32/32]... DONE Raw: 5191 c/s real, 5191 c/s virtual Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE Raw: 408 c/s real, 408 c/s virtual Benchmarking: NT LM DES [64/64 BS MMX]... DONE Raw: 7012K c/s real, 7012K c/s virtual

Cracking: Rainbow Tables


Una tabla rainbow es una tabla de bsqueda especial. Tiene precomputados los pares hash - clave texto claro. Cuando necesito obtener una clave en texto claro, se hace una bsqueda eficiente en las tablas precomputadas. Ejemplo: ophcrack
Demo en: http://lasecwww.epfl.ch/~oechslin/projects/ophcrack/

Manejo de claves
En resumen, se deben tener en cuenta los siguientes temas al manejar claves: Como se generan las claves. Como se asocia una clave a la identidad de su poseedor. Como se distribuyen las claves. Como dos partes establecen una clave comn. Como se almacenan las claves de manera segura. Que ocurre cuando se compromete una clave. Como se destruyen las claves.

Sistemas de Archivos Cifrados


Microsoft EFS Debian PartmanCrypto TrueCrypt

Microsoft EFS
Disponible desde Windows 2000 en adelante. Funciona por debajo de NTFS, orientado al archivo. Basado en criptografa de llave pblica. Es tan fuerte como lo es la contrasea de usuario.

Microsoft EFS, recomendaciones


Windows Vista permite guardar la llave privada en un smartcard. En Windows 2000 tiene algunas vulnerabilidades y su uso es recomendable a partir de XP. En la security policy se debe configurar: "never store or send LM/NTLM hashes or plaintext passwords" y deshabilitar "automatic login".

Debian PartmanCrypto
Se pueden cifrar todas las particiones, a excepcin de /boot Sistema simtrico. Mecanismos soportados: dm-crypt (default), LUKS y loop-AES. Algoritmos utilizados por dm-crypt: AES, Blowfish, Serpent y Twofish. La llave puede ser aleatoria y de uso nico en cada reboot (til para la particin swap). Tiene integracin con GnuPG. Configurable desde la instalacin (en Debian Etch). Dependiendo de que particin se trate, puede que detenga el proceso de inicio de la mquina hasta la introduccin del passphrase.

TrueCrypt
Versiones para Windows y Linux. Algoritmos implementados: AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, y Twofish. Permite utilizar los algoritmos en cascada (ej: AES + Twofish + Serpent). Muy til para dispositivos mviles. No tiene cabeceras, por lo que la informacin fcilmente confundible con ruido aleatorio. Esteganografa mediante volmenes ocultos. http://www.truecrypt.org/

Desarrollo utilizando criptografa

Uso de Criptografa en Bases de Datos


Varios motores de BD incorporan, en versiones recientes (MS SQL Server 2005, MySQL 5, PostgreSQL con pgcrypto) funciones para cifrar datos o almacenar claves en forma segura:
MySQL: AES_Encrypt, AES_Decrypt(), SHA1() MS-SQL Server 2005: EncryptByPassphrase(), DecryptByPassphrase(), Create Certificate, EncryptByCert(), DecryptByCert(),HashBytes() PostgreSQL: digest(),gen_salt(),encrypt(), decrypt(), pgp_pub_encrypt(), pgp_pub_decrypt()

Cuidado con el almacenamiento de la clave simtrica de cifrado.

Bibliotecas para uso de criptografa


Proveedor de servicios criptogrficos: Mdulo que provee servicios de cifrado implementados por software o mediante la utilizacin de dispositivos de hardware. Implementa algoritmos criptogrficos standard. Por lo general son autocontenidos. Pueden ser un mdulo del sistema operativo.

MS Windows 9x, NT, 2K, XP, 2003, Vista


El acceso a las funciones criptogrficas se realiza mediante la utilizacin de la CryptoAPI. Provee una interfaz nica para acceder a los diferentes proveedores de servicios criptogrficos. Amplia funcionalidad, amplia cantidad de funciones no documentadas. Soporte para 3DES, AES, MD5, SHA-1, etc. Soporte para PKCS#7 y PKCS#12. Soporte nativo para dispositivos criptogrficos. Programacin: C, C++, C#, Delphi, .Net

CAPICOM
Abstraccin de alto nivel de CryptoAPI. No se encuentra instalada por defecto. Utilizado en la mayora de las implementaciones que requieran: Firma digital de datos / cdigo. Cifrado de datos. Utilizacin de funciones de Hash, etc

Programacin: C, C++, C#, Delphi, .Net, Vbasic, ASP, VBScript, JScript, Windows Shell Script.

Referencias
Cryptography Reference http://msdn.microsoft.com/library/enus/seccrypto/security/cryptography_reference.asp CAPICOM Reference http://msdn.microsoft.com/library/enus/seccrypto/security/capicom_reference.asp CAPICOM Download http://www.microsoft.com/downloads/details.aspx?FamilyID =860ee43a-a843-462f-abb5ff88ea5896f6&DisplayLang=en

Java
Acceso a funcionalidad criptogrfica provisto mediante una serie de interfaces: Java Cryptography Architecture (JCA) Java Cryptography Extension (JCE) Los proveedores criptogrficos implementan funciones para firmar y cifrar datos mediante algoritmos standard, funciones de hash y un repositorio de claves/certificados (keystore). Soporte nativo para dispositivos criptogrficos va PKCS#11, a partir de Java SE 5.0.

Java
Multiplataforma. Funcionalidad bsica provista por SUN JCE Provider y clase PKCS7. Funcionalidad extendida con biblioteca Bouncy Castle Soporte para objetos ASN.1. Soporte para certificados X.509 v3, CRLs v2. Soporte para PKCS#12, S/MIME y CMS (PKCS#7) Soporte para OCSP. Implementacin de soluciones cliente/servidor en conjunto con Tomcat/JBoss.

Referencias
Java SE (Standard Edition) http://java.sun.com/javase/downloads/index.jsp Bouncy Castle http://www.bouncycastle.org/ Uso de PKCS#11 con JCE provider http://java.sun.com/j2se/1.5.0/docs/guide/security/p11guide .html

OpenSSL
Versiones para Unix, Linux y Windows. Biblioteca y aplicacin sobre la que se basa la mayor parte de los servicios criptogrficos de las plataformas Unix/Linux. Implementa SSL v2/v3 y TLS v1. Implementa un gran nmero de algoritmos de cifrado y firma: DES, 3DES, AES, Blowfish, RSA, DSA, ECDSA, etc. Implementa algoritmos de hash: MD5, SHA-1, SHA-256 Soporta los standards PKCS#7, PKCS#10, PKCS#11, PKCS#12, PKCS#15. Soporta S/MIME y OCSP. Programacin: C, C++, Perl, Phyton, PHP, Ruby http://www.openssl.org/

Aplicaciones Web y Firma Digital


Vara segn la funcionalidad provista por los navegadores: Internet Explorer Mozilla / Firefox Herramientas disponibles (para el cliente): CAPICOM (IExplorer) Applets Java (Ambos) JScript (crypto.signText) (Mozilla)

Aplicaciones Web y Firma Digital


Herramientas disponibles (para el servidor): Java + Bouncy Castle + Application Server (Tomcat, JBoss) PHP + OpenSSL Perl/Phyton + OpenSSL Ruby + OpenSSL ASP / ASP .Net + CAPICOM

Muchas Gracias! Preguntas y Comentarios


www.arcert.gov.ar info@arcert.gov.ar www.pki.gov.ar info@pki.gov.ar