Come garantire la privacy su un server in hosting remoto?

1

(Copiato da Ingegneria del software come suggerito)

Se ho scritto uno strumento per la privacy come applicazione Web .NET che deve essere ospitato in un sito di hosting commerciale, oltre a ospitarlo in un Paese che rispetta la privacy, come posso assicurare agli utenti che l'applicazione non è stata compromessa da una terza parte presso l'host?

Ovviamente verrà utilizzato SSL, i dati conservati saranno strongmente crittografati e gli assembly saranno il più possibile offuscati, ma questi non potranno che andare così lontano.

Non mi occupo di hacking o di problemi legali qui, sto specificatamente parlando dell'intervento fisico nella posizione del server relativo alla modifica del sito per acquisire le informazioni dell'utente.

Ad esempio, c'è un modo per garantire che i miei assembly non siano stati incapsulati per intercettare le credenziali di testo semplice passate a un'API?

Aggiorna

Potrei forse dare un'opzione affinchè l'utente possa fornire le proprie credenziali già crittografate usando la mia chiave pubblica. Questo apre la porta ad altre opzioni, come una cosa di tipo handshaking a 2 vie.

Ci sono altre opzioni più eleganti?

    
posta CompanyDroneFromSector7G 13.04.2017 - 19:53
fonte

1 risposta

3

Se non puoi garantire che sei l'unico ad avere accesso al server stesso, non puoi garantire la privacy ai tuoi utenti.

Il wrapping di un assieme non è necessario se qualcuno che ha accesso al server vuole rubare credenziali di testo normale. Hanno già accesso al server e quindi accesso alla chiave privata del certificato. Potrebbero creare un proxy inverso "legittimo" (almeno per l'utente finale) dove interromperanno il protocollo SSL e ispezioneranno il traffico di testo normale. Anche l'utilizzo della crittografia asimmetrica non sarà di aiuto. L'accesso al server consentirà anche l'accesso alla chiave privata.

Una cosa da considerare se hai una piattaforma di hosting web che non puoi (o non vuoi) fidarti è usare la crittografia lato client. Ma non puoi farlo nel browser (JavaScript). Consulta questo per spiegazione dettagliata dei problemi relativi alla crittografia del browser. In breve, non puoi fidarti del codice JavaScript che viene fornito da un host web non affidabile.

Una possibile soluzione è utilizzare le estensioni del browser. Puoi firmare l'estensione con il tuo certificato di firma del codice e così gli utenti possono verificare che il codice provenga da te e che non venga manomesso.

    
risposta data 14.04.2017 - 10:12
fonte

Leggi altre domande sui tag