Domanda 3 (parte 1):
Se il messaggio è stato inviato tra due società o tra due relay SMTP che utilizzano DKIM (uno strumento anti-spam) potrebbe esserci una firma digitale segreta di cui potrebbero non essere a conoscenza.
Si può dimostrare che un messaggio non è stato modificato se il messaggio ha una firma DKIM e passa. Questa è una firma nascosta che la maggior parte delle persone non pensa che non sia correlata a SMIME e che sia spesso inclusa segretamente nei messaggi. Ad esempio, Yahoo e GMail DKIM firmano tutti i messaggi in uscita all'insaputa di mittenti o destinatari. A seconda del tuo scenario, è possibile che i messaggi che ti preoccupano siano firmati da DKIM, ma la presenza di questa firma è sconosciuta a te o al tuo cliente.
Basta sapere che una firma DKIM
- ... non è SMIME (spesso chiamato firma digitale)
- ... non verrà visualizzato nei browser Web / Outlook anche se esiste
- ... è uno strumento utilizzato nelle tecnologie anti-spam
- ... non può firmare l'intero messaggio, o una parte in esso (tramite il parametro -l, o omettendo le intestazioni chiave del messaggio)
- ... Può fallire se un server SMTP intermedio modifica il messaggio (mailing list, homebrew SMTP forwarder, ecc.)
In generale, un messaggio DKIM firmato passerà se non viene modificato. Se un messaggio DKIM fallisce, c'è una piccola possibilità che un ingegnere / sviluppatore di email esperto possa fare "passare" la crittografia se l'errore è dovuto esclusivamente ai problemi dell'infrastruttura.
TL; DR - Un messaggio DKIM firmato che passa AND firma da, a, oggetto e corpo indica che il messaggio non è stato modificato. Un fallimento di DKIM non significa nulla (malinteso o altro).
(Parte 2)
Al di fuori di un passaggio DKIM, non è possibile dimostrare che i messaggi non sono stati manomessi in questa situazione. Tuttavia potrebbe esserci un modo per rilevare la manomissione guardando le proprietà MAPI del messaggio. Per i principianti la proprietà "Intestazione" conterrà il soggetto originale se la riga dell'oggetto è stata modificata.
Se il messaggio è stato modificato ci sono vari timbri Data / Ora interni che possono essere aggiornati e, a seconda della versione di Outlook, anche il nome utente che ha modificato il messaggio è memorizzato nel messaggio. Quando l'ho esaminato per ultimo, c'era una differenza tra i campi che sono stati aggiornati durante lo spostamento di un messaggio (da una cartella all'altra), facendo clic con il pulsante destro del mouse e modificando il messaggio (o contrassegnandolo come letto).
Il corpo del messaggio è memorizzato in almeno due posizioni in un messaggio MAPI: la versione in testo normale, una versione rich text e l'originale. È possibile che una versione modificata del messaggio aggiorni una (ma non tutte) le istanze del messaggio.
Se il messaggio risiede sul database del server Exchange, il messaggio può risiedere in uno o più "flussi". Questi flussi di messaggi esistono per l'utilizzo esclusivo di MAPI o OWA e talvolta non sono sincronizzati. Ciò può accadere se un messaggio viene modificato e "promozione proprietà" potrebbe essere in grado di far luce su un messaggio modificato.
Detto questo, al di fuori di DKIM o SMIME non c'è nulla che provi che un messaggio non sia modificato, tuttavia potrebbe esserci un modo per dimostrare che è stato alterato.
Lo strumento che devi studiare su queste proprietà di basso livello è chiamato MFCMapi .