Se hai un po’ di dimestichezza con gli strumenti per l’autenticazione basata sui certificati digitali,…
Firma del codice, pro e contro di questa importante soluzione
Il vertiginoso aumento di siti pericolosi e malware ha reso molti utenti cauti nello scaricare software o applicazioni di cui non conoscono la provenienza. Infatti, se non riescono a determinare chi è lo sviluppatore, è probabile che evitino di scaricarlo sui propri device. In che modo coloro che creano e distribuiscono tali software possono aumentare la fiducia dei clienti nelle principali piattaforme?
La risposta sono i certificati di firma del codice, che possono essere utilizzati per firmare digitalmente applicazioni, driver e programmi software per gli utenti finali. È un’operazione in cui uno sviluppatore di software firma digitalmente il file codificato per assicurare gli utenti che il software sia quello originale. I certificati digitali verificano che il software firmato sia legittimo e provenga da un fornitore noto, poiché menziona tutti i dettagli richiesti relativi al fornitore insieme alla marcatura temporale.

La firma del codice perché è importante
Oggi, poiché possiamo scaricare qualsiasi software da Internet, la firma del codice è diventata molto importante per gli sviluppatori e i distributori di software per aiutarli a proteggere i loro prodotti. Un utente malintenzionato con sufficiente esperienza, infatti, può facilmente mascherarsi da utente legittimo per piazzare malware sul device di un utente inconsapevole. Il certificato di firma del codice assicura che questi tipi di attacchi non possano verificarsi, a condizione che gli utenti scarichino il software solo da una fonte legittima e con un certificato di firma del codice autentica. Oggigiorno, infatti, quando il software viene scaricato su un computer, il sistema operativo verifica il certificato digitale per garantire la legittimità del software. Se non viene trovato alcun certificato digitale, l’utente riceve un alert in cui gli viene richiesto di interrompere o continuare l’installazione.

I certificati di firma del codice
- Certificati di convalida standard:
questo è il tipo predefinito di certificato di firma del codice e prevede le convalide di base dell’editore o dello sviluppatore da parte dell’autorità di certificazione. Per ottenere un certificato di firma del codice standard, gli sviluppatori del software devono soddisfare alcuni requisiti di base come la lunghezza minima della chiave, il periodo di validità massimo e l’indicazione dell’ora per le firme digitali. - Certificati a convalida estesa (EV):
i certificati di firma del codice EV comportano un elevato livello di convalide e controllo dell’editore del software da parte della CA e vengono generalmente emessi su un token hardware per livelli di sicurezza aggiuntivi. Per ottenere un certificato EV, oltre ai requisiti di base dei certificati standard, bisogna conformarsi a requisiti molto più severi, ad esempio il mantenimento delle chiavi private in un Hardware Security Module (HSM) conforme a FIPS (Federal Information Processing Standard) 140 Livello-2 o equivalente.
Come funziona la firma del codice
La firma del codice è composta da più passaggi. Inizia con la creazione di una coppia di chiavi univoche. Una volta creata la chiave pubblica viene condivisa con una CA attendibile, confermando che la chiave appartiene al proprietario e restituendo il certificato di firma del codice con firma digitale.
Una volta verificati e restituiti la chiave pubblica e un certificato di firma del codice digitale, il codice del software viene eseguito tramite una funzione hash. Ciò fornisce un valore per confrontare i dati inviati al consumatore. L’output viene quindi crittografato utilizzando la chiave privata. Il digest, la funzione hash e il certificato di firma del codice sono ora integrati in un blocco di firma e posizionati nel software, che viene inviato all’utente.


Infine, quando il software viene scaricato sul computer dell’utente, il sistema verifica l’autenticità del certificato di firma del codice. Una volta assicurata l’autenticità, il digest viene decriptato utilizzando la chiave pubblica creata all’inizio. La funzione hash viene ora utilizzata nel codice del software e il digest risultante viene confrontato con il digest inviato dallo sviluppatore. Se questi corrispondono dopo il confronto, il software è sicuro da installare; in caso contrario, mostra un pop-up in cui viene detto che il software non è sicuro.
I vantaggi della firma del codice
La firma del codice offre molteplici vantaggi, i principali sono:
- Autenticità:
Gli utenti possono fidarsi del software che stanno scaricando se dispone di un certificato di firma del codice. Non devono preoccuparsi di scaricare malware sul proprio device. L’utente può fidarsi del mittente e anche lo sviluppatore può fidarsi che il proprio software non venga utilizzato in modo improprio. - Integrazione:
poiché molti dei più grandi negozi di applicazioni mobili e Web affidabili, come IOS AppStore o Google Play Store, richiedono la firma del codice, gli sviluppatori possono distribuire il loro software attraverso ancora più piattaforme. - Timestamp:
il timestamp è una parte facoltativa del processo di firma del codice, che consente al software di riconoscere se una firma applicata è valida, anche dopo la scadenza di un certificato. Senza il timestamp, la scadenza/revoca dei certificati di firma del codice ridurrebbe la fiducia dei clienti nello stesso prodotto software. I timestamp assicurano che, anche se i certificati perdono validità o vengono revocati per qualche motivo, le loro firme rimangono valide, sicure e affidabili.
I possibili svantaggi della firma del codice
Ci sono anche diversi punti deboli nella firma del codice, tra cui:
- Protezione delle chiavi:
una sicurezza inappropriata della chiave privata può causare l’insicurezza del software. Se una chiave privata legittima viene rubata, gli hacker possono codificare il loro software dannoso con la chiave privata, notificando all’utente che il software è sicuro da usare, anche se non lo è. - Ignoranza:
se l’utente consente l’installazione del software, anche se il sistema operativo mostra che non è legittimo, la firma del codice è inutile.
In coclusione
Il software non firmato è soggetto a manomissioni, come l’inserimento di spyware o malware, quindi gli utenti finali sono incoraggiati a non eseguire codice non firmato. Il download o l’esecuzione di applicazioni non firmate genererà preoccupanti avvisi di sicurezza. Una volta firmata digitalmente, i clienti possono essere certi dell’identità dello sviluppatore del software e che il software non è stato alterato da quando è stato pubblicato dal fornitore originale. Gli avvisi di sicurezza visualizzati con codice non firmato vengono sostituiti da notifiche contenenti le informazioni dell’editore del software, aggiungendo un livello di base di attendibilità all’applicazione.
Top SSL, rivenditore ufficiale GlobalSign, offre tutti gli strumenti e i prodotti SSL per le imprese e i privati che vogliono garantire la sicurezza dei propri utenti, rispondere alle minacce e gestire in maniera efficiente i costi relativi alla gestione dei certificati SSL / TLS. Cosa stai aspettando? Inizia oggi stesso, contattaci!
Rimani in Contatto con Noi
Se hai una domanda inviaci una mail.
Sarai ricontattato dal Nostro servizio Clienti al più presto.