#language cs ## 20200116 AK ---- '''česky''' | [[Roots/EscrowAndRecovery|english]] ---- = Úschova a obnova = Částí úkolu [[Roots/NewRootsTaskForce| Vytvoření nových kořenových certifikátů]] je rozhodnutí, jak je v případě potřeby obnovit. To byl jeden z velkých kazů projektu 2008. Nyní jsme to opravili. <> == Předmluva == Bezpečný způsob úschovy a obnovy kořenového klíče přináší typicky jednu nebo více těchto úvah: * Hardwarová platforma s FIPS úrovně 3 nebo ekvivalentní - jako obecné kritérium. Tento přístup popisuje, jak zařízení odolá útoku při otevřeném přístupu k hardwaru. * Kryptografické schéma sdílení klíče, které rozděluje klíč do několika úložištích. * Ovládající struktura, která vybírá osoby a organizuje spolupráci (nebo aspoň dohodu) mnoha osob na rekonstrukci klíče a zajistí, aby tento úkon byl proveden podle návrhu a bez vzájemného rušení. Různí lidé do toho vrtají různě. Zaměřit se na jediný způsob z výše uvedených pravděpodobně vytvoří [[http://xkcd.com/538/|slepou skvrnu]], kterou lze snadno zneužít. ## {{http://imgs.xkcd.com/comics/security.png}} {{attachment:security.png}} Jediná komponenta to asi sama nedokáže. Potřebujeme integrované schéma, které vybere prvky a zkombinuje je do celostního (holistického) schématu, poskytujícího dobré zabezpečení za nízkou cenu. Což také znamená, že potřebujeme tým lidí se schopnostmi v různých oblastech. -- Je to docela náročný projekt, který nelze řešit korespondenčně na seznamu adresátů! S tímto varováním v mysli, vpřed! == Požadavky == <> Projekt úschovy kořenových certifikátů (kořenů) je ovlivňován mnoha požadavky pocházejícími z těchto zdrojů: === Obecně === <> Některé požadavky nejsou explicitně a jasně zapsány, takže následuje pokus zapsat je stejným způsobem jako ostatní. Rozšířený komentář je níže. || z.1 || Práci s kořeny řídí Výbor. || ''vyplývá z'' [[https://svn.cacert.org/CAcert/CAcert_Inc/Agreements/ManagementAssertion.html|Prohlášení managementu]] || Akce podléhají instrukcím Výboru. || || z.2 || Jediný kořen nejvyšší úrovně podepisuje (a) pod-kořeny pro vydávání certifikátů a (b) seznam odvolaných certifikátů (CRL) pouze pro své pod-kořeny. || [[https://community.cacert.org/board/motions.php?motion=m20100117.3|m20100117.3]] [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#9.2.2|Zásady bezpečnosti 9.2.2]] [[https://wiki.mozilla.org/CA:Problematic_Practices#Issuing_end_entity_certificates_directly_from_roots|mozilla/CA/PP]] [[https://wiki.mozilla.org/CA:Recommendations_for_Roots|mozilla/CA/Doporučení pro kořenové certifikáty]] || Jeden kořen nejvyšší úrovně pro tento projekt úschovy. || || z.3 || Kořen (nejvyšší úrovně) je off-line. || [[https://community.cacert.org/board/motions.php?motion=m20100117.3|m20100117.3]] [[https://wiki.mozilla.org/CA:Problematic_Practices#Issuing_end_entity_certificates_directly_from_roots|mozilla/CA/PP]] [[https://wiki.mozilla.org/CA:Recommendations_for_Roots|mozilla/CA/Doporučení pro kořenové certifikáty]] || Toto, jak známo, vyplývá ze z.2 a z očekávání některých pozorovatelů zabezpečení. || || z.4 || Výbor musí být schopen obnovit kořen nezávisle na týmu kritických zásahů. || [[https://lists.cacert.org/wws/arc/cacert-root/2010-02/msg00007.html||Kořeny: seznam adresátů]] || CA se potřebuje vypořádat s následky úplného výmazu "kritickým" týmem nebo systémy. || || z.5 || Metoda musí být spolehlivá. || implicitní || Vyhnout se "sexy" kryptografii. || || z.6 || Cenová efektivita || [[https://lists.cacert.org/wws/arc/cacert-root/2010-02/msg00004.html||Kořeny: seznam adresátů]] || CAcert nemá spousty peněz. Mít cenově náročná kritéria na úschovu kořenů není žádoucí. || || z.7 || Rychlá obnova || [[https://lists.cacert.org/wws/arc/cacert-root/2010-02/msg00004.html||Kořeny: seznam adresátů]] || Potřebujeme-li už opravdu nařídit tuto proceduru, má smysl, když bude provedena rychle. || || z.8 || Riziko ztráty utajení (prozrazení) klíče musí být velmi malé. || [[https://lists.cacert.org/wws/arc/cacert-root/2010-02/msg00004.html||Kořeny: seznam adresátů]] || Nezničte CA, jen aby vyhověla požadavkům na úschovu. || === Zásady === <> Zásady/příručka bezpečnosti opravňuje procedury (postupy) podle [[SecurityManual#RootKeyManagement|Příručky bezpečnosti 9.2]]. Příručka bezpečnosti (SP) obsahuje několik podmínek ovlivňujících situaci úschovy / zálohy: || [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#SP9.2.1|SP9.2.1]] || Kořenové klíče se generují pouze na příkaz Výboru. || || [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#9.2.2|SP9.2.2-a]] || Kořenové klíče musí být uchovávány (jejich záloha, kopie) na spolehlivém výměnném médiu používaném jen k tomuto účelu. || || [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#9.2.2|SP9.2.2-b]] || Privátní klíče musí být zašifrovány a to nejlépe dvojitě. || || [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#9.2.2|SP9.2.2-c]] || Heslo musí být silné a musí být uschováno odděleně od média [s privátními klíči]. || || [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#9.2.2|SP9.2.2-d]] || Musí být udržováno dvojí řízení. || || [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#9.2.2|SP9.2.2-e]] || Kořen nejvyšší úrovně musí být uschován pod řízením Výboru. || || [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#9.2.2|SP9.2.2-f]] || Pod-kořeny může uschovat buď Výbor nebo tým Správců systémů. || || [[https://svn.cacert.org/CAcert/Policies/SecurityPolicy.html#9.2.3|SP9.2.3]] || Obnova musí být prováděna pouze pod autoritou arbitra. || Viz též jiné klíče uschované týmem sysadm: [[SecurityManual|Příručka bezpečnosti]] 4.3.7. [[http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html|Zásady bezpečnosti]] jsou ve stavu KONCEPT [DRAFT]. [[SecurityManual|Příručka bezpečnosti]] určuje podrobnosti Zásad bezpečnosti. === Kritéria auditu (Zastaralé) === <> ''Tato kapitola je zastaralá, protože Kritéria Davida Rosse (David Ross Criteria, DRC) už nejsou udržována a má se postupovat podle běžných průmyslových norem (standardů).'' Lze použít následující kritéria [[Audit|auditu]]: || Číslo || Kritérium || || C.3.c || Privátní klíč kořenového certifikátu je uložen jako bezpečný před elektronickým i fyzickým prozrazením. || || C.3.d || Privátní klíč kořenového certifikátu je uložen certifikační autoritou (CA) a ne vnější stranou. || || C.3.e || Heslo privátního klíče kořenového certifikátu není uloženo elektronicky nebo fyzicky. || || C.3.f || Heslo privátního klíče kořenového certifikátu (nebo jeho části) zná pouze personál certifikační autority (CA). || || C.3.g || Účinkuje opatření proti ztrátě kořenového certifikátu jediným selháním elektronického zařízení (včetně fyzického zničení takového zařízení). || || C.3.h || Účinkuje opatření proti ztrátě možnosti použití kořenového certifikátu tím, že se jedna klíčová osoba stane neschopnou [nemoc, amnézie, smrt]. || || C.3.i || Použití privátního klíče kořenového certifikátu vyžaduje spolupráci alespoň dvou osob personálu certifikační autority (CA). || Úplná kritéria viz: * [[http://audit.cacert.org/drc/browser.php]] (komentáře a ověření ohledně ukončeného (neúspěšného) přehledu 2009). Tato presentace je publikována. Podrobnosti lze vidět po kliknutí na vybrané kořeny. * [[http://rossde.com/CA_review/|Primární dokument Davida Rosse]], kopie:je [[https://www.alkas.org/CA_review|zde]] /!\ dočasně nefunkční /!\ * Pouze pro držitele klientských certifikátů CAcert: [[https://fiddle.it/app/crowdit/search/cat/roots|CrowdIt]] je vznikající nástroj zpřístupnění(založený na starém prohlížeči). == Diskuse == Přidejte laskavě vlastní komentář, ale ponechte prostor pro debatu (nemažte komentáře jiných, doplňte své jméno a [čeho jste] zástupce). === z.1 Řízení === Nevyslovený předpoklad: '''řízení má management CA'''. Není to sice výslovně uvedeno v kritériích, ale plyne to z procesu auditu [[https://svn.cacert.org/CAcert/CAcert_Inc/Agreements/ManagementAssertion.html|Prosazování managementu]] a podobných. V případě CAcert se to typicky chápe tak, že řízení má Výbor. [V dalším textu "kořeny" (roots) = kořenové certifikáty, "pod-kořeny" (subroots) jsou certifikáty v hierarchii umístěné bezprostředně pod kořenovými certifikáty.] Řídící Výbor má především vliv na pod-kořeny. Proto může být zkoumáno, zda: || x.1 || může Výbor vydávat svoje pod-kořeny, kdykoli a jakkoli se rozhodne, a || || x.2 || ostatní nemohou vydávat pod-kořeny, kdykoli a jakkoli se rozhodnou. || Všimněte si, že to neznamená, že jiní nemohou mít kořeny "pod palcem", pouze že jsou pod kontrolou [just that they have controls over them] Výboru. Také to neznamená, že kořen je zcela v rukou Výboru, ale že Výbor může vydat pokyn a tedy ovládat vydávání pod-kořenů. === z.2 Jednoduchý kořen === Zdroje se různí. Mozilla považuje více kořenů za nepopulární. Je obtížné vynutit bezpečnostní logiku skrytou za tímto požadavkem a často existují dobré důvody, proč toto není pevné kritérium. Avšak prozatím existuje konsensus CAcertu a ostatních. Je možné, že tým doporučí druhou sadu záloh kořenů, avšak to nemusí mít význam, jestliže existuje riziko, že privátní klíče zůstávají víceméně stejné, náklady na přepnutí jsou vysoké a náklady na vytvoření nové sady [klíčů] jsou nižší, než náklady na přepnutí (například je lze snadno zahrnout do nákladů na obnovení). === z.3 Off-line === Kořen[ový certifikát] má být off-line. Avšak "off-line" není definováno. Off-line přinejmenším znamená, že není dostupný po "lince", což dnes je typicky síť. Maximálně by pak mohl být chápán jako vypnutý, odpojený a fyzicky zabezpečený. Vytváření CRL se pak ovšem stává obtížným. Uvažujme tento myšlenkové experimenty: * Počítač je instalován ve stojanu, ale není zapnutý. * Počítač je v jiném zařízení (místnosti?) a CRL jsou přenášeny přes USB disky. * Počítač je spuštěn, ale může pouze vytvářet CRL. Například přijímací spoj je odpojen, lze pouze vysílat. Případně počítač používá rádiové spojení a nemá přijímač. * Zašifrovaný USB (nebo [[Roots/EscrowAndRecovery/RandomHardware|podobný]]) disk je uložen v sejfu, uzamčen ve stojanu, připevněn řetízkem k zápěstí zaručovatele. Každých X dnů: a. je CRL server odpojen od webového serveru, je vložen USB disk, zadáno heslo, a. CRL jsou podepsána, a. USB disk je odpojen, paměť smazána, CRL server opět připojen. Atd., atd. Jde tu o to, vytvořit návrh, který splňuje výše uvedené požadavky, je spolehlivý a dává dobrý pocit. === z.4 Obnova === Pro obnovu po havárii potřebujeme nějakou formu redundance. Viz též Zásady bezpečnosti (SP) 9.2.2''-e'' výše. === z.5. Spolehlivost === Metoda musí být spolehlivá. To je základní omezení oproti "sexy" návrhům kryptografických teorií. Například Bezpečné sdílení (Secret Sharing) nebude asi fungovat, musí-li výbor několikrát přepínat (každý rok) sdílení, než potřebuje (za 5 let) obnovit, nebo když vyžaduje exotický software. Systémy s komplikacemi nepřežijí prověrku časem. Procedura definovaná zde by měla být použitelná ještě dalších 30 let. Z toho vyplývá a. jednoduchost, a. použití nástrojů, které budou dostupné i v budoucnosti, a a. způsob uložení (paměť), který nepodléhá personálním změnám. Všimněte si také, že výše uvedené body způsobí, že Výbor nebude vykonávat svou práci, protože Výbor se často mění a má mnoho potíží s předáváním. Může existovat zcela oddělený tým, pokud je zde postačující nedostatek korelace mezi oběma týmy ve hře ("kritických věcí" a "obnovy"). === z.6 Efektivita nákladů === Uvažujte o ní takto: každoročně můžeme provést cvičení, a náklady se tak nestanou problémem. Nutno se též zmínit o problému s CRL. === z.7. Rychlá obnova === Plánování obnovy po havárii navrhuje naši potřebu být schopni vydávat CRL každých 24 hodin. === z.8 Zajištění proti riziku kořene (Root Risk) === Ačkoli plyne ze všech kritérií, má svůj význam znovu je zde uvést, protože se často vytrácí z rozboru. Toto opětné prohlášení nám také umožní posoudit systém jako celek. Logika: Každá dodatečná kopie klíče rozhodně zvyšuje riziko porušení jeho utajení. Toto riziko by mělo zůstat velmi malé. Pokud však vzroste na určitou nepřijatelnou úroveň, poruší celý zbytek CA. Taková křehkost je dobře známa u návrhu PKI s jedním kořenem. ----------- == Návrhy == <> * [[Roots/EscrowAndRecovery/Notary]] * [[Roots/NewRootsTaskForce/USB]] * [[Roots/EscrowAndRecovery/MultiMemberEscrow]] * [[Roots/EscrowAndRecovery/ActorPassword]] * [[Roots/EscrowAndRecovery/PassSigningServer]] * [[Roots/EscrowAndRecovery/EnvelopeBankNotaryEscrow]] * [[Roots/EscrowAndRecovery/SSSS]] * [[Roots/EscrowAndRecovery/RedundantServers]] * [[Roots/EscrowAndRecovery/RandomHardware]] ---- . CategoryAudit . [[CategoryNRE|CategoryNRE]] . CategoryNewRootsTaskForce