Está en la página 1de 46

Cripto-Vault

Ing. Kevin Julián Morales


Ing. William Fernando Moreno
Ing. Carlos Julio Diaz
Adm. Isabella Moreno

Criptografía
Esp. en Seguridad Informática
Crypto – Vault ®
Solución de aseguramiento de flujos de
información
Inspirada en tres principios, seguridad, portabilidad y
usabilidad, es una herramienta de enorme flexibilidad, capaz
de a cualquier sistema nuevo o antiguo. Capaz de procesar los
estándares criptográficos más utilizados en el país: CMS,
S/MIME y PGP.
Criptografía Asimétrica
 La criptografía de llave asimétrica o llave
pública permite que cada usuario tenga
sólo un par de llaves.

 Una de ellas será pública (Pub) y la otra


será privada (Pri).

 Esto es, podrá ser publicada en una página


web o entregada en el CD de presentación
de la empresa sin representar un riesgo
para el sistema.

 Lo que es cifrado con una de estas llaves


sólo puede ser descifrado por la llave
complementaria.

 Esto es: al cifrar un mensaje con Pub, sólo


el poseedor de Pri podría descifrarlo y
viceversa.

 .
Firma digital
La firma digital es una función que tiene el mismo objetivo que la firma física de un
documento: garantizar que el firmante ha escrito o está de acuerdo con el contenido
del mismo. Pero, a diferencia de la firma manuscrita, la firma digital permite
garantizar integridad (en un documento físico puede añadirse o alterarse el
contenido con relativa facilidad) y no repudio (después de haber sido firmado, el
firmante adquiere total responsabilidad sobre la autoría o aceptación del documento
firmado).

Podemos
afirmar que: El cifrado garantiza confidencialidad, pero es la firma digital la que
ofrece características que a menudo son más deseables que la
confidencialidad, tales como la integridad y el no repudio. Un mensaje
firmado digitalmente no puede ser alterado ni enviado a nombre de
otra persona.
Certificado Digital

 es una llave pública que ha sido firmada por un tercero,


conocido como “autoridad certificadora” (o CA, por sus siglas
en inglés). Sin firma, una llave pública puede ser suplantada
con relativa facilidad, lo que quiere decir que un tercero podría
recibir las comunicaciones dirigidas al destinatario original.
 Un certificado digital permite eliminar esa preocupación de
verificación de identidad, delegando la responsabilidad de esa
tarea a las CA. Colombia ley 527 de 1999
Autoridad certificadora (CA)
Es una empresa avalada para la expedición de certificados digitales con
validez legal. Las CA tienen la responsabilidad de verificar la identidad
de las entidades y personas para las que expiden certificados.
Por esta razón, la ley colombiana exige que demuestren un patrimonio
autónomo capaz de subsanar a las víctimas en caso de que se presente
algún fraude por suplantación de identidad.

En Colombia:
• Certicámara (www.certicamara.com.co)
• Andes SCD (www.andesscd.com.co/)
• GSE (www.gse.com.co)
Extranjeras:
VeriSign (www.verisign.com).
Sobre Digital
Es una construcción que permite aprovechar todo el poder de la
criptografía de llave pública con la eficiencia y confiabilidad del esquema
de llave simétrica. Adicionalmente, contiene todos los elementos
criptográficos referidos con anterioridad (esto es, cifrado y firma).

1. Se genera una clave de sesión KS, simétrica (con los algoritmos


actuales, se trata de una cadena de 512 bits totalmente aleatoria).
2. Esa llave KS es cifrada con la llave pública del destinatario.
3. Se genera la firma S del mensaje, con la llave privada del emisor.
4. El mensaje M y la firma S se cifran con la llave KS.

El sobre digital consiste, en suma, en la llave KS cifrada con


PUBB y en un mensaje cifrado con la llave KS. En suma, se cifra
menos de 1KB con las llaves asimétricas, mientras que el
contenido del mensaje se cifra con un algoritmo simétrico,
proporcionando máxima efi.
Sobre Digital
solicitud de firma de certificado (CSR)?
Un CSR contiene la llave pública y la información del solicitante. No
contiene información privada

