La Kryptografie se stala tichým základem veškeré digitální bezpečnostiOd okamžiku, kdy odemknete telefon prstem, až po provedení převodu, podepsání online smlouvy nebo chatování na WhatsAppu, kryptografické klíče neustále fungují na pozadí. Pokud tyto klíče selžou, vše ostatní se zhroutí, bez ohledu na to, jak dobré jsou algoritmy nebo firewall.
V této příručce se na to podíváme s klidem Jaké typy kryptografických klíčů existují, jak se používají a jak by měly být spravovány? aby skutečně nabízely bezpečnost. Integrujeme koncepty jako symetrický klíč, veřejný a soukromý klíč, správa životního cyklu, bloky klíčů, PKI, doporučené algoritmy, aktuální hrozby (včetně kvantových výpočtů) a osvědčené postupy, jak se vyhnout chybám.
Co je kryptografický klíč a proč je tak důležitý?
V jakémkoli moderním kryptografickém schématu, Klíč je sada bitů, která se zadává do algoritmu za účelem provádění operací, jako je šifrování, dešifrování, podepisování nebo ověřování.Algoritmus je obvykle veřejný (podle Kerckhoffova principu), takže veškerá bezpečnost závisí na důvěrnosti a robustnosti klíče.
Mnoho systémů je založeno na dvojice doplňkových operacíŠifrování/dešifrování, podepisování/ověřování, generování kódu pro ověřování zpráv atd. Stejný algoritmus se chová odlišně v závislosti na přijatém klíči a v robustním návrhu by mělo být možné systém prolomit pouze v případě, že je klíč získán.
Klíče se navíc nepoužívají pouze k šifrování dat. Používají se také pro ověřit, podepsat, chránit jiné klíče (zabalování klíčů) nebo odvodit nové klíčeProto je tak důležité mít jasno v tom, k čemu se který typ klíče používá, a nemíchat funkce náhodně.
Typy klíčů podle jejich povahy: symetrické a asymetrické
Obecně se klíče dělí do dvou hlavních rodin: symetrické klíče a asymetrické klíčeOdtud se objevují varianty, specifická využití a hybridní schémata.
Symetrické klíče
Symetrický klíč je jedinečný klíč, který Funguje jak pro šifrování, tak pro dešifrování v daném algoritmu. Jedná se o klasický model „sdíleného klíče“: odesílatel a příjemce mají přesně stejný tajný klíč.
Tento typ klíče vyniká svou účinností: Je ideální pro šifrování velkých objemů dat (plné disky, databáze, zálohy, vysoce výkonný síťový provoz…). Typické algoritmy založené na symetrických klíčích jsou DES (nyní zastaralý), 3DES/TDEA a především AES.
Nevýhoda je zřejmá: Musíme najít bezpečný způsob, jak sdílet klíčPokud někdo během výměny toto tajemství zachytí, celý systém je ohrožen. Navíc čím více účastníků sdílí stejný klíč, tím větší je plocha pro útok.
Asymetrické klíče (veřejný klíč / soukromý klíč)
Asymetrická kryptografie pracuje s matematicky související páry klíčůVeřejný klíč a soukromý klíč. Co je zašifrováno jedním, lze dešifrovat pouze druhým a extrakce soukromého klíče z veřejného klíče by měla být výpočetně neproveditelná.
V tomto modelu veřejný klíč je volně distribuován (v certifikátech, adresářích, serverech) a používá se k šifrování nebo ověřování podpisů, zatímco Soukromý klíč je uchováván v přísném tajemství. a používá se k dešifrování nebo podepisování. Kombinace obou se nazývá pár klíčů.
Typickými příklady asymetrických schémat jsou RSA, DSA a varianty založené na eliptických křivkách (ECC, ECDSA, ECDH)V praxi je asymetrické šifrování pomalejší a zpracovává méně dat, takže je obvykle vyhrazeno pro nastavování klíčů relace, výměnu tajných kódů nebo podepisování dokumentů, nikoli pro šifrování velkých souborů.
Hybridní kryptografie
Aby se využilo to nejlepší z obou světů, téměř všechna řešení v reálném světě používají hybridní schémataAsymetrický klíč se používá k ochraně nebo výměně symetrického klíče a veškerý datový provoz je pak tímto symetrickým klíčem šifrován.
Tato strategie se používá například TLS při prohlížení přes HTTPSProhlížeč a server používají asymetrickou výměnu klíčů (RSA, ECDHE nebo stále častěji postkvantové mechanismy) k dohodě na klíči relace a odtud se obsah šíří chráněný pomocí AES-GCM nebo jiného moderního symetrického šifrování.
Hlavní algoritmy a použití kryptografických klíčů
Klíče jsou spojeny s různé typy algoritmů a účelyŠifrovací klíč disku není totéž co klíč pro podepisování kódu nebo klíč pro ověřování zpráv.
Šifrování tajným klíčem: streamy a bloky
V kryptografii s tajným klíčem můžeme rozlišovat mezi proudové šifry a blokové šifryStreamové procesory zpracovávají prostý text bit po bitu nebo bajt po bajtu, zatímco blokové procesory pracují s bloky pevné velikosti (např. 128 bitů) a poté tyto bloky řetězí dohromady pomocí různých režimů provozu.
Nejrelevantnější blokové šifry v současné praxi jsou 3DES (nyní postupně ukončovaný) a především AESAES podporuje 128, 192 a 256bitové klíče a stal se de facto standardem pro téměř všechno: VPN, TLS, šifrování disku, cloudové úložiště…
Je klíčové si uvědomit, že bezpečnost nezávisí jen na algoritmu, ale také na jak se klíč používá v provozních režimechStarší režimy jako ECB jsou katastrofa, protože odhalují vzory v prostém textu; doporučené moderní režimy (CBC s opatrností, CTR, GCM) vyžadují jedinečné a dobře generované IV nebo nonce.
Šifrování s veřejným klíčem: RSA, ECC a další
V rodině veřejných klíčů je veteránem RSA, založený na obtížnosti rozklad čísla N složeného ze dvou velkých prvočíselS moderním paddingem, jako je RSA-OAEP, se používá k šifrování malých částí dat, obvykle symetrických klíčů.
Souběžně se rozšířila kryptografie eliptických křivek (ECC), která umožňuje mnohem kratší klíče pro srovnatelnou úroveň zabezpečeníKřivky jako P-256 nebo X25519 se hojně používají v TLS, end-to-end šifrovaných zprávách a moderních VPN, jako je WireGuard.
V rámci asymetrické kryptografie máme také schémata digitální podpis Konkrétní: RSA-PSS, DSA, ECDSA a novější varianty jako Ed25519 nebo postkvantové algoritmy (ML-DSA, SLH-DSA), všechny založené na párech veřejného/soukromého klíče.
Kryptografické hašovací funkce a související klíče
Ačkoli hašovací funkce nepoužívá klíč k vygenerování digest, stává se „závislou na klíči“, pokud je kombinována v mechanismech, jako je HMAC (kód pro ověření zprávy na bázi hash)kde se symetrický klíč používá ve spojení s hashem k ověřování zpráv.
Moderní hašovací funkce, jako např. SHA-256 a SHA-3 Jsou jádrem mnoha použití: ověřování integrity souborů, blockchainy, digitální podpisy, ukládání hesel (s funkcemi Salt a Derivation, jako jsou bcrypt, scrypt nebo Argon2) a vytváření algoritmů založených na postkvantovém hashování.
Klíče k digitálním podpisům a ověřování
Digitální podpisy vám umožňují dokázat, že Osoba, která se vydávala za odesílatele, odeslala konkrétní zprávu. a že nebyl upraven. Za tímto účelem se k podepsání hashe zprávy použije soukromý klíč podepisující osoby a k ověření tohoto podpisu se použije veřejný klíč.
Tento mechanismus poskytuje autentizace, integrita a nepopiratelnostPoužívá se proto při podepisování právních dokumentů, podepisování kódu, digitálních certifikátů, finančních transakcí, systémů digitální identity a prakticky jakéhokoli procesu, který vyžaduje silný důkaz o tom, kdo co a kdy udělal.

Obecný rámec kryptografické bezpečnosti: základní vlastnosti
Abychom pochopili roli klíčů, je užitečné si pamatovat bezpečnostní vlastnosti, které moderní kryptografie sledujejak při přepravě, tak v klidu:
- DůvěrnostZašifrované informace by měly být schopny číst pouze oprávněné strany, které znají správný klíč.
- IntegritaJakákoli změna dat, byť jen jediného bitu, musí být detekovatelná pomocí hashů, MAC adres nebo podpisů.
- OvěřováníSystém musí být schopen ověřit totožnost odesílatele a příjemce, stejně jako původ zprávy.
- nezavrhujiOdesílatel nesmí být schopen popřít, že odeslal zprávu podepsanou svým soukromým klíčem.
- Dobrá správa heselBezpečné generování, distribuce, ukládání, rotace a rušení klíčů.
Pokud některá z těchto nohou selže, Celková bezpečnost systému trpíI když je matematický algoritmus dokonalý, správa klíčů je stejně, ne-li důležitější, než výběr dobré šifrovací metody.
Klíčový životní cyklus: komplexní správa
Správa kryptografických klíčů je velmi podobná správě certifikátů, ale s několika rozdíly: Každý klíč prochází fázemi generování, distribuce, ukládání, používání, rotace, zrušení a expirace.Dělat to ručně s excelovými tabulkami je recept na katastrofu.
Generování klíčů
Výchozím bodem je vždy robustní generování klíčůKlíčové jsou zde dva faktory: délka klíče a kvalita použité náhodnosti.
Pokud jde o délku, normy jako NIST 800-57 a další aktuální dokumenty doporučují v zásadě následující velikosti: 128 nebo 256 bitů pro symetrické klíče (AES), minimálně 2048 bitů pro RSA a 256 nebo 384 bitů pro klíče ECC Pro náročná prostředí. Čím delší klíč, tím obtížnější je útok hrubou silou, i když se také zvyšují výpočetní náklady.
Pokud jde o náhodnost, je nezbytné použít kryptograficky zabezpečené generátory pseudonáhodných čísel (CSPRNG)které při dostatečné entropii produkují nepředvídatelné sekvence. Pokud je zdroj náhodnosti špatný nebo předvídatelný, klíč se může dostat do dosahu sofistikovaného útočníka.
Moderní platformy dnes poskytují bezpečná API pro generování klíčů: getrandom v Linuxu, BCryptGenRandom ve Windows, zabezpečené funkce v kryptografických knihovnách specializované… K tomu byste nikdy neměli používat univerzální funkce jako rand().
Distribuce a výměna klíčů
Jakmile jsou klíče vygenerovány, musí se dostat k těm, kteří je potřebují. distribuce klíčů Toto je jeden z nejrizikovějších momentů, zejména pokud mluvíme o symetrických klíčích sdílených mezi různými entitami.
Pro snížení tohoto rizika se používají mechanismy, jako například PKI (Infrastruktura veřejných klíčů), protokoly jako SSL/TLS, VPN a systémy správy klíčů (KMS)V těchto schématech může veřejný klíč volně cirkulovat, zatímco soukromý klíč by nikdy neměl opustit své bezpečné prostředí.
Během výměny, Komunikační kanály musí být chráněny (například s robustním TLS, ověřenými certifikáty a vzájemné ověřování (pokud je to relevantní). Kromě toho musí být transportní nebo šifrovací klíče (KEK) jasně označeny a odděleny od klíčů, které chrání uživatelská data.
Bezpečné úložiště klíčů
Úložný prostor je dalším klíčovým prvkem: Soukromý klíč uložený v prostém textu v souboru nebo ve zdrojovém kódu je pro každého útočníka darem.Proto se v závislosti na prostředí a požadované úrovni zabezpečení používají různá řešení.
Mezi obvyklými možnostmi najdeme kryptografické trezory klíčů, HSM (Hardwarové bezpečnostní moduly)Cloudové KMS a úložiště klíčů operačního systémuMyšlenka je taková, že klíče zůstávají v klidovém stavu zašifrované a dešifrují se pouze tehdy, když je potřebuje autorizovaný proces, přičemž se uchovávají protokoly přístupu.
HSM nabízí další vrstvu: Klíče nikdy neopouštějí hardware v prostém textua veškeré kryptografické operace se provádějí v samotném modulu. V prostředí PCI, bankovnictví a rozsáhlých důvěryhodných infrastrukturách je použití certifikovaných HSM prakticky povinné.
Rotace, zrušení a vypršení platnosti
Klíče nevydrží věčně. Ve skutečnosti, Uchovávat si stejné heslo po celé roky je hrozný nápad protože to zvyšuje potenciální škody v případě kompromitace. Proto je nutné definovat jasné zásady rotace a expirace.
La otočení klíče To zahrnuje generování nových klíčů v pravidelných intervalech (například každé čtvrtletí nebo rok v závislosti na typu klíče a riziku) a postupnou migraci na ně. V ideálním případě by tento proces měl být automatizovaný, aby se minimalizovala lidská chyba.
La předčasné zrušení Toto se uplatňuje, když existuje podezření nebo důkaz o úniku či kompromitaci soukromého klíče. V takovém případě musí být klíč co nejdříve zneplatněn, nahrazen jiným a v případě certifikátů musí být zneplatnění oznámeno prostřednictvím CRL nebo OCSP.
Konečně, plánované vypršení platnosti Toto se používá k předpokladu, že žádný algoritmus ani klíč nezůstane bezpečný navždy, zejména s vývojem výpočetního výkonu (a kvantovou hrozbou na obzoru). Stanovení rozumných dat platnosti klíčů a vyhýbání se používání prošlých klíčů je klíčové pro udržení dobré úrovně zabezpečení.
Bloky klíčů, obalování klíčů a pokročilá ochrana symetrických klíčů
V odvětvích, jako jsou finance, bylo nutné správu symetrických klíčů výrazně zdokonalit. S implementací standardu PCI PIN v2.0 a novější verze, je vyžadováno, aby všechny šifrované symetrické klíče byly zpracovávány ve strukturách nazývaných bloky klíčů.
Klíčový blok je v podstatě balíček obsahující šifrovaný klíč spolu s metadaty popisujícími jeho povolené použití, typ a kontroly integrityByl navržen tak, aby zabránil někomu v bezprostřední změně účelu klíče nebo jeho nahrazení.
Finanční sektor historicky používal algoritmy jako například DES a jeho varianty Double-DES a Triple-DES (2DES, 3DES/TDEA)Ty se pro zvýšení zabezpečení spoléhaly na kombinace několika klíčů (balíčků klíčů), ale stále měly problémy s výměnou klíčů a bezpečným úložištěm, zejména při použití klíčů KEK bez dobře definovaných atributů použití.
Pro zlepšení tohoto scénáře byl použit koncept klíčové variantyTo zahrnovalo kombinaci základního klíče s různými binárními maskami v závislosti na použití. I když to poskytovalo určité logické oddělení, nenabízelo to integritu klíče ani autentizaci.
Řešení přišlo s balení klíčůŠifrování klíče je technika, která šifruje klíč spolu s metadaty tak, aby byl jednoznačně spojen s konkrétním účelem a chráněn před manipulací. Existují standardizované schémata, jako například TDEA Key Wrap (TKW) nebo AES Key Wrap (AESKW a KWP), které se používají k obalování klíčů v nehostinném prostředí.
Z této myšlenky se vyvinul standard klíčových bloků, formalizovaný v ANSI X9.143 (dříve TR-31), dnes referenční metoda pro bezpečnou výměnu šifrovaných symetrických klíčů ve finančním světě.
Struktura a verze bloků klíčů
V modelu X9.143 každý blok kláves obsahuje chráněný klíč, omezení použití a další metadatachráněno šifrovacími a autentizačními mechanismy. To zahrnuje generování klíče ochrany bloku klíčů (KBPK), ze kterého jsou odvozeny dva podklíče:
- KBEK (šifrovací klíč bloku klíče), používá se k zašifrování části obsahující šifrovaný text a délku klíče.
- KBAK (klíč pro ověřování bloku klíčů) nebo KBMK, používaný ke generování MAC (Message Authentication Code) přes celý obsah bloku klíčů.
Tato struktura zajišťuje, že Jakákoli změna atributů nebo šifrovacího klíče je okamžitě detekována.Standardizovaný formát navíc umožňuje interoperabilitu mezi různými výrobci a zařízeními HSM.
Jeden zajímavý praktický detail je, že První znak záhlaví bloku klíčů označuje jeho verzi.Nejrelevantnější jsou:
- Verze A: chráněna metodou vazby variant klíče.
- Verze B: chráněna metodou vazby odvození klíčů TDEA.
- Verze C: chráněna metodou vazby variant klíče TDEA.
- Verze D: chráněno metodou AES Key Derivation Binding Method.
Z pohledu PCI PIN a P2PE, Pouze verze B (TDEA) a D (AES) jsou považovány za přijatelné.protože jsou založeny spíše na odvození klíčů než na reverzibilních variantách.
Klíče, které musí být ve formátu bloku klíčů
Použití bloků klíčů je povinné, když Symetrický klíč existuje mimo zabezpečený perimetr kryptografického zařízení. (HSM, PIN klávesnice, platební terminál) nebo je vyměňován mezi organizacemi.
V kontextu PCI to ovlivňuje dlouhý seznam klíčů: Hlavní klíče zóny (ZMK), šifrovací klíče (KEK), hlavní klíče terminálu (TMK), šifrovací klíče PIN (PEK), základní odvozovací klíče (BDK) v DUKPT a počáteční odvozovací klíčeVšechny tyto údaje, pokud jsou uloženy nebo přenášeny zašifrované jiným symetrickým klíčem, musí být ve formátu bloku klíče.
Fáze migrace do klíčových bloků
Globální přechod na klíčové bloky byl strukturován v tři hlavní fáze s daty stanovenými standardem PCI SSC pro PCI PIN a P2PE:
- Fáze 1Interní klíče a úložiště v prostředí poskytovatele služeb (aplikace, databáze připojené k HSM). Datum účinnosti: 1. června 2019.
- Fáze 2Externí propojení s asociacemi a sítěmi (např. klíče ZMK, které chrání pracovní klíče PIN mezi nabyvateli, emitenty, KIF atd.). Datum účinnosti: 1. ledna 2023.
- Fáze 3Rozšíření na všechny obchodní hostitelské systémy, pokladní terminály a bankomaty, včetně TMK a IPEK. Datum účinnosti: 1. ledna 2025.
Aby organizace mohly tyto fáze dokončit, musí Inventarizujte všechny své klíče, identifikujte, kde se šifrované texty nacházejí mimo HSM, migrujte své MFK/LMK/KEK do KBPK a koordinujte s třetími stranami. (emitentů, nabyvatelů, poskytovatelů HSM, služeb vkládání klíčů) pro zajištění kompatibility.
PKI, certifikáty a důležitost správy klíčů
Infrastruktura veřejných klíčů (PKI) je rámec, který podporuje digitální důvěra na webu, v podnikových sítích, v kódových podpisech a v digitálních identitáchJeho jádro spočívá právě v kryptografických klíčích a certifikátech, které je propojují s identitami.
PKI je založena na certifikační autority (CA) Tyto certifikační autority vydávají certifikáty X.509 podepsáním dat držitele (domény, společnosti, osoby) jeho soukromým a veřejným klíčem. Systémy se na tyto kořenové a zprostředkující certifikační autority spoléhají k ověřování pravosti certifikátů předložených servery, uživateli nebo zařízeními.
Aby to vše bylo spolehlivé, nestačí jen vydávat certifikáty: Přidružené klíče musí být správně spravoványTo zahrnuje vedení inventáře všech klíčů a certifikátů, kontrolu jejich platnosti, rotaci klíčů v příslušných intervalech, rušení kompromitovaných nebo nepoužívaných certifikátů a zajištění toho, aby soukromé klíče spojené s kritickými certifikáty byly uloženy v HSM nebo zabezpečených trezorech.
Koordinační fóra, jako například Fórum CA / BStanovují společná pravidla pro certifikační autority a prohlížeče (například pro minimální velikost klíče, akceptované algoritmy, maximální doby platnosti, požadavky na rychlé zrušení) s cílem udržet vysokou úroveň zabezpečení a zabránit zneužití.
Nejlepší postupy pro správu kryptografických klíčů
Vzhledem ke současné složitosti služeb, cloudů a zařízení je spoléhání se na to, že každý tým bude spravovat „své“ klíče ručně, koledováním si o potíže. Osvědčené postupy lze shrnout do série bodů, které každá organizace by měla minimálně předpokládat:
- Centralizujte správu klíčů na platformě nebo službě KMS/HSM, namísto jejich rozptýlení mezi servery, aplikacemi a tabulkami.
- Používejte aktualizované algoritmy a velikosti klíčů, a to v souladu s doporučeními organizací, jako je NIST (AES-128/256, RSA ≥ 2048 bitů, ECC s 256/384 bity, hash SHA-256 nebo vyšší).
- Uložte klíče do kryptografických trezorů nebo zabezpečit hardwarové moduly a zabránit tak jejich přístupu v prostém textu neoprávněným uživatelům nebo procesům.
- Používejte přísná řízení přístuputakže pouze velmi specifické a auditované profily mohou používat nebo spravovat určité klíče.
- Naplánujte si periodickou rotaci s dobře definovanými dobami platnosti a automatickými mechanismy obnovy.
- Mějte zálohy kritických klíčů, uloženy šifrovaně a chráněny, aby se zabránilo ztrátě dat v případě poškození hlavního systému.
- Umožnit rychlé zrušení a zničení kompromitovaných klíčů, spolu s mechanismy oznámení a nápravy.
- Uchovávejte podrobné záznamy o auditu o tom, kdo každý klíč vytvořil, k němu přistupoval, kdo ho používal, střídal nebo zrušil během jeho životnosti.
Bez těchto základních kontrol je jen otázkou času, než se citlivý klíč dostane do nesprávných rukou nebo než zůstane neobnoven dlouho po uplynutí rozumné doby platnosti.
Moderní hrozby: chyby v implementaci a postkvantová éra
I když jsou zvoleny dobré algoritmy a délky klíčů, existují velmi skuteční nepřátelé: Chyby implementace, nesprávné konfigurace a nové výpočetní možnosti.
Z hlediska implementace existuje mnoho nedostatků: Opětovné použití IV nebo nonce v režimech jako GCM, ukládání hesel pomocí MD5 nebo SHA-1, klíče vložené do zdrojového kódu, ověření certifikátů zakázané „pro testování“, které končí v produkčním prostředí....To vše podkopává jakoukoli kryptografickou záruku.
Na druhou stranu, kvantové výpočtyAčkoli je kvantový počítač schopný prakticky prolomit RSA-2048 nebo ECC pomocí Shorova algoritmu stále v nedohlednu, existuje riziko, že mocní aktéři zachycují šifrovaný provoz již dnes, aby ho v budoucnu dešifrovali (strategie „sklízej nyní, dešifruj později“).
Aby se tomu předešlo, NIST do roku 2024 standardizoval několik věcí. postkvantové algoritmy jako například ML-KEM pro zapouzdření klíčů a ML-DSA nebo SLH-DSA pro podpisy, založené na mřížkách a hašovacích funkcích. Doporučení pro nadcházející roky je hybridní schémata, kombinující klasické algoritmy (ECDHE, RSA) s těmito novými mechanismy PQC v protokolech, jako je TLS.
V této souvislosti by organizace, které zpracovávají dlouhodobá data, měly začít s přípravou podrobný kryptografický inventář (které algoritmy a velikosti klíčů se používají v každém systému) a plán pro přechod na kvantově odolná řešení s tím, jak se ekosystém bude rozvíjet.
Ve zkratce, Kryptografické klíče jsou společným vláknem, které spojuje algoritmy, protokoly, zařízení a bezpečnostní zásady.Pochopení jejich typů, použití a životního cyklu, aplikace standardů jako NIST 800-57, PKI a X9.143 tam, kde je to vhodné, a přijetí centralizované a automatizované správy je to, co dělá rozdíl mezi pouhým zabezpečením a spolehlivou ochranou před stále zdatnějšími útočníky.
