Gestión de las ECA de C-ITS
EMPRESA Esta es una característica de EJBCA Enterprise.
A continuación se describen las funciones clave de C-ITS PKI en EJBCA y cómo configurar y gestionar operaciones de C-ITS en EJBCA para permitir una comunicación segura de vehículo a todo (V2X) para los sistemas de transporte inteligente cooperativo (C-ITS).
Para obtener una descripción general de la arquitectura, los conceptos y la estructura del certificado C-ITS PKI de C-ITS, consulte Descripción general de C-ITS ECA .
PKI de C-ITS en EJBCA
EJBCA permite crear una Autoridad de Inscripción (EA) en una PKI C-ITS, registrar entidades ITS y emitir credenciales de inscripción. A continuación, se describen las cuatro funciones clave de la PKI C-ITS implementadas por EJBCA.
Para obtener una descripción general de la arquitectura PKI de C-ITS y los actores involucrados, consulte Descripción general de C-ITS ECA .
Creación de Autoridad de Inscripción: EJBCA permite la creación de un EA. Sin embargo, el certificado del EA debe estar firmado por una CA raíz externa, lo cual se realiza fuera de banda. Durante la creación del EA, se genera un CSR firmado e imprimible, disponible como archivo binario codificado en OER para su descarga.
Registro de ITS-S: El ETSI indica que el EA debe conocer el ITS-S en términos de un canonicalId globalmente único y una clave pública canónica. La definición de este procedimiento queda fuera del alcance del ETSI y del IEEE 1609.2. En EJBCA, esto se denomina registro y se realiza a través de los puntos finales de la interfaz REST, denominados "Interfaz de Gestión" en la descripción general a continuación.
Emisión de la Credencial de Registro: ITS-S contacta con el EA a través de la red para obtener una Credencial de Certificado (EC). El fabricante configura la dirección de red o URL en ITS-S. La solicitud de registro se cifra con la clave pública del EA y se firma con la clave pública canónica durante el registro inicial, y posteriormente se firma con la clave de verificación de la credencial actualmente registrada. EJBCA valida diversas restricciones impuestas por el perfil del certificado y los detalles registrados por el fabricante antes de emitir la credencial. Esto se realiza mediante el protocolo HTTP con TLS.
Autorización/Validación: El ITS-S contacta a AA con una solicitud de autorización y, a continuación, AA contacta a EA para validar la solicitud. En EJBCA, esto se realiza mediante el protocolo HTTP con TLS. El certificado de AA debe importarse previamente a EJBCA y la entidad final debe tener un certificado de certificación (EC) válido.
Operaciones de C-ITS en EJBCA
Las siguientes secciones proporcionan instrucciones paso a paso sobre cómo realizar operaciones C-ITS en EJBCA.
Prerrequisitos
Antes de comenzar, EJBCA debe implementarse en un servidor WildFly local como CA, consulte Implementación de EJBCA .
Crear y configurar una autoridad de certificación de inscripción (ECA)
La configuración de la autoridad de certificación de inscripción (ECA) en EJBCA implica los tres pasos siguientes:
El certificado del EA debe estar firmado por una CA raíz externa, lo cual se realiza fuera de banda. Durante la creación de la ECA, se genera una CSR firmada e imprimible, disponible como archivo binario codificado en OER para su descarga. La solicitud de certificado de CA debe estar firmada por una CA raíz externa y luego importarse a EJBCA para que el EA pueda emitir credenciales de inscripción (EC).
Crear perfil de certificado ITS
Para crear un perfil de certificado ITS, haga lo siguiente:
Haga clic en Perfiles de certificado en Funciones de CA para abrir la página Administrar perfiles de certificado .
Para agregar el nuevo perfil de certificado, especifique un nombre para el perfil en la fila inferior y haga clic en Agregar .
Busque su nuevo perfil de certificado en la lista y haga clic en Editar .
Edite la configuración de acuerdo con lo siguiente:
Como Tipo para el perfil, seleccione ITS .
En el campo Validez o fecha de finalización del certificado , introduzca la validez máxima del certificado ITS-S o EC, por ejemplo 2y 5h .
Seleccione los permisos de aplicación relevantes que se considerarán cuando se utilice un certificado para ciertas aplicaciones C-ITS, como el envío de mensajes cooperativos.
Seleccione los permisos de emisión de certificados relevantes para restringir qué certificados puede emitir la CA.

