TLS - Le firme sono ancora necessarie?

-1

La storia:

Attualmente sto scrivendo un servizio Web che consente di effettuare comunicazioni da remoto via TCP / IP.

Prima ho pensato di firmare ogni pacchetto usando HMAC-SHA1 con una password, aggiungendo la firma all'inizio del pacchetto e poi il server (che conosce anche la password) per verificare il pacchetto inviato.

Tuttavia, ciò significa che il server memorizza le password così com'è (senza cancellarle), rendendolo molto pericoloso infatti per chiunque abbia accesso non autorizzato al database. Inoltre, qualsiasi informazione sensibile (come una password del pacchetto 'cambia password') può essere dirottata tramite un attacco man-in-middle.

Poi ho letto su TLS / SSL e ho deciso di usarlo per prevenire attacchi man-in-middle.

TL: DR:

Devo ancora firmare i miei pacchetti quando li invio su TLS? O posso semplicemente inviare i miei pacchetti via così com'è? Ho letto che non è una buona idea inviare password semplici (o i loro hash) sulle reti. Pertanto, non sono sicuro che con TLS sia meglio inviare semplicemente le password al server per l'autenticazione o firmare ogni pacchetto con le password anziché inviarle.

    
posta Yiyuan Lee 29.11.2014 - 17:19
fonte

2 risposte

0

TLS fornisce sia la crittografia che, nella misura in cui ci si può fidare del processo dell'autorità di certificazione, l'integrità dell'origine. Lo stesso TCP / IP fornisce l'integrità del messaggio sotto forma di checksum e riconoscimenti. Questo dovrebbe essere sufficiente per la maggior parte delle applicazioni.

Ho coperto un po 'le autorità di certificazione perché ci sono stati certificati validi ma illegali emessi per artisti come Google. Credo che il più alto rischio sia che qualche stato ( i.e. governo) attore voglia compromettere i tuoi dati. Se stai trasmettendo informazioni finanziarie, devi anche preoccuparti dei criminali. Se hai un'applicazione particolarmente sensibile, puoi esaminare blocco dei certificati

    
risposta data 29.11.2014 - 18:52
fonte
0

Firma o no?
No, non è necessario firmare i pacchetti. I MAC di TLS si prenderanno cura di questo per te. Vedi: link

Password oltre il filo?
Per quanto riguarda il fatto di non voler inviare una password sul filo: potresti voler controllare il TLS con autenticazione reciproca. Questo utilizza certificati / coppie di chiavi su entrambe le estremità della comunicazione. È spiegato qui: link

    
risposta data 29.11.2014 - 18:55
fonte

Leggi altre domande sui tag