( kroozo | 2021. 01. 20., sze – 22:18 )

Igen és igen.

A magyar internetre magyar rootcertet dolog egy teljesen valid indok. Az osekklel / böngészőkkel szállított root ca-k használata ugyanis -- az elméleti síkon -- nem javít, hanem kifejezetten ront egy cert biztonságosságának megítélésén az ideálishoz képest. Ők megbízható harmadik felek a kommunikációban, és mint olyanok, szükséges rosszak. Ők azok, akikről a kommunikáló felek (már amelyiket érdekli a másik hitelesítése, ez klasszikusan csak a kliens) elhiszik, hogy amit ő állít, az igaz. Praktikusan azért van erre szükség, mert a random.com-mal nem tudod egyébként kényelmesen kideríteni, hogy ő van-e a cert mögött. De ha egyébként meg tudsz győződni arról direktben, hogy az a cert valóban a másik félnél van, akkor a biztonság jobb, nem kell hozzá 3rd party. Főleg, hogy az ő állításait ráadásul technikailag semmi nem kényszeríti ki, egyszerűen elhisszük, hogy amit állít az igaz, mert pl bemutatta a megfelelő működési szabályzatát, meg átment az auditon MSnél/mozzilánál/guglinál.

Na most a magyar állam és állampolgára közti hitelességi kérdésekben praktikusan is komoly biztonsági gap lenne, ha bevonnánk egy külső felet, aki pl amcsi (vagy orosz, vagy kínai, vagy bantu) fennhatóság alatt van, mint alapvető döntnökét a megbízhatóságnak. Teljesen jogos, hogy ezt a magyar állam saját hatáskörben csinálja. Mármint képzeld el, hogy Trumpli uraság úgy dönt, hogy mostantól a magyar államigazgatás dokumentumai nem hitelesek :)

Technikailag már kissé szarabb a helyzet, amit ugyanis a nisz javasol, az a gyakorlatban neked csücskös. Ugyanis -- csak úgy, mint a többi CA -- a nisz is pont azt ír alá azzal a root CAval, amit csak akar. Szóval ha beimportálod, akkor állam bácsi pont arról a kapcsolatodról hiteti el veled, hogy jó, amelyikről csak akarja. Mivel a technológia (a tls se jó, a browserek sem csinálnak dolgokat, amiket csinálhatnának [insert nem annyira konteo köcsög google gondolatok here]) sajnos nem teszi lehetővé, hogy te értelmesen megmondhasd, hogy pl ez a root CA milyen kapcsolatok tekintetében hiteles (tehát pl nem lehet olyat mondani, hogy állambácsi véleménye csak a *.gov.hu tekintetében érdekel, viszont a többieké meg erre nem érdekel). A szerver oldalnak van valamennyi esélye védekezni az ellen, hogy ne állítson ki olyan rá certet, akinek ő erre nem kért, pl a certificate transparencyvel és az Expect-CT headerrel (meg a deprecated public key pinninggel), de messze nem silver bullet, ráadásul csak HTTPSre jó in practice jelenleg. Uh én ezt nem javasolnám, marad az értem gomb nyomkodása. (Nagyon hasonlóan pl a céges belső root CAkhoz)

Persze ebben is van sajnos kockázat, mert a browserek abban sem jeleskednek, hogy legalább te mint kliens azt tudd mondani, hogy na, ebben a konkrét certben megbízom. Hol megjegyzik, hol nem, periodikusan baszogatnak újra stb, te meg jó eséllyel úgy se fogod minden alkalommal megolvasni a fingerprintet, szóval könnyen át tudsz baszódni.

Igazából az egész TLS/PKI modell elég szar (a revocationokbe még bele se mentünk :D)