Haga clic en Guardar para guardar la configuración y ver el nuevo perfil de certificado en la lista.
Crear ECA
Para crear la Autoridad de Certificación de Inscripción (ECA), haga lo siguiente:
Haga clic en la opción de menú Autoridades de certificación en Funciones de CA para abrir la página Administrar autoridades de certificación .
En el campo Agregar CA , ingrese un nombre para la CA y haga clic en Crear .
En la página Crear CA, especifique lo siguiente:
Como tipo de CA, seleccione ECA.
Si no se selecciona ningún token criptográfico , se generará un token suave basado en el algoritmo de firma. Por ejemplo, NIST P256 para SHA256 con ECDSA y Brainpool384r1 para SHA384 con ECDSA.
En Datos del certificado C-ITS, especifique lo siguiente:
El Id. del certificado debe ser único a nivel global (no solo en EJBCA) y se incluirá en la CSR y, por lo tanto, en el certificado.
Seleccione el perfil de certificado recién creado.
Especifique el período de validez.
Opcionalmente, indique en qué región geográfica es válido el certificado en el apartado Seleccionar regiones geográficas ITS :
Seleccione un tipo, haga clic en Agregar e introduzca la región en el formato especificado en el campo de texto. EJBCA admite países europeos circulares, rectangulares e identificados. Una región circular no es una secuencia como las demás regiones, y se pueden agregar varias entradas haciendo clic en Agregar. Para eliminar una entrada, seleccione Eliminar y haga clic en Vista previa y eliminar la selección .
A continuación, haga clic en "Solicitar certificado" para crear la solicitud de firma de certificado (CSR) firmada. La CSR se crea según ETSI 102 941 (sección 6.2.1).

Descargue el CSR firmado haciendo clic en Descargar archivo binario .

Haga clic en Crear en la parte inferior de la página para finalizar la CA.
La ECA creada ahora se muestra en la Lista de autoridades de certificación en la página Administrar autoridades de certificación .
Para continuar al siguiente paso, la solicitud de Certificado CA debe estar firmada por una RCA externa.
Importar certificado de CA
Seleccione la opción de menú Funciones de CA > Autoridades de certificación y haga clic en Editar CA de la CA que creó en la sección Crear ECA .
Desplácese hasta la parte inferior de la página de propiedades de CA.
En la sección Creación/renovación de CA firmada externamente :
En la sección Paso 2: Importar certificado , haga clic en Examinar para seleccionar el archivo de certificado firmado.
Haga clic en Recibir respuesta de certificado para importar el certificado de CA firmado externamente y activar la CA.

Una vez cargado el certificado, puede inspeccionarlo en la página Editar CA :

El hash del certificado muestra el identificador de la CA, HashedId8. Son los últimos 16 caracteres (extremo derecho), es decir, 8 bytes.
La hora de vencimiento muestra la fecha y hora de vencimiento.
Para renovar el certificado de CA, cree otra CSR haciendo clic en "Solicitar certificado" para generar automáticamente un nuevo par de claves para cifrado y verificación. A continuación, importe dicho certificado siguiendo los pasos anteriores. Al cargar el certificado posteriormente siguiendo los pasos anteriores, se renovará automáticamente el certificado de CA.
Tenga en cuenta que, en el certificado cargado, se validan el ID del certificado y las claves públicas (tanto las de cifrado como las de verificación). Esto permite que la CA raíz establezca permisos de aplicación y permisos de certificado diferentes a los solicitados. Los permisos actualizados no se muestran en la interfaz de usuario.
Certificado AA de importación
Es necesario importar el certificado AA para permitir que se verifique la solicitud de validación de autorización de la AA.
La importación del certificado AA es necesaria para la autorización/validación en el paso Inscripción y Validación de Autorización .
Para importar el certificado AA:
Haga clic en la opción de menú Autoridades de certificación en Funciones de CA para abrir la página Administrar autoridades de certificación .
Haga clic en Importar certificado CA.
Especifique un nombre único para la CA y haga clic en Elegir archivo para cargar el archivo OER que contiene el certificado.
Haga clic en Importar certificado CA.

