Per i mandati di governo e le richieste di dati, la crittografia lato client è la strada da percorrere? [chiuso]

1

So che la crittografia lato client non è generalmente vista come ideale. Tuttavia, non riesco a immaginare come la crittografia lato server possa mai dare all'utente la massima tranquillità.

Se i dati sono crittografati sul client e il server riceve solo dati crittografati, è impossibile per il proprietario del server, anche sotto la pressione di un governo, manomettere i dati o fornire una backdoor ad esso.

Tuttavia, dal lato server, il proprietario del server potrebbe essere sotto pressione dal governo per incanalare determinati dati prima che entrino in crittografia in una backdoor governativa.

Quindi, se stavi cercando di costruire un'azienda in cui, anche se il governo ti costringesse al punto di sparare a rinunciare ai dati di un determinato utente, la crittografia lato client non ti garantirà, il proprietario del server, una protezione migliore da un tale ultimatum?

    
posta Snowman 16.11.2016 - 23:51
fonte

1 risposta

2

I know client side encryption is generally not seen as ideal.

Non penso che sia vero; potresti mescolare alcune cose diverse.

Una delle regole canoniche nella progettazione di software sicuro è quella di non fidarsi mai dell'utente . Ciò significa che ogni volta che si esegue, ad esempio, la convalida che un campo modulo è nel formato corretto, è deve farlo sul server, altrimenti un utente malintenzionato può alimentare l'applicazione con un payload di attacco. Ciò vale anche per alcune forme di crittografia, purché sia qualcosa in cui l'applicazione interagirà con i dati risultanti.

Ciò di cui stai parlando è crittografia end-to-end . In queste situazioni, i dati crittografati vengono trattati sempre solo nell'applicazione lato server come un blob binario. Questo è utile solo in alcune situazioni, come le app di archiviazione cloud e di messaggistica, e si rinuncia alla possibilità di fornire funzionalità che molti utenti desiderano, come una ricerca sofisticata.

Quindi per rispondere alla tua domanda,

Thus, if you were trying to build a company where even if the government forced you at gun point to give up the data of a certain user, wouldn't client side encryption provide you, the server owner, with better protection from such an ultimatum?

Sì, la crittografia end-to-end lo fa.

Ci sono ulteriori cose da considerare, però. L'applicazione client è closed source? Quindi, in che modo l'utente può verificare che non stai inviando i dati non crittografati ai tuoi server (o al governo)? L'applicazione client è installata tramite un app store? In che modo l'utente può verificare di non aver inserito una nuova versione dell'app che apporta modifiche significative rispetto a quella verificata? L'applicazione client è installata come un file binario? Come può l'utente verificare che il file binario che stai fornendo provenga dalla sorgente non modificata che ha letto? La recente polemica dell'FBI Apple ha risolto alcuni di questi problemi.

Anche il tema correlato è l'argomento inoltrare la segretezza , in cui una chiave che è stata consegnata al governo non permetti loro di decifrare le conversazioni passate .

    
risposta data 17.11.2016 - 02:18
fonte

Leggi altre domande sui tag