Public Key Infrastructure

Lukáš Ondrovič, 433398@mail.muni.cz

Obsah

Public Key Infrastructure

Infrastruktura veřejných klíčů je hierarchická struktura certifikačních autorit, jejíž účelem je sdílení veřejných klíčů asymetrických šifrovacích algoritmů a jejich propojení s konkrétní doménou či identitou.

Certifikáty

Certifikáty slouží k propojení veřejných klíčů a domén či identit, a mohou být vystaveny jak pro konkrétní doménu, tak pro její subdomény (*.google.com). Pravost klíče je zajišťována podpisem důvěryhodné certifikační autority (CA).

Struktura certifikátu

Převzato z Wikipedie

Typy certifikátů

Certifikační autorita

Vystavuje a zneplatňuje certifikáty.

Self signed certifikát

Certifikát podepsaný tou samou entitou, pro kterou je vystaven. Není považován za důvěryhodný, pokud není explicitně přidán do systému.

Uložení certifikátů v systému

Uložení certifikátů se liší napříč distribucemi. Distribuce založené na Debianu ukládají důvěryhodné certifikáty v /etc/ssl/certs/ jakožto jednotlivé soubory a heše na ně linkované, kdežto CentOS / Fedora pod /etc/pki/ca-trust/extracted/ jakožto balík certifikátů v jednom souboru. Pro vlastní CA slouží adresář /etc/pki/CA/

Přidání CA do systému

V případě debianí distribuce umístíme importovanou CA ve formátu .pem do /usr/share/ca-certificates/, či /usr/local/share/ca-certificates/ a spustíme
# update-ca-certificates

V případě Fedory / CentOS umístíme CA do /etc/pki/ca-trust/source/anchors/ a spustíme
# update-ca-trust

Manipulace s CA a certifikáty

Vytvoření privátní CA a jejího soukromého klíče

$ openssl req -x509 -newkey rsa:4096 -keyout ca.key -out cacert.pem
Lze dodat atribut -days, omezující dobu platnosti.

Vytvoření žádosti o certifikát

$ openssl req -newkey rsa:4096 -keyout cert.key -out cert.csr

Podepsání certifikátu autoritou

$ openssl x509 -req -in cert.csr -CA cacert.pem -CAkey ca.key -CAcreateserial -out cert.crt

Zneplatnění certifikátu

Pro revokaci certifikátu je třeba nejprve vytvořit revokační list
$ openssl ca -cert cacert.pem -keyfile ca.key -gencrl -out crl.pem
a provést revokaci
$ openssl ca -revoke cert.crt

DANE

DANE funguje nad DNSSEC a zavádí nový záznam TLSA. Výhodou oproti stávajícímu modelu certifikačních autorit je reálné svázání veřejných klíčů s doménovým jménem ve službě DNS, a podepisování veřejných klíčů pouze nadřazeným serverem. V současném modelu je naopak možné, aby kterákoli CA podepsala kterýkoli veřejný klíč.

Literatura