Ho il seguente scenario:
- Diversi server embedded indipendenti (Linux / ARM / lighttpd)
- Diversi dispositivi di controllo indipendenti (win32 / iOS / Android)
- Ogni server dovrebbe avere almeno un dispositivo di controllo
- Ogni dispositivo di controllo può controllare uno o più server
- Nessuno ma i dispositivi di controllo dovrebbero essere in grado di contattare i server
Comprendo che potrei utilizzare i certificati client per garantire "l'associazione dispositivo / server", ma non sono sicuro se possibile e (eventualmente) come configurare i miei sistemi per soddisfare i seguenti requisiti aggiuntivi:
- Installazione del certificato client senza problemi: voglio dire che vorrei avviare una procedura automatica sul server (possibilmente tramite pulsante fisico) che creerà e distribuirò un certificato client specifico (qualcosa di simile a "Configurazione protetta Wi-Fi" ").
- Creazione di certificati basati su ruoli: ogni dispositivo di controllo dovrebbe avere un "ruolo", nel senso che può eseguire un insieme definito di operazioni sul server; essenzialmente ho bisogno solo di incorporare alcuni dati nel certificato al momento della creazione.
- I certificati client dovrebbero essere in scadenza e revocabili (penso che questo sia standard, ma deve essere consentito-per la creazione del certificato stesso).
La vera domanda è come impostare (1), dove ho poca idea. Ho cercato su Internet, ma ho trovato solo il modo "normale" (generare cert, auto-sign, importare manualmente nel browser) che è modo troppo complesso per i miei clienti :(; speravo di essere in grado di generare un URL (o stampare un Qr) che, inserito sul dispositivo di controllo, configurerebbe "automagicamente" il suo browser (eventualmente con una semplice conferma "OK"). È possibile (o qualcosa di equivalente a prova di stupidità), in qualche modo?
Consigli e commenti sulle altre questioni sono i benvenuti (ovviamente!)
NOTA: non ho bisogno di sicurezza a prova di banca, solo un ragionevole compromesso; il focus è su quanto posso ottenere "senza disturbare gli utenti" (inserendo una password è considerato fastidioso, sfortunatamente).