Autentificare securizată pe site fără https, savepearlharbor

Astăzi, majoritatea site-urilor utilizează încă protocolul http, nu https. Este mai rău din punct de vedere al securității, dar mai ieftin și mai ușor de suportat. Autentificarea de securitate pe astfel de site-uri - o problemă, deoarece cea mai mare parte este pus în aplicare un formular simplu este prezentat c utilizator / parolă la server, care verifică parola hash hash c, care corespunde cu conectare specificat. Prin introducerea acestui site într-o rețea Wi-Fi deschisă sau alt loc public, orice persoană care știe cum să folosească Google poate intercepta efort parola. Unii merg puțin mai departe, prin trimiterea unui hash parola la server, dar nu este mult mai bine, deoarece cu tabele de curcubeu (mai ales pentru MD5), puteți încerca să găsească parola, având un non-zero de succes, și în fiecare zi, crește probabilitatea de succes.







În acest articol am oferi o alternativă, o metodă mai sofisticată de autentificare, în care parola, fie în formă pură sau sub formă de hash nu este iluminată, și în același timp, această abordare eliminând practic necesitatea adăugarea unui captcha la formularul de autentificare.

Tot ceea ce este descris este deja folosit în practică, astfel încât exemplele vor fi reale și vor lua în considerare contextul utilizării lor.

Autentificarea va avea loc în două etape folosind AJAX.

La server este generat un hash aleatoriu. Exemplul PHP:

Un hash aleator este stocat pe server și este asociat cu datele de conectare.







După cum puteți vedea, un paragraf sha512 este folosit pentru parola. public_key - o variabilă globală care conține lungimea liniei de 56 de caractere și este utilizat ca o sare. Această variabilă este disponibilă pentru public, dar datorită faptului că utilizați un algoritm relativ complicat pentru a obține un SHA512 hash (de două ori) - generarea de tabele curcubeu pentru fiecare site va fi destul de dificil, costisitoare și procedura care a avut o mulțime de sens consumatoare de timp.

Cu conectare hash, putem găsi parola corespunzătoare la server, un hash aleatoriu pentru a genera auth_hash corespunzătoare și să compare c, care a fost primită de la utilizator. În cazul unei coincidențe, începem sesiunea și actualizăm pagina utilizatorului. Implementarea procesării erorilor rămâne în raționamentul dvs.

Ce anume cu înregistrarea

Este foarte simplu, generează o parolă pentru utilizator și trimite la poștă. Orice serviciu de e-mail care respectă respectul de sine acceptă accesul prin poștă printr-un canal criptat. Utilizatorul poate schimba parola, dacă doriți.

Schimbați parola / Restaurare

Recuperarea parolei în această schemă se face și în cutia poștală.

Modificarea parolei poate fi implementată după cum urmează:

  • Din parole vechi și noi generăm hashes, ca în exemplul de mai sus:
  • facem un caracter XOR al ambelor parole, de exemplu, folosind o astfel de funcție xor_string ():

    Măsuri suplimentare de securitate

    În plus, vă recomandăm să adăugați sesiunea curentă a utilizatorului la solicitarea de identificare și dacă nu există nici o potrivire sau nu se potrivește cu sesiunea curentă, datele de solicitare POST sunt zero.

    Asta este

    Puteți folosi în mod liber codul pentru propriile scopuri, puteți schimba tipurile și dimensiunile hash-urilor pentru complicarea sau accelerarea procedurii.
    Voi fi bucuros să vă dau comentarii / dorințe, vă mulțumesc că ați citit acest loc.







    Trimiteți-le prietenilor: