V médiích se to hemží zprávami o tom, jak dvě ostravské firmy "prolomily EET". Reálných informací o případu je minimum, ale ze zveřejněných fragmentů lze docela dobře usuzovat na to, o co šlo. O případu nevím víc, než kolik bylo zveřejněno, a tento článek je tedy čirou spekulací, ovšem založenou na odborných znalostech a zkušenostech.

V první řadě je nutné říct, že "prolomit" EET jako takovou, tedy přimět ji, aby vydala platné potvrzení a platbu přitom nezaevidovala, není téměř s jistotou možné. Ne že by její autoři byli tak geniální, ale úloha je z hlediska informatického natolik triviální. Samotný princip je jednoduchý a založený na osvědčených a důvěryhodných kryptografických postupech. Ostraváci systém EET jako takový nijak neprolomili. Podle všeho prostě jenom neevidovali veškeré tržby.

Nedávno jste již předplatné aktivoval

Je nám líto, ale nabídku na váš účet v tomto případě nemůžete uplatnit.

Pokračovat na článek

Tento článek pro vás někdo odemknul

Obvykle jsou naše články jen pro předplatitele. Dejte nám na sebe e-mail a staňte se na den zdarma předplatitelem HN i vy!

Navíc pro vás chystáme pravidelný výběr nejlepších článků a pohled do backstage Hospodářských novin.

Zdá se, že už se známe

Pod vámi uvedenou e-mailovou adresou již evidujeme uživatelský účet.

Děkujeme, teď už si užijte váš článek zdarma

Na váš e-mail jsme odeslali bližší informace o vašem předplatném.

Od tohoto okamžiku můžete číst neomezeně HN na den zdarma. Začít můžete s článkem, který pro vás někdo odemknul.

Na váš e-mail jsme odeslali informace k registraci.

V e-mailu máte odkaz k nastavení hesla a dokončení registrace. Je to jen pár kliků, po kterých můžete číst neomezeně HN na den zdarma. Ale to klidně počká, zatím si můžete přečíst článek, který pro vás někdo odemknul.

Pokračovat na článek

Jak bych to udělal já? Napadá mne několik možností, které jsou ve své podstatě velmi jednoduché. Zákazníků, kteří si budou ověřovat účtenky EET, je naprosté minimum. Fakticky jediným nebezpečím jsou možné kontrolní nákupy pracovníků finančních úřadů. Jde tedy o to, vydávat účtenky, které budou na první pohled vypadat běžně, ale nebudou evidovány nebo budou evidovány pouze částečně. A udělat vše pro to, abych je nevystavil kontrolorům. Jinými slovy: zasahuji pouze do vlastního pokladního systému, který mám pod svou úplnou kontrolou a s nímž si mohu dělat cokoliv, co uznám za vhodné.

Pro EET jsou na účtence podstatné dva údaje: BKP (bezpečnostní kód poplatníka) a FIK (fiskální identifikační kód). Z hlediska zákazníka jsou to dva náhodné řetězce číslic 0-9 a A-F, jejichž správnost si nemůže automaticky a jednoduše ověřit: leda by je zadal do formuláře na webu MF nebo se zaregistroval do Účtenkovky.

První jednoduché řešení je, že si obě hodnoty pro vytipované účtenky prostě vymyslím, vygeneruji je náhodně. V takovém případě spoléhám na to, že si je nikdo nebude ověřovat a případně pokud ověření proběhne neúspěšně, nebude s tím nic dělat. To je řešení velice primitivní a dle mého názoru příliš riskantní.

Mnohem elegantnější řešení je, že budu tentýž kód používat opakovaně. Pro možnost ověření účtenky v EET je nutné zachovat pouze částku, datum a čas, včetně sekund. Kdybych tedy byl majitelem obchodního řetězce, skladoval bych digitálně všechny vydané účtenky na všech pobočkách (což musím dělat stejně) a jednou vydaný FIK a BKP bych používal opakovaně, pro více účtenek se stejnou částkou, vydaných přibližně ve stejné době.

Částka musí sedět přesně, protože lze předpokládat, že uživatel ví, kolik zaplatil. Je nicméně možné uživateli u většího nákupu cenu o nějakou korunu upravit (dát mu slevu), abych se trefil do správné výsledné částky. Čas nemusí sedět přesně. Realisticky, pokud bude uživatel účtenku ověřovat nebo zadávat do loterie, nebude si pamatovat na minutu přesně, kdy nákup učinil, a i kdyby, bude to pokládat za chybu své paměti nebo si řekne, že měli posunutý čas na pokladně nebo cokoliv.

Tento postup "přežije" ověření na webu MF ČR a jednu registraci do Účtenkovky. Ta je velkolepým neúspěchem a podle dostupných informací ji hraje malé množství "profesionálních" hráčů za okázalé ignorance většiny populace. Běžným zákazníkem je tedy tento postup prakticky neodhalitelný.

Používání stejného kódu pro větší počet transakcí je ale odhalitelné kontrolou finančního úřadu, a to velice snadno – pokud kontroloři na účtenku s podvodnými údaji narazí, protože sami přesně vědí, za kolik a v kolik hodin nakoupili.

Podvodníci proto musí celý systém pečlivě nastavit tak, aby se snažil kontrolu detekovat a pokud možno se při ní neprojevil. Nejsa obchodníkem, nemám s kontrolami EET zkušenosti, ale předpokládám, že ačkoliv není spolehlivý algoritmus, jak kontrolu detekovat, lze se značnou mírou přesnosti odhadnout, který nákup kontrolní není. Podle počtu položek a utracené částky, případně skladby položek. V síti, která má několik desítek prodejen, je snazší takový podvod provést, než v jednom konkrétním obchodě.

Výše uvedené postupy jsou z hlediska programátorského v podstatě triviální, nejedná se o žádný high-tech zločin. Bylo by jistě zajímavé vědět, jak došlo k odhalení citovaného případu, zda to bylo následkem kontroly, nebo zda to bylo na udání. V každém případě je ale dost nesmyslné mluvit o "prolomení EET".