QNA > Q > Qual È Il Modo Migliore Per Crittografare I Dati Dall'app Android Prima Di Inviarli Al Server?

Qual è il modo migliore per crittografare i dati dall'app Android prima di inviarli al server?

Supponendo che io abbia capito bene la domanda, in genere si dovrebbe solo crittografare durante il transito utilizzando TLS .

Perché? Un paio di ragioni:

  1. per assicurarsi di parlare con l'host corretto, probabilmente userete TLS in ogni caso. se non lo fate (o vi basate puramente sui risultati del DNS) non c'è alcun modo effettivo per assicurarvi di parlare con il giusto endpoint.
  2. Seguendo il punto #1, implementerete la crittografia nel vostro codice invece di utilizzare una funzionalità standard per tutte le piattaforme. Questo aumenta il rischio di sbagliare e quindi di avere un impatto sul vostro modello di sicurezza
  3. Avreste anche bisogno di considerare come le cose vengono decriptate dall'altra parte, il che potrebbe potenzialmente portarvi ad un ulteriore pasticcio con la gestione delle chiavi.
    1. A seconda della dimensione del carico utile, dovreste probabilmente implementare una crittografia simmetrica - come sincronizzereste le chiavi tra tutti i vostri client e server (no, la risposta non è hardcode delle chiavi!!)
    2. Anche se poteste cavarvela con chiavi asimmetriche (ad esempio coppie di chiavi pubbliche/private), avreste ancora alcune considerazioni sulla gestione delle chiavi, E usereste ancora (probabilmente) TLS. Si viene colpiti due volte sulle prestazioni. Di nuovo, non va bene

Spero che questo spieghi perché di solito si cripta solo in transito, ma forse hai qualche requisito speciale che ti costringe a criptare prima di inviare su TLS.

Di Witcher Rehfield

Perché è così difficile diminuire la cornice degli smartphone? Cosa c'è sotto? :: I dati delle impronte digitali memorizzati nello smartphone sono criptati?
Link utili