La conservazione e la gestione in sicurezza dei dati e delle password è uno degli aspetti più importanti nel mondo crypto e blockchain, e più in generale di tutti gli ambienti on-line.
La crittografia, intensa come arte delle “scritture nascoste” capace di convertire un testo in chiaro in testo cifrato e viceversa, ci viene in aiuto rendendo difficile agli hacker consentire l’accesso non autorizzato a determinate reti e transazioni.
Approfondiamo di seguito i diversi metodi con cui la crittografia può proteggere informazioni preziose e salvaguardare password.
Crittografia simmetrica e asimmetrica delle password nel settore crypto
Generalmente quando si parla di protezione delle password nelle crypto, si fa riferimento a due metodi di crittografia: simmetrica ed asimmetrica.
Quella simmetrica si riferisce advert una tipologia di criptaggio del testo che utilizza una sola chiave per cifrare e decifrare informazioni:
La chiave di codifica è condivisa tra mittente e destinatario e solitamente viene concordata in anticipo: essa rappresenta l’elemento centrale che nelle criptovalute consente agli utenti di accedere e gestire le proprie risorse digitali.
La crittografia simmetrica a singola chiave risulta uno dei mezzi più diffusi per proteggere password, transazioni e comunicazione tra nodi operatori.
Quando si esegue per esempio un trasferimento di fondi da un pockets all’altro, essa assicura che le informazioni vengano lette e condivise solo da due soggetti interessati nella transazione, tenendo al sicuro i dati da occhi indiscreti.
Advert ogni modo, nonostante i vantaggi che apporta, crittografia simmetrica presenta dei limiti in termini di scalabilità e gestione delle chiavi.
Infatti la necessità di una comunicazione in coppia, limita di molto l’espansione di questa pratica in un sistema con molti più utenti. Allo stesso tempo più utenti implicano errori umani nella gestione e conservazione della cosiddetta “non-public key”, la quale se persa porta alla perdita delle crypto o dei dati conservati nel portafoglio virtuale.
Per sopperire a questi limiti, la crittografia asimmetrica ci viene in aiuto predisponendo una coppia di chiavi separate (pubblica e privata) nella codifica e decodifica delle password.
Questo ulteriore livello di sicurezza aumenta istantaneamente la protezione dei dati: la chiave pubblica può essere condivisa con chiunque su qualsiasi rete (come quando condividiamo il nostro indirizzo per ricevere un pagamento in crypto), mentre la chiave privata deve essere mantenuta segreta.
Entrambe le chiavi sono generate da un algoritmo che utilizza grandi numeri primi per creare due chiavi uniche e matematicamente collegate.
Advert ogni modo chi possiede la chiave pubblica può crittografare un messaggio cifrato ma solo il detentore della controparte non-public può decifrare il testo. Possiamo immaginare la cosa come se fosse una casella di posta elettronica: chi detiene la chiave pubblica può inviare un messaggio ma solo il possessore di quella privata può aprire la mail e leggere i messaggi.
Software program pockets non custodiali come Belief Pockets o MetaMask utilizzano la crittografia asimmetrica per offrire maggiore sicurezza possibile ai propri utenti.
I formati più comuni di password crittografate
La crittografia delle password nel settore crypto e blockchain avviene secondo diversi formati che possono essere utilizzati per diversi scopi ed offrono livelli di sicurezza differenti:
- MD5 (Message Digest 5):
L’algoritmo MD5, sviluppato da Ronald Rivest nel 1991, genera un hash a 128 bit (32 caratteri esadecimali) a partire da un enter di lunghezza variabile.
Non è più considerato sicuro a causa delle vulnerabilità scoperte nel suo algoritmo. Tuttavia, è ancora utilizzato in alcuni contesti legacy, advert esempio per verificare l’integrità dei file.
- SHA-1 (Safe Hash Algorithm 1):
SHA-1 genera un hash a 160 bit (40 caratteri esadecimali).
Non è più considerato sicuro come un tempo avendo mostrato various vulnerabilità: ora è rimpiazzato generalmente da algoritmi più robusti come SHA-256 e SHA-3. Advert ogni modo viene ancora utilizzato in una vasta gamma di sistemi e nuove applicazioni,
- Salt:
Il salt è una sequenza casuale di bit che viene aggiunta alla password prima di calcolare l’hash.
Risolve il problema delle collisioni (due password various che generano lo stesso hash) nei metodi di hashing..
Aggiungendo un salt, anche password identiche avranno hash completamente diversi. Questo rende più difficile per gli attaccanti decifrare le password tramite attacchi di brute forcing.
- Bcrypt:
Bcrypt è un algoritmo di hashing specificamente progettato per la crittografia delle password.
Utilizza un salt e un numero di iterazioni per rendere più lento il calcolo dell’hash. È ampiamente utilizzato per proteggere le password degli utenti nel campo dei database
La scelta del formato di crittografia dipende dalle esigenze specifiche del sistema di riferimento. Al giorno d’oggi, è consigliabile utilizzare algoritmi di hashing come bcrypt o SHA-2 per proteggere le password e mitigare gli attacchi informatici.
Funzioni di hash e firme digitali
Un’altro modo per proteggere password ed informazioni preziose nelle crypto è quello di affidarsi alle funzioni di hash, ovvero algoritmi che trasformano qualsiasi forma di dato in una stringa di caratteri a lunghezza fissa.
Utilizzando algoritmi di hashing robusti, possiamo proteggere efficacemente le informazioni sensibili e prevenire attacchi informatici.
Le funzioni di hash sono irreversibili: non è possibile cioè riconvertire un hash nei suoi dati originali. Esse sono essenziali nella gestione dei dati su blockchain perché consentono di strutturare le informazioni senza comprometterne la loro integrità iniziale
Gli hash possono anche agire come impronte digitali per tutte le password crittografate, tali da proteggere l’utente contro azioni non autorizzate sul proprio account.
Infatti qualsiasi modifica ai dati originali comporterebbe un nuovo hash, che non corrisponderebbe più alla fonte originale e quindi non sarebbe verificabile sulla blockchain.
Un’altro metodo per garantire la sicurezza delle password, e più nello specifico l’autenticità e l’integrità dei dati in un messaggio, è quello di utilizzare le cosiddette “firme digitali” (tecnica crittografia asimmetrica).
Si tratta semplicemente di un metodo per accertare che il proprietario di quei dati specifici stia approvando la transazione. Generalmente Il mittente crea la firma digitale utilizzando una chiave privata per crittografare i dati relativi alla firma, mentre il destinatario ottiene la chiave pubblica del firmatario per decrittografare i dati. Questo codice rappresenta una prova inconfutabile che un messaggio è stato creato solo ed esclusivamente dal mittente e che non sia stato manomesso on-line.
Quando si parla di firme digitali si pensa subito ai dispositivi firma come Ledger, Trezor e Bitbox che permettono per l’appunto di validare una transazione prima che venga diffusa con il resto di una rete crittografica.
Attenzione però a non considerare questi dispositivi come pockets: essi non contengono le vostre criptovalute ma vi permettono solo di approvare le transazioni necessarie per spenderli.