Vidím to optimisticky - všechny uvedené problémy, a že jich není málo, se mi zdají řešitelné.
Speciálně ověřování starých zpráv. Ideu, že by to měl dělat sám systém DS jsem podrobnějí popsal v diskusi http://www.lupa.cz/clanky/sedm-hrichu-datovych-schranek/nazory/279204/vlakno/#o279336
Problém se slabým hashem je zde řešitelný tím, že by se použil silný.
Na běžné hashe jsou kladeny nároky, které zde zapotřebí nejsou:
- Musí se vypočítat rychle, protože se zpravidla počítají synchronně v okamžiku odeslání a uživatel na to čeká.
- Musí být krátké, aby se vzápětí daly rychle podepsat.
1. V systému DS lze hashe počítat náročným algoritmem během 90 dnů kdy je zpráva k dispozici třeba v noci (v této době hash potřeba není, lze použít celou zprávu).
2. Hash nemusí být krátký, může být úměrný dálce zprávy (která je omezená).
3. Možnost prolomení lze trochu snížit tím, že algoritmus nebude veřejný (podobně jako u autentizačních kalkulátorů). Hashe se mohou uchovávavat pouze interně v systému DS a ověření bude probíhat také pouze interně.
Měl by to ovšem bejt algoritmus známý, používaný, neprofláknutý, a nikoliv nějakej bastl na koleně, protože to, třeba v šifrování, vždycky jenom špatně dopadlo, a bylo to vzápětí prolomený (především proto, že to byla mnohdy šifra velmi ubohá, příp. se tomu ani šifrování říkat nedalo, spíš takový jako kódování). A spoléhat se jenom na "utajení" algoritmu je hloupost.
A kdyby to bylo navíc víc hashů najednou, najednou jsme někde jinde...
1) kde najdete v dokumentaci nebo otevřeném zdroji informaci o tom, že systém archivuje obálky ? Nebo je to jen smyšlenka autorů
2) i kdyby schránky archivovali obálku, lze zprávu jen s obtížemi rekonstruovat, protože 1 hash je vypočítána nad celou obálkou i s přílohami, tzn. musíte zprávu přesně zrekonstruovat a přílohy dát přesně za sebou, pří počtu od 5 výše je to docela náročné. A kde jsou přílohy ? Pokud musím archivovat přílohy, pak už si zprávu zarchivuji samozřejmě také
3)zpráva i obálka je zaručena pouze časovým razítkem, instituconalizace archívu je zbožným přáním provozovatele, nicméně jaký bude mít provozovatel důkaz o integritě zprávy (prošlé razítko)? Kdo zaručí, že zprávu někdo nepodvrhl ?
4) Co znamená slabá HASH ? Předpokládám, že se používá alg. SHA2, časové autority ho začnou používat od 1.1., v současné době lepsí řešení neexistuje
Můj dílčí závěr (který si snad v této dikusi mohu dovolit): špatně technicky provedené řešení návrhu datové zprávy. A to by se dali najít i další argumenty.
Ad 1) Zdá se, že nikde, ale traduje se to. To nevadí, nebavíme se zde o současném stavu, ale o návrhu, jak to udělat lépe.
Ad 2) O rekonstrukci není v návrhu řeč. Uživatel by musel při žádosti o ověření odeslal do systému DS celou původní zprávu znovu.
Ad 3) Dle hashe systém DS pozná, že zpráva je identická, jako kdysi, když prošla systémem poprvé a v databázi o tom najde další údaje. Další důkaz nepotřebuje, důvěryhodnost systému je zaručena zákonem (to snad už musí být i pro nynější stav).
Ad 4) Slabý hash by např. měl délku 1B (pak zhruba každá 256. náhodná zpráva je k nerozeznání od originálu). Silný hash je třeba identická kopie původní zprávy. No a pak je spousta variant mezi tím.
Zde je podstatné, že na délce ani době výpočtu zase tak nezáleží.
Více standardních hashů je asi rozumné řešení.
3) 4) Dnes nemáte šanci podepsat tak, aby to bylo za 10 let jakkoliv věrohodné. Ani si žádný takový hash nemůžete uschovat pro případ potřeby. Jakýkoliv současný hash může být za 10 let směšnou hračkou, kterou dokáže podvrhnout kdokoliv.
Security through obscurity (utajení algoritmu hashe) není rozumným řešením. Pouze u veřejně známých hashů existuje jakási dočasná záruka jejich neprolomitelnosti, daná stovkami kryptologů po celém světě, které je zkoumají.
Jakmile zpráva jednou opustí zaručeně autorizované prostředí, existuje jediné právně a technicky čisté řešení věrohodnosti dokumentů: Pravidelné znovuověření všech dokumentů a jejich digitálních podpisů u autority, a to vždy ještě před expirací jejich podpisů. Ta vytvoří nový digitální podpis, který ověří původní dokument s jeho posledním podpisem, a vše opatří časovou značkou.
Ověření pak znamená vybalení dokumentu a postupné ověření celého řetězu podpisů, vždy k datu, kdy byly podepsány novým podpisem.
Jedná o poněkud křehký postup, který spoléhá na to, že nikdy nikdo nezaspí, a že od právního zpochybnění hashe až po jeho zlomení uplyne více než rok. Zatím to vždy byla pravda, žádný blesk z čistého nebe se nikdy nekonal.
Více standardních hashů je jen oddálením případného průšvihu o dobu mezi prolomením hashe a nalezením kombinované kolize dvou prolomených hashů.
Jediný hash, který je prokazatelně neprolomitelný v jakkoliv vzdálené budoucnosti, je identická kopie zprávy, tedy v podstatě přeměna datových schránek na ověřené úložiště, kde se všechny dokumenty skladují navždy.
Za datum a obsah uložené zprávy v úložišti úplných dokumentů ručí systém nekryptografickými prostředky, svým ověřeným digitálním podpisem je opatřuje až při vyzvednutí.
Ani si žádný takový hash nemůžete uschovat pro případ potřeby. Jakýkoliv současný hash může být za 10 let směšnou hračkou, kterou dokáže podvrhnout kdokoliv. MD5 je tady dlouho, a i když v něm byly zjištěny kolize, znamená to pouze, že je možnost vyrobit nějaký soubor se stejným hashem jako měla předloha, ale nikoliv s konkrétním volitelným obsahem, který by mohl útočníkovi přinést nějaký prospěch. Takže já bych se toho směšného podvrhávání kýmkoli nebál, dnešní jednosměrné hashe jsou rozhodně trvanlivější, než je expirační doba digitálního podpisu. Zvlášť kdyby se obálka datové zprávy udržovaná v ISDS doplňovala otisky více různých algoritmů, jak navrhuje Martin Pištora, a to pro každý přiložený soubor datové zprávy zvlášť, jak jsem navrhoval 7.7.2009.
Oporu v zákoně to sice nemá, ale ten se beztak bude muset změnit.
Hashovací algoritmus by ovšem neměl být tak složitý, aby ho IDSD musel počítat po nocích 90 dní, kontrolní otisk souboru přijatého z DS by si každý měl mít možnost zkontrolovat na svém počítači sám nějakou utilitkou. Porovnáním otisku s tím, co vidí po přihlášení k datové schránce, by se prokazovala jeho identita s tím, co bylo odesláno. Žádný digitální podpis ani časové razítko by nebylo potřeba, neboť ISDS by svou vlastní autoritou garantoval obálkové údaje Date: From: To: Subj: a pro každou přílohu zvlášť ještě její název, velikost a kontrolní otisky.
Už dnes existují příklady kolizí, kdy se v dokumentu pozmění pár bajtů, aniž by se MD5 součet změnil.
K dokumentu lze velmi pravděpodobně vytvořit dostatečnou datovou nebo slovní vatu na to, aby se v důležité části změnilo přesně to, co chcete, a jak chcete, a MD5 zůstalo zachováno. To, že to zatím cíleně neumíme ani s MD5, neznamená, že to za 10 let nebudeme umět třeba i se SHA1.
Prolomení nemusí přinést jen nárůst výpočetní síly, ale i nové objevy v kryptologii. Pak padne nejenom věrohodnost hashovacího algoritmu, ale i všech dokumentů, u nichž nelze nijak prokázat, že byly digitálně podepsané před datem prolomení šifry.
To že jsou dnešní zákonem stanovené jednosměrné hashe trvanlivější, než je expirační doba digitálního podpisu, to je podmínka nutná k implementaci.
Záruku na 10 let vám však nikdo na dnešní algoritmy nedá.
Pokud mi na disku leží prokazatelně 15 let starý soubor chráněný MD5 otiskem, mohu jeho věrohodnosti věřit. Pokud nemohu nijak prokázat, že je skutečně tak starý, věřit mu nebudu.
No ano, datové zprávy by musely být identifikovány aspoň jedním právnicky uznávaným hashovacím algoritmem. V případě končící platnosti SHA-2 by museli uživatelé datových schránek ty soubory, jejichž platnost chtějí i nadále moci prokazovat, znovu nahrát do ISDS. Ten by si na základě shody uploadovaného souboru s dosud uznávaným otiskem SHA-2 ověřil jeho identitu, a pak by obálku příslušné datové zprávy doplnil dalším otiskem podle novějšího algoritmu, třeba SHA-3.
Nutnost přehašovat archivované dokumenty po každém objevení slabin v kryptoalgoritmu (jednou za deset let?) je sice nepříjemná, ale ne tak moc, jako každoroční přepodepisování nebo časové přerazítkování nutné ve stávajícím systému.
To ovšem souvisí s tím, jak dlouho je považován digitální podpis za platný.
Pokud zákon uzná a úroveň znalostí a techniky dovolí, lze při korektním hashi 10 letech starou zprávu považovat za ověřenou, pokud je v ISDS uložen její hash.
Pak lze definovat expiraci klíče pro ověřování starých zpráv na delší hodnotu.
Je zde problém, že tu dobu nejsme schopni zaručit. SHA2 může být neprolomitelná 50 let, ale také jen 5 let, nicméně v případě ISDS jsou všichni povinni vyzvednout zprávy do 10 dnů, takže je možné případné oznámení: „Do roka a do dne jste povinni znovuověřit všechny dokumenty vydané do…, jinak jejich podpis pozbyde platnost.“
Vidím to pesimisticky. Vaše návrhy předpokládají změny na straně zřizovatele. Zásadní problém datových schránek je v tom, že jejich zřizovatel o problémech nechce slyšet, bagatelizuje je a nehodlá ani diskutovat o změnách.
Takže váš návrh je fajn, podobných je tu spousta, ale problém skutečně není v tom, že by se nevědělo jak - problém je v tom, že zodpovědné osoby nechtějí nic měnit.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).