Sto progettando un metodo di autenticazione per il mio sistema client / server composto da:
- un'applicazione client desktop Windows (.NET)
- server windows / linux (C ++)
- un "server di sicurezza" che autorizza gli utenti e passa alcuni token per Single Sign-On sugli altri server
Un utente effettuerebbe l'accesso fornendo nome utente e una password al server di sicurezza con una semplice password di hashing + sale o un algoritmo di risposta alla sfida. Al login riuscito il token di autenticazione restituito che l'utente può presentare al server che li autentica automaticamente.
Nota: so che potrei semplicemente usare SSL, ma mi piacerebbe (per qualche motivo) Nota 2: la comunicazione non deve essere crittografata per impostazione predefinita (sarebbe in "mezzo" ambiente attendibile)
Quello che ho scoperto è che Kerberos sembra abbastanza simile e sembra che il mio server di sicurezza sia un server Kerberos semplificato.
Penso che avrei bisogno di:
- protocollo di authenicazione (client-security server)
- algoritmo per la generazione di token e la sua verifica
Qualche suggerimento? Dove iniziare?