Come gestire i certificati auto-fatti per gli eseguibili di Windows?

3

Ho un prodotto che vendo ai clienti. Include un PC con Windows 7, qualcosa come un sistema Kiosk. Esistono due account utente, un amministratore e un account utente. L'account utente dovrebbe avere quasi nessun diritto, mentre l'account Admin dovrebbe avere tutti i diritti. Per rendere le cose più sicure, utilizzo i criteri di restrizione del software di Windows (SRP), in modo che l'utente possa eseguire solo eseguibili firmati da me con una regola. Ho creato questi certificati con OpenSSL e quindi firmo i miei eseguibili con SignTool . Funziona come un fascino.

La mia domanda è ora, come gestire questi certificati? Vendo questi PC in tutto il mondo e non sono in grado di aggiornare tutti questi certificati se scadono. Potrei farli durare 100 anni, ma non sono rassicurato da questo. Offro aggiornamenti software ogni anno circa. C'è un modo facile e sicuro per aggiornare i certificati con questi aggiornamenti software?

Sarei molto contento se qualcuno potrebbe aiutarmi con questa domanda.

Grazie in anticipo, Max

    
posta Max R. 15.09.2016 - 00:20
fonte

1 risposta

1

In realtà dovresti usare certificati emessi da un certificato di root attendibile e non autofirmato. Questo dà ai clienti la certezza che il cert in uso è valido. L'uso di certificati autofirmati significa che qualcuno potrebbe, teoricamente, sostituire il certificato con il proprio, utilizzando la propria chiave privata per firmare un file eseguibile sostituito. Quindi in realtà non stai fornendo quella sicurezza usando quelli autofirmati.

Inoltre, non sono solo i certificati da gestire ma gli eseguibili firmati. Immagino che sia giusto per i clienti mantenere un exe firmato con un certificato scaduto fintanto che le date coincidono. Se questo non è accettabile, dovrai creare un modo per distribuire gli exe aggiornati e questo è un problema di distribuzione software standard. Sono sicuro che troverai una comoda libreria o uno strumento per aiutarti a seconda della toolchain che stai usando per creare e distribuire il codice in primo luogo.

    
risposta data 15.09.2016 - 00:32
fonte

Leggi altre domande sui tag