Obecný úvod do Infrastruktury veřejných klíčů (PKI)

Infrastruktura veřejných klíčů (PKI) je systém digitálních certifikátů, certifikačních autorit (CA) a dalších registračních úřadů, které slouží k ověřování platnosti každé strany zúčastněné v určité elektronické transakci. Přitom je používána kryptografie s veřejným klíčem.

Digitální podpis

Digitální podpis je mechanismus, kterým se zajišťuje nepopiratelnost dat (pravost dokumentu). Digitální podpis je vytvářen ve dvou krocích

  1. Vypočte se hash (otisk) dokumentu - Pro použití digitálního podpisu potřebujeme nejprve nějakou známou hashovaní funkci (např. MD5 nebo SHA-1). Známou v tom smyslu, aby všichni adresáti, kteří budou chtít ověřit pravost naší zprávy tuto funkci znali (resp. ji znal program, který ověření provede).
  2. Výsledný hash se šifruje soukromým klíčem uživatele – Soukromým klíčem šifrovaný hash ze zprávy se nazývá digitální podpis zprávy.

digit_podpis.PNG, 4,7kB

Podpis pak přiložíme k původní zprávě, kterou podepisujeme, a zprávu i s touto přílohou odešleme. Příjemce zprávu otevře a provede její ověření (verifikace)

  1. Vypočte se hash (otisk) dokumentu - Pomocí stejné hashovací funkce zakóduje její obsah.
  2. Děširování digitálního podpisu - Pomocí veřejného klíče odesílatele příjemce dále rozkóduje obsah digitálního podpisu. Je-li tento rozkódovaný obsah totožný s hashem přijaté zprávy, je identita odesílatele potvrzena, jelikož nikdo jiný, než vlastník soukromého klíče nemohl digitální podpis s touto vlastností vytvořit.

digit_podpis_vertifikace.PNG, 8,3kB

Digitální certifikát

Problémem asymetrické kryptografie je způsob, jak ověřit pravost zveřejněných veřejných klíčů. K tomu slouží digitální či elektronický certifikát. Digitální certifikát je elektronická obdoba cestovního pasu nebo občanského průkazu. Jedná se v podstatě o uživatelův veřejný klíč plus další údaje popisující držitele certifikátu (jméno, bydliště, organizace apod.) To vše je zašifrováno (elektronicky podepsáno) privátním klíčem Certifikační autority, jejiž veřejný klíč je všeobecně znám a dostupný z nezaměnitelných zdrojů. V případě PKI se používá certifikát definovaný dle standardu X.509.

certifikat.PNG, 23kB

V ČR je v rámci zákona č. 227/2000 Sb., o elektronickém podpisu a o změně některých dalších zákonů ve znění zákona č. 226/2002 Sb. definován tzv. kvalifikovaný certifikát QCA. Kvalifikovaný certifikát obsahuje identifikaci držitele certifikátu založenou na oficiální identifikaci svého držitele. Certifikační autorita vždy zná konkrétné osobu, které certifikát vydala. Bezpečnost a důvěryhodnost CA vydávajících kvalifikované certifikáty je do jisté míry standardizována a kontrolována příslušnými úřady. V ČR se momentálně nachází tyto akreditované CA:
  • První certifikační autorita, a.s. (I.CA, komerční i kvalifikovaný) - http://www.ica.cz/
  • Česká pošta, s.p. (PostSignum, komerční i kvalifikovaný) - http://qca.postsignum.cz/
  • eIdentity, a.s. (ACAeID, komerční i kvalifikovaný) - https://www.eidentity.cz/app

Struktura digitálního certifikátu X.509

Existuje několik norem definujících strukturu certifikátu (X.509, EDI, WAP, apod.). V prostředí Internetu se využívá norma X.509 popsaná v doporučení RFC-3280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. Toto doporučení je odvozeno od ITU X.509. Původní verze standard X.509 vydaná v roce 1988 označená jako verze 1, se dnes používá v pozměněné formě verze 3.

certifikat2.PNG, 32kB

Význam některých hodnot certifikátu:

  • Version (verze)– určuje podle které normy X.509 byl příslušný certifikát vydán.
  • Serial Number (Sériové číslo) – musí být jednoznačné v rámci jedné CA. Spolu s Issuer tvoří jednoznačný identifikátor certifikátu.
  • Signature Algorithm (Algoritmus podpisu) – Algoritmy, které CA použila k podpisu certifikátu. V tomto případě je to hashovací funkce SHA-1 a asymetrický algoritmus RSA.
  • Issuer (vystavitel) + Subject (předmět) – obsahují položky identifikátorů objektů označovaný DN (Distinguished name). Mezi tyto objekty patří např. Country (C), Organization (O), Common name (CN),..
  • Validity (platnost) – každý certifikát je časově omezen (obvykle jeden rok).
  • Subject Public Key (veřejný klíč) – obsahuje veřejný klíč vlastníka. Je složen ze dvou základních informací - vlastní hodnoty klíče a algoritmu, kterým byl klíč tvořen.

Struktura PKI

Hlavními subjekty infrastruktury veřejných klíčů jsou certifikační autorita, registrační autorita a seznam odvolaných certifikátů. Rolí certifikační autority v rámci bezpečné elektronické komunikace je být třetí nezávislou stranou. Nezávislost CA na komunikačních stranách jí umožňuje vystupovat v roli arbitra. Základními funkcemi CA je tedy vydávání certifikátů a seznamu zneplatněných certifikátů (CRL - Certificate Revocation List). Z toho plyne, že jádrem PKI je certifikační autorita CA. Jí mohou být podřízeny další CA a tzv. registrační autority (RA). Úkolem RA je fyzické ověření údajů žadatele o certifikát.

struktura_CA.png, 12kB

Certifikační autorita (CA) – certifikační autorita je subjekt, který vydává digitální certifikáty. Na základě principu přenosu důvěry tak lze za předpokladu (ověřené) důvěryhodnosti certifikační autority předpokládat i důvěryhodnost jimi vydaného (podepsaného) certifikátu. Všechny certifikáty jsou podepisovány soukromým klíčem CA. Tento klíč je tedy největším aktivem CA a je tedy nutné jej odpovídajícím způsobem chránit. Jako ochrana se proto používají tzv. HSM (viz. kap. ‎6 - Prostředky pro bezpečné ukládání aktiv).

Registrační autorita (RA) – úkolem RA je fyzické ověření údajů žadatele o certifikát. Jsou často realizovány podobně jako bankovní přepážky. Mohou být však realizovány i jako servery a žadatel s nimi komunikuje elektronicky. Na RA se dostavují žadatelé o certifikáty se svými žádostmi, kde RA může ověřit na základě např. občanského průkazu jejich totožnost. RA následně zprostředkovává vydání certifikátu a následně i jeho předání žadateli.

Certificate Revocation List (CRL) - seznam zneplatněných certifikátů. Tento seznam udržuje CA a zapisuje tam certifikáty, které byly zneplatněny ještě dříve než je uvedeno na certifikátu (např. z důvodu kompromitace tajného klíče uživatele). Měl by být veřejně dostupný buďto skrze webové rozhraní, popřípadně skrze protokol LDAP.

Tento seznam udržuje CA a zapisuje do něj certifikáty, které byly zneplatněny ještě dříve než je uvedeno na certifikátu (např. z důvodu kompromitace tajného klíče uživatele).

Soukromý klíč k certifikátu je tedy cenným aktivem. Je tedy nutné, abychom si své soukromé klíče dobře střežili pomocí bezpečných prostředků k ukládání těchto druhů aktiv. Neopatrnost ochrany soukromého klíče lze přirovnat k podepisování bianco šeků. Jako úložiště pro tyto klíče se doporučuje používat PKI čipové karty, nebo USB tokeny. Tyto zařízení umožňují provádět veškeré kryptografické opera pomocí vlastních čipů a soukromý klíč, tak tedy nikdy neopouští tato úložiště. Přístup k němu je navíc chráněn pomocí PIN kódu.