lista de certificados revocados (CRL


• Los certificados pierden validez cuando cumple su periodo de vigencia.
• puedes ser por cambiar el almacén de llaves correspondiente, hasta el caso en el
que se haya comprometido la llave privada

pasa a una lista negra que contiene los certificados en los que ya no se
puede confiar. Un certificado en dicha lista (CRL, por su sigla en inglés) es
legalmente inválido, se debe validar el estado del certificado.

Se debe actualizar un archivo de extensión crl responsabilidad de la entidad


dueña del certificado. El no actualizarlo es un riesgo de seguridad.
OCSP (Online Certificate
Status Protocol)
Es un protocolo o servicio
proporcionado por algunas
empresas CA que determinan en
tiempo real el estado de un
certificado eliminando tareas de
mantenimiento manual.
Este servicio es la opción mas
recomendable siempre y cuando
lo ofrezca la entidad
certificadora tener en cuenta
que el servidor quien consume el
servicio debe tener salida a
intranet.
Almacén de llaves o llavero
es un archivo protegido con contraseña que puede contener, en pocas
palabras, cualquier elemento propio de la criptografía de llave
pública (llaves privadas, llaves públicas, certificados, etc.). El
estándar más utilizado es el PKCS#12.

Cada entrada de un almacén de llaves está identificada por un alias, que es


un nombre corto alfanumérico asignado por el dueño del mismo.

La exploración de un almacén de llaves puede hacerse por diversos


mecanismos.
• Entre ellos, vía consola a través de la herramienta Keytool, que viene
instalada con Java por defecto
• Herramienta gráfica KeyStore Explorer (disponible para Windows, Linux y
Mac).
Qué es Crypto-Vault?
Aplicación 100% en Java que permite generar y procesar sobres
digitales principios: máxima seguridad y usabilidad en basado
cuatro formatos:
• DigEnv (o Sobre Crypto-Vault): un formato definido y patentado
por CyberTech basado en XML.
• CMS: basado en el estándar PKCS#7, CMS es una implementación
básica de un sobre digital que no incluye codificación en Base 64
• S/MIME: es un estándar que complementa las falencias de CMS,
permitiendo incorporar los mensajes cifrados dentro del cuerpo del
mensaje. S/MIME hace parte de las extensiones MIME, que permiten
enriquecer el funcionamiento del correo electrónico.
• PGP: es uno de los estándares más comunes del mercado. Fue
ideado para compartir correos electrónicos en redes informales de
confianza.
• Es fácil de instalar y funciona en la gran mayoría de plataformas de computo
utilizadas a nivel empresarial (Windows, Linux, Unix, AIX, AS/400, entre
otras).
• Diseñado para incluir una serie de elementos de ingeniería criptográfica, que
garantizan fortaleza y excelente desempeño, mediante una implementación
extraordinariamente eficiente de sobres digitales XML, como se muestra en la
figura de abajo
El archivo cifrado y firmado por Crypto-Vault® en el sobre digital puede ser
transmitido -en el eventual fallo de los medios de transmisión- por medios
alternos (v.g. e-mail, o aun incluso usando diskettes o CD-ROMs), como se
muestra en la siguiente figura.
Modalidades para el uso
Crypto-Vault® CLI (Interfaz de Línea de Comandos, por sus siglas en
inglés): Esta variedad permite invocar a Crypto-Vault® desde la línea de
comandos (ventana de shell o terminal). Las diferentes operaciones se
indican por medio de argumentos de línea de comandos. Es la presentación
más versátil de todas, ya que no requiere desarrollos adicionales para su
configuración y uso, y a la vez permite una automatización sin necesidad de
desarrollos complejos, basándose en archivos por lotes (.bat o .sh,
típicamente).

• Crypto-Vault® API (Librería para aplicaciones desarrolladas en Java): Esta


variedad permite integrar Crypto-Vault® como una librería al interior de un
proyecto Java. Esta variedad permite mayor versatilidad (es utilizada, por
ejemplo, como motor de criptografía en sistemas de Banca Virtual)
ventajas
• Manejo de múltiples almacenes de llaves.
• Soporte para hardware criptográfico (a través de proveedores JCE).

• Mejora en la velocidad de las operaciones criptográficas.


• Mejor manejo de archivos grandes.
• Uso de bases de datos para permitir instalaciones en ambientes de
alta disponibilidad (clústers).
REQUISITOS
 El sistema operativo debe tener por lo menos un ambiente de
ejecución de Java instalado (que se denominará JRE a lo largo de
estas instrucciones). La versión mínima soportada es la 1.6.0.1
 512 MB de memoria RAM
 300 MB de espacio libre en disco Para sistemas operativos Windows:
 Aunque es posible instalar Crypto-Vault®sobre Windows 98 y ME, se
recomienda usar sistemas operativos iguales o posteriores a Windows
XP y Windows2000
 Para otros sistemas operativos(Unix, AS/400, Solaris, etc): Se
requieren permisos de escritura a la carpeta de Crypto-Vault®
CONFIGURACION INICIAL
1. Para crear una configuconfiguración, ejecute la aplicación de la
siguiente manera:

java -jar CryptoVaultCLI.jar -initialconfiguration


GENERAR ALMACEN DE LLAVES
COMANDO:
java -jar CryptoVaultCLI.jar -gk <nombre del archivo> <alias llave privada>

Se diligencian los siguientes datos:

• Nombre Común (CN): es el nombre del titular del certificado. organización.


• Unidad Organizacional
(OU): está concebido para diferenciar diferente áreas de la organización (v.g.
RRHH, Nómina, etc.). • Organización (O): el nombre de
la entidad que solicita el certificado. Habitualmente, se recomienda que coincida
con el campo CN. • Ciudad (L): es el lugar de residencia o
asentamiento del titular del certificado.
• Estado (ST): el estado o departamento en el campo L.
• País (C): código del país en el que
está ubicado el estado o departamento definido en el campo ST. Colombia es CO.

Este procedimiento creará el archivo <nombre del archivo> dentro de la carpeta


keystores de Crypto-Vault®2.4 con una llave privada bajo el alias alias
Generar una solicitud de firma de
certificado (CSR)
Para generar una solicitud de firma de certificado, debe ejecutar la
aplicación de la siguiente manera:
java -jar CryptoVaultCLI.jar -gr <nombre del archivo>

El archivo <nombre del archivo>.csr será almacenado en la carpeta


keystores de Crypto-Vault. Debe definir el procedimiento para transmitir el
CSR con su autoridad certificadora de preferencia.
Importar el certificado de una
autoridad certificadora
Para agregar el certificado que identifica a la autoridad certificado (o
los certificados), debe ejecutar la aplicación de la siguiente manera:

java -jar CryptoVaultCLI.jar -ica <alias> <arch certificado>

Por ejemplo:
java -jar CryptoVaultCLI.jar -ica caroot CA_Root.cer

Agregará la entrada caroot en el almacén de llaves configurado,


utilizando el certificado almacenado en el archivo CA_Root.cer.
Importar la respuesta de
una autoridad certificadora
Típicamente, la respuesta de una autoridad certificadora al envío de
un CSR es un certificado digital firmado, con extensión .cer o, más
esporádicamente, .crt.

Para importar un certificado que haya sido emitido como respuesta por
parte de una CA, debe ejecutar la aplicacion de la siguiente manera:

java -jar CryptoVaultCLI.jar -ic <ruta del certificado>

El archivo <ruta del certificado> será importado en el almacén de


llaves configurado, completando la cadena de certificación.
Importar la Lista de Revocación
de una autoridad certificadora
Si la autoridad certificadora utiliza varios niveles de certificación (v.g. un
certificado raíz y uno o más certificados subordinados), debe importar
primero la lista de revocación de mayor nivel (el raíz) y posteriormente el (o
los) subordinado(s).

Para agregar la lista de revocación que pertenece a la autoridad


certificadora previamente agregada, debe ejecutar la aplicación de la
siguiente manera:
java -jar CryptoVaultCLI.jar -importarCRL <archivo certificado>

Agregará la entrada y lo asociará automáticamente al certificado de


Autoridad certificadora al que pertenece. Si no lo encuentra, da un error
indicando que debe primero importar el certificado de la autoridad
certificadora
ACTIVIDAD
• Por medio de la Herramienta control M se van a transmitir
archivos desde el servidor de BD a un servidor mavu01d que
tiene instalado crypto-vault
• Se cifran los archivos con una llave publica llamada DISPAPELES.
• Se transmiten cifrados a un servidor de aplicación.
• Luego se toman estos archivos cifrados y transmiten al servidor
MAVU01D donde se descifran con la llave privada llamada
DISPAPELES
• Se transmiten descifrados a otro servidor de aplicación.
Elementos de la actividad
Se va a realizar la transmisión de 3 archivos entre dos servidores y se cifraran
como se descifraran utilizando la llave publica y privada registrada
previamente en la aplicación por medio de la herramienta llamda control M y
crypto-vault.

• Archivos planos extensión .DAT CALENDARIOS_PAGOS.DAT, CREDITOS.DAT Y


CUOTAS_CREDITOS.DAT.
• Nombre de la llave: DISPAPELES
• SERVIDOR AQUILESMS37P servidor de BD donde se generan los archivos en
plano para cifrar y se dejan descifrados.
• SERVIDOR MAVU01D de aplicación donde esta instalada localmente la
aplicación de Crypto-Vault y se trensmiten los archivos para ser cifrados y
descifrados.
• Extension archivos cifrados .PGP
MALLA DE TRANSMISIÓN Y CIFRADO

CIFRADO
Archivos iniciales
Ruta Inicio servidor BD
Job transmisión
JOB DE CIFRADO CRYPTO VAULT

Se crea un bat embebido con el comando con la sintaxis de criptovault para


cifrar
JOB DE TRANSMISION ARCHIVOS CIFRADOS
VALIDACION ARCHIVOS CIFRADOS
MALLA DE TRANSMISIÓN Y DESCIFRADO

DESCIFRADO
TRANSMISION ARCHIVOS CIFRADOS

ORIGEN
TRANMISION AL SERVIDOR PARA DESCIFRAR

JOB DE DESCIFRADO
DESCIFRADO SERVIDOR APLICACION

TRANSMISION TEXTO DESCIFRADO EN CLARO


SERVIDOR DESTINO ARCHIVOS EN CLARO
Pretty Good Privacy (PGP)
Pretty Good Privacy (PGP) es un programa que nos
ayuda a proteger nuestra privacidad, para que todas las
comunicaciones estén a buen seguro; al mismo tiempo,
garantiza la autenticidad de los mensajes electrónicos
que enviamos.
¿Qué algoritmo usa?
PGP funciona como un algoritmo del tipo de clave
pública o asimétrica. En un sistema de clave pública,
cada usuario crea un par de claves que consiste en una
clave pública y una clave privada.
Interoperabilidad con llaves PGP
Exportar llave publica

Puede exportar su llave publica a un archivo en formato


PGP (tipicamente,extension .asc) mediante el llamada:

 exportPublicPGPKey(LPSTR fileName)

Puede exportar la llave privada en un archivo adicional,


activando la bandera:

 setAlsoExportPrivateKey(BOOL export)
Convertir una llave publica PGP
en certificado digital
Esta función solo busca proporcionar compatibilidad entre
formatos

Para realizar esta conversión se debe ejecutar la


aplicación de la siguiente forma.

 convertPGPKeyToCertificate(LPSTR rutaLlavePGP,

LPSTR rutaNuevoCertificado)
Convertir una llave privada PGP
en un almacén de
llaves PKCS
Las llaves publica y privada deben estar en archivos
separados.

Para realizar esta conversión se debe ejecutar la aplicaci


´on de la siguiente forma:

 facade.importPrivateKey(String rutaLlavePublicaPGP,
String

rutaLlavePrivadaPGP, String rutaAlmacen, char[]


password)
Utilizar una llave privada en
formato PGP
Si desea cifrar y firmar un archivo, haciendo uso de la
llave privada para la función de firma, debera ejecutar los
dos llamados que se listan a continuación:

 facade.usePGPSecretKey(boolean usarLlavePGP);

 facade.encryptAndSignDocument(String archivoOrigen,

String archivoDestino, String destinatario, String envelope)


Ventajas y Desventajas
Permite a los usuarios compartir de forma segura
información y claves criptográficas a través de Internet.
Como sistema híbrido, PGP se beneficia tanto de la
seguridad de la criptografía asimétrica como de la
velocidad del cifrado simétrico.
En desventaja, los sistemas PGP no son tan fáciles de
usar y comprender, especialmente para usuarios con
poco conocimiento técnico. Además, muchos consideran
que la larga longitud de las claves públicas es bastante
inconveniente.
… Gracias

También podría gustarte