Ho clienti che comunicano con il mio server. I client inviano un ID univoco (guid) al server con la sua richiesta su un canale https sicuro. Anche per aumentare la sicurezza, utilizzo la mia coppia di chiavi privata-pubblica per crittografare le richieste e amp; risposte.
Se qualcuno trova questa chiave pubblica (fornita con il software client) e esegue il reverse engineering del software, penso che possano inviare richieste fatte a mano con un ID personalizzato. Voglio prevenire questo tipo di attacchi. Ho un paio di domande:
- La generazione di coppie di chiavi private-pubbliche per ogni cliente è una buona pratica? Poiché ogni cliente invia le sue richieste con la propria chiave pubblica, sarà facile rilevare questo tipo di anomalie.
- È possibile fornire ai client certificati che li identificano solo loro? Vedo questo certificato del cliente ovunque, ma non c'è una spiegazione chiara. Puoi ragazzi spiegarmi come funzionano i certificati client? Penso che questo sia quello di cui ho bisogno ma non ne ho idea.