Consigli sui certificati per l'implementazione di software con firma del codice come fornitore di terze parti

1

Sono in procinto di sviluppare un'applicazione per un'organizzazione, e sto cercando un controllo sulla mia strategia, soprattutto data la natura delle sciocchezze SuperFish che sono state esposte.

Gli utenti si trovano su un dominio Windows e l'applicazione desktop verrà distribuita come applicazione ClickOnce. Questi pacchetti di implementazione possono essere firmati in modo tale che quando l'utente lo installa lo vedono come un editore attendibile piuttosto che come "Publisher sconosciuto".

  1. Avremo un certificato di root autofirmato per lo sviluppo interno (CERT n. 1)
  2. Creiamo un certificato specifico per l'applicazione firmato da quel certificato di origine radice rigorosamente ai fini della firma del codice (eku 1.3.6.1.5.5.7.3.3) (CERT # 2)
  3. Utilizziamo CERT # 2 per firmare l'applicazione
  4. La chiave privata e la password del CERT # 1 sono archiviate in modo sicuro sul sito. Solo gli amministratori di dominio (NON GLI SVILUPPATORI) hanno accesso alla chiave o alla conoscenza della password della chiave.
  5. La chiave pubblica del certificato radice viene inviata al dominio come certificato attendibile.
  6. Gli sviluppatori hanno accesso a CERT # 2 perché devono eseguire le build, effettuare distribuzioni.

Non vedo alcun modo per dare agli sviluppatori l'accesso al secondo cert. Ma in questo contesto, significa fornitori di terze parti. Il personale del sito non ha l'esperienza necessaria per prendere il codice dagli sviluppatori e effettuare internamente le implementazioni. Ma se si presume che questo certificato si estinguerà nel tempo, è necessario assumere che le entità esterne avranno la possibilità di firmare il codice e ritrasformarlo come "affidabile" per i membri del dominio.

Ci sono altre idee per rendere questa implementazione sicura?

Mi uccide per insegnare alle persone ad installare applicazioni che appaiono non sicure, ma mi chiedo se non sia un'opzione migliore poiché verrà installata all'interno della rete locale, e infatti di fatto sarà di solito installato dallo staff IT prima che l'utente appena assunto inizi a lavorare.

    
posta Clyde 19.02.2015 - 22:22
fonte

0 risposte

Leggi altre domande sui tag