Visualizzazione risultati 1 fino 8 di 8

Discussione: mysql SHA2

  1. #1
    marcopete87 non è connesso Neofita
    Data registrazione
    28-04-2007
    Messaggi
    4

    Exclamation mysql SHA2

    ciao a tutti, stò realizzando un form di login che, per proteggere i dati usa la funzione sha2 di mysql, che però non sembra supportata.
    in particolare la query è:
    SELECT SHA2(('sale' + SHA1( 'dato salato' )), 512).
    qualcuno ha qualche notizia in merito? la query viene eseguita correttamente sul mio server di casa, ma mi dà errore su altervista.
    #1305 - FUNCTION my_(mio database).SHA2 does not exist

  2. #2
    Guest

    Predefinito

    Ciao, personalmente gestisco queste operazioni con PHP, ma in questa pagina si dice che la funzione SHA2() è stata aggiunta a partire da MySQL 5.5.5. Ora, non ricordo con precisione quale sia la versione di MySQL installata su Altervista, ma deduco che la causa sia proprio che non sia aggiornata alla 5.5.5.

  3. #3
    marcopete87 non è connesso Neofita
    Data registrazione
    28-04-2007
    Messaggi
    4

    Predefinito

    ok, speriamo che aggiornino mysql, allora
    Intanto ho inviato una richiesta, vedremo...
    Il problema di SHA1 stà nel fatto che non è abbastanza sicuro per le password (sono già stati trovati hash collision, che ho verificato).
    con un hashing da 512, le possibilità di hash collision sono molto più rare.

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Infatti siamo alla 5.1. Comunque anche se usi SHA-1 anche per l'hash esterno credo che vada benissimo.

    Cosa intendi per hash collision? L'hash serve solo per evitare di avere le password in chiaro nel db.
    Ultima modifica di saitfainder : 21-10-2013 alle ore 18.33.09


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    marcopete87 non è connesso Neofita
    Data registrazione
    28-04-2007
    Messaggi
    4

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Cosa intendi per hash collision? L'hash serve solo per evitare di avere le password in chiaro nel db.
    la funzione hash trasforma un valore in un altro valore rientrante nella tavola di hash, che di fatto è limitata.
    Visto che esiste questa limitazione, la probabilità di ottenere lo stesso risultato da input differenti aumenta con la lunghezza dell'input.

    ho già verificato che, con opportune salazioni della password, una password difficile (caratteri, numeri, punteggiatura) è equivalente all'hash di "a"

    comunque, utilizzare l'hash, non serve solo a non tenere in chiaro la password, ma anche a rendere molto difficile il recupero, nel caso cui vi sia qualche attacco.

    Edit:

    comunque, grazie a tutti, ho risolto con php e la funzione hash('sha512', $password_con_sale);
    Ultima modifica di saitfainder : 22-10-2013 alle ore 10.45.00

  6. #6
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da marcopete87 Visualizza messaggio
    comunque, utilizzare l'hash, non serve solo a non tenere in chiaro la password, ma anche a rendere molto difficile il recupero, nel caso cui vi sia qualche attacco.
    Che è solo una conseguenza di non averle in chiaro.

    Citazione Originalmente inviato da marcopete87 Visualizza messaggio
    ho già verificato che, con opportune salazioni della password, una password difficile (caratteri, numeri, punteggiatura) è equivalente all'hash di "a"
    Ci vuole una bella sfiga però, considerando che SHA-1 è su 160 bit che equivalgono grossomodo a 1,46 x 10^48 valori differenti. Che poi anche se prendo l'hash, scopro che corrisponde ad "a" e provo a inserire la password non riesco mica ad entrare perché non nel database non c'è un hash semplice.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  7. #7
    marcopete87 non è connesso Neofita
    Data registrazione
    28-04-2007
    Messaggi
    4

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Ci vuole una bella sfiga però, considerando che SHA-1 è su 160 bit che equivalgono grossomodo a 1,46 x 10^48 valori differenti. Che poi anche se prendo l'hash, scopro che corrisponde ad "a" e provo a inserire la password non riesco mica ad entrare perché non nel database non c'è un hash semplice.
    purtroppo non si tratta solo di sfiga, ma anche di utilizzo di tabelle arcobaleno o hash pre calcolati, quindi, le probabilità di incappare nella password, sono molte di più.

    inoltre, se l'hash calcolato corrisponde a quello presente nel database (anche se è un triplo hash), il sistema crederà che la password sia esatta, quando invece, non è vero; ecco perchè servono hash lunghi, in quanto la probabilità di incorrere in questa eventualità è molto bassa.
    Ultima modifica di marcopete87 : 22-10-2013 alle ore 16.52.58

  8. #8
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Col salt la cosa è molto più complessa perché non devo scoprire una stringa il cui hash è identico a quello della password originale. Ma una stringa che genera un hash che concatenato col il salt mi da l'hash finale. Non puoi trovare questa stringa usando valori precalcolati, in particolare a causa del secondo passaggio. Quindi puoi solo andare di forza bruta e con la dimensione anche solo di MD5 devi assere molto determinato e avere molte risorse.
    Se poi usi salt diversi per ogni utente del database va attaccata separatamente ogni password.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •