Su argumento es válido, con Firmar & Encrypt , las 2 capas son independientes y esto le brinda a usted (como Bob) la capacidad de volver a cifrar el mensaje de Alice mientras la firma aún está en su lugar y se la reenviará a Carol.
Otra opción sería cifrar y luego firmar pero también existe una vulnerabilidad en este enfoque. Bob o cualquier oyente pueden eliminar la firma y agregar su propia firma. Sin saber el contenido del mensaje cifrado, puede hacerse pasar por el remitente del mensaje.
Hay numerosas discusiones sobre SE, así que no voy a entrar en ellas. por ejemplo: ¿Debemos firmar, luego encriptar, o encriptar? -hasta firmar?
La solución tiene que agregar un enlace entre la firma y la capa de encriptación porque la vulnerabilidad se encuentra en la brecha donde se encuentran estas dos capas independientes.
Y como dijiste, podríamos agregar la dirección del destinatario en la parte cifrada del mensaje.
En esta página (Signo defectuoso y cifrado en S / MIME,
PKCS # 7, MOSS, PEM, PGP y XML) en la sección 5, se proponen cinco opciones de reparación:
- Firme el nombre del destinatario en el texto simple
- Cifra el nombre del remitente en texto sin formato
- Incorporar ambos nombres
- Vuelva a firmar el mensaje encriptado y encriptado
- Cifra de nuevo el texto cifrado firmado.
Para soluciones de reparaciones de nombres:
Tal vez sea parte de la razón por la que el signo y el amp; El cifrado que parece seguro es que con muchos mensajes de carga útil comunes, S & E es seguro. Por ejemplo, incluso si Alice solo firma y cifra el texto '' Estimado Bob: El trato está cancelado. Lamentablemente, Alice, '' entonces el mensaje de Alice es seguro, aunque solo sea accidentalmente. La presencia de nombres bajo ambas capas criptográficas es crucial, pero incluir ambos nombres no es estrictamente necesario
Uso de firmar / cifrar / firmar:
Firma interna: "Alice escribió el texto en claro;"
Cifrado: "Solo Bob puede ver el texto sin formato;"
Firma externa: "Alicia usó la clave B para cifrar".
Uso de Encrypt / Sign / Encrypt:
Primer cifrado: "Sólo Bob ve el texto sin formato;"
Firma: "Alice escribió el texto en claro y el texto cifrado;"
Cifrado externo: "Solo Bob puede ver que Alice escribió el texto simple y el texto cifrado".
También puede encontrar el análisis de costo / beneficio en ese enlace, la reparación más simple es agregar la dirección del destinatario al texto sin formato y luego firmar y cifrar.
Regresando a su pregunta principal, parece que no hay una implementación estándar para que los clientes PGP agreguen / verifiquen la dirección de los destinatarios en el texto cifrado, por lo que se podría agregar y verificar manualmente la dirección en el cuerpo del mensaje.