Vuoi un'infrastruttura di chiave pubblica-privata
Dalla tua domanda sembra che tu stia guardando un'infrastruttura a chiave pubblica-privata (PKI). L'ID che il tuo cliente invia è la sua chiave pubblica ed è completamente gratuito per la visualizzazione da parte di chiunque. I tuoi server crittografano i dati utilizzando una combinazione della tua chiave privata e della loro chiave pubblica. Questo carico utile crittografato viene quindi inviato al client. Quindi usano la loro combinazione di chiave pubblica e chiave privata per aprirla. Sanno che può venire solo da te perché la tua chiave privata l'ha firmato per dirlo e si fidano che solo tu abbia quella chiave privata.
Vuoi assicurarti che i tuoi clienti si occupino della loro chiave privata, ma questo è un problema per loro e per il loro sistema operativo.
Per una panoramica generale di come funziona PKI, Wikipedia ha un bell'articolo a riguardo . Per i dettagli esatti di un'implementazione, vedi OpenPGP in RFC 4880 .
Google Keyczar offre un approccio API semplice e intuitivo a PKI. È possibile generare facilmente chiavi pubbliche e private sicure sul lato server e aggiornarle se una persona anziana viene compromessa. Non gestiscono la distribuzione delle chiavi, ma ti danno un punto di partenza.
Aggiornato alla luce della domanda rivista
Se il client tenta di inviare i propri dati crittografati, può essere stato generato solo dalla propria chiave privata. Ciò fallirà il test della firma sui tuoi server poiché accetti solo dati crittografati creati dalla tua chiave privata.