Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    delucidazioni: sicurezza e autenticazione

    Ciao a tutti!
    E' corretta la seguente affermazione?

    Spesso, l'autenticazione di molti siti web, utilizza il protocollo http, ma password (e magari anche lo username) vengono
    criptati con l'algoritmo di hashing. Dal browser al server le credenziali di accesso viaggiano in chiaro (http), perchè password (e username) vengono criptati (con md5 ad esempio) una volta arrivati al server, quindi a causa della tecnica man-in-the-middle questo sistema risulta poco sicuro. Sarebbe meglio, per qualsiasi sistema di autenticazione, utilizzare un protocollo che utilizza la crittografia asimmetrica (https ad esempio).
    (il codice PHP viene eseguito sempre e solo dal server, mai dal browser!).


    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Criptare la password lato client con l'algoritmo sha1 e inviarla quindi già criptata?

  3. #3
    E' corretto. Tuttavia occorre precisare che l'https non è una alternativa al crypt della pass nel database. E' una cosa in più.
    Il crypt della pass sul server in md5, serve comunque a tutelare l'utente da:

    - te stesso
    - chi lavora per te
    - eventuali hack sul tuo sistema.

    Garantisce all'utente la segretezza della sua password una volta archiviata, oltre a una leggera misura di sicurezza in quanto, se un malintenzionato dovesse riuscire ad entrare nel tuo database, almeno non ruberebbe le password di tutti gli utenti costringendoti a invitare i tuoi utenti a cambiarle (senza contare che gli utenti possono utilizzare la stessa password per servizi piu' importanti).

    Anche con l'md5 occorre comunque avere delle accortezze in più come l'utilizzo del "salt" (cerca su internet md5 e salt).

  4. #4
    Ho cercato la differenza tra md5 e sha1... da quello che ho capito sha1 è ritenuta la migliore, anche se non ho ben capito il perchè!?... ma comunque vanno bene entrambe, il risultato è simile.

    Criptare la password direttamente dal brwser, quindi prima di inviarla al server, è sicuramente un ottima idea! Come faccio a fare cioò? Sapresti farmi un esempio?

  5. #5
    Non risolvi il problema: criptando via browser e inviandolo al server già criptato non scongiuri il problema del man in the middle. E' vero che l'uomo in mezzo filtrerebbe la password già criptata, ma è anche vero che, a quel punto, per autenticarsi al server è sufficiente avere ciò che si sniffa al momento del login (ovvero la pass già criptata).

  6. #6
    Prendiamo ad esempio questo semplice login:
    http://www.phpnews.it/articoli/login-con-php/
    In quel caso, sbaglio o la password viaggia in chiaro dal browser al server...!?


    Anche con l'md5 occorre comunque avere delle accortezze in più come l'utilizzo del "salt" (cerca su internet md5 e salt).
    Di solito io inserisco in un file chiamato config.php due righe di codice del tipo:
    codice:
    define(“PRE_PASSWORD”, “#$[[a56?][*{00l45%!@wrv7”);
    define(“POST_PASSWORD”, “Nel mezzo del cammin di nostra vita mi ritrovai in una selva oscura, che la diritta via era smarrita.  Ahi quanto a dir qual era è cosa dura”);
    quindi:
    codice:
    $PasswordDaSalvare = md5(PRE_PASSWORD . $password . POST_PASSWORD);
    adesso che ci penso...:
    MA CERTO... IN QUESTO MODO IO GIA' EVITO IL POSSIBILE ATTACCO MAN-IN-THEMIDDLE, perchè anche se l'attaccante riuscisse a leggere $password comunque non conoscerebbe PRE_PASSWORD e POST_PASSWORD!!!

  7. #7
    Non risolvi il problema: criptando via browser e inviandolo al server già criptato non scongiuri il problema del man in the middle. E' vero che l'uomo in mezzo filtrerebbe la password già criptata, ma è anche vero che, a quel punto, per autenticarsi al server è sufficiente avere ciò che si sniffa al momento del login (ovvero la pass già criptata).
    allora crittografia asimmetrica è d'obbligo...? ma...



    PS dovrebbero aggiungere in questo forum: "ATTENZIONE qualcuno ha risposto alla discussione, prima di postare la tua nuova risposta non preferisci leggere la risposta precedente???" mi sono spiegao vero?

  8. #8
    MA CERTO... IN QUESTO MODO IO GIA' EVITO IL POSSIBILE ATTACCO MAN-IN-THEMIDDLE, perchè anche se l'attaccante riuscisse a leggere $password comunque non conoscerebbe PRE_PASSWORD e POST_PASSWORD!!!
    No ho detto una cavolata... questo serve soltanto per rendere la password più sicura...!!!

  9. #9
    serve solo a rendere più difficile (quasi impossibile) il risalire da un md5 alla parola originale grazie a database o ad attacchi brute force.

    Il Man in the middle lo eviti solo (e nemmeno con certezza) con ssl e simili.

  10. #10
    serve solo a rendere più difficile (quasi impossibile) il risalire da un md5 alla parola originale grazie a database o ad attacchi brute force.
    Ok capito!

    Il Man in the middle lo eviti solo (e nemmeno con certezza) con ssl e simili.
    Quello che volevo sentirmi dire!
    Quindi, se io dovessi fare un sito che parla di piante e fiori sarebbe superfluo utilizzare il protocollo ssl, mentre se io facessi un sito come eBay ssl (o simili) sarebe d'obbligo!



    PS mi sono informato: md5 è considerato poco sicuro a causa delle collisioni (in crittografia si parla di collisione quando un algoritmo di hashing produce lo stesso hash a partire da due stringhe diverse.). SHA-512 dicono essere il meglio!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.