Uso de EJBCA como PKI empresarial a gran escala

¿Sus certificados se cuentan por millones, no por miles? Un hecho poco conocido, pero importante, sobre EJBCA es que está diseñado para escalar. Mediante algunos ajustes y configuraciones, los volúmenes de emisión y respuesta OCSP de EJBCA pueden gestionar PKI a escala global. Si su PKI requiere un rendimiento de primera clase, EJBCA es la mejor opción.

Lo siguiente presupone que su PKI cumple con una de las otras áreas de solución , pero su problema es la escalabilidad. Es posible que su solución PKI actual no pueda gestionar los volúmenes y el rendimiento que necesita: sus CRL están creciendo desproporcionadamente, los clientes se quejan de tiempos de espera y su VA está al límite de sus posibilidades. Continúe leyendo para descubrir cómo se puede optimizar EJBCA para gestionar incluso las PKI más grandes del mundo.

Agrupamiento y equilibrio de carga

Gran parte del escalado consiste en ampliar la arquitectura de su PKI para satisfacer sus necesidades. El primer paso para gestionar más emisiones y tráfico es la agrupación en clústeres: dividir la carga entre varias instancias de EJBCA que trabajan en conjunto. Esto ofrece la ventaja adicional de añadir una capa de fiabilidad a su PKI, ya que cualquier clúster impar siempre puede sobrevivir a un fallo en uno o más de sus nodos. EJBCA se ha diseñado para permitir actualizaciones en caliente, lo que significa que su PKI sigue activa y en funcionamiento mientras los nodos del clúster ejecutan diferentes versiones de EJBCA, sin tiempo de inactividad.

imágenes/en línea/20e746007ff0c13e4efd3f7e95345b8d841bc7fa7db20eeee8d86dec4c40ff00.png

Asimismo, la agrupación se puede realizar en VA o RA para aliviar la carga en su PKI, dependiendo de dónde su PKI tenga problemas de rendimiento:

  • Si experimenta tiempos de respuesta largos o tiempos de espera en la infraestructura de su VA, es posible que el HSM del VA o la base de datos estén sobrecargados con consultas. Esto se puede solucionar añadiendo más VA, pero también agrupando las instancias de VA.

  • Si emite o revoca certificados en grandes volúmenes, agrupar las CA permitirá que más nodos realicen la revocación y la publicación. Cada revocación enviada a las VA es una sola escritura por clúster.

Si tiene varios VA o clústeres de VA, es fundamental colocarlos detrás de un balanceador de carga para equilibrar la carga en cada VA.

Obtenga más información sobre cómo ejecutar EJBCA en un clúster

Fragmentación de bases de datos

Para bases de datos de volúmenes extremos, puede ser conveniente dividir la base de datos en varias instancias de base de datos para ahorrar espacio.

Para fragmentar su base de datos y evitar que todo se guarde en el mismo volumen físico, configure el archivo de configuración database.properties para que los cuerpos de certificado se almacenen en otra tabla de certificados. Active la propiedad database.useSeparateCertificateTable para almacenar el cuerpo de certificado en la tabla Base64CertificateData en lugar de en CertificateData.

imágenes/en línea/66f6a1cb431a438b61b4ad4f3c2469a0c6df10e377ef8e4561ab3222b83b63e2.png

Base64CertificateData puede fragmentarse y ubicarse en un volumen de base de datos diferente. Para obtener más información sobre las configuraciones de EJBCA, consulte "Administración de configuraciones de EJBCA" .

Particionado de CRL

Si su población de certificados vigentes es grande y depende de CRLs, podría notar que los tiempos de generación de CRLs se vuelven descontrolados y que el tamaño de las CRLs se vuelve inmanejable. EJBCA admite la partición de CRLs según RFC 5280 , lo que permite asignar certificados a un fragmento de CRL específico.

imágenes/descargar/archivos adjuntos/141984841/Captura de pantalla_2021-01-18_a_las_14.32.31.png

La partición de CRL implica que, en lugar de una sola CRL, esta se divide en varios fragmentos. A medida que los fragmentos aumentan de tamaño, EJBCA permite suspenderlos y crear nuevos automáticamente.

Obtenga más información sobre las CRL particionadas

Fijación de servicio

En una instancia EJBCA en clúster, la ejecución del servicio se realiza de forma semi-aleatoria, y lo ejecuta el primer nodo que se activa dentro del intervalo de servicio permitido. Si algunos servicios, por ejemplo, la generación de CRL, tardan demasiado tiempo, es posible que se experimente latencia en el nodo del clúster que ejecuta el servicio, lo que provoca retrasos intermitentes durante su ejecución. La solución más sencilla es fijar el servicio a un solo nodo y eliminar ese nodo de la lista del balanceador de carga, lo que significa que todas las ejecuciones del servicio ocurrirán solo en ese nodo, mientras que las operaciones de inscripción, emisión y revocación se procesan en el nodo restante.

imágenes/en línea/75d0594855df2b9509936121345be503f1f535a425ef097801711272f40ba1e7.png

imágenes/descargar/archivos adjuntos/141984841/Captura de pantalla_2021-01-26_a_09.44.41.png

Conozca más sobre los servicios en EJBCA

Respuestas OCSP precompiladas

Cada respuesta OCSP requiere una firma individual del token criptográfico en el VA. Si bien las respuestas generadas se almacenan en caché en el VA EJBCA, los tiempos de validez de las respuestas OCSP suelen ser cortos (menos de un día) y las cachés no se comparten entre los nodos de un clúster, por lo que las respuestas deben generarse con frecuencia. La solución tradicional para esto ha sido el encadenamiento de OCSP , que almacena en caché la primera respuesta encontrada en el proxy HTTP. Si bien esto puede resolver el problema en cierta medida, transfiere la carga de la administración del almacenamiento en caché de las respuestas al usuario.

En cambio, EJBCA ofrece respuestas OCSP precompiladas, también conocidas como OCSP precompilado . Esta funcionalidad permite a un agente de autenticación (VA) generar el conjunto completo de respuestas OCSP esperadas con regularidad y dentro de un plazo establecido cuando se esperan interrupciones en el tráfico. Para cualquier PKI, esto reducirá drásticamente la latencia de la infraestructura del VA.

imágenes/descargar/archivos adjuntos/141984841/Captura de pantalla_2021-01-26_a_10.35.08.png

Obtenga más información sobre las respuestas OCSP precompiladas

Certificados efímeros

EJBCA puede configurarse para funcionar como una CA de certificados efímeros. En este modo, EJBCA funciona como una fábrica de certificados de alta velocidad, emitiendo certificados pero sin almacenar rastros de ellos en la base de datos local.

imágenes/en línea/06c82c2db337b633ac03c90a96c9564305f8eb7b02a65ae88871b2d97afda46f.png

Si bien este modo aún permite la revocación de certificados, no permite buscarlos en la base de datos ni aplicar restricciones basadas en certificados existentes. Para más información , consulte Certificados efímeros .