Ir al contenido

Próximamente estarán disponibles los certificados de 47 días. ¿Todo listo?

Actúa ahora →

Comprensión y generación de solicitudes de firma de certificados (CSR) con Luna Cloud HSM: una guía completa

Generación de CSR mediante Luna Cloud HSM

Solicitudes de firma de certificado (CSR) son fundamentales para la seguridad y el cifrado web. Son parte integral del proceso de obtención de una Capa de sockets seguros (SSL) o Seguridad de la capa de transporte (TLS) certificado de un Autoridad de certificación (CA)Este blog le guiará en la comprensión y generación de un CSR, destacando su importancia para mantener la seguridad web.

¿Qué es una RSE?

Se envía un bloque de texto cifrado conocido como Solicitud de firma de certificado cuando se solicita un certificado SSL de un Autoridad certificadaGeneralmente se genera en el servidor donde se instalará el certificado. Contiene información del certificado, como el nombre de la organización, el nombre común (nombre de dominio), la ubicación y el país. Además, incluye la clave pública que se utilizará para firmarlo.

¿Por qué son importantes las RSE?

Los CSR actúan como conducto entre la entidad solicitando la Certificado SSL y la CA que lo emite. Al generar una CSR, se crean dos elementos esenciales. El primero es el Llave pública, que se incluye en la CSR. La segunda es la clave privada, generada simultáneamente con la CSR y que permanece en su servidor. La clave privada debe mantenerse en secreto, ya que permite al servidor autenticar y decodificar la información una vez que el certificado SSL esté operativo.

Descripción general de Luna Cloud HSM de Thales: características y beneficios

Luna Cloud HSM es un Módulo de seguridad de hardware (HSM) Proporcionado por Thales. La parte "Cloud HSM" indica que se trata de una oferta basada en la nube. Puede acceder a ella como servicio a través de internet en lugar de tener que instalar y administrar físicamente un HSM en su centro de datos. Luna Cloud HSM forma parte del servicio CipherTrust Cloud Key Manager, proporcionado por Thales.

Un HSM es un dispositivo de hardware dedicado con procesadores criptográficos especializados, diseñado para gestionar claves digitales y realizar operaciones criptográficas. Proporciona un entorno seguro donde se pueden generar, gestionar y utilizar claves de cifrado, manteniéndolas aisladas de otros componentes del sistema para mejorar la seguridad. Los HSM se utilizan habitualmente para proteger los activos digitales más sensibles de una organización.

El HSM Luna Cloud incorpora lo mejor de la nube al mundo de los HSM: escalabilidad, accesibilidad y menores costos iniciales. Disfruta de la seguridad de un HSM tradicional con las ventajas adicionales de un servicio en la nube.

Las principales características de Luna Cloud HSM son:

  1. Seguridad robusta

    Luna Cloud HSM aprovecha el fuerte cifrado de Thales y gestión de claves Capacidades que ofrecen uno de los niveles más altos de protección de datos en la nube. Los HSM son resistentes a manipulaciones y proporcionan un entorno seguro para operaciones criptográficas.

  2. Escalabilidad organizacional

    A medida que sus necesidades criptográficas aumentan, Luna Cloud HSM puede escalar fácilmente con ellas. No tiene que preocuparse por comprar e instalar hardware HSM adicional.

  3. Alta disponibilidad

    Luna Cloud HSM ofrece alta disponibilidad y conmutación por error automática para garantizar la continuidad del negocio. Puede implementar HSM en varias regiones para mitigar interrupciones locales.

  4. Cumplimiento

    Luna Cloud HSM le ayuda a cumplir con los estándares regulatorios relacionados con las operaciones criptográficas y la administración de claves, incluidos PCI-DSS, GDPR, y HIPAAEl servicio viene con capacidades integrales de auditoría y registro.

  5. Interoperabilidad

    Luna Cloud HSM admite una amplia gama de API criptográficas, bibliotecas e integraciones, como PKCS#11, Java (JCE), Microsoft CryptoAPI y Microsoft CNG, lo que lo hace compatible con una amplia gama de aplicaciones y servicios.

Además, consulte la lista de plataformas de cliente compatibles con Luna Cloud HSM aquí.

¿Cómo generar un CSR?

