Sikker lagring av passord

Jon Are Rakvåg
Capgemini

Hva er greia?

Mål for passordlagring

Sjekke innlogging

Beskytte passordene

Klartekst

user password
admin Oracle
jon 123456

:(

Enveisfunksjon


hash('Oracle') = 
     '8A1681E612A2025087B703FDF1F8F617E506B053'
					
user password
admin 8A1681E612A2025087B703FDF1F8F617E506B053
jon 7C4A8D09CA3762AF61E59520943DC26494F8941B

Passordcracking 101

user password
admin 8A1681E612A2025087B703FDF1F8F617E506B053
jon 7C4A8D09CA3762AF61E59520943DC26494F8941B

Prøve seg fram eller jukse litt!


hash('abc123') = '6367C48DD193D56EA7B0BAAD25B19455E529F5EE'
hash('letmein') = 'B7A875FC1EA228B9061041B7CEC4BD3C52AB3CE3'
...
hash('Oracle') = '8A1681E612A2025087B703FDF1F8F617E506B053'
					

Salt


hash('Oracle', 'qwHSqNse4k1Vpxe') = 
 '31163550C4F538AE1AFD3B5633EA5922C17B4534'
					
user salt password
admin qwHSqNse4k1Vpxe 31163550C4F538AE1AFD3B5633EA5922C17B4534
jon UBJzuczIjkLrzy5 D0688A3E1CD46667F55F87C947944D1631E58612

Salt oppnår

1. Ingen forhåndsgenerering er mulig

2. Passordkandidater må testes per bruker

Passordcracking 102

1. Mennesker er elendige på passord!

2. Hastighet er på angripernes side

gpu-01 v0.10l # ./oclHashcat-lite64.bin -n 800 --gpu-loops 1024 -1 ?l?d?s?u --gpu-temp-disable --outfile-watch 0 --restore-timer 0 --runtime 10 --pw-min 8 -m 0 ffffffffffffffffffffffffffffffff ?1?1?1?1?1?1?1?1?1
 oclHashcat-lite v0.10 by atom starting...

(...)
 
Speed.GPU.#1.:  9285.1M/s
Speed.GPU.#2.:  9310.6M/s
Speed.GPU.#3.:  9316.6M/s
Speed.GPU.#4.:  9284.3M/s
Speed.GPU.#5.:  9296.9M/s
Speed.GPU.#6.:  9318.0M/s
Speed.GPU.#7.:  9285.9M/s
Speed.GPU.#8.:  9292.0M/s
Speed.GPU.#*.: 74389.3M/s

Kilde: "login" på hashcat.net
					

Løsning: "Dyre" algoritmer


Plastrelapp: Iterere over klassisk algoritme


BEST: Spesialisert algoritme for passordlagring (PBKDF2, scrypt, bcrypt)

1. Konfigurerbar kostnad

2. Innebygget salt-funksjonalitet

Konklusjon: Du må

1. Salte

2. Gjøre funksjonen dyr


= Bruk en algoritme lagd for formålet (PBKDF2, scrypt, bcrypt)!

Les mer

Disse slidene er tilgjengelige på
jonare.github.com/jz12/

Om moderne passordlagring
http://www.troyhunt.com/2012/06/our-password-hashing-has-no-clothes.html http://arstechnica.com/security/2012/08/passwords-under-assault/

Sammenligning av hashinghastigheter i produksjonssystem
https://asafaweb.com/HashSpeed

Passwords^12-konferansen ved UiO, 3.- 5. desember 2012
http://securitynirvana.blogspot.no/2012/04/passwords12-call-for-presentations.html


Jon Are Rakvåg | jonare@jonare.no | @jonarer