Questo sito è tradotto automaticamente in più lingue con un software sviluppato da Kohei Koyanagi. Per maggiore accuratezza, fai riferimento alla versione originale in inglese .

Come Proteggiamo le Tue Password

Splync Non Memorizza Mai le Tue Password in Chiaro

Nei precedenti articoli, abbiamo esplorato come HTTPS protegge la rotta tra la tua app e il nostro server, e come SSH mette in sicurezza il server stesso. Ora è il momento di guardare dentro il server — a come Splync mantiene al sicuro la tua password una volta che arriva lì. Se qualcuno ottenesse la tua password, potrebbe accedere al tuo account e alle informazioni sensibili, inclusi i tuoi registri delle spese. Ecco perché Splync non memorizza mai le password in chiaro. Invece, ogni password viene trasformata in una versione hash prima di essere salvata nel database. Cosa significa esattamente? L'hashing è una conversione a senso unico — una volta trasformata, non può mai essere riportata alla password originale. Questo metodo è standard su internet, dalle banche ai principali servizi cloud, eppure molte persone non sanno come funziona davvero. Esploriamolo attraverso un'analogia semplice e quotidiana.

Nozioni di Base sull'Hashing: Un Frullatore che Mescola Sempre allo Stesso Modo

Per capire come funziona la protezione delle password, iniziamo con un semplice metodo di hashing chiamato SHA-256. Pensalo come un frullatore che mescola sempre gli ingredienti esattamente allo stesso modo. Se inserisci la stessa password nel frullatore e premi il pulsante, otterrai sempre lo stesso smoothie unico — un mix confuso di lettere e numeri. L'idea chiave è che il processo non può essere invertito. Proprio come non puoi prendere uno smoothie e separarlo di nuovo in banana e latte originali, non puoi prendere l'hash confuso e recuperare la password originale.

Esempio di SHA-256: Come Verificare le Password Senza Conoscerle

SHA-256 è uno degli algoritmi di hashing più comuni. Per esempio, hash la password "splync1234" in "9cdafa20d069ecfb202e5f0bc937c73071cc6cd85634cc2d95d30ddcf2a71d41". In millisecondi, ogni volta che un utente esistente inserisce una password di accesso, SHA-256 produce sempre la stessa password hash. L'app semplicemente hash di nuovo la password inserita e verifica se corrisponde all'hash memorizzato. In nessun momento il sistema conosce mai la password originale dell'utente. Ma cosa succede se un attaccante pre-calcola una lista di password comuni e i loro hash (conosciuto come attacco di tabella arcobaleno) per indovinare rapidamente le password degli utenti? Questo timore è molto reale. Ecco perché i sistemi moderni, incluso Splync, non si affidano a un semplice SHA-256.

Splync Hasha le Password con bcrypt — Più Forte di SHA-256

Bcrypt utilizza un sale casuale per utente e codifica quel sale (e il fattore di costo) direttamente nella stringa hash memorizzata. Pensa a bcrypt come a un frullatore con una spezia segreta (sale) e un motore lento (fattore di lavoro) — rende ogni mix unico e più difficile da copiare. Poiché il sale è di 128 bit (≈3×10³⁸ possibilità), la stessa password può mappare un numero astronomicamente grande di hash memorizzati diversi. Ciò rende inutili le tabelle arcobaleno pre-calcolate su larga scala. Durante il login, Splync legge il sale e il costo dalla stringa bcrypt salvata, riesegue bcrypt sulla password inserita con quei parametri e confronta il risultato con l'hash memorizzato. Se corrispondono, la password è corretta — ma poiché bcrypt è intenzionalmente lento e i sali sono unici, gli attacchi di forza bruta diventano molto più costosi per un attaccante.

Un Semplice Esempio con bcrypt

Vediamo come appare in pratica. Se hash la password "splync1234" con bcrypt (usando costo 12), potresti ottenere una stringa come questa: `$2b$12$gBeouKYdue9uvvuV0HtGgeVPymnrojMqP/wcRw28HFlGEGIQbyw7O`. In questa stringa bcrypt, `$2b` indica la versione dell'algoritmo, `$12` mostra il fattore di costo (quante volte la password è processata), `gBeouKYdue9uvvuV0HtGgeV` è il sale casuale unico, e `PymnrojMqP/wcRw28HFlGEGIQbyw7O` è la password finale hashata. Poiché l'hash stesso contiene il sale e il costo, Splync può riprodurre lo stesso processo di hashing per la verifica estraendo quei valori dalla stringa memorizzata e confrontando il risultato. D'altra parte, se un attaccante non conosce il sale e il costo, non può costruire una singola tabella arcobaleno che funzioni per ogni utente.

Le Password Hashate Offrono Doppia Protezione

Questo approccio ha un altro vantaggio importante. Poiché Splync non memorizza mai password in chiaro, anche se il database venisse violato o rubato, gli utenti non sono immediatamente a rischio. Gli aggressori non possono accedere direttamente con i dati rubati, perché quello che hanno sono solo stringhe confuse. Questo design offre agli utenti un ulteriore livello di protezione, oltre alle difese che già esistono intorno al server stesso. L'hashing delle password non è un'esclusiva di Splync; è lo standard in tutta l'industria tecnologica, utilizzato da giganti come Google, Apple e Amazon. Splync è stato costruito in modo molto sicuro, e diventerà solo più sicuro man mano che continuiamo a migliorare la sicurezza con funzionalità come la verifica email, la protezione dalla forza bruta e il monitoraggio costante.