Compartir a través de


Conceptos de sintaxis de mensajería criptográfica PKCS #7

Las funciones de mensaje CryptoAPI se adhieren al estándar Sintaxis de mensajes criptográficos (CMS) de PKCS #7. Los desarrolladores deben estar familiarizados con esta especificación para usar de forma más eficaz las funciones de mensaje de bajo nivel. Aquí se resaltan algunas de sus definiciones.

El estándar PKCS #7 describe una sintaxis general para los datos que pueden tener criptografía aplicada, como firmas digitales y sobres digitales. La sintaxis admite recursividad, de modo que, por ejemplo, un sobre se pueda anidar dentro de otro, o una parte pueda firmar datos digitales que ya se han colocado en un sobre. También permite autenticar atributos arbitrarios, como la hora de firma, junto con el contenido de un mensaje. Además, proporciona otros atributos, como contrafirmas, que se asociarán a una firma.

El tipo de datos contenidos en un mensaje PKCS #7 se denomina su tipo de contenido. Hay dos clases de tipos de contenido: Base y Mejorado.

  • Los tipos de contenido base solo contienen datos sin mejoras criptográficas. Actualmente solo hay un tipo de contenido en esta clase, el tipo de contenido de datos.
  • Los tipos de contenido mejorados contienen datos de algún tipo (posiblemente cifrados) y otras mejoras criptográficas (como hashes o firmas).

El contenido de la clase mejorada emplea encapsulación, lo que da lugar a los términos contenido externo (el que contiene las mejoras) y el contenido interno (el que se mejora). Por ejemplo, una clase mejorada podría contener el tipo de contenido de datos (clase base) que tiene una firma incluida. En este caso, el tipo de contenido de datos es el contenido interno y la combinación del tipo de contenido de datos y la firma forma el contenido externo.

Los tipos de contenido definidos en el estándar PKCS #7 son los siguientes.

Tipo de contenido Descripción
Data Cadena de octetos (BYTE).
Datos firmados Contenido de cualquier tipo y hashes de mensajes cifrados (resúmenes) del contenido para cero o más firmantes.
Datos en sobres Contenido cifrado de cualquier tipo y claves de cifrado de contenido cifradas para uno o varios destinatarios. La combinación de contenido cifrado y clave de cifrado de contenido cifrada para un destinatario es un sobre digital para ese destinatario.
Datos firmados y en sobre Contenido cifrado de cualquier tipo, claves de cifrado de contenido cifradas para uno o varios destinatarios, y resúmenes de mensajes cifrados doblemente para uno o varios firmantes. El cifrado doble consta de un cifrado con la clave privada de un firmante seguido de un cifrado con la clave de cifrado de contenido.
Datos resumidos Contenido de cualquier tipo y un hash de mensaje (resumen) del contenido.
Datos cifrados Contenido cifrado de cualquier tipo. A diferencia del tipo de contenido de datos en sobres, el tipo de contenido de datos cifrados no tiene destinatarios ni claves cifradas de cifrado de contenido. Se supone que las claves se administran por otros medios.

 

Nota:

En la especificación PKCS #7, los términos resumen y resumido hacen referencia al valor generado a partir de aplicar un algoritmo hash a los datos. En esta documentación se usan los términos hash y con hash para el mismo propósito. Por ejemplo, el tipo de datos usado con las funciones de mensaje de bajo nivel se denomina hash en lugar de resumido. Para los fines de esta documentación, los dos conjuntos de términos se pueden usar indistintamente.