crittografia simmetrica, Crittografia dei dati

CRITTOGRAFIA

... la sicurezza delle Blockchain

COME CRITTOGRAFARE...

...la sicurezza della blockchain deriva dal tipo di crittografia che utilizza.

Ogni transazione registrata su blockchain è crittografata e solo il suo destinatario è in grado di decriptarla.
In questo modo la blockchain non necessita di attuare particolari sistemi di sicurezza per "difendere" un dato,
in quanto questo viene reso indecifrabile da tutti coloro che non sono autorizzati a farlo.
Questo è stato possibile impiegando la crittografia asimmetrica.

CRITTOGRAFIA

COME FUNZIONA LA CRITTOGRAFIA ASIMMETRICA?



La crittografia asimmetrica si basa sull'utilizzo di una coppia di chiavi: chiave pubblica e chiave privata. La coppia di chiavi è legata matematicamente da una funzione, questa assicura che un messaggio criptato con una delle due chiavi possa essere decifrato solo dall'altra.
Esempio:
Abbiamo due persone: A e B.
A vuole inviare un documento di testo a B, ma vuole accertarsi del fatto che solo B sia in grado di leggere il contenuto di tale documento. A decide allora di utilizzare la crittografia asimmetrica, si serve quindi della chiave pubblica di B per criptare il suo messaggio (A conosce la chiave pubblica di B in quanto, essendo appunto pubblica, B l'ha messa a disposizione di A).
Il documento così criptato non è più decifrabile da A, in quanto non è in possesso della chiave privata di B (questa, al contrario della chiave pubblica, è appunto privata: solo B ne è in possesso). B riceve il documento e riesce a decifrarlo utilizzando la sua chiave privata.

CRITTOGRAFIA

Una volta che B ha ricevuto e aperto il documento, decide di rispondere ad A utilizzando lo stesso metodo di crittografia, così da essere sicuro che solo lui possa leggere il contenuto del suo documento. Cripta quindi il documento utilizzando la chiave pubblica di A. A riceve il documento e riesce a decriptarlo utilizzando la sua chiave privata.
Il documento così criptato non è più decifrabile da A, in quanto non è in possesso della chiave privata di B (questa, al contrario della chiave pubblica, è appunto privata: solo B ne è in possesso). B riceve il documento e riesce a decifrarlo utilizzando la sua chiave privata.
Il funzionamento della crittografia asimmetrica è piuttosto semplice quanto efficace. Dovresti aver compreso che chiunque sia in possesso della chiave pubblica usata per criptare un messaggio non sarà in grado di decifrarlo, l'unico modo per farlo è utilizzare la chiave privata associata alla chiave pubblica utilizzata.
Questo meccanismo non è efficace se utilizzato al contrario, in quanto se si dovesse criptare un messaggio utilizzando la chiave privata, chiunque fosse in possesso della chiave pubblica associata sarebbe in grado di decifrarlo.



CRITTOGRAFIA

COME VIENE APPLICATO SULLA BLOCKCHAIN?



La blockchain utilizza la crittografia asimmetrica per permettere lo scambio di beni (come ad esempio criptovalute) tra una persona e un'altra.Ogni persona che detiene un bene (di qualsiasi tipo) sulla blockchain è in possesso di una chiave pubblica - nota anche come "address" (indirizzo) - e di una chiave privata. Per rendere più semplice il tutto utilizzeremo 2 identità in possesso di 2 chiavi pubbliche per fare degli esempi:

Paolo | address: 0x1234567890
Mario | address: 0x5678901234

Paolo e Mario sono identificati all'interno della blockchain con un address, questo è reso pubblico e chiunque voglia inviare loro dei beni dovrà inviarli al rispettivo indirizzo.
Ognuno di loro è in possesso della rispettiva chiave privata, questa garantisce che l'invio di eventuali beni sia realmente voluto dal proprietario di tali beni (proprio come se fosse il pin della carta di credito), in quanto solo chi è in possesso della chiave privata è in grado di effettuare il trasferimento di un bene.
Ovviamente, chiunque altro sia in possesso della chiave privata sarà in grado di effettuare qualsiasi operazione (proprio come se qualcuno conoscesse le credenziali per accedere al tuo on-banking), per questo è necessario custodire le proprie chiavi private in luoghi sicuri, così da limitare il rischio di essere derubati.
Vediamo nel dettaglio qual è il procedimento che avverrebbe se Paolo dovesse inviare 1 bitcoin (BTC) a Mario: Paolo accede ai suoi beni utilizzando la sua chiave privata, a questo punto trasferisce 1 bitcoin verso l'address 0x5678901234 di Mario e qui entra in gioco la crittografia asimmetrica, in quanto la transazione viene criptata utilizzando la chiave pubblica di Mario:
La transazione avviene in maniera sicura e legittima, in quanto è Paolo ad aver inviato la transazione (essendo questa autorizzata dalla chiave privata di Paolo) verso l'address di Mario, mentre è solo Mario in grado di decriptare la transazione, utilizzando la sua chiave privata. Per entrare nei dettagli di quello che accade dietro le quinte di una transazione, all'interno della blockchain, ti consigliamo di visitare la sezione mining di Criptopedia.



CRITTOGRAFIA

FISICAMENTE DOVE VENGONO CONSERVATE LE CRIPTOVALUTE?



Comunemente in rete si dice che le criptovalute vengono conservate all'interno di appositi wallet, questo però non è proprio corretto.
Senza addentrarci in troppi tecnicismi possiamo dire che le criptovalute risiedono sulla blockchain, mentre i wallet tengono traccia di tutte le transazioni che avvengono all'interno della blockchain. Il wallet è quindi uno strumento che possiamo utilizzare per comunicare direttamente con la blockchain, per inviare e ricevere criptovalute.
Aprire un wallet è semplice e può farlo chiunque, tramite appositi software, piuttosto che hardware, o in alternativa creando un wallet manualmente (paper-wallet).
L'utilità di questo strumento è paragonabile a quella offerta da un comune conto corrente bancario, con la differenza che la blockchain non ci chiede il codice fiscale o altri dati identificativi per aprirne uno.

Quando viene aperto un wallet, il proprietario viene a conoscenza di una chiave pubblica e una privata. Tramite la chiave pubblica è quindi possibile ricevere delle transazioni, mentre tramite la chiave privata è possibile sbloccare il wallet ed effettuare qualsiasi operazione.
La chiave privata, metaforicamente parlando, rappresenta la "firma" del proprietario del wallet, quindi chiunque ne fosse in possesso potrebbe "firmare" (quindi autorizzare) qualsiasi tipo di transazione come se fosse il legittimo proprietario.
Agli occhi di tutti, le transazioni firmate in questo modo, risulterebbero essere transazioni legittime. Proprio per quanto appena detto è importante custodire in un luogo sicuro la chiave privata del proprio wallet.




CRITTOGRAFIA

LA CHIAVE PRIVATA PERMETTE A CHIUNQUE DI ACCEDERE AL VOSTRO WALLET



Sì, esatto, ed è per questo che la chiave privata andrebbe custodita in un luogo sicuro.
Chi conosce la chiave privata di un wallet è come se possedesse lo stesso wallet, in quanto potrebbe spendere o inviare i fondi a un qualsiasi altro indirizzo.
Per fare un esempio si potrebbe paragonare la chiave pubblica a un bancomat e la chiave privata il suo pin.
Essendo la chiave pubblica (bancomat) nota a tutti, chiunque entrasse in possesso della chiave privata (pin) sarebbe in grado di svuotare il conto. Noi consigliamo sempre di conservare la chiave privata in più copie e in più luoghi fisici (quindi scritta su carta e non salvata su un file a computer).
Nessuno dovrà mai entrare in possesso della tua chiave privata.