KSeF nie zostanie po prostu wyrzucony do kosza przez Unię Europejską. Znacznie bardziej prawdopodobny jest inny scenariusz: polski system będzie musiał zostać przebudowany tak, aby jego format danych i mechanizm raportowania dało się pogodzić z europejską normą EN 16931 oraz nowymi regułami cyfrowego raportowania VAT.
Nie oznacza to, że Unia nakaże Polsce zastąpić KSeF siecią Peppol. ViDA nie ustanawia Peppolu jedynym dopuszczalnym kanałem przesyłania faktur. Wymusza jednak interoperacyjność oraz zgodność przynajmniej zasadniczej części danych z europejskim modelem semantycznym.
Peppol stanie się więc dla KSeF przede wszystkim technicznym kontrastem. Pokaże, że elektroniczna wymiana faktur może funkcjonować w rozproszonej sieci niezależnych punktów dostępowych, bez jednej obowiązkowej bramki kontrolującej cały obrót krajowy.
Ten kontrast ma ogromne znaczenie dla oceny architektury bezpieczeństwa KSeF. W szczególności dla czterech faktów, które wykazałem w opublikowanych audytach infrastruktury oraz analizie jawnej dokumentacji Ministerstwa Finansów.
Cztery fakty o KSeF
Wokół KSeF narosło dużo propagandy, półprawd i technicznej mgły. Sedno problemu można jednak sprowadzić do czterech faktów.
1. Bramkę KSeF obsługuje zagraniczna Imperva
Produkcyjne API KSeF działa za chmurową warstwą CDN/WAF firmy Imperva. Potwierdzają to niezależne i powtarzalne audyty techniczne: rekordy DNS prowadzące do domen Impervy, adresy IP należące do jej infrastruktury, charakterystyczne pliki cookie Incapsula oraz nagłówki odpowiedzi, w tym wprost „X-CDN: Imperva”. Te same sygnatury pojawiają się również w zgłoszeniach użytkowników oficjalnego repozytorium KSeF.
Imperva była firmą amerykańską, a od grudnia 2023 roku należy do francuskiej grupy Thales. Thales sam przedstawia się jako koncern działający w dziedzinie obronności, bezpieczeństwa, lotnictwa, przestrzeni kosmicznej, cyberbezpieczeństwa, ochrony danych i tożsamości cyfrowej. Po przejęciu Impervy grupa uzyskała kontrolę nad jej systemami WAF, ochrony API, analizy danych oraz cyberwywiadu.
Nie jest to zwykła firma hostingowa ani lokalny wykonawca administracji. To jeden z największych światowych koncernów zbrojeniowych i cybernetycznych, budujący narzędzia obserwacji, analizy wielkich zbiorów danych, zabezpieczania systemów wojskowych i ochrony informacji. Są to dokładnie te same klasy technologii, na których opiera się współczesny wywiad — w tym wywiad gospodarczy.
Moje audyty sieciowe wykazały także wykorzystanie izraelskiego zaplecza analitycznego Impervy. Firma została założona przez izraelskich specjalistów od cyberbezpieczeństwa, zachowała w Izraelu istotną część zaplecza technologicznego, a opublikowane trasy techniczne prowadziły również do infrastruktury powiązanej z tym zapleczem.
W efekcie na drodze między polskim podatnikiem a Ministerstwem Finansów znajduje się firma amerykańskiego pochodzenia, należąca do francuskiego koncernu zbrojeniowo-cybernetycznego i korzystająca także z infrastruktury analitycznej w Izraelu.
2. Imperva widzi metadane faktur w JSON
Oficjalna dokumentacja API 2.0 KSeF przewiduje zwracanie rozbudowanych metadanych faktur w formacie JSON. Nie chodzi o niewinne dane techniczne typu rozmiar pakietu albo czas połączenia.
Przykładowa odpowiedź oficjalnego endpointu ‘POST /invoices/query/metadata’ zawiera między innymi:
- numer KSeF;
- numer faktury nadany przez wystawcę;
- datę wystawienia;
- datę przyjęcia faktury do KSeF;
- datę jej trwałego zapisania;
- NIP i pełną nazwę sprzedawcy;
- NIP lub inny identyfikator oraz pełną nazwę nabywcy;
- dokładną kwotę netto;
- dokładną kwotę VAT;
- dokładną kwotę brutto;
- walutę;
- typ faktury;
- sposób wystawienia;
- kod i wersję schematu;
- skrót kryptograficzny faktury.
Taki model odpowiedzi wraz z przykładowymi wartościami został oficjalnie opublikowany wprost przez Ministerstwo Finansów.
KSeF wykorzystuje również plik ‘_metadata.json’ dołączany do paczek eksportowanych faktur. Oficjalna dokumentacja wyjaśnia, że zawiera on tablicę obiektów ‘InvoiceMetadata’ — tego samego typu, który zwraca endpoint wyszukiwania metadanych.
Oznacza to, że przez API znajdujące się za WAF-em Impervy przechodzą czytelne rekordy opisujące faktury zgromadzone w KSeF. Po terminacji TLS są one dostępne dla warstwy Impervy w jawnej postaci JSON.
Zadaniem platforma WAF jest odszyfrowywanie, analizowanie, klasyfikowanie i filtrowanie ruchu. Imperva sama opisuje tworzenie logów zdarzeń, integracje logowe oraz usługę Attack Analytics, która gromadzi i koreluje informacje pochodzące z chmurowych i lokalnych systemów WAF. Firma informuje również o przechowywaniu logów zdarzeń oraz o możliwości maskowania i haszowania danych przetwarzanych przez Cloud WAF.
Nie jest publicznie znana dokładna konfiguracja logowania zastosowana dla KSeF — w szczególności okres retencji oraz zakres zapisywania pełnego body odpowiedzi. Nie zmienia to faktu podstawowego: Imperva otrzymuje te dane w postaci jawnej i może je analizować podczas obsługi ruchu.
Technicznie nie stanowi to dla niej żadnego wyzwania. Przetwarzanie danych o fakturach całej polskiej gospodarki byłoby ułamkiem promila mocy globalnej infrastruktury firmy obsługującej dziesiątki miliardów zdarzeń i pakietów.
3. Pełna faktura wraca z KSeF bez dodatkowego szyfrowania
To najważniejszy i najczęściej pomijany fakt.
Podczas wysyłania faktury od podatnika do KSeF dokument jest dodatkowo szyfrowany na poziomie aplikacyjnym. Klient szyfruje treść faktury kluczem symetrycznym, a sam klucz zabezpiecza kluczem publicznym Ministerstwa Finansów.
W tym kierunku Imperva może zakończyć połączenie TLS i zobaczyć warstwę HTTP, ale właściwa treść przesyłanego dokumentu pozostaje dla niej szyfrogramem.
Wiele osób zatrzymuje analizę właśnie w tym miejscu i ogłasza, że faktury są bezpieczne. Pomija jednak drogę powrotną.
Oficjalna dokumentacja przewiduje pobieranie pojedynczej faktury za pomocą endpointu: ‘GET /invoices/ksef/{ksefNumber}’
Odpowiedzią jest pełna faktura o typie ‘application/xml’. Dokumentacja API nie przewiduje dla tej odpowiedzi żadnej dodatkowej koperty kryptograficznej, zaszyfrowanego klucza, wektora inicjalizującego ani aplikacyjnego szyfrowania dokumentu. Serwer zwraca po prostu treść faktury XML.
Oczywiście transmisja internetowa nadal odbywa się przez HTTPS. Odpowiedź jest więc zaszyfrowana w czasie przesyłania między poszczególnymi punktami sieci.
Problem polega na tym, że połączenie TLS nie prowadzi bezpośrednio z serwera Ministerstwa Finansów do komputera podatnika. Kończy się na infrastrukturze Impervy.
Sama dokumentacja Impervy wyjaśnia zasadę działania jej Cloud WAF: ruch HTTPS przychodzi do Impervy, tam połączenie TLS zostaje zakończone, dane są odszyfrowywane, analizowane i filtrowane, a następnie mogą zostać przekazane dalej w osobnym połączeniu.
W praktyce droga pobieranej faktury wygląda więc następująco: Ministerstwo Finansów → połączenie do Impervy → odszyfrowanie i analiza na WAF → nowe połączenie TLS → podatnik.
Pojedyncza faktura pobierana z KSeF nie jest dodatkowo zaszyfrowana na poziomie aplikacyjnym. Po zakończeniu TLS na WAF pełny XML występuje w postaci jawnej. Imperva może wtedy zobaczyć wszystkie pozycje faktury: nazwy towarów i usług, ceny jednostkowe, ilości, rabaty, terminy, numery zamówień, rachunki bankowe, opisy oraz inne szczegóły handlowe.
Istnieje wprawdzie drugi mechanizm — asynchroniczny eksport paczek faktur. W jego przypadku podatnik przekazuje KSeF informacje o szyfrowaniu i wygenerowana paczka zostaje zaszyfrowana. Nie zmienia to działania endpointu służącego do pobierania pojedynczej faktury. Oficjalna dokumentacja rozróżnia te dwie ścieżki bardzo wyraźnie: pojedyncza faktura wraca jako XML, a szyfrowanie jest wymagane przy eksporcie paczki.
Wystarczy więc, że program księgowy, aplikacja podatnika albo użytkownik pobiera pojedyncze faktury przez standardowy endpoint. Ich pełna treść przechodzi wtedy w postaci jawnej przez silnik WAF Impervy po terminacji TLS.
To nie jest domysł oparty na nieznanej konfiguracji Ministerstwa Finansów. Wynika bezpośrednio z zestawienia trzech jawnych elementów:
- domena API KSeF prowadzi przez Impervę;
- Cloud WAF Impervy kończy TLS i analizuje odszyfrowany ruch;
- KSeF zwraca pojedynczą fakturę jako zwykły XML bez dodatkowego szyfrowania aplikacyjnego.
Wniosek jest technicznie jednoznaczny.
4. Polska stworzyła architekturę bez znanego odpowiednika
KSeF nie jest pierwszym państwowym systemem e-fakturowania. Podobne rozwiązania działają między innymi we Włoszech, Rumunii, Meksyku, Grecji i w wielu państwach Ameryki Łacińskiej oraz Azji.
Wyjątkowość Polski nie polega więc na samym centralnym gromadzeniu faktur. Polega na sposobie zabezpieczenia publicznej bramki prowadzącej do tego systemu.
W przeprowadzonych przeze mnie audytach porównawczych nie znalazłem drugiego kraju, który oddałby chmurową terminację TLS i warstwę WAF centralnego, obowiązkowego systemu gromadzenia faktur firmie pozostającej pod kontrolą zagranicznego koncernu zbrojeniowego i cybernetycznego.
Wszystkie inne państwa świata stosowały przynajmniej jedno z następujących rozwiązań:
- własną infrastrukturę administracji podatkowej;
- operatora kontrolowanego przez dane państwo;
- rodzimą firmę podlegającą krajowej jurysdykcji;
- WAF działający lokalnie, w architekturze on-premise;
- urządzenia i oprogramowanie pozostające pod bezpośrednią kontrolą administratora państwowego systemu;
- rozproszoną sieć certyfikowanych operatorów.
Precyzyjny język audytu wymaga zaznaczenia, że nie istnieje światowy, kompletny rejestr konfiguracji wszystkich państwowych firewalli. Można jednak stwierdzić rzecz mocną i sprawdzalną: Polska pozostaje jedynym znanym i technicznie udokumentowanym przypadkiem oddania takiej pozycji obserwacyjnej zagranicznej usłudze Cloud WAF.
Gdyby ktoś znał drugi taki przypadek, może podać nazwę systemu, domenę, operatora i dowody terminacji TLS. Dotychczas nikt tego nie zrobił.
Czym jest ViDA
ViDA — VAT in the Digital Age — to unijny pakiet reform dotyczących elektronicznych faktur, cyfrowego raportowania transakcji, gospodarki platformowej i rejestracji podatników VAT.
Dla KSeF najważniejsze są zmiany w e-fakturowaniu oraz cyfrowym raportowaniu transakcji transgranicznych.
Od 1 lipca 2030 roku transgraniczne transakcje B2B w Unii mają zostać objęte nowymi obowiązkami raportowania opartymi na fakturach elektronicznych. Państwa posiadające wcześniejsze krajowe systemy raportowania w czasie rzeczywistym otrzymały czas na ich dostosowanie do 1 stycznia 2035 roku.
ViDA nie nakazuje Polsce likwidacji KSeF ani przyjęcia Peppolu jako jedynego kanału wymiany. Dyrektywa pozostawia państwom możliwość dopuszczania innych standardów dla transakcji krajowych. Wymaga jednak interoperacyjności oraz zgodności unijnych faktur z europejskim standardem semantycznym.
Podatnik ma też zachować możliwość wyboru sposobu wystawiania i przesyłania faktur — samodzielnie, przez podmiot trzeci albo, gdy państwo taki mechanizm udostępni, przez portal publiczny.
To bardzo ważne!
ViDA nie zlikwiduje automatycznie polskiej centralizacji. Dostarczy jednak modelu porównawczego, dzięki któremu będzie można dokładniej oddzielić funkcje potrzebne do rozliczania VAT od funkcji służących budowaniu centralnego grafu gospodarki.
Opis reform DRR (Digital Reporting Requirements) podkreśla, że państwa mogą utrzymać własne modele raportowania, byle spełniały wymogi czasowe (near real time), strukturalne (EN 16931) i interoperacyjne. To nie wymusza likwidacji centralnych systemów, ale ujawnia, gdzie centralizacja wykracza poza minimum potrzebne do raportowania VAT.
EN 16931 — wspólny język faktur
EN 16931 określa europejski semantyczny model faktury elektronicznej. Definiuje znaczenie najważniejszych danych, ich relacje oraz zasady pozwalające systemom informatycznym interpretować dokument w ten sam sposób.
Nie jest to po prostu jeden obowiązkowy plik XML. Norma opisuje przede wszystkim logiczny model danych, który może zostać zapisany przy użyciu różnych dopuszczonych składni.
Peppol BIS Billing 3.0 jest praktyczną specyfikacją opartą na EN 16931. Faktura zgodna z Peppol BIS zawiera pełne dane handlowe: strony transakcji, pozycje, ceny, podatki, kwoty, terminy płatności i identyfikatory.
W dokumentach opisujących EN 16931 w kontekście ViDA wskazuje się, że państwa mogą utrzymać własne rozwiązania krajowe dla transakcji wewnętrznych, o ile spełnią wymogi DRR dla obrotu wewnątrzunijnego i zapewnią możliwość przyjmowania faktur zgodnych z EN 16931 tam, gdzie jest to wymagane.
ViDA nie jest więc projektem ograniczenia ilości informacji przekazywanych administracji. Unia również chce otrzymywać szczegółowe dane o transakcjach.
Różnica między KSeF a modelem europejskiej interoperacyjności leży gdzie indziej — w topologii systemu, sposobie koncentracji informacji oraz kontroli nad punktami pośrednimi.
Peppol — model czterech narożników
Peppol opiera wymianę dokumentów na modelu czterech narożników.
Pierwszym narożnikiem jest wystawca faktury. Drugim — wybrany przez niego dostawca punktu dostępowego. Trzecim — dostawca odbiorcy. Czwartym — odbiorca dokumentu.
Wystawca i odbiorca nie muszą korzystać z tej samej firmy. Każdy może wybrać własnego certyfikowanego operatora, a operatorzy komunikują się według wspólnych standardów. OpenPeppol porównuje tę zasadę do sieci telefonicznych, w których klient jednego operatora może połączyć się z klientem innego operatora.
Peppol nie eliminuje pośredników i nie zapewnia automatycznie szyfrowania end-to-end, które ukrywałoby treść dokumentu przed punktami dostępowymi. Operatorzy nadal przetwarzają faktury.
Rozprasza jednak zaufanie i władzę!
Nie istnieje jeden prywatny operator, przez którego musi przejść każdy dokument całej gospodarki. Przedsiębiorcy mogą zmieniać usługodawców, operatorzy konkurują, a awaria lub nadużycie jednego podmiotu nie daje mu automatycznego wglądu w cały rynek.
KSeF działa odwrotnie. Państwo ustanawia jeden obowiązkowy hub, skupiający wystawianie, przyjmowanie, walidowanie, numerowanie, archiwizowanie, wyszukiwanie i pobieranie dokumentów. Następnie przed tą superbramką stawia chmurowy WAF zagranicznej firmy.
Model pięciu narożników
Trzeba jednak dodać zastrzeżenie, którego nie można pominąć w uczciwej analizie. Model czterech narożników nie jest ostatnim słowem ewolucji tej sieci w kontekście ViDA. Od grudnia 2024 roku OpenPeppol prowadzi pilotaż modelu pięciu narożników, w którym administracja podatkowa staje się piątym, aktywnym uczestnikiem wymiany i otrzymuje w czasie zbliżonym do rzeczywistego raport z każdej transakcji. Belgia wprowadza ten model od 1 stycznia 2028 roku: każda faktura będzie tam automatycznie raportowana do organu podatkowego FPS Finance jako piąty narożnik. Ta ewolucja jest bezpośrednią odpowiedzią infrastrukturalną na wymogi cyfrowego raportowania — a więc dokładnie na ten sam kontekst regulacyjny, o którym mowa w tym tekście.
Opis pięciokąta w sieci Peppol pojawia się wprost w dokumentacji prezentującej pilotaże ViDA Tax Data Document, gdzie access pointy mają równolegle dostarczać dane do administracji podatkowej.
Nie unieważnia to kontrastu z KSeF. Zmienia jednak jego dokładne granice.
Co ViDA zmieni w KSeF
Pierwsza zmiana dotknie warstwy danych. Polska może zachować własny schemat FA i zbudować mapowanie do EN 16931, dopuścić kilka formatów równolegle albo przebudować sam model faktury.
Własny polski XML nie musi więc zniknąć. Im bardziej będzie jednak odbiegał od europejskiego modelu, tym bardziej kosztowna stanie się warstwa konwersji, walidacji i utrzymywania krajowych wyjątków.
Druga zmiana dotyczy rozdzielenia faktury handlowej od raportowania fiskalnego. W europejskim modelu dokument może być przesyłany pomiędzy kontrahentami przez wybranych operatorów, a odpowiednie dane mogą trafiać do administracji osobnym kanałem albo za pośrednictwem dostawcy usług.
KSeF stapia te funkcje. Państwowa bramka jest jednocześnie drogą dostarczenia dokumentu, miejscem jego walidacji, centralnym repozytorium, archiwum, wyszukiwarką oraz źródłem urzędowego numeru.
Trzecia zmiana będzie miała charakter polityczny. Wraz z rozpowszechnieniem EN 16931 łatwiej będzie porównywać krajowe systemy i zadawać pytania o każdą dodatkową warstwę przetwarzania.
- Dlaczego faktura musi przechodzić przez centralny państwowy hub?
- Dlaczego pełna treść pobieranej faktury ma być odszyfrowywana na WAF zagranicznej firmy?
- Dlaczego metadane całego obrotu objętego KSeF są zwracane jako jawny JSON przez tę samą bramkę?
- Dlaczego Ministerstwo Finansów nie zastosowało własnego WAF-u albo rozwiązania on-premise?
- Dlaczego Polska podjęła ryzyko, którego nie podjęły inne badane państwa?
Co ViDA oznacza dla moich ustaleń
- ViDA nie podważa żadnego z czterech faktów.
- Nie zmienia operatora bramki KSeF. Nadal jest nim Imperva należąca do Thalesa.
- Nie szyfruje dodatkowo metadanych JSON. Nadal po terminacji TLS są one jawne dla WAF-u.
- Nie wprowadza szyfrowania aplikacyjnego dla pojedynczej faktury pobieranej przez ‘GET /invoices/ksef/{ksefNumber}’. Nadal wraca ona jako pełny XML, który na Impervie występuje w postaci odszyfrowanej.
- Nie usuwa wyjątkowości polskiej architektury. Nadal cała obowiązkowa wymiana przechodzi przez jeden centralny system zabezpieczany przez zagranicznego operatora.
ViDA może natomiast uwidocznić, że te elementy nie wynikają z technicznej konieczności e-fakturowania.
EN 16931 wymaga wspólnego znaczenia danych, ale nie wymaga jednego operatora obserwującego całą gospodarkę.
Peppol wymaga pośredników, ale pozwala ich wybierać i rozprasza ich władzę.
Cyfrowe raportowanie wymaga dostarczenia danych administracji, ale nie wymaga oddawania jawnej treści pobieranych faktur zagranicznemu WAF-owi.
Test rzeczywistej funkcji KSeF
ViDA nie będzie testem deklarowanych intencji urzędników. Intencji nie da się jednoznacznie odczytać z kodu programu ani schematu XML. Będzie testem rzeczywistej funkcji architektury.
Jeżeli KSeF da się pogodzić z EN 16931, różnymi operatorami wymiany oraz wyraźnym oddzieleniem dokumentu handlowego od raportu podatkowego, okaże się ciężkim, kosztownym, lecz możliwym do naprawienia systemem fiskalnym.
Jeżeli natomiast każda próba interoperacyjności będzie rozbijać się o konieczność zachowania jednej centralnej bramki, jednego repozytorium i pełnej kontroli nad każdym dokumentem, ujawni to prawdziwy priorytet konstrukcji.
Tym priorytetem jest stworzenie kompletnego i aktualizowanego niemal w czasie rzeczywistym grafu polskiej gospodarki — kto komu sprzedaje, co sprzedaje, za ile, kiedy, jak często i na jakich warunkach.
Taki system ma obiektywnie ogromną wartość fiskalną, polityczną, gospodarczą i wywiadowczą.
Polska zbudowała centralną bazę całego obrotu fakturowego. Następnie pozwoliła, aby na jej brzegu stanęła zagraniczna firma, która kończy szyfrowanie TLS, widzi szczegółowe metadane i otrzymuje jawną treść pobieranych faktur.
ViDA tego problemu automatycznie nie rozwiąże.
Może jednak dostarczyć technicznego kontrastu, dzięki któremu stanie się widoczne, ile centralnej kontroli i potencjału inwigilacyjnego ukryto w KSeF pod neutralnie brzmiącym hasłem cyfryzacji.
Grzegorz GPS Świderski
t.me/KanalBlogeraGPS
Twitter.com/gps65