Condividi tramite


Usare la firma del codice per aggiungere controllo e protezione con Controllo app per le aziende

Nota

Alcune funzionalità di Controllo app per le aziende sono disponibili solo in versioni specifiche di Windows. Altre informazioni sulla disponibilità delle funzionalità di Controllo app.

Che cos'è la firma del codice e perché è importante?

La firma del codice offre alcuni vantaggi importanti per le funzionalità di sicurezza delle applicazioni, ad esempio Controllo app per le aziende. In primo luogo, consente al sistema di verificare in modo crittografico che un file non sia stato manomesso dopo la firma e prima che sia consentito l'esecuzione di qualsiasi codice. In secondo luogo, associa il file a un'identità reale, ad esempio un'azienda o un singolo sviluppatore. Questa identità può semplificare le decisioni di attendibilità dei criteri e consente conseguenze reali quando la firma del codice viene usata in modo improprio o dannoso. Anche se Windows non richiede agli sviluppatori di software di firmare digitalmente il codice, la maggior parte dei principali fornitori di software indipendenti (ISV) usa la firma del codice per gran parte del codice. E i metadati inclusi da uno sviluppatore nell'intestazione della risorsa di un file (. RSRC, ad esempio OriginalFileName o ProductName, può essere combinato con il certificato di firma del file per limitare l'ambito delle decisioni di attendibilità. Ad esempio, invece di consentire tutto ciò che è firmato da Microsoft, è possibile scegliere di consentire solo i file firmati da Microsoft dove ProductName è "Microsoft Teams". Usare quindi altre regole per autorizzare tutti gli altri file che devono essere eseguiti.

Laddove possibile, è necessario che tutti i file binari e gli script dell'app siano firmati con codice come parte dei criteri di accettazione dell'app. È inoltre necessario assicurarsi che gli sviluppatori di app line-of-business (LOB) interni abbiano accesso ai certificati di firma del codice controllati dall'organizzazione.

Firma del catalogo

I file binari e gli script delle app sono in genere firmati da incorporamento o da catalogo. Le firme incorporate diventano parte del file stesso e vengono trasferite con il file ovunque venga copiato o spostato. Le firme del catalogo, invece, vengono scollegate dai singoli file. Viene invece creato un "file di catalogo" separato che contiene valori hash per uno o più file da firmare. Questo file di catalogo viene quindi firmato digitalmente e applicato a qualsiasi computer in cui si vuole che la firma esista. Qualsiasi file il cui valore hash è incluso nel catalogo firmato eredita la firma dal file di catalogo. Un file può avere più firme, tra cui una combinazione di firme incorporate e di catalogo.

È possibile usare i file di catalogo per aggiungere facilmente una firma a un'applicazione esistente senza dover accedere ai file di origine originali e senza dover effettuare il repackaging costoso. È anche possibile usare i file di catalogo per aggiungere la propria firma a un'app ISV quando non si vuole considerare attendibili tutti i segni ISV direttamente, se stessi. È quindi sufficiente distribuire il catalogo firmato insieme all'app a tutti gli endpoint gestiti.

Nota

Poiché i cataloghi identificano i file che firmano tramite hash, qualsiasi modifica apportata al file potrebbe invalidarne la firma. Sarà necessario distribuire firme del catalogo aggiornate ogni volta che l'applicazione viene aggiornata. L'integrazione della firma del codice con i processi di sviluppo o distribuzione di app è in genere l'approccio migliore. Tenere presente le app che si aggiornano automaticamente, perché i file binari delle app possono cambiare a tua insaputa.

Per informazioni su come creare e gestire i file di catalogo per le app esistenti, vedere Distribuire i file di catalogo per supportare controllo app per le aziende.

Criteri di controllo app firmati

Mentre un criterio di Controllo app inizia come documento XML, viene quindi convertito in un file con codifica binaria prima della distribuzione. Questa versione binaria dei criteri può essere firmata con codice come qualsiasi altro file binario dell'applicazione, offrendo molti degli stessi vantaggi descritti in precedenza per il codice firmato. Inoltre, i criteri firmati vengono trattati in modo specifico da Controllo app e consentono di proteggere da manomissioni o rimozione di un criterio anche da un utente amministratore.

Per altre informazioni sull'uso dei criteri firmati, vedere Usare i criteri firmati per proteggere il controllo delle app per le aziende da manomissioni

Ottenere certificati di firma del codice per uso personale

Alcuni modi per ottenere certificati di firma del codice per uso personale includono: