Digitální podpisy a certifikáty
Digitální podpisy a certifikáty tvoří základ důvěry v elektronickém světě. Umožňují ověřit původ (autenticitu) a nezměněnost (integritu) dat, případně také právní závaznost úkonu (nepopiratelnost). V kryptografické praxi se digitální podpisy opírají o asymetrickou kryptografii a kryptografické hašovací funkce, zatímco certifikáty poskytují škálovatelný rámec důvěry díky infrastruktuře veřejných klíčů (PKI).
Základní pojmy a kryptografické stavební kameny
- Veřejný a soukromý klíč: V asymetrické kryptografii má každý subjekt dvojici klíčů. Soukromý klíč se drží v tajnosti a používá se k vytváření podpisů; veřejný klíč se zpřístupňuje protistranám a slouží k ověřování.
- Kryptografická hašovací funkce: Převádí libovolně dlouhý vstup na krátký otisk (hash). Požadované vlastnosti: odolnost vůči kolizím, nalezení předobrazu a nalezení druhého předobrazu.
- Digitální podpis: Kryptografická operace prováděná soukromým klíčem nad hashem zprávy; výsledek může kdokoli ověřit pomocí odpovídajícího veřejného klíče.
- Certifikát: Datová struktura (typicky X.509), která kryptograficky váže veřejný klíč k identitě držitele a je podepsána certifikační autoritou (CA).
Jak digitální podpis funguje krok za krokem
- Hašování dat: Odesílatel vypočítá otisk zprávy, například pomocí SHA-256.
- Vytvoření podpisu: Otisk podepíše svým soukromým klíčem (např. RSA, ECDSA, EdDSA).
- Přenos: Zpráva se odešle společně s podpisem (a často také s řetězcem certifikátů).
- Ověření: Příjemce vypočítá otisk přijaté zprávy a ověří podpis pomocí veřejného klíče. Pokud podpis souhlasí a certifikát je důvěryhodný a platný, je zajištěna autenticita a integrita.
Vlastnosti a bezpečnostní cíle digitálního podpisu
- Integrita: Jakákoli změna podepsaných dat změní hash a povede k neúspěšnému ověření.
- Autenticita: Platný podpis dokládá, že data vytvořil držitel soukromého klíče.
- Nepopiratelnost: Držitel platného soukromého klíče nemůže věrohodně popřít, že data podepsal, pokud má klíč pod kontrolou a proces je řádně auditován.
Hlavní algoritmy digitálních podpisů
- RSA-PSS / RSA-PKCS#1 v1.5: Široce rozšířená schémata založená na faktorizaci. RSA-PSS je moderní varianta s lepšími bezpečnostními vlastnostmi; dnes se běžně doporučuje délka klíče 2048–4096 bitů.
- DSA/ECDSA: DSA je historický algoritmus; ECDSA využívá eliptické křivky a nabízí kratší klíče při stejné úrovni zabezpečení (např. P-256, P-384). Vyžaduje kvalitní zdroj náhodnosti.
- EdDSA (Ed25519, Ed448): Moderní podpisy nad křivkami Edwards, rychlé a s deterministickým podpisem, odolné vůči řadě implementačních chyb.
- Postkvantové podpisy: Např. mřížová schémata (CRYSTALS-Dilithium) nebo schémata založená na haších (SPHINCS+). Jejich nasazení se rozšiřuje v reakci na budoucí hrozby kvantových počítačů.
Certifikáty X.509 a jejich struktura
Standard X.509 definuje formát certifikátu, který obsahuje zejména:
- Subjekt (Subject): Identita držitele (např. doménové jméno, organizace, stát).
- Veřejný klíč subjektu a parametry algoritmu.
- Vydavatel (Issuer): Identita certifikační autority, která certifikát vydala.
- Platnost (Validity): Časové hranice od–do.
- Rozšíření (Extensions): Např. Key Usage, Extended Key Usage, Subject Alternative Name, Basic Constraints, Certificate Policies a další.
- Podpis CA: Kryptografický podpis, který stvrzuje vazbu identity a veřejného klíče.
Infrastruktura veřejných klíčů (PKI) a řetězec důvěry
PKI tvoří kořenové CA (root), mezilehlé CA (intermediate) a koncové certifikáty. Řetězec důvěry vede od důvěryhodného kořenového certifikátu v úložišti systému/prohlížeče přes mezilehlé CA až k certifikátu subjektu. Důvěra je založena na tom, že každý vyšší článek řetězce kryptograficky podepisuje nižší článek a kořen je zároveň v systému označen jako důvěryhodný.
Typy certifikátů a úrovně ověření
- DV (Domain Validation): Ověření kontroly nad doménou (DNS/HTTP/TLS-ALPN challenge). Nejrychlejší, plně automatizovatelné.
- OV (Organization Validation): Ověření právní existence organizace a její vazby na doménu.
- EV (Extended Validation): Rozšířené ověření identity s přísnými procesními požadavky.
- Klientské certifikáty: K autentizaci uživatele/zákazníka při přístupu do systémů (mTLS, VPN, eID).
- Certifikáty pro podepisování kódu: Pro podepisování softwaru a ovladačů (Code Signing); některé ekosystémy vyžadují hardware (HSM/token) a časové razítko.
- Certifikáty pro podepisování dokumentů: PDF, XML, elektronické faktury; často podléhají kvalifikovaným požadavkům podle legislativy.
Životní cyklus certifikátu
- Generování klíčového páru: Přednostně na straně subjektu; soukromý klíč nikdy neopouští zabezpečený perimetr, vhodné je použití HSM nebo kryptografického tokenu.
- CSR (Certificate Signing Request): Žádost obsahující veřejný klíč a identifikační údaje, podepsaná soukromým klíčem.
- Ověření a vydání: CA provede ověření (DV/OV/EV podle stanovených politik) a vydá certifikát.
- Instalace a konfigurace: Nasazení certifikátu a řetězce (bez kořenového certifikátu) na serveru/klientovi.
- Provoz a monitoring: Pravidelná kontrola platnosti, funkčnosti OCSP/CRL, CT logů a metrik TLS.
- Obnova a rotace: Včasná obnova před vypršením platnosti; doporučuje se rotace klíčů a automatizace (např. protokol ACME).
- Odvolání: Při kompromitaci klíče nebo chybě v údajích je nutné okamžité odvolání certifikátu a zveřejnění informace v CRL/OCSP.
Ověřování platnosti: OCSP, CRL a časová razítka
- CRL (Certificate Revocation List): Seznam odvolaných certifikátů, který CA pravidelně zveřejňuje.
- OCSP (Online Certificate Status Protocol): Online dotaz na stav konkrétního certifikátu; pro lepší škálovatelnost a ochranu soukromí se dnes používá OCSP stapling.
- Časová razítka (Timestamping): Dokládají, že podpis existoval v určitém čase; jsou zásadní pro dlouhodobou validaci (LTV) a podepisování kódu.
Digitální podpisy v praxi: protokoly a formáty
- TLS (HTTPS): Server předkládá certifikát X.509; klient ověřuje řetězec a platnost. Možné je také mTLS, při němž se autentizuje i klient.
- S/MIME a PGP: Podepisování a šifrování e-mailů; S/MIME využívá X.509/PKI, PGP využívá model „web of trust“.
- Podpisy PDF a XML (PAdES, XAdES, CAdES): Standardizované profily pro právně závazné dokumenty a elektronickou fakturaci.
- Podepisování kódu (Code Signing): Podepisování softwaru (Windows Authenticode, macOS/iOS, Android APK/JAR) pro zajištění integrity a původu.
Politiky, audit a Certificate Transparency
Certifikační autority se řídí souborem politik (CPS/CP) a podléhají pravidelným auditům. Certificate Transparency (CT) zavádí veřejné protokoly vydaných certifikátů, které umožňují odhalovat chybně vydané či zneužité certifikáty. Prohlížeče obvykle vyžadují přítomnost SCT (Signed Certificate Timestamp), aby certifikátu TLS důvěřovaly.
Bezpečnostní hrozby a jejich zmírnění
- Kompromitace soukromého klíče: Zmírnění rizika: HSM, kryptografické tokeny, přísné řízení přístupu, vícefaktorové ověřování, pravidelná rotace.
- Slabé algoritmy a parametry: Vyhněte se zastaralým algoritmům (MD5, SHA-1, krátké klíče RSA). Upřednostňujte SHA-256+, ECDSA/EdDSA a vhodné délky klíčů.
- Chyby implementace: Bezpečné generátory náhodných čísel, odolnost vůči útokům postranními kanály, testování a formální validace (např. FIPS, Common Criteria).
- Chybné vydání certifikátu (mis-issuance): Sledujte CT logy, používejte záznamy CAA v DNS a mějte připravené plány pro případ odvolání.
- Útok typu man-in-the-middle: Správná validace řetězce, ověřování názvů hostitelů (SAN), HSTS a případné použití pinningu (s rozvahou).
- Dodavatelský řetězec a hardware: Validace HSM, bezpečné výrobní procesy, kontrola firmwaru.
Správa ve velkém měřítku: podniková PKI a automatizace
Ve velkých organizacích je nezbytné centrální řízení životního cyklu certifikátů: evidence, politiky (Key/Extended Key Usage), šablony (pro zařízení, uživatele, služby), automatizace vydávání (ACME, SCEP, EST), vynucování minimálních standardů pro algoritmy a klíče a průběžné sledování vypršení platnosti. Integrace s IAM/IdP (RBAC, zásady přístupu) a správou aktiv usnadňuje auditovatelnost.
Digitální podpisy a právní rámec
V EU jsou elektronické podpisy a pečeti regulovány nařízením eIDAS, které definuje úrovně (zaručený, kvalifikovaný) a požadavky na kvalifikované poskytovatele služeb (QTSP) a kvalifikovaná zařízení pro vytváření podpisu (QSCD). Kvalifikovaný elektronický podpis má za stanovených podmínek právní účinky srovnatelné s vlastnoručním podpisem. Pro dlouhodobou validaci se používají profily s uchováváním důkazů (LTV) a důvěryhodné seznamy (EU Trusted Lists).
Osvědčené postupy pro návrh a provoz
- Volba algoritmů: RSA-2048+ nebo ECDSA/Ed25519; hash minimálně SHA-256.
- Segmentace a HSM: Soukromé klíče CA i produkčních služeb ukládejte v HSM; oddělte role a uplatňujte zásadu nejmenších oprávnění.
- Automatizace: ACME pro servery s certifikáty DV/OV, skripty pro inventarizaci a obnovu; upozornění před vypršením platnosti.
- Zabezpečení TLS: Zakázat zastaralé protokoly (TLS 1.0/1.1) a slabé šifry, vynutit SNI, správně sestavit řetězce, zapnout OCSP stapling.
- Sledování CT a CAA: Aktivně sledovat vydané certifikáty, nastavit záznamy CAA v DNS a řídit, kdo smí certifikáty vydávat.
- Reakce na incidenty: Předem připravit postupy pro odvolání certifikátu, rotaci klíčů a komunikaci se zákazníky.
Digitální podpis vs. elektronický podpis
Z technického hlediska je digitální podpis kryptografická operace. Termín elektronický podpis je právní pojem, který lze realizovat různými technologiemi; v praxi se však bezpečný a auditovatelný elektronický podpis nejčastěji implementuje právě jako digitální podpis na bázi PKI.
Pokročilá témata: vícefaktorové klíče, delegování a kvantová odolnost
- Vícefaktorové podepisování: Kombinace hardwarového tokenu a biometrie/OTP pro zvýšení jistoty, že klíč drží oprávněná osoba.
- Delegování a podepisovací služby: Vzdálené podepisování v HSM provozovaném poskytovatelem (remote signing) s auditními záznamy a silnou autentizací uživatele.
- Hybridní a postkvantové profily: Paralelní použití klasických a PQC podpisů pro postupný přechod.
Příklady použití v reálných scénářích
- Zabezpečený web a API: HTTPS s mTLS pro komunikaci mezi systémy, krátká životnost certifikátů (např. 90 dní) a automatická obnova.
- Elektronické dokumenty a smlouvy: PAdES s LTV a kvalifikovaným časovým razítkem pro dlouhodobou právní vymahatelnost.
- DevSecOps a dodavatelský řetězec: Podepisování artefaktů (podepisování kontejnerových obrazů, SBOM), zásady ověřování v CI/CD.
- Podnikové sítě: 802.1X a EAP-TLS s klientskými certifikáty pro silnou identitu zařízení a uživatelů.
Nejčastější chyby při nasazení
- Nesprávně sestavený řetězec (chybějící mezilehlý certifikát).
- Slabé zdroje náhodnosti při generování klíčů nebo nonce ECDSA.
- Sdílené tajné klíče mezi servery bez zabezpečené distribuce a rotace.
- Neaktualizované knihovny/zásobník (zastaralé verze TLS, slabé šifry).
- Chybějící sledování vypršení platnosti a stavů OCSP/CRL/CT.
Závěr
Digitální podpisy a certifikáty jsou nezbytným předpokladem důvěry v digitálních službách. Správná volba algoritmů, pečlivé řízení životního cyklu klíčů a certifikátů, automatizace, audit a sledování ekosystému (CT, CAA, odvolávání certifikátů) jsou klíčové pro bezpečný a škálovatelný provoz. V kombinaci s legislativními rámci, jako je eIDAS, umožňují digitální podpisy nejen technicky zabezpečený, ale i právně vymahatelný digitální svět.
