Public Key Infrastructure
- Public Key Infrastructure (PKI) je „infrastruktura pro správu a distribuci klíčů asymetrické kryptografie“ [3].
- Certifikační autorita (CA)
- Digitální certifikát
- Certificate Signing Request (CSR)
- Certificate Repository
Certifikační autority
- Hierarchie: root, subordinate
- Registrační autorita, Verifikační autorita
- Důvěryhodná CA
- Důvěryhodné kořenové CA – např. Comodo, RapidSSL, Symantec, Thawte, GeoTrust, DigiCert
Struktura digitálního certifikátu podle standardu X.509 [1]
- Issuing CA
- CA Digital Signature
- Version Number
- Serial Number
- Subject/Owner
- Owner's Public Key
- Validity Period
- Certificate Usage
- K žádající i vydávající straně se vážou atributy [15]:
- CN (Common name) – název (FQDN)
- E – emailová adresa
- T – lokalita
- ST – stát
- O – organizace
- OU – oddělení v organizaci
- C – země
- STREET – ulice
- ALL – celý název
Životní cyklus digitálního certifikátu
Vygenerování páru klíčů – Registrace – Certifikace – Distribuce – Revokace – Obnovení – Pozastavení – Zrušení
Revokace certifikátů
- Certificate Revocation List (CRL)
- CRL Distribution Point (CDP)
- OCSP (Online Certificate Status Protocol)
Instalace kořenových důvěryhodných certifikačních autorit v Ubuntu 18.04:
sudo update-ca-certificates
Konfigurační soubor pro instalované CA: /etc/ca-certificates.conf. Nainstalované certifikáty jsou umístěny v /usr/share/ca-certificates a /etc/ssl/certs/.
Konfigurace OpenSSL na Ubuntu 18.04 (převzato z [5], [6], [7]):
Vygenerování klíčů a CSR (Certificate Signing Request):
openssl req –new –newkey rsa:2048 –nodes –keyout server.key –out server.csr
Vytvořená CSR se nachází v souboru server.csr, který je možné odeslat CA k registraci. Po schválení obdržíte certifikát k instalaci.
Vygenerování klíčů a self-signed certifikátu:
sudo openssl req -x509 -days 365 -newkey rsa:2048 -keyout server.key –out server.crt
S přímou instalací:
sudo openssl req -x509 -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/server.key -out /etc/ssl/certs/server.crt
Instalace certifikátu:
cp server.crt /etc/ssl/certs
cp server.key /etc/ssl/private
Let’s Encrypt
- Bezplatná otevřená automatizovaná certifikační autorita pro HTTPS servery
- Konfigurace přes shell pomocí Certbot ACME
- Registrace, obnovení, revokace a zrušení certifikátů pomocí příkazu certbot viz. [11]
DANE (DNS-based Authentication of Named Entities)
- Protokol spojující digitální certifikáty X.509 s doménovými jmény pomocí DNSSEC (Domain Name System Security Extensions) [15]
- TLSA RR (TLS Authentication Resource Record)
- Pole záznamu: Certificate Usage, Selector, Matching, Certificate for Association
Zdroje:
- https://www.techotopia.com/index.php/An_Overview_of_Public_Key_Infrastructures_(PKI)
- https://doubleoctopus.com/security-wiki/digital-certificates/certificate-authority/
- https://cs.wikipedia.org/wiki/PKI
- https://securitycommunity.tcs.com/infosecsoapbox/articles/2017/04/03/understanding-how-ssl-certificate-revocation-process-works
- https://www.digicert.com/csr-ssl-installation/ubuntu-server-with-apache2-openssl.htm
- https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-18-04
- https://www.fi.muni.cz/~kas/pv090/referaty/2017-podzim/pki.html#exampleUbuntu
- https://www.techrepublic.com/article/how-to-install-ca-certificates-in-ubuntu-server/
- http://manpages.ubuntu.com/manpages/xenial/man8/update-ca-certificates.8.html
- https://maikel.pro/blog/current-state-certificate-revocation-crls-ocsp/
- https://certbot.eff.org/docs/using.html
- https://letsencrypt.org/
- https://www.ietfjournal.org/dane-taking-tls-authentication-to-the-next-level-using-dnssec/
- https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities
- https://www.ibm.com/support/knowledgecenter/en/SSS28S_3.0.0/com.ibm.help.forms.doc/Designer_User_Manual/i_bpfd_g_certificate_attributes.html