Przejdź do treści

Technologia i Integracja Systemów (IT & API)5 min czytania

Szyfrowanie i bezpieczeństwo danych w API KSeF - jak faktycznie działa ochrona e-faktur

Szyfrowanie w API KSeF to proces objęcia faktury XML kryptografią asymetryczną z użyciem certyfikatu kwalifikowanego zgodnie z art. 16 ust. 1 ustawy o Krajowym Systemie e-Faktur. System wykorzystuje zaawansowane mechanizmy autoryzacji, w tym token JWT ważny 10 min oraz 10-letni okres archiwizacji z ograniczonym dostępem, co gwarantuje nienaruszalność przesyłanych dokumentów. Każda faktura ustrukturyzowana otrzymuje unikalny numer identyfikacyjny (ID KSeF) o długości 32 znaków, który potwierdza jej wprowadzenie do obrotu prawnego. Dane przetwarzane w systemie są objęte tajemnicą skarbową, a nadzór nad ich bezpieczeństwem sprawuje Szef Krajowej Administracji Skarbowej. Token JWT vs certyfikat - który klucz otwiera KSeF?

Token JWT vs certyfikat - który klucz otwiera KSeF?

Tekst opracowany z wykorzystaniem sztucznej inteligencji. Zasady i ograniczenia

Autoryzacja w ramach API KSeF 2.0 opiera się na wielopoziomowym systemie weryfikacji tożsamości podatnika, zarządzanym przez Centrum Informatyki Resortu Finansów. W przeciwieństwie do uproszczonych metod znanych z wersji testowych, środowisko produkcyjne wymaga stosowania precyzyjnych narzędzi kryptograficznych o określonym cyklu życia. Powszechnym błędem jest założenie, że certyfikat kwalifikowany służy do każdorazowego podpisywania sesji. W rzeczywistości certyfikat jest wykorzystywany głównie do nawiązania bezpiecznego połączenia i wygenerowania tokenów sesyjnych, które mają rygorystyczne ograniczenia czasowe.

Zarządzanie dostępem do systemu opiera się na dwóch rodzajach tokenów: accessToken oraz refreshToken. Token dostępowy (accessToken) posiada okres ważności wynoszący dokładnie 10 min, po czym wygasa bezpowrotnie. Token odświeżający (refreshToken) pozwala na przedłużenie sesji przez okres 7 dni bez konieczności ponownego użycia certyfikatu kwalifikowanego lub Profilu Zaufanego. Sam certyfikat kwalifikowany wydawany przez centra certyfikacji ma maksymalny okres ważności wynoszący 2 lata. Potem musisz od nowa przejść proces certyfikacji.

MechanizmCzas życiaKonsekwencja opóźnienia
accessToken (JWT)10 minutBłąd 401 i konieczność odświeżenia sesji
refreshToken7 dniWygasnięcie sesji i wymóg ponownej autoryzacji certyfikatem
Certyfikat kwalifikowany2 lataUnieważnienie dostępu do API i konieczność zakupu nowego klucza

Scenariusz, w którym token JWT ulega przejęciu przez nieuprawniony podmiot, aktywuje procedury bezpieczeństwa przewidziane przez Ministerstwo Finansów. W przypadku incydentu typu token-wyciek-przestępca, ryzyko dotyczy przede wszystkim nieautoryzowanego wglądu w dane o obrocie firmy. Przykładowo, jeśli duży podmiot (obrót powyżej 200 mln zł) utraci kontrolę nad aktywnym tokenem bez wdrożonej weryfikacji dwuetapowej (2FA), niepowołana osoba może uzyskać dostęp do faktur o wysokiej wartości. W takiej sytuacji Urząd Skarbowy wzywa w 24 h do wyjaśnienia nieprawidłowości w ramach czynności sprawdzających, co wymusza natychmiastowe unieważnienie wszystkich aktywnych uprawnień w module ZAW-FA.

RODO w KSeF - przedsiębiorca nadal jest administratorem danych

RODO (rozporządzenie o ochronie danych osobowych) to zestaw przepisów UE (2016/679) regulujących zasady przetwarzania danych osób fizycznych, który w pełni stosuje się do faktur ustrukturyzowanych zawierających dane osób prowadzących działalność gospodarczą.

Przesyłanie faktur do Krajowego Systemu e-Faktur nie zdejmuje z przedsiębiorcy statusu administratora danych osobowych w rozumieniu art. 4 pkt 7 RODO. Faktura XML zawiera pola uznawane za dane wrażliwe lub chronione, w tym numer NIP, imię i nazwisko przedsiębiorcy oraz szczegółowy adres prowadzenia działalności, który często jest tożsamy z adresem zamieszkania. Integracja KSeF z systemami zewnętrznymi wymusza na właścicielu firmy stosowanie środków technicznych chroniących dane przed wyciekiem. Niezastosowanie się do tych wymogów skutkuje sankcjami finansowymi nakładanymi przez PUODO, gdzie kary mogą sięgać do 4 % obrotu rocznego przedsiębiorstwa.

W celu spełnienia obowiązku informacyjnego wynikającego z art. 13 RODO, przedsiębiorca musi powiadomić kontrahentów o zmianie modelu obiegu dokumentów. Wystarczy wkleić poniższy tekst do regulaminu świadczenia usług lub stopki faktury: "Zgodnie z art. 13 ust. 1 i 2 RODO informujemy, że dane osobowe zawarte w fakturach są przetwarzane w celu realizacji obowiązków podatkowych i archiwizowane w Krajowym Systemie e-Faktur (KSeF). Administratorem danych pozostaje wystawca faktury, natomiast Szef Krajowej Administracji Skarbowej pełni rolę administratora systemu centralnego. Dane będą przechowywane przez okres 10 lat, a odbiorcą danych jest administracja skarbowa w celu weryfikacji rozliczeń podatkowych. Przysługuje Państwu prawo dostępu do danych, ich sprostowania oraz ograniczenia przetwarzania".

  • Cel przetwarzania: realizacja obowiązków ustawowych w zakresie dokumentowania sprzedaży i rozliczeń podatkowych.
  • Okres przechowywania: obligatoryjne 10 lat w centralnym repozytorium Ministerstwa Finansów.
  • Odbiorca danych: Krajowa Administracja Skarbowa (KAS) oraz uprawnione organy kontroli celno-skarbowej.
  • Prawo do sprostowania: możliwość wystawienia faktury korygującej w ramach struktur KSeF.

Szyfrowanie XML i pieczęć XAdES - sprawdzamy, czy plik nie był fałszowany

Integralność faktury KSeF opiera się na zaawansowanych algorytmach skrótu, które uniemożliwiają modyfikację dokumentu po jego wysłaniu. Nie podpisujesz gigabajta danych podczas każdej operacji masowej. Podpisuje się skrót SHA-256 (32 bajty) wygenerowany przez KSeF, co znacząco odciąża zasoby procesora po stronie klienta. Przykładowo, wykorzystując narzędzie OpenSSL 3.x, można zweryfikować poprawność skrótu pliku XML komendą openssl dgst -sha256 nazwa_faktury.xml, co pozwala na pewność, że plik nie został uszkodzony w trakcie transmisji.

Wybór między podpisem kwalifikowanym a pieczęcią elektroniczną zależy od skali działalności gospodarczej. Pieczęć elektroniczna charakteryzuje się brakiem przypisania do konkretnej osoby fizycznej, co pozwala na jej bezpieczne przechowywanie na serwerze i automatyzację procesów. Wykorzystanie logiki pieczęć-szybsza-brak-klucza-prywatnego osoby fizycznej pozwala na masowe wystawianie dokumentów bez interwencji personelu. Dla 100 faktur dziennie pieczęć zaoszczędza 40 minut czasu pracy pracownika księgowości, eliminując konieczność każdorazowego wpisywania kodu PIN do karty kryptograficznej.

CechaPodpis kwalifikowanyPieczęć elektroniczna
Czas wykonania (100 faktur)Około 45 minut (manualnie)Około 5 minut (automatycznie)
Cena rocznaOk. 300 zł - 500 złOk. 800 zł - 1500 zł
Ryzyko utraty kluczaŚrednie (karta fizyczna)Niskie (klucz w module HSM)

FAQ - najczęstsze błędy bezpieczeństwa w API KSeF

Dlaczego otrzymuję błąd 401 mimo poprawnego tokena JWT?
Sprawdź, czy nagłówek Authorization zawiera słowo Bearer z małej litery. KSeF to weryfikuje rygorystycznie. Prawidłowy format nagłówka w zapytaniu curl powinien wyglądać następująco: -H 'Authorization: Bearer eyJ0...'.
Czy istnieje ryzyko, że wystawiona faktura zniknie z systemu?
Nie, system został zaprojektowany z myślą o najwyższej retencji danych. KSeF robi automatyczną kopię co 6 h, a Centrum Informatyki przechowuje ją przez 10 lat zgodnie z wymogami ustawowymi.
Czy mogę używać tego samego tokena w dwóch firmach?
Nie. Token jest wystawiony na jeden konkretny NIP podatnika. Użycie go w zapytaniu dotyczącym innego podmiotu generuje błąd 403 i skutkuje czasową blokadą adresu IP na 15 min.
Ile czasu mam na odpowiedź po wygenerowaniu challenge?
Masz dokładnie 10 minut na podpisanie i odesłanie skrótu. Po upływie tego czasu sesja wygasa, otrzymasz status 400 z kodem APP_001 i musisz zacząć procedurę autoryzacji od nowa.
Czy KSeF weryfikuje łańcuch certyfikatów podczas połączenia?
Tak, system weryfikuje pełną ścieżkę certyfikacji aż do urzędu certyfikacji (np. EuroCert CA). Brak certyfikatu pośredniego (intermediate) spowoduje błąd handshake na etapie TLS, co można zdiagnozować komendą openssl s_client -connect ksef.podatki.gov.pl:443.

Redakcja · wszystkie artykuły