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.