Arrancando certificados SMIME duales para la firma y el cifrado?

1

Para mantener la propiedad de no rechazo de firmar mientras aún tiene el depósito de la clave de cifrado, se recomienda tener certificados separados (y claves de pub-priv) para la firma (por ejemplo, CertSign ) y el cifrado (por ejemplo, CertEnc ).

Suponiendo que cierta Alice con Alice-CertSign y Alice-CertEnc , desde una perspectiva práctica (clientes de correo modernos), ¿cómo se distribuyen esos dos certificados a Bob, Charlie, David, etc. para que puedan verificar los mensajes de Alice y enviarlos cifrados? mensajes?

Si Alice envía un mensaje en blanco a la gente, ¿su cliente de correo electrónico enviaría un concat de Alice-CertSign y Alice-CertEnc como archivo adjunto? ¿Hay algún estándar de facto o de jure en este problema de arranque?

La conducción de esta curiosidad es un experimento de certificado único que acabo de realizar a través de Comodo's Certificados SMIME gratuitos. Realiza la firma y el cifrado en un solo certificado con el bit de no repudio NO establecido (no estoy seguro si mantienen una copia ... "detrás"). En iOS6 que envía ese certificado único, así como una firma dentro del archivo adjunto smime.p7s (que no pude ejecutar a través de openssl cms... - openssl pkcs7 ... solo vuelca certificados).

    
pregunta DeepSpace101 21.08.2013 - 21:16
fuente

1 respuesta

1

El estándar de jure es RFC 5751 . En particular, consulte sección 2.5.3 : entre los atributos que se pueden adjuntar a una firma ( a SignerInfo ) es uno llamado "SMIMEEncryptionKeyPreference" que identifica el certificado que el remitente desea que la gente use cuando le envíen respuestas cifradas. Se supone que el certificado se incluirá en el CertificateSet adjunto al objeto SignedData .

Más allá de la jerga ASN.1, esto significa que el arranque funciona así: el usuario A envía al usuario B un correo electrónico firmado ; La firma no solo autentica el correo electrónico en sí, sino que incluye un conjunto de atributos que le dan a B información suficiente para enviar una respuesta cifrada a A, en particular el certificado de cifrado de A, y una designación inequívoca del certificado específico. para usar para el cifrado, en caso de que el contenido del certificado no sea suficiente (por ejemplo, si el usuario A tiene un certificado con una extensión Key Usage que lo marca como "solo firma", y otro certificado que está marcado como "solo cifrado", entonces casi no hay ambigüedad).

Si esto funcionará bien con el software MUA existente es otra pregunta, que solo puede responderse mediante pruebas.

    
respondido por el Thomas Pornin 21.08.2013 - 21:44
fuente

Lea otras preguntas en las etiquetas