{"id":3448,"date":"2014-04-10T17:30:56","date_gmt":"2014-04-10T17:30:56","guid":{"rendered":"http:\/\/kasperskydaily.com\/italy\/?p=3448"},"modified":"2021-03-10T17:43:15","modified_gmt":"2021-03-10T15:43:15","slug":"hash-cosa-sono-e-come-funziona","status":"publish","type":"post","link":"https:\/\/www.kaspersky.it\/blog\/hash-cosa-sono-e-come-funziona\/3448\/","title":{"rendered":"Hash: cosa sono e come funzionano"},"content":{"rendered":"<p>La funzione crittografica di hash, a cui spesso ci si rifesce semplicemente con la parola inglese hash, \u00e8 un algoritmo matematico che trasforma ogni blocco arbitrario di dati in una stringa di nuovi caratteri di dimensione fissa. Indipendentemente dalla lunghezza del dato di entrata (input), il risultato (output) avr\u00e0 sempre la stessa lunghezza.<\/p>\n<p>Quindi, secondo <i>SHA-1 hash generator<\/i> (uno dei pi\u00f9 utilizzati generatori di funzioni hash insieme a MD 5 e SHA-2), l\u2019hash del mio nome, Brian, \u00e8 75c450c3f963befb912ee79f0b63e563652780f0. Come qualsiasi altro Brian ti direbbe,<i> brain<\/i> (cervello) \u00e8 una parola pericolosa che pu\u00f2 generare equivoci \u201cai Brian\u201d. Infatti, per un periodo mi sono trovato con una patente di guida che riportava il nome \u201cBrain Donohue\u201d. Ma questa \u00e8 un\u2019altra storia. L\u2019hash SHA-1 per <i>brain<\/i>, secondo il mio generatore online SHA-1, \u00e8 8b9248a4e0b64bbccf82e7723a3734279bf9bbc4.<\/p>\n<p>Come potete osservare, questi due output sono abbastanza diversi, nonostante la differenza tra il nome Brian e la parola che rappresenta uno degli organismi fondamentali del nostro corpo dipenda interamente da due vocali (\u201cia\u201d al posto di \u201cai\u201d). Se vogliamo andare oltre, se io d\u00f2 l\u2019input al mio nome senza mettere la prima lettera in maiuscolo, il generatore SHA-1 crea un risultato hash diverso: 760e7dab2836853c63805033e514668301fa9c47.<\/p>\n<div class=\"pullquote\">Le funzioni crittografiche di hash reppresentano uno strumento molto utile; vengono utilizzate in molteplici casi, dalla verifica dell\u2019identit\u00e0 all\u2019individuazione dei malware, fino alla protezione dei file.<\/div>\n<p>Potete osservare che tutti gli hash hanno una lunghezza di 40 caratteri ed \u00e8 sorprendente, dato che ogni input \u00e8 di soli 5 caratteri. Comunque sia, quello che ci soprende \u00e8 che inserendo il testo completo di questo articolo nel generatore si ottiene il seguente hash: db8471259c92193d6072c51ce61dacfdda0ac3d7. Erano ben\u00a0 1.637 caratteri (con spazi inclusi), ma il risultato \u00e8 lo stesso. Con una parola di 5 caratteri o con una di 2.000 si avr\u00e0 sempre un output di 40 caratteri. Con hash SHA-1 potreste raccogliere tutte la opera completa di William Shakespare e vi ritroverete con una funzione di 40 caratteri. Inoltre, due input non generano lo stesso hash.<\/p>\n<p>Grazie alla gentile concessione di Wikimedia Commons, vi mostriamo ora una foto che illustra lo stesso concetto per coloro che preferiscono le immagini:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/89\/2014\/04\/05232731\/Cryptographic-Hashing-Explained.png\" alt=\"\" width=\"680\" height=\"455\"><\/p>\n<p><b>A cosa serve hash?<\/b><\/p>\n<p>Buona domanda. Sfortunatamente, la risposta \u00e8 che gli hash crittografici vengono usati per un sacco di cose.<\/p>\n<p>Per tutti noi, la forma pi\u00f9 comune di realizzare un hash ha a che vedere con le <a href=\"https:\/\/www.kaspersky.it\/blog\/le-password-del-xxi-secolo\/\" target=\"_blank\" rel=\"noopener\">password<\/a>. Per esempio, se dimenticate la password per un servizio online a cui siete iscritti, dovreste probabilmente realizzare un reset della password. Quando resettate la password , generalmente non ricevete indietro la password in plaintext (visibile e leggibile, non crittografata). Questo perch\u00e9 i servizi online non immagazzinano le password in plaintext ma attraverso un valore hash. Infatti, quel servizio (a meno che non stiate usando una password semplicissima per la quale il valore hash sia ampiamente noto) non ha idea di quale sia la vostra vera password.<\/p>\n<p>Per essere precisi, se ricevete una password in plaintext, questo significa che il servizio online che state usando non sta applicando l\u2019hash alla vostra password.<\/p>\n<p><span style=\"line-height: 1.5em\">Potete testarlo voi stessi con un generatore inverso di hash. Se generate un valore hash per una password debole (come \u201cpassword\u201d o \u201c123456\u201d) e poi inserite quel valore nel generatore inverso di hash, ci sono molte probabilit\u00e0 che il generatore riconosca il valore hash e riveli la password. Nel mio caso, il generatore inverso ha riconosciuto l\u2019hash di \u201cbrain<\/span><i style=\"line-height: 1.5em\">\u201c<\/i><span style=\"line-height: 1.5em\"> e \u201cBrian\u201d ma non quello creato con il corpo di questo testo. E cos\u00ec l\u2019integrit\u00e0 dell\u2019output hash dipende interamente dal dato che si inserisce.<\/span><\/p>\n<p>Su questo punto, secondo un <a href=\"http:\/\/techcrunch.com\/2014\/03\/30\/how-dropbox-knows-when-youre-sharing-copyrighted-stuff-without-actually-looking-at-your-stuff\/\" target=\"_blank\" rel=\"noopener nofollow\">report di TechCrunch<\/a> dello scorso mese, il popolare servizio di storage Dropbox avrebbe bloccato uno dei suoi utenti per aver condiviso contenuti protetti dal Digital Millennium Copyright Act (DMCA), la legge statunitense sul diritto d\u2019autore. In seguito, questo utente ha scritto su Twitter che lo avevano bloccato per aver condiviso alcuni contenuti; poco a poco la notizia si \u00e8 diffusa sui social network e molta gente ha iniziato a lemantarsi del fatto che Dropbox avesse avuto accesso agli account degli utenti sebbene si dichiari contrario alla <a href=\"https:\/\/threatpost.com\/dropbox-addresses-government-surveillance-with-updated-privacy-policy\/104423\" target=\"_blank\" rel=\"noopener nofollow\">politica sulla privacy<\/a>.<\/p>\n<p>Dropbox, certamente, non \u00e8 entrato nei contenuti degli utenti. Come \u00e8 stato osservato da TechCrunch, probabilmente \u00e8 accaduto che coloro che detenevano i diritti sui file menzionati (forse una versione digitale di una canzione o di un film) hanno creato una funzione hash per il file. Poi hanno preso il risultato del valore hash e hanno aggiunto la serie di 40 caratteri ad un sorta di lista bloccati dei materiali protetti da diritto d\u2019autore. Quando l\u2019utente ha cercato di condividere il materiale protetto da copyright, i sistemi di analisi di Dropbox hanno individuato che l\u2019hash faceva parte di quella lista e hanno bloccato il tentativi di condividere il contenuto.<\/p>\n<p>Quindi \u00e8 possibile creare hash per password e file multimedia, ma a cosa servono le funzioni hash crittografiche? Di nuovo, la vera risposta \u00e8 che le funzioni hash hanno diversi obiettivi, molti di pi\u00f9 di quelli che io sappia. Tuttavia, l\u2019applicazione principale di hash che pi\u00f9 ci interessa \u00e8 la seguente: le aziende di prodotti antivirus come <a href=\"https:\/\/www.kaspersky.com\/it\/\" target=\"_blank\" rel=\"noopener nofollow\">Kaspersky Lab<\/a> utilizzano le funzioni hash crittografiche per individuare i programmi dannosi.<\/p>\n<p>Cos\u00ec come avviene nelle case discografiche e cinematografiche che creano liste bloccati di hash per proteggere i dati protetti da copyright, allo stesso modo esistono liste di hash di malware, molte delle quali pubbliche. Le liste di hash di malware, o signature di malware, si compongono del valore hash del malware o del valore di alcune piccole parti riconoscibili del malware. Da un lato, se un utente trova un file sospetto, pu\u00f2 inserire il valore hash in uno dei tanti database o registri di hash di malware disponibili pubblicamente che informeranno l\u2019utente se il file \u00e8 dannoso o no. Dall\u2019altro lato, i prodotti antivirus riconoscono e bloccano i malware comparando gli hash dei file con i propri database e con quelli pubblici.<\/p>\n<p>Le funzioni crittografiche di hash sono inoltre usate per assicurare quello che viene chiamata integrit\u00e0 del messaggio. In altre parole, esaminando l\u2019output di un hash generato sia prima che dopo la trasmissione di dati, potreste assicurarvi che le comunicazione o i file non sono stati manipolati. Se i risultati del prima e del dopo coincidono, la trasmissoine si considera autentica.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le funzioni crittografiche di hash reppresentano uno strumento molto utile; vengono utilizzate in molteplici casi, dalla verifica dell\u2019identit\u00e0 all\u2019individuazione dei malware, fino alla protezione dei file. <\/p>\n","protected":false},"author":42,"featured_media":3450,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16,2641],"tags":[121,548,518,22,1002,1001],"class_list":{"0":"post-3448","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tips","8":"category-threats","9":"tag-antivirus","10":"tag-crittografia","11":"tag-hash","12":"tag-malware-2","13":"tag-sha-1","14":"tag-signature"},"hreflang":[{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/hash-cosa-sono-e-come-funziona\/3448\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.it\/blog\/tag\/antivirus\/","name":"Antivirus"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/posts\/3448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/comments?post=3448"}],"version-history":[{"count":5,"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/posts\/3448\/revisions"}],"predecessor-version":[{"id":24133,"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/posts\/3448\/revisions\/24133"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/media\/3450"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/media?parent=3448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/categories?post=3448"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.it\/blog\/wp-json\/wp\/v2\/tags?post=3448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}