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 626
    • 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: Dnes v 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: Dnes v 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: Dnes v 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: Dnes v 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: Dnes v 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: Dnes v 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: Dnes v 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: Dnes v 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.