Ir al final de los metadatos
Ir al inicio de los metadatos

Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual View Version History

Versión 1 Actual »

Vamos a explicar el Gestor de Certificados desde el punto de vista técnico, para ello tenemos que dividir la documentación en dos puntos: Infraestructura y Lógica.

Infraestructura

La gestión de certificados por parte del TCI posibilita el acceso y uso de los mismos sin tener que hacer uso de aplicaciones de terceros, esto tiene una ventaja sustancial ya que no necesita hacer llamadas fuera del Cloud, por lo que no existe ninguna api de acceso a los certificados que sea accesible desde fuera de la arquitectura.

La única interacción posible desde fuera de nuestro Cloud es desde el propio gestor de certificados que permite subir, actualizar o borrar un certificado y para ello hay que superar 2 puntos de seguridad.

El primero es estar incluido en el acceso del Firewall del sistema cloud del TCI, y el segundo consiste en la autenticación que otorga acceso al TCI Manager. Además el usuario que desee acceder debe tener unos permisos específicos de gestión de certificados que por norma general sólo se otorga a los administradores.

Lógica

La segunda capa de seguridad se encuentra a nivel de lógica. Por un lado tenemos los algoritmos de cifrado, y por otro lado la propia lógica de negocio.

Lógica de negocio

Cuando se sube un certificado a nuestro Cloud existen dos configuraciones que limitan su acceso. La primera sería la correlación de datos de usuario.

  • Tenant

  • Usuario administrador

  • Certificado

Que limita su uso a los escenarios de integración que cumplan con esta correlación.

La segunda configuración limita su uso a una correlación de datos secundaria:

  • Tenant

  • Agrupación

  • Tipo de uso (Autenticación o Firma digital)

  • Escenario de integración

  • Certificado

Esto limita aun más su uso, haciéndolo accesible solo para una utilidad concreta, en un punto concreto de la integración y para un grupo de envíos muy específico.

Algoritmos

El gestor de certificados utiliza varios algoritmos para el tratamiento del certificado y otros para la encriptación.

Durante la subida de un certificado lo primero es asegurar la integración del certificado por lo que el primer algoritmo consiste en la deserialización de los datos. Para los certificados modernos, a veces es necesaria una triple deserialización. nuestro algoritmo itera hasta 5 veces o hasta que consigue descifrar el certificado.

El segundo paso consiste en utilizar la clave proporcionada para validarla contra el certificado utilizando una de las utilidades proporcionadas por el api de criptografía de BouncyCastle.

Una vez se ha confirmado la validez de los datos, se pasa al certificado por dos procesos antes de guardarlo.

El primero consiste en el cifrado de la información a través de un algoritmo SHA-512 con un hash de encriptación que consta de 2 mitades. Una de ellas se encuentra hardcodeada en el código y la otra mitad se determina en el proceso de implantación, por lo que es única por entorno y cliente.

El segundo consiste en una serialización binaria que se cifra con un algoritmo sencillo de Base64 para posteriormente almacenarlo en la base de datos relacional del TCI.

Dado que todo este proceso se encuentra compilado y ofuscado, es imposible tener acceso a ninguna parte del proceso en tiempo de ejecución. y tanto las claves como los algoritmos son completamente opacos.

Uso de un certificado

Una vez se dan todas las condiciones de uso de un certificado, las correlaciones de datos se cumplen y el flujo de integración está correctamente configurado para su uso, se pasa al proceso inverso mencionado en el punto anterior.

Se deserializa también la clave privada que ha sufrido el mismo proceso que el certificado y se realiza la acción requerida.

Para la firma digital, el certificado o su información nunca salen del proceso ejecutándose en la memoria virtual de nuestro Cloud.

Para el proceso de autenticación, siempre se utiliza un protocolo de TLS actualizado para asegurar la máxima seguridad.

  • Sin etiquetas