Buongiorno,

ho realizato un sito web ottimizzato per dispositivo mobili (PDA e smartphones). I linguaggi usati sono ASP.NET (per la parte dinamica) e XHTML (parte statica) + CSS.

L'utente accede al sito "mobile" tramite un login obbligatorio. Dato che vi è una versione del sito "non mobile" ove l'utente ha alcune funzionalità aggiuntive (ed alcune delle quali possono avere serie conseguenze, ad es. eliminare un utente del sistema), volevo cifrare le comunicazioni che il client effettua con il database dell'azienda per verificare le credenziali dell'utente.

Pensavo di usare l'algoritmo AES-256 (al momento il più sicuro) per cifrare/decifrare le informazioni sensibili. Tuttavia si tratta di un algoritmo a chiave simmetrica, quindi i due "interlocutori" (qui client e server) dovrebbero condividere la stessa chiave. Questo potrebbe costituire un problema in un contesto dove ci sono molti utenti ed è necessario distribuire le chiavi e mantenere in memoria (lato server) una chiave diversa per ogni utente del sistema.

Tuttavia al momento questa mi pare la soluzione migliore e più economica. Qualcuno saprebbe consigliarmi su un'eventuale soluzione alternativa (possibilmente elencandone i pregi/difetti) o appoggiare la mia decisione qualora sia condivisa?

Grazie