Dall'avvento di Internet, gli utenti di Internet hanno sempre affrontato una sfida o l'altra. Uno di questi problemi è il fatto che è difficile per gli utenti fidarsi di qualsiasi codice pubblicato su Internet. Gli utenti non possono fare a meno di scaricare regolarmente software da Internet sui propri computer. Alcuni software possono contenere minacce o programmi dannosi che mettono a rischio le informazioni e la sicurezza degli utenti.
Gli sviluppatori possono annullare questa minaccia firmando digitalmente ogni software prima di renderli disponibili per il download da parte degli utenti di Internet. Quando il software è firmato, è più facile per gli utenti verificarne l'origine e verificare che non sia stato alterato o manomesso in alcun modo.
Il concetto di firma del codice
La firma del codice si riferisce semplicemente alla firma degli script mediante una firma digitale basata su certificato. L'obiettivo è verificare l'identità degli autori e assicurarsi che il codice non sia stato modificato da quando l'autore lo ha firmato secondo gli standard di certificazione digitale di Microsoft. In questo modo, altri software e utenti possono determinare se possono fidarsi del software.
Con un certificato di firma del codice Microsoft, è possibile firmare il codice utilizzando una chiave privata e pubblica (un metodo simile a quello utilizzato da SSH e SSL). Quando viene richiesto il certificato, viene generata una coppia di chiavi pubblica / privata. Questa chiave privata rimane sulla macchina del richiedente e non viene mai inviata al fornitore del certificato. Quando la chiave pubblica viene richiesta dal provider, viene inviata e quindi il provider emetterà un certificato.
I tipi di firma del codice accettati come più avanzati sono noti come "certificati di firma del codice di convalida estesa". Il motivo per cui sono classificati così in alto è che affrontano due delle lacune più comuni sfruttate dagli sviluppatori di malware per propagare il loro codice maligno: scarsa protezione della chiave privata e processi di verifica dell'identità deboli.
Il primo si ottiene attraverso l'adozione dell'autenticazione a due fattori: la chiave privata viene crittografata sul token e memorizzata su un dongle USB. Sarà impossibile per coloro che non dispongono del dispositivo fisico firmare il codice utilizzando il certificato di firma del codice.
Sebbene la chiave USB offra la migliore protezione possibile, potrebbe non essere molto comodo utilizzarla in azienda, poiché esiste la possibilità che il dongle venga passato tra i membri e che si perda nel processo. Inoltre, ti consigliamo di non copiare, clonare, duplicare il dongle USB poiché non è una pratica che ricade sul lato destro del ToS del produttore.