{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"cs/password","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/cs/password/","da":"https://cmaintz.github.io/tech-atlas/da/terms/cs/password/"},"term":{"en":"Password","da":"Adgangskode"},"aka":{"en":["passphrase"],"da":["password","kodeord","adgangsfrase"]},"domain":["cs"],"cluster":"identity","layer":"identity","status":"current","era":1961,"summary":{"en":"A secret string of characters, known only to the user, typed in to prove they are who they claim to be.","da":"En hemmelig række tegn, som kun brugeren kender, og som indtastes for at bevise, at vedkommende er den, de udgiver sig for."},"body":{"formal":{"en":"A memorised secret used as a credential in authentication. The system should store it only in a scrambled form that cannot be turned back, so that not even the system itself can read it.","da":"En hemmelighed, som brugeren husker udenad, og som bruges som loginoplysning ved autentificering. Systemet bør kun gemme den i en forvansket form, der ikke kan regnes tilbage, så ikke engang systemet selv kan læse den."},"plain":{"en":"Like a secret knock agreed with a friend - it works only while nobody else knows it, and it is useless once someone has overheard it.","da":"Som en hemmelig bankekode aftalt med en ven - den virker kun, så længe ingen andre kender den, og er værdiløs, når nogen har hørt den."},"inPractice":{"en":"Following NIST guidance, the IT manager at a small Danish company stops forcing password changes every 90 days and instead requires long passphrases, checked against lists of known leaked passwords.","da":"Efter NIST's anbefaling holder IT-chefen i en mindre dansk virksomhed op med at kræve skift af adgangskode hver 90. dag og kræver i stedet lange adgangsfraser, der tjekkes mod lister over kendte lækkede adgangskoder."},"whyItMatters":{"en":"Passwords are easy to guess, use again and trick out of people with phishing, so on their own they are weak - that weakness is why MFA exists.","da":"Adgangskoder er lette at gætte, genbruge og lokke ud af folk med phishing, så alene er de svage - netop derfor findes MFA."}},"deepDive":{"en":"Passwords on shared computers date to MIT's Compatible Time-Sharing System in the early 1960s, and so do the first leaks of password files. Morris and Thompson's \"Password Security: A Case History\" (1979) described the Unix response that still shapes practice: store only a one-way transformation, make it deliberately slow (crypt(3) iterated a modified DES 25 times), and add a random salt (12 bits then) so identical passwords hash differently and precomputed tables are useless.\n\nModern storage uses a memory-hard or iterated password hashing function with a unique salt per password. OWASP's Password Storage Cheat Sheet recommends Argon2id, for example with 19 MiB of memory, two iterations and one degree of parallelism; alternatively scrypt with N=2^17, r=8, p=1; bcrypt with a work factor of at least 10, noting its 72-byte input limit; or PBKDF2-HMAC-SHA256 with at least 600,000 iterations where FIPS compliance is required. NIST SP 800-63B-4 §3.1.1.2 requires a salt of at least 32 bits and an approved scheme from SP 800-132, with the cost factor as high as practical. An optional pepper, a secret key held outside the database, for example in an HSM, means a stolen table alone cannot be cracked. Fast general-purpose hashes such as MD5 or plain SHA-256 are unsuitable, because GPUs test billions of candidates per second against them.\n\nThe same section reversed decades of folklore on policy. Passwords used as the only factor must be at least 15 characters, and at least 8 when part of multi-factor authentication; verifiers should accept at least 64 characters, all printing ASCII and Unicode, and must not impose composition rules, must not require periodic changes (but must force a change on evidence of compromise), must not use security questions or hints, and must check new passwords against a blocklist of common, expected and compromised values. Paste and password managers should be allowed. Blocklist checks can use a k-anonymity range query, as Have I Been Pwned's Pwned Passwords service does with the first five hex characters of a SHA-1 hash, so the password itself never leaves the server.\n\nAttacks split into online and offline. Online, attackers use password spraying (a few common passwords across many accounts, staying under lockout thresholds) and credential stuffing (pairs leaked elsewhere), countered by rate limiting, which SP 800-63B-4 §3.2.2 caps at 100 consecutive failures per authenticator, and by breached-password checks. Offline, after a database theft, tools such as hashcat apply dictionaries, rules and masks, so the choice of hash function decides how long users have to react. Phishing, adversary-in-the-middle proxies, keyloggers and infostealers bypass strength entirely, which is why passwords are increasingly paired with, or replaced by, phishing-resistant factors such as passkeys.","da":"Adgangskoder på delte computere går tilbage til MIT's Compatible Time-Sharing System i begyndelsen af 1960'erne, og det gør de første læk af adgangskodefiler også. Morris og Thompsons \"Password Security: A Case History\" (1979) beskrev Unix' svar, som stadig præger praksis: Gem kun en envejstransformation, gør den bevidst langsom (crypt(3) gentog en modificeret DES 25 gange), og tilføj et tilfældigt salt (dengang 12 bit), så ens adgangskoder får forskellige hashes, og forudberegnede tabeller bliver ubrugelige.\n\nModerne opbevaring bruger en hukommelseskrævende eller itereret hashfunktion til adgangskoder med et unikt salt pr. adgangskode. OWASP's Password Storage Cheat Sheet anbefaler Argon2id, fx med 19 MiB hukommelse, to iterationer og én grad af parallelitet; alternativt scrypt med N=2^17, r=8, p=1; bcrypt med en arbejdsfaktor på mindst 10, dog med en grænse på 72 bytes input; eller PBKDF2-HMAC-SHA256 med mindst 600.000 iterationer, hvor FIPS-overholdelse kræves. NIST SP 800-63B-4 §3.1.1.2 kræver et salt på mindst 32 bit og en godkendt metode fra SP 800-132 med så høj en omkostningsfaktor som praktisk muligt. En valgfri pepper, en hemmelig nøgle, der opbevares uden for databasen, fx i en HSM, betyder, at en stjålet tabel ikke kan knækkes alene. Hurtige generelle hashfunktioner som MD5 eller ren SHA-256 er uegnede, fordi GPU'er afprøver milliarder af kandidater i sekundet mod dem.\n\nSamme afsnit gjorde op med årtiers vandrehistorier om politikker. Adgangskoder, der bruges som eneste faktor, skal være mindst 15 tegn, og mindst 8, når de indgår i multifaktorautentificering; verifieren bør acceptere mindst 64 tegn, alle printbare ASCII- og Unicode-tegn, og må ikke stille kompositionskrav, må ikke kræve periodisk skift (men skal kræve skift ved tegn på kompromittering), må ikke bruge kontrolspørgsmål eller hints og skal tjekke nye adgangskoder mod en blokeringsliste over almindelige, forventelige og kompromitterede værdier. Indsætning fra udklipsholderen og adgangskodeadministratorer bør tillades. Tjek mod blokeringslisten kan ske med en k-anonymitetsforespørgsel, som Have I Been Pwneds Pwned Passwords-tjeneste gør med de første fem hex-tegn af en SHA-1-hash, så selve adgangskoden aldrig forlader serveren.\n\nAngrebene deler sig i online og offline. Online bruger angribere password spraying (få almindelige adgangskoder mod mange konti for at holde sig under spærregrænserne) og credential stuffing (par, der er lækket andre steder), som modvirkes af hastighedsbegrænsning, som SP 800-63B-4 §3.2.2 sætter et loft for på 100 fejl i træk pr. autentifikator, og af tjek mod lækkede adgangskoder. Offline, efter tyveri af en database, anvender værktøjer som hashcat ordbøger, regler og masker, så valget af hashfunktion afgør, hvor lang tid brugerne har til at reagere. Phishing, adversary-in-the-middle-proxyer, keyloggere og infostealere omgår styrken fuldstændigt, og derfor suppleres eller erstattes adgangskoder i stigende grad af phishing-resistente faktorer som passkeys."},"edges":[{"type":"kind-of","to":"cs/credential","confidence":"high","strength":"normal"},{"type":"used-with","to":"security/two-factor-authentication","why":{"en":"A password is usually the first of the two factors, combined with a code or a phone prompt.","da":"En adgangskode er typisk den første af de to faktorer, kombineret med en kode eller en anmodning på telefonen."},"confidence":"high","strength":"normal"}],"depth":0,"sources":[{"title":"NIST SP 800-63B, Authentication and Lifecycle Management","url":"https://pages.nist.gov/800-63-3/sp800-63b.html","tier":"standard","publisher":"NIST"},{"title":"NIST SP 800-63B-4 - Authentication and Authenticator Management","url":"https://pages.nist.gov/800-63-4/sp800-63b.html","tier":"standard","publisher":"NIST"},{"title":"OWASP Password Storage Cheat Sheet","url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","tier":"reference","publisher":"OWASP"}],"draft":true}