» »

Kako deluje Salt kriptiranje gesla?

Kako deluje Salt kriptiranje gesla?

dani-kr ::

Pozdravljeni,

Zanima me kako konkretno deluje kriptiranje gesla s pomočjo Salt. Kolikor razumem je proces takšen:

Brez Salt bi tabela z uporabniki zgledala takole (za lažjo predstavo sem dodal v stolpec še ne-kriptirana gesla):
 Prva slika

Prva slika



Sedaj, če bi si recimo napadalec pridobil dostop do te tabele, bi uporabil "Rainbow" tabelo, s pomočjo katere bi izračunal gesla in si tako lahko pridobil vstop v uporabniške profile. Če pa uporabimo Salt za gesla, kolikor razumem se naredi sledeče:

1) Program (ki uporablja algoritem PBKDF2) naključno izbere "salt" algoritem.
2) S pomočjo tega algoritma nato kriptira geslo.

Potem bi tabela gesel imela takšen izgled:
 Druga slika

Druga slika



Ko pa se uporabnik prijavlja, se po uporabniškem imenu program sprehodi po bazi, ko ga najde, izbere njegov "salt", nato na podlagi tega "salta" prekriptira geslo in primerja z vnesenim.

Torej prednosti Salt kriptiranega gesla so:
- preprečiti razbitje več gesel hkrati.
- pri tabeli gesel je redko, da se zgodi, da imata dva enaka gesla enako kriptirano geslo.

:) Hvala za pomoč

alexa-lol ::

Zgleda da je to to...
še nekaj sem našel -> http://stackoverflow.com/a/2677143/2674...

dani-kr ::

alexa-lol je izjavil:

Zgleda da je to to...
še nekaj sem našel -> http://stackoverflow.com/a/2677143/2674...


hvala, zelo zanimiv prispevek.

fireice ::

dani-kr je izjavil:

Ko pa se uporabnik prijavlja, se po uporabniškem imenu program sprehodi po bazi, ko ga najde, izbere njegov "salt", nato na podlagi tega "salta" prekriptira geslo in primerja z vnesenim.


Ne vem kaj tocno si mislil s prekriptira geslo. V bistvu, ko se uporabnik prijavi, se program sprehodi po bazi in ko ga najde, vzame vpisano geslo in njegov salt, izracuna hash ter ga primerja s shranjenim hashom.

dani-kr ::

fireice je izjavil:

dani-kr je izjavil:

Ko pa se uporabnik prijavlja, se po uporabniškem imenu program sprehodi po bazi, ko ga najde, izbere njegov "salt", nato na podlagi tega "salta" prekriptira geslo in primerja z vnesenim.


Ne vem kaj tocno si mislil s prekriptira geslo. V bistvu, ko se uporabnik prijavi, se program sprehodi po bazi in ko ga najde, vzame vpisano geslo in njegov salt, izracuna hash ter ga primerja s shranjenim hashom.


točno to kar si napisal, malo sem površno napisal 8-O

dani-kr ::

Zdaj me zanima še, zakaj pri kodi, se najprej geslo kriptira, šele nato se ustvari njegov salt?

userModel.User.password = crypto.Compute(userModel.User.password);
userModel.User.passwordSalt = crypto.Salt;

Ali to naredi, da najprej kriptira geslo (v hash obliko), nato pa prikaže kateri algoritem je uporabil za kriptiranje?

sas084 ::

Salt je naklučna vrednost, ki se doda geslu pri računanju njegovega hasha in ni odvisno od gesla samega. Kako se to dela je odvisno od implementacije: Primer (+ je konkatenacija):
Geslo  Salt    Funkcija              Hash
dani   12ghi   hash(geslo + salt)    5b2359f27e0b624b67552dbf721eddeb
dani   12ghi   hash(salt + geslo)    86a61c644c1d17adfa0decef5591b28b

dani-kr ::

sas084 je izjavil:

Salt je naklučna vrednost, ki se doda geslu pri računanju njegovega hasha in ni odvisno od gesla samega. Kako se to dela je odvisno od implementacije: Primer (+ je konkatenacija):

Geslo Salt Funkcija Hash
dani 12ghi hash(geslo + salt) 5b2359f27e0b624b67552dbf721eddeb
dani 12ghi hash(salt + geslo) 86a61c644c1d17adfa0decef5591b28b


Super, najlepša hvala :D

arjan_t ::

Ne pozabi da mora salt biti dovolj dolg, drugace ni nobenega efekta. In za PBKDF2 mora biti iteration count tudi ustrezno nastavljen (~64k).

MrStein ::

Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] program za kodiranje besedil, gesel,...

Oddelek: Programiranje
122863 (2475) LightBit
»

Sony PlayStation Network nazaj prihodnji teden, številke kreditnih kartic so bile šif

Oddelek: Novice / Zasebnost
4915458 (14118) opeter
»

Analiza slovenskih gesel

Oddelek: Novice / Zasebnost
3912183 (10121) BlueRunner
»

PHP - Register form

Oddelek: Izdelava spletišč
241988 (1616) roli
»

Skrivanje gesel

Oddelek: Izdelava spletišč
393172 (2412) Tr0n

Več podobnih tem