čtvrtek 18. srpna 2022

SRP: Kladivo na datové schránky

Jako fyzické osobě mi hrozí, že pro mne bude proti mé vůli ministerstvem vnitra zřízena Datová schránka hned, jakmile se v roce 2023 poprvé přihlásím do Portálu občana prostřednictvím MojeID nebo Bankovní identity. A to ze všemi riziky, které z toho plynou, především fikce doručení a z ní vyplývající zmeškání možných odvolacích lhůt, pokud se o příchozí zprávě nedozvím např. proto, že můj poštovní systém bude avizo ISDS považovat za spam nebo pokud budu víc než deset dní pobývat bez přístupu ke svému PC. Zamyslel jsem se, jak bych si představoval systém pro prokazovatelně garantované předávání zpráv mezi občany a státní správou.

Předně by bylo třeba vymyslet nový sexy název namísto zprofanovaného Informačního Systému Datových schránek (ISDS), například
Státem Registrovaná Pošta (SRP). Účelem ISDS i SRP je umožnit prokazatelné předání sdělení od odesilatele k příjemci a zároveň trvale zaručit integritu zprávy, tedy zda a kdy ji příjemce obdržel do své schránky v nepozměněné podobě a že oba účastníci jsou schopni doložit znění zprávy soudně akceptovaným způsobem. Obsahem zprávy bývá nějaký výrok, ve smyslu například Stavba se nepovoluje nebo Potvrzuji, že jsem si od vás vypůjčil 10 000 Kč. V elektronické podobě dokumentu by pro zlovolného přijemce nebyl problém editorem pozměnit výrok na Stavba se povoluje, nebo připsat k výši dlužné částky další nulu. Aby k tomu nedocházelo, musí být text zprávy podepsán uznávaným elektronickým podpisem nebo označen uznávanou elektronickou značkou odesilatele či provozovatele ISDS. Každá změna v textu pak způsobí neplatnost podpisu.

Ke kontrole nepozměnění zprávy slouží digitální otisk (hash), tedy řetězec bitů pevné délky vypočítaný z přenášeného textu složitou kryptografickou metodou navrženou tak, aby jakákoli i sebemenší změna textu způsobila velkou změnu výsledného řetězce (jeho zamíchání), a aby nebylo možné z otisku zpětně rekonstruovat původní text. Elektronický podpis či značka pak další kryptografickou metodou zašifruje pouze tento otisk, nikoli celou zprávu. Prokazatelnost integrity (nepozměnění) přenesené zprávy tedy závisí především na kvalitě algoritmu použité metody pro výpočet kontrolního otisku.

Pokud by byl otisk hashovací funkce primitivně krátký, např. jen 32 bitů jako v případě CRC32, pak mezi více než 232=4294967296 různými texty by se nutně daly nalézt nejméně dvě různé zprávy se shodným otiskem (vznikla by kolize). Spočítat a porovnat otisky tolika zpráv není pro dnešní počítače žádný velký oříšek, ovšem náš podvodník by potřeboval nalézt právě zprávu s textem Stavba se povoluje, která bude mít stejný otisk jako mu doručený text Stavba se nepovoluje. A to je problém, neboť každé chybějící či pozměněné písmeno textu s celým otiskem pořádně zamíchá. To by musel současně na jiném místě dokumentu nenápadně pozměňovat jiné znaky, aby vynechání předpony ne při troše štěstí vykompenzoval a dosáhl stejného otisku. A v této bohunelibé činnosti mu systém datových schránek vychází vstříc tím, že datová zpráva může existovat v desítkách různých formátů a obsahovat grafický či skrytý nezobrazovaný obsah. Pak stačí provádět okem nepostřehnutelné změny v souboru s pozměněným textem: poupravit odstín pixelů ve vloženém obrázku, propašovat do textu nadbytečné mezery či jiné netisknutelné znaky, pozměňovat skryté komentáře uvintř dokumentu. Podvodník vyzbrojený rychlým počítačem má mnoho možností jak nenápadně vykompenzovat pozměnění textu.

Aby byla přenášená zpráva odolná proti pozměnění obsahu se zachováním platnosti svého otisku, měla by podporovat pouze formát prostého textu, v němž je každá změna ihned viditelná. Vlastnosti takového bezpečně prostého textu (BPT):

  1. Z netisknutelných znaků (white spaces) smí text obsahovat pouze mezeru a znak pro odřádkování (LF).
  2. Žádné mezery na konci řádku.
  3. Žádné prázdné řádky na začátku a na konci textu.
  4. Počet znaků v každém řádku je omezen, např. na maximálně 80.
  5. Text může obsahovat pouze znaky definované v ASCII a písmena použitého jazyka (žádné nezobrazované nebo snadno opticky zaměnitelné znaky).
  6. Pokud by měl text obsahovat písmena jiných abeced, musí být nejprve transliterována do latinky.
  7. Text by měl být zobrazován neproporcionálním fontem, kde všechny znaky včetně mezery mají stejnou šířku.
Předností BPT je, že každé pozměnění je okem viditelné, ať už je zpráva vytištěna nebo zobrazena na displeji, a že lze v případě potřeby soubor s tímto formátem přesně zrekonstruovat (přepsat z papíru do editoru). Nevýhodou je omezení možnosti formátování pouze na odstavce a odsazování, a také absence obrázkové grafiky a orámovaných tabulek, ale pro případné soudní tahanice je nějaké zvýrazňování tučným písmem nebo změnou fontu naštěstí nepodstatné.
Odesilatel by měl možnost po přihlášení do systému SRP vložit text zprávy buď přímo jako prostý text, anebo nahrát soubor v některém z běžných formátů používaných textovými editory (TXT, RTF, PDF, DOC apod), ze kterého systém automaticky vytvoří prostý BPT a zobrazí jej ke kontrole a schválení. Po výběru adresáta by z něj SRP vypočítal otisky a pak uložil do schránky příjemce spolu s možnými přílohami, které už nemusí být ve formátu BPT. Pokud by odesilatel potřeboval zaštítit autoritou SRP nejen samotné prosté sdělení, ale také autenticitu přiložených souborů, musel by nejprve sám spočítat jejich otisky a ty pak vložit do těla zprávy BPT. Příklad bezpečně prostého textu:

 Věc: Psí bouda    Č.j. 12345/22
Pan Bud Stavebník, Kotěhůlky

 Stavební úřad v Kotěhůlkách rozhodl ve věci vaší žádosti  o stavbu psí boudy takto:
        Stavba se nepovoluje.
Proti tomuto rozhodnutí se můžete odvolat do 30 dnů od doručení.
                                                                 Vyřizuje: Štruncová

Příloha: Projekt.gif, 5 KiB, MD5=5DB3777BEDC907CC1C0824F52316935C

Z této prosté zprávy SRP vypočte otisky pomocí dvou nebo tří hashovacích metod a připojí je k metainformacím (obálce) doprovázejícím datovou zprávu. Dalšími důležitými metainformacemi jsou

  • identifikační číslo datové zprávy
  • identifikace odesilatele a příjemce
  • předmět (stručný obsah sdělení)
  • čas odeslání
  • klasifikace zprávy (služební/informativní/vyžadující reakci)

Provozovatel Státem Registrované Pošty (SRP) by archivoval pouze obálky doručených zpráv. Samotný obsah včetně případných příloh by SRP mohl smazat ze schránek odesilatele i příjemce buď hned po obdržení (dobrovolného) potvrzení příjemcem, že si již obdržené sdělení přečetl a stáhl na svůj počítač, anebo v nejhorším případě po několika měsících až letech, pokud příjem nebyl potvrzen. Archivaci svých zpráv by si tedy zajišťovali účastníci sami a soudně přezkoumatelnou integritu sdělení a jeho nepopiratelnost by zajistila obálka trvale uchovávaná v SRP. Příklad obálky:

Id: 9876543210
Od: Stavební úřad Kotěhůlky
Pro: Bud Stavebník 
Věc: Psí bouda
Čas: 1.4.2023 14:55:59
Tř.: Informativní zpráva
MD5: 104a7db4 0f154e11 f2ad6322 8300fca2
SHA-256: 248d6a61 d20638b8 e5c02693 0c3e6039 a33ce459 64ff2167 f6ecedd4 19db06c1

Obálky přenášených zpráv by SRP předkládal na základě výzvy odesilatele, příjemce nebo soudního orgánu. Kromě toho by každý účastník registrovaný v systému dostával klasickou poštou obálky všech svých zpráv také v listinné podobě, na orazítkovaném papíru; jednou ročně zdarma anebo za poplatek i častěji. V případě pochybností o pravosti sdělení by musel účastník sporu předložit soubor s textem sdělení a zároveň obálku prokazující, kdy a komu bylo sdělení odesláno. Pochybovač by si spočítal otisky souboru a porovnal je s údaji v obálce.

Odeslání registrované zprávy by nemělo být zdarma, ale za poplatek kompenzující provozní náklady, který by se odečetl odesilateli z jeho kreditního účtu vedeného v SRP. Pro zjednodušení by při založení účtu mohl každý účastník bezplatně obdržet počáteční kredit postačující pro odeslání několika málo zpráv. Další kredit by si aktivní účastníci dokupovali dobíjením svého kreditního účtu. V případě zprávy vyžadující odpověď, jako např. výzvy FÚ k doplnění nebo podání daňového přiznání, by odesilatel měl možnost předplatit příjemci odpověď, takže pro nepříliš aktivní fyzické osoby by byla komunikace nadále zdarma. Zpoplatnění odesilatele by naopak odrazovalo od rozesílání nevyžádaných zpráv a nabídek, takže drakonické pokuty ISDS za spam nebo zavirované přílohy nejsou třeba.

Způsob avizování přijatých zpráv by si každý účastník nastavoval s přihlédnutím k jejich klasifikaci:

  • Přeposlání obálky na jednu nebo více e-mailových adres příjemce.
  • Přeposlání celé zprávy včetně příloh na e-mailové adresy příjemce.
  • Zpoplatněné avizo formou SMS, buď ihned po přijetí nové zprávy, anebo až pokud se do několika dnů do systému nepřihlásí.
  • Opakování aviz o nevyzvednuté zprávě po týdnu, po měsíci a před jejím výmazem v SRP.

Proč ověřovat zprávu více hashovacími algoritmy současně? Kryptografie se vyvíjí a časem může dojít k objevení slabých míst (prolomení) některé metody. To je mimo jiné oficiálním důvodem omezené doby platnosti digitálních podpisů a časových razítek (neoficiálním důvodem je zajištění cashflow certifikačních autorit). Například hashovací metoda MD5 je již považována za málo bezpečnou, takže by byla nahrazena metodou SHA-512. Od této chvíle pak budou obálky zpráv nově doplňovány otisky SHA-256 a SHA-512. Ovšem starší sdělení přenesená za doby uznávání algoritmů MD5 a SHA-256 zůstávají stále prokazatelná. Důležité dokumenty, kterými se adresát potřebuje prokazovat dlouhodobě, by mohl v případě vyhlášení změny uznávaných algoritmů nechat v systému znovu autorizovat - stačilo by nahrát archivovanou zprávu a SPR by po kontrole starých otisků vygeneroval novou obálku s aktualizovými metodami.

Legislativa by musela specifikovat metody výpočtu kontrolních otisků, které jsou uznávány v případě soudních sporů a uznávat pravost sdělení, jejichž přenesení SRP dokládá prostřednictvím údajů v obálce, ať už jsou předloženy systémem SRP online nebo vytištěny na jím zaslaném papíru. Systém by měl poskytovat software pro vygenerování bezpečného prostého textu z obvyklých počítačových formátů (TXT, HTML, PDF, RTF apod) a pro výpočet jeho otisku uznávanými metodami (takové open-source utility již existují pro všechny běžné počítačové platformy).

Požadavky na zabezpečení provozu (dostupnost, spolehlivost, archivace) sysému SPR by byly obdobné jako na stávající ISDS nebo na státem uznávané certifikační autority. Výhody vidím především na straně uživatelů:

  1. Autentizace obdobná jako při vstupu do ISDS zaručuje spolehlivou identifikaci korespondujících stran, aniž by si účastnící kvůli tomu museli kupovat a pravidelně certifikovat svůj digitální podpis.
  2. Přenesené dokumenty si účastníci sami archivují, aniž by časem expirovala jejich prokazatelnost (obálkou s otisky sdělení trvale uchovávanými v SRP), není tedy třeba si draze pronajímat Datový trezor ani autorizovaně konvertovat do listinné formy.
  3. I v případě pozdějšího zneuznání některé z použitých hashovacích metod by prokazatelnost zůstala zajištěna dalšími otisky a zůstává možnost dodatečného zabezpečení novější metodou.
  4. Kromě samotného sdělení garantovaného systémem SRP mohou datové zprávy obsahovat další přílohy (obdobně jako v obyčejném e-mailu dle RFC 5322) bez omezení jejich velikosti a formátu, včetně elektronicky podepsaných nebo zašifrovaných souborů. Integritu příloh by SRP negarantoval, ale odesilatel ji může zajistit sám, uvedením jejich otisků v prostém textu garantovaného sdělení.
  5. Papírový výpis obálek s otisky přenesených zpráv umožňuje prokazovat integritu jejich obsahu i v případě momentální online nedostupnosti SRP a dokonce i v případě jeho zkrachování.