53 - Správa klíčů v asymetrické kryptografii (certifikáty X.509).
pondělí 29. května 2017
15:56
Asymetrická správa klíčů
------------------------
- nesmíme dovolit, aby při zveřejňování byl nahrazen veřejný klíč jiným veřejným klíčem (jasné)
- jeden z důvodů, proč je potřeba řešit správu klíčů u asymetrické kryptografie
- není potřeba řešit důvěrnost, ale pouze autentizaci
- řeší se pomocí certifikátů (standard X509)
- doporučení CCITT X.509 má dominantní postavení
  (CCITT už neexistuje, nahradila ji organizace ITU)

- služba X.500 pro distribuce certifikátů zemřela a byla nahrazena službou LDAP

Certifikace veřejných klíčů
---------------------------
- certifikační autoritě se říká důvěryhodná třetí strana (což je ale obecnější
  pojem)

- vezme se veřejný klíč uživatele, jeho jméno a dokument se elektronicky
  podepíše --> vznikne certifikát

- také další užitečné hodnoty jsou v certifikátu:
    - vydavatel (CA)
    - sériové číslo (unikátní v rámci CA)
    - platnost
    - identifikace algoritmu (který bude veřejný klíč používat)

Strom CA
--------
- úplně dole (pod stromem) jsou uživatelé
- úplně nahoře (v kořeni) je kořenová CA
- může mít obecně libovolný počet úrovní
- uživateli potom stačí znát jediný veřejný klíč
  (kořenové certifikační autority)

- je potřeba ověřit několik certifikátů --> sestavení certifikační cesty

- certifikačních stromů dnes existuje větší množství
- jednotlivé certifikační stromy dnes nejsou schopny/ochotny se spojit

Obsah certifikátu X.509
-----------------------
- jazyk ASN = Abstract Syntax Notation (neříká, jak strukturu uložit v paměti)
- další standardy BER/DER (uložení datových struktur v paměti)
- tyto standardy se ve větší míře nikde jinde nepoužívají
- podívat se na struktury
- dva algoritmy:
    1. kterým je certifikát podepsán
    2. pro který alg. je určen veřejný klíč

- obecně se mohou lišit

- sériové číslo je jedinečné v rámci CA
- dvojice sériové číslo / vydavatel tvoří jedinečnou dvojici na celé zeměkouli

- někteří lidé špatně chápou platnost certifikátu
- certifikát musí být platný v době podepisování dokumentu (ne v době ověřování)

Křížové certifikáty
-------------------
- slouží k propojení dvou nebo více certifikačních stromů
- stromy se propojují pomocí dvojice křížových certifikátů
- uživatelé potom mají pocit, jako by komunikovali v rámci jednoho stromu CA
- výrazně komplikují implementaci
- propojení nemusí být symetrické (tj. na stejné úrovni)
- tím se komplikuje sestavení certifikační cesty
  (už není problém s lineární složitostí)

Certifikační autorita
---------------------
- standard X.509 nedefinuje typy CA
- v praxi se používá kořenová CA, která je pro daný strom jedna
- potom se používají tzv. policy CA, které vydávají certifikáty pouze jiným CA
- nejníže jsou potom uživatelské CA, které vydávají certifikáty uživatelům

- CA by neměla provádět generování klíčů
- to může dělat jenom uživatel (jako *jediný* vlastník privátního klíče)
- při žádosti o certifikát se certifikační autoritě posílá prototypový
  certifikát (Privacy Enhanced Mail)
- prototypový certifikát se potom podepíše privátním klíčem
    ---> tzv. self-signed certifikát
    - podpisem potvrzujeme, že známe odpovídající privátní klíč
    - tohle v X.509 původně nebylo

- v praxi je potřeba oddělit certifikační a registrační autority:
    1. několik málo certifikačních CA někde v bunkru, dobře zabezpečených
    2. hodně registračních CA, kde si chodí lidi žádat o certifikát

Certifikát X.509
----------------
- původní verze je z roku 1988
- dnes se používá X.509 V3 z roku 1997
- umožňuje do certifikátu vkládat rozšíření (další položky certifikátu)
- každé rozšíření má UID, které se musí registrovat

- důležitá je nová položka usage, která říká, k čemu se může certifikovaný
  klíč použít

- součástí je také odkaz na certifikační politiku, podle které byl certifikát
  vytvořen

- X.509 V3 na rozdíl od původní verze nevyžaduje jméno ve tvaru DN
  (oddělené od X.500)

- další verze: X509 V4 (2000) ... atributové certifikáty

Rušení certifikátu
------------------
- např. při odtajnění privátního klíče
- nebo uživatel ztratí práva, která z certifikátu vyplývají
- teoreticky by mohl být prozrazen privátní klíč CA, ale nikdy se to nestalo

- seznam zrušených certifikátů se vydává periodicky (revocation list)
- v poslední době se objevilo on-line řešení pro zjištění zrušených certifikátů
- CRL je seznam neplatných certifikátů, kterým ještě nevypršela platnost
- delta CRL - jednou za čas pošleme celý seznam, potom se posílají změny v CRL
- CRL je náchylný na DOS

- OCSP = On-line Certificate Status Protocol
- internetový přístup k CRL (většinou nezabezpečený)
- má ale pouze informativní hodnotu a nelze použít jako důkaz
- stále náchylné k DOS útokům

Míra důvěry v certifikáty
-------------------------
- používají se 4 třídy, ale není standardizováno:
    1. pouze jedinečnost vlastníka
       - lze získat i anonymně
       - typicky pouze pro testovací účely

2. identita vlastníka
       - vyžadujeme kontrolu identity třetí stranou
       - nevyžaduje se osobní kontakt
       - většinou notářské ověření
       - není příliš důvěryhodné

3. vlastník osobně navštívil CA
       - reálně se rozpadá na několik podtříd
       - musí být kontrola dokladu totožnosti

4. třída 3 + kontrola dalších informací v certifikátu
       - např. vlastník musí prokázat, že je jednatelem banky
       - kromě toho, že prokáže svoji totožnost

Elektronický podpis
-------------------
- pro některé lidi to není to samé jako "digitální popis"
  (v EU je potřeba rozlišovat)

- podle EU stačí napsat Hanáček na konec dokumentu a máme elektronický podpis
- digitální podpis je elektronický podpis, který je bezpečný
- dále se bude pod elektronickým podpisem myslet digitální

- musí zajišťovat autenticitu, integritu a nepopiratelnost
- funkce jsou dosti podobné manuálnímu podpisu
- elektronický podpis neřeší problém double-spendingu
  (množení elektronických peněz)
Z <[link]> 
Notes
56. Správa klíčů v asymetrické kryptografii
Kdo me primarne zkousel: Staudek Jan, Doc. Ing. CSc.
Co jsem k tomu rekl(a)/na co se ptali/co mne vytkli: Předpokládal jsem že se mě ptá Hanáček, začal jsem mluvit směrem k němu, začal jsem o principech asymetrické kryptografie, asi po půl minutě mě přerušil Staudek (který do té doby spal), že tohle vědět nechce, tak jsem začal o certifikátech, zase mě přerušil, že to taky nechce, takhle se to opakovalo ještě jednou, tak jsem se ho přímo zeptal, že co jako chce slyšet, vytřeštil oči a koukal na mě 
 tak se do toho vložil Hanáček, asi se mi snažil nějak pomoct, ale v jeho případě to nepadalo moc na úrodnou půdu, moc jsme si nerozuměli co se týkalo záměn slov certifikát a klíč, motali jsme se v tom, základní myšlenku jsem sice řekl, ale Staudek do toho pořád rýpal, že to slyšet nechce, ale prostě nebylo vůbec jasné, co chce. Byl dost nepřijemný, strašně mumlal, nebylo mu rozumět a když jsem mu nerozuměl a chtěl ať zopakuje otázku, tak odpovídal dost nasraně, jako by to bral jako útok na sebe. Čas jsem překročil asi dvojnásobně, a byť jsem většinu času mluvil, a myslím si že k věci a korektně, tak při odchodu jsem si nebyl úplně jistý, že mi to dá, ale prošlo to.
E
From <[link]> 