Il tuo argomento è valido, con Accedi e amp; Encrypt , i 2 livelli sono indipendenti e questo ti dà (come Bob) la possibilità di ricodificare il messaggio di Alice mentre la firma è ancora sul posto e inoltrarla a Carol.
Un'altra opzione potrebbe essere Encrypt then Sign ma esiste anche una vulnerabilità in questo approccio. Bob o qualunque utente non autorizzato può rimuovere la firma e aggiungere la propria firma. Senza conoscere il contenuto del messaggio crittografato, può impersonare se stesso come mittente del messaggio.
Ci sono numerose discussioni su SE, quindi non ne parlerò. ad esempio: Dovremmo firmare-poi-cifrare, o cifrare -Poi-segno?
La soluzione deve aggiungere un'associazione tra la firma e il livello di crittografia perché la vulnerabilità si trova nel divario in cui si trovano questi due livelli indipendenti.
E come hai detto, potremmo aggiungere l'indirizzo del destinatario nella parte crittografata del messaggio.
In questa pagina (Segno e crittografia difettosi in S / MIME,
PKCS # 7, MOSS, PEM, PGP e XML) nella sezione 5, vengono proposte cinque opzioni di riparazione:
- Sign the recipient's name into the plaintext
- Encrypt the sender's name into the plaintext
- Incorporate both names
- Sign again the signed-&-encrypted message
- Encrypt again the signed ciphertext.
Per le soluzioni di denominazione delle riparazioni:
Perhaps part of the reason naïve Sign & Encrypt seems secure is that with many common payload messages, S&E is secure. For example, even if Alice just signs and encrypts the text ''Dear Bob, The deal is off. Regretfully, Alice,'' then Alice's message is secure, albeit only accidentally so. The presence of names under both crypto layers is crucial, but including both names is not strictly necessary
Uso di firma / crittografia / firma:
Inner Signature: "Alice wrote the plaintext;"
Encryption: "Only Bob can see the plaintext;"
Outer Signature: "Alice used key B to encrypt."
Utilizzo di Cifra / Firma / Cifra:
First Encryption: "Only Bob sees the plaintext;"
Signature: "Alice wrote the plaintext and the ciphertext;"
Outer Encryption: "Only Bob can see that Alice wrote the plaintext and ciphertext."
Puoi anche trovare l'analisi del rapporto costi / benefici sotto quel link, la riparazione più semplice è l'aggiunta dell'indirizzo del destinatario al testo in chiaro e poi firma e crittografia.
Tornando alla tua domanda principale, sembra che non ci sia implementazione standard per i client PGP per aggiungere / verificare l'indirizzo dei destinatari nel testo cifrato, in modo che uno possa andare avanti e aggiungere / verificare manualmente l'indirizzo nel corpo del messaggio.