La CA aparece en la página Administrar autoridades de certificación y se puede ver haciendo clic en Editar CA.

Registrar entidad final ITS-S
El operador o fabricante registra una entidad terminal de estación ITS (ITS-S). Se crea un conjunto de puntos finales REST para gestionar estas entidades.
A continuación, se describe cómo habilitar los puntos finales ITS en EJBCA y acceder a la interfaz REST ITS de EJBCA en Swagger en modo no productivo. Para obtener más información sobre la API REST de administración de certificados EJBCA, consulte Interfaz REST de EJBCA .
Habilitar puntos finales ITS
Para habilitar los puntos finales ITS REST:
Haga clic en Configuración del sistema EJBCA y seleccione la pestaña Configuración del protocolo .
Habilitar el protocolo de gestión de certificados ITS .

La habilitación del protocolo de gestión de certificados ITS permite la gestión de entidades finales y las operaciones descritas en ETSI 102 941, como la inscripción o la validación de autorización.
A continuación, cree un perfil de entidad final y luego registre su primer ITS-S.
Crear perfil de entidad final
Haga clic en Editar perfiles de entidad final en Funciones de RA .
En el campo Agregar perfil , especifique un nombre para su perfil de entidad final y haga clic en Agregar .
Busque el nuevo perfil de entidad final en la Lista de perfiles de entidad final y haga clic en Editar .
Edite la configuración de acuerdo con lo siguiente:
Habilitar generación por lotes (almacenamiento de contraseña en texto sin formato) .
En la sección Atributos DN del sujeto , desactive la opción Obligatorio para CN, Nombre común .

En la sección Datos del certificado principal , seleccione el perfil de certificado que creó anteriormente o cree otro perfil de certificado similar del tipo ITS a partir de las opciones de selección múltiple en Perfiles de certificado disponibles .
Seleccione el mismo perfil de certificado en la lista Perfil de certificado predeterminado .
Haga lo mismo para las CA y seleccione CA disponibles y luego actualice la CA predeterminada .

Desplácese hasta la parte inferior de la página y haga clic en Guardar .
Registrar ITS-S y obtener datos registrados
Según las especificaciones de ETSI, el EA debe conocer el ITS-S en términos de un ID canónico globalmente único y una clave pública canónica. En EJBCA, esto se denomina registro y se realiza mediante endpoints REST.
Acceda a la interfaz ITS REST de EJBCA mediante Swagger
Los siguientes ejemplos utilizan Swagger para interactuar con los endpoints REST. Tenga en cuenta que esto solo está disponible en EJBCA en modo no productivo. Cualquier cliente REST puede utilizarse para realizar las mismas operaciones. Para acceder a la interfaz REST ITS de EJBCA mediante Swagger, siga estos pasos:
En la lista Seleccionar una especificación , seleccione ITS .

Registrar entidad final ITS-S
Siga estos pasos para registrar la Entidad Final ITS-S:
La ITS-S (entidad final) debe tener un nombre único, de ahí el ID canónico (canonicalId).
Cree un nuevo par de claves ECC (Criptografía de Curva Elíptica). La clave pública se usará para el registro y la clave privada para firmar la primera solicitud de inscripción. Genere el par de claves con los siguientes comandos de OpenSSL:
openssl ecparam -name prime256v1 -genkey -noout -out canonical_key.pemopenssl ec -in key.pem -pubout -out canonical_public_key.pemLa solicitud de registro ITS-S incluye los siguientes parámetros. Para descargar un ejemplo de archivo de texto de solicitud, haga clic en register_request.txt .
canonicalId: un nombre único para el ITS-S (entidad final) conocido como ID canónico.
canonicalPublicKey: utilice la clave pública (canonical_public_key.pem) y asegúrese de eliminar los parámetros de nueva línea.
caName: utilice el nombre de CA creado anteriormente.
certificateProfileName: utilice el nombre del perfil de certificado creado anteriormente.
endEntityProfileName: utilice el nombre del perfil de entidad final creado anteriormente.
Región: La región geográfica es opcional. La región se puede expresar como una cadena en los siguientes formatos:
rectángulo:12,23,34,56;78,90,76,65;
circular:123,56,125
identificado: país: Dinamarca; región_país: Bélgica, 123, 45, 34;
NivelDeAseguramiento: Opcional. El valor del parámetro NivelDeAseguramiento es un entero positivo menor que 256 como parámetro de cadena.

Al registrarse exitosamente se genera una respuesta 200.
Obtener datos registrados
Siga estos pasos para buscar la entidad final ITS-S utilizando el ID canónico y ver los datos ITS registrados.
En la interfaz REST ITS de Swagger EJBCA, seleccione GET para buscar el punto final ITS:

Utilice canonicalId para buscar o ver el ITS registrado:

Los puntos finales ITS REST también se pueden usar para editar, revocar o eliminar una entidad final utilizando canonicalId como parámetro its_name o its_canonicalId .

Tenga en cuenta que solo se pueden editar los parámetros de región, validez y nivel de garantía de la entidad final ITS.
Validación de Inscripción y Autorización
El registro de una entidad final y la validación de la autorización se implementan según ETSI 102 941 (secciones 6.2.3.2 y 6.2.3.3). Ambos aceptan solicitudes en formato binario con el tipo de contenido: application/x-its-request y responden con el tipo de contenido: application/x-its-response. Se utilizan los siguientes puntos finales:
Inscripción: https://localhost:8443/ejbca/its/etsi/v1/certificate/{ecaCertificateId}/enroll
Validación de autorización: https://localhost:8443/ejbca/its/etsi/v1/certificate/{ecaCertificateId}/validate
donde ecaCertificateId es un ECA.
El certificado AA debe importarse antes de la validación de la autorización, consulte Importar certificado AA .
Durante la inscripción, se realizan las siguientes validaciones basadas en requiredSubjectAttributes( CertificateSubjectAttributes) :
La fecha de vencimiento solicitada es:
Antes de la fecha de vencimiento del ECA
Menor que la fecha de validez o finalización configurada en el Perfil del certificado.
Menor o igual a cuando se compara con los datos ITS registrados que codifican la validez pero no la fecha de vencimiento.
El nivel de garantía solicitado es el mismo que los datos registrados o no se menciona.
La región solicitada es un subconjunto de la región en el certificado ECA y los datos registrados.
El permiso de aplicación solicitado es un subconjunto de los permisos configurados en el perfil de certificado. Si no se menciona, todos los permisos de aplicación del perfil de certificado se utilizan con un SSP nulo, lo que significa que se utiliza el SSP predeterminado en el contexto de permisos específicos.
También se realizan validaciones similares para la validación de autorización.
Tenga en cuenta que las siguientes validaciones no se realizan actualmente:
Unicidad del certificado solicitado.
Unicidad de claves públicas entre ITS-S.
Actualización de claves públicas durante la reinscripción.
SSP solicitado por ITS-S en la aplicación permitidaSe utilizan permisos.
La función de reintento de EC tiene un tiempo de vencimiento de una hora y actualmente solo admite 5000 respuestas.
Contenido relacionado
Página: Descripción general de C-ITS ECA
Página: Gestión de las ECA de C-ITS
Página: Campos CA