Verificación del cliente con PKCS # 7

1

Cuando un cliente le envía un archivo pkcs # 7 para comunicarse con usted, ¿esto se debe a que el archivo tiene su clave pública (certificado) y su cadena y para evitar la confusión de su lado, qué debe haber en su almacén de confianza?

Nota: el certificado es un certificado emitido internamente por el cliente.

En otros casos, otros clientes externos simplemente envían su certificado (emitido por una conocida CA) y nos piden que lo importemos.

    
pregunta ObiWanKenobi 03.03.2016 - 12:06
fuente

2 respuestas

0

Un certificado es una cosa que se supone que debe ser validada , un proceso complicado por el cual el certificado se coloca al final de una cadena de certificados , que comienza con una CA raíz, va de CA a sub-CA y finaliza con el certificado que le interesa (a menudo llamado "entidad final"). La firma en cada certificado debe verificarse con la clave pública del certificado anterior en la cadena.

La CA raíz que ya tienes (ese es el punto de la CA raíz: esto es con lo que empiezas). Para una validación adecuada, debe obtener todos los demás certificados para construir una cadena. En algunos protocolos, existe la posibilidad de enviar certificados de CA no raíz junto con la entidad final (por ejemplo, un servidor SSL / TLS no envía solo su certificado al cliente, sino una cadena completa). Si el protocolo en cuestión no proporciona esa característica, entonces el sistema que debe validar el certificado deberá obtener la CA no root de alguna otra manera. A veces, se pueden descargar, siguiendo la URL que se encuentra en los certificados ( extensión Acceso a la información de la autoridad ), pero esto requiere que los certificados se hayan colocado en servidores accesibles remotamente con toda la URL adecuada en su lugar.

Pero, en general, se considera cortés para enviar una CA que no sea la raíz cada vez que transmita el certificado. Esto solo puede hacer que las operaciones sean más fáciles.

El formato PKCS # 7 (ahora denominado CMS ) es un formato genérico para archivos cifrados y / o firmados. Sucede que cuando usa la opción "firmada", incluye un campo de encabezado opcional para almacenar "certificados adicionales" que pueden ser útiles para cualquiera que intente verificar las firmas. Por lo tanto, se volvió tradicional utilizar (ab) este formato en una "bolsa de certificados": se trata de un archivo CMS, firmado, sin contenido y sin firma, pero con el campo "certificado extra" que contiene los certificados (sin orden) . Esto suele denominarse "certificado PKCS # 7" y a los sistemas Windows les gusta llamarlo "archivo .P7B".

Lo que debería estar en su almacén de confianza es la CA raíz, y nada más, por definición. La CA no raíz se le transmite para que a su máquina le resulte fácil construir la cadena. Una característica muy buena de los certificados es que están firmados : por lo tanto, la forma en que los obtenga es irrelevante para la seguridad; lo que importa es si la firma coincide.

    
respondido por el Tom Leek 03.03.2016 - 14:25
fuente
1

Lo que debe estar en su almacén de confianza es un certificado en el que confíe para esta comunicación específica . Es posible que desee utilizar también una o más conexiones CRL u OCSP.

Básicamente, usted está tratando de construir una cadena de certificados para un certificado de confianza, mientras que la validación de todos los certificados en la cadena. Por lo tanto, esos certificados deben tener fechas correctas, no deben revocarse y, por supuesto, deben verificarse con el certificado del emisor.

La validación con una CA conocida es excelente, pero tenga en cuenta que no desea verificar un mensaje enviado por cualquiera de las partes que tiene un certificado por una CA conocida. Cualquiera puede obtener uno de esos.

Por lo tanto, es posible que desee verificar explícitamente el campo del asunto, usar el anclaje de certificados o algo único de lo contrario al verificar la firma.

La cantidad de certificados que se entregan dentro del CMS PKCS # 7 puede variar. Solo se utilizan para crear una cadena a un certificado de confianza.

Por lo tanto, en su caso, es posible que desee establecer la confianza para el certificado de CA al que se le ha asignado la tarea de proteger este mensaje en particular (que supongo que está firmado). Esta es una acción fuera de banda (es decir, es posible que necesite levantar el teléfono para verificar la huella digital del certificado). Si no hay una CA específica para esta tarea, puede colocar el certificado de hoja en el almacén de confianza.

    
respondido por el Maarten Bodewes 03.03.2016 - 13:45
fuente

Lea otras preguntas en las etiquetas