password crypto

L’archiviazione e la gestione sicura di dati e password è uno degli aspetti più importanti nel mondo crypto e blockchain, e più in generale in tutti gli ambienti online.

La crittografia, intesa come l’arte delle “scritture nascoste” in grado di convertire testo semplice in testo crittografato e viceversa, viene in nostro aiuto rendendo difficile agli hacker consentire l’accesso non autorizzato a determinate reti e transazioni.

Esaminiamo i diversi metodi attraverso i quali la crittografia può proteggere informazioni preziose e salvaguardare le password.

Crittografia simmetrica e asimmetrica delle password nel settore crittografico

Generalmente quando si parla di protezione tramite password in crittografia si fa riferimento a due metodi di crittografia: simmetrico e asimmetrico.

Quella simmetrica si riferisce a un tipo di crittografia del testo che utilizza un'unica chiave per crittografare e decrittografare le informazioni: 

La chiave di crittografia è condivisa tra mittente e destinatario e solitamente viene concordata in anticipo: rappresenta l'elemento centrale che nelle criptovalute consente agli utenti di accedere e gestire le proprie risorse digitali.

La crittografia simmetrica con un'unica chiave è uno dei mezzi più comuni per proteggere password, transazioni e comunicazioni tra nodi operativi.

Quando si esegue, ad esempio, un trasferimento di fondi da un portafoglio all'altro, garantisce che le informazioni vengano lette e condivise solo da due parti coinvolte nella transazione, mantenendo i dati al sicuro da occhi indiscreti.

Tuttavia, nonostante i vantaggi che comporta, la crittografia simmetrica presenta dei limiti in termini di scalabilità e gestione delle chiavi.

In effetti, la necessità di comunicare in coppia limita fortemente l’espansione di questa pratica in un sistema con molti più utenti. Allo stesso tempo, sempre più utenti implicano errori umani nella gestione e conservazione della cosiddetta “chiave privata”, che se persa porta alla perdita delle criptovalute o dei dati conservati nel portafoglio virtuale.

Per superare queste limitazioni, la crittografia asimmetrica viene in nostro aiuto fornendo 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 criptovaluta), 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. 

In ogni caso, chi possiede la chiave pubblica può cifrare un messaggio, ma solo il detentore della controparte privata può decifrare il testo. Possiamo immaginarla come se fosse una casella di posta elettronica: chi possiede la chiave pubblica può inviare un messaggio, ma solo il proprietario della chiave privata può aprire l'email e leggere i messaggi.

I portafogli software non custoditi come Trust Wallet o MetaMask utilizzano la crittografia asimmetrica per offrire la massima 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 scopi diversi e offrono diversi livelli di sicurezza:

  1. MD5 (compendio del messaggio 5):

L'algoritmo MD5, sviluppato da Ronald Rivest nel 1991, genera un hash a 128 bit (32 caratteri esadecimali) da un input di lunghezza variabile.

Non è più considerato sicuro a causa delle vulnerabilità scoperte nel suo algoritmo. Tuttavia, viene ancora utilizzato in alcuni contesti legacy, ad esempio per verificare l'integrità dei file.

  1. SHA-1 (algoritmo hash sicuro 1):

SHA-1 genera un hash a 160 bit (40 caratteri esadecimali).

Non è più considerato sicuro come una volta, avendo mostrato diverse vulnerabilità: ora è generalmente sostituito da algoritmi più robusti come SHA-256 e SHA-3. Tuttavia, è ancora utilizzato in un’ampia gamma di sistemi e nuove applicazioni.

  1. Sale:

Il salt è una sequenza casuale di bit che viene aggiunta alla password prima di calcolare l'hash.

Risolve il problema delle collisioni (due password diverse che generano lo stesso hash) nei metodi di hashing.

Aggiungendo un sale, anche le password identiche avranno hash completamente diversi. Ciò rende più difficile per gli aggressori decrittografare le password tramite attacchi di forza bruta.

  1. Cripta B:

Bcrypt è un algoritmo di hashing progettato specificamente per la crittografia delle password.

Utilizza un sale e un numero di iterazioni per rallentare 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. Oggigiorno è consigliabile utilizzare algoritmi di hashing come bcrypt o SHA-2 per proteggere le password e mitigare gli attacchi informatici.

Funzioni hash e firme digitali

Un altro modo per proteggere password e informazioni preziose nelle criptovalute è affidarsi alle funzioni hash, ovvero algoritmi che trasformano qualsiasi forma di dato in una stringa di caratteri di lunghezza fissa.

Utilizzando robusti algoritmi di hashing, possiamo proteggere efficacemente le informazioni sensibili e prevenire gli attacchi informatici.

Le funzioni hash sono irreversibili: non è possibile riconvertire un hash nei suoi dati originali. Sono essenziali nella gestione dei dati sulla blockchain perché permettono di strutturare le informazioni senza comprometterne l’integrità iniziale

Gli hash possono anche fungere da impronte digitali per tutte le password crittografate, proteggendo l'utente da azioni non autorizzate sul proprio account.

Infatti, qualsiasi modifica ai dati originali comporterebbe la creazione di 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ù specificatamente l’autenticità e l’integrità dei dati contenuti in un messaggio, è quello di utilizzare le cosiddette “firme digitali” (tecnica di crittografia asimmetrica).

Questo è semplicemente un metodo per garantire che il proprietario di quei dati specifici approvi la transazione. Generalmente, il mittente crea la firma digitale utilizzando una chiave privata per crittografare i dati della firma, mentre il destinatario ottiene la chiave pubblica del firmatario per decrittografare i dati. Questo codice rappresenta la prova inconfutabile che un messaggio è stato creato esclusivamente dal mittente e non è stato manomesso online.

Quando si parla di firme digitali, si pensa immediatamente a dispositivi di firma come Ledger, Trezor e Bitbox che consentono di convalidare una transazione prima che venga trasmessa al resto di una rete crittografica.

Attenzione però a non considerare questi dispositivi come portafogli: non contengono le tue criptovalute ma ti permettono solo di approvare le transazioni necessarie per spenderle.

Diciamo spesso: "la mia criptovaluta è sul mio registro".

Ma le tue risorse digitali non sono effettivamente archiviate fisicamente sul tuo Ledger: sono sulla blockchain.

Il tuo registro memorizza e protegge le tue chiavi private e le tiene al sicuro in modo che tu possa possedere e gestire completamente le tue risorse. Spiega @iancr: pic.twitter.com/PGrmQIvKpV

– Ledger (@Ledger) 11 maggio 2023