L'API di crittografia Web impedisce a un server danneggiato di svuotare il testo in chiaro?

1

Considerare un'applicazione web crittografica che si basa su JavaScript ospitato. Questo JavaScript potrebbe essere manipolato lato server da un cattivo attore, sconfiggendo qualsiasi attività crittografica. Vale a dire:

  1. le chiavi private potrebbero essere restituite al server

  2. il testo in chiaro può essere rinviato al server

L' API di crittografia Web risolve alcuni di questi problemi fornendo primitive crittografiche senza esporre le chiavi, indirizzando l'elemento 1.

Mi sembra che il male JavaScript possa ancora trasmettere il testo in chiaro al server. Mi manca qualcosa o questo problema non è stato risolto da Web Crypto?

    
posta d3vid 30.08.2018 - 11:19
fonte

1 risposta

3

Non è così. È scusabile, perché non può.

Il server invia il codice. Se il server è ostile o compromesso, il codice inviato dal server potrebbe essere dannoso. Non importa ciò che fa l'API: il codice inviato dal server può evitare di usarlo, o altrimenti inviare tutti i dati in chiaro al server.

Il motivo per cui le primitive crittografiche che non espongono le chiavi è principalmente la protezione da un server affidabile, ma che fornisce codice che può essere parzialmente sfruttato. Se l'utente malintenzionato può organizzare l'esecuzione di codice JavaScript arbitrario nel browser, hai perso. Se l'attaccante è limitato in determinati modi, ad es. se è possibile estrarre solo determinate informazioni o solo infettare determinate pagine, aggiungere protezioni come le chiavi non esposte rende più difficile per l'utente malintenzionato ottenere i dati desiderati.

    
risposta data 30.08.2018 - 11:58
fonte

Leggi altre domande sui tag