Certifikáty na souborovém systému jen ke čtení

Certifikáty na souborovém systému jen ke čtení
« kdy: 29. 09. 2024, 22:58:10 »
Mám embedded zariadenie, ktoré má read-only root filesystem a ktoré bude nainštalované bez ďalšieho prístupu k nemu niekde v teréne.
Chcem dať naňho aplikačného klienta, ktorý komunikuje s https serverom, ktorý bude mať certifikát podpísaný od Let's Encrypt.

Ako zabezpečiť, aby bolo toto zariadenie stále schopné akceptovať certifikát https servera?
Akú periódu obnovy má Let's Encrypt certifikát? Ako funguje v Linuxe update trusted root certifikátov?


alex6bbc

  • *****
  • 1 627
    • Zobrazit profil
    • E-mail
Re:Certifikáty na RO filesystéme
« Odpověď #1 kdy: 29. 09. 2024, 23:40:36 »
clientovi (web browser) staci mit certifikat od CA (certifikacni autority), ktery je soucasti instalace a nepotrebuje mit u sebe konkretni certifikat ziskany z letsencrypt. server posle clientovi svoje verejne info k certifikatu a client vyuzije CA k overeni.

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #2 kdy: 30. 09. 2024, 08:22:32 »
Trvale to zabezpečit nejde, protože i certifikáty certifikačních autorit se jednou za několik let mění. Už s tím bylo dost problémů, že někdy byly certifikáty CA napevno a CA pak začala používat jiný certifikát.

Let's Encrypt nyní používá kořenový certifikát ISRG Root X1 s platností do roku 2035, ale pravděpodobně přestane být používán mnohem dříve.

V Linuxových distribucích je seznam důvěryhodných certifikátů součástí některého distribučního balíčku, takže se pravidelně aktualizuje tak, jak aktualizujete balíčky. Ovšem pozor na to, že aplikace nemusí používat systémové důvěryhodné certifikáty, může mít vlastní úložiště.

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #3 kdy: 30. 09. 2024, 08:45:07 »
a nemuze zarizeni obsahovat krome ro filesystemu treba i nejakou sd karticku, kde by se mohly rw zapisovat potrebne veci? pripadne pokud je zarizeni stale zapnute, nemuze se vyclenit kousek ram, flash, atp. pameti, kde se muze zapisovat a tam to drzet?

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #4 kdy: 30. 09. 2024, 09:12:08 »
Pokud máte toho HTTPS klienta v ruce, zkusil bych použít DANE , kdy budete certifikáty ověřovat přes DNS a nemusíte záviset na certifikační autoritě.

Ovšem aby to bylo bezpečné, potřebujete používat DNSSEC, kde zase potřebujete mít důvěryhodný kořenový certifikát, který se také jednou za několik let mění (možná častěji, než kořenový certifikát Let's Encrypt) – jestli se nemýlím, zrovna na příští rok je naplánována výměna.

No a nebo to můžete ošidit – používat pro serverový certifikát (pokud je to jeden server) stále ten samý klíč dokola a v klientech důvěřovat certifikátu s tím konkrétním klíčem. Pak samozřejmě ale nebudete schopen klíč vyměnit v případě úniku privátního klíče.


Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #5 kdy: 30. 09. 2024, 10:37:46 »
No a nebo to můžete ošidit – používat pro serverový certifikát (pokud je to jeden server) stále ten samý klíč dokola a v klientech důvěřovat certifikátu s tím konkrétním klíčem. Pak samozřejmě ale nebudete schopen klíč vyměnit v případě úniku privátního klíče.

Tohle už se řeší snadno, do toho klienta se dá víc veřejných klíčů, kterým věří. Jeden soukromý klíč se pak nasadí na server a ostatní se nechají bezpečně v záloze. Když něco selže, vyndá se jeden ze záložních klíčů a jede se dál.

Pokud to má být v tomhle režimu opravdu dlouhodobě bezúdržbové, pak je to jediná cesta. Kořenové certifikáty autorit se opravdu jednou za čas mění, stejně jako klíč (tam není certifikát) v kořenové zóně kvůli DNSSEC. Jediná jistá cesta je vyhnout se těmhle stromům a pinovat si vlastní koncové veřejné klíče.

mark42

  • ***
  • 125
    • Zobrazit profil
    • E-mail
Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #6 kdy: 30. 09. 2024, 12:48:21 »
@majvan - ak predpokladas, ze zariadenie ma fungovat dlhsie ako 5-6 rokov, tak urcite bude potrebovat neaky extra storage, kam vies nahrat nove root certifikaty Let's Encrypt. Aktualne maju RSA root do 2030-06-04 a ECDSA root do 2035-09-04, ale je sanca, ze jeden alebo aj oba budu rotovat aj skor.

Moznost vlastnych certifikatov (ako pisu Petr Krcmar a Filip Jirsak vyssie) nastupuje az v pripade, ak zavrhnes povodnu ideu fungovat pod Let's Encrypt, pripadne budes chciet mat nejaku vlastnu zalohu napr. pre pripad ze LE skonci. Na bezpecne fungovanie ale na klientovi tiez potrebujes to iste - nejake ulozisko certifikatov, kde vies novy certifikat pridat a stary zmazat.

Mimo toto neexistuje cesta, ako to moze bezpecne fungovat. Vastne ano, raz za cas vymenit cele zariadenie (resp. k update firmwaru nahrat aj nove root crertifikaty, ak to zariadenie umoznuje).

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #7 kdy: 30. 09. 2024, 13:32:31 »
@majvan - ak predpokladas, ze zariadenie ma fungovat dlhsie ako 5-6 rokov, tak urcite bude potrebovat neaky extra storage, kam vies nahrat nove root certifikaty Let's Encrypt. Aktualne maju RSA root do 2030-06-04 a ECDSA root do 2035-09-04, ale je sanca, ze jeden alebo aj oba budu rotovat aj skor.

Vdaka za odpoved. Pozeral som tiez nejake certifikaty a ISRG, ktory je root pre Let's Encrypt ma naozaj do 2035. Nakolko vsak tvrdite viaceri, ze budu rotovat skor, pozrel som si, ako to prebieha.

Ak spravne chapem, tak je tam nejaka perioda prekryvu, kedy je este platny stary certifikat a uz je platny aj novy certifikat. Pocas tejto periody prekryvu je potrebne patchovat operacne systemy (alebo prehliadace / systemy s vlastnym uloziskom root certifikatov).
Aka dlha byva tato doba? Je nejaky mechanizmus na query "je novy certifikat", alebo v sucasnosti sa spolieha na to, ze pocas tejto doby prebehne update, ktory ten novy certifikat ziska?

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #8 kdy: 30. 09. 2024, 13:48:50 »
Aktualne maju RSA root do 2030-06-04
To mají napsané v textu, nicméně ve skutečnosti je i ten RSA root vydaný s platností do 2035-06-04.

Moznost vlastnych certifikatov (ako pisu Petr Krcmar a Filip Jirsak vyssie) nastupuje az v pripade, ak zavrhnes povodnu ideu fungovat pod Let's Encrypt, pripadne budes chciet mat nejaku vlastnu zalohu napr. pre pripad ze LE skonci.
Nikoli, i DANE nebo používání stále stejného klíče je možné použít s certifikáty od Let's Encrypt. Ten HTTPS klient v zařízeních by sice používal DANE nebo by měl v sobě několik klíčů a bylo by mu jedno, že jsou ty certifikáty vystavené pomocí LE. Ale server by měl normálně uznávané certifikáty, takže kdyby se k serveru připojil někdo běžným webovým prohlížečem (třeba proto, že by ten server poskytoval i nějaké webové rozhraní), dostal by klasický certifikát od LE.

Na bezpecne fungovanie ale na klientovi tiez potrebujes to iste - nejake ulozisko certifikatov, kde vies novy certifikat pridat a stary zmazat.
Není to potřeba, pokud si budete věřit, že nedojde ke kompromitaci privátního klíče.

Tohle už se řeší snadno, do toho klienta se dá víc veřejných klíčů, kterým věří. Jeden soukromý klíč se pak nasadí na server a ostatní se nechají bezpečně v záloze. Když něco selže, vyndá se jeden ze záložních klíčů a jede se dál.
To je dobré řešení, ale pak je potřeba mít zajištěné, aby nemohlo dojít ke kompromitaci privátního klíče, tj. mít privátní klíč v HSM nebo aspoň nějakém USB tokenu.

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #9 kdy: 30. 09. 2024, 13:56:23 »
Aka dlha byva tato doba? Je nejaky mechanizmus na query "je novy certifikat", alebo v sucasnosti sa spolieha na to, ze pocas tejto doby prebehne update, ktory ten novy certifikat ziska?
Obvykle je to několik měsíců, i přes rok. Ale ono je to dost různé, protože často je ta změna kořenového certifikátu důsledkem jiných změn.

Pokud je víc alternativních certifikačních cest (což je třeba případ výměny kořenového certifikátu), je možnost při vydávání certifikátu si zvolit, která cesta se má použít. Takže ty informace jsou dostupné přes API. A Let's Encrypt o tom také dopředu informuje, takže je dobré sledovat třeba jejich blog.

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #10 kdy: 30. 09. 2024, 15:59:05 »
Ak začínam správne chápať, tak Let's Encrypt je CA najvyššej úrovne, t.j. ten ISRG, ktorý ma Expiration Date v roku 2035, patrí Let's Encrypt?

Tomuto celkom nerozumiem:
Pokud je víc alternativních certifikačních cest (což je třeba případ výměny kořenového certifikátu), je možnost při vydávání certifikátu si zvolit, která cesta se má použít.
Znamená to, že už pri vydávaní certifikátu má certifikát zapísaných viacero alternatív k (PKI) rodičovským certifikátom?

Ak som správne pochopil, tak Let's Encrypt vydáva certifikáty na krátke obdobie (niekoľko mesiacov, alebo pár rokov), takže ak pôjdem cestou certifikačnej autority, tak vidím skôr riešenie v manažovaní tých koreňových trusted certifikátov pre klienta a to tak, že bude treba vystihnúť dobu, počas ktorej sa budú musieť certifikáty na všetkých embedded zariadeniach updatovať.

V prípade, že si sám podpíšem certifikát, tak si musím update manažovať tiež sám. Poprípade nebudem updatovať certifikát vôbec, čím viac riskujem zvýšenú možnosť kompromitácie po nejakom čase...

alex6bbc

  • *****
  • 1 627
    • Zobrazit profil
    • E-mail
Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #11 kdy: 30. 09. 2024, 16:04:13 »
Ak začínam správne chápať, tak Let's Encrypt je CA najvyššej úrovne, t.j. ten ISRG, ktorý ma Expiration Date v roku 2035, patrí Let's Encrypt?

Tomuto celkom nerozumiem:
Pokud je víc alternativních certifikačních cest (což je třeba případ výměny kořenového certifikátu), je možnost při vydávání certifikátu si zvolit, která cesta se má použít.
Znamená to, že už pri vydávaní certifikátu má certifikát zapísaných viacero alternatív k (PKI) rodičovským certifikátom?

Ak som správne pochopil, tak Let's Encrypt vydáva certifikáty na krátke obdobie (niekoľko mesiacov, alebo pár rokov), takže ak pôjdem cestou certifikačnej autority, tak vidím skôr riešenie v manažovaní tých koreňových trusted certifikátov pre klienta a to tak, že bude treba vystihnúť dobu, počas ktorej sa budú musieť certifikáty na všetkých embedded zariadeniach updatovať.

V prípade, že si sám podpíšem certifikát, tak si musím update manažovať tiež sám. Poprípade nebudem updatovať certifikát vôbec, čím viac riskujem zvýšenú možnosť kompromitácie po nejakom čase...

letsencrypt nemusi byt top level, ale jeho certifikaty co certifikuji nizsi urovne jsou certifikovane top certifikaty, takze se letsencrypt certifikatum veri.

muzete si sam delat certifikaty pomoci nastroje openssl, ale pak si je musite rucne datna server, do prohlizece a treba i do systemu.

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #12 kdy: 30. 09. 2024, 17:25:23 »
Ak začínam správne chápať, tak Let's Encrypt je CA najvyššej úrovne, t.j. ten ISRG, ktorý ma Expiration Date v roku 2035, patrí Let's Encrypt?
Ano, Let's Encrypt je „obchodní značka“, pod kterou poskytují certifikační služby, ale právní subjekt za tím je veřejně prospěšná společnost Internet Security Research Group (ISRG). Dříve měly svůj kořenový certifikát křížově podepsaný ještě jinou autoritou, ale ten už letos přestali úplně používat.

Znamená to, že už pri vydávaní certifikátu má certifikát zapísaných viacero alternatív k (PKI) rodičovským certifikátom?
Certifikát je podepsaný vždy jedním klíčem certifikační autority, ale ten jeden klíč certifikační autority se může nacházet v několika různých certifikátech. Tj. ten koncový certifikát, který máte na HTTPS serveru, je jen jeden, ale může k němu vést několik různých cest od různých kořenových certifikátů. No a protože si při vydání certifikátu od Let's Encrypt stahujete i ty nadřazené certifikáty, můžete si zvolit, kterou cestu chcete poslat. Pokud si nevyberete, pošle LE to, co v daném času má nastavené jako výchozí.

Ak som správne pochopil, tak Let's Encrypt vydáva certifikáty na krátke obdobie (niekoľko mesiacov, alebo pár rokov)
Koncové certifikáty (třeba pro váš HTTPS server) vydává vždy s platností 90 dnů (a chtějí to ještě zkracovat). Mezilehlé a kořenové certifikáty mají nastavenou platnost 20 let, ale tak dlouho se nejspíš používat nebudou.

takže ak pôjdem cestou certifikačnej autority, tak vidím skôr riešenie v manažovaní tých koreňových trusted certifikátov pre klienta a to tak, že bude treba vystihnúť dobu, počas ktorej sa budú musieť certifikáty na všetkých embedded zariadeniach updatovať.
Ano, přičemž ta doba výměny bude u kořenových certifikátů určitě několik měsíců. Přičemž Let's Encrypt na to vždy opakovaně upozorňuje a na začátku zveřejňuje harmonogram, jak to bude probíhat. Třeba tady je zpráva z července 2023 s harmonogramem výměny kořenového certifikátu, jehož platnost končí shodou okolností dnes.

V prípade, že si sám podpíšem certifikát, tak si musím update manažovať tiež sám. Poprípade nebudem updatovať certifikát vôbec, čím viac riskujem zvýšenú možnosť kompromitácie po nejakom čase...
Když ten certifikát nebudete updatovat vůbec (resp. nebudete mít tu možnost), existuje riziko, že když dojde ke kompromitaci privátního klíče, nemáte jak to vyřešit – jak ta zařízení přesvědčit, aby kompromitovanému klíči nevěřila. Tj. ani tak nejde o to, že by s delším používáním rostlo riziko kompromitace, to není tak velký problém – podstatné je, že kdyby k tomu došlo, nemáte jak tu situaci vyřešit. (Maximálně můžete informovat všechny zákazníky, ať to zařízení přestanou používat a odpojí ho od sítě.)

Pak je tam ještě jedno riziko – vystavíte certifikát s dlouhou platností, třeba 10 let, a pak zapomenete, že je potřeba to za 10 let nějak řešit. To se před pár lety stalo FlexiBee, když jim po 10 letech vypršel certifikát podepisující licence.

Re:Certifikáty na souborovém systému jen ke čtení
« Odpověď #13 kdy: 30. 09. 2024, 17:39:35 »
Mám embedded zariadenie, ktoré má read-only root filesystem a ktoré bude nainštalované bez ďalšieho prístupu k nemu niekde v teréne.
Chcem dať naňho aplikačného klienta, ktorý komunikuje s https serverom, ktorý bude mať certifikát podpísaný od Let's Encrypt.

Ako zabezpečiť, aby bolo toto zariadenie stále schopné akceptovať certifikát https servera?
Akú periódu obnovy má Let's Encrypt certifikát? Ako funguje v Linuxe update trusted root certifikátov?

A jak budes na read-only filesystemu resit patchovani exploitu?
Jen priklad, proc resis vec ktera roky nenastane. Ale exploitu vyjde mezitim hromada. Samozrejme nevim o jake zarizeni se jedna. Ale vsechno se da dneska reversnout a cim vic je to zarizeni uzavrenejsi tim vic zajimavejsi to je, pro urcitou skupinu lidi ;-)