La generación de un CSR puede variar según el software que utilice, pero los pasos principales son los mismos. A continuación, se presenta un esquema general del proceso:

  1. Preparación

    Debe tener toda la información relevante antes de generar su CSR. Esto incluye el nombre de su dominio, el nombre de su organización, la localidad (ciudad), el nombre de su estado o provincia y el código de país.

  2. Generar un par de claves

    El primer paso para generar una CSR es crear un par de claves pública-privada. Recuerde que su clave privada debe permanecer segura dentro del servidor o módulo de hardware que genera.

  3. Generar la RSE

    Utilice una herramienta de generación de CSR compatible con el software de su servidor. Esta herramienta le solicitará los datos preparados en el paso 1 y la clave privada generada en el paso 2. A continuación, generará un archivo codificado con la extensión .csr o .req.

Durante el proceso de generación de CSR, se le pedirá que ingrese sus datos (nombre común, organización, localidad, etc.).

Generando CSR desde Luna HSM

Generaremos CSR en Thales DPoD. Primero, debemos configurar el propietario de la aplicación, lo que implica agregar y configurar un cliente.

La instalación del cliente utiliza un archivo .zip (Windows) o .tar (Linux) para entregar los materiales del cliente necesarios para configurar la conexión de su sistema al Servicio HSM Luna CloudEl archivo .zip del cliente incluye un archivo crystoki-template.ini preconfigurado y un archivo de almacenamiento de cliente que contiene una biblioteca y archivos binarios.

Instalación del cliente de servicio

  • Acceda a la página de Servicio y haga clic en el servicio o en el nombre de la partición que desea generar un cliente.

    Página de servicio de Thales
  • Haga clic en Nuevo cliente de servicio – Se muestra la ventana Crear cliente de servicio.

    Nuevo cliente de servicio de Thales
  • En la ventana Crear cliente de servicio, ingrese un nombre de cliente (por ejemplo, Pega-Macro) y seleccione Crear cliente de servicio.

    Detalle del cliente del servicio Thales

Servicios de implementación para soluciones de gestión de claves

Brindamos servicios de implementación personalizados de soluciones de protección de datos que se alinean con las necesidades de su organización.

Configuración del cliente de servicio instalado

  • Un nuevo cliente (en este caso, configuración-PKI-Luna.zip) se genera y se proporciona para descargar e instalar en su máquina cliente.
  • El cliente es un archivo zip que contiene la información del sistema necesaria para conectar su equipo a una partición HSM. Consulte la sección "Contenido del cliente" para obtener más información.
  • Transfiera el cliente a su equipo. Puede transferirlo mediante SCP, PSCP, WinSCP, FTPS u otras herramientas de seguridad.
  • Usando la GUI de Windows o una herramienta de descompresión, descomprima el archivo – configuración-PKI-Luna.zip.
  • Descomprima el cvclient-min.zip.
  • Extraiga el archivo cvclient-min.zip en el directorio creado en el paso anterior. Esta ubicación es necesaria para el comando setenv del paso 7. No lo extraiga a un nuevo directorio cvclient-min.zip.
  • Establezca la variable de entorno. Abra el Símbolo del sistema de administrador: haga clic con el botón derecho en el Símbolo del sistema y seleccione Ejecutar como administrador. Ejecute lo siguiente en el Símbolo del sistema de administrador:

    Configuración del cliente de servicio instalado en CMD

Configuración del proveedor de almacenamiento de claves SafeNet (KSP)

  • El sistema requiere acceso al proveedor de almacenamiento de claves de SafeNet (KSP). Copie el archivo SafeNetKSP.dll del cliente de servicio Luna Cloud HSM que descargó. C:\\Windows\System32.

    Nota: Si no se copia el archivo SafeNetKSP.dll, no se podrá acceder a los proveedores de almacenamiento de claves de SafeNet durante la integración. Por ejemplo, si se configuran los Servicios de certificados de Microsoft Active Directory, los proveedores de almacenamiento de claves de SafeNet no estarán disponibles al configurar la criptografía para la CA.

  • Ejecute KspConfig.exe
  • Navegue hasta el directorio de instalación de KSP.
  • Haga doble clic en Registrarse o ver la biblioteca de seguridad.
  • Haga clic en Explorar. Seleccione la pestaña cryptoki.dll archivo del cliente de servicio Luna Cloud HSM.

    Haga clic en Registro.

    Seleccionar archivo Cryptoki
  • Tras el registro exitoso, un Éxito! Se muestra el mensaje. Haga clic DE ACUERDO.

    Registro exitoso de KSP
  • Haga doble clic en Registrar ranuras HSM.
  • Registre el HSM para el usuario administrador. Para ello, abra el Registrarse como usuario menú desplegable y seleccione Administrador; abra el Dominio Menú desplegable y seleccione su dominio. Abra el Ranuras disponibles Menú desplegable, seleccione la etiqueta del servicio, Ingrese el Contraseña de ranuray haga clic Ranura de registro.

    Registro de HSM para usuario administrador
  • Tras el registro exitoso, un Éxito! Se muestra el mensaje. Haga clic OK.

    Registro de administrador exitoso de HSM
  • Registre el HSM para el usuario del sistema. Abra el menú desplegable "Registrar para usuario" y seleccione "SISTEMA", el menú desplegable "Dominio" y "NT AUTHORITY". Abra el menú desplegable "Ranuras disponibles", seleccione la etiqueta de servicio, introduzca la contraseña de la ranura y haga clic en "Registrar ranura".

    Registrar HSM para el usuario del sistema
  • Tras el registro, aparecerá el mensaje "¡Éxito!". Haga clic en Aceptar.

    Registro exitoso del usuario del sistema en HSM

Generando el CSR en el Cliente de Servicio

  • Crea un archivo llamado solicitud.inf y rellénelo con los siguientes detalles para generar una solicitud de un certificado SSL conectado a un RSA Clave. El contenido es:

    [Version]
    Signature = "$Windows NT$"
    [NewRequest]
    Subject = "C=US, S=Dallas, L=Texas, O=Encryption Consulting LLC, OU=Dev, [email protected], CN=ECIssued"
    HashAlgorithm = SHA256
    KeyAlgorithm = RSA
    KeyLength =2048
    ProviderName = "Safenet Key Storage Provider"
    KeyUsage = 0xf0
    MachineKeySet =True
    [EnhancedKeyUsageExtension]
    OID=1.3.6.1.5.5.7.3.

    Archivo para generar solicitud de certificado SSL

    Nota: El nombre común del sujeto (CN) se elige arbitrariamente para esta solicitud y está sujeto a cambios.

    Los parámetros son:

    • Firma

      “$Windows NT$” especifica que el archivo INF está destinado a usarse con Windows NT y versiones posteriores de Windows.

    • Asunto

      • C - Define el nombre de país de dos letras para el nombre distinguido del sujeto (DN) de la solicitud de certificado. Este parámetro debe estar presente en el DN del sujeto.
      • S - Define el nombre de estado para el nombre distinguido del sujeto (DN) de la solicitud de certificado. Este parámetro debe estar presente en el DN del sujeto.
      • L - Define la localidad (normalmente la ciudad) del nombre distinguido del sujeto de la solicitud de certificado. Este parámetro puede estar presente en el DN del sujeto.
      • O - Define el nombre de la organización para el nombre distinguido del sujeto (DN) de la solicitud de certificado. Este parámetro debe estar presente en el DN del sujeto.
      • OU – Define el nombre de la unidad organizativa para el nombre distinguido del sujeto (DN) de la solicitud de certificado. Este parámetro puede estar presente en el DN del sujeto.
      • y - es la dirección de correo electrónico oficial o de contacto de la autoridad certificadora.
      • CN- Define el nombre común del nombre distinguido del sujeto (DN) de la solicitud de certificado. Este parámetro debe estar presente en el DN del sujeto.
    • Algoritmo hash

      SHA256 establece el algoritmo hash en SHA256, una opción estándar y segura.

    • Algoritmo clave

      RSA establece el algoritmo de clave en RSA, un algoritmo de clave pública ampliamente utilizado.

    • Longitud de clave

      2048 establece la longitud de la clave en 2048 bits. Este es el estándar actual de la industria para claves RSA.

    • Nombre del proveedor

      Proveedor de almacenamiento de claves SafeNet Indica el Proveedor de Servicios Criptográficos (CSP) que se utilizará. El CSP es una biblioteca de software que implementa funciones criptográficas. En este caso, se utiliza el Proveedor de Almacenamiento de Claves SafeNet.

    • Uso de clave

      0xf0 especifica el propósito de la clave en el certificado. El valor 0xf0 en hexadecimal corresponde al valor binario 11110000, que representa los usos de las claves de Firma Digital (0x80), Cifrado de Clave (0x20), Cifrado de Datos (0x10) y Acuerdo de Clave (0x08).

    • Conjunto de claves de máquina

      Verdadero indica que la clave privada se almacena en el almacén de certificados de la computadora local, no en el del usuario actual.

    • Extensión de uso de clave mejorada

      OID=1.3.6.1.5.5.7.3.1 es un Identificador de Objeto (OID) que especifica el uso del certificado. El OID 1.3.6.1.5.5.7.3.1 representa "Autenticación de Servidor", lo que significa que el certificado está diseñado para autenticar servidores en comunicaciones SSL/TLS.

  • Abra una nueva ventana del símbolo del sistema como administrador. Puede hacerlo buscando "cmd" en el menú Inicio, haciendo clic derecho en el Símbolo del sistema y seleccionando "Ejecutar como administrador".
  • Navegue hasta la ruta donde se encuentra request.inf y presione Enter.
  • Ahora, genere la solicitud de certificado con el siguiente comando:

    certreq -new request.inf request.req

    Generar solicitud de certificado

    Este comando creará un nuevo archivo de Solicitud de Firma de Certificado (CSR) llamado `request.req`, basado en la configuración de su archivo `request.inf`. Puede enviar este archivo CSR a una Autoridad de Certificación (CA) para su certificado SSL.

Servicios de implementación para soluciones de gestión de claves

Brindamos servicios de implementación personalizados de soluciones de protección de datos que se alinean con las necesidades de su organización.

Firmar el CSR utilizando Microsoft CA

Hay dos formas diferentes de firmar un CSR:

Aceptando solicitud de certificado

  • Transfiera el archivo CSR a la CA emisora ​​y ejecute el comando:

    certreq -submit -attrib "CertificateTemplate:<Template Name>" "C:\MacroSign.csr"

    Aquí, Nombre de la plantilla = “EncryptionConsuCodeSigning”

    Lista de autoridades de certificación
  • Después de seleccionar el Autoridad certificada Desde la lista de autoridades de certificación, guarde el certificado con un nombre apropiado (p. ej., ECMacro, la extensión debe ser .crt o .cer).

    Guardar certificado
  • Tras la ejecución exitosa, encontrará el Certificado dentro de Certificados Emitidos en autoridad de certificación

    Certificados emitidos
  • Comprueba si “Firma de código” está dentro del atributo Uso mejorado de claves del certificado recién generado.

    La firma de código de verificación se encuentra dentro del uso mejorado de clave de atributo

Inscripción vía web

  • Las plantillas disponibles en la Autoridad de Certificación

    Plantillas disponibles en la autoridad de certificación
  • Ahora, realice la inscripción web después de seleccionar una plantilla: “Firma de código”. (en nuestro caso, https://ca02.encon.com/certsrv/)

    Realizar inscripción web
  • Después de seleccionar Solicite un certificadoAparecerá esta pantalla. Seleccione Solicitud de certificado avanzada. (En nuestro caso – https://ca02.encon.com/certsrv/certrqus.asp)

    Solicitar certificado
  • Pegue el contenido del CSR dentro Solicitud guardada y seleccione Firma de código en el Plantilla de certificado. Después de eso, haga clic en Enviar Formulario.

    Completar parámetros en la plantilla de certificado
  • Esto le solicitará dos opciones: Descarga el certificado en formato PDF y Descargar cadena de certificadosElija la última opción y descargue la cadena a su sistema local.

    Descargar cadena de certificados
  • Esto es lo que Cadena de certificados se vera como.

    Cadena de certificados

Agregar la clave privada al certificado

  • Aceptar e instalar el certificado para estar disponible dentro del entorno Windows.

    Aceptar e instalar el certificado
  • A continuación, agregue el certificado a la sección “Certificados Personales” de Certificados – Equipo local usando el comando –

    certutil -store MY “<thumbprint of the certificate>”

    Agregar certificado a Certificados Personales

Localización de averías

  • Para consultar la lista de plantillas de CA presentes dentro de la CA emisora:

    certutil -CATemplates

    Para consultar la lista de plantillas de CA
  • Si la clave privada no está adjunta al certificado, pruebe este comando “repairstore”

    Adjuntar clave privada al certificado
  • Registro CSP/KSP está fallando en Windows.

    Los registros de CSP/KSP pueden fallar si falta Windows Update, ya que incluye un paso que verifica que las DLL estén firmadas por el certificado de Thales que se vincula a la raíz de confianza G4 de DigiCert (en cumplimiento con los estándares de seguridad de la industria).

    Este paso solo se puede realizar correctamente si su sistema operativo Windows cuenta con el certificado necesario. Si su sistema operativo Windows está actualizado, ya debería tener dicho certificado.

    Si su host de cliente Luna HSM está conectado a Internet, utilice los siguientes comandos para actualizar el certificado manualmente:

    certutil -urlcache -f http://cacerts.digicert.com/DigiCertTrustedRootG4.crt DigiCertTrustedRootG4.crt
    certutil -addstore -f root DigiCertTrustedRootG4.crt

    Para actualizar manualmente un host no conectado

    • Descargue DigiCert Trusted Root G4 (http://cacerts.digicert.com/DigiCertTrustedRootG4.crt DigiCertTrustedRootG4.crt) a una computadora separada conectada a Internet.
    • Transporte el certificado, utilizando sus medios aprobados, al host del cliente Luna en un ubicación de su elección
    • Agregue el certificado al almacén de certificados mediante el comando:

      certutil -addstore -f root <downloaded cert path>

  • Si Asunto Si la solicitud del certificado no se muestra en el certificado, intente los siguientes pasos.

    • Abra la Consola de plantillas de certificado: en el servidor AD CS, abra la Consola de plantillas de certificado ejecutando `certtmpl.msc` desde el cuadro de diálogo Ejecutar (Win + R).
    • Duplicar una plantilla existente: Generalmente, es mejor duplicar una plantilla existente que modificarla. Busca una plantilla similar a la que buscas, haz clic derecho sobre ella y selecciona "Duplicar plantilla".
    • Configurar la plantilla: En el cuadro de diálogo de propiedades de la nueva plantilla, puede configurar varios ajustes. Para configurar los campos Uso de clave y Uso mejorado de clave:

      Uso de la clave: Vaya a la pestaña "Extensiones", seleccione "Uso de clave" en la lista y haga clic en "Editar". Aquí puede seleccionar los usos de clave que desea incluir, como "Firma digital", "Cifrado de clave", etc.

      Uso mejorado de la clave: Aún en la pestaña "Extensiones", seleccione "Políticas de aplicación" y haga clic en "Editar". Aquí puede agregar los usos de clave mejorados que desea incluir, como "Firma de código", "Autenticación de servidor", etc.

    • Guardar la plantilla: Una vez que hayas configurado la plantilla a tu gusto, asígnale un nombre y guárdala.
    • Emitir la plantilla: La nueva plantilla ya está disponible, pero debe emitirse antes de poder usarse. En la consola de la entidad de certificación (`certsrv.msc`), haga clic con el botón derecho en `Plantillas de certificado`, seleccione `Nuevo`, luego `Plantilla de certificado para emitir` y seleccione la nueva plantilla.

    Para solicitar un certificado mediante esta plantilla, debe incluir los campos Uso de clave y Uso de clave mejorado tal como los ha configurado.

Servicios de implementación para soluciones de gestión de claves

Brindamos servicios de implementación personalizados de soluciones de protección de datos que se alinean con las necesidades de su organización.

Conclusión

Una vez generado, el CSR puede utilizarse para solicitar un certificado SSL a una autoridad de certificación. La CA utilizará los datos del CSR para generar el certificado, garantizando así la seguridad de su sitio web y la transmisión segura de información.

Aunque los procedimientos y protocolos puedan parecer complejos, usar un certificado SSL para proteger su sitio web es esencial para ganarse la confianza de los visitantes y proteger la información crítica. Un CSR es esencial para garantizar que se incluyan los datos correctos en su certificado SSL.