You receive an email message that purports to come from your bank. It asks you to click a link for some reasonable-sounding administrative purpose. How can you verify that the message actually did come from your bank?
In generale, non puoi.
Ecco perché, se ricevo un messaggio dalla mia banca, non contiene alcun link. O contiene un messaggio autonomo che non può compromettere la mia sicurezza ("più di 300 euro sono stati ritirati dal tuo account") o semplicemente contiene il messaggio che dovrei cercare nella mia casella di posta sul sito web. Non penso che molte banche firmeranno il loro contenuto con, ad es. PGP o proteggere i messaggi altrimenti.
Le app bancarie hanno ovviamente più possibilità in questo senso: normalmente puoi fidarti dell'app (assicurati di farlo), e l'app può fidarsi dei messaggi inviati ad essa utilizzando uno schema di firma.
Now play the role of an attacker. How could you intercept the message described in part (1) and convert it to your purposes while still making both the bank and the customer think the message is authentic and trustworthy?
Non dovresti intercettare nessun messaggio. Puoi solo falsificare un messaggio. Forse ricevi un messaggio accedendo da solo a un conto bancario, in un modo o nell'altro. Oppure prendi semplicemente lo stile del sito bancario e utilizzalo per creare un messaggio dall'aspetto ragionevole.
Non c'è motivo di fare in modo che la banca si fidi del tuo messaggio; stai cercando di ingannare il cliente. La banca si fida del cliente per creare transazioni per loro conto.