Il lavoro
Hai il compito di fornire file di grandi dimensioni con dati sensibili a persone esterne alla tua azienda.
Limitazioni e mandati
- I destinatari dei dati devono essere avvisati via email
- Le dimensioni dei file vietano l'invio dei dati tramite e-mail
- Potrebbero esserci decine o centinaia di migliaia di utenti, quindi non è possibile fare account per loro.
- Un destinatario potrebbe essere chiunque abbia un indirizzo email.
- È necessario che un destinatario sia in grado di utilizzare il link in modo programmatico e scaricare il file in modo da poterlo importare nel proprio software senza interazione umana.
- Devi mantenerlo il più sicuro possibile.
Soluzione proposta
Fornirei ai destinatari un collegamento tramite e-mail (TLS protetto) e farebbero semplicemente clic sul collegamento per scaricare il file. Il link conterrebbe un codice di 25 caratteri che consentirebbe loro di accedere al loro file. Se un indirizzo IP (o un indirizzo MAC?) Forniva un codice errato 10 volte, sarebbe stato inserito nella lista nera per 14 giorni per impedire a un attacco di forza bruta di accedere a più file. Il file sarebbe un file zip protetto da password con l'indirizzo email del destinatario come password. I file stessi sarebbero disponibili solo per un determinato periodo di tempo; la scadenza di quel tempo farebbe sì che i file venissero cancellati da un processo di back-end e il codice diventasse disponibile per un altro download (anche se potrebbe non essere mai riutilizzato).
Quindi, con la mia soluzione, uno scenario possibile sarebbe: Mi viene fornito un indirizzo email e ho bisogno di fornire loro un file personalizzato per loro. Creo un file, lo zip con l'indirizzo e-mail del destinatario come password, lo salva nella mia applicazione, la mia applicazione dice che l'URL del file sarà www.test.com/GetFile.aspx?UID=12. e poi ho inviato loro un link.
Ovviamente, se l'e-mail che inviamo con il link è compromessa, anche i file collegati nell'e-mail potrebbero essere compromessi.
C'è un approccio migliore?