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říp. také právní závaznost úkonu (nepopiratelnost/repudiaci). 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íč: U asymetrické kryptografie má každý subjekt dvojici klíčů. Soukromý klíč se drží v tajnosti a používá se k vytváření podpisů; veřejný klíč se šíří 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, předobrazu a druhému předobrazu.
- Digitální podpis: Kryptografická operace prováděná soukromým klíčem nad hašem 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 spočte otisk zprávy např. pomocí SHA-256.
- Vytvoření podpisu: Otisk podepíše svým soukromým klíčem (např. RSA, ECDSA, EdDSA).
- Přenos: Zpráva se pošle společně s podpisem (a často i s řetězcem certifikátů).
- Ověření: Příjemce spočte 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í haš a vede k neplatné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 je klíč pod jeho kontrolou a proces je řádně auditován.
Hlavní algoritmy digitálních podpisů
- RSA-PSS / RSA-PKCS#1 v1.5: Široce rozšířený schéma založené na faktorizaci. RSA-PSS je moderní varianta s lepšími bezpečnostními vlastnostmi; doporučené délky klíčů jsou dnes běžně 2048–4096 bitů.
- DSA/ECDSA: DSA je historické; ECDSA využívá eliptické křivky a nabízí kratší klíče při stejné bezpečnosti (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ř. schémata na mřížích (CRYSTALS-Dilithium), hash-based (SPHINCS+). Nasazení roste v reakci na budoucí hrozby kvantových počítačů.
Certifikáty X.509 a jejich struktura
Standard X.509 definuje formát certifikátu a 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 probíhá 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 dána tím, že každý vyšší článek řetězec kryptograficky podepisuje ten nižší a zároveň je kořen 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 a vazby organizace na doménu.
- EV (Extended Validation): Rozšířená verifikace identity s přísnými procesními požadavky.
- Klientské certifikáty: K autentizaci uživatele/zákazníka do systémů (mTLS, VPN, eID).
- Kódově podepisovací certifikáty: Pro podepisování softwaru a ovladačů (Code Signing), v některých ekosystémech vyžadují hardware (HSM/Token) a časové razítko.
- Certifikáty pro podepisování dokumentů: PDF, XML, e-faktury; často s kvalifikovanými požadavky dle legislativy.
Životní cyklus certifikátu
- Generování klíčového páru: Preferováno na straně subjektu; soukromý klíč se nikdy neopouští bezpečný perimetr, vhodné je použití HSM nebo kryptotokenu.
- 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, dle politik) a vydá certifikát.
- Instalace a konfigurace: Nasazení certifikátu a řetězce (bez kořene) do serveru/klienta.
- 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; doporučuje se klíčová rotace a automatizace (např. ACME protokol).
- Revokace: Při kompromitaci klíče nebo chybě údajů je nutná okamžitá revokace a publikace do CRL/OCSP.
Ověřování platnosti: OCSP, CRL a časová razítka
- CRL (Certificate Revocation List): Seznam zneplatněných certifikátů, periodicky publikovaný CA.
- OCSP (Online Certificate Status Protocol): Online dotaz na stav konkrétního certifikátu; moderně OCSP stapling pro škálování a soukromí.
- Časová razítka (Timestamping): Dokládají, že podpis existoval v daném čase; zásadní pro dlouhodobou validaci (LTV) a pro code signing.
Digitální podpisy v praxi: protokoly a formáty
- TLS (HTTPS): Server prezentuje certifikát X.509; klient ověřuje řetězec a platnost. Možné je i mTLS, kdy 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”.
- PDF a XML podpisy (PAdES, XAdES, CAdES): Standardizované profily pro právně závazné dokumenty a e-fakturaci.
- 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í sadou politik (CPS/CP) a podléhají pravidelným auditům. Certificate Transparency (CT) zavádí veřejné logy vydaných certifikátů, které umožňují detekovat chybně vydané či zneužité certifikáty. Prohlížeče typicky vyžadují přítomnost SCT (Signed Certificate Timestamp) k důvěře v TLS certifikát.
Bezpečnostní hrozby a mitigace
- Kompromitace soukromého klíče: Mitigace: HSM, kryptotokeny, striktní řízení přístupu, vícefaktorové ověřování, pravidelná rotace.
- Slabé algoritmy a parametry: Vyhnout se zastaralým algoritmům (MD5, SHA-1, krátké RSA klíče). Preferovat SHA-256+, ECDSA/EdDSA, vhodné délky klíčů.
- Chyby implementace: Bezpečné generátory náhodných čísel, side-channel odolnost, testování a formální validace (např. FIPS, Common Criteria).
- Chybné vydání certifikátu (mis-issuance): Monitorovat CT logy, používat CAA DNS záznamy, reakční plány na revokaci.
- Man-in-the-Middle: Správná validace řetězce, ověřování hostnames (SAN), HSTS a možnost pinningu (s rozvahou).
- Dodavatelský řetězec a hardware: Validace HSM, bezpečné výrobní procesy, kontrola firmware.
Správa na velkém měřítku: enterprise 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ů algoritmů a klíčů, a kontinuální monitoring expirací. Integrace s IAM/IdP (RBAC, zásady přístupu) a asset managementem zjednodušuje auditovatelnost.
Digitální podpisy a právní rámec
V EU jsou elektronické podpisy a pečetě 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á právní účinky srovnatelné s vlastnoručním podpisem, při splnění stanovených podmínek. Pro dlouhodobou validaci se používají profily s uchováváním důkazů (LTV) a důvěryhodné seznamy (EU Trusted Lists).
Best practices pro návrh a provoz
- Volba algoritmů: RSA-2048+ nebo ECDSA/Ed25519; hash minimálně SHA-256.
- Segmentace a HSM: Private klíče CA i produkčních služeb v HSM; oddělené role, princíp nejmenších oprávnění.
- Automatizace: ACME pro DV/OV servery, skripty pro inventarizaci a obnovu; alerting před expirací.
- Hardening TLS: Zakázat zastaralé protokoly (TLS 1.0/1.1), slabé šifry, vynutit SNI, správné řetězce, OCSP stapling.
- Monitorování CT a CAA: Aktivní sledování vydaných certifikátů, nastavení CAA záznamů v DNS pro řízení, kdo smí vydávat.
- Incident response: Předem připravené postupy revokace, klíčové rotace a komunikace se zákazníky.
Digitální podpis vs. elektronický podpis
V technické rovině je digitální podpis kryptografická operace. Termín elektronický podpis je právní pojem, který může být realizován různými technologiemi; v praxi je však bezpečný a auditovatelný elektronický podpis nejčastěji implementován právě jako digitální podpis na bázi PKI.
Pokročilá témata: vícefaktorové klíče, delegace a kvantová odolnost
- Vícefaktorové podepisování: Kombinace hardware tokenu a biometrie/OTP pro zvýšení jistoty držení klíče.
- Delegace 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 postupnou migraci.
Příklady použití v reálných scénářích
- Bezpečný web a API: HTTPS s mTLS pro styk systém-systém, krátké životnosti 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 supply chain: Podepisování artefaktů (container image signing, SBOM), politiky 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í intermediate).
- Slabé zdroje náhodnosti při generování klíčů nebo ECDSA nonce.
- Shared tajné klíče mezi servery bez zabezpečené distribuce a rotace.
- Neaktualizované knihovny/stack (zastaralé TLS verze, slabé šifry).
- Chybějící monitoring expirací 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, revokace) 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.