Test na certifikáty
Varianta pro letní semestr 2021/22
Příklad zadání on-line testu na certifikáty
Test se bude skládat ze tří otázek:
- stáhnout PDF soubor a zjistit údaje o podpisu,
- stáhnout certifikát (soubor .pem) a zjistit údaje z certifikátu,
- zjistit informace z certifikátu serveru
Na test je 18 minut.
1. Certifikát v PDF souboru - příklad
Stáhněte si soubor https://bis.vse.cz/t6/01.pdf , což je podepsaný PDF soubor. Ve vhodném PDF prohlížeči zjistěte z certifikátu podpisu:
- Komu je vydán certifikát (atribut cn z předmětu/subject)
- E-mailová adresa v certifikátu (pokud v certifikátu není, vložte řetězec není)
- Typ podpisu z pohledu eIDAS
Pro typ podpisu dle eIDAS jsou následující možnosti k výběru:
- kvalifikovaný podpis - kvalifikovaný certifikát vytvořený pomocí kvalifikovaného prostředku přiřazený fyzické osobě,
- uznávaný podpis - kvalifikovaný certifikát vytvořený mimo kvalifikovaný prostředek přiřazený fyzické osobě,
- zaručený podpis - osobní certifikát, který je podepsán jinou než kvalifikovanou certifikační autoritou,
- kvalifikovaná pečeť - kvalifikovaný certifikát vytvořený pomocí kvalifikovaného prostředku nepřiřazený fyzické osobě, ale právnické osobě (službě/firmě),
- uznávaná pečeť - kvalifikovaný certifikát vytvořený mimo kvalifikovaný prostředek nepřiřazený fyzické osobě, ale právnické osobě (službě/firmě),
- jiná pečeť - certifikát nepřiřazený fyzické osobě, ale právnické osobě (službě/firmě), který je podepsán jinou než kvalifikovanou certifikační autoritou,
E-mailová adresa by měla být uložena v X509v3 Subject Alternative Name a začínat řetězcem email:. Acrobat Reader ji zobrazuje pod označením E-mail RFC822.
2. Údaje z certifikátu (soubor .pem)
Stáhněte si certifikát https://bis.vse.cz/t6/01.pem a zjistěte následující údaje:
- Je certifikát podepsaný sám sebou (selfsigned)?
ano/ne - Jaký je algoritmus a délka veřejného klíče?
RSA1024/RSA2048/RSA3072/RSA4096/RSA8192/ECC256/ECC384/ECC521 - Může být použit pro podepisování jiných certifikátů?
ano/ne - Která hašovací funkce byla použita v digitálním podpisu certifikátu?
SHA1/SHA256/SHA384/SHA521
Jak zobrazit certifikát? Více variant:
- Windows - stáhněte soubor, změňte koncovku z .pem na .crt a po double-click se Vám otevře v Crypto Shell Extension,
- Linux, macOS - stáhněte soubor, v terminálu spusťte
openssl x509 -in soubor.pem -text
- soubor zkopírujte na bis.vse.cz a zde zobrazte pomocí
openssl x509 -in soubor.pem -text
- on-line dekodér - doporučuji https://redkestrel.co.uk/products/decoder/
3. Certifikát z https serveru
Pro certifikát serveru https://bis.vse.cz zjistěte následující:
- Počet alternativních DNS jmen
- Algoritmus a délka veřejného klíče
RSA1024/RSA2048/RSA3072/RSA4096/RSA8192/ECC256/ECC384/ECC521 - Typ validace (certifikační zásady)
domain_validation/organization_validation/extended_validation
Typ validace je uveden ve výpisech v části politik, jsou definovány následující konstanty:
- 2.23.140.1.1 - extended validation
- 2.23.140.1.2.1 - domain validated
- 2.23.140.1.2.2 - organization validated
- 2.23.140.1.2.3 - individual-validated
- 2.23.140.1.3 - extended validation for code signing
Certifikáty webů lze obvykle zobrazit v prohlížeči. Bohužel Microsoft Edge a asi ani Chrome nezobrazují délku klíče pro ECC. Navíc některé antivirové programy jsou agresivnější a podvrhávají svůj certifikát (cíl - analyzovat šifrovaný provoz).
Možná řešení:
- používat Firefox (nemusí pomoci v případě některých antivirových programů, otestujte si doma),
- přihlásit se na bisxxx.vse.cz (nelze bis.vse.cz, nemá přístup na internet) a zde si zobrazit certifikát pomocí openssl
openssl s_client -connect bis.vse.cz:443 < /dev/null | openssl x509 -text
Jsou to dva příkazy, které si předávají údaje přes rouru. U serveru se musí uvést číslo portu. V prvním příkazu je i přesměrování vstupu (klávesnice) - načítá se z/dev/null
, tj. ihned se vloží konec vstupu. - příkaz openssl lze použít i na macOS,
- vyhledat a zobrazit si certifikát v CT na https://crt.sh, někdy může být uvedeno více certifikátů,
- přes testy TLS, zde je vhodný https://www.ssllabs.com/ssltest/, testování trvá delší dobu (minuty),
Příklad testu na učebně
Pro certifikáty na stránce http://bis.vse.cz/certifikaty/var1 odpovězte na následující otázky:
Otázka | Cert1.pem | Cert2.pem | Cert3.pem | Cert4.pem |
---|---|---|---|---|
Je to self-signed certifikát? | ano/ne | ano/ne | ano/ne | ano/ne |
Umožňuje tento certifikát podepisování jiných certifikátů? | ano/ne | ano/ne | ano/ne | ano/ne |
Lze certifikát použít pro podepisování elektronické pošty? | ano/ne | ano/ne | ano/ne | ano/ne |
Obsahuje certifikát pouze kryptografické algoritmy schválené dle doporučení NÚKIB? | ano/ne | ano/ne | ano/ne | ano/ne |
Je v certifikátu použit algoritmus SHA-1? | ano/ne | ano/ne | ano/ne | ano/ne |
Je to kvalifikovaný certifikát pro elektronický podpis? | ano/ne | ano/ne | ano/ne | ano/ne |
Další skupiny certifikátů k ověření znalostí:
Nápověda k otázkám
Je to self-signed certifikát?
Pojem self-signed certifikát označuje certifikát, který je podepsán sám sebou. Pozná se dle toho, že otisk klíče vydavatele (X509v3 Authority Key Identifier) a otisk podepisovaného klíče (X509v3 Subject Key Identifier) jsou stejné. Stejnou hodnotu mají i vydavatel (Issuer) a předmět (Subject). Self-signed certifikát je výchozí nastavení při instalaci webových serverů i dalších aplikací používajících TLS. Certifikáty kořenových certifikačních autorit jsou též self-signed.
Umožňuje certifikát podepisování jiných certifikátů ?
Pokud v certifikátu není podepisování zakázáno, tak s ním můžete podepisovat jiné certifikáty. Podepisování lze zakázat v následujících položkách (položky z X3 rozšíření). Tyto položky (aspoň jedna z nich) musí být označeny jako kritické (Critical), jinak je to pouze doporučení a nemusí se tím vlastník certifikátu řídit.
- Základní omezení (Basic Constraints) - zákaz je vyznačen pomocí CA:FALSE, ve Firefoxu se zobrazí „Není certifikační autoritou“
- Použití certifikátu (Key Usage) – pro podepisování musí být povoleno „Podepisování certifikátu“ (Key Certificate Sign)
Lze certifikát použít pro podepisování pošty?
Pro podepisování pošty musí být v certifikátu e-mailová adresa - buď v předmětu (Subject) nebo v rozšíření (alternativní jméno popř. položka email-address).
Dále musí být správně nastaveno použití klíče: pro podepisování pošty je potřeba mít v certifikátu nastaveno užití Digital Signature (Podpisování).
Pokud existuje v certifikátu položky Extended Key Usage (Rozšířené použití klíče), tak musí obsahovat položku emailProtection (OID tohoto rozšířeného použití je 1.3.6.1.5.5.7.3.4) nebo položku anyExtendedKeyUsage (OID 2.5.29.37.0) – viz RFC 5750.
Pro šifrování pošty (není to součást otázky) musí být v Key Usage povoleno zakódování klíče (Key Encipherment).
ENISA = European Union Agency for Network and Information Security
Dokument Algorithms, key size and parameters report 2014
S ním souvisí i dokument popisující kryptografické protokoly Study on cryptographic protocols, pro test ho nemusíte studovat, ale doporučuji se do něho podívat (viz zkoušková otázka na kryptografické protokoly).
POZOR - musí být splněn i požadavek na délku klíče,
Je v certifikátu použit algoritmus SHA1?
Odmítání SHA-1 se netýká certifikátů kořenových CA, neboť u nich se ověřuje platnost/důvěryhodnost bez kontroly digitálního podpisu.
POZOR - některé aplikace (Firefox) dynamicky generují SHA-1 otisky z certifikátu. Tento otisk ale není uložen v certifikátu.
Je to kvalifikovaný certifikát pro elektronický podpis (ano/ne)?
Dříve se vydávali kvalifikované certifikáty dle zákona č. 227/2000 Sb., nyní se vydávají kvalifikované certifikáty dle evropského nařízení EU č. 910/2104 (existuje přechodné období, kdy platí i starší).
Kvalifikovaný certifikát musí obsahovat položku (rozšíření) Certificate Policies, která bude odkazovat na soulad se zákonem č. 227/2000 Sb či na soulad s nařízením EU č. 910/2014 (tyto jsou/budou platné v rámci celé EU).
Kvalifikované certifikáty může vydávat pouze akreditovaná certifikační autorita – schváleny jsou tři: PostSignum (Česká pošta), První certifikační autorita a.s. (I.CA) a firma eIdentity a.s.
Rozlišují se kvalifikované certifikáty pro elektronické podpisy
(určené pro osoby) a kvalifikované pečetě
pro deklaraci původu dokumentu ve firmě. U obou mohou být privátní klíče uloženy v souboru či v bezpečném prostředku (privátní klíč nesmí opustit čipovou kartu či USB token). Informace o typu a způsobu uložení privátního klíče je vyznačena v certifikátu - atribut QCStatements a v popisu politiky.
Zmatky vnášejí kvalifikované systémové certifikáty
dle zákona 227/2000 Sb. pro „firemní“ podpisy (např. podatelna s adresou posta@firma.cz), které se mohou používat do 18. září 2018. Měl by být označen jako „Kvalifikovaný systémový certifikát“, ale ne vždy tomu tak je. Přesně ho lze odlišit pomocí politiky. V testu tyto certifikáty označte za kvalifikované.
Informace o souladu se zákonem či nařízením EU je též v certifikátech kvalifikovaných certifikačních autorit
. Nejsou to kvalifikované certifikáty pro elektronický podpis.
Prostudujte si úvod do eIDAS v článku Co přináší nařízení eIDAS a jak se dotýká SSL certifikátů? a článek popisující aktuální stav kvalifikovaných certifikátů: První půlrok nařízení eIDAS: přichází elektronické pečeti