Firma digitale e certificato digitale: una guida semplice

Prima che il mondo iniziasse a digitalizzare, faceva molto affidamento su documenti firmati per approvare, autenticare e ritenere responsabili diverse parti in transazioni e diversi tipi di accordi. La firma digitale e il certificato digitale rappresentano un moderno sostituto delle firme standard. 

Significativamente più veloce dell'invio di documenti per posta e dell'invio di documenti tramite fax, la firma digitale è stata di aiuto in diverse aziende. 

Che cos'è una firma digitale? 

Una firma digitale è una verifica elettronica del mittente di un documento, che consente al destinatario di determinare se il contenuto originale è stato alterato da un intermediario. 

La chiave privata e la chiave pubblica sono i due elementi essenziali di una firma digitale, creati contemporaneamente da un algoritmo dedicato. Anche se sono creati per essere matematicamente correlati, in apparenza saranno diversi. 

Una firma digitale ha tre scopi: 

  1. Autenticazione – il destinatario può stabilire la paternità di un messaggio e determinare se il mittente è chi afferma di essere. 
  2. Non ripudio – il mittente non può negare di aver inviato il messaggio in un secondo momento e può essere ritenuto responsabile per il messaggio non alterato. 
  3. Integrità – il messaggio non è stato modificato. 

E infatti la firma digitale ha valore legale negli Stati Uniti, Unione Europea, Svizzera, Sud Africa, Algeria, Turchia, India, Brasile, Indonesia, Messico, Arabia Saudita, Uruguay e Cile. 

Come creare una firma digitale? 

Per creare una firma digitale, devi firmare il messaggio con la tua chiave privata.  

La chiave privata è l'elemento di questa equazione che solo tu possiedi e, fornendola, mostri la prova che sei tu quello che ha firmato un documento. 

Innanzitutto, esegui l'hashing del testo normale per tenere traccia della versione inalterata del messaggio che stai per inviare.  

NOTA A MARGINE. L'hashing è la trasformazione di un contenuto specifico di qualsiasi lunghezza in un valore di lunghezza fissa più breve. 

L'algoritmo di hashing più preferito in questi giorni è SHA256 (Secure Hashing Algorithm). Tieni presente che l'hashing è un processo a senso unico e una piccola modifica nell'input cambia l'intero output.  

Successivamente, crittograferai l'hash del testo normale con la tua chiave privata, che risulterà nella firma digitale. 

Alleghi la firma digitale al documento di testo normale e la invii. 

Attraverso crittografia asimmetrica, il destinatario sarà in grado di decifrare la tua firma digitale e confrontare l'hash del testo normale con l'hash che fornisci.  

Quindi, potresti chiederti come si esegue l'hashing di un documento. Fortunatamente, un programma sul tuo computer lo farà automaticamente per te.  

Ecco come puoi generare l'hash di un documento su Windows 7/8/10: 

  1. Accedi al “Prompt dei comandi”;  
  2. Digita "certutil - hashfile" 
  3. Rilascia il documento nel "Prompt dei comandi". 
  4. Aggiungi "SHA256" alla fine della riga. 

La tua riga finale dovrebbe assomigliare a questa: 

certutil -hashfile "C:\Utente\Computer\Desktop\File.docx" SHA256 

In questo modo, la console visualizzerà un codice a 256 bit / 64 caratteri esadecimali che rappresenta il contenuto del file. 

Ma dove prendi una chiave privata e una chiave pubblica? 

Anche questo è abbastanza semplice.  

Puoi generarli tramite software, una piattaforma online o tramite un'infrastruttura a chiave pubblica (PKI) registrata presso un'autorità di certificazione. 

NOTA A MARGINE. La PKI è un formato accettato per gestire la crittografia a chiave pubblica che fornisce i massimi livelli di sicurezza e accettazione universale.  

Quindi, come si aggiunge una firma digitale con chiave privata a un documento? 

Per questo, devi usare ancora una volta software dedicati come Sign Server, Safe pdf o DocuSign. 

Come aiuta? 

Prendiamo uno scenario immaginario di come una firma digitale può proteggerti.  

Firmi digitalmente un contratto con un fornitore all'estero per servizi di outsourcing.  

Dopo aver concordato termini e condizioni e una tariffa di $ 20/ora, hai eseguito l'hashing del documento e lo hai firmato, quindi lo hai rispedito al fornitore. 

E qui arriva il problema.  

Il contratto firmato deve arrivare al manager della società di outsourcing, ma un venditore avido cambia la tariffa a $ 30/ora in modo da poter guadagnare una commissione maggiore. Quando è il momento di pagare, scopri improvvisamente che la tariffa è maggiore di quella che hai concordato. 

Come si prova che il documento è stato manomesso?  

Il gestore non era a conoscenza, ma ha voluto chiarire la situazione. Quindi, gli chiedi di usare la chiave pubblica per decifrare la tua firma e controllare l'hash. In questo modo, sarà in grado di individuare la differenza nell'output hash e determinare che il contratto è stato modificato.  

E anche se il manager non è disposto a collaborare, puoi portarlo in tribunale, dimostrare che hai ragione e ritenerlo responsabile. 

Firma digitale in Blockchain 

La blockchain di Bitcoin utilizza l'algoritmo SHA256 e la firma digitale per garantire l'immutabilità delle informazioni memorizzate sul blockchain. La firma digitale aiuta a tenere traccia delle transazioni e prevenire le doppie spese. 

Le transazioni vengono prese come input e vengono eseguite tramite un algoritmo di hashing, quindi restituite come output con una lunghezza fissa. I dati vengono quindi aggiunti all'interno di un blocco. Il blocco contiene anche un puntatore hash che punta al blocco precedente.  

Il puntatore hash contiene l'hash di tutti i dati all'interno del blocco precedente. Qualsiasi lieve modifica dei dati contenuti in un blocco comporterà una drastica modifica dell'hash. La modifica non ricade solo sul blocco attuale ma anche su tutti i blocchi precedenti, annullandoli quindi. 

Che cos'è un certificato digitale? 

Come avrai già intuito, non è così complicato creare una firma digitale e utilizzarla. È proprio qui che sta la sua debolezza.  

Una parte malintenzionata potrebbe tentare di creare una firma digitale e una chiave pubblica per fingere di essere qualcun altro. Se una persona riceve un tale messaggio firmato digitalmente e conclude che il documento è legittimo, quella persona sarà esposta a un attacco informativo da parte del malintenzionato.  

La firma digitale da sola non verifica la vera identità del mittente e la sua chiave pubblica, pertanto, manca di autenticazione. 

Tuttavia, questo problema è risolto da un certificato digitale. Un certificato digitale è una credenziale elettronica rilasciata da un'autorità di certificazione.  

L'autorità di certificazione registra tramite una PKI l'identità del proprietario e verifica anche che il proprietario sia effettivamente proprietario della chiave pubblica. 

Il certificato digitale di solito contiene il nome del proprietario, la chiave pubblica, l'autorità di certificazione e la firma digitale. In questo modo si riduce notevolmente il rischio di ricevere una firma digitale da una parte malintenzionata. 

Come creare un certificato digitale? 

Principalmente ci sono due modi per creare un certificato digitale: 

  1. Crei un certificato autofirmato. 
  2. Lo richiedi a un'autorità di certificazione (CA). 

1. Certificato autofirmato 

Esistono diversi metodi per creare un certificato autofirmato, ma per comprendere il processo faremo riferimento al certificato X509 autofirmato. Puoi crearlo da solo in OpenSSL. 

Basta aprire il prompt dei comandi e digitare "openssl". 

Quindi, digita "OpenSSL req -x509 -days 365 -newkey rsa:2048 -keyout my-key.pem -out my-cert.pem". 

E mentre ad alcuni di voi questo potrebbe sembrare incomprensibile, vediamo cosa significa tutto ciò: 

  • 'Req' significa che si tratta di una richiesta di certificato; 
  • 'x509' indica il tipo di certificato; 
  • '365' indica il numero di giorni in cui sarà valido; 
  • 'newkey' significa che sarà un nuovo certificato;
  • 'Keyout' sarà il file chiave.

Successivamente, sarai in grado di creare la chiave privata e aggiungere le informazioni di identificazione.  

Puoi trovare una guida passo passo qui

Tuttavia, un certificato digitale autofirmato fornisce solo la crittografia ma non l'attendibilità. Un tale certificato è un facile bersaglio per gli hacker. Possono replicarlo e fingere di essere l'"emittente" e iniziare a phishing per informazioni personali. 

In effetti, i siti Web che utilizzano certificati SSL autofirmati sono contrassegnati come "non attendibili" dai browser Internet. 

2. Certificato rilasciato da CA 

Il certificato digitale convalidato da un'autorità di certificazione è il metodo più affidabile e sicuro. È anche più facile da ottenere, ma potrebbe comportare una commissione.  

L'autorità di certificazione di solito richiede una tariffa per l'emissione di un certificato e puoi richiedere solo il loro certificato o richiedere loro di gestire tutte le PKI. 

Se hai bisogno di un semplice certificato, puoi contattarli telefonicamente o via email. Verificheranno la tua identità, quindi ti consegneranno un certificato che dovrebbe contenere la chiave pubblica, l'identificazione dell'autorità di certificazione e l'identificazione dell'utente. 

Oltre alla certificazione digitale, puoi chiedere ad alcune aziende di gestire tutti gli aspetti della PKI, i token di accesso e l'autenticazione a più fattori per utenti, dispositivi e macchine. 

Nel caso del sito Web, la richiesta di firma del certificato arriva come comando con il server web. 

Punti chiave 

  • Una firma digitale è una verifica elettronica del mittente. Si basa sulla crittografia asimmetrica e utilizza una chiave privata per crittografare il messaggio e una chiave pubblica per decrittografarlo. 
  • Il contenuto del messaggio viene sottoposto a hash per mantenerne l'integrità. Tuttavia, l'hash è un processo unidirezionale e viene utilizzato per convalidare che il contenuto non sia stato alterato. 
  • Il messaggio ricevuto viene decrittografato con la chiave pubblica e l'hash del contenuto deve corrispondere al valore hash fornito dal mittente. In caso contrario, il destinatario ha motivo di ritenere che il contenuto sia stato alterato. 
  • Una sola firma digitale manca di autenticazione. Pertanto, deve essere supportato da un certificato digitale emesso da un'autorità di certificazione. 

* Le informazioni contenute in questo articolo ei collegamenti forniti sono solo a scopo informativo generale e non devono costituire alcun consiglio finanziario o di investimento. Ti consigliamo di fare le tue ricerche o di consultare un professionista prima di prendere decisioni finanziarie. Si prega di riconoscere che non siamo responsabili per eventuali perdite causate da qualsiasi informazione presente su questo sito web.

Fonte: https://coindoo.com/digital-signature/