Un artículo para comprender completamente el sistema de gestión de certificados blockchain de Ultrain de ULTRAIN Ago, 2020

Los nodos autorizados de la cadena de permisos forman una alianza para compartir y acceder a datos. El sistema PKI es un sistema completo y maduro para la auditoría de usuarios, la gestión de identidades y la protección de la privacidad. Ultrain define un conjunto de procesos de gestión de certificados de arriba hacia abajo para lograr la gestión de permisos y el control de acceso de los nodos de la cadena de licencias.

2.1 Sistema de certificado Ultrain

Ultrain utiliza un mecanismo de acceso orientado a CA para implementar la autenticación y la gestión dinámica basada en certificados de formato X.509. Según el escenario empresarial existente, el sistema de certificados se muestra en la Figura 2 e incluye los siguientes tipos de arriba a abajo: certificado raíz, certificado en cadena, certificado de nodo y certificado de usuario.

Certificado raíz: el certificado raíz es un certificado autofirmado, que es la raíz de todos los certificados, y el correspondiente archivo de clave privada es administrado conjuntamente por el comité de la alianza.

Certificado de cadena: en una arquitectura de cadena múltiple, una agencia de gestión de cadena única genera una clave privada de cadena y genera un archivo de solicitud chain.csr para enviar al comité de la alianza. Una vez que el comité de la alianza aprueba la revisión, se emite el certificado de cadena chain.crt.

Certificado de nodo: el certificado de nodo se emite mediante un certificado en cadena. El nodo genera y guarda su propio archivo de clave privada node.key, genera un archivo de solicitud node.csr y lo envía a la agencia de gestión de la cadena. Una vez que la agencia de gestión de la cadena pasa la verificación, emite un certificado de nodo node.crt. El certificado de nodo es el certificado de identidad del nodo. El nodo con el certificado de nodo puede establecer un enlace SSL con el nodo en la red blockchain para lograr una comunicación encriptada entre los nodos.

Certificado de usuario: el certificado de usuario lo emite el nodo que proporciona la interfaz de acceso en cadena. El usuario genera y guarda su propio archivo de clave privada sdk.key, genera un archivo de solicitud sdk.csr y lo envía a la organización de gestión de nodos a la que se debe acceder. Una vez que la organización de gestión de nodos pasa la verificación, se emite el certificado de usuario sdk.crt. El certificado de usuario es la credencial de identidad del cliente, y el cliente con el certificado de usuario puede acceder al puerto de enlace normalmente.

Ultrain proporciona un conjunto de procedimientos de gestión de emisión de solicitudes de certificados para facilitar la aplicación, verificación y emisión de certificados en todos los niveles.

2.2 Escenarios de uso de certificados y verificación

El certificado raíz es administrado conjuntamente por el Comité de Ultrain Alliance. En la actualidad, utiliza un certificado autofirmado. También se puede conectar a una agencia emisora ​​de certificados comerciales y utilizar un certificado emitido por una autoridad. Cuando la empresa necesita establecer una nueva cadena lateral, la agencia de gestión de la cadena lateral envía el archivo de solicitud de certificado y el comité de la alianza utiliza el certificado raíz para emitir el certificado de la cadena después de que el comité de la alianza aprueba la revisión; el certificado de la cadena es administrado por el comité de administración de la cadena y el comité de administración de la cadena recibe al miembro de la alianza para que se convierta en la operación. Los miembros de la alianza utilizan el certificado de nodo para acceder a la red de nodos de la cadena lateral antes de que puedan enviar y recibir información de consenso y transacciones normalmente. Si el nodo proporciona una interfaz de acceso a datos en cadena, se debe emitir un certificado de usuario al cliente para su uso; el cliente utiliza el certificado de usuario emitido por un nodo específico para acceder a la interfaz de datos proporcionada por el nodo para la lectura de datos, envío de transacciones, etc.

Verificación del certificado de nodo

Los certificados de nodo se utilizan al crear cadenas entre nodos. Una vez que se establece el enlace basado en la verificación del certificado, el nodo puede formar una red P2P, para lograr la difusión de la información del protocolo de consenso y la información de la transacción. La siguiente figura muestra el proceso de uso del certificado de nodo.

Cuando se inicia un nodo, llevar su propio certificado de nodo puede establecer un enlace seguro SSL con un nodo que también tiene el certificado de nodo. Cuando el certificado caduca y se manipula, no se puede agregar a la red P2P, por lo que los datos de la cadena no se pueden compartir ni propagar.

En el sistema de gestión de revocación de certificados (CRL) de Ultrain, la revocación del certificado es completada por la autoridad emisora ​​del certificado. Los nodos pueden obtener periódicamente la lista de CRL del CA Management Center. Los mensajes de latido entre nodos deben llevar sus propios certificados de nodo. Cuando el certificado de nodo no se incluye o el certificado se incluye en la lista de CRL, el extremo de detección de mensajes de latido eliminará activamente el enlace con el extremo detectado para lograr el control de gestión de acceso en tiempo real.

Verificación del certificado de usuario

Cuando el cliente accede al puerto de enlace proporcionado por el nodo, puede optar por verificar el certificado del nodo para verificar la identidad del nodo. En este caso, se debe utilizar una cadena de certificados compuesta por un certificado raíz y un certificado en cadena para verificar el certificado de nodo. Además, el cliente debe proporcionar el certificado de usuario al nodo. El servicio HTTPS del nodo verificará el certificado de usuario proporcionado por el cliente (utilizando el certificado raíz, el certificado de cadena y el certificado de nodo para formar la cadena de certificados para la verificación), y también verificará la lista de revocación de CRL, cuando se pase la verificación y el usuario El certificado no está en la lista de CRL, el enlace SSL se estableció correctamente para la comunicación normal; de lo contrario, el enlace no se puede establecer, lo que garantiza la seguridad de la comunicación entre el cliente y el nodo.