Co to jest Repozytorium? Słownik pojęć wg. MF
Przez Repozytorium rozumie się system teleinformatyczny, prowadzony przez ministra właściwego do spraw finansów publicznych, którego zasadniczym celem jest odbieranie i gromadzenie danych przekazywanych przez kasy rejestrujące i komunikacja z kasami rejestrującymi w zakresie niezbędnym do ich konfiguracji oraz realizowanie innych zadań dla celów kontrolnych i analitycznych; Technicznie Repozytorium zostało zorganizowane jako zespół współpracujących ze sobą komponentów i składa się z części chmury Azure (Azure WebApi i Azure Event Hub) oraz Serwera CPD zlokalizowanego w CIRF (Centrum Informatyki Resortu Finansów).
Serwer CPD - Serwer na który docelowo trafiają wszystkie wysyłane dokumenty z kas/drukarek, ten serwer realizuje fiskalizację i inne komendy. Azure - chmura Azure przez którą przechodzi głównych ruch sieciowy pomiędzy urządzeniami a Serwerem CPD. Składa się dwóch elementów: Azure WebApi i Azure Event Hub. Azure WebApi - wydzielona logicznie część chmury Azure, z której urządzenie fiskalne otrzymuje polecenia np. zmiana harmonogramu komunikacji, zmiana ustawień, żądanie wysłania dodatkowych dokumentów, itp. Azure Event Hub - wydzielona logicznie część chmury Azure, przez które urządzenie fiskalne wysyła dokumenty# ze swojej pamięci chronionej do Serwera CPD. (# -przez dokumenty wygenerowane przez urządzenie fiskalne rozumie się paragony, faktury, raporty, zdarzenia, itp. - wszystko co zostało zapisane w pamięci chronionej). Urządzenie fiskalne - Urządzenie fiskalne np. kasa, drukarka fiskalna, specjalna kasa, itp. Harmonogram Event Hub - Określa częstotliwość wysyłki danych przez Azure Event Hub. Harmonogram WebApi - Określa częstotliwość komunikacji z Azure WebApi.
Infrastruktura teleinformatyczna w której pracuje kasa ONLINE
Z punktu widzenia kasy wyróżnia się trzy kanały komunikacyjne z Repozytorium (REPO):
- Repo_CPD - kanał sterujący związany z operacjami fiskalnymi (np. fiskalizacja),
- Repo_WA (Azure WebApi) - kanał sterujący związany z pobieraniem rozkazów dla kasy,
- Repo_EH (Azure Event Hub) - kanał do przekazywania danych pochodzących z kasy.
W poniższej infrastrukturze jest jeszcze jeden serwer z którym kasa może się komunikować. Jest to serwer producenta i nie jest on częścią repozytorium. Serwer ten może wysłać np. rozkaz aktualizacji firmware kasy, po którym i tak kasa musi skomunikować się z serwerem Repo_CPD celem potwierdzenia jej dopuszczenia.
Wszystkie kanały komunikacyjne kasy są szyfrowane protokołem TLSv1.2. Dodatkowo wszystkie dane przechodzące przez publiczną chmurę (Azure) są podpisywane i szyfrowane, zarówno przez urządzenie fiskalne jak i serwer Repo_CPD. Nawet dostawca chmury mając dostęp do danych, nie jest w stanie odszyfrować jej zawartości.
Repozytorium jest tak przemyślane, aby kasa fiskalna jak najrzadziej komunikowała się bezpośrednio z serwerem Repo_CPD (np. w trakcie fiskalizacji). Standardowo kasa komunikuje się z serwerem Azure (Repo_WA, Repo_EH). Repo_WA to repozytorium z którego kasa otrzymuje rozkazy które kasa ma wykonać np. zmiana harmonogramu, polecenie drukowania kodów QR. Zlecającym jest operator z CPD, czyli Repo_CPD. Z kolei Repo_EH to repozytorium gdzie kasa przesyła dane w postaci zaszyfrowanych plików JPK. Ostatecznie wszystkie dane zostają umieszczone na Repo_CPD, które pobiera dane z Repo_EH.
Kasa która znajduje się w trybie szkoleniowym (nieufiskalniona) nie bierze udziału w komunikacji z Repozytorium (nie posiada m.in. stosownych kluczy które otrzyma po fiskalizacji) poza jedynym wyjątkiem. W kasie takiej istnieje możliwość sprawdzenia komunikacji z serwerem CPD poprzez wysłanie testu połączenia, opcja ta nazywa się "TEST REPO_CPD" i występuje w menu kasy.
Dlaczego dane są szyfrowane?
- Szyfrowanie zapewnienie poufność przekazywanych danych użytkownika (np. ilości i wartości sprzedawanych towarów, obrotu, asortymentu, itp.)
- Szyfrowanie uniemożliwia podłączenie do repozytorium urządzenia „udającego” kasę/drukarkę przekazującego nieprawdziwe dane