O certifikáte, ktorý nikto nikdy na nič nepoužil

Do čipu v občianskom preukaze možno nahrať trojicu certifikátov.

1 Užitočný certifikát

Pretože kvalifikovaný elektronický podpis je rovnocenný s podpisom vlastnoručným, kvalifikovaný certifikát pre elektronický podpis je nepochybne užitočný (nielen) pri podpisovaní všakovakých podaní na úrady.

2 Certifikát, ktorý nie je nevyhnutný

Tu sa píše, že

Nič to, na to predsa máme ten prvý, kvalifikovaný. V skutočnosti môžeme vždy používať podpis kvalifikovaný, pretože každý kvalifikovaný podpis je z definície podpisom zdokonaleným. Kto by sa uspokojil so zdokonaleným podpisom, kvalifikovaný podpis neodmietne.

Napriek tomu si možno predstaviť situácie, kedy sa nekvalifikovaný certifikát zíde. Napríklad pretože:

  • platí dlhšie ako kvalifikovaný certifikát. Môže sa stať, že kvalifikovaný certifikát vypršal (či bol zneplatnený), no nekvalifikovaný stále platí.
  • obsahuje menej osobných údajov ako kvalifikovaný certifikát.
  • ho možno použiť ako autentifikačný certifikát v protokole TLS.

Skrátka nie je vylúčené, že by sa niekomu zišiel, hoci ho zrejme používa málokto.

3 Úplne zbytočný certifikát

Slúži vraj na "šifrovanie elektronickej komunikácie určenej pre občana". A to je pravda. Šifrovať komunikáciu pre vás určenú možno napríklad takto:
echo "The magic words are chlóra buanda." | openssl rsautl -encrypt -certin -inkey sifrovaci_certifikat.pem -out ciphertext

Napriek tomu som presvedčený, že tento certifikát vôbec nikto nepoužíva. Pretože sa akosi zabudlo na dešifrovanie. Dešifrovať správy zašifrované verejným kľúčom z šifrovacieho certifikátu dokáže len občiansky preukaz, v ktorého čipe je príslušný súkromný kľúč.

A ovládač distribuovaný s naším eID klientom dešifrovanie vôbec nepodporuje. Vo verzii 3.7 to fungovalo, od príchodu verzie 4.0 v septembri 2022 to už nefunguje.

Veď si to vyskúšajte. A rovno mi napíšte, kde robím chybu. Ja už sa nechcem trápiť.

Zaujímavé je, že chybu si nikto nevšimol. Alebo nikoho netrápila. Ani si netrúfam odhadnúť, koľkým ľuďom ten softvér pred zverejnením prešiel rukami.

Po zverejnení a inštalácii by na problém rýchlo narazil každý, kto by s pomocou toho programu chcel niečo dešifrovať. Snáď by chybu nahlásil a dočkali by sme sa opravy. Pretože už uplynulo viac ako pol roka, znamená to, že šifrovací certifikát vôbec nikto nikdy na nič nepoužil a bol teda úplne zbytočný.

Hodnota za peniaze

My máme certifikáty zadarmo, štát za ne samozrejme platí. Každému kúpi jeden užitočný, jeden nie nevyhnutný a jeden úplne zbytočný. Je jasné, že (aspoň) za ten posledný platí priveľa. Na to netreba ani žiadne peniaze počítať.

Slobodný sotfvér

Rovnako ako všetci ostatní držitelia občianskeho preukazu s čipom som šifrovací certifikát nikdy na nič nepoužíval. Na problém som narazil len preto, lebo som sa podujal naprogramovať slobodný ovládač pre naše občianske preukazy. S mojimi ovládačmi v knižnici OpenSC dešifrovanie funguje. Napríklad takto:

pkcs11-tool --decrypt --id 03 --input-file ciphertext

Aj šifrovací certifikát možno povýšiť zo zbytočného na nie nevyhnutný. Hoci ho bude používať málokto, nebude už úplne vylúčené, že by sa niekomu zišiel.

5 Likes

Myslím že tie ďalšie dva certifikáty sú nahrávané ako taký bonus, že veď nemusí byť na všetko úplne vopred vymyslený účel. Avšak ani zatiaľ sa žiadne zmysluplné použitie “neukázalo”, čo je v nemalej miere spôsobené aj nezáujmom MV (a nestíhaním Mirri a jeho predchodcov) pozerať na eID ako na produkt, ktorému chceme dať čo najširšie uplatnenie.

Ináč jeden z pôvodných zámerov bolo použiť šifrovací certifikát na šifrovanie komunikácie pri prístupe k EZKO (elektronickej zdravotnej knižke občana). Ale teda bola to obzvlášť prostoduchá predstava.

Nielen že by bola technicky dosť obtiažne implementovateľná - v podstate statické webstránky EZKO by museli údaje čo zobrazia nechať rozšifrovávať cez eID, čo ako vidíme aj pri autentifikácii/autorizácii nie je bezproblémové, ale ešte to ani z bezpečnostného hľadiska nie je absolútne žiadne zlepšenie oproti klasickému HTTPS, keďže celá stránka, vrátane skriptov na dešifrovanie, sa načítava zo servera - ak je teda kompromitované HTTPS, útočník do skriptov pridá povedzme posielanie kópie rozšifrovaných údajov kam potrebuje. Je však celkom možné, že analýza, a možno aj implementácia, tohto zbytočného použitia “úplne zbytočného certifikátu” boli v rámci eHealthu dodávateľovi zaplatené.

1 Like

Tu bola o tom reč, ale tiež nič použiteľné.

Možno zamestnanci banky používajú občiansky s čipom na prihlásenie do Windows resp. svojich systémov.