{"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/cryptographic-key","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/cs/cryptographic-key/","da":"https://cmaintz.github.io/tech-atlas/da/terms/cs/cryptographic-key/"},"term":{"en":"Cryptographic key","da":"Kryptografisk nøgle"},"aka":{"en":["key","encryption key"],"da":["nøgle","krypteringsnøgle"]},"domain":["cs"],"cluster":"cryptography","layer":"theory","status":"current","summary":{"en":"The secret value that decides how data is scrambled and restored - whoever holds it can read the protected data.","da":"Den hemmelige værdi, der styrer, hvordan data krypteres og gøres læsbare igen - den, der har den, kan læse de beskyttede data."},"body":{"formal":{"en":"A long, randomly chosen value fed into an encryption or signing method. The method itself is public, so all of the protection rests on keeping the right key secret and on it being too long to guess.","da":"En lang, tilfældigt valgt værdi, der indgår i en krypterings- eller signeringsmetode. Selve metoden er offentlig, så al beskyttelse hviler på, at den rette nøgle holdes hemmelig og er for lang til at blive gættet."},"plain":{"en":"Like the key to a padlock - everyone knows how padlocks work, but only the person with the right key can open this one.","da":"Som nøglen til en hængelås - alle ved, hvordan hængelåse virker, men kun den med den rette nøgle kan åbne netop denne."},"inPractice":{"en":"The IT operations lead at a pension fund keeps the keys for its encrypted backups in a separate, locked-down system, so an attacker who gets hold of the backups does not also get the keys.","da":"Den IT-driftsansvarlige i en pensionskasse opbevarer nøglerne til de krypterede backups i et separat, aflåst system, så en angriber, der får fat i backuppene, ikke også får nøglerne."},"whyItMatters":{"en":"Encryption is only as strong as the care taken with its keys; a lost key means lost data, and a leaked key means no protection at all.","da":"Kryptering er aldrig bedre end omhuen med nøglerne; en mistet nøgle betyder mistede data, og en lækket nøgle betyder ingen beskyttelse overhovedet."}},"deepDive":{"en":"Kerckhoffs's principle (1883) is the design rule behind the concept: a cipher must remain secure even if everything except the key is public. Security is therefore measured in bits of key strength, the base-2 logarithm of the work an attacker needs. For symmetric keys that is simply the key length (AES-128 gives 128 bits, assuming no structural break); for asymmetric keys it is far lower than the length because of mathematical shortcuts. NIST SP 800-57 Part 1 Rev. 5 equates RSA-2048 with about 112 bits and RSA-3072 or ECC P-256 with about 128 bits, and treats 112 bits as the minimum for current use.\n\nKeys come in distinct types with distinct handling rules: symmetric secret keys, private/public key pairs, key-encrypting keys (KEKs) that wrap data-encrypting keys (DEKs), MAC keys, and ephemeral session keys that exist only for one exchange. Good practice is one key, one purpose; reusing an RSA key for both signing and decryption, or the same AES key in two protocols, opens cross-protocol attacks. Derived keys are produced with a KDF such as HKDF (RFC 5869) or those in NIST SP 800-108, which is how TLS 1.3 turns one shared secret into separate traffic keys per direction.\n\nGeneration is the most underestimated step. Keys must come from a cryptographically secure random bit generator (NIST SP 800-90A DRBGs seeded from a true entropy source, exposed as getrandom() on Linux or BCryptGenRandom on Windows); SP 800-133 describes approved generation methods. History shows what happens otherwise: the 2008 Debian OpenSSL bug (CVE-2008-0166) reduced the seed to the process ID, leaving only about 32,768 possible keys per type and size, and the 2017 ROCA flaw (CVE-2017-15361) in an Infineon library produced RSA moduli that could be factored, forcing the revocation of Estonian ID-card certificates. Embedded devices that generate keys at first boot, before the entropy pool has filled, have repeatedly produced shared factors across RSA keys found on the internet.\n\nA key is not a password. A password is low-entropy, human-chosen and must be stretched with a deliberately slow KDF (Argon2id, scrypt, PBKDF2) before it can serve as key material, and even then its effective strength is bounded by how guessable it is. Keys also differ from certificates: a certificate carries a public key and binds it to an identity, while the private key never leaves its owner. In practice keys live as PEM/DER files, entries in a PKCS#12 container, objects in an HSM or cloud KMS accessed via PKCS#11 or an API, or in a TPM or secure enclave where they are marked non-exportable. Where a key physically resides determines what a compromised host can steal: a file can be copied, a non-exportable HSM key can only be misused while access lasts.","da":"Kerckhoffs' princip (1883) er designreglen bag begrebet: et kryptosystem skal forblive sikkert, selv om alt andet end nøglen er offentligt. Sikkerhed måles derfor i bits nøglestyrke, dvs. totalslogaritmen af det arbejde, en angriber skal udføre. For symmetriske nøgler er det blot nøglelængden (AES-128 giver 128 bit, så længe algoritmen ikke er brudt strukturelt); for asymmetriske nøgler er det langt mindre end længden på grund af matematiske genveje. NIST SP 800-57 Part 1 Rev. 5 sidestiller RSA-2048 med ca. 112 bit og RSA-3072 eller ECC P-256 med ca. 128 bit og betragter 112 bit som minimum i dag.\n\nNøgler findes i forskellige typer med hver deres regler: symmetriske hemmelige nøgler, private/offentlige nøglepar, nøglekrypteringsnøgler (KEK), der pakker datakrypteringsnøgler (DEK) ind, MAC-nøgler og flygtige sessionsnøgler, der kun lever i én udveksling. God praksis er én nøgle til ét formål; genbruges en RSA-nøgle til både signering og dekryptering eller samme AES-nøgle i to protokoller, åbnes der for krydsprotokolangreb. Afledte nøgler laves med en KDF som HKDF (RFC 5869) eller dem i NIST SP 800-108, og det er sådan TLS 1.3 gør én fælles hemmelighed til separate trafiknøgler i hver retning.\n\nGenerering er det mest undervurderede trin. Nøgler skal komme fra en kryptografisk sikker tilfældighedsgenerator (DRBG'er efter NIST SP 800-90A seedet fra en ægte entropikilde, tilgængelig som getrandom() på Linux eller BCryptGenRandom på Windows); SP 800-133 beskriver godkendte genereringsmetoder. Historien viser, hvad der ellers sker: Debians OpenSSL-fejl fra 2008 (CVE-2008-0166) reducerede seedet til proces-id'et, så der kun fandtes ca. 32.768 mulige nøgler pr. type og størrelse, og ROCA-fejlen fra 2017 (CVE-2017-15361) i et Infineon-bibliotek gav RSA-moduli, der kunne faktoriseres, hvilket tvang Estland til at tilbagekalde certifikater på nationale ID-kort. Indlejrede enheder, der genererer nøgler ved første opstart, før entropipuljen er fyldt, har gentagne gange givet RSA-nøgler på internettet med fælles faktorer.\n\nEn nøgle er ikke en adgangskode. En adgangskode har lav entropi, er valgt af et menneske og skal strækkes med en bevidst langsom KDF (Argon2id, scrypt, PBKDF2), før den kan bruges som nøglemateriale, og selv da er styrken begrænset af, hvor let den er at gætte. Nøgler er heller ikke certifikater: et certifikat indeholder en offentlig nøgle og knytter den til en identitet, mens den private nøgle aldrig forlader ejeren. I praksis ligger nøgler som PEM/DER-filer, i en PKCS#12-container, som objekter i en HSM eller cloud-KMS tilgået via PKCS#11 eller et API, eller i en TPM eller secure enclave, hvor de er markeret som ikke-eksporterbare. Hvor nøglen fysisk ligger, afgør, hvad en kompromitteret maskine kan stjæle: en fil kan kopieres, en ikke-eksporterbar HSM-nøgle kan kun misbruges, så længe adgangen varer."},"edges":[{"type":"part-of","to":"cs/encryption","confidence":"high","strength":"normal"},{"type":"contrasts-with","to":"cs/password","why":{"en":"A password is chosen and remembered by a person; a key is a long random value made and stored by a machine.","da":"En adgangskode vælges og huskes af et menneske; en nøgle er en lang tilfældig værdi, der skabes og gemmes af en maskine."},"confidence":"high","strength":"normal"}],"depth":0,"sources":[{"title":"Paar & Pelzl, Understanding Cryptography","tier":"textbook"}],"draft":true}