Sommario:
- Navigazione articolo
- Ricapitolare
- Crittografia e firma digitale
- Firme digitali
- Raggiungere la sicurezza dei messaggi
- Qual è il prossimo?
- Articolo precedente
- Articolo successivo
Navigazione articolo
Dai un'occhiata alla serie completa di articoli:
- Crittografia e firme digitali
Ricapitolare
I due articoli precedenti ci hanno fornito un'ampia introduzione alla crittografia prima di passare direttamente alla discussione sulle firme digitali.
La firma digitale e la sua verifica sono uno dei principali concetti chiave alla base di Blockchain su cui si basano le applicazioni di criptovaluta come Bitcoin.
In una rete Blockchain, è importante essere in grado di identificare correttamente i partecipanti a una transazione dimostrando che la firma proviene dal titolare della chiave privata e che la transazione è valida.
Le firme digitali forniscono autenticazione, integrità dei dati e non ripudio, tutti elementi fondamentali per una rete Blockchain. Di conseguenza, chiunque sulla rete può fidarsi delle transazioni anche senza un intermediario.
Crittografia e firma digitale
Come quello che abbiamo visto nell'articolo precedente, una crittografia a chiave pubblica crea un messaggio crittografato mentre una chiave privata crea una firma digitale.
Uso della crittografia
Firme digitali
Oltre alla crittografia e alla decrittografia dei dati, la crittografia a chiave pubblica può essere utilizzata per creare una firma digitale per fornire autenticazione, integrità dei dati e non ripudio in una rete Blockchain.
I passaggi seguenti spiegano il processo per un modello di firma digitale basato sulla crittografia a chiave pubblica rappresentata nel diagramma seguente:
- Tutti i nodi partecipanti sulla rete Blockchain hanno una coppia di chiavi pubblica-privata, generata matematicamente.
- Il messaggio nella sua forma in chiaro viene inserito in un algoritmo di hash per generare un messaggio con hash, noto anche come Message Digest. In un'applicazione di criptovaluta come Bitcoin, il messaggio contiene la transazione emessa dal mittente.
- Il messaggio con hash viene quindi firmato dalla chiave privata del mittente e inviato sulla rete Blockchain, insieme al messaggio in formato di testo normale.
- I nodi partecipanti sulla rete Blockchain proveranno ora a convalidare il messaggio controllando la firma digitale per verificare che corrisponda alla chiave pubblica dell'indirizzo da cui il messaggio è stato inviato passando attraverso un algoritmo di verifica.
- Poiché la firma digitale è stata creata utilizzando la chiave privata del mittente, la rete può facilmente provare che la firma proviene dal titolare della chiave privata utilizzando la chiave pubblica del mittente corrispondente.
- Il messaggio di testo in chiaro viene inviato attraverso un altro algoritmo di hash per generare un valore hash. Questo valore hash viene confrontato con il valore hash dall'output dell'algoritmo di verifica sopra. La convalida viene eseguita senza che il mittente debba rivelare la propria chiave privata.
Nel caso di Bitcoin, la rete verifica anche che il mittente disponga di bitcoin sufficienti per inviare e che il mittente non li abbia già inviati a un altro destinatario. Ciò si ottiene eseguendo la cronologia delle transazioni, che è pubblica nel registro bitcoin.
Modello di firma digitale
Invece di firmare digitalmente il messaggio di testo normale, la firma digitale viene formata con l'hash dei dati. Il messaggio con hash è una rappresentazione univoca ma un digest relativamente più piccolo dei dati. Questo rende la blockchain più efficiente.
Raggiungere la sicurezza dei messaggi
Vediamo ora perché è così importante utilizzare le firme digitali in Blockchain:
- Integrità: le firme digitali e l'algoritmo di hashing garantiscono che i dati non siano stati oggetto di accessi e modifiche illegali da parte di eventuali aggressori. Ciò significa che i dati non possono essere modificati senza essere rilevati.
- Autenticazione: le firme digitali stabiliscono la fiducia tra un mittente e un destinatario in una rete Blockchain. Il destinatario può essere sicuro che solo il mittente avrebbe potuto inviare questo messaggio.
- Non ripudio: il mittente non può negare l'invio del messaggio poiché la firma digitale può essere creata solo da un mittente che possiede la chiave privata corrispondente e nessun altro.
Qual è il prossimo?
Non abbiamo parlato molto di hashing poiché sarà trattato nel prossimo articolo. Per ora, dobbiamo solo sapere che l'hashing è un algoritmo matematico o una funzione che mappa i dati di dimensioni arbitrarie su un hash di dimensione fissa. Esempio,
Esempi di hash
In sintesi, l'hashing verifica che i dati non siano stati modificati o manomessi.
Articolo precedente
- Sbloccare la Blockchain: crittografia a chiave pubblica
Blockchain utilizza la crittografia a chiave pubblica (algoritmi a chiave asimmetrica) per proteggere i messaggi di transazione attraverso la rete. In Blockchain, le firme digitali basate sulla crittografia a chiave pubblica vengono utilizzate per dimostrare che un messaggio proviene da una specifica p
Articolo successivo
- Sbloccare la Blockchain: Hashing
Ci sono due concetti crittografici fondamentali che tengono insieme la Blockchain. La firma digitale e l'hashing garantiscono che le transazioni su una Blockchain siano eseguite solo da persone legittime e che i record rimangano liberi da manipolazione
© 2018 Heng Kiong Yap