Cryptology Academy · leksjon

Hvorfor ren SHA-256 ikke fungerer for passord

Forstå regnbuetabeller, brute force-hastighet og salt.

Leksjon 1 av 413 trinn

Hvorfor ren SHA-256 ikke fungerer for passord er en gratis leksjon i Cryptology Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cryptology Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Velkommen

Sikker lagring av passord er et av de mest misforståtte temaene innen sikkerhet. I denne leksjonen forstår vi hvorfor raske hasher som SHA-256 er katastrofalt uegnet for passord.

Hva skjer når databaser lekker

Datainnbrudd skjer hele tiden. I 2024 lekket RockYou2024 10 milliarder passord. Hvis brukernes passord lagres slik at de kan gjenopprettes, vil angripere gjenopprette dem.

Naiv SHA-256-lagring

Dårlig mønster: hashed = sha256(password) store(username, hashed) Problemer: (1) sha256 er ekstremt rask, (2) samme passord → samme hash (uten salt), (3) regnbuetabeller finnes for vanlige passord.

Angrep med regnbuetabell

En regnbuetabell er en forhåndsberegnet kobling mellom hash→passord for millioner av vanlige passord. SHA-256('password') er alltid den samme hashen. Oppslag i tabellen gir umiddelbar dekryptering av de fleste passord.

Saltets rolle

Salt = tilfeldige byte som settes foran passordet før hashing. hash = sha256(salt + password) Hver bruker får et unikt salt. Regnbuetabeller blir ubrukelige — angriperen må prøve seg frem for hver enkelt bruker.

Men salt alene er ikke nok

En moderne GPU beregner 10 MILLIARDER SHA-256-hasher per sekund. Selv med unike salter kan en angriper med lekkede hasher prøve alle kombinasjoner av passord på åtte tegn i løpet av minutter.

Hastighetsproblemet

SHA-256 ble utviklet for å være rask — for filintegritet, TLS osv. Hastighet er en fiende ved passordhashing. Vi trenger med hensikt langsomme algoritmer som motstår brute force.

Nøkkelstrekking

Nøkkelstrekking kjører hashfunksjonen tusenvis av ganger: for i in range(100000): h = sha256(h). Dette gjør både angriperen og forsvareren langsommere — men maskinvarefordelen favoriserer fortsatt angriperen.

Minneharde funksjoner

Moderne passordhashere krever store mengder RAM, ikke bare CPU-sykluser. GPU-er har begrenset RAM per kjerne sammenlignet med CPU-er. Argon2s minnehardhet nøytraliserer fordelene ved GPU-er og ASIC-er.

Vanlige feil

Unngå dette: - sha256(password) - sha256(salt + password) uten iterasjoner - md5(password) (eller enhver MD5) - Kryptering av passord (de kan dekrypteres) - sha256(sha256(password)) (fortsatt raskt)

Hva De bør bruke i stedet

Bruk: bcrypt (mest utbredt), Argon2id (anbefalt av OWASP og minnehard), PBKDF2-SHA256 (FIPS-kompatibel og akseptabel). Alle tre er med hensikt langsomme og har salt innebygd som standard.

Hurtigsjekk

Hvorfor er SHA-256 uegnet til passordhashing selv når De bruker salt?

Oppsummering

SHA-256 er feil for passord. Deretter skal vi studere bcrypt — algoritmen som med hensikt gjør hashing langsom og motstandsdyktig mot maskinvareangrep.
Gratis å komme i gang

Lær deg Cryptology Academy med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
67
Leksjoner
261

Ofte stilte spørsmål

Er leksjonen «Hvorfor ren SHA-256 ikke fungerer for passord» gratis?

Ja – hele teksten i «Hvorfor ren SHA-256 ikke fungerer for passord» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cryptology Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Hvorfor ren SHA-256 ikke fungerer for passord»?

Forstå regnbuetabeller, brute force-hastighet og salt. Du øver på Cryptology Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Cryptology Academy?

Ingen tidligere erfaring er nødvendig. Cryptology Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Hvorfor ren SHA-256 ikke fungerer for passord»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Cryptology Academy-leksjonen?

Ja. Alle Cryptology Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hvorfor ren SHA-256 ikke fungerer for passord
  2. bcrypt: algoritme og kostnadsfaktor
  3. Argon2: minnekrevende passordhashing
  4. PBKDF2 og valg av riktig algoritme
← Tilbake til Cryptology Academy