Crittografia vs. Hashing

Crittografia vs. Hashing
Con il crescente numero di attacchi informatici ogni minuto, la necessità di sicurezza informatica è più che mai. Uno di questi domini della sicurezza informatica che ha guadagnato molto slancio nell'ultimo decennio è la crittografia. La crittografia è di diversi tipi; Tuttavia, hashing e crittografia sono i tipi più fondamentali di crittografia.

Anche se sia hashing che crittografia prendono un testo di input e restituiscono quei dati in un formato illeggibile, ci sono molte differenze sottili, come entrambe le operazioni incorporano modi diversi per prendere i dati grezzi come input, differiscono negli algoritmi applicati e in output in vari formati. Ancora più importante, le loro proprietà diverse definiscono un ambito di utilizzo unico.

L'articolo spiega questi meccanismi, la loro vasta gamma di proprietà e la loro area di applicazione dando una comprensione approfondita delle loro differenze.

Crittografia

La crittografia è il processo di utilizzo di tecniche matematiche per rimescolare dati leggibili dall'uomo o testo in chiaro in un formato illeggibile. La forma illeggibile o crittografata nota come testo cifrato è accessibile solo alle parti autorizzate tramite chiavi crittografiche.

Come funziona la crittografia?

Il processo di crittografia incorpora l'uso di algoritmi e chiavi per mappare il testo in chiaro su un testo cifrato. Il testo cifrato è crittografato/decrittografato con l'aiuto di una chiave che può essere lo stesso (condiviso) o matematicamente correlato (pubblico/privato). Quindi, a seconda del numero di chiavi, classifichiamo le crittografia in due tipi principali: crittografia simmetrica e asimmetrica.

Crittografia simmetrica: La crittografia della chiave simmetrica incorpora una chiave singola/segreta/condivisa per la crittografia e la decrittografia. Il vantaggio principale della crittografia simmetrica è che è utile per crittografare e inviare file di grandi dimensioni nel tempo minimo. Tuttavia, richiede uno scambio sicuro iniziale della chiave tra le parti comunicanti. Alcuni degli esempi più comuni sono DES, Triple-Des, AES e RC.

Crittografia asimmetrica: Gli algoritmi di crittografia di crittografia asimmetrici/crittografia a chiave pubblica usano una coppia di chiavi private e pubbliche non identiche ma matematicamente correlate. Una chiave privata è nota solo a una parte selezionata o a una persona che può mantenerla segreta, mentre una chiave pubblica è nota a tutti. Gli esempi di cifratura più comuni sono Diffie-Hellman, RSA (Rivest-Shamir-Adleman) e abbastanza buona privacy (PGP).

Scopo della crittografia:

La crittografia mira a proteggere i dati digitali a riposo e in transito dall'accesso non autorizzato. Quindi, l'idea principale alla base della crittografia era quella di ottenere la riservatezza nascondendo le informazioni in un formato accessibile solo a un individuo autorizzato.

Pertanto, le applicazioni di crittografia nella maggior parte dei casi d'uso sono in risposta a un requisito aziendale. Alcuni dei tanti casi d'uso di crittografia sono:

La crittografia del database è stata inizialmente vista come un sovraccarico non richiesto, ma la recente ondata di violazioni dei dati lo ha reso un caso di utilizzo più alto per i database relazionali/mysql/nOSQL. La motivazione per la protezione del database è affrontare le violazioni dei dati, la conservazione della privacy e soddisfare le leggi sulla privacy statale.

Un altro caso d'uso è quello di soddisfare lo standard di sicurezza dei dati del settore delle carte di pagamento per l'elaborazione sicura dei dati del detentore delle carte per pagamenti, acquisti o qualsiasi dettaglio pertinente.

Offre supporto in un ambiente multi-tenant, in modo tale che i provider cloud offrano anche agli utenti di gestire le loro chiavi di crittografia in modo tale da crittografare/decrittografare i dati solo.

Hashing

L'hashing è una funzione a senso unico che trasforma il testo in chiaro di lunghezza variabile in un formato illeggibile noto come valore hash. Quindi, hashing è un processo di crittografia irreversibile che non utilizza una chiave per decodificare/decifrare l'hash al suo testo originale. Le funzioni di hashing più conosciute sono gli algoritmi di digest di messaggi (MD5), l'algoritmo Hash Secure (SHA-256 e SHA-512) e NT LAN Manager (NTLM). Un algoritmo di hashing ideale aderisce alla seguente serie di proprietà:

  • Restituisce un'uscita a lunghezza fissa indipendentemente dalla dimensione dell'ingresso.
  • Non può essere ingegnerizzato.
  • Non deve produrre un valore di hash simile per ingressi diversi (resistente alle collisioni).
  • Le lievi variazioni di input generano enormi differenze di output.
  • A seconda dell'area dell'applicazione, offre un calcolo rapido.

Come funziona l'hashing?

Gli algoritmi di hashing prendono un blocco di input di dati la cui dimensione varia da algoritmo all'algoritmo ed elabora ogni blocco alla volta. Inoltre, incorpora l'output del blocco recente nell'ingresso del blocco successivo. Poiché le funzioni di hash utilizzano la dimensione preimpostata del blocco dati, come SHA-1 accetta la dimensione del blocco 512-bit, la dimensione del file non è sempre un multiplo di 512. Ciò incorpora la necessità di una tecnica nota come imbottitura per dividere i dati di input nella lunghezza della dimensione del blocco simile.

Scopo di hashing

Uno dei due importanti casi d'uso di hash è fornire integrità dei dati durante un trasferimento di messaggi/file su Internet. La proprietà irreversibile degli hash aiuta il ricevitore a verificare se qualsiasi uomo-in-middle ha manomesso i dati.

Questa funzione è evidente nel processo del codice di autenticazione del messaggio, in cui il mittente aggiunge il messaggio originale con il suo valore hash. Al ricevimento, il ricevitore ricalcola l'hash del messaggio per confrontare i due hash. Pertanto, eventuali modifiche apportate intercettando i messaggi durante il trasferimento genererà un valore di hash diverso, verificando il temperamento dei messaggi. La funzionalità di integrità di hashing apre varie aree della sua applicazione, come verifica di file/applicazione, firme digitali e firme virus utilizzate da soluzioni antivirus per l'identificazione del malware, ecc.

Il secondo caso d'uso più importante di hashing è la protezione da password. I sistemi consentono solo l'accesso dell'utente in base all'autenticazione in modo tale da non archiviare le password in formato in chiaro. A tale scopo, la crittografia non è un approccio ideale a causa di una debolezza intrinseca del posizionamento delle chiavi di crittografia sul server che sono facili da rubare.

Pertanto, hashing con l'uso di un valore salino o aggiunta di dati generati in modo casuale nella parte anteriore/fine delle password è un approccio ideale per proteggere le password contro il furto di chiave di crittografia e gli attacchi di collisione.

Conclusione

La crittografia è uno degli aspetti più fondamentali della sicurezza informatica, con diversi tipi. Tuttavia, la crittografia e l'hash sono quelli dominanti. Le operazioni di crittografia e hashing aderiscono ai due componenti del triangolo nella sicurezza delle informazioni, che sono riservate e integrità. L'articolo fornisce una breve panoramica di queste due operazioni più significative della crittografia. Sottolinea anche le loro sottili differenze e fa luce su come le loro proprietà uniche aprono diverse porte per la loro area di applicazione o utilizzo.