SHA-256 og bcrypt (hashing og password-lagring)
It A · STX · A-niveau · IT-sikkerhed
💻 SHA-256 og bcrypt (hashing og password-lagring)
Hashing ≠ kryptering. Hash = ENVEJS-funktion: input → fast-længde-output. Kan IKKE inverteres.
God hash-funktion: deterministisk (samme input → samme output), hurtig (kryptografisk), modstandsdygtig mod kollision (svært at finde 2 input → samme hash), avalanche-effekt (lille ændring i input → vidt anderledes output).
Klassiske hash-algoritmer:
- (a) MD5 (1992) — 128 bit. USIKKER siden 2004 (kollisioner findes). Brug IKKE.
- (b) SHA-1 (1995) — 160 bit. Usikker siden 2017 (Google's SHAttered-angreb). Phased out.
- (c) SHA-256 (2002, del af SHA-2-familie) — 256 bit. Anbefalet i dag. Bruges i Bitcoin (mining + hash-pointer), Git (commit-hashes), TLS (certifikat-signature), digital signatur.
- (d) SHA-3 (2015, Keccak) — alternativ til SHA-2.
- (e) BLAKE3 (2020) — moderne, hurtigere.
Anvendelser
1.
Datacheck-summer — verificér download (SHA-256 hash matcher).
2.
Digital signatur — sign(hash(message), private_key).
3.
Blockchain — kæder af hashes giver immutability.
4. Password-lagring (NEDENFOR).
Password-lagring — DÅRLIG MÅDE: gem plaintext (kompromitteret database = alle passwords lækket).
Bedre: gem hash. Men: brute force + rainbow tables knækker simple hashes.
Bedst — bcrypt + salt: bcrypt (1999) er en LANGSOM hash-funktion specielt designet til passwords. Tager 100ms+ per hash (langt fra de microsekunder for SHA-256). Beskytter mod brute-force selv med GPU.
Salt: tilfældig string tilføjet til password f
Læringsmål
- Anvende STRIDE til trusselmodellering
- Identificere OWASP Top 10 og forsvare mod SQL-injektion/XSS
- Forklare symmetrisk og asymmetrisk kryptering
- Implementere korrekt password-hashing (bcrypt)
- Forstå etisk hacking og juridisk kontekst
Sådan kan du arbejde med emnet
- Forklar, hvad en kryptografisk hashfunktion er, og hvad der gør SHA-256 velegnet
- Forklar, hvad salt er i password-hashing, og hvorfor bcrypt er bedre end MD5 til passwords
- Skriv et Python-eksempel med bcrypt-biblioteket, der hasher og verificerer et password